@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
package/dist/types.js
ADDED
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Type definitions for the agent orchestration daemon.
|
|
3
|
+
*
|
|
4
|
+
* This file is a thin re-export facade. All types are defined in
|
|
5
|
+
* domain-specific files under ./types/ and re-exported here so that
|
|
6
|
+
* existing `import from './types.js'` statements continue to work.
|
|
7
|
+
*/
|
|
8
|
+
export * from './types/index.js';
|
|
9
|
+
//# sourceMappingURL=types.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,cAAc,kBAAkB,CAAC"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Unified setup wizard for the Telora daemon.
|
|
3
|
+
*
|
|
4
|
+
* Merges the daemon (strategy engine) and factory engine setup wizards into a
|
|
5
|
+
* single `telora-daemon init` flow that writes one `~/.telora/daemon.json` file
|
|
6
|
+
* with the unified multi-product schema.
|
|
7
|
+
*/
|
|
8
|
+
/**
|
|
9
|
+
* Unified interactive setup wizard for the Telora daemon.
|
|
10
|
+
*
|
|
11
|
+
* Walks the user through configuring shared fields (Telora URL, org),
|
|
12
|
+
* adding one or more products, choosing which engines to enable, and
|
|
13
|
+
* engine-specific settings. Writes a single `~/.telora/daemon.json` config file.
|
|
14
|
+
*/
|
|
15
|
+
export declare function runUnifiedInit(): Promise<void>;
|
|
16
|
+
//# sourceMappingURL=unified-init.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"unified-init.d.ts","sourceRoot":"","sources":["../src/unified-init.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AA4DH;;;;;;GAMG;AACH,wBAAsB,cAAc,IAAI,OAAO,CAAC,IAAI,CAAC,CAyJpD"}
|
|
@@ -0,0 +1,183 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Unified setup wizard for the Telora daemon.
|
|
3
|
+
*
|
|
4
|
+
* Merges the daemon (strategy engine) and factory engine setup wizards into a
|
|
5
|
+
* single `telora-daemon init` flow that writes one `~/.telora/daemon.json` file
|
|
6
|
+
* with the unified multi-product schema.
|
|
7
|
+
*/
|
|
8
|
+
import { existsSync, mkdirSync, writeFileSync } from 'node:fs';
|
|
9
|
+
import { createInterface } from 'node:readline';
|
|
10
|
+
import { resolve } from 'node:path';
|
|
11
|
+
import { homedir } from 'node:os';
|
|
12
|
+
/**
|
|
13
|
+
* Prompt for user input with an optional default value.
|
|
14
|
+
*/
|
|
15
|
+
async function prompt(question, defaultValue) {
|
|
16
|
+
const rl = createInterface({
|
|
17
|
+
input: process.stdin,
|
|
18
|
+
output: process.stdout,
|
|
19
|
+
});
|
|
20
|
+
const displayDefault = defaultValue ? ` (${defaultValue})` : '';
|
|
21
|
+
return new Promise((resolve) => {
|
|
22
|
+
rl.question(`${question}${displayDefault}: `, (answer) => {
|
|
23
|
+
rl.close();
|
|
24
|
+
resolve(answer.trim() || defaultValue || '');
|
|
25
|
+
});
|
|
26
|
+
});
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* Prompt for a yes/no confirmation with a configurable default.
|
|
30
|
+
*/
|
|
31
|
+
async function promptYesNo(question, defaultYes = true) {
|
|
32
|
+
const hint = defaultYes ? '[Y/n]' : '[y/N]';
|
|
33
|
+
const answer = await prompt(`${question} ${hint}`);
|
|
34
|
+
if (!answer) {
|
|
35
|
+
return defaultYes;
|
|
36
|
+
}
|
|
37
|
+
return answer.toLowerCase().startsWith('y');
|
|
38
|
+
}
|
|
39
|
+
/**
|
|
40
|
+
* Validate that a path exists and is a git repository.
|
|
41
|
+
*/
|
|
42
|
+
function validateRepoPath(repoPath) {
|
|
43
|
+
const resolved = resolve(repoPath);
|
|
44
|
+
if (!existsSync(resolved)) {
|
|
45
|
+
return `Path does not exist: ${resolved}`;
|
|
46
|
+
}
|
|
47
|
+
const gitDir = resolve(resolved, '.git');
|
|
48
|
+
if (!existsSync(gitDir)) {
|
|
49
|
+
return `Not a git repository (no .git found): ${resolved}`;
|
|
50
|
+
}
|
|
51
|
+
return null;
|
|
52
|
+
}
|
|
53
|
+
/**
|
|
54
|
+
* Unified interactive setup wizard for the Telora daemon.
|
|
55
|
+
*
|
|
56
|
+
* Walks the user through configuring shared fields (Telora URL, org),
|
|
57
|
+
* adding one or more products, choosing which engines to enable, and
|
|
58
|
+
* engine-specific settings. Writes a single `~/.telora/daemon.json` config file.
|
|
59
|
+
*/
|
|
60
|
+
export async function runUnifiedInit() {
|
|
61
|
+
console.log('\nTelora Daemon Setup Wizard\n');
|
|
62
|
+
console.log('This will create a ~/.telora/daemon.json config file.\n');
|
|
63
|
+
// -- Shared fields --
|
|
64
|
+
const teloraUrl = await prompt('Telora URL', 'http://127.0.0.1:54321');
|
|
65
|
+
const organizationId = await prompt('Organization ID');
|
|
66
|
+
if (!organizationId) {
|
|
67
|
+
console.error('\nOrganization ID is required. You can find it in Telora -> Settings -> Organization.\n');
|
|
68
|
+
process.exit(1);
|
|
69
|
+
}
|
|
70
|
+
// -- Products --
|
|
71
|
+
console.log('');
|
|
72
|
+
const productCountStr = await prompt('How many products?', '1');
|
|
73
|
+
const productCount = Math.max(1, parseInt(productCountStr, 10) || 1);
|
|
74
|
+
const products = [];
|
|
75
|
+
const seenIds = new Set();
|
|
76
|
+
for (let i = 0; i < productCount; i++) {
|
|
77
|
+
const label = productCount > 1 ? ` [${i + 1}/${productCount}]` : '';
|
|
78
|
+
console.log('');
|
|
79
|
+
const productId = await prompt(`Product ID${label}`);
|
|
80
|
+
if (!productId) {
|
|
81
|
+
console.error('\nProduct ID is required.\n');
|
|
82
|
+
process.exit(1);
|
|
83
|
+
}
|
|
84
|
+
if (seenIds.has(productId)) {
|
|
85
|
+
console.error(`\nDuplicate product ID: ${productId}. Each product must have a unique ID.\n`);
|
|
86
|
+
process.exit(1);
|
|
87
|
+
}
|
|
88
|
+
seenIds.add(productId);
|
|
89
|
+
// Default repo path: cwd for single product, require explicit path for multi
|
|
90
|
+
const defaultRepoPath = productCount === 1 ? process.cwd() : undefined;
|
|
91
|
+
const repoPath = await prompt(`Repository path${label}`, defaultRepoPath);
|
|
92
|
+
if (!repoPath) {
|
|
93
|
+
console.error('\nRepository path is required for each product.\n');
|
|
94
|
+
process.exit(1);
|
|
95
|
+
}
|
|
96
|
+
const validationError = validateRepoPath(repoPath);
|
|
97
|
+
if (validationError) {
|
|
98
|
+
console.error(`\n${validationError}\n`);
|
|
99
|
+
process.exit(1);
|
|
100
|
+
}
|
|
101
|
+
products.push({ id: productId, repoPath: resolve(repoPath) });
|
|
102
|
+
}
|
|
103
|
+
// -- Engine selection --
|
|
104
|
+
console.log('');
|
|
105
|
+
const enableStrategy = await promptYesNo('Enable strategy engine (delivery orchestration)?', true);
|
|
106
|
+
const enableFactory = await promptYesNo('Enable factory engine (build-gate cycles)?', true);
|
|
107
|
+
if (!enableStrategy && !enableFactory) {
|
|
108
|
+
console.log('\nAt least one engine must be enabled. Aborting.\n');
|
|
109
|
+
process.exit(1);
|
|
110
|
+
}
|
|
111
|
+
// -- Strategy engine settings --
|
|
112
|
+
let integrationBranch = 'integration';
|
|
113
|
+
let maxTotalSessions = 5;
|
|
114
|
+
if (enableStrategy) {
|
|
115
|
+
console.log('\nStrategy engine settings:');
|
|
116
|
+
integrationBranch = await prompt('Integration branch name', 'integration');
|
|
117
|
+
const maxSessionsStr = await prompt('Max concurrent agents', '5');
|
|
118
|
+
maxTotalSessions = parseInt(maxSessionsStr, 10) || 5;
|
|
119
|
+
}
|
|
120
|
+
// -- Factory engine settings --
|
|
121
|
+
let maxConcurrentInstances = 3;
|
|
122
|
+
if (enableFactory) {
|
|
123
|
+
console.log('\nFactory engine settings:');
|
|
124
|
+
const maxStr = await prompt('Max concurrent instances', '3');
|
|
125
|
+
maxConcurrentInstances = parseInt(maxStr, 10) || 3;
|
|
126
|
+
}
|
|
127
|
+
// -- Build unified config --
|
|
128
|
+
const config = {
|
|
129
|
+
teloraUrl,
|
|
130
|
+
organizationId,
|
|
131
|
+
products,
|
|
132
|
+
engines: {
|
|
133
|
+
strategy: {
|
|
134
|
+
enabled: enableStrategy,
|
|
135
|
+
integrationBranch,
|
|
136
|
+
maxTotalSessions,
|
|
137
|
+
},
|
|
138
|
+
factory: {
|
|
139
|
+
enabled: enableFactory,
|
|
140
|
+
maxConcurrentInstances,
|
|
141
|
+
},
|
|
142
|
+
},
|
|
143
|
+
};
|
|
144
|
+
// -- Write config file to global location --
|
|
145
|
+
const teloraDir = resolve(homedir(), '.telora');
|
|
146
|
+
if (!existsSync(teloraDir)) {
|
|
147
|
+
mkdirSync(teloraDir, { recursive: true });
|
|
148
|
+
console.log(`\nCreated ${teloraDir}/`);
|
|
149
|
+
}
|
|
150
|
+
const configPath = resolve(teloraDir, 'daemon.json');
|
|
151
|
+
writeFileSync(configPath, JSON.stringify(config, null, 2) + '\n');
|
|
152
|
+
console.log(`Created ${configPath}`);
|
|
153
|
+
// -- Next steps --
|
|
154
|
+
console.log('\nNext steps:\n');
|
|
155
|
+
console.log('1. Set your tracker ID as an environment variable:');
|
|
156
|
+
console.log(' export TELORA_TRACKER_ID=your-tracker-id-here');
|
|
157
|
+
console.log('');
|
|
158
|
+
console.log(' You can find your tracker ID in Telora -> Settings -> AI Work Trackers');
|
|
159
|
+
console.log('');
|
|
160
|
+
console.log('2. Start the daemon:');
|
|
161
|
+
console.log(' telora-daemon');
|
|
162
|
+
console.log('');
|
|
163
|
+
if (enableStrategy) {
|
|
164
|
+
console.log('3. (Optional) Create the integration branch in each product repo:');
|
|
165
|
+
for (const product of products) {
|
|
166
|
+
console.log(` cd ${product.repoPath} && git checkout -b ${integrationBranch}`);
|
|
167
|
+
}
|
|
168
|
+
console.log('');
|
|
169
|
+
console.log(' The daemon will create the integration branch automatically if it does not exist.');
|
|
170
|
+
console.log('');
|
|
171
|
+
}
|
|
172
|
+
// Suggest .gitignore additions for each product repo
|
|
173
|
+
for (const product of products) {
|
|
174
|
+
const gitignorePath = resolve(product.repoPath, '.gitignore');
|
|
175
|
+
if (existsSync(gitignorePath)) {
|
|
176
|
+
console.log(`Consider adding these to ${product.repoPath}/.gitignore:`);
|
|
177
|
+
console.log(' .telora/logs/');
|
|
178
|
+
console.log(' .telora/worktrees/');
|
|
179
|
+
console.log('');
|
|
180
|
+
}
|
|
181
|
+
}
|
|
182
|
+
}
|
|
183
|
+
//# sourceMappingURL=unified-init.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"unified-init.js","sourceRoot":"","sources":["../src/unified-init.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Engine configuration builders for the unified daemon shell.
|
|
3
|
+
*
|
|
4
|
+
* Builds complete engine configs (DaemonConfig / FactoryConfig) from the
|
|
5
|
+
* unified base config and per-engine sections, applying defaults and
|
|
6
|
+
* env-var overrides.
|
|
7
|
+
*/
|
|
8
|
+
import { type UnifiedConfig, type EngineSection } from '@telora/daemon-core';
|
|
9
|
+
import type { BaseConfig } from '@telora/daemon-core';
|
|
10
|
+
/**
|
|
11
|
+
* Build a complete strategy engine config (DaemonConfig) from the unified
|
|
12
|
+
* base config and the strategy engine section. Applies the same defaults
|
|
13
|
+
* and env-var overrides as daemon/src/config.ts loadConfig().
|
|
14
|
+
*/
|
|
15
|
+
export declare function buildStrategyConfig(base: Partial<BaseConfig>, section: EngineSection, env?: Record<string, string | undefined>): BaseConfig & Record<string, unknown>;
|
|
16
|
+
/**
|
|
17
|
+
* Build a complete factory engine config (FactoryConfig) from the unified
|
|
18
|
+
* base config and the factory engine section. Applies the same defaults
|
|
19
|
+
* and env-var overrides as factory/src/config.ts loadConfig().
|
|
20
|
+
*/
|
|
21
|
+
export declare function buildFactoryConfig(base: Partial<BaseConfig>, section: EngineSection, env?: Record<string, string | undefined>): BaseConfig & Record<string, unknown>;
|
|
22
|
+
/**
|
|
23
|
+
* Resolve whether auto-update is enabled from env vars and config file.
|
|
24
|
+
* Env var TELORA_AUTO_UPDATE takes precedence over config file autoUpdate.enabled.
|
|
25
|
+
* Default: true.
|
|
26
|
+
*/
|
|
27
|
+
export declare function resolveAutoUpdateEnabled(config: UnifiedConfig): boolean;
|
|
28
|
+
/**
|
|
29
|
+
* Resolve auto-update check interval from env vars and config file.
|
|
30
|
+
* Env var TELORA_AUTO_UPDATE_INTERVAL_MS takes precedence.
|
|
31
|
+
* Default: 3600000 (1 hour).
|
|
32
|
+
*/
|
|
33
|
+
export declare function resolveAutoUpdateIntervalMs(config: UnifiedConfig): number;
|
|
34
|
+
//# sourceMappingURL=unified-shell-config.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"unified-shell-config.d.ts","sourceRoot":"","sources":["../src/unified-shell-config.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAIH,OAAO,EACL,KAAK,aAAa,EAClB,KAAK,aAAa,EAEnB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AA2DtD;;;;GAIG;AACH,wBAAgB,mBAAmB,CACjC,IAAI,EAAE,OAAO,CAAC,UAAU,CAAC,EACzB,OAAO,EAAE,aAAa,EACtB,GAAG,GAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAqD,GAC1F,UAAU,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAqItC;AAED;;;;GAIG;AACH,wBAAgB,kBAAkB,CAChC,IAAI,EAAE,OAAO,CAAC,UAAU,CAAC,EACzB,OAAO,EAAE,aAAa,EACtB,GAAG,GAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAqD,GAC1F,UAAU,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CA6CtC;AAQD;;;;GAIG;AACH,wBAAgB,wBAAwB,CAAC,MAAM,EAAE,aAAa,GAAG,OAAO,CAWvE;AAED;;;;GAIG;AACH,wBAAgB,2BAA2B,CAAC,MAAM,EAAE,aAAa,GAAG,MAAM,CAYzE"}
|
|
@@ -0,0 +1,238 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Engine configuration builders for the unified daemon shell.
|
|
3
|
+
*
|
|
4
|
+
* Builds complete engine configs (DaemonConfig / FactoryConfig) from the
|
|
5
|
+
* unified base config and per-engine sections, applying defaults and
|
|
6
|
+
* env-var overrides.
|
|
7
|
+
*/
|
|
8
|
+
import { resolve } from 'node:path';
|
|
9
|
+
import { networkInterfaces } from 'node:os';
|
|
10
|
+
import { buildEngineConfig, } from '@telora/daemon-core';
|
|
11
|
+
// ---------------------------------------------------------------------------
|
|
12
|
+
// LAN host detection (mirrored from daemon's config.ts to avoid circular deps)
|
|
13
|
+
// ---------------------------------------------------------------------------
|
|
14
|
+
/**
|
|
15
|
+
* Auto-detect the first non-internal IPv4 address for LAN-accessible URLs.
|
|
16
|
+
* Falls back to 'localhost' if no suitable address is found.
|
|
17
|
+
*/
|
|
18
|
+
function detectLanHost() {
|
|
19
|
+
const interfaces = networkInterfaces();
|
|
20
|
+
for (const ifaceEntries of Object.values(interfaces)) {
|
|
21
|
+
if (!ifaceEntries)
|
|
22
|
+
continue;
|
|
23
|
+
for (const iface of ifaceEntries) {
|
|
24
|
+
if (iface.family === 'IPv4' && !iface.internal) {
|
|
25
|
+
return iface.address;
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
return 'localhost';
|
|
30
|
+
}
|
|
31
|
+
// ---------------------------------------------------------------------------
|
|
32
|
+
// Numeric env-var helpers (mirrored from daemon/config.ts)
|
|
33
|
+
// ---------------------------------------------------------------------------
|
|
34
|
+
function resolveInt(envVal, fileVal, defaultVal) {
|
|
35
|
+
if (envVal !== undefined && envVal !== '') {
|
|
36
|
+
return parseInt(envVal, 10);
|
|
37
|
+
}
|
|
38
|
+
if (typeof fileVal === 'number') {
|
|
39
|
+
return fileVal;
|
|
40
|
+
}
|
|
41
|
+
return defaultVal;
|
|
42
|
+
}
|
|
43
|
+
function resolveFloat(envVal, fileVal, defaultVal) {
|
|
44
|
+
if (envVal !== undefined && envVal !== '') {
|
|
45
|
+
return parseFloat(envVal);
|
|
46
|
+
}
|
|
47
|
+
if (typeof fileVal === 'number') {
|
|
48
|
+
return fileVal;
|
|
49
|
+
}
|
|
50
|
+
return defaultVal;
|
|
51
|
+
}
|
|
52
|
+
// ---------------------------------------------------------------------------
|
|
53
|
+
// Engine config builders
|
|
54
|
+
// ---------------------------------------------------------------------------
|
|
55
|
+
/**
|
|
56
|
+
* Build a complete strategy engine config (DaemonConfig) from the unified
|
|
57
|
+
* base config and the strategy engine section. Applies the same defaults
|
|
58
|
+
* and env-var overrides as daemon/src/config.ts loadConfig().
|
|
59
|
+
*/
|
|
60
|
+
export function buildStrategyConfig(base, section, env = process.env) {
|
|
61
|
+
// Start with the flat merge from daemon-core
|
|
62
|
+
const flat = buildEngineConfig(base, section);
|
|
63
|
+
const fields = section.fields;
|
|
64
|
+
const repoPath = flat.repoPath || process.cwd();
|
|
65
|
+
const claudeCodePath = flat.claudeCodePath || 'claude';
|
|
66
|
+
const logDir = flat.logDir || resolve(repoPath, '.telora', 'logs');
|
|
67
|
+
const sessionTimeoutMs = flat.sessionTimeoutMs ?? 3600000;
|
|
68
|
+
const mcpConfigPath = flat.mcpConfigPath ?? null;
|
|
69
|
+
// Strategy-specific fields with env overrides
|
|
70
|
+
const worktreeDir = env.TELORA_WORKTREE_DIR
|
|
71
|
+
|| (typeof fields.worktreeDir === 'string' ? fields.worktreeDir : '')
|
|
72
|
+
|| resolve(repoPath, '.telora', 'worktrees');
|
|
73
|
+
const integrationBranch = env.TELORA_INTEGRATION_BRANCH
|
|
74
|
+
|| (typeof fields.integrationBranch === 'string' ? fields.integrationBranch : '')
|
|
75
|
+
|| 'integration';
|
|
76
|
+
const maxTotalSessions = resolveInt(env.MAX_TOTAL_SESSIONS, fields.maxTotalSessions, 5);
|
|
77
|
+
const tokenLimit = resolveInt(env.TOKEN_LIMIT, fields.tokenLimit, 200000);
|
|
78
|
+
const costLimit = resolveFloat(env.COST_LIMIT, fields.costLimit, 10.0);
|
|
79
|
+
const mergeLockTimeoutMs = resolveInt(env.MERGE_LOCK_TIMEOUT_MS, fields.mergeLockTimeoutMs, 300000);
|
|
80
|
+
const mergeLockContentionWarningMs = resolveInt(env.MERGE_LOCK_CONTENTION_WARNING_MS, fields.mergeLockContentionWarningMs, 30000);
|
|
81
|
+
// Guard failure mode
|
|
82
|
+
const rawPolicyFailureMode = env.TELORA_POLICY_FAILURE_MODE
|
|
83
|
+
|| (typeof fields.policyFailureMode === 'string' ? fields.policyFailureMode : '')
|
|
84
|
+
|| 'fail-open';
|
|
85
|
+
if (rawPolicyFailureMode !== 'fail-open' && rawPolicyFailureMode !== 'fail-closed') {
|
|
86
|
+
throw new Error(`Invalid TELORA_POLICY_FAILURE_MODE: "${rawPolicyFailureMode}". Must be "fail-open" or "fail-closed".`);
|
|
87
|
+
}
|
|
88
|
+
// Log retention
|
|
89
|
+
const logMaxAgeDays = resolveInt(env.LOG_MAX_AGE_DAYS, fields.logMaxAgeDays, 7);
|
|
90
|
+
const logMaxTotalBytes = resolveInt(env.LOG_MAX_TOTAL_BYTES, fields.logMaxTotalBytes, 1073741824);
|
|
91
|
+
const logMaxFiles = resolveInt(env.LOG_MAX_FILES, fields.logMaxFiles, 500);
|
|
92
|
+
// Telemetry
|
|
93
|
+
const telemetryFile = (typeof fields.telemetry === 'object' && fields.telemetry !== null)
|
|
94
|
+
? fields.telemetry
|
|
95
|
+
: {};
|
|
96
|
+
const telemetry = {
|
|
97
|
+
enabled: env.TELORA_TELEMETRY_ENABLED !== undefined
|
|
98
|
+
? env.TELORA_TELEMETRY_ENABLED !== '0' && env.TELORA_TELEMETRY_ENABLED !== 'false'
|
|
99
|
+
: (typeof telemetryFile.enabled === 'boolean' ? telemetryFile.enabled : true),
|
|
100
|
+
port: resolveInt(env.TELORA_TELEMETRY_PORT, telemetryFile.port, 4318),
|
|
101
|
+
flushIntervalMs: resolveInt(env.TELORA_TELEMETRY_FLUSH_INTERVAL_MS, telemetryFile.flushIntervalMs, 5000),
|
|
102
|
+
retentionDays: resolveInt(env.TELORA_TELEMETRY_RETENTION_DAYS, telemetryFile.retentionDays, 30),
|
|
103
|
+
};
|
|
104
|
+
// QA environment
|
|
105
|
+
const qaPortRangeStart = resolveInt(env.TELORA_QA_PORT_RANGE_START, fields.qaPortRangeStart, 9100);
|
|
106
|
+
const qaPortRangeEnd = resolveInt(env.TELORA_QA_PORT_RANGE_END, fields.qaPortRangeEnd, 9199);
|
|
107
|
+
const qaHost = env.TELORA_QA_HOST
|
|
108
|
+
|| (typeof fields.qaHost === 'string' ? fields.qaHost : '')
|
|
109
|
+
|| detectLanHost();
|
|
110
|
+
// Local Supabase
|
|
111
|
+
const localSupabaseUrl = env.TELORA_LOCAL_SUPABASE_URL
|
|
112
|
+
|| (typeof fields.localSupabaseUrl === 'string' ? fields.localSupabaseUrl : '')
|
|
113
|
+
|| 'http://127.0.0.1:54321';
|
|
114
|
+
const localSupabaseAnonKey = env.TELORA_LOCAL_SUPABASE_ANON_KEY
|
|
115
|
+
|| (typeof fields.localSupabaseAnonKey === 'string' ? fields.localSupabaseAnonKey : '')
|
|
116
|
+
|| null;
|
|
117
|
+
// Products array from base config (already resolved by loadUnifiedConfig)
|
|
118
|
+
const products = flat.products ?? [];
|
|
119
|
+
return {
|
|
120
|
+
// Base fields
|
|
121
|
+
teloraUrl: flat.teloraUrl,
|
|
122
|
+
trackerId: flat.trackerId,
|
|
123
|
+
organizationId: flat.organizationId,
|
|
124
|
+
productId: flat.productId,
|
|
125
|
+
repoPath,
|
|
126
|
+
products,
|
|
127
|
+
claudeCodePath,
|
|
128
|
+
logDir,
|
|
129
|
+
sessionTimeoutMs,
|
|
130
|
+
mcpConfigPath,
|
|
131
|
+
// Strategy-specific fields
|
|
132
|
+
worktreeDir,
|
|
133
|
+
integrationBranch,
|
|
134
|
+
maxTotalSessions,
|
|
135
|
+
tokenLimit,
|
|
136
|
+
costLimit,
|
|
137
|
+
mergeLockTimeoutMs,
|
|
138
|
+
mergeLockContentionWarningMs,
|
|
139
|
+
policyFailureMode: rawPolicyFailureMode,
|
|
140
|
+
logMaxAgeDays,
|
|
141
|
+
logMaxTotalBytes,
|
|
142
|
+
logMaxFiles,
|
|
143
|
+
telemetry,
|
|
144
|
+
qaPortRangeStart,
|
|
145
|
+
qaPortRangeEnd,
|
|
146
|
+
qaHost,
|
|
147
|
+
localSupabaseUrl,
|
|
148
|
+
localSupabaseAnonKey,
|
|
149
|
+
};
|
|
150
|
+
}
|
|
151
|
+
/**
|
|
152
|
+
* Build a complete factory engine config (FactoryConfig) from the unified
|
|
153
|
+
* base config and the factory engine section. Applies the same defaults
|
|
154
|
+
* and env-var overrides as factory/src/config.ts loadConfig().
|
|
155
|
+
*/
|
|
156
|
+
export function buildFactoryConfig(base, section, env = process.env) {
|
|
157
|
+
const flat = buildEngineConfig(base, section);
|
|
158
|
+
const fields = section.fields;
|
|
159
|
+
const repoPath = flat.repoPath || process.cwd();
|
|
160
|
+
const claudeCodePath = flat.claudeCodePath || 'claude';
|
|
161
|
+
// Factory uses a separate log directory by default
|
|
162
|
+
const logDir = flat.logDir || resolve(repoPath, '.telora', 'factory-logs');
|
|
163
|
+
const sessionTimeoutMs = flat.sessionTimeoutMs ?? 3600000;
|
|
164
|
+
const mcpConfigPath = flat.mcpConfigPath ?? null;
|
|
165
|
+
// Factory-specific fields with env overrides
|
|
166
|
+
const factoryWorktreeDir = env.TELORA_FACTORY_WORKTREE_DIR
|
|
167
|
+
|| (typeof fields.factoryWorktreeDir === 'string' ? fields.factoryWorktreeDir : '')
|
|
168
|
+
|| resolve(repoPath, '.telora', 'factory-worktrees');
|
|
169
|
+
const maxConcurrentInstances = env.FACTORY_MAX_CONCURRENT_INSTANCES
|
|
170
|
+
? parseInt(env.FACTORY_MAX_CONCURRENT_INSTANCES, 10)
|
|
171
|
+
: (typeof fields.maxConcurrentInstances === 'number' ? fields.maxConcurrentInstances : 3);
|
|
172
|
+
// Telemetry: inherit from flat config (resolved by buildEngineConfig) or default
|
|
173
|
+
const telemetry = (flat.telemetry && typeof flat.telemetry === 'object')
|
|
174
|
+
? flat.telemetry
|
|
175
|
+
: { enabled: true, port: 4318 };
|
|
176
|
+
// Products array from base config (already resolved by loadUnifiedConfig)
|
|
177
|
+
const products = flat.products ?? [];
|
|
178
|
+
return {
|
|
179
|
+
// Base fields
|
|
180
|
+
teloraUrl: flat.teloraUrl,
|
|
181
|
+
trackerId: flat.trackerId,
|
|
182
|
+
organizationId: flat.organizationId,
|
|
183
|
+
productId: flat.productId,
|
|
184
|
+
repoPath,
|
|
185
|
+
products,
|
|
186
|
+
claudeCodePath,
|
|
187
|
+
logDir,
|
|
188
|
+
sessionTimeoutMs,
|
|
189
|
+
mcpConfigPath,
|
|
190
|
+
// Factory-specific fields
|
|
191
|
+
factoryWorktreeDir,
|
|
192
|
+
maxConcurrentInstances,
|
|
193
|
+
telemetry,
|
|
194
|
+
};
|
|
195
|
+
}
|
|
196
|
+
// ---------------------------------------------------------------------------
|
|
197
|
+
// Auto-update config resolution
|
|
198
|
+
// ---------------------------------------------------------------------------
|
|
199
|
+
const DEFAULT_AUTO_UPDATE_INTERVAL_MS = 3_600_000; // 1 hour
|
|
200
|
+
/**
|
|
201
|
+
* Resolve whether auto-update is enabled from env vars and config file.
|
|
202
|
+
* Env var TELORA_AUTO_UPDATE takes precedence over config file autoUpdate.enabled.
|
|
203
|
+
* Default: true.
|
|
204
|
+
*/
|
|
205
|
+
export function resolveAutoUpdateEnabled(config) {
|
|
206
|
+
const envVal = process.env.TELORA_AUTO_UPDATE;
|
|
207
|
+
if (envVal !== undefined && envVal !== '') {
|
|
208
|
+
return envVal !== '0' && envVal !== 'false';
|
|
209
|
+
}
|
|
210
|
+
const fileConfig = config.rawFileConfig;
|
|
211
|
+
if (typeof fileConfig.autoUpdate === 'object' && fileConfig.autoUpdate !== null) {
|
|
212
|
+
const au = fileConfig.autoUpdate;
|
|
213
|
+
if (typeof au.enabled === 'boolean')
|
|
214
|
+
return au.enabled;
|
|
215
|
+
}
|
|
216
|
+
return true;
|
|
217
|
+
}
|
|
218
|
+
/**
|
|
219
|
+
* Resolve auto-update check interval from env vars and config file.
|
|
220
|
+
* Env var TELORA_AUTO_UPDATE_INTERVAL_MS takes precedence.
|
|
221
|
+
* Default: 3600000 (1 hour).
|
|
222
|
+
*/
|
|
223
|
+
export function resolveAutoUpdateIntervalMs(config) {
|
|
224
|
+
const envVal = process.env.TELORA_AUTO_UPDATE_INTERVAL_MS;
|
|
225
|
+
if (envVal !== undefined && envVal !== '') {
|
|
226
|
+
const parsed = parseInt(envVal, 10);
|
|
227
|
+
if (!isNaN(parsed) && parsed > 0)
|
|
228
|
+
return parsed;
|
|
229
|
+
}
|
|
230
|
+
const fileConfig = config.rawFileConfig;
|
|
231
|
+
if (typeof fileConfig.autoUpdate === 'object' && fileConfig.autoUpdate !== null) {
|
|
232
|
+
const au = fileConfig.autoUpdate;
|
|
233
|
+
if (typeof au.intervalMs === 'number' && au.intervalMs > 0)
|
|
234
|
+
return au.intervalMs;
|
|
235
|
+
}
|
|
236
|
+
return DEFAULT_AUTO_UPDATE_INTERVAL_MS;
|
|
237
|
+
}
|
|
238
|
+
//# sourceMappingURL=unified-shell-config.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"unified-shell-config.js","sourceRoot":"","sources":["../src/unified-shell-config.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Status reporting and dry-run output for the unified daemon shell.
|
|
3
|
+
*
|
|
4
|
+
* Aggregated status display (SIGUSR1) and configuration summary printing.
|
|
5
|
+
*/
|
|
6
|
+
import type { ExecutionEngine, UnifiedConfig, ResourceGovernor } from '@telora/daemon-core';
|
|
7
|
+
/**
|
|
8
|
+
* Print aggregated status from all active engines.
|
|
9
|
+
*/
|
|
10
|
+
export declare function printAggregatedStatus(engines: ExecutionEngine[], governor?: ResourceGovernor): void;
|
|
11
|
+
/**
|
|
12
|
+
* Print a dry-run summary of the unified config.
|
|
13
|
+
*/
|
|
14
|
+
export declare function printUnifiedConfigSummary(config: UnifiedConfig): void;
|
|
15
|
+
//# sourceMappingURL=unified-shell-status.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"unified-shell-status.d.ts","sourceRoot":"","sources":["../src/unified-shell-status.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAE5F;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,eAAe,EAAE,EAAE,QAAQ,CAAC,EAAE,gBAAgB,GAAG,IAAI,CA8DnG;AAED;;GAEG;AACH,wBAAgB,yBAAyB,CAAC,MAAM,EAAE,aAAa,GAAG,IAAI,CAwBrE"}
|
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Status reporting and dry-run output for the unified daemon shell.
|
|
3
|
+
*
|
|
4
|
+
* Aggregated status display (SIGUSR1) and configuration summary printing.
|
|
5
|
+
*/
|
|
6
|
+
/**
|
|
7
|
+
* Print aggregated status from all active engines.
|
|
8
|
+
*/
|
|
9
|
+
export function printAggregatedStatus(engines, governor) {
|
|
10
|
+
console.log('\n=== Unified Daemon Status ===');
|
|
11
|
+
console.log(`Engines: ${engines.map(e => e.name).join(', ')}`);
|
|
12
|
+
console.log(`PID: ${process.pid}`);
|
|
13
|
+
console.log(`Uptime: ${Math.round(process.uptime())}s`);
|
|
14
|
+
// Resource governor utilization
|
|
15
|
+
if (governor) {
|
|
16
|
+
const util = governor.getUtilization();
|
|
17
|
+
console.log(`\n--- Resource Governor ---`);
|
|
18
|
+
console.log(` Global slots: ${util.total}/${util.max} in use`);
|
|
19
|
+
for (const [engine, count] of Object.entries(util.perEngine)) {
|
|
20
|
+
console.log(` ${engine}: ${count} slots`);
|
|
21
|
+
}
|
|
22
|
+
if (util.queueDepth > 0) {
|
|
23
|
+
console.log(` Queue depth: ${util.queueDepth}`);
|
|
24
|
+
for (const [engine, depth] of Object.entries(util.queueDepthPerEngine)) {
|
|
25
|
+
console.log(` ${engine}: ${depth} waiting`);
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
for (const engine of engines) {
|
|
30
|
+
const health = engine.healthCheck();
|
|
31
|
+
const resources = engine.getResourceUsage();
|
|
32
|
+
console.log(`\n--- ${engine.name} engine ---`);
|
|
33
|
+
console.log(` Status: ${health.status}`);
|
|
34
|
+
console.log(` Active work items: ${health.activeWorkItems}`);
|
|
35
|
+
console.log(` Claude processes: ${resources.activeClaudeProcesses}`);
|
|
36
|
+
console.log(` Active worktrees: ${resources.activeWorktrees}`);
|
|
37
|
+
// Print engine-specific details
|
|
38
|
+
const details = health.details;
|
|
39
|
+
for (const [key, value] of Object.entries(details)) {
|
|
40
|
+
if (Array.isArray(value)) {
|
|
41
|
+
if (value.length > 0) {
|
|
42
|
+
console.log(` ${key}:`);
|
|
43
|
+
for (const item of value) {
|
|
44
|
+
if (typeof item === 'object' && item !== null) {
|
|
45
|
+
const parts = Object.entries(item)
|
|
46
|
+
.map(([k, v]) => `${k}: ${String(v)}`)
|
|
47
|
+
.join(' | ');
|
|
48
|
+
console.log(` - ${parts}`);
|
|
49
|
+
}
|
|
50
|
+
else {
|
|
51
|
+
console.log(` - ${String(item)}`);
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
else if (typeof value === 'object' && value !== null) {
|
|
57
|
+
const entries = Object.entries(value);
|
|
58
|
+
if (entries.length > 0) {
|
|
59
|
+
console.log(` ${key}:`);
|
|
60
|
+
for (const [k, v] of entries) {
|
|
61
|
+
console.log(` ${k}: ${String(v)}`);
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
else {
|
|
66
|
+
console.log(` ${key}: ${String(value)}`);
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
console.log('');
|
|
71
|
+
}
|
|
72
|
+
/**
|
|
73
|
+
* Print a dry-run summary of the unified config.
|
|
74
|
+
*/
|
|
75
|
+
export function printUnifiedConfigSummary(config) {
|
|
76
|
+
console.log('Unified Daemon Configuration:');
|
|
77
|
+
console.log(` Telora URL: ${config.base.teloraUrl ?? '[not set]'}`);
|
|
78
|
+
console.log(` Tracker ID: ${config.base.trackerId ? '[configured]' : '[not set]'}`);
|
|
79
|
+
console.log(` Organization ID: ${config.base.organizationId ?? '[not set]'}`);
|
|
80
|
+
console.log(` Product ID: ${config.base.productId ?? '[not set]'}`);
|
|
81
|
+
console.log(` Repository Path: ${config.base.repoPath ?? '[cwd]'}`);
|
|
82
|
+
console.log(` Claude Code Path: ${config.base.claudeCodePath ?? 'claude'}`);
|
|
83
|
+
console.log(` Log Directory: ${config.base.logDir ?? '[default]'}`);
|
|
84
|
+
console.log(` Session Timeout: ${config.base.sessionTimeoutMs ?? 3600000}ms`);
|
|
85
|
+
console.log(` MCP Config Path: ${config.base.mcpConfigPath ?? '[not set]'}`);
|
|
86
|
+
console.log(`\n Strategy engine: ${config.strategy.enabled ? 'enabled' : 'disabled'}`);
|
|
87
|
+
if (config.strategy.enabled) {
|
|
88
|
+
const sf = config.strategy.fields;
|
|
89
|
+
console.log(` worktreeDir: ${String(sf.worktreeDir ?? '[default]')}`);
|
|
90
|
+
console.log(` integrationBranch: ${String(sf.integrationBranch ?? 'integration')}`);
|
|
91
|
+
console.log(` maxTotalSessions: ${String(sf.maxTotalSessions ?? 5)}`);
|
|
92
|
+
}
|
|
93
|
+
console.log(`\n Factory engine: ${config.factory.enabled ? 'enabled' : 'disabled'}`);
|
|
94
|
+
if (config.factory.enabled) {
|
|
95
|
+
const ff = config.factory.fields;
|
|
96
|
+
console.log(` factoryWorktreeDir: ${String(ff.factoryWorktreeDir ?? '[default]')}`);
|
|
97
|
+
console.log(` maxConcurrentInstances: ${String(ff.maxConcurrentInstances ?? 3)}`);
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
//# sourceMappingURL=unified-shell-status.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"unified-shell-status.js","sourceRoot":"","sources":["../src/unified-shell-status.ts"],"names":[],"mappings":"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"}
|