devchain-cli 0.25.0 → 0.26.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -1
- 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 +2 -1
- 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 +510 -5
- 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 +55 -0
- package/dist/node_modules/@devchain/shared/mobile-rpc-contract/index.js.map +1 -1
- 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/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 +3 -0
- package/dist/server/common/config/env.config.js +1 -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/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 +5 -0
- package/dist/server/common/git-shim-paths.js +25 -0
- package/dist/server/common/git-shim-paths.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/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/main.js +2 -0
- package/dist/server/main.js.map +1 -1
- package/dist/server/modules/cloud-tunnel/cloud-tunnel.module.js +2 -0
- package/dist/server/modules/cloud-tunnel/cloud-tunnel.module.js.map +1 -1
- package/dist/server/modules/cloud-tunnel/services/mobile-chat-rpc.service.d.ts +5 -1
- 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 +506 -1
- package/dist/server/modules/cloud-tunnel/services/mobile-rpc-contract.generated.js +56 -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 +1 -0
- 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-handler.service.js +1 -0
- package/dist/server/modules/cloud-tunnel/services/tunnel-handler.service.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/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/file-sync/file-sync.dto.d.ts +18 -0
- package/dist/server/modules/file-sync/file-sync.dto.js +12 -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 -2
- package/dist/server/modules/file-sync/file-sync.module.js.map +1 -1
- package/dist/server/modules/file-sync/file-sync.service.d.ts +4 -0
- package/dist/server/modules/file-sync/file-sync.service.js +35 -0
- 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 +3 -0
- 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 +3 -1
- package/dist/server/modules/file-sync/host-git-guard.controller.js +11 -5
- 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 +11 -7
- package/dist/server/modules/file-sync/host-sync.controller.js +53 -20
- package/dist/server/modules/file-sync/host-sync.controller.js.map +1 -1
- package/dist/server/modules/file-sync/syncthing-launcher.d.ts +1 -0
- package/dist/server/modules/file-sync/syncthing-launcher.js +2 -1
- package/dist/server/modules/file-sync/syncthing-launcher.js.map +1 -1
- package/dist/server/modules/file-sync/testing/fake-file-sync.service.d.ts +2 -1
- package/dist/server/modules/file-sync/testing/fake-file-sync.service.js +6 -0
- package/dist/server/modules/file-sync/testing/fake-file-sync.service.js.map +1 -1
- package/dist/server/modules/git/dtos/git.dto.d.ts +4 -4
- 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 -0
- package/dist/server/modules/mcp/mcp-full.module.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 +2 -1
- package/dist/server/modules/mcp/services/mcp-tool-binding.registry.js +6 -2
- package/dist/server/modules/mcp/services/mcp-tool-binding.registry.js.map +1 -1
- package/dist/server/modules/mcp/tool-descriptors/binding-types.d.ts +4 -2
- package/dist/server/modules/mcp/tool-descriptors/binding-types.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/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/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/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 -1
- 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 +6 -3
- package/dist/server/modules/providers/adapters/claude.adapter.js +7 -2
- package/dist/server/modules/providers/adapters/claude.adapter.js.map +1 -1
- package/dist/server/modules/providers/adapters/codex.adapter.d.ts +6 -6
- package/dist/server/modules/providers/adapters/codex.adapter.js +47 -41
- package/dist/server/modules/providers/adapters/codex.adapter.js.map +1 -1
- 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 +3 -4
- package/dist/server/modules/providers/adapters/opencode.adapter.js +11 -42
- package/dist/server/modules/providers/adapters/opencode.adapter.js.map +1 -1
- 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.interface.d.ts +9 -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/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/providers.module.js +5 -0
- 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/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-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/utils/codex-config.d.ts +9 -0
- package/dist/server/modules/providers/utils/codex-config.js +34 -16
- package/dist/server/modules/providers/utils/codex-config.js.map +1 -1
- 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/remotes/contract/host-routes.d.ts +2180 -35
- package/dist/server/modules/remotes/contract/host-routes.js +168 -16
- package/dist/server/modules/remotes/contract/host-routes.js.map +1 -1
- 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/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 +30 -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-helper.dto.d.ts +4 -0
- package/dist/server/modules/remotes/host/host-helper.dto.js +14 -1
- package/dist/server/modules/remotes/host/host-helper.dto.js.map +1 -1
- package/dist/server/modules/remotes/host/host-helper.service.d.ts +5 -1
- package/dist/server/modules/remotes/host/host-helper.service.js +9 -3
- 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.service.d.ts +11 -2
- 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-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-update.controller.js +3 -3
- package/dist/server/modules/remotes/host/host-update.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/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 +12 -1
- package/dist/server/modules/remotes/operations/detach.operation.js +106 -29
- 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/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 +51 -12
- package/dist/server/modules/remotes/operations/remote-host.client.js +129 -23
- package/dist/server/modules/remotes/operations/remote-host.client.js.map +1 -1
- package/dist/server/modules/remotes/operations/remote-operation.dto.d.ts +161 -0
- 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 +4 -2
- package/dist/server/modules/remotes/operations/remote-operation.runner.js +53 -9
- 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 +11 -9
- 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/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 +150 -0
- 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 +47 -2
- 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/sync/remote-file-sync.service.d.ts +5 -1
- package/dist/server/modules/remotes/sync/remote-file-sync.service.js +95 -41
- 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 +2 -2
- package/dist/server/modules/remotes/transport/host-transport.d.ts +2 -0
- package/dist/server/modules/remotes/transport/host-transport.js +7 -0
- package/dist/server/modules/remotes/transport/host-transport.js.map +1 -1
- package/dist/server/modules/reviews/dtos/review.dto.d.ts +2 -2
- package/dist/server/modules/runtime-context-capture/codex-plugin-profile-materializer.service.d.ts +5 -1
- package/dist/server/modules/runtime-context-capture/codex-plugin-profile-materializer.service.js +25 -5
- package/dist/server/modules/runtime-context-capture/codex-plugin-profile-materializer.service.js.map +1 -1
- 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/codex-session-reader.adapter.d.ts +1 -0
- package/dist/server/modules/session-reader/adapters/codex-session-reader.adapter.js +1 -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 +3 -1
- 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 +1 -0
- package/dist/server/modules/session-reader/data/pricing.json +302 -61
- 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/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 +6 -0
- 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 +2 -0
- package/dist/server/modules/sessions/services/provider-launch-config/provider-launch-config.service.js +18 -1
- 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/launch-script.d.ts +5 -0
- package/dist/server/modules/sessions/services/provider-runtime-preparation/launch-script.js +37 -0
- package/dist/server/modules/sessions/services/provider-runtime-preparation/launch-script.js.map +1 -0
- package/dist/server/modules/sessions/services/provider-runtime-preparation/provider-runtime-preparation.service.d.ts +8 -1
- package/dist/server/modules/sessions/services/provider-runtime-preparation/provider-runtime-preparation.service.js +50 -2
- package/dist/server/modules/sessions/services/provider-runtime-preparation/provider-runtime-preparation.service.js.map +1 -1
- package/dist/server/modules/sessions/services/provider-runtime-preparation/provider-runtime-preparation.types.d.ts +1 -0
- package/dist/server/modules/sessions/services/session-lifecycle-facade.service.d.ts +7 -2
- package/dist/server/modules/sessions/services/session-lifecycle-facade.service.js +4 -4
- 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 +2 -0
- package/dist/server/modules/sessions/services/session-runtime/__test-utils__/pipeline-harness.js +2 -0
- package/dist/server/modules/sessions/services/session-runtime/__test-utils__/pipeline-harness.js.map +1 -1
- package/dist/server/modules/sessions/services/session-runtime/session-launch-pipeline.service.js +6 -7
- 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.js +1 -2
- package/dist/server/modules/sessions/services/session-runtime/session-restore-pipeline.service.js.map +1 -1
- package/dist/server/modules/sessions/services/sessions-message-pool.service.d.ts +1 -0
- package/dist/server/modules/sessions/services/sessions-message-pool.service.js +30 -0
- package/dist/server/modules/sessions/services/sessions-message-pool.service.js.map +1 -1
- package/dist/server/modules/sessions/sessions.module.js +15 -0
- package/dist/server/modules/sessions/sessions.module.js.map +1 -1
- package/dist/server/modules/settings/dtos/settings.dto.d.ts +33 -0
- 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 +3 -0
- package/dist/server/modules/settings/local/delegates/core-settings.delegate.js +35 -0
- package/dist/server/modules/settings/local/delegates/core-settings.delegate.js.map +1 -1
- package/dist/server/modules/settings/local/delegates/provider-cli-settings.delegate.js +6 -1
- package/dist/server/modules/settings/local/delegates/provider-cli-settings.delegate.js.map +1 -1
- package/dist/server/modules/settings/services/settings.service.d.ts +2 -1
- package/dist/server/modules/settings/services/settings.service.js +3 -0
- package/dist/server/modules/settings/services/settings.service.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 -2
- package/dist/server/modules/storage/interfaces/storage.interface.js.map +1 -1
- 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/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/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.js +2 -0
- package/dist/server/modules/storage/local/local-storage.service.js.map +1 -1
- package/dist/server/modules/storage/local/storage-routes.d.ts +26 -0
- package/dist/server/modules/storage/local/storage-routes.js +9 -0
- package/dist/server/modules/storage/local/storage-routes.js.map +1 -1
- 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/write-gate/storage-write-scope.d.ts +1 -0
- package/dist/server/modules/storage/write-gate/storage-write-scope.js +1 -0
- package/dist/server/modules/storage/write-gate/storage-write-scope.js.map +1 -1
- package/dist/server/modules/teams/services/teams.service.d.ts +46 -6
- package/dist/server/modules/teams/services/teams.service.js +129 -8
- package/dist/server/modules/teams/services/teams.service.js.map +1 -1
- package/dist/server/modules/teams/teams.module.js +14 -1
- package/dist/server/modules/teams/teams.module.js.map +1 -1
- package/dist/server/modules/terminal/services/terminal-io/delivery.d.ts +2 -2
- package/dist/server/modules/terminal/services/terminal-io/delivery.js.map +1 -1
- package/dist/server/modules/terminal/services/terminal-io/terminal-io.service.d.ts +1 -1
- package/dist/server/modules/terminal/services/terminal-io/terminal-io.service.js +6 -1
- package/dist/server/modules/terminal/services/terminal-io/terminal-io.service.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/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 +6 -6
- package/dist/server/tsconfig.build.tsbuildinfo +1 -1
- package/dist/server/ui/assets/{ExternalRichEditor-CB-LjWox.js → ExternalRichEditor-NpBNzn_X.js} +1 -1
- package/dist/server/ui/assets/{ReviewDetailPage-CpMMjYet.js → ReviewDetailPage-DxVCE1zh.js} +1 -1
- package/dist/server/ui/assets/{ReviewsPage-Cw17_agp.js → ReviewsPage-Bx6jkULr.js} +1 -1
- package/dist/server/ui/assets/index-BZjQEWOy.css +32 -0
- package/dist/server/ui/assets/{index-DmRXRpSy.js → index-CLPZxkZt.js} +263 -263
- package/dist/server/ui/assets/{useReviewSubscription-wd5iHNQy.js → useReviewSubscription-BLuFzXjh.js} +1 -1
- package/dist/server/ui/index.html +2 -2
- package/dist/templates/teams-dev.json +6 -6
- package/npm-shrinkwrap.json +6189 -0
- package/package.json +22 -22
- package/dist/server/modules/file-sync/host-git-index.controller.d.ts +0 -10
- 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/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/ui/assets/index-BwuNu70G.css +0 -32
|
@@ -14,6 +14,8 @@ var __param = (this && this.__param) || function (paramIndex, decorator) {
|
|
|
14
14
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
15
|
exports.InstallHostOperation = exports.INSTALL_HOST_TIMING = exports.HOST_INSTALL_PREFLIGHT_TIMEOUT_MS = void 0;
|
|
16
16
|
exports.accountHomeCheckCommand = accountHomeCheckCommand;
|
|
17
|
+
exports.joinedInstancePaths = joinedInstancePaths;
|
|
18
|
+
exports.installJobPaths = installJobPaths;
|
|
17
19
|
const common_1 = require("@nestjs/common");
|
|
18
20
|
const promises_1 = require("node:timers/promises");
|
|
19
21
|
const logger_1 = require("../../../common/logging/logger");
|
|
@@ -28,9 +30,6 @@ const remote_host_client_1 = require("./remote-host.client");
|
|
|
28
30
|
const remote_operation_errors_1 = require("./remote-operation.errors");
|
|
29
31
|
const remote_operation_types_1 = require("./remote-operation.types");
|
|
30
32
|
const logger = (0, logger_1.createLogger)('InstallHostOperation');
|
|
31
|
-
const INSTALL_LOG = '/var/log/devchain-host-install.log';
|
|
32
|
-
const INSTALL_EXIT = '/run/devchain-host-install.exit';
|
|
33
|
-
const INSTALL_UNIT = 'devchain-host-install';
|
|
34
33
|
const PEM_CERTIFICATE = /^-----BEGIN CERTIFICATE-----\r?\n[A-Za-z0-9+/=\r\n]+-----END CERTIFICATE-----$/;
|
|
35
34
|
const SUDO_PASSWORD_FAILURE = /password is required|no password was provided|incorrect password|sorry, try again|authentication fail/i;
|
|
36
35
|
exports.HOST_INSTALL_PREFLIGHT_TIMEOUT_MS = 12 * 60_000;
|
|
@@ -93,16 +92,41 @@ let InstallHostOperation = class InstallHostOperation {
|
|
|
93
92
|
async completed(operation) {
|
|
94
93
|
this.forget(operation.id);
|
|
95
94
|
}
|
|
96
|
-
retryFrom(operation) {
|
|
95
|
+
async retryFrom(operation) {
|
|
97
96
|
this.cancellations.delete(operation.id);
|
|
97
|
+
const details = operation.details;
|
|
98
|
+
if (details.mode === 'join' && !details.claimed) {
|
|
99
|
+
if ((0, remote_operation_types_1.stepStarted)(operation, 'claim_claim') || !this.claim.hasJoinNonce(operation.id))
|
|
100
|
+
return 'install';
|
|
101
|
+
const runtime = details.tlsCertificate
|
|
102
|
+
? await this.host.runtimeAt(details.bootstrapUrl, details.tlsCertificate).catch(() => null)
|
|
103
|
+
: null;
|
|
104
|
+
if (!runtime)
|
|
105
|
+
return 'install';
|
|
106
|
+
}
|
|
98
107
|
const retry = this.claim.retryFrom(claimOperation(operation));
|
|
99
108
|
return retry ? `claim_${retry}` : null;
|
|
100
109
|
}
|
|
110
|
+
resumeFrom(operation) {
|
|
111
|
+
const details = operation.details;
|
|
112
|
+
return details.mode === 'join' && !details.claimed ? 'install' : null;
|
|
113
|
+
}
|
|
101
114
|
async rollback(operation) {
|
|
102
115
|
const details = operation.details;
|
|
103
116
|
if (details.installStopRequired) {
|
|
104
117
|
const credentials = this.requireCredentials(operation.id);
|
|
105
|
-
await this.ssh.withSession({ host: details.address, credentials, expectedFingerprint: requireFingerprint(details) }, (session) => this.stopInstall(session, credentials, details));
|
|
118
|
+
await this.ssh.withSession({ host: details.address, credentials, expectedFingerprint: requireFingerprint(details) }, (session) => this.stopInstall(session, credentials, details, operation.id));
|
|
119
|
+
}
|
|
120
|
+
if (details.mode === 'join' && details.joinRequestId && details.joinInstallStarted) {
|
|
121
|
+
const credentials = this.requireCredentials(operation.id);
|
|
122
|
+
await this.ssh.withSession({ host: details.address, credentials, expectedFingerprint: requireFingerprint(details) }, async (session) => {
|
|
123
|
+
const ownClaim = await session.exec(privilegedCommand(credentials, `test ! -f ${(0, ssh_runner_1.shellQuote)(joinedInstancePaths(details.userName).claim)}`), sudoInput(credentials));
|
|
124
|
+
if (ownClaim.code !== 0)
|
|
125
|
+
throw new remote_operation_errors_1.RemoteOperationStepRefusedError('CLAIM_STARTED', 'The joined instance is already claimed; cancelling it is refused.');
|
|
126
|
+
const result = await this.joinCommand(session, credentials, details, '--cancel-join');
|
|
127
|
+
if (result.code !== 0)
|
|
128
|
+
throw joinRefusal(result, 'HOST_JOIN_CANCEL_FAILED', 'Could not cancel the VM join; restore SSH access and cancel again.');
|
|
129
|
+
});
|
|
106
130
|
}
|
|
107
131
|
await this.claim.rollback(claimOperation(operation));
|
|
108
132
|
this.forget(operation.id);
|
|
@@ -122,20 +146,45 @@ let InstallHostOperation = class InstallHostOperation {
|
|
|
122
146
|
signal.throwIfAborted();
|
|
123
147
|
install.checkWarnings = [];
|
|
124
148
|
const credentials = this.requireCredentials(operation.id);
|
|
125
|
-
const block = await this.renderBlock(install, true);
|
|
126
149
|
const collidingHome = await this.ssh.withSession({
|
|
127
150
|
host: install.address,
|
|
128
151
|
credentials,
|
|
129
152
|
expectedFingerprint: requireFingerprint(install),
|
|
130
153
|
}, async (session) => {
|
|
131
154
|
await this.probeSudo(session, credentials, signal);
|
|
155
|
+
const state = await session.exec(privilegedCommand(credentials, "sh -c 'if test -f /etc/devchain-host/claim.json; then printf __DEVCHAIN_HOST_STATE__claimed; else printf __DEVCHAIN_HOST_STATE__unclaimed; fi'"), sudoInput(credentials), { signal, capture: 'private' });
|
|
156
|
+
if (state.code !== 0 ||
|
|
157
|
+
!['__DEVCHAIN_HOST_STATE__claimed', '__DEVCHAIN_HOST_STATE__unclaimed'].includes(state.stdout.trim()))
|
|
158
|
+
throw new remote_operation_errors_1.RemoteOperationStepRefusedError('HOST_INSTALL_CHECK_FAILED', 'Could not inspect the VM claim state.');
|
|
159
|
+
install.mode =
|
|
160
|
+
state.stdout.trim() === '__DEVCHAIN_HOST_STATE__claimed' ? 'join' : 'install';
|
|
161
|
+
if (install.mode === 'join') {
|
|
162
|
+
install.joinRequestId = operation.id;
|
|
163
|
+
install.requestedPort ??= install.port;
|
|
164
|
+
}
|
|
165
|
+
const block = await this.renderBlock(install, true);
|
|
132
166
|
const path = await session.uploadTemp(block, { signal });
|
|
133
|
-
const result = await session.exec(privilegedCommand(credentials, `bash ${(0, ssh_runner_1.shellQuote)(path)} --check`), sudoInput(credentials), {
|
|
167
|
+
const result = await session.exec(privilegedCommand(credentials, `bash ${(0, ssh_runner_1.shellQuote)(path)} --check`), sudoInput(credentials), {
|
|
168
|
+
timeoutMs: exports.HOST_INSTALL_PREFLIGHT_TIMEOUT_MS,
|
|
169
|
+
signal,
|
|
170
|
+
...(install.mode === 'join' ? { capture: 'private' } : {}),
|
|
171
|
+
});
|
|
134
172
|
install.checkWarnings = `${result.stdout}\n${result.stderr}`
|
|
135
173
|
.split(/\r?\n/)
|
|
136
174
|
.filter((line) => line.startsWith('WARNING: '))
|
|
137
175
|
.map((line) => line.slice('WARNING: '.length));
|
|
138
176
|
if (result.code !== 0) {
|
|
177
|
+
if (install.mode === 'join') {
|
|
178
|
+
const refusal = parseJoinError(result);
|
|
179
|
+
if (refusal?.code === 'HOST_INSTALL_ACCOUNT_COLLISION')
|
|
180
|
+
return refusal.accountHome ?? 'another folder';
|
|
181
|
+
return {
|
|
182
|
+
joinError: refusal ?? {
|
|
183
|
+
code: 'HOST_JOIN_CHECK_FAILED',
|
|
184
|
+
message: 'The VM refused the join check.',
|
|
185
|
+
},
|
|
186
|
+
};
|
|
187
|
+
}
|
|
139
188
|
const refusal = tail(`${result.stdout}\n${result.stderr}`.trim(), 2_000);
|
|
140
189
|
throw new remote_operation_errors_1.RemoteOperationStepRefusedError('HOST_INSTALL_CHECK_FAILED', refusal || 'The VM refused the host installation check.');
|
|
141
190
|
}
|
|
@@ -151,6 +200,8 @@ let InstallHostOperation = class InstallHostOperation {
|
|
|
151
200
|
}
|
|
152
201
|
return undefined;
|
|
153
202
|
});
|
|
203
|
+
if (collidingHome && typeof collidingHome === 'object')
|
|
204
|
+
throw new remote_operation_errors_1.RemoteOperationStepRefusedError(collidingHome.joinError.code, collidingHome.joinError.message);
|
|
154
205
|
if (collidingHome !== undefined) {
|
|
155
206
|
throw new remote_operation_errors_1.RemoteOperationStepRefusedError('HOST_INSTALL_ACCOUNT_COLLISION', `The VM account ${install.userName} already uses the home folder ${collidingHome}. ` +
|
|
156
207
|
`Correct that account's home folder to ${install.homePath}, or use a new VM.`);
|
|
@@ -176,6 +227,10 @@ let InstallHostOperation = class InstallHostOperation {
|
|
|
176
227
|
async install({ operation, details, progress }) {
|
|
177
228
|
const install = details;
|
|
178
229
|
const credentials = this.requireCredentials(operation.id);
|
|
230
|
+
if (install.mode === 'join') {
|
|
231
|
+
await this.installJoin({ operation, details, progress }, credentials);
|
|
232
|
+
return;
|
|
233
|
+
}
|
|
179
234
|
const block = await this.renderBlock(install, false);
|
|
180
235
|
const { signal } = this.cancellation(operation.id);
|
|
181
236
|
signal.throwIfAborted();
|
|
@@ -186,24 +241,24 @@ let InstallHostOperation = class InstallHostOperation {
|
|
|
186
241
|
expectedFingerprint: requireFingerprint(install),
|
|
187
242
|
}, async (session) => {
|
|
188
243
|
try {
|
|
189
|
-
const status = await this.installStatus(session, credentials, deadline, signal);
|
|
244
|
+
const status = await this.installStatus(session, credentials, deadline, signal, operation.id);
|
|
190
245
|
if (status === 'absent') {
|
|
191
246
|
const path = await session.uploadTemp(block, { deadlineAt: deadline, signal });
|
|
192
247
|
signal.throwIfAborted();
|
|
193
|
-
const start = await session.exec(privilegedCommand(credentials, detachedInstallCommand(path)), sudoInput(credentials), { deadlineAt: deadline, timeoutMs: 5_000 });
|
|
248
|
+
const start = await session.exec(privilegedCommand(credentials, detachedInstallCommand(path, operation.id)), sudoInput(credentials), { deadlineAt: deadline, timeoutMs: 5_000 });
|
|
194
249
|
if (start.code !== 0) {
|
|
195
250
|
throw new remote_operation_errors_1.RemoteOperationStepRefusedError('HOST_INSTALL_START_FAILED', tail(start.stderr || start.stdout, 2_000) ||
|
|
196
251
|
'Could not start the host installation.');
|
|
197
252
|
}
|
|
198
253
|
}
|
|
199
|
-
await this.waitForInstall(session, credentials, progress, deadline, signal);
|
|
254
|
+
await this.waitForInstall(session, credentials, progress, deadline, signal, operation.id);
|
|
200
255
|
signal.throwIfAborted();
|
|
201
256
|
return await this.readCertificate(session, credentials, signal);
|
|
202
257
|
}
|
|
203
258
|
catch (error) {
|
|
204
259
|
if (signal.aborted) {
|
|
205
260
|
install.installStopRequired = true;
|
|
206
|
-
await this.stopInstall(session, credentials, install);
|
|
261
|
+
await this.stopInstall(session, credentials, install, operation.id);
|
|
207
262
|
}
|
|
208
263
|
throw error;
|
|
209
264
|
}
|
|
@@ -211,16 +266,137 @@ let InstallHostOperation = class InstallHostOperation {
|
|
|
211
266
|
await this.storage.updateRemoteTlsCertificate(operation.remoteId, certificate);
|
|
212
267
|
install.tlsCertificate = certificate;
|
|
213
268
|
}
|
|
269
|
+
async installJoin(run, credentials, deadline = Date.now() + this.timing.installTimeoutMs) {
|
|
270
|
+
const { operation, progress } = run;
|
|
271
|
+
const details = run.details;
|
|
272
|
+
const { signal } = this.cancellation(operation.id);
|
|
273
|
+
signal.throwIfAborted();
|
|
274
|
+
await this.ssh.withSession({ host: details.address, credentials, expectedFingerprint: requireFingerprint(details) }, async (session) => {
|
|
275
|
+
try {
|
|
276
|
+
if ((0, remote_operation_types_1.stepStarted)(operation, 'claim_claim')) {
|
|
277
|
+
const claimFile = joinedInstancePaths(details.userName).claim;
|
|
278
|
+
for (;;) {
|
|
279
|
+
signal.throwIfAborted();
|
|
280
|
+
const recorded = await session.exec(privilegedCommand(credentials, `sh -c ${(0, ssh_runner_1.shellQuote)(`if test -f ${(0, ssh_runner_1.shellQuote)(claimFile)}; then cat ${(0, ssh_runner_1.shellQuote)(claimFile)}; fi`)}`), sudoInput(credentials), { signal, deadlineAt: deadline, capture: 'private' });
|
|
281
|
+
if (recorded.code !== 0)
|
|
282
|
+
throw new remote_operation_errors_1.RemoteOperationStepRefusedError('HOST_JOIN_STATE_FAILED', 'Could not inspect this instance after the earlier claim.');
|
|
283
|
+
if (recorded.stdout.trim()) {
|
|
284
|
+
const record = JSON.parse(recorded.stdout);
|
|
285
|
+
if (!isJoinRecord(record, details) ||
|
|
286
|
+
record.port !== details.port ||
|
|
287
|
+
record.version !== details.version)
|
|
288
|
+
throw new remote_operation_errors_1.RemoteOperationStepRefusedError('INSTANCE_EXISTS', 'The existing instance does not match this join attempt.');
|
|
289
|
+
const started = await session.exec(privilegedCommand(credentials, `systemctl start --no-block ${(0, ssh_runner_1.shellQuote)(joinedInstancePaths(details.userName).unit)}`), sudoInput(credentials), { signal });
|
|
290
|
+
if (started.code !== 0)
|
|
291
|
+
throw new remote_operation_errors_1.RemoteOperationStepRefusedError('HOST_JOIN_START_FAILED', 'Could not start the recorded instance service.');
|
|
292
|
+
await this.saveJoinedAddress(operation.remoteId, details, session, credentials, signal);
|
|
293
|
+
details.claimed = true;
|
|
294
|
+
return;
|
|
295
|
+
}
|
|
296
|
+
const certificate = details.tlsCertificate ?? (await this.host.certificateOf(operation.remoteId));
|
|
297
|
+
const runtime = await this.host
|
|
298
|
+
.runtimeAt(details.bootstrapUrl, certificate)
|
|
299
|
+
.catch(() => null);
|
|
300
|
+
if (!claimInFlight(runtime))
|
|
301
|
+
break;
|
|
302
|
+
if (Date.now() >= deadline)
|
|
303
|
+
throw new remote_operation_errors_1.RemoteOperationStepRefusedError('HOST_JOIN_CLAIM_TIMEOUT', 'The earlier claim did not record this instance within the installation timeout.');
|
|
304
|
+
await (0, promises_1.setTimeout)(Math.min(this.timing.pollIntervalMs, deadline - Date.now()), undefined, { signal });
|
|
305
|
+
}
|
|
306
|
+
}
|
|
307
|
+
details.joinInstallStarted = true;
|
|
308
|
+
await progress({ joinInstallStarted: true }, { durable: true });
|
|
309
|
+
const status = await this.installStatus(session, credentials, deadline, signal, operation.id);
|
|
310
|
+
if (status === 'absent') {
|
|
311
|
+
const file = await session.uploadTemp(await this.renderBlock(details, false), {
|
|
312
|
+
signal,
|
|
313
|
+
deadlineAt: deadline,
|
|
314
|
+
});
|
|
315
|
+
const result = await session.exec(privilegedCommand(credentials, detachedInstallCommand(file, operation.id)), sudoInput(credentials), { deadlineAt: deadline, timeoutMs: 5_000 });
|
|
316
|
+
if (result.code !== 0)
|
|
317
|
+
throw new remote_operation_errors_1.RemoteOperationStepRefusedError('HOST_JOIN_START_FAILED', 'Could not start the detached VM join.');
|
|
318
|
+
}
|
|
319
|
+
await this.waitForInstall(session, credentials, progress, deadline, signal, operation.id, true);
|
|
320
|
+
signal.throwIfAborted();
|
|
321
|
+
const result = await this.joinCommand(session, credentials, details, '--reserve-join', signal);
|
|
322
|
+
if (result.code !== 0)
|
|
323
|
+
throw joinRefusal(result, 'HOST_JOIN_RESERVE_FAILED', 'Could not resume the join reservation.');
|
|
324
|
+
let reservation;
|
|
325
|
+
try {
|
|
326
|
+
reservation = JSON.parse(result.stdout);
|
|
327
|
+
}
|
|
328
|
+
catch {
|
|
329
|
+
throw new remote_operation_errors_1.RemoteOperationStepRefusedError('HOST_JOIN_RESERVATION_INVALID', 'The VM returned an invalid join reservation.');
|
|
330
|
+
}
|
|
331
|
+
if (!isJoinRecord(reservation, details) ||
|
|
332
|
+
typeof reservation.nonce !== 'string' ||
|
|
333
|
+
!/^[a-f0-9]{64}$/.test(reservation.nonce) ||
|
|
334
|
+
reservation.requestId !== details.joinRequestId ||
|
|
335
|
+
typeof reservation.expiresAt !== 'string' ||
|
|
336
|
+
!Number.isFinite(Date.parse(reservation.expiresAt)))
|
|
337
|
+
throw new remote_operation_errors_1.RemoteOperationStepRefusedError('HOST_JOIN_RESERVATION_INVALID', 'The VM returned a mismatched join reservation.');
|
|
338
|
+
this.claim.seedJoinNonce(operation.id, reservation.nonce);
|
|
339
|
+
details.port = reservation.port;
|
|
340
|
+
details.joinExpiresAt = reservation.expiresAt;
|
|
341
|
+
const url = new URL(details.bootstrapUrl);
|
|
342
|
+
url.port = String(reservation.port);
|
|
343
|
+
url.protocol = 'https:';
|
|
344
|
+
details.bootstrapUrl = url.origin;
|
|
345
|
+
await progress({
|
|
346
|
+
port: details.port,
|
|
347
|
+
bootstrapUrl: details.bootstrapUrl,
|
|
348
|
+
joinExpiresAt: details.joinExpiresAt,
|
|
349
|
+
}, { durable: true });
|
|
350
|
+
await this.saveJoinedAddress(operation.remoteId, details, session, credentials, signal);
|
|
351
|
+
}
|
|
352
|
+
catch (error) {
|
|
353
|
+
if (signal.aborted) {
|
|
354
|
+
details.installStopRequired = true;
|
|
355
|
+
await this.stopInstall(session, credentials, details, operation.id);
|
|
356
|
+
}
|
|
357
|
+
throw error;
|
|
358
|
+
}
|
|
359
|
+
});
|
|
360
|
+
}
|
|
361
|
+
async saveJoinedAddress(remoteId, details, session, credentials, signal) {
|
|
362
|
+
const certificate = await this.readCertificate(session, credentials, signal);
|
|
363
|
+
await this.storage.updateRemoteBaseUrl(remoteId, details.bootstrapUrl);
|
|
364
|
+
await this.storage.updateRemoteTlsCertificate(remoteId, certificate);
|
|
365
|
+
details.tlsCertificate = certificate;
|
|
366
|
+
}
|
|
367
|
+
async joinCommand(session, credentials, details, mode, signal) {
|
|
368
|
+
const input = {
|
|
369
|
+
userName: details.userName,
|
|
370
|
+
homePath: details.homePath,
|
|
371
|
+
port: details.requestedPort ?? details.port,
|
|
372
|
+
requestId: details.joinRequestId,
|
|
373
|
+
uid: details.uid,
|
|
374
|
+
gid: details.gid,
|
|
375
|
+
};
|
|
376
|
+
const file = await session.uploadTemp(JSON.stringify(input), { signal });
|
|
377
|
+
const own = joinedInstancePaths(details.userName);
|
|
378
|
+
const helper = own.bootstrap;
|
|
379
|
+
const cleanup = `test ! -f ${(0, ssh_runner_1.shellQuote)(own.claim)} && test ! -f ${(0, ssh_runner_1.shellQuote)(own.join)} || exit 3; rm -rf ${(0, ssh_runner_1.shellQuote)(own.prefix)}`;
|
|
380
|
+
const command = mode === '--cancel-join'
|
|
381
|
+
? `if test -x ${(0, ssh_runner_1.shellQuote)(helper)}; then ${(0, ssh_runner_1.shellQuote)(helper)} ${mode} <${(0, ssh_runner_1.shellQuote)(file)} || exit $?; else printf '{"cancelled":true}\\n'; fi; flock --exclusive /etc/devchain-host/registry.lock sh -c ${(0, ssh_runner_1.shellQuote)(cleanup)}`
|
|
382
|
+
: `${(0, ssh_runner_1.shellQuote)(helper)} ${mode} <${(0, ssh_runner_1.shellQuote)(file)}`;
|
|
383
|
+
try {
|
|
384
|
+
return await session.exec(privilegedCommand(credentials, `sh -c ${(0, ssh_runner_1.shellQuote)(command)}`), sudoInput(credentials), { signal, timeoutMs: ssh_runner_1.SSH_COMMAND_TIMEOUT_MS, capture: 'private' });
|
|
385
|
+
}
|
|
386
|
+
finally {
|
|
387
|
+
await session.exec(`rm -f ${(0, ssh_runner_1.shellQuote)(file)}`).catch(() => undefined);
|
|
388
|
+
}
|
|
389
|
+
}
|
|
214
390
|
async readCertificate(session, credentials, signal) {
|
|
215
|
-
const result = await session.exec(privilegedCommand(credentials, `cat ${(0, ssh_runner_1.shellQuote)(host_install_block_1.HOST_CERTIFICATE_PATH)}`), sudoInput(credentials), { timeoutMs: ssh_runner_1.SSH_COMMAND_TIMEOUT_MS, signal });
|
|
391
|
+
const result = await session.exec(privilegedCommand(credentials, `cat ${(0, ssh_runner_1.shellQuote)(host_install_block_1.HOST_CERTIFICATE_PATH)}`), sudoInput(credentials), { timeoutMs: ssh_runner_1.SSH_COMMAND_TIMEOUT_MS, signal, capture: 'private' });
|
|
216
392
|
if (result.code !== 0) {
|
|
217
|
-
throw new remote_operation_errors_1.RemoteOperationStepRefusedError('HOST_TLS_CERTIFICATE_UNREADABLE', `Could not read the VM certificate ${host_install_block_1.HOST_CERTIFICATE_PATH} over SSH
|
|
218
|
-
(result.stderr.trim() ? `: ${tail(result.stderr.trim(), 300)}` : '.'));
|
|
393
|
+
throw new remote_operation_errors_1.RemoteOperationStepRefusedError('HOST_TLS_CERTIFICATE_UNREADABLE', `Could not read the VM certificate ${host_install_block_1.HOST_CERTIFICATE_PATH} over SSH.`);
|
|
219
394
|
}
|
|
220
395
|
return parseVmCertificate(result.stdout);
|
|
221
396
|
}
|
|
222
|
-
async installStatus(session, credentials, deadline, signal) {
|
|
223
|
-
const
|
|
397
|
+
async installStatus(session, credentials, deadline, signal, operationId) {
|
|
398
|
+
const job = installJobPaths(operationId);
|
|
399
|
+
const command = `if test -f ${(0, ssh_runner_1.shellQuote)(job.exit)}; then printf finished; elif systemctl is-active --quiet ${(0, ssh_runner_1.shellQuote)(job.unit)}; then printf active; else printf absent; fi`;
|
|
224
400
|
const result = await session.exec(privilegedCommand(credentials, `sh -c ${(0, ssh_runner_1.shellQuote)(command)}`), sudoInput(credentials), { deadlineAt: deadline, signal });
|
|
225
401
|
if (result.code !== 0) {
|
|
226
402
|
throw new remote_operation_errors_1.RemoteOperationStepRefusedError('HOST_INSTALL_STATUS_FAILED', 'Could not read the detached installer status.');
|
|
@@ -228,10 +404,11 @@ let InstallHostOperation = class InstallHostOperation {
|
|
|
228
404
|
const status = result.stdout.trim();
|
|
229
405
|
return status === 'active' || status === 'finished' ? status : 'absent';
|
|
230
406
|
}
|
|
231
|
-
async waitForInstall(session, credentials, progress, deadline, signal) {
|
|
407
|
+
async waitForInstall(session, credentials, progress, deadline, signal, operationId, join = false) {
|
|
232
408
|
for (;;) {
|
|
233
409
|
signal.throwIfAborted();
|
|
234
|
-
const
|
|
410
|
+
const job = installJobPaths(operationId);
|
|
411
|
+
const command = `tail -n 80 ${(0, ssh_runner_1.shellQuote)(job.log)} 2>/dev/null || true; printf '\\n__DEVCHAIN_EXIT__'; test ! -f ${(0, ssh_runner_1.shellQuote)(job.exit)} || cat ${(0, ssh_runner_1.shellQuote)(job.exit)}`;
|
|
235
412
|
const result = await session.exec(privilegedCommand(credentials, `sh -c ${(0, ssh_runner_1.shellQuote)(command)}`), sudoInput(credentials), { deadlineAt: deadline, signal });
|
|
236
413
|
if (result.code !== 0) {
|
|
237
414
|
throw new remote_operation_errors_1.RemoteOperationStepRefusedError('HOST_INSTALL_STATUS_FAILED', 'Could not read the detached installer log and exit status.');
|
|
@@ -243,7 +420,9 @@ let InstallHostOperation = class InstallHostOperation {
|
|
|
243
420
|
const exitCode = /^\d+$/.test(exitText.trim()) ? Number(exitText.trim()) : null;
|
|
244
421
|
if (exitCode !== null) {
|
|
245
422
|
if (exitCode !== 0) {
|
|
246
|
-
await session.exec(privilegedCommand(credentials, `rm -f ${(0, ssh_runner_1.shellQuote)(
|
|
423
|
+
await session.exec(privilegedCommand(credentials, `rm -f ${(0, ssh_runner_1.shellQuote)(job.exit)}`), sudoInput(credentials));
|
|
424
|
+
if (join)
|
|
425
|
+
throw joinRefusal({ code: exitCode, stdout: logTail, stderr: '' }, 'HOST_JOIN_FAILED', 'The detached VM join failed.');
|
|
247
426
|
throw new remote_operation_errors_1.RemoteOperationStepRefusedError('HOST_INSTALL_FAILED', logTail || `The detached installer failed with code ${exitCode}.`);
|
|
248
427
|
}
|
|
249
428
|
return;
|
|
@@ -256,11 +435,14 @@ let InstallHostOperation = class InstallHostOperation {
|
|
|
256
435
|
});
|
|
257
436
|
}
|
|
258
437
|
}
|
|
259
|
-
async waitBootstrap(
|
|
438
|
+
async waitBootstrap(run) {
|
|
439
|
+
const { operation, details } = run;
|
|
260
440
|
const install = details;
|
|
261
441
|
const { signal } = this.cancellation(operation.id);
|
|
262
442
|
const certificate = install.tlsCertificate ?? (await this.host.certificateOf(operation.remoteId));
|
|
263
|
-
const
|
|
443
|
+
const recoveringClaim = install.mode === 'join' && !install.claimed && (0, remote_operation_types_1.stepStarted)(operation, 'claim_claim');
|
|
444
|
+
let deadline = Date.now() +
|
|
445
|
+
(recoveringClaim ? this.timing.installTimeoutMs : this.timing.bootstrapTimeoutMs);
|
|
264
446
|
for (;;) {
|
|
265
447
|
signal.throwIfAborted();
|
|
266
448
|
const runtime = await this.host
|
|
@@ -269,6 +451,16 @@ let InstallHostOperation = class InstallHostOperation {
|
|
|
269
451
|
if (runtime?.state === 'unclaimed' && (0, host_image_1.isSupportedHostImage)(runtime.imageVersion)) {
|
|
270
452
|
return;
|
|
271
453
|
}
|
|
454
|
+
if (recoveringClaim && !install.claimed && Date.now() >= deadline)
|
|
455
|
+
throw new remote_operation_errors_1.RemoteOperationStepRefusedError('HOST_JOIN_CLAIM_TIMEOUT', 'The earlier claim did not record this instance within the installation timeout.');
|
|
456
|
+
if (recoveringClaim && !install.claimed && claimInFlight(runtime)) {
|
|
457
|
+
await this.installJoin(run, this.requireCredentials(operation.id), deadline);
|
|
458
|
+
if (install.claimed)
|
|
459
|
+
deadline = Date.now() + this.timing.bootstrapTimeoutMs;
|
|
460
|
+
continue;
|
|
461
|
+
}
|
|
462
|
+
if (install.mode === 'join' && install.claimed && runtime?.version === install.version)
|
|
463
|
+
return;
|
|
272
464
|
if (Date.now() >= deadline) {
|
|
273
465
|
throw new remote_operation_errors_1.RemoteOperationStepRefusedError('HOST_BOOTSTRAP_TIMEOUT', 'The installed host bootstrap did not become ready within 60 seconds.');
|
|
274
466
|
}
|
|
@@ -285,9 +477,10 @@ let InstallHostOperation = class InstallHostOperation {
|
|
|
285
477
|
}
|
|
286
478
|
return controller;
|
|
287
479
|
}
|
|
288
|
-
async stopInstall(session, credentials, details) {
|
|
289
|
-
const
|
|
290
|
-
const
|
|
480
|
+
async stopInstall(session, credentials, details, operationId) {
|
|
481
|
+
const job = installJobPaths(operationId);
|
|
482
|
+
const unit = (0, ssh_runner_1.shellQuote)(job.unit);
|
|
483
|
+
const command = `systemctl kill --signal=SIGKILL ${unit}; systemctl stop ${unit} || { test "$(systemctl show ${unit} --property=LoadState --value)" = not-found || exit 1; }; rm -f ${(0, ssh_runner_1.shellQuote)(job.exit)}`;
|
|
291
484
|
const stopped = await session.exec(privilegedCommand(credentials, `sh -c ${(0, ssh_runner_1.shellQuote)(command)}`), sudoInput(credentials), { timeoutMs: 5_000 });
|
|
292
485
|
if (stopped.code !== 0) {
|
|
293
486
|
throw new remote_operation_errors_1.RemoteOperationStepRefusedError('HOST_INSTALL_STOP_FAILED', 'Could not stop the detached installer and clear its status on the VM. Check SSH access and cancel again.');
|
|
@@ -302,6 +495,17 @@ let InstallHostOperation = class InstallHostOperation {
|
|
|
302
495
|
return credentials;
|
|
303
496
|
}
|
|
304
497
|
renderBlock(details, checkOnly) {
|
|
498
|
+
if (details.mode === 'join')
|
|
499
|
+
return this.hostInstall.renderJoin({
|
|
500
|
+
minDiskGib: details.minDiskGib,
|
|
501
|
+
homePort: details.requestedPort ?? details.port,
|
|
502
|
+
homeUser: details.userName,
|
|
503
|
+
homePath: details.homePath,
|
|
504
|
+
uid: details.uid,
|
|
505
|
+
gid: details.gid,
|
|
506
|
+
requestId: details.joinRequestId ?? '',
|
|
507
|
+
checkOnly,
|
|
508
|
+
});
|
|
305
509
|
return this.hostInstall.render({
|
|
306
510
|
minDiskGib: details.minDiskGib,
|
|
307
511
|
homePort: details.port,
|
|
@@ -329,9 +533,30 @@ function accountHomeCheckCommand(userName, homePath) {
|
|
|
329
533
|
const script = `home=$(getent passwd ${(0, ssh_runner_1.shellQuote)(userName)}) || exit $?; home=$(printf '%s' "$home" | cut -d: -f6); [ "$home" = ${(0, ssh_runner_1.shellQuote)(homePath)} ] && exit 0; printf '%s' "$home"; exit ${ACCOUNT_HOME_MISMATCH_EXIT}`;
|
|
330
534
|
return `sh -c ${(0, ssh_runner_1.shellQuote)(script)}`;
|
|
331
535
|
}
|
|
332
|
-
function detachedInstallCommand(path) {
|
|
333
|
-
const
|
|
334
|
-
|
|
536
|
+
function detachedInstallCommand(path, operationId) {
|
|
537
|
+
const job = installJobPaths(operationId);
|
|
538
|
+
const run = `bash "$1"; code=$?; printf '%s\\n' "$code" > ${(0, ssh_runner_1.shellQuote)(job.exit)}; exit "$code"`;
|
|
539
|
+
return `systemd-run --unit=${(0, ssh_runner_1.shellQuote)(job.unit)} --collect --no-block --property=${(0, ssh_runner_1.shellQuote)(`StandardOutput=append:${job.log}`)} --property=${(0, ssh_runner_1.shellQuote)(`StandardError=append:${job.log}`)} bash -c ${(0, ssh_runner_1.shellQuote)(run)} _ ${(0, ssh_runner_1.shellQuote)(path)}`;
|
|
540
|
+
}
|
|
541
|
+
function claimInFlight(runtime) {
|
|
542
|
+
return (runtime?.state === 'claiming' || runtime?.state === 'handover' || Boolean(runtime?.version));
|
|
543
|
+
}
|
|
544
|
+
function joinedInstancePaths(userName) {
|
|
545
|
+
const etc = `/etc/devchain-host/instances/${userName}`;
|
|
546
|
+
const prefix = `/opt/devchain-host/instances/${userName}`;
|
|
547
|
+
return {
|
|
548
|
+
claim: `${etc}/claim.json`,
|
|
549
|
+
join: `${etc}/join.json`,
|
|
550
|
+
prefix,
|
|
551
|
+
bootstrap: `${prefix}/helper/bin/devchain-bootstrap`,
|
|
552
|
+
unit: `devchain-user-${userName}.service`,
|
|
553
|
+
};
|
|
554
|
+
}
|
|
555
|
+
function installJobPaths(operationId) {
|
|
556
|
+
if (!/^[A-Za-z0-9_-]+$/.test(operationId))
|
|
557
|
+
throw new Error('Invalid SSH operation id.');
|
|
558
|
+
const unit = `devchain-host-install-${operationId}`;
|
|
559
|
+
return { unit, log: `/var/log/${unit}.log`, exit: `/run/${unit}.exit` };
|
|
335
560
|
}
|
|
336
561
|
function privilegedCommand(credentials, command) {
|
|
337
562
|
return credentials.user === 'root' ? command : `sudo -S -p '' ${command}`;
|
|
@@ -364,4 +589,37 @@ function tail(value, max) {
|
|
|
364
589
|
function claimOperation(operation) {
|
|
365
590
|
return (0, remote_operation_types_1.withStepPrefix)(operation, 'claim_');
|
|
366
591
|
}
|
|
592
|
+
function isJoinRecord(value, details) {
|
|
593
|
+
if (!value || typeof value !== 'object')
|
|
594
|
+
return false;
|
|
595
|
+
const record = value;
|
|
596
|
+
return (record.userName === details.userName &&
|
|
597
|
+
record.homePath === details.homePath &&
|
|
598
|
+
typeof record.port === 'number' &&
|
|
599
|
+
Number.isInteger(record.port) &&
|
|
600
|
+
record.port >= 1024 &&
|
|
601
|
+
record.port <= 65535);
|
|
602
|
+
}
|
|
603
|
+
function parseJoinError(result) {
|
|
604
|
+
for (const line of `${result.stdout}\n${result.stderr}`.split(/\r?\n/).reverse()) {
|
|
605
|
+
try {
|
|
606
|
+
const parsed = JSON.parse(line);
|
|
607
|
+
if (!parsed || typeof parsed !== 'object')
|
|
608
|
+
continue;
|
|
609
|
+
const error = parsed;
|
|
610
|
+
if (typeof error.code === 'string' && typeof error.message === 'string')
|
|
611
|
+
return {
|
|
612
|
+
code: error.code,
|
|
613
|
+
message: error.message.replace(/\b[a-f0-9]{64}\b/gi, '[REDACTED]'),
|
|
614
|
+
...(typeof error.accountHome === 'string' ? { accountHome: error.accountHome } : {}),
|
|
615
|
+
};
|
|
616
|
+
}
|
|
617
|
+
catch { }
|
|
618
|
+
}
|
|
619
|
+
return null;
|
|
620
|
+
}
|
|
621
|
+
function joinRefusal(result, code, message) {
|
|
622
|
+
const error = parseJoinError(result);
|
|
623
|
+
return new remote_operation_errors_1.RemoteOperationStepRefusedError(error?.code ?? code, error?.message ?? message);
|
|
624
|
+
}
|
|
367
625
|
//# sourceMappingURL=install-host.operation.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"install-host.operation.js","sourceRoot":"","sources":["../../../../src/modules/remotes/operations/install-host.operation.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"install-host.operation.js","sourceRoot":"","sources":["../../../../src/modules/remotes/operations/install-host.operation.ts"],"names":[],"mappings":"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"}
|