mirror of
https://github.com/esengine/DeepSeek-Reasonix.git
synced 2026-11-07 10:45:59 -10:00
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.
5.2 KiB
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_startcompaction.completecompaction.preparecontext.preparefrontend.eventinput.receivepermission.decisionprovider.requestprovider.responsesession.endsession.loadsession.rotatesession.savesession.startsystem_prompt.buildtool.aftertool.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. |