@myagentroam/agent 0.11.33 → 0.11.35
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/fork-session.d.ts +19 -0
- package/dist/session/store/jsonl/fork-session.js +142 -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 +2395 -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 +87 -0
- package/dist/subagent/session-controller.js +1343 -0
- package/dist/subagent/task.d.ts +134 -0
- package/dist/subagent/task.js +436 -0
- package/dist/subagent/turn-contracts.d.ts +64 -0
- package/dist/subagent/turn-contracts.js +1 -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,131 @@
|
|
|
1
|
+
import { contextGcTargetKey } from '../../session/context-gc-checkpoint.js';
|
|
2
|
+
import { contextGcExecInputReplacement, contextGcExecOutputReplacement, normalizeContextGcExecResult } from '../../session/context-gc-replacements.js';
|
|
3
|
+
import { CONTEXT_GC_POLICY } from './gc-economics.js';
|
|
4
|
+
import { successfulRolloutsAfter, targetFor, isRecord } from './gc-candidates.js';
|
|
5
|
+
export function collectExecCandidates(input, groups, existingTargets, candidateSavings) {
|
|
6
|
+
const eligible = [];
|
|
7
|
+
let protectedTokens = 0;
|
|
8
|
+
let retryAfterRollouts = Infinity;
|
|
9
|
+
const execGroups = [...groups.values()]
|
|
10
|
+
.filter((group) => group.toolName === 'exec' || group.toolName === 'exec_wait')
|
|
11
|
+
.sort((left, right) => (left.call?.record.sequence ?? Number.MAX_SAFE_INTEGER) -
|
|
12
|
+
(right.call?.record.sequence ?? Number.MAX_SAFE_INTEGER));
|
|
13
|
+
const invocations = new Map();
|
|
14
|
+
for (const group of execGroups) {
|
|
15
|
+
if (!group.call ||
|
|
16
|
+
!group.result ||
|
|
17
|
+
group.failed ||
|
|
18
|
+
!group.completed ||
|
|
19
|
+
group.call.message.role !== 'tool_call' ||
|
|
20
|
+
group.result.message.role !== 'tool' ||
|
|
21
|
+
!isRecord(group.call.message.arguments))
|
|
22
|
+
continue;
|
|
23
|
+
const result = normalizeContextGcExecResult(group.result.message.content, group.completed.payload);
|
|
24
|
+
if (result)
|
|
25
|
+
invocations.set(group.callId, {
|
|
26
|
+
group,
|
|
27
|
+
input: group.call.message.arguments,
|
|
28
|
+
result
|
|
29
|
+
});
|
|
30
|
+
}
|
|
31
|
+
for (const startGroup of execGroups) {
|
|
32
|
+
const start = invocations.get(startGroup.callId);
|
|
33
|
+
if (!start)
|
|
34
|
+
continue;
|
|
35
|
+
const isStart = start.group.toolName === 'exec' &&
|
|
36
|
+
(start.input.action === 'start' ||
|
|
37
|
+
(start.input.action == null && typeof start.input.command === 'string'));
|
|
38
|
+
const processId = typeof start.input.processId === 'string'
|
|
39
|
+
? start.input.processId
|
|
40
|
+
: typeof start.result.processId === 'string'
|
|
41
|
+
? start.result.processId
|
|
42
|
+
: undefined;
|
|
43
|
+
if (!isStart) {
|
|
44
|
+
if (start.group.toolName !== 'exec_wait' || !processId)
|
|
45
|
+
continue;
|
|
46
|
+
// A process may start inside a cell or before the visible history boundary.
|
|
47
|
+
// Begin with its first visible wait, but never split an unfinished lifecycle.
|
|
48
|
+
const previous = execGroups.findLast((group) => (group.call?.record.sequence ?? Infinity) < start.group.call.record.sequence &&
|
|
49
|
+
((isRecord(group.call?.message.arguments) &&
|
|
50
|
+
group.call.message.arguments.processId === processId) ||
|
|
51
|
+
invocations.get(group.callId)?.result.processId === processId));
|
|
52
|
+
const previousStatus = previous && invocations.get(previous.callId)?.result.status;
|
|
53
|
+
if (previous && previousStatus !== 'completed' && previousStatus !== 'cancelled')
|
|
54
|
+
continue;
|
|
55
|
+
}
|
|
56
|
+
const lifecycle = [start];
|
|
57
|
+
let terminal = start.result.status !== 'running';
|
|
58
|
+
if (!terminal) {
|
|
59
|
+
if (!processId)
|
|
60
|
+
continue;
|
|
61
|
+
const relatedGroups = execGroups.filter((group) => (group.call?.record.sequence ?? 0) > start.group.call.record.sequence &&
|
|
62
|
+
isRecord(group.call?.message.arguments) &&
|
|
63
|
+
group.call.message.arguments.processId === processId);
|
|
64
|
+
if (relatedGroups.some((group) => !invocations.has(group.callId)) ||
|
|
65
|
+
relatedGroups.length === 0)
|
|
66
|
+
continue;
|
|
67
|
+
for (const relatedGroup of relatedGroups) {
|
|
68
|
+
const invocation = invocations.get(relatedGroup.callId);
|
|
69
|
+
lifecycle.push(invocation);
|
|
70
|
+
if (invocation.result.status !== 'running') {
|
|
71
|
+
terminal = true;
|
|
72
|
+
break;
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
if (!terminal || (processId && input.activeProcessIds.has(processId)))
|
|
77
|
+
continue;
|
|
78
|
+
const final = lifecycle.at(-1);
|
|
79
|
+
const evidenceSequence = final.group.result.record.sequence;
|
|
80
|
+
const observedRollouts = successfulRolloutsAfter(input.records, evidenceSequence, input.modelId, input.contextWindowTokens);
|
|
81
|
+
const replacements = [];
|
|
82
|
+
for (const invocation of lifecycle) {
|
|
83
|
+
if (invocation.group.evidenceOnly)
|
|
84
|
+
continue;
|
|
85
|
+
const callTarget = targetFor(invocation.group.call.record, invocation.group.call.message);
|
|
86
|
+
const resultTarget = targetFor(invocation.group.result.record, invocation.group.result.message);
|
|
87
|
+
if (!resultTarget) {
|
|
88
|
+
replacements.splice(0);
|
|
89
|
+
break;
|
|
90
|
+
}
|
|
91
|
+
if (callTarget && !existingTargets.has(contextGcTargetKey(callTarget)))
|
|
92
|
+
replacements.push({
|
|
93
|
+
kind: 'TOOL_CALL_INPUT',
|
|
94
|
+
toolName: invocation.group.toolName,
|
|
95
|
+
callId: invocation.group.callId,
|
|
96
|
+
target: callTarget,
|
|
97
|
+
replacementArguments: contextGcExecInputReplacement(invocation.input, invocation.group.toolName),
|
|
98
|
+
providerAliasTargets: invocation.group.aliases
|
|
99
|
+
.map(({ record, message }) => targetFor(record, message))
|
|
100
|
+
.filter((target) => target !== undefined),
|
|
101
|
+
evidenceSequence
|
|
102
|
+
});
|
|
103
|
+
if (!existingTargets.has(contextGcTargetKey(resultTarget)))
|
|
104
|
+
replacements.push({
|
|
105
|
+
kind: 'EXEC_OUTPUT',
|
|
106
|
+
...(resultTarget.observationId ? { terminalCallId: final.group.callId } : {}),
|
|
107
|
+
callId: invocation.group.callId,
|
|
108
|
+
target: resultTarget,
|
|
109
|
+
replacementContent: contextGcExecOutputReplacement(invocation.result),
|
|
110
|
+
evidenceSequence
|
|
111
|
+
});
|
|
112
|
+
}
|
|
113
|
+
if (replacements.length === 0)
|
|
114
|
+
continue;
|
|
115
|
+
const candidate = {
|
|
116
|
+
replacements,
|
|
117
|
+
observedRollouts,
|
|
118
|
+
evidenceSequence
|
|
119
|
+
};
|
|
120
|
+
const reclaimedTokens = candidateSavings(candidate);
|
|
121
|
+
if (reclaimedTokens <= 0)
|
|
122
|
+
continue;
|
|
123
|
+
if (observedRollouts >= CONTEXT_GC_POLICY.largeExecProtectionRollouts)
|
|
124
|
+
eligible.push(candidate);
|
|
125
|
+
else {
|
|
126
|
+
protectedTokens += reclaimedTokens;
|
|
127
|
+
retryAfterRollouts = Math.min(retryAfterRollouts, CONTEXT_GC_POLICY.largeExecProtectionRollouts - observedRollouts);
|
|
128
|
+
}
|
|
129
|
+
}
|
|
130
|
+
return { eligible, protectedTokens, retryAfterRollouts };
|
|
131
|
+
}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { type ContextGcReplacement } from '../../session/context-gc-checkpoint.js';
|
|
2
|
+
import { type ContextGcPlannerInput, type ContextCandidate, type CandidateSavings, type ToolGroup } from './gc-contracts.js';
|
|
3
|
+
export declare function collectStageACandidates(input: ContextGcPlannerInput, groups: ReadonlyMap<string, ToolGroup>, existingReplacements: readonly ContextGcReplacement[], existingTargets: ReadonlySet<string>, candidateSavings: CandidateSavings): {
|
|
4
|
+
eligible: ContextCandidate[];
|
|
5
|
+
protectedTokens: number;
|
|
6
|
+
retryAfterRollouts: number;
|
|
7
|
+
};
|
|
@@ -0,0 +1,118 @@
|
|
|
1
|
+
import { contextGcLogicalPathKey, contextGcTargetKey } from '../../session/context-gc-checkpoint.js';
|
|
2
|
+
import { contextGcApplyPatchInputReplacement, contextGcPatchResultFromCompletedPayload, contextGcPatchResultFromFailedPayload, contextGcStaleReadReplacement } from '../../session/context-gc-replacements.js';
|
|
3
|
+
import { parseReadContextOutput } from '../../prompts/read-context.js';
|
|
4
|
+
import { CONTEXT_GC_POLICY } from './gc-economics.js';
|
|
5
|
+
import { successfulRolloutsAfter, targetFor } from './gc-candidates.js';
|
|
6
|
+
export function collectStageACandidates(input, groups, existingReplacements, existingTargets, candidateSavings) {
|
|
7
|
+
const eligible = [];
|
|
8
|
+
let protectedTokens = 0;
|
|
9
|
+
let retryAfterRollouts = Infinity;
|
|
10
|
+
const existingReadReplacements = new Map(existingReplacements.flatMap((replacement) => replacement.kind === 'READ_OUTPUT_ITEMS'
|
|
11
|
+
? [[contextGcTargetKey(replacement.target), replacement]]
|
|
12
|
+
: []));
|
|
13
|
+
const reads = [...groups.values()].filter((group) => group.toolName === 'read' &&
|
|
14
|
+
group.call?.message.role === 'tool_call' &&
|
|
15
|
+
group.result?.message.role === 'tool');
|
|
16
|
+
const claimedReadItems = new Set([...existingReadReplacements.values()].flatMap((replacement) => replacement.items.map((item) => `${replacement.target.recordId}:${replacement.target.observationId ?? ''}:${item.index}`)));
|
|
17
|
+
const patches = [...groups.values()]
|
|
18
|
+
.flatMap((patch) => {
|
|
19
|
+
if (patch.toolName !== 'apply_patch' || !patch.call || !patch.result)
|
|
20
|
+
return [];
|
|
21
|
+
const terminal = patch.failed ?? patch.completed;
|
|
22
|
+
if (!terminal)
|
|
23
|
+
return [];
|
|
24
|
+
const result = patch.failed
|
|
25
|
+
? contextGcPatchResultFromFailedPayload(terminal.payload)
|
|
26
|
+
: contextGcPatchResultFromCompletedPayload(terminal.payload);
|
|
27
|
+
return result
|
|
28
|
+
? [{ patch, result, terminal, evidenceSequence: patch.result.record.sequence }]
|
|
29
|
+
: [];
|
|
30
|
+
})
|
|
31
|
+
.sort((left, right) => left.evidenceSequence - right.evidenceSequence);
|
|
32
|
+
for (const { patch, result, terminal, evidenceSequence } of patches) {
|
|
33
|
+
const patchCall = patch.call;
|
|
34
|
+
const observedRollouts = successfulRolloutsAfter(input.records, evidenceSequence, input.modelId, input.contextWindowTokens);
|
|
35
|
+
const replacements = [];
|
|
36
|
+
const candidateReadItems = new Set();
|
|
37
|
+
const patchTarget = targetFor(patchCall.record, patchCall.message);
|
|
38
|
+
if (!patch.failed && patchTarget && !existingTargets.has(contextGcTargetKey(patchTarget)))
|
|
39
|
+
replacements.push({
|
|
40
|
+
kind: 'TOOL_CALL_INPUT',
|
|
41
|
+
toolName: 'apply_patch',
|
|
42
|
+
callId: patch.callId,
|
|
43
|
+
target: patchTarget,
|
|
44
|
+
replacementArguments: contextGcApplyPatchInputReplacement(patchCall.message.arguments, result),
|
|
45
|
+
providerAliasTargets: patch.aliases
|
|
46
|
+
.map(({ record, message }) => targetFor(record, message))
|
|
47
|
+
.filter((target) => target !== undefined),
|
|
48
|
+
evidenceSequence
|
|
49
|
+
});
|
|
50
|
+
for (const read of reads) {
|
|
51
|
+
if ((read.completed?.sequence ?? read.result.record.sequence) >= terminal.sequence)
|
|
52
|
+
continue;
|
|
53
|
+
const parsed = parseReadContextOutput(read.result.message.content);
|
|
54
|
+
if (!parsed)
|
|
55
|
+
continue;
|
|
56
|
+
const selected = parsed.items.flatMap((item) => {
|
|
57
|
+
if (item.pathTruncated)
|
|
58
|
+
return [];
|
|
59
|
+
const itemKey = `${read.result.record.recordId}:${read.result.message.observationId ?? ''}:${item.index}`;
|
|
60
|
+
if (claimedReadItems.has(itemKey) || candidateReadItems.has(itemKey))
|
|
61
|
+
return [];
|
|
62
|
+
const pathKey = contextGcLogicalPathKey(item.path, input.workspace, input.platform);
|
|
63
|
+
const matched = result.files.find((file) => file.operation !== 'added' &&
|
|
64
|
+
contextGcLogicalPathKey(file.path, input.workspace, input.platform) === pathKey);
|
|
65
|
+
if (!pathKey || !matched || matched.operation === 'added')
|
|
66
|
+
return [];
|
|
67
|
+
candidateReadItems.add(itemKey);
|
|
68
|
+
return [
|
|
69
|
+
{
|
|
70
|
+
index: item.index,
|
|
71
|
+
path: item.path,
|
|
72
|
+
replacement: contextGcStaleReadReplacement({
|
|
73
|
+
path: item.path,
|
|
74
|
+
content: item.content,
|
|
75
|
+
operation: matched.operation
|
|
76
|
+
}),
|
|
77
|
+
evidenceSequence,
|
|
78
|
+
...(read.result.message.observationId ? { supersededByCallId: patch.callId } : {})
|
|
79
|
+
}
|
|
80
|
+
];
|
|
81
|
+
});
|
|
82
|
+
if (selected.length === 0)
|
|
83
|
+
continue;
|
|
84
|
+
const target = targetFor(read.result.record, read.result.message);
|
|
85
|
+
if (!target)
|
|
86
|
+
continue;
|
|
87
|
+
const existingRead = existingReadReplacements.get(contextGcTargetKey(target));
|
|
88
|
+
replacements.push({
|
|
89
|
+
kind: 'READ_OUTPUT_ITEMS',
|
|
90
|
+
callId: read.callId,
|
|
91
|
+
target,
|
|
92
|
+
items: [...(existingRead?.items ?? []), ...selected],
|
|
93
|
+
evidenceSequences: [
|
|
94
|
+
...new Set([...(existingRead?.evidenceSequences ?? []), evidenceSequence])
|
|
95
|
+
]
|
|
96
|
+
});
|
|
97
|
+
}
|
|
98
|
+
if (replacements.length === 0)
|
|
99
|
+
continue;
|
|
100
|
+
const candidate = {
|
|
101
|
+
replacements,
|
|
102
|
+
observedRollouts,
|
|
103
|
+
evidenceSequence
|
|
104
|
+
};
|
|
105
|
+
const reclaimedTokens = candidateSavings(candidate);
|
|
106
|
+
if (reclaimedTokens <= 0)
|
|
107
|
+
continue;
|
|
108
|
+
for (const itemKey of candidateReadItems)
|
|
109
|
+
claimedReadItems.add(itemKey);
|
|
110
|
+
if (observedRollouts >= CONTEXT_GC_POLICY.stageAProtectionRollouts)
|
|
111
|
+
eligible.push(candidate);
|
|
112
|
+
else {
|
|
113
|
+
protectedTokens += reclaimedTokens;
|
|
114
|
+
retryAfterRollouts = Math.min(retryAfterRollouts, CONTEXT_GC_POLICY.stageAProtectionRollouts - observedRollouts);
|
|
115
|
+
}
|
|
116
|
+
}
|
|
117
|
+
return { eligible, protectedTokens, retryAfterRollouts };
|
|
118
|
+
}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { type ContextGcPlannerInput, type ContextCandidate, type CandidateSavings, type ToolGroup } from './gc-contracts.js';
|
|
2
|
+
export declare function collectSubagentCandidates(input: ContextGcPlannerInput, groups: ReadonlyMap<string, ToolGroup>, existingTargets: ReadonlySet<string>, candidateSavings: CandidateSavings): {
|
|
3
|
+
eligible: ContextCandidate[];
|
|
4
|
+
protectedTokens: number;
|
|
5
|
+
retryAfterRollouts: number;
|
|
6
|
+
};
|
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
import { contextGcTargetKey } from '../../session/context-gc-checkpoint.js';
|
|
2
|
+
import { contextGcSubagentNeedsRetainedPriorFinal, contextGcSubagentOutputReplacement, contextGcSubagentPriorFinalIsRetained, contextGcSubagentSnapshotIsPreciselyCovered, contextGcSubagentSnapshotIsSuperseded, contextGcSubagentSnapshotTurnId, normalizeContextGcSubagentSnapshot } from '../../session/context-gc-subagent.js';
|
|
3
|
+
import { CONTEXT_GC_POLICY } from './gc-economics.js';
|
|
4
|
+
import { successfulRolloutsAfter, targetFor } from './gc-candidates.js';
|
|
5
|
+
export function collectSubagentCandidates(input, groups, existingTargets, candidateSavings) {
|
|
6
|
+
const eligible = [];
|
|
7
|
+
let protectedTokens = 0;
|
|
8
|
+
let retryAfterRollouts = Infinity;
|
|
9
|
+
const invocations = [...groups.values()]
|
|
10
|
+
.flatMap((group) => {
|
|
11
|
+
if (!isContextGcSubagentToolName(group.toolName) ||
|
|
12
|
+
!group.call ||
|
|
13
|
+
!group.result ||
|
|
14
|
+
group.failed ||
|
|
15
|
+
!group.completed ||
|
|
16
|
+
group.call.message.role !== 'tool_call' ||
|
|
17
|
+
group.result.message.role !== 'tool')
|
|
18
|
+
return [];
|
|
19
|
+
const snapshot = normalizeContextGcSubagentSnapshot(group.result.message.content, group.completed.payload, group.toolName);
|
|
20
|
+
const turnId = snapshot && contextGcSubagentSnapshotTurnId(snapshot);
|
|
21
|
+
return snapshot && turnId ? [{ group, snapshot, turnId }] : [];
|
|
22
|
+
})
|
|
23
|
+
.sort((left, right) => left.group.completed.sequence - right.group.completed.sequence);
|
|
24
|
+
for (const [index, source] of invocations.entries()) {
|
|
25
|
+
if (source.group.evidenceOnly)
|
|
26
|
+
continue;
|
|
27
|
+
if (source.group.toolName !== 'agent_wait' &&
|
|
28
|
+
source.group.toolName !== 'agent_message' &&
|
|
29
|
+
source.group.toolName !== 'agent_cancel')
|
|
30
|
+
continue;
|
|
31
|
+
const sourceTarget = targetFor(source.group.result.record, source.group.result.message);
|
|
32
|
+
if (!sourceTarget || existingTargets.has(contextGcTargetKey(sourceTarget)))
|
|
33
|
+
continue;
|
|
34
|
+
const needsRetainedPriorFinal = contextGcSubagentNeedsRetainedPriorFinal(source.snapshot);
|
|
35
|
+
const retainedPriorFinal = needsRetainedPriorFinal
|
|
36
|
+
? invocations
|
|
37
|
+
.slice(0, index)
|
|
38
|
+
.findLast((candidate) => contextGcSubagentPriorFinalIsRetained(source.snapshot, candidate.snapshot))
|
|
39
|
+
: undefined;
|
|
40
|
+
if (needsRetainedPriorFinal && retainedPriorFinal === undefined)
|
|
41
|
+
continue;
|
|
42
|
+
const terminal = invocations
|
|
43
|
+
.slice(index + 1)
|
|
44
|
+
.find((candidate) => candidate.snapshot.agentId === source.snapshot.agentId &&
|
|
45
|
+
candidate.turnId === source.turnId &&
|
|
46
|
+
(contextGcSubagentSnapshotIsSuperseded(source.snapshot, candidate.snapshot, retainedPriorFinal?.snapshot) ||
|
|
47
|
+
contextGcSubagentSnapshotIsPreciselyCovered(source.snapshot, candidate.snapshot)));
|
|
48
|
+
if (!terminal)
|
|
49
|
+
continue;
|
|
50
|
+
const sourceContent = source.group.result.message.content;
|
|
51
|
+
if (typeof sourceContent !== 'string')
|
|
52
|
+
continue;
|
|
53
|
+
const evidenceSequence = terminal.group.result.record.sequence;
|
|
54
|
+
const observedRollouts = successfulRolloutsAfter(input.records, evidenceSequence, input.modelId, input.contextWindowTokens);
|
|
55
|
+
const replacement = {
|
|
56
|
+
kind: 'SUBAGENT_OUTPUT',
|
|
57
|
+
toolName: source.group.toolName,
|
|
58
|
+
callId: source.group.callId,
|
|
59
|
+
target: sourceTarget,
|
|
60
|
+
replacementContent: contextGcSubagentOutputReplacement({
|
|
61
|
+
sourceContent,
|
|
62
|
+
source: source.snapshot,
|
|
63
|
+
terminal: terminal.snapshot
|
|
64
|
+
}),
|
|
65
|
+
terminalToolName: terminal.group.toolName,
|
|
66
|
+
terminalCallId: terminal.group.callId,
|
|
67
|
+
evidenceSequence,
|
|
68
|
+
...(retainedPriorFinal === undefined
|
|
69
|
+
? {}
|
|
70
|
+
: {
|
|
71
|
+
retainedPriorFinal: {
|
|
72
|
+
toolName: retainedPriorFinal.group.toolName,
|
|
73
|
+
callId: retainedPriorFinal.group.callId,
|
|
74
|
+
evidenceSequence: retainedPriorFinal.group.result.record.sequence
|
|
75
|
+
}
|
|
76
|
+
})
|
|
77
|
+
};
|
|
78
|
+
const candidate = {
|
|
79
|
+
replacements: [replacement],
|
|
80
|
+
observedRollouts,
|
|
81
|
+
evidenceSequence
|
|
82
|
+
};
|
|
83
|
+
const reclaimedTokens = candidateSavings(candidate);
|
|
84
|
+
if (reclaimedTokens <= 0)
|
|
85
|
+
continue;
|
|
86
|
+
if (observedRollouts >= CONTEXT_GC_POLICY.stageAProtectionRollouts)
|
|
87
|
+
eligible.push(candidate);
|
|
88
|
+
else {
|
|
89
|
+
protectedTokens += reclaimedTokens;
|
|
90
|
+
retryAfterRollouts = Math.min(retryAfterRollouts, CONTEXT_GC_POLICY.stageAProtectionRollouts - observedRollouts);
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
return { eligible, protectedTokens, retryAfterRollouts };
|
|
94
|
+
}
|
|
95
|
+
function isContextGcSubagentToolName(value) {
|
|
96
|
+
return (value === 'agent_start' ||
|
|
97
|
+
value === 'agent_wait' ||
|
|
98
|
+
value === 'agent_message' ||
|
|
99
|
+
value === 'agent_cancel');
|
|
100
|
+
}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { type ContextGcPlannerInput, type ContextCandidate, type CandidateSavings, type ToolGroup } from './gc-contracts.js';
|
|
2
|
+
export declare function collectWebCandidates(input: ContextGcPlannerInput, groups: ReadonlyMap<string, ToolGroup>, existingTargets: ReadonlySet<string>, candidateSavings: CandidateSavings): {
|
|
3
|
+
eligible: ContextCandidate[];
|
|
4
|
+
protectedTokens: number;
|
|
5
|
+
retryAfterRollouts: number;
|
|
6
|
+
};
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
import { contextGcTargetKey } from '../../session/context-gc-checkpoint.js';
|
|
2
|
+
import { contextGcWebOutputReplacement } from '../../session/context-gc-replacements.js';
|
|
3
|
+
import { CONTEXT_GC_POLICY } from './gc-economics.js';
|
|
4
|
+
import { successfulRolloutsAfter, targetFor, isRecord } from './gc-candidates.js';
|
|
5
|
+
export function collectWebCandidates(input, groups, existingTargets, candidateSavings) {
|
|
6
|
+
const eligible = [];
|
|
7
|
+
let protectedTokens = 0;
|
|
8
|
+
let retryAfterRollouts = Infinity;
|
|
9
|
+
for (const group of [...groups.values()].sort((left, right) => (left.result?.record.sequence ?? Number.MAX_SAFE_INTEGER) -
|
|
10
|
+
(right.result?.record.sequence ?? Number.MAX_SAFE_INTEGER))) {
|
|
11
|
+
if (!isContextGcWebToolName(group.toolName) ||
|
|
12
|
+
!group.call ||
|
|
13
|
+
!group.result ||
|
|
14
|
+
group.failed ||
|
|
15
|
+
!group.completed ||
|
|
16
|
+
group.call.message.role !== 'tool_call' ||
|
|
17
|
+
group.result.message.role !== 'tool' ||
|
|
18
|
+
typeof group.result.message.content !== 'string' ||
|
|
19
|
+
!isRecord(group.completed.payload) ||
|
|
20
|
+
group.completed.payload.type !== 'tool.completed' ||
|
|
21
|
+
group.completed.payload.callId !== group.callId ||
|
|
22
|
+
group.completed.payload.toolName !== group.toolName ||
|
|
23
|
+
typeof group.completed.payload.truncated !== 'boolean')
|
|
24
|
+
continue;
|
|
25
|
+
const target = targetFor(group.result.record, group.result.message);
|
|
26
|
+
if (!target || existingTargets.has(contextGcTargetKey(target)))
|
|
27
|
+
continue;
|
|
28
|
+
const evidenceSequence = group.result.record.sequence;
|
|
29
|
+
const observedRollouts = successfulRolloutsAfter(input.records, evidenceSequence, input.modelId, input.contextWindowTokens);
|
|
30
|
+
const candidate = {
|
|
31
|
+
replacements: [
|
|
32
|
+
{
|
|
33
|
+
kind: 'WEB_OUTPUT',
|
|
34
|
+
toolName: group.toolName,
|
|
35
|
+
callId: group.callId,
|
|
36
|
+
target,
|
|
37
|
+
replacementContent: contextGcWebOutputReplacement(group.toolName, group.result.message.content, group.completed.payload.truncated),
|
|
38
|
+
evidenceSequence
|
|
39
|
+
}
|
|
40
|
+
],
|
|
41
|
+
observedRollouts,
|
|
42
|
+
evidenceSequence
|
|
43
|
+
};
|
|
44
|
+
const reclaimedTokens = candidateSavings(candidate);
|
|
45
|
+
if (reclaimedTokens <= 0)
|
|
46
|
+
continue;
|
|
47
|
+
if (observedRollouts >= CONTEXT_GC_POLICY.largeExecProtectionRollouts)
|
|
48
|
+
eligible.push(candidate);
|
|
49
|
+
else {
|
|
50
|
+
protectedTokens += reclaimedTokens;
|
|
51
|
+
retryAfterRollouts = Math.min(retryAfterRollouts, CONTEXT_GC_POLICY.largeExecProtectionRollouts - observedRollouts);
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
return { eligible, protectedTokens, retryAfterRollouts };
|
|
55
|
+
}
|
|
56
|
+
function isContextGcWebToolName(value) {
|
|
57
|
+
return value === 'web_search' || value === 'web_fetch';
|
|
58
|
+
}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import type { SessionModelMessage as ModelMessage } from '../../session/model-request.js';
|
|
2
|
+
import { type ContextGcTarget } from '../../session/context-gc-checkpoint.js';
|
|
3
|
+
import type { SessionRecord } from '../../session/record-contract.js';
|
|
4
|
+
import { type ToolGroup } from './gc-contracts.js';
|
|
5
|
+
export declare function buildToolGroups(records: readonly SessionRecord[], messages: readonly ModelMessage[], sources: readonly SessionRecord[]): Map<string, ToolGroup>;
|
|
6
|
+
export declare function successfulRolloutsAfter(records: readonly SessionRecord[], evidenceSequence: number, modelId: string, contextWindowTokens: number): number;
|
|
7
|
+
export declare function countSuccessfulNormalRollouts(records: readonly SessionRecord[], modelId: string, contextWindowTokens: number, initial?: {
|
|
8
|
+
modelId: string;
|
|
9
|
+
contextWindowTokens: number;
|
|
10
|
+
}): number;
|
|
11
|
+
export declare function targetFor(record: SessionRecord, message: ModelMessage): ContextGcTarget | undefined;
|
|
12
|
+
export declare function isRecord(value: unknown): value is Record<string, unknown>;
|
|
@@ -0,0 +1,192 @@
|
|
|
1
|
+
import { codeCallEvidence, codePartialPatchCallEvidence, codeObservationEvidence } from '../../session/context-gc-observations.js';
|
|
2
|
+
import { providerToolCallId, providerToolName } from './projection.js';
|
|
3
|
+
export function buildToolGroups(records, messages, sources) {
|
|
4
|
+
const groups = new Map();
|
|
5
|
+
const group = (callId, toolName = '') => {
|
|
6
|
+
const current = groups.get(callId);
|
|
7
|
+
if (current) {
|
|
8
|
+
if (!current.toolName && toolName)
|
|
9
|
+
current.toolName = toolName;
|
|
10
|
+
return current;
|
|
11
|
+
}
|
|
12
|
+
const created = { callId, toolName, aliases: [] };
|
|
13
|
+
groups.set(callId, created);
|
|
14
|
+
return created;
|
|
15
|
+
};
|
|
16
|
+
for (const [index, message] of messages.entries()) {
|
|
17
|
+
const record = sources[index];
|
|
18
|
+
if (message.role === 'tool_call' && message.callId && message.name)
|
|
19
|
+
group(message.callId, message.name).call = { message, record };
|
|
20
|
+
else if (message.role === 'tool' && message.callId)
|
|
21
|
+
group(message.callId).result = { message, record };
|
|
22
|
+
else if (message.role === 'provider') {
|
|
23
|
+
const callId = providerToolCallId(message);
|
|
24
|
+
if (callId)
|
|
25
|
+
group(callId, providerToolName(message)).aliases.push({ message, record });
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
for (const record of records) {
|
|
29
|
+
if (!isRecord(record.payload))
|
|
30
|
+
continue;
|
|
31
|
+
const type = record.payload.type;
|
|
32
|
+
const callId = record.payload.callId;
|
|
33
|
+
const toolName = record.payload.toolName;
|
|
34
|
+
if (typeof callId !== 'string' || typeof toolName !== 'string')
|
|
35
|
+
continue;
|
|
36
|
+
const current = group(callId, toolName);
|
|
37
|
+
if (type === 'tool.completed')
|
|
38
|
+
current.completed = record;
|
|
39
|
+
else if (type === 'tool.failed')
|
|
40
|
+
current.failed = record;
|
|
41
|
+
}
|
|
42
|
+
for (const [index, message] of messages.entries()) {
|
|
43
|
+
if (!message.observations || message.role !== 'tool')
|
|
44
|
+
continue;
|
|
45
|
+
const record = sources[index];
|
|
46
|
+
for (const entry of message.calls ?? []) {
|
|
47
|
+
if (![
|
|
48
|
+
'apply_patch',
|
|
49
|
+
'exec',
|
|
50
|
+
'exec_wait',
|
|
51
|
+
'agent_start',
|
|
52
|
+
'agent_wait',
|
|
53
|
+
'agent_message',
|
|
54
|
+
'agent_cancel'
|
|
55
|
+
].includes(entry.toolName) ||
|
|
56
|
+
(entry.status === 'completed' &&
|
|
57
|
+
message.observations.some((value) => value.type === 'tool_result' && value.source.callId === entry.callId)))
|
|
58
|
+
continue;
|
|
59
|
+
const evidence = codeCallEvidence(records, record, entry) ??
|
|
60
|
+
codePartialPatchCallEvidence(records, record, entry);
|
|
61
|
+
if (!evidence)
|
|
62
|
+
continue;
|
|
63
|
+
groups.set(`execution:${evidence.callId}`, {
|
|
64
|
+
evidenceOnly: true,
|
|
65
|
+
callId: evidence.callId,
|
|
66
|
+
toolName: entry.toolName,
|
|
67
|
+
aliases: [],
|
|
68
|
+
...('completed' in evidence
|
|
69
|
+
? { completed: evidence.completed }
|
|
70
|
+
: { failed: evidence.failed }),
|
|
71
|
+
call: {
|
|
72
|
+
record: evidence.call,
|
|
73
|
+
message: {
|
|
74
|
+
role: 'tool_call',
|
|
75
|
+
callId: evidence.callId,
|
|
76
|
+
name: entry.toolName,
|
|
77
|
+
content: '',
|
|
78
|
+
arguments: entry.input
|
|
79
|
+
}
|
|
80
|
+
},
|
|
81
|
+
result: {
|
|
82
|
+
record,
|
|
83
|
+
message: {
|
|
84
|
+
role: 'tool',
|
|
85
|
+
callId: message.callId,
|
|
86
|
+
content: evidence.result.payload.content
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
});
|
|
90
|
+
}
|
|
91
|
+
for (const observation of message.observations) {
|
|
92
|
+
if (observation.type !== 'tool_result')
|
|
93
|
+
continue;
|
|
94
|
+
const evidence = codeObservationEvidence(records, record, observation);
|
|
95
|
+
if (!evidence)
|
|
96
|
+
continue;
|
|
97
|
+
groups.set(`${evidence.callId}:${observation.id}`, {
|
|
98
|
+
callId: evidence.callId,
|
|
99
|
+
toolName: observation.source.toolName,
|
|
100
|
+
aliases: [],
|
|
101
|
+
completed: evidence.completed,
|
|
102
|
+
call: {
|
|
103
|
+
record: evidence.call,
|
|
104
|
+
message: {
|
|
105
|
+
role: 'tool_call',
|
|
106
|
+
callId: evidence.callId,
|
|
107
|
+
name: observation.source.toolName,
|
|
108
|
+
content: '',
|
|
109
|
+
arguments: observation.source.input
|
|
110
|
+
}
|
|
111
|
+
},
|
|
112
|
+
result: {
|
|
113
|
+
record,
|
|
114
|
+
message: {
|
|
115
|
+
role: 'tool',
|
|
116
|
+
callId: message.callId,
|
|
117
|
+
content: observation.result.content,
|
|
118
|
+
observationId: observation.id
|
|
119
|
+
}
|
|
120
|
+
}
|
|
121
|
+
});
|
|
122
|
+
}
|
|
123
|
+
}
|
|
124
|
+
return groups;
|
|
125
|
+
}
|
|
126
|
+
export function successfulRolloutsAfter(records, evidenceSequence, modelId, contextWindowTokens) {
|
|
127
|
+
return countSuccessfulNormalRollouts(records.filter((record) => record.sequence > evidenceSequence), modelId, contextWindowTokens, modelConfigurationAt(records, evidenceSequence, modelId, contextWindowTokens));
|
|
128
|
+
}
|
|
129
|
+
export function countSuccessfulNormalRollouts(records, modelId, contextWindowTokens, initial = {
|
|
130
|
+
modelId,
|
|
131
|
+
contextWindowTokens
|
|
132
|
+
}) {
|
|
133
|
+
let activeModelId = initial.modelId;
|
|
134
|
+
let activeContextWindowTokens = initial.contextWindowTokens;
|
|
135
|
+
let count = 0;
|
|
136
|
+
for (const record of records) {
|
|
137
|
+
if (record.type === 'execution.header' && isRecord(record.payload)) {
|
|
138
|
+
activeModelId =
|
|
139
|
+
typeof record.payload.modelId === 'string' ? record.payload.modelId : activeModelId;
|
|
140
|
+
activeContextWindowTokens =
|
|
141
|
+
typeof record.payload.contextWindowTokens === 'number' &&
|
|
142
|
+
Number.isSafeInteger(record.payload.contextWindowTokens) &&
|
|
143
|
+
record.payload.contextWindowTokens > 0
|
|
144
|
+
? record.payload.contextWindowTokens
|
|
145
|
+
: activeContextWindowTokens;
|
|
146
|
+
continue;
|
|
147
|
+
}
|
|
148
|
+
if (activeModelId === modelId &&
|
|
149
|
+
activeContextWindowTokens === contextWindowTokens &&
|
|
150
|
+
record.type === 'model.attempt' &&
|
|
151
|
+
isRecord(record.payload) &&
|
|
152
|
+
record.payload.purpose === 'EXECUTION' &&
|
|
153
|
+
record.payload.state === 'SUCCEEDED')
|
|
154
|
+
count++;
|
|
155
|
+
}
|
|
156
|
+
return count;
|
|
157
|
+
}
|
|
158
|
+
function modelConfigurationAt(records, boundarySequence, fallbackModelId, fallbackContextWindowTokens) {
|
|
159
|
+
let modelId = fallbackModelId;
|
|
160
|
+
let contextWindowTokens = fallbackContextWindowTokens;
|
|
161
|
+
for (const record of records) {
|
|
162
|
+
if (record.sequence > boundarySequence)
|
|
163
|
+
break;
|
|
164
|
+
if (record.type !== 'execution.header' || !isRecord(record.payload))
|
|
165
|
+
continue;
|
|
166
|
+
if (typeof record.payload.modelId === 'string')
|
|
167
|
+
modelId = record.payload.modelId;
|
|
168
|
+
if (typeof record.payload.contextWindowTokens === 'number' &&
|
|
169
|
+
Number.isSafeInteger(record.payload.contextWindowTokens) &&
|
|
170
|
+
record.payload.contextWindowTokens > 0)
|
|
171
|
+
contextWindowTokens = record.payload.contextWindowTokens;
|
|
172
|
+
}
|
|
173
|
+
return { modelId, contextWindowTokens };
|
|
174
|
+
}
|
|
175
|
+
export function targetFor(record, message) {
|
|
176
|
+
if (record.type !== 'model.context' ||
|
|
177
|
+
(message.role !== 'tool_call' && message.role !== 'tool' && message.role !== 'provider'))
|
|
178
|
+
return undefined;
|
|
179
|
+
const callId = message.role === 'provider' ? providerToolCallId(message) : message.callId;
|
|
180
|
+
const toolName = message.role === 'provider' ? providerToolName(message) : message.name;
|
|
181
|
+
return {
|
|
182
|
+
sequence: record.sequence,
|
|
183
|
+
recordId: record.recordId,
|
|
184
|
+
role: message.role,
|
|
185
|
+
...(callId === undefined ? {} : { callId }),
|
|
186
|
+
...(toolName === undefined ? {} : { toolName }),
|
|
187
|
+
...(message.observationId ? { observationId: message.observationId } : {})
|
|
188
|
+
};
|
|
189
|
+
}
|
|
190
|
+
export function isRecord(value) {
|
|
191
|
+
return value !== null && typeof value === 'object' && !Array.isArray(value);
|
|
192
|
+
}
|