@openrig/cli 0.0.1 → 0.1.1
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/claude-statusline-context.cjs +80 -0
- package/daemon/assets/guidance/using-openrig.md +46 -0
- package/daemon/dist/adapters/claude-code-adapter.d.ts +67 -0
- package/daemon/dist/adapters/claude-code-adapter.d.ts.map +1 -0
- package/daemon/dist/adapters/claude-code-adapter.js +317 -0
- package/daemon/dist/adapters/claude-code-adapter.js.map +1 -0
- package/daemon/dist/adapters/claude-resume.d.ts +23 -0
- package/daemon/dist/adapters/claude-resume.d.ts.map +1 -0
- package/daemon/dist/adapters/claude-resume.js +90 -0
- package/daemon/dist/adapters/claude-resume.js.map +1 -0
- package/daemon/dist/adapters/cmux-transport.d.ts +9 -0
- package/daemon/dist/adapters/cmux-transport.d.ts.map +1 -0
- package/daemon/dist/adapters/cmux-transport.js +64 -0
- package/daemon/dist/adapters/cmux-transport.js.map +1 -0
- package/daemon/dist/adapters/cmux.d.ts +50 -0
- package/daemon/dist/adapters/cmux.d.ts.map +1 -0
- package/daemon/dist/adapters/cmux.js +144 -0
- package/daemon/dist/adapters/cmux.js.map +1 -0
- package/daemon/dist/adapters/codex-resume.d.ts +10 -0
- package/daemon/dist/adapters/codex-resume.d.ts.map +1 -0
- package/daemon/dist/adapters/codex-resume.js +44 -0
- package/daemon/dist/adapters/codex-resume.js.map +1 -0
- package/daemon/dist/adapters/codex-runtime-adapter.d.ts +53 -0
- package/daemon/dist/adapters/codex-runtime-adapter.d.ts.map +1 -0
- package/daemon/dist/adapters/codex-runtime-adapter.js +255 -0
- package/daemon/dist/adapters/codex-runtime-adapter.js.map +1 -0
- package/daemon/dist/adapters/shell-quote.d.ts +3 -0
- package/daemon/dist/adapters/shell-quote.d.ts.map +1 -0
- package/daemon/dist/adapters/shell-quote.js +5 -0
- package/daemon/dist/adapters/shell-quote.js.map +1 -0
- package/daemon/dist/adapters/terminal-adapter.d.ts +20 -0
- package/daemon/dist/adapters/terminal-adapter.d.ts.map +1 -0
- package/daemon/dist/adapters/terminal-adapter.js +25 -0
- package/daemon/dist/adapters/terminal-adapter.js.map +1 -0
- package/daemon/dist/adapters/tmux-exec.d.ts +7 -0
- package/daemon/dist/adapters/tmux-exec.d.ts.map +1 -0
- package/daemon/dist/adapters/tmux-exec.js +12 -0
- package/daemon/dist/adapters/tmux-exec.js.map +1 -0
- package/daemon/dist/adapters/tmux.d.ts +55 -0
- package/daemon/dist/adapters/tmux.d.ts.map +1 -0
- package/daemon/dist/adapters/tmux.js +244 -0
- package/daemon/dist/adapters/tmux.js.map +1 -0
- package/daemon/dist/db/connection.d.ts +7 -0
- package/daemon/dist/db/connection.d.ts.map +1 -0
- package/daemon/dist/db/connection.js +12 -0
- package/daemon/dist/db/connection.js.map +1 -0
- package/daemon/dist/db/migrate.d.ts +12 -0
- package/daemon/dist/db/migrate.d.ts.map +1 -0
- package/daemon/dist/db/migrate.js +27 -0
- package/daemon/dist/db/migrate.js.map +1 -0
- package/daemon/dist/db/migrations/001_core_schema.d.ts +3 -0
- package/daemon/dist/db/migrations/001_core_schema.d.ts.map +1 -0
- package/daemon/dist/db/migrations/001_core_schema.js +50 -0
- package/daemon/dist/db/migrations/001_core_schema.js.map +1 -0
- package/daemon/dist/db/migrations/002_bindings_sessions.d.ts +3 -0
- package/daemon/dist/db/migrations/002_bindings_sessions.d.ts.map +1 -0
- package/daemon/dist/db/migrations/002_bindings_sessions.js +29 -0
- package/daemon/dist/db/migrations/002_bindings_sessions.js.map +1 -0
- package/daemon/dist/db/migrations/003_events.d.ts +3 -0
- package/daemon/dist/db/migrations/003_events.d.ts.map +1 -0
- package/daemon/dist/db/migrations/003_events.js +22 -0
- package/daemon/dist/db/migrations/003_events.js.map +1 -0
- package/daemon/dist/db/migrations/004_snapshots.d.ts +3 -0
- package/daemon/dist/db/migrations/004_snapshots.d.ts.map +1 -0
- package/daemon/dist/db/migrations/004_snapshots.js +19 -0
- package/daemon/dist/db/migrations/004_snapshots.js.map +1 -0
- package/daemon/dist/db/migrations/005_checkpoints.d.ts +3 -0
- package/daemon/dist/db/migrations/005_checkpoints.d.ts.map +1 -0
- package/daemon/dist/db/migrations/005_checkpoints.js +22 -0
- package/daemon/dist/db/migrations/005_checkpoints.js.map +1 -0
- package/daemon/dist/db/migrations/006_resume_metadata.d.ts +3 -0
- package/daemon/dist/db/migrations/006_resume_metadata.d.ts.map +1 -0
- package/daemon/dist/db/migrations/006_resume_metadata.js +14 -0
- package/daemon/dist/db/migrations/006_resume_metadata.js.map +1 -0
- package/daemon/dist/db/migrations/007_node_spec_fields.d.ts +3 -0
- package/daemon/dist/db/migrations/007_node_spec_fields.d.ts.map +1 -0
- package/daemon/dist/db/migrations/007_node_spec_fields.js +11 -0
- package/daemon/dist/db/migrations/007_node_spec_fields.js.map +1 -0
- package/daemon/dist/db/migrations/008_packages.d.ts +3 -0
- package/daemon/dist/db/migrations/008_packages.d.ts.map +1 -0
- package/daemon/dist/db/migrations/008_packages.js +17 -0
- package/daemon/dist/db/migrations/008_packages.js.map +1 -0
- package/daemon/dist/db/migrations/009_install_journal.d.ts +3 -0
- package/daemon/dist/db/migrations/009_install_journal.d.ts.map +1 -0
- package/daemon/dist/db/migrations/009_install_journal.js +35 -0
- package/daemon/dist/db/migrations/009_install_journal.js.map +1 -0
- package/daemon/dist/db/migrations/010_journal_seq.d.ts +3 -0
- package/daemon/dist/db/migrations/010_journal_seq.d.ts.map +1 -0
- package/daemon/dist/db/migrations/010_journal_seq.js +36 -0
- package/daemon/dist/db/migrations/010_journal_seq.js.map +1 -0
- package/daemon/dist/db/migrations/011_bootstrap.d.ts +3 -0
- package/daemon/dist/db/migrations/011_bootstrap.d.ts.map +1 -0
- package/daemon/dist/db/migrations/011_bootstrap.js +43 -0
- package/daemon/dist/db/migrations/011_bootstrap.js.map +1 -0
- package/daemon/dist/db/migrations/012_discovery.d.ts +3 -0
- package/daemon/dist/db/migrations/012_discovery.d.ts.map +1 -0
- package/daemon/dist/db/migrations/012_discovery.js +28 -0
- package/daemon/dist/db/migrations/012_discovery.js.map +1 -0
- package/daemon/dist/db/migrations/013_discovery_fk_fix.d.ts +3 -0
- package/daemon/dist/db/migrations/013_discovery_fk_fix.d.ts.map +1 -0
- package/daemon/dist/db/migrations/013_discovery_fk_fix.js +37 -0
- package/daemon/dist/db/migrations/013_discovery_fk_fix.js.map +1 -0
- package/daemon/dist/db/migrations/014_agentspec_reboot.d.ts +3 -0
- package/daemon/dist/db/migrations/014_agentspec_reboot.d.ts.map +1 -0
- package/daemon/dist/db/migrations/014_agentspec_reboot.js +47 -0
- package/daemon/dist/db/migrations/014_agentspec_reboot.js.map +1 -0
- package/daemon/dist/db/migrations/015_startup_context.d.ts +3 -0
- package/daemon/dist/db/migrations/015_startup_context.d.ts.map +1 -0
- package/daemon/dist/db/migrations/015_startup_context.js +15 -0
- package/daemon/dist/db/migrations/015_startup_context.js.map +1 -0
- package/daemon/dist/db/migrations/016_chat_messages.d.ts +3 -0
- package/daemon/dist/db/migrations/016_chat_messages.d.ts.map +1 -0
- package/daemon/dist/db/migrations/016_chat_messages.js +17 -0
- package/daemon/dist/db/migrations/016_chat_messages.js.map +1 -0
- package/daemon/dist/db/migrations/017_pod_namespace.d.ts +3 -0
- package/daemon/dist/db/migrations/017_pod_namespace.d.ts.map +1 -0
- package/daemon/dist/db/migrations/017_pod_namespace.js +9 -0
- package/daemon/dist/db/migrations/017_pod_namespace.js.map +1 -0
- package/daemon/dist/db/migrations/018_context_usage.d.ts +3 -0
- package/daemon/dist/db/migrations/018_context_usage.d.ts.map +1 -0
- package/daemon/dist/db/migrations/018_context_usage.js +23 -0
- package/daemon/dist/db/migrations/018_context_usage.js.map +1 -0
- package/daemon/dist/db/migrations/019_external_cli_attachment.d.ts +3 -0
- package/daemon/dist/db/migrations/019_external_cli_attachment.d.ts.map +1 -0
- package/daemon/dist/db/migrations/019_external_cli_attachment.js +8 -0
- package/daemon/dist/db/migrations/019_external_cli_attachment.js.map +1 -0
- package/daemon/dist/domain/agent-manifest.d.ts +21 -0
- package/daemon/dist/domain/agent-manifest.d.ts.map +1 -0
- package/daemon/dist/domain/agent-manifest.js +322 -0
- package/daemon/dist/domain/agent-manifest.js.map +1 -0
- package/daemon/dist/domain/agent-preflight.d.ts +12 -0
- package/daemon/dist/domain/agent-preflight.d.ts.map +1 -0
- package/daemon/dist/domain/agent-preflight.js +37 -0
- package/daemon/dist/domain/agent-preflight.js.map +1 -0
- package/daemon/dist/domain/agent-resolver.d.ts +66 -0
- package/daemon/dist/domain/agent-resolver.d.ts.map +1 -0
- package/daemon/dist/domain/agent-resolver.js +193 -0
- package/daemon/dist/domain/agent-resolver.js.map +1 -0
- package/daemon/dist/domain/ask-service.d.ts +57 -0
- package/daemon/dist/domain/ask-service.d.ts.map +1 -0
- package/daemon/dist/domain/ask-service.js +129 -0
- package/daemon/dist/domain/ask-service.js.map +1 -0
- package/daemon/dist/domain/bootstrap-orchestrator.d.ts +76 -0
- package/daemon/dist/domain/bootstrap-orchestrator.d.ts.map +1 -0
- package/daemon/dist/domain/bootstrap-orchestrator.js +510 -0
- package/daemon/dist/domain/bootstrap-orchestrator.js.map +1 -0
- package/daemon/dist/domain/bootstrap-repository.d.ts +23 -0
- package/daemon/dist/domain/bootstrap-repository.d.ts.map +1 -0
- package/daemon/dist/domain/bootstrap-repository.js +78 -0
- package/daemon/dist/domain/bootstrap-repository.js.map +1 -0
- package/daemon/dist/domain/bootstrap-types.d.ts +43 -0
- package/daemon/dist/domain/bootstrap-types.d.ts.map +1 -0
- package/daemon/dist/domain/bootstrap-types.js +2 -0
- package/daemon/dist/domain/bootstrap-types.js.map +1 -0
- package/daemon/dist/domain/bundle-archive.d.ts +23 -0
- package/daemon/dist/domain/bundle-archive.d.ts.map +1 -0
- package/daemon/dist/domain/bundle-archive.js +156 -0
- package/daemon/dist/domain/bundle-archive.js.map +1 -0
- package/daemon/dist/domain/bundle-assembler.d.ts +34 -0
- package/daemon/dist/domain/bundle-assembler.d.ts.map +1 -0
- package/daemon/dist/domain/bundle-assembler.js +86 -0
- package/daemon/dist/domain/bundle-assembler.js.map +1 -0
- package/daemon/dist/domain/bundle-integrity.d.ts +30 -0
- package/daemon/dist/domain/bundle-integrity.d.ts.map +1 -0
- package/daemon/dist/domain/bundle-integrity.js +120 -0
- package/daemon/dist/domain/bundle-integrity.js.map +1 -0
- package/daemon/dist/domain/bundle-source-resolver.d.ts +44 -0
- package/daemon/dist/domain/bundle-source-resolver.d.ts.map +1 -0
- package/daemon/dist/domain/bundle-source-resolver.js +158 -0
- package/daemon/dist/domain/bundle-source-resolver.js.map +1 -0
- package/daemon/dist/domain/bundle-types.d.ts +78 -0
- package/daemon/dist/domain/bundle-types.d.ts.map +1 -0
- package/daemon/dist/domain/bundle-types.js +218 -0
- package/daemon/dist/domain/bundle-types.js.map +1 -0
- package/daemon/dist/domain/chat-repository.d.ts +31 -0
- package/daemon/dist/domain/chat-repository.d.ts.map +1 -0
- package/daemon/dist/domain/chat-repository.js +105 -0
- package/daemon/dist/domain/chat-repository.js.map +1 -0
- package/daemon/dist/domain/checkpoint-store.d.ts +24 -0
- package/daemon/dist/domain/checkpoint-store.d.ts.map +1 -0
- package/daemon/dist/domain/checkpoint-store.js +55 -0
- package/daemon/dist/domain/checkpoint-store.js.map +1 -0
- package/daemon/dist/domain/claim-service.d.ts +68 -0
- package/daemon/dist/domain/claim-service.d.ts.map +1 -0
- package/daemon/dist/domain/claim-service.js +250 -0
- package/daemon/dist/domain/claim-service.js.map +1 -0
- package/daemon/dist/domain/codex-thread-id.d.ts +4 -0
- package/daemon/dist/domain/codex-thread-id.d.ts.map +1 -0
- package/daemon/dist/domain/codex-thread-id.js +65 -0
- package/daemon/dist/domain/codex-thread-id.js.map +1 -0
- package/daemon/dist/domain/conflict-detector.d.ts +33 -0
- package/daemon/dist/domain/conflict-detector.d.ts.map +1 -0
- package/daemon/dist/domain/conflict-detector.js +138 -0
- package/daemon/dist/domain/conflict-detector.js.map +1 -0
- package/daemon/dist/domain/context-monitor.d.ts +30 -0
- package/daemon/dist/domain/context-monitor.d.ts.map +1 -0
- package/daemon/dist/domain/context-monitor.js +71 -0
- package/daemon/dist/domain/context-monitor.js.map +1 -0
- package/daemon/dist/domain/context-usage-store.d.ts +58 -0
- package/daemon/dist/domain/context-usage-store.d.ts.map +1 -0
- package/daemon/dist/domain/context-usage-store.js +195 -0
- package/daemon/dist/domain/context-usage-store.js.map +1 -0
- package/daemon/dist/domain/demo-rig-selector.d.ts +11 -0
- package/daemon/dist/domain/demo-rig-selector.d.ts.map +1 -0
- package/daemon/dist/domain/demo-rig-selector.js +21 -0
- package/daemon/dist/domain/demo-rig-selector.js.map +1 -0
- package/daemon/dist/domain/discovery-coordinator.d.ts +28 -0
- package/daemon/dist/domain/discovery-coordinator.d.ts.map +1 -0
- package/daemon/dist/domain/discovery-coordinator.js +107 -0
- package/daemon/dist/domain/discovery-coordinator.js.map +1 -0
- package/daemon/dist/domain/discovery-repository.d.ts +31 -0
- package/daemon/dist/domain/discovery-repository.d.ts.map +1 -0
- package/daemon/dist/domain/discovery-repository.js +75 -0
- package/daemon/dist/domain/discovery-repository.js.map +1 -0
- package/daemon/dist/domain/discovery-types.d.ts +27 -0
- package/daemon/dist/domain/discovery-types.d.ts.map +1 -0
- package/daemon/dist/domain/discovery-types.js +2 -0
- package/daemon/dist/domain/discovery-types.js.map +1 -0
- package/daemon/dist/domain/draft-rig-generator.d.ts +7 -0
- package/daemon/dist/domain/draft-rig-generator.d.ts.map +1 -0
- package/daemon/dist/domain/draft-rig-generator.js +87 -0
- package/daemon/dist/domain/draft-rig-generator.js.map +1 -0
- package/daemon/dist/domain/errors.d.ts +4 -0
- package/daemon/dist/domain/errors.d.ts.map +1 -0
- package/daemon/dist/domain/errors.js +7 -0
- package/daemon/dist/domain/errors.js.map +1 -0
- package/daemon/dist/domain/event-bus.d.ts +32 -0
- package/daemon/dist/domain/event-bus.d.ts.map +1 -0
- package/daemon/dist/domain/event-bus.js +82 -0
- package/daemon/dist/domain/event-bus.js.map +1 -0
- package/daemon/dist/domain/external-install-executor.d.ts +47 -0
- package/daemon/dist/domain/external-install-executor.d.ts.map +1 -0
- package/daemon/dist/domain/external-install-executor.js +87 -0
- package/daemon/dist/domain/external-install-executor.js.map +1 -0
- package/daemon/dist/domain/external-install-planner.d.ts +41 -0
- package/daemon/dist/domain/external-install-planner.d.ts.map +1 -0
- package/daemon/dist/domain/external-install-planner.js +83 -0
- package/daemon/dist/domain/external-install-planner.js.map +1 -0
- package/daemon/dist/domain/graph-projection.d.ts +60 -0
- package/daemon/dist/domain/graph-projection.d.ts.map +1 -0
- package/daemon/dist/domain/graph-projection.js +95 -0
- package/daemon/dist/domain/graph-projection.js.map +1 -0
- package/daemon/dist/domain/history-query.d.ts +34 -0
- package/daemon/dist/domain/history-query.d.ts.map +1 -0
- package/daemon/dist/domain/history-query.js +119 -0
- package/daemon/dist/domain/history-query.js.map +1 -0
- package/daemon/dist/domain/install-engine.d.ts +33 -0
- package/daemon/dist/domain/install-engine.d.ts.map +1 -0
- package/daemon/dist/domain/install-engine.js +154 -0
- package/daemon/dist/domain/install-engine.js.map +1 -0
- package/daemon/dist/domain/install-planner.d.ts +38 -0
- package/daemon/dist/domain/install-planner.d.ts.map +1 -0
- package/daemon/dist/domain/install-planner.js +243 -0
- package/daemon/dist/domain/install-planner.js.map +1 -0
- package/daemon/dist/domain/install-policy.d.ts +20 -0
- package/daemon/dist/domain/install-policy.d.ts.map +1 -0
- package/daemon/dist/domain/install-policy.js +56 -0
- package/daemon/dist/domain/install-policy.js.map +1 -0
- package/daemon/dist/domain/install-repository.d.ts +55 -0
- package/daemon/dist/domain/install-repository.d.ts.map +1 -0
- package/daemon/dist/domain/install-repository.js +122 -0
- package/daemon/dist/domain/install-repository.js.map +1 -0
- package/daemon/dist/domain/install-verifier.d.ts +31 -0
- package/daemon/dist/domain/install-verifier.d.ts.map +1 -0
- package/daemon/dist/domain/install-verifier.js +141 -0
- package/daemon/dist/domain/install-verifier.js.map +1 -0
- package/daemon/dist/domain/native-resume-probe.d.ts +19 -0
- package/daemon/dist/domain/native-resume-probe.d.ts.map +1 -0
- package/daemon/dist/domain/native-resume-probe.js +113 -0
- package/daemon/dist/domain/native-resume-probe.js.map +1 -0
- package/daemon/dist/domain/node-inventory.d.ts +33 -0
- package/daemon/dist/domain/node-inventory.d.ts.map +1 -0
- package/daemon/dist/domain/node-inventory.js +314 -0
- package/daemon/dist/domain/node-inventory.js.map +1 -0
- package/daemon/dist/domain/node-launcher.d.ts +42 -0
- package/daemon/dist/domain/node-launcher.d.ts.map +1 -0
- package/daemon/dist/domain/node-launcher.js +122 -0
- package/daemon/dist/domain/node-launcher.js.map +1 -0
- package/daemon/dist/domain/package-install-service.d.ts +64 -0
- package/daemon/dist/domain/package-install-service.d.ts.map +1 -0
- package/daemon/dist/domain/package-install-service.js +80 -0
- package/daemon/dist/domain/package-install-service.js.map +1 -0
- package/daemon/dist/domain/package-manifest.d.ts +93 -0
- package/daemon/dist/domain/package-manifest.d.ts.map +1 -0
- package/daemon/dist/domain/package-manifest.js +407 -0
- package/daemon/dist/domain/package-manifest.js.map +1 -0
- package/daemon/dist/domain/package-repository.d.ts +33 -0
- package/daemon/dist/domain/package-repository.d.ts.map +1 -0
- package/daemon/dist/domain/package-repository.js +63 -0
- package/daemon/dist/domain/package-repository.js.map +1 -0
- package/daemon/dist/domain/package-resolve-helper.d.ts +19 -0
- package/daemon/dist/domain/package-resolve-helper.d.ts.map +1 -0
- package/daemon/dist/domain/package-resolve-helper.js +47 -0
- package/daemon/dist/domain/package-resolve-helper.js.map +1 -0
- package/daemon/dist/domain/package-resolver.d.ts +19 -0
- package/daemon/dist/domain/package-resolver.d.ts.map +1 -0
- package/daemon/dist/domain/package-resolver.js +35 -0
- package/daemon/dist/domain/package-resolver.js.map +1 -0
- package/daemon/dist/domain/path-safety.d.ts +8 -0
- package/daemon/dist/domain/path-safety.d.ts.map +1 -0
- package/daemon/dist/domain/path-safety.js +24 -0
- package/daemon/dist/domain/path-safety.js.map +1 -0
- package/daemon/dist/domain/pod-bundle-assembler.d.ts +43 -0
- package/daemon/dist/domain/pod-bundle-assembler.d.ts.map +1 -0
- package/daemon/dist/domain/pod-bundle-assembler.js +198 -0
- package/daemon/dist/domain/pod-bundle-assembler.js.map +1 -0
- package/daemon/dist/domain/pod-repository.d.ts +47 -0
- package/daemon/dist/domain/pod-repository.d.ts.map +1 -0
- package/daemon/dist/domain/pod-repository.js +90 -0
- package/daemon/dist/domain/pod-repository.js.map +1 -0
- package/daemon/dist/domain/profile-resolver.d.ts +51 -0
- package/daemon/dist/domain/profile-resolver.d.ts.map +1 -0
- package/daemon/dist/domain/profile-resolver.js +201 -0
- package/daemon/dist/domain/profile-resolver.js.map +1 -0
- package/daemon/dist/domain/projection-planner.d.ts +54 -0
- package/daemon/dist/domain/projection-planner.d.ts.map +1 -0
- package/daemon/dist/domain/projection-planner.js +128 -0
- package/daemon/dist/domain/projection-planner.js.map +1 -0
- package/daemon/dist/domain/ps-projection.d.ts +22 -0
- package/daemon/dist/domain/ps-projection.d.ts.map +1 -0
- package/daemon/dist/domain/ps-projection.js +65 -0
- package/daemon/dist/domain/ps-projection.js.map +1 -0
- package/daemon/dist/domain/reconciler.d.ts +28 -0
- package/daemon/dist/domain/reconciler.d.ts.map +1 -0
- package/daemon/dist/domain/reconciler.js +66 -0
- package/daemon/dist/domain/reconciler.js.map +1 -0
- package/daemon/dist/domain/requirements-probe.d.ts +63 -0
- package/daemon/dist/domain/requirements-probe.d.ts.map +1 -0
- package/daemon/dist/domain/requirements-probe.js +172 -0
- package/daemon/dist/domain/requirements-probe.js.map +1 -0
- package/daemon/dist/domain/restore-orchestrator.d.ts +59 -0
- package/daemon/dist/domain/restore-orchestrator.d.ts.map +1 -0
- package/daemon/dist/domain/restore-orchestrator.js +477 -0
- package/daemon/dist/domain/restore-orchestrator.js.map +1 -0
- package/daemon/dist/domain/resume-metadata-refresher.d.ts +42 -0
- package/daemon/dist/domain/resume-metadata-refresher.d.ts.map +1 -0
- package/daemon/dist/domain/resume-metadata-refresher.js +167 -0
- package/daemon/dist/domain/resume-metadata-refresher.js.map +1 -0
- package/daemon/dist/domain/rig-expansion-service.d.ts +27 -0
- package/daemon/dist/domain/rig-expansion-service.d.ts.map +1 -0
- package/daemon/dist/domain/rig-expansion-service.js +121 -0
- package/daemon/dist/domain/rig-expansion-service.js.map +1 -0
- package/daemon/dist/domain/rig-lifecycle-service.d.ts +100 -0
- package/daemon/dist/domain/rig-lifecycle-service.d.ts.map +1 -0
- package/daemon/dist/domain/rig-lifecycle-service.js +421 -0
- package/daemon/dist/domain/rig-lifecycle-service.js.map +1 -0
- package/daemon/dist/domain/rig-repository.d.ts +44 -0
- package/daemon/dist/domain/rig-repository.d.ts.map +1 -0
- package/daemon/dist/domain/rig-repository.js +165 -0
- package/daemon/dist/domain/rig-repository.js.map +1 -0
- package/daemon/dist/domain/rig-teardown.d.ts +51 -0
- package/daemon/dist/domain/rig-teardown.d.ts.map +1 -0
- package/daemon/dist/domain/rig-teardown.js +142 -0
- package/daemon/dist/domain/rig-teardown.js.map +1 -0
- package/daemon/dist/domain/rigspec-codec.d.ts +17 -0
- package/daemon/dist/domain/rigspec-codec.d.ts.map +1 -0
- package/daemon/dist/domain/rigspec-codec.js +141 -0
- package/daemon/dist/domain/rigspec-codec.js.map +1 -0
- package/daemon/dist/domain/rigspec-exporter.d.ts +21 -0
- package/daemon/dist/domain/rigspec-exporter.d.ts.map +1 -0
- package/daemon/dist/domain/rigspec-exporter.js +186 -0
- package/daemon/dist/domain/rigspec-exporter.js.map +1 -0
- package/daemon/dist/domain/rigspec-instantiator.d.ts +133 -0
- package/daemon/dist/domain/rigspec-instantiator.d.ts.map +1 -0
- package/daemon/dist/domain/rigspec-instantiator.js +1104 -0
- package/daemon/dist/domain/rigspec-instantiator.js.map +1 -0
- package/daemon/dist/domain/rigspec-preflight.d.ts +38 -0
- package/daemon/dist/domain/rigspec-preflight.d.ts.map +1 -0
- package/daemon/dist/domain/rigspec-preflight.js +198 -0
- package/daemon/dist/domain/rigspec-preflight.js.map +1 -0
- package/daemon/dist/domain/rigspec-schema.d.ts +25 -0
- package/daemon/dist/domain/rigspec-schema.d.ts.map +1 -0
- package/daemon/dist/domain/rigspec-schema.js +516 -0
- package/daemon/dist/domain/rigspec-schema.js.map +1 -0
- package/daemon/dist/domain/role-resolver.d.ts +21 -0
- package/daemon/dist/domain/role-resolver.d.ts.map +1 -0
- package/daemon/dist/domain/role-resolver.js +83 -0
- package/daemon/dist/domain/role-resolver.js.map +1 -0
- package/daemon/dist/domain/runtime-adapter.d.ts +74 -0
- package/daemon/dist/domain/runtime-adapter.d.ts.map +1 -0
- package/daemon/dist/domain/runtime-adapter.js +14 -0
- package/daemon/dist/domain/runtime-adapter.js.map +1 -0
- package/daemon/dist/domain/runtime-verifier.d.ts +45 -0
- package/daemon/dist/domain/runtime-verifier.d.ts.map +1 -0
- package/daemon/dist/domain/runtime-verifier.js +148 -0
- package/daemon/dist/domain/runtime-verifier.js.map +1 -0
- package/daemon/dist/domain/self-attach-service.d.ts +90 -0
- package/daemon/dist/domain/self-attach-service.d.ts.map +1 -0
- package/daemon/dist/domain/self-attach-service.js +202 -0
- package/daemon/dist/domain/self-attach-service.js.map +1 -0
- package/daemon/dist/domain/session-enricher.d.ts +29 -0
- package/daemon/dist/domain/session-enricher.d.ts.map +1 -0
- package/daemon/dist/domain/session-enricher.js +54 -0
- package/daemon/dist/domain/session-enricher.js.map +1 -0
- package/daemon/dist/domain/session-fingerprinter.d.ts +53 -0
- package/daemon/dist/domain/session-fingerprinter.d.ts.map +1 -0
- package/daemon/dist/domain/session-fingerprinter.js +118 -0
- package/daemon/dist/domain/session-fingerprinter.js.map +1 -0
- package/daemon/dist/domain/session-name.d.ts +28 -0
- package/daemon/dist/domain/session-name.d.ts.map +1 -0
- package/daemon/dist/domain/session-name.js +85 -0
- package/daemon/dist/domain/session-name.js.map +1 -0
- package/daemon/dist/domain/session-registry.d.ts +32 -0
- package/daemon/dist/domain/session-registry.d.ts.map +1 -0
- package/daemon/dist/domain/session-registry.js +142 -0
- package/daemon/dist/domain/session-registry.js.map +1 -0
- package/daemon/dist/domain/session-transport.d.ts +79 -0
- package/daemon/dist/domain/session-transport.d.ts.map +1 -0
- package/daemon/dist/domain/session-transport.js +403 -0
- package/daemon/dist/domain/session-transport.js.map +1 -0
- package/daemon/dist/domain/snapshot-capture.d.ts +27 -0
- package/daemon/dist/domain/snapshot-capture.d.ts.map +1 -0
- package/daemon/dist/domain/snapshot-capture.js +89 -0
- package/daemon/dist/domain/snapshot-capture.js.map +1 -0
- package/daemon/dist/domain/snapshot-repository.d.ts +19 -0
- package/daemon/dist/domain/snapshot-repository.d.ts.map +1 -0
- package/daemon/dist/domain/snapshot-repository.js +77 -0
- package/daemon/dist/domain/snapshot-repository.js.map +1 -0
- package/daemon/dist/domain/spec-library-service.d.ts +45 -0
- package/daemon/dist/domain/spec-library-service.d.ts.map +1 -0
- package/daemon/dist/domain/spec-library-service.js +197 -0
- package/daemon/dist/domain/spec-library-service.js.map +1 -0
- package/daemon/dist/domain/spec-review-service.d.ts +104 -0
- package/daemon/dist/domain/spec-review-service.d.ts.map +1 -0
- package/daemon/dist/domain/spec-review-service.js +220 -0
- package/daemon/dist/domain/spec-review-service.js.map +1 -0
- package/daemon/dist/domain/spec-validation-service.d.ts +21 -0
- package/daemon/dist/domain/spec-validation-service.d.ts.map +1 -0
- package/daemon/dist/domain/spec-validation-service.js +34 -0
- package/daemon/dist/domain/spec-validation-service.js.map +1 -0
- package/daemon/dist/domain/startup-orchestrator.d.ts +83 -0
- package/daemon/dist/domain/startup-orchestrator.d.ts.map +1 -0
- package/daemon/dist/domain/startup-orchestrator.js +252 -0
- package/daemon/dist/domain/startup-orchestrator.js.map +1 -0
- package/daemon/dist/domain/startup-resolver.d.ts +28 -0
- package/daemon/dist/domain/startup-resolver.d.ts.map +1 -0
- package/daemon/dist/domain/startup-resolver.js +57 -0
- package/daemon/dist/domain/startup-resolver.js.map +1 -0
- package/daemon/dist/domain/startup-validation.d.ts +31 -0
- package/daemon/dist/domain/startup-validation.d.ts.map +1 -0
- package/daemon/dist/domain/startup-validation.js +155 -0
- package/daemon/dist/domain/startup-validation.js.map +1 -0
- package/daemon/dist/domain/tmux-discovery-scanner.d.ts +29 -0
- package/daemon/dist/domain/tmux-discovery-scanner.d.ts.map +1 -0
- package/daemon/dist/domain/tmux-discovery-scanner.js +50 -0
- package/daemon/dist/domain/tmux-discovery-scanner.js.map +1 -0
- package/daemon/dist/domain/transcript-capture.d.ts +7 -0
- package/daemon/dist/domain/transcript-capture.d.ts.map +1 -0
- package/daemon/dist/domain/transcript-capture.js +15 -0
- package/daemon/dist/domain/transcript-capture.js.map +1 -0
- package/daemon/dist/domain/transcript-store.d.ts +19 -0
- package/daemon/dist/domain/transcript-store.d.ts.map +1 -0
- package/daemon/dist/domain/transcript-store.js +280 -0
- package/daemon/dist/domain/transcript-store.js.map +1 -0
- package/daemon/dist/domain/types.d.ts +720 -0
- package/daemon/dist/domain/types.d.ts.map +1 -0
- package/daemon/dist/domain/types.js +2 -0
- package/daemon/dist/domain/types.js.map +1 -0
- package/daemon/dist/domain/up-command-router.d.ts +25 -0
- package/daemon/dist/domain/up-command-router.d.ts.map +1 -0
- package/daemon/dist/domain/up-command-router.js +116 -0
- package/daemon/dist/domain/up-command-router.js.map +1 -0
- package/daemon/dist/domain/whoami-service.d.ts +86 -0
- package/daemon/dist/domain/whoami-service.d.ts.map +1 -0
- package/daemon/dist/domain/whoami-service.js +195 -0
- package/daemon/dist/domain/whoami-service.js.map +1 -0
- package/daemon/dist/index.d.ts +2 -0
- package/daemon/dist/index.d.ts.map +1 -0
- package/daemon/dist/index.js +21 -0
- package/daemon/dist/index.js.map +1 -0
- package/daemon/dist/openrig-compat.d.ts +9 -0
- package/daemon/dist/openrig-compat.d.ts.map +1 -0
- package/daemon/dist/openrig-compat.js +57 -0
- package/daemon/dist/openrig-compat.js.map +1 -0
- package/daemon/dist/routes/adapters.d.ts +3 -0
- package/daemon/dist/routes/adapters.d.ts.map +1 -0
- package/daemon/dist/routes/adapters.js +20 -0
- package/daemon/dist/routes/adapters.js.map +1 -0
- package/daemon/dist/routes/agents.d.ts +3 -0
- package/daemon/dist/routes/agents.d.ts.map +1 -0
- package/daemon/dist/routes/agents.js +13 -0
- package/daemon/dist/routes/agents.js.map +1 -0
- package/daemon/dist/routes/ask.d.ts +3 -0
- package/daemon/dist/routes/ask.d.ts.map +1 -0
- package/daemon/dist/routes/ask.js +15 -0
- package/daemon/dist/routes/ask.js.map +1 -0
- package/daemon/dist/routes/bootstrap.d.ts +3 -0
- package/daemon/dist/routes/bootstrap.d.ts.map +1 -0
- package/daemon/dist/routes/bootstrap.js +137 -0
- package/daemon/dist/routes/bootstrap.js.map +1 -0
- package/daemon/dist/routes/bundles.d.ts +3 -0
- package/daemon/dist/routes/bundles.d.ts.map +1 -0
- package/daemon/dist/routes/bundles.js +334 -0
- package/daemon/dist/routes/bundles.js.map +1 -0
- package/daemon/dist/routes/chat.d.ts +3 -0
- package/daemon/dist/routes/chat.d.ts.map +1 -0
- package/daemon/dist/routes/chat.js +138 -0
- package/daemon/dist/routes/chat.js.map +1 -0
- package/daemon/dist/routes/discovery.d.ts +3 -0
- package/daemon/dist/routes/discovery.d.ts.map +1 -0
- package/daemon/dist/routes/discovery.js +200 -0
- package/daemon/dist/routes/discovery.js.map +1 -0
- package/daemon/dist/routes/down.d.ts +3 -0
- package/daemon/dist/routes/down.d.ts.map +1 -0
- package/daemon/dist/routes/down.js +55 -0
- package/daemon/dist/routes/down.js.map +1 -0
- package/daemon/dist/routes/events.d.ts +3 -0
- package/daemon/dist/routes/events.d.ts.map +1 -0
- package/daemon/dist/routes/events.js +71 -0
- package/daemon/dist/routes/events.js.map +1 -0
- package/daemon/dist/routes/packages.d.ts +3 -0
- package/daemon/dist/routes/packages.d.ts.map +1 -0
- package/daemon/dist/routes/packages.js +341 -0
- package/daemon/dist/routes/packages.js.map +1 -0
- package/daemon/dist/routes/ps.d.ts +3 -0
- package/daemon/dist/routes/ps.d.ts.map +1 -0
- package/daemon/dist/routes/ps.js +7 -0
- package/daemon/dist/routes/ps.js.map +1 -0
- package/daemon/dist/routes/rigs.d.ts +3 -0
- package/daemon/dist/routes/rigs.d.ts.map +1 -0
- package/daemon/dist/routes/rigs.js +329 -0
- package/daemon/dist/routes/rigs.js.map +1 -0
- package/daemon/dist/routes/rigspec.d.ts +6 -0
- package/daemon/dist/routes/rigspec.d.ts.map +1 -0
- package/daemon/dist/routes/rigspec.js +182 -0
- package/daemon/dist/routes/rigspec.js.map +1 -0
- package/daemon/dist/routes/sessions.d.ts +5 -0
- package/daemon/dist/routes/sessions.d.ts.map +1 -0
- package/daemon/dist/routes/sessions.js +125 -0
- package/daemon/dist/routes/sessions.js.map +1 -0
- package/daemon/dist/routes/snapshots.d.ts +4 -0
- package/daemon/dist/routes/snapshots.d.ts.map +1 -0
- package/daemon/dist/routes/snapshots.js +77 -0
- package/daemon/dist/routes/snapshots.js.map +1 -0
- package/daemon/dist/routes/spec-library.d.ts +3 -0
- package/daemon/dist/routes/spec-library.d.ts.map +1 -0
- package/daemon/dist/routes/spec-library.js +95 -0
- package/daemon/dist/routes/spec-library.js.map +1 -0
- package/daemon/dist/routes/spec-review.d.ts +3 -0
- package/daemon/dist/routes/spec-review.d.ts.map +1 -0
- package/daemon/dist/routes/spec-review.js +41 -0
- package/daemon/dist/routes/spec-review.js.map +1 -0
- package/daemon/dist/routes/transcripts.d.ts +3 -0
- package/daemon/dist/routes/transcripts.d.ts.map +1 -0
- package/daemon/dist/routes/transcripts.js +130 -0
- package/daemon/dist/routes/transcripts.js.map +1 -0
- package/daemon/dist/routes/transport.d.ts +3 -0
- package/daemon/dist/routes/transport.d.ts.map +1 -0
- package/daemon/dist/routes/transport.js +89 -0
- package/daemon/dist/routes/transport.js.map +1 -0
- package/daemon/dist/routes/up.d.ts +3 -0
- package/daemon/dist/routes/up.d.ts.map +1 -0
- package/daemon/dist/routes/up.js +175 -0
- package/daemon/dist/routes/up.js.map +1 -0
- package/daemon/dist/routes/whoami.d.ts +3 -0
- package/daemon/dist/routes/whoami.d.ts.map +1 -0
- package/daemon/dist/routes/whoami.js +33 -0
- package/daemon/dist/routes/whoami.js.map +1 -0
- package/daemon/dist/seed.d.ts +2 -0
- package/daemon/dist/seed.d.ts.map +1 -0
- package/daemon/dist/seed.js +41 -0
- package/daemon/dist/seed.js.map +1 -0
- package/daemon/dist/server.d.ts +78 -0
- package/daemon/dist/server.d.ts.map +1 -0
- package/daemon/dist/server.js +206 -0
- package/daemon/dist/server.js.map +1 -0
- package/daemon/dist/startup.d.ts +21 -0
- package/daemon/dist/startup.d.ts.map +1 -0
- package/daemon/dist/startup.js +348 -0
- package/daemon/dist/startup.js.map +1 -0
- package/daemon/specs/adversarial-review.yaml +40 -0
- package/daemon/specs/agents/analyst/agent.yaml +21 -0
- package/daemon/specs/agents/analyst/guidance/role.md +27 -0
- package/daemon/specs/agents/design/agent.yaml +21 -0
- package/daemon/specs/agents/design/guidance/role.md +26 -0
- package/daemon/specs/agents/impl/agent.yaml +21 -0
- package/daemon/specs/agents/impl/guidance/role.md +27 -0
- package/daemon/specs/agents/lead/agent.yaml +21 -0
- package/daemon/specs/agents/lead/guidance/role.md +33 -0
- package/daemon/specs/agents/qa/agent.yaml +21 -0
- package/daemon/specs/agents/qa/guidance/role.md +26 -0
- package/daemon/specs/agents/reviewer/agent.yaml +21 -0
- package/daemon/specs/agents/reviewer/guidance/role.md +26 -0
- package/daemon/specs/agents/synthesizer/agent.yaml +21 -0
- package/daemon/specs/agents/synthesizer/guidance/role.md +26 -0
- package/daemon/specs/implementation-pair.yaml +27 -0
- package/daemon/specs/product-team.yaml +90 -0
- package/daemon/specs/research-team.yaml +40 -0
- package/dist/bin-wrapper.d.ts +5 -0
- package/dist/bin-wrapper.d.ts.map +1 -0
- package/dist/bin-wrapper.js +32 -0
- package/dist/bin-wrapper.js.map +1 -0
- package/dist/client.d.ts +21 -0
- package/dist/client.d.ts.map +1 -0
- package/dist/client.js +76 -0
- package/dist/client.js.map +1 -0
- package/dist/commands/adopt.d.ts +6 -0
- package/dist/commands/adopt.d.ts.map +1 -0
- package/dist/commands/adopt.js +212 -0
- package/dist/commands/adopt.js.map +1 -0
- package/dist/commands/agent.d.ts +7 -0
- package/dist/commands/agent.d.ts.map +1 -0
- package/dist/commands/agent.js +79 -0
- package/dist/commands/agent.js.map +1 -0
- package/dist/commands/ask.d.ts +4 -0
- package/dist/commands/ask.d.ts.map +1 -0
- package/dist/commands/ask.js +92 -0
- package/dist/commands/ask.js.map +1 -0
- package/dist/commands/attach.d.ts +14 -0
- package/dist/commands/attach.d.ts.map +1 -0
- package/dist/commands/attach.js +146 -0
- package/dist/commands/attach.js.map +1 -0
- package/dist/commands/bind.d.ts +4 -0
- package/dist/commands/bind.d.ts.map +1 -0
- package/dist/commands/bind.js +70 -0
- package/dist/commands/bind.js.map +1 -0
- package/dist/commands/bootstrap.d.ts +4 -0
- package/dist/commands/bootstrap.d.ts.map +1 -0
- package/dist/commands/bootstrap.js +141 -0
- package/dist/commands/bootstrap.js.map +1 -0
- package/dist/commands/broadcast.d.ts +4 -0
- package/dist/commands/broadcast.d.ts.map +1 -0
- package/dist/commands/broadcast.js +71 -0
- package/dist/commands/broadcast.js.map +1 -0
- package/dist/commands/bundle.d.ts +4 -0
- package/dist/commands/bundle.d.ts.map +1 -0
- package/dist/commands/bundle.js +129 -0
- package/dist/commands/bundle.js.map +1 -0
- package/dist/commands/capture.d.ts +4 -0
- package/dist/commands/capture.d.ts.map +1 -0
- package/dist/commands/capture.js +80 -0
- package/dist/commands/capture.js.map +1 -0
- package/dist/commands/chatroom.d.ts +4 -0
- package/dist/commands/chatroom.d.ts.map +1 -0
- package/dist/commands/chatroom.js +314 -0
- package/dist/commands/chatroom.js.map +1 -0
- package/dist/commands/claim.d.ts +4 -0
- package/dist/commands/claim.d.ts.map +1 -0
- package/dist/commands/claim.js +40 -0
- package/dist/commands/claim.js.map +1 -0
- package/dist/commands/config.d.ts +3 -0
- package/dist/commands/config.d.ts.map +1 -0
- package/dist/commands/config.js +74 -0
- package/dist/commands/config.js.map +1 -0
- package/dist/commands/daemon.d.ts +11 -0
- package/dist/commands/daemon.d.ts.map +1 -0
- package/dist/commands/daemon.js +167 -0
- package/dist/commands/daemon.js.map +1 -0
- package/dist/commands/discover.d.ts +4 -0
- package/dist/commands/discover.d.ts.map +1 -0
- package/dist/commands/discover.js +60 -0
- package/dist/commands/discover.js.map +1 -0
- package/dist/commands/doctor.d.ts +25 -0
- package/dist/commands/doctor.d.ts.map +1 -0
- package/dist/commands/doctor.js +155 -0
- package/dist/commands/doctor.js.map +1 -0
- package/dist/commands/down.d.ts +9 -0
- package/dist/commands/down.d.ts.map +1 -0
- package/dist/commands/down.js +96 -0
- package/dist/commands/down.js.map +1 -0
- package/dist/commands/expand.d.ts +4 -0
- package/dist/commands/expand.d.ts.map +1 -0
- package/dist/commands/expand.js +98 -0
- package/dist/commands/expand.js.map +1 -0
- package/dist/commands/export.d.ts +7 -0
- package/dist/commands/export.d.ts.map +1 -0
- package/dist/commands/export.js +46 -0
- package/dist/commands/export.js.map +1 -0
- package/dist/commands/import.d.ts +7 -0
- package/dist/commands/import.d.ts.map +1 -0
- package/dist/commands/import.js +157 -0
- package/dist/commands/import.js.map +1 -0
- package/dist/commands/launch.d.ts +4 -0
- package/dist/commands/launch.d.ts.map +1 -0
- package/dist/commands/launch.js +45 -0
- package/dist/commands/launch.js.map +1 -0
- package/dist/commands/mcp.d.ts +9 -0
- package/dist/commands/mcp.d.ts.map +1 -0
- package/dist/commands/mcp.js +52 -0
- package/dist/commands/mcp.js.map +1 -0
- package/dist/commands/package.d.ts +4 -0
- package/dist/commands/package.d.ts.map +1 -0
- package/dist/commands/package.js +234 -0
- package/dist/commands/package.js.map +1 -0
- package/dist/commands/preflight.d.ts +11 -0
- package/dist/commands/preflight.d.ts.map +1 -0
- package/dist/commands/preflight.js +53 -0
- package/dist/commands/preflight.js.map +1 -0
- package/dist/commands/ps.d.ts +9 -0
- package/dist/commands/ps.d.ts.map +1 -0
- package/dist/commands/ps.js +129 -0
- package/dist/commands/ps.js.map +1 -0
- package/dist/commands/release.d.ts +4 -0
- package/dist/commands/release.d.ts.map +1 -0
- package/dist/commands/release.js +69 -0
- package/dist/commands/release.js.map +1 -0
- package/dist/commands/remove.d.ts +4 -0
- package/dist/commands/remove.d.ts.map +1 -0
- package/dist/commands/remove.js +43 -0
- package/dist/commands/remove.js.map +1 -0
- package/dist/commands/requirements.d.ts +4 -0
- package/dist/commands/requirements.d.ts.map +1 -0
- package/dist/commands/requirements.js +66 -0
- package/dist/commands/requirements.js.map +1 -0
- package/dist/commands/restore.d.ts +4 -0
- package/dist/commands/restore.d.ts.map +1 -0
- package/dist/commands/restore.js +57 -0
- package/dist/commands/restore.js.map +1 -0
- package/dist/commands/rig.d.ts +7 -0
- package/dist/commands/rig.d.ts.map +1 -0
- package/dist/commands/rig.js +139 -0
- package/dist/commands/rig.js.map +1 -0
- package/dist/commands/send.d.ts +4 -0
- package/dist/commands/send.d.ts.map +1 -0
- package/dist/commands/send.js +59 -0
- package/dist/commands/send.js.map +1 -0
- package/dist/commands/shrink.d.ts +4 -0
- package/dist/commands/shrink.d.ts.map +1 -0
- package/dist/commands/shrink.js +53 -0
- package/dist/commands/shrink.js.map +1 -0
- package/dist/commands/snapshot.d.ts +4 -0
- package/dist/commands/snapshot.d.ts.map +1 -0
- package/dist/commands/snapshot.js +74 -0
- package/dist/commands/snapshot.js.map +1 -0
- package/dist/commands/specs.d.ts +22 -0
- package/dist/commands/specs.d.ts.map +1 -0
- package/dist/commands/specs.js +260 -0
- package/dist/commands/specs.js.map +1 -0
- package/dist/commands/status.d.ts +9 -0
- package/dist/commands/status.d.ts.map +1 -0
- package/dist/commands/status.js +68 -0
- package/dist/commands/status.js.map +1 -0
- package/dist/commands/transcript.d.ts +4 -0
- package/dist/commands/transcript.d.ts.map +1 -0
- package/dist/commands/transcript.js +77 -0
- package/dist/commands/transcript.js.map +1 -0
- package/dist/commands/ui.d.ts +8 -0
- package/dist/commands/ui.d.ts.map +1 -0
- package/dist/commands/ui.js +57 -0
- package/dist/commands/ui.js.map +1 -0
- package/dist/commands/unclaim.d.ts +4 -0
- package/dist/commands/unclaim.d.ts.map +1 -0
- package/dist/commands/unclaim.js +46 -0
- package/dist/commands/unclaim.js.map +1 -0
- package/dist/commands/up.d.ts +7 -0
- package/dist/commands/up.d.ts.map +1 -0
- package/dist/commands/up.js +195 -0
- package/dist/commands/up.js.map +1 -0
- package/dist/commands/whoami.d.ts +24 -0
- package/dist/commands/whoami.d.ts.map +1 -0
- package/dist/commands/whoami.js +196 -0
- package/dist/commands/whoami.js.map +1 -0
- package/dist/config-store.d.ts +23 -0
- package/dist/config-store.d.ts.map +1 -0
- package/dist/config-store.js +141 -0
- package/dist/config-store.js.map +1 -0
- package/dist/daemon-lifecycle.d.ts +60 -0
- package/dist/daemon-lifecycle.d.ts.map +1 -0
- package/dist/daemon-lifecycle.js +225 -0
- package/dist/daemon-lifecycle.js.map +1 -0
- package/dist/index.d.ts +51 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +103 -0
- package/dist/index.js.map +1 -0
- package/dist/mcp-server.d.ts +9 -0
- package/dist/mcp-server.d.ts.map +1 -0
- package/dist/mcp-server.js +308 -0
- package/dist/mcp-server.js.map +1 -0
- package/dist/openrig-compat.d.ts +9 -0
- package/dist/openrig-compat.d.ts.map +1 -0
- package/dist/openrig-compat.js +57 -0
- package/dist/openrig-compat.js.map +1 -0
- package/dist/system-preflight.d.ts +36 -0
- package/dist/system-preflight.d.ts.map +1 -0
- package/dist/system-preflight.js +136 -0
- package/dist/system-preflight.js.map +1 -0
- package/package.json +46 -3
- package/ui/dist/assets/index-B09doO8H.js +139 -0
- package/ui/dist/assets/index-CrjgHtlk.js +224 -0
- package/ui/dist/assets/index-DGPFTQEV.css +1 -0
- package/ui/dist/assets/inter-cyrillic-400-normal-HOLc17fK.woff +0 -0
- package/ui/dist/assets/inter-cyrillic-400-normal-obahsSVq.woff2 +0 -0
- package/ui/dist/assets/inter-cyrillic-500-normal-BasfLYem.woff2 +0 -0
- package/ui/dist/assets/inter-cyrillic-500-normal-CxZf_p3X.woff +0 -0
- package/ui/dist/assets/inter-cyrillic-600-normal-4D_pXhcN.woff +0 -0
- package/ui/dist/assets/inter-cyrillic-600-normal-CWCymEST.woff2 +0 -0
- package/ui/dist/assets/inter-cyrillic-700-normal-CjBOestx.woff2 +0 -0
- package/ui/dist/assets/inter-cyrillic-700-normal-DrXBdSj3.woff +0 -0
- package/ui/dist/assets/inter-cyrillic-ext-400-normal-BQZuk6qB.woff2 +0 -0
- package/ui/dist/assets/inter-cyrillic-ext-400-normal-DQukG94-.woff +0 -0
- package/ui/dist/assets/inter-cyrillic-ext-500-normal-B0yAr1jD.woff2 +0 -0
- package/ui/dist/assets/inter-cyrillic-ext-500-normal-BmqWE9Dz.woff +0 -0
- package/ui/dist/assets/inter-cyrillic-ext-600-normal-Bcila6Z-.woff +0 -0
- package/ui/dist/assets/inter-cyrillic-ext-600-normal-Dfes3d0z.woff2 +0 -0
- package/ui/dist/assets/inter-cyrillic-ext-700-normal-BjwYoWNd.woff2 +0 -0
- package/ui/dist/assets/inter-cyrillic-ext-700-normal-LO58E6JB.woff +0 -0
- package/ui/dist/assets/inter-greek-400-normal-B4URO6DV.woff2 +0 -0
- package/ui/dist/assets/inter-greek-400-normal-q2sYcFCs.woff +0 -0
- package/ui/dist/assets/inter-greek-500-normal-BIZE56-Y.woff2 +0 -0
- package/ui/dist/assets/inter-greek-500-normal-Xzm54t5V.woff +0 -0
- package/ui/dist/assets/inter-greek-600-normal-BZpKdvQh.woff +0 -0
- package/ui/dist/assets/inter-greek-600-normal-plRanbMR.woff2 +0 -0
- package/ui/dist/assets/inter-greek-700-normal-BUv2fZ6O.woff +0 -0
- package/ui/dist/assets/inter-greek-700-normal-C3JjAnD8.woff2 +0 -0
- package/ui/dist/assets/inter-greek-ext-400-normal-DGGRlc-M.woff2 +0 -0
- package/ui/dist/assets/inter-greek-ext-400-normal-KugGGMne.woff +0 -0
- package/ui/dist/assets/inter-greek-ext-500-normal-2j5mBUwD.woff +0 -0
- package/ui/dist/assets/inter-greek-ext-500-normal-C4iEst2y.woff2 +0 -0
- package/ui/dist/assets/inter-greek-ext-600-normal-B8X0CLgF.woff +0 -0
- package/ui/dist/assets/inter-greek-ext-600-normal-DRtmH8MT.woff2 +0 -0
- package/ui/dist/assets/inter-greek-ext-700-normal-BoQ6DsYi.woff +0 -0
- package/ui/dist/assets/inter-greek-ext-700-normal-qfdV9bQt.woff2 +0 -0
- package/ui/dist/assets/inter-latin-400-normal-C38fXH4l.woff2 +0 -0
- package/ui/dist/assets/inter-latin-400-normal-CyCys3Eg.woff +0 -0
- package/ui/dist/assets/inter-latin-500-normal-BL9OpVg8.woff +0 -0
- package/ui/dist/assets/inter-latin-500-normal-Cerq10X2.woff2 +0 -0
- package/ui/dist/assets/inter-latin-600-normal-CiBQ2DWP.woff +0 -0
- package/ui/dist/assets/inter-latin-600-normal-LgqL8muc.woff2 +0 -0
- package/ui/dist/assets/inter-latin-700-normal-BLAVimhd.woff +0 -0
- package/ui/dist/assets/inter-latin-700-normal-Yt3aPRUw.woff2 +0 -0
- package/ui/dist/assets/inter-latin-ext-400-normal-77YHD8bZ.woff +0 -0
- package/ui/dist/assets/inter-latin-ext-400-normal-C1nco2VV.woff2 +0 -0
- package/ui/dist/assets/inter-latin-ext-500-normal-BxGbmqWO.woff +0 -0
- package/ui/dist/assets/inter-latin-ext-500-normal-CV4jyFjo.woff2 +0 -0
- package/ui/dist/assets/inter-latin-ext-600-normal-CIVaiw4L.woff +0 -0
- package/ui/dist/assets/inter-latin-ext-600-normal-D2bJ5OIk.woff2 +0 -0
- package/ui/dist/assets/inter-latin-ext-700-normal-Ca8adRJv.woff2 +0 -0
- package/ui/dist/assets/inter-latin-ext-700-normal-TidjK2hL.woff +0 -0
- package/ui/dist/assets/inter-vietnamese-400-normal-Bbgyi5SW.woff +0 -0
- package/ui/dist/assets/inter-vietnamese-400-normal-DMkecbls.woff2 +0 -0
- package/ui/dist/assets/inter-vietnamese-500-normal-DOriooB6.woff2 +0 -0
- package/ui/dist/assets/inter-vietnamese-500-normal-mJboJaSs.woff +0 -0
- package/ui/dist/assets/inter-vietnamese-600-normal-BuLX-rYi.woff +0 -0
- package/ui/dist/assets/inter-vietnamese-600-normal-Cc8MFFhd.woff2 +0 -0
- package/ui/dist/assets/inter-vietnamese-700-normal-BZaoP0fm.woff +0 -0
- package/ui/dist/assets/inter-vietnamese-700-normal-DlLaEgI2.woff2 +0 -0
- package/ui/dist/assets/jetbrains-mono-cyrillic-wght-normal-D73BlboJ.woff2 +0 -0
- package/ui/dist/assets/jetbrains-mono-greek-wght-normal-Bw9x6K1M.woff2 +0 -0
- package/ui/dist/assets/jetbrains-mono-latin-ext-wght-normal-DBQx-q_a.woff2 +0 -0
- package/ui/dist/assets/jetbrains-mono-latin-wght-normal-B9CIFXIH.woff2 +0 -0
- package/ui/dist/assets/jetbrains-mono-vietnamese-wght-normal-Bt-aOZkq.woff2 +0 -0
- package/ui/dist/assets/space-grotesk-latin-ext-wght-normal-D9tNdqV9.woff2 +0 -0
- package/ui/dist/assets/space-grotesk-latin-wght-normal-BhU9QXUp.woff2 +0 -0
- package/ui/dist/assets/space-grotesk-vietnamese-wght-normal-D0rl6rjA.woff2 +0 -0
- package/ui/dist/index.html +14 -0
- package/index.js +0 -2
|
@@ -0,0 +1,154 @@
|
|
|
1
|
+
import path from "node:path";
|
|
2
|
+
import { createHash } from "node:crypto";
|
|
3
|
+
const BLOCK_START = (name) => `<!-- BEGIN RIGGED MANAGED BLOCK: ${name} -->`;
|
|
4
|
+
const BLOCK_END = (name) => `<!-- END RIGGED MANAGED BLOCK: ${name} -->`;
|
|
5
|
+
function hashContent(content) {
|
|
6
|
+
return createHash("sha256").update(content).digest("hex");
|
|
7
|
+
}
|
|
8
|
+
export class InstallEngine {
|
|
9
|
+
installRepo;
|
|
10
|
+
fs;
|
|
11
|
+
constructor(installRepo, fs) {
|
|
12
|
+
this.installRepo = installRepo;
|
|
13
|
+
this.fs = fs;
|
|
14
|
+
}
|
|
15
|
+
apply(policyResult, plan, packageId, targetRoot, bootstrapId) {
|
|
16
|
+
const install = this.installRepo.createInstall(packageId, targetRoot, "project_shared", bootstrapId);
|
|
17
|
+
const applied = [];
|
|
18
|
+
const backupRoot = path.join(targetRoot, ".rigged-backups", install.id);
|
|
19
|
+
try {
|
|
20
|
+
for (const entry of policyResult.approved) {
|
|
21
|
+
// Ensure target directory
|
|
22
|
+
this.fs.mkdirp(path.dirname(entry.targetPath));
|
|
23
|
+
// Backup existing file if it exists
|
|
24
|
+
let backupPath;
|
|
25
|
+
let beforeHash;
|
|
26
|
+
if (this.fs.exists(entry.targetPath)) {
|
|
27
|
+
const relativePath = path.relative(targetRoot, entry.targetPath);
|
|
28
|
+
backupPath = path.join(backupRoot, relativePath);
|
|
29
|
+
this.fs.mkdirp(path.dirname(backupPath));
|
|
30
|
+
this.fs.copyFile(entry.targetPath, backupPath);
|
|
31
|
+
beforeHash = hashContent(this.fs.readFile(entry.targetPath));
|
|
32
|
+
}
|
|
33
|
+
// Apply — guidance always uses managed-block merge (even for new files)
|
|
34
|
+
if (entry.exportType === "guidance") {
|
|
35
|
+
this.applyGuidanceMerge(entry, plan.packageName);
|
|
36
|
+
}
|
|
37
|
+
else if (entry.sourcePath) {
|
|
38
|
+
// Copy source to target (skills, agents)
|
|
39
|
+
this.fs.copyFile(entry.sourcePath, entry.targetPath);
|
|
40
|
+
}
|
|
41
|
+
const afterHash = this.fs.exists(entry.targetPath)
|
|
42
|
+
? hashContent(this.fs.readFile(entry.targetPath))
|
|
43
|
+
: undefined;
|
|
44
|
+
try {
|
|
45
|
+
const journal = this.installRepo.createJournalEntry({
|
|
46
|
+
installId: install.id,
|
|
47
|
+
action: entry.classification === "managed_merge" ? "merge_block" : "copy",
|
|
48
|
+
exportType: entry.exportType,
|
|
49
|
+
classification: entry.classification,
|
|
50
|
+
targetPath: entry.targetPath,
|
|
51
|
+
backupPath,
|
|
52
|
+
beforeHash,
|
|
53
|
+
afterHash,
|
|
54
|
+
status: "applied",
|
|
55
|
+
});
|
|
56
|
+
applied.push(journal);
|
|
57
|
+
}
|
|
58
|
+
catch (journalErr) {
|
|
59
|
+
// Undo this entry's file mutation since it won't be in the rollback list
|
|
60
|
+
try {
|
|
61
|
+
if (backupPath && this.fs.exists(backupPath)) {
|
|
62
|
+
this.fs.copyFile(backupPath, entry.targetPath);
|
|
63
|
+
}
|
|
64
|
+
else if (this.fs.exists(entry.targetPath)) {
|
|
65
|
+
this.fs.deleteFile(entry.targetPath);
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
catch { /* best-effort undo */ }
|
|
69
|
+
throw journalErr;
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
this.installRepo.updateInstallStatus(install.id, "applied");
|
|
73
|
+
}
|
|
74
|
+
catch (err) {
|
|
75
|
+
// Compensating rollback on failure
|
|
76
|
+
this.rollbackEntries(install.id, applied);
|
|
77
|
+
this.installRepo.updateInstallStatus(install.id, "failed");
|
|
78
|
+
throw err;
|
|
79
|
+
}
|
|
80
|
+
return {
|
|
81
|
+
installId: install.id,
|
|
82
|
+
applied,
|
|
83
|
+
deferred: plan.deferred,
|
|
84
|
+
conflicts: plan.conflicts,
|
|
85
|
+
};
|
|
86
|
+
}
|
|
87
|
+
rollback(installId) {
|
|
88
|
+
const entries = this.installRepo.getJournalEntries(installId);
|
|
89
|
+
const applyEntries = entries.filter((e) => e.action !== "rollback");
|
|
90
|
+
const { restored, deleted } = this.rollbackEntries(installId, applyEntries);
|
|
91
|
+
this.installRepo.updateInstallStatus(installId, "rolled_back");
|
|
92
|
+
return { installId, restored, deleted };
|
|
93
|
+
}
|
|
94
|
+
rollbackEntries(installId, entries) {
|
|
95
|
+
const restored = [];
|
|
96
|
+
const deleted = [];
|
|
97
|
+
// Reverse order for rollback
|
|
98
|
+
for (const entry of [...entries].reverse()) {
|
|
99
|
+
try {
|
|
100
|
+
if (entry.backupPath && this.fs.exists(entry.backupPath)) {
|
|
101
|
+
// Restore from backup
|
|
102
|
+
this.fs.mkdirp(path.dirname(entry.targetPath));
|
|
103
|
+
this.fs.copyFile(entry.backupPath, entry.targetPath);
|
|
104
|
+
restored.push(entry.targetPath);
|
|
105
|
+
}
|
|
106
|
+
else if (this.fs.exists(entry.targetPath)) {
|
|
107
|
+
// No backup = new file, delete it
|
|
108
|
+
this.fs.deleteFile(entry.targetPath);
|
|
109
|
+
deleted.push(entry.targetPath);
|
|
110
|
+
}
|
|
111
|
+
// Journal the rollback action
|
|
112
|
+
this.installRepo.createJournalEntry({
|
|
113
|
+
installId,
|
|
114
|
+
action: "rollback",
|
|
115
|
+
exportType: entry.exportType,
|
|
116
|
+
classification: entry.classification,
|
|
117
|
+
targetPath: entry.targetPath,
|
|
118
|
+
status: "rolled_back",
|
|
119
|
+
});
|
|
120
|
+
}
|
|
121
|
+
catch {
|
|
122
|
+
// Best-effort rollback — continue with remaining entries
|
|
123
|
+
}
|
|
124
|
+
}
|
|
125
|
+
return { restored, deleted };
|
|
126
|
+
}
|
|
127
|
+
applyGuidanceMerge(entry, packageName) {
|
|
128
|
+
if (!entry.sourcePath)
|
|
129
|
+
return;
|
|
130
|
+
const content = this.fs.readFile(entry.sourcePath);
|
|
131
|
+
const block = `${BLOCK_START(packageName)}\n${content}\n${BLOCK_END(packageName)}`;
|
|
132
|
+
if (this.fs.exists(entry.targetPath)) {
|
|
133
|
+
const existing = this.fs.readFile(entry.targetPath);
|
|
134
|
+
const startMarker = BLOCK_START(packageName);
|
|
135
|
+
const endMarker = BLOCK_END(packageName);
|
|
136
|
+
const startIdx = existing.indexOf(startMarker);
|
|
137
|
+
const endIdx = existing.indexOf(endMarker);
|
|
138
|
+
if (startIdx !== -1 && endIdx !== -1) {
|
|
139
|
+
// Update existing block
|
|
140
|
+
const updated = existing.slice(0, startIdx) + block + existing.slice(endIdx + endMarker.length);
|
|
141
|
+
this.fs.writeFile(entry.targetPath, updated);
|
|
142
|
+
}
|
|
143
|
+
else {
|
|
144
|
+
// Insert new block at end
|
|
145
|
+
this.fs.writeFile(entry.targetPath, existing + "\n\n" + block + "\n");
|
|
146
|
+
}
|
|
147
|
+
}
|
|
148
|
+
else {
|
|
149
|
+
// New file
|
|
150
|
+
this.fs.writeFile(entry.targetPath, block + "\n");
|
|
151
|
+
}
|
|
152
|
+
}
|
|
153
|
+
}
|
|
154
|
+
//# sourceMappingURL=install-engine.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"install-engine.js","sourceRoot":"","sources":["../../src/domain/install-engine.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import type { ResolvedPackage, FsOps } from "./package-resolver.js";
|
|
2
|
+
export type ActionClassification = "safe_projection" | "managed_merge" | "config_mutation" | "external_install" | "manual_only";
|
|
3
|
+
export interface ConflictInfo {
|
|
4
|
+
existingPath: string;
|
|
5
|
+
existingHash?: string;
|
|
6
|
+
sourceHash?: string;
|
|
7
|
+
reason: string;
|
|
8
|
+
}
|
|
9
|
+
export interface InstallPlanEntry {
|
|
10
|
+
exportType: string;
|
|
11
|
+
exportName: string;
|
|
12
|
+
classification: ActionClassification;
|
|
13
|
+
targetPath: string;
|
|
14
|
+
scope: string;
|
|
15
|
+
sourcePath?: string;
|
|
16
|
+
conflict?: ConflictInfo;
|
|
17
|
+
deferred: boolean;
|
|
18
|
+
deferReason?: string;
|
|
19
|
+
}
|
|
20
|
+
export interface InstallPlan {
|
|
21
|
+
packageId?: string;
|
|
22
|
+
packageName: string;
|
|
23
|
+
packageVersion: string;
|
|
24
|
+
sourceRef: string;
|
|
25
|
+
entries: InstallPlanEntry[];
|
|
26
|
+
actionable: InstallPlanEntry[];
|
|
27
|
+
deferred: InstallPlanEntry[];
|
|
28
|
+
conflicts: InstallPlanEntry[];
|
|
29
|
+
}
|
|
30
|
+
export interface PlanOptions {
|
|
31
|
+
roleName?: string;
|
|
32
|
+
}
|
|
33
|
+
export declare class InstallPlanner {
|
|
34
|
+
private fs;
|
|
35
|
+
constructor(fs: FsOps);
|
|
36
|
+
plan(resolved: ResolvedPackage, targetRoot: string, runtime: "claude-code" | "codex", options?: PlanOptions): InstallPlan;
|
|
37
|
+
}
|
|
38
|
+
//# sourceMappingURL=install-planner.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"install-planner.d.ts","sourceRoot":"","sources":["../../src/domain/install-planner.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAC;AAKpE,MAAM,MAAM,oBAAoB,GAC5B,iBAAiB,GACjB,eAAe,GACf,iBAAiB,GACjB,kBAAkB,GAClB,aAAa,CAAC;AAElB,MAAM,WAAW,YAAY;IAC3B,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,gBAAgB;IAC/B,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,cAAc,EAAE,oBAAoB,CAAC;IACrC,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,YAAY,CAAC;IACxB,QAAQ,EAAE,OAAO,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,WAAW;IAC1B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,cAAc,EAAE,MAAM,CAAC;IACvB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,gBAAgB,EAAE,CAAC;IAC5B,UAAU,EAAE,gBAAgB,EAAE,CAAC;IAC/B,QAAQ,EAAE,gBAAgB,EAAE,CAAC;IAC7B,SAAS,EAAE,gBAAgB,EAAE,CAAC;CAC/B;AAED,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAID,qBAAa,cAAc;IACzB,OAAO,CAAC,EAAE,CAAQ;gBAEN,EAAE,EAAE,KAAK;IAIrB,IAAI,CACF,QAAQ,EAAE,eAAe,EACzB,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,aAAa,GAAG,OAAO,EAChC,OAAO,CAAC,EAAE,WAAW,GACpB,WAAW;CAqQf"}
|
|
@@ -0,0 +1,243 @@
|
|
|
1
|
+
import path from "node:path";
|
|
2
|
+
import { resolveExports } from "./role-resolver.js";
|
|
3
|
+
// --- Planner ---
|
|
4
|
+
export class InstallPlanner {
|
|
5
|
+
fs;
|
|
6
|
+
constructor(fs) {
|
|
7
|
+
this.fs = fs;
|
|
8
|
+
}
|
|
9
|
+
plan(resolved, targetRoot, runtime, options) {
|
|
10
|
+
// R2-H2: Compatibility check — runtime must be in manifest's runtimes
|
|
11
|
+
if (!resolved.manifest.compatibility.runtimes.includes(runtime)) {
|
|
12
|
+
throw new Error(`Package '${resolved.manifest.name}' does not support runtime '${runtime}'. Supported: ${resolved.manifest.compatibility.runtimes.join(", ")}`);
|
|
13
|
+
}
|
|
14
|
+
const exports = resolveExports(resolved.manifest, options?.roleName);
|
|
15
|
+
const entries = [];
|
|
16
|
+
// Plan skills
|
|
17
|
+
for (const skill of exports.skills) {
|
|
18
|
+
// R2-H2: Scope enforcement — skip/defer entries that don't support project_shared
|
|
19
|
+
if (skill.supportedScopes && !skill.supportedScopes.includes("project_shared")) {
|
|
20
|
+
entries.push({
|
|
21
|
+
exportType: "skill",
|
|
22
|
+
exportName: skill.name,
|
|
23
|
+
classification: "config_mutation",
|
|
24
|
+
targetPath: "",
|
|
25
|
+
scope: "project_shared",
|
|
26
|
+
deferred: true,
|
|
27
|
+
deferReason: `Skill '${skill.name}' does not support project_shared scope`,
|
|
28
|
+
});
|
|
29
|
+
continue;
|
|
30
|
+
}
|
|
31
|
+
// R2-H1: Enumerate all files in the skill source directory
|
|
32
|
+
const sourceDir = path.join(resolved.sourceRef, skill.source);
|
|
33
|
+
const files = this.fs.listFiles ? this.fs.listFiles(sourceDir) : ["SKILL.md"];
|
|
34
|
+
for (const file of files) {
|
|
35
|
+
const targetPath = runtime === "claude-code"
|
|
36
|
+
? path.join(targetRoot, ".claude", "skills", skill.name, file)
|
|
37
|
+
: path.join(targetRoot, ".agents", "skills", skill.name, file);
|
|
38
|
+
const exists = this.fs.exists(targetPath);
|
|
39
|
+
const entry = {
|
|
40
|
+
exportType: "skill",
|
|
41
|
+
exportName: `${skill.name}/${file}`,
|
|
42
|
+
classification: "safe_projection",
|
|
43
|
+
targetPath,
|
|
44
|
+
sourcePath: path.join(sourceDir, file),
|
|
45
|
+
scope: "project_shared",
|
|
46
|
+
deferred: false,
|
|
47
|
+
};
|
|
48
|
+
// F2.1: Source file existence check
|
|
49
|
+
if (!this.fs.exists(entry.sourcePath)) {
|
|
50
|
+
throw new Error(`Source file not found: ${entry.sourcePath}`);
|
|
51
|
+
}
|
|
52
|
+
if (exists) {
|
|
53
|
+
entry.conflict = {
|
|
54
|
+
existingPath: targetPath,
|
|
55
|
+
reason: `Skill '${skill.name}/${file}' already exists at target`,
|
|
56
|
+
};
|
|
57
|
+
}
|
|
58
|
+
entries.push(entry);
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
// Plan guidance
|
|
62
|
+
for (const g of exports.guidance) {
|
|
63
|
+
// R2-H2: Scope enforcement
|
|
64
|
+
if (g.supportedScopes && !g.supportedScopes.includes("project_shared")) {
|
|
65
|
+
entries.push({
|
|
66
|
+
exportType: "guidance",
|
|
67
|
+
exportName: g.name,
|
|
68
|
+
classification: "config_mutation",
|
|
69
|
+
targetPath: "",
|
|
70
|
+
scope: "project_shared",
|
|
71
|
+
deferred: true,
|
|
72
|
+
deferReason: `Guidance '${g.name}' does not support project_shared scope`,
|
|
73
|
+
});
|
|
74
|
+
continue;
|
|
75
|
+
}
|
|
76
|
+
// Runtime/guidance kind mismatch → defer
|
|
77
|
+
if (g.kind === "agents_md" && runtime === "claude-code") {
|
|
78
|
+
entries.push({
|
|
79
|
+
exportType: "guidance",
|
|
80
|
+
exportName: g.name,
|
|
81
|
+
classification: "config_mutation",
|
|
82
|
+
targetPath: "",
|
|
83
|
+
scope: "project_shared",
|
|
84
|
+
deferred: true,
|
|
85
|
+
deferReason: "agents_md guidance not applicable to claude-code",
|
|
86
|
+
});
|
|
87
|
+
continue;
|
|
88
|
+
}
|
|
89
|
+
if (g.kind === "claude_md" && runtime === "codex") {
|
|
90
|
+
entries.push({
|
|
91
|
+
exportType: "guidance",
|
|
92
|
+
exportName: g.name,
|
|
93
|
+
classification: "config_mutation",
|
|
94
|
+
targetPath: "",
|
|
95
|
+
scope: "project_shared",
|
|
96
|
+
deferred: true,
|
|
97
|
+
deferReason: "claude_md guidance not applicable to codex",
|
|
98
|
+
});
|
|
99
|
+
continue;
|
|
100
|
+
}
|
|
101
|
+
// generic_rules_overlay → defer
|
|
102
|
+
if (g.kind === "generic_rules_overlay") {
|
|
103
|
+
entries.push({
|
|
104
|
+
exportType: "guidance",
|
|
105
|
+
exportName: g.name,
|
|
106
|
+
classification: "config_mutation",
|
|
107
|
+
targetPath: "",
|
|
108
|
+
scope: "project_shared",
|
|
109
|
+
deferred: true,
|
|
110
|
+
deferReason: "generic_rules_overlay not supported in Phase 4",
|
|
111
|
+
});
|
|
112
|
+
continue;
|
|
113
|
+
}
|
|
114
|
+
// replace/manual strategy → defer
|
|
115
|
+
if (g.mergeStrategy === "replace" || g.mergeStrategy === "manual") {
|
|
116
|
+
entries.push({
|
|
117
|
+
exportType: "guidance",
|
|
118
|
+
exportName: g.name,
|
|
119
|
+
classification: "manual_only",
|
|
120
|
+
targetPath: "",
|
|
121
|
+
scope: "project_shared",
|
|
122
|
+
deferred: true,
|
|
123
|
+
deferReason: `${g.mergeStrategy} merge not supported in Phase 4`,
|
|
124
|
+
});
|
|
125
|
+
continue;
|
|
126
|
+
}
|
|
127
|
+
// Determine target path
|
|
128
|
+
const targetFile = g.kind === "agents_md" ? "AGENTS.md" : "CLAUDE.md";
|
|
129
|
+
const targetPath = path.join(targetRoot, targetFile);
|
|
130
|
+
const exists = this.fs.exists(targetPath);
|
|
131
|
+
const guidanceSourcePath = path.join(resolved.sourceRef, g.source);
|
|
132
|
+
// F2.1: Source file existence check
|
|
133
|
+
if (!this.fs.exists(guidanceSourcePath)) {
|
|
134
|
+
throw new Error(`Source file not found: ${guidanceSourcePath}`);
|
|
135
|
+
}
|
|
136
|
+
entries.push({
|
|
137
|
+
exportType: "guidance",
|
|
138
|
+
exportName: g.name,
|
|
139
|
+
classification: exists ? "managed_merge" : "safe_projection",
|
|
140
|
+
targetPath,
|
|
141
|
+
sourcePath: guidanceSourcePath,
|
|
142
|
+
scope: "project_shared",
|
|
143
|
+
deferred: false,
|
|
144
|
+
});
|
|
145
|
+
}
|
|
146
|
+
// Plan agents (single YAML files, not directories)
|
|
147
|
+
for (const agent of exports.agents) {
|
|
148
|
+
const agentName = agent.name ?? path.basename(agent.source, path.extname(agent.source));
|
|
149
|
+
// R2-H2: Scope enforcement
|
|
150
|
+
if (agent.supportedScopes && !agent.supportedScopes.includes("project_shared")) {
|
|
151
|
+
entries.push({
|
|
152
|
+
exportType: "agent",
|
|
153
|
+
exportName: agentName,
|
|
154
|
+
classification: "config_mutation",
|
|
155
|
+
targetPath: "",
|
|
156
|
+
scope: "project_shared",
|
|
157
|
+
deferred: true,
|
|
158
|
+
deferReason: `Agent '${agentName}' does not support project_shared scope`,
|
|
159
|
+
});
|
|
160
|
+
continue;
|
|
161
|
+
}
|
|
162
|
+
const targetPath = runtime === "claude-code"
|
|
163
|
+
? path.join(targetRoot, ".claude", "agents", `${agentName}.yaml`)
|
|
164
|
+
: path.join(targetRoot, ".agents", `${agentName}.yaml`);
|
|
165
|
+
const agentSourcePath = path.join(resolved.sourceRef, agent.source);
|
|
166
|
+
// F2.1: Source file existence check
|
|
167
|
+
if (!this.fs.exists(agentSourcePath)) {
|
|
168
|
+
throw new Error(`Source file not found: ${agentSourcePath}`);
|
|
169
|
+
}
|
|
170
|
+
const exists = this.fs.exists(targetPath);
|
|
171
|
+
const entry = {
|
|
172
|
+
exportType: "agent",
|
|
173
|
+
exportName: agentName,
|
|
174
|
+
classification: "safe_projection",
|
|
175
|
+
targetPath,
|
|
176
|
+
sourcePath: agentSourcePath,
|
|
177
|
+
scope: "project_shared",
|
|
178
|
+
deferred: false,
|
|
179
|
+
};
|
|
180
|
+
if (exists) {
|
|
181
|
+
entry.conflict = {
|
|
182
|
+
existingPath: targetPath,
|
|
183
|
+
reason: `Agent '${agentName}' already exists at target`,
|
|
184
|
+
};
|
|
185
|
+
}
|
|
186
|
+
entries.push(entry);
|
|
187
|
+
}
|
|
188
|
+
// Plan deferred (hooks, mcp from role resolver)
|
|
189
|
+
for (const d of exports.deferred) {
|
|
190
|
+
entries.push({
|
|
191
|
+
exportType: d.exportType,
|
|
192
|
+
exportName: d.source,
|
|
193
|
+
classification: "config_mutation",
|
|
194
|
+
targetPath: "",
|
|
195
|
+
scope: "project_shared",
|
|
196
|
+
deferred: true,
|
|
197
|
+
deferReason: d.reason,
|
|
198
|
+
});
|
|
199
|
+
}
|
|
200
|
+
// Plan requirements as deferred
|
|
201
|
+
if (resolved.manifest.requirements?.cliTools) {
|
|
202
|
+
for (const tool of resolved.manifest.requirements.cliTools) {
|
|
203
|
+
entries.push({
|
|
204
|
+
exportType: "requirement",
|
|
205
|
+
exportName: tool.name,
|
|
206
|
+
classification: "external_install",
|
|
207
|
+
targetPath: "",
|
|
208
|
+
scope: "project_shared",
|
|
209
|
+
deferred: true,
|
|
210
|
+
deferReason: `CLI tool '${tool.name}' requires external install (Phase 5)`,
|
|
211
|
+
});
|
|
212
|
+
}
|
|
213
|
+
}
|
|
214
|
+
if (resolved.manifest.requirements?.systemPackages) {
|
|
215
|
+
for (const pkg of resolved.manifest.requirements.systemPackages) {
|
|
216
|
+
entries.push({
|
|
217
|
+
exportType: "requirement",
|
|
218
|
+
exportName: pkg.name,
|
|
219
|
+
classification: "external_install",
|
|
220
|
+
targetPath: "",
|
|
221
|
+
scope: "project_shared",
|
|
222
|
+
deferred: true,
|
|
223
|
+
deferReason: `System package '${pkg.name}' requires external install (Phase 5)`,
|
|
224
|
+
});
|
|
225
|
+
}
|
|
226
|
+
}
|
|
227
|
+
// Split into categories
|
|
228
|
+
const actionable = entries.filter((e) => !e.deferred && !e.conflict);
|
|
229
|
+
const deferred = entries.filter((e) => e.deferred);
|
|
230
|
+
const conflicts = entries.filter((e) => !!e.conflict && !e.deferred);
|
|
231
|
+
return {
|
|
232
|
+
// packageId is undefined until caller persists to DB
|
|
233
|
+
packageName: resolved.manifest.name,
|
|
234
|
+
packageVersion: resolved.manifest.version,
|
|
235
|
+
sourceRef: resolved.sourceRef,
|
|
236
|
+
entries,
|
|
237
|
+
actionable,
|
|
238
|
+
deferred,
|
|
239
|
+
conflicts,
|
|
240
|
+
};
|
|
241
|
+
}
|
|
242
|
+
}
|
|
243
|
+
//# sourceMappingURL=install-planner.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"install-planner.js","sourceRoot":"","sources":["../../src/domain/install-planner.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import type { InstallPlanEntry } from "./install-planner.js";
|
|
2
|
+
import type { RefinedInstallPlan } from "./conflict-detector.js";
|
|
3
|
+
export interface PolicyRejection {
|
|
4
|
+
entry: InstallPlanEntry;
|
|
5
|
+
reason: string;
|
|
6
|
+
}
|
|
7
|
+
export interface PolicyResult {
|
|
8
|
+
approved: InstallPlanEntry[];
|
|
9
|
+
rejected: PolicyRejection[];
|
|
10
|
+
}
|
|
11
|
+
/**
|
|
12
|
+
* Thin policy gate for install plan entries.
|
|
13
|
+
* Processes plan.actionable for classification-based approval,
|
|
14
|
+
* and plan.conflicts as always-rejected. Does not double-process
|
|
15
|
+
* entries that appear in both arrays.
|
|
16
|
+
*/
|
|
17
|
+
export declare function applyPolicy(plan: RefinedInstallPlan, options?: {
|
|
18
|
+
allowMerge?: boolean;
|
|
19
|
+
}): PolicyResult;
|
|
20
|
+
//# sourceMappingURL=install-policy.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"install-policy.d.ts","sourceRoot":"","sources":["../../src/domain/install-policy.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAC7D,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAEjE,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,gBAAgB,CAAC;IACxB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,YAAY;IAC3B,QAAQ,EAAE,gBAAgB,EAAE,CAAC;IAC7B,QAAQ,EAAE,eAAe,EAAE,CAAC;CAC7B;AAED;;;;;GAKG;AACH,wBAAgB,WAAW,CACzB,IAAI,EAAE,kBAAkB,EACxB,OAAO,GAAE;IAAE,UAAU,CAAC,EAAE,OAAO,CAAA;CAAO,GACrC,YAAY,CAuDd"}
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Thin policy gate for install plan entries.
|
|
3
|
+
* Processes plan.actionable for classification-based approval,
|
|
4
|
+
* and plan.conflicts as always-rejected. Does not double-process
|
|
5
|
+
* entries that appear in both arrays.
|
|
6
|
+
*/
|
|
7
|
+
export function applyPolicy(plan, options = {}) {
|
|
8
|
+
const approved = [];
|
|
9
|
+
const rejected = [];
|
|
10
|
+
// Track processed entry identities to prevent double-rejection
|
|
11
|
+
const processed = new Set();
|
|
12
|
+
// Conflicts are always rejected first
|
|
13
|
+
for (const entry of plan.conflicts) {
|
|
14
|
+
const key = `${entry.exportType}:${entry.exportName}`;
|
|
15
|
+
if (!processed.has(key)) {
|
|
16
|
+
processed.add(key);
|
|
17
|
+
rejected.push({
|
|
18
|
+
entry,
|
|
19
|
+
reason: "Conflicts must be resolved before install",
|
|
20
|
+
});
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
// Actionable entries — classify
|
|
24
|
+
for (const entry of plan.actionable) {
|
|
25
|
+
const key = `${entry.exportType}:${entry.exportName}`;
|
|
26
|
+
if (processed.has(key))
|
|
27
|
+
continue; // Already handled as conflict
|
|
28
|
+
switch (entry.classification) {
|
|
29
|
+
case "safe_projection":
|
|
30
|
+
approved.push(entry);
|
|
31
|
+
break;
|
|
32
|
+
case "managed_merge":
|
|
33
|
+
if (options.allowMerge) {
|
|
34
|
+
approved.push(entry);
|
|
35
|
+
}
|
|
36
|
+
else {
|
|
37
|
+
rejected.push({
|
|
38
|
+
entry,
|
|
39
|
+
reason: "managed_merge requires allowMerge flag",
|
|
40
|
+
});
|
|
41
|
+
}
|
|
42
|
+
break;
|
|
43
|
+
case "config_mutation":
|
|
44
|
+
rejected.push({ entry, reason: "Deferred to Phase 5" });
|
|
45
|
+
break;
|
|
46
|
+
case "external_install":
|
|
47
|
+
rejected.push({ entry, reason: "Deferred to Phase 5" });
|
|
48
|
+
break;
|
|
49
|
+
case "manual_only":
|
|
50
|
+
rejected.push({ entry, reason: "Manual merge not supported in Phase 4" });
|
|
51
|
+
break;
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
return { approved, rejected };
|
|
55
|
+
}
|
|
56
|
+
//# sourceMappingURL=install-policy.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"install-policy.js","sourceRoot":"","sources":["../../src/domain/install-policy.ts"],"names":[],"mappings":"AAaA;;;;;GAKG;AACH,MAAM,UAAU,WAAW,CACzB,IAAwB,EACxB,UAAoC,EAAE;IAEtC,MAAM,QAAQ,GAAuB,EAAE,CAAC;IACxC,MAAM,QAAQ,GAAsB,EAAE,CAAC;IAEvC,+DAA+D;IAC/D,MAAM,SAAS,GAAG,IAAI,GAAG,EAAU,CAAC;IAEpC,sCAAsC;IACtC,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;QACnC,MAAM,GAAG,GAAG,GAAG,KAAK,CAAC,UAAU,IAAI,KAAK,CAAC,UAAU,EAAE,CAAC;QACtD,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;YACxB,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YACnB,QAAQ,CAAC,IAAI,CAAC;gBACZ,KAAK;gBACL,MAAM,EAAE,2CAA2C;aACpD,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,gCAAgC;IAChC,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;QACpC,MAAM,GAAG,GAAG,GAAG,KAAK,CAAC,UAAU,IAAI,KAAK,CAAC,UAAU,EAAE,CAAC;QACtD,IAAI,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC;YAAE,SAAS,CAAC,8BAA8B;QAEhE,QAAQ,KAAK,CAAC,cAAc,EAAE,CAAC;YAC7B,KAAK,iBAAiB;gBACpB,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;gBACrB,MAAM;YAER,KAAK,eAAe;gBAClB,IAAI,OAAO,CAAC,UAAU,EAAE,CAAC;oBACvB,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;gBACvB,CAAC;qBAAM,CAAC;oBACN,QAAQ,CAAC,IAAI,CAAC;wBACZ,KAAK;wBACL,MAAM,EAAE,wCAAwC;qBACjD,CAAC,CAAC;gBACL,CAAC;gBACD,MAAM;YAER,KAAK,iBAAiB;gBACpB,QAAQ,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,qBAAqB,EAAE,CAAC,CAAC;gBACxD,MAAM;YAER,KAAK,kBAAkB;gBACrB,QAAQ,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,qBAAqB,EAAE,CAAC,CAAC;gBACxD,MAAM;YAER,KAAK,aAAa;gBAChB,QAAQ,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,uCAAuC,EAAE,CAAC,CAAC;gBAC1E,MAAM;QACV,CAAC;IACH,CAAC;IAED,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC;AAChC,CAAC"}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
import type Database from "better-sqlite3";
|
|
2
|
+
export interface Install {
|
|
3
|
+
id: string;
|
|
4
|
+
packageId: string;
|
|
5
|
+
targetRoot: string;
|
|
6
|
+
scope: string;
|
|
7
|
+
status: string;
|
|
8
|
+
riskTier: string | null;
|
|
9
|
+
createdAt: string;
|
|
10
|
+
appliedAt: string | null;
|
|
11
|
+
rolledBackAt: string | null;
|
|
12
|
+
}
|
|
13
|
+
export interface InstallSummary extends Install {
|
|
14
|
+
appliedCount: number;
|
|
15
|
+
deferredCount: null;
|
|
16
|
+
}
|
|
17
|
+
export interface JournalEntry {
|
|
18
|
+
id: string;
|
|
19
|
+
installId: string;
|
|
20
|
+
seq: number;
|
|
21
|
+
action: string;
|
|
22
|
+
exportType: string;
|
|
23
|
+
classification: string;
|
|
24
|
+
targetPath: string;
|
|
25
|
+
backupPath: string | null;
|
|
26
|
+
beforeHash: string | null;
|
|
27
|
+
afterHash: string | null;
|
|
28
|
+
status: string;
|
|
29
|
+
createdAt: string;
|
|
30
|
+
}
|
|
31
|
+
export declare class InstallRepository {
|
|
32
|
+
readonly db: Database.Database;
|
|
33
|
+
constructor(db: Database.Database);
|
|
34
|
+
createInstall(packageId: string, targetRoot: string, scope: string, bootstrapId?: string): Install;
|
|
35
|
+
updateInstallStatus(installId: string, status: string): void;
|
|
36
|
+
getInstall(installId: string): Install | null;
|
|
37
|
+
listInstallSummaries(packageId: string): InstallSummary[];
|
|
38
|
+
listInstalls(packageId?: string): Install[];
|
|
39
|
+
createJournalEntry(opts: {
|
|
40
|
+
installId: string;
|
|
41
|
+
action: string;
|
|
42
|
+
exportType: string;
|
|
43
|
+
classification: string;
|
|
44
|
+
targetPath: string;
|
|
45
|
+
backupPath?: string;
|
|
46
|
+
beforeHash?: string;
|
|
47
|
+
afterHash?: string;
|
|
48
|
+
status?: string;
|
|
49
|
+
}): JournalEntry;
|
|
50
|
+
getJournalEntries(installId: string): JournalEntry[];
|
|
51
|
+
private getJournalEntry;
|
|
52
|
+
private rowToInstall;
|
|
53
|
+
private rowToJournalEntry;
|
|
54
|
+
}
|
|
55
|
+
//# sourceMappingURL=install-repository.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"install-repository.d.ts","sourceRoot":"","sources":["../../src/domain/install-repository.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,QAAQ,MAAM,gBAAgB,CAAC;AAG3C,MAAM,WAAW,OAAO;IACtB,EAAE,EAAE,MAAM,CAAC;IACX,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;CAC7B;AAED,MAAM,WAAW,cAAe,SAAQ,OAAO;IAC7C,YAAY,EAAE,MAAM,CAAC;IACrB,aAAa,EAAE,IAAI,CAAC;CACrB;AAED,MAAM,WAAW,YAAY;IAC3B,EAAE,EAAE,MAAM,CAAC;IACX,SAAS,EAAE,MAAM,CAAC;IAClB,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,cAAc,EAAE,MAAM,CAAC;IACvB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;CACnB;AA6BD,qBAAa,iBAAiB;IAC5B,QAAQ,CAAC,EAAE,EAAE,QAAQ,CAAC,QAAQ,CAAC;gBAEnB,EAAE,EAAE,QAAQ,CAAC,QAAQ;IAIjC,aAAa,CAAC,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,MAAM,GAAG,OAAO;IAclG,mBAAmB,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI;IAa5D,UAAU,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,GAAG,IAAI;IAO7C,oBAAoB,CAAC,SAAS,EAAE,MAAM,GAAG,cAAc,EAAE;IAiBzD,YAAY,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,EAAE;IAa3C,kBAAkB,CAAC,IAAI,EAAE;QACvB,SAAS,EAAE,MAAM,CAAC;QAClB,MAAM,EAAE,MAAM,CAAC;QACf,UAAU,EAAE,MAAM,CAAC;QACnB,cAAc,EAAE,MAAM,CAAC;QACvB,UAAU,EAAE,MAAM,CAAC;QACnB,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,MAAM,CAAC,EAAE,MAAM,CAAC;KACjB,GAAG,YAAY;IAqBhB,iBAAiB,CAAC,SAAS,EAAE,MAAM,GAAG,YAAY,EAAE;IAOpD,OAAO,CAAC,eAAe;IAOvB,OAAO,CAAC,YAAY;IAcpB,OAAO,CAAC,iBAAiB;CAgB1B"}
|