@descryy/mcp 0.4.0 → 0.6.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/bin/descry-mcp.js +16 -2
- package/dist/bin/descry-mcp.js.map +1 -1
- package/dist/browser/driver.d.ts +105 -6
- package/dist/browser/driver.d.ts.map +1 -1
- package/dist/browser/driver.js +17 -3
- package/dist/browser/driver.js.map +1 -1
- package/dist/browser/evidence.d.ts +11 -0
- package/dist/browser/evidence.d.ts.map +1 -1
- package/dist/browser/evidence.js +64 -8
- package/dist/browser/evidence.js.map +1 -1
- package/dist/browser/fake-driver.d.ts +8 -0
- package/dist/browser/fake-driver.d.ts.map +1 -1
- package/dist/browser/fake-driver.js +26 -3
- package/dist/browser/fake-driver.js.map +1 -1
- package/dist/browser/playwright-driver.d.ts +68 -14
- package/dist/browser/playwright-driver.d.ts.map +1 -1
- package/dist/browser/playwright-driver.js +318 -38
- package/dist/browser/playwright-driver.js.map +1 -1
- package/dist/browser/provider.d.ts +10 -4
- package/dist/browser/provider.d.ts.map +1 -1
- package/dist/browser/provider.js +10 -4
- package/dist/browser/provider.js.map +1 -1
- package/dist/browser/scenario-runner.d.ts +9 -0
- package/dist/browser/scenario-runner.d.ts.map +1 -1
- package/dist/browser/scenario-runner.js +32 -2
- package/dist/browser/scenario-runner.js.map +1 -1
- package/dist/browser/tool-support.js +1 -1
- package/dist/browser/tool-support.js.map +1 -1
- package/dist/cancellation.d.ts +55 -0
- package/dist/cancellation.d.ts.map +1 -0
- package/dist/cancellation.js +76 -0
- package/dist/cancellation.js.map +1 -0
- package/dist/capped.d.ts +41 -0
- package/dist/capped.d.ts.map +1 -0
- package/dist/capped.js +35 -0
- package/dist/capped.js.map +1 -0
- package/dist/registry.d.ts +20 -1
- package/dist/registry.d.ts.map +1 -1
- package/dist/registry.js +71 -4
- package/dist/registry.js.map +1 -1
- package/dist/render.d.ts +92 -0
- package/dist/render.d.ts.map +1 -1
- package/dist/render.js +250 -5
- package/dist/render.js.map +1 -1
- package/dist/runtime-registry.d.ts +19 -1
- package/dist/runtime-registry.d.ts.map +1 -1
- package/dist/runtime-registry.js +88 -4
- package/dist/runtime-registry.js.map +1 -1
- package/dist/server.d.ts +19 -0
- package/dist/server.d.ts.map +1 -1
- package/dist/server.js +135 -11
- package/dist/server.js.map +1 -1
- package/dist/session.d.ts +22 -0
- package/dist/session.d.ts.map +1 -1
- package/dist/session.js +27 -1
- package/dist/session.js.map +1 -1
- package/dist/tools/analyze.d.ts +23 -3
- package/dist/tools/analyze.d.ts.map +1 -1
- package/dist/tools/analyze.js +35 -3
- package/dist/tools/analyze.js.map +1 -1
- package/dist/tools/browser-click.d.ts.map +1 -1
- package/dist/tools/browser-click.js +14 -0
- package/dist/tools/browser-click.js.map +1 -1
- package/dist/tools/browser-fill.d.ts.map +1 -1
- package/dist/tools/browser-fill.js +14 -0
- package/dist/tools/browser-fill.js.map +1 -1
- package/dist/tools/browser-navigate.d.ts.map +1 -1
- package/dist/tools/browser-navigate.js +14 -0
- package/dist/tools/browser-navigate.js.map +1 -1
- package/dist/tools/browser-run-scenario.d.ts.map +1 -1
- package/dist/tools/browser-run-scenario.js +12 -3
- package/dist/tools/browser-run-scenario.js.map +1 -1
- package/dist/tools/browser-save-scenario.d.ts.map +1 -1
- package/dist/tools/browser-save-scenario.js +109 -3
- package/dist/tools/browser-save-scenario.js.map +1 -1
- package/dist/tools/browser-start-session.d.ts.map +1 -1
- package/dist/tools/browser-start-session.js +43 -0
- package/dist/tools/browser-start-session.js.map +1 -1
- package/dist/tools/browser-type.d.ts.map +1 -1
- package/dist/tools/browser-type.js +14 -0
- package/dist/tools/browser-type.js.map +1 -1
- package/dist/tools/contracts.d.ts +41 -10
- package/dist/tools/contracts.d.ts.map +1 -1
- package/dist/tools/contracts.js +117 -17
- package/dist/tools/contracts.js.map +1 -1
- package/dist/tools/cross-pr.d.ts +39 -10
- package/dist/tools/cross-pr.d.ts.map +1 -1
- package/dist/tools/cross-pr.js +113 -29
- package/dist/tools/cross-pr.js.map +1 -1
- package/dist/tools/git-diff.d.ts.map +1 -1
- package/dist/tools/git-diff.js +30 -2
- package/dist/tools/git-diff.js.map +1 -1
- package/dist/tools/impact.d.ts.map +1 -1
- package/dist/tools/impact.js +50 -2
- package/dist/tools/impact.js.map +1 -1
- package/dist/tools/observe-runtime.d.ts.map +1 -1
- package/dist/tools/observe-runtime.js +84 -4
- package/dist/tools/observe-runtime.js.map +1 -1
- package/dist/tools/observe-tests.d.ts +12 -0
- package/dist/tools/observe-tests.d.ts.map +1 -1
- package/dist/tools/observe-tests.js +92 -8
- package/dist/tools/observe-tests.js.map +1 -1
- package/dist/tools/pre-push.d.ts +40 -7
- package/dist/tools/pre-push.d.ts.map +1 -1
- package/dist/tools/pre-push.js +65 -23
- package/dist/tools/pre-push.js.map +1 -1
- package/dist/tools/scope.d.ts.map +1 -1
- package/dist/tools/scope.js +20 -4
- package/dist/tools/scope.js.map +1 -1
- package/dist/tools/validate.d.ts +40 -1
- package/dist/tools/validate.d.ts.map +1 -1
- package/dist/tools/validate.js +150 -27
- package/dist/tools/validate.js.map +1 -1
- package/dist/tools/verification-status.d.ts.map +1 -1
- package/dist/tools/verification-status.js +3 -3
- package/dist/tools/verification-status.js.map +1 -1
- package/dist/transport.d.ts +12 -1
- package/dist/transport.d.ts.map +1 -1
- package/dist/transport.js +30 -16
- package/dist/transport.js.map +1 -1
- package/package.json +22 -13
package/dist/render.d.ts
CHANGED
|
@@ -35,6 +35,20 @@
|
|
|
35
35
|
* 4. `class == "action"` returning anything other than a handshake envelope on
|
|
36
36
|
* the first call → throw (§7) — enforced in `action-handshake.ts` and
|
|
37
37
|
* `server.ts`, not here: this module never sees a mint, only a redeemed run.
|
|
38
|
+
*
|
|
39
|
+
* ## A fifth invariant, B6: a truncated answer must carry real counts
|
|
40
|
+
*
|
|
41
|
+
* `result.truncated === true` with no `answer.truncatedDetail` used to fall
|
|
42
|
+
* back to a sentinel, `{shown: -1, total: -1}` — chosen to be "unmistakably
|
|
43
|
+
* fake," except that it is a number, so it passes any presence check and then
|
|
44
|
+
* poisons whatever arithmetic reads `total - shown`. A field that lies is
|
|
45
|
+
* worse than a field that is absent, which is the same argument the five
|
|
46
|
+
* result states rest on. So the sentinel is gone: a tool that sets
|
|
47
|
+
* `result.truncated` without a `truncatedDetail` is a programming error,
|
|
48
|
+
* thrown in every environment except production, where the envelope instead
|
|
49
|
+
* reports `truncated: null` plus a disclosure naming the gap — degraded
|
|
50
|
+
* honestly rather than dishonestly precise. See `capped()` in `./capped.ts`
|
|
51
|
+
* for how a tool is meant to avoid ever hitting this.
|
|
38
52
|
*/
|
|
39
53
|
import { type ReliabilityClass, type ReportCategory } from "@descryy/ir";
|
|
40
54
|
import type { ResultState, SignalTypeCount, ToolClass } from "@descryy/ir";
|
|
@@ -231,6 +245,19 @@ export interface AnswerEnvelope<T = unknown> {
|
|
|
231
245
|
readonly tool: string;
|
|
232
246
|
/** Contract §6, rule 8. A behaviour change is a version bump; recorded with the run. */
|
|
233
247
|
readonly toolVersion: string;
|
|
248
|
+
/**
|
|
249
|
+
* B10 — this call's own id in `Session#recordedCalls()`, minted before
|
|
250
|
+
* rendering (`Session#allocateCallId`) so it can be carried here rather
|
|
251
|
+
* than only discovered after the fact. A caller reads this off a real
|
|
252
|
+
* reply and cites it in `verify_claim`'s `callId` — the positive path that
|
|
253
|
+
* was previously unreachable because the id used to be minted only when
|
|
254
|
+
* `Session#recordCall` ran, one step after the envelope that would have
|
|
255
|
+
* carried it was already built and sent. Not recorded here — `verify_claim`
|
|
256
|
+
* itself is excluded from `Session#recordCall` (MK-12) and every other
|
|
257
|
+
* path still records under this same value, so the id an agent reads is
|
|
258
|
+
* always the id `recordedCall` will actually find.
|
|
259
|
+
*/
|
|
260
|
+
readonly callId: string;
|
|
234
261
|
readonly state: ResultState;
|
|
235
262
|
/** DEC-278's three classes — §6's retry table reads this. */
|
|
236
263
|
readonly class: ToolClass;
|
|
@@ -295,6 +322,61 @@ export interface AnswerEnvelope<T = unknown> {
|
|
|
295
322
|
/** MK-6. Constant for this server — see `Provenance`'s own doc. */
|
|
296
323
|
readonly provenance: Provenance;
|
|
297
324
|
}
|
|
325
|
+
/**
|
|
326
|
+
* The envelope, declared for a host to validate against — MCP's `outputSchema`.
|
|
327
|
+
*
|
|
328
|
+
* ## Why this exists at all
|
|
329
|
+
*
|
|
330
|
+
* Every reply from this server carries `structuredContent`, and until this was
|
|
331
|
+
* added a host had no way to check what it received. `tools/list` already ships
|
|
332
|
+
* `class`, `tier` and `toolVersion` on the same reasoning — a fact about the
|
|
333
|
+
* reply that an external client cannot otherwise read — and this is the
|
|
334
|
+
* standard-shaped member of that group rather than a fourth non-standard field.
|
|
335
|
+
*
|
|
336
|
+
* ## `data` is deliberately open, and that is a disclosed gap
|
|
337
|
+
*
|
|
338
|
+
* The envelope's thirteen fields are uniform across all thirty tools, so they
|
|
339
|
+
* are described exactly. `data` is not: its shape is `ImpactData`, `ScopeData`
|
|
340
|
+
* and twenty-eight others, and nothing today derives a JSON Schema from those
|
|
341
|
+
* TypeScript types. Hand-writing thirty schemas would put a second description
|
|
342
|
+
* of each shape in a second place with nothing checking the two agree — the
|
|
343
|
+
* drift this repo has already paid for once with the tool count in prose, and
|
|
344
|
+
* a schema that is confidently wrong about `data` is worse for a validating
|
|
345
|
+
* host than one that declines to describe it.
|
|
346
|
+
*
|
|
347
|
+
* So `data` is `{}` — "anything" — and this paragraph is the disclosure rather
|
|
348
|
+
* than a silent omission (rule 7). Tightening it is real work with a real
|
|
349
|
+
* prerequisite: a generator from the handler types, or the schemas checked
|
|
350
|
+
* against recorded replies. Until then the promise made here is exactly the
|
|
351
|
+
* promise kept.
|
|
352
|
+
*
|
|
353
|
+
* ## The enums are read, not restated
|
|
354
|
+
*
|
|
355
|
+
* `state`, `class`, `reportCategory` and `reliabilityCap` build their `enum`
|
|
356
|
+
* from the exported vocabulary arrays. A restated list is a second source of
|
|
357
|
+
* truth that goes stale in silence; spread from the array, adding a report
|
|
358
|
+
* category and forgetting the schema is a red test instead.
|
|
359
|
+
*/
|
|
360
|
+
export declare const ANSWER_ENVELOPE_SCHEMA: Record<string, unknown>;
|
|
361
|
+
/**
|
|
362
|
+
* The other shape a `tools/call` can return — `renderToolError`'s.
|
|
363
|
+
*
|
|
364
|
+
* Declared rather than quietly excluded. A bad argument is the most ordinary
|
|
365
|
+
* failure a tool has, it deliberately does not use the five-state envelope
|
|
366
|
+
* (see `renderToolError`), and a schema that admitted only the envelope would
|
|
367
|
+
* be one the server itself violates on that path. Declaring a union that is
|
|
368
|
+
* true beats declaring a single shape that is tidy.
|
|
369
|
+
*/
|
|
370
|
+
export declare const TOOL_ERROR_SCHEMA: Record<string, unknown>;
|
|
371
|
+
/**
|
|
372
|
+
* What every tool declares as its `outputSchema`: the envelope or the argument
|
|
373
|
+
* error, discriminated by their required fields.
|
|
374
|
+
*
|
|
375
|
+
* One shared constant rather than a per-tool object because the shape genuinely
|
|
376
|
+
* is shared — the only per-tool part is `data`, which is open. When `data`
|
|
377
|
+
* becomes describable this becomes a function of the tool.
|
|
378
|
+
*/
|
|
379
|
+
export declare const TOOL_OUTPUT_SCHEMA: Record<string, unknown>;
|
|
298
380
|
export declare class DisclosureError extends Error {
|
|
299
381
|
constructor(message: string);
|
|
300
382
|
}
|
|
@@ -305,6 +387,16 @@ export interface RenderOptions {
|
|
|
305
387
|
readonly toolTier: ToolTier;
|
|
306
388
|
readonly elapsedMs: number;
|
|
307
389
|
readonly limitMs: number;
|
|
390
|
+
/**
|
|
391
|
+
* B10 — the id this call will be recorded under, minted by
|
|
392
|
+
* `Session#allocateCallId()` before `renderAnswer` runs so it can be
|
|
393
|
+
* threaded into the envelope's own `callId`. Optional so every direct
|
|
394
|
+
* `renderAnswer` call in a test — none of which has a session's id
|
|
395
|
+
* sequence to draw from, and none of which asserts on `callId` — keeps
|
|
396
|
+
* compiling unchanged; a random id fills the gap there. `server.ts` is the
|
|
397
|
+
* one caller for which this matters and it always supplies a real one.
|
|
398
|
+
*/
|
|
399
|
+
readonly callId?: string;
|
|
308
400
|
/**
|
|
309
401
|
* This connection's record of which standing disclosures it has already been
|
|
310
402
|
* given in full. Optional: a caller with no session to dedupe within (every
|
package/dist/render.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"render.d.ts","sourceRoot":"","sources":["../src/render.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"render.d.ts","sourceRoot":"","sources":["../src/render.ts"],"names":[],"mappings":"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"}
|
package/dist/render.js
CHANGED
|
@@ -35,8 +35,23 @@
|
|
|
35
35
|
* 4. `class == "action"` returning anything other than a handshake envelope on
|
|
36
36
|
* the first call → throw (§7) — enforced in `action-handshake.ts` and
|
|
37
37
|
* `server.ts`, not here: this module never sees a mint, only a redeemed run.
|
|
38
|
+
*
|
|
39
|
+
* ## A fifth invariant, B6: a truncated answer must carry real counts
|
|
40
|
+
*
|
|
41
|
+
* `result.truncated === true` with no `answer.truncatedDetail` used to fall
|
|
42
|
+
* back to a sentinel, `{shown: -1, total: -1}` — chosen to be "unmistakably
|
|
43
|
+
* fake," except that it is a number, so it passes any presence check and then
|
|
44
|
+
* poisons whatever arithmetic reads `total - shown`. A field that lies is
|
|
45
|
+
* worse than a field that is absent, which is the same argument the five
|
|
46
|
+
* result states rest on. So the sentinel is gone: a tool that sets
|
|
47
|
+
* `result.truncated` without a `truncatedDetail` is a programming error,
|
|
48
|
+
* thrown in every environment except production, where the envelope instead
|
|
49
|
+
* reports `truncated: null` plus a disclosure naming the gap — degraded
|
|
50
|
+
* honestly rather than dishonestly precise. See `capped()` in `./capped.ts`
|
|
51
|
+
* for how a tool is meant to avoid ever hitting this.
|
|
38
52
|
*/
|
|
39
|
-
import {
|
|
53
|
+
import { randomUUID } from "node:crypto";
|
|
54
|
+
import { RELIABILITY_CLASSES, REPORT_CATEGORIES, RESULT_STATES, TOOL_CLASSES, reliabilityCap, reliabilityDisclosure, reportCategory as deriveReportCategory, } from "@descryy/ir";
|
|
40
55
|
/**
|
|
41
56
|
* MK-5 — which of the sixteen tools states a conclusion about the user's code
|
|
42
57
|
* versus which reports a fact about the graph.
|
|
@@ -82,6 +97,209 @@ const PROVENANCE = {
|
|
|
82
97
|
* adopts the ceiling by implementing `ToolAnswer.fitToBudget`.
|
|
83
98
|
*/
|
|
84
99
|
export const MAX_REPLY_BYTES = 60_000;
|
|
100
|
+
// ---------------------------------------------------------------------------
|
|
101
|
+
// The wire schema for everything above
|
|
102
|
+
// ---------------------------------------------------------------------------
|
|
103
|
+
/** `T | null`, in the JSON Schema this server's declared subset uses. */
|
|
104
|
+
function nullable(schema) {
|
|
105
|
+
return { anyOf: [schema, { type: "null" }] };
|
|
106
|
+
}
|
|
107
|
+
/**
|
|
108
|
+
* The envelope, declared for a host to validate against — MCP's `outputSchema`.
|
|
109
|
+
*
|
|
110
|
+
* ## Why this exists at all
|
|
111
|
+
*
|
|
112
|
+
* Every reply from this server carries `structuredContent`, and until this was
|
|
113
|
+
* added a host had no way to check what it received. `tools/list` already ships
|
|
114
|
+
* `class`, `tier` and `toolVersion` on the same reasoning — a fact about the
|
|
115
|
+
* reply that an external client cannot otherwise read — and this is the
|
|
116
|
+
* standard-shaped member of that group rather than a fourth non-standard field.
|
|
117
|
+
*
|
|
118
|
+
* ## `data` is deliberately open, and that is a disclosed gap
|
|
119
|
+
*
|
|
120
|
+
* The envelope's thirteen fields are uniform across all thirty tools, so they
|
|
121
|
+
* are described exactly. `data` is not: its shape is `ImpactData`, `ScopeData`
|
|
122
|
+
* and twenty-eight others, and nothing today derives a JSON Schema from those
|
|
123
|
+
* TypeScript types. Hand-writing thirty schemas would put a second description
|
|
124
|
+
* of each shape in a second place with nothing checking the two agree — the
|
|
125
|
+
* drift this repo has already paid for once with the tool count in prose, and
|
|
126
|
+
* a schema that is confidently wrong about `data` is worse for a validating
|
|
127
|
+
* host than one that declines to describe it.
|
|
128
|
+
*
|
|
129
|
+
* So `data` is `{}` — "anything" — and this paragraph is the disclosure rather
|
|
130
|
+
* than a silent omission (rule 7). Tightening it is real work with a real
|
|
131
|
+
* prerequisite: a generator from the handler types, or the schemas checked
|
|
132
|
+
* against recorded replies. Until then the promise made here is exactly the
|
|
133
|
+
* promise kept.
|
|
134
|
+
*
|
|
135
|
+
* ## The enums are read, not restated
|
|
136
|
+
*
|
|
137
|
+
* `state`, `class`, `reportCategory` and `reliabilityCap` build their `enum`
|
|
138
|
+
* from the exported vocabulary arrays. A restated list is a second source of
|
|
139
|
+
* truth that goes stale in silence; spread from the array, adding a report
|
|
140
|
+
* category and forgetting the schema is a red test instead.
|
|
141
|
+
*/
|
|
142
|
+
export const ANSWER_ENVELOPE_SCHEMA = {
|
|
143
|
+
type: "object",
|
|
144
|
+
title: "Descry answer envelope",
|
|
145
|
+
description: "The uniform reply shape for every Descry tool. `state` distinguishes " +
|
|
146
|
+
"'looked and found nothing' (empty) from 'could not look' (refused); read " +
|
|
147
|
+
"`disclosures` before summarising the answer.",
|
|
148
|
+
properties: {
|
|
149
|
+
tool: { type: "string", description: "The tool that produced this reply." },
|
|
150
|
+
toolVersion: {
|
|
151
|
+
type: "string",
|
|
152
|
+
description: "Bumped on any behaviour change; recorded with the run.",
|
|
153
|
+
},
|
|
154
|
+
callId: {
|
|
155
|
+
type: "string",
|
|
156
|
+
description: "This call's own id in this session's recorded tool calls. Cite it in verify_claim's " +
|
|
157
|
+
"\"callId\" to check a claim against this exact call's real result.",
|
|
158
|
+
},
|
|
159
|
+
state: {
|
|
160
|
+
type: "string",
|
|
161
|
+
enum: [...RESULT_STATES],
|
|
162
|
+
description: "ok = found something; empty = looked completely and found nothing (a " +
|
|
163
|
+
"fact about your code); refused = could not look (a fact about Descry, " +
|
|
164
|
+
"never about your code); failed = something broke; timed_out = ran out " +
|
|
165
|
+
"of budget, partial answer.",
|
|
166
|
+
},
|
|
167
|
+
class: {
|
|
168
|
+
type: "string",
|
|
169
|
+
enum: [...TOOL_CLASSES],
|
|
170
|
+
description: "Retry semantics: read, stateful-read, or action.",
|
|
171
|
+
},
|
|
172
|
+
headline: { type: "string", description: "One-sentence plain-English answer." },
|
|
173
|
+
data: {
|
|
174
|
+
description: "The tool's own payload, or null on refused/failed/timed_out. Shape is " +
|
|
175
|
+
"per-tool and is not described here — see this schema's own " +
|
|
176
|
+
"documentation for why, and the tool description for the fields.",
|
|
177
|
+
},
|
|
178
|
+
graph: {
|
|
179
|
+
type: "object",
|
|
180
|
+
description: "What the answer rests on.",
|
|
181
|
+
properties: {
|
|
182
|
+
commitSha: nullable({ type: "string" }),
|
|
183
|
+
builtAt: nullable({ type: "string" }),
|
|
184
|
+
irSchemaVersion: { type: "integer" },
|
|
185
|
+
resolutionFloor: {
|
|
186
|
+
...nullable({ type: "integer", minimum: 0, maximum: 4 }),
|
|
187
|
+
description: "R0 syntax only; R1 imports resolved; R2 references resolved; R3 " +
|
|
188
|
+
"type checker; R4 observed at runtime. Null when the graph was not " +
|
|
189
|
+
"consulted at all.",
|
|
190
|
+
},
|
|
191
|
+
reliabilityCap: {
|
|
192
|
+
type: "string",
|
|
193
|
+
enum: [...RELIABILITY_CLASSES],
|
|
194
|
+
description: "C = unconfirmed behavioural prediction, must not be relayed as " +
|
|
195
|
+
"fact; B = structural or reference evidence; A = as strong as this " +
|
|
196
|
+
"graph makes it.",
|
|
197
|
+
},
|
|
198
|
+
},
|
|
199
|
+
required: ["commitSha", "builtAt", "irSchemaVersion", "resolutionFloor", "reliabilityCap"],
|
|
200
|
+
},
|
|
201
|
+
truncated: nullable({
|
|
202
|
+
type: "object",
|
|
203
|
+
properties: {
|
|
204
|
+
shown: { type: "integer" },
|
|
205
|
+
total: { type: "integer", description: "The count before the cap." },
|
|
206
|
+
more: nullable({ type: "string" }),
|
|
207
|
+
},
|
|
208
|
+
required: ["shown", "total", "more"],
|
|
209
|
+
}),
|
|
210
|
+
refusals: nullable({
|
|
211
|
+
type: "object",
|
|
212
|
+
properties: {
|
|
213
|
+
count: { type: "integer" },
|
|
214
|
+
exemplar: { type: "string" },
|
|
215
|
+
handle: { type: "string", description: "Pass to refusal_fetch for the full list." },
|
|
216
|
+
},
|
|
217
|
+
required: ["count", "exemplar", "handle"],
|
|
218
|
+
}),
|
|
219
|
+
budget: {
|
|
220
|
+
type: "object",
|
|
221
|
+
properties: {
|
|
222
|
+
elapsedMs: { type: "integer" },
|
|
223
|
+
limitMs: { type: "integer" },
|
|
224
|
+
},
|
|
225
|
+
required: ["elapsedMs", "limitMs"],
|
|
226
|
+
},
|
|
227
|
+
disclosures: {
|
|
228
|
+
type: "array",
|
|
229
|
+
items: { type: "string" },
|
|
230
|
+
description: "What this answer does not cover. Never empty when the answer is " +
|
|
231
|
+
"degraded, truncated, refused, failed or timed out.",
|
|
232
|
+
},
|
|
233
|
+
reportCategory: {
|
|
234
|
+
...nullable({ type: "string", enum: [...REPORT_CATEGORIES] }),
|
|
235
|
+
description: "Null for conclusion-tier tools, and for replies that make no claim at " +
|
|
236
|
+
"all. 'confirmed' is unreachable from this surface by construction.",
|
|
237
|
+
},
|
|
238
|
+
provenance: {
|
|
239
|
+
type: "object",
|
|
240
|
+
description: "Constant for this server. governancePipeline is always false here.",
|
|
241
|
+
properties: {
|
|
242
|
+
surface: { type: "string", enum: ["mcp"] },
|
|
243
|
+
adjudicatedBy: { type: "string", enum: ["descry"] },
|
|
244
|
+
presentedBy: { type: "string", enum: ["host-agent"] },
|
|
245
|
+
governancePipeline: { type: "boolean", enum: [false] },
|
|
246
|
+
},
|
|
247
|
+
required: ["surface", "adjudicatedBy", "presentedBy", "governancePipeline"],
|
|
248
|
+
},
|
|
249
|
+
},
|
|
250
|
+
// Every field is emitted on every path, including the ones that are always
|
|
251
|
+
// null on a fault — `renderFailed` and `renderTimedOut` build the whole
|
|
252
|
+
// envelope. So "required" here is the literal truth rather than a minimum.
|
|
253
|
+
required: [
|
|
254
|
+
"tool",
|
|
255
|
+
"toolVersion",
|
|
256
|
+
"callId",
|
|
257
|
+
"state",
|
|
258
|
+
"class",
|
|
259
|
+
"headline",
|
|
260
|
+
"data",
|
|
261
|
+
"graph",
|
|
262
|
+
"truncated",
|
|
263
|
+
"refusals",
|
|
264
|
+
"budget",
|
|
265
|
+
"disclosures",
|
|
266
|
+
"reportCategory",
|
|
267
|
+
"provenance",
|
|
268
|
+
],
|
|
269
|
+
};
|
|
270
|
+
/**
|
|
271
|
+
* The other shape a `tools/call` can return — `renderToolError`'s.
|
|
272
|
+
*
|
|
273
|
+
* Declared rather than quietly excluded. A bad argument is the most ordinary
|
|
274
|
+
* failure a tool has, it deliberately does not use the five-state envelope
|
|
275
|
+
* (see `renderToolError`), and a schema that admitted only the envelope would
|
|
276
|
+
* be one the server itself violates on that path. Declaring a union that is
|
|
277
|
+
* true beats declaring a single shape that is tidy.
|
|
278
|
+
*/
|
|
279
|
+
export const TOOL_ERROR_SCHEMA = {
|
|
280
|
+
type: "object",
|
|
281
|
+
title: "Tool argument error",
|
|
282
|
+
description: "Returned with isError when the call itself was malformed — fix the " +
|
|
283
|
+
"arguments and retry. Not a statement about the code either way.",
|
|
284
|
+
properties: {
|
|
285
|
+
tool: { type: "string" },
|
|
286
|
+
status: { type: "string", enum: ["error"] },
|
|
287
|
+
message: { type: "string" },
|
|
288
|
+
},
|
|
289
|
+
required: ["tool", "status", "message"],
|
|
290
|
+
};
|
|
291
|
+
/**
|
|
292
|
+
* What every tool declares as its `outputSchema`: the envelope or the argument
|
|
293
|
+
* error, discriminated by their required fields.
|
|
294
|
+
*
|
|
295
|
+
* One shared constant rather than a per-tool object because the shape genuinely
|
|
296
|
+
* is shared — the only per-tool part is `data`, which is open. When `data`
|
|
297
|
+
* becomes describable this becomes a function of the tool.
|
|
298
|
+
*/
|
|
299
|
+
export const TOOL_OUTPUT_SCHEMA = {
|
|
300
|
+
type: "object",
|
|
301
|
+
anyOf: [ANSWER_ENVELOPE_SCHEMA, TOOL_ERROR_SCHEMA],
|
|
302
|
+
};
|
|
85
303
|
export class DisclosureError extends Error {
|
|
86
304
|
constructor(message) {
|
|
87
305
|
super(message);
|
|
@@ -145,6 +363,26 @@ export function renderAnswer(tool, answer, options) {
|
|
|
145
363
|
'"we found nothing" from "we could not look" from "something broke"; with no reason attached ' +
|
|
146
364
|
"this reply says none of them.");
|
|
147
365
|
}
|
|
366
|
+
// B6, fifth invariant (module header): a truncated answer must carry real
|
|
367
|
+
// counts. The old fallback here was a sentinel, `{shown: -1, total: -1}` —
|
|
368
|
+
// worse than absent, because it passes a presence check and then poisons
|
|
369
|
+
// arithmetic. A tool that sets `result.truncated` without supplying
|
|
370
|
+
// `answer.truncatedDetail` has not held the two together the way
|
|
371
|
+
// `capped()` (`./capped.ts`) makes automatic, so this is a defect in that
|
|
372
|
+
// tool, caught here rather than shipped: thrown everywhere except
|
|
373
|
+
// production, where the honest degradation is `null` plus a disclosure
|
|
374
|
+
// that the count itself is unavailable — never a fabricated one.
|
|
375
|
+
let missingTruncationDetail = null;
|
|
376
|
+
if (result.truncated && answer.truncatedDetail === undefined) {
|
|
377
|
+
if (process.env["NODE_ENV"] !== "production") {
|
|
378
|
+
throw new DisclosureError(`${tool} set result.truncated without a truncatedDetail (shown/total). Build the capped ` +
|
|
379
|
+
'slice and its detail together — see capped() in "./capped.ts" — rather than capping ' +
|
|
380
|
+
"and reporting separately, where one of the two can be forgotten.");
|
|
381
|
+
}
|
|
382
|
+
missingTruncationDetail =
|
|
383
|
+
"this reply was truncated, but how much was withheld is unavailable — a defect in this " +
|
|
384
|
+
"tool, not a fact about your code";
|
|
385
|
+
}
|
|
148
386
|
const resolutionFloor = result.stamp.resolutionFloor;
|
|
149
387
|
const cap = reliabilityCap(resolutionFloor, nameLevel);
|
|
150
388
|
// Full the first time this connection meets this category, a short reference
|
|
@@ -153,6 +391,7 @@ export function renderAnswer(tool, answer, options) {
|
|
|
153
391
|
const reliability = reliabilityDisclosure(resolutionFloor, nameLevel);
|
|
154
392
|
const disclosures = [
|
|
155
393
|
...result.notes,
|
|
394
|
+
...(missingTruncationDetail === null ? [] : [missingTruncationDetail]),
|
|
156
395
|
options.disclosureLedger?.firstSighting(reliability.key) === false
|
|
157
396
|
? reliability.brief
|
|
158
397
|
: reliability.full,
|
|
@@ -163,9 +402,15 @@ export function renderAnswer(tool, answer, options) {
|
|
|
163
402
|
]
|
|
164
403
|
: []),
|
|
165
404
|
];
|
|
405
|
+
// B10 — minted by the caller before this call, so it is threaded through
|
|
406
|
+
// rather than generated here; a fallback exists only for the direct callers
|
|
407
|
+
// (tests) that have no session id sequence to draw from. See `callId`'s own
|
|
408
|
+
// doc on `AnswerEnvelope` and `RenderOptions`.
|
|
409
|
+
const callId = options.callId ?? randomUUID();
|
|
166
410
|
const build = (data, extraNotes, fitTruncation) => ({
|
|
167
411
|
tool,
|
|
168
412
|
toolVersion: options.toolVersion,
|
|
413
|
+
callId,
|
|
169
414
|
state,
|
|
170
415
|
class: options.toolClass,
|
|
171
416
|
headline: answer.headline,
|
|
@@ -179,10 +424,7 @@ export function renderAnswer(tool, answer, options) {
|
|
|
179
424
|
resolutionFloor,
|
|
180
425
|
reliabilityCap: cap,
|
|
181
426
|
},
|
|
182
|
-
truncated: fitTruncation ??
|
|
183
|
-
(!result.truncated
|
|
184
|
-
? null
|
|
185
|
-
: (answer.truncatedDetail ?? { shown: -1, total: -1, more: null })),
|
|
427
|
+
truncated: fitTruncation ?? (!result.truncated ? null : (answer.truncatedDetail ?? null)),
|
|
186
428
|
refusals: answer.refusalSummary ?? null,
|
|
187
429
|
budget: { elapsedMs: options.elapsedMs, limitMs: options.limitMs },
|
|
188
430
|
// The fit's own notes go first among the disclosures it added, ahead of
|
|
@@ -300,6 +542,7 @@ export function renderFailed(tool, message, options) {
|
|
|
300
542
|
const envelope = {
|
|
301
543
|
tool,
|
|
302
544
|
toolVersion: options.toolVersion,
|
|
545
|
+
callId: options.callId ?? randomUUID(),
|
|
303
546
|
state: "failed",
|
|
304
547
|
class: options.toolClass,
|
|
305
548
|
headline: `${tool} failed.`,
|
|
@@ -343,6 +586,7 @@ export function renderHandshake(tool, token, willDo, options) {
|
|
|
343
586
|
const envelope = {
|
|
344
587
|
tool,
|
|
345
588
|
toolVersion: options.toolVersion,
|
|
589
|
+
callId: options.callId ?? randomUUID(),
|
|
346
590
|
state: "ok",
|
|
347
591
|
class: options.toolClass,
|
|
348
592
|
headline: `Confirmation required: ${willDo}`,
|
|
@@ -383,6 +627,7 @@ export function renderTimedOut(tool, options) {
|
|
|
383
627
|
const envelope = {
|
|
384
628
|
tool,
|
|
385
629
|
toolVersion: options.toolVersion,
|
|
630
|
+
callId: options.callId ?? randomUUID(),
|
|
386
631
|
state: "timed_out",
|
|
387
632
|
class: options.toolClass,
|
|
388
633
|
headline: `${tool} timed out.`,
|
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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"}
|
|
@@ -40,6 +40,24 @@
|
|
|
40
40
|
* Every failure leaves here as a thrown `RuntimeAdapterLoadError` carrying the
|
|
41
41
|
* specifier and the reason, so the caller cannot take an adapter without also
|
|
42
42
|
* having to handle not getting one.
|
|
43
|
+
*
|
|
44
|
+
* ## B5: a bare specifier now resolves from the user's own repository first
|
|
45
|
+
*
|
|
46
|
+
* A bare specifier in a dynamic `import()` resolves against the IMPORTING
|
|
47
|
+
* MODULE's own location — this file's, unconditionally, before this fix. The
|
|
48
|
+
* documented launch (`npx -y @descryy/mcp <repo-path>`) puts this file inside
|
|
49
|
+
* an npx cache, so that root held only what npx installed; the user's
|
|
50
|
+
* repository, its `node_modules`, and the working directory were never
|
|
51
|
+
* consulted, which made the documented remedy ("install the adapter
|
|
52
|
+
* alongside this server") impossible under the documented configuration.
|
|
53
|
+
*
|
|
54
|
+
* `resolveAdapterModule` (below `loadRuntimeAdapter`) now tries three roots
|
|
55
|
+
* in order and names every one tried on failure: an already-resolved
|
|
56
|
+
* specifier is used directly; a bare specifier resolves from `repoPath` —
|
|
57
|
+
* the repository `observe_runtime` was pointed at — via `createRequire`
|
|
58
|
+
* anchored at that repo's own `package.json`; failing that, from this
|
|
59
|
+
* module's own closure, unchanged, so an adapter already declared as
|
|
60
|
+
* `@descryy/mcp`'s own dependency still resolves.
|
|
43
61
|
*/
|
|
44
62
|
import type { RuntimeAdapter } from "@descryy/runtime-backend-observation";
|
|
45
63
|
/** A runtime adapter named the way `SourceSpec` names a static one. */
|
|
@@ -59,5 +77,5 @@ export declare class RuntimeAdapterLoadError extends Error {
|
|
|
59
77
|
readonly spec: RuntimeAdapterSpec;
|
|
60
78
|
constructor(spec: RuntimeAdapterSpec, reason: string);
|
|
61
79
|
}
|
|
62
|
-
export declare function loadRuntimeAdapter(spec: RuntimeAdapterSpec): Promise<RuntimeAdapter>;
|
|
80
|
+
export declare function loadRuntimeAdapter(spec: RuntimeAdapterSpec, repoPath: string): Promise<RuntimeAdapter>;
|
|
63
81
|
//# sourceMappingURL=runtime-registry.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runtime-registry.d.ts","sourceRoot":"","sources":["../src/runtime-registry.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"runtime-registry.d.ts","sourceRoot":"","sources":["../src/runtime-registry.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4DG;AAMH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sCAAsC,CAAC;AAE3E,uEAAuE;AACvE,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,gFAAgF;IAChF,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,+DAA+D;IAC/D,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAC5C;AAED;;;;GAIG;AACH,qBAAa,uBAAwB,SAAQ,KAAK;IAChD,QAAQ,CAAC,IAAI,EAAE,kBAAkB,CAAC;gBAEtB,IAAI,EAAE,kBAAkB,EAAE,MAAM,EAAE,MAAM;CAKrD;AA8GD,wBAAsB,kBAAkB,CAAC,IAAI,EAAE,kBAAkB,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC,CA8C5G"}
|