@kya-os/mcp-i-core 1.2.2-canary.34 → 1.2.2-canary.36
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/.turbo/turbo-build.log +1 -1
- package/.turbo/turbo-test$colon$coverage.log +2443 -2161
- package/.turbo/turbo-test.log +2666 -0
- package/coverage/coverage-final.json +2 -2
- package/dist/services/access-control.service.d.ts.map +1 -1
- package/dist/services/access-control.service.js +35 -25
- package/dist/services/access-control.service.js.map +1 -1
- package/package.json +2 -2
- package/src/services/__tests__/access-control.proof-response-validation.test.ts +95 -84
- package/src/services/access-control.service.ts +82 -57
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"access-control.service.d.ts","sourceRoot":"","sources":["../../src/services/access-control.service.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,KAAK,EACV,uBAAuB,EACvB,2BAA2B,EAC3B,+BAA+B,EAC/B,sBAAsB,EACtB,uBAAuB,EACxB,MAAM,mCAAmC,CAAC;AAS3C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AASvD,MAAM,WAAW,6BAA6B;IAC5C,2EAA2E;IAC3E,OAAO,EAAE,MAAM,CAAC;IAEhB,iCAAiC;IACjC,MAAM,EAAE,MAAM,CAAC;IAEf,8CAA8C;IAC9C,aAAa,EAAE,aAAa,CAAC;IAE7B,+CAA+C;IAC/C,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO,KAAK,IAAI,CAAC;IAEnD,mCAAmC;IACnC,WAAW,CAAC,EAAE;QACZ,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,cAAc,CAAC,EAAE,MAAM,CAAC;QACxB,UAAU,CAAC,EAAE,MAAM,CAAC;KACrB,CAAC;IAEF,6DAA6D;IAC7D,aAAa,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CAC/C;AAED,MAAM,WAAW,8BAA8B;IAC7C,oCAAoC;IACpC,YAAY,EAAE,MAAM,CAAC;IAErB,gCAAgC;IAChC,UAAU,EAAE,MAAM,CAAC;IAEnB,kCAAkC;IAClC,UAAU,EAAE,MAAM,CAAC;CACpB;AA0BD;;;;;GAKG;AACH,qBAAa,uBAAuB;IAClC,OAAO,CAAC,MAAM,CAAwC;IACtD,OAAO,CAAC,OAAO,CAAiC;gBAEpC,MAAM,EAAE,6BAA6B;IAwBjD;;;;OAIG;IACG,WAAW,CAAC,OAAO,EAAE;QACzB,QAAQ,EAAE,MAAM,CAAC;KAClB,GAAG,OAAO,CAAC,+BAA+B,CAAC;IAkD5C;;;;OAIG;IACG,gBAAgB,CACpB,OAAO,EAAE,uBAAuB,EAChC,OAAO,CAAC,EAAE;QACR,eAAe,CAAC,EAAE,MAAM,CAAC;QACzB,aAAa,CAAC,EAAE,MAAM,CAAC;KACxB,GACA,OAAO,CAAC,2BAA2B,CAAC;IAwHvC;;;;OAIG;IACG,YAAY,CAChB,OAAO,EAAE,sBAAsB,GAC9B,OAAO,CAAC,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"access-control.service.d.ts","sourceRoot":"","sources":["../../src/services/access-control.service.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,KAAK,EACV,uBAAuB,EACvB,2BAA2B,EAC3B,+BAA+B,EAC/B,sBAAsB,EACtB,uBAAuB,EACxB,MAAM,mCAAmC,CAAC;AAS3C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AASvD,MAAM,WAAW,6BAA6B;IAC5C,2EAA2E;IAC3E,OAAO,EAAE,MAAM,CAAC;IAEhB,iCAAiC;IACjC,MAAM,EAAE,MAAM,CAAC;IAEf,8CAA8C;IAC9C,aAAa,EAAE,aAAa,CAAC;IAE7B,+CAA+C;IAC/C,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO,KAAK,IAAI,CAAC;IAEnD,mCAAmC;IACnC,WAAW,CAAC,EAAE;QACZ,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,cAAc,CAAC,EAAE,MAAM,CAAC;QACxB,UAAU,CAAC,EAAE,MAAM,CAAC;KACrB,CAAC;IAEF,6DAA6D;IAC7D,aAAa,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CAC/C;AAED,MAAM,WAAW,8BAA8B;IAC7C,oCAAoC;IACpC,YAAY,EAAE,MAAM,CAAC;IAErB,gCAAgC;IAChC,UAAU,EAAE,MAAM,CAAC;IAEnB,kCAAkC;IAClC,UAAU,EAAE,MAAM,CAAC;CACpB;AA0BD;;;;;GAKG;AACH,qBAAa,uBAAuB;IAClC,OAAO,CAAC,MAAM,CAAwC;IACtD,OAAO,CAAC,OAAO,CAAiC;gBAEpC,MAAM,EAAE,6BAA6B;IAwBjD;;;;OAIG;IACG,WAAW,CAAC,OAAO,EAAE;QACzB,QAAQ,EAAE,MAAM,CAAC;KAClB,GAAG,OAAO,CAAC,+BAA+B,CAAC;IAkD5C;;;;OAIG;IACG,gBAAgB,CACpB,OAAO,EAAE,uBAAuB,EAChC,OAAO,CAAC,EAAE;QACR,eAAe,CAAC,EAAE,MAAM,CAAC;QACzB,aAAa,CAAC,EAAE,MAAM,CAAC;KACxB,GACA,OAAO,CAAC,2BAA2B,CAAC;IAwHvC;;;;OAIG;IACG,YAAY,CAChB,OAAO,EAAE,sBAAsB,GAC9B,OAAO,CAAC,uBAAuB,CAAC;IAkdnC;;OAEG;IACH,UAAU,IAAI,8BAA8B;IAI5C;;OAEG;IACH,YAAY,IAAI,IAAI;IAQpB;;;;OAIG;YACW,gBAAgB;IAkC9B;;;;OAIG;IACH,OAAO,CAAC,gBAAgB;IAmCxB;;;;;OAKG;IACH,OAAO,CAAC,KAAK;IAIb;;;;OAIG;IACH,OAAO,CAAC,iBAAiB;IAyBzB;;;;OAIG;IACH,OAAO,CAAC,oBAAoB;IAa5B;;;;OAIG;IACH,OAAO,CAAC,mBAAmB;CAkC5B"}
|
|
@@ -318,29 +318,37 @@ class AccessControlApiService {
|
|
|
318
318
|
// Extract data and add success field if missing (for schema validation)
|
|
319
319
|
// CRITICAL: Ensure data is actually an object, not a string or other type
|
|
320
320
|
let dataToValidate;
|
|
321
|
-
if (typeof wrappedResponse.data ===
|
|
321
|
+
if (typeof wrappedResponse.data === "string") {
|
|
322
322
|
// If data is a string, parse it (shouldn't happen but defensive)
|
|
323
323
|
try {
|
|
324
324
|
dataToValidate = JSON.parse(wrappedResponse.data);
|
|
325
325
|
}
|
|
326
326
|
catch (parseError) {
|
|
327
|
-
throw new agentshield_api_2.AgentShieldAPIError("invalid_response", "Failed to parse response data", {
|
|
327
|
+
throw new agentshield_api_2.AgentShieldAPIError("invalid_response", "Failed to parse response data", {
|
|
328
|
+
parseError: parseError instanceof Error
|
|
329
|
+
? parseError.message
|
|
330
|
+
: String(parseError),
|
|
331
|
+
});
|
|
328
332
|
}
|
|
329
333
|
}
|
|
330
|
-
else if (typeof wrappedResponse.data ===
|
|
334
|
+
else if (typeof wrappedResponse.data === "object" &&
|
|
335
|
+
wrappedResponse.data !== null) {
|
|
331
336
|
dataToValidate = wrappedResponse.data;
|
|
332
337
|
}
|
|
333
338
|
else {
|
|
334
|
-
throw new agentshield_api_2.AgentShieldAPIError("invalid_response", "Response data is not an object", {
|
|
339
|
+
throw new agentshield_api_2.AgentShieldAPIError("invalid_response", "Response data is not an object", {
|
|
340
|
+
dataType: typeof wrappedResponse.data,
|
|
341
|
+
data: wrappedResponse.data,
|
|
342
|
+
});
|
|
335
343
|
}
|
|
336
344
|
// CRITICAL: Log the actual data structure for debugging
|
|
337
345
|
console.error(`[AccessControl] 🔍 DATA OBJECT STRUCTURE:`, {
|
|
338
346
|
correlationId,
|
|
339
347
|
dataKeys: Object.keys(dataToValidate),
|
|
340
|
-
hasAccepted:
|
|
341
|
-
hasRejected:
|
|
342
|
-
hasOutcomes:
|
|
343
|
-
hasErrors:
|
|
348
|
+
hasAccepted: "accepted" in dataToValidate,
|
|
349
|
+
hasRejected: "rejected" in dataToValidate,
|
|
350
|
+
hasOutcomes: "outcomes" in dataToValidate,
|
|
351
|
+
hasErrors: "errors" in dataToValidate,
|
|
344
352
|
acceptedType: typeof dataToValidate.accepted,
|
|
345
353
|
acceptedValue: dataToValidate.accepted,
|
|
346
354
|
rejectedType: typeof dataToValidate.rejected,
|
|
@@ -361,34 +369,36 @@ class AccessControlApiService {
|
|
|
361
369
|
rejected: dataToValidate.rejected,
|
|
362
370
|
};
|
|
363
371
|
// Add optional fields if present
|
|
364
|
-
if (
|
|
372
|
+
if ("outcomes" in dataToValidate &&
|
|
373
|
+
dataToValidate.outcomes !== undefined) {
|
|
365
374
|
dataWithSuccess.outcomes = dataToValidate.outcomes;
|
|
366
375
|
}
|
|
367
|
-
if (
|
|
376
|
+
if ("errors" in dataToValidate && dataToValidate.errors !== undefined) {
|
|
368
377
|
dataWithSuccess.errors = dataToValidate.errors;
|
|
369
378
|
}
|
|
370
379
|
// CRITICAL: Log what we're validating
|
|
371
380
|
console.error(`[AccessControl] 🔍 VALIDATING DATA WITH SUCCESS:`, {
|
|
372
381
|
correlationId,
|
|
373
382
|
dataWithSuccessKeys: Object.keys(dataWithSuccess),
|
|
374
|
-
hasSuccess:
|
|
383
|
+
hasSuccess: "success" in dataWithSuccess,
|
|
375
384
|
successValue: dataWithSuccess.success,
|
|
376
|
-
hasAccepted:
|
|
385
|
+
hasAccepted: "accepted" in dataWithSuccess,
|
|
377
386
|
acceptedValue: dataWithSuccess.accepted,
|
|
378
|
-
hasRejected:
|
|
387
|
+
hasRejected: "rejected" in dataWithSuccess,
|
|
379
388
|
rejectedValue: dataWithSuccess.rejected,
|
|
380
|
-
hasOutcomes:
|
|
389
|
+
hasOutcomes: "outcomes" in dataWithSuccess,
|
|
381
390
|
outcomesValue: dataWithSuccess.outcomes,
|
|
382
391
|
fullDataWithSuccess: JSON.stringify(dataWithSuccess, null, 2),
|
|
383
392
|
});
|
|
384
393
|
// CRITICAL: Ensure all required fields are present before validation
|
|
385
|
-
if (typeof dataWithSuccess.accepted !==
|
|
394
|
+
if (typeof dataWithSuccess.accepted !== "number" ||
|
|
395
|
+
typeof dataWithSuccess.rejected !== "number") {
|
|
386
396
|
console.error(`[AccessControl] ❌ MISSING REQUIRED FIELDS AFTER CONSTRUCTION:`, {
|
|
387
397
|
correlationId,
|
|
388
|
-
hasAccepted:
|
|
398
|
+
hasAccepted: "accepted" in dataWithSuccess,
|
|
389
399
|
acceptedType: typeof dataWithSuccess.accepted,
|
|
390
400
|
acceptedValue: dataWithSuccess.accepted,
|
|
391
|
-
hasRejected:
|
|
401
|
+
hasRejected: "rejected" in dataWithSuccess,
|
|
392
402
|
rejectedType: typeof dataWithSuccess.rejected,
|
|
393
403
|
rejectedValue: dataWithSuccess.rejected,
|
|
394
404
|
dataWithSuccessKeys: Object.keys(dataWithSuccess),
|
|
@@ -432,16 +442,16 @@ class AccessControlApiService {
|
|
|
432
442
|
console.error(`[AccessControl] ❌ ZOD VALIDATION FAILED - ${dataParsed.error.errors.length} error(s):`);
|
|
433
443
|
dataParsed.error.errors.forEach((err, idx) => {
|
|
434
444
|
const errorDetails = {
|
|
435
|
-
path: err.path.join(
|
|
445
|
+
path: err.path.join(".") || "(root)",
|
|
436
446
|
message: err.message,
|
|
437
447
|
code: err.code,
|
|
438
448
|
};
|
|
439
449
|
// Only include properties that exist on specific error types
|
|
440
|
-
if (
|
|
450
|
+
if ("received" in err)
|
|
441
451
|
errorDetails.received = err.received;
|
|
442
|
-
if (
|
|
452
|
+
if ("expected" in err)
|
|
443
453
|
errorDetails.expected = err.expected;
|
|
444
|
-
if (
|
|
454
|
+
if ("input" in err)
|
|
445
455
|
errorDetails.input = err.input;
|
|
446
456
|
console.error(`[AccessControl] Error ${idx + 1}:`, JSON.stringify(errorDetails, null, 2));
|
|
447
457
|
});
|
|
@@ -479,16 +489,16 @@ class AccessControlApiService {
|
|
|
479
489
|
console.error(`[AccessControl] ❌ ZOD VALIDATION FAILED (direct) - ${parsed.error.errors.length} error(s):`);
|
|
480
490
|
parsed.error.errors.forEach((err, idx) => {
|
|
481
491
|
const errorDetails = {
|
|
482
|
-
path: err.path.join(
|
|
492
|
+
path: err.path.join(".") || "(root)",
|
|
483
493
|
message: err.message,
|
|
484
494
|
code: err.code,
|
|
485
495
|
};
|
|
486
496
|
// Only include properties that exist on specific error types
|
|
487
|
-
if (
|
|
497
|
+
if ("received" in err)
|
|
488
498
|
errorDetails.received = err.received;
|
|
489
|
-
if (
|
|
499
|
+
if ("expected" in err)
|
|
490
500
|
errorDetails.expected = err.expected;
|
|
491
|
-
if (
|
|
501
|
+
if ("input" in err)
|
|
492
502
|
errorDetails.input = err.input;
|
|
493
503
|
console.error(`[AccessControl] Error ${idx + 1}:`, errorDetails);
|
|
494
504
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"access-control.service.js","sourceRoot":"","sources":["../../src/services/access-control.service.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"access-control.service.js","sourceRoot":"","sources":["../../src/services/access-control.service.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@kya-os/mcp-i-core",
|
|
3
|
-
"version": "1.2.2-canary.
|
|
3
|
+
"version": "1.2.2-canary.36",
|
|
4
4
|
"description": "Core runtime and types for MCP-I framework",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"types": "dist/index.d.ts",
|
|
@@ -28,7 +28,7 @@
|
|
|
28
28
|
"prepublishOnly": "npm run build && node ../create-mcpi-app/scripts/validate-no-workspace.js"
|
|
29
29
|
},
|
|
30
30
|
"dependencies": {
|
|
31
|
-
"@kya-os/contracts": "^1.5.3-canary.
|
|
31
|
+
"@kya-os/contracts": "^1.5.3-canary.27",
|
|
32
32
|
"jose": "^5.6.3",
|
|
33
33
|
"json-canonicalize": "^2.0.0",
|
|
34
34
|
"zod": "^3.23.8"
|
|
@@ -1,26 +1,26 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Proof Submission Response Validation Tests
|
|
3
|
-
*
|
|
3
|
+
*
|
|
4
4
|
* These tests verify that the proof submission response format matches
|
|
5
5
|
* the schema defined in @kya-os/contracts, preventing regressions.
|
|
6
|
-
*
|
|
6
|
+
*
|
|
7
7
|
* CRITICAL: These tests ensure API parity between MCP-I and AgentShield/Bouncer.
|
|
8
8
|
*/
|
|
9
9
|
|
|
10
|
-
import { describe, it, expect, vi, beforeEach } from
|
|
11
|
-
import { AccessControlApiService } from
|
|
12
|
-
import { proofSubmissionResponseSchema } from
|
|
13
|
-
import type { ProofSubmissionRequest } from
|
|
10
|
+
import { describe, it, expect, vi, beforeEach } from "vitest";
|
|
11
|
+
import { AccessControlApiService } from "../access-control.service";
|
|
12
|
+
import { proofSubmissionResponseSchema } from "@kya-os/contracts/agentshield-api";
|
|
13
|
+
import type { ProofSubmissionRequest } from "@kya-os/contracts/agentshield-api";
|
|
14
14
|
|
|
15
|
-
describe(
|
|
15
|
+
describe("Proof Submission Response Validation", () => {
|
|
16
16
|
let service: AccessControlApiService;
|
|
17
17
|
let mockFetch: ReturnType<typeof vi.fn>;
|
|
18
18
|
|
|
19
19
|
beforeEach(() => {
|
|
20
20
|
mockFetch = vi.fn();
|
|
21
21
|
service = new AccessControlApiService({
|
|
22
|
-
baseUrl:
|
|
23
|
-
apiKey:
|
|
22
|
+
baseUrl: "https://kya.vouched.id",
|
|
23
|
+
apiKey: "test-api-key",
|
|
24
24
|
fetchProvider: {
|
|
25
25
|
fetch: mockFetch,
|
|
26
26
|
},
|
|
@@ -28,23 +28,23 @@ describe('Proof Submission Response Validation', () => {
|
|
|
28
28
|
});
|
|
29
29
|
});
|
|
30
30
|
|
|
31
|
-
describe(
|
|
32
|
-
it(
|
|
31
|
+
describe("Wrapped Response Format (AgentShield API)", () => {
|
|
32
|
+
it("should validate wrapped response with success field in data", async () => {
|
|
33
33
|
const request: ProofSubmissionRequest = {
|
|
34
|
-
session_id:
|
|
34
|
+
session_id: "test-session",
|
|
35
35
|
proofs: [
|
|
36
36
|
{
|
|
37
|
-
jws:
|
|
37
|
+
jws: "test.jws.signature",
|
|
38
38
|
meta: {
|
|
39
|
-
did:
|
|
40
|
-
kid:
|
|
39
|
+
did: "did:key:test",
|
|
40
|
+
kid: "did:key:test#key-1",
|
|
41
41
|
ts: Date.now(),
|
|
42
|
-
nonce:
|
|
43
|
-
audience:
|
|
44
|
-
sessionId:
|
|
45
|
-
requestHash:
|
|
46
|
-
responseHash:
|
|
47
|
-
scopeId:
|
|
42
|
+
nonce: "test-nonce",
|
|
43
|
+
audience: "https://kya.vouched.id",
|
|
44
|
+
sessionId: "test-session",
|
|
45
|
+
requestHash: "sha256:" + "a".repeat(64),
|
|
46
|
+
responseHash: "sha256:" + "b".repeat(64),
|
|
47
|
+
scopeId: "test:execute",
|
|
48
48
|
},
|
|
49
49
|
},
|
|
50
50
|
],
|
|
@@ -64,7 +64,7 @@ describe('Proof Submission Response Validation', () => {
|
|
|
64
64
|
},
|
|
65
65
|
},
|
|
66
66
|
metadata: {
|
|
67
|
-
requestId:
|
|
67
|
+
requestId: "test-request-id",
|
|
68
68
|
timestamp: new Date().toISOString(),
|
|
69
69
|
},
|
|
70
70
|
};
|
|
@@ -91,22 +91,22 @@ describe('Proof Submission Response Validation', () => {
|
|
|
91
91
|
});
|
|
92
92
|
});
|
|
93
93
|
|
|
94
|
-
it(
|
|
94
|
+
it("should validate wrapped response with errors array", async () => {
|
|
95
95
|
const request: ProofSubmissionRequest = {
|
|
96
|
-
session_id:
|
|
96
|
+
session_id: "test-session",
|
|
97
97
|
proofs: [
|
|
98
98
|
{
|
|
99
|
-
jws:
|
|
99
|
+
jws: "test.jws.signature",
|
|
100
100
|
meta: {
|
|
101
|
-
did:
|
|
102
|
-
kid:
|
|
101
|
+
did: "did:key:test",
|
|
102
|
+
kid: "did:key:test#key-1",
|
|
103
103
|
ts: Date.now(),
|
|
104
|
-
nonce:
|
|
105
|
-
audience:
|
|
106
|
-
sessionId:
|
|
107
|
-
requestHash:
|
|
108
|
-
responseHash:
|
|
109
|
-
scopeId:
|
|
104
|
+
nonce: "test-nonce",
|
|
105
|
+
audience: "https://kya.vouched.id",
|
|
106
|
+
sessionId: "test-session",
|
|
107
|
+
requestHash: "sha256:" + "a".repeat(64),
|
|
108
|
+
responseHash: "sha256:" + "b".repeat(64),
|
|
109
|
+
scopeId: "test:execute",
|
|
110
110
|
},
|
|
111
111
|
},
|
|
112
112
|
],
|
|
@@ -127,15 +127,15 @@ describe('Proof Submission Response Validation', () => {
|
|
|
127
127
|
{
|
|
128
128
|
proof_index: 0,
|
|
129
129
|
error: {
|
|
130
|
-
code:
|
|
131
|
-
message:
|
|
132
|
-
details: { reason:
|
|
130
|
+
code: "validation_error",
|
|
131
|
+
message: "Proof validation failed",
|
|
132
|
+
details: { reason: "invalid_signature" },
|
|
133
133
|
},
|
|
134
134
|
},
|
|
135
135
|
],
|
|
136
136
|
},
|
|
137
137
|
metadata: {
|
|
138
|
-
requestId:
|
|
138
|
+
requestId: "test-request-id",
|
|
139
139
|
timestamp: new Date().toISOString(),
|
|
140
140
|
},
|
|
141
141
|
};
|
|
@@ -157,31 +157,31 @@ describe('Proof Submission Response Validation', () => {
|
|
|
157
157
|
{
|
|
158
158
|
proof_index: 0,
|
|
159
159
|
error: {
|
|
160
|
-
code:
|
|
161
|
-
message:
|
|
162
|
-
details: { reason:
|
|
160
|
+
code: "validation_error",
|
|
161
|
+
message: "Proof validation failed",
|
|
162
|
+
details: { reason: "invalid_signature" },
|
|
163
163
|
},
|
|
164
164
|
},
|
|
165
165
|
],
|
|
166
166
|
});
|
|
167
167
|
});
|
|
168
168
|
|
|
169
|
-
it(
|
|
169
|
+
it("should validate wrapped response without outcomes (optional field)", async () => {
|
|
170
170
|
const request: ProofSubmissionRequest = {
|
|
171
|
-
session_id:
|
|
171
|
+
session_id: "test-session",
|
|
172
172
|
proofs: [
|
|
173
173
|
{
|
|
174
|
-
jws:
|
|
174
|
+
jws: "test.jws.signature",
|
|
175
175
|
meta: {
|
|
176
|
-
did:
|
|
177
|
-
kid:
|
|
176
|
+
did: "did:key:test",
|
|
177
|
+
kid: "did:key:test#key-1",
|
|
178
178
|
ts: Date.now(),
|
|
179
|
-
nonce:
|
|
180
|
-
audience:
|
|
181
|
-
sessionId:
|
|
182
|
-
requestHash:
|
|
183
|
-
responseHash:
|
|
184
|
-
scopeId:
|
|
179
|
+
nonce: "test-nonce",
|
|
180
|
+
audience: "https://kya.vouched.id",
|
|
181
|
+
sessionId: "test-session",
|
|
182
|
+
requestHash: "sha256:" + "a".repeat(64),
|
|
183
|
+
responseHash: "sha256:" + "b".repeat(64),
|
|
184
|
+
scopeId: "test:execute",
|
|
185
185
|
},
|
|
186
186
|
},
|
|
187
187
|
],
|
|
@@ -196,7 +196,7 @@ describe('Proof Submission Response Validation', () => {
|
|
|
196
196
|
// outcomes omitted - should still validate
|
|
197
197
|
},
|
|
198
198
|
metadata: {
|
|
199
|
-
requestId:
|
|
199
|
+
requestId: "test-request-id",
|
|
200
200
|
timestamp: new Date().toISOString(),
|
|
201
201
|
},
|
|
202
202
|
};
|
|
@@ -219,22 +219,22 @@ describe('Proof Submission Response Validation', () => {
|
|
|
219
219
|
expect(result.outcomes).toBeUndefined();
|
|
220
220
|
});
|
|
221
221
|
|
|
222
|
-
it(
|
|
222
|
+
it("should throw validation error if data object missing success field", async () => {
|
|
223
223
|
const request: ProofSubmissionRequest = {
|
|
224
|
-
session_id:
|
|
224
|
+
session_id: "test-session",
|
|
225
225
|
proofs: [
|
|
226
226
|
{
|
|
227
|
-
jws:
|
|
227
|
+
jws: "test.jws.signature",
|
|
228
228
|
meta: {
|
|
229
|
-
did:
|
|
230
|
-
kid:
|
|
229
|
+
did: "did:key:test",
|
|
230
|
+
kid: "did:key:test#key-1",
|
|
231
231
|
ts: Date.now(),
|
|
232
|
-
nonce:
|
|
233
|
-
audience:
|
|
234
|
-
sessionId:
|
|
235
|
-
requestHash:
|
|
236
|
-
responseHash:
|
|
237
|
-
scopeId:
|
|
232
|
+
nonce: "test-nonce",
|
|
233
|
+
audience: "https://kya.vouched.id",
|
|
234
|
+
sessionId: "test-session",
|
|
235
|
+
requestHash: "sha256:" + "a".repeat(64),
|
|
236
|
+
responseHash: "sha256:" + "b".repeat(64),
|
|
237
|
+
scopeId: "test:execute",
|
|
238
238
|
},
|
|
239
239
|
},
|
|
240
240
|
],
|
|
@@ -255,7 +255,7 @@ describe('Proof Submission Response Validation', () => {
|
|
|
255
255
|
},
|
|
256
256
|
},
|
|
257
257
|
metadata: {
|
|
258
|
-
requestId:
|
|
258
|
+
requestId: "test-request-id",
|
|
259
259
|
timestamp: new Date().toISOString(),
|
|
260
260
|
},
|
|
261
261
|
};
|
|
@@ -272,7 +272,7 @@ describe('Proof Submission Response Validation', () => {
|
|
|
272
272
|
expect(result.success).toBe(true);
|
|
273
273
|
});
|
|
274
274
|
|
|
275
|
-
it(
|
|
275
|
+
it("should validate schema directly matches AgentShield response format", () => {
|
|
276
276
|
// This test ensures the schema matches what AgentShield actually returns
|
|
277
277
|
const agentShieldResponseData = {
|
|
278
278
|
success: true,
|
|
@@ -286,14 +286,16 @@ describe('Proof Submission Response Validation', () => {
|
|
|
286
286
|
},
|
|
287
287
|
};
|
|
288
288
|
|
|
289
|
-
const validation = proofSubmissionResponseSchema.safeParse(
|
|
289
|
+
const validation = proofSubmissionResponseSchema.safeParse(
|
|
290
|
+
agentShieldResponseData
|
|
291
|
+
);
|
|
290
292
|
expect(validation.success).toBe(true);
|
|
291
293
|
if (validation.success) {
|
|
292
294
|
expect(validation.data).toMatchObject(agentShieldResponseData);
|
|
293
295
|
}
|
|
294
296
|
});
|
|
295
297
|
|
|
296
|
-
it(
|
|
298
|
+
it("should validate schema with errors array matches AgentShield format", () => {
|
|
297
299
|
const agentShieldResponseData = {
|
|
298
300
|
success: true,
|
|
299
301
|
accepted: 0,
|
|
@@ -308,26 +310,28 @@ describe('Proof Submission Response Validation', () => {
|
|
|
308
310
|
{
|
|
309
311
|
proof_index: 0,
|
|
310
312
|
error: {
|
|
311
|
-
code:
|
|
312
|
-
message:
|
|
313
|
-
details: { reason:
|
|
313
|
+
code: "validation_error",
|
|
314
|
+
message: "Proof validation failed",
|
|
315
|
+
details: { reason: "invalid_signature" },
|
|
314
316
|
},
|
|
315
317
|
},
|
|
316
318
|
],
|
|
317
319
|
};
|
|
318
320
|
|
|
319
|
-
const validation = proofSubmissionResponseSchema.safeParse(
|
|
321
|
+
const validation = proofSubmissionResponseSchema.safeParse(
|
|
322
|
+
agentShieldResponseData
|
|
323
|
+
);
|
|
320
324
|
expect(validation.success).toBe(true);
|
|
321
325
|
if (validation.success) {
|
|
322
326
|
expect(validation.data.errors).toHaveLength(1);
|
|
323
327
|
expect(validation.data.errors![0].proof_index).toBe(0);
|
|
324
|
-
expect(validation.data.errors![0].error.code).toBe(
|
|
328
|
+
expect(validation.data.errors![0].error.code).toBe("validation_error");
|
|
325
329
|
}
|
|
326
330
|
});
|
|
327
331
|
});
|
|
328
332
|
|
|
329
|
-
describe(
|
|
330
|
-
it(
|
|
333
|
+
describe("Regression Prevention", () => {
|
|
334
|
+
it("should prevent regression: missing success field in data", () => {
|
|
331
335
|
// This test ensures we catch if AgentShield changes response format
|
|
332
336
|
const responseWithoutSuccess = {
|
|
333
337
|
accepted: 1,
|
|
@@ -340,18 +344,22 @@ describe('Proof Submission Response Validation', () => {
|
|
|
340
344
|
},
|
|
341
345
|
};
|
|
342
346
|
|
|
343
|
-
const validation = proofSubmissionResponseSchema.safeParse(
|
|
347
|
+
const validation = proofSubmissionResponseSchema.safeParse(
|
|
348
|
+
responseWithoutSuccess
|
|
349
|
+
);
|
|
344
350
|
expect(validation.success).toBe(false);
|
|
345
351
|
if (!validation.success) {
|
|
346
|
-
expect(
|
|
352
|
+
expect(
|
|
353
|
+
validation.error.errors.some((e) => e.path.includes("success"))
|
|
354
|
+
).toBe(true);
|
|
347
355
|
}
|
|
348
356
|
});
|
|
349
357
|
|
|
350
|
-
it(
|
|
358
|
+
it("should prevent regression: wrong type for accepted/rejected", () => {
|
|
351
359
|
const invalidResponse = {
|
|
352
360
|
success: true,
|
|
353
|
-
accepted:
|
|
354
|
-
rejected:
|
|
361
|
+
accepted: "1", // Should be number
|
|
362
|
+
rejected: "0", // Should be number
|
|
355
363
|
outcomes: {
|
|
356
364
|
success: 1,
|
|
357
365
|
failed: 0,
|
|
@@ -360,11 +368,12 @@ describe('Proof Submission Response Validation', () => {
|
|
|
360
368
|
},
|
|
361
369
|
};
|
|
362
370
|
|
|
363
|
-
const validation =
|
|
371
|
+
const validation =
|
|
372
|
+
proofSubmissionResponseSchema.safeParse(invalidResponse);
|
|
364
373
|
expect(validation.success).toBe(false);
|
|
365
374
|
});
|
|
366
375
|
|
|
367
|
-
it(
|
|
376
|
+
it("should prevent regression: missing required fields", () => {
|
|
368
377
|
const incompleteResponse = {
|
|
369
378
|
success: true,
|
|
370
379
|
// Missing accepted
|
|
@@ -377,12 +386,14 @@ describe('Proof Submission Response Validation', () => {
|
|
|
377
386
|
},
|
|
378
387
|
};
|
|
379
388
|
|
|
380
|
-
const validation =
|
|
389
|
+
const validation =
|
|
390
|
+
proofSubmissionResponseSchema.safeParse(incompleteResponse);
|
|
381
391
|
expect(validation.success).toBe(false);
|
|
382
392
|
if (!validation.success) {
|
|
383
|
-
expect(
|
|
393
|
+
expect(
|
|
394
|
+
validation.error.errors.some((e) => e.path.includes("accepted"))
|
|
395
|
+
).toBe(true);
|
|
384
396
|
}
|
|
385
397
|
});
|
|
386
398
|
});
|
|
387
399
|
});
|
|
388
|
-
|