@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,288 @@
1
+ /**
2
+ * `disclosure` — merges `verification_status` and `refusal_fetch` behind one
3
+ * `verb` (mcp-surface-consolidation.md group 3, §3.4: both read/evidence, and
4
+ * both answer the *coverage* axis — what the graph did or did not reach —
5
+ * rather than a finding's confidence, so the merge preserves the distinction
6
+ * the five-state model exists to protect).
7
+ *
8
+ * `refusal_fetch` is **not** "why a call refused" — read its own section
9
+ * below before touching the "unresolved" verb. It summarises and paginates
10
+ * the graph's ledger of references an adapter could not resolve, and this
11
+ * merge is required to keep three things exactly as they were:
12
+ *
13
+ * 1. **The summary-plus-opaque-handle shape.** No `handle` mints a fresh
14
+ * summary (count, one exemplar, a handle); a `handle` redeems a page. A
15
+ * single flat schema cannot express "these two properties are alternate
16
+ * entry points", so the shape lives in the verb's own logic, unchanged.
17
+ * 2. **The deliberate `{ classified: false }` read.** The default `true`
18
+ * would silently drop unclassified rows (DEC-243) — this is not a stray
19
+ * argument to simplify away.
20
+ * 3. **The uncapped population read.** There is no `limit` on "unresolved":
21
+ * the population this verb summarises must stay stable across a page's
22
+ * lifetime, and a cap here would make that population caller-controlled.
23
+ *
24
+ * Both verbs' behaviour is otherwise unchanged from the tool each replaces.
25
+ */
26
+ import { computeVerificationStatus, fetchRefusalPage, findNodes, getNode, observedTestCoverage, resolutionOfExercised, summariseRefusals, } from "@descryy/core";
27
+ import { answer, optionalInteger, optionalString, optionalStringArray, ToolInputError, } from "./kit.js";
28
+ import { loadSources } from "../registry.js";
29
+ import { selectVerb } from "./verb.js";
30
+ /** See `verification-status.ts`'s original module header for the full rationale — reproduced only
31
+ * where these functions are called, not restated, to keep this file's own header the one place
32
+ * that explains why this merge exists. */
33
+ function isInformativeFileNode(n) {
34
+ return n.type === "FILE" && n.resolution > 0;
35
+ }
36
+ function isResolutionZeroFileStub(n) {
37
+ return n.type === "FILE" && n.resolution === 0;
38
+ }
39
+ function representativeForFile(nodes) {
40
+ const informativeFileNodes = nodes.filter(isInformativeFileNode);
41
+ if (informativeFileNodes.length > 0) {
42
+ return informativeFileNodes.reduce((weakest, n) => (n.resolution < weakest.resolution ? n : weakest));
43
+ }
44
+ const realNodes = nodes.filter((n) => !isResolutionZeroFileStub(n));
45
+ const pool = realNodes.length > 0 ? realNodes : nodes;
46
+ return pool.reduce((weakest, n) => (n.resolution < weakest.resolution ? n : weakest));
47
+ }
48
+ function resolveRef(driver, ref) {
49
+ const byId = getNode(driver, ref);
50
+ if (byId !== undefined)
51
+ return { ref, language: byId.language, node: byId };
52
+ const inFile = findNodes(driver, { file: ref });
53
+ if (inFile.length > 0) {
54
+ const node = representativeForFile(inFile);
55
+ return { ref, language: node.language, node };
56
+ }
57
+ return { ref, language: null, node: null };
58
+ }
59
+ async function capabilitiesForUnresolvedRefs(sources, unresolvedRefs, repoPath) {
60
+ const capabilitiesByRef = new Map();
61
+ const failedNotes = [];
62
+ if (unresolvedRefs.length === 0 || sources.length === 0)
63
+ return { capabilitiesByRef, failedNotes };
64
+ const { loaded, failed } = await loadSources(sources, repoPath);
65
+ try {
66
+ for (const ref of unresolvedRefs) {
67
+ const owner = loaded.find((entry) => entry.adapter?.ownsPath?.(ref) === true);
68
+ if (owner?.adapter !== undefined && owner?.adapter !== null) {
69
+ capabilitiesByRef.set(ref, owner.adapter.capabilities());
70
+ }
71
+ }
72
+ }
73
+ finally {
74
+ await Promise.all(loaded.map((entry) => entry.adapter?.dispose()));
75
+ }
76
+ for (const failure of failed) {
77
+ failedNotes.push(`A configured source (${failure.spec.module}) did not import (${failure.reason}), so it could ` +
78
+ "not be asked whether it owns any of this call's unresolved refs.");
79
+ }
80
+ return { capabilitiesByRef, failedNotes };
81
+ }
82
+ function brief(ref) {
83
+ return {
84
+ fromNodeId: ref.fromNodeId,
85
+ edgeType: ref.edgeType,
86
+ rawTarget: ref.rawTarget,
87
+ file: ref.file,
88
+ line: ref.line,
89
+ producedBy: ref.producedBy,
90
+ reason: ref.reason,
91
+ };
92
+ }
93
+ // --- per-verb argument ownership, for selectVerb ----------------------------
94
+ const VERB_SPECS = [
95
+ { verb: "coverage", accepts: ["refs"] },
96
+ { verb: "unresolved", accepts: ["handle", "pageSize"] },
97
+ ];
98
+ const SCHEMA = {
99
+ type: "object",
100
+ properties: {
101
+ verb: {
102
+ type: "string",
103
+ enum: ["coverage", "unresolved"],
104
+ description: "coverage: was this ref (node id/file path) actually reached by the graph, and at what " +
105
+ "resolution — the verification_status question. unresolved: page through the graph's " +
106
+ "ledger of references an adapter could not resolve — the refusal_fetch question. Neither " +
107
+ "is a confidence axis; both are coverage, separate from any finding's reliability.",
108
+ },
109
+ refs: {
110
+ type: "array",
111
+ items: { type: "string" },
112
+ minItems: 1,
113
+ description: "coverage only, required: node ids and/or repository-relative file paths to check — " +
114
+ "typically ids an earlier call (code_context, scope, contracts) already returned.",
115
+ },
116
+ handle: {
117
+ type: "string",
118
+ description: "unresolved only: redeem a handle from a prior call to fetch the next page. Omit for a " +
119
+ "fresh summary (count, one exemplar reason, a handle to start paging).",
120
+ },
121
+ pageSize: {
122
+ type: "integer",
123
+ minimum: 1,
124
+ description: "unresolved only: rows per page when minting a fresh handle. Default 50. Ignored on a " +
125
+ "paged call — the page size travels inside the handle itself.",
126
+ },
127
+ },
128
+ required: ["verb"],
129
+ additionalProperties: false,
130
+ };
131
+ async function runCoverage(args, ctx) {
132
+ const refs = optionalStringArray(args, "refs") ?? [];
133
+ if (refs.length === 0) {
134
+ throw new ToolInputError('"refs" must name at least one node id or file path — with none, there is nothing to report ' +
135
+ "coverage for, and an empty answer would look like a check that ran");
136
+ }
137
+ const driver = ctx.session.store().driver;
138
+ const base = ctx.session.provider().baseStamp();
139
+ ctx.progress(`Checking coverage for ${refs.length} ref(s)`);
140
+ const resolved = refs.map((ref) => resolveRef(driver, ref));
141
+ const unresolvedRefs = resolved.filter((r) => r.node === null).map((r) => r.ref);
142
+ const { capabilitiesByRef, failedNotes } = await capabilitiesForUnresolvedRefs(ctx.session.config.sources, unresolvedRefs, ctx.session.repoPath);
143
+ const scope = resolved.map((r) => ({
144
+ ref: r.ref,
145
+ language: r.language,
146
+ node: r.node,
147
+ capabilities: r.node === null ? capabilitiesByRef.get(r.ref) : undefined,
148
+ }));
149
+ const status = computeVerificationStatus(scope);
150
+ const exercised = status.exercised.map((entry) => resolutionOfExercised(entry));
151
+ const lookupIds = resolved.filter((r) => r.node !== null).map((r) => r.node.id);
152
+ const coverage = observedTestCoverage(driver, lookupIds);
153
+ const verifiedByTests = resolved.flatMap((r) => {
154
+ if (r.node === null)
155
+ return [];
156
+ const found = coverage.get(r.node.id);
157
+ if (found === undefined)
158
+ return [];
159
+ return [
160
+ {
161
+ ref: r.ref,
162
+ direct: found.tests.every((t) => t.direct),
163
+ tests: found.tests.map((t) => ({
164
+ qualifiedName: t.qualifiedName,
165
+ outcome: t.outcome,
166
+ runId: t.runId,
167
+ })),
168
+ },
169
+ ];
170
+ });
171
+ return answer({
172
+ headline: (exercised.length === refs.length
173
+ ? `All ${refs.length} ref(s) were reached by the graph.`
174
+ : `${exercised.length} of ${refs.length} ref(s) were reached by the graph; ` +
175
+ `${status.notExercised.length} were not — see notExercised for why.`) +
176
+ (verifiedByTests.length > 0
177
+ ? ` ${verifiedByTests.length} of them ${verifiedByTests.length === 1 ? "has" : "have"} an observed test run behind ${verifiedByTests.length === 1 ? "it" : "them"}.`
178
+ : ""),
179
+ data: { checked: refs, exercised, notExercised: status.notExercised, verifiedByTests },
180
+ resolutionFloor: exercised.length === 0 ? 0 : Math.min(...exercised.map((e) => e.resolution)),
181
+ commitSha: base.commitSha,
182
+ graphBuiltAt: base.graphBuiltAt,
183
+ irSchemaVersion: base.irSchemaVersion,
184
+ commitSpread: base.commitSpread,
185
+ repoCount: base.repoCount,
186
+ nameLevel: true,
187
+ notes: [
188
+ ...(status.notExercised.length === 0
189
+ ? []
190
+ : [
191
+ "This tool never names a language for an absent ref — it only asks each configured, " +
192
+ "loaded adapter whether it owns that path. See each notExercised reason for exactly " +
193
+ "what was determined.",
194
+ ]),
195
+ ...(verifiedByTests.length === 0
196
+ ? [
197
+ "No observed test run bears on any of these refs. That is not the same as \"nothing " +
198
+ "tests this\": it is also what you see when no suite has been run through observe_tests " +
199
+ "yet, and this tool cannot tell those apart from the ledger alone.",
200
+ ]
201
+ : [
202
+ "verifiedByTests reports that a test which claims to cover a ref actually ran, and how it " +
203
+ "finished. Where direct is false the claim crosses a static TESTS edge: the run witnessed " +
204
+ "the test executing, not the test touching that ref. An outcome of failed or skipped is " +
205
+ "reported rather than filtered — being covered by a failing test is not being verified.",
206
+ ]),
207
+ ...failedNotes,
208
+ ],
209
+ });
210
+ }
211
+ async function runUnresolved(args, ctx) {
212
+ const handle = optionalString(args, "handle");
213
+ const pageSize = optionalInteger(args, "pageSize", 1);
214
+ const base = ctx.session.provider().baseStamp();
215
+ ctx.progress("Reading the unresolved-reference ledger");
216
+ const { refs } = ctx.session.provider().unresolvedRefs({ classified: false });
217
+ const envelopeBase = {
218
+ resolutionFloor: 0,
219
+ commitSha: base.commitSha,
220
+ graphBuiltAt: base.graphBuiltAt,
221
+ irSchemaVersion: base.irSchemaVersion,
222
+ commitSpread: base.commitSpread,
223
+ repoCount: base.repoCount,
224
+ nameLevel: true,
225
+ };
226
+ if (handle === undefined) {
227
+ ctx.progress(`Summarising ${refs.length} unresolved reference(s)`);
228
+ const summary = summariseRefusals(refs, pageSize);
229
+ return answer({
230
+ ...envelopeBase,
231
+ state: summary.count === 0 ? "empty" : "ok",
232
+ headline: summary.count === 0
233
+ ? "No unresolved references are recorded — nothing for the unresolved verb to page through."
234
+ : `${summary.count} unresolved reference(s) recorded. Exemplar: "${summary.exemplar}". Call again with { "verb": "unresolved", "handle": "${summary.handle}" } to page through the rest.`,
235
+ notes: summary.count === 0
236
+ ? ["The graph has no unresolved-reference rows at all — every edge either resolved or was never attempted."]
237
+ : [],
238
+ data: { kind: "summary", count: summary.count, exemplar: summary.exemplar, handle: summary.handle },
239
+ });
240
+ }
241
+ ctx.progress("Redeeming the unresolved-verb handle");
242
+ const page = fetchRefusalPage(refs, handle);
243
+ if (page.state === "refused") {
244
+ return answer({
245
+ ...envelopeBase,
246
+ state: "refused",
247
+ headline: "This handle could not be redeemed.",
248
+ notes: [page.reason],
249
+ data: { kind: "page", items: [], total: 0, nextHandle: null },
250
+ });
251
+ }
252
+ return answer({
253
+ ...envelopeBase,
254
+ headline: `Page of ${page.items.length} unresolved reference(s), of ${page.total} total.`,
255
+ notes: [],
256
+ data: {
257
+ kind: "page",
258
+ items: page.items.map(brief),
259
+ total: page.total,
260
+ nextHandle: page.nextHandle,
261
+ },
262
+ });
263
+ }
264
+ async function run(args, ctx) {
265
+ const verb = selectVerb(args, "verb", VERB_SPECS);
266
+ switch (verb) {
267
+ case "coverage":
268
+ return runCoverage(args, ctx);
269
+ case "unresolved":
270
+ return runUnresolved(args, ctx);
271
+ }
272
+ }
273
+ export const disclosureTool = {
274
+ name: "disclosure",
275
+ class: "read",
276
+ tier: "evidence",
277
+ version: "1.0.0",
278
+ title: "Coverage: what the graph reached, and what it could not resolve",
279
+ description: "One call over two verbs, both the coverage axis — separate from any finding's confidence " +
280
+ "(§19/§20). \"coverage\": given node ids and/or file paths, report which were actually reached " +
281
+ "by the graph and at what resolution, plus which observed test runs bear on them. " +
282
+ "\"unresolved\": the graph's full ledger of references an adapter could not resolve — call " +
283
+ "with no handle for a one-line summary (count, one exemplar, a handle), then redeem that " +
284
+ "handle to page through every row. Never enumerates in full on the first call.",
285
+ inputSchema: SCHEMA,
286
+ run,
287
+ };
288
+ //# sourceMappingURL=disclosure.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"disclosure.js","sourceRoot":"","sources":["../../src/tools/disclosure.ts"],"names":[],"mappings":"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"}
@@ -22,7 +22,8 @@
22
22
  * caller already supplied is a read over that evidence, not a new write against the target.
