@opendatalabs/personal-server-ts-core 0.0.1-canary.00328bf

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 (573) hide show
  1. package/dist/api/index.d.ts +408 -0
  2. package/dist/api/index.d.ts.map +1 -0
  3. package/dist/api/index.js +1257 -0
  4. package/dist/api/index.js.map +1 -0
  5. package/dist/api/raw-envelope.d.ts +3 -0
  6. package/dist/api/raw-envelope.d.ts.map +1 -0
  7. package/dist/api/raw-envelope.js +215 -0
  8. package/dist/api/raw-envelope.js.map +1 -0
  9. package/dist/auth/index.d.ts +2 -0
  10. package/dist/auth/index.d.ts.map +1 -0
  11. package/dist/auth/index.js +2 -0
  12. package/dist/auth/index.js.map +1 -0
  13. package/dist/auth/request.d.ts +28 -0
  14. package/dist/auth/request.d.ts.map +1 -0
  15. package/dist/auth/request.js +106 -0
  16. package/dist/auth/request.js.map +1 -0
  17. package/dist/client.d.ts +233 -0
  18. package/dist/client.d.ts.map +1 -0
  19. package/dist/client.js +243 -0
  20. package/dist/client.js.map +1 -0
  21. package/dist/config/defaults.d.ts +12 -0
  22. package/dist/config/defaults.d.ts.map +1 -0
  23. package/dist/config/defaults.js +12 -0
  24. package/dist/config/defaults.js.map +1 -0
  25. package/dist/config/index.d.ts +3 -0
  26. package/dist/config/index.d.ts.map +1 -0
  27. package/dist/config/index.js +3 -0
  28. package/dist/config/index.js.map +1 -0
  29. package/dist/config/paths.d.ts +9 -0
  30. package/dist/config/paths.d.ts.map +1 -0
  31. package/dist/config/paths.js +14 -0
  32. package/dist/config/paths.js.map +1 -0
  33. package/dist/contracts/access-logs.d.ts +8 -0
  34. package/dist/contracts/access-logs.d.ts.map +1 -0
  35. package/dist/contracts/access-logs.js +7 -0
  36. package/dist/contracts/access-logs.js.map +1 -0
  37. package/dist/contracts/auth-device.d.ts +70 -0
  38. package/dist/contracts/auth-device.d.ts.map +1 -0
  39. package/dist/contracts/auth-device.js +163 -0
  40. package/dist/contracts/auth-device.js.map +1 -0
  41. package/dist/contracts/binary.d.ts +66 -0
  42. package/dist/contracts/binary.d.ts.map +1 -0
  43. package/dist/contracts/binary.js +123 -0
  44. package/dist/contracts/binary.js.map +1 -0
  45. package/dist/contracts/config.d.ts +5 -0
  46. package/dist/contracts/config.d.ts.map +1 -0
  47. package/dist/contracts/config.js +30 -0
  48. package/dist/contracts/config.js.map +1 -0
  49. package/dist/contracts/data.d.ts +165 -0
  50. package/dist/contracts/data.d.ts.map +1 -0
  51. package/dist/contracts/data.js +371 -0
  52. package/dist/contracts/data.js.map +1 -0
  53. package/dist/contracts/grants.d.ts +45 -0
  54. package/dist/contracts/grants.d.ts.map +1 -0
  55. package/dist/contracts/grants.js +177 -0
  56. package/dist/contracts/grants.js.map +1 -0
  57. package/dist/contracts/http.d.ts +21 -0
  58. package/dist/contracts/http.d.ts.map +1 -0
  59. package/dist/contracts/http.js +49 -0
  60. package/dist/contracts/http.js.map +1 -0
  61. package/dist/contracts/index.d.ts +16 -0
  62. package/dist/contracts/index.d.ts.map +1 -0
  63. package/dist/contracts/index.js +10 -0
  64. package/dist/contracts/index.js.map +1 -0
  65. package/dist/contracts/oauth.d.ts +38 -0
  66. package/dist/contracts/oauth.d.ts.map +1 -0
  67. package/dist/contracts/oauth.js +130 -0
  68. package/dist/contracts/oauth.js.map +1 -0
  69. package/dist/contracts/sync.d.ts +10 -0
  70. package/dist/contracts/sync.d.ts.map +1 -0
  71. package/dist/contracts/sync.js +35 -0
  72. package/dist/contracts/sync.js.map +1 -0
  73. package/dist/derivatives/answer-shape.d.ts +83 -0
  74. package/dist/derivatives/answer-shape.d.ts.map +1 -0
  75. package/dist/derivatives/answer-shape.js +320 -0
  76. package/dist/derivatives/answer-shape.js.map +1 -0
  77. package/dist/derivatives/api.d.ts +48 -0
  78. package/dist/derivatives/api.d.ts.map +1 -0
  79. package/dist/derivatives/api.js +374 -0
  80. package/dist/derivatives/api.js.map +1 -0
  81. package/dist/derivatives/compute.d.ts +112 -0
  82. package/dist/derivatives/compute.d.ts.map +1 -0
  83. package/dist/derivatives/compute.js +476 -0
  84. package/dist/derivatives/compute.js.map +1 -0
  85. package/dist/derivatives/e2ee/aad.d.ts +22 -0
  86. package/dist/derivatives/e2ee/aad.d.ts.map +1 -0
  87. package/dist/derivatives/e2ee/aad.js +32 -0
  88. package/dist/derivatives/e2ee/aad.js.map +1 -0
  89. package/dist/derivatives/e2ee/attestation.d.ts +134 -0
  90. package/dist/derivatives/e2ee/attestation.d.ts.map +1 -0
  91. package/dist/derivatives/e2ee/attestation.js +248 -0
  92. package/dist/derivatives/e2ee/attestation.js.map +1 -0
  93. package/dist/derivatives/e2ee/index.d.ts +6 -0
  94. package/dist/derivatives/e2ee/index.d.ts.map +1 -0
  95. package/dist/derivatives/e2ee/index.js +6 -0
  96. package/dist/derivatives/e2ee/index.js.map +1 -0
  97. package/dist/derivatives/e2ee/jcs.d.ts +17 -0
  98. package/dist/derivatives/e2ee/jcs.d.ts.map +1 -0
  99. package/dist/derivatives/e2ee/jcs.js +55 -0
  100. package/dist/derivatives/e2ee/jcs.js.map +1 -0
  101. package/dist/derivatives/e2ee/phala.d.ts +62 -0
  102. package/dist/derivatives/e2ee/phala.d.ts.map +1 -0
  103. package/dist/derivatives/e2ee/phala.js +168 -0
  104. package/dist/derivatives/e2ee/phala.js.map +1 -0
  105. package/dist/derivatives/e2ee/suite.d.ts +56 -0
  106. package/dist/derivatives/e2ee/suite.d.ts.map +1 -0
  107. package/dist/derivatives/e2ee/suite.js +164 -0
  108. package/dist/derivatives/e2ee/suite.js.map +1 -0
  109. package/dist/derivatives/index.d.ts +11 -0
  110. package/dist/derivatives/index.d.ts.map +1 -0
  111. package/dist/derivatives/index.js +11 -0
  112. package/dist/derivatives/index.js.map +1 -0
  113. package/dist/derivatives/inference.d.ts +151 -0
  114. package/dist/derivatives/inference.d.ts.map +1 -0
  115. package/dist/derivatives/inference.js +262 -0
  116. package/dist/derivatives/inference.js.map +1 -0
  117. package/dist/derivatives/prompt.d.ts +99 -0
  118. package/dist/derivatives/prompt.d.ts.map +1 -0
  119. package/dist/derivatives/prompt.js +281 -0
  120. package/dist/derivatives/prompt.js.map +1 -0
  121. package/dist/derivatives/registration.d.ts +56 -0
  122. package/dist/derivatives/registration.d.ts.map +1 -0
  123. package/dist/derivatives/registration.js +187 -0
  124. package/dist/derivatives/registration.js.map +1 -0
  125. package/dist/derivatives/scheduler.d.ts +114 -0
  126. package/dist/derivatives/scheduler.d.ts.map +1 -0
  127. package/dist/derivatives/scheduler.js +331 -0
  128. package/dist/derivatives/scheduler.js.map +1 -0
  129. package/dist/derivatives/store.d.ts +14 -0
  130. package/dist/derivatives/store.d.ts.map +1 -0
  131. package/dist/derivatives/store.js +79 -0
  132. package/dist/derivatives/store.js.map +1 -0
  133. package/dist/derivatives/types.d.ts +102 -0
  134. package/dist/derivatives/types.d.ts.map +1 -0
  135. package/dist/derivatives/types.js +29 -0
  136. package/dist/derivatives/types.js.map +1 -0
  137. package/dist/errors/catalog.d.ts +125 -0
  138. package/dist/errors/catalog.d.ts.map +1 -0
  139. package/dist/errors/catalog.js +198 -0
  140. package/dist/errors/catalog.js.map +1 -0
  141. package/dist/errors/pdpp-catalog.d.ts +36 -0
  142. package/dist/errors/pdpp-catalog.d.ts.map +1 -0
  143. package/dist/errors/pdpp-catalog.js +82 -0
  144. package/dist/errors/pdpp-catalog.js.map +1 -0
  145. package/dist/grants/index.d.ts +5 -0
  146. package/dist/grants/index.d.ts.map +1 -0
  147. package/dist/grants/index.js +6 -0
  148. package/dist/grants/index.js.map +1 -0
  149. package/dist/grants/pdpp-binding-store.d.ts +58 -0
  150. package/dist/grants/pdpp-binding-store.d.ts.map +1 -0
  151. package/dist/grants/pdpp-binding-store.js +97 -0
  152. package/dist/grants/pdpp-binding-store.js.map +1 -0
  153. package/dist/grants/pdpp-binding.d.ts +179 -0
  154. package/dist/grants/pdpp-binding.d.ts.map +1 -0
  155. package/dist/grants/pdpp-binding.js +214 -0
  156. package/dist/grants/pdpp-binding.js.map +1 -0
  157. package/dist/keys/index.d.ts +3 -0
  158. package/dist/keys/index.d.ts.map +1 -0
  159. package/dist/keys/index.js +2 -0
  160. package/dist/keys/index.js.map +1 -0
  161. package/dist/keys/public-only-account.d.ts +8 -0
  162. package/dist/keys/public-only-account.d.ts.map +1 -0
  163. package/dist/keys/public-only-account.js +21 -0
  164. package/dist/keys/public-only-account.js.map +1 -0
  165. package/dist/keys/server-account.d.ts +24 -0
  166. package/dist/keys/server-account.d.ts.map +1 -0
  167. package/dist/keys/server-account.js +2 -0
  168. package/dist/keys/server-account.js.map +1 -0
  169. package/dist/lineage/attestation.d.ts +42 -0
  170. package/dist/lineage/attestation.d.ts.map +1 -0
  171. package/dist/lineage/attestation.js +25 -0
  172. package/dist/lineage/attestation.js.map +1 -0
  173. package/dist/lineage/gateway.d.ts +105 -0
  174. package/dist/lineage/gateway.d.ts.map +1 -0
  175. package/dist/lineage/gateway.js +242 -0
  176. package/dist/lineage/gateway.js.map +1 -0
  177. package/dist/lineage/index.d.ts +5 -0
  178. package/dist/lineage/index.d.ts.map +1 -0
  179. package/dist/lineage/index.js +5 -0
  180. package/dist/lineage/index.js.map +1 -0
  181. package/dist/lineage/lineage.d.ts +141 -0
  182. package/dist/lineage/lineage.d.ts.map +1 -0
  183. package/dist/lineage/lineage.js +255 -0
  184. package/dist/lineage/lineage.js.map +1 -0
  185. package/dist/logger/index.d.ts +9 -0
  186. package/dist/logger/index.d.ts.map +1 -0
  187. package/dist/logger/index.js +5 -0
  188. package/dist/logger/index.js.map +1 -0
  189. package/dist/logging/access-log.d.ts +23 -0
  190. package/dist/logging/access-log.d.ts.map +1 -0
  191. package/dist/logging/access-log.js +2 -0
  192. package/dist/logging/access-log.js.map +1 -0
  193. package/dist/logging/access-reader.d.ts +14 -0
  194. package/dist/logging/access-reader.d.ts.map +1 -0
  195. package/dist/logging/access-reader.js +2 -0
  196. package/dist/logging/access-reader.js.map +1 -0
  197. package/dist/mcp/activity.d.ts +68 -0
  198. package/dist/mcp/activity.d.ts.map +1 -0
  199. package/dist/mcp/activity.js +111 -0
  200. package/dist/mcp/activity.js.map +1 -0
  201. package/dist/mcp/builder-registration.d.ts +24 -0
  202. package/dist/mcp/builder-registration.d.ts.map +1 -0
  203. package/dist/mcp/builder-registration.js +89 -0
  204. package/dist/mcp/builder-registration.js.map +1 -0
  205. package/dist/mcp/connection-api.d.ts +201 -0
  206. package/dist/mcp/connection-api.d.ts.map +1 -0
  207. package/dist/mcp/connection-api.js +506 -0
  208. package/dist/mcp/connection-api.js.map +1 -0
  209. package/dist/mcp/grantee.d.ts +52 -0
  210. package/dist/mcp/grantee.d.ts.map +1 -0
  211. package/dist/mcp/grantee.js +91 -0
  212. package/dist/mcp/grantee.js.map +1 -0
  213. package/dist/mcp/index.d.ts +12 -0
  214. package/dist/mcp/index.d.ts.map +1 -0
  215. package/dist/mcp/index.js +12 -0
  216. package/dist/mcp/index.js.map +1 -0
  217. package/dist/mcp/read-client.d.ts +176 -0
  218. package/dist/mcp/read-client.d.ts.map +1 -0
  219. package/dist/mcp/read-client.js +579 -0
  220. package/dist/mcp/read-client.js.map +1 -0
  221. package/dist/mcp/resources.d.ts +37 -0
  222. package/dist/mcp/resources.d.ts.map +1 -0
  223. package/dist/mcp/resources.js +114 -0
  224. package/dist/mcp/resources.js.map +1 -0
  225. package/dist/mcp/search/index.d.ts +34 -0
  226. package/dist/mcp/search/index.d.ts.map +1 -0
  227. package/dist/mcp/search/index.js +156 -0
  228. package/dist/mcp/search/index.js.map +1 -0
  229. package/dist/mcp/server.d.ts +72 -0
  230. package/dist/mcp/server.d.ts.map +1 -0
  231. package/dist/mcp/server.js +447 -0
  232. package/dist/mcp/server.js.map +1 -0
  233. package/dist/mcp/session.d.ts +160 -0
  234. package/dist/mcp/session.d.ts.map +1 -0
  235. package/dist/mcp/session.js +243 -0
  236. package/dist/mcp/session.js.map +1 -0
  237. package/dist/mcp/store.d.ts +13 -0
  238. package/dist/mcp/store.d.ts.map +1 -0
  239. package/dist/mcp/store.js +119 -0
  240. package/dist/mcp/store.js.map +1 -0
  241. package/dist/mcp/token-expiry.d.ts +38 -0
  242. package/dist/mcp/token-expiry.d.ts.map +1 -0
  243. package/dist/mcp/token-expiry.js +55 -0
  244. package/dist/mcp/token-expiry.js.map +1 -0
  245. package/dist/mcp/tools.d.ts +95 -0
  246. package/dist/mcp/tools.d.ts.map +1 -0
  247. package/dist/mcp/tools.js +1381 -0
  248. package/dist/mcp/tools.js.map +1 -0
  249. package/dist/mcp/types.d.ts +135 -0
  250. package/dist/mcp/types.d.ts.map +1 -0
  251. package/dist/mcp/types.js +24 -0
  252. package/dist/mcp/types.js.map +1 -0
  253. package/dist/payment/index.d.ts +2 -0
  254. package/dist/payment/index.d.ts.map +1 -0
  255. package/dist/payment/index.js +2 -0
  256. package/dist/payment/index.js.map +1 -0
  257. package/dist/payment/x402.d.ts +155 -0
  258. package/dist/payment/x402.d.ts.map +1 -0
  259. package/dist/payment/x402.js +402 -0
  260. package/dist/payment/x402.js.map +1 -0
  261. package/dist/pdpp/approval.d.ts +182 -0
  262. package/dist/pdpp/approval.d.ts.map +1 -0
  263. package/dist/pdpp/approval.js +337 -0
  264. package/dist/pdpp/approval.js.map +1 -0
  265. package/dist/pdpp/client-identity.d.ts +88 -0
  266. package/dist/pdpp/client-identity.d.ts.map +1 -0
  267. package/dist/pdpp/client-identity.js +183 -0
  268. package/dist/pdpp/client-identity.js.map +1 -0
  269. package/dist/pdpp/client-metadata.d.ts +95 -0
  270. package/dist/pdpp/client-metadata.d.ts.map +1 -0
  271. package/dist/pdpp/client-metadata.js +96 -0
  272. package/dist/pdpp/client-metadata.js.map +1 -0
  273. package/dist/pdpp/declaration.d.ts +118 -0
  274. package/dist/pdpp/declaration.d.ts.map +1 -0
  275. package/dist/pdpp/declaration.js +549 -0
  276. package/dist/pdpp/declaration.js.map +1 -0
  277. package/dist/pdpp/index.d.ts +35 -0
  278. package/dist/pdpp/index.d.ts.map +1 -0
  279. package/dist/pdpp/index.js +22 -0
  280. package/dist/pdpp/index.js.map +1 -0
  281. package/dist/pdpp/issuance.d.ts +91 -0
  282. package/dist/pdpp/issuance.d.ts.map +1 -0
  283. package/dist/pdpp/issuance.js +124 -0
  284. package/dist/pdpp/issuance.js.map +1 -0
  285. package/dist/pdpp/pkce.d.ts +53 -0
  286. package/dist/pdpp/pkce.d.ts.map +1 -0
  287. package/dist/pdpp/pkce.js +109 -0
  288. package/dist/pdpp/pkce.js.map +1 -0
  289. package/dist/pdpp/redirect.d.ts +60 -0
  290. package/dist/pdpp/redirect.d.ts.map +1 -0
  291. package/dist/pdpp/redirect.js +125 -0
  292. package/dist/pdpp/redirect.js.map +1 -0
  293. package/dist/pdpp/resolve.d.ts +53 -0
  294. package/dist/pdpp/resolve.d.ts.map +1 -0
  295. package/dist/pdpp/resolve.js +218 -0
  296. package/dist/pdpp/resolve.js.map +1 -0
  297. package/dist/pdpp/review.d.ts +155 -0
  298. package/dist/pdpp/review.d.ts.map +1 -0
  299. package/dist/pdpp/review.js +142 -0
  300. package/dist/pdpp/review.js.map +1 -0
  301. package/dist/pdpp/selection.d.ts +43 -0
  302. package/dist/pdpp/selection.d.ts.map +1 -0
  303. package/dist/pdpp/selection.js +211 -0
  304. package/dist/pdpp/selection.js.map +1 -0
  305. package/dist/pdpp/store.d.ts +204 -0
  306. package/dist/pdpp/store.d.ts.map +1 -0
  307. package/dist/pdpp/store.js +501 -0
  308. package/dist/pdpp/store.js.map +1 -0
  309. package/dist/pdpp/tokens.d.ts +149 -0
  310. package/dist/pdpp/tokens.d.ts.map +1 -0
  311. package/dist/pdpp/tokens.js +387 -0
  312. package/dist/pdpp/tokens.js.map +1 -0
  313. package/dist/pdpp/types.d.ts +258 -0
  314. package/dist/pdpp/types.d.ts.map +1 -0
  315. package/dist/pdpp/types.js +40 -0
  316. package/dist/pdpp/types.js.map +1 -0
  317. package/dist/pdpp-version.d.ts +28 -0
  318. package/dist/pdpp-version.d.ts.map +1 -0
  319. package/dist/pdpp-version.js +28 -0
  320. package/dist/pdpp-version.js.map +1 -0
  321. package/dist/policy/data-read.d.ts +56 -0
  322. package/dist/policy/data-read.d.ts.map +1 -0
  323. package/dist/policy/data-read.js +176 -0
  324. package/dist/policy/data-read.js.map +1 -0
  325. package/dist/policy/data-write.d.ts +69 -0
  326. package/dist/policy/data-write.d.ts.map +1 -0
  327. package/dist/policy/data-write.js +131 -0
  328. package/dist/policy/data-write.js.map +1 -0
  329. package/dist/policy/index.d.ts +4 -0
  330. package/dist/policy/index.d.ts.map +1 -0
  331. package/dist/policy/index.js +4 -0
  332. package/dist/policy/index.js.map +1 -0
  333. package/dist/policy/signed-artifacts.d.ts +17 -0
  334. package/dist/policy/signed-artifacts.d.ts.map +1 -0
  335. package/dist/policy/signed-artifacts.js +110 -0
  336. package/dist/policy/signed-artifacts.js.map +1 -0
  337. package/dist/ports/index.d.ts +243 -0
  338. package/dist/ports/index.d.ts.map +1 -0
  339. package/dist/ports/index.js +7 -0
  340. package/dist/ports/index.js.map +1 -0
  341. package/dist/ports/pdpp-auth.d.ts +103 -0
  342. package/dist/ports/pdpp-auth.d.ts.map +1 -0
  343. package/dist/ports/pdpp-auth.js +37 -0
  344. package/dist/ports/pdpp-auth.js.map +1 -0
  345. package/dist/ports/pdpp-auth.test-utils.d.ts +9 -0
  346. package/dist/ports/pdpp-auth.test-utils.d.ts.map +1 -0
  347. package/dist/ports/pdpp-auth.test-utils.js +18 -0
  348. package/dist/ports/pdpp-auth.test-utils.js.map +1 -0
  349. package/dist/schemas/server-config.d.ts +190 -0
  350. package/dist/schemas/server-config.d.ts.map +1 -0
  351. package/dist/schemas/server-config.js +282 -0
  352. package/dist/schemas/server-config.js.map +1 -0
  353. package/dist/signing/index.d.ts +3 -0
  354. package/dist/signing/index.d.ts.map +1 -0
  355. package/dist/signing/index.js +3 -0
  356. package/dist/signing/index.js.map +1 -0
  357. package/dist/signing/request-signer.d.ts +20 -0
  358. package/dist/signing/request-signer.d.ts.map +1 -0
  359. package/dist/signing/request-signer.js +23 -0
  360. package/dist/signing/request-signer.js.map +1 -0
  361. package/dist/signing/signer.d.ts +40 -0
  362. package/dist/signing/signer.d.ts.map +1 -0
  363. package/dist/signing/signer.js +56 -0
  364. package/dist/signing/signer.js.map +1 -0
  365. package/dist/storage/adapters/index.d.ts +4 -0
  366. package/dist/storage/adapters/index.d.ts.map +1 -0
  367. package/dist/storage/adapters/index.js +3 -0
  368. package/dist/storage/adapters/index.js.map +1 -0
  369. package/dist/storage/adapters/interface.d.ts +57 -0
  370. package/dist/storage/adapters/interface.d.ts.map +1 -0
  371. package/dist/storage/adapters/interface.js +2 -0
  372. package/dist/storage/adapters/interface.js.map +1 -0
  373. package/dist/storage/adapters/sdk.d.ts +23 -0
  374. package/dist/storage/adapters/sdk.d.ts.map +1 -0
  375. package/dist/storage/adapters/sdk.js +73 -0
  376. package/dist/storage/adapters/sdk.js.map +1 -0
  377. package/dist/storage/adapters/vana.d.ts +12 -0
  378. package/dist/storage/adapters/vana.d.ts.map +1 -0
  379. package/dist/storage/adapters/vana.js +111 -0
  380. package/dist/storage/adapters/vana.js.map +1 -0
  381. package/dist/storage/blocks/build.d.ts +20 -0
  382. package/dist/storage/blocks/build.d.ts.map +1 -0
  383. package/dist/storage/blocks/build.js +378 -0
  384. package/dist/storage/blocks/build.js.map +1 -0
  385. package/dist/storage/blocks/cursor.d.ts +33 -0
  386. package/dist/storage/blocks/cursor.d.ts.map +1 -0
  387. package/dist/storage/blocks/cursor.js +142 -0
  388. package/dist/storage/blocks/cursor.js.map +1 -0
  389. package/dist/storage/blocks/errors.d.ts +6 -0
  390. package/dist/storage/blocks/errors.d.ts.map +1 -0
  391. package/dist/storage/blocks/errors.js +9 -0
  392. package/dist/storage/blocks/errors.js.map +1 -0
  393. package/dist/storage/blocks/index.d.ts +6 -0
  394. package/dist/storage/blocks/index.d.ts.map +1 -0
  395. package/dist/storage/blocks/index.js +5 -0
  396. package/dist/storage/blocks/index.js.map +1 -0
  397. package/dist/storage/blocks/select.d.ts +29 -0
  398. package/dist/storage/blocks/select.d.ts.map +1 -0
  399. package/dist/storage/blocks/select.js +120 -0
  400. package/dist/storage/blocks/select.js.map +1 -0
  401. package/dist/storage/blocks/types.d.ts +56 -0
  402. package/dist/storage/blocks/types.d.ts.map +1 -0
  403. package/dist/storage/blocks/types.js +2 -0
  404. package/dist/storage/blocks/types.js.map +1 -0
  405. package/dist/storage/hierarchy/index.d.ts +3 -0
  406. package/dist/storage/hierarchy/index.d.ts.map +1 -0
  407. package/dist/storage/hierarchy/index.js +2 -0
  408. package/dist/storage/hierarchy/index.js.map +1 -0
  409. package/dist/storage/hierarchy/manager.d.ts +9 -0
  410. package/dist/storage/hierarchy/manager.d.ts.map +1 -0
  411. package/dist/storage/hierarchy/manager.js +2 -0
  412. package/dist/storage/hierarchy/manager.js.map +1 -0
  413. package/dist/storage/hierarchy/paths.d.ts +11 -0
  414. package/dist/storage/hierarchy/paths.d.ts.map +1 -0
  415. package/dist/storage/hierarchy/paths.js +43 -0
  416. package/dist/storage/hierarchy/paths.js.map +1 -0
  417. package/dist/storage/index/index.d.ts +3 -0
  418. package/dist/storage/index/index.d.ts.map +1 -0
  419. package/dist/storage/index/index.js +2 -0
  420. package/dist/storage/index/index.js.map +1 -0
  421. package/dist/storage/index/manager.d.ts +63 -0
  422. package/dist/storage/index/manager.d.ts.map +1 -0
  423. package/dist/storage/index/manager.js +2 -0
  424. package/dist/storage/index/manager.js.map +1 -0
  425. package/dist/storage/index/schema.d.ts +2 -0
  426. package/dist/storage/index/schema.d.ts.map +1 -0
  427. package/dist/storage/index/schema.js +2 -0
  428. package/dist/storage/index/schema.js.map +1 -0
  429. package/dist/storage/index/types.d.ts +37 -0
  430. package/dist/storage/index/types.d.ts.map +1 -0
  431. package/dist/storage/index/types.js +2 -0
  432. package/dist/storage/index/types.js.map +1 -0
  433. package/dist/storage/pdpp-records/cursor.d.ts +27 -0
  434. package/dist/storage/pdpp-records/cursor.d.ts.map +1 -0
  435. package/dist/storage/pdpp-records/cursor.js +49 -0
  436. package/dist/storage/pdpp-records/cursor.js.map +1 -0
  437. package/dist/storage/pdpp-records/enforcement.d.ts +37 -0
  438. package/dist/storage/pdpp-records/enforcement.d.ts.map +1 -0
  439. package/dist/storage/pdpp-records/enforcement.js +79 -0
  440. package/dist/storage/pdpp-records/enforcement.js.map +1 -0
  441. package/dist/storage/pdpp-records/index.d.ts +8 -0
  442. package/dist/storage/pdpp-records/index.d.ts.map +1 -0
  443. package/dist/storage/pdpp-records/index.js +8 -0
  444. package/dist/storage/pdpp-records/index.js.map +1 -0
  445. package/dist/storage/pdpp-records/interface.d.ts +49 -0
  446. package/dist/storage/pdpp-records/interface.d.ts.map +1 -0
  447. package/dist/storage/pdpp-records/interface.js +2 -0
  448. package/dist/storage/pdpp-records/interface.js.map +1 -0
  449. package/dist/storage/pdpp-records/memory-store.d.ts +9 -0
  450. package/dist/storage/pdpp-records/memory-store.d.ts.map +1 -0
  451. package/dist/storage/pdpp-records/memory-store.js +0 -0
  452. package/dist/storage/pdpp-records/memory-store.js.map +1 -0
  453. package/dist/storage/pdpp-records/record-key.d.ts +52 -0
  454. package/dist/storage/pdpp-records/record-key.d.ts.map +1 -0
  455. package/dist/storage/pdpp-records/record-key.js +97 -0
  456. package/dist/storage/pdpp-records/record-key.js.map +1 -0
  457. package/dist/storage/pdpp-records/stream-declaration.d.ts +43 -0
  458. package/dist/storage/pdpp-records/stream-declaration.d.ts.map +1 -0
  459. package/dist/storage/pdpp-records/stream-declaration.js +17 -0
  460. package/dist/storage/pdpp-records/stream-declaration.js.map +1 -0
  461. package/dist/storage/pdpp-records/types.d.ts +93 -0
  462. package/dist/storage/pdpp-records/types.d.ts.map +1 -0
  463. package/dist/storage/pdpp-records/types.js +17 -0
  464. package/dist/storage/pdpp-records/types.js.map +1 -0
  465. package/dist/storage/preview.d.ts +12 -0
  466. package/dist/storage/preview.d.ts.map +1 -0
  467. package/dist/storage/preview.js +239 -0
  468. package/dist/storage/preview.js.map +1 -0
  469. package/dist/sync/cursor.d.ts +10 -0
  470. package/dist/sync/cursor.d.ts.map +1 -0
  471. package/dist/sync/cursor.js +2 -0
  472. package/dist/sync/cursor.js.map +1 -0
  473. package/dist/sync/data-point-feed.d.ts +35 -0
  474. package/dist/sync/data-point-feed.d.ts.map +1 -0
  475. package/dist/sync/data-point-feed.js +122 -0
  476. package/dist/sync/data-point-feed.js.map +1 -0
  477. package/dist/sync/data-point-id.d.ts +7 -0
  478. package/dist/sync/data-point-id.d.ts.map +1 -0
  479. package/dist/sync/data-point-id.js +16 -0
  480. package/dist/sync/data-point-id.js.map +1 -0
  481. package/dist/sync/delete-data-port.d.ts +50 -0
  482. package/dist/sync/delete-data-port.d.ts.map +1 -0
  483. package/dist/sync/delete-data-port.js +244 -0
  484. package/dist/sync/delete-data-port.js.map +1 -0
  485. package/dist/sync/engine/sync-manager.d.ts +58 -0
  486. package/dist/sync/engine/sync-manager.d.ts.map +1 -0
  487. package/dist/sync/engine/sync-manager.js +285 -0
  488. package/dist/sync/engine/sync-manager.js.map +1 -0
  489. package/dist/sync/index.d.ts +15 -0
  490. package/dist/sync/index.d.ts.map +1 -0
  491. package/dist/sync/index.js +14 -0
  492. package/dist/sync/index.js.map +1 -0
  493. package/dist/sync/issues.d.ts +55 -0
  494. package/dist/sync/issues.d.ts.map +1 -0
  495. package/dist/sync/issues.js +168 -0
  496. package/dist/sync/issues.js.map +1 -0
  497. package/dist/sync/pdpp-import.d.ts +192 -0
  498. package/dist/sync/pdpp-import.d.ts.map +1 -0
  499. package/dist/sync/pdpp-import.js +422 -0
  500. package/dist/sync/pdpp-import.js.map +1 -0
  501. package/dist/sync/pending-blob-deletions.d.ts +29 -0
  502. package/dist/sync/pending-blob-deletions.d.ts.map +1 -0
  503. package/dist/sync/pending-blob-deletions.js +116 -0
  504. package/dist/sync/pending-blob-deletions.js.map +1 -0
  505. package/dist/sync/retry-memory.d.ts +33 -0
  506. package/dist/sync/retry-memory.d.ts.map +1 -0
  507. package/dist/sync/retry-memory.js +68 -0
  508. package/dist/sync/retry-memory.js.map +1 -0
  509. package/dist/sync/scope-deletions.d.ts +155 -0
  510. package/dist/sync/scope-deletions.d.ts.map +1 -0
  511. package/dist/sync/scope-deletions.js +225 -0
  512. package/dist/sync/scope-deletions.js.map +1 -0
  513. package/dist/sync/tombstone.d.ts +27 -0
  514. package/dist/sync/tombstone.d.ts.map +1 -0
  515. package/dist/sync/tombstone.js +28 -0
  516. package/dist/sync/tombstone.js.map +1 -0
  517. package/dist/sync/types.d.ts +27 -0
  518. package/dist/sync/types.d.ts.map +1 -0
  519. package/dist/sync/types.js +2 -0
  520. package/dist/sync/types.js.map +1 -0
  521. package/dist/sync/workers/delete.d.ts +163 -0
  522. package/dist/sync/workers/delete.d.ts.map +1 -0
  523. package/dist/sync/workers/delete.js +474 -0
  524. package/dist/sync/workers/delete.js.map +1 -0
  525. package/dist/sync/workers/download.d.ts +159 -0
  526. package/dist/sync/workers/download.d.ts.map +1 -0
  527. package/dist/sync/workers/download.js +731 -0
  528. package/dist/sync/workers/download.js.map +1 -0
  529. package/dist/sync/workers/upload.d.ts +98 -0
  530. package/dist/sync/workers/upload.d.ts.map +1 -0
  531. package/dist/sync/workers/upload.js +412 -0
  532. package/dist/sync/workers/upload.js.map +1 -0
  533. package/dist/test-utils/e2ee-fixtures.d.ts +94 -0
  534. package/dist/test-utils/e2ee-fixtures.d.ts.map +1 -0
  535. package/dist/test-utils/e2ee-fixtures.js +116 -0
  536. package/dist/test-utils/e2ee-fixtures.js.map +1 -0
  537. package/dist/test-utils/e2ee-gateway.d.ts +61 -0
  538. package/dist/test-utils/e2ee-gateway.d.ts.map +1 -0
  539. package/dist/test-utils/e2ee-gateway.js +248 -0
  540. package/dist/test-utils/e2ee-gateway.js.map +1 -0
  541. package/dist/test-utils/index.d.ts +5 -0
  542. package/dist/test-utils/index.d.ts.map +1 -0
  543. package/dist/test-utils/index.js +5 -0
  544. package/dist/test-utils/index.js.map +1 -0
  545. package/dist/test-utils/memory-storage.d.ts +12 -0
  546. package/dist/test-utils/memory-storage.d.ts.map +1 -0
  547. package/dist/test-utils/memory-storage.js +146 -0
  548. package/dist/test-utils/memory-storage.js.map +1 -0
  549. package/dist/test-utils/wallet.d.ts +47 -0
  550. package/dist/test-utils/wallet.d.ts.map +1 -0
  551. package/dist/test-utils/wallet.js +98 -0
  552. package/dist/test-utils/wallet.js.map +1 -0
  553. package/dist/write/attribution.d.ts +185 -0
  554. package/dist/write/attribution.d.ts.map +1 -0
  555. package/dist/write/attribution.js +450 -0
  556. package/dist/write/attribution.js.map +1 -0
  557. package/dist/write/authorize.d.ts +77 -0
  558. package/dist/write/authorize.d.ts.map +1 -0
  559. package/dist/write/authorize.js +109 -0
  560. package/dist/write/authorize.js.map +1 -0
  561. package/dist/write/index.d.ts +5 -0
  562. package/dist/write/index.d.ts.map +1 -0
  563. package/dist/write/index.js +5 -0
  564. package/dist/write/index.js.map +1 -0
  565. package/dist/write/route.d.ts +61 -0
  566. package/dist/write/route.d.ts.map +1 -0
  567. package/dist/write/route.js +132 -0
  568. package/dist/write/route.js.map +1 -0
  569. package/dist/write/session.d.ts +96 -0
  570. package/dist/write/session.d.ts.map +1 -0
  571. package/dist/write/session.js +136 -0
  572. package/dist/write/session.js.map +1 -0
  573. package/package.json +175 -0
