pulseed 0.6.1 → 0.6.2
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 +1 -1
- package/dist/adapters/types/a2a.d.ts +24 -24
- package/dist/base/config/global-config.d.ts +4 -4
- package/dist/base/state/state-manager-goal-write.d.ts +1 -1
- package/dist/base/state/state-manager-goal-write.d.ts.map +1 -1
- package/dist/base/state/state-manager.d.ts +2 -6
- package/dist/base/state/state-manager.d.ts.map +1 -1
- package/dist/base/state/state-manager.js.map +1 -1
- package/dist/base/state/state-write-fence.d.ts +7 -0
- package/dist/base/state/state-write-fence.d.ts.map +1 -0
- package/dist/base/state/state-write-fence.js +2 -0
- package/dist/base/state/state-write-fence.js.map +1 -0
- package/dist/base/types/companion.d.ts +2 -0
- package/dist/base/types/companion.d.ts.map +1 -0
- package/dist/base/types/companion.js +2 -0
- package/dist/base/types/companion.js.map +1 -0
- package/dist/base/types/index.d.ts +1 -0
- package/dist/base/types/index.d.ts.map +1 -1
- package/dist/base/types/index.js +1 -0
- package/dist/base/types/index.js.map +1 -1
- package/dist/index.d.ts +4 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -1
- package/dist/index.js.map +1 -1
- package/dist/interface/chat/chat-event-state.d.ts +2 -0
- package/dist/interface/chat/chat-event-state.d.ts.map +1 -1
- package/dist/interface/chat/chat-event-state.js +28 -11
- package/dist/interface/chat/chat-event-state.js.map +1 -1
- package/dist/interface/chat/chat-events.d.ts +9 -1
- package/dist/interface/chat/chat-events.d.ts.map +1 -1
- package/dist/interface/chat/chat-history.d.ts +4739 -1
- package/dist/interface/chat/chat-history.d.ts.map +1 -1
- package/dist/interface/chat/chat-history.js +40 -2
- package/dist/interface/chat/chat-history.js.map +1 -1
- package/dist/interface/chat/chat-runner-commands.d.ts +2 -32
- package/dist/interface/chat/chat-runner-commands.d.ts.map +1 -1
- package/dist/interface/chat/chat-runner-commands.js +2 -2
- package/dist/interface/chat/chat-runner-commands.js.map +1 -1
- package/dist/interface/chat/chat-runner-contracts.d.ts +152 -0
- package/dist/interface/chat/chat-runner-contracts.d.ts.map +1 -0
- package/dist/interface/chat/chat-runner-contracts.js +2 -0
- package/dist/interface/chat/chat-runner-contracts.js.map +1 -0
- package/dist/interface/chat/chat-runner-event-bridge.d.ts +8 -2
- package/dist/interface/chat/chat-runner-event-bridge.d.ts.map +1 -1
- package/dist/interface/chat/chat-runner-event-bridge.js +76 -11
- package/dist/interface/chat/chat-runner-event-bridge.js.map +1 -1
- package/dist/interface/chat/chat-runner-routes.d.ts +66 -12
- package/dist/interface/chat/chat-runner-routes.d.ts.map +1 -1
- package/dist/interface/chat/chat-runner-routes.js +322 -30
- package/dist/interface/chat/chat-runner-routes.js.map +1 -1
- package/dist/interface/chat/chat-runner-runtime.d.ts +1 -1
- package/dist/interface/chat/chat-runner-runtime.d.ts.map +1 -1
- package/dist/interface/chat/chat-runner-runtime.js +4 -0
- package/dist/interface/chat/chat-runner-runtime.js.map +1 -1
- package/dist/interface/chat/chat-runner.d.ts +10 -71
- package/dist/interface/chat/chat-runner.d.ts.map +1 -1
- package/dist/interface/chat/chat-runner.js +403 -58
- package/dist/interface/chat/chat-runner.js.map +1 -1
- package/dist/interface/chat/chat-session-store.d.ts +2 -0
- package/dist/interface/chat/chat-session-store.d.ts.map +1 -1
- package/dist/interface/chat/chat-session-store.js +3 -6
- package/dist/interface/chat/chat-session-store.js.map +1 -1
- package/dist/interface/chat/cross-platform-session-global.d.ts +2 -1
- package/dist/interface/chat/cross-platform-session-global.d.ts.map +1 -1
- package/dist/interface/chat/cross-platform-session-global.js +4 -10
- package/dist/interface/chat/cross-platform-session-global.js.map +1 -1
- package/dist/interface/chat/cross-platform-session.d.ts +30 -1
- package/dist/interface/chat/cross-platform-session.d.ts.map +1 -1
- package/dist/interface/chat/cross-platform-session.js +413 -52
- package/dist/interface/chat/cross-platform-session.js.map +1 -1
- package/dist/interface/chat/event-subscriber.js +2 -2
- package/dist/interface/chat/event-subscriber.js.map +1 -1
- package/dist/interface/chat/failure-recovery.js +1 -1
- package/dist/interface/chat/failure-recovery.js.map +1 -1
- package/dist/interface/chat/freeform-route-classifier.d.ts +5 -5
- package/dist/interface/chat/freeform-route-classifier.js +3 -2
- package/dist/interface/chat/freeform-route-classifier.js.map +1 -1
- package/dist/interface/chat/gateway-setup-status.d.ts +33 -0
- package/dist/interface/chat/gateway-setup-status.d.ts.map +1 -0
- package/dist/interface/chat/gateway-setup-status.js +44 -0
- package/dist/interface/chat/gateway-setup-status.js.map +1 -0
- package/dist/interface/chat/ingress-router.d.ts +22 -0
- package/dist/interface/chat/ingress-router.d.ts.map +1 -1
- package/dist/interface/chat/ingress-router.js +148 -11
- package/dist/interface/chat/ingress-router.js.map +1 -1
- package/dist/interface/chat/operation-progress.d.ts +17 -0
- package/dist/interface/chat/operation-progress.d.ts.map +1 -0
- package/dist/interface/chat/operation-progress.js +29 -0
- package/dist/interface/chat/operation-progress.js.map +1 -0
- package/dist/interface/chat/setup-config-write.d.ts +27 -0
- package/dist/interface/chat/setup-config-write.d.ts.map +1 -0
- package/dist/interface/chat/setup-config-write.js +79 -0
- package/dist/interface/chat/setup-config-write.js.map +1 -0
- package/dist/interface/chat/setup-dialogue.d.ts +199 -0
- package/dist/interface/chat/setup-dialogue.d.ts.map +1 -0
- package/dist/interface/chat/setup-dialogue.js +97 -0
- package/dist/interface/chat/setup-dialogue.js.map +1 -0
- package/dist/interface/chat/setup-secret-intake.d.ts +68 -0
- package/dist/interface/chat/setup-secret-intake.d.ts.map +1 -0
- package/dist/interface/chat/setup-secret-intake.js +84 -0
- package/dist/interface/chat/setup-secret-intake.js.map +1 -0
- package/dist/interface/chat/turn-language.d.ts +23 -0
- package/dist/interface/chat/turn-language.d.ts.map +1 -0
- package/dist/interface/chat/turn-language.js +46 -0
- package/dist/interface/chat/turn-language.js.map +1 -0
- package/dist/interface/cli/cli-command-registry.d.ts +1 -1
- package/dist/interface/cli/cli-command-registry.d.ts.map +1 -1
- package/dist/interface/cli/cli-runner.js +1 -1
- package/dist/interface/cli/cli-runner.js.map +1 -1
- package/dist/interface/cli/commands/daemon.d.ts.map +1 -1
- package/dist/interface/cli/commands/daemon.js +3 -0
- package/dist/interface/cli/commands/daemon.js.map +1 -1
- package/dist/interface/cli/commands/operator-binding-status.d.ts +59 -0
- package/dist/interface/cli/commands/operator-binding-status.d.ts.map +1 -0
- package/dist/interface/cli/commands/operator-binding-status.js +257 -0
- package/dist/interface/cli/commands/operator-binding-status.js.map +1 -0
- package/dist/interface/cli/commands/run.d.ts +2 -2
- package/dist/interface/cli/commands/run.d.ts.map +1 -1
- package/dist/interface/cli/commands/run.js.map +1 -1
- package/dist/interface/cli/commands/runtime.d.ts.map +1 -1
- package/dist/interface/cli/commands/runtime.js +8 -1
- package/dist/interface/cli/commands/runtime.js.map +1 -1
- package/dist/interface/cli/commands/setup/steps-gateway.js +14 -3
- package/dist/interface/cli/commands/setup/steps-gateway.js.map +1 -1
- package/dist/interface/cli/commands/setup-wizard.d.ts +31 -0
- package/dist/interface/cli/commands/setup-wizard.d.ts.map +1 -1
- package/dist/interface/cli/commands/setup-wizard.js +88 -0
- package/dist/interface/cli/commands/setup-wizard.js.map +1 -1
- package/dist/interface/cli/commands/telegram.d.ts.map +1 -1
- package/dist/interface/cli/commands/telegram.js +27 -3
- package/dist/interface/cli/commands/telegram.js.map +1 -1
- package/dist/interface/cli/setup.d.ts +3 -3
- package/dist/interface/cli/setup.d.ts.map +1 -1
- package/dist/interface/cli/setup.js +3 -2
- package/dist/interface/cli/setup.js.map +1 -1
- package/dist/interface/cli/utils/loop-runner.d.ts +1 -1
- package/dist/interface/cli/utils/loop-runner.d.ts.map +1 -1
- package/dist/interface/cli/utils.js +1 -1
- package/dist/interface/tui/actions.d.ts.map +1 -1
- package/dist/interface/tui/actions.js +14 -6
- package/dist/interface/tui/actions.js.map +1 -1
- package/dist/interface/tui/app.d.ts +1 -7
- package/dist/interface/tui/app.d.ts.map +1 -1
- package/dist/interface/tui/app.js +71 -120
- package/dist/interface/tui/app.js.map +1 -1
- package/dist/interface/tui/chat-surface.d.ts +1 -0
- package/dist/interface/tui/chat-surface.d.ts.map +1 -1
- package/dist/interface/tui/chat-surface.js +15 -0
- package/dist/interface/tui/chat-surface.js.map +1 -1
- package/dist/interface/tui/entry-approval.js +2 -2
- package/dist/interface/tui/entry-approval.js.map +1 -1
- package/dist/interface/tui/entry-deps.d.ts +1 -1
- package/dist/interface/tui/entry-deps.d.ts.map +1 -1
- package/dist/interface/tui/entry-deps.js +54 -8
- package/dist/interface/tui/entry-deps.js.map +1 -1
- package/dist/interface/tui/input-action.d.ts +49 -0
- package/dist/interface/tui/input-action.d.ts.map +1 -0
- package/dist/interface/tui/input-action.js +46 -0
- package/dist/interface/tui/input-action.js.map +1 -0
- package/dist/interface/tui/markdown-renderer.d.ts.map +1 -1
- package/dist/interface/tui/markdown-renderer.js +4 -1
- package/dist/interface/tui/markdown-renderer.js.map +1 -1
- package/dist/interface/tui/use-loop.d.ts +1 -1
- package/dist/interface/tui/use-loop.d.ts.map +1 -1
- package/dist/orchestrator/execution/agent-loop/agent-loop-default-profile.d.ts.map +1 -1
- package/dist/orchestrator/execution/agent-loop/agent-loop-default-profile.js +14 -0
- package/dist/orchestrator/execution/agent-loop/agent-loop-default-profile.js.map +1 -1
- package/dist/orchestrator/execution/agent-loop/agent-loop-events.d.ts +3 -0
- package/dist/orchestrator/execution/agent-loop/agent-loop-events.d.ts.map +1 -1
- package/dist/orchestrator/execution/agent-loop/agent-loop-events.js.map +1 -1
- package/dist/orchestrator/execution/agent-loop/agent-loop-result.d.ts +17 -0
- package/dist/orchestrator/execution/agent-loop/agent-loop-result.d.ts.map +1 -1
- package/dist/orchestrator/execution/agent-loop/agent-loop-tool-output.d.ts +3 -0
- package/dist/orchestrator/execution/agent-loop/agent-loop-tool-output.d.ts.map +1 -1
- package/dist/orchestrator/execution/agent-loop/agent-loop-tool-runtime.d.ts +1 -0
- package/dist/orchestrator/execution/agent-loop/agent-loop-tool-runtime.d.ts.map +1 -1
- package/dist/orchestrator/execution/agent-loop/agent-loop-tool-runtime.js +20 -3
- package/dist/orchestrator/execution/agent-loop/agent-loop-tool-runtime.js.map +1 -1
- package/dist/orchestrator/execution/agent-loop/agent-loop-trace-store.d.ts.map +1 -1
- package/dist/orchestrator/execution/agent-loop/agent-loop-trace-store.js +5 -3
- package/dist/orchestrator/execution/agent-loop/agent-loop-trace-store.js.map +1 -1
- package/dist/orchestrator/execution/agent-loop/agent-timeline.d.ts +3 -1
- package/dist/orchestrator/execution/agent-loop/agent-timeline.d.ts.map +1 -1
- package/dist/orchestrator/execution/agent-loop/agent-timeline.js +8 -20
- package/dist/orchestrator/execution/agent-loop/agent-timeline.js.map +1 -1
- package/dist/orchestrator/execution/agent-loop/bounded-agent-loop-runner.d.ts.map +1 -1
- package/dist/orchestrator/execution/agent-loop/bounded-agent-loop-runner.js +38 -25
- package/dist/orchestrator/execution/agent-loop/bounded-agent-loop-runner.js.map +1 -1
- package/dist/orchestrator/execution/agent-loop/chat-agent-loop-runner.d.ts.map +1 -1
- package/dist/orchestrator/execution/agent-loop/chat-agent-loop-runner.js +20 -4
- package/dist/orchestrator/execution/agent-loop/chat-agent-loop-runner.js.map +1 -1
- package/dist/orchestrator/execution/agent-loop/core-loop-control-tools.d.ts +1 -51
- package/dist/orchestrator/execution/agent-loop/core-loop-control-tools.d.ts.map +1 -1
- package/dist/orchestrator/execution/agent-loop/core-loop-control-tools.js +3 -239
- package/dist/orchestrator/execution/agent-loop/core-loop-control-tools.js.map +1 -1
- package/dist/orchestrator/execution/agent-loop/durable-loop-control-tools.d.ts +60 -0
- package/dist/orchestrator/execution/agent-loop/durable-loop-control-tools.d.ts.map +1 -0
- package/dist/orchestrator/execution/agent-loop/durable-loop-control-tools.js +244 -0
- package/dist/orchestrator/execution/agent-loop/durable-loop-control-tools.js.map +1 -0
- package/dist/orchestrator/execution/agent-loop/index.d.ts +1 -1
- package/dist/orchestrator/execution/agent-loop/index.d.ts.map +1 -1
- package/dist/orchestrator/execution/agent-loop/index.js +1 -1
- package/dist/orchestrator/execution/agent-loop/index.js.map +1 -1
- package/dist/orchestrator/execution/task/task-generation.d.ts +50 -2
- package/dist/orchestrator/execution/task/task-generation.d.ts.map +1 -1
- package/dist/orchestrator/execution/task/task-generation.js +19 -1
- package/dist/orchestrator/execution/task/task-generation.js.map +1 -1
- package/dist/orchestrator/execution/task/task-lifecycle.js +8 -11
- package/dist/orchestrator/execution/task/task-lifecycle.js.map +1 -1
- package/dist/orchestrator/execution/task/task-prompt-builder.d.ts.map +1 -1
- package/dist/orchestrator/execution/task/task-prompt-builder.js +9 -0
- package/dist/orchestrator/execution/task/task-prompt-builder.js.map +1 -1
- package/dist/orchestrator/execution/types/task-group.d.ts +68 -4
- package/dist/orchestrator/execution/types/task-group.d.ts.map +1 -1
- package/dist/orchestrator/execution/types/task.d.ts +100 -2
- package/dist/orchestrator/execution/types/task.d.ts.map +1 -1
- package/dist/orchestrator/execution/types/task.js +10 -0
- package/dist/orchestrator/execution/types/task.js.map +1 -1
- package/dist/orchestrator/goal/goal-decomposer.d.ts.map +1 -1
- package/dist/orchestrator/goal/goal-decomposer.js +2 -1
- package/dist/orchestrator/goal/goal-decomposer.js.map +1 -1
- package/dist/orchestrator/goal/goal-negotiator.d.ts.map +1 -1
- package/dist/orchestrator/goal/goal-negotiator.js +5 -2
- package/dist/orchestrator/goal/goal-negotiator.js.map +1 -1
- package/dist/orchestrator/goal/goal-suggest.d.ts +6 -6
- package/dist/orchestrator/goal/goal-validation.d.ts +4 -5
- package/dist/orchestrator/goal/goal-validation.d.ts.map +1 -1
- package/dist/orchestrator/goal/goal-validation.js +11 -17
- package/dist/orchestrator/goal/goal-validation.js.map +1 -1
- package/dist/orchestrator/goal/negotiator-prompts.d.ts.map +1 -1
- package/dist/orchestrator/goal/negotiator-prompts.js +8 -4
- package/dist/orchestrator/goal/negotiator-prompts.js.map +1 -1
- package/dist/orchestrator/goal/negotiator-steps.d.ts.map +1 -1
- package/dist/orchestrator/goal/negotiator-steps.js +7 -11
- package/dist/orchestrator/goal/negotiator-steps.js.map +1 -1
- package/dist/orchestrator/goal/types/goal-refiner.d.ts +6 -6
- package/dist/orchestrator/goal/types/goal.d.ts +161 -0
- package/dist/orchestrator/goal/types/goal.d.ts.map +1 -1
- package/dist/orchestrator/goal/types/goal.js +8 -0
- package/dist/orchestrator/goal/types/goal.js.map +1 -1
- package/dist/orchestrator/goal/types/negotiation.d.ts +120 -6
- package/dist/orchestrator/goal/types/negotiation.d.ts.map +1 -1
- package/dist/orchestrator/goal/types/negotiation.js +3 -0
- package/dist/orchestrator/goal/types/negotiation.js.map +1 -1
- package/dist/orchestrator/goal/types/suggest.d.ts +6 -6
- package/dist/orchestrator/loop/checkpoint-manager-loop.d.ts +1 -1
- package/dist/orchestrator/loop/checkpoint-manager-loop.d.ts.map +1 -1
- package/dist/orchestrator/loop/core-loop/capability.d.ts +1 -21
- package/dist/orchestrator/loop/core-loop/capability.d.ts.map +1 -1
- package/dist/orchestrator/loop/core-loop/capability.js +1 -150
- package/dist/orchestrator/loop/core-loop/capability.js.map +1 -1
- package/dist/orchestrator/loop/core-loop/contracts.d.ts +1 -318
- package/dist/orchestrator/loop/core-loop/contracts.d.ts.map +1 -1
- package/dist/orchestrator/loop/core-loop/contracts.js +1 -39
- package/dist/orchestrator/loop/core-loop/contracts.js.map +1 -1
- package/dist/orchestrator/loop/core-loop/control.d.ts +1 -26
- package/dist/orchestrator/loop/core-loop/control.d.ts.map +1 -1
- package/dist/orchestrator/loop/core-loop/control.js +1 -71
- package/dist/orchestrator/loop/core-loop/control.js.map +1 -1
- package/dist/orchestrator/loop/core-loop/decision-engine.d.ts +1 -78
- package/dist/orchestrator/loop/core-loop/decision-engine.d.ts.map +1 -1
- package/dist/orchestrator/loop/core-loop/decision-engine.js +1 -144
- package/dist/orchestrator/loop/core-loop/decision-engine.js.map +1 -1
- package/dist/orchestrator/loop/core-loop/dream-review-checkpoint.d.ts +1 -47
- package/dist/orchestrator/loop/core-loop/dream-review-checkpoint.d.ts.map +1 -1
- package/dist/orchestrator/loop/core-loop/dream-review-checkpoint.js +1 -385
- package/dist/orchestrator/loop/core-loop/dream-review-checkpoint.js.map +1 -1
- package/dist/orchestrator/loop/core-loop/evidence-ledger.d.ts +1 -21
- package/dist/orchestrator/loop/core-loop/evidence-ledger.d.ts.map +1 -1
- package/dist/orchestrator/loop/core-loop/evidence-ledger.js +1 -35
- package/dist/orchestrator/loop/core-loop/evidence-ledger.js.map +1 -1
- package/dist/orchestrator/loop/core-loop/iteration-kernel-knowledge.d.ts +1 -6
- package/dist/orchestrator/loop/core-loop/iteration-kernel-knowledge.d.ts.map +1 -1
- package/dist/orchestrator/loop/core-loop/iteration-kernel-knowledge.js +1 -42
- package/dist/orchestrator/loop/core-loop/iteration-kernel-knowledge.js.map +1 -1
- package/dist/orchestrator/loop/core-loop/iteration-kernel-wait.d.ts +1 -13
- package/dist/orchestrator/loop/core-loop/iteration-kernel-wait.d.ts.map +1 -1
- package/dist/orchestrator/loop/core-loop/iteration-kernel-wait.js +1 -40
- package/dist/orchestrator/loop/core-loop/iteration-kernel-wait.js.map +1 -1
- package/dist/orchestrator/loop/core-loop/iteration-kernel.d.ts +1 -36
- package/dist/orchestrator/loop/core-loop/iteration-kernel.d.ts.map +1 -1
- package/dist/orchestrator/loop/core-loop/iteration-kernel.js +1 -834
- package/dist/orchestrator/loop/core-loop/iteration-kernel.js.map +1 -1
- package/dist/orchestrator/loop/core-loop/learning.d.ts +1 -30
- package/dist/orchestrator/loop/core-loop/learning.d.ts.map +1 -1
- package/dist/orchestrator/loop/core-loop/learning.js +1 -91
- package/dist/orchestrator/loop/core-loop/learning.js.map +1 -1
- package/dist/orchestrator/loop/core-loop/phase-policy.d.ts +1 -19
- package/dist/orchestrator/loop/core-loop/phase-policy.d.ts.map +1 -1
- package/dist/orchestrator/loop/core-loop/phase-policy.js +1 -157
- package/dist/orchestrator/loop/core-loop/phase-policy.js.map +1 -1
- package/dist/orchestrator/loop/core-loop/phase-runtime.d.ts +1 -30
- package/dist/orchestrator/loop/core-loop/phase-runtime.d.ts.map +1 -1
- package/dist/orchestrator/loop/core-loop/phase-runtime.js +1 -102
- package/dist/orchestrator/loop/core-loop/phase-runtime.js.map +1 -1
- package/dist/orchestrator/loop/core-loop/phase-specs.d.ts +1 -1268
- package/dist/orchestrator/loop/core-loop/phase-specs.d.ts.map +1 -1
- package/dist/orchestrator/loop/core-loop/phase-specs.js +1 -348
- package/dist/orchestrator/loop/core-loop/phase-specs.js.map +1 -1
- package/dist/orchestrator/loop/core-loop/preparation.d.ts +1 -58
- package/dist/orchestrator/loop/core-loop/preparation.d.ts.map +1 -1
- package/dist/orchestrator/loop/core-loop/preparation.js +1 -367
- package/dist/orchestrator/loop/core-loop/preparation.js.map +1 -1
- package/dist/orchestrator/loop/core-loop/public-research.d.ts +1 -31
- package/dist/orchestrator/loop/core-loop/public-research.d.ts.map +1 -1
- package/dist/orchestrator/loop/core-loop/public-research.js +1 -111
- package/dist/orchestrator/loop/core-loop/public-research.js.map +1 -1
- package/dist/orchestrator/loop/core-loop/task-cycle-stall.d.ts +1 -8
- package/dist/orchestrator/loop/core-loop/task-cycle-stall.d.ts.map +1 -1
- package/dist/orchestrator/loop/core-loop/task-cycle-stall.js +1 -432
- package/dist/orchestrator/loop/core-loop/task-cycle-stall.js.map +1 -1
- package/dist/orchestrator/loop/core-loop/task-cycle-wait.d.ts +1 -10
- package/dist/orchestrator/loop/core-loop/task-cycle-wait.d.ts.map +1 -1
- package/dist/orchestrator/loop/core-loop/task-cycle-wait.js +1 -175
- package/dist/orchestrator/loop/core-loop/task-cycle-wait.js.map +1 -1
- package/dist/orchestrator/loop/core-loop/task-cycle.d.ts +1 -40
- package/dist/orchestrator/loop/core-loop/task-cycle.d.ts.map +1 -1
- package/dist/orchestrator/loop/core-loop/task-cycle.js +1 -429
- package/dist/orchestrator/loop/core-loop/task-cycle.js.map +1 -1
- package/dist/orchestrator/loop/core-loop.d.ts +1 -85
- package/dist/orchestrator/loop/core-loop.d.ts.map +1 -1
- package/dist/orchestrator/loop/core-loop.js +3 -625
- package/dist/orchestrator/loop/core-loop.js.map +1 -1
- package/dist/orchestrator/loop/durable-loop/capability.d.ts +22 -0
- package/dist/orchestrator/loop/durable-loop/capability.d.ts.map +1 -0
- package/dist/orchestrator/loop/durable-loop/capability.js +151 -0
- package/dist/orchestrator/loop/durable-loop/capability.js.map +1 -0
- package/dist/orchestrator/loop/durable-loop/contracts.d.ts +319 -0
- package/dist/orchestrator/loop/durable-loop/contracts.d.ts.map +1 -0
- package/dist/orchestrator/loop/durable-loop/contracts.js +40 -0
- package/dist/orchestrator/loop/durable-loop/contracts.js.map +1 -0
- package/dist/orchestrator/loop/durable-loop/control.d.ts +27 -0
- package/dist/orchestrator/loop/durable-loop/control.d.ts.map +1 -0
- package/dist/orchestrator/loop/durable-loop/control.js +72 -0
- package/dist/orchestrator/loop/durable-loop/control.js.map +1 -0
- package/dist/orchestrator/loop/durable-loop/decision-engine.d.ts +79 -0
- package/dist/orchestrator/loop/durable-loop/decision-engine.d.ts.map +1 -0
- package/dist/orchestrator/loop/durable-loop/decision-engine.js +145 -0
- package/dist/orchestrator/loop/durable-loop/decision-engine.js.map +1 -0
- package/dist/orchestrator/loop/durable-loop/dream-review-checkpoint.d.ts +48 -0
- package/dist/orchestrator/loop/durable-loop/dream-review-checkpoint.d.ts.map +1 -0
- package/dist/orchestrator/loop/durable-loop/dream-review-checkpoint.js +386 -0
- package/dist/orchestrator/loop/durable-loop/dream-review-checkpoint.js.map +1 -0
- package/dist/orchestrator/loop/durable-loop/evidence-ledger.d.ts +22 -0
- package/dist/orchestrator/loop/durable-loop/evidence-ledger.d.ts.map +1 -0
- package/dist/orchestrator/loop/durable-loop/evidence-ledger.js +36 -0
- package/dist/orchestrator/loop/durable-loop/evidence-ledger.js.map +1 -0
- package/dist/orchestrator/loop/durable-loop/iteration-kernel-knowledge.d.ts +7 -0
- package/dist/orchestrator/loop/durable-loop/iteration-kernel-knowledge.d.ts.map +1 -0
- package/dist/orchestrator/loop/durable-loop/iteration-kernel-knowledge.js +43 -0
- package/dist/orchestrator/loop/durable-loop/iteration-kernel-knowledge.js.map +1 -0
- package/dist/orchestrator/loop/durable-loop/iteration-kernel-wait.d.ts +14 -0
- package/dist/orchestrator/loop/durable-loop/iteration-kernel-wait.d.ts.map +1 -0
- package/dist/orchestrator/loop/durable-loop/iteration-kernel-wait.js +41 -0
- package/dist/orchestrator/loop/durable-loop/iteration-kernel-wait.js.map +1 -0
- package/dist/orchestrator/loop/durable-loop/iteration-kernel.d.ts +37 -0
- package/dist/orchestrator/loop/durable-loop/iteration-kernel.d.ts.map +1 -0
- package/dist/orchestrator/loop/durable-loop/iteration-kernel.js +835 -0
- package/dist/orchestrator/loop/durable-loop/iteration-kernel.js.map +1 -0
- package/dist/orchestrator/loop/durable-loop/learning.d.ts +31 -0
- package/dist/orchestrator/loop/durable-loop/learning.d.ts.map +1 -0
- package/dist/orchestrator/loop/durable-loop/learning.js +92 -0
- package/dist/orchestrator/loop/durable-loop/learning.js.map +1 -0
- package/dist/orchestrator/loop/durable-loop/phase-policy.d.ts +20 -0
- package/dist/orchestrator/loop/durable-loop/phase-policy.d.ts.map +1 -0
- package/dist/orchestrator/loop/durable-loop/phase-policy.js +158 -0
- package/dist/orchestrator/loop/durable-loop/phase-policy.js.map +1 -0
- package/dist/orchestrator/loop/durable-loop/phase-runtime.d.ts +31 -0
- package/dist/orchestrator/loop/durable-loop/phase-runtime.d.ts.map +1 -0
- package/dist/orchestrator/loop/durable-loop/phase-runtime.js +103 -0
- package/dist/orchestrator/loop/durable-loop/phase-runtime.js.map +1 -0
- package/dist/orchestrator/loop/durable-loop/phase-specs.d.ts +1269 -0
- package/dist/orchestrator/loop/durable-loop/phase-specs.d.ts.map +1 -0
- package/dist/orchestrator/loop/durable-loop/phase-specs.js +349 -0
- package/dist/orchestrator/loop/durable-loop/phase-specs.js.map +1 -0
- package/dist/orchestrator/loop/durable-loop/preparation.d.ts +59 -0
- package/dist/orchestrator/loop/durable-loop/preparation.d.ts.map +1 -0
- package/dist/orchestrator/loop/durable-loop/preparation.js +368 -0
- package/dist/orchestrator/loop/durable-loop/preparation.js.map +1 -0
- package/dist/orchestrator/loop/durable-loop/public-research.d.ts +32 -0
- package/dist/orchestrator/loop/durable-loop/public-research.d.ts.map +1 -0
- package/dist/orchestrator/loop/durable-loop/public-research.js +112 -0
- package/dist/orchestrator/loop/durable-loop/public-research.js.map +1 -0
- package/dist/orchestrator/loop/durable-loop/task-cycle-stall.d.ts +9 -0
- package/dist/orchestrator/loop/durable-loop/task-cycle-stall.d.ts.map +1 -0
- package/dist/orchestrator/loop/durable-loop/task-cycle-stall.js +464 -0
- package/dist/orchestrator/loop/durable-loop/task-cycle-stall.js.map +1 -0
- package/dist/orchestrator/loop/durable-loop/task-cycle-wait.d.ts +11 -0
- package/dist/orchestrator/loop/durable-loop/task-cycle-wait.d.ts.map +1 -0
- package/dist/orchestrator/loop/durable-loop/task-cycle-wait.js +176 -0
- package/dist/orchestrator/loop/durable-loop/task-cycle-wait.js.map +1 -0
- package/dist/orchestrator/loop/durable-loop/task-cycle.d.ts +41 -0
- package/dist/orchestrator/loop/durable-loop/task-cycle.d.ts.map +1 -0
- package/dist/orchestrator/loop/durable-loop/task-cycle.js +430 -0
- package/dist/orchestrator/loop/durable-loop/task-cycle.js.map +1 -0
- package/dist/orchestrator/loop/durable-loop.d.ts +92 -0
- package/dist/orchestrator/loop/durable-loop.d.ts.map +1 -0
- package/dist/orchestrator/loop/durable-loop.js +631 -0
- package/dist/orchestrator/loop/durable-loop.js.map +1 -0
- package/dist/orchestrator/loop/loop-report-helper.d.ts +1 -1
- package/dist/orchestrator/loop/loop-report-helper.d.ts.map +1 -1
- package/dist/orchestrator/loop/loop-result-types.d.ts +1 -1
- package/dist/orchestrator/loop/loop-result-types.d.ts.map +1 -1
- package/dist/orchestrator/loop/parallel-dispatch.d.ts +2 -2
- package/dist/orchestrator/loop/parallel-dispatch.d.ts.map +1 -1
- package/dist/orchestrator/loop/post-loop-hooks.d.ts +1 -1
- package/dist/orchestrator/loop/post-loop-hooks.d.ts.map +1 -1
- package/dist/orchestrator/loop/run-policy.d.ts +1 -1
- package/dist/orchestrator/loop/run-policy.d.ts.map +1 -1
- package/dist/orchestrator/loop/tree-loop-runner.d.ts +1 -1
- package/dist/orchestrator/loop/tree-loop-runner.d.ts.map +1 -1
- package/dist/orchestrator/loop/tree-loop-runner.js +1 -1
- package/dist/orchestrator/loop/tree-loop-runner.js.map +1 -1
- package/dist/orchestrator/strategy/divergent-exploration.d.ts +2 -1
- package/dist/orchestrator/strategy/divergent-exploration.d.ts.map +1 -1
- package/dist/orchestrator/strategy/divergent-exploration.js +119 -36
- package/dist/orchestrator/strategy/divergent-exploration.js.map +1 -1
- package/dist/orchestrator/strategy/strategy-helpers.d.ts +86 -4
- package/dist/orchestrator/strategy/strategy-helpers.d.ts.map +1 -1
- package/dist/orchestrator/strategy/strategy-manager-base.d.ts +6 -2
- package/dist/orchestrator/strategy/strategy-manager-base.d.ts.map +1 -1
- package/dist/orchestrator/strategy/strategy-manager-base.js +71 -18
- package/dist/orchestrator/strategy/strategy-manager-base.js.map +1 -1
- package/dist/orchestrator/strategy/types/strategy.d.ts +450 -14
- package/dist/orchestrator/strategy/types/strategy.d.ts.map +1 -1
- package/dist/orchestrator/strategy/types/strategy.js +30 -0
- package/dist/orchestrator/strategy/types/strategy.js.map +1 -1
- package/dist/platform/code-search/contracts.d.ts +3 -0
- package/dist/platform/code-search/contracts.d.ts.map +1 -1
- package/dist/platform/code-search/contracts.js.map +1 -1
- package/dist/platform/code-search/indexes/indexer.d.ts.map +1 -1
- package/dist/platform/code-search/indexes/indexer.js +3 -0
- package/dist/platform/code-search/indexes/indexer.js.map +1 -1
- package/dist/platform/code-search/indexes/semantic-index.d.ts.map +1 -1
- package/dist/platform/code-search/indexes/semantic-index.js +3 -0
- package/dist/platform/code-search/indexes/semantic-index.js.map +1 -1
- package/dist/platform/code-search/orchestrator.d.ts.map +1 -1
- package/dist/platform/code-search/orchestrator.js +14 -3
- package/dist/platform/code-search/orchestrator.js.map +1 -1
- package/dist/platform/code-search/query-planner.d.ts.map +1 -1
- package/dist/platform/code-search/query-planner.js +1 -17
- package/dist/platform/code-search/query-planner.js.map +1 -1
- package/dist/platform/code-search/reranker.d.ts +5 -1
- package/dist/platform/code-search/reranker.d.ts.map +1 -1
- package/dist/platform/code-search/reranker.js +9 -5
- package/dist/platform/code-search/reranker.js.map +1 -1
- package/dist/platform/corrections/memory-correction-ledger.d.ts +30 -30
- package/dist/platform/dream/dream-activation.d.ts +161 -1
- package/dist/platform/dream/dream-activation.d.ts.map +1 -1
- package/dist/platform/dream/dream-activation.js +63 -14
- package/dist/platform/dream/dream-activation.js.map +1 -1
- package/dist/platform/dream/dream-event-workflows.d.ts +2 -2
- package/dist/platform/dream/dream-types.d.ts +52 -52
- package/dist/platform/dream/playbook-memory.d.ts +3 -3
- package/dist/platform/drive/stall-detector/repetitive.d.ts.map +1 -1
- package/dist/platform/drive/stall-detector/repetitive.js +50 -5
- package/dist/platform/drive/stall-detector/repetitive.js.map +1 -1
- package/dist/platform/drive/stall-detector.d.ts +19 -0
- package/dist/platform/drive/stall-detector.d.ts.map +1 -1
- package/dist/platform/drive/stall-detector.js.map +1 -1
- package/dist/platform/drive/types/stall.d.ts +1 -1
- package/dist/platform/knowledge/transfer/knowledge-transfer-apply.d.ts.map +1 -1
- package/dist/platform/knowledge/transfer/knowledge-transfer-apply.js +7 -3
- package/dist/platform/knowledge/transfer/knowledge-transfer-apply.js.map +1 -1
- package/dist/platform/knowledge/types/agent-memory.d.ts +46 -46
- package/dist/platform/knowledge/types/embedding.d.ts +4 -4
- package/dist/platform/knowledge/types/knowledge.d.ts +53 -0
- package/dist/platform/knowledge/types/knowledge.d.ts.map +1 -1
- package/dist/platform/knowledge/types/knowledge.js +15 -0
- package/dist/platform/knowledge/types/knowledge.js.map +1 -1
- package/dist/platform/knowledge/types/memory-lifecycle.d.ts +2 -2
- package/dist/platform/observation/capability-detector/types.d.ts +4 -4
- package/dist/platform/observation/context-provider/collector.d.ts +2 -0
- package/dist/platform/observation/context-provider/collector.d.ts.map +1 -1
- package/dist/platform/observation/context-provider/collector.js +27 -2
- package/dist/platform/observation/context-provider/collector.js.map +1 -1
- package/dist/platform/observation/context-provider.d.ts +4 -0
- package/dist/platform/observation/context-provider.d.ts.map +1 -1
- package/dist/platform/observation/context-provider.js.map +1 -1
- package/dist/platform/observation/engine/observe-datasource-stage.d.ts +3 -2
- package/dist/platform/observation/engine/observe-datasource-stage.d.ts.map +1 -1
- package/dist/platform/observation/engine/observe-datasource-stage.js +2 -2
- package/dist/platform/observation/engine/observe-datasource-stage.js.map +1 -1
- package/dist/platform/observation/observation-apply.d.ts +1 -1
- package/dist/platform/observation/observation-apply.d.ts.map +1 -1
- package/dist/platform/observation/observation-apply.js +3 -3
- package/dist/platform/observation/observation-apply.js.map +1 -1
- package/dist/platform/observation/observation-datasource.d.ts +2 -2
- package/dist/platform/observation/observation-datasource.d.ts.map +1 -1
- package/dist/platform/observation/observation-datasource.js +13 -7
- package/dist/platform/observation/observation-datasource.js.map +1 -1
- package/dist/platform/observation/observation-engine.d.ts +1 -1
- package/dist/platform/observation/observation-engine.d.ts.map +1 -1
- package/dist/platform/observation/observation-engine.js +8 -6
- package/dist/platform/observation/observation-engine.js.map +1 -1
- package/dist/platform/observation/types/capability.d.ts +16 -16
- package/dist/platform/observation/workspace-context.d.ts +8 -1
- package/dist/platform/observation/workspace-context.d.ts.map +1 -1
- package/dist/platform/observation/workspace-context.js +35 -14
- package/dist/platform/observation/workspace-context.js.map +1 -1
- package/dist/platform/profile/profile-change-proposal.d.ts +20 -20
- package/dist/platform/profile/relationship-profile.d.ts +6 -6
- package/dist/platform/profile/user-md-profile-import.d.ts +2 -2
- package/dist/platform/soil/contracts.d.ts +98 -98
- package/dist/platform/soil/types.d.ts +8 -8
- package/dist/platform/traits/curiosity-engine.d.ts +2 -5
- package/dist/platform/traits/curiosity-engine.d.ts.map +1 -1
- package/dist/platform/traits/curiosity-engine.js.map +1 -1
- package/dist/platform/traits/curiosity-proposals.d.ts +2 -0
- package/dist/platform/traits/curiosity-proposals.d.ts.map +1 -1
- package/dist/platform/traits/curiosity-proposals.js +36 -17
- package/dist/platform/traits/curiosity-proposals.js.map +1 -1
- package/dist/platform/traits/curiosity-transfer.d.ts +9 -5
- package/dist/platform/traits/curiosity-transfer.d.ts.map +1 -1
- package/dist/platform/traits/curiosity-transfer.js +4 -1
- package/dist/platform/traits/curiosity-transfer.js.map +1 -1
- package/dist/platform/traits/ethics-gate.d.ts +16 -17
- package/dist/platform/traits/ethics-gate.d.ts.map +1 -1
- package/dist/platform/traits/ethics-gate.js +83 -47
- package/dist/platform/traits/ethics-gate.js.map +1 -1
- package/dist/platform/traits/ethics-rules.d.ts +4 -6
- package/dist/platform/traits/ethics-rules.d.ts.map +1 -1
- package/dist/platform/traits/ethics-rules.js +19 -261
- package/dist/platform/traits/ethics-rules.js.map +1 -1
- package/dist/platform/traits/types/curiosity.d.ts +157 -10
- package/dist/platform/traits/types/curiosity.d.ts.map +1 -1
- package/dist/platform/traits/types/curiosity.js +10 -0
- package/dist/platform/traits/types/curiosity.js.map +1 -1
- package/dist/platform/traits/types/guardrail.d.ts +6 -6
- package/dist/prompt/purposes/curiosity.d.ts +4 -4
- package/dist/runtime/approval-broker.d.ts +33 -0
- package/dist/runtime/approval-broker.d.ts.map +1 -1
- package/dist/runtime/approval-broker.js +155 -17
- package/dist/runtime/approval-broker.js.map +1 -1
- package/dist/runtime/companion-policy.d.ts +27 -0
- package/dist/runtime/companion-policy.d.ts.map +1 -0
- package/dist/runtime/companion-policy.js +135 -0
- package/dist/runtime/companion-policy.js.map +1 -0
- package/dist/runtime/confirmation-decision.d.ts +2 -2
- package/dist/runtime/control/daemon-runtime-control-executor.d.ts +0 -6
- package/dist/runtime/control/daemon-runtime-control-executor.d.ts.map +1 -1
- package/dist/runtime/control/daemon-runtime-control-executor.js +1 -1
- package/dist/runtime/control/daemon-runtime-control-executor.js.map +1 -1
- package/dist/runtime/control/index.d.ts +6 -3
- package/dist/runtime/control/index.d.ts.map +1 -1
- package/dist/runtime/control/index.js +2 -1
- package/dist/runtime/control/index.js.map +1 -1
- package/dist/runtime/control/runtime-control-intent.d.ts +16 -1
- package/dist/runtime/control/runtime-control-intent.d.ts.map +1 -1
- package/dist/runtime/control/runtime-control-intent.js +26 -13
- package/dist/runtime/control/runtime-control-intent.js.map +1 -1
- package/dist/runtime/control/runtime-control-service.d.ts +1 -1
- package/dist/runtime/control/runtime-control-service.d.ts.map +1 -1
- package/dist/runtime/control/runtime-control-service.js +29 -64
- package/dist/runtime/control/runtime-control-service.js.map +1 -1
- package/dist/runtime/control/runtime-target-resolver.d.ts +39 -0
- package/dist/runtime/control/runtime-target-resolver.d.ts.map +1 -0
- package/dist/runtime/control/runtime-target-resolver.js +112 -0
- package/dist/runtime/control/runtime-target-resolver.js.map +1 -0
- package/dist/runtime/conversational-approval-decision.d.ts +29 -0
- package/dist/runtime/conversational-approval-decision.d.ts.map +1 -0
- package/dist/runtime/conversational-approval-decision.js +92 -0
- package/dist/runtime/conversational-approval-decision.js.map +1 -0
- package/dist/runtime/daemon/client.d.ts +1 -4
- package/dist/runtime/daemon/client.d.ts.map +1 -1
- package/dist/runtime/daemon/client.js +0 -3
- package/dist/runtime/daemon/client.js.map +1 -1
- package/dist/runtime/daemon/control-contracts.d.ts +7 -0
- package/dist/runtime/daemon/control-contracts.d.ts.map +1 -0
- package/dist/runtime/daemon/control-contracts.js +2 -0
- package/dist/runtime/daemon/control-contracts.js.map +1 -0
- package/dist/runtime/daemon/runner-startup.js +1 -1
- package/dist/runtime/daemon/runner-startup.js.map +1 -1
- package/dist/runtime/daemon/runner.d.ts +1 -1
- package/dist/runtime/daemon/runner.d.ts.map +1 -1
- package/dist/runtime/executor/goal-worker.d.ts +3 -3
- package/dist/runtime/executor/goal-worker.d.ts.map +1 -1
- package/dist/runtime/executor/loop-supervisor.d.ts +2 -2
- package/dist/runtime/executor/loop-supervisor.d.ts.map +1 -1
- package/dist/runtime/executor/loop-supervisor.js +2 -2
- package/dist/runtime/executor/loop-supervisor.js.map +1 -1
- package/dist/runtime/gateway/channel-adapter.d.ts +19 -0
- package/dist/runtime/gateway/channel-adapter.d.ts.map +1 -1
- package/dist/runtime/gateway/channel-policy.d.ts +1 -0
- package/dist/runtime/gateway/channel-policy.d.ts.map +1 -1
- package/dist/runtime/gateway/channel-policy.js +6 -4
- package/dist/runtime/gateway/channel-policy.js.map +1 -1
- package/dist/runtime/gateway/chat-event-rendering.d.ts +34 -0
- package/dist/runtime/gateway/chat-event-rendering.d.ts.map +1 -0
- package/dist/runtime/gateway/chat-event-rendering.js +61 -0
- package/dist/runtime/gateway/chat-event-rendering.js.map +1 -0
- package/dist/runtime/gateway/chat-session-dispatch.d.ts +2 -13
- package/dist/runtime/gateway/chat-session-dispatch.d.ts.map +1 -1
- package/dist/runtime/gateway/chat-session-dispatch.js +6 -3
- package/dist/runtime/gateway/chat-session-dispatch.js.map +1 -1
- package/dist/runtime/gateway/chat-session-port.d.ts +25 -0
- package/dist/runtime/gateway/chat-session-port.d.ts.map +1 -0
- package/dist/runtime/gateway/chat-session-port.js +20 -0
- package/dist/runtime/gateway/chat-session-port.js.map +1 -0
- package/dist/runtime/gateway/discord-gateway-adapter.d.ts +3 -1
- package/dist/runtime/gateway/discord-gateway-adapter.d.ts.map +1 -1
- package/dist/runtime/gateway/discord-gateway-adapter.js +34 -2
- package/dist/runtime/gateway/discord-gateway-adapter.js.map +1 -1
- package/dist/runtime/gateway/index.d.ts +2 -0
- package/dist/runtime/gateway/index.d.ts.map +1 -1
- package/dist/runtime/gateway/index.js +1 -0
- package/dist/runtime/gateway/index.js.map +1 -1
- package/dist/runtime/gateway/ingress-gateway.d.ts.map +1 -1
- package/dist/runtime/gateway/ingress-gateway.js +1 -0
- package/dist/runtime/gateway/ingress-gateway.js.map +1 -1
- package/dist/runtime/gateway/signal-gateway-adapter.d.ts +2 -1
- package/dist/runtime/gateway/signal-gateway-adapter.d.ts.map +1 -1
- package/dist/runtime/gateway/signal-gateway-adapter.js +13 -3
- package/dist/runtime/gateway/signal-gateway-adapter.js.map +1 -1
- package/dist/runtime/gateway/slack-channel-adapter.d.ts +2 -1
- package/dist/runtime/gateway/slack-channel-adapter.d.ts.map +1 -1
- package/dist/runtime/gateway/slack-channel-adapter.js +6 -2
- package/dist/runtime/gateway/slack-channel-adapter.js.map +1 -1
- package/dist/runtime/gateway/telegram-gateway-adapter.d.ts +9 -2
- package/dist/runtime/gateway/telegram-gateway-adapter.d.ts.map +1 -1
- package/dist/runtime/gateway/telegram-gateway-adapter.js +141 -13
- package/dist/runtime/gateway/telegram-gateway-adapter.js.map +1 -1
- package/dist/runtime/gateway/typing-indicator.d.ts +11 -0
- package/dist/runtime/gateway/typing-indicator.d.ts.map +1 -0
- package/dist/runtime/gateway/typing-indicator.js +68 -0
- package/dist/runtime/gateway/typing-indicator.js.map +1 -0
- package/dist/runtime/gateway/whatsapp-gateway-adapter.d.ts +2 -1
- package/dist/runtime/gateway/whatsapp-gateway-adapter.d.ts.map +1 -1
- package/dist/runtime/gateway/whatsapp-gateway-adapter.js +22 -8
- package/dist/runtime/gateway/whatsapp-gateway-adapter.js.map +1 -1
- package/dist/runtime/gateway/ws-channel-adapter.d.ts.map +1 -1
- package/dist/runtime/gateway/ws-channel-adapter.js +1 -0
- package/dist/runtime/gateway/ws-channel-adapter.js.map +1 -1
- package/dist/runtime/interactive-automation/failure-classifier.d.ts +0 -1
- package/dist/runtime/interactive-automation/failure-classifier.d.ts.map +1 -1
- package/dist/runtime/interactive-automation/failure-classifier.js +0 -19
- package/dist/runtime/interactive-automation/failure-classifier.js.map +1 -1
- package/dist/runtime/interactive-automation/providers/manus-browser.d.ts.map +1 -1
- package/dist/runtime/interactive-automation/providers/manus-browser.js +30 -1
- package/dist/runtime/interactive-automation/providers/manus-browser.js.map +1 -1
- package/dist/runtime/logger.d.ts.map +1 -1
- package/dist/runtime/logger.js +5 -2
- package/dist/runtime/logger.js.map +1 -1
- package/dist/runtime/plugin-loader.js +2 -2
- package/dist/runtime/plugin-loader.js.map +1 -1
- package/dist/runtime/run-spec/derive.d.ts +24 -24
- package/dist/runtime/run-spec/derive.d.ts.map +1 -1
- package/dist/runtime/run-spec/derive.js +6 -0
- package/dist/runtime/run-spec/derive.js.map +1 -1
- package/dist/runtime/run-spec/handoff.d.ts +74 -0
- package/dist/runtime/run-spec/handoff.d.ts.map +1 -0
- package/dist/runtime/run-spec/handoff.js +496 -0
- package/dist/runtime/run-spec/handoff.js.map +1 -0
- package/dist/runtime/run-spec/index.d.ts +2 -0
- package/dist/runtime/run-spec/index.d.ts.map +1 -1
- package/dist/runtime/run-spec/index.js +2 -0
- package/dist/runtime/run-spec/index.js.map +1 -1
- package/dist/runtime/run-spec/pending-dialogue-arbiter.d.ts +25 -0
- package/dist/runtime/run-spec/pending-dialogue-arbiter.d.ts.map +1 -0
- package/dist/runtime/run-spec/pending-dialogue-arbiter.js +81 -0
- package/dist/runtime/run-spec/pending-dialogue-arbiter.js.map +1 -0
- package/dist/runtime/run-spec/types.d.ts +91 -42
- package/dist/runtime/run-spec/types.d.ts.map +1 -1
- package/dist/runtime/run-spec/types.js +7 -0
- package/dist/runtime/run-spec/types.js.map +1 -1
- package/dist/runtime/schedule/engine-execution.js +2 -35
- package/dist/runtime/schedule/engine-execution.js.map +1 -1
- package/dist/runtime/schedule/history.d.ts +2 -2
- package/dist/runtime/schedule/presets.d.ts +4 -4
- package/dist/runtime/schedule/source.d.ts +1 -1
- package/dist/runtime/session-registry/registry.d.ts.map +1 -1
- package/dist/runtime/session-registry/registry.js +27 -2
- package/dist/runtime/session-registry/registry.js.map +1 -1
- package/dist/runtime/session-registry/types.d.ts +120 -112
- package/dist/runtime/session-registry/types.d.ts.map +1 -1
- package/dist/runtime/session-registry/types.js +1 -0
- package/dist/runtime/session-registry/types.js.map +1 -1
- package/dist/runtime/store/artifact-retention.d.ts +11 -6
- package/dist/runtime/store/artifact-retention.d.ts.map +1 -1
- package/dist/runtime/store/artifact-retention.js +0 -13
- package/dist/runtime/store/artifact-retention.js.map +1 -1
- package/dist/runtime/store/background-run-store.d.ts +1 -0
- package/dist/runtime/store/background-run-store.d.ts.map +1 -1
- package/dist/runtime/store/background-run-store.js +1 -0
- package/dist/runtime/store/background-run-store.js.map +1 -1
- package/dist/runtime/store/budget-store.d.ts +8 -8
- package/dist/runtime/store/dream-checkpoints.d.ts +1 -1
- package/dist/runtime/store/dream-checkpoints.d.ts.map +1 -1
- package/dist/runtime/store/evaluator-results.d.ts +1 -1
- package/dist/runtime/store/evaluator-results.d.ts.map +1 -1
- package/dist/runtime/store/evidence-ledger.d.ts +39 -6377
- package/dist/runtime/store/evidence-ledger.d.ts.map +1 -1
- package/dist/runtime/store/evidence-ledger.js +415 -501
- package/dist/runtime/store/evidence-ledger.js.map +1 -1
- package/dist/runtime/store/evidence-types.d.ts +6378 -0
- package/dist/runtime/store/evidence-types.d.ts.map +1 -0
- package/dist/runtime/store/evidence-types.js +459 -0
- package/dist/runtime/store/evidence-types.js.map +1 -0
- package/dist/runtime/store/experiment-queue-store.d.ts +109 -109
- package/dist/runtime/store/experiment-queue-store.d.ts.map +1 -1
- package/dist/runtime/store/experiment-queue-store.js +1 -1
- package/dist/runtime/store/experiment-queue-store.js.map +1 -1
- package/dist/runtime/store/index.d.ts +4 -4
- package/dist/runtime/store/index.d.ts.map +1 -1
- package/dist/runtime/store/index.js +2 -2
- package/dist/runtime/store/index.js.map +1 -1
- package/dist/runtime/store/metric-history.d.ts +1 -1
- package/dist/runtime/store/metric-history.d.ts.map +1 -1
- package/dist/runtime/store/operator-handoff-store.d.ts +12 -12
- package/dist/runtime/store/postmortem-report.d.ts +38 -38
- package/dist/runtime/store/postmortem-report.js.map +1 -1
- package/dist/runtime/store/proactive-intervention-store.d.ts +8 -8
- package/dist/runtime/store/reproducibility-manifest.d.ts +27 -27
- package/dist/runtime/store/reproducibility-manifest.d.ts.map +1 -1
- package/dist/runtime/store/reproducibility-manifest.js.map +1 -1
- package/dist/runtime/store/research-evidence.d.ts +1 -1
- package/dist/runtime/store/research-evidence.d.ts.map +1 -1
- package/dist/runtime/store/runtime-operation-schemas.d.ts +46 -46
- package/dist/runtime/store/runtime-schemas.d.ts +73 -12
- package/dist/runtime/store/runtime-schemas.d.ts.map +1 -1
- package/dist/runtime/store/runtime-schemas.js +9 -0
- package/dist/runtime/store/runtime-schemas.js.map +1 -1
- package/dist/runtime/types/companion.d.ts +394 -0
- package/dist/runtime/types/companion.d.ts.map +1 -0
- package/dist/runtime/types/companion.js +87 -0
- package/dist/runtime/types/companion.js.map +1 -0
- package/dist/runtime/types/daemon.d.ts +3 -3
- package/dist/runtime/types/hook.d.ts +12 -12
- package/dist/runtime/types/schedule.d.ts +32 -32
- package/dist/tools/builtin/exports.d.ts +2 -0
- package/dist/tools/builtin/exports.d.ts.map +1 -1
- package/dist/tools/builtin/exports.js +2 -0
- package/dist/tools/builtin/exports.js.map +1 -1
- package/dist/tools/builtin/factory.d.ts +10 -1
- package/dist/tools/builtin/factory.d.ts.map +1 -1
- package/dist/tools/builtin/factory.js +18 -1
- package/dist/tools/builtin/factory.js.map +1 -1
- package/dist/tools/executor.d.ts.map +1 -1
- package/dist/tools/executor.js +8 -6
- package/dist/tools/executor.js.map +1 -1
- package/dist/tools/fs/ApplyPatchTool/ApplyPatchTool.d.ts.map +1 -1
- package/dist/tools/fs/ApplyPatchTool/ApplyPatchTool.js +1 -0
- package/dist/tools/fs/ApplyPatchTool/ApplyPatchTool.js.map +1 -1
- package/dist/tools/fs/FileEditTool/FileEditTool.d.ts.map +1 -1
- package/dist/tools/fs/FileEditTool/FileEditTool.js +1 -0
- package/dist/tools/fs/FileEditTool/FileEditTool.js.map +1 -1
- package/dist/tools/fs/FileWriteTool/FileWriteTool.d.ts.map +1 -1
- package/dist/tools/fs/FileWriteTool/FileWriteTool.js +1 -0
- package/dist/tools/fs/FileWriteTool/FileWriteTool.js.map +1 -1
- package/dist/tools/fs/GlobTool/GlobTool.d.ts.map +1 -1
- package/dist/tools/fs/GlobTool/GlobTool.js +1 -0
- package/dist/tools/fs/GlobTool/GlobTool.js.map +1 -1
- package/dist/tools/fs/GrepTool/GrepTool.d.ts.map +1 -1
- package/dist/tools/fs/GrepTool/GrepTool.js +1 -0
- package/dist/tools/fs/GrepTool/GrepTool.js.map +1 -1
- package/dist/tools/fs/JsonQueryTool/JsonQueryTool.d.ts.map +1 -1
- package/dist/tools/fs/JsonQueryTool/JsonQueryTool.js +1 -0
- package/dist/tools/fs/JsonQueryTool/JsonQueryTool.js.map +1 -1
- package/dist/tools/fs/ListDirTool/ListDirTool.d.ts.map +1 -1
- package/dist/tools/fs/ListDirTool/ListDirTool.js +1 -0
- package/dist/tools/fs/ListDirTool/ListDirTool.js.map +1 -1
- package/dist/tools/fs/ReadTool/ReadTool.d.ts.map +1 -1
- package/dist/tools/fs/ReadTool/ReadTool.js +1 -0
- package/dist/tools/fs/ReadTool/ReadTool.js.map +1 -1
- package/dist/tools/kaggle/KaggleSubmissionTools.d.ts +4 -4
- package/dist/tools/kaggle/metrics.d.ts +4 -4
- package/dist/tools/mutation/TaskCreateTool/TaskCreateTool.d.ts +4 -4
- package/dist/tools/mutation/TaskUpdateTool/TaskUpdateTool.d.ts +4 -4
- package/dist/tools/network/GitHubCliTool/GitHubCliTool.d.ts +8 -8
- package/dist/tools/network/HttpFetchTool/HttpFetchTool.d.ts.map +1 -1
- package/dist/tools/network/HttpFetchTool/HttpFetchTool.js +1 -0
- package/dist/tools/network/HttpFetchTool/HttpFetchTool.js.map +1 -1
- package/dist/tools/network/WebSearchTool/WebSearchTool.d.ts.map +1 -1
- package/dist/tools/network/WebSearchTool/WebSearchTool.js +1 -0
- package/dist/tools/network/WebSearchTool/WebSearchTool.js.map +1 -1
- package/dist/tools/query/ArchitectureTool/ArchitectureTool.js +3 -3
- package/dist/tools/query/ArchitectureTool/ArchitectureTool.js.map +1 -1
- package/dist/tools/query/CodeReadContextTool/CodeReadContextTool.d.ts +20 -20
- package/dist/tools/query/CodeReadContextTool/CodeReadContextTool.d.ts.map +1 -1
- package/dist/tools/query/CodeReadContextTool/CodeReadContextTool.js +1 -0
- package/dist/tools/query/CodeReadContextTool/CodeReadContextTool.js.map +1 -1
- package/dist/tools/query/CodeSearchRepairTool/CodeSearchRepairTool.d.ts.map +1 -1
- package/dist/tools/query/CodeSearchRepairTool/CodeSearchRepairTool.js +1 -0
- package/dist/tools/query/CodeSearchRepairTool/CodeSearchRepairTool.js.map +1 -1
- package/dist/tools/query/CodeSearchTool/CodeSearchTool.d.ts.map +1 -1
- package/dist/tools/query/CodeSearchTool/CodeSearchTool.js +1 -0
- package/dist/tools/query/CodeSearchTool/CodeSearchTool.js.map +1 -1
- package/dist/tools/query/KnowledgeQueryTool/KnowledgeQueryTool.d.ts.map +1 -1
- package/dist/tools/query/KnowledgeQueryTool/KnowledgeQueryTool.js +1 -0
- package/dist/tools/query/KnowledgeQueryTool/KnowledgeQueryTool.js.map +1 -1
- package/dist/tools/query/SkillSearchTool/SkillSearchTool.d.ts.map +1 -1
- package/dist/tools/query/SkillSearchTool/SkillSearchTool.js +1 -0
- package/dist/tools/query/SkillSearchTool/SkillSearchTool.js.map +1 -1
- package/dist/tools/query/ToolSearchTool/ToolSearchTool.d.ts.map +1 -1
- package/dist/tools/query/ToolSearchTool/ToolSearchTool.js +1 -0
- package/dist/tools/query/ToolSearchTool/ToolSearchTool.js.map +1 -1
- package/dist/tools/runtime/LongRunningRuntimeTools.d.ts +32 -32
- package/dist/tools/runtime/RunSpecHandoffTools.d.ts +12 -0
- package/dist/tools/runtime/RunSpecHandoffTools.d.ts.map +1 -0
- package/dist/tools/runtime/RunSpecHandoffTools.js +224 -0
- package/dist/tools/runtime/RunSpecHandoffTools.js.map +1 -0
- package/dist/tools/runtime/SetupRuntimeControlTools.d.ts +11 -0
- package/dist/tools/runtime/SetupRuntimeControlTools.d.ts.map +1 -0
- package/dist/tools/runtime/SetupRuntimeControlTools.js +463 -0
- package/dist/tools/runtime/SetupRuntimeControlTools.js.map +1 -0
- package/dist/tools/schedule/CreateScheduleTool/CreateScheduleTool.d.ts +28 -28
- package/dist/tools/schedule/UpdateScheduleTool/UpdateScheduleTool.d.ts +32 -32
- package/dist/tools/system/GitDiffTool/GitDiffTool.d.ts.map +1 -1
- package/dist/tools/system/GitDiffTool/GitDiffTool.js +1 -0
- package/dist/tools/system/GitDiffTool/GitDiffTool.js.map +1 -1
- package/dist/tools/system/GitLogTool/GitLogTool.d.ts.map +1 -1
- package/dist/tools/system/GitLogTool/GitLogTool.js +1 -0
- package/dist/tools/system/GitLogTool/GitLogTool.js.map +1 -1
- package/dist/tools/system/ShellTool/ShellTool.d.ts.map +1 -1
- package/dist/tools/system/ShellTool/ShellTool.js +1 -0
- package/dist/tools/system/ShellTool/ShellTool.js.map +1 -1
- package/dist/tools/system/TestRunnerTool/TestRunnerTool.d.ts.map +1 -1
- package/dist/tools/system/TestRunnerTool/TestRunnerTool.js +1 -0
- package/dist/tools/system/TestRunnerTool/TestRunnerTool.js.map +1 -1
- package/dist/tools/system/UpdatePlanTool/UpdatePlanTool.d.ts.map +1 -1
- package/dist/tools/system/UpdatePlanTool/UpdatePlanTool.js +1 -0
- package/dist/tools/system/UpdatePlanTool/UpdatePlanTool.js.map +1 -1
- package/dist/tools/types.d.ts +62 -2
- package/dist/tools/types.d.ts.map +1 -1
- package/dist/tools/types.js +25 -0
- package/dist/tools/types.js.map +1 -1
- package/package.json +1 -1
- package/dist/interface/tui/approval-overlay.d.ts +0 -8
- package/dist/interface/tui/approval-overlay.d.ts.map +0 -1
- package/dist/interface/tui/approval-overlay.js +0 -21
- package/dist/interface/tui/approval-overlay.js.map +0 -1
|
@@ -1,626 +1,4 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
import { runPostLoopHooks } from "./post-loop-hooks.js";
|
|
5
|
-
import { generateLoopReport } from "./loop-report-helper.js";
|
|
6
|
-
import { runTreeIteration as runTreeIterationImpl, runMultiGoalIteration as runMultiGoalIterationImpl, } from "./tree-loop-runner.js";
|
|
7
|
-
import { CoreLoopLearning } from "./core-loop/learning.js";
|
|
8
|
-
import { StaticCorePhasePolicyRegistry } from "./core-loop/phase-policy.js";
|
|
9
|
-
import { CoreDecisionEngine } from "./core-loop/decision-engine.js";
|
|
10
|
-
import { CoreIterationKernel } from "./core-loop/iteration-kernel.js";
|
|
11
|
-
import { resolveLoopConfig, resolveLoopRunPolicy } from "./run-policy.js";
|
|
12
|
-
export { buildDriveContext } from "./core-loop/contracts.js";
|
|
13
|
-
export { makeEmptyIterationResult } from "./loop-result-types.js";
|
|
14
|
-
const DEFAULT_CONFIG = {
|
|
15
|
-
maxIterations: 100,
|
|
16
|
-
runPolicy: { mode: "bounded", maxIterations: 100 },
|
|
17
|
-
maxConsecutiveErrors: 3,
|
|
18
|
-
delayBetweenLoopsMs: 1000,
|
|
19
|
-
adapterType: "openai_codex_cli",
|
|
20
|
-
treeMode: false,
|
|
21
|
-
multiGoalMode: false,
|
|
22
|
-
goalIds: [],
|
|
23
|
-
minIterations: 1,
|
|
24
|
-
autoArchive: false,
|
|
25
|
-
dryRun: false,
|
|
26
|
-
maxConsecutiveSkips: 5,
|
|
27
|
-
autoDecompose: true,
|
|
28
|
-
autoConsolidateOnComplete: true,
|
|
29
|
-
consolidationRawThreshold: 20,
|
|
30
|
-
};
|
|
31
|
-
// ─── CoreLoop ───
|
|
32
|
-
/**
|
|
33
|
-
* CoreLoop is the heart of PulSeed — it orchestrates one full iteration of the
|
|
34
|
-
* task discovery loop: observe → gap → score → completion check → stall check → task → report.
|
|
35
|
-
*
|
|
36
|
-
* It runs multiple iterations until the goal is complete (SatisficingJudge),
|
|
37
|
-
* max iterations reached, stall escalation occurs, or an external stop signal.
|
|
38
|
-
*/
|
|
39
|
-
export class CoreLoop {
|
|
40
|
-
deps;
|
|
41
|
-
/** Mutable config — may be updated mid-run (e.g. treeMode enabled after decomposition). */
|
|
42
|
-
config;
|
|
43
|
-
logger;
|
|
44
|
-
stopped = false;
|
|
45
|
-
learning = new CoreLoopLearning();
|
|
46
|
-
corePhasePolicyRegistry;
|
|
47
|
-
coreDecisionEngine;
|
|
48
|
-
/** Optional StateDiffCalculator for loop-skip optimization. */
|
|
49
|
-
stateDiff;
|
|
50
|
-
stateDiffState = new Map();
|
|
51
|
-
pendingIterationDirectives = new Map();
|
|
52
|
-
/** Tracks goals that have already been through auto-decompose this run. */
|
|
53
|
-
decomposedGoals = new Set();
|
|
54
|
-
/** Optional TimeHorizonEngine for adaptive observation interval (Gap 4). */
|
|
55
|
-
timeHorizonEngine;
|
|
56
|
-
/** Last known pacing result — updated each iteration for adaptive delay. */
|
|
57
|
-
lastPacingResult;
|
|
58
|
-
currentActivationContext;
|
|
59
|
-
constructor(deps, config, stateDiff) {
|
|
60
|
-
this.deps = deps;
|
|
61
|
-
const mergedConfig = { ...DEFAULT_CONFIG, ...config };
|
|
62
|
-
if (config?.maxIterations === undefined && typeof config?.runPolicy === "object") {
|
|
63
|
-
mergedConfig.maxIterations = config.runPolicy.maxIterations;
|
|
64
|
-
}
|
|
65
|
-
if (config?.maxIterations === undefined && config?.runPolicy === "resident") {
|
|
66
|
-
mergedConfig.maxIterations = null;
|
|
67
|
-
}
|
|
68
|
-
this.config = resolveLoopConfig(mergedConfig);
|
|
69
|
-
this.logger = deps.logger;
|
|
70
|
-
this.stateDiff = stateDiff;
|
|
71
|
-
this.corePhasePolicyRegistry = deps.corePhasePolicyRegistry ?? new StaticCorePhasePolicyRegistry();
|
|
72
|
-
this.coreDecisionEngine = deps.coreDecisionEngine ?? new CoreDecisionEngine();
|
|
73
|
-
// Wire optional StrategyTemplateRegistry into StrategyManager for auto-templating
|
|
74
|
-
if (deps.strategyTemplateRegistry) {
|
|
75
|
-
deps.strategyManager.setStrategyTemplateRegistry(deps.strategyTemplateRegistry);
|
|
76
|
-
}
|
|
77
|
-
}
|
|
78
|
-
// ─── Public API ───
|
|
79
|
-
/**
|
|
80
|
-
* Run the full loop until completion or stop condition.
|
|
81
|
-
* @param options.maxIterations - Override config.maxIterations for this run only. Use null for resident/unbounded policy.
|
|
82
|
-
*/
|
|
83
|
-
async run(goalId, options) {
|
|
84
|
-
const depsWithMutableProgress = this.deps;
|
|
85
|
-
const previousOnProgress = depsWithMutableProgress.onProgress;
|
|
86
|
-
const previousMaxIterations = this.config.maxIterations;
|
|
87
|
-
const previousRunPolicy = this.config.runPolicy;
|
|
88
|
-
if (options?.onProgress) {
|
|
89
|
-
depsWithMutableProgress.onProgress = options.onProgress;
|
|
90
|
-
}
|
|
91
|
-
if (options?.maxIterations !== undefined || options?.runPolicy !== undefined) {
|
|
92
|
-
const runPolicy = resolveLoopRunPolicy({
|
|
93
|
-
runPolicy: options?.runPolicy ?? this.config.runPolicy,
|
|
94
|
-
maxIterations: options?.maxIterations !== undefined ? options.maxIterations : this.config.maxIterations,
|
|
95
|
-
});
|
|
96
|
-
this.config.maxIterations = runPolicy.maxIterations;
|
|
97
|
-
this.config.runPolicy = runPolicy;
|
|
98
|
-
}
|
|
99
|
-
this.currentActivationContext = options?.activation;
|
|
100
|
-
try {
|
|
101
|
-
const startedAt = new Date().toISOString();
|
|
102
|
-
const dreamCollector = this.deps.hookManager?.getDreamCollector();
|
|
103
|
-
const sessionId = dreamCollector?.buildSessionId(goalId, startedAt) ?? `${goalId}:${startedAt}`;
|
|
104
|
-
this.stopped = false;
|
|
105
|
-
// Reset state diff tracking for each run (snapshots are in-memory only)
|
|
106
|
-
this.stateDiffState.clear();
|
|
107
|
-
// Reset auto-decompose tracking for each run
|
|
108
|
-
this.decomposedGoals.clear();
|
|
109
|
-
this.pendingIterationDirectives.clear();
|
|
110
|
-
// Load and validate goal
|
|
111
|
-
const goal = await this.deps.stateManager.loadGoal(goalId);
|
|
112
|
-
if (!goal) {
|
|
113
|
-
return {
|
|
114
|
-
goalId,
|
|
115
|
-
totalIterations: 0,
|
|
116
|
-
finalStatus: "error",
|
|
117
|
-
iterations: [],
|
|
118
|
-
startedAt,
|
|
119
|
-
completedAt: new Date().toISOString(),
|
|
120
|
-
};
|
|
121
|
-
}
|
|
122
|
-
if (goal.status !== "active" && goal.status !== "waiting") {
|
|
123
|
-
const msg = `Goal "${goalId}" cannot be run: status is "${goal.status}" (expected "active" or "waiting")`;
|
|
124
|
-
this.logger?.error(msg);
|
|
125
|
-
return {
|
|
126
|
-
goalId,
|
|
127
|
-
totalIterations: 0,
|
|
128
|
-
finalStatus: "error",
|
|
129
|
-
errorMessage: msg,
|
|
130
|
-
iterations: [],
|
|
131
|
-
startedAt,
|
|
132
|
-
completedAt: new Date().toISOString(),
|
|
133
|
-
};
|
|
134
|
-
}
|
|
135
|
-
// Reset stall escalation state at the beginning of each run so prior
|
|
136
|
-
// run's escalation does not immediately poison a fresh start.
|
|
137
|
-
for (const dim of goal.dimensions) {
|
|
138
|
-
await this.deps.stallDetector.resetEscalation(goalId, dim.name);
|
|
139
|
-
}
|
|
140
|
-
// Restore dimension/trust state from checkpoint if present (§4.8).
|
|
141
|
-
const startLoopIndex = await restoreLoopCheckpoint(this.deps.stateManager, goalId, this.config.adapterType, this.deps.trustManager);
|
|
142
|
-
const iterations = [];
|
|
143
|
-
let totalTokens = 0;
|
|
144
|
-
let decisionCounters = {
|
|
145
|
-
consecutiveErrors: 0,
|
|
146
|
-
consecutiveDenied: 0,
|
|
147
|
-
consecutiveEscalations: 0,
|
|
148
|
-
};
|
|
149
|
-
let finalStatus = this.config.runPolicy?.mode === "bounded" ? "max_iterations" : "stopped";
|
|
150
|
-
const effectiveRunPolicy = this.config.runPolicy ?? resolveLoopRunPolicy({ maxIterations: this.config.maxIterations });
|
|
151
|
-
const effectiveMaxIterations = effectiveRunPolicy.maxIterations;
|
|
152
|
-
const hasIterationCap = effectiveRunPolicy.mode === "bounded" && effectiveMaxIterations !== null;
|
|
153
|
-
const runtimeBudgetId = await this.ensureRuntimeBudgetForRun({
|
|
154
|
-
goalId,
|
|
155
|
-
startedAt,
|
|
156
|
-
runId: this.currentActivationContext?.backgroundRun?.backgroundRunId,
|
|
157
|
-
hasIterationCap,
|
|
158
|
-
effectiveMaxIterations,
|
|
159
|
-
});
|
|
160
|
-
// Use the provided iterationBudget if set; otherwise create a local one.
|
|
161
|
-
const budget = this.config.iterationBudget
|
|
162
|
-
?? (hasIterationCap ? new IterationBudget(effectiveMaxIterations) : null);
|
|
163
|
-
// Per-node iteration tracking for tree mode.
|
|
164
|
-
const nodeConsumedMap = new Map();
|
|
165
|
-
for (let loopIndex = startLoopIndex; hasIterationCap ? loopIndex < startLoopIndex + effectiveMaxIterations : true; loopIndex++) {
|
|
166
|
-
if (this.stopped) {
|
|
167
|
-
finalStatus = "stopped";
|
|
168
|
-
break;
|
|
169
|
-
}
|
|
170
|
-
if (budget?.exhausted) {
|
|
171
|
-
this.logger?.info("Iteration budget exhausted, stopping loop");
|
|
172
|
-
if (effectiveRunPolicy.mode === "bounded") {
|
|
173
|
-
finalStatus = "max_iterations";
|
|
174
|
-
}
|
|
175
|
-
break;
|
|
176
|
-
}
|
|
177
|
-
const budgetGate = await this.evaluateRuntimeBudgetGate(goalId, runtimeBudgetId);
|
|
178
|
-
if (budgetGate.stop) {
|
|
179
|
-
finalStatus = budgetGate.finalStatus;
|
|
180
|
-
break;
|
|
181
|
-
}
|
|
182
|
-
void this.deps.hookManager?.emit("LoopCycleStart", { goal_id: goalId, data: { loopIndex } });
|
|
183
|
-
let iterationResult;
|
|
184
|
-
try {
|
|
185
|
-
iterationResult = this.config.treeMode && this.deps.treeLoopOrchestrator
|
|
186
|
-
? await this.runTreeIteration(goalId, loopIndex, nodeConsumedMap, runtimeBudgetId)
|
|
187
|
-
: await this.runOneIteration(goalId, loopIndex, loopIndex === startLoopIndex, runtimeBudgetId);
|
|
188
|
-
}
|
|
189
|
-
catch (err) {
|
|
190
|
-
const msg = err instanceof Error ? err.message : String(err);
|
|
191
|
-
this.logger?.error(`[CoreLoop] unexpected error in iteration ${loopIndex}: ${msg}`);
|
|
192
|
-
decisionCounters = {
|
|
193
|
-
...decisionCounters,
|
|
194
|
-
consecutiveErrors: decisionCounters.consecutiveErrors + 1,
|
|
195
|
-
};
|
|
196
|
-
if (decisionCounters.consecutiveErrors >= this.config.maxConsecutiveErrors) {
|
|
197
|
-
finalStatus = "error";
|
|
198
|
-
break;
|
|
199
|
-
}
|
|
200
|
-
continue;
|
|
201
|
-
}
|
|
202
|
-
// Carry forward gapAggregate from the previous iteration when this one was skipped.
|
|
203
|
-
if (iterationResult.skipped && iterations.length >= 1) {
|
|
204
|
-
iterationResult.gapAggregate = iterations[iterations.length - 1].gapAggregate;
|
|
205
|
-
}
|
|
206
|
-
// Only consume budget for non-skipped iterations.
|
|
207
|
-
if (!iterationResult.skipped) {
|
|
208
|
-
const { allowed, warnings } = budget ? budget.consume() : { allowed: true, warnings: [] };
|
|
209
|
-
for (const w of warnings) {
|
|
210
|
-
this.logger?.warn(w);
|
|
211
|
-
}
|
|
212
|
-
if (!allowed) {
|
|
213
|
-
this.logger?.info("Iteration budget exhausted, stopping loop");
|
|
214
|
-
break;
|
|
215
|
-
}
|
|
216
|
-
}
|
|
217
|
-
await this.recordRuntimeBudgetUsage(runtimeBudgetId, iterationResult);
|
|
218
|
-
await this.recordOperatorHandoffForIteration(goalId, runtimeBudgetId, iterationResult);
|
|
219
|
-
void this.deps.hookManager?.emit("LoopCycleEnd", { goal_id: goalId, data: { loopIndex, status: iterationResult.error ? "error" : "ok" } });
|
|
220
|
-
iterations.push(iterationResult);
|
|
221
|
-
// Accumulate token usage from iteration.
|
|
222
|
-
totalTokens += iterationResult.tokensUsed ?? 0;
|
|
223
|
-
if (!this.config.dryRun && dreamCollector) {
|
|
224
|
-
try {
|
|
225
|
-
await dreamCollector.appendIterationResult({
|
|
226
|
-
goalId,
|
|
227
|
-
sessionId,
|
|
228
|
-
iterationResult,
|
|
229
|
-
});
|
|
230
|
-
}
|
|
231
|
-
catch (err) {
|
|
232
|
-
this.logger?.warn("CoreLoop: failed to persist dream iteration log", {
|
|
233
|
-
goalId,
|
|
234
|
-
loopIndex,
|
|
235
|
-
error: err instanceof Error ? err.message : String(err),
|
|
236
|
-
});
|
|
237
|
-
}
|
|
238
|
-
}
|
|
239
|
-
// Save checkpoint after each successful verify step (§4.8)
|
|
240
|
-
if (!this.config.dryRun && iterationResult.error === null && iterationResult.taskResult !== null) {
|
|
241
|
-
await saveLoopCheckpoint(this.deps.stateManager, goalId, loopIndex, iterationResult, this.config.adapterType, this.deps.trustManager, this.logger);
|
|
242
|
-
}
|
|
243
|
-
const runDecision = this.coreDecisionEngine.evaluateRunDecision({
|
|
244
|
-
iterationResult,
|
|
245
|
-
loopIndex,
|
|
246
|
-
minIterations: this.config.minIterations ?? 1,
|
|
247
|
-
maxConsecutiveErrors: this.config.maxConsecutiveErrors,
|
|
248
|
-
counters: decisionCounters,
|
|
249
|
-
});
|
|
250
|
-
decisionCounters = runDecision.counters;
|
|
251
|
-
if (runDecision.shouldStop && runDecision.finalStatus) {
|
|
252
|
-
finalStatus = runDecision.finalStatus;
|
|
253
|
-
if (finalStatus === "completed" || finalStatus === "stalled") {
|
|
254
|
-
void this.deps.hookManager?.emit("GoalStateChange", { goal_id: goalId, data: { newStatus: finalStatus } });
|
|
255
|
-
}
|
|
256
|
-
break;
|
|
257
|
-
}
|
|
258
|
-
if (this.stopped) {
|
|
259
|
-
finalStatus = "stopped";
|
|
260
|
-
break;
|
|
261
|
-
}
|
|
262
|
-
// Periodic learning review
|
|
263
|
-
await this.learning.checkPeriodicReview(goalId, this.deps, this.logger);
|
|
264
|
-
// Gap 4: derive a PacingResult from this iteration to feed adaptive delay.
|
|
265
|
-
if (this.timeHorizonEngine) {
|
|
266
|
-
// Build velocity history from accumulated iterations
|
|
267
|
-
let elapsedMs = 0;
|
|
268
|
-
const startMs = new Date(startedAt).getTime();
|
|
269
|
-
const gapHistory = iterations.map((it) => {
|
|
270
|
-
elapsedMs += it.elapsedMs;
|
|
271
|
-
return {
|
|
272
|
-
timestamp: new Date(startMs + elapsedMs).toISOString(),
|
|
273
|
-
normalizedGap: it.gapAggregate,
|
|
274
|
-
};
|
|
275
|
-
});
|
|
276
|
-
this.lastPacingResult = this.timeHorizonEngine.evaluatePacing(goalId, iterationResult.gapAggregate, goal.deadline ?? null, gapHistory);
|
|
277
|
-
}
|
|
278
|
-
// Delay between loops (skip on last iteration)
|
|
279
|
-
const shouldDelay = this.config.delayBetweenLoopsMs > 0 &&
|
|
280
|
-
(!hasIterationCap || loopIndex < startLoopIndex + effectiveMaxIterations - 1);
|
|
281
|
-
if (shouldDelay) {
|
|
282
|
-
// Gap 4: adaptive observation frequency — scale delay by pacing status when
|
|
283
|
-
// a TimeHorizonEngine is available. Falls back to fixed delayBetweenLoopsMs.
|
|
284
|
-
let delay = this.config.delayBetweenLoopsMs;
|
|
285
|
-
if (this.timeHorizonEngine && this.lastPacingResult) {
|
|
286
|
-
delay = this.timeHorizonEngine.suggestObservationInterval(this.lastPacingResult, delay);
|
|
287
|
-
}
|
|
288
|
-
await sleep(delay);
|
|
289
|
-
}
|
|
290
|
-
}
|
|
291
|
-
// Run post-loop hooks (curiosity, memory lifecycle, archive, final report)
|
|
292
|
-
const completedAt = new Date().toISOString();
|
|
293
|
-
await runPostLoopHooks({
|
|
294
|
-
goalId,
|
|
295
|
-
sessionId,
|
|
296
|
-
runId: this.currentActivationContext?.backgroundRun?.backgroundRunId,
|
|
297
|
-
completedAt,
|
|
298
|
-
totalTokensUsed: totalTokens,
|
|
299
|
-
finalStatus,
|
|
300
|
-
iterations,
|
|
301
|
-
deps: this.deps,
|
|
302
|
-
config: this.config,
|
|
303
|
-
logger: this.logger,
|
|
304
|
-
tryGenerateReport: (id, idx, r, g) => generateLoopReport(id, idx, r, g, this.deps.reportingEngine, this.logger),
|
|
305
|
-
});
|
|
306
|
-
if (finalStatus === "completed") {
|
|
307
|
-
await this.learning.onGoalCompleted(goalId, this.deps, this.logger);
|
|
308
|
-
}
|
|
309
|
-
return {
|
|
310
|
-
goalId,
|
|
311
|
-
totalIterations: iterations.length,
|
|
312
|
-
finalStatus,
|
|
313
|
-
iterations,
|
|
314
|
-
startedAt,
|
|
315
|
-
completedAt,
|
|
316
|
-
tokensUsed: totalTokens,
|
|
317
|
-
};
|
|
318
|
-
}
|
|
319
|
-
finally {
|
|
320
|
-
this.currentActivationContext = undefined;
|
|
321
|
-
depsWithMutableProgress.onProgress = previousOnProgress;
|
|
322
|
-
this.config.maxIterations = previousMaxIterations;
|
|
323
|
-
this.config.runPolicy = previousRunPolicy;
|
|
324
|
-
}
|
|
325
|
-
}
|
|
326
|
-
/**
|
|
327
|
-
* Run a single iteration of the loop.
|
|
328
|
-
*/
|
|
329
|
-
async runOneIteration(goalId, loopIndex, isFirstIteration, runtimeBudgetId) {
|
|
330
|
-
const result = await new CoreIterationKernel({
|
|
331
|
-
deps: this.deps,
|
|
332
|
-
getConfig: () => this.config,
|
|
333
|
-
setConfig: (nextConfig) => {
|
|
334
|
-
this.config = nextConfig;
|
|
335
|
-
},
|
|
336
|
-
logger: this.logger,
|
|
337
|
-
stateDiff: this.stateDiff,
|
|
338
|
-
stateDiffState: this.stateDiffState,
|
|
339
|
-
decomposedGoals: this.decomposedGoals,
|
|
340
|
-
timeHorizonEngine: this.timeHorizonEngine,
|
|
341
|
-
corePhasePolicyRegistry: this.corePhasePolicyRegistry,
|
|
342
|
-
coreDecisionEngine: this.coreDecisionEngine,
|
|
343
|
-
capabilityFailures: this.learning.getCapabilityFailures(),
|
|
344
|
-
incrementTransferCounter: () => this.learning.incrementTransferCounter(),
|
|
345
|
-
getPendingDirective: (id) => this.pendingIterationDirectives.get(id),
|
|
346
|
-
getActivationContext: () => this.currentActivationContext,
|
|
347
|
-
getRuntimeBudgetContext: () => this.loadRuntimeBudgetTaskContext(runtimeBudgetId),
|
|
348
|
-
}).run({ goalId, loopIndex, isFirstIteration });
|
|
349
|
-
if (result.nextIterationDirective) {
|
|
350
|
-
this.pendingIterationDirectives.set(goalId, result.nextIterationDirective);
|
|
351
|
-
}
|
|
352
|
-
else {
|
|
353
|
-
this.pendingIterationDirectives.delete(goalId);
|
|
354
|
-
}
|
|
355
|
-
return result;
|
|
356
|
-
}
|
|
357
|
-
/**
|
|
358
|
-
* Tree-mode iteration: select one node via TreeLoopOrchestrator, run a
|
|
359
|
-
* normal observe→gap→score→task cycle on that node, then aggregate upward.
|
|
360
|
-
*/
|
|
361
|
-
async runTreeIteration(rootId, loopIndex, nodeConsumedMap, runtimeBudgetId) {
|
|
362
|
-
return runTreeIterationImpl(rootId, loopIndex, this.deps, this.config, this.logger, (id, idx) => this.runOneIteration(id, idx, undefined, runtimeBudgetId), nodeConsumedMap, {
|
|
363
|
-
getPendingDirective: (id) => this.pendingIterationDirectives.get(id),
|
|
364
|
-
});
|
|
365
|
-
}
|
|
366
|
-
/**
|
|
367
|
-
* Run one iteration of the multi-goal loop.
|
|
368
|
-
*/
|
|
369
|
-
async runMultiGoalIteration(loopIndex) {
|
|
370
|
-
return runMultiGoalIterationImpl(loopIndex, this.deps, this.config, (id, idx) => this.runOneIteration(id, idx), {
|
|
371
|
-
getPendingDirective: (id) => this.pendingIterationDirectives.get(id),
|
|
372
|
-
});
|
|
373
|
-
}
|
|
374
|
-
/**
|
|
375
|
-
* Stop the loop externally (e.g., on SIGTERM).
|
|
376
|
-
*/
|
|
377
|
-
stop() {
|
|
378
|
-
this.stopped = true;
|
|
379
|
-
}
|
|
380
|
-
/**
|
|
381
|
-
* Attach a TimeHorizonEngine for adaptive observation frequency (Gap 4).
|
|
382
|
-
* When set, the delay between iterations is scaled by pacing status instead
|
|
383
|
-
* of using the fixed delayBetweenLoopsMs value.
|
|
384
|
-
*/
|
|
385
|
-
setTimeHorizonEngine(engine) {
|
|
386
|
-
this.timeHorizonEngine = engine;
|
|
387
|
-
}
|
|
388
|
-
setWaitApprovalBroker(broker) {
|
|
389
|
-
this.deps.waitApprovalBroker = broker;
|
|
390
|
-
}
|
|
391
|
-
/**
|
|
392
|
-
* Check if the loop has been stopped.
|
|
393
|
-
*/
|
|
394
|
-
isStopped() {
|
|
395
|
-
return this.stopped;
|
|
396
|
-
}
|
|
397
|
-
async ensureRuntimeBudgetForRun(input) {
|
|
398
|
-
if (this.config.dryRun || !this.deps.runtimeBudgetStore)
|
|
399
|
-
return null;
|
|
400
|
-
const configuredLimits = this.config.runtimeBudget?.limits;
|
|
401
|
-
const defaultLimits = configuredLimits ?? (input.hasIterationCap && input.effectiveMaxIterations !== null
|
|
402
|
-
? [{
|
|
403
|
-
dimension: "iterations",
|
|
404
|
-
limit: input.effectiveMaxIterations,
|
|
405
|
-
approval_at_remaining: 0,
|
|
406
|
-
finalization_at_remaining: 0,
|
|
407
|
-
exhaustion_policy: "approval_required",
|
|
408
|
-
}]
|
|
409
|
-
: []);
|
|
410
|
-
if (defaultLimits.length === 0)
|
|
411
|
-
return null;
|
|
412
|
-
const budgetId = this.config.runtimeBudget?.budgetId
|
|
413
|
-
?? `runtime-budget:${input.runId ?? `goal:${input.goalId}`}`;
|
|
414
|
-
const existing = await this.deps.runtimeBudgetStore.load(budgetId);
|
|
415
|
-
if (existing)
|
|
416
|
-
return budgetId;
|
|
417
|
-
try {
|
|
418
|
-
await this.deps.runtimeBudgetStore.create({
|
|
419
|
-
budget_id: budgetId,
|
|
420
|
-
scope: {
|
|
421
|
-
goal_id: input.goalId,
|
|
422
|
-
...(input.runId ? { run_id: input.runId } : {}),
|
|
423
|
-
},
|
|
424
|
-
title: this.config.runtimeBudget?.title ?? `Runtime budget for ${input.goalId}`,
|
|
425
|
-
created_at: input.startedAt,
|
|
426
|
-
limits: defaultLimits,
|
|
427
|
-
});
|
|
428
|
-
}
|
|
429
|
-
catch (err) {
|
|
430
|
-
const loaded = await this.deps.runtimeBudgetStore.load(budgetId);
|
|
431
|
-
if (!loaded)
|
|
432
|
-
throw err;
|
|
433
|
-
}
|
|
434
|
-
return budgetId;
|
|
435
|
-
}
|
|
436
|
-
async evaluateRuntimeBudgetGate(goalId, budgetId) {
|
|
437
|
-
const status = await this.loadRuntimeBudgetStatus(budgetId);
|
|
438
|
-
if (!status)
|
|
439
|
-
return { stop: false, finalStatus: "stopped" };
|
|
440
|
-
if (status.finalization_required || status.handoff_required) {
|
|
441
|
-
await this.recordBudgetOperatorHandoff(goalId, status);
|
|
442
|
-
}
|
|
443
|
-
if (status.finalization_required)
|
|
444
|
-
return { stop: true, finalStatus: "finalization" };
|
|
445
|
-
if (status.dimensions.some((dimension) => dimension.exhausted && dimension.exhaustion_policy === "stop")) {
|
|
446
|
-
return { stop: true, finalStatus: "stopped" };
|
|
447
|
-
}
|
|
448
|
-
if (!status.exhausted && !status.approval_required && !status.handoff_required) {
|
|
449
|
-
return { stop: false, finalStatus: "stopped" };
|
|
450
|
-
}
|
|
451
|
-
if (status.approval_required && this.deps.waitApprovalBroker) {
|
|
452
|
-
const approved = await this.deps.waitApprovalBroker.requestApproval(goalId, {
|
|
453
|
-
id: `budget:${status.budget_id}`,
|
|
454
|
-
description: `Runtime budget threshold reached for ${status.budget_id}.`,
|
|
455
|
-
action: "continue_after_budget_threshold",
|
|
456
|
-
}, undefined, `budget:${status.budget_id}`);
|
|
457
|
-
if (approved)
|
|
458
|
-
return { stop: false, finalStatus: "stopped" };
|
|
459
|
-
}
|
|
460
|
-
await this.recordBudgetOperatorHandoff(goalId, status);
|
|
461
|
-
return { stop: true, finalStatus: "stopped" };
|
|
462
|
-
}
|
|
463
|
-
async loadRuntimeBudgetTaskContext(budgetId) {
|
|
464
|
-
if (!budgetId || !this.deps.runtimeBudgetStore)
|
|
465
|
-
return undefined;
|
|
466
|
-
const budget = await this.deps.runtimeBudgetStore.load(budgetId);
|
|
467
|
-
return budget ? this.deps.runtimeBudgetStore.taskGenerationContext(budget) : undefined;
|
|
468
|
-
}
|
|
469
|
-
async loadRuntimeBudgetStatus(budgetId) {
|
|
470
|
-
const budget = await this.loadRuntimeBudgetRecord(budgetId);
|
|
471
|
-
return budget && this.deps.runtimeBudgetStore ? this.deps.runtimeBudgetStore.status(budget) : null;
|
|
472
|
-
}
|
|
473
|
-
async loadRuntimeBudgetRecord(budgetId) {
|
|
474
|
-
if (!budgetId || !this.deps.runtimeBudgetStore)
|
|
475
|
-
return null;
|
|
476
|
-
return this.deps.runtimeBudgetStore.load(budgetId);
|
|
477
|
-
}
|
|
478
|
-
async recordRuntimeBudgetUsage(budgetId, iterationResult) {
|
|
479
|
-
if (!budgetId || !this.deps.runtimeBudgetStore || this.config.dryRun)
|
|
480
|
-
return;
|
|
481
|
-
try {
|
|
482
|
-
await this.deps.runtimeBudgetStore.recordTaskExecution(budgetId, {
|
|
483
|
-
iterations: 1,
|
|
484
|
-
tasks: iterationResult.taskResult ? 1 : 0,
|
|
485
|
-
process_ms: Math.max(0, iterationResult.elapsedMs),
|
|
486
|
-
wall_clock_ms: Math.max(0, iterationResult.elapsedMs),
|
|
487
|
-
reason: `coreloop iteration ${iterationResult.loopIndex}`,
|
|
488
|
-
});
|
|
489
|
-
if (iterationResult.tokensUsed && iterationResult.tokensUsed > 0) {
|
|
490
|
-
await this.deps.runtimeBudgetStore.recordToolUsage(budgetId, {
|
|
491
|
-
llm_tokens: iterationResult.tokensUsed,
|
|
492
|
-
reason: `coreloop iteration ${iterationResult.loopIndex}`,
|
|
493
|
-
});
|
|
494
|
-
}
|
|
495
|
-
const artifactCount = iterationResult.taskResult?.verificationResult.file_diffs?.length
|
|
496
|
-
?? 0;
|
|
497
|
-
if (artifactCount > 0) {
|
|
498
|
-
await this.deps.runtimeBudgetStore.recordArtifactGeneration(budgetId, {
|
|
499
|
-
artifacts: artifactCount,
|
|
500
|
-
reason: `coreloop iteration ${iterationResult.loopIndex}`,
|
|
501
|
-
});
|
|
502
|
-
}
|
|
503
|
-
}
|
|
504
|
-
catch (err) {
|
|
505
|
-
this.logger?.warn("CoreLoop: failed to record runtime budget usage", {
|
|
506
|
-
budgetId,
|
|
507
|
-
goalId: iterationResult.goalId,
|
|
508
|
-
loopIndex: iterationResult.loopIndex,
|
|
509
|
-
error: err instanceof Error ? err.message : String(err),
|
|
510
|
-
});
|
|
511
|
-
}
|
|
512
|
-
}
|
|
513
|
-
async recordOperatorHandoffForIteration(goalId, budgetId, iterationResult) {
|
|
514
|
-
if (this.config.dryRun || !this.deps.operatorHandoffStore)
|
|
515
|
-
return;
|
|
516
|
-
const finalization = iterationResult.finalizationStatus;
|
|
517
|
-
if (!finalization)
|
|
518
|
-
return;
|
|
519
|
-
const plan = finalization.finalization_plan;
|
|
520
|
-
const isDeadlineWindow = finalization.mode === "finalization" || finalization.mode === "missed_deadline";
|
|
521
|
-
if (!isDeadlineWindow && !plan?.handoff_required)
|
|
522
|
-
return;
|
|
523
|
-
const approvalActions = plan?.approval_required_actions ?? [];
|
|
524
|
-
const triggers = ["deadline", "finalization"];
|
|
525
|
-
if (approvalActions.length > 0)
|
|
526
|
-
triggers.push("external_action");
|
|
527
|
-
if (plan?.reproducibility_manifest.status === "required_missing")
|
|
528
|
-
triggers.push("policy");
|
|
529
|
-
const firstAction = approvalActions[0];
|
|
530
|
-
const bestArtifact = plan?.best_artifact ?? null;
|
|
531
|
-
await this.createOperatorHandoff({
|
|
532
|
-
handoff_id: `handoff:${this.currentActivationContext?.backgroundRun?.backgroundRunId ?? goalId}:deadline-finalization`,
|
|
533
|
-
goal_id: goalId,
|
|
534
|
-
...(this.currentActivationContext?.backgroundRun?.backgroundRunId
|
|
535
|
-
? { run_id: this.currentActivationContext.backgroundRun.backgroundRunId }
|
|
536
|
-
: {}),
|
|
537
|
-
triggers: uniqueTriggers(triggers),
|
|
538
|
-
title: `Operator handoff: ${goalId}`,
|
|
539
|
-
summary: finalization.reason,
|
|
540
|
-
current_status: [
|
|
541
|
-
`mode=${finalization.mode}`,
|
|
542
|
-
finalization.deadline ? `deadline=${finalization.deadline}` : null,
|
|
543
|
-
finalization.remaining_ms !== null ? `remaining_ms=${finalization.remaining_ms}` : null,
|
|
544
|
-
budgetId ? `budget=${budgetId}` : null,
|
|
545
|
-
].filter(Boolean).join(", "),
|
|
546
|
-
recommended_action: approvalActions.length > 0
|
|
547
|
-
? `Review and approve required finalization action: ${approvalActions.map((action) => action.label).join(", ")}.`
|
|
548
|
-
: "Review the deadline finalization state before continuing autonomous work.",
|
|
549
|
-
candidate_options: bestArtifact
|
|
550
|
-
? [{
|
|
551
|
-
id: bestArtifact.id ?? bestArtifact.path ?? bestArtifact.state_relative_path ?? "best_artifact",
|
|
552
|
-
label: bestArtifact.label,
|
|
553
|
-
tradeoff: bestArtifact.summary ?? "Use the current best observable artifact for handoff/finalization.",
|
|
554
|
-
}]
|
|
555
|
-
: [],
|
|
556
|
-
risks: [
|
|
557
|
-
"Continuing autonomous exploration may miss or has already missed the deadline window.",
|
|
558
|
-
...(approvalActions.length > 0 ? ["External or irreversible finalization actions remain blocked until approval."] : []),
|
|
559
|
-
],
|
|
560
|
-
required_approvals: approvalActions.map((action) => action.label),
|
|
561
|
-
next_action: {
|
|
562
|
-
label: firstAction?.label ?? "Review deadline finalization",
|
|
563
|
-
...(firstAction?.tool_name ? { tool_name: firstAction.tool_name } : {}),
|
|
564
|
-
...(firstAction?.payload_ref ? { payload_ref: firstAction.payload_ref } : {}),
|
|
565
|
-
approval_required: true,
|
|
566
|
-
},
|
|
567
|
-
gate: {
|
|
568
|
-
autonomous_task_generation: isDeadlineWindow ? "pause" : "constrain",
|
|
569
|
-
external_action_requires_approval: true,
|
|
570
|
-
},
|
|
571
|
-
evidence_refs: [
|
|
572
|
-
{ kind: "deadline_finalization_status", ref: `goal:${goalId}:iteration:${iterationResult.loopIndex}`, observed_at: finalization.evaluated_at },
|
|
573
|
-
...(bestArtifact?.path ? [{ kind: bestArtifact.kind ?? "artifact", ref: bestArtifact.path, observed_at: bestArtifact.occurred_at }] : []),
|
|
574
|
-
...(bestArtifact?.state_relative_path ? [{ kind: "state_artifact", ref: bestArtifact.state_relative_path, observed_at: bestArtifact.occurred_at }] : []),
|
|
575
|
-
],
|
|
576
|
-
created_at: finalization.evaluated_at,
|
|
577
|
-
});
|
|
578
|
-
}
|
|
579
|
-
async recordBudgetOperatorHandoff(goalId, status) {
|
|
580
|
-
if (this.config.dryRun || !this.deps.operatorHandoffStore)
|
|
581
|
-
return;
|
|
582
|
-
if (!status.handoff_required && !status.approval_required && !status.finalization_required)
|
|
583
|
-
return;
|
|
584
|
-
const approvalRequestId = `budget:${status.budget_id}`;
|
|
585
|
-
await this.createOperatorHandoff({
|
|
586
|
-
handoff_id: approvalRequestId,
|
|
587
|
-
goal_id: goalId,
|
|
588
|
-
...(status.scope.run_id ? { run_id: status.scope.run_id } : {}),
|
|
589
|
-
triggers: ["budget"],
|
|
590
|
-
title: `Budget handoff: ${status.budget_id}`,
|
|
591
|
-
summary: "Runtime budget threshold reached before autonomous work can continue.",
|
|
592
|
-
current_status: status.dimensions
|
|
593
|
-
.map((dimension) => `${dimension.dimension}: used=${dimension.used}/${dimension.limit}, remaining=${dimension.remaining}`)
|
|
594
|
-
.join("; "),
|
|
595
|
-
recommended_action: "Review budget usage and approve, finalize, or pause the run.",
|
|
596
|
-
risks: ["Continuing without an operator decision can exceed the configured runtime budget."],
|
|
597
|
-
required_approvals: status.approval_required ? ["continue_after_budget_threshold"] : [],
|
|
598
|
-
...(status.approval_required ? { approval_request_id: approvalRequestId } : {}),
|
|
599
|
-
next_action: {
|
|
600
|
-
label: status.finalization_required ? "Finalize run" : "Review budget threshold",
|
|
601
|
-
approval_required: true,
|
|
602
|
-
},
|
|
603
|
-
gate: {
|
|
604
|
-
autonomous_task_generation: status.finalization_required || status.handoff_required ? "pause" : "constrain",
|
|
605
|
-
external_action_requires_approval: true,
|
|
606
|
-
},
|
|
607
|
-
evidence_refs: [{ kind: "runtime_budget", ref: status.budget_id }],
|
|
608
|
-
});
|
|
609
|
-
}
|
|
610
|
-
async createOperatorHandoff(input) {
|
|
611
|
-
try {
|
|
612
|
-
await this.deps.operatorHandoffStore?.create(input);
|
|
613
|
-
}
|
|
614
|
-
catch (err) {
|
|
615
|
-
this.logger?.warn("CoreLoop: failed to record operator handoff", {
|
|
616
|
-
goalId: input.goal_id,
|
|
617
|
-
handoffId: input.handoff_id,
|
|
618
|
-
error: err instanceof Error ? err.message : String(err),
|
|
619
|
-
});
|
|
620
|
-
}
|
|
621
|
-
}
|
|
622
|
-
}
|
|
623
|
-
function uniqueTriggers(triggers) {
|
|
624
|
-
return [...new Set(triggers)];
|
|
625
|
-
}
|
|
1
|
+
// Compatibility shim for legacy CoreLoop imports. New code should import from
|
|
2
|
+
// ./durable-loop.js.
|
|
3
|
+
export * from "./durable-loop.js";
|
|
626
4
|
//# sourceMappingURL=core-loop.js.map
|