@telora/daemon 0.12.33
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/.env.example +64 -0
- package/README.md +229 -0
- package/build-info.json +4 -0
- package/dist/activity-tracker.d.ts +13 -0
- package/dist/activity-tracker.d.ts.map +1 -0
- package/dist/activity-tracker.js +19 -0
- package/dist/activity-tracker.js.map +1 -0
- package/dist/agent-state.d.ts +45 -0
- package/dist/agent-state.d.ts.map +1 -0
- package/dist/agent-state.js +61 -0
- package/dist/agent-state.js.map +1 -0
- package/dist/audit-hooks.d.ts +12 -0
- package/dist/audit-hooks.d.ts.map +1 -0
- package/dist/audit-hooks.js +45 -0
- package/dist/audit-hooks.js.map +1 -0
- package/dist/auto-update.d.ts +42 -0
- package/dist/auto-update.d.ts.map +1 -0
- package/dist/auto-update.js +96 -0
- package/dist/auto-update.js.map +1 -0
- package/dist/branch-status.d.ts +40 -0
- package/dist/branch-status.d.ts.map +1 -0
- package/dist/branch-status.js +107 -0
- package/dist/branch-status.js.map +1 -0
- package/dist/completion-detector.d.ts +87 -0
- package/dist/completion-detector.d.ts.map +1 -0
- package/dist/completion-detector.js +160 -0
- package/dist/completion-detector.js.map +1 -0
- package/dist/completion-handler.d.ts +48 -0
- package/dist/completion-handler.d.ts.map +1 -0
- package/dist/completion-handler.js +200 -0
- package/dist/completion-handler.js.map +1 -0
- package/dist/condition-evaluators.d.ts +31 -0
- package/dist/condition-evaluators.d.ts.map +1 -0
- package/dist/condition-evaluators.js +416 -0
- package/dist/condition-evaluators.js.map +1 -0
- package/dist/config.d.ts +55 -0
- package/dist/config.d.ts.map +1 -0
- package/dist/config.js +311 -0
- package/dist/config.js.map +1 -0
- package/dist/control-state.d.ts +41 -0
- package/dist/control-state.d.ts.map +1 -0
- package/dist/control-state.js +204 -0
- package/dist/control-state.js.map +1 -0
- package/dist/crash-recovery-cleanup.d.ts +21 -0
- package/dist/crash-recovery-cleanup.d.ts.map +1 -0
- package/dist/crash-recovery-cleanup.js +198 -0
- package/dist/crash-recovery-cleanup.js.map +1 -0
- package/dist/crash-recovery-scan.d.ts +19 -0
- package/dist/crash-recovery-scan.d.ts.map +1 -0
- package/dist/crash-recovery-scan.js +145 -0
- package/dist/crash-recovery-scan.js.map +1 -0
- package/dist/crash-recovery-types.d.ts +54 -0
- package/dist/crash-recovery-types.d.ts.map +1 -0
- package/dist/crash-recovery-types.js +13 -0
- package/dist/crash-recovery-types.js.map +1 -0
- package/dist/crash-recovery.d.ts +88 -0
- package/dist/crash-recovery.d.ts.map +1 -0
- package/dist/crash-recovery.js +448 -0
- package/dist/crash-recovery.js.map +1 -0
- package/dist/daemon-logs.d.ts +19 -0
- package/dist/daemon-logs.d.ts.map +1 -0
- package/dist/daemon-logs.js +81 -0
- package/dist/daemon-logs.js.map +1 -0
- package/dist/daemon-process.d.ts +154 -0
- package/dist/daemon-process.d.ts.map +1 -0
- package/dist/daemon-process.js +427 -0
- package/dist/daemon-process.js.map +1 -0
- package/dist/dag-validator.d.ts +52 -0
- package/dist/dag-validator.d.ts.map +1 -0
- package/dist/dag-validator.js +199 -0
- package/dist/dag-validator.js.map +1 -0
- package/dist/delivery-guards.d.ts +41 -0
- package/dist/delivery-guards.d.ts.map +1 -0
- package/dist/delivery-guards.js +195 -0
- package/dist/delivery-guards.js.map +1 -0
- package/dist/delivery-lifecycle.d.ts +110 -0
- package/dist/delivery-lifecycle.d.ts.map +1 -0
- package/dist/delivery-lifecycle.js +353 -0
- package/dist/delivery-lifecycle.js.map +1 -0
- package/dist/delivery-merge.d.ts +17 -0
- package/dist/delivery-merge.d.ts.map +1 -0
- package/dist/delivery-merge.js +89 -0
- package/dist/delivery-merge.js.map +1 -0
- package/dist/dependency-resolver.d.ts +77 -0
- package/dist/dependency-resolver.d.ts.map +1 -0
- package/dist/dependency-resolver.js +337 -0
- package/dist/dependency-resolver.js.map +1 -0
- package/dist/evaluation-context.d.ts +49 -0
- package/dist/evaluation-context.d.ts.map +1 -0
- package/dist/evaluation-context.js +98 -0
- package/dist/evaluation-context.js.map +1 -0
- package/dist/git-activity.d.ts +24 -0
- package/dist/git-activity.d.ts.map +1 -0
- package/dist/git-activity.js +97 -0
- package/dist/git-activity.js.map +1 -0
- package/dist/git-branch.d.ts +33 -0
- package/dist/git-branch.d.ts.map +1 -0
- package/dist/git-branch.js +88 -0
- package/dist/git-branch.js.map +1 -0
- package/dist/git-integration.d.ts +27 -0
- package/dist/git-integration.d.ts.map +1 -0
- package/dist/git-integration.js +82 -0
- package/dist/git-integration.js.map +1 -0
- package/dist/git-merge-helpers.d.ts +48 -0
- package/dist/git-merge-helpers.d.ts.map +1 -0
- package/dist/git-merge-helpers.js +105 -0
- package/dist/git-merge-helpers.js.map +1 -0
- package/dist/git-merge-lock.d.ts +67 -0
- package/dist/git-merge-lock.d.ts.map +1 -0
- package/dist/git-merge-lock.js +157 -0
- package/dist/git-merge-lock.js.map +1 -0
- package/dist/git-merge-strategies.d.ts +39 -0
- package/dist/git-merge-strategies.d.ts.map +1 -0
- package/dist/git-merge-strategies.js +127 -0
- package/dist/git-merge-strategies.js.map +1 -0
- package/dist/git-merge.d.ts +80 -0
- package/dist/git-merge.d.ts.map +1 -0
- package/dist/git-merge.js +373 -0
- package/dist/git-merge.js.map +1 -0
- package/dist/git-state-detector.d.ts +24 -0
- package/dist/git-state-detector.d.ts.map +1 -0
- package/dist/git-state-detector.js +122 -0
- package/dist/git-state-detector.js.map +1 -0
- package/dist/git-types.d.ts +40 -0
- package/dist/git-types.d.ts.map +1 -0
- package/dist/git-types.js +23 -0
- package/dist/git-types.js.map +1 -0
- package/dist/git-utils.d.ts +28 -0
- package/dist/git-utils.d.ts.map +1 -0
- package/dist/git-utils.js +57 -0
- package/dist/git-utils.js.map +1 -0
- package/dist/git.d.ts +24 -0
- package/dist/git.d.ts.map +1 -0
- package/dist/git.js +64 -0
- package/dist/git.js.map +1 -0
- package/dist/guard-engine.d.ts +19 -0
- package/dist/guard-engine.d.ts.map +1 -0
- package/dist/guard-engine.js +21 -0
- package/dist/guard-engine.js.map +1 -0
- package/dist/guard-evaluator.d.ts +47 -0
- package/dist/guard-evaluator.d.ts.map +1 -0
- package/dist/guard-evaluator.js +193 -0
- package/dist/guard-evaluator.js.map +1 -0
- package/dist/heartbeat.d.ts +73 -0
- package/dist/heartbeat.d.ts.map +1 -0
- package/dist/heartbeat.js +306 -0
- package/dist/heartbeat.js.map +1 -0
- package/dist/index.d.ts +32 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +493 -0
- package/dist/index.js.map +1 -0
- package/dist/listener-auto-advance.d.ts +29 -0
- package/dist/listener-auto-advance.d.ts.map +1 -0
- package/dist/listener-auto-advance.js +172 -0
- package/dist/listener-auto-advance.js.map +1 -0
- package/dist/listener-review.d.ts +37 -0
- package/dist/listener-review.d.ts.map +1 -0
- package/dist/listener-review.js +217 -0
- package/dist/listener-review.js.map +1 -0
- package/dist/listener.d.ts +57 -0
- package/dist/listener.d.ts.map +1 -0
- package/dist/listener.js +361 -0
- package/dist/listener.js.map +1 -0
- package/dist/log-manager.d.ts +18 -0
- package/dist/log-manager.d.ts.map +1 -0
- package/dist/log-manager.js +18 -0
- package/dist/log-manager.js.map +1 -0
- package/dist/otlp-log-parser.d.ts +21 -0
- package/dist/otlp-log-parser.d.ts.map +1 -0
- package/dist/otlp-log-parser.js +143 -0
- package/dist/otlp-log-parser.js.map +1 -0
- package/dist/otlp-metric-parser.d.ts +20 -0
- package/dist/otlp-metric-parser.d.ts.map +1 -0
- package/dist/otlp-metric-parser.js +113 -0
- package/dist/otlp-metric-parser.js.map +1 -0
- package/dist/otlp-port-manager.d.ts +26 -0
- package/dist/otlp-port-manager.d.ts.map +1 -0
- package/dist/otlp-port-manager.js +130 -0
- package/dist/otlp-port-manager.js.map +1 -0
- package/dist/otlp-receiver.d.ts +51 -0
- package/dist/otlp-receiver.d.ts.map +1 -0
- package/dist/otlp-receiver.js +663 -0
- package/dist/otlp-receiver.js.map +1 -0
- package/dist/otlp-types.d.ts +92 -0
- package/dist/otlp-types.d.ts.map +1 -0
- package/dist/otlp-types.js +133 -0
- package/dist/otlp-types.js.map +1 -0
- package/dist/output-monitor.d.ts +33 -0
- package/dist/output-monitor.d.ts.map +1 -0
- package/dist/output-monitor.js +67 -0
- package/dist/output-monitor.js.map +1 -0
- package/dist/planning-prompt-builder.d.ts +67 -0
- package/dist/planning-prompt-builder.d.ts.map +1 -0
- package/dist/planning-prompt-builder.js +515 -0
- package/dist/planning-prompt-builder.js.map +1 -0
- package/dist/prompt-builder.d.ts +14 -0
- package/dist/prompt-builder.d.ts.map +1 -0
- package/dist/prompt-builder.js +174 -0
- package/dist/prompt-builder.js.map +1 -0
- package/dist/qa-crash-recovery.d.ts +77 -0
- package/dist/qa-crash-recovery.d.ts.map +1 -0
- package/dist/qa-crash-recovery.js +243 -0
- package/dist/qa-crash-recovery.js.map +1 -0
- package/dist/qa-dev-server.d.ts +73 -0
- package/dist/qa-dev-server.d.ts.map +1 -0
- package/dist/qa-dev-server.js +279 -0
- package/dist/qa-dev-server.js.map +1 -0
- package/dist/qa-orchestrator.d.ts +79 -0
- package/dist/qa-orchestrator.d.ts.map +1 -0
- package/dist/qa-orchestrator.js +349 -0
- package/dist/qa-orchestrator.js.map +1 -0
- package/dist/qa-port-allocator.d.ts +34 -0
- package/dist/qa-port-allocator.d.ts.map +1 -0
- package/dist/qa-port-allocator.js +75 -0
- package/dist/qa-port-allocator.js.map +1 -0
- package/dist/qa-provisioner.d.ts +33 -0
- package/dist/qa-provisioner.d.ts.map +1 -0
- package/dist/qa-provisioner.js +141 -0
- package/dist/qa-provisioner.js.map +1 -0
- package/dist/qa-state.d.ts +93 -0
- package/dist/qa-state.d.ts.map +1 -0
- package/dist/qa-state.js +74 -0
- package/dist/qa-state.js.map +1 -0
- package/dist/queries/control-state.d.ts +25 -0
- package/dist/queries/control-state.d.ts.map +1 -0
- package/dist/queries/control-state.js +34 -0
- package/dist/queries/control-state.js.map +1 -0
- package/dist/queries/daemon-connection.d.ts +25 -0
- package/dist/queries/daemon-connection.d.ts.map +1 -0
- package/dist/queries/daemon-connection.js +28 -0
- package/dist/queries/daemon-connection.js.map +1 -0
- package/dist/queries/deliveries.d.ts +100 -0
- package/dist/queries/deliveries.d.ts.map +1 -0
- package/dist/queries/deliveries.js +184 -0
- package/dist/queries/deliveries.js.map +1 -0
- package/dist/queries/git-activity.d.ts +20 -0
- package/dist/queries/git-activity.d.ts.map +1 -0
- package/dist/queries/git-activity.js +22 -0
- package/dist/queries/git-activity.js.map +1 -0
- package/dist/queries/guards.d.ts +47 -0
- package/dist/queries/guards.d.ts.map +1 -0
- package/dist/queries/guards.js +138 -0
- package/dist/queries/guards.js.map +1 -0
- package/dist/queries/index.d.ts +19 -0
- package/dist/queries/index.d.ts.map +1 -0
- package/dist/queries/index.js +17 -0
- package/dist/queries/index.js.map +1 -0
- package/dist/queries/issues.d.ts +41 -0
- package/dist/queries/issues.d.ts.map +1 -0
- package/dist/queries/issues.js +67 -0
- package/dist/queries/issues.js.map +1 -0
- package/dist/queries/qa.d.ts +79 -0
- package/dist/queries/qa.d.ts.map +1 -0
- package/dist/queries/qa.js +85 -0
- package/dist/queries/qa.js.map +1 -0
- package/dist/queries/roles.d.ts +13 -0
- package/dist/queries/roles.d.ts.map +1 -0
- package/dist/queries/roles.js +39 -0
- package/dist/queries/roles.js.map +1 -0
- package/dist/queries/schemas.d.ts +777 -0
- package/dist/queries/schemas.d.ts.map +1 -0
- package/dist/queries/schemas.js +391 -0
- package/dist/queries/schemas.js.map +1 -0
- package/dist/queries/sessions.d.ts +64 -0
- package/dist/queries/sessions.d.ts.map +1 -0
- package/dist/queries/sessions.js +100 -0
- package/dist/queries/sessions.js.map +1 -0
- package/dist/queries/shared.d.ts +61 -0
- package/dist/queries/shared.d.ts.map +1 -0
- package/dist/queries/shared.js +187 -0
- package/dist/queries/shared.js.map +1 -0
- package/dist/queries/strategies.d.ts +69 -0
- package/dist/queries/strategies.d.ts.map +1 -0
- package/dist/queries/strategies.js +80 -0
- package/dist/queries/strategies.js.map +1 -0
- package/dist/queries/workflows.d.ts +17 -0
- package/dist/queries/workflows.d.ts.map +1 -0
- package/dist/queries/workflows.js +49 -0
- package/dist/queries/workflows.js.map +1 -0
- package/dist/queries/worktrees.d.ts +38 -0
- package/dist/queries/worktrees.d.ts.map +1 -0
- package/dist/queries/worktrees.js +37 -0
- package/dist/queries/worktrees.js.map +1 -0
- package/dist/self-update.d.ts +94 -0
- package/dist/self-update.d.ts.map +1 -0
- package/dist/self-update.js +438 -0
- package/dist/self-update.js.map +1 -0
- package/dist/session-lifecycle.d.ts +77 -0
- package/dist/session-lifecycle.d.ts.map +1 -0
- package/dist/session-lifecycle.js +379 -0
- package/dist/session-lifecycle.js.map +1 -0
- package/dist/shutdown-state.d.ts +17 -0
- package/dist/shutdown-state.d.ts.map +1 -0
- package/dist/shutdown-state.js +22 -0
- package/dist/shutdown-state.js.map +1 -0
- package/dist/spawn-cooldown.d.ts +14 -0
- package/dist/spawn-cooldown.d.ts.map +1 -0
- package/dist/spawn-cooldown.js +34 -0
- package/dist/spawn-cooldown.js.map +1 -0
- package/dist/spawn-environment.d.ts +35 -0
- package/dist/spawn-environment.d.ts.map +1 -0
- package/dist/spawn-environment.js +48 -0
- package/dist/spawn-environment.js.map +1 -0
- package/dist/spawner-liveness.d.ts +23 -0
- package/dist/spawner-liveness.d.ts.map +1 -0
- package/dist/spawner-liveness.js +99 -0
- package/dist/spawner-liveness.js.map +1 -0
- package/dist/spawner-resolution.d.ts +27 -0
- package/dist/spawner-resolution.d.ts.map +1 -0
- package/dist/spawner-resolution.js +99 -0
- package/dist/spawner-resolution.js.map +1 -0
- package/dist/spawner-timeout.d.ts +32 -0
- package/dist/spawner-timeout.d.ts.map +1 -0
- package/dist/spawner-timeout.js +124 -0
- package/dist/spawner-timeout.js.map +1 -0
- package/dist/spawner.d.ts +77 -0
- package/dist/spawner.d.ts.map +1 -0
- package/dist/spawner.js +734 -0
- package/dist/spawner.js.map +1 -0
- package/dist/strategy-completion.d.ts +110 -0
- package/dist/strategy-completion.d.ts.map +1 -0
- package/dist/strategy-completion.js +434 -0
- package/dist/strategy-completion.js.map +1 -0
- package/dist/strategy-engine.d.ts +47 -0
- package/dist/strategy-engine.d.ts.map +1 -0
- package/dist/strategy-engine.js +419 -0
- package/dist/strategy-engine.js.map +1 -0
- package/dist/strategy-executor.d.ts +93 -0
- package/dist/strategy-executor.d.ts.map +1 -0
- package/dist/strategy-executor.js +775 -0
- package/dist/strategy-executor.js.map +1 -0
- package/dist/strategy-lifecycle.d.ts +61 -0
- package/dist/strategy-lifecycle.d.ts.map +1 -0
- package/dist/strategy-lifecycle.js +516 -0
- package/dist/strategy-lifecycle.js.map +1 -0
- package/dist/strategy-merge.d.ts +72 -0
- package/dist/strategy-merge.d.ts.map +1 -0
- package/dist/strategy-merge.js +371 -0
- package/dist/strategy-merge.js.map +1 -0
- package/dist/strategy-prompt-builder.d.ts +62 -0
- package/dist/strategy-prompt-builder.d.ts.map +1 -0
- package/dist/strategy-prompt-builder.js +538 -0
- package/dist/strategy-prompt-builder.js.map +1 -0
- package/dist/strategy-provisioning.d.ts +16 -0
- package/dist/strategy-provisioning.d.ts.map +1 -0
- package/dist/strategy-provisioning.js +119 -0
- package/dist/strategy-provisioning.js.map +1 -0
- package/dist/strategy-team-state.d.ts +24 -0
- package/dist/strategy-team-state.d.ts.map +1 -0
- package/dist/strategy-team-state.js +43 -0
- package/dist/strategy-team-state.js.map +1 -0
- package/dist/strategy-teardown.d.ts +24 -0
- package/dist/strategy-teardown.d.ts.map +1 -0
- package/dist/strategy-teardown.js +158 -0
- package/dist/strategy-teardown.js.map +1 -0
- package/dist/strategy-worktree-state.d.ts +47 -0
- package/dist/strategy-worktree-state.d.ts.map +1 -0
- package/dist/strategy-worktree-state.js +104 -0
- package/dist/strategy-worktree-state.js.map +1 -0
- package/dist/supabase.d.ts +36 -0
- package/dist/supabase.d.ts.map +1 -0
- package/dist/supabase.js +50 -0
- package/dist/supabase.js.map +1 -0
- package/dist/task-converter.d.ts +61 -0
- package/dist/task-converter.d.ts.map +1 -0
- package/dist/task-converter.js +286 -0
- package/dist/task-converter.js.map +1 -0
- package/dist/task-dag-builder.d.ts +14 -0
- package/dist/task-dag-builder.d.ts.map +1 -0
- package/dist/task-dag-builder.js +17 -0
- package/dist/task-dag-builder.js.map +1 -0
- package/dist/team-prompt-base.d.ts +114 -0
- package/dist/team-prompt-base.d.ts.map +1 -0
- package/dist/team-prompt-base.js +531 -0
- package/dist/team-prompt-base.js.map +1 -0
- package/dist/team-prompt-variants.d.ts +27 -0
- package/dist/team-prompt-variants.d.ts.map +1 -0
- package/dist/team-prompt-variants.js +134 -0
- package/dist/team-prompt-variants.js.map +1 -0
- package/dist/team-spawner.d.ts +50 -0
- package/dist/team-spawner.d.ts.map +1 -0
- package/dist/team-spawner.js +410 -0
- package/dist/team-spawner.js.map +1 -0
- package/dist/telemetry-writer.d.ts +66 -0
- package/dist/telemetry-writer.d.ts.map +1 -0
- package/dist/telemetry-writer.js +96 -0
- package/dist/telemetry-writer.js.map +1 -0
- package/dist/trigger-executor.d.ts +56 -0
- package/dist/trigger-executor.d.ts.map +1 -0
- package/dist/trigger-executor.js +313 -0
- package/dist/trigger-executor.js.map +1 -0
- package/dist/types/config.d.ts +60 -0
- package/dist/types/config.d.ts.map +1 -0
- package/dist/types/config.js +5 -0
- package/dist/types/config.js.map +1 -0
- package/dist/types/dag.d.ts +53 -0
- package/dist/types/dag.d.ts.map +1 -0
- package/dist/types/dag.js +5 -0
- package/dist/types/dag.js.map +1 -0
- package/dist/types/delivery.d.ts +71 -0
- package/dist/types/delivery.d.ts.map +1 -0
- package/dist/types/delivery.js +5 -0
- package/dist/types/delivery.js.map +1 -0
- package/dist/types/index.d.ts +15 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/index.js +15 -0
- package/dist/types/index.js.map +1 -0
- package/dist/types/issue.d.ts +22 -0
- package/dist/types/issue.d.ts.map +1 -0
- package/dist/types/issue.js +5 -0
- package/dist/types/issue.js.map +1 -0
- package/dist/types/merge.d.ts +28 -0
- package/dist/types/merge.d.ts.map +1 -0
- package/dist/types/merge.js +5 -0
- package/dist/types/merge.js.map +1 -0
- package/dist/types/session.d.ts +98 -0
- package/dist/types/session.d.ts.map +1 -0
- package/dist/types/session.js +5 -0
- package/dist/types/session.js.map +1 -0
- package/dist/types/strategy.d.ts +175 -0
- package/dist/types/strategy.d.ts.map +1 -0
- package/dist/types/strategy.js +5 -0
- package/dist/types/strategy.js.map +1 -0
- package/dist/types/workflow.d.ts +34 -0
- package/dist/types/workflow.d.ts.map +1 -0
- package/dist/types/workflow.js +9 -0
- package/dist/types/workflow.js.map +1 -0
- package/dist/types.d.ts +9 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +9 -0
- package/dist/types.js.map +1 -0
- package/dist/unified-init.d.ts +16 -0
- package/dist/unified-init.d.ts.map +1 -0
- package/dist/unified-init.js +183 -0
- package/dist/unified-init.js.map +1 -0
- package/dist/unified-shell-config.d.ts +34 -0
- package/dist/unified-shell-config.d.ts.map +1 -0
- package/dist/unified-shell-config.js +238 -0
- package/dist/unified-shell-config.js.map +1 -0
- package/dist/unified-shell-status.d.ts +15 -0
- package/dist/unified-shell-status.d.ts.map +1 -0
- package/dist/unified-shell-status.js +100 -0
- package/dist/unified-shell-status.js.map +1 -0
- package/dist/unified-shell.d.ts +50 -0
- package/dist/unified-shell.d.ts.map +1 -0
- package/dist/unified-shell.js +682 -0
- package/dist/unified-shell.js.map +1 -0
- package/dist/version-check.d.ts +19 -0
- package/dist/version-check.d.ts.map +1 -0
- package/dist/version-check.js +67 -0
- package/dist/version-check.js.map +1 -0
- package/dist/workflow-engine.d.ts +95 -0
- package/dist/workflow-engine.d.ts.map +1 -0
- package/dist/workflow-engine.js +165 -0
- package/dist/workflow-engine.js.map +1 -0
- package/dist/worktree-merge.d.ts +23 -0
- package/dist/worktree-merge.d.ts.map +1 -0
- package/dist/worktree-merge.js +57 -0
- package/dist/worktree-merge.js.map +1 -0
- package/dist/worktree-safety.d.ts +48 -0
- package/dist/worktree-safety.d.ts.map +1 -0
- package/dist/worktree-safety.js +113 -0
- package/dist/worktree-safety.js.map +1 -0
- package/dist/worktree-strategy.d.ts +69 -0
- package/dist/worktree-strategy.d.ts.map +1 -0
- package/dist/worktree-strategy.js +214 -0
- package/dist/worktree-strategy.js.map +1 -0
- package/dist/worktree.d.ts +159 -0
- package/dist/worktree.d.ts.map +1 -0
- package/dist/worktree.js +512 -0
- package/dist/worktree.js.map +1 -0
- package/package.json +76 -0
- package/scripts/telora-daemon-wrapper.sh +31 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"condition-evaluators.js","sourceRoot":"","sources":["../src/condition-evaluators.ts"],"names":[],"mappings":"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"}
|
package/dist/config.d.ts
ADDED
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Daemon configuration management.
|
|
3
|
+
*
|
|
4
|
+
* Loads configuration from:
|
|
5
|
+
* 1. Config file (.telora/daemon.json or --config path)
|
|
6
|
+
* 2. Environment variables (override config file)
|
|
7
|
+
*
|
|
8
|
+
* Uses shared BaseConfig infrastructure from @telora/daemon-core for fields
|
|
9
|
+
* common to both daemon and factory, then layers daemon-specific fields on top.
|
|
10
|
+
*
|
|
11
|
+
* Uses tracker-based authentication (same as MCP server) instead of service role key.
|
|
12
|
+
* SECURITY: trackerId must come from TELORA_TRACKER_ID env var, never from config file.
|
|
13
|
+
*/
|
|
14
|
+
import type { DaemonConfig } from './types.js';
|
|
15
|
+
import type { ProductEntry } from '@telora/daemon-core';
|
|
16
|
+
/**
|
|
17
|
+
* Load and validate daemon configuration.
|
|
18
|
+
*
|
|
19
|
+
* Priority (highest to lowest):
|
|
20
|
+
* 1. Environment variables
|
|
21
|
+
* 2. Config file values
|
|
22
|
+
* 3. Default values
|
|
23
|
+
*
|
|
24
|
+
* @param configPath Optional path to config file (default: .telora/daemon.json)
|
|
25
|
+
*/
|
|
26
|
+
export declare function loadConfig(configPath?: string): DaemonConfig;
|
|
27
|
+
/**
|
|
28
|
+
* Create a product-scoped DaemonConfig by overriding productId, repoPath,
|
|
29
|
+
* worktreeDir, and logDir to target a specific product's repository.
|
|
30
|
+
*
|
|
31
|
+
* Downstream functions that use config.productId and config.repoPath
|
|
32
|
+
* work without modification when given a product-scoped config.
|
|
33
|
+
*/
|
|
34
|
+
export declare function configForProduct(config: DaemonConfig, product: ProductEntry): DaemonConfig;
|
|
35
|
+
/**
|
|
36
|
+
* Look up a ProductEntry by productId from the config's products array.
|
|
37
|
+
* Returns undefined if not found (defensive fallback).
|
|
38
|
+
*/
|
|
39
|
+
export declare function findProduct(config: DaemonConfig, productId: string): ProductEntry | undefined;
|
|
40
|
+
/**
|
|
41
|
+
* Validate daemon configuration values at startup.
|
|
42
|
+
*
|
|
43
|
+
* Runs after loadConfig() but before initSupabase(). Collects all
|
|
44
|
+
* validation failures and throws a single error listing every problem,
|
|
45
|
+
* so operators can fix everything in one pass.
|
|
46
|
+
*
|
|
47
|
+
* Uses validateBaseConfig() from @telora/daemon-core for shared fields,
|
|
48
|
+
* then appends daemon-specific validation errors.
|
|
49
|
+
*/
|
|
50
|
+
export declare function validateConfig(config: DaemonConfig): void;
|
|
51
|
+
/**
|
|
52
|
+
* Print configuration summary (without sensitive values)
|
|
53
|
+
*/
|
|
54
|
+
export declare function printConfig(config: DaemonConfig): void;
|
|
55
|
+
//# sourceMappingURL=config.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAUH,OAAO,KAAK,EAAE,YAAY,EAAsC,MAAM,YAAY,CAAC;AACnF,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAqDxD;;;;;;;;;GASG;AACH,wBAAgB,UAAU,CAAC,UAAU,CAAC,EAAE,MAAM,GAAG,YAAY,CAkM5D;AAED;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,YAAY,EAAE,OAAO,EAAE,YAAY,GAAG,YAAY,CAS1F;AAED;;;GAGG;AACH,wBAAgB,WAAW,CAAC,MAAM,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,GAAG,YAAY,GAAG,SAAS,CAE7F;AAED;;;;;;;;;GASG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,YAAY,GAAG,IAAI,CAsCzD;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,MAAM,EAAE,YAAY,GAAG,IAAI,CA+BtD"}
|
package/dist/config.js
ADDED
|
@@ -0,0 +1,311 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Daemon configuration management.
|
|
3
|
+
*
|
|
4
|
+
* Loads configuration from:
|
|
5
|
+
* 1. Config file (.telora/daemon.json or --config path)
|
|
6
|
+
* 2. Environment variables (override config file)
|
|
7
|
+
*
|
|
8
|
+
* Uses shared BaseConfig infrastructure from @telora/daemon-core for fields
|
|
9
|
+
* common to both daemon and factory, then layers daemon-specific fields on top.
|
|
10
|
+
*
|
|
11
|
+
* Uses tracker-based authentication (same as MCP server) instead of service role key.
|
|
12
|
+
* SECURITY: trackerId must come from TELORA_TRACKER_ID env var, never from config file.
|
|
13
|
+
*/
|
|
14
|
+
import { resolve } from 'node:path';
|
|
15
|
+
import { existsSync, accessSync, constants } from 'node:fs';
|
|
16
|
+
import { networkInterfaces } from 'node:os';
|
|
17
|
+
import { loadConfigFile as loadConfigFileShared, resolveBaseConfig, validateBaseConfig, } from '@telora/daemon-core';
|
|
18
|
+
/**
|
|
19
|
+
* Auto-detect the first non-internal IPv4 address for LAN-accessible QA URLs.
|
|
20
|
+
* Falls back to 'localhost' if no suitable address is found.
|
|
21
|
+
*/
|
|
22
|
+
function detectLanHost() {
|
|
23
|
+
const interfaces = networkInterfaces();
|
|
24
|
+
for (const ifaceEntries of Object.values(interfaces)) {
|
|
25
|
+
if (!ifaceEntries)
|
|
26
|
+
continue;
|
|
27
|
+
for (const iface of ifaceEntries) {
|
|
28
|
+
if (iface.family === 'IPv4' && !iface.internal) {
|
|
29
|
+
return iface.address;
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
return 'localhost';
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* Helper: read a numeric value from env (as string) or file config, with a default.
|
|
37
|
+
*/
|
|
38
|
+
function resolveInt(envVal, fileVal, defaultVal) {
|
|
39
|
+
if (envVal !== undefined && envVal !== '') {
|
|
40
|
+
return parseInt(envVal, 10);
|
|
41
|
+
}
|
|
42
|
+
if (typeof fileVal === 'number') {
|
|
43
|
+
return fileVal;
|
|
44
|
+
}
|
|
45
|
+
return defaultVal;
|
|
46
|
+
}
|
|
47
|
+
/**
|
|
48
|
+
* Helper: read a float value from env (as string) or file config, with a default.
|
|
49
|
+
*/
|
|
50
|
+
function resolveFloat(envVal, fileVal, defaultVal) {
|
|
51
|
+
if (envVal !== undefined && envVal !== '') {
|
|
52
|
+
return parseFloat(envVal);
|
|
53
|
+
}
|
|
54
|
+
if (typeof fileVal === 'number') {
|
|
55
|
+
return fileVal;
|
|
56
|
+
}
|
|
57
|
+
return defaultVal;
|
|
58
|
+
}
|
|
59
|
+
/**
|
|
60
|
+
* Load and validate daemon configuration.
|
|
61
|
+
*
|
|
62
|
+
* Priority (highest to lowest):
|
|
63
|
+
* 1. Environment variables
|
|
64
|
+
* 2. Config file values
|
|
65
|
+
* 3. Default values
|
|
66
|
+
*
|
|
67
|
+
* @param configPath Optional path to config file (default: .telora/daemon.json)
|
|
68
|
+
*/
|
|
69
|
+
export function loadConfig(configPath) {
|
|
70
|
+
// Load config file using shared loader (returns Record<string, unknown>)
|
|
71
|
+
const fileConfig = loadConfigFileShared(configPath, 'daemon.json');
|
|
72
|
+
// Resolve base fields (teloraUrl, trackerId, organizationId, productId, etc.)
|
|
73
|
+
// using shared resolver that handles env-var-over-file priority
|
|
74
|
+
const base = resolveBaseConfig(fileConfig, process.env);
|
|
75
|
+
// Apply daemon-specific defaults for base fields
|
|
76
|
+
const repoPath = base.repoPath || process.cwd();
|
|
77
|
+
const claudeCodePath = base.claudeCodePath || 'claude';
|
|
78
|
+
const logDir = base.logDir || resolve(repoPath, '.telora', 'logs');
|
|
79
|
+
const sessionTimeoutMs = base.sessionTimeoutMs ?? 3600000; // 1 hour
|
|
80
|
+
const mcpConfigPath = base.mcpConfigPath ?? null;
|
|
81
|
+
// Resolve products array (always populated at runtime)
|
|
82
|
+
const products = base.products ?? [];
|
|
83
|
+
// Validate required base fields
|
|
84
|
+
const teloraUrl = base.teloraUrl;
|
|
85
|
+
const trackerId = base.trackerId;
|
|
86
|
+
const organizationId = base.organizationId;
|
|
87
|
+
const productId = base.productId;
|
|
88
|
+
if (!teloraUrl) {
|
|
89
|
+
throw new Error('TELORA_URL is required (set in env or config file)');
|
|
90
|
+
}
|
|
91
|
+
if (!trackerId) {
|
|
92
|
+
throw new Error('TELORA_TRACKER_ID is required (set in env or config file)');
|
|
93
|
+
}
|
|
94
|
+
if (!organizationId) {
|
|
95
|
+
throw new Error('TELORA_ORGANIZATION_ID is required (set in env or config file)');
|
|
96
|
+
}
|
|
97
|
+
if (products.length === 0 && !productId) {
|
|
98
|
+
throw new Error('At least one product is required. Set "products" array in config file, ' +
|
|
99
|
+
'or use TELORA_PRODUCT_ID + TELORA_REPO_PATH environment variables.');
|
|
100
|
+
}
|
|
101
|
+
// Warn when using HTTP for non-local URLs (bearer tokens are sent in Authorization headers)
|
|
102
|
+
if (teloraUrl.startsWith('http://')) {
|
|
103
|
+
const urlHost = new URL(teloraUrl).hostname;
|
|
104
|
+
const isLocal = urlHost === 'localhost' || urlHost === '127.0.0.1' || urlHost === '::1';
|
|
105
|
+
if (!isLocal) {
|
|
106
|
+
console.warn('WARNING: TELORA_URL uses HTTP instead of HTTPS. ' +
|
|
107
|
+
'Bearer tokens will be transmitted in plaintext, exposing them to network interception. ' +
|
|
108
|
+
'Use HTTPS in production environments.');
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
// Validate repo path exists
|
|
112
|
+
if (!existsSync(repoPath)) {
|
|
113
|
+
throw new Error(`Repository path does not exist: ${repoPath}`);
|
|
114
|
+
}
|
|
115
|
+
// ── Daemon-specific fields ────────────────────────────────────
|
|
116
|
+
// Worktree directory for parallel agent branches
|
|
117
|
+
const worktreeDir = process.env.TELORA_WORKTREE_DIR
|
|
118
|
+
|| (typeof fileConfig.worktreeDir === 'string' ? fileConfig.worktreeDir : '')
|
|
119
|
+
|| resolve(repoPath, '.telora', 'worktrees');
|
|
120
|
+
// Integration branch (agents merge here on success, humans promote to main)
|
|
121
|
+
const integrationBranch = process.env.TELORA_INTEGRATION_BRANCH
|
|
122
|
+
|| (typeof fileConfig.integrationBranch === 'string' ? fileConfig.integrationBranch : '')
|
|
123
|
+
|| 'integration';
|
|
124
|
+
// Session limits
|
|
125
|
+
const maxTotalSessions = resolveInt(process.env.MAX_TOTAL_SESSIONS, fileConfig.maxTotalSessions, 5);
|
|
126
|
+
const tokenLimit = resolveInt(process.env.TOKEN_LIMIT, fileConfig.tokenLimit, 200000);
|
|
127
|
+
const costLimit = resolveFloat(process.env.COST_LIMIT, fileConfig.costLimit, 10.0);
|
|
128
|
+
const mergeLockTimeoutMs = resolveInt(process.env.MERGE_LOCK_TIMEOUT_MS, fileConfig.mergeLockTimeoutMs, 300000);
|
|
129
|
+
const mergeLockContentionWarningMs = resolveInt(process.env.MERGE_LOCK_CONTENTION_WARNING_MS, fileConfig.mergeLockContentionWarningMs, 30000);
|
|
130
|
+
// Guard failure mode: fail-open (default, backward compatible) or fail-closed
|
|
131
|
+
const rawPolicyFailureMode = process.env.TELORA_POLICY_FAILURE_MODE
|
|
132
|
+
|| (typeof fileConfig.policyFailureMode === 'string' ? fileConfig.policyFailureMode : '')
|
|
133
|
+
|| 'fail-open';
|
|
134
|
+
if (rawPolicyFailureMode !== 'fail-open' && rawPolicyFailureMode !== 'fail-closed') {
|
|
135
|
+
throw new Error(`Invalid TELORA_POLICY_FAILURE_MODE: "${rawPolicyFailureMode}". Must be "fail-open" or "fail-closed".`);
|
|
136
|
+
}
|
|
137
|
+
const policyFailureMode = rawPolicyFailureMode;
|
|
138
|
+
// Log retention policy
|
|
139
|
+
const logMaxAgeDays = resolveInt(process.env.LOG_MAX_AGE_DAYS, fileConfig.logMaxAgeDays, 7);
|
|
140
|
+
const logMaxTotalBytes = resolveInt(process.env.LOG_MAX_TOTAL_BYTES, fileConfig.logMaxTotalBytes, 1073741824);
|
|
141
|
+
const logMaxFiles = resolveInt(process.env.LOG_MAX_FILES, fileConfig.logMaxFiles, 500);
|
|
142
|
+
// Telemetry / OTLP receiver configuration
|
|
143
|
+
const telemetryFile = (typeof fileConfig.telemetry === 'object' && fileConfig.telemetry !== null)
|
|
144
|
+
? fileConfig.telemetry
|
|
145
|
+
: {};
|
|
146
|
+
const telemetry = {
|
|
147
|
+
enabled: process.env.TELORA_TELEMETRY_ENABLED !== undefined
|
|
148
|
+
? process.env.TELORA_TELEMETRY_ENABLED !== '0' && process.env.TELORA_TELEMETRY_ENABLED !== 'false'
|
|
149
|
+
: (typeof telemetryFile.enabled === 'boolean' ? telemetryFile.enabled : true),
|
|
150
|
+
port: resolveInt(process.env.TELORA_TELEMETRY_PORT, telemetryFile.port, 4318),
|
|
151
|
+
flushIntervalMs: resolveInt(process.env.TELORA_TELEMETRY_FLUSH_INTERVAL_MS, telemetryFile.flushIntervalMs, 5000),
|
|
152
|
+
retentionDays: resolveInt(process.env.TELORA_TELEMETRY_RETENTION_DAYS, telemetryFile.retentionDays, 30),
|
|
153
|
+
};
|
|
154
|
+
// QA environment configuration
|
|
155
|
+
const qaPortRangeStart = resolveInt(process.env.TELORA_QA_PORT_RANGE_START, fileConfig.qaPortRangeStart, 9100);
|
|
156
|
+
const qaPortRangeEnd = resolveInt(process.env.TELORA_QA_PORT_RANGE_END, fileConfig.qaPortRangeEnd, 9199);
|
|
157
|
+
const qaHost = process.env.TELORA_QA_HOST
|
|
158
|
+
|| (typeof fileConfig.qaHost === 'string' ? fileConfig.qaHost : '')
|
|
159
|
+
|| detectLanHost();
|
|
160
|
+
// Local Supabase configuration for QA environments
|
|
161
|
+
const localSupabaseUrl = process.env.TELORA_LOCAL_SUPABASE_URL
|
|
162
|
+
|| (typeof fileConfig.localSupabaseUrl === 'string' ? fileConfig.localSupabaseUrl : '')
|
|
163
|
+
|| 'http://127.0.0.1:54321';
|
|
164
|
+
const localSupabaseAnonKey = process.env.TELORA_LOCAL_SUPABASE_ANON_KEY
|
|
165
|
+
|| (typeof fileConfig.localSupabaseAnonKey === 'string' ? fileConfig.localSupabaseAnonKey : '')
|
|
166
|
+
|| null;
|
|
167
|
+
// Validate QA port range
|
|
168
|
+
if (qaPortRangeStart < 1024 || qaPortRangeStart > 65535) {
|
|
169
|
+
throw new Error(`qaPortRangeStart must be between 1024 and 65535, got ${qaPortRangeStart}`);
|
|
170
|
+
}
|
|
171
|
+
if (qaPortRangeEnd < 1024 || qaPortRangeEnd > 65535) {
|
|
172
|
+
throw new Error(`qaPortRangeEnd must be between 1024 and 65535, got ${qaPortRangeEnd}`);
|
|
173
|
+
}
|
|
174
|
+
if (qaPortRangeStart >= qaPortRangeEnd) {
|
|
175
|
+
throw new Error(`qaPortRangeStart (${qaPortRangeStart}) must be less than qaPortRangeEnd (${qaPortRangeEnd})`);
|
|
176
|
+
}
|
|
177
|
+
return {
|
|
178
|
+
teloraUrl,
|
|
179
|
+
trackerId,
|
|
180
|
+
organizationId,
|
|
181
|
+
productId: productId ?? products[0]?.id ?? '',
|
|
182
|
+
repoPath,
|
|
183
|
+
products,
|
|
184
|
+
claudeCodePath,
|
|
185
|
+
mcpConfigPath,
|
|
186
|
+
logDir,
|
|
187
|
+
sessionTimeoutMs,
|
|
188
|
+
worktreeDir,
|
|
189
|
+
integrationBranch,
|
|
190
|
+
maxTotalSessions,
|
|
191
|
+
tokenLimit,
|
|
192
|
+
costLimit,
|
|
193
|
+
mergeLockTimeoutMs,
|
|
194
|
+
mergeLockContentionWarningMs,
|
|
195
|
+
policyFailureMode,
|
|
196
|
+
logMaxAgeDays,
|
|
197
|
+
logMaxTotalBytes,
|
|
198
|
+
logMaxFiles,
|
|
199
|
+
telemetry,
|
|
200
|
+
qaPortRangeStart,
|
|
201
|
+
qaPortRangeEnd,
|
|
202
|
+
qaHost,
|
|
203
|
+
localSupabaseUrl,
|
|
204
|
+
localSupabaseAnonKey,
|
|
205
|
+
};
|
|
206
|
+
}
|
|
207
|
+
/**
|
|
208
|
+
* Create a product-scoped DaemonConfig by overriding productId, repoPath,
|
|
209
|
+
* worktreeDir, and logDir to target a specific product's repository.
|
|
210
|
+
*
|
|
211
|
+
* Downstream functions that use config.productId and config.repoPath
|
|
212
|
+
* work without modification when given a product-scoped config.
|
|
213
|
+
*/
|
|
214
|
+
export function configForProduct(config, product) {
|
|
215
|
+
return {
|
|
216
|
+
...config,
|
|
217
|
+
productId: product.id,
|
|
218
|
+
repoPath: product.repoPath,
|
|
219
|
+
// Derive worktreeDir and logDir from the product's repoPath
|
|
220
|
+
worktreeDir: resolve(product.repoPath, '.telora', 'worktrees'),
|
|
221
|
+
logDir: resolve(product.repoPath, '.telora', 'logs'),
|
|
222
|
+
};
|
|
223
|
+
}
|
|
224
|
+
/**
|
|
225
|
+
* Look up a ProductEntry by productId from the config's products array.
|
|
226
|
+
* Returns undefined if not found (defensive fallback).
|
|
227
|
+
*/
|
|
228
|
+
export function findProduct(config, productId) {
|
|
229
|
+
return config.products.find(p => p.id === productId);
|
|
230
|
+
}
|
|
231
|
+
/**
|
|
232
|
+
* Validate daemon configuration values at startup.
|
|
233
|
+
*
|
|
234
|
+
* Runs after loadConfig() but before initSupabase(). Collects all
|
|
235
|
+
* validation failures and throws a single error listing every problem,
|
|
236
|
+
* so operators can fix everything in one pass.
|
|
237
|
+
*
|
|
238
|
+
* Uses validateBaseConfig() from @telora/daemon-core for shared fields,
|
|
239
|
+
* then appends daemon-specific validation errors.
|
|
240
|
+
*/
|
|
241
|
+
export function validateConfig(config) {
|
|
242
|
+
// Validate shared base fields (teloraUrl, trackerId, organizationId, productId, repoPath, UUIDs)
|
|
243
|
+
const errors = validateBaseConfig(config);
|
|
244
|
+
// ── Daemon-specific validations ───────────────────────────────
|
|
245
|
+
// Validate each product's repoPath is a git repository
|
|
246
|
+
for (const product of config.products) {
|
|
247
|
+
if (product.repoPath && existsSync(product.repoPath)) {
|
|
248
|
+
const gitDir = resolve(product.repoPath, '.git');
|
|
249
|
+
if (!existsSync(gitDir)) {
|
|
250
|
+
errors.push(`Product ${product.id}: repoPath is not a git repository (no .git found): "${product.repoPath}"`);
|
|
251
|
+
}
|
|
252
|
+
}
|
|
253
|
+
else if (product.repoPath) {
|
|
254
|
+
errors.push(`Product ${product.id}: repoPath does not exist: "${product.repoPath}"`);
|
|
255
|
+
}
|
|
256
|
+
}
|
|
257
|
+
// worktreeDir parent must exist and be writable
|
|
258
|
+
const worktreeParent = resolve(config.worktreeDir, '..');
|
|
259
|
+
if (!existsSync(worktreeParent)) {
|
|
260
|
+
errors.push(`worktreeDir parent directory does not exist: "${worktreeParent}"`);
|
|
261
|
+
}
|
|
262
|
+
else {
|
|
263
|
+
try {
|
|
264
|
+
accessSync(worktreeParent, constants.W_OK);
|
|
265
|
+
}
|
|
266
|
+
catch {
|
|
267
|
+
errors.push(`worktreeDir parent directory is not writable: "${worktreeParent}"`);
|
|
268
|
+
}
|
|
269
|
+
}
|
|
270
|
+
if (errors.length > 0) {
|
|
271
|
+
throw new Error(`Daemon configuration validation failed (${errors.length} error(s)):\n` +
|
|
272
|
+
errors.map(e => ` - ${e}`).join('\n'));
|
|
273
|
+
}
|
|
274
|
+
console.log('Configuration validation passed');
|
|
275
|
+
}
|
|
276
|
+
/**
|
|
277
|
+
* Print configuration summary (without sensitive values)
|
|
278
|
+
*/
|
|
279
|
+
export function printConfig(config) {
|
|
280
|
+
console.log('Daemon Configuration:');
|
|
281
|
+
console.log(` Telora URL: ${config.teloraUrl}`);
|
|
282
|
+
console.log(` Tracker ID: [configured]`);
|
|
283
|
+
console.log(` Organization ID: ${config.organizationId}`);
|
|
284
|
+
console.log(` Products: ${config.products.length}`);
|
|
285
|
+
for (const product of config.products) {
|
|
286
|
+
console.log(` - ${product.id} -> ${product.repoPath}`);
|
|
287
|
+
}
|
|
288
|
+
console.log(` Worktree Directory: ${config.worktreeDir}`);
|
|
289
|
+
console.log(` Integration Branch: ${config.integrationBranch}`);
|
|
290
|
+
console.log(` Claude Code Path: ${config.claudeCodePath}`);
|
|
291
|
+
console.log(` Log Directory: ${config.logDir}`);
|
|
292
|
+
console.log(` Max Total Sessions: ${config.maxTotalSessions}`);
|
|
293
|
+
console.log(` Session Timeout: ${config.sessionTimeoutMs}ms`);
|
|
294
|
+
console.log(` Token Limit: ${config.tokenLimit}`);
|
|
295
|
+
console.log(` Cost Limit: $${config.costLimit}`);
|
|
296
|
+
console.log(` Merge Lock Timeout: ${config.mergeLockTimeoutMs}ms`);
|
|
297
|
+
console.log(` Merge Lock Contention Warning: ${config.mergeLockContentionWarningMs}ms`);
|
|
298
|
+
console.log(` Policy Failure Mode: ${config.policyFailureMode}`);
|
|
299
|
+
console.log(` Log Max Age: ${config.logMaxAgeDays} days`);
|
|
300
|
+
console.log(` Log Max Total Size: ${(config.logMaxTotalBytes / 1073741824).toFixed(2)} GB`);
|
|
301
|
+
console.log(` Log Max Files: ${config.logMaxFiles}`);
|
|
302
|
+
console.log(` Telemetry Enabled: ${config.telemetry.enabled}`);
|
|
303
|
+
console.log(` Telemetry Port: ${config.telemetry.port}`);
|
|
304
|
+
console.log(` Telemetry Flush Interval: ${config.telemetry.flushIntervalMs}ms`);
|
|
305
|
+
console.log(` Telemetry Retention: ${config.telemetry.retentionDays} days`);
|
|
306
|
+
console.log(` QA Port Range: ${config.qaPortRangeStart}-${config.qaPortRangeEnd}`);
|
|
307
|
+
console.log(` QA Host: ${config.qaHost}`);
|
|
308
|
+
console.log(` Local Supabase URL: ${config.localSupabaseUrl}`);
|
|
309
|
+
console.log(` Local Supabase Anon Key: ${config.localSupabaseAnonKey ? '[configured]' : '[not set - inherits from .env]'}`);
|
|
310
|
+
}
|
|
311
|
+
//# sourceMappingURL=config.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Control state handler for the daemon.
|
|
3
|
+
*
|
|
4
|
+
* Polls for strategies with non-running control states and dispatches
|
|
5
|
+
* to the appropriate handler:
|
|
6
|
+
* - human_control: SIGSTOP the team lead process
|
|
7
|
+
* - resuming: SIGCONT the team lead process, inject note, set running
|
|
8
|
+
* - stopped: graceful shutdown (message + SIGTERM)
|
|
9
|
+
*
|
|
10
|
+
* Called from the poll loop alongside existing checks.
|
|
11
|
+
*/
|
|
12
|
+
import type { DaemonConfig } from './types.js';
|
|
13
|
+
import type { ControlStateChange } from './queries/control-state.js';
|
|
14
|
+
/**
|
|
15
|
+
* Check for control state changes and dispatch to appropriate handlers.
|
|
16
|
+
*
|
|
17
|
+
* Called from the poll loop. Queries for strategies and factory instances
|
|
18
|
+
* with non-running control states, then dispatches to the correct handler.
|
|
19
|
+
*/
|
|
20
|
+
export declare function checkControlStateChanges(config: DaemonConfig): Promise<void>;
|
|
21
|
+
/**
|
|
22
|
+
* Handle human_control: suspend the agent by sending SIGSTOP.
|
|
23
|
+
*/
|
|
24
|
+
export declare function handleHumanControl(change: ControlStateChange): void;
|
|
25
|
+
/**
|
|
26
|
+
* Handle resuming: send SIGCONT, inject operator note, update to running.
|
|
27
|
+
*/
|
|
28
|
+
export declare function handleResuming(change: ControlStateChange): Promise<void>;
|
|
29
|
+
/**
|
|
30
|
+
* Handle stopped: graceful halt with message + SIGTERM.
|
|
31
|
+
*/
|
|
32
|
+
export declare function handleStopped(change: ControlStateChange): void;
|
|
33
|
+
/**
|
|
34
|
+
* Get the set of suspended strategy IDs (for testing).
|
|
35
|
+
*/
|
|
36
|
+
export declare function getSuspendedStrategies(): ReadonlySet<string>;
|
|
37
|
+
/**
|
|
38
|
+
* Clear all tracked suspended strategies (for testing).
|
|
39
|
+
*/
|
|
40
|
+
export declare function clearSuspendedStrategies(): void;
|
|
41
|
+
//# sourceMappingURL=control-state.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"control-state.d.ts","sourceRoot":"","sources":["../src/control-state.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAG/C,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAMrE;;;;;GAKG;AACH,wBAAsB,wBAAwB,CAAC,MAAM,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,CA8ClF;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,kBAAkB,GAAG,IAAI,CAgCnE;AAED;;GAEG;AACH,wBAAsB,cAAc,CAAC,MAAM,EAAE,kBAAkB,GAAG,OAAO,CAAC,IAAI,CAAC,CAgE9E;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,MAAM,EAAE,kBAAkB,GAAG,IAAI,CA8C9D;AAED;;GAEG;AACH,wBAAgB,sBAAsB,IAAI,WAAW,CAAC,MAAM,CAAC,CAE5D;AAED;;GAEG;AACH,wBAAgB,wBAAwB,IAAI,IAAI,CAE/C"}
|