@descryy/mcp 0.11.1 → 0.11.3

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.
Files changed (135) hide show
  1. package/dist/bin/descry-mcp.js +6 -0
  2. package/dist/bin/descry-mcp.js.map +1 -1
  3. package/dist/browser/auth.d.ts +8 -0
  4. package/dist/browser/auth.d.ts.map +1 -1
  5. package/dist/browser/auth.js +12 -2
  6. package/dist/browser/auth.js.map +1 -1
  7. package/dist/credential-store.d.ts +22 -0
  8. package/dist/credential-store.d.ts.map +1 -0
  9. package/dist/credential-store.js +33 -0
  10. package/dist/credential-store.js.map +1 -0
  11. package/dist/index.d.ts +6 -1
  12. package/dist/index.d.ts.map +1 -1
  13. package/dist/index.js +4 -0
  14. package/dist/index.js.map +1 -1
  15. package/dist/planner/predict-then-propose.d.ts +34 -1
  16. package/dist/planner/predict-then-propose.d.ts.map +1 -1
  17. package/dist/planner/predict-then-propose.js +51 -1
  18. package/dist/planner/predict-then-propose.js.map +1 -1
  19. package/dist/planner/propose-journey.d.ts +15 -0
  20. package/dist/planner/propose-journey.d.ts.map +1 -1
  21. package/dist/planner/propose-journey.js.map +1 -1
  22. package/dist/render.d.ts +7 -11
  23. package/dist/render.d.ts.map +1 -1
  24. package/dist/render.js +22 -2
  25. package/dist/render.js.map +1 -1
  26. package/dist/scenarios/browser-run-plan-projection.d.ts +24 -6
  27. package/dist/scenarios/browser-run-plan-projection.d.ts.map +1 -1
  28. package/dist/scenarios/browser-run-plan-projection.js +45 -9
  29. package/dist/scenarios/browser-run-plan-projection.js.map +1 -1
  30. package/dist/server.d.ts.map +1 -1
  31. package/dist/server.js +13 -2
  32. package/dist/server.js.map +1 -1
  33. package/dist/tools/alias-kit.d.ts +29 -0
  34. package/dist/tools/alias-kit.d.ts.map +1 -0
  35. package/dist/tools/alias-kit.js +21 -0
  36. package/dist/tools/alias-kit.js.map +1 -0
  37. package/dist/tools/aliases.d.ts +42 -0
  38. package/dist/tools/aliases.d.ts.map +1 -0
  39. package/dist/tools/aliases.js +52 -0
  40. package/dist/tools/aliases.js.map +1 -0
  41. package/dist/tools/browser-close-session.d.ts +5 -1
  42. package/dist/tools/browser-close-session.d.ts.map +1 -1
  43. package/dist/tools/browser-close-session.js +3 -1
  44. package/dist/tools/browser-close-session.js.map +1 -1
  45. package/dist/tools/browser-navigate.d.ts +5 -1
  46. package/dist/tools/browser-navigate.d.ts.map +1 -1
  47. package/dist/tools/browser-navigate.js +3 -1
  48. package/dist/tools/browser-navigate.js.map +1 -1
  49. package/dist/tools/browser-read.d.ts +33 -0
  50. package/dist/tools/browser-read.d.ts.map +1 -0
  51. package/dist/tools/browser-read.js +113 -0
  52. package/dist/tools/browser-read.js.map +1 -0
  53. package/dist/tools/browser-snapshot.d.ts +5 -2
  54. package/dist/tools/browser-snapshot.d.ts.map +1 -1
  55. package/dist/tools/browser-snapshot.js +3 -1
  56. package/dist/tools/browser-snapshot.js.map +1 -1
  57. package/dist/tools/browser-start-session.d.ts.map +1 -1
  58. package/dist/tools/browser-start-session.js +57 -11
  59. package/dist/tools/browser-start-session.js.map +1 -1
  60. package/dist/tools/browser-wait-for.d.ts +5 -1
  61. package/dist/tools/browser-wait-for.d.ts.map +1 -1
  62. package/dist/tools/browser-wait-for.js +3 -1
  63. package/dist/tools/browser-wait-for.js.map +1 -1
  64. package/dist/tools/browser.d.ts +69 -0
  65. package/dist/tools/browser.d.ts.map +1 -0
  66. package/dist/tools/browser.js +386 -0
  67. package/dist/tools/browser.js.map +1 -0
  68. package/dist/tools/change-scope.d.ts +25 -0
  69. package/dist/tools/change-scope.d.ts.map +1 -0
  70. package/dist/tools/change-scope.js +110 -0
  71. package/dist/tools/change-scope.js.map +1 -0
  72. package/dist/tools/code-context.d.ts +83 -0
  73. package/dist/tools/code-context.d.ts.map +1 -0
  74. package/dist/tools/code-context.js +416 -0
  75. package/dist/tools/code-context.js.map +1 -0
  76. package/dist/tools/disclosure.d.ts +75 -0
  77. package/dist/tools/disclosure.d.ts.map +1 -0
  78. package/dist/tools/disclosure.js +288 -0
  79. package/dist/tools/disclosure.js.map +1 -0
  80. package/dist/tools/draw-conclusion.d.ts +12 -1
  81. package/dist/tools/draw-conclusion.d.ts.map +1 -1
  82. package/dist/tools/draw-conclusion.js +11 -2
  83. package/dist/tools/draw-conclusion.js.map +1 -1
  84. package/dist/tools/git-context.d.ts +39 -0
  85. package/dist/tools/git-context.d.ts.map +1 -0
  86. package/dist/tools/git-context.js +364 -0
  87. package/dist/tools/git-context.js.map +1 -0
  88. package/dist/tools/index.d.ts +16 -4
  89. package/dist/tools/index.d.ts.map +1 -1
  90. package/dist/tools/index.js +46 -67
  91. package/dist/tools/index.js.map +1 -1
  92. package/dist/tools/kit.d.ts +3 -2
  93. package/dist/tools/kit.d.ts.map +1 -1
  94. package/dist/tools/kit.js.map +1 -1
  95. package/dist/tools/merged-browser.d.ts +11 -0
  96. package/dist/tools/merged-browser.d.ts.map +1 -0
  97. package/dist/tools/merged-browser.js +20 -0
  98. package/dist/tools/merged-browser.js.map +1 -0
  99. package/dist/tools/merged-context.d.ts +11 -0
  100. package/dist/tools/merged-context.d.ts.map +1 -0
  101. package/dist/tools/merged-context.js +21 -0
  102. package/dist/tools/merged-context.js.map +1 -0
  103. package/dist/tools/merged-observe.d.ts +13 -0
  104. package/dist/tools/merged-observe.d.ts.map +1 -0
  105. package/dist/tools/merged-observe.js +21 -0
  106. package/dist/tools/merged-observe.js.map +1 -0
  107. package/dist/tools/merged-workspace.d.ts +14 -0
  108. package/dist/tools/merged-workspace.d.ts.map +1 -0
  109. package/dist/tools/merged-workspace.js +21 -0
  110. package/dist/tools/merged-workspace.js.map +1 -0
  111. package/dist/tools/observe-runtime.d.ts +38 -1
  112. package/dist/tools/observe-runtime.d.ts.map +1 -1
  113. package/dist/tools/observe-runtime.js +236 -6
  114. package/dist/tools/observe-runtime.js.map +1 -1
  115. package/dist/tools/observe-tests.d.ts +12 -1
  116. package/dist/tools/observe-tests.d.ts.map +1 -1
  117. package/dist/tools/observe-tests.js +6 -2
  118. package/dist/tools/observe-tests.js.map +1 -1
  119. package/dist/tools/observe.d.ts +28 -0
  120. package/dist/tools/observe.d.ts.map +1 -0
  121. package/dist/tools/observe.js +330 -0
  122. package/dist/tools/observe.js.map +1 -0
  123. package/dist/tools/prove-reach.d.ts +74 -0
  124. package/dist/tools/prove-reach.d.ts.map +1 -0
  125. package/dist/tools/prove-reach.js +286 -0
  126. package/dist/tools/prove-reach.js.map +1 -0
  127. package/dist/tools/verb.d.ts +46 -0
  128. package/dist/tools/verb.d.ts.map +1 -0
  129. package/dist/tools/verb.js +78 -0
  130. package/dist/tools/verb.js.map +1 -0
  131. package/dist/tools/workspace.d.ts +28 -0
  132. package/dist/tools/workspace.d.ts.map +1 -0
  133. package/dist/tools/workspace.js +101 -0
  134. package/dist/tools/workspace.js.map +1 -0
  135. package/package.json +25 -21
