@bevel-software/platform-core-backend 0.34.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/access-control.md +146 -300
- package/agent-guide/conventions.md +23 -25
- package/agent-guide/directory-structure.md +72 -120
- package/agent-guide/drafts-and-change-requests.md +92 -0
- package/agent-guide/for-git-users.md +47 -0
- package/agent-guide/glossary.md +36 -0
- package/agent-guide/how-agents-find-things.md +49 -0
- package/agent-guide/html-views.md +16 -11
- package/agent-guide/new-knowledge-base.md +9 -8
- package/agent-guide/onboarding.md +111 -0
- package/agent-guide/skills.md +67 -42
- package/agent-guide/start-here.md +66 -0
- package/agent-guide/tool-manuals.md +133 -154
- package/agent-guide/tools.md +67 -0
- package/agent-guide/where-a-new-file-goes.md +45 -28
- 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 +27 -25
- package/dist/core/create-core-server.js.map +1 -1
- package/dist/core/create-core-services.d.ts +25 -13
- package/dist/core/create-core-services.d.ts.map +1 -1
- package/dist/core/create-core-services.js +75 -60
- 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.interface.d.ts +22 -0
- package/dist/modules/access/access-control.interface.d.ts.map +1 -1
- package/dist/modules/access/access-control.service.d.ts +3 -1
- package/dist/modules/access/access-control.service.d.ts.map +1 -1
- package/dist/modules/access/access-control.service.js +76 -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 +32 -13
- 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/index.d.ts +1 -1
- package/dist/modules/access/index.d.ts.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 +63 -18
- package/dist/modules/agent-guide/agent-guide.d.ts.map +1 -1
- package/dist/modules/agent-guide/agent-guide.js +144 -30
- package/dist/modules/agent-guide/agent-guide.js.map +1 -1
- package/dist/modules/agent-guide/agent-guide.tools.d.ts +6 -2
- package/dist/modules/agent-guide/agent-guide.tools.d.ts.map +1 -1
- package/dist/modules/agent-guide/agent-guide.tools.js +45 -31
- package/dist/modules/agent-guide/agent-guide.tools.js.map +1 -1
- package/dist/modules/agent-guide/guide-budget.d.ts +51 -0
- package/dist/modules/agent-guide/guide-budget.d.ts.map +1 -0
- package/dist/modules/agent-guide/guide-budget.js +71 -0
- package/dist/modules/agent-guide/guide-budget.js.map +1 -0
- package/dist/modules/agent-guide/index.d.ts +2 -1
- package/dist/modules/agent-guide/index.d.ts.map +1 -1
- package/dist/modules/agent-guide/index.js +2 -1
- package/dist/modules/agent-guide/index.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 +28 -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 +60 -18
- 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/code-mode/code-mode.tool.js +2 -2
- package/dist/modules/code-mode/code-mode.tool.js.map +1 -1
- package/dist/modules/connection-probe/connection-probe.service.d.ts +0 -12
- package/dist/modules/connection-probe/connection-probe.service.d.ts.map +1 -1
- package/dist/modules/connection-probe/connection-probe.service.js +1 -38
- package/dist/modules/connection-probe/connection-probe.service.js.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 +80 -53
- 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 +87 -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 +635 -74
- package/dist/modules/secrets-vault/db-secrets-vault.service.js.map +1 -1
- package/dist/modules/secrets-vault/index.d.ts +3 -2
- package/dist/modules/secrets-vault/index.d.ts.map +1 -1
- package/dist/modules/secrets-vault/index.js +2 -1
- 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 +205 -11
- package/dist/modules/secrets-vault/secrets-vault.contract.d.ts.map +1 -1
- package/dist/modules/secrets-vault/secrets-vault.contract.js +27 -0
- 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 +206 -45
- 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/oidc-check.d.ts.map +1 -1
- package/dist/modules/settings/oidc-check.js +5 -17
- package/dist/modules/settings/oidc-check.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/skills/skills.tools.js +1 -1
- package/dist/modules/skills/skills.tools.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-def.js +1 -1
- package/dist/modules/tool-helpers/tool-def.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-json-discovery.d.ts +7 -1
- package/dist/modules/tool-manuals/mcp-json-discovery.d.ts.map +1 -1
- package/dist/modules/tool-manuals/mcp-json-discovery.js +69 -38
- package/dist/modules/tool-manuals/mcp-json-discovery.js.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 +70 -3
- package/dist/modules/tool-manuals/tool-manuals.contract.d.ts.map +1 -1
- package/dist/modules/tool-manuals/tool-manuals.service.d.ts +18 -8
- package/dist/modules/tool-manuals/tool-manuals.service.d.ts.map +1 -1
- package/dist/modules/tool-manuals/tool-manuals.service.js +166 -49
- package/dist/modules/tool-manuals/tool-manuals.service.js.map +1 -1
- package/dist/modules/tool-manuals/tool-manuals.tools.d.ts +11 -2
- package/dist/modules/tool-manuals/tool-manuals.tools.d.ts.map +1 -1
- package/dist/modules/tool-manuals/tool-manuals.tools.js +66 -24
- 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} +53 -49
- 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 +6 -6
- package/dist/modules/workspace/agent-access.gate.d.ts.map +1 -1
- package/dist/modules/workspace/agent-access.gate.js +2 -2
- package/dist/modules/workspace/agent-access.gate.js.map +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 +5 -3
- package/dist/modules/workspace/workspace.tools.d.ts.map +1 -1
- package/dist/modules/workspace/workspace.tools.js +85 -30
- 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/oauth-token-error.d.ts +23 -0
- package/dist/shared/oauth-token-error.d.ts.map +1 -0
- package/dist/shared/oauth-token-error.js +47 -0
- package/dist/shared/oauth-token-error.js.map +1 -0
- 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/shared/read-capped.d.ts +19 -0
- package/dist/shared/read-capped.d.ts.map +1 -0
- package/dist/shared/read-capped.js +45 -0
- package/dist/shared/read-capped.js.map +1 -0
- 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 +5 -4
- package/src/__tests__/account-admin.ts +27 -0
- package/src/__tests__/hexis-catalog.ts +144 -0
- 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__/real-disk.ts +21 -0
- package/src/__tests__/tokens.ts +19 -0
- package/src/__tests__/tool-handler.ts +15 -0
- package/src/__tests__/tool-manuals.ts +32 -0
- package/src/__tests__/tool-wiring.ts +31 -0
- 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/__tests__/oauth-sign-in-real-file.test.ts +179 -0
- 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 +40 -26
- package/src/core/create-core-services.ts +92 -66
- 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 +54 -14
- 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__/holder-changes.test.ts +127 -0
- 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.interface.ts +26 -0
- package/src/modules/access/access-control.service.ts +93 -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 +34 -15
- 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/index.ts +1 -1
- 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 +98 -29
- package/src/modules/agent-guide/__tests__/agent-guide.tools.test.ts +39 -12
- package/src/modules/agent-guide/__tests__/guide-budget.test.ts +95 -0
- package/src/modules/agent-guide/__tests__/guide-eval.test.ts +182 -0
- package/src/modules/agent-guide/__tests__/guide-matches-code.test.ts +263 -0
- package/src/modules/agent-guide/__tests__/tool-surface.json +514 -0
- package/src/modules/agent-guide/__tests__/tool-surface.test.ts +75 -0
- package/src/modules/agent-guide/agent-guide.tools.ts +49 -31
- package/src/modules/agent-guide/agent-guide.ts +165 -32
- package/src/modules/agent-guide/guide-budget.ts +77 -0
- package/src/modules/agent-guide/index.ts +12 -0
- 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 +117 -11
- package/src/modules/agent-instructions/agent-instructions.routes.ts +12 -5
- package/src/modules/agent-instructions/compose.ts +28 -9
- package/src/modules/agent-instructions/shared-file-rules.ts +62 -18
- 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/code-mode/code-mode.tool.ts +2 -2
- package/src/modules/connection-probe/__tests__/connection-probe.service.test.ts +5 -24
- package/src/modules/connection-probe/connection-probe.service.ts +1 -34
- 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 +93 -62
- 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 +458 -4
- package/src/modules/secrets-vault/__tests__/managed-sign-in.route.test.ts +351 -0
- package/src/modules/secrets-vault/__tests__/oauth-live-declaration.route.test.ts +218 -0
- package/src/modules/secrets-vault/__tests__/oauth-return-to.route.test.ts +39 -6
- package/src/modules/secrets-vault/db-secrets-vault.service.ts +728 -118
- package/src/modules/secrets-vault/index.ts +8 -1
- 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 +213 -11
- package/src/modules/secrets-vault/secrets-vault.routes.ts +244 -45
- 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/oidc-check.ts +5 -18
- 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/skills/skills.tools.ts +1 -1
- package/src/modules/tool-helpers/__tests__/agent-roles-write.test.ts +22 -14
- 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__/route-tool-schemas.catalog.test.ts +38 -0
- 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-def.ts +1 -1
- 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.mcp-oauth.test.ts +197 -11
- package/src/modules/tool-manuals/__tests__/tool-manuals.restart.test.ts +1 -1
- package/src/modules/tool-manuals/__tests__/tool-manuals.tools.test.ts +132 -6
- package/src/modules/tool-manuals/mcp-json-discovery.ts +73 -34
- 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 +63 -3
- package/src/modules/tool-manuals/tool-manuals.service.ts +191 -51
- package/src/modules/tool-manuals/tool-manuals.tools.ts +93 -28
- 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 +12 -119
- 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} +52 -48
- 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 +12 -14
- package/src/modules/workspace/__tests__/workspace.tools.branch-errors.test.ts +5 -5
- package/src/modules/workspace/__tests__/workspace.tools.test.ts +182 -75
- package/src/modules/workspace/agent-access.gate.ts +6 -6
- 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 +90 -30
- package/src/shared/__tests__/canonical-file-identity.test.ts +5 -5
- package/src/shared/__tests__/http-errors.test.ts +4 -4
- package/src/shared/__tests__/read-capped.test.ts +68 -0
- 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/oauth-token-error.ts +46 -0
- package/src/shared/pending-proposals.ts +4 -4
- package/src/shared/read-capped.ts +40 -0
- 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/agent-guide/finding-things.md +0 -7
- package/agent-guide/introduction.md +0 -27
- 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
|
@@ -5,141 +5,93 @@
|
|
|
5
5
|
├── {{knowledgeBaseDir}}/ ← the knowledge itself; organise it however suits you
|
|
6
6
|
├── {{skillsDir}}/ ← shared skills, organised by who owns them
|
|
7
7
|
├── {{pluginsDir}}/ ← one folder per plugin: its tools, and links to skills
|
|
8
|
-
├── roles.yaml ←
|
|
9
|
-
|
|
8
|
+
├── roles.yaml ← who holds which role
|
|
9
|
+
├── groups.yaml ← who is in which group
|
|
10
|
+
└── access.md ← the access rules at the root
|
|
10
11
|
```
|
|
11
12
|
|
|
12
|
-
(The three root names
|
|
13
|
-
|
|
14
|
-
effect each time it is composed.)
|
|
13
|
+
(The three root names are this deployment's own: a deployment may rename them
|
|
14
|
+
in its setup screen, and this guide names the folders in effect.)
|
|
15
15
|
|
|
16
16
|
Tool paths are workspace-relative, and the workspace root holds this
|
|
17
|
-
repository as the `{{kbDirName}}/` folder
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
17
|
+
repository as the `{{kbDirName}}/` folder: a file in it is
|
|
18
|
+
`{{kbDirName}}/{{knowledgeBaseDir}}/Foo.md`. Write the prefix where you can, as
|
|
19
|
+
every tool reports paths with it; a path without it is placed under
|
|
20
|
+
`{{kbDirName}}/`, so `{{knowledgeBaseDir}}/Foo.md` and the app's Copy path
|
|
21
|
+
`/{{kbDirName}}/{{knowledgeBaseDir}}/Foo.md` name the same file. A leading
|
|
22
|
+
`./` and doubled slashes are tidied away; `..`, any other `.` segment,
|
|
23
|
+
backslashes and other absolute paths are refused.
|
|
24
|
+
|
|
25
|
+
Only those three folders are structural, and `Data/`, `Agents/` and
|
|
26
|
+
`Workflows/` are reserved names on every deployment. Under
|
|
27
|
+
`{{knowledgeBaseDir}}/`, subfolders, naming and whether a topic is one file or
|
|
28
|
+
twenty are yours to decide. `{{skillsDir}}/` holds shared skills at any depth:
|
|
29
|
+
the folder that holds a `SKILL.md` is the skill, and the folders above it are
|
|
30
|
+
ownership (`{{skillsDir}}/<scope>/…/<skill>/SKILL.md`, with an `access.md` in
|
|
30
31
|
any scope folder that needs its own rules). `{{pluginsDir}}/` has a layout the
|
|
31
32
|
platform reads:
|
|
32
33
|
|
|
33
34
|
```text
|
|
34
|
-
{{pluginsDir}}/<Plugin>/plugin.json the manifest
|
|
35
|
+
{{pluginsDir}}/<Plugin>/plugin.json the manifest: what makes the folder a plugin; its `name` is the plugin's identity
|
|
35
36
|
{{pluginsDir}}/<Plugin>/skills/<skill>/SKILL.md a skill that lives inside the plugin
|
|
36
|
-
{{pluginsDir}}/<Plugin>/mcp.json MCP servers
|
|
37
|
-
{{pluginsDir}}/<Plugin>/software.bevel.hexis/tools/ `.tool` manuals
|
|
38
|
-
{{pluginsDir}}/<Plugin>/access.md who can read
|
|
39
|
-
{{pluginsDir}}/personal-<
|
|
37
|
+
{{pluginsDir}}/<Plugin>/mcp.json its MCP servers
|
|
38
|
+
{{pluginsDir}}/<Plugin>/software.bevel.hexis/tools/ its `.tool` manuals
|
|
39
|
+
{{pluginsDir}}/<Plugin>/access.md who can read and write the plugin
|
|
40
|
+
{{pluginsDir}}/personal-<id>/… one per person: private
|
|
40
41
|
```
|
|
41
42
|
|
|
42
43
|
**The manifest's `name` is the plugin.** It is a kebab-case identifier
|
|
43
|
-
(`sales-team`)
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
editing `name` by hand leaves those grants pointing at a plugin that no longer
|
|
49
|
-
exists.
|
|
44
|
+
(`sales-team`): what every grant spells (`plugin/sales-team/read`) and what the
|
|
45
|
+
app and the marketplace key on. `displayName` is what people see ("Sales
|
|
46
|
+
Team"); without one, the `name` is shown. Rename a plugin from its page in the
|
|
47
|
+
app, which rewrites every grant naming it in one commit. Editing `name` by hand
|
|
48
|
+
leaves those grants pointing at a plugin that no longer exists.
|
|
50
49
|
|
|
51
|
-
**A plugin
|
|
52
|
-
lists skill
|
|
53
|
-
entry is one skill folder or a folder of skills under `{{skillsDir}}/`:
|
|
50
|
+
**A plugin links shared skills rather than containing them.** Its manifest
|
|
51
|
+
lists skill folders, or folders of skills, under `{{skillsDir}}/`:
|
|
54
52
|
|
|
55
53
|
```json
|
|
56
54
|
{ "extensions": { "software.bevel.hexis": { "skills": ["{{skillsDir}}/Engineering/deploy", "{{skillsDir}}/Sales"] } } }
|
|
57
55
|
```
|
|
58
56
|
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
the
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
`
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
reaches EOF — the client also terminates it on shutdown, but a server that
|
|
101
|
-
ignores EOF outlives crashes as an orphan whose working directory blocks the
|
|
102
|
-
plugin folder from ever refreshing.
|
|
103
|
-
|
|
104
|
-
**Secrets are never written into a plugin's portable files.** The specification
|
|
105
|
-
defines no portable credential mechanism on purpose: authorization and
|
|
106
|
-
credential storage are the client's business, header and `env` values are
|
|
107
|
-
"visible package data", and a client must not expand anything except
|
|
108
|
-
`${PLUGIN_ROOT}` and `${PLUGIN_DATA}`. So the Secrets Vault IS this platform's
|
|
109
|
-
answer to that — and `mcp.json` carries only where a server is, never a
|
|
110
|
-
`${VAR}` reference to how to authenticate with it. Those live in `plugin.json`
|
|
111
|
-
under `extensions["software.bevel.hexis"].mcpServers[<name>]`, which is ours
|
|
112
|
-
to interpret and which other clients ignore by design.
|
|
113
|
-
|
|
114
|
-
**Plugin folders are made through the platform, not by writing files.** A
|
|
115
|
-
folder is a plugin exactly when it carries a `plugin.json` (the platform
|
|
116
|
-
writes one into every legacy plugin folder at startup), and it is LISTED only
|
|
117
|
-
when it also carries an `access.md` — a bare directory under `{{pluginsDir}}/` is
|
|
118
|
-
neither. Plugins may sit at any depth under `{{pluginsDir}}/`; a folder that holds
|
|
119
|
-
plugins deeper down is a grouping folder, not a plugin. A new plugin needs an
|
|
120
|
-
`access.md` naming who runs it, and the write gate refuses a plain write
|
|
121
|
-
into an unused name there — so do not try to create a plugin by writing a
|
|
122
|
-
skill into `{{pluginsDir}}/<new-name>/…`; it will be denied. Use the two tools
|
|
123
|
-
instead:
|
|
124
|
-
|
|
125
|
-
- `my_plugin` — your user's personal plugin, holding their own skills and
|
|
126
|
-
tools, created on first use: `{{pluginsDir}}/personal-<id>/`. Readable only
|
|
127
|
-
by its owner — not even admins — and never listed as a plugin. Their personal
|
|
128
|
-
skills go under its `skills/`, each in its own folder with a `SKILL.md`;
|
|
129
|
-
write there with the file tools. A note or any other document goes under
|
|
130
|
-
`{{knowledgeBaseDir}}/` instead — see **Where a new file goes**.
|
|
131
|
-
- `create_plugin` — a shared plugin, named, optionally inside a grouping
|
|
132
|
-
folder under `{{pluginsDir}}/` (`parent`). The caller runs it; others join
|
|
133
|
-
through the app or are granted in its `access.md`.
|
|
134
|
-
|
|
135
|
-
The app's **New plugin** button and `POST /api/plugins` do the same. A skill
|
|
136
|
-
moves from a personal plugin into a shared plugin by moving its folder.
|
|
137
|
-
|
|
138
|
-
Everything under `{{knowledgeBaseDir}}/` is yours to arrange. Subfolders, naming,
|
|
139
|
-
whether a topic is one file or twenty — all of it is a judgement call about
|
|
140
|
-
what the next reader needs, not a rule the platform enforces.
|
|
141
|
-
|
|
142
|
-
A deployment may reserve further root folders of its own — `Data/`, `Agents/`
|
|
143
|
-
and `Pipelines/` scaffold an agentic execution layer in some installations.
|
|
144
|
-
They are not part of this template and are not created here; where they exist,
|
|
145
|
-
each carries its own `README.md` describing what belongs in it.
|
|
57
|
+
A plugin's skills are the ones in its own `skills/` folder plus everything its
|
|
58
|
+
links resolve to, and one skill can be linked by many plugins. Do not edit that
|
|
59
|
+
list by hand: link from the plugin's page in the app, which also grants the
|
|
60
|
+
plugin's members read on the skill (see `access-control`). A link without that
|
|
61
|
+
grant is repaired automatically when someone who may write the plugin opens its
|
|
62
|
+
page; one that cannot be repaired that way shows as needing setup. Who may read
|
|
63
|
+
a skill is decided by the skill's own folders, never by the plugin: a plugin
|
|
64
|
+
linking a skill someone cannot read simply does not show it to them.
|
|
65
|
+
|
|
66
|
+
**MCP servers go in `mcp.json`, not in `.tool` files.** Each `mcpServers` key
|
|
67
|
+
is the server's identity and the namespace its secrets bind to, so renaming a
|
|
68
|
+
key unbinds every configured secret and sign-in. `mcp.json` says only where the
|
|
69
|
+
server is (`type`, `url`, plain headers). Everything else the platform needs
|
|
70
|
+
(headers carrying `${VAR}` secrets, `variables`, a `description`, or
|
|
71
|
+
`local: true` for a server reachable only from a user's machine) goes in
|
|
72
|
+
`plugin.json` under `extensions["software.bevel.hexis"].mcpServers[<name>]`.
|
|
73
|
+
Secrets never go in `mcp.json`: plugins follow the
|
|
74
|
+
[Agent Plugins](https://agent-plugins.org) specification (v1.0.0), which other
|
|
75
|
+
clients load, and it has no place for credentials. A `type: "stdio"` server
|
|
76
|
+
runs on the user's machine through the local `hexis-mcp` server, never on the
|
|
77
|
+
hosted endpoint; it should exit when its standard input closes.
|
|
78
|
+
|
|
79
|
+
**Make plugins with the tools, not by writing files.** A folder is a plugin
|
|
80
|
+
when it has a `plugin.json` (or the read-only `plugin.bundle.json` format), and
|
|
81
|
+
it is listed only when it also has an `access.md`. Writing files into a new
|
|
82
|
+
name under `{{pluginsDir}}/` makes neither: on a protected branch it is
|
|
83
|
+
refused, and on a draft it makes a folder that is not a plugin. Use:
|
|
84
|
+
|
|
85
|
+
- `my_plugin`: the user's personal plugin, `{{pluginsDir}}/personal-<id>/`,
|
|
86
|
+
created on first use. Only its owner can read it, admins included, and it is
|
|
87
|
+
never listed as a plugin. Their own skills go in its `skills/` folder, each in
|
|
88
|
+
a folder with a `SKILL.md`. A note or any other document goes under
|
|
89
|
+
`{{knowledgeBaseDir}}/` instead (see `where-a-new-file-goes`).
|
|
90
|
+
- `create_plugin`: a shared plugin, named, optionally inside a grouping folder
|
|
91
|
+
(`parent`). The caller runs it; others join through the app or are granted
|
|
92
|
+
in its `access.md`.
|
|
93
|
+
|
|
94
|
+
The app's **New plugin** button does the same. A skill moves from a personal
|
|
95
|
+
plugin to a shared one by moving its folder. Symlinks are ignored anywhere
|
|
96
|
+
under `{{pluginsDir}}/`: access is resolved by path, and a second path to the
|
|
97
|
+
same file could disagree about who may read it.
|
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
## Drafts and change requests
|
|
2
|
+
|
|
3
|
+
An agent drafts, proposes and syncs; people approve and apply, in the app.
|
|
4
|
+
|
|
5
|
+
- **Start a draft** with `create_branch`: `name` is the new draft and `branch`
|
|
6
|
+
the branch it forks from, usually `{{defaultBranch}}`:
|
|
7
|
+
`create_branch({ body: { name: "paul-brandt/pricing-page", branch: "{{defaultBranch}}" } })`.
|
|
8
|
+
Name it `<you>/<topic>`, where `<you>` is the person's email before the
|
|
9
|
+
`@`, in lower case, with each run of other characters than letters and
|
|
10
|
+
digits as one `-`: `paul.brandt@` gives `paul-brandt/`. Only that prefix
|
|
11
|
+
makes the draft theirs, so they can delete it later. Ask for the email if
|
|
12
|
+
you do not know it. A draft is shared at once, and the file tools then take
|
|
13
|
+
it as `branch`. In the app, the person sees it through its change request
|
|
14
|
+
once you open one; until then the app shows them `{{defaultBranch}}`.
|
|
15
|
+
- **Saving shares.** Every write is committed as the person and shared,
|
|
16
|
+
moments after the call returns; there is no separate push. `branch_status`
|
|
17
|
+
lists writes still landing. `share_current_branch` is only for sharing
|
|
18
|
+
again after a refused push, and `commit_change` only for a file a tool left
|
|
19
|
+
uncommitted (`unzip` does).
|
|
20
|
+
- **Propose** with `open_change_request`
|
|
21
|
+
(`sourceBranch` = the draft, `targetBranch` = the protected branch, a
|
|
22
|
+
`title`), then give the person the request's `url`. It first brings the
|
|
23
|
+
latest target into the draft. The answer lists `approvals` (who must approve
|
|
24
|
+
each file) and `mergeBlockedReasons`. Reviewing, approving and merging happen
|
|
25
|
+
in the app; someone who may approve every file it changes may merge their own
|
|
26
|
+
request there.
|
|
27
|
+
- **Edit** an open request with `update_change_request`: `description`
|
|
28
|
+
replaces the text whole, `appendDescription` adds a paragraph. Allowed for its
|
|
29
|
+
author and anyone who may merge it.
|
|
30
|
+
- **Know where a draft stands** with `branch_status`: ahead or behind, whether
|
|
31
|
+
the shared draft moved (`behindRemote`), writes still landing, the protected
|
|
32
|
+
branch it was forked from, and `changedPaths`, the files a request would
|
|
33
|
+
carry. That list holds only files you may read; `withheldPaths` counts the
|
|
34
|
+
others (changed or still landing), so above zero the list is not the whole
|
|
35
|
+
request. Ask it before proposing.
|
|
36
|
+
- **Sync** a draft with `update_branch` on the draft, `from` = the request's
|
|
37
|
+
target. It is allowed while the request is open. Without `from` it brings in
|
|
38
|
+
the draft's own shared state, for when it moved while your workspace held
|
|
39
|
+
commits (`behindRemote`). `merge_branch` (`source` = the target, `target` =
|
|
40
|
+
the draft) does the same without conflict handling.
|
|
41
|
+
- **`merge_branch` into a protected branch** merges only what you could write
|
|
42
|
+
there directly, never a change to `roles.yaml`, and refuses a draft whose
|
|
43
|
+
open request targets that branch: ask the person to review it in the app.
|
|
44
|
+
- **Read history** with `list_file_changes` (a file's commits: who, when,
|
|
45
|
+
subject), `read_file_at` (the file at a commit, given as the full sha, or on
|
|
46
|
+
another branch) and `compare_file` (the diff of a commit, or between two
|
|
47
|
+
branches). To put an earlier version back, read it with `read_file_at` and
|
|
48
|
+
write it with `write_file`.
|
|
49
|
+
|
|
50
|
+
### Settling a conflict
|
|
51
|
+
|
|
52
|
+
When `update_branch` answers `conflicts`, it has left the draft exactly as it
|
|
53
|
+
was. For each conflicted path it carries the file at the merge base, on your
|
|
54
|
+
side (`ours`) and on theirs (`theirs`), and the working copy with git's
|
|
55
|
+
markers. A side is null when it has no file, or when `truncated` names it
|
|
56
|
+
(too large, or not text): then read `ours` with `read_file`, `theirs` with
|
|
57
|
+
`read_file_at` at `from` (the branch name), and the base with `read_file_at` at
|
|
58
|
+
the answer's `mergeBase`. A side that is not text cannot be read that way:
|
|
59
|
+
settle that file whole with `choose`. A conflicted file you may not read on one
|
|
60
|
+
of the branches is only counted (`withheldConflicts`): ask a person who can read
|
|
61
|
+
it to update the draft in the app.
|
|
62
|
+
|
|
63
|
+
Decide each file (keep both sides' information unless one is clearly stale;
|
|
64
|
+
`list_file_changes` says who changed what and why), then call `update_branch`
|
|
65
|
+
again with the same `from` and `resolutions`, one per conflicted path: `content`,
|
|
66
|
+
the resolved text, or `choose` (`ours`, `theirs`, `delete`). A resolution is a
|
|
67
|
+
write on your draft: you must be able to read the path (or the folder it lands
|
|
68
|
+
in). It merges, commits as you and shares. If sharing is refused, or the shared
|
|
69
|
+
draft moved meanwhile, the answer is the saved-locally error: the merge is on
|
|
70
|
+
your draft but not shared, and `branch_status` shows it ahead. Do not report it as shared; the next save
|
|
71
|
+
or `share_current_branch` carries it. You never have a half-done merge to
|
|
72
|
+
finish.
|
|
73
|
+
|
|
74
|
+
### When a draft goes away
|
|
75
|
+
|
|
76
|
+
- **After a merge** the draft is deleted on its own, unless another change
|
|
77
|
+
request is still open from or into it. Start a new draft for the next change.
|
|
78
|
+
A draft whose open request turns out to propose nothing (its changes are
|
|
79
|
+
already on the target) is removed the same way when that request is closed,
|
|
80
|
+
and so is the draft of a request deleted in the app.
|
|
81
|
+
- **`delete_branch`** removes a draft for everyone. Only its author (the
|
|
82
|
+
`<you>/…` prefix above, or your own `suggestions/…` bundle) or an Admin may.
|
|
83
|
+
Preview with `dryRun: true`: it changes nothing and says whether the delete
|
|
84
|
+
would go through, how many commits are not on `{{defaultBranch}}`, and the
|
|
85
|
+
last commit. A draft holding such commits is refused unless you pass
|
|
86
|
+
`discardUnmerged: true`, only when the person wants that work gone. An open
|
|
87
|
+
request from or into it that proposes nothing is closed by the delete; one
|
|
88
|
+
that still proposes something refuses it, with a link: its author can
|
|
89
|
+
withdraw it, or an Admin can decline it, in the app. A request you cannot see
|
|
90
|
+
is not named, even in a preview, so a delete can still be refused after a
|
|
91
|
+
clean preview. Hand the person the `lastCommit` it answers, so the draft can
|
|
92
|
+
be restored.
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
## If you know Git
|
|
2
|
+
|
|
3
|
+
The platform keeps its files in a Git repository, but the people you work with
|
|
4
|
+
never touch Git, and neither do you: you have no git command. Use the
|
|
5
|
+
platform's own words. What carries over, and what does not:
|
|
6
|
+
|
|
7
|
+
| | Git and a code host | Here |
|
|
8
|
+
|---|---|---|
|
|
9
|
+
| Branches | Anyone branches anything | The default branch, `{{defaultBranch}}`, and any other protected branch are live. Work in progress goes on a draft branch named `<you>/<topic>` (see `drafts-and-change-requests`) |
|
|
10
|
+
| Commits | `git commit`, then `git push` | Every save is committed and shared as the person, moments after the call returns. No separate push |
|
|
11
|
+
| Pull requests | Opened and merged on the code host | A change request: you open it (`open_change_request`), a person reviews, approves and merges it in the app. No agent tool approves or merges one |
|
|
12
|
+
| Who approves | Code owners, branch rules | The owners and writers of each file the request changes |
|
|
13
|
+
| Permissions | The whole repository, read or write | Per folder and per file: `access.md` files say who may read, write, download or own. What you cannot read you cannot see or change, on any branch |
|
|
14
|
+
| Layout | Free | Free under `{{knowledgeBaseDir}}/`; `{{skillsDir}}/` and `{{pluginsDir}}/` have a layout the platform reads |
|
|
15
|
+
| Skills and tools | Files like any other | Live only once on `{{defaultBranch}}`; on a draft they wait for review |
|
|
16
|
+
|
|
17
|
+
**On your draft you can do anything to what you can read.** Create, edit, move
|
|
18
|
+
or delete any file you can read (a few platform files aside, see
|
|
19
|
+
`working-with-files`). The draft is shared at once, so anyone who may read a
|
|
20
|
+
file can open it there, but nothing is live until the draft is merged. Merging
|
|
21
|
+
is where the owners of the files approve, so a delete on your draft deletes
|
|
22
|
+
for everyone only once they accept it.
|
|
23
|
+
|
|
24
|
+
**On a protected branch, write access is checked per file.** If you may write
|
|
25
|
+
every file a change touches, it lands directly; ask the person first. If not,
|
|
26
|
+
the write is refused, and the refusal says how to propose it instead.
|
|
27
|
+
|
|
28
|
+
**An example.** A team keeps its specs in `{{knowledgeBaseDir}}/Products/Search/`,
|
|
29
|
+
whose `access.md` is:
|
|
30
|
+
|
|
31
|
+
```yaml
|
|
32
|
+
---
|
|
33
|
+
owner:
|
|
34
|
+
- role/Admin
|
|
35
|
+
---
|
|
36
|
+
read:
|
|
37
|
+
- everyone
|
|
38
|
+
write:
|
|
39
|
+
- group/Search Team
|
|
40
|
+
```
|
|
41
|
+
|
|
42
|
+
The part above the second `---` says who may change this `access.md`; the
|
|
43
|
+
part below it is the folder's rules. Everyone signed in can read the specs.
|
|
44
|
+
Members of the group `Search Team` change them directly on `{{defaultBranch}}`.
|
|
45
|
+
Anyone else drafts the change on a branch and opens a change request, which a
|
|
46
|
+
member of `Search Team` approves. A folder inside it can narrow or widen this
|
|
47
|
+
with an `access.md` of its own. The full rules are in `access-control`.
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
## Words used here
|
|
2
|
+
|
|
3
|
+
- **Knowledge base**: this organisation's documents, skills and tools in one
|
|
4
|
+
repository, with access set per folder.
|
|
5
|
+
- **Default branch** (`{{defaultBranch}}`): what is live. Other protected
|
|
6
|
+
branches may exist; `list_branches` marks each with `isProtected`.
|
|
7
|
+
- **Draft**: any branch that is not protected. Work waits there for review,
|
|
8
|
+
visible to whoever opens the draft.
|
|
9
|
+
- **Change request**: the request to merge a draft into a protected branch.
|
|
10
|
+
- **Plugin**: a package: a folder under `{{pluginsDir}}/` with a `plugin.json`.
|
|
11
|
+
It holds or links skills and declares tools, and its `access.md` says who
|
|
12
|
+
uses it. Each person also has a private one (`my_plugin`).
|
|
13
|
+
- **MCP server**: a connection to another service, declared in a plugin's
|
|
14
|
+
`mcp.json`. Its tools appear in the tool list as `<server>_<tool>`.
|
|
15
|
+
- **Tool**: one action an agent can call: one of the platform's own
|
|
16
|
+
(`read_file`), one from a plugin's MCP server, or one from a tool manual.
|
|
17
|
+
- **Tool manual**: a `.tool` file in a plugin that describes HTTP tools, for a
|
|
18
|
+
service without an MCP server.
|
|
19
|
+
- **Skill**: a folder with a `SKILL.md`: instructions an agent loads
|
|
20
|
+
(`get_skill`) when the skill's description fits the task.
|
|
21
|
+
- **Secret**: a credential a tool needs, kept in the platform's Secrets Vault,
|
|
22
|
+
never in a file or in the chat. A *shared* (admin) secret is set once, by
|
|
23
|
+
someone who may edit the tool, for everyone who uses it. A *personal* (user)
|
|
24
|
+
secret is set by each person for themselves.
|
|
25
|
+
- **Sign-in** (OAuth): a personal secret filled by signing in to the service
|
|
26
|
+
instead of pasting a key.
|
|
27
|
+
- **Connect page**: where each person sets their personal secrets and signs in
|
|
28
|
+
to tools.
|
|
29
|
+
- **Role**: a capability the platform defines, such as `Admin`, with the people
|
|
30
|
+
who hold it, in `roles.yaml`. Roles are pre-set: never create one.
|
|
31
|
+
- **Group**: a named set of people, such as a team or a project, in
|
|
32
|
+
`groups.yaml` or synced from the organisation's directory. Groups are what
|
|
33
|
+
`access.md` files usually grant.
|
|
34
|
+
- **`access.md`**: a folder's rules: who may `read`, `write`, `download` or be
|
|
35
|
+
`owner` of what is in it. A folder inherits from the folders above it, and
|
|
36
|
+
the nearest rule that names you decides.
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
## How your agent finds things
|
|
2
|
+
|
|
3
|
+
Use this to know what you already have, and to explain it to the person you
|
|
4
|
+
work with when they ask "does the agent read everything?".
|
|
5
|
+
|
|
6
|
+
**When an agent connects, it has three things and no more:**
|
|
7
|
+
|
|
8
|
+
1. **The server instructions**: a short platform note, the rules every file
|
|
9
|
+
tool shares, and this knowledge base's own description, which an admin
|
|
10
|
+
writes in `mcp-description.md` at the repository root (on the app's
|
|
11
|
+
external agent page). Some clients put them in the system prompt; a client
|
|
12
|
+
that drops them gets one line and the description's first paragraph at the
|
|
13
|
+
top of `start_session`, `grep`, `list_files` and `read_file` instead.
|
|
14
|
+
2. **The tool list**: each tool's name, description and arguments.
|
|
15
|
+
3. **The skills' names and descriptions**, as prompts and through
|
|
16
|
+
`list_skills`.
|
|
17
|
+
|
|
18
|
+
**Everything else is fetched when a task needs it**: `grep` for the key terms,
|
|
19
|
+
`list_files` to see a folder, `read_file` for a page, `get_skill` for a skill's
|
|
20
|
+
instructions, and this guide one section at a time. No agent reads the whole
|
|
21
|
+
knowledge base, and nothing makes it look: the instructions ask it to search
|
|
22
|
+
before it answers about the organisation, and the rest is up to the text below.
|
|
23
|
+
|
|
24
|
+
**What brings the right context is text the agent already has:**
|
|
25
|
+
|
|
26
|
+
- **A skill's description** decides when the skill is loaded. Write it as
|
|
27
|
+
"Use when …", in the words people use for the task.
|
|
28
|
+
- **Links between pages** (relative markdown links) lead one read to the next.
|
|
29
|
+
A page that links the pages explaining it is found together with them.
|
|
30
|
+
- **`mcp-description.md`** says what this knowledge base holds, where, and
|
|
31
|
+
when to look. Its first paragraph is the part every client sees.
|
|
32
|
+
|
|
33
|
+
**On the user's own machine**, the one text an agent always reads in a
|
|
34
|
+
repository is that repository's `AGENTS.md` or `CLAUDE.md`. A few lines there
|
|
35
|
+
make it look here first. Offer this, filled in:
|
|
36
|
+
|
|
37
|
+
```markdown
|
|
38
|
+
## Organisation knowledge
|
|
39
|
+
Before you plan, design or write about <product or team>, search the
|
|
40
|
+
<organisation> knowledge base (MCP server `<server name>`): grep for the key
|
|
41
|
+
terms and read what matches. <What> lives in `{{knowledgeBaseDir}}/<Folder>/`.
|
|
42
|
+
Prefer it over memory, and say when it is silent.
|
|
43
|
+
```
|
|
44
|
+
|
|
45
|
+
**This knowledge base's own conventions** go in an `AGENTS.md` at its root,
|
|
46
|
+
written by its people: `read_file` on `AGENTS.md` returns that file first, then
|
|
47
|
+
the start of this guide. A `CLAUDE.md` at the root is theirs too. Follow both, and never
|
|
48
|
+
copy this guide into either: the platform serves it. Only the root file is read
|
|
49
|
+
this way: an `AGENTS.md` deeper in a folder is an ordinary page.
|
|
@@ -3,7 +3,13 @@
|
|
|
3
3
|
An `.html` (or `.htm`) file in the knowledge base is a live page: the app shows
|
|
4
4
|
it in a sandboxed frame, scripts and all. Write one when a reader is better
|
|
5
5
|
served by something interactive — a dashboard, a filterable table, a chart —
|
|
6
|
-
than by a markdown document.
|
|
6
|
+
than by a markdown document. Plain HTML with inline CSS and JavaScript is
|
|
7
|
+
enough; no skill or template is needed.
|
|
8
|
+
|
|
9
|
+
**Data written into the page is governed by the page's access.** A tool call
|
|
10
|
+
answers each viewer only what they may read; bytes in the file reach everyone
|
|
11
|
+
who may read the page, so never copy in data from a source fewer people may
|
|
12
|
+
read.
|
|
7
13
|
|
|
8
14
|
### The frame
|
|
9
15
|
|
|
@@ -15,6 +21,10 @@ than by a markdown document.
|
|
|
15
21
|
`<object>`, `<embed>`, `<base>` and `<meta>` are removed. Write CSS in a
|
|
16
22
|
`<style>` element and code in an inline `<script>`. An image is a `data:`
|
|
17
23
|
URL.
|
|
24
|
+
- **The body is the page.** The app shows the sanitised contents of `<body>`
|
|
25
|
+
in a document of its own: `<style>` and inline `<script>` in `<head>` are
|
|
26
|
+
kept, moved to the start of the body; everything else in `<head>` and the
|
|
27
|
+
attributes on `<html>` and `<body>` are ignored.
|
|
18
28
|
- **Scripts run as ES modules**, in source order, after the document is
|
|
19
29
|
parsed: `document.getElementById` works without waiting for
|
|
20
30
|
`DOMContentLoaded`, top-level `await` works, and a top-level declaration is
|
|
@@ -86,7 +96,7 @@ assume it is there:
|
|
|
86
96
|
```js
|
|
87
97
|
const tools = window.bevel?.tools;
|
|
88
98
|
if (tools) {
|
|
89
|
-
const file = await tools.callTool('read_file', { body: { branch: '
|
|
99
|
+
const file = await tools.callTool('read_file', { body: { branch: '{{defaultBranch}}', path: '{{knowledgeBaseDir}}/Foo.md' } });
|
|
90
100
|
// …show it
|
|
91
101
|
} else {
|
|
92
102
|
// …render without it
|
|
@@ -131,7 +141,7 @@ the app; the page never sees it.
|
|
|
131
141
|
const input = document.getElementById('briefing');
|
|
132
142
|
input.addEventListener('change', async () => {
|
|
133
143
|
const answer = await window.bevel.tools.uploadFile(input.files[0], {
|
|
134
|
-
branch: '
|
|
144
|
+
branch: '{{defaultBranch}}',
|
|
135
145
|
destination: '{{knowledgeBaseDir}}/Campaigns/Easter',
|
|
136
146
|
});
|
|
137
147
|
// answer.files[0].path is where it landed
|
|
@@ -216,15 +226,10 @@ no build step and no framework:
|
|
|
216
226
|
<head>
|
|
217
227
|
<style>
|
|
218
228
|
body { font: 14px system-ui, sans-serif; margin: 16px; }
|
|
219
|
-
|
|
220
|
-
|
|
229
|
+
.board { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; }
|
|
230
|
+
.column { min-height: 320px; border: 1px solid #ddd; padding: 8px; }
|
|
231
|
+
.column li { min-height: 20px; padding: 6px; list-style: none; }
|
|
221
232
|
#status.error { color: #b00020; }
|
|
222
|
-
.board { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
|
|
223
|
-
.column { min-height: 320px; border: 1px solid #ddd; border-radius: 6px; padding: 8px; }
|
|
224
|
-
.column ul { list-style: none; margin: 0; padding: 0; }
|
|
225
|
-
.column li { min-height: 20px; padding: 6px; margin-bottom: 6px; border-radius: 4px; background: #f4f4f4; }
|
|
226
|
-
.column li.placeholder { background: #ececec; }
|
|
227
|
-
.count { color: #777; font-weight: normal; }
|
|
228
233
|
</style>
|
|
229
234
|
</head>
|
|
230
235
|
<body>
|
|
@@ -1,21 +1,22 @@
|
|
|
1
1
|
## A new knowledge base
|
|
2
2
|
|
|
3
3
|
When `start_session` answers with a `firstRun` note, this knowledge base is
|
|
4
|
-
new: `{{kbDirName}}/{{knowledgeBaseDir}}/`
|
|
5
|
-
|
|
6
|
-
fill it. The note stops coming
|
|
4
|
+
new: `{{kbDirName}}/{{knowledgeBaseDir}}/` holds nothing but its starter guide
|
|
5
|
+
and any starter pages nobody has changed yet. The person has most likely just
|
|
6
|
+
connected you, and you are the quickest way to fill it. The note stops coming
|
|
7
|
+
once real pages exist.
|
|
7
8
|
|
|
8
9
|
- **Offer once per conversation, in a sentence or two.** For example: "Your
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
glossary? Give me your website or tell me a bit, and I'll write them for
|
|
12
|
-
to review."
|
|
10
|
+
knowledge base is connected and almost empty. Want me to draft a few pages
|
|
11
|
+
about your company (what you do, your customers, your products, your
|
|
12
|
+
glossary)? Give me your website or tell me a bit, and I'll write them for
|
|
13
|
+
you to review."
|
|
13
14
|
- **Never in the way.** If they asked for something else, do that first and
|
|
14
15
|
make the offer in one line at the end. If they decline, drop it.
|
|
15
16
|
- **Draft from what they give you.** Read the website they name, or work from
|
|
16
17
|
what they tell you, and ask when something essential is missing rather than
|
|
17
18
|
inventing it. Good first pages: About the company, Customers, Products,
|
|
18
|
-
Glossary, How we work. Say where each fact came from (see
|
|
19
|
+
Glossary, How we work. Say where each fact came from (see `conventions`).
|
|
19
20
|
- **Write them with the normal tools** (`write_file`, `write_files`) as
|
|
20
21
|
markdown under `{{kbDirName}}/{{knowledgeBaseDir}}/`, one page per subject.
|
|
21
22
|
Leave the starter guide as it is. A write you are refused says whether you
|