@descryy/mcp 0.11.3 → 0.11.4
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/dist/bin/descry-mcp.js +0 -0
- package/dist/browser/driver.d.ts +21 -0
- package/dist/browser/driver.d.ts.map +1 -1
- package/dist/browser/playwright-driver.d.ts.map +1 -1
- package/dist/browser/playwright-driver.js +39 -0
- package/dist/browser/playwright-driver.js.map +1 -1
- package/dist/browser/reach-recording-session.d.ts.map +1 -1
- package/dist/browser/reach-recording-session.js +8 -0
- package/dist/browser/reach-recording-session.js.map +1 -1
- package/dist/capped.d.ts +22 -0
- package/dist/capped.d.ts.map +1 -1
- package/dist/capped.js +28 -0
- package/dist/capped.js.map +1 -1
- package/dist/registry.d.ts.map +1 -1
- package/dist/registry.js +8 -0
- package/dist/registry.js.map +1 -1
- package/dist/render.d.ts +44 -1
- package/dist/render.d.ts.map +1 -1
- package/dist/render.js +104 -3
- package/dist/render.js.map +1 -1
- package/dist/server.d.ts.map +1 -1
- package/dist/server.js +122 -12
- package/dist/server.js.map +1 -1
- package/dist/session.d.ts +114 -1
- package/dist/session.d.ts.map +1 -1
- package/dist/session.js +178 -1
- package/dist/session.js.map +1 -1
- package/dist/tools/browser-run-scenario.d.ts.map +1 -1
- package/dist/tools/browser-run-scenario.js +19 -0
- package/dist/tools/browser-run-scenario.js.map +1 -1
- package/dist/tools/browser-start-session.d.ts.map +1 -1
- package/dist/tools/browser-start-session.js +18 -0
- package/dist/tools/browser-start-session.js.map +1 -1
- package/dist/tools/code-context.d.ts.map +1 -1
- package/dist/tools/code-context.js +61 -33
- package/dist/tools/code-context.js.map +1 -1
- package/dist/tools/cross-pr.d.ts.map +1 -1
- package/dist/tools/cross-pr.js +85 -36
- package/dist/tools/cross-pr.js.map +1 -1
- package/dist/tools/disclosure.d.ts.map +1 -1
- package/dist/tools/disclosure.js +25 -6
- package/dist/tools/disclosure.js.map +1 -1
- package/dist/tools/git-context.d.ts.map +1 -1
- package/dist/tools/git-context.js +22 -1
- package/dist/tools/git-context.js.map +1 -1
- package/dist/tools/git-history.d.ts.map +1 -1
- package/dist/tools/git-history.js +20 -0
- package/dist/tools/git-history.js.map +1 -1
- package/dist/tools/observe-runtime.d.ts +13 -1
- package/dist/tools/observe-runtime.d.ts.map +1 -1
- package/dist/tools/observe-runtime.js +160 -12
- package/dist/tools/observe-runtime.js.map +1 -1
- package/dist/tools/pr-analysis.d.ts.map +1 -1
- package/dist/tools/pr-analysis.js +86 -11
- package/dist/tools/pr-analysis.js.map +1 -1
- package/dist/tools/refusal-fetch.d.ts.map +1 -1
- package/dist/tools/refusal-fetch.js +31 -11
- package/dist/tools/refusal-fetch.js.map +1 -1
- package/dist/tools/scope.d.ts.map +1 -1
- package/dist/tools/scope.js +42 -11
- package/dist/tools/scope.js.map +1 -1
- package/dist/tools/similar-incidents.d.ts.map +1 -1
- package/dist/tools/similar-incidents.js +42 -18
- package/dist/tools/similar-incidents.js.map +1 -1
- package/dist/tools/validate.d.ts.map +1 -1
- package/dist/tools/validate.js +145 -67
- package/dist/tools/validate.js.map +1 -1
- package/package.json +16 -16
package/dist/render.d.ts
CHANGED
|
@@ -52,7 +52,7 @@
|
|
|
52
52
|
*/
|
|
53
53
|
import { type ReliabilityClass, type ReportCategory } from "@descryy/ir";
|
|
54
54
|
import type { ResultState, SignalTypeCount, ToolClass } from "@descryy/ir";
|
|
55
|
-
import type { GraphStamp, QueryResult } from "@descryy/core";
|
|
55
|
+
import type { GraphFreshness, GraphStamp, QueryResult } from "@descryy/core";
|
|
56
56
|
import type { DisclosureLedger } from "./disclosure-ledger.ts";
|
|
57
57
|
export type { ResultState } from "@descryy/ir";
|
|
58
58
|
/**
|
|
@@ -271,6 +271,28 @@ export interface AnswerEnvelope<T = unknown> {
|
|
|
271
271
|
/** `null` — never absent — when the graph was not consulted at all (§3). */
|
|
272
272
|
readonly resolutionFloor: number | null;
|
|
273
273
|
readonly reliabilityCap: ReliabilityClass;
|
|
274
|
+
/**
|
|
275
|
+
* Lane "map-freshness" item 1: whether this graph still matches the
|
|
276
|
+
* repository on disk, distinct from `commitSha`/`builtAt` alone — a
|
|
277
|
+
* caller reading only the stamp has no way to tell "built five minutes
|
|
278
|
+
* ago" from "built five hundred commits ago" without running git itself.
|
|
279
|
+
* `null` only when `commitSha` is `null` (an empty graph has nothing to
|
|
280
|
+
* be fresh or stale relative to). Otherwise never absent, and `unknown`
|
|
281
|
+
* — never `current` — when this could not be determined (not a git
|
|
282
|
+
* repository, or git itself unavailable here); see `computeGraphFreshness`
|
|
283
|
+
* (`@descryy/core`) for how it is computed.
|
|
284
|
+
*/
|
|
285
|
+
readonly freshness: {
|
|
286
|
+
readonly status: "current" | "behind" | "unknown";
|
|
287
|
+
/** `null` when `status !== "behind"`, or when `behind` but the exact
|
|
288
|
+
* count could not be determined (history rewritten since the build) —
|
|
289
|
+
* never a substitute for `0`. */
|
|
290
|
+
readonly commitsSince: number | null;
|
|
291
|
+
/** Count of indexed files that differ from the build, or `null` when
|
|
292
|
+
* `status !== "behind"`. The files themselves are named in `disclosures`
|
|
293
|
+
* (up to 5), not repeated here. */
|
|
294
|
+
readonly changedIndexedFiles: number | null;
|
|
295
|
+
} | null;
|
|
274
296
|
};
|
|
275
297
|
readonly truncated: TruncationDetail | null;
|
|
276
298
|
/**
|
|
@@ -466,6 +488,27 @@ export interface RenderOptions {
|
|
|
466
488
|
* gets the same "nothing known" default `renderHandshake` always had.
|
|
467
489
|
*/
|
|
468
490
|
readonly graphStamp?: Omit<GraphStamp, "resolutionFloor">;
|
|
491
|
+
/**
|
|
492
|
+
* Lane "map-freshness" item 1 — computed once per call in `server.ts`
|
|
493
|
+
* (`Session#checkFreshness()`, which needs a live git read and so, like
|
|
494
|
+
* `configDrift`, must not be done by an envelope function itself) and
|
|
495
|
+
* folded into both the machine-readable `AnswerEnvelope.graph.freshness`
|
|
496
|
+
* and, when not `current`, a plain-words disclosure naming up to 5 changed
|
|
497
|
+
* files. Optional so every direct `renderAnswer` call in a test compiles
|
|
498
|
+
* unchanged; omitted (rather than defaulted to "current") reports `null`
|
|
499
|
+
* when the stored graph is non-empty, which reads as "not checked" via
|
|
500
|
+
* `freshnessField`'s own fallback — never a false `current`.
|
|
501
|
+
*/
|
|
502
|
+
readonly freshness?: GraphFreshness;
|
|
503
|
+
/**
|
|
504
|
+
* Lane "map-freshness" items 2-3 — plain-words notes from an automatic
|
|
505
|
+
* build (empty graph) or refresh (behind, within budget) that ran in
|
|
506
|
+
* `server.ts` before this tool call, e.g. "code map built automatically
|
|
507
|
+
* for this answer (took 4.2s)". Ordered ahead of every other disclosure
|
|
508
|
+
* (see `build()` below) — a caller needs to know the map just changed
|
|
509
|
+
* before it needs anything else about what the answer covers.
|
|
510
|
+
*/
|
|
511
|
+
readonly autoNotes?: readonly string[];
|
|
469
512
|
/**
|
|
470
513
|
* N2 steps 2-3 — computed once per call in `server.ts` (it requires a
|
|
471
514
|
* fresh read of `.descry/config.json`, which no envelope function should
|
package/dist/render.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"render.d.ts","sourceRoot":"","sources":["../src/render.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmDG;AAKH,OAAO,EASL,KAAK,gBAAgB,EACrB,KAAK,cAAc,EACpB,MAAM,aAAa,CAAC;AACrB,OAAO,KAAK,EAAmB,WAAW,EAAE,eAAe,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAC5F,OAAO,KAAK,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"render.d.ts","sourceRoot":"","sources":["../src/render.ts"],"names":[],"mappings":"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"}
|
package/dist/render.js
CHANGED
|
@@ -53,6 +53,7 @@
|
|
|
53
53
|
import { randomUUID } from "node:crypto";
|
|
54
54
|
import { aliasDisclosure } from "./tools/aliases.js";
|
|
55
55
|
import { RELIABILITY_CLASSES, REPORT_CATEGORIES, RESULT_STATES, TOOL_CLASSES, existenceCategory as deriveExistenceCategory, reliabilityCap, reliabilityDisclosure, reportCategory as deriveReportCategory, } from "@descryy/ir";
|
|
56
|
+
import { sampleChangedFiles } from "@descryy/core";
|
|
56
57
|
/**
|
|
57
58
|
* MK-5 — which of the sixteen tools states a conclusion about the user's code
|
|
58
59
|
* versus which reports a fact about the graph.
|
|
@@ -196,8 +197,36 @@ export const ANSWER_ENVELOPE_SCHEMA = {
|
|
|
196
197
|
"fact; B = structural or reference evidence; A = as strong as this " +
|
|
197
198
|
"graph makes it.",
|
|
198
199
|
},
|
|
200
|
+
freshness: nullable({
|
|
201
|
+
type: "object",
|
|
202
|
+
description: "Whether this graph still matches the repository on disk. Null only " +
|
|
203
|
+
"when commitSha is null (nothing analysed yet, so nothing to be " +
|
|
204
|
+
"fresh or stale relative to).",
|
|
205
|
+
properties: {
|
|
206
|
+
status: {
|
|
207
|
+
type: "string",
|
|
208
|
+
enum: ["current", "behind", "unknown"],
|
|
209
|
+
description: "current = HEAD is the build commit and no indexed file is " +
|
|
210
|
+
"uncommitted; behind = HEAD moved past the build, or an indexed " +
|
|
211
|
+
"file has an uncommitted edit; unknown = not a git repository, " +
|
|
212
|
+
"or git unavailable here — never reported as current.",
|
|
213
|
+
},
|
|
214
|
+
commitsSince: nullable({
|
|
215
|
+
type: "integer",
|
|
216
|
+
description: "Commits made after the build. Null when status isn't behind, " +
|
|
217
|
+
"or when behind but the exact count could not be determined " +
|
|
218
|
+
"(history rewritten since the build) — never a substitute for 0.",
|
|
219
|
+
}),
|
|
220
|
+
changedIndexedFiles: nullable({
|
|
221
|
+
type: "integer",
|
|
222
|
+
description: "How many indexed files differ from the build. Up to 5 of them " +
|
|
223
|
+
"are named in disclosures. Null when status isn't behind.",
|
|
224
|
+
}),
|
|
225
|
+
},
|
|
226
|
+
required: ["status", "commitsSince", "changedIndexedFiles"],
|
|
227
|
+
}),
|
|
199
228
|
},
|
|
200
|
-
required: ["commitSha", "builtAt", "irSchemaVersion", "resolutionFloor", "reliabilityCap"],
|
|
229
|
+
required: ["commitSha", "builtAt", "irSchemaVersion", "resolutionFloor", "reliabilityCap", "freshness"],
|
|
201
230
|
},
|
|
202
231
|
truncated: nullable({
|
|
203
232
|
type: "object",
|
|
@@ -426,6 +455,63 @@ function aliasNotes(options) {
|
|
|
426
455
|
? []
|
|
427
456
|
: [aliasDisclosure(options.aliasedFrom, options.aliasedTo)];
|
|
428
457
|
}
|
|
458
|
+
/**
|
|
459
|
+
* Lane "map-freshness" item 1 — `AnswerEnvelope.graph.freshness`'s structured
|
|
460
|
+
* half, shared by every envelope-building function in this file. `null` when
|
|
461
|
+
* `commitSha` is `null` (nothing to be fresh or stale relative to, same
|
|
462
|
+
* reasoning as `resolutionFloor: null` on an unconsulted graph). Otherwise
|
|
463
|
+
* `unknown` with both counts `null` when this call's `RenderOptions` never
|
|
464
|
+
* supplied a `freshness` — "not checked" must never render as the false
|
|
465
|
+
* positive "current" would be.
|
|
466
|
+
*/
|
|
467
|
+
function freshnessField(commitSha, freshness) {
|
|
468
|
+
if (commitSha === null)
|
|
469
|
+
return null;
|
|
470
|
+
if (freshness === undefined)
|
|
471
|
+
return { status: "unknown", commitsSince: null, changedIndexedFiles: null };
|
|
472
|
+
return {
|
|
473
|
+
status: freshness.status,
|
|
474
|
+
commitsSince: freshness.status === "behind" ? freshness.commitsSince : null,
|
|
475
|
+
changedIndexedFiles: freshness.status === "behind" ? freshness.changedFiles.length : null,
|
|
476
|
+
};
|
|
477
|
+
}
|
|
478
|
+
/**
|
|
479
|
+
* The plain-words half — "up to 5 of those files, plus the total" (lane
|
|
480
|
+
* "map-freshness" item 1). `undefined` on `current`/`unknown-with-nothing-
|
|
481
|
+
* to-say`: a disclosure that repeats "the map is current" on every single
|
|
482
|
+
* reply is exactly the noise `disclosure-ledger.ts` exists to avoid for the
|
|
483
|
+
* reliability sentence, and this field has no standing-ledger mechanism of
|
|
484
|
+
* its own to fall back to, so it says nothing rather than something on
|
|
485
|
+
* every call.
|
|
486
|
+
*/
|
|
487
|
+
function freshnessDisclosure(freshness) {
|
|
488
|
+
if (freshness === undefined || freshness.status === "current")
|
|
489
|
+
return undefined;
|
|
490
|
+
if (freshness.status === "unknown") {
|
|
491
|
+
return ("Whether the code map matches the current code could not be determined — this is not a git " +
|
|
492
|
+
"repository, or git is unavailable here.");
|
|
493
|
+
}
|
|
494
|
+
const { shown, total } = sampleChangedFiles(freshness);
|
|
495
|
+
const commitsPart = freshness.commitsSince === null
|
|
496
|
+
? "an unknown number of commits (history was rewritten since the map was built)"
|
|
497
|
+
: freshness.commitsSince === 0
|
|
498
|
+
? "0 commits"
|
|
499
|
+
: `${freshness.commitsSince} commit(s)`;
|
|
500
|
+
const filesPart = total === 0
|
|
501
|
+
? "no indexed file is known to have changed"
|
|
502
|
+
: `${total} indexed file(s) changed since the map was built` +
|
|
503
|
+
(shown.length > 0 ? ` — including ${shown.join(", ")}${total > shown.length ? ", …" : ""}` : "");
|
|
504
|
+
return `The code map is behind the current code: ${commitsPart} since it was built. ${filesPart}.`;
|
|
505
|
+
}
|
|
506
|
+
/** Both halves of the lane "map-freshness" disclosure, shared by every
|
|
507
|
+
* envelope-building function in this file (see `RenderOptions.autoNotes`/
|
|
508
|
+
* `.freshness`'s own docs). Ordered ahead of everything else these
|
|
509
|
+
* functions add — a caller needs to know the map just changed, or is
|
|
510
|
+
* stale, before it needs any other caveat. */
|
|
511
|
+
function freshnessCrossCuttingNotes(options) {
|
|
512
|
+
const note = freshnessDisclosure(options.freshness);
|
|
513
|
+
return [...(options.autoNotes ?? []), ...(note === undefined ? [] : [note])];
|
|
514
|
+
}
|
|
429
515
|
export function renderAnswer(tool, answer, options) {
|
|
430
516
|
const { result, nameLevel } = answer;
|
|
431
517
|
const state = answer.state ?? "ok";
|
|
@@ -495,6 +581,12 @@ export function renderAnswer(tool, answer, options) {
|
|
|
495
581
|
? []
|
|
496
582
|
: [discardedArgsNote(options.discardedArgs)]),
|
|
497
583
|
];
|
|
584
|
+
// Lane "map-freshness" items 1-3: an automatic build/refresh note (if one
|
|
585
|
+
// ran before this call) and the freshness disclosure itself, both ahead of
|
|
586
|
+
// every other disclosure — a caller needs to know the map just changed, or
|
|
587
|
+
// is stale, before it needs anything else this reply does not cover. See
|
|
588
|
+
// `freshnessCrossCuttingNotes` above.
|
|
589
|
+
const crossCuttingNotes = freshnessCrossCuttingNotes(options);
|
|
498
590
|
// B10 — minted by the caller before this call, so it is threaded through
|
|
499
591
|
// rather than generated here; a fallback exists only for the direct callers
|
|
500
592
|
// (tests) that have no session id sequence to draw from. See `callId`'s own
|
|
@@ -516,6 +608,7 @@ export function renderAnswer(tool, answer, options) {
|
|
|
516
608
|
irSchemaVersion: result.stamp.irSchemaVersion,
|
|
517
609
|
resolutionFloor,
|
|
518
610
|
reliabilityCap: cap,
|
|
611
|
+
freshness: freshnessField(result.stamp.commitSha, options.freshness),
|
|
519
612
|
},
|
|
520
613
|
truncated: fitTruncation ?? (!result.truncated ? null : (answer.truncatedDetail ?? null)),
|
|
521
614
|
refusals: answer.refusalSummary ?? null,
|
|
@@ -523,8 +616,12 @@ export function renderAnswer(tool, answer, options) {
|
|
|
523
616
|
// The fit's own notes go first among the disclosures it added, ahead of
|
|
524
617
|
// the standing reliability sentence, for the same reason `narrate` puts
|
|
525
618
|
// disclosures last: what is specific to this call must not be buried
|
|
526
|
-
// under what is true of every call.
|
|
527
|
-
|
|
619
|
+
// under what is true of every call. `crossCuttingNotes` goes ahead of
|
|
620
|
+
// even that — see its own doc above.
|
|
621
|
+
disclosures: [
|
|
622
|
+
...crossCuttingNotes,
|
|
623
|
+
...(extraNotes.length === 0 ? disclosures : [...result.notes, ...extraNotes, ...disclosures.slice(result.notes.length)]),
|
|
624
|
+
],
|
|
528
625
|
configStale: options.configDrift?.stale ?? false,
|
|
529
626
|
reportCategory: deriveEnvelopeCategory(options.toolTier, state, resolutionFloor, nameLevel, answer.runtimeEvidence),
|
|
530
627
|
existenceCategory: deriveEnvelopeExistence(options.toolTier, state, answer.runtimeEvidence),
|
|
@@ -682,6 +779,7 @@ export function renderRefusedInput(tool, message, options) {
|
|
|
682
779
|
irSchemaVersion: stamp?.irSchemaVersion ?? 0,
|
|
683
780
|
resolutionFloor: null,
|
|
684
781
|
reliabilityCap: "C",
|
|
782
|
+
freshness: freshnessField(stamp?.commitSha ?? null, options.freshness),
|
|
685
783
|
},
|
|
686
784
|
truncated: null,
|
|
687
785
|
refusals: null,
|
|
@@ -743,6 +841,7 @@ export function renderFailed(tool, message, options, headline) {
|
|
|
743
841
|
irSchemaVersion: stamp?.irSchemaVersion ?? 0,
|
|
744
842
|
resolutionFloor: null,
|
|
745
843
|
reliabilityCap: "C",
|
|
844
|
+
freshness: freshnessField(stamp?.commitSha ?? null, options.freshness),
|
|
746
845
|
},
|
|
747
846
|
truncated: null,
|
|
748
847
|
refusals: null,
|
|
@@ -795,6 +894,7 @@ export function renderHandshake(tool, token, willDo, options) {
|
|
|
795
894
|
// whether this pending action has been confirmed yet.
|
|
796
895
|
resolutionFloor: null,
|
|
797
896
|
reliabilityCap: "C",
|
|
897
|
+
freshness: freshnessField(stamp?.commitSha ?? null, options.freshness),
|
|
798
898
|
},
|
|
799
899
|
truncated: null,
|
|
800
900
|
refusals: null,
|
|
@@ -842,6 +942,7 @@ export function renderTimedOut(tool, options) {
|
|
|
842
942
|
irSchemaVersion: stamp?.irSchemaVersion ?? 0,
|
|
843
943
|
resolutionFloor: null,
|
|
844
944
|
reliabilityCap: "C",
|
|
945
|
+
freshness: freshnessField(stamp?.commitSha ?? null, options.freshness),
|
|
845
946
|
},
|
|
846
947
|
truncated: null,
|
|
847
948
|
refusals: null,
|
package/dist/render.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"render.js","sourceRoot":"","sources":["../src/render.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"render.js","sourceRoot":"","sources":["../src/render.ts"],"names":[],"mappings":"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"}
|
package/dist/server.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AAiCH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAC5C,OAAO,
|
|
1
|
+
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AAiCH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAC5C,OAAO,EAML,KAAK,cAAc,EACpB,MAAM,kBAAkB,CAAC;AAE1B,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAwJhD,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B;;;;;;OAMG;IACH,QAAQ,CAAC,KAAK,CAAC,EAAE,SAAS,cAAc,EAAE,CAAC;CAC5C;AAED;;;;;;;;GAQG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAYjD;AAED,MAAM,WAAW,SAAS;IACxB,uFAAuF;IACvF,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC5D,wDAAwD;IACxD,QAAQ,CAAC,WAAW,EAAE,OAAO,CAAC;CAC/B;AA+ED,wBAAgB,eAAe,CAAC,OAAO,EAAE,gBAAgB,GAAG,SAAS,CAqapE"}
|
package/dist/server.js
CHANGED
|
@@ -31,8 +31,9 @@ import { TOOL_ALIASES } from "./tools/aliases.js";
|
|
|
31
31
|
import { fail, isRequest, negotiateVersion, ok, parseMessage, ProtocolError, RPC_INTERNAL_ERROR, RPC_INVALID_PARAMS, RPC_METHOD_NOT_FOUND, } from "./protocol.js";
|
|
32
32
|
import { renderAnswer, renderFailed, renderHandshake, renderRefusedInput, renderTimedOut, renderToolError, TOOL_OUTPUT_SCHEMA, } from "./render.js";
|
|
33
33
|
import { createDisclosureLedger } from "./disclosure-ledger.js";
|
|
34
|
-
import { checkConfigDrift, ConfigError } from "./session.js";
|
|
34
|
+
import { AUTO_REFRESH_BUDGET_MS, checkConfigDrift, checkFreshness, ConfigError } from "./session.js";
|
|
35
35
|
import { TOOLS, TOOLS_BY_NAME, ToolInputError, } from "./tools/index.js";
|
|
36
|
+
import { analyzeTool } from "./tools/analyze.js";
|
|
36
37
|
/** Every call's declared budget (§6). Fixed today; per-trigger budgets are P26/P28 work. */
|
|
37
38
|
const CALL_BUDGET_MS = 15 * 60 * 1000;
|
|
38
39
|
function isAbort(error) {
|
|
@@ -59,6 +60,97 @@ function readGraphStampSafely(session) {
|
|
|
59
60
|
return undefined;
|
|
60
61
|
}
|
|
61
62
|
}
|
|
63
|
+
const NO_FRESHNESS_OUTCOME = { freshness: undefined, autoNotes: [] };
|
|
64
|
+
function elapsedSeconds(startedAt) {
|
|
65
|
+
return ((Date.now() - startedAt) / 1000).toFixed(1);
|
|
66
|
+
}
|
|
67
|
+
/**
|
|
68
|
+
* Lane "map-freshness" items 1-3, run once per call, ahead of `tool.run` —
|
|
69
|
+
* the one shared place this happens, rather than 29 separate tools each
|
|
70
|
+
* growing their own copy (the lane's own instruction). Builds the graph when
|
|
71
|
+
* it is empty, refreshes it (within a budget) when it is `behind`, and
|
|
72
|
+
* either way reads the freshness this call should report.
|
|
73
|
+
*
|
|
74
|
+
* Skipped entirely for `workspace`: its `analyze`/`index` verbs already are
|
|
75
|
+
* the build/refresh mechanism (so running this ahead of them would be a
|
|
76
|
+
* second, redundant build) and `link` only declares repositories. The retired
|
|
77
|
+
* `analyze`/`analyze_workspace` names are aliases that resolve to `workspace`
|
|
78
|
+
* before this runs, so they are covered by the same check. `analyzeTool` is
|
|
79
|
+
* imported directly: it is not registered in `TOOLS_BY_NAME` under its own
|
|
80
|
+
* name any more, so a by-name lookup finds nothing.
|
|
81
|
+
*
|
|
82
|
+
* Never throws: an auto-build/refresh that fails (a `ConfigError` needing
|
|
83
|
+
* input this call can't default, an aborted refresh, anything else) is
|
|
84
|
+
* caught and treated as "did not run" — the real tool call proceeds exactly
|
|
85
|
+
* as it would have if this had never been attempted, per the lane's own
|
|
86
|
+
* "keep today's named refusal" instruction. An empty graph that stays empty
|
|
87
|
+
* after a failed auto-build still reports `freshness: null` (never `unknown`
|
|
88
|
+
* or a fabricated `current`) via `freshnessField` in `render.ts`, from the
|
|
89
|
+
* real `commitSha` this function reads again after the attempt.
|
|
90
|
+
*/
|
|
91
|
+
async function ensureFreshGraph(session, tool, ctx) {
|
|
92
|
+
if (tool.name === "workspace")
|
|
93
|
+
return NO_FRESHNESS_OUTCOME;
|
|
94
|
+
let stamp;
|
|
95
|
+
try {
|
|
96
|
+
stamp = session.provider().baseStamp();
|
|
97
|
+
}
|
|
98
|
+
catch {
|
|
99
|
+
return NO_FRESHNESS_OUTCOME;
|
|
100
|
+
}
|
|
101
|
+
// Item 2: an empty graph is built with defaults before this call answers.
|
|
102
|
+
// `analyzeTool.run` already calls `ctx.progress(...)` as it works, so
|
|
103
|
+
// reusing this call's real `ctx` (rather than a stand-in) is what "sends
|
|
104
|
+
// progress notifications" means here — nothing extra to wire.
|
|
105
|
+
if (stamp.commitSha === null) {
|
|
106
|
+
const startedAt = Date.now();
|
|
107
|
+
try {
|
|
108
|
+
await analyzeTool.run({}, ctx);
|
|
109
|
+
}
|
|
110
|
+
catch {
|
|
111
|
+
// Needs input `analyze`'s own defaults can't supply (not a git
|
|
112
|
+
// repository, for instance) — leave the graph empty and let the real
|
|
113
|
+
// tool call's own "graph is empty" refusal stand, unchanged.
|
|
114
|
+
}
|
|
115
|
+
const rebuilt = readGraphStampSafely(session);
|
|
116
|
+
if (rebuilt === undefined || rebuilt.commitSha === null)
|
|
117
|
+
return NO_FRESHNESS_OUTCOME;
|
|
118
|
+
return {
|
|
119
|
+
freshness: await checkFreshness(session),
|
|
120
|
+
autoNotes: [`Code map built automatically for this answer (took ${elapsedSeconds(startedAt)}s).`],
|
|
121
|
+
};
|
|
122
|
+
}
|
|
123
|
+
const freshness = await checkFreshness(session);
|
|
124
|
+
if (freshness === undefined || freshness.status !== "behind")
|
|
125
|
+
return { freshness, autoNotes: [] };
|
|
126
|
+
// Item 3: refresh within a budget. `AbortSignal.any` combines the caller's
|
|
127
|
+
// signal with a timeout for this attempt, and `analyze` hands it to every
|
|
128
|
+
// source's `prepare()`. That is the whole reach of the budget: a source
|
|
129
|
+
// that checks the signal abandons the refresh, one that does not (git
|
|
130
|
+
// history does not) runs to completion, so the budget bounds a slow
|
|
131
|
+
// adapter, not the refresh as a whole. It is not raced against a timer:
|
|
132
|
+
// an abandoned refresh left running would write the graph while the real
|
|
133
|
+
// tool reads it. A budget of 0 or less skips the refresh outright.
|
|
134
|
+
const budgetMs = session.autoRefreshBudgetMs ?? AUTO_REFRESH_BUDGET_MS;
|
|
135
|
+
if (budgetMs <= 0)
|
|
136
|
+
return { freshness, autoNotes: [] };
|
|
137
|
+
const refreshCtx = { ...ctx, signal: AbortSignal.any([ctx.signal, AbortSignal.timeout(budgetMs)]) };
|
|
138
|
+
const startedAt = Date.now();
|
|
139
|
+
try {
|
|
140
|
+
await analyzeTool.run({}, refreshCtx);
|
|
141
|
+
}
|
|
142
|
+
catch {
|
|
143
|
+
// Timed out, or failed outright — answer from the graph as it stood
|
|
144
|
+
// before this attempt. `freshness` (still `behind`) already carries its
|
|
145
|
+
// own disclosure downstream (`freshnessDisclosure` in `render.ts`), so
|
|
146
|
+
// the caller learns the map is stale even though the refresh did not run.
|
|
147
|
+
return { freshness, autoNotes: [] };
|
|
148
|
+
}
|
|
149
|
+
return {
|
|
150
|
+
freshness: await checkFreshness(session),
|
|
151
|
+
autoNotes: [`Code map refreshed automatically for this answer (took ${elapsedSeconds(startedAt)}s).`],
|
|
152
|
+
};
|
|
153
|
+
}
|
|
62
154
|
/** A schema's own declared top-level argument names — empty when it has none, or when the
|
|
63
155
|
* schema isn't the `{ properties: {...} }` shape every tool's `inputSchema` actually is. */
|
|
64
156
|
function declaredTopLevelProperties(schema) {
|
|
@@ -101,8 +193,8 @@ export function isOutOfBand(line) {
|
|
|
101
193
|
}
|
|
102
194
|
}
|
|
103
195
|
const SERVER_INSTRUCTIONS = "Descry reads the repository's source into a code graph and answers questions about it.\n\n" +
|
|
104
|
-
"Call `analyze` first — every other tool queries the graph it builds,
|
|
105
|
-
"answers about code that has changed.\n\n" +
|
|
196
|
+
"Call `workspace` (`{verb: \"analyze\"}`) first — every other tool queries the graph it builds, " +
|
|
197
|
+
"and a stale graph answers about code that has changed.\n\n" +
|
|
106
198
|
"Every reply has a `state`, one of five, and they are different claims: `ok` (found " +
|
|
107
199
|
"something), `empty` (looked completely, found nothing — a fact about your code), `refused` " +
|
|
108
200
|
"(could not look — a fact about Descry, never about your code), `failed` (something broke) " +
|
|
@@ -132,26 +224,27 @@ const SERVER_INSTRUCTIONS = "Descry reads the repository's source into a code gr
|
|
|
132
224
|
"make it: a name-level fact resolved at R2 or better, a shape-level fact backed by a type " +
|
|
133
225
|
"checker (R3), or anything witnessed at runtime (R4, unconditional). Read the disclosures " +
|
|
134
226
|
"before summarising — they say what the answer does *not* cover.\n\n" +
|
|
135
|
-
"Coverage is a separate question from confidence: call `
|
|
136
|
-
"node ids or file paths from an earlier reply to learn which of
|
|
137
|
-
"reached, and at what resolution, rather than assuming silence means
|
|
138
|
-
"gives the graph's full ledger of things an
|
|
139
|
-
"
|
|
140
|
-
"every row; never assume the summary's one
|
|
227
|
+
"Coverage is a separate question from confidence: call `disclosure` with `{verb: \"coverage\", " +
|
|
228
|
+
"refs: [...]}` and a list of node ids or file paths from an earlier reply to learn which of " +
|
|
229
|
+
"them the graph actually reached, and at what resolution, rather than assuming silence means " +
|
|
230
|
+
"untested. `disclosure`'s `{verb: \"unresolved\"}` gives the graph's full ledger of things an " +
|
|
231
|
+
"adapter could not resolve — call it with no `handle` for a one-line summary and a handle, " +
|
|
232
|
+
"then again with that handle to page through every row; never assume the summary's one " +
|
|
233
|
+
"exemplar is the only refusal.\n\n" +
|
|
141
234
|
"`class` on each tool (`read`, `stateful-read` or `action`) says whether it is safe to retry. " +
|
|
142
235
|
"The one `action`-class tool (`questions`, when answering) takes a two-call handshake: the " +
|
|
143
236
|
"first call performs nothing and returns a confirmation token; only a second call presenting " +
|
|
144
237
|
"that exact token performs the write.\n\n" +
|
|
145
|
-
"`tier` on each tool is `conclusion` for the
|
|
238
|
+
"`tier` on each tool is `conclusion` for the tools that already state a verdict about your " +
|
|
146
239
|
"code (`validate`, `contracts`, `cross_pr` — quote their `headline` verbatim rather than " +
|
|
147
|
-
"rephrasing it) or `evidence` for
|
|
240
|
+
"rephrasing it) or `evidence` for every other tool, which returns graph facts for you to " +
|
|
148
241
|
"reason over yourself. Every reply also carries `reportCategory` — one of `confirmed`, " +
|
|
149
242
|
"`strongly supported`, `unconfirmed`, `not analysable`, `unsupported`, or `null` where no " +
|
|
150
243
|
"claim applies. It is `null` on every `conclusion`-tier reply (the `headline` already states " +
|
|
151
244
|
"the verdict in plain words). On an `evidence`-tier reply it follows that reply's own " +
|
|
152
245
|
"`resolutionFloor`: `unconfirmed` below R4, where nothing was observed, and `strongly " +
|
|
153
246
|
"supported` at R4, where every hop behind the answer was witnessed in a real run — " +
|
|
154
|
-
"`
|
|
247
|
+
"`observe`'s `runtime` and `tests` verbs are what write those edges. `confirmed` never appears " +
|
|
155
248
|
"here — that word is reserved for results that passed the full governance pipeline, and its " +
|
|
156
249
|
"absence is honest, not a bug.\n\n" +
|
|
157
250
|
"Beside it, `existenceCategory` answers a different question, and the two are not " +
|
|
@@ -284,6 +377,14 @@ export function createMcpServer(options) {
|
|
|
284
377
|
// reply this call produces — ok, refused, failed or timed out — carries the
|
|
285
378
|
// same disclosure and the same `configStale` flag, not only `analyze`'s.
|
|
286
379
|
const configDrift = await checkConfigDrift(session);
|
|
380
|
+
// Lane "map-freshness": set for real just before `tool.run` (once `ctx`
|
|
381
|
+
// exists), by `ensureFreshGraph`. Declared here, ahead of every early
|
|
382
|
+
// `renderOptions()` call below (an `"arguments"`-shape refusal, an
|
|
383
|
+
// unknown-argument refusal), so those calls see the same
|
|
384
|
+
// `NO_FRESHNESS_OUTCOME` default `configDrift` above already reads —
|
|
385
|
+
// never a "used before declaration" on a call site that runs before
|
|
386
|
+
// `ctx` does.
|
|
387
|
+
let freshnessOutcome = NO_FRESHNESS_OUTCOME;
|
|
287
388
|
const renderOptions = () => ({
|
|
288
389
|
toolVersion: tool.version,
|
|
289
390
|
toolClass: tool.class,
|
|
@@ -293,6 +394,8 @@ export function createMcpServer(options) {
|
|
|
293
394
|
disclosureLedger,
|
|
294
395
|
callId,
|
|
295
396
|
configDrift,
|
|
397
|
+
...(freshnessOutcome.freshness === undefined ? {} : { freshness: freshnessOutcome.freshness }),
|
|
398
|
+
...(freshnessOutcome.autoNotes.length === 0 ? {} : { autoNotes: freshnessOutcome.autoNotes }),
|
|
296
399
|
...(alias === undefined ? {} : { aliasedFrom: name, aliasedTo: tool.name }),
|
|
297
400
|
});
|
|
298
401
|
const rawArgs = params["arguments"];
|
|
@@ -397,6 +500,13 @@ export function createMcpServer(options) {
|
|
|
397
500
|
...(graphStamp === undefined ? {} : { graphStamp }),
|
|
398
501
|
});
|
|
399
502
|
}
|
|
503
|
+
// Lane "map-freshness" items 1-3: build an empty graph, refresh a
|
|
504
|
+
// `behind` one within budget, and read the freshness this call should
|
|
505
|
+
// report — once, here, ahead of the real work, not inside `tool.run`
|
|
506
|
+
// itself. After the handshake check (a mint does no I/O, so nothing to
|
|
507
|
+
// ensure yet) and before `tool.run` (which is what needs a fresh graph
|
|
508
|
+
// to answer from).
|
|
509
|
+
freshnessOutcome = await ensureFreshGraph(session, tool, ctx);
|
|
400
510
|
const outcome = await tool.run(dispatch.args, ctx);
|
|
401
511
|
// Cancelled while it was running, and it finished anyway — the client
|
|
402
512
|
// stopped listening for this id, so the answer is dropped rather than
|