@dainprotocol/service-sdk 2.0.66 → 2.0.68

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 (101) hide show
  1. package/dist/index.d.ts +1 -1
  2. package/dist/index.js +8 -1
  3. package/dist/index.js.map +1 -1
  4. package/dist/service/index.d.ts +4 -2
  5. package/dist/service/index.js +8 -1
  6. package/dist/service/index.js.map +1 -1
  7. package/dist/service/nodeService.d.ts +4 -2
  8. package/dist/service/nodeService.js +8 -1
  9. package/dist/service/nodeService.js.map +1 -1
  10. package/dist/service/oauth2Manager.js +3 -2
  11. package/dist/service/oauth2Manager.js.map +1 -1
  12. package/dist/service/server.js +84 -9
  13. package/dist/service/server.js.map +1 -1
  14. package/dist/service/service.js +15 -2
  15. package/dist/service/service.js.map +1 -1
  16. package/dist/service/skills.d.ts +106 -0
  17. package/dist/service/skills.js +156 -0
  18. package/dist/service/skills.js.map +1 -0
  19. package/dist/service/trigger-forwarder.d.ts +47 -0
  20. package/dist/service/trigger-forwarder.js +91 -0
  21. package/dist/service/trigger-forwarder.js.map +1 -0
  22. package/dist/service/types.d.ts +4 -0
  23. package/dist/service/webhooks.d.ts +109 -10
  24. package/dist/service/webhooks.js +184 -30
  25. package/dist/service/webhooks.js.map +1 -1
  26. package/package.json +1 -1
  27. package/dist/__tests__/api-sdk.test.d.ts +0 -1
  28. package/dist/__tests__/api-sdk.test.js +0 -102
  29. package/dist/__tests__/api-sdk.test.js.map +0 -1
  30. package/dist/__tests__/auth.test.d.ts +0 -1
  31. package/dist/__tests__/auth.test.js +0 -110
  32. package/dist/__tests__/auth.test.js.map +0 -1
  33. package/dist/__tests__/citations-plugin.test.d.ts +0 -1
  34. package/dist/__tests__/citations-plugin.test.js +0 -491
  35. package/dist/__tests__/citations-plugin.test.js.map +0 -1
  36. package/dist/__tests__/context-behavior.test.d.ts +0 -1
  37. package/dist/__tests__/context-behavior.test.js +0 -290
  38. package/dist/__tests__/context-behavior.test.js.map +0 -1
  39. package/dist/__tests__/convertToVercelTool.test.d.ts +0 -1
  40. package/dist/__tests__/convertToVercelTool.test.js +0 -527
  41. package/dist/__tests__/convertToVercelTool.test.js.map +0 -1
  42. package/dist/__tests__/core.test.d.ts +0 -1
  43. package/dist/__tests__/core.test.js +0 -154
  44. package/dist/__tests__/core.test.js.map +0 -1
  45. package/dist/__tests__/crypto-plugin.test.d.ts +0 -1
  46. package/dist/__tests__/crypto-plugin.test.js +0 -694
  47. package/dist/__tests__/crypto-plugin.test.js.map +0 -1
  48. package/dist/__tests__/humanActions.test.d.ts +0 -1
  49. package/dist/__tests__/humanActions.test.js +0 -221
  50. package/dist/__tests__/humanActions.test.js.map +0 -1
  51. package/dist/__tests__/integration.test.d.ts +0 -1
  52. package/dist/__tests__/integration.test.js +0 -1573
  53. package/dist/__tests__/integration.test.js.map +0 -1
  54. package/dist/__tests__/mealMeSchemas.test.d.ts +0 -576
  55. package/dist/__tests__/mealMeSchemas.test.js +0 -627
  56. package/dist/__tests__/mealMeSchemas.test.js.map +0 -1
  57. package/dist/__tests__/oauth-context-simple.test.d.ts +0 -1
  58. package/dist/__tests__/oauth-context-simple.test.js +0 -90
  59. package/dist/__tests__/oauth-context-simple.test.js.map +0 -1
  60. package/dist/__tests__/oauth-context.test.d.ts +0 -1
  61. package/dist/__tests__/oauth-context.test.js +0 -282
  62. package/dist/__tests__/oauth-context.test.js.map +0 -1
  63. package/dist/__tests__/oauth.test.d.ts +0 -1
  64. package/dist/__tests__/oauth.test.js +0 -378
  65. package/dist/__tests__/oauth.test.js.map +0 -1
  66. package/dist/__tests__/oauth2-client-context.test.d.ts +0 -1
  67. package/dist/__tests__/oauth2-client-context.test.js +0 -165
  68. package/dist/__tests__/oauth2-client-context.test.js.map +0 -1
  69. package/dist/__tests__/oauth2-client-integration.test.d.ts +0 -1
  70. package/dist/__tests__/oauth2-client-integration.test.js +0 -182
  71. package/dist/__tests__/oauth2-client-integration.test.js.map +0 -1
  72. package/dist/__tests__/oauth2-client-simple.test.d.ts +0 -1
  73. package/dist/__tests__/oauth2-client-simple.test.js +0 -144
  74. package/dist/__tests__/oauth2-client-simple.test.js.map +0 -1
  75. package/dist/__tests__/oauth2-context.test.d.ts +0 -1
  76. package/dist/__tests__/oauth2-context.test.js +0 -201
  77. package/dist/__tests__/oauth2-context.test.js.map +0 -1
  78. package/dist/__tests__/oauth2-datasource.test.d.ts +0 -1
  79. package/dist/__tests__/oauth2-datasource.test.js +0 -251
  80. package/dist/__tests__/oauth2-datasource.test.js.map +0 -1
  81. package/dist/__tests__/plugin.test.d.ts +0 -1
  82. package/dist/__tests__/plugin.test.js +0 -900
  83. package/dist/__tests__/plugin.test.js.map +0 -1
  84. package/dist/__tests__/processes.test.d.ts +0 -1
  85. package/dist/__tests__/processes.test.js +0 -239
  86. package/dist/__tests__/processes.test.js.map +0 -1
  87. package/dist/__tests__/streaming.test.d.ts +0 -1
  88. package/dist/__tests__/streaming.test.js +0 -592
  89. package/dist/__tests__/streaming.test.js.map +0 -1
  90. package/dist/__tests__/testEnums.d.ts +0 -1
  91. package/dist/__tests__/testEnums.js +0 -73
  92. package/dist/__tests__/testEnums.js.map +0 -1
  93. package/dist/__tests__/testOptionals.test.d.ts +0 -1
  94. package/dist/__tests__/testOptionals.test.js +0 -83
  95. package/dist/__tests__/testOptionals.test.js.map +0 -1
  96. package/dist/__tests__/types.test.d.ts +0 -1
  97. package/dist/__tests__/types.test.js +0 -98
  98. package/dist/__tests__/types.test.js.map +0 -1
  99. package/dist/service/zod-json-converter.d.ts +0 -14
  100. package/dist/service/zod-json-converter.js +0 -203
  101. package/dist/service/zod-json-converter.js.map +0 -1
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@dainprotocol/service-sdk",
3
- "version": "2.0.66",
3
+ "version": "2.0.68",
4
4
  "description": "DAIN Service SDK",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -1 +0,0 @@
