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
|
@@ -74,10 +74,19 @@ function safeRemoteName(name, fallback) {
|
|
|
74
74
|
}
|
|
75
75
|
const STASH_COMMAND = ['st', 'ash'].join('');
|
|
76
76
|
function guardMessage(remoteName) {
|
|
77
|
-
return `This project runs on the remote VM "${remoteName}". Normal file editing is allowed: your changes sync to the VM. Git changes (commit, branch, tag, ${STASH_COMMAND}, merge, rebase, switch) are blocked here
|
|
77
|
+
return `This project runs on the remote VM "${remoteName}". Normal file editing is allowed: your changes sync to the VM. Git changes (commit, branch, tag, ${STASH_COMMAND}, merge, rebase, switch) are blocked here. Run them on the VM. To use Git on this PC, run \`devchain git take\` in the project folder.`;
|
|
78
|
+
}
|
|
79
|
+
function vmGuardMessage({ homeName, reason }) {
|
|
80
|
+
if (reason === 'pc-git') {
|
|
81
|
+
return `Git for this project is on the PC '${homeName}'. You can edit files here: your changes sync to the PC. Git changes (commit, branch, tag, ${STASH_COMMAND}, merge, rebase, switch) are blocked here. To move Git back to this VM, run \`devchain git return\` in the project folder on the PC '${homeName}'.`;
|
|
82
|
+
}
|
|
83
|
+
const location = reason === 'disconnect'
|
|
84
|
+
? `This project is now on the PC '${homeName}'. You can edit files here. At the next Connect, DevChain brings your edits to the PC.`
|
|
85
|
+
: `This project is on the PC '${homeName}'. A Connect was cancelled, so at the next Connect the PC's files replace the files here.`;
|
|
86
|
+
return `${location} Git changes (commit, branch, tag, ${STASH_COMMAND}, merge, rebase, switch) are blocked here. Make them on the PC. To use Git on this VM, connect the project to it again from the PC.`;
|
|
78
87
|
}
|
|
79
88
|
function referenceTransactionScript(message) {
|
|
80
|
-
return `${OWNED_HEADER}#
|
|
89
|
+
return `${OWNED_HEADER}# Git ownership belongs to the other instance of this project.
|
|
81
90
|
# Git passes the transaction state ("prepared", "committed" or "aborted") as $1.
|
|
82
91
|
case "$1" in
|
|
83
92
|
prepared)
|
|
@@ -89,15 +98,15 @@ exit 0
|
|
|
89
98
|
`;
|
|
90
99
|
}
|
|
91
100
|
function postCheckoutScript(message) {
|
|
92
|
-
return `${OWNED_HEADER}#
|
|
101
|
+
return `${OWNED_HEADER}# Git ownership belongs to the other instance of this project.
|
|
93
102
|
marker="$(dirname "$0")/${SWITCHBACK_MARKER}"
|
|
94
103
|
|
|
95
104
|
# Only branch checkouts concern the guard, never file checkouts.
|
|
96
105
|
[ "$3" = "1" ] || exit 0
|
|
97
106
|
|
|
98
107
|
# This checkout logged "moving from <previous> to <current>" in HEAD's reflog,
|
|
99
|
-
# so @{-1} is the branch
|
|
100
|
-
#
|
|
108
|
+
# so @{-1} is the previous branch, even after HEAD was synced from the owner.
|
|
109
|
+
# A no-op checkout logs the same branch on both sides.
|
|
101
110
|
previous=$(git rev-parse --symbolic-full-name '@{-1}' 2>/dev/null)
|
|
102
111
|
current=$(git symbolic-ref -q HEAD) || exit 0
|
|
103
112
|
case "$previous" in refs/heads/*) ;; *) exit 0 ;; esac
|
|
@@ -126,42 +135,49 @@ let HomeGitGuardService = class HomeGitGuardService {
|
|
|
126
135
|
this.git = git;
|
|
127
136
|
this.storage = storage;
|
|
128
137
|
}
|
|
129
|
-
async install(projectId,
|
|
138
|
+
async install(projectId, owner) {
|
|
130
139
|
const root = await this.fileSync.folderPath(projectId);
|
|
140
|
+
const onVm = typeof owner !== 'string';
|
|
141
|
+
const skip = (reason) => this.skipWarning(projectId, reason, onVm);
|
|
131
142
|
if (!(await this.isDirectory((0, path_1.join)(root, '.git')))) {
|
|
132
|
-
return
|
|
143
|
+
return skip('the project root has no .git directory (worktrees are unsupported)');
|
|
133
144
|
}
|
|
134
145
|
let hooksPath = null;
|
|
135
146
|
let version = null;
|
|
136
147
|
try {
|
|
137
148
|
hooksPath = await this.git.getConfigValue(projectId, 'core.hooksPath', root);
|
|
138
149
|
if (hooksPath) {
|
|
139
|
-
return
|
|
150
|
+
return skip(`core.hooksPath is set (${hooksPath}); the guard cannot install into .git/hooks`);
|
|
140
151
|
}
|
|
141
152
|
version = await this.git.getVersion(projectId, root);
|
|
142
153
|
}
|
|
143
154
|
catch (error) {
|
|
144
155
|
const reason = error instanceof Error ? error.message : String(error);
|
|
145
|
-
return
|
|
156
|
+
return skip(`git could not be consulted (${reason})`);
|
|
146
157
|
}
|
|
147
158
|
if (!isSupportedGit(version)) {
|
|
148
|
-
return
|
|
159
|
+
return skip(`git ${version.major}.${version.minor}.${version.patch} is older than 2.28; the reference-transaction hook is unavailable`);
|
|
149
160
|
}
|
|
150
|
-
const
|
|
151
|
-
|
|
152
|
-
|
|
161
|
+
const message = onVm
|
|
162
|
+
? vmGuardMessage(owner)
|
|
163
|
+
: guardMessage(safeRemoteName(await this.remoteName(projectId, owner), owner));
|
|
164
|
+
await this.installHooks(root, message);
|
|
165
|
+
logger.info({ projectId, side: onVm ? 'vm' : 'home' }, 'Git guard installed');
|
|
153
166
|
return null;
|
|
154
167
|
}
|
|
155
168
|
async remove(projectId, options) {
|
|
156
169
|
const root = await this.fileSync.folderPath(projectId);
|
|
157
|
-
await this.stripHooks(root);
|
|
170
|
+
const removed = await this.stripHooks(root, options.failOnReadError);
|
|
158
171
|
if (!options.refreshIndex)
|
|
159
|
-
return;
|
|
172
|
+
return { removed, indexRefreshed: null, warning: null };
|
|
160
173
|
try {
|
|
161
174
|
await this.git.refreshIndexFromHead(projectId, root);
|
|
175
|
+
return { removed, indexRefreshed: true, warning: null };
|
|
162
176
|
}
|
|
163
177
|
catch (error) {
|
|
164
178
|
logger.warn({ error, projectId }, 'Guard index refresh failed (non-fatal)');
|
|
179
|
+
const reason = error instanceof Error ? error.message : String(error);
|
|
180
|
+
return { removed, indexRefreshed: false, warning: `Git index rebuild failed: ${reason}` };
|
|
165
181
|
}
|
|
166
182
|
}
|
|
167
183
|
async reinstall(projectId, remoteId) {
|
|
@@ -169,8 +185,10 @@ let HomeGitGuardService = class HomeGitGuardService {
|
|
|
169
185
|
await this.stripHooks(root);
|
|
170
186
|
return this.install(projectId, remoteId);
|
|
171
187
|
}
|
|
172
|
-
skipWarning(projectId, reason) {
|
|
173
|
-
const warning =
|
|
188
|
+
skipWarning(projectId, reason, vm = false) {
|
|
189
|
+
const warning = vm
|
|
190
|
+
? `VM git guard skipped: ${reason}. Git changes on the VM are not blocked while the project is on the PC.`
|
|
191
|
+
: `Git guard skipped: ${reason}. Git changes at home are not blocked while the project runs on the VM.`;
|
|
174
192
|
logger.warn({ projectId }, warning);
|
|
175
193
|
return warning;
|
|
176
194
|
}
|
|
@@ -186,10 +204,9 @@ let HomeGitGuardService = class HomeGitGuardService {
|
|
|
186
204
|
throw error;
|
|
187
205
|
}
|
|
188
206
|
}
|
|
189
|
-
async installHooks(root,
|
|
207
|
+
async installHooks(root, message) {
|
|
190
208
|
const hooksDir = (0, path_1.join)(root, '.git', 'hooks');
|
|
191
209
|
await (0, promises_1.mkdir)(hooksDir, { recursive: true });
|
|
192
|
-
const message = guardMessage(remoteName);
|
|
193
210
|
for (const name of GUARD_HOOKS) {
|
|
194
211
|
const hookPath = (0, path_1.join)(hooksDir, name);
|
|
195
212
|
if ((0, fs_1.existsSync)(hookPath) && !(await this.isOwnHook(hookPath))) {
|
|
@@ -204,26 +221,34 @@ let HomeGitGuardService = class HomeGitGuardService {
|
|
|
204
221
|
await (0, promises_1.chmod)(hookPath, 0o755);
|
|
205
222
|
}
|
|
206
223
|
}
|
|
207
|
-
async stripHooks(root) {
|
|
224
|
+
async stripHooks(root, failOnReadError = false) {
|
|
208
225
|
const hooksDir = (0, path_1.join)(root, '.git', 'hooks');
|
|
209
226
|
if (!(0, fs_1.existsSync)(hooksDir))
|
|
210
|
-
return;
|
|
227
|
+
return false;
|
|
228
|
+
let removed = false;
|
|
211
229
|
for (const name of GUARD_HOOKS) {
|
|
212
230
|
const hookPath = (0, path_1.join)(hooksDir, name);
|
|
213
|
-
if (await this.isOwnHook(hookPath))
|
|
231
|
+
if (await this.isOwnHook(hookPath, failOnReadError)) {
|
|
214
232
|
await (0, promises_1.rm)(hookPath, { force: true });
|
|
233
|
+
removed = true;
|
|
234
|
+
}
|
|
215
235
|
const savedPath = `${hookPath}${SAVED_SUFFIX}`;
|
|
216
|
-
if ((0, fs_1.existsSync)(savedPath) && !(0, fs_1.existsSync)(hookPath))
|
|
236
|
+
if ((0, fs_1.existsSync)(savedPath) && !(0, fs_1.existsSync)(hookPath)) {
|
|
217
237
|
await (0, promises_1.rename)(savedPath, hookPath);
|
|
238
|
+
removed = true;
|
|
239
|
+
}
|
|
218
240
|
}
|
|
219
241
|
await (0, promises_1.rm)((0, path_1.join)(hooksDir, SWITCHBACK_MARKER), { force: true });
|
|
242
|
+
return removed;
|
|
220
243
|
}
|
|
221
|
-
async isOwnHook(hookPath) {
|
|
244
|
+
async isOwnHook(hookPath, failOnReadError = false) {
|
|
222
245
|
try {
|
|
223
246
|
const content = await (0, promises_1.readFile)(hookPath, 'utf8');
|
|
224
247
|
return content.startsWith(OWNED_HEADER);
|
|
225
248
|
}
|
|
226
|
-
catch {
|
|
249
|
+
catch (error) {
|
|
250
|
+
if (failOnReadError && error.code !== 'ENOENT')
|
|
251
|
+
throw error;
|
|
227
252
|
return false;
|
|
228
253
|
}
|
|
229
254
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"home-git-guard.service.js","sourceRoot":"","sources":["../../../src/modules/file-sync/home-git-guard.service.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,2CAAoD;AACpD,0CAAkF;AAClF,2BAAgC;AAChC,+BAA4B;AAC5B,+CAAiC;AACjC,wDAA2D;AAC3D,iEAAgE;AAChE,6DAA0E;AAC1E,+EAA+F;AAC/F,sFAAiF;AACjF,2DAAsD;
|
|
1
|
+
{"version":3,"file":"home-git-guard.service.js","sourceRoot":"","sources":["../../../src/modules/file-sync/home-git-guard.service.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { type GitGuardRemoveResult } from './git-guard.dto';
|
|
2
|
+
import { HomeGitGuardService } from './home-git-guard.service';
|
|
3
|
+
export declare class HostGitGuardController {
|
|
4
|
+
private readonly guard;
|
|
5
|
+
constructor(guard: HomeGitGuardService);
|
|
6
|
+
install(id: string, body: unknown): Promise<{
|
|
7
|
+
warning: string | null;
|
|
8
|
+
}>;
|
|
9
|
+
remove(id: string, body: unknown): Promise<GitGuardRemoveResult>;
|
|
10
|
+
}
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
5
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
6
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
|
+
};
|
|
8
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
9
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
10
|
+
};
|
|
11
|
+
var __param = (this && this.__param) || function (paramIndex, decorator) {
|
|
12
|
+
return function (target, key) { decorator(target, key, paramIndex); }
|
|
13
|
+
};
|
|
14
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
|
+
exports.HostGitGuardController = void 0;
|
|
16
|
+
const common_1 = require("@nestjs/common");
|
|
17
|
+
const swagger_1 = require("@nestjs/swagger");
|
|
18
|
+
const host_dto_1 = require("../remotes/host/host.dto");
|
|
19
|
+
const git_guard_dto_1 = require("./git-guard.dto");
|
|
20
|
+
const home_git_guard_service_1 = require("./home-git-guard.service");
|
|
21
|
+
let HostGitGuardController = class HostGitGuardController {
|
|
22
|
+
guard;
|
|
23
|
+
constructor(guard) {
|
|
24
|
+
this.guard = guard;
|
|
25
|
+
}
|
|
26
|
+
async install(id, body) {
|
|
27
|
+
const projectId = host_dto_1.HostProjectIdSchema.parse(id);
|
|
28
|
+
const request = git_guard_dto_1.VmGitGuardRequestSchema.parse(body);
|
|
29
|
+
return { warning: await this.guard.install(projectId, request) };
|
|
30
|
+
}
|
|
31
|
+
async remove(id, body) {
|
|
32
|
+
const projectId = host_dto_1.HostProjectIdSchema.parse(id);
|
|
33
|
+
const { refreshIndex } = git_guard_dto_1.GitGuardRemoveRequestSchema.parse(body ?? {});
|
|
34
|
+
return this.guard.remove(projectId, { refreshIndex, failOnReadError: true });
|
|
35
|
+
}
|
|
36
|
+
};
|
|
37
|
+
exports.HostGitGuardController = HostGitGuardController;
|
|
38
|
+
__decorate([
|
|
39
|
+
(0, common_1.Post)(),
|
|
40
|
+
(0, common_1.HttpCode)(200),
|
|
41
|
+
(0, swagger_1.ApiOperation)({ summary: 'Guard git on the VM while the PC owns the project' }),
|
|
42
|
+
(0, swagger_1.ApiOkResponse)({ description: 'The guard warning, or null when installed' }),
|
|
43
|
+
__param(0, (0, common_1.Param)('id')),
|
|
44
|
+
__param(1, (0, common_1.Body)()),
|
|
45
|
+
__metadata("design:type", Function),
|
|
46
|
+
__metadata("design:paramtypes", [String, Object]),
|
|
47
|
+
__metadata("design:returntype", Promise)
|
|
48
|
+
], HostGitGuardController.prototype, "install", null);
|
|
49
|
+
__decorate([
|
|
50
|
+
(0, common_1.Delete)(),
|
|
51
|
+
(0, swagger_1.ApiOperation)({ summary: 'Remove VM git guard hooks and restore saved user hooks' }),
|
|
52
|
+
(0, swagger_1.ApiOkResponse)({ description: 'Guard removal and optional index rebuild outcome' }),
|
|
53
|
+
__param(0, (0, common_1.Param)('id')),
|
|
54
|
+
__param(1, (0, common_1.Body)()),
|
|
55
|
+
__metadata("design:type", Function),
|
|
56
|
+
__metadata("design:paramtypes", [String, Object]),
|
|
57
|
+
__metadata("design:returntype", Promise)
|
|
58
|
+
], HostGitGuardController.prototype, "remove", null);
|
|
59
|
+
exports.HostGitGuardController = HostGitGuardController = __decorate([
|
|
60
|
+
(0, swagger_1.ApiTags)('Host git guard'),
|
|
61
|
+
(0, common_1.Controller)('api/host/projects/:id/git-guard'),
|
|
62
|
+
__metadata("design:paramtypes", [home_git_guard_service_1.HomeGitGuardService])
|
|
63
|
+
], HostGitGuardController);
|
|
64
|
+
//# sourceMappingURL=host-git-guard.controller.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"host-git-guard.controller.js","sourceRoot":"","sources":["../../../src/modules/file-sync/host-git-guard.controller.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,2CAAiF;AACjF,6CAAuE;AACvE,uDAA+D;AAC/D,mDAIyB;AACzB,qEAA+D;AAIxD,IAAM,sBAAsB,GAA5B,MAAM,sBAAsB;IACJ;IAA7B,YAA6B,KAA0B;QAA1B,UAAK,GAAL,KAAK,CAAqB;IAAG,CAAC;IAMrD,AAAN,KAAK,CAAC,OAAO,CACE,EAAU,EACf,IAAa;QAErB,MAAM,SAAS,GAAG,8BAAmB,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QAChD,MAAM,OAAO,GAAG,uCAAuB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACpD,OAAO,EAAE,OAAO,EAAE,MAAM,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,EAAE,OAAO,CAAC,EAAE,CAAC;IACnE,CAAC;IAKK,AAAN,KAAK,CAAC,MAAM,CAAc,EAAU,EAAU,IAAa;QACzD,MAAM,SAAS,GAAG,8BAAmB,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QAChD,MAAM,EAAE,YAAY,EAAE,GAAG,2CAA2B,CAAC,KAAK,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC;QACvE,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,SAAS,EAAE,EAAE,YAAY,EAAE,eAAe,EAAE,IAAI,EAAE,CAAC,CAAC;IAC/E,CAAC;CACF,CAAA;AAxBY,wDAAsB;AAO3B;IAJL,IAAA,aAAI,GAAE;IACN,IAAA,iBAAQ,EAAC,GAAG,CAAC;IACb,IAAA,sBAAY,EAAC,EAAE,OAAO,EAAE,mDAAmD,EAAE,CAAC;IAC9E,IAAA,uBAAa,EAAC,EAAE,WAAW,EAAE,2CAA2C,EAAE,CAAC;IAEzE,WAAA,IAAA,cAAK,EAAC,IAAI,CAAC,CAAA;IACX,WAAA,IAAA,aAAI,GAAE,CAAA;;;;qDAKR;AAKK;IAHL,IAAA,eAAM,GAAE;IACR,IAAA,sBAAY,EAAC,EAAE,OAAO,EAAE,wDAAwD,EAAE,CAAC;IACnF,IAAA,uBAAa,EAAC,EAAE,WAAW,EAAE,kDAAkD,EAAE,CAAC;IACrE,WAAA,IAAA,cAAK,EAAC,IAAI,CAAC,CAAA;IAAc,WAAA,IAAA,aAAI,GAAE,CAAA;;;;oDAI5C;iCAvBU,sBAAsB;IAFlC,IAAA,iBAAO,EAAC,gBAAgB,CAAC;IACzB,IAAA,mBAAU,EAAC,iCAAiC,CAAC;qCAER,4CAAmB;GAD5C,sBAAsB,CAwBlC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { GitService } from '../git/services/git.service';
|
|
2
|
+
import { FileSyncService } from './file-sync.service';
|
|
3
|
+
import { type GitIndexResult } from './git-guard.dto';
|
|
4
|
+
export declare class HostGitIndexController {
|
|
5
|
+
private readonly files;
|
|
6
|
+
private readonly git;
|
|
7
|
+
constructor(files: FileSyncService, git: GitService);
|
|
8
|
+
refresh(id: string, body: unknown): Promise<GitIndexResult>;
|
|
9
|
+
}
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
5
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
6
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
|
+
};
|
|
8
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
9
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
10
|
+
};
|
|
11
|
+
var __param = (this && this.__param) || function (paramIndex, decorator) {
|
|
12
|
+
return function (target, key) { decorator(target, key, paramIndex); }
|
|
13
|
+
};
|
|
14
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
|
+
exports.HostGitIndexController = void 0;
|
|
16
|
+
const common_1 = require("@nestjs/common");
|
|
17
|
+
const swagger_1 = require("@nestjs/swagger");
|
|
18
|
+
const logger_1 = require("../../common/logging/logger");
|
|
19
|
+
const git_service_1 = require("../git/services/git.service");
|
|
20
|
+
const host_dto_1 = require("../remotes/host/host.dto");
|
|
21
|
+
const file_sync_service_1 = require("./file-sync.service");
|
|
22
|
+
const git_guard_dto_1 = require("./git-guard.dto");
|
|
23
|
+
const logger = (0, logger_1.createLogger)('HostGitIndex');
|
|
24
|
+
let HostGitIndexController = class HostGitIndexController {
|
|
25
|
+
files;
|
|
26
|
+
git;
|
|
27
|
+
constructor(files, git) {
|
|
28
|
+
this.files = files;
|
|
29
|
+
this.git = git;
|
|
30
|
+
}
|
|
31
|
+
async refresh(id, body) {
|
|
32
|
+
const projectId = host_dto_1.HostProjectIdSchema.parse(id);
|
|
33
|
+
const { since } = git_guard_dto_1.GitIndexRequestSchema.parse(body);
|
|
34
|
+
const root = await this.files.folderPath(projectId);
|
|
35
|
+
const head = await this.git.mirroredHead(projectId, root);
|
|
36
|
+
if (head === null || head === since)
|
|
37
|
+
return { head, refreshed: false, warning: null };
|
|
38
|
+
try {
|
|
39
|
+
await this.git.refreshIndexFromHead(projectId, root);
|
|
40
|
+
return { head, refreshed: true, warning: null };
|
|
41
|
+
}
|
|
42
|
+
catch (error) {
|
|
43
|
+
logger.warn({ error, projectId }, 'VM Git index rebuild failed');
|
|
44
|
+
const reason = error instanceof Error ? error.message : String(error);
|
|
45
|
+
return { head, refreshed: false, warning: `VM Git index rebuild failed: ${reason}` };
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
};
|
|
49
|
+
exports.HostGitIndexController = HostGitIndexController;
|
|
50
|
+
__decorate([
|
|
51
|
+
(0, common_1.Post)(),
|
|
52
|
+
(0, common_1.HttpCode)(200),
|
|
53
|
+
(0, swagger_1.ApiOperation)({ summary: 'Rebuild the VM Git index when mirrored HEAD changed' }),
|
|
54
|
+
(0, swagger_1.ApiOkResponse)({ description: 'Mirrored HEAD, whether the index was rebuilt and any warning' }),
|
|
55
|
+
__param(0, (0, common_1.Param)('id')),
|
|
56
|
+
__param(1, (0, common_1.Body)()),
|
|
57
|
+
__metadata("design:type", Function),
|
|
58
|
+
__metadata("design:paramtypes", [String, Object]),
|
|
59
|
+
__metadata("design:returntype", Promise)
|
|
60
|
+
], HostGitIndexController.prototype, "refresh", null);
|
|
61
|
+
exports.HostGitIndexController = HostGitIndexController = __decorate([
|
|
62
|
+
(0, swagger_1.ApiTags)('Host git index'),
|
|
63
|
+
(0, common_1.Controller)('api/host/projects/:id/git-index'),
|
|
64
|
+
__metadata("design:paramtypes", [file_sync_service_1.FileSyncService,
|
|
65
|
+
git_service_1.GitService])
|
|
66
|
+
], HostGitIndexController);
|
|
67
|
+
//# sourceMappingURL=host-git-index.controller.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"host-git-index.controller.js","sourceRoot":"","sources":["../../../src/modules/file-sync/host-git-index.controller.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,2CAAyE;AACzE,6CAAuE;AACvE,wDAA2D;AAC3D,6DAAyD;AACzD,uDAA+D;AAC/D,2DAAsD;AACtD,mDAA6E;AAE7E,MAAM,MAAM,GAAG,IAAA,qBAAY,EAAC,cAAc,CAAC,CAAC;AAIrC,IAAM,sBAAsB,GAA5B,MAAM,sBAAsB;IAEd;IACA;IAFnB,YACmB,KAAsB,EACtB,GAAe;QADf,UAAK,GAAL,KAAK,CAAiB;QACtB,QAAG,GAAH,GAAG,CAAY;IAC/B,CAAC;IAME,AAAN,KAAK,CAAC,OAAO,CAAc,EAAU,EAAU,IAAa;QAC1D,MAAM,SAAS,GAAG,8BAAmB,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QAChD,MAAM,EAAE,KAAK,EAAE,GAAG,qCAAqB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACpD,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;QACpD,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;QAC1D,IAAI,IAAI,KAAK,IAAI,IAAI,IAAI,KAAK,KAAK;YAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;QACtF,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,GAAG,CAAC,oBAAoB,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;YACrD,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;QAClD,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,EAAE,6BAA6B,CAAC,CAAC;YACjE,MAAM,MAAM,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YACtE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,OAAO,EAAE,gCAAgC,MAAM,EAAE,EAAE,CAAC;QACvF,CAAC;IACH,CAAC;CACF,CAAA;AAzBY,wDAAsB;AAU3B;IAJL,IAAA,aAAI,GAAE;IACN,IAAA,iBAAQ,EAAC,GAAG,CAAC;IACb,IAAA,sBAAY,EAAC,EAAE,OAAO,EAAE,qDAAqD,EAAE,CAAC;IAChF,IAAA,uBAAa,EAAC,EAAE,WAAW,EAAE,8DAA8D,EAAE,CAAC;IAChF,WAAA,IAAA,cAAK,EAAC,IAAI,CAAC,CAAA;IAAc,WAAA,IAAA,aAAI,GAAE,CAAA;;;;qDAc7C;iCAxBU,sBAAsB;IAFlC,IAAA,iBAAO,EAAC,gBAAgB,CAAC;IACzB,IAAA,mBAAU,EAAC,iCAAiC,CAAC;qCAGlB,mCAAe;QACjB,wBAAU;GAHvB,sBAAsB,CAyBlC"}
|
|
@@ -1,14 +1,27 @@
|
|
|
1
|
-
import { type FolderSyncStatus, type SyncDevice, type SyncFolder } from './file-sync.dto';
|
|
1
|
+
import { type FolderSyncStatus, type RemoteNeed, type SyncDevice, type SyncFolder, type ForceCopyBackup, type ReceiveOnlyChanges, type SyncFolderConfiguration } from './file-sync.dto';
|
|
2
2
|
import { FileSyncService } from './file-sync.service';
|
|
3
|
+
import { type SyncPathInspection } from './sync-path-inspection.dto';
|
|
4
|
+
import { SyncPathInspector } from './sync-path-inspector';
|
|
5
|
+
import { SyncChownService } from './sync-chown.service';
|
|
6
|
+
import { type SyncChownResult } from './sync-chown.dto';
|
|
3
7
|
export declare class HostSyncController {
|
|
4
8
|
private readonly fileSync;
|
|
5
|
-
|
|
9
|
+
private readonly inspector;
|
|
10
|
+
private readonly owners;
|
|
11
|
+
constructor(fileSync: FileSyncService, inspector: SyncPathInspector, owners: SyncChownService);
|
|
12
|
+
chown(body: unknown): Promise<SyncChownResult>;
|
|
13
|
+
inspect(body: unknown): Promise<SyncPathInspection>;
|
|
6
14
|
device(): SyncDevice;
|
|
7
15
|
peer(body: unknown): Promise<void>;
|
|
8
16
|
folders(body: unknown): Promise<SyncFolder>;
|
|
17
|
+
forceCopyBackup(body: unknown): Promise<ForceCopyBackup>;
|
|
9
18
|
updateFolder(id: string, body: unknown): Promise<void>;
|
|
10
19
|
removeFolder(id: string): Promise<void>;
|
|
11
20
|
scan(id: string): Promise<void>;
|
|
12
21
|
revert(id: string): Promise<void>;
|
|
22
|
+
override(id: string): Promise<void>;
|
|
23
|
+
localChanges(id: string): Promise<ReceiveOnlyChanges>;
|
|
24
|
+
configuration(id: string): Promise<SyncFolderConfiguration>;
|
|
13
25
|
status(query: unknown): Promise<FolderSyncStatus>;
|
|
26
|
+
remoteNeed(id: string, query: unknown): Promise<RemoteNeed>;
|
|
14
27
|
}
|
|
@@ -14,15 +14,43 @@ var __param = (this && this.__param) || function (paramIndex, decorator) {
|
|
|
14
14
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
15
|
exports.HostSyncController = void 0;
|
|
16
16
|
const common_1 = require("@nestjs/common");
|
|
17
|
+
const swagger_1 = require("@nestjs/swagger");
|
|
17
18
|
const logger_1 = require("../../common/logging/logger");
|
|
18
19
|
const file_sync_dto_1 = require("./file-sync.dto");
|
|
19
20
|
const file_sync_service_1 = require("./file-sync.service");
|
|
20
21
|
const syncthing_rest_client_1 = require("./syncthing-rest.client");
|
|
22
|
+
const node_path_1 = require("node:path");
|
|
23
|
+
const vm_home_path_1 = require("../../common/filesystem/vm-home-path");
|
|
24
|
+
const sync_path_inspection_dto_1 = require("./sync-path-inspection.dto");
|
|
25
|
+
const sync_path_inspector_1 = require("./sync-path-inspector");
|
|
26
|
+
const sync_chown_service_1 = require("./sync-chown.service");
|
|
27
|
+
const sync_chown_dto_1 = require("./sync-chown.dto");
|
|
21
28
|
const logger = (0, logger_1.createLogger)('HostSyncController');
|
|
22
29
|
let HostSyncController = class HostSyncController {
|
|
23
30
|
fileSync;
|
|
24
|
-
|
|
31
|
+
inspector;
|
|
32
|
+
owners;
|
|
33
|
+
constructor(fileSync, inspector, owners) {
|
|
25
34
|
this.fileSync = fileSync;
|
|
35
|
+
this.inspector = inspector;
|
|
36
|
+
this.owners = owners;
|
|
37
|
+
}
|
|
38
|
+
chown(body) {
|
|
39
|
+
return this.owners.repair(sync_chown_dto_1.SyncChownRequestSchema.parse(body));
|
|
40
|
+
}
|
|
41
|
+
async inspect(body) {
|
|
42
|
+
const { path, scan, paths, patterns } = sync_path_inspection_dto_1.SyncInspectRequestSchema.parse(body);
|
|
43
|
+
await (0, vm_home_path_1.assertVmHomePath)((0, node_path_1.resolve)(path), {
|
|
44
|
+
code: 'FILE_SYNC_INSPECT_OUTSIDE_HOME',
|
|
45
|
+
message: 'Inspection paths must be under the VM home',
|
|
46
|
+
linkMessage: 'Inspection paths must not be links',
|
|
47
|
+
rejectAncestorLinks: true,
|
|
48
|
+
});
|
|
49
|
+
const [inspection, user] = await Promise.all([
|
|
50
|
+
this.inspector.inspect(path, scan, paths, patterns),
|
|
51
|
+
this.owners.user(),
|
|
52
|
+
]);
|
|
53
|
+
return user ? { ...inspection, vmUser: user } : inspection;
|
|
26
54
|
}
|
|
27
55
|
device() {
|
|
28
56
|
return this.fileSync.device();
|
|
@@ -37,19 +65,14 @@ let HostSyncController = class HostSyncController {
|
|
|
37
65
|
logger.info({ projectId: request.projectId, kind: request.kind, type: request.type }, 'POST /api/host/sync/folders');
|
|
38
66
|
return this.fileSync.ensureFolder(request);
|
|
39
67
|
}
|
|
68
|
+
forceCopyBackup(body) {
|
|
69
|
+
return this.fileSync.forceCopyBackup(file_sync_dto_1.ForceCopyBackupRequestSchema.parse(body));
|
|
70
|
+
}
|
|
40
71
|
async updateFolder(id, body) {
|
|
41
72
|
const folderId = file_sync_dto_1.FolderIdSchema.parse(id);
|
|
42
73
|
const patch = file_sync_dto_1.SyncFolderPatchSchema.parse(body);
|
|
43
74
|
logger.info({ folderId, ...patch }, 'PATCH /api/host/sync/folders/:id');
|
|
44
|
-
|
|
45
|
-
await this.fileSync.updateFolder(folderId, patch);
|
|
46
|
-
}
|
|
47
|
-
catch (error) {
|
|
48
|
-
if (error instanceof syncthing_rest_client_1.SyncthingRestError && error.status === 404) {
|
|
49
|
-
throw new common_1.NotFoundException('Sync folder not found');
|
|
50
|
-
}
|
|
51
|
-
throw error;
|
|
52
|
-
}
|
|
75
|
+
await this.fileSync.updateFolder(folderId, patch).catch(folderNotFound);
|
|
53
76
|
}
|
|
54
77
|
async removeFolder(id) {
|
|
55
78
|
const folderId = file_sync_dto_1.FolderIdSchema.parse(id);
|
|
@@ -64,12 +87,43 @@ let HostSyncController = class HostSyncController {
|
|
|
64
87
|
logger.info({ folderId }, 'POST /api/host/sync/folders/:id/revert');
|
|
65
88
|
await this.fileSync.revertLocalChanges(folderId);
|
|
66
89
|
}
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
90
|
+
async override(id) {
|
|
91
|
+
await this.fileSync.override(file_sync_dto_1.FolderIdSchema.parse(id));
|
|
92
|
+
}
|
|
93
|
+
localChanges(id) {
|
|
94
|
+
return this.fileSync.localChanges(file_sync_dto_1.FolderIdSchema.parse(id)).catch(folderNotFound);
|
|
95
|
+
}
|
|
96
|
+
configuration(id) {
|
|
97
|
+
return this.fileSync.folderConfiguration(file_sync_dto_1.FolderIdSchema.parse(id)).catch(folderNotFound);
|
|
98
|
+
}
|
|
99
|
+
async status(query) {
|
|
100
|
+
const { folder, device, errors } = file_sync_dto_1.SyncStatusQuerySchema.parse(query);
|
|
101
|
+
return this.fileSync
|
|
102
|
+
.status(folder, device, { allErrors: errors === 'all' })
|
|
103
|
+
.catch(folderNotFound);
|
|
104
|
+
}
|
|
105
|
+
remoteNeed(id, query) {
|
|
106
|
+
const { device } = file_sync_dto_1.RemoteNeedQuerySchema.parse(query);
|
|
107
|
+
return this.fileSync.remoteNeed(file_sync_dto_1.FolderIdSchema.parse(id), device);
|
|
70
108
|
}
|
|
71
109
|
};
|
|
72
110
|
exports.HostSyncController = HostSyncController;
|
|
111
|
+
__decorate([
|
|
112
|
+
(0, common_1.Post)('chown'),
|
|
113
|
+
(0, common_1.HttpCode)(200),
|
|
114
|
+
__param(0, (0, common_1.Body)()),
|
|
115
|
+
__metadata("design:type", Function),
|
|
116
|
+
__metadata("design:paramtypes", [Object]),
|
|
117
|
+
__metadata("design:returntype", Promise)
|
|
118
|
+
], HostSyncController.prototype, "chown", null);
|
|
119
|
+
__decorate([
|
|
120
|
+
(0, common_1.Post)('inspect'),
|
|
121
|
+
(0, common_1.HttpCode)(200),
|
|
122
|
+
__param(0, (0, common_1.Body)()),
|
|
123
|
+
__metadata("design:type", Function),
|
|
124
|
+
__metadata("design:paramtypes", [Object]),
|
|
125
|
+
__metadata("design:returntype", Promise)
|
|
126
|
+
], HostSyncController.prototype, "inspect", null);
|
|
73
127
|
__decorate([
|
|
74
128
|
(0, common_1.Get)('device'),
|
|
75
129
|
__metadata("design:type", Function),
|
|
@@ -92,6 +146,16 @@ __decorate([
|
|
|
92
146
|
__metadata("design:paramtypes", [Object]),
|
|
93
147
|
__metadata("design:returntype", Promise)
|
|
94
148
|
], HostSyncController.prototype, "folders", null);
|
|
149
|
+
__decorate([
|
|
150
|
+
(0, common_1.Post)('force-copy-backup'),
|
|
151
|
+
(0, common_1.HttpCode)(200),
|
|
152
|
+
(0, swagger_1.ApiOperation)({ summary: 'Prepare a force-copy backup path without changing a share' }),
|
|
153
|
+
(0, swagger_1.ApiOkResponse)({ description: 'The backup directory on this host' }),
|
|
154
|
+
__param(0, (0, common_1.Body)()),
|
|
155
|
+
__metadata("design:type", Function),
|
|
156
|
+
__metadata("design:paramtypes", [Object]),
|
|
157
|
+
__metadata("design:returntype", Promise)
|
|
158
|
+
], HostSyncController.prototype, "forceCopyBackup", null);
|
|
95
159
|
__decorate([
|
|
96
160
|
(0, common_1.Patch)('folders/:id'),
|
|
97
161
|
(0, common_1.HttpCode)(204),
|
|
@@ -125,6 +189,34 @@ __decorate([
|
|
|
125
189
|
__metadata("design:paramtypes", [String]),
|
|
126
190
|
__metadata("design:returntype", Promise)
|
|
127
191
|
], HostSyncController.prototype, "revert", null);
|
|
192
|
+
__decorate([
|
|
193
|
+
(0, common_1.Post)('folders/:id/override'),
|
|
194
|
+
(0, common_1.HttpCode)(204),
|
|
195
|
+
(0, swagger_1.ApiOperation)({ summary: 'Override remote changes from a send-only folder' }),
|
|
196
|
+
(0, swagger_1.ApiNoContentResponse)(),
|
|
197
|
+
__param(0, (0, common_1.Param)('id')),
|
|
198
|
+
__metadata("design:type", Function),
|
|
199
|
+
__metadata("design:paramtypes", [String]),
|
|
200
|
+
__metadata("design:returntype", Promise)
|
|
201
|
+
], HostSyncController.prototype, "override", null);
|
|
202
|
+
__decorate([
|
|
203
|
+
(0, common_1.Get)('folders/:id/local-changes'),
|
|
204
|
+
(0, swagger_1.ApiOperation)({ summary: 'Read the count and bounded sample of receive-only changes' }),
|
|
205
|
+
(0, swagger_1.ApiOkResponse)({ description: 'The change count and at most 200 names' }),
|
|
206
|
+
__param(0, (0, common_1.Param)('id')),
|
|
207
|
+
__metadata("design:type", Function),
|
|
208
|
+
__metadata("design:paramtypes", [String]),
|
|
209
|
+
__metadata("design:returntype", Promise)
|
|
210
|
+
], HostSyncController.prototype, "localChanges", null);
|
|
211
|
+
__decorate([
|
|
212
|
+
(0, common_1.Get)('folders/:id/configuration'),
|
|
213
|
+
(0, swagger_1.ApiOperation)({ summary: 'Read folder direction, pause state and peer devices' }),
|
|
214
|
+
(0, swagger_1.ApiOkResponse)({ description: 'The current VM folder configuration' }),
|
|
215
|
+
__param(0, (0, common_1.Param)('id')),
|
|
216
|
+
__metadata("design:type", Function),
|
|
217
|
+
__metadata("design:paramtypes", [String]),
|
|
218
|
+
__metadata("design:returntype", Promise)
|
|
219
|
+
], HostSyncController.prototype, "configuration", null);
|
|
128
220
|
__decorate([
|
|
129
221
|
(0, common_1.Get)('status'),
|
|
130
222
|
__param(0, (0, common_1.Query)()),
|
|
@@ -132,8 +224,24 @@ __decorate([
|
|
|
132
224
|
__metadata("design:paramtypes", [Object]),
|
|
133
225
|
__metadata("design:returntype", Promise)
|
|
134
226
|
], HostSyncController.prototype, "status", null);
|
|
227
|
+
__decorate([
|
|
228
|
+
(0, common_1.Get)('folders/:id/remote-need'),
|
|
229
|
+
__param(0, (0, common_1.Param)('id')),
|
|
230
|
+
__param(1, (0, common_1.Query)()),
|
|
231
|
+
__metadata("design:type", Function),
|
|
232
|
+
__metadata("design:paramtypes", [String, Object]),
|
|
233
|
+
__metadata("design:returntype", Promise)
|
|
234
|
+
], HostSyncController.prototype, "remoteNeed", null);
|
|
135
235
|
exports.HostSyncController = HostSyncController = __decorate([
|
|
136
236
|
(0, common_1.Controller)('api/host/sync'),
|
|
137
|
-
|
|
237
|
+
(0, swagger_1.ApiTags)('Host sync'),
|
|
238
|
+
__metadata("design:paramtypes", [file_sync_service_1.FileSyncService,
|
|
239
|
+
sync_path_inspector_1.SyncPathInspector,
|
|
240
|
+
sync_chown_service_1.SyncChownService])
|
|
138
241
|
], HostSyncController);
|
|
242
|
+
function folderNotFound(error) {
|
|
243
|
+
if (error instanceof syncthing_rest_client_1.SyncthingRestError && error.status === 404)
|
|
244
|
+
throw new common_1.NotFoundException('Sync folder not found');
|
|
245
|
+
throw error;
|
|
246
|
+
}
|
|
139
247
|
//# sourceMappingURL=host-sync.controller.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"host-sync.controller.js","sourceRoot":"","sources":["../../../src/modules/file-sync/host-sync.controller.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,2CAWwB;AACxB,wDAA2D;AAC3D,
|
|
1
|
+
{"version":3,"file":"host-sync.controller.js","sourceRoot":"","sources":["../../../src/modules/file-sync/host-sync.controller.ts"],"names":[],"mappings":"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"}
|