@@ -0,0 +1,364 @@
1
+ /**
2
+ * `git_context` — merges `get_git_diff` and `get_git_history` behind one
3
+ * `verb` (mcp-surface-consolidation.md group 2: both read/evidence, both live
4
+ * git reads of the working repository, neither touches the stored graph).
5
+ *
6
+ * Each verb's behaviour is unchanged from the tool it replaces. The two
7
+ * verbs' property sets do not overlap ("diff" never took a singular "file";
8
+ * "log" never took a "files" array), so `selectVerb` mostly guards against a
9
+ * genuinely misrouted call rather than a naming collision — but it is still
10
+ * mandatory, per verb.ts's header: a flat unioned schema cannot discriminate
11
+ * on its own once `additionalProperties: false` has to admit both verbs'
12
+ * properties.
13
+ */
14
+ import { applyReplySizeBudget, changedFiles, gitDiff, gitWorkingTreeChange, logForPath, TOTAL_PATCH_BUDGET_REASON_PREFIX, } from "@descryy/core";
15
+ import { answer, descryOwnState, optionalInteger, optionalString, optionalStringArray, requiredString, ToolInputError, } from "./kit.js";
16
+ import { selectVerb } from "./verb.js";
17
+ // --- get_git_diff's own shapes, unchanged -----------------------------------
18
+ const DIFF_DEFAULT_LIMIT = 200;
19
+ const REPLY_BUDGET_REASON_PREFIX = "the reply's overall size ceiling";
20
+ function fileBytes(file) {
21
+ return Buffer.byteLength(JSON.stringify(file), "utf8") + 1;
22
+ }
23
+ function fitDiff(identity, shown, filesTotal, budgetBytes) {
24
+ const scaffold = Buffer.byteLength(JSON.stringify({ ...identity, files: [], filesTotal }), "utf8");
25
+ const fitted = applyReplySizeBudget(shown, {
26
+ maxTotalBytes: budgetBytes,
27
+ overheadBytes: scaffold,
28
+ sizeOf: fileBytes,
29
+ hasPayload: (f) => f.patch !== null,
30
+ withhold: (f) => ({
31
+ ...f,
32
+ patch: null,
33
+ patchOmittedReason: `${REPLY_BUDGET_REASON_PREFIX} left no room for it`,
34
+ }),
35
+ });
36
+ const notes = [];
37
+ if (fitted.withheldCount > 0) {
38
+ notes.push(`${fitted.withheldCount} of the listed file(s) had their patch text withheld to keep this ` +
39
+ "reply inside its overall size ceiling, not by either patch budget — their stats above are " +
40
+ 'complete. Re-request them with a narrowed "files" to read their patches.');
41
+ }
42
+ if (fitted.droppedCount > 0) {
43
+ notes.push(`${fitted.droppedCount} further changed file(s) are absent from this reply entirely — the ` +
44
+ "per-file rows for every changed file do not fit inside the reply's size ceiling on their " +
45
+ 'own. This is a limit of one reply, not a finding about those files: re-request them with ' +
46
+ '"files" to see them.');
47
+ }
48
+ return {
49
+ data: { ...identity, files: fitted.items, filesTotal },
50
+ notes,
51
+ ...(fitted.droppedCount > 0
52
+ ? {
53
+ truncatedDetail: {
54
+ shown: fitted.items.length,
55
+ total: filesTotal,
56
+ more: null,
57
+ },
58
+ }
59
+ : {}),
60
+ };
61
+ }
62
+ // --- get_git_history's own shapes, unchanged --------------------------------
63
+ const LOG_DEFAULT_MAX_COMMITS = 20;
64
+ // --- per-verb argument ownership, for selectVerb ----------------------------
65
+ const VERB_SPECS = [
66
+ {
67
+ verb: "diff",
68
+ accepts: ["base", "workingTree", "includeUntracked", "head", "files", "maxPatchBytes", "maxTotalPatchBytes", "limit"],
69
+ },
70
+ { verb: "log", accepts: ["file", "maxCommits"] },
71
+ ];
72
+ const SCHEMA = {
73
+ type: "object",
74
+ properties: {
75
+ verb: {
76
+ type: "string",
77
+ enum: ["diff", "log"],
78
+ description: "diff: live per-file status/additions/deletions and patch text between two refs, or of " +
79
+ "uncommitted state. log: live commit history for one file, following renames.",
80
+ },
81
+ base: {
82
+ type: "string",
83
+ description: "diff only: the ref to diff against. Required unless \"workingTree\" is given — there is " +
84
+ "no defensible default.",
85
+ },
86
+ workingTree: {
87
+ type: "string",
88
+ enum: ["unstaged", "staged", "all"],
89
+ description: "diff only: diff uncommitted state instead of two refs. Mutually exclusive with \"base\".",
90
+ },
91
+ includeUntracked: {
92
+ type: "boolean",
93
+ description: "diff only, with \"workingTree\": also report never-added files as new-file patches. On " +
94
+ "by default.",
95
+ },
96
+ head: { type: "string", description: "diff only: the tip being diffed. Default HEAD." },
97
+ files: {
98
+ type: "array",
99
+ items: { type: "string" },
100
+ description: "diff only: restrict the diff to these repo-relative paths. Default: the whole diff.",
101
+ },
102
+ maxPatchBytes: {
103
+ type: "integer",
104
+ minimum: 1,
105
+ description: "diff only: a file's patch text is omitted (stats still reported) above this many bytes. " +
106
+ "Default 20,000.",
107
+ },
108
+ maxTotalPatchBytes: {
109
+ type: "integer",
110
+ minimum: 1,
111
+ description: "diff only: cap on the sum of every patch in the reply. Default 40,000. Files past it keep " +
112
+ "their stats, only the patch text is withheld. The reply is separately held under a fixed " +
113
+ "size ceiling on top of this, which can withhold further patches or, on a very wide diff, " +
114
+ "drop trailing files — always disclosed.",
115
+ },
116
+ file: {
117
+ type: "string",
118
+ description: "log only, required: repository-relative path to read live commit history for.",
119
+ },
120
+ maxCommits: {
121
+ type: "integer",
122
+ minimum: 1,
123
+ description: "log only: cap on commits returned, newest-first. Default 20.",
124
+ },
125
+ limit: { type: "integer", minimum: 1, description: "diff only: cap on files in the reply. Default 200." },
126
+ },
127
+ required: ["verb"],
128
+ additionalProperties: false,
129
+ };
130
+ async function runDiff(args, ctx) {
131
+ const workingTree = optionalString(args, "workingTree");
132
+ const includeUntracked = args["includeUntracked"] !== false;
133
+ const baseArg = optionalString(args, "base");
134
+ if (workingTree === undefined && baseArg === undefined) {
135
+ throw new ToolInputError('Give either "base" (a ref range) or "workingTree" (uncommitted state). There is no ' +
136
+ "defensible default, and guessing one silently changes which diff the answer describes.");
137
+ }
138
+ if (workingTree !== undefined && baseArg !== undefined) {
139
+ throw new ToolInputError('"base" and "workingTree" are mutually exclusive — they are two different questions. ' +
140
+ "Ask one.");
141
+ }
142
+ if (workingTree !== undefined && !["unstaged", "staged", "all"].includes(workingTree)) {
143
+ throw new ToolInputError(`"workingTree" must be "unstaged", "staged" or "all" — got "${workingTree}".`);
144
+ }
145
+ const base = baseArg ?? null;
146
+ const head = base === null ? null : optionalString(args, "head") ?? "HEAD";
147
+ const files = optionalStringArray(args, "files");
148
+ const maxPatchBytes = optionalInteger(args, "maxPatchBytes", 1);
149
+ const maxTotalPatchBytes = optionalInteger(args, "maxTotalPatchBytes", 1);
150
+ const limit = optionalInteger(args, "limit", 1) ?? DIFF_DEFAULT_LIMIT;
151
+ const { session } = ctx;
152
+ const stamp = session.provider().baseStamp();
153
+ const envelope = {
154
+ resolutionFloor: 0,
155
+ commitSha: stamp.commitSha,
156
+ graphBuiltAt: stamp.graphBuiltAt,
157
+ irSchemaVersion: stamp.irSchemaVersion,
158
+ commitSpread: stamp.commitSpread,
159
+ repoCount: stamp.repoCount,
160
+ nameLevel: true,
161
+ };
162
+ const scope = (workingTree ?? "all");
163
+ const subject = base === null ? `the working tree (${scope})` : `${base}...${head}`;
164
+ const mode = base === null ? "working-tree" : "range";
165
+ ctx.progress(`Diffing ${subject}`);
166
+ let all;
167
+ let untrackedTotal = 0;
168
+ let untrackedTruncated = false;
169
+ try {
170
+ if (base === null) {
171
+ const change = await gitWorkingTreeChange(session.repoPath, {
172
+ scope,
173
+ includeUntracked,
174
+ exclude: descryOwnState(session.config.graph),
175
+ ...(files === undefined ? {} : { files }),
176
+ ...(maxPatchBytes === undefined ? {} : { maxPatchBytes }),
177
+ ...(maxTotalPatchBytes === undefined ? {} : { maxTotalPatchBytes }),
178
+ });
179
+ all = change.files;
180
+ untrackedTotal = change.untrackedTotal;
181
+ untrackedTruncated = change.untrackedTruncated;
182
+ }
183
+ else {
184
+ all = await gitDiff(session.repoPath, base, head, {
185
+ ...(files === undefined ? {} : { files }),
186
+ ...(maxPatchBytes === undefined ? {} : { maxPatchBytes }),
187
+ ...(maxTotalPatchBytes === undefined ? {} : { maxTotalPatchBytes }),
188
+ });
189
+ }
190
+ }
191
+ catch (error) {
192
+ return answer({
193
+ ...envelope,
194
+ headline: `Could not diff ${subject}.`,
195
+ state: "refused",
196
+ data: {
197
+ mode,
198
+ base,
199
+ head,
200
+ files: [],
201
+ filesTotal: 0,
202
+ ...(base === null
203
+ ? { workingTree: { scope, includeUntracked, untrackedTotal: 0, untrackedTruncated: false } }
204
+ : {}),
205
+ },
206
+ notes: [
207
+ `git rejected it: ${error.message.trim()}.`,
208
+ "No diff was read, which is not a finding that nothing changed.",
209
+ ],
210
+ });
211
+ }
212
+ let filesMatchedNothing = false;
213
+ let wholeDiffCount = 0;
214
+ if (base !== null && all.length === 0 && files !== undefined && files.length > 0) {
215
+ ctx.progress(`Checking whether ${base}...${head} has any changes at all`);
216
+ const wholeDiff = await changedFiles(session.repoPath, base, head).catch(() => null);
217
+ if (wholeDiff !== null && wholeDiff.length > 0) {
218
+ filesMatchedNothing = true;
219
+ wholeDiffCount = wholeDiff.length;
220
+ }
221
+ }
222
+ const shown = all.slice(0, limit);
223
+ const notes = [];
224
+ if (filesMatchedNothing) {
225
+ notes.push(`0 of the ${(files ?? []).length} named file(s) have any change in ${subject}, which ` +
226
+ `changes ${wholeDiffCount} file(s) in total when read without "files". This is not a ` +
227
+ "statement that the diff itself is empty.");
228
+ }
229
+ if (shown.length < all.length) {
230
+ notes.push(`${all.length - shown.length} further changed file(s) exist but are not listed — the reply ` +
231
+ `is capped at ${limit}.`);
232
+ }
233
+ const omittedPatches = shown.filter((f) => f.patchOmittedReason !== null).length;
234
+ if (omittedPatches > 0) {
235
+ notes.push(`${omittedPatches} of the listed file(s) had their patch text withheld — see each file's own ` +
236
+ '"patchOmittedReason".');
237
+ }
238
+ const budgetWithheld = shown.filter((f) => f.patchOmittedReason?.startsWith(TOTAL_PATCH_BUDGET_REASON_PREFIX)).length;
239
+ if (budgetWithheld > 0) {
240
+ notes.push(`${budgetWithheld} of those were withheld by the reply's total patch budget, not by their ` +
241
+ 'own size — their stats above are complete. Re-request them with a narrowed "files" to ' +
242
+ "read their patches.");
243
+ }
244
+ if (base === null && !includeUntracked) {
245
+ notes.push("Untracked files were not included — no form of git diff reports them, so a file written " +
246
+ 'and not yet added is absent from this answer. Pass "includeUntracked" to see them.');
247
+ }
248
+ if (untrackedTruncated) {
249
+ notes.push(`${untrackedTotal} untracked file(s) exist and only some were diffed. The rest were counted, ` +
250
+ "not examined.");
251
+ }
252
+ return answer({
253
+ ...envelope,
254
+ headline: all.length === 0
255
+ ? filesMatchedNothing
256
+ ? `0 of the ${(files ?? []).length} named file(s) have any change in ${subject}. ` +
257
+ "Not empty, not checked for those files."
258
+ : `${subject} has no changes.`
259
+ : `${subject} changes ${all.length} file(s)` +
260
+ (shown.length < all.length ? `, showing the first ${shown.length}.` : "."),
261
+ ...(all.length === 0 ? { state: "empty" } : {}),
262
+ data: {
263
+ mode,
264
+ base,
265
+ head,
266
+ files: shown,
267
+ filesTotal: all.length,
268
+ ...(base === null
269
+ ? { workingTree: { scope, includeUntracked, untrackedTotal, untrackedTruncated } }
270
+ : {}),
271
+ },
272
+ truncated: shown.length < all.length,
273
+ ...(shown.length < all.length
274
+ ? { truncatedDetail: { shown: shown.length, total: all.length, more: null } }
275
+ : {}),
276
+ notes,
277
+ fitToBudget: (budgetBytes) => fitDiff({
278
+ mode,
279
+ base,
280
+ head,
281
+ ...(base === null
282
+ ? { workingTree: { scope, includeUntracked, untrackedTotal, untrackedTruncated } }
283
+ : {}),
284
+ }, shown, all.length, budgetBytes),
285
+ });
286
+ }
287
+ async function runLog(args, ctx) {
288
+ const file = requiredString(args, "file");
289
+ const maxCommits = optionalInteger(args, "maxCommits", 1) ?? LOG_DEFAULT_MAX_COMMITS;
290
+ const { session } = ctx;
291
+ const stamp = session.provider().baseStamp();
292
+ const envelope = {
293
+ resolutionFloor: 0,
294
+ commitSha: stamp.commitSha,
295
+ graphBuiltAt: stamp.graphBuiltAt,
296
+ irSchemaVersion: stamp.irSchemaVersion,
297
+ commitSpread: stamp.commitSpread,
298
+ repoCount: stamp.repoCount,
299
+ nameLevel: true,
300
+ };
301
+ ctx.progress(`Reading live commit history for ${file}`);
302
+ let result;
303
+ try {
304
+ result = await logForPath(session.repoPath, file, { maxCommits });
305
+ }
306
+ catch (error) {
307
+ return answer({
308
+ ...envelope,
309
+ headline: `Could not read history for "${file}".`,
310
+ state: "refused",
311
+ data: { file, commits: [], totalTouching: 0 },
312
+ notes: [
313
+ `git rejected the read: ${error.message.trim()}.`,
314
+ "No history was read, which is not a finding that this file has none.",
315
+ ],
316
+ });
317
+ }
318
+ const notes = [];
319
+ if (result.totalTouching > result.commits.length) {
320
+ notes.push(`${result.totalTouching - result.commits.length} further commit(s) touch this file but are ` +
321
+ `not listed — the reply is capped at ${maxCommits}, newest-first.`);
322
+ }
323
+ return answer({
324
+ ...envelope,
325
+ headline: result.totalTouching === 0
326
+ ? `No commit reachable from HEAD touches "${file}".`
327
+ : `${result.totalTouching} commit(s) touch "${file}"` +
328
+ (result.commits.length < result.totalTouching
329
+ ? `; showing the ${result.commits.length} most recent.`
330
+ : "."),
331
+ ...(result.totalTouching === 0 ? { state: "empty" } : {}),
332
+ data: { file, commits: result.commits, totalTouching: result.totalTouching },
333
+ truncated: result.commits.length < result.totalTouching,
334
+ ...(result.commits.length < result.totalTouching
335
+ ? { truncatedDetail: { shown: result.commits.length, total: result.totalTouching, more: null } }
336
+ : {}),
337
+ notes,
338
+ });
339
+ }
340
+ async function run(args, ctx) {
341
+ const verb = selectVerb(args, "verb", VERB_SPECS);
342
+ switch (verb) {
343
+ case "diff":
344
+ return runDiff(args, ctx);
345
+ case "log":
346
+ return runLog(args, ctx);
347
+ }
348
+ }
349
+ export const gitContextTool = {
350
+ name: "git_context",
351
+ class: "read",
352
+ tier: "evidence",
353
+ version: "1.0.0",
354
+ title: "Live git diff or live git log, read directly from the repository",
355
+ description: "One call over two verbs, both live reads of the working repository, never the stored graph. " +
356
+ "\"diff\": per-file status/additions/deletions and unified-diff patch text between two refs, or " +
357
+ "of uncommitted state (\"workingTree\"); patches are withheld above size budgets, always " +
358
+ "disclosed, stats always reported. \"log\": commit history for one file, following renames. " +
359
+ "For the graph's own stored co-change ledger (CHANGES_WITH, not a live diff/log), use " +
360
+ "code_context's \"history\" verb instead.",
361
+ inputSchema: SCHEMA,
362
+ run,
363
+ };
364
+ //# sourceMappingURL=git-context.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"git-context.js","sourceRoot":"","sources":["../../src/tools/git-context.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,18 @@
1
- /** The commands of blueprint §1.11, in the order a developer meets them: `analyze` first
2
- * (nothing else works without it), then the three questions asked of an existing graph,
3
- * then `contracts` — declared, described, and honestly unavailable (see `contracts.ts`). */
1
+ /**
2
+ * The advertised tool surface: sixteen endpoints.
3
+ *
4
+ * It was thirty-four. Twenty-six of those were merged into eight, each merged
5
+ * tool dispatching on a `verb` to the *same* `run` function its predecessor
6
+ * used — the absorbed tool files are unchanged and still export their
7
+ * definitions, they simply stopped being listed. The retired names keep
8
+ * answering through `aliases.ts` for one minor version and are not advertised,
9
+ * because a listing carrying the old names beside the new ones would be a
10
+ * worse surface than the one this work started from.
11
+ *
12
+ * Order is the order a developer meets them: `workspace` first (nothing else
13
+ * works without a graph), the questions asked of an existing graph next, then
14
+ * the tools that reach a running application.
15
+ */
4
16
  import type { ToolDefinition } from "./kit.ts";
