attocode 0.2.2 → 0.2.4
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/CHANGELOG.md +169 -3
- package/README.md +65 -5
- package/dist/src/adapters.d.ts.map +1 -1
- package/dist/src/adapters.js +15 -11
- package/dist/src/adapters.js.map +1 -1
- package/dist/src/agent.d.ts +44 -98
- package/dist/src/agent.d.ts.map +1 -1
- package/dist/src/agent.js +716 -2648
- package/dist/src/agent.js.map +1 -1
- package/dist/src/cli.d.ts.map +1 -1
- package/dist/src/cli.js +25 -3
- package/dist/src/cli.js.map +1 -1
- package/dist/src/commands/handler.d.ts.map +1 -1
- package/dist/src/commands/handler.js +11 -3
- package/dist/src/commands/handler.js.map +1 -1
- package/dist/src/commands/init-commands.d.ts.map +1 -1
- package/dist/src/commands/init-commands.js +16 -1
- package/dist/src/commands/init-commands.js.map +1 -1
- package/dist/src/commands/init.d.ts.map +1 -1
- package/dist/src/commands/init.js +31 -0
- package/dist/src/commands/init.js.map +1 -1
- package/dist/src/config/base-types.d.ts +45 -0
- package/dist/src/config/base-types.d.ts.map +1 -0
- package/dist/src/config/base-types.js +9 -0
- package/dist/src/config/base-types.js.map +1 -0
- package/dist/src/config/config-manager.d.ts +35 -0
- package/dist/src/config/config-manager.d.ts.map +1 -0
- package/dist/src/config/config-manager.js +108 -0
- package/dist/src/config/config-manager.js.map +1 -0
- package/dist/src/config/index.d.ts +4 -0
- package/dist/src/config/index.d.ts.map +1 -0
- package/dist/src/config/index.js +3 -0
- package/dist/src/config/index.js.map +1 -0
- package/dist/src/config/schema.d.ts +1546 -0
- package/dist/src/config/schema.d.ts.map +1 -0
- package/dist/src/config/schema.js +268 -0
- package/dist/src/config/schema.js.map +1 -0
- package/dist/src/config.d.ts +4 -1
- package/dist/src/config.d.ts.map +1 -1
- package/dist/src/config.js +8 -12
- package/dist/src/config.js.map +1 -1
- package/dist/src/core/agent-state-machine.d.ts +131 -0
- package/dist/src/core/agent-state-machine.d.ts.map +1 -0
- package/dist/src/core/agent-state-machine.js +302 -0
- package/dist/src/core/agent-state-machine.js.map +1 -0
- package/dist/src/core/base-manager.d.ts +79 -0
- package/dist/src/core/base-manager.d.ts.map +1 -0
- package/dist/src/core/base-manager.js +170 -0
- package/dist/src/core/base-manager.js.map +1 -0
- package/dist/src/core/completion-analyzer.d.ts +15 -0
- package/dist/src/core/completion-analyzer.d.ts.map +1 -0
- package/dist/src/core/completion-analyzer.js +53 -0
- package/dist/src/core/completion-analyzer.js.map +1 -0
- package/dist/src/core/execution-loop.d.ts +46 -0
- package/dist/src/core/execution-loop.d.ts.map +1 -0
- package/dist/src/core/execution-loop.js +1258 -0
- package/dist/src/core/execution-loop.js.map +1 -0
- package/dist/src/core/index.d.ts +7 -0
- package/dist/src/core/index.d.ts.map +1 -1
- package/dist/src/core/index.js +9 -0
- package/dist/src/core/index.js.map +1 -1
- package/dist/src/core/process-handlers.d.ts.map +1 -1
- package/dist/src/core/process-handlers.js +14 -0
- package/dist/src/core/process-handlers.js.map +1 -1
- package/dist/src/core/protocol/types.d.ts +4 -4
- package/dist/src/core/response-handler.d.ts +16 -0
- package/dist/src/core/response-handler.d.ts.map +1 -0
- package/dist/src/core/response-handler.js +234 -0
- package/dist/src/core/response-handler.js.map +1 -0
- package/dist/src/core/subagent-spawner.d.ts +43 -0
- package/dist/src/core/subagent-spawner.d.ts.map +1 -0
- package/dist/src/core/subagent-spawner.js +966 -0
- package/dist/src/core/subagent-spawner.js.map +1 -0
- package/dist/src/core/tool-executor.d.ts +59 -0
- package/dist/src/core/tool-executor.d.ts.map +1 -0
- package/dist/src/core/tool-executor.js +677 -0
- package/dist/src/core/tool-executor.js.map +1 -0
- package/dist/src/core/types.d.ts +133 -0
- package/dist/src/core/types.d.ts.map +1 -0
- package/dist/src/core/types.js +12 -0
- package/dist/src/core/types.js.map +1 -0
- package/dist/src/defaults.d.ts +8 -3
- package/dist/src/defaults.d.ts.map +1 -1
- package/dist/src/defaults.js +65 -3
- package/dist/src/defaults.js.map +1 -1
- package/dist/src/integrations/agent-registry.d.ts +11 -0
- package/dist/src/integrations/agent-registry.d.ts.map +1 -1
- package/dist/src/integrations/agent-registry.js.map +1 -1
- package/dist/src/integrations/auto-compaction.d.ts.map +1 -1
- package/dist/src/integrations/auto-compaction.js +8 -3
- package/dist/src/integrations/auto-compaction.js.map +1 -1
- package/dist/src/integrations/bash-policy.d.ts +33 -0
- package/dist/src/integrations/bash-policy.d.ts.map +1 -0
- package/dist/src/integrations/bash-policy.js +142 -0
- package/dist/src/integrations/bash-policy.js.map +1 -0
- package/dist/src/integrations/budget-pool.d.ts +7 -0
- package/dist/src/integrations/budget-pool.d.ts.map +1 -1
- package/dist/src/integrations/budget-pool.js +43 -0
- package/dist/src/integrations/budget-pool.js.map +1 -1
- package/dist/src/integrations/codebase-ast.d.ts +52 -0
- package/dist/src/integrations/codebase-ast.d.ts.map +1 -0
- package/dist/src/integrations/codebase-ast.js +457 -0
- package/dist/src/integrations/codebase-ast.js.map +1 -0
- package/dist/src/integrations/codebase-context.d.ts +23 -0
- package/dist/src/integrations/codebase-context.d.ts.map +1 -1
- package/dist/src/integrations/codebase-context.js +230 -17
- package/dist/src/integrations/codebase-context.js.map +1 -1
- package/dist/src/integrations/compaction.d.ts.map +1 -1
- package/dist/src/integrations/compaction.js +14 -6
- package/dist/src/integrations/compaction.js.map +1 -1
- package/dist/src/integrations/context-engineering.d.ts +8 -0
- package/dist/src/integrations/context-engineering.d.ts.map +1 -1
- package/dist/src/integrations/context-engineering.js +19 -0
- package/dist/src/integrations/context-engineering.js.map +1 -1
- package/dist/src/integrations/delegation-protocol.js +2 -2
- package/dist/src/integrations/delegation-protocol.js.map +1 -1
- package/dist/src/integrations/economics.d.ts +67 -1
- package/dist/src/integrations/economics.d.ts.map +1 -1
- package/dist/src/integrations/economics.js +328 -33
- package/dist/src/integrations/economics.js.map +1 -1
- package/dist/src/integrations/edit-validator.d.ts +30 -0
- package/dist/src/integrations/edit-validator.d.ts.map +1 -0
- package/dist/src/integrations/edit-validator.js +85 -0
- package/dist/src/integrations/edit-validator.js.map +1 -0
- package/dist/src/integrations/file-cache.d.ts +7 -0
- package/dist/src/integrations/file-cache.d.ts.map +1 -1
- package/dist/src/integrations/file-cache.js +54 -0
- package/dist/src/integrations/file-cache.js.map +1 -1
- package/dist/src/integrations/health-check.d.ts.map +1 -1
- package/dist/src/integrations/health-check.js +3 -2
- package/dist/src/integrations/health-check.js.map +1 -1
- package/dist/src/integrations/hierarchical-config.d.ts +3 -0
- package/dist/src/integrations/hierarchical-config.d.ts.map +1 -1
- package/dist/src/integrations/hierarchical-config.js +20 -0
- package/dist/src/integrations/hierarchical-config.js.map +1 -1
- package/dist/src/integrations/hooks.d.ts +2 -0
- package/dist/src/integrations/hooks.d.ts.map +1 -1
- package/dist/src/integrations/hooks.js +99 -15
- package/dist/src/integrations/hooks.js.map +1 -1
- package/dist/src/integrations/index.d.ts +10 -1
- package/dist/src/integrations/index.d.ts.map +1 -1
- package/dist/src/integrations/index.js +12 -2
- package/dist/src/integrations/index.js.map +1 -1
- package/dist/src/integrations/logger.d.ts +104 -0
- package/dist/src/integrations/logger.d.ts.map +1 -0
- package/dist/src/integrations/logger.js +219 -0
- package/dist/src/integrations/logger.js.map +1 -0
- package/dist/src/integrations/lsp.d.ts.map +1 -1
- package/dist/src/integrations/lsp.js +5 -4
- package/dist/src/integrations/lsp.js.map +1 -1
- package/dist/src/integrations/mcp-client.d.ts.map +1 -1
- package/dist/src/integrations/mcp-client.js +8 -7
- package/dist/src/integrations/mcp-client.js.map +1 -1
- package/dist/src/integrations/observability.d.ts.map +1 -1
- package/dist/src/integrations/observability.js +5 -4
- package/dist/src/integrations/observability.js.map +1 -1
- package/dist/src/integrations/openrouter-pricing.d.ts.map +1 -1
- package/dist/src/integrations/openrouter-pricing.js +4 -3
- package/dist/src/integrations/openrouter-pricing.js.map +1 -1
- package/dist/src/integrations/persistence.d.ts.map +1 -1
- package/dist/src/integrations/persistence.js +5 -4
- package/dist/src/integrations/persistence.js.map +1 -1
- package/dist/src/integrations/planning.d.ts.map +1 -1
- package/dist/src/integrations/planning.js +5 -4
- package/dist/src/integrations/planning.js.map +1 -1
- package/dist/src/integrations/policy-engine.d.ts +55 -0
- package/dist/src/integrations/policy-engine.d.ts.map +1 -0
- package/dist/src/integrations/policy-engine.js +247 -0
- package/dist/src/integrations/policy-engine.js.map +1 -0
- package/dist/src/integrations/retry.d.ts +1 -0
- package/dist/src/integrations/retry.d.ts.map +1 -1
- package/dist/src/integrations/retry.js.map +1 -1
- package/dist/src/integrations/routing.d.ts.map +1 -1
- package/dist/src/integrations/routing.js +2 -1
- package/dist/src/integrations/routing.js.map +1 -1
- package/dist/src/integrations/safety.d.ts +5 -4
- package/dist/src/integrations/safety.d.ts.map +1 -1
- package/dist/src/integrations/safety.js +45 -20
- package/dist/src/integrations/safety.js.map +1 -1
- package/dist/src/integrations/sandbox/basic.d.ts +7 -0
- package/dist/src/integrations/sandbox/basic.d.ts.map +1 -1
- package/dist/src/integrations/sandbox/basic.js +27 -2
- package/dist/src/integrations/sandbox/basic.js.map +1 -1
- package/dist/src/integrations/sandbox/docker.d.ts.map +1 -1
- package/dist/src/integrations/sandbox/docker.js +2 -1
- package/dist/src/integrations/sandbox/docker.js.map +1 -1
- package/dist/src/integrations/sandbox/index.d.ts +6 -0
- package/dist/src/integrations/sandbox/index.d.ts.map +1 -1
- package/dist/src/integrations/sandbox/index.js +8 -4
- package/dist/src/integrations/sandbox/index.js.map +1 -1
- package/dist/src/integrations/sandbox/landlock.d.ts.map +1 -1
- package/dist/src/integrations/sandbox/landlock.js +3 -0
- package/dist/src/integrations/sandbox/landlock.js.map +1 -1
- package/dist/src/integrations/self-improvement.d.ts.map +1 -1
- package/dist/src/integrations/self-improvement.js +12 -0
- package/dist/src/integrations/self-improvement.js.map +1 -1
- package/dist/src/integrations/session-store.d.ts +1 -0
- package/dist/src/integrations/session-store.d.ts.map +1 -1
- package/dist/src/integrations/session-store.js +1 -0
- package/dist/src/integrations/session-store.js.map +1 -1
- package/dist/src/integrations/shared-blackboard.d.ts +3 -0
- package/dist/src/integrations/shared-blackboard.d.ts.map +1 -1
- package/dist/src/integrations/shared-blackboard.js +47 -0
- package/dist/src/integrations/shared-blackboard.js.map +1 -1
- package/dist/src/integrations/smart-decomposer.d.ts +45 -1
- package/dist/src/integrations/smart-decomposer.d.ts.map +1 -1
- package/dist/src/integrations/smart-decomposer.js +486 -30
- package/dist/src/integrations/smart-decomposer.js.map +1 -1
- package/dist/src/integrations/sqlite-store.d.ts +2 -0
- package/dist/src/integrations/sqlite-store.d.ts.map +1 -1
- package/dist/src/integrations/sqlite-store.js +18 -6
- package/dist/src/integrations/sqlite-store.js.map +1 -1
- package/dist/src/integrations/swarm/failure-classifier.d.ts +11 -0
- package/dist/src/integrations/swarm/failure-classifier.d.ts.map +1 -0
- package/dist/src/integrations/swarm/failure-classifier.js +95 -0
- package/dist/src/integrations/swarm/failure-classifier.js.map +1 -0
- package/dist/src/integrations/swarm/index.d.ts +1 -1
- package/dist/src/integrations/swarm/index.d.ts.map +1 -1
- package/dist/src/integrations/swarm/index.js.map +1 -1
- package/dist/src/integrations/swarm/model-selector.d.ts +15 -0
- package/dist/src/integrations/swarm/model-selector.d.ts.map +1 -1
- package/dist/src/integrations/swarm/model-selector.js +100 -20
- package/dist/src/integrations/swarm/model-selector.js.map +1 -1
- package/dist/src/integrations/swarm/swarm-budget.d.ts +4 -0
- package/dist/src/integrations/swarm/swarm-budget.d.ts.map +1 -1
- package/dist/src/integrations/swarm/swarm-budget.js +6 -0
- package/dist/src/integrations/swarm/swarm-budget.js.map +1 -1
- package/dist/src/integrations/swarm/swarm-config-loader.d.ts +8 -0
- package/dist/src/integrations/swarm/swarm-config-loader.d.ts.map +1 -1
- package/dist/src/integrations/swarm/swarm-config-loader.js +249 -7
- package/dist/src/integrations/swarm/swarm-config-loader.js.map +1 -1
- package/dist/src/integrations/swarm/swarm-event-bridge.d.ts +86 -1
- package/dist/src/integrations/swarm/swarm-event-bridge.d.ts.map +1 -1
- package/dist/src/integrations/swarm/swarm-event-bridge.js +207 -23
- package/dist/src/integrations/swarm/swarm-event-bridge.js.map +1 -1
- package/dist/src/integrations/swarm/swarm-events.d.ts +58 -1
- package/dist/src/integrations/swarm/swarm-events.d.ts.map +1 -1
- package/dist/src/integrations/swarm/swarm-events.js +22 -5
- package/dist/src/integrations/swarm/swarm-events.js.map +1 -1
- package/dist/src/integrations/swarm/swarm-orchestrator.d.ts +147 -8
- package/dist/src/integrations/swarm/swarm-orchestrator.d.ts.map +1 -1
- package/dist/src/integrations/swarm/swarm-orchestrator.js +2179 -132
- package/dist/src/integrations/swarm/swarm-orchestrator.js.map +1 -1
- package/dist/src/integrations/swarm/swarm-quality-gate.d.ts +83 -2
- package/dist/src/integrations/swarm/swarm-quality-gate.d.ts.map +1 -1
- package/dist/src/integrations/swarm/swarm-quality-gate.js +278 -19
- package/dist/src/integrations/swarm/swarm-quality-gate.js.map +1 -1
- package/dist/src/integrations/swarm/swarm-state-store.d.ts +4 -1
- package/dist/src/integrations/swarm/swarm-state-store.d.ts.map +1 -1
- package/dist/src/integrations/swarm/swarm-state-store.js +8 -1
- package/dist/src/integrations/swarm/swarm-state-store.js.map +1 -1
- package/dist/src/integrations/swarm/task-queue.d.ts +54 -0
- package/dist/src/integrations/swarm/task-queue.d.ts.map +1 -1
- package/dist/src/integrations/swarm/task-queue.js +310 -12
- package/dist/src/integrations/swarm/task-queue.js.map +1 -1
- package/dist/src/integrations/swarm/types.d.ts +251 -13
- package/dist/src/integrations/swarm/types.d.ts.map +1 -1
- package/dist/src/integrations/swarm/types.js +70 -8
- package/dist/src/integrations/swarm/types.js.map +1 -1
- package/dist/src/integrations/swarm/worker-pool.d.ts +21 -4
- package/dist/src/integrations/swarm/worker-pool.d.ts.map +1 -1
- package/dist/src/integrations/swarm/worker-pool.js +223 -44
- package/dist/src/integrations/swarm/worker-pool.js.map +1 -1
- package/dist/src/integrations/task-manager.d.ts +33 -1
- package/dist/src/integrations/task-manager.d.ts.map +1 -1
- package/dist/src/integrations/task-manager.js +78 -4
- package/dist/src/integrations/task-manager.js.map +1 -1
- package/dist/src/integrations/tool-recommendation.d.ts +7 -4
- package/dist/src/integrations/tool-recommendation.d.ts.map +1 -1
- package/dist/src/integrations/tool-recommendation.js +58 -5
- package/dist/src/integrations/tool-recommendation.js.map +1 -1
- package/dist/src/integrations/work-log.js +4 -4
- package/dist/src/integrations/work-log.js.map +1 -1
- package/dist/src/main.js +106 -30
- package/dist/src/main.js.map +1 -1
- package/dist/src/modes/repl.d.ts.map +1 -1
- package/dist/src/modes/repl.js +50 -12
- package/dist/src/modes/repl.js.map +1 -1
- package/dist/src/modes/tui.d.ts.map +1 -1
- package/dist/src/modes/tui.js +41 -6
- package/dist/src/modes/tui.js.map +1 -1
- package/dist/src/modes.d.ts.map +1 -1
- package/dist/src/modes.js +4 -27
- package/dist/src/modes.js.map +1 -1
- package/dist/src/observability/tracer.d.ts.map +1 -1
- package/dist/src/observability/tracer.js +2 -1
- package/dist/src/observability/tracer.js.map +1 -1
- package/dist/src/persistence/schema.d.ts.map +1 -1
- package/dist/src/persistence/schema.js +11 -0
- package/dist/src/persistence/schema.js.map +1 -1
- package/dist/src/providers/adapters/anthropic.d.ts.map +1 -1
- package/dist/src/providers/adapters/anthropic.js +3 -2
- package/dist/src/providers/adapters/anthropic.js.map +1 -1
- package/dist/src/providers/adapters/openai.d.ts.map +1 -1
- package/dist/src/providers/adapters/openai.js +3 -2
- package/dist/src/providers/adapters/openai.js.map +1 -1
- package/dist/src/providers/adapters/openrouter.d.ts.map +1 -1
- package/dist/src/providers/adapters/openrouter.js +11 -11
- package/dist/src/providers/adapters/openrouter.js.map +1 -1
- package/dist/src/providers/circuit-breaker.d.ts +1 -0
- package/dist/src/providers/circuit-breaker.d.ts.map +1 -1
- package/dist/src/providers/circuit-breaker.js.map +1 -1
- package/dist/src/providers/provider.d.ts.map +1 -1
- package/dist/src/providers/provider.js +2 -1
- package/dist/src/providers/provider.js.map +1 -1
- package/dist/src/providers/resilient-provider.d.ts.map +1 -1
- package/dist/src/providers/resilient-provider.js +2 -1
- package/dist/src/providers/resilient-provider.js.map +1 -1
- package/dist/src/session-picker.d.ts.map +1 -1
- package/dist/src/session-picker.js +40 -5
- package/dist/src/session-picker.js.map +1 -1
- package/dist/src/shared/budget-tracker.d.ts +65 -0
- package/dist/src/shared/budget-tracker.d.ts.map +1 -0
- package/dist/src/shared/budget-tracker.js +128 -0
- package/dist/src/shared/budget-tracker.js.map +1 -0
- package/dist/src/shared/context-engine.d.ts +64 -0
- package/dist/src/shared/context-engine.d.ts.map +1 -0
- package/dist/src/shared/context-engine.js +117 -0
- package/dist/src/shared/context-engine.js.map +1 -0
- package/dist/src/shared/index.d.ts +12 -0
- package/dist/src/shared/index.d.ts.map +1 -0
- package/dist/src/shared/index.js +12 -0
- package/dist/src/shared/index.js.map +1 -0
- package/dist/src/shared/persistence.d.ts +57 -0
- package/dist/src/shared/persistence.d.ts.map +1 -0
- package/dist/src/shared/persistence.js +168 -0
- package/dist/src/shared/persistence.js.map +1 -0
- package/dist/src/shared/shared-context-state.d.ts +89 -0
- package/dist/src/shared/shared-context-state.d.ts.map +1 -0
- package/dist/src/shared/shared-context-state.js +175 -0
- package/dist/src/shared/shared-context-state.js.map +1 -0
- package/dist/src/shared/shared-economics-state.d.ts +61 -0
- package/dist/src/shared/shared-economics-state.d.ts.map +1 -0
- package/dist/src/shared/shared-economics-state.js +100 -0
- package/dist/src/shared/shared-economics-state.js.map +1 -0
- package/dist/src/tools/agent.d.ts.map +1 -1
- package/dist/src/tools/agent.js +11 -2
- package/dist/src/tools/agent.js.map +1 -1
- package/dist/src/tools/bash.d.ts +1 -1
- package/dist/src/tools/bash.d.ts.map +1 -1
- package/dist/src/tools/bash.js +2 -1
- package/dist/src/tools/bash.js.map +1 -1
- package/dist/src/tools/coercion.d.ts +6 -0
- package/dist/src/tools/coercion.d.ts.map +1 -1
- package/dist/src/tools/coercion.js +13 -0
- package/dist/src/tools/coercion.js.map +1 -1
- package/dist/src/tools/file.d.ts +5 -5
- package/dist/src/tools/file.js +2 -2
- package/dist/src/tools/file.js.map +1 -1
- package/dist/src/tools/permission.d.ts.map +1 -1
- package/dist/src/tools/permission.js +10 -116
- package/dist/src/tools/permission.js.map +1 -1
- package/dist/src/tools/types.d.ts +1 -0
- package/dist/src/tools/types.d.ts.map +1 -1
- package/dist/src/tools/types.js.map +1 -1
- package/dist/src/tracing/trace-collector.d.ts +292 -0
- package/dist/src/tracing/trace-collector.d.ts.map +1 -1
- package/dist/src/tracing/trace-collector.js +249 -5
- package/dist/src/tracing/trace-collector.js.map +1 -1
- package/dist/src/tracing/types.d.ts +200 -1
- package/dist/src/tracing/types.d.ts.map +1 -1
- package/dist/src/tracing/types.js.map +1 -1
- package/dist/src/tricks/failure-evidence.d.ts.map +1 -1
- package/dist/src/tricks/failure-evidence.js +2 -1
- package/dist/src/tricks/failure-evidence.js.map +1 -1
- package/dist/src/tui/app.d.ts +13 -0
- package/dist/src/tui/app.d.ts.map +1 -1
- package/dist/src/tui/app.js +162 -19
- package/dist/src/tui/app.js.map +1 -1
- package/dist/src/tui/components/ErrorBoundary.d.ts.map +1 -1
- package/dist/src/tui/components/ErrorBoundary.js +3 -2
- package/dist/src/tui/components/ErrorBoundary.js.map +1 -1
- package/dist/src/tui/event-display.d.ts.map +1 -1
- package/dist/src/tui/event-display.js +36 -62
- package/dist/src/tui/event-display.js.map +1 -1
- package/dist/src/tui/index.d.ts +4 -0
- package/dist/src/tui/index.d.ts.map +1 -1
- package/dist/src/tui/index.js +17 -0
- package/dist/src/tui/index.js.map +1 -1
- package/dist/src/types.d.ts +214 -1
- package/dist/src/types.d.ts.map +1 -1
- package/package.json +18 -3
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"subagent-spawner.js","sourceRoot":"","sources":["../../../src/core/subagent-spawner.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Tool Executor Module (Phase 2.1)
|
|
3
|
+
*
|
|
4
|
+
* Extracted from ProductionAgent.executeToolCalls() and executeSingleToolCall().
|
|
5
|
+
* Handles batch grouping, parallel/sequential dispatch, plan mode interception,
|
|
6
|
+
* policy enforcement, safety validation, blackboard coordination, file cache,
|
|
7
|
+
* and actual tool execution.
|
|
8
|
+
*/
|
|
9
|
+
import type { Message, ToolCall, ToolResult } from '../types.js';
|
|
10
|
+
import type { AgentContext } from './types.js';
|
|
11
|
+
/**
|
|
12
|
+
* Tools that are safe to execute in parallel (read-only, no side effects).
|
|
13
|
+
* These tools don't modify state, so running them concurrently is safe.
|
|
14
|
+
*/
|
|
15
|
+
export declare const PARALLELIZABLE_TOOLS: Set<string>;
|
|
16
|
+
/**
|
|
17
|
+
* Tools that can run in parallel IF they target different files.
|
|
18
|
+
* write_file and edit_file on different paths are safe to parallelize.
|
|
19
|
+
*/
|
|
20
|
+
export declare const CONDITIONALLY_PARALLEL_TOOLS: Set<string>;
|
|
21
|
+
/**
|
|
22
|
+
* Extract the target file path from a tool call's arguments.
|
|
23
|
+
* Returns null if no file path can be determined.
|
|
24
|
+
*/
|
|
25
|
+
export declare function extractToolFilePath(toolCall: {
|
|
26
|
+
name: string;
|
|
27
|
+
[key: string]: unknown;
|
|
28
|
+
}): string | null;
|
|
29
|
+
/**
|
|
30
|
+
* Groups tool calls into batches for parallel/sequential execution.
|
|
31
|
+
*/
|
|
32
|
+
export declare function groupToolCallsIntoBatches<T extends {
|
|
33
|
+
name: string;
|
|
34
|
+
}>(toolCalls: T[], isParallelizable?: (tc: T) => boolean, isConditionallyParallel?: (tc: T) => boolean): T[][];
|
|
35
|
+
/**
|
|
36
|
+
* Execute tool calls with safety checks and execution policy enforcement.
|
|
37
|
+
* Parallelizable read-only tools are batched and executed concurrently.
|
|
38
|
+
*/
|
|
39
|
+
export declare function executeToolCalls(toolCalls: ToolCall[], ctx: AgentContext): Promise<ToolResult[]>;
|
|
40
|
+
/**
|
|
41
|
+
* Execute a single tool call with all safety checks, tracing, and error handling.
|
|
42
|
+
*/
|
|
43
|
+
export declare function executeSingleToolCall(toolCall: ToolCall, ctx: AgentContext): Promise<ToolResult>;
|
|
44
|
+
/**
|
|
45
|
+
* Create a brief summary of a tool result for insight display.
|
|
46
|
+
*/
|
|
47
|
+
export declare function summarizeToolResult(toolName: string, result: unknown): string;
|
|
48
|
+
/**
|
|
49
|
+
* Format tool arguments for plan display.
|
|
50
|
+
*/
|
|
51
|
+
export declare function formatToolArgsForPlan(toolName: string, args: Record<string, unknown>): string;
|
|
52
|
+
/**
|
|
53
|
+
* Extract contextual reasoning for a proposed change in plan mode.
|
|
54
|
+
*/
|
|
55
|
+
export declare function extractChangeReasoning(toolCall: {
|
|
56
|
+
name: string;
|
|
57
|
+
arguments: unknown;
|
|
58
|
+
}, messages: Message[]): string;
|
|
59
|
+
//# sourceMappingURL=tool-executor.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tool-executor.d.ts","sourceRoot":"","sources":["../../../src/core/tool-executor.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EACV,OAAO,EACP,QAAQ,EACR,UAAU,EACX,MAAM,aAAa,CAAC;AAErB,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAQ/C;;;GAGG;AACH,eAAO,MAAM,oBAAoB,aAI/B,CAAC;AAEH;;;GAGG;AACH,eAAO,MAAM,4BAA4B,aAEvC,CAAC;AAEH;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;CAAE,GAAG,MAAM,GAAG,IAAI,CAkBrG;AAqBD;;GAEG;AACH,wBAAgB,yBAAyB,CAAC,CAAC,SAAS;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,EAClE,SAAS,EAAE,CAAC,EAAE,EACd,gBAAgB,GAAE,CAAC,EAAE,EAAE,CAAC,KAAK,OAAmD,EAChF,uBAAuB,GAAE,CAAC,EAAE,EAAE,CAAC,KAAK,OAA2D,GAC9F,CAAC,EAAE,EAAE,CAiCP;AAID;;;GAGG;AACH,wBAAsB,gBAAgB,CACpC,SAAS,EAAE,QAAQ,EAAE,EACrB,GAAG,EAAE,YAAY,GAChB,OAAO,CAAC,UAAU,EAAE,CAAC,CA+GvB;AAED;;GAEG;AACH,wBAAsB,qBAAqB,CACzC,QAAQ,EAAE,QAAQ,EAClB,GAAG,EAAE,YAAY,GAChB,OAAO,CAAC,UAAU,CAAC,CAwZrB;AAkBD;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,GAAG,MAAM,CAkC7E;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAwB7F;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CACpC,QAAQ,EAAE;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,OAAO,CAAA;CAAE,EAC9C,QAAQ,EAAE,OAAO,EAAE,GAClB,MAAM,CA4CR"}
|