@openrig/cli 0.1.12 → 0.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/daemon/assets/openrig-activity-hook-relay.cjs +104 -0
- package/daemon/dist/adapters/claude-code-adapter.d.ts +24 -6
- package/daemon/dist/adapters/claude-code-adapter.d.ts.map +1 -1
- package/daemon/dist/adapters/claude-code-adapter.js +221 -65
- package/daemon/dist/adapters/claude-code-adapter.js.map +1 -1
- package/daemon/dist/adapters/claude-resume.d.ts +5 -0
- package/daemon/dist/adapters/claude-resume.d.ts.map +1 -1
- package/daemon/dist/adapters/claude-resume.js +13 -0
- package/daemon/dist/adapters/claude-resume.js.map +1 -1
- package/daemon/dist/adapters/codex-resume.d.ts +8 -1
- package/daemon/dist/adapters/codex-resume.d.ts.map +1 -1
- package/daemon/dist/adapters/codex-resume.js +74 -5
- package/daemon/dist/adapters/codex-resume.js.map +1 -1
- package/daemon/dist/adapters/codex-runtime-adapter.d.ts +9 -5
- package/daemon/dist/adapters/codex-runtime-adapter.d.ts.map +1 -1
- package/daemon/dist/adapters/codex-runtime-adapter.js +255 -28
- package/daemon/dist/adapters/codex-runtime-adapter.js.map +1 -1
- package/daemon/dist/adapters/terminal-adapter.d.ts +2 -1
- package/daemon/dist/adapters/terminal-adapter.d.ts.map +1 -1
- package/daemon/dist/adapters/terminal-adapter.js +7 -1
- package/daemon/dist/adapters/terminal-adapter.js.map +1 -1
- package/daemon/dist/adapters/tmux.d.ts.map +1 -1
- package/daemon/dist/adapters/tmux.js +53 -5
- package/daemon/dist/adapters/tmux.js.map +1 -1
- package/daemon/dist/builtins/workflow-specs/basic-loop.yaml +76 -0
- package/daemon/dist/builtins/workflow-specs/conveyor.yaml +80 -0
- package/daemon/dist/db/migrations/021_seat_handover_observability.d.ts +3 -0
- package/daemon/dist/db/migrations/021_seat_handover_observability.d.ts.map +1 -0
- package/daemon/dist/db/migrations/021_seat_handover_observability.js +11 -0
- package/daemon/dist/db/migrations/021_seat_handover_observability.js.map +1 -0
- package/daemon/dist/db/migrations/022_node_codex_config_profile.d.ts +3 -0
- package/daemon/dist/db/migrations/022_node_codex_config_profile.d.ts.map +1 -0
- package/daemon/dist/db/migrations/022_node_codex_config_profile.js +7 -0
- package/daemon/dist/db/migrations/022_node_codex_config_profile.js.map +1 -0
- package/daemon/dist/db/migrations/023_stream_items.d.ts +16 -0
- package/daemon/dist/db/migrations/023_stream_items.d.ts.map +1 -0
- package/daemon/dist/db/migrations/023_stream_items.js +37 -0
- package/daemon/dist/db/migrations/023_stream_items.js.map +1 -0
- package/daemon/dist/db/migrations/024_queue_items.d.ts +19 -0
- package/daemon/dist/db/migrations/024_queue_items.d.ts.map +1 -0
- package/daemon/dist/db/migrations/024_queue_items.js +52 -0
- package/daemon/dist/db/migrations/024_queue_items.js.map +1 -0
- package/daemon/dist/db/migrations/025_queue_transitions.d.ts +13 -0
- package/daemon/dist/db/migrations/025_queue_transitions.d.ts.map +1 -0
- package/daemon/dist/db/migrations/025_queue_transitions.js +28 -0
- package/daemon/dist/db/migrations/025_queue_transitions.js.map +1 -0
- package/daemon/dist/db/migrations/026_inbox_entries.d.ts +14 -0
- package/daemon/dist/db/migrations/026_inbox_entries.d.ts.map +1 -0
- package/daemon/dist/db/migrations/026_inbox_entries.js +35 -0
- package/daemon/dist/db/migrations/026_inbox_entries.js.map +1 -0
- package/daemon/dist/db/migrations/027_outbox_entries.d.ts +12 -0
- package/daemon/dist/db/migrations/027_outbox_entries.d.ts.map +1 -0
- package/daemon/dist/db/migrations/027_outbox_entries.js +30 -0
- package/daemon/dist/db/migrations/027_outbox_entries.js.map +1 -0
- package/daemon/dist/db/migrations/028_project_classifications.d.ts +26 -0
- package/daemon/dist/db/migrations/028_project_classifications.d.ts.map +1 -0
- package/daemon/dist/db/migrations/028_project_classifications.js +44 -0
- package/daemon/dist/db/migrations/028_project_classifications.js.map +1 -0
- package/daemon/dist/db/migrations/029_classifier_leases.d.ts +22 -0
- package/daemon/dist/db/migrations/029_classifier_leases.d.ts.map +1 -0
- package/daemon/dist/db/migrations/029_classifier_leases.js +41 -0
- package/daemon/dist/db/migrations/029_classifier_leases.js.map +1 -0
- package/daemon/dist/db/migrations/030_views_custom.d.ts +15 -0
- package/daemon/dist/db/migrations/030_views_custom.d.ts.map +1 -0
- package/daemon/dist/db/migrations/030_views_custom.js +27 -0
- package/daemon/dist/db/migrations/030_views_custom.js.map +1 -0
- package/daemon/dist/db/migrations/031_watchdog_jobs.d.ts +34 -0
- package/daemon/dist/db/migrations/031_watchdog_jobs.d.ts.map +1 -0
- package/daemon/dist/db/migrations/031_watchdog_jobs.js +59 -0
- package/daemon/dist/db/migrations/031_watchdog_jobs.js.map +1 -0
- package/daemon/dist/db/migrations/032_watchdog_history.d.ts +28 -0
- package/daemon/dist/db/migrations/032_watchdog_history.d.ts.map +1 -0
- package/daemon/dist/db/migrations/032_watchdog_history.js +46 -0
- package/daemon/dist/db/migrations/032_watchdog_history.js.map +1 -0
- package/daemon/dist/db/migrations/033_workflow_specs.d.ts +30 -0
- package/daemon/dist/db/migrations/033_workflow_specs.d.ts.map +1 -0
- package/daemon/dist/db/migrations/033_workflow_specs.js +50 -0
- package/daemon/dist/db/migrations/033_workflow_specs.js.map +1 -0
- package/daemon/dist/db/migrations/034_workflow_instances.d.ts +42 -0
- package/daemon/dist/db/migrations/034_workflow_instances.d.ts.map +1 -0
- package/daemon/dist/db/migrations/034_workflow_instances.js +63 -0
- package/daemon/dist/db/migrations/034_workflow_instances.js.map +1 -0
- package/daemon/dist/db/migrations/035_workflow_step_trails.d.ts +29 -0
- package/daemon/dist/db/migrations/035_workflow_step_trails.d.ts.map +1 -0
- package/daemon/dist/db/migrations/035_workflow_step_trails.js +48 -0
- package/daemon/dist/db/migrations/035_workflow_step_trails.js.map +1 -0
- package/daemon/dist/db/migrations/036_watchdog_policy_enum_extension.d.ts +35 -0
- package/daemon/dist/db/migrations/036_watchdog_policy_enum_extension.d.ts.map +1 -0
- package/daemon/dist/db/migrations/036_watchdog_policy_enum_extension.js +43 -0
- package/daemon/dist/db/migrations/036_watchdog_policy_enum_extension.js.map +1 -0
- package/daemon/dist/db/migrations/037_mission_control_actions.d.ts +51 -0
- package/daemon/dist/db/migrations/037_mission_control_actions.d.ts.map +1 -0
- package/daemon/dist/db/migrations/037_mission_control_actions.js +74 -0
- package/daemon/dist/db/migrations/037_mission_control_actions.js.map +1 -0
- package/daemon/dist/db/migrations/038_workspace_primitive.d.ts +16 -0
- package/daemon/dist/db/migrations/038_workspace_primitive.d.ts.map +1 -0
- package/daemon/dist/db/migrations/038_workspace_primitive.js +20 -0
- package/daemon/dist/db/migrations/038_workspace_primitive.js.map +1 -0
- package/daemon/dist/db/migrations/039_queue_target_repo.d.ts +16 -0
- package/daemon/dist/db/migrations/039_queue_target_repo.d.ts.map +1 -0
- package/daemon/dist/db/migrations/039_queue_target_repo.js +21 -0
- package/daemon/dist/db/migrations/039_queue_target_repo.js.map +1 -0
- package/daemon/dist/domain/active-lens-store.d.ts +23 -0
- package/daemon/dist/domain/active-lens-store.d.ts.map +1 -0
- package/daemon/dist/domain/active-lens-store.js +87 -0
- package/daemon/dist/domain/active-lens-store.js.map +1 -0
- package/daemon/dist/domain/agent-activity-store.d.ts +42 -0
- package/daemon/dist/domain/agent-activity-store.d.ts.map +1 -0
- package/daemon/dist/domain/agent-activity-store.js +177 -0
- package/daemon/dist/domain/agent-activity-store.js.map +1 -0
- package/daemon/dist/domain/agent-images/agent-image-library-service.d.ts +68 -0
- package/daemon/dist/domain/agent-images/agent-image-library-service.d.ts.map +1 -0
- package/daemon/dist/domain/agent-images/agent-image-library-service.js +339 -0
- package/daemon/dist/domain/agent-images/agent-image-library-service.js.map +1 -0
- package/daemon/dist/domain/agent-images/agent-image-types.d.ts +113 -0
- package/daemon/dist/domain/agent-images/agent-image-types.d.ts.map +1 -0
- package/daemon/dist/domain/agent-images/agent-image-types.js +24 -0
- package/daemon/dist/domain/agent-images/agent-image-types.js.map +1 -0
- package/daemon/dist/domain/agent-images/evidence-guard.d.ts +26 -0
- package/daemon/dist/domain/agent-images/evidence-guard.d.ts.map +1 -0
- package/daemon/dist/domain/agent-images/evidence-guard.js +185 -0
- package/daemon/dist/domain/agent-images/evidence-guard.js.map +1 -0
- package/daemon/dist/domain/agent-images/manifest-parser.d.ts +3 -0
- package/daemon/dist/domain/agent-images/manifest-parser.d.ts.map +1 -0
- package/daemon/dist/domain/agent-images/manifest-parser.js +114 -0
- package/daemon/dist/domain/agent-images/manifest-parser.js.map +1 -0
- package/daemon/dist/domain/agent-images/resume-token-discovery.d.ts +28 -0
- package/daemon/dist/domain/agent-images/resume-token-discovery.d.ts.map +1 -0
- package/daemon/dist/domain/agent-images/resume-token-discovery.js +83 -0
- package/daemon/dist/domain/agent-images/resume-token-discovery.js.map +1 -0
- package/daemon/dist/domain/agent-images/snapshot-capturer.d.ts +36 -0
- package/daemon/dist/domain/agent-images/snapshot-capturer.d.ts.map +1 -0
- package/daemon/dist/domain/agent-images/snapshot-capturer.js +58 -0
- package/daemon/dist/domain/agent-images/snapshot-capturer.js.map +1 -0
- package/daemon/dist/domain/agent-manifest.d.ts.map +1 -1
- package/daemon/dist/domain/agent-manifest.js +3 -0
- package/daemon/dist/domain/agent-manifest.js.map +1 -1
- package/daemon/dist/domain/agent-starter-resolver.d.ts +94 -0
- package/daemon/dist/domain/agent-starter-resolver.d.ts.map +1 -0
- package/daemon/dist/domain/agent-starter-resolver.js +198 -0
- package/daemon/dist/domain/agent-starter-resolver.js.map +1 -0
- package/daemon/dist/domain/classifier-lease-manager.d.ts +130 -0
- package/daemon/dist/domain/classifier-lease-manager.d.ts.map +1 -0
- package/daemon/dist/domain/classifier-lease-manager.js +285 -0
- package/daemon/dist/domain/classifier-lease-manager.js.map +1 -0
- package/daemon/dist/domain/conflict-detector.d.ts.map +1 -1
- package/daemon/dist/domain/conflict-detector.js +6 -3
- package/daemon/dist/domain/conflict-detector.js.map +1 -1
- package/daemon/dist/domain/context-monitor.d.ts +5 -4
- package/daemon/dist/domain/context-monitor.d.ts.map +1 -1
- package/daemon/dist/domain/context-monitor.js +26 -11
- package/daemon/dist/domain/context-monitor.js.map +1 -1
- package/daemon/dist/domain/context-packs/bundle-assembler.d.ts +49 -0
- package/daemon/dist/domain/context-packs/bundle-assembler.d.ts.map +1 -0
- package/daemon/dist/domain/context-packs/bundle-assembler.js +81 -0
- package/daemon/dist/domain/context-packs/bundle-assembler.js.map +1 -0
- package/daemon/dist/domain/context-packs/context-pack-library-service.d.ts +41 -0
- package/daemon/dist/domain/context-packs/context-pack-library-service.d.ts.map +1 -0
- package/daemon/dist/domain/context-packs/context-pack-library-service.js +148 -0
- package/daemon/dist/domain/context-packs/context-pack-library-service.js.map +1 -0
- package/daemon/dist/domain/context-packs/context-pack-types.d.ts +64 -0
- package/daemon/dist/domain/context-packs/context-pack-types.d.ts.map +1 -0
- package/daemon/dist/domain/context-packs/context-pack-types.js +22 -0
- package/daemon/dist/domain/context-packs/context-pack-types.js.map +1 -0
- package/daemon/dist/domain/context-packs/manifest-parser.d.ts +3 -0
- package/daemon/dist/domain/context-packs/manifest-parser.d.ts.map +1 -0
- package/daemon/dist/domain/context-packs/manifest-parser.js +74 -0
- package/daemon/dist/domain/context-packs/manifest-parser.js.map +1 -0
- package/daemon/dist/domain/context-usage-store.d.ts +15 -2
- package/daemon/dist/domain/context-usage-store.d.ts.map +1 -1
- package/daemon/dist/domain/context-usage-store.js +157 -2
- package/daemon/dist/domain/context-usage-store.js.map +1 -1
- package/daemon/dist/domain/files/file-write-service.d.ts +61 -0
- package/daemon/dist/domain/files/file-write-service.d.ts.map +1 -0
- package/daemon/dist/domain/files/file-write-service.js +180 -0
- package/daemon/dist/domain/files/file-write-service.js.map +1 -0
- package/daemon/dist/domain/files/path-safety.d.ts +47 -0
- package/daemon/dist/domain/files/path-safety.d.ts.map +1 -0
- package/daemon/dist/domain/files/path-safety.js +176 -0
- package/daemon/dist/domain/files/path-safety.js.map +1 -0
- package/daemon/dist/domain/graph-projection.d.ts +14 -1
- package/daemon/dist/domain/graph-projection.d.ts.map +1 -1
- package/daemon/dist/domain/graph-projection.js +8 -0
- package/daemon/dist/domain/graph-projection.js.map +1 -1
- package/daemon/dist/domain/hot-potato-enforcer.d.ts +45 -0
- package/daemon/dist/domain/hot-potato-enforcer.d.ts.map +1 -0
- package/daemon/dist/domain/hot-potato-enforcer.js +94 -0
- package/daemon/dist/domain/hot-potato-enforcer.js.map +1 -0
- package/daemon/dist/domain/inbox-handler.d.ts +68 -0
- package/daemon/dist/domain/inbox-handler.d.ts.map +1 -0
- package/daemon/dist/domain/inbox-handler.js +177 -0
- package/daemon/dist/domain/inbox-handler.js.map +1 -0
- package/daemon/dist/domain/install-engine.d.ts.map +1 -1
- package/daemon/dist/domain/install-engine.js +22 -6
- package/daemon/dist/domain/install-engine.js.map +1 -1
- package/daemon/dist/domain/install-verifier.d.ts.map +1 -1
- package/daemon/dist/domain/install-verifier.js +10 -5
- package/daemon/dist/domain/install-verifier.js.map +1 -1
- package/daemon/dist/domain/managed-blocks.d.ts.map +1 -1
- package/daemon/dist/domain/managed-blocks.js +22 -3
- package/daemon/dist/domain/managed-blocks.js.map +1 -1
- package/daemon/dist/domain/mission-control/audit-browse.d.ts +26 -0
- package/daemon/dist/domain/mission-control/audit-browse.d.ts.map +1 -0
- package/daemon/dist/domain/mission-control/audit-browse.js +101 -0
- package/daemon/dist/domain/mission-control/audit-browse.js.map +1 -0
- package/daemon/dist/domain/mission-control/mission-control-action-log.d.ts +51 -0
- package/daemon/dist/domain/mission-control/mission-control-action-log.d.ts.map +1 -0
- package/daemon/dist/domain/mission-control/mission-control-action-log.js +124 -0
- package/daemon/dist/domain/mission-control/mission-control-action-log.js.map +1 -0
- package/daemon/dist/domain/mission-control/mission-control-fleet-cli-capability.d.ts +131 -0
- package/daemon/dist/domain/mission-control/mission-control-fleet-cli-capability.d.ts.map +1 -0
- package/daemon/dist/domain/mission-control/mission-control-fleet-cli-capability.js +232 -0
- package/daemon/dist/domain/mission-control/mission-control-fleet-cli-capability.js.map +1 -0
- package/daemon/dist/domain/mission-control/mission-control-read-layer.d.ts +85 -0
- package/daemon/dist/domain/mission-control/mission-control-read-layer.d.ts.map +1 -0
- package/daemon/dist/domain/mission-control/mission-control-read-layer.js +265 -0
- package/daemon/dist/domain/mission-control/mission-control-read-layer.js.map +1 -0
- package/daemon/dist/domain/mission-control/mission-control-write-contract.d.ts +69 -0
- package/daemon/dist/domain/mission-control/mission-control-write-contract.d.ts.map +1 -0
- package/daemon/dist/domain/mission-control/mission-control-write-contract.js +300 -0
- package/daemon/dist/domain/mission-control/mission-control-write-contract.js.map +1 -0
- package/daemon/dist/domain/mission-control/notification-adapter-ntfy.d.ts +18 -0
- package/daemon/dist/domain/mission-control/notification-adapter-ntfy.d.ts.map +1 -0
- package/daemon/dist/domain/mission-control/notification-adapter-ntfy.js +48 -0
- package/daemon/dist/domain/mission-control/notification-adapter-ntfy.js.map +1 -0
- package/daemon/dist/domain/mission-control/notification-adapter-types.d.ts +25 -0
- package/daemon/dist/domain/mission-control/notification-adapter-types.d.ts.map +1 -0
- package/daemon/dist/domain/mission-control/notification-adapter-types.js +7 -0
- package/daemon/dist/domain/mission-control/notification-adapter-types.js.map +1 -0
- package/daemon/dist/domain/mission-control/notification-adapter-webhook.d.ts +27 -0
- package/daemon/dist/domain/mission-control/notification-adapter-webhook.d.ts.map +1 -0
- package/daemon/dist/domain/mission-control/notification-adapter-webhook.js +47 -0
- package/daemon/dist/domain/mission-control/notification-adapter-webhook.js.map +1 -0
- package/daemon/dist/domain/mission-control/notification-dispatcher.d.ts +53 -0
- package/daemon/dist/domain/mission-control/notification-dispatcher.d.ts.map +1 -0
- package/daemon/dist/domain/mission-control/notification-dispatcher.js +181 -0
- package/daemon/dist/domain/mission-control/notification-dispatcher.js.map +1 -0
- package/daemon/dist/domain/native-resume-probe.d.ts +1 -1
- package/daemon/dist/domain/native-resume-probe.d.ts.map +1 -1
- package/daemon/dist/domain/native-resume-probe.js +67 -0
- package/daemon/dist/domain/native-resume-probe.js.map +1 -1
- package/daemon/dist/domain/node-inventory.d.ts +29 -1
- package/daemon/dist/domain/node-inventory.d.ts.map +1 -1
- package/daemon/dist/domain/node-inventory.js +184 -38
- package/daemon/dist/domain/node-inventory.js.map +1 -1
- package/daemon/dist/domain/node-launcher.d.ts +2 -0
- package/daemon/dist/domain/node-launcher.d.ts.map +1 -1
- package/daemon/dist/domain/node-launcher.js +21 -7
- package/daemon/dist/domain/node-launcher.js.map +1 -1
- package/daemon/dist/domain/outbox-handler.d.ts +48 -0
- package/daemon/dist/domain/outbox-handler.d.ts.map +1 -0
- package/daemon/dist/domain/outbox-handler.js +106 -0
- package/daemon/dist/domain/outbox-handler.js.map +1 -0
- package/daemon/dist/domain/policies/artifact-pool-helpers.d.ts +64 -0
- package/daemon/dist/domain/policies/artifact-pool-helpers.d.ts.map +1 -0
- package/daemon/dist/domain/policies/artifact-pool-helpers.js +226 -0
- package/daemon/dist/domain/policies/artifact-pool-helpers.js.map +1 -0
- package/daemon/dist/domain/policies/artifact-pool-ready.d.ts +3 -0
- package/daemon/dist/domain/policies/artifact-pool-ready.d.ts.map +1 -0
- package/daemon/dist/domain/policies/artifact-pool-ready.js +41 -0
- package/daemon/dist/domain/policies/artifact-pool-ready.js.map +1 -0
- package/daemon/dist/domain/policies/edge-artifact-required.d.ts +3 -0
- package/daemon/dist/domain/policies/edge-artifact-required.d.ts.map +1 -0
- package/daemon/dist/domain/policies/edge-artifact-required.js +90 -0
- package/daemon/dist/domain/policies/edge-artifact-required.js.map +1 -0
- package/daemon/dist/domain/policies/periodic-reminder.d.ts +3 -0
- package/daemon/dist/domain/policies/periodic-reminder.d.ts.map +1 -0
- package/daemon/dist/domain/policies/periodic-reminder.js +30 -0
- package/daemon/dist/domain/policies/periodic-reminder.js.map +1 -0
- package/daemon/dist/domain/policies/types.d.ts +51 -0
- package/daemon/dist/domain/policies/types.d.ts.map +1 -0
- package/daemon/dist/domain/policies/types.js +9 -0
- package/daemon/dist/domain/policies/types.js.map +1 -0
- package/daemon/dist/domain/policies/workflow-keepalive.d.ts +7 -0
- package/daemon/dist/domain/policies/workflow-keepalive.d.ts.map +1 -0
- package/daemon/dist/domain/policies/workflow-keepalive.js +123 -0
- package/daemon/dist/domain/policies/workflow-keepalive.js.map +1 -0
- package/daemon/dist/domain/preview/preview-rate-limiter.d.ts +20 -0
- package/daemon/dist/domain/preview/preview-rate-limiter.d.ts.map +1 -0
- package/daemon/dist/domain/preview/preview-rate-limiter.js +46 -0
- package/daemon/dist/domain/preview/preview-rate-limiter.js.map +1 -0
- package/daemon/dist/domain/profile-resolver.d.ts +5 -0
- package/daemon/dist/domain/profile-resolver.d.ts.map +1 -1
- package/daemon/dist/domain/profile-resolver.js +62 -8
- package/daemon/dist/domain/profile-resolver.js.map +1 -1
- package/daemon/dist/domain/progress/progress-indexer.d.ts +73 -0
- package/daemon/dist/domain/progress/progress-indexer.d.ts.map +1 -0
- package/daemon/dist/domain/progress/progress-indexer.js +210 -0
- package/daemon/dist/domain/progress/progress-indexer.js.map +1 -0
- package/daemon/dist/domain/project-classifier.d.ts +75 -0
- package/daemon/dist/domain/project-classifier.d.ts.map +1 -0
- package/daemon/dist/domain/project-classifier.js +132 -0
- package/daemon/dist/domain/project-classifier.js.map +1 -0
- package/daemon/dist/domain/projection-planner.d.ts +1 -0
- package/daemon/dist/domain/projection-planner.d.ts.map +1 -1
- package/daemon/dist/domain/projection-planner.js +3 -0
- package/daemon/dist/domain/projection-planner.js.map +1 -1
- package/daemon/dist/domain/ps-projection.d.ts +31 -0
- package/daemon/dist/domain/ps-projection.d.ts.map +1 -1
- package/daemon/dist/domain/ps-projection.js +38 -0
- package/daemon/dist/domain/ps-projection.js.map +1 -1
- package/daemon/dist/domain/queue-repository.d.ts +340 -0
- package/daemon/dist/domain/queue-repository.d.ts.map +1 -0
- package/daemon/dist/domain/queue-repository.js +744 -0
- package/daemon/dist/domain/queue-repository.js.map +1 -0
- package/daemon/dist/domain/queue-transition-log.d.ts +38 -0
- package/daemon/dist/domain/queue-transition-log.d.ts.map +1 -0
- package/daemon/dist/domain/queue-transition-log.js +52 -0
- package/daemon/dist/domain/queue-transition-log.js.map +1 -0
- package/daemon/dist/domain/rehydrate-eligibility.d.ts +16 -0
- package/daemon/dist/domain/rehydrate-eligibility.d.ts.map +1 -0
- package/daemon/dist/domain/rehydrate-eligibility.js +43 -0
- package/daemon/dist/domain/rehydrate-eligibility.js.map +1 -0
- package/daemon/dist/domain/restore-check-service.d.ts +203 -0
- package/daemon/dist/domain/restore-check-service.d.ts.map +1 -0
- package/daemon/dist/domain/restore-check-service.js +1060 -0
- package/daemon/dist/domain/restore-check-service.js.map +1 -0
- package/daemon/dist/domain/restore-orchestrator.d.ts +49 -3
- package/daemon/dist/domain/restore-orchestrator.d.ts.map +1 -1
- package/daemon/dist/domain/restore-orchestrator.js +464 -64
- package/daemon/dist/domain/restore-orchestrator.js.map +1 -1
- package/daemon/dist/domain/rig-expansion-service.d.ts.map +1 -1
- package/daemon/dist/domain/rig-expansion-service.js +13 -0
- package/daemon/dist/domain/rig-expansion-service.js.map +1 -1
- package/daemon/dist/domain/rig-repository.d.ts +31 -1
- package/daemon/dist/domain/rig-repository.d.ts.map +1 -1
- package/daemon/dist/domain/rig-repository.js +104 -5
- package/daemon/dist/domain/rig-repository.js.map +1 -1
- package/daemon/dist/domain/rig-teardown.d.ts.map +1 -1
- package/daemon/dist/domain/rig-teardown.js +5 -0
- package/daemon/dist/domain/rig-teardown.js.map +1 -1
- package/daemon/dist/domain/rigspec-codec.d.ts.map +1 -1
- package/daemon/dist/domain/rigspec-codec.js +28 -0
- package/daemon/dist/domain/rigspec-codec.js.map +1 -1
- package/daemon/dist/domain/rigspec-exporter.d.ts.map +1 -1
- package/daemon/dist/domain/rigspec-exporter.js +2 -0
- package/daemon/dist/domain/rigspec-exporter.js.map +1 -1
- package/daemon/dist/domain/rigspec-instantiator.d.ts +29 -0
- package/daemon/dist/domain/rigspec-instantiator.d.ts.map +1 -1
- package/daemon/dist/domain/rigspec-instantiator.js +194 -2
- package/daemon/dist/domain/rigspec-instantiator.js.map +1 -1
- package/daemon/dist/domain/rigspec-schema.d.ts.map +1 -1
- package/daemon/dist/domain/rigspec-schema.js +349 -0
- package/daemon/dist/domain/rigspec-schema.js.map +1 -1
- package/daemon/dist/domain/runtime-adapter.d.ts +38 -2
- package/daemon/dist/domain/runtime-adapter.d.ts.map +1 -1
- package/daemon/dist/domain/runtime-adapter.js +5 -0
- package/daemon/dist/domain/runtime-adapter.js.map +1 -1
- package/daemon/dist/domain/seat-handover-planner.d.ts +84 -0
- package/daemon/dist/domain/seat-handover-planner.d.ts.map +1 -0
- package/daemon/dist/domain/seat-handover-planner.js +188 -0
- package/daemon/dist/domain/seat-handover-planner.js.map +1 -0
- package/daemon/dist/domain/seat-handover-service.d.ts +104 -0
- package/daemon/dist/domain/seat-handover-service.d.ts.map +1 -0
- package/daemon/dist/domain/seat-handover-service.js +343 -0
- package/daemon/dist/domain/seat-handover-service.js.map +1 -0
- package/daemon/dist/domain/seat-status-service.d.ts +50 -0
- package/daemon/dist/domain/seat-status-service.d.ts.map +1 -0
- package/daemon/dist/domain/seat-status-service.js +66 -0
- package/daemon/dist/domain/seat-status-service.js.map +1 -0
- package/daemon/dist/domain/session-source-rebuild-resolver.d.ts +53 -0
- package/daemon/dist/domain/session-source-rebuild-resolver.d.ts.map +1 -0
- package/daemon/dist/domain/session-source-rebuild-resolver.js +59 -0
- package/daemon/dist/domain/session-source-rebuild-resolver.js.map +1 -0
- package/daemon/dist/domain/session-transport.d.ts +30 -0
- package/daemon/dist/domain/session-transport.d.ts.map +1 -1
- package/daemon/dist/domain/session-transport.js +322 -12
- package/daemon/dist/domain/session-transport.js.map +1 -1
- package/daemon/dist/domain/skill-discovery.d.ts +51 -0
- package/daemon/dist/domain/skill-discovery.d.ts.map +1 -0
- package/daemon/dist/domain/skill-discovery.js +144 -0
- package/daemon/dist/domain/skill-discovery.js.map +1 -0
- package/daemon/dist/domain/slices/slice-detail-projector.d.ts +182 -0
- package/daemon/dist/domain/slices/slice-detail-projector.d.ts.map +1 -0
- package/daemon/dist/domain/slices/slice-detail-projector.js +508 -0
- package/daemon/dist/domain/slices/slice-detail-projector.js.map +1 -0
- package/daemon/dist/domain/slices/slice-indexer.d.ts +118 -0
- package/daemon/dist/domain/slices/slice-indexer.d.ts.map +1 -0
- package/daemon/dist/domain/slices/slice-indexer.js +503 -0
- package/daemon/dist/domain/slices/slice-indexer.js.map +1 -0
- package/daemon/dist/domain/snapshot-repository.d.ts +18 -0
- package/daemon/dist/domain/snapshot-repository.d.ts.map +1 -1
- package/daemon/dist/domain/snapshot-repository.js +77 -0
- package/daemon/dist/domain/snapshot-repository.js.map +1 -1
- package/daemon/dist/domain/spec-library-service.d.ts +17 -2
- package/daemon/dist/domain/spec-library-service.d.ts.map +1 -1
- package/daemon/dist/domain/spec-library-service.js +31 -1
- package/daemon/dist/domain/spec-library-service.js.map +1 -1
- package/daemon/dist/domain/spec-library-workflow-scanner.d.ts +81 -0
- package/daemon/dist/domain/spec-library-workflow-scanner.d.ts.map +1 -0
- package/daemon/dist/domain/spec-library-workflow-scanner.js +171 -0
- package/daemon/dist/domain/spec-library-workflow-scanner.js.map +1 -0
- package/daemon/dist/domain/startup-orchestrator.d.ts +22 -3
- package/daemon/dist/domain/startup-orchestrator.d.ts.map +1 -1
- package/daemon/dist/domain/startup-orchestrator.js +31 -5
- package/daemon/dist/domain/startup-orchestrator.js.map +1 -1
- package/daemon/dist/domain/startup-validation.d.ts.map +1 -1
- package/daemon/dist/domain/startup-validation.js +57 -11
- package/daemon/dist/domain/startup-validation.js.map +1 -1
- package/daemon/dist/domain/steering/health-summary.d.ts +39 -0
- package/daemon/dist/domain/steering/health-summary.d.ts.map +1 -0
- package/daemon/dist/domain/steering/health-summary.js +100 -0
- package/daemon/dist/domain/steering/health-summary.js.map +1 -0
- package/daemon/dist/domain/steering/steering-composer.d.ts +102 -0
- package/daemon/dist/domain/steering/steering-composer.d.ts.map +1 -0
- package/daemon/dist/domain/steering/steering-composer.js +263 -0
- package/daemon/dist/domain/steering/steering-composer.js.map +1 -0
- package/daemon/dist/domain/stream-store.d.ts +56 -0
- package/daemon/dist/domain/stream-store.d.ts.map +1 -0
- package/daemon/dist/domain/stream-store.js +108 -0
- package/daemon/dist/domain/stream-store.js.map +1 -0
- package/daemon/dist/domain/transcript-capture.d.ts.map +1 -1
- package/daemon/dist/domain/transcript-capture.js +7 -4
- package/daemon/dist/domain/transcript-capture.js.map +1 -1
- package/daemon/dist/domain/transcript-redaction.d.ts +13 -0
- package/daemon/dist/domain/transcript-redaction.d.ts.map +1 -0
- package/daemon/dist/domain/transcript-redaction.js +34 -0
- package/daemon/dist/domain/transcript-redaction.js.map +1 -0
- package/daemon/dist/domain/transcript-rotation.d.ts +29 -0
- package/daemon/dist/domain/transcript-rotation.d.ts.map +1 -0
- package/daemon/dist/domain/transcript-rotation.js +109 -0
- package/daemon/dist/domain/transcript-rotation.js.map +1 -0
- package/daemon/dist/domain/transcript-store.d.ts +15 -0
- package/daemon/dist/domain/transcript-store.d.ts.map +1 -1
- package/daemon/dist/domain/transcript-store.js +64 -2
- package/daemon/dist/domain/transcript-store.js.map +1 -1
- package/daemon/dist/domain/types.d.ts +416 -4
- package/daemon/dist/domain/types.d.ts.map +1 -1
- package/daemon/dist/domain/types.js +8 -1
- package/daemon/dist/domain/types.js.map +1 -1
- package/daemon/dist/domain/user-settings/settings-store.d.ts +42 -0
- package/daemon/dist/domain/user-settings/settings-store.d.ts.map +1 -0
- package/daemon/dist/domain/user-settings/settings-store.js +364 -0
- package/daemon/dist/domain/user-settings/settings-store.js.map +1 -0
- package/daemon/dist/domain/view-event-bridge.d.ts +12 -0
- package/daemon/dist/domain/view-event-bridge.d.ts.map +1 -0
- package/daemon/dist/domain/view-event-bridge.js +91 -0
- package/daemon/dist/domain/view-event-bridge.js.map +1 -0
- package/daemon/dist/domain/view-projector.d.ts +83 -0
- package/daemon/dist/domain/view-projector.d.ts.map +1 -0
- package/daemon/dist/domain/view-projector.js +296 -0
- package/daemon/dist/domain/view-projector.js.map +1 -0
- package/daemon/dist/domain/watchdog-history-log.d.ts +49 -0
- package/daemon/dist/domain/watchdog-history-log.d.ts.map +1 -0
- package/daemon/dist/domain/watchdog-history-log.js +67 -0
- package/daemon/dist/domain/watchdog-history-log.js.map +1 -0
- package/daemon/dist/domain/watchdog-jobs-repository.d.ts +81 -0
- package/daemon/dist/domain/watchdog-jobs-repository.d.ts.map +1 -0
- package/daemon/dist/domain/watchdog-jobs-repository.js +164 -0
- package/daemon/dist/domain/watchdog-jobs-repository.js.map +1 -0
- package/daemon/dist/domain/watchdog-policy-engine.d.ts +92 -0
- package/daemon/dist/domain/watchdog-policy-engine.d.ts.map +1 -0
- package/daemon/dist/domain/watchdog-policy-engine.js +442 -0
- package/daemon/dist/domain/watchdog-policy-engine.js.map +1 -0
- package/daemon/dist/domain/watchdog-scheduler.d.ts +76 -0
- package/daemon/dist/domain/watchdog-scheduler.d.ts.map +1 -0
- package/daemon/dist/domain/watchdog-scheduler.js +112 -0
- package/daemon/dist/domain/watchdog-scheduler.js.map +1 -0
- package/daemon/dist/domain/whoami-service.d.ts +29 -0
- package/daemon/dist/domain/whoami-service.d.ts.map +1 -1
- package/daemon/dist/domain/whoami-service.js +68 -0
- package/daemon/dist/domain/whoami-service.js.map +1 -1
- package/daemon/dist/domain/workflow/slice-workflow-binding.d.ts +21 -0
- package/daemon/dist/domain/workflow/slice-workflow-binding.d.ts.map +1 -0
- package/daemon/dist/domain/workflow/slice-workflow-binding.js +103 -0
- package/daemon/dist/domain/workflow/slice-workflow-binding.js.map +1 -0
- package/daemon/dist/domain/workflow/slice-workflow-projection.d.ts +81 -0
- package/daemon/dist/domain/workflow/slice-workflow-projection.d.ts.map +1 -0
- package/daemon/dist/domain/workflow/slice-workflow-projection.js +127 -0
- package/daemon/dist/domain/workflow/slice-workflow-projection.js.map +1 -0
- package/daemon/dist/domain/workflow/starter-spec-loader.d.ts +51 -0
- package/daemon/dist/domain/workflow/starter-spec-loader.d.ts.map +1 -0
- package/daemon/dist/domain/workflow/starter-spec-loader.js +140 -0
- package/daemon/dist/domain/workflow/starter-spec-loader.js.map +1 -0
- package/daemon/dist/domain/workflow-instance-store.d.ts +46 -0
- package/daemon/dist/domain/workflow-instance-store.d.ts.map +1 -0
- package/daemon/dist/domain/workflow-instance-store.js +116 -0
- package/daemon/dist/domain/workflow-instance-store.js.map +1 -0
- package/daemon/dist/domain/workflow-projector.d.ts +64 -0
- package/daemon/dist/domain/workflow-projector.d.ts.map +1 -0
- package/daemon/dist/domain/workflow-projector.js +432 -0
- package/daemon/dist/domain/workflow-projector.js.map +1 -0
- package/daemon/dist/domain/workflow-runtime.d.ts +63 -0
- package/daemon/dist/domain/workflow-runtime.d.ts.map +1 -0
- package/daemon/dist/domain/workflow-runtime.js +150 -0
- package/daemon/dist/domain/workflow-runtime.js.map +1 -0
- package/daemon/dist/domain/workflow-spec-cache.d.ts +42 -0
- package/daemon/dist/domain/workflow-spec-cache.d.ts.map +1 -0
- package/daemon/dist/domain/workflow-spec-cache.js +218 -0
- package/daemon/dist/domain/workflow-spec-cache.js.map +1 -0
- package/daemon/dist/domain/workflow-step-trail-log.d.ts +27 -0
- package/daemon/dist/domain/workflow-step-trail-log.d.ts.map +1 -0
- package/daemon/dist/domain/workflow-step-trail-log.js +73 -0
- package/daemon/dist/domain/workflow-step-trail-log.js.map +1 -0
- package/daemon/dist/domain/workflow-types.d.ts +108 -0
- package/daemon/dist/domain/workflow-types.d.ts.map +1 -0
- package/daemon/dist/domain/workflow-types.js +11 -0
- package/daemon/dist/domain/workflow-types.js.map +1 -0
- package/daemon/dist/domain/workflow-validator.d.ts +31 -0
- package/daemon/dist/domain/workflow-validator.d.ts.map +1 -0
- package/daemon/dist/domain/workflow-validator.js +115 -0
- package/daemon/dist/domain/workflow-validator.js.map +1 -0
- package/daemon/dist/domain/workspace/default-workspace-scaffold.d.ts +6 -0
- package/daemon/dist/domain/workspace/default-workspace-scaffold.d.ts.map +1 -0
- package/daemon/dist/domain/workspace/default-workspace-scaffold.js +207 -0
- package/daemon/dist/domain/workspace/default-workspace-scaffold.js.map +1 -0
- package/daemon/dist/domain/workspace/frontmatter-validator.d.ts +40 -0
- package/daemon/dist/domain/workspace/frontmatter-validator.d.ts.map +1 -0
- package/daemon/dist/domain/workspace/frontmatter-validator.js +185 -0
- package/daemon/dist/domain/workspace/frontmatter-validator.js.map +1 -0
- package/daemon/dist/domain/workspace/workspace-resolver.d.ts +25 -0
- package/daemon/dist/domain/workspace/workspace-resolver.d.ts.map +1 -0
- package/daemon/dist/domain/workspace/workspace-resolver.js +86 -0
- package/daemon/dist/domain/workspace/workspace-resolver.js.map +1 -0
- package/daemon/dist/index.d.ts.map +1 -1
- package/daemon/dist/index.js +30 -2
- package/daemon/dist/index.js.map +1 -1
- package/daemon/dist/middleware/auth-bearer-token.d.ts +49 -0
- package/daemon/dist/middleware/auth-bearer-token.d.ts.map +1 -0
- package/daemon/dist/middleware/auth-bearer-token.js +135 -0
- package/daemon/dist/middleware/auth-bearer-token.js.map +1 -0
- package/daemon/dist/openrig-compat.d.ts +1 -1
- package/daemon/dist/openrig-compat.d.ts.map +1 -1
- package/daemon/dist/openrig-compat.js +6 -4
- package/daemon/dist/openrig-compat.js.map +1 -1
- package/daemon/dist/routes/activity.d.ts +3 -0
- package/daemon/dist/routes/activity.d.ts.map +1 -0
- package/daemon/dist/routes/activity.js +47 -0
- package/daemon/dist/routes/activity.js.map +1 -0
- package/daemon/dist/routes/agent-images.d.ts +8 -0
- package/daemon/dist/routes/agent-images.d.ts.map +1 -0
- package/daemon/dist/routes/agent-images.js +253 -0
- package/daemon/dist/routes/agent-images.js.map +1 -0
- package/daemon/dist/routes/config.d.ts +3 -0
- package/daemon/dist/routes/config.d.ts.map +1 -0
- package/daemon/dist/routes/config.js +109 -0
- package/daemon/dist/routes/config.js.map +1 -0
- package/daemon/dist/routes/context-packs.d.ts +3 -0
- package/daemon/dist/routes/context-packs.d.ts.map +1 -0
- package/daemon/dist/routes/context-packs.js +129 -0
- package/daemon/dist/routes/context-packs.js.map +1 -0
- package/daemon/dist/routes/files.d.ts +17 -0
- package/daemon/dist/routes/files.d.ts.map +1 -0
- package/daemon/dist/routes/files.js +262 -0
- package/daemon/dist/routes/files.js.map +1 -0
- package/daemon/dist/routes/health-summary.d.ts +9 -0
- package/daemon/dist/routes/health-summary.d.ts.map +1 -0
- package/daemon/dist/routes/health-summary.js +33 -0
- package/daemon/dist/routes/health-summary.js.map +1 -0
- package/daemon/dist/routes/mission-control.d.ts +37 -0
- package/daemon/dist/routes/mission-control.d.ts.map +1 -0
- package/daemon/dist/routes/mission-control.js +283 -0
- package/daemon/dist/routes/mission-control.js.map +1 -0
- package/daemon/dist/routes/progress.d.ts +7 -0
- package/daemon/dist/routes/progress.d.ts.map +1 -0
- package/daemon/dist/routes/progress.js +33 -0
- package/daemon/dist/routes/progress.js.map +1 -0
- package/daemon/dist/routes/projects.d.ts +12 -0
- package/daemon/dist/routes/projects.d.ts.map +1 -0
- package/daemon/dist/routes/projects.js +178 -0
- package/daemon/dist/routes/projects.js.map +1 -0
- package/daemon/dist/routes/queue.d.ts +10 -0
- package/daemon/dist/routes/queue.d.ts.map +1 -0
- package/daemon/dist/routes/queue.js +425 -0
- package/daemon/dist/routes/queue.js.map +1 -0
- package/daemon/dist/routes/restore-check.d.ts +3 -0
- package/daemon/dist/routes/restore-check.d.ts.map +1 -0
- package/daemon/dist/routes/restore-check.js +200 -0
- package/daemon/dist/routes/restore-check.js.map +1 -0
- package/daemon/dist/routes/rigs.d.ts +3 -0
- package/daemon/dist/routes/rigs.d.ts.map +1 -1
- package/daemon/dist/routes/rigs.js +131 -9
- package/daemon/dist/routes/rigs.js.map +1 -1
- package/daemon/dist/routes/rigspec.js +6 -3
- package/daemon/dist/routes/rigspec.js.map +1 -1
- package/daemon/dist/routes/seat.d.ts +3 -0
- package/daemon/dist/routes/seat.d.ts.map +1 -0
- package/daemon/dist/routes/seat.js +69 -0
- package/daemon/dist/routes/seat.js.map +1 -0
- package/daemon/dist/routes/sessions.d.ts.map +1 -1
- package/daemon/dist/routes/sessions.js +144 -4
- package/daemon/dist/routes/sessions.js.map +1 -1
- package/daemon/dist/routes/slices.d.ts +9 -0
- package/daemon/dist/routes/slices.d.ts.map +1 -0
- package/daemon/dist/routes/slices.js +192 -0
- package/daemon/dist/routes/slices.js.map +1 -0
- package/daemon/dist/routes/snapshots.js +66 -29
- package/daemon/dist/routes/snapshots.js.map +1 -1
- package/daemon/dist/routes/spec-library.d.ts.map +1 -1
- package/daemon/dist/routes/spec-library.js +72 -5
- package/daemon/dist/routes/spec-library.js.map +1 -1
- package/daemon/dist/routes/steering.d.ts +7 -0
- package/daemon/dist/routes/steering.d.ts.map +1 -0
- package/daemon/dist/routes/steering.js +27 -0
- package/daemon/dist/routes/steering.js.map +1 -0
- package/daemon/dist/routes/stream.d.ts +9 -0
- package/daemon/dist/routes/stream.d.ts.map +1 -0
- package/daemon/dist/routes/stream.js +119 -0
- package/daemon/dist/routes/stream.js.map +1 -0
- package/daemon/dist/routes/transcripts.d.ts.map +1 -1
- package/daemon/dist/routes/transcripts.js +38 -0
- package/daemon/dist/routes/transcripts.js.map +1 -1
- package/daemon/dist/routes/transport.d.ts.map +1 -1
- package/daemon/dist/routes/transport.js +21 -0
- package/daemon/dist/routes/transport.js.map +1 -1
- package/daemon/dist/routes/up.d.ts.map +1 -1
- package/daemon/dist/routes/up.js +43 -4
- package/daemon/dist/routes/up.js.map +1 -1
- package/daemon/dist/routes/views.d.ts +13 -0
- package/daemon/dist/routes/views.d.ts.map +1 -0
- package/daemon/dist/routes/views.js +120 -0
- package/daemon/dist/routes/views.js.map +1 -0
- package/daemon/dist/routes/watchdog.d.ts +18 -0
- package/daemon/dist/routes/watchdog.d.ts.map +1 -0
- package/daemon/dist/routes/watchdog.js +148 -0
- package/daemon/dist/routes/watchdog.js.map +1 -0
- package/daemon/dist/routes/whoami.d.ts.map +1 -1
- package/daemon/dist/routes/whoami.js +6 -1
- package/daemon/dist/routes/whoami.js.map +1 -1
- package/daemon/dist/routes/workflow.d.ts +20 -0
- package/daemon/dist/routes/workflow.d.ts.map +1 -0
- package/daemon/dist/routes/workflow.js +227 -0
- package/daemon/dist/routes/workflow.js.map +1 -0
- package/daemon/dist/routes/workspace.d.ts +3 -0
- package/daemon/dist/routes/workspace.d.ts.map +1 -0
- package/daemon/dist/routes/workspace.js +53 -0
- package/daemon/dist/routes/workspace.js.map +1 -0
- package/daemon/dist/server.d.ts +81 -0
- package/daemon/dist/server.d.ts.map +1 -1
- package/daemon/dist/server.js +85 -1
- package/daemon/dist/server.js.map +1 -1
- package/daemon/dist/startup.d.ts +9 -0
- package/daemon/dist/startup.d.ts.map +1 -1
- package/daemon/dist/startup.js +585 -8
- package/daemon/dist/startup.js.map +1 -1
- package/daemon/docs/reference/agent-spec.md +19 -12
- package/daemon/docs/reference/agent-startup-guide.md +11 -11
- package/daemon/docs/reference/project-workspace.md +102 -0
- package/daemon/specs/agents/apps/vault-specialist/agent.yaml +2 -2
- package/daemon/specs/agents/apps/vault-specialist/guidance/role.md +0 -1
- package/daemon/specs/agents/conveyor/builder/agent.yaml +35 -0
- package/daemon/specs/agents/conveyor/builder/guidance/role.md +31 -0
- package/daemon/specs/agents/conveyor/builder/startup/context.md +9 -0
- package/daemon/specs/agents/conveyor/lead/agent.yaml +35 -0
- package/daemon/specs/agents/conveyor/lead/guidance/role.md +34 -0
- package/daemon/specs/agents/conveyor/lead/startup/context.md +15 -0
- package/daemon/specs/agents/conveyor/planner/agent.yaml +35 -0
- package/daemon/specs/agents/conveyor/planner/guidance/role.md +29 -0
- package/daemon/specs/agents/conveyor/planner/startup/context.md +12 -0
- package/daemon/specs/agents/conveyor/reviewer/agent.yaml +35 -0
- package/daemon/specs/agents/conveyor/reviewer/guidance/role.md +29 -0
- package/daemon/specs/agents/conveyor/reviewer/startup/context.md +10 -0
- package/daemon/specs/agents/design/product-designer/agent.yaml +1 -1
- package/daemon/specs/agents/development/implementer/agent.yaml +2 -2
- package/daemon/specs/agents/development/implementer/guidance/role.md +0 -1
- package/daemon/specs/agents/development/qa/agent.yaml +1 -1
- package/daemon/specs/agents/orchestration/orchestrator/agent.yaml +2 -2
- package/daemon/specs/agents/orchestration/orchestrator/guidance/role.md +2 -3
- package/daemon/specs/agents/product-management/pm/agent.yaml +4 -0
- package/daemon/specs/agents/research/analyst/agent.yaml +1 -1
- package/daemon/specs/agents/research/synthesizer/agent.yaml +1 -1
- package/daemon/specs/agents/review/independent-reviewer/agent.yaml +1 -1
- package/daemon/specs/agents/shared/agent.yaml +17 -2
- package/daemon/specs/agents/shared/runtime/claude-mcp.fragment.json +12 -0
- package/daemon/specs/agents/shared/runtime/claude-settings.fragment.json +16 -0
- package/daemon/specs/agents/shared/runtime/codex-config.fragment.toml +5 -0
- package/daemon/specs/agents/shared/skills/claude-compact-in-place/SKILL.md +100 -0
- package/daemon/specs/agents/shared/skills/core/openrig-operator/SKILL.md +110 -0
- package/daemon/specs/agents/shared/skills/core/openrig-user/SKILL.md +69 -1
- package/daemon/specs/agents/shared/skills/core/openrig-user-settings/SKILL.md +153 -0
- package/daemon/specs/agents/shared/skills/pods/orchestration-team/SKILL.md +3 -0
- package/daemon/specs/agents/shared/skills/rig-architect/SKILL.md +11 -1
- package/daemon/specs/rigs/launch/conveyor/CULTURE.md +34 -0
- package/daemon/specs/rigs/launch/conveyor/README.md +33 -0
- package/daemon/specs/rigs/launch/conveyor/rig.yaml +72 -0
- package/daemon/specs/rigs/preview/product-team/CULTURE.md +2 -2
- package/daemon/specs/rigs/preview/product-team/rig.yaml +3 -4
- package/dist/bin-wrapper.js +0 -0
- package/dist/commands/agent-image.d.ts +4 -0
- package/dist/commands/agent-image.d.ts.map +1 -0
- package/dist/commands/agent-image.js +352 -0
- package/dist/commands/agent-image.js.map +1 -0
- package/dist/commands/capture.d.ts +7 -1
- package/dist/commands/capture.d.ts.map +1 -1
- package/dist/commands/capture.js +59 -1
- package/dist/commands/capture.js.map +1 -1
- package/dist/commands/compact-plan.d.ts +9 -0
- package/dist/commands/compact-plan.d.ts.map +1 -0
- package/dist/commands/compact-plan.js +354 -0
- package/dist/commands/compact-plan.js.map +1 -0
- package/dist/commands/config-init-workspace.d.ts +35 -0
- package/dist/commands/config-init-workspace.d.ts.map +1 -0
- package/dist/commands/config-init-workspace.js +300 -0
- package/dist/commands/config-init-workspace.js.map +1 -0
- package/dist/commands/config.d.ts.map +1 -1
- package/dist/commands/config.js +78 -18
- package/dist/commands/config.js.map +1 -1
- package/dist/commands/context-pack.d.ts +4 -0
- package/dist/commands/context-pack.d.ts.map +1 -0
- package/dist/commands/context-pack.js +357 -0
- package/dist/commands/context-pack.js.map +1 -0
- package/dist/commands/context.d.ts +9 -0
- package/dist/commands/context.d.ts.map +1 -0
- package/dist/commands/context.js +220 -0
- package/dist/commands/context.js.map +1 -0
- package/dist/commands/daemon.d.ts.map +1 -1
- package/dist/commands/daemon.js +8 -0
- package/dist/commands/daemon.js.map +1 -1
- package/dist/commands/expand.d.ts.map +1 -1
- package/dist/commands/expand.js +15 -4
- package/dist/commands/expand.js.map +1 -1
- package/dist/commands/heartbeat.d.ts +99 -0
- package/dist/commands/heartbeat.d.ts.map +1 -0
- package/dist/commands/heartbeat.js +393 -0
- package/dist/commands/heartbeat.js.map +1 -0
- package/dist/commands/import.d.ts.map +1 -1
- package/dist/commands/import.js +7 -2
- package/dist/commands/import.js.map +1 -1
- package/dist/commands/project.d.ts +14 -0
- package/dist/commands/project.d.ts.map +1 -0
- package/dist/commands/project.js +157 -0
- package/dist/commands/project.js.map +1 -0
- package/dist/commands/ps.d.ts +20 -3
- package/dist/commands/ps.d.ts.map +1 -1
- package/dist/commands/ps.js +614 -33
- package/dist/commands/ps.js.map +1 -1
- package/dist/commands/queue.d.ts +16 -0
- package/dist/commands/queue.d.ts.map +1 -0
- package/dist/commands/queue.js +410 -0
- package/dist/commands/queue.js.map +1 -0
- package/dist/commands/restore-check.d.ts +9 -0
- package/dist/commands/restore-check.d.ts.map +1 -0
- package/dist/commands/restore-check.js +234 -0
- package/dist/commands/restore-check.js.map +1 -0
- package/dist/commands/restore-packet.d.ts +9 -0
- package/dist/commands/restore-packet.d.ts.map +1 -0
- package/dist/commands/restore-packet.js +383 -0
- package/dist/commands/restore-packet.js.map +1 -0
- package/dist/commands/restore.d.ts.map +1 -1
- package/dist/commands/restore.js +44 -1
- package/dist/commands/restore.js.map +1 -1
- package/dist/commands/seat.d.ts +5 -0
- package/dist/commands/seat.d.ts.map +1 -0
- package/dist/commands/seat.js +170 -0
- package/dist/commands/seat.js.map +1 -0
- package/dist/commands/send.d.ts +19 -1
- package/dist/commands/send.d.ts.map +1 -1
- package/dist/commands/send.js +116 -5
- package/dist/commands/send.js.map +1 -1
- package/dist/commands/setup.js +3 -3
- package/dist/commands/setup.js.map +1 -1
- package/dist/commands/specs.d.ts +4 -2
- package/dist/commands/specs.d.ts.map +1 -1
- package/dist/commands/specs.js +111 -24
- package/dist/commands/specs.js.map +1 -1
- package/dist/commands/stream.d.ts +12 -0
- package/dist/commands/stream.d.ts.map +1 -0
- package/dist/commands/stream.js +111 -0
- package/dist/commands/stream.js.map +1 -0
- package/dist/commands/up.d.ts.map +1 -1
- package/dist/commands/up.js +79 -5
- package/dist/commands/up.js.map +1 -1
- package/dist/commands/view.d.ts +12 -0
- package/dist/commands/view.d.ts.map +1 -0
- package/dist/commands/view.js +82 -0
- package/dist/commands/view.js.map +1 -0
- package/dist/commands/watchdog.d.ts +15 -0
- package/dist/commands/watchdog.d.ts.map +1 -0
- package/dist/commands/watchdog.js +120 -0
- package/dist/commands/watchdog.js.map +1 -0
- package/dist/commands/whoami.d.ts +8 -1
- package/dist/commands/whoami.d.ts.map +1 -1
- package/dist/commands/whoami.js +69 -5
- package/dist/commands/whoami.js.map +1 -1
- package/dist/commands/workflow.d.ts +17 -0
- package/dist/commands/workflow.d.ts.map +1 -0
- package/dist/commands/workflow.js +175 -0
- package/dist/commands/workflow.js.map +1 -0
- package/dist/commands/workspace.d.ts +6 -0
- package/dist/commands/workspace.d.ts.map +1 -0
- package/dist/commands/workspace.js +83 -0
- package/dist/commands/workspace.js.map +1 -0
- package/dist/config-store.d.ts +73 -1
- package/dist/config-store.d.ts.map +1 -1
- package/dist/config-store.js +314 -42
- package/dist/config-store.js.map +1 -1
- package/dist/cross-host-cli-helpers.d.ts +12 -0
- package/dist/cross-host-cli-helpers.d.ts.map +1 -0
- package/dist/cross-host-cli-helpers.js +48 -0
- package/dist/cross-host-cli-helpers.js.map +1 -0
- package/dist/cross-host-executor.d.ts +84 -0
- package/dist/cross-host-executor.d.ts.map +1 -0
- package/dist/cross-host-executor.js +138 -0
- package/dist/cross-host-executor.js.map +1 -0
- package/dist/daemon-lifecycle.d.ts +22 -0
- package/dist/daemon-lifecycle.d.ts.map +1 -1
- package/dist/daemon-lifecycle.js +41 -0
- package/dist/daemon-lifecycle.js.map +1 -1
- package/dist/host-registry.d.ts +50 -0
- package/dist/host-registry.d.ts.map +1 -0
- package/dist/host-registry.js +116 -0
- package/dist/host-registry.js.map +1 -0
- package/dist/index.d.ts +24 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +30 -0
- package/dist/index.js.map +1 -1
- package/dist/mcp-server.d.ts.map +1 -1
- package/dist/mcp-server.js +22 -2
- package/dist/mcp-server.js.map +1 -1
- package/dist/openrig-compat.d.ts +1 -1
- package/dist/openrig-compat.d.ts.map +1 -1
- package/dist/openrig-compat.js +6 -4
- package/dist/openrig-compat.js.map +1 -1
- package/dist/restore-packet/claude-transcript-parser.d.ts +12 -0
- package/dist/restore-packet/claude-transcript-parser.d.ts.map +1 -0
- package/dist/restore-packet/claude-transcript-parser.js +221 -0
- package/dist/restore-packet/claude-transcript-parser.js.map +1 -0
- package/dist/restore-packet/codex-jsonl-parser.d.ts +11 -0
- package/dist/restore-packet/codex-jsonl-parser.d.ts.map +1 -0
- package/dist/restore-packet/codex-jsonl-parser.js +159 -0
- package/dist/restore-packet/codex-jsonl-parser.js.map +1 -0
- package/dist/restore-packet/omitted-records.d.ts +60 -0
- package/dist/restore-packet/omitted-records.d.ts.map +1 -0
- package/dist/restore-packet/omitted-records.js +116 -0
- package/dist/restore-packet/omitted-records.js.map +1 -0
- package/dist/restore-packet/packet-writer.d.ts +59 -0
- package/dist/restore-packet/packet-writer.d.ts.map +1 -0
- package/dist/restore-packet/packet-writer.js +224 -0
- package/dist/restore-packet/packet-writer.js.map +1 -0
- package/dist/restore-packet/redaction.d.ts +30 -0
- package/dist/restore-packet/redaction.d.ts.map +1 -0
- package/dist/restore-packet/redaction.js +71 -0
- package/dist/restore-packet/redaction.js.map +1 -0
- package/dist/restore-packet/runtime-detect.d.ts +19 -0
- package/dist/restore-packet/runtime-detect.d.ts.map +1 -0
- package/dist/restore-packet/runtime-detect.js +81 -0
- package/dist/restore-packet/runtime-detect.js.map +1 -0
- package/dist/restore-packet/schema-validator.d.ts +13 -0
- package/dist/restore-packet/schema-validator.d.ts.map +1 -0
- package/dist/restore-packet/schema-validator.js +245 -0
- package/dist/restore-packet/schema-validator.js.map +1 -0
- package/dist/restore-packet/types.d.ts +76 -0
- package/dist/restore-packet/types.d.ts.map +1 -0
- package/dist/restore-packet/types.js +15 -0
- package/dist/restore-packet/types.js.map +1 -0
- package/dist/schemas/restore-summary.schema.json +98 -0
- package/package.json +10 -3
- package/scripts/check-abi.mjs +123 -0
- package/ui/dist/assets/index-BDHU1JUK.js +412 -0
- package/ui/dist/assets/index-DXTyJSqu.css +1 -0
- package/ui/dist/graphics/operator-climber-monochrome.png +0 -0
- package/ui/dist/index.html +3 -2
- package/daemon/specs/agents/shared/skills/mental-model-ha/SKILL.md +0 -953
- package/ui/dist/assets/index-B09doO8H.js +0 -139
- package/ui/dist/assets/index-Ccd-jwRN.js +0 -225
- package/ui/dist/assets/index-DlMH-REm.css +0 -1
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Watchdog policy enum extension (PL-004 Phase D).
|
|
3
|
+
*
|
|
4
|
+
* DOCUMENTING NO-OP MIGRATION.
|
|
5
|
+
*
|
|
6
|
+
* Phase C implements the watchdog_jobs.policy enum at the application
|
|
7
|
+
* layer (in WatchdogJobsRepository.register() via the PHASE_C_POLICIES
|
|
8
|
+
* array + WORKFLOW_KEEPALIVE_DEFERRED_POLICY constant). The SQLite
|
|
9
|
+
* column itself is plain TEXT with no CHECK constraint, so extending
|
|
10
|
+
* the enum to include "workflow-keepalive" requires NO schema change.
|
|
11
|
+
*
|
|
12
|
+
* The actual enforcement extension lives in:
|
|
13
|
+
* packages/daemon/src/domain/watchdog-jobs-repository.ts
|
|
14
|
+
* - PHASE_C_POLICIES → renamed to PHASE_D_POLICIES (or extended)
|
|
15
|
+
* to include "workflow-keepalive"
|
|
16
|
+
* - WORKFLOW_KEEPALIVE_DEFERRED_POLICY rejection removed
|
|
17
|
+
*
|
|
18
|
+
* This migration exists for two reasons:
|
|
19
|
+
* 1. Audit trail: documents that Phase D extended the policy enum
|
|
20
|
+
* surface, even though no DDL was needed.
|
|
21
|
+
* 2. Migration sequence integrity: keeps Phase D's migration count
|
|
22
|
+
* visible in the daemon startup log alongside the three new
|
|
23
|
+
* workflow tables (033, 034, 035). Slice IMPL row 17 explicitly
|
|
24
|
+
* requires the extension migration land "cleanly without
|
|
25
|
+
* touching Phase C's existing migration files" — this no-op
|
|
26
|
+
* satisfies that constraint.
|
|
27
|
+
*
|
|
28
|
+
* Per slice IMPL § Write Set:
|
|
29
|
+
* "if the enforcement is application-layer in
|
|
30
|
+
* `watchdog-policy-engine.ts`, the migration is a no-op SQL but
|
|
31
|
+
* documents the policy enum intent."
|
|
32
|
+
*/
|
|
33
|
+
export const watchdogPolicyEnumExtensionSchema = {
|
|
34
|
+
name: "036_watchdog_policy_enum_extension.sql",
|
|
35
|
+
sql: `
|
|
36
|
+
-- No DDL: Phase C policy enum is enforced at the application layer
|
|
37
|
+
-- via PHASE_D_POLICIES in watchdog-jobs-repository.ts. The
|
|
38
|
+
-- watchdog_jobs.policy column remains plain TEXT. This migration
|
|
39
|
+
-- exists as an audit-trail marker for the Phase D enum extension.
|
|
40
|
+
SELECT 1 WHERE 0;
|
|
41
|
+
`,
|
|
42
|
+
};
|
|
43
|
+
//# sourceMappingURL=036_watchdog_policy_enum_extension.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"036_watchdog_policy_enum_extension.js","sourceRoot":"","sources":["../../../src/db/migrations/036_watchdog_policy_enum_extension.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AACH,MAAM,CAAC,MAAM,iCAAiC,GAAc;IAC1D,IAAI,EAAE,wCAAwC;IAC9C,GAAG,EAAE;;;;;;GAMJ;CACF,CAAC"}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
import type { Migration } from "../migrate.js";
|
|
2
|
+
/**
|
|
3
|
+
* Mission Control actions (PL-005 Phase A; daemon-backed action audit).
|
|
4
|
+
*
|
|
5
|
+
* Per PRD § Q5 + slice IMPL § Write Set: SQLite-canonical append-only
|
|
6
|
+
* audit log of every operator action through Mission Control. Records
|
|
7
|
+
* every invocation of the 7 Phase A verbs with before/after snapshots
|
|
8
|
+
* for forensic reconstruction.
|
|
9
|
+
*
|
|
10
|
+
* Append-only contract: writers only INSERT. UPDATE/DELETE are not
|
|
11
|
+
* exposed by MissionControlActionLog API; direct SQL UPDATE/DELETE
|
|
12
|
+
* would succeed at the DB level (SQLite has no view/role layer) but
|
|
13
|
+
* is a contract violation enforced at the domain-layer API boundary.
|
|
14
|
+
*
|
|
15
|
+
* Action verb enum (Phase A v1; 7 values):
|
|
16
|
+
* - approve — operator approved a human-gated item
|
|
17
|
+
* - deny — operator denied a human-gated item
|
|
18
|
+
* - route — operator routed an item to a different destination
|
|
19
|
+
* - annotate — operator added an annotation (annotation field required)
|
|
20
|
+
* - hold — operator held an item with a reason (reason required)
|
|
21
|
+
* - drop — operator dropped an item with a reason (reason required)
|
|
22
|
+
* - handoff — atomic 4-step (source-update + destination-create
|
|
23
|
+
* + opt-in best-effort notify + audit append)
|
|
24
|
+
*
|
|
25
|
+
* Columns:
|
|
26
|
+
* - action_id (ULID PK)
|
|
27
|
+
* - action_verb (TEXT, app-layer enum enforcement)
|
|
28
|
+
* - qitem_id (TEXT, FK to queue_items when applicable; nullable for
|
|
29
|
+
* observations / non-queue actions in future scope)
|
|
30
|
+
* - actor_session (TEXT NOT NULL) — operator session that fired the verb
|
|
31
|
+
* - acted_at (TEXT NOT NULL) — ISO timestamp
|
|
32
|
+
* - before_state_json (TEXT) — snapshot of qitem state pre-action
|
|
33
|
+
* - after_state_json (TEXT) — snapshot of qitem state post-action
|
|
34
|
+
* - reason (TEXT) — required for hold + drop
|
|
35
|
+
* - annotation (TEXT) — required for annotate
|
|
36
|
+
* - notify_attempted (INTEGER 0|1) — for handoff
|
|
37
|
+
* - notify_result (TEXT) — verified | sent-unverified | failed:<reason>
|
|
38
|
+
* - audit_notes_json (TEXT) — operator-supplied evidence map
|
|
39
|
+
*
|
|
40
|
+
* Indexes:
|
|
41
|
+
* - (acted_at DESC, action_verb) — recent-actions and per-verb scans
|
|
42
|
+
* - (qitem_id, acted_at DESC) — per-qitem audit trail
|
|
43
|
+
* - (actor_session, acted_at DESC) — per-operator audit
|
|
44
|
+
*
|
|
45
|
+
* Archive policy hooks: not implemented as automatic v1; the table is
|
|
46
|
+
* append-only and grows unbounded. Future archive can move rows older
|
|
47
|
+
* than N days into a sibling archive table OR export to filesystem.
|
|
48
|
+
* JSONL mirror is deferred unless a concrete durability need surfaces.
|
|
49
|
+
*/
|
|
50
|
+
export declare const missionControlActionsSchema: Migration;
|
|
51
|
+
//# sourceMappingURL=037_mission_control_actions.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"037_mission_control_actions.d.ts","sourceRoot":"","sources":["../../../src/db/migrations/037_mission_control_actions.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAE/C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+CG;AACH,eAAO,MAAM,2BAA2B,EAAE,SAwBzC,CAAC"}
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Mission Control actions (PL-005 Phase A; daemon-backed action audit).
|
|
3
|
+
*
|
|
4
|
+
* Per PRD § Q5 + slice IMPL § Write Set: SQLite-canonical append-only
|
|
5
|
+
* audit log of every operator action through Mission Control. Records
|
|
6
|
+
* every invocation of the 7 Phase A verbs with before/after snapshots
|
|
7
|
+
* for forensic reconstruction.
|
|
8
|
+
*
|
|
9
|
+
* Append-only contract: writers only INSERT. UPDATE/DELETE are not
|
|
10
|
+
* exposed by MissionControlActionLog API; direct SQL UPDATE/DELETE
|
|
11
|
+
* would succeed at the DB level (SQLite has no view/role layer) but
|
|
12
|
+
* is a contract violation enforced at the domain-layer API boundary.
|
|
13
|
+
*
|
|
14
|
+
* Action verb enum (Phase A v1; 7 values):
|
|
15
|
+
* - approve — operator approved a human-gated item
|
|
16
|
+
* - deny — operator denied a human-gated item
|
|
17
|
+
* - route — operator routed an item to a different destination
|
|
18
|
+
* - annotate — operator added an annotation (annotation field required)
|
|
19
|
+
* - hold — operator held an item with a reason (reason required)
|
|
20
|
+
* - drop — operator dropped an item with a reason (reason required)
|
|
21
|
+
* - handoff — atomic 4-step (source-update + destination-create
|
|
22
|
+
* + opt-in best-effort notify + audit append)
|
|
23
|
+
*
|
|
24
|
+
* Columns:
|
|
25
|
+
* - action_id (ULID PK)
|
|
26
|
+
* - action_verb (TEXT, app-layer enum enforcement)
|
|
27
|
+
* - qitem_id (TEXT, FK to queue_items when applicable; nullable for
|
|
28
|
+
* observations / non-queue actions in future scope)
|
|
29
|
+
* - actor_session (TEXT NOT NULL) — operator session that fired the verb
|
|
30
|
+
* - acted_at (TEXT NOT NULL) — ISO timestamp
|
|
31
|
+
* - before_state_json (TEXT) — snapshot of qitem state pre-action
|
|
32
|
+
* - after_state_json (TEXT) — snapshot of qitem state post-action
|
|
33
|
+
* - reason (TEXT) — required for hold + drop
|
|
34
|
+
* - annotation (TEXT) — required for annotate
|
|
35
|
+
* - notify_attempted (INTEGER 0|1) — for handoff
|
|
36
|
+
* - notify_result (TEXT) — verified | sent-unverified | failed:<reason>
|
|
37
|
+
* - audit_notes_json (TEXT) — operator-supplied evidence map
|
|
38
|
+
*
|
|
39
|
+
* Indexes:
|
|
40
|
+
* - (acted_at DESC, action_verb) — recent-actions and per-verb scans
|
|
41
|
+
* - (qitem_id, acted_at DESC) — per-qitem audit trail
|
|
42
|
+
* - (actor_session, acted_at DESC) — per-operator audit
|
|
43
|
+
*
|
|
44
|
+
* Archive policy hooks: not implemented as automatic v1; the table is
|
|
45
|
+
* append-only and grows unbounded. Future archive can move rows older
|
|
46
|
+
* than N days into a sibling archive table OR export to filesystem.
|
|
47
|
+
* JSONL mirror is deferred unless a concrete durability need surfaces.
|
|
48
|
+
*/
|
|
49
|
+
export const missionControlActionsSchema = {
|
|
50
|
+
name: "037_mission_control_actions.sql",
|
|
51
|
+
sql: `
|
|
52
|
+
CREATE TABLE IF NOT EXISTS mission_control_actions (
|
|
53
|
+
action_id TEXT PRIMARY KEY,
|
|
54
|
+
action_verb TEXT NOT NULL,
|
|
55
|
+
qitem_id TEXT REFERENCES queue_items(qitem_id),
|
|
56
|
+
actor_session TEXT NOT NULL,
|
|
57
|
+
acted_at TEXT NOT NULL,
|
|
58
|
+
before_state_json TEXT,
|
|
59
|
+
after_state_json TEXT,
|
|
60
|
+
reason TEXT,
|
|
61
|
+
annotation TEXT,
|
|
62
|
+
notify_attempted INTEGER NOT NULL DEFAULT 0,
|
|
63
|
+
notify_result TEXT,
|
|
64
|
+
audit_notes_json TEXT
|
|
65
|
+
);
|
|
66
|
+
CREATE INDEX IF NOT EXISTS idx_mc_actions_recent
|
|
67
|
+
ON mission_control_actions(acted_at DESC, action_verb);
|
|
68
|
+
CREATE INDEX IF NOT EXISTS idx_mc_actions_qitem
|
|
69
|
+
ON mission_control_actions(qitem_id, acted_at DESC);
|
|
70
|
+
CREATE INDEX IF NOT EXISTS idx_mc_actions_actor
|
|
71
|
+
ON mission_control_actions(actor_session, acted_at DESC);
|
|
72
|
+
`,
|
|
73
|
+
};
|
|
74
|
+
//# sourceMappingURL=037_mission_control_actions.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"037_mission_control_actions.js","sourceRoot":"","sources":["../../../src/db/migrations/037_mission_control_actions.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+CG;AACH,MAAM,CAAC,MAAM,2BAA2B,GAAc;IACpD,IAAI,EAAE,iCAAiC;IACvC,GAAG,EAAE;;;;;;;;;;;;;;;;;;;;;GAqBJ;CACF,CAAC"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import type { Migration } from "../migrate.js";
|
|
2
|
+
/**
|
|
3
|
+
* PL-007 Workspace Primitive v0 — rigs.workspace_json column.
|
|
4
|
+
*
|
|
5
|
+
* Adds `workspace_json TEXT` to the rigs table. Holds the typed
|
|
6
|
+
* RigSpec.workspace block as JSON when a rig declares one. Populated by
|
|
7
|
+
* RigRepository.setRigWorkspace at instantiate time. Whoami /
|
|
8
|
+
* node-inventory read this column to surface workspace fields alongside
|
|
9
|
+
* cwd. NULL for rigs without a workspace block.
|
|
10
|
+
*
|
|
11
|
+
* The companion queue_items.target_repo column ships in migration 039
|
|
12
|
+
* so test fixtures that exercise rigs without queue_items (and vice
|
|
13
|
+
* versa) can apply only the half they need.
|
|
14
|
+
*/
|
|
15
|
+
export declare const workspacePrimitiveSchema: Migration;
|
|
16
|
+
//# sourceMappingURL=038_workspace_primitive.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"038_workspace_primitive.d.ts","sourceRoot":"","sources":["../../../src/db/migrations/038_workspace_primitive.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAE/C;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,wBAAwB,EAAE,SAKtC,CAAC"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* PL-007 Workspace Primitive v0 — rigs.workspace_json column.
|
|
3
|
+
*
|
|
4
|
+
* Adds `workspace_json TEXT` to the rigs table. Holds the typed
|
|
5
|
+
* RigSpec.workspace block as JSON when a rig declares one. Populated by
|
|
6
|
+
* RigRepository.setRigWorkspace at instantiate time. Whoami /
|
|
7
|
+
* node-inventory read this column to surface workspace fields alongside
|
|
8
|
+
* cwd. NULL for rigs without a workspace block.
|
|
9
|
+
*
|
|
10
|
+
* The companion queue_items.target_repo column ships in migration 039
|
|
11
|
+
* so test fixtures that exercise rigs without queue_items (and vice
|
|
12
|
+
* versa) can apply only the half they need.
|
|
13
|
+
*/
|
|
14
|
+
export const workspacePrimitiveSchema = {
|
|
15
|
+
name: "038_workspace_primitive.sql",
|
|
16
|
+
sql: `
|
|
17
|
+
ALTER TABLE rigs ADD COLUMN workspace_json TEXT;
|
|
18
|
+
`,
|
|
19
|
+
};
|
|
20
|
+
//# sourceMappingURL=038_workspace_primitive.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"038_workspace_primitive.js","sourceRoot":"","sources":["../../../src/db/migrations/038_workspace_primitive.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;;GAYG;AACH,MAAM,CAAC,MAAM,wBAAwB,GAAc;IACjD,IAAI,EAAE,6BAA6B;IACnC,GAAG,EAAE;;GAEJ;CACF,CAAC"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import type { Migration } from "../migrate.js";
|
|
2
|
+
/**
|
|
3
|
+
* PL-007 Workspace Primitive v0 — queue_items.target_repo column.
|
|
4
|
+
*
|
|
5
|
+
* Adds `target_repo TEXT` to the queue_items table. Carries the
|
|
6
|
+
* per-item typed repo scope when an operator passes
|
|
7
|
+
* `rigx queue create --target-repo <name>` etc. Validated at the
|
|
8
|
+
* route layer against the source rig's RigSpec.workspace.repos[].
|
|
9
|
+
* NULL when the qitem is unambiguous against the rig's default_repo
|
|
10
|
+
* or when no workspace is declared. Mission Control views surface
|
|
11
|
+
* the field for cross-rig handoff clarity.
|
|
12
|
+
*
|
|
13
|
+
* Companion to migration 038 which adds rigs.workspace_json.
|
|
14
|
+
*/
|
|
15
|
+
export declare const queueTargetRepoSchema: Migration;
|
|
16
|
+
//# sourceMappingURL=039_queue_target_repo.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"039_queue_target_repo.d.ts","sourceRoot":"","sources":["../../../src/db/migrations/039_queue_target_repo.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAE/C;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,qBAAqB,EAAE,SAMnC,CAAC"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* PL-007 Workspace Primitive v0 — queue_items.target_repo column.
|
|
3
|
+
*
|
|
4
|
+
* Adds `target_repo TEXT` to the queue_items table. Carries the
|
|
5
|
+
* per-item typed repo scope when an operator passes
|
|
6
|
+
* `rigx queue create --target-repo <name>` etc. Validated at the
|
|
7
|
+
* route layer against the source rig's RigSpec.workspace.repos[].
|
|
8
|
+
* NULL when the qitem is unambiguous against the rig's default_repo
|
|
9
|
+
* or when no workspace is declared. Mission Control views surface
|
|
10
|
+
* the field for cross-rig handoff clarity.
|
|
11
|
+
*
|
|
12
|
+
* Companion to migration 038 which adds rigs.workspace_json.
|
|
13
|
+
*/
|
|
14
|
+
export const queueTargetRepoSchema = {
|
|
15
|
+
name: "039_queue_target_repo.sql",
|
|
16
|
+
sql: `
|
|
17
|
+
ALTER TABLE queue_items ADD COLUMN target_repo TEXT;
|
|
18
|
+
CREATE INDEX IF NOT EXISTS idx_queue_items_target_repo ON queue_items(target_repo);
|
|
19
|
+
`,
|
|
20
|
+
};
|
|
21
|
+
//# sourceMappingURL=039_queue_target_repo.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"039_queue_target_repo.js","sourceRoot":"","sources":["../../../src/db/migrations/039_queue_target_repo.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;;GAYG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAc;IAC9C,IAAI,EAAE,2BAA2B;IACjC,GAAG,EAAE;;;GAGJ;CACF,CAAC"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
export interface ActiveLens {
|
|
2
|
+
specName: string;
|
|
3
|
+
specVersion: string;
|
|
4
|
+
/** ISO timestamp of the most recent activation; useful for
|
|
5
|
+
* diagnostics + UI staleness display. */
|
|
6
|
+
activatedAt: string;
|
|
7
|
+
}
|
|
8
|
+
export interface ActiveLensStoreOpts {
|
|
9
|
+
/** Absolute file path. Should fall under the daemon's OPENRIG_HOME so
|
|
10
|
+
* the lens stays isolated per host. */
|
|
11
|
+
filePath: string;
|
|
12
|
+
/** Test seam — defaults to () => new Date(). */
|
|
13
|
+
now?: () => Date;
|
|
14
|
+
}
|
|
15
|
+
export declare class ActiveLensStore {
|
|
16
|
+
private readonly filePath;
|
|
17
|
+
private readonly now;
|
|
18
|
+
constructor(opts: ActiveLensStoreOpts);
|
|
19
|
+
get(): ActiveLens | null;
|
|
20
|
+
set(specName: string, specVersion: string): ActiveLens;
|
|
21
|
+
clear(): void;
|
|
22
|
+
}
|
|
23
|
+
//# sourceMappingURL=active-lens-store.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"active-lens-store.d.ts","sourceRoot":"","sources":["../../src/domain/active-lens-store.ts"],"names":[],"mappings":"AAuBA,MAAM,WAAW,UAAU;IACzB,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB;8CAC0C;IAC1C,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,mBAAmB;IAClC;4CACwC;IACxC,QAAQ,EAAE,MAAM,CAAC;IACjB,gDAAgD;IAChD,GAAG,CAAC,EAAE,MAAM,IAAI,CAAC;CAClB;AAED,qBAAa,eAAe;IAC1B,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAS;IAClC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAa;gBAErB,IAAI,EAAE,mBAAmB;IAKrC,GAAG,IAAI,UAAU,GAAG,IAAI;IAqBxB,GAAG,CAAC,QAAQ,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,UAAU;IAuBtD,KAAK,IAAI,IAAI;CAOd"}
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
// Workflows in Spec Library + Activation Lens v0 — active lens persistence.
|
|
2
|
+
//
|
|
3
|
+
// PRD § Item 4: lens selection persists daemon-side across daemon
|
|
4
|
+
// restarts + browser refresh. The PRD bounce conditions explicitly
|
|
5
|
+
// reject ephemeral state.
|
|
6
|
+
//
|
|
7
|
+
// Implementation: a small JSON file under OPENRIG_HOME/active-workflow
|
|
8
|
+
// -lens.json. Same env-var-aware persistence pattern as UI Enhancement
|
|
9
|
+
// Pack v0's file-edit-audit JSONL — no new SQLite table, no new
|
|
10
|
+
// migration. The file is rewritten atomically on every set so concurrent
|
|
11
|
+
// daemons (rare at single-host MVP) don't tear the read.
|
|
12
|
+
//
|
|
13
|
+
// Single-active-lens invariant: setting a lens replaces any prior
|
|
14
|
+
// lens; clearing removes the file entirely. The store does NOT
|
|
15
|
+
// validate that the named workflow_spec actually exists in the
|
|
16
|
+
// workflow_specs cache — that's an upstream concern at the route
|
|
17
|
+
// layer, since the spec might be uncached temporarily during a
|
|
18
|
+
// workspace-surface reconciliation cycle and re-appear before the
|
|
19
|
+
// next read.
|
|
20
|
+
import * as fs from "node:fs";
|
|
21
|
+
import * as path from "node:path";
|
|
22
|
+
export class ActiveLensStore {
|
|
23
|
+
filePath;
|
|
24
|
+
now;
|
|
25
|
+
constructor(opts) {
|
|
26
|
+
this.filePath = opts.filePath;
|
|
27
|
+
this.now = opts.now ?? (() => new Date());
|
|
28
|
+
}
|
|
29
|
+
get() {
|
|
30
|
+
let raw;
|
|
31
|
+
try {
|
|
32
|
+
raw = fs.readFileSync(this.filePath, "utf-8");
|
|
33
|
+
}
|
|
34
|
+
catch {
|
|
35
|
+
return null;
|
|
36
|
+
}
|
|
37
|
+
try {
|
|
38
|
+
const parsed = JSON.parse(raw);
|
|
39
|
+
if (typeof parsed.specName !== "string" || typeof parsed.specVersion !== "string")
|
|
40
|
+
return null;
|
|
41
|
+
return {
|
|
42
|
+
specName: parsed.specName,
|
|
43
|
+
specVersion: parsed.specVersion,
|
|
44
|
+
activatedAt: typeof parsed.activatedAt === "string" ? parsed.activatedAt : this.now().toISOString(),
|
|
45
|
+
};
|
|
46
|
+
}
|
|
47
|
+
catch {
|
|
48
|
+
// Malformed file → treat as no lens. Operator can `rm` to recover.
|
|
49
|
+
return null;
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
set(specName, specVersion) {
|
|
53
|
+
const lens = {
|
|
54
|
+
specName,
|
|
55
|
+
specVersion,
|
|
56
|
+
activatedAt: this.now().toISOString(),
|
|
57
|
+
};
|
|
58
|
+
const dir = path.dirname(this.filePath);
|
|
59
|
+
fs.mkdirSync(dir, { recursive: true });
|
|
60
|
+
// Atomic-ish: write to temp + rename. v0 doesn't fsync (the lens
|
|
61
|
+
// is operator UX state, not an audit-record-keeping invariant —
|
|
62
|
+
// losing it across a hard crash is acceptable; the operator
|
|
63
|
+
// re-clicks Activate).
|
|
64
|
+
const tmp = `${this.filePath}.tmp-${process.pid}-${Math.random().toString(36).slice(2, 8)}`;
|
|
65
|
+
try {
|
|
66
|
+
fs.writeFileSync(tmp, JSON.stringify(lens));
|
|
67
|
+
fs.renameSync(tmp, this.filePath);
|
|
68
|
+
}
|
|
69
|
+
catch (err) {
|
|
70
|
+
try {
|
|
71
|
+
fs.unlinkSync(tmp);
|
|
72
|
+
}
|
|
73
|
+
catch { /* best-effort */ }
|
|
74
|
+
throw err;
|
|
75
|
+
}
|
|
76
|
+
return lens;
|
|
77
|
+
}
|
|
78
|
+
clear() {
|
|
79
|
+
try {
|
|
80
|
+
fs.unlinkSync(this.filePath);
|
|
81
|
+
}
|
|
82
|
+
catch {
|
|
83
|
+
// Already absent — no-op.
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
//# sourceMappingURL=active-lens-store.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"active-lens-store.js","sourceRoot":"","sources":["../../src/domain/active-lens-store.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import type Database from "better-sqlite3";
|
|
2
|
+
import type { EventBus } from "./event-bus.js";
|
|
3
|
+
import type { AgentActivity, PersistedEvent } from "./types.js";
|
|
4
|
+
export interface HookActivityInput {
|
|
5
|
+
runtime: string | null;
|
|
6
|
+
sessionName?: string | null;
|
|
7
|
+
nodeId?: string | null;
|
|
8
|
+
hookEvent: string;
|
|
9
|
+
subtype?: string | null;
|
|
10
|
+
occurredAt?: string | null;
|
|
11
|
+
}
|
|
12
|
+
export type RecordHookActivityResult = {
|
|
13
|
+
ok: true;
|
|
14
|
+
activity: AgentActivity;
|
|
15
|
+
event: PersistedEvent;
|
|
16
|
+
} | {
|
|
17
|
+
ok: false;
|
|
18
|
+
code: "missing_session_identity" | "session_not_found";
|
|
19
|
+
error: string;
|
|
20
|
+
};
|
|
21
|
+
interface AgentActivityStoreDeps {
|
|
22
|
+
db: Database.Database;
|
|
23
|
+
eventBus: EventBus;
|
|
24
|
+
now?: () => Date;
|
|
25
|
+
freshnessMs?: number;
|
|
26
|
+
}
|
|
27
|
+
export declare class AgentActivityStore {
|
|
28
|
+
readonly db: Database.Database;
|
|
29
|
+
private readonly eventBus;
|
|
30
|
+
private readonly now;
|
|
31
|
+
private readonly freshnessMs;
|
|
32
|
+
constructor(deps: AgentActivityStoreDeps);
|
|
33
|
+
recordHookEvent(input: HookActivityInput): RecordHookActivityResult;
|
|
34
|
+
getLatestForNode(input: {
|
|
35
|
+
nodeId?: string | null;
|
|
36
|
+
sessionName?: string | null;
|
|
37
|
+
now?: Date;
|
|
38
|
+
}): AgentActivity | null;
|
|
39
|
+
private resolveSession;
|
|
40
|
+
}
|
|
41
|
+
export {};
|
|
42
|
+
//# sourceMappingURL=agent-activity-store.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"agent-activity-store.d.ts","sourceRoot":"","sources":["../../src/domain/agent-activity-store.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,QAAQ,MAAM,gBAAgB,CAAC;AAC3C,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC/C,OAAO,KAAK,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAIhE,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC5B;AAED,MAAM,MAAM,wBAAwB,GAChC;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,QAAQ,EAAE,aAAa,CAAC;IAAC,KAAK,EAAE,cAAc,CAAA;CAAE,GAC5D;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,IAAI,EAAE,0BAA0B,GAAG,mBAAmB,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC;AAEzF,UAAU,sBAAsB;IAC9B,EAAE,EAAE,QAAQ,CAAC,QAAQ,CAAC;IACtB,QAAQ,EAAE,QAAQ,CAAC;IACnB,GAAG,CAAC,EAAE,MAAM,IAAI,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAaD,qBAAa,kBAAkB;IAC7B,QAAQ,CAAC,EAAE,EAAE,QAAQ,CAAC,QAAQ,CAAC;IAC/B,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAW;IACpC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAa;IACjC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAS;gBAEzB,IAAI,EAAE,sBAAsB;IAOxC,eAAe,CAAC,KAAK,EAAE,iBAAiB,GAAG,wBAAwB;IAwCnE,gBAAgB,CAAC,KAAK,EAAE;QACtB,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QACvB,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QAC5B,GAAG,CAAC,EAAE,IAAI,CAAC;KACZ,GAAG,aAAa,GAAG,IAAI;IAqCxB,OAAO,CAAC,cAAc;CAwBvB"}
|
|
@@ -0,0 +1,177 @@
|
|
|
1
|
+
const DEFAULT_FRESHNESS_MS = 5 * 60 * 1000;
|
|
2
|
+
export class AgentActivityStore {
|
|
3
|
+
db;
|
|
4
|
+
eventBus;
|
|
5
|
+
now;
|
|
6
|
+
freshnessMs;
|
|
7
|
+
constructor(deps) {
|
|
8
|
+
this.db = deps.db;
|
|
9
|
+
this.eventBus = deps.eventBus;
|
|
10
|
+
this.now = deps.now ?? (() => new Date());
|
|
11
|
+
this.freshnessMs = deps.freshnessMs ?? DEFAULT_FRESHNESS_MS;
|
|
12
|
+
}
|
|
13
|
+
recordHookEvent(input) {
|
|
14
|
+
if (!input.sessionName && !input.nodeId) {
|
|
15
|
+
return {
|
|
16
|
+
ok: false,
|
|
17
|
+
code: "missing_session_identity",
|
|
18
|
+
error: "Hook activity requires a managed sessionName or nodeId",
|
|
19
|
+
};
|
|
20
|
+
}
|
|
21
|
+
const session = this.resolveSession(input);
|
|
22
|
+
if (!session) {
|
|
23
|
+
return {
|
|
24
|
+
ok: false,
|
|
25
|
+
code: "session_not_found",
|
|
26
|
+
error: "Hook activity did not match a managed session. List seats with: rig ps --nodes",
|
|
27
|
+
};
|
|
28
|
+
}
|
|
29
|
+
const sampledAt = this.now().toISOString();
|
|
30
|
+
const eventAt = parseTimestamp(input.occurredAt) ?? sampledAt;
|
|
31
|
+
const activity = normalizeHookActivity({
|
|
32
|
+
runtime: input.runtime ?? session.runtime,
|
|
33
|
+
hookEvent: input.hookEvent,
|
|
34
|
+
subtype: input.subtype ?? null,
|
|
35
|
+
sampledAt,
|
|
36
|
+
eventAt,
|
|
37
|
+
});
|
|
38
|
+
const event = this.eventBus.emit({
|
|
39
|
+
type: "agent.activity",
|
|
40
|
+
rigId: session.rig_id,
|
|
41
|
+
nodeId: session.node_id,
|
|
42
|
+
sessionName: session.session_name,
|
|
43
|
+
runtime: activity.runtime ?? session.runtime,
|
|
44
|
+
activity,
|
|
45
|
+
});
|
|
46
|
+
return { ok: true, activity, event };
|
|
47
|
+
}
|
|
48
|
+
getLatestForNode(input) {
|
|
49
|
+
const nodeId = input.nodeId ?? (input.sessionName ? this.resolveSession({ sessionName: input.sessionName })?.node_id : null);
|
|
50
|
+
if (!nodeId)
|
|
51
|
+
return null;
|
|
52
|
+
const row = this.db.prepare("SELECT payload FROM events WHERE node_id = ? AND type = 'agent.activity' ORDER BY seq DESC LIMIT 1").get(nodeId);
|
|
53
|
+
if (!row)
|
|
54
|
+
return null;
|
|
55
|
+
const payload = parseActivityPayload(row.payload);
|
|
56
|
+
if (!payload?.activity)
|
|
57
|
+
return null;
|
|
58
|
+
const activity = payload.activity;
|
|
59
|
+
if (input.sessionName && payload.sessionName !== input.sessionName)
|
|
60
|
+
return null;
|
|
61
|
+
const referenceTime = input.now ?? this.now();
|
|
62
|
+
const eventTime = activity.eventAt ? Date.parse(activity.eventAt) : NaN;
|
|
63
|
+
if (Number.isFinite(eventTime) && referenceTime.getTime() - eventTime > this.freshnessMs) {
|
|
64
|
+
return {
|
|
65
|
+
...activity,
|
|
66
|
+
state: "unknown",
|
|
67
|
+
reason: "stale_runtime_hook",
|
|
68
|
+
evidenceSource: "runtime_hook",
|
|
69
|
+
sampledAt: referenceTime.toISOString(),
|
|
70
|
+
fallback: false,
|
|
71
|
+
stale: true,
|
|
72
|
+
};
|
|
73
|
+
}
|
|
74
|
+
return {
|
|
75
|
+
...activity,
|
|
76
|
+
sampledAt: referenceTime.toISOString(),
|
|
77
|
+
fallback: false,
|
|
78
|
+
stale: false,
|
|
79
|
+
};
|
|
80
|
+
}
|
|
81
|
+
resolveSession(input) {
|
|
82
|
+
if (input.nodeId) {
|
|
83
|
+
const row = this.db.prepare(`
|
|
84
|
+
SELECT n.rig_id, n.id AS node_id, s.session_name, n.runtime
|
|
85
|
+
FROM nodes n
|
|
86
|
+
LEFT JOIN sessions s ON s.node_id = n.id
|
|
87
|
+
AND s.id = (SELECT s2.id FROM sessions s2 WHERE s2.node_id = n.id ORDER BY s2.id DESC LIMIT 1)
|
|
88
|
+
WHERE n.id = ?
|
|
89
|
+
LIMIT 1
|
|
90
|
+
`).get(input.nodeId);
|
|
91
|
+
if (row?.session_name)
|
|
92
|
+
return row;
|
|
93
|
+
}
|
|
94
|
+
if (!input.sessionName)
|
|
95
|
+
return null;
|
|
96
|
+
const row = this.db.prepare(`
|
|
97
|
+
SELECT n.rig_id, n.id AS node_id, s.session_name, n.runtime
|
|
98
|
+
FROM sessions s
|
|
99
|
+
JOIN nodes n ON n.id = s.node_id
|
|
100
|
+
WHERE s.session_name = ?
|
|
101
|
+
ORDER BY s.id DESC
|
|
102
|
+
LIMIT 1
|
|
103
|
+
`).get(input.sessionName);
|
|
104
|
+
return row ?? null;
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
function normalizeHookActivity(input) {
|
|
108
|
+
const rawEvent = input.hookEvent;
|
|
109
|
+
const rawSubtype = input.subtype;
|
|
110
|
+
const reason = normalizeReason(rawSubtype ?? rawEvent);
|
|
111
|
+
const runtime = input.runtime;
|
|
112
|
+
let state = "unknown";
|
|
113
|
+
let normalizedReason = reason;
|
|
114
|
+
if (rawEvent === "UserPromptSubmit" || rawEvent === "PreToolUse" || rawEvent === "active") {
|
|
115
|
+
state = "running";
|
|
116
|
+
}
|
|
117
|
+
else if (rawEvent === "Notification") {
|
|
118
|
+
if (rawSubtype === "permission_prompt" || rawSubtype === "elicitation_dialog") {
|
|
119
|
+
state = "needs_input";
|
|
120
|
+
}
|
|
121
|
+
else if (rawSubtype === "idle_prompt") {
|
|
122
|
+
state = "idle";
|
|
123
|
+
}
|
|
124
|
+
else {
|
|
125
|
+
state = "unknown";
|
|
126
|
+
normalizedReason = rawSubtype ? reason : "notification";
|
|
127
|
+
}
|
|
128
|
+
}
|
|
129
|
+
else if (rawEvent === "Stop" || rawEvent === "SessionEnd" || rawEvent === "stop" || rawEvent === "idle") {
|
|
130
|
+
state = "idle";
|
|
131
|
+
}
|
|
132
|
+
else if (rawEvent === "SessionStart") {
|
|
133
|
+
state = "unknown";
|
|
134
|
+
normalizedReason = "session_start_observed";
|
|
135
|
+
}
|
|
136
|
+
else {
|
|
137
|
+
state = "unknown";
|
|
138
|
+
normalizedReason = "unmapped_runtime_hook";
|
|
139
|
+
}
|
|
140
|
+
return {
|
|
141
|
+
state,
|
|
142
|
+
reason: normalizedReason,
|
|
143
|
+
evidenceSource: "runtime_hook",
|
|
144
|
+
sampledAt: input.sampledAt,
|
|
145
|
+
evidence: rawSubtype ?? rawEvent,
|
|
146
|
+
eventAt: input.eventAt,
|
|
147
|
+
rawEvent,
|
|
148
|
+
rawSubtype,
|
|
149
|
+
runtime,
|
|
150
|
+
fallback: false,
|
|
151
|
+
stale: false,
|
|
152
|
+
};
|
|
153
|
+
}
|
|
154
|
+
function normalizeReason(value) {
|
|
155
|
+
return value
|
|
156
|
+
.replace(/([a-z0-9])([A-Z])/g, "$1_$2")
|
|
157
|
+
.replace(/[^a-zA-Z0-9]+/g, "_")
|
|
158
|
+
.replace(/^_+|_+$/g, "")
|
|
159
|
+
.toLowerCase();
|
|
160
|
+
}
|
|
161
|
+
function parseTimestamp(value) {
|
|
162
|
+
if (!value)
|
|
163
|
+
return null;
|
|
164
|
+
const ms = Date.parse(value);
|
|
165
|
+
if (!Number.isFinite(ms))
|
|
166
|
+
return null;
|
|
167
|
+
return new Date(ms).toISOString();
|
|
168
|
+
}
|
|
169
|
+
function parseActivityPayload(payload) {
|
|
170
|
+
try {
|
|
171
|
+
return JSON.parse(payload);
|
|
172
|
+
}
|
|
173
|
+
catch {
|
|
174
|
+
return null;
|
|
175
|
+
}
|
|
176
|
+
}
|
|
177
|
+
//# sourceMappingURL=agent-activity-store.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"agent-activity-store.js","sourceRoot":"","sources":["../../src/domain/agent-activity-store.ts"],"names":[],"mappings":"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"}
|