@opendatalabs/connect 0.5.0 → 0.6.0-canary.e07e97e

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 (68) hide show
  1. package/README.md +180 -51
  2. package/dist/core/constants.d.ts +32 -2
  3. package/dist/core/constants.d.ts.map +1 -1
  4. package/dist/core/constants.js +24 -2
  5. package/dist/core/constants.js.map +1 -1
  6. package/dist/core/errors.d.ts +43 -2
  7. package/dist/core/errors.d.ts.map +1 -1
  8. package/dist/core/errors.js +39 -0
  9. package/dist/core/errors.js.map +1 -1
  10. package/dist/core/grants.d.ts +19 -0
  11. package/dist/core/grants.d.ts.map +1 -0
  12. package/dist/core/grants.js +31 -0
  13. package/dist/core/grants.js.map +1 -0
  14. package/dist/core/index.d.ts +3 -2
  15. package/dist/core/index.d.ts.map +1 -1
  16. package/dist/core/index.js +3 -2
  17. package/dist/core/index.js.map +1 -1
  18. package/dist/core/types.d.ts +62 -1
  19. package/dist/core/types.d.ts.map +1 -1
  20. package/dist/react/ConnectButton.d.ts +16 -1
  21. package/dist/react/ConnectButton.d.ts.map +1 -1
  22. package/dist/react/ConnectButton.js +12 -5
  23. package/dist/react/ConnectButton.js.map +1 -1
  24. package/dist/react/index.d.ts +1 -0
  25. package/dist/react/index.d.ts.map +1 -1
  26. package/dist/react/index.js +1 -0
  27. package/dist/react/index.js.map +1 -1
  28. package/dist/react/useVanaConnect.d.ts +35 -2
  29. package/dist/react/useVanaConnect.d.ts.map +1 -1
  30. package/dist/react/useVanaConnect.js +36 -8
  31. package/dist/react/useVanaConnect.js.map +1 -1
  32. package/dist/react/useVanaData.d.ts +69 -0
  33. package/dist/react/useVanaData.d.ts.map +1 -0
  34. package/dist/react/useVanaData.js +131 -0
  35. package/dist/react/useVanaData.js.map +1 -0
  36. package/dist/server/config.d.ts +36 -0
  37. package/dist/server/config.d.ts.map +1 -0
  38. package/dist/server/config.js +44 -0
  39. package/dist/server/config.js.map +1 -0
  40. package/dist/server/connect.d.ts +40 -1
  41. package/dist/server/connect.d.ts.map +1 -1
  42. package/dist/server/connect.js +64 -6
  43. package/dist/server/connect.js.map +1 -1
  44. package/dist/server/data-client.d.ts +17 -0
  45. package/dist/server/data-client.d.ts.map +1 -1
  46. package/dist/server/data-client.js +24 -7
  47. package/dist/server/data-client.js.map +1 -1
  48. package/dist/server/index.d.ts +3 -1
  49. package/dist/server/index.d.ts.map +1 -1
  50. package/dist/server/index.js +3 -1
  51. package/dist/server/index.js.map +1 -1
  52. package/dist/server/manifest-signer.d.ts +22 -0
  53. package/dist/server/manifest-signer.d.ts.map +1 -1
  54. package/dist/server/manifest-signer.js +22 -0
  55. package/dist/server/manifest-signer.js.map +1 -1
  56. package/dist/server/request-signer.d.ts +18 -0
  57. package/dist/server/request-signer.d.ts.map +1 -1
  58. package/dist/server/request-signer.js +6 -0
  59. package/dist/server/request-signer.js.map +1 -1
  60. package/dist/server/session-relay.d.ts +30 -2
  61. package/dist/server/session-relay.d.ts.map +1 -1
  62. package/dist/server/session-relay.js +12 -4
  63. package/dist/server/session-relay.js.map +1 -1
  64. package/dist/server/webhook.d.ts +11 -0
  65. package/dist/server/webhook.d.ts.map +1 -0
  66. package/dist/server/webhook.js +18 -0
  67. package/dist/server/webhook.js.map +1 -0
  68. package/package.json +3 -4
@@ -1,5 +1,13 @@
1
- import { ConnectError } from "../core/errors.js";
1
+ import { ConnectError, ConnectErrorCode } from "../core/errors.js";
2
2
  import { createRequestSigner } from "./request-signer.js";
3
+ /**
4
+ * Creates a low-level Session Relay client.
5
+ *
6
+ * Prefer the high-level {@link connect} function for most use cases.
7
+ *
8
+ * @param config - Session Relay configuration.
9
+ * @returns A {@link SessionRelay} instance.
10
+ */
3
11
  export function createSessionRelay(config) {
4
12
  const baseUrl = config.sessionRelayUrl.replace(/\/+$/, "");
5
13
  const signer = createRequestSigner({ privateKey: config.privateKey });
@@ -33,7 +41,7 @@ export function createSessionRelay(config) {
33
41
  .message
34
42
  : `Session init failed: ${res.status}`;
35
43
  throw new ConnectError(errorMsg, errorBody.error
36
- ?.errorCode ?? "SESSION_INIT_FAILED", res.status);
44
+ ?.errorCode ?? ConnectErrorCode.SESSION_INIT_FAILED, res.status);
37
45
  }
