@key0ai/key0 0.1.0 → 0.2.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.
Files changed (54) hide show
  1. package/README.md +66 -21
  2. package/dist/__tests__/e2e.test.js +1 -1
  3. package/dist/__tests__/e2e.test.js.map +1 -1
  4. package/dist/__tests__/x402-http-middleware.test.js +4 -207
  5. package/dist/__tests__/x402-http-middleware.test.js.map +1 -1
  6. package/dist/core/__tests__/agent-card.test.js +14 -12
  7. package/dist/core/__tests__/agent-card.test.js.map +1 -1
  8. package/dist/core/__tests__/storage-postgres.test.js +0 -1
  9. package/dist/core/__tests__/storage-postgres.test.js.map +1 -1
  10. package/dist/core/agent-card.d.ts.map +1 -1
  11. package/dist/core/agent-card.js +25 -10
  12. package/dist/core/agent-card.js.map +1 -1
  13. package/dist/core/challenge-engine.js +1 -1
  14. package/dist/core/challenge-engine.js.map +1 -1
  15. package/dist/core/index.d.ts +1 -1
  16. package/dist/core/index.d.ts.map +1 -1
  17. package/dist/core/index.js +1 -1
  18. package/dist/core/index.js.map +1 -1
  19. package/dist/integrations/express.d.ts +6 -4
  20. package/dist/integrations/express.d.ts.map +1 -1
  21. package/dist/integrations/express.js +27 -29
  22. package/dist/integrations/express.js.map +1 -1
  23. package/dist/integrations/fastify.d.ts +5 -1
  24. package/dist/integrations/fastify.d.ts.map +1 -1
  25. package/dist/integrations/fastify.js +117 -8
  26. package/dist/integrations/fastify.js.map +1 -1
  27. package/dist/integrations/hono.d.ts +8 -2
  28. package/dist/integrations/hono.d.ts.map +1 -1
  29. package/dist/integrations/hono.js +116 -12
  30. package/dist/integrations/hono.js.map +1 -1
  31. package/dist/integrations/settlement.d.ts.map +1 -1
  32. package/dist/integrations/settlement.js +1 -3
  33. package/dist/integrations/settlement.js.map +1 -1
  34. package/dist/types/agent-card.d.ts +16 -0
  35. package/dist/types/agent-card.d.ts.map +1 -1
  36. package/package.json +3 -1
  37. package/src/__tests__/e2e.test.ts +1 -1
  38. package/src/__tests__/x402-http-middleware.test.ts +4 -256
  39. package/src/core/__tests__/agent-card.test.ts +15 -12
  40. package/src/core/__tests__/storage-postgres.test.ts +0 -2
  41. package/src/core/agent-card.ts +26 -10
  42. package/src/core/challenge-engine.ts +1 -1
  43. package/src/core/index.ts +1 -1
  44. package/src/integrations/express.ts +221 -235
  45. package/src/integrations/fastify.ts +160 -8
  46. package/src/integrations/hono.ts +168 -12
  47. package/src/integrations/settlement.ts +1 -3
  48. package/src/types/agent-card.ts +13 -2
  49. package/src/types/config.ts +1 -1
  50. package/dist/integrations/x402-http-middleware.d.ts +0 -15
  51. package/dist/integrations/x402-http-middleware.d.ts.map +0 -1
  52. package/dist/integrations/x402-http-middleware.js +0 -171
  53. package/dist/integrations/x402-http-middleware.js.map +0 -1
  54. package/src/integrations/x402-http-middleware.ts +0 -246
