evidential-protocol 1.0.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/index.d.ts +13 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +17 -0
- package/dist/index.js.map +1 -0
- package/dist/middleware.d.ts +90 -0
- package/dist/middleware.d.ts.map +1 -0
- package/dist/middleware.js +141 -0
- package/dist/middleware.js.map +1 -0
- package/dist/schema.d.ts +40 -0
- package/dist/schema.d.ts.map +1 -0
- package/dist/schema.js +203 -0
- package/dist/schema.js.map +1 -0
- package/dist/tests/protocol.test.d.ts +2 -0
- package/dist/tests/protocol.test.d.ts.map +1 -0
- package/dist/tests/protocol.test.js +374 -0
- package/dist/tests/protocol.test.js.map +1 -0
- package/dist/types.d.ts +125 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +28 -0
- package/dist/types.js.map +1 -0
- package/dist/validate.d.ts +26 -0
- package/dist/validate.d.ts.map +1 -0
- package/dist/validate.js +184 -0
- package/dist/validate.js.map +1 -0
- package/package.json +55 -0
- package/schema/evidential-response.schema.json +94 -0
|
@@ -0,0 +1,374 @@
|
|
|
1
|
+
import { describe, it } from "node:test";
|
|
2
|
+
import assert from "node:assert/strict";
|
|
3
|
+
import { CONFIDENCE_FLOORS, CLASS_STRENGTH, CLASS_WEIGHTS, evidence, claim, response, mcpTag, weakerClass, strongerClass, degradedClass, isExpired, computeTrustScore, parseContentMarker, extractMarkers, formatTrustDisplay, classifyTool, validateEvidence, validateResponse, validateMcpTag, wrapToolResult, buildAgentResponse, directClaim, inferredClaim, reportedClaim, conjectureClaim, inheritClaim, verifyClaim, checkDegradation, applyDegradation, } from "../index.js";
|
|
4
|
+
// ---------------------------------------------------------------------------
|
|
5
|
+
// Types & Constants
|
|
6
|
+
// ---------------------------------------------------------------------------
|
|
7
|
+
describe("Constants", () => {
|
|
8
|
+
it("confidence floors are ordered correctly", () => {
|
|
9
|
+
assert.ok(CONFIDENCE_FLOORS.direct > CONFIDENCE_FLOORS.inferred);
|
|
10
|
+
assert.ok(CONFIDENCE_FLOORS.inferred > CONFIDENCE_FLOORS.reported);
|
|
11
|
+
assert.ok(CONFIDENCE_FLOORS.reported > CONFIDENCE_FLOORS.conjecture);
|
|
12
|
+
});
|
|
13
|
+
it("class strength is ordered correctly", () => {
|
|
14
|
+
assert.ok(CLASS_STRENGTH.direct > CLASS_STRENGTH.inferred);
|
|
15
|
+
assert.ok(CLASS_STRENGTH.inferred > CLASS_STRENGTH.reported);
|
|
16
|
+
assert.ok(CLASS_STRENGTH.reported > CLASS_STRENGTH.conjecture);
|
|
17
|
+
});
|
|
18
|
+
it("class weights are ordered correctly", () => {
|
|
19
|
+
assert.ok(CLASS_WEIGHTS.direct > CLASS_WEIGHTS.inferred);
|
|
20
|
+
assert.ok(CLASS_WEIGHTS.inferred > CLASS_WEIGHTS.reported);
|
|
21
|
+
assert.ok(CLASS_WEIGHTS.reported > CLASS_WEIGHTS.conjecture);
|
|
22
|
+
});
|
|
23
|
+
});
|
|
24
|
+
// ---------------------------------------------------------------------------
|
|
25
|
+
// Schema Builders
|
|
26
|
+
// ---------------------------------------------------------------------------
|
|
27
|
+
describe("evidence()", () => {
|
|
28
|
+
it("builds with defaults", () => {
|
|
29
|
+
const ev = evidence("direct", "solana-rpc");
|
|
30
|
+
assert.equal(ev.class, "direct");
|
|
31
|
+
assert.equal(ev.source, "solana-rpc");
|
|
32
|
+
assert.equal(ev.confidence, 0.9);
|
|
33
|
+
assert.ok(ev.timestamp);
|
|
34
|
+
});
|
|
35
|
+
it("accepts overrides", () => {
|
|
36
|
+
const ev = evidence("inferred", "log-analysis", {
|
|
37
|
+
confidence: 0.8,
|
|
38
|
+
reasoning: "pattern match",
|
|
39
|
+
});
|
|
40
|
+
assert.equal(ev.confidence, 0.8);
|
|
41
|
+
assert.equal(ev.reasoning, "pattern match");
|
|
42
|
+
});
|
|
43
|
+
});
|
|
44
|
+
describe("claim()", () => {
|
|
45
|
+
it("builds a claim with evidence", () => {
|
|
46
|
+
const c = claim("balance is 2.5 SOL", evidence("direct", "rpc"));
|
|
47
|
+
assert.equal(c.claim, "balance is 2.5 SOL");
|
|
48
|
+
assert.equal(c.evidence.class, "direct");
|
|
49
|
+
});
|
|
50
|
+
it("includes refs when provided", () => {
|
|
51
|
+
const c = claim("test", evidence("direct", "rpc"), ["ref1", "ref2"]);
|
|
52
|
+
assert.deepEqual(c.refs, ["ref1", "ref2"]);
|
|
53
|
+
});
|
|
54
|
+
});
|
|
55
|
+
describe("response()", () => {
|
|
56
|
+
it("builds a full response with aggregates", () => {
|
|
57
|
+
const claims = [
|
|
58
|
+
directClaim("fact A", "rpc"),
|
|
59
|
+
conjectureClaim("guess B", "model", "no data"),
|
|
60
|
+
];
|
|
61
|
+
const resp = response("test-agent", { ok: true }, claims);
|
|
62
|
+
assert.equal(resp.ep_version, "1.0");
|
|
63
|
+
assert.equal(resp.producer, "test-agent");
|
|
64
|
+
assert.equal(resp.aggregate_class, "conjecture"); // lowest wins
|
|
65
|
+
assert.equal(resp.claims.length, 2);
|
|
66
|
+
});
|
|
67
|
+
});
|
|
68
|
+
describe("mcpTag()", () => {
|
|
69
|
+
it("builds an MCP evidence tag", () => {
|
|
70
|
+
const tag = mcpTag("direct", "solana-rpc:getBalance", { ttl: 30 });
|
|
71
|
+
assert.equal(tag.ep_version, "1.0");
|
|
72
|
+
assert.equal(tag.class, "direct");
|
|
73
|
+
assert.equal(tag.ttl, 30);
|
|
74
|
+
});
|
|
75
|
+
});
|
|
76
|
+
// ---------------------------------------------------------------------------
|
|
77
|
+
// Class Utilities
|
|
78
|
+
// ---------------------------------------------------------------------------
|
|
79
|
+
describe("weakerClass()", () => {
|
|
80
|
+
it("returns the weaker class", () => {
|
|
81
|
+
assert.equal(weakerClass("direct", "conjecture"), "conjecture");
|
|
82
|
+
assert.equal(weakerClass("inferred", "reported"), "reported");
|
|
83
|
+
assert.equal(weakerClass("direct", "direct"), "direct");
|
|
84
|
+
});
|
|
85
|
+
});
|
|
86
|
+
describe("strongerClass()", () => {
|
|
87
|
+
it("returns the stronger class", () => {
|
|
88
|
+
assert.equal(strongerClass("direct", "conjecture"), "direct");
|
|
89
|
+
assert.equal(strongerClass("reported", "inferred"), "inferred");
|
|
90
|
+
});
|
|
91
|
+
});
|
|
92
|
+
// ---------------------------------------------------------------------------
|
|
93
|
+
// Degradation
|
|
94
|
+
// ---------------------------------------------------------------------------
|
|
95
|
+
describe("degradedClass()", () => {
|
|
96
|
+
it("does not degrade fresh direct evidence", () => {
|
|
97
|
+
const ev = evidence("direct", "rpc", { ttl: 3600 });
|
|
98
|
+
assert.equal(degradedClass(ev), "direct");
|
|
99
|
+
});
|
|
100
|
+
it("degrades expired direct to reported", () => {
|
|
101
|
+
const past = new Date(Date.now() - 120_000).toISOString(); // 2min ago
|
|
102
|
+
const ev = evidence("direct", "rpc", { ttl: 60, timestamp: past }); // 60s TTL
|
|
103
|
+
assert.equal(degradedClass(ev), "reported");
|
|
104
|
+
});
|
|
105
|
+
it("degrades 25h-old direct to reported", () => {
|
|
106
|
+
const past = new Date(Date.now() - 25 * 3600_000).toISOString();
|
|
107
|
+
const ev = evidence("direct", "rpc", { timestamp: past });
|
|
108
|
+
assert.equal(degradedClass(ev), "reported");
|
|
109
|
+
});
|
|
110
|
+
it("degrades 25h-old reported to conjecture", () => {
|
|
111
|
+
const past = new Date(Date.now() - 25 * 3600_000).toISOString();
|
|
112
|
+
const ev = evidence("reported", "api", {
|
|
113
|
+
confidence: 0.5,
|
|
114
|
+
timestamp: past,
|
|
115
|
+
});
|
|
116
|
+
assert.equal(degradedClass(ev), "conjecture");
|
|
117
|
+
});
|
|
118
|
+
});
|
|
119
|
+
describe("isExpired()", () => {
|
|
120
|
+
it("returns false when no TTL", () => {
|
|
121
|
+
assert.equal(isExpired(evidence("direct", "rpc")), false);
|
|
122
|
+
});
|
|
123
|
+
it("returns true when past TTL", () => {
|
|
124
|
+
const past = new Date(Date.now() - 120_000).toISOString();
|
|
125
|
+
assert.equal(isExpired(evidence("direct", "rpc", { ttl: 60, timestamp: past })), true);
|
|
126
|
+
});
|
|
127
|
+
});
|
|
128
|
+
// ---------------------------------------------------------------------------
|
|
129
|
+
// Trust Score
|
|
130
|
+
// ---------------------------------------------------------------------------
|
|
131
|
+
describe("computeTrustScore()", () => {
|
|
132
|
+
it("returns 0 for empty claims", () => {
|
|
133
|
+
const score = computeTrustScore([]);
|
|
134
|
+
assert.equal(score.score, 0);
|
|
135
|
+
assert.equal(score.requires_review, true);
|
|
136
|
+
});
|
|
137
|
+
it("computes high score for all-direct claims", () => {
|
|
138
|
+
const claims = [directClaim("a", "rpc"), directClaim("b", "rpc")];
|
|
139
|
+
const score = computeTrustScore(claims);
|
|
140
|
+
assert.ok(score.score > 0.8);
|
|
141
|
+
assert.equal(score.requires_review, false);
|
|
142
|
+
});
|
|
143
|
+
it("flags low-trust responses for review", () => {
|
|
144
|
+
const claims = [
|
|
145
|
+
conjectureClaim("guess", "model", "no data"),
|
|
146
|
+
conjectureClaim("another guess", "model", "still no data"),
|
|
147
|
+
];
|
|
148
|
+
const score = computeTrustScore(claims);
|
|
149
|
+
assert.ok(score.score < 0.5);
|
|
150
|
+
assert.equal(score.requires_review, true);
|
|
151
|
+
});
|
|
152
|
+
});
|
|
153
|
+
describe("formatTrustDisplay()", () => {
|
|
154
|
+
it("formats a trust score display string", () => {
|
|
155
|
+
const score = computeTrustScore([
|
|
156
|
+
directClaim("a", "rpc"),
|
|
157
|
+
inferredClaim("b", "logs", "pattern"),
|
|
158
|
+
conjectureClaim("c", "model", "guess"),
|
|
159
|
+
]);
|
|
160
|
+
const display = formatTrustDisplay(score);
|
|
161
|
+
assert.ok(display.includes("●"));
|
|
162
|
+
assert.ok(display.includes("Trust:"));
|
|
163
|
+
});
|
|
164
|
+
});
|
|
165
|
+
// ---------------------------------------------------------------------------
|
|
166
|
+
// Content Markers
|
|
167
|
+
// ---------------------------------------------------------------------------
|
|
168
|
+
describe("parseContentMarker()", () => {
|
|
169
|
+
it("parses a valid marker", () => {
|
|
170
|
+
const m = parseContentMarker("[ev:direct|solana-rpc|0.95]");
|
|
171
|
+
assert.deepEqual(m, {
|
|
172
|
+
class: "direct",
|
|
173
|
+
source: "solana-rpc",
|
|
174
|
+
confidence: 0.95,
|
|
175
|
+
});
|
|
176
|
+
});
|
|
177
|
+
it("returns null for invalid markers", () => {
|
|
178
|
+
assert.equal(parseContentMarker("[ev:invalid|x|0.5]"), null);
|
|
179
|
+
assert.equal(parseContentMarker("not a marker"), null);
|
|
180
|
+
});
|
|
181
|
+
});
|
|
182
|
+
describe("extractMarkers()", () => {
|
|
183
|
+
it("extracts multiple markers from content", () => {
|
|
184
|
+
const text = "Price is $100 [ev:direct|coingecko|0.9] and trending up [ev:inferred|analysis|0.6]";
|
|
185
|
+
const markers = extractMarkers(text);
|
|
186
|
+
assert.equal(markers.length, 2);
|
|
187
|
+
assert.equal(markers[0].class, "direct");
|
|
188
|
+
assert.equal(markers[1].class, "inferred");
|
|
189
|
+
});
|
|
190
|
+
});
|
|
191
|
+
// ---------------------------------------------------------------------------
|
|
192
|
+
// Tool Classification
|
|
193
|
+
// ---------------------------------------------------------------------------
|
|
194
|
+
describe("classifyTool()", () => {
|
|
195
|
+
it("matches exact tool names", () => {
|
|
196
|
+
const c = classifyTool("Read");
|
|
197
|
+
assert.equal(c?.default_class, "direct");
|
|
198
|
+
});
|
|
199
|
+
it("matches wildcard patterns", () => {
|
|
200
|
+
const c = classifyTool("solana-rpc:getBalance");
|
|
201
|
+
assert.equal(c?.default_class, "direct");
|
|
202
|
+
assert.equal(c?.default_ttl, 30);
|
|
203
|
+
});
|
|
204
|
+
it("returns undefined for unknown tools", () => {
|
|
205
|
+
assert.equal(classifyTool("unknown-tool"), undefined);
|
|
206
|
+
});
|
|
207
|
+
});
|
|
208
|
+
// ---------------------------------------------------------------------------
|
|
209
|
+
// Validation
|
|
210
|
+
// ---------------------------------------------------------------------------
|
|
211
|
+
describe("validateEvidence()", () => {
|
|
212
|
+
it("passes for valid direct evidence", () => {
|
|
213
|
+
const errors = validateEvidence(evidence("direct", "rpc", { ttl: 30 }));
|
|
214
|
+
const hard = errors.filter((e) => e.severity === "error");
|
|
215
|
+
assert.equal(hard.length, 0);
|
|
216
|
+
});
|
|
217
|
+
it("fails when confidence below floor", () => {
|
|
218
|
+
const ev = { ...evidence("direct", "rpc"), confidence: 0.5 };
|
|
219
|
+
const errors = validateEvidence(ev);
|
|
220
|
+
assert.ok(errors.some((e) => e.rule === "confidence-floor"));
|
|
221
|
+
});
|
|
222
|
+
it("fails conjecture without reasoning", () => {
|
|
223
|
+
const ev = evidence("conjecture", "model", { confidence: 0.2 });
|
|
224
|
+
const errors = validateEvidence(ev);
|
|
225
|
+
assert.ok(errors.some((e) => e.rule === "conjecture-reasoning"));
|
|
226
|
+
});
|
|
227
|
+
it("warns direct without TTL", () => {
|
|
228
|
+
const ev = evidence("direct", "rpc");
|
|
229
|
+
const warnings = validateEvidence(ev).filter((e) => e.severity === "warning");
|
|
230
|
+
assert.ok(warnings.some((e) => e.rule === "direct-ttl"));
|
|
231
|
+
});
|
|
232
|
+
});
|
|
233
|
+
describe("validateResponse()", () => {
|
|
234
|
+
it("passes for a valid response", () => {
|
|
235
|
+
const resp = response("test", { ok: true }, [
|
|
236
|
+
directClaim("fact", "rpc"),
|
|
237
|
+
]);
|
|
238
|
+
const result = validateResponse(resp);
|
|
239
|
+
assert.equal(result.valid, true);
|
|
240
|
+
});
|
|
241
|
+
it("fails with no claims", () => {
|
|
242
|
+
const resp = response("test", {}, []);
|
|
243
|
+
// Manually set empty claims to bypass builder
|
|
244
|
+
resp.claims = [];
|
|
245
|
+
const result = validateResponse(resp);
|
|
246
|
+
assert.equal(result.valid, false);
|
|
247
|
+
assert.ok(result.errors.some((e) => e.rule === "claims-required"));
|
|
248
|
+
});
|
|
249
|
+
it("detects aggregate class mismatch", () => {
|
|
250
|
+
const resp = response("test", {}, [
|
|
251
|
+
directClaim("a", "rpc"),
|
|
252
|
+
conjectureClaim("b", "model", "guess"),
|
|
253
|
+
]);
|
|
254
|
+
resp.aggregate_class = "direct"; // wrong — should be conjecture
|
|
255
|
+
const result = validateResponse(resp);
|
|
256
|
+
assert.ok(result.errors.some((e) => e.rule === "aggregate-class-consistency"));
|
|
257
|
+
});
|
|
258
|
+
});
|
|
259
|
+
describe("validateMcpTag()", () => {
|
|
260
|
+
it("passes for valid tag", () => {
|
|
261
|
+
const tag = mcpTag("direct", "rpc", { ttl: 30 });
|
|
262
|
+
const result = validateMcpTag(tag);
|
|
263
|
+
assert.equal(result.valid, true);
|
|
264
|
+
});
|
|
265
|
+
});
|
|
266
|
+
// ---------------------------------------------------------------------------
|
|
267
|
+
// Middleware
|
|
268
|
+
// ---------------------------------------------------------------------------
|
|
269
|
+
describe("wrapToolResult()", () => {
|
|
270
|
+
it("wraps with correct class for known tools", () => {
|
|
271
|
+
const wrapped = wrapToolResult("Read", { content: "hello" });
|
|
272
|
+
assert.equal(wrapped._evidence.class, "direct");
|
|
273
|
+
});
|
|
274
|
+
it("defaults to reported for unknown tools", () => {
|
|
275
|
+
const wrapped = wrapToolResult("mystery-tool", 42);
|
|
276
|
+
assert.equal(wrapped._evidence.class, "reported");
|
|
277
|
+
});
|
|
278
|
+
it("respects class override", () => {
|
|
279
|
+
const wrapped = wrapToolResult("Read", "x", {
|
|
280
|
+
classOverride: "conjecture",
|
|
281
|
+
});
|
|
282
|
+
assert.equal(wrapped._evidence.class, "conjecture");
|
|
283
|
+
});
|
|
284
|
+
});
|
|
285
|
+
describe("buildAgentResponse()", () => {
|
|
286
|
+
it("builds a valid response", () => {
|
|
287
|
+
const resp = buildAgentResponse("agent-1", { count: 3 }, [
|
|
288
|
+
directClaim("3 items found", "db-query"),
|
|
289
|
+
]);
|
|
290
|
+
assert.equal(resp.producer, "agent-1");
|
|
291
|
+
assert.equal(resp.aggregate_class, "direct");
|
|
292
|
+
});
|
|
293
|
+
});
|
|
294
|
+
describe("Claim shorthand builders", () => {
|
|
295
|
+
it("directClaim sets class and TTL", () => {
|
|
296
|
+
const c = directClaim("fact", "rpc");
|
|
297
|
+
assert.equal(c.evidence.class, "direct");
|
|
298
|
+
assert.ok(c.evidence.ttl);
|
|
299
|
+
});
|
|
300
|
+
it("inferredClaim includes reasoning", () => {
|
|
301
|
+
const c = inferredClaim("deduction", "logs", "pattern match");
|
|
302
|
+
assert.equal(c.evidence.class, "inferred");
|
|
303
|
+
assert.equal(c.evidence.reasoning, "pattern match");
|
|
304
|
+
});
|
|
305
|
+
it("conjectureClaim requires reasoning", () => {
|
|
306
|
+
const c = conjectureClaim("guess", "model", "no data available");
|
|
307
|
+
assert.equal(c.evidence.class, "conjecture");
|
|
308
|
+
assert.equal(c.evidence.reasoning, "no data available");
|
|
309
|
+
});
|
|
310
|
+
});
|
|
311
|
+
// ---------------------------------------------------------------------------
|
|
312
|
+
// Inter-Agent Propagation
|
|
313
|
+
// ---------------------------------------------------------------------------
|
|
314
|
+
describe("inheritClaim()", () => {
|
|
315
|
+
it("does not upgrade evidence class", () => {
|
|
316
|
+
const original = reportedClaim("data from API", "external-api");
|
|
317
|
+
const inherited = inheritClaim(original, "agent-B");
|
|
318
|
+
assert.equal(inherited.evidence.class, "reported"); // stays reported, not upgraded
|
|
319
|
+
});
|
|
320
|
+
it("applies confidence penalty", () => {
|
|
321
|
+
const original = directClaim("fact", "rpc", { confidence: 0.95 });
|
|
322
|
+
const inherited = inheritClaim(original, "agent-B");
|
|
323
|
+
assert.ok(inherited.evidence.confidence < 0.95);
|
|
324
|
+
});
|
|
325
|
+
it("cites the original source", () => {
|
|
326
|
+
const original = directClaim("fact", "rpc");
|
|
327
|
+
const inherited = inheritClaim(original, "agent-B");
|
|
328
|
+
assert.ok(inherited.evidence.source.includes("rpc"));
|
|
329
|
+
assert.ok(inherited.evidence.source.includes("agent-B"));
|
|
330
|
+
});
|
|
331
|
+
});
|
|
332
|
+
describe("verifyClaim()", () => {
|
|
333
|
+
it("allows upgrade with independent verification", () => {
|
|
334
|
+
const original = reportedClaim("token supply is 1M", "coingecko");
|
|
335
|
+
const verified = verifyClaim(original, "verifier-agent", "solana-rpc:getTokenSupply", "direct");
|
|
336
|
+
assert.equal(verified.evidence.class, "direct");
|
|
337
|
+
assert.ok(verified.refs?.includes("verified-by:verifier-agent"));
|
|
338
|
+
});
|
|
339
|
+
});
|
|
340
|
+
// ---------------------------------------------------------------------------
|
|
341
|
+
// Degradation Engine
|
|
342
|
+
// ---------------------------------------------------------------------------
|
|
343
|
+
describe("checkDegradation()", () => {
|
|
344
|
+
it("returns empty for fresh evidence", () => {
|
|
345
|
+
const resp = response("test", {}, [directClaim("fact", "rpc")]);
|
|
346
|
+
const events = checkDegradation(resp);
|
|
347
|
+
assert.equal(events.length, 0);
|
|
348
|
+
});
|
|
349
|
+
it("detects TTL expiry", () => {
|
|
350
|
+
const past = new Date(Date.now() - 120_000).toISOString();
|
|
351
|
+
const claims = [
|
|
352
|
+
claim("stale fact", evidence("direct", "rpc", { ttl: 60, timestamp: past })),
|
|
353
|
+
];
|
|
354
|
+
const resp = response("test", {}, claims);
|
|
355
|
+
const events = checkDegradation(resp);
|
|
356
|
+
assert.equal(events.length, 1);
|
|
357
|
+
assert.equal(events[0].from_class, "direct");
|
|
358
|
+
assert.equal(events[0].to_class, "reported");
|
|
359
|
+
});
|
|
360
|
+
});
|
|
361
|
+
describe("applyDegradation()", () => {
|
|
362
|
+
it("returns degraded copy without mutating original", () => {
|
|
363
|
+
const past = new Date(Date.now() - 120_000).toISOString();
|
|
364
|
+
const claims = [
|
|
365
|
+
claim("stale", evidence("direct", "rpc", { ttl: 60, timestamp: past })),
|
|
366
|
+
];
|
|
367
|
+
const original = response("test", {}, claims);
|
|
368
|
+
const degraded = applyDegradation(original);
|
|
369
|
+
assert.equal(original.claims[0].evidence.class, "direct"); // unchanged
|
|
370
|
+
assert.equal(degraded.claims[0].evidence.class, "reported"); // degraded
|
|
371
|
+
assert.equal(degraded.aggregate_class, "reported");
|
|
372
|
+
});
|
|
373
|
+
});
|
|
374
|
+
//# sourceMappingURL=protocol.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"protocol.test.js","sourceRoot":"","sources":["../../src/tests/protocol.test.ts"],"names":[],"mappings":"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"}
|
package/dist/types.d.ts
ADDED
|
@@ -0,0 +1,125 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Evidential Protocol v1.0 (EP-1)
|
|
3
|
+
*
|
|
4
|
+
* Matsés-inspired evidential metadata for AI systems.
|
|
5
|
+
* Every claim must declare its epistemic basis.
|
|
6
|
+
*/
|
|
7
|
+
/** The four evidence classes, ordered by strength. */
|
|
8
|
+
export type EvidenceClass = "direct" | "inferred" | "reported" | "conjecture";
|
|
9
|
+
/** Minimum confidence floors per class. */
|
|
10
|
+
export declare const CONFIDENCE_FLOORS: Record<EvidenceClass, number>;
|
|
11
|
+
/** Weights for trust score computation. */
|
|
12
|
+
export declare const CLASS_WEIGHTS: Record<EvidenceClass, number>;
|
|
13
|
+
/** Class strength ordering (higher = stronger). */
|
|
14
|
+
export declare const CLASS_STRENGTH: Record<EvidenceClass, number>;
|
|
15
|
+
/** A supporting source within compound evidence. */
|
|
16
|
+
export interface EvidenceSource {
|
|
17
|
+
/** Evidence class of this source. */
|
|
18
|
+
class: EvidenceClass;
|
|
19
|
+
/** What produced this evidence. */
|
|
20
|
+
source: string;
|
|
21
|
+
/** Human-readable detail. */
|
|
22
|
+
detail: string;
|
|
23
|
+
/** When this source was gathered. ISO 8601. */
|
|
24
|
+
timestamp?: string;
|
|
25
|
+
}
|
|
26
|
+
/** Core evidence object attached to every claim. */
|
|
27
|
+
export interface Evidence {
|
|
28
|
+
/** Primary evidence class. */
|
|
29
|
+
class: EvidenceClass;
|
|
30
|
+
/** Confidence score 0.0–1.0. Must be >= class floor. */
|
|
31
|
+
confidence: number;
|
|
32
|
+
/** What produced this evidence (tool name, agent ID, API endpoint). */
|
|
33
|
+
source: string;
|
|
34
|
+
/** Human-readable reasoning. REQUIRED for conjecture class. */
|
|
35
|
+
reasoning?: string;
|
|
36
|
+
/** When the evidence was gathered. ISO 8601. */
|
|
37
|
+
timestamp: string;
|
|
38
|
+
/** Time-to-live in seconds. After expiry, class degrades to 'reported'. */
|
|
39
|
+
ttl?: number;
|
|
40
|
+
/** For compound evidence: multiple supporting sources. */
|
|
41
|
+
sources?: EvidenceSource[];
|
|
42
|
+
}
|
|
43
|
+
/** A single assertion with its epistemic basis. */
|
|
44
|
+
export interface EvidentialClaim {
|
|
45
|
+
/** The assertion being made. */
|
|
46
|
+
claim: string;
|
|
47
|
+
/** Epistemic basis for this claim. */
|
|
48
|
+
evidence: Evidence;
|
|
49
|
+
/** Optional links to raw data backing this claim. */
|
|
50
|
+
refs?: string[];
|
|
51
|
+
}
|
|
52
|
+
/** Full evidential response wrapping any agent or tool output. */
|
|
53
|
+
export interface EvidentialResponse<T = unknown> {
|
|
54
|
+
/** Protocol version. */
|
|
55
|
+
ep_version: "1.0";
|
|
56
|
+
/** The output payload. */
|
|
57
|
+
data: T;
|
|
58
|
+
/** All claims made in this response. */
|
|
59
|
+
claims: EvidentialClaim[];
|
|
60
|
+
/** Lowest evidence class among all claims. */
|
|
61
|
+
aggregate_class: EvidenceClass;
|
|
62
|
+
/** Weighted mean confidence across claims. */
|
|
63
|
+
aggregate_confidence: number;
|
|
64
|
+
/** Agent or tool that produced this response. */
|
|
65
|
+
producer: string;
|
|
66
|
+
/** ISO 8601 timestamp. */
|
|
67
|
+
produced_at: string;
|
|
68
|
+
}
|
|
69
|
+
/** Lightweight evidence tag for MCP tool responses. */
|
|
70
|
+
export interface McpEvidenceTag {
|
|
71
|
+
/** Protocol version. */
|
|
72
|
+
ep_version: "1.0";
|
|
73
|
+
/** Evidence class. */
|
|
74
|
+
class: EvidenceClass;
|
|
75
|
+
/** Confidence score. */
|
|
76
|
+
confidence: number;
|
|
77
|
+
/** Source identifier. */
|
|
78
|
+
source: string;
|
|
79
|
+
/** ISO 8601 timestamp. */
|
|
80
|
+
timestamp: string;
|
|
81
|
+
/** TTL in seconds. */
|
|
82
|
+
ttl?: number;
|
|
83
|
+
/** Reasoning (required for conjecture). */
|
|
84
|
+
reasoning?: string;
|
|
85
|
+
}
|
|
86
|
+
/** Inline evidence marker for content pipelines. Format: [ev:class|source|confidence] */
|
|
87
|
+
export interface ContentEvidenceMarker {
|
|
88
|
+
class: EvidenceClass;
|
|
89
|
+
source: string;
|
|
90
|
+
confidence: number;
|
|
91
|
+
}
|
|
92
|
+
/** Trust score result for a set of claims. */
|
|
93
|
+
export interface TrustScore {
|
|
94
|
+
/** Weighted trust score 0.0–1.0. */
|
|
95
|
+
score: number;
|
|
96
|
+
/** Total claims evaluated. */
|
|
97
|
+
total_claims: number;
|
|
98
|
+
/** Breakdown by class. */
|
|
99
|
+
breakdown: Record<EvidenceClass, number>;
|
|
100
|
+
/** Whether human review is required (score < 0.5). */
|
|
101
|
+
requires_review: boolean;
|
|
102
|
+
}
|
|
103
|
+
/** MCP tool classification entry. */
|
|
104
|
+
export interface ToolClassification {
|
|
105
|
+
/** Tool name or pattern (supports glob). */
|
|
106
|
+
tool: string;
|
|
107
|
+
/** Default evidence class for this tool's outputs. */
|
|
108
|
+
default_class: EvidenceClass;
|
|
109
|
+
/** Default TTL in seconds. */
|
|
110
|
+
default_ttl?: number;
|
|
111
|
+
}
|
|
112
|
+
/** Evidence degradation event. */
|
|
113
|
+
export interface DegradationEvent {
|
|
114
|
+
/** Claim that degraded. */
|
|
115
|
+
claim_id: string;
|
|
116
|
+
/** Previous class. */
|
|
117
|
+
from_class: EvidenceClass;
|
|
118
|
+
/** New class after degradation. */
|
|
119
|
+
to_class: EvidenceClass;
|
|
120
|
+
/** Reason for degradation. */
|
|
121
|
+
reason: "ttl_expired" | "stale_24h" | "source_unavailable";
|
|
122
|
+
/** When degradation occurred. */
|
|
123
|
+
timestamp: string;
|
|
124
|
+
}
|
|
125
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
|
package/dist/types.js
ADDED
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Evidential Protocol v1.0 (EP-1)
|
|
3
|
+
*
|
|
4
|
+
* Matsés-inspired evidential metadata for AI systems.
|
|
5
|
+
* Every claim must declare its epistemic basis.
|
|
6
|
+
*/
|
|
7
|
+
/** Minimum confidence floors per class. */
|
|
8
|
+
export const CONFIDENCE_FLOORS = {
|
|
9
|
+
direct: 0.9,
|
|
10
|
+
inferred: 0.5,
|
|
11
|
+
reported: 0.3,
|
|
12
|
+
conjecture: 0.1,
|
|
13
|
+
};
|
|
14
|
+
/** Weights for trust score computation. */
|
|
15
|
+
export const CLASS_WEIGHTS = {
|
|
16
|
+
direct: 1.0,
|
|
17
|
+
inferred: 0.7,
|
|
18
|
+
reported: 0.4,
|
|
19
|
+
conjecture: 0.15,
|
|
20
|
+
};
|
|
21
|
+
/** Class strength ordering (higher = stronger). */
|
|
22
|
+
export const CLASS_STRENGTH = {
|
|
23
|
+
direct: 4,
|
|
24
|
+
inferred: 3,
|
|
25
|
+
reported: 2,
|
|
26
|
+
conjecture: 1,
|
|
27
|
+
};
|
|
28
|
+
//# sourceMappingURL=types.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAKH,2CAA2C;AAC3C,MAAM,CAAC,MAAM,iBAAiB,GAAkC;IAC9D,MAAM,EAAE,GAAG;IACX,QAAQ,EAAE,GAAG;IACb,QAAQ,EAAE,GAAG;IACb,UAAU,EAAE,GAAG;CACP,CAAC;AAEX,2CAA2C;AAC3C,MAAM,CAAC,MAAM,aAAa,GAAkC;IAC1D,MAAM,EAAE,GAAG;IACX,QAAQ,EAAE,GAAG;IACb,QAAQ,EAAE,GAAG;IACb,UAAU,EAAE,IAAI;CACR,CAAC;AAEX,mDAAmD;AACnD,MAAM,CAAC,MAAM,cAAc,GAAkC;IAC3D,MAAM,EAAE,CAAC;IACT,QAAQ,EAAE,CAAC;IACX,QAAQ,EAAE,CAAC;IACX,UAAU,EAAE,CAAC;CACL,CAAC"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* EP-1 Validation — enforces protocol rules on evidential responses.
|
|
3
|
+
*/
|
|
4
|
+
import { type Evidence, type EvidentialClaim, type EvidentialResponse, type McpEvidenceTag } from "./types.js";
|
|
5
|
+
/** Validation error with structured context. */
|
|
6
|
+
export interface ValidationError {
|
|
7
|
+
rule: string;
|
|
8
|
+
message: string;
|
|
9
|
+
path?: string;
|
|
10
|
+
severity: "error" | "warning";
|
|
11
|
+
}
|
|
12
|
+
/** Validation result. */
|
|
13
|
+
export interface ValidationResult {
|
|
14
|
+
valid: boolean;
|
|
15
|
+
errors: ValidationError[];
|
|
16
|
+
warnings: ValidationError[];
|
|
17
|
+
}
|
|
18
|
+
/** Validate a single Evidence object. */
|
|
19
|
+
export declare function validateEvidence(evidence: Evidence, path?: string): ValidationError[];
|
|
20
|
+
/** Validate a single EvidentialClaim. */
|
|
21
|
+
export declare function validateClaim(claim: EvidentialClaim, index: number): ValidationError[];
|
|
22
|
+
/** Validate a full EvidentialResponse. */
|
|
23
|
+
export declare function validateResponse(response: EvidentialResponse): ValidationResult;
|
|
24
|
+
/** Validate an MCP evidence tag. */
|
|
25
|
+
export declare function validateMcpTag(tag: McpEvidenceTag): ValidationResult;
|
|
26
|
+
//# sourceMappingURL=validate.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"validate.d.ts","sourceRoot":"","sources":["../src/validate.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EACL,KAAK,QAAQ,EACb,KAAK,eAAe,EACpB,KAAK,kBAAkB,EACvB,KAAK,cAAc,EAGpB,MAAM,YAAY,CAAC;AAEpB,gDAAgD;AAChD,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,OAAO,GAAG,SAAS,CAAC;CAC/B;AAED,yBAAyB;AACzB,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,OAAO,CAAC;IACf,MAAM,EAAE,eAAe,EAAE,CAAC;IAC1B,QAAQ,EAAE,eAAe,EAAE,CAAC;CAC7B;AAED,yCAAyC;AACzC,wBAAgB,gBAAgB,CAC9B,QAAQ,EAAE,QAAQ,EAClB,IAAI,SAAa,GAChB,eAAe,EAAE,CA4EnB;AAED,yCAAyC;AACzC,wBAAgB,aAAa,CAC3B,KAAK,EAAE,eAAe,EACtB,KAAK,EAAE,MAAM,GACZ,eAAe,EAAE,CAyBnB;AAED,0CAA0C;AAC1C,wBAAgB,gBAAgB,CAC9B,QAAQ,EAAE,kBAAkB,GAC3B,gBAAgB,CAwElB;AAED,oCAAoC;AACpC,wBAAgB,cAAc,CAAC,GAAG,EAAE,cAAc,GAAG,gBAAgB,CA6BpE"}
|