The required Provider.Request settings field and tsgo's literal
narrowing broke typecheck in llm and core; CI missed it because turbo
replayed cached typecheck results for packages whose own sources did
not change.
- anthropic-messages: lower adaptive thinking display with explicit
literal branches so tsgo keeps the union type
- runner model: annotate providerOptions with its index-signature
return type
- tests: construct provider requests with the now-required settings
field and copy them mutably for plugin drafts
- V2 tool execute hooks: add `ctx.tool.execute.before/after` plugin API,
core ToolHooks service, and registry wiring so hosted/local tool calls
run registered before/after hooks; provider-executed calls are excluded.
- Session synthetic endpoint: add `POST /api/session/:sessionID/synthetic`
with text/description/metadata plus regenerated Promise/Effect/JS client
surfaces.
- SessionInstructions service: read tool discovers nearby AGENTS.md walking
up to the Location root (exclusive) and injects them as durable synthetic
instructions, with lazy history dedup of prior claims.
- to-llm-message: stop forwarding synthetic message metadata to the model so
bookkeeping annotations stay model-hidden.
- schema changelog entry for synthetic metadata and the metadata leak fix.