Skip to content

feat(plugin): expose synthetic session input - #37212

Merged
kitlangton merged 1 commit into
v2from
plugin-session-synthetic
Jul 16, 2026
Merged

feat(plugin): expose synthetic session input#37212
kitlangton merged 1 commit into
v2from
plugin-session-synthetic

Conversation

@kitlangton

Copy link
Copy Markdown
Contributor

What
Expose ctx.session.synthetic to Promise and Effect V2 plugins so long-lived plugin work can durably deliver synthetic input back into a session.

How

  • Add synthetic to both public plugin session domains.
  • Forward Effect plugins directly to the existing runtime.session.synthetic operation.
  • Adapt Promise inputs across the branded ID and nullable optional-value boundary.
  • Document the capability and cover Promise forwarding and null normalization.

Scope
This only exposes the existing session operation. It does not add a new protocol endpoint or change synthetic input scheduling semantics.

Testing

  • bun run test test/plugin/promise.test.ts in packages/core
  • bun run test in packages/plugin
  • bun run typecheck in packages/core
  • bun run typecheck in packages/plugin
  • Full monorepo typecheck via the pre-push hook

@kitlangton
kitlangton merged commit 4678bd1 into v2 Jul 16, 2026
8 of 9 checks passed
@kitlangton
kitlangton deleted the plugin-session-synthetic branch July 16, 2026 02:55
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant