@opendatalabs/personal-server-ts-core 0.2.0 → 1.0.1

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 (340) hide show
  1. package/dist/api/index.d.ts +160 -0
  2. package/dist/api/index.d.ts.map +1 -0
  3. package/dist/api/index.js +774 -0
  4. package/dist/api/index.js.map +1 -0
  5. package/dist/auth/index.d.ts +2 -0
  6. package/dist/auth/index.d.ts.map +1 -0
  7. package/dist/auth/index.js +2 -0
  8. package/dist/auth/index.js.map +1 -0
  9. package/dist/auth/request.d.ts +28 -0
  10. package/dist/auth/request.d.ts.map +1 -0
  11. package/dist/auth/request.js +106 -0
  12. package/dist/auth/request.js.map +1 -0
  13. package/dist/client.d.ts +233 -0
  14. package/dist/client.d.ts.map +1 -0
  15. package/dist/client.js +243 -0
  16. package/dist/client.js.map +1 -0
  17. package/dist/config/defaults.d.ts +5 -5
  18. package/dist/config/defaults.d.ts.map +1 -1
  19. package/dist/config/defaults.js +3 -5
  20. package/dist/config/defaults.js.map +1 -1
  21. package/dist/config/index.d.ts +0 -1
  22. package/dist/config/index.d.ts.map +1 -1
  23. package/dist/config/index.js +0 -1
  24. package/dist/config/index.js.map +1 -1
  25. package/dist/config/paths.d.ts.map +1 -1
  26. package/dist/config/paths.js +1 -9
  27. package/dist/config/paths.js.map +1 -1
  28. package/dist/contracts/access-logs.d.ts +8 -0
  29. package/dist/contracts/access-logs.d.ts.map +1 -0
  30. package/dist/contracts/access-logs.js +7 -0
  31. package/dist/contracts/access-logs.js.map +1 -0
  32. package/dist/contracts/auth-device.d.ts +70 -0
  33. package/dist/contracts/auth-device.d.ts.map +1 -0
  34. package/dist/contracts/auth-device.js +163 -0
  35. package/dist/contracts/auth-device.js.map +1 -0
  36. package/dist/contracts/binary.d.ts +54 -0
  37. package/dist/contracts/binary.d.ts.map +1 -0
  38. package/dist/contracts/binary.js +92 -0
  39. package/dist/contracts/binary.js.map +1 -0
  40. package/dist/contracts/config.d.ts +5 -0
  41. package/dist/contracts/config.d.ts.map +1 -0
  42. package/dist/contracts/config.js +30 -0
  43. package/dist/contracts/config.js.map +1 -0
  44. package/dist/contracts/data.d.ts +115 -0
  45. package/dist/contracts/data.d.ts.map +1 -0
  46. package/dist/contracts/data.js +237 -0
  47. package/dist/contracts/data.js.map +1 -0
  48. package/dist/contracts/grants.d.ts +45 -0
  49. package/dist/contracts/grants.d.ts.map +1 -0
  50. package/dist/contracts/grants.js +177 -0
  51. package/dist/contracts/grants.js.map +1 -0
  52. package/dist/contracts/http.d.ts +21 -0
  53. package/dist/contracts/http.d.ts.map +1 -0
  54. package/dist/contracts/http.js +49 -0
  55. package/dist/contracts/http.js.map +1 -0
  56. package/dist/contracts/index.d.ts +16 -0
  57. package/dist/contracts/index.d.ts.map +1 -0
  58. package/dist/contracts/index.js +10 -0
  59. package/dist/contracts/index.js.map +1 -0
  60. package/dist/contracts/oauth.d.ts +38 -0
  61. package/dist/contracts/oauth.d.ts.map +1 -0
  62. package/dist/contracts/oauth.js +130 -0
  63. package/dist/contracts/oauth.js.map +1 -0
  64. package/dist/contracts/sync.d.ts +10 -0
  65. package/dist/contracts/sync.d.ts.map +1 -0
  66. package/dist/contracts/sync.js +34 -0
  67. package/dist/contracts/sync.js.map +1 -0
  68. package/dist/errors/catalog.d.ts +9 -0
  69. package/dist/errors/catalog.d.ts.map +1 -1
  70. package/dist/errors/catalog.js +15 -0
  71. package/dist/errors/catalog.js.map +1 -1
  72. package/dist/grants/index.d.ts +2 -4
  73. package/dist/grants/index.d.ts.map +1 -1
  74. package/dist/grants/index.js +1 -2
  75. package/dist/grants/index.js.map +1 -1
  76. package/dist/keys/index.d.ts +1 -2
  77. package/dist/keys/index.d.ts.map +1 -1
  78. package/dist/keys/index.js +1 -2
  79. package/dist/keys/index.js.map +1 -1
  80. package/dist/keys/server-account.d.ts +5 -9
  81. package/dist/keys/server-account.d.ts.map +1 -1
  82. package/dist/keys/server-account.js +1 -47
  83. package/dist/keys/server-account.js.map +1 -1
  84. package/dist/logger/index.d.ts +6 -2
  85. package/dist/logger/index.d.ts.map +1 -1
  86. package/dist/logger/index.js +2 -6
  87. package/dist/logger/index.js.map +1 -1
  88. package/dist/logging/access-log.d.ts +0 -1
  89. package/dist/logging/access-log.d.ts.map +1 -1
  90. package/dist/logging/access-log.js +1 -24
  91. package/dist/logging/access-log.js.map +1 -1
  92. package/dist/logging/access-reader.d.ts +0 -5
  93. package/dist/logging/access-reader.d.ts.map +1 -1
  94. package/dist/logging/access-reader.js +1 -49
  95. package/dist/logging/access-reader.js.map +1 -1
  96. package/dist/mcp/activity.d.ts +68 -0
  97. package/dist/mcp/activity.d.ts.map +1 -0
  98. package/dist/mcp/activity.js +111 -0
  99. package/dist/mcp/activity.js.map +1 -0
  100. package/dist/mcp/builder-registration.d.ts +24 -0
  101. package/dist/mcp/builder-registration.d.ts.map +1 -0
  102. package/dist/mcp/builder-registration.js +89 -0
  103. package/dist/mcp/builder-registration.js.map +1 -0
  104. package/dist/mcp/connection-api.d.ts +170 -0
  105. package/dist/mcp/connection-api.d.ts.map +1 -0
  106. package/dist/mcp/connection-api.js +379 -0
  107. package/dist/mcp/connection-api.js.map +1 -0
  108. package/dist/mcp/grantee.d.ts +52 -0
  109. package/dist/mcp/grantee.d.ts.map +1 -0
  110. package/dist/mcp/grantee.js +91 -0
  111. package/dist/mcp/grantee.js.map +1 -0
  112. package/dist/mcp/index.d.ts +10 -0
  113. package/dist/mcp/index.d.ts.map +1 -0
  114. package/dist/mcp/index.js +10 -0
  115. package/dist/mcp/index.js.map +1 -0
  116. package/dist/mcp/read-client.d.ts +136 -0
  117. package/dist/mcp/read-client.d.ts.map +1 -0
  118. package/dist/mcp/read-client.js +306 -0
  119. package/dist/mcp/read-client.js.map +1 -0
  120. package/dist/mcp/resources.d.ts +37 -0
  121. package/dist/mcp/resources.d.ts.map +1 -0
  122. package/dist/mcp/resources.js +114 -0
  123. package/dist/mcp/resources.js.map +1 -0
  124. package/dist/mcp/search/index.d.ts +34 -0
  125. package/dist/mcp/search/index.d.ts.map +1 -0
  126. package/dist/mcp/search/index.js +69 -0
  127. package/dist/mcp/search/index.js.map +1 -0
  128. package/dist/mcp/server.d.ts +53 -0
  129. package/dist/mcp/server.d.ts.map +1 -0
  130. package/dist/mcp/server.js +308 -0
  131. package/dist/mcp/server.js.map +1 -0
  132. package/dist/mcp/store.d.ts +13 -0
  133. package/dist/mcp/store.d.ts.map +1 -0
  134. package/dist/mcp/store.js +98 -0
  135. package/dist/mcp/store.js.map +1 -0
  136. package/dist/mcp/tools.d.ts +60 -0
  137. package/dist/mcp/tools.d.ts.map +1 -0
  138. package/dist/mcp/tools.js +1058 -0
  139. package/dist/mcp/tools.js.map +1 -0
  140. package/dist/mcp/types.d.ts +97 -0
  141. package/dist/mcp/types.d.ts.map +1 -0
  142. package/dist/mcp/types.js +24 -0
  143. package/dist/mcp/types.js.map +1 -0
  144. package/dist/payment/index.d.ts +2 -0
  145. package/dist/payment/index.d.ts.map +1 -0
  146. package/dist/payment/index.js +2 -0
  147. package/dist/payment/index.js.map +1 -0
  148. package/dist/payment/x402.d.ts +155 -0
  149. package/dist/payment/x402.d.ts.map +1 -0
  150. package/dist/payment/x402.js +402 -0
  151. package/dist/payment/x402.js.map +1 -0
  152. package/dist/policy/data-read.d.ts +15 -0
  153. package/dist/policy/data-read.d.ts.map +1 -0
  154. package/dist/policy/data-read.js +84 -0
  155. package/dist/policy/data-read.js.map +1 -0
  156. package/dist/policy/index.d.ts +2 -0
  157. package/dist/policy/index.d.ts.map +1 -0
  158. package/dist/policy/index.js +2 -0
  159. package/dist/policy/index.js.map +1 -0
  160. package/dist/ports/index.d.ts +95 -0
  161. package/dist/ports/index.d.ts.map +1 -0
  162. package/dist/ports/index.js +7 -0
  163. package/dist/ports/index.js.map +1 -0
  164. package/dist/schemas/server-config.d.ts +12 -0
  165. package/dist/schemas/server-config.d.ts.map +1 -1
  166. package/dist/schemas/server-config.js +34 -4
  167. package/dist/schemas/server-config.js.map +1 -1
  168. package/dist/signing/index.d.ts +0 -1
  169. package/dist/signing/index.d.ts.map +1 -1
  170. package/dist/signing/index.js +0 -1
  171. package/dist/signing/index.js.map +1 -1
  172. package/dist/signing/request-signer.d.ts +8 -2
  173. package/dist/signing/request-signer.d.ts.map +1 -1
  174. package/dist/signing/request-signer.js +5 -31
  175. package/dist/signing/request-signer.js.map +1 -1
  176. package/dist/signing/signer.d.ts +20 -2
  177. package/dist/signing/signer.d.ts.map +1 -1
  178. package/dist/signing/signer.js +23 -13
  179. package/dist/signing/signer.js.map +1 -1
  180. package/dist/storage/adapters/index.d.ts +2 -1
  181. package/dist/storage/adapters/index.d.ts.map +1 -1
  182. package/dist/storage/adapters/index.js +2 -1
  183. package/dist/storage/adapters/index.js.map +1 -1
  184. package/dist/storage/adapters/interface.d.ts +10 -0
  185. package/dist/storage/adapters/interface.d.ts.map +1 -1
  186. package/dist/storage/adapters/sdk.d.ts +23 -0
  187. package/dist/storage/adapters/sdk.d.ts.map +1 -0
  188. package/dist/storage/adapters/sdk.js +73 -0
  189. package/dist/storage/adapters/sdk.js.map +1 -0
  190. package/dist/storage/adapters/vana.d.ts +7 -30
  191. package/dist/storage/adapters/vana.d.ts.map +1 -1
  192. package/dist/storage/adapters/vana.js +37 -92
  193. package/dist/storage/adapters/vana.js.map +1 -1
  194. package/dist/storage/blocks/build.d.ts +20 -0
  195. package/dist/storage/blocks/build.d.ts.map +1 -0
  196. package/dist/storage/blocks/build.js +378 -0
  197. package/dist/storage/blocks/build.js.map +1 -0
  198. package/dist/storage/blocks/cursor.d.ts +33 -0
  199. package/dist/storage/blocks/cursor.d.ts.map +1 -0
  200. package/dist/storage/blocks/cursor.js +142 -0
  201. package/dist/storage/blocks/cursor.js.map +1 -0
  202. package/dist/storage/blocks/errors.d.ts +6 -0
  203. package/dist/storage/blocks/errors.d.ts.map +1 -0
  204. package/dist/storage/blocks/errors.js +9 -0
  205. package/dist/storage/blocks/errors.js.map +1 -0
  206. package/dist/storage/blocks/index.d.ts +5 -0
  207. package/dist/storage/blocks/index.d.ts.map +1 -0
  208. package/dist/storage/blocks/index.js +4 -0
  209. package/dist/storage/blocks/index.js.map +1 -0
  210. package/dist/storage/blocks/types.d.ts +49 -0
  211. package/dist/storage/blocks/types.d.ts.map +1 -0
  212. package/dist/storage/blocks/types.js +2 -0
  213. package/dist/{grants → storage/blocks}/types.js.map +1 -1
  214. package/dist/storage/hierarchy/index.d.ts +0 -1
  215. package/dist/storage/hierarchy/index.d.ts.map +1 -1
  216. package/dist/storage/hierarchy/index.js +0 -1
  217. package/dist/storage/hierarchy/index.js.map +1 -1
  218. package/dist/storage/hierarchy/manager.d.ts +0 -14
  219. package/dist/storage/hierarchy/manager.d.ts.map +1 -1
  220. package/dist/storage/hierarchy/manager.js +1 -59
  221. package/dist/storage/hierarchy/manager.js.map +1 -1
  222. package/dist/storage/hierarchy/paths.d.ts.map +1 -1
  223. package/dist/storage/hierarchy/paths.js +11 -4
  224. package/dist/storage/hierarchy/paths.js.map +1 -1
  225. package/dist/storage/index/index.d.ts +2 -3
  226. package/dist/storage/index/index.d.ts.map +1 -1
  227. package/dist/storage/index/index.js +1 -2
  228. package/dist/storage/index/index.js.map +1 -1
  229. package/dist/storage/index/manager.d.ts +26 -6
  230. package/dist/storage/index/manager.d.ts.map +1 -1
  231. package/dist/storage/index/manager.js +1 -131
  232. package/dist/storage/index/manager.js.map +1 -1
  233. package/dist/storage/index/schema.d.ts +1 -3
  234. package/dist/storage/index/schema.d.ts.map +1 -1
  235. package/dist/storage/index/schema.js +1 -26
  236. package/dist/storage/index/schema.js.map +1 -1
  237. package/dist/storage/index/types.d.ts +16 -0
  238. package/dist/storage/index/types.d.ts.map +1 -1
  239. package/dist/storage/preview.d.ts +12 -0
  240. package/dist/storage/preview.d.ts.map +1 -0
  241. package/dist/storage/preview.js +239 -0
  242. package/dist/storage/preview.js.map +1 -0
  243. package/dist/sync/cursor.d.ts +5 -7
  244. package/dist/sync/cursor.d.ts.map +1 -1
  245. package/dist/sync/cursor.js +1 -18
  246. package/dist/sync/cursor.js.map +1 -1
  247. package/dist/sync/engine/sync-manager.d.ts +17 -0
  248. package/dist/sync/engine/sync-manager.d.ts.map +1 -1
  249. package/dist/sync/engine/sync-manager.js +104 -43
  250. package/dist/sync/engine/sync-manager.js.map +1 -1
  251. package/dist/sync/index.d.ts +4 -2
  252. package/dist/sync/index.d.ts.map +1 -1
  253. package/dist/sync/index.js +1 -1
  254. package/dist/sync/index.js.map +1 -1
  255. package/dist/sync/issues.d.ts +55 -0
  256. package/dist/sync/issues.d.ts.map +1 -0
  257. package/dist/sync/issues.js +168 -0
  258. package/dist/sync/issues.js.map +1 -0
  259. package/dist/sync/retry-memory.d.ts +33 -0
  260. package/dist/sync/retry-memory.d.ts.map +1 -0
  261. package/dist/sync/retry-memory.js +68 -0
  262. package/dist/sync/retry-memory.js.map +1 -0
  263. package/dist/sync/types.d.ts +9 -24
  264. package/dist/sync/types.d.ts.map +1 -1
  265. package/dist/sync/workers/delete.d.ts +42 -0
  266. package/dist/sync/workers/delete.d.ts.map +1 -0
  267. package/dist/sync/workers/delete.js +40 -0
  268. package/dist/sync/workers/delete.js.map +1 -0
  269. package/dist/sync/workers/download.d.ts +64 -18
  270. package/dist/sync/workers/download.d.ts.map +1 -1
  271. package/dist/sync/workers/download.js +396 -54
  272. package/dist/sync/workers/download.js.map +1 -1
  273. package/dist/sync/workers/upload.d.ts +29 -18
  274. package/dist/sync/workers/upload.d.ts.map +1 -1
  275. package/dist/sync/workers/upload.js +163 -46
  276. package/dist/sync/workers/upload.js.map +1 -1
  277. package/dist/test-utils/wallet.d.ts +1 -0
  278. package/dist/test-utils/wallet.d.ts.map +1 -1
  279. package/dist/test-utils/wallet.js +9 -31
  280. package/dist/test-utils/wallet.js.map +1 -1
  281. package/package.json +51 -27
  282. package/dist/auth/web3-signed.d.ts +0 -48
  283. package/dist/auth/web3-signed.d.ts.map +0 -1
  284. package/dist/auth/web3-signed.js +0 -110
  285. package/dist/auth/web3-signed.js.map +0 -1
  286. package/dist/config/loader.d.ts +0 -8
  287. package/dist/config/loader.d.ts.map +0 -1
  288. package/dist/config/loader.js +0 -38
  289. package/dist/config/loader.js.map +0 -1
  290. package/dist/gateway/client.d.ts +0 -98
  291. package/dist/gateway/client.d.ts.map +0 -1
  292. package/dist/gateway/client.js +0 -171
  293. package/dist/gateway/client.js.map +0 -1
  294. package/dist/grants/eip712.d.ts +0 -28
  295. package/dist/grants/eip712.d.ts.map +0 -1
  296. package/dist/grants/eip712.js +0 -30
  297. package/dist/grants/eip712.js.map +0 -1
  298. package/dist/grants/types.d.ts +0 -29
  299. package/dist/grants/types.d.ts.map +0 -1
  300. package/dist/grants/types.js +0 -6
  301. package/dist/grants/verify.d.ts +0 -24
  302. package/dist/grants/verify.d.ts.map +0 -1
  303. package/dist/grants/verify.js +0 -71
  304. package/dist/grants/verify.js.map +0 -1
  305. package/dist/keys/derive.d.ts +0 -18
  306. package/dist/keys/derive.d.ts.map +0 -1
  307. package/dist/keys/derive.js +0 -43
  308. package/dist/keys/derive.js.map +0 -1
  309. package/dist/schemas/data-file.d.ts +0 -20
  310. package/dist/schemas/data-file.d.ts.map +0 -1
  311. package/dist/schemas/data-file.js +0 -23
  312. package/dist/schemas/data-file.js.map +0 -1
  313. package/dist/scopes/index.d.ts +0 -3
  314. package/dist/scopes/index.d.ts.map +0 -1
  315. package/dist/scopes/index.js +0 -3
  316. package/dist/scopes/index.js.map +0 -1
  317. package/dist/scopes/match.d.ts +0 -13
  318. package/dist/scopes/match.d.ts.map +0 -1
  319. package/dist/scopes/match.js +0 -23
  320. package/dist/scopes/match.js.map +0 -1
  321. package/dist/scopes/parse.d.ts +0 -12
  322. package/dist/scopes/parse.d.ts.map +0 -1
  323. package/dist/scopes/parse.js +0 -29
  324. package/dist/scopes/parse.js.map +0 -1
  325. package/dist/signing/eip712.d.ts +0 -69
  326. package/dist/signing/eip712.d.ts.map +0 -1
  327. package/dist/signing/eip712.js +0 -68
  328. package/dist/signing/eip712.js.map +0 -1
  329. package/dist/storage/encryption/decrypt.d.ts +0 -10
  330. package/dist/storage/encryption/decrypt.d.ts.map +0 -1
  331. package/dist/storage/encryption/decrypt.js +0 -19
  332. package/dist/storage/encryption/decrypt.js.map +0 -1
  333. package/dist/storage/encryption/encrypt.d.ts +0 -10
  334. package/dist/storage/encryption/encrypt.d.ts.map +0 -1
  335. package/dist/storage/encryption/encrypt.js +0 -19
  336. package/dist/storage/encryption/encrypt.js.map +0 -1
  337. package/dist/storage/encryption/index.d.ts +0 -3
  338. package/dist/storage/encryption/index.d.ts.map +0 -1
  339. package/dist/storage/encryption/index.js +0 -3
  340. package/dist/storage/encryption/index.js.map +0 -1
@@ -1,71 +0,0 @@
1
- /**
2
- * Local grant verification — EIP-712 signature recovery + expiry/scope/grantee checks.
3
- * No network calls; operates entirely on the provided GrantWithSignature.
4
- */
5
- import { verifyTypedData } from "viem";
6
- import { InvalidSignatureError, GrantExpiredError, ScopeMismatchError, } from "../errors/catalog.js";
7
- import { scopeCoveredByGrant } from "../scopes/match.js";
8
- import { GRANT_DOMAIN, GRANT_TYPES } from "./eip712.js";
9
- /**
10
- * Local-only grant verification (no network):
11
- * 1. Recover signer from EIP-712 signature, verify === expectedOwner
12
- * 2. Check expiresAt (0 = no expiry, else > now)
13
- * 3. Check requestedScope ⊆ grantedScopes
14
- * 4. Check requestSigner === grant.builder
15
- */
16
- export async function verifyGrantLocal(params) {
17
- const { grant, expectedOwner, requestSigner, requestedScope } = params;
18
- const { payload, signature } = grant;
19
- // 1. Verify EIP-712 signature was produced by expectedOwner
20
- let valid;
21
- try {
22
- valid = await verifyTypedData({
23
- address: expectedOwner,
24
- domain: GRANT_DOMAIN,
25
- types: GRANT_TYPES,
26
- primaryType: "Grant",
27
- message: {
28
- user: payload.user,
29
- builder: payload.builder,
30
- scopes: payload.scopes,
31
- expiresAt: payload.expiresAt,
32
- nonce: payload.nonce,
33
- },
34
- signature,
35
- });
36
- }
37
- catch {
38
- throw new InvalidSignatureError({
39
- reason: "EIP-712 signature verification failed",
40
- });
41
- }
42
- if (!valid) {
43
- throw new InvalidSignatureError({
44
- reason: "Grant signature does not match expected owner",
45
- });
46
- }
47
- // 2. Check expiry (0n = no expiry)
48
- if (payload.expiresAt !== 0n) {
49
- const now = params.now ?? Math.floor(Date.now() / 1000);
50
- if (Number(payload.expiresAt) < now) {
51
- throw new GrantExpiredError({ expiresAt: Number(payload.expiresAt) });
52
- }
53
- }
54
- // 3. Check scope coverage
55
- if (!scopeCoveredByGrant(requestedScope, payload.scopes)) {
56
- throw new ScopeMismatchError({
57
- requestedScope,
58
- grantedScopes: payload.scopes,
59
- });
60
- }
61
- // 4. Check request signer is the grant's builder
62
- if (requestSigner.toLowerCase() !== payload.builder.toLowerCase()) {
63
- throw new InvalidSignatureError({
64
- reason: "Request signer is not the grant builder",
65
- expected: payload.builder,
66
- actual: requestSigner,
67
- });
68
- }
69
- return { valid: true, grant: payload };
70
- }
71
- //# sourceMappingURL=verify.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"verify.js","sourceRoot":"","sources":["../../src/grants/verify.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,eAAe,EAAE,MAAM,MAAM,CAAC;AAEvC,OAAO,EACL,qBAAqB,EACrB,iBAAiB,EACjB,kBAAkB,GACnB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAEzD,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAQxD;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAAC,MAMtC;IACC,MAAM,EAAE,KAAK,EAAE,aAAa,EAAE,aAAa,EAAE,cAAc,EAAE,GAAG,MAAM,CAAC;IACvE,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,GAAG,KAAK,CAAC;IAErC,4DAA4D;IAC5D,IAAI,KAAc,CAAC;IACnB,IAAI,CAAC;QACH,KAAK,GAAG,MAAM,eAAe,CAAC;YAC5B,OAAO,EAAE,aAAa;YACtB,MAAM,EAAE,YAAY;YACpB,KAAK,EAAE,WAAW;YAClB,WAAW,EAAE,OAAgB;YAC7B,OAAO,EAAE;gBACP,IAAI,EAAE,OAAO,CAAC,IAAI;gBAClB,OAAO,EAAE,OAAO,CAAC,OAAO;gBACxB,MAAM,EAAE,OAAO,CAAC,MAAM;gBACtB,SAAS,EAAE,OAAO,CAAC,SAAS;gBAC5B,KAAK,EAAE,OAAO,CAAC,KAAK;aACrB;YACD,SAAS;SACV,CAAC,CAAC;IACL,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,IAAI,qBAAqB,CAAC;YAC9B,MAAM,EAAE,uCAAuC;SAChD,CAAC,CAAC;IACL,CAAC;IAED,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,MAAM,IAAI,qBAAqB,CAAC;YAC9B,MAAM,EAAE,+CAA+C;SACxD,CAAC,CAAC;IACL,CAAC;IAED,mCAAmC;IACnC,IAAI,OAAO,CAAC,SAAS,KAAK,EAAE,EAAE,CAAC;QAC7B,MAAM,GAAG,GAAG,MAAM,CAAC,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC;QACxD,IAAI,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,GAAG,GAAG,EAAE,CAAC;YACpC,MAAM,IAAI,iBAAiB,CAAC,EAAE,SAAS,EAAE,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;QACxE,CAAC;IACH,CAAC;IAED,0BAA0B;IAC1B,IAAI,CAAC,mBAAmB,CAAC,cAAc,EAAE,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;QACzD,MAAM,IAAI,kBAAkB,CAAC;YAC3B,cAAc;YACd,aAAa,EAAE,OAAO,CAAC,MAAM;SAC9B,CAAC,CAAC;IACL,CAAC;IAED,iDAAiD;IACjD,IAAI,aAAa,CAAC,WAAW,EAAE,KAAK,OAAO,CAAC,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC;QAClE,MAAM,IAAI,qBAAqB,CAAC;YAC9B,MAAM,EAAE,yCAAyC;YACjD,QAAQ,EAAE,OAAO,CAAC,OAAO;YACzB,MAAM,EAAE,aAAa;SACtB,CAAC,CAAC;IACL,CAAC;IAED,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC;AACzC,CAAC"}
@@ -1,18 +0,0 @@
1
- /**
2
- * Extracts master key material from EIP-191 signature over "vana-master-key-v1".
3
- * The raw signature bytes ARE the master key material (spec §2.3).
4
- * @param signature - 0x-prefixed hex string (65 bytes = 130 hex chars + 0x)
5
- * @returns 65-byte Uint8Array
6
- */
7
- export declare function deriveMasterKey(signature: `0x${string}`): Uint8Array;
8
- /**
9
- * Recovers the server owner address from a master key signature.
10
- * Uses EIP-191 recovery over the canonical message "vana-master-key-v1".
11
- */
12
- export declare function recoverServerOwner(masterKeySignature: `0x${string}`): Promise<`0x${string}`>;
13
- /**
14
- * Derives a scope-specific 32-byte key via HKDF-SHA256.
15
- * salt = "vana", info = "scope:{scope}" (spec §2.3).
16
- */
17
- export declare function deriveScopeKey(masterKey: Uint8Array, scope: string): Uint8Array;
18
- //# sourceMappingURL=derive.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"derive.d.ts","sourceRoot":"","sources":["../../src/keys/derive.ts"],"names":[],"mappings":"AAIA;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,SAAS,EAAE,KAAK,MAAM,EAAE,GAAG,UAAU,CAkBpE;AAED;;;GAGG;AACH,wBAAsB,kBAAkB,CACtC,kBAAkB,EAAE,KAAK,MAAM,EAAE,GAChC,OAAO,CAAC,KAAK,MAAM,EAAE,CAAC,CAKxB;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAC5B,SAAS,EAAE,UAAU,EACrB,KAAK,EAAE,MAAM,GACZ,UAAU,CAIZ"}
@@ -1,43 +0,0 @@
1
- import { hkdf } from "@noble/hashes/hkdf.js";
2
- import { sha256 } from "@noble/hashes/sha2.js";
3
- import { recoverMessageAddress } from "viem";
4
- /**
5
- * Extracts master key material from EIP-191 signature over "vana-master-key-v1".
6
- * The raw signature bytes ARE the master key material (spec §2.3).
7
- * @param signature - 0x-prefixed hex string (65 bytes = 130 hex chars + 0x)
8
- * @returns 65-byte Uint8Array
9
- */
10
- export function deriveMasterKey(signature) {
11
- const hex = signature.slice(2);
12
- if (hex.length !== 130) {
13
- throw new Error(`Invalid signature length: expected 130 hex chars (65 bytes), got ${hex.length}`);
14
- }
15
- if (!/^[0-9a-fA-F]+$/.test(hex)) {
16
- throw new Error("Invalid signature: contains non-hex characters");
17
- }
18
- const bytes = new Uint8Array(65);
19
- for (let i = 0; i < 65; i++) {
20
- bytes[i] = parseInt(hex.slice(i * 2, i * 2 + 2), 16);
21
- }
22
- return bytes;
23
- }
24
- /**
25
- * Recovers the server owner address from a master key signature.
26
- * Uses EIP-191 recovery over the canonical message "vana-master-key-v1".
27
- */
28
- export async function recoverServerOwner(masterKeySignature) {
29
- return recoverMessageAddress({
30
- message: "vana-master-key-v1",
31
- signature: masterKeySignature,
32
- });
33
- }
34
- /**
35
- * Derives a scope-specific 32-byte key via HKDF-SHA256.
36
- * salt = "vana", info = "scope:{scope}" (spec §2.3).
37
- */
38
- export function deriveScopeKey(masterKey, scope) {
39
- const salt = new TextEncoder().encode("vana");
40
- const info = new TextEncoder().encode(`scope:${scope}`);
41
- return hkdf(sha256, masterKey, salt, info, 32);
42
- }
43
- //# sourceMappingURL=derive.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"derive.js","sourceRoot":"","sources":["../../src/keys/derive.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,uBAAuB,CAAC;AAC7C,OAAO,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAC/C,OAAO,EAAE,qBAAqB,EAAE,MAAM,MAAM,CAAC;AAE7C;;;;;GAKG;AACH,MAAM,UAAU,eAAe,CAAC,SAAwB;IACtD,MAAM,GAAG,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAE/B,IAAI,GAAG,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;QACvB,MAAM,IAAI,KAAK,CACb,oEAAoE,GAAG,CAAC,MAAM,EAAE,CACjF,CAAC;IACJ,CAAC;IAED,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;QAChC,MAAM,IAAI,KAAK,CAAC,gDAAgD,CAAC,CAAC;IACpE,CAAC;IAED,MAAM,KAAK,GAAG,IAAI,UAAU,CAAC,EAAE,CAAC,CAAC;IACjC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC;QAC5B,KAAK,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IACvD,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,kBAAkB,CACtC,kBAAiC;IAEjC,OAAO,qBAAqB,CAAC;QAC3B,OAAO,EAAE,oBAAoB;QAC7B,SAAS,EAAE,kBAAkB;KAC9B,CAAC,CAAC;AACL,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,cAAc,CAC5B,SAAqB,EACrB,KAAa;IAEb,MAAM,IAAI,GAAG,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IAC9C,MAAM,IAAI,GAAG,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,SAAS,KAAK,EAAE,CAAC,CAAC;IACxD,OAAO,IAAI,CAAC,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC;AACjD,CAAC"}
@@ -1,20 +0,0 @@
1
- import { z } from "zod";
2
- export declare const DataFileEnvelopeSchema: z.ZodObject<{
3
- $schema: z.ZodOptional<z.ZodString>;
4
- version: z.ZodLiteral<"1.0">;
5
- scope: z.ZodString;
6
- collectedAt: z.ZodString;
7
- data: z.ZodRecord<z.ZodString, z.ZodUnknown>;
8
- }, z.core.$strip>;
9
- export type DataFileEnvelope = z.infer<typeof DataFileEnvelopeSchema>;
10
- export declare function createDataFileEnvelope(scope: string, collectedAt: string, data: Record<string, unknown>, schemaUrl?: string): DataFileEnvelope;
11
- export declare const IngestResponseSchema: z.ZodObject<{
12
- scope: z.ZodString;
13
- collectedAt: z.ZodString;
14
- status: z.ZodEnum<{
15
- stored: "stored";
16
- syncing: "syncing";
17
- }>;
18
- }, z.core.$strip>;
19
- export type IngestResponse = z.infer<typeof IngestResponseSchema>;
20
- //# sourceMappingURL=data-file.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"data-file.d.ts","sourceRoot":"","sources":["../../src/schemas/data-file.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,eAAO,MAAM,sBAAsB;;;;;;iBAMjC,CAAC;AAEH,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC;AAEtE,wBAAgB,sBAAsB,CACpC,KAAK,EAAE,MAAM,EACb,WAAW,EAAE,MAAM,EACnB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7B,SAAS,CAAC,EAAE,MAAM,GACjB,gBAAgB,CAQlB;AAED,eAAO,MAAM,oBAAoB;;;;;;;iBAI/B,CAAC;AAEH,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC"}
@@ -1,23 +0,0 @@
1
- import { z } from "zod";
2
- export const DataFileEnvelopeSchema = z.object({
3
- $schema: z.string().url().optional(),
4
- version: z.literal("1.0"),
5
- scope: z.string(),
6
- collectedAt: z.string().datetime(),
7
- data: z.record(z.string(), z.unknown()),
8
- });
9
- export function createDataFileEnvelope(scope, collectedAt, data, schemaUrl) {
10
- return {
11
- ...(schemaUrl !== undefined && { $schema: schemaUrl }),
12
- version: "1.0",
13
- scope,
14
- collectedAt,
15
- data,
16
- };
17
- }
18
- export const IngestResponseSchema = z.object({
19
- scope: z.string(),
20
- collectedAt: z.string().datetime(),
21
- status: z.enum(["stored", "syncing"]),
22
- });
23
- //# sourceMappingURL=data-file.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"data-file.js","sourceRoot":"","sources":["../../src/schemas/data-file.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC7C,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE;IACpC,OAAO,EAAE,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC;IACzB,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE;IACjB,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAClC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC;CACxC,CAAC,CAAC;AAIH,MAAM,UAAU,sBAAsB,CACpC,KAAa,EACb,WAAmB,EACnB,IAA6B,EAC7B,SAAkB;IAElB,OAAO;QACL,GAAG,CAAC,SAAS,KAAK,SAAS,IAAI,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC;QACtD,OAAO,EAAE,KAAK;QACd,KAAK;QACL,WAAW;QACX,IAAI;KACL,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC3C,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE;IACjB,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAClC,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;CACtC,CAAC,CAAC"}
@@ -1,3 +0,0 @@
1
- export { ScopeSchema, parseScope, scopeToPathSegments, type Scope, type ParsedScope, } from "./parse.js";
2
- export { scopeMatchesPattern, scopeCoveredByGrant } from "./match.js";
3
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/scopes/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,WAAW,EACX,UAAU,EACV,mBAAmB,EACnB,KAAK,KAAK,EACV,KAAK,WAAW,GACjB,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC"}
@@ -1,3 +0,0 @@
1
- export { ScopeSchema, parseScope, scopeToPathSegments, } from "./parse.js";
2
- export { scopeMatchesPattern, scopeCoveredByGrant } from "./match.js";
3
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/scopes/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,WAAW,EACX,UAAU,EACV,mBAAmB,GAGpB,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC"}
@@ -1,13 +0,0 @@
1
- /**
2
- * Check if a requested concrete scope is covered by a single grant scope pattern.
3
- * Patterns:
4
- * "*" -> matches any scope
5
- * "instagram.*" -> matches any scope starting with "instagram."
6
- * "instagram.profile" -> exact match only
7
- */
8
- export declare function scopeMatchesPattern(requestedScope: string, grantPattern: string): boolean;
9
- /**
10
- * Check if a requested scope is covered by ANY of the granted scope patterns.
11
- */
12
- export declare function scopeCoveredByGrant(requestedScope: string, grantedScopes: string[]): boolean;
13
- //# sourceMappingURL=match.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"match.d.ts","sourceRoot":"","sources":["../../src/scopes/match.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,wBAAgB,mBAAmB,CACjC,cAAc,EAAE,MAAM,EACtB,YAAY,EAAE,MAAM,GACnB,OAAO,CAST;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CACjC,cAAc,EAAE,MAAM,EACtB,aAAa,EAAE,MAAM,EAAE,GACtB,OAAO,CAIT"}
@@ -1,23 +0,0 @@
1
- /**
2
- * Check if a requested concrete scope is covered by a single grant scope pattern.
3
- * Patterns:
4
- * "*" -> matches any scope
5
- * "instagram.*" -> matches any scope starting with "instagram."
6
- * "instagram.profile" -> exact match only
7
- */
8
- export function scopeMatchesPattern(requestedScope, grantPattern) {
9
- if (grantPattern === "*")
10
- return true;
11
- if (grantPattern.endsWith(".*")) {
12
- const prefix = grantPattern.slice(0, -1); // "instagram." from "instagram.*"
13
- return requestedScope.startsWith(prefix);
14
- }
15
- return requestedScope === grantPattern;
16
- }
17
- /**
18
- * Check if a requested scope is covered by ANY of the granted scope patterns.
19
- */
20
- export function scopeCoveredByGrant(requestedScope, grantedScopes) {
21
- return grantedScopes.some((pattern) => scopeMatchesPattern(requestedScope, pattern));
22
- }
23
- //# sourceMappingURL=match.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"match.js","sourceRoot":"","sources":["../../src/scopes/match.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,MAAM,UAAU,mBAAmB,CACjC,cAAsB,EACtB,YAAoB;IAEpB,IAAI,YAAY,KAAK,GAAG;QAAE,OAAO,IAAI,CAAC;IAEtC,IAAI,YAAY,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;QAChC,MAAM,MAAM,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,kCAAkC;QAC5E,OAAO,cAAc,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;IAC3C,CAAC;IAED,OAAO,cAAc,KAAK,YAAY,CAAC;AACzC,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,mBAAmB,CACjC,cAAsB,EACtB,aAAuB;IAEvB,OAAO,aAAa,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CACpC,mBAAmB,CAAC,cAAc,EAAE,OAAO,CAAC,CAC7C,CAAC;AACJ,CAAC"}
@@ -1,12 +0,0 @@
1
- import { z } from "zod";
2
- export declare const ScopeSchema: z.ZodString;
3
- export type Scope = z.infer<typeof ScopeSchema>;
4
- export interface ParsedScope {
5
- source: string;
6
- category: string;
7
- subcategory?: string;
8
- raw: string;
9
- }
10
- export declare function parseScope(scope: string): ParsedScope;
11
- export declare function scopeToPathSegments(scope: string): string[];
12
- //# sourceMappingURL=parse.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"parse.d.ts","sourceRoot":"","sources":["../../src/scopes/parse.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB,eAAO,MAAM,WAAW,aAavB,CAAC;AAEF,MAAM,MAAM,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,WAAW,CAAC,CAAC;AAEhD,MAAM,WAAW,WAAW;IAC1B,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,GAAG,EAAE,MAAM,CAAC;CACb;AAED,wBAAgB,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,WAAW,CASrD;AAED,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,CAO3D"}
@@ -1,29 +0,0 @@
1
- import { z } from "zod";
2
- const SEGMENT_RE = /^[a-z0-9][a-z0-9_]*$/;
3
- export const ScopeSchema = z.string().refine((s) => {
4
- const parts = s.split(".");
5
- return (parts.length >= 2 &&
6
- parts.length <= 3 &&
7
- parts.every((p) => SEGMENT_RE.test(p)));
8
- }, {
9
- message: "Scope must be {source}.{category}[.{subcategory}] with lowercase alphanumeric segments (may start with a letter or digit)",
10
- });
11
- export function parseScope(scope) {
12
- const validated = ScopeSchema.parse(scope);
13
- const parts = validated.split(".");
14
- return {
15
- source: parts[0],
16
- category: parts[1],
17
- subcategory: parts[2],
18
- raw: validated,
19
- };
20
- }
21
- export function scopeToPathSegments(scope) {
22
- const parsed = parseScope(scope);
23
- const segments = [parsed.source, parsed.category];
24
- if (parsed.subcategory) {
25
- segments.push(parsed.subcategory);
26
- }
27
- return segments;
28
- }
29
- //# sourceMappingURL=parse.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"parse.js","sourceRoot":"","sources":["../../src/scopes/parse.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,MAAM,UAAU,GAAG,sBAAsB,CAAC;AAE1C,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,MAAM,CAC1C,CAAC,CAAC,EAAE,EAAE;IACJ,MAAM,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAC3B,OAAO,CACL,KAAK,CAAC,MAAM,IAAI,CAAC;QACjB,KAAK,CAAC,MAAM,IAAI,CAAC;QACjB,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CACvC,CAAC;AACJ,CAAC,EACD;IACE,OAAO,EACL,2HAA2H;CAC9H,CACF,CAAC;AAWF,MAAM,UAAU,UAAU,CAAC,KAAa;IACtC,MAAM,SAAS,GAAG,WAAW,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IAC3C,MAAM,KAAK,GAAG,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACnC,OAAO;QACL,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC;QAChB,QAAQ,EAAE,KAAK,CAAC,CAAC,CAAC;QAClB,WAAW,EAAE,KAAK,CAAC,CAAC,CAAC;QACrB,GAAG,EAAE,SAAS;KACf,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,KAAa;IAC/C,MAAM,MAAM,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC;IACjC,MAAM,QAAQ,GAAG,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC;IAClD,IAAI,MAAM,CAAC,WAAW,EAAE,CAAC;QACvB,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;IACpC,CAAC;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC"}
@@ -1,69 +0,0 @@
1
- /**
2
- * EIP-712 domain and type definitions for gateway write operations.
3
- * Must match the gateway's lib/eip712.ts exactly.
4
- */
5
- import type { TypedDataDomain } from "viem";
6
- import type { GatewayConfig } from "../schemas/server-config.js";
7
- export declare function fileRegistrationDomain(config: GatewayConfig): TypedDataDomain;
8
- export declare function grantRegistrationDomain(config: GatewayConfig): TypedDataDomain;
9
- export declare function grantRevocationDomain(config: GatewayConfig): TypedDataDomain;
10
- export declare const FILE_REGISTRATION_TYPES: {
11
- FileRegistration: {
12
- name: string;
13
- type: string;
14
- }[];
15
- };
16
- export declare const GRANT_REGISTRATION_TYPES: {
17
- GrantRegistration: {
18
- name: string;
19
- type: string;
20
- }[];
21
- };
22
- export declare const GRANT_REVOCATION_TYPES: {
23
- GrantRevocation: {
24
- name: string;
25
- type: string;
26
- }[];
27
- };
28
- export interface FileRegistrationMessage {
29
- ownerAddress: `0x${string}`;
30
- url: string;
31
- schemaId: `0x${string}`;
32
- }
33
- export interface GrantRegistrationMessage {
34
- grantorAddress: `0x${string}`;
35
- granteeId: `0x${string}`;
36
- grant: string;
37
- fileIds: bigint[];
38
- }
39
- export interface GrantRevocationMessage {
40
- grantorAddress: `0x${string}`;
41
- grantId: `0x${string}`;
42
- }
43
- export declare function serverRegistrationDomain(config: GatewayConfig): TypedDataDomain;
44
- export declare const SERVER_REGISTRATION_TYPES: {
45
- ServerRegistration: {
46
- name: string;
47
- type: string;
48
- }[];
49
- };
50
- export interface ServerRegistrationMessage {
51
- ownerAddress: `0x${string}`;
52
- serverAddress: `0x${string}`;
53
- publicKey: `0x${string}`;
54
- serverUrl: string;
55
- }
56
- export declare function builderRegistrationDomain(config: GatewayConfig): TypedDataDomain;
57
- export declare const BUILDER_REGISTRATION_TYPES: {
58
- BuilderRegistration: {
59
- name: string;
60
- type: string;
61
- }[];
62
- };
63
- export interface BuilderRegistrationMessage {
64
- ownerAddress: `0x${string}`;
65
- granteeAddress: `0x${string}`;
66
- publicKey: string;
67
- appUrl: string;
68
- }
69
- //# sourceMappingURL=eip712.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"eip712.d.ts","sourceRoot":"","sources":["../../src/signing/eip712.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,MAAM,CAAC;AAE5C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAkBjE,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,aAAa,GAAG,eAAe,CAK7E;AAED,wBAAgB,uBAAuB,CACrC,MAAM,EAAE,aAAa,GACpB,eAAe,CAKjB;AAED,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,aAAa,GAAG,eAAe,CAK5E;AAED,eAAO,MAAM,uBAAuB;;;;;CAMnC,CAAC;AAEF,eAAO,MAAM,wBAAwB;;;;;CAOpC,CAAC;AAEF,eAAO,MAAM,sBAAsB;;;;;CAKlC,CAAC;AAEF,MAAM,WAAW,uBAAuB;IACtC,YAAY,EAAE,KAAK,MAAM,EAAE,CAAC;IAC5B,GAAG,EAAE,MAAM,CAAC;IACZ,QAAQ,EAAE,KAAK,MAAM,EAAE,CAAC;CACzB;AAED,MAAM,WAAW,wBAAwB;IACvC,cAAc,EAAE,KAAK,MAAM,EAAE,CAAC;IAC9B,SAAS,EAAE,KAAK,MAAM,EAAE,CAAC;IACzB,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,EAAE,CAAC;CACnB;AAED,MAAM,WAAW,sBAAsB;IACrC,cAAc,EAAE,KAAK,MAAM,EAAE,CAAC;IAC9B,OAAO,EAAE,KAAK,MAAM,EAAE,CAAC;CACxB;AAED,wBAAgB,wBAAwB,CACtC,MAAM,EAAE,aAAa,GACpB,eAAe,CAKjB;AAED,eAAO,MAAM,yBAAyB;;;;;CAOrC,CAAC;AAEF,MAAM,WAAW,yBAAyB;IACxC,YAAY,EAAE,KAAK,MAAM,EAAE,CAAC;IAC5B,aAAa,EAAE,KAAK,MAAM,EAAE,CAAC;IAC7B,SAAS,EAAE,KAAK,MAAM,EAAE,CAAC;IACzB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,wBAAgB,yBAAyB,CACvC,MAAM,EAAE,aAAa,GACpB,eAAe,CAKjB;AAED,eAAO,MAAM,0BAA0B;;;;;CAOtC,CAAC;AAEF,MAAM,WAAW,0BAA0B;IACzC,YAAY,EAAE,KAAK,MAAM,EAAE,CAAC;IAC5B,cAAc,EAAE,KAAK,MAAM,EAAE,CAAC;IAC9B,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;CAChB"}
@@ -1,68 +0,0 @@
1
- /**
2
- * EIP-712 domain and type definitions for gateway write operations.
3
- * Must match the gateway's lib/eip712.ts exactly.
4
- */
5
- const DOMAIN_NAME = "Vana Data Portability";
6
- const DOMAIN_VERSION = "1";
7
- /** Build a domain for a specific verifying contract. */
8
- function buildDomain(chainId, verifyingContract) {
9
- return {
10
- name: DOMAIN_NAME,
11
- version: DOMAIN_VERSION,
12
- chainId,
13
- verifyingContract,
14
- };
15
- }
16
- export function fileRegistrationDomain(config) {
17
- return buildDomain(config.chainId, config.contracts.dataRegistry);
18
- }
19
- export function grantRegistrationDomain(config) {
20
- return buildDomain(config.chainId, config.contracts.dataPortabilityPermissions);
21
- }
22
- export function grantRevocationDomain(config) {
23
- return buildDomain(config.chainId, config.contracts.dataPortabilityPermissions);
24
- }
25
- export const FILE_REGISTRATION_TYPES = {
26
- FileRegistration: [
27
- { name: "ownerAddress", type: "address" },
28
- { name: "url", type: "string" },
29
- { name: "schemaId", type: "bytes32" },
30
- ],
31
- };
32
- export const GRANT_REGISTRATION_TYPES = {
33
- GrantRegistration: [
34
- { name: "grantorAddress", type: "address" },
35
- { name: "granteeId", type: "bytes32" },
36
- { name: "grant", type: "string" },
37
- { name: "fileIds", type: "uint256[]" },
38
- ],
39
- };
40
- export const GRANT_REVOCATION_TYPES = {
41
- GrantRevocation: [
42
- { name: "grantorAddress", type: "address" },
43
- { name: "grantId", type: "bytes32" },
44
- ],
45
- };
46
- export function serverRegistrationDomain(config) {
47
- return buildDomain(config.chainId, config.contracts.dataPortabilityServer);
48
- }
49
- export const SERVER_REGISTRATION_TYPES = {
50
- ServerRegistration: [
51
- { name: "ownerAddress", type: "address" },
52
- { name: "serverAddress", type: "address" },
53
- { name: "publicKey", type: "string" },
54
- { name: "serverUrl", type: "string" },
55
- ],
56
- };
57
- export function builderRegistrationDomain(config) {
58
- return buildDomain(config.chainId, config.contracts.dataPortabilityGrantees);
59
- }
60
- export const BUILDER_REGISTRATION_TYPES = {
61
- BuilderRegistration: [
62
- { name: "ownerAddress", type: "address" },
63
- { name: "granteeAddress", type: "address" },
64
- { name: "publicKey", type: "string" },
65
- { name: "appUrl", type: "string" },
66
- ],
67
- };
68
- //# sourceMappingURL=eip712.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"eip712.js","sourceRoot":"","sources":["../../src/signing/eip712.ts"],"names":[],"mappings":"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"}
@@ -1,10 +0,0 @@
1
- /**
2
- * Decrypt an OpenPGP password-encrypted binary.
3
- *
4
- * @param encrypted - OpenPGP encrypted binary data
5
- * @param password - hex-encoded scope key
6
- * @returns plaintext Uint8Array
7
- * @throws if password is wrong or data is corrupted
8
- */
9
- export declare function decryptWithPassword(encrypted: Uint8Array, password: string): Promise<Uint8Array>;
10
- //# sourceMappingURL=decrypt.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"decrypt.d.ts","sourceRoot":"","sources":["../../../src/storage/encryption/decrypt.ts"],"names":[],"mappings":"AAEA;;;;;;;GAOG;AACH,wBAAsB,mBAAmB,CACvC,SAAS,EAAE,UAAU,EACrB,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,UAAU,CAAC,CAQrB"}
@@ -1,19 +0,0 @@
1
- import * as openpgp from "openpgp";
2
- /**
3
- * Decrypt an OpenPGP password-encrypted binary.
4
- *
5
- * @param encrypted - OpenPGP encrypted binary data
6
- * @param password - hex-encoded scope key
7
- * @returns plaintext Uint8Array
8
- * @throws if password is wrong or data is corrupted
9
- */
10
- export async function decryptWithPassword(encrypted, password) {
11
- const message = await openpgp.readMessage({ binaryMessage: encrypted });
12
- const { data } = await openpgp.decrypt({
13
- message,
14
- passwords: [password],
15
- format: "binary",
16
- });
17
- return data;
18
- }
19
- //# sourceMappingURL=decrypt.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"decrypt.js","sourceRoot":"","sources":["../../../src/storage/encryption/decrypt.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,OAAO,MAAM,SAAS,CAAC;AAEnC;;;;;;;GAOG;AACH,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACvC,SAAqB,EACrB,QAAgB;IAEhB,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,WAAW,CAAC,EAAE,aAAa,EAAE,SAAS,EAAE,CAAC,CAAC;IACxE,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,OAAO,CAAC,OAAO,CAAC;QACrC,OAAO;QACP,SAAS,EAAE,CAAC,QAAQ,CAAC;QACrB,MAAM,EAAE,QAAQ;KACjB,CAAC,CAAC;IACH,OAAO,IAAkB,CAAC;AAC5B,CAAC"}
@@ -1,10 +0,0 @@
1
- /**
2
- * Encrypt plaintext using OpenPGP password-based encryption.
3
- * Produces the same binary format as vana-sdk.
4
- *
5
- * @param plaintext - data to encrypt (typically JSON.stringify of envelope)
6
- * @param password - hex-encoded scope key from deriveScopeKey()
7
- * @returns OpenPGP encrypted binary (Uint8Array)
8
- */
9
- export declare function encryptWithPassword(plaintext: Uint8Array, password: string): Promise<Uint8Array>;
10
- //# sourceMappingURL=encrypt.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"encrypt.d.ts","sourceRoot":"","sources":["../../../src/storage/encryption/encrypt.ts"],"names":[],"mappings":"AAEA;;;;;;;GAOG;AACH,wBAAsB,mBAAmB,CACvC,SAAS,EAAE,UAAU,EACrB,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,UAAU,CAAC,CAQrB"}
@@ -1,19 +0,0 @@
1
- import * as openpgp from "openpgp";
2
- /**
3
- * Encrypt plaintext using OpenPGP password-based encryption.
4
- * Produces the same binary format as vana-sdk.
5
- *
6
- * @param plaintext - data to encrypt (typically JSON.stringify of envelope)
7
- * @param password - hex-encoded scope key from deriveScopeKey()
8
- * @returns OpenPGP encrypted binary (Uint8Array)
9
- */
10
- export async function encryptWithPassword(plaintext, password) {
11
- const message = await openpgp.createMessage({ binary: plaintext });
12
- const encrypted = await openpgp.encrypt({
13
- message,
14
- passwords: [password],
15
- format: "binary",
16
- });
17
- return encrypted;
18
- }
19
- //# sourceMappingURL=encrypt.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"encrypt.js","sourceRoot":"","sources":["../../../src/storage/encryption/encrypt.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,OAAO,MAAM,SAAS,CAAC;AAEnC;;;;;;;GAOG;AACH,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACvC,SAAqB,EACrB,QAAgB;IAEhB,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,aAAa,CAAC,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,CAAC;IACnE,MAAM,SAAS,GAAG,MAAM,OAAO,CAAC,OAAO,CAAC;QACtC,OAAO;QACP,SAAS,EAAE,CAAC,QAAQ,CAAC;QACrB,MAAM,EAAE,QAAQ;KACjB,CAAC,CAAC;IACH,OAAO,SAAuB,CAAC;AACjC,CAAC"}
@@ -1,3 +0,0 @@
1
- export { encryptWithPassword } from "./encrypt.js";
2
- export { decryptWithPassword } from "./decrypt.js";
3
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/storage/encryption/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AACnD,OAAO,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC"}
@@ -1,3 +0,0 @@
1
- export { encryptWithPassword } from "./encrypt.js";
2
- export { decryptWithPassword } from "./decrypt.js";
3
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/storage/encryption/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AACnD,OAAO,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC"}