1
- export {};
@@ -1,102 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const tslib_1 = require("tslib");
4
- const api_sdk_1 = require("../client/api-sdk");
5
- const client_auth_1 = require("../client/client-auth");
6
- const ed25519_1 = require("@noble/curves/ed25519");
7
- const bs58_1 = tslib_1.__importDefault(require("bs58"));
8
- const nodeService_1 = require("../service/nodeService");
9
- const zod_1 = require("zod");
10
- describe("DainSDK", () => {
11
- const privateKey = ed25519_1.ed25519.utils.randomPrivateKey();
12
- const publicKey = ed25519_1.ed25519.getPublicKey(privateKey);
13
- const clientPrivateKey = ed25519_1.ed25519.utils.randomPrivateKey();
14
- const agentAuth = new client_auth_1.DainClientAuth({
15
- privateKeyBase58: bs58_1.default.encode(clientPrivateKey),
16
- agentId: "agent-12",
17
- orgId: "org-12",
18
- });
19
- // Create test tools with different schema types
20
- const simpleTestTool = (0, nodeService_1.createTool)({
21
- id: "simple-test-tool",
22
- name: "my-test-tool-name",
23
- description: "Test tool with simple types",
24
- input: zod_1.z.object({
25
- stringParam: zod_1.z.string().describe("A string parameter"),
26
- numberParam: zod_1.z.number().describe("A number parameter"),
27
- booleanParam: zod_1.z.boolean().describe("A boolean parameter"),
28
- optionalParam: zod_1.z.string().optional().describe("An optional parameter"),
29
- enumParam: zod_1.z.enum(["option1", "option2", "option3"]).describe("An enum parameter"),
30
- }),
31
- output: zod_1.z.object({ result: zod_1.z.string() }),
32
- pricing: { pricePerUse: 0.01, currency: "USD" },
33
- handler: async ({ stringParam }) => ({
34
- text: `Processed: ${stringParam}`,
35
- data: { result: `Processed: ${stringParam}` },
36
- ui: null,
37
- }),
38
- });
39
- const complexTestTool = (0, nodeService_1.createTool)({
40
- id: "complex-test-tool",
41
- name: "complex-tool-name",
42
- description: "Test tool with complex types",
43
- input: zod_1.z.object({
44
- arrayParam: zod_1.z.array(zod_1.z.string()).describe("Array of strings"),
45
- objectParam: zod_1.z.object({
46
- nested: zod_1.z.number(),
47
- deeplyNested: zod_1.z.object({
48
- value: zod_1.z.boolean(),
49
- }),
50
- }).describe("Nested object"),
51
- unionParam: zod_1.z.union([
52
- zod_1.z.string(),
53
- zod_1.z.number(),
54
- ]).describe("String or number"),
55
- recordParam: zod_1.z.record(zod_1.z.string(), zod_1.z.number()).describe("Record of numbers"),
56
- defaultParam: zod_1.z.string().default("default value"),
57
- }),
58
- output: zod_1.z.object({ result: zod_1.z.string() }),
59
- pricing: { pricePerUse: 0.01, currency: "USD" },
60
- handler: async () => ({
61
- text: "Processed complex input",
62
- data: { result: "Processed complex input" },
63
- ui: null,
64
- }),
65
- });
66
- // Create test service with both tools
67
- const dainService = (0, nodeService_1.defineDAINService)({
68
- metadata: {
69
- title: "Test DAIN Service",
70
- description: "A test DAIN service",
71
- version: "1.0.0",
72
- author: "Test Author",
73
- tags: ["test"],
74
- },
75
- identity: {
76
- publicKey: bs58_1.default.encode(publicKey),
77
- agentId: "test-agent",
78
- orgId: "test-org",
79
- privateKey: bs58_1.default.encode(privateKey),
80
- },
81
- tools: [simpleTestTool, complexTestTool],
82
- });
83
- let server;
84
- let sdk;
85
- beforeAll(async () => {
86
- server = await dainService.startNode({ port: 3081 });
87
- sdk = new api_sdk_1.DainSDK("http://localhost:3081", agentAuth);
88
- await sdk.initialize();
89
- });
90
- afterAll(async () => {
91
- if (server) {
92
- await server.shutdown();
93
- }
94
- });
95
- describe("Docs tests not implemented yet - THIS NEEDS TO BE CREATED", () => {
96
- it("Docs output- THIS NEEDS TO BE CREATED", async () => {
97
- const docs = await sdk.getDocumentation();
98
- expect(docs.length).toBeGreaterThan(0);
99
- });
100
- });
101
- });
102
- //# sourceMappingURL=api-sdk.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"api-sdk.test.js","sourceRoot":"","sources":["../../src/__tests__/api-sdk.test.ts"],"names":[],"mappings":";;;AAAA,+CAA4C;AAC5C,uDAAuD;AACvD,mDAAgD;AAChD,wDAAwB;AACxB,wDAAuE;AACvE,6BAAwB;AAGxB,QAAQ,CAAC,SAAS,EAAE,GAAG,EAAE;IACvB,MAAM,UAAU,GAAG,iBAAO,CAAC,KAAK,CAAC,gBAAgB,EAAE,CAAC;IACpD,MAAM,SAAS,GAAG,iBAAO,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC;IACnD,MAAM,gBAAgB,GAAG,iBAAO,CAAC,KAAK,CAAC,gBAAgB,EAAE,CAAC;IAE1D,MAAM,SAAS,GAAG,IAAI,4BAAc,CAAC;QACnC,gBAAgB,EAAE,cAAI,CAAC,MAAM,CAAC,gBAAgB,CAAC;QAC/C,OAAO,EAAE,UAAU;QACnB,KAAK,EAAE,QAAQ;KAChB,CAAC,CAAC;IAEH,gDAAgD;IAChD,MAAM,cAAc,GAAG,IAAA,wBAAU,EAAC;QAChC,EAAE,EAAE,kBAAkB;QACtB,IAAI,EAAE,mBAAmB;QACzB,WAAW,EAAE,6BAA6B;QAC1C,KAAK,EAAE,OAAC,CAAC,MAAM,CAAC;YACd,WAAW,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,oBAAoB,CAAC;YACtD,WAAW,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,oBAAoB,CAAC;YACtD,YAAY,EAAE,OAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,CAAC,qBAAqB,CAAC;YACzD,aAAa,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,uBAAuB,CAAC;YACtE,SAAS,EAAE,OAAC,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,mBAAmB,CAAC;SACnF,CAAC;QACF,MAAM,EAAE,OAAC,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,OAAC,CAAC,MAAM,EAAE,EAAE,CAAC;QACxC,OAAO,EAAE,EAAE,WAAW,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE;QAC/C,OAAO,EAAE,KAAK,EAAE,EAAE,WAAW,EAAE,EAAE,EAAE,CAAC,CAAC;YACnC,IAAI,EAAE,cAAc,WAAW,EAAE;YACjC,IAAI,EAAE,EAAE,MAAM,EAAE,cAAc,WAAW,EAAE,EAAE;YAC7C,EAAE,EAAE,IAAI;SACT,CAAC;KACH,CAAC,CAAC;IAEH,MAAM,eAAe,GAAG,IAAA,wBAAU,EAAC;QACjC,EAAE,EAAE,mBAAmB;QACvB,IAAI,EAAE,mBAAmB;QACzB,WAAW,EAAE,8BAA8B;QAC3C,KAAK,EAAE,OAAC,CAAC,MAAM,CAAC;YACd,UAAU,EAAE,OAAC,CAAC,KAAK,CAAC,OAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,CAAC,kBAAkB,CAAC;YAC5D,WAAW,EAAE,OAAC,CAAC,MAAM,CAAC;gBACpB,MAAM,EAAE,OAAC,CAAC,MAAM,EAAE;gBAClB,YAAY,EAAE,OAAC,CAAC,MAAM,CAAC;oBACrB,KAAK,EAAE,OAAC,CAAC,OAAO,EAAE;iBACnB,CAAC;aACH,CAAC,CAAC,QAAQ,CAAC,eAAe,CAAC;YAC5B,UAAU,EAAE,OAAC,CAAC,KAAK,CAAC;gBAClB,OAAC,CAAC,MAAM,EAAE;gBACV,OAAC,CAAC,MAAM,EAAE;aACX,CAAC,CAAC,QAAQ,CAAC,kBAAkB,CAAC;YAC/B,WAAW,EAAE,OAAC,CAAC,MAAM,CAAC,OAAC,CAAC,MAAM,EAAE,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,CAAC,mBAAmB,CAAC;YAC3E,YAAY,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,eAAe,CAAC;SAClD,CAAC;QACF,MAAM,EAAE,OAAC,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,OAAC,CAAC,MAAM,EAAE,EAAE,CAAC;QACxC,OAAO,EAAE,EAAE,WAAW,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE;QAC/C,OAAO,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC;YACpB,IAAI,EAAE,yBAAyB;YAC/B,IAAI,EAAE,EAAE,MAAM,EAAE,yBAAyB,EAAE;YAC3C,EAAE,EAAE,IAAI;SACT,CAAC;KACH,CAAC,CAAC;IAEH,sCAAsC;IACtC,MAAM,WAAW,GAAG,IAAA,+BAAiB,EAAC;QACpC,QAAQ,EAAE;YACR,KAAK,EAAE,mBAAmB;YAC1B,WAAW,EAAE,qBAAqB;YAClC,OAAO,EAAE,OAAO;YAChB,MAAM,EAAE,aAAa;YACrB,IAAI,EAAE,CAAC,MAAM,CAAC;SACf;QACD,QAAQ,EAAE;YACR,SAAS,EAAE,cAAI,CAAC,MAAM,CAAC,SAAS,CAAC;YACjC,OAAO,EAAE,YAAY;YACrB,KAAK,EAAE,UAAU;YACjB,UAAU,EAAE,cAAI,CAAC,MAAM,CAAC,UAAU,CAAC;SACpC;QACD,KAAK,EAAE,CAAC,cAAc,EAAE,eAAe,CAAC;KACzC,CAAC,CAAC;IAEH,IAAI,MAAW,CAAC;IAChB,IAAI,GAAY,CAAC;IAEjB,SAAS,CAAC,KAAK,IAAI,EAAE;QACnB,MAAM,GAAG,MAAM,WAAW,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;QACrD,GAAG,GAAG,IAAI,iBAAO,CAAC,uBAAuB,EAAE,SAAS,CAAC,CAAC;QACtD,MAAM,GAAG,CAAC,UAAU,EAAE,CAAC;IACzB,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,KAAK,IAAI,EAAE;QAClB,IAAI,MAAM,EAAE,CAAC;YACX,MAAM,MAAM,CAAC,QAAQ,EAAE,CAAC;QAC1B,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,2DAA2D,EAAE,GAAG,EAAE;QAEzE,EAAE,CAAC,uCAAuC,EAAE,KAAK,IAAI,EAAE;YACtD,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,gBAAgB,EAAE,CAAC;YAC1C,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;QACxC,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -1 +0,0 @@
1
- export {};
@@ -1,110 +0,0 @@
1
- "use strict";
2
- // File: src/__tests__/auth.test.ts
3
- Object.defineProperty(exports, "__esModule", { value: true });
4
- const tslib_1 = require("tslib");
5
- const client_auth_1 = require("@/client/client-auth");
6
- const auth_1 = require("../service/auth");
7
- const ed25519_1 = require("@noble/curves/ed25519");
8
- const sha256_1 = require("@noble/hashes/sha256");
9
- const utils_1 = require("@noble/hashes/utils");
10
- const bs58_1 = tslib_1.__importDefault(require("bs58"));
11
- describe("Auth Module", () => {
12
- // Generate a key pair for testing
13
- const privateKey = ed25519_1.ed25519.utils.randomPrivateKey();
14
- const publicKey = ed25519_1.ed25519.getPublicKey(privateKey);
15
- // Convert public key to base58 (Solana address format)
16
- const address = bs58_1.default.encode(publicKey);
17
- const clientPrivateKey = ed25519_1.ed25519.utils.randomPrivateKey();
18
- const clientAddress = bs58_1.default.encode(ed25519_1.ed25519.getPublicKey(clientPrivateKey));
19
- const agentAuth = new client_auth_1.DainClientAuth({
20
- privateKeyBase58: bs58_1.default.encode(clientPrivateKey),
21
- agentId: "agent-12",
22
- orgId: "org-12",
23
- });
24
- test("verifySignature validates correct signatures", () => {
25
- const message = "Hello, World!";
26
- const messageHash = (0, sha256_1.sha256)(message);
27
- const signature = ed25519_1.ed25519.sign(messageHash, privateKey);
28
- expect((0, auth_1.verifySignature)((0, utils_1.bytesToHex)(signature), message, address)).toBe(true);
29
- });
30
- test("verifySignature rejects incorrect signatures", () => {
31
- const message = "Hello, World!";
32
- const incorrectMessage = "Hello, World?";
33
- const messageHash = (0, sha256_1.sha256)(message);
34
- const signature = ed25519_1.ed25519.sign(messageHash, privateKey);
35
- expect((0, auth_1.verifySignature)((0, utils_1.bytesToHex)(signature), incorrectMessage, address)).toBe(false);
36
- });
37
- test("isValidSolanaAddress correctly validates Solana addresses", () => {
38
- expect((0, auth_1.isValidSolanaAddress)(address)).toBe(true);
39
- expect((0, auth_1.isValidSolanaAddress)("invalid_address")).toBe(false);
40
- });
41
- test.only("createRequestSignature generates a valid signature", async () => {
42
- const method = "GET";
43
- const path = "/api/test";
44
- const headers = { "content-type": "application/json" };
45
- const body = "{}";
46
- const { signature, timestamp } = await agentAuth.signRequest(method, path, body);
47
- headers["X-DAIN-TIMESTAMP"] = timestamp;
48
- const verified = (0, auth_1.verifyRequestSignature)(signature, method, path, (0, auth_1.sanitizeHeaders)(headers), body, clientAddress, undefined);
49
- expect(verified).toBe(true);
50
- });
51
- test("verifyRequestSignature validates correct request signatures", async () => {
52
- const method = "POST";
53
- const path = "/api/test";
54
- const headers = { "content-type": "application/json" };
55
- const body = JSON.stringify({ key: "value" });
56
- const { signature, timestamp } = await agentAuth.signRequest(method, path, body);
57
- const validHeaders = { ...headers, "X-DAIN-TIMESTAMP": timestamp };
58
- expect((0, auth_1.verifyRequestSignature)(signature, method, path, validHeaders, body, clientAddress, undefined)).toBe(true);
59
- });
60
- test("verifyRequestSignature rejects incorrect request signatures", async () => {
61
- const method = "POST";
62
- const path = "/api/test";
63
- const headers = { "content-type": "application/json" };
64
- const body = JSON.stringify({ key: "value" });
65
- const { signature, timestamp } = await agentAuth.signRequest(method, path, body);
66
- const invalidHeaders = {
67
- ...headers,
68
- "X-DAIN-TIMESTAMP": (parseInt(timestamp) + 1).toString(),
69
- }; // Modifying timestamp
70
- expect((0, auth_1.verifyRequestSignature)(signature, method, path, invalidHeaders, body, clientAddress, undefined)).toBe(false);
71
- });
72
- describe("signResponse and verifyResponse", () => {
73
- it("should sign a response and verify it successfully", () => {
74
- const privateKey = ed25519_1.ed25519.utils.randomPrivateKey();
75
- const publicKey = ed25519_1.ed25519.getPublicKey(privateKey);
76
- const responseBody = JSON.stringify({ message: "Hello, World!" });
77
- const { signature, timestamp } = (0, auth_1.signResponse)(privateKey, responseBody);
78
- const isValid = (0, auth_1.verifyResponse)(publicKey, responseBody, signature, timestamp);
79
- expect(isValid).toBe(true);
80
- });
81
- it("should fail verification with tampered response body", () => {
82
- const privateKey = ed25519_1.ed25519.utils.randomPrivateKey();
83
- const publicKey = ed25519_1.ed25519.getPublicKey(privateKey);
84
- const responseBody = JSON.stringify({ message: "Hello, World!" });
85
- const { signature, timestamp } = (0, auth_1.signResponse)(privateKey, responseBody);
86
- const tamperedBody = JSON.stringify({ message: "Tampered message" });
87
- const isValid = (0, auth_1.verifyResponse)(publicKey, tamperedBody, signature, timestamp);
88
- expect(isValid).toBe(false);
89
- });
90
- it("should fail verification with incorrect public key", () => {
91
- const privateKey = ed25519_1.ed25519.utils.randomPrivateKey();
92
- const wrongPrivateKey = ed25519_1.ed25519.utils.randomPrivateKey();
93
- const wrongPublicKey = ed25519_1.ed25519.getPublicKey(wrongPrivateKey);
94
- const responseBody = JSON.stringify({ message: "Hello, World!" });
95
- const { signature, timestamp } = (0, auth_1.signResponse)(privateKey, responseBody);
96
- const isValid = (0, auth_1.verifyResponse)(wrongPublicKey, responseBody, signature, timestamp);
97
- expect(isValid).toBe(false);
98
- });
99
- it("should fail verification with tampered timestamp", () => {
100
- const privateKey = ed25519_1.ed25519.utils.randomPrivateKey();
101
- const publicKey = ed25519_1.ed25519.getPublicKey(privateKey);
102
- const responseBody = JSON.stringify({ message: "Hello, World!" });
103
- const { signature, timestamp } = (0, auth_1.signResponse)(privateKey, responseBody);
104
- const tamperedTimestamp = (parseInt(timestamp) + 1000).toString();
105
- const isValid = (0, auth_1.verifyResponse)(publicKey, responseBody, signature, tamperedTimestamp);
106
- expect(isValid).toBe(false);
107
- });
108
- });
109
- });
110
- //# sourceMappingURL=auth.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"auth.test.js","sourceRoot":"","sources":["../../src/__tests__/auth.test.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- export {};