5
17
  export declare const TOOLS: readonly ToolDefinition[];
6
18
  export declare const TOOLS_BY_NAME: ReadonlyMap<string, ToolDefinition>;
@@ -14,6 +26,7 @@ export type { AnalyzeWorkspaceData } from "./analyze-workspace.ts";
14
26
  export type { BrowserClickData } from "./browser-click.ts";
15
27
  export type { ChainData, ChainReport, ChainStageReport } from "./chain.ts";
16
28
  export type { PredictReachData, PredictReachReport } from "./predict-reach.ts";
29
+ export type { ProveReachData, ProveReachReport } from "./prove-reach.ts";
17
30
  export type { BrowserCloseSessionData } from "./browser-close-session.ts";
18
31
  export type { BrowserFillData } from "./browser-fill.ts";
19
32
  export type { BrowserSelectData } from "./browser-select.ts";
@@ -27,7 +40,6 @@ export type { BrowserPageData, BrowserSnapshotData } from "./browser-snapshot.ts
27
40
  export type { BrowserStartSessionData } from "./browser-start-session.ts";
28
41
  export type { ContractPathFinding, ContractShapeMismatchReport, ContractShapeStatus, ContractsData, } from "./contracts.ts";
29
42
  export type { BlockedCheck, CrossPrData, CrossPrEmptyDiff, CrossPrGitFailure, CrossPrReport, HiddenDependencyCheck, HiddenDependencyFinding, OverlapCheck, OverlapReportChecked, SupersededCheck, } from "./cross-pr.ts";
