devchain-cli 0.24.1 → 0.25.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 +11 -2
- package/dist/build-info.json +2 -2
- package/dist/cli.js +40 -10
- package/dist/host-install/devchain-host-bootstrap.tgz +0 -0
- package/dist/host-install/pins.json +32 -2
- package/dist/lib/exclusive-run.js +51 -3
- package/dist/lib/git-owner.js +284 -0
- package/dist/lib/host-install.js +19 -151
- package/dist/lib/local-api.js +175 -0
- package/dist/node_modules/@devchain/shared/mobile-rpc-contract/index.d.ts +7 -4
- 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 +1 -0
- package/dist/node_modules/@devchain/shared/mobile-rpc-contract/index.js.map +1 -1
- package/dist/node_modules/@devchain/shared/schemas/export-schema.d.ts +26 -26
- package/dist/node_modules/@devchain/shared/schemas/host-provider-clis.d.ts +6 -6
- package/dist/node_modules/@devchain/shared/schemas/project-replica.d.ts +3855 -3855
- package/dist/node_modules/@devchain/shared/tsconfig.tsbuildinfo +1 -1
- package/dist/server/common/config/env.config.d.ts +6 -0
- package/dist/server/common/config/env.config.js +8 -0
- package/dist/server/common/config/env.config.js.map +1 -1
- package/dist/server/common/config/host-image.json +3 -3
- package/dist/server/common/config/integration-admission.d.ts +1 -0
- package/dist/server/common/config/integration-admission.js +6 -2
- package/dist/server/common/config/integration-admission.js.map +1 -1
- package/dist/server/common/constants/syncthing-markers.d.ts +1 -0
- package/dist/server/common/constants/syncthing-markers.js +6 -1
- package/dist/server/common/constants/syncthing-markers.js.map +1 -1
- package/dist/server/common/filesystem/vm-home-path.d.ts +11 -0
- package/dist/server/common/filesystem/vm-home-path.js +48 -0
- package/dist/server/common/filesystem/vm-home-path.js.map +1 -0
- package/dist/server/common/http/browser-request-guard.d.ts +8 -0
- package/dist/server/common/http/browser-request-guard.js +61 -0
- package/dist/server/common/http/browser-request-guard.js.map +1 -0
- package/dist/server/common/process-ids-env.d.ts +1 -0
- package/dist/server/common/process-ids-env.js +13 -0
- package/dist/server/common/process-ids-env.js.map +1 -0
- package/dist/server/common/test/api-test-app.d.ts +12 -0
- package/dist/server/common/test/api-test-app.js +76 -0
- package/dist/server/common/test/api-test-app.js.map +1 -0
- package/dist/server/common/test/app-bootstrap.helper.js +8 -1
- package/dist/server/common/test/app-bootstrap.helper.js.map +1 -1
- package/dist/server/common/test/fake-bootstrap.server.js +3 -2
- package/dist/server/common/test/fake-bootstrap.server.js.map +1 -1
- package/dist/server/common/test/fake-docker-engine.server.d.ts +25 -6
- package/dist/server/common/test/fake-docker-engine.server.js +111 -34
- package/dist/server/common/test/fake-docker-engine.server.js.map +1 -1
- package/dist/server/common/test/fake-proxmox.server.js +4 -4
- package/dist/server/common/test/fake-ssh.server.js +6 -6
- package/dist/server/common/test/fake-ssh.server.js.map +1 -1
- package/dist/server/common/test/test-database.helper.d.ts +6 -0
- package/dist/server/common/test/test-database.helper.js +29 -0
- package/dist/server/common/test/test-database.helper.js.map +1 -0
- package/dist/server/common/test/tls-fixture.d.ts +2 -1
- package/dist/server/common/test/tls-fixture.js +47 -5
- package/dist/server/common/test/tls-fixture.js.map +1 -1
- package/dist/server/modules/agents/agents.module.js +1 -8
- package/dist/server/modules/agents/agents.module.js.map +1 -1
- package/dist/server/modules/agents/controllers/agents.controller.d.ts +4 -4
- package/dist/server/modules/agents/controllers/agents.controller.js +6 -10
- package/dist/server/modules/agents/controllers/agents.controller.js.map +1 -1
- package/dist/server/modules/cloud/services/cloud-egress-bridge.service.js +7 -7
- package/dist/server/modules/cloud/services/cloud-egress-bridge.service.js.map +1 -1
- package/dist/server/modules/cloud/services/cloud-session-manager.service.d.ts +12 -0
- package/dist/server/modules/cloud/services/cloud-session-manager.service.js +78 -9
- package/dist/server/modules/cloud/services/cloud-session-manager.service.js.map +1 -1
- package/dist/server/modules/cloud/services/notification-recipient-resolver.service.d.ts +2 -2
- package/dist/server/modules/cloud-tunnel/cloud-tunnel.module.js +9 -3
- package/dist/server/modules/cloud-tunnel/cloud-tunnel.module.js.map +1 -1
- package/dist/server/modules/cloud-tunnel/services/ask-user-question-push-gate.service.js +2 -2
- package/dist/server/modules/cloud-tunnel/services/ask-user-question-push-gate.service.js.map +1 -1
- package/dist/server/modules/cloud-tunnel/services/mobile-board-rpc.service.d.ts +4 -4
- package/dist/server/modules/cloud-tunnel/services/mobile-board-rpc.service.js +6 -6
- package/dist/server/modules/cloud-tunnel/services/mobile-board-rpc.service.js.map +1 -1
- package/dist/server/modules/cloud-tunnel/services/mobile-chat-rpc.service.d.ts +2 -2
- package/dist/server/modules/cloud-tunnel/services/mobile-chat-rpc.service.js.map +1 -1
- package/dist/server/modules/cloud-tunnel/services/mobile-rpc-contract.generated.d.ts +3 -0
- package/dist/server/modules/cloud-tunnel/services/mobile-rpc-contract.generated.js +1 -0
- package/dist/server/modules/cloud-tunnel/services/mobile-rpc-contract.generated.js.map +1 -1
- package/dist/server/modules/cloud-tunnel/services/mobile-rpc-workspace-access.service.d.ts +2 -2
- package/dist/server/modules/cloud-tunnel/services/mobile-rpc-workspace-access.service.js.map +1 -1
- package/dist/server/modules/cloud-tunnel/services/tunnel-client.service.js +3 -2
- 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 +14 -3
- package/dist/server/modules/cloud-tunnel/services/tunnel-handler.service.js +54 -14
- package/dist/server/modules/cloud-tunnel/services/tunnel-handler.service.js.map +1 -1
- package/dist/server/modules/cloud-tunnel/services/tunnel-rpc-crypto.service.js.map +1 -1
- package/dist/server/modules/cloud-tunnel/services/viewport-streamer.service.d.ts +2 -2
- package/dist/server/modules/core/controllers/docker-archive-owners.d.ts +29 -0
- package/dist/server/modules/core/controllers/docker-archive-owners.js +226 -0
- package/dist/server/modules/core/controllers/docker-archive-owners.js.map +1 -0
- package/dist/server/modules/core/controllers/docker-archive.js +1 -1
- package/dist/server/modules/core/controllers/docker-archive.js.map +1 -1
- package/dist/server/modules/core/controllers/docker-engine.client.d.ts +6 -1
- package/dist/server/modules/core/controllers/docker-engine.client.js +46 -4
- package/dist/server/modules/core/controllers/docker-engine.client.js.map +1 -1
- package/dist/server/modules/core/controllers/docker-image-metadata.d.ts +248 -0
- package/dist/server/modules/core/controllers/docker-image-metadata.js +161 -0
- package/dist/server/modules/core/controllers/docker-image-metadata.js.map +1 -0
- package/dist/server/modules/core/controllers/docker-settings.d.ts +13 -2
- package/dist/server/modules/core/controllers/docker-settings.js +49 -11
- package/dist/server/modules/core/controllers/docker-settings.js.map +1 -1
- package/dist/server/modules/core/controllers/health.controller.d.ts +7 -6
- package/dist/server/modules/core/controllers/health.controller.js +1 -1
- package/dist/server/modules/core/controllers/health.controller.js.map +1 -1
- package/dist/server/modules/core/controllers/host-user-identity.d.ts +34 -0
- package/dist/server/modules/core/controllers/host-user-identity.js +23 -0
- package/dist/server/modules/core/controllers/host-user-identity.js.map +1 -0
- package/dist/server/modules/core/controllers/runtime.controller.d.ts +2 -49
- package/dist/server/modules/core/controllers/runtime.controller.js +2 -0
- package/dist/server/modules/core/controllers/runtime.controller.js.map +1 -1
- package/dist/server/modules/core/services/preflight.service.d.ts +2 -2
- package/dist/server/modules/core/services/preflight.service.js +4 -3
- package/dist/server/modules/core/services/preflight.service.js.map +1 -1
- package/dist/server/modules/e2ee/services/e2ee-device-store.service.d.ts +3 -0
- package/dist/server/modules/e2ee/services/e2ee-device-store.service.js +12 -4
- package/dist/server/modules/e2ee/services/e2ee-device-store.service.js.map +1 -1
- package/dist/server/modules/e2ee/services/e2ee-pairing.service.d.ts +1 -0
- package/dist/server/modules/e2ee/services/e2ee-pairing.service.js +4 -0
- package/dist/server/modules/e2ee/services/e2ee-pairing.service.js.map +1 -1
- package/dist/server/modules/e2ee/services/e2ee-trust.service.d.ts +6 -2
- package/dist/server/modules/e2ee/services/e2ee-trust.service.js +16 -5
- package/dist/server/modules/e2ee/services/e2ee-trust.service.js.map +1 -1
- package/dist/server/modules/epic-time/epic-time.module.js +0 -2
- 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 -3
- package/dist/server/modules/epic-time/services/agent-time-accounting.service.js +12 -12
- 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 +2 -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 -3
- package/dist/server/modules/epic-time/services/epic-time.service.js +7 -7
- package/dist/server/modules/epic-time/services/epic-time.service.js.map +1 -1
- package/dist/server/modules/epics/epics.module.js +0 -2
- package/dist/server/modules/epics/epics.module.js.map +1 -1
- package/dist/server/modules/epics/services/epic-relations.service.d.ts +1 -4
- package/dist/server/modules/epics/services/epic-relations.service.js +2 -22
- package/dist/server/modules/epics/services/epic-relations.service.js.map +1 -1
- package/dist/server/modules/epics/services/epics.service.d.ts +4 -4
- package/dist/server/modules/epics/services/epics.service.js +11 -19
- package/dist/server/modules/epics/services/epics.service.js.map +1 -1
- package/dist/server/modules/epics/subscribers/epic-assignment-notifier.subscriber.d.ts +2 -2
- 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/subscribers/sub-epic-created-notifier.subscriber.d.ts +2 -2
- package/dist/server/modules/epics/subscribers/sub-epic-created-notifier.subscriber.js +2 -2
- package/dist/server/modules/epics/subscribers/sub-epic-created-notifier.subscriber.js.map +1 -1
- package/dist/server/modules/events/catalog/on-catalog-event.d.ts +5 -0
- package/dist/server/modules/events/catalog/on-catalog-event.js +8 -0
- package/dist/server/modules/events/catalog/on-catalog-event.js.map +1 -0
- package/dist/server/modules/events/signals/session-turn-signals.js.map +1 -0
- package/dist/server/modules/external-integrations/adapters/clickup-external-task.provider.d.ts +0 -5
- package/dist/server/modules/external-integrations/adapters/clickup-external-task.provider.js +8 -44
- package/dist/server/modules/external-integrations/adapters/clickup-external-task.provider.js.map +1 -1
- package/dist/server/modules/external-integrations/adapters/jira-external-task.provider.d.ts +0 -5
- package/dist/server/modules/external-integrations/adapters/jira-external-task.provider.js +9 -45
- package/dist/server/modules/external-integrations/adapters/jira-external-task.provider.js.map +1 -1
- package/dist/server/modules/external-integrations/adapters/vendor-shared.d.ts +7 -2
- package/dist/server/modules/external-integrations/adapters/vendor-shared.js +36 -0
- package/dist/server/modules/external-integrations/adapters/vendor-shared.js.map +1 -1
- package/dist/server/modules/external-integrations/connections/integration-connections.service.d.ts +2 -2
- package/dist/server/modules/external-integrations/connections/integration-connections.service.js.map +1 -1
- package/dist/server/modules/external-integrations/my-work/external-edit-session.service.d.ts +2 -2
- package/dist/server/modules/external-integrations/my-work/external-edit-session.service.js.map +1 -1
- package/dist/server/modules/external-integrations/my-work/external-my-work.service.d.ts +2 -2
- package/dist/server/modules/external-integrations/my-work/external-my-work.service.js.map +1 -1
- package/dist/server/modules/external-integrations/my-work/external-time-mutation.service.d.ts +2 -2
- package/dist/server/modules/external-integrations/my-work/external-time-mutation.service.js.map +1 -1
- package/dist/server/modules/external-integrations/subscribers/external-subtask-sync.subscriber.d.ts +2 -2
- package/dist/server/modules/external-integrations/subscribers/external-subtask-sync.subscriber.js.map +1 -1
- package/dist/server/modules/external-integrations/subscribers/managed-subtask-sync-health.service.d.ts +2 -2
- package/dist/server/modules/external-integrations/subscribers/managed-subtask-sync-health.service.js.map +1 -1
- package/dist/server/modules/file-sync/build-exclusion-suggestions.d.ts +15 -0
- package/dist/server/modules/file-sync/build-exclusion-suggestions.js +402 -0
- package/dist/server/modules/file-sync/build-exclusion-suggestions.js.map +1 -0
- package/dist/server/modules/file-sync/file-sync-auto-fix.dto.d.ts +102 -0
- package/dist/server/modules/file-sync/file-sync-auto-fix.dto.js +21 -0
- package/dist/server/modules/file-sync/file-sync-auto-fix.dto.js.map +1 -0
- package/dist/server/modules/file-sync/file-sync-auto-fix.store.d.ts +12 -0
- package/dist/server/modules/file-sync/file-sync-auto-fix.store.js +73 -0
- package/dist/server/modules/file-sync/file-sync-auto-fix.store.js.map +1 -0
- package/dist/server/modules/file-sync/file-sync-conflicts.d.ts +3 -0
- package/dist/server/modules/file-sync/file-sync-conflicts.js +191 -0
- package/dist/server/modules/file-sync/file-sync-conflicts.js.map +1 -0
- package/dist/server/modules/file-sync/file-sync-ignores.store.d.ts +5 -1
- package/dist/server/modules/file-sync/file-sync-ignores.store.js +39 -8
- package/dist/server/modules/file-sync/file-sync-ignores.store.js.map +1 -1
- package/dist/server/modules/file-sync/file-sync.controller.d.ts +1 -3
- package/dist/server/modules/file-sync/file-sync.controller.js +5 -14
- package/dist/server/modules/file-sync/file-sync.controller.js.map +1 -1
- package/dist/server/modules/file-sync/file-sync.dto.d.ts +233 -1
- package/dist/server/modules/file-sync/file-sync.dto.js +77 -4
- package/dist/server/modules/file-sync/file-sync.dto.js.map +1 -1
- package/dist/server/modules/file-sync/file-sync.module.js +14 -1
- package/dist/server/modules/file-sync/file-sync.module.js.map +1 -1
- package/dist/server/modules/file-sync/file-sync.service.d.ts +21 -5
- package/dist/server/modules/file-sync/file-sync.service.js +174 -38
- package/dist/server/modules/file-sync/file-sync.service.js.map +1 -1
- package/dist/server/modules/file-sync/git-guard.dto.d.ts +61 -0
- package/dist/server/modules/file-sync/git-guard.dto.js +26 -0
- package/dist/server/modules/file-sync/git-guard.dto.js.map +1 -0
- package/dist/server/modules/file-sync/home-git-guard.service.d.ts +5 -3
- package/dist/server/modules/file-sync/home-git-guard.service.js +50 -25
- package/dist/server/modules/file-sync/home-git-guard.service.js.map +1 -1
- package/dist/server/modules/file-sync/host-git-guard.controller.d.ts +9 -0
- package/dist/server/modules/file-sync/host-git-guard.controller.js +64 -0
- package/dist/server/modules/file-sync/host-git-guard.controller.js.map +1 -0
- package/dist/server/modules/file-sync/host-git-index.controller.d.ts +10 -0
- package/dist/server/modules/file-sync/host-git-index.controller.js +67 -0
- package/dist/server/modules/file-sync/host-git-index.controller.js.map +1 -0
- package/dist/server/modules/file-sync/host-sync.controller.d.ts +20 -10
- package/dist/server/modules/file-sync/host-sync.controller.js +117 -17
- package/dist/server/modules/file-sync/host-sync.controller.js.map +1 -1
- package/dist/server/modules/file-sync/ignore-pattern-matcher.d.ts +33 -0
- package/dist/server/modules/file-sync/ignore-pattern-matcher.js +227 -0
- package/dist/server/modules/file-sync/ignore-pattern-matcher.js.map +1 -0
- package/dist/server/modules/file-sync/project-repository.d.ts +2 -0
- package/dist/server/modules/file-sync/project-repository.js +20 -0
- package/dist/server/modules/file-sync/project-repository.js.map +1 -0
- package/dist/server/modules/file-sync/sync-path-inspection.dto.d.ts +610 -0
- package/dist/server/modules/file-sync/sync-path-inspection.dto.js +100 -0
- package/dist/server/modules/file-sync/sync-path-inspection.dto.js.map +1 -0
- package/dist/server/modules/file-sync/sync-path-inspector.d.ts +12 -0
- package/dist/server/modules/file-sync/sync-path-inspector.js +429 -0
- package/dist/server/modules/file-sync/sync-path-inspector.js.map +1 -0
- package/dist/server/modules/file-sync/syncthing-launcher.d.ts +4 -0
- package/dist/server/modules/file-sync/syncthing-launcher.js +21 -1
- package/dist/server/modules/file-sync/syncthing-launcher.js.map +1 -1
- package/dist/server/modules/file-sync/syncthing-manager.service.d.ts +2 -0
- package/dist/server/modules/file-sync/syncthing-manager.service.js +27 -11
- package/dist/server/modules/file-sync/syncthing-manager.service.js.map +1 -1
- package/dist/server/modules/file-sync/testing/fake-file-sync.service.d.ts +30 -4
- package/dist/server/modules/file-sync/testing/fake-file-sync.service.js +69 -4
- package/dist/server/modules/file-sync/testing/fake-file-sync.service.js.map +1 -1
- package/dist/server/modules/file-sync/testing/fake-syncthing-launcher.d.ts +3 -0
- package/dist/server/modules/file-sync/testing/fake-syncthing-launcher.js +11 -0
- package/dist/server/modules/file-sync/testing/fake-syncthing-launcher.js.map +1 -1
- package/dist/server/modules/file-sync/translate-git-ignore-rule.d.ts +3 -0
- package/dist/server/modules/file-sync/translate-git-ignore-rule.js +30 -0
- package/dist/server/modules/file-sync/translate-git-ignore-rule.js.map +1 -0
- package/dist/server/modules/git/dtos/git.dto.d.ts +4 -4
- package/dist/server/modules/git/services/git.service.d.ts +3 -2
- package/dist/server/modules/git/services/git.service.js +12 -0
- package/dist/server/modules/git/services/git.service.js.map +1 -1
- package/dist/server/modules/guests/guests.module.js +1 -1
- package/dist/server/modules/guests/guests.module.js.map +1 -1
- package/dist/server/modules/guests/services/guest-health.service.d.ts +3 -1
- package/dist/server/modules/guests/services/guest-health.service.js +15 -5
- package/dist/server/modules/guests/services/guest-health.service.js.map +1 -1
- package/dist/server/modules/guests/services/guests.service.d.ts +2 -2
- package/dist/server/modules/guests/services/guests.service.js +0 -2
- package/dist/server/modules/guests/services/guests.service.js.map +1 -1
- package/dist/server/modules/hooks/dtos/hook-event.dto.d.ts +4 -4
- package/dist/server/modules/hooks/services/hooks.service.js +1 -1
- package/dist/server/modules/hooks/services/hooks.service.js.map +1 -1
- package/dist/server/modules/hooks/services/pending-ask-user-question.service.d.ts +3 -6
- package/dist/server/modules/hooks/services/pending-ask-user-question.service.js +3 -3
- package/dist/server/modules/hooks/services/pending-ask-user-question.service.js.map +1 -1
- package/dist/server/modules/mcp/mcp-full.module.js +0 -2
- package/dist/server/modules/mcp/mcp-full.module.js.map +1 -1
- package/dist/server/modules/mcp/services/handlers/chat-context.d.ts +2 -2
- package/dist/server/modules/mcp/services/handlers/chat-tools.js +1 -1
- package/dist/server/modules/mcp/services/handlers/chat-tools.js.map +1 -1
- package/dist/server/modules/mcp/services/handlers/skill-tools.js +2 -2
- package/dist/server/modules/mcp/services/handlers/skill-tools.js.map +1 -1
- package/dist/server/modules/mcp/services/mcp-tool-binding.registry.d.ts +3 -4
- package/dist/server/modules/mcp/services/mcp-tool-binding.registry.js +4 -4
- package/dist/server/modules/mcp/services/mcp-tool-binding.registry.js.map +1 -1
- package/dist/server/modules/mcp/services/mcp.service.d.ts +2 -2
- package/dist/server/modules/mcp/services/mcp.service.js.map +1 -1
- package/dist/server/modules/mcp/tool-descriptors/binding-types.d.ts +4 -4
- package/dist/server/modules/mcp/tool-descriptors/binding-types.js.map +1 -1
- package/dist/server/modules/mcp/tool-descriptors/chat.bindings.js +1 -1
- package/dist/server/modules/mcp/tool-descriptors/chat.bindings.js.map +1 -1
- package/dist/server/modules/profiles/controllers/profiles.controller.d.ts +7 -31
- package/dist/server/modules/profiles/controllers/profiles.controller.js +10 -13
- package/dist/server/modules/profiles/controllers/profiles.controller.js.map +1 -1
- package/dist/server/modules/profiles/dto.d.ts +17 -0
- package/dist/server/modules/profiles/dto.js.map +1 -1
- package/dist/server/modules/profiles/profiles.module.js +1 -2
- package/dist/server/modules/profiles/profiles.module.js.map +1 -1
- package/dist/server/modules/profiles/services/provider-configs.service.d.ts +1 -4
- package/dist/server/modules/profiles/services/provider-configs.service.js +3 -12
- package/dist/server/modules/profiles/services/provider-configs.service.js.map +1 -1
- package/dist/server/modules/project-communication/project-communication.module.js +1 -2
- 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 -4
- package/dist/server/modules/project-communication/project-communication.service.js +8 -8
- package/dist/server/modules/project-communication/project-communication.service.js.map +1 -1
- package/dist/server/modules/projects/controllers/projects.controller.d.ts +4 -17
- package/dist/server/modules/projects/controllers/projects.controller.js +2 -9
- package/dist/server/modules/projects/controllers/projects.controller.js.map +1 -1
- package/dist/server/modules/projects/dtos/project-presets.dto.d.ts +5 -0
- package/dist/server/modules/projects/dtos/project-presets.dto.js +3 -0
- package/dist/server/modules/projects/dtos/project-presets.dto.js.map +1 -0
- package/dist/server/modules/projects/helpers/project-export.d.ts +2 -2
- package/dist/server/modules/projects/helpers/project-export.js.map +1 -1
- package/dist/server/modules/projects/helpers/project-import.d.ts +3 -2
- package/dist/server/modules/projects/helpers/project-import.js.map +1 -1
- package/dist/server/modules/projects/helpers/project-presets.helpers.d.ts +2 -2
- package/dist/server/modules/projects/helpers/project-presets.helpers.js.map +1 -1
- package/dist/server/modules/projects/helpers/template-loader.d.ts +3 -2
- package/dist/server/modules/projects/helpers/template-loader.js.map +1 -1
- package/dist/server/modules/projects/projects.module.js +0 -2
- package/dist/server/modules/projects/projects.module.js.map +1 -1
- package/dist/server/modules/projects/services/project-provider-provisioning.service.d.ts +2 -2
- package/dist/server/modules/projects/services/project-provider-provisioning.service.js.map +1 -1
- package/dist/server/modules/projects/services/project-registry-import.service.d.ts +2 -2
- package/dist/server/modules/projects/services/project-registry-import.service.js.map +1 -1
- package/dist/server/modules/projects/services/project-template-upgrade.service.d.ts +3 -3
- package/dist/server/modules/projects/services/project-template-upgrade.service.js +6 -7
- 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 -4
- package/dist/server/modules/projects/services/projects.service.js +7 -9
- package/dist/server/modules/projects/services/projects.service.js.map +1 -1
- package/dist/server/modules/projects/template-codec/codecs/scheduled-epics.codec.d.ts +2 -2
- package/dist/server/modules/projects/template-codec/codecs/scheduled-epics.codec.js.map +1 -1
- package/dist/server/modules/projects/template-codec/codecs/teams.codec.d.ts +2 -2
- package/dist/server/modules/projects/template-codec/codecs/teams.codec.js.map +1 -1
- package/dist/server/modules/projects/template-codec/codecs/watchers.codec.d.ts +1 -1
- package/dist/server/modules/projects/template-codec/codecs/watchers.codec.js.map +1 -1
- package/dist/server/modules/projects/template-codec/template-section-codec.d.ts +3 -3
- package/dist/server/modules/prompts/controllers/prompts.controller.d.ts +1 -3
- package/dist/server/modules/prompts/controllers/prompts.controller.js +3 -8
- package/dist/server/modules/prompts/controllers/prompts.controller.js.map +1 -1
- package/dist/server/modules/prompts/prompts.module.js +1 -2
- package/dist/server/modules/prompts/prompts.module.js.map +1 -1
- package/dist/server/modules/providers/adapters/antigravity.adapter.d.ts +1 -1
- package/dist/server/modules/providers/adapters/antigravity.adapter.js +2 -1
- package/dist/server/modules/providers/adapters/antigravity.adapter.js.map +1 -1
- package/dist/server/modules/providers/adapters/antigravity.traits.d.ts +2 -0
- package/dist/server/modules/providers/adapters/antigravity.traits.js +9 -0
- package/dist/server/modules/providers/adapters/antigravity.traits.js.map +1 -0
- package/dist/server/modules/providers/adapters/capabilities/hook.capability.d.ts +0 -1
- package/dist/server/modules/providers/adapters/capabilities/project-provisioning.capability.d.ts +0 -1
- package/dist/server/modules/providers/adapters/capabilities/type-guards.d.ts +0 -1
- package/dist/server/modules/providers/adapters/capabilities/type-guards.js.map +1 -1
- package/dist/server/modules/providers/adapters/claude.adapter.d.ts +1 -3
- package/dist/server/modules/providers/adapters/claude.adapter.js +5 -8
- package/dist/server/modules/providers/adapters/claude.adapter.js.map +1 -1
- package/dist/server/modules/providers/adapters/claude.traits.d.ts +2 -0
- package/dist/server/modules/providers/adapters/claude.traits.js +9 -0
- package/dist/server/modules/providers/adapters/claude.traits.js.map +1 -0
- package/dist/server/modules/providers/adapters/codex.adapter.d.ts +1 -2
- package/dist/server/modules/providers/adapters/codex.adapter.js +3 -5
- package/dist/server/modules/providers/adapters/codex.adapter.js.map +1 -1
- package/dist/server/modules/providers/adapters/codex.traits.d.ts +2 -0
- package/dist/server/modules/providers/adapters/codex.traits.js +9 -0
- package/dist/server/modules/providers/adapters/codex.traits.js.map +1 -0
- package/dist/server/modules/providers/adapters/copilot.adapter.d.ts +1 -3
- package/dist/server/modules/providers/adapters/copilot.adapter.js +3 -6
- package/dist/server/modules/providers/adapters/copilot.adapter.js.map +1 -1
- package/dist/server/modules/providers/adapters/copilot.traits.d.ts +2 -0
- package/dist/server/modules/providers/adapters/copilot.traits.js +9 -0
- package/dist/server/modules/providers/adapters/copilot.traits.js.map +1 -0
- package/dist/server/modules/providers/adapters/opencode.adapter.d.ts +1 -1
- package/dist/server/modules/providers/adapters/opencode.adapter.js +3 -4
- package/dist/server/modules/providers/adapters/opencode.adapter.js.map +1 -1
- package/dist/server/modules/providers/adapters/opencode.traits.d.ts +2 -0
- package/dist/server/modules/providers/adapters/opencode.traits.js +9 -0
- package/dist/server/modules/providers/adapters/opencode.traits.js.map +1 -0
- package/dist/server/modules/providers/adapters/provider-adapter.factory.d.ts +2 -2
- 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-traits.d.ts +9 -0
- package/dist/server/modules/providers/adapters/provider-traits.js +28 -0
- package/dist/server/modules/providers/adapters/provider-traits.js.map +1 -0
- package/dist/server/modules/providers/controllers/provider-efforts.controller.d.ts +9 -7
- package/dist/server/modules/providers/controllers/provider-efforts.controller.js.map +1 -1
- package/dist/server/modules/providers/controllers/provider-models.controller.d.ts +1 -1
- package/dist/server/modules/providers/controllers/provider-models.controller.js.map +1 -1
- package/dist/server/modules/providers/controllers/provider-plugin-policy.controller.d.ts +2 -2
- package/dist/server/modules/providers/controllers/provider-plugin-policy.controller.js.map +1 -1
- package/dist/server/modules/providers/controllers/providers.controller.d.ts +1 -1
- package/dist/server/modules/providers/controllers/providers.controller.js.map +1 -1
- package/dist/server/modules/providers/provider-traits.types.d.ts +5 -0
- package/dist/server/modules/providers/provider-traits.types.js +3 -0
- package/dist/server/modules/providers/provider-traits.types.js.map +1 -0
- package/dist/server/modules/providers/providers.module.js +0 -2
- package/dist/server/modules/providers/providers.module.js.map +1 -1
- package/dist/server/modules/providers/services/mcp-provider-registration.service.d.ts +2 -2
- package/dist/server/modules/providers/services/mcp-provider-registration.service.js +2 -1
- package/dist/server/modules/providers/services/mcp-provider-registration.service.js.map +1 -1
- package/dist/server/modules/providers/services/provider-cli-installer.service.d.ts +1 -1
- package/dist/server/modules/providers/services/provider-cli-installer.service.js.map +1 -1
- package/dist/server/modules/providers/services/provider-discovery.service.d.ts +1 -1
- package/dist/server/modules/providers/services/provider-discovery.service.js.map +1 -1
- package/dist/server/modules/providers/services/provider-effort-seeding.service.d.ts +1 -1
- package/dist/server/modules/providers/services/provider-effort-seeding.service.js.map +1 -1
- package/dist/server/modules/providers/services/provider-mcp-ensure.service.d.ts +4 -4
- package/dist/server/modules/providers/services/provider-mcp-ensure.service.js +8 -7
- package/dist/server/modules/providers/services/provider-mcp-ensure.service.js.map +1 -1
- package/dist/server/modules/providers/services/provider-plugin-policy.service.d.ts +2 -2
- package/dist/server/modules/providers/services/provider-plugin-policy.service.js.map +1 -1
- package/dist/server/modules/providers/services/provider-plugins.service.d.ts +1 -1
- 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 +4 -4
- package/dist/server/modules/providers/services/provider-project-sync.service.js +6 -6
- 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 +2 -2
- package/dist/server/modules/providers/services/provider-state-manager.service.js +1 -1
- package/dist/server/modules/providers/services/provider-state-manager.service.js.map +1 -1
- package/dist/server/modules/providers/utils/claude-config.js.map +1 -0
- package/dist/server/modules/providers/utils/codex-config.js.map +1 -0
- package/dist/server/modules/providers/utils/env-builder.js.map +1 -0
- package/dist/server/modules/{sessions → providers}/utils/profile-options.d.ts +1 -1
- package/dist/server/modules/providers/utils/profile-options.js.map +1 -0
- package/dist/server/modules/registry/controllers/registry.controller.d.ts +2 -2
- package/dist/server/modules/registry/controllers/registry.controller.js.map +1 -1
- package/dist/server/modules/registry/controllers/templates.controller.d.ts +3 -3
- package/dist/server/modules/registry/services/registry-orchestration.service.d.ts +3 -1
- package/dist/server/modules/registry/services/registry-orchestration.service.js +14 -2
- package/dist/server/modules/registry/services/registry-orchestration.service.js.map +1 -1
- package/dist/server/modules/remotes/admission/project-write-admission.module.js +3 -5
- package/dist/server/modules/remotes/admission/project-write-admission.module.js.map +1 -1
- package/dist/server/modules/remotes/admission/project-write-admission.service.d.ts +6 -17
- package/dist/server/modules/remotes/admission/project-write-admission.service.js +11 -62
- package/dist/server/modules/remotes/admission/project-write-admission.service.js.map +1 -1
- package/dist/server/modules/remotes/connect-choices.controller.d.ts +9 -0
- package/dist/server/modules/remotes/connect-choices.controller.js +54 -0
- package/dist/server/modules/remotes/connect-choices.controller.js.map +1 -0
- package/dist/server/modules/remotes/connect-choices.dto.d.ts +52 -0
- package/dist/server/modules/remotes/connect-choices.dto.js +19 -0
- package/dist/server/modules/remotes/connect-choices.dto.js.map +1 -0
- package/dist/server/modules/remotes/connect-choices.store.d.ts +12 -0
- package/dist/server/modules/remotes/connect-choices.store.js +95 -0
- package/dist/server/modules/remotes/connect-choices.store.js.map +1 -0
- package/dist/server/modules/remotes/contract/host-routes.d.ts +27536 -0
- package/dist/server/modules/remotes/contract/host-routes.js +405 -0
- package/dist/server/modules/remotes/contract/host-routes.js.map +1 -0
- package/dist/server/modules/remotes/controllers/remotes.controller.d.ts +3 -0
- package/dist/server/modules/remotes/controllers/remotes.controller.js +9 -1
- package/dist/server/modules/remotes/controllers/remotes.controller.js.map +1 -1
- package/dist/server/modules/remotes/docker/docker-compose-user-fix.d.ts +3 -0
- package/dist/server/modules/remotes/docker/docker-compose-user-fix.js +212 -0
- package/dist/server/modules/remotes/docker/docker-compose-user-fix.js.map +1 -0
- package/dist/server/modules/remotes/docker/docker-copy-back-exclusions.d.ts +27 -0
- package/dist/server/modules/remotes/docker/docker-copy-back-exclusions.js +185 -0
- package/dist/server/modules/remotes/docker/docker-copy-back-exclusions.js.map +1 -0
- package/dist/server/modules/remotes/docker/docker-copy-back.d.ts +15 -1
- package/dist/server/modules/remotes/docker/docker-copy-back.dto.d.ts +8 -1
- package/dist/server/modules/remotes/docker/docker-copy-back.dto.js +3 -1
- package/dist/server/modules/remotes/docker/docker-copy-back.dto.js.map +1 -1
- package/dist/server/modules/remotes/docker/docker-copy-back.js +770 -144
- package/dist/server/modules/remotes/docker/docker-copy-back.js.map +1 -1
- package/dist/server/modules/remotes/docker/docker-data-groups.d.ts +3 -3
- package/dist/server/modules/remotes/docker/docker-data-groups.js +20 -6
- package/dist/server/modules/remotes/docker/docker-data-groups.js.map +1 -1
- package/dist/server/modules/remotes/docker/docker-data-representation.d.ts +9 -0
- package/dist/server/modules/remotes/docker/docker-data-representation.js +85 -0
- package/dist/server/modules/remotes/docker/docker-data-representation.js.map +1 -0
- package/dist/server/modules/remotes/docker/docker-handoff.d.ts +9 -4
- package/dist/server/modules/remotes/docker/docker-handoff.js +396 -66
- package/dist/server/modules/remotes/docker/docker-handoff.js.map +1 -1
- package/dist/server/modules/remotes/docker/docker-handoff.store.d.ts +40 -7
- package/dist/server/modules/remotes/docker/docker-handoff.store.js.map +1 -1
- package/dist/server/modules/remotes/docker/docker-ownership.d.ts +26 -0
- package/dist/server/modules/remotes/docker/docker-ownership.js +182 -0
- package/dist/server/modules/remotes/docker/docker-ownership.js.map +1 -0
- package/dist/server/modules/remotes/docker/docker-plan-files.d.ts +1 -0
- package/dist/server/modules/remotes/docker/docker-plan-files.js +4 -0
- package/dist/server/modules/remotes/docker/docker-plan-files.js.map +1 -1
- package/dist/server/modules/remotes/docker/docker-plan-fit.d.ts +6 -3
- package/dist/server/modules/remotes/docker/docker-plan-fit.js +26 -8
- package/dist/server/modules/remotes/docker/docker-plan-fit.js.map +1 -1
- package/dist/server/modules/remotes/docker/docker-plan-policy.d.ts +7 -3
- package/dist/server/modules/remotes/docker/docker-plan-policy.js +287 -43
- package/dist/server/modules/remotes/docker/docker-plan-policy.js.map +1 -1
- package/dist/server/modules/remotes/docker/docker-plan-source.service.d.ts +57 -8
- package/dist/server/modules/remotes/docker/docker-plan-source.service.js +477 -53
- package/dist/server/modules/remotes/docker/docker-plan-source.service.js.map +1 -1
- package/dist/server/modules/remotes/docker/docker-plan.controller.d.ts +4 -1
- package/dist/server/modules/remotes/docker/docker-plan.controller.js +53 -0
- package/dist/server/modules/remotes/docker/docker-plan.controller.js.map +1 -1
- package/dist/server/modules/remotes/docker/docker-plan.dto.d.ts +158 -15
- package/dist/server/modules/remotes/docker/docker-plan.dto.js +12 -2
- package/dist/server/modules/remotes/docker/docker-plan.dto.js.map +1 -1
- package/dist/server/modules/remotes/docker/docker-plan.service.d.ts +16 -7
- package/dist/server/modules/remotes/docker/docker-plan.service.js +261 -19
- package/dist/server/modules/remotes/docker/docker-plan.service.js.map +1 -1
- package/dist/server/modules/remotes/docker/docker-project-compose.d.ts +7 -0
- package/dist/server/modules/remotes/docker/docker-project-compose.js +29 -0
- package/dist/server/modules/remotes/docker/docker-project-compose.js.map +1 -0
- package/dist/server/modules/remotes/docker/docker-project-resources.d.ts +14 -0
- package/dist/server/modules/remotes/docker/docker-project-resources.js +33 -0
- package/dist/server/modules/remotes/docker/docker-project-resources.js.map +1 -0
- package/dist/server/modules/remotes/dtos/remote.dto.d.ts +2 -0
- package/dist/server/modules/remotes/dtos/remote.dto.js.map +1 -1
- package/dist/server/modules/remotes/git-owner.store.d.ts +13 -0
- package/dist/server/modules/remotes/git-owner.store.js +69 -0
- package/dist/server/modules/remotes/git-owner.store.js.map +1 -0
- package/dist/server/modules/remotes/host/host-api-key-io.adapter.js +3 -3
- package/dist/server/modules/remotes/host/host-api-key-io.adapter.js.map +1 -1
- package/dist/server/modules/remotes/host/host-api-key.module.js +3 -2
- package/dist/server/modules/remotes/host/host-api-key.module.js.map +1 -1
- package/dist/server/modules/remotes/host/host-api-key.service.d.ts +6 -4
- package/dist/server/modules/remotes/host/host-api-key.service.js +30 -10
- package/dist/server/modules/remotes/host/host-api-key.service.js.map +1 -1
- package/dist/server/modules/remotes/host/host-docker-volume-associations.store.d.ts +14 -0
- package/dist/server/modules/remotes/host/host-docker-volume-associations.store.js +91 -0
- package/dist/server/modules/remotes/host/host-docker-volume-associations.store.js.map +1 -0
- package/dist/server/modules/remotes/host/host-docker.controller.d.ts +8 -0
- package/dist/server/modules/remotes/host/host-docker.controller.js +22 -6
- package/dist/server/modules/remotes/host/host-docker.controller.js.map +1 -1
- package/dist/server/modules/remotes/host/host-docker.dto.d.ts +647 -0
- package/dist/server/modules/remotes/host/host-docker.dto.js +58 -8
- package/dist/server/modules/remotes/host/host-docker.dto.js.map +1 -1
- package/dist/server/modules/remotes/host/host-docker.service.d.ts +24 -5
- package/dist/server/modules/remotes/host/host-docker.service.js +317 -146
- package/dist/server/modules/remotes/host/host-docker.service.js.map +1 -1
- package/dist/server/modules/remotes/host/host-helper.dto.d.ts +46 -0
- package/dist/server/modules/remotes/host/host-helper.dto.js +56 -0
- package/dist/server/modules/remotes/host/host-helper.dto.js.map +1 -0
- package/dist/server/modules/remotes/host/host-helper.module.d.ts +2 -0
- package/dist/server/modules/remotes/host/host-helper.module.js +23 -0
- package/dist/server/modules/remotes/host/host-helper.module.js.map +1 -0
- package/dist/server/modules/remotes/host/host-helper.service.d.ts +1 -39
- package/dist/server/modules/remotes/host/host-helper.service.js +5 -18
- package/dist/server/modules/remotes/host/host-helper.service.js.map +1 -1
- package/dist/server/modules/remotes/host/host-ipv4-routes.d.ts +4 -0
- package/dist/server/modules/remotes/host/host-ipv4-routes.js +43 -0
- package/dist/server/modules/remotes/host/host-ipv4-routes.js.map +1 -0
- package/dist/server/modules/remotes/host/host-provider-auth.controller.d.ts +4 -2
- package/dist/server/modules/remotes/host/host-provider-auth.controller.js +3 -29
- package/dist/server/modules/remotes/host/host-provider-auth.controller.js.map +1 -1
- package/dist/server/modules/remotes/host/host-provider-auth.dto.d.ts +67 -0
- package/dist/server/modules/remotes/host/host-provider-auth.dto.js +32 -0
- package/dist/server/modules/remotes/host/host-provider-auth.dto.js.map +1 -0
- package/dist/server/modules/remotes/host/host-provider-auth.service.d.ts +1 -8
- package/dist/server/modules/remotes/host/host-provider-auth.service.js.map +1 -1
- package/dist/server/modules/remotes/host/host-provider-cli-settings.controller.d.ts +5 -37
- package/dist/server/modules/remotes/host/host-provider-cli-settings.controller.js +5 -5
- package/dist/server/modules/remotes/host/host-provider-cli-settings.controller.js.map +1 -1
- package/dist/server/modules/remotes/host/host-skill-settings.controller.d.ts +5 -9
- package/dist/server/modules/remotes/host/host-skill-settings.controller.js +2 -1
- package/dist/server/modules/remotes/host/host-skill-settings.controller.js.map +1 -1
- package/dist/server/modules/remotes/host/host-skill-settings.service.d.ts +2 -2
- package/dist/server/modules/remotes/host/host-skill-settings.service.js.map +1 -1
- package/dist/server/modules/remotes/host/host-ssh-keys.controller.js +2 -4
- package/dist/server/modules/remotes/host/host-ssh-keys.controller.js.map +1 -1
- package/dist/server/modules/remotes/host/host-ssh-keys.dto.d.ts +8 -0
- package/dist/server/modules/remotes/host/host-ssh-keys.dto.js +7 -0
- package/dist/server/modules/remotes/host/host-ssh-keys.dto.js.map +1 -0
- package/dist/server/modules/remotes/host/host-transcripts.controller.d.ts +3 -2
- package/dist/server/modules/remotes/host/host-transcripts.controller.js +2 -1
- package/dist/server/modules/remotes/host/host-transcripts.controller.js.map +1 -1
- package/dist/server/modules/remotes/host/host-update.controller.d.ts +6 -11
- package/dist/server/modules/remotes/host/host-update.controller.js +5 -42
- package/dist/server/modules/remotes/host/host-update.controller.js.map +1 -1
- package/dist/server/modules/remotes/host/host.controller.d.ts +10 -14
- package/dist/server/modules/remotes/host/host.controller.js.map +1 -1
- package/dist/server/modules/remotes/host/project-freeze.service.d.ts +4 -5
- package/dist/server/modules/remotes/host/project-freeze.service.js +14 -20
- package/dist/server/modules/remotes/host/project-freeze.service.js.map +1 -1
- package/dist/server/modules/remotes/host/provider-baseline.service.js +1 -1
- package/dist/server/modules/remotes/host/provider-baseline.service.js.map +1 -1
- package/dist/server/modules/remotes/host-image.d.ts +1 -1
- package/dist/server/modules/remotes/host-image.js +1 -1
- package/dist/server/modules/remotes/host-install/host-install-block.d.ts +1 -0
- package/dist/server/modules/remotes/host-install/host-install-block.js +76 -2
- package/dist/server/modules/remotes/host-install/host-install-block.js.map +1 -1
- package/dist/server/modules/remotes/host-install/host-install.service.d.ts +0 -1
- package/dist/server/modules/remotes/host-install/host-install.service.js +9 -26
- package/dist/server/modules/remotes/host-install/host-install.service.js.map +1 -1
- package/dist/server/modules/remotes/operations/attach.operation.d.ts +5 -1
- package/dist/server/modules/remotes/operations/attach.operation.js +40 -5
- package/dist/server/modules/remotes/operations/attach.operation.js.map +1 -1
- package/dist/server/modules/remotes/operations/claim.operation.d.ts +1 -0
- package/dist/server/modules/remotes/operations/claim.operation.js +6 -1
- package/dist/server/modules/remotes/operations/claim.operation.js.map +1 -1
- package/dist/server/modules/remotes/operations/detach.operation.d.ts +9 -2
- package/dist/server/modules/remotes/operations/detach.operation.js +22 -4
- package/dist/server/modules/remotes/operations/detach.operation.js.map +1 -1
- package/dist/server/modules/remotes/operations/docker-import-inventory.store.d.ts +735 -4
- package/dist/server/modules/remotes/operations/docker-import-inventory.store.js +48 -1
- package/dist/server/modules/remotes/operations/docker-import-inventory.store.js.map +1 -1
- package/dist/server/modules/remotes/operations/file-sync-handoff.d.ts +29 -3
- package/dist/server/modules/remotes/operations/file-sync-handoff.js +477 -50
- package/dist/server/modules/remotes/operations/file-sync-handoff.js.map +1 -1
- package/dist/server/modules/remotes/operations/force-sync.operation.d.ts +39 -0
- package/dist/server/modules/remotes/operations/force-sync.operation.js +177 -0
- package/dist/server/modules/remotes/operations/force-sync.operation.js.map +1 -0
- package/dist/server/modules/remotes/operations/git-owner.dto.d.ts +83 -0
- package/dist/server/modules/remotes/operations/git-owner.dto.js +25 -0
- package/dist/server/modules/remotes/operations/git-owner.dto.js.map +1 -0
- package/dist/server/modules/remotes/operations/git-owner.operation.d.ts +35 -0
- package/dist/server/modules/remotes/operations/git-owner.operation.js +216 -0
- package/dist/server/modules/remotes/operations/git-owner.operation.js.map +1 -0
- package/dist/server/modules/remotes/operations/remote-host.client.d.ts +47 -491
- package/dist/server/modules/remotes/operations/remote-host.client.js +192 -414
- package/dist/server/modules/remotes/operations/remote-host.client.js.map +1 -1
- package/dist/server/modules/remotes/operations/remote-operation.dto.d.ts +38 -12
- package/dist/server/modules/remotes/operations/remote-operation.dto.js +5 -1
- package/dist/server/modules/remotes/operations/remote-operation.dto.js.map +1 -1
- package/dist/server/modules/remotes/operations/remote-operation.runner.d.ts +5 -1
- package/dist/server/modules/remotes/operations/remote-operation.runner.js +74 -27
- package/dist/server/modules/remotes/operations/remote-operation.runner.js.map +1 -1
- package/dist/server/modules/remotes/operations/remote-operation.types.d.ts +4 -1
- package/dist/server/modules/remotes/operations/remote-operation.types.js.map +1 -1
- package/dist/server/modules/remotes/operations/remote-operations.controller.d.ts +5 -0
- package/dist/server/modules/remotes/operations/remote-operations.controller.js +56 -0
- package/dist/server/modules/remotes/operations/remote-operations.controller.js.map +1 -1
- package/dist/server/modules/remotes/operations/remote-operations.service.d.ts +17 -2
- package/dist/server/modules/remotes/operations/remote-operations.service.js +155 -5
- package/dist/server/modules/remotes/operations/remote-operations.service.js.map +1 -1
- package/dist/server/modules/remotes/operations/update-logins.operation.d.ts +2 -4
- package/dist/server/modules/remotes/operations/update-logins.operation.js +3 -18
- package/dist/server/modules/remotes/operations/update-logins.operation.js.map +1 -1
- package/dist/server/modules/remotes/operations/vm-operations.dto.d.ts +7 -7
- package/dist/server/modules/remotes/ports/remote-health.port.d.ts +2 -0
- package/dist/server/modules/remotes/ports/remote-health.port.js.map +1 -1
- package/dist/server/modules/remotes/remotes.module.js +24 -2
- package/dist/server/modules/remotes/remotes.module.js.map +1 -1
- package/dist/server/modules/remotes/replica/__fixtures__/replica-seed.d.ts +2 -2
- package/dist/server/modules/remotes/replica/__fixtures__/replica-seed.js +2 -13
- package/dist/server/modules/remotes/replica/__fixtures__/replica-seed.js.map +1 -1
- package/dist/server/modules/remotes/services/remote-health.service.js +5 -0
- package/dist/server/modules/remotes/services/remote-health.service.js.map +1 -1
- package/dist/server/modules/remotes/services/remote-skill-settings.service.d.ts +2 -2
- package/dist/server/modules/remotes/services/remote-skill-settings.service.js.map +1 -1
- package/dist/server/modules/remotes/sync/file-sync-failures.service.d.ts +18 -0
- package/dist/server/modules/remotes/sync/file-sync-failures.service.js +155 -0
- package/dist/server/modules/remotes/sync/file-sync-failures.service.js.map +1 -0
- package/dist/server/modules/remotes/sync/file-sync-pattern-preview.service.d.ts +14 -0
- package/dist/server/modules/remotes/sync/file-sync-pattern-preview.service.js +99 -0
- package/dist/server/modules/remotes/sync/file-sync-pattern-preview.service.js.map +1 -0
- package/dist/server/modules/remotes/sync/file-sync-suggestions.service.d.ts +17 -0
- package/dist/server/modules/remotes/sync/file-sync-suggestions.service.js +124 -0
- package/dist/server/modules/remotes/sync/file-sync-suggestions.service.js.map +1 -0
- package/dist/server/modules/remotes/sync/project-file-sync.controller.d.ts +27 -0
- package/dist/server/modules/remotes/sync/project-file-sync.controller.js +146 -0
- package/dist/server/modules/remotes/sync/project-file-sync.controller.js.map +1 -0
- package/dist/server/modules/remotes/sync/remote-file-sync.dto.d.ts +70 -0
- package/dist/server/modules/remotes/sync/remote-file-sync.dto.js +16 -0
- package/dist/server/modules/remotes/sync/remote-file-sync.dto.js.map +1 -0
- package/dist/server/modules/remotes/sync/remote-file-sync.service.d.ts +31 -1
- package/dist/server/modules/remotes/sync/remote-file-sync.service.js +440 -38
- package/dist/server/modules/remotes/sync/remote-file-sync.service.js.map +1 -1
- package/dist/server/modules/remotes/sync/remote-live-sync.service.d.ts +2 -0
- package/dist/server/modules/remotes/sync/remote-live-sync.service.js +26 -12
- package/dist/server/modules/remotes/sync/remote-live-sync.service.js.map +1 -1
- package/dist/server/modules/remotes/time/project-time-settler.dto.d.ts +21 -0
- package/dist/server/modules/remotes/time/project-time-settler.dto.js +12 -0
- package/dist/server/modules/remotes/time/project-time-settler.dto.js.map +1 -0
- package/dist/server/modules/remotes/time/project-time-settler.service.d.ts +2 -21
- package/dist/server/modules/remotes/time/project-time-settler.service.js +1 -9
- package/dist/server/modules/remotes/time/project-time-settler.service.js.map +1 -1
- package/dist/server/modules/remotes/transcripts/transcript-transfer.dto.d.ts +4 -4
- package/dist/server/modules/remotes/transport/host-transport.d.ts +27 -0
- package/dist/server/modules/remotes/transport/host-transport.js +105 -0
- package/dist/server/modules/remotes/transport/host-transport.js.map +1 -0
- package/dist/server/modules/remotes/vm-user-identity.d.ts +30 -0
- package/dist/server/modules/remotes/vm-user-identity.js +52 -0
- package/dist/server/modules/remotes/vm-user-identity.js.map +1 -0
- package/dist/server/modules/reviews/reviews.module.js +1 -9
- package/dist/server/modules/reviews/reviews.module.js.map +1 -1
- package/dist/server/modules/reviews/services/review-suggestion-applier.service.d.ts +4 -4
- package/dist/server/modules/reviews/services/review-suggestion-applier.service.js +6 -6
- package/dist/server/modules/reviews/services/review-suggestion-applier.service.js.map +1 -1
- package/dist/server/modules/reviews/services/reviews.service.d.ts +4 -4
- package/dist/server/modules/reviews/services/reviews.service.js +7 -12
- package/dist/server/modules/reviews/services/reviews.service.js.map +1 -1
- package/dist/server/modules/reviews/subscribers/review-comment-notifier.subscriber.js +2 -2
- package/dist/server/modules/reviews/subscribers/review-comment-notifier.subscriber.js.map +1 -1
- package/dist/server/modules/runtime-context-capture/claude-launch-settings-materializer.service.d.ts +11 -12
- package/dist/server/modules/runtime-context-capture/claude-launch-settings-materializer.service.js +37 -25
- package/dist/server/modules/runtime-context-capture/claude-launch-settings-materializer.service.js.map +1 -1
- package/dist/server/modules/runtime-context-capture/codex-plugin-profile-materializer.service.d.ts +11 -9
- package/dist/server/modules/runtime-context-capture/codex-plugin-profile-materializer.service.js +48 -2
- package/dist/server/modules/runtime-context-capture/codex-plugin-profile-materializer.service.js.map +1 -1
- package/dist/server/modules/runtime-context-capture/index.d.ts +3 -2
- package/dist/server/modules/runtime-context-capture/index.js.map +1 -1
- package/dist/server/modules/runtime-context-capture/provider-artifacts.types.d.ts +41 -0
- package/dist/server/modules/runtime-context-capture/provider-artifacts.types.js +3 -0
- package/dist/server/modules/runtime-context-capture/provider-artifacts.types.js.map +1 -0
- package/dist/server/modules/scheduled-epics/scheduled-epics.module.js +1 -2
- 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 +4 -4
- package/dist/server/modules/scheduled-epics/services/scheduled-epic-runner.service.js +6 -6
- 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 +2 -3
- package/dist/server/modules/scheduled-epics/services/scheduled-epics.service.js +9 -12
- package/dist/server/modules/scheduled-epics/services/scheduled-epics.service.js.map +1 -1
- package/dist/server/modules/seeders/services/data-seeder.service.d.ts +2 -3
- package/dist/server/modules/seeders/services/data-seeder.service.js.map +1 -1
- package/dist/server/modules/seeders/types/seeder.types.d.ts +2 -2
- package/dist/server/modules/session-reader/adapters/antigravity-session-reader.adapter.d.ts +1 -1
- package/dist/server/modules/session-reader/adapters/claude-session-reader.adapter.d.ts +4 -2
- package/dist/server/modules/session-reader/adapters/claude-session-reader.adapter.js +3 -0
- 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.d.ts +4 -2
- 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/adapters/opencode-session-reader.adapter.d.ts +1 -1
- package/dist/server/modules/session-reader/adapters/session-reader-adapter.interface.d.ts +2 -0
- package/dist/server/modules/session-reader/adapters/session-reader-adapter.interface.js.map +1 -1
- package/dist/server/modules/session-reader/data/pricing.json +3228 -3014
- package/dist/server/modules/session-reader/services/transcript-persistence.listener.d.ts +8 -18
- package/dist/server/modules/session-reader/services/transcript-persistence.listener.js +89 -172
- package/dist/server/modules/session-reader/services/transcript-persistence.listener.js.map +1 -1
- package/dist/server/modules/session-reader/services/transcript-watcher.service.js +12 -12
- package/dist/server/modules/session-reader/services/transcript-watcher.service.js.map +1 -1
- package/dist/server/modules/session-reader/session-reader.module.js +2 -0
- package/dist/server/modules/session-reader/session-reader.module.js.map +1 -1
- package/dist/server/modules/session-terminal-runtime/dtos/active-session-info.dto.js.map +1 -0
- package/dist/server/modules/session-terminal-runtime/session-terminal-runtime.module.js +2 -1
- package/dist/server/modules/session-terminal-runtime/session-terminal-runtime.module.js.map +1 -1
- package/dist/server/modules/session-terminal-runtime/session-terminal-runtime.service.d.ts +8 -4
- package/dist/server/modules/session-terminal-runtime/session-terminal-runtime.service.js +47 -18
- package/dist/server/modules/session-terminal-runtime/session-terminal-runtime.service.js.map +1 -1
- package/dist/server/modules/sessions/controllers/sessions.controller.d.ts +3 -5
- package/dist/server/modules/sessions/controllers/sessions.controller.js +8 -11
- package/dist/server/modules/sessions/controllers/sessions.controller.js.map +1 -1
- package/dist/server/modules/sessions/services/active-session-lookup.service.d.ts +4 -5
- package/dist/server/modules/sessions/services/active-session-lookup.service.js +9 -66
- package/dist/server/modules/sessions/services/active-session-lookup.service.js.map +1 -1
- package/dist/server/modules/sessions/services/message-pool.types.d.ts +1 -1
- package/dist/server/modules/sessions/services/provider-launch-config/provider-launch-config.service.d.ts +2 -2
- package/dist/server/modules/sessions/services/provider-launch-config/provider-launch-config.service.js +7 -2
- package/dist/server/modules/sessions/services/provider-launch-config/provider-launch-config.service.js.map +1 -1
- package/dist/server/modules/sessions/services/provider-runtime-preparation/provider-runtime-preparation.service.d.ts +3 -5
- package/dist/server/modules/sessions/services/provider-runtime-preparation/provider-runtime-preparation.service.js +56 -95
- package/dist/server/modules/sessions/services/provider-runtime-preparation/provider-runtime-preparation.service.js.map +1 -1
- package/dist/server/modules/sessions/services/session-launcher-facade.service.d.ts +1 -1
- package/dist/server/modules/sessions/services/session-launcher-facade.service.js +1 -1
- package/dist/server/modules/sessions/services/session-launcher-facade.service.js.map +1 -1
- package/dist/server/modules/sessions/services/session-lifecycle-facade.service.d.ts +3 -3
- package/dist/server/modules/sessions/services/session-lifecycle-facade.service.js +8 -8
- 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 +4 -0
- package/dist/server/modules/sessions/services/session-runtime/__test-utils__/pipeline-harness.js +10 -2
- package/dist/server/modules/sessions/services/session-runtime/__test-utils__/pipeline-harness.js.map +1 -1
- package/dist/server/modules/sessions/services/session-runtime/ensure-mcp-readiness.d.ts +1 -1
- package/dist/server/modules/sessions/services/session-runtime/session-launch-pipeline.service.d.ts +7 -7
- package/dist/server/modules/sessions/services/session-runtime/session-launch-pipeline.service.js +30 -29
- 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-restore-pipeline.service.d.ts +4 -2
- package/dist/server/modules/sessions/services/session-runtime/session-restore-pipeline.service.js +8 -9
- package/dist/server/modules/sessions/services/session-runtime/session-restore-pipeline.service.js.map +1 -1
- package/dist/server/modules/sessions/services/session-runtime/session-runtime.service.d.ts +3 -3
- package/dist/server/modules/sessions/services/session-runtime/session-runtime.service.js +7 -7
- 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.d.ts +4 -7
- package/dist/server/modules/sessions/services/sessions-message-pool.service.js +111 -211
- package/dist/server/modules/sessions/services/sessions-message-pool.service.js.map +1 -1
- package/dist/server/modules/sessions/services/sessions.service.d.ts +8 -10
- package/dist/server/modules/sessions/services/sessions.service.js +26 -158
- package/dist/server/modules/sessions/services/sessions.service.js.map +1 -1
- package/dist/server/modules/sessions/sessions-lifecycle.module.js +2 -2
- package/dist/server/modules/sessions/sessions-lifecycle.module.js.map +1 -1
- package/dist/server/modules/sessions/sessions-read.module.js +2 -2
- package/dist/server/modules/sessions/sessions-read.module.js.map +1 -1
- package/dist/server/modules/sessions/sessions.module.js +7 -5
- package/dist/server/modules/sessions/sessions.module.js.map +1 -1
- package/dist/server/modules/settings/controllers/settings.controller.d.ts +3 -4
- package/dist/server/modules/settings/controllers/settings.controller.js +6 -31
- package/dist/server/modules/settings/controllers/settings.controller.js.map +1 -1
- package/dist/server/modules/settings/dtos/settings.dto.d.ts +12 -12
- package/dist/server/modules/settings/local/delegates/core-settings.delegate.d.ts +5 -0
- package/dist/server/modules/settings/local/delegates/core-settings.delegate.js +36 -2
- package/dist/server/modules/settings/local/delegates/core-settings.delegate.js.map +1 -1
- package/dist/server/modules/settings/local/delegates/preset-settings.delegate.d.ts +4 -0
- package/dist/server/modules/settings/local/delegates/preset-settings.delegate.js +30 -23
- package/dist/server/modules/settings/local/delegates/preset-settings.delegate.js.map +1 -1
- package/dist/server/modules/settings/local/delegates/registry-settings.delegate.d.ts +2 -0
- package/dist/server/modules/settings/local/delegates/registry-settings.delegate.js +2 -0
- package/dist/server/modules/settings/local/delegates/registry-settings.delegate.js.map +1 -1
- package/dist/server/modules/settings/local/delegates/skills-settings.delegate.d.ts +6 -0
- package/dist/server/modules/settings/local/delegates/skills-settings.delegate.js +26 -0
- package/dist/server/modules/settings/local/delegates/skills-settings.delegate.js.map +1 -1
- package/dist/server/modules/settings/services/settings.service.d.ts +5 -2
- package/dist/server/modules/settings/services/settings.service.js +14 -4
- package/dist/server/modules/settings/services/settings.service.js.map +1 -1
- package/dist/server/modules/settings/settings.module.js +1 -2
- package/dist/server/modules/settings/settings.module.js.map +1 -1
- package/dist/server/modules/skills/adapters/anthropic-skill-source.adapter.js +5 -5
- package/dist/server/modules/skills/adapters/anthropic-skill-source.adapter.js.map +1 -1
- package/dist/server/modules/skills/adapters/github-directory-skill-source.adapter.js +5 -5
- package/dist/server/modules/skills/adapters/github-directory-skill-source.adapter.js.map +1 -1
- package/dist/server/modules/skills/adapters/github-skill-source.base.js +4 -3
- package/dist/server/modules/skills/adapters/github-skill-source.base.js.map +1 -1
- package/dist/server/modules/skills/adapters/local-skill-source.adapter.js +5 -5
- 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 +5 -5
- 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 +5 -5
- package/dist/server/modules/skills/adapters/openai-skill-source.adapter.js.map +1 -1
- package/dist/server/modules/skills/adapters/skill-source.adapter.d.ts +5 -0
- package/dist/server/modules/skills/adapters/skill-sync-temp-cleanup.d.ts +5 -0
- package/dist/server/modules/skills/adapters/skill-sync-temp-cleanup.js +75 -0
- package/dist/server/modules/skills/adapters/skill-sync-temp-cleanup.js.map +1 -0
- package/dist/server/modules/skills/adapters/trailofbits-skill-source.adapter.js +5 -5
- 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 +5 -5
- package/dist/server/modules/skills/adapters/vercel-skill-source.adapter.js.map +1 -1
- package/dist/server/modules/skills/controllers/skills.controller.js +2 -2
- package/dist/server/modules/skills/controllers/skills.controller.js.map +1 -1
- package/dist/server/modules/skills/services/skill-source-lifecycle.service.d.ts +5 -5
- package/dist/server/modules/skills/services/skill-source-lifecycle.service.js +9 -4
- package/dist/server/modules/skills/services/skill-source-lifecycle.service.js.map +1 -1
- package/dist/server/modules/skills/services/skill-sync.service.d.ts +3 -3
- package/dist/server/modules/skills/services/skill-sync.service.js +32 -6
- package/dist/server/modules/skills/services/skill-sync.service.js.map +1 -1
- package/dist/server/modules/skills/services/skill-sync.types.d.ts +3 -0
- package/dist/server/modules/skills/services/skills.service.d.ts +3 -1
- package/dist/server/modules/skills/services/skills.service.js +15 -2
- package/dist/server/modules/skills/services/skills.service.js.map +1 -1
- package/dist/server/modules/statuses/controllers/statuses.controller.d.ts +3 -3
- package/dist/server/modules/statuses/controllers/statuses.controller.js +8 -10
- package/dist/server/modules/statuses/controllers/statuses.controller.js.map +1 -1
- package/dist/server/modules/statuses/statuses.module.js +1 -2
- package/dist/server/modules/statuses/statuses.module.js.map +1 -1
- package/dist/server/modules/storage/db/db-file-permissions.d.ts +1 -0
- package/dist/server/modules/storage/db/db-file-permissions.js +24 -0
- package/dist/server/modules/storage/db/db-file-permissions.js.map +1 -0
- package/dist/server/modules/storage/db/db.provider.js +2 -0
- package/dist/server/modules/storage/db/db.provider.js.map +1 -1
- package/dist/server/modules/storage/db/migrate.js +2 -0
- package/dist/server/modules/storage/db/migrate.js.map +1 -1
- package/dist/server/modules/storage/db/schema.d.ts +2 -2
- package/dist/server/modules/storage/db/schema.js +2 -0
- package/dist/server/modules/storage/db/schema.js.map +1 -1
- package/dist/server/modules/storage/interfaces/storage.interface.d.ts +0 -1
- package/dist/server/modules/storage/interfaces/storage.interface.js.map +1 -1
- package/dist/server/modules/storage/local/delegates/agent-profile.delegate.d.ts +2 -2
- package/dist/server/modules/storage/local/delegates/agent-profile.delegate.js.map +1 -1
- package/dist/server/modules/storage/local/delegates/agent.delegate.d.ts +2 -2
- package/dist/server/modules/storage/local/delegates/agent.delegate.js.map +1 -1
- package/dist/server/modules/storage/local/delegates/epic.delegate.d.ts +5 -6
- package/dist/server/modules/storage/local/delegates/epic.delegate.js +3 -9
- package/dist/server/modules/storage/local/delegates/epic.delegate.js.map +1 -1
- package/dist/server/modules/storage/local/delegates/external-estimate-log.delegate.d.ts +16 -15
- package/dist/server/modules/storage/local/delegates/external-estimate-log.delegate.js +13 -13
- package/dist/server/modules/storage/local/delegates/external-estimate-log.delegate.js.map +1 -1
- package/dist/server/modules/storage/local/delegates/external-managed-subtask.delegate.d.ts +11 -10
- package/dist/server/modules/storage/local/delegates/external-managed-subtask.delegate.js +9 -9
- package/dist/server/modules/storage/local/delegates/external-managed-subtask.delegate.js.map +1 -1
- package/dist/server/modules/storage/local/delegates/guest.delegate.d.ts +2 -1
- package/dist/server/modules/storage/local/delegates/guest.delegate.js.map +1 -1
- package/dist/server/modules/storage/local/delegates/integration.delegate.d.ts +3 -4
- package/dist/server/modules/storage/local/delegates/integration.delegate.js +1 -1
- package/dist/server/modules/storage/local/delegates/integration.delegate.js.map +1 -1
- package/dist/server/modules/storage/local/delegates/profile-provider-config.delegate.d.ts +3 -16
- package/dist/server/modules/storage/local/delegates/profile-provider-config.delegate.js.map +1 -1
- package/dist/server/modules/storage/local/delegates/project-host.delegate.d.ts +2 -2
- package/dist/server/modules/storage/local/delegates/project-host.delegate.js.map +1 -1
- package/dist/server/modules/storage/local/delegates/project-replica-read.delegate.d.ts +2 -2
- package/dist/server/modules/storage/local/delegates/project-replica-read.delegate.js +1 -1
- package/dist/server/modules/storage/local/delegates/project-replica-read.delegate.js.map +1 -1
- package/dist/server/modules/storage/local/delegates/project-replica.delegate.d.ts +2 -2
- package/dist/server/modules/storage/local/delegates/project-replica.delegate.js.map +1 -1
- package/dist/server/modules/storage/local/delegates/project-workspace.delegate.d.ts +2 -1
- package/dist/server/modules/storage/local/delegates/project-workspace.delegate.js.map +1 -1
- package/dist/server/modules/storage/local/delegates/project.delegate.d.ts +4 -2
- package/dist/server/modules/storage/local/delegates/project.delegate.js +4 -0
- package/dist/server/modules/storage/local/delegates/project.delegate.js.map +1 -1
- package/dist/server/modules/storage/local/delegates/prompt.delegate.d.ts +3 -2
- package/dist/server/modules/storage/local/delegates/prompt.delegate.js.map +1 -1
- package/dist/server/modules/storage/local/delegates/provider-auth.delegate.d.ts +2 -1
- package/dist/server/modules/storage/local/delegates/provider-auth.delegate.js.map +1 -1
- package/dist/server/modules/storage/local/delegates/provider-effort.delegate.d.ts +2 -1
- package/dist/server/modules/storage/local/delegates/provider-effort.delegate.js.map +1 -1
- package/dist/server/modules/storage/local/delegates/provider-model.delegate.d.ts +2 -1
- package/dist/server/modules/storage/local/delegates/provider-model.delegate.js.map +1 -1
- package/dist/server/modules/storage/local/delegates/provider-plugin-policy.delegate.d.ts +2 -1
- package/dist/server/modules/storage/local/delegates/provider-plugin-policy.delegate.js.map +1 -1
- package/dist/server/modules/storage/local/delegates/provider.delegate.d.ts +3 -3
- package/dist/server/modules/storage/local/delegates/provider.delegate.js +9 -23
- package/dist/server/modules/storage/local/delegates/provider.delegate.js.map +1 -1
- package/dist/server/modules/storage/local/delegates/record.delegate.d.ts +2 -2
- package/dist/server/modules/storage/local/delegates/remote.delegate.d.ts +2 -2
- package/dist/server/modules/storage/local/delegates/remote.delegate.js.map +1 -1
- package/dist/server/modules/storage/local/delegates/review.delegate.d.ts +2 -2
- package/dist/server/modules/storage/local/delegates/review.delegate.js.map +1 -1
- package/dist/server/modules/storage/local/delegates/scheduled-epic.delegate.d.ts +2 -2
- package/dist/server/modules/storage/local/delegates/scheduled-epic.delegate.js.map +1 -1
- package/dist/server/modules/storage/local/delegates/session.delegate.d.ts +2 -1
- package/dist/server/modules/storage/local/delegates/session.delegate.js.map +1 -1
- package/dist/server/modules/storage/local/delegates/skill-source.delegate.d.ts +7 -3
- package/dist/server/modules/storage/local/delegates/skill-source.delegate.js +24 -11
- package/dist/server/modules/storage/local/delegates/skill-source.delegate.js.map +1 -1
- package/dist/server/modules/storage/local/delegates/status.delegate.d.ts +2 -2
- package/dist/server/modules/storage/local/delegates/subscriber.delegate.d.ts +2 -1
- package/dist/server/modules/storage/local/delegates/subscriber.delegate.js.map +1 -1
- package/dist/server/modules/storage/local/delegates/tag.delegate.d.ts +2 -2
- package/dist/server/modules/storage/local/delegates/watcher.delegate.d.ts +2 -1
- package/dist/server/modules/storage/local/delegates/watcher.delegate.js.map +1 -1
- package/dist/server/modules/storage/local/helpers/device-revocation-history.js.map +1 -0
- package/dist/server/modules/storage/local/local-storage.service.d.ts +6 -361
- package/dist/server/modules/storage/local/local-storage.service.js +119 -908
- package/dist/server/modules/storage/local/local-storage.service.js.map +1 -1
- package/dist/server/modules/storage/local/storage-routes.d.ts +1170 -0
- package/dist/server/modules/storage/local/storage-routes.js +465 -0
- package/dist/server/modules/storage/local/storage-routes.js.map +1 -0
- package/dist/server/modules/storage/models/domain.models.d.ts +1 -1
- package/dist/server/modules/storage/models/domain.models.js +2 -0
- package/dist/server/modules/storage/models/domain.models.js.map +1 -1
- package/dist/server/modules/storage/sessions/session-row.store.d.ts +42 -0
- package/dist/server/modules/storage/sessions/session-row.store.js +383 -0
- package/dist/server/modules/storage/sessions/session-row.store.js.map +1 -0
- package/dist/server/modules/storage/sessions/session-rows.module.d.ts +2 -0
- package/dist/server/modules/storage/sessions/session-rows.module.js +19 -0
- package/dist/server/modules/storage/sessions/session-rows.module.js.map +1 -0
- package/dist/server/modules/storage/sessions/session-transcript.types.d.ts +45 -0
- package/dist/server/modules/storage/sessions/session-transcript.types.js +3 -0
- package/dist/server/modules/storage/sessions/session-transcript.types.js.map +1 -0
- package/dist/server/modules/storage/storage.module.d.ts +3 -0
- package/dist/server/modules/storage/storage.module.js +15 -2
- package/dist/server/modules/storage/storage.module.js.map +1 -1
- package/dist/server/modules/storage/write-gate/project-write-gate.d.ts +32 -0
- package/dist/server/modules/storage/write-gate/project-write-gate.js +117 -0
- package/dist/server/modules/storage/write-gate/project-write-gate.js.map +1 -0
- package/dist/server/modules/storage/write-gate/storage-write-scope.d.ts +45 -0
- package/dist/server/modules/storage/write-gate/storage-write-scope.js +103 -0
- package/dist/server/modules/storage/write-gate/storage-write-scope.js.map +1 -0
- package/dist/server/modules/storage/write-gate/testing/project-write-gate.stub.d.ts +3 -0
- package/dist/server/modules/storage/write-gate/testing/project-write-gate.stub.js +13 -0
- package/dist/server/modules/storage/write-gate/testing/project-write-gate.stub.js.map +1 -0
- package/dist/server/modules/subscribers/actions/action.interface.d.ts +2 -2
- package/dist/server/modules/subscribers/actions/terminate-session.action.d.ts +7 -0
- package/dist/server/modules/subscribers/actions/terminate-session.action.js +58 -6
- package/dist/server/modules/subscribers/actions/terminate-session.action.js.map +1 -1
- package/dist/server/modules/subscribers/services/subscriber-executor.service.d.ts +5 -4
- package/dist/server/modules/subscribers/services/subscriber-executor.service.js +6 -6
- package/dist/server/modules/subscribers/services/subscriber-executor.service.js.map +1 -1
- package/dist/server/modules/subscribers/services/subscribers.service.d.ts +1 -3
- package/dist/server/modules/subscribers/services/subscribers.service.js +2 -8
- package/dist/server/modules/subscribers/services/subscribers.service.js.map +1 -1
- package/dist/server/modules/subscribers/subscribers.module.js +0 -2
- package/dist/server/modules/subscribers/subscribers.module.js.map +1 -1
- package/dist/server/modules/teams/controllers/teams.controller.d.ts +2 -2
- package/dist/server/modules/teams/controllers/teams.controller.js.map +1 -1
- package/dist/server/modules/teams/services/teams.service.d.ts +4 -4
- package/dist/server/modules/teams/services/teams.service.js +8 -18
- package/dist/server/modules/teams/services/teams.service.js.map +1 -1
- package/dist/server/modules/teams/services/teams.validators.d.ts +4 -4
- package/dist/server/modules/teams/services/teams.validators.js.map +1 -1
- package/dist/server/modules/teams/storage/teams.store.d.ts +4 -1
- package/dist/server/modules/teams/storage/teams.store.js +20 -2
- package/dist/server/modules/teams/storage/teams.store.js.map +1 -1
- package/dist/server/modules/teams/subscribers/team-config-updated-notifier.subscriber.d.ts +2 -2
- package/dist/server/modules/teams/subscribers/team-config-updated-notifier.subscriber.js +2 -2
- package/dist/server/modules/teams/subscribers/team-config-updated-notifier.subscriber.js.map +1 -1
- package/dist/server/modules/teams/subscribers/team-membership-changed-notifier.subscriber.js +3 -3
- package/dist/server/modules/teams/subscribers/team-membership-changed-notifier.subscriber.js.map +1 -1
- package/dist/server/modules/teams/teams.module.js +1 -8
- package/dist/server/modules/teams/teams.module.js.map +1 -1
- package/dist/server/modules/terminal/gateways/terminal.gateway.d.ts +10 -29
- package/dist/server/modules/terminal/gateways/terminal.gateway.js +40 -89
- package/dist/server/modules/terminal/gateways/terminal.gateway.js.map +1 -1
- package/dist/server/modules/terminal/services/guest-delivery.service.js +1 -0
- package/dist/server/modules/terminal/services/guest-delivery.service.js.map +1 -1
- package/dist/server/modules/terminal/services/human-prompt-input.service.d.ts +30 -0
- package/dist/server/modules/terminal/services/human-prompt-input.service.js +69 -0
- package/dist/server/modules/terminal/services/human-prompt-input.service.js.map +1 -0
- package/dist/server/modules/terminal/services/human-prompt-state.service.js +3 -2
- package/dist/server/modules/terminal/services/human-prompt-state.service.js.map +1 -1
- package/dist/server/modules/terminal/services/process-executor/fake-process-executor.d.ts +6 -0
- package/dist/server/modules/terminal/services/process-executor/fake-process-executor.js +23 -1
- package/dist/server/modules/terminal/services/process-executor/fake-process-executor.js.map +1 -1
- package/dist/server/modules/terminal/services/terminal-activity.service.d.ts +4 -3
- package/dist/server/modules/terminal/services/terminal-activity.service.js +26 -47
- package/dist/server/modules/terminal/services/terminal-activity.service.js.map +1 -1
- package/dist/server/modules/terminal/services/terminal-delivery.types.d.ts +1 -1
- package/dist/server/modules/terminal/services/terminal-io/delivery.d.ts +9 -3
- package/dist/server/modules/terminal/services/terminal-io/delivery.js +65 -28
- package/dist/server/modules/terminal/services/terminal-io/delivery.js.map +1 -1
- package/dist/server/modules/terminal/services/terminal-io/foreground.d.ts +7 -0
- package/dist/server/modules/terminal/services/terminal-io/foreground.js +35 -0
- package/dist/server/modules/terminal/services/terminal-io/foreground.js.map +1 -0
- package/dist/server/modules/terminal/services/terminal-io/lifecycle.js +15 -3
- package/dist/server/modules/terminal/services/terminal-io/lifecycle.js.map +1 -1
- package/dist/server/modules/terminal/services/terminal-io/monitoring.d.ts +3 -0
- package/dist/server/modules/terminal/services/terminal-io/monitoring.js +36 -0
- package/dist/server/modules/terminal/services/terminal-io/monitoring.js.map +1 -1
- package/dist/server/modules/terminal/services/terminal-io/terminal-io.service.d.ts +3 -0
- package/dist/server/modules/terminal/services/terminal-io/terminal-io.service.js +80 -19
- 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-key-input/terminal-key-input.facade.d.ts +6 -11
- package/dist/server/modules/terminal/services/terminal-key-input/terminal-key-input.facade.js +12 -43
- package/dist/server/modules/terminal/services/terminal-key-input/terminal-key-input.facade.js.map +1 -1
- package/dist/server/modules/terminal/services/terminal-registry-rehydrator.service.js +1 -1
- package/dist/server/modules/terminal/services/terminal-registry-rehydrator.service.js.map +1 -1
- package/dist/server/modules/terminal/services/terminal-seed.service.js +0 -4
- package/dist/server/modules/terminal/services/terminal-seed.service.js.map +1 -1
- package/dist/server/modules/terminal/terminal-delivery.module.js +3 -0
- package/dist/server/modules/terminal/terminal-delivery.module.js.map +1 -1
- package/dist/server/modules/terminal/terminal.module.js +2 -0
- package/dist/server/modules/terminal/terminal.module.js.map +1 -1
- package/dist/server/modules/terminal/utils/ansi-sanitizer.d.ts +0 -1
- package/dist/server/modules/terminal/utils/ansi-sanitizer.js +0 -4
- package/dist/server/modules/terminal/utils/ansi-sanitizer.js.map +1 -1
- package/dist/server/modules/watchers/services/watcher-runner.service.d.ts +2 -2
- package/dist/server/modules/watchers/services/watcher-runner.service.js +0 -3
- package/dist/server/modules/watchers/services/watcher-runner.service.js.map +1 -1
- package/dist/server/modules/watchers/services/watchers.service.d.ts +3 -3
- package/dist/server/modules/watchers/services/watchers.service.js +6 -9
- package/dist/server/modules/watchers/services/watchers.service.js.map +1 -1
- package/dist/server/modules/watchers/watchers.module.js +1 -8
- package/dist/server/modules/watchers/watchers.module.js.map +1 -1
- package/dist/server/modules/workspaces/services/workspace-mode-coordinator.service.d.ts +2 -2
- package/dist/server/modules/workspaces/services/workspace-mode-coordinator.service.js.map +1 -1
- package/dist/server/modules/workspaces/services/workspaces.service.d.ts +3 -3
- package/dist/server/modules/workspaces/services/workspaces.service.js +7 -7
- package/dist/server/modules/workspaces/services/workspaces.service.js.map +1 -1
- package/dist/server/modules/workspaces/workspaces.module.js +1 -2
- package/dist/server/modules/workspaces/workspaces.module.js.map +1 -1
- package/dist/server/templates/teams-dev.json +277 -261
- package/dist/server/test-setup-node.js +4 -3
- package/dist/server/test-setup-node.js.map +1 -1
- package/dist/server/test-setup.js +7 -0
- package/dist/server/test-setup.js.map +1 -1
- package/dist/server/tsconfig.build.tsbuildinfo +1 -0
- package/dist/server/ui/assets/{ExternalRichEditor-DtNvrV0F.js → ExternalRichEditor-CB-LjWox.js} +24 -24
- package/dist/server/ui/assets/ReviewDetailPage-CpMMjYet.js +6 -0
- package/dist/server/ui/assets/ReviewsPage-Cw17_agp.js +6 -0
- package/dist/server/ui/assets/index-BwuNu70G.css +32 -0
- package/dist/server/ui/assets/index-DmRXRpSy.js +1192 -0
- package/dist/server/ui/assets/useReviewSubscription-wd5iHNQy.js +69 -0
- package/dist/server/ui/index.html +2 -2
- package/dist/templates/teams-dev.json +277 -261
- package/package.json +18 -347
- package/dist/server/common/test/remote-project.fixture.d.ts +0 -32
- package/dist/server/common/test/remote-project.fixture.js +0 -328
- package/dist/server/common/test/remote-project.fixture.js.map +0 -1
- package/dist/server/common/test/two-instance.fixture.d.ts +0 -48
- package/dist/server/common/test/two-instance.fixture.js +0 -269
- package/dist/server/common/test/two-instance.fixture.js.map +0 -1
- package/dist/server/modules/e2ee/services/device-revocation-history.js.map +0 -1
- package/dist/server/modules/mcp/services/testing/mcp-tool-binding-registry.fixture.d.ts +0 -5
- package/dist/server/modules/mcp/services/testing/mcp-tool-binding-registry.fixture.js +0 -8
- package/dist/server/modules/mcp/services/testing/mcp-tool-binding-registry.fixture.js.map +0 -1
- package/dist/server/modules/reviews/utils/notification-formatter.d.ts +0 -12
- package/dist/server/modules/reviews/utils/notification-formatter.js +0 -60
- package/dist/server/modules/reviews/utils/notification-formatter.js.map +0 -1
- package/dist/server/modules/session-reader/services/transcript-turn-state.d.ts +0 -4
- package/dist/server/modules/session-reader/services/transcript-turn-state.js +0 -20
- package/dist/server/modules/session-reader/services/transcript-turn-state.js.map +0 -1
- package/dist/server/modules/sessions/dtos/active-session-info.dto.js.map +0 -1
- package/dist/server/modules/sessions/utils/claude-config.js.map +0 -1
- package/dist/server/modules/sessions/utils/codex-config.js.map +0 -1
- package/dist/server/modules/sessions/utils/env-builder.js.map +0 -1
- package/dist/server/modules/sessions/utils/profile-options.js.map +0 -1
- package/dist/server/modules/terminal/services/session-turn-signals.js.map +0 -1
- package/dist/server/tsconfig.tsbuildinfo +0 -1
- package/dist/server/ui/assets/ReviewDetailPage-DJzEoM0x.js +0 -6
- package/dist/server/ui/assets/ReviewsPage-z2O8MNEw.js +0 -6
- package/dist/server/ui/assets/index-CC4P3V8L.js +0 -994
- package/dist/server/ui/assets/index-LsJe1ZTS.css +0 -32
- package/dist/server/ui/assets/useReviewSubscription-B7AdJBO2.js +0 -69
- /package/dist/server/modules/{terminal/services → events/signals}/session-turn-signals.d.ts +0 -0
- /package/dist/server/modules/{terminal/services → events/signals}/session-turn-signals.js +0 -0
- /package/dist/server/modules/{sessions → providers}/utils/claude-config.d.ts +0 -0
- /package/dist/server/modules/{sessions → providers}/utils/claude-config.js +0 -0
- /package/dist/server/modules/{sessions → providers}/utils/codex-config.d.ts +0 -0
- /package/dist/server/modules/{sessions → providers}/utils/codex-config.js +0 -0
- /package/dist/server/modules/{sessions → providers}/utils/env-builder.d.ts +0 -0
- /package/dist/server/modules/{sessions → providers}/utils/env-builder.js +0 -0
- /package/dist/server/modules/{sessions → providers}/utils/profile-options.js +0 -0
- /package/dist/server/modules/{sessions → session-terminal-runtime}/dtos/active-session-info.dto.d.ts +0 -0
- /package/dist/server/modules/{sessions → session-terminal-runtime}/dtos/active-session-info.dto.js +0 -0
- /package/dist/server/modules/{e2ee/services → storage/local/helpers}/device-revocation-history.d.ts +0 -0
- /package/dist/server/modules/{e2ee/services → storage/local/helpers}/device-revocation-history.js +0 -0
|
@@ -7,16 +7,19 @@ export interface DockerPlanCapacity {
|
|
|
7
7
|
dockerRoot: DockerFilesystem | null;
|
|
8
8
|
binds: DockerPathCapacity[];
|
|
9
9
|
}
|
|
10
|
-
export declare function copiedMounts(item: DockerPlanItem): DockerPlanMount[];
|
|
11
|
-
export declare function copiedDataMounts(item: DockerPlanItem,
|
|
12
|
-
export declare function potentialDataMounts(item: DockerPlanItem, projectRoot: string): DockerPlanMount[];
|
|
10
|
+
export declare function copiedMounts(item: Pick<DockerPlanItem, 'mounts' | 'temporary' | 'selectedMode' | 'dataAction'>): DockerPlanMount[];
|
|
11
|
+
export declare function copiedDataMounts(item: Pick<DockerPlanItem, 'mounts' | 'temporary' | 'selectedMode' | 'dataAction'>, _projectRoot: string): DockerPlanMount[];
|
|
12
|
+
export declare function potentialDataMounts(item: Pick<DockerPlanItem, 'mounts' | 'temporary'>, projectRoot: string): DockerPlanMount[];
|
|
13
13
|
export declare function movesToVm(item: DockerPlanItem): boolean;
|
|
14
|
+
export declare function skipsImageCopy(item: DockerPlanItem, projectRoot: string): boolean;
|
|
15
|
+
export declare function copiesImages(item: DockerPlanItem, projectRoot: string): boolean;
|
|
14
16
|
export declare function writerStops(item: DockerPlanItem, containerIds: ReadonlySet<string>, projectRoot: string): string[];
|
|
15
17
|
export declare function uniqueCopiedMounts(items: DockerPlanItem[], projectRoot: string): DockerPlanMount[];
|
|
16
18
|
export declare function planDockerFit(items: DockerPlanItem[], presentImages: string[], capacity: DockerPlanCapacity, projectRoot: string): {
|
|
17
19
|
filesystems: DockerPlanFilesystem[];
|
|
18
20
|
fit: DockerPlan['fit'];
|
|
19
21
|
bytes: number;
|
|
22
|
+
unknown: boolean;
|
|
20
23
|
images: string[];
|
|
21
24
|
};
|
|
22
25
|
export declare function estimateDockerPlan(bytes: number, probeSeconds: number, exportBytesPerSecond: number | null): DockerPlan['estimate'];
|
|
@@ -5,30 +5,45 @@ exports.copiedMounts = copiedMounts;
|
|
|
5
5
|
exports.copiedDataMounts = copiedDataMounts;
|
|
6
6
|
exports.potentialDataMounts = potentialDataMounts;
|
|
7
7
|
exports.movesToVm = movesToVm;
|
|
8
|
+
exports.skipsImageCopy = skipsImageCopy;
|
|
9
|
+
exports.copiesImages = copiesImages;
|
|
8
10
|
exports.writerStops = writerStops;
|
|
9
11
|
exports.uniqueCopiedMounts = uniqueCopiedMounts;
|
|
10
12
|
exports.planDockerFit = planDockerFit;
|
|
11
13
|
exports.estimateDockerPlan = estimateDockerPlan;
|
|
12
14
|
exports.keptWriterStops = keptWriterStops;
|
|
13
15
|
const docker_plan_dto_1 = require("./docker-plan.dto");
|
|
14
|
-
const node_path_1 = require("node:path");
|
|
15
16
|
const docker_plan_files_1 = require("./docker-plan-files");
|
|
16
17
|
exports.DOCKER_LOAD_MARGIN_BYTES = 256 * 1024 * 1024;
|
|
17
18
|
function copiedMounts(item) {
|
|
18
|
-
if (!item.selectedMode ||
|
|
19
|
+
if (!item.selectedMode ||
|
|
20
|
+
item.selectedMode === 'without-data' ||
|
|
21
|
+
item.dataAction === 'keep-vm' ||
|
|
22
|
+
item.dataAction === 'start-empty')
|
|
19
23
|
return [];
|
|
20
24
|
return item.mounts.filter((mount) => item.temporary ? mount.kind === 'named-volume' : docker_plan_dto_1.COPYABLE_MOUNT_KINDS.includes(mount.kind));
|
|
21
25
|
}
|
|
22
|
-
function copiedDataMounts(item,
|
|
23
|
-
|
|
24
|
-
return copiedMounts(item).filter((mount) => (0, docker_plan_dto_1.isVolumeMount)(mount.kind) || (0, node_path_1.resolve)(mount.source) !== root);
|
|
26
|
+
function copiedDataMounts(item, _projectRoot) {
|
|
27
|
+
return copiedMounts(item);
|
|
25
28
|
}
|
|
26
29
|
function potentialDataMounts(item, projectRoot) {
|
|
27
30
|
return copiedDataMounts({ ...item, selectedMode: 'container-and-data', dataAction: undefined }, projectRoot);
|
|
28
31
|
}
|
|
29
32
|
function movesToVm(item) {
|
|
30
33
|
return (Boolean(item.selectedMode) &&
|
|
31
|
-
(item.targetAction !== 'leave-as-is' ||
|
|
34
|
+
(item.targetAction !== 'leave-as-is' ||
|
|
35
|
+
item.dataAction === 'keep-vm' ||
|
|
36
|
+
item.dataAction === 'start-empty'));
|
|
37
|
+
}
|
|
38
|
+
function skipsImageCopy(item, projectRoot) {
|
|
39
|
+
return (item.kind === 'container' &&
|
|
40
|
+
!item.temporary &&
|
|
41
|
+
item.buildsFromProject === true &&
|
|
42
|
+
item.targetAction === 'leave-as-is' &&
|
|
43
|
+
copiedDataMounts(item, projectRoot).length === 0);
|
|
44
|
+
}
|
|
45
|
+
function copiesImages(item, projectRoot) {
|
|
46
|
+
return movesToVm(item) && !skipsImageCopy(item, projectRoot);
|
|
32
47
|
}
|
|
33
48
|
function writerStops(item, containerIds, projectRoot) {
|
|
34
49
|
if (item.targetAction === 'leave-as-is' || !copiedDataMounts(item, projectRoot).length)
|
|
@@ -71,20 +86,23 @@ function planDockerFit(items, presentImages, capacity, projectRoot) {
|
|
|
71
86
|
};
|
|
72
87
|
const images = [
|
|
73
88
|
...new Map(items
|
|
74
|
-
.filter(
|
|
89
|
+
.filter((item) => copiesImages(item, projectRoot))
|
|
75
90
|
.flatMap((i) => i.images)
|
|
76
91
|
.map((image) => [image.id, image])).values(),
|
|
77
92
|
].filter((i) => !presentImages.includes(i.id));
|
|
78
93
|
let bytes = 0;
|
|
94
|
+
let unknown = false;
|
|
79
95
|
for (const image of images) {
|
|
80
96
|
add(capacity.imageStore?.path ?? 'image-store', capacity.imageStore, image.size);
|
|
81
97
|
bytes += image.size.bytes;
|
|
98
|
+
unknown ||= image.size.unknown;
|
|
82
99
|
}
|
|
83
100
|
if (images.length) {
|
|
84
101
|
add(capacity.imageStore?.path ?? 'image-store', capacity.imageStore, { bytes: 0, unknown: images.some((i) => i.size.unknown) }, Math.max(...images.map((i) => i.size.bytes)) + exports.DOCKER_LOAD_MARGIN_BYTES);
|
|
85
102
|
}
|
|
86
103
|
for (const mount of uniqueCopiedMounts(items, projectRoot)) {
|
|
87
104
|
bytes += mount.size.bytes;
|
|
105
|
+
unknown ||= mount.size.unknown;
|
|
88
106
|
if ((0, docker_plan_dto_1.isVolumeMount)(mount.kind))
|
|
89
107
|
add(capacity.dockerRoot?.path ?? 'docker-root', capacity.dockerRoot, mount.size);
|
|
90
108
|
else {
|
|
@@ -96,7 +114,7 @@ function planDockerFit(items, presentImages, capacity, projectRoot) {
|
|
|
96
114
|
group.status = filesystemStatus(group);
|
|
97
115
|
const filesystems = [...groups.values()];
|
|
98
116
|
const fit = ['refused', 'unknown', 'warning'].find((status) => filesystems.some((f) => f.status === status)) ?? 'fits';
|
|
99
|
-
return { filesystems, fit, bytes, images: images.map((i) => i.id) };
|
|
117
|
+
return { filesystems, fit, bytes, unknown, images: images.map((i) => i.id) };
|
|
100
118
|
}
|
|
101
119
|
function filesystemStatus(group) {
|
|
102
120
|
if (group.freeBytes !== null && group.requiredBytes > group.freeBytes)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"docker-plan-fit.js","sourceRoot":"","sources":["../../../../src/modules/remotes/docker/docker-plan-fit.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"docker-plan-fit.js","sourceRoot":"","sources":["../../../../src/modules/remotes/docker/docker-plan-fit.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,8 +1,12 @@
|
|
|
1
1
|
import { type DockerScanResult } from '../host/host-docker.dto';
|
|
2
2
|
import type { DockerImportInventory } from '../operations/docker-import-inventory.store';
|
|
3
|
-
import { type
|
|
3
|
+
import { type ConnectDockerChoice } from '../connect-choices.dto';
|
|
4
|
+
import { type DockerDataGroupCheck, type DockerPlan, type DockerPlanItem, type DockerPlanNetwork, type DockerPlanIssue, type DockerPlanRequest, type DockerSelectionMode } from './docker-plan.dto';
|
|
4
5
|
export declare const DATA_BLOCKER_CODES: readonly string[];
|
|
5
6
|
export declare function blocksMode(mode: DockerSelectionMode, code: string): boolean;
|
|
6
|
-
export declare function applyDockerPolicy(items: DockerPlanItem[], request: DockerPlanRequest, target: DockerScanResult, projectId: string, targetHome: string | null,
|
|
7
|
+
export declare function applyDockerPolicy(items: DockerPlanItem[], request: DockerPlanRequest, target: DockerScanResult, projectId: string, targetHome: string | null, projectRoot: string, remembered?: Readonly<Record<string, ConnectDockerChoice>>): void;
|
|
8
|
+
export declare function rangeConflict(homeSubnets: readonly string[], vmNetworks?: DockerScanResult['networks'], vmRoutes?: readonly string[]): string | undefined;
|
|
9
|
+
export declare function dockerNetworkPolicy(items: DockerPlanItem[], target: DockerScanResult): DockerPlanNetwork[];
|
|
10
|
+
export declare function dockerNetworkWarnings(networks: DockerPlanNetwork[]): DockerPlanIssue[];
|
|
7
11
|
export declare function dockerReconnect(items: DockerPlanItem[], inventory: DockerImportInventory | null, projectRoot: string): DockerPlan['reconnect'];
|
|
8
|
-
export declare function applyDockerDataPolicy(items: DockerPlanItem[], groups: DockerDataGroupCheck[], request: DockerPlanRequest, target: DockerScanResult): void;
|
|
12
|
+
export declare function applyDockerDataPolicy(items: DockerPlanItem[], groups: DockerDataGroupCheck[], request: DockerPlanRequest, target: DockerScanResult, inventory?: DockerImportInventory | null, projectRoot?: string, projectId?: string): void;
|
|
@@ -3,29 +3,48 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.DATA_BLOCKER_CODES = void 0;
|
|
4
4
|
exports.blocksMode = blocksMode;
|
|
5
5
|
exports.applyDockerPolicy = applyDockerPolicy;
|
|
6
|
+
exports.rangeConflict = rangeConflict;
|
|
7
|
+
exports.dockerNetworkPolicy = dockerNetworkPolicy;
|
|
8
|
+
exports.dockerNetworkWarnings = dockerNetworkWarnings;
|
|
6
9
|
exports.dockerReconnect = dockerReconnect;
|
|
7
10
|
exports.applyDockerDataPolicy = applyDockerDataPolicy;
|
|
8
11
|
const error_types_1 = require("../../../common/errors/error-types");
|
|
12
|
+
const docker_settings_1 = require("../../core/controllers/docker-settings");
|
|
9
13
|
const host_docker_dto_1 = require("../host/host-docker.dto");
|
|
14
|
+
const connect_choices_dto_1 = require("../connect-choices.dto");
|
|
15
|
+
const docker_data_groups_1 = require("./docker-data-groups");
|
|
16
|
+
const docker_data_representation_1 = require("./docker-data-representation");
|
|
17
|
+
const docker_ownership_1 = require("./docker-ownership");
|
|
10
18
|
const docker_plan_fit_1 = require("./docker-plan-fit");
|
|
11
19
|
const docker_plan_files_1 = require("./docker-plan-files");
|
|
20
|
+
const docker_project_resources_1 = require("./docker-project-resources");
|
|
12
21
|
const docker_plan_dto_1 = require("./docker-plan.dto");
|
|
13
22
|
exports.DATA_BLOCKER_CODES = [
|
|
14
23
|
'non-local-volume',
|
|
15
24
|
'external-writable-bind',
|
|
16
25
|
'bind-destination',
|
|
17
26
|
];
|
|
27
|
+
const CONTAINER_ONLY_BLOCKER_CODES = [
|
|
28
|
+
'runtime-bound',
|
|
29
|
+
'fixed-ipv4-unavailable',
|
|
30
|
+
'privileged-not-accepted',
|
|
31
|
+
];
|
|
32
|
+
const CONTAINER_BLOCKER_CODES = [
|
|
33
|
+
...CONTAINER_ONLY_BLOCKER_CODES,
|
|
34
|
+
'architecture-mismatch',
|
|
35
|
+
'readonly-path-missing',
|
|
36
|
+
];
|
|
18
37
|
function blocksMode(mode, code) {
|
|
19
38
|
if (mode === 'without-data')
|
|
20
39
|
return !exports.DATA_BLOCKER_CODES.includes(code);
|
|
21
|
-
return mode !== 'data-only' || code
|
|
40
|
+
return mode !== 'data-only' || !CONTAINER_ONLY_BLOCKER_CODES.includes(code);
|
|
22
41
|
}
|
|
23
|
-
function applyDockerPolicy(items, request, target, projectId, targetHome,
|
|
42
|
+
function applyDockerPolicy(items, request, target, projectId, targetHome, projectRoot, remembered = {}) {
|
|
24
43
|
const selections = new Map();
|
|
25
44
|
for (const selection of request.items ?? []) {
|
|
26
45
|
if (selections.has(selection.id) || !items.some((i) => i.id === selection.id))
|
|
27
46
|
throw new error_types_1.ValidationError('Docker selection has duplicate or unknown item ids');
|
|
28
|
-
selections.set(selection.id, selection
|
|
47
|
+
selections.set(selection.id, selection);
|
|
29
48
|
}
|
|
30
49
|
for (const item of items) {
|
|
31
50
|
for (const mount of item.mounts) {
|
|
@@ -63,14 +82,13 @@ function applyDockerPolicy(items, request, target, projectId, targetHome, target
|
|
|
63
82
|
code: 'architecture-mismatch',
|
|
64
83
|
message: 'Image architecture differs from the VM.',
|
|
65
84
|
});
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
const runtimeBound = item.blockers.some((b) => b.code === 'runtime-bound');
|
|
85
|
+
const existing = vmContainerNamed(target, item.name);
|
|
86
|
+
const action = existing
|
|
87
|
+
? counterpartAction(existing, target, projectId, projectRoot, item)
|
|
88
|
+
: 'create';
|
|
89
|
+
fixedIPv4Policy(item, target, action === 'conflict' ? undefined : existing?.id);
|
|
72
90
|
const dataBlocked = item.blockers.some((b) => exports.DATA_BLOCKER_CODES.includes(b.code));
|
|
73
|
-
const containerBlocked = item.blockers.some((b) =>
|
|
91
|
+
const containerBlocked = item.blockers.some((b) => CONTAINER_BLOCKER_CODES.includes(b.code));
|
|
74
92
|
if (item.temporary || item.kind === 'compose-project')
|
|
75
93
|
item.choices =
|
|
76
94
|
dataBlocked ||
|
|
@@ -82,43 +100,42 @@ function applyDockerPolicy(items, request, target, projectId, targetHome, target
|
|
|
82
100
|
item.choices.push('container-and-data');
|
|
83
101
|
if (!containerBlocked)
|
|
84
102
|
item.choices.push('without-data');
|
|
85
|
-
if (
|
|
103
|
+
if ((item.ownership?.class === 'follows-user' && !containerBlocked && !dataBlocked) ||
|
|
104
|
+
(item.privileged && !dataBlocked) ||
|
|
105
|
+
(item.blockers.length > 0 &&
|
|
106
|
+
item.blockers.every((b) => CONTAINER_ONLY_BLOCKER_CODES.includes(b.code))))
|
|
86
107
|
item.choices.push('data-only');
|
|
87
108
|
}
|
|
88
109
|
item.defaultSelected =
|
|
89
110
|
item.linkedReasons.length > 0 && !item.temporary && item.blockers.length === 0;
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
111
|
+
if (request.items !== undefined) {
|
|
112
|
+
item.selectedMode = selections.get(item.id)?.mode ?? null;
|
|
113
|
+
}
|
|
114
|
+
else {
|
|
115
|
+
const saved = remembered[(0, connect_choices_dto_1.connectChoiceKey)(item)];
|
|
116
|
+
if (saved?.included === false) {
|
|
117
|
+
item.defaultSelected = false;
|
|
118
|
+
item.selectedMode = null;
|
|
119
|
+
}
|
|
120
|
+
else if (saved?.mode && item.choices.includes(saved.mode)) {
|
|
121
|
+
item.defaultSelected = true;
|
|
122
|
+
item.selectedMode = saved.mode;
|
|
123
|
+
}
|
|
124
|
+
else {
|
|
125
|
+
item.selectedMode = item.defaultSelected ? (item.choices[0] ?? null) : null;
|
|
126
|
+
}
|
|
127
|
+
}
|
|
96
128
|
if (item.selectedMode && !item.choices.includes(item.selectedMode))
|
|
97
|
-
throw new error_types_1.ValidationError(`Unavailable Docker selection mode for item ${item.id}`);
|
|
98
|
-
const existing = target.containers.find((c) => c.name.replace(/^\//, '') === item.name);
|
|
129
|
+
throw new error_types_1.ValidationError(item.blockers.find((b) => b.code === 'fixed-ipv4-unavailable' && blocksMode(item.selectedMode, b.code))?.message ?? `Unavailable Docker selection mode for item ${item.id}`);
|
|
99
130
|
if (existing &&
|
|
100
131
|
item.kind === 'container' &&
|
|
101
132
|
!item.temporary &&
|
|
102
133
|
item.selectedMode !== 'data-only') {
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
target.volumes.some((v) => v.labels[host_docker_dto_1.DOCKER_PROJECT_LABEL] === projectId &&
|
|
106
|
-
v.labels[host_docker_dto_1.COMPOSE_PROJECT_LABEL] === composeProject);
|
|
107
|
-
const holdsImported = composeProject &&
|
|
108
|
-
existing.mounts.some((m) => m.type === 'volume' &&
|
|
109
|
-
target.volumes.some((v) => v.name === m.name &&
|
|
110
|
-
v.labels[host_docker_dto_1.DOCKER_PROJECT_LABEL] === projectId &&
|
|
111
|
-
v.labels[host_docker_dto_1.COMPOSE_PROJECT_LABEL] === composeProject));
|
|
112
|
-
if (existing.labels[host_docker_dto_1.DOCKER_PROJECT_LABEL] === projectId || holdsImported)
|
|
113
|
-
item.targetAction = 'replace';
|
|
114
|
-
else if (imported &&
|
|
115
|
-
!existing.mounts.some((m) => m.type === 'volume' &&
|
|
116
|
-
target.volumes.some((v) => v.name === m.name && Boolean(v.labels[host_docker_dto_1.DOCKER_PROJECT_LABEL])))) {
|
|
117
|
-
item.targetAction = 'leave-as-is';
|
|
134
|
+
item.targetAction = action;
|
|
135
|
+
if (action === 'leave-as-is') {
|
|
118
136
|
item.notes.push('already on the VM (managed by Compose), left as is');
|
|
119
137
|
}
|
|
120
|
-
else {
|
|
121
|
-
item.targetAction = 'conflict';
|
|
138
|
+
else if (action === 'conflict') {
|
|
122
139
|
item.blockers.push({
|
|
123
140
|
code: 'container-conflict',
|
|
124
141
|
message: `The VM container ${item.name} is not owned by this project; skip it or resolve the conflict manually.`,
|
|
@@ -133,16 +150,13 @@ function applyDockerPolicy(items, request, target, projectId, targetHome, target
|
|
|
133
150
|
const volume = target.volumes.find((v) => v.name === mount.source);
|
|
134
151
|
if (!volume)
|
|
135
152
|
continue;
|
|
136
|
-
if (volume.labels
|
|
153
|
+
if (!(0, docker_project_resources_1.projectVolume)(volume.labels, target.containers, projectRoot, projectId, target.volumes))
|
|
137
154
|
item.blockers.push({
|
|
138
155
|
code: 'volume-conflict',
|
|
139
156
|
message: `VM volume ${mount.source} is not owned by this project; it cannot be replaced.`,
|
|
140
157
|
});
|
|
141
158
|
for (const holder of target.containers.filter((c) => c.mounts.some((m) => m.type === 'volume' && m.name === mount.source))) {
|
|
142
|
-
const managed = holder
|
|
143
|
-
(Boolean(holder.labels[host_docker_dto_1.COMPOSE_PROJECT_LABEL]) &&
|
|
144
|
-
holder.labels[host_docker_dto_1.COMPOSE_PROJECT_LABEL] === volume.labels[host_docker_dto_1.COMPOSE_PROJECT_LABEL] &&
|
|
145
|
-
volume.labels[host_docker_dto_1.DOCKER_PROJECT_LABEL] === projectId);
|
|
159
|
+
const managed = (0, docker_project_resources_1.projectContainer)(holder, projectRoot, projectId, target.volumes);
|
|
146
160
|
if (!managed)
|
|
147
161
|
item.blockers.push({
|
|
148
162
|
code: 'unrelated-holder',
|
|
@@ -150,7 +164,120 @@ function applyDockerPolicy(items, request, target, projectId, targetHome, target
|
|
|
150
164
|
});
|
|
151
165
|
}
|
|
152
166
|
}
|
|
167
|
+
if (item.privileged &&
|
|
168
|
+
(item.selectedMode === 'container-and-data' || item.selectedMode === 'without-data') &&
|
|
169
|
+
!selections.get(item.id)?.acceptPrivileged)
|
|
170
|
+
item.blockers.push({
|
|
171
|
+
code: 'privileged-not-accepted',
|
|
172
|
+
message: 'Accept Run privileged for this container, or pick Copy its data only.',
|
|
173
|
+
});
|
|
174
|
+
}
|
|
175
|
+
}
|
|
176
|
+
function counterpartAction(existing, target, projectId, projectRoot, home) {
|
|
177
|
+
if ((0, docker_project_resources_1.foreignProjectOwner)(existing.labels, projectId))
|
|
178
|
+
return 'conflict';
|
|
179
|
+
const composeProject = existing.labels[host_docker_dto_1.COMPOSE_PROJECT_LABEL];
|
|
180
|
+
const importedVolumes = target.volumes.filter((v) => v.labels[host_docker_dto_1.DOCKER_PROJECT_LABEL] === projectId &&
|
|
181
|
+
v.labels[host_docker_dto_1.COMPOSE_PROJECT_LABEL] === composeProject);
|
|
182
|
+
const holdsImported = composeProject &&
|
|
183
|
+
existing.mounts.some((m) => m.type === 'volume' && importedVolumes.some((v) => v.name === m.name));
|
|
184
|
+
if (existing.labels[host_docker_dto_1.DOCKER_PROJECT_LABEL] === projectId || holdsImported)
|
|
185
|
+
return 'replace';
|
|
186
|
+
if ((0, docker_project_resources_1.projectContainer)(existing, projectRoot, projectId))
|
|
187
|
+
return home.mounts.some((mount) => docker_plan_dto_1.COPYABLE_MOUNT_KINDS.includes(mount.kind))
|
|
188
|
+
? 'replace'
|
|
189
|
+
: 'leave-as-is';
|
|
190
|
+
if (composeProject &&
|
|
191
|
+
importedVolumes.length &&
|
|
192
|
+
!existing.mounts.some((m) => m.type === 'volume' &&
|
|
193
|
+
target.volumes.some((v) => v.name === m.name && Boolean(v.labels[host_docker_dto_1.DOCKER_PROJECT_LABEL]))))
|
|
194
|
+
return 'leave-as-is';
|
|
195
|
+
return 'conflict';
|
|
196
|
+
}
|
|
197
|
+
function rangeConflict(homeSubnets, vmNetworks = [], vmRoutes = []) {
|
|
198
|
+
return (vmNetworks.find((other) => (0, docker_settings_1.overlappingIPv4Range)(homeSubnets, other.subnets))?.name ??
|
|
199
|
+
(0, docker_settings_1.overlappingIPv4Range)(homeSubnets, vmRoutes));
|
|
200
|
+
}
|
|
201
|
+
function dockerNetworkPolicy(items, target) {
|
|
202
|
+
const networks = new Map();
|
|
203
|
+
const selected = items.filter((item) => item.kind === 'container' && item.selectedMode);
|
|
204
|
+
for (const item of selected)
|
|
205
|
+
for (const network of item.networks ?? [])
|
|
206
|
+
networks.set(network.name, network);
|
|
207
|
+
const fixedNetworks = new Set(selected
|
|
208
|
+
.filter((item) => !item.temporary && item.selectedMode !== 'data-only')
|
|
209
|
+
.flatMap((item) => item.fixedIPv4?.map((fixed) => fixed.network) ?? []));
|
|
210
|
+
return [...networks.values()].map((network) => {
|
|
211
|
+
const existing = target.networks?.find((vm) => vm.name === network.name);
|
|
212
|
+
if (existing) {
|
|
213
|
+
const differs = !network.subnets.some((home) => existing.subnets.includes(home));
|
|
214
|
+
const overlaps = differs
|
|
215
|
+
? rangeConflict(network.subnets, target.networks?.filter((vm) => vm.name !== network.name), target.routes?.filter((route) => !existing.subnets.includes(route)))
|
|
216
|
+
: undefined;
|
|
217
|
+
return {
|
|
218
|
+
...network,
|
|
219
|
+
kind: 'reused',
|
|
220
|
+
vmSubnets: existing.subnets,
|
|
221
|
+
differs,
|
|
222
|
+
...(overlaps ? { overlaps } : {}),
|
|
223
|
+
};
|
|
224
|
+
}
|
|
225
|
+
const overlaps = rangeConflict(network.subnets, target.networks, target.routes);
|
|
226
|
+
return overlaps && !fixedNetworks.has(network.name)
|
|
227
|
+
? { ...network, kind: 'automatic-range', overlaps }
|
|
228
|
+
: { ...network, kind: 'home-range' };
|
|
229
|
+
});
|
|
230
|
+
}
|
|
231
|
+
function dockerNetworkWarnings(networks) {
|
|
232
|
+
return networks.flatMap((network) => {
|
|
233
|
+
if (network.kind === 'automatic-range')
|
|
234
|
+
return [
|
|
235
|
+
{
|
|
236
|
+
code: 'network-automatic-range',
|
|
237
|
+
message: `Network ${network.name} uses an automatic VM range because its home range ${network.subnets.join(', ')} overlaps ${network.overlaps}.`,
|
|
238
|
+
},
|
|
239
|
+
];
|
|
240
|
+
if (network.kind === 'reused' && network.differs) {
|
|
241
|
+
const remedy = network.overlaps
|
|
242
|
+
? `The home range overlaps ${network.overlaps} on the VM, so removing the VM network would not restore it. Keep the VM range, or free the home range on the VM first.`
|
|
243
|
+
: 'Remove the VM network when no container uses it, then connect again.';
|
|
244
|
+
return [
|
|
245
|
+
{
|
|
246
|
+
code: 'network-range-differs',
|
|
247
|
+
message: `VM network ${network.name} uses ${network.vmSubnets.join(', ') || 'no IPv4 range'}, not the home range ${network.subnets.join(', ') || 'no IPv4 range'}. ${remedy}`,
|
|
248
|
+
},
|
|
249
|
+
];
|
|
250
|
+
}
|
|
251
|
+
return [];
|
|
252
|
+
});
|
|
253
|
+
}
|
|
254
|
+
function fixedIPv4Policy(item, target, counterpartId) {
|
|
255
|
+
for (const fixed of item.fixedIPv4 ?? []) {
|
|
256
|
+
const reason = fixedIPv4Refusal(fixed, target, counterpartId);
|
|
257
|
+
if (reason)
|
|
258
|
+
item.blockers.push({
|
|
259
|
+
code: 'fixed-ipv4-unavailable',
|
|
260
|
+
message: `${item.name} cannot use ${fixed.address} on network ${fixed.network}: ${reason}`,
|
|
261
|
+
});
|
|
262
|
+
}
|
|
263
|
+
}
|
|
264
|
+
function fixedIPv4Refusal(fixed, target, counterpartId) {
|
|
265
|
+
const network = target.networks?.find((n) => n.name === fixed.network);
|
|
266
|
+
if (!network) {
|
|
267
|
+
const vmNetwork = target.networks?.find((other) => (0, docker_settings_1.overlappingIPv4Range)(fixed.subnets, other.subnets));
|
|
268
|
+
if (vmNetwork)
|
|
269
|
+
return `the home network range overlaps VM network ${vmNetwork.name}. Remove the unused VM network and connect again, or change the network range and address on the PC.`;
|
|
270
|
+
const route = (0, docker_settings_1.overlappingIPv4Range)(fixed.subnets, target.routes ?? []);
|
|
271
|
+
if (route)
|
|
272
|
+
return `the home network range overlaps VM on-link route ${route}. Change the network range and address on the PC, then connect again.`;
|
|
273
|
+
return undefined;
|
|
153
274
|
}
|
|
275
|
+
if (!network.subnets.some((subnet) => (0, docker_settings_1.containsIPv4)(subnet, fixed.address)))
|
|
276
|
+
return 'the address is outside the VM network range. Remove the VM network when no container uses it and connect again, or change the address on the PC.';
|
|
277
|
+
const holder = network.addresses?.find((entry) => entry.address === fixed.address && entry.containerId !== counterpartId);
|
|
278
|
+
if (holder)
|
|
279
|
+
return `VM container ${holder.containerName} uses that address. Free the address on the VM, or change the address on the PC.`;
|
|
280
|
+
return undefined;
|
|
154
281
|
}
|
|
155
282
|
function dockerReconnect(items, inventory, projectRoot) {
|
|
156
283
|
if (!inventory)
|
|
@@ -178,11 +305,25 @@ function dockerReconnect(items, inventory, projectRoot) {
|
|
|
178
305
|
lossNotice: 'Fresh home data replaces the VM copies DevChain created. VM changes not copied back are lost; Cancel cannot recover a VM copy already replaced.',
|
|
179
306
|
};
|
|
180
307
|
}
|
|
308
|
+
function vmContainerNamed(target, name) {
|
|
309
|
+
return target.containers.find((container) => container.name.replace(/^\//, '') === name);
|
|
310
|
+
}
|
|
181
311
|
function normalizeArchitecture(value) {
|
|
182
312
|
return { x86_64: 'amd64', aarch64: 'arm64' }[value] ?? value;
|
|
183
313
|
}
|
|
184
|
-
function applyDockerDataPolicy(items, groups, request, target) {
|
|
314
|
+
function applyDockerDataPolicy(items, groups, request, target, inventory = null, projectRoot, projectId) {
|
|
185
315
|
const selections = new Map((request.items ?? []).map((i) => [i.id, i]));
|
|
316
|
+
for (const item of items) {
|
|
317
|
+
const state = groups.find((g) => g.itemIds.includes(item.id))?.state;
|
|
318
|
+
if (state === 'no-record' || !item.choices.includes('container-and-data'))
|
|
319
|
+
continue;
|
|
320
|
+
item.choices = item.choices.filter((choice) => choice !== 'without-data');
|
|
321
|
+
if (item.selectedMode !== 'without-data')
|
|
322
|
+
continue;
|
|
323
|
+
if (request.items !== undefined)
|
|
324
|
+
throw new error_types_1.ValidationError(`Unavailable Docker selection mode for item ${item.id}`);
|
|
325
|
+
item.selectedMode = item.choices[0] ?? null;
|
|
326
|
+
}
|
|
186
327
|
for (const group of groups) {
|
|
187
328
|
const members = items.filter((i) => group.itemIds.includes(i.id));
|
|
188
329
|
const selected = members.filter((i) => i.selectedMode);
|
|
@@ -195,13 +336,116 @@ function applyDockerDataPolicy(items, groups, request, target) {
|
|
|
195
336
|
bindPaths: group.bindPaths.filter((p) => target.paths.some((entry) => entry.path === p && 'exists' in entry && !entry.exists)),
|
|
196
337
|
};
|
|
197
338
|
const partial = missing.volumes.length > 0 || missing.bindPaths.length > 0;
|
|
339
|
+
const follows = group.ownership?.class === 'follows-user';
|
|
340
|
+
const matchingRecords = (inventory?.groups ?? []).filter((record) => (0, docker_data_groups_1.overlapsData)(group, record));
|
|
341
|
+
const compatibleRecord = (0, docker_data_representation_1.dataRepresentationMatches)(group, matchingRecords);
|
|
342
|
+
const incompatible = group.ownership !== undefined &&
|
|
343
|
+
group.state !== 'no-record' &&
|
|
344
|
+
members.some((member) => {
|
|
345
|
+
const existing = vmContainerNamed(target, member.name);
|
|
346
|
+
const desired = (0, docker_ownership_1.dockerTargetUser)(member);
|
|
347
|
+
return existing && desired !== undefined && existing.user !== desired && !compatibleRecord;
|
|
348
|
+
});
|
|
349
|
+
if (follows || incompatible) {
|
|
350
|
+
const holdsData = group.state !== 'no-record';
|
|
351
|
+
const available = holdsData
|
|
352
|
+
? ['keep-vm', 'replace-home', 'start-empty']
|
|
353
|
+
: ['replace-home', 'start-empty'];
|
|
354
|
+
if (choice === 'start-empty' &&
|
|
355
|
+
(target.volumes.some((volume) => group.volumes.includes(volume.name) &&
|
|
356
|
+
(volume.driver !== 'local' ||
|
|
357
|
+
(projectId !== undefined &&
|
|
358
|
+
!(0, docker_project_resources_1.projectVolume)(volume.labels, target.containers, projectRoot, projectId, target.volumes)))) ||
|
|
359
|
+
(projectRoot !== undefined &&
|
|
360
|
+
group.bindPaths.some((path) => path === projectRoot || !(0, docker_plan_files_1.within)(projectRoot, path)))))
|
|
361
|
+
throw new error_types_1.ValidationError('Start with empty data requires project-owned local volumes and in-project data folders.');
|
|
362
|
+
if (choice && !available.includes(choice))
|
|
363
|
+
throw new error_types_1.ValidationError('Unavailable Docker data choice for this ownership group.');
|
|
364
|
+
const anyWithoutData = selected.some((member) => member.selectedMode === 'without-data');
|
|
365
|
+
let defaultAction = 'replace-home';
|
|
366
|
+
if (holdsData)
|
|
367
|
+
defaultAction = 'keep-vm';
|
|
368
|
+
else if (anyWithoutData)
|
|
369
|
+
defaultAction = 'start-empty';
|
|
370
|
+
const action = choice ?? defaultAction;
|
|
371
|
+
if (action === 'replace-home' && anyWithoutData)
|
|
372
|
+
throw new error_types_1.ValidationError('Docker items sharing data cannot mix replacement and without-data choices');
|
|
373
|
+
for (const member of members) {
|
|
374
|
+
member.dataGroup = group.itemIds;
|
|
375
|
+
member.dataState = group.state;
|
|
376
|
+
member.dataChoices = available;
|
|
377
|
+
member.dataChoice = choice ?? (holdsData ? 'keep-vm' : undefined);
|
|
378
|
+
member.dataAction = action;
|
|
379
|
+
member.dataChoiceRequired = false;
|
|
380
|
+
member.missingData = missing;
|
|
381
|
+
const existing = vmContainerNamed(target, member.name);
|
|
382
|
+
if (!existing) {
|
|
383
|
+
if (holdsData &&
|
|
384
|
+
!compatibleRecord &&
|
|
385
|
+
member.ownership?.class === 'follows-user' &&
|
|
386
|
+
member.dataAction === 'keep-vm' &&
|
|
387
|
+
member.selectedMode !== 'data-only')
|
|
388
|
+
member.blockers.push({
|
|
389
|
+
code: 'ownership-data-incompatible',
|
|
390
|
+
message: 'The VM data has no matching ownership representation. Replace with home data or start with empty data before creating this container with VM user ids.',
|
|
391
|
+
});
|
|
392
|
+
continue;
|
|
393
|
+
}
|
|
394
|
+
if (member.targetAction === 'conflict' || member.selectedMode === 'data-only')
|
|
395
|
+
continue;
|
|
396
|
+
member.vmUser = existing.user;
|
|
397
|
+
if (member.dataAction !== 'keep-vm') {
|
|
398
|
+
member.targetAction = 'replace';
|
|
399
|
+
continue;
|
|
400
|
+
}
|
|
401
|
+
const desired = (0, docker_ownership_1.dockerTargetUser)(member);
|
|
402
|
+
if (incompatible && existing.user !== desired) {
|
|
403
|
+
member.targetAction = 'leave-as-is';
|
|
404
|
+
member.retainedOwnership =
|
|
405
|
+
inventory?.items.find((item) => item.name === member.name)?.ownership ??
|
|
406
|
+
(member.ownership
|
|
407
|
+
? {
|
|
408
|
+
class: 'exact',
|
|
409
|
+
home: member.ownership.home,
|
|
410
|
+
vm: member.ownership.vm,
|
|
411
|
+
targetUser: existing.user,
|
|
412
|
+
}
|
|
413
|
+
: undefined);
|
|
414
|
+
member.notes.push(`runs as ${existing.user || '0'} until its data is reset or copied again`);
|
|
415
|
+
}
|
|
416
|
+
else if (existing.user !== desired) {
|
|
417
|
+
member.targetAction = 'replace';
|
|
418
|
+
}
|
|
419
|
+
else {
|
|
420
|
+
member.targetAction = 'leave-as-is';
|
|
421
|
+
}
|
|
422
|
+
}
|
|
423
|
+
continue;
|
|
424
|
+
}
|
|
425
|
+
if (choice === 'start-empty')
|
|
426
|
+
throw new error_types_1.ValidationError('Start with empty data is unavailable for this group.');
|
|
427
|
+
for (const member of members)
|
|
428
|
+
member.dataChoices = ['keep-vm', 'replace-home'];
|
|
198
429
|
const requiresChoice = group.state === 'both-changed' ||
|
|
199
430
|
group.state === 'unknown' ||
|
|
200
431
|
(partial && group.state === 'home-newer');
|
|
201
432
|
const action = connectDataAction(group.state, choice, requiresChoice);
|
|
433
|
+
if (request.items === undefined &&
|
|
434
|
+
action === 'replace-home' &&
|
|
435
|
+
selected.some((i) => i.selectedMode === 'without-data')) {
|
|
436
|
+
for (const member of selected) {
|
|
437
|
+
if (member.choices.includes('without-data')) {
|
|
438
|
+
member.selectedMode = 'without-data';
|
|
439
|
+
}
|
|
440
|
+
else {
|
|
441
|
+
member.selectedMode = null;
|
|
442
|
+
member.defaultSelected = false;
|
|
443
|
+
}
|
|
444
|
+
}
|
|
445
|
+
}
|
|
202
446
|
if (action === 'replace-home' &&
|
|
203
447
|
selected.some((i) => i.selectedMode === 'without-data') &&
|
|
204
|
-
selected.some((i) => i.selectedMode !== 'without-data'))
|
|
448
|
+
selected.some((i) => i.selectedMode !== null && i.selectedMode !== 'without-data'))
|
|
205
449
|
throw new error_types_1.ValidationError('Docker items sharing data cannot mix replacement and without-data choices');
|
|
206
450
|
for (const item of members) {
|
|
207
451
|
item.dataGroup = group.itemIds;
|