@bevel-software/platform-core-backend 0.30.0 → 0.31.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/agent-guide/access-control.md +49 -4
- package/agent-guide/html-views.md +76 -2
- package/dist/core/catalog-revision.js +3 -3
- package/dist/core/create-core-server.d.ts.map +1 -1
- package/dist/core/create-core-server.js +2 -1
- package/dist/core/create-core-server.js.map +1 -1
- package/dist/core/create-core-services.d.ts.map +1 -1
- package/dist/core/create-core-services.js +4 -2
- package/dist/core/create-core-services.js.map +1 -1
- package/dist/modules/access/access-control.service.d.ts.map +1 -1
- package/dist/modules/access/access-control.service.js +1 -5
- package/dist/modules/access/access-control.service.js.map +1 -1
- package/dist/modules/audit/agent-audit.service.d.ts.map +1 -1
- package/dist/modules/audit/agent-audit.service.js +66 -6
- package/dist/modules/audit/agent-audit.service.js.map +1 -1
- package/dist/modules/audit/audit.contract.d.ts +52 -8
- package/dist/modules/audit/audit.contract.d.ts.map +1 -1
- package/dist/modules/audit/audit.contract.js +37 -1
- package/dist/modules/audit/audit.contract.js.map +1 -1
- package/dist/modules/audit/audit.routes.d.ts +1 -1
- package/dist/modules/audit/audit.routes.d.ts.map +1 -1
- package/dist/modules/audit/audit.routes.js +15 -13
- package/dist/modules/audit/audit.routes.js.map +1 -1
- package/dist/modules/audit/request-audit.d.ts +21 -10
- package/dist/modules/audit/request-audit.d.ts.map +1 -1
- package/dist/modules/audit/request-audit.js +26 -10
- package/dist/modules/audit/request-audit.js.map +1 -1
- package/dist/modules/database/core-schema.d.ts +22 -3
- package/dist/modules/database/core-schema.d.ts.map +1 -1
- package/dist/modules/database/core-schema.js +15 -6
- package/dist/modules/database/core-schema.js.map +1 -1
- package/dist/modules/kb-fs/index.d.ts +1 -0
- package/dist/modules/kb-fs/index.d.ts.map +1 -1
- package/dist/modules/kb-fs/index.js +1 -0
- package/dist/modules/kb-fs/index.js.map +1 -1
- package/dist/modules/kb-fs/locking-filesystem.d.ts.map +1 -1
- package/dist/modules/kb-fs/locking-filesystem.js +3 -12
- package/dist/modules/kb-fs/locking-filesystem.js.map +1 -1
- package/dist/modules/kb-fs/mutex.d.ts +11 -0
- package/dist/modules/kb-fs/mutex.d.ts.map +1 -1
- package/dist/modules/kb-fs/mutex.js +14 -0
- package/dist/modules/kb-fs/mutex.js.map +1 -1
- package/dist/modules/mcp/mcp-auth.middleware.d.ts +14 -0
- package/dist/modules/mcp/mcp-auth.middleware.d.ts.map +1 -1
- package/dist/modules/mcp/mcp-auth.middleware.js +4 -0
- package/dist/modules/mcp/mcp-auth.middleware.js.map +1 -1
- package/dist/modules/mcp/mcp.routes.d.ts +5 -0
- package/dist/modules/mcp/mcp.routes.d.ts.map +1 -1
- package/dist/modules/mcp/mcp.routes.js +67 -0
- package/dist/modules/mcp/mcp.routes.js.map +1 -1
- package/dist/modules/mcp/mcp.service.d.ts +107 -27
- package/dist/modules/mcp/mcp.service.d.ts.map +1 -1
- package/dist/modules/mcp/mcp.service.js +257 -50
- package/dist/modules/mcp/mcp.service.js.map +1 -1
- package/dist/modules/mcp/request-context.d.ts +25 -0
- package/dist/modules/mcp/request-context.d.ts.map +1 -0
- package/dist/modules/mcp/request-context.js +11 -0
- package/dist/modules/mcp/request-context.js.map +1 -0
- package/dist/modules/mcp/shared-definitions.d.ts +56 -0
- package/dist/modules/mcp/shared-definitions.d.ts.map +1 -0
- package/dist/modules/mcp/shared-definitions.js +117 -0
- package/dist/modules/mcp/shared-definitions.js.map +1 -0
- package/dist/modules/mcp/surface-cache.d.ts +70 -0
- package/dist/modules/mcp/surface-cache.d.ts.map +1 -0
- package/dist/modules/mcp/surface-cache.js +104 -0
- package/dist/modules/mcp/surface-cache.js.map +1 -0
- package/dist/modules/tool-helpers/tool-context.d.ts.map +1 -1
- package/dist/modules/tool-helpers/tool-context.js +33 -12
- package/dist/modules/tool-helpers/tool-context.js.map +1 -1
- package/dist/modules/tool-helpers/tool.contract.d.ts +8 -0
- package/dist/modules/tool-helpers/tool.contract.d.ts.map +1 -1
- package/dist/modules/tool-helpers/tool.contract.js.map +1 -1
- package/dist/modules/workflow/agent-tools/change-request-read.tools.d.ts.map +1 -1
- package/dist/modules/workflow/agent-tools/change-request-read.tools.js +3 -14
- package/dist/modules/workflow/agent-tools/change-request-read.tools.js.map +1 -1
- package/dist/modules/workflow/agent-tools/workflow.tools.d.ts +18 -1
- package/dist/modules/workflow/agent-tools/workflow.tools.d.ts.map +1 -1
- package/dist/modules/workflow/agent-tools/workflow.tools.js +453 -2
- package/dist/modules/workflow/agent-tools/workflow.tools.js.map +1 -1
- package/dist/modules/workflow/git/git.service.d.ts +113 -4
- package/dist/modules/workflow/git/git.service.d.ts.map +1 -1
- package/dist/modules/workflow/git/git.service.js +470 -106
- package/dist/modules/workflow/git/git.service.js.map +1 -1
- package/dist/modules/workflow/read-on-branch.d.ts +35 -0
- package/dist/modules/workflow/read-on-branch.d.ts.map +1 -0
- package/dist/modules/workflow/read-on-branch.js +58 -0
- package/dist/modules/workflow/read-on-branch.js.map +1 -0
- package/dist/modules/workflow/workflow.routes.d.ts.map +1 -1
- package/dist/modules/workflow/workflow.routes.js +22 -41
- package/dist/modules/workflow/workflow.routes.js.map +1 -1
- package/dist/modules/workflow/workflow.service.d.ts +48 -8
- package/dist/modules/workflow/workflow.service.d.ts.map +1 -1
- package/dist/modules/workflow/workflow.service.js +163 -16
- package/dist/modules/workflow/workflow.service.js.map +1 -1
- package/dist/modules/workspace/index.d.ts +2 -0
- package/dist/modules/workspace/index.d.ts.map +1 -1
- package/dist/modules/workspace/index.js +4 -0
- package/dist/modules/workspace/index.js.map +1 -1
- package/dist/shared/git.contract.d.ts +7 -0
- package/dist/shared/git.contract.d.ts.map +1 -1
- package/dist/shared/git.contract.js +9 -0
- package/dist/shared/git.contract.js.map +1 -1
- package/dist/shared/no-link-below.d.ts +10 -0
- package/dist/shared/no-link-below.d.ts.map +1 -0
- package/dist/shared/no-link-below.js +30 -0
- package/dist/shared/no-link-below.js.map +1 -0
- package/migrations/0018_agent_events_page.sql +11 -0
- package/migrations/meta/0018_snapshot.json +2429 -0
- package/migrations/meta/_journal.json +8 -1
- package/package.json +3 -3
- package/src/core/catalog-revision.ts +3 -3
- package/src/core/create-core-server.ts +2 -1
- package/src/core/create-core-services.ts +4 -2
- package/src/modules/access/access-control.service.ts +1 -6
- package/src/modules/agent-guide/__tests__/agent-guide.test.ts +22 -1
- package/src/modules/audit/__tests__/agent-audit.service.test.ts +78 -1
- package/src/modules/audit/__tests__/audit.routes.test.ts +43 -5
- package/src/modules/audit/agent-audit.service.ts +66 -6
- package/src/modules/audit/audit.contract.ts +62 -10
- package/src/modules/audit/audit.routes.ts +14 -12
- package/src/modules/audit/request-audit.ts +28 -13
- package/src/modules/database/core-schema.ts +15 -6
- package/src/modules/kb-fs/__tests__/mutex.canonical.test.ts +57 -0
- package/src/modules/kb-fs/index.ts +1 -0
- package/src/modules/kb-fs/locking-filesystem.ts +3 -12
- package/src/modules/kb-fs/mutex.ts +16 -0
- package/src/modules/mcp/__tests__/mcp-routes-harness.ts +7 -1
- package/src/modules/mcp/__tests__/mcp.routes.page.test.ts +115 -0
- package/src/modules/mcp/__tests__/mcp.surface-cache.test.ts +521 -0
- package/src/modules/mcp/__tests__/shared-definitions.test.ts +28 -0
- package/src/modules/mcp/__tests__/surface-cache.test.ts +127 -0
- package/src/modules/mcp/mcp-auth.middleware.ts +21 -0
- package/src/modules/mcp/mcp.routes.ts +68 -0
- package/src/modules/mcp/mcp.service.ts +315 -51
- package/src/modules/mcp/request-context.ts +34 -0
- package/src/modules/mcp/shared-definitions.ts +121 -0
- package/src/modules/mcp/surface-cache.ts +154 -0
- package/src/modules/tool-helpers/tool-context.ts +37 -18
- package/src/modules/tool-helpers/tool.contract.ts +8 -0
- package/src/modules/tool-registry/__tests__/own-tool-schemas.test.ts +1 -1
- package/src/modules/tool-registry/__tests__/tool-description-length.test.ts +1 -1
- package/src/modules/workflow/__tests__/workflow.routes.history-read-gate.test.ts +23 -12
- package/src/modules/workflow/__tests__/workflow.service.facade.test.ts +250 -4
- package/src/modules/workflow/agent-tools/__tests__/workflow.tools.test.ts +464 -4
- package/src/modules/workflow/agent-tools/change-request-read.tools.ts +4 -22
- package/src/modules/workflow/agent-tools/workflow.tools.ts +462 -1
- package/src/modules/workflow/git/__tests__/git.service.diffFileBetweenBranches.test.ts +76 -11
- package/src/modules/workflow/git/__tests__/git.service.mergeIntoBranch.test.ts +721 -0
- package/src/modules/workflow/git/git.service.ts +537 -106
- package/src/modules/workflow/read-on-branch.ts +79 -0
- package/src/modules/workflow/workflow.routes.ts +21 -39
- package/src/modules/workflow/workflow.service.ts +203 -16
- package/src/modules/workspace/index.ts +11 -0
- package/src/shared/__tests__/no-link-below.test.ts +45 -0
- package/src/shared/git.contract.ts +10 -0
- package/src/shared/no-link-below.ts +29 -0
|
@@ -1,6 +1,9 @@
|
|
|
1
|
-
import { ToolError } from '../../tool-helpers/tool.contract.js';
|
|
1
|
+
import { ToolError, hasHttpStatus } from '../../tool-helpers/tool.contract.js';
|
|
2
|
+
import { isCommitSha } from '../../../shared/git.contract.js';
|
|
2
3
|
import { toolDef } from '../../tool-helpers/tool-def.js';
|
|
3
4
|
import { requireInternalSource } from '../../tool-auth/tool-auth.middleware.js';
|
|
5
|
+
import { assertAgentWriteAllowed, notifyAgentRead, SESSION_ID_INPUT } from '../../workspace/index.js';
|
|
6
|
+
import { readablePathsAt, readableAtCommits, assertReadableAtCommits } from '../read-on-branch.js';
|
|
4
7
|
import { workspaceIdForBranch } from '../../../shared/workspace-id.js';
|
|
5
8
|
import { assertInsideRepo, normalizePathArgs } from '../../kb-fs/repo-path.js';
|
|
6
9
|
import { RETIRED_TOOL_MESSAGES } from '@bevel-software/platform-mcp-core';
|
|
@@ -148,7 +151,22 @@ kb,
|
|
|
148
151
|
* own gate (`changeRequestScope(...).maySee`). `delete_branch` neither names
|
|
149
152
|
* nor links a request it answers no for.
|
|
150
153
|
*/
|
|
151
|
-
maySeeChangeRequest
|
|
154
|
+
maySeeChangeRequest,
|
|
155
|
+
/**
|
|
156
|
+
* The per-file read gate the history tools apply: a file's past is the
|
|
157
|
+
* file, so a history read takes the read the file itself takes — on the
|
|
158
|
+
* workspace for its own branch's history (`canRead`), at the commit
|
|
159
|
+
* another branch's content was served from (`canReadAtRef`, through
|
|
160
|
+
* `readableAtCommits`, the compare route's own rule), and in batches for
|
|
161
|
+
* the path lists `branch_status` shows.
|
|
162
|
+
*/
|
|
163
|
+
accessControl,
|
|
164
|
+
/**
|
|
165
|
+
* The deployment's blocking read hook, told of every file content a history
|
|
166
|
+
* tool serves, as `read_file` tells it — a hook that refuses the read
|
|
167
|
+
* refuses the history too.
|
|
168
|
+
*/
|
|
169
|
+
agentAccessGate) {
|
|
152
170
|
const { kbDirName } = kb;
|
|
153
171
|
const mount = (spec) => {
|
|
154
172
|
const path = `/api/agent/tools/${spec.name}`;
|
|
@@ -658,5 +676,438 @@ maySeeChangeRequest) {
|
|
|
658
676
|
};
|
|
659
677
|
},
|
|
660
678
|
});
|
|
679
|
+
// ── History and syncing ────────────────────────────────────────────────────
|
|
680
|
+
//
|
|
681
|
+
// What the app's History tab, compare view and "update from target" do,
|
|
682
|
+
// as tools: the agent never runs git itself. Each reads through the
|
|
683
|
+
// workflow service's gated methods and takes the per-file read the file
|
|
684
|
+
// itself takes.
|
|
685
|
+
/** The branch's workspace, made when it is not on disk yet, and its id. */
|
|
686
|
+
const workspaceOf = async (ctx, branch) => {
|
|
687
|
+
await ctx.workspaceService.getOrCreateForBranch(branch);
|
|
688
|
+
return workspaceIdForBranch(branch);
|
|
689
|
+
};
|
|
690
|
+
/**
|
|
691
|
+
* The per-file read gate on the workspace's own branch, and the
|
|
692
|
+
* deployment's read hook told of the read (as `read_file` tells it);
|
|
693
|
+
* answers the repository-relative path.
|
|
694
|
+
*/
|
|
695
|
+
const requireRead = async (ctx, branch, workspaceId, path) => {
|
|
696
|
+
const rel = stripKbDir(path, kbDirName);
|
|
697
|
+
await notifyAgentRead(agentAccessGate, ctx, branch, path);
|
|
698
|
+
if (!(await accessControl.canRead(workspaceId, ctx.user.email, rel))) {
|
|
699
|
+
throw new ToolError(`You don't have permission to read "${rel}".`, 403, { kind: 'read-denied', path: rel });
|
|
700
|
+
}
|
|
701
|
+
return rel;
|
|
702
|
+
};
|
|
703
|
+
/**
|
|
704
|
+
* The per-file read gate for content served from ANOTHER branch — the
|
|
705
|
+
* compare route's rule: at every commit the branch resolves to (the one
|
|
706
|
+
* the service serves it from, and its other tip when the local head and
|
|
707
|
+
* the published tip differ), all of which must grant, asked by the
|
|
708
|
+
* service inside its reservation before anything is said about the path
|
|
709
|
+
* there.
|
|
710
|
+
*/
|
|
711
|
+
const requireReadAtCommits = (ctx, workspaceId, rel, commits, branch) => assertReadableAtCommits(accessControl, workspaceId, ctx.user.email, rel, commits, branch);
|
|
712
|
+
/** Which of `paths` the caller may read at `origin/<base>` — the change-request reads' rule, `readablePathsAt`. */
|
|
713
|
+
const readableAt = (ctx, workspaceId, base, paths) => readablePathsAt(accessControl, workspaceId, ctx.user.email, base, paths);
|
|
714
|
+
mount({
|
|
715
|
+
name: 'list_file_changes',
|
|
716
|
+
description: 'The history of one file on `branch`: its commits, newest first — who made each, when, and its ' +
|
|
717
|
+
'subject — as the app\'s History tab shows them. `limit` caps the list (default 20, at most 100). ' +
|
|
718
|
+
'Read a version with `read_file_at` and its diff with `compare_file`. Takes the read the file itself ' +
|
|
719
|
+
'takes; a folder has no history of its own (ask per file).',
|
|
720
|
+
inputs: {
|
|
721
|
+
type: 'object',
|
|
722
|
+
properties: {
|
|
723
|
+
path: { type: 'string', minLength: 1, description: 'The file, workspace-relative (as `read_file` takes it).' },
|
|
724
|
+
limit: { type: 'integer', minimum: 1, maximum: 100, description: 'How many commits at most (default 20).' },
|
|
725
|
+
sessionId: SESSION_ID_INPUT,
|
|
726
|
+
},
|
|
727
|
+
required: ['path'],
|
|
728
|
+
additionalProperties: false,
|
|
729
|
+
},
|
|
730
|
+
outputs: {
|
|
731
|
+
type: 'object',
|
|
732
|
+
properties: {
|
|
733
|
+
path: { type: 'string', description: 'The file, repository-relative.' },
|
|
734
|
+
changes: { type: 'array', items: commitSchema, description: 'Newest first.' },
|
|
735
|
+
},
|
|
736
|
+
required: ['path', 'changes'],
|
|
737
|
+
},
|
|
738
|
+
write: false,
|
|
739
|
+
handler: async (args, ctx) => {
|
|
740
|
+
const branch = args.branch;
|
|
741
|
+
const path = args.path;
|
|
742
|
+
if (typeof path !== 'string' || path.length === 0)
|
|
743
|
+
throw new ToolError('`path` is required.', 400);
|
|
744
|
+
const workspaceId = await workspaceOf(ctx, branch);
|
|
745
|
+
const rel = await requireRead(ctx, branch, workspaceId, path);
|
|
746
|
+
const limit = typeof args.limit === 'number' ? args.limit : undefined;
|
|
747
|
+
const changes = await ctx.workflowService.listChangesForFile(workspaceId, path, limit);
|
|
748
|
+
return { path: rel, changes };
|
|
749
|
+
},
|
|
750
|
+
});
|
|
751
|
+
mount({
|
|
752
|
+
name: 'read_file_at',
|
|
753
|
+
description: 'One file as it was at a point in history: `at` is a commit (from `list_file_changes`, on `branch`\'s ' +
|
|
754
|
+
'own history) or the name of another branch (its published tip). Answers `content` (null when the ' +
|
|
755
|
+
'file was not there) and `sha`, the commit it was read at; for a commit, also `before`, the file ' +
|
|
756
|
+
'just before that commit. To put an earlier version back, write it with `write_file`. Takes the read ' +
|
|
757
|
+
'the file takes at that point.',
|
|
758
|
+
inputs: {
|
|
759
|
+
type: 'object',
|
|
760
|
+
properties: {
|
|
761
|
+
path: { type: 'string', minLength: 1, description: 'The file, workspace-relative.' },
|
|
762
|
+
at: { type: 'string', minLength: 1, description: 'A commit sha, or a branch name.' },
|
|
763
|
+
sessionId: SESSION_ID_INPUT,
|
|
764
|
+
},
|
|
765
|
+
required: ['path', 'at'],
|
|
766
|
+
additionalProperties: false,
|
|
767
|
+
},
|
|
768
|
+
outputs: {
|
|
769
|
+
type: 'object',
|
|
770
|
+
properties: {
|
|
771
|
+
path: { type: 'string', description: 'The file, repository-relative.' },
|
|
772
|
+
at: { type: 'string', description: 'What was asked for.' },
|
|
773
|
+
kind: { type: 'string', enum: ['commit', 'branch'] },
|
|
774
|
+
sha: { type: 'string', description: 'The commit the content was read at.' },
|
|
775
|
+
content: { type: ['string', 'null'], description: 'The file at that commit; null when it was not there.' },
|
|
776
|
+
before: { type: ['string', 'null'], description: 'For a commit: the file just before it; null when it was not there (or the commit is the first).' },
|
|
777
|
+
},
|
|
778
|
+
required: ['path', 'at', 'kind', 'sha', 'content'],
|
|
779
|
+
},
|
|
780
|
+
write: false,
|
|
781
|
+
handler: async (args, ctx) => {
|
|
782
|
+
const branch = args.branch;
|
|
783
|
+
const path = args.path;
|
|
784
|
+
const at = args.at;
|
|
785
|
+
if (typeof path !== 'string' || path.length === 0)
|
|
786
|
+
throw new ToolError('`path` is required.', 400);
|
|
787
|
+
if (typeof at !== 'string' || at.length === 0)
|
|
788
|
+
throw new ToolError('`at` is required: a commit sha or a branch name.', 400);
|
|
789
|
+
const workspaceId = await workspaceOf(ctx, branch);
|
|
790
|
+
// The hook and the workspace gate first, whichever point in history is
|
|
791
|
+
// read: the file is this workspace's file.
|
|
792
|
+
const rel = await requireRead(ctx, branch, workspaceId, path);
|
|
793
|
+
if (isCommitSha(at)) {
|
|
794
|
+
const { baseline, current } = await ctx.workflowService.fileAtChange(workspaceId, path, at);
|
|
795
|
+
return { path: rel, at, kind: 'commit', sha: at, content: current, before: baseline };
|
|
796
|
+
}
|
|
797
|
+
// Read at the branch's published tip, authorized at that very commit
|
|
798
|
+
// inside the read — before anything is said about the path there,
|
|
799
|
+
// the folder refusal included: the ref is a name a fetch may move
|
|
800
|
+
// between a verdict and a read; the commit is not.
|
|
801
|
+
const read = await ctx.workflowService.fileAtBranch(workspaceId, path, at, (commits) => requireReadAtCommits(ctx, workspaceId, rel, commits, at));
|
|
802
|
+
return { path: rel, at, kind: 'branch', sha: read.sha, content: read.content };
|
|
803
|
+
},
|
|
804
|
+
});
|
|
805
|
+
mount({
|
|
806
|
+
name: 'compare_file',
|
|
807
|
+
description: 'The unified diff of one file: between two branches (`from`, `to`; either may be `branch` itself), ' +
|
|
808
|
+
'or of one commit on `branch` (`at`: what that commit changed in the file). Empty when identical. ' +
|
|
809
|
+
'Takes the read the file takes on each side.',
|
|
810
|
+
inputs: {
|
|
811
|
+
type: 'object',
|
|
812
|
+
properties: {
|
|
813
|
+
path: { type: 'string', minLength: 1, description: 'The file, workspace-relative.' },
|
|
814
|
+
from: { type: 'string', minLength: 1, description: 'A branch: the diff\'s left side.' },
|
|
815
|
+
to: { type: 'string', minLength: 1, description: 'A branch: the diff\'s right side.' },
|
|
816
|
+
at: { type: 'string', minLength: 1, description: 'A commit sha on `branch`: the diff that commit made in the file.' },
|
|
817
|
+
sessionId: SESSION_ID_INPUT,
|
|
818
|
+
},
|
|
819
|
+
required: ['path'],
|
|
820
|
+
additionalProperties: false,
|
|
821
|
+
},
|
|
822
|
+
outputs: {
|
|
823
|
+
type: 'object',
|
|
824
|
+
properties: {
|
|
825
|
+
path: { type: 'string', description: 'The file, repository-relative.' },
|
|
826
|
+
diff: { type: 'string', description: 'A unified diff; empty when the two sides are identical.' },
|
|
827
|
+
},
|
|
828
|
+
required: ['path', 'diff'],
|
|
829
|
+
},
|
|
830
|
+
write: false,
|
|
831
|
+
handler: async (args, ctx) => {
|
|
832
|
+
const branch = args.branch;
|
|
833
|
+
const path = args.path;
|
|
834
|
+
if (typeof path !== 'string' || path.length === 0)
|
|
835
|
+
throw new ToolError('`path` is required.', 400);
|
|
836
|
+
const workspaceId = await workspaceOf(ctx, branch);
|
|
837
|
+
// As the compare route: the workspace's own gate on the path (the
|
|
838
|
+
// checked-out side can be served from the working tree), then each
|
|
839
|
+
// compared side at the commit it was served from.
|
|
840
|
+
const rel = await requireRead(ctx, branch, workspaceId, path);
|
|
841
|
+
if (typeof args.at === 'string' && args.at.length > 0) {
|
|
842
|
+
if (!isCommitSha(args.at))
|
|
843
|
+
throw new ToolError('`at` must be a full commit sha.', 400);
|
|
844
|
+
return { path: rel, diff: await ctx.workflowService.showFileAtChange(workspaceId, path, args.at) };
|
|
845
|
+
}
|
|
846
|
+
const from = args.from;
|
|
847
|
+
const to = args.to;
|
|
848
|
+
if (typeof from !== 'string' || from.length === 0 || typeof to !== 'string' || to.length === 0) {
|
|
849
|
+
throw new ToolError('Give `from` and `to` (two branches), or `at` (one commit).', 400);
|
|
850
|
+
}
|
|
851
|
+
const compared = await ctx.workflowService.compareFile(workspaceId, path, from, to, async (sides) => {
|
|
852
|
+
await requireReadAtCommits(ctx, workspaceId, rel, sides.from, from);
|
|
853
|
+
await requireReadAtCommits(ctx, workspaceId, rel, sides.to, to);
|
|
854
|
+
});
|
|
855
|
+
return { path: rel, diff: compared.diff };
|
|
856
|
+
},
|
|
857
|
+
});
|
|
858
|
+
mount({
|
|
859
|
+
name: 'branch_status',
|
|
860
|
+
description: 'Where `branch` stands, before proposing or syncing a draft. Answers whether it is on the shared ' +
|
|
861
|
+
'repository, how far ahead of and behind its upstream it is, whether the shared branch has commits this ' +
|
|
862
|
+
'workspace lacks (`behindRemote`: `update_branch` brings them in), the files written but not committed ' +
|
|
863
|
+
'yet, the protected branch it was forked from (`forkBase`), and `changedPaths`: what it changes against ' +
|
|
864
|
+
'`base` (default: the fork base) — the files a change request into it would carry.',
|
|
865
|
+
inputs: {
|
|
866
|
+
type: 'object',
|
|
867
|
+
properties: {
|
|
868
|
+
base: { type: 'string', minLength: 1, description: 'The branch to compare against (default: the fork base).' },
|
|
869
|
+
sessionId: SESSION_ID_INPUT,
|
|
870
|
+
},
|
|
871
|
+
additionalProperties: false,
|
|
872
|
+
},
|
|
873
|
+
outputs: {
|
|
874
|
+
type: 'object',
|
|
875
|
+
properties: {
|
|
876
|
+
branch: { type: 'string' },
|
|
877
|
+
isProtected: { type: 'boolean' },
|
|
878
|
+
hasRemote: { type: 'boolean', description: 'True when the shared repository has the branch.' },
|
|
879
|
+
ahead: { type: ['integer', 'null'], description: 'Commits ahead of the upstream (or the fork base); null when unresolved.' },
|
|
880
|
+
behind: { type: ['integer', 'null'], description: 'Commits behind; null when unresolved.' },
|
|
881
|
+
behindRemote: { type: 'boolean', description: 'The shared branch has commits this workspace has not merged yet.' },
|
|
882
|
+
uncommittedPaths: { type: 'array', items: { type: 'string' }, description: 'Written but not committed yet (saves still landing).' },
|
|
883
|
+
forkBase: { type: ['string', 'null'], description: 'The protected branch this one was forked from; null when none can be reached.' },
|
|
884
|
+
base: { type: ['string', 'null'], description: 'What `changedPaths` is against.' },
|
|
885
|
+
changedPaths: { type: 'array', items: { type: 'string' }, description: 'Repository-relative; rename-aware; only the paths you may read. Empty when `base` is null.' },
|
|
886
|
+
withheldPaths: { type: 'integer', description: 'How many changed or uncommitted paths were left out because you may not read them.' },
|
|
887
|
+
},
|
|
888
|
+
required: ['branch', 'isProtected', 'hasRemote', 'ahead', 'behind', 'behindRemote', 'uncommittedPaths', 'forkBase', 'base', 'changedPaths', 'withheldPaths'],
|
|
889
|
+
},
|
|
890
|
+
write: false,
|
|
891
|
+
handler: async (args, ctx) => {
|
|
892
|
+
const branch = args.branch;
|
|
893
|
+
const workspaceId = await workspaceOf(ctx, branch);
|
|
894
|
+
// Each read below takes the workspace's reservation on its own: this
|
|
895
|
+
// is a REPORT of independent facts, not a range measured across steps,
|
|
896
|
+
// and a save or sync landing between two of them is tolerated — the
|
|
897
|
+
// next call reports it. (The one answer that must be exact, what a
|
|
898
|
+
// merge is of, is taken under one reservation by `update_branch`.)
|
|
899
|
+
const [status, branches, pending, forkBase] = await Promise.all([
|
|
900
|
+
ctx.workflowService.branchStatus(workspaceId),
|
|
901
|
+
ctx.workflowService.listBranches(workspaceId),
|
|
902
|
+
ctx.workflowService.listPendingChangePaths(workspaceId),
|
|
903
|
+
ctx.workflowService.resolveForkBase(workspaceId, branch),
|
|
904
|
+
]);
|
|
905
|
+
const info = branches.find((b) => b.name === branch);
|
|
906
|
+
const base = typeof args.base === 'string' && args.base.length > 0 ? args.base : forkBase;
|
|
907
|
+
// A path's name is information too: the changed paths are shown as the
|
|
908
|
+
// change-request reads show them (readable at `origin/<base>`), the
|
|
909
|
+
// uncommitted ones as the workspace's own listing would.
|
|
910
|
+
const changedAll = base && base !== branch ? await ctx.workflowService.changedPathsBetweenBranches(workspaceId, base, branch) : [];
|
|
911
|
+
const readableChanged = base ? await readableAt(ctx, workspaceId, base, changedAll) : new Set();
|
|
912
|
+
const changedPaths = changedAll.filter((p) => readableChanged.has(p));
|
|
913
|
+
const pendingRel = pending.map((p) => stripKbDir(p, kbDirName));
|
|
914
|
+
const pendingVerdicts = pendingRel.length > 0 ? await accessControl.canReadBatch(workspaceId, ctx.user.email, pendingRel) : new Map();
|
|
915
|
+
const uncommittedPaths = pendingRel.filter((p) => pendingVerdicts.get(p) === true);
|
|
916
|
+
return {
|
|
917
|
+
branch,
|
|
918
|
+
isProtected: info?.isProtected ?? kb.protectedBranches.has(branch),
|
|
919
|
+
hasRemote: info?.hasRemote ?? status.hasUpstream,
|
|
920
|
+
ahead: info?.ahead ?? null,
|
|
921
|
+
behind: info?.behind ?? null,
|
|
922
|
+
behindRemote: status.unmergedFromUpstream,
|
|
923
|
+
uncommittedPaths,
|
|
924
|
+
forkBase,
|
|
925
|
+
base: base && base !== branch ? base : null,
|
|
926
|
+
changedPaths,
|
|
927
|
+
withheldPaths: changedAll.length - changedPaths.length + (pendingRel.length - uncommittedPaths.length),
|
|
928
|
+
};
|
|
929
|
+
},
|
|
930
|
+
});
|
|
931
|
+
mount({
|
|
932
|
+
name: 'update_branch',
|
|
933
|
+
description: 'Bring another branch into `branch` as a merge commit by you, and publish it: `from` (a draft\'s ' +
|
|
934
|
+
'target, to refresh the draft), or left out, the branch\'s own shared state when it moved while this ' +
|
|
935
|
+
'workspace held commits (`branch_status` says `behindRemote`). Never a protected branch. CONFLICTS: ' +
|
|
936
|
+
'the first call answers `conflicts` naming every conflicted path with the file at the merge base, on ' +
|
|
937
|
+
'each side (`ours` = `branch`, `theirs` = `from`) and the working copy with git\'s markers, and leaves ' +
|
|
938
|
+
'the branch as it was. Decide each file (keep both sides\' information unless one is clearly stale; ' +
|
|
939
|
+
'`list_file_changes` shows intent), then call again with `resolutions`, one per conflicted path: ' +
|
|
940
|
+
'`content` (the resolved text) or `choose` (`ours`, `theirs`, `delete`). Only conflicted paths are ' +
|
|
941
|
+
'written here; other edits go through the file tools. Answers `merged`, `nothing-to-merge`, ' +
|
|
942
|
+
'`conflicts` again (something changed meanwhile), or `pending-commits` (writes still landing: retry).',
|
|
943
|
+
inputs: {
|
|
944
|
+
type: 'object',
|
|
945
|
+
properties: {
|
|
946
|
+
from: { type: 'string', minLength: 1, description: 'The branch to bring in (default: this branch\'s own shared state).' },
|
|
947
|
+
sessionId: SESSION_ID_INPUT,
|
|
948
|
+
resolutions: {
|
|
949
|
+
type: 'array',
|
|
950
|
+
description: 'One per conflicted path, from a previous `conflicts` answer.',
|
|
951
|
+
items: {
|
|
952
|
+
type: 'object',
|
|
953
|
+
properties: {
|
|
954
|
+
path: { type: 'string', minLength: 1, description: 'The conflicted path, as the answer named it.' },
|
|
955
|
+
content: { type: 'string', description: 'The resolved text of the file.' },
|
|
956
|
+
choose: { type: 'string', enum: ['ours', 'theirs', 'delete'], description: 'Keep one side whole, or drop the file.' },
|
|
957
|
+
},
|
|
958
|
+
required: ['path'],
|
|
959
|
+
additionalProperties: false,
|
|
960
|
+
},
|
|
961
|
+
},
|
|
962
|
+
},
|
|
963
|
+
additionalProperties: false,
|
|
964
|
+
},
|
|
965
|
+
outputs: {
|
|
966
|
+
type: 'object',
|
|
967
|
+
properties: {
|
|
968
|
+
kind: { type: 'string', enum: ['merged', 'nothing-to-merge', 'conflicts', 'pending-commits'] },
|
|
969
|
+
from: { type: 'string', description: 'The branch brought in.' },
|
|
970
|
+
sha: { type: 'string', description: '`merged`: the merge commit, now the tip of `branch`, published; `nothing-to-merge`: the unchanged tip.' },
|
|
971
|
+
resolvedPaths: { type: 'array', items: { type: 'string' }, description: '`merged`: the conflicts the resolutions settled.' },
|
|
972
|
+
mergeBase: { type: ['string', 'null'], description: '`conflicts`: the common ancestor; null when the histories are unrelated.' },
|
|
973
|
+
ours: { type: 'string', description: '`conflicts`: the tip of `branch`.' },
|
|
974
|
+
theirs: { type: 'string', description: '`conflicts`: the tip of `from`.' },
|
|
975
|
+
files: {
|
|
976
|
+
type: 'array',
|
|
977
|
+
description: '`conflicts`: every conflicted path you may read, with the file at the base, on each side, and the marked-up ' +
|
|
978
|
+
'working copy. A side is null when that side has no file — or when `truncated` names it (too large or not ' +
|
|
979
|
+
'text): then read `ours` with `read_file`, `theirs` with `read_file_at` at `from`, `base` with `read_file_at` ' +
|
|
980
|
+
'at `mergeBase`.',
|
|
981
|
+
items: {
|
|
982
|
+
type: 'object',
|
|
983
|
+
properties: {
|
|
984
|
+
path: { type: 'string' },
|
|
985
|
+
base: { type: ['string', 'null'] },
|
|
986
|
+
ours: { type: ['string', 'null'] },
|
|
987
|
+
theirs: { type: ['string', 'null'] },
|
|
988
|
+
merged: { type: ['string', 'null'] },
|
|
989
|
+
truncated: { type: 'array', items: { type: 'string', enum: ['base', 'ours', 'theirs', 'merged'] } },
|
|
990
|
+
},
|
|
991
|
+
required: ['path', 'base', 'ours', 'theirs', 'merged'],
|
|
992
|
+
},
|
|
993
|
+
},
|
|
994
|
+
unresolved: { type: 'array', items: { type: 'string' }, description: '`conflicts`: the paths you may read that no resolution covered.' },
|
|
995
|
+
withheldConflicts: {
|
|
996
|
+
type: 'integer',
|
|
997
|
+
description: '`conflicts`: how many conflicted files were left out because you may not read them on one of the two branches. ' +
|
|
998
|
+
'They are not yours to settle: ask a person who can read them to update the draft in the app.',
|
|
999
|
+
},
|
|
1000
|
+
branch: { type: 'string', description: '`pending-commits`: the branch whose writes are not committed yet.' },
|
|
1001
|
+
pending: { type: 'integer', description: '`pending-commits`: how many.' },
|
|
1002
|
+
needsAttention: { type: 'string', description: '`pending-commits`: a queued commit failed; the worker\'s message. Tell the user.' },
|
|
1003
|
+
message: { type: 'string', description: '`pending-commits`: what to do next.' },
|
|
1004
|
+
},
|
|
1005
|
+
required: ['kind'],
|
|
1006
|
+
},
|
|
1007
|
+
write: true,
|
|
1008
|
+
handler: async (args, ctx) => {
|
|
1009
|
+
const branch = args.branch;
|
|
1010
|
+
const from = args.from;
|
|
1011
|
+
if (from !== undefined && (typeof from !== 'string' || from.length === 0)) {
|
|
1012
|
+
throw new ToolError('`from` must be a branch name.', 400);
|
|
1013
|
+
}
|
|
1014
|
+
let resolutions;
|
|
1015
|
+
if (args.resolutions !== undefined) {
|
|
1016
|
+
if (!Array.isArray(args.resolutions))
|
|
1017
|
+
throw new ToolError('`resolutions` must be a list.', 400);
|
|
1018
|
+
resolutions = args.resolutions.map((r, i) => {
|
|
1019
|
+
const entry = r;
|
|
1020
|
+
if (!entry || typeof entry.path !== 'string' || entry.path.length === 0) {
|
|
1021
|
+
throw new ToolError(`resolutions[${i}]: \`path\` is required.`, 400);
|
|
1022
|
+
}
|
|
1023
|
+
const out = { path: entry.path };
|
|
1024
|
+
if (entry.content !== undefined) {
|
|
1025
|
+
if (typeof entry.content !== 'string')
|
|
1026
|
+
throw new ToolError(`resolutions[${i}]: \`content\` must be text.`, 400);
|
|
1027
|
+
out.content = entry.content;
|
|
1028
|
+
}
|
|
1029
|
+
if (entry.choose !== undefined) {
|
|
1030
|
+
if (entry.choose !== 'ours' && entry.choose !== 'theirs' && entry.choose !== 'delete') {
|
|
1031
|
+
throw new ToolError(`resolutions[${i}]: \`choose\` is \`ours\`, \`theirs\` or \`delete\`.`, 400);
|
|
1032
|
+
}
|
|
1033
|
+
out.choose = entry.choose;
|
|
1034
|
+
}
|
|
1035
|
+
return out;
|
|
1036
|
+
});
|
|
1037
|
+
}
|
|
1038
|
+
const workspaceId = await workspaceOf(ctx, branch);
|
|
1039
|
+
/**
|
|
1040
|
+
* Whether the caller may read `rel` on both sides of this merge — at
|
|
1041
|
+
* the two COMMITS the answer says the merge was of, which is what its
|
|
1042
|
+
* bytes are from, never at a branch ref that may have moved since the
|
|
1043
|
+
* reservation was released — with the deployment's read hook told of
|
|
1044
|
+
* the read, as every history read tells it: a hook that refuses makes
|
|
1045
|
+
* the file one the caller may not read; a hook that fails is not an
|
|
1046
|
+
* answer and propagates.
|
|
1047
|
+
*/
|
|
1048
|
+
const mayReadBothSides = async (rel, at) => {
|
|
1049
|
+
try {
|
|
1050
|
+
await notifyAgentRead(agentAccessGate, ctx, branch, `${kbDirName}/${rel}`);
|
|
1051
|
+
}
|
|
1052
|
+
catch (err) {
|
|
1053
|
+
// A hook's own refusal carries a status; anything else is a failure of the hook, not an answer.
|
|
1054
|
+
if (hasHttpStatus(err))
|
|
1055
|
+
return false;
|
|
1056
|
+
throw err;
|
|
1057
|
+
}
|
|
1058
|
+
return readableAtCommits(accessControl, workspaceId, ctx.user.email, rel, [at.ours, at.theirs]);
|
|
1059
|
+
};
|
|
1060
|
+
// A resolution reads a file on both branches and writes it on the
|
|
1061
|
+
// draft, so the deployment's hooks are asked as they are for any read
|
|
1062
|
+
// and any write. The access model's own verdicts — may the caller read
|
|
1063
|
+
// the file on both branches, may they change it on the draft — are the
|
|
1064
|
+
// service's, asked inside the merge against the source commit as
|
|
1065
|
+
// fetched (`updateBranch`), so a rule that changed with the source
|
|
1066
|
+
// cannot be outrun by a check made before it was fetched.
|
|
1067
|
+
for (const r of resolutions ?? []) {
|
|
1068
|
+
const wsPath = `${kbDirName}/${stripKbDir(r.path, kbDirName)}`;
|
|
1069
|
+
try {
|
|
1070
|
+
await notifyAgentRead(agentAccessGate, ctx, branch, wsPath);
|
|
1071
|
+
}
|
|
1072
|
+
catch (err) {
|
|
1073
|
+
if (hasHttpStatus(err)) {
|
|
1074
|
+
throw new ToolError(`You may not read "${stripKbDir(r.path, kbDirName)}" here, so it is not yours to settle.`, 403, {
|
|
1075
|
+
kind: 'read-denied',
|
|
1076
|
+
path: stripKbDir(r.path, kbDirName),
|
|
1077
|
+
});
|
|
1078
|
+
}
|
|
1079
|
+
throw err;
|
|
1080
|
+
}
|
|
1081
|
+
await assertAgentWriteAllowed(agentAccessGate, ctx, branch, wsPath);
|
|
1082
|
+
}
|
|
1083
|
+
// A resolution's content lands on the draft by the merge, not by the
|
|
1084
|
+
// file tools' filesystem: it takes the same pre-disk gate that
|
|
1085
|
+
// filesystem runs (`roles.yaml` must parse, no new role, no unknown
|
|
1086
|
+
// group), handed to the service to ask before the merge.
|
|
1087
|
+
const outcome = resolutions !== undefined
|
|
1088
|
+
? await ctx.workflowService.updateBranch(workspaceId, ctx.user, {
|
|
1089
|
+
...(from !== undefined ? { from } : {}),
|
|
1090
|
+
resolutions,
|
|
1091
|
+
validateWrite: await ctx.getWriteValidator(branch),
|
|
1092
|
+
})
|
|
1093
|
+
: await ctx.workflowService.updateBranch(workspaceId, ctx.user, from !== undefined ? { from } : {});
|
|
1094
|
+
if (outcome.kind !== 'conflicts')
|
|
1095
|
+
return outcome;
|
|
1096
|
+
// A conflict answer carries the file on both branches, and a path's
|
|
1097
|
+
// name is information too: a file the caller may not read on both is
|
|
1098
|
+
// left out of `files` and `unresolved` alike and only counted.
|
|
1099
|
+
const files = [];
|
|
1100
|
+
for (const f of outcome.files)
|
|
1101
|
+
if (await mayReadBothSides(f.path, outcome))
|
|
1102
|
+
files.push(f);
|
|
1103
|
+
const shown = new Set(files.map((f) => f.path));
|
|
1104
|
+
return {
|
|
1105
|
+
...outcome,
|
|
1106
|
+
files,
|
|
1107
|
+
unresolved: outcome.unresolved.filter((p) => shown.has(p)),
|
|
1108
|
+
withheldConflicts: outcome.files.length - files.length,
|
|
1109
|
+
};
|
|
1110
|
+
},
|
|
1111
|
+
});
|
|
661
1112
|
}
|
|
662
1113
|
//# sourceMappingURL=workflow.tools.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"workflow.tools.js","sourceRoot":"","sources":["../../../../src/modules/workflow/agent-tools/workflow.tools.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"workflow.tools.js","sourceRoot":"","sources":["../../../../src/modules/workflow/agent-tools/workflow.tools.ts"],"names":[],"mappings":"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"}
|