@bevel-software/platform-core-backend 0.35.0 → 0.36.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/agent-guide/directory-structure.md +1 -1
- package/agent-guide/onboarding.md +111 -0
- package/agent-guide/start-here.md +1 -0
- package/agent-guide/tool-manuals.md +1 -0
- package/dist/core/catalog-cache-invalidation.d.ts +2 -2
- package/dist/core/catalog-cache-invalidation.d.ts.map +1 -1
- package/dist/core/compose-embed.d.ts +2 -2
- package/dist/core/compose-embed.d.ts.map +1 -1
- package/dist/core/compose-embed.js +1 -1
- package/dist/core/compose-embed.js.map +1 -1
- package/dist/core/core-ports.d.ts +19 -4
- package/dist/core/core-ports.d.ts.map +1 -1
- package/dist/core/core-ports.js.map +1 -1
- package/dist/core/create-core-server.d.ts.map +1 -1
- package/dist/core/create-core-server.js +26 -24
- package/dist/core/create-core-server.js.map +1 -1
- package/dist/core/create-core-services.d.ts +19 -13
- package/dist/core/create-core-services.d.ts.map +1 -1
- package/dist/core/create-core-services.js +68 -56
- package/dist/core/create-core-services.js.map +1 -1
- package/dist/core/lifecycle.d.ts +4 -4
- package/dist/core/lifecycle.d.ts.map +1 -1
- package/dist/core/lifecycle.js +5 -5
- package/dist/core/lifecycle.js.map +1 -1
- package/dist/core-config.d.ts +2 -2
- package/dist/core-config.js +3 -3
- package/dist/core-config.js.map +1 -1
- package/dist/index.d.ts +4 -4
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -3
- package/dist/index.js.map +1 -1
- package/dist/modules/access/access-control.service.js +1 -1
- package/dist/modules/access/access-control.service.js.map +1 -1
- package/dist/modules/access/access-declarations.d.ts +2 -2
- package/dist/modules/access/access-declarations.d.ts.map +1 -1
- package/dist/modules/access/access-declarations.js +2 -2
- package/dist/modules/access/access-declarations.js.map +1 -1
- package/dist/modules/access/access-mutation.service.d.ts +2 -2
- package/dist/modules/access/access-mutation.service.d.ts.map +1 -1
- package/dist/modules/access/access-mutation.service.js +2 -2
- package/dist/modules/access/access-mutation.service.js.map +1 -1
- package/dist/modules/access/access-requests.routes.d.ts +2 -2
- package/dist/modules/access/access-requests.routes.d.ts.map +1 -1
- package/dist/modules/access/access-requests.routes.js +5 -5
- package/dist/modules/access/access-requests.routes.js.map +1 -1
- package/dist/modules/access/access-requests.service.d.ts +2 -2
- package/dist/modules/access/access-requests.service.d.ts.map +1 -1
- package/dist/modules/access/access-requests.service.js +11 -11
- package/dist/modules/access/access-requests.service.js.map +1 -1
- package/dist/modules/access/access.routes.d.ts +2 -2
- package/dist/modules/access/access.routes.d.ts.map +1 -1
- package/dist/modules/access/access.routes.js +9 -9
- package/dist/modules/access/access.routes.js.map +1 -1
- package/dist/modules/access/admin-locked-commit.d.ts +5 -5
- package/dist/modules/access/admin-locked-commit.d.ts.map +1 -1
- package/dist/modules/access/admin-locked-commit.js +7 -7
- package/dist/modules/access/admin-locked-commit.js.map +1 -1
- package/dist/modules/access/admin-route-helpers.d.ts +1 -1
- package/dist/modules/access/admin-route-helpers.js +5 -5
- package/dist/modules/access/admin-route-helpers.js.map +1 -1
- package/dist/modules/access/change-read-gate.d.ts +1 -1
- package/dist/modules/access/change-read-gate.js +1 -1
- package/dist/modules/access/groups-admin.service.d.ts +7 -7
- package/dist/modules/access/groups-admin.service.d.ts.map +1 -1
- package/dist/modules/access/groups-admin.service.js +6 -6
- package/dist/modules/access/groups-admin.service.js.map +1 -1
- package/dist/modules/access/reference-scan.d.ts +1 -1
- package/dist/modules/access/roles-admin.service.d.ts +7 -7
- package/dist/modules/access/roles-admin.service.d.ts.map +1 -1
- package/dist/modules/access/roles-admin.service.js +8 -8
- package/dist/modules/access/roles-admin.service.js.map +1 -1
- package/dist/modules/access/synced-groups-committer.d.ts +4 -4
- package/dist/modules/access/synced-groups-committer.d.ts.map +1 -1
- package/dist/modules/access/synced-groups-committer.js +7 -7
- package/dist/modules/access/synced-groups-committer.js.map +1 -1
- package/dist/modules/access/user-access-removal.service.d.ts +6 -6
- package/dist/modules/access/user-access-removal.service.d.ts.map +1 -1
- package/dist/modules/access/user-access-removal.service.js +4 -4
- package/dist/modules/access/user-access-removal.service.js.map +1 -1
- package/dist/modules/access-model/access-errors.d.ts +4 -4
- package/dist/modules/access-model/access-errors.d.ts.map +1 -1
- package/dist/modules/access-model/access-errors.js +4 -4
- package/dist/modules/access-model/access-errors.js.map +1 -1
- package/dist/modules/access-model/access-grammar.d.ts +1 -1
- package/dist/modules/access-model/access-grammar.js +4 -4
- package/dist/modules/access-model/change-gate.d.ts +1 -1
- package/dist/modules/access-model/change-gate.js +1 -1
- package/dist/modules/access-model/roles-yaml-guard.d.ts +4 -4
- package/dist/modules/access-model/roles-yaml-guard.d.ts.map +1 -1
- package/dist/modules/access-model/roles-yaml-guard.js +4 -4
- package/dist/modules/access-model/roles-yaml-guard.js.map +1 -1
- package/dist/modules/agent-guide/agent-guide.d.ts +19 -14
- package/dist/modules/agent-guide/agent-guide.d.ts.map +1 -1
- package/dist/modules/agent-guide/agent-guide.js +42 -18
- package/dist/modules/agent-guide/agent-guide.js.map +1 -1
- package/dist/modules/agent-guide/guide-budget.d.ts +5 -2
- package/dist/modules/agent-guide/guide-budget.d.ts.map +1 -1
- package/dist/modules/agent-guide/guide-budget.js +6 -2
- package/dist/modules/agent-guide/guide-budget.js.map +1 -1
- package/dist/modules/agent-instructions/agent-instructions.routes.d.ts +12 -5
- package/dist/modules/agent-instructions/agent-instructions.routes.d.ts.map +1 -1
- package/dist/modules/agent-instructions/agent-instructions.routes.js +13 -6
- package/dist/modules/agent-instructions/agent-instructions.routes.js.map +1 -1
- package/dist/modules/agent-instructions/compose.d.ts +15 -8
- package/dist/modules/agent-instructions/compose.d.ts.map +1 -1
- package/dist/modules/agent-instructions/compose.js +24 -10
- package/dist/modules/agent-instructions/compose.js.map +1 -1
- package/dist/modules/agent-instructions/shared-file-rules.d.ts +14 -6
- package/dist/modules/agent-instructions/shared-file-rules.d.ts.map +1 -1
- package/dist/modules/agent-instructions/shared-file-rules.js +51 -11
- package/dist/modules/agent-instructions/shared-file-rules.js.map +1 -1
- package/dist/modules/auth/account-erasure.service.d.ts +36 -7
- package/dist/modules/auth/account-erasure.service.d.ts.map +1 -1
- package/dist/modules/auth/account-erasure.service.js +30 -10
- package/dist/modules/auth/account-erasure.service.js.map +1 -1
- package/dist/modules/auth/account-hooks.d.ts +20 -0
- package/dist/modules/auth/account-hooks.d.ts.map +1 -1
- package/dist/modules/auth/account-hooks.js +10 -0
- package/dist/modules/auth/account-hooks.js.map +1 -1
- package/dist/modules/auth/account-switch-lock.js +2 -2
- package/dist/modules/auth/account-switch-lock.js.map +1 -1
- package/dist/modules/auth/account.routes.d.ts +7 -2
- package/dist/modules/auth/account.routes.d.ts.map +1 -1
- package/dist/modules/auth/account.routes.js +23 -4
- package/dist/modules/auth/account.routes.js.map +1 -1
- package/dist/modules/auth/auth.service.d.ts +1 -1
- package/dist/modules/auth/auth.service.js +4 -4
- package/dist/modules/auth/auth.service.js.map +1 -1
- package/dist/modules/auth/index.d.ts +1 -0
- package/dist/modules/auth/index.d.ts.map +1 -1
- package/dist/modules/database/core-schema.js +2 -2
- package/dist/modules/database/core-schema.js.map +1 -1
- package/dist/modules/diff/diff.routes.d.ts +3 -3
- package/dist/modules/diff/diff.routes.d.ts.map +1 -1
- package/dist/modules/diff/diff.routes.js +7 -7
- package/dist/modules/diff/diff.routes.js.map +1 -1
- package/dist/modules/embed/embed.routes.js +1 -1
- package/dist/modules/embed/embed.routes.js.map +1 -1
- package/dist/modules/embed/embed.service.d.ts +4 -4
- package/dist/modules/embed/embed.service.d.ts.map +1 -1
- package/dist/modules/embed/embed.service.js +18 -18
- package/dist/modules/embed/embed.service.js.map +1 -1
- package/dist/modules/kb-fs/branch-name.js +8 -8
- package/dist/modules/kb-fs/branch-name.js.map +1 -1
- package/dist/modules/kb-fs/file-change-notifier.d.ts +2 -2
- package/dist/modules/kb-fs/locking-filesystem.d.ts +9 -9
- package/dist/modules/kb-fs/locking-filesystem.d.ts.map +1 -1
- package/dist/modules/kb-fs/locking-filesystem.js +27 -27
- package/dist/modules/kb-fs/locking-filesystem.js.map +1 -1
- package/dist/modules/kb-fs/repo-path.js +5 -5
- package/dist/modules/kb-fs/repo-path.js.map +1 -1
- package/dist/modules/kb-fs/tmp-ref.d.ts +2 -2
- package/dist/modules/kb-fs/tmp-ref.d.ts.map +1 -1
- package/dist/modules/kb-fs/tmp-ref.js +2 -2
- package/dist/modules/kb-fs/tmp-ref.js.map +1 -1
- package/dist/modules/kb-sync/index.d.ts +1 -1
- package/dist/modules/kb-sync/index.d.ts.map +1 -1
- package/dist/modules/kb-sync/kb-sync.interface.d.ts +3 -3
- package/dist/modules/kb-sync/kb-sync.interface.d.ts.map +1 -1
- package/dist/modules/kb-sync/kb-sync.service.d.ts +3 -3
- package/dist/modules/kb-sync/kb-sync.service.d.ts.map +1 -1
- package/dist/modules/kb-sync/kb-sync.service.js +10 -10
- package/dist/modules/kb-sync/kb-sync.service.js.map +1 -1
- package/dist/modules/mcp/mcp.service.d.ts +11 -4
- package/dist/modules/mcp/mcp.service.d.ts.map +1 -1
- package/dist/modules/mcp/mcp.service.js +75 -19
- package/dist/modules/mcp/mcp.service.js.map +1 -1
- package/dist/modules/onboarding/onboarding.contract.d.ts +1 -1
- package/dist/modules/onboarding/onboarding.routes.js +2 -2
- package/dist/modules/onboarding/onboarding.routes.js.map +1 -1
- package/dist/modules/onboarding/starter-pack.service.d.ts +4 -4
- package/dist/modules/onboarding/starter-pack.service.d.ts.map +1 -1
- package/dist/modules/onboarding/starter-pack.service.js +4 -4
- package/dist/modules/onboarding/starter-pack.service.js.map +1 -1
- package/dist/modules/plugins/join-request-jobs.service.d.ts +2 -2
- package/dist/modules/plugins/join-request-jobs.service.d.ts.map +1 -1
- package/dist/modules/plugins/join-request-jobs.service.js +7 -7
- package/dist/modules/plugins/join-request-jobs.service.js.map +1 -1
- package/dist/modules/plugins/join-requests.service.d.ts +3 -3
- package/dist/modules/plugins/join-requests.service.d.ts.map +1 -1
- package/dist/modules/plugins/join-requests.service.js +5 -5
- package/dist/modules/plugins/join-requests.service.js.map +1 -1
- package/dist/modules/plugins/plugin-rename.service.js +1 -1
- package/dist/modules/plugins/plugin-rename.service.js.map +1 -1
- package/dist/modules/plugins/plugins.routes.d.ts +2 -2
- package/dist/modules/plugins/plugins.routes.d.ts.map +1 -1
- package/dist/modules/plugins/plugins.routes.js +8 -8
- package/dist/modules/plugins/plugins.routes.js.map +1 -1
- package/dist/modules/secrets-vault/db-secrets-vault.service.d.ts +77 -2
- package/dist/modules/secrets-vault/db-secrets-vault.service.d.ts.map +1 -1
- package/dist/modules/secrets-vault/db-secrets-vault.service.js +479 -53
- package/dist/modules/secrets-vault/db-secrets-vault.service.js.map +1 -1
- package/dist/modules/secrets-vault/index.d.ts +2 -1
- package/dist/modules/secrets-vault/index.d.ts.map +1 -1
- package/dist/modules/secrets-vault/index.js +1 -0
- package/dist/modules/secrets-vault/index.js.map +1 -1
- package/dist/modules/secrets-vault/managed-sign-in-erasure.d.ts +36 -0
- package/dist/modules/secrets-vault/managed-sign-in-erasure.d.ts.map +1 -0
- package/dist/modules/secrets-vault/managed-sign-in-erasure.js +37 -0
- package/dist/modules/secrets-vault/managed-sign-in-erasure.js.map +1 -0
- package/dist/modules/secrets-vault/secrets-vault.contract.d.ts +152 -0
- package/dist/modules/secrets-vault/secrets-vault.contract.d.ts.map +1 -1
- package/dist/modules/secrets-vault/secrets-vault.contract.js.map +1 -1
- package/dist/modules/secrets-vault/secrets-vault.routes.d.ts +7 -1
- package/dist/modules/secrets-vault/secrets-vault.routes.d.ts.map +1 -1
- package/dist/modules/secrets-vault/secrets-vault.routes.js +125 -10
- package/dist/modules/secrets-vault/secrets-vault.routes.js.map +1 -1
- package/dist/modules/settings/connection-check.js +1 -1
- package/dist/modules/settings/connection-check.js.map +1 -1
- package/dist/modules/settings/deployment-settings.service.js +1 -1
- package/dist/modules/settings/git-root-folders.js +1 -1
- package/dist/modules/settings/git-root-folders.js.map +1 -1
- package/dist/modules/settings/setup.routes.d.ts +1 -1
- package/dist/modules/settings/setup.routes.js +1 -1
- package/dist/modules/skills/pending-skills.service.d.ts +3 -3
- package/dist/modules/skills/pending-skills.service.d.ts.map +1 -1
- package/dist/modules/skills/pending-skills.service.js +4 -4
- package/dist/modules/skills/pending-skills.service.js.map +1 -1
- package/dist/modules/skills/skill-access-requests.routes.d.ts +2 -2
- package/dist/modules/skills/skill-access-requests.routes.d.ts.map +1 -1
- package/dist/modules/skills/skill-access-requests.routes.js +5 -5
- package/dist/modules/skills/skill-access-requests.routes.js.map +1 -1
- package/dist/modules/tool-helpers/tool-context.d.ts +4 -4
- package/dist/modules/tool-helpers/tool-context.d.ts.map +1 -1
- package/dist/modules/tool-helpers/tool-context.js +2 -2
- package/dist/modules/tool-helpers/tool-context.js.map +1 -1
- package/dist/modules/tool-helpers/tool-handler.js +2 -2
- package/dist/modules/tool-helpers/tool-handler.js.map +1 -1
- package/dist/modules/tool-helpers/tool.contract.d.ts +4 -4
- package/dist/modules/tool-helpers/tool.contract.d.ts.map +1 -1
- package/dist/modules/tool-manuals/mcp-server-edit.service.js +1 -1
- package/dist/modules/tool-manuals/mcp-server-edit.service.js.map +1 -1
- package/dist/modules/tool-manuals/pending-tools.service.d.ts +3 -3
- package/dist/modules/tool-manuals/pending-tools.service.d.ts.map +1 -1
- package/dist/modules/tool-manuals/pending-tools.service.js +4 -4
- package/dist/modules/tool-manuals/pending-tools.service.js.map +1 -1
- package/dist/modules/tool-manuals/tool-delete.service.js +1 -1
- package/dist/modules/tool-manuals/tool-delete.service.js.map +1 -1
- package/dist/modules/tool-manuals/tool-manuals.contract.d.ts +43 -3
- package/dist/modules/tool-manuals/tool-manuals.contract.d.ts.map +1 -1
- package/dist/modules/tool-manuals/tool-manuals.service.d.ts +6 -0
- package/dist/modules/tool-manuals/tool-manuals.service.d.ts.map +1 -1
- package/dist/modules/tool-manuals/tool-manuals.service.js +51 -5
- package/dist/modules/tool-manuals/tool-manuals.service.js.map +1 -1
- package/dist/modules/tool-manuals/tool-manuals.tools.d.ts +3 -0
- package/dist/modules/tool-manuals/tool-manuals.tools.d.ts.map +1 -1
- package/dist/modules/tool-manuals/tool-manuals.tools.js +36 -15
- package/dist/modules/tool-manuals/tool-manuals.tools.js.map +1 -1
- package/dist/modules/version-control/agent-tools/change-request-read-shape.d.ts.map +1 -0
- package/dist/modules/version-control/agent-tools/change-request-read-shape.js.map +1 -0
- package/dist/modules/version-control/agent-tools/change-request-read.tools.d.ts.map +1 -0
- package/dist/modules/{workflow → version-control}/agent-tools/change-request-read.tools.js +2 -2
- package/dist/modules/version-control/agent-tools/change-request-read.tools.js.map +1 -0
- package/dist/modules/version-control/agent-tools/change-request-summary.d.ts.map +1 -0
- package/dist/modules/version-control/agent-tools/change-request-summary.js.map +1 -0
- package/dist/modules/{workflow/agent-tools/workflow.tools.d.ts → version-control/agent-tools/version-control.tools.d.ts} +4 -4
- package/dist/modules/version-control/agent-tools/version-control.tools.d.ts.map +1 -0
- package/dist/modules/{workflow/agent-tools/workflow.tools.js → version-control/agent-tools/version-control.tools.js} +31 -31
- package/dist/modules/version-control/agent-tools/version-control.tools.js.map +1 -0
- package/dist/modules/{workflow → version-control}/change-request-hooks.d.ts +1 -1
- package/dist/modules/version-control/change-request-hooks.d.ts.map +1 -0
- package/dist/modules/version-control/change-request-hooks.js.map +1 -0
- package/dist/modules/version-control/change-request-review/approval-lock.d.ts.map +1 -0
- package/dist/modules/version-control/change-request-review/approval-lock.js.map +1 -0
- package/dist/modules/{workflow/review-workflow/review-workflow.interface.d.ts → version-control/change-request-review/change-request-review.interface.d.ts} +2 -2
- package/dist/modules/version-control/change-request-review/change-request-review.interface.d.ts.map +1 -0
- package/dist/modules/version-control/change-request-review/change-request-review.interface.js +2 -0
- package/dist/modules/version-control/change-request-review/change-request-review.interface.js.map +1 -0
- package/dist/modules/{workflow/review-workflow/review-workflow.service.d.ts → version-control/change-request-review/change-request-review.service.d.ts} +3 -3
- package/dist/modules/version-control/change-request-review/change-request-review.service.d.ts.map +1 -0
- package/dist/modules/{workflow/review-workflow/review-workflow.service.js → version-control/change-request-review/change-request-review.service.js} +26 -26
- package/dist/modules/version-control/change-request-review/change-request-review.service.js.map +1 -0
- package/dist/modules/{workflow → version-control}/event-bus.d.ts +8 -8
- package/dist/modules/version-control/event-bus.d.ts.map +1 -0
- package/dist/modules/{workflow → version-control}/event-bus.js +4 -4
- package/dist/modules/version-control/event-bus.js.map +1 -0
- package/dist/modules/{workflow → version-control}/events-delivery.d.ts +4 -4
- package/dist/modules/version-control/events-delivery.d.ts.map +1 -0
- package/dist/modules/version-control/events-delivery.js.map +1 -0
- package/dist/modules/{workflow → version-control}/events.routes.d.ts +4 -4
- package/dist/modules/version-control/events.routes.d.ts.map +1 -0
- package/dist/modules/version-control/events.routes.js.map +1 -0
- package/dist/modules/{workflow → version-control}/file-lock.service.d.ts +2 -2
- package/dist/modules/version-control/file-lock.service.d.ts.map +1 -0
- package/dist/modules/{workflow → version-control}/file-lock.service.js +6 -6
- package/dist/modules/version-control/file-lock.service.js.map +1 -0
- package/dist/modules/version-control/git/change-request-link.d.ts.map +1 -0
- package/dist/modules/version-control/git/change-request-link.js.map +1 -0
- package/dist/modules/version-control/git/git-version.d.ts.map +1 -0
- package/dist/modules/version-control/git/git-version.js.map +1 -0
- package/dist/modules/{workflow → version-control}/git/git.service.d.ts +8 -8
- package/dist/modules/version-control/git/git.service.d.ts.map +1 -0
- package/dist/modules/{workflow → version-control}/git/git.service.js +53 -53
- package/dist/modules/version-control/git/git.service.js.map +1 -0
- package/dist/modules/version-control/git/merge-commit.d.ts.map +1 -0
- package/dist/modules/version-control/git/merge-commit.js.map +1 -0
- package/dist/modules/version-control/git/node-git-runner.d.ts.map +1 -0
- package/dist/modules/{workflow → version-control}/git/node-git-runner.js +1 -1
- package/dist/modules/version-control/git/node-git-runner.js.map +1 -0
- package/dist/modules/{workflow → version-control}/git/pull-request.service.d.ts +5 -5
- package/dist/modules/version-control/git/pull-request.service.d.ts.map +1 -0
- package/dist/modules/{workflow → version-control}/git/pull-request.service.js +10 -10
- package/dist/modules/version-control/git/pull-request.service.js.map +1 -0
- package/dist/modules/{workflow → version-control}/index.d.ts +6 -5
- package/dist/modules/version-control/index.d.ts.map +1 -0
- package/dist/modules/{workflow → version-control}/index.js +3 -2
- package/dist/modules/version-control/index.js.map +1 -0
- package/dist/modules/{workflow → version-control}/pending-commits.service.d.ts +2 -2
- package/dist/modules/version-control/pending-commits.service.d.ts.map +1 -0
- package/dist/modules/{workflow → version-control}/pending-commits.service.js +2 -2
- package/dist/modules/version-control/pending-commits.service.js.map +1 -0
- package/dist/modules/{workflow → version-control}/pending-commits.worker.d.ts +5 -5
- package/dist/modules/version-control/pending-commits.worker.d.ts.map +1 -0
- package/dist/modules/{workflow → version-control}/pending-commits.worker.js +3 -3
- package/dist/modules/version-control/pending-commits.worker.js.map +1 -0
- package/dist/modules/{workflow → version-control}/read-on-branch.d.ts +2 -2
- package/dist/modules/version-control/read-on-branch.d.ts.map +1 -0
- package/dist/modules/{workflow → version-control}/read-on-branch.js +2 -2
- package/dist/modules/version-control/read-on-branch.js.map +1 -0
- package/dist/modules/version-control/recovery-bot.d.ts.map +1 -0
- package/dist/modules/version-control/recovery-bot.js.map +1 -0
- package/dist/modules/version-control/sanitize-error.d.ts.map +1 -0
- package/dist/modules/version-control/sanitize-error.js.map +1 -0
- package/dist/modules/{workflow/workflow-hooks.d.ts → version-control/version-control-hooks.d.ts} +4 -4
- package/dist/modules/version-control/version-control-hooks.d.ts.map +1 -0
- package/dist/modules/{workflow/workflow-hooks.js → version-control/version-control-hooks.js} +3 -3
- package/dist/modules/version-control/version-control-hooks.js.map +1 -0
- package/dist/modules/{workflow/workflow.routes.d.ts → version-control/version-control.routes.d.ts} +6 -5
- package/dist/modules/version-control/version-control.routes.d.ts.map +1 -0
- package/dist/modules/{workflow/workflow.routes.js → version-control/version-control.routes.js} +61 -60
- package/dist/modules/version-control/version-control.routes.js.map +1 -0
- package/dist/modules/{workflow/workflow.service.d.ts → version-control/version-control.service.d.ts} +26 -31
- package/dist/modules/version-control/version-control.service.d.ts.map +1 -0
- package/dist/modules/{workflow/workflow.service.js → version-control/version-control.service.js} +89 -94
- package/dist/modules/version-control/version-control.service.js.map +1 -0
- package/dist/modules/workspace/agent-access.gate.d.ts +5 -5
- package/dist/modules/workspace/agent-access.gate.d.ts.map +1 -1
- package/dist/modules/workspace/agent-access.gate.js +1 -1
- package/dist/modules/workspace/git-internals.middleware.d.ts +1 -1
- package/dist/modules/workspace/git-internals.middleware.js +2 -2
- package/dist/modules/workspace/kb-repository.js +1 -1
- package/dist/modules/workspace/kb-repository.js.map +1 -1
- package/dist/modules/workspace/startup/kb-git.d.ts +1 -1
- package/dist/modules/workspace/startup/kb-git.d.ts.map +1 -1
- package/dist/modules/workspace/startup/kb-git.js +1 -1
- package/dist/modules/workspace/startup/kb-git.js.map +1 -1
- package/dist/modules/workspace/startup/steps/seed-tree.d.ts +2 -2
- package/dist/modules/workspace/startup/steps/seed-tree.d.ts.map +1 -1
- package/dist/modules/workspace/startup/steps/seed-tree.js +1 -1
- package/dist/modules/workspace/startup/steps/seed-tree.js.map +1 -1
- package/dist/modules/workspace/startup/steps/template-files.step.d.ts +2 -2
- package/dist/modules/workspace/startup/steps/template-files.step.d.ts.map +1 -1
- package/dist/modules/workspace/startup/steps/template-files.step.js +2 -2
- package/dist/modules/workspace/startup/steps/template-files.step.js.map +1 -1
- package/dist/modules/workspace/startup/steps/template-source.d.ts +17 -4
- package/dist/modules/workspace/startup/steps/template-source.d.ts.map +1 -1
- package/dist/modules/workspace/startup/steps/template-source.js +8 -5
- package/dist/modules/workspace/startup/steps/template-source.js.map +1 -1
- package/dist/modules/workspace/workspace-tmp.js +3 -3
- package/dist/modules/workspace/workspace-tmp.js.map +1 -1
- package/dist/modules/workspace/workspace.routes.d.ts +4 -4
- package/dist/modules/workspace/workspace.routes.d.ts.map +1 -1
- package/dist/modules/workspace/workspace.routes.js +22 -22
- package/dist/modules/workspace/workspace.routes.js.map +1 -1
- package/dist/modules/workspace/workspace.service.d.ts +6 -6
- package/dist/modules/workspace/workspace.service.d.ts.map +1 -1
- package/dist/modules/workspace/workspace.service.js +11 -11
- package/dist/modules/workspace/workspace.service.js.map +1 -1
- package/dist/modules/workspace/workspace.tools.d.ts +2 -1
- package/dist/modules/workspace/workspace.tools.d.ts.map +1 -1
- package/dist/modules/workspace/workspace.tools.js +15 -10
- package/dist/modules/workspace/workspace.tools.js.map +1 -1
- package/dist/shared/canonical-file-identity.d.ts +2 -2
- package/dist/shared/canonical-file-identity.js +5 -5
- package/dist/shared/canonical-file-identity.js.map +1 -1
- package/dist/shared/domain-errors.d.ts +39 -39
- package/dist/shared/domain-errors.d.ts.map +1 -1
- package/dist/shared/domain-errors.js +44 -44
- package/dist/shared/domain-errors.js.map +1 -1
- package/dist/shared/git.contract.d.ts +1 -1
- package/dist/shared/git.contract.js +1 -1
- package/dist/shared/http-errors.d.ts +3 -3
- package/dist/shared/http-errors.d.ts.map +1 -1
- package/dist/shared/http-errors.js +1 -1
- package/dist/shared/http-errors.js.map +1 -1
- package/dist/shared/pending-proposals.d.ts +3 -3
- package/dist/shared/pending-proposals.d.ts.map +1 -1
- package/dist/shared/pending-proposals.js +2 -2
- package/dist/shared/pending-proposals.js.map +1 -1
- package/dist/tenancy/static-tenant-source.js +1 -1
- package/dist/tenancy/static-tenant-source.js.map +1 -1
- package/migrations/0012_agent_audit.sql +40 -40
- package/migrations/0013_agent_identity_and_key_soft_delete.sql +29 -29
- package/migrations/meta/0012_snapshot.json +2246 -2246
- package/migrations/meta/0013_snapshot.json +2258 -2258
- package/package.json +4 -4
- package/src/__tests__/account-admin.ts +27 -0
- package/src/__tests__/hexis-catalog.ts +4 -4
- package/src/__tests__/kb-context.ts +30 -30
- package/src/__tests__/kb-layout-config.test.ts +21 -0
- package/src/__tests__/open-change-gate.ts +1 -1
- package/src/__tests__/tool-handler.ts +15 -0
- package/src/__tests__/tool-wiring.ts +10 -4
- package/src/__tests__/workspace-service.ts +1 -1
- package/src/core/__tests__/catalog-cache-invalidation.test.ts +3 -3
- package/src/core/__tests__/compose-embed.test.ts +1 -1
- package/src/core/__tests__/damaged-document.tools.test.ts +3 -3
- package/src/core/__tests__/erasure-slices-wired-once.test.ts +46 -0
- package/src/core/__tests__/gated-boot.test.ts +2 -2
- package/src/core/__tests__/lifecycle.test.ts +9 -9
- package/src/core/catalog-cache-invalidation.ts +2 -2
- package/src/core/compose-embed.ts +3 -3
- package/src/core/core-ports.ts +19 -4
- package/src/core/create-core-server.ts +39 -25
- package/src/core/create-core-services.ts +79 -63
- package/src/core/lifecycle.ts +9 -9
- package/src/core-config.ts +3 -3
- package/src/index.ts +5 -5
- package/src/modules/access/__tests__/access-control.admin-root-floor.test.ts +4 -4
- package/src/modules/access/__tests__/access-own-read-grant.test.ts +14 -14
- package/src/modules/access/__tests__/access-requests.routes.test.ts +20 -20
- package/src/modules/access/__tests__/access.routes.admins.test.ts +4 -4
- package/src/modules/access/__tests__/access.routes.batch.test.ts +4 -4
- package/src/modules/access/__tests__/access.routes.folder-governs.test.ts +6 -6
- package/src/modules/access/__tests__/access.routes.group-grant.test.ts +6 -6
- package/src/modules/access/__tests__/access.routes.overrides.test.ts +5 -5
- package/src/modules/access/__tests__/access.routes.proposal-branch.test.ts +6 -6
- package/src/modules/access/__tests__/access.routes.prospective.test.ts +3 -3
- package/src/modules/access/__tests__/access.routes.revoke.test.ts +6 -6
- package/src/modules/access/__tests__/access.routes.unknown-email.test.ts +6 -6
- package/src/modules/access/__tests__/admin-locked-commit.test.ts +6 -6
- package/src/modules/access/__tests__/admin-route-helpers.test.ts +5 -5
- package/src/modules/access/__tests__/groups-admin.service.test.ts +27 -27
- package/src/modules/access/__tests__/roles-admin.security.test.ts +14 -13
- package/src/modules/access/__tests__/roles-admin.service.test.ts +27 -27
- package/src/modules/access/__tests__/roles-capabilities.test.ts +19 -19
- package/src/modules/access/__tests__/roles.routes.test.ts +6 -6
- package/src/modules/access/__tests__/synced-groups-committer.test.ts +13 -13
- package/src/modules/access/__tests__/user-access-removal.service.test.ts +29 -29
- package/src/modules/access/access-control.service.ts +1 -1
- package/src/modules/access/access-declarations.ts +2 -2
- package/src/modules/access/access-mutation.service.ts +2 -2
- package/src/modules/access/access-requests.routes.ts +7 -7
- package/src/modules/access/access-requests.service.ts +13 -13
- package/src/modules/access/access.routes.ts +11 -11
- package/src/modules/access/admin-locked-commit.ts +11 -11
- package/src/modules/access/admin-route-helpers.ts +5 -5
- package/src/modules/access/change-read-gate.ts +1 -1
- package/src/modules/access/groups-admin.service.ts +7 -7
- package/src/modules/access/reference-scan.ts +1 -1
- package/src/modules/access/roles-admin.service.ts +9 -9
- package/src/modules/access/synced-groups-committer.ts +11 -11
- package/src/modules/access/user-access-removal.service.ts +7 -7
- package/src/modules/access-model/__tests__/access-grammar.test.ts +2 -2
- package/src/modules/access-model/access-errors.ts +4 -4
- package/src/modules/access-model/access-grammar.ts +4 -4
- package/src/modules/access-model/change-gate.ts +1 -1
- package/src/modules/access-model/roles-yaml-guard.ts +4 -4
- package/src/modules/agent-guide/__tests__/agent-guide.test.ts +19 -4
- package/src/modules/agent-guide/__tests__/agent-guide.tools.test.ts +1 -1
- package/src/modules/agent-guide/__tests__/guide-matches-code.test.ts +2 -2
- package/src/modules/agent-guide/agent-guide.ts +48 -22
- package/src/modules/agent-guide/guide-budget.ts +6 -2
- package/src/modules/agent-instructions/__tests__/agent-instructions.route.test.ts +4 -5
- package/src/modules/agent-instructions/__tests__/compose.test.ts +1 -1
- package/src/modules/agent-instructions/__tests__/shared-file-rules.test.ts +113 -7
- package/src/modules/agent-instructions/agent-instructions.routes.ts +12 -5
- package/src/modules/agent-instructions/compose.ts +24 -9
- package/src/modules/agent-instructions/shared-file-rules.ts +53 -11
- package/src/modules/agent-scope/__tests__/agent-surfaces.connect-as.test.ts +1 -1
- package/src/modules/audit/__tests__/agent-rest-audit.middleware.test.ts +113 -113
- package/src/modules/audit/__tests__/event-classifier.test.ts +121 -121
- package/src/modules/audit/event-classifier.ts +155 -155
- package/src/modules/auth/__tests__/account-deactivation.test.ts +1 -1
- package/src/modules/auth/__tests__/account-erasure.approval-gate.test.ts +4 -4
- package/src/modules/auth/__tests__/account-erasure.participants.test.ts +56 -0
- package/src/modules/auth/__tests__/account-switch-lock.pg.test.ts +2 -2
- package/src/modules/auth/__tests__/account-switch-lock.test.ts +2 -2
- package/src/modules/auth/__tests__/account.routes.test.ts +73 -11
- package/src/modules/auth/__tests__/auth.service.test.ts +1 -1
- package/src/modules/auth/account-erasure.service.ts +27 -9
- package/src/modules/auth/account-hooks.ts +34 -0
- package/src/modules/auth/account-switch-lock.ts +2 -2
- package/src/modules/auth/account.routes.ts +23 -5
- package/src/modules/auth/auth.service.ts +4 -4
- package/src/modules/auth/index.ts +1 -0
- package/src/modules/database/__tests__/advisory-lock.test.ts +169 -169
- package/src/modules/database/__tests__/migrations-unqualified.test.ts +32 -32
- package/src/modules/database/core-schema.ts +2 -2
- package/src/modules/diff/__tests__/diff.routes.read-gate.test.ts +2 -2
- package/src/modules/diff/__tests__/diff.routes.rejectPathsLocked.test.ts +12 -12
- package/src/modules/diff/diff.routes.ts +8 -8
- package/src/modules/embed/__tests__/embed.service.lock.test.ts +7 -7
- package/src/modules/embed/__tests__/embed.service.test.ts +42 -42
- package/src/modules/embed/__tests__/embed.tools.test.ts +1 -1
- package/src/modules/embed/embed.routes.ts +1 -1
- package/src/modules/embed/embed.service.ts +17 -17
- package/src/modules/kb-fs/__tests__/branch-name.test.ts +2 -2
- package/src/modules/kb-fs/__tests__/locking-filesystem.test.ts +260 -260
- package/src/modules/kb-fs/__tests__/move-with-edits.test.ts +34 -34
- package/src/modules/kb-fs/__tests__/repo-path.test.ts +8 -8
- package/src/modules/kb-fs/branch-name.ts +8 -8
- package/src/modules/kb-fs/file-change-notifier.ts +2 -2
- package/src/modules/kb-fs/locking-filesystem.ts +30 -30
- package/src/modules/kb-fs/repo-path.ts +5 -5
- package/src/modules/kb-fs/tmp-ref.ts +3 -3
- package/src/modules/kb-sync/__tests__/kb-sync.service.test.ts +36 -36
- package/src/modules/kb-sync/index.ts +1 -1
- package/src/modules/kb-sync/kb-sync.interface.ts +3 -3
- package/src/modules/kb-sync/kb-sync.service.ts +9 -9
- package/src/modules/marketplace/__tests__/github-facade.test.ts +1 -1
- package/src/modules/marketplace/__tests__/marketplace-git.test.ts +1 -1
- package/src/modules/mcp/__tests__/mcp-proxy-helpers.test.ts +4 -2
- package/src/modules/mcp/__tests__/mcp.e2e.test.ts +69 -8
- package/src/modules/mcp/__tests__/mcp.service.test.ts +91 -13
- package/src/modules/mcp/__tests__/read-only-hint.pg.test.ts +194 -0
- package/src/modules/mcp/mcp.service.ts +89 -28
- package/src/modules/onboarding/__tests__/starter-pack.service.test.ts +55 -55
- package/src/modules/onboarding/onboarding.contract.ts +1 -1
- package/src/modules/onboarding/onboarding.routes.ts +2 -2
- package/src/modules/onboarding/starter-pack.service.ts +6 -6
- package/src/modules/plugins/__tests__/bundle-dialect.e2e.test.ts +1 -1
- package/src/modules/plugins/__tests__/compile-marketplace.test.ts +1 -1
- package/src/modules/plugins/__tests__/join-request-jobs.service.test.ts +43 -43
- package/src/modules/plugins/__tests__/join-requests.service.test.ts +19 -19
- package/src/modules/plugins/__tests__/join-requests.settlement.test.ts +26 -26
- package/src/modules/plugins/__tests__/plugins.routes.test.ts +25 -25
- package/src/modules/plugins/join-request-jobs.service.ts +10 -10
- package/src/modules/plugins/join-requests.service.ts +4 -4
- package/src/modules/plugins/plugin-rename.service.ts +1 -1
- package/src/modules/plugins/plugins.routes.ts +9 -9
- package/src/modules/secrets-vault/__tests__/db-secrets-vault.managed.test.ts +773 -0
- package/src/modules/secrets-vault/__tests__/db-secrets-vault.oauth.test.ts +28 -1
- package/src/modules/secrets-vault/__tests__/managed-sign-in.route.test.ts +351 -0
- package/src/modules/secrets-vault/db-secrets-vault.service.ts +562 -95
- package/src/modules/secrets-vault/index.ts +7 -0
- package/src/modules/secrets-vault/managed-sign-in-erasure.ts +41 -0
- package/src/modules/secrets-vault/secrets-variable-loader.ts +134 -134
- package/src/modules/secrets-vault/secrets-vault.contract.ts +152 -0
- package/src/modules/secrets-vault/secrets-vault.routes.ts +157 -10
- package/src/modules/settings/__tests__/repository-source.test.ts +1 -1
- package/src/modules/settings/__tests__/setup.routes.layout-phase.test.ts +1 -1
- package/src/modules/settings/__tests__/setup.routes.managed-phase.test.ts +1 -1
- package/src/modules/settings/connection-check.ts +1 -1
- package/src/modules/settings/deployment-settings.service.ts +1 -1
- package/src/modules/settings/git-root-folders.ts +1 -1
- package/src/modules/settings/setup.routes.ts +1 -1
- package/src/modules/skills/__tests__/allowed-tools-warn.tools.test.ts +3 -3
- package/src/modules/skills/__tests__/branch-skills.tools.test.ts +1 -1
- package/src/modules/skills/__tests__/pending-skills.service.test.ts +8 -8
- package/src/modules/skills/__tests__/skill-access-requests.routes.test.ts +18 -18
- package/src/modules/skills/__tests__/skills.service.test.ts +3 -3
- package/src/modules/skills/pending-skills.service.ts +3 -3
- package/src/modules/skills/skill-access-requests.routes.ts +7 -7
- package/src/modules/tool-helpers/__tests__/agent-roles-write.test.ts +4 -4
- package/src/modules/tool-helpers/__tests__/branch-declaration.test.ts +3 -3
- package/src/modules/tool-helpers/__tests__/can-write.tools.test.ts +3 -3
- package/src/modules/tool-helpers/__tests__/phase4-tools.test.ts +4 -4
- package/src/modules/tool-helpers/__tests__/tools-surface.test.ts +3 -3
- package/src/modules/tool-helpers/__tests__/validate-token.test.ts +1 -1
- package/src/modules/tool-helpers/tool-context.ts +6 -6
- package/src/modules/tool-helpers/tool-handler.ts +2 -2
- package/src/modules/tool-helpers/tool.contract.ts +4 -4
- package/src/modules/tool-manuals/__tests__/pending-tools.service.test.ts +9 -9
- package/src/modules/tool-manuals/__tests__/tool-manuals.managed-sign-in.test.ts +89 -0
- package/src/modules/tool-manuals/__tests__/tool-manuals.restart.test.ts +1 -1
- package/src/modules/tool-manuals/__tests__/tool-manuals.tools.test.ts +36 -1
- package/src/modules/tool-manuals/mcp-server-edit.service.ts +1 -1
- package/src/modules/tool-manuals/pending-tools.service.ts +3 -3
- package/src/modules/tool-manuals/tool-delete.service.ts +1 -1
- package/src/modules/tool-manuals/tool-manuals.contract.ts +41 -3
- package/src/modules/tool-manuals/tool-manuals.service.ts +53 -5
- package/src/modules/tool-manuals/tool-manuals.tools.ts +41 -15
- package/src/modules/tool-registry/__tests__/own-tool-schemas.test.ts +4 -4
- package/src/modules/tool-registry/__tests__/read-only-hints.test.ts +3 -3
- package/src/modules/tool-registry/__tests__/tool-description-length.test.ts +6 -6
- package/src/modules/{workflow → version-control}/__tests__/apply-failure.test.ts +54 -54
- package/src/modules/{workflow → version-control}/__tests__/event-bus.test.ts +27 -27
- package/src/modules/{workflow → version-control}/__tests__/events-delivery.test.ts +37 -37
- package/src/modules/{workflow → version-control}/__tests__/file-lock.service.deletion-gate.test.ts +2 -2
- package/src/modules/{workflow → version-control}/__tests__/file-lock.service.path-identity.test.ts +8 -8
- package/src/modules/{workflow → version-control}/__tests__/merge-announces-tree.test.ts +11 -11
- package/src/modules/{workflow → version-control}/__tests__/pending-commits.worker.concurrency.test.ts +9 -9
- package/src/modules/{workflow → version-control}/__tests__/pending-commits.worker.test.ts +25 -25
- package/src/modules/{workflow → version-control}/__tests__/preserve-roles-yaml.test.ts +42 -42
- package/src/modules/version-control/__tests__/public-surface.test.ts +114 -0
- package/src/modules/{workflow/__tests__/workflow.routes.folder-proposals.test.ts → version-control/__tests__/version-control.routes.folder-proposals.test.ts} +18 -18
- package/src/modules/{workflow/__tests__/workflow.routes.fork-point-file.test.ts → version-control/__tests__/version-control.routes.fork-point-file.test.ts} +19 -19
- package/src/modules/{workflow/__tests__/workflow.routes.history-read-gate.test.ts → version-control/__tests__/version-control.routes.history-read-gate.test.ts} +13 -13
- package/src/modules/{workflow/__tests__/workflow.routes.lock-path.test.ts → version-control/__tests__/version-control.routes.lock-path.test.ts} +18 -18
- package/src/modules/{workflow/__tests__/workflow.routes.open-change-request.test.ts → version-control/__tests__/version-control.routes.open-change-request.test.ts} +7 -7
- package/src/modules/{workflow/__tests__/workflow.routes.push-refused.test.ts → version-control/__tests__/version-control.routes.push-refused.test.ts} +14 -14
- package/src/modules/{workflow/__tests__/workflow.service.branch-in-use.test.ts → version-control/__tests__/version-control.service.branch-in-use.test.ts} +6 -6
- package/src/modules/{workflow/__tests__/workflow.service.commitFileWhileLocked.test.ts → version-control/__tests__/version-control.service.commitFileWhileLocked.test.ts} +14 -14
- package/src/modules/{workflow/__tests__/workflow.service.delete-branch.test.ts → version-control/__tests__/version-control.service.delete-branch.test.ts} +14 -14
- package/src/modules/{workflow/__tests__/workflow.service.deleted-branch-sweep.test.ts → version-control/__tests__/version-control.service.deleted-branch-sweep.test.ts} +4 -4
- package/src/modules/{workflow/__tests__/workflow.service.facade.test.ts → version-control/__tests__/version-control.service.facade.test.ts} +97 -99
- package/src/modules/{workflow/__tests__/workflow.service.folder-proposals.test.ts → version-control/__tests__/version-control.service.folder-proposals.test.ts} +7 -7
- package/src/modules/{workflow/__tests__/workflow.service.platform-restore.test.ts → version-control/__tests__/version-control.service.platform-restore.test.ts} +6 -6
- package/src/modules/{workflow/__tests__/workflow.service.read-gate.test.ts → version-control/__tests__/version-control.service.read-gate.test.ts} +9 -9
- package/src/modules/{workflow/__tests__/workflow.service.releaseLock.test.ts → version-control/__tests__/version-control.service.releaseLock.test.ts} +42 -42
- package/src/modules/{workflow/__tests__/workflow.service.repository-replaced.test.ts → version-control/__tests__/version-control.service.repository-replaced.test.ts} +4 -4
- package/src/modules/{workflow/__tests__/workflow.service.sync.test.ts → version-control/__tests__/version-control.service.sync.test.ts} +17 -17
- package/src/modules/{workflow/__tests__/workflow.service.update-change-request.pg.test.ts → version-control/__tests__/version-control.service.update-change-request.pg.test.ts} +6 -6
- package/src/modules/{workflow/__tests__/workflow.service.update-change-request.test.ts → version-control/__tests__/version-control.service.update-change-request.test.ts} +11 -11
- package/src/modules/{workflow/__tests__/workflow.service.update-from-target.test.ts → version-control/__tests__/version-control.service.update-from-target.test.ts} +22 -22
- package/src/modules/{workflow → version-control}/agent-tools/__tests__/change-request-read.tools.test.ts +3 -3
- package/src/modules/{workflow → version-control}/agent-tools/__tests__/update-change-request.parity.test.ts +16 -16
- package/src/modules/{workflow/agent-tools/__tests__/workflow.tools.test.ts → version-control/agent-tools/__tests__/version-control.tools.test.ts} +9 -9
- package/src/modules/{workflow → version-control}/agent-tools/change-request-read.tools.ts +2 -2
- package/src/modules/{workflow/agent-tools/workflow.tools.ts → version-control/agent-tools/version-control.tools.ts} +30 -30
- package/src/modules/{workflow → version-control}/change-request-hooks.ts +1 -1
- package/src/modules/{workflow/review-workflow → version-control/change-request-review}/__tests__/approval-states.test.ts +5 -5
- package/src/modules/{workflow/review-workflow → version-control/change-request-review}/__tests__/cancel-pr.test.ts +8 -8
- package/src/modules/{workflow/review-workflow → version-control/change-request-review}/__tests__/carry-approvals-forward.test.ts +6 -6
- package/src/modules/{workflow/review-workflow → version-control/change-request-review}/__tests__/erase-approver.test.ts +5 -5
- package/src/modules/{workflow/review-workflow → version-control/change-request-review}/__tests__/merge-gate.test.ts +3 -3
- package/src/modules/{workflow/review-workflow → version-control/change-request-review}/__tests__/merge-records-own-commit.test.ts +3 -3
- package/src/modules/{workflow/review-workflow/review-workflow.interface.ts → version-control/change-request-review/change-request-review.interface.ts} +1 -1
- package/src/modules/{workflow/review-workflow/review-workflow.service.ts → version-control/change-request-review/change-request-review.service.ts} +28 -28
- package/src/modules/{workflow → version-control}/event-bus.ts +14 -14
- package/src/modules/{workflow → version-control}/events-delivery.ts +11 -11
- package/src/modules/{workflow → version-control}/events.routes.ts +5 -5
- package/src/modules/{workflow → version-control}/file-lock.service.ts +6 -6
- package/src/modules/{workflow → version-control}/git/__tests__/git-test-helpers.ts +3 -3
- package/src/modules/{workflow → version-control}/git/__tests__/git.service.accessGating.test.ts +5 -5
- package/src/modules/{workflow → version-control}/git/__tests__/git.service.appliedChange.test.ts +4 -4
- package/src/modules/{workflow → version-control}/git/__tests__/git.service.changedFilesForPr.test.ts +16 -16
- package/src/modules/{workflow → version-control}/git/__tests__/git.service.changedPathsMemo.test.ts +2 -2
- package/src/modules/{workflow → version-control}/git/__tests__/git.service.commitChanges.test.ts +3 -3
- package/src/modules/{workflow → version-control}/git/__tests__/git.service.commitFile.strayPath.test.ts +10 -10
- package/src/modules/{workflow → version-control}/git/__tests__/git.service.commitFile.test.ts +3 -3
- package/src/modules/{workflow → version-control}/git/__tests__/git.service.createBranch.test.ts +3 -3
- package/src/modules/{workflow → version-control}/git/__tests__/git.service.deleteBranch.test.ts +7 -7
- package/src/modules/{workflow → version-control}/git/__tests__/git.service.diffFileAtCommit.test.ts +9 -9
- package/src/modules/{workflow → version-control}/git/__tests__/git.service.diffFileBetweenBranches.test.ts +23 -23
- package/src/modules/{workflow → version-control}/git/__tests__/git.service.fileBytesAtCommit.test.ts +7 -7
- package/src/modules/{workflow → version-control}/git/__tests__/git.service.fileContentsAtCommit.test.ts +3 -3
- package/src/modules/{workflow → version-control}/git/__tests__/git.service.forkPoint.test.ts +2 -2
- package/src/modules/{workflow → version-control}/git/__tests__/git.service.history-guards.test.ts +2 -2
- package/src/modules/{workflow → version-control}/git/__tests__/git.service.list-branches.test.ts +12 -12
- package/src/modules/{workflow → version-control}/git/__tests__/git.service.listTrackedFiles.test.ts +2 -2
- package/src/modules/{workflow → version-control}/git/__tests__/git.service.logForFile.test.ts +6 -6
- package/src/modules/{workflow → version-control}/git/__tests__/git.service.mergeChangeRequest.test.ts +20 -20
- package/src/modules/{workflow → version-control}/git/__tests__/git.service.mergeIntoBranch.test.ts +16 -16
- package/src/modules/{workflow → version-control}/git/__tests__/git.service.pendingChanges.test.ts +2 -2
- package/src/modules/{workflow → version-control}/git/__tests__/git.service.postMergePull.test.ts +5 -5
- package/src/modules/{workflow → version-control}/git/__tests__/git.service.prFetchFailure.test.ts +2 -2
- package/src/modules/{workflow → version-control}/git/__tests__/git.service.pull.test.ts +12 -12
- package/src/modules/{workflow → version-control}/git/__tests__/git.service.readFileAtRef.test.ts +3 -3
- package/src/modules/{workflow → version-control}/git/__tests__/git.service.revertPathsAndPush.test.ts +2 -2
- package/src/modules/{workflow → version-control}/git/__tests__/git.service.status.test.ts +4 -4
- package/src/modules/{workflow → version-control}/git/__tests__/git.service.syncFromRemote.test.ts +8 -8
- package/src/modules/{workflow → version-control}/git/__tests__/git.service.worktrees.test.ts +4 -4
- package/src/modules/{workflow → version-control}/git/__tests__/pull-request.service.list-fetch.test.ts +2 -2
- package/src/modules/{workflow → version-control}/git/__tests__/pull-request.service.test.ts +6 -6
- package/src/modules/{workflow → version-control}/git/git.service.ts +57 -57
- package/src/modules/{workflow → version-control}/git/node-git-runner.ts +1 -1
- package/src/modules/{workflow → version-control}/git/pull-request.service.ts +12 -12
- package/src/modules/{workflow → version-control}/index.ts +6 -5
- package/src/modules/{workflow → version-control}/pending-commits.service.ts +2 -2
- package/src/modules/{workflow → version-control}/pending-commits.worker.ts +8 -8
- package/src/modules/{workflow → version-control}/read-on-branch.ts +2 -2
- package/src/modules/{workflow/workflow-hooks.ts → version-control/version-control-hooks.ts} +3 -3
- package/src/modules/{workflow/workflow.routes.ts → version-control/version-control.routes.ts} +64 -63
- package/src/modules/{workflow/workflow.service.ts → version-control/version-control.service.ts} +92 -97
- package/src/modules/workspace/__tests__/agent-access.gate.test.ts +8 -8
- package/src/modules/workspace/__tests__/agent-downloads.test.ts +13 -16
- package/src/modules/workspace/__tests__/agent-uploads.test.ts +11 -12
- package/src/modules/workspace/__tests__/escape-sequences.routes.test.ts +11 -16
- package/src/modules/workspace/__tests__/file-stat-access.test.ts +3 -3
- package/src/modules/workspace/__tests__/git-internals.security.test.ts +27 -27
- package/src/modules/workspace/__tests__/kb-repository.test.ts +1 -1
- package/src/modules/workspace/__tests__/rest-tool-arguments.test.ts +3 -3
- package/src/modules/workspace/__tests__/start-session.default-branch.test.ts +152 -0
- package/src/modules/workspace/__tests__/workspace-paths-inside-the-repo.test.ts +6 -6
- package/src/modules/workspace/__tests__/workspace-tmp.tools.test.ts +13 -14
- package/src/modules/workspace/__tests__/workspace.routes.at-ref.test.ts +6 -6
- package/src/modules/workspace/__tests__/workspace.routes.branch-errors.test.ts +4 -4
- package/src/modules/workspace/__tests__/workspace.routes.create-grant.test.ts +6 -6
- package/src/modules/workspace/__tests__/workspace.routes.delete.test.ts +8 -8
- package/src/modules/workspace/__tests__/workspace.routes.download-implies-read.test.ts +4 -4
- package/src/modules/workspace/__tests__/workspace.routes.download.test.ts +6 -6
- package/src/modules/workspace/__tests__/workspace.routes.file-writes.test.ts +6 -6
- package/src/modules/workspace/__tests__/workspace.routes.folder-zip-access.test.ts +4 -4
- package/src/modules/workspace/__tests__/workspace.routes.folders.test.ts +6 -6
- package/src/modules/workspace/__tests__/workspace.routes.move-platform-files.test.ts +7 -7
- package/src/modules/workspace/__tests__/workspace.routes.read-gate.test.ts +13 -13
- package/src/modules/workspace/__tests__/workspace.service.any-workspace-credentials.test.ts +1 -1
- package/src/modules/workspace/__tests__/workspace.service.replaced-repository.test.ts +1 -1
- package/src/modules/workspace/__tests__/workspace.service.worktrees.test.ts +1 -1
- package/src/modules/workspace/__tests__/workspace.tools.agents-file.test.ts +5 -5
- package/src/modules/workspace/__tests__/workspace.tools.branch-errors.test.ts +5 -5
- package/src/modules/workspace/__tests__/workspace.tools.test.ts +27 -27
- package/src/modules/workspace/agent-access.gate.ts +5 -5
- package/src/modules/workspace/git-internals.middleware.ts +2 -2
- package/src/modules/workspace/kb-repository.ts +1 -1
- package/src/modules/workspace/startup/__tests__/kb-startup-runner.degraded.test.ts +1 -1
- package/src/modules/workspace/startup/__tests__/kb-startup-runner.test.ts +1 -1
- package/src/modules/workspace/startup/__tests__/kb-startup-runner.worktrees.test.ts +1 -1
- package/src/modules/workspace/startup/kb-git.ts +1 -1
- package/src/modules/workspace/startup/steps/__tests__/steps.test.ts +94 -70
- package/src/modules/workspace/startup/steps/seed-tree.ts +4 -5
- package/src/modules/workspace/startup/steps/template-files.step.ts +4 -5
- package/src/modules/workspace/startup/steps/template-source.ts +21 -6
- package/src/modules/workspace/workspace-tmp.ts +4 -4
- package/src/modules/workspace/workspace.routes.ts +26 -26
- package/src/modules/workspace/workspace.service.ts +11 -11
- package/src/modules/workspace/workspace.tools.ts +17 -10
- package/src/shared/__tests__/canonical-file-identity.test.ts +5 -5
- package/src/shared/__tests__/http-errors.test.ts +4 -4
- package/src/shared/canonical-file-identity.ts +5 -5
- package/src/shared/domain-errors.ts +44 -44
- package/src/shared/git.contract.ts +1 -1
- package/src/shared/http-errors.ts +3 -3
- package/src/shared/kb-context.ts +130 -130
- package/src/shared/pending-proposals.ts +4 -4
- package/src/tenancy/__tests__/tenant-host.test.ts +372 -372
- package/src/tenancy/__tests__/tenant-runtime.test.ts +221 -221
- package/src/tenancy/__tests__/tenant-secrets.test.ts +35 -35
- package/src/tenancy/index.ts +35 -35
- package/src/tenancy/static-tenant-source.ts +1 -1
- package/src/tenancy/tenant-host.ts +261 -261
- package/src/tenancy/tenant-runtime.ts +208 -208
- package/src/tenancy/tenant-source.contract.ts +59 -59
- package/dist/modules/workflow/agent-tools/change-request-read-shape.d.ts.map +0 -1
- package/dist/modules/workflow/agent-tools/change-request-read-shape.js.map +0 -1
- package/dist/modules/workflow/agent-tools/change-request-read.tools.d.ts.map +0 -1
- package/dist/modules/workflow/agent-tools/change-request-read.tools.js.map +0 -1
- package/dist/modules/workflow/agent-tools/change-request-summary.d.ts.map +0 -1
- package/dist/modules/workflow/agent-tools/change-request-summary.js.map +0 -1
- package/dist/modules/workflow/agent-tools/workflow.tools.d.ts.map +0 -1
- package/dist/modules/workflow/agent-tools/workflow.tools.js.map +0 -1
- package/dist/modules/workflow/change-request-hooks.d.ts.map +0 -1
- package/dist/modules/workflow/change-request-hooks.js.map +0 -1
- package/dist/modules/workflow/event-bus.d.ts.map +0 -1
- package/dist/modules/workflow/event-bus.js.map +0 -1
- package/dist/modules/workflow/events-delivery.d.ts.map +0 -1
- package/dist/modules/workflow/events-delivery.js.map +0 -1
- package/dist/modules/workflow/events.routes.d.ts.map +0 -1
- package/dist/modules/workflow/events.routes.js.map +0 -1
- package/dist/modules/workflow/file-lock.service.d.ts.map +0 -1
- package/dist/modules/workflow/file-lock.service.js.map +0 -1
- package/dist/modules/workflow/git/change-request-link.d.ts.map +0 -1
- package/dist/modules/workflow/git/change-request-link.js.map +0 -1
- package/dist/modules/workflow/git/git-version.d.ts.map +0 -1
- package/dist/modules/workflow/git/git-version.js.map +0 -1
- package/dist/modules/workflow/git/git.service.d.ts.map +0 -1
- package/dist/modules/workflow/git/git.service.js.map +0 -1
- package/dist/modules/workflow/git/merge-commit.d.ts.map +0 -1
- package/dist/modules/workflow/git/merge-commit.js.map +0 -1
- package/dist/modules/workflow/git/node-git-runner.d.ts.map +0 -1
- package/dist/modules/workflow/git/node-git-runner.js.map +0 -1
- package/dist/modules/workflow/git/pull-request.service.d.ts.map +0 -1
- package/dist/modules/workflow/git/pull-request.service.js.map +0 -1
- package/dist/modules/workflow/index.d.ts.map +0 -1
- package/dist/modules/workflow/index.js.map +0 -1
- package/dist/modules/workflow/pending-commits.service.d.ts.map +0 -1
- package/dist/modules/workflow/pending-commits.service.js.map +0 -1
- package/dist/modules/workflow/pending-commits.worker.d.ts.map +0 -1
- package/dist/modules/workflow/pending-commits.worker.js.map +0 -1
- package/dist/modules/workflow/read-on-branch.d.ts.map +0 -1
- package/dist/modules/workflow/read-on-branch.js.map +0 -1
- package/dist/modules/workflow/recovery-bot.d.ts.map +0 -1
- package/dist/modules/workflow/recovery-bot.js.map +0 -1
- package/dist/modules/workflow/review-workflow/approval-lock.d.ts.map +0 -1
- package/dist/modules/workflow/review-workflow/approval-lock.js.map +0 -1
- package/dist/modules/workflow/review-workflow/review-workflow.interface.d.ts.map +0 -1
- package/dist/modules/workflow/review-workflow/review-workflow.interface.js +0 -2
- package/dist/modules/workflow/review-workflow/review-workflow.interface.js.map +0 -1
- package/dist/modules/workflow/review-workflow/review-workflow.service.d.ts.map +0 -1
- package/dist/modules/workflow/review-workflow/review-workflow.service.js.map +0 -1
- package/dist/modules/workflow/sanitize-error.d.ts.map +0 -1
- package/dist/modules/workflow/sanitize-error.js.map +0 -1
- package/dist/modules/workflow/workflow-hooks.d.ts.map +0 -1
- package/dist/modules/workflow/workflow-hooks.js.map +0 -1
- package/dist/modules/workflow/workflow.routes.d.ts.map +0 -1
- package/dist/modules/workflow/workflow.routes.js.map +0 -1
- package/dist/modules/workflow/workflow.service.d.ts.map +0 -1
- package/dist/modules/workflow/workflow.service.js.map +0 -1
- package/src/modules/mcp/__tests__/read-only-hint.e2e.test.ts +0 -213
- /package/dist/modules/{workflow → version-control}/agent-tools/change-request-read-shape.d.ts +0 -0
- /package/dist/modules/{workflow → version-control}/agent-tools/change-request-read-shape.js +0 -0
- /package/dist/modules/{workflow → version-control}/agent-tools/change-request-read.tools.d.ts +0 -0
- /package/dist/modules/{workflow → version-control}/agent-tools/change-request-summary.d.ts +0 -0
- /package/dist/modules/{workflow → version-control}/agent-tools/change-request-summary.js +0 -0
- /package/dist/modules/{workflow → version-control}/change-request-hooks.js +0 -0
- /package/dist/modules/{workflow/review-workflow → version-control/change-request-review}/approval-lock.d.ts +0 -0
- /package/dist/modules/{workflow/review-workflow → version-control/change-request-review}/approval-lock.js +0 -0
- /package/dist/modules/{workflow → version-control}/events-delivery.js +0 -0
- /package/dist/modules/{workflow → version-control}/events.routes.js +0 -0
- /package/dist/modules/{workflow → version-control}/git/change-request-link.d.ts +0 -0
- /package/dist/modules/{workflow → version-control}/git/change-request-link.js +0 -0
- /package/dist/modules/{workflow → version-control}/git/git-version.d.ts +0 -0
- /package/dist/modules/{workflow → version-control}/git/git-version.js +0 -0
- /package/dist/modules/{workflow → version-control}/git/merge-commit.d.ts +0 -0
- /package/dist/modules/{workflow → version-control}/git/merge-commit.js +0 -0
- /package/dist/modules/{workflow → version-control}/git/node-git-runner.d.ts +0 -0
- /package/dist/modules/{workflow → version-control}/recovery-bot.d.ts +0 -0
- /package/dist/modules/{workflow → version-control}/recovery-bot.js +0 -0
- /package/dist/modules/{workflow → version-control}/sanitize-error.d.ts +0 -0
- /package/dist/modules/{workflow → version-control}/sanitize-error.js +0 -0
- /package/src/modules/{workflow → version-control}/__tests__/change-request-hooks.test.ts +0 -0
- /package/src/modules/{workflow → version-control}/__tests__/fake-file-lock-db.ts +0 -0
- /package/src/modules/{workflow → version-control}/__tests__/pending-commits.canonical.test.ts +0 -0
- /package/src/modules/{workflow → version-control}/__tests__/pending-commits.enqueue-if-absent.test.ts +0 -0
- /package/src/modules/{workflow → version-control}/__tests__/pending-commits.repository-replaced.test.ts +0 -0
- /package/src/modules/{workflow → version-control}/__tests__/sanitize-error.test.ts +0 -0
- /package/src/modules/{workflow → version-control}/agent-tools/__tests__/change-request-read-shape.test.ts +0 -0
- /package/src/modules/{workflow → version-control}/agent-tools/change-request-read-shape.ts +0 -0
- /package/src/modules/{workflow → version-control}/agent-tools/change-request-summary.ts +0 -0
- /package/src/modules/{workflow/review-workflow → version-control/change-request-review}/approval-lock.ts +0 -0
- /package/src/modules/{workflow → version-control}/git/__tests__/branchAuthor.test.ts +0 -0
- /package/src/modules/{workflow → version-control}/git/__tests__/change-request-link.test.ts +0 -0
- /package/src/modules/{workflow → version-control}/git/__tests__/git-version.failure.test.ts +0 -0
- /package/src/modules/{workflow → version-control}/git/__tests__/git-version.test.ts +0 -0
- /package/src/modules/{workflow → version-control}/git/__tests__/node-git-runner.test.ts +0 -0
- /package/src/modules/{workflow → version-control}/git/__tests__/pull-request.service.getPrDetail.test.ts +0 -0
- /package/src/modules/{workflow → version-control}/git/__tests__/pull-request.service.placeholder.test.ts +0 -0
- /package/src/modules/{workflow → version-control}/git/__tests__/pull-request.service.viewer-can-cancel.test.ts +0 -0
- /package/src/modules/{workflow → version-control}/git/__tests__/pull-request.service.viewer-can-delete.test.ts +0 -0
- /package/src/modules/{workflow → version-control}/git/__tests__/pull-request.service.viewer-can-update.test.ts +0 -0
- /package/src/modules/{workflow → version-control}/git/change-request-link.ts +0 -0
- /package/src/modules/{workflow → version-control}/git/git-version.ts +0 -0
- /package/src/modules/{workflow → version-control}/git/merge-commit.ts +0 -0
- /package/src/modules/{workflow → version-control}/recovery-bot.ts +0 -0
- /package/src/modules/{workflow → version-control}/sanitize-error.ts +0 -0
package/src/modules/{workflow → version-control}/git/__tests__/git.service.logForFile.test.ts
RENAMED
|
@@ -6,7 +6,7 @@ import fs from 'node:fs/promises';
|
|
|
6
6
|
import path from 'node:path';
|
|
7
7
|
import os from 'node:os';
|
|
8
8
|
import type { WorkspaceService } from '../../../workspace/workspace.service.js';
|
|
9
|
-
import {
|
|
9
|
+
import { VersionControlHooks } from '../../version-control-hooks.js';
|
|
10
10
|
import { GitService } from '../git.service.js';
|
|
11
11
|
|
|
12
12
|
const execFileAsync = promisify(execFile);
|
|
@@ -120,7 +120,7 @@ describe('GitService.logForFile', () => {
|
|
|
120
120
|
const { workspaceDir, repo } = await seedWorkspace(root, workspaceId);
|
|
121
121
|
const svc = new GitService(
|
|
122
122
|
stubWorkspaceService(workspaceId, workspaceDir),
|
|
123
|
-
new
|
|
123
|
+
new VersionControlHooks(),
|
|
124
124
|
testKbContext(),
|
|
125
125
|
);
|
|
126
126
|
|
|
@@ -140,7 +140,7 @@ describe('GitService.logForFile', () => {
|
|
|
140
140
|
const { workspaceDir, repo } = await seedWorkspace(root, workspaceId);
|
|
141
141
|
const svc = new GitService(
|
|
142
142
|
stubWorkspaceService(workspaceId, workspaceDir),
|
|
143
|
-
new
|
|
143
|
+
new VersionControlHooks(),
|
|
144
144
|
testKbContext(),
|
|
145
145
|
);
|
|
146
146
|
|
|
@@ -159,7 +159,7 @@ describe('GitService.logForFile', () => {
|
|
|
159
159
|
const { workspaceDir, repo } = await seedWorkspace(root, workspaceId);
|
|
160
160
|
const svc = new GitService(
|
|
161
161
|
stubWorkspaceService(workspaceId, workspaceDir),
|
|
162
|
-
new
|
|
162
|
+
new VersionControlHooks(),
|
|
163
163
|
testKbContext(),
|
|
164
164
|
);
|
|
165
165
|
|
|
@@ -174,7 +174,7 @@ describe('GitService.logForFile', () => {
|
|
|
174
174
|
const { workspaceDir, repo } = await seedWorkspace(root, workspaceId);
|
|
175
175
|
const svc = new GitService(
|
|
176
176
|
stubWorkspaceService(workspaceId, workspaceDir),
|
|
177
|
-
new
|
|
177
|
+
new VersionControlHooks(),
|
|
178
178
|
testKbContext(),
|
|
179
179
|
);
|
|
180
180
|
|
|
@@ -206,7 +206,7 @@ describe('GitService.logForFile', () => {
|
|
|
206
206
|
const { workspaceDir, repo } = await seedWorkspace(root, workspaceId);
|
|
207
207
|
const svc = new GitService(
|
|
208
208
|
stubWorkspaceService(workspaceId, workspaceDir),
|
|
209
|
-
new
|
|
209
|
+
new VersionControlHooks(),
|
|
210
210
|
testKbContext(),
|
|
211
211
|
);
|
|
212
212
|
await runGit(repo, ['commit', '--allow-empty', '-m', 'init']);
|
|
@@ -7,7 +7,7 @@ import path from 'node:path';
|
|
|
7
7
|
import os from 'node:os';
|
|
8
8
|
import type { AuthUser } from '@bevel-software/platform-shared';
|
|
9
9
|
import type { WorkspaceService } from '../../../workspace/workspace.service.js';
|
|
10
|
-
import {
|
|
10
|
+
import { VersionControlHooks } from '../../version-control-hooks.js';
|
|
11
11
|
import { GitService } from '../git.service.js';
|
|
12
12
|
import { mergeCommitSubject } from '../merge-commit.js';
|
|
13
13
|
|
|
@@ -96,7 +96,7 @@ describe('GitService.mergeChangeRequest', () => {
|
|
|
96
96
|
await fs.writeFile(path.join(dir, 'feature.md'), 'new content\n');
|
|
97
97
|
});
|
|
98
98
|
|
|
99
|
-
const git = new GitService(stubWorkspaceService(baseWsId, baseRepo), new
|
|
99
|
+
const git = new GitService(stubWorkspaceService(baseWsId, baseRepo), new VersionControlHooks(), testKbContext());
|
|
100
100
|
const result = await git.mergeChangeRequest(
|
|
101
101
|
baseWsId, 'alice/add', BASE, { subject: 'Add feature (#1)', body: 'Merged via Bevel' }, USER,
|
|
102
102
|
);
|
|
@@ -134,7 +134,7 @@ describe('GitService.mergeChangeRequest', () => {
|
|
|
134
134
|
await pushFeatureBranch(root, upstream, 'bob/first', async (dir) => {
|
|
135
135
|
await fs.writeFile(path.join(dir, 'first.md'), 'first\n');
|
|
136
136
|
});
|
|
137
|
-
const git = new GitService(stubWorkspaceService(baseWsId, baseRepo), new
|
|
137
|
+
const git = new GitService(stubWorkspaceService(baseWsId, baseRepo), new VersionControlHooks(), testKbContext());
|
|
138
138
|
const first = await git.mergeChangeRequest(
|
|
139
139
|
baseWsId, 'bob/first', BASE, { subject: mergeCommitSubject('First', 1), body: 'x' }, USER,
|
|
140
140
|
{ appliedChangeNumber: 1 },
|
|
@@ -181,7 +181,7 @@ describe('GitService.mergeChangeRequest', () => {
|
|
|
181
181
|
await fs.writeFile(path.join(dir, 'feature.md'), 'new content\n');
|
|
182
182
|
});
|
|
183
183
|
|
|
184
|
-
const git = new GitService(stubWorkspaceService(baseWsId, baseRepo), new
|
|
184
|
+
const git = new GitService(stubWorkspaceService(baseWsId, baseRepo), new VersionControlHooks(), testKbContext());
|
|
185
185
|
const merge = () =>
|
|
186
186
|
git.mergeChangeRequest(
|
|
187
187
|
baseWsId, 'alice/add', BASE,
|
|
@@ -225,7 +225,7 @@ describe('GitService.mergeChangeRequest', () => {
|
|
|
225
225
|
await fs.mkdir(path.join(root, staleWsId), { recursive: true });
|
|
226
226
|
await runGit(root, ['clone', '-b', BASE, upstream, staleRepo]);
|
|
227
227
|
|
|
228
|
-
const git = new GitService(stubWorkspaceService(baseWsId, baseRepo), new
|
|
228
|
+
const git = new GitService(stubWorkspaceService(baseWsId, baseRepo), new VersionControlHooks(), testKbContext());
|
|
229
229
|
const merged = await git.mergeChangeRequest(
|
|
230
230
|
baseWsId, 'alice/add', BASE,
|
|
231
231
|
{ subject: mergeCommitSubject('Add feature', 7), body: 'Merged via Bevel' }, USER,
|
|
@@ -237,7 +237,7 @@ describe('GitService.mergeChangeRequest', () => {
|
|
|
237
237
|
// Retired, as applying a change request retires it.
|
|
238
238
|
await runGit(root, ['-C', upstream, 'branch', '-D', 'alice/add']);
|
|
239
239
|
|
|
240
|
-
const stale = new GitService(stubWorkspaceService(staleWsId, staleRepo), new
|
|
240
|
+
const stale = new GitService(stubWorkspaceService(staleWsId, staleRepo), new VersionControlHooks(), testKbContext());
|
|
241
241
|
expect(await stale.appliedMergeCommitOnTarget(staleWsId, BASE, 7)).toBe(merged.mergeCommit);
|
|
242
242
|
// A number nothing on the target was merged under owns nothing.
|
|
243
243
|
expect(await stale.appliedMergeCommitOnTarget(staleWsId, BASE, 8)).toBeNull();
|
|
@@ -248,7 +248,7 @@ describe('GitService.mergeChangeRequest', () => {
|
|
|
248
248
|
await pushFeatureBranch(root, upstream, 'alice/add', async (dir) => {
|
|
249
249
|
await fs.writeFile(path.join(dir, 'feature.md'), 'new content\n');
|
|
250
250
|
});
|
|
251
|
-
const git = new GitService(stubWorkspaceService(baseWsId, baseRepo), new
|
|
251
|
+
const git = new GitService(stubWorkspaceService(baseWsId, baseRepo), new VersionControlHooks(), testKbContext());
|
|
252
252
|
const merged = await git.mergeChangeRequest(
|
|
253
253
|
baseWsId, 'alice/add', BASE,
|
|
254
254
|
{ subject: mergeCommitSubject('Add feature', 7), body: 'Merged via Bevel' }, USER,
|
|
@@ -293,7 +293,7 @@ describe('GitService.mergeChangeRequest', () => {
|
|
|
293
293
|
const sha = (await gitOut(old, ['rev-parse', 'HEAD'])).trim();
|
|
294
294
|
expect((await gitOut(old, ['log', '-1', '--format=%s'])).trim()).toBe('Add feature');
|
|
295
295
|
|
|
296
|
-
const git = new GitService(stubWorkspaceService(baseWsId, baseRepo), new
|
|
296
|
+
const git = new GitService(stubWorkspaceService(baseWsId, baseRepo), new VersionControlHooks(), testKbContext());
|
|
297
297
|
// With the title: the commit is the request's own, on the target and by sha.
|
|
298
298
|
expect(await git.appliedMergeCommitOnTarget(baseWsId, BASE, 5, title)).toBe(sha);
|
|
299
299
|
expect(await git.appliedChangeShas(baseWsId, { number: 5, mergeSha: sha, title }))
|
|
@@ -313,7 +313,7 @@ describe('GitService.mergeChangeRequest', () => {
|
|
|
313
313
|
await pushFeatureBranch(root, upstream, 'alice/add', async (dir) => {
|
|
314
314
|
await fs.writeFile(path.join(dir, 'feature.md'), 'new content\n');
|
|
315
315
|
});
|
|
316
|
-
const git = new GitService(stubWorkspaceService(baseWsId, baseRepo), new
|
|
316
|
+
const git = new GitService(stubWorkspaceService(baseWsId, baseRepo), new VersionControlHooks(), testKbContext());
|
|
317
317
|
const merged = await git.mergeChangeRequest(
|
|
318
318
|
baseWsId, 'alice/add', BASE,
|
|
319
319
|
{ subject: mergeCommitSubject('Fix crash (#42)', 43), body: 'x' }, USER,
|
|
@@ -342,7 +342,7 @@ describe('GitService.mergeChangeRequest', () => {
|
|
|
342
342
|
await fs.writeFile(path.join(dir, 'feature.md'), 'new content\n');
|
|
343
343
|
});
|
|
344
344
|
|
|
345
|
-
const git = new GitService(stubWorkspaceService(baseWsId, baseRepo), new
|
|
345
|
+
const git = new GitService(stubWorkspaceService(baseWsId, baseRepo), new VersionControlHooks(), testKbContext());
|
|
346
346
|
const merged = await git.mergeChangeRequest(
|
|
347
347
|
baseWsId, 'alice/add', BASE,
|
|
348
348
|
{ subject: mergeCommitSubject('Add feature', 7), body: 'Merged via Bevel' }, USER,
|
|
@@ -373,7 +373,7 @@ describe('GitService.mergeChangeRequest', () => {
|
|
|
373
373
|
await pushFeatureBranch(root, upstream, 'bob/first', async (dir) => {
|
|
374
374
|
await fs.writeFile(path.join(dir, 'first.md'), 'first\n');
|
|
375
375
|
});
|
|
376
|
-
const git = new GitService(stubWorkspaceService(baseWsId, baseRepo), new
|
|
376
|
+
const git = new GitService(stubWorkspaceService(baseWsId, baseRepo), new VersionControlHooks(), testKbContext());
|
|
377
377
|
// #1's merge commit, whose BODY mentions #9 — the shape `--grep` matches and
|
|
378
378
|
// the subject check must reject.
|
|
379
379
|
await git.mergeChangeRequest(
|
|
@@ -408,7 +408,7 @@ describe('GitService.mergeChangeRequest', () => {
|
|
|
408
408
|
await pushFeatureBranch(root, upstream, 'alice/add', async (dir) => {
|
|
409
409
|
await fs.writeFile(path.join(dir, 'feature.md'), 'new content\n');
|
|
410
410
|
});
|
|
411
|
-
const git = new GitService(stubWorkspaceService(baseWsId, baseRepo), new
|
|
411
|
+
const git = new GitService(stubWorkspaceService(baseWsId, baseRepo), new VersionControlHooks(), testKbContext());
|
|
412
412
|
await expect(
|
|
413
413
|
git.mergeChangeRequest(
|
|
414
414
|
baseWsId, 'alice/add', BASE, { subject: 'Add feature\n\nand a note (#3)', body: 'x' }, USER,
|
|
@@ -429,7 +429,7 @@ describe('GitService.mergeChangeRequest', () => {
|
|
|
429
429
|
await pushFeatureBranch(root, upstream, 'alice/add', async (dir) => {
|
|
430
430
|
await fs.writeFile(path.join(dir, 'feature.md'), 'new content\n');
|
|
431
431
|
});
|
|
432
|
-
const git = new GitService(stubWorkspaceService(baseWsId, baseRepo), new
|
|
432
|
+
const git = new GitService(stubWorkspaceService(baseWsId, baseRepo), new VersionControlHooks(), testKbContext());
|
|
433
433
|
const result = await git.mergeChangeRequest(
|
|
434
434
|
baseWsId, 'alice/add', BASE,
|
|
435
435
|
{ subject: mergeCommitSubject('Add feature\n\nand a note', 4), body: 'x' }, USER,
|
|
@@ -464,7 +464,7 @@ describe('GitService.mergeChangeRequest', () => {
|
|
|
464
464
|
await runGit(root, ['clone', '-b', 'tmp-base-advance', upstream, advancer]);
|
|
465
465
|
await runGit(advancer, ['push', 'origin', 'tmp-base-advance:' + BASE]);
|
|
466
466
|
|
|
467
|
-
const git = new GitService(stubWorkspaceService(baseWsId, baseRepo), new
|
|
467
|
+
const git = new GitService(stubWorkspaceService(baseWsId, baseRepo), new VersionControlHooks(), testKbContext());
|
|
468
468
|
const result = await git.mergeChangeRequest(
|
|
469
469
|
baseWsId, 'alice/edit', BASE, { subject: 'Edit (#2)', body: 'x' }, USER,
|
|
470
470
|
);
|
|
@@ -498,7 +498,7 @@ describe('GitService.mergeChangeRequest', () => {
|
|
|
498
498
|
// A save that has not been shared yet, exactly as a file tool leaves it.
|
|
499
499
|
await fs.writeFile(path.join(baseRepo, 'base.md'), 'edited but not shared\n');
|
|
500
500
|
|
|
501
|
-
const git = new GitService(stubWorkspaceService(baseWsId, baseRepo), new
|
|
501
|
+
const git = new GitService(stubWorkspaceService(baseWsId, baseRepo), new VersionControlHooks(), testKbContext());
|
|
502
502
|
await expect(
|
|
503
503
|
git.mergeChangeRequest(
|
|
504
504
|
baseWsId, 'alice/add', BASE, { subject: 'Add (#1)', body: 'x' }, USER,
|
|
@@ -523,7 +523,7 @@ describe('GitService.mergeChangeRequest', () => {
|
|
|
523
523
|
await runGit(baseRepo, ['add', '-A']);
|
|
524
524
|
await runGit(baseRepo, ['commit', '-m', 'local only']);
|
|
525
525
|
|
|
526
|
-
const git = new GitService(stubWorkspaceService(baseWsId, baseRepo), new
|
|
526
|
+
const git = new GitService(stubWorkspaceService(baseWsId, baseRepo), new VersionControlHooks(), testKbContext());
|
|
527
527
|
await expect(
|
|
528
528
|
git.mergeChangeRequest(
|
|
529
529
|
baseWsId, 'alice/add', BASE, { subject: 'Add (#1)', body: 'x' }, USER,
|
|
@@ -538,7 +538,7 @@ describe('GitService.mergeChangeRequest', () => {
|
|
|
538
538
|
await pushFeatureBranch(root, upstream, 'alice/add', async (dir) => {
|
|
539
539
|
await fs.writeFile(path.join(dir, 'feature.md'), 'new content\n');
|
|
540
540
|
});
|
|
541
|
-
const git = new GitService(stubWorkspaceService(baseWsId, baseRepo), new
|
|
541
|
+
const git = new GitService(stubWorkspaceService(baseWsId, baseRepo), new VersionControlHooks(), testKbContext());
|
|
542
542
|
const result = await git.mergeChangeRequest(
|
|
543
543
|
baseWsId, 'alice/add', BASE, { subject: 'Add (#1)', body: 'x' }, USER,
|
|
544
544
|
{ requireCleanTarget: true },
|
|
@@ -571,7 +571,7 @@ describe('GitService.mergeChangeRequest', () => {
|
|
|
571
571
|
const publishedTip = (await gitOut(advancer, ['rev-parse', 'HEAD'])).trim();
|
|
572
572
|
expect(staleHead).not.toBe(publishedTip);
|
|
573
573
|
|
|
574
|
-
const git = new GitService(stubWorkspaceService(baseWsId, baseRepo), new
|
|
574
|
+
const git = new GitService(stubWorkspaceService(baseWsId, baseRepo), new VersionControlHooks(), testKbContext());
|
|
575
575
|
const seen: { sha: string; changedPaths: string[] }[] = [];
|
|
576
576
|
const result = await git.mergeChangeRequest(
|
|
577
577
|
baseWsId, 'alice/add', BASE, { subject: 'Add (#1)', body: 'x' }, USER,
|
|
@@ -589,7 +589,7 @@ describe('GitService.mergeChangeRequest', () => {
|
|
|
589
589
|
await pushFeatureBranch(root, upstream, 'alice/add', async (dir) => {
|
|
590
590
|
await fs.writeFile(path.join(dir, 'feature.md'), 'new content\n');
|
|
591
591
|
});
|
|
592
|
-
const git = new GitService(stubWorkspaceService(baseWsId, baseRepo), new
|
|
592
|
+
const git = new GitService(stubWorkspaceService(baseWsId, baseRepo), new VersionControlHooks(), testKbContext());
|
|
593
593
|
await expect(
|
|
594
594
|
git.mergeChangeRequest(
|
|
595
595
|
baseWsId, 'alice/add', BASE, { subject: 'Add (#1)', body: 'x' }, USER,
|
|
@@ -614,7 +614,7 @@ describe('GitService.mergeChangeRequest', () => {
|
|
|
614
614
|
await runGit(dir, ['mv', 'roles.yaml', 'people.yaml']);
|
|
615
615
|
});
|
|
616
616
|
|
|
617
|
-
const git = new GitService(stubWorkspaceService(baseWsId, baseRepo), new
|
|
617
|
+
const git = new GitService(stubWorkspaceService(baseWsId, baseRepo), new VersionControlHooks(), testKbContext());
|
|
618
618
|
const seen: string[][] = [];
|
|
619
619
|
const result = await git.mergeChangeRequest(
|
|
620
620
|
baseWsId, 'alice/rename', BASE, { subject: 'Rename (#1)', body: 'x' }, USER,
|
package/src/modules/{workflow → version-control}/git/__tests__/git.service.mergeIntoBranch.test.ts
RENAMED
|
@@ -7,8 +7,8 @@ import { GitService } from '../git.service.js';
|
|
|
7
7
|
import { NodeGitRunner } from '../node-git-runner.js';
|
|
8
8
|
import { GitRunError, type IGitRunner } from '../../../../shared/git.contract.js';
|
|
9
9
|
import type { ReservedPushOps } from '@bevel-software/platform-shared';
|
|
10
|
-
import { PullRebaseConflictError,
|
|
11
|
-
import { runGit, gitOut,
|
|
10
|
+
import { PullRebaseConflictError, VersionControlDomainError, VersionControlValidationError } from '../../../../shared/domain-errors.js';
|
|
11
|
+
import { runGit, gitOut, stubVersionControlHooks, stubWorkspaceService } from './git-test-helpers.js';
|
|
12
12
|
|
|
13
13
|
/**
|
|
14
14
|
* `mergeIntoBranch`: the agent's merge, over real git. A conflict is described
|
|
@@ -24,7 +24,7 @@ const USER = { id: 'u1', email: 'ada@x.io', name: 'Ada Lovelace' };
|
|
|
24
24
|
const allow = async (): Promise<void> => {};
|
|
25
25
|
/**
|
|
26
26
|
* The smallest publish a caller can bring: push, and on a rejection replay
|
|
27
|
-
* onto the moved branch (the merge kept) and push once more. The
|
|
27
|
+
* onto the moved branch (the merge kept) and push once more. The version-control service
|
|
28
28
|
* facade brings its `pushWithRecovery` here; this stands in for it to show
|
|
29
29
|
* the moves work inside the merge's reservation.
|
|
30
30
|
*/
|
|
@@ -107,7 +107,7 @@ describe('GitService.mergeIntoBranch', () => {
|
|
|
107
107
|
});
|
|
108
108
|
|
|
109
109
|
const service = () =>
|
|
110
|
-
new GitService(stubWorkspaceService({ [workspaceId]: path.join(root, workspaceId) }),
|
|
110
|
+
new GitService(stubWorkspaceService({ [workspaceId]: path.join(root, workspaceId) }), stubVersionControlHooks(), testKbContext());
|
|
111
111
|
|
|
112
112
|
it('merges a target that moved into the draft as a merge commit by the user, and pushes nothing', async () => {
|
|
113
113
|
const { repo, pusher } = await seed(root);
|
|
@@ -275,7 +275,7 @@ describe('GitService.mergeIntoBranch', () => {
|
|
|
275
275
|
const svc = service();
|
|
276
276
|
await expect(
|
|
277
277
|
svc.mergeIntoBranch(workspaceId, DRAFT, TARGET, USER, { subject: 's', body: 'b', resolutions: [{ path: 'a.md' }], authorizeResolutions: allow }),
|
|
278
|
-
).rejects.toBeInstanceOf(
|
|
278
|
+
).rejects.toBeInstanceOf(VersionControlValidationError);
|
|
279
279
|
await expect(
|
|
280
280
|
svc.mergeIntoBranch(workspaceId, DRAFT, TARGET, USER, {
|
|
281
281
|
subject: 's',
|
|
@@ -283,7 +283,7 @@ describe('GitService.mergeIntoBranch', () => {
|
|
|
283
283
|
resolutions: [{ path: 'a.md', content: 'x', choose: 'ours' }],
|
|
284
284
|
authorizeResolutions: allow,
|
|
285
285
|
}),
|
|
286
|
-
).rejects.toBeInstanceOf(
|
|
286
|
+
).rejects.toBeInstanceOf(VersionControlValidationError);
|
|
287
287
|
});
|
|
288
288
|
|
|
289
289
|
it('refuses resolutions that nobody authorizes, before touching git', async () => {
|
|
@@ -306,9 +306,9 @@ describe('GitService.mergeIntoBranch', () => {
|
|
|
306
306
|
const err = await service()
|
|
307
307
|
.mergeIntoBranch(workspaceId, DRAFT, TARGET, USER, { subject: 's', body: 'b' })
|
|
308
308
|
.catch((e: unknown) => e);
|
|
309
|
-
expect(err).toBeInstanceOf(
|
|
310
|
-
expect((err as
|
|
311
|
-
expect((err as
|
|
309
|
+
expect(err).toBeInstanceOf(VersionControlDomainError);
|
|
310
|
+
expect((err as VersionControlDomainError).status).toBe(409);
|
|
311
|
+
expect((err as VersionControlDomainError).payload).toMatchObject({ kind: 'branch-busy' });
|
|
312
312
|
expect(await fs.readFile(path.join(repo, 'shared.md'), 'utf-8')).toBe('unsaved edit\n');
|
|
313
313
|
});
|
|
314
314
|
|
|
@@ -458,11 +458,11 @@ describe('GitService.mergeIntoBranch', () => {
|
|
|
458
458
|
mergeHead: await gitOut(repo, ['rev-parse', '-q', '--verify', 'MERGE_HEAD']).then(() => true, () => false),
|
|
459
459
|
sharedOnDisk: await fs.readFile(path.join(repo, 'shared.md'), 'utf-8'),
|
|
460
460
|
});
|
|
461
|
-
throw new
|
|
461
|
+
throw new VersionControlDomainError('not yours to settle', 403);
|
|
462
462
|
},
|
|
463
463
|
})
|
|
464
464
|
.catch((e: unknown) => e);
|
|
465
|
-
expect(err).toBeInstanceOf(
|
|
465
|
+
expect(err).toBeInstanceOf(VersionControlDomainError);
|
|
466
466
|
// Asked with the target's tip as fetched by this very merge.
|
|
467
467
|
expect(asked).toEqual([{ merge: { ours, theirs }, head: ours, mergeHead: false, sharedOnDisk: 'line 1\nline 2 from draft\nline 3\n' }]);
|
|
468
468
|
expect((await gitOut(repo, ['rev-parse', 'HEAD'])).trim()).toBe(ours);
|
|
@@ -487,7 +487,7 @@ describe('GitService.mergeIntoBranch', () => {
|
|
|
487
487
|
} as unknown as IGitRunner;
|
|
488
488
|
const svc = new GitService(
|
|
489
489
|
stubWorkspaceService({ [workspaceId]: path.join(root, workspaceId) }),
|
|
490
|
-
|
|
490
|
+
stubVersionControlHooks(),
|
|
491
491
|
testKbContext(),
|
|
492
492
|
undefined,
|
|
493
493
|
null,
|
|
@@ -643,7 +643,7 @@ describe('GitService.readFileAtBranch', () => {
|
|
|
643
643
|
const { repo, pusher } = await seed(root);
|
|
644
644
|
const theirs = await pushOn(pusher, TARGET, { 'other.md': 'other, changed on target\n', 'docs/a.md': 'a\n' }, 'target edits');
|
|
645
645
|
await runGit(repo, ['fetch', '-q', 'origin']);
|
|
646
|
-
const svc = new GitService(stubWorkspaceService({ [workspaceId]: path.join(root, workspaceId) }),
|
|
646
|
+
const svc = new GitService(stubWorkspaceService({ [workspaceId]: path.join(root, workspaceId) }), stubVersionControlHooks(), testKbContext());
|
|
647
647
|
|
|
648
648
|
expect(await svc.readFileAtBranch(workspaceId, 'knowledge-base/other.md', TARGET)).toEqual({
|
|
649
649
|
sha: theirs,
|
|
@@ -660,7 +660,7 @@ describe('GitService.readFileAtBranch', () => {
|
|
|
660
660
|
const asked: string[][] = [];
|
|
661
661
|
const refuse = async (commits: string[]): Promise<void> => {
|
|
662
662
|
asked.push(commits);
|
|
663
|
-
throw new
|
|
663
|
+
throw new VersionControlDomainError('not yours to read', 403);
|
|
664
664
|
};
|
|
665
665
|
await expect(svc.readFileAtBranch(workspaceId, 'docs', TARGET, refuse)).rejects.toThrow(/not yours to read/);
|
|
666
666
|
await expect(svc.readFileAtBranch(workspaceId, 'other.md', TARGET, refuse)).rejects.toThrow(/not yours to read/);
|
|
@@ -673,7 +673,7 @@ describe('GitService.readFileAtBranch', () => {
|
|
|
673
673
|
|
|
674
674
|
it('reads the PUBLISHED tip, not a local head that has moved past it', async () => {
|
|
675
675
|
const { repo } = await seed(root);
|
|
676
|
-
const svc = new GitService(stubWorkspaceService({ [workspaceId]: path.join(root, workspaceId) }),
|
|
676
|
+
const svc = new GitService(stubWorkspaceService({ [workspaceId]: path.join(root, workspaceId) }), stubVersionControlHooks(), testKbContext());
|
|
677
677
|
const published = (await gitOut(repo, ['rev-parse', `origin/${DRAFT}`])).trim();
|
|
678
678
|
const local = await commitLocally(repo, { 'other.md': 'not shared yet\n' }, 'local only');
|
|
679
679
|
const asked: string[][] = [];
|
|
@@ -702,7 +702,7 @@ describe('GitService.readFileAtBranch', () => {
|
|
|
702
702
|
return inner.run(cwd, args, opts as never);
|
|
703
703
|
},
|
|
704
704
|
} as unknown as IGitRunner;
|
|
705
|
-
const svc = new GitService(stubWorkspaceService({ [workspaceId]: path.join(root, workspaceId) }),
|
|
705
|
+
const svc = new GitService(stubWorkspaceService({ [workspaceId]: path.join(root, workspaceId) }), stubVersionControlHooks(), testKbContext(), undefined, null, gitRunner);
|
|
706
706
|
const asked: string[][] = [];
|
|
707
707
|
const authorize = async (commits: string[]): Promise<void> => { asked.push(commits); };
|
|
708
708
|
for (const f of [
|
package/src/modules/{workflow → version-control}/git/__tests__/git.service.pendingChanges.test.ts
RENAMED
|
@@ -6,7 +6,7 @@ import fs from 'node:fs/promises';
|
|
|
6
6
|
import path from 'node:path';
|
|
7
7
|
import os from 'node:os';
|
|
8
8
|
import type { WorkspaceService } from '../../../workspace/workspace.service.js';
|
|
9
|
-
import {
|
|
9
|
+
import { VersionControlHooks } from '../../version-control-hooks.js';
|
|
10
10
|
import { GitService } from '../git.service.js';
|
|
11
11
|
import { parsePorcelainZ } from '../git.service.js';
|
|
12
12
|
|
|
@@ -72,7 +72,7 @@ async function makeSvc(root: string, workspaceId: string) {
|
|
|
72
72
|
const { workspaceDir, repo } = await seedWorkspace(root, workspaceId);
|
|
73
73
|
const svc = new GitService(
|
|
74
74
|
stubWorkspaceService(workspaceId, workspaceDir),
|
|
75
|
-
new
|
|
75
|
+
new VersionControlHooks(),
|
|
76
76
|
testKbContext(),
|
|
77
77
|
);
|
|
78
78
|
return { svc, repo };
|
package/src/modules/{workflow → version-control}/git/__tests__/git.service.postMergePull.test.ts
RENAMED
|
@@ -7,10 +7,10 @@ import path from 'node:path';
|
|
|
7
7
|
import os from 'node:os';
|
|
8
8
|
import type { AuthUser } from '@bevel-software/platform-shared';
|
|
9
9
|
import { GitService } from '../git.service.js';
|
|
10
|
-
import { runGit, gitOut,
|
|
10
|
+
import { runGit, gitOut, stubVersionControlHooks, stubWorkspaceService } from './git-test-helpers.js';
|
|
11
11
|
|
|
12
12
|
/**
|
|
13
|
-
* The post-merge refresh path: `
|
|
13
|
+
* The post-merge refresh path: `VersionControlService.mergeChangeRequest` merges a
|
|
14
14
|
* change request onto `origin/<base>` and then pulls the BASE branch's own
|
|
15
15
|
* workspace so its working tree (what every file read serves) isn't left behind
|
|
16
16
|
* the remote.
|
|
@@ -109,7 +109,7 @@ describe('post-merge refresh of the target branch workspace', () => {
|
|
|
109
109
|
[sourceWsId]: path.dirname(sourceRepo),
|
|
110
110
|
[baseWsId]: path.dirname(baseRepo),
|
|
111
111
|
}),
|
|
112
|
-
|
|
112
|
+
stubVersionControlHooks(),
|
|
113
113
|
testKbContext({ kbDirName: KB_DIR }),
|
|
114
114
|
);
|
|
115
115
|
|
|
@@ -163,7 +163,7 @@ describe('post-merge refresh of the target branch workspace', () => {
|
|
|
163
163
|
[sourceWsId]: path.dirname(sourceRepo),
|
|
164
164
|
[baseWsId]: path.dirname(baseRepo),
|
|
165
165
|
}),
|
|
166
|
-
|
|
166
|
+
stubVersionControlHooks(),
|
|
167
167
|
testKbContext({ kbDirName: KB_DIR }),
|
|
168
168
|
);
|
|
169
169
|
|
|
@@ -254,7 +254,7 @@ describe('post-merge refresh of the target branch workspace', () => {
|
|
|
254
254
|
[sourceWsId]: path.dirname(sourceRepo),
|
|
255
255
|
[baseWsId]: path.dirname(baseRepo),
|
|
256
256
|
}),
|
|
257
|
-
|
|
257
|
+
stubVersionControlHooks(),
|
|
258
258
|
testKbContext({ kbDirName: KB_DIR }),
|
|
259
259
|
);
|
|
260
260
|
|
package/src/modules/{workflow → version-control}/git/__tests__/git.service.prFetchFailure.test.ts
RENAMED
|
@@ -6,7 +6,7 @@ import fs from 'node:fs/promises';
|
|
|
6
6
|
import path from 'node:path';
|
|
7
7
|
import os from 'node:os';
|
|
8
8
|
import type { WorkspaceService } from '../../../workspace/workspace.service.js';
|
|
9
|
-
import {
|
|
9
|
+
import { VersionControlHooks } from '../../version-control-hooks.js';
|
|
10
10
|
import { GitService } from '../git.service.js';
|
|
11
11
|
|
|
12
12
|
const execFileAsync = promisify(execFile);
|
|
@@ -71,7 +71,7 @@ function service(): GitService {
|
|
|
71
71
|
const workspaces = {
|
|
72
72
|
getWorkspacePath: async () => path.dirname(repo),
|
|
73
73
|
} as unknown as WorkspaceService;
|
|
74
|
-
return new GitService(workspaces, new
|
|
74
|
+
return new GitService(workspaces, new VersionControlHooks(), testKbContext());
|
|
75
75
|
}
|
|
76
76
|
|
|
77
77
|
/** Everything the service logged at warn level, as one string per line. */
|
|
@@ -5,7 +5,7 @@ import path from 'node:path';
|
|
|
5
5
|
import os from 'node:os';
|
|
6
6
|
import { GitService } from '../git.service.js';
|
|
7
7
|
import { PullRebaseConflictError } from '../../../../shared/domain-errors.js';
|
|
8
|
-
import { runGit, gitOut,
|
|
8
|
+
import { runGit, gitOut, stubVersionControlHooks, stubWorkspaceService } from './git-test-helpers.js';
|
|
9
9
|
|
|
10
10
|
/** See git.service.createBranch.test.ts — same prod-mirroring layout. */
|
|
11
11
|
async function seedWorkspace(root: string, workspaceId: string): Promise<{
|
|
@@ -85,7 +85,7 @@ describe('GitService.pull', () => {
|
|
|
85
85
|
|
|
86
86
|
const svc = new GitService(
|
|
87
87
|
stubWorkspaceService({ [workspaceId]: path.join(root, workspaceId) }),
|
|
88
|
-
|
|
88
|
+
stubVersionControlHooks(),
|
|
89
89
|
testKbContext(),
|
|
90
90
|
);
|
|
91
91
|
|
|
@@ -128,7 +128,7 @@ describe('GitService.pull', () => {
|
|
|
128
128
|
|
|
129
129
|
const svc = new GitService(
|
|
130
130
|
stubWorkspaceService({ [workspaceId]: path.join(root, workspaceId) }),
|
|
131
|
-
|
|
131
|
+
stubVersionControlHooks(),
|
|
132
132
|
testKbContext(),
|
|
133
133
|
);
|
|
134
134
|
|
|
@@ -174,7 +174,7 @@ describe('GitService.pull', () => {
|
|
|
174
174
|
|
|
175
175
|
const svc = new GitService(
|
|
176
176
|
stubWorkspaceService({ [workspaceId]: path.join(root, workspaceId) }),
|
|
177
|
-
|
|
177
|
+
stubVersionControlHooks(),
|
|
178
178
|
testKbContext(),
|
|
179
179
|
);
|
|
180
180
|
|
|
@@ -219,7 +219,7 @@ describe('GitService.pull', () => {
|
|
|
219
219
|
|
|
220
220
|
const svc = new GitService(
|
|
221
221
|
stubWorkspaceService({ [workspaceId]: path.join(root, workspaceId) }),
|
|
222
|
-
|
|
222
|
+
stubVersionControlHooks(),
|
|
223
223
|
testKbContext(),
|
|
224
224
|
);
|
|
225
225
|
|
|
@@ -247,7 +247,7 @@ describe('GitService.pull', () => {
|
|
|
247
247
|
|
|
248
248
|
const svc = new GitService(
|
|
249
249
|
stubWorkspaceService({ [workspaceId]: path.join(root, workspaceId) }),
|
|
250
|
-
|
|
250
|
+
stubVersionControlHooks(),
|
|
251
251
|
testKbContext(),
|
|
252
252
|
);
|
|
253
253
|
|
|
@@ -269,7 +269,7 @@ describe('GitService.pull', () => {
|
|
|
269
269
|
|
|
270
270
|
const svc = new GitService(
|
|
271
271
|
stubWorkspaceService({ [workspaceId]: path.join(root, workspaceId) }),
|
|
272
|
-
|
|
272
|
+
stubVersionControlHooks(),
|
|
273
273
|
testKbContext(),
|
|
274
274
|
);
|
|
275
275
|
|
|
@@ -284,7 +284,7 @@ describe('GitService.pull', () => {
|
|
|
284
284
|
// both rewrote the same file, so replaying the local commit conflicts. The
|
|
285
285
|
// pull must (a) abort the rebase so the clone isn't left in a detached
|
|
286
286
|
// apply state, (b) surface a TYPED error naming the contested paths so the
|
|
287
|
-
//
|
|
287
|
+
// version-control layer can queue background recovery, and (c) leave the local
|
|
288
288
|
// commit intact (it's someone's saved content).
|
|
289
289
|
it('throws PullRebaseConflictError with the conflicted paths and aborts the rebase cleanly', async () => {
|
|
290
290
|
const { upstream, repo } = await seedWorkspace(root, workspaceId);
|
|
@@ -311,7 +311,7 @@ describe('GitService.pull', () => {
|
|
|
311
311
|
|
|
312
312
|
const svc = new GitService(
|
|
313
313
|
stubWorkspaceService({ [workspaceId]: path.join(root, workspaceId) }),
|
|
314
|
-
|
|
314
|
+
stubVersionControlHooks(),
|
|
315
315
|
testKbContext(),
|
|
316
316
|
);
|
|
317
317
|
|
|
@@ -338,7 +338,7 @@ describe('GitService.pull', () => {
|
|
|
338
338
|
const { repo } = await seedWorkspace(root, workspaceId);
|
|
339
339
|
const svc = new GitService(
|
|
340
340
|
stubWorkspaceService({ [workspaceId]: path.join(root, workspaceId) }),
|
|
341
|
-
|
|
341
|
+
stubVersionControlHooks(),
|
|
342
342
|
testKbContext(),
|
|
343
343
|
);
|
|
344
344
|
|
|
@@ -364,7 +364,7 @@ describe('GitService.pull', () => {
|
|
|
364
364
|
const { repo } = await seedWorkspace(root, workspaceId);
|
|
365
365
|
const svc = new GitService(
|
|
366
366
|
stubWorkspaceService({ [workspaceId]: path.join(root, workspaceId) }),
|
|
367
|
-
|
|
367
|
+
stubVersionControlHooks(),
|
|
368
368
|
testKbContext(),
|
|
369
369
|
);
|
|
370
370
|
|
|
@@ -474,7 +474,7 @@ describe('GitService.pull — an unpushed merge commit', () => {
|
|
|
474
474
|
function svcFor(): GitService {
|
|
475
475
|
return new GitService(
|
|
476
476
|
stubWorkspaceService({ [workspaceId]: path.join(root, workspaceId) }),
|
|
477
|
-
|
|
477
|
+
stubVersionControlHooks(),
|
|
478
478
|
testKbContext(),
|
|
479
479
|
);
|
|
480
480
|
}
|
package/src/modules/{workflow → version-control}/git/__tests__/git.service.readFileAtRef.test.ts
RENAMED
|
@@ -6,7 +6,7 @@ import fs from 'node:fs/promises';
|
|
|
6
6
|
import path from 'node:path';
|
|
7
7
|
import os from 'node:os';
|
|
8
8
|
import type { WorkspaceService } from '../../../workspace/workspace.service.js';
|
|
9
|
-
import {
|
|
9
|
+
import { VersionControlHooks } from '../../version-control-hooks.js';
|
|
10
10
|
import { GitService } from '../git.service.js';
|
|
11
11
|
|
|
12
12
|
const execFileAsync = promisify(execFile);
|
|
@@ -59,7 +59,7 @@ describe('GitService.readFileAtRef', () => {
|
|
|
59
59
|
function makeSvc(workspaceDir: string) {
|
|
60
60
|
return new GitService(
|
|
61
61
|
stubWorkspaceService(workspaceId, workspaceDir),
|
|
62
|
-
new
|
|
62
|
+
new VersionControlHooks(),
|
|
63
63
|
testKbContext({ kbDirName: PROCESS_MAP_DIR }),
|
|
64
64
|
);
|
|
65
65
|
}
|
|
@@ -115,7 +115,7 @@ describe('GitService.commitAtRef', () => {
|
|
|
115
115
|
function makeSvc(workspaceDir: string) {
|
|
116
116
|
return new GitService(
|
|
117
117
|
stubWorkspaceService(workspaceId, workspaceDir),
|
|
118
|
-
new
|
|
118
|
+
new VersionControlHooks(),
|
|
119
119
|
testKbContext({ kbDirName: PROCESS_MAP_DIR }),
|
|
120
120
|
);
|
|
121
121
|
}
|
|
@@ -4,7 +4,7 @@ import fs from 'node:fs/promises';
|
|
|
4
4
|
import path from 'node:path';
|
|
5
5
|
import os from 'node:os';
|
|
6
6
|
import { GitService } from '../git.service.js';
|
|
7
|
-
import { runGit, gitOut,
|
|
7
|
+
import { runGit, gitOut, stubVersionControlHooks, stubWorkspaceService } from './git-test-helpers.js';
|
|
8
8
|
|
|
9
9
|
/**
|
|
10
10
|
* `GitService.revertPathsAndPush` — the git half of "Delete folder and its
|
|
@@ -59,7 +59,7 @@ async function seed(root: string, branches: string[]): Promise<Fixture> {
|
|
|
59
59
|
await runGit(repo, ['config', 'core.autocrlf', 'false']);
|
|
60
60
|
repos[b] = repo;
|
|
61
61
|
}
|
|
62
|
-
const svc = new GitService(stubWorkspaceService(dirs),
|
|
62
|
+
const svc = new GitService(stubWorkspaceService(dirs), stubVersionControlHooks(), testKbContext({ kbDirName: KB }));
|
|
63
63
|
return { upstream, base, repos, svc };
|
|
64
64
|
}
|
|
65
65
|
|
|
@@ -6,7 +6,7 @@ import fs from 'node:fs/promises';
|
|
|
6
6
|
import path from 'node:path';
|
|
7
7
|
import os from 'node:os';
|
|
8
8
|
import type { WorkspaceService } from '../../../workspace/workspace.service.js';
|
|
9
|
-
import {
|
|
9
|
+
import { VersionControlHooks } from '../../version-control-hooks.js';
|
|
10
10
|
import { GitService } from '../git.service.js';
|
|
11
11
|
|
|
12
12
|
const execFileAsync = promisify(execFile);
|
|
@@ -81,7 +81,7 @@ describe('GitService.status — hasUpstream', () => {
|
|
|
81
81
|
|
|
82
82
|
it('reports hasUpstream=true on a tracked branch (cloned from origin)', async () => {
|
|
83
83
|
const { workspaceDir } = await seedWorkspace(root, workspaceId);
|
|
84
|
-
const svc = new GitService(stubWorkspaceService(workspaceId, workspaceDir), new
|
|
84
|
+
const svc = new GitService(stubWorkspaceService(workspaceId, workspaceDir), new VersionControlHooks(), testKbContext());
|
|
85
85
|
|
|
86
86
|
const status = await svc.status(workspaceId);
|
|
87
87
|
expect(status.branch).toBe('current-company-state');
|
|
@@ -97,7 +97,7 @@ describe('GitService.status — hasUpstream', () => {
|
|
|
97
97
|
await runGit(repo, ['checkout', '-b', 'alice/unpublished-draft']);
|
|
98
98
|
await runGit(repo, ['commit', '--allow-empty', '-m', 'local-only edit']);
|
|
99
99
|
|
|
100
|
-
const svc = new GitService(stubWorkspaceService(workspaceId, workspaceDir), new
|
|
100
|
+
const svc = new GitService(stubWorkspaceService(workspaceId, workspaceDir), new VersionControlHooks(), testKbContext());
|
|
101
101
|
const status = await svc.status(workspaceId);
|
|
102
102
|
|
|
103
103
|
expect(status.branch).toBe('alice/unpublished-draft');
|
|
@@ -115,7 +115,7 @@ describe('GitService.status — hasUpstream', () => {
|
|
|
115
115
|
await runGit(repo, ['commit', '--allow-empty', '-m', 'two']);
|
|
116
116
|
await runGit(repo, ['push', '-u', 'origin', 'alice/published-draft']);
|
|
117
117
|
|
|
118
|
-
const svc = new GitService(stubWorkspaceService(workspaceId, workspaceDir), new
|
|
118
|
+
const svc = new GitService(stubWorkspaceService(workspaceId, workspaceDir), new VersionControlHooks(), testKbContext());
|
|
119
119
|
const status = await svc.status(workspaceId);
|
|
120
120
|
|
|
121
121
|
expect(status.branch).toBe('alice/published-draft');
|