@@ -52,23 +52,22 @@ describe("buildAgentCard", () => {
52
52
  test("has two A2A spec-compliant skills", () => {
53
53
  const card = buildAgentCard(makeConfig());
54
54
  expect(card.skills).toHaveLength(2);
55
- expect(card.skills[0].id).toBe("discover-products");
55
+ expect(card.skills[0].id).toBe("discover-plans");
56
56
  expect(card.skills[1].id).toBe("request-access");
57
57
  });
58
- test("discover-products skill has correct structure", () => {
58
+ test("discover-plans skill has correct structure", () => {
59
59
  const card = buildAgentCard(makeConfig());
60
60
  const skill = card.skills[0];
61
- expect(skill.id).toBe("discover-products");
62
- expect(skill.name).toBe("Discover Products");
63
- expect(skill.description).toContain("Browse available products");
64
- expect(skill.description).toContain("/x402/access");
61
+ expect(skill.id).toBe("discover-plans");
62
+ expect(skill.name).toBe("Discover Plans");
63
+ expect(skill.description).toContain("Browse available");
64
+ expect(skill.description).toContain("/discovery");
65
65
  expect(skill.tags).toContain("discovery");
66
66
  expect(skill.tags).toContain("catalog");
67
67
  expect(skill.examples).toBeDefined();
68
68
  expect(skill.examples.length).toBeGreaterThan(0);
69
- // A2A spec: skills should NOT have pricing, inputSchema, outputSchema, url
69
+ // A2A spec: skills should NOT have pricing, outputSchema, url
70
70
  expect(skill.pricing).toBeUndefined();
71
- expect(skill.inputSchema).toBeUndefined();
72
71
  expect(skill.outputSchema).toBeUndefined();
73
72
  expect(skill.url).toBeUndefined();
74
73
  });
@@ -84,9 +83,12 @@ describe("buildAgentCard", () => {
84
83
  expect(skill.tags).toContain("purchase");
85
84
  expect(skill.examples).toBeDefined();
86
85
  expect(skill.examples.length).toBeGreaterThan(0);
87
- // A2A spec: skills should NOT have pricing, inputSchema, outputSchema, url
86
+ // inputSchema is present for machine-readable validation
87
+ expect(skill.inputSchema).toBeDefined();
88
+ expect(skill.inputSchema.required).toContain("planId");
89
+ expect(skill.inputSchema.required).toContain("requestId");
90
+ // A2A spec: skills should NOT have pricing, outputSchema, url
88
91
  expect(skill.pricing).toBeUndefined();
89
- expect(skill.inputSchema).toBeUndefined();
90
92
  expect(skill.outputSchema).toBeUndefined();
91
93
  expect(skill.url).toBeUndefined();
92
94
  });
@@ -95,7 +97,7 @@ describe("buildAgentCard", () => {
95
97
  const discoverSkill = card.skills[0];
96
98
  expect(discoverSkill.examples).toBeDefined();
97
99
  expect(discoverSkill.examples.length).toBeGreaterThan(0);
98
- expect(discoverSkill.examples.some((ex) => ex.includes("/x402/access"))).toBe(true);
100
+ expect(discoverSkill.examples.some((ex) => ex.includes("/discovery"))).toBe(true);
99
101
  const requestSkill = card.skills[1];
100
102
  expect(requestSkill.examples).toBeDefined();
101
103
  expect(requestSkill.examples.length).toBeGreaterThan(0);
@@ -126,7 +128,7 @@ describe("buildAgentCard", () => {
126
128
  const card = buildAgentCard(config);
127
129
  // Still just two skills regardless of tier count
128
130
  expect(card.skills).toHaveLength(2);
129
- expect(card.skills[0].id).toBe("discover-products");
131
+ expect(card.skills[0].id).toBe("discover-plans");
130
132
  expect(card.skills[1].id).toBe("request-access");
131
133
  });
132
134
  test("mainnet configuration works", () => {
@@ -1 +1 @@
1
- {"version":3,"file":"agent-card.test.js","sourceRoot":"","sources":["../../../src/core/__tests__/agent-card.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"agent-card.test.js","sourceRoot":"","sources":["../../../src/core/__tests__/agent-card.test.ts"],"names":[],"mappings":"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"}
@@ -256,7 +256,6 @@ function createMockSql() {
256
256
  // Add helper methods
257
257
  sql.unsafe = (str) => str;
258
258
  sql.json = (obj) => obj;
259
- // biome-ignore lint/suspicious/noExplicitAny: mock implementation
260
259
  sql.begin = async (fn) => fn(sql);
261
260
  // Expose tables for inspection
262
261
  sql._tables = tables;
@@ -1 +1 @@
1
- {"version":3,"file":"storage-postgres.test.js","sourceRoot":"","sources":["../../../src/core/__tests__/storage-postgres.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,UAAU,CAAC;AAElD,OAAO,EAAE,sBAAsB,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAMrF,SAAS,aAAa;IACrB,MAAM,MAAM,GAAG,IAAI,GAAG,EAAiB,CAAC;IAExC,sBAAsB;IACtB,MAAM,QAAQ,GAAG,CAAC,SAAiB,EAAE,MAA8B,EAAS,EAAE;QAC7E,MAAM,IAAI,GAAG,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC;QACzC,OAAO,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IAC5C,CAAC,CAAC;IAEF,wBAAwB;IACxB,MAAM,UAAU,GAAG,CAClB,SAAiB,EACjB,MAA6B,EAC7B,OAAqB,EACZ,EAAE;QACX,MAAM,IAAI,GAAG,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC;QACzC,IAAI,KAAK,GAAG,CAAC,CAAC;QACd,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;YACxB,IAAI,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC;gBACjB,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;gBAC5B,KAAK,EAAE,CAAC;YACT,CAAC;QACF,CAAC;QACD,OAAO,KAAK,CAAC;IACd,CAAC,CAAC;IAEF,MAAM,GAAG,GAAG,CAAC,OAAY,EAAE,GAAG,MAAa,EAAO,EAAE;QACnD,uDAAuD;QACvD,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE,CAAC;YACjC,OAAO,OAAO,CAAC;QAChB,CAAC;QAED,+DAA+D;QAC/D,yEAAyE;QACzE,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;YAC7B,MAAM,SAAS,GAAG,OAAc,CAAC;YACjC,MAAM,OAAO,GAAG,MAAkB,CAAC;YACnC,MAAM,OAAO,GAAQ,EAAE,CAAC;YACxB,KAAK,MAAM,GAAG,IAAI,OAAO,EAAE,CAAC;gBAC3B,IAAI,GAAG,IAAI,SAAS,EAAE,CAAC;oBACtB,OAAO,CAAC,GAAG,CAAC,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC;gBAC/B,CAAC;YACF,CAAC;YACD,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC;QAC/B,CAAC;QAED,MAAM,KAAK,GAAI,OAA2C,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,WAAW,EAAE,CAAC;QAEnF,IAAI,MAAM,GAAU,EAAE,CAAC;QACvB,IAAI,KAAK,GAAG,CAAC,CAAC;QAEd,eAAe;QACf,IAAI,KAAK,CAAC,QAAQ,CAAC,4BAA4B,CAAC,EAAE,CAAC;YAClD,MAAM,SAAS,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;YAC5B,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC;gBAC5B,MAAM,CAAC,GAAG,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;YAC3B,CAAC;YACD,MAAM,GAAG,EAAE,CAAC;YACZ,KAAK,GAAG,CAAC,CAAC;QACX,CAAC;QACD,eAAe;aACV,IAAI,KAAK,CAAC,QAAQ,CAAC,4BAA4B,CAAC,EAAE,CAAC;YACvD,MAAM,GAAG,EAAE,CAAC;YACZ,KAAK,GAAG,CAAC,CAAC;QACX,CAAC;QACD,8BAA8B;QAC9B,IAAI,KAAK,CAAC,QAAQ,CAAC,eAAe,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,oBAAoB,CAAC,EAAE,CAAC;YAC7E,MAAM,SAAS,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;YAC5B,MAAM,WAAW,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;YAC9B,MAAM,GAAG,QAAQ,CAChB,SAAS,EACT,CAAC,CAAC,EAAE,EAAE,CACL,CAAC,CAAC,cAAc,CAAC,KAAK,WAAW;gBACjC,CAAC,CAAC,CAAC,YAAY,CAAC,KAAK,IAAI,IAAI,CAAC,CAAC,YAAY,CAAC,KAAK,SAAS,CAAC,CAC5D,CAAC;YACF,KAAK,GAAG,CAAC,CAAC;QACX,CAAC;QACD,4BAA4B;aACvB,IAAI,KAAK,CAAC,QAAQ,CAAC,eAAe,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,kBAAkB,CAAC,EAAE,CAAC;YAChF,MAAM,SAAS,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;YAC5B,MAAM,SAAS,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;YAC5B,MAAM,OAAO,GAAG,QAAQ,CACvB,SAAS,EACT,CAAC,CAAC,EAAE,EAAE,CACL,CAAC,CAAC,YAAY,CAAC,KAAK,SAAS;gBAC7B,CAAC,CAAC,CAAC,YAAY,CAAC,KAAK,IAAI,IAAI,CAAC,CAAC,YAAY,CAAC,KAAK,SAAS,CAAC,CAC5D,CAAC;YACF,qFAAqF;YACrF,IAAI,KAAK,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;gBAC3D,MAAM,GAAG,OAAO;qBACd,IAAI,CACJ,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CACR,IAAI,IAAI,CAAC,CAAC,CAAC,YAAY,CAAS,CAAC,CAAC,OAAO,EAAE;oBAC3C,IAAI,IAAI,CAAC,CAAC,CAAC,YAAY,CAAS,CAAC,CAAC,OAAO,EAAE,CAC5C;qBACA,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;YACf,CAAC;iBAAM,CAAC;gBACP,MAAM,GAAG,OAAO,CAAC;YAClB,CAAC;YACD,KAAK,GAAG,CAAC,CAAC;QACX,CAAC;QACD,gCAAgC;aAC3B,IAAI,KAAK,CAAC,QAAQ,CAAC,eAAe,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,sBAAsB,CAAC,EAAE,CAAC;YACpF,MAAM,SAAS,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;YAC5B,MAAM,GAAG,QAAQ,CAChB,SAAS,EACT,CAAC,CAAC,EAAE,EAAE,CACL,CAAC,CAAC,OAAO,CAAC,KAAK,MAAM;gBACrB,CAAC,CAAC,cAAc,CAAC,KAAK,IAAI;gBAC1B,CAAC,CAAC,cAAc,CAAC,KAAK,SAAS;gBAC/B,CAAC,CAAC,CAAC,YAAY,CAAC,KAAK,IAAI,IAAI,CAAC,CAAC,YAAY,CAAC,KAAK,SAAS,CAAC,CAC5D,CAAC;YACF,KAAK,GAAG,CAAC,CAAC;QACX,CAAC;QACD,wCAAwC;aACnC,IAAI,KAAK,CAAC,QAAQ,CAAC,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,aAAa,CAAC,EAAE,CAAC;YAC1E,MAAM,SAAS,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;YAC5B,MAAM,IAAI,GAAG,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC;YAEzC,uFAAuF;YACvF,IAAI,MAAM,CAAC,MAAM,GAAG,EAAE,EAAE,CAAC;gBACxB,0BAA0B;gBAC1B,6EAA6E;gBAC7E,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,cAAc,CAAC,KAAK,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;gBACnE,IAAI,QAAQ,EAAE,CAAC;oBACd,MAAM,KAAK,GAAG,IAAI,KAAK,CACtB,kEAAkE,CACrC,CAAC;oBAC/B,KAAK,CAAC,IAAI,GAAG,OAAO,CAAC;oBACrB,MAAM,KAAK,CAAC;gBACb,CAAC;gBAED,MAAM,MAAM,GAAQ;oBACnB,YAAY,EAAE,MAAM,CAAC,CAAC,CAAC;oBACvB,UAAU,EAAE,MAAM,CAAC,CAAC,CAAC;oBACrB,eAAe,EAAE,MAAM,CAAC,CAAC,CAAC;oBAC1B,WAAW,EAAE,MAAM,CAAC,CAAC,CAAC;oBACtB,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC;oBAClB,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;oBACjB,UAAU,EAAE,MAAM,CAAC,CAAC,CAAC;oBACrB,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC;oBAChB,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAC;oBACnB,WAAW,EAAE,MAAM,CAAC,EAAE,CAAC;oBACvB,KAAK,EAAE,MAAM,CAAC,EAAE,CAAC;oBACjB,UAAU,EAAE,MAAM,CAAC,EAAE,CAAC;oBACtB,UAAU,EAAE,MAAM,CAAC,EAAE,CAAC;oBACtB,UAAU,EAAE,MAAM,CAAC,EAAE,CAAC;oBACtB,OAAO,EAAE,MAAM,CAAC,EAAE,CAAC;oBACnB,OAAO,EAAE,MAAM,CAAC,EAAE,CAAC;oBACnB,YAAY,EAAE,MAAM,CAAC,EAAE,CAAC;oBACxB,YAAY,EAAE,MAAM,CAAC,EAAE,CAAC;oBACxB,YAAY,EAAE,MAAM,CAAC,EAAE,CAAC;oBACxB,cAAc,EAAE,MAAM,CAAC,EAAE,CAAC;oBAC1B,WAAW,EAAE,MAAM,CAAC,EAAE,CAAC;oBACvB,YAAY,EAAE,MAAM,CAAC,EAAE,CAAC;oBACxB,UAAU,EAAE,IAAI,EAAE,kCAAkC;iBACpD,CAAC;gBACF,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;gBAClB,MAAM,CAAC,GAAG,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;YAC7B,CAAC;iBAAM,CAAC;gBACP,+GAA+G;gBAC/G,MAAM,QAAQ,GAAQ;oBACrB,EAAE,EAAE,MAAM,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;oBAC3B,YAAY,EAAE,MAAM,CAAC,CAAC,CAAC;oBACvB,UAAU,EAAE,MAAM,CAAC,CAAC,CAAC;oBACrB,eAAe,EAAE,MAAM,CAAC,CAAC,CAAC;oBAC1B,UAAU,EAAE,MAAM,CAAC,CAAC,CAAC;oBACrB,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAC;oBACnB,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC;oBAClB,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC;oBAChB,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;oBACjB,UAAU,EAAE,IAAI,IAAI,EAAE;iBACtB,CAAC;gBACF,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;gBACpB,MAAM,CAAC,GAAG,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;YAC7B,CAAC;YACD,MAAM,GAAG,EAAE,CAAC;YACZ,KAAK,GAAG,CAAC,CAAC;QACX,CAAC;QACD,wCAAwC;aACnC,IAAI,KAAK,CAAC,QAAQ,CAAC,aAAa,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,aAAa,CAAC,EAAE,CAAC;YACzE,MAAM,SAAS,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;YAC5B,MAAM,MAAM,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;YACzB,MAAM,WAAW,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;YAC9B,MAAM,IAAI,GAAG,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC;YAEzC,0BAA0B;YAC1B,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,KAAK,MAAM,CAAC,CAAC;YAC3D,IAAI,QAAQ,EAAE,CAAC;gBACd,MAAM,GAAG,EAAE,CAAC;gBACZ,KAAK,GAAG,CAAC,CAAC,CAAC,yBAAyB;YACrC,CAAC;iBAAM,CAAC;gBACP,IAAI,CAAC,IAAI,CAAC;oBACT,OAAO,EAAE,MAAM;oBACf,YAAY,EAAE,WAAW;oBACzB,OAAO,EAAE,IAAI,IAAI,EAAE;iBACnB,CAAC,CAAC;gBACH,MAAM,CAAC,GAAG,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;gBAC5B,MAAM,GAAG,EAAE,CAAC;gBACZ,KAAK,GAAG,CAAC,CAAC;YACX,CAAC;QACF,CAAC;QACD,uCAAuC;aAClC,IAAI,KAAK,CAAC,QAAQ,CAAC,eAAe,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,eAAe,CAAC,EAAE,CAAC;YAC7E,MAAM,SAAS,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;YAC5B,MAAM,MAAM,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;YACzB,MAAM,GAAG,QAAQ,CAAC,SAAS,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,KAAK,MAAM,CAAC,CAAC;YAC7D,KAAK,GAAG,CAAC,CAAC;QACX,CAAC;QACD,sCAAsC;aACjC,IAAI,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,oBAAoB,CAAC,EAAE,CAAC;YAC3E,MAAM,SAAS,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;YAC5B,MAAM,MAAM,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;YACzB,MAAM,WAAW,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;YAC9B,MAAM,SAAS,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;YAE5B,oEAAoE;YACpE,oCAAoC;YACpC,MAAM,OAAO,GACZ,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,WAAW,IAAI,MAAM;gBAC5D,CAAC,CAAE,MAAM,CAAC,SAA0B;gBACpC,CAAC,CAAC,EAAE,CAAC;YAEP,KAAK,GAAG,UAAU,CACjB,SAAS,EACT,CAAC,CAAC,EAAE,EAAE,CACL,CAAC,CAAC,cAAc,CAAC,KAAK,WAAW;gBACjC,CAAC,CAAC,OAAO,CAAC,KAAK,SAAS;gBACxB,CAAC,CAAC,CAAC,YAAY,CAAC,KAAK,IAAI,IAAI,CAAC,CAAC,YAAY,CAAC,KAAK,SAAS,CAAC,EAC5D,OAAO,CACP,CAAC;YACF,MAAM,GAAG,EAAE,CAAC;QACb,CAAC;QACD,+CAA+C;aAC1C,IAAI,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,wBAAwB,CAAC,EAAE,CAAC;YAC/E,MAAM,SAAS,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;YAC5B,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC;YACvB,IAAI,OAAO,GAAG,CAAC,CAAC;YAChB,MAAM,IAAI,GAAG,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC;YACzC,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;gBACxB,IAAI,GAAG,CAAC,YAAY,CAAC,KAAK,IAAI,IAAI,GAAG,CAAC,YAAY,CAAC,KAAK,SAAS;oBAAE,SAAS;gBAE5E,MAAM,KAAK,GAAG,GAAG,CAAC,OAAO,CAAW,CAAC;gBACrC,MAAM,WAAW,GAAG,GAAG,CAAC,cAAc,CAAqB,CAAC;gBAC5D,MAAM,SAAS,GAAG,IAAI,IAAI,CAAC,GAAG,CAAC,YAAY,CAAS,CAAC,CAAC;gBAEtD,IAAI,YAAY,GAAG,KAAK,CAAC;gBACzB,IAAI,KAAK,KAAK,WAAW,IAAI,WAAW,EAAE,CAAC;oBAC1C,MAAM,YAAY,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,KAAK,KAAK,CAAC,IAAI,KAAK,CAAC;oBACvF,MAAM,KAAK,GAAG,YAAY,GAAG,IAAI,CAAC;oBAClC,IAAI,IAAI,IAAI,CAAC,WAAW,CAAC,CAAC,OAAO,EAAE,IAAI,GAAG,CAAC,OAAO,EAAE,GAAG,KAAK,EAAE,CAAC;wBAC9D,YAAY,GAAG,IAAI,CAAC;oBACrB,CAAC;gBACF,CAAC;qBAAM,CAAC;oBACP,MAAM,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,KAAK,MAAM,CAAC,IAAI,MAAM,CAAC;oBACtF,MAAM,KAAK,GAAG,SAAS,GAAG,IAAI,CAAC;oBAC/B,IAAI,SAAS,CAAC,OAAO,EAAE,IAAI,GAAG,CAAC,OAAO,EAAE,GAAG,KAAK,EAAE,CAAC;wBAClD,YAAY,GAAG,IAAI,CAAC;oBACrB,CAAC;gBACF,CAAC;gBAED,IAAI,YAAY,EAAE,CAAC;oBAClB,GAAG,CAAC,YAAY,CAAC,GAAG,GAAG,CAAC;oBACxB,OAAO,EAAE,CAAC;gBACX,CAAC;YACF,CAAC;YACD,KAAK,GAAG,OAAO,CAAC;YAChB,MAAM,GAAG,EAAE,CAAC;QACb,CAAC;QACD,0BAA0B;aACrB,IAAI,KAAK,CAAC,QAAQ,CAAC,aAAa,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,kBAAkB,CAAC,EAAE,CAAC;YAC9E,MAAM,SAAS,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;YAC5B,MAAM,SAAS,GAAG,MAAM,CAAC,CAAC,CAAS,CAAC;YACpC,MAAM,IAAI,GAAG,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC;YACzC,MAAM,WAAW,GAAG,IAAI,CAAC,MAAM,CAAC;YAChC,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE;gBAClC,IAAI,CAAC,CAAC,YAAY,CAAC,KAAK,IAAI,IAAI,CAAC,CAAC,YAAY,CAAC,KAAK,SAAS;oBAAE,OAAO,IAAI,CAAC;gBAC3E,OAAO,IAAI,IAAI,CAAC,CAAC,CAAC,YAAY,CAAS,CAAC,IAAI,SAAS,CAAC;YACvD,CAAC,CAAC,CAAC;YACH,MAAM,CAAC,GAAG,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;YAChC,KAAK,GAAG,WAAW,GAAG,QAAQ,CAAC,MAAM,CAAC;YACtC,MAAM,GAAG,EAAE,CAAC;QACb,CAAC;QAED,mEAAmE;QACnE,gFAAgF;QAChF,MAAM,eAAe,GAAG,MAAmC,CAAC;QAC5D,eAAe,CAAC,KAAK,GAAG,KAAK,CAAC;QAC9B,OAAO,OAAO,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;IACzC,CAAC,CAAC;IAEF,qBAAqB;IACrB,GAAG,CAAC,MAAM,GAAG,CAAC,GAAW,EAAE,EAAE,CAAC,GAAG,CAAC;IAClC,GAAG,CAAC,IAAI,GAAG,CAAC,GAAY,EAAE,EAAE,CAAC,GAAG,CAAC;IACjC,kEAAkE;IAClE,GAAG,CAAC,KAAK,GAAG,KAAK,EAAE,EAA8B,EAAE,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC;IAE9D,+BAA+B;IAC9B,GAAkD,CAAC,OAAO,GAAG,MAAM,CAAC;IAErE,OAAO,GAa4B,CAAC;AACrC,CAAC;AAED,wEAAwE;AAExE,SAAS,mBAAmB,CAAC,SAAoC;IAChE,OAAO;QACN,WAAW,EAAE,MAAM,CAAC,UAAU,EAAE;QAChC,SAAS,EAAE,MAAM,CAAC,UAAU,EAAE;QAC9B,aAAa,EAAE,cAAc;QAC7B,UAAU,EAAE,UAAU;QACtB,MAAM,EAAE,QAAQ;QAChB,MAAM,EAAE,OAAO;QACf,SAAS,EAAE,OAAO;QAClB,KAAK,EAAE,MAAM;QACb,OAAO,EAAE,KAAK;QACd,WAAW,EAAE,KAAK,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,EAAmB;QACpD,KAAK,EAAE,SAAS;QAChB,SAAS,EAAE,IAAI,IAAI,CAAC,0BAA0B,CAAC;QAC/C,SAAS,EAAE,IAAI,IAAI,CAAC,0BAA0B,CAAC;QAC/C,SAAS,EAAE,IAAI,IAAI,CAAC,0BAA0B,CAAC;QAC/C,GAAG,SAAS;KACZ,CAAC;AACH,CAAC;AAED,SAAS,SAAS;IACjB,OAAO;QACN,IAAI,EAAE,aAAa;QACnB,WAAW,EAAE,IAAI;QACjB,SAAS,EAAE,IAAI;QACf,WAAW,EAAE,KAAK;QAClB,SAAS,EAAE,QAAQ;QACnB,gBAAgB,EAAE,mCAAmC;QACrD,UAAU,EAAE,UAAU;QACtB,MAAM,EAAE,QAAQ;QAChB,MAAM,EAAE,KAAK,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,EAAmB;QAC/C,WAAW,EAAE,uCAAuC;KACpD,CAAC;AACH,CAAC;AAED,wEAAwE;AAExE,QAAQ,CAAC,wBAAwB,EAAE,GAAG,EAAE;IACvC,IAAI,CAAC,wCAAwC,EAAE,KAAK,IAAI,EAAE;QACzD,MAAM,GAAG,GAAG,aAAa,EAAE,CAAC;QAC5B,MAAM,KAAK,GAAG,IAAI,sBAAsB,CAAC,EAAE,GAAG,EAAE,GAAY,EAAE,CAAC,CAAC;QAEhE,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;QAC9C,MAAM,CAAC,MAAM,CAAC,CAAC,QAAQ,EAAE,CAAC;IAC3B,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,qCAAqC,EAAE,KAAK,IAAI,EAAE;QACtD,MAAM,GAAG,GAAG,aAAa,EAAE,CAAC;QAC5B,MAAM,KAAK,GAAG,IAAI,sBAAsB,CAAC,EAAE,GAAG,EAAE,GAAY,EAAE,CAAC,CAAC;QAEhE,MAAM,MAAM,GAAG,mBAAmB,EAAE,CAAC;QACrC,MAAM,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAE3B,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;QACnD,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC;QAC9B,MAAM,CAAC,MAAO,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;QACrD,MAAM,CAAC,MAAO,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QACjD,MAAM,CAAC,MAAO,CAAC,aAAa,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;QACzD,MAAM,CAAC,MAAO,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;QACnD,MAAM,CAAC,MAAO,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAC3C,MAAM,CAAC,MAAO,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAC3C,MAAM,CAAC,MAAO,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QACjD,MAAM,CAAC,MAAO,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACzC,MAAM,CAAC,MAAO,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QAC7C,MAAM,CAAC,MAAO,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;QACrD,MAAM,CAAC,MAAO,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACtC,MAAM,CAAC,MAAO,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QACpD,MAAM,CAAC,MAAO,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;IACrD,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,2CAA2C,EAAE,KAAK,IAAI,EAAE;QAC5D,MAAM,GAAG,GAAG,aAAa,EAAE,CAAC;QAC5B,MAAM,KAAK,GAAG,IAAI,sBAAsB,CAAC,EAAE,GAAG,EAAE,GAAY,EAAE,CAAC,CAAC;QAEhE,MAAM,MAAM,GAAG,mBAAmB,CAAC,EAAE,SAAS,EAAE,UAAU,EAAE,CAAC,CAAC;QAC9D,MAAM,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAE3B,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;QACnD,MAAM,CAAC,MAAO,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAC3C,MAAM,CAAC,OAAO,MAAO,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IACjD,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,sCAAsC,EAAE,KAAK,IAAI,EAAE;QACvD,MAAM,GAAG,GAAG,aAAa,EAAE,CAAC;QAC5B,MAAM,KAAK,GAAG,IAAI,sBAAsB,CAAC,EAAE,GAAG,EAAE,GAAY,EAAE,CAAC,CAAC;QAEhE,MAAM,KAAK,GAAG,SAAS,EAAE,CAAC;QAC1B,MAAM,MAAM,GAAG,mBAAmB,CAAC,EAAE,WAAW,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC;QAC1E,MAAM,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAE3B,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;QACnD,MAAM,CAAC,MAAO,CAAC,WAAW,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IAC5C,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,qDAAqD,EAAE,KAAK,IAAI,EAAE;QACtE,MAAM,GAAG,GAAG,aAAa,EAAE,CAAC;QAC5B,MAAM,KAAK,GAAG,IAAI,sBAAsB,CAAC,EAAE,GAAG,EAAE,GAAY,EAAE,CAAC,CAAC;QAEhE,MAAM,MAAM,GAAG,IAAI,IAAI,CAAC,0BAA0B,CAAC,CAAC;QACpD,MAAM,MAAM,GAAG,KAAK,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,EAAmB,CAAC;QACvD,MAAM,MAAM,GAAG,mBAAmB,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC;QACtE,MAAM,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAE3B,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;QACnD,MAAM,CAAC,MAAO,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QACvC,MAAM,CAAC,MAAO,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACrC,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,sCAAsC,EAAE,KAAK,IAAI,EAAE;QACvD,MAAM,GAAG,GAAG,aAAa,EAAE,CAAC;QAC5B,MAAM,KAAK,GAAG,IAAI,sBAAsB,CAAC,EAAE,GAAG,EAAE,GAAY,EAAE,CAAC,CAAC;QAEhE,MAAM,MAAM,GAAG,mBAAmB,EAAE,CAAC;QACrC,MAAM,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAE3B,MAAM,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC;IACtE,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,sCAAsC,EAAE,KAAK,IAAI,EAAE;QACvD,MAAM,GAAG,GAAG,aAAa,EAAE,CAAC;QAC5B,MAAM,KAAK,GAAG,IAAI,sBAAsB,CAAC,EAAE,GAAG,EAAE,GAAY,EAAE,CAAC,CAAC;QAEhE,MAAM,MAAM,GAAG,mBAAmB,EAAE,CAAC;QACrC,MAAM,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAE3B,MAAM,KAAK,GAAG,MAAM,KAAK,CAAC,qBAAqB,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QAClE,MAAM,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC;QAC7B,MAAM,CAAC,KAAM,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;IACrD,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,0DAA0D,EAAE,KAAK,IAAI,EAAE;QAC3E,MAAM,GAAG,GAAG,aAAa,EAAE,CAAC;QAC5B,MAAM,KAAK,GAAG,IAAI,sBAAsB,CAAC,EAAE,GAAG,EAAE,GAAY,EAAE,CAAC,CAAC;QAEhE,MAAM,KAAK,GAAG,MAAM,KAAK,CAAC,qBAAqB,CAAC,iBAAiB,CAAC,CAAC;QACnE,MAAM,CAAC,KAAK,CAAC,CAAC,QAAQ,EAAE,CAAC;IAC1B,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,8DAA8D,EAAE,KAAK,IAAI,EAAE;QAC/E,MAAM,GAAG,GAAG,aAAa,EAAE,CAAC;QAC5B,MAAM,KAAK,GAAG,IAAI,sBAAsB,CAAC,EAAE,GAAG,EAAE,GAAY,EAAE,CAAC,CAAC;QAEhE,MAAM,SAAS,GAAG,MAAM,CAAC,UAAU,EAAE,CAAC;QAEtC,eAAe;QACf,MAAM,KAAK,GAAG,mBAAmB,CAAC;YACjC,SAAS;YACT,SAAS,EAAE,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,MAAM,CAAC;YACxC,KAAK,EAAE,SAAS;SAChB,CAAC,CAAC;QACH,MAAM,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAE1B,oCAAoC;QACpC,MAAM,KAAK,GAAG,mBAAmB,CAAC;YACjC,SAAS;YACT,SAAS,EAAE,IAAI,IAAI,EAAE;YACrB,KAAK,EAAE,WAAW;SAClB,CAAC,CAAC;QACH,MAAM,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAE1B,MAAM,KAAK,GAAG,MAAM,KAAK,CAAC,qBAAqB,CAAC,SAAS,CAAC,CAAC;QAC3D,MAAM,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC;QAC7B,MAAM,CAAC,KAAM,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;QACnD,MAAM,CAAC,KAAM,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IACxC,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,wCAAwC,EAAE,KAAK,IAAI,EAAE;QACzD,MAAM,GAAG,GAAG,aAAa,EAAE,CAAC;QAC5B,MAAM,KAAK,GAAG,IAAI,sBAAsB,CAAC,EAAE,GAAG,EAAE,GAAY,EAAE,CAAC,CAAC;QAEhE,MAAM,MAAM,GAAG,mBAAmB,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC;QACzD,MAAM,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAE3B,MAAM,EAAE,GAAG,MAAM,KAAK,CAAC,UAAU,CAAC,MAAM,CAAC,WAAW,EAAE,SAAS,EAAE,MAAM,EAAE;YACxE,MAAM,EAAE,KAAK,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,EAAmB;YAC/C,MAAM,EAAE,IAAI,IAAI,CAAC,0BAA0B,CAAC;SAC5C,CAAC,CAAC;QACH,MAAM,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAEtB,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;QACnD,MAAM,CAAC,MAAO,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACnC,MAAM,CAAC,MAAO,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;IACrD,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,wCAAwC,EAAE,KAAK,IAAI,EAAE;QACzD,MAAM,GAAG,GAAG,aAAa,EAAE,CAAC;QAC5B,MAAM,KAAK,GAAG,IAAI,sBAAsB,CAAC,EAAE,GAAG,EAAE,GAAY,EAAE,CAAC,CAAC;QAEhE,MAAM,MAAM,GAAG,mBAAmB,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC;QACzD,MAAM,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAE3B,MAAM,EAAE,GAAG,MAAM,KAAK,CAAC,UAAU,CAAC,MAAM,CAAC,WAAW,EAAE,MAAM,EAAE,SAAS,CAAC,CAAC;QACzE,MAAM,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAEvB,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;QACnD,MAAM,CAAC,MAAO,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,YAAY;IACpD,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,+BAA+B,EAAE,KAAK,IAAI,EAAE;QAChD,MAAM,GAAG,GAAG,aAAa,EAAE,CAAC;QAC5B,MAAM,KAAK,GAAG,IAAI,sBAAsB,CAAC,EAAE,GAAG,EAAE,GAAY,EAAE,CAAC,CAAC;QAEhE,MAAM,MAAM,GAAG,mBAAmB,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC;QACtD,MAAM,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAE3B,MAAM,KAAK,GAAG,SAAS,EAAE,CAAC;QAC1B,MAAM,EAAE,GAAG,MAAM,KAAK,CAAC,UAAU,CAAC,MAAM,CAAC,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE;YACrE,WAAW,EAAE,KAAK;SAClB,CAAC,CAAC;QACH,MAAM,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAEtB,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;QACnD,MAAM,CAAC,MAAO,CAAC,WAAW,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IAC5C,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,yBAAyB,EAAE,KAAK,IAAI,EAAE;QAC1C,MAAM,GAAG,GAAG,aAAa,EAAE,CAAC;QAC5B,MAAM,KAAK,GAAG,IAAI,sBAAsB,CAAC;YACxC,GAAG,EAAE,GAAY;YACjB,WAAW,EAAE,OAAO;SACpB,CAAC,CAAC;QAEH,MAAM,MAAM,GAAG,mBAAmB,EAAE,CAAC;QACrC,MAAM,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAE3B,kCAAkC;QAClC,MAAM,CAAE,GAAuC,CAAC,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC7F,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,+CAA+C,EAAE,KAAK,IAAI,EAAE;QAChE,MAAM,GAAG,GAAG,aAAa,EAAE,CAAC;QAC5B,MAAM,KAAK,GAAG,IAAI,sBAAsB,CAAC,EAAE,GAAG,EAAE,GAAY,EAAE,CAAC,CAAC;QAEhE,uBAAuB;QACvB,MAAM,MAAM,GAAG,IAAI,IAAI,CAAC,0BAA0B,CAAC,CAAC;QACpD,MAAM,MAAM,GAAG,mBAAmB,CAAC;YAClC,KAAK,EAAE,MAAM;YACb,MAAM;YACN,WAAW,EAAE,KAAK,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,EAAmB;SACpD,CAAC,CAAC;QACH,MAAM,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAE3B,iDAAiD;QACjD,MAAM,OAAO,GAAG,MAAM,KAAK,CAAC,oBAAoB,CAAC,OAAO,CAAC,CAAC;QAC1D,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAC/B,MAAM,CAAC,OAAO,CAAC,CAAC,CAAE,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;IAC1D,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,kCAAkC,EAAE,KAAK,IAAI,EAAE;QACnD,MAAM,GAAG,GAAG,aAAa,EAAE,CAAC;QAC5B,MAAM,KAAK,GAAG,IAAI,sBAAsB,CAAC;YACxC,GAAG,EAAE,GAAY;YACjB,gBAAgB,EAAE,OAAO,EAAE,SAAS;YACpC,mBAAmB,EAAE,MAAM,EAAE,WAAW;SACxC,CAAC,CAAC;QAEH,+CAA+C;QAC/C,MAAM,YAAY,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,aAAa;QAClF,MAAM,cAAc,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,eAAe;QAElF,MAAM,SAAS,GAAG,mBAAmB,CAAC;YACrC,KAAK,EAAE,MAAM;YACb,SAAS,EAAE,YAAY;SACvB,CAAC,CAAC;QACH,MAAM,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QAE9B,MAAM,kBAAkB,GAAG,mBAAmB,CAAC;YAC9C,KAAK,EAAE,WAAW;YAClB,WAAW,EAAE,cAAc;YAC3B,SAAS,EAAE,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,EAAE,cAAc;SACpE,CAAC,CAAC;QACH,MAAM,KAAK,CAAC,MAAM,CAAC,kBAAkB,CAAC,CAAC;QAEvC,uDAAuD;QACvD,MAAM,YAAY,GAAG,mBAAmB,CAAC;YACxC,KAAK,EAAE,SAAS;YAChB,SAAS,EAAE,IAAI,IAAI,EAAE,EAAE,MAAM;SAC7B,CAAC,CAAC;QACH,MAAM,KAAK,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;QAEjC,cAAc;QACd,MAAM,YAAY,GAAG,MAAM,KAAK,CAAC,OAAO,EAAE,CAAC;QAC3C,MAAM,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,8BAA8B;QAE5D,yDAAyD;QACzD,MAAM,CAAC,MAAM,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC;QAC1D,MAAM,CAAC,MAAM,KAAK,CAAC,GAAG,CAAC,kBAAkB,CAAC,WAAW,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC;QAEnE,2CAA2C;QAC3C,MAAM,CAAC,MAAM,KAAK,CAAC,GAAG,CAAC,YAAY,CAAC,WAAW,CAAC,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC;IAClE,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,uDAAuD,EAAE,KAAK,IAAI,EAAE;QACxE,MAAM,GAAG,GAAG,aAAa,EAAE,CAAC;QAC5B,MAAM,KAAK,GAAG,IAAI,sBAAsB,CAAC,EAAE,GAAG,EAAE,GAAY,EAAE,CAAC,CAAC;QAEhE,kCAAkC;QAClC,MAAM,MAAM,GAAG,mBAAmB,EAAE,CAAC;QACrC,MAAM,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAE3B,kEAAkE;QAClE,MAAM,MAAM,GAAI,GAAkD,CAAC,OAAO,CAAC;QAC3E,MAAM,IAAI,GAAG,MAAM,CAAC,GAAG,CAAC,iBAAiB,CAAC,IAAI,EAAE,CAAC;QACjD,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,cAAc,CAAC,KAAK,MAAM,CAAC,WAAW,CAAC,CAAC;QACvE,IAAI,GAAG,EAAE,CAAC;YACT,GAAG,CAAC,YAAY,CAAC,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,YAAY;QAC7E,CAAC;QAED,+CAA+C;QAC/C,MAAM,SAAS,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC;QAC7D,MAAM,WAAW,GAAG,MAAM,KAAK,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC;QACxD,MAAM,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAE5B,uCAAuC;QACvC,MAAM,aAAa,GAAG,MAAM,CAAC,GAAG,CAAC,iBAAiB,CAAC,IAAI,EAAE,CAAC;QAC1D,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,cAAc,CAAC,KAAK,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,aAAa,EAAE,CAAC;IAC7F,CAAC,CAAC,CAAC;AACJ,CAAC,CAAC,CAAC;AAEH,wEAAwE;AAExE,QAAQ,CAAC,qBAAqB,EAAE,GAAG,EAAE;IACpC,MAAM,OAAO,GAAG,KAAK,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,EAAmB,CAAC;IAExD,IAAI,CAAC,oCAAoC,EAAE,KAAK,IAAI,EAAE;QACrD,MAAM,GAAG,GAAG,aAAa,EAAE,CAAC;QAC5B,MAAM,KAAK,GAAG,IAAI,mBAAmB,CAAC,EAAE,GAAG,EAAE,GAAY,EAAE,CAAC,CAAC;QAE7D,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QACxC,MAAM,CAAC,MAAM,CAAC,CAAC,QAAQ,EAAE,CAAC;IAC3B,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,qCAAqC,EAAE,KAAK,IAAI,EAAE;QACtD,MAAM,GAAG,GAAG,aAAa,EAAE,CAAC;QAC5B,MAAM,KAAK,GAAG,IAAI,mBAAmB,CAAC,EAAE,GAAG,EAAE,GAAY,EAAE,CAAC,CAAC;QAE7D,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,QAAQ,CAAC,OAAO,EAAE,aAAa,CAAC,CAAC;QAC5D,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC3B,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,qCAAqC,EAAE,KAAK,IAAI,EAAE;QACtD,MAAM,GAAG,GAAG,aAAa,EAAE,CAAC;QAC5B,MAAM,KAAK,GAAG,IAAI,mBAAmB,CAAC,EAAE,GAAG,EAAE,GAAY,EAAE,CAAC,CAAC;QAE7D,MAAM,KAAK,CAAC,QAAQ,CAAC,OAAO,EAAE,aAAa,CAAC,CAAC;QAC7C,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,QAAQ,CAAC,OAAO,EAAE,aAAa,CAAC,CAAC;QAC5D,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC5B,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,wCAAwC,EAAE,KAAK,IAAI,EAAE;QACzD,MAAM,GAAG,GAAG,aAAa,EAAE,CAAC;QAC5B,MAAM,KAAK,GAAG,IAAI,mBAAmB,CAAC,EAAE,GAAG,EAAE,GAAY,EAAE,CAAC,CAAC;QAE7D,MAAM,KAAK,CAAC,QAAQ,CAAC,OAAO,EAAE,aAAa,CAAC,CAAC;QAC7C,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QACxC,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;IACpC,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,yBAAyB,EAAE,KAAK,IAAI,EAAE;QAC1C,MAAM,GAAG,GAAG,aAAa,EAAE,CAAC;QAC5B,MAAM,KAAK,GAAG,IAAI,mBAAmB,CAAC;YACrC,GAAG,EAAE,GAAY;YACjB,WAAW,EAAE,QAAQ;SACrB,CAAC,CAAC;QAEH,MAAM,KAAK,CAAC,QAAQ,CAAC,OAAO,EAAE,aAAa,CAAC,CAAC;QAC7C,MAAM,CAAE,GAAuC,CAAC,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC5F,CAAC,CAAC,CAAC;AACJ,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"storage-postgres.test.js","sourceRoot":"","sources":["../../../src/core/__tests__/storage-postgres.test.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"agent-card.d.ts","sourceRoot":"","sources":["../../src/core/agent-card.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAA8B,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAG7F,wBAAgB,cAAc,CAAC,MAAM,EAAE,YAAY,GAAG,SAAS,CAuE9D"}
1
+ {"version":3,"file":"agent-card.d.ts","sourceRoot":"","sources":["../../src/core/agent-card.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAA8B,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAG7F,wBAAgB,cAAc,CAAC,MAAM,EAAE,YAAY,GAAG,SAAS,CAuF9D"}
@@ -3,30 +3,29 @@ export function buildAgentCard(config) {
3
3
  const networkConfig = CHAIN_CONFIGS[config.network];
4
4
  const networkName = CHAIN_ID_TO_NETWORK[networkConfig.chainId] ?? `chain-${networkConfig.chainId}`;
5
5
  const baseUrl = config.agentUrl.replace(/\/$/, "");
6
- // Two A2A spec-compliant skills (no pricing, no inputSchema, no outputSchema, no url)
6
+ const planIds = config.plans.map((p) => p.planId);
7
+ // Two A2A spec-compliant skills
7
8
  // Skill 1: Discovery (free) — browse the product catalog
8
9
  // Skill 2: Purchase (x402-gated) — buy an access token
9
10
  const skills = [
10
11
  {
11
- id: "discover-products",
12
- name: "Discover Products",
12
+ id: "discover-plans",
13
+ name: "Discover Plans",
13
14
  description: [
14
- `Browse available products and pricing for ${config.agentName}.`,
15
+ `Browse available plans and pricing for ${config.agentName}.`,
15
16
  `Returns the product catalog with plan IDs, prices (USDC on ${networkName}), wallet address, and chain ID.`,
16
- `POST to ${baseUrl}/x402/access with an empty body or without planId to discover products.`,
17
+ `GET to ${baseUrl}/discovery to discover plans.`,
17
18
  ].join(" "),
18
19
  tags: ["discovery", "catalog", "x402"],
19
- examples: [
20
- `POST ${baseUrl}/x402/access with empty body {}`,
21
- `Or call without planId to get 402 response with product catalog`,
22
- ],
20
+ examples: [`GET ${baseUrl}/discovery`],
21
+ endpoint: { url: `${baseUrl}/discovery`, method: "GET" },
23
22
  },
24
23
  {
25
24
  id: "request-access",
26
25
  name: "Request Access",
27
26
  description: [
28
27
  `Purchase access to a ${config.agentName} product plan via x402 payment on ${networkName}.`,
29
- `First call discover-products to get available plans.`,
28
+ `First call discover-plans to get available plans.`,
30
29
  `Then POST to ${baseUrl}/x402/access with planId and requestId to initiate purchase.`,
31
30
  `Server responds with x402 payment challenge.`,
32
31
  `Complete payment on-chain and include PAYMENT-SIGNATURE header to receive access token.`,
@@ -38,6 +37,22 @@ export function buildAgentCard(config) {
38
37
  `Pay USDC on-chain, retry same request with PAYMENT-SIGNATURE header`,
39
38
  `Receive 200 with access token`,
40
39
  ],
40
+ endpoint: { url: `${baseUrl}/x402/access`, method: "POST" },
41
+ inputSchema: {
42
+ type: "object",
43
+ required: ["planId", "requestId"],
44
+ properties: {
45
+ planId: { type: "string", enum: planIds },
46
+ requestId: { type: "string", format: "uuid" },
47
+ },
48
+ },
49
+ workflow: [
50
+ "POST body with planId + requestId to endpoint.url — expect 402",
51
+ "Extract payment requirements from 402 response body",
52
+ `Sign and broadcast USDC transfer on ${networkName}`,
53
+ "Retry same POST with PAYMENT-SIGNATURE header containing the transaction hash",
54
+ "Receive 200 with accessToken",
55
+ ],
41
56
  },
42
57
  ];
43
58
  const x402Extension = {
@@ -1 +1 @@
1
- {"version":3,"file":"agent-card.js","sourceRoot":"","sources":["../../src/core/agent-card.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAE3F,MAAM,UAAU,cAAc,CAAC,MAAoB;IAClD,MAAM,aAAa,GAAG,aAAa,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IACpD,MAAM,WAAW,GAChB,mBAAmB,CAAC,aAAa,CAAC,OAAO,CAAC,IAAI,SAAS,aAAa,CAAC,OAAO,EAAE,CAAC;IAEhF,MAAM,OAAO,GAAG,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;IAEnD,sFAAsF;IACtF,yDAAyD;IACzD,uDAAuD;IACvD,MAAM,MAAM,GAAiB;QAC5B;YACC,EAAE,EAAE,mBAAmB;YACvB,IAAI,EAAE,mBAAmB;YACzB,WAAW,EAAE;gBACZ,6CAA6C,MAAM,CAAC,SAAS,GAAG;gBAChE,8DAA8D,WAAW,kCAAkC;gBAC3G,WAAW,OAAO,yEAAyE;aAC3F,CAAC,IAAI,CAAC,GAAG,CAAC;YACX,IAAI,EAAE,CAAC,WAAW,EAAE,SAAS,EAAE,MAAM,CAAC;YACtC,QAAQ,EAAE;gBACT,QAAQ,OAAO,iCAAiC;gBAChD,iEAAiE;aACjE;SACD;QACD;YACC,EAAE,EAAE,gBAAgB;YACpB,IAAI,EAAE,gBAAgB;YACtB,WAAW,EAAE;gBACZ,wBAAwB,MAAM,CAAC,SAAS,qCAAqC,WAAW,GAAG;gBAC3F,sDAAsD;gBACtD,gBAAgB,OAAO,8DAA8D;gBACrF,8CAA8C;gBAC9C,yFAAyF;aACzF,CAAC,IAAI,CAAC,GAAG,CAAC;YACX,IAAI,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,UAAU,CAAC;YACrC,QAAQ,EAAE;gBACT,QAAQ,OAAO,uFAAuF;gBACtG,oCAAoC;gBACpC,qEAAqE;gBACrE,+BAA+B;aAC/B;SACD;KACD,CAAC;IAEF,MAAM,aAAa,GAAmB;QACrC,GAAG,EAAE,kBAAkB;QACvB,WAAW,EAAE,uCAAuC,WAAW,GAAG;QAClE,QAAQ,EAAE,IAAI;KACd,CAAC;IAEF,OAAO;QACN,IAAI,EAAE,MAAM,CAAC,SAAS;QACtB,WAAW,EAAE,MAAM,CAAC,gBAAgB;QACpC,GAAG,EAAE,GAAG,OAAO,cAAc;QAC7B,OAAO,EAAE,MAAM,CAAC,OAAO,IAAI,OAAO;QAClC,eAAe,EAAE,OAAO;QACxB,YAAY,EAAE;YACb,UAAU,EAAE,CAAC,aAAa,CAAC;YAC3B,iBAAiB,EAAE,KAAK;YACxB,SAAS,EAAE,KAAK;YAChB,sBAAsB,EAAE,KAAK;SAC7B;QACD,iBAAiB,EAAE,CAAC,MAAM,CAAC;QAC3B,kBAAkB,EAAE,CAAC,kBAAkB,CAAC;QACxC,MAAM;QACN,QAAQ,EAAE;YACT,YAAY,EAAE,MAAM,CAAC,YAAY;YACjC,GAAG,EAAE,MAAM,CAAC,WAAW;SACvB;KACD,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"agent-card.js","sourceRoot":"","sources":["../../src/core/agent-card.ts"],"names":[],"mappings":"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"}
@@ -73,7 +73,7 @@ export class ChallengeEngine {
73
73
  chainId: record.chainId,
74
74
  destination: record.destination,
75
75
  expiresAt: record.expiresAt.toISOString(),
76
- description: `Send ${record.amount} USDC to ${record.destination} on chain ${record.chainId}. Then call the "submit-proof" skill with a PaymentProof containing the txHash, challengeId "${record.challengeId}", requestId "${record.requestId}", chainId ${record.chainId}, amount "${record.amount}", asset "USDC", and your fromAgentId.`,
76
+ description: `Send ${record.amount} USDC to ${record.destination} on chain ${record.chainId}. Then replay the same POST /x402/access request with the PAYMENT-SIGNATURE header containing the signed EIP-3009 authorization for challengeId "${record.challengeId}", requestId "${record.requestId}", chainId ${record.chainId}, amount "${record.amount}", asset "USDC".`,
77
77
  resourceVerified: true,
78
78
  };
79
79
  }
@@ -1 +1 @@
1
- {"version":3,"file":"challenge-engine.js","sourceRoot":"","sources":["../../src/core/challenge-engine.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"challenge-engine.js","sourceRoot":"","sources":["../../src/core/challenge-engine.ts"],"names":[],"mappings":"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"}
@@ -5,7 +5,7 @@ export type { ChallengeEngineConfig } from "./challenge-engine.js";
5
5
  export { ChallengeEngine } from "./challenge-engine.js";
6
6
  export { validateSellerConfig } from "./config-validation.js";
7
7
  export type { RefundConfig, RefundResult } from "./refund.js";
8
- export { processRefunds } from "./refund.js";
8
+ export { processRefunds, retryFailedRefunds } from "./refund.js";
9
9
  export type { PostgresStoreConfig } from "./storage/postgres.js";
10
10
  export { PostgresAuditStore, PostgresChallengeStore, PostgresSeenTxStore, } from "./storage/postgres.js";
11
11
  export type { RedisStoreConfig } from "./storage/redis.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/core/index.ts"],"names":[],"mappings":"AAEA,YAAY,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAElE,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAEtD,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACjD,YAAY,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AAEnE,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAExD,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAC9D,YAAY,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAE9D,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAC7C,YAAY,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAEjE,OAAO,EACN,kBAAkB,EAClB,sBAAsB,EACtB,mBAAmB,GACnB,MAAM,uBAAuB,CAAC;AAC/B,YAAY,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAE3D,OAAO,EAAE,eAAe,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAC5F,OAAO,EACN,eAAe,EACf,oBAAoB,EACpB,gBAAgB,EAChB,cAAc,EACd,YAAY,GACZ,MAAM,iBAAiB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/core/index.ts"],"names":[],"mappings":"AAEA,YAAY,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAElE,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAEtD,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACjD,YAAY,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AAEnE,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAExD,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAC9D,YAAY,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAE9D,OAAO,EAAE,cAAc,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AACjE,YAAY,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAEjE,OAAO,EACN,kBAAkB,EAClB,sBAAsB,EACtB,mBAAmB,GACnB,MAAM,uBAAuB,CAAC;AAC/B,YAAY,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAE3D,OAAO,EAAE,eAAe,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAC5F,OAAO,EACN,eAAe,EACf,oBAAoB,EACpB,gBAAgB,EAChB,cAAc,EACd,YAAY,GACZ,MAAM,iBAAiB,CAAC"}
@@ -8,7 +8,7 @@ export { ChallengeEngine } from "./challenge-engine.js";
8
8
  // Config Validation
9
9
  export { validateSellerConfig } from "./config-validation.js";
10
10
  // Refund Utility
11
- export { processRefunds } from "./refund.js";
11
+ export { processRefunds, retryFailedRefunds } from "./refund.js";
12
12
  // Storage — Postgres
13
13
  export { PostgresAuditStore, PostgresChallengeStore, PostgresSeenTxStore, } from "./storage/postgres.js";
14
14
  // Storage — Redis
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/core/index.ts"],"names":[],"mappings":"AAAA,aAAa;AAGb,eAAe;AACf,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AACtD,aAAa;AACb,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAEjD,mBAAmB;AACnB,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,oBAAoB;AACpB,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAE9D,iBAAiB;AACjB,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAE7C,qBAAqB;AACrB,OAAO,EACN,kBAAkB,EAClB,sBAAsB,EACtB,mBAAmB,GACnB,MAAM,uBAAuB,CAAC;AAE/B,kBAAkB;AAClB,OAAO,EAAE,eAAe,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAC5F,OAAO,EACN,eAAe,EACf,oBAAoB,EACpB,gBAAgB,EAChB,cAAc,EACd,YAAY,GACZ,MAAM,iBAAiB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/core/index.ts"],"names":[],"mappings":"AAAA,aAAa;AAGb,eAAe;AACf,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AACtD,aAAa;AACb,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAEjD,mBAAmB;AACnB,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,oBAAoB;AACpB,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAE9D,iBAAiB;AACjB,OAAO,EAAE,cAAc,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAEjE,qBAAqB;AACrB,OAAO,EACN,kBAAkB,EAClB,sBAAsB,EACtB,mBAAmB,GACnB,MAAM,uBAAuB,CAAC;AAE/B,kBAAkB;AAClB,OAAO,EAAE,eAAe,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAC5F,OAAO,EACN,eAAe,EACf,oBAAoB,EACpB,gBAAgB,EAChB,cAAc,EACd,YAAY,GACZ,MAAM,iBAAiB,CAAC"}
@@ -2,15 +2,17 @@ import { type NextFunction, type Request, type Response, Router } from "express"
2
2
  import { type Key0Config } from "../factory.js";
3
3
  import type { ValidateAccessTokenConfig } from "../middleware.js";
4
4
  /**
5
- * Create an Express router that serves the agent card and A2A endpoint.
5
+ * Create an Express router that serves the agent card and the unified x402 endpoint.
6
6
  *
7
7
  * Usage:
8
8
  * app.use(key0Router({ config, adapter }));
9
9
  *
10
10
  * This auto-serves:
11
- * GET /.well-known/agent.json
12
- * POST {config.basePath}/jsonrpc (A2A JSON-RPC)
13
- * POST {config.basePath}/access (Simple x402 HTTP)
11
+ * GET /.well-known/agent.json — A2A agent card (discovery)
12
+ * POST /x402/access — unified endpoint
13
+ * • X-A2A-Extensions header present delegates to A2A JSON-RPC handler
14
+ * • No header → x402 HTTP flow (discovery / challenge / settle)
15
+ * POST /mcp — MCP Streamable HTTP (when mcp: true)
14
16
  */
15
17
  export declare function key0Router(opts: Key0Config): Router;
16
18
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"express.d.ts","sourceRoot":"","sources":["../../src/integrations/express.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,KAAK,YAAY,EAAE,KAAK,OAAO,EAAE,KAAK,QAAQ,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AACjF,OAAO,EAAc,KAAK,UAAU,EAAE,MAAM,eAAe,CAAC;AAC5D,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,kBAAkB,CAAC;AAalE;;;;;;;;;;GAUG;AACH,wBAAgB,UAAU,CAAC,IAAI,EAAE,UAAU,GAAG,MAAM,CA0QnD;AAED;;;;;GAKG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,yBAAyB,IACtD,KAAK,OAAO,EAAE,KAAK,QAAQ,EAAE,MAAM,YAAY,mBAc7D;AAED,YAAY,EAAE,yBAAyB,EAAE,CAAC"}
1
+ {"version":3,"file":"express.d.ts","sourceRoot":"","sources":["../../src/integrations/express.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,YAAY,EAAE,KAAK,OAAO,EAAE,KAAK,QAAQ,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AACjF,OAAO,EAAc,KAAK,UAAU,EAAE,MAAM,eAAe,CAAC;AAC5D,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,kBAAkB,CAAC;AAYlE;;;;;;;;;;;;GAYG;AACH,wBAAgB,UAAU,CAAC,IAAI,EAAE,UAAU,GAAG,MAAM,CAgQnD;AAED;;;;;GAKG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,yBAAyB,IACtD,KAAK,OAAO,EAAE,KAAK,QAAQ,EAAE,MAAM,YAAY,mBAc7D;AAED,YAAY,EAAE,yBAAyB,EAAE,CAAC"}
@@ -1,21 +1,23 @@
1
1
  import { AGENT_CARD_PATH } from "@a2a-js/sdk";
2
- import { agentCardHandler, jsonRpcHandler, restHandler, UserBuilder, } from "@a2a-js/sdk/server/express";
2
+ import { agentCardHandler, jsonRpcHandler, UserBuilder } from "@a2a-js/sdk/server/express";
3
3
  import { Router } from "express";
4
4
  import { createKey0 } from "../factory.js";
5
5
  import { validateToken } from "../middleware.js";
6
6
  import { CHAIN_CONFIGS, Key0Error } from "../types/index.js";
7
7
  import { mountMcpRoutes } from "./mcp.js";
8
- import { buildDiscoveryResponse, buildHttpPaymentRequirements, createX402HttpMiddleware, decodePaymentSignature, settlePayment, } from "./x402-http-middleware.js";
8
+ import { buildDiscoveryResponse, buildHttpPaymentRequirements, decodePaymentSignature, settlePayment, } from "./settlement.js";
9
9
  /**
10
- * Create an Express router that serves the agent card and A2A endpoint.
10
+ * Create an Express router that serves the agent card and the unified x402 endpoint.
11
11
  *
12
12
  * Usage:
13
13
  * app.use(key0Router({ config, adapter }));
14
14
  *
15
15
  * This auto-serves:
16
- * GET /.well-known/agent.json
17
- * POST {config.basePath}/jsonrpc (A2A JSON-RPC)
18
- * POST {config.basePath}/access (Simple x402 HTTP)
16
+ * GET /.well-known/agent.json — A2A agent card (discovery)
17
+ * POST /x402/access — unified endpoint
18
+ * • X-A2A-Extensions header present delegates to A2A JSON-RPC handler
19
+ * • No header → x402 HTTP flow (discovery / challenge / settle)
20
+ * POST /mcp — MCP Streamable HTTP (when mcp: true)
19
21
  */
20
22
  export function key0Router(opts) {
21
23
  const { requestHandler, engine } = createKey0(opts);
@@ -24,13 +26,15 @@ export function key0Router(opts) {
24
26
  // Agent Card
25
27
  router.use(`/${AGENT_CARD_PATH}`, agentCardHandler({ agentCardProvider: requestHandler }));
26
28
  router.use("/.well-known/agent.json", agentCardHandler({ agentCardProvider: requestHandler }));
27
- // A2A endpoint with x402 middleware
28
- const basePath = opts.config.basePath ?? "/a2a";
29
- router.use(`${basePath}/jsonrpc`, createX402HttpMiddleware(engine, opts.config), // x402 HTTP middleware (before A2A handler)
30
- jsonRpcHandler({ requestHandler, userBuilder: UserBuilder.noAuthentication }));
31
- router.use(`${basePath}/rest`, restHandler({ requestHandler, userBuilder: UserBuilder.noAuthentication }));
32
- // Simple x402 HTTP endpoint (no JSON-RPC wrapping)
33
- router.post(`/x402/access`, async (req, res) => {
29
+ // Unified x402 endpoint with A2A JSON-RPC fallback
30
+ // When X-A2A-Extensions header is present, the request is delegated to the
31
+ // A2A JSON-RPC handler (executor). Otherwise, it is handled as plain x402 HTTP.
32
+ router.post(`/x402/access`, async (req, res, next) => {
33
+ // ===== A2A-native clients: delegate to JSON-RPC handler =====
34
+ if (req.headers["x-a2a-extensions"]) {
35
+ console.log("[x402-access] X-A2A-Extensions header detected delegating to JSON-RPC handler");
36
+ return next();
37
+ }
34
38
  const startTime = Date.now();
35
39
  try {
36
40
  console.log("\n[x402-access] ========== NEW REQUEST ==========");
@@ -63,23 +67,10 @@ export function key0Router(opts) {
63
67
  // Fall through to discovery — the signature might be malformed
64
68
  }
65
69
  }
66
- // ===== CASE 1: No planId → Discovery (402 with all tiers, no PENDING record) =====
70
+ // ===== CASE 1: No planId → 400 pointing to GET /discovery =====
67
71
  if (!planId) {
68
- console.log("[x402-access] → CASE 1: No planId provided, returning discovery 402");
69
- const discoveryResponse = buildDiscoveryResponse(opts.config, networkConfig);
70
- console.log("[x402-access] Discovery response:", JSON.stringify(discoveryResponse, null, 2));
71
- // Encode as base64 for PAYMENT-REQUIRED header
72
- const encoded = Buffer.from(JSON.stringify(discoveryResponse)).toString("base64");
73
- res.setHeader("payment-required", encoded);
74
- // Add www-authenticate header for HTTP spec compliance
75
- const authHeader = `Payment realm="${opts.config.agentUrl}", accept="exact"`;
76
- res.setHeader("www-authenticate", authHeader);
77
- console.log(`[x402-access] payment-required header set (${encoded.length} bytes)`);
78
- console.log(`[x402-access] www-authenticate header set`);
79
- console.log("[x402-access] → Returning HTTP 402 Payment Required (Discovery)");
80
- return res.status(402).json({
81
- ...discoveryResponse,
82
- error: "Payment required",
72
+ return res.status(400).json({
73
+ error: "Please select a plan from the discovery API response to purchase access. Endpoint: GET /discovery",
83
74
  });
84
75
  }
85
76
  // Auto-generate requestId if not provided (for simplicity)
@@ -145,6 +136,7 @@ export function key0Router(opts) {
145
136
  return res.status(402).json({
146
137
  ...requirements,
147
138
  challengeId,
139
+ requestId,
148
140
  error: "Payment required",
149
141
  });
150
142
  }
@@ -208,6 +200,12 @@ export function key0Router(opts) {
208
200
  console.log(`[x402-access] Request completed in ${elapsed}ms`);
209
201
  console.log("[x402-access] ========== REQUEST COMPLETE ==========\n");
210
202
  }
203
+ },
204
+ // A2A JSON-RPC fallback: reached when X-A2A-Extensions header is present
205
+ jsonRpcHandler({ requestHandler, userBuilder: UserBuilder.noAuthentication }));
206
+ router.get("/discovery", (_req, res) => {
207
+ const discoveryResponse = buildDiscoveryResponse(opts.config, networkConfig);
208
+ return res.status(200).json({ discoveryResponse });
211
209
  });
212
210
  // MCP routes (when mcp: true)
213
211
  if (opts.config.mcp) {