@bevel-software/platform-core-backend 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +202 -0
- package/dist/assets.d.ts +5 -0
- package/dist/assets.d.ts.map +1 -0
- package/dist/assets.js +23 -0
- package/dist/assets.js.map +1 -0
- package/dist/core/core-ports.d.ts +83 -0
- package/dist/core/core-ports.d.ts.map +1 -0
- package/dist/core/core-ports.js +12 -0
- package/dist/core/core-ports.js.map +1 -0
- package/dist/core/create-core-server.d.ts +62 -0
- package/dist/core/create-core-server.d.ts.map +1 -0
- package/dist/core/create-core-server.js +204 -0
- package/dist/core/create-core-server.js.map +1 -0
- package/dist/core/create-core-services.d.ts +95 -0
- package/dist/core/create-core-services.d.ts.map +1 -0
- package/dist/core/create-core-services.js +352 -0
- package/dist/core/create-core-services.js.map +1 -0
- package/dist/core-config.d.ts +119 -0
- package/dist/core-config.d.ts.map +1 -0
- package/dist/core-config.js +240 -0
- package/dist/core-config.js.map +1 -0
- package/dist/index.d.ts +36 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +36 -0
- package/dist/index.js.map +1 -0
- package/dist/modules/access/access-control.interface.d.ts +348 -0
- package/dist/modules/access/access-control.interface.d.ts.map +1 -0
- package/dist/modules/access/access-control.interface.js +2 -0
- package/dist/modules/access/access-control.interface.js.map +1 -0
- package/dist/modules/access/access-control.service.d.ts +323 -0
- package/dist/modules/access/access-control.service.d.ts.map +1 -0
- package/dist/modules/access/access-control.service.js +1431 -0
- package/dist/modules/access/access-control.service.js.map +1 -0
- package/dist/modules/access/access-errors.d.ts +34 -0
- package/dist/modules/access/access-errors.d.ts.map +1 -0
- package/dist/modules/access/access-errors.js +40 -0
- package/dist/modules/access/access-errors.js.map +1 -0
- package/dist/modules/access/access-mutation.service.d.ts +176 -0
- package/dist/modules/access/access-mutation.service.d.ts.map +1 -0
- package/dist/modules/access/access-mutation.service.js +307 -0
- package/dist/modules/access/access-mutation.service.js.map +1 -0
- package/dist/modules/access/access-splice.d.ts +98 -0
- package/dist/modules/access/access-splice.d.ts.map +1 -0
- package/dist/modules/access/access-splice.js +346 -0
- package/dist/modules/access/access-splice.js.map +1 -0
- package/dist/modules/access/access.routes.d.ts +10 -0
- package/dist/modules/access/access.routes.d.ts.map +1 -0
- package/dist/modules/access/access.routes.js +757 -0
- package/dist/modules/access/access.routes.js.map +1 -0
- package/dist/modules/access/creator-access.d.ts +113 -0
- package/dist/modules/access/creator-access.d.ts.map +1 -0
- package/dist/modules/access/creator-access.js +212 -0
- package/dist/modules/access/creator-access.js.map +1 -0
- package/dist/modules/access/kb-read-filter.d.ts +41 -0
- package/dist/modules/access/kb-read-filter.d.ts.map +1 -0
- package/dist/modules/access/kb-read-filter.js +60 -0
- package/dist/modules/access/kb-read-filter.js.map +1 -0
- package/dist/modules/access/roles-admin.service.d.ts +240 -0
- package/dist/modules/access/roles-admin.service.d.ts.map +1 -0
- package/dist/modules/access/roles-admin.service.js +630 -0
- package/dist/modules/access/roles-admin.service.js.map +1 -0
- package/dist/modules/access/roles-edit.d.ts +91 -0
- package/dist/modules/access/roles-edit.d.ts.map +1 -0
- package/dist/modules/access/roles-edit.js +232 -0
- package/dist/modules/access/roles-edit.js.map +1 -0
- package/dist/modules/access/roles-yaml-guard.d.ts +56 -0
- package/dist/modules/access/roles-yaml-guard.d.ts.map +1 -0
- package/dist/modules/access/roles-yaml-guard.js +79 -0
- package/dist/modules/access/roles-yaml-guard.js.map +1 -0
- package/dist/modules/admin/admin-access.routes.d.ts +18 -0
- package/dist/modules/admin/admin-access.routes.d.ts.map +1 -0
- package/dist/modules/admin/admin-access.routes.js +26 -0
- package/dist/modules/admin/admin-access.routes.js.map +1 -0
- package/dist/modules/admin/admin-access.service.d.ts +24 -0
- package/dist/modules/admin/admin-access.service.d.ts.map +1 -0
- package/dist/modules/admin/admin-access.service.js +41 -0
- package/dist/modules/admin/admin-access.service.js.map +1 -0
- package/dist/modules/admin/admin.interface.d.ts +11 -0
- package/dist/modules/admin/admin.interface.d.ts.map +1 -0
- package/dist/modules/admin/admin.interface.js +2 -0
- package/dist/modules/admin/admin.interface.js.map +1 -0
- package/dist/modules/auth/account-erasure.service.d.ts +80 -0
- package/dist/modules/auth/account-erasure.service.d.ts.map +1 -0
- package/dist/modules/auth/account-erasure.service.js +91 -0
- package/dist/modules/auth/account-erasure.service.js.map +1 -0
- package/dist/modules/auth/auth.middleware.d.ts +23 -0
- package/dist/modules/auth/auth.middleware.d.ts.map +1 -0
- package/dist/modules/auth/auth.middleware.js +68 -0
- package/dist/modules/auth/auth.middleware.js.map +1 -0
- package/dist/modules/auth/auth.routes.d.ts +25 -0
- package/dist/modules/auth/auth.routes.d.ts.map +1 -0
- package/dist/modules/auth/auth.routes.js +72 -0
- package/dist/modules/auth/auth.routes.js.map +1 -0
- package/dist/modules/auth/auth.service.d.ts +76 -0
- package/dist/modules/auth/auth.service.d.ts.map +1 -0
- package/dist/modules/auth/auth.service.js +168 -0
- package/dist/modules/auth/auth.service.js.map +1 -0
- package/dist/modules/code-mode/code-mode-names.d.ts +16 -0
- package/dist/modules/code-mode/code-mode-names.d.ts.map +1 -0
- package/dist/modules/code-mode/code-mode-names.js +30 -0
- package/dist/modules/code-mode/code-mode-names.js.map +1 -0
- package/dist/modules/code-mode/code-mode.tool.d.ts +13 -0
- package/dist/modules/code-mode/code-mode.tool.d.ts.map +1 -0
- package/dist/modules/code-mode/code-mode.tool.js +112 -0
- package/dist/modules/code-mode/code-mode.tool.js.map +1 -0
- package/dist/modules/code-mode/index.d.ts +3 -0
- package/dist/modules/code-mode/index.d.ts.map +1 -0
- package/dist/modules/code-mode/index.js +3 -0
- package/dist/modules/code-mode/index.js.map +1 -0
- package/dist/modules/database/connection.d.ts +6 -0
- package/dist/modules/database/connection.d.ts.map +1 -0
- package/dist/modules/database/connection.js +12 -0
- package/dist/modules/database/connection.js.map +1 -0
- package/dist/modules/database/core-schema.d.ts +2273 -0
- package/dist/modules/database/core-schema.d.ts.map +1 -0
- package/dist/modules/database/core-schema.js +413 -0
- package/dist/modules/database/core-schema.js.map +1 -0
- package/dist/modules/database/migrate.d.ts +10 -0
- package/dist/modules/database/migrate.d.ts.map +1 -0
- package/dist/modules/database/migrate.js +40 -0
- package/dist/modules/database/migrate.js.map +1 -0
- package/dist/modules/database/schema.d.ts +12 -0
- package/dist/modules/database/schema.d.ts.map +1 -0
- package/dist/modules/database/schema.js +12 -0
- package/dist/modules/database/schema.js.map +1 -0
- package/dist/modules/diff/diff-paths.d.ts +2 -0
- package/dist/modules/diff/diff-paths.d.ts.map +1 -0
- package/dist/modules/diff/diff-paths.js +9 -0
- package/dist/modules/diff/diff-paths.js.map +1 -0
- package/dist/modules/diff/diff.config.d.ts +8 -0
- package/dist/modules/diff/diff.config.d.ts.map +1 -0
- package/dist/modules/diff/diff.config.js +13 -0
- package/dist/modules/diff/diff.config.js.map +1 -0
- package/dist/modules/diff/diff.interface.d.ts +73 -0
- package/dist/modules/diff/diff.interface.d.ts.map +1 -0
- package/dist/modules/diff/diff.interface.js +2 -0
- package/dist/modules/diff/diff.interface.js.map +1 -0
- package/dist/modules/diff/diff.routes.d.ts +35 -0
- package/dist/modules/diff/diff.routes.d.ts.map +1 -0
- package/dist/modules/diff/diff.routes.js +228 -0
- package/dist/modules/diff/diff.routes.js.map +1 -0
- package/dist/modules/diff/diff.service.d.ts +51 -0
- package/dist/modules/diff/diff.service.d.ts.map +1 -0
- package/dist/modules/diff/diff.service.js +489 -0
- package/dist/modules/diff/diff.service.js.map +1 -0
- package/dist/modules/diff/line-diff.d.ts +16 -0
- package/dist/modules/diff/line-diff.d.ts.map +1 -0
- package/dist/modules/diff/line-diff.js +67 -0
- package/dist/modules/diff/line-diff.js.map +1 -0
- package/dist/modules/mcp/mcp-auth.middleware.d.ts +27 -0
- package/dist/modules/mcp/mcp-auth.middleware.d.ts.map +1 -0
- package/dist/modules/mcp/mcp-auth.middleware.js +116 -0
- package/dist/modules/mcp/mcp-auth.middleware.js.map +1 -0
- package/dist/modules/mcp/mcp-session-store.d.ts +74 -0
- package/dist/modules/mcp/mcp-session-store.d.ts.map +1 -0
- package/dist/modules/mcp/mcp-session-store.js +131 -0
- package/dist/modules/mcp/mcp-session-store.js.map +1 -0
- package/dist/modules/mcp/mcp.routes.d.ts +24 -0
- package/dist/modules/mcp/mcp.routes.d.ts.map +1 -0
- package/dist/modules/mcp/mcp.routes.js +229 -0
- package/dist/modules/mcp/mcp.routes.js.map +1 -0
- package/dist/modules/mcp/mcp.service.d.ts +198 -0
- package/dist/modules/mcp/mcp.service.d.ts.map +1 -0
- package/dist/modules/mcp/mcp.service.js +840 -0
- package/dist/modules/mcp/mcp.service.js.map +1 -0
- package/dist/modules/mcp/oauth/bevel-oauth-provider.d.ts +76 -0
- package/dist/modules/mcp/oauth/bevel-oauth-provider.d.ts.map +1 -0
- package/dist/modules/mcp/oauth/bevel-oauth-provider.js +291 -0
- package/dist/modules/mcp/oauth/bevel-oauth-provider.js.map +1 -0
- package/dist/modules/mcp/oauth/oauth-consent.routes.d.ts +18 -0
- package/dist/modules/mcp/oauth/oauth-consent.routes.d.ts.map +1 -0
- package/dist/modules/mcp/oauth/oauth-consent.routes.js +52 -0
- package/dist/modules/mcp/oauth/oauth-consent.routes.js.map +1 -0
- package/dist/modules/mcp/oauth/oauth-state.d.ts +32 -0
- package/dist/modules/mcp/oauth/oauth-state.d.ts.map +1 -0
- package/dist/modules/mcp/oauth/oauth-state.js +34 -0
- package/dist/modules/mcp/oauth/oauth-state.js.map +1 -0
- package/dist/modules/secrets-vault/db-secrets-vault.service.d.ts +92 -0
- package/dist/modules/secrets-vault/db-secrets-vault.service.d.ts.map +1 -0
- package/dist/modules/secrets-vault/db-secrets-vault.service.js +728 -0
- package/dist/modules/secrets-vault/db-secrets-vault.service.js.map +1 -0
- package/dist/modules/secrets-vault/index.d.ts +7 -0
- package/dist/modules/secrets-vault/index.d.ts.map +1 -0
- package/dist/modules/secrets-vault/index.js +6 -0
- package/dist/modules/secrets-vault/index.js.map +1 -0
- package/dist/modules/secrets-vault/mcp-oauth-discovery.service.d.ts +63 -0
- package/dist/modules/secrets-vault/mcp-oauth-discovery.service.d.ts.map +1 -0
- package/dist/modules/secrets-vault/mcp-oauth-discovery.service.js +269 -0
- package/dist/modules/secrets-vault/mcp-oauth-discovery.service.js.map +1 -0
- package/dist/modules/secrets-vault/secrets-variable-loader.d.ts +46 -0
- package/dist/modules/secrets-vault/secrets-variable-loader.d.ts.map +1 -0
- package/dist/modules/secrets-vault/secrets-variable-loader.js +87 -0
- package/dist/modules/secrets-vault/secrets-variable-loader.js.map +1 -0
- package/dist/modules/secrets-vault/secrets-vault.contract.d.ts +210 -0
- package/dist/modules/secrets-vault/secrets-vault.contract.d.ts.map +1 -0
- package/dist/modules/secrets-vault/secrets-vault.contract.js +90 -0
- package/dist/modules/secrets-vault/secrets-vault.contract.js.map +1 -0
- package/dist/modules/secrets-vault/secrets-vault.routes.d.ts +30 -0
- package/dist/modules/secrets-vault/secrets-vault.routes.d.ts.map +1 -0
- package/dist/modules/secrets-vault/secrets-vault.routes.js +490 -0
- package/dist/modules/secrets-vault/secrets-vault.routes.js.map +1 -0
- package/dist/modules/skills/index.d.ts +5 -0
- package/dist/modules/skills/index.d.ts.map +1 -0
- package/dist/modules/skills/index.js +4 -0
- package/dist/modules/skills/index.js.map +1 -0
- package/dist/modules/skills/skills.contract.d.ts +58 -0
- package/dist/modules/skills/skills.contract.d.ts.map +1 -0
- package/dist/modules/skills/skills.contract.js +10 -0
- package/dist/modules/skills/skills.contract.js.map +1 -0
- package/dist/modules/skills/skills.routes.d.ts +15 -0
- package/dist/modules/skills/skills.routes.d.ts.map +1 -0
- package/dist/modules/skills/skills.routes.js +34 -0
- package/dist/modules/skills/skills.routes.js.map +1 -0
- package/dist/modules/skills/skills.service.d.ts +21 -0
- package/dist/modules/skills/skills.service.d.ts.map +1 -0
- package/dist/modules/skills/skills.service.js +202 -0
- package/dist/modules/skills/skills.service.js.map +1 -0
- package/dist/modules/skills/skills.tools.d.ts +15 -0
- package/dist/modules/skills/skills.tools.d.ts.map +1 -0
- package/dist/modules/skills/skills.tools.js +96 -0
- package/dist/modules/skills/skills.tools.js.map +1 -0
- package/dist/modules/tool-auth/external-api-key.errors.d.ts +14 -0
- package/dist/modules/tool-auth/external-api-key.errors.d.ts.map +1 -0
- package/dist/modules/tool-auth/external-api-key.errors.js +23 -0
- package/dist/modules/tool-auth/external-api-key.errors.js.map +1 -0
- package/dist/modules/tool-auth/external-api-key.interface.d.ts +90 -0
- package/dist/modules/tool-auth/external-api-key.interface.d.ts.map +1 -0
- package/dist/modules/tool-auth/external-api-key.interface.js +2 -0
- package/dist/modules/tool-auth/external-api-key.interface.js.map +1 -0
- package/dist/modules/tool-auth/external-api-key.service.d.ts +25 -0
- package/dist/modules/tool-auth/external-api-key.service.d.ts.map +1 -0
- package/dist/modules/tool-auth/external-api-key.service.js +164 -0
- package/dist/modules/tool-auth/external-api-key.service.js.map +1 -0
- package/dist/modules/tool-auth/internal-token.service.d.ts +62 -0
- package/dist/modules/tool-auth/internal-token.service.d.ts.map +1 -0
- package/dist/modules/tool-auth/internal-token.service.js +85 -0
- package/dist/modules/tool-auth/internal-token.service.js.map +1 -0
- package/dist/modules/tool-auth/llm-usage-meter.d.ts +16 -0
- package/dist/modules/tool-auth/llm-usage-meter.d.ts.map +1 -0
- package/dist/modules/tool-auth/llm-usage-meter.js +6 -0
- package/dist/modules/tool-auth/llm-usage-meter.js.map +1 -0
- package/dist/modules/tool-auth/tool-auth.middleware.d.ts +101 -0
- package/dist/modules/tool-auth/tool-auth.middleware.d.ts.map +1 -0
- package/dist/modules/tool-auth/tool-auth.middleware.js +166 -0
- package/dist/modules/tool-auth/tool-auth.middleware.js.map +1 -0
- package/dist/modules/tool-helpers/index.d.ts +19 -0
- package/dist/modules/tool-helpers/index.d.ts.map +1 -0
- package/dist/modules/tool-helpers/index.js +18 -0
- package/dist/modules/tool-helpers/index.js.map +1 -0
- package/dist/modules/tool-helpers/tool-context.d.ts +35 -0
- package/dist/modules/tool-helpers/tool-context.d.ts.map +1 -0
- package/dist/modules/tool-helpers/tool-context.js +66 -0
- package/dist/modules/tool-helpers/tool-context.js.map +1 -0
- package/dist/modules/tool-helpers/tool-def.d.ts +33 -0
- package/dist/modules/tool-helpers/tool-def.d.ts.map +1 -0
- package/dist/modules/tool-helpers/tool-def.js +57 -0
- package/dist/modules/tool-helpers/tool-def.js.map +1 -0
- package/dist/modules/tool-helpers/tool-handler.d.ts +19 -0
- package/dist/modules/tool-helpers/tool-handler.d.ts.map +1 -0
- package/dist/modules/tool-helpers/tool-handler.js +84 -0
- package/dist/modules/tool-helpers/tool-handler.js.map +1 -0
- package/dist/modules/tool-helpers/tool.contract.d.ts +64 -0
- package/dist/modules/tool-helpers/tool.contract.d.ts.map +1 -0
- package/dist/modules/tool-helpers/tool.contract.js +24 -0
- package/dist/modules/tool-helpers/tool.contract.js.map +1 -0
- package/dist/modules/tool-helpers/validate-token.d.ts +31 -0
- package/dist/modules/tool-helpers/validate-token.d.ts.map +1 -0
- package/dist/modules/tool-helpers/validate-token.js +20 -0
- package/dist/modules/tool-helpers/validate-token.js.map +1 -0
- package/dist/modules/tool-manuals/index.d.ts +5 -0
- package/dist/modules/tool-manuals/index.d.ts.map +1 -0
- package/dist/modules/tool-manuals/index.js +5 -0
- package/dist/modules/tool-manuals/index.js.map +1 -0
- package/dist/modules/tool-manuals/tool-manuals.contract.d.ts +182 -0
- package/dist/modules/tool-manuals/tool-manuals.contract.d.ts.map +1 -0
- package/dist/modules/tool-manuals/tool-manuals.contract.js +19 -0
- package/dist/modules/tool-manuals/tool-manuals.contract.js.map +1 -0
- package/dist/modules/tool-manuals/tool-manuals.routes.d.ts +24 -0
- package/dist/modules/tool-manuals/tool-manuals.routes.d.ts.map +1 -0
- package/dist/modules/tool-manuals/tool-manuals.routes.js +102 -0
- package/dist/modules/tool-manuals/tool-manuals.routes.js.map +1 -0
- package/dist/modules/tool-manuals/tool-manuals.service.d.ts +108 -0
- package/dist/modules/tool-manuals/tool-manuals.service.d.ts.map +1 -0
- package/dist/modules/tool-manuals/tool-manuals.service.js +710 -0
- package/dist/modules/tool-manuals/tool-manuals.service.js.map +1 -0
- package/dist/modules/tool-manuals/tool-manuals.tools.d.ts +35 -0
- package/dist/modules/tool-manuals/tool-manuals.tools.d.ts.map +1 -0
- package/dist/modules/tool-manuals/tool-manuals.tools.js +157 -0
- package/dist/modules/tool-manuals/tool-manuals.tools.js.map +1 -0
- package/dist/modules/tool-registry/manual.routes.d.ts +6 -0
- package/dist/modules/tool-registry/manual.routes.d.ts.map +1 -0
- package/dist/modules/tool-registry/manual.routes.js +76 -0
- package/dist/modules/tool-registry/manual.routes.js.map +1 -0
- package/dist/modules/tool-registry/tool-registry.d.ts +23 -0
- package/dist/modules/tool-registry/tool-registry.d.ts.map +1 -0
- package/dist/modules/tool-registry/tool-registry.js +46 -0
- package/dist/modules/tool-registry/tool-registry.js.map +1 -0
- package/dist/modules/tool-registry/tool.contract.d.ts +48 -0
- package/dist/modules/tool-registry/tool.contract.d.ts.map +1 -0
- package/dist/modules/tool-registry/tool.contract.js +2 -0
- package/dist/modules/tool-registry/tool.contract.js.map +1 -0
- package/dist/modules/workflow/agent-tools/workflow.tools.d.ts +14 -0
- package/dist/modules/workflow/agent-tools/workflow.tools.d.ts.map +1 -0
- package/dist/modules/workflow/agent-tools/workflow.tools.js +437 -0
- package/dist/modules/workflow/agent-tools/workflow.tools.js.map +1 -0
- package/dist/modules/workflow/event-bus.d.ts +107 -0
- package/dist/modules/workflow/event-bus.d.ts.map +1 -0
- package/dist/modules/workflow/event-bus.js +224 -0
- package/dist/modules/workflow/event-bus.js.map +1 -0
- package/dist/modules/workflow/events.routes.d.ts +80 -0
- package/dist/modules/workflow/events.routes.d.ts.map +1 -0
- package/dist/modules/workflow/events.routes.js +216 -0
- package/dist/modules/workflow/events.routes.js.map +1 -0
- package/dist/modules/workflow/file-change-notifier.d.ts +38 -0
- package/dist/modules/workflow/file-change-notifier.d.ts.map +1 -0
- package/dist/modules/workflow/file-change-notifier.js +22 -0
- package/dist/modules/workflow/file-change-notifier.js.map +1 -0
- package/dist/modules/workflow/file-lock.service.d.ts +57 -0
- package/dist/modules/workflow/file-lock.service.d.ts.map +1 -0
- package/dist/modules/workflow/file-lock.service.js +202 -0
- package/dist/modules/workflow/file-lock.service.js.map +1 -0
- package/dist/modules/workflow/git/branch-name.d.ts +10 -0
- package/dist/modules/workflow/git/branch-name.d.ts.map +1 -0
- package/dist/modules/workflow/git/branch-name.js +76 -0
- package/dist/modules/workflow/git/branch-name.js.map +1 -0
- package/dist/modules/workflow/git/clone-config.d.ts +61 -0
- package/dist/modules/workflow/git/clone-config.d.ts.map +1 -0
- package/dist/modules/workflow/git/clone-config.js +69 -0
- package/dist/modules/workflow/git/clone-config.js.map +1 -0
- package/dist/modules/workflow/git/git-version.d.ts +34 -0
- package/dist/modules/workflow/git/git-version.d.ts.map +1 -0
- package/dist/modules/workflow/git/git-version.js +63 -0
- package/dist/modules/workflow/git/git-version.js.map +1 -0
- package/dist/modules/workflow/git/git.service.d.ts +427 -0
- package/dist/modules/workflow/git/git.service.d.ts.map +1 -0
- package/dist/modules/workflow/git/git.service.js +1987 -0
- package/dist/modules/workflow/git/git.service.js.map +1 -0
- package/dist/modules/workflow/git/mutex.d.ts +11 -0
- package/dist/modules/workflow/git/mutex.d.ts.map +1 -0
- package/dist/modules/workflow/git/mutex.js +23 -0
- package/dist/modules/workflow/git/mutex.js.map +1 -0
- package/dist/modules/workflow/git/pull-request.service.d.ts +124 -0
- package/dist/modules/workflow/git/pull-request.service.d.ts.map +1 -0
- package/dist/modules/workflow/git/pull-request.service.js +328 -0
- package/dist/modules/workflow/git/pull-request.service.js.map +1 -0
- package/dist/modules/workflow/locking-filesystem.d.ts +133 -0
- package/dist/modules/workflow/locking-filesystem.d.ts.map +1 -0
- package/dist/modules/workflow/locking-filesystem.js +400 -0
- package/dist/modules/workflow/locking-filesystem.js.map +1 -0
- package/dist/modules/workflow/pending-commits.service.d.ts +221 -0
- package/dist/modules/workflow/pending-commits.service.d.ts.map +1 -0
- package/dist/modules/workflow/pending-commits.service.js +364 -0
- package/dist/modules/workflow/pending-commits.service.js.map +1 -0
- package/dist/modules/workflow/pending-commits.worker.d.ts +148 -0
- package/dist/modules/workflow/pending-commits.worker.d.ts.map +1 -0
- package/dist/modules/workflow/pending-commits.worker.js +245 -0
- package/dist/modules/workflow/pending-commits.worker.js.map +1 -0
- package/dist/modules/workflow/read-only-filesystem.d.ts +24 -0
- package/dist/modules/workflow/read-only-filesystem.d.ts.map +1 -0
- package/dist/modules/workflow/read-only-filesystem.js +39 -0
- package/dist/modules/workflow/read-only-filesystem.js.map +1 -0
- package/dist/modules/workflow/recovery-bot.d.ts +31 -0
- package/dist/modules/workflow/recovery-bot.d.ts.map +1 -0
- package/dist/modules/workflow/recovery-bot.js +64 -0
- package/dist/modules/workflow/recovery-bot.js.map +1 -0
- package/dist/modules/workflow/review-workflow/review-workflow.interface.d.ts +137 -0
- package/dist/modules/workflow/review-workflow/review-workflow.interface.d.ts.map +1 -0
- package/dist/modules/workflow/review-workflow/review-workflow.interface.js +2 -0
- package/dist/modules/workflow/review-workflow/review-workflow.interface.js.map +1 -0
- package/dist/modules/workflow/review-workflow/review-workflow.service.d.ts +26 -0
- package/dist/modules/workflow/review-workflow/review-workflow.service.d.ts.map +1 -0
- package/dist/modules/workflow/review-workflow/review-workflow.service.js +636 -0
- package/dist/modules/workflow/review-workflow/review-workflow.service.js.map +1 -0
- package/dist/modules/workflow/sanitize-error.d.ts +29 -0
- package/dist/modules/workflow/sanitize-error.d.ts.map +1 -0
- package/dist/modules/workflow/sanitize-error.js +60 -0
- package/dist/modules/workflow/sanitize-error.js.map +1 -0
- package/dist/modules/workflow/session-ontology.policy.d.ts +52 -0
- package/dist/modules/workflow/session-ontology.policy.d.ts.map +1 -0
- package/dist/modules/workflow/session-ontology.policy.js +62 -0
- package/dist/modules/workflow/session-ontology.policy.js.map +1 -0
- package/dist/modules/workflow/session-ontology.service.d.ts +100 -0
- package/dist/modules/workflow/session-ontology.service.d.ts.map +1 -0
- package/dist/modules/workflow/session-ontology.service.js +143 -0
- package/dist/modules/workflow/session-ontology.service.js.map +1 -0
- package/dist/modules/workflow/workflow-hooks.d.ts +87 -0
- package/dist/modules/workflow/workflow-hooks.d.ts.map +1 -0
- package/dist/modules/workflow/workflow-hooks.js +35 -0
- package/dist/modules/workflow/workflow-hooks.js.map +1 -0
- package/dist/modules/workflow/workflow.errors.d.ts +171 -0
- package/dist/modules/workflow/workflow.errors.d.ts.map +1 -0
- package/dist/modules/workflow/workflow.errors.js +260 -0
- package/dist/modules/workflow/workflow.errors.js.map +1 -0
- package/dist/modules/workflow/workflow.routes.d.ts +26 -0
- package/dist/modules/workflow/workflow.routes.d.ts.map +1 -0
- package/dist/modules/workflow/workflow.routes.js +804 -0
- package/dist/modules/workflow/workflow.routes.js.map +1 -0
- package/dist/modules/workflow/workflow.service.d.ts +385 -0
- package/dist/modules/workflow/workflow.service.d.ts.map +1 -0
- package/dist/modules/workflow/workflow.service.js +1155 -0
- package/dist/modules/workflow/workflow.service.js.map +1 -0
- package/dist/modules/workspace/bevel-ignore.d.ts +25 -0
- package/dist/modules/workspace/bevel-ignore.d.ts.map +1 -0
- package/dist/modules/workspace/bevel-ignore.js +57 -0
- package/dist/modules/workspace/bevel-ignore.js.map +1 -0
- package/dist/modules/workspace/kb-seed.interface.d.ts +36 -0
- package/dist/modules/workspace/kb-seed.interface.d.ts.map +1 -0
- package/dist/modules/workspace/kb-seed.interface.js +2 -0
- package/dist/modules/workspace/kb-seed.interface.js.map +1 -0
- package/dist/modules/workspace/kb-seed.service.d.ts +70 -0
- package/dist/modules/workspace/kb-seed.service.d.ts.map +1 -0
- package/dist/modules/workspace/kb-seed.service.js +325 -0
- package/dist/modules/workspace/kb-seed.service.js.map +1 -0
- package/dist/modules/workspace/routine-write-policy.d.ts +49 -0
- package/dist/modules/workspace/routine-write-policy.d.ts.map +1 -0
- package/dist/modules/workspace/routine-write-policy.js +46 -0
- package/dist/modules/workspace/routine-write-policy.js.map +1 -0
- package/dist/modules/workspace/session-ontology.gate.d.ts +112 -0
- package/dist/modules/workspace/session-ontology.gate.d.ts.map +1 -0
- package/dist/modules/workspace/session-ontology.gate.js +161 -0
- package/dist/modules/workspace/session-ontology.gate.js.map +1 -0
- package/dist/modules/workspace/session-sink.d.ts +25 -0
- package/dist/modules/workspace/session-sink.d.ts.map +1 -0
- package/dist/modules/workspace/session-sink.js +8 -0
- package/dist/modules/workspace/session-sink.js.map +1 -0
- package/dist/modules/workspace/spill-store.d.ts +24 -0
- package/dist/modules/workspace/spill-store.d.ts.map +1 -0
- package/dist/modules/workspace/spill-store.js +87 -0
- package/dist/modules/workspace/spill-store.js.map +1 -0
- package/dist/modules/workspace/workspace.routes.d.ts +25 -0
- package/dist/modules/workspace/workspace.routes.d.ts.map +1 -0
- package/dist/modules/workspace/workspace.routes.js +1046 -0
- package/dist/modules/workspace/workspace.routes.js.map +1 -0
- package/dist/modules/workspace/workspace.service.d.ts +339 -0
- package/dist/modules/workspace/workspace.service.d.ts.map +1 -0
- package/dist/modules/workspace/workspace.service.js +1221 -0
- package/dist/modules/workspace/workspace.service.js.map +1 -0
- package/dist/modules/workspace/workspace.tools.d.ts +19 -0
- package/dist/modules/workspace/workspace.tools.d.ts.map +1 -0
- package/dist/modules/workspace/workspace.tools.js +767 -0
- package/dist/modules/workspace/workspace.tools.js.map +1 -0
- package/dist/shared/frontmatter-id.d.ts +35 -0
- package/dist/shared/frontmatter-id.d.ts.map +1 -0
- package/dist/shared/frontmatter-id.js +68 -0
- package/dist/shared/frontmatter-id.js.map +1 -0
- package/dist/shared/fs-walk.d.ts +9 -0
- package/dist/shared/fs-walk.d.ts.map +1 -0
- package/dist/shared/fs-walk.js +34 -0
- package/dist/shared/fs-walk.js.map +1 -0
- package/dist/shared/hash-email.d.ts +11 -0
- package/dist/shared/hash-email.d.ts.map +1 -0
- package/dist/shared/hash-email.js +14 -0
- package/dist/shared/hash-email.js.map +1 -0
- package/dist/shared/kb-layout.d.ts +38 -0
- package/dist/shared/kb-layout.d.ts.map +1 -0
- package/dist/shared/kb-layout.js +102 -0
- package/dist/shared/kb-layout.js.map +1 -0
- package/dist/shared/kb-layout.test.d.ts +2 -0
- package/dist/shared/kb-layout.test.d.ts.map +1 -0
- package/dist/shared/kb-layout.test.js +67 -0
- package/dist/shared/kb-layout.test.js.map +1 -0
- package/dist/shared/ssrf.d.ts +20 -0
- package/dist/shared/ssrf.d.ts.map +1 -0
- package/dist/shared/ssrf.js +89 -0
- package/dist/shared/ssrf.js.map +1 -0
- package/dist/shared/token-crypto.d.ts +16 -0
- package/dist/shared/token-crypto.d.ts.map +1 -0
- package/dist/shared/token-crypto.js +49 -0
- package/dist/shared/token-crypto.js.map +1 -0
- package/dist/shared/ttl-cache.d.ts +16 -0
- package/dist/shared/ttl-cache.d.ts.map +1 -0
- package/dist/shared/ttl-cache.js +27 -0
- package/dist/shared/ttl-cache.js.map +1 -0
- package/dist/shared/utcp-namespace.d.ts +46 -0
- package/dist/shared/utcp-namespace.d.ts.map +1 -0
- package/dist/shared/utcp-namespace.js +82 -0
- package/dist/shared/utcp-namespace.js.map +1 -0
- package/dist/version.d.ts +17 -0
- package/dist/version.d.ts.map +1 -0
- package/dist/version.js +19 -0
- package/dist/version.js.map +1 -0
- package/kb-template/.bevelignore +21 -0
- package/kb-template/Agents/.gitkeep +0 -0
- package/kb-template/Agents/README.md +38 -0
- package/kb-template/CLAUDE.md +419 -0
- package/kb-template/Data/.gitkeep +0 -0
- package/kb-template/Data/README.md +39 -0
- package/kb-template/KnowledgeBase/.gitkeep +0 -0
- package/kb-template/KnowledgeBase/README.md +37 -0
- package/kb-template/Pipelines/.gitkeep +0 -0
- package/kb-template/Pipelines/README.md +38 -0
- package/kb-template/Skills/.gitkeep +0 -0
- package/kb-template/Skills/README.md +32 -0
- package/kb-template/Tools/.gitkeep +0 -0
- package/kb-template/Tools/README.md +42 -0
- package/kb-template/access.md +36 -0
- package/migrations/0000_core_init.sql +243 -0
- package/migrations/meta/0000_snapshot.json +1480 -0
- package/migrations/meta/_journal.json +13 -0
- package/package.json +80 -0
- package/src/assets.ts +25 -0
- package/src/core/core-ports.ts +91 -0
- package/src/core/create-core-server.ts +338 -0
- package/src/core/create-core-services.ts +501 -0
- package/src/core-config.ts +257 -0
- package/src/index.ts +69 -0
- package/src/modules/access/__tests__/access-control.atref-batch.test.ts +98 -0
- package/src/modules/access/__tests__/access-control.read-batch.test.ts +132 -0
- package/src/modules/access/__tests__/access-control.service.test.ts +1011 -0
- package/src/modules/access/__tests__/access-mutation.service.test.ts +439 -0
- package/src/modules/access/__tests__/access-splice.test.ts +247 -0
- package/src/modules/access/__tests__/access.routes.revoke.test.ts +407 -0
- package/src/modules/access/__tests__/creator-access.test.ts +217 -0
- package/src/modules/access/__tests__/grant-sources.test.ts +204 -0
- package/src/modules/access/__tests__/kb-read-filter.test.ts +70 -0
- package/src/modules/access/__tests__/roles-admin.service.test.ts +469 -0
- package/src/modules/access/__tests__/roles-edit.test.ts +138 -0
- package/src/modules/access/__tests__/roles-yaml-guard.test.ts +70 -0
- package/src/modules/access/__tests__/roles.routes.test.ts +234 -0
- package/src/modules/access/access-control.interface.ts +383 -0
- package/src/modules/access/access-control.service.ts +1794 -0
- package/src/modules/access/access-errors.ts +60 -0
- package/src/modules/access/access-mutation.service.ts +369 -0
- package/src/modules/access/access-splice.ts +413 -0
- package/src/modules/access/access.routes.ts +894 -0
- package/src/modules/access/creator-access.ts +270 -0
- package/src/modules/access/kb-read-filter.ts +76 -0
- package/src/modules/access/roles-admin.service.ts +741 -0
- package/src/modules/access/roles-edit.ts +248 -0
- package/src/modules/access/roles-yaml-guard.ts +89 -0
- package/src/modules/admin/admin-access.routes.ts +29 -0
- package/src/modules/admin/admin-access.service.ts +38 -0
- package/src/modules/admin/admin.interface.ts +10 -0
- package/src/modules/auth/account-erasure.service.ts +183 -0
- package/src/modules/auth/auth.middleware.ts +78 -0
- package/src/modules/auth/auth.routes.ts +97 -0
- package/src/modules/auth/auth.service.ts +199 -0
- package/src/modules/code-mode/code-mode-names.ts +38 -0
- package/src/modules/code-mode/code-mode.tool.ts +117 -0
- package/src/modules/code-mode/index.ts +6 -0
- package/src/modules/database/connection.ts +15 -0
- package/src/modules/database/core-schema.ts +431 -0
- package/src/modules/database/migrate.ts +43 -0
- package/src/modules/database/schema.ts +11 -0
- package/src/modules/diff/__tests__/diff.routes.read-gate.test.ts +87 -0
- package/src/modules/diff/__tests__/diff.routes.rejectPathsLocked.test.ts +150 -0
- package/src/modules/diff/__tests__/diff.service.seed-atomicity.test.ts +184 -0
- package/src/modules/diff/__tests__/diff.service.test.ts +202 -0
- package/src/modules/diff/diff-paths.ts +9 -0
- package/src/modules/diff/diff.config.ts +12 -0
- package/src/modules/diff/diff.interface.ts +78 -0
- package/src/modules/diff/diff.routes.ts +277 -0
- package/src/modules/diff/diff.service.ts +508 -0
- package/src/modules/diff/line-diff.ts +79 -0
- package/src/modules/mcp/__tests__/bevel-oauth-provider.test.ts +287 -0
- package/src/modules/mcp/__tests__/mcp-auth.middleware.test.ts +249 -0
- package/src/modules/mcp/__tests__/mcp-proxy-helpers.test.ts +253 -0
- package/src/modules/mcp/__tests__/mcp-session-store.test.ts +151 -0
- package/src/modules/mcp/__tests__/mcp.e2e.test.ts +150 -0
- package/src/modules/mcp/__tests__/mcp.routes.delete.test.ts +92 -0
- package/src/modules/mcp/__tests__/mcp.service.test.ts +414 -0
- package/src/modules/mcp/mcp-auth.middleware.ts +126 -0
- package/src/modules/mcp/mcp-session-store.ts +162 -0
- package/src/modules/mcp/mcp.routes.ts +263 -0
- package/src/modules/mcp/mcp.service.ts +973 -0
- package/src/modules/mcp/oauth/bevel-oauth-provider.ts +401 -0
- package/src/modules/mcp/oauth/oauth-consent.routes.ts +60 -0
- package/src/modules/mcp/oauth/oauth-state.ts +61 -0
- package/src/modules/secrets-vault/__tests__/connect-pending.route.test.ts +277 -0
- package/src/modules/secrets-vault/__tests__/db-secrets-vault.oauth.test.ts +206 -0
- package/src/modules/secrets-vault/__tests__/mcp-oauth-discovery.service.test.ts +178 -0
- package/src/modules/secrets-vault/__tests__/scopes-covered.test.ts +101 -0
- package/src/modules/secrets-vault/__tests__/secrets-variable-loader.test.ts +54 -0
- package/src/modules/secrets-vault/__tests__/tool-owner-gate.route.test.ts +143 -0
- package/src/modules/secrets-vault/db-secrets-vault.service.ts +792 -0
- package/src/modules/secrets-vault/index.ts +25 -0
- package/src/modules/secrets-vault/mcp-oauth-discovery.service.ts +289 -0
- package/src/modules/secrets-vault/secrets-variable-loader.ts +104 -0
- package/src/modules/secrets-vault/secrets-vault.contract.ts +270 -0
- package/src/modules/secrets-vault/secrets-vault.routes.ts +526 -0
- package/src/modules/skills/__tests__/skills.service.test.ts +176 -0
- package/src/modules/skills/index.ts +10 -0
- package/src/modules/skills/skills.contract.ts +54 -0
- package/src/modules/skills/skills.routes.ts +38 -0
- package/src/modules/skills/skills.service.ts +245 -0
- package/src/modules/skills/skills.tools.ts +121 -0
- package/src/modules/tool-auth/__tests__/external-api-key.service.test.ts +358 -0
- package/src/modules/tool-auth/__tests__/internal-token.service.test.ts +79 -0
- package/src/modules/tool-auth/__tests__/manual-auth.middleware.test.ts +88 -0
- package/src/modules/tool-auth/external-api-key.errors.ts +25 -0
- package/src/modules/tool-auth/external-api-key.interface.ts +99 -0
- package/src/modules/tool-auth/external-api-key.service.ts +209 -0
- package/src/modules/tool-auth/internal-token.service.ts +124 -0
- package/src/modules/tool-auth/llm-usage-meter.ts +19 -0
- package/src/modules/tool-auth/tool-auth.middleware.ts +220 -0
- package/src/modules/tool-helpers/__tests__/phase0-loopback-spike.test.ts +129 -0
- package/src/modules/tool-helpers/__tests__/phase4-tools.test.ts +95 -0
- package/src/modules/tool-helpers/__tests__/tools-surface.test.ts +146 -0
- package/src/modules/tool-helpers/__tests__/validate-token.test.ts +75 -0
- package/src/modules/tool-helpers/index.ts +18 -0
- package/src/modules/tool-helpers/tool-context.ts +98 -0
- package/src/modules/tool-helpers/tool-def.ts +73 -0
- package/src/modules/tool-helpers/tool-handler.ts +91 -0
- package/src/modules/tool-helpers/tool.contract.ts +85 -0
- package/src/modules/tool-helpers/validate-token.ts +50 -0
- package/src/modules/tool-manuals/__tests__/tool-manuals.mcp-oauth.test.ts +200 -0
- package/src/modules/tool-manuals/__tests__/tool-manuals.service.test.ts +499 -0
- package/src/modules/tool-manuals/__tests__/tool-manuals.tools.test.ts +156 -0
- package/src/modules/tool-manuals/index.ts +12 -0
- package/src/modules/tool-manuals/tool-manuals.contract.ts +183 -0
- package/src/modules/tool-manuals/tool-manuals.routes.ts +110 -0
- package/src/modules/tool-manuals/tool-manuals.service.ts +781 -0
- package/src/modules/tool-manuals/tool-manuals.tools.ts +202 -0
- package/src/modules/tool-registry/__tests__/tool-registry.test.ts +64 -0
- package/src/modules/tool-registry/manual.routes.ts +87 -0
- package/src/modules/tool-registry/tool-registry.ts +55 -0
- package/src/modules/tool-registry/tool.contract.ts +52 -0
- package/src/modules/workflow/__tests__/event-bus.test.ts +322 -0
- package/src/modules/workflow/__tests__/file-change-notifier.test.ts +51 -0
- package/src/modules/workflow/__tests__/format-affected-owners.test.ts +67 -0
- package/src/modules/workflow/__tests__/locking-filesystem.test.ts +445 -0
- package/src/modules/workflow/__tests__/pending-commits.canonical.test.ts +36 -0
- package/src/modules/workflow/__tests__/pending-commits.worker.test.ts +243 -0
- package/src/modules/workflow/__tests__/preserve-roles-yaml.test.ts +308 -0
- package/src/modules/workflow/__tests__/sanitize-error.test.ts +67 -0
- package/src/modules/workflow/__tests__/session-ontology.policy.test.ts +62 -0
- package/src/modules/workflow/__tests__/session-ontology.service.test.ts +200 -0
- package/src/modules/workflow/__tests__/workflow.service.commitFileWhileLocked.test.ts +232 -0
- package/src/modules/workflow/__tests__/workflow.service.facade.test.ts +380 -0
- package/src/modules/workflow/__tests__/workflow.service.releaseLock.test.ts +340 -0
- package/src/modules/workflow/agent-tools/__tests__/workflow.tools.test.ts +192 -0
- package/src/modules/workflow/agent-tools/workflow.tools.ts +502 -0
- package/src/modules/workflow/event-bus.ts +262 -0
- package/src/modules/workflow/events.routes.ts +266 -0
- package/src/modules/workflow/file-change-notifier.ts +54 -0
- package/src/modules/workflow/file-lock.service.ts +269 -0
- package/src/modules/workflow/git/__tests__/branch-name.test.ts +86 -0
- package/src/modules/workflow/git/__tests__/branchAuthor.test.ts +80 -0
- package/src/modules/workflow/git/__tests__/clone-config.test.ts +15 -0
- package/src/modules/workflow/git/__tests__/git-test-helpers.ts +47 -0
- package/src/modules/workflow/git/__tests__/git-version.failure.test.ts +24 -0
- package/src/modules/workflow/git/__tests__/git-version.test.ts +49 -0
- package/src/modules/workflow/git/__tests__/git.service.accessGating.test.ts +389 -0
- package/src/modules/workflow/git/__tests__/git.service.changedFilesForPr.test.ts +124 -0
- package/src/modules/workflow/git/__tests__/git.service.commitChanges.test.ts +105 -0
- package/src/modules/workflow/git/__tests__/git.service.commitFile.test.ts +211 -0
- package/src/modules/workflow/git/__tests__/git.service.createBranch.test.ts +154 -0
- package/src/modules/workflow/git/__tests__/git.service.deleteBranch.test.ts +320 -0
- package/src/modules/workflow/git/__tests__/git.service.diffFileAtCommit.test.ts +202 -0
- package/src/modules/workflow/git/__tests__/git.service.diffFileBetweenBranches.test.ts +453 -0
- package/src/modules/workflow/git/__tests__/git.service.list-branches.test.ts +198 -0
- package/src/modules/workflow/git/__tests__/git.service.listTrackedFiles.test.ts +125 -0
- package/src/modules/workflow/git/__tests__/git.service.logForFile.test.ts +219 -0
- package/src/modules/workflow/git/__tests__/git.service.mergeChangeRequest.test.ts +145 -0
- package/src/modules/workflow/git/__tests__/git.service.pendingChanges.test.ts +240 -0
- package/src/modules/workflow/git/__tests__/git.service.postMergePull.test.ts +272 -0
- package/src/modules/workflow/git/__tests__/git.service.pull.test.ts +232 -0
- package/src/modules/workflow/git/__tests__/git.service.readFileAtRef.test.ts +101 -0
- package/src/modules/workflow/git/__tests__/git.service.status.test.ts +127 -0
- package/src/modules/workflow/git/__tests__/mutex.test.ts +78 -0
- package/src/modules/workflow/git/__tests__/pull-request.service.test.ts +225 -0
- package/src/modules/workflow/git/__tests__/pull-request.service.viewer-can-cancel.test.ts +101 -0
- package/src/modules/workflow/git/branch-name.ts +70 -0
- package/src/modules/workflow/git/clone-config.ts +71 -0
- package/src/modules/workflow/git/git-version.ts +70 -0
- package/src/modules/workflow/git/git.service.ts +2248 -0
- package/src/modules/workflow/git/mutex.ts +22 -0
- package/src/modules/workflow/git/pull-request.service.ts +447 -0
- package/src/modules/workflow/locking-filesystem.ts +489 -0
- package/src/modules/workflow/pending-commits.service.ts +444 -0
- package/src/modules/workflow/pending-commits.worker.ts +361 -0
- package/src/modules/workflow/read-only-filesystem.ts +54 -0
- package/src/modules/workflow/recovery-bot.ts +73 -0
- package/src/modules/workflow/review-workflow/__tests__/approval-states.test.ts +560 -0
- package/src/modules/workflow/review-workflow/__tests__/cancel-pr.test.ts +176 -0
- package/src/modules/workflow/review-workflow/__tests__/merge-gate.test.ts +258 -0
- package/src/modules/workflow/review-workflow/review-workflow.interface.ts +199 -0
- package/src/modules/workflow/review-workflow/review-workflow.service.ts +806 -0
- package/src/modules/workflow/sanitize-error.ts +62 -0
- package/src/modules/workflow/session-ontology.policy.ts +70 -0
- package/src/modules/workflow/session-ontology.service.ts +178 -0
- package/src/modules/workflow/workflow-hooks.ts +101 -0
- package/src/modules/workflow/workflow.errors.ts +285 -0
- package/src/modules/workflow/workflow.routes.ts +858 -0
- package/src/modules/workflow/workflow.service.ts +1555 -0
- package/src/modules/workspace/__tests__/kb-seed.service.test.ts +213 -0
- package/src/modules/workspace/__tests__/routine-write-policy.test.ts +68 -0
- package/src/modules/workspace/__tests__/session-ontology.gate.test.ts +237 -0
- package/src/modules/workspace/__tests__/spill-store.test.ts +43 -0
- package/src/modules/workspace/__tests__/workspace.routes.create-grant.test.ts +233 -0
- package/src/modules/workspace/__tests__/workspace.routes.delete.test.ts +176 -0
- package/src/modules/workspace/__tests__/workspace.routes.download.test.ts +303 -0
- package/src/modules/workspace/__tests__/workspace.routes.read-gate.test.ts +276 -0
- package/src/modules/workspace/__tests__/workspace.service.read-filter.test.ts +120 -0
- package/src/modules/workspace/__tests__/workspace.service.test.ts +565 -0
- package/src/modules/workspace/__tests__/workspace.tools.test.ts +504 -0
- package/src/modules/workspace/bevel-ignore.ts +62 -0
- package/src/modules/workspace/kb-seed.interface.ts +36 -0
- package/src/modules/workspace/kb-seed.service.ts +361 -0
- package/src/modules/workspace/routine-write-policy.ts +79 -0
- package/src/modules/workspace/session-ontology.gate.ts +189 -0
- package/src/modules/workspace/session-sink.ts +25 -0
- package/src/modules/workspace/spill-store.ts +87 -0
- package/src/modules/workspace/workspace.routes.ts +1114 -0
- package/src/modules/workspace/workspace.service.ts +1343 -0
- package/src/modules/workspace/workspace.tools.ts +885 -0
- package/src/shared/__tests__/frontmatter-id.test.ts +88 -0
- package/src/shared/__tests__/fs-walk.test.ts +42 -0
- package/src/shared/__tests__/ssrf.test.ts +53 -0
- package/src/shared/__tests__/utcp-namespace.test.ts +19 -0
- package/src/shared/frontmatter-id.ts +72 -0
- package/src/shared/fs-walk.ts +30 -0
- package/src/shared/hash-email.ts +14 -0
- package/src/shared/kb-layout.test.ts +88 -0
- package/src/shared/kb-layout.ts +101 -0
- package/src/shared/ssrf.ts +78 -0
- package/src/shared/token-crypto.ts +54 -0
- package/src/shared/ttl-cache.ts +27 -0
- package/src/shared/utcp-namespace.ts +88 -0
- package/src/version.ts +19 -0
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The registry instance. ONE per composition (created in
|
|
3
|
+
* `createCoreServices`, shared by `GitService` and exposed as
|
|
4
|
+
* `WorkflowService.hooks` for the composition root to register against).
|
|
5
|
+
*/
|
|
6
|
+
export class WorkflowHooks {
|
|
7
|
+
commitValidation = [];
|
|
8
|
+
preWrite = [];
|
|
9
|
+
/** Register an advisory commit-time validation hook. */
|
|
10
|
+
onCommitValidation(hook) {
|
|
11
|
+
this.commitValidation.push(hook);
|
|
12
|
+
}
|
|
13
|
+
/** Register a blocking pre-write hook. */
|
|
14
|
+
onPreWrite(hook) {
|
|
15
|
+
this.preWrite.push(hook);
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* The registered commit-validation hooks, for the caller (`GitService`) to
|
|
19
|
+
* iterate with its own advisory catch-and-log semantics.
|
|
20
|
+
*/
|
|
21
|
+
commitValidationHooks() {
|
|
22
|
+
return this.commitValidation;
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* Run every blocking pre-write hook in registration order. The first throw
|
|
26
|
+
* propagates and rejects the write; with no hooks registered (core-only)
|
|
27
|
+
* this resolves immediately.
|
|
28
|
+
*/
|
|
29
|
+
async runPreWrite(ctx) {
|
|
30
|
+
for (const hook of this.preWrite) {
|
|
31
|
+
await hook(ctx);
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
//# sourceMappingURL=workflow-hooks.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"workflow-hooks.js","sourceRoot":"","sources":["../../../src/modules/workflow/workflow-hooks.ts"],"names":[],"mappings":"AA+DA;;;;GAIG;AACH,MAAM,OAAO,aAAa;IACP,gBAAgB,GAA2B,EAAE,CAAC;IAC9C,QAAQ,GAAmB,EAAE,CAAC;IAE/C,wDAAwD;IACxD,kBAAkB,CAAC,IAA0B;QAC3C,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACnC,CAAC;IAED,0CAA0C;IAC1C,UAAU,CAAC,IAAkB;QAC3B,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC3B,CAAC;IAED;;;OAGG;IACH,qBAAqB;QACnB,OAAO,IAAI,CAAC,gBAAgB,CAAC;IAC/B,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,WAAW,CAAC,GAAoB;QACpC,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YACjC,MAAM,IAAI,CAAC,GAAG,CAAC,CAAC;QAClB,CAAC;IACH,CAAC;CACF"}
|
|
@@ -0,0 +1,171 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Workflow domain errors. This is the single source of truth — every error
|
|
3
|
+
* raised by the workflow module (branches, changes, change requests, access
|
|
4
|
+
* control, locks) lives here. Route handlers shape responses via the
|
|
5
|
+
* `.status` + `.payload` contract on the base class.
|
|
6
|
+
*
|
|
7
|
+
* Naming: classes use workflow vocabulary. `WorkflowDomainError` is the
|
|
8
|
+
* abstract base; specific subclasses describe the workflow concept that
|
|
9
|
+
* went wrong (`BranchNameError`, `ProtectedBranchError`, etc.). Where a
|
|
10
|
+
* concept is purely git mechanics with no workflow analogue
|
|
11
|
+
* (`NoSharedHistoryError`), the name keeps its git flavour because
|
|
12
|
+
* consumers actually need to discriminate on it.
|
|
13
|
+
*/
|
|
14
|
+
import type { ValidationReport } from '@bevel-software/platform-shared';
|
|
15
|
+
export declare class WorkflowDomainError extends Error {
|
|
16
|
+
readonly status: number;
|
|
17
|
+
readonly payload?: Record<string, unknown>;
|
|
18
|
+
constructor(message: string, status: number, payload?: Record<string, unknown>);
|
|
19
|
+
}
|
|
20
|
+
export declare class BranchNameError extends WorkflowDomainError {
|
|
21
|
+
readonly branchName: string;
|
|
22
|
+
constructor(reason: string, branchName: string);
|
|
23
|
+
}
|
|
24
|
+
export declare class ProtectedBranchError extends WorkflowDomainError {
|
|
25
|
+
readonly branchName: string;
|
|
26
|
+
readonly action: string;
|
|
27
|
+
constructor(branchName: string, action: string);
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* The caller tried to delete a branch they don't own. Authorship is inferred
|
|
31
|
+
* from the `<email-localpart>/<slug>` naming convention used by
|
|
32
|
+
* `slugifyDraftName` — see `isBranchAuthoredBy` in `@bevel-software/platform-shared`.
|
|
33
|
+
*
|
|
34
|
+
* Distinct from `AccessDeniedError` because that error is path-based
|
|
35
|
+
* (file-level write permission via `roles.yaml`/`access.md`). Branch
|
|
36
|
+
* authorship is identity-based and has no eligible-roles list to surface —
|
|
37
|
+
* the only way for someone else to delete a non-author's branch is to push
|
|
38
|
+
* the delete via git CLI directly.
|
|
39
|
+
*/
|
|
40
|
+
export declare class BranchAuthorshipError extends WorkflowDomainError {
|
|
41
|
+
readonly branchName: string;
|
|
42
|
+
readonly kind: "branch-authorship";
|
|
43
|
+
constructor(branchName: string);
|
|
44
|
+
}
|
|
45
|
+
/**
|
|
46
|
+
* The local commit landed but pushing it to origin failed because the
|
|
47
|
+
* remote diverged (a teammate or the agent landed competing commits while
|
|
48
|
+
* the lock was held). The cooperative recovery — `pull --rebase` + retry
|
|
49
|
+
* push — also failed, because the divergence touches the same file and the
|
|
50
|
+
* rebase conflicts.
|
|
51
|
+
*
|
|
52
|
+
* Per the "disk is the source of truth" rule we do NOT auto-force-push
|
|
53
|
+
* from the workflow layer (that's a destructive history rewrite that can
|
|
54
|
+
* lose teammate work irrecoverably). Instead we surface this structured
|
|
55
|
+
* error so the frontend can seed an agent prompt — the agent has git + gh
|
|
56
|
+
* CLI access plus the lock-aware write tool, so it can read both sides,
|
|
57
|
+
* semantically merge, and save the resolved file through the normal
|
|
58
|
+
* save=share pipeline. The user sees only a loading indicator; the agent
|
|
59
|
+
* does the reconciliation.
|
|
60
|
+
*
|
|
61
|
+
* State at the moment this fires:
|
|
62
|
+
* - The local branch has the user's just-committed change as its HEAD.
|
|
63
|
+
* - The lock has already been released (lock release runs BEFORE the
|
|
64
|
+
* push attempt). The agent can acquire its own lock.
|
|
65
|
+
* - `origin/<branch>` has commits the local clone doesn't reach.
|
|
66
|
+
* - The working tree is clean (the commit landed).
|
|
67
|
+
*
|
|
68
|
+
* The payload carries enough context that the prompt builder can phrase
|
|
69
|
+
* the resolution request to the agent without further server round-trips.
|
|
70
|
+
*/
|
|
71
|
+
export declare class PushNeedsAgentResolutionError extends WorkflowDomainError {
|
|
72
|
+
readonly branch: string;
|
|
73
|
+
readonly path: string;
|
|
74
|
+
readonly originalDetail: string;
|
|
75
|
+
readonly recoveryDetail: string;
|
|
76
|
+
readonly kind: "push-needs-resolution";
|
|
77
|
+
constructor(branch: string, path: string, originalDetail: string, recoveryDetail: string);
|
|
78
|
+
}
|
|
79
|
+
/**
|
|
80
|
+
* Generic 400 for workflow-input validation (malformed branch names, missing
|
|
81
|
+
* fields, etc.). Carries an optional payload so callers can attach typed
|
|
82
|
+
* discriminators (`kind: '...'`) when the frontend needs to switch on the
|
|
83
|
+
* specific failure mode.
|
|
84
|
+
*/
|
|
85
|
+
export declare class WorkflowValidationError extends WorkflowDomainError {
|
|
86
|
+
constructor(message: string, payload?: Record<string, unknown>);
|
|
87
|
+
}
|
|
88
|
+
/**
|
|
89
|
+
* The draft branch doesn't share history with the target branch, so GitHub
|
|
90
|
+
* would reject the change request with `no history in common`. Surfaced as
|
|
91
|
+
* a structured payload so the frontend's typed-error parser can route into
|
|
92
|
+
* the agent recovery flow.
|
|
93
|
+
*/
|
|
94
|
+
export declare class NoSharedHistoryError extends WorkflowDomainError {
|
|
95
|
+
readonly head: string;
|
|
96
|
+
readonly base: string;
|
|
97
|
+
readonly kind: "no-shared-history";
|
|
98
|
+
constructor(head: string, base: string);
|
|
99
|
+
}
|
|
100
|
+
/**
|
|
101
|
+
* The KB validator reported `mustFix` issues (DANGLING LINK / ASYMMETRY /
|
|
102
|
+
* ERROR) — the change cannot land until they're resolved. The payload
|
|
103
|
+
* carries the structured report so the UI / agent can render the items
|
|
104
|
+
* the user must fix without re-running the validator.
|
|
105
|
+
*/
|
|
106
|
+
export declare class ValidationFailedError extends WorkflowDomainError {
|
|
107
|
+
readonly validation: ValidationReport;
|
|
108
|
+
constructor(report: ValidationReport);
|
|
109
|
+
}
|
|
110
|
+
/**
|
|
111
|
+
* Method exists on the workflow interface but has no backing implementation
|
|
112
|
+
* yet. 501 so the frontend can light up "coming soon" affordances without
|
|
113
|
+
* confusing them with 5xx infra failures. `feature` is the workflow method
|
|
114
|
+
* name; clients switch on it to render targeted copy.
|
|
115
|
+
*/
|
|
116
|
+
export declare class NotImplementedWorkflowError extends WorkflowDomainError {
|
|
117
|
+
readonly feature: string;
|
|
118
|
+
readonly kind: "not-implemented";
|
|
119
|
+
constructor(feature: string);
|
|
120
|
+
}
|
|
121
|
+
/**
|
|
122
|
+
* Attempting to reconcile two branches (opening a change request, refreshing
|
|
123
|
+
* one from target, or executing a merge) hit conflicts that the workflow
|
|
124
|
+
* cannot auto-resolve. The structured payload carries the list of
|
|
125
|
+
* conflicting paths so the frontend / agent can route into the resolution
|
|
126
|
+
* flow without a second round-trip.
|
|
127
|
+
*
|
|
128
|
+
* 409 because the conflict is a precondition the caller has to clear (by
|
|
129
|
+
* resolving + committing on the source branch) before the operation can
|
|
130
|
+
* succeed — same semantics git itself uses for merge conflicts.
|
|
131
|
+
*/
|
|
132
|
+
export declare class ChangeRequestConflictsError extends WorkflowDomainError {
|
|
133
|
+
readonly sourceBranch: string;
|
|
134
|
+
readonly targetBranch: string;
|
|
135
|
+
readonly conflictedPaths: string[];
|
|
136
|
+
readonly kind: "change-request-conflicts";
|
|
137
|
+
constructor(sourceBranch: string, targetBranch: string, conflictedPaths: string[]);
|
|
138
|
+
}
|
|
139
|
+
/**
|
|
140
|
+
* Caller tried to open a change request for a `(source, target)` pair that
|
|
141
|
+
* already has one open. Spec rule: A→B blocks A→B (B→A is allowed). Carries
|
|
142
|
+
* the existing CR number so the UI / agent can deep-link to it instead of
|
|
143
|
+
* trying to recover.
|
|
144
|
+
*/
|
|
145
|
+
export declare class DuplicateChangeRequestError extends WorkflowDomainError {
|
|
146
|
+
readonly sourceBranch: string;
|
|
147
|
+
readonly targetBranch: string;
|
|
148
|
+
readonly existingNumber: number;
|
|
149
|
+
readonly kind: "duplicate-change-request";
|
|
150
|
+
constructor(sourceBranch: string, targetBranch: string, existingNumber: number);
|
|
151
|
+
}
|
|
152
|
+
/**
|
|
153
|
+
* Raised when a merge must neutralise a CR's `roles.yaml` change (restore the
|
|
154
|
+
* base branch's version on the source branch) but that preservation write fails.
|
|
155
|
+
* `roles.yaml` decides admin membership and is mutable ONLY via the admin Roles
|
|
156
|
+
* & Members surface — a CR must never carry a roles.yaml change across a merge,
|
|
157
|
+
* so if we cannot guarantee the base version is preserved we abort the merge
|
|
158
|
+
* rather than risk landing the CR's version on a protected branch. 502: the
|
|
159
|
+
* failure is an internal git/push hiccup, not the caller's fault.
|
|
160
|
+
*/
|
|
161
|
+
export declare class RolesYamlPreservationError extends WorkflowDomainError {
|
|
162
|
+
readonly kind: "roles-yaml-preservation-failed";
|
|
163
|
+
/**
|
|
164
|
+
* The underlying git/push failure. Kept OFF the client-facing message (which
|
|
165
|
+
* stays generic for the 502) so raw git internals / paths don't leak to the
|
|
166
|
+
* caller — log this server-side for diagnostics instead.
|
|
167
|
+
*/
|
|
168
|
+
readonly detail: string;
|
|
169
|
+
constructor(reason: string);
|
|
170
|
+
}
|
|
171
|
+
//# sourceMappingURL=workflow.errors.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"workflow.errors.d.ts","sourceRoot":"","sources":["../../../src/modules/workflow/workflow.errors.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,260 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Workflow domain errors. This is the single source of truth — every error
|
|
3
|
+
* raised by the workflow module (branches, changes, change requests, access
|
|
4
|
+
* control, locks) lives here. Route handlers shape responses via the
|
|
5
|
+
* `.status` + `.payload` contract on the base class.
|
|
6
|
+
*
|
|
7
|
+
* Naming: classes use workflow vocabulary. `WorkflowDomainError` is the
|
|
8
|
+
* abstract base; specific subclasses describe the workflow concept that
|
|
9
|
+
* went wrong (`BranchNameError`, `ProtectedBranchError`, etc.). Where a
|
|
10
|
+
* concept is purely git mechanics with no workflow analogue
|
|
11
|
+
* (`NoSharedHistoryError`), the name keeps its git flavour because
|
|
12
|
+
* consumers actually need to discriminate on it.
|
|
13
|
+
*/
|
|
14
|
+
export class WorkflowDomainError extends Error {
|
|
15
|
+
status;
|
|
16
|
+
payload;
|
|
17
|
+
constructor(message, status, payload) {
|
|
18
|
+
super(message);
|
|
19
|
+
this.name = 'WorkflowDomainError';
|
|
20
|
+
this.status = status;
|
|
21
|
+
this.payload = payload;
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
export class BranchNameError extends WorkflowDomainError {
|
|
25
|
+
branchName;
|
|
26
|
+
constructor(reason, branchName) {
|
|
27
|
+
super(`Invalid branch name "${branchName}": ${reason}`, 400);
|
|
28
|
+
this.branchName = branchName;
|
|
29
|
+
this.name = 'BranchNameError';
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
export class ProtectedBranchError extends WorkflowDomainError {
|
|
33
|
+
branchName;
|
|
34
|
+
action;
|
|
35
|
+
constructor(branchName, action) {
|
|
36
|
+
super(`Branch "${branchName}" is protected — ${action} is not allowed.`, 403);
|
|
37
|
+
this.branchName = branchName;
|
|
38
|
+
this.action = action;
|
|
39
|
+
this.name = 'ProtectedBranchError';
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
/**
|
|
43
|
+
* The caller tried to delete a branch they don't own. Authorship is inferred
|
|
44
|
+
* from the `<email-localpart>/<slug>` naming convention used by
|
|
45
|
+
* `slugifyDraftName` — see `isBranchAuthoredBy` in `@bevel-software/platform-shared`.
|
|
46
|
+
*
|
|
47
|
+
* Distinct from `AccessDeniedError` because that error is path-based
|
|
48
|
+
* (file-level write permission via `roles.yaml`/`access.md`). Branch
|
|
49
|
+
* authorship is identity-based and has no eligible-roles list to surface —
|
|
50
|
+
* the only way for someone else to delete a non-author's branch is to push
|
|
51
|
+
* the delete via git CLI directly.
|
|
52
|
+
*/
|
|
53
|
+
export class BranchAuthorshipError extends WorkflowDomainError {
|
|
54
|
+
branchName;
|
|
55
|
+
kind = 'branch-authorship';
|
|
56
|
+
constructor(branchName) {
|
|
57
|
+
super(`Only the author of "${branchName}" can delete it.`, 403, { kind: 'branch-authorship', branchName });
|
|
58
|
+
this.branchName = branchName;
|
|
59
|
+
this.name = 'BranchAuthorshipError';
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
// `DirtyWorkingTreeError` removed: under save=share + per-branch workspaces
|
|
63
|
+
// no operation in the workflow can legitimately encounter a dirty working
|
|
64
|
+
// tree. The two former callers (`switchBranch` and `mergeFromOrigin`'s
|
|
65
|
+
// pre-flight) are gone / relaxed; if a dirty tree ever shows up it's an
|
|
66
|
+
// internal bug that gets server-side-logged in `statusInternal`, never
|
|
67
|
+
// surfaced as a user-facing 409.
|
|
68
|
+
/**
|
|
69
|
+
* The local commit landed but pushing it to origin failed because the
|
|
70
|
+
* remote diverged (a teammate or the agent landed competing commits while
|
|
71
|
+
* the lock was held). The cooperative recovery — `pull --rebase` + retry
|
|
72
|
+
* push — also failed, because the divergence touches the same file and the
|
|
73
|
+
* rebase conflicts.
|
|
74
|
+
*
|
|
75
|
+
* Per the "disk is the source of truth" rule we do NOT auto-force-push
|
|
76
|
+
* from the workflow layer (that's a destructive history rewrite that can
|
|
77
|
+
* lose teammate work irrecoverably). Instead we surface this structured
|
|
78
|
+
* error so the frontend can seed an agent prompt — the agent has git + gh
|
|
79
|
+
* CLI access plus the lock-aware write tool, so it can read both sides,
|
|
80
|
+
* semantically merge, and save the resolved file through the normal
|
|
81
|
+
* save=share pipeline. The user sees only a loading indicator; the agent
|
|
82
|
+
* does the reconciliation.
|
|
83
|
+
*
|
|
84
|
+
* State at the moment this fires:
|
|
85
|
+
* - The local branch has the user's just-committed change as its HEAD.
|
|
86
|
+
* - The lock has already been released (lock release runs BEFORE the
|
|
87
|
+
* push attempt). The agent can acquire its own lock.
|
|
88
|
+
* - `origin/<branch>` has commits the local clone doesn't reach.
|
|
89
|
+
* - The working tree is clean (the commit landed).
|
|
90
|
+
*
|
|
91
|
+
* The payload carries enough context that the prompt builder can phrase
|
|
92
|
+
* the resolution request to the agent without further server round-trips.
|
|
93
|
+
*/
|
|
94
|
+
export class PushNeedsAgentResolutionError extends WorkflowDomainError {
|
|
95
|
+
branch;
|
|
96
|
+
path;
|
|
97
|
+
originalDetail;
|
|
98
|
+
recoveryDetail;
|
|
99
|
+
kind = 'push-needs-resolution';
|
|
100
|
+
constructor(branch, path, originalDetail, recoveryDetail) {
|
|
101
|
+
super(`Saved locally on "${branch}" but couldn't share with the team automatically — ` +
|
|
102
|
+
`the remote diverged on "${path}" and the cooperative rebase couldn't reconcile. ` +
|
|
103
|
+
`The agent will resolve this.`, 409, {
|
|
104
|
+
kind: 'push-needs-resolution',
|
|
105
|
+
branch,
|
|
106
|
+
path,
|
|
107
|
+
originalDetail,
|
|
108
|
+
recoveryDetail,
|
|
109
|
+
});
|
|
110
|
+
this.branch = branch;
|
|
111
|
+
this.path = path;
|
|
112
|
+
this.originalDetail = originalDetail;
|
|
113
|
+
this.recoveryDetail = recoveryDetail;
|
|
114
|
+
this.name = 'PushNeedsAgentResolutionError';
|
|
115
|
+
}
|
|
116
|
+
}
|
|
117
|
+
/**
|
|
118
|
+
* Generic 400 for workflow-input validation (malformed branch names, missing
|
|
119
|
+
* fields, etc.). Carries an optional payload so callers can attach typed
|
|
120
|
+
* discriminators (`kind: '...'`) when the frontend needs to switch on the
|
|
121
|
+
* specific failure mode.
|
|
122
|
+
*/
|
|
123
|
+
export class WorkflowValidationError extends WorkflowDomainError {
|
|
124
|
+
constructor(message, payload) {
|
|
125
|
+
super(message, 400, payload);
|
|
126
|
+
this.name = 'WorkflowValidationError';
|
|
127
|
+
}
|
|
128
|
+
}
|
|
129
|
+
/**
|
|
130
|
+
* The draft branch doesn't share history with the target branch, so GitHub
|
|
131
|
+
* would reject the change request with `no history in common`. Surfaced as
|
|
132
|
+
* a structured payload so the frontend's typed-error parser can route into
|
|
133
|
+
* the agent recovery flow.
|
|
134
|
+
*/
|
|
135
|
+
export class NoSharedHistoryError extends WorkflowDomainError {
|
|
136
|
+
head;
|
|
137
|
+
base;
|
|
138
|
+
kind = 'no-shared-history';
|
|
139
|
+
constructor(head, base) {
|
|
140
|
+
super(`The draft "${head}" doesn't share history with "${base}". ` +
|
|
141
|
+
`It was likely started outside the app or from an unrelated point.`, 400, { kind: 'no-shared-history', head, base });
|
|
142
|
+
this.head = head;
|
|
143
|
+
this.base = base;
|
|
144
|
+
this.name = 'NoSharedHistoryError';
|
|
145
|
+
}
|
|
146
|
+
}
|
|
147
|
+
/**
|
|
148
|
+
* The KB validator reported `mustFix` issues (DANGLING LINK / ASYMMETRY /
|
|
149
|
+
* ERROR) — the change cannot land until they're resolved. The payload
|
|
150
|
+
* carries the structured report so the UI / agent can render the items
|
|
151
|
+
* the user must fix without re-running the validator.
|
|
152
|
+
*/
|
|
153
|
+
export class ValidationFailedError extends WorkflowDomainError {
|
|
154
|
+
validation;
|
|
155
|
+
constructor(report) {
|
|
156
|
+
super(`Cannot commit — knowledge graph has ${report.mustFix.length} unresolved issue(s).`, 422, {
|
|
157
|
+
validation: {
|
|
158
|
+
ok: report.ok,
|
|
159
|
+
mustFix: report.mustFix,
|
|
160
|
+
warnings: report.warnings,
|
|
161
|
+
},
|
|
162
|
+
});
|
|
163
|
+
this.name = 'ValidationFailedError';
|
|
164
|
+
this.validation = report;
|
|
165
|
+
}
|
|
166
|
+
}
|
|
167
|
+
/**
|
|
168
|
+
* Method exists on the workflow interface but has no backing implementation
|
|
169
|
+
* yet. 501 so the frontend can light up "coming soon" affordances without
|
|
170
|
+
* confusing them with 5xx infra failures. `feature` is the workflow method
|
|
171
|
+
* name; clients switch on it to render targeted copy.
|
|
172
|
+
*/
|
|
173
|
+
export class NotImplementedWorkflowError extends WorkflowDomainError {
|
|
174
|
+
feature;
|
|
175
|
+
kind = 'not-implemented';
|
|
176
|
+
constructor(feature) {
|
|
177
|
+
super(`Workflow feature "${feature}" is not yet implemented in this build.`, 501, { kind: 'not-implemented', feature });
|
|
178
|
+
this.feature = feature;
|
|
179
|
+
this.name = 'NotImplementedWorkflowError';
|
|
180
|
+
}
|
|
181
|
+
}
|
|
182
|
+
/**
|
|
183
|
+
* Attempting to reconcile two branches (opening a change request, refreshing
|
|
184
|
+
* one from target, or executing a merge) hit conflicts that the workflow
|
|
185
|
+
* cannot auto-resolve. The structured payload carries the list of
|
|
186
|
+
* conflicting paths so the frontend / agent can route into the resolution
|
|
187
|
+
* flow without a second round-trip.
|
|
188
|
+
*
|
|
189
|
+
* 409 because the conflict is a precondition the caller has to clear (by
|
|
190
|
+
* resolving + committing on the source branch) before the operation can
|
|
191
|
+
* succeed — same semantics git itself uses for merge conflicts.
|
|
192
|
+
*/
|
|
193
|
+
export class ChangeRequestConflictsError extends WorkflowDomainError {
|
|
194
|
+
sourceBranch;
|
|
195
|
+
targetBranch;
|
|
196
|
+
conflictedPaths;
|
|
197
|
+
kind = 'change-request-conflicts';
|
|
198
|
+
constructor(sourceBranch, targetBranch, conflictedPaths) {
|
|
199
|
+
const list = conflictedPaths.join(', ');
|
|
200
|
+
super(`Conflicts merging "${targetBranch}" into "${sourceBranch}". ` +
|
|
201
|
+
`${conflictedPaths.length} file(s): ${list}. Resolve on "${sourceBranch}" and try again.`, 409, {
|
|
202
|
+
kind: 'change-request-conflicts',
|
|
203
|
+
sourceBranch,
|
|
204
|
+
targetBranch,
|
|
205
|
+
conflictedPaths,
|
|
206
|
+
});
|
|
207
|
+
this.sourceBranch = sourceBranch;
|
|
208
|
+
this.targetBranch = targetBranch;
|
|
209
|
+
this.conflictedPaths = conflictedPaths;
|
|
210
|
+
this.name = 'ChangeRequestConflictsError';
|
|
211
|
+
}
|
|
212
|
+
}
|
|
213
|
+
/**
|
|
214
|
+
* Caller tried to open a change request for a `(source, target)` pair that
|
|
215
|
+
* already has one open. Spec rule: A→B blocks A→B (B→A is allowed). Carries
|
|
216
|
+
* the existing CR number so the UI / agent can deep-link to it instead of
|
|
217
|
+
* trying to recover.
|
|
218
|
+
*/
|
|
219
|
+
export class DuplicateChangeRequestError extends WorkflowDomainError {
|
|
220
|
+
sourceBranch;
|
|
221
|
+
targetBranch;
|
|
222
|
+
existingNumber;
|
|
223
|
+
kind = 'duplicate-change-request';
|
|
224
|
+
constructor(sourceBranch, targetBranch, existingNumber) {
|
|
225
|
+
super(`An open change request already exists from "${sourceBranch}" to "${targetBranch}" (#${existingNumber}).`, 409, {
|
|
226
|
+
kind: 'duplicate-change-request',
|
|
227
|
+
sourceBranch,
|
|
228
|
+
targetBranch,
|
|
229
|
+
existingNumber,
|
|
230
|
+
});
|
|
231
|
+
this.sourceBranch = sourceBranch;
|
|
232
|
+
this.targetBranch = targetBranch;
|
|
233
|
+
this.existingNumber = existingNumber;
|
|
234
|
+
this.name = 'DuplicateChangeRequestError';
|
|
235
|
+
}
|
|
236
|
+
}
|
|
237
|
+
/**
|
|
238
|
+
* Raised when a merge must neutralise a CR's `roles.yaml` change (restore the
|
|
239
|
+
* base branch's version on the source branch) but that preservation write fails.
|
|
240
|
+
* `roles.yaml` decides admin membership and is mutable ONLY via the admin Roles
|
|
241
|
+
* & Members surface — a CR must never carry a roles.yaml change across a merge,
|
|
242
|
+
* so if we cannot guarantee the base version is preserved we abort the merge
|
|
243
|
+
* rather than risk landing the CR's version on a protected branch. 502: the
|
|
244
|
+
* failure is an internal git/push hiccup, not the caller's fault.
|
|
245
|
+
*/
|
|
246
|
+
export class RolesYamlPreservationError extends WorkflowDomainError {
|
|
247
|
+
kind = 'roles-yaml-preservation-failed';
|
|
248
|
+
/**
|
|
249
|
+
* The underlying git/push failure. Kept OFF the client-facing message (which
|
|
250
|
+
* stays generic for the 502) so raw git internals / paths don't leak to the
|
|
251
|
+
* caller — log this server-side for diagnostics instead.
|
|
252
|
+
*/
|
|
253
|
+
detail;
|
|
254
|
+
constructor(reason) {
|
|
255
|
+
super('Could not preserve the official roles.yaml while merging — merge aborted so no roles.yaml change can ride in.', 502, { kind: 'roles-yaml-preservation-failed' });
|
|
256
|
+
this.name = 'RolesYamlPreservationError';
|
|
257
|
+
this.detail = reason;
|
|
258
|
+
}
|
|
259
|
+
}
|
|
260
|
+
//# sourceMappingURL=workflow.errors.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"workflow.errors.js","sourceRoot":"","sources":["../../../src/modules/workflow/workflow.errors.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `/workflow/*` HTTP surface — the route family the frontend and agent
|
|
3
|
+
* should reach for instead of `/git/*` and `/pr/*`. Today these are additive
|
|
4
|
+
* (the old families keep working); migration plan in `bevel-platform/PLAN.md`.
|
|
5
|
+
*
|
|
6
|
+
* URL layout:
|
|
7
|
+
* /workspace/:id/workflow/... — workspace-scoped ops (branches, changes, locks, compare)
|
|
8
|
+
* /workflow/change-requests/... — change-request ops (list/detail/comments/approvals/merge/reject)
|
|
9
|
+
*
|
|
10
|
+
* Workspace ids are `encodeURIComponent(branch)` (PLAN §3) — branches are
|
|
11
|
+
* shared by every user editing them, so route handlers gate on
|
|
12
|
+
* authentication only. Coordination of concurrent edits happens via the
|
|
13
|
+
* file-lock service, not via per-user clones.
|
|
14
|
+
*
|
|
15
|
+
* Error mapping: every workflow error class extends `WorkflowDomainError`
|
|
16
|
+
* which exposes `.status` + optional `.payload`, so a single `toHttpError`
|
|
17
|
+
* covers all branches/changes/CR errors uniformly.
|
|
18
|
+
*/
|
|
19
|
+
import express from 'express';
|
|
20
|
+
import type { IWorkflowService } from '@bevel-software/platform-shared';
|
|
21
|
+
import type { AuthService } from '../auth/auth.service.js';
|
|
22
|
+
import type { WorkspaceService } from '../workspace/workspace.service.js';
|
|
23
|
+
import type { WorkflowEventBus } from './event-bus.js';
|
|
24
|
+
import '../auth/auth.middleware.js';
|
|
25
|
+
export declare function createWorkflowRoutes(workflow: IWorkflowService, workspaceService: WorkspaceService, authService: AuthService, events: WorkflowEventBus): express.Router;
|
|
26
|
+
//# sourceMappingURL=workflow.routes.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"workflow.routes.d.ts","sourceRoot":"","sources":["../../../src/modules/workflow/workflow.routes.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH,OAAO,OAAO,MAAM,SAAS,CAAC;AAC9B,OAAO,KAAK,EAGV,gBAAgB,EAGjB,MAAM,iCAAiC,CAAC;AACzC,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,mCAAmC,CAAC;AAE1E,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAEvD,OAAO,4BAA4B,CAAC;AAyBpC,wBAAgB,oBAAoB,CAClC,QAAQ,EAAE,gBAAgB,EAC1B,gBAAgB,EAAE,gBAAgB,EAClC,WAAW,EAAE,WAAW,EACxB,MAAM,EAAE,gBAAgB,GACvB,OAAO,CAAC,MAAM,CA2xBhB"}
|