30
- export type { DrawConclusionData } from "./draw-conclusion.ts";
31
43
  export type { GitDiffData, GitDiffEntry } from "./git-diff.ts";
32
44
  export type { GitHistoryCommit, GitHistoryData } from "./git-history.ts";
33
45
  export type { CoChangedFile, HistoryData, HistoryFile, HistoryFileResolved, HistoryFileUnresolved, HistoryReport } from "./history.ts";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/tools/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/tools/index.ts"],"names":[],"mappings":"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"}
@@ -1,88 +1,67 @@
1
- /** The commands of blueprint §1.11, in the order a developer meets them: `analyze` first
2
- * (nothing else works without it), then the three questions asked of an existing graph,
3
- * then `contracts` — declared, described, and honestly unavailable (see `contracts.ts`). */
4
- import { analyzeTool } from "./analyze.js";
5
- import { analyzeWorkspaceTool } from "./analyze-workspace.js";
6
- import { browserClickTool } from "./browser-click.js";
7
- import { browserCloseSessionTool } from "./browser-close-session.js";
8
- import { browserFillTool } from "./browser-fill.js";
9
- import { browserNavigateTool } from "./browser-navigate.js";
10
- import { browserRunScenarioTool } from "./browser-run-scenario.js";
11
- import { browserSaveScenarioTool } from "./browser-save-scenario.js";
12
- import { browserSelectTool } from "./browser-select.js";
13
- import { browserSnapshotTool } from "./browser-snapshot.js";
14
- import { browserSubmitTool } from "./browser-submit.js";
15
- import { browserStartSessionTool } from "./browser-start-session.js";
16
- import { browserTypeTool } from "./browser-type.js";
17
- import { browserWaitForTool } from "./browser-wait-for.js";
1
+ /**
2
+ * The advertised tool surface: sixteen endpoints.
3
+ *
4
+ * It was thirty-four. Twenty-six of those were merged into eight, each merged
5
+ * tool dispatching on a `verb` to the *same* `run` function its predecessor
6
+ * used — the absorbed tool files are unchanged and still export their
7
+ * definitions, they simply stopped being listed. The retired names keep
8
+ * answering through `aliases.ts` for one minor version and are not advertised,
9
+ * because a listing carrying the old names beside the new ones would be a
10
+ * worse surface than the one this work started from.
11
+ *
12
+ * Order is the order a developer meets them: `workspace` first (nothing else
13
+ * works without a graph), the questions asked of an existing graph next, then
14
+ * the tools that reach a running application.
15
+ */
18
16
  import { chainTool } from "./chain.js";
