Skip to content

feat(core): add location-scoped operation hooks - #87

Merged
filipeforattini merged 3 commits into
mainfrom
operation-hooks
Aug 21, 2026
Merged

feat(core): add location-scoped operation hooks#87
filipeforattini merged 3 commits into
mainfrom
operation-hooks

Conversation

@filipeforattini

@filipeforattini filipeforattini commented Aug 21, 2026

Copy link
Copy Markdown

Summary

  • add a Location-scoped operation hook registry with waterfall, serial, and parallel dispatch for Effect and Promise V2 plugins
  • migrate agent, command, compaction, permission, text, tool, and turn lifecycle call sites while preserving V1 tool ordering
  • centralize pre/post execution around registry tools, MCP resources/tools, and structured output, including failure observation
  • restore schema event-manifest coverage and V1 import isolation

Testing

  • pre-push workspace typecheck: 30 packages passed
  • bun test test/operation-hook.test.ts test/plugin.test.ts test/plugin/promise.test.ts in packages/core: 15 passed
  • focused operation-hook integration, snapshot race, processor, provider transform, and schema suites: 442 passed
  • package typechecks passed for core, plugin, schema, opencode, tui, and sdk/js
  • git diff --check passed

Known baseline

  • bunx changeset status identifies the intended opencode minor bump, then reports the existing vendored @opencode-ai/client version mismatch in app/session-ui.
  • full local prompt shell tests exceed their 5-second timeout because this machine’s login shell startup takes about 8.4 seconds; the focused operation-hook prompt integration passes.

View with [code]smith Autofix with [code]smith
Need help on this PR? Tag @codesmith-bot with what you need. Autofix is disabled.

@filipeforattini
filipeforattini enabled auto-merge (squash) August 21, 2026 20:19
@blacksmith-sh

This comment has been minimized.

@filipeforattini
filipeforattini merged commit 6e41f4b into main Aug 21, 2026
7 checks passed
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