@@ -0,0 +1,579 @@
1
+ /**
2
+ * In-process MCP read client.
3
+ *
4
+ * The MCP route accepts a tool call from an MCP client, then needs to read scoped data
5
+ * from the user's Personal Server *as the per-connection grantee*. We do NOT
6
+ * round-trip through the public HTTP origin for this — the relay/tunnel is only
7
+ * for inbound MCP traffic. Instead we:
8
+ *
9
+ * 1. Build a Web Request signed by the connection's grantee, with the
10
+ * existing grantId in the Web3Signed payload.
11
+ * 2. Use the same auth and access-log ports as `/v1/data`, then read bounded
12
+ * block sidecars from storage. MCP tools must not fall back to full envelope
13
+ * reads when sidecars are unavailable.
14
+ *
15
+ * This guarantees parity: the MCP read goes through the same policy check
16
+ * (`verifyDataReadPolicy`) and access-log path as an external builder read.
17
+ * No special owner-mode code path; no shared global grantee; logs record the
18
+ * per-connection grantee address.
19
+ */
20
+ import { decodeDataBlockCursor } from "../storage/blocks/index.js";
21
+ import { bytesToBase64, isBinaryEnvelope, parseMetadataHeader, } from "../contracts/binary.js";
22
+ import { LINEAGE_KEY } from "../lineage/lineage.js";
23
+ import { signMcpGranteeRequest } from "./grantee.js";
24
+ import { assertScopeNotDeleted, handlePersonalServerDataRequest, isOwnerView, reportPersonalServerReadFulfillment, resolveReadDeletion, } from "../api/index.js";
25
+ import { ProtocolError } from "../errors/catalog.js";
26
+ const FAIL_CLOSED_CONTEXT = {
27
+ dropTopLevelLineage: true,
28
+ dropMetadataLineage: true,
29
+ };
30
+ function pathUnder(path, prefix) {
31
+ return (path === prefix ||
32
+ (path.startsWith(prefix) && /[.[{]/.test(path.charAt(prefix.length))));
33
+ }
34
+ function groupLabelSegments(path) {
35
+ const match = /^\$\.data(?:\.metadata)?\.\{(.+):(.+)\}$/.exec(path);
36
+ return match ? [match[1], match[2]] : [];
37
+ }
38
+ /**
39
+ * Whether the served blocks carry anything the caller-lineage rule could
40
+ * apply to. When they don't (the overwhelmingly common case — ordinary
41
+ * content blocks), no stamped-ness decision is needed and the envelope is
42
+ * never read, keeping bounded reads bounded.
43
+ */
44
+ function servedLineageShaped(blocks) {
45
+ return blocks.some((block) => {
46
+ if (pathUnder(block.path, "$.data.lineage") ||
47
+ pathUnder(block.path, "$.data.metadata.lineage")) {
48
+ return true;
49
+ }
50
+ if (groupLabelSegments(block.path).some((segment) => segment === "lineage" || segment === LINEAGE_KEY)) {
51
+ return true;
52
+ }
53
+ if (!("value" in block) || !isPlainObject(block.value))
54
+ return false;
55
+ const data = block.path === "$" ? (block.value["data"] ?? null) : block.value;
56
+ return (isPlainObject(data) &&
57
+ ("lineage" in data ||
58
+ (isPlainObject(data["metadata"]) && "lineage" in data["metadata"])));
59
+ });
60
+ }
61
+ /**
62
+ * Stamped-ness evidence visible in the served blocks themselves: a
63
+ * `$.data.$lineage` path (dedicated block or manifest ref) or a `$lineage`
64
+ * key inside a data-level payload. Both occur only on JSON records — the
65
+ * binary block emitter never serializes the stamped keys — so visible
66
+ * evidence always means "JSON record, drop the top-level field".
67
+ */
68
+ function visibleStampEvidence(blocks) {
69
+ for (const block of blocks) {
70
+ if (pathUnder(block.path, `$.data.${LINEAGE_KEY}`) ||
71
+ groupLabelSegments(block.path).includes(LINEAGE_KEY)) {
72
+ return { dropTopLevelLineage: true, dropMetadataLineage: false };
73
+ }
74
+ if ("value" in block && isPlainObject(block.value)) {
75
+ const data = block.path === "$" ? (block.value["data"] ?? null) : block.value;
76
+ if (isPlainObject(data) && LINEAGE_KEY in data) {
77
+ return { dropTopLevelLineage: true, dropMetadataLineage: false };
78
+ }
79
+ }
80
+ }
81
+ return null;
82
+ }
83
+ /**
84
+ * The caller-lineage decision for a set of served blocks or manifest refs.
85
+ * Decided from the blocks themselves when possible; the stored envelope is
86
+ * read only when lineage-shaped content is present without visible
87
+ * stamped-ness evidence (a pagination or blockIds slice), and an unreadable
88
+ * envelope redacts both locations rather than serving them.
89
+ */
90
+ async function resolveBlockRedactionContext(storage, scope, collectedAt, blocks) {
91
+ if (!servedLineageShaped(blocks)) {
92
+ return { dropTopLevelLineage: false, dropMetadataLineage: false };
93
+ }
94
+ const visible = visibleStampEvidence(blocks);
95
+ if (visible)
96
+ return visible;
97
+ try {
98
+ const envelope = await storage.readEnvelope(scope, collectedAt);
99
+ if (!(LINEAGE_KEY in envelope.data)) {
100
+ return { dropTopLevelLineage: false, dropMetadataLineage: false };
101
+ }
102
+ return isBinaryEnvelope(envelope)
103
+ ? { dropTopLevelLineage: false, dropMetadataLineage: true }
104
+ : { dropTopLevelLineage: true, dropMetadataLineage: false };
105
+ }
106
+ catch {
107
+ return FAIL_CLOSED_CONTEXT;
108
+ }
109
+ }
110
+ function redactedBlockPathPrefixes(ctx) {
111
+ return [
112
+ "$.data.$writtenBy",
113
+ "$.data.$lineage",
114
+ ...(ctx.dropTopLevelLineage ? ["$.data.lineage"] : []),
115
+ ...(ctx.dropMetadataLineage ? ["$.data.metadata.lineage"] : []),
116
+ ];
117
+ }
118
+ function isRedactedBlockPath(path, ctx) {
119
+ return redactedBlockPathPrefixes(ctx).some((prefix) => path === prefix ||
120
+ (path.startsWith(prefix) && /[.[{]/.test(path.charAt(prefix.length))));
121
+ }
122
+ function isPlainObject(value) {
123
+ return value !== null && typeof value === "object" && !Array.isArray(value);
124
+ }
125
+ function isRedactedKeyName(parent, key, ctx) {
126
+ if (parent === "data") {
127
+ return (key === "$writtenBy" ||
128
+ key === "$lineage" ||
129
+ (ctx.dropTopLevelLineage && key === "lineage"));
130
+ }
131
+ return ctx.dropMetadataLineage && key === "lineage";
132
+ }
133
+ /**
134
+ * Group blocks are labeled `<parent>.{first:last}` after the first and last
135
+ * key they pack; a redacted key name in the label is rewritten so not even
136
+ * the key's existence is served.
137
+ */
138
+ function sanitizeGroupLabel(path, ctx) {
139
+ const match = /^(\$\.data(?:\.metadata)?)\.\{(.+):(.+)\}$/.exec(path);
140
+ if (!match)
141
+ return path;
142
+ const parent = match[1] === "$.data" ? "data" : "metadata";
143
+ const first = isRedactedKeyName(parent, match[2], ctx) ? "…" : match[2];
144
+ const last = isRedactedKeyName(parent, match[3], ctx) ? "…" : match[3];
145
+ return `${match[1]}.{${first}:${last}}`;
146
+ }
147
+ function stripMetadataLineage(value, ctx) {
148
+ if (!ctx.dropMetadataLineage || !isPlainObject(value["metadata"])) {
149
+ return value;
150
+ }
151
+ const { lineage: _metadataLineage, ...metadataRest } = value["metadata"];
152
+ if (Object.keys(metadataRest).length === 0) {
153
+ const { metadata: _emptied, ...rest } = value;
154
+ return rest;
155
+ }
156
+ return { ...value, metadata: metadataRest };
157
+ }
158
+ function stripDataLevelKeys(value, ctx) {
159
+ const { $writtenBy: _writtenBy, $lineage: _lineage, ...rest } = value;
160
+ let data = rest;
161
+ if (ctx.dropTopLevelLineage) {
162
+ const { lineage: _callerLineage, ...dataRest } = data;
163
+ data = dataRest;
164
+ }
165
+ return stripMetadataLineage(data, ctx);
166
+ }
167
+ function redactBlockValue(path, value, ctx) {
168
+ if (!isPlainObject(value))
169
+ return value;
170
+ if (path === "$.data" || /^\$\.data\.\{.*\}$/.test(path)) {
171
+ return stripDataLevelKeys(value, ctx);
172
+ }
173
+ if (path === "$.data.metadata" || /^\$\.data\.metadata\.\{.*\}$/.test(path)) {
174
+ if (!ctx.dropMetadataLineage)
175
+ return value;
176
+ const { lineage: _metadataLineage, ...rest } = value;
177
+ return rest;
178
+ }
179
+ if (path === "$" && isPlainObject(value["data"])) {
180
+ return { ...value, data: stripDataLevelKeys(value["data"], ctx) };
181
+ }
182
+ return value;
183
+ }
184
+ function redactBlockRefsForGrantee(blocks, ctx) {
185
+ return blocks
186
+ .filter((block) => !isRedactedBlockPath(block.path, ctx))
187
+ .map((block) => ({ ...block, path: sanitizeGroupLabel(block.path, ctx) }));
188
+ }
189
+ function redactBlockPayloadsForGrantee(blocks, ctx) {
190
+ return blocks
191
+ .filter((block) => !isRedactedBlockPath(block.path, ctx))
192
+ .flatMap((block) => {
193
+ const value = redactBlockValue(block.path, block.value, ctx);
194
+ // A group emptied by the strip carried only redacted keys.
195
+ if (isPlainObject(block.value) &&
196
+ Object.keys(block.value).length > 0 &&
197
+ isPlainObject(value) &&
198
+ Object.keys(value).length === 0) {
199
+ return [];
200
+ }
201
+ return [{ ...block, path: sanitizeGroupLabel(block.path, ctx), value }];
202
+ });
203
+ }
204
+ export class McpDataReadError extends Error {
205
+ status;
206
+ body;
207
+ constructor(status, body) {
208
+ super(typeof body === "object" && body !== null && "error" in body
209
+ ? String(body.error?.message ??
210
+ `mcp data read failed (status ${status})`)
211
+ : `mcp data read failed (status ${status})`);
212
+ this.status = status;
213
+ this.body = body;
214
+ }
215
+ }
216
+ export function createMcpDataReadClient(options) {
217
+ const basePath = options.basePath ?? "/v1/data";
218
+ /**
219
+ * Same deletion gate as GET /v1/data/:scope, surfaced as the MCP error
220
+ * shape. Runs before `authorizeScopeRead`, which may settle payment.
221
+ */
222
+ async function assertScopeReadable(scope, entry) {
223
+ try {
224
+ await assertScopeNotDeleted(options.dataApiDeps, scope, entry);
225
+ }
226
+ catch (err) {
227
+ if (err instanceof ProtocolError) {
228
+ throw new McpDataReadError(err.code, err.toJSON());
229
+ }
230
+ throw err;
231
+ }
232
+ }
233
+ /**
234
+ * Sign a grantee request for `scope` and run the same policy check
235
+ * `/v1/data/:scope` runs. Shared by every grant-gated read below so none of
236
+ * them can drift away from the external read path's authorization.
237
+ */
238
+ async function authorizeScopeRead(params) {
239
+ const safeScope = encodeURIComponent(params.scope);
240
+ const signingUri = `${basePath}/${safeScope}`;
241
+ const authorization = await signMcpGranteeRequest({
242
+ account: options.granteeAccount,
243
+ aud: options.serverOrigin,
244
+ method: "GET",
245
+ uri: signingUri,
246
+ grantId: params.grantId,
247
+ });
248
+ const url = new URL(signingUri, options.serverOrigin).toString();
249
+ const request = new Request(url, {
250
+ method: "GET",
251
+ headers: {
252
+ Authorization: authorization,
253
+ ...(params.payment ? { "X-PAYMENT": params.payment } : {}),
254
+ },
255
+ });
256
+ try {
257
+ const authResult = await options.dataApiDeps.auth.authorizeBuilderRead({
258
+ request,
259
+ scope: params.scope,
260
+ grantId: params.grantId,
261
+ fileId: params.fileId,
262
+ ...(params.at ? { at: params.at } : {}),
263
+ });
264
+ return { request, authResult };
265
+ }
266
+ catch (err) {
267
+ if (err instanceof ProtocolError) {
268
+ throw new McpDataReadError(err.code, err.toJSON());
269
+ }
270
+ throw err;
271
+ }
272
+ }
273
+ async function writeReadAccessLog(request, params) {
274
+ const logId = options.dataApiDeps.createLogId?.() ?? crypto.randomUUID();
275
+ const timestamp = (options.dataApiDeps.now ?? (() => new Date()))().toISOString();
276
+ const ipAddress = request.headers.get("x-forwarded-for") ??
277
+ request.headers.get("x-real-ip") ??
278
+ "unknown";
279
+ const userAgent = request.headers.get("user-agent") ?? "unknown";
280
+ await options.dataApiDeps.accessLogWriter.write({
281
+ logId,
282
+ grantId: params.authResult?.grantId ?? params.grantId,
283
+ builder: params.authResult?.builder ?? options.granteeAccount.address,
284
+ action: "read",
285
+ scope: params.scope,
286
+ timestamp,
287
+ ipAddress,
288
+ userAgent,
289
+ });
290
+ return { logId, timestamp, ipAddress, userAgent };
291
+ }
292
+ return {
293
+ enforcesPayment: options.enforcesPayment ?? false,
294
+ async listScopes({ scopePrefix, limit, offset } = {}) {
295
+ const params = new URLSearchParams();
296
+ if (scopePrefix)
297
+ params.set("scopePrefix", scopePrefix);
298
+ if (limit !== undefined)
299
+ params.set("limit", String(limit));
300
+ if (offset !== undefined)
301
+ params.set("offset", String(offset));
302
+ const query = params.toString();
303
+ const pathWithQuery = query ? `${basePath}?${query}` : basePath;
304
+ const authorization = await signMcpGranteeRequest({
305
+ account: options.granteeAccount,
306
+ aud: options.serverOrigin,
307
+ method: "GET",
308
+ uri: basePath,
309
+ grantId: "mcp-list",
310
+ });
311
+ const url = new URL(pathWithQuery, options.serverOrigin).toString();
312
+ const request = new Request(url, {
313
+ method: "GET",
314
+ headers: { Authorization: authorization },
315
+ });
316
+ const response = await handlePersonalServerDataRequest(request, options.dataApiDeps, { basePath });
317
+ const body = await parseJsonOrText(response);
318
+ if (!response.ok) {
319
+ throw new McpDataReadError(response.status, body);
320
+ }
321
+ return { status: response.status, ...normalizeListScopesPayload(body) };
322
+ },
323
+ async getScopeMetadata(scope) {
324
+ const storage = options.dataApiDeps.storage;
325
+ const entry = storage.findEntry({ scope });
326
+ if (!entry)
327
+ return null;
328
+ // A tombstoned scope is absent for discovery purposes, exactly like a
329
+ // scope with no local copy; the same gate the HTTP read applies.
330
+ if (await resolveReadDeletion(options.dataApiDeps, scope, entry)) {
331
+ return null;
332
+ }
333
+ const hasBlocks = typeof storage.hasScopeBlocks === "function"
334
+ ? await storage.hasScopeBlocks(scope, entry.collectedAt)
335
+ : false;
336
+ return {
337
+ scope,
338
+ collectedAt: entry.collectedAt,
339
+ sizeBytes: entry.sizeBytes,
340
+ hasBlocks,
341
+ };
342
+ },
343
+ async readScopeBlocks({ scope, grantId, cursor, maxBytes, payment, blockIds, tool, }) {
344
+ const storage = options.dataApiDeps.storage;
345
+ if (!storage.readScopeBlocks) {
346
+ throw new McpDataReadError(503, {
347
+ error: "BOUNDED_DATA_UNAVAILABLE",
348
+ message: "Bounded scope data is unavailable while the storage sidecar is missing or still indexing.",
349
+ scope,
350
+ });
351
+ }
352
+ const pinnedCollectedAt = collectedAtFromCursor(scope, cursor);
353
+ const selectedEntry = storage.findEntry({
354
+ scope,
355
+ ...(pinnedCollectedAt ? { at: pinnedCollectedAt } : {}),
356
+ });
357
+ if (!selectedEntry) {
358
+ throw new McpDataReadError(404, {
359
+ error: "NOT_FOUND",
360
+ message: `No data found for scope "${scope}"`,
361
+ });
362
+ }
363
+ // Before authorizeScopeRead: a payment-enforcing auth port settles
364
+ // x402 there, and deleted data must never be charged for.
365
+ await assertScopeReadable(scope, selectedEntry);
366
+ const { request, authResult } = await authorizeScopeRead({
367
+ scope,
368
+ grantId,
369
+ fileId: selectedEntry.fileId ?? undefined,
370
+ // The exact version this read serves (cursor-pinned or latest) —
371
+ // a payment-enforcing auth port binds the x402 settlement to it.
372
+ at: selectedEntry.collectedAt,
373
+ payment,
374
+ });
375
+ try {
376
+ const result = await storage.readScopeBlocks(scope, selectedEntry.collectedAt, {
377
+ cursor,
378
+ maxBytes: maxBytes ?? 16_384,
379
+ ...(blockIds?.length ? { blockIds } : {}),
380
+ });
381
+ const { logId, timestamp, ipAddress, userAgent } = await writeReadAccessLog(request, { scope, grantId, authResult });
382
+ // A block-addressed read serves a hand-picked subset, so it never
383
+ // completes the scope the way an uncursored full read does; reporting
384
+ // fulfillment for it would settle the read on partial data.
385
+ if (authResult?.grantId &&
386
+ authResult.builder &&
387
+ !cursor &&
388
+ !blockIds?.length &&
389
+ !result.nextCursor) {
390
+ reportPersonalServerReadFulfillment(options.dataApiDeps, {
391
+ builder: authResult.builder,
392
+ fileId: selectedEntry.fileId ?? undefined,
393
+ grantId: authResult.grantId,
394
+ ipAddress,
395
+ logId,
396
+ outcome: "served",
397
+ scope,
398
+ servedAt: timestamp,
399
+ source: "mcp",
400
+ ...(tool ? { tool } : {}),
401
+ userAgent,
402
+ });
403
+ }
404
+ return isOwnerView(authResult)
405
+ ? { status: 200, ...result }
406
+ : {
407
+ status: 200,
408
+ ...result,
409
+ blocks: redactBlockPayloadsForGrantee(result.blocks, await resolveBlockRedactionContext(storage, scope, selectedEntry.collectedAt, result.blocks)),
410
+ };
411
+ }
412
+ catch (err) {
413
+ if (err instanceof ProtocolError) {
414
+ throw new McpDataReadError(err.code, err.toJSON());
415
+ }
416
+ if (err instanceof Error) {
417
+ const code = dataBlockStorageErrorCode(err);
418
+ const status = code === "cursor_invalid" ? 400 : 503;
419
+ throw new McpDataReadError(status, {
420
+ error: code === "cursor_invalid"
421
+ ? "INVALID_CURSOR"
422
+ : "BOUNDED_DATA_UNAVAILABLE",
423
+ message: code === "cursor_invalid"
424
+ ? "The bounded read cursor is invalid for this scope."
425
+ : "Bounded scope data is unavailable while the storage sidecar is missing or still indexing.",
426
+ scope,
427
+ ...(code ? { reason: code } : {}),
428
+ });
429
+ }
430
+ throw err;
431
+ }
432
+ },
433
+ async readBlockManifest({ scope, grantId }) {
434
+ const storage = options.dataApiDeps.storage;
435
+ if (!storage.readBlockManifest)
436
+ return null;
437
+ const selectedEntry = storage.findEntry({ scope });
438
+ if (!selectedEntry) {
439
+ throw new McpDataReadError(404, {
440
+ error: "NOT_FOUND",
441
+ message: `No data found for scope "${scope}"`,
442
+ });
443
+ }
444
+ await assertScopeReadable(scope, selectedEntry);
445
+ const { request, authResult } = await authorizeScopeRead({
446
+ scope,
447
+ grantId,
448
+ fileId: selectedEntry.fileId ?? undefined,
449
+ });
450
+ const manifest = await storage.readBlockManifest(scope, selectedEntry.collectedAt);
451
+ // Logged like any other grant-gated read, but never reported as a read
452
+ // fulfillment: a table of contents carries no block values.
453
+ await writeReadAccessLog(request, { scope, grantId, authResult });
454
+ if (manifest && !isOwnerView(authResult)) {
455
+ return {
456
+ ...manifest,
457
+ blocks: redactBlockRefsForGrantee(manifest.blocks, await resolveBlockRedactionContext(storage, scope, selectedEntry.collectedAt, manifest.blocks)),
458
+ };
459
+ }
460
+ return manifest;
461
+ },
462
+ async readRawScopeFile({ scope, grantId, at, fileId, payment }) {
463
+ const storage = options.dataApiDeps.storage;
464
+ const selectedEntry = storage.findEntry({
465
+ scope,
466
+ ...(fileId ? { fileId } : {}),
467
+ ...(at ? { at } : {}),
468
+ });
469
+ if (!selectedEntry) {
470
+ throw new McpDataReadError(404, {
471
+ error: "NOT_FOUND",
472
+ message: `No data found for scope "${scope}"`,
473
+ });
474
+ }
475
+ const safeScope = encodeURIComponent(scope);
476
+ const signingUri = `${basePath}/${safeScope}`;
477
+ const query = new URLSearchParams({ content: "raw" });
478
+ if (fileId)
479
+ query.set("fileId", fileId);
480
+ if (at)
481
+ query.set("at", at);
482
+ query.set("grantId", grantId);
483
+ const authorization = await signMcpGranteeRequest({
484
+ account: options.granteeAccount,
485
+ aud: options.serverOrigin,
486
+ method: "GET",
487
+ uri: signingUri,
488
+ grantId,
489
+ });
490
+ const url = new URL(`${signingUri}?${query.toString()}`, options.serverOrigin).toString();
491
+ const request = new Request(url, {
492
+ method: "GET",
493
+ headers: {
494
+ Authorization: authorization,
495
+ ...(payment ? { "X-PAYMENT": payment } : {}),
496
+ },
497
+ });
498
+ const response = await handlePersonalServerDataRequest(request, options.dataApiDeps, { basePath });
499
+ if (!response.ok) {
500
+ throw new McpDataReadError(response.status, await parseJsonOrText(response));
501
+ }
502
+ const mimeType = response.headers.get("content-type") ?? "application/octet-stream";
503
+ if (mimeType.includes("application/json")) {
504
+ throw new McpDataReadError(400, {
505
+ error: "NOT_BINARY_SCOPE",
506
+ message: `Scope "${scope}" does not expose raw binary content.`,
507
+ });
508
+ }
509
+ const bytes = new Uint8Array(await response.arrayBuffer());
510
+ const contentDisposition = response.headers.get("content-disposition");
511
+ const metadataHeader = response.headers.get("x-vana-metadata");
512
+ return {
513
+ status: response.status,
514
+ scope,
515
+ collectedAt: selectedEntry.collectedAt,
516
+ fileId: selectedEntry.fileId ?? undefined,
517
+ mimeType,
518
+ filename: filenameFromContentDisposition(contentDisposition),
519
+ sizeBytes: bytes.byteLength,
520
+ contentBase64: bytesToBase64(bytes),
521
+ metadata: parseMetadataHeader(metadataHeader),
522
+ };
523
+ },
524
+ };
525
+ }
526
+ async function parseJsonOrText(response) {
527
+ const text = await response.text();
528
+ try {
529
+ return text ? JSON.parse(text) : null;
530
+ }
531
+ catch {
532
+ return text;
533
+ }
534
+ }
535
+ function filenameFromContentDisposition(value) {
536
+ if (!value)
537
+ return undefined;
538
+ const match = /filename="([^"]+)"/i.exec(value) ?? /filename=([^;]+)/i.exec(value);
539
+ return match?.[1]?.trim();
540
+ }
541
+ function collectedAtFromCursor(scope, cursor) {
542
+ if (!cursor)
543
+ return undefined;
544
+ const decoded = decodeDataBlockCursor(cursor);
545
+ if (!decoded.ok || decoded.cursor.scope !== scope)
546
+ return undefined;
547
+ return decoded.cursor.collectedAt;
548
+ }
549
+ function dataBlockStorageErrorCode(err) {
550
+ if (!("code" in err))
551
+ return undefined;
552
+ const code = err.code;
553
+ return typeof code === "string" ? code : undefined;
554
+ }
555
+ function normalizeListScopesPayload(body) {
556
+ if (typeof body !== "object" || body === null) {
557
+ return { scopes: [], total: 0, limit: 0, offset: 0 };
558
+ }
559
+ const payload = body;
560
+ const scopes = Array.isArray(payload.scopes)
561
+ ? payload.scopes.filter(isScopeSummary)
562
+ : [];
563
+ return {
564
+ scopes,
565
+ total: typeof payload.total === "number" ? payload.total : scopes.length,
566
+ limit: typeof payload.limit === "number" ? payload.limit : scopes.length,
567
+ offset: typeof payload.offset === "number" ? payload.offset : 0,
568
+ };
569
+ }
570
+ function isScopeSummary(value) {
571
+ if (typeof value !== "object" || value === null) {
572
+ return false;
573
+ }
574
+ const summary = value;
575
+ return (typeof summary.scope === "string" &&
576
+ typeof summary.latestCollectedAt === "string" &&
577
+ typeof summary.versionCount === "number");
578
+ }
579
+ //# sourceMappingURL=read-client.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"read-client.js","sourceRoot":"","sources":["../../src/mcp/read-client.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,37 @@
1
+ import type { ReadResourceResult } from "@modelcontextprotocol/sdk/types.js";
2
+ import { z } from "zod";
3
+ import { type McpDataReadClient } from "./read-client.js";
4
+ import type { McpConnectionRecord } from "./types.js";
5
+ export declare const RAW_SCOPE_RESOURCE_TEMPLATES: readonly ["vana://scope/{scope}/raw", "vana://scope/{scope}/raw/at/{at}", "vana://scope/{scope}/raw/file/{fileId}"];
6
+ export interface RawScopeResourceParams {
7
+ scope: string;
8
+ at?: string;
9
+ fileId?: string;
10
+ }
11
+ export interface RawScopeResourceContext {
12
+ connection: McpConnectionRecord;
13
+ readClient: McpDataReadClient;
14
+ }
15
+ export declare function rawScopeResourceUri(params: RawScopeResourceParams): string;
16
+ export declare function parseRawScopeResourceUri(uri: URL): RawScopeResourceParams;
17
+ export declare function resolveGrantForRawScopeResource(connection: McpConnectionRecord, scope: string): {
18
+ grantId: string;
19
+ } | null;
20
+ export declare function readRawScopeResource(uri: URL, ctx: RawScopeResourceContext): Promise<ReadResourceResult>;
21
+ export declare function rawScopeMetadata(raw: {
22
+ scope: string;
23
+ collectedAt?: string;
24
+ fileId?: string;
25
+ filename?: string;
26
+ mimeType: string;
27
+ sizeBytes: number;
28
+ metadata?: unknown;
29
+ }): Record<string, unknown>;
30
+ export declare const rawScopeFileInputSchema: {
31
+ scope: z.ZodString;
32
+ at: z.ZodOptional<z.ZodString>;
33
+ fileId: z.ZodOptional<z.ZodString>;
34
+ includeContent: z.ZodOptional<z.ZodBoolean>;
35
+ maxBytes: z.ZodOptional<z.ZodNumber>;
36
+ };
37
+ //# sourceMappingURL=resources.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resources.d.ts","sourceRoot":"","sources":["../../src/mcp/resources.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,oCAAoC,CAAC;AAC7E,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAoB,KAAK,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAC5E,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AAEtD,eAAO,MAAM,4BAA4B,qHAI/B,CAAC;AAEX,MAAM,WAAW,sBAAsB;IACrC,KAAK,EAAE,MAAM,CAAC;IACd,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,uBAAuB;IACtC,UAAU,EAAE,mBAAmB,CAAC;IAChC,UAAU,EAAE,iBAAiB,CAAC;CAC/B;AAED,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,sBAAsB,GAAG,MAAM,CAS1E;AAED,wBAAgB,wBAAwB,CAAC,GAAG,EAAE,GAAG,GAAG,sBAAsB,CA0BzE;AAED,wBAAgB,+BAA+B,CAC7C,UAAU,EAAE,mBAAmB,EAC/B,KAAK,EAAE,MAAM,GACZ;IAAE,OAAO,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAe5B;AAED,wBAAsB,oBAAoB,CACxC,GAAG,EAAE,GAAG,EACR,GAAG,EAAE,uBAAuB,GAC3B,OAAO,CAAC,kBAAkB,CAAC,CA2B7B;AAED,wBAAgB,gBAAgB,CAAC,GAAG,EAAE;IACpC,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAU1B;AAED,eAAO,MAAM,uBAAuB;;;;;;CAiBnC,CAAC"}