23
23
  */
24
24
  import { type ResolutionLevel } from "@descryy/ir";
25
- import { type ToolDefinition } from "./kit.ts";
25
+ import { type ToolContext, type ToolDefinition } from "./kit.ts";
26
+ import type { ToolAnswer } from "../render.ts";
26
27
  export interface DrawConclusionData {
27
28
  readonly failurePoint: string;
28
29
  /** §19's five-category vocabulary — the same `ReportCategory` the desktop's report surface renders. */
@@ -40,5 +41,15 @@ export interface DrawConclusionData {
40
41
  * inert unless a future call also names `requireReproductionForConfirmed`. */
41
42
  readonly reproductionCount: number | null;
42
43
  }
44
+ /**
45
+ * Exported so a caller can see the answer's real shape.
46
+ *
47
+ * `ToolDefinition` erases the type parameter — it has to, the registry is one
48
+ * array of many shapes — so reaching this through `drawConclusionTool.run`
49
+ * hands back an erased `data` and every assertion on a field of it fails to
50
+ * compile. The tool object stays the registry's entry point; this is the typed
51
+ * one, for tests and for any in-process caller that needs the shape.
52
+ */
53
+ export declare function runDrawConclusion(args: Record<string, unknown>, ctx: ToolContext): Promise<ToolAnswer<DrawConclusionData>>;
43
54
  export declare const drawConclusionTool: ToolDefinition;
44
55
  //# sourceMappingURL=draw-conclusion.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"draw-conclusion.d.ts","sourceRoot":"","sources":["../../src/tools/draw-conclusion.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAEH,OAAO,EAWL,KAAK,eAAe,EAGrB,MAAM,aAAa,CAAC;AAErB,OAAO,EAA8F,KAAK,cAAc,EAAE,MAAM,UAAU,CAAC;AAG3I,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,uGAAuG;IACvG,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,mEAAmE;IACnE,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC;IAClC,0GAA0G;IAC1G,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,UAAU,EAAE,eAAe,CAAC;IACrC,QAAQ,CAAC,sBAAsB,EAAE,MAAM,CAAC;IACxC,QAAQ,CAAC,uBAAuB,EAAE,OAAO,CAAC;IAC1C,QAAQ,CAAC,kBAAkB,EAAE,OAAO,CAAC;IACrC,QAAQ,CAAC,aAAa,EAAE,OAAO,CAAC;IAChC;mFAC+E;IAC/E,QAAQ,CAAC,iBAAiB,EAAE,MAAM,GAAG,IAAI,CAAC;CAC3C;AAwND,eAAO,MAAM,kBAAkB,EAAE,cAgBhC,CAAC"}
1
+ {"version":3,"file":"draw-conclusion.d.ts","sourceRoot":"","sources":["../../src/tools/draw-conclusion.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAEH,OAAO,EAWL,KAAK,eAAe,EAGrB,MAAM,aAAa,CAAC;AAErB,OAAO,EAA4E,KAAK,WAAW,EAAE,KAAK,cAAc,EAAE,MAAM,UAAU,CAAC;AAC3I,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE/C,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,uGAAuG;IACvG,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,mEAAmE;IACnE,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC;IAClC,0GAA0G;IAC1G,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,UAAU,EAAE,eAAe,CAAC;IACrC,QAAQ,CAAC,sBAAsB,EAAE,MAAM,CAAC;IACxC,QAAQ,CAAC,uBAAuB,EAAE,OAAO,CAAC;IAC1C,QAAQ,CAAC,kBAAkB,EAAE,OAAO,CAAC;IACrC,QAAQ,CAAC,aAAa,EAAE,OAAO,CAAC;IAChC;mFAC+E;IAC/E,QAAQ,CAAC,iBAAiB,EAAE,MAAM,GAAG,IAAI,CAAC;CAC3C;AAuJD;;;;;;;;GAQG;AACH,wBAAsB,iBAAiB,CACrC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7B,GAAG,EAAE,WAAW,GACf,OAAO,CAAC,UAAU,CAAC,kBAAkB,CAAC,CAAC,CA+DzC;AAED,eAAO,MAAM,kBAAkB,EAAE,cAgBhC,CAAC"}
@@ -172,7 +172,16 @@ function readRuntimeEvidence(args) {
172
172
  };
173
173
  });