19
17
  import { contractsTool } from "./contracts.js";
20
- import { crossPrTool } from "./cross-pr.js";
21
18
  import { drawConclusionTool } from "./draw-conclusion.js";
22
- import { gitDiffTool } from "./git-diff.js";
23
- import { markIncidentTool } from "./mark-incident.js";
24
- import { gitHistoryTool } from "./git-history.js";
25
- import { historyTool } from "./history.js";
26
- import { impactTool } from "./impact.js";
27
- import { linkWorkspaceTool } from "./link-workspace.js";
28
- import { observeRuntimeTool } from "./observe-runtime.js";
29
- import { observeTestsTool } from "./observe-tests.js";
30
- import { prePushTool } from "./pre-push.js";
31
- import { prAnalysisTool } from "./pr-analysis.js";
32
19
  import { predictReachTool } from "./predict-reach.js";
20
+ import { proveReachTool } from "./prove-reach.js";
33
21
  import { proposeJourneyTool } from "./propose-journey.js";
34
- import { propagationTool } from "./propagation.js";
22
+ import { crossPrTool } from "./cross-pr.js";
23
+ import { markIncidentTool } from "./mark-incident.js";
24
+ import { prAnalysisTool } from "./pr-analysis.js";
35
25
  import { questionsTool } from "./questions.js";
