@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,159 @@
|
|
|
1
|
+
// codex-jsonl-parser.ts — parses Codex JSONL into a StructuredTranscript.
|
|
2
|
+
//
|
|
3
|
+
// Translates the Velocity prior art parser at
|
|
4
|
+
// field-notes/2026-04-27-velocity-claude-from-codex-restore/tools/
|
|
5
|
+
// codex-jsonl-to-restore-packet.mjs:81-160 from JS to TypeScript.
|
|
6
|
+
// Velocity .mjs is FROZEN reference; this module borrows the structural
|
|
7
|
+
// shape only.
|
|
8
|
+
//
|
|
9
|
+
// Codex JSONL semantics (from Velocity prior art):
|
|
10
|
+
// - record.type === "session_meta" → session metadata (cwd, etc.)
|
|
11
|
+
// - record.type === "compacted" → compaction marker (counter only)
|
|
12
|
+
// - record.type === "response_item" + payload.type:
|
|
13
|
+
// - "function_call" → omitted (function_call_output class); extract paths from args
|
|
14
|
+
// - "custom_tool_call" → omitted (raw_tool_outputs class); extract paths from input
|
|
15
|
+
// - "reasoning" → omitted (reasoning_records class)
|
|
16
|
+
// - "message" → kept (after redaction); extract paths from content
|
|
17
|
+
//
|
|
18
|
+
// Output is a StructuredTranscript (per types.ts) consumed by the
|
|
19
|
+
// packet-writer (M2c).
|
|
20
|
+
import { redact, hasSecretPattern } from "./redaction.js";
|
|
21
|
+
import { classifyCodexRecord, OmittedCounter } from "./omitted-records.js";
|
|
22
|
+
const PATH_PATTERNS = [
|
|
23
|
+
/\/(?:Users|home)\/[^/\s]+\/[A-Za-z0-9._~:/@%+=,\- ]+/g,
|
|
24
|
+
/\b(?:packages|docs|scripts|test|tests|src|openrig-work|rigs|control-plane)\/[A-Za-z0-9._~:/@%+=,\-]+/g,
|
|
25
|
+
];
|
|
26
|
+
function textFromContent(content) {
|
|
27
|
+
if (typeof content === "string")
|
|
28
|
+
return content;
|
|
29
|
+
if (!Array.isArray(content))
|
|
30
|
+
return "";
|
|
31
|
+
return content
|
|
32
|
+
.map((part) => {
|
|
33
|
+
if (typeof part === "string")
|
|
34
|
+
return part;
|
|
35
|
+
if (!part || typeof part !== "object")
|
|
36
|
+
return "";
|
|
37
|
+
const obj = part;
|
|
38
|
+
const val = obj.text ?? obj.content ?? obj.output ?? obj.input ?? "";
|
|
39
|
+
return typeof val === "string" ? val : "";
|
|
40
|
+
})
|
|
41
|
+
.filter((s) => s.length > 0)
|
|
42
|
+
.join("\n");
|
|
43
|
+
}
|
|
44
|
+
function extractPaths(text, counts) {
|
|
45
|
+
for (const pattern of PATH_PATTERNS) {
|
|
46
|
+
for (const match of text.matchAll(pattern)) {
|
|
47
|
+
const cleaned = match[0].replace(/[),.;\]"'`]+$/g, "");
|
|
48
|
+
if (cleaned.length < 6)
|
|
49
|
+
continue;
|
|
50
|
+
counts.set(cleaned, (counts.get(cleaned) ?? 0) + 1);
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
function firstLine(text) {
|
|
55
|
+
const line = text.split(/\r?\n/).find((l) => l.trim());
|
|
56
|
+
if (!line)
|
|
57
|
+
return "";
|
|
58
|
+
return line.trim().slice(0, 180);
|
|
59
|
+
}
|
|
60
|
+
/**
|
|
61
|
+
* Parse a Codex JSONL string (the full file content as a single string)
|
|
62
|
+
* into a StructuredTranscript. Pure function; no I/O.
|
|
63
|
+
*
|
|
64
|
+
* Malformed lines are skipped silently (matches Velocity prior art
|
|
65
|
+
* `:100-102`); the lineCount counts every non-empty input line, so the
|
|
66
|
+
* count of skipped lines is `lineCount - <kept-or-typed records>`.
|
|
67
|
+
*/
|
|
68
|
+
export function parseCodexJsonl(content) {
|
|
69
|
+
const messages = [];
|
|
70
|
+
const pathCounts = new Map();
|
|
71
|
+
const typeCounts = {};
|
|
72
|
+
const omittedCounter = new OmittedCounter();
|
|
73
|
+
let sessionMeta = null;
|
|
74
|
+
let lineCount = 0;
|
|
75
|
+
let messageCount = 0;
|
|
76
|
+
let compactedCount = 0;
|
|
77
|
+
for (const rawLine of content.split("\n")) {
|
|
78
|
+
if (!rawLine.trim())
|
|
79
|
+
continue;
|
|
80
|
+
lineCount++;
|
|
81
|
+
let record;
|
|
82
|
+
try {
|
|
83
|
+
record = JSON.parse(rawLine);
|
|
84
|
+
}
|
|
85
|
+
catch {
|
|
86
|
+
continue;
|
|
87
|
+
}
|
|
88
|
+
const recordType = typeof record.type === "string" ? record.type : "";
|
|
89
|
+
typeCounts[recordType] = (typeCounts[recordType] ?? 0) + 1;
|
|
90
|
+
if (recordType === "session_meta") {
|
|
91
|
+
const payload = (record.payload ?? null);
|
|
92
|
+
sessionMeta = {
|
|
93
|
+
cwd: typeof payload?.cwd === "string" ? payload.cwd : null,
|
|
94
|
+
sessionId: typeof payload?.id === "string" ? payload.id : null,
|
|
95
|
+
raw: payload ?? undefined,
|
|
96
|
+
};
|
|
97
|
+
continue;
|
|
98
|
+
}
|
|
99
|
+
if (recordType === "compacted") {
|
|
100
|
+
compactedCount++;
|
|
101
|
+
continue;
|
|
102
|
+
}
|
|
103
|
+
if (recordType !== "response_item")
|
|
104
|
+
continue;
|
|
105
|
+
const classification = classifyCodexRecord(record);
|
|
106
|
+
if (classification.kind === "omitted") {
|
|
107
|
+
omittedCounter.recordOmission(classification.reason);
|
|
108
|
+
// Still extract paths from tool calls (matches Velocity behavior at
|
|
109
|
+
// :119-129 where args/input are walked for paths even though the
|
|
110
|
+
// record itself is omitted from messages).
|
|
111
|
+
const payload = record.payload;
|
|
112
|
+
if (payload?.type === "function_call") {
|
|
113
|
+
const args = typeof payload.arguments === "string" ? payload.arguments : JSON.stringify(payload.arguments ?? {});
|
|
114
|
+
extractPaths(args, pathCounts);
|
|
115
|
+
}
|
|
116
|
+
else if (payload?.type === "custom_tool_call") {
|
|
117
|
+
const input = typeof payload.input === "string" ? payload.input : JSON.stringify(payload.input ?? {});
|
|
118
|
+
extractPaths(input, pathCounts);
|
|
119
|
+
}
|
|
120
|
+
continue;
|
|
121
|
+
}
|
|
122
|
+
// Kept message.
|
|
123
|
+
const role = record.payload?.role;
|
|
124
|
+
const roleStr = typeof role === "string" ? role : "unknown";
|
|
125
|
+
if (roleStr !== "developer" && roleStr !== "user" && roleStr !== "assistant") {
|
|
126
|
+
continue;
|
|
127
|
+
}
|
|
128
|
+
const rawText = textFromContent(record.payload?.content);
|
|
129
|
+
if (hasSecretPattern(rawText)) {
|
|
130
|
+
omittedCounter.recordRedaction();
|
|
131
|
+
}
|
|
132
|
+
const text = redact(rawText).trim();
|
|
133
|
+
if (!text)
|
|
134
|
+
continue;
|
|
135
|
+
messageCount++;
|
|
136
|
+
extractPaths(text, pathCounts);
|
|
137
|
+
messages.push({
|
|
138
|
+
timestamp: typeof record.timestamp === "string" ? record.timestamp : null,
|
|
139
|
+
role: roleStr,
|
|
140
|
+
text,
|
|
141
|
+
preview: firstLine(text),
|
|
142
|
+
});
|
|
143
|
+
}
|
|
144
|
+
const paths = [...pathCounts.entries()]
|
|
145
|
+
.sort((a, b) => b[1] - a[1] || a[0].localeCompare(b[0]))
|
|
146
|
+
.slice(0, 200)
|
|
147
|
+
.map(([path, count]) => ({ path, count }));
|
|
148
|
+
return {
|
|
149
|
+
sessionMeta,
|
|
150
|
+
lineCount,
|
|
151
|
+
messageCount,
|
|
152
|
+
compactedCount,
|
|
153
|
+
typeCounts,
|
|
154
|
+
omittedCounts: omittedCounter.counts,
|
|
155
|
+
messages,
|
|
156
|
+
paths,
|
|
157
|
+
};
|
|
158
|
+
}
|
|
159
|
+
//# sourceMappingURL=codex-jsonl-parser.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"codex-jsonl-parser.js","sourceRoot":"","sources":["../../src/restore-packet/codex-jsonl-parser.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
import { type OmittedCounts, type OmittedRecordClass } from "./types.js";
|
|
2
|
+
import { hasSecretPattern } from "./redaction.js";
|
|
3
|
+
/** Source-runtime-agnostic record classifier output. */
|
|
4
|
+
export type ClassifyResult = {
|
|
5
|
+
kind: "kept";
|
|
6
|
+
} | {
|
|
7
|
+
kind: "omitted";
|
|
8
|
+
reason: OmittedRecordClass;
|
|
9
|
+
};
|
|
10
|
+
/**
|
|
11
|
+
* Classify a Codex JSONL record (the parsed JSON object) into kept /
|
|
12
|
+
* omitted. Caller is responsible for passing only `response_item`-class
|
|
13
|
+
* records; session_meta and compacted are handled separately by the
|
|
14
|
+
* Codex parser.
|
|
15
|
+
*
|
|
16
|
+
* Codex semantics (per Velocity prior art):
|
|
17
|
+
* - response_item with payload.type === "function_call" → function_call_output
|
|
18
|
+
* - response_item with payload.type === "custom_tool_call" → raw_tool_outputs
|
|
19
|
+
* - response_item with payload.type === "reasoning" → reasoning_records
|
|
20
|
+
* - response_item with payload.type === "message" + role in {developer,user,assistant}
|
|
21
|
+
* → kept (after secret-pattern check)
|
|
22
|
+
* - everything else → reasoning_records (catch-all for non-message non-tool
|
|
23
|
+
* payload types)
|
|
24
|
+
*/
|
|
25
|
+
export declare function classifyCodexRecord(record: {
|
|
26
|
+
payload?: {
|
|
27
|
+
type?: unknown;
|
|
28
|
+
role?: unknown;
|
|
29
|
+
};
|
|
30
|
+
}): ClassifyResult;
|
|
31
|
+
/**
|
|
32
|
+
* Classify a Claude transcript record. Claude shape carries the role
|
|
33
|
+
* directly at `record.type` (user / assistant / system / attachment /
|
|
34
|
+
* summary etc). Per the M2b dispatch's "emit the same structured
|
|
35
|
+
* representation as the Codex parser" requirement, the omitted-class
|
|
36
|
+
* mapping mirrors Codex.
|
|
37
|
+
*/
|
|
38
|
+
export declare function classifyClaudeRecord(record: {
|
|
39
|
+
type?: unknown;
|
|
40
|
+
}): ClassifyResult;
|
|
41
|
+
/** State holder for accumulating omitted-class counts during parsing. */
|
|
42
|
+
export declare class OmittedCounter {
|
|
43
|
+
readonly counts: OmittedCounts;
|
|
44
|
+
recordOmission(reason: OmittedRecordClass): void;
|
|
45
|
+
/**
|
|
46
|
+
* Mark that a kept message had secret content (was redacted). Increments
|
|
47
|
+
* `redacted_secrets` per occurrence. Caller checks `hasSecretPattern`
|
|
48
|
+
* BEFORE redaction to decide whether to record this.
|
|
49
|
+
*/
|
|
50
|
+
recordRedaction(): void;
|
|
51
|
+
/**
|
|
52
|
+
* Returns the list of omitted classes that have at least one record.
|
|
53
|
+
* Used to populate `summary.omitted_classes` per contract § 5.
|
|
54
|
+
* Order: stable (the enum order from the type definition).
|
|
55
|
+
*/
|
|
56
|
+
activeClasses(): OmittedRecordClass[];
|
|
57
|
+
}
|
|
58
|
+
/** Re-export for convenience. */
|
|
59
|
+
export { hasSecretPattern };
|
|
60
|
+
//# sourceMappingURL=omitted-records.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"omitted-records.d.ts","sourceRoot":"","sources":["../../src/restore-packet/omitted-records.ts"],"names":[],"mappings":"AAqBA,OAAO,EAAsB,KAAK,aAAa,EAAE,KAAK,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAC7F,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAElD,wDAAwD;AACxD,MAAM,MAAM,cAAc,GACtB;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,GAChB;IAAE,IAAI,EAAE,SAAS,CAAC;IAAC,MAAM,EAAE,kBAAkB,CAAA;CAAE,CAAC;AAEpD;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,EAAE;IAAE,OAAO,CAAC,EAAE;QAAE,IAAI,CAAC,EAAE,OAAO,CAAC;QAAC,IAAI,CAAC,EAAE,OAAO,CAAA;KAAE,CAAA;CAAE,GAAG,cAAc,CAmB5G;AAED;;;;;;GAMG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,EAAE;IAAE,IAAI,CAAC,EAAE,OAAO,CAAA;CAAE,GAAG,cAAc,CAmB/E;AAED,yEAAyE;AACzE,qBAAa,cAAc;IACzB,QAAQ,CAAC,MAAM,EAAE,aAAa,CAAwB;IAEtD,cAAc,CAAC,MAAM,EAAE,kBAAkB,GAAG,IAAI;IAIhD;;;;OAIG;IACH,eAAe,IAAI,IAAI;IAIvB;;;;OAIG;IACH,aAAa,IAAI,kBAAkB,EAAE;CAStC;AAED,iCAAiC;AACjC,OAAO,EAAE,gBAAgB,EAAE,CAAC"}
|
|
@@ -0,0 +1,116 @@
|
|
|
1
|
+
// omitted-records.ts — classifies a parsed source record into one of the
|
|
2
|
+
// 4 omitted-class enums (per M1 contract § 5) or accepts it as a kept
|
|
3
|
+
// user-visible message.
|
|
4
|
+
//
|
|
5
|
+
// v0 generator excludes the following record classes from
|
|
6
|
+
// transcript-latest.md and transcript.md:
|
|
7
|
+
//
|
|
8
|
+
// - reasoning_records: internal reasoning records that the runtime emitted
|
|
9
|
+
// but were not user-visible messages.
|
|
10
|
+
// - raw_tool_outputs: full raw tool execution output (often verbose; may
|
|
11
|
+
// contain transient state).
|
|
12
|
+
// - function_call_output: function-call result records that are not
|
|
13
|
+
// user-visible.
|
|
14
|
+
// - redacted_secrets: applied to any matched credential patterns per the
|
|
15
|
+
// redaction policy. (This class counts records whose content matched
|
|
16
|
+
// a secret pattern AND was therefore redacted.)
|
|
17
|
+
//
|
|
18
|
+
// `omitted_classes` in the summary enumerates the classes ACTUALLY
|
|
19
|
+
// excluded for THIS packet (not all available classes); the validator
|
|
20
|
+
// checks each name is one of the 4 enum values.
|
|
21
|
+
import { emptyOmittedCounts } from "./types.js";
|
|
22
|
+
import { hasSecretPattern } from "./redaction.js";
|
|
23
|
+
/**
|
|
24
|
+
* Classify a Codex JSONL record (the parsed JSON object) into kept /
|
|
25
|
+
* omitted. Caller is responsible for passing only `response_item`-class
|
|
26
|
+
* records; session_meta and compacted are handled separately by the
|
|
27
|
+
* Codex parser.
|
|
28
|
+
*
|
|
29
|
+
* Codex semantics (per Velocity prior art):
|
|
30
|
+
* - response_item with payload.type === "function_call" → function_call_output
|
|
31
|
+
* - response_item with payload.type === "custom_tool_call" → raw_tool_outputs
|
|
32
|
+
* - response_item with payload.type === "reasoning" → reasoning_records
|
|
33
|
+
* - response_item with payload.type === "message" + role in {developer,user,assistant}
|
|
34
|
+
* → kept (after secret-pattern check)
|
|
35
|
+
* - everything else → reasoning_records (catch-all for non-message non-tool
|
|
36
|
+
* payload types)
|
|
37
|
+
*/
|
|
38
|
+
export function classifyCodexRecord(record) {
|
|
39
|
+
const payloadType = typeof record.payload?.type === "string" ? record.payload.type : "";
|
|
40
|
+
switch (payloadType) {
|
|
41
|
+
case "function_call":
|
|
42
|
+
return { kind: "omitted", reason: "function_call_output" };
|
|
43
|
+
case "custom_tool_call":
|
|
44
|
+
return { kind: "omitted", reason: "raw_tool_outputs" };
|
|
45
|
+
case "reasoning":
|
|
46
|
+
return { kind: "omitted", reason: "reasoning_records" };
|
|
47
|
+
case "message": {
|
|
48
|
+
const role = typeof record.payload?.role === "string" ? record.payload.role : "";
|
|
49
|
+
if (role !== "developer" && role !== "user" && role !== "assistant") {
|
|
50
|
+
return { kind: "omitted", reason: "reasoning_records" };
|
|
51
|
+
}
|
|
52
|
+
return { kind: "kept" };
|
|
53
|
+
}
|
|
54
|
+
default:
|
|
55
|
+
return { kind: "omitted", reason: "reasoning_records" };
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
/**
|
|
59
|
+
* Classify a Claude transcript record. Claude shape carries the role
|
|
60
|
+
* directly at `record.type` (user / assistant / system / attachment /
|
|
61
|
+
* summary etc). Per the M2b dispatch's "emit the same structured
|
|
62
|
+
* representation as the Codex parser" requirement, the omitted-class
|
|
63
|
+
* mapping mirrors Codex.
|
|
64
|
+
*/
|
|
65
|
+
export function classifyClaudeRecord(record) {
|
|
66
|
+
const type = typeof record.type === "string" ? record.type : "";
|
|
67
|
+
switch (type) {
|
|
68
|
+
case "user":
|
|
69
|
+
case "assistant":
|
|
70
|
+
return { kind: "kept" };
|
|
71
|
+
case "attachment":
|
|
72
|
+
// Attachments are tool-result-class records (file content the user
|
|
73
|
+
// attached or tool output). Map to raw_tool_outputs.
|
|
74
|
+
return { kind: "omitted", reason: "raw_tool_outputs" };
|
|
75
|
+
case "summary":
|
|
76
|
+
// System/summary records are non-user-visible meta; map to
|
|
77
|
+
// reasoning_records.
|
|
78
|
+
return { kind: "omitted", reason: "reasoning_records" };
|
|
79
|
+
default:
|
|
80
|
+
// Everything else (sessionId-only, agentInfo, permissionMode meta,
|
|
81
|
+
// etc.) is metadata, not a user-visible message.
|
|
82
|
+
return { kind: "omitted", reason: "reasoning_records" };
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
/** State holder for accumulating omitted-class counts during parsing. */
|
|
86
|
+
export class OmittedCounter {
|
|
87
|
+
counts = emptyOmittedCounts();
|
|
88
|
+
recordOmission(reason) {
|
|
89
|
+
this.counts[reason] += 1;
|
|
90
|
+
}
|
|
91
|
+
/**
|
|
92
|
+
* Mark that a kept message had secret content (was redacted). Increments
|
|
93
|
+
* `redacted_secrets` per occurrence. Caller checks `hasSecretPattern`
|
|
94
|
+
* BEFORE redaction to decide whether to record this.
|
|
95
|
+
*/
|
|
96
|
+
recordRedaction() {
|
|
97
|
+
this.counts.redacted_secrets += 1;
|
|
98
|
+
}
|
|
99
|
+
/**
|
|
100
|
+
* Returns the list of omitted classes that have at least one record.
|
|
101
|
+
* Used to populate `summary.omitted_classes` per contract § 5.
|
|
102
|
+
* Order: stable (the enum order from the type definition).
|
|
103
|
+
*/
|
|
104
|
+
activeClasses() {
|
|
105
|
+
const order = [
|
|
106
|
+
"reasoning_records",
|
|
107
|
+
"raw_tool_outputs",
|
|
108
|
+
"function_call_output",
|
|
109
|
+
"redacted_secrets",
|
|
110
|
+
];
|
|
111
|
+
return order.filter((cls) => this.counts[cls] > 0);
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
/** Re-export for convenience. */
|
|
115
|
+
export { hasSecretPattern };
|
|
116
|
+
//# sourceMappingURL=omitted-records.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"omitted-records.js","sourceRoot":"","sources":["../../src/restore-packet/omitted-records.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
import type { StructuredTranscript, SourceRuntime } from "./types.js";
|
|
2
|
+
export interface WritePacketOptions {
|
|
3
|
+
/** Absolute path of the target packet directory. MUST NOT exist. */
|
|
4
|
+
targetDir: string;
|
|
5
|
+
/** Parsed source structured representation. */
|
|
6
|
+
structured: StructuredTranscript;
|
|
7
|
+
/** Runtime kind of the source seat. */
|
|
8
|
+
sourceRuntime: SourceRuntime;
|
|
9
|
+
/** Target rig name (operator-supplied). */
|
|
10
|
+
targetRig: string;
|
|
11
|
+
/** Target runtime kind (operator-supplied). */
|
|
12
|
+
targetRuntime: SourceRuntime;
|
|
13
|
+
/** Target workspace root (absolute path). */
|
|
14
|
+
targetWorkspaceRoot: string;
|
|
15
|
+
/** Default target repo (absolute path or null). */
|
|
16
|
+
defaultTargetRepo: string | null;
|
|
17
|
+
/** Path/URI to role guidance for the restored seat. */
|
|
18
|
+
rolePointer: string;
|
|
19
|
+
/** One-paragraph human-readable summary of current work. */
|
|
20
|
+
currentWorkSummary: string;
|
|
21
|
+
/** Who the restored seat hands off to next; "self" if continuing. */
|
|
22
|
+
nextOwner: string;
|
|
23
|
+
/** Caveats list (cross-runtime quirks, redaction notes, etc.). */
|
|
24
|
+
caveats: string[];
|
|
25
|
+
/** Explicit statement of restored-seat authority. */
|
|
26
|
+
authorityBoundaries: string;
|
|
27
|
+
/** Ordered source-trust ranking (subset of contract enum). */
|
|
28
|
+
sourceTrustRanking: string[];
|
|
29
|
+
/** Source session id. */
|
|
30
|
+
sourceSessionId: string;
|
|
31
|
+
/**
|
|
32
|
+
* Source rig name. Per M2c-CLI R2: passed explicitly by the CLI adapter
|
|
33
|
+
* (computed from parsed session_meta `<seat>@<rig>` split or operator
|
|
34
|
+
* --source-rig-override). The writer does NOT derive this from
|
|
35
|
+
* sourceSessionId — that hidden derivation was the M2c-CLI R1 bug.
|
|
36
|
+
*/
|
|
37
|
+
sourceRig: string;
|
|
38
|
+
/** Source cwd (absolute path). */
|
|
39
|
+
sourceCwd: string;
|
|
40
|
+
/** Generator version identifier (e.g., "rig-restore-packet@0.1.0"). */
|
|
41
|
+
generatorVersion: string;
|
|
42
|
+
/** Whether to include the full transcript.md file. */
|
|
43
|
+
includeFullTranscript: boolean;
|
|
44
|
+
}
|
|
45
|
+
export interface WritePacketResult {
|
|
46
|
+
targetDir: string;
|
|
47
|
+
files: string[];
|
|
48
|
+
summaryPath: string;
|
|
49
|
+
}
|
|
50
|
+
/**
|
|
51
|
+
* Write a v0 restore packet directory atomically.
|
|
52
|
+
*
|
|
53
|
+
* Atomic guarantee: if any step fails (including schema validation of
|
|
54
|
+
* restore-summary.json), the targetDir is never created and any
|
|
55
|
+
* intermediate tempdir is removed. Operators see either a complete
|
|
56
|
+
* valid packet at targetDir, or no packet at all.
|
|
57
|
+
*/
|
|
58
|
+
export declare function writePacket(opts: WritePacketOptions): Promise<WritePacketResult>;
|
|
59
|
+
//# sourceMappingURL=packet-writer.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"packet-writer.d.ts","sourceRoot":"","sources":["../../src/restore-packet/packet-writer.ts"],"names":[],"mappings":"AA0BA,OAAO,KAAK,EAAE,oBAAoB,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAItE,MAAM,WAAW,kBAAkB;IACjC,oEAAoE;IACpE,SAAS,EAAE,MAAM,CAAC;IAClB,+CAA+C;IAC/C,UAAU,EAAE,oBAAoB,CAAC;IACjC,uCAAuC;IACvC,aAAa,EAAE,aAAa,CAAC;IAC7B,2CAA2C;IAC3C,SAAS,EAAE,MAAM,CAAC;IAClB,+CAA+C;IAC/C,aAAa,EAAE,aAAa,CAAC;IAC7B,6CAA6C;IAC7C,mBAAmB,EAAE,MAAM,CAAC;IAC5B,mDAAmD;IACnD,iBAAiB,EAAE,MAAM,GAAG,IAAI,CAAC;IACjC,uDAAuD;IACvD,WAAW,EAAE,MAAM,CAAC;IACpB,4DAA4D;IAC5D,kBAAkB,EAAE,MAAM,CAAC;IAC3B,qEAAqE;IACrE,SAAS,EAAE,MAAM,CAAC;IAClB,kEAAkE;IAClE,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,qDAAqD;IACrD,mBAAmB,EAAE,MAAM,CAAC;IAC5B,8DAA8D;IAC9D,kBAAkB,EAAE,MAAM,EAAE,CAAC;IAC7B,yBAAyB;IACzB,eAAe,EAAE,MAAM,CAAC;IACxB;;;;;OAKG;IACH,SAAS,EAAE,MAAM,CAAC;IAClB,kCAAkC;IAClC,SAAS,EAAE,MAAM,CAAC;IAClB,uEAAuE;IACvE,gBAAgB,EAAE,MAAM,CAAC;IACzB,sDAAsD;IACtD,qBAAqB,EAAE,OAAO,CAAC;CAChC;AAED,MAAM,WAAW,iBAAiB;IAChC,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;CACrB;AAiJD;;;;;;;GAOG;AACH,wBAAsB,WAAW,CAAC,IAAI,EAAE,kBAAkB,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAoFtF"}
|
|
@@ -0,0 +1,224 @@
|
|
|
1
|
+
// packet-writer.ts — assembles + atomically writes a v0 restore packet
|
|
2
|
+
// directory.
|
|
3
|
+
//
|
|
4
|
+
// Per M1 contract § 1: emits 4 required files (restore-instructions.md,
|
|
5
|
+
// transcript-latest.md, touched-files.md, restore-summary.json) plus
|
|
6
|
+
// optional transcript.md (when full transcript material is available;
|
|
7
|
+
// presence in lockstep with `full_transcript` summary key).
|
|
8
|
+
//
|
|
9
|
+
// Atomic emission via tempdir-then-rename:
|
|
10
|
+
// 1. Write all files into a sibling tempdir (`<targetDir>.tmp-<rand>/`).
|
|
11
|
+
// 2. Validate the tempdir's restore-summary.json against the embedded
|
|
12
|
+
// JSON Schema (RESTORE_SUMMARY_SCHEMA from schema-validator.ts).
|
|
13
|
+
// 3. If valid: rename tempdir → targetDir (single fs.rename; atomic on
|
|
14
|
+
// same filesystem).
|
|
15
|
+
// 4. If validation fails OR any write step fails: rmSync the tempdir;
|
|
16
|
+
// propagate the error. The targetDir is NEVER created in this case.
|
|
17
|
+
//
|
|
18
|
+
// Pre-condition: targetDir MUST NOT exist (operator must supply a fresh
|
|
19
|
+
// path). Reject with explicit error otherwise.
|
|
20
|
+
import { writeFileSync, existsSync, renameSync, rmSync, mkdtempSync } from "node:fs";
|
|
21
|
+
import { dirname, basename, join } from "node:path";
|
|
22
|
+
import { validateRestoreSummary, } from "./schema-validator.js";
|
|
23
|
+
const TRANSCRIPT_BOUND = 120;
|
|
24
|
+
function transcriptMarkdownFromMessages(title, session, messages, note) {
|
|
25
|
+
const body = messages
|
|
26
|
+
.map((m, i) => {
|
|
27
|
+
const ts = m.timestamp ? ` ${m.timestamp}` : "";
|
|
28
|
+
return `## ${i + 1}. ${m.role}${ts}\n\n${m.text}\n`;
|
|
29
|
+
})
|
|
30
|
+
.join("\n");
|
|
31
|
+
return `# ${title}\n\nSource session: \`${session}\`\n\n${note}\n\n${body}`;
|
|
32
|
+
}
|
|
33
|
+
function buildTranscriptLatest(structured, sourceSessionId) {
|
|
34
|
+
const latest = structured.messages.slice(-TRANSCRIPT_BOUND);
|
|
35
|
+
return transcriptMarkdownFromMessages("Bounded Latest Transcript", sourceSessionId, latest, `This bounded transcript contains the latest ${latest.length} extracted messages for normal restore. Use transcript.md only when deeper forensic recovery is needed.`);
|
|
36
|
+
}
|
|
37
|
+
function buildTranscriptFull(structured, sourceSessionId) {
|
|
38
|
+
return transcriptMarkdownFromMessages("Full Transcript", sourceSessionId, structured.messages, "This transcript contains developer/user/assistant messages extracted from the source. Reasoning records, tool calls, and tool outputs are omitted by design (see restore-summary.json `omitted_classes`).");
|
|
39
|
+
}
|
|
40
|
+
function buildTouchedFiles(structured) {
|
|
41
|
+
const rows = structured.paths.length > 0
|
|
42
|
+
? structured.paths.map((entry) => `- \`${entry.path}\` (${entry.count})`).join("\n")
|
|
43
|
+
: "- No paths detected in extracted messages or tool arguments.";
|
|
44
|
+
return `# Touched Files And Path Inventory\n\nBest-effort path inventory from messages and tool arguments. This is a triage aid, not a complete proof of all files read or written.\n\n${rows}\n`;
|
|
45
|
+
}
|
|
46
|
+
function buildRestoreInstructions(opts) {
|
|
47
|
+
return `# Restore Instructions
|
|
48
|
+
|
|
49
|
+
You are a restored seat in \`${opts.targetRig}\`. This packet records the cross-runtime context for resuming work from \`${opts.sourceSessionId}\`.
|
|
50
|
+
|
|
51
|
+
## Identity
|
|
52
|
+
|
|
53
|
+
1. Run \`rig whoami --json\`.
|
|
54
|
+
2. Trust the current rig identity over the source-session transcript.
|
|
55
|
+
3. Current workspace root: \`${opts.targetWorkspaceRoot}\`.
|
|
56
|
+
4. Default target repo: \`${opts.defaultTargetRepo ?? "(none)"}\`.
|
|
57
|
+
5. Role guidance pointer: \`${opts.rolePointer}\`.
|
|
58
|
+
|
|
59
|
+
## Restore Steps
|
|
60
|
+
|
|
61
|
+
1. Read this file.
|
|
62
|
+
2. Read \`touched-files.md\`.
|
|
63
|
+
3. Read \`transcript-latest.md\` for bounded current context.
|
|
64
|
+
4. Use \`transcript.md\` only if the bounded transcript is insufficient.
|
|
65
|
+
5. State: "restored from packet generated by ${opts.generatorVersion}; current rig is ${opts.targetRig}; default target repo is ${opts.defaultTargetRepo ?? "none"}."
|
|
66
|
+
6. Name any caveats before resuming work.
|
|
67
|
+
7. Hand off to next owner: \`${opts.nextOwner}\` (or "self" to continue).
|
|
68
|
+
|
|
69
|
+
## Current Work
|
|
70
|
+
|
|
71
|
+
${opts.currentWorkSummary}
|
|
72
|
+
|
|
73
|
+
## Authority Boundaries
|
|
74
|
+
|
|
75
|
+
${opts.authorityBoundaries}
|
|
76
|
+
|
|
77
|
+
## Caveats
|
|
78
|
+
|
|
79
|
+
${opts.caveats.length > 0 ? opts.caveats.map((c) => `- ${c}`).join("\n") : "- (none recorded)"}
|
|
80
|
+
|
|
81
|
+
## Packet Stats
|
|
82
|
+
|
|
83
|
+
- Source runtime: \`${opts.sourceRuntime}\`
|
|
84
|
+
- Target runtime: \`${opts.targetRuntime}\`
|
|
85
|
+
- JSONL/transcript lines processed: ${opts.structured.lineCount}
|
|
86
|
+
- Extracted messages: ${opts.structured.messageCount}
|
|
87
|
+
- Compaction records: ${opts.structured.compactedCount}
|
|
88
|
+
- Source cwd: \`${opts.sourceCwd}\`
|
|
89
|
+
`;
|
|
90
|
+
}
|
|
91
|
+
function buildSummary(opts) {
|
|
92
|
+
const omittedClassesActive = [];
|
|
93
|
+
for (const k of ["reasoning_records", "raw_tool_outputs", "function_call_output", "redacted_secrets"]) {
|
|
94
|
+
if (opts.structured.omittedCounts[k] > 0)
|
|
95
|
+
omittedClassesActive.push(k);
|
|
96
|
+
}
|
|
97
|
+
const messageCount = Math.min(opts.structured.messages.length, TRANSCRIPT_BOUND);
|
|
98
|
+
const summary = {
|
|
99
|
+
source_session_id: opts.sourceSessionId,
|
|
100
|
+
source_rig: opts.sourceRig,
|
|
101
|
+
source_runtime: opts.sourceRuntime,
|
|
102
|
+
source_cwd: opts.sourceCwd,
|
|
103
|
+
target_rig: opts.targetRig,
|
|
104
|
+
target_runtime: opts.targetRuntime,
|
|
105
|
+
target_workspace_root: opts.targetWorkspaceRoot,
|
|
106
|
+
default_target_repo: opts.defaultTargetRepo,
|
|
107
|
+
role_pointer: opts.rolePointer,
|
|
108
|
+
bounded_latest_transcript: {
|
|
109
|
+
path: "transcript-latest.md",
|
|
110
|
+
message_count: messageCount,
|
|
111
|
+
bound: TRANSCRIPT_BOUND,
|
|
112
|
+
},
|
|
113
|
+
touched_files: {
|
|
114
|
+
path: "touched-files.md",
|
|
115
|
+
top_paths: opts.structured.paths.slice(0, 30),
|
|
116
|
+
},
|
|
117
|
+
durable_pointers: {
|
|
118
|
+
queue_pointers: [],
|
|
119
|
+
progress_pointers: [],
|
|
120
|
+
field_note_pointers: [],
|
|
121
|
+
artifact_pointers: [],
|
|
122
|
+
},
|
|
123
|
+
current_work_summary: opts.currentWorkSummary,
|
|
124
|
+
next_owner: opts.nextOwner,
|
|
125
|
+
caveats: opts.caveats,
|
|
126
|
+
authority_boundaries: opts.authorityBoundaries,
|
|
127
|
+
omitted_classes: omittedClassesActive,
|
|
128
|
+
redaction_policy_id: "openrig-v0",
|
|
129
|
+
source_trust_ranking: opts.sourceTrustRanking,
|
|
130
|
+
generator_version: opts.generatorVersion,
|
|
131
|
+
generated_at: new Date().toISOString(),
|
|
132
|
+
};
|
|
133
|
+
if (opts.includeFullTranscript) {
|
|
134
|
+
summary.full_transcript = {
|
|
135
|
+
path: "transcript.md",
|
|
136
|
+
line_count: opts.structured.messages.length,
|
|
137
|
+
};
|
|
138
|
+
}
|
|
139
|
+
return summary;
|
|
140
|
+
}
|
|
141
|
+
/**
|
|
142
|
+
* Write a v0 restore packet directory atomically.
|
|
143
|
+
*
|
|
144
|
+
* Atomic guarantee: if any step fails (including schema validation of
|
|
145
|
+
* restore-summary.json), the targetDir is never created and any
|
|
146
|
+
* intermediate tempdir is removed. Operators see either a complete
|
|
147
|
+
* valid packet at targetDir, or no packet at all.
|
|
148
|
+
*/
|
|
149
|
+
export async function writePacket(opts) {
|
|
150
|
+
if (existsSync(opts.targetDir)) {
|
|
151
|
+
throw new Error(`restore-packet write: target directory already exists: ${opts.targetDir}`);
|
|
152
|
+
}
|
|
153
|
+
// Build all file contents BEFORE creating any disk state. This way if
|
|
154
|
+
// an in-memory step throws (unlikely, but defensive), no tempdir was
|
|
155
|
+
// created.
|
|
156
|
+
const summary = buildSummary(opts);
|
|
157
|
+
const validation = validateRestoreSummary(summary);
|
|
158
|
+
if (!validation.valid) {
|
|
159
|
+
const errSummary = validation.errors
|
|
160
|
+
.slice(0, 5)
|
|
161
|
+
.map((e) => `${e.field}: ${e.rule}`)
|
|
162
|
+
.join("; ");
|
|
163
|
+
throw new Error(`restore-packet write: schema validation failed before atomic rename: ${errSummary}`);
|
|
164
|
+
}
|
|
165
|
+
const restoreInstructions = buildRestoreInstructions(opts);
|
|
166
|
+
const transcriptLatest = buildTranscriptLatest(opts.structured, opts.sourceSessionId);
|
|
167
|
+
const touchedFiles = buildTouchedFiles(opts.structured);
|
|
168
|
+
const transcriptFull = opts.includeFullTranscript
|
|
169
|
+
? buildTranscriptFull(opts.structured, opts.sourceSessionId)
|
|
170
|
+
: null;
|
|
171
|
+
// Create tempdir as a sibling of targetDir using mkdtemp for race-free
|
|
172
|
+
// unique name. The dirname() must exist and be writable; we don't
|
|
173
|
+
// mkdir the parent for the operator (operator authority bedrock).
|
|
174
|
+
const parentDir = dirname(opts.targetDir);
|
|
175
|
+
const tempPrefix = `${basename(opts.targetDir)}.tmp-restore-packet-`;
|
|
176
|
+
const tempDir = mkdtempSync(join(parentDir, tempPrefix));
|
|
177
|
+
try {
|
|
178
|
+
writeFileSync(join(tempDir, "restore-instructions.md"), restoreInstructions, "utf-8");
|
|
179
|
+
writeFileSync(join(tempDir, "transcript-latest.md"), transcriptLatest, "utf-8");
|
|
180
|
+
writeFileSync(join(tempDir, "touched-files.md"), touchedFiles, "utf-8");
|
|
181
|
+
writeFileSync(join(tempDir, "restore-summary.json"), JSON.stringify(summary, null, 2), "utf-8");
|
|
182
|
+
if (transcriptFull !== null) {
|
|
183
|
+
writeFileSync(join(tempDir, "transcript.md"), transcriptFull, "utf-8");
|
|
184
|
+
}
|
|
185
|
+
// Re-validate by parsing the on-disk summary (round-trip self-check).
|
|
186
|
+
// This catches any structural divergence between buildSummary's
|
|
187
|
+
// in-memory shape and the JSON.stringify() serialization.
|
|
188
|
+
const onDisk = JSON.parse(
|
|
189
|
+
// eslint-disable-next-line @typescript-eslint/no-require-imports
|
|
190
|
+
(await import("node:fs")).readFileSync(join(tempDir, "restore-summary.json"), "utf-8"));
|
|
191
|
+
const recheck = validateRestoreSummary(onDisk);
|
|
192
|
+
if (!recheck.valid) {
|
|
193
|
+
throw new Error(`restore-packet write: on-disk schema recheck failed: ${recheck.errors.slice(0, 5).map((e) => `${e.field}: ${e.rule}`).join("; ")}`);
|
|
194
|
+
}
|
|
195
|
+
// Atomic rename tempdir → targetDir. fs.rename is atomic when source
|
|
196
|
+
// and destination are on the same filesystem; we keep them sibling
|
|
197
|
+
// so this holds.
|
|
198
|
+
renameSync(tempDir, opts.targetDir);
|
|
199
|
+
}
|
|
200
|
+
catch (err) {
|
|
201
|
+
// Clean up tempdir on any failure; do NOT leave a partial packet.
|
|
202
|
+
try {
|
|
203
|
+
rmSync(tempDir, { recursive: true, force: true });
|
|
204
|
+
}
|
|
205
|
+
catch {
|
|
206
|
+
// Best-effort cleanup; original error takes precedence.
|
|
207
|
+
}
|
|
208
|
+
throw err;
|
|
209
|
+
}
|
|
210
|
+
const files = [
|
|
211
|
+
"restore-instructions.md",
|
|
212
|
+
"transcript-latest.md",
|
|
213
|
+
"touched-files.md",
|
|
214
|
+
"restore-summary.json",
|
|
215
|
+
];
|
|
216
|
+
if (transcriptFull !== null)
|
|
217
|
+
files.push("transcript.md");
|
|
218
|
+
return {
|
|
219
|
+
targetDir: opts.targetDir,
|
|
220
|
+
files,
|
|
221
|
+
summaryPath: join(opts.targetDir, "restore-summary.json"),
|
|
222
|
+
};
|
|
223
|
+
}
|
|
224
|
+
//# sourceMappingURL=packet-writer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"packet-writer.js","sourceRoot":"","sources":["../../src/restore-packet/packet-writer.ts"],"names":[],"mappings":"AAAA,uEAAuE;AACvE,aAAa;AACb,EAAE;AACF,wEAAwE;AACxE,qEAAqE;AACrE,sEAAsE;AACtE,4DAA4D;AAC5D,EAAE;AACF,2CAA2C;AAC3C,yEAAyE;AACzE,sEAAsE;AACtE,oEAAoE;AACpE,uEAAuE;AACvE,uBAAuB;AACvB,sEAAsE;AACtE,uEAAuE;AACvE,EAAE;AACF,wEAAwE;AACxE,+CAA+C;AAE/C,OAAO,EAAa,aAAa,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAChG,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACpD,OAAO,EACL,sBAAsB,GAEvB,MAAM,uBAAuB,CAAC;AAG/B,MAAM,gBAAgB,GAAG,GAAG,CAAC;AAoD7B,SAAS,8BAA8B,CACrC,KAAa,EACb,OAAe,EACf,QAA0C,EAC1C,IAAY;IAEZ,MAAM,IAAI,GAAG,QAAQ;SAClB,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;QACZ,MAAM,EAAE,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAChD,OAAO,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,CAAC,CAAC,IAAI,IAAI,CAAC;IACtD,CAAC,CAAC;SACD,IAAI,CAAC,IAAI,CAAC,CAAC;IACd,OAAO,KAAK,KAAK,yBAAyB,OAAO,SAAS,IAAI,OAAO,IAAI,EAAE,CAAC;AAC9E,CAAC;AAED,SAAS,qBAAqB,CAC5B,UAAgC,EAChC,eAAuB;IAEvB,MAAM,MAAM,GAAG,UAAU,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,gBAAgB,CAAC,CAAC;IAC5D,OAAO,8BAA8B,CACnC,2BAA2B,EAC3B,eAAe,EACf,MAAM,EACN,+CAA+C,MAAM,CAAC,MAAM,yGAAyG,CACtK,CAAC;AACJ,CAAC;AAED,SAAS,mBAAmB,CAC1B,UAAgC,EAChC,eAAuB;IAEvB,OAAO,8BAA8B,CACnC,iBAAiB,EACjB,eAAe,EACf,UAAU,CAAC,QAAQ,EACnB,2MAA2M,CAC5M,CAAC;AACJ,CAAC;AAED,SAAS,iBAAiB,CAAC,UAAgC;IACzD,MAAM,IAAI,GAAG,UAAU,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC;QACtC,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,OAAO,KAAK,CAAC,IAAI,OAAO,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;QACpF,CAAC,CAAC,8DAA8D,CAAC;IACnE,OAAO,kLAAkL,IAAI,IAAI,CAAC;AACpM,CAAC;AAED,SAAS,wBAAwB,CAAC,IAAwB;IACxD,OAAO;;+BAEsB,IAAI,CAAC,SAAS,8EAA8E,IAAI,CAAC,eAAe;;;;;;+BAMhH,IAAI,CAAC,mBAAmB;4BAC3B,IAAI,CAAC,iBAAiB,IAAI,QAAQ;8BAChC,IAAI,CAAC,WAAW;;;;;;;;+CAQC,IAAI,CAAC,gBAAgB,oBAAoB,IAAI,CAAC,SAAS,4BAA4B,IAAI,CAAC,iBAAiB,IAAI,MAAM;;+BAEnI,IAAI,CAAC,SAAS;;;;EAI3C,IAAI,CAAC,kBAAkB;;;;EAIvB,IAAI,CAAC,mBAAmB;;;;EAIxB,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,mBAAmB;;;;sBAIxE,IAAI,CAAC,aAAa;sBAClB,IAAI,CAAC,aAAa;sCACF,IAAI,CAAC,UAAU,CAAC,SAAS;wBACvC,IAAI,CAAC,UAAU,CAAC,YAAY;wBAC5B,IAAI,CAAC,UAAU,CAAC,cAAc;kBACpC,IAAI,CAAC,SAAS;CAC/B,CAAC;AACF,CAAC;AAED,SAAS,YAAY,CAAC,IAAwB;IAC5C,MAAM,oBAAoB,GAAa,EAAE,CAAC;IAC1C,KAAK,MAAM,CAAC,IAAI,CAAC,mBAAmB,EAAE,kBAAkB,EAAE,sBAAsB,EAAE,kBAAkB,CAAU,EAAE,CAAC;QAC/G,IAAI,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC,CAAC,GAAG,CAAC;YAAE,oBAAoB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACzE,CAAC;IACD,MAAM,YAAY,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC;IACjF,MAAM,OAAO,GAA4B;QACvC,iBAAiB,EAAE,IAAI,CAAC,eAAe;QACvC,UAAU,EAAE,IAAI,CAAC,SAAS;QAC1B,cAAc,EAAE,IAAI,CAAC,aAAa;QAClC,UAAU,EAAE,IAAI,CAAC,SAAS;QAC1B,UAAU,EAAE,IAAI,CAAC,SAAS;QAC1B,cAAc,EAAE,IAAI,CAAC,aAAa;QAClC,qBAAqB,EAAE,IAAI,CAAC,mBAAmB;QAC/C,mBAAmB,EAAE,IAAI,CAAC,iBAAiB;QAC3C,YAAY,EAAE,IAAI,CAAC,WAAW;QAC9B,yBAAyB,EAAE;YACzB,IAAI,EAAE,sBAAsB;YAC5B,aAAa,EAAE,YAAY;YAC3B,KAAK,EAAE,gBAAgB;SACxB;QACD,aAAa,EAAE;YACb,IAAI,EAAE,kBAAkB;YACxB,SAAS,EAAE,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC;SAC9C;QACD,gBAAgB,EAAE;YAChB,cAAc,EAAE,EAAE;YAClB,iBAAiB,EAAE,EAAE;YACrB,mBAAmB,EAAE,EAAE;YACvB,iBAAiB,EAAE,EAAE;SACtB;QACD,oBAAoB,EAAE,IAAI,CAAC,kBAAkB;QAC7C,UAAU,EAAE,IAAI,CAAC,SAAS;QAC1B,OAAO,EAAE,IAAI,CAAC,OAAO;QACrB,oBAAoB,EAAE,IAAI,CAAC,mBAAmB;QAC9C,eAAe,EAAE,oBAAoB;QACrC,mBAAmB,EAAE,YAAY;QACjC,oBAAoB,EAAE,IAAI,CAAC,kBAAkB;QAC7C,iBAAiB,EAAE,IAAI,CAAC,gBAAgB;QACxC,YAAY,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;KACvC,CAAC;IACF,IAAI,IAAI,CAAC,qBAAqB,EAAE,CAAC;QAC/B,OAAO,CAAC,eAAe,GAAG;YACxB,IAAI,EAAE,eAAe;YACrB,UAAU,EAAE,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,MAAM;SAC5C,CAAC;IACJ,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,CAAC,KAAK,UAAU,WAAW,CAAC,IAAwB;IACxD,IAAI,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC;QAC/B,MAAM,IAAI,KAAK,CAAC,0DAA0D,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC;IAC9F,CAAC;IAED,sEAAsE;IACtE,qEAAqE;IACrE,WAAW;IACX,MAAM,OAAO,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC;IACnC,MAAM,UAAU,GAAqB,sBAAsB,CAAC,OAAO,CAAC,CAAC;IACrE,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;QACtB,MAAM,UAAU,GAAG,UAAU,CAAC,MAAM;aACjC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC;aACX,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC,IAAI,EAAE,CAAC;aACnC,IAAI,CAAC,IAAI,CAAC,CAAC;QACd,MAAM,IAAI,KAAK,CACb,wEAAwE,UAAU,EAAE,CACrF,CAAC;IACJ,CAAC;IAED,MAAM,mBAAmB,GAAG,wBAAwB,CAAC,IAAI,CAAC,CAAC;IAC3D,MAAM,gBAAgB,GAAG,qBAAqB,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,eAAe,CAAC,CAAC;IACtF,MAAM,YAAY,GAAG,iBAAiB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IACxD,MAAM,cAAc,GAAG,IAAI,CAAC,qBAAqB;QAC/C,CAAC,CAAC,mBAAmB,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,eAAe,CAAC;QAC5D,CAAC,CAAC,IAAI,CAAC;IAET,uEAAuE;IACvE,kEAAkE;IAClE,kEAAkE;IAClE,MAAM,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IAC1C,MAAM,UAAU,GAAG,GAAG,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,sBAAsB,CAAC;IACrE,MAAM,OAAO,GAAG,WAAW,CAAC,IAAI,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC,CAAC;IAEzD,IAAI,CAAC;QACH,aAAa,CAAC,IAAI,CAAC,OAAO,EAAE,yBAAyB,CAAC,EAAE,mBAAmB,EAAE,OAAO,CAAC,CAAC;QACtF,aAAa,CAAC,IAAI,CAAC,OAAO,EAAE,sBAAsB,CAAC,EAAE,gBAAgB,EAAE,OAAO,CAAC,CAAC;QAChF,aAAa,CAAC,IAAI,CAAC,OAAO,EAAE,kBAAkB,CAAC,EAAE,YAAY,EAAE,OAAO,CAAC,CAAC;QACxE,aAAa,CAAC,IAAI,CAAC,OAAO,EAAE,sBAAsB,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;QAChG,IAAI,cAAc,KAAK,IAAI,EAAE,CAAC;YAC5B,aAAa,CAAC,IAAI,CAAC,OAAO,EAAE,eAAe,CAAC,EAAE,cAAc,EAAE,OAAO,CAAC,CAAC;QACzE,CAAC;QAED,sEAAsE;QACtE,gEAAgE;QAChE,0DAA0D;QAC1D,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK;QACvB,iEAAiE;QACjE,CAAC,MAAM,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC,OAAO,EAAE,sBAAsB,CAAC,EAAE,OAAO,CAAC,CACvF,CAAC;QACF,MAAM,OAAO,GAAG,sBAAsB,CAAC,MAAM,CAAC,CAAC;QAC/C,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;YACnB,MAAM,IAAI,KAAK,CACb,wDAAwD,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CACpI,CAAC;QACJ,CAAC;QAED,qEAAqE;QACrE,mEAAmE;QACnE,iBAAiB;QACjB,UAAU,CAAC,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;IACtC,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,kEAAkE;QAClE,IAAI,CAAC;YACH,MAAM,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;QACpD,CAAC;QAAC,MAAM,CAAC;YACP,wDAAwD;QAC1D,CAAC;QACD,MAAM,GAAG,CAAC;IACZ,CAAC;IAED,MAAM,KAAK,GAAG;QACZ,yBAAyB;QACzB,sBAAsB;QACtB,kBAAkB;QAClB,sBAAsB;KACvB,CAAC;IACF,IAAI,cAAc,KAAK,IAAI;QAAE,KAAK,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;IAEzD,OAAO;QACL,SAAS,EAAE,IAAI,CAAC,SAAS;QACzB,KAAK;QACL,WAAW,EAAE,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,sBAAsB,CAAC;KAC1D,CAAC;AACJ,CAAC"}
|