devchain-cli 0.24.2 → 0.26.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 +12 -3
- package/dist/build-info.json +2 -2
- package/dist/cli.js +34 -76
- package/dist/drizzle/0094_agent_worktree_lanes.sql +20 -0
- package/dist/drizzle/meta/0094_snapshot.json +7810 -0
- package/dist/drizzle/meta/_journal.json +7 -0
- package/dist/host-cli-pins.json +1 -1
- package/dist/host-install/devchain-host-bootstrap.tgz +0 -0
- package/dist/host-install/pins.json +4 -2
- package/dist/lib/git-owner.js +30 -205
- package/dist/lib/git-shim.js +417 -0
- package/dist/lib/git-supervisor.js +289 -0
- package/dist/lib/host-api-key.js +75 -19
- package/dist/lib/local-api.js +4 -2
- package/dist/lib/local-app-process.js +77 -0
- package/dist/node_modules/@devchain/shared/index.d.ts +1 -0
- package/dist/node_modules/@devchain/shared/index.d.ts.map +1 -1
- package/dist/node_modules/@devchain/shared/index.js +1 -0
- package/dist/node_modules/@devchain/shared/index.js.map +1 -1
- package/dist/node_modules/@devchain/shared/mobile-rpc-contract/index.d.ts +511 -3
- 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 +56 -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/index.d.ts +1 -0
- package/dist/node_modules/@devchain/shared/schemas/index.d.ts.map +1 -1
- package/dist/node_modules/@devchain/shared/schemas/index.js +1 -0
- package/dist/node_modules/@devchain/shared/schemas/index.js.map +1 -1
- package/dist/node_modules/@devchain/shared/schemas/project-replica.d.ts +3855 -3855
- package/dist/node_modules/@devchain/shared/schemas/provider-clis.js +1 -1
- package/dist/node_modules/@devchain/shared/schemas/provider-clis.js.map +1 -1
- package/dist/node_modules/@devchain/shared/schemas/provider-usage.d.ts +350 -0
- package/dist/node_modules/@devchain/shared/schemas/provider-usage.d.ts.map +1 -0
- package/dist/node_modules/@devchain/shared/schemas/provider-usage.js +71 -0
- package/dist/node_modules/@devchain/shared/schemas/provider-usage.js.map +1 -0
- package/dist/node_modules/@devchain/shared/tsconfig.tsbuildinfo +1 -1
- package/dist/server/app.module.js +4 -0
- package/dist/server/app.module.js.map +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/config/vm-destroy-fence.d.ts +18 -0
- package/dist/server/common/config/vm-destroy-fence.js +38 -0
- package/dist/server/common/config/vm-destroy-fence.js.map +1 -0
- package/dist/server/common/errors/error-types.d.ts +3 -0
- package/dist/server/common/errors/error-types.js +10 -1
- package/dist/server/common/errors/error-types.js.map +1 -1
- package/dist/server/common/git-shim-paths.d.ts +4 -0
- package/dist/server/common/git-shim-paths.js +24 -0
- package/dist/server/common/git-shim-paths.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/test/fake-bootstrap.server.d.ts +5 -0
- package/dist/server/common/test/fake-bootstrap.server.js +12 -3
- package/dist/server/common/test/fake-bootstrap.server.js.map +1 -1
- package/dist/server/common/test/fake-docker-engine.server.d.ts +8 -0
- package/dist/server/common/test/fake-docker-engine.server.js +34 -1
- package/dist/server/common/test/fake-docker-engine.server.js.map +1 -1
- package/dist/server/common/test/shared-vm.stub.d.ts +2 -0
- package/dist/server/common/test/shared-vm.stub.js +13 -0
- package/dist/server/common/test/shared-vm.stub.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/main.js +2 -0
- package/dist/server/main.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 +11 -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 +6 -2
- package/dist/server/modules/cloud-tunnel/services/mobile-chat-rpc.service.js +11 -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 +509 -1
- package/dist/server/modules/cloud-tunnel/services/mobile-rpc-contract.generated.js +57 -1
- 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 +3 -2
- package/dist/server/modules/cloud-tunnel/services/mobile-rpc-workspace-access.service.js +1 -0
- 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 +55 -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-engine.client.d.ts +4 -0
- package/dist/server/modules/core/controllers/docker-engine.client.js +38 -0
- package/dist/server/modules/core/controllers/docker-engine.client.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/runtime.controller.d.ts +2 -56
- 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/broadcast-registry.js +8 -0
- package/dist/server/modules/events/catalog/broadcast-registry.js.map +1 -1
- package/dist/server/modules/events/catalog/index.d.ts +18 -11
- package/dist/server/modules/events/catalog/index.js +3 -0
- package/dist/server/modules/events/catalog/index.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/catalog/provider-usage.updated.d.ts +12 -0
- package/dist/server/modules/events/catalog/provider-usage.updated.js +13 -0
- package/dist/server/modules/events/catalog/provider-usage.updated.js.map +1 -0
- package/dist/server/modules/events/catalog/review.comment.created.d.ts +2 -2
- package/dist/server/modules/events/catalog/review.created.d.ts +8 -8
- 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/file-sync-auto-fix.dto.js +1 -2
- package/dist/server/modules/file-sync/file-sync-auto-fix.dto.js.map +1 -1
- package/dist/server/modules/file-sync/file-sync.dto.d.ts +37 -6
- package/dist/server/modules/file-sync/file-sync.dto.js +19 -2
- package/dist/server/modules/file-sync/file-sync.dto.js.map +1 -1
- package/dist/server/modules/file-sync/file-sync.module.js +17 -4
- package/dist/server/modules/file-sync/file-sync.module.js.map +1 -1
- package/dist/server/modules/file-sync/file-sync.service.d.ts +7 -1
- package/dist/server/modules/file-sync/file-sync.service.js +43 -4
- package/dist/server/modules/file-sync/file-sync.service.js.map +1 -1
- package/dist/server/modules/file-sync/git-guard.dto.d.ts +0 -21
- package/dist/server/modules/file-sync/git-guard.dto.js +1 -7
- package/dist/server/modules/file-sync/git-guard.dto.js.map +1 -1
- package/dist/server/modules/file-sync/home-git-guard.service.d.ts +4 -1
- package/dist/server/modules/file-sync/home-git-guard.service.js +128 -22
- 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 +7 -6
- package/dist/server/modules/file-sync/host-git-guard.controller.js +13 -7
- package/dist/server/modules/file-sync/host-git-guard.controller.js.map +1 -1
- package/dist/server/modules/file-sync/host-sync.controller.d.ts +22 -21
- package/dist/server/modules/file-sync/host-sync.controller.js +71 -46
- package/dist/server/modules/file-sync/host-sync.controller.js.map +1 -1
- package/dist/server/modules/file-sync/ignore-pattern-matcher.d.ts +3 -0
- package/dist/server/modules/file-sync/ignore-pattern-matcher.js +58 -14
- package/dist/server/modules/file-sync/ignore-pattern-matcher.js.map +1 -1
- package/dist/server/modules/file-sync/sync-path-inspection.dto.d.ts +11 -27
- package/dist/server/modules/file-sync/sync-path-inspection.dto.js +1 -9
- package/dist/server/modules/file-sync/sync-path-inspection.dto.js.map +1 -1
- package/dist/server/modules/file-sync/sync-path-inspector.d.ts +1 -1
- package/dist/server/modules/file-sync/sync-path-inspector.js +20 -4
- package/dist/server/modules/file-sync/sync-path-inspector.js.map +1 -1
- package/dist/server/modules/file-sync/syncthing-launcher.d.ts +5 -0
- package/dist/server/modules/file-sync/syncthing-launcher.js +22 -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 +6 -2
- package/dist/server/modules/file-sync/testing/fake-file-sync.service.js +9 -0
- 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/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/dtos/mcp.dto.d.ts +95 -1
- package/dist/server/modules/mcp/dtos/mcp.dto.js +45 -2
- package/dist/server/modules/mcp/dtos/mcp.dto.js.map +1 -1
- package/dist/server/modules/mcp/mcp-full.module.js +2 -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/epic-context.d.ts +2 -2
- package/dist/server/modules/mcp/services/handlers/epic-tools.js +16 -0
- package/dist/server/modules/mcp/services/handlers/epic-tools.js.map +1 -1
- package/dist/server/modules/mcp/services/handlers/teams-tools.d.ts +1 -0
- package/dist/server/modules/mcp/services/handlers/teams-tools.js +51 -0
- package/dist/server/modules/mcp/services/handlers/teams-tools.js.map +1 -1
- package/dist/server/modules/mcp/services/handlers/worktree-context.d.ts +6 -0
- package/dist/server/modules/mcp/services/handlers/worktree-context.js +3 -0
- package/dist/server/modules/mcp/services/handlers/worktree-context.js.map +1 -0
- package/dist/server/modules/mcp/services/handlers/worktree-tools.d.ts +7 -0
- package/dist/server/modules/mcp/services/handlers/worktree-tools.js +77 -0
- package/dist/server/modules/mcp/services/handlers/worktree-tools.js.map +1 -0
- package/dist/server/modules/mcp/services/mcp-tool-binding.registry.d.ts +4 -4
- package/dist/server/modules/mcp/services/mcp-tool-binding.registry.js +8 -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 +6 -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/mcp/tool-descriptors/epic.metadata.js +2 -2
- package/dist/server/modules/mcp/tool-descriptors/epic.metadata.js.map +1 -1
- package/dist/server/modules/mcp/tool-descriptors/index.js +2 -0
- package/dist/server/modules/mcp/tool-descriptors/index.js.map +1 -1
- package/dist/server/modules/mcp/tool-descriptors/runtime-bindings.js +2 -0
- package/dist/server/modules/mcp/tool-descriptors/runtime-bindings.js.map +1 -1
- package/dist/server/modules/mcp/tool-descriptors/team.bindings.js +1 -0
- package/dist/server/modules/mcp/tool-descriptors/team.bindings.js.map +1 -1
- package/dist/server/modules/mcp/tool-descriptors/team.metadata.js +33 -0
- package/dist/server/modules/mcp/tool-descriptors/team.metadata.js.map +1 -1
- package/dist/server/modules/mcp/tool-descriptors/worktree.bindings.d.ts +1 -0
- package/dist/server/modules/mcp/tool-descriptors/worktree.bindings.js +20 -0
- package/dist/server/modules/mcp/tool-descriptors/worktree.bindings.js.map +1 -0
- package/dist/server/modules/mcp/tool-descriptors/worktree.metadata.d.ts +2 -0
- package/dist/server/modules/mcp/tool-descriptors/worktree.metadata.js +105 -0
- package/dist/server/modules/mcp/tool-descriptors/worktree.metadata.js.map +1 -0
- 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/provider-auth/opencode-credential-family.v2.d.ts +4 -0
- package/dist/server/modules/provider-auth/opencode-credential-family.v2.js +41 -0
- package/dist/server/modules/provider-auth/opencode-credential-family.v2.js.map +1 -0
- package/dist/server/modules/provider-auth/opencode-credentials.d.ts +25 -0
- package/dist/server/modules/provider-auth/opencode-credentials.js +102 -0
- package/dist/server/modules/provider-auth/opencode-credentials.js.map +1 -0
- package/dist/server/modules/provider-auth/opencode-pc-logins.service.d.ts +11 -0
- package/dist/server/modules/provider-auth/opencode-pc-logins.service.js +62 -0
- package/dist/server/modules/provider-auth/opencode-pc-logins.service.js.map +1 -0
- package/dist/server/modules/provider-auth/opencode-pc-logins.v1.d.ts +1 -0
- package/dist/server/modules/provider-auth/opencode-pc-logins.v1.js +25 -0
- package/dist/server/modules/provider-auth/opencode-pc-logins.v1.js.map +1 -0
- package/dist/server/modules/provider-auth/opencode-pc-logins.v2.d.ts +3 -0
- package/dist/server/modules/provider-auth/opencode-pc-logins.v2.js +25 -0
- package/dist/server/modules/provider-auth/opencode-pc-logins.v2.js.map +1 -0
- package/dist/server/modules/provider-auth/provider-auth-adapters.d.ts +4 -1
- package/dist/server/modules/provider-auth/provider-auth-adapters.js +65 -33
- package/dist/server/modules/provider-auth/provider-auth-adapters.js.map +1 -1
- package/dist/server/modules/provider-auth/provider-auth-generator.service.d.ts +3 -1
- package/dist/server/modules/provider-auth/provider-auth-generator.service.js +12 -6
- package/dist/server/modules/provider-auth/provider-auth-generator.service.js.map +1 -1
- package/dist/server/modules/provider-auth/provider-auth-vault.service.d.ts +3 -2
- package/dist/server/modules/provider-auth/provider-auth-vault.service.js +8 -25
- package/dist/server/modules/provider-auth/provider-auth-vault.service.js.map +1 -1
- package/dist/server/modules/provider-auth/provider-auth-watcher.service.d.ts +5 -1
- package/dist/server/modules/provider-auth/provider-auth-watcher.service.js +32 -1
- package/dist/server/modules/provider-auth/provider-auth-watcher.service.js.map +1 -1
- package/dist/server/modules/provider-auth/provider-auth.module.js +4 -0
- package/dist/server/modules/provider-auth/provider-auth.module.js.map +1 -1
- package/dist/server/modules/provider-usage/checkers/agy.checker.d.ts +15 -0
- package/dist/server/modules/provider-usage/checkers/agy.checker.js +129 -0
- package/dist/server/modules/provider-usage/checkers/agy.checker.js.map +1 -0
- package/dist/server/modules/provider-usage/checkers/checker-helpers.d.ts +4 -0
- package/dist/server/modules/provider-usage/checkers/checker-helpers.js +12 -0
- package/dist/server/modules/provider-usage/checkers/checker-helpers.js.map +1 -0
- package/dist/server/modules/provider-usage/checkers/claude-login.checker.d.ts +10 -0
- package/dist/server/modules/provider-usage/checkers/claude-login.checker.js +92 -0
- package/dist/server/modules/provider-usage/checkers/claude-login.checker.js.map +1 -0
- package/dist/server/modules/provider-usage/checkers/claude-token.checker.d.ts +5 -0
- package/dist/server/modules/provider-usage/checkers/claude-token.checker.js +80 -0
- package/dist/server/modules/provider-usage/checkers/claude-token.checker.js.map +1 -0
- package/dist/server/modules/provider-usage/checkers/claude-usage-parser.d.ts +12 -0
- package/dist/server/modules/provider-usage/checkers/claude-usage-parser.js +113 -0
- package/dist/server/modules/provider-usage/checkers/claude-usage-parser.js.map +1 -0
- package/dist/server/modules/provider-usage/checkers/codex.checker.d.ts +7 -0
- package/dist/server/modules/provider-usage/checkers/codex.checker.js +159 -0
- package/dist/server/modules/provider-usage/checkers/codex.checker.js.map +1 -0
- package/dist/server/modules/provider-usage/checkers/private-cwd.d.ts +1 -0
- package/dist/server/modules/provider-usage/checkers/private-cwd.js +8 -0
- package/dist/server/modules/provider-usage/checkers/private-cwd.js.map +1 -0
- package/dist/server/modules/provider-usage/controllers/provider-usage.controller.d.ts +7 -0
- package/dist/server/modules/provider-usage/controllers/provider-usage.controller.js +51 -0
- package/dist/server/modules/provider-usage/controllers/provider-usage.controller.js.map +1 -0
- package/dist/server/modules/provider-usage/provider-usage.module.d.ts +2 -0
- package/dist/server/modules/provider-usage/provider-usage.module.js +58 -0
- package/dist/server/modules/provider-usage/provider-usage.module.js.map +1 -0
- package/dist/server/modules/provider-usage/provider-usage.types.d.ts +26 -0
- package/dist/server/modules/provider-usage/provider-usage.types.js +5 -0
- package/dist/server/modules/provider-usage/provider-usage.types.js.map +1 -0
- package/dist/server/modules/provider-usage/services/provider-usage-accounts.d.ts +5 -0
- package/dist/server/modules/provider-usage/services/provider-usage-accounts.js +94 -0
- package/dist/server/modules/provider-usage/services/provider-usage-accounts.js.map +1 -0
- package/dist/server/modules/provider-usage/services/provider-usage-accounts.service.d.ts +23 -0
- package/dist/server/modules/provider-usage/services/provider-usage-accounts.service.js +81 -0
- package/dist/server/modules/provider-usage/services/provider-usage-accounts.service.js.map +1 -0
- package/dist/server/modules/provider-usage/services/provider-usage.service.d.ts +37 -0
- package/dist/server/modules/provider-usage/services/provider-usage.service.js +262 -0
- package/dist/server/modules/provider-usage/services/provider-usage.service.js.map +1 -0
- 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/index.d.ts +2 -2
- package/dist/server/modules/providers/adapters/capabilities/index.js +2 -1
- package/dist/server/modules/providers/adapters/capabilities/index.js.map +1 -1
- package/dist/server/modules/providers/adapters/capabilities/project-provisioning.capability.d.ts +0 -1
- package/dist/server/modules/providers/adapters/capabilities/provider-plugin.capability.d.ts +16 -2
- package/dist/server/modules/providers/adapters/capabilities/session-command.capability.d.ts +5 -0
- package/dist/server/modules/providers/adapters/capabilities/session-command.capability.js +3 -0
- package/dist/server/modules/providers/adapters/capabilities/session-command.capability.js.map +1 -0
- package/dist/server/modules/providers/adapters/capabilities/type-guards.d.ts +4 -2
- package/dist/server/modules/providers/adapters/capabilities/type-guards.js +5 -3
- package/dist/server/modules/providers/adapters/capabilities/type-guards.js.map +1 -1
- package/dist/server/modules/providers/adapters/claude.adapter.d.ts +7 -6
- package/dist/server/modules/providers/adapters/claude.adapter.js +12 -10
- 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 +7 -8
- package/dist/server/modules/providers/adapters/codex.adapter.js +50 -46
- 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-cli-version.d.ts +13 -0
- package/dist/server/modules/providers/adapters/opencode-cli-version.js +24 -0
- package/dist/server/modules/providers/adapters/opencode-cli-version.js.map +1 -0
- package/dist/server/modules/providers/adapters/opencode-config-content.d.ts +1 -0
- package/dist/server/modules/providers/adapters/opencode-config-content.js +43 -0
- package/dist/server/modules/providers/adapters/opencode-config-content.js.map +1 -0
- package/dist/server/modules/providers/adapters/opencode-launch.v1.d.ts +4 -0
- package/dist/server/modules/providers/adapters/opencode-launch.v1.js +10 -0
- package/dist/server/modules/providers/adapters/opencode-launch.v1.js.map +1 -0
- package/dist/server/modules/providers/adapters/opencode-launch.v2.d.ts +2 -0
- package/dist/server/modules/providers/adapters/opencode-launch.v2.js +18 -0
- package/dist/server/modules/providers/adapters/opencode-launch.v2.js.map +1 -0
- package/dist/server/modules/providers/adapters/opencode.adapter.d.ts +4 -5
- package/dist/server/modules/providers/adapters/opencode.adapter.js +13 -45
- 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/plugin-catalog.utils.d.ts +3 -0
- package/dist/server/modules/providers/adapters/plugin-catalog.utils.js +10 -0
- package/dist/server/modules/providers/adapters/plugin-catalog.utils.js.map +1 -1
- package/dist/server/modules/providers/adapters/provider-adapter.factory.d.ts +2 -2
- package/dist/server/modules/providers/adapters/provider-adapter.factory.js.map +1 -1
- package/dist/server/modules/providers/adapters/provider-adapter.interface.d.ts +11 -3
- package/dist/server/modules/providers/adapters/provider-cli-policy.d.ts +3 -0
- package/dist/server/modules/providers/adapters/provider-cli-policy.js +8 -0
- package/dist/server/modules/providers/adapters/provider-cli-policy.js.map +1 -1
- 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 +3 -1
- package/dist/server/modules/providers/controllers/provider-models.controller.js +18 -3
- 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 +5 -2
- package/dist/server/modules/providers/providers.module.js.map +1 -1
- package/dist/server/modules/providers/services/codex-app-server.client.d.ts +11 -0
- package/dist/server/modules/providers/services/codex-app-server.client.js +129 -0
- package/dist/server/modules/providers/services/codex-app-server.client.js.map +1 -0
- 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-cli-version-probe.module.d.ts +2 -0
- package/dist/server/modules/providers/services/provider-cli-version-probe.module.js +23 -0
- package/dist/server/modules/providers/services/provider-cli-version-probe.module.js.map +1 -0
- package/dist/server/modules/providers/services/provider-cli-version-probe.service.d.ts +8 -0
- package/dist/server/modules/providers/services/provider-cli-version-probe.service.js +65 -0
- package/dist/server/modules/providers/services/provider-cli-version-probe.service.js.map +1 -0
- 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 +5 -1
- package/dist/server/modules/providers/services/provider-plugins.service.js +43 -16
- 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/{sessions → providers}/utils/codex-config.d.ts +9 -0
- package/dist/server/modules/{sessions → providers}/utils/codex-config.js +34 -16
- 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/providers/utils/private-cwd.d.ts +1 -0
- package/dist/server/modules/providers/utils/private-cwd.js +12 -0
- package/dist/server/modules/providers/utils/private-cwd.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/contract/host-routes.d.ts +29681 -0
- package/dist/server/modules/remotes/contract/host-routes.js +557 -0
- package/dist/server/modules/remotes/contract/host-routes.js.map +1 -0
- package/dist/server/modules/remotes/controllers/home-shared-vm-notices.controller.d.ts +10 -0
- package/dist/server/modules/remotes/controllers/home-shared-vm-notices.controller.js +59 -0
- package/dist/server/modules/remotes/controllers/home-shared-vm-notices.controller.js.map +1 -0
- package/dist/server/modules/remotes/controllers/remotes.controller.js +1 -0
- 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 +751 -149
- 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 +7 -4
- package/dist/server/modules/remotes/docker/docker-handoff.js +258 -32
- package/dist/server/modules/remotes/docker/docker-handoff.js.map +1 -1
- package/dist/server/modules/remotes/docker/docker-handoff.store.d.ts +37 -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 +3 -3
- package/dist/server/modules/remotes/docker/docker-plan-fit.js +7 -2
- package/dist/server/modules/remotes/docker/docker-plan-fit.js.map +1 -1
- package/dist/server/modules/remotes/docker/docker-plan-policy.d.ts +1 -1
- package/dist/server/modules/remotes/docker/docker-plan-policy.js +105 -14
- 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 +7 -2
- package/dist/server/modules/remotes/docker/docker-plan-source.service.js +215 -14
- 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 +3 -1
- package/dist/server/modules/remotes/docker/docker-plan.controller.js +39 -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 +112 -14
- package/dist/server/modules/remotes/docker/docker-plan.dto.js +11 -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 +6 -3
- package/dist/server/modules/remotes/docker/docker-plan.service.js +207 -9
- package/dist/server/modules/remotes/docker/docker-plan.service.js.map +1 -1
- package/dist/server/modules/remotes/docker/docker-project-compose.d.ts +1 -1
- package/dist/server/modules/remotes/docker/docker-project-compose.js +2 -3
- package/dist/server/modules/remotes/docker/docker-project-compose.js.map +1 -1
- 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-notices.dto.d.ts +4 -0
- package/dist/server/modules/remotes/dtos/remote-notices.dto.js +3 -0
- package/dist/server/modules/remotes/dtos/remote-notices.dto.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/dtos/shared-vm.dto.d.ts +488 -0
- package/dist/server/modules/remotes/dtos/shared-vm.dto.js +60 -0
- package/dist/server/modules/remotes/dtos/shared-vm.dto.js.map +1 -0
- package/dist/server/modules/remotes/git-coordinator/git-checkpoint.d.ts +5 -0
- package/dist/server/modules/remotes/git-coordinator/git-checkpoint.js +95 -0
- package/dist/server/modules/remotes/git-coordinator/git-checkpoint.js.map +1 -0
- package/dist/server/modules/remotes/git-coordinator/git-coordinator-index.service.d.ts +18 -0
- package/dist/server/modules/remotes/git-coordinator/git-coordinator-index.service.js +192 -0
- package/dist/server/modules/remotes/git-coordinator/git-coordinator-index.service.js.map +1 -0
- package/dist/server/modules/remotes/git-coordinator/git-coordinator.dto.d.ts +519 -0
- package/dist/server/modules/remotes/git-coordinator/git-coordinator.dto.js +104 -0
- package/dist/server/modules/remotes/git-coordinator/git-coordinator.dto.js.map +1 -0
- package/dist/server/modules/remotes/git-coordinator/git-coordinator.service.d.ts +66 -0
- package/dist/server/modules/remotes/git-coordinator/git-coordinator.service.js +555 -0
- package/dist/server/modules/remotes/git-coordinator/git-coordinator.service.js.map +1 -0
- package/dist/server/modules/remotes/git-coordinator/git-coordinator.store.d.ts +11 -0
- package/dist/server/modules/remotes/git-coordinator/git-coordinator.store.js +69 -0
- package/dist/server/modules/remotes/git-coordinator/git-coordinator.store.js.map +1 -0
- package/dist/server/modules/remotes/git-coordinator/git-process-identity.d.ts +3 -0
- package/dist/server/modules/remotes/git-coordinator/git-process-identity.js +71 -0
- package/dist/server/modules/remotes/git-coordinator/git-process-identity.js.map +1 -0
- package/dist/server/modules/remotes/git-coordinator/host-git-coordinator.controller.d.ts +19 -0
- package/dist/server/modules/remotes/git-coordinator/host-git-coordinator.controller.js +181 -0
- package/dist/server/modules/remotes/git-coordinator/host-git-coordinator.controller.js.map +1 -0
- package/dist/server/modules/remotes/git-coordinator/loopback.d.ts +2 -0
- package/dist/server/modules/remotes/git-coordinator/loopback.js +10 -0
- package/dist/server/modules/remotes/git-coordinator/loopback.js.map +1 -0
- package/dist/server/modules/remotes/git-coordinator/vm-git-coordinator.controller.d.ts +9 -0
- package/dist/server/modules/remotes/git-coordinator/vm-git-coordinator.controller.js +66 -0
- package/dist/server/modules/remotes/git-coordinator/vm-git-coordinator.controller.js.map +1 -0
- package/dist/server/modules/remotes/git-owner.store.d.ts +102 -1
- package/dist/server/modules/remotes/git-owner.store.js +37 -11
- package/dist/server/modules/remotes/git-owner.store.js.map +1 -1
- package/dist/server/modules/remotes/git-shim/git-shim-registry.service.d.ts +31 -0
- package/dist/server/modules/remotes/git-shim/git-shim-registry.service.js +175 -0
- package/dist/server/modules/remotes/git-shim/git-shim-registry.service.js.map +1 -0
- package/dist/server/modules/remotes/git-writes/change-barrier.d.ts +16 -0
- package/dist/server/modules/remotes/git-writes/change-barrier.js +40 -0
- package/dist/server/modules/remotes/git-writes/change-barrier.js.map +1 -0
- package/dist/server/modules/remotes/git-writes/home-git-handover.service.d.ts +42 -0
- package/dist/server/modules/remotes/git-writes/home-git-handover.service.js +349 -0
- package/dist/server/modules/remotes/git-writes/home-git-handover.service.js.map +1 -0
- package/dist/server/modules/remotes/git-writes/home-git-transitions.d.ts +16 -0
- package/dist/server/modules/remotes/git-writes/home-git-transitions.js +12 -0
- package/dist/server/modules/remotes/git-writes/home-git-transitions.js.map +1 -0
- package/dist/server/modules/remotes/git-writes/home-git-write.controller.d.ts +10 -0
- package/dist/server/modules/remotes/git-writes/home-git-write.controller.js +74 -0
- package/dist/server/modules/remotes/git-writes/home-git-write.controller.js.map +1 -0
- package/dist/server/modules/remotes/git-writes/home-git-write.service.d.ts +72 -0
- package/dist/server/modules/remotes/git-writes/home-git-write.service.js +481 -0
- package/dist/server/modules/remotes/git-writes/home-git-write.service.js.map +1 -0
- package/dist/server/modules/remotes/git-writes/home-git-write.store.d.ts +39 -0
- package/dist/server/modules/remotes/git-writes/home-git-write.store.js +78 -0
- package/dist/server/modules/remotes/git-writes/home-git-write.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.dto.d.ts +41 -0
- package/dist/server/modules/remotes/host/host-docker.dto.js +12 -2
- package/dist/server/modules/remotes/host/host-docker.dto.js.map +1 -1
- package/dist/server/modules/remotes/host/host-docker.service.d.ts +9 -2
- package/dist/server/modules/remotes/host/host-docker.service.js +174 -78
- package/dist/server/modules/remotes/host/host-docker.service.js.map +1 -1
- package/dist/server/modules/remotes/host/host-helper.dto.d.ts +50 -0
- package/dist/server/modules/remotes/host/host-helper.dto.js +69 -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 +6 -40
- package/dist/server/modules/remotes/host/host-helper.service.js +13 -20
- package/dist/server/modules/remotes/host/host-helper.service.js.map +1 -1
- package/dist/server/modules/remotes/host/host-opencode-credentials.v2.d.ts +7 -0
- package/dist/server/modules/remotes/host/host-opencode-credentials.v2.js +46 -0
- package/dist/server/modules/remotes/host/host-opencode-credentials.v2.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 +12 -10
- package/dist/server/modules/remotes/host/host-provider-auth.service.js +92 -14
- 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-provider-usage-revision.d.ts +2 -0
- package/dist/server/modules/remotes/host/host-provider-usage-revision.js +11 -0
- package/dist/server/modules/remotes/host/host-provider-usage-revision.js.map +1 -0
- package/dist/server/modules/remotes/host/host-provider-usage-settings.controller.d.ts +11 -0
- package/dist/server/modules/remotes/host/host-provider-usage-settings.controller.js +62 -0
- package/dist/server/modules/remotes/host/host-provider-usage-settings.controller.js.map +1 -0
- package/dist/server/modules/remotes/host/host-provider-usage-settings.service.d.ts +9 -0
- package/dist/server/modules/remotes/host/host-provider-usage-settings.service.js +35 -0
- package/dist/server/modules/remotes/host/host-provider-usage-settings.service.js.map +1 -0
- package/dist/server/modules/remotes/host/host-shared-vm.controller.d.ts +24 -0
- package/dist/server/modules/remotes/host/host-shared-vm.controller.js +183 -0
- package/dist/server/modules/remotes/host/host-shared-vm.controller.js.map +1 -0
- package/dist/server/modules/remotes/host/host-shared-vm.service.d.ts +28 -0
- package/dist/server/modules/remotes/host/host-shared-vm.service.js +159 -0
- package/dist/server/modules/remotes/host/host-shared-vm.service.js.map +1 -0
- package/dist/server/modules/remotes/host/host-shared-vm.store.d.ts +18 -0
- package/dist/server/modules/remotes/host/host-shared-vm.store.js +105 -0
- package/dist/server/modules/remotes/host/host-shared-vm.store.js.map +1 -0
- 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 +7 -44
- 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/host.service.d.ts +3 -1
- package/dist/server/modules/remotes/host/host.service.js +9 -2
- package/dist/server/modules/remotes/host/host.service.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/shared-vm.contract.d.ts +184 -0
- package/dist/server/modules/remotes/host/shared-vm.contract.js +44 -0
- package/dist/server/modules/remotes/host/shared-vm.contract.js.map +1 -0
- package/dist/server/modules/remotes/host-install/host-install-block.d.ts +2 -0
- package/dist/server/modules/remotes/host-install/host-install-block.js +3 -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 +2 -0
- package/dist/server/modules/remotes/host-install/host-install.service.js +10 -0
- package/dist/server/modules/remotes/host-install/host-install.service.js.map +1 -1
- package/dist/server/modules/remotes/host-install/host-join-block.d.ts +16 -0
- package/dist/server/modules/remotes/host-install/host-join-block.js +122 -0
- package/dist/server/modules/remotes/host-install/host-join-block.js.map +1 -0
- package/dist/server/modules/remotes/host-install/ssh-runner.d.ts +1 -0
- package/dist/server/modules/remotes/host-install/ssh-runner.js +2 -2
- package/dist/server/modules/remotes/host-install/ssh-runner.js.map +1 -1
- package/dist/server/modules/remotes/operations/attach.operation.d.ts +9 -2
- package/dist/server/modules/remotes/operations/attach.operation.js +38 -11
- package/dist/server/modules/remotes/operations/attach.operation.js.map +1 -1
- package/dist/server/modules/remotes/operations/claim.operation.d.ts +4 -0
- package/dist/server/modules/remotes/operations/claim.operation.js +15 -0
- package/dist/server/modules/remotes/operations/claim.operation.js.map +1 -1
- package/dist/server/modules/remotes/operations/claude-user-instructions.d.ts +2 -0
- package/dist/server/modules/remotes/operations/claude-user-instructions.js +23 -0
- package/dist/server/modules/remotes/operations/claude-user-instructions.js.map +1 -0
- package/dist/server/modules/remotes/operations/destroy-vm.operation.d.ts +4 -2
- package/dist/server/modules/remotes/operations/destroy-vm.operation.js +43 -23
- package/dist/server/modules/remotes/operations/destroy-vm.operation.js.map +1 -1
- package/dist/server/modules/remotes/operations/detach.operation.d.ts +17 -2
- package/dist/server/modules/remotes/operations/detach.operation.js +118 -31
- package/dist/server/modules/remotes/operations/detach.operation.js.map +1 -1
- package/dist/server/modules/remotes/operations/disconnect-all.operation.d.ts +50 -0
- package/dist/server/modules/remotes/operations/disconnect-all.operation.js +222 -0
- package/dist/server/modules/remotes/operations/disconnect-all.operation.js.map +1 -0
- package/dist/server/modules/remotes/operations/docker-import-inventory.store.d.ts +732 -5
- package/dist/server/modules/remotes/operations/docker-import-inventory.store.js +41 -5
- 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 +3 -1
- package/dist/server/modules/remotes/operations/file-sync-handoff.js +69 -68
- package/dist/server/modules/remotes/operations/file-sync-handoff.js.map +1 -1
- package/dist/server/modules/remotes/operations/git-owner.dto.d.ts +10 -44
- package/dist/server/modules/remotes/operations/git-owner.dto.js +1 -12
- package/dist/server/modules/remotes/operations/git-owner.dto.js.map +1 -1
- package/dist/server/modules/remotes/operations/guarded-vm-destroy.d.ts +2 -0
- package/dist/server/modules/remotes/operations/guarded-vm-destroy.js +14 -0
- package/dist/server/modules/remotes/operations/guarded-vm-destroy.js.map +1 -1
- package/dist/server/modules/remotes/operations/install-host.operation.d.ts +21 -1
- package/dist/server/modules/remotes/operations/install-host.operation.js +285 -27
- package/dist/server/modules/remotes/operations/install-host.operation.js.map +1 -1
- package/dist/server/modules/remotes/operations/remote-host.client.d.ts +71 -540
- package/dist/server/modules/remotes/operations/remote-host.client.js +263 -509
- package/dist/server/modules/remotes/operations/remote-host.client.js.map +1 -1
- package/dist/server/modules/remotes/operations/remote-operation.dto.d.ts +180 -12
- package/dist/server/modules/remotes/operations/remote-operation.dto.js +12 -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 +6 -2
- package/dist/server/modules/remotes/operations/remote-operation.runner.js +75 -15
- package/dist/server/modules/remotes/operations/remote-operation.runner.js.map +1 -1
- package/dist/server/modules/remotes/operations/remote-operation.types.d.ts +6 -3
- package/dist/server/modules/remotes/operations/remote-operation.types.js +10 -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 +2 -3
- package/dist/server/modules/remotes/operations/remote-operations.controller.js +20 -25
- package/dist/server/modules/remotes/operations/remote-operations.controller.js.map +1 -1
- package/dist/server/modules/remotes/operations/remote-operations.service.d.ts +12 -10
- package/dist/server/modules/remotes/operations/remote-operations.service.js +123 -118
- package/dist/server/modules/remotes/operations/remote-operations.service.js.map +1 -1
- package/dist/server/modules/remotes/operations/remote-worktree-guard.d.ts +16 -0
- package/dist/server/modules/remotes/operations/remote-worktree-guard.js +100 -0
- package/dist/server/modules/remotes/operations/remote-worktree-guard.js.map +1 -0
- package/dist/server/modules/remotes/operations/reset-vm.operation.d.ts +15 -2
- package/dist/server/modules/remotes/operations/reset-vm.operation.js +115 -15
- package/dist/server/modules/remotes/operations/reset-vm.operation.js.map +1 -1
- package/dist/server/modules/remotes/operations/update-host.operation.d.ts +2 -0
- package/dist/server/modules/remotes/operations/update-host.operation.js +11 -5
- package/dist/server/modules/remotes/operations/update-host.operation.js.map +1 -1
- package/dist/server/modules/remotes/operations/update-logins.operation.d.ts +1 -1
- package/dist/server/modules/remotes/operations/vm-operations.controller.d.ts +5 -1
- package/dist/server/modules/remotes/operations/vm-operations.controller.js +36 -2
- package/dist/server/modules/remotes/operations/vm-operations.controller.js.map +1 -1
- package/dist/server/modules/remotes/operations/vm-operations.dto.d.ts +157 -7
- package/dist/server/modules/remotes/operations/vm-operations.dto.js +9 -1
- package/dist/server/modules/remotes/operations/vm-operations.dto.js.map +1 -1
- package/dist/server/modules/remotes/operations/vm-operations.service.d.ts +3 -1
- package/dist/server/modules/remotes/operations/vm-operations.service.js +38 -15
- package/dist/server/modules/remotes/operations/vm-operations.service.js.map +1 -1
- 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 +59 -4
- package/dist/server/modules/remotes/remotes.module.js.map +1 -1
- package/dist/server/modules/remotes/services/home-shared-vm-notices.service.d.ts +18 -0
- package/dist/server/modules/remotes/services/home-shared-vm-notices.service.js +81 -0
- package/dist/server/modules/remotes/services/home-shared-vm-notices.service.js.map +1 -0
- package/dist/server/modules/remotes/services/remote-forced-detach.service.d.ts +11 -0
- package/dist/server/modules/remotes/services/remote-forced-detach.service.js +69 -0
- package/dist/server/modules/remotes/services/remote-forced-detach.service.js.map +1 -0
- package/dist/server/modules/remotes/services/remote-forced-detach.store.d.ts +23 -0
- package/dist/server/modules/remotes/services/remote-forced-detach.store.js +73 -0
- package/dist/server/modules/remotes/services/remote-forced-detach.store.js.map +1 -0
- package/dist/server/modules/remotes/services/remote-health.service.d.ts +7 -1
- package/dist/server/modules/remotes/services/remote-health.service.js +41 -4
- package/dist/server/modules/remotes/services/remote-health.service.js.map +1 -1
- package/dist/server/modules/remotes/services/remote-provider-usage-settings.service.d.ts +13 -0
- package/dist/server/modules/remotes/services/remote-provider-usage-settings.service.js +57 -0
- package/dist/server/modules/remotes/services/remote-provider-usage-settings.service.js.map +1 -0
- package/dist/server/modules/remotes/services/remote-shared-vm.service.d.ts +37 -0
- package/dist/server/modules/remotes/services/remote-shared-vm.service.js +184 -0
- package/dist/server/modules/remotes/services/remote-shared-vm.service.js.map +1 -0
- package/dist/server/modules/remotes/services/remote-shared-vm.store.d.ts +11 -0
- package/dist/server/modules/remotes/services/remote-shared-vm.store.js +75 -0
- package/dist/server/modules/remotes/services/remote-shared-vm.store.js.map +1 -0
- 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.js +0 -2
- package/dist/server/modules/remotes/sync/file-sync-failures.service.js.map +1 -1
- package/dist/server/modules/remotes/sync/file-sync-suggestions.service.d.ts +4 -2
- package/dist/server/modules/remotes/sync/file-sync-suggestions.service.js +38 -4
- package/dist/server/modules/remotes/sync/file-sync-suggestions.service.js.map +1 -1
- package/dist/server/modules/remotes/sync/project-file-sync.controller.d.ts +0 -2
- package/dist/server/modules/remotes/sync/project-file-sync.controller.js +1 -15
- package/dist/server/modules/remotes/sync/project-file-sync.controller.js.map +1 -1
- package/dist/server/modules/remotes/sync/remote-file-sync.dto.d.ts +0 -2
- package/dist/server/modules/remotes/sync/remote-file-sync.dto.js.map +1 -1
- package/dist/server/modules/remotes/sync/remote-file-sync.service.d.ts +10 -7
- package/dist/server/modules/remotes/sync/remote-file-sync.service.js +157 -162
- package/dist/server/modules/remotes/sync/remote-file-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 +29 -0
- package/dist/server/modules/remotes/transport/host-transport.js +112 -0
- package/dist/server/modules/remotes/transport/host-transport.js.map +1 -0
- package/dist/server/modules/remotes/vm-user-identity.d.ts +1 -0
- package/dist/server/modules/remotes/vm-user-identity.js +8 -1
- package/dist/server/modules/remotes/vm-user-identity.js.map +1 -1
- package/dist/server/modules/reviews/dtos/review.dto.d.ts +2 -2
- 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 +15 -9
- package/dist/server/modules/runtime-context-capture/codex-plugin-profile-materializer.service.js +68 -6
- 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/__fixtures__/opencode-fixture-db.d.ts +6 -4
- package/dist/server/modules/session-reader/__fixtures__/opencode-fixture-db.js +17 -20
- package/dist/server/modules/session-reader/__fixtures__/opencode-fixture-db.js.map +1 -1
- package/dist/server/modules/session-reader/__fixtures__/opencode-v2-fixture-db.d.ts +61 -0
- package/dist/server/modules/session-reader/__fixtures__/opencode-v2-fixture-db.js +250 -0
- package/dist/server/modules/session-reader/__fixtures__/opencode-v2-fixture-db.js.map +1 -0
- 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 +5 -2
- package/dist/server/modules/session-reader/adapters/codex-session-reader.adapter.js +4 -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 +4 -2
- package/dist/server/modules/session-reader/adapters/opencode-session-reader.adapter.js +34 -13
- package/dist/server/modules/session-reader/adapters/opencode-session-reader.adapter.js.map +1 -1
- package/dist/server/modules/session-reader/adapters/session-reader-adapter.interface.d.ts +3 -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 +3214 -2807
- package/dist/server/modules/session-reader/readers/opencode-sqlite.db.d.ts +73 -0
- package/dist/server/modules/session-reader/readers/opencode-sqlite.db.js +176 -0
- package/dist/server/modules/session-reader/readers/opencode-sqlite.db.js.map +1 -0
- package/dist/server/modules/session-reader/readers/opencode-sqlite.v1.reader.d.ts +45 -0
- package/dist/server/modules/session-reader/readers/{opencode-sqlite.reader.js → opencode-sqlite.v1.reader.js} +171 -164
- package/dist/server/modules/session-reader/readers/opencode-sqlite.v1.reader.js.map +1 -0
- package/dist/server/modules/session-reader/readers/opencode-sqlite.v2.reader.d.ts +15 -0
- package/dist/server/modules/session-reader/readers/opencode-sqlite.v2.reader.js +474 -0
- package/dist/server/modules/session-reader/readers/opencode-sqlite.v2.reader.js.map +1 -0
- package/dist/server/modules/session-reader/services/pricing.interface.d.ts +1 -0
- package/dist/server/modules/session-reader/services/pricing.interface.js.map +1 -1
- package/dist/server/modules/session-reader/services/pricing.service.d.ts +1 -0
- package/dist/server/modules/session-reader/services/pricing.service.js +3 -0
- package/dist/server/modules/session-reader/services/pricing.service.js.map +1 -1
- package/dist/server/modules/session-reader/services/session-reader.service.js +6 -1
- package/dist/server/modules/session-reader/services/session-reader.service.js.map +1 -1
- 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-enqueue.service.d.ts +3 -0
- package/dist/server/modules/sessions/services/message-enqueue.service.js +1 -0
- package/dist/server/modules/sessions/services/message-enqueue.service.js.map +1 -1
- package/dist/server/modules/sessions/services/message-pool.types.d.ts +7 -1
- package/dist/server/modules/sessions/services/message-pool.types.js +6 -1
- package/dist/server/modules/sessions/services/message-pool.types.js.map +1 -1
- package/dist/server/modules/sessions/services/provider-launch-config/provider-launch-config.service.d.ts +4 -2
- package/dist/server/modules/sessions/services/provider-launch-config/provider-launch-config.service.js +20 -3
- 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 +7 -5
- package/dist/server/modules/sessions/services/provider-runtime-preparation/provider-runtime-preparation.service.js +81 -96
- 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 +10 -5
- package/dist/server/modules/sessions/services/session-lifecycle-facade.service.js +12 -12
- 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 +5 -7
- package/dist/server/modules/sessions/services/sessions-message-pool.service.js +141 -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 +12 -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 +45 -12
- package/dist/server/modules/settings/dtos/settings.dto.js +2 -0
- package/dist/server/modules/settings/dtos/settings.dto.js.map +1 -1
- package/dist/server/modules/settings/local/delegates/core-settings.delegate.d.ts +8 -0
- package/dist/server/modules/settings/local/delegates/core-settings.delegate.js +71 -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/provider-cli-settings.delegate.js +6 -1
- package/dist/server/modules/settings/local/delegates/provider-cli-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/services/settings.service.d.ts +4 -2
- package/dist/server/modules/settings/services/settings.service.js +11 -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/services/skill-source-lifecycle.service.d.ts +2 -2
- package/dist/server/modules/skills/services/skill-source-lifecycle.service.js.map +1 -1
- 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 +235 -0
- package/dist/server/modules/storage/db/schema.js +22 -1
- package/dist/server/modules/storage/db/schema.js.map +1 -1
- package/dist/server/modules/storage/interfaces/storage.interface.d.ts +10 -3
- 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 +7 -0
- 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/delegates/worktree.delegate.d.ts +14 -0
- package/dist/server/modules/storage/local/delegates/worktree.delegate.js +89 -0
- package/dist/server/modules/storage/local/delegates/worktree.delegate.js.map +1 -0
- package/dist/server/modules/storage/local/helpers/device-revocation-history.js.map +1 -0
- package/dist/server/modules/storage/local/helpers/host-abandoned-projects.d.ts +5 -0
- package/dist/server/modules/storage/local/helpers/host-abandoned-projects.js +39 -0
- package/dist/server/modules/storage/local/helpers/host-abandoned-projects.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 +121 -908
- package/dist/server/modules/storage/local/local-storage.service.js.map +1 -1
- package/dist/server/modules/storage/local/storage-routes.d.ts +1196 -0
- package/dist/server/modules/storage/local/storage-routes.js +474 -0
- package/dist/server/modules/storage/local/storage-routes.js.map +1 -0
- package/dist/server/modules/storage/models/domain.models.d.ts +20 -1
- package/dist/server/modules/storage/models/domain.models.js +1 -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 +46 -0
- package/dist/server/modules/storage/write-gate/storage-write-scope.js +104 -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 +49 -9
- package/dist/server/modules/teams/services/teams.service.js +135 -24
- 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 +8 -2
- package/dist/server/modules/teams/teams.module.js.map +1 -1
- package/dist/server/modules/terminal/gateways/terminal.gateway.d.ts +8 -29
- package/dist/server/modules/terminal/gateways/terminal.gateway.js +34 -88
- 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 -2
- package/dist/server/modules/terminal/services/terminal-activity.service.js +26 -44
- 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/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/vm-providers/proxmox-vm.provider.d.ts +1 -0
- package/dist/server/modules/vm-providers/proxmox-vm.provider.js +17 -0
- package/dist/server/modules/vm-providers/proxmox-vm.provider.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/modules/worktrees/git-output.d.ts +5 -0
- package/dist/server/modules/worktrees/git-output.js +53 -0
- package/dist/server/modules/worktrees/git-output.js.map +1 -0
- package/dist/server/modules/worktrees/host-worktrees.controller.d.ts +10 -0
- package/dist/server/modules/worktrees/host-worktrees.controller.js +59 -0
- package/dist/server/modules/worktrees/host-worktrees.controller.js.map +1 -0
- package/dist/server/modules/worktrees/host-worktrees.dto.d.ts +40 -0
- package/dist/server/modules/worktrees/host-worktrees.dto.js +9 -0
- package/dist/server/modules/worktrees/host-worktrees.dto.js.map +1 -0
- package/dist/server/modules/worktrees/project-git-mutex.d.ts +5 -0
- package/dist/server/modules/worktrees/project-git-mutex.js +38 -0
- package/dist/server/modules/worktrees/project-git-mutex.js.map +1 -0
- package/dist/server/modules/worktrees/worktree-admission.service.d.ts +15 -0
- package/dist/server/modules/worktrees/worktree-admission.service.js +87 -0
- package/dist/server/modules/worktrees/worktree-admission.service.js.map +1 -0
- package/dist/server/modules/worktrees/worktree-git-runner.d.ts +12 -0
- package/dist/server/modules/worktrees/worktree-git-runner.js +57 -0
- package/dist/server/modules/worktrees/worktree-git-runner.js.map +1 -0
- package/dist/server/modules/worktrees/worktrees.errors.d.ts +5 -0
- package/dist/server/modules/worktrees/worktrees.errors.js +11 -0
- package/dist/server/modules/worktrees/worktrees.errors.js.map +1 -0
- package/dist/server/modules/worktrees/worktrees.module.d.ts +2 -0
- package/dist/server/modules/worktrees/worktrees.module.js +37 -0
- package/dist/server/modules/worktrees/worktrees.module.js.map +1 -0
- package/dist/server/modules/worktrees/worktrees.service.d.ts +50 -0
- package/dist/server/modules/worktrees/worktrees.service.js +586 -0
- package/dist/server/modules/worktrees/worktrees.service.js.map +1 -0
- package/dist/server/modules/worktrees/worktrees.types.d.ts +58 -0
- package/dist/server/modules/worktrees/worktrees.types.js +3 -0
- package/dist/server/modules/worktrees/worktrees.types.js.map +1 -0
- package/dist/server/templates/teams-dev.json +277 -261
- package/dist/server/tsconfig.build.tsbuildinfo +1 -0
- package/dist/server/ui/assets/{ExternalRichEditor-CIZPhssf.js → ExternalRichEditor-NpBNzn_X.js} +1 -1
- package/dist/server/ui/assets/{ReviewDetailPage-winyLSQ7.js → ReviewDetailPage-DxVCE1zh.js} +1 -1
- package/dist/server/ui/assets/{ReviewsPage-BYKBReMp.js → ReviewsPage-Bx6jkULr.js} +1 -1
- package/dist/server/ui/assets/index-BZjQEWOy.css +32 -0
- package/dist/server/ui/assets/index-CLPZxkZt.js +1192 -0
- package/dist/server/ui/assets/{useReviewSubscription-v3Cto0y4.js → useReviewSubscription-BLuFzXjh.js} +26 -26
- package/dist/server/ui/index.html +2 -2
- package/dist/templates/teams-dev.json +277 -261
- package/npm-shrinkwrap.json +6189 -0
- package/package.json +28 -358
- 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/file-sync/host-git-index.controller.d.ts +0 -9
- package/dist/server/modules/file-sync/host-git-index.controller.js +0 -67
- package/dist/server/modules/file-sync/host-git-index.controller.js.map +0 -1
- package/dist/server/modules/file-sync/sync-chown.dto.d.ts +0 -99
- package/dist/server/modules/file-sync/sync-chown.dto.js +0 -46
- package/dist/server/modules/file-sync/sync-chown.dto.js.map +0 -1
- package/dist/server/modules/file-sync/sync-chown.service.d.ts +0 -12
- package/dist/server/modules/file-sync/sync-chown.service.js +0 -230
- package/dist/server/modules/file-sync/sync-chown.service.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/remotes/operations/git-owner.operation.d.ts +0 -35
- package/dist/server/modules/remotes/operations/git-owner.operation.js +0 -216
- package/dist/server/modules/remotes/operations/git-owner.operation.js.map +0 -1
- package/dist/server/modules/session-reader/readers/opencode-sqlite.reader.d.ts +0 -73
- package/dist/server/modules/session-reader/readers/opencode-sqlite.reader.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/index-CiDJX6Hn.js +0 -1191
- package/dist/server/ui/assets/index-f1WOAqXB.css +0 -32
- /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/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
|
@@ -0,0 +1,417 @@
|
|
|
1
|
+
const { execFileSync } = require("node:child_process");
|
|
2
|
+
const {
|
|
3
|
+
accessSync,
|
|
4
|
+
constants,
|
|
5
|
+
existsSync,
|
|
6
|
+
mkdirSync,
|
|
7
|
+
readFileSync,
|
|
8
|
+
renameSync,
|
|
9
|
+
writeFileSync,
|
|
10
|
+
} = require("node:fs");
|
|
11
|
+
const { homedir } = require("node:os");
|
|
12
|
+
const { basename, delimiter, dirname, join, resolve } = require("node:path");
|
|
13
|
+
|
|
14
|
+
/** Git 2.31 added `rev-parse --path-format=absolute`, which the shim's one identity fork needs. */
|
|
15
|
+
const MINIMUM_GIT = [2, 31, 0];
|
|
16
|
+
|
|
17
|
+
const RC_BLOCK_START = "# >>> devchain git shim >>>";
|
|
18
|
+
const RC_BLOCK_END = "# <<< devchain git shim <<<";
|
|
19
|
+
const SHELL_SETUP_COMMAND = 'eval "$(devchain git shim install --shell)"';
|
|
20
|
+
|
|
21
|
+
function shimHome(home = homedir()) {
|
|
22
|
+
return join(home, ".devchain", "git-shim");
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
function shellQuote(value) {
|
|
26
|
+
return `'${String(value).replace(/'/g, "'\\''")}'`;
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
/**
|
|
30
|
+
* The POSIX `sh` shim. It never evaluates its arguments: they only reach `case` patterns and
|
|
31
|
+
* the exec'd Git or supervisor. See docs/git-coordinator.md (Git shim).
|
|
32
|
+
*/
|
|
33
|
+
function renderShim({ realGit, node, supervisor, home }) {
|
|
34
|
+
return `#!/bin/sh
|
|
35
|
+
# DevChain git shim: Git writes in DevChain-connected projects go through the supervisor.
|
|
36
|
+
# Written by \`devchain git shim install\` and \`devchain start\`; do not edit.
|
|
37
|
+
real_git=${shellQuote(realGit)}
|
|
38
|
+
shim_home=${shellQuote(home)}
|
|
39
|
+
node=${shellQuote(node)}
|
|
40
|
+
supervisor=${shellQuote(supervisor)}
|
|
41
|
+
|
|
42
|
+
[ -n "\${DEVCHAIN_GIT_BYPASS:-}" ] && exec "$real_git" "$@"
|
|
43
|
+
|
|
44
|
+
# Global options come before the subcommand; -C, -c, --git-dir and --work-tree pick the repository.
|
|
45
|
+
n=0 cmd= value=
|
|
46
|
+
for arg do
|
|
47
|
+
if [ -n "$value" ]; then value= n=$((n + 1)); continue; fi
|
|
48
|
+
case $arg in
|
|
49
|
+
-C|-c|--git-dir|--work-tree|--namespace|--config-env|--attr-source|--super-prefix) value=1 ;;
|
|
50
|
+
-p|-P|--paginate|--no-pager|--bare|--no-replace-objects|--no-lazy-fetch|--no-optional-locks|\\
|
|
51
|
+
--no-advice|--literal-pathspecs|--glob-pathspecs|--noglob-pathspecs|--icase-pathspecs|\\
|
|
52
|
+
--git-dir=*|--work-tree=*|--namespace=*|--config-env=*|--attr-source=*|--super-prefix=*) ;;
|
|
53
|
+
*) cmd=$arg; break ;;
|
|
54
|
+
esac
|
|
55
|
+
n=$((n + 1))
|
|
56
|
+
done
|
|
57
|
+
case $cmd in ''|-*|version|help) exec "$real_git" "$@" ;; esac
|
|
58
|
+
|
|
59
|
+
# Runs real Git with only the leading global options, then the given query.
|
|
60
|
+
query() {
|
|
61
|
+
keep=$1 what=$2 i=0
|
|
62
|
+
shift 2
|
|
63
|
+
total=$#
|
|
64
|
+
while [ "$i" -lt "$total" ]; do
|
|
65
|
+
arg=$1
|
|
66
|
+
shift
|
|
67
|
+
[ "$i" -lt "$keep" ] && set -- "$@" "$arg"
|
|
68
|
+
i=$((i + 1))
|
|
69
|
+
done
|
|
70
|
+
case $what in
|
|
71
|
+
dirs) "$real_git" "$@" rev-parse --path-format=absolute --absolute-git-dir --git-common-dir ;;
|
|
72
|
+
alias) "$real_git" "$@" config --get "alias.$cmd" ;;
|
|
73
|
+
esac 2>/dev/null
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
nl='
|
|
77
|
+
'
|
|
78
|
+
dirs=$(query "$n" dirs "$@") || exec "$real_git" "$@"
|
|
79
|
+
devchain_common=\${dirs##*"$nl"}
|
|
80
|
+
devchain_project=
|
|
81
|
+
[ -r "$shim_home/projects.sh" ] && . "$shim_home/projects.sh"
|
|
82
|
+
[ -n "$devchain_project" ] || exec "$real_git" "$@"
|
|
83
|
+
# A write already holding this project runs its nested Git (hooks, for example) directly.
|
|
84
|
+
if [ -n "\${DEVCHAIN_GIT_HOLD:-}" ] && [ "\${DEVCHAIN_GIT_HOLD_PROJECT:-}" = "$devchain_project" ]; then
|
|
85
|
+
exec "$real_git" "$@"
|
|
86
|
+
fi
|
|
87
|
+
owner= generation=
|
|
88
|
+
[ -r "$devchain_state" ] && read -r owner generation < "$devchain_state"
|
|
89
|
+
|
|
90
|
+
# Splits an alias into its verb and arguments; a function, so the script's own "$@" stays intact.
|
|
91
|
+
split_alias() {
|
|
92
|
+
verb=$1
|
|
93
|
+
shift
|
|
94
|
+
alias_args="$*"
|
|
95
|
+
}
|
|
96
|
+
|
|
97
|
+
verb=$cmd alias_args=
|
|
98
|
+
case $cmd in
|
|
99
|
+
add|am|apply|bisect|blame|branch|cat-file|check-attr|check-ignore|checkout|cherry-pick|clean|\\
|
|
100
|
+
clone|commit|config|describe|diff|fetch|for-each-ref|gc|grep|init|log|ls-files|ls-tree|\\
|
|
101
|
+
maintenance|merge|merge-base|mv|name-rev|notes|prune|pull|push|rebase|remote|repack|reset|\\
|
|
102
|
+
restore|rev-list|rev-parse|revert|rm|shortlog|show|show-ref|stash|status|submodule|switch|tag|\\
|
|
103
|
+
update-index|var|worktree) ;;
|
|
104
|
+
*)
|
|
105
|
+
expansion=$(query "$n" alias "$@")
|
|
106
|
+
case $expansion in
|
|
107
|
+
'') ;;
|
|
108
|
+
'!'*) verb='!' ;;
|
|
109
|
+
*)
|
|
110
|
+
set -f
|
|
111
|
+
split_alias $expansion
|
|
112
|
+
set +f
|
|
113
|
+
;;
|
|
114
|
+
esac
|
|
115
|
+
;;
|
|
116
|
+
esac
|
|
117
|
+
|
|
118
|
+
# Sets kind to read, write, gc or fetch from the verb and its arguments.
|
|
119
|
+
classify() {
|
|
120
|
+
skip=$((n + 1))
|
|
121
|
+
while [ "$skip" -gt 0 ]; do shift; skip=$((skip - 1)); done
|
|
122
|
+
if [ -n "$alias_args" ]; then
|
|
123
|
+
set -f
|
|
124
|
+
set -- $alias_args "$@"
|
|
125
|
+
set +f
|
|
126
|
+
fi
|
|
127
|
+
kind=write
|
|
128
|
+
case $verb in
|
|
129
|
+
status|diff|log|show|blame|rev-parse|ls-files|ls-tree|cat-file|for-each-ref|show-ref|\\
|
|
130
|
+
rev-list|describe|grep|shortlog|check-ignore|check-attr|merge-base|name-rev|var|version|help)
|
|
131
|
+
kind=read ;;
|
|
132
|
+
branch) list_form branch "$@" ;;
|
|
133
|
+
tag) list_form tag "$@" ;;
|
|
134
|
+
remote)
|
|
135
|
+
case \${1:-} in ''|-v|--verbose|show|get-url) kind=read ;; esac ;;
|
|
136
|
+
stash) case \${1:-} in list|show) kind=read ;; esac ;;
|
|
137
|
+
worktree) [ "\${1:-}" = list ] && kind=read ;;
|
|
138
|
+
config) config_form "$@" ;;
|
|
139
|
+
update-index)
|
|
140
|
+
kind=read
|
|
141
|
+
[ $# -gt 0 ] || kind=write
|
|
142
|
+
for arg do
|
|
143
|
+
case $arg in --refresh|--really-refresh|-q|--ignore-missing|--unmerged|--ignore-submodules) ;; *) kind=write ;; esac
|
|
144
|
+
done
|
|
145
|
+
;;
|
|
146
|
+
gc|prune) kind=gc ;;
|
|
147
|
+
repack) for arg do case $arg in --*) ;; -*d*) kind=gc ;; esac; done ;;
|
|
148
|
+
maintenance) [ "\${1:-}" = run ] && kind=gc ;;
|
|
149
|
+
fetch) kind=fetch ;;
|
|
150
|
+
esac
|
|
151
|
+
}
|
|
152
|
+
|
|
153
|
+
# branch and tag list when every option only lists or filters. A name is a pattern, not a new
|
|
154
|
+
# ref, only with -l/--list or a filter option that implies it; any other option writes.
|
|
155
|
+
list_form() {
|
|
156
|
+
form=$1
|
|
157
|
+
shift
|
|
158
|
+
kind=read listing= names=0 value=
|
|
159
|
+
for arg do
|
|
160
|
+
if [ -n "$value" ]; then value=; continue; fi
|
|
161
|
+
case $arg in
|
|
162
|
+
-l|--list) listing=1 ;;
|
|
163
|
+
--contains|--no-contains|--merged|--no-merged|--points-at) listing=1 value=1 ;;
|
|
164
|
+
--contains=*|--no-contains=*|--merged=*|--no-merged=*|--points-at=*) listing=1 ;;
|
|
165
|
+
--sort|--format) value=1 ;;
|
|
166
|
+
-n|-n[0-9]*) [ "$form" = tag ] && listing=1 ;;
|
|
167
|
+
-a|--all|-r|--remotes|-v|-vv|--verbose|--show-current|--column|--no-column|-i|--ignore-case|\\
|
|
168
|
+
--sort=*|--format=*|--color|--color=*|--no-color|--abbrev=*|--no-abbrev|--omit-empty) ;;
|
|
169
|
+
-*) kind=write; return ;;
|
|
170
|
+
*) names=$((names + 1)) ;;
|
|
171
|
+
esac
|
|
172
|
+
done
|
|
173
|
+
[ "$names" -eq 0 ] || [ -n "$listing" ] || kind=write
|
|
174
|
+
}
|
|
175
|
+
|
|
176
|
+
# config reads: --get forms, --list, the get and list subcommands, or a single name.
|
|
177
|
+
config_form() {
|
|
178
|
+
kind=write
|
|
179
|
+
names=0
|
|
180
|
+
for arg do
|
|
181
|
+
case $arg in
|
|
182
|
+
--get|--get-all|--get-regexp|--get-urlmatch|--get-color|--get-colorbool|-l|--list|get|list) kind=read; return ;;
|
|
183
|
+
--unset|--unset-all|--add|--replace-all|--rename-section|--remove-section|-e|--edit|set|unset|\\
|
|
184
|
+
rename-section|remove-section|edit|-f|--file|--blob) return ;;
|
|
185
|
+
-*) ;;
|
|
186
|
+
*) names=$((names + 1)) ;;
|
|
187
|
+
esac
|
|
188
|
+
done
|
|
189
|
+
[ "$names" -eq 1 ] && kind=read
|
|
190
|
+
}
|
|
191
|
+
|
|
192
|
+
classify "$@"
|
|
193
|
+
case $kind in
|
|
194
|
+
read)
|
|
195
|
+
[ "$owner" = "$devchain_side" ] || export GIT_OPTIONAL_LOCKS=0
|
|
196
|
+
exec "$real_git" "$@"
|
|
197
|
+
;;
|
|
198
|
+
gc)
|
|
199
|
+
if [ "$devchain_side" = home ]; then
|
|
200
|
+
printf "git: run 'git %s' on the VM '%s'; this PC does not run Git maintenance for this project.\\n" "$verb" "$devchain_remote" >&2
|
|
201
|
+
exit 1
|
|
202
|
+
fi
|
|
203
|
+
;;
|
|
204
|
+
fetch)
|
|
205
|
+
# An IDE's background fetch on the non-owner PC would move Git here; skip it quietly.
|
|
206
|
+
if [ "$devchain_side" = home ] && [ "$owner" != home ] && [ ! -t 0 ]; then exit 0; fi
|
|
207
|
+
;;
|
|
208
|
+
esac
|
|
209
|
+
export DEVCHAIN_REAL_GIT="$real_git" DEVCHAIN_GIT_PROJECT="$devchain_project"
|
|
210
|
+
export DEVCHAIN_GIT_SIDE="$devchain_side" DEVCHAIN_GIT_REMOTE_NAME="$devchain_remote"
|
|
211
|
+
exec "$node" "$supervisor" "$@"
|
|
212
|
+
`;
|
|
213
|
+
}
|
|
214
|
+
|
|
215
|
+
function parseGitVersion(output) {
|
|
216
|
+
const match = /git version (\d+)\.(\d+)(?:\.(\d+))?/.exec(output);
|
|
217
|
+
return match ? [Number(match[1]), Number(match[2]), Number(match[3] ?? 0)] : null;
|
|
218
|
+
}
|
|
219
|
+
|
|
220
|
+
function supportsShim(version) {
|
|
221
|
+
for (let i = 0; i < MINIMUM_GIT.length; i++) {
|
|
222
|
+
if (version[i] !== MINIMUM_GIT[i]) return version[i] > MINIMUM_GIT[i];
|
|
223
|
+
}
|
|
224
|
+
return true;
|
|
225
|
+
}
|
|
226
|
+
|
|
227
|
+
/** The first `git` on PATH that is not the shim itself. */
|
|
228
|
+
function findRealGit(pathValue, bin) {
|
|
229
|
+
for (const directory of (pathValue ?? "").split(delimiter)) {
|
|
230
|
+
if (!directory || resolve(directory) === resolve(bin)) continue;
|
|
231
|
+
const candidate = join(directory, "git");
|
|
232
|
+
try {
|
|
233
|
+
accessSync(candidate, constants.X_OK);
|
|
234
|
+
return candidate;
|
|
235
|
+
} catch {
|
|
236
|
+
// Not here.
|
|
237
|
+
}
|
|
238
|
+
}
|
|
239
|
+
return null;
|
|
240
|
+
}
|
|
241
|
+
|
|
242
|
+
/**
|
|
243
|
+
* Writes the shim for this user. Returns its paths and the real Git, or an `error` line when
|
|
244
|
+
* no usable Git exists; an older Git gets no shim, so it never reaches the supervisor.
|
|
245
|
+
*/
|
|
246
|
+
function installShim(options = {}) {
|
|
247
|
+
const home = options.home ?? shimHome();
|
|
248
|
+
const bin = join(home, "bin");
|
|
249
|
+
const realGit = options.realGit ?? findRealGit(options.path ?? process.env.PATH, bin);
|
|
250
|
+
if (!realGit) return { error: "Git was not found on PATH." };
|
|
251
|
+
const versionOutput = (options.gitVersion ?? ((git) =>
|
|
252
|
+
execFileSync(git, ["--version"], { encoding: "utf8" })))(realGit);
|
|
253
|
+
const version = parseGitVersion(versionOutput);
|
|
254
|
+
if (!version || !supportsShim(version)) {
|
|
255
|
+
return {
|
|
256
|
+
error: `${versionOutput.trim() || "This Git"} is older than 2.31; the DevChain git shim needs Git 2.31 or newer.`,
|
|
257
|
+
realGit,
|
|
258
|
+
};
|
|
259
|
+
}
|
|
260
|
+
mkdirSync(bin, { recursive: true });
|
|
261
|
+
const shim = join(bin, "git");
|
|
262
|
+
const temporary = `${shim}.${process.pid}.tmp`;
|
|
263
|
+
writeFileSync(
|
|
264
|
+
temporary,
|
|
265
|
+
renderShim({
|
|
266
|
+
realGit,
|
|
267
|
+
node: options.node ?? process.execPath,
|
|
268
|
+
supervisor: options.supervisor ?? join(__dirname, "git-supervisor.js"),
|
|
269
|
+
home,
|
|
270
|
+
}),
|
|
271
|
+
{ mode: 0o755 },
|
|
272
|
+
);
|
|
273
|
+
// Git may run the shim at any moment; it must never see a partial file.
|
|
274
|
+
renameSync(temporary, shim);
|
|
275
|
+
return { shim, bin, realGit, version: version.join(".") };
|
|
276
|
+
}
|
|
277
|
+
|
|
278
|
+
/**
|
|
279
|
+
* One line of POSIX `sh` that drops every shim-directory entry from PATH, puts the directory
|
|
280
|
+
* first and clears the command hash. The rc block and the `--shell` stdout are this same line,
|
|
281
|
+
* so `eval` switches the current shell the way a new shell would start.
|
|
282
|
+
*/
|
|
283
|
+
function renderShellLine(bin) {
|
|
284
|
+
return (
|
|
285
|
+
`__dc_bin=${shellQuote(bin)} __dc_rest=$PATH: __dc_path=; ` +
|
|
286
|
+
'while [ -n "$__dc_rest" ]; do ' +
|
|
287
|
+
"__dc_entry=${__dc_rest%%:*}; __dc_rest=${__dc_rest#*:}; " +
|
|
288
|
+
'[ -z "$__dc_entry" ] || [ "$__dc_entry" = "$__dc_bin" ] || ' +
|
|
289
|
+
"__dc_path=${__dc_path:+$__dc_path:}$__dc_entry; done; " +
|
|
290
|
+
"PATH=$__dc_bin${__dc_path:+:$__dc_path}; export PATH; " +
|
|
291
|
+
"unset __dc_bin __dc_rest __dc_path __dc_entry; hash -r"
|
|
292
|
+
);
|
|
293
|
+
}
|
|
294
|
+
|
|
295
|
+
/** The startup file for the user's shell, `{ file }`, or `{ reason }` when the shell is unsupported. */
|
|
296
|
+
function selectRcFile({ env, platform, home }) {
|
|
297
|
+
const shell = env.SHELL ? basename(env.SHELL) : "";
|
|
298
|
+
if (shell === "bash") {
|
|
299
|
+
if (platform !== "darwin") return { file: join(home, ".bashrc") };
|
|
300
|
+
// bash reads the first of these that exists, so a new file must not hide an existing ~/.profile.
|
|
301
|
+
const candidates = [".bash_profile", ".bash_login", ".profile"].map((name) => join(home, name));
|
|
302
|
+
return {
|
|
303
|
+
file: candidates.find((candidate) => existsSync(candidate)) ?? candidates[0],
|
|
304
|
+
};
|
|
305
|
+
}
|
|
306
|
+
if (shell === "zsh") return { file: join(env.ZDOTDIR || home, ".zshrc") };
|
|
307
|
+
return {
|
|
308
|
+
reason: shell ? `Shell "${shell}" is not bash or zsh.` : "SHELL is not set.",
|
|
309
|
+
};
|
|
310
|
+
}
|
|
311
|
+
|
|
312
|
+
/**
|
|
313
|
+
* Adds or replaces the marked block, leaving the rest of the file untouched. The file is written
|
|
314
|
+
* in place, never renamed over, so a symlinked rc file keeps pointing at its target.
|
|
315
|
+
*/
|
|
316
|
+
function writeRcBlock(file, line) {
|
|
317
|
+
let content = "";
|
|
318
|
+
try {
|
|
319
|
+
content = readFileSync(file, "utf8");
|
|
320
|
+
} catch (error) {
|
|
321
|
+
if (error.code !== "ENOENT") throw error;
|
|
322
|
+
}
|
|
323
|
+
const block = `${RC_BLOCK_START}\n${line}\n${RC_BLOCK_END}`;
|
|
324
|
+
const start = new RegExp(`^${RC_BLOCK_START}$`, "m").exec(content);
|
|
325
|
+
let next;
|
|
326
|
+
if (start) {
|
|
327
|
+
const rest = content.slice(start.index);
|
|
328
|
+
const end = new RegExp(`^${RC_BLOCK_END}$`, "m").exec(rest);
|
|
329
|
+
if (!end)
|
|
330
|
+
throw new Error(`the "${RC_BLOCK_START}" block has no closing "${RC_BLOCK_END}" line`);
|
|
331
|
+
next = content.slice(0, start.index) + block + rest.slice(end.index + end[0].length);
|
|
332
|
+
} else {
|
|
333
|
+
const separator = content && !content.endsWith("\n") ? "\n" : "";
|
|
334
|
+
next = `${content}${separator}${block}\n`;
|
|
335
|
+
}
|
|
336
|
+
mkdirSync(dirname(file), { recursive: true });
|
|
337
|
+
writeFileSync(file, next);
|
|
338
|
+
}
|
|
339
|
+
|
|
340
|
+
/** `--shell`: writes the rc block; stdout holds only the shell line so `eval "$(…)"` works. */
|
|
341
|
+
function setUpShell(result, { out, err, manual, env, platform, stdoutIsTTY }) {
|
|
342
|
+
const line = renderShellLine(result.bin);
|
|
343
|
+
const rc = selectRcFile({ env, platform, home: env.HOME || homedir() });
|
|
344
|
+
let failure = null;
|
|
345
|
+
if (rc.reason) {
|
|
346
|
+
failure = `${rc.reason} Your shell startup file was not changed.`;
|
|
347
|
+
} else {
|
|
348
|
+
try {
|
|
349
|
+
writeRcBlock(rc.file, line);
|
|
350
|
+
} catch (error) {
|
|
351
|
+
failure = `Could not write ${rc.file}: ${error.message}`;
|
|
352
|
+
}
|
|
353
|
+
}
|
|
354
|
+
if (failure) {
|
|
355
|
+
err.write(`${failure}\nAdd this line to your shell startup file:\n${manual}\n`);
|
|
356
|
+
}
|
|
357
|
+
|
|
358
|
+
if (stdoutIsTTY) {
|
|
359
|
+
if (!failure) out.write(`Updated ${rc.file}\n`);
|
|
360
|
+
out.write(`For this terminal, run: ${SHELL_SETUP_COMMAND}\n`);
|
|
361
|
+
} else {
|
|
362
|
+
out.write(`${line}\n`);
|
|
363
|
+
}
|
|
364
|
+
return failure ? 1 : 0;
|
|
365
|
+
}
|
|
366
|
+
|
|
367
|
+
/** `devchain git shim install`: writes the shim and prints how to put it first on PATH. */
|
|
368
|
+
function runGitShimInstall(dependencies = {}) {
|
|
369
|
+
const out = dependencies.stdout ?? process.stdout;
|
|
370
|
+
const err = dependencies.stderr ?? process.stderr;
|
|
371
|
+
const result = installShim(dependencies.options);
|
|
372
|
+
if (result.error) {
|
|
373
|
+
err.write(`${result.error}\n`);
|
|
374
|
+
return 1;
|
|
375
|
+
}
|
|
376
|
+
const installed = `Installed the DevChain git shim: ${result.shim}`;
|
|
377
|
+
const manual = ` export PATH=${shellQuote(result.bin)}:"$PATH"`;
|
|
378
|
+
if (dependencies.shell) {
|
|
379
|
+
err.write(`${installed}\n`);
|
|
380
|
+
return setUpShell(result, {
|
|
381
|
+
out,
|
|
382
|
+
err,
|
|
383
|
+
manual,
|
|
384
|
+
env: dependencies.env ?? process.env,
|
|
385
|
+
platform: dependencies.platform ?? process.platform,
|
|
386
|
+
stdoutIsTTY: dependencies.stdoutIsTTY ?? Boolean(out.isTTY),
|
|
387
|
+
});
|
|
388
|
+
}
|
|
389
|
+
out.write(
|
|
390
|
+
[
|
|
391
|
+
installed,
|
|
392
|
+
`It runs ${result.realGit} (Git ${result.version}).`,
|
|
393
|
+
"",
|
|
394
|
+
"Put it first on PATH, for example in ~/.bashrc or ~/.zshrc:",
|
|
395
|
+
manual,
|
|
396
|
+
`Or set up your shell: ${SHELL_SETUP_COMMAND}`,
|
|
397
|
+
"",
|
|
398
|
+
"VS Code, in your user settings.json:",
|
|
399
|
+
` "git.path": ${JSON.stringify(result.shim)}`,
|
|
400
|
+
"",
|
|
401
|
+
"JetBrains IDEs, Settings > Version Control > Git > Path to Git executable:",
|
|
402
|
+
` ${result.shim}`,
|
|
403
|
+
"",
|
|
404
|
+
].join("\n"),
|
|
405
|
+
);
|
|
406
|
+
return 0;
|
|
407
|
+
}
|
|
408
|
+
|
|
409
|
+
module.exports = {
|
|
410
|
+
findRealGit,
|
|
411
|
+
installShim,
|
|
412
|
+
parseGitVersion,
|
|
413
|
+
renderShim,
|
|
414
|
+
runGitShimInstall,
|
|
415
|
+
shimHome,
|
|
416
|
+
supportsShim,
|
|
417
|
+
};
|
|
@@ -0,0 +1,289 @@
|
|
|
1
|
+
const { spawn } = require("node:child_process");
|
|
2
|
+
const { readFileSync } = require("node:fs");
|
|
3
|
+
const { constants } = require("node:os");
|
|
4
|
+
const {
|
|
5
|
+
LocalApiHttpError,
|
|
6
|
+
getLocalApiBaseUrl,
|
|
7
|
+
requestJson,
|
|
8
|
+
writeLine,
|
|
9
|
+
} = require("./local-api");
|
|
10
|
+
const {
|
|
11
|
+
isProcessRunning,
|
|
12
|
+
readPidFile,
|
|
13
|
+
resolveSharedModuleSpecifier,
|
|
14
|
+
} = require("./local-app-process");
|
|
15
|
+
|
|
16
|
+
const VM_WAIT_MS = 60_000;
|
|
17
|
+
// The VM coordinator waits up to 90 s for Git to come back from the PC.
|
|
18
|
+
const HOLD_TIMEOUT_MS = 120_000;
|
|
19
|
+
const VM_RETRY_MS = 2_000;
|
|
20
|
+
// The home API bounds a handover itself; this only stops a hung connection.
|
|
21
|
+
const ACQUIRE_TIMEOUT_MS = 10 * 60_000;
|
|
22
|
+
const FORWARDED_SIGNALS = ["SIGINT", "SIGTERM", "SIGHUP"];
|
|
23
|
+
|
|
24
|
+
// The shell is the registered process: it waits for the write id on fd 3, then execs git under
|
|
25
|
+
// the same pid and start time. EOF on fd 3 (refused, or the supervisor died) exits without git.
|
|
26
|
+
const GATE =
|
|
27
|
+
'IFS= read -r id <&3 || exit 125; exec 3<&-; [ -n "$id" ] && export DEVCHAIN_GIT_HOLD="$id"; exec "$0" "$@"';
|
|
28
|
+
|
|
29
|
+
class SupervisorError extends Error {}
|
|
30
|
+
|
|
31
|
+
/**
|
|
32
|
+
* Runs one git write for a connected project: on the PC through the home write API, on the VM
|
|
33
|
+
* under a coordinator hold. The shim passes the project in DEVCHAIN_GIT_PROJECT and the side in
|
|
34
|
+
* DEVCHAIN_GIT_SIDE. argv, stdio and the exit code pass through unchanged;
|
|
35
|
+
* git runs in this process group, never detached, so terminal prompts keep working.
|
|
36
|
+
* See docs/git-coordinator.md (Home writes).
|
|
37
|
+
*/
|
|
38
|
+
async function runGitSupervisor(args, dependencies = {}) {
|
|
39
|
+
const stderr = dependencies.stderr ?? process.stderr;
|
|
40
|
+
const fetchImpl = dependencies.fetch ?? globalThis.fetch;
|
|
41
|
+
const spawnImpl = dependencies.spawn ?? spawn;
|
|
42
|
+
const signals = dependencies.signals ?? process;
|
|
43
|
+
const cwd = dependencies.cwd ?? process.cwd();
|
|
44
|
+
const env = dependencies.env ?? process.env;
|
|
45
|
+
const git = dependencies.git ?? env.DEVCHAIN_REAL_GIT ?? "git";
|
|
46
|
+
const context = {
|
|
47
|
+
stderr,
|
|
48
|
+
fetchImpl,
|
|
49
|
+
now: dependencies.now ?? Date.now,
|
|
50
|
+
sleep:
|
|
51
|
+
dependencies.sleep ??
|
|
52
|
+
((ms) => new Promise((done) => setTimeout(done, ms))),
|
|
53
|
+
announceAfterMs: (dependencies.isTTY ?? stderr.isTTY) ? 1_000 : 10_000,
|
|
54
|
+
};
|
|
55
|
+
try {
|
|
56
|
+
const baseUrl = await (
|
|
57
|
+
dependencies.getLocalApiBaseUrl ??
|
|
58
|
+
(() =>
|
|
59
|
+
getLocalApiBaseUrl({
|
|
60
|
+
readPidFile,
|
|
61
|
+
isProcessRunning,
|
|
62
|
+
resolveSharedModuleSpecifier,
|
|
63
|
+
}))
|
|
64
|
+
)();
|
|
65
|
+
if (!baseUrl)
|
|
66
|
+
throw new SupervisorError(
|
|
67
|
+
"DevChain is not running. Start it with `devchain start`; Git writes in DevChain projects need it.",
|
|
68
|
+
);
|
|
69
|
+
context.baseUrl = baseUrl;
|
|
70
|
+
const project = env.DEVCHAIN_GIT_PROJECT
|
|
71
|
+
? { projectId: env.DEVCHAIN_GIT_PROJECT, remoteName: env.DEVCHAIN_GIT_REMOTE_NAME || null }
|
|
72
|
+
: await findProject(context, cwd);
|
|
73
|
+
if (env.DEVCHAIN_GIT_SIDE === "vm" && project) {
|
|
74
|
+
return await runVmWrite(context, project.projectId, {
|
|
75
|
+
spawn: () => gated(spawnImpl, git, args, cwd, env, project.projectId),
|
|
76
|
+
signals,
|
|
77
|
+
identity: dependencies.processIdentity ?? processIdentity,
|
|
78
|
+
});
|
|
79
|
+
}
|
|
80
|
+
if (!project?.remoteName) {
|
|
81
|
+
return exitCode(
|
|
82
|
+
await supervise(spawnImpl(git, args, { stdio: "inherit", cwd }), signals),
|
|
83
|
+
);
|
|
84
|
+
}
|
|
85
|
+
const child = gated(spawnImpl, git, args, cwd, env, project.projectId);
|
|
86
|
+
// Ctrl-C while waiting: the home app aborts a handover that has not flipped.
|
|
87
|
+
const write = await runGated(child, signals, (signal) =>
|
|
88
|
+
acquire({ ...context, signal }, project, child.pid),
|
|
89
|
+
);
|
|
90
|
+
return exitCode(write.result);
|
|
91
|
+
} catch (error) {
|
|
92
|
+
writeLine(stderr, `git: ${error.message ?? "the Git write failed."}`);
|
|
93
|
+
return 1;
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
|
|
97
|
+
/** The gate shell; the project rides along so a nested Git of this write skips the shim. */
|
|
98
|
+
function gated(spawnImpl, git, args, cwd, env, projectId) {
|
|
99
|
+
return spawnImpl("/bin/sh", ["-c", GATE, git, "-c", "gc.auto=0", ...args], {
|
|
100
|
+
stdio: ["inherit", "inherit", "inherit", "pipe"],
|
|
101
|
+
cwd,
|
|
102
|
+
env: { ...env, DEVCHAIN_GIT_HOLD_PROJECT: projectId },
|
|
103
|
+
});
|
|
104
|
+
}
|
|
105
|
+
|
|
106
|
+
/**
|
|
107
|
+
* Supervises a gated git child until it exits. `admit(signal)` returns the id the gate passes to
|
|
108
|
+
* git; its signal aborts once the child is gone, which before admission means a signal ended it.
|
|
109
|
+
* A refusal ends the gate without git and is thrown; an interrupted wait is not admitted.
|
|
110
|
+
*/
|
|
111
|
+
async function runGated(child, signals, admit) {
|
|
112
|
+
const exited = supervise(child, signals);
|
|
113
|
+
const gate = child.stdio[3];
|
|
114
|
+
// The gate may already be gone (a forwarded signal); its exit is reported by `exited`.
|
|
115
|
+
gate.on("error", () => {});
|
|
116
|
+
const gone = abortWhenGone(exited);
|
|
117
|
+
let id;
|
|
118
|
+
try {
|
|
119
|
+
id = await admit(gone);
|
|
120
|
+
} catch (error) {
|
|
121
|
+
const interrupted = gone.aborted;
|
|
122
|
+
gate.end();
|
|
123
|
+
const result = await exited;
|
|
124
|
+
if (interrupted) return { admitted: false, result };
|
|
125
|
+
throw error;
|
|
126
|
+
}
|
|
127
|
+
gate.end(`${id}\n`);
|
|
128
|
+
return { admitted: true, result: await exited };
|
|
129
|
+
}
|
|
130
|
+
|
|
131
|
+
/**
|
|
132
|
+
* VM write: the coordinator admits the gate pid and start time as a hold (waiting while the PC
|
|
133
|
+
* owns Git), git runs under it, and the hold is released once git has exited.
|
|
134
|
+
*/
|
|
135
|
+
async function runVmWrite(context, projectId, { spawn, signals, identity }) {
|
|
136
|
+
const child = spawn();
|
|
137
|
+
const start = identity(child.pid);
|
|
138
|
+
const hold = start && {
|
|
139
|
+
holdId: `vm-${child.pid}-${start.split(":").pop()}`,
|
|
140
|
+
pid: child.pid,
|
|
141
|
+
processStartTime: start,
|
|
142
|
+
};
|
|
143
|
+
const path = `/api/git-coordinator/projects/${encodeURIComponent(projectId)}`;
|
|
144
|
+
const write = await runGated(child, signals, (signal) =>
|
|
145
|
+
acquireHold({ ...context, signal }, path, hold),
|
|
146
|
+
);
|
|
147
|
+
if (!write.admitted) return exitCode(write.result);
|
|
148
|
+
// The coordinator also drops a hold whose process has exited, at its next poll.
|
|
149
|
+
await requestJson(context.fetchImpl, context.baseUrl, `${path}/release`, {
|
|
150
|
+
method: "POST",
|
|
151
|
+
body: hold,
|
|
152
|
+
}).catch(() => undefined);
|
|
153
|
+
return exitCode(write.result);
|
|
154
|
+
}
|
|
155
|
+
|
|
156
|
+
/** One line once the wait for Git to come back is noticeable. */
|
|
157
|
+
async function acquireHold(context, path, hold) {
|
|
158
|
+
const timer = setTimeout(
|
|
159
|
+
() => writeLine(context.stderr, "git: waiting for Git to come back to this VM…"),
|
|
160
|
+
context.announceAfterMs,
|
|
161
|
+
);
|
|
162
|
+
try {
|
|
163
|
+
if (!hold) throw new SupervisorError("the Git process identity cannot be read.");
|
|
164
|
+
await requestJson(context.fetchImpl, context.baseUrl, `${path}/acquire`, {
|
|
165
|
+
method: "POST",
|
|
166
|
+
body: hold,
|
|
167
|
+
timeoutMs: HOLD_TIMEOUT_MS,
|
|
168
|
+
signal: context.signal,
|
|
169
|
+
});
|
|
170
|
+
return hold.holdId;
|
|
171
|
+
} finally {
|
|
172
|
+
clearTimeout(timer);
|
|
173
|
+
}
|
|
174
|
+
}
|
|
175
|
+
|
|
176
|
+
/** `<boot id>:<start ticks>`, the VM coordinator's process identity; null when unreadable. */
|
|
177
|
+
function processIdentity(pid) {
|
|
178
|
+
try {
|
|
179
|
+
const stat = readFileSync(`/proc/${pid}/stat`, "utf8");
|
|
180
|
+
const boot = readFileSync("/proc/sys/kernel/random/boot_id", "utf8").trim();
|
|
181
|
+
const start = stat.slice(stat.lastIndexOf(")") + 2).trim().split(/\s+/)[19];
|
|
182
|
+
return boot && start ? `${boot}:${start}` : null;
|
|
183
|
+
} catch {
|
|
184
|
+
return null;
|
|
185
|
+
}
|
|
186
|
+
}
|
|
187
|
+
|
|
188
|
+
async function findProject(context, cwd) {
|
|
189
|
+
try {
|
|
190
|
+
return await requestJson(
|
|
191
|
+
context.fetchImpl,
|
|
192
|
+
context.baseUrl,
|
|
193
|
+
`/api/git-writes/project?path=${encodeURIComponent(cwd)}`,
|
|
194
|
+
);
|
|
195
|
+
} catch (error) {
|
|
196
|
+
if (error instanceof LocalApiHttpError && error.status === 404) return null;
|
|
197
|
+
throw error;
|
|
198
|
+
}
|
|
199
|
+
}
|
|
200
|
+
|
|
201
|
+
/** One line once the wait is noticeable; a VM that does not answer is retried for about 60 s. */
|
|
202
|
+
async function acquire(context, project, pid) {
|
|
203
|
+
const started = context.now();
|
|
204
|
+
let announced = false;
|
|
205
|
+
const announce = (line) => {
|
|
206
|
+
if (announced) return;
|
|
207
|
+
announced = true;
|
|
208
|
+
writeLine(context.stderr, line);
|
|
209
|
+
};
|
|
210
|
+
const timer = setTimeout(
|
|
211
|
+
() => announce(`git: waiting for Git on the VM '${project.remoteName}'…`),
|
|
212
|
+
context.announceAfterMs,
|
|
213
|
+
);
|
|
214
|
+
try {
|
|
215
|
+
for (;;) {
|
|
216
|
+
try {
|
|
217
|
+
const { writeId } = await requestJson(
|
|
218
|
+
context.fetchImpl,
|
|
219
|
+
context.baseUrl,
|
|
220
|
+
"/api/git-writes/acquire",
|
|
221
|
+
{
|
|
222
|
+
method: "POST",
|
|
223
|
+
body: { projectId: project.projectId, pid },
|
|
224
|
+
timeoutMs: ACQUIRE_TIMEOUT_MS,
|
|
225
|
+
signal: context.signal,
|
|
226
|
+
},
|
|
227
|
+
);
|
|
228
|
+
return writeId;
|
|
229
|
+
} catch (error) {
|
|
230
|
+
if (
|
|
231
|
+
!(error instanceof LocalApiHttpError) ||
|
|
232
|
+
error.code !== "GIT_VM_UNREACHABLE"
|
|
233
|
+
)
|
|
234
|
+
throw error;
|
|
235
|
+
if (context.now() - started >= VM_WAIT_MS)
|
|
236
|
+
throw new SupervisorError(
|
|
237
|
+
`the VM '${project.remoteName}' did not respond for ${VM_WAIT_MS / 1000} s; Git did not run.`,
|
|
238
|
+
);
|
|
239
|
+
announce(
|
|
240
|
+
`git: the VM '${project.remoteName}' does not respond; retrying for up to ${VM_WAIT_MS / 1000} s.`,
|
|
241
|
+
);
|
|
242
|
+
await context.sleep(VM_RETRY_MS);
|
|
243
|
+
}
|
|
244
|
+
}
|
|
245
|
+
} finally {
|
|
246
|
+
clearTimeout(timer);
|
|
247
|
+
}
|
|
248
|
+
}
|
|
249
|
+
|
|
250
|
+
/** Aborts once the gated child exits, which before admission means a signal ended it. */
|
|
251
|
+
function abortWhenGone(exited) {
|
|
252
|
+
const controller = new AbortController();
|
|
253
|
+
void exited.then(() => controller.abort());
|
|
254
|
+
return controller.signal;
|
|
255
|
+
}
|
|
256
|
+
|
|
257
|
+
/** Forwards termination signals to the child until it exits. */
|
|
258
|
+
function supervise(child, signals) {
|
|
259
|
+
const forward = (signal) => {
|
|
260
|
+
try {
|
|
261
|
+
child.kill(signal);
|
|
262
|
+
} catch {
|
|
263
|
+
// The child is already gone.
|
|
264
|
+
}
|
|
265
|
+
};
|
|
266
|
+
for (const signal of FORWARDED_SIGNALS) signals.on(signal, forward);
|
|
267
|
+
return new Promise((resolve) => {
|
|
268
|
+
const done = (result) => {
|
|
269
|
+
for (const signal of FORWARDED_SIGNALS) signals.off(signal, forward);
|
|
270
|
+
resolve(result);
|
|
271
|
+
};
|
|
272
|
+
child.on("error", (error) => done({ error }));
|
|
273
|
+
child.on("exit", (code, signal) => done({ code, signal }));
|
|
274
|
+
});
|
|
275
|
+
}
|
|
276
|
+
|
|
277
|
+
function exitCode({ code, signal, error }) {
|
|
278
|
+
if (error) throw new SupervisorError(error.message);
|
|
279
|
+
if (signal) return 128 + (constants.signals[signal] ?? 0);
|
|
280
|
+
return code ?? 1;
|
|
281
|
+
}
|
|
282
|
+
|
|
283
|
+
module.exports = { runGitSupervisor };
|
|
284
|
+
|
|
285
|
+
if (require.main === module) {
|
|
286
|
+
runGitSupervisor(process.argv.slice(2)).then((code) => {
|
|
287
|
+
process.exitCode = code;
|
|
288
|
+
});
|
|
289
|
+
}
|