devchain-cli 0.24.0 → 0.24.2
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 -4
- package/dist/build-info.json +2 -2
- package/dist/cli.js +66 -11
- package/dist/host-install/devchain-host-bootstrap.tgz +0 -0
- package/dist/host-install/pins.json +31 -2
- package/dist/lib/exclusive-run.js +51 -3
- package/dist/lib/git-owner.js +284 -0
- package/dist/lib/host-install.js +19 -151
- package/dist/lib/local-api.js +175 -0
- package/dist/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/constants/syncthing-markers.d.ts +1 -0
- package/dist/server/common/constants/syncthing-markers.js +6 -1
- package/dist/server/common/constants/syncthing-markers.js.map +1 -1
- package/dist/server/common/filesystem/vm-home-path.d.ts +11 -0
- package/dist/server/common/filesystem/vm-home-path.js +48 -0
- package/dist/server/common/filesystem/vm-home-path.js.map +1 -0
- package/dist/server/common/process-ids-env.d.ts +1 -0
- package/dist/server/common/process-ids-env.js +13 -0
- package/dist/server/common/process-ids-env.js.map +1 -0
- package/dist/server/common/test/api-test-app.d.ts +12 -0
- package/dist/server/common/test/api-test-app.js +76 -0
- package/dist/server/common/test/api-test-app.js.map +1 -0
- package/dist/server/common/test/app-bootstrap.helper.js +8 -1
- package/dist/server/common/test/app-bootstrap.helper.js.map +1 -1
- package/dist/server/common/test/fake-bootstrap.server.js +3 -2
- package/dist/server/common/test/fake-bootstrap.server.js.map +1 -1
- package/dist/server/common/test/fake-docker-engine.server.d.ts +24 -6
- package/dist/server/common/test/fake-docker-engine.server.js +123 -25
- package/dist/server/common/test/fake-docker-engine.server.js.map +1 -1
- package/dist/server/common/test/fake-proxmox.server.js +4 -4
- package/dist/server/common/test/fake-ssh.server.js +6 -6
- package/dist/server/common/test/fake-ssh.server.js.map +1 -1
- package/dist/server/common/test/test-database.helper.d.ts +6 -0
- package/dist/server/common/test/test-database.helper.js +29 -0
- package/dist/server/common/test/test-database.helper.js.map +1 -0
- package/dist/server/modules/cloud-tunnel/services/mobile-chat-rpc.service.d.ts +1 -0
- package/dist/server/modules/cloud-tunnel/services/mobile-chat-rpc.service.js +9 -3
- package/dist/server/modules/cloud-tunnel/services/mobile-chat-rpc.service.js.map +1 -1
- package/dist/server/modules/cloud-tunnel/services/mobile-transcript-projection.d.ts +6 -0
- package/dist/server/modules/cloud-tunnel/services/mobile-transcript-projection.js +88 -0
- package/dist/server/modules/cloud-tunnel/services/mobile-transcript-projection.js.map +1 -0
- package/dist/server/modules/cloud-tunnel/services/tunnel-event-forwarder.service.js +7 -1
- package/dist/server/modules/cloud-tunnel/services/tunnel-event-forwarder.service.js.map +1 -1
- package/dist/server/modules/core/controllers/docker-archive.d.ts +9 -2
- package/dist/server/modules/core/controllers/docker-archive.js +22 -6
- package/dist/server/modules/core/controllers/docker-archive.js.map +1 -1
- package/dist/server/modules/core/controllers/docker-engine.client.d.ts +2 -1
- package/dist/server/modules/core/controllers/docker-engine.client.js +57 -4
- package/dist/server/modules/core/controllers/docker-engine.client.js.map +1 -1
- package/dist/server/modules/core/controllers/docker-image-metadata.d.ts +248 -0
- package/dist/server/modules/core/controllers/docker-image-metadata.js +161 -0
- package/dist/server/modules/core/controllers/docker-image-metadata.js.map +1 -0
- package/dist/server/modules/core/controllers/docker-settings.d.ts +13 -2
- package/dist/server/modules/core/controllers/docker-settings.js +49 -11
- package/dist/server/modules/core/controllers/docker-settings.js.map +1 -1
- package/dist/server/modules/core/controllers/host-user-identity.d.ts +34 -0
- package/dist/server/modules/core/controllers/host-user-identity.js +23 -0
- package/dist/server/modules/core/controllers/host-user-identity.js.map +1 -0
- package/dist/server/modules/core/controllers/runtime.controller.d.ts +11 -4
- package/dist/server/modules/core/controllers/runtime.controller.js +2 -0
- package/dist/server/modules/core/controllers/runtime.controller.js.map +1 -1
- package/dist/server/modules/file-sync/build-exclusion-suggestions.d.ts +15 -0
- package/dist/server/modules/file-sync/build-exclusion-suggestions.js +402 -0
- package/dist/server/modules/file-sync/build-exclusion-suggestions.js.map +1 -0
- package/dist/server/modules/file-sync/file-sync-auto-fix.dto.d.ts +102 -0
- package/dist/server/modules/file-sync/file-sync-auto-fix.dto.js +22 -0
- package/dist/server/modules/file-sync/file-sync-auto-fix.dto.js.map +1 -0
- package/dist/server/modules/file-sync/file-sync-auto-fix.store.d.ts +12 -0
- package/dist/server/modules/file-sync/file-sync-auto-fix.store.js +73 -0
- package/dist/server/modules/file-sync/file-sync-auto-fix.store.js.map +1 -0
- package/dist/server/modules/file-sync/file-sync-conflicts.d.ts +3 -0
- package/dist/server/modules/file-sync/file-sync-conflicts.js +191 -0
- package/dist/server/modules/file-sync/file-sync-conflicts.js.map +1 -0
- package/dist/server/modules/file-sync/file-sync-ignores.store.d.ts +5 -1
- package/dist/server/modules/file-sync/file-sync-ignores.store.js +39 -8
- package/dist/server/modules/file-sync/file-sync-ignores.store.js.map +1 -1
- package/dist/server/modules/file-sync/file-sync.controller.d.ts +1 -3
- package/dist/server/modules/file-sync/file-sync.controller.js +5 -14
- package/dist/server/modules/file-sync/file-sync.controller.js.map +1 -1
- package/dist/server/modules/file-sync/file-sync.dto.d.ts +220 -1
- package/dist/server/modules/file-sync/file-sync.dto.js +70 -4
- package/dist/server/modules/file-sync/file-sync.dto.js.map +1 -1
- package/dist/server/modules/file-sync/file-sync.module.js +16 -1
- package/dist/server/modules/file-sync/file-sync.module.js.map +1 -1
- package/dist/server/modules/file-sync/file-sync.service.d.ts +20 -5
- package/dist/server/modules/file-sync/file-sync.service.js +173 -37
- package/dist/server/modules/file-sync/file-sync.service.js.map +1 -1
- package/dist/server/modules/file-sync/git-guard.dto.d.ts +61 -0
- package/dist/server/modules/file-sync/git-guard.dto.js +26 -0
- package/dist/server/modules/file-sync/git-guard.dto.js.map +1 -0
- package/dist/server/modules/file-sync/home-git-guard.service.d.ts +4 -2
- package/dist/server/modules/file-sync/home-git-guard.service.js +50 -25
- package/dist/server/modules/file-sync/home-git-guard.service.js.map +1 -1
- package/dist/server/modules/file-sync/host-git-guard.controller.d.ts +10 -0
- package/dist/server/modules/file-sync/host-git-guard.controller.js +64 -0
- package/dist/server/modules/file-sync/host-git-guard.controller.js.map +1 -0
- package/dist/server/modules/file-sync/host-git-index.controller.d.ts +9 -0
- package/dist/server/modules/file-sync/host-git-index.controller.js +67 -0
- package/dist/server/modules/file-sync/host-git-index.controller.js.map +1 -0
- package/dist/server/modules/file-sync/host-sync.controller.d.ts +15 -2
- package/dist/server/modules/file-sync/host-sync.controller.js +122 -14
- package/dist/server/modules/file-sync/host-sync.controller.js.map +1 -1
- package/dist/server/modules/file-sync/ignore-pattern-matcher.d.ts +30 -0
- package/dist/server/modules/file-sync/ignore-pattern-matcher.js +183 -0
- package/dist/server/modules/file-sync/ignore-pattern-matcher.js.map +1 -0
- package/dist/server/modules/file-sync/project-repository.d.ts +2 -0
- package/dist/server/modules/file-sync/project-repository.js +20 -0
- package/dist/server/modules/file-sync/project-repository.js.map +1 -0
- package/dist/server/modules/file-sync/sync-chown.dto.d.ts +99 -0
- package/dist/server/modules/file-sync/sync-chown.dto.js +46 -0
- package/dist/server/modules/file-sync/sync-chown.dto.js.map +1 -0
- package/dist/server/modules/file-sync/sync-chown.service.d.ts +12 -0
- package/dist/server/modules/file-sync/sync-chown.service.js +230 -0
- package/dist/server/modules/file-sync/sync-chown.service.js.map +1 -0
- package/dist/server/modules/file-sync/sync-path-inspection.dto.d.ts +626 -0
- package/dist/server/modules/file-sync/sync-path-inspection.dto.js +108 -0
- package/dist/server/modules/file-sync/sync-path-inspection.dto.js.map +1 -0
- package/dist/server/modules/file-sync/sync-path-inspector.d.ts +12 -0
- package/dist/server/modules/file-sync/sync-path-inspector.js +413 -0
- package/dist/server/modules/file-sync/sync-path-inspector.js.map +1 -0
- package/dist/server/modules/file-sync/syncthing-rest.client.d.ts +1 -1
- package/dist/server/modules/file-sync/syncthing-rest.client.js +9 -4
- package/dist/server/modules/file-sync/syncthing-rest.client.js.map +1 -1
- package/dist/server/modules/file-sync/testing/fake-file-sync.service.d.ts +28 -5
- package/dist/server/modules/file-sync/testing/fake-file-sync.service.js +68 -5
- package/dist/server/modules/file-sync/testing/fake-file-sync.service.js.map +1 -1
- package/dist/server/modules/file-sync/translate-git-ignore-rule.d.ts +3 -0
- package/dist/server/modules/file-sync/translate-git-ignore-rule.js +30 -0
- package/dist/server/modules/file-sync/translate-git-ignore-rule.js.map +1 -0
- package/dist/server/modules/hooks/dtos/hook-event.dto.d.ts +86 -0
- package/dist/server/modules/hooks/dtos/hook-event.dto.js +15 -1
- package/dist/server/modules/hooks/dtos/hook-event.dto.js.map +1 -1
- package/dist/server/modules/hooks/services/hooks-config.service.js +29 -0
- package/dist/server/modules/hooks/services/hooks-config.service.js.map +1 -1
- package/dist/server/modules/hooks/services/hooks.service.d.ts +5 -1
- package/dist/server/modules/hooks/services/hooks.service.js +27 -5
- 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 +2 -2
- package/dist/server/modules/hooks/services/pending-ask-user-question.service.js +9 -12
- package/dist/server/modules/hooks/services/pending-ask-user-question.service.js.map +1 -1
- package/dist/server/modules/mcp/services/handlers/skill-tools.js +2 -2
- package/dist/server/modules/mcp/services/handlers/skill-tools.js.map +1 -1
- package/dist/server/modules/metrics/services/metrics.service.js +1 -1
- package/dist/server/modules/metrics/services/metrics.service.js.map +1 -1
- package/dist/server/modules/providers/adapters/claude.adapter.d.ts +3 -1
- package/dist/server/modules/providers/adapters/claude.adapter.js +4 -1
- package/dist/server/modules/providers/adapters/claude.adapter.js.map +1 -1
- package/dist/server/modules/remotes/connect-choices.controller.d.ts +9 -0
- package/dist/server/modules/remotes/connect-choices.controller.js +54 -0
- package/dist/server/modules/remotes/connect-choices.controller.js.map +1 -0
- package/dist/server/modules/remotes/connect-choices.dto.d.ts +52 -0
- package/dist/server/modules/remotes/connect-choices.dto.js +19 -0
- package/dist/server/modules/remotes/connect-choices.dto.js.map +1 -0
- package/dist/server/modules/remotes/connect-choices.store.d.ts +12 -0
- package/dist/server/modules/remotes/connect-choices.store.js +95 -0
- package/dist/server/modules/remotes/connect-choices.store.js.map +1 -0
- package/dist/server/modules/remotes/controllers/remotes.controller.d.ts +3 -0
- package/dist/server/modules/remotes/controllers/remotes.controller.js +9 -1
- package/dist/server/modules/remotes/controllers/remotes.controller.js.map +1 -1
- package/dist/server/modules/remotes/docker/docker-copy-back.d.ts +1 -0
- package/dist/server/modules/remotes/docker/docker-copy-back.js +70 -31
- package/dist/server/modules/remotes/docker/docker-copy-back.js.map +1 -1
- package/dist/server/modules/remotes/docker/docker-handoff.d.ts +5 -3
- package/dist/server/modules/remotes/docker/docker-handoff.js +221 -53
- package/dist/server/modules/remotes/docker/docker-handoff.js.map +1 -1
- package/dist/server/modules/remotes/docker/docker-handoff.store.d.ts +5 -0
- package/dist/server/modules/remotes/docker/docker-handoff.store.js.map +1 -1
- package/dist/server/modules/remotes/docker/docker-plan-fit.d.ts +4 -1
- package/dist/server/modules/remotes/docker/docker-plan-fit.js +19 -6
- package/dist/server/modules/remotes/docker/docker-plan-fit.js.map +1 -1
- package/dist/server/modules/remotes/docker/docker-plan-policy.d.ts +6 -2
- package/dist/server/modules/remotes/docker/docker-plan-policy.js +191 -38
- 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 +55 -6
- package/dist/server/modules/remotes/docker/docker-plan-source.service.js +284 -52
- 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 +2 -1
- package/dist/server/modules/remotes/docker/docker-plan.controller.js +15 -1
- package/dist/server/modules/remotes/docker/docker-plan.controller.js.map +1 -1
- package/dist/server/modules/remotes/docker/docker-plan.dto.d.ts +47 -1
- package/dist/server/modules/remotes/docker/docker-plan.dto.js +1 -0
- package/dist/server/modules/remotes/docker/docker-plan.dto.js.map +1 -1
- package/dist/server/modules/remotes/docker/docker-plan.service.d.ts +15 -6
- package/dist/server/modules/remotes/docker/docker-plan.service.js +83 -20
- package/dist/server/modules/remotes/docker/docker-plan.service.js.map +1 -1
- package/dist/server/modules/remotes/docker/docker-project-compose.d.ts +7 -0
- package/dist/server/modules/remotes/docker/docker-project-compose.js +30 -0
- package/dist/server/modules/remotes/docker/docker-project-compose.js.map +1 -0
- package/dist/server/modules/remotes/dtos/remote.dto.d.ts +2 -0
- package/dist/server/modules/remotes/dtos/remote.dto.js.map +1 -1
- package/dist/server/modules/remotes/git-owner.store.d.ts +13 -0
- package/dist/server/modules/remotes/git-owner.store.js +69 -0
- package/dist/server/modules/remotes/git-owner.store.js.map +1 -0
- package/dist/server/modules/remotes/host/host-docker.controller.d.ts +14 -1
- package/dist/server/modules/remotes/host/host-docker.controller.js +28 -9
- package/dist/server/modules/remotes/host/host-docker.controller.js.map +1 -1
- package/dist/server/modules/remotes/host/host-docker.dto.d.ts +640 -3
- package/dist/server/modules/remotes/host/host-docker.dto.js +66 -9
- package/dist/server/modules/remotes/host/host-docker.dto.js.map +1 -1
- package/dist/server/modules/remotes/host/host-docker.service.d.ts +18 -6
- package/dist/server/modules/remotes/host/host-docker.service.js +184 -81
- package/dist/server/modules/remotes/host/host-docker.service.js.map +1 -1
- package/dist/server/modules/remotes/host/host-ipv4-routes.d.ts +4 -0
- package/dist/server/modules/remotes/host/host-ipv4-routes.js +43 -0
- package/dist/server/modules/remotes/host/host-ipv4-routes.js.map +1 -0
- package/dist/server/modules/remotes/host-image.d.ts +1 -1
- package/dist/server/modules/remotes/host-image.js +1 -1
- package/dist/server/modules/remotes/host-install/host-install-block.d.ts +1 -0
- package/dist/server/modules/remotes/host-install/host-install-block.js +76 -2
- package/dist/server/modules/remotes/host-install/host-install-block.js.map +1 -1
- package/dist/server/modules/remotes/host-install/host-install.service.d.ts +0 -1
- package/dist/server/modules/remotes/host-install/host-install.service.js +9 -26
- package/dist/server/modules/remotes/host-install/host-install.service.js.map +1 -1
- package/dist/server/modules/remotes/operations/attach.operation.d.ts +5 -1
- package/dist/server/modules/remotes/operations/attach.operation.js +41 -5
- package/dist/server/modules/remotes/operations/attach.operation.js.map +1 -1
- package/dist/server/modules/remotes/operations/claim.operation.d.ts +1 -0
- package/dist/server/modules/remotes/operations/claim.operation.js +6 -1
- package/dist/server/modules/remotes/operations/claim.operation.js.map +1 -1
- package/dist/server/modules/remotes/operations/detach.operation.d.ts +4 -1
- package/dist/server/modules/remotes/operations/detach.operation.js +10 -2
- package/dist/server/modules/remotes/operations/detach.operation.js.map +1 -1
- package/dist/server/modules/remotes/operations/docker-import-inventory.store.d.ts +10 -0
- package/dist/server/modules/remotes/operations/docker-import-inventory.store.js +17 -0
- 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 +30 -2
- package/dist/server/modules/remotes/operations/file-sync-handoff.js +498 -57
- package/dist/server/modules/remotes/operations/file-sync-handoff.js.map +1 -1
- package/dist/server/modules/remotes/operations/force-sync.operation.d.ts +39 -0
- package/dist/server/modules/remotes/operations/force-sync.operation.js +177 -0
- package/dist/server/modules/remotes/operations/force-sync.operation.js.map +1 -0
- package/dist/server/modules/remotes/operations/git-owner.dto.d.ts +83 -0
- package/dist/server/modules/remotes/operations/git-owner.dto.js +25 -0
- package/dist/server/modules/remotes/operations/git-owner.dto.js.map +1 -0
- package/dist/server/modules/remotes/operations/git-owner.operation.d.ts +35 -0
- package/dist/server/modules/remotes/operations/git-owner.operation.js +216 -0
- package/dist/server/modules/remotes/operations/git-owner.operation.js.map +1 -0
- package/dist/server/modules/remotes/operations/remote-host.client.d.ts +72 -8
- package/dist/server/modules/remotes/operations/remote-host.client.js +162 -28
- package/dist/server/modules/remotes/operations/remote-host.client.js.map +1 -1
- package/dist/server/modules/remotes/operations/remote-operation.dto.d.ts +19 -0
- package/dist/server/modules/remotes/operations/remote-operation.dto.js +5 -1
- package/dist/server/modules/remotes/operations/remote-operation.dto.js.map +1 -1
- package/dist/server/modules/remotes/operations/remote-operation.runner.d.ts +3 -1
- package/dist/server/modules/remotes/operations/remote-operation.runner.js +59 -21
- package/dist/server/modules/remotes/operations/remote-operation.runner.js.map +1 -1
- package/dist/server/modules/remotes/operations/remote-operation.types.d.ts +4 -1
- package/dist/server/modules/remotes/operations/remote-operation.types.js +4 -2
- package/dist/server/modules/remotes/operations/remote-operation.types.js.map +1 -1
- package/dist/server/modules/remotes/operations/remote-operations.controller.d.ts +5 -0
- package/dist/server/modules/remotes/operations/remote-operations.controller.js +56 -0
- package/dist/server/modules/remotes/operations/remote-operations.controller.js.map +1 -1
- package/dist/server/modules/remotes/operations/remote-operations.service.d.ts +16 -1
- package/dist/server/modules/remotes/operations/remote-operations.service.js +155 -5
- package/dist/server/modules/remotes/operations/remote-operations.service.js.map +1 -1
- package/dist/server/modules/remotes/operations/update-logins.operation.d.ts +1 -3
- package/dist/server/modules/remotes/operations/update-logins.operation.js +3 -18
- package/dist/server/modules/remotes/operations/update-logins.operation.js.map +1 -1
- package/dist/server/modules/remotes/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 +18 -0
- package/dist/server/modules/remotes/remotes.module.js.map +1 -1
- package/dist/server/modules/remotes/replica/__fixtures__/replica-seed.d.ts +2 -2
- package/dist/server/modules/remotes/replica/__fixtures__/replica-seed.js +2 -13
- package/dist/server/modules/remotes/replica/__fixtures__/replica-seed.js.map +1 -1
- package/dist/server/modules/remotes/services/remote-health.service.js +5 -0
- package/dist/server/modules/remotes/services/remote-health.service.js.map +1 -1
- package/dist/server/modules/remotes/sync/file-sync-failures.service.d.ts +18 -0
- package/dist/server/modules/remotes/sync/file-sync-failures.service.js +157 -0
- package/dist/server/modules/remotes/sync/file-sync-failures.service.js.map +1 -0
- package/dist/server/modules/remotes/sync/file-sync-pattern-preview.service.d.ts +14 -0
- package/dist/server/modules/remotes/sync/file-sync-pattern-preview.service.js +99 -0
- package/dist/server/modules/remotes/sync/file-sync-pattern-preview.service.js.map +1 -0
- package/dist/server/modules/remotes/sync/file-sync-suggestions.service.d.ts +15 -0
- package/dist/server/modules/remotes/sync/file-sync-suggestions.service.js +90 -0
- package/dist/server/modules/remotes/sync/file-sync-suggestions.service.js.map +1 -0
- package/dist/server/modules/remotes/sync/project-file-sync.controller.d.ts +29 -0
- package/dist/server/modules/remotes/sync/project-file-sync.controller.js +160 -0
- package/dist/server/modules/remotes/sync/project-file-sync.controller.js.map +1 -0
- package/dist/server/modules/remotes/sync/remote-file-sync.dto.d.ts +72 -0
- package/dist/server/modules/remotes/sync/remote-file-sync.dto.js +16 -0
- package/dist/server/modules/remotes/sync/remote-file-sync.dto.js.map +1 -0
- package/dist/server/modules/remotes/sync/remote-file-sync.service.d.ts +32 -1
- package/dist/server/modules/remotes/sync/remote-file-sync.service.js +499 -38
- package/dist/server/modules/remotes/sync/remote-file-sync.service.js.map +1 -1
- package/dist/server/modules/remotes/sync/remote-live-sync.service.d.ts +2 -0
- package/dist/server/modules/remotes/sync/remote-live-sync.service.js +26 -12
- package/dist/server/modules/remotes/sync/remote-live-sync.service.js.map +1 -1
- package/dist/server/modules/remotes/vm-user-identity.d.ts +29 -0
- package/dist/server/modules/remotes/vm-user-identity.js +45 -0
- package/dist/server/modules/remotes/vm-user-identity.js.map +1 -0
- package/dist/server/modules/runtime-context-capture/codex-plugin-profile-materializer.service.js +5 -1
- package/dist/server/modules/runtime-context-capture/codex-plugin-profile-materializer.service.js.map +1 -1
- package/dist/server/modules/session-reader/adapters/claude-session-reader.adapter.d.ts +5 -0
- package/dist/server/modules/session-reader/adapters/claude-session-reader.adapter.js +9 -0
- package/dist/server/modules/session-reader/adapters/claude-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/adapters/utils/coalesce-turns.js +1 -0
- package/dist/server/modules/session-reader/adapters/utils/coalesce-turns.js.map +1 -1
- package/dist/server/modules/session-reader/builders/semantic-step-extractor.js +1 -1
- package/dist/server/modules/session-reader/builders/semantic-step-extractor.js.map +1 -1
- package/dist/server/modules/session-reader/controllers/session-reader.controller.js +1 -1
- package/dist/server/modules/session-reader/controllers/session-reader.controller.js.map +1 -1
- package/dist/server/modules/session-reader/data/pricing.json +89 -12
- package/dist/server/modules/session-reader/dtos/unified-message.types.d.ts +1 -0
- package/dist/server/modules/session-reader/parsers/claude-jsonl.parser.d.ts +3 -0
- package/dist/server/modules/session-reader/parsers/claude-jsonl.parser.js +10 -1
- package/dist/server/modules/session-reader/parsers/claude-jsonl.parser.js.map +1 -1
- package/dist/server/modules/session-reader/parsers/claude-turn-evidence.d.ts +11 -0
- package/dist/server/modules/session-reader/parsers/claude-turn-evidence.js +50 -0
- package/dist/server/modules/session-reader/parsers/claude-turn-evidence.js.map +1 -0
- package/dist/server/modules/session-reader/parsers/codex-jsonl.parser.js +8 -2
- package/dist/server/modules/session-reader/parsers/codex-jsonl.parser.js.map +1 -1
- package/dist/server/modules/session-reader/services/bounded-anchor-proof.d.ts +7 -0
- package/dist/server/modules/session-reader/services/bounded-anchor-proof.js +31 -2
- package/dist/server/modules/session-reader/services/bounded-anchor-proof.js.map +1 -1
- package/dist/server/modules/session-reader/services/session-cache.service.d.ts +8 -2
- package/dist/server/modules/session-reader/services/session-cache.service.js +80 -21
- package/dist/server/modules/session-reader/services/session-cache.service.js.map +1 -1
- package/dist/server/modules/session-reader/services/session-reader.service.d.ts +4 -0
- package/dist/server/modules/session-reader/services/session-reader.service.js +40 -8
- package/dist/server/modules/session-reader/services/session-reader.service.js.map +1 -1
- package/dist/server/modules/session-reader/services/transcript-cursor.d.ts +16 -4
- package/dist/server/modules/session-reader/services/transcript-cursor.js +65 -6
- package/dist/server/modules/session-reader/services/transcript-cursor.js.map +1 -1
- package/dist/server/modules/session-reader/services/transcript-serialization.js +2 -1
- package/dist/server/modules/session-reader/services/transcript-serialization.js.map +1 -1
- package/dist/server/modules/session-reader/services/transcript-turn-state.d.ts +4 -0
- package/dist/server/modules/session-reader/services/transcript-turn-state.js +20 -0
- package/dist/server/modules/session-reader/services/transcript-turn-state.js.map +1 -0
- package/dist/server/modules/session-reader/services/transcript-watcher.service.d.ts +4 -1
- package/dist/server/modules/session-reader/services/transcript-watcher.service.js +43 -18
- package/dist/server/modules/session-reader/services/transcript-watcher.service.js.map +1 -1
- package/dist/server/modules/sessions/services/provider-launch-config/provider-launch-config.service.js +5 -0
- package/dist/server/modules/sessions/services/provider-launch-config/provider-launch-config.service.js.map +1 -1
- package/dist/server/modules/sessions/services/session-runtime/__test-utils__/pipeline-harness.d.ts +36 -17
- package/dist/server/modules/sessions/services/session-runtime/__test-utils__/pipeline-harness.js +26 -9
- 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 +19 -0
- package/dist/server/modules/sessions/services/session-runtime/ensure-mcp-readiness.js +26 -0
- package/dist/server/modules/sessions/services/session-runtime/ensure-mcp-readiness.js.map +1 -0
- package/dist/server/modules/sessions/services/session-runtime/session-launch-pipeline.service.js +10 -18
- 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 +5 -1
- package/dist/server/modules/sessions/services/session-runtime/session-restore-pipeline.service.js +20 -2
- package/dist/server/modules/sessions/services/session-runtime/session-restore-pipeline.service.js.map +1 -1
- package/dist/server/modules/settings/local/delegates/skills-settings.delegate.d.ts +6 -0
- package/dist/server/modules/settings/local/delegates/skills-settings.delegate.js +26 -0
- package/dist/server/modules/settings/local/delegates/skills-settings.delegate.js.map +1 -1
- package/dist/server/modules/settings/services/settings.service.d.ts +3 -1
- package/dist/server/modules/settings/services/settings.service.js +6 -0
- package/dist/server/modules/settings/services/settings.service.js.map +1 -1
- package/dist/server/modules/skills/adapters/anthropic-skill-source.adapter.js +5 -5
- package/dist/server/modules/skills/adapters/anthropic-skill-source.adapter.js.map +1 -1
- package/dist/server/modules/skills/adapters/github-directory-skill-source.adapter.js +5 -5
- package/dist/server/modules/skills/adapters/github-directory-skill-source.adapter.js.map +1 -1
- package/dist/server/modules/skills/adapters/github-skill-source.base.js +4 -3
- package/dist/server/modules/skills/adapters/github-skill-source.base.js.map +1 -1
- package/dist/server/modules/skills/adapters/local-skill-source.adapter.js +5 -5
- package/dist/server/modules/skills/adapters/local-skill-source.adapter.js.map +1 -1
- package/dist/server/modules/skills/adapters/microsoft-skill-source.adapter.js +5 -5
- package/dist/server/modules/skills/adapters/microsoft-skill-source.adapter.js.map +1 -1
- package/dist/server/modules/skills/adapters/openai-skill-source.adapter.js +5 -5
- package/dist/server/modules/skills/adapters/openai-skill-source.adapter.js.map +1 -1
- package/dist/server/modules/skills/adapters/skill-source.adapter.d.ts +5 -0
- package/dist/server/modules/skills/adapters/skill-sync-temp-cleanup.d.ts +5 -0
- package/dist/server/modules/skills/adapters/skill-sync-temp-cleanup.js +75 -0
- package/dist/server/modules/skills/adapters/skill-sync-temp-cleanup.js.map +1 -0
- package/dist/server/modules/skills/adapters/trailofbits-skill-source.adapter.js +5 -5
- package/dist/server/modules/skills/adapters/trailofbits-skill-source.adapter.js.map +1 -1
- package/dist/server/modules/skills/adapters/vercel-skill-source.adapter.js +5 -5
- package/dist/server/modules/skills/adapters/vercel-skill-source.adapter.js.map +1 -1
- package/dist/server/modules/skills/controllers/skills.controller.js +2 -2
- package/dist/server/modules/skills/controllers/skills.controller.js.map +1 -1
- package/dist/server/modules/skills/services/skill-source-lifecycle.service.d.ts +3 -3
- package/dist/server/modules/skills/services/skill-source-lifecycle.service.js +9 -4
- package/dist/server/modules/skills/services/skill-source-lifecycle.service.js.map +1 -1
- package/dist/server/modules/skills/services/skill-sync.service.d.ts +3 -3
- package/dist/server/modules/skills/services/skill-sync.service.js +32 -6
- package/dist/server/modules/skills/services/skill-sync.service.js.map +1 -1
- package/dist/server/modules/skills/services/skill-sync.types.d.ts +3 -0
- package/dist/server/modules/storage/db/schema.d.ts +2 -2
- package/dist/server/modules/storage/db/schema.js +2 -0
- package/dist/server/modules/storage/db/schema.js.map +1 -1
- package/dist/server/modules/storage/models/domain.models.d.ts +1 -1
- package/dist/server/modules/storage/models/domain.models.js +2 -0
- package/dist/server/modules/storage/models/domain.models.js.map +1 -1
- package/dist/server/modules/teams/storage/teams.store.d.ts +1 -0
- package/dist/server/modules/teams/storage/teams.store.js +19 -3
- package/dist/server/modules/teams/storage/teams.store.js.map +1 -1
- package/dist/server/modules/terminal/gateways/terminal.gateway.d.ts +3 -1
- package/dist/server/modules/terminal/gateways/terminal.gateway.js +9 -4
- package/dist/server/modules/terminal/gateways/terminal.gateway.js.map +1 -1
- package/dist/server/modules/terminal/services/session-turn-signals.d.ts +18 -0
- package/dist/server/modules/terminal/services/session-turn-signals.js +6 -0
- package/dist/server/modules/terminal/services/session-turn-signals.js.map +1 -0
- package/dist/server/modules/terminal/services/terminal-activity.service.d.ts +32 -5
- package/dist/server/modules/terminal/services/terminal-activity.service.js +322 -40
- package/dist/server/modules/terminal/services/terminal-activity.service.js.map +1 -1
- package/dist/server/modules/terminal/services/terminal-io/lifecycle.js +15 -3
- package/dist/server/modules/terminal/services/terminal-io/lifecycle.js.map +1 -1
- package/dist/server/modules/terminal/terminal.module.js +2 -0
- package/dist/server/modules/terminal/terminal.module.js.map +1 -1
- package/dist/server/modules/terminal/utils/ansi-sanitizer.d.ts +0 -1
- package/dist/server/modules/terminal/utils/ansi-sanitizer.js +0 -4
- package/dist/server/modules/terminal/utils/ansi-sanitizer.js.map +1 -1
- package/dist/server/templates/teams-dev.json +14 -14
- package/dist/server/test-setup-node.js +4 -3
- package/dist/server/test-setup-node.js.map +1 -1
- package/dist/server/test-setup.js +7 -0
- package/dist/server/test-setup.js.map +1 -1
- package/dist/server/tsconfig.tsbuildinfo +1 -1
- package/dist/server/ui/assets/{ExternalRichEditor--kNXs-Eb.js → ExternalRichEditor-CIZPhssf.js} +24 -24
- package/dist/server/ui/assets/ReviewDetailPage-winyLSQ7.js +6 -0
- package/dist/server/ui/assets/ReviewsPage-BYKBReMp.js +6 -0
- package/dist/server/ui/assets/index-CiDJX6Hn.js +1191 -0
- package/dist/server/ui/assets/index-f1WOAqXB.css +32 -0
- package/dist/server/ui/assets/useReviewSubscription-v3Cto0y4.js +69 -0
- package/dist/server/ui/index.html +2 -2
- package/dist/templates/teams-dev.json +14 -14
- package/package.json +15 -1
- package/dist/server/modules/reviews/utils/notification-formatter.d.ts +0 -12
- package/dist/server/modules/reviews/utils/notification-formatter.js +0 -60
- package/dist/server/modules/reviews/utils/notification-formatter.js.map +0 -1
- package/dist/server/ui/assets/ReviewDetailPage-DMgP5fKn.js +0 -6
- package/dist/server/ui/assets/ReviewsPage-CkyFUJr6.js +0 -6
- package/dist/server/ui/assets/index-CVUaAlP4.css +0 -32
- package/dist/server/ui/assets/index-CqRufKpA.js +0 -994
- package/dist/server/ui/assets/useReviewSubscription-CU70CzwG.js +0 -69
|
@@ -0,0 +1,248 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
type JsonValue = null | boolean | number | string | JsonValue[] | {
|
|
3
|
+
[key: string]: JsonValue;
|
|
4
|
+
};
|
|
5
|
+
export declare const DockerImageMetadataSchema: z.ZodObject<{
|
|
6
|
+
Os: z.ZodString;
|
|
7
|
+
Architecture: z.ZodString;
|
|
8
|
+
Variant: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
9
|
+
Created: z.ZodOptional<z.ZodNullable<z.ZodUnion<[z.ZodLiteral<"">, z.ZodString]>>>;
|
|
10
|
+
Config: z.ZodObject<{
|
|
11
|
+
User: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
12
|
+
Env: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodString, "many">>>;
|
|
13
|
+
Cmd: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodString, "many">>>;
|
|
14
|
+
Entrypoint: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodString, "many">>>;
|
|
15
|
+
WorkingDir: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
16
|
+
Labels: z.ZodOptional<z.ZodNullable<z.ZodRecord<z.ZodString, z.ZodString>>>;
|
|
17
|
+
Volumes: z.ZodOptional<z.ZodNullable<z.ZodRecord<z.ZodString, z.ZodObject<{}, "strict", z.ZodTypeAny, {}, {}>>>>;
|
|
18
|
+
ExposedPorts: z.ZodOptional<z.ZodNullable<z.ZodRecord<z.ZodString, z.ZodObject<{}, "strict", z.ZodTypeAny, {}, {}>>>>;
|
|
19
|
+
OnBuild: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodString, "many">>>;
|
|
20
|
+
Shell: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodString, "many">>>;
|
|
21
|
+
StopSignal: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
22
|
+
ArgsEscaped: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
|
|
23
|
+
Healthcheck: z.ZodOptional<z.ZodNullable<z.ZodObject<{
|
|
24
|
+
Test: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodString, "many">>>;
|
|
25
|
+
Interval: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
|
|
26
|
+
Timeout: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
|
|
27
|
+
StartPeriod: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
|
|
28
|
+
StartInterval: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
|
|
29
|
+
Retries: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
|
|
30
|
+
}, "strip", z.ZodType<JsonValue, z.ZodTypeDef, JsonValue>, {
|
|
31
|
+
Test?: string[] | null | undefined;
|
|
32
|
+
Interval?: number | null | undefined;
|
|
33
|
+
Timeout?: number | null | undefined;
|
|
34
|
+
StartPeriod?: number | null | undefined;
|
|
35
|
+
StartInterval?: number | null | undefined;
|
|
36
|
+
Retries?: number | null | undefined;
|
|
37
|
+
}, {
|
|
38
|
+
Test?: string[] | null | undefined;
|
|
39
|
+
Interval?: number | null | undefined;
|
|
40
|
+
Timeout?: number | null | undefined;
|
|
41
|
+
StartPeriod?: number | null | undefined;
|
|
42
|
+
StartInterval?: number | null | undefined;
|
|
43
|
+
Retries?: number | null | undefined;
|
|
44
|
+
}>>>;
|
|
45
|
+
Memory: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
|
|
46
|
+
MemorySwap: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
|
|
47
|
+
CpuShares: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
|
|
48
|
+
Hostname: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
49
|
+
Domainname: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
50
|
+
Image: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
51
|
+
MacAddress: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
52
|
+
AttachStdin: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
|
|
53
|
+
AttachStdout: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
|
|
54
|
+
AttachStderr: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
|
|
55
|
+
Tty: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
|
|
56
|
+
OpenStdin: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
|
|
57
|
+
StdinOnce: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
|
|
58
|
+
NetworkDisabled: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
|
|
59
|
+
StopTimeout: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
|
|
60
|
+
}, "strip", z.ZodType<JsonValue, z.ZodTypeDef, JsonValue>, {
|
|
61
|
+
User?: string | null | undefined;
|
|
62
|
+
Env?: string[] | null | undefined;
|
|
63
|
+
Cmd?: string[] | null | undefined;
|
|
64
|
+
Entrypoint?: string[] | null | undefined;
|
|
65
|
+
WorkingDir?: string | null | undefined;
|
|
66
|
+
Labels?: Record<string, string> | null | undefined;
|
|
67
|
+
Volumes?: Record<string, {}> | null | undefined;
|
|
68
|
+
ExposedPorts?: Record<string, {}> | null | undefined;
|
|
69
|
+
OnBuild?: string[] | null | undefined;
|
|
70
|
+
Shell?: string[] | null | undefined;
|
|
71
|
+
StopSignal?: string | null | undefined;
|
|
72
|
+
ArgsEscaped?: boolean | null | undefined;
|
|
73
|
+
Healthcheck?: {
|
|
74
|
+
Test?: string[] | null | undefined;
|
|
75
|
+
Interval?: number | null | undefined;
|
|
76
|
+
Timeout?: number | null | undefined;
|
|
77
|
+
StartPeriod?: number | null | undefined;
|
|
78
|
+
StartInterval?: number | null | undefined;
|
|
79
|
+
Retries?: number | null | undefined;
|
|
80
|
+
} | null | undefined;
|
|
81
|
+
Memory?: number | null | undefined;
|
|
82
|
+
MemorySwap?: number | null | undefined;
|
|
83
|
+
CpuShares?: number | null | undefined;
|
|
84
|
+
Hostname?: string | null | undefined;
|
|
85
|
+
Domainname?: string | null | undefined;
|
|
86
|
+
Image?: string | null | undefined;
|
|
87
|
+
MacAddress?: string | null | undefined;
|
|
88
|
+
AttachStdin?: boolean | null | undefined;
|
|
89
|
+
AttachStdout?: boolean | null | undefined;
|
|
90
|
+
AttachStderr?: boolean | null | undefined;
|
|
91
|
+
Tty?: boolean | null | undefined;
|
|
92
|
+
OpenStdin?: boolean | null | undefined;
|
|
93
|
+
StdinOnce?: boolean | null | undefined;
|
|
94
|
+
NetworkDisabled?: boolean | null | undefined;
|
|
95
|
+
StopTimeout?: number | null | undefined;
|
|
96
|
+
}, {
|
|
97
|
+
User?: string | null | undefined;
|
|
98
|
+
Env?: string[] | null | undefined;
|
|
99
|
+
Cmd?: string[] | null | undefined;
|
|
100
|
+
Entrypoint?: string[] | null | undefined;
|
|
101
|
+
WorkingDir?: string | null | undefined;
|
|
102
|
+
Labels?: Record<string, string> | null | undefined;
|
|
103
|
+
Volumes?: Record<string, {}> | null | undefined;
|
|
104
|
+
ExposedPorts?: Record<string, {}> | null | undefined;
|
|
105
|
+
OnBuild?: string[] | null | undefined;
|
|
106
|
+
Shell?: string[] | null | undefined;
|
|
107
|
+
StopSignal?: string | null | undefined;
|
|
108
|
+
ArgsEscaped?: boolean | null | undefined;
|
|
109
|
+
Healthcheck?: {
|
|
110
|
+
Test?: string[] | null | undefined;
|
|
111
|
+
Interval?: number | null | undefined;
|
|
112
|
+
Timeout?: number | null | undefined;
|
|
113
|
+
StartPeriod?: number | null | undefined;
|
|
114
|
+
StartInterval?: number | null | undefined;
|
|
115
|
+
Retries?: number | null | undefined;
|
|
116
|
+
} | null | undefined;
|
|
117
|
+
Memory?: number | null | undefined;
|
|
118
|
+
MemorySwap?: number | null | undefined;
|
|
119
|
+
CpuShares?: number | null | undefined;
|
|
120
|
+
Hostname?: string | null | undefined;
|
|
121
|
+
Domainname?: string | null | undefined;
|
|
122
|
+
Image?: string | null | undefined;
|
|
123
|
+
MacAddress?: string | null | undefined;
|
|
124
|
+
AttachStdin?: boolean | null | undefined;
|
|
125
|
+
AttachStdout?: boolean | null | undefined;
|
|
126
|
+
AttachStderr?: boolean | null | undefined;
|
|
127
|
+
Tty?: boolean | null | undefined;
|
|
128
|
+
OpenStdin?: boolean | null | undefined;
|
|
129
|
+
StdinOnce?: boolean | null | undefined;
|
|
130
|
+
NetworkDisabled?: boolean | null | undefined;
|
|
131
|
+
StopTimeout?: number | null | undefined;
|
|
132
|
+
}>;
|
|
133
|
+
RootFS: z.ZodObject<{
|
|
134
|
+
Layers: z.ZodArray<z.ZodString, "many">;
|
|
135
|
+
}, "strict", z.ZodTypeAny, {
|
|
136
|
+
Layers: string[];
|
|
137
|
+
}, {
|
|
138
|
+
Layers: string[];
|
|
139
|
+
}>;
|
|
140
|
+
}, "strict", z.ZodTypeAny, {
|
|
141
|
+
Os: string;
|
|
142
|
+
Architecture: string;
|
|
143
|
+
Config: {
|
|
144
|
+
User?: string | null | undefined;
|
|
145
|
+
Env?: string[] | null | undefined;
|
|
146
|
+
Cmd?: string[] | null | undefined;
|
|
147
|
+
Entrypoint?: string[] | null | undefined;
|
|
148
|
+
WorkingDir?: string | null | undefined;
|
|
149
|
+
Labels?: Record<string, string> | null | undefined;
|
|
150
|
+
Volumes?: Record<string, {}> | null | undefined;
|
|
151
|
+
ExposedPorts?: Record<string, {}> | null | undefined;
|
|
152
|
+
OnBuild?: string[] | null | undefined;
|
|
153
|
+
Shell?: string[] | null | undefined;
|
|
154
|
+
StopSignal?: string | null | undefined;
|
|
155
|
+
ArgsEscaped?: boolean | null | undefined;
|
|
156
|
+
Healthcheck?: {
|
|
157
|
+
Test?: string[] | null | undefined;
|
|
158
|
+
Interval?: number | null | undefined;
|
|
159
|
+
Timeout?: number | null | undefined;
|
|
160
|
+
StartPeriod?: number | null | undefined;
|
|
161
|
+
StartInterval?: number | null | undefined;
|
|
162
|
+
Retries?: number | null | undefined;
|
|
163
|
+
} | null | undefined;
|
|
164
|
+
Memory?: number | null | undefined;
|
|
165
|
+
MemorySwap?: number | null | undefined;
|
|
166
|
+
CpuShares?: number | null | undefined;
|
|
167
|
+
Hostname?: string | null | undefined;
|
|
168
|
+
Domainname?: string | null | undefined;
|
|
169
|
+
Image?: string | null | undefined;
|
|
170
|
+
MacAddress?: string | null | undefined;
|
|
171
|
+
AttachStdin?: boolean | null | undefined;
|
|
172
|
+
AttachStdout?: boolean | null | undefined;
|
|
173
|
+
AttachStderr?: boolean | null | undefined;
|
|
174
|
+
Tty?: boolean | null | undefined;
|
|
175
|
+
OpenStdin?: boolean | null | undefined;
|
|
176
|
+
StdinOnce?: boolean | null | undefined;
|
|
177
|
+
NetworkDisabled?: boolean | null | undefined;
|
|
178
|
+
StopTimeout?: number | null | undefined;
|
|
179
|
+
};
|
|
180
|
+
RootFS: {
|
|
181
|
+
Layers: string[];
|
|
182
|
+
};
|
|
183
|
+
Variant?: string | null | undefined;
|
|
184
|
+
Created?: string | null | undefined;
|
|
185
|
+
}, {
|
|
186
|
+
Os: string;
|
|
187
|
+
Architecture: string;
|
|
188
|
+
Config: {
|
|
189
|
+
User?: string | null | undefined;
|
|
190
|
+
Env?: string[] | null | undefined;
|
|
191
|
+
Cmd?: string[] | null | undefined;
|
|
192
|
+
Entrypoint?: string[] | null | undefined;
|
|
193
|
+
WorkingDir?: string | null | undefined;
|
|
194
|
+
Labels?: Record<string, string> | null | undefined;
|
|
195
|
+
Volumes?: Record<string, {}> | null | undefined;
|
|
196
|
+
ExposedPorts?: Record<string, {}> | null | undefined;
|
|
197
|
+
OnBuild?: string[] | null | undefined;
|
|
198
|
+
Shell?: string[] | null | undefined;
|
|
199
|
+
StopSignal?: string | null | undefined;
|
|
200
|
+
ArgsEscaped?: boolean | null | undefined;
|
|
201
|
+
Healthcheck?: {
|
|
202
|
+
Test?: string[] | null | undefined;
|
|
203
|
+
Interval?: number | null | undefined;
|
|
204
|
+
Timeout?: number | null | undefined;
|
|
205
|
+
StartPeriod?: number | null | undefined;
|
|
206
|
+
StartInterval?: number | null | undefined;
|
|
207
|
+
Retries?: number | null | undefined;
|
|
208
|
+
} | null | undefined;
|
|
209
|
+
Memory?: number | null | undefined;
|
|
210
|
+
MemorySwap?: number | null | undefined;
|
|
211
|
+
CpuShares?: number | null | undefined;
|
|
212
|
+
Hostname?: string | null | undefined;
|
|
213
|
+
Domainname?: string | null | undefined;
|
|
214
|
+
Image?: string | null | undefined;
|
|
215
|
+
MacAddress?: string | null | undefined;
|
|
216
|
+
AttachStdin?: boolean | null | undefined;
|
|
217
|
+
AttachStdout?: boolean | null | undefined;
|
|
218
|
+
AttachStderr?: boolean | null | undefined;
|
|
219
|
+
Tty?: boolean | null | undefined;
|
|
220
|
+
OpenStdin?: boolean | null | undefined;
|
|
221
|
+
StdinOnce?: boolean | null | undefined;
|
|
222
|
+
NetworkDisabled?: boolean | null | undefined;
|
|
223
|
+
StopTimeout?: number | null | undefined;
|
|
224
|
+
};
|
|
225
|
+
RootFS: {
|
|
226
|
+
Layers: string[];
|
|
227
|
+
};
|
|
228
|
+
Variant?: string | null | undefined;
|
|
229
|
+
Created?: string | null | undefined;
|
|
230
|
+
}>;
|
|
231
|
+
export interface DockerImageInspectMetadata {
|
|
232
|
+
Os?: unknown;
|
|
233
|
+
Architecture?: unknown;
|
|
234
|
+
Variant?: unknown;
|
|
235
|
+
Created?: unknown;
|
|
236
|
+
Config?: unknown;
|
|
237
|
+
RootFS?: {
|
|
238
|
+
Layers?: unknown;
|
|
239
|
+
} | null;
|
|
240
|
+
}
|
|
241
|
+
export declare function dockerImageMetadata(image: DockerImageInspectMetadata): Record<string, unknown>;
|
|
242
|
+
export declare function dockerImageMetadataMatches(home: unknown, vm: unknown): boolean;
|
|
243
|
+
export declare function vmImageIdForTags(home: DockerImageInspectMetadata, tags: string[], vmImages: Array<{
|
|
244
|
+
ref: string;
|
|
245
|
+
id: string;
|
|
246
|
+
metadata: unknown;
|
|
247
|
+
}>): string | undefined;
|
|
248
|
+
export {};
|
|
@@ -0,0 +1,161 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.DockerImageMetadataSchema = void 0;
|
|
4
|
+
exports.dockerImageMetadata = dockerImageMetadata;
|
|
5
|
+
exports.dockerImageMetadataMatches = dockerImageMetadataMatches;
|
|
6
|
+
exports.vmImageIdForTags = vmImageIdForTags;
|
|
7
|
+
const node_util_1 = require("node:util");
|
|
8
|
+
const zod_1 = require("zod");
|
|
9
|
+
const jsonValue = zod_1.z.lazy(() => zod_1.z.union([
|
|
10
|
+
zod_1.z.null(),
|
|
11
|
+
zod_1.z.boolean(),
|
|
12
|
+
zod_1.z.number().finite(),
|
|
13
|
+
zod_1.z.string(),
|
|
14
|
+
zod_1.z.array(jsonValue),
|
|
15
|
+
zod_1.z.record(jsonValue),
|
|
16
|
+
]));
|
|
17
|
+
const strings = zod_1.z.array(zod_1.z.string());
|
|
18
|
+
const keySet = zod_1.z.record(zod_1.z.object({}).strict());
|
|
19
|
+
const healthcheck = zod_1.z
|
|
20
|
+
.object({
|
|
21
|
+
Test: strings.nullish(),
|
|
22
|
+
Interval: zod_1.z.number().int().nonnegative().nullish(),
|
|
23
|
+
Timeout: zod_1.z.number().int().nonnegative().nullish(),
|
|
24
|
+
StartPeriod: zod_1.z.number().int().nonnegative().nullish(),
|
|
25
|
+
StartInterval: zod_1.z.number().int().nonnegative().nullish(),
|
|
26
|
+
Retries: zod_1.z.number().int().nonnegative().nullish(),
|
|
27
|
+
})
|
|
28
|
+
.catchall(jsonValue);
|
|
29
|
+
const imageConfig = zod_1.z
|
|
30
|
+
.object({
|
|
31
|
+
User: zod_1.z.string().nullish(),
|
|
32
|
+
Env: strings.nullish(),
|
|
33
|
+
Cmd: strings.nullish(),
|
|
34
|
+
Entrypoint: strings.nullish(),
|
|
35
|
+
WorkingDir: zod_1.z.string().nullish(),
|
|
36
|
+
Labels: zod_1.z.record(zod_1.z.string()).nullish(),
|
|
37
|
+
Volumes: keySet.nullish(),
|
|
38
|
+
ExposedPorts: keySet.nullish(),
|
|
39
|
+
OnBuild: strings.nullish(),
|
|
40
|
+
Shell: strings.nullish(),
|
|
41
|
+
StopSignal: zod_1.z.string().nullish(),
|
|
42
|
+
ArgsEscaped: zod_1.z.boolean().nullish(),
|
|
43
|
+
Healthcheck: healthcheck.nullish(),
|
|
44
|
+
Memory: zod_1.z.number().int().nullish(),
|
|
45
|
+
MemorySwap: zod_1.z.number().int().nullish(),
|
|
46
|
+
CpuShares: zod_1.z.number().int().nullish(),
|
|
47
|
+
Hostname: zod_1.z.string().nullish(),
|
|
48
|
+
Domainname: zod_1.z.string().nullish(),
|
|
49
|
+
Image: zod_1.z.string().nullish(),
|
|
50
|
+
MacAddress: zod_1.z.string().nullish(),
|
|
51
|
+
AttachStdin: zod_1.z.boolean().nullish(),
|
|
52
|
+
AttachStdout: zod_1.z.boolean().nullish(),
|
|
53
|
+
AttachStderr: zod_1.z.boolean().nullish(),
|
|
54
|
+
Tty: zod_1.z.boolean().nullish(),
|
|
55
|
+
OpenStdin: zod_1.z.boolean().nullish(),
|
|
56
|
+
StdinOnce: zod_1.z.boolean().nullish(),
|
|
57
|
+
NetworkDisabled: zod_1.z.boolean().nullish(),
|
|
58
|
+
StopTimeout: zod_1.z.number().int().nonnegative().nullish(),
|
|
59
|
+
})
|
|
60
|
+
.catchall(jsonValue);
|
|
61
|
+
exports.DockerImageMetadataSchema = zod_1.z
|
|
62
|
+
.object({
|
|
63
|
+
Os: zod_1.z.string().min(1).max(256),
|
|
64
|
+
Architecture: zod_1.z.string().min(1).max(256),
|
|
65
|
+
Variant: zod_1.z.string().max(256).nullish(),
|
|
66
|
+
Created: zod_1.z.union([zod_1.z.literal(''), zod_1.z.string().datetime({ offset: true })]).nullish(),
|
|
67
|
+
Config: imageConfig,
|
|
68
|
+
RootFS: zod_1.z.object({ Layers: zod_1.z.array(zod_1.z.string().min(1).max(256)).max(10000) }).strict(),
|
|
69
|
+
})
|
|
70
|
+
.strict();
|
|
71
|
+
function dockerImageMetadata(image) {
|
|
72
|
+
return {
|
|
73
|
+
Os: image.Os,
|
|
74
|
+
Architecture: image.Architecture,
|
|
75
|
+
Variant: image.Variant,
|
|
76
|
+
Created: image.Created,
|
|
77
|
+
Config: image.Config,
|
|
78
|
+
RootFS: { Layers: image.RootFS?.Layers },
|
|
79
|
+
};
|
|
80
|
+
}
|
|
81
|
+
const configDefaults = {
|
|
82
|
+
User: '',
|
|
83
|
+
Env: [],
|
|
84
|
+
Cmd: [],
|
|
85
|
+
Entrypoint: [],
|
|
86
|
+
WorkingDir: '',
|
|
87
|
+
Labels: {},
|
|
88
|
+
Volumes: {},
|
|
89
|
+
ExposedPorts: {},
|
|
90
|
+
OnBuild: [],
|
|
91
|
+
Shell: [],
|
|
92
|
+
StopSignal: '',
|
|
93
|
+
ArgsEscaped: false,
|
|
94
|
+
Memory: 0,
|
|
95
|
+
MemorySwap: 0,
|
|
96
|
+
CpuShares: 0,
|
|
97
|
+
Healthcheck: {},
|
|
98
|
+
Hostname: '',
|
|
99
|
+
Domainname: '',
|
|
100
|
+
Image: '',
|
|
101
|
+
MacAddress: '',
|
|
102
|
+
AttachStdin: false,
|
|
103
|
+
AttachStdout: false,
|
|
104
|
+
AttachStderr: false,
|
|
105
|
+
Tty: false,
|
|
106
|
+
OpenStdin: false,
|
|
107
|
+
StdinOnce: false,
|
|
108
|
+
NetworkDisabled: false,
|
|
109
|
+
StopTimeout: 0,
|
|
110
|
+
};
|
|
111
|
+
const healthcheckDefaults = {
|
|
112
|
+
Test: [],
|
|
113
|
+
Interval: 0,
|
|
114
|
+
Timeout: 0,
|
|
115
|
+
StartPeriod: 0,
|
|
116
|
+
StartInterval: 0,
|
|
117
|
+
Retries: 0,
|
|
118
|
+
};
|
|
119
|
+
function withoutDefaults(fields, defaults) {
|
|
120
|
+
const result = { ...fields };
|
|
121
|
+
for (const [field, empty] of Object.entries(defaults)) {
|
|
122
|
+
if (result[field] == null || (0, node_util_1.isDeepStrictEqual)(result[field], empty))
|
|
123
|
+
delete result[field];
|
|
124
|
+
}
|
|
125
|
+
return result;
|
|
126
|
+
}
|
|
127
|
+
function normalizeDockerImageMetadata(value) {
|
|
128
|
+
const parsed = exports.DockerImageMetadataSchema.safeParse(value);
|
|
129
|
+
if (!parsed.success)
|
|
130
|
+
return null;
|
|
131
|
+
const image = parsed.data;
|
|
132
|
+
const config = withoutDefaults({
|
|
133
|
+
...image.Config,
|
|
134
|
+
Healthcheck: withoutDefaults(image.Config.Healthcheck ?? {}, healthcheckDefaults),
|
|
135
|
+
}, configDefaults);
|
|
136
|
+
return {
|
|
137
|
+
Os: image.Os,
|
|
138
|
+
Architecture: image.Architecture,
|
|
139
|
+
Variant: image.Variant ?? '',
|
|
140
|
+
Created: image.Created === '0001-01-01T00:00:00Z' ? '' : (image.Created ?? ''),
|
|
141
|
+
Config: config,
|
|
142
|
+
RootFS: image.RootFS,
|
|
143
|
+
};
|
|
144
|
+
}
|
|
145
|
+
function dockerImageMetadataMatches(home, vm) {
|
|
146
|
+
const normalizedHome = normalizeDockerImageMetadata(home);
|
|
147
|
+
const normalizedVm = normalizeDockerImageMetadata(vm);
|
|
148
|
+
return (normalizedHome !== null &&
|
|
149
|
+
normalizedVm !== null &&
|
|
150
|
+
(0, node_util_1.isDeepStrictEqual)(normalizedHome, normalizedVm));
|
|
151
|
+
}
|
|
152
|
+
function vmImageIdForTags(home, tags, vmImages) {
|
|
153
|
+
const homeMetadata = dockerImageMetadata(home);
|
|
154
|
+
const matches = tags.map((tag) => vmImages.filter((candidate) => candidate.ref === tag));
|
|
155
|
+
const first = matches[0]?.[0];
|
|
156
|
+
const all = matches.every((entries) => entries.length === 1 &&
|
|
157
|
+
entries[0].id === first?.id &&
|
|
158
|
+
dockerImageMetadataMatches(homeMetadata, entries[0].metadata));
|
|
159
|
+
return first && all ? first.id : undefined;
|
|
160
|
+
}
|
|
161
|
+
//# sourceMappingURL=docker-image-metadata.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"docker-image-metadata.js","sourceRoot":"","sources":["../../../../src/modules/core/controllers/docker-image-metadata.ts"],"names":[],"mappings":"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"}
|
|
@@ -8,7 +8,18 @@ export interface DockerContainerInspect extends DockerSettings {
|
|
|
8
8
|
};
|
|
9
9
|
}
|
|
10
10
|
export declare const CONFIG_ALLOWLIST: readonly ["Hostname", "Domainname", "User", "AttachStdin", "AttachStdout", "AttachStderr", "ExposedPorts", "Tty", "OpenStdin", "StdinOnce", "Env", "Cmd", "Healthcheck", "ArgsEscaped", "Image", "Volumes", "WorkingDir", "Entrypoint", "NetworkDisabled", "OnBuild", "Labels", "StopSignal", "StopTimeout", "Shell"];
|
|
11
|
-
export declare const HOST_CONFIG_ALLOWLIST: readonly ["Binds", "Mounts", "PortBindings", "RestartPolicy", "NetworkMode", "LogConfig", "AutoRemove", "VolumeDriver", "VolumesFrom", "ConsoleSize", "CapAdd", "CapDrop", "Dns", "DnsOptions", "DnsSearch", "ExtraHosts", "GroupAdd", "OomScoreAdj", "ReadonlyRootfs", "PublishAllPorts", "ShmSize", "Sysctls", "Tmpfs", "Ulimits", "Init", "Isolation", "MaskedPaths", "ReadonlyPaths", "CgroupnsMode", "CpuShares", "Memory", "NanoCpus", "CpuPeriod", "CpuQuota", "CpuRealtimePeriod", "CpuRealtimeRuntime", "CpusetCpus", "CpusetMems", "MemoryReservation", "MemorySwap", "MemorySwappiness", "OomKillDisable", "PidsLimit", "StorageOpt", "BlkioWeight"];
|
|
12
|
-
export declare const CANNOT_MOVE_FIELDS: readonly ["Devices", "Binds", "Mounts", "NetworkMode", "
|
|
11
|
+
export declare const HOST_CONFIG_ALLOWLIST: readonly ["Binds", "Mounts", "PortBindings", "RestartPolicy", "NetworkMode", "Privileged", "LogConfig", "AutoRemove", "VolumeDriver", "VolumesFrom", "ConsoleSize", "CapAdd", "CapDrop", "Dns", "DnsOptions", "DnsSearch", "ExtraHosts", "GroupAdd", "OomScoreAdj", "ReadonlyRootfs", "PublishAllPorts", "ShmSize", "Sysctls", "Tmpfs", "Ulimits", "Init", "Isolation", "MaskedPaths", "ReadonlyPaths", "CgroupnsMode", "CpuShares", "Memory", "NanoCpus", "CpuPeriod", "CpuQuota", "CpuRealtimePeriod", "CpuRealtimeRuntime", "CpusetCpus", "CpusetMems", "MemoryReservation", "MemorySwap", "MemorySwappiness", "OomKillDisable", "PidsLimit", "StorageOpt", "BlkioWeight"];
|
|
12
|
+
export declare const CANNOT_MOVE_FIELDS: readonly ["Devices", "Binds", "Mounts", "NetworkMode", "DeviceRequests", "PidMode", "IpcMode", "UsernsMode", "Runtime", "CgroupParent", "SecurityOpt", "Links"];
|
|
13
13
|
export declare const INSPECT_ONLY_FIELDS: readonly ["Id", "Created", "State", "Path", "Args", "ResolvConfPath", "HostnamePath", "HostsPath", "LogPath", "GraphDriver", "Storage", "Mounts", "NetworkSettings", "Size", "SizeRw", "SizeRootFs", "Name", "RestartCount", "Driver", "Platform", "AppArmorProfile", "ProcessLabel", "MountLabel", "ExecIDs", "ImageManifestDescriptor"];
|
|
14
14
|
export declare function projectDockerCreate(inspect: DockerContainerInspect, socketPath?: string): DockerSettings;
|
|
15
|
+
export declare const DEFAULT_NETWORKS: Set<string>;
|
|
16
|
+
export declare function containsIPv4(subnet: string, address: string): boolean;
|
|
17
|
+
export declare function ipv4RangesOverlap(home: string, remote: string): boolean;
|
|
18
|
+
export declare function overlappingIPv4Range(homes: readonly string[], remotes: readonly string[]): string | undefined;
|
|
19
|
+
export interface DockerIPv4Range {
|
|
20
|
+
Subnet: string;
|
|
21
|
+
Gateway?: string;
|
|
22
|
+
IPRange?: string;
|
|
23
|
+
}
|
|
24
|
+
export declare function ipv4Ranges(config: Array<Partial<DockerIPv4Range>> | null | undefined): DockerIPv4Range[];
|
|
25
|
+
export declare function fixedIPv4Address(endpoint: DockerSettings | undefined): string | undefined;
|
|
@@ -1,8 +1,14 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.INSPECT_ONLY_FIELDS = exports.CANNOT_MOVE_FIELDS = exports.HOST_CONFIG_ALLOWLIST = exports.CONFIG_ALLOWLIST = void 0;
|
|
3
|
+
exports.DEFAULT_NETWORKS = exports.INSPECT_ONLY_FIELDS = exports.CANNOT_MOVE_FIELDS = exports.HOST_CONFIG_ALLOWLIST = exports.CONFIG_ALLOWLIST = void 0;
|
|
4
4
|
exports.projectDockerCreate = projectDockerCreate;
|
|
5
|
+
exports.containsIPv4 = containsIPv4;
|
|
6
|
+
exports.ipv4RangesOverlap = ipv4RangesOverlap;
|
|
7
|
+
exports.overlappingIPv4Range = overlappingIPv4Range;
|
|
8
|
+
exports.ipv4Ranges = ipv4Ranges;
|
|
9
|
+
exports.fixedIPv4Address = fixedIPv4Address;
|
|
5
10
|
const node_path_1 = require("node:path");
|
|
11
|
+
const node_net_1 = require("node:net");
|
|
6
12
|
const docker_engine_client_1 = require("./docker-engine.client");
|
|
7
13
|
exports.CONFIG_ALLOWLIST = [
|
|
8
14
|
'Hostname',
|
|
@@ -36,6 +42,7 @@ exports.HOST_CONFIG_ALLOWLIST = [
|
|
|
36
42
|
'PortBindings',
|
|
37
43
|
'RestartPolicy',
|
|
38
44
|
'NetworkMode',
|
|
45
|
+
'Privileged',
|
|
39
46
|
'LogConfig',
|
|
40
47
|
'AutoRemove',
|
|
41
48
|
'VolumeDriver',
|
|
@@ -82,7 +89,6 @@ exports.CANNOT_MOVE_FIELDS = [
|
|
|
82
89
|
'Binds',
|
|
83
90
|
'Mounts',
|
|
84
91
|
'NetworkMode',
|
|
85
|
-
'Privileged',
|
|
86
92
|
'DeviceRequests',
|
|
87
93
|
'PidMode',
|
|
88
94
|
'IpcMode',
|
|
@@ -157,14 +163,7 @@ function projectDockerCreate(inspect, socketPath = '/var/run/docker.sock') {
|
|
|
157
163
|
const host = object(inspect.HostConfig, 'HostConfig');
|
|
158
164
|
checkFields(config, exports.CONFIG_ALLOWLIST, 'Config.');
|
|
159
165
|
checkFields(host, [...exports.HOST_CONFIG_ALLOWLIST, ...exports.CANNOT_MOVE_FIELDS], 'HostConfig.');
|
|
160
|
-
for (const field of [
|
|
161
|
-
'Devices',
|
|
162
|
-
'Privileged',
|
|
163
|
-
'DeviceRequests',
|
|
164
|
-
'CgroupParent',
|
|
165
|
-
'SecurityOpt',
|
|
166
|
-
'Links',
|
|
167
|
-
]) {
|
|
166
|
+
for (const field of ['Devices', 'DeviceRequests', 'CgroupParent', 'SecurityOpt', 'Links']) {
|
|
168
167
|
if (set(host[field]))
|
|
169
168
|
cannotMove(`HostConfig.${field}`);
|
|
170
169
|
}
|
|
@@ -255,11 +254,18 @@ function projectDockerCreate(inspect, socketPath = '/var/run/docker.sock') {
|
|
|
255
254
|
'MacAddress',
|
|
256
255
|
'DNSNames',
|
|
257
256
|
], `NetworkSettings.Networks.${name}.`);
|
|
258
|
-
for (const field of ['
|
|
257
|
+
for (const field of ['Links', 'DriverOpts', 'GwPriority'])
|
|
259
258
|
if (set(endpoint[field]))
|
|
260
259
|
unsupported(`NetworkSettings.Networks.${name}.${field}`);
|
|
261
260
|
endpoints[name] =
|
|
262
261
|
endpoint.Aliases == null ? {} : { Aliases: structuredClone(endpoint.Aliases) };
|
|
262
|
+
if (set(endpoint.IPAMConfig)) {
|
|
263
|
+
const prefix = `NetworkSettings.Networks.${name}.IPAMConfig`;
|
|
264
|
+
const ipam = object(endpoint.IPAMConfig, prefix);
|
|
265
|
+
checkFields(ipam, ['IPv4Address'], `${prefix}.`);
|
|
266
|
+
if (set(ipam.IPv4Address))
|
|
267
|
+
endpoints[name].IPAMConfig = { IPv4Address: structuredClone(ipam.IPv4Address) };
|
|
268
|
+
}
|
|
263
269
|
}
|
|
264
270
|
const projectedHost = {};
|
|
265
271
|
for (const key of new Set([
|
|
@@ -279,4 +285,36 @@ function projectDockerCreate(inspect, socketPath = '/var/run/docker.sock') {
|
|
|
279
285
|
NetworkingConfig: { EndpointsConfig: endpoints },
|
|
280
286
|
};
|
|
281
287
|
}
|
|
288
|
+
exports.DEFAULT_NETWORKS = new Set(['bridge', 'host', 'none', 'default']);
|
|
289
|
+
function containsIPv4(subnet, address) {
|
|
290
|
+
const parts = subnet.split('/');
|
|
291
|
+
const prefix = Number(parts[1]);
|
|
292
|
+
if (parts.length !== 2 ||
|
|
293
|
+
!parts[1] ||
|
|
294
|
+
!(0, node_net_1.isIPv4)(parts[0]) ||
|
|
295
|
+
!(0, node_net_1.isIPv4)(address) ||
|
|
296
|
+
!Number.isInteger(prefix) ||
|
|
297
|
+
prefix < 0 ||
|
|
298
|
+
prefix > 32)
|
|
299
|
+
return false;
|
|
300
|
+
const range = new node_net_1.BlockList();
|
|
301
|
+
range.addSubnet(parts[0], prefix, 'ipv4');
|
|
302
|
+
return range.check(address, 'ipv4');
|
|
303
|
+
}
|
|
304
|
+
function ipv4RangesOverlap(home, remote) {
|
|
305
|
+
return containsIPv4(home, remote.split('/')[0]) || containsIPv4(remote, home.split('/')[0]);
|
|
306
|
+
}
|
|
307
|
+
function overlappingIPv4Range(homes, remotes) {
|
|
308
|
+
return remotes.find((remote) => homes.some((home) => ipv4RangesOverlap(home, remote)));
|
|
309
|
+
}
|
|
310
|
+
function ipv4Ranges(config) {
|
|
311
|
+
return (config ?? []).flatMap(({ Subnet, Gateway, IPRange }) => typeof Subnet === 'string' && (0, node_net_1.isIPv4)(Subnet.split('/')[0])
|
|
312
|
+
? [{ Subnet, ...(Gateway ? { Gateway } : {}), ...(IPRange ? { IPRange } : {}) }]
|
|
313
|
+
: []);
|
|
314
|
+
}
|
|
315
|
+
function fixedIPv4Address(endpoint) {
|
|
316
|
+
const address = endpoint?.IPAMConfig
|
|
317
|
+
?.IPv4Address;
|
|
318
|
+
return typeof address === 'string' && (0, node_net_1.isIPv4)(address) ? address : undefined;
|
|
319
|
+
}
|
|
282
320
|
//# sourceMappingURL=docker-settings.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"docker-settings.js","sourceRoot":"","sources":["../../../../src/modules/core/controllers/docker-settings.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"docker-settings.js","sourceRoot":"","sources":["../../../../src/modules/core/controllers/docker-settings.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
declare const HostUserIdentitySchema: z.ZodObject<{
|
|
3
|
+
requestedUid: z.ZodOptional<z.ZodNumber>;
|
|
4
|
+
requestedGid: z.ZodOptional<z.ZodNumber>;
|
|
5
|
+
primaryGroup: z.ZodOptional<z.ZodString>;
|
|
6
|
+
uidConflict: z.ZodOptional<z.ZodObject<{
|
|
7
|
+
requestedUid: z.ZodNumber;
|
|
8
|
+
holder: z.ZodNullable<z.ZodString>;
|
|
9
|
+
}, "strip", z.ZodTypeAny, {
|
|
10
|
+
requestedUid: number;
|
|
11
|
+
holder: string | null;
|
|
12
|
+
}, {
|
|
13
|
+
requestedUid: number;
|
|
14
|
+
holder: string | null;
|
|
15
|
+
}>>;
|
|
16
|
+
}, "strip", z.ZodTypeAny, {
|
|
17
|
+
requestedUid?: number | undefined;
|
|
18
|
+
uidConflict?: {
|
|
19
|
+
requestedUid: number;
|
|
20
|
+
holder: string | null;
|
|
21
|
+
} | undefined;
|
|
22
|
+
requestedGid?: number | undefined;
|
|
23
|
+
primaryGroup?: string | undefined;
|
|
24
|
+
}, {
|
|
25
|
+
requestedUid?: number | undefined;
|
|
26
|
+
uidConflict?: {
|
|
27
|
+
requestedUid: number;
|
|
28
|
+
holder: string | null;
|
|
29
|
+
} | undefined;
|
|
30
|
+
requestedGid?: number | undefined;
|
|
31
|
+
primaryGroup?: string | undefined;
|
|
32
|
+
}>;
|
|
33
|
+
export declare function readHostUserIdentity(file?: string): z.infer<typeof HostUserIdentitySchema>;
|
|
34
|
+
export {};
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.readHostUserIdentity = readHostUserIdentity;
|
|
4
|
+
const node_fs_1 = require("node:fs");
|
|
5
|
+
const node_path_1 = require("node:path");
|
|
6
|
+
const zod_1 = require("zod");
|
|
7
|
+
const env_config_1 = require("../../../common/config/env.config");
|
|
8
|
+
const vm_user_identity_1 = require("../../remotes/vm-user-identity");
|
|
9
|
+
const HostUserIdentitySchema = zod_1.z.object({
|
|
10
|
+
requestedUid: zod_1.z.number().int().optional(),
|
|
11
|
+
requestedGid: zod_1.z.number().int().optional(),
|
|
12
|
+
primaryGroup: zod_1.z.string().optional(),
|
|
13
|
+
uidConflict: vm_user_identity_1.VmUidConflictSchema.optional(),
|
|
14
|
+
});
|
|
15
|
+
function readHostUserIdentity(file = (0, node_path_1.join)((0, env_config_1.getEnvConfig)().DEVCHAIN_HOST_ETC_DIR, 'claim.json')) {
|
|
16
|
+
try {
|
|
17
|
+
return HostUserIdentitySchema.parse(JSON.parse((0, node_fs_1.readFileSync)(file, 'utf8')));
|
|
18
|
+
}
|
|
19
|
+
catch {
|
|
20
|
+
return {};
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
//# sourceMappingURL=host-user-identity.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"host-user-identity.js","sourceRoot":"","sources":["../../../../src/modules/core/controllers/host-user-identity.ts"],"names":[],"mappings":";;AAaA,oDAQC;AArBD,qCAAuC;AACvC,yCAAiC;AACjC,6BAAwB;AACxB,kEAAiE;AACjE,qEAAqE;AAErE,MAAM,sBAAsB,GAAG,OAAC,CAAC,MAAM,CAAC;IACtC,YAAY,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE;IACzC,YAAY,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE;IACzC,YAAY,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACnC,WAAW,EAAE,sCAAmB,CAAC,QAAQ,EAAE;CAC5C,CAAC,CAAC;AAEH,SAAgB,oBAAoB,CAClC,IAAI,GAAG,IAAA,gBAAI,EAAC,IAAA,yBAAY,GAAE,CAAC,qBAAqB,EAAE,YAAY,CAAC;IAE/D,IAAI,CAAC;QACH,OAAO,sBAAsB,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,IAAA,sBAAY,EAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC;IAC9E,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,CAAC;IACZ,CAAC;AACH,CAAC"}
|