@openrig/cli 0.2.0 → 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/dist/adapters/claude-code-adapter.d.ts +10 -0
- package/daemon/dist/adapters/claude-code-adapter.d.ts.map +1 -1
- package/daemon/dist/adapters/claude-code-adapter.js +41 -3
- package/daemon/dist/adapters/claude-code-adapter.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/026_inbox_entries.d.ts +1 -1
- package/daemon/dist/db/migrations/026_inbox_entries.js +1 -1
- package/daemon/dist/db/migrations/029_classifier_leases.d.ts +1 -1
- package/daemon/dist/db/migrations/029_classifier_leases.js +1 -1
- 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-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-starter-resolver.d.ts +10 -16
- package/daemon/dist/domain/agent-starter-resolver.d.ts.map +1 -1
- package/daemon/dist/domain/agent-starter-resolver.js +11 -13
- package/daemon/dist/domain/agent-starter-resolver.js.map +1 -1
- package/daemon/dist/domain/classifier-lease-manager.d.ts +1 -1
- package/daemon/dist/domain/classifier-lease-manager.js +1 -1
- 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 +14 -1
- package/daemon/dist/domain/context-usage-store.d.ts.map +1 -1
- package/daemon/dist/domain/context-usage-store.js +156 -1
- 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/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/node-inventory.d.ts.map +1 -1
- package/daemon/dist/domain/node-inventory.js +24 -0
- package/daemon/dist/domain/node-inventory.js.map +1 -1
- package/daemon/dist/domain/node-launcher.d.ts.map +1 -1
- package/daemon/dist/domain/node-launcher.js +7 -5
- package/daemon/dist/domain/node-launcher.js.map +1 -1
- 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 +1 -1
- package/daemon/dist/domain/queue-repository.d.ts +22 -4
- package/daemon/dist/domain/queue-repository.d.ts.map +1 -1
- package/daemon/dist/domain/queue-repository.js +80 -22
- package/daemon/dist/domain/queue-repository.js.map +1 -1
- 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.map +1 -1
- package/daemon/dist/domain/restore-check-service.js +19 -6
- package/daemon/dist/domain/restore-check-service.js.map +1 -1
- package/daemon/dist/domain/restore-orchestrator.d.ts.map +1 -1
- package/daemon/dist/domain/restore-orchestrator.js +4 -2
- package/daemon/dist/domain/restore-orchestrator.js.map +1 -1
- package/daemon/dist/domain/rig-repository.d.ts +14 -0
- package/daemon/dist/domain/rig-repository.d.ts.map +1 -1
- package/daemon/dist/domain/rig-repository.js +41 -0
- 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 +15 -0
- package/daemon/dist/domain/rigspec-codec.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 +136 -4
- 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 +157 -4
- package/daemon/dist/domain/rigspec-schema.js.map +1 -1
- package/daemon/dist/domain/runtime-adapter.d.ts +11 -0
- package/daemon/dist/domain/runtime-adapter.d.ts.map +1 -1
- package/daemon/dist/domain/runtime-adapter.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/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-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/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-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.map +1 -1
- package/daemon/dist/domain/transcript-store.js +7 -1
- package/daemon/dist/domain/transcript-store.js.map +1 -1
- package/daemon/dist/domain/types.d.ts +101 -2
- 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.map +1 -1
- package/daemon/dist/domain/view-event-bridge.js +2 -3
- package/daemon/dist/domain/view-event-bridge.js.map +1 -1
- 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-projector.js +11 -3
- package/daemon/dist/domain/workflow-projector.js.map +1 -1
- package/daemon/dist/domain/workflow-spec-cache.d.ts +7 -0
- package/daemon/dist/domain/workflow-spec-cache.d.ts.map +1 -1
- package/daemon/dist/domain/workflow-spec-cache.js +62 -15
- package/daemon/dist/domain/workflow-spec-cache.js.map +1 -1
- 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 +10 -1
- 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/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/queue.d.ts.map +1 -1
- package/daemon/dist/routes/queue.js +52 -1
- package/daemon/dist/routes/queue.js.map +1 -1
- 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 +73 -7
- 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/sessions.d.ts.map +1 -1
- package/daemon/dist/routes/sessions.js +119 -0
- 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/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/up.d.ts.map +1 -1
- package/daemon/dist/routes/up.js +21 -3
- package/daemon/dist/routes/up.js.map +1 -1
- 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.map +1 -1
- package/daemon/dist/routes/workflow.js +43 -0
- package/daemon/dist/routes/workflow.js.map +1 -1
- 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 +51 -0
- package/daemon/dist/server.d.ts.map +1 -1
- package/daemon/dist/server.js +52 -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 +385 -2
- package/daemon/dist/startup.js.map +1 -1
- package/daemon/docs/reference/agent-spec.md +7 -7
- package/daemon/docs/reference/agent-startup-guide.md +2 -2
- package/daemon/docs/reference/project-workspace.md +102 -0
- package/daemon/specs/agents/apps/vault-specialist/agent.yaml +1 -1
- 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/development/implementer/agent.yaml +1 -1
- package/daemon/specs/agents/development/implementer/guidance/role.md +0 -1
- package/daemon/specs/agents/orchestration/orchestrator/agent.yaml +1 -1
- package/daemon/specs/agents/orchestration/orchestrator/guidance/role.md +2 -3
- package/daemon/specs/agents/shared/agent.yaml +0 -2
- package/daemon/specs/agents/shared/skills/core/openrig-user/SKILL.md +25 -0
- package/daemon/specs/agents/shared/skills/core/openrig-user-settings/SKILL.md +153 -0
- package/daemon/specs/agents/shared/skills/rig-architect/SKILL.md +1 -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/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/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/daemon.d.ts.map +1 -1
- package/dist/commands/daemon.js +8 -0
- package/dist/commands/daemon.js.map +1 -1
- 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/ps.d.ts.map +1 -1
- package/dist/commands/ps.js +173 -14
- package/dist/commands/ps.js.map +1 -1
- package/dist/commands/queue.d.ts.map +1 -1
- package/dist/commands/queue.js +9 -0
- package/dist/commands/queue.js.map +1 -1
- package/dist/commands/send.d.ts +7 -0
- package/dist/commands/send.d.ts.map +1 -1
- package/dist/commands/send.js +24 -1
- package/dist/commands/send.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 +12 -8
- package/dist/commands/specs.js.map +1 -1
- package/dist/commands/up.d.ts.map +1 -1
- package/dist/commands/up.js +17 -3
- package/dist/commands/up.js.map +1 -1
- package/dist/commands/whoami.d.ts.map +1 -1
- package/dist/commands/whoami.js +9 -4
- package/dist/commands/whoami.js.map +1 -1
- package/dist/commands/workflow.d.ts.map +1 -1
- package/dist/commands/workflow.js +37 -0
- package/dist/commands/workflow.js.map +1 -1
- 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/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/index.d.ts +4 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +6 -0
- package/dist/index.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.js +1 -1
- package/dist/restore-packet/claude-transcript-parser.js.map +1 -1
- package/dist/restore-packet/codex-jsonl-parser.js +1 -1
- package/dist/restore-packet/codex-jsonl-parser.js.map +1 -1
- package/package.json +2 -2
- 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 -956
- package/ui/dist/assets/index-B09doO8H.js +0 -139
- package/ui/dist/assets/index-Dec25siz.css +0 -1
- package/ui/dist/assets/index-GNYaWmBj.js +0 -225
|
@@ -0,0 +1,103 @@
|
|
|
1
|
+
// Slice Story View v1 — slice → workflow_instance binding helper.
|
|
2
|
+
//
|
|
3
|
+
// Given a slice's qitem set, find the workflow_instance(s) that touch
|
|
4
|
+
// any of those qitems. Two signals (UNION):
|
|
5
|
+
//
|
|
6
|
+
// 1. workflow_step_trails.prior_qitem_id IN (slice qitems) -- step closure
|
|
7
|
+
// OR workflow_step_trails.next_qitem_id IN (slice qitems) -- step projection
|
|
8
|
+
// → instance has historically touched this slice
|
|
9
|
+
// 2. workflow_instances.current_frontier_json LIKE '%qitemId%'
|
|
10
|
+
// → instance is currently active on a slice qitem
|
|
11
|
+
//
|
|
12
|
+
// Returns the instance id(s) sorted by created_at DESC. v1 picks the
|
|
13
|
+
// most-recent instance when multiple bind to the slice (per PRD: "when
|
|
14
|
+
// a slice has more than one workflow_instance, v1 picks the most recent
|
|
15
|
+
// or surfaces a 'multiple instances' indicator; driver picks the exact
|
|
16
|
+
// UX with review at audit time"). The picked-most-recent
|
|
17
|
+
// behavior is the operator-friendly default; the multiple-instance
|
|
18
|
+
// indicator is exposed via the `additionalInstanceIds` field so the UI
|
|
19
|
+
// can surface a "+N more" hint without losing data.
|
|
20
|
+
//
|
|
21
|
+
// MVP single-host context: this query runs ad-hoc per slice detail
|
|
22
|
+
// fetch; not cached. The detail projector itself caches at the slice
|
|
23
|
+
// indexer's TTL boundary.
|
|
24
|
+
export function findSliceWorkflowBinding(db, qitemIds) {
|
|
25
|
+
if (qitemIds.length === 0)
|
|
26
|
+
return { primary: null, additionalInstanceIds: [] };
|
|
27
|
+
const instanceIds = new Set();
|
|
28
|
+
// Signal 1: trails referencing slice qitems via prior_qitem_id or next_qitem_id.
|
|
29
|
+
try {
|
|
30
|
+
const placeholders = qitemIds.map(() => "?").join(",");
|
|
31
|
+
const trailRows = db.prepare(`SELECT DISTINCT instance_id FROM workflow_step_trails
|
|
32
|
+
WHERE prior_qitem_id IN (${placeholders})
|
|
33
|
+
OR next_qitem_id IN (${placeholders})`).all(...qitemIds, ...qitemIds);
|
|
34
|
+
for (const r of trailRows)
|
|
35
|
+
instanceIds.add(r.instance_id);
|
|
36
|
+
}
|
|
37
|
+
catch {
|
|
38
|
+
// workflow_step_trails absent — skip
|
|
39
|
+
}
|
|
40
|
+
// Signal 2: live frontier on a slice qitem (active step packet).
|
|
41
|
+
// current_frontier_json is a JSON array of strings; LIKE '%"qitem"%'
|
|
42
|
+
// is a cheap heuristic that matches the JSON-encoded form. False
|
|
43
|
+
// positives possible if a qitem id appears as a substring of an
|
|
44
|
+
// unrelated id, but ULID prefix discipline (timestamps + random) makes
|
|
45
|
+
// collisions astronomically unlikely at single-host MVP scale.
|
|
46
|
+
try {
|
|
47
|
+
for (const qid of qitemIds) {
|
|
48
|
+
const liveRows = db.prepare(`SELECT instance_id FROM workflow_instances
|
|
49
|
+
WHERE current_frontier_json LIKE ?`).all(`%${qid}%`);
|
|
50
|
+
for (const r of liveRows)
|
|
51
|
+
instanceIds.add(r.instance_id);
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
catch {
|
|
55
|
+
// workflow_instances absent — skip
|
|
56
|
+
}
|
|
57
|
+
if (instanceIds.size === 0)
|
|
58
|
+
return { primary: null, additionalInstanceIds: [] };
|
|
59
|
+
// Resolve full rows; sort by created_at DESC; pick most recent as primary.
|
|
60
|
+
const idList = Array.from(instanceIds);
|
|
61
|
+
const idPlaceholders = idList.map(() => "?").join(",");
|
|
62
|
+
let rows = [];
|
|
63
|
+
try {
|
|
64
|
+
rows = db.prepare(`SELECT instance_id, workflow_name, workflow_version, status,
|
|
65
|
+
current_frontier_json, current_step_id, hop_count,
|
|
66
|
+
created_at, completed_at
|
|
67
|
+
FROM workflow_instances
|
|
68
|
+
WHERE instance_id IN (${idPlaceholders})
|
|
69
|
+
ORDER BY created_at DESC, instance_id DESC`).all(...idList);
|
|
70
|
+
}
|
|
71
|
+
catch {
|
|
72
|
+
return { primary: null, additionalInstanceIds: [] };
|
|
73
|
+
}
|
|
74
|
+
if (rows.length === 0)
|
|
75
|
+
return { primary: null, additionalInstanceIds: [] };
|
|
76
|
+
const primary = rowToBinding(rows[0]);
|
|
77
|
+
const additional = rows.slice(1).map((r) => r.instance_id);
|
|
78
|
+
return { primary, additionalInstanceIds: additional };
|
|
79
|
+
}
|
|
80
|
+
function rowToBinding(row) {
|
|
81
|
+
let frontier = [];
|
|
82
|
+
try {
|
|
83
|
+
const parsed = JSON.parse(row.current_frontier_json);
|
|
84
|
+
if (Array.isArray(parsed))
|
|
85
|
+
frontier = parsed.filter((x) => typeof x === "string");
|
|
86
|
+
}
|
|
87
|
+
catch {
|
|
88
|
+
// malformed JSON — empty frontier (instance is in a degraded state;
|
|
89
|
+
// the v1 UI will still render the bound workflow_name + status).
|
|
90
|
+
}
|
|
91
|
+
return {
|
|
92
|
+
instanceId: row.instance_id,
|
|
93
|
+
workflowName: row.workflow_name,
|
|
94
|
+
workflowVersion: row.workflow_version,
|
|
95
|
+
status: row.status,
|
|
96
|
+
currentStepId: row.current_step_id,
|
|
97
|
+
currentFrontier: frontier,
|
|
98
|
+
hopCount: row.hop_count,
|
|
99
|
+
createdAt: row.created_at,
|
|
100
|
+
completedAt: row.completed_at,
|
|
101
|
+
};
|
|
102
|
+
}
|
|
103
|
+
//# sourceMappingURL=slice-workflow-binding.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"slice-workflow-binding.js","sourceRoot":"","sources":["../../../src/domain/workflow/slice-workflow-binding.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
import type { WorkflowSpec } from "../workflow-types.js";
|
|
2
|
+
export interface SpecGraphNode {
|
|
3
|
+
/** step.id (e.g., "discovery"). */
|
|
4
|
+
stepId: string;
|
|
5
|
+
/** Display label = step.role title with id fallback. */
|
|
6
|
+
label: string;
|
|
7
|
+
/** step.actor_role (e.g., "discovery-router"). */
|
|
8
|
+
role: string;
|
|
9
|
+
/** First preferred_target seat for this role, when declared. UI uses
|
|
10
|
+
* this to compose PL-019 activity indicators on the spec node. */
|
|
11
|
+
preferredTarget: string | null;
|
|
12
|
+
/** True for the spec's entry step (the one workflow_instance starts on). */
|
|
13
|
+
isEntry: boolean;
|
|
14
|
+
/** True when this is the active step on the bound instance. */
|
|
15
|
+
isCurrent: boolean;
|
|
16
|
+
/** True when this step has no next_hop pointing forward (possible terminal). */
|
|
17
|
+
isTerminal: boolean;
|
|
18
|
+
}
|
|
19
|
+
export interface SpecGraphEdge {
|
|
20
|
+
fromStepId: string;
|
|
21
|
+
toStepId: string;
|
|
22
|
+
/** "direct" only at v1 — Phase D's spec format does not carry
|
|
23
|
+
* routing_type yet (audit row 6 carve-out). */
|
|
24
|
+
routingType: "direct";
|
|
25
|
+
/** True when this edge is the loop-back edge (target step earlier in
|
|
26
|
+
* declared order than source). UI uses this to optionally curve the
|
|
27
|
+
* edge differently from forward edges. */
|
|
28
|
+
isLoopBack: boolean;
|
|
29
|
+
}
|
|
30
|
+
export interface SpecGraphPayload {
|
|
31
|
+
specName: string;
|
|
32
|
+
specVersion: string;
|
|
33
|
+
nodes: SpecGraphNode[];
|
|
34
|
+
edges: SpecGraphEdge[];
|
|
35
|
+
}
|
|
36
|
+
export interface PhaseDefinition {
|
|
37
|
+
/** step.id (the canonical phase tag). */
|
|
38
|
+
id: string;
|
|
39
|
+
/** Human label = role title fallback to step.id. */
|
|
40
|
+
label: string;
|
|
41
|
+
role: string;
|
|
42
|
+
}
|
|
43
|
+
export interface CurrentStepPayload {
|
|
44
|
+
stepId: string;
|
|
45
|
+
role: string;
|
|
46
|
+
objective: string | null;
|
|
47
|
+
/** Phase D's WorkflowStepSpec.allowed_exits enum subset. */
|
|
48
|
+
allowedExits: string[];
|
|
49
|
+
/** Resolved next-step destinations from next_hop.suggested_roles
|
|
50
|
+
* mapped back to step ids. Empty array when no next_hop or no roles. */
|
|
51
|
+
allowedNextSteps: Array<{
|
|
52
|
+
stepId: string;
|
|
53
|
+
role: string;
|
|
54
|
+
reason: "next_hop";
|
|
55
|
+
}>;
|
|
56
|
+
hopCount: number;
|
|
57
|
+
instanceStatus: string;
|
|
58
|
+
}
|
|
59
|
+
/**
|
|
60
|
+
* Projects the spec graph for the Topology tab. Nodes are ordered by
|
|
61
|
+
* the spec's declared step order; edges are derived from each step's
|
|
62
|
+
* next_hop.suggested_roles list resolved back to step ids.
|
|
63
|
+
*/
|
|
64
|
+
export declare function projectSpecGraph(spec: WorkflowSpec, currentStepId: string | null): SpecGraphPayload;
|
|
65
|
+
/**
|
|
66
|
+
* Projects the spec's phase definitions. Each step contributes one phase
|
|
67
|
+
* (canonical tag = step.id; label = step.actor_role). The Story tab
|
|
68
|
+
* groups events by phase id when a step trail exists for the event's
|
|
69
|
+
* qitem; events without a trail mapping render in an "untagged" group
|
|
70
|
+
* (the UI decides the literal label).
|
|
71
|
+
*/
|
|
72
|
+
export declare function projectPhaseDefinitions(spec: WorkflowSpec): PhaseDefinition[];
|
|
73
|
+
/**
|
|
74
|
+
* Projects the Current Step payload from the spec + the bound instance's
|
|
75
|
+
* current_step_id. Returns null when current_step_id is null (terminal
|
|
76
|
+
* instance) or doesn't resolve against the spec (instance instantiated
|
|
77
|
+
* against a different spec version that has since changed shape — UI
|
|
78
|
+
* surfaces this as "current step unknown").
|
|
79
|
+
*/
|
|
80
|
+
export declare function projectCurrentStep(spec: WorkflowSpec, currentStepId: string | null, hopCount: number, instanceStatus: string): CurrentStepPayload | null;
|
|
81
|
+
//# sourceMappingURL=slice-workflow-projection.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"slice-workflow-projection.d.ts","sourceRoot":"","sources":["../../../src/domain/workflow/slice-workflow-projection.ts"],"names":[],"mappings":"AAwBA,OAAO,KAAK,EAAE,YAAY,EAAoB,MAAM,sBAAsB,CAAC;AAE3E,MAAM,WAAW,aAAa;IAC5B,mCAAmC;IACnC,MAAM,EAAE,MAAM,CAAC;IACf,wDAAwD;IACxD,KAAK,EAAE,MAAM,CAAC;IACd,kDAAkD;IAClD,IAAI,EAAE,MAAM,CAAC;IACb;uEACmE;IACnE,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,4EAA4E;IAC5E,OAAO,EAAE,OAAO,CAAC;IACjB,+DAA+D;IAC/D,SAAS,EAAE,OAAO,CAAC;IACnB,gFAAgF;IAChF,UAAU,EAAE,OAAO,CAAC;CACrB;AAED,MAAM,WAAW,aAAa;IAC5B,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB;oDACgD;IAChD,WAAW,EAAE,QAAQ,CAAC;IACtB;;+CAE2C;IAC3C,UAAU,EAAE,OAAO,CAAC;CACrB;AAED,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,aAAa,EAAE,CAAC;IACvB,KAAK,EAAE,aAAa,EAAE,CAAC;CACxB;AAED,MAAM,WAAW,eAAe;IAC9B,yCAAyC;IACzC,EAAE,EAAE,MAAM,CAAC;IACX,oDAAoD;IACpD,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,kBAAkB;IACjC,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,4DAA4D;IAC5D,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB;6EACyE;IACzE,gBAAgB,EAAE,KAAK,CAAC;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,UAAU,CAAA;KAAE,CAAC,CAAC;IAC9E,QAAQ,EAAE,MAAM,CAAC;IACjB,cAAc,EAAE,MAAM,CAAC;CACxB;AAED;;;;GAIG;AACH,wBAAgB,gBAAgB,CAC9B,IAAI,EAAE,YAAY,EAClB,aAAa,EAAE,MAAM,GAAG,IAAI,GAC3B,gBAAgB,CA+ClB;AAED;;;;;;GAMG;AACH,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,YAAY,GAAG,eAAe,EAAE,CAM7E;AAED;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAChC,IAAI,EAAE,YAAY,EAClB,aAAa,EAAE,MAAM,GAAG,IAAI,EAC5B,QAAQ,EAAE,MAAM,EAChB,cAAc,EAAE,MAAM,GACrB,kBAAkB,GAAG,IAAI,CAuB3B"}
|
|
@@ -0,0 +1,127 @@
|
|
|
1
|
+
// Slice Story View v1 — workflow_spec → per-tab payload projection.
|
|
2
|
+
//
|
|
3
|
+
// Given a SliceWorkflowBinding (the resolved instance) and the bound
|
|
4
|
+
// WorkflowSpec (read through Phase D's WorkflowSpecCache), project the
|
|
5
|
+
// four v1-floor dimensions:
|
|
6
|
+
//
|
|
7
|
+
// 1. specGraph — nodes (one per step) + edges (from each step's
|
|
8
|
+
// next_hop.suggested_roles → next-step ids). All edges carry
|
|
9
|
+
// routingType: "direct" because Phase D's spec format does NOT
|
|
10
|
+
// yet have a routing_type field (per audit row 6 carve-out:
|
|
11
|
+
// dimension #4 ships as default-styled solid edges only;
|
|
12
|
+
// routing-type metadata is v2+).
|
|
13
|
+
// 2. phaseDefinitions — step.id → { label, role } so the Story tab
|
|
14
|
+
// can group events by spec-declared phase tags. Replaces v0's
|
|
15
|
+
// hardcoded legacy phase taxonomy with spec-driven mapping.
|
|
16
|
+
// 3. currentStep — bound instance's current_step_id resolved against
|
|
17
|
+
// the spec, returning step.objective + allowed_exits + the
|
|
18
|
+
// enumerated next-step destinations from next_hop.
|
|
19
|
+
// 4. eventPhaseFor(stepId) — convenience used by SliceDetailProjector
|
|
20
|
+
// to tag each StoryEvent with the spec's phase id when the event
|
|
21
|
+
// can be mapped to a step (via workflow_step_trails join). When
|
|
22
|
+
// there is no mapping, the event stays untagged (UI renders it in
|
|
23
|
+
// the "Other" or "Untagged" group).
|
|
24
|
+
/**
|
|
25
|
+
* Projects the spec graph for the Topology tab. Nodes are ordered by
|
|
26
|
+
* the spec's declared step order; edges are derived from each step's
|
|
27
|
+
* next_hop.suggested_roles list resolved back to step ids.
|
|
28
|
+
*/
|
|
29
|
+
export function projectSpecGraph(spec, currentStepId) {
|
|
30
|
+
const declaredOrder = spec.steps.map((s) => s.id);
|
|
31
|
+
const stepByRole = new Map();
|
|
32
|
+
for (const step of spec.steps) {
|
|
33
|
+
if (!stepByRole.has(step.actor_role))
|
|
34
|
+
stepByRole.set(step.actor_role, step);
|
|
35
|
+
}
|
|
36
|
+
const entryRole = spec.entry?.role ?? spec.steps[0]?.actor_role;
|
|
37
|
+
const entryStepId = entryRole ? stepByRole.get(entryRole)?.id : undefined;
|
|
38
|
+
const nodes = spec.steps.map((step) => {
|
|
39
|
+
const roleSpec = spec.roles[step.actor_role] ?? {};
|
|
40
|
+
const firstTarget = roleSpec.preferred_targets?.[0] ?? null;
|
|
41
|
+
return {
|
|
42
|
+
stepId: step.id,
|
|
43
|
+
label: step.actor_role,
|
|
44
|
+
role: step.actor_role,
|
|
45
|
+
preferredTarget: firstTarget,
|
|
46
|
+
isEntry: step.id === entryStepId,
|
|
47
|
+
isCurrent: step.id === currentStepId,
|
|
48
|
+
isTerminal: !hasNextHop(step),
|
|
49
|
+
};
|
|
50
|
+
});
|
|
51
|
+
const edges = [];
|
|
52
|
+
for (const step of spec.steps) {
|
|
53
|
+
const suggestedRoles = step.next_hop?.suggested_roles ?? [];
|
|
54
|
+
for (const role of suggestedRoles) {
|
|
55
|
+
const target = stepByRole.get(role);
|
|
56
|
+
if (!target)
|
|
57
|
+
continue;
|
|
58
|
+
const fromIdx = declaredOrder.indexOf(step.id);
|
|
59
|
+
const toIdx = declaredOrder.indexOf(target.id);
|
|
60
|
+
edges.push({
|
|
61
|
+
fromStepId: step.id,
|
|
62
|
+
toStepId: target.id,
|
|
63
|
+
routingType: "direct",
|
|
64
|
+
isLoopBack: toIdx >= 0 && fromIdx >= 0 && toIdx <= fromIdx,
|
|
65
|
+
});
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
return {
|
|
69
|
+
specName: spec.id,
|
|
70
|
+
specVersion: spec.version,
|
|
71
|
+
nodes,
|
|
72
|
+
edges,
|
|
73
|
+
};
|
|
74
|
+
}
|
|
75
|
+
/**
|
|
76
|
+
* Projects the spec's phase definitions. Each step contributes one phase
|
|
77
|
+
* (canonical tag = step.id; label = step.actor_role). The Story tab
|
|
78
|
+
* groups events by phase id when a step trail exists for the event's
|
|
79
|
+
* qitem; events without a trail mapping render in an "untagged" group
|
|
80
|
+
* (the UI decides the literal label).
|
|
81
|
+
*/
|
|
82
|
+
export function projectPhaseDefinitions(spec) {
|
|
83
|
+
return spec.steps.map((step) => ({
|
|
84
|
+
id: step.id,
|
|
85
|
+
label: step.actor_role,
|
|
86
|
+
role: step.actor_role,
|
|
87
|
+
}));
|
|
88
|
+
}
|
|
89
|
+
/**
|
|
90
|
+
* Projects the Current Step payload from the spec + the bound instance's
|
|
91
|
+
* current_step_id. Returns null when current_step_id is null (terminal
|
|
92
|
+
* instance) or doesn't resolve against the spec (instance instantiated
|
|
93
|
+
* against a different spec version that has since changed shape — UI
|
|
94
|
+
* surfaces this as "current step unknown").
|
|
95
|
+
*/
|
|
96
|
+
export function projectCurrentStep(spec, currentStepId, hopCount, instanceStatus) {
|
|
97
|
+
if (!currentStepId)
|
|
98
|
+
return null;
|
|
99
|
+
const step = spec.steps.find((s) => s.id === currentStepId);
|
|
100
|
+
if (!step)
|
|
101
|
+
return null;
|
|
102
|
+
const stepByRole = new Map();
|
|
103
|
+
for (const s of spec.steps) {
|
|
104
|
+
if (!stepByRole.has(s.actor_role))
|
|
105
|
+
stepByRole.set(s.actor_role, s);
|
|
106
|
+
}
|
|
107
|
+
const allowedNextSteps = [];
|
|
108
|
+
for (const role of step.next_hop?.suggested_roles ?? []) {
|
|
109
|
+
const target = stepByRole.get(role);
|
|
110
|
+
if (!target)
|
|
111
|
+
continue;
|
|
112
|
+
allowedNextSteps.push({ stepId: target.id, role, reason: "next_hop" });
|
|
113
|
+
}
|
|
114
|
+
return {
|
|
115
|
+
stepId: step.id,
|
|
116
|
+
role: step.actor_role,
|
|
117
|
+
objective: step.objective ?? null,
|
|
118
|
+
allowedExits: [...(step.allowed_exits ?? [])],
|
|
119
|
+
allowedNextSteps,
|
|
120
|
+
hopCount,
|
|
121
|
+
instanceStatus,
|
|
122
|
+
};
|
|
123
|
+
}
|
|
124
|
+
function hasNextHop(step) {
|
|
125
|
+
return (step.next_hop?.suggested_roles ?? []).length > 0;
|
|
126
|
+
}
|
|
127
|
+
//# sourceMappingURL=slice-workflow-projection.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"slice-workflow-projection.js","sourceRoot":"","sources":["../../../src/domain/workflow/slice-workflow-projection.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
import { type WorkflowSpecCache } from "../workflow-spec-cache.js";
|
|
2
|
+
export interface StarterSpecLoadResult {
|
|
3
|
+
/** Specs newly seeded into the cache during this call. */
|
|
4
|
+
loaded: Array<{
|
|
5
|
+
name: string;
|
|
6
|
+
version: string;
|
|
7
|
+
sourcePath: string;
|
|
8
|
+
}>;
|
|
9
|
+
/** Specs that were already cached (operator override or prior startup). */
|
|
10
|
+
skipped: Array<{
|
|
11
|
+
name: string;
|
|
12
|
+
version: string;
|
|
13
|
+
sourcePathInCache: string;
|
|
14
|
+
}>;
|
|
15
|
+
/** Specs that failed to parse / load — surfaced for diagnostic logging. */
|
|
16
|
+
errors: Array<{
|
|
17
|
+
sourcePath: string;
|
|
18
|
+
code: string;
|
|
19
|
+
message: string;
|
|
20
|
+
}>;
|
|
21
|
+
}
|
|
22
|
+
export interface StarterSpecLoaderOpts {
|
|
23
|
+
/** Phase D's workflow-spec-cache (already constructed in startup.ts). */
|
|
24
|
+
cache: WorkflowSpecCache;
|
|
25
|
+
/** Absolute directory containing built-in starter spec files (.yaml only at v0). */
|
|
26
|
+
builtinDir: string;
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* Walks the builtinDir and seeds each spec file into the cache, skipping
|
|
30
|
+
* those that are already cached for the same (name, version). Idempotent
|
|
31
|
+
* on repeated calls. Returns a structured result for diagnostic logging
|
|
32
|
+
* (which the daemon can log at INFO; tests assert on the shape).
|
|
33
|
+
*
|
|
34
|
+
* If the builtinDir doesn't exist, returns an empty result (no error) —
|
|
35
|
+
* a daemon shipped without bundled starter specs is a valid configuration.
|
|
36
|
+
*/
|
|
37
|
+
export declare function loadStarterWorkflowSpecs(opts: StarterSpecLoaderOpts): StarterSpecLoadResult;
|
|
38
|
+
/**
|
|
39
|
+
* Resolves the default built-in starter directory relative to this
|
|
40
|
+
* loader file's location on disk. Works in both dev (running from
|
|
41
|
+
* `src/`) and prod (running from `dist/`) — the build step copies the
|
|
42
|
+
* workflow spec files to `dist/builtins/workflow-specs/` when bundled
|
|
43
|
+
* specs are present, so the resolved path works in both layouts.
|
|
44
|
+
*
|
|
45
|
+
* Layout: this file is at `<pkg>/{src|dist}/domain/workflow/`. The
|
|
46
|
+
* built-in dir is at `<pkg>/{src|dist}/builtins/workflow-specs/`. Two
|
|
47
|
+
* levels up from this file's dirname is the package's src/ or dist/
|
|
48
|
+
* root.
|
|
49
|
+
*/
|
|
50
|
+
export declare function defaultBuiltinSpecsDir(): string;
|
|
51
|
+
//# sourceMappingURL=starter-spec-loader.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"starter-spec-loader.d.ts","sourceRoot":"","sources":["../../../src/domain/workflow/starter-spec-loader.ts"],"names":[],"mappings":"AA0BA,OAAO,EAGL,KAAK,iBAAiB,EACvB,MAAM,2BAA2B,CAAC;AAEnC,MAAM,WAAW,qBAAqB;IACpC,0DAA0D;IAC1D,MAAM,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACrE,2EAA2E;IAC3E,OAAO,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,iBAAiB,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC7E,2EAA2E;IAC3E,MAAM,EAAE,KAAK,CAAC;QAAE,UAAU,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CACtE;AAED,MAAM,WAAW,qBAAqB;IACpC,yEAAyE;IACzE,KAAK,EAAE,iBAAiB,CAAC;IACzB,oFAAoF;IACpF,UAAU,EAAE,MAAM,CAAC;CACpB;AAID;;;;;;;;GAQG;AACH,wBAAgB,wBAAwB,CAAC,IAAI,EAAE,qBAAqB,GAAG,qBAAqB,CAkF3F;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,sBAAsB,IAAI,MAAM,CAK/C"}
|
|
@@ -0,0 +1,140 @@
|
|
|
1
|
+
// Built-in workflow-spec loader.
|
|
2
|
+
//
|
|
3
|
+
// Walks a built-in starter directory at daemon startup and seeds each
|
|
4
|
+
// spec file into PL-004 Phase D's WorkflowSpecCache. Idempotent: on
|
|
5
|
+
// repeated startup (or when an operator has authored a competing spec
|
|
6
|
+
// at a workspace path), the loader SKIPS specs that are already cached
|
|
7
|
+
// for the same (name, version) — the workspace-surface reconciliation
|
|
8
|
+
// contract from Phase D requires that operator edits win at next read,
|
|
9
|
+
// so the loader must not clobber them.
|
|
10
|
+
//
|
|
11
|
+
// Why skip-if-present rather than always-readThrough:
|
|
12
|
+
// WorkflowSpecCache.readThrough(absPath) UPDATES the cached row's
|
|
13
|
+
// source_path to whatever the caller passes. If we called readThrough
|
|
14
|
+
// on the built-in path every startup, an operator-authored row at a
|
|
15
|
+
// workspace path would have its source_path overwritten back to the
|
|
16
|
+
// built-in path — silently undoing the operator's override. The
|
|
17
|
+
// skip-if-present check preserves the override.
|
|
18
|
+
//
|
|
19
|
+
// Resolution: operators who want to refresh the built-in row from the
|
|
20
|
+
// shipped file (e.g., after deleting a workspace override) can call
|
|
21
|
+
// `cache.readThrough(builtinAbsPath)` directly via a future explicit
|
|
22
|
+
// refresh path; v0 does not surface that path, since the typical case
|
|
23
|
+
// (cold daemon, no override) is handled by the loader on first start.
|
|
24
|
+
import * as fs from "node:fs";
|
|
25
|
+
import * as path from "node:path";
|
|
26
|
+
import { WorkflowSpecError, parseWorkflowSpec, } from "../workflow-spec-cache.js";
|
|
27
|
+
const SPEC_FILE_EXTENSIONS = new Set([".yaml", ".yml"]);
|
|
28
|
+
/**
|
|
29
|
+
* Walks the builtinDir and seeds each spec file into the cache, skipping
|
|
30
|
+
* those that are already cached for the same (name, version). Idempotent
|
|
31
|
+
* on repeated calls. Returns a structured result for diagnostic logging
|
|
32
|
+
* (which the daemon can log at INFO; tests assert on the shape).
|
|
33
|
+
*
|
|
34
|
+
* If the builtinDir doesn't exist, returns an empty result (no error) —
|
|
35
|
+
* a daemon shipped without bundled starter specs is a valid configuration.
|
|
36
|
+
*/
|
|
37
|
+
export function loadStarterWorkflowSpecs(opts) {
|
|
38
|
+
const result = { loaded: [], skipped: [], errors: [] };
|
|
39
|
+
let entries;
|
|
40
|
+
try {
|
|
41
|
+
entries = fs.readdirSync(opts.builtinDir, { withFileTypes: true });
|
|
42
|
+
}
|
|
43
|
+
catch {
|
|
44
|
+
// Directory absent — no starter specs bundled. This is a valid
|
|
45
|
+
// configuration; not an error.
|
|
46
|
+
return result;
|
|
47
|
+
}
|
|
48
|
+
for (const entry of entries) {
|
|
49
|
+
if (!entry.isFile())
|
|
50
|
+
continue;
|
|
51
|
+
const ext = path.extname(entry.name).toLowerCase();
|
|
52
|
+
if (!SPEC_FILE_EXTENSIONS.has(ext))
|
|
53
|
+
continue;
|
|
54
|
+
const absPath = path.join(opts.builtinDir, entry.name);
|
|
55
|
+
let raw;
|
|
56
|
+
try {
|
|
57
|
+
raw = fs.readFileSync(absPath, "utf-8");
|
|
58
|
+
}
|
|
59
|
+
catch (err) {
|
|
60
|
+
result.errors.push({
|
|
61
|
+
sourcePath: absPath,
|
|
62
|
+
code: "spec_read_failed",
|
|
63
|
+
message: err instanceof Error ? err.message : String(err),
|
|
64
|
+
});
|
|
65
|
+
continue;
|
|
66
|
+
}
|
|
67
|
+
let parsedName;
|
|
68
|
+
let parsedVersion;
|
|
69
|
+
try {
|
|
70
|
+
const parsed = parseWorkflowSpec(raw, absPath);
|
|
71
|
+
parsedName = parsed.id;
|
|
72
|
+
parsedVersion = parsed.version;
|
|
73
|
+
}
|
|
74
|
+
catch (err) {
|
|
75
|
+
if (err instanceof WorkflowSpecError) {
|
|
76
|
+
result.errors.push({ sourcePath: absPath, code: err.code, message: err.message });
|
|
77
|
+
}
|
|
78
|
+
else {
|
|
79
|
+
result.errors.push({
|
|
80
|
+
sourcePath: absPath,
|
|
81
|
+
code: "spec_parse_failed",
|
|
82
|
+
message: err instanceof Error ? err.message : String(err),
|
|
83
|
+
});
|
|
84
|
+
}
|
|
85
|
+
continue;
|
|
86
|
+
}
|
|
87
|
+
// Workspace-surface reconciliation: if an entry already exists for
|
|
88
|
+
// this (name, version), DO NOT seed — operator override (or a prior
|
|
89
|
+
// startup's seed) wins.
|
|
90
|
+
const existing = opts.cache.getByNameVersion(parsedName, parsedVersion);
|
|
91
|
+
if (existing) {
|
|
92
|
+
result.skipped.push({
|
|
93
|
+
name: parsedName,
|
|
94
|
+
version: parsedVersion,
|
|
95
|
+
sourcePathInCache: existing.sourcePath,
|
|
96
|
+
});
|
|
97
|
+
continue;
|
|
98
|
+
}
|
|
99
|
+
// Seed via readThrough so the cache's normal insert path runs (hash
|
|
100
|
+
// computation, cached_at timestamp, JSON serialization of roles +
|
|
101
|
+
// steps). readThrough re-reads + re-parses the file; that's a small
|
|
102
|
+
// duplicate-work cost per spec at startup, acceptable for v0.
|
|
103
|
+
try {
|
|
104
|
+
const row = opts.cache.readThrough(absPath);
|
|
105
|
+
result.loaded.push({ name: row.name, version: row.version, sourcePath: row.sourcePath });
|
|
106
|
+
}
|
|
107
|
+
catch (err) {
|
|
108
|
+
if (err instanceof WorkflowSpecError) {
|
|
109
|
+
result.errors.push({ sourcePath: absPath, code: err.code, message: err.message });
|
|
110
|
+
}
|
|
111
|
+
else {
|
|
112
|
+
result.errors.push({
|
|
113
|
+
sourcePath: absPath,
|
|
114
|
+
code: "spec_seed_failed",
|
|
115
|
+
message: err instanceof Error ? err.message : String(err),
|
|
116
|
+
});
|
|
117
|
+
}
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
return result;
|
|
121
|
+
}
|
|
122
|
+
/**
|
|
123
|
+
* Resolves the default built-in starter directory relative to this
|
|
124
|
+
* loader file's location on disk. Works in both dev (running from
|
|
125
|
+
* `src/`) and prod (running from `dist/`) — the build step copies the
|
|
126
|
+
* workflow spec files to `dist/builtins/workflow-specs/` when bundled
|
|
127
|
+
* specs are present, so the resolved path works in both layouts.
|
|
128
|
+
*
|
|
129
|
+
* Layout: this file is at `<pkg>/{src|dist}/domain/workflow/`. The
|
|
130
|
+
* built-in dir is at `<pkg>/{src|dist}/builtins/workflow-specs/`. Two
|
|
131
|
+
* levels up from this file's dirname is the package's src/ or dist/
|
|
132
|
+
* root.
|
|
133
|
+
*/
|
|
134
|
+
export function defaultBuiltinSpecsDir() {
|
|
135
|
+
const here = path.dirname(new URL(import.meta.url).pathname);
|
|
136
|
+
// here = .../{src|dist}/domain/workflow
|
|
137
|
+
// package src/dist root = .../{src|dist}
|
|
138
|
+
return path.resolve(here, "..", "..", "builtins", "workflow-specs");
|
|
139
|
+
}
|
|
140
|
+
//# sourceMappingURL=starter-spec-loader.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"starter-spec-loader.js","sourceRoot":"","sources":["../../../src/domain/workflow/starter-spec-loader.ts"],"names":[],"mappings":"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"}
|
|
@@ -320,11 +320,19 @@ function resolveCurrentStep(spec, instance) {
|
|
|
320
320
|
null);
|
|
321
321
|
}
|
|
322
322
|
/**
|
|
323
|
-
* Resolve the next step.
|
|
324
|
-
* declaration order
|
|
325
|
-
* is a graduation feature per PRD § Risks "Workflow runtime over-engineered".
|
|
323
|
+
* Resolve the next step. Prefer the spec-authored `next_hop.suggested_roles`
|
|
324
|
+
* edge, then fall back to declaration order for legacy/simple specs.
|
|
326
325
|
*/
|
|
327
326
|
function resolveNextStep(spec, currentStep) {
|
|
327
|
+
if (currentStep.next_hop?.mode === "forbid")
|
|
328
|
+
return null;
|
|
329
|
+
for (const role of currentStep.next_hop?.suggested_roles ?? []) {
|
|
330
|
+
const target = spec.steps.find((s) => s.actor_role === role);
|
|
331
|
+
if (target)
|
|
332
|
+
return target;
|
|
333
|
+
}
|
|
334
|
+
if (currentStep.next_hop?.mode === "require")
|
|
335
|
+
return null;
|
|
328
336
|
const idx = spec.steps.findIndex((s) => s.id === currentStep.id);
|
|
329
337
|
if (idx === -1)
|
|
330
338
|
return null;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"workflow-projector.js","sourceRoot":"","sources":["../../src/domain/workflow-projector.ts"],"names":[],"mappings":"AAAA,sEAAsE;AACtE,EAAE;AACF,4DAA4D;AAC5D,EAAE;AACF,6DAA6D;AAC7D,uEAAuE;AACvE,yEAAyE;AACzE,uEAAuE;AACvE,8DAA8D;AAC9D,EAAE;AACF,oCAAoC;AACpC,+DAA+D;AAC/D,8DAA8D;AAC9D,wEAAwE;AACxE,gFAAgF;AAChF,gEAAgE;AAChE,oDAAoD;AACpD,iFAAiF;AACjF,EAAE;AACF,qEAAqE;AACrE,4DAA4D;AAgB5D,MAAM,OAAO,sBAAuB,SAAQ,KAAK;IAE7B;IAEA;IAHlB,YACkB,IAAY,EAC5B,OAAe,EACC,OAAiC;QAEjD,KAAK,CAAC,OAAO,CAAC,CAAC;QAJC,SAAI,GAAJ,IAAI,CAAQ;QAEZ,YAAO,GAAP,OAAO,CAA0B;QAGjD,IAAI,CAAC,IAAI,GAAG,wBAAwB,CAAC;IACvC,CAAC;CACF;AAuCD,MAAM,OAAO,iBAAiB;IAET;IACA;IACA;IACA;IACA;IACA;IACA;IAPnB,YACmB,EAAqB,EACrB,QAAkB,EAClB,SAA0B,EAC1B,aAAoC,EACpC,QAA8B,EAC9B,SAA4B,EAC5B,MAAkB,GAAG,EAAE,CAAC,IAAI,IAAI,EAAE;QANlC,OAAE,GAAF,EAAE,CAAmB;QACrB,aAAQ,GAAR,QAAQ,CAAU;QAClB,cAAS,GAAT,SAAS,CAAiB;QAC1B,kBAAa,GAAb,aAAa,CAAuB;QACpC,aAAQ,GAAR,QAAQ,CAAsB;QAC9B,cAAS,GAAT,SAAS,CAAmB;QAC5B,QAAG,GAAH,GAAG,CAA+B;IAClD,CAAC;IAEJ;;;;OAIG;IACH,KAAK,CAAC,OAAO,CAAC,KAAuB;QACnC,MAAM,QAAQ,GAAG,IAAI,CAAC,aAAa,CAAC,cAAc,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;QACrE,IAAI,QAAQ,CAAC,MAAM,KAAK,QAAQ,IAAI,QAAQ,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;YAClE,MAAM,IAAI,sBAAsB,CAC9B,qBAAqB,EACrB,qBAAqB,QAAQ,CAAC,UAAU,eAAe,QAAQ,CAAC,MAAM,gDAAgD,EACtH,EAAE,UAAU,EAAE,QAAQ,CAAC,UAAU,EAAE,MAAM,EAAE,QAAQ,CAAC,MAAM,EAAE,CAC7D,CAAC;QACJ,CAAC;QACD,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,QAAQ,CAAC,KAAK,CAAC,eAAe,CAAC,EAAE,CAAC;YAC9D,MAAM,IAAI,sBAAsB,CAC9B,wBAAwB,EACxB,SAAS,KAAK,CAAC,eAAe,gCAAgC,QAAQ,CAAC,UAAU,aAAa,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,eAAe,CAAC,0EAA0E,EAChN,EAAE,UAAU,EAAE,QAAQ,CAAC,UAAU,EAAE,eAAe,EAAE,KAAK,CAAC,eAAe,EAAE,QAAQ,EAAE,QAAQ,CAAC,eAAe,EAAE,CAChH,CAAC;QACJ,CAAC;QACD,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,gBAAgB,CAAC,QAAQ,CAAC,YAAY,EAAE,QAAQ,CAAC,eAAe,CAAC,CAAC;QACjG,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,MAAM,IAAI,sBAAsB,CAC9B,iBAAiB,EACjB,iBAAiB,QAAQ,CAAC,YAAY,IAAI,QAAQ,CAAC,eAAe,kEAAkE,EACpI,EAAE,YAAY,EAAE,QAAQ,CAAC,YAAY,EAAE,eAAe,EAAE,QAAQ,CAAC,eAAe,EAAE,CACnF,CAAC;QACJ,CAAC;QACD,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;QAE1B,+DAA+D;QAC/D,MAAM,aAAa,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;QACpE,IAAI,CAAC,aAAa,EAAE,CAAC;YACnB,MAAM,IAAI,sBAAsB,CAC9B,kBAAkB,EAClB,SAAS,KAAK,CAAC,eAAe,2BAA2B,EACzD,EAAE,eAAe,EAAE,KAAK,CAAC,eAAe,EAAE,CAC3C,CAAC;QACJ,CAAC;QACD,uEAAuE;QACvE,uEAAuE;QACvE,4DAA4D;QAC5D,MAAM,WAAW,GAAG,kBAAkB,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;QACvD,IAAI,CAAC,WAAW,EAAE,CAAC;YACjB,MAAM,IAAI,sBAAsB,CAC9B,sBAAsB,EACtB,qBAAqB,QAAQ,CAAC,UAAU,oDAAoD,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,aAAa,CAAC,2DAA2D,IAAI,CAAC,EAAE,IAAI,IAAI,CAAC,OAAO,uCAAuC,EAC3P,EAAE,UAAU,EAAE,QAAQ,CAAC,UAAU,EAAE,aAAa,EAAE,QAAQ,CAAC,aAAa,EAAE,QAAQ,EAAE,QAAQ,CAAC,eAAe,EAAE,CAC/G,CAAC;QACJ,CAAC;QAED,iEAAiE;QACjE,2DAA2D;QAC3D,iEAAiE;QACjE,oEAAoE;QACpE,oEAAoE;QACpE,gEAAgE;QAChE,wBAAwB;QACxB,IACE,WAAW,CAAC,aAAa;YACzB,WAAW,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC;YACpC,CAAC,WAAW,CAAC,aAAa,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,EAC/C,CAAC;YACD,MAAM,IAAI,sBAAsB,CAC9B,kBAAkB,EAClB,SAAS,WAAW,CAAC,EAAE,kBAAkB,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,aAAa,CAAC,UAAU,KAAK,CAAC,IAAI,2DAA2D,EACjK;gBACE,UAAU,EAAE,QAAQ,CAAC,UAAU;gBAC/B,MAAM,EAAE,WAAW,CAAC,EAAE;gBACtB,aAAa,EAAE,KAAK,CAAC,IAAI;gBACzB,YAAY,EAAE,WAAW,CAAC,aAAa;aACxC,CACF,CAAC;QACJ,CAAC;QAED,kEAAkE;QAClE,MAAM,QAAQ,GAAG,eAAe,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;QAEpD,MAAM,WAAW,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,WAAW,EAAE,CAAC;QAE7C,IAAI,WAAW,GAAkB,IAAI,CAAC;QACtC,IAAI,gBAAgB,GAAkB,IAAI,CAAC;QAC3C,IAAI,UAAU,GAAkB,IAAI,CAAC;QAErC,IAAI,yBAAyB,GAA2B,IAAI,CAAC;QAC7D,MAAM,eAAe,GAAqB,EAAE,CAAC;QAE7C,MAAM,GAAG,GAAG,IAAI,CAAC,EAAE,CAAC,WAAW,CAAC,GAAG,EAAE;YACnC,uEAAuE;YACvE,IAAI,iBAAiB,GAAkB,IAAI,CAAC;YAC5C,IAAI,KAAK,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;gBAC7B,IAAI,CAAC,QAAQ,EAAE,CAAC;oBACd,MAAM,IAAI,sBAAsB,CAC9B,cAAc,EACd,qBAAqB,QAAQ,CAAC,UAAU,2BAA2B,WAAW,CAAC,EAAE,8FAA8F,EAC/K,EAAE,UAAU,EAAE,QAAQ,CAAC,UAAU,EAAE,aAAa,EAAE,WAAW,CAAC,EAAE,EAAE,CACnE,CAAC;gBACJ,CAAC;gBACD,MAAM,KAAK,GAAG,KAAK,CAAC,gBAAgB,IAAI,mBAAmB,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;gBAC5E,IAAI,CAAC,KAAK,EAAE,CAAC;oBACX,MAAM,IAAI,sBAAsB,CAC9B,uBAAuB,EACvB,uCAAuC,QAAQ,CAAC,EAAE,YAAY,QAAQ,CAAC,UAAU,yFAAyF,EAC1K,EAAE,UAAU,EAAE,QAAQ,CAAC,UAAU,EAAE,UAAU,EAAE,QAAQ,CAAC,EAAE,EAAE,QAAQ,EAAE,QAAQ,CAAC,UAAU,EAAE,CAC5F,CAAC;gBACJ,CAAC;gBACD,iBAAiB,GAAG,KAAK,CAAC;YAC5B,CAAC;YAED,sEAAsE;YACtE,kEAAkE;YAClE,qEAAqE;YACrE,yEAAyE;YACzE,uEAAuE;YACvE,iEAAiE;YACjE,MAAM,OAAO,GAAG,0BAA0B,CAAC,KAAK,EAAE,iBAAiB,CAAC,CAAC;YACrE,MAAM,WAAW,GAAG,IAAI,CAAC,SAAS,CAAC,uBAAuB,CAAC;gBACzD,OAAO,EAAE,KAAK,CAAC,eAAe;gBAC9B,YAAY,EAAE,KAAK,CAAC,YAAY;gBAChC,KAAK,EAAE,OAAO,CAAC,KAAK;gBACpB,aAAa,EAAE,OAAO,CAAC,aAAa;gBACpC,aAAa,EAAE,OAAO,CAAC,aAAa,IAAI,SAAS;gBACjD,WAAW,EAAE,OAAO,CAAC,WAAW;gBAChC,SAAS,EAAE,OAAO,CAAC,SAAS;gBAC5B,cAAc,EAAE,OAAO,CAAC,cAAc;aACvC,CAAC,CAAC;YACH,eAAe,CAAC,IAAI,CAAC,WAAW,CAAC,cAAc,CAAC,CAAC;YAEjD,6DAA6D;YAC7D,IAAI,WAAW,GAAuH,IAAI,CAAC;YAC3I,IAAI,KAAK,CAAC,IAAI,KAAK,SAAS,IAAI,QAAQ,IAAI,iBAAiB,EAAE,CAAC;gBAC9D,gBAAgB,GAAG,iBAAiB,CAAC;gBACrC,UAAU,GAAG,QAAQ,CAAC,EAAE,CAAC;gBACzB,WAAW,GAAG,IAAI,CAAC,SAAS,CAAC,uBAAuB,CAAC;oBACnD,aAAa,EAAE,KAAK,CAAC,YAAY;oBACjC,kBAAkB,EAAE,iBAAiB;oBACrC,IAAI,EAAE,mBAAmB,CAAC;wBACxB,IAAI;wBACJ,QAAQ;wBACR,WAAW;wBACX,QAAQ;wBACR,YAAY,EAAE,KAAK,CAAC,YAAY;wBAChC,UAAU,EAAE,KAAK,CAAC,UAAU;qBAC7B,CAAC;oBACF,QAAQ,EAAE,SAAS;oBACnB,IAAI,EAAE,OAAO;oBACb,IAAI,EAAE,CAAC,UAAU,EAAE,SAAS,EAAE,YAAY,IAAI,CAAC,EAAE,EAAE,EAAE,YAAY,QAAQ,CAAC,UAAU,EAAE,CAAC;oBACvF,aAAa,EAAE,CAAC,KAAK,CAAC,eAAe,CAAC;iBACvC,CAAC,CAAC;gBACH,WAAW,GAAG,WAAW,CAAC,OAAO,CAAC;gBAClC,yBAAyB,GAAG;oBAC1B,kBAAkB,EAAE,WAAW,CAAC,kBAAkB;oBAClD,KAAK,EAAE,WAAW,CAAC,KAAK;iBACzB,CAAC;YACJ,CAAC;YAED,iDAAiD;YACjD,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC;gBACnB,UAAU,EAAE,QAAQ,CAAC,UAAU;gBAC/B,MAAM,EAAE,WAAW,CAAC,EAAE;gBACtB,QAAQ,EAAE,WAAW,CAAC,UAAU;gBAChC,QAAQ,EAAE,WAAW;gBACrB,aAAa,EAAE,KAAK,CAAC,IAAI;gBACzB,eAAe,EAAE,KAAK,CAAC,eAAe,IAAI,IAAI;gBAC9C,YAAY,EAAE,KAAK,CAAC,YAAY;gBAChC,WAAW;gBACX,YAAY,EAAE,KAAK,CAAC,eAAe;aACpC,CAAC,CAAC;YAEH,wCAAwC;YACxC,kEAAkE;YAClE,+DAA+D;YAC/D,oEAAoE;YACpE,kEAAkE;YAClE,iBAAiB;YACjB,MAAM,iBAAiB,GAAG,QAAQ,CAAC,eAAe,CAAC,MAAM,CACvD,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,KAAK,KAAK,CAAC,eAAe,CACrC,CAAC;YACF,IAAI,YAAsB,CAAC;YAC3B,IAAI,KAAK,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;gBAC7B,8EAA8E;gBAC9E,YAAY,GAAG,CAAC,GAAG,iBAAiB,EAAE,KAAK,CAAC,eAAe,CAAC,CAAC;YAC/D,CAAC;iBAAM,IAAI,WAAW,EAAE,CAAC;gBACvB,YAAY,GAAG,CAAC,GAAG,iBAAiB,EAAE,WAAW,CAAC,CAAC;YACrD,CAAC;iBAAM,CAAC;gBACN,YAAY,GAAG,iBAAiB,CAAC;YACnC,CAAC;YACD,iEAAiE;YACjE,kEAAkE;YAClE,IAAI,UAAsC,CAAC;YAC3C,IAAI,WAAW,GAAkB,IAAI,CAAC;YACtC,IAAI,KAAK,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;gBAC7B,UAAU,GAAG,SAAS,CAAC;YACzB,CAAC;iBAAM,IAAI,KAAK,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;gBACnC,UAAU,GAAG,QAAQ,CAAC;gBACtB,WAAW,GAAG,WAAW,CAAC;YAC5B,CAAC;iBAAM,IAAI,YAAY,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACrC,UAAU,GAAG,WAAW,CAAC;gBACzB,WAAW,GAAG,WAAW,CAAC;YAC5B,CAAC;iBAAM,CAAC;gBACN,UAAU,GAAG,QAAQ,CAAC;YACxB,CAAC;YACD,kDAAkD;YAClD,8BAA8B;YAC9B,wEAAwE;YACxE,qCAAqC;YACrC,IAAI,mBAAkD,CAAC;YACvD,IAAI,KAAK,CAAC,IAAI,KAAK,SAAS,IAAI,QAAQ,EAAE,CAAC;gBACzC,mBAAmB,GAAG,QAAQ,CAAC,EAAE,CAAC;YACpC,CAAC;iBAAM,IAAI,KAAK,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;gBACpC,mBAAmB,GAAG,UAAU,CAAC;YACnC,CAAC;iBAAM,CAAC;gBACN,iBAAiB;gBACjB,mBAAmB,GAAG,OAAO,CAAC;YAChC,CAAC;YACD,IAAI,CAAC,aAAa,CAAC,cAAc,CAAC,QAAQ,CAAC,UAAU,EAAE,YAAY,EAAE,UAAU,EAAE;gBAC/E,YAAY,EAAE,KAAK,CAAC,IAAI,KAAK,SAAS;gBACtC,wBAAwB,EAAE;oBACxB,IAAI,EAAE,KAAK,CAAC,IAAI;oBAChB,YAAY,EAAE,KAAK,CAAC,YAAY;oBAChC,YAAY,EAAE,KAAK,CAAC,eAAe;oBACnC,UAAU,EAAE,WAAW;oBACvB,UAAU,EAAE,KAAK,CAAC,UAAU,IAAI,IAAI;oBACpC,SAAS,EAAE,KAAK,CAAC,SAAS,IAAI,IAAI;oBAClC,WAAW,EAAE,WAAW,CAAC,EAAE;iBAC5B;gBACD,WAAW;gBACX,aAAa,EAAE,mBAAmB;aACnC,CAAC,CAAC;YAEH,kDAAkD;YAClD,eAAe,CAAC,IAAI,CAClB,IAAI,CAAC,QAAQ,CAAC,wBAAwB,CAAC;gBACrC,IAAI,EAAE,sBAAsB;gBAC5B,UAAU,EAAE,QAAQ,CAAC,UAAU;gBAC/B,MAAM,EAAE,WAAW,CAAC,EAAE;gBACtB,aAAa,EAAE,KAAK,CAAC,IAAI;gBACzB,YAAY,EAAE,KAAK,CAAC,YAAY;gBAChC,YAAY,EAAE,KAAK,CAAC,eAAe;aACpC,CAAC,CACH,CAAC;YACF,IAAI,WAAW,IAAI,QAAQ,IAAI,iBAAiB,EAAE,CAAC;gBACjD,eAAe,CAAC,IAAI,CAAC,WAAW,CAAC,cAAc,CAAC,CAAC;gBACjD,eAAe,CAAC,IAAI,CAClB,IAAI,CAAC,QAAQ,CAAC,wBAAwB,CAAC;oBACrC,IAAI,EAAE,+BAA+B;oBACrC,UAAU,EAAE,QAAQ,CAAC,UAAU;oBAC/B,WAAW,EAAE,WAAW,CAAC,OAAO;oBAChC,SAAS,EAAE,WAAW,CAAC,kBAAkB;oBACzC,UAAU,EAAE,QAAQ,CAAC,EAAE;iBACxB,CAAC,CACH,CAAC;YACJ,CAAC;YACD,IAAI,UAAU,KAAK,WAAW,EAAE,CAAC;gBAC/B,eAAe,CAAC,IAAI,CAClB,IAAI,CAAC,QAAQ,CAAC,wBAAwB,CAAC;oBACrC,IAAI,EAAE,oBAAoB;oBAC1B,UAAU,EAAE,QAAQ,CAAC,UAAU;oBAC/B,YAAY,EAAE,QAAQ,CAAC,YAAY;iBACpC,CAAC,CACH,CAAC;YACJ,CAAC;iBAAM,IAAI,UAAU,KAAK,QAAQ,EAAE,CAAC;gBACnC,eAAe,CAAC,IAAI,CAClB,IAAI,CAAC,QAAQ,CAAC,wBAAwB,CAAC;oBACrC,IAAI,EAAE,iBAAiB;oBACvB,UAAU,EAAE,QAAQ,CAAC,UAAU;oBAC/B,YAAY,EAAE,QAAQ,CAAC,YAAY;oBACnC,MAAM,EAAE,KAAK,CAAC,UAAU,IAAI,sBAAsB;iBACnD,CAAC,CACH,CAAC;YACJ,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,GAAG,EAAE,CAAC;QAEN,8DAA8D;QAC9D,KAAK,MAAM,CAAC,IAAI,eAAe,EAAE,CAAC;YAChC,IAAI,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC;QACrC,CAAC;QACD,MAAM,UAAU,GAAG,yBAAmD,CAAC;QACvE,IAAI,WAAW,IAAI,UAAU,EAAE,CAAC;YAC9B,MAAM,IAAI,CAAC,SAAS,CAAC,UAAU,CAC7B,WAAW,EACX,UAAU,CAAC,kBAAkB,EAC7B,UAAU,CAAC,KAAK,CACjB,CAAC;QACJ,CAAC;QAED,MAAM,eAAe,GAAG,IAAI,CAAC,aAAa,CAAC,cAAc,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;QAC/E,OAAO;YACL,QAAQ,EAAE,eAAe;YACzB,oBAAoB,EAAE,KAAK,CAAC,eAAe;YAC3C,aAAa,EAAE,KAAK,CAAC,IAAI;YACzB,WAAW;YACX,gBAAgB;YAChB,UAAU;YACV,iBAAiB,EAAE,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;SACtD,CAAC;IACJ,CAAC;CACF;AAED;;;;;;;;;;;;;;;GAeG;AACH,SAAS,kBAAkB,CACzB,IAAkB,EAClB,QAA0B;IAE1B,IAAI,QAAQ,CAAC,aAAa,EAAE,CAAC;QAC3B,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,QAAQ,CAAC,aAAa,CAAC,IAAI,IAAI,CAAC;IACzE,CAAC;IACD,iEAAiE;IACjE,oEAAoE;IACpE,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC;IACnC,OAAO,CACL,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;QACb,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,KAAK,SAAS,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;QAC/E,IAAI,CACL,CAAC;AACJ,CAAC;AAED;;;;GAIG;AACH,SAAS,eAAe,CAAC,IAAkB,EAAE,WAA6B;IACxE,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,WAAW,CAAC,EAAE,CAAC,CAAC;IACjE,IAAI,GAAG,KAAK,CAAC,CAAC;QAAE,OAAO,IAAI,CAAC;IAC5B,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC,CAAC,IAAI,IAAI,CAAC;AACrC,CAAC;AAED;;;;GAIG;AACH,SAAS,mBAAmB,CAAC,IAAkB,EAAE,IAAsB;IACrE,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IAC3C,MAAM,OAAO,GAAG,IAAI,EAAE,iBAAiB,IAAI,EAAE,CAAC;IAC9C,OAAO,OAAO,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC;AAC5B,CAAC;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,SAAS,0BAA0B,CACjC,KAAuB,EACvB,iBAAgC;IAShC,QAAQ,KAAK,CAAC,IAAI,EAAE,CAAC;QACnB,KAAK,SAAS,CAAC,CAAC,CAAC;YACf,IAAI,CAAC,iBAAiB,EAAE,CAAC;gBACvB,iEAAiE;gBACjE,oEAAoE;gBACpE,MAAM,IAAI,sBAAsB,CAC9B,uBAAuB,EACvB,kEAAkE,CACnE,CAAC;YACJ,CAAC;YACD,OAAO;gBACL,KAAK,EAAE,YAAY;gBACnB,aAAa,EAAE,eAAe;gBAC9B,aAAa,EAAE,iBAAiB;gBAChC,WAAW,EAAE,iBAAiB;gBAC9B,cAAc,EAAE,uBAAuB,iBAAiB,EAAE;aAC3D,CAAC;QACJ,CAAC;QACD,KAAK,SAAS,CAAC,CAAC,CAAC;YACf,MAAM,OAAO,GAAG,KAAK,CAAC,SAAS,IAAI,eAAe,CAAC;YACnD,OAAO;gBACL,KAAK,EAAE,SAAS;gBAChB,aAAa,EAAE,YAAY;gBAC3B,aAAa,EAAE,OAAO;gBACtB,SAAS,EAAE,OAAO;gBAClB,cAAc,EAAE,uBAAuB,OAAO,EAAE;aACjD,CAAC;QACJ,CAAC;QACD,KAAK,MAAM,CAAC,CAAC,CAAC;YACZ,OAAO;gBACL,KAAK,EAAE,MAAM;gBACb,aAAa,EAAE,cAAc;gBAC7B,aAAa,EAAE,IAAI;gBACnB,cAAc,EAAE,KAAK,CAAC,UAAU;oBAC9B,CAAC,CAAC,kBAAkB,KAAK,CAAC,UAAU,EAAE;oBACtC,CAAC,CAAC,eAAe;aACpB,CAAC;QACJ,CAAC;QACD,KAAK,QAAQ,CAAC,CAAC,CAAC;YACd,OAAO;gBACL,KAAK,EAAE,MAAM;gBACb,aAAa,EAAE,QAAQ;gBACvB,aAAa,EAAE,KAAK,CAAC,UAAU,IAAI,sBAAsB;gBACzD,cAAc,EAAE,KAAK,CAAC,UAAU;oBAC9B,CAAC,CAAC,oBAAoB,KAAK,CAAC,UAAU,EAAE;oBACxC,CAAC,CAAC,iBAAiB;aACtB,CAAC;QACJ,CAAC;IACH,CAAC;AACH,CAAC;AAED,SAAS,mBAAmB,CAAC,KAO5B;IACC,MAAM,KAAK,GAAG;QACZ,yBAAyB,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,KAAK,CAAC,IAAI,CAAC,OAAO,SAAS,KAAK,CAAC,QAAQ,CAAC,EAAE,EAAE;QACxF,EAAE;QACF,sBAAsB,KAAK,CAAC,QAAQ,CAAC,UAAU,EAAE;QACjD,eAAe,KAAK,CAAC,WAAW,CAAC,EAAE,KAAK,KAAK,CAAC,WAAW,CAAC,UAAU,eAAe,KAAK,CAAC,YAAY,EAAE;QACvG,cAAc,KAAK,CAAC,QAAQ,CAAC,EAAE,KAAK,KAAK,CAAC,QAAQ,CAAC,UAAU,GAAG;KACjE,CAAC;IACF,IAAI,KAAK,CAAC,QAAQ,CAAC,SAAS,EAAE,CAAC;QAC7B,KAAK,CAAC,IAAI,CAAC,cAAc,KAAK,CAAC,QAAQ,CAAC,SAAS,EAAE,CAAC,CAAC;IACvD,CAAC;IACD,IAAI,KAAK,CAAC,UAAU,EAAE,CAAC;QACrB,KAAK,CAAC,IAAI,CAAC,EAAE,EAAE,oBAAoB,KAAK,CAAC,UAAU,EAAE,CAAC,CAAC;IACzD,CAAC;IACD,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC"}
|
|
1
|
+
{"version":3,"file":"workflow-projector.js","sourceRoot":"","sources":["../../src/domain/workflow-projector.ts"],"names":[],"mappings":"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"}
|
|
@@ -30,6 +30,13 @@ export declare class WorkflowSpecCache {
|
|
|
30
30
|
*/
|
|
31
31
|
readThrough(sourcePath: string): WorkflowSpecRow;
|
|
32
32
|
getByNameVersion(name: string, version: string): WorkflowSpecRow | null;
|
|
33
|
+
/**
|
|
34
|
+
* Lists every cached spec, ordered by name then version. Used by the
|
|
35
|
+
* `GET /api/workflow/specs` endpoint. Cheap —
|
|
36
|
+
* the workflow_specs table is bounded by the number of operator-
|
|
37
|
+
* authored + built-in starter specs (single-host MVP).
|
|
38
|
+
*/
|
|
39
|
+
listAll(): WorkflowSpecRow[];
|
|
33
40
|
getByIdOrThrow(specId: string): WorkflowSpecRow;
|
|
34
41
|
}
|
|
35
42
|
//# sourceMappingURL=workflow-spec-cache.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"workflow-spec-cache.d.ts","sourceRoot":"","sources":["../../src/domain/workflow-spec-cache.ts"],"names":[],"mappings":"AAcA,OAAO,KAAK,QAAQ,MAAM,gBAAgB,CAAC;AAG3C,OAAO,KAAK,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAgBzE,qBAAa,iBAAkB,SAAQ,KAAK;aAExB,IAAI,EAAE,MAAM;aAEZ,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;gBAFjC,IAAI,EAAE,MAAM,EAC5B,OAAO,EAAE,MAAM,EACC,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,YAAA;CAKpD;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,YAAY,CAuEnF;AAED,qBAAa,iBAAiB;IAE1B,OAAO,CAAC,QAAQ,CAAC,EAAE;IACnB,OAAO,CAAC,QAAQ,CAAC,GAAG;gBADH,EAAE,EAAE,QAAQ,CAAC,QAAQ,EACrB,GAAG,GAAE,MAAM,IAAuB;IAGrD;;;;OAIG;IACH,WAAW,CAAC,UAAU,EAAE,MAAM,GAAG,eAAe;
|
|
1
|
+
{"version":3,"file":"workflow-spec-cache.d.ts","sourceRoot":"","sources":["../../src/domain/workflow-spec-cache.ts"],"names":[],"mappings":"AAcA,OAAO,KAAK,QAAQ,MAAM,gBAAgB,CAAC;AAG3C,OAAO,KAAK,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAgBzE,qBAAa,iBAAkB,SAAQ,KAAK;aAExB,IAAI,EAAE,MAAM;aAEZ,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;gBAFjC,IAAI,EAAE,MAAM,EAC5B,OAAO,EAAE,MAAM,EACC,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,YAAA;CAKpD;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,YAAY,CAuEnF;AAED,qBAAa,iBAAiB;IAE1B,OAAO,CAAC,QAAQ,CAAC,EAAE;IACnB,OAAO,CAAC,QAAQ,CAAC,GAAG;gBADH,EAAE,EAAE,QAAQ,CAAC,QAAQ,EACrB,GAAG,GAAE,MAAM,IAAuB;IAGrD;;;;OAIG;IACH,WAAW,CAAC,UAAU,EAAE,MAAM,GAAG,eAAe;IAkGhD,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,eAAe,GAAG,IAAI;IAOvE;;;;;OAKG;IACH,OAAO,IAAI,eAAe,EAAE;IAO5B,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,eAAe;CAahD"}
|