36
- import { refusalFetchTool } from "./refusal-fetch.js";
37
- import { scopeTool } from "./scope.js";
38
26
  import { similarIncidentsTool } from "./similar-incidents.js";
39
27
  import { validateTool } from "./validate.js";
40
- import { verificationStatusTool } from "./verification-status.js";
41
28
  import { verifyClaimTool } from "./verify-claim.js";
29
+ import { WORKSPACE_GROUP_TOOLS } from "./merged-workspace.js";
30
+ import { CONTEXT_GROUP_TOOLS } from "./merged-context.js";
31
+ import { OBSERVE_GROUP_TOOLS } from "./merged-observe.js";
32
+ import { BROWSER_GROUP_TOOLS } from "./merged-browser.js";
42
33
  export const TOOLS = [
43
- analyzeTool,
44
- analyzeWorkspaceTool,
45
- linkWorkspaceTool,
46
- scopeTool,
34
+ // workspace, change_scope
35
+ ...WORKSPACE_GROUP_TOOLS,
36
+ // code_context, git_context, disclosure
37
+ ...CONTEXT_GROUP_TOOLS,
47
38
  prAnalysisTool,
48
39
  crossPrTool,
49
- propagationTool,
50
- impactTool,
40
+ // The four that landed on integration/runtime-gaps while this consolidation
41
+ // was in flight. Left standalone rather than folded into a verb group: three
42
+ // are read/evidence and could plausibly join `code_context`, but which of
43
+ // them belongs under which verb is a judgement about their semantics, not a
44
+ // mechanical merge, and `draw_conclusion` is conclusion-tier so it could not
45
+ // join an evidence tool regardless. Filed as a follow-up rather than guessed.
46
+ // `prove_reach` (RG-10's full loop) landed after the consolidation and stays
47
+ // standalone for the stronger version of the same reason: it is action-class
48
+ // and conclusion-tier, so no verb group could hold it without mixing classes.
51
49
  chainTool,
52
50
  predictReachTool,
53
- historyTool,
51
+ proveReachTool,
52
+ proposeJourneyTool,
53
+ drawConclusionTool,
54
54
  contractsTool,
55
55
  validateTool,
56
- drawConclusionTool,
57
- similarIncidentsTool,
58
- questionsTool,
59
- refusalFetchTool,
60
- verificationStatusTool,
61
- gitDiffTool,
62
- gitHistoryTool,
63
56
  verifyClaimTool,
64
- observeRuntimeTool,
65
- observeTestsTool,
66
- prePushTool,
57
+ questionsTool,
58
+ similarIncidentsTool,
67
59
  markIncidentTool,
68
- proposeJourneyTool,
69
- // The browser tools last: a reader meeting this list meets the graph tools
70
- // first, which is the order a developer meets them in.
71
- browserStartSessionTool,
72
- browserNavigateTool,
73
- browserSnapshotTool,
74
- browserClickTool,
75
- browserTypeTool,
76
- browserFillTool,
77
- browserSelectTool,
78
- browserSubmitTool,
79
- browserWaitForTool,
80
- browserCloseSessionTool,
81
- // The scenario pair after the primitives, because a scenario is made of
82
- // them: save turns an exploration into a committed file, run replays it as
83
- // one batch call with one evidence summary.
84
- browserSaveScenarioTool,
85
- browserRunScenarioTool,
60
+ // observe, browser_read
61
+ ...OBSERVE_GROUP_TOOLS,
62
+ // browser — the eight action verbs, last for the same reason the browser
63
+ // primitives were last before: a reader meets the graph tools first.
64
+ ...BROWSER_GROUP_TOOLS,
86
65
  ];