38
46
  return (await res.json());
39
47
  },
@@ -42,7 +50,7 @@ export function createSessionRelay(config) {
42
50
  if (!res.ok) {
43
51
  const errorBody = await res.json().catch(() => ({}));
44
52
  throw new ConnectError(`Poll failed: ${res.status}`, errorBody.error
45
- ?.errorCode ?? "POLL_FAILED", res.status);
53
+ ?.errorCode ?? ConnectErrorCode.POLL_FAILED, res.status);
46
54
  }
47
55
  return (await res.json());
48
56
  },
@@ -59,7 +67,7 @@ export function createSessionRelay(config) {
59
67
  }
60
68
  await new Promise((resolve) => setTimeout(resolve, interval));
61
69
  }
62
- throw new ConnectError("Polling timed out", "POLL_TIMEOUT");
70
+ throw new ConnectError("Polling timed out", ConnectErrorCode.POLL_TIMEOUT);
63
71
  },
64
72
  };
65
73
  }
@@ -1 +1 @@
1
- {"version":3,"file":"session-relay.js","sourceRoot":"","sources":["../../src/server/session-relay.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"session-relay.js","sourceRoot":"","sources":["../../src/server/session-relay.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,11 @@
1
+ /**
2
+ * Verifies a webhook payload signature.
3
+ *
4
+ * @param payload - The raw request body as a string or Buffer.
5
+ * @param signature - The signature from the webhook request header.
6
+ * @param secret - The shared secret used to verify the signature.
7
+ * @returns The verified payload.
8
+ * @throws {@link ConnectError} with code `WEBHOOK_INVALID` — this function is not yet implemented.
9
+ */
10
+ export declare function verifyWebhook(payload: string | Buffer, signature: string, secret: string): unknown;
11
+ //# sourceMappingURL=webhook.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"webhook.d.ts","sourceRoot":"","sources":["../../src/server/webhook.ts"],"names":[],"mappings":"AAEA;;;;;;;;GAQG;AACH,wBAAgB,aAAa,CAC3B,OAAO,EAAE,MAAM,GAAG,MAAM,EACxB,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,MAAM,GACb,OAAO,CAUT"}
@@ -0,0 +1,18 @@
1
+ import { ConnectError, ConnectErrorCode } from "../core/errors.js";
2
+ /**
3
+ * Verifies a webhook payload signature.
4
+ *
5
+ * @param payload - The raw request body as a string or Buffer.
6
+ * @param signature - The signature from the webhook request header.
7
+ * @param secret - The shared secret used to verify the signature.
8
+ * @returns The verified payload.
9
+ * @throws {@link ConnectError} with code `WEBHOOK_INVALID` — this function is not yet implemented.
10
+ */
11
+ export function verifyWebhook(payload, signature, secret) {
12
+ void payload;
13
+ void signature;
14
+ void secret;
15
+ // TODO: Implement when Data Portability Protocol webhook signing spec is available
16
+ throw new ConnectError("verifyWebhook() is not yet implemented. Webhook signing scheme is pending protocol specification.", ConnectErrorCode.WEBHOOK_INVALID);
17
+ }
18
+ //# sourceMappingURL=webhook.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"webhook.js","sourceRoot":"","sources":["../../src/server/webhook.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAEnE;;;;;;;;GAQG;AACH,MAAM,UAAU,aAAa,CAC3B,OAAwB,EACxB,SAAiB,EACjB,MAAc;IAEd,KAAK,OAAO,CAAC;IACb,KAAK,SAAS,CAAC;IACf,KAAK,MAAM,CAAC;IAEZ,mFAAmF;IACnF,MAAM,IAAI,YAAY,CACpB,mGAAmG,EACnG,gBAAgB,CAAC,eAAe,CACjC,CAAC;AACJ,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@opendatalabs/connect",
3
- "version": "0.5.0",
3
+ "version": "0.6.0-canary.e07e97e",
4
4
  "description": "SDK for integrating Vana Data Portability 'Connect data' flows",
5
5
  "license": "MIT",
6
6
  "repository": {
@@ -12,6 +12,7 @@
12
12
  "url": "https://github.com/vana-com/vana-connect/issues"
13
13
  },
14
14
  "type": "module",
15
+ "sideEffects": false,
15
16
  "publishConfig": {
16
17
  "access": "public"
17
18
  },
@@ -39,6 +40,7 @@
39
40
  "scripts": {
40
41
  "build": "tsc --build",
41
42
  "clean": "tsc --build --clean",
43
+ "skills:sync": "node scripts/sync-skills.js",
42
44
  "test": "vitest run",
43
45
  "test:watch": "vitest",
44
46
  "test:e2e": "vitest run --config test/e2e/vitest.config.ts",
@@ -69,9 +71,6 @@
69
71
  "peerDependenciesMeta": {
70
72
  "react": {
71
73
  "optional": true
72
- },
73
- "viem": {
74
- "optional": true
75
74
  }
76
75
  },
77
76
  "devDependencies": {