Skip to content

feat(plugin): expose session compaction - #52385

Merged
rekram1-node merged 2 commits into
v2from
session-gaps
Oct 1, 2026
Merged

rekram1-node merged 2 commits into
v2from
session-gaps

Conversation

@rekram1-node

@rekram1-node rekram1-node commented Sep 30, 2026 •

Copy link
Copy Markdown
Collaborator

Issue for this PR

Addresses item 1 only in #49389. The other four requests remain out of scope.

Closes: #52409

Type of change

  • Bug fix
  • New feature
  • Refactor / code improvement
  • Documentation

What does this PR do?

Exposes the existing session.compact operation to Effect and Promise plugins. The plugin host forwards to Core, and the Promise adapter uses the existing endpoint contract.

Plugins can request compaction as well as customize it through the compaction hook. The method returns the durably admitted compaction inbox item, not a completed summary. Existing scheduling and compaction behavior are unchanged.

How did you verify your code works?

  • Focused Core tests: plugin compaction admission through both APIs, explicit IDs, queue/default steer delivery, missing sessions, existing Core compaction behavior, and plugin adapter regressions (7 passing tests).
  • bun run check from the repository root.
  • Website typecheck, generated-file check, and build.
  • Ran bun run generate in packages/client; no generated changes were needed.

Screenshots / recordings

Not applicable; no UI changes.

Checklist

  • I have tested my changes locally
  • I have not included unrelated changes in this PR

@rekram1-node
rekram1-node merged commit 924c12b into v2 Oct 1, 2026
10 checks passed
@rekram1-node
rekram1-node deleted the session-gaps branch October 1, 2026 03:26
Ichinose-Kazuki pushed a commit to Ichinose-Kazuki/opencode that referenced this pull request Oct 7, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant