devchain-cli 0.23.3 → 0.24.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/README.md +59 -45
- package/dist/build-info.json +5 -0
- package/dist/cli.js +157 -676
- package/dist/drizzle/0086_retire_worktrees.sql +3 -0
- package/dist/drizzle/0087_add_remotes_and_bindings.sql +23 -0
- package/dist/drizzle/0088_add_project_frozen_at.sql +4 -0
- package/dist/drizzle/0089_add_remote_operations.sql +16 -0
- package/dist/drizzle/0090_add_binding_sync_error.sql +2 -0
- package/dist/drizzle/0091_add_provider_auth_entries.sql +17 -0
- package/dist/drizzle/0092_amazing_synch.sql +43 -0
- package/dist/drizzle/0093_remote_tls_certificate.sql +1 -0
- package/dist/drizzle/meta/0086_snapshot.json +7050 -0
- package/dist/drizzle/meta/0087_snapshot.json +7211 -0
- package/dist/drizzle/meta/0088_snapshot.json +7218 -0
- package/dist/drizzle/meta/0089_snapshot.json +7335 -0
- package/dist/drizzle/meta/0090_snapshot.json +7349 -0
- package/dist/drizzle/meta/0091_snapshot.json +7465 -0
- package/dist/drizzle/meta/0092_snapshot.json +7648 -0
- package/dist/drizzle/meta/0093_snapshot.json +7655 -0
- package/dist/drizzle/meta/_journal.json +56 -0
- package/dist/host-cli-pins.json +7 -0
- package/dist/host-install/60-devchain-inotify.conf +2 -0
- package/dist/host-install/devchain-bootstrap.service +25 -0
- package/dist/host-install/devchain-host-bootstrap.tgz +0 -0
- package/dist/host-install/devchain-no-session-bus.pref +6 -0
- package/dist/host-install/pins.json +31 -0
- package/dist/lib/exclusive-run.js +308 -0
- package/dist/lib/host-api-key.js +143 -0
- package/dist/lib/host-install.js +889 -0
- package/dist/node_modules/@devchain/proxmox-client/dist/domain-error.d.ts +7 -0
- package/dist/node_modules/@devchain/proxmox-client/dist/domain-error.d.ts.map +1 -0
- package/dist/node_modules/@devchain/proxmox-client/dist/domain-error.js +15 -0
- package/dist/node_modules/@devchain/proxmox-client/dist/domain-error.js.map +1 -0
- package/dist/node_modules/@devchain/proxmox-client/dist/index.d.ts +5 -0
- package/dist/node_modules/@devchain/proxmox-client/dist/index.d.ts.map +1 -0
- package/dist/node_modules/@devchain/proxmox-client/dist/index.js +14 -0
- package/dist/node_modules/@devchain/proxmox-client/dist/index.js.map +1 -0
- package/dist/node_modules/@devchain/proxmox-client/dist/proxmox-client.d.ts +189 -0
- package/dist/node_modules/@devchain/proxmox-client/dist/proxmox-client.d.ts.map +1 -0
- package/dist/node_modules/@devchain/proxmox-client/dist/proxmox-client.js +562 -0
- package/dist/node_modules/@devchain/proxmox-client/dist/proxmox-client.js.map +1 -0
- package/dist/node_modules/@devchain/proxmox-client/dist/proxmox-errors.d.ts +20 -0
- package/dist/node_modules/@devchain/proxmox-client/dist/proxmox-errors.d.ts.map +1 -0
- package/dist/node_modules/@devchain/proxmox-client/dist/proxmox-errors.js +43 -0
- package/dist/node_modules/@devchain/proxmox-client/dist/proxmox-errors.js.map +1 -0
- package/dist/node_modules/@devchain/proxmox-client/dist/smbios-parser.d.ts +20 -0
- package/dist/node_modules/@devchain/proxmox-client/dist/smbios-parser.d.ts.map +1 -0
- package/dist/node_modules/@devchain/proxmox-client/dist/smbios-parser.js +46 -0
- package/dist/node_modules/@devchain/proxmox-client/dist/smbios-parser.js.map +1 -0
- package/dist/node_modules/@devchain/proxmox-client/package.json +26 -0
- package/dist/node_modules/@devchain/shared/index.d.ts +2 -1
- package/dist/node_modules/@devchain/shared/index.d.ts.map +1 -1
- package/dist/node_modules/@devchain/shared/index.js +2 -1
- package/dist/node_modules/@devchain/shared/index.js.map +1 -1
- package/dist/node_modules/@devchain/shared/mobile-rpc-contract/index.d.ts +41 -2
- package/dist/node_modules/@devchain/shared/mobile-rpc-contract/index.d.ts.map +1 -1
- package/dist/node_modules/@devchain/shared/mobile-rpc-contract/index.js +15 -1
- package/dist/node_modules/@devchain/shared/mobile-rpc-contract/index.js.map +1 -1
- package/dist/node_modules/@devchain/shared/schemas/host-provider-clis.d.ts +345 -0
- package/dist/node_modules/@devchain/shared/schemas/host-provider-clis.d.ts.map +1 -0
- package/dist/node_modules/@devchain/shared/schemas/host-provider-clis.js +34 -0
- package/dist/node_modules/@devchain/shared/schemas/host-provider-clis.js.map +1 -0
- package/dist/node_modules/@devchain/shared/schemas/host-skill-settings.d.ts +184 -0
- package/dist/node_modules/@devchain/shared/schemas/host-skill-settings.d.ts.map +1 -0
- package/dist/node_modules/@devchain/shared/schemas/host-skill-settings.js +70 -0
- package/dist/node_modules/@devchain/shared/schemas/host-skill-settings.js.map +1 -0
- package/dist/node_modules/@devchain/shared/schemas/index.d.ts +4 -0
- package/dist/node_modules/@devchain/shared/schemas/index.d.ts.map +1 -1
- package/dist/node_modules/@devchain/shared/schemas/index.js +4 -0
- package/dist/node_modules/@devchain/shared/schemas/index.js.map +1 -1
- package/dist/node_modules/@devchain/shared/schemas/project-replica.d.ts +22238 -0
- package/dist/node_modules/@devchain/shared/schemas/project-replica.d.ts.map +1 -0
- package/dist/node_modules/@devchain/shared/schemas/project-replica.js +649 -0
- package/dist/node_modules/@devchain/shared/schemas/project-replica.js.map +1 -0
- package/dist/node_modules/@devchain/shared/schemas/provider-clis.d.ts +68 -0
- package/dist/node_modules/@devchain/shared/schemas/provider-clis.d.ts.map +1 -0
- package/dist/node_modules/@devchain/shared/schemas/provider-clis.js +37 -0
- package/dist/node_modules/@devchain/shared/schemas/provider-clis.js.map +1 -0
- package/dist/node_modules/@devchain/shared/tsconfig.tsbuildinfo +1 -1
- package/dist/server/app.module.d.ts +4 -1
- package/dist/server/app.module.js +110 -2
- package/dist/server/app.module.js.map +1 -1
- package/dist/server/common/app-version.d.ts +1 -0
- package/dist/server/common/app-version.js +28 -0
- package/dist/server/common/app-version.js.map +1 -0
- package/dist/server/common/config/env.config.d.ts +42 -78
- package/dist/server/common/config/env.config.js +24 -42
- package/dist/server/common/config/env.config.js.map +1 -1
- package/dist/server/common/config/host-image.config.d.ts +16 -0
- package/dist/server/common/config/host-image.config.js +33 -0
- package/dist/server/common/config/host-image.config.js.map +1 -0
- package/dist/server/common/config/host-image.json +5 -0
- package/dist/server/common/config/{container-scope.d.ts → integration-admission.d.ts} +3 -4
- package/dist/server/common/config/{container-scope.js → integration-admission.js} +2 -11
- package/dist/server/common/config/integration-admission.js.map +1 -0
- package/dist/server/common/config/provider-baseline.d.ts +16 -0
- package/dist/server/common/config/provider-baseline.js +15 -0
- package/dist/server/common/config/provider-baseline.js.map +1 -0
- package/dist/server/common/constants/built-in-skill-sources.d.ts +10 -0
- package/dist/server/common/constants/built-in-skill-sources.js +19 -0
- package/dist/server/common/constants/built-in-skill-sources.js.map +1 -0
- package/dist/server/common/constants/syncthing-markers.d.ts +4 -0
- package/dist/server/common/constants/syncthing-markers.js +19 -0
- package/dist/server/common/constants/syncthing-markers.js.map +1 -0
- package/dist/server/common/errors/error-types.d.ts +35 -0
- package/dist/server/common/errors/error-types.js +78 -1
- package/dist/server/common/errors/error-types.js.map +1 -1
- package/dist/server/common/follow-note.d.ts +2 -0
- package/dist/server/common/follow-note.js +12 -0
- package/dist/server/common/follow-note.js.map +1 -0
- package/dist/server/common/guards/integration-admission.guard.js +2 -2
- package/dist/server/common/guards/integration-admission.guard.js.map +1 -1
- package/dist/server/common/http/request-abort-signal.d.ts +2 -0
- package/dist/server/common/http/request-abort-signal.js +24 -0
- package/dist/server/common/http/request-abort-signal.js.map +1 -0
- package/dist/server/common/test/app-bootstrap.helper.d.ts +11 -3
- package/dist/server/common/test/app-bootstrap.helper.js +65 -18
- package/dist/server/common/test/app-bootstrap.helper.js.map +1 -1
- package/dist/server/common/test/fake-bootstrap.server.d.ts +52 -0
- package/dist/server/common/test/fake-bootstrap.server.js +179 -0
- package/dist/server/common/test/fake-bootstrap.server.js.map +1 -0
- package/dist/server/common/test/fake-docker-engine.server.d.ts +64 -0
- package/dist/server/common/test/fake-docker-engine.server.js +316 -0
- package/dist/server/common/test/fake-docker-engine.server.js.map +1 -0
- package/dist/server/common/test/fake-proxmox.server.d.ts +49 -0
- package/dist/server/common/test/fake-proxmox.server.js +374 -0
- package/dist/server/common/test/fake-proxmox.server.js.map +1 -0
- package/dist/server/common/test/fake-ssh.server.d.ts +9 -0
- package/dist/server/common/test/fake-ssh.server.js +96 -0
- package/dist/server/common/test/fake-ssh.server.js.map +1 -0
- package/dist/server/common/test/remote-project.fixture.d.ts +32 -0
- package/dist/server/common/test/remote-project.fixture.js +328 -0
- package/dist/server/common/test/remote-project.fixture.js.map +1 -0
- package/dist/server/common/test/tls-fixture.d.ts +14 -0
- package/dist/server/common/test/tls-fixture.js +26 -0
- package/dist/server/common/test/tls-fixture.js.map +1 -0
- package/dist/server/common/test/two-instance.fixture.d.ts +48 -0
- package/dist/server/common/test/two-instance.fixture.js +269 -0
- package/dist/server/common/test/two-instance.fixture.js.map +1 -0
- package/dist/server/common/tls/certificate.d.ts +3 -0
- package/dist/server/common/tls/certificate.js +16 -0
- package/dist/server/common/tls/certificate.js.map +1 -0
- package/dist/server/common/validation/proxmox-name.d.ts +2 -0
- package/dist/server/common/validation/proxmox-name.js +10 -0
- package/dist/server/common/validation/proxmox-name.js.map +1 -0
- package/dist/server/common/validation/ssh-public-key.d.ts +12 -0
- package/dist/server/common/validation/ssh-public-key.js +82 -0
- package/dist/server/common/validation/ssh-public-key.js.map +1 -0
- package/dist/server/main.js +7 -7
- package/dist/server/main.js.map +1 -1
- package/dist/server/modules/agent-message-delivery/agent-message-delivery.service.js +1 -0
- package/dist/server/modules/agent-message-delivery/agent-message-delivery.service.js.map +1 -1
- package/dist/server/modules/agent-message-delivery/dtos/delivery.types.d.ts +1 -0
- package/dist/server/modules/agents/agents.module.js +8 -1
- package/dist/server/modules/agents/agents.module.js.map +1 -1
- package/dist/server/modules/agents/controllers/agents.controller.d.ts +3 -1
- package/dist/server/modules/agents/controllers/agents.controller.js +11 -2
- package/dist/server/modules/agents/controllers/agents.controller.js.map +1 -1
- package/dist/server/modules/cloud/cloud.module.js +14 -1
- package/dist/server/modules/cloud/cloud.module.js.map +1 -1
- package/dist/server/modules/cloud/controllers/instance-label.controller.d.ts +8 -0
- package/dist/server/modules/cloud/controllers/instance-label.controller.js +47 -0
- package/dist/server/modules/cloud/controllers/instance-label.controller.js.map +1 -0
- package/dist/server/modules/cloud/services/instance-label.service.d.ts +7 -0
- package/dist/server/modules/cloud/services/instance-label.service.js +36 -0
- package/dist/server/modules/cloud/services/instance-label.service.js.map +1 -0
- package/dist/server/modules/cloud-tunnel/cloud-tunnel.module.js +2 -0
- package/dist/server/modules/cloud-tunnel/cloud-tunnel.module.js.map +1 -1
- package/dist/server/modules/cloud-tunnel/services/mobile-board-rpc.service.d.ts +4 -1
- package/dist/server/modules/cloud-tunnel/services/mobile-board-rpc.service.js +15 -2
- package/dist/server/modules/cloud-tunnel/services/mobile-board-rpc.service.js.map +1 -1
- package/dist/server/modules/cloud-tunnel/services/mobile-rpc-contract.generated.d.ts +43 -4
- package/dist/server/modules/cloud-tunnel/services/mobile-rpc-contract.generated.js +15 -1
- package/dist/server/modules/cloud-tunnel/services/mobile-rpc-contract.generated.js.map +1 -1
- package/dist/server/modules/cloud-tunnel/services/tunnel-client.service.d.ts +5 -1
- package/dist/server/modules/cloud-tunnel/services/tunnel-client.service.js +14 -5
- package/dist/server/modules/cloud-tunnel/services/tunnel-client.service.js.map +1 -1
- package/dist/server/modules/cloud-tunnel/services/tunnel-handler.service.d.ts +4 -1
- package/dist/server/modules/cloud-tunnel/services/tunnel-handler.service.js +36 -6
- package/dist/server/modules/cloud-tunnel/services/tunnel-handler.service.js.map +1 -1
- package/dist/server/modules/core/controllers/build-info.d.ts +6 -0
- package/dist/server/modules/core/controllers/build-info.js +29 -0
- package/dist/server/modules/core/controllers/build-info.js.map +1 -0
- package/dist/server/modules/core/controllers/docker-archive-journal.d.ts +26 -0
- package/dist/server/modules/core/controllers/docker-archive-journal.js +293 -0
- package/dist/server/modules/core/controllers/docker-archive-journal.js.map +1 -0
- package/dist/server/modules/core/controllers/docker-archive.d.ts +41 -0
- package/dist/server/modules/core/controllers/docker-archive.js +128 -0
- package/dist/server/modules/core/controllers/docker-archive.js.map +1 -0
- package/dist/server/modules/core/controllers/docker-engine.client.d.ts +82 -0
- package/dist/server/modules/core/controllers/docker-engine.client.js +306 -0
- package/dist/server/modules/core/controllers/docker-engine.client.js.map +1 -0
- package/dist/server/modules/core/controllers/docker-runtime.d.ts +144 -0
- package/dist/server/modules/core/controllers/docker-runtime.js +116 -0
- package/dist/server/modules/core/controllers/docker-runtime.js.map +1 -0
- package/dist/server/modules/core/controllers/docker-settings.d.ts +14 -0
- package/dist/server/modules/core/controllers/docker-settings.js +282 -0
- package/dist/server/modules/core/controllers/docker-settings.js.map +1 -0
- package/dist/server/modules/core/controllers/host-cli-versions.d.ts +1 -0
- package/dist/server/modules/core/controllers/host-cli-versions.js +27 -0
- package/dist/server/modules/core/controllers/host-cli-versions.js.map +1 -0
- package/dist/server/modules/core/controllers/host-stats.controller.d.ts +8 -0
- package/dist/server/modules/core/controllers/host-stats.controller.js +139 -0
- package/dist/server/modules/core/controllers/host-stats.controller.js.map +1 -0
- package/dist/server/modules/core/controllers/runtime.controller.d.ts +48 -13
- package/dist/server/modules/core/controllers/runtime.controller.js +37 -92
- package/dist/server/modules/core/controllers/runtime.controller.js.map +1 -1
- package/dist/server/modules/core/core-common.module.js +6 -1
- package/dist/server/modules/core/core-common.module.js.map +1 -1
- package/dist/server/modules/core/models/host-stats.model.d.ts +12 -0
- package/dist/server/modules/{orchestrator/sync/dtos/overview.dto.js → core/models/host-stats.model.js} +1 -1
- package/dist/server/modules/core/models/host-stats.model.js.map +1 -0
- package/dist/server/modules/e2ee/services/device-revocation-history.d.ts +5 -0
- package/dist/server/modules/e2ee/services/device-revocation-history.js +37 -0
- package/dist/server/modules/e2ee/services/device-revocation-history.js.map +1 -0
- package/dist/server/modules/e2ee/services/e2ee-device-store.service.js +8 -2
- package/dist/server/modules/e2ee/services/e2ee-device-store.service.js.map +1 -1
- package/dist/server/modules/epic-time/epic-time.module.js +10 -1
- package/dist/server/modules/epic-time/epic-time.module.js.map +1 -1
- package/dist/server/modules/epic-time/services/agent-time-accounting.service.d.ts +3 -1
- package/dist/server/modules/epic-time/services/agent-time-accounting.service.js +21 -8
- package/dist/server/modules/epic-time/services/agent-time-accounting.service.js.map +1 -1
- package/dist/server/modules/epic-time/services/epic-estimate-logging.service.d.ts +3 -1
- package/dist/server/modules/epic-time/services/epic-estimate-logging.service.js +8 -2
- package/dist/server/modules/epic-time/services/epic-estimate-logging.service.js.map +1 -1
- package/dist/server/modules/epic-time/services/epic-time.service.d.ts +3 -1
- package/dist/server/modules/epic-time/services/epic-time.service.js +8 -2
- package/dist/server/modules/epic-time/services/epic-time.service.js.map +1 -1
- package/dist/server/modules/epic-time/services/epic-time.store.d.ts +26 -2
- package/dist/server/modules/epic-time/services/epic-time.store.js +122 -23
- package/dist/server/modules/epic-time/services/epic-time.store.js.map +1 -1
- package/dist/server/modules/epics/controllers/epic-comments.controller.js +1 -1
- package/dist/server/modules/epics/controllers/epic-comments.controller.js.map +1 -1
- package/dist/server/modules/epics/epics.module.js +4 -0
- package/dist/server/modules/epics/epics.module.js.map +1 -1
- package/dist/server/modules/epics/services/epic-relation-target-resolver.js +2 -1
- package/dist/server/modules/epics/services/epic-relation-target-resolver.js.map +1 -1
- package/dist/server/modules/epics/services/epic-relations.service.d.ts +4 -1
- package/dist/server/modules/epics/services/epic-relations.service.js +24 -3
- package/dist/server/modules/epics/services/epic-relations.service.js.map +1 -1
- package/dist/server/modules/epics/services/epics.service.d.ts +30 -7
- package/dist/server/modules/epics/services/epics.service.js +216 -46
- package/dist/server/modules/epics/services/epics.service.js.map +1 -1
- package/dist/server/modules/epics/subscribers/epic-assignment-notifier.subscriber.js +3 -3
- package/dist/server/modules/epics/subscribers/epic-assignment-notifier.subscriber.js.map +1 -1
- package/dist/server/modules/epics/utils/apply-description-edits.d.ts +21 -0
- package/dist/server/modules/epics/utils/apply-description-edits.js +81 -0
- package/dist/server/modules/epics/utils/apply-description-edits.js.map +1 -0
- package/dist/server/modules/events/catalog/agent.created.d.ts +4 -4
- package/dist/server/modules/events/catalog/agent.deleted.d.ts +2 -2
- package/dist/server/modules/events/catalog/agent.message.sent.d.ts +40 -40
- package/dist/server/modules/events/catalog/broadcast-registry.js +28 -8
- package/dist/server/modules/events/catalog/broadcast-registry.js.map +1 -1
- package/dist/server/modules/events/catalog/claude.hooks.ask_user_question.pending.d.ts +4 -4
- package/dist/server/modules/events/catalog/claude.hooks.session.started.d.ts +6 -6
- package/dist/server/modules/events/catalog/epic.comment.created.d.ts +2 -2
- package/dist/server/modules/events/catalog/epic.created.d.ts +2 -2
- package/dist/server/modules/events/catalog/epic.deleted.d.ts +2 -2
- package/dist/server/modules/events/catalog/epic.updated.d.ts +25 -25
- package/dist/server/modules/events/catalog/guest.registered.d.ts +2 -2
- package/dist/server/modules/events/catalog/guest.unregistered.d.ts +4 -4
- package/dist/server/modules/events/catalog/index.d.ts +239 -194
- package/dist/server/modules/events/catalog/index.js +9 -1
- package/dist/server/modules/events/catalog/index.js.map +1 -1
- package/dist/server/modules/events/catalog/integration.connection.created.d.ts +4 -4
- package/dist/server/modules/events/catalog/integration.connection.deleted.d.ts +2 -2
- package/dist/server/modules/events/catalog/integration.connection.legacy.d.ts +10 -10
- package/dist/server/modules/events/catalog/integration.connection.updated.d.ts +4 -4
- package/dist/server/modules/events/catalog/remote.binding.changed.d.ts +24 -0
- package/dist/server/modules/events/catalog/remote.binding.changed.js +17 -0
- package/dist/server/modules/events/catalog/remote.binding.changed.js.map +1 -0
- package/dist/server/modules/events/catalog/remote.project.synced.d.ts +27 -0
- package/dist/server/modules/events/catalog/remote.project.synced.js +18 -0
- package/dist/server/modules/events/catalog/remote.project.synced.js.map +1 -0
- package/dist/server/modules/events/catalog/review.comment.created.d.ts +16 -16
- package/dist/server/modules/events/catalog/review.comment.deleted.d.ts +2 -2
- package/dist/server/modules/events/catalog/review.comment.resolved.d.ts +2 -2
- package/dist/server/modules/events/catalog/review.comment.updated.d.ts +4 -4
- package/dist/server/modules/events/catalog/review.created.d.ts +16 -16
- package/dist/server/modules/events/catalog/review.updated.d.ts +16 -16
- package/dist/server/modules/events/catalog/scheduled-epic.executed.d.ts +12 -12
- package/dist/server/modules/events/catalog/session.activity.changed.d.ts +2 -2
- package/dist/server/modules/events/catalog/session.recommendation.d.ts +4 -4
- package/dist/server/modules/events/catalog/session.restored.d.ts +2 -2
- package/dist/server/modules/events/catalog/session.started.d.ts +2 -2
- package/dist/server/modules/events/catalog/session.starting.d.ts +2 -2
- package/dist/server/modules/events/catalog/session.stopped.d.ts +4 -4
- package/dist/server/modules/events/catalog/session.stopped.js +1 -0
- package/dist/server/modules/events/catalog/session.stopped.js.map +1 -1
- package/dist/server/modules/events/catalog/session.transcript.discovered.d.ts +2 -2
- package/dist/server/modules/events/catalog/session.transcript.updated.d.ts +4 -4
- package/dist/server/modules/events/catalog/terminal.watcher.triggered.d.ts +2 -2
- package/dist/server/modules/external-integrations/subscribers/external-subtask-sync.subscriber.js +9 -0
- package/dist/server/modules/external-integrations/subscribers/external-subtask-sync.subscriber.js.map +1 -1
- package/dist/server/modules/file-sync/file-sync-ignores.store.d.ts +10 -0
- package/dist/server/modules/file-sync/file-sync-ignores.store.js +74 -0
- package/dist/server/modules/file-sync/file-sync-ignores.store.js.map +1 -0
- package/dist/server/modules/file-sync/file-sync-managed-exclusions.store.d.ts +12 -0
- package/dist/server/modules/file-sync/file-sync-managed-exclusions.store.js +81 -0
- package/dist/server/modules/file-sync/file-sync-managed-exclusions.store.js.map +1 -0
- package/dist/server/modules/file-sync/file-sync-paths.d.ts +10 -0
- package/dist/server/modules/file-sync/file-sync-paths.js +26 -0
- package/dist/server/modules/file-sync/file-sync-paths.js.map +1 -0
- package/dist/server/modules/file-sync/file-sync.controller.d.ts +14 -0
- package/dist/server/modules/file-sync/file-sync.controller.js +64 -0
- package/dist/server/modules/file-sync/file-sync.controller.js.map +1 -0
- package/dist/server/modules/file-sync/file-sync.dto.d.ts +175 -0
- package/dist/server/modules/file-sync/file-sync.dto.js +96 -0
- package/dist/server/modules/file-sync/file-sync.dto.js.map +1 -0
- package/dist/server/modules/file-sync/file-sync.module.d.ts +2 -0
- package/dist/server/modules/file-sync/file-sync.module.js +52 -0
- package/dist/server/modules/file-sync/file-sync.module.js.map +1 -0
- package/dist/server/modules/file-sync/file-sync.service.d.ts +85 -0
- package/dist/server/modules/file-sync/file-sync.service.js +321 -0
- package/dist/server/modules/file-sync/file-sync.service.js.map +1 -0
- package/dist/server/modules/file-sync/home-git-guard.service.d.ts +20 -0
- package/dist/server/modules/file-sync/home-git-guard.service.js +246 -0
- package/dist/server/modules/file-sync/home-git-guard.service.js.map +1 -0
- package/dist/server/modules/file-sync/host-sync.controller.d.ts +14 -0
- package/dist/server/modules/file-sync/host-sync.controller.js +139 -0
- package/dist/server/modules/file-sync/host-sync.controller.js.map +1 -0
- package/dist/server/modules/file-sync/syncthing-launcher.d.ts +46 -0
- package/dist/server/modules/file-sync/syncthing-launcher.js +188 -0
- package/dist/server/modules/file-sync/syncthing-launcher.js.map +1 -0
- package/dist/server/modules/file-sync/syncthing-manager.service.d.ts +63 -0
- package/dist/server/modules/file-sync/syncthing-manager.service.js +403 -0
- package/dist/server/modules/file-sync/syncthing-manager.service.js.map +1 -0
- package/dist/server/modules/file-sync/syncthing-rest.client.d.ts +31 -0
- package/dist/server/modules/file-sync/syncthing-rest.client.js +80 -0
- package/dist/server/modules/file-sync/syncthing-rest.client.js.map +1 -0
- package/dist/server/modules/file-sync/syncthing-settings.store.d.ts +23 -0
- package/dist/server/modules/file-sync/syncthing-settings.store.js +62 -0
- package/dist/server/modules/file-sync/syncthing-settings.store.js.map +1 -0
- package/dist/server/modules/file-sync/testing/fake-file-sync.service.d.ts +46 -0
- package/dist/server/modules/file-sync/testing/fake-file-sync.service.js +138 -0
- package/dist/server/modules/file-sync/testing/fake-file-sync.service.js.map +1 -0
- package/dist/server/modules/file-sync/testing/fake-syncthing-launcher.d.ts +47 -0
- package/dist/server/modules/file-sync/testing/fake-syncthing-launcher.js +158 -0
- package/dist/server/modules/file-sync/testing/fake-syncthing-launcher.js.map +1 -0
- package/dist/server/modules/git/dtos/git.dto.d.ts +1 -1
- package/dist/server/modules/git/services/git.service.d.ts +9 -0
- package/dist/server/modules/git/services/git.service.js +44 -0
- package/dist/server/modules/git/services/git.service.js.map +1 -1
- package/dist/server/modules/hooks/dtos/hook-event.dto.d.ts +44 -44
- package/dist/server/modules/mcp/dtos/mcp.dto.d.ts +369 -48
- package/dist/server/modules/mcp/dtos/mcp.dto.js +55 -2
- package/dist/server/modules/mcp/dtos/mcp.dto.js.map +1 -1
- package/dist/server/modules/mcp/mcp-full.module.js +2 -0
- package/dist/server/modules/mcp/mcp-full.module.js.map +1 -1
- package/dist/server/modules/mcp/services/handlers/agent-tools.js +8 -1
- package/dist/server/modules/mcp/services/handlers/agent-tools.js.map +1 -1
- package/dist/server/modules/mcp/services/handlers/chat-context.d.ts +2 -0
- package/dist/server/modules/mcp/services/handlers/chat-tools.js +5 -0
- package/dist/server/modules/mcp/services/handlers/chat-tools.js.map +1 -1
- package/dist/server/modules/mcp/services/handlers/epic-tools.js +60 -3
- package/dist/server/modules/mcp/services/handlers/epic-tools.js.map +1 -1
- package/dist/server/modules/mcp/services/handlers/skill-context.d.ts +2 -0
- package/dist/server/modules/mcp/services/handlers/skill-tools.d.ts +4 -0
- package/dist/server/modules/mcp/services/handlers/skill-tools.js +220 -15
- package/dist/server/modules/mcp/services/handlers/skill-tools.js.map +1 -1
- package/dist/server/modules/mcp/services/mappers/dto-mappers.d.ts +7 -2
- package/dist/server/modules/mcp/services/mappers/dto-mappers.js +51 -9
- package/dist/server/modules/mcp/services/mappers/dto-mappers.js.map +1 -1
- package/dist/server/modules/mcp/services/mcp-tool-binding.registry.d.ts +3 -1
- package/dist/server/modules/mcp/services/mcp-tool-binding.registry.js +15 -6
- package/dist/server/modules/mcp/services/mcp-tool-binding.registry.js.map +1 -1
- package/dist/server/modules/mcp/services/mcp.service.js +6 -0
- package/dist/server/modules/mcp/services/mcp.service.js.map +1 -1
- package/dist/server/modules/mcp/services/testing/mcp-tool-binding-registry.fixture.d.ts +1 -1
- package/dist/server/modules/mcp/services/testing/mcp-tool-binding-registry.fixture.js +1 -1
- package/dist/server/modules/mcp/services/testing/mcp-tool-binding-registry.fixture.js.map +1 -1
- package/dist/server/modules/mcp/services/utils/project-admission-error.d.ts +2 -0
- package/dist/server/modules/mcp/services/utils/project-admission-error.js +14 -0
- package/dist/server/modules/mcp/services/utils/project-admission-error.js.map +1 -0
- package/dist/server/modules/mcp/tool-descriptors/agent.metadata.js +1 -1
- package/dist/server/modules/mcp/tool-descriptors/agent.metadata.js.map +1 -1
- package/dist/server/modules/mcp/tool-descriptors/binding-types.d.ts +4 -0
- package/dist/server/modules/mcp/tool-descriptors/binding-types.js.map +1 -1
- package/dist/server/modules/mcp/tool-descriptors/chat.bindings.js +1 -0
- package/dist/server/modules/mcp/tool-descriptors/chat.bindings.js.map +1 -1
- package/dist/server/modules/mcp/tool-descriptors/epic.metadata.js +69 -21
- package/dist/server/modules/mcp/tool-descriptors/epic.metadata.js.map +1 -1
- package/dist/server/modules/mcp/tool-descriptors/skill.bindings.js +6 -0
- package/dist/server/modules/mcp/tool-descriptors/skill.bindings.js.map +1 -1
- package/dist/server/modules/mcp/tool-descriptors/skill.metadata.js +105 -3
- package/dist/server/modules/mcp/tool-descriptors/skill.metadata.js.map +1 -1
- package/dist/server/modules/profiles/controllers/profiles.controller.d.ts +4 -1
- package/dist/server/modules/profiles/controllers/profiles.controller.js +14 -4
- package/dist/server/modules/profiles/controllers/profiles.controller.js.map +1 -1
- package/dist/server/modules/profiles/controllers/provider-configs.controller.js +1 -1
- package/dist/server/modules/profiles/controllers/provider-configs.controller.js.map +1 -1
- package/dist/server/modules/profiles/dto.d.ts +18 -18
- package/dist/server/modules/profiles/profiles.module.js +2 -1
- package/dist/server/modules/profiles/profiles.module.js.map +1 -1
- package/dist/server/modules/profiles/services/provider-configs.service.d.ts +5 -1
- package/dist/server/modules/profiles/services/provider-configs.service.js +15 -2
- package/dist/server/modules/profiles/services/provider-configs.service.js.map +1 -1
- package/dist/server/modules/project-communication/dtos/project-communication.types.d.ts +1 -1
- package/dist/server/modules/project-communication/project-communication.module.js +2 -1
- package/dist/server/modules/project-communication/project-communication.module.js.map +1 -1
- package/dist/server/modules/project-communication/project-communication.service.d.ts +4 -1
- package/dist/server/modules/project-communication/project-communication.service.js +22 -10
- package/dist/server/modules/project-communication/project-communication.service.js.map +1 -1
- package/dist/server/modules/projects/controllers/projects.controller.d.ts +5 -4
- package/dist/server/modules/projects/controllers/projects.controller.js +18 -46
- package/dist/server/modules/projects/controllers/projects.controller.js.map +1 -1
- package/dist/server/modules/projects/dtos/export.dto.d.ts +12 -12
- package/dist/server/modules/projects/helpers/project-export.d.ts +1 -1
- package/dist/server/modules/projects/projects.module.js +3 -8
- package/dist/server/modules/projects/projects.module.js.map +1 -1
- package/dist/server/modules/projects/services/project-template-upgrade.service.d.ts +3 -1
- package/dist/server/modules/projects/services/project-template-upgrade.service.js +8 -2
- package/dist/server/modules/projects/services/project-template-upgrade.service.js.map +1 -1
- package/dist/server/modules/projects/services/projects.service.d.ts +4 -2
- package/dist/server/modules/projects/services/projects.service.js +14 -4
- package/dist/server/modules/projects/services/projects.service.js.map +1 -1
- package/dist/server/modules/projects/template-codec/codecs/watchers.codec.d.ts +1 -1
- package/dist/server/modules/prompts/controllers/prompts.controller.d.ts +3 -1
- package/dist/server/modules/prompts/controllers/prompts.controller.js +8 -2
- package/dist/server/modules/prompts/controllers/prompts.controller.js.map +1 -1
- package/dist/server/modules/prompts/prompts.module.js +2 -1
- package/dist/server/modules/prompts/prompts.module.js.map +1 -1
- package/dist/server/modules/provider-auth/provider-auth-adapters.d.ts +77 -0
- package/dist/server/modules/provider-auth/provider-auth-adapters.js +271 -0
- package/dist/server/modules/provider-auth/provider-auth-adapters.js.map +1 -0
- package/dist/server/modules/provider-auth/provider-auth-generator.service.d.ts +57 -0
- package/dist/server/modules/provider-auth/provider-auth-generator.service.js +367 -0
- package/dist/server/modules/provider-auth/provider-auth-generator.service.js.map +1 -0
- package/dist/server/modules/provider-auth/provider-auth-release.service.d.ts +14 -0
- package/dist/server/modules/provider-auth/provider-auth-release.service.js +40 -0
- package/dist/server/modules/provider-auth/provider-auth-release.service.js.map +1 -0
- package/dist/server/modules/provider-auth/provider-auth-vault.service.d.ts +38 -0
- package/dist/server/modules/provider-auth/provider-auth-vault.service.js +366 -0
- package/dist/server/modules/provider-auth/provider-auth-vault.service.js.map +1 -0
- package/dist/server/modules/provider-auth/provider-auth-watcher.service.d.ts +28 -0
- package/dist/server/modules/provider-auth/provider-auth-watcher.service.js +130 -0
- package/dist/server/modules/provider-auth/provider-auth-watcher.service.js.map +1 -0
- package/dist/server/modules/provider-auth/provider-auth-writeback.service.d.ts +30 -0
- package/dist/server/modules/provider-auth/provider-auth-writeback.service.js +156 -0
- package/dist/server/modules/provider-auth/provider-auth-writeback.service.js.map +1 -0
- package/dist/server/modules/provider-auth/provider-auth.controller.d.ts +27 -0
- package/dist/server/modules/provider-auth/provider-auth.controller.js +176 -0
- package/dist/server/modules/provider-auth/provider-auth.controller.js.map +1 -0
- package/dist/server/modules/provider-auth/provider-auth.dto.d.ts +88 -0
- package/dist/server/modules/provider-auth/provider-auth.dto.js +63 -0
- package/dist/server/modules/provider-auth/provider-auth.dto.js.map +1 -0
- package/dist/server/modules/provider-auth/provider-auth.module.d.ts +2 -0
- package/dist/server/modules/provider-auth/provider-auth.module.js +50 -0
- package/dist/server/modules/provider-auth/provider-auth.module.js.map +1 -0
- package/dist/server/modules/providers/adapters/antigravity.adapter.d.ts +1 -0
- package/dist/server/modules/providers/adapters/antigravity.adapter.js +2 -0
- package/dist/server/modules/providers/adapters/antigravity.adapter.js.map +1 -1
- package/dist/server/modules/providers/adapters/capabilities/index.d.ts +1 -1
- package/dist/server/modules/providers/adapters/capabilities/index.js.map +1 -1
- package/dist/server/modules/providers/adapters/capabilities/project-provisioning.capability.d.ts +4 -1
- package/dist/server/modules/providers/adapters/capabilities/type-guards.d.ts +1 -1
- package/dist/server/modules/providers/adapters/capabilities/type-guards.js.map +1 -1
- package/dist/server/modules/providers/adapters/claude.adapter.d.ts +3 -1
- package/dist/server/modules/providers/adapters/claude.adapter.js +3 -0
- package/dist/server/modules/providers/adapters/claude.adapter.js.map +1 -1
- package/dist/server/modules/providers/adapters/codex.adapter.d.ts +5 -3
- package/dist/server/modules/providers/adapters/codex.adapter.js +26 -7
- package/dist/server/modules/providers/adapters/codex.adapter.js.map +1 -1
- package/dist/server/modules/providers/adapters/copilot.adapter.d.ts +1 -0
- package/dist/server/modules/providers/adapters/copilot.adapter.js +2 -0
- package/dist/server/modules/providers/adapters/copilot.adapter.js.map +1 -1
- package/dist/server/modules/providers/adapters/opencode.adapter.d.ts +1 -0
- package/dist/server/modules/providers/adapters/opencode.adapter.js +2 -0
- package/dist/server/modules/providers/adapters/opencode.adapter.js.map +1 -1
- package/dist/server/modules/providers/adapters/provider-adapter.factory.d.ts +2 -2
- package/dist/server/modules/providers/adapters/provider-adapter.factory.js +5 -6
- package/dist/server/modules/providers/adapters/provider-adapter.factory.js.map +1 -1
- package/dist/server/modules/providers/adapters/provider-adapter.interface.d.ts +2 -0
- package/dist/server/modules/providers/adapters/provider-cli-policy.d.ts +10 -0
- package/dist/server/modules/providers/adapters/provider-cli-policy.js +32 -0
- package/dist/server/modules/providers/adapters/provider-cli-policy.js.map +1 -0
- package/dist/server/modules/providers/controllers/provider-clis.controller.d.ts +16 -0
- package/dist/server/modules/providers/controllers/provider-clis.controller.js +68 -0
- package/dist/server/modules/providers/controllers/provider-clis.controller.js.map +1 -0
- package/dist/server/modules/providers/controllers/providers.controller.js +3 -0
- package/dist/server/modules/providers/controllers/providers.controller.js.map +1 -1
- package/dist/server/modules/providers/providers.module.js +18 -0
- package/dist/server/modules/providers/providers.module.js.map +1 -1
- package/dist/server/modules/providers/services/mcp-registration/cli-mcp-registration.adapter.js +8 -5
- package/dist/server/modules/providers/services/mcp-registration/cli-mcp-registration.adapter.js.map +1 -1
- package/dist/server/modules/providers/services/provider-cli-install-state.service.d.ts +42 -0
- package/dist/server/modules/providers/services/provider-cli-install-state.service.js +78 -0
- package/dist/server/modules/providers/services/provider-cli-install-state.service.js.map +1 -0
- package/dist/server/modules/providers/services/provider-cli-installer.service.d.ts +51 -0
- package/dist/server/modules/providers/services/provider-cli-installer.service.js +404 -0
- package/dist/server/modules/providers/services/provider-cli-installer.service.js.map +1 -0
- package/dist/server/modules/providers/services/provider-cli-npm-lookup.service.d.ts +9 -0
- package/dist/server/modules/providers/services/provider-cli-npm-lookup.service.js +78 -0
- package/dist/server/modules/providers/services/provider-cli-npm-lookup.service.js.map +1 -0
- package/dist/server/modules/providers/services/provider-cli-state.module.d.ts +2 -0
- package/dist/server/modules/providers/services/provider-cli-state.module.js +29 -0
- package/dist/server/modules/providers/services/provider-cli-state.module.js.map +1 -0
- package/dist/server/modules/providers/services/provider-cli-versions.service.d.ts +26 -0
- package/dist/server/modules/providers/services/provider-cli-versions.service.js +144 -0
- package/dist/server/modules/providers/services/provider-cli-versions.service.js.map +1 -0
- package/dist/server/modules/providers/services/provider-discovery.service.d.ts +3 -1
- package/dist/server/modules/providers/services/provider-discovery.service.js +7 -3
- package/dist/server/modules/providers/services/provider-discovery.service.js.map +1 -1
- package/dist/server/modules/providers/services/provider-mcp-ensure.service.d.ts +9 -6
- package/dist/server/modules/providers/services/provider-mcp-ensure.service.js +55 -13
- package/dist/server/modules/providers/services/provider-mcp-ensure.service.js.map +1 -1
- package/dist/server/modules/providers/services/provider-plugins.service.js +7 -2
- package/dist/server/modules/providers/services/provider-plugins.service.js.map +1 -1
- package/dist/server/modules/providers/services/provider-project-sync.service.d.ts +3 -1
- package/dist/server/modules/providers/services/provider-project-sync.service.js +8 -2
- package/dist/server/modules/providers/services/provider-project-sync.service.js.map +1 -1
- package/dist/server/modules/providers/services/provider-state-manager.service.d.ts +3 -1
- package/dist/server/modules/providers/services/provider-state-manager.service.js +10 -3
- package/dist/server/modules/providers/services/provider-state-manager.service.js.map +1 -1
- package/dist/server/modules/remotes/admission/project-write-admission.module.d.ts +2 -0
- package/dist/server/modules/{orchestrator/git/git.module.js → remotes/admission/project-write-admission.module.js} +11 -11
- package/dist/server/modules/remotes/admission/project-write-admission.module.js.map +1 -0
- package/dist/server/modules/remotes/admission/project-write-admission.service.d.ts +24 -0
- package/dist/server/modules/remotes/admission/project-write-admission.service.js +95 -0
- package/dist/server/modules/remotes/admission/project-write-admission.service.js.map +1 -0
- package/dist/server/modules/remotes/admission/testing/project-write-admission.stub.d.ts +3 -0
- package/dist/server/modules/remotes/admission/testing/project-write-admission.stub.js +13 -0
- package/dist/server/modules/remotes/admission/testing/project-write-admission.stub.js.map +1 -0
- package/dist/server/modules/remotes/auth/remote-api-key-management.service.d.ts +16 -0
- package/dist/server/modules/remotes/auth/remote-api-key-management.service.js +129 -0
- package/dist/server/modules/remotes/auth/remote-api-key-management.service.js.map +1 -0
- package/dist/server/modules/remotes/auth/remote-api-key.module.d.ts +2 -0
- package/dist/server/modules/{orchestrator/proxy/orchestrator-proxy.module.js → remotes/auth/remote-api-key.module.js} +11 -10
- package/dist/server/modules/remotes/auth/remote-api-key.module.js.map +1 -0
- package/dist/server/modules/remotes/auth/remote-api-key.service.d.ts +11 -0
- package/dist/server/modules/remotes/auth/remote-api-key.service.js +66 -0
- package/dist/server/modules/remotes/auth/remote-api-key.service.js.map +1 -0
- package/dist/server/modules/remotes/controllers/remote-api-key.controller.d.ts +7 -0
- package/dist/server/modules/remotes/controllers/remote-api-key.controller.js +61 -0
- package/dist/server/modules/remotes/controllers/remote-api-key.controller.js.map +1 -0
- package/dist/server/modules/remotes/controllers/remote-probe.controller.d.ts +8 -0
- package/dist/server/modules/remotes/controllers/remote-probe.controller.js +55 -0
- package/dist/server/modules/remotes/controllers/remote-probe.controller.js.map +1 -0
- package/dist/server/modules/remotes/controllers/remotes.controller.d.ts +24 -0
- package/dist/server/modules/remotes/controllers/remotes.controller.js +190 -0
- package/dist/server/modules/remotes/controllers/remotes.controller.js.map +1 -0
- package/dist/server/modules/remotes/docker/docker-copy-back.d.ts +36 -0
- package/dist/server/modules/remotes/docker/docker-copy-back.dto.d.ts +37 -0
- package/dist/server/modules/remotes/docker/docker-copy-back.dto.js +15 -0
- package/dist/server/modules/remotes/docker/docker-copy-back.dto.js.map +1 -0
- package/dist/server/modules/remotes/docker/docker-copy-back.js +547 -0
- package/dist/server/modules/remotes/docker/docker-copy-back.js.map +1 -0
- package/dist/server/modules/remotes/docker/docker-data-groups.d.ts +20 -0
- package/dist/server/modules/remotes/docker/docker-data-groups.js +150 -0
- package/dist/server/modules/remotes/docker/docker-data-groups.js.map +1 -0
- package/dist/server/modules/remotes/docker/docker-handoff.d.ts +64 -0
- package/dist/server/modules/remotes/docker/docker-handoff.js +798 -0
- package/dist/server/modules/remotes/docker/docker-handoff.js.map +1 -0
- package/dist/server/modules/remotes/docker/docker-handoff.store.d.ts +119 -0
- package/dist/server/modules/remotes/docker/docker-handoff.store.js +83 -0
- package/dist/server/modules/remotes/docker/docker-handoff.store.js.map +1 -0
- package/dist/server/modules/remotes/docker/docker-plan-files.d.ts +4 -0
- package/dist/server/modules/remotes/docker/docker-plan-files.js +73 -0
- package/dist/server/modules/remotes/docker/docker-plan-files.js.map +1 -0
- package/dist/server/modules/remotes/docker/docker-plan-fit.d.ts +23 -0
- package/dist/server/modules/remotes/docker/docker-plan-fit.js +138 -0
- package/dist/server/modules/remotes/docker/docker-plan-fit.js.map +1 -0
- package/dist/server/modules/remotes/docker/docker-plan-policy.d.ts +8 -0
- package/dist/server/modules/remotes/docker/docker-plan-policy.js +234 -0
- package/dist/server/modules/remotes/docker/docker-plan-policy.js.map +1 -0
- package/dist/server/modules/remotes/docker/docker-plan-source.service.d.ts +37 -0
- package/dist/server/modules/remotes/docker/docker-plan-source.service.js +352 -0
- package/dist/server/modules/remotes/docker/docker-plan-source.service.js.map +1 -0
- package/dist/server/modules/remotes/docker/docker-plan.controller.d.ts +12 -0
- package/dist/server/modules/remotes/docker/docker-plan.controller.js +80 -0
- package/dist/server/modules/remotes/docker/docker-plan.controller.js.map +1 -0
- package/dist/server/modules/remotes/docker/docker-plan.dto.d.ts +194 -0
- package/dist/server/modules/remotes/docker/docker-plan.dto.js +39 -0
- package/dist/server/modules/remotes/docker/docker-plan.dto.js.map +1 -0
- package/dist/server/modules/remotes/docker/docker-plan.service.d.ts +18 -0
- package/dist/server/modules/remotes/docker/docker-plan.service.js +254 -0
- package/dist/server/modules/remotes/docker/docker-plan.service.js.map +1 -0
- package/dist/server/modules/remotes/dtos/remote-probe.dto.d.ts +49 -0
- package/dist/server/modules/remotes/dtos/remote-probe.dto.js +11 -0
- package/dist/server/modules/remotes/dtos/remote-probe.dto.js.map +1 -0
- package/dist/server/modules/remotes/dtos/remote.dto.d.ts +75 -0
- package/dist/server/modules/remotes/dtos/remote.dto.js +69 -0
- package/dist/server/modules/remotes/dtos/remote.dto.js.map +1 -0
- package/dist/server/modules/remotes/home-identity.d.ts +11 -0
- package/dist/server/modules/remotes/home-identity.js +59 -0
- package/dist/server/modules/remotes/home-identity.js.map +1 -0
- package/dist/server/modules/remotes/host/host-api-key-io.adapter.d.ts +9 -0
- package/dist/server/modules/remotes/host/host-api-key-io.adapter.js +30 -0
- package/dist/server/modules/remotes/host/host-api-key-io.adapter.js.map +1 -0
- package/dist/server/modules/remotes/host/host-api-key.controller.d.ts +7 -0
- package/dist/server/modules/remotes/host/host-api-key.controller.js +51 -0
- package/dist/server/modules/remotes/host/host-api-key.controller.js.map +1 -0
- package/dist/server/modules/remotes/host/host-api-key.module.d.ts +10 -0
- package/dist/server/modules/remotes/host/host-api-key.module.js +48 -0
- package/dist/server/modules/remotes/host/host-api-key.module.js.map +1 -0
- package/dist/server/modules/remotes/host/host-api-key.service.d.ts +17 -0
- package/dist/server/modules/remotes/host/host-api-key.service.js +135 -0
- package/dist/server/modules/remotes/host/host-api-key.service.js.map +1 -0
- package/dist/server/modules/remotes/host/host-api-key.setup.d.ts +2 -0
- package/dist/server/modules/remotes/host/host-api-key.setup.js +9 -0
- package/dist/server/modules/remotes/host/host-api-key.setup.js.map +1 -0
- package/dist/server/modules/remotes/host/host-docker-body.parser.d.ts +7 -0
- package/dist/server/modules/remotes/host/host-docker-body.parser.js +35 -0
- package/dist/server/modules/remotes/host/host-docker-body.parser.js.map +1 -0
- package/dist/server/modules/remotes/host/host-docker-recovery.service.d.ts +7 -0
- package/dist/server/modules/remotes/host/host-docker-recovery.service.js +41 -0
- package/dist/server/modules/remotes/host/host-docker-recovery.service.js.map +1 -0
- package/dist/server/modules/remotes/host/host-docker.controller.d.ts +43 -0
- package/dist/server/modules/remotes/host/host-docker.controller.js +391 -0
- package/dist/server/modules/remotes/host/host-docker.controller.js.map +1 -0
- package/dist/server/modules/remotes/host/host-docker.dto.d.ts +210 -0
- package/dist/server/modules/remotes/host/host-docker.dto.js +75 -0
- package/dist/server/modules/remotes/host/host-docker.dto.js.map +1 -0
- package/dist/server/modules/remotes/host/host-docker.service.d.ts +47 -0
- package/dist/server/modules/remotes/host/host-docker.service.js +463 -0
- package/dist/server/modules/remotes/host/host-docker.service.js.map +1 -0
- package/dist/server/modules/remotes/host/host-env-override-report.d.ts +44 -0
- package/dist/server/modules/remotes/host/host-env-override-report.js +73 -0
- package/dist/server/modules/remotes/host/host-env-override-report.js.map +1 -0
- package/dist/server/modules/remotes/host/host-helper.service.d.ts +59 -0
- package/dist/server/modules/remotes/host/host-helper.service.js +146 -0
- package/dist/server/modules/remotes/host/host-helper.service.js.map +1 -0
- package/dist/server/modules/remotes/host/host-provider-auth.controller.d.ts +9 -0
- package/dist/server/modules/remotes/host/host-provider-auth.controller.js +97 -0
- package/dist/server/modules/remotes/host/host-provider-auth.controller.js.map +1 -0
- package/dist/server/modules/remotes/host/host-provider-auth.service.d.ts +46 -0
- package/dist/server/modules/remotes/host/host-provider-auth.service.js +323 -0
- package/dist/server/modules/remotes/host/host-provider-auth.service.js.map +1 -0
- package/dist/server/modules/remotes/host/host-provider-cli-policy.d.ts +2 -0
- package/dist/server/modules/remotes/host/host-provider-cli-policy.js +11 -0
- package/dist/server/modules/remotes/host/host-provider-cli-policy.js.map +1 -0
- package/dist/server/modules/remotes/host/host-provider-cli-settings.controller.d.ts +44 -0
- package/dist/server/modules/remotes/host/host-provider-cli-settings.controller.js +74 -0
- package/dist/server/modules/remotes/host/host-provider-cli-settings.controller.js.map +1 -0
- package/dist/server/modules/remotes/host/host-provider-cli-settings.service.d.ts +26 -0
- package/dist/server/modules/remotes/host/host-provider-cli-settings.service.js +145 -0
- package/dist/server/modules/remotes/host/host-provider-cli-settings.service.js.map +1 -0
- package/dist/server/modules/remotes/host/host-replica-body.parser.d.ts +8 -0
- package/dist/server/modules/remotes/host/host-replica-body.parser.js +44 -0
- package/dist/server/modules/remotes/host/host-replica-body.parser.js.map +1 -0
- package/dist/server/modules/remotes/host/host-skill-content.d.ts +4 -0
- package/dist/server/modules/remotes/host/host-skill-content.js +140 -0
- package/dist/server/modules/remotes/host/host-skill-content.js.map +1 -0
- package/dist/server/modules/remotes/host/host-skill-settings.controller.d.ts +17 -0
- package/dist/server/modules/remotes/host/host-skill-settings.controller.js +90 -0
- package/dist/server/modules/remotes/host/host-skill-settings.controller.js.map +1 -0
- package/dist/server/modules/remotes/host/host-skill-settings.service.d.ts +41 -0
- package/dist/server/modules/remotes/host/host-skill-settings.service.js +370 -0
- package/dist/server/modules/remotes/host/host-skill-settings.service.js.map +1 -0
- package/dist/server/modules/remotes/host/host-ssh-keys.controller.d.ts +8 -0
- package/dist/server/modules/remotes/host/host-ssh-keys.controller.js +43 -0
- package/dist/server/modules/remotes/host/host-ssh-keys.controller.js.map +1 -0
- package/dist/server/modules/remotes/host/host-ssh-keys.service.d.ts +13 -0
- package/dist/server/modules/remotes/host/host-ssh-keys.service.js +158 -0
- package/dist/server/modules/remotes/host/host-ssh-keys.service.js.map +1 -0
- package/dist/server/modules/remotes/host/host-tls-front.d.ts +8 -0
- package/dist/server/modules/remotes/host/host-tls-front.js +86 -0
- package/dist/server/modules/remotes/host/host-tls-front.js.map +1 -0
- package/dist/server/modules/remotes/host/host-tls.setup.d.ts +12 -0
- package/dist/server/modules/remotes/host/host-tls.setup.js +48 -0
- package/dist/server/modules/remotes/host/host-tls.setup.js.map +1 -0
- package/dist/server/modules/remotes/host/host-transcript-body.parser.d.ts +7 -0
- package/dist/server/modules/remotes/host/host-transcript-body.parser.js +35 -0
- package/dist/server/modules/remotes/host/host-transcript-body.parser.js.map +1 -0
- package/dist/server/modules/remotes/host/host-transcripts.controller.d.ts +10 -0
- package/dist/server/modules/remotes/host/host-transcripts.controller.js +82 -0
- package/dist/server/modules/remotes/host/host-transcripts.controller.js.map +1 -0
- package/dist/server/modules/remotes/host/host-update.controller.d.ts +21 -0
- package/dist/server/modules/remotes/host/host-update.controller.js +153 -0
- package/dist/server/modules/remotes/host/host-update.controller.js.map +1 -0
- package/dist/server/modules/remotes/host/host.controller.d.ts +19 -0
- package/dist/server/modules/remotes/host/host.controller.js +150 -0
- package/dist/server/modules/remotes/host/host.controller.js.map +1 -0
- package/dist/server/modules/remotes/host/host.dto.d.ts +28 -0
- package/dist/server/modules/remotes/host/host.dto.js +26 -0
- package/dist/server/modules/remotes/host/host.dto.js.map +1 -0
- package/dist/server/modules/remotes/host/host.service.d.ts +35 -0
- package/dist/server/modules/remotes/host/host.service.js +142 -0
- package/dist/server/modules/remotes/host/host.service.js.map +1 -0
- package/dist/server/modules/remotes/host/project-freeze.service.d.ts +15 -0
- package/dist/server/modules/remotes/host/project-freeze.service.js +73 -0
- package/dist/server/modules/remotes/host/project-freeze.service.js.map +1 -0
- package/dist/server/modules/remotes/host/provider-baseline.service.d.ts +19 -0
- package/dist/server/modules/remotes/host/provider-baseline.service.js +126 -0
- package/dist/server/modules/remotes/host/provider-baseline.service.js.map +1 -0
- package/dist/server/modules/remotes/host-api-key.d.ts +7 -0
- package/dist/server/modules/remotes/host-api-key.js +38 -0
- package/dist/server/modules/remotes/host-api-key.js.map +1 -0
- package/dist/server/modules/remotes/host-image.d.ts +3 -0
- package/dist/server/modules/remotes/host-image.js +49 -0
- package/dist/server/modules/remotes/host-image.js.map +1 -0
- package/dist/server/modules/remotes/host-install/host-install-block.d.ts +31 -0
- package/dist/server/modules/remotes/host-install/host-install-block.js +464 -0
- package/dist/server/modules/remotes/host-install/host-install-block.js.map +1 -0
- package/dist/server/modules/remotes/host-install/host-install.controller.d.ts +47 -0
- package/dist/server/modules/remotes/host-install/host-install.controller.js +173 -0
- package/dist/server/modules/remotes/host-install/host-install.controller.js.map +1 -0
- package/dist/server/modules/remotes/host-install/host-install.service.d.ts +29 -0
- package/dist/server/modules/remotes/host-install/host-install.service.js +233 -0
- package/dist/server/modules/remotes/host-install/host-install.service.js.map +1 -0
- package/dist/server/modules/remotes/host-install/project-size.service.d.ts +23 -0
- package/dist/server/modules/remotes/host-install/project-size.service.js +118 -0
- package/dist/server/modules/remotes/host-install/project-size.service.js.map +1 -0
- package/dist/server/modules/remotes/host-install/ssh-key.service.d.ts +31 -0
- package/dist/server/modules/remotes/host-install/ssh-key.service.js +188 -0
- package/dist/server/modules/remotes/host-install/ssh-key.service.js.map +1 -0
- package/dist/server/modules/remotes/host-install/ssh-runner.d.ts +41 -0
- package/dist/server/modules/remotes/host-install/ssh-runner.js +444 -0
- package/dist/server/modules/remotes/host-install/ssh-runner.js.map +1 -0
- package/dist/server/modules/remotes/operations/attach.operation.d.ts +64 -0
- package/dist/server/modules/remotes/operations/attach.operation.js +328 -0
- package/dist/server/modules/remotes/operations/attach.operation.js.map +1 -0
- package/dist/server/modules/remotes/operations/claim.operation.d.ts +82 -0
- package/dist/server/modules/remotes/operations/claim.operation.js +413 -0
- package/dist/server/modules/remotes/operations/claim.operation.js.map +1 -0
- package/dist/server/modules/remotes/operations/create-vm.operation.d.ts +43 -0
- package/dist/server/modules/remotes/operations/create-vm.operation.js +228 -0
- package/dist/server/modules/remotes/operations/create-vm.operation.js.map +1 -0
- package/dist/server/modules/remotes/operations/destroy-vm.operation.d.ts +34 -0
- package/dist/server/modules/remotes/operations/destroy-vm.operation.js +164 -0
- package/dist/server/modules/remotes/operations/destroy-vm.operation.js.map +1 -0
- package/dist/server/modules/remotes/operations/detach.operation.d.ts +61 -0
- package/dist/server/modules/remotes/operations/detach.operation.js +258 -0
- package/dist/server/modules/remotes/operations/detach.operation.js.map +1 -0
- package/dist/server/modules/remotes/operations/docker-import-inventory.store.d.ts +163 -0
- package/dist/server/modules/remotes/operations/docker-import-inventory.store.js +136 -0
- package/dist/server/modules/remotes/operations/docker-import-inventory.store.js.map +1 -0
- package/dist/server/modules/remotes/operations/docker.step.d.ts +4 -0
- package/dist/server/modules/remotes/operations/docker.step.js +59 -0
- package/dist/server/modules/remotes/operations/docker.step.js.map +1 -0
- package/dist/server/modules/remotes/operations/file-sync-handoff.d.ts +40 -0
- package/dist/server/modules/remotes/operations/file-sync-handoff.js +274 -0
- package/dist/server/modules/remotes/operations/file-sync-handoff.js.map +1 -0
- package/dist/server/modules/remotes/operations/git-global-config.d.ts +9 -0
- package/dist/server/modules/remotes/operations/git-global-config.js +96 -0
- package/dist/server/modules/remotes/operations/git-global-config.js.map +1 -0
- package/dist/server/modules/remotes/operations/guarded-vm-destroy.d.ts +22 -0
- package/dist/server/modules/remotes/operations/guarded-vm-destroy.js +41 -0
- package/dist/server/modules/remotes/operations/guarded-vm-destroy.js.map +1 -0
- package/dist/server/modules/remotes/operations/install-host.operation.d.ts +59 -0
- package/dist/server/modules/remotes/operations/install-host.operation.js +367 -0
- package/dist/server/modules/remotes/operations/install-host.operation.js.map +1 -0
- package/dist/server/modules/remotes/operations/remote-host.client.d.ts +607 -0
- package/dist/server/modules/remotes/operations/remote-host.client.js +768 -0
- package/dist/server/modules/remotes/operations/remote-host.client.js.map +1 -0
- package/dist/server/modules/remotes/operations/remote-operation.dto.d.ts +407 -0
- package/dist/server/modules/remotes/operations/remote-operation.dto.js +117 -0
- package/dist/server/modules/remotes/operations/remote-operation.dto.js.map +1 -0
- package/dist/server/modules/remotes/operations/remote-operation.errors.d.ts +4 -0
- package/dist/server/modules/remotes/operations/remote-operation.errors.js +11 -0
- package/dist/server/modules/remotes/operations/remote-operation.errors.js.map +1 -0
- package/dist/server/modules/remotes/operations/remote-operation.runner.d.ts +46 -0
- package/dist/server/modules/remotes/operations/remote-operation.runner.js +393 -0
- package/dist/server/modules/remotes/operations/remote-operation.runner.js.map +1 -0
- package/dist/server/modules/remotes/operations/remote-operation.timing.d.ts +9 -0
- package/dist/server/modules/remotes/operations/remote-operation.timing.js +15 -0
- package/dist/server/modules/remotes/operations/remote-operation.timing.js.map +1 -0
- package/dist/server/modules/remotes/operations/remote-operation.types.d.ts +29 -0
- package/dist/server/modules/remotes/operations/remote-operation.types.js +42 -0
- package/dist/server/modules/remotes/operations/remote-operation.types.js.map +1 -0
- package/dist/server/modules/remotes/operations/remote-operations.controller.d.ts +17 -0
- package/dist/server/modules/remotes/operations/remote-operations.controller.js +153 -0
- package/dist/server/modules/remotes/operations/remote-operations.controller.js.map +1 -0
- package/dist/server/modules/remotes/operations/remote-operations.service.d.ts +52 -0
- package/dist/server/modules/remotes/operations/remote-operations.service.js +465 -0
- package/dist/server/modules/remotes/operations/remote-operations.service.js.map +1 -0
- package/dist/server/modules/remotes/operations/reset-vm.operation.d.ts +47 -0
- package/dist/server/modules/remotes/operations/reset-vm.operation.js +202 -0
- package/dist/server/modules/remotes/operations/reset-vm.operation.js.map +1 -0
- package/dist/server/modules/remotes/operations/syncthing-temp-cleanup.d.ts +2 -0
- package/dist/server/modules/remotes/operations/syncthing-temp-cleanup.js +68 -0
- package/dist/server/modules/remotes/operations/syncthing-temp-cleanup.js.map +1 -0
- package/dist/server/modules/remotes/operations/transcript-handoff.d.ts +11 -0
- package/dist/server/modules/remotes/operations/transcript-handoff.js +68 -0
- package/dist/server/modules/remotes/operations/transcript-handoff.js.map +1 -0
- package/dist/server/modules/remotes/operations/update-host.operation.d.ts +32 -0
- package/dist/server/modules/remotes/operations/update-host.operation.js +156 -0
- package/dist/server/modules/remotes/operations/update-host.operation.js.map +1 -0
- package/dist/server/modules/remotes/operations/update-logins.operation.d.ts +46 -0
- package/dist/server/modules/remotes/operations/update-logins.operation.js +296 -0
- package/dist/server/modules/remotes/operations/update-logins.operation.js.map +1 -0
- package/dist/server/modules/remotes/operations/vm-operations.controller.d.ts +12 -0
- package/dist/server/modules/remotes/operations/vm-operations.controller.js +90 -0
- package/dist/server/modules/remotes/operations/vm-operations.controller.js.map +1 -0
- package/dist/server/modules/remotes/operations/vm-operations.dto.d.ts +105 -0
- package/dist/server/modules/remotes/operations/vm-operations.dto.js +45 -0
- package/dist/server/modules/remotes/operations/vm-operations.dto.js.map +1 -0
- package/dist/server/modules/remotes/operations/vm-operations.service.d.ts +26 -0
- package/dist/server/modules/remotes/operations/vm-operations.service.js +265 -0
- package/dist/server/modules/remotes/operations/vm-operations.service.js.map +1 -0
- package/dist/server/modules/remotes/ports/remote-health.port.d.ts +28 -0
- package/dist/server/modules/remotes/ports/remote-health.port.js +5 -0
- package/dist/server/modules/remotes/ports/remote-health.port.js.map +1 -0
- package/dist/server/modules/remotes/ports/remote-mirror-sync.port.d.ts +4 -0
- package/dist/server/modules/remotes/ports/remote-mirror-sync.port.js +5 -0
- package/dist/server/modules/remotes/ports/remote-mirror-sync.port.js.map +1 -0
- package/dist/server/modules/remotes/remote-address.d.ts +3 -0
- package/dist/server/modules/remotes/remote-address.js +18 -0
- package/dist/server/modules/remotes/remote-address.js.map +1 -0
- package/dist/server/modules/remotes/remotes.module.d.ts +2 -0
- package/dist/server/modules/remotes/remotes.module.js +221 -0
- package/dist/server/modules/remotes/remotes.module.js.map +1 -0
- package/dist/server/modules/remotes/replica/__fixtures__/replica-seed.d.ts +27 -0
- package/dist/server/modules/remotes/replica/__fixtures__/replica-seed.js +366 -0
- package/dist/server/modules/remotes/replica/__fixtures__/replica-seed.js.map +1 -0
- package/dist/server/modules/remotes/replica/project-replica.applier.d.ts +18 -0
- package/dist/server/modules/remotes/replica/project-replica.applier.js +58 -0
- package/dist/server/modules/remotes/replica/project-replica.applier.js.map +1 -0
- package/dist/server/modules/remotes/replica/project-replica.builder.d.ts +23 -0
- package/dist/server/modules/remotes/replica/project-replica.builder.js +484 -0
- package/dist/server/modules/remotes/replica/project-replica.builder.js.map +1 -0
- package/dist/server/modules/remotes/services/home-skill-archive.d.ts +8 -0
- package/dist/server/modules/remotes/services/home-skill-archive.js +102 -0
- package/dist/server/modules/remotes/services/home-skill-archive.js.map +1 -0
- package/dist/server/modules/remotes/services/project-sessions-stopper.service.d.ts +6 -0
- package/dist/server/modules/remotes/services/project-sessions-stopper.service.js +41 -0
- package/dist/server/modules/remotes/services/project-sessions-stopper.service.js.map +1 -0
- package/dist/server/modules/remotes/services/remote-bindings.service.d.ts +16 -0
- package/dist/server/modules/remotes/services/remote-bindings.service.js +79 -0
- package/dist/server/modules/remotes/services/remote-bindings.service.js.map +1 -0
- package/dist/server/modules/remotes/services/remote-health.service.d.ts +43 -0
- package/dist/server/modules/remotes/services/remote-health.service.js +328 -0
- package/dist/server/modules/remotes/services/remote-health.service.js.map +1 -0
- package/dist/server/modules/remotes/services/remote-probe.service.d.ts +23 -0
- package/dist/server/modules/remotes/services/remote-probe.service.js +173 -0
- package/dist/server/modules/remotes/services/remote-probe.service.js.map +1 -0
- package/dist/server/modules/remotes/services/remote-provider-cli-settings.service.d.ts +14 -0
- package/dist/server/modules/remotes/services/remote-provider-cli-settings.service.js +74 -0
- package/dist/server/modules/remotes/services/remote-provider-cli-settings.service.js.map +1 -0
- package/dist/server/modules/remotes/services/remote-proxy.service.d.ts +19 -0
- package/dist/server/modules/remotes/services/remote-proxy.service.js +171 -0
- package/dist/server/modules/remotes/services/remote-proxy.service.js.map +1 -0
- package/dist/server/modules/remotes/services/remote-skill-settings.service.d.ts +33 -0
- package/dist/server/modules/remotes/services/remote-skill-settings.service.js +244 -0
- package/dist/server/modules/remotes/services/remote-skill-settings.service.js.map +1 -0
- package/dist/server/modules/remotes/services/remotes.service.d.ts +24 -0
- package/dist/server/modules/remotes/services/remotes.service.js +126 -0
- package/dist/server/modules/remotes/services/remotes.service.js.map +1 -0
- package/dist/server/modules/remotes/sync/remote-file-sync.service.d.ts +23 -0
- package/dist/server/modules/remotes/sync/remote-file-sync.service.js +269 -0
- package/dist/server/modules/remotes/sync/remote-file-sync.service.js.map +1 -0
- package/dist/server/modules/remotes/sync/remote-live-sync.service.d.ts +40 -0
- package/dist/server/modules/remotes/sync/remote-live-sync.service.js +305 -0
- package/dist/server/modules/remotes/sync/remote-live-sync.service.js.map +1 -0
- package/dist/server/modules/remotes/time/project-time-settler.service.d.ts +28 -0
- package/dist/server/modules/remotes/time/project-time-settler.service.js +83 -0
- package/dist/server/modules/remotes/time/project-time-settler.service.js.map +1 -0
- package/dist/server/modules/remotes/transcripts/transcript-files.service.d.ts +25 -0
- package/dist/server/modules/remotes/transcripts/transcript-files.service.js +280 -0
- package/dist/server/modules/remotes/transcripts/transcript-files.service.js.map +1 -0
- package/dist/server/modules/remotes/transcripts/transcript-transfer.dto.d.ts +157 -0
- package/dist/server/modules/remotes/transcripts/transcript-transfer.dto.js +44 -0
- package/dist/server/modules/remotes/transcripts/transcript-transfer.dto.js.map +1 -0
- package/dist/server/modules/remotes/transport/remote-discovery.d.ts +6 -0
- package/dist/server/modules/remotes/transport/remote-discovery.js +60 -0
- package/dist/server/modules/remotes/transport/remote-discovery.js.map +1 -0
- package/dist/server/modules/remotes/transport/remote-proxy-tls.d.ts +21 -0
- package/dist/server/modules/remotes/transport/remote-proxy-tls.js +89 -0
- package/dist/server/modules/remotes/transport/remote-proxy-tls.js.map +1 -0
- package/dist/server/modules/remotes/transport/remote-tls.d.ts +26 -0
- package/dist/server/modules/remotes/transport/remote-tls.js +76 -0
- package/dist/server/modules/remotes/transport/remote-tls.js.map +1 -0
- package/dist/server/modules/reviews/dtos/review.dto.d.ts +21 -21
- package/dist/server/modules/reviews/reviews.module.js +9 -1
- package/dist/server/modules/reviews/reviews.module.js.map +1 -1
- package/dist/server/modules/reviews/services/review-suggestion-applier.service.d.ts +3 -1
- package/dist/server/modules/reviews/services/review-suggestion-applier.service.js +7 -2
- package/dist/server/modules/reviews/services/review-suggestion-applier.service.js.map +1 -1
- package/dist/server/modules/reviews/services/reviews.service.d.ts +3 -1
- package/dist/server/modules/reviews/services/reviews.service.js +13 -3
- package/dist/server/modules/reviews/services/reviews.service.js.map +1 -1
- package/dist/server/modules/scheduled-epics/scheduled-epics.module.js +2 -1
- package/dist/server/modules/scheduled-epics/scheduled-epics.module.js.map +1 -1
- package/dist/server/modules/scheduled-epics/services/scheduled-epic-runner.service.d.ts +5 -1
- package/dist/server/modules/scheduled-epics/services/scheduled-epic-runner.service.js +22 -2
- package/dist/server/modules/scheduled-epics/services/scheduled-epic-runner.service.js.map +1 -1
- package/dist/server/modules/scheduled-epics/services/scheduled-epics.service.d.ts +3 -1
- package/dist/server/modules/scheduled-epics/services/scheduled-epics.service.js +12 -6
- package/dist/server/modules/scheduled-epics/services/scheduled-epics.service.js.map +1 -1
- package/dist/server/modules/session-reader/adapters/claude-session-reader.adapter.js +11 -1
- package/dist/server/modules/session-reader/adapters/claude-session-reader.adapter.js.map +1 -1
- package/dist/server/modules/session-reader/adapters/codex-session-reader.adapter.js +3 -0
- package/dist/server/modules/session-reader/adapters/codex-session-reader.adapter.js.map +1 -1
- package/dist/server/modules/session-reader/builders/chunk-builder.d.ts +1 -0
- package/dist/server/modules/session-reader/builders/chunk-builder.js +17 -7
- package/dist/server/modules/session-reader/builders/chunk-builder.js.map +1 -1
- package/dist/server/modules/session-reader/builders/semantic-step-extractor.d.ts +1 -0
- package/dist/server/modules/session-reader/builders/semantic-step-extractor.js +13 -5
- package/dist/server/modules/session-reader/builders/semantic-step-extractor.js.map +1 -1
- package/dist/server/modules/session-reader/builders/turn-builder.d.ts +1 -0
- package/dist/server/modules/session-reader/builders/turn-builder.js +8 -0
- package/dist/server/modules/session-reader/builders/turn-builder.js.map +1 -1
- package/dist/server/modules/session-reader/controllers/session-reader.controller.js +15 -9
- package/dist/server/modules/session-reader/controllers/session-reader.controller.js.map +1 -1
- package/dist/server/modules/session-reader/controllers/transcript-json.interceptor.d.ts +5 -0
- package/dist/server/modules/session-reader/controllers/transcript-json.interceptor.js +24 -0
- package/dist/server/modules/session-reader/controllers/transcript-json.interceptor.js.map +1 -0
- package/dist/server/modules/session-reader/data/pricing.json +1773 -919
- package/dist/server/modules/session-reader/parsers/claude-jsonl.parser.js +18 -2
- package/dist/server/modules/session-reader/parsers/claude-jsonl.parser.js.map +1 -1
- package/dist/server/modules/session-reader/services/cooperative-work.d.ts +4 -0
- package/dist/server/modules/session-reader/services/cooperative-work.js +44 -0
- package/dist/server/modules/session-reader/services/cooperative-work.js.map +1 -0
- package/dist/server/modules/session-reader/services/session-reader.service.js +23 -9
- package/dist/server/modules/session-reader/services/session-reader.service.js.map +1 -1
- package/dist/server/modules/session-reader/services/subagent-locator.service.js +2 -1
- package/dist/server/modules/session-reader/services/subagent-locator.service.js.map +1 -1
- package/dist/server/modules/session-reader/services/transcript-cursor.d.ts +2 -0
- package/dist/server/modules/session-reader/services/transcript-cursor.js +11 -3
- package/dist/server/modules/session-reader/services/transcript-cursor.js.map +1 -1
- package/dist/server/modules/session-reader/services/transcript-json-stream.d.ts +2 -0
- package/dist/server/modules/session-reader/services/transcript-json-stream.js +81 -0
- package/dist/server/modules/session-reader/services/transcript-json-stream.js.map +1 -0
- package/dist/server/modules/session-reader/services/transcript-path-validator.service.d.ts +5 -1
- package/dist/server/modules/session-reader/services/transcript-path-validator.service.js +24 -8
- package/dist/server/modules/session-reader/services/transcript-path-validator.service.js.map +1 -1
- package/dist/server/modules/session-reader/services/transcript-serialization.d.ts +1 -0
- package/dist/server/modules/session-reader/services/transcript-serialization.js +26 -4
- package/dist/server/modules/session-reader/services/transcript-serialization.js.map +1 -1
- package/dist/server/modules/sessions/controllers/sessions.controller.d.ts +3 -1
- package/dist/server/modules/sessions/controllers/sessions.controller.js +7 -2
- package/dist/server/modules/sessions/controllers/sessions.controller.js.map +1 -1
- package/dist/server/modules/sessions/dtos/active-session-info.dto.d.ts +1 -0
- package/dist/server/modules/sessions/dtos/active-session-info.dto.js.map +1 -1
- package/dist/server/modules/sessions/dtos/sessions.dto.d.ts +2 -2
- package/dist/server/modules/sessions/services/active-session-lookup.service.d.ts +1 -0
- package/dist/server/modules/sessions/services/active-session-lookup.service.js +14 -2
- package/dist/server/modules/sessions/services/active-session-lookup.service.js.map +1 -1
- package/dist/server/modules/sessions/services/delivery-failure-notifier.service.d.ts +3 -1
- package/dist/server/modules/sessions/services/delivery-failure-notifier.service.js +8 -2
- package/dist/server/modules/sessions/services/delivery-failure-notifier.service.js.map +1 -1
- package/dist/server/modules/sessions/services/message-enqueue.service.d.ts +1 -0
- package/dist/server/modules/sessions/services/message-enqueue.service.js +1 -0
- package/dist/server/modules/sessions/services/message-enqueue.service.js.map +1 -1
- package/dist/server/modules/sessions/services/message-pool.types.d.ts +2 -0
- package/dist/server/modules/sessions/services/provider-launch-config/provider-launch-config.service.js +3 -0
- package/dist/server/modules/sessions/services/provider-launch-config/provider-launch-config.service.js.map +1 -1
- package/dist/server/modules/sessions/services/session-lifecycle-facade.service.d.ts +3 -1
- package/dist/server/modules/sessions/services/session-lifecycle-facade.service.js +9 -2
- package/dist/server/modules/sessions/services/session-lifecycle-facade.service.js.map +1 -1
- package/dist/server/modules/sessions/services/session-runtime/__test-utils__/pipeline-harness.d.ts +1 -0
- package/dist/server/modules/sessions/services/session-runtime/__test-utils__/pipeline-harness.js +1 -0
- package/dist/server/modules/sessions/services/session-runtime/__test-utils__/pipeline-harness.js.map +1 -1
- package/dist/server/modules/sessions/services/session-runtime/session-launch-pipeline.service.js +10 -4
- package/dist/server/modules/sessions/services/session-runtime/session-launch-pipeline.service.js.map +1 -1
- package/dist/server/modules/sessions/services/session-runtime/session-runtime.service.d.ts +3 -1
- package/dist/server/modules/sessions/services/session-runtime/session-runtime.service.js +8 -2
- package/dist/server/modules/sessions/services/session-runtime/session-runtime.service.js.map +1 -1
- package/dist/server/modules/sessions/services/sessions-message-pool.service.js +15 -5
- package/dist/server/modules/sessions/services/sessions-message-pool.service.js.map +1 -1
- package/dist/server/modules/sessions/services/sessions.service.d.ts +3 -1
- package/dist/server/modules/sessions/services/sessions.service.js +9 -3
- package/dist/server/modules/sessions/services/sessions.service.js.map +1 -1
- package/dist/server/modules/sessions/sessions-lifecycle.module.js +2 -1
- package/dist/server/modules/sessions/sessions-lifecycle.module.js.map +1 -1
- package/dist/server/modules/sessions/sessions.module.js +2 -0
- package/dist/server/modules/sessions/sessions.module.js.map +1 -1
- package/dist/server/modules/sessions/utils/claude-config.d.ts +2 -0
- package/dist/server/modules/sessions/utils/claude-config.js +38 -0
- package/dist/server/modules/sessions/utils/claude-config.js.map +1 -1
- package/dist/server/modules/sessions/utils/codex-config.d.ts +13 -0
- package/dist/server/modules/sessions/utils/codex-config.js +296 -0
- package/dist/server/modules/sessions/utils/codex-config.js.map +1 -0
- package/dist/server/modules/settings/controllers/settings.controller.d.ts +4 -1
- package/dist/server/modules/settings/controllers/settings.controller.js +31 -2
- package/dist/server/modules/settings/controllers/settings.controller.js.map +1 -1
- package/dist/server/modules/settings/dtos/settings.dto.d.ts +64 -30
- package/dist/server/modules/settings/dtos/settings.dto.js +8 -0
- package/dist/server/modules/settings/dtos/settings.dto.js.map +1 -1
- package/dist/server/modules/settings/local/delegates/core-settings.delegate.d.ts +1 -0
- package/dist/server/modules/settings/local/delegates/core-settings.delegate.js +28 -2
- package/dist/server/modules/settings/local/delegates/core-settings.delegate.js.map +1 -1
- package/dist/server/modules/settings/local/delegates/provider-cli-settings.delegate.d.ts +17 -0
- package/dist/server/modules/settings/local/delegates/provider-cli-settings.delegate.js +87 -0
- package/dist/server/modules/settings/local/delegates/provider-cli-settings.delegate.js.map +1 -0
- package/dist/server/modules/settings/local/delegates/skills-settings.delegate.d.ts +16 -1
- package/dist/server/modules/settings/local/delegates/skills-settings.delegate.js +51 -20
- package/dist/server/modules/settings/local/delegates/skills-settings.delegate.js.map +1 -1
- package/dist/server/modules/settings/services/settings.constants.d.ts +3 -0
- package/dist/server/modules/settings/services/settings.constants.js +4 -1
- package/dist/server/modules/settings/services/settings.constants.js.map +1 -1
- package/dist/server/modules/settings/services/settings.service.d.ts +11 -1
- package/dist/server/modules/settings/services/settings.service.js +26 -1
- package/dist/server/modules/settings/services/settings.service.js.map +1 -1
- package/dist/server/modules/settings/settings.module.js +2 -1
- package/dist/server/modules/settings/settings.module.js.map +1 -1
- package/dist/server/modules/skills/adapters/anthropic-skill-source.adapter.js +2 -1
- package/dist/server/modules/skills/adapters/anthropic-skill-source.adapter.js.map +1 -1
- package/dist/server/modules/skills/adapters/github-skill-source.base.d.ts +1 -0
- package/dist/server/modules/skills/adapters/github-skill-source.base.js +29 -14
- package/dist/server/modules/skills/adapters/github-skill-source.base.js.map +1 -1
- package/dist/server/modules/skills/adapters/local-skill-source.adapter.d.ts +2 -0
- package/dist/server/modules/skills/adapters/local-skill-source.adapter.js +56 -10
- package/dist/server/modules/skills/adapters/local-skill-source.adapter.js.map +1 -1
- package/dist/server/modules/skills/adapters/microsoft-skill-source.adapter.js +2 -1
- package/dist/server/modules/skills/adapters/microsoft-skill-source.adapter.js.map +1 -1
- package/dist/server/modules/skills/adapters/openai-skill-source.adapter.js +2 -1
- package/dist/server/modules/skills/adapters/openai-skill-source.adapter.js.map +1 -1
- package/dist/server/modules/skills/adapters/trailofbits-skill-source.adapter.js +2 -1
- package/dist/server/modules/skills/adapters/trailofbits-skill-source.adapter.js.map +1 -1
- package/dist/server/modules/skills/adapters/vercel-skill-source.adapter.js +2 -1
- package/dist/server/modules/skills/adapters/vercel-skill-source.adapter.js.map +1 -1
- package/dist/server/modules/skills/dtos/community-sources.dto.d.ts +124 -0
- package/dist/server/modules/skills/dtos/community-sources.dto.js +5 -0
- package/dist/server/modules/skills/dtos/community-sources.dto.js.map +1 -1
- package/dist/server/modules/skills/dtos/local-sources.dto.d.ts +38 -0
- package/dist/server/modules/skills/dtos/local-sources.dto.js +2 -0
- package/dist/server/modules/skills/dtos/local-sources.dto.js.map +1 -1
- package/dist/server/modules/skills/dtos/skill.dto.d.ts +30 -8
- package/dist/server/modules/skills/dtos/skill.dto.js +13 -1
- package/dist/server/modules/skills/dtos/skill.dto.js.map +1 -1
- package/dist/server/modules/skills/services/skill-source-lifecycle.service.d.ts +10 -4
- package/dist/server/modules/skills/services/skill-source-lifecycle.service.js +16 -9
- package/dist/server/modules/skills/services/skill-source-lifecycle.service.js.map +1 -1
- package/dist/server/modules/skills/services/skills.service.d.ts +69 -0
- package/dist/server/modules/skills/services/skills.service.js +248 -33
- package/dist/server/modules/skills/services/skills.service.js.map +1 -1
- package/dist/server/modules/skills/skills.module.js +3 -1
- package/dist/server/modules/skills/skills.module.js.map +1 -1
- package/dist/server/modules/statuses/controllers/statuses.controller.d.ts +4 -1
- package/dist/server/modules/statuses/controllers/statuses.controller.js +15 -2
- package/dist/server/modules/statuses/controllers/statuses.controller.js.map +1 -1
- package/dist/server/modules/statuses/statuses.module.js +2 -1
- package/dist/server/modules/statuses/statuses.module.js.map +1 -1
- package/dist/server/modules/storage/db/schema.d.ts +1667 -1309
- package/dist/server/modules/storage/db/schema.js +106 -63
- package/dist/server/modules/storage/db/schema.js.map +1 -1
- package/dist/server/modules/storage/interfaces/storage.interface.d.ts +179 -4
- package/dist/server/modules/storage/interfaces/storage.interface.js.map +1 -1
- package/dist/server/modules/storage/local/delegates/epic.delegate.d.ts +1 -0
- package/dist/server/modules/storage/local/delegates/epic.delegate.js +13 -1
- package/dist/server/modules/storage/local/delegates/epic.delegate.js.map +1 -1
- package/dist/server/modules/storage/local/delegates/project-host.delegate.d.ts +10 -0
- package/dist/server/modules/storage/local/delegates/project-host.delegate.js +102 -0
- package/dist/server/modules/storage/local/delegates/project-host.delegate.js.map +1 -0
- package/dist/server/modules/storage/local/delegates/project-replica-read.delegate.d.ts +13 -0
- package/dist/server/modules/storage/local/delegates/project-replica-read.delegate.js +367 -0
- package/dist/server/modules/storage/local/delegates/project-replica-read.delegate.js.map +1 -0
- package/dist/server/modules/storage/local/delegates/project-replica.delegate.d.ts +13 -0
- package/dist/server/modules/storage/local/delegates/project-replica.delegate.js +759 -0
- package/dist/server/modules/storage/local/delegates/project-replica.delegate.js.map +1 -0
- package/dist/server/modules/storage/local/delegates/project.delegate.js +17 -3
- package/dist/server/modules/storage/local/delegates/project.delegate.js.map +1 -1
- package/dist/server/modules/storage/local/delegates/provider-auth.delegate.d.ts +20 -0
- package/dist/server/modules/storage/local/delegates/provider-auth.delegate.js +158 -0
- package/dist/server/modules/storage/local/delegates/provider-auth.delegate.js.map +1 -0
- package/dist/server/modules/storage/local/delegates/remote.delegate.d.ts +52 -0
- package/dist/server/modules/storage/local/delegates/remote.delegate.js +442 -0
- package/dist/server/modules/storage/local/delegates/remote.delegate.js.map +1 -0
- package/dist/server/modules/storage/local/delegates/skill-source.delegate.d.ts +5 -2
- package/dist/server/modules/storage/local/delegates/skill-source.delegate.js +42 -9
- package/dist/server/modules/storage/local/delegates/skill-source.delegate.js.map +1 -1
- package/dist/server/modules/storage/local/helpers/skill-source-switches.d.ts +3 -0
- package/dist/server/modules/storage/local/helpers/skill-source-switches.js +16 -0
- package/dist/server/modules/storage/local/helpers/skill-source-switches.js.map +1 -0
- package/dist/server/modules/storage/local/helpers/storage-helpers.d.ts +8 -0
- package/dist/server/modules/storage/local/helpers/storage-helpers.js +46 -0
- package/dist/server/modules/storage/local/helpers/storage-helpers.js.map +1 -1
- package/dist/server/modules/storage/local/integration-credential-cipher.d.ts +2 -0
- package/dist/server/modules/storage/local/integration-credential-cipher.js +34 -13
- package/dist/server/modules/storage/local/integration-credential-cipher.js.map +1 -1
- package/dist/server/modules/storage/local/local-storage.service.d.ts +60 -3
- package/dist/server/modules/storage/local/local-storage.service.js +140 -2
- package/dist/server/modules/storage/local/local-storage.service.js.map +1 -1
- package/dist/server/modules/storage/models/domain.models.d.ts +160 -0
- package/dist/server/modules/storage/models/domain.models.js +22 -1
- package/dist/server/modules/storage/models/domain.models.js.map +1 -1
- package/dist/server/modules/subscribers/actions/action.interface.d.ts +3 -0
- package/dist/server/modules/subscribers/actions/delete-agent.action.js +9 -0
- package/dist/server/modules/subscribers/actions/delete-agent.action.js.map +1 -1
- package/dist/server/modules/subscribers/actions/epic-status-guard.d.ts +25 -0
- package/dist/server/modules/subscribers/actions/epic-status-guard.js +94 -0
- package/dist/server/modules/subscribers/actions/epic-status-guard.js.map +1 -0
- package/dist/server/modules/subscribers/actions/family-agent-targets.d.ts +1 -0
- package/dist/server/modules/subscribers/actions/family-agent-targets.js +1 -0
- package/dist/server/modules/subscribers/actions/family-agent-targets.js.map +1 -1
- package/dist/server/modules/subscribers/actions/send-message.action.js +1 -0
- package/dist/server/modules/subscribers/actions/send-message.action.js.map +1 -1
- package/dist/server/modules/subscribers/actions/terminate-session.action.js +13 -0
- package/dist/server/modules/subscribers/actions/terminate-session.action.js.map +1 -1
- package/dist/server/modules/subscribers/dtos/subscriber.dto.d.ts +14 -14
- package/dist/server/modules/subscribers/services/subscriber-executor.service.d.ts +3 -1
- package/dist/server/modules/subscribers/services/subscriber-executor.service.js +13 -2
- package/dist/server/modules/subscribers/services/subscriber-executor.service.js.map +1 -1
- package/dist/server/modules/subscribers/services/subscribers.service.d.ts +3 -1
- package/dist/server/modules/subscribers/services/subscribers.service.js +8 -3
- package/dist/server/modules/subscribers/services/subscribers.service.js.map +1 -1
- package/dist/server/modules/subscribers/subscribers.module.js +2 -0
- package/dist/server/modules/subscribers/subscribers.module.js.map +1 -1
- package/dist/server/modules/teams/services/teams.service.d.ts +3 -1
- package/dist/server/modules/teams/services/teams.service.js +19 -2
- package/dist/server/modules/teams/services/teams.service.js.map +1 -1
- package/dist/server/modules/teams/storage/teams.store.js +7 -1
- package/dist/server/modules/teams/storage/teams.store.js.map +1 -1
- package/dist/server/modules/teams/teams.module.js +8 -1
- package/dist/server/modules/teams/teams.module.js.map +1 -1
- package/dist/server/modules/terminal/dtos/ws-envelope.dto.d.ts +10 -10
- package/dist/server/modules/terminal/gateways/terminal.gateway.d.ts +11 -6
- package/dist/server/modules/terminal/gateways/terminal.gateway.js +37 -0
- package/dist/server/modules/terminal/gateways/terminal.gateway.js.map +1 -1
- package/dist/server/modules/terminal/services/guest-delivery.service.js.map +1 -1
- package/dist/server/modules/terminal/services/human-prompt-state.service.d.ts +0 -4
- package/dist/server/modules/terminal/services/human-prompt-state.service.js +9 -15
- package/dist/server/modules/terminal/services/human-prompt-state.service.js.map +1 -1
- package/dist/server/modules/terminal/services/standalone-terminal.service.d.ts +27 -0
- package/dist/server/modules/terminal/services/standalone-terminal.service.js +130 -0
- package/dist/server/modules/terminal/services/standalone-terminal.service.js.map +1 -0
- package/dist/server/modules/terminal/services/terminal-activity.service.d.ts +6 -1
- package/dist/server/modules/terminal/services/terminal-activity.service.js +36 -4
- package/dist/server/modules/terminal/services/terminal-activity.service.js.map +1 -1
- package/dist/server/modules/terminal/services/terminal-io/delivery.js +26 -4
- package/dist/server/modules/terminal/services/terminal-io/delivery.js.map +1 -1
- package/dist/server/modules/terminal/services/terminal-io/terminal-io.service.d.ts +4 -1
- package/dist/server/modules/terminal/services/terminal-io/terminal-io.service.js +15 -5
- package/dist/server/modules/terminal/services/terminal-io/terminal-io.service.js.map +1 -1
- package/dist/server/modules/terminal/services/terminal-io/types.d.ts +1 -0
- package/dist/server/modules/terminal/services/terminal-session/terminal-session.js +1 -5
- package/dist/server/modules/terminal/services/terminal-session/terminal-session.js.map +1 -1
- package/dist/server/modules/terminal/terminal-delivery.module.js +2 -1
- package/dist/server/modules/terminal/terminal-delivery.module.js.map +1 -1
- package/dist/server/modules/terminal/terminal.module.js +5 -0
- package/dist/server/modules/terminal/terminal.module.js.map +1 -1
- package/dist/server/modules/vm-providers/address-vm.provider.d.ts +15 -0
- package/dist/server/modules/vm-providers/address-vm.provider.js +29 -0
- package/dist/server/modules/vm-providers/address-vm.provider.js.map +1 -0
- package/dist/server/modules/vm-providers/proxmox/connection-string.d.ts +31 -0
- package/dist/server/modules/vm-providers/proxmox/connection-string.js +132 -0
- package/dist/server/modules/vm-providers/proxmox/connection-string.js.map +1 -0
- package/dist/server/modules/vm-providers/proxmox/setup-block.d.ts +25 -0
- package/dist/server/modules/vm-providers/proxmox/setup-block.js +317 -0
- package/dist/server/modules/vm-providers/proxmox/setup-block.js.map +1 -0
- package/dist/server/modules/vm-providers/proxmox-vm-lifecycle.service.d.ts +39 -0
- package/dist/server/modules/vm-providers/proxmox-vm-lifecycle.service.js +348 -0
- package/dist/server/modules/vm-providers/proxmox-vm-lifecycle.service.js.map +1 -0
- package/dist/server/modules/vm-providers/proxmox-vm.provider.d.ts +44 -0
- package/dist/server/modules/vm-providers/proxmox-vm.provider.js +265 -0
- package/dist/server/modules/vm-providers/proxmox-vm.provider.js.map +1 -0
- package/dist/server/modules/vm-providers/vm-provider.dto.d.ts +87 -0
- package/dist/server/modules/vm-providers/vm-provider.dto.js +51 -0
- package/dist/server/modules/vm-providers/vm-provider.dto.js.map +1 -0
- package/dist/server/modules/vm-providers/vm-provider.port.d.ts +15 -0
- package/dist/server/modules/{orchestrator/sync/dtos/task-merge.dto.js → vm-providers/vm-provider.port.js} +1 -1
- package/dist/server/modules/vm-providers/vm-provider.port.js.map +1 -0
- package/dist/server/modules/vm-providers/vm-providers.controller.d.ts +26 -0
- package/dist/server/modules/vm-providers/vm-providers.controller.js +124 -0
- package/dist/server/modules/vm-providers/vm-providers.controller.js.map +1 -0
- package/dist/server/modules/vm-providers/vm-providers.module.d.ts +2 -0
- package/dist/server/modules/vm-providers/vm-providers.module.js +36 -0
- package/dist/server/modules/vm-providers/vm-providers.module.js.map +1 -0
- package/dist/server/modules/vm-providers/vm-providers.service.d.ts +46 -0
- package/dist/server/modules/vm-providers/vm-providers.service.js +97 -0
- package/dist/server/modules/vm-providers/vm-providers.service.js.map +1 -0
- package/dist/server/modules/watchers/dtos/watcher.dto.d.ts +8 -8
- package/dist/server/modules/watchers/services/watchers.service.d.ts +3 -1
- package/dist/server/modules/watchers/services/watchers.service.js +12 -2
- package/dist/server/modules/watchers/services/watchers.service.js.map +1 -1
- package/dist/server/modules/watchers/watchers.module.js +2 -0
- package/dist/server/modules/watchers/watchers.module.js.map +1 -1
- package/dist/server/modules/workspaces/services/workspaces.service.d.ts +5 -1
- package/dist/server/modules/workspaces/services/workspaces.service.js +28 -3
- package/dist/server/modules/workspaces/services/workspaces.service.js.map +1 -1
- package/dist/server/modules/workspaces/workspaces.module.js +2 -1
- package/dist/server/modules/workspaces/workspaces.module.js.map +1 -1
- package/dist/server/templates/teams-dev.json +307 -298
- package/dist/server/test-setup-node.js +10 -1
- package/dist/server/test-setup-node.js.map +1 -1
- package/dist/server/tsconfig.tsbuildinfo +1 -1
- package/dist/server/ui/assets/{ExternalRichEditor-akgwTdms.js → ExternalRichEditor--kNXs-Eb.js} +1 -1
- package/dist/server/ui/assets/ReviewDetailPage-DMgP5fKn.js +6 -0
- package/dist/server/ui/assets/ReviewsPage-CkyFUJr6.js +6 -0
- package/dist/server/ui/assets/index-CVUaAlP4.css +32 -0
- package/dist/server/ui/assets/index-CqRufKpA.js +994 -0
- package/dist/server/ui/assets/useReviewSubscription-CU70CzwG.js +69 -0
- package/dist/server/ui/index.html +6 -4
- package/dist/templates/teams-dev.json +307 -298
- package/package.json +23 -3
- package/dist/server/app.main.module.d.ts +0 -4
- package/dist/server/app.main.module.js +0 -120
- package/dist/server/app.main.module.js.map +0 -1
- package/dist/server/app.normal.module.d.ts +0 -4
- package/dist/server/app.normal.module.js +0 -108
- package/dist/server/app.normal.module.js.map +0 -1
- package/dist/server/common/config/container-scope.js.map +0 -1
- package/dist/server/modules/core/core-main-health.module.d.ts +0 -2
- package/dist/server/modules/core/core-main-health.module.js +0 -32
- package/dist/server/modules/core/core-main-health.module.js.map +0 -1
- package/dist/server/modules/core/services/main-readiness-checker.service.d.ts +0 -14
- package/dist/server/modules/core/services/main-readiness-checker.service.js +0 -85
- package/dist/server/modules/core/services/main-readiness-checker.service.js.map +0 -1
- package/dist/server/modules/orchestrator/docker/docker.module.d.ts +0 -2
- package/dist/server/modules/orchestrator/docker/docker.module.js +0 -25
- package/dist/server/modules/orchestrator/docker/docker.module.js.map +0 -1
- package/dist/server/modules/orchestrator/docker/index.d.ts +0 -3
- package/dist/server/modules/orchestrator/docker/index.js +0 -20
- package/dist/server/modules/orchestrator/docker/index.js.map +0 -1
- package/dist/server/modules/orchestrator/docker/services/docker.service.d.ts +0 -82
- package/dist/server/modules/orchestrator/docker/services/docker.service.js +0 -629
- package/dist/server/modules/orchestrator/docker/services/docker.service.js.map +0 -1
- package/dist/server/modules/orchestrator/docker/services/seed-preparation.service.d.ts +0 -16
- package/dist/server/modules/orchestrator/docker/services/seed-preparation.service.js +0 -231
- package/dist/server/modules/orchestrator/docker/services/seed-preparation.service.js.map +0 -1
- package/dist/server/modules/orchestrator/docker/services/worktree-mount-discovery.service.d.ts +0 -20
- package/dist/server/modules/orchestrator/docker/services/worktree-mount-discovery.service.js +0 -192
- package/dist/server/modules/orchestrator/docker/services/worktree-mount-discovery.service.js.map +0 -1
- package/dist/server/modules/orchestrator/git/controllers/git.controller.d.ts +0 -10
- package/dist/server/modules/orchestrator/git/controllers/git.controller.js +0 -77
- package/dist/server/modules/orchestrator/git/controllers/git.controller.js.map +0 -1
- package/dist/server/modules/orchestrator/git/git.module.d.ts +0 -2
- package/dist/server/modules/orchestrator/git/git.module.js.map +0 -1
- package/dist/server/modules/orchestrator/git/index.d.ts +0 -3
- package/dist/server/modules/orchestrator/git/index.js +0 -20
- package/dist/server/modules/orchestrator/git/index.js.map +0 -1
- package/dist/server/modules/orchestrator/git/services/git-worktree.service.d.ts +0 -91
- package/dist/server/modules/orchestrator/git/services/git-worktree.service.js +0 -524
- package/dist/server/modules/orchestrator/git/services/git-worktree.service.js.map +0 -1
- package/dist/server/modules/orchestrator/index.d.ts +0 -6
- package/dist/server/modules/orchestrator/index.js +0 -23
- package/dist/server/modules/orchestrator/index.js.map +0 -1
- package/dist/server/modules/orchestrator/orchestrator-storage/db/index.d.ts +0 -1
- package/dist/server/modules/orchestrator/orchestrator-storage/db/index.js +0 -18
- package/dist/server/modules/orchestrator/orchestrator-storage/db/index.js.map +0 -1
- package/dist/server/modules/orchestrator/orchestrator-storage/db/orchestrator.provider.d.ts +0 -5
- package/dist/server/modules/orchestrator/orchestrator-storage/db/orchestrator.provider.js +0 -10
- package/dist/server/modules/orchestrator/orchestrator-storage/db/orchestrator.provider.js.map +0 -1
- package/dist/server/modules/orchestrator/orchestrator-storage/index.d.ts +0 -2
- package/dist/server/modules/orchestrator/orchestrator-storage/index.js +0 -19
- package/dist/server/modules/orchestrator/orchestrator-storage/index.js.map +0 -1
- package/dist/server/modules/orchestrator/orchestrator-storage/orchestrator-storage.module.d.ts +0 -2
- package/dist/server/modules/orchestrator/orchestrator-storage/orchestrator-storage.module.js +0 -23
- package/dist/server/modules/orchestrator/orchestrator-storage/orchestrator-storage.module.js.map +0 -1
- package/dist/server/modules/orchestrator/proxy/index.d.ts +0 -2
- package/dist/server/modules/orchestrator/proxy/index.js +0 -19
- package/dist/server/modules/orchestrator/proxy/index.js.map +0 -1
- package/dist/server/modules/orchestrator/proxy/orchestrator-proxy.module.d.ts +0 -2
- package/dist/server/modules/orchestrator/proxy/orchestrator-proxy.module.js.map +0 -1
- package/dist/server/modules/orchestrator/proxy/services/orchestrator-proxy.service.d.ts +0 -18
- package/dist/server/modules/orchestrator/proxy/services/orchestrator-proxy.service.js +0 -194
- package/dist/server/modules/orchestrator/proxy/services/orchestrator-proxy.service.js.map +0 -1
- package/dist/server/modules/orchestrator/sync/controllers/overview.controller.d.ts +0 -9
- package/dist/server/modules/orchestrator/sync/controllers/overview.controller.js +0 -67
- package/dist/server/modules/orchestrator/sync/controllers/overview.controller.js.map +0 -1
- package/dist/server/modules/orchestrator/sync/dtos/overview.dto.d.ts +0 -52
- package/dist/server/modules/orchestrator/sync/dtos/overview.dto.js.map +0 -1
- package/dist/server/modules/orchestrator/sync/dtos/task-merge.dto.d.ts +0 -5
- package/dist/server/modules/orchestrator/sync/dtos/task-merge.dto.js.map +0 -1
- package/dist/server/modules/orchestrator/sync/events/task-merge.events.d.ts +0 -4
- package/dist/server/modules/orchestrator/sync/events/task-merge.events.js +0 -5
- package/dist/server/modules/orchestrator/sync/events/task-merge.events.js.map +0 -1
- package/dist/server/modules/orchestrator/sync/index.d.ts +0 -7
- package/dist/server/modules/orchestrator/sync/index.js +0 -24
- package/dist/server/modules/orchestrator/sync/index.js.map +0 -1
- package/dist/server/modules/orchestrator/sync/services/lazy-fetch.service.d.ts +0 -31
- package/dist/server/modules/orchestrator/sync/services/lazy-fetch.service.js +0 -413
- package/dist/server/modules/orchestrator/sync/services/lazy-fetch.service.js.map +0 -1
- package/dist/server/modules/orchestrator/sync/services/task-merge.service.d.ts +0 -42
- package/dist/server/modules/orchestrator/sync/services/task-merge.service.js +0 -698
- package/dist/server/modules/orchestrator/sync/services/task-merge.service.js.map +0 -1
- package/dist/server/modules/orchestrator/sync/sync.module.d.ts +0 -2
- package/dist/server/modules/orchestrator/sync/sync.module.js +0 -36
- package/dist/server/modules/orchestrator/sync/sync.module.js.map +0 -1
- package/dist/server/modules/orchestrator/ui/app/lib/worktrees.d.ts +0 -134
- package/dist/server/modules/orchestrator/ui/app/lib/worktrees.js +0 -334
- package/dist/server/modules/orchestrator/ui/app/lib/worktrees.js.map +0 -1
- package/dist/server/modules/orchestrator/ui/app/orchestrator-app.d.ts +0 -18
- package/dist/server/modules/orchestrator/ui/app/orchestrator-app.js +0 -890
- package/dist/server/modules/orchestrator/ui/app/orchestrator-app.js.map +0 -1
- package/dist/server/modules/orchestrator/worktrees/controllers/templates.controller.d.ts +0 -15
- package/dist/server/modules/orchestrator/worktrees/controllers/templates.controller.js +0 -85
- package/dist/server/modules/orchestrator/worktrees/controllers/templates.controller.js.map +0 -1
- package/dist/server/modules/orchestrator/worktrees/controllers/worktrees.controller.d.ts +0 -34
- package/dist/server/modules/orchestrator/worktrees/controllers/worktrees.controller.js +0 -326
- package/dist/server/modules/orchestrator/worktrees/controllers/worktrees.controller.js.map +0 -1
- package/dist/server/modules/orchestrator/worktrees/dtos/worktree.dto.d.ts +0 -122
- package/dist/server/modules/orchestrator/worktrees/dtos/worktree.dto.js +0 -57
- package/dist/server/modules/orchestrator/worktrees/dtos/worktree.dto.js.map +0 -1
- package/dist/server/modules/orchestrator/worktrees/events/worktree.events.d.ts +0 -4
- package/dist/server/modules/orchestrator/worktrees/events/worktree.events.js +0 -5
- package/dist/server/modules/orchestrator/worktrees/events/worktree.events.js.map +0 -1
- package/dist/server/modules/orchestrator/worktrees/index.d.ts +0 -7
- package/dist/server/modules/orchestrator/worktrees/index.js +0 -24
- package/dist/server/modules/orchestrator/worktrees/index.js.map +0 -1
- package/dist/server/modules/orchestrator/worktrees/local-worktrees.store.d.ts +0 -18
- package/dist/server/modules/orchestrator/worktrees/local-worktrees.store.js +0 -199
- package/dist/server/modules/orchestrator/worktrees/local-worktrees.store.js.map +0 -1
- package/dist/server/modules/orchestrator/worktrees/runtime/container-runtime.d.ts +0 -17
- package/dist/server/modules/orchestrator/worktrees/runtime/container-runtime.js +0 -59
- package/dist/server/modules/orchestrator/worktrees/runtime/container-runtime.js.map +0 -1
- package/dist/server/modules/orchestrator/worktrees/runtime/process-runtime.d.ts +0 -38
- package/dist/server/modules/orchestrator/worktrees/runtime/process-runtime.js +0 -296
- package/dist/server/modules/orchestrator/worktrees/runtime/process-runtime.js.map +0 -1
- package/dist/server/modules/orchestrator/worktrees/runtime/worktree-runtime.d.ts +0 -15
- package/dist/server/modules/orchestrator/worktrees/runtime/worktree-runtime.js +0 -3
- package/dist/server/modules/orchestrator/worktrees/runtime/worktree-runtime.js.map +0 -1
- package/dist/server/modules/orchestrator/worktrees/services/worktrees.service.d.ts +0 -89
- package/dist/server/modules/orchestrator/worktrees/services/worktrees.service.js +0 -1274
- package/dist/server/modules/orchestrator/worktrees/services/worktrees.service.js.map +0 -1
- package/dist/server/modules/orchestrator/worktrees/worktree-validation.d.ts +0 -4
- package/dist/server/modules/orchestrator/worktrees/worktree-validation.js +0 -43
- package/dist/server/modules/orchestrator/worktrees/worktree-validation.js.map +0 -1
- package/dist/server/modules/orchestrator/worktrees/worktrees.module.d.ts +0 -2
- package/dist/server/modules/orchestrator/worktrees/worktrees.module.js +0 -50
- package/dist/server/modules/orchestrator/worktrees/worktrees.module.js.map +0 -1
- package/dist/server/modules/orchestrator/worktrees/worktrees.store.d.ts +0 -38
- package/dist/server/modules/orchestrator/worktrees/worktrees.store.js +0 -5
- package/dist/server/modules/orchestrator/worktrees/worktrees.store.js.map +0 -1
- package/dist/server/modules/projects/services/main-project-bootstrap.service.d.ts +0 -11
- package/dist/server/modules/projects/services/main-project-bootstrap.service.js +0 -81
- package/dist/server/modules/projects/services/main-project-bootstrap.service.js.map +0 -1
- package/dist/server/ui/assets/ReviewDetailPage-10JU-Gdr.js +0 -1
- package/dist/server/ui/assets/ReviewsPage-BIVn-pS5.js +0 -6
- package/dist/server/ui/assets/index-Bg8fZbSZ.css +0 -32
- package/dist/server/ui/assets/index-DHmiffN1.js +0 -1000
- package/dist/server/ui/assets/useReviewSubscription-Xua63feT.js +0 -69
package/dist/cli.js
CHANGED
|
@@ -15,6 +15,9 @@ const { homedir, platform } = require('os');
|
|
|
15
15
|
const { spawn, execSync, execFileSync } = require('child_process');
|
|
16
16
|
const { pathToFileURL } = require('url');
|
|
17
17
|
const { InteractiveCLI } = require('./lib/interactive-cli');
|
|
18
|
+
const { runHostInstallCommand } = require('./lib/host-install');
|
|
19
|
+
const { runHostApiKeyReset } = require('./lib/host-api-key');
|
|
20
|
+
const { QUEUE_NAME, runExclusive } = require('./lib/exclusive-run');
|
|
18
21
|
const readline = require('readline');
|
|
19
22
|
|
|
20
23
|
// Resolve @devchain/shared across packed (dist/node_modules) and workspace (packages/shared
|
|
@@ -94,38 +97,6 @@ function isNewerVersion(latest, current) {
|
|
|
94
97
|
return false;
|
|
95
98
|
}
|
|
96
99
|
|
|
97
|
-
// ── Host helpers (delegated to @devchain/shared) ──────────────────────────────
|
|
98
|
-
|
|
99
|
-
async function _getHostResolver() {
|
|
100
|
-
const { HostResolver } = await import(resolveSharedModuleSpecifier());
|
|
101
|
-
return HostResolver;
|
|
102
|
-
}
|
|
103
|
-
|
|
104
|
-
async function resolveDevchainApiBaseUrlForRestart({
|
|
105
|
-
readPidFileFn = readPidFile,
|
|
106
|
-
isProcessRunningFn = isProcessRunning,
|
|
107
|
-
} = {}) {
|
|
108
|
-
const pidData = readPidFileFn();
|
|
109
|
-
if (!pidData || !Number.isFinite(Number(pidData.pid)) || !Number.isFinite(Number(pidData.port))) {
|
|
110
|
-
throw new Error(
|
|
111
|
-
'Image was rebuilt, but Devchain is not running. Start container mode first, then retry with --restart.',
|
|
112
|
-
);
|
|
113
|
-
}
|
|
114
|
-
|
|
115
|
-
const pid = Number(pidData.pid);
|
|
116
|
-
const port = Number(pidData.port);
|
|
117
|
-
if (!isProcessRunningFn(pid)) {
|
|
118
|
-
throw new Error(
|
|
119
|
-
'Image was rebuilt, but Devchain is not running. Start container mode first, then retry with --restart.',
|
|
120
|
-
);
|
|
121
|
-
}
|
|
122
|
-
|
|
123
|
-
const HostResolver = await _getHostResolver();
|
|
124
|
-
return HostResolver.buildInternalBaseUrl({ host: pidData.host || '127.0.0.1', port });
|
|
125
|
-
}
|
|
126
|
-
|
|
127
|
-
// ── End host helpers ──────────────────────────────────────────────────────────
|
|
128
|
-
|
|
129
100
|
function getChangelogBetweenVersions(changelog, fromVersion, toVersion) {
|
|
130
101
|
if (!changelog || typeof changelog !== 'object') return [];
|
|
131
102
|
|
|
@@ -159,49 +130,6 @@ function getChangelogBetweenVersions(changelog, fromVersion, toVersion) {
|
|
|
159
130
|
|
|
160
131
|
return changes;
|
|
161
132
|
}
|
|
162
|
-
|
|
163
|
-
function normalizeCliArgv(argv) {
|
|
164
|
-
const rawArgs = argv.slice(2);
|
|
165
|
-
const hasContainerFlag = rawArgs.includes('--container');
|
|
166
|
-
if (!hasContainerFlag) {
|
|
167
|
-
return argv;
|
|
168
|
-
}
|
|
169
|
-
|
|
170
|
-
const knownCommands = new Set(['start', 'stop', 'help']);
|
|
171
|
-
const hasKnownCommand = rawArgs.some((arg) => knownCommands.has(arg));
|
|
172
|
-
if (hasKnownCommand) {
|
|
173
|
-
return argv;
|
|
174
|
-
}
|
|
175
|
-
|
|
176
|
-
const passthrough = rawArgs.filter((arg) => arg !== '--container');
|
|
177
|
-
return [argv[0], argv[1], 'start', '--container', ...passthrough];
|
|
178
|
-
}
|
|
179
|
-
|
|
180
|
-
const WORKTREE_RUNTIME_TYPES = new Set(['container', 'process']);
|
|
181
|
-
|
|
182
|
-
function normalizeWorktreeRuntimeType(rawRuntimeType) {
|
|
183
|
-
if (typeof rawRuntimeType !== 'string') {
|
|
184
|
-
return null;
|
|
185
|
-
}
|
|
186
|
-
|
|
187
|
-
const normalized = rawRuntimeType.trim().toLowerCase();
|
|
188
|
-
if (!normalized) {
|
|
189
|
-
return null;
|
|
190
|
-
}
|
|
191
|
-
|
|
192
|
-
if (!WORKTREE_RUNTIME_TYPES.has(normalized)) {
|
|
193
|
-
throw new Error(
|
|
194
|
-
`Invalid --worktree-runtime value "${rawRuntimeType}". Expected one of: container, process.`,
|
|
195
|
-
);
|
|
196
|
-
}
|
|
197
|
-
|
|
198
|
-
return normalized;
|
|
199
|
-
}
|
|
200
|
-
|
|
201
|
-
function isWorktreeRuntimeModeEnabled(worktreeRuntimeType) {
|
|
202
|
-
return worktreeRuntimeType === 'container' || worktreeRuntimeType === 'process';
|
|
203
|
-
}
|
|
204
|
-
|
|
205
133
|
/**
|
|
206
134
|
* Detect which global package manager owns the devchain install.
|
|
207
135
|
*
|
|
@@ -270,7 +198,16 @@ function detectGlobalPackageManager(packageName, {
|
|
|
270
198
|
}
|
|
271
199
|
}
|
|
272
200
|
|
|
201
|
+
// The parent process checks once; dev mode and --no-update-check skip it (a local
|
|
202
|
+
// build would otherwise be offered the public version).
|
|
203
|
+
function shouldCheckForUpdates(opts) {
|
|
204
|
+
return !opts.internalDetachedChild && !opts.dev && opts.updateCheck !== false;
|
|
205
|
+
}
|
|
206
|
+
|
|
273
207
|
async function checkForUpdates(cli, askYesNoFn) {
|
|
208
|
+
// Without a terminal (a systemd service) nobody can answer, and an unattended
|
|
209
|
+
// update would move the installed version away from the one chosen for it.
|
|
210
|
+
if (!process.stdin.isTTY) return;
|
|
274
211
|
try {
|
|
275
212
|
const pkg = require('../package.json');
|
|
276
213
|
const currentVersion = pkg.version;
|
|
@@ -368,392 +305,9 @@ function detectInstalledProviders() {
|
|
|
368
305
|
return detected; // Map<name, absolutePath>
|
|
369
306
|
}
|
|
370
307
|
|
|
371
|
-
const ORCHESTRATOR_WORKTREE_IMAGE_REPO = 'ghcr.io/twitech-lab/devchain';
|
|
372
|
-
const WORKTREE_IMAGE_BUILD_TIMEOUT_MS = 30 * 60 * 1000;
|
|
373
|
-
|
|
374
308
|
function sleep(ms) {
|
|
375
309
|
return new Promise((resolve) => setTimeout(resolve, ms));
|
|
376
310
|
}
|
|
377
|
-
|
|
378
|
-
function ensureDockerAvailable(execSyncFn = execSync) {
|
|
379
|
-
try {
|
|
380
|
-
execSyncFn('docker info --format "{{.ID}}"', {
|
|
381
|
-
stdio: 'pipe',
|
|
382
|
-
timeout: 10000,
|
|
383
|
-
});
|
|
384
|
-
} catch (_) {
|
|
385
|
-
throw new Error('Container mode requires Docker. Please install Docker and try again.');
|
|
386
|
-
}
|
|
387
|
-
}
|
|
388
|
-
|
|
389
|
-
function isDockerAvailable(execSyncFn = execSync) {
|
|
390
|
-
try {
|
|
391
|
-
ensureDockerAvailable(execSyncFn);
|
|
392
|
-
return true;
|
|
393
|
-
} catch (_) {
|
|
394
|
-
return false;
|
|
395
|
-
}
|
|
396
|
-
}
|
|
397
|
-
|
|
398
|
-
function deriveRepoRootFromGit(execSyncFn = execSync) {
|
|
399
|
-
try {
|
|
400
|
-
const gitTopLevel = execSyncFn('git rev-parse --show-toplevel', {
|
|
401
|
-
encoding: 'utf8',
|
|
402
|
-
stdio: 'pipe',
|
|
403
|
-
timeout: 5000,
|
|
404
|
-
}).trim();
|
|
405
|
-
|
|
406
|
-
if (!gitTopLevel) {
|
|
407
|
-
throw new Error('empty-git-top-level');
|
|
408
|
-
}
|
|
409
|
-
|
|
410
|
-
process.env.REPO_ROOT = gitTopLevel;
|
|
411
|
-
return gitTopLevel;
|
|
412
|
-
} catch (_) {
|
|
413
|
-
throw new Error('Container mode must be run from within a git repository.');
|
|
414
|
-
}
|
|
415
|
-
}
|
|
416
|
-
|
|
417
|
-
function isInsideGitRepo(execSyncFn = execSync) {
|
|
418
|
-
const previousRepoRoot = process.env.REPO_ROOT;
|
|
419
|
-
try {
|
|
420
|
-
deriveRepoRootFromGit(execSyncFn);
|
|
421
|
-
return true;
|
|
422
|
-
} catch (_) {
|
|
423
|
-
return false;
|
|
424
|
-
} finally {
|
|
425
|
-
if (typeof previousRepoRoot === 'string') {
|
|
426
|
-
process.env.REPO_ROOT = previousRepoRoot;
|
|
427
|
-
} else {
|
|
428
|
-
delete process.env.REPO_ROOT;
|
|
429
|
-
}
|
|
430
|
-
}
|
|
431
|
-
}
|
|
432
|
-
|
|
433
|
-
function ensureProjectGitignoreIncludesDevchain(repoRoot) {
|
|
434
|
-
const normalizedRepoRoot = typeof repoRoot === 'string' ? repoRoot.trim() : '';
|
|
435
|
-
if (!normalizedRepoRoot || !existsSync(normalizedRepoRoot)) {
|
|
436
|
-
return;
|
|
437
|
-
}
|
|
438
|
-
|
|
439
|
-
const gitignorePath = join(normalizedRepoRoot, '.gitignore');
|
|
440
|
-
|
|
441
|
-
try {
|
|
442
|
-
const existingContent = existsSync(gitignorePath) ? readFileSync(gitignorePath, 'utf8') : '';
|
|
443
|
-
const alreadyIgnored = existingContent.split(/\r?\n/).some((line) => {
|
|
444
|
-
const trimmed = line.trim();
|
|
445
|
-
if (!trimmed || trimmed.startsWith('#')) {
|
|
446
|
-
return false;
|
|
447
|
-
}
|
|
448
|
-
return (
|
|
449
|
-
trimmed === '.devchain/' ||
|
|
450
|
-
trimmed === '/.devchain/' ||
|
|
451
|
-
trimmed === '.devchain' ||
|
|
452
|
-
trimmed === '/.devchain'
|
|
453
|
-
);
|
|
454
|
-
});
|
|
455
|
-
|
|
456
|
-
if (alreadyIgnored) {
|
|
457
|
-
return;
|
|
458
|
-
}
|
|
459
|
-
|
|
460
|
-
const delimiter = existingContent.length > 0 && !existingContent.endsWith('\n') ? '\n' : '';
|
|
461
|
-
writeFileSync(gitignorePath, `${existingContent}${delimiter}.devchain/\n`, 'utf8');
|
|
462
|
-
} catch (error) {
|
|
463
|
-
const message = error instanceof Error ? error.message : String(error);
|
|
464
|
-
console.warn(`Warning: unable to update project .gitignore with .devchain/ (${message})`);
|
|
465
|
-
}
|
|
466
|
-
}
|
|
467
|
-
|
|
468
|
-
function resolveRepoRootForDockerBuild(execSyncFn = execSync) {
|
|
469
|
-
const repoRootFromEnv = typeof process.env.REPO_ROOT === 'string' ? process.env.REPO_ROOT.trim() : '';
|
|
470
|
-
if (repoRootFromEnv) {
|
|
471
|
-
return repoRootFromEnv;
|
|
472
|
-
}
|
|
473
|
-
try {
|
|
474
|
-
return deriveRepoRootFromGit(execSyncFn);
|
|
475
|
-
} catch (_) {
|
|
476
|
-
return join(__dirname, '..');
|
|
477
|
-
}
|
|
478
|
-
}
|
|
479
|
-
|
|
480
|
-
function shouldSkipHostPreflights() {
|
|
481
|
-
// Parent process always runs host preflights (tmux, providers).
|
|
482
|
-
// Worktree children bypass runHostPreflightChecks() entirely via worktreeRuntimeMode guard.
|
|
483
|
-
return false;
|
|
484
|
-
}
|
|
485
|
-
|
|
486
|
-
function resolveWorktreeImageFromPackageVersion() {
|
|
487
|
-
const pkg = require('../package.json');
|
|
488
|
-
const version = typeof pkg?.version === 'string' ? pkg.version.trim() : '';
|
|
489
|
-
if (!version) {
|
|
490
|
-
throw new Error('Unable to resolve CLI package version for worktree image provisioning.');
|
|
491
|
-
}
|
|
492
|
-
return `${ORCHESTRATOR_WORKTREE_IMAGE_REPO}:${version}`;
|
|
493
|
-
}
|
|
494
|
-
|
|
495
|
-
function hasWorktreeImageLocally(imageRef, execSyncFn = execSync) {
|
|
496
|
-
try {
|
|
497
|
-
execSyncFn(`docker image inspect ${imageRef}`, {
|
|
498
|
-
stdio: 'pipe',
|
|
499
|
-
timeout: 15000,
|
|
500
|
-
});
|
|
501
|
-
return true;
|
|
502
|
-
} catch (_) {
|
|
503
|
-
return false;
|
|
504
|
-
}
|
|
505
|
-
}
|
|
506
|
-
|
|
507
|
-
function buildWorktreeImage({
|
|
508
|
-
imageRef = resolveWorktreeImageFromPackageVersion(),
|
|
509
|
-
execSyncFn = execSync,
|
|
510
|
-
} = {}) {
|
|
511
|
-
const repoRoot = resolveRepoRootForDockerBuild(execSyncFn);
|
|
512
|
-
const dockerfilePath = join(repoRoot, 'apps', 'local-app', 'Dockerfile');
|
|
513
|
-
console.log(`Building worktree image: ${imageRef}`);
|
|
514
|
-
try {
|
|
515
|
-
execSyncFn(
|
|
516
|
-
`docker build -f "${dockerfilePath}" -t ${imageRef} "${repoRoot}"`,
|
|
517
|
-
{
|
|
518
|
-
stdio: 'inherit',
|
|
519
|
-
timeout: WORKTREE_IMAGE_BUILD_TIMEOUT_MS,
|
|
520
|
-
},
|
|
521
|
-
);
|
|
522
|
-
console.log(`Built worktree image: ${imageRef}`);
|
|
523
|
-
return imageRef;
|
|
524
|
-
} catch (error) {
|
|
525
|
-
const message = error instanceof Error ? error.message : String(error);
|
|
526
|
-
throw new Error(
|
|
527
|
-
[
|
|
528
|
-
`Failed to build worktree image: ${imageRef}`,
|
|
529
|
-
`Reason: ${message}`,
|
|
530
|
-
`Try manually: docker build -f "${dockerfilePath}" -t ${imageRef} "${repoRoot}"`,
|
|
531
|
-
].join('\n'),
|
|
532
|
-
);
|
|
533
|
-
}
|
|
534
|
-
}
|
|
535
|
-
|
|
536
|
-
function normalizeWorktreeListPayload(payload) {
|
|
537
|
-
if (Array.isArray(payload)) {
|
|
538
|
-
return payload;
|
|
539
|
-
}
|
|
540
|
-
if (payload && typeof payload === 'object' && Array.isArray(payload.items)) {
|
|
541
|
-
return payload.items;
|
|
542
|
-
}
|
|
543
|
-
throw new Error('Unexpected response shape from /api/worktrees.');
|
|
544
|
-
}
|
|
545
|
-
|
|
546
|
-
async function restartRunningWorktrees({
|
|
547
|
-
baseUrl,
|
|
548
|
-
fetchFn = fetch,
|
|
549
|
-
} = {}) {
|
|
550
|
-
if (!baseUrl || typeof baseUrl !== 'string') {
|
|
551
|
-
throw new Error('A baseUrl is required to restart running worktrees.');
|
|
552
|
-
}
|
|
553
|
-
|
|
554
|
-
const listRes = await fetchFn(`${baseUrl}/api/worktrees`);
|
|
555
|
-
if (!listRes.ok) {
|
|
556
|
-
throw new Error(`Failed to list worktrees for restart (HTTP ${listRes.status}).`);
|
|
557
|
-
}
|
|
558
|
-
|
|
559
|
-
const worktrees = normalizeWorktreeListPayload(await listRes.json());
|
|
560
|
-
const runningWorktrees = worktrees.filter(
|
|
561
|
-
(worktree) => String(worktree?.status || '').toLowerCase() === 'running',
|
|
562
|
-
);
|
|
563
|
-
|
|
564
|
-
if (runningWorktrees.length === 0) {
|
|
565
|
-
console.log('No running worktrees found. Build completed without restarts.');
|
|
566
|
-
return 0;
|
|
567
|
-
}
|
|
568
|
-
|
|
569
|
-
console.log(`Restarting ${runningWorktrees.length} running worktree(s)...`);
|
|
570
|
-
for (const worktree of runningWorktrees) {
|
|
571
|
-
const worktreeId = typeof worktree?.id === 'string' ? worktree.id.trim() : '';
|
|
572
|
-
const worktreeName =
|
|
573
|
-
typeof worktree?.name === 'string' && worktree.name.trim()
|
|
574
|
-
? worktree.name.trim()
|
|
575
|
-
: worktreeId || 'unknown';
|
|
576
|
-
|
|
577
|
-
if (!worktreeId) {
|
|
578
|
-
throw new Error('Cannot restart worktree without an id from /api/worktrees response.');
|
|
579
|
-
}
|
|
580
|
-
|
|
581
|
-
console.log(`Stopping worktree "${worktreeName}"...`);
|
|
582
|
-
const stopRes = await fetchFn(`${baseUrl}/api/worktrees/${encodeURIComponent(worktreeId)}/stop`, {
|
|
583
|
-
method: 'POST',
|
|
584
|
-
});
|
|
585
|
-
if (!stopRes.ok) {
|
|
586
|
-
throw new Error(`Failed stopping worktree "${worktreeName}" (HTTP ${stopRes.status}).`);
|
|
587
|
-
}
|
|
588
|
-
|
|
589
|
-
console.log(`Starting worktree "${worktreeName}"...`);
|
|
590
|
-
const startRes = await fetchFn(`${baseUrl}/api/worktrees/${encodeURIComponent(worktreeId)}/start`, {
|
|
591
|
-
method: 'POST',
|
|
592
|
-
});
|
|
593
|
-
if (!startRes.ok) {
|
|
594
|
-
throw new Error(`Failed starting worktree "${worktreeName}" (HTTP ${startRes.status}).`);
|
|
595
|
-
}
|
|
596
|
-
}
|
|
597
|
-
|
|
598
|
-
console.log('Worktree restart complete.');
|
|
599
|
-
return runningWorktrees.length;
|
|
600
|
-
}
|
|
601
|
-
|
|
602
|
-
async function ensureWorktreeImage({
|
|
603
|
-
execSyncFn = execSync,
|
|
604
|
-
onMissing = 'pull',
|
|
605
|
-
} = {}) {
|
|
606
|
-
const existingImageOverride =
|
|
607
|
-
typeof process.env.ORCHESTRATOR_CONTAINER_IMAGE === 'string'
|
|
608
|
-
? process.env.ORCHESTRATOR_CONTAINER_IMAGE.trim()
|
|
609
|
-
: '';
|
|
610
|
-
if (existingImageOverride) {
|
|
611
|
-
process.env.ORCHESTRATOR_CONTAINER_IMAGE = existingImageOverride;
|
|
612
|
-
console.log(`Using worktree image override: ${existingImageOverride}`);
|
|
613
|
-
return existingImageOverride;
|
|
614
|
-
}
|
|
615
|
-
|
|
616
|
-
const imageRef = resolveWorktreeImageFromPackageVersion();
|
|
617
|
-
|
|
618
|
-
if (hasWorktreeImageLocally(imageRef, execSyncFn)) {
|
|
619
|
-
console.log(`Using local worktree image: ${imageRef}`);
|
|
620
|
-
} else if (onMissing === 'build') {
|
|
621
|
-
console.log(`Local worktree image missing: ${imageRef}`);
|
|
622
|
-
buildWorktreeImage({ imageRef, execSyncFn });
|
|
623
|
-
} else if (onMissing === 'pull') {
|
|
624
|
-
console.log(`Pulling worktree image: ${imageRef}`);
|
|
625
|
-
try {
|
|
626
|
-
execSyncFn(`docker pull ${imageRef}`, {
|
|
627
|
-
stdio: 'inherit',
|
|
628
|
-
timeout: 300000,
|
|
629
|
-
});
|
|
630
|
-
console.log(`Pulled worktree image: ${imageRef}`);
|
|
631
|
-
} catch (error) {
|
|
632
|
-
const message = error instanceof Error ? error.message : String(error);
|
|
633
|
-
throw new Error(
|
|
634
|
-
[
|
|
635
|
-
`Failed to pull worktree image: ${imageRef}`,
|
|
636
|
-
`Reason: ${message}`,
|
|
637
|
-
`Try manually: docker pull ${imageRef}`,
|
|
638
|
-
`Or build locally: docker build -t ${imageRef} -f apps/local-app/Dockerfile .`,
|
|
639
|
-
].join('\n'),
|
|
640
|
-
);
|
|
641
|
-
}
|
|
642
|
-
} else {
|
|
643
|
-
throw new Error(`Invalid ensureWorktreeImage onMissing strategy: ${onMissing}`);
|
|
644
|
-
}
|
|
645
|
-
|
|
646
|
-
process.env.ORCHESTRATOR_CONTAINER_IMAGE = imageRef;
|
|
647
|
-
return imageRef;
|
|
648
|
-
}
|
|
649
|
-
|
|
650
|
-
function ensureWorktreeImageRefFromPackageVersion() {
|
|
651
|
-
const existingImageOverride =
|
|
652
|
-
typeof process.env.ORCHESTRATOR_CONTAINER_IMAGE === 'string'
|
|
653
|
-
? process.env.ORCHESTRATOR_CONTAINER_IMAGE.trim()
|
|
654
|
-
: '';
|
|
655
|
-
if (existingImageOverride) {
|
|
656
|
-
process.env.ORCHESTRATOR_CONTAINER_IMAGE = existingImageOverride;
|
|
657
|
-
return existingImageOverride;
|
|
658
|
-
}
|
|
659
|
-
|
|
660
|
-
const imageRef = resolveWorktreeImageFromPackageVersion();
|
|
661
|
-
process.env.ORCHESTRATOR_CONTAINER_IMAGE = imageRef;
|
|
662
|
-
return imageRef;
|
|
663
|
-
}
|
|
664
|
-
|
|
665
|
-
async function bootstrapContainerMode({
|
|
666
|
-
execSyncFn = execSync,
|
|
667
|
-
} = {}) {
|
|
668
|
-
let repoRoot;
|
|
669
|
-
try {
|
|
670
|
-
repoRoot = deriveRepoRootFromGit(execSyncFn);
|
|
671
|
-
} catch (_) {
|
|
672
|
-
// Not inside a git repo — skip repo-specific setup, orchestration still works
|
|
673
|
-
}
|
|
674
|
-
if (repoRoot) {
|
|
675
|
-
ensureProjectGitignoreIncludesDevchain(repoRoot);
|
|
676
|
-
}
|
|
677
|
-
ensureWorktreeImageRefFromPackageVersion();
|
|
678
|
-
}
|
|
679
|
-
|
|
680
|
-
function formatOrchestrationDetectionFailureReason({
|
|
681
|
-
skippedByEnvNormal = false,
|
|
682
|
-
dockerAvailable = false,
|
|
683
|
-
insideGitRepo = false,
|
|
684
|
-
} = {}) {
|
|
685
|
-
if (skippedByEnvNormal) {
|
|
686
|
-
return 'DEVCHAIN_MODE=normal override is active';
|
|
687
|
-
}
|
|
688
|
-
|
|
689
|
-
const missing = [];
|
|
690
|
-
if (!dockerAvailable) {
|
|
691
|
-
missing.push('Docker is unavailable');
|
|
692
|
-
}
|
|
693
|
-
if (!insideGitRepo) {
|
|
694
|
-
missing.push('current directory is not inside a git repository');
|
|
695
|
-
}
|
|
696
|
-
|
|
697
|
-
if (missing.length === 0) {
|
|
698
|
-
return 'orchestration prerequisites are not met';
|
|
699
|
-
}
|
|
700
|
-
if (missing.length === 1) {
|
|
701
|
-
return missing[0];
|
|
702
|
-
}
|
|
703
|
-
return `${missing.slice(0, -1).join(', ')} and ${missing[missing.length - 1]}`;
|
|
704
|
-
}
|
|
705
|
-
|
|
706
|
-
async function resolveStartupOrchestration({
|
|
707
|
-
forceContainer = false,
|
|
708
|
-
env = process.env,
|
|
709
|
-
execSyncFn = execSync,
|
|
710
|
-
bootstrapContainerModeFn = bootstrapContainerMode,
|
|
711
|
-
warnFn = (message) => console.warn(message),
|
|
712
|
-
} = {}) {
|
|
713
|
-
const modeOverride = typeof env.DEVCHAIN_MODE === 'string' ? env.DEVCHAIN_MODE.trim() : '';
|
|
714
|
-
const skippedByEnvNormal = modeOverride.toLowerCase() === 'normal';
|
|
715
|
-
if (skippedByEnvNormal) {
|
|
716
|
-
if (forceContainer) {
|
|
717
|
-
throw new Error(
|
|
718
|
-
`--container requires orchestration, but ${formatOrchestrationDetectionFailureReason({ skippedByEnvNormal })}.`,
|
|
719
|
-
);
|
|
720
|
-
}
|
|
721
|
-
return {
|
|
722
|
-
enableOrchestration: false,
|
|
723
|
-
skippedByEnvNormal,
|
|
724
|
-
dockerAvailable: false,
|
|
725
|
-
insideGitRepo: false,
|
|
726
|
-
};
|
|
727
|
-
}
|
|
728
|
-
|
|
729
|
-
const dockerAvailable = isDockerAvailable(execSyncFn);
|
|
730
|
-
const insideGitRepo = isInsideGitRepo(execSyncFn);
|
|
731
|
-
|
|
732
|
-
if (!dockerAvailable && forceContainer) {
|
|
733
|
-
throw new Error(
|
|
734
|
-
`--container requires Docker, but ${formatOrchestrationDetectionFailureReason({ dockerAvailable, insideGitRepo })}.`,
|
|
735
|
-
);
|
|
736
|
-
}
|
|
737
|
-
|
|
738
|
-
try {
|
|
739
|
-
await bootstrapContainerModeFn({
|
|
740
|
-
execSyncFn,
|
|
741
|
-
});
|
|
742
|
-
} catch (error) {
|
|
743
|
-
// Bootstrap is best-effort (e.g. non-git directory); log but don't block orchestration
|
|
744
|
-
const message = error instanceof Error ? error.message : String(error);
|
|
745
|
-
warnFn(`Orchestration bootstrap note: ${message}`);
|
|
746
|
-
}
|
|
747
|
-
|
|
748
|
-
env.DEVCHAIN_MODE = 'main';
|
|
749
|
-
return {
|
|
750
|
-
enableOrchestration: true,
|
|
751
|
-
skippedByEnvNormal: false,
|
|
752
|
-
dockerAvailable,
|
|
753
|
-
insideGitRepo,
|
|
754
|
-
};
|
|
755
|
-
}
|
|
756
|
-
|
|
757
311
|
async function ensureProvidersInDb(baseUrl, detected, log) {
|
|
758
312
|
try {
|
|
759
313
|
const res = await fetch(`${baseUrl}/api/providers`);
|
|
@@ -902,6 +456,8 @@ async function validateMcpForProviders(baseUrl, cli, opts, log, projectPath) {
|
|
|
902
456
|
}
|
|
903
457
|
|
|
904
458
|
function askYesNo(question, defaultYes = false) {
|
|
459
|
+
// End of input would read as Ctrl+D and exit; without a terminal take the default.
|
|
460
|
+
if (!process.stdin.isTTY) return Promise.resolve(defaultYes);
|
|
905
461
|
return new Promise((resolve) => {
|
|
906
462
|
const rl = readline.createInterface({
|
|
907
463
|
input: process.stdin,
|
|
@@ -1028,6 +584,35 @@ function removePidFile() {
|
|
|
1028
584
|
}
|
|
1029
585
|
}
|
|
1030
586
|
|
|
587
|
+
// A claimed VM has the claim record; home never does.
|
|
588
|
+
function getMachineRole(env = process.env) {
|
|
589
|
+
const etcDir = env.DEVCHAIN_HOST_ETC_DIR || '/etc/devchain-host';
|
|
590
|
+
return existsSync(join(etcDir, 'claim.json')) ? 'remote VM' : 'home';
|
|
591
|
+
}
|
|
592
|
+
|
|
593
|
+
const SUDO_CHECK_TIMEOUT_MS = 5000;
|
|
594
|
+
|
|
595
|
+
/**
|
|
596
|
+
* Whether an agent can run `sudo` here without a person. `sudo -n` never
|
|
597
|
+
* prompts: it fails when a password would be needed.
|
|
598
|
+
*/
|
|
599
|
+
function getSudoStatus({
|
|
600
|
+
platformName = platform(),
|
|
601
|
+
getuid = process.getuid,
|
|
602
|
+
execFileSyncFn = execFileSync,
|
|
603
|
+
} = {}) {
|
|
604
|
+
if (platformName === 'win32') return 'not available on Windows';
|
|
605
|
+
if (typeof getuid === 'function' && getuid() === 0) return 'yes (running as root)';
|
|
606
|
+
try {
|
|
607
|
+
execFileSyncFn('sudo', ['-n', 'true'], { stdio: 'ignore', timeout: SUDO_CHECK_TIMEOUT_MS });
|
|
608
|
+
return 'yes (no password)';
|
|
609
|
+
} catch (error) {
|
|
610
|
+
if (error && error.code === 'ENOENT') return 'not installed';
|
|
611
|
+
if (error && error.code === 'ETIMEDOUT') return 'unknown (sudo did not answer in 5 s)';
|
|
612
|
+
return 'needs a password';
|
|
613
|
+
}
|
|
614
|
+
}
|
|
615
|
+
|
|
1031
616
|
function isProcessRunning(pid) {
|
|
1032
617
|
try {
|
|
1033
618
|
// Sending signal 0 checks if process exists without killing it
|
|
@@ -1120,7 +705,6 @@ function getTmuxErrorMessage(osType) {
|
|
|
1120
705
|
|
|
1121
706
|
async function runHostPreflightChecks(
|
|
1122
707
|
{
|
|
1123
|
-
enableOrchestration,
|
|
1124
708
|
opts,
|
|
1125
709
|
cli,
|
|
1126
710
|
log,
|
|
@@ -1135,17 +719,9 @@ async function runHostPreflightChecks(
|
|
|
1135
719
|
platformFn = platform,
|
|
1136
720
|
} = {},
|
|
1137
721
|
) {
|
|
1138
|
-
const skipHostPreflights = shouldSkipHostPreflights(enableOrchestration);
|
|
1139
|
-
|
|
1140
722
|
// Tmux preflight check
|
|
1141
723
|
const skipTmuxCheck = process.env.DEVCHAIN_SKIP_TMUX_CHECK === '1';
|
|
1142
|
-
if (
|
|
1143
|
-
if (opts.foreground) {
|
|
1144
|
-
log('info', 'Skipping tmux check in container mode', { skipReason: 'container_mode' });
|
|
1145
|
-
} else {
|
|
1146
|
-
cli.info('Skipping tmux check in container mode');
|
|
1147
|
-
}
|
|
1148
|
-
} else if (skipTmuxCheck) {
|
|
724
|
+
if (skipTmuxCheck) {
|
|
1149
725
|
if (opts.foreground) {
|
|
1150
726
|
log('info', 'Skipping tmux check (DEVCHAIN_SKIP_TMUX_CHECK=1)', { skipReason: 'env_var' });
|
|
1151
727
|
} else {
|
|
@@ -1196,13 +772,7 @@ async function runHostPreflightChecks(
|
|
|
1196
772
|
// Provider detection (Linux/macOS only)
|
|
1197
773
|
const skipProviderCheck = process.env.DEVCHAIN_SKIP_PROVIDER_CHECK === '1';
|
|
1198
774
|
const plat = platformFn();
|
|
1199
|
-
if (
|
|
1200
|
-
if (opts.foreground) {
|
|
1201
|
-
log('info', 'Skipping provider check in container mode', { skipReason: 'container_mode' });
|
|
1202
|
-
} else {
|
|
1203
|
-
cli.info('Skipping provider check in container mode');
|
|
1204
|
-
}
|
|
1205
|
-
} else if (skipProviderCheck) {
|
|
775
|
+
if (skipProviderCheck) {
|
|
1206
776
|
if (opts.foreground) {
|
|
1207
777
|
log('info', 'Skipping provider check (DEVCHAIN_SKIP_PROVIDER_CHECK=1)', {
|
|
1208
778
|
skipReason: 'env_var',
|
|
@@ -1270,16 +840,7 @@ async function runHostPreflightChecks(
|
|
|
1270
840
|
}
|
|
1271
841
|
}
|
|
1272
842
|
|
|
1273
|
-
function getDevUiConfig(
|
|
1274
|
-
if (containerMode) {
|
|
1275
|
-
return {
|
|
1276
|
-
script: 'dev:ui',
|
|
1277
|
-
startMessage: 'Starting UI (dev mode)...',
|
|
1278
|
-
logLabel: 'UI dev server',
|
|
1279
|
-
url: 'http://127.0.0.1:5175',
|
|
1280
|
-
};
|
|
1281
|
-
}
|
|
1282
|
-
|
|
843
|
+
function getDevUiConfig() {
|
|
1283
844
|
return {
|
|
1284
845
|
script: 'dev:ui',
|
|
1285
846
|
startMessage: 'Starting UI (dev mode)...',
|
|
@@ -1288,29 +849,15 @@ function getDevUiConfig(containerMode) {
|
|
|
1288
849
|
};
|
|
1289
850
|
}
|
|
1290
851
|
|
|
1291
|
-
function
|
|
1292
|
-
if (!containerMode) {
|
|
1293
|
-
return;
|
|
1294
|
-
}
|
|
1295
|
-
|
|
1296
|
-
const hasExplicitPortEnv = typeof env.PORT === 'string' && env.PORT.trim() !== '';
|
|
1297
|
-
if (!opts.port && !hasExplicitPortEnv) {
|
|
1298
|
-
env.PORT = '3000';
|
|
1299
|
-
}
|
|
1300
|
-
}
|
|
1301
|
-
|
|
1302
|
-
function getPreferredDevApiPort(optsPort, containerMode, env = process.env) {
|
|
852
|
+
function getPreferredDevApiPort(optsPort) {
|
|
1303
853
|
if (optsPort) {
|
|
1304
854
|
return Number(optsPort);
|
|
1305
855
|
}
|
|
1306
|
-
if (containerMode) {
|
|
1307
|
-
return Number(env.PORT || 3000);
|
|
1308
|
-
}
|
|
1309
856
|
return 3000;
|
|
1310
857
|
}
|
|
1311
858
|
|
|
1312
|
-
function getDevModeSpawnConfig({
|
|
1313
|
-
const ui = getDevUiConfig(
|
|
859
|
+
function getDevModeSpawnConfig({ port, env = process.env }) {
|
|
860
|
+
const ui = getDevUiConfig();
|
|
1314
861
|
return {
|
|
1315
862
|
ui,
|
|
1316
863
|
nest: {
|
|
@@ -1332,8 +879,7 @@ async function main(argv) {
|
|
|
1332
879
|
program
|
|
1333
880
|
.name('devchain')
|
|
1334
881
|
.description('Devchain — Local-first AI agent orchestration')
|
|
1335
|
-
.version(pkg.version)
|
|
1336
|
-
.option('--container', 'Shorthand for "start --container"');
|
|
882
|
+
.version(pkg.version);
|
|
1337
883
|
|
|
1338
884
|
const startCommand = program
|
|
1339
885
|
.command('start [args...]')
|
|
@@ -1345,14 +891,6 @@ async function main(argv) {
|
|
|
1345
891
|
.option('--no-open', 'Do not open a browser window')
|
|
1346
892
|
.option('--db <path>', 'Path to database directory or file (overrides DB_PATH/DB_FILENAME)')
|
|
1347
893
|
.option('--project <path>', 'Initial project root path; creates project if missing')
|
|
1348
|
-
.option(
|
|
1349
|
-
'--container',
|
|
1350
|
-
'Force orchestration startup (errors if Docker or git repository prerequisites are missing)'
|
|
1351
|
-
)
|
|
1352
|
-
.option(
|
|
1353
|
-
'--worktree-runtime <type>',
|
|
1354
|
-
'[internal] Worktree runtime context (container|process); bypasses singleton and interactive startup flows',
|
|
1355
|
-
)
|
|
1356
894
|
.option(
|
|
1357
895
|
'--log-level <level>',
|
|
1358
896
|
'Set log verbosity: error (errors only), warn, info, debug, or trace. ' +
|
|
@@ -1361,25 +899,11 @@ async function main(argv) {
|
|
|
1361
899
|
)
|
|
1362
900
|
.option('--dev', 'Development mode with hot reload (spawns nest --watch + vite)')
|
|
1363
901
|
.option('--no-cloud', 'Disable Cloud and Notifications UI features for this run')
|
|
902
|
+
.option('--no-update-check', 'Do not check npm for a newer devchain at start')
|
|
1364
903
|
.option('--internal-detached-child', '[internal] Marker for detached child process')
|
|
1365
904
|
.action(async (rawArgs, opts) => {
|
|
1366
905
|
const { HostResolver } = await import(resolveSharedModuleSpecifier());
|
|
1367
906
|
const args = Array.isArray(rawArgs) ? [...rawArgs] : [];
|
|
1368
|
-
const usesContainerSubcommand = args[0] === 'container';
|
|
1369
|
-
if (usesContainerSubcommand) {
|
|
1370
|
-
args.shift();
|
|
1371
|
-
}
|
|
1372
|
-
const forceContainer = Boolean(
|
|
1373
|
-
opts.container || program.opts().container || usesContainerSubcommand,
|
|
1374
|
-
);
|
|
1375
|
-
let worktreeRuntimeType = null;
|
|
1376
|
-
try {
|
|
1377
|
-
worktreeRuntimeType = normalizeWorktreeRuntimeType(opts.worktreeRuntime);
|
|
1378
|
-
} catch (error) {
|
|
1379
|
-
console.error(error instanceof Error ? error.message : 'Invalid --worktree-runtime value.');
|
|
1380
|
-
process.exit(1);
|
|
1381
|
-
}
|
|
1382
|
-
const worktreeRuntimeMode = isWorktreeRuntimeModeEnabled(worktreeRuntimeType);
|
|
1383
907
|
// Cloud UI is on by default. Commander defaults opts.cloud to `true`
|
|
1384
908
|
// and sets it to `false` only when --no-cloud is passed.
|
|
1385
909
|
if (opts.cloud === false) {
|
|
@@ -1393,7 +917,7 @@ async function main(argv) {
|
|
|
1393
917
|
}
|
|
1394
918
|
|
|
1395
919
|
// Check if already running (skip for detached child - parent already checked)
|
|
1396
|
-
if (!opts.internalDetachedChild
|
|
920
|
+
if (!opts.internalDetachedChild) {
|
|
1397
921
|
const existingPid = readPidFile();
|
|
1398
922
|
if (existingPid && isProcessRunning(existingPid.pid)) {
|
|
1399
923
|
console.error(`Devchain is already running (PID ${existingPid.pid}, port ${existingPid.port})`);
|
|
@@ -1409,19 +933,16 @@ async function main(argv) {
|
|
|
1409
933
|
|
|
1410
934
|
// Normalize defaults for negatable options (Commander may leave undefined)
|
|
1411
935
|
if (typeof opts.open === 'undefined') {
|
|
1412
|
-
opts.open =
|
|
1413
|
-
}
|
|
1414
|
-
if (worktreeRuntimeMode) {
|
|
1415
|
-
opts.open = false;
|
|
936
|
+
opts.open = true;
|
|
1416
937
|
}
|
|
1417
938
|
// Detached mode by default, unless foreground is explicitly requested
|
|
1418
939
|
// Don't detach again if we're already the detached child process
|
|
1419
940
|
const isDetachedChild = Boolean(opts.internalDetachedChild);
|
|
1420
|
-
const shouldDetach = opts.foreground !== true && !isDetachedChild
|
|
941
|
+
const shouldDetach = opts.foreground !== true && !isDetachedChild;
|
|
1421
942
|
|
|
1422
943
|
// Initialize interactive CLI (user-friendly output unless in foreground mode)
|
|
1423
944
|
const cli = new InteractiveCLI({
|
|
1424
|
-
interactive: !opts.foreground && !isDetachedChild
|
|
945
|
+
interactive: !opts.foreground && !isDetachedChild,
|
|
1425
946
|
colors: true,
|
|
1426
947
|
spinners: true
|
|
1427
948
|
});
|
|
@@ -1431,69 +952,26 @@ async function main(argv) {
|
|
|
1431
952
|
console.log(JSON.stringify(entry));
|
|
1432
953
|
};
|
|
1433
954
|
|
|
1434
|
-
|
|
1435
|
-
if (worktreeRuntimeMode) {
|
|
1436
|
-
enableOrchestration = worktreeRuntimeType === 'container';
|
|
1437
|
-
} else {
|
|
1438
|
-
try {
|
|
1439
|
-
const orchestrationResolution = await resolveStartupOrchestration({
|
|
1440
|
-
forceContainer,
|
|
1441
|
-
env: process.env,
|
|
1442
|
-
warnFn: (message) => {
|
|
1443
|
-
if (opts.foreground) {
|
|
1444
|
-
log('warn', message);
|
|
1445
|
-
} else {
|
|
1446
|
-
cli.warn(message);
|
|
1447
|
-
}
|
|
1448
|
-
},
|
|
1449
|
-
});
|
|
1450
|
-
enableOrchestration = orchestrationResolution.enableOrchestration;
|
|
1451
|
-
} catch (error) {
|
|
1452
|
-
console.error(
|
|
1453
|
-
error instanceof Error
|
|
1454
|
-
? error.message
|
|
1455
|
-
: 'Failed to resolve orchestration startup prerequisites.',
|
|
1456
|
-
);
|
|
1457
|
-
process.exit(1);
|
|
1458
|
-
}
|
|
1459
|
-
}
|
|
1460
|
-
|
|
1461
|
-
applyContainerModeDefaults(enableOrchestration, opts, process.env);
|
|
1462
|
-
|
|
1463
|
-
// Check for updates (parent process only, skip in dev mode)
|
|
1464
|
-
if (!isDetachedChild && !opts.dev && !worktreeRuntimeMode) {
|
|
955
|
+
if (shouldCheckForUpdates(opts)) {
|
|
1465
956
|
await checkForUpdates(cli, askYesNo);
|
|
1466
957
|
}
|
|
1467
958
|
|
|
1468
959
|
// Show startup banner (interactive mode only)
|
|
1469
|
-
if (!opts.foreground
|
|
960
|
+
if (!opts.foreground) {
|
|
1470
961
|
cli.blank();
|
|
1471
962
|
cli.info('Starting Devchain...');
|
|
1472
963
|
cli.blank();
|
|
1473
964
|
}
|
|
1474
965
|
|
|
1475
|
-
|
|
1476
|
-
|
|
1477
|
-
|
|
1478
|
-
|
|
1479
|
-
|
|
1480
|
-
|
|
1481
|
-
isDetachedChild,
|
|
1482
|
-
});
|
|
1483
|
-
}
|
|
1484
|
-
|
|
1485
|
-
const preferPort = getPreferredDevApiPort(opts.port, enableOrchestration, process.env);
|
|
966
|
+
await runHostPreflightChecks({
|
|
967
|
+
opts,
|
|
968
|
+
cli,
|
|
969
|
+
log,
|
|
970
|
+
isDetachedChild,
|
|
971
|
+
});
|
|
1486
972
|
|
|
1487
|
-
|
|
1488
|
-
|
|
1489
|
-
// which causes the parent orchestrator to talk to the wrong instance.
|
|
1490
|
-
// Let NestJS fail fast with EADDRINUSE instead of silently rebinding.
|
|
1491
|
-
let port;
|
|
1492
|
-
if (worktreeRuntimeMode && preferPort) {
|
|
1493
|
-
port = preferPort;
|
|
1494
|
-
} else {
|
|
1495
|
-
port = await getPort({ port: preferPort });
|
|
1496
|
-
}
|
|
973
|
+
const preferPort = getPreferredDevApiPort(opts.port);
|
|
974
|
+
const port = await getPort({ port: preferPort });
|
|
1497
975
|
|
|
1498
976
|
// Resolve effective host before detach so child inherits normalized HOST env.
|
|
1499
977
|
// The --host flag also flows through childArgs (detach filter only strips --port
|
|
@@ -1508,12 +986,13 @@ async function main(argv) {
|
|
|
1508
986
|
process.env.HOST = effectiveHost;
|
|
1509
987
|
|
|
1510
988
|
// Security warning for non-loopback bind (before detach so parent terminal sees it)
|
|
1511
|
-
if (
|
|
989
|
+
if (HostResolver.isNonLoopbackHost(effectiveHost)) {
|
|
1512
990
|
console.error('');
|
|
1513
|
-
console.error(`⚠ DevChain is binding to ${effectiveHost}.
|
|
1514
|
-
console.error('
|
|
1515
|
-
console.error(' to anyone who can reach this address.
|
|
1516
|
-
console.error('
|
|
991
|
+
console.error(`⚠ DevChain is binding to ${effectiveHost}. This hand-started instance has`);
|
|
992
|
+
console.error(' no caller authentication; the API, terminals, MCP, and project files');
|
|
993
|
+
console.error(' are exposed to anyone who can reach this address. The VM API key');
|
|
994
|
+
console.error(' protects claimed remote VMs, not a hand-started instance. Use only on');
|
|
995
|
+
console.error(' a trusted network, VPN, or behind firewall rules.');
|
|
1517
996
|
if (opts.dev) {
|
|
1518
997
|
console.error('');
|
|
1519
998
|
console.error(' Note: --dev mode runs the UI on a separate Vite dev server bound to');
|
|
@@ -1626,7 +1105,6 @@ async function main(argv) {
|
|
|
1626
1105
|
|
|
1627
1106
|
// Spawn NestJS in watch mode (detached to create process group)
|
|
1628
1107
|
const devSpawnConfig = getDevModeSpawnConfig({
|
|
1629
|
-
containerMode: enableOrchestration,
|
|
1630
1108
|
port,
|
|
1631
1109
|
env: process.env,
|
|
1632
1110
|
});
|
|
@@ -1655,11 +1133,7 @@ async function main(argv) {
|
|
|
1655
1133
|
cli.info(`API docs: ${displayUrl}/api/docs`);
|
|
1656
1134
|
|
|
1657
1135
|
// Ensure provider rows exist
|
|
1658
|
-
if (
|
|
1659
|
-
!worktreeRuntimeMode
|
|
1660
|
-
&& opts.__providersDetected
|
|
1661
|
-
&& opts.__providersDetected.size > 0
|
|
1662
|
-
) {
|
|
1136
|
+
if (opts.__providersDetected && opts.__providersDetected.size > 0) {
|
|
1663
1137
|
await ensureProvidersInDb(internalBaseUrl, opts.__providersDetected, log);
|
|
1664
1138
|
}
|
|
1665
1139
|
|
|
@@ -1669,9 +1143,7 @@ async function main(argv) {
|
|
|
1669
1143
|
: process.cwd();
|
|
1670
1144
|
|
|
1671
1145
|
// Validate MCP for all providers
|
|
1672
|
-
|
|
1673
|
-
await validateMcpForProviders(internalBaseUrl, cli, opts, log, startupPath);
|
|
1674
|
-
}
|
|
1146
|
+
await validateMcpForProviders(internalBaseUrl, cli, opts, log, startupPath);
|
|
1675
1147
|
|
|
1676
1148
|
// Note: Claude bypass prompt already handled before server start
|
|
1677
1149
|
|
|
@@ -1694,10 +1166,8 @@ async function main(argv) {
|
|
|
1694
1166
|
cli.info(`API: ${displayUrl}`);
|
|
1695
1167
|
cli.blank();
|
|
1696
1168
|
|
|
1697
|
-
// Write PID file for
|
|
1698
|
-
|
|
1699
|
-
writePidFile(port, effectiveHost);
|
|
1700
|
-
}
|
|
1169
|
+
// Write PID file for stop command
|
|
1170
|
+
writePidFile(port, effectiveHost);
|
|
1701
1171
|
|
|
1702
1172
|
// Handle cleanup on exit - kill entire process groups, then wait for
|
|
1703
1173
|
// children to actually exit before removing the PID file and exiting.
|
|
@@ -1734,9 +1204,7 @@ async function main(argv) {
|
|
|
1734
1204
|
await waitWithTimeout(Promise.all([nestExited, viteExited]), SIGKILL_GRACE_MS);
|
|
1735
1205
|
}
|
|
1736
1206
|
|
|
1737
|
-
|
|
1738
|
-
removePidFile();
|
|
1739
|
-
}
|
|
1207
|
+
removePidFile();
|
|
1740
1208
|
process.exit(0);
|
|
1741
1209
|
};
|
|
1742
1210
|
|
|
@@ -1805,11 +1273,7 @@ async function main(argv) {
|
|
|
1805
1273
|
}
|
|
1806
1274
|
|
|
1807
1275
|
// Ensure provider rows exist (idempotent) before opening UI
|
|
1808
|
-
if (
|
|
1809
|
-
!worktreeRuntimeMode
|
|
1810
|
-
&& opts.__providersDetected
|
|
1811
|
-
&& opts.__providersDetected.size > 0
|
|
1812
|
-
) {
|
|
1276
|
+
if (opts.__providersDetected && opts.__providersDetected.size > 0) {
|
|
1813
1277
|
await ensureProvidersInDb(internalBaseUrl, opts.__providersDetected, log);
|
|
1814
1278
|
}
|
|
1815
1279
|
|
|
@@ -1819,9 +1283,7 @@ async function main(argv) {
|
|
|
1819
1283
|
: process.cwd();
|
|
1820
1284
|
|
|
1821
1285
|
// Validate MCP for all providers (with project context)
|
|
1822
|
-
|
|
1823
|
-
await validateMcpForProviders(internalBaseUrl, cli, opts, log, startupPath);
|
|
1824
|
-
}
|
|
1286
|
+
await validateMcpForProviders(internalBaseUrl, cli, opts, log, startupPath);
|
|
1825
1287
|
|
|
1826
1288
|
// Note: Claude bypass prompt already handled before server start (in parent process for detach mode)
|
|
1827
1289
|
|
|
@@ -1871,15 +1333,13 @@ async function main(argv) {
|
|
|
1871
1333
|
cli.blank();
|
|
1872
1334
|
}
|
|
1873
1335
|
|
|
1874
|
-
|
|
1875
|
-
|
|
1876
|
-
writePidFile(port, effectiveHost);
|
|
1336
|
+
// Write PID file for stop command
|
|
1337
|
+
writePidFile(port, effectiveHost);
|
|
1877
1338
|
|
|
1878
|
-
|
|
1879
|
-
|
|
1880
|
-
|
|
1881
|
-
|
|
1882
|
-
}
|
|
1339
|
+
// Clean up PID file on exit (main.ts handles SIGINT/SIGTERM and graceful shutdown)
|
|
1340
|
+
process.on('exit', () => {
|
|
1341
|
+
removePidFile();
|
|
1342
|
+
});
|
|
1883
1343
|
|
|
1884
1344
|
if (opts.open) {
|
|
1885
1345
|
if (!opts.foreground) {
|
|
@@ -1910,41 +1370,76 @@ async function main(argv) {
|
|
|
1910
1370
|
});
|
|
1911
1371
|
|
|
1912
1372
|
program
|
|
1913
|
-
.command('
|
|
1914
|
-
.
|
|
1915
|
-
.
|
|
1916
|
-
.action(async (
|
|
1917
|
-
|
|
1918
|
-
|
|
1919
|
-
|
|
1920
|
-
|
|
1373
|
+
.command('queue <name> [command...]')
|
|
1374
|
+
.usage('<name> -- <command> [args…]')
|
|
1375
|
+
.description('Run a command when no other command holds this queue for the OS user')
|
|
1376
|
+
.action(async (name, commandArgs, _options, queueCommand) => {
|
|
1377
|
+
if (!QUEUE_NAME.test(name)) {
|
|
1378
|
+
queueCommand.error(`queue name must match ${QUEUE_NAME.source}.`);
|
|
1379
|
+
}
|
|
1380
|
+
const input = program.rawArgs.slice(2);
|
|
1381
|
+
if (input[2] !== '--' || commandArgs.length === 0) {
|
|
1382
|
+
queueCommand.error('usage: devchain queue <name> -- <command> [args…]');
|
|
1383
|
+
}
|
|
1384
|
+
process.exitCode = await runExclusive({
|
|
1385
|
+
name,
|
|
1386
|
+
command: commandArgs[0],
|
|
1387
|
+
args: commandArgs.slice(1),
|
|
1388
|
+
});
|
|
1389
|
+
});
|
|
1921
1390
|
|
|
1922
|
-
|
|
1923
|
-
|
|
1924
|
-
|
|
1925
|
-
|
|
1391
|
+
const host = program.command('host').description('Manage DevChain hosts');
|
|
1392
|
+
|
|
1393
|
+
host
|
|
1394
|
+
.command('install')
|
|
1395
|
+
.description('Install DevChain on an Ubuntu or Debian VM over SSH')
|
|
1396
|
+
.option('--address <address>', 'VM address (for example, 192.168.1.20:3000)')
|
|
1397
|
+
.option('--ssh-user <user>', 'SSH account on the VM')
|
|
1398
|
+
.option('--password-stdin', 'Read the SSH password from one line of stdin')
|
|
1399
|
+
.option('--key <path>', 'SSH private key file')
|
|
1400
|
+
.option('--passphrase-stdin', 'Read the SSH key passphrase from one line of stdin')
|
|
1401
|
+
.option('--sudo-password-stdin', 'Read the optional sudo password from one line of stdin')
|
|
1402
|
+
.option('--projects <project-ids...>', 'Project ids to include in the disk estimate')
|
|
1403
|
+
.option('--no-docker', 'Do not install Docker Engine and Compose on the VM (installed by default)')
|
|
1404
|
+
.option(
|
|
1405
|
+
'--provider-auth <provider=choice>',
|
|
1406
|
+
'Provider login choice: skip, generate, or reuse:<entry-id> (repeatable)',
|
|
1407
|
+
(value, previous) => [...(previous || []), value],
|
|
1408
|
+
)
|
|
1409
|
+
.action(async (options) => {
|
|
1410
|
+
const exitCode = await runHostInstallCommand(options, {
|
|
1411
|
+
getLocalApiBaseUrl: async () => {
|
|
1412
|
+
const pidData = readPidFile();
|
|
1413
|
+
if (!pidData || !isProcessRunning(pidData.pid)) return null;
|
|
1414
|
+
const { HostResolver } = await import(resolveSharedModuleSpecifier());
|
|
1415
|
+
return HostResolver.buildInternalBaseUrl({
|
|
1416
|
+
host: pidData.host || '127.0.0.1',
|
|
1417
|
+
port: pidData.port,
|
|
1418
|
+
});
|
|
1419
|
+
},
|
|
1420
|
+
});
|
|
1421
|
+
process.exitCode = exitCode;
|
|
1422
|
+
});
|
|
1926
1423
|
|
|
1927
|
-
|
|
1928
|
-
|
|
1929
|
-
|
|
1930
|
-
|
|
1931
|
-
|
|
1932
|
-
|
|
1933
|
-
|
|
1934
|
-
|
|
1935
|
-
|
|
1936
|
-
|
|
1424
|
+
host
|
|
1425
|
+
.command('api-key')
|
|
1426
|
+
.description('Manage this VM host API key')
|
|
1427
|
+
.command('reset')
|
|
1428
|
+
.description(
|
|
1429
|
+
'Generate a new host API key, store its SHA-256 hash on this VM, and print the key once',
|
|
1430
|
+
)
|
|
1431
|
+
.action(() => {
|
|
1432
|
+
process.exitCode = runHostApiKeyReset();
|
|
1433
|
+
});
|
|
1937
1434
|
|
|
1938
|
-
|
|
1939
|
-
|
|
1940
|
-
|
|
1941
|
-
|
|
1942
|
-
|
|
1943
|
-
|
|
1944
|
-
|
|
1945
|
-
|
|
1946
|
-
process.exit(1);
|
|
1947
|
-
}
|
|
1435
|
+
program
|
|
1436
|
+
.command('status')
|
|
1437
|
+
.description(
|
|
1438
|
+
'Show whether this machine is home or a remote DevChain VM, and whether sudo works without a password',
|
|
1439
|
+
)
|
|
1440
|
+
.action(() => {
|
|
1441
|
+
console.log(getMachineRole());
|
|
1442
|
+
console.log(`sudo: ${getSudoStatus()}`);
|
|
1948
1443
|
});
|
|
1949
1444
|
|
|
1950
1445
|
program
|
|
@@ -2000,7 +1495,7 @@ async function main(argv) {
|
|
|
2000
1495
|
process.exit(0);
|
|
2001
1496
|
});
|
|
2002
1497
|
|
|
2003
|
-
await program.parseAsync(
|
|
1498
|
+
await program.parseAsync(argv);
|
|
2004
1499
|
}
|
|
2005
1500
|
|
|
2006
1501
|
if (require.main === module) {
|
|
@@ -2012,32 +1507,18 @@ if (require.main === module) {
|
|
|
2012
1507
|
|
|
2013
1508
|
module.exports = {
|
|
2014
1509
|
main,
|
|
2015
|
-
normalizeCliArgv,
|
|
2016
1510
|
__test__: {
|
|
2017
1511
|
waitForHealth,
|
|
2018
|
-
ensureDockerAvailable,
|
|
2019
|
-
isDockerAvailable,
|
|
2020
|
-
deriveRepoRootFromGit,
|
|
2021
|
-
isInsideGitRepo,
|
|
2022
|
-
ensureProjectGitignoreIncludesDevchain,
|
|
2023
|
-
shouldSkipHostPreflights,
|
|
2024
1512
|
runHostPreflightChecks,
|
|
2025
1513
|
getDevUiConfig,
|
|
2026
|
-
applyContainerModeDefaults,
|
|
2027
1514
|
getPreferredDevApiPort,
|
|
2028
1515
|
getDevModeSpawnConfig,
|
|
2029
|
-
hasWorktreeImageLocally,
|
|
2030
|
-
buildWorktreeImage,
|
|
2031
|
-
resolveDevchainApiBaseUrlForRestart,
|
|
2032
|
-
restartRunningWorktrees,
|
|
2033
|
-
ensureWorktreeImage,
|
|
2034
|
-
bootstrapContainerMode,
|
|
2035
|
-
ensureWorktreeImageRefFromPackageVersion,
|
|
2036
|
-
formatOrchestrationDetectionFailureReason,
|
|
2037
|
-
resolveStartupOrchestration,
|
|
2038
|
-
normalizeWorktreeRuntimeType,
|
|
2039
|
-
isWorktreeRuntimeModeEnabled,
|
|
2040
1516
|
detectGlobalPackageManager,
|
|
2041
1517
|
detectInstalledProviders,
|
|
1518
|
+
checkForUpdates,
|
|
1519
|
+
shouldCheckForUpdates,
|
|
1520
|
+
askYesNo,
|
|
1521
|
+
getMachineRole,
|
|
1522
|
+
getSudoStatus,
|
|
2042
1523
|
},
|
|
2043
1524
|
};
|