@roackb2/heddle 1.4.0 → 1.5.0
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/README.md +10 -2
- package/dist/examples/conversation-engine.js +2 -2
- package/dist/examples/conversation-engine.js.map +1 -1
- package/dist/examples/cyberloop-observer.js +2 -2
- package/dist/examples/cyberloop-observer.js.map +1 -1
- package/dist/examples/heartbeat-scheduler.js +15 -11
- package/dist/examples/heartbeat-scheduler.js.map +1 -1
- package/dist/examples/heartbeat.js +5 -5
- package/dist/examples/heartbeat.js.map +1 -1
- package/dist/examples/host-events.js +4 -4
- package/dist/examples/host-events.js.map +1 -1
- package/dist/examples/programmatic-loop.js +5 -6
- package/dist/examples/programmatic-loop.js.map +1 -1
- package/dist/examples/repo-investigator.js +2 -2
- package/dist/examples/repo-investigator.js.map +1 -1
- package/dist/src/cli/ask.d.ts +1 -1
- package/dist/src/cli/ask.d.ts.map +1 -1
- package/dist/src/cli/ask.js +6 -6
- package/dist/src/cli/ask.js.map +1 -1
- package/dist/src/cli/chat/adapters/slash-command-context.d.ts.map +1 -1
- package/dist/src/cli/chat/adapters/slash-command-context.js +5 -5
- package/dist/src/cli/chat/adapters/slash-command-context.js.map +1 -1
- package/dist/src/cli/chat/components/RuntimeHostInterstitial.d.ts +1 -1
- package/dist/src/cli/chat/components/RuntimeHostInterstitial.d.ts.map +1 -1
- package/dist/src/cli/chat/hooks/controllers/run/tui-direct-shell.d.ts +1 -2
- package/dist/src/cli/chat/hooks/controllers/run/tui-direct-shell.d.ts.map +1 -1
- package/dist/src/cli/chat/hooks/controllers/run/tui-direct-shell.js +6 -7
- package/dist/src/cli/chat/hooks/controllers/run/tui-direct-shell.js.map +1 -1
- package/dist/src/cli/chat/hooks/controllers/run/tui-run-loop-events.d.ts +1 -1
- package/dist/src/cli/chat/hooks/controllers/run/tui-run-loop-events.d.ts.map +1 -1
- package/dist/src/cli/chat/hooks/controllers/run/tui-tool-approval.d.ts.map +1 -1
- package/dist/src/cli/chat/hooks/controllers/run/tui-tool-approval.js +7 -8
- package/dist/src/cli/chat/hooks/controllers/run/tui-tool-approval.js.map +1 -1
- package/dist/src/cli/chat/hooks/controllers/useAgentRunController.d.ts.map +1 -1
- package/dist/src/cli/chat/hooks/controllers/useAgentRunController.js +9 -9
- package/dist/src/cli/chat/hooks/controllers/useAgentRunController.js.map +1 -1
- package/dist/src/cli/chat/hooks/useChatSessions.js +2 -2
- package/dist/src/cli/chat/hooks/useChatSessions.js.map +1 -1
- package/dist/src/cli/chat/hooks/useChatStatusSummary.d.ts +1 -1
- package/dist/src/cli/chat/hooks/useChatStatusSummary.d.ts.map +1 -1
- package/dist/src/cli/chat/hooks/useProjectApprovals.d.ts +2 -2
- package/dist/src/cli/chat/hooks/useProjectApprovals.d.ts.map +1 -1
- package/dist/src/cli/chat/hooks/useProjectApprovals.js +17 -8
- package/dist/src/cli/chat/hooks/useProjectApprovals.js.map +1 -1
- package/dist/src/cli/chat/utils/runtime.d.ts +2 -2
- package/dist/src/cli/chat/utils/runtime.d.ts.map +1 -1
- package/dist/src/cli/chat/utils/runtime.js +8 -8
- package/dist/src/cli/chat/utils/runtime.js.map +1 -1
- package/dist/src/cli/heartbeat/output.d.ts +2 -2
- package/dist/src/cli/heartbeat/output.d.ts.map +1 -1
- package/dist/src/cli/heartbeat/output.js +7 -5
- package/dist/src/cli/heartbeat/output.js.map +1 -1
- package/dist/src/cli/heartbeat/store.js +2 -2
- package/dist/src/cli/heartbeat/store.js.map +1 -1
- package/dist/src/cli/heartbeat/task-commands.js +42 -30
- package/dist/src/cli/heartbeat/task-commands.js.map +1 -1
- package/dist/src/cli/heartbeat/types.d.ts +1 -1
- package/dist/src/cli/heartbeat/types.d.ts.map +1 -1
- package/dist/src/cli/heartbeat/worker.d.ts.map +1 -1
- package/dist/src/cli/heartbeat/worker.js +26 -17
- package/dist/src/cli/heartbeat/worker.js.map +1 -1
- package/dist/src/cli/main.js +12 -12
- package/dist/src/cli/main.js.map +1 -1
- package/dist/src/cli/remote/control-plane-client.d.ts +10 -10
- package/dist/src/cli/remote/control-plane-client.d.ts.map +1 -1
- package/dist/src/core/agent/constants.d.ts +4 -0
- package/dist/src/core/agent/constants.d.ts.map +1 -0
- package/dist/src/core/agent/constants.js +4 -0
- package/dist/src/core/agent/constants.js.map +1 -0
- package/dist/src/core/agent/context/index.d.ts +3 -0
- package/dist/src/core/agent/context/index.d.ts.map +1 -0
- package/dist/src/core/agent/context/index.js +2 -0
- package/dist/src/core/agent/context/index.js.map +1 -0
- package/dist/src/core/agent/context/run-context-builder.d.ts +11 -0
- package/dist/src/core/agent/context/run-context-builder.d.ts.map +1 -0
- package/dist/src/core/agent/context/run-context-builder.js +76 -0
- package/dist/src/core/agent/context/run-context-builder.js.map +1 -0
- package/dist/src/core/agent/context/types.d.ts +11 -0
- package/dist/src/core/agent/context/types.d.ts.map +1 -0
- package/dist/src/core/agent/context/types.js +2 -0
- package/dist/src/core/agent/context/types.js.map +1 -0
- package/dist/src/core/agent/finish/index.d.ts +3 -0
- package/dist/src/core/agent/finish/index.d.ts.map +1 -0
- package/dist/src/core/agent/finish/index.js +2 -0
- package/dist/src/core/agent/finish/index.js.map +1 -0
- package/dist/src/core/agent/finish/run-finisher.d.ts +16 -0
- package/dist/src/core/agent/finish/run-finisher.d.ts.map +1 -0
- package/dist/src/core/agent/finish/run-finisher.js +67 -0
- package/dist/src/core/agent/finish/run-finisher.js.map +1 -0
- package/dist/src/core/agent/finish/types.d.ts +23 -0
- package/dist/src/core/agent/finish/types.d.ts.map +1 -0
- package/dist/src/core/agent/finish/types.js +2 -0
- package/dist/src/core/agent/finish/types.js.map +1 -0
- package/dist/src/core/agent/history/history-sanitizer.d.ts +15 -0
- package/dist/src/core/agent/history/history-sanitizer.d.ts.map +1 -0
- package/dist/src/core/agent/history/history-sanitizer.js +40 -0
- package/dist/src/core/agent/history/history-sanitizer.js.map +1 -0
- package/dist/src/core/agent/history/index.d.ts +3 -0
- package/dist/src/core/agent/history/index.d.ts.map +1 -0
- package/dist/src/core/agent/history/index.js +2 -0
- package/dist/src/core/agent/history/index.js.map +1 -0
- package/dist/src/core/agent/history/types.d.ts +16 -0
- package/dist/src/core/agent/history/types.d.ts.map +1 -0
- package/dist/src/core/agent/history/types.js +2 -0
- package/dist/src/core/agent/history/types.js.map +1 -0
- package/dist/src/core/agent/index.d.ts +3 -0
- package/dist/src/core/agent/index.d.ts.map +1 -0
- package/dist/src/core/agent/index.js +2 -0
- package/dist/src/core/agent/index.js.map +1 -0
- package/dist/src/core/agent/memory/index.d.ts +3 -0
- package/dist/src/core/agent/memory/index.d.ts.map +1 -0
- package/dist/src/core/agent/memory/index.js +2 -0
- package/dist/src/core/agent/memory/index.js.map +1 -0
- package/dist/src/core/agent/memory/memory-checkpoint-tracker.d.ts +16 -0
- package/dist/src/core/agent/memory/memory-checkpoint-tracker.d.ts.map +1 -0
- package/dist/src/core/agent/memory/memory-checkpoint-tracker.js +92 -0
- package/dist/src/core/agent/memory/memory-checkpoint-tracker.js.map +1 -0
- package/dist/src/core/agent/memory/types.d.ts +13 -0
- package/dist/src/core/agent/memory/types.d.ts.map +1 -0
- package/dist/src/core/agent/memory/types.js +2 -0
- package/dist/src/core/agent/memory/types.js.map +1 -0
- package/dist/src/core/agent/model/index.d.ts +3 -0
- package/dist/src/core/agent/model/index.d.ts.map +1 -0
- package/dist/src/core/agent/model/index.js +2 -0
- package/dist/src/core/agent/model/index.js.map +1 -0
- package/dist/src/core/agent/model/model-turn-service.d.ts +12 -0
- package/dist/src/core/agent/model/model-turn-service.d.ts.map +1 -0
- package/dist/src/core/agent/model/model-turn-service.js +103 -0
- package/dist/src/core/agent/model/model-turn-service.js.map +1 -0
- package/dist/src/core/agent/model/types.d.ts +12 -0
- package/dist/src/core/agent/model/types.d.ts.map +1 -0
- package/dist/src/core/agent/model/types.js +2 -0
- package/dist/src/core/agent/model/types.js.map +1 -0
- package/dist/src/core/agent/mutation/index.d.ts +3 -0
- package/dist/src/core/agent/mutation/index.d.ts.map +1 -0
- package/dist/src/core/agent/mutation/index.js +2 -0
- package/dist/src/core/agent/mutation/index.js.map +1 -0
- package/dist/src/core/agent/mutation/mutation-tracker.d.ts +20 -0
- package/dist/src/core/agent/mutation/mutation-tracker.d.ts.map +1 -0
- package/dist/src/core/agent/mutation/mutation-tracker.js +75 -0
- package/dist/src/core/agent/mutation/mutation-tracker.js.map +1 -0
- package/dist/src/core/agent/mutation/types.d.ts +13 -0
- package/dist/src/core/agent/mutation/types.d.ts.map +1 -0
- package/dist/src/core/agent/mutation/types.js +2 -0
- package/dist/src/core/agent/mutation/types.js.map +1 -0
- package/dist/src/core/agent/planning/index.d.ts +3 -0
- package/dist/src/core/agent/planning/index.d.ts.map +1 -0
- package/dist/src/core/agent/planning/index.js +2 -0
- package/dist/src/core/agent/planning/index.js.map +1 -0
- package/dist/src/core/agent/planning/plan-state-parser.d.ts +9 -0
- package/dist/src/core/agent/planning/plan-state-parser.d.ts.map +1 -0
- package/dist/src/core/agent/planning/plan-state-parser.js +35 -0
- package/dist/src/core/agent/planning/plan-state-parser.js.map +1 -0
- package/dist/src/core/agent/planning/types.d.ts +7 -0
- package/dist/src/core/agent/planning/types.d.ts.map +1 -0
- package/dist/src/core/agent/planning/types.js +2 -0
- package/dist/src/core/agent/planning/types.js.map +1 -0
- package/dist/src/core/agent/service.d.ts +10 -0
- package/dist/src/core/agent/service.d.ts.map +1 -0
- package/dist/src/core/agent/service.js +44 -0
- package/dist/src/core/agent/service.js.map +1 -0
- package/dist/src/core/agent/tools/index.d.ts +4 -0
- package/dist/src/core/agent/tools/index.d.ts.map +1 -0
- package/dist/src/core/agent/tools/index.js +3 -0
- package/dist/src/core/agent/tools/index.js.map +1 -0
- package/dist/src/core/agent/tools/tool-dispatcher.d.ts +47 -0
- package/dist/src/core/agent/tools/tool-dispatcher.d.ts.map +1 -0
- package/dist/src/core/agent/tools/tool-dispatcher.js +123 -0
- package/dist/src/core/agent/tools/tool-dispatcher.js.map +1 -0
- package/dist/src/core/agent/tools/tool-turn-service.d.ts +13 -0
- package/dist/src/core/agent/tools/tool-turn-service.d.ts.map +1 -0
- package/dist/src/core/agent/tools/tool-turn-service.js +129 -0
- package/dist/src/core/agent/tools/tool-turn-service.js.map +1 -0
- package/dist/src/core/agent/tools/types.d.ts +19 -0
- package/dist/src/core/agent/tools/types.d.ts.map +1 -0
- package/dist/src/core/agent/tools/types.js +2 -0
- package/dist/src/core/agent/tools/types.js.map +1 -0
- package/dist/src/core/agent/types.d.ts +83 -0
- package/dist/src/core/agent/types.d.ts.map +1 -0
- package/dist/src/core/agent/types.js +2 -0
- package/dist/src/core/agent/types.js.map +1 -0
- package/dist/src/core/agent/utils/abort.d.ts +2 -0
- package/dist/src/core/agent/utils/abort.d.ts.map +1 -0
- package/dist/src/core/agent/utils/abort.js +9 -0
- package/dist/src/core/agent/utils/abort.js.map +1 -0
- package/dist/src/core/agent/utils/index.d.ts +4 -0
- package/dist/src/core/agent/utils/index.d.ts.map +1 -0
- package/dist/src/core/agent/utils/index.js +4 -0
- package/dist/src/core/agent/utils/index.js.map +1 -0
- package/dist/src/core/agent/utils/serialization.d.ts +2 -0
- package/dist/src/core/agent/utils/serialization.d.ts.map +1 -0
- package/dist/src/core/agent/utils/serialization.js +11 -0
- package/dist/src/core/agent/utils/serialization.js.map +1 -0
- package/dist/src/core/agent/utils/tool-input.d.ts +3 -0
- package/dist/src/core/agent/utils/tool-input.d.ts.map +1 -0
- package/dist/src/core/agent/{util.js → utils/tool-input.js} +1 -28
- package/dist/src/core/agent/utils/tool-input.js.map +1 -0
- package/dist/src/core/approvals/index.d.ts +5 -0
- package/dist/src/core/approvals/index.d.ts.map +1 -0
- package/dist/src/core/approvals/index.js +4 -0
- package/dist/src/core/approvals/index.js.map +1 -0
- package/dist/src/core/approvals/pending-approval.d.ts +17 -0
- package/dist/src/core/approvals/pending-approval.d.ts.map +1 -0
- package/dist/src/core/approvals/pending-approval.js +27 -0
- package/dist/src/core/approvals/pending-approval.js.map +1 -0
- package/dist/src/core/approvals/policies.d.ts +20 -0
- package/dist/src/core/approvals/policies.d.ts.map +1 -0
- package/dist/src/core/approvals/policies.js +56 -0
- package/dist/src/core/approvals/policies.js.map +1 -0
- package/dist/src/core/approvals/remembered-rules/codec.d.ts +17 -0
- package/dist/src/core/approvals/remembered-rules/codec.d.ts.map +1 -0
- package/dist/src/core/approvals/remembered-rules/codec.js +117 -0
- package/dist/src/core/approvals/remembered-rules/codec.js.map +1 -0
- package/dist/src/core/approvals/remembered-rules/index.d.ts +5 -0
- package/dist/src/core/approvals/remembered-rules/index.d.ts.map +1 -0
- package/dist/src/core/approvals/remembered-rules/index.js +4 -0
- package/dist/src/core/approvals/remembered-rules/index.js.map +1 -0
- package/dist/src/core/approvals/remembered-rules/repository.d.ts +11 -0
- package/dist/src/core/approvals/remembered-rules/repository.d.ts.map +1 -0
- package/dist/src/core/approvals/remembered-rules/repository.js +29 -0
- package/dist/src/core/approvals/remembered-rules/repository.js.map +1 -0
- package/dist/src/core/approvals/remembered-rules/schemas.d.ts +55 -0
- package/dist/src/core/approvals/remembered-rules/schemas.d.ts.map +1 -0
- package/dist/src/core/approvals/remembered-rules/schemas.js +24 -0
- package/dist/src/core/approvals/remembered-rules/schemas.js.map +1 -0
- package/dist/src/core/approvals/remembered-rules/service.d.ts +28 -0
- package/dist/src/core/approvals/remembered-rules/service.d.ts.map +1 -0
- package/dist/src/core/approvals/remembered-rules/service.js +200 -0
- package/dist/src/core/approvals/remembered-rules/service.js.map +1 -0
- package/dist/src/core/approvals/remembered-rules/types.d.ts +12 -0
- package/dist/src/core/approvals/remembered-rules/types.d.ts.map +1 -0
- package/dist/src/core/approvals/remembered-rules/types.js +2 -0
- package/dist/src/core/approvals/remembered-rules/types.js.map +1 -0
- package/dist/src/core/approvals/service.d.ts +13 -0
- package/dist/src/core/approvals/service.d.ts.map +1 -0
- package/dist/src/core/approvals/service.js +45 -0
- package/dist/src/core/approvals/service.js.map +1 -0
- package/dist/src/core/approvals/types.d.ts +24 -1
- package/dist/src/core/approvals/types.d.ts.map +1 -1
- package/dist/src/core/chat/engine/compaction/summarizer/service.d.ts.map +1 -1
- package/dist/src/core/chat/engine/compaction/summarizer/service.js +4 -4
- package/dist/src/core/chat/engine/compaction/summarizer/service.js.map +1 -1
- package/dist/src/core/chat/engine/compaction/types.d.ts +1 -1
- package/dist/src/core/chat/engine/compaction/types.d.ts.map +1 -1
- package/dist/src/core/chat/engine/turns/context/turn-context-builder.js +2 -2
- package/dist/src/core/chat/engine/turns/context/turn-context-builder.js.map +1 -1
- package/dist/src/core/chat/engine/turns/host/types.d.ts +2 -2
- package/dist/src/core/chat/engine/turns/host/types.d.ts.map +1 -1
- package/dist/src/core/chat/engine/turns/memory/turn-memory-maintenance.d.ts +1 -1
- package/dist/src/core/chat/engine/turns/memory/types.d.ts +2 -2
- package/dist/src/core/chat/engine/turns/memory/types.d.ts.map +1 -1
- package/dist/src/core/chat/engine/turns/persistence/types.d.ts +2 -2
- package/dist/src/core/chat/engine/turns/persistence/types.d.ts.map +1 -1
- package/dist/src/core/chat/engine/turns/runtime/runtime-resolver.d.ts.map +1 -1
- package/dist/src/core/chat/engine/turns/runtime/runtime-resolver.js +5 -5
- package/dist/src/core/chat/engine/turns/runtime/runtime-resolver.js.map +1 -1
- package/dist/src/core/chat/engine/turns/runtime/types.d.ts +1 -1
- package/dist/src/core/chat/engine/turns/runtime/types.d.ts.map +1 -1
- package/dist/src/core/chat/engine/turns/service.js +2 -2
- package/dist/src/core/chat/engine/turns/service.js.map +1 -1
- package/dist/src/core/chat/engine/turns/types.d.ts +4 -4
- package/dist/src/core/chat/engine/turns/types.d.ts.map +1 -1
- package/dist/src/core/chat/engine/types.d.ts +1 -1
- package/dist/src/core/commands/slash/modules/context.d.ts +2 -2
- package/dist/src/core/commands/slash/modules/context.d.ts.map +1 -1
- package/dist/src/core/commands/slash/modules/heartbeat/heartbeat-commands.d.ts +1 -1
- package/dist/src/core/commands/slash/modules/heartbeat/heartbeat-commands.d.ts.map +1 -1
- package/dist/src/core/commands/slash/modules/heartbeat/heartbeat-commands.js +20 -18
- package/dist/src/core/commands/slash/modules/heartbeat/heartbeat-commands.js.map +1 -1
- package/dist/src/core/heartbeat/checkpoint/index.d.ts +4 -0
- package/dist/src/core/heartbeat/checkpoint/index.d.ts.map +1 -0
- package/dist/src/core/heartbeat/checkpoint/index.js +3 -0
- package/dist/src/core/heartbeat/checkpoint/index.js.map +1 -0
- package/dist/src/core/heartbeat/checkpoint/repository.d.ts +9 -0
- package/dist/src/core/heartbeat/checkpoint/repository.d.ts.map +1 -0
- package/dist/src/core/heartbeat/checkpoint/repository.js +33 -0
- package/dist/src/core/heartbeat/checkpoint/repository.js.map +1 -0
- package/dist/src/core/heartbeat/checkpoint/service.d.ts +5 -0
- package/dist/src/core/heartbeat/checkpoint/service.d.ts.map +1 -0
- package/dist/src/core/heartbeat/checkpoint/service.js +24 -0
- package/dist/src/core/heartbeat/checkpoint/service.js.map +1 -0
- package/dist/src/core/heartbeat/checkpoint/types.d.ts +17 -0
- package/dist/src/core/heartbeat/checkpoint/types.d.ts.map +1 -0
- package/dist/src/core/heartbeat/checkpoint/types.js +2 -0
- package/dist/src/core/heartbeat/checkpoint/types.js.map +1 -0
- package/dist/src/core/heartbeat/index.d.ts +11 -0
- package/dist/src/core/heartbeat/index.d.ts.map +1 -0
- package/dist/src/core/heartbeat/index.js +6 -0
- package/dist/src/core/heartbeat/index.js.map +1 -0
- package/dist/src/core/heartbeat/scheduler/index.d.ts +4 -0
- package/dist/src/core/heartbeat/scheduler/index.d.ts.map +1 -0
- package/dist/src/core/heartbeat/scheduler/index.js +3 -0
- package/dist/src/core/heartbeat/scheduler/index.js.map +1 -0
- package/dist/src/core/heartbeat/scheduler/runner.d.ts +19 -0
- package/dist/src/core/heartbeat/scheduler/runner.d.ts.map +1 -0
- package/dist/src/core/heartbeat/scheduler/runner.js +16 -0
- package/dist/src/core/heartbeat/scheduler/runner.js.map +1 -0
- package/dist/src/core/heartbeat/scheduler/service.d.ts +8 -0
- package/dist/src/core/heartbeat/scheduler/service.d.ts.map +1 -0
- package/dist/src/core/heartbeat/scheduler/service.js +125 -0
- package/dist/src/core/heartbeat/scheduler/service.js.map +1 -0
- package/dist/src/core/{runtime/heartbeat-scheduler.d.ts → heartbeat/scheduler/types.d.ts} +5 -18
- package/dist/src/core/heartbeat/scheduler/types.d.ts.map +1 -0
- package/dist/src/core/heartbeat/scheduler/types.js +2 -0
- package/dist/src/core/heartbeat/scheduler/types.js.map +1 -0
- package/dist/src/core/heartbeat/tasks/index.d.ts +4 -0
- package/dist/src/core/heartbeat/tasks/index.d.ts.map +1 -0
- package/dist/src/core/heartbeat/tasks/index.js +3 -0
- package/dist/src/core/heartbeat/tasks/index.js.map +1 -0
- package/dist/src/core/heartbeat/tasks/repository.d.ts +24 -0
- package/dist/src/core/heartbeat/tasks/repository.d.ts.map +1 -0
- package/dist/src/core/heartbeat/tasks/repository.js +116 -0
- package/dist/src/core/heartbeat/tasks/repository.js.map +1 -0
- package/dist/src/core/heartbeat/tasks/schemas.d.ts +212 -0
- package/dist/src/core/heartbeat/tasks/schemas.d.ts.map +1 -0
- package/dist/src/core/heartbeat/tasks/schemas.js +78 -0
- package/dist/src/core/heartbeat/tasks/schemas.js.map +1 -0
- package/dist/src/core/heartbeat/tasks/task-state.d.ts +33 -0
- package/dist/src/core/heartbeat/tasks/task-state.d.ts.map +1 -0
- package/dist/src/core/heartbeat/tasks/task-state.js +122 -0
- package/dist/src/core/heartbeat/tasks/task-state.js.map +1 -0
- package/dist/src/core/{runtime/heartbeat-task-store.d.ts → heartbeat/tasks/types.d.ts} +24 -29
- package/dist/src/core/heartbeat/tasks/types.d.ts.map +1 -0
- package/dist/src/core/heartbeat/tasks/types.js +2 -0
- package/dist/src/core/heartbeat/tasks/types.js.map +1 -0
- package/dist/src/core/heartbeat/views/index.d.ts +4 -0
- package/dist/src/core/heartbeat/views/index.d.ts.map +1 -0
- package/dist/src/core/heartbeat/views/index.js +3 -0
- package/dist/src/core/heartbeat/views/index.js.map +1 -0
- package/dist/src/core/heartbeat/views/lucid-presenter.d.ts +20 -0
- package/dist/src/core/heartbeat/views/lucid-presenter.d.ts.map +1 -0
- package/dist/src/core/heartbeat/views/lucid-presenter.js +112 -0
- package/dist/src/core/heartbeat/views/lucid-presenter.js.map +1 -0
- package/dist/src/core/heartbeat/views/presenter.d.ts +22 -0
- package/dist/src/core/heartbeat/views/presenter.d.ts.map +1 -0
- package/dist/src/core/heartbeat/views/presenter.js +50 -0
- package/dist/src/core/heartbeat/views/presenter.js.map +1 -0
- package/dist/src/core/{runtime/heartbeat-lucid.d.ts → heartbeat/views/types.d.ts} +24 -8
- package/dist/src/core/heartbeat/views/types.d.ts.map +1 -0
- package/dist/src/core/heartbeat/views/types.js +2 -0
- package/dist/src/core/heartbeat/views/types.js.map +1 -0
- package/dist/src/core/heartbeat/wake/decision.d.ts +13 -0
- package/dist/src/core/heartbeat/wake/decision.d.ts.map +1 -0
- package/dist/src/core/heartbeat/wake/decision.js +24 -0
- package/dist/src/core/heartbeat/wake/decision.js.map +1 -0
- package/dist/src/core/heartbeat/wake/index.d.ts +5 -0
- package/dist/src/core/heartbeat/wake/index.d.ts.map +1 -0
- package/dist/src/core/heartbeat/wake/index.js +4 -0
- package/dist/src/core/heartbeat/wake/index.js.map +1 -0
- package/dist/src/core/heartbeat/wake/prompt.d.ts +11 -0
- package/dist/src/core/heartbeat/wake/prompt.d.ts.map +1 -0
- package/dist/src/core/heartbeat/wake/prompt.js +39 -0
- package/dist/src/core/heartbeat/wake/prompt.js.map +1 -0
- package/dist/src/core/heartbeat/wake/service.d.ts +6 -0
- package/dist/src/core/heartbeat/wake/service.d.ts.map +1 -0
- package/dist/src/core/heartbeat/wake/service.js +75 -0
- package/dist/src/core/heartbeat/wake/service.js.map +1 -0
- package/dist/src/core/heartbeat/wake/types.d.ts +33 -0
- package/dist/src/core/heartbeat/wake/types.d.ts.map +1 -0
- package/dist/src/core/heartbeat/wake/types.js +2 -0
- package/dist/src/core/heartbeat/wake/types.js.map +1 -0
- package/dist/src/core/llm/factory.js +2 -2
- package/dist/src/core/llm/factory.js.map +1 -1
- package/dist/src/core/llm/model-policy.d.ts +1 -1
- package/dist/src/core/llm/model-policy.d.ts.map +1 -1
- package/dist/src/core/memory/maintainer.js +2 -2
- package/dist/src/core/memory/maintainer.js.map +1 -1
- package/dist/src/core/observability/conversation-activity.d.ts +1 -1
- package/dist/src/core/observability/conversation-activity.d.ts.map +1 -1
- package/dist/src/core/runtime/credentials/index.d.ts +3 -0
- package/dist/src/core/runtime/credentials/index.d.ts.map +1 -0
- package/dist/src/core/runtime/credentials/index.js +2 -0
- package/dist/src/core/runtime/credentials/index.js.map +1 -0
- package/dist/src/core/runtime/credentials/service.d.ts +22 -0
- package/dist/src/core/runtime/credentials/service.d.ts.map +1 -0
- package/dist/src/core/runtime/credentials/service.js +83 -0
- package/dist/src/core/runtime/credentials/service.js.map +1 -0
- package/dist/src/core/runtime/credentials/types.d.ts +22 -0
- package/dist/src/core/runtime/credentials/types.d.ts.map +1 -0
- package/dist/src/core/runtime/credentials/types.js +2 -0
- package/dist/src/core/runtime/credentials/types.js.map +1 -0
- package/dist/src/core/runtime/daemon/host-resolver.d.ts +7 -0
- package/dist/src/core/runtime/daemon/host-resolver.d.ts.map +1 -0
- package/dist/src/core/runtime/daemon/host-resolver.js +61 -0
- package/dist/src/core/runtime/daemon/host-resolver.js.map +1 -0
- package/dist/src/core/runtime/daemon/index.d.ts +6 -0
- package/dist/src/core/runtime/daemon/index.d.ts.map +1 -0
- package/dist/src/core/runtime/daemon/index.js +5 -0
- package/dist/src/core/runtime/daemon/index.js.map +1 -0
- package/dist/src/core/runtime/daemon/messages.d.ts +13 -0
- package/dist/src/core/runtime/daemon/messages.d.ts.map +1 -0
- package/dist/src/core/runtime/daemon/messages.js +43 -0
- package/dist/src/core/runtime/daemon/messages.js.map +1 -0
- package/dist/src/core/runtime/daemon/registry-repository.d.ts +12 -0
- package/dist/src/core/runtime/daemon/registry-repository.d.ts.map +1 -0
- package/dist/src/core/runtime/daemon/registry-repository.js +33 -0
- package/dist/src/core/runtime/daemon/registry-repository.js.map +1 -0
- package/dist/src/core/runtime/daemon/registry-service.d.ts +16 -0
- package/dist/src/core/runtime/daemon/registry-service.d.ts.map +1 -0
- package/dist/src/core/runtime/daemon/registry-service.js +141 -0
- package/dist/src/core/runtime/daemon/registry-service.js.map +1 -0
- package/dist/src/core/runtime/daemon/schemas.d.ts +96 -0
- package/dist/src/core/runtime/daemon/schemas.d.ts.map +1 -0
- package/dist/src/core/runtime/daemon/schemas.js +36 -0
- package/dist/src/core/runtime/daemon/schemas.js.map +1 -0
- package/dist/src/core/runtime/daemon/types.d.ts +66 -0
- package/dist/src/core/runtime/daemon/types.d.ts.map +1 -0
- package/dist/src/core/runtime/daemon/types.js +2 -0
- package/dist/src/core/runtime/daemon/types.js.map +1 -0
- package/dist/src/core/runtime/loop/checkpoint.d.ts +33 -0
- package/dist/src/core/runtime/loop/checkpoint.d.ts.map +1 -0
- package/dist/src/core/runtime/loop/checkpoint.js +69 -0
- package/dist/src/core/runtime/loop/checkpoint.js.map +1 -0
- package/dist/src/core/runtime/loop/index.d.ts +4 -0
- package/dist/src/core/runtime/loop/index.d.ts.map +1 -0
- package/dist/src/core/runtime/loop/index.js +3 -0
- package/dist/src/core/runtime/loop/index.js.map +1 -0
- package/dist/src/core/runtime/loop/service.d.ts +11 -0
- package/dist/src/core/runtime/loop/service.d.ts.map +1 -0
- package/dist/src/core/runtime/loop/service.js +179 -0
- package/dist/src/core/runtime/loop/service.js.map +1 -0
- package/dist/src/core/runtime/{events.d.ts → loop/types.d.ts} +38 -38
- package/dist/src/core/runtime/loop/types.d.ts.map +1 -0
- package/dist/src/core/runtime/loop/types.js +2 -0
- package/dist/src/core/runtime/loop/types.js.map +1 -0
- package/dist/src/core/runtime/tools/index.d.ts +3 -0
- package/dist/src/core/runtime/tools/index.d.ts.map +1 -0
- package/dist/src/core/runtime/tools/index.js +2 -0
- package/dist/src/core/runtime/tools/index.js.map +1 -0
- package/dist/src/core/runtime/tools/service.d.ts +11 -0
- package/dist/src/core/runtime/tools/service.d.ts.map +1 -0
- package/dist/src/core/runtime/tools/service.js +54 -0
- package/dist/src/core/runtime/tools/service.js.map +1 -0
- package/dist/src/core/runtime/{default-tools.d.ts → tools/types.d.ts} +2 -4
- package/dist/src/core/runtime/tools/types.d.ts.map +1 -0
- package/dist/src/core/runtime/tools/types.js +2 -0
- package/dist/src/core/runtime/tools/types.js.map +1 -0
- package/dist/src/core/runtime/workspaces/index.d.ts +5 -0
- package/dist/src/core/runtime/workspaces/index.d.ts.map +1 -0
- package/dist/src/core/runtime/workspaces/index.js +4 -0
- package/dist/src/core/runtime/workspaces/index.js.map +1 -0
- package/dist/src/core/runtime/workspaces/repository.d.ts +14 -0
- package/dist/src/core/runtime/workspaces/repository.d.ts.map +1 -0
- package/dist/src/core/runtime/workspaces/repository.js +38 -0
- package/dist/src/core/runtime/workspaces/repository.js.map +1 -0
- package/dist/src/core/runtime/workspaces/schemas.d.ts +42 -0
- package/dist/src/core/runtime/workspaces/schemas.d.ts.map +1 -0
- package/dist/src/core/runtime/workspaces/schemas.js +26 -0
- package/dist/src/core/runtime/workspaces/schemas.js.map +1 -0
- package/dist/src/core/runtime/workspaces/service.d.ts +15 -0
- package/dist/src/core/runtime/workspaces/service.d.ts.map +1 -0
- package/dist/src/core/runtime/workspaces/service.js +177 -0
- package/dist/src/core/runtime/workspaces/service.js.map +1 -0
- package/dist/src/core/runtime/workspaces/types.d.ts +42 -0
- package/dist/src/core/runtime/workspaces/types.d.ts.map +1 -0
- package/dist/src/core/runtime/workspaces/types.js +2 -0
- package/dist/src/core/runtime/workspaces/types.js.map +1 -0
- package/dist/src/core/tools/toolkit.d.ts +1 -1
- package/dist/src/core/tools/toolkit.d.ts.map +1 -1
- package/dist/src/core/tools/toolkits/external-context/view-image.d.ts +1 -1
- package/dist/src/core/tools/toolkits/external-context/view-image.d.ts.map +1 -1
- package/dist/src/core/tools/toolkits/external-context/view-image.js +2 -2
- package/dist/src/core/tools/toolkits/external-context/view-image.js.map +1 -1
- package/dist/src/core/tools/toolkits/external-context/web-search.d.ts +1 -1
- package/dist/src/core/tools/toolkits/external-context/web-search.d.ts.map +1 -1
- package/dist/src/core/tools/toolkits/external-context/web-search.js +2 -2
- package/dist/src/core/tools/toolkits/external-context/web-search.js.map +1 -1
- package/dist/src/core/types.d.ts +1 -1
- package/dist/src/index.d.ts +24 -26
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +12 -14
- package/dist/src/index.js.map +1 -1
- package/dist/src/integrations/cyberloop.d.ts +5 -4
- package/dist/src/integrations/cyberloop.d.ts.map +1 -1
- package/dist/src/integrations/cyberloop.js.map +1 -1
- package/dist/src/server/app.js +5 -5
- package/dist/src/server/app.js.map +1 -1
- package/dist/src/server/features/control-plane/controllers/ask.js +3 -3
- package/dist/src/server/features/control-plane/controllers/ask.js.map +1 -1
- package/dist/src/server/features/control-plane/controllers/chat-session-events.d.ts +1 -1
- package/dist/src/server/features/control-plane/controllers/chat-session-events.d.ts.map +1 -1
- package/dist/src/server/features/control-plane/controllers/chat-sessions-controller.d.ts.map +1 -1
- package/dist/src/server/features/control-plane/controllers/chat-sessions-controller.js +7 -7
- package/dist/src/server/features/control-plane/controllers/chat-sessions-controller.js.map +1 -1
- package/dist/src/server/features/control-plane/controllers/control-plane-state.js +7 -7
- package/dist/src/server/features/control-plane/controllers/control-plane-state.js.map +1 -1
- package/dist/src/server/features/control-plane/controllers/heartbeat.d.ts +6 -5
- package/dist/src/server/features/control-plane/controllers/heartbeat.d.ts.map +1 -1
- package/dist/src/server/features/control-plane/controllers/heartbeat.js +31 -19
- package/dist/src/server/features/control-plane/controllers/heartbeat.js.map +1 -1
- package/dist/src/server/features/control-plane/router.d.ts +7 -7
- package/dist/src/server/features/control-plane/router.js +9 -9
- package/dist/src/server/features/control-plane/router.js.map +1 -1
- package/dist/src/server/features/control-plane/types.d.ts +5 -5
- package/dist/src/server/features/control-plane/types.d.ts.map +1 -1
- package/dist/src/server/index.d.ts.map +1 -1
- package/dist/src/server/index.js +7 -7
- package/dist/src/server/index.js.map +1 -1
- package/dist/src/server/router.d.ts +9 -9
- package/dist/src/server/types.d.ts +2 -2
- package/dist/src/server/types.d.ts.map +1 -1
- package/package.json +1 -1
- package/dist/src/cli/chat/state/approval-rules.d.ts +0 -3
- package/dist/src/cli/chat/state/approval-rules.d.ts.map +0 -1
- package/dist/src/cli/chat/state/approval-rules.js +0 -2
- package/dist/src/cli/chat/state/approval-rules.js.map +0 -1
- package/dist/src/core/agent/history.d.ts +0 -3
- package/dist/src/core/agent/history.d.ts.map +0 -1
- package/dist/src/core/agent/history.js +0 -36
- package/dist/src/core/agent/history.js.map +0 -1
- package/dist/src/core/agent/mutation-tracking.d.ts +0 -13
- package/dist/src/core/agent/mutation-tracking.d.ts.map +0 -1
- package/dist/src/core/agent/mutation-tracking.js +0 -71
- package/dist/src/core/agent/mutation-tracking.js.map +0 -1
- package/dist/src/core/agent/post-mutation.d.ts +0 -8
- package/dist/src/core/agent/post-mutation.d.ts.map +0 -1
- package/dist/src/core/agent/post-mutation.js +0 -9
- package/dist/src/core/agent/post-mutation.js.map +0 -1
- package/dist/src/core/agent/progress-reminders.d.ts +0 -10
- package/dist/src/core/agent/progress-reminders.d.ts.map +0 -1
- package/dist/src/core/agent/progress-reminders.js +0 -13
- package/dist/src/core/agent/progress-reminders.js.map +0 -1
- package/dist/src/core/agent/run-agent.d.ts +0 -41
- package/dist/src/core/agent/run-agent.d.ts.map +0 -1
- package/dist/src/core/agent/run-agent.js +0 -490
- package/dist/src/core/agent/run-agent.js.map +0 -1
- package/dist/src/core/agent/tool-dispatch.d.ts +0 -36
- package/dist/src/core/agent/tool-dispatch.d.ts.map +0 -1
- package/dist/src/core/agent/tool-dispatch.js +0 -120
- package/dist/src/core/agent/tool-dispatch.js.map +0 -1
- package/dist/src/core/agent/util.d.ts +0 -6
- package/dist/src/core/agent/util.d.ts.map +0 -1
- package/dist/src/core/agent/util.js.map +0 -1
- package/dist/src/core/approvals/default-policies.d.ts +0 -10
- package/dist/src/core/approvals/default-policies.d.ts.map +0 -1
- package/dist/src/core/approvals/default-policies.js +0 -37
- package/dist/src/core/approvals/default-policies.js.map +0 -1
- package/dist/src/core/approvals/policy-chain.d.ts +0 -9
- package/dist/src/core/approvals/policy-chain.d.ts.map +0 -1
- package/dist/src/core/approvals/policy-chain.js +0 -36
- package/dist/src/core/approvals/policy-chain.js.map +0 -1
- package/dist/src/core/approvals/remembered-rules.d.ts +0 -22
- package/dist/src/core/approvals/remembered-rules.d.ts.map +0 -1
- package/dist/src/core/approvals/remembered-rules.js +0 -284
- package/dist/src/core/approvals/remembered-rules.js.map +0 -1
- package/dist/src/core/approvals/surface.d.ts +0 -20
- package/dist/src/core/approvals/surface.d.ts.map +0 -1
- package/dist/src/core/approvals/surface.js +0 -22
- package/dist/src/core/approvals/surface.js.map +0 -1
- package/dist/src/core/runtime/agent-loop.d.ts +0 -45
- package/dist/src/core/runtime/agent-loop.d.ts.map +0 -1
- package/dist/src/core/runtime/agent-loop.js +0 -200
- package/dist/src/core/runtime/agent-loop.js.map +0 -1
- package/dist/src/core/runtime/api-keys.d.ts +0 -35
- package/dist/src/core/runtime/api-keys.d.ts.map +0 -1
- package/dist/src/core/runtime/api-keys.js +0 -78
- package/dist/src/core/runtime/api-keys.js.map +0 -1
- package/dist/src/core/runtime/daemon-registry.d.ts +0 -44
- package/dist/src/core/runtime/daemon-registry.d.ts.map +0 -1
- package/dist/src/core/runtime/daemon-registry.js +0 -147
- package/dist/src/core/runtime/daemon-registry.js.map +0 -1
- package/dist/src/core/runtime/default-tools.d.ts.map +0 -1
- package/dist/src/core/runtime/default-tools.js +0 -49
- package/dist/src/core/runtime/default-tools.js.map +0 -1
- package/dist/src/core/runtime/events.d.ts.map +0 -1
- package/dist/src/core/runtime/events.js +0 -41
- package/dist/src/core/runtime/events.js.map +0 -1
- package/dist/src/core/runtime/heartbeat-lucid.d.ts.map +0 -1
- package/dist/src/core/runtime/heartbeat-lucid.js +0 -188
- package/dist/src/core/runtime/heartbeat-lucid.js.map +0 -1
- package/dist/src/core/runtime/heartbeat-scheduler.d.ts.map +0 -1
- package/dist/src/core/runtime/heartbeat-scheduler.js +0 -135
- package/dist/src/core/runtime/heartbeat-scheduler.js.map +0 -1
- package/dist/src/core/runtime/heartbeat-store.d.ts +0 -20
- package/dist/src/core/runtime/heartbeat-store.d.ts.map +0 -1
- package/dist/src/core/runtime/heartbeat-store.js +0 -42
- package/dist/src/core/runtime/heartbeat-store.js.map +0 -1
- package/dist/src/core/runtime/heartbeat-task-state.d.ts +0 -5
- package/dist/src/core/runtime/heartbeat-task-state.d.ts.map +0 -1
- package/dist/src/core/runtime/heartbeat-task-state.js +0 -81
- package/dist/src/core/runtime/heartbeat-task-state.js.map +0 -1
- package/dist/src/core/runtime/heartbeat-task-store.d.ts.map +0 -1
- package/dist/src/core/runtime/heartbeat-task-store.js +0 -96
- package/dist/src/core/runtime/heartbeat-task-store.js.map +0 -1
- package/dist/src/core/runtime/heartbeat-views.d.ts +0 -52
- package/dist/src/core/runtime/heartbeat-views.d.ts.map +0 -1
- package/dist/src/core/runtime/heartbeat-views.js +0 -62
- package/dist/src/core/runtime/heartbeat-views.js.map +0 -1
- package/dist/src/core/runtime/heartbeat.d.ts +0 -41
- package/dist/src/core/runtime/heartbeat.d.ts.map +0 -1
- package/dist/src/core/runtime/heartbeat.js +0 -113
- package/dist/src/core/runtime/heartbeat.js.map +0 -1
- package/dist/src/core/runtime/runtime-hosts.d.ts +0 -30
- package/dist/src/core/runtime/runtime-hosts.d.ts.map +0 -1
- package/dist/src/core/runtime/runtime-hosts.js +0 -95
- package/dist/src/core/runtime/runtime-hosts.js.map +0 -1
- package/dist/src/core/runtime/workspaces.d.ts +0 -55
- package/dist/src/core/runtime/workspaces.d.ts.map +0 -1
- package/dist/src/core/runtime/workspaces.js +0 -168
- package/dist/src/core/runtime/workspaces.js.map +0 -1
|
@@ -0,0 +1,103 @@
|
|
|
1
|
+
import { isAbortError } from '../../../core/agent/utils/index.js';
|
|
2
|
+
import { STREAM_UPDATE_INTERVAL_MS } from '../constants.js';
|
|
3
|
+
import { AgentRunFinisher } from '../finish/index.js';
|
|
4
|
+
/**
|
|
5
|
+
* Owns one LLM request/stream step inside an agent run.
|
|
6
|
+
*/
|
|
7
|
+
export class AgentModelTurnService {
|
|
8
|
+
static async request(args) {
|
|
9
|
+
const { context } = args;
|
|
10
|
+
if (context.abortSignal?.aborted) {
|
|
11
|
+
return AgentRunFinisher.finishInterrupted(context, 'Agent run interrupted before LLM call');
|
|
12
|
+
}
|
|
13
|
+
try {
|
|
14
|
+
const streamState = {
|
|
15
|
+
content: '',
|
|
16
|
+
reasoningSummary: '',
|
|
17
|
+
lastRecordAt: 0,
|
|
18
|
+
};
|
|
19
|
+
const response = await context.llm.chat(context.messages, context.registry.list(), context.abortSignal, (event) => AgentModelTurnService.handleStreamEvent({ context, event, streamState }));
|
|
20
|
+
context.state.usage = AgentModelTurnService.accumulateUsage({
|
|
21
|
+
current: context.state.usage,
|
|
22
|
+
next: response.usage,
|
|
23
|
+
});
|
|
24
|
+
return response;
|
|
25
|
+
}
|
|
26
|
+
catch (error) {
|
|
27
|
+
if (isAbortError(error) || context.abortSignal?.aborted || context.shouldStop?.()) {
|
|
28
|
+
return AgentRunFinisher.finishInterrupted(context, 'Agent run interrupted during LLM call');
|
|
29
|
+
}
|
|
30
|
+
const errorMessage = error instanceof Error ? error.message : String(error);
|
|
31
|
+
context.log.error({ step: context.state.step, error: errorMessage }, 'LLM call failed');
|
|
32
|
+
return AgentRunFinisher.finish(context, 'error', `LLM error: ${errorMessage}`);
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
static handleStreamEvent(args) {
|
|
36
|
+
const { context, event, streamState } = args;
|
|
37
|
+
if (event.type === 'content.delta') {
|
|
38
|
+
const nowMs = Date.now();
|
|
39
|
+
streamState.content += event.delta;
|
|
40
|
+
if (nowMs - streamState.lastRecordAt >= STREAM_UPDATE_INTERVAL_MS) {
|
|
41
|
+
streamState.lastRecordAt = nowMs;
|
|
42
|
+
}
|
|
43
|
+
context.onAssistantStream?.({ step: context.state.step, text: streamState.content, done: false });
|
|
44
|
+
return;
|
|
45
|
+
}
|
|
46
|
+
if (event.type === 'content.done') {
|
|
47
|
+
streamState.content = event.content;
|
|
48
|
+
context.onAssistantStream?.({ step: context.state.step, text: streamState.content, done: true });
|
|
49
|
+
return;
|
|
50
|
+
}
|
|
51
|
+
if (event.type === 'reasoning_summary.delta') {
|
|
52
|
+
streamState.reasoningSummary += event.delta;
|
|
53
|
+
if (!streamState.content) {
|
|
54
|
+
context.onAssistantStream?.({
|
|
55
|
+
step: context.state.step,
|
|
56
|
+
text: AgentModelTurnService.formatReasoningSummary(streamState.reasoningSummary),
|
|
57
|
+
done: false,
|
|
58
|
+
});
|
|
59
|
+
}
|
|
60
|
+
return;
|
|
61
|
+
}
|
|
62
|
+
if (event.type === 'reasoning_summary.done') {
|
|
63
|
+
streamState.reasoningSummary = event.text;
|
|
64
|
+
if (!streamState.content) {
|
|
65
|
+
context.onAssistantStream?.({
|
|
66
|
+
step: context.state.step,
|
|
67
|
+
text: AgentModelTurnService.formatReasoningSummary(streamState.reasoningSummary),
|
|
68
|
+
done: false,
|
|
69
|
+
});
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
static accumulateUsage(args) {
|
|
74
|
+
if (!args.next) {
|
|
75
|
+
return args.current;
|
|
76
|
+
}
|
|
77
|
+
if (!args.current) {
|
|
78
|
+
return { ...args.next };
|
|
79
|
+
}
|
|
80
|
+
const cachedInputTokens = (args.current.cachedInputTokens ?? 0) + (args.next.cachedInputTokens ?? 0);
|
|
81
|
+
const reasoningTokens = (args.current.reasoningTokens ?? 0) + (args.next.reasoningTokens ?? 0);
|
|
82
|
+
const requests = (args.current.requests ?? 0) + (args.next.requests ?? 0);
|
|
83
|
+
return {
|
|
84
|
+
inputTokens: args.current.inputTokens + args.next.inputTokens,
|
|
85
|
+
outputTokens: args.current.outputTokens + args.next.outputTokens,
|
|
86
|
+
totalTokens: args.current.totalTokens + args.next.totalTokens,
|
|
87
|
+
cachedInputTokens: cachedInputTokens || undefined,
|
|
88
|
+
reasoningTokens: reasoningTokens || undefined,
|
|
89
|
+
requests: requests || undefined,
|
|
90
|
+
};
|
|
91
|
+
}
|
|
92
|
+
static formatReasoningSummary(text) {
|
|
93
|
+
const trimmed = AgentModelTurnService.stripReasoningSummaryMarkdown(text.trim());
|
|
94
|
+
return trimmed ? `Thinking: ${trimmed}` : 'Thinking...';
|
|
95
|
+
}
|
|
96
|
+
static stripReasoningSummaryMarkdown(text) {
|
|
97
|
+
return text
|
|
98
|
+
.replace(/\*\*([^*]+)\*\*/g, '$1')
|
|
99
|
+
.replace(/__([^_]+)__/g, '$1')
|
|
100
|
+
.replace(/([.!?])([A-Z][A-Za-z ]{2,}:?)/g, '$1 $2');
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
//# sourceMappingURL=model-turn-service.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"model-turn-service.js","sourceRoot":"","sources":["../../../../../src/core/agent/model/model-turn-service.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import type { LlmResponse, LlmUsage } from '../../../core/llm/types.js';
|
|
2
|
+
import type { RunResult } from '../../../core/types.js';
|
|
3
|
+
import type { AgentRunContext } from '../types.js';
|
|
4
|
+
export type RequestAgentModelTurnArgs = {
|
|
5
|
+
context: AgentRunContext;
|
|
6
|
+
};
|
|
7
|
+
export type AgentModelTurnResult = LlmResponse | RunResult;
|
|
8
|
+
export type AccumulateAgentUsageArgs = {
|
|
9
|
+
current?: LlmUsage;
|
|
10
|
+
next?: LlmUsage;
|
|
11
|
+
};
|
|
12
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../src/core/agent/model/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AACjE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AACjD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAEnD,MAAM,MAAM,yBAAyB,GAAG;IACtC,OAAO,EAAE,eAAe,CAAC;CAC1B,CAAC;AAEF,MAAM,MAAM,oBAAoB,GAAG,WAAW,GAAG,SAAS,CAAC;AAE3D,MAAM,MAAM,wBAAwB,GAAG;IACrC,OAAO,CAAC,EAAE,QAAQ,CAAC;IACnB,IAAI,CAAC,EAAE,QAAQ,CAAC;CACjB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../../src/core/agent/model/types.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/core/agent/mutation/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAC7D,YAAY,EAAE,aAAa,EAAE,4BAA4B,EAAE,MAAM,YAAY,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/core/agent/mutation/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import type { TrackAgentMutationResultArgs, MutationState } from './types.js';
|
|
2
|
+
/**
|
|
3
|
+
* Tracks workspace-changing actions observed during a low-level agent run.
|
|
4
|
+
*
|
|
5
|
+
* The state is intentionally lightweight today; future review or verification
|
|
6
|
+
* requirements should extend this class instead of scattering mutation policy
|
|
7
|
+
* across the run loop.
|
|
8
|
+
*/
|
|
9
|
+
export declare class AgentMutationTracker {
|
|
10
|
+
static createState(): MutationState;
|
|
11
|
+
static trackToolResult(args: TrackAgentMutationResultArgs): void;
|
|
12
|
+
static isWorkspaceChangeMutateCommand(command: string): boolean;
|
|
13
|
+
static isVerificationMutateCommand(command: string): boolean;
|
|
14
|
+
static isRepoReviewCommand(command: string): boolean;
|
|
15
|
+
private static normalizeCommand;
|
|
16
|
+
private static includesFlag;
|
|
17
|
+
private static escapeRegExp;
|
|
18
|
+
private static describeEditMutation;
|
|
19
|
+
}
|
|
20
|
+
//# sourceMappingURL=mutation-tracker.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mutation-tracker.d.ts","sourceRoot":"","sources":["../../../../../src/core/agent/mutation/mutation-tracker.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,4BAA4B,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAE9E;;;;;;GAMG;AACH,qBAAa,oBAAoB;IAC/B,MAAM,CAAC,WAAW,IAAI,aAAa;IAMnC,MAAM,CAAC,eAAe,CAAC,IAAI,EAAE,4BAA4B,GAAG,IAAI;IAgBhE,MAAM,CAAC,8BAA8B,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO;IAqB/D,MAAM,CAAC,2BAA2B,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO;IAW5D,MAAM,CAAC,mBAAmB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO;IASpD,OAAO,CAAC,MAAM,CAAC,gBAAgB;IAI/B,OAAO,CAAC,MAAM,CAAC,YAAY;IAK3B,OAAO,CAAC,MAAM,CAAC,YAAY;IAI3B,OAAO,CAAC,MAAM,CAAC,oBAAoB;CAQpC"}
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
import { extractShellCommand } from '../../../core/agent/utils/index.js';
|
|
2
|
+
/**
|
|
3
|
+
* Tracks workspace-changing actions observed during a low-level agent run.
|
|
4
|
+
*
|
|
5
|
+
* The state is intentionally lightweight today; future review or verification
|
|
6
|
+
* requirements should extend this class instead of scattering mutation policy
|
|
7
|
+
* across the run loop.
|
|
8
|
+
*/
|
|
9
|
+
export class AgentMutationTracker {
|
|
10
|
+
static createState() {
|
|
11
|
+
return {
|
|
12
|
+
executedMutationCommands: [],
|
|
13
|
+
};
|
|
14
|
+
}
|
|
15
|
+
static trackToolResult(args) {
|
|
16
|
+
if (!args.result.ok) {
|
|
17
|
+
return;
|
|
18
|
+
}
|
|
19
|
+
const command = extractShellCommand(args.effectiveCall.input);
|
|
20
|
+
if (args.effectiveCall.tool === 'run_shell_mutate' && command && AgentMutationTracker.isWorkspaceChangeMutateCommand(command)) {
|
|
21
|
+
args.state.executedMutationCommands.push(command);
|
|
22
|
+
}
|
|
23
|
+
if (args.effectiveCall.tool === 'edit_file') {
|
|
24
|
+
args.state.executedMutationCommands.push(AgentMutationTracker.describeEditMutation(args.effectiveCall.input));
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
static isWorkspaceChangeMutateCommand(command) {
|
|
28
|
+
return (/^yarn format\b/.test(command) ||
|
|
29
|
+
/^yarn prettier\b/.test(command) ||
|
|
30
|
+
/^yarn eslint\b/.test(command) ||
|
|
31
|
+
/^yarn add\b/.test(command) ||
|
|
32
|
+
/^yarn install\b/.test(command) ||
|
|
33
|
+
/^yarn remove\b/.test(command) ||
|
|
34
|
+
/^mkdir\b/.test(command) ||
|
|
35
|
+
/^touch\b/.test(command) ||
|
|
36
|
+
/^mv\b/.test(command) ||
|
|
37
|
+
/^cp\b/.test(command) ||
|
|
38
|
+
/^git add\b/.test(command) ||
|
|
39
|
+
/^git mv\b/.test(command) ||
|
|
40
|
+
/^npx prettier --write\b/.test(command) ||
|
|
41
|
+
/^npx eslint --fix\b/.test(command) ||
|
|
42
|
+
/^prettier --write\b/.test(command) ||
|
|
43
|
+
/^eslint --fix\b/.test(command));
|
|
44
|
+
}
|
|
45
|
+
static isVerificationMutateCommand(command) {
|
|
46
|
+
return (/^yarn test\b/.test(command) ||
|
|
47
|
+
/^yarn build\b/.test(command) ||
|
|
48
|
+
/^yarn lint\b/.test(command) ||
|
|
49
|
+
/^yarn vitest\b/.test(command) ||
|
|
50
|
+
/^vitest\b/.test(command) ||
|
|
51
|
+
/^tsc\b/.test(command));
|
|
52
|
+
}
|
|
53
|
+
static isRepoReviewCommand(command) {
|
|
54
|
+
const normalized = AgentMutationTracker.normalizeCommand(command);
|
|
55
|
+
return (normalized.startsWith('git status') && AgentMutationTracker.includesFlag(normalized, '--short')) || (normalized.startsWith('git diff') && AgentMutationTracker.includesFlag(normalized, '--stat'));
|
|
56
|
+
}
|
|
57
|
+
static normalizeCommand(command) {
|
|
58
|
+
return command.trim().replace(/\s+/g, ' ');
|
|
59
|
+
}
|
|
60
|
+
static includesFlag(command, flag) {
|
|
61
|
+
const pattern = new RegExp(`(?:^|\\s)${AgentMutationTracker.escapeRegExp(flag)}(?:=\\S+|\\s|$)`);
|
|
62
|
+
return pattern.test(command);
|
|
63
|
+
}
|
|
64
|
+
static escapeRegExp(value) {
|
|
65
|
+
return value.replace(/[.*+?^${}()|[\]\\]/g, '\\$&');
|
|
66
|
+
}
|
|
67
|
+
static describeEditMutation(input) {
|
|
68
|
+
if (!input || typeof input !== 'object' || Array.isArray(input)) {
|
|
69
|
+
return 'edit_file';
|
|
70
|
+
}
|
|
71
|
+
const path = input.path;
|
|
72
|
+
return typeof path === 'string' && path.trim() ? `edit_file ${path.trim()}` : 'edit_file';
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
//# sourceMappingURL=mutation-tracker.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mutation-tracker.js","sourceRoot":"","sources":["../../../../../src/core/agent/mutation/mutation-tracker.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import type { ToolCall } from '../../../core/types.js';
|
|
2
|
+
export type MutationState = {
|
|
3
|
+
executedMutationCommands: string[];
|
|
4
|
+
};
|
|
5
|
+
export type TrackAgentMutationResultArgs = {
|
|
6
|
+
state: MutationState;
|
|
7
|
+
effectiveCall: ToolCall;
|
|
8
|
+
result: {
|
|
9
|
+
ok: boolean;
|
|
10
|
+
output?: unknown;
|
|
11
|
+
};
|
|
12
|
+
};
|
|
13
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../src/core/agent/mutation/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAEhD,MAAM,MAAM,aAAa,GAAG;IAC1B,wBAAwB,EAAE,MAAM,EAAE,CAAC;CACpC,CAAC;AAEF,MAAM,MAAM,4BAA4B,GAAG;IACzC,KAAK,EAAE,aAAa,CAAC;IACrB,aAAa,EAAE,QAAQ,CAAC;IACxB,MAAM,EAAE;QAAE,EAAE,EAAE,OAAO,CAAC;QAAC,MAAM,CAAC,EAAE,OAAO,CAAA;KAAE,CAAC;CAC3C,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../../src/core/agent/mutation/types.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/core/agent/planning/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAC9D,YAAY,EAAE,cAAc,EAAE,uBAAuB,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/core/agent/planning/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { AgentPlanState, ParseAgentPlanStateArgs } from './types.js';
|
|
2
|
+
/**
|
|
3
|
+
* Parses update_plan tool output into the agent's active plan state.
|
|
4
|
+
*/
|
|
5
|
+
export declare class AgentPlanStateParser {
|
|
6
|
+
static parse(args: ParseAgentPlanStateArgs): AgentPlanState | undefined;
|
|
7
|
+
private static parseItem;
|
|
8
|
+
}
|
|
9
|
+
//# sourceMappingURL=plan-state-parser.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"plan-state-parser.d.ts","sourceRoot":"","sources":["../../../../../src/core/agent/planning/plan-state-parser.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,uBAAuB,EAAE,MAAM,YAAY,CAAC;AAI1E;;GAEG;AACH,qBAAa,oBAAoB;IAC/B,MAAM,CAAC,KAAK,CAAC,IAAI,EAAE,uBAAuB,GAAG,cAAc,GAAG,SAAS;IAqBvE,OAAO,CAAC,MAAM,CAAC,SAAS;CAazB"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
const PLAN_ITEM_STATUSES = new Set(['pending', 'in_progress', 'completed']);
|
|
2
|
+
/**
|
|
3
|
+
* Parses update_plan tool output into the agent's active plan state.
|
|
4
|
+
*/
|
|
5
|
+
export class AgentPlanStateParser {
|
|
6
|
+
static parse(args) {
|
|
7
|
+
if (!args.output || typeof args.output !== 'object' || Array.isArray(args.output)) {
|
|
8
|
+
return undefined;
|
|
9
|
+
}
|
|
10
|
+
const candidate = args.output;
|
|
11
|
+
if (!Array.isArray(candidate.plan)) {
|
|
12
|
+
return undefined;
|
|
13
|
+
}
|
|
14
|
+
const items = candidate.plan.flatMap((item) => AgentPlanStateParser.parseItem(item));
|
|
15
|
+
if (items.length === 0) {
|
|
16
|
+
return undefined;
|
|
17
|
+
}
|
|
18
|
+
return {
|
|
19
|
+
explanation: typeof candidate.explanation === 'string' ? candidate.explanation : undefined,
|
|
20
|
+
items,
|
|
21
|
+
};
|
|
22
|
+
}
|
|
23
|
+
static parseItem(item) {
|
|
24
|
+
if (!item || typeof item !== 'object' || Array.isArray(item)) {
|
|
25
|
+
return [];
|
|
26
|
+
}
|
|
27
|
+
const step = typeof item.step === 'string' ? item.step : undefined;
|
|
28
|
+
const status = item.status;
|
|
29
|
+
if (!step || typeof status !== 'string' || !PLAN_ITEM_STATUSES.has(status)) {
|
|
30
|
+
return [];
|
|
31
|
+
}
|
|
32
|
+
return [{ step, status: status }];
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
//# sourceMappingURL=plan-state-parser.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"plan-state-parser.js","sourceRoot":"","sources":["../../../../../src/core/agent/planning/plan-state-parser.ts"],"names":[],"mappings":"AAGA,MAAM,kBAAkB,GAAG,IAAI,GAAG,CAAqB,CAAC,SAAS,EAAE,aAAa,EAAE,WAAW,CAAC,CAAC,CAAC;AAEhG;;GAEG;AACH,MAAM,OAAO,oBAAoB;IAC/B,MAAM,CAAC,KAAK,CAAC,IAA6B;QACxC,IAAI,CAAC,IAAI,CAAC,MAAM,IAAI,OAAO,IAAI,CAAC,MAAM,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;YAClF,OAAO,SAAS,CAAC;QACnB,CAAC;QAED,MAAM,SAAS,GAAG,IAAI,CAAC,MAAmD,CAAC;QAC3E,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC;YACnC,OAAO,SAAS,CAAC;QACnB,CAAC;QAED,MAAM,KAAK,GAAG,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,oBAAoB,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC;QACrF,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACvB,OAAO,SAAS,CAAC;QACnB,CAAC;QAED,OAAO;YACL,WAAW,EAAE,OAAO,SAAS,CAAC,WAAW,KAAK,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS;YAC1F,KAAK;SACN,CAAC;IACJ,CAAC;IAEO,MAAM,CAAC,SAAS,CAAC,IAAa;QACpC,IAAI,CAAC,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;YAC7D,OAAO,EAAE,CAAC;QACZ,CAAC;QAED,MAAM,IAAI,GAAG,OAAQ,IAA2B,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAE,IAAyB,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC;QACjH,MAAM,MAAM,GAAI,IAA6B,CAAC,MAAM,CAAC;QACrD,IAAI,CAAC,IAAI,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,MAA4B,CAAC,EAAE,CAAC;YACjG,OAAO,EAAE,CAAC;QACZ,CAAC;QAED,OAAO,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,MAA4B,EAAE,CAAC,CAAC;IAC1D,CAAC;CACF"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { PlanItem } from '../../../core/tools/toolkits/internal/update-plan.js';
|
|
2
|
+
import type { AgentPlanState } from '../types.js';
|
|
3
|
+
export type ParseAgentPlanStateArgs = {
|
|
4
|
+
output: unknown;
|
|
5
|
+
};
|
|
6
|
+
export type { AgentPlanState, PlanItem };
|
|
7
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../src/core/agent/planning/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,+CAA+C,CAAC;AAC9E,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAElD,MAAM,MAAM,uBAAuB,GAAG;IACpC,MAAM,EAAE,OAAO,CAAC;CACjB,CAAC;AAEF,YAAY,EAAE,cAAc,EAAE,QAAQ,EAAE,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../../src/core/agent/planning/types.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type { RunResult } from '../../core/types.js';
|
|
2
|
+
import type { RunAgentOptions } from './types.js';
|
|
3
|
+
/**
|
|
4
|
+
* Owns the low-level model/tool loop for one agent run.
|
|
5
|
+
*/
|
|
6
|
+
export declare class AgentRunService {
|
|
7
|
+
static run(options: RunAgentOptions): Promise<RunResult>;
|
|
8
|
+
private static beginStep;
|
|
9
|
+
}
|
|
10
|
+
//# sourceMappingURL=service.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"service.d.ts","sourceRoot":"","sources":["../../../../src/core/agent/service.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AACjD,OAAO,KAAK,EAAE,eAAe,EAAmB,MAAM,YAAY,CAAC;AAEnE;;GAEG;AACH,qBAAa,eAAe;WACb,GAAG,CAAC,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,SAAS,CAAC;IAqC9D,OAAO,CAAC,MAAM,CAAC,SAAS;CAKzB"}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import { AgentRunContextBuilder } from './context/index.js';
|
|
2
|
+
import { AgentModelTurnService } from './model/index.js';
|
|
3
|
+
import { AgentToolTurnService } from './tools/index.js';
|
|
4
|
+
import { AgentRunFinisher } from './finish/index.js';
|
|
5
|
+
/**
|
|
6
|
+
* Owns the low-level model/tool loop for one agent run.
|
|
7
|
+
*/
|
|
8
|
+
export class AgentRunService {
|
|
9
|
+
static async run(options) {
|
|
10
|
+
const context = AgentRunContextBuilder.create(options);
|
|
11
|
+
context.log.info({ goal: options.goal, maxSteps: context.maxSteps, tools: context.registry.names() }, 'Agent run started');
|
|
12
|
+
context.record({ type: 'run.started', goal: options.goal, timestamp: context.now() });
|
|
13
|
+
while (!context.budget.exhausted()) {
|
|
14
|
+
const interrupted = AgentRunFinisher.maybeInterrupted(context, 'Agent run interrupted before next step');
|
|
15
|
+
if (interrupted) {
|
|
16
|
+
return interrupted;
|
|
17
|
+
}
|
|
18
|
+
AgentRunService.beginStep(context);
|
|
19
|
+
const responseResult = await AgentModelTurnService.request({ context });
|
|
20
|
+
if (AgentRunFinisher.isRunResult(responseResult)) {
|
|
21
|
+
return responseResult;
|
|
22
|
+
}
|
|
23
|
+
if (responseResult.toolCalls && responseResult.toolCalls.length > 0) {
|
|
24
|
+
const toolTurnResult = await AgentToolTurnService.handle({ context, response: responseResult });
|
|
25
|
+
if (toolTurnResult !== 'continue') {
|
|
26
|
+
return toolTurnResult;
|
|
27
|
+
}
|
|
28
|
+
continue;
|
|
29
|
+
}
|
|
30
|
+
const finalResponse = AgentRunFinisher.finishAssistantResponse(context, responseResult);
|
|
31
|
+
if (finalResponse === 'continue') {
|
|
32
|
+
continue;
|
|
33
|
+
}
|
|
34
|
+
return finalResponse;
|
|
35
|
+
}
|
|
36
|
+
return AgentRunFinisher.maxSteps(context);
|
|
37
|
+
}
|
|
38
|
+
static beginStep(context) {
|
|
39
|
+
context.state.step++;
|
|
40
|
+
context.budget.step();
|
|
41
|
+
context.log.debug({ step: context.state.step, budgetRemaining: context.budget.remaining() }, 'Calling LLM');
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
//# sourceMappingURL=service.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"service.js","sourceRoot":"","sources":["../../../../src/core/agent/service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAC;AAC5D,OAAO,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AACzD,OAAO,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AACxD,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAIrD;;GAEG;AACH,MAAM,OAAO,eAAe;IAC1B,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,OAAwB;QACvC,MAAM,OAAO,GAAG,sBAAsB,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QAEvD,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,QAAQ,EAAE,OAAO,CAAC,QAAQ,EAAE,KAAK,EAAE,OAAO,CAAC,QAAQ,CAAC,KAAK,EAAE,EAAE,EAAE,mBAAmB,CAAC,CAAC;QAC3H,OAAO,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,SAAS,EAAE,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;QAEtF,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,SAAS,EAAE,EAAE,CAAC;YACnC,MAAM,WAAW,GAAG,gBAAgB,CAAC,gBAAgB,CAAC,OAAO,EAAE,wCAAwC,CAAC,CAAC;YACzG,IAAI,WAAW,EAAE,CAAC;gBAChB,OAAO,WAAW,CAAC;YACrB,CAAC;YAED,eAAe,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;YACnC,MAAM,cAAc,GAAG,MAAM,qBAAqB,CAAC,OAAO,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC;YACxE,IAAI,gBAAgB,CAAC,WAAW,CAAC,cAAc,CAAC,EAAE,CAAC;gBACjD,OAAO,cAAc,CAAC;YACxB,CAAC;YAED,IAAI,cAAc,CAAC,SAAS,IAAI,cAAc,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACpE,MAAM,cAAc,GAAG,MAAM,oBAAoB,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,QAAQ,EAAE,cAAc,EAAE,CAAC,CAAC;gBAChG,IAAI,cAAc,KAAK,UAAU,EAAE,CAAC;oBAClC,OAAO,cAAc,CAAC;gBACxB,CAAC;gBACD,SAAS;YACX,CAAC;YAED,MAAM,aAAa,GAAG,gBAAgB,CAAC,uBAAuB,CAAC,OAAO,EAAE,cAAc,CAAC,CAAC;YACxF,IAAI,aAAa,KAAK,UAAU,EAAE,CAAC;gBACjC,SAAS;YACX,CAAC;YAED,OAAO,aAAa,CAAC;QACvB,CAAC;QAED,OAAO,gBAAgB,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;IAC5C,CAAC;IAEO,MAAM,CAAC,SAAS,CAAC,OAAwB;QAC/C,OAAO,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;QACrB,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;QACtB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC,KAAK,CAAC,IAAI,EAAE,eAAe,EAAE,OAAO,CAAC,MAAM,CAAC,SAAS,EAAE,EAAE,EAAE,aAAa,CAAC,CAAC;IAC9G,CAAC;CACF"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
export { AgentToolTurnService } from './tool-turn-service.js';
|
|
2
|
+
export { AgentToolDispatcher } from './tool-dispatcher.js';
|
|
3
|
+
export type { AgentToolTurnResult, ExecuteAgentToolTurnArgs, HandleAgentToolResultArgs, HandleAgentToolTurnArgs, } from './types.js';
|
|
4
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/core/agent/tools/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAC3D,YAAY,EACV,mBAAmB,EACnB,wBAAwB,EACxB,yBAAyB,EACzB,uBAAuB,GACxB,MAAM,YAAY,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/core/agent/tools/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC"}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import type { Logger } from 'pino';
|
|
2
|
+
import type { ToolApprovalPolicy } from '../../../core/approvals/types.js';
|
|
3
|
+
import { executeTool } from '../../../core/tools/execute-tool.js';
|
|
4
|
+
import { createToolRegistry } from '../../../core/tools/registry.js';
|
|
5
|
+
import type { ToolCall, ToolDefinition, TraceEvent } from '../../../core/types.js';
|
|
6
|
+
import type { RunAgentOptions } from '../types.js';
|
|
7
|
+
/**
|
|
8
|
+
* Owns tool approval, execution, deduplication, and inspect-to-mutate fallback.
|
|
9
|
+
*
|
|
10
|
+
* ToolTurnService decides when tool calls are needed; this dispatcher owns how
|
|
11
|
+
* a single call is authorized, executed, traced, and optionally retried.
|
|
12
|
+
*/
|
|
13
|
+
export declare class AgentToolDispatcher {
|
|
14
|
+
static maybeDenyToolCall(args: {
|
|
15
|
+
call: ToolCall;
|
|
16
|
+
tool: ToolDefinition | undefined;
|
|
17
|
+
step: number;
|
|
18
|
+
now: () => string;
|
|
19
|
+
approvalPolicies?: ToolApprovalPolicy[];
|
|
20
|
+
approveToolCall: RunAgentOptions['approveToolCall'];
|
|
21
|
+
workspaceRoot?: string;
|
|
22
|
+
record: (event: TraceEvent) => void;
|
|
23
|
+
log: Logger;
|
|
24
|
+
}): Promise<{
|
|
25
|
+
ok: false;
|
|
26
|
+
error: string;
|
|
27
|
+
} | undefined>;
|
|
28
|
+
static executeToolCallWithFallback(args: {
|
|
29
|
+
call: ToolCall;
|
|
30
|
+
step: number;
|
|
31
|
+
now: () => string;
|
|
32
|
+
registry: ReturnType<typeof createToolRegistry>;
|
|
33
|
+
seenToolCalls: Map<string, number>;
|
|
34
|
+
approvalPolicies?: ToolApprovalPolicy[];
|
|
35
|
+
approveToolCall: RunAgentOptions['approveToolCall'];
|
|
36
|
+
workspaceRoot?: string;
|
|
37
|
+
record: (event: TraceEvent) => void;
|
|
38
|
+
log: Logger;
|
|
39
|
+
}): Promise<{
|
|
40
|
+
effectiveCall: ToolCall;
|
|
41
|
+
result: Awaited<ReturnType<typeof executeTool>>;
|
|
42
|
+
}>;
|
|
43
|
+
private static executeRecordedToolCall;
|
|
44
|
+
private static getInspectFallbackReason;
|
|
45
|
+
private static getInspectMutateFallbackReason;
|
|
46
|
+
}
|
|
47
|
+
//# sourceMappingURL=tool-dispatcher.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tool-dispatcher.d.ts","sourceRoot":"","sources":["../../../../../src/core/agent/tools/tool-dispatcher.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,MAAM,CAAC;AACnC,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAEpE,OAAO,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAC3D,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAC9D,OAAO,KAAK,EAAE,QAAQ,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAE5E,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAEnD;;;;;GAKG;AACH,qBAAa,mBAAmB;WACjB,iBAAiB,CAAC,IAAI,EAAE;QACnC,IAAI,EAAE,QAAQ,CAAC;QACf,IAAI,EAAE,cAAc,GAAG,SAAS,CAAC;QACjC,IAAI,EAAE,MAAM,CAAC;QACb,GAAG,EAAE,MAAM,MAAM,CAAC;QAClB,gBAAgB,CAAC,EAAE,kBAAkB,EAAE,CAAC;QACxC,eAAe,EAAE,eAAe,CAAC,iBAAiB,CAAC,CAAC;QACpD,aAAa,CAAC,EAAE,MAAM,CAAC;QACvB,MAAM,EAAE,CAAC,KAAK,EAAE,UAAU,KAAK,IAAI,CAAC;QACpC,GAAG,EAAE,MAAM,CAAC;KACb,GAAG,OAAO,CAAC;QAAE,EAAE,EAAE,KAAK,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,GAAG,SAAS,CAAC;WA0CxC,2BAA2B,CAAC,IAAI,EAAE;QAC7C,IAAI,EAAE,QAAQ,CAAC;QACf,IAAI,EAAE,MAAM,CAAC;QACb,GAAG,EAAE,MAAM,MAAM,CAAC;QAClB,QAAQ,EAAE,UAAU,CAAC,OAAO,kBAAkB,CAAC,CAAC;QAChD,aAAa,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QACnC,gBAAgB,CAAC,EAAE,kBAAkB,EAAE,CAAC;QACxC,eAAe,EAAE,eAAe,CAAC,iBAAiB,CAAC,CAAC;QACpD,aAAa,CAAC,EAAE,MAAM,CAAC;QACvB,MAAM,EAAE,CAAC,KAAK,EAAE,UAAU,KAAK,IAAI,CAAC;QACpC,GAAG,EAAE,MAAM,CAAC;KACb,GAAG,OAAO,CAAC;QAAE,aAAa,EAAE,QAAQ,CAAC;QAAC,MAAM,EAAE,OAAO,CAAC,UAAU,CAAC,OAAO,WAAW,CAAC,CAAC,CAAA;KAAE,CAAC;mBA+CpE,uBAAuB;IA+B5C,OAAO,CAAC,MAAM,CAAC,wBAAwB;IAWvC,OAAO,CAAC,MAAM,CAAC,8BAA8B;CAe9C"}
|