174
174
  }
175
- async function run(args, ctx) {
175
+ /**
176
+ * Exported so a caller can see the answer's real shape.
177
+ *
178
+ * `ToolDefinition` erases the type parameter — it has to, the registry is one
179
+ * array of many shapes — so reaching this through `drawConclusionTool.run`
180
+ * hands back an erased `data` and every assertion on a field of it fails to
181
+ * compile. The tool object stays the registry's entry point; this is the typed
182
+ * one, for tests and for any in-process caller that needs the shape.
183
+ */
184
+ export async function runDrawConclusion(args, ctx) {
176
185
  const failurePoint = requiredString(args, "failurePoint");
177
186
  const graphPath = readGraphPath(args);
178
187
  const runtimeEvidence = readRuntimeEvidence(args);
@@ -245,6 +254,6 @@ export const drawConclusionTool = {
245
254
  "once from one place, so a category this server returns is never a second, drifted " +
246
255
  "re-implementation of the one the architecture specifies.",
247
256
  inputSchema: SCHEMA,
248
- run,
257
+ run: runDrawConclusion,
249
258
  };
250
259
  //# sourceMappingURL=draw-conclusion.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"draw-conclusion.js","sourceRoot":"","sources":["../../src/tools/draw-conclusion.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"draw-conclusion.js","sourceRoot":"","sources":["../../src/tools/draw-conclusion.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,39 @@
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 type { GitDiffFile, PathLogCommit } from "@descryy/core";
15
+ import { type ToolDefinition } from "./kit.ts";
16
+ export type GitContextVerb = "diff" | "log";
17
+ export type GitDiffEntry = GitDiffFile;
18
+ export interface GitDiffData {
19
+ readonly mode: "range" | "working-tree";
20
+ readonly base: string | null;
21
+ readonly head: string | null;
22
+ readonly workingTree?: {
23
+ readonly scope: "unstaged" | "staged" | "all";
24
+ readonly includeUntracked: boolean;
25
+ readonly untrackedTotal: number;
26
+ readonly untrackedTruncated: boolean;
27
+ };
28
+ readonly files: readonly GitDiffEntry[];
29
+ readonly filesTotal: number;
30
+ }
31
+ export type GitHistoryCommit = PathLogCommit;
32
+ export interface GitHistoryData {
33
+ readonly file: string;
34
+ readonly commits: readonly GitHistoryCommit[];
35
+ readonly totalTouching: number;
36
+ }
37
+ export type GitContextData = GitDiffData | GitHistoryData;
38
+ export declare const gitContextTool: ToolDefinition;
39
+ //# sourceMappingURL=git-context.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"git-context.d.ts","sourceRoot":"","sources":["../../src/tools/git-context.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAUH,OAAO,KAAK,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAEhE,OAAO,EASL,KAAK,cAAc,EACpB,MAAM,UAAU,CAAC;AAKlB,MAAM,MAAM,cAAc,GAAG,MAAM,GAAG,KAAK,CAAC;AAQ5C,MAAM,MAAM,YAAY,GAAG,WAAW,CAAC;AAEvC,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,IAAI,EAAE,OAAO,GAAG,cAAc,CAAC;IACxC,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,QAAQ,CAAC,WAAW,CAAC,EAAE;QACrB,QAAQ,CAAC,KAAK,EAAE,UAAU,GAAG,QAAQ,GAAG,KAAK,CAAC;QAC9C,QAAQ,CAAC,gBAAgB,EAAE,OAAO,CAAC;QACnC,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;QAChC,QAAQ,CAAC,kBAAkB,EAAE,OAAO,CAAC;KACtC,CAAC;IACF,QAAQ,CAAC,KAAK,EAAE,SAAS,YAAY,EAAE,CAAC;IACxC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;CAC7B;AAiED,MAAM,MAAM,gBAAgB,GAAG,aAAa,CAAC;AAE7C,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,OAAO,EAAE,SAAS,gBAAgB,EAAE,CAAC;IAC9C,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;CAChC;AAED,MAAM,MAAM,cAAc,GAAG,WAAW,GAAG,cAAc,CAAC;AA+U1D,eAAO,MAAM,cAAc,EAAE,cAe5B,CAAC"}