@myagentroam/agent 0.11.33 → 0.11.34
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cli/catalog-file.d.ts +78 -0
- package/dist/cli/catalog-file.js +102 -0
- package/dist/cli/codex-auth-file.d.ts +1 -1
- package/dist/cli/codex-auth-file.js +9 -10
- package/dist/cli/main.js +44 -54
- package/dist/error.d.ts +15 -0
- package/dist/error.js +74 -0
- package/dist/extensions/agents.d.ts +100 -0
- package/dist/extensions/agents.js +121 -0
- package/dist/extensions/capabilities.d.ts +4 -0
- package/dist/extensions/commands.d.ts +23 -0
- package/dist/extensions/commands.js +45 -0
- package/dist/extensions/compaction.d.ts +36 -0
- package/dist/extensions/contracts.d.ts +147 -0
- package/dist/extensions/data.d.ts +81 -0
- package/dist/extensions/data.js +78 -0
- package/dist/extensions/environment.d.ts +39 -0
- package/dist/extensions/environment.js +52 -0
- package/dist/extensions/files.d.ts +68 -0
- package/dist/extensions/files.js +26 -0
- package/dist/extensions/hooks.d.ts +32 -0
- package/dist/extensions/host-ports.d.ts +24 -0
- package/dist/extensions/manager.d.ts +42 -0
- package/dist/extensions/manager.js +457 -0
- package/dist/extensions/mcp.d.ts +116 -0
- package/dist/extensions/mcp.js +434 -0
- package/dist/extensions/model-request.d.ts +65 -0
- package/dist/extensions/model-request.js +197 -0
- package/dist/extensions/model-stream.d.ts +18 -0
- package/dist/extensions/model-stream.js +108 -0
- package/dist/extensions/models.d.ts +46 -0
- package/dist/extensions/models.js +7 -0
- package/dist/extensions/network.d.ts +40 -0
- package/dist/extensions/network.js +97 -0
- package/dist/extensions/operation.d.ts +32 -0
- package/dist/extensions/processes.d.ts +64 -0
- package/dist/extensions/processes.js +284 -0
- package/dist/extensions/prompt-composition.d.ts +38 -0
- package/dist/extensions/prompt-composition.js +100 -0
- package/dist/extensions/prompt-input.d.ts +30 -0
- package/dist/extensions/prompt-input.js +48 -0
- package/dist/extensions/prompts.d.ts +31 -0
- package/dist/extensions/prompts.js +88 -0
- package/dist/extensions/resources.d.ts +26 -0
- package/dist/extensions/resources.js +221 -0
- package/dist/extensions/services.d.ts +31 -0
- package/dist/extensions/services.js +61 -0
- package/dist/extensions/session-api.d.ts +6 -0
- package/dist/extensions/session-api.js +52 -0
- package/dist/extensions/session-input.d.ts +184 -0
- package/dist/extensions/session-input.js +422 -0
- package/dist/extensions/session-messages.d.ts +41 -0
- package/dist/extensions/session-messages.js +76 -0
- package/dist/extensions/session-tools.d.ts +32 -0
- package/dist/extensions/session-tools.js +208 -0
- package/dist/extensions/session.d.ts +60 -0
- package/dist/extensions/session.js +265 -0
- package/dist/extensions/settings.d.ts +76 -0
- package/dist/extensions/settings.js +115 -0
- package/dist/extensions/store.d.ts +10 -0
- package/dist/extensions/store.js +131 -0
- package/dist/extensions/tool-runtime.d.ts +16 -0
- package/dist/extensions/tools.d.ts +80 -0
- package/dist/extensions/tools.js +270 -0
- package/dist/extensions.d.ts +22 -0
- package/dist/host/contracts.d.ts +58 -0
- package/dist/host/contracts.js +18 -0
- package/dist/host/description.d.ts +19 -0
- package/dist/host/local-agent-host.d.ts +96 -0
- package/dist/host/local-agent-host.js +429 -0
- package/dist/host/local-exec-tool.d.ts +26 -0
- package/dist/host/local-exec-tool.js +686 -0
- package/dist/host/local-file-access.d.ts +30 -0
- package/dist/host/local-file-access.js +107 -0
- package/dist/host/local-network-access.d.ts +6 -0
- package/dist/host/local-network-access.js +101 -0
- package/dist/host/local-process-executor.d.ts +5 -0
- package/dist/host/local-process-executor.js +17 -0
- package/dist/host/local-session-environment.d.ts +18 -0
- package/dist/host/local-shell.d.ts +3 -0
- package/dist/host/local-tool-registry.d.ts +34 -0
- package/dist/host/local-tool-registry.js +134 -0
- package/dist/host/network.d.ts +5 -0
- package/dist/host/network.js +42 -0
- package/dist/host/process-control.d.ts +2 -0
- package/dist/host/process-control.js +26 -0
- package/dist/host/skill-contract.d.ts +6 -0
- package/dist/host.d.ts +17 -0
- package/dist/host.js +3 -0
- package/dist/index.d.ts +26 -51
- package/dist/index.js +9 -12
- package/dist/model/anthropic-messages.d.ts +10 -0
- package/dist/model/anthropic-messages.js +692 -0
- package/dist/model/anthropic-thinking.js +33 -0
- package/dist/model/configuration.d.ts +111 -0
- package/dist/model/configuration.js +201 -0
- package/dist/model/contracts.d.ts +229 -0
- package/dist/model/http.d.ts +13 -0
- package/dist/model/http.js +119 -0
- package/dist/model/image-contract.d.ts +10 -0
- package/dist/model/image.d.ts +9 -0
- package/dist/model/inline-media-budget.d.ts +7 -0
- package/dist/model/inline-media-budget.js +36 -0
- package/dist/model/input-images.d.ts +3 -0
- package/dist/model/input-images.js +16 -0
- package/dist/model/openai-responses.d.ts +59 -0
- package/dist/model/openai-responses.js +1586 -0
- package/dist/model/recovery.js +80 -0
- package/dist/model/request-configuration.d.ts +17 -0
- package/dist/model/request-configuration.js +47 -0
- package/dist/model/responses-event-projection.d.ts +24 -0
- package/dist/model/responses-event-projection.js +194 -0
- package/dist/model/responses-request.d.ts +5 -0
- package/dist/model/responses-request.js +363 -0
- package/dist/model/responses-session-cache.d.ts +33 -0
- package/dist/model/responses-session-cache.js +64 -0
- package/dist/model/runtime-credential.d.ts +1 -0
- package/dist/model/runtime-credential.js +1 -0
- package/dist/model/sse.js +281 -0
- package/dist/model/text-blocks.js +40 -0
- package/dist/model/tool-declarations.d.ts +4 -0
- package/dist/model/tool-definition-projection.d.ts +6 -0
- package/dist/model/tool-definition-projection.js +11 -0
- package/dist/model/tool-schema.d.ts +2 -0
- package/dist/model/tool-schema.js +17 -0
- package/dist/model/transport-test.d.ts +10 -0
- package/dist/model/transport-test.js +27 -0
- package/dist/model/usage-observer.d.ts +5 -0
- package/dist/model/usage.d.ts +40 -0
- package/dist/network/credential-runtime.d.ts +8 -0
- package/dist/network/credential-runtime.js +72 -0
- package/dist/network/credentials.d.ts +20 -0
- package/dist/network/credentials.js +18 -0
- package/dist/network/http.d.ts +20 -0
- package/dist/network/http.js +421 -0
- package/dist/network/product-user-agent.d.ts +5 -0
- package/dist/network/product-user-agent.js +22 -0
- package/dist/network/transport-error.d.ts +5 -0
- package/dist/network/transport-error.js +31 -0
- package/dist/process/contracts.d.ts +26 -0
- package/dist/prompts/index.d.ts +20 -0
- package/dist/prompts/index.js +49 -0
- package/dist/prompts/prompt-sections.d.ts +6 -0
- package/dist/prompts/prompt-sections.js +6 -0
- package/dist/prompts/read-context.js +152 -0
- package/dist/runtime/compaction/contracts.d.ts +23 -0
- package/dist/runtime/compaction/coordinator.js +88 -0
- package/dist/runtime/compaction/generate.d.ts +31 -0
- package/dist/runtime/compaction/generate.js +84 -0
- package/dist/runtime/compaction/history.d.ts +16 -0
- package/dist/runtime/compaction/operation.d.ts +30 -0
- package/dist/runtime/compaction/operation.js +131 -0
- package/dist/runtime/compaction/requests.d.ts +16 -0
- package/dist/runtime/compaction/requests.js +114 -0
- package/dist/runtime/compaction/retained-context.d.ts +6 -0
- package/dist/runtime/compaction/retained-context.js +48 -0
- package/dist/runtime/compaction/smart.d.ts +14 -0
- package/dist/runtime/compaction/smart.js +59 -0
- package/dist/runtime/context/contextual-blocks.d.ts +31 -0
- package/dist/runtime/context/contextual-blocks.js +158 -0
- package/dist/runtime/context/environment.d.ts +5 -0
- package/dist/runtime/context/gc-candidates-code.d.ts +6 -0
- package/dist/runtime/context/gc-candidates-code.js +102 -0
- package/dist/runtime/context/gc-candidates-exec.d.ts +6 -0
- package/dist/runtime/context/gc-candidates-exec.js +131 -0
- package/dist/runtime/context/gc-candidates-read-patch.d.ts +7 -0
- package/dist/runtime/context/gc-candidates-read-patch.js +118 -0
- package/dist/runtime/context/gc-candidates-subagent.d.ts +6 -0
- package/dist/runtime/context/gc-candidates-subagent.js +100 -0
- package/dist/runtime/context/gc-candidates-web.d.ts +6 -0
- package/dist/runtime/context/gc-candidates-web.js +58 -0
- package/dist/runtime/context/gc-candidates.d.ts +12 -0
- package/dist/runtime/context/gc-candidates.js +192 -0
- package/dist/runtime/context/gc-contracts.d.ts +57 -0
- package/dist/runtime/context/gc-economics.d.ts +48 -0
- package/dist/runtime/context/gc-economics.js +161 -0
- package/dist/runtime/context/gc-runtime.d.ts +43 -0
- package/dist/runtime/context/gc-tokens.d.ts +26 -0
- package/dist/runtime/context/gc-tokens.js +106 -0
- package/dist/runtime/context/gc.d.ts +7 -0
- package/dist/runtime/context/gc.js +552 -0
- package/dist/runtime/context/instructions.d.ts +37 -0
- package/dist/runtime/context/instructions.js +297 -0
- package/dist/runtime/context/normalize.d.ts +5 -0
- package/dist/runtime/context/projection.d.ts +23 -0
- package/dist/runtime/context/projection.js +284 -0
- package/dist/runtime/context/request-budget.d.ts +5 -0
- package/dist/runtime/context/request-budget.js +25 -0
- package/dist/runtime/context/restore.d.ts +27 -0
- package/dist/runtime/context/restore.js +186 -0
- package/dist/runtime/context/usage.d.ts +17 -0
- package/dist/runtime/context/usage.js +124 -0
- package/dist/runtime/context/world-state.d.ts +34 -0
- package/dist/runtime/context/world-state.js +232 -0
- package/dist/runtime/contracts.d.ts +29 -0
- package/dist/runtime/event-projection.d.ts +14 -0
- package/dist/runtime/event-projection.js +87 -0
- package/dist/runtime/events.d.ts +195 -0
- package/dist/runtime/execution-handle.d.ts +12 -0
- package/dist/runtime/execution-handle.js +1 -0
- package/dist/runtime/execution.d.ts +55 -0
- package/dist/runtime/execution.js +444 -0
- package/dist/runtime/model-progress.js +85 -0
- package/dist/runtime/resource-publication.d.ts +27 -0
- package/dist/runtime/resource-publication.js +60 -0
- package/dist/runtime/tool-round-contract.d.ts +19 -0
- package/dist/runtime/tool-round-contract.js +1 -0
- package/dist/runtime/wait.js +82 -0
- package/dist/sandbox/linux/bubblewrap-sandbox-executor.d.ts +1 -1
- package/dist/sandbox/linux/bubblewrap-sandbox-executor.js +8 -8
- package/dist/sdk/agent.d.ts +7 -0
- package/dist/sdk/agent.js +321 -0
- package/dist/sdk/execution-code-mode.d.ts +18 -0
- package/dist/sdk/execution-code-mode.js +51 -0
- package/dist/sdk/execution-compact-commit.d.ts +23 -0
- package/dist/sdk/execution-compact-commit.js +41 -0
- package/dist/sdk/execution-compact-extension.d.ts +12 -0
- package/dist/sdk/execution-compact-extension.js +46 -0
- package/dist/sdk/execution-compact-generation.d.ts +17 -0
- package/dist/sdk/execution-compact-generation.js +30 -0
- package/dist/sdk/execution-compaction-flight.d.ts +31 -0
- package/dist/sdk/execution-compaction-flight.js +50 -0
- package/dist/sdk/execution-compaction.d.ts +47 -0
- package/dist/sdk/execution-compaction.js +121 -0
- package/dist/sdk/execution-context-coordinator.d.ts +56 -0
- package/dist/sdk/execution-context-coordinator.js +102 -0
- package/dist/sdk/execution-input.d.ts +58 -0
- package/dist/sdk/execution-input.js +266 -0
- package/dist/sdk/execution-model-context.d.ts +52 -0
- package/dist/sdk/execution-model-context.js +156 -0
- package/dist/sdk/execution-model-lifecycle.d.ts +39 -0
- package/dist/sdk/execution-model-lifecycle.js +73 -0
- package/dist/sdk/execution-model-request.d.ts +40 -0
- package/dist/sdk/execution-model-request.js +45 -0
- package/dist/sdk/execution-round-preparation.d.ts +11 -0
- package/dist/sdk/execution-round-preparation.js +18 -0
- package/dist/sdk/execution-round-request.d.ts +30 -0
- package/dist/sdk/execution-round-request.js +31 -0
- package/dist/sdk/execution-tool-catalog.d.ts +46 -0
- package/dist/sdk/execution-tool-catalog.js +103 -0
- package/dist/sdk/execution-tool-scope.d.ts +67 -0
- package/dist/sdk/execution-tool-scope.js +147 -0
- package/dist/sdk/extension-agent-controller.d.ts +3 -0
- package/dist/sdk/extension-agent-controller.js +69 -0
- package/dist/sdk/extension-agents.d.ts +9 -0
- package/dist/sdk/extension-agents.js +58 -0
- package/dist/sdk/extension-models.d.ts +17 -0
- package/dist/sdk/extension-models.js +142 -0
- package/dist/sdk/extension-session-launch.d.ts +18 -0
- package/dist/sdk/extension-session-launch.js +73 -0
- package/dist/sdk/extension-session.d.ts +30 -0
- package/dist/sdk/extension-session.js +107 -0
- package/dist/sdk/extension-tool-runtime.d.ts +2 -0
- package/dist/sdk/extension-tool-runtime.js +14 -0
- package/dist/sdk/extension-tools.d.ts +16 -0
- package/dist/sdk/extension-tools.js +126 -0
- package/dist/sdk/model-input-projection.d.ts +4 -0
- package/dist/sdk/model-input-projection.js +27 -0
- package/dist/sdk/model-runtime.d.ts +21 -0
- package/dist/sdk/model-runtime.js +91 -0
- package/dist/sdk/native-steer.d.ts +20 -0
- package/dist/sdk/native-steer.js +84 -0
- package/dist/sdk/request-preparation.d.ts +9 -0
- package/dist/sdk/resource-input.d.ts +33 -0
- package/dist/sdk/resource-input.js +402 -0
- package/dist/sdk/session-catalog.d.ts +2 -0
- package/dist/sdk/session-catalog.js +12 -0
- package/dist/sdk/session-composition.d.ts +54 -0
- package/dist/sdk/session-composition.js +1 -0
- package/dist/sdk/session-execution-factory.d.ts +43 -0
- package/dist/sdk/session-execution-factory.js +937 -0
- package/dist/sdk/session-execution.d.ts +163 -0
- package/dist/sdk/session-execution.js +388 -0
- package/dist/sdk/session-extension-messages.d.ts +16 -0
- package/dist/sdk/session-extension-messages.js +64 -0
- package/dist/sdk/session-extension-prompt.d.ts +35 -0
- package/dist/sdk/session-extension-prompt.js +62 -0
- package/dist/sdk/session-maintenance.d.ts +25 -0
- package/dist/sdk/session-maintenance.js +205 -0
- package/dist/sdk/session-model-adapters.d.ts +28 -0
- package/dist/sdk/session-model-adapters.js +96 -0
- package/dist/sdk/session-open.d.ts +22 -0
- package/dist/sdk/session-open.js +44 -0
- package/dist/sdk/session-registry.d.ts +17 -0
- package/dist/sdk/session-registry.js +83 -0
- package/dist/sdk/session-runtime.d.ts +72 -0
- package/dist/sdk/session-runtime.js +205 -0
- package/dist/sdk/session.d.ts +3 -0
- package/dist/sdk/session.js +313 -0
- package/dist/sdk/subagent-backend.d.ts +3 -0
- package/dist/sdk/subagent-backend.js +49 -0
- package/dist/sdk/types.d.ts +80 -0
- package/dist/sdk/types.js +1 -0
- package/dist/session/catalog.d.ts +70 -0
- package/dist/session/catalog.js +194 -0
- package/dist/session/code-observation-contract.d.ts +40 -0
- package/dist/session/code-observation-contract.js +1 -0
- package/dist/session/code-observation-projection.d.ts +54 -0
- package/dist/session/code-observation-projection.js +165 -0
- package/dist/session/code-state.d.ts +27 -0
- package/dist/session/code-state.js +89 -0
- package/dist/session/context-gc-checkpoint.d.ts +26 -0
- package/dist/session/context-gc-checkpoint.js +935 -0
- package/dist/session/context-gc-contract.d.ts +141 -0
- package/dist/session/context-gc-contract.js +1 -0
- package/dist/session/context-gc-observations.d.ts +58 -0
- package/dist/session/context-gc-observations.js +187 -0
- package/dist/session/context-gc-replacements.d.ts +63 -0
- package/dist/session/context-gc-subagent.d.ts +54 -0
- package/dist/session/deferred-input.d.ts +5 -0
- package/dist/session/deferred-input.js +74 -0
- package/dist/session/extension-checkpoint.d.ts +8 -0
- package/dist/session/extension-checkpoint.js +30 -0
- package/dist/session/history-input-limits.d.ts +4 -0
- package/dist/session/history-input-limits.js +4 -0
- package/dist/session/inline-media-contract.d.ts +16 -0
- package/dist/session/inline-media-contract.js +1 -0
- package/dist/session/inline-media.d.ts +26 -0
- package/dist/session/inline-media.js +138 -0
- package/dist/session/model-request.d.ts +14 -0
- package/dist/session/model-request.js +1 -0
- package/dist/session/record-contract.d.ts +19 -0
- package/dist/session/record-contract.js +1 -0
- package/dist/session/record-projection.d.ts +6 -0
- package/dist/session/record-projection.js +80 -0
- package/dist/session/resource-contract.d.ts +9 -0
- package/dist/session/resource-contract.js +1 -0
- package/dist/session/rollback.d.ts +13 -0
- package/dist/session/rollback.js +46 -0
- package/dist/session/store/contracts.d.ts +160 -0
- package/dist/session/store/contracts.js +1 -0
- package/dist/session/store/current-state.d.ts +17 -0
- package/dist/session/store/current-state.js +53 -0
- package/dist/session/store/execution-state.d.ts +13 -0
- package/dist/session/store/execution-state.js +103 -0
- package/dist/session/store/index.d.ts +4 -0
- package/dist/session/store/index.js +2 -0
- package/dist/session/store/jsonl/directory-index.d.ts +26 -0
- package/dist/session/store/jsonl/directory-index.js +283 -0
- package/dist/session/store/jsonl/fs-durability.d.ts +3 -0
- package/dist/session/store/jsonl/fs-durability.js +17 -0
- package/dist/session/store/jsonl/history-replacement.d.ts +48 -0
- package/dist/session/store/jsonl/history-replacement.js +147 -0
- package/dist/session/store/jsonl/history.d.ts +25 -0
- package/dist/session/store/jsonl/history.js +181 -0
- package/dist/session/store/jsonl/images.d.ts +19 -0
- package/dist/session/store/jsonl/images.js +122 -0
- package/dist/session/store/jsonl/index-transaction.d.ts +13 -0
- package/dist/session/store/jsonl/index-transaction.js +87 -0
- package/dist/session/store/jsonl/jsonl-admission.d.ts +10 -0
- package/dist/session/store/jsonl/jsonl-admission.js +205 -0
- package/dist/session/store/jsonl/jsonl-codec.d.ts +11 -0
- package/dist/session/store/jsonl/jsonl-codec.js +138 -0
- package/dist/session/store/jsonl/jsonl-migration.d.ts +12 -0
- package/dist/session/store/jsonl/jsonl-migration.js +105 -0
- package/dist/session/store/jsonl/jsonl-store.d.ts +171 -0
- package/dist/session/store/jsonl/jsonl-store.js +2482 -0
- package/dist/session/store/jsonl/open-recovery.d.ts +13 -0
- package/dist/session/store/jsonl/open-recovery.js +131 -0
- package/dist/session/store/jsonl/read-pins.d.ts +4 -0
- package/dist/session/store/jsonl/read-pins.js +131 -0
- package/dist/session/store/jsonl/record-append.d.ts +16 -0
- package/dist/session/store/jsonl/record-append.js +49 -0
- package/dist/session/store/jsonl/records.d.ts +30 -0
- package/dist/session/store/jsonl/records.js +313 -0
- package/dist/session/store/jsonl/resources.d.ts +19 -0
- package/dist/session/store/jsonl/resources.js +209 -0
- package/dist/session/store/jsonl/store-pool.d.ts +12 -0
- package/dist/session/store/jsonl/store-pool.js +55 -0
- package/dist/session/store/jsonl/transaction-recovery.d.ts +48 -0
- package/dist/session/store/jsonl/transaction-recovery.js +374 -0
- package/dist/session/store/jsonl/tree-maintenance.d.ts +12 -0
- package/dist/session/store/jsonl/tree-maintenance.js +59 -0
- package/dist/session/store/types.d.ts +69 -0
- package/dist/session/store/types.js +1 -0
- package/dist/session/summary.d.ts +18 -0
- package/dist/session/summary.js +1 -0
- package/dist/session/todo.d.ts +11 -0
- package/dist/session/todo.js +30 -0
- package/dist/session/tool-result-resources.d.ts +27 -0
- package/dist/session/tool-result-resources.js +255 -0
- package/dist/session/types.js +1 -0
- package/dist/session/user-history.d.ts +17 -0
- package/dist/session/user-history.js +1 -0
- package/dist/session-store.d.ts +2 -0
- package/dist/session-store.js +1 -0
- package/dist/shared/auto-title.d.ts +3 -3
- package/dist/shared/auto-title.js +6 -6
- package/dist/shared/model-text.d.ts +8 -8
- package/dist/shared/model-text.js +8 -7
- package/dist/storage/file-lock.js +83 -0
- package/dist/subagent/contracts.d.ts +107 -0
- package/dist/subagent/contracts.js +1 -0
- package/dist/subagent/limits.d.ts +17 -0
- package/dist/subagent/limits.js +17 -0
- package/dist/subagent/model-update.js +81 -0
- package/dist/subagent/session-controller.d.ts +148 -0
- package/dist/subagent/session-controller.js +1761 -0
- package/dist/subagent/wait-targets.d.ts +10 -0
- package/dist/subagent/wait-targets.js +26 -0
- package/dist/subagent/wait.d.ts +26 -0
- package/dist/subagent/wait.js +73 -0
- package/dist/tools/agent/agent-cancel.d.ts +7 -0
- package/dist/tools/agent/agent-cancel.js +29 -0
- package/dist/tools/agent/agent-message.d.ts +7 -0
- package/dist/tools/agent/agent-message.js +57 -0
- package/dist/tools/agent/agent-start.d.ts +12 -0
- package/dist/tools/agent/agent-start.js +106 -0
- package/dist/tools/agent/agent-wait.d.ts +7 -0
- package/dist/tools/agent/agent-wait.js +91 -0
- package/dist/tools/agent/question.d.ts +7 -0
- package/dist/tools/agent/question.js +125 -0
- package/dist/tools/agent/skill.d.ts +11 -0
- package/dist/tools/agent/skill.js +38 -0
- package/dist/tools/agent/sleep.d.ts +9 -0
- package/dist/tools/agent/sleep.js +54 -0
- package/dist/tools/agent/smart-compact.d.ts +9 -0
- package/dist/tools/agent/smart-compact.js +23 -0
- package/dist/tools/agent/todo-read.d.ts +14 -0
- package/dist/tools/agent/todo-write.d.ts +14 -0
- package/dist/tools/agent/todo-write.js +66 -0
- package/dist/tools/agent/todo.d.ts +25 -0
- package/dist/tools/agent/todo.js +32 -0
- package/dist/tools/callers.d.ts +7 -0
- package/dist/tools/callers.js +39 -0
- package/dist/tools/code-mode/cells.d.ts +29 -0
- package/dist/tools/code-mode/cells.js +338 -0
- package/dist/tools/code-mode/dispatch.d.ts +20 -0
- package/dist/tools/code-mode/dispatch.js +80 -0
- package/dist/tools/code-mode/engine.d.ts +60 -0
- package/dist/tools/code-mode/engine.js +1 -0
- package/dist/tools/code-mode/index.d.ts +31 -0
- package/dist/tools/code-mode/index.js +751 -0
- package/dist/tools/code-mode/observations.d.ts +8 -0
- package/dist/tools/code-mode/observations.js +64 -0
- package/dist/tools/code-mode/worker.d.ts +1 -0
- package/dist/tools/contracts.d.ts +193 -0
- package/dist/tools/contracts.js +1 -0
- package/dist/tools/definition-projection.d.ts +1 -0
- package/dist/tools/definition-projection.js +1 -0
- package/dist/tools/execution-limits.d.ts +69 -0
- package/dist/tools/execution-limits.js +58 -0
- package/dist/tools/execution.d.ts +30 -0
- package/dist/tools/execution.js +191 -0
- package/dist/tools/local/apply-patch-parser.js +177 -0
- package/dist/tools/local/apply-patch.d.ts +19 -0
- package/dist/tools/local/apply-patch.js +489 -0
- package/dist/tools/local/exec.d.ts +28 -0
- package/dist/tools/local/exec.js +194 -0
- package/dist/tools/local/image-processing.js +146 -0
- package/dist/tools/local/read.d.ts +43 -0
- package/dist/tools/local/read.js +470 -0
- package/dist/tools/local/view-image.d.ts +15 -0
- package/dist/tools/local/view-image.js +317 -0
- package/dist/tools/mcp/catalog.js +220 -0
- package/dist/tools/mcp/history.d.ts +4 -0
- package/dist/tools/mcp/tool-search.d.ts +45 -0
- package/dist/tools/mcp/tool-search.js +294 -0
- package/dist/tools/output-projection.d.ts +18 -0
- package/dist/tools/output-projection.js +341 -0
- package/dist/tools/permission-contract.d.ts +25 -0
- package/dist/tools/permission-contract.js +1 -0
- package/dist/tools/permissions.d.ts +61 -0
- package/dist/tools/permissions.js +237 -0
- package/dist/tools/registry.d.ts +7 -0
- package/dist/tools/result-extension-contract.d.ts +37 -0
- package/dist/tools/result-extension-contract.js +32 -0
- package/dist/tools/result-extensions.d.ts +12 -0
- package/dist/tools/result-extensions.js +104 -0
- package/dist/tools/runtime-context.d.ts +89 -0
- package/dist/tools/runtime-context.js +1 -0
- package/dist/tools/runtime-resource-handles.js +28 -0
- package/dist/tools/runtime.js +77 -0
- package/dist/tools/scheduler.d.ts +12 -0
- package/dist/tools/shared/path-resolver.js +133 -0
- package/dist/tools/wait.d.ts +1 -0
- package/dist/tools/wait.js +1 -0
- package/package.json +15 -3
- package/dist/agent-core/error.d.ts +0 -15
- package/dist/agent-core/error.js +0 -74
- package/dist/agent-core/extensions/agents.d.ts +0 -79
- package/dist/agent-core/extensions/agents.js +0 -186
- package/dist/agent-core/extensions/compaction.d.ts +0 -48
- package/dist/agent-core/extensions/contracts.d.ts +0 -265
- package/dist/agent-core/extensions/data.d.ts +0 -84
- package/dist/agent-core/extensions/data.js +0 -83
- package/dist/agent-core/extensions/environment.d.ts +0 -27
- package/dist/agent-core/extensions/environment.js +0 -52
- package/dist/agent-core/extensions/files.d.ts +0 -64
- package/dist/agent-core/extensions/files.js +0 -26
- package/dist/agent-core/extensions/hooks.d.ts +0 -32
- package/dist/agent-core/extensions/manager.d.ts +0 -39
- package/dist/agent-core/extensions/manager.js +0 -458
- package/dist/agent-core/extensions/mcp.d.ts +0 -99
- package/dist/agent-core/extensions/mcp.js +0 -433
- package/dist/agent-core/extensions/model-request.d.ts +0 -56
- package/dist/agent-core/extensions/model-request.js +0 -197
- package/dist/agent-core/extensions/model-stream.d.ts +0 -9
- package/dist/agent-core/extensions/model-stream.js +0 -108
- package/dist/agent-core/extensions/models.d.ts +0 -43
- package/dist/agent-core/extensions/network.d.ts +0 -32
- package/dist/agent-core/extensions/network.js +0 -97
- package/dist/agent-core/extensions/operation.d.ts +0 -30
- package/dist/agent-core/extensions/processes.d.ts +0 -52
- package/dist/agent-core/extensions/processes.js +0 -284
- package/dist/agent-core/extensions/prompt-composition.d.ts +0 -24
- package/dist/agent-core/extensions/prompt-composition.js +0 -106
- package/dist/agent-core/extensions/prompt-input.d.ts +0 -23
- package/dist/agent-core/extensions/prompt-input.js +0 -48
- package/dist/agent-core/extensions/resources.d.ts +0 -27
- package/dist/agent-core/extensions/resources.js +0 -221
- package/dist/agent-core/extensions/services.d.ts +0 -31
- package/dist/agent-core/extensions/services.js +0 -61
- package/dist/agent-core/extensions/session-input.d.ts +0 -163
- package/dist/agent-core/extensions/session-input.js +0 -411
- package/dist/agent-core/extensions/session-messages.d.ts +0 -41
- package/dist/agent-core/extensions/session-messages.js +0 -76
- package/dist/agent-core/extensions/session.d.ts +0 -69
- package/dist/agent-core/extensions/session.js +0 -607
- package/dist/agent-core/extensions/settings.d.ts +0 -59
- package/dist/agent-core/extensions/settings.js +0 -115
- package/dist/agent-core/extensions/store.d.ts +0 -10
- package/dist/agent-core/extensions/store.js +0 -131
- package/dist/agent-core/extensions/tools.d.ts +0 -61
- package/dist/agent-core/extensions/tools.js +0 -269
- package/dist/agent-core/host/contracts.d.ts +0 -100
- package/dist/agent-core/host/contracts.js +0 -18
- package/dist/agent-core/host/local-agent-host.d.ts +0 -96
- package/dist/agent-core/host/local-agent-host.js +0 -425
- package/dist/agent-core/host/local-file-access.d.ts +0 -30
- package/dist/agent-core/host/local-file-access.js +0 -107
- package/dist/agent-core/host/local-network-access.d.ts +0 -6
- package/dist/agent-core/host/local-network-access.js +0 -101
- package/dist/agent-core/host/local-process-executor.d.ts +0 -29
- package/dist/agent-core/host/local-process-executor.js +0 -41
- package/dist/agent-core/host/local-session-environment.d.ts +0 -18
- package/dist/agent-core/host/local-shell.d.ts +0 -3
- package/dist/agent-core/host/network.d.ts +0 -4
- package/dist/agent-core/host/network.js +0 -6
- package/dist/agent-core/model/anthropic-messages.d.ts +0 -10
- package/dist/agent-core/model/anthropic-messages.js +0 -707
- package/dist/agent-core/model/anthropic-thinking.js +0 -33
- package/dist/agent-core/model/catalog-file.d.ts +0 -80
- package/dist/agent-core/model/catalog-file.js +0 -103
- package/dist/agent-core/model/configuration.d.ts +0 -127
- package/dist/agent-core/model/configuration.js +0 -168
- package/dist/agent-core/model/contracts.d.ts +0 -229
- package/dist/agent-core/model/http.d.ts +0 -27
- package/dist/agent-core/model/http.js +0 -534
- package/dist/agent-core/model/image.d.ts +0 -17
- package/dist/agent-core/model/openai-responses.d.ts +0 -77
- package/dist/agent-core/model/openai-responses.js +0 -2123
- package/dist/agent-core/model/product-user-agent.d.ts +0 -5
- package/dist/agent-core/model/product-user-agent.js +0 -22
- package/dist/agent-core/model/recovery.js +0 -80
- package/dist/agent-core/model/request-configuration.d.ts +0 -17
- package/dist/agent-core/model/request-configuration.js +0 -47
- package/dist/agent-core/model/runtime-credential.d.ts +0 -8
- package/dist/agent-core/model/runtime-credential.js +0 -72
- package/dist/agent-core/model/sse.js +0 -281
- package/dist/agent-core/model/text-blocks.js +0 -40
- package/dist/agent-core/model/tool-declarations.d.ts +0 -4
- package/dist/agent-core/model/transport-test.d.ts +0 -3
- package/dist/agent-core/model/transport-test.js +0 -23
- package/dist/agent-core/model/usage-observer.d.ts +0 -31
- package/dist/agent-core/prompts/index.d.ts +0 -20
- package/dist/agent-core/prompts/index.js +0 -49
- package/dist/agent-core/runtime/compaction/coordinator.js +0 -88
- package/dist/agent-core/runtime/compaction/generate.d.ts +0 -28
- package/dist/agent-core/runtime/compaction/generate.js +0 -84
- package/dist/agent-core/runtime/compaction/history.d.ts +0 -16
- package/dist/agent-core/runtime/compaction/operation.d.ts +0 -29
- package/dist/agent-core/runtime/compaction/operation.js +0 -131
- package/dist/agent-core/runtime/compaction/requests.d.ts +0 -16
- package/dist/agent-core/runtime/compaction/requests.js +0 -114
- package/dist/agent-core/runtime/compaction/retained-context.d.ts +0 -6
- package/dist/agent-core/runtime/compaction/retained-context.js +0 -47
- package/dist/agent-core/runtime/compaction/smart.d.ts +0 -14
- package/dist/agent-core/runtime/compaction/smart.js +0 -59
- package/dist/agent-core/runtime/context/contextual-blocks.d.ts +0 -30
- package/dist/agent-core/runtime/context/contextual-blocks.js +0 -146
- package/dist/agent-core/runtime/context/environment.d.ts +0 -5
- package/dist/agent-core/runtime/context/gc-runtime.d.ts +0 -38
- package/dist/agent-core/runtime/context/gc-tokens.d.ts +0 -25
- package/dist/agent-core/runtime/context/gc-tokens.js +0 -103
- package/dist/agent-core/runtime/context/gc.d.ts +0 -75
- package/dist/agent-core/runtime/context/gc.js +0 -1386
- package/dist/agent-core/runtime/context/instructions.d.ts +0 -37
- package/dist/agent-core/runtime/context/instructions.js +0 -297
- package/dist/agent-core/runtime/context/normalize.d.ts +0 -5
- package/dist/agent-core/runtime/context/projection.d.ts +0 -23
- package/dist/agent-core/runtime/context/projection.js +0 -284
- package/dist/agent-core/runtime/context/request-budget.d.ts +0 -4
- package/dist/agent-core/runtime/context/request-budget.js +0 -25
- package/dist/agent-core/runtime/context/restore.d.ts +0 -25
- package/dist/agent-core/runtime/context/restore.js +0 -186
- package/dist/agent-core/runtime/context/usage.d.ts +0 -17
- package/dist/agent-core/runtime/context/usage.js +0 -124
- package/dist/agent-core/runtime/context/world-state.d.ts +0 -33
- package/dist/agent-core/runtime/context/world-state.js +0 -232
- package/dist/agent-core/runtime/contracts.d.ts +0 -41
- package/dist/agent-core/runtime/event-projection.d.ts +0 -14
- package/dist/agent-core/runtime/event-projection.js +0 -87
- package/dist/agent-core/runtime/events.d.ts +0 -197
- package/dist/agent-core/runtime/execution-handle.d.ts +0 -12
- package/dist/agent-core/runtime/execution.d.ts +0 -50
- package/dist/agent-core/runtime/execution.js +0 -445
- package/dist/agent-core/runtime/model-progress.js +0 -85
- package/dist/agent-core/runtime/resource-publication.d.ts +0 -8
- package/dist/agent-core/runtime/resource-publication.js +0 -60
- package/dist/agent-core/sdk/agent.d.ts +0 -11
- package/dist/agent-core/sdk/agent.js +0 -474
- package/dist/agent-core/sdk/extension-agents.d.ts +0 -9
- package/dist/agent-core/sdk/extension-agents.js +0 -58
- package/dist/agent-core/sdk/extension-models.d.ts +0 -13
- package/dist/agent-core/sdk/extension-models.js +0 -137
- package/dist/agent-core/sdk/extension-session.d.ts +0 -30
- package/dist/agent-core/sdk/extension-session.js +0 -105
- package/dist/agent-core/sdk/extension-tools.d.ts +0 -16
- package/dist/agent-core/sdk/extension-tools.js +0 -126
- package/dist/agent-core/sdk/model-runtime.d.ts +0 -18
- package/dist/agent-core/sdk/model-runtime.js +0 -93
- package/dist/agent-core/sdk/native-steer.d.ts +0 -20
- package/dist/agent-core/sdk/native-steer.js +0 -84
- package/dist/agent-core/sdk/request-preparation.d.ts +0 -7
- package/dist/agent-core/sdk/resource-input.d.ts +0 -32
- package/dist/agent-core/sdk/resource-input.js +0 -403
- package/dist/agent-core/sdk/session.d.ts +0 -94
- package/dist/agent-core/sdk/session.js +0 -2377
- package/dist/agent-core/sdk/subagent-backend.d.ts +0 -3
- package/dist/agent-core/sdk/subagent-backend.js +0 -49
- package/dist/agent-core/sdk/types.d.ts +0 -81
- package/dist/agent-core/session/catalog.d.ts +0 -99
- package/dist/agent-core/session/catalog.js +0 -200
- package/dist/agent-core/session/context-gc-checkpoint.d.ts +0 -165
- package/dist/agent-core/session/context-gc-checkpoint.js +0 -935
- package/dist/agent-core/session/context-gc-observations.d.ts +0 -60
- package/dist/agent-core/session/context-gc-observations.js +0 -187
- package/dist/agent-core/session/context-gc-replacements.d.ts +0 -62
- package/dist/agent-core/session/context-gc-subagent.d.ts +0 -53
- package/dist/agent-core/session/deferred-input.d.ts +0 -5
- package/dist/agent-core/session/deferred-input.js +0 -74
- package/dist/agent-core/session/inline-media.d.ts +0 -45
- package/dist/agent-core/session/inline-media.js +0 -163
- package/dist/agent-core/session/rollback.d.ts +0 -13
- package/dist/agent-core/session/rollback.js +0 -46
- package/dist/agent-core/session/store/contracts.d.ts +0 -158
- package/dist/agent-core/session/store/current-state.d.ts +0 -17
- package/dist/agent-core/session/store/current-state.js +0 -53
- package/dist/agent-core/session/store/directory-index.d.ts +0 -18
- package/dist/agent-core/session/store/directory-index.js +0 -169
- package/dist/agent-core/session/store/execution-state.d.ts +0 -18
- package/dist/agent-core/session/store/execution-state.js +0 -175
- package/dist/agent-core/session/store/history.d.ts +0 -25
- package/dist/agent-core/session/store/history.js +0 -181
- package/dist/agent-core/session/store/images.d.ts +0 -19
- package/dist/agent-core/session/store/images.js +0 -110
- package/dist/agent-core/session/store/index.d.ts +0 -4
- package/dist/agent-core/session/store/index.js +0 -2
- package/dist/agent-core/session/store/jsonl-store.d.ts +0 -171
- package/dist/agent-core/session/store/jsonl-store.js +0 -2078
- package/dist/agent-core/session/store/records.d.ts +0 -23
- package/dist/agent-core/session/store/records.js +0 -261
- package/dist/agent-core/session/store/resources.d.ts +0 -26
- package/dist/agent-core/session/store/resources.js +0 -197
- package/dist/agent-core/session/store/types.d.ts +0 -82
- package/dist/agent-core/session/tool-result-resources.d.ts +0 -26
- package/dist/agent-core/session/tool-result-resources.js +0 -256
- package/dist/agent-core/session/transaction-recovery.d.ts +0 -16
- package/dist/agent-core/session/transaction-recovery.js +0 -135
- package/dist/agent-core/storage/file-lock.js +0 -83
- package/dist/agent-core/subagent/contracts.d.ts +0 -117
- package/dist/agent-core/subagent/model-update.js +0 -81
- package/dist/agent-core/subagent/scheduler.d.ts +0 -135
- package/dist/agent-core/subagent/scheduler.js +0 -369
- package/dist/agent-core/subagent/session-controller.d.ts +0 -138
- package/dist/agent-core/subagent/session-controller.js +0 -1594
- package/dist/agent-core/subagent/wait.d.ts +0 -14
- package/dist/agent-core/subagent/wait.js +0 -32
- package/dist/agent-core/tools/agent/agent-cancel.d.ts +0 -7
- package/dist/agent-core/tools/agent/agent-cancel.js +0 -29
- package/dist/agent-core/tools/agent/agent-message.d.ts +0 -7
- package/dist/agent-core/tools/agent/agent-message.js +0 -57
- package/dist/agent-core/tools/agent/agent-start.d.ts +0 -12
- package/dist/agent-core/tools/agent/agent-start.js +0 -106
- package/dist/agent-core/tools/agent/agent-wait.d.ts +0 -7
- package/dist/agent-core/tools/agent/agent-wait.js +0 -91
- package/dist/agent-core/tools/agent/question.d.ts +0 -7
- package/dist/agent-core/tools/agent/question.js +0 -125
- package/dist/agent-core/tools/agent/skill.d.ts +0 -11
- package/dist/agent-core/tools/agent/skill.js +0 -38
- package/dist/agent-core/tools/agent/sleep.d.ts +0 -12
- package/dist/agent-core/tools/agent/sleep.js +0 -54
- package/dist/agent-core/tools/agent/smart-compact.d.ts +0 -9
- package/dist/agent-core/tools/agent/smart-compact.js +0 -23
- package/dist/agent-core/tools/agent/todo-read.d.ts +0 -14
- package/dist/agent-core/tools/agent/todo-write.d.ts +0 -14
- package/dist/agent-core/tools/agent/todo-write.js +0 -66
- package/dist/agent-core/tools/agent/todo.d.ts +0 -26
- package/dist/agent-core/tools/agent/todo.js +0 -60
- package/dist/agent-core/tools/callers.d.ts +0 -6
- package/dist/agent-core/tools/callers.js +0 -39
- package/dist/agent-core/tools/code-mode/cells.d.ts +0 -29
- package/dist/agent-core/tools/code-mode/cells.js +0 -337
- package/dist/agent-core/tools/code-mode/dispatch.d.ts +0 -20
- package/dist/agent-core/tools/code-mode/dispatch.js +0 -80
- package/dist/agent-core/tools/code-mode/engine.d.ts +0 -60
- package/dist/agent-core/tools/code-mode/index.d.ts +0 -29
- package/dist/agent-core/tools/code-mode/index.js +0 -749
- package/dist/agent-core/tools/code-mode/observations.d.ts +0 -98
- package/dist/agent-core/tools/code-mode/observations.js +0 -228
- package/dist/agent-core/tools/code-mode/state.d.ts +0 -9
- package/dist/agent-core/tools/code-mode/state.js +0 -82
- package/dist/agent-core/tools/contracts.d.ts +0 -211
- package/dist/agent-core/tools/definition-projection.d.ts +0 -7
- package/dist/agent-core/tools/definition-projection.js +0 -26
- package/dist/agent-core/tools/execution-limits.d.ts +0 -69
- package/dist/agent-core/tools/execution-limits.js +0 -69
- package/dist/agent-core/tools/execution.d.ts +0 -46
- package/dist/agent-core/tools/execution.js +0 -191
- package/dist/agent-core/tools/local/apply-patch-parser.js +0 -177
- package/dist/agent-core/tools/local/apply-patch.d.ts +0 -19
- package/dist/agent-core/tools/local/apply-patch.js +0 -489
- package/dist/agent-core/tools/local/exec.d.ts +0 -53
- package/dist/agent-core/tools/local/exec.js +0 -877
- package/dist/agent-core/tools/local/image-processing.js +0 -146
- package/dist/agent-core/tools/local/read-context.js +0 -152
- package/dist/agent-core/tools/local/read.d.ts +0 -43
- package/dist/agent-core/tools/local/read.js +0 -470
- package/dist/agent-core/tools/local/registry.d.ts +0 -34
- package/dist/agent-core/tools/local/registry.js +0 -132
- package/dist/agent-core/tools/local/view-image.d.ts +0 -15
- package/dist/agent-core/tools/local/view-image.js +0 -317
- package/dist/agent-core/tools/local/workspace-tools.d.ts +0 -12
- package/dist/agent-core/tools/local/workspace-tools.js +0 -28
- package/dist/agent-core/tools/mcp/catalog.js +0 -220
- package/dist/agent-core/tools/mcp/history.d.ts +0 -4
- package/dist/agent-core/tools/mcp/tool-search.d.ts +0 -45
- package/dist/agent-core/tools/mcp/tool-search.js +0 -294
- package/dist/agent-core/tools/output-projection.d.ts +0 -18
- package/dist/agent-core/tools/output-projection.js +0 -341
- package/dist/agent-core/tools/permissions.d.ts +0 -85
- package/dist/agent-core/tools/permissions.js +0 -237
- package/dist/agent-core/tools/registry.d.ts +0 -7
- package/dist/agent-core/tools/result-extensions.d.ts +0 -46
- package/dist/agent-core/tools/result-extensions.js +0 -134
- package/dist/agent-core/tools/runtime-context.d.ts +0 -74
- package/dist/agent-core/tools/runtime-resource-handles.js +0 -28
- package/dist/agent-core/tools/runtime.js +0 -77
- package/dist/agent-core/tools/scheduler.d.ts +0 -12
- package/dist/agent-core/tools/shared/path-resolver.js +0 -133
- package/dist/agent-core/tools/wait.js +0 -82
- /package/dist/{agent-core/extensions/models.js → extensions/capabilities.js} +0 -0
- /package/dist/{agent-core/extensions → extensions}/compaction.js +0 -0
- /package/dist/{agent-core/model → extensions}/contracts.js +0 -0
- /package/dist/{agent-core/extensions → extensions}/hooks.js +0 -0
- /package/dist/{agent-core/runtime/context/contracts.js → extensions/host-ports.js} +0 -0
- /package/dist/{agent-core/extensions → extensions}/operation.js +0 -0
- /package/dist/{agent-core/runtime/contracts.js → extensions/tool-runtime.js} +0 -0
- /package/dist/{agent-core/extensions/contracts.js → extensions.js} +0 -0
- /package/dist/{agent-core/runtime/events.js → host/description.js} +0 -0
- /package/dist/{agent-core/host → host}/local-session-environment.js +0 -0
- /package/dist/{agent-core/host → host}/local-shell.js +0 -0
- /package/dist/{agent-core/runtime/execution-handle.js → host/skill-contract.js} +0 -0
- /package/dist/{agent-core/model → model}/anthropic-thinking.d.ts +0 -0
- /package/dist/{agent-core/model → model}/attempt-diagnostics.d.ts +0 -0
- /package/dist/{agent-core/model → model}/attempt-diagnostics.js +0 -0
- /package/dist/{agent-core/session/store → model}/contracts.js +0 -0
- /package/dist/{agent-core/sdk/types.js → model/image-contract.js} +0 -0
- /package/dist/{agent-core/model → model}/image.js +0 -0
- /package/dist/{agent-core/model → model}/native-context.d.ts +0 -0
- /package/dist/{agent-core/model → model}/native-context.js +0 -0
- /package/dist/{agent-core/model → model}/recovery.d.ts +0 -0
- /package/dist/{agent-core/model → model}/sse.d.ts +0 -0
- /package/dist/{agent-core/model → model}/text-blocks.d.ts +0 -0
- /package/dist/{agent-core/model → model}/tool-declarations.js +0 -0
- /package/dist/{agent-core/model → model}/tool-input.d.ts +0 -0
- /package/dist/{agent-core/model → model}/tool-input.js +0 -0
- /package/dist/{agent-core/model → model}/usage-observer.js +0 -0
- /package/dist/{agent-core/session/store/types.js → model/usage.js} +0 -0
- /package/dist/{agent-core/subagent → process}/contracts.js +0 -0
- /package/dist/{agent-core/prompts → prompts}/compact.d.ts +0 -0
- /package/dist/{agent-core/prompts → prompts}/compact.js +0 -0
- /package/dist/{agent-core/prompts → prompts}/core.d.ts +0 -0
- /package/dist/{agent-core/prompts → prompts}/core.js +0 -0
- /package/dist/{agent-core/prompts → prompts}/markup.d.ts +0 -0
- /package/dist/{agent-core/prompts → prompts}/markup.js +0 -0
- /package/dist/{agent-core/prompts → prompts}/modes.d.ts +0 -0
- /package/dist/{agent-core/prompts → prompts}/modes.js +0 -0
- /package/dist/{agent-core/prompts → prompts}/output.d.ts +0 -0
- /package/dist/{agent-core/prompts → prompts}/output.js +0 -0
- /package/dist/{agent-core/prompts → prompts}/permissions.d.ts +0 -0
- /package/dist/{agent-core/prompts → prompts}/permissions.js +0 -0
- /package/dist/{agent-core/tools/local → prompts}/read-context.d.ts +0 -0
- /package/dist/{agent-core/prompts → prompts}/resources.d.ts +0 -0
- /package/dist/{agent-core/prompts → prompts}/resources.js +0 -0
- /package/dist/{agent-core/prompts → prompts}/subagent.d.ts +0 -0
- /package/dist/{agent-core/prompts → prompts}/subagent.js +0 -0
- /package/dist/{agent-core/prompts → prompts}/workflow.d.ts +0 -0
- /package/dist/{agent-core/prompts → prompts}/workflow.js +0 -0
- /package/dist/{agent-core/runtime → runtime}/async-queue.d.ts +0 -0
- /package/dist/{agent-core/runtime → runtime}/async-queue.js +0 -0
- /package/dist/{agent-core/tools → runtime/compaction}/contracts.js +0 -0
- /package/dist/{agent-core/runtime → runtime}/compaction/coordinator.d.ts +0 -0
- /package/dist/{agent-core/runtime → runtime}/compaction/history.js +0 -0
- /package/dist/{agent-core/runtime → runtime}/context/contracts.d.ts +0 -0
- /package/dist/{agent-core/session/types.js → runtime/context/contracts.js} +0 -0
- /package/dist/{agent-core/runtime → runtime}/context/environment.js +0 -0
- /package/dist/{agent-core/tools/code-mode/engine.js → runtime/context/gc-contracts.js} +0 -0
- /package/dist/{agent-core/runtime → runtime}/context/gc-runtime.js +0 -0
- /package/dist/{agent-core/runtime → runtime}/context/normalize.js +0 -0
- /package/dist/{agent-core/tools/code-mode/worker.d.ts → runtime/contracts.js} +0 -0
- /package/dist/{agent-core/tools/runtime-context.js → runtime/events.js} +0 -0
- /package/dist/{agent-core/runtime → runtime}/execution-policy.d.ts +0 -0
- /package/dist/{agent-core/runtime → runtime}/execution-policy.js +0 -0
- /package/dist/{agent-core/runtime → runtime}/model-generation-timing.d.ts +0 -0
- /package/dist/{agent-core/runtime → runtime}/model-generation-timing.js +0 -0
- /package/dist/{agent-core/runtime → runtime}/model-progress.d.ts +0 -0
- /package/dist/{agent-core/runtime → runtime}/plan-output.d.ts +0 -0
- /package/dist/{agent-core/runtime → runtime}/plan-output.js +0 -0
- /package/dist/{agent-core/tools/public-metadata.d.ts → runtime/public-tool-metadata.d.ts} +0 -0
- /package/dist/{agent-core/tools/public-metadata.js → runtime/public-tool-metadata.js} +0 -0
- /package/dist/{agent-core/runtime → runtime}/token-budget.d.ts +0 -0
- /package/dist/{agent-core/runtime → runtime}/token-budget.js +0 -0
- /package/dist/{agent-core/tools → runtime}/wait.d.ts +0 -0
- /package/dist/{agent-core/sdk → sdk}/request-preparation.js +0 -0
- /package/dist/{agent-core/session → session}/context-gc-markup.d.ts +0 -0
- /package/dist/{agent-core/session → session}/context-gc-markup.js +0 -0
- /package/dist/{agent-core/session → session}/context-gc-replacements.js +0 -0
- /package/dist/{agent-core/session → session}/context-gc-subagent.js +0 -0
- /package/dist/{agent-core/session → session}/types.d.ts +0 -0
- /package/dist/{agent-core/storage → storage}/file-lock.d.ts +0 -0
- /package/dist/{agent-core/subagent → subagent}/model-update.d.ts +0 -0
- /package/dist/{agent-core/tools → tools}/agent/todo-read.js +0 -0
- /package/dist/{agent-core/tools → tools}/code-mode/quickjs-engine.d.ts +0 -0
- /package/dist/{agent-core/tools → tools}/code-mode/quickjs-engine.js +0 -0
- /package/dist/{agent-core/tools → tools}/code-mode/text-output.d.ts +0 -0
- /package/dist/{agent-core/tools → tools}/code-mode/text-output.js +0 -0
- /package/dist/{agent-core/tools → tools}/code-mode/worker.js +0 -0
- /package/dist/{agent-core/tools → tools}/file-change-diff.d.ts +0 -0
- /package/dist/{agent-core/tools → tools}/file-change-diff.js +0 -0
- /package/dist/{agent-core/tools → tools}/input-diagnostics/source-preview.d.ts +0 -0
- /package/dist/{agent-core/tools → tools}/input-diagnostics/source-preview.js +0 -0
- /package/dist/{agent-core/tools → tools}/input.d.ts +0 -0
- /package/dist/{agent-core/tools → tools}/input.js +0 -0
- /package/dist/{agent-core/tools → tools}/local/apply-patch-parser.d.ts +0 -0
- /package/dist/{agent-core/tools → tools}/local/image-processing.d.ts +0 -0
- /package/dist/{agent-core/tools → tools}/mcp/catalog.d.ts +0 -0
- /package/dist/{agent-core/tools → tools}/mcp/history.js +0 -0
- /package/dist/{agent-core/tools → tools}/registry.js +0 -0
- /package/dist/{agent-core/tools → tools}/runtime-resource-handles.d.ts +0 -0
- /package/dist/{agent-core/tools → tools}/runtime.d.ts +0 -0
- /package/dist/{agent-core/tools → tools}/scheduler.js +0 -0
- /package/dist/{agent-core/tools → tools}/shared/patch-result.d.ts +0 -0
- /package/dist/{agent-core/tools → tools}/shared/patch-result.js +0 -0
- /package/dist/{agent-core/tools → tools}/shared/path-resolver.d.ts +0 -0
|
@@ -0,0 +1,152 @@
|
|
|
1
|
+
import { decodeMarkupText, markupAttributes, markupText, parseMarkupAttributes } from './markup.js';
|
|
2
|
+
export function formatReadContextItem(index, metadata, content) {
|
|
3
|
+
const { oversizedLine, ...values } = metadata;
|
|
4
|
+
const header = `<mar_read_result${markupAttributes({ index, path: metadata.path, pathTruncated: metadata.pathTruncated })}>`;
|
|
5
|
+
const info = oversizedLine && typeof oversizedLine === 'object'
|
|
6
|
+
? `<metadata${markupAttributes(values)}>\n <oversized_line${markupAttributes(oversizedLine)} />\n </metadata>`
|
|
7
|
+
: `<metadata${markupAttributes(values)} />`;
|
|
8
|
+
return [header, ' ' + markupText('content', content), ' ' + info, '</mar_read_result>'].join('\n');
|
|
9
|
+
}
|
|
10
|
+
function metadataValues(values) {
|
|
11
|
+
const result = {};
|
|
12
|
+
for (const [key, value] of Object.entries(values)) {
|
|
13
|
+
if (key === 'path')
|
|
14
|
+
result[key] = value;
|
|
15
|
+
else if (key === 'encoding' && ['utf-8', 'utf-16le', 'utf-16be'].includes(value))
|
|
16
|
+
result[key] = value;
|
|
17
|
+
else if (key === 'newline' && ['lf', 'crlf'].includes(value))
|
|
18
|
+
result[key] = value;
|
|
19
|
+
else if (['pathTruncated', 'eof', 'truncated', 'previewComplete'].includes(key)) {
|
|
20
|
+
if (value !== 'true' && value !== 'false')
|
|
21
|
+
throw new Error('MAR_AGENT_MARKUP_INVALID');
|
|
22
|
+
result[key] = value === 'true';
|
|
23
|
+
}
|
|
24
|
+
else if (['startLine', 'endLine', 'nextOffset'].includes(key)) {
|
|
25
|
+
if (!/^[0-9]+$/u.test(value) || !Number.isSafeInteger(Number(value)) || Number(value) < 1)
|
|
26
|
+
throw new Error('MAR_AGENT_MARKUP_INVALID');
|
|
27
|
+
result[key] = Number(value);
|
|
28
|
+
}
|
|
29
|
+
else
|
|
30
|
+
throw new Error('MAR_AGENT_MARKUP_INVALID');
|
|
31
|
+
}
|
|
32
|
+
return result;
|
|
33
|
+
}
|
|
34
|
+
export function parseReadContextOutput(value) {
|
|
35
|
+
try {
|
|
36
|
+
if (!value.startsWith('<mar_read_'))
|
|
37
|
+
return undefined;
|
|
38
|
+
const items = [];
|
|
39
|
+
const indexes = new Set();
|
|
40
|
+
let offset = 0;
|
|
41
|
+
while (offset < value.length) {
|
|
42
|
+
const header = /^<mar_read_(result|error)([^<>]*)>/.exec(value.slice(offset));
|
|
43
|
+
if (!header)
|
|
44
|
+
return undefined;
|
|
45
|
+
const attrs = parseMarkupAttributes(header[2]);
|
|
46
|
+
const index = Number(attrs.index);
|
|
47
|
+
if (!/^[0-9]+$/u.test(attrs.index ?? '') || !Number.isSafeInteger(index))
|
|
48
|
+
return undefined;
|
|
49
|
+
if (indexes.has(index))
|
|
50
|
+
return undefined;
|
|
51
|
+
indexes.add(index);
|
|
52
|
+
if (header[1] === 'error') {
|
|
53
|
+
if (!attrs.code ||
|
|
54
|
+
Object.keys(attrs).some((key) => !['index', 'path', 'pathTruncated', 'code', 'detailsTruncated'].includes(key)))
|
|
55
|
+
return undefined;
|
|
56
|
+
if (['pathTruncated', 'detailsTruncated'].some((key) => attrs[key] !== undefined && attrs[key] !== 'true' && attrs[key] !== 'false'))
|
|
57
|
+
return undefined;
|
|
58
|
+
const end = value.indexOf('</mar_read_error>', offset + header[0].length);
|
|
59
|
+
if (end < 0)
|
|
60
|
+
return undefined;
|
|
61
|
+
const body = value.slice(offset + header[0].length, end).trim();
|
|
62
|
+
if (body !== '<message />') {
|
|
63
|
+
if (!body.startsWith('<message>') || !body.endsWith('</message>'))
|
|
64
|
+
return undefined;
|
|
65
|
+
decodeMarkupText(body.slice(9, -10));
|
|
66
|
+
}
|
|
67
|
+
offset = end + '</mar_read_error>'.length;
|
|
68
|
+
}
|
|
69
|
+
else {
|
|
70
|
+
if (!attrs.path ||
|
|
71
|
+
Object.keys(attrs).some((key) => !['index', 'path', 'pathTruncated'].includes(key)) ||
|
|
72
|
+
(attrs.pathTruncated !== undefined &&
|
|
73
|
+
attrs.pathTruncated !== 'true' &&
|
|
74
|
+
attrs.pathTruncated !== 'false'))
|
|
75
|
+
return undefined;
|
|
76
|
+
const contentStart = offset + header[0].length + 3;
|
|
77
|
+
if (value.slice(contentStart - 3, contentStart) !== '\n ')
|
|
78
|
+
return undefined;
|
|
79
|
+
const contentEnd = value.indexOf('\n ' + '<metadata', contentStart);
|
|
80
|
+
if (contentEnd < 0)
|
|
81
|
+
return undefined;
|
|
82
|
+
const body = value.slice(contentStart, contentEnd);
|
|
83
|
+
let content;
|
|
84
|
+
if (body === '<content />')
|
|
85
|
+
content = '';
|
|
86
|
+
else if (body.startsWith('<content>') && body.endsWith('</content>'))
|
|
87
|
+
content = decodeMarkupText(body.slice(9, -10));
|
|
88
|
+
else {
|
|
89
|
+
const reclaimed = /^<mar_context_gc([^<>]*)>\s*<instruction>([^<]*)<\/instruction>\s*<\/mar_context_gc>$/u.exec(body);
|
|
90
|
+
if (!reclaimed || parseMarkupAttributes(reclaimed[1]).kind !== 'stale_read')
|
|
91
|
+
return undefined;
|
|
92
|
+
decodeMarkupText(reclaimed[2]);
|
|
93
|
+
content = body;
|
|
94
|
+
}
|
|
95
|
+
const end = value.indexOf('\n' + '</mar_read_result>', contentEnd);
|
|
96
|
+
if (end < 0)
|
|
97
|
+
return undefined;
|
|
98
|
+
const info = value.slice(contentEnd + 3, end);
|
|
99
|
+
const meta = /^<metadata([^<>]*?)(?: \/>|>\s*<oversized_line([^<>]*) \/>\s*<\/metadata>)$/u.exec(info);
|
|
100
|
+
if (!meta)
|
|
101
|
+
return undefined;
|
|
102
|
+
const metadata = metadataValues(parseMarkupAttributes(meta[1]));
|
|
103
|
+
if (metadata.path !== attrs.path ||
|
|
104
|
+
(metadata.pathTruncated === true) !== (attrs.pathTruncated === 'true'))
|
|
105
|
+
return undefined;
|
|
106
|
+
if (meta[2] !== undefined) {
|
|
107
|
+
const oversized = parseMarkupAttributes(meta[2]);
|
|
108
|
+
if (Object.keys(oversized).length !== 4 ||
|
|
109
|
+
Object.keys(oversized).some((key) => !['line', 'bytes', 'shownBytes', 'omittedBytes'].includes(key)) ||
|
|
110
|
+
Object.values(oversized).some((number) => !/^[0-9]+$/u.test(number) || !Number.isSafeInteger(Number(number))))
|
|
111
|
+
return undefined;
|
|
112
|
+
metadata.oversizedLine = Object.fromEntries(Object.entries(oversized).map(([key, number]) => [key, Number(number)]));
|
|
113
|
+
}
|
|
114
|
+
items.push({
|
|
115
|
+
index,
|
|
116
|
+
path: attrs.path,
|
|
117
|
+
pathTruncated: attrs.pathTruncated === 'true',
|
|
118
|
+
content,
|
|
119
|
+
metadata,
|
|
120
|
+
contentStart,
|
|
121
|
+
contentEnd
|
|
122
|
+
});
|
|
123
|
+
offset = end + 1 + '</mar_read_result>'.length;
|
|
124
|
+
}
|
|
125
|
+
if (offset < value.length) {
|
|
126
|
+
if (value[offset] !== '\n')
|
|
127
|
+
return undefined;
|
|
128
|
+
offset++;
|
|
129
|
+
}
|
|
130
|
+
}
|
|
131
|
+
return { items };
|
|
132
|
+
}
|
|
133
|
+
catch {
|
|
134
|
+
return undefined;
|
|
135
|
+
}
|
|
136
|
+
}
|
|
137
|
+
export function replaceReadContextItems(value, replacements) {
|
|
138
|
+
const parsed = parseReadContextOutput(value);
|
|
139
|
+
if (!parsed)
|
|
140
|
+
return value;
|
|
141
|
+
const byIndex = new Map(replacements.map((replacement) => [replacement.index, replacement]));
|
|
142
|
+
const selected = parsed.items
|
|
143
|
+
.flatMap((item) => {
|
|
144
|
+
const replacement = byIndex.get(item.index);
|
|
145
|
+
return replacement ? [{ item, replacement: replacement.replacement }] : [];
|
|
146
|
+
})
|
|
147
|
+
.sort((left, right) => right.item.contentStart - left.item.contentStart);
|
|
148
|
+
let result = value;
|
|
149
|
+
for (const { item, replacement } of selected)
|
|
150
|
+
result = `${result.slice(0, item.contentStart)}${replacement}${result.slice(item.contentEnd)}`;
|
|
151
|
+
return result;
|
|
152
|
+
}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import type { ModelUsage } from '../../model/contracts.js';
|
|
2
|
+
export interface ExtensionCompactDiagnostic {
|
|
3
|
+
readonly modelId: string;
|
|
4
|
+
readonly providerModelId?: string;
|
|
5
|
+
readonly reasoningEffort: string;
|
|
6
|
+
readonly state: 'STARTED' | 'SUCCEEDED' | 'DECLINED' | 'FAILED';
|
|
7
|
+
readonly inputTokensEstimateBefore: number;
|
|
8
|
+
readonly inputTokensEstimateAfter: number;
|
|
9
|
+
readonly modelRequests: number;
|
|
10
|
+
readonly elapsedMs: number;
|
|
11
|
+
readonly reason?: 'INPUT_BUDGET_EXHAUSTED' | 'MODEL_INCOMPLETE' | 'MODEL_FAILED';
|
|
12
|
+
readonly errorCode?: string;
|
|
13
|
+
readonly trigger?: 'manual' | 'automatic';
|
|
14
|
+
readonly causeCode?: string;
|
|
15
|
+
readonly errorReason?: string;
|
|
16
|
+
readonly httpStatus?: number;
|
|
17
|
+
readonly retryable?: boolean;
|
|
18
|
+
readonly transport?: 'HTTP' | 'WEBSOCKET';
|
|
19
|
+
}
|
|
20
|
+
export interface ExtensionCompactResult {
|
|
21
|
+
readonly summary: string;
|
|
22
|
+
readonly usage?: Readonly<ModelUsage>;
|
|
23
|
+
}
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
import { AsyncLocalStorage } from 'node:async_hooks';
|
|
2
|
+
import { AgentError } from '../../error.js';
|
|
3
|
+
/** One generation and adoption lane, with installation released only by a safe checkpoint. */
|
|
4
|
+
export class CompactCoordinator {
|
|
5
|
+
#owner = new AsyncLocalStorage();
|
|
6
|
+
#flight;
|
|
7
|
+
get pending() {
|
|
8
|
+
return this.#flight !== undefined;
|
|
9
|
+
}
|
|
10
|
+
get waiting() {
|
|
11
|
+
return this.#flight?.waiting === true;
|
|
12
|
+
}
|
|
13
|
+
assertNotReentrant() {
|
|
14
|
+
if (this.#owner.getStore())
|
|
15
|
+
throw new AgentError('MAR_AGENT_COMPACT_REENTRANT', 'Recursive compaction is not allowed.');
|
|
16
|
+
}
|
|
17
|
+
start(id, focus, run) {
|
|
18
|
+
this.assertNotReentrant();
|
|
19
|
+
if (this.#flight) {
|
|
20
|
+
if (focus !== undefined && focus !== this.#flight.focus)
|
|
21
|
+
throw new AgentError('MAR_AGENT_COMPACT_CONFLICT', 'A different compaction is already active.');
|
|
22
|
+
return this.#flight;
|
|
23
|
+
}
|
|
24
|
+
let ready;
|
|
25
|
+
let release;
|
|
26
|
+
const gate = new Promise((resolve) => {
|
|
27
|
+
release = resolve;
|
|
28
|
+
});
|
|
29
|
+
const controller = new AbortController();
|
|
30
|
+
const flight = {
|
|
31
|
+
id,
|
|
32
|
+
focus,
|
|
33
|
+
controller,
|
|
34
|
+
prepared: false,
|
|
35
|
+
settled: false,
|
|
36
|
+
waiting: false,
|
|
37
|
+
release,
|
|
38
|
+
ready: new Promise((resolve) => {
|
|
39
|
+
ready = resolve;
|
|
40
|
+
}),
|
|
41
|
+
result: undefined
|
|
42
|
+
};
|
|
43
|
+
this.#flight = flight;
|
|
44
|
+
const abort = () => release();
|
|
45
|
+
controller.signal.addEventListener('abort', abort, { once: true });
|
|
46
|
+
flight.result = this.#owner.run(id, async () => {
|
|
47
|
+
try {
|
|
48
|
+
return await run(async () => {
|
|
49
|
+
controller.signal.throwIfAborted();
|
|
50
|
+
flight.prepared = true;
|
|
51
|
+
ready();
|
|
52
|
+
await gate;
|
|
53
|
+
controller.signal.throwIfAborted();
|
|
54
|
+
}, controller.signal);
|
|
55
|
+
}
|
|
56
|
+
finally {
|
|
57
|
+
flight.settled = true;
|
|
58
|
+
ready();
|
|
59
|
+
controller.signal.removeEventListener('abort', abort);
|
|
60
|
+
}
|
|
61
|
+
});
|
|
62
|
+
// The result remains observable at the next checkpoint, including asynchronous failures.
|
|
63
|
+
void flight.result.catch(() => undefined);
|
|
64
|
+
return flight;
|
|
65
|
+
}
|
|
66
|
+
async checkpoint(wait) {
|
|
67
|
+
const flight = this.#flight;
|
|
68
|
+
if (!flight || (!wait && !flight.prepared && !flight.settled))
|
|
69
|
+
return undefined;
|
|
70
|
+
flight.waiting ||= wait;
|
|
71
|
+
try {
|
|
72
|
+
await flight.ready;
|
|
73
|
+
flight.release();
|
|
74
|
+
return await flight.result;
|
|
75
|
+
}
|
|
76
|
+
finally {
|
|
77
|
+
if (this.#flight === flight)
|
|
78
|
+
this.#flight = undefined;
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
async close(reason) {
|
|
82
|
+
const flight = this.#flight;
|
|
83
|
+
if (!flight)
|
|
84
|
+
return;
|
|
85
|
+
flight.controller.abort(reason);
|
|
86
|
+
await this.checkpoint(true).catch(() => undefined);
|
|
87
|
+
}
|
|
88
|
+
}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import type { ClientToolDefinition } from '../../tools/contracts.js';
|
|
2
|
+
import type { SessionModelMessage as ModelMessage } from '../../session/model-request.js';
|
|
3
|
+
import type { SessionModelRequest as ModelRequest } from '../../session/model-request.js';
|
|
4
|
+
import type { ExtensionCompactResult } from './contracts.js';
|
|
5
|
+
import type { ModelEvent, ModelTurnSession, ModelUsage } from '../../model/contracts.js';
|
|
6
|
+
import { type AuthoritativeModelUsage } from '../context/usage.js';
|
|
7
|
+
import type { CompactionOperation } from './operation.js';
|
|
8
|
+
interface CompactionSnapshot {
|
|
9
|
+
readonly history: readonly ModelMessage[];
|
|
10
|
+
readonly system: string;
|
|
11
|
+
readonly systemBlocks?: ModelRequest['systemBlocks'];
|
|
12
|
+
readonly tools: readonly ClientToolDefinition[];
|
|
13
|
+
readonly contextWindowTokens: number;
|
|
14
|
+
readonly latestUsage: AuthoritativeModelUsage | undefined;
|
|
15
|
+
readonly reasoningEffort: NonNullable<ModelRequest['reasoningEffort']>;
|
|
16
|
+
readonly focus?: string;
|
|
17
|
+
readonly reason: 'manual' | 'automatic';
|
|
18
|
+
readonly promptCacheKey: string;
|
|
19
|
+
}
|
|
20
|
+
interface CompactionGeneration {
|
|
21
|
+
readonly operation: CompactionOperation;
|
|
22
|
+
readonly turn: ModelTurnSession;
|
|
23
|
+
readonly generateExtension: (history: readonly ModelMessage[], reason: 'manual' | 'automatic', focus: string | undefined, operation: CompactionOperation) => Promise<ExtensionCompactResult | undefined>;
|
|
24
|
+
readonly transformRequest: (request: ModelRequest) => Promise<ModelRequest>;
|
|
25
|
+
readonly stream: (start: (signal: AbortSignal) => AsyncIterable<ModelEvent>, signal: AbortSignal) => AsyncIterable<ModelEvent>;
|
|
26
|
+
readonly observeUsage: (usage: ModelUsage) => Promise<void>;
|
|
27
|
+
readonly onAttemptDiagnostic: NonNullable<ModelRequest['onAttemptDiagnostic']>;
|
|
28
|
+
}
|
|
29
|
+
/** Generate a candidate from an isolated snapshot; never commit or adopt active context. */
|
|
30
|
+
export declare function generateCompactionCandidate(snapshot: CompactionSnapshot, dependencies: CompactionGeneration): Promise<ExtensionCompactResult>;
|
|
31
|
+
export {};
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
import { AgentError } from '../../error.js';
|
|
2
|
+
import { isProviderContextOverflow, recoverModelStream } from '../../model/recovery.js';
|
|
3
|
+
import { normalizeMessagesForModel } from '../context/normalize.js';
|
|
4
|
+
import { estimatedRequestTokens } from '../context/request-budget.js';
|
|
5
|
+
import { shouldUseNativeCompaction } from '../context/usage.js';
|
|
6
|
+
import { buildCompactionInput, buildCompactionMessages, buildNativeCompactionMessages } from './history.js';
|
|
7
|
+
import { projectSmartCompactionMessage } from './smart.js';
|
|
8
|
+
/** Generate a candidate from an isolated snapshot; never commit or adopt active context. */
|
|
9
|
+
export async function generateCompactionCandidate(snapshot, dependencies) {
|
|
10
|
+
const { operation, turn } = dependencies;
|
|
11
|
+
const projectedHistory = normalizeMessagesForModel(snapshot.history, {
|
|
12
|
+
supportsImages: false
|
|
13
|
+
}).map(projectSmartCompactionMessage);
|
|
14
|
+
const nativeMessages = buildNativeCompactionMessages(projectedHistory, {
|
|
15
|
+
...(snapshot.focus === undefined ? {} : { focus: snapshot.focus })
|
|
16
|
+
});
|
|
17
|
+
const overhead = estimatedRequestTokens(snapshot.system, buildCompactionMessages(''), snapshot.tools);
|
|
18
|
+
const inputTokens = Math.max(0, snapshot.contextWindowTokens - overhead);
|
|
19
|
+
let usingNativeMessages = shouldUseNativeCompaction({
|
|
20
|
+
estimatedRequestTokens: estimatedRequestTokens(snapshot.system, nativeMessages, snapshot.tools),
|
|
21
|
+
contextWindowTokens: snapshot.contextWindowTokens,
|
|
22
|
+
latestUsage: snapshot.latestUsage,
|
|
23
|
+
historyMessages: snapshot.history,
|
|
24
|
+
appendedMessages: nativeMessages.slice(projectedHistory.length)
|
|
25
|
+
});
|
|
26
|
+
const fallbackMessages = () => buildCompactionMessages(buildCompactionInput(snapshot.history, {
|
|
27
|
+
...(snapshot.focus === undefined ? {} : { focus: snapshot.focus }),
|
|
28
|
+
maxTokens: Math.max(1, inputTokens)
|
|
29
|
+
}));
|
|
30
|
+
let messages = usingNativeMessages ? nativeMessages : fallbackMessages();
|
|
31
|
+
const retryState = { attempts: 0 };
|
|
32
|
+
const extension = await dependencies.generateExtension(snapshot.history, snapshot.reason, snapshot.focus, operation);
|
|
33
|
+
operation.signal.throwIfAborted();
|
|
34
|
+
if (extension) {
|
|
35
|
+
if (extension.usage)
|
|
36
|
+
await dependencies.observeUsage(extension.usage);
|
|
37
|
+
return extension;
|
|
38
|
+
}
|
|
39
|
+
while (true) {
|
|
40
|
+
if (inputTokens === 0)
|
|
41
|
+
throw new AgentError('MAR_AGENT_CONTEXT_LIMIT', 'Compaction prompt exceeds the selected model context window.');
|
|
42
|
+
let summary = '';
|
|
43
|
+
let usage;
|
|
44
|
+
try {
|
|
45
|
+
const request = await dependencies.transformRequest({
|
|
46
|
+
retryState,
|
|
47
|
+
system: snapshot.system,
|
|
48
|
+
...(snapshot.systemBlocks === undefined ? {} : { systemBlocks: snapshot.systemBlocks }),
|
|
49
|
+
messages,
|
|
50
|
+
tools: snapshot.tools,
|
|
51
|
+
toolChoice: 'none',
|
|
52
|
+
promptCacheKey: snapshot.promptCacheKey,
|
|
53
|
+
reasoningEffort: snapshot.reasoningEffort,
|
|
54
|
+
onAttemptDiagnostic: dependencies.onAttemptDiagnostic
|
|
55
|
+
});
|
|
56
|
+
for await (const event of dependencies.stream((signal) => operation.start({ start: (request) => turn.start(request, signal) }, request), operation.signal)) {
|
|
57
|
+
if (event.type === 'text.completed' && (event.phase ?? 'final_answer') === 'final_answer')
|
|
58
|
+
summary = event.text.trim();
|
|
59
|
+
else if (event.type === 'usage') {
|
|
60
|
+
usage = event.usage;
|
|
61
|
+
await dependencies.observeUsage(event.usage);
|
|
62
|
+
}
|
|
63
|
+
else if (event.type === 'client_tool.call')
|
|
64
|
+
throw new AgentError('MAR_AGENT_MODEL_PROTOCOL_ERROR', 'Compaction returned a tool call while tools were disabled.');
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
catch (error) {
|
|
68
|
+
if (await recoverModelStream(error, retryState, operation.signal))
|
|
69
|
+
continue;
|
|
70
|
+
if (isProviderContextOverflow(error) && usingNativeMessages) {
|
|
71
|
+
usingNativeMessages = false;
|
|
72
|
+
messages = fallbackMessages();
|
|
73
|
+
retryState.attempts = 0;
|
|
74
|
+
continue;
|
|
75
|
+
}
|
|
76
|
+
if (isProviderContextOverflow(error))
|
|
77
|
+
throw new AgentError('MAR_AGENT_CONTEXT_LIMIT', 'The compaction request exceeds the model context window.', { cause: error });
|
|
78
|
+
throw error;
|
|
79
|
+
}
|
|
80
|
+
if (!summary)
|
|
81
|
+
throw new AgentError('MAR_AGENT_COMPACT_FAILED', 'Automatic compact failed.');
|
|
82
|
+
return { summary, ...(usage === undefined ? {} : { usage }) };
|
|
83
|
+
}
|
|
84
|
+
}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import type { SessionModelMessage as ModelMessage } from '../../session/model-request.js';
|
|
2
|
+
import type { CompactHistoryMessage, CompactUserInput } from '../../session/record-contract.js';
|
|
3
|
+
export declare const DEFAULT_COMPACTION_FOCUS = "Create a durable continuation state for the next model invocation.";
|
|
4
|
+
export declare function buildNativeCompactionMessages(messages: readonly ModelMessage[], input?: {
|
|
5
|
+
focus?: string;
|
|
6
|
+
}): ModelMessage[];
|
|
7
|
+
export declare function buildCompactionMessages(evidence: string): ModelMessage[];
|
|
8
|
+
export declare function buildCompactionInput(messages: readonly ModelMessage[], input: {
|
|
9
|
+
focus?: string;
|
|
10
|
+
maxTokens: number;
|
|
11
|
+
}): string;
|
|
12
|
+
export declare function retainCompactionUserMessages(messages: readonly string[], maxTokens: number): string[];
|
|
13
|
+
export declare function retainCompactionUserMessages(messages: readonly CompactUserInput[], maxTokens: number): CompactUserInput[];
|
|
14
|
+
export declare function buildCompactedHistory(summary: string, userMessages: readonly (string | CompactUserInput)[], maxUserTokens: number, currentUserMessage?: string | CompactUserInput): CompactHistoryMessage[];
|
|
15
|
+
export declare function compactedHistoryMessages(history: readonly CompactHistoryMessage[]): ModelMessage[];
|
|
16
|
+
export declare function continuationMessage(summary: string): string;
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import type { SessionModelRequest as ModelRequest } from '../../session/model-request.js';
|
|
2
|
+
import type { ModelEvent, ModelTurnSession } from '../../model/contracts.js';
|
|
3
|
+
import type { ExtensionCompactDiagnostic } from './contracts.js';
|
|
4
|
+
export interface CompactionProgress {
|
|
5
|
+
state: 'STARTED' | 'PROGRESS' | 'FINISHED';
|
|
6
|
+
elapsedMs: number;
|
|
7
|
+
inputTokensEstimate: number;
|
|
8
|
+
modelRequests: number;
|
|
9
|
+
eventCounts: Partial<Record<ModelEvent['type'], number>>;
|
|
10
|
+
textDeltaCharacters: number;
|
|
11
|
+
firstOutputAfterMs?: number;
|
|
12
|
+
lastOutputAfterMs?: number;
|
|
13
|
+
timedOut: boolean;
|
|
14
|
+
extension?: ExtensionCompactDiagnostic;
|
|
15
|
+
extensionOutcome?: 'HANDLED' | 'DECLINED' | 'INVALID_RESULT' | 'FAILED';
|
|
16
|
+
}
|
|
17
|
+
/** One deadline spans all model attempts and recovery waits for a single compaction. */
|
|
18
|
+
export declare class CompactionOperation {
|
|
19
|
+
#private;
|
|
20
|
+
private readonly record;
|
|
21
|
+
readonly signal: AbortSignal;
|
|
22
|
+
constructor(parent: AbortSignal, record: (progress: CompactionProgress) => void | Promise<void>);
|
|
23
|
+
start(model: Pick<ModelTurnSession, 'start'>, request: ModelRequest): AsyncIterable<ModelEvent>;
|
|
24
|
+
/** External generation shares this operation's deadline, including the default fallback. */
|
|
25
|
+
generate<T>(run: (signal: AbortSignal) => Promise<T>): Promise<T>;
|
|
26
|
+
observeExtension(diagnostic: ExtensionCompactDiagnostic): Promise<void>;
|
|
27
|
+
finishExtension(outcome: NonNullable<CompactionProgress['extensionOutcome']>): Promise<void>;
|
|
28
|
+
dispose(): Promise<void>;
|
|
29
|
+
private report;
|
|
30
|
+
}
|
|
@@ -0,0 +1,131 @@
|
|
|
1
|
+
import { AgentError } from '../../error.js';
|
|
2
|
+
import { countModelTokens } from '../token-budget.js';
|
|
3
|
+
const COMPACTION_TIMEOUT_MS = 600_000;
|
|
4
|
+
const COMPACTION_PROGRESS_INTERVAL_MS = 30_000;
|
|
5
|
+
/** One deadline spans all model attempts and recovery waits for a single compaction. */
|
|
6
|
+
export class CompactionOperation {
|
|
7
|
+
record;
|
|
8
|
+
#controller = new AbortController();
|
|
9
|
+
signal;
|
|
10
|
+
#startedAt = Date.now();
|
|
11
|
+
#deadline;
|
|
12
|
+
#progressTimer;
|
|
13
|
+
#closed = false;
|
|
14
|
+
#tail = Promise.resolve();
|
|
15
|
+
#inputTokensEstimate = 0;
|
|
16
|
+
#modelRequests = 0;
|
|
17
|
+
#eventCounts = {};
|
|
18
|
+
#textDeltaCharacters = 0;
|
|
19
|
+
#firstOutputAfterMs;
|
|
20
|
+
#lastOutputAfterMs;
|
|
21
|
+
#extension;
|
|
22
|
+
#extensionOutcome;
|
|
23
|
+
constructor(parent, record) {
|
|
24
|
+
this.record = record;
|
|
25
|
+
this.signal = AbortSignal.any([parent, this.#controller.signal]);
|
|
26
|
+
this.#deadline = setTimeout(() => this.#controller.abort(new AgentError('MAR_AGENT_MODEL_TIMEOUT', 'Compaction exceeded its total time limit; the previous context was retained.', { details: { reason: 'COMPACTION_DEADLINE_EXCEEDED' } })), COMPACTION_TIMEOUT_MS);
|
|
27
|
+
this.#deadline.unref();
|
|
28
|
+
this.#progressTimer = setInterval(() => {
|
|
29
|
+
void this.report('PROGRESS');
|
|
30
|
+
}, COMPACTION_PROGRESS_INTERVAL_MS);
|
|
31
|
+
this.#progressTimer.unref();
|
|
32
|
+
}
|
|
33
|
+
async *start(model, request) {
|
|
34
|
+
this.signal.throwIfAborted();
|
|
35
|
+
this.#modelRequests++;
|
|
36
|
+
this.#inputTokensEstimate =
|
|
37
|
+
countModelTokens(request.system) +
|
|
38
|
+
request.messages.reduce((sum, message) => sum + countModelTokens(message.content), 0);
|
|
39
|
+
await this.report(this.#modelRequests === 1 ? 'STARTED' : 'PROGRESS');
|
|
40
|
+
let completed = false;
|
|
41
|
+
try {
|
|
42
|
+
for await (const event of model.start(request, this.signal)) {
|
|
43
|
+
this.signal.throwIfAborted();
|
|
44
|
+
this.#eventCounts[event.type] = (this.#eventCounts[event.type] ?? 0) + 1;
|
|
45
|
+
if (event.type === 'completed')
|
|
46
|
+
completed = event.reason === 'completed';
|
|
47
|
+
if (event.type === 'text.delta')
|
|
48
|
+
this.#textDeltaCharacters += event.delta.length;
|
|
49
|
+
if ((event.type === 'text.delta' && event.delta.length > 0) ||
|
|
50
|
+
((event.type === 'text.completed' || event.type === 'reasoning.completed') &&
|
|
51
|
+
event.text.length > 0)) {
|
|
52
|
+
this.#lastOutputAfterMs = Math.max(0, Date.now() - this.#startedAt);
|
|
53
|
+
this.#firstOutputAfterMs ??= this.#lastOutputAfterMs;
|
|
54
|
+
}
|
|
55
|
+
yield event;
|
|
56
|
+
}
|
|
57
|
+
this.signal.throwIfAborted();
|
|
58
|
+
if (!completed)
|
|
59
|
+
throw new AgentError('MAR_AGENT_COMPACT_FAILED', 'Compaction did not return a complete response.');
|
|
60
|
+
}
|
|
61
|
+
catch (error) {
|
|
62
|
+
this.signal.throwIfAborted();
|
|
63
|
+
throw error;
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
/** External generation shares this operation's deadline, including the default fallback. */
|
|
67
|
+
async generate(run) {
|
|
68
|
+
this.signal.throwIfAborted();
|
|
69
|
+
let abort;
|
|
70
|
+
try {
|
|
71
|
+
return await Promise.race([
|
|
72
|
+
Promise.resolve().then(() => run(this.signal)),
|
|
73
|
+
new Promise((_resolve, reject) => {
|
|
74
|
+
abort = () => reject(this.signal.reason);
|
|
75
|
+
this.signal.addEventListener('abort', abort, { once: true });
|
|
76
|
+
if (this.signal.aborted)
|
|
77
|
+
abort();
|
|
78
|
+
})
|
|
79
|
+
]);
|
|
80
|
+
}
|
|
81
|
+
finally {
|
|
82
|
+
if (abort)
|
|
83
|
+
this.signal.removeEventListener('abort', abort);
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
async observeExtension(diagnostic) {
|
|
87
|
+
if (this.#closed || this.signal.aborted)
|
|
88
|
+
return;
|
|
89
|
+
if (diagnostic.modelRequests < (this.#extension?.modelRequests ?? 0))
|
|
90
|
+
return;
|
|
91
|
+
this.#extension = { ...diagnostic };
|
|
92
|
+
await this.report('PROGRESS');
|
|
93
|
+
}
|
|
94
|
+
async finishExtension(outcome) {
|
|
95
|
+
if (this.#closed)
|
|
96
|
+
return;
|
|
97
|
+
this.#extensionOutcome = outcome;
|
|
98
|
+
await this.report('PROGRESS');
|
|
99
|
+
}
|
|
100
|
+
async dispose() {
|
|
101
|
+
if (this.#closed)
|
|
102
|
+
return;
|
|
103
|
+
this.#closed = true;
|
|
104
|
+
clearTimeout(this.#deadline);
|
|
105
|
+
clearInterval(this.#progressTimer);
|
|
106
|
+
await this.report('FINISHED');
|
|
107
|
+
}
|
|
108
|
+
report(state) {
|
|
109
|
+
const progress = {
|
|
110
|
+
state,
|
|
111
|
+
elapsedMs: Math.max(0, Date.now() - this.#startedAt),
|
|
112
|
+
inputTokensEstimate: this.#modelRequests
|
|
113
|
+
? this.#inputTokensEstimate
|
|
114
|
+
: (this.#extension?.inputTokensEstimateAfter ?? this.#inputTokensEstimate),
|
|
115
|
+
modelRequests: this.#modelRequests + (this.#extension?.modelRequests ?? 0),
|
|
116
|
+
...(this.#extension ? { extension: { ...this.#extension } } : {}),
|
|
117
|
+
...(this.#extensionOutcome ? { extensionOutcome: this.#extensionOutcome } : {}),
|
|
118
|
+
eventCounts: { ...this.#eventCounts },
|
|
119
|
+
textDeltaCharacters: this.#textDeltaCharacters,
|
|
120
|
+
...(this.#firstOutputAfterMs === undefined
|
|
121
|
+
? {}
|
|
122
|
+
: { firstOutputAfterMs: this.#firstOutputAfterMs }),
|
|
123
|
+
...(this.#lastOutputAfterMs === undefined
|
|
124
|
+
? {}
|
|
125
|
+
: { lastOutputAfterMs: this.#lastOutputAfterMs }),
|
|
126
|
+
timedOut: this.#controller.signal.aborted
|
|
127
|
+
};
|
|
128
|
+
this.#tail = this.#tail.then(() => this.record(progress)).catch(() => undefined);
|
|
129
|
+
return this.#tail;
|
|
130
|
+
}
|
|
131
|
+
}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import type { CompactInput, ExecutionHandle } from '../execution-handle.js';
|
|
2
|
+
import type { AgentEvent } from '../events.js';
|
|
3
|
+
import type { CompactFlight } from './coordinator.js';
|
|
4
|
+
/** External handles represent an operation inside its owning main Execution, not another loop. */
|
|
5
|
+
export declare class CompactRequests {
|
|
6
|
+
#private;
|
|
7
|
+
readonly executionId: string;
|
|
8
|
+
readonly assertAdmission: () => void;
|
|
9
|
+
constructor(executionId: string, assertAdmission: () => void);
|
|
10
|
+
request(input: CompactInput): ExecutionHandle;
|
|
11
|
+
publish(event: AgentEvent): void;
|
|
12
|
+
bind(join: (input: CompactInput) => CompactFlight | undefined): void;
|
|
13
|
+
drain(start: (input: CompactInput) => CompactFlight): boolean;
|
|
14
|
+
seal(): void;
|
|
15
|
+
close(error: unknown): void;
|
|
16
|
+
}
|