@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
package/README.md
CHANGED
|
@@ -41,10 +41,14 @@ If you want a terminal-first coding agent with local state, review traces, works
|
|
|
41
41
|
Heddle currently has two main programmatic layers:
|
|
42
42
|
|
|
43
43
|
- `createConversationEngine`: an alpha API for persisted multi-turn sessions with session storage, compaction, approvals, traces, semantic activity, and custom frontends or local hosts
|
|
44
|
-
- `
|
|
44
|
+
- `AgentLoopRuntimeService.run(...)`: a lower-level single-run execution loop for hosts that do not need persisted chat or session behavior
|
|
45
45
|
|
|
46
46
|
If you want the programmatic surface, start with the [Programmatic use guide](docs/guides/programmatic-use.md).
|
|
47
47
|
|
|
48
|
+
For contributors, the compact architecture map lives in
|
|
49
|
+
[Core Layering](docs/architecture/core-layering.md) and
|
|
50
|
+
[Chat Layering](docs/architecture/chat-layering.md).
|
|
51
|
+
|
|
48
52
|
## See Heddle
|
|
49
53
|
|
|
50
54
|
### Terminal coding workflow
|
|
@@ -301,6 +305,10 @@ Heartbeat is Heddle's model for bounded autonomous wake cycles.
|
|
|
301
305
|
|
|
302
306
|
Instead of only running when a human types a prompt, a heartbeat task lets Heddle wake up on a schedule, do a limited amount of work, checkpoint the result, and decide whether to continue, pause, complete, or escalate.
|
|
303
307
|
|
|
308
|
+
Heartbeat keeps the latest wake result and saved run history in the same
|
|
309
|
+
record shape, so terminal commands and the browser control plane show the same
|
|
310
|
+
decision, summary, outcome, and usage data.
|
|
311
|
+
|
|
304
312
|
Example commands:
|
|
305
313
|
|
|
306
314
|
```bash
|
|
@@ -334,7 +342,7 @@ More: [Semantic drift](docs/guides/semantic-drift.md)
|
|
|
334
342
|
|
|
335
343
|
### Programmatic runtime APIs
|
|
336
344
|
|
|
337
|
-
Heddle is not only a CLI. The npm package also exposes runtime primitives such as `
|
|
345
|
+
Heddle is not only a CLI. The npm package also exposes runtime primitives such as `AgentLoopRuntimeService.run(...)` and `HeartbeatWakeService.run` so other hosts can build on top of it.
|
|
338
346
|
|
|
339
347
|
This is for people building their own agent hosts, schedulers, or control surfaces rather than only using the packaged CLI.
|
|
340
348
|
|
|
@@ -11,14 +11,14 @@
|
|
|
11
11
|
// engine, creates a session, submits a prompt, reports host callbacks, and
|
|
12
12
|
// prints the final outcome.
|
|
13
13
|
// ---------------------------------------------------------------------------
|
|
14
|
-
import { createConversationEngine, inferProviderFromModel,
|
|
14
|
+
import { createConversationEngine, inferProviderFromModel, RuntimeCredentialService, } from '../src/index.js';
|
|
15
15
|
const DEFAULT_EXAMPLE_MODEL = 'gpt-5.1-codex-mini';
|
|
16
16
|
async function main() {
|
|
17
17
|
const workspaceRoot = process.cwd();
|
|
18
18
|
const stateRoot = `${workspaceRoot}/.heddle`;
|
|
19
19
|
const model = process.env.HEDDLE_EXAMPLE_MODEL ?? process.env.OPENAI_MODEL ?? DEFAULT_EXAMPLE_MODEL;
|
|
20
20
|
const provider = inferProviderFromModel(model);
|
|
21
|
-
const apiKey = resolveProviderApiKey(provider);
|
|
21
|
+
const apiKey = RuntimeCredentialService.resolveProviderApiKey(provider);
|
|
22
22
|
if (!apiKey) {
|
|
23
23
|
throw new Error([
|
|
24
24
|
`Missing API key for ${provider}.`,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"conversation-engine.js","sourceRoot":"","sources":["../../examples/conversation-engine.ts"],"names":[],"mappings":"AAAA,8EAA8E;AAC9E,qCAAqC;AACrC,EAAE;AACF,SAAS;AACT,2DAA2D;AAC3D,EAAE;AACF,YAAY;AACZ,+GAA+G;AAC/G,EAAE;AACF,+EAA+E;AAC/E,2EAA2E;AAC3E,4BAA4B;AAC5B,8EAA8E;AAE9E,OAAO,EACL,wBAAwB,EACxB,sBAAsB,EACtB,
|
|
1
|
+
{"version":3,"file":"conversation-engine.js","sourceRoot":"","sources":["../../examples/conversation-engine.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
import { createCyberLoopObserver,
|
|
2
|
+
import { createCyberLoopObserver, AgentLoopRuntimeService, } from '../src/index.js';
|
|
3
3
|
const createMockLlm = () => {
|
|
4
4
|
let turn = 0;
|
|
5
5
|
return {
|
|
@@ -64,7 +64,7 @@ async function main() {
|
|
|
64
64
|
console.log(`[cyberloop] step=${annotation.step} kind=${annotation.frame.kind} drift=${annotation.driftLevel}`);
|
|
65
65
|
},
|
|
66
66
|
});
|
|
67
|
-
const result = await
|
|
67
|
+
const result = await AgentLoopRuntimeService.run({
|
|
68
68
|
goal: 'What does this project do?',
|
|
69
69
|
llm: createMockLlm(),
|
|
70
70
|
tools: [inspectTool],
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cyberloop-observer.js","sourceRoot":"","sources":["../../examples/cyberloop-observer.ts"],"names":[],"mappings":";AACA,OAAO,EACL,uBAAuB,EACvB,
|
|
1
|
+
{"version":3,"file":"cyberloop-observer.js","sourceRoot":"","sources":["../../examples/cyberloop-observer.ts"],"names":[],"mappings":";AACA,OAAO,EACL,uBAAuB,EACvB,uBAAuB,GAMxB,MAAM,iBAAiB,CAAC;AAEzB,MAAM,aAAa,GAAG,GAAe,EAAE;IACrC,IAAI,IAAI,GAAG,CAAC,CAAC;IACb,OAAO;QACL,IAAI,EAAE;YACJ,QAAQ,EAAE,QAAQ;YAClB,KAAK,EAAE,UAAU;YACjB,YAAY,EAAE;gBACZ,SAAS,EAAE,IAAI;gBACf,cAAc,EAAE,IAAI;gBACpB,kBAAkB,EAAE,KAAK;gBACzB,iBAAiB,EAAE,IAAI;aACxB;SACF;QACD,KAAK,CAAC,IAAI;YACR,IAAI,EAAE,CAAC;YACP,IAAI,IAAI,KAAK,CAAC,EAAE,CAAC;gBACf,OAAO;oBACL,OAAO,EAAE,8CAA8C;oBACvD,SAAS,EAAE,CAAC,EAAE,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,EAAE,MAAM,EAAE,WAAW,EAAE,EAAE,CAAC;iBAC/E,CAAC;YACJ,CAAC;YACD,OAAO,EAAE,OAAO,EAAE,iDAAiD,EAAE,CAAC;QACxE,CAAC;KACF,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,WAAW,GAAmB;IAClC,IAAI,EAAE,SAAS;IACf,WAAW,EAAE,uBAAuB;IACpC,UAAU,EAAE;QACV,IAAI,EAAE,QAAQ;QACd,UAAU,EAAE,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE;QAC1C,QAAQ,EAAE,CAAC,QAAQ,CAAC;KACrB;IACD,KAAK,CAAC,OAAO,CAAC,KAAK;QACjB,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,aAAa,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC;IACpE,CAAC;CACF,CAAC;AAEF;;;GAGG;AACH,MAAM,mBAAmB,GAAsD;IAC7E,IAAI,EAAE,YAAY;IAClB,KAAK,CAAC,UAAU,CAAC,GAAG;QAClB,MAAM,aAAa,GAAG,GAAG,CAAC,KAAK,CAAC,IAAI,KAAK,MAAM,IAAI,GAAG,CAAC,KAAK,CAAC,EAAE,KAAK,KAAK,CAAC;QAC1E,OAAO;YACL,GAAG,GAAG;YACN,QAAQ,EAAE;gBACR,GAAG,GAAG,CAAC,QAAQ;gBACf,UAAU,EAAE;oBACV,QAAQ,EAAE,CAAC,aAAa;oBACxB,mBAAmB,EAAE,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;iBAC3C;aACF;SACF,CAAC;IACJ,CAAC;CACF,CAAC;AAEF,KAAK,UAAU,IAAI;IACjB,MAAM,QAAQ,GAAG,uBAAuB,CAAC;QACvC,UAAU,EAAE,CAAC,mBAAmB,CAAC;QACjC,YAAY,CAAC,UAAU;YACrB,OAAO,CAAC,GAAG,CAAC,oBAAoB,UAAU,CAAC,IAAI,SAAS,UAAU,CAAC,KAAK,CAAC,IAAI,UAAU,UAAU,CAAC,UAAU,EAAE,CAAC,CAAC;QAClH,CAAC;KACF,CAAC,CAAC;IAEH,MAAM,MAAM,GAAG,MAAM,uBAAuB,CAAC,GAAG,CAAC;QAC/C,IAAI,EAAE,4BAA4B;QAClC,GAAG,EAAE,aAAa,EAAE;QACpB,KAAK,EAAE,CAAC,WAAW,CAAC;QACpB,mBAAmB,EAAE,KAAK;QAC1B,QAAQ,EAAE,CAAC;QACX,OAAO,EAAE,QAAQ,CAAC,WAAW;KAC9B,CAAC,CAAC;IACH,MAAM,QAAQ,CAAC,KAAK,EAAE,CAAC;IAEvB,OAAO,CAAC,GAAG,CAAC,oBAAoB,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC;AACpD,CAAC;AAED,MAAM,IAAI,EAAE,CAAC"}
|
|
@@ -13,22 +13,22 @@
|
|
|
13
13
|
// ---------------------------------------------------------------------------
|
|
14
14
|
import { join } from 'node:path';
|
|
15
15
|
import { inferProviderFromModel } from '../src/core/llm/providers.js';
|
|
16
|
-
import {
|
|
17
|
-
import {
|
|
16
|
+
import { RuntimeCredentialService } from '../src/core/runtime/credentials/index.js';
|
|
17
|
+
import { FileHeartbeatTaskRepository, HeartbeatSchedulerService, } from '../src/core/heartbeat/index.js';
|
|
18
18
|
const DEFAULT_EXAMPLE_MODEL = 'gpt-5.1-codex-mini';
|
|
19
19
|
const STORE_DIR = join(process.cwd(), '.heddle', 'examples', 'heartbeat-scheduler');
|
|
20
20
|
const TASK_ID = 'demo-maintenance';
|
|
21
21
|
async function main() {
|
|
22
22
|
const model = process.env.HEDDLE_EXAMPLE_MODEL ?? process.env.OPENAI_MODEL ?? DEFAULT_EXAMPLE_MODEL;
|
|
23
23
|
const provider = inferProviderFromModel(model);
|
|
24
|
-
const apiKey = resolveProviderApiKey(provider);
|
|
24
|
+
const apiKey = RuntimeCredentialService.resolveProviderApiKey(provider);
|
|
25
25
|
if (!apiKey) {
|
|
26
26
|
throw new Error(`Missing API key for ${provider}. ` +
|
|
27
27
|
'Set OPENAI_API_KEY for OpenAI models or ANTHROPIC_API_KEY for Claude models before running this example.');
|
|
28
28
|
}
|
|
29
|
-
const store =
|
|
29
|
+
const store = new FileHeartbeatTaskRepository({ dir: STORE_DIR });
|
|
30
30
|
await ensureDemoTask(store, model);
|
|
31
|
-
const result = await
|
|
31
|
+
const result = await HeartbeatSchedulerService.runDueTasks({
|
|
32
32
|
store,
|
|
33
33
|
now: () => new Date(),
|
|
34
34
|
heartbeat: {
|
|
@@ -59,11 +59,15 @@ async function ensureDemoTask(store, model) {
|
|
|
59
59
|
name: 'Demo maintenance heartbeat',
|
|
60
60
|
task: 'Check whether there is useful autonomous maintenance work to do for this demo. No tools are available in this scheduler example. If no useful work is available, explain that the task should pause.',
|
|
61
61
|
enabled: true,
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
62
|
+
schedule: {
|
|
63
|
+
intervalMs: 60_000,
|
|
64
|
+
nextRunAt: new Date(Date.now() - 1_000).toISOString(),
|
|
65
|
+
},
|
|
66
|
+
runtime: {
|
|
67
|
+
model,
|
|
68
|
+
maxSteps: 2,
|
|
69
|
+
workspaceRoot: process.cwd(),
|
|
70
|
+
},
|
|
67
71
|
};
|
|
68
72
|
await store.saveTask(task);
|
|
69
73
|
}
|
|
@@ -74,7 +78,7 @@ function formatSchedulerEvent(event) {
|
|
|
74
78
|
case 'heartbeat.task.started':
|
|
75
79
|
return `[event] task.started id=${event.taskId} loadedCheckpoint=${event.loadedCheckpoint}`;
|
|
76
80
|
case 'heartbeat.task.finished':
|
|
77
|
-
return `[event] task.finished id=${event.taskId} decision=${event.decision} enabled=${event.enabled} nextRunAt=${event.nextRunAt ?? 'none'}`;
|
|
81
|
+
return `[event] task.finished id=${event.taskId} decision=${event.record.result.decision} enabled=${event.record.task.enabled} nextRunAt=${event.record.task.schedule.nextRunAt ?? 'none'}`;
|
|
78
82
|
case 'heartbeat.task.failed':
|
|
79
83
|
return `[event] task.failed id=${event.taskId} error=${event.error}`;
|
|
80
84
|
default:
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"heartbeat-scheduler.js","sourceRoot":"","sources":["../../examples/heartbeat-scheduler.ts"],"names":[],"mappings":"AAAA,8EAA8E;AAC9E,+BAA+B;AAC/B,EAAE;AACF,SAAS;AACT,2DAA2D;AAC3D,EAAE;AACF,YAAY;AACZ,+GAA+G;AAC/G,EAAE;AACF,8EAA8E;AAC9E,+EAA+E;AAC/E,4EAA4E;AAC5E,8EAA8E;AAE9E,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,sBAAsB,EAAE,MAAM,8BAA8B,CAAC;AACtE,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"heartbeat-scheduler.js","sourceRoot":"","sources":["../../examples/heartbeat-scheduler.ts"],"names":[],"mappings":"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"}
|
|
@@ -13,20 +13,20 @@
|
|
|
13
13
|
// ---------------------------------------------------------------------------
|
|
14
14
|
import { join } from 'node:path';
|
|
15
15
|
import { inferProviderFromModel } from '../src/core/llm/providers.js';
|
|
16
|
-
import {
|
|
17
|
-
import {
|
|
16
|
+
import { RuntimeCredentialService } from '../src/core/runtime/credentials/index.js';
|
|
17
|
+
import { FileHeartbeatCheckpointRepository, StoredHeartbeatService } from '../src/core/heartbeat/index.js';
|
|
18
18
|
const DEFAULT_EXAMPLE_MODEL = 'gpt-5.1-codex-mini';
|
|
19
19
|
const CHECKPOINT_PATH = join(process.cwd(), '.heddle', 'examples', 'heartbeat-demo-checkpoint.json');
|
|
20
20
|
async function main() {
|
|
21
21
|
const model = process.env.HEDDLE_EXAMPLE_MODEL ?? process.env.OPENAI_MODEL ?? DEFAULT_EXAMPLE_MODEL;
|
|
22
22
|
const provider = inferProviderFromModel(model);
|
|
23
|
-
const apiKey = resolveProviderApiKey(provider);
|
|
23
|
+
const apiKey = RuntimeCredentialService.resolveProviderApiKey(provider);
|
|
24
24
|
if (!apiKey) {
|
|
25
25
|
throw new Error(`Missing API key for ${provider}. ` +
|
|
26
26
|
'Set OPENAI_API_KEY for OpenAI models or ANTHROPIC_API_KEY for Claude models before running this example.');
|
|
27
27
|
}
|
|
28
|
-
const store =
|
|
29
|
-
const result = await
|
|
28
|
+
const store = new FileHeartbeatCheckpointRepository({ path: CHECKPOINT_PATH });
|
|
29
|
+
const result = await StoredHeartbeatService.run({
|
|
30
30
|
store,
|
|
31
31
|
task: 'Check whether there is useful autonomous work to do for this demo. No tools are available in this demo wake cycle. If no external task is available, explain that this wake cycle should pause.',
|
|
32
32
|
model,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"heartbeat.js","sourceRoot":"","sources":["../../examples/heartbeat.ts"],"names":[],"mappings":"AAAA,8EAA8E;AAC9E,qBAAqB;AACrB,EAAE;AACF,SAAS;AACT,iDAAiD;AACjD,EAAE;AACF,YAAY;AACZ,qGAAqG;AACrG,EAAE;AACF,+EAA+E;AAC/E,iFAAiF;AACjF,iEAAiE;AACjE,8EAA8E;AAE9E,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,sBAAsB,EAAE,MAAM,8BAA8B,CAAC;AACtE,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"heartbeat.js","sourceRoot":"","sources":["../../examples/heartbeat.ts"],"names":[],"mappings":"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"}
|
|
@@ -11,7 +11,7 @@
|
|
|
11
11
|
* Usage:
|
|
12
12
|
* HEDDLE_EXAMPLE_MODEL=gpt-5.1-codex-mini npx tsx examples/host-events.ts
|
|
13
13
|
*/
|
|
14
|
-
import {
|
|
14
|
+
import { AgentLoopRuntimeService, HeartbeatWakeService } from '../src/index.js';
|
|
15
15
|
// ---------------------------------------------------------------------------
|
|
16
16
|
// Mock LLM for demo purposes (replace with real LLM in production)
|
|
17
17
|
// ---------------------------------------------------------------------------
|
|
@@ -158,7 +158,7 @@ async function exampleBasicRun() {
|
|
|
158
158
|
console.log('# Example 1: Basic Run with Event Logging');
|
|
159
159
|
console.log('#'.repeat(60));
|
|
160
160
|
const logger = new StructuredEventLogger();
|
|
161
|
-
await
|
|
161
|
+
await AgentLoopRuntimeService.run({
|
|
162
162
|
goal: 'Simple demo task',
|
|
163
163
|
llm: createMockLlm('success'),
|
|
164
164
|
tools: [],
|
|
@@ -176,7 +176,7 @@ async function exampleToolTracking() {
|
|
|
176
176
|
console.log('# Example 2: Tool Execution Tracking');
|
|
177
177
|
console.log('#'.repeat(60));
|
|
178
178
|
const logger = new StructuredEventLogger();
|
|
179
|
-
await
|
|
179
|
+
await AgentLoopRuntimeService.run({
|
|
180
180
|
goal: 'Use echo tool',
|
|
181
181
|
llm: createMockLlm('tool-use'),
|
|
182
182
|
tools: [echoTool],
|
|
@@ -194,7 +194,7 @@ async function exampleHeartbeatEscalation() {
|
|
|
194
194
|
console.log('# Example 3: Heartbeat with Escalation Routing');
|
|
195
195
|
console.log('#'.repeat(60));
|
|
196
196
|
const logger = new StructuredEventLogger();
|
|
197
|
-
const result = await
|
|
197
|
+
const result = await HeartbeatWakeService.run({
|
|
198
198
|
task: 'Background maintenance task',
|
|
199
199
|
llm: createMockLlm('escalate'),
|
|
200
200
|
tools: [],
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"host-events.js","sourceRoot":"","sources":["../../examples/host-events.ts"],"names":[],"mappings":";AACA;;;;;;;;;;;GAWG;AAEH,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"host-events.js","sourceRoot":"","sources":["../../examples/host-events.ts"],"names":[],"mappings":";AACA;;;;;;;;;;;GAWG;AAEH,OAAO,EAAE,uBAAuB,EAAE,oBAAoB,EAAiD,MAAM,iBAAiB,CAAC;AAG/H,8EAA8E;AAC9E,mEAAmE;AACnE,8EAA8E;AAC9E,MAAM,aAAa,GAAG,CAAC,QAA6C,EAAc,EAAE;IAClF,IAAI,IAAI,GAAG,CAAC,CAAC;IACb,OAAO;QACL,IAAI,EAAE;YACJ,QAAQ,EAAE,QAAQ;YAClB,KAAK,EAAE,UAAU;YACjB,YAAY,EAAE;gBACZ,SAAS,EAAE,IAAI;gBACf,cAAc,EAAE,IAAI;gBACpB,kBAAkB,EAAE,KAAK;gBACzB,iBAAiB,EAAE,IAAI;aACxB;SACF;QACD,KAAK,CAAC,IAAI;YACR,IAAI,EAAE,CAAC;YAEP,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;gBAC3B,OAAO,EAAE,OAAO,EAAE,sBAAsB,IAAI,EAAE,EAAE,CAAC;YACnD,CAAC;YAED,IAAI,QAAQ,KAAK,UAAU,IAAI,IAAI,KAAK,CAAC,EAAE,CAAC;gBAC1C,OAAO;oBACL,OAAO,EAAE,kBAAkB;oBAC3B,SAAS,EAAE,CAAC,EAAE,EAAE,EAAE,QAAQ,IAAI,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE,CAAC;iBAC/E,CAAC;YACJ,CAAC;YAED,IAAI,QAAQ,KAAK,UAAU,EAAE,CAAC;gBAC5B,OAAO;oBACL,OAAO,EAAE,yEAAyE;iBACnF,CAAC;YACJ,CAAC;YAED,OAAO,EAAE,OAAO,EAAE,QAAQ,IAAI,YAAY,EAAE,CAAC;QAC/C,CAAC;KACF,CAAC;AACJ,CAAC,CAAC;AAEF,8EAA8E;AAC9E,gBAAgB;AAChB,8EAA8E;AAC9E,MAAM,QAAQ,GAAmB;IAC/B,IAAI,EAAE,MAAM;IACZ,WAAW,EAAE,mBAAmB;IAChC,UAAU,EAAE;QACV,IAAI,EAAE,QAAQ;QACd,UAAU,EAAE,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE;QAC3C,QAAQ,EAAE,CAAC,SAAS,CAAC;KACtB;IACD,KAAK,CAAC,OAAO,CAAC,KAAc;QAC1B,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;IACrC,CAAC;CACF,CAAC;AAEF,8EAA8E;AAC9E,uEAAuE;AACvE,8EAA8E;AAC9E,MAAM,qBAAqB;IACjB,KAAK,GAAkB,IAAI,CAAC;IAC5B,MAAM,GAA0B,EAAE,CAAC;IAE3C,OAAO,CAAC,KAA0B;QAChC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAExB,iDAAiD;QACjD,IAAI,CAAC,IAAI,CAAC,KAAK,IAAI,OAAO,IAAI,KAAK,EAAE,CAAC;YACpC,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC;YACzB,OAAO,CAAC,GAAG,CAAC,qBAAqB,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC;YAC/C,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC;QAC9B,CAAC;QAED,QAAQ,KAAK,CAAC,IAAI,EAAE,CAAC;YACnB,KAAK,cAAc;gBACjB,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC;gBACjC,OAAO,CAAC,GAAG,CAAC,YAAY,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;gBACtC,OAAO,CAAC,GAAG,CAAC,aAAa,KAAK,CAAC,KAAK,KAAK,KAAK,CAAC,QAAQ,GAAG,CAAC,CAAC;gBAC5D,IAAI,KAAK,CAAC,qBAAqB,EAAE,CAAC;oBAChC,OAAO,CAAC,GAAG,CAAC,oBAAoB,KAAK,CAAC,qBAAqB,EAAE,CAAC,CAAC;gBACjE,CAAC;gBACD,MAAM;YAER,KAAK,cAAc;gBACjB,OAAO,CAAC,GAAG,CAAC,kCAAkC,KAAK,CAAC,cAAc,EAAE,CAAC,CAAC;gBACtE,OAAO,CAAC,GAAG,CAAC,0BAA0B,KAAK,CAAC,gBAAgB,EAAE,CAAC,CAAC;gBAChE,MAAM;YAER,KAAK,kBAAkB;gBACrB,4CAA4C;gBAC5C,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC;oBACf,OAAO,CAAC,GAAG,CAAC,wBAAwB,KAAK,CAAC,IAAI,OAAO,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC;gBACtF,CAAC;gBACD,MAAM;YAER,KAAK,cAAc;gBACjB,OAAO,CAAC,GAAG,CAAC,2BAA2B,KAAK,CAAC,IAAI,MAAM,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;gBACrE,OAAO,CAAC,GAAG,CAAC,mBAAmB,KAAK,CAAC,UAAU,EAAE,CAAC,CAAC;gBACnD,OAAO,CAAC,GAAG,CAAC,yBAAyB,KAAK,CAAC,gBAAgB,EAAE,CAAC,CAAC;gBAC/D,MAAM;YAER,KAAK,gBAAgB;gBACnB,OAAO,CAAC,GAAG,CAAC,4BAA4B,KAAK,CAAC,IAAI,MAAM,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;gBACtE,OAAO,CAAC,GAAG,CAAC,gBAAgB,KAAK,CAAC,UAAU,IAAI,CAAC,CAAC;gBAClD,OAAO,CAAC,GAAG,CAAC,cAAc,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC;gBACpE,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;oBAC3C,OAAO,CAAC,GAAG,CAAC,aAAa,KAAK,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC;gBACjD,CAAC;gBACD,MAAM;YAER,KAAK,OAAO;gBACV,qDAAqD;gBACrD,IAAI,KAAK,CAAC,KAAK,CAAC,IAAI,KAAK,cAAc,EAAE,CAAC;oBACxC,OAAO,CAAC,GAAG,CAAC,6BAA6B,KAAK,CAAC,KAAK,CAAC,OAAO,GAAG,CAAC,CAAC;gBACnE,CAAC;gBACD,MAAM;YAER,KAAK,kBAAkB;gBACrB,OAAO,CAAC,GAAG,CAAC,+BAA+B,KAAK,CAAC,IAAI,GAAG,CAAC,CAAC;gBAC1D,OAAO,CAAC,GAAG,CAAC,sBAAsB,KAAK,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC,CAAC;gBAC5D,OAAO,CAAC,GAAG,CAAC,kBAAkB,KAAK,CAAC,UAAU,CAAC,SAAS,EAAE,CAAC,CAAC;gBAC5D,MAAM;YAER,KAAK,oBAAoB;gBACvB,OAAO,CAAC,GAAG,CAAC,4BAA4B,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC;gBAC1D,OAAO,CAAC,GAAG,CAAC,eAAe,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;gBAC5C,OAAO,CAAC,GAAG,CAAC,eAAe,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC;gBAC5D,MAAM;YAER,KAAK,qBAAqB;gBACxB,OAAO,CAAC,GAAG,CAAC,kCAAkC,KAAK,CAAC,IAAI,GAAG,CAAC,CAAC;gBAC7D,OAAO,CAAC,GAAG,CAAC,YAAY,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;gBACtC,OAAO,CAAC,GAAG,CAAC,eAAe,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;gBAC5C,OAAO,CAAC,GAAG,CAAC,eAAe,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC;gBAC7D,MAAM;YAER,KAAK,eAAe;gBAClB,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC;gBACjC,OAAO,CAAC,GAAG,CAAC,eAAe,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;gBAC5C,OAAO,CAAC,GAAG,CAAC,eAAe,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC;gBAC5D,OAAO,CAAC,GAAG,CAAC,mBAAmB,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC;gBAC3D,OAAO,CAAC,GAAG,CAAC,aAAa,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;gBAC9D,OAAO,CAAC,GAAG,CAAC,IAAI,GAAG,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC;gBACnC,MAAM;QACV,CAAC;IACH,CAAC;IAED,QAAQ;QAMN,OAAO;YACL,WAAW,EAAE,IAAI,CAAC,MAAM,CAAC,MAAM;YAC/B,SAAS,EAAE,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,cAAc,CAAC,CAAC,MAAM;YACtE,WAAW,EAAE,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,kBAAkB,CAAC,CAAC,MAAM;YAC5E,WAAW,EAAE,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,qBAAqB,CAAC,CAAC,MAAM;SAChF,CAAC;IACJ,CAAC;CACF;AAED,8EAA8E;AAC9E,wCAAwC;AACxC,8EAA8E;AAC9E,KAAK,UAAU,eAAe;IAC5B,OAAO,CAAC,GAAG,CAAC,IAAI,GAAG,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC;IACnC,OAAO,CAAC,GAAG,CAAC,2CAA2C,CAAC,CAAC;IACzD,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC;IAE5B,MAAM,MAAM,GAAG,IAAI,qBAAqB,EAAE,CAAC;IAE3C,MAAM,uBAAuB,CAAC,GAAG,CAAC;QAChC,IAAI,EAAE,kBAAkB;QACxB,GAAG,EAAE,aAAa,CAAC,SAAS,CAAC;QAC7B,KAAK,EAAE,EAAE;QACT,mBAAmB,EAAE,KAAK;QAC1B,QAAQ,EAAE,CAAC;QACX,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC;KAC1C,CAAC,CAAC;IAEH,OAAO,CAAC,GAAG,CAAC,aAAa,EAAE,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC;AAChD,CAAC;AAED,8EAA8E;AAC9E,mCAAmC;AACnC,8EAA8E;AAC9E,KAAK,UAAU,mBAAmB;IAChC,OAAO,CAAC,GAAG,CAAC,IAAI,GAAG,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC;IACnC,OAAO,CAAC,GAAG,CAAC,sCAAsC,CAAC,CAAC;IACpD,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC;IAE5B,MAAM,MAAM,GAAG,IAAI,qBAAqB,EAAE,CAAC;IAE3C,MAAM,uBAAuB,CAAC,GAAG,CAAC;QAChC,IAAI,EAAE,eAAe;QACrB,GAAG,EAAE,aAAa,CAAC,UAAU,CAAC;QAC9B,KAAK,EAAE,CAAC,QAAQ,CAAC;QACjB,mBAAmB,EAAE,KAAK;QAC1B,QAAQ,EAAE,CAAC;QACX,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC;KAC1C,CAAC,CAAC;IAEH,OAAO,CAAC,GAAG,CAAC,aAAa,EAAE,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC;AAChD,CAAC;AAED,8EAA8E;AAC9E,qCAAqC;AACrC,8EAA8E;AAC9E,KAAK,UAAU,0BAA0B;IACvC,OAAO,CAAC,GAAG,CAAC,IAAI,GAAG,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC;IACnC,OAAO,CAAC,GAAG,CAAC,gDAAgD,CAAC,CAAC;IAC9D,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC;IAE5B,MAAM,MAAM,GAAG,IAAI,qBAAqB,EAAE,CAAC;IAE3C,MAAM,MAAM,GAAG,MAAM,oBAAoB,CAAC,GAAG,CAAC;QAC5C,IAAI,EAAE,6BAA6B;QACnC,GAAG,EAAE,aAAa,CAAC,UAAU,CAAC;QAC9B,KAAK,EAAE,EAAE;QACT,mBAAmB,EAAE,KAAK;QAC1B,QAAQ,EAAE,CAAC;QACX,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC;KAC1C,CAAC,CAAC;IAEH,OAAO,CAAC,GAAG,CAAC,aAAa,EAAE,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC;IAC9C,OAAO,CAAC,GAAG,CAAC,wBAAwB,CAAC,CAAC;IACtC,OAAO,CAAC,GAAG,CAAC,gBAAgB,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC;IAC/C,OAAO,CAAC,GAAG,CAAC,qBAAqB,MAAM,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC,CAAC;IAE5D,yDAAyD;IACzD,IAAI,MAAM,CAAC,QAAQ,KAAK,UAAU,EAAE,CAAC;QACnC,OAAO,CAAC,GAAG,CAAC,2BAA2B,CAAC,CAAC;QACzC,OAAO,CAAC,GAAG,CAAC,4CAA4C,CAAC,CAAC;QAC1D,OAAO,CAAC,GAAG,CAAC,mDAAmD,CAAC,CAAC;IACnE,CAAC;AACH,CAAC;AAED,8EAA8E;AAC9E,OAAO;AACP,8EAA8E;AAC9E,KAAK,UAAU,IAAI;IACjB,OAAO,CAAC,GAAG,CAAC,4BAA4B,CAAC,CAAC;IAC1C,OAAO,CAAC,GAAG,CAAC,+DAA+D,CAAC,CAAC;IAE7E,MAAM,eAAe,EAAE,CAAC;IACxB,MAAM,mBAAmB,EAAE,CAAC;IAC5B,MAAM,0BAA0B,EAAE,CAAC;IAEnC,OAAO,CAAC,GAAG,CAAC,IAAI,GAAG,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC;IACnC,OAAO,CAAC,GAAG,CAAC,uCAAuC,CAAC,CAAC;IACrD,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC;AAC9B,CAAC;AAED,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;IACrB,OAAO,CAAC,KAAK,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;IAC/B,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC"}
|
|
@@ -13,9 +13,8 @@
|
|
|
13
13
|
//
|
|
14
14
|
// For a no-key test of this API, see src/__tests__/agent-loop.test.ts.
|
|
15
15
|
// ---------------------------------------------------------------------------
|
|
16
|
-
import {
|
|
17
|
-
import {
|
|
18
|
-
import { resolveProviderApiKey } from '../src/core/runtime/api-keys.js';
|
|
16
|
+
import { AgentLoopCheckpointService, AgentLoopRuntimeService } from '../src/core/runtime/loop/index.js';
|
|
17
|
+
import { RuntimeCredentialService } from '../src/core/runtime/credentials/index.js';
|
|
19
18
|
import { inferProviderFromModel } from '../src/core/llm/providers.js';
|
|
20
19
|
const DEFAULT_EXAMPLE_MODEL = 'gpt-5.1-codex-mini';
|
|
21
20
|
const echoTool = {
|
|
@@ -42,12 +41,12 @@ const echoTool = {
|
|
|
42
41
|
async function main() {
|
|
43
42
|
const model = process.env.HEDDLE_EXAMPLE_MODEL ?? process.env.OPENAI_MODEL ?? DEFAULT_EXAMPLE_MODEL;
|
|
44
43
|
const provider = inferProviderFromModel(model);
|
|
45
|
-
const apiKey = resolveProviderApiKey(provider);
|
|
44
|
+
const apiKey = RuntimeCredentialService.resolveProviderApiKey(provider);
|
|
46
45
|
if (!apiKey) {
|
|
47
46
|
throw new Error(`Missing API key for ${provider}. ` +
|
|
48
47
|
'Set OPENAI_API_KEY for OpenAI models or ANTHROPIC_API_KEY for Claude models before running this example.');
|
|
49
48
|
}
|
|
50
|
-
const result = await
|
|
49
|
+
const result = await AgentLoopRuntimeService.run({
|
|
51
50
|
goal: 'Use the echo_context tool once, then explain in two short sentences how another app can embed Heddle as a programmatic agent loop.',
|
|
52
51
|
model,
|
|
53
52
|
apiKey,
|
|
@@ -63,7 +62,7 @@ async function main() {
|
|
|
63
62
|
});
|
|
64
63
|
console.log('\nFinal answer:\n');
|
|
65
64
|
console.log(result.summary);
|
|
66
|
-
const checkpoint =
|
|
65
|
+
const checkpoint = AgentLoopCheckpointService.createCheckpoint(result.state);
|
|
67
66
|
console.log('\nCheckpoint preview:\n');
|
|
68
67
|
console.log(JSON.stringify({
|
|
69
68
|
version: checkpoint.version,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"programmatic-loop.js","sourceRoot":"","sources":["../../examples/programmatic-loop.ts"],"names":[],"mappings":"AAAA,8EAA8E;AAC9E,6BAA6B;AAC7B,EAAE;AACF,SAAS;AACT,oDAAoD;AACpD,EAAE;AACF,YAAY;AACZ,wGAAwG;AACxG,EAAE;AACF,8EAA8E;AAC9E,0EAA0E;AAC1E,gCAAgC;AAChC,EAAE;AACF,uEAAuE;AACvE,8EAA8E;AAE9E,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"programmatic-loop.js","sourceRoot":"","sources":["../../examples/programmatic-loop.ts"],"names":[],"mappings":"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"}
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
// ---------------------------------------------------------------------------
|
|
7
7
|
import { writeFileSync, mkdirSync } from 'node:fs';
|
|
8
8
|
import { join } from 'node:path';
|
|
9
|
-
import { DEFAULT_OPENAI_MODEL,
|
|
9
|
+
import { DEFAULT_OPENAI_MODEL, AgentRunService, createOpenAiAdapter, listFilesTool, readFileTool, editFileTool, searchFilesTool, createRunShellInspectTool, createRunShellMutateTool, formatTraceForConsole, createLogger, } from '../src/index.js';
|
|
10
10
|
async function main() {
|
|
11
11
|
const goal = process.argv[2];
|
|
12
12
|
if (!goal) {
|
|
@@ -29,7 +29,7 @@ async function main() {
|
|
|
29
29
|
createRunShellInspectTool(),
|
|
30
30
|
createRunShellMutateTool(),
|
|
31
31
|
];
|
|
32
|
-
const result = await
|
|
32
|
+
const result = await AgentRunService.run({ goal, llm, tools, maxSteps, logger });
|
|
33
33
|
// Print formatted trace
|
|
34
34
|
console.log(formatTraceForConsole(result.trace));
|
|
35
35
|
// Save JSON trace
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"repo-investigator.js","sourceRoot":"","sources":["../../examples/repo-investigator.ts"],"names":[],"mappings":"AAAA,8EAA8E;AAC9E,6BAA6B;AAC7B,EAAE;AACF,SAAS;AACT,sFAAsF;AACtF,8EAA8E;AAE9E,OAAO,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AACnD,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EACL,oBAAoB,EACpB,
|
|
1
|
+
{"version":3,"file":"repo-investigator.js","sourceRoot":"","sources":["../../examples/repo-investigator.ts"],"names":[],"mappings":"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"}
|
package/dist/src/cli/ask.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ask.d.ts","sourceRoot":"","sources":["../../../src/cli/ask.ts"],"names":[],"mappings":"AAyBA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"ask.d.ts","sourceRoot":"","sources":["../../../src/cli/ask.ts"],"names":[],"mappings":"AAyBA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,gCAAgC,CAAC;AAO1E,MAAM,MAAM,aAAa,GAAG;IAC1B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC5B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,WAAW,CAAC,EAAE,mBAAmB,CAAC;CACnC,CAAC;AAgBF,qBAAa,UAAU;WACR,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,GAAE,aAAkB;IAuG1D,OAAO,CAAC,MAAM,CAAC,6BAA6B;mBAavB,kBAAkB;mBAyClB,4BAA4B;mBAS5B,mBAAmB;IAaxC,OAAO,CAAC,MAAM,CAAC,iBAAiB;IA+ChC,OAAO,CAAC,MAAM,CAAC,aAAa;IAQ5B,OAAO,CAAC,MAAM,CAAC,qBAAqB;IAkBpC,OAAO,CAAC,MAAM,CAAC,gBAAgB;CAYhC"}
|
package/dist/src/cli/ask.js
CHANGED
|
@@ -12,9 +12,9 @@
|
|
|
12
12
|
*/
|
|
13
13
|
import { readFileSync } from 'node:fs';
|
|
14
14
|
import { join } from 'node:path';
|
|
15
|
-
import { appendMemoryCatalogSystemContext, DEFAULT_OPENAI_MODEL, inferProviderFromModel, formatTraceForConsole, createLogger,
|
|
15
|
+
import { appendMemoryCatalogSystemContext, DEFAULT_OPENAI_MODEL, inferProviderFromModel, formatTraceForConsole, createLogger, RuntimeCredentialService, } from '../index.js';
|
|
16
16
|
import { createConversationEngine } from '../core/chat/engine/index.js';
|
|
17
|
-
import {
|
|
17
|
+
import { RuntimeWorkspaceService } from '../core/runtime/workspaces/index.js';
|
|
18
18
|
import { createDaemonControlPlaneClient } from './remote/control-plane-client.js';
|
|
19
19
|
export class AskCliHost {
|
|
20
20
|
static async run(goal, options = {}) {
|
|
@@ -53,7 +53,7 @@ export class AskCliHost {
|
|
|
53
53
|
});
|
|
54
54
|
return;
|
|
55
55
|
}
|
|
56
|
-
const apiKeyPresent =
|
|
56
|
+
const apiKeyPresent = RuntimeCredentialService.hasCredentialForModel(model, {
|
|
57
57
|
apiKey: options.apiKey,
|
|
58
58
|
apiKeyProvider: 'explicit',
|
|
59
59
|
preferApiKey: options.preferApiKey,
|
|
@@ -131,7 +131,7 @@ export class AskCliHost {
|
|
|
131
131
|
name: options.createSessionName?.trim() || `Ask ${new Date().toISOString()}`,
|
|
132
132
|
model: options.model,
|
|
133
133
|
retention: options.createSessionName === undefined ? 'one_off' : 'reusable',
|
|
134
|
-
apiKeyPresent:
|
|
134
|
+
apiKeyPresent: RuntimeCredentialService.hasCredentialForModel(options.model, {
|
|
135
135
|
apiKey: options.apiKey,
|
|
136
136
|
apiKeyProvider: 'explicit',
|
|
137
137
|
preferApiKey: options.preferApiKey,
|
|
@@ -175,7 +175,7 @@ export class AskCliHost {
|
|
|
175
175
|
}
|
|
176
176
|
static resolveAskSession(options) {
|
|
177
177
|
if (options.createSessionName !== undefined) {
|
|
178
|
-
const workspace =
|
|
178
|
+
const workspace = RuntimeWorkspaceService.resolveContext({
|
|
179
179
|
workspaceRoot: options.workspaceRoot,
|
|
180
180
|
stateRoot: options.stateRoot,
|
|
181
181
|
}).activeWorkspace;
|
|
@@ -196,7 +196,7 @@ export class AskCliHost {
|
|
|
196
196
|
if (options.sessionId) {
|
|
197
197
|
return options.engine.sessions.require(options.sessionId);
|
|
198
198
|
}
|
|
199
|
-
const workspace =
|
|
199
|
+
const workspace = RuntimeWorkspaceService.resolveContext({
|
|
200
200
|
workspaceRoot: options.workspaceRoot,
|
|
201
201
|
stateRoot: options.stateRoot,
|
|
202
202
|
}).activeWorkspace;
|
package/dist/src/cli/ask.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ask.js","sourceRoot":"","sources":["../../../src/cli/ask.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AACH,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EACL,gCAAgC,EAChC,oBAAoB,EAIpB,sBAAsB,EACtB,qBAAqB,EACrB,YAAY,EACZ,
|
|
1
|
+
{"version":3,"file":"ask.js","sourceRoot":"","sources":["../../../src/cli/ask.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"slash-command-context.d.ts","sourceRoot":"","sources":["../../../../../src/cli/chat/adapters/slash-command-context.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"slash-command-context.d.ts","sourceRoot":"","sources":["../../../../../src/cli/chat/adapters/slash-command-context.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,iDAAiD,CAAC;AACpG,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAGnE,wBAAgB,4BAA4B,CAAC,IAAI,EAAE,gBAAgB,GAAG,4BAA4B,CA8CjG"}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { formatAuthStatusMessage, loginProviderWithOAuth, logoutProvider } from '../../auth.js';
|
|
2
|
+
import { FileHeartbeatTaskRepository } from '../../../core/heartbeat/index.js';
|
|
2
3
|
import { ChatSessionRecords } from '../../../core/chat/engine/sessions/records/index.js';
|
|
3
|
-
import { createFileHeartbeatTaskStore } from '../../../core/runtime/heartbeat-task-store.js';
|
|
4
4
|
import { join } from 'node:path';
|
|
5
5
|
export function createTuiSlashCommandContext(args) {
|
|
6
|
-
const heartbeatStore =
|
|
6
|
+
const heartbeatStore = new FileHeartbeatTaskRepository({
|
|
7
7
|
dir: join(args.stateRoot, 'heartbeat'),
|
|
8
8
|
});
|
|
9
9
|
return {
|
|
@@ -41,9 +41,9 @@ export function createTuiSlashCommandContext(args) {
|
|
|
41
41
|
summarize: ChatSessionRecords.summarize,
|
|
42
42
|
},
|
|
43
43
|
heartbeat: {
|
|
44
|
-
listTasks: heartbeatStore.listTasks,
|
|
45
|
-
listRunRecords: async (options) => await heartbeatStore.listRunRecords
|
|
46
|
-
loadRunRecord: async (id) => await heartbeatStore.loadRunRecord
|
|
44
|
+
listTasks: async () => await heartbeatStore.listTasks(),
|
|
45
|
+
listRunRecords: async (options) => await heartbeatStore.listRunRecords(options),
|
|
46
|
+
loadRunRecord: async (id) => await heartbeatStore.loadRunRecord(id),
|
|
47
47
|
},
|
|
48
48
|
};
|
|
49
49
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"slash-command-context.js","sourceRoot":"","sources":["../../../../../src/cli/chat/adapters/slash-command-context.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,uBAAuB,EAAE,sBAAsB,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAChG,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"slash-command-context.js","sourceRoot":"","sources":["../../../../../src/cli/chat/adapters/slash-command-context.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,uBAAuB,EAAE,sBAAsB,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAChG,OAAO,EAAE,2BAA2B,EAAE,MAAM,2BAA2B,CAAC;AACxE,OAAO,EAAE,kBAAkB,EAAE,MAAM,qDAAqD,CAAC;AAGzF,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAEjC,MAAM,UAAU,4BAA4B,CAAC,IAAsB;IACjE,MAAM,cAAc,GAAG,IAAI,2BAA2B,CAAC;QACrD,GAAG,EAAE,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,WAAW,CAAC;KACvC,CAAC,CAAC;IAEH,OAAO;QACL,KAAK,EAAE;YACL,MAAM,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,WAAW;YAC9B,SAAS,EAAE,IAAI,CAAC,cAAc;YAC9B,qBAAqB,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,qBAAqB;YACvD,kBAAkB,EAAE,IAAI,CAAC,wBAAwB;YACjD,gBAAgB,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,wBAAwB;SACtD;QACD,IAAI,EAAE;YACJ,MAAM,EAAE,GAAG,EAAE,CAAC,uBAAuB,CAAC,IAAI,CAAC,mBAAmB,CAAC;YAC/D,KAAK,EAAE,CAAC,QAAQ,EAAE,EAAE,CAClB,sBAAsB,CAAC,QAAQ,EAAE;gBAC/B,SAAS,EAAE,IAAI,CAAC,mBAAmB;gBACnC,WAAW,EAAE,IAAI,CAAC,WAAW;aAC9B,CAAC;YACJ,MAAM,EAAE,CAAC,QAAQ,EAAE,EAAE,CAAC,cAAc,CAAC,QAAQ,EAAE,IAAI,CAAC,mBAAmB,CAAC;SACzE;QACD,UAAU,EAAE;YACV,aAAa,EAAE,IAAI,CAAC,mBAAmB;SACxC;QACD,KAAK,EAAE;YACL,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,YAAY,EAAE,KAAK,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC;YACtE,UAAU,EAAE,IAAI,CAAC,eAAe;SACjC;QACD,OAAO,EAAE;YACP,GAAG,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,QAAQ;YACxB,MAAM,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,cAAc;YACjC,iBAAiB,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,yBAAyB;YACvD,MAAM,EAAE,IAAI,CAAC,aAAa;YAC1B,MAAM,EAAE,IAAI,CAAC,aAAa;YAC1B,MAAM,EAAE,IAAI,CAAC,aAAa;YAC1B,MAAM,EAAE,IAAI,CAAC,aAAa;YAC1B,KAAK,EAAE,IAAI,CAAC,iBAAiB;YAC7B,SAAS,EAAE,kBAAkB,CAAC,SAAS;SACxC;QACD,SAAS,EAAE;YACT,SAAS,EAAE,KAAK,IAAI,EAAE,CAAC,MAAM,cAAc,CAAC,SAAS,EAAE;YACvD,cAAc,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,CAAC,MAAM,cAAc,CAAC,cAAc,CAAC,OAAO,CAAC;YAC/E,aAAa,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,CAAC,MAAM,cAAc,CAAC,aAAa,CAAC,EAAE,CAAC;SACpE;KACF,CAAC;AACJ,CAAC"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { ResolvedRuntimeHost } from '../../../core/runtime/
|
|
1
|
+
import type { ResolvedRuntimeHost } from '../../../core/runtime/daemon/index.js';
|
|
2
2
|
export declare function RuntimeHostInterstitial({ runtimeHost, }: {
|
|
3
3
|
runtimeHost: Extract<ResolvedRuntimeHost, {
|
|
4
4
|
kind: 'daemon';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RuntimeHostInterstitial.d.ts","sourceRoot":"","sources":["../../../../../src/cli/chat/components/RuntimeHostInterstitial.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"RuntimeHostInterstitial.d.ts","sourceRoot":"","sources":["../../../../../src/cli/chat/components/RuntimeHostInterstitial.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,gCAAgC,CAAC;AAE1E,wBAAgB,uBAAuB,CAAC,EACtC,WAAW,GACZ,EAAE;IACD,WAAW,EAAE,OAAO,CAAC,mBAAmB,EAAE;QAAE,IAAI,EAAE,QAAQ,CAAA;KAAE,CAAC,CAAC;CAC/D,2CA4CA"}
|
|
@@ -1,8 +1,7 @@
|
|
|
1
|
-
import type { ToolCall } from '../../../../../index.js';
|
|
2
1
|
import type { ConversationSessionService } from '../../../../../core/chat/engine/types.js';
|
|
2
|
+
import type { ToolCall, ToolDefinition } from '../../../../../core/types.js';
|
|
3
3
|
import type { ChatRuntimeConfig } from '../../../utils/runtime.js';
|
|
4
4
|
import type { ActionState } from '../useAgentRunController.js';
|
|
5
|
-
import type { ToolDefinition } from '../../../../../index.js';
|
|
6
5
|
import type { ChatSession } from '../../../state/types.js';
|
|
7
6
|
export declare function executeTuiDirectShell(args: {
|
|
8
7
|
command: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tui-direct-shell.d.ts","sourceRoot":"","sources":["../../../../../../../src/cli/chat/hooks/controllers/run/tui-direct-shell.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"tui-direct-shell.d.ts","sourceRoot":"","sources":["../../../../../../../src/cli/chat/hooks/controllers/run/tui-direct-shell.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,6BAA6B,CAAC;AAG9E,OAAO,KAAK,EAAE,QAAQ,EAAE,cAAc,EAAc,MAAM,iBAAiB,CAAC;AAE5E,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAGnE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAC/D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAE3D,wBAAsB,qBAAqB,CAAC,IAAI,EAAE;IAChD,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,EAAE,MAAM,CAAC;IACrB,KAAK,EAAE,MAAM,CAAC;IACd,eAAe,EAAE,MAAM,CAAC;IACxB,aAAa,EAAE,WAAW,GAAG,SAAS,CAAC;IACvC,OAAO,EAAE,iBAAiB,CAAC;IAC3B,KAAK,EAAE,cAAc,EAAE,CAAC;IACxB,KAAK,EAAE,WAAW,CAAC;IACnB,cAAc,EAAE,0BAA0B,CAAC;IAC3C,eAAe,EAAE,MAAM,IAAI,CAAC;IAC5B,oBAAoB,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,KAAK,IAAI,CAAC;IACxF,iBAAiB,EAAE,CAAC,IAAI,EAAE,QAAQ,KAAK,OAAO,CAAC;IAC/C,uBAAuB,EAAE,CAAC,IAAI,EAAE,QAAQ,KAAK,IAAI,CAAC;CACnD,iBAoKA"}
|