Files
DeepSeek-Reasonix/docs/EXTENSION_PROTOCOL.generated.md
esengine be5c98c744 refactor(agent): remove missing-tool-call-reasoning detection and recovery
The loop no longer classifies a tool-call turn that arrived without
reasoning, retries it, or keeps a file-backed cooldown for it. Removes the
watch and the cooldown state, the deferred stream sink they needed, the
provider policy interfaces and their implementations, the descriptor field on
the extension wire (schema and SDK regenerated), the state-dir path, the
run-metrics counters and the protocol-recovery kinds.

The protocol-recovery audit channel itself stays for now.
2026-11-02 03:26:03 -08:00

5.2 KiB

Reasonix Extension Protocol v2 — Generated Index

  • Protocol ID: reasonix.extension.v2
  • Protocol major: 2
  • Schema: internal/ext/extension/protocol/schema.generated.json
  • Schema hash: sha256:a0716fcfa8aab0f67a5c2299c4e6fa1573378e44c6050633a930d6d736f35fd7

Within major v2 only optional fields, new enum values, and new methods may be added; existing required fields, directions, limits, error reasons, and semantics never change.

Methods

Method Direction Class Params Result
extension/event host_to_extension_notification observation EventParams -
extension/initialize host_to_extension_request lifecycle InitializeParams InitializeResult
extension/initialized host_to_extension_notification lifecycle InitializedParams -
extension/intercept host_to_extension_request intercept InterceptParams InterceptResult
extension/provider/catalog host_to_extension_request provider ProviderCatalogParams ProviderCatalogResult
extension/provider/stream/cancel host_to_extension_request provider StreamCancelParams StreamCancelResult
extension/provider/stream/chunk extension_to_host_notification provider StreamChunkParams -
extension/provider/stream/end extension_to_host_notification provider StreamEndParams -
extension/provider/stream/open host_to_extension_request provider StreamOpenParams StreamOpenResult
extension/resources/changed host_to_extension_notification observation ResourcesChangedParams -
extension/shutdown host_to_extension_request lifecycle ShutdownParams ShutdownResult
extension/tool/call host_to_extension_request tool ToolCallParams ToolCallResult
extension/ui/action host_to_extension_request ui UIActionParams UIActionResult
extension/ui/submit host_to_extension_request ui UISubmitParams UISubmitResult
host/content/read extension_to_host_request content ContentReadParams ContentReadResult
host/prompt/submit extension_to_host_request session PromptSubmitParams PromptSubmitResult
host/session/read extension_to_host_request session SessionReadParams SessionReadResult
host/ui/publish extension_to_host_request ui UIPublishParams UIPublishResult
host/ui/request extension_to_host_request ui UIRequestParams UIRequestResult

Intercept events (17)

extension/intercept (blocking) and extension/event (observation) share these frozen hook points:

  • agent.before_start
  • compaction.complete
  • compaction.prepare
  • context.prepare
  • frontend.event
  • input.receive
  • permission.decision
  • provider.request
  • provider.response
  • session.end
  • session.load
  • session.rotate
  • session.save
  • session.start
  • system_prompt.build
  • tool.after
  • tool.before

Limits

Limit Value
frameBytes 8388608
externalizeFieldBytes 65536
contentRefChunkBytes 262144
contentRefObjectBytes 8388608

Errors

Reason JSON-RPC code Retryable Message
activation_failed -32000 false Component activation failed; the new generation was not published.
capability_not_declared -32000 false The extension used a capability its manifest did not declare.
cleanup_failed -32000 true Component cleanup failed while disposing scoped effects.
content_ref_expired -32000 true The referenced content has expired.
dependency_cycle -32000 false The dependency graph contains a required cycle.
dependency_unsatisfied -32000 false A required dependency is missing or not version-compatible.
frame_too_large -32000 false The frame exceeds the frozen protocol size limit.
intercept_timeout -32000 true The extension did not answer an intercept within its timeout.
internal -32603 true An internal extension protocol error occurred.
invalid_params -32602 false The params do not match the registered method schema.
protocol_error -32600 false The extension protocol frame or envelope is invalid.
provider_failed -32000 true The extension provider stream failed.
provider_interrupted -32000 true The extension provider stream was interrupted.
schema_mismatch -32000 false A capability schema hash does not match the expected pin.
shutdown_timeout -32000 true The extension did not shut down within the requested timeout.
stale_generation -32000 false The message belongs to a superseded runtime generation.
stream_cancelled -32000 false The provider stream was cancelled.
stream_gap -32000 true A provider stream chunk is missing from the ordered sequence.
unknown_method -32601 false The method is not registered in Extension Protocol v2.
unsupported_version -32000 false The peer's extension protocol version is not supported.