87
66
  export const TOOLS_BY_NAME = new Map(TOOLS.map((tool) => [tool.name, tool]));
88
67
  export { ToolInputError } from "./kit.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/tools/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/tools/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AACvC,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAC/C,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAC/C,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAC7C,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAEpD,OAAO,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AAC9D,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAC1D,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAC1D,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAG1D,MAAM,CAAC,MAAM,KAAK,GAA8B;IAC9C,0BAA0B;IAC1B,GAAG,qBAAqB;IACxB,wCAAwC;IACxC,GAAG,mBAAmB;IACtB,cAAc;IACd,WAAW;IACX,4EAA4E;IAC5E,6EAA6E;IAC7E,0EAA0E;IAC1E,4EAA4E;IAC5E,6EAA6E;IAC7E,8EAA8E;IAC9E,6EAA6E;IAC7E,6EAA6E;IAC7E,8EAA8E;IAC9E,SAAS;IACT,gBAAgB;IAChB,cAAc;IACd,kBAAkB;IAClB,kBAAkB;IAClB,aAAa;IACb,YAAY;IACZ,eAAe;IACf,aAAa;IACb,oBAAoB;IACpB,gBAAgB;IAChB,wBAAwB;IACxB,GAAG,mBAAmB;IACtB,yEAAyE;IACzE,qEAAqE;IACrE,GAAG,mBAAmB;CACvB,CAAC;AAEF,MAAM,CAAC,MAAM,aAAa,GAAwC,IAAI,GAAG,CACvE,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CACvC,CAAC;AAEF,OAAO,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAQ1C,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC"}
@@ -17,8 +17,9 @@ export interface ToolDefinition {
17
17
  readonly title: string;
18
18
  readonly description: string;
19
19
  /** DEC-278's three classes (`ai-tool-contract.md` §8). Not "does it write bytes" but "can this
20
- * change a later finding unannounced" — `questions` is the only `action`, gated by §4's
21
- * handshake, capped at reliability B by DEC-223. No default: unset silently treats writes as pure. */
20
+ * change a later finding unannounced" — twelve of the registry's 34 tools are `action`, gated
21
+ * by §4's handshake, capped at reliability B by DEC-223. No default: unset silently treats
22
+ * writes as pure. */
22
23
  readonly class: ToolClass;
23
24
  /** MK-5 — does the output state a conclusion, or just a graph fact? Required, undefaulted, same
24
25
  * reasoning as `class`. See `ToolTier` in `../render.ts` for why the type lives there. */
@@ -1 +1 @@
1
- {"version":3,"file":"kit.d.ts","sourceRoot":"","sources":["../../src/tools/kit.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"kit.d.ts","sourceRoot":"","sources":["../../src/tools/kit.ts"],"names":[],"mappings":"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"}