@opendatalabs/personal-server-ts-core 0.0.1-canary.01ca694 → 0.0.1-canary.052d47e

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 (322) hide show
  1. package/dist/api/index.d.ts +282 -9
  2. package/dist/api/index.d.ts.map +1 -1
  3. package/dist/api/index.js +867 -163
  4. package/dist/api/index.js.map +1 -1
  5. package/dist/auth/request.d.ts.map +1 -1
  6. package/dist/auth/request.js.map +1 -1
  7. package/dist/client.d.ts +8 -1
  8. package/dist/client.d.ts.map +1 -1
  9. package/dist/client.js +21 -3
  10. package/dist/client.js.map +1 -1
  11. package/dist/contracts/binary.d.ts +12 -0
  12. package/dist/contracts/binary.d.ts.map +1 -1
  13. package/dist/contracts/binary.js +31 -0
  14. package/dist/contracts/binary.js.map +1 -1
  15. package/dist/contracts/data.d.ts +51 -5
  16. package/dist/contracts/data.d.ts.map +1 -1
  17. package/dist/contracts/data.js +166 -30
  18. package/dist/contracts/data.js.map +1 -1
  19. package/dist/contracts/grants.d.ts +7 -5
  20. package/dist/contracts/grants.d.ts.map +1 -1
  21. package/dist/contracts/grants.js +60 -37
  22. package/dist/contracts/grants.js.map +1 -1
  23. package/dist/contracts/index.d.ts +1 -1
  24. package/dist/contracts/index.d.ts.map +1 -1
  25. package/dist/contracts/index.js +1 -1
  26. package/dist/contracts/index.js.map +1 -1
  27. package/dist/derivatives/api.d.ts +48 -0
  28. package/dist/derivatives/api.d.ts.map +1 -0
  29. package/dist/derivatives/api.js +366 -0
  30. package/dist/derivatives/api.js.map +1 -0
  31. package/dist/derivatives/compute.d.ts +106 -0
  32. package/dist/derivatives/compute.d.ts.map +1 -0
  33. package/dist/derivatives/compute.js +414 -0
  34. package/dist/derivatives/compute.js.map +1 -0
  35. package/dist/derivatives/e2ee/aad.d.ts +22 -0
  36. package/dist/derivatives/e2ee/aad.d.ts.map +1 -0
  37. package/dist/derivatives/e2ee/aad.js +32 -0
  38. package/dist/derivatives/e2ee/aad.js.map +1 -0
  39. package/dist/derivatives/e2ee/attestation.d.ts +134 -0
  40. package/dist/derivatives/e2ee/attestation.d.ts.map +1 -0
  41. package/dist/derivatives/e2ee/attestation.js +248 -0
  42. package/dist/derivatives/e2ee/attestation.js.map +1 -0
  43. package/dist/derivatives/e2ee/index.d.ts +6 -0
  44. package/dist/derivatives/e2ee/index.d.ts.map +1 -0
  45. package/dist/derivatives/e2ee/index.js +6 -0
  46. package/dist/derivatives/e2ee/index.js.map +1 -0
  47. package/dist/derivatives/e2ee/jcs.d.ts +17 -0
  48. package/dist/derivatives/e2ee/jcs.d.ts.map +1 -0
  49. package/dist/derivatives/e2ee/jcs.js +55 -0
  50. package/dist/derivatives/e2ee/jcs.js.map +1 -0
  51. package/dist/derivatives/e2ee/phala.d.ts +62 -0
  52. package/dist/derivatives/e2ee/phala.d.ts.map +1 -0
  53. package/dist/derivatives/e2ee/phala.js +168 -0
  54. package/dist/derivatives/e2ee/phala.js.map +1 -0
  55. package/dist/derivatives/e2ee/suite.d.ts +56 -0
  56. package/dist/derivatives/e2ee/suite.d.ts.map +1 -0
  57. package/dist/derivatives/e2ee/suite.js +164 -0
  58. package/dist/derivatives/e2ee/suite.js.map +1 -0
  59. package/dist/derivatives/index.d.ts +10 -0
  60. package/dist/derivatives/index.d.ts.map +1 -0
  61. package/dist/derivatives/index.js +10 -0
  62. package/dist/derivatives/index.js.map +1 -0
  63. package/dist/derivatives/inference.d.ts +151 -0
  64. package/dist/derivatives/inference.d.ts.map +1 -0
  65. package/dist/derivatives/inference.js +262 -0
  66. package/dist/derivatives/inference.js.map +1 -0
  67. package/dist/derivatives/prompt.d.ts +64 -0
  68. package/dist/derivatives/prompt.d.ts.map +1 -0
  69. package/dist/derivatives/prompt.js +193 -0
  70. package/dist/derivatives/prompt.js.map +1 -0
  71. package/dist/derivatives/registration.d.ts +54 -0
  72. package/dist/derivatives/registration.d.ts.map +1 -0
  73. package/dist/derivatives/registration.js +180 -0
  74. package/dist/derivatives/registration.js.map +1 -0
  75. package/dist/derivatives/scheduler.d.ts +84 -0
  76. package/dist/derivatives/scheduler.d.ts.map +1 -0
  77. package/dist/derivatives/scheduler.js +257 -0
  78. package/dist/derivatives/scheduler.js.map +1 -0
  79. package/dist/derivatives/store.d.ts +14 -0
  80. package/dist/derivatives/store.d.ts.map +1 -0
  81. package/dist/derivatives/store.js +77 -0
  82. package/dist/derivatives/store.js.map +1 -0
  83. package/dist/derivatives/types.d.ts +92 -0
  84. package/dist/derivatives/types.d.ts.map +1 -0
  85. package/dist/derivatives/types.js +27 -0
  86. package/dist/derivatives/types.js.map +1 -0
  87. package/dist/errors/catalog.d.ts +75 -0
  88. package/dist/errors/catalog.d.ts.map +1 -1
  89. package/dist/errors/catalog.js +104 -0
  90. package/dist/errors/catalog.js.map +1 -1
  91. package/dist/grants/index.d.ts +2 -1
  92. package/dist/grants/index.d.ts.map +1 -1
  93. package/dist/grants/index.js +1 -1
  94. package/dist/grants/index.js.map +1 -1
  95. package/dist/keys/index.d.ts +1 -0
  96. package/dist/keys/index.d.ts.map +1 -1
  97. package/dist/keys/index.js +1 -1
  98. package/dist/keys/index.js.map +1 -1
  99. package/dist/keys/public-only-account.d.ts +8 -0
  100. package/dist/keys/public-only-account.d.ts.map +1 -0
  101. package/dist/keys/public-only-account.js +21 -0
  102. package/dist/keys/public-only-account.js.map +1 -0
  103. package/dist/keys/server-account.d.ts +2 -2
  104. package/dist/keys/server-account.d.ts.map +1 -1
  105. package/dist/lineage/attestation.d.ts +42 -0
  106. package/dist/lineage/attestation.d.ts.map +1 -0
  107. package/dist/lineage/attestation.js +25 -0
  108. package/dist/lineage/attestation.js.map +1 -0
  109. package/dist/lineage/gateway.d.ts +105 -0
  110. package/dist/lineage/gateway.d.ts.map +1 -0
  111. package/dist/lineage/gateway.js +242 -0
  112. package/dist/lineage/gateway.js.map +1 -0
  113. package/dist/lineage/index.d.ts +5 -0
  114. package/dist/lineage/index.d.ts.map +1 -0
  115. package/dist/lineage/index.js +5 -0
  116. package/dist/lineage/index.js.map +1 -0
  117. package/dist/lineage/lineage.d.ts +141 -0
  118. package/dist/lineage/lineage.d.ts.map +1 -0
  119. package/dist/lineage/lineage.js +255 -0
  120. package/dist/lineage/lineage.js.map +1 -0
  121. package/dist/logging/access-log.d.ts +10 -1
  122. package/dist/logging/access-log.d.ts.map +1 -1
  123. package/dist/mcp/activity.d.ts.map +1 -1
  124. package/dist/mcp/activity.js.map +1 -1
  125. package/dist/mcp/connection-api.d.ts.map +1 -1
  126. package/dist/mcp/connection-api.js +0 -1
  127. package/dist/mcp/connection-api.js.map +1 -1
  128. package/dist/mcp/index.d.ts +1 -0
  129. package/dist/mcp/index.d.ts.map +1 -1
  130. package/dist/mcp/index.js +1 -0
  131. package/dist/mcp/index.js.map +1 -1
  132. package/dist/mcp/read-client.d.ts +61 -1
  133. package/dist/mcp/read-client.d.ts.map +1 -1
  134. package/dist/mcp/read-client.js +397 -42
  135. package/dist/mcp/read-client.js.map +1 -1
  136. package/dist/mcp/resources.d.ts +37 -0
  137. package/dist/mcp/resources.d.ts.map +1 -0
  138. package/dist/mcp/resources.js +114 -0
  139. package/dist/mcp/resources.js.map +1 -0
  140. package/dist/mcp/search/index.d.ts.map +1 -1
  141. package/dist/mcp/search/index.js +108 -21
  142. package/dist/mcp/search/index.js.map +1 -1
  143. package/dist/mcp/server.d.ts.map +1 -1
  144. package/dist/mcp/server.js +27 -9
  145. package/dist/mcp/server.js.map +1 -1
  146. package/dist/mcp/session.d.ts +160 -0
  147. package/dist/mcp/session.d.ts.map +1 -0
  148. package/dist/mcp/session.js +243 -0
  149. package/dist/mcp/session.js.map +1 -0
  150. package/dist/mcp/tools.d.ts +29 -3
  151. package/dist/mcp/tools.d.ts.map +1 -1
  152. package/dist/mcp/tools.js +515 -48
  153. package/dist/mcp/tools.js.map +1 -1
  154. package/dist/mcp/types.d.ts.map +1 -1
  155. package/dist/payment/index.d.ts +2 -0
  156. package/dist/payment/index.d.ts.map +1 -0
  157. package/dist/payment/index.js +2 -0
  158. package/dist/payment/index.js.map +1 -0
  159. package/dist/payment/x402.d.ts +155 -0
  160. package/dist/payment/x402.d.ts.map +1 -0
  161. package/dist/payment/x402.js +402 -0
  162. package/dist/payment/x402.js.map +1 -0
  163. package/dist/policy/data-read.d.ts +18 -2
  164. package/dist/policy/data-read.d.ts.map +1 -1
  165. package/dist/policy/data-read.js +80 -49
  166. package/dist/policy/data-read.js.map +1 -1
  167. package/dist/policy/data-write.d.ts +69 -0
  168. package/dist/policy/data-write.d.ts.map +1 -0
  169. package/dist/policy/data-write.js +131 -0
  170. package/dist/policy/data-write.js.map +1 -0
  171. package/dist/policy/index.d.ts +3 -1
  172. package/dist/policy/index.d.ts.map +1 -1
  173. package/dist/policy/index.js +3 -1
  174. package/dist/policy/index.js.map +1 -1
  175. package/dist/policy/signed-artifacts.d.ts +17 -0
  176. package/dist/policy/signed-artifacts.d.ts.map +1 -0
  177. package/dist/policy/signed-artifacts.js +110 -0
  178. package/dist/policy/signed-artifacts.js.map +1 -0
  179. package/dist/ports/index.d.ts +159 -32
  180. package/dist/ports/index.d.ts.map +1 -1
  181. package/dist/ports/index.js +6 -5
  182. package/dist/ports/index.js.map +1 -1
  183. package/dist/schemas/server-config.d.ts +49 -4
  184. package/dist/schemas/server-config.d.ts.map +1 -1
  185. package/dist/schemas/server-config.js +95 -13
  186. package/dist/schemas/server-config.js.map +1 -1
  187. package/dist/signing/index.d.ts +2 -2
  188. package/dist/signing/index.d.ts.map +1 -1
  189. package/dist/signing/index.js +1 -1
  190. package/dist/signing/index.js.map +1 -1
  191. package/dist/signing/request-signer.d.ts +2 -0
  192. package/dist/signing/request-signer.d.ts.map +1 -1
  193. package/dist/signing/request-signer.js +1 -0
  194. package/dist/signing/request-signer.js.map +1 -1
  195. package/dist/signing/signer.d.ts +27 -25
  196. package/dist/signing/signer.d.ts.map +1 -1
  197. package/dist/signing/signer.js +27 -51
  198. package/dist/signing/signer.js.map +1 -1
  199. package/dist/storage/adapters/index.d.ts +1 -1
  200. package/dist/storage/adapters/index.d.ts.map +1 -1
  201. package/dist/storage/adapters/index.js +1 -1
  202. package/dist/storage/adapters/index.js.map +1 -1
  203. package/dist/storage/adapters/interface.d.ts +10 -0
  204. package/dist/storage/adapters/interface.d.ts.map +1 -1
  205. package/dist/storage/adapters/sdk.d.ts +11 -1
  206. package/dist/storage/adapters/sdk.d.ts.map +1 -1
  207. package/dist/storage/adapters/sdk.js +38 -3
  208. package/dist/storage/adapters/sdk.js.map +1 -1
  209. package/dist/storage/adapters/vana.d.ts +3 -0
  210. package/dist/storage/adapters/vana.d.ts.map +1 -1
  211. package/dist/storage/adapters/vana.js +95 -2
  212. package/dist/storage/adapters/vana.js.map +1 -1
  213. package/dist/storage/blocks/errors.d.ts.map +1 -1
  214. package/dist/storage/blocks/errors.js.map +1 -1
  215. package/dist/storage/blocks/index.d.ts +2 -0
  216. package/dist/storage/blocks/index.d.ts.map +1 -1
  217. package/dist/storage/blocks/index.js +2 -0
  218. package/dist/storage/blocks/index.js.map +1 -1
  219. package/dist/storage/blocks/select.d.ts +29 -0
  220. package/dist/storage/blocks/select.d.ts.map +1 -0
  221. package/dist/storage/blocks/select.js +120 -0
  222. package/dist/storage/blocks/select.js.map +1 -0
  223. package/dist/storage/blocks/types.d.ts +7 -0
  224. package/dist/storage/blocks/types.d.ts.map +1 -1
  225. package/dist/storage/index/manager.d.ts +30 -2
  226. package/dist/storage/index/manager.d.ts.map +1 -1
  227. package/dist/storage/index/schema.d.ts +1 -1
  228. package/dist/storage/index/schema.js +1 -1
  229. package/dist/storage/index/types.d.ts +6 -1
  230. package/dist/storage/index/types.d.ts.map +1 -1
  231. package/dist/sync/data-point-feed.d.ts +35 -0
  232. package/dist/sync/data-point-feed.d.ts.map +1 -0
  233. package/dist/sync/data-point-feed.js +122 -0
  234. package/dist/sync/data-point-feed.js.map +1 -0
  235. package/dist/sync/data-point-id.d.ts +7 -0
  236. package/dist/sync/data-point-id.d.ts.map +1 -0
  237. package/dist/sync/data-point-id.js +16 -0
  238. package/dist/sync/data-point-id.js.map +1 -0
  239. package/dist/sync/delete-data-port.d.ts +50 -0
  240. package/dist/sync/delete-data-port.d.ts.map +1 -0
  241. package/dist/sync/delete-data-port.js +244 -0
  242. package/dist/sync/delete-data-port.js.map +1 -0
  243. package/dist/sync/engine/sync-manager.d.ts +16 -4
  244. package/dist/sync/engine/sync-manager.d.ts.map +1 -1
  245. package/dist/sync/engine/sync-manager.js +93 -32
  246. package/dist/sync/engine/sync-manager.js.map +1 -1
  247. package/dist/sync/index.d.ts +7 -0
  248. package/dist/sync/index.d.ts.map +1 -1
  249. package/dist/sync/index.js +7 -0
  250. package/dist/sync/index.js.map +1 -1
  251. package/dist/sync/issues.d.ts.map +1 -1
  252. package/dist/sync/issues.js +21 -3
  253. package/dist/sync/issues.js.map +1 -1
  254. package/dist/sync/pending-blob-deletions.d.ts +29 -0
  255. package/dist/sync/pending-blob-deletions.d.ts.map +1 -0
  256. package/dist/sync/pending-blob-deletions.js +116 -0
  257. package/dist/sync/pending-blob-deletions.js.map +1 -0
  258. package/dist/sync/retry-memory.d.ts +33 -0
  259. package/dist/sync/retry-memory.d.ts.map +1 -0
  260. package/dist/sync/retry-memory.js +68 -0
  261. package/dist/sync/retry-memory.js.map +1 -0
  262. package/dist/sync/scope-deletions.d.ts +155 -0
  263. package/dist/sync/scope-deletions.d.ts.map +1 -0
  264. package/dist/sync/scope-deletions.js +225 -0
  265. package/dist/sync/scope-deletions.js.map +1 -0
  266. package/dist/sync/tombstone.d.ts +27 -0
  267. package/dist/sync/tombstone.d.ts.map +1 -0
  268. package/dist/sync/tombstone.js +28 -0
  269. package/dist/sync/tombstone.js.map +1 -0
  270. package/dist/sync/workers/delete.d.ts +152 -31
  271. package/dist/sync/workers/delete.d.ts.map +1 -1
  272. package/dist/sync/workers/delete.js +457 -55
  273. package/dist/sync/workers/delete.js.map +1 -1
  274. package/dist/sync/workers/download.d.ts +108 -27
  275. package/dist/sync/workers/download.d.ts.map +1 -1
  276. package/dist/sync/workers/download.js +321 -126
  277. package/dist/sync/workers/download.js.map +1 -1
  278. package/dist/sync/workers/upload.d.ts +65 -10
  279. package/dist/sync/workers/upload.d.ts.map +1 -1
  280. package/dist/sync/workers/upload.js +371 -42
  281. package/dist/sync/workers/upload.js.map +1 -1
  282. package/dist/test-utils/e2ee-fixtures.d.ts +94 -0
  283. package/dist/test-utils/e2ee-fixtures.d.ts.map +1 -0
  284. package/dist/test-utils/e2ee-fixtures.js +116 -0
  285. package/dist/test-utils/e2ee-fixtures.js.map +1 -0
  286. package/dist/test-utils/e2ee-gateway.d.ts +61 -0
  287. package/dist/test-utils/e2ee-gateway.d.ts.map +1 -0
  288. package/dist/test-utils/e2ee-gateway.js +248 -0
  289. package/dist/test-utils/e2ee-gateway.js.map +1 -0
  290. package/dist/test-utils/index.d.ts +3 -0
  291. package/dist/test-utils/index.d.ts.map +1 -1
  292. package/dist/test-utils/index.js +3 -0
  293. package/dist/test-utils/index.js.map +1 -1
  294. package/dist/test-utils/memory-storage.d.ts +12 -0
  295. package/dist/test-utils/memory-storage.d.ts.map +1 -0
  296. package/dist/test-utils/memory-storage.js +146 -0
  297. package/dist/test-utils/memory-storage.js.map +1 -0
  298. package/dist/test-utils/wallet.d.ts +6 -0
  299. package/dist/test-utils/wallet.d.ts.map +1 -1
  300. package/dist/test-utils/wallet.js +46 -0
  301. package/dist/test-utils/wallet.js.map +1 -1
  302. package/dist/write/attribution.d.ts +185 -0
  303. package/dist/write/attribution.d.ts.map +1 -0
  304. package/dist/write/attribution.js +450 -0
  305. package/dist/write/attribution.js.map +1 -0
  306. package/dist/write/authorize.d.ts +77 -0
  307. package/dist/write/authorize.d.ts.map +1 -0
  308. package/dist/write/authorize.js +109 -0
  309. package/dist/write/authorize.js.map +1 -0
  310. package/dist/write/index.d.ts +5 -0
  311. package/dist/write/index.d.ts.map +1 -0
  312. package/dist/write/index.js +5 -0
  313. package/dist/write/index.js.map +1 -0
  314. package/dist/write/route.d.ts +61 -0
  315. package/dist/write/route.d.ts.map +1 -0
  316. package/dist/write/route.js +132 -0
  317. package/dist/write/route.js.map +1 -0
  318. package/dist/write/session.d.ts +96 -0
  319. package/dist/write/session.d.ts.map +1 -0
  320. package/dist/write/session.js +136 -0
  321. package/dist/write/session.js.map +1 -0
  322. package/package.json +19 -3
@@ -18,9 +18,189 @@
18
18
  * per-connection grantee address.
19
19
  */
20
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";
21
23
  import { signMcpGranteeRequest } from "./grantee.js";
22
- import { handlePersonalServerDataRequest, } from "../api/index.js";
24
+ import { assertScopeNotDeleted, handlePersonalServerDataRequest, isOwnerView, reportPersonalServerReadFulfillment, resolveReadDeletion, } from "../api/index.js";
23
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
+ }
24
204
  export class McpDataReadError extends Error {
25
205
  status;
26
206
  body;
@@ -35,7 +215,82 @@ export class McpDataReadError extends Error {
35
215
  }
36
216
  export function createMcpDataReadClient(options) {
37
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
+ }
38
292
  return {
293
+ enforcesPayment: options.enforcesPayment ?? false,
39
294
  async listScopes({ scopePrefix, limit, offset } = {}) {
40
295
  const params = new URLSearchParams();
41
296
  if (scopePrefix)
@@ -70,6 +325,11 @@ export function createMcpDataReadClient(options) {
70
325
  const entry = storage.findEntry({ scope });
71
326
  if (!entry)
72
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
+ }
73
333
  const hasBlocks = typeof storage.hasScopeBlocks === "function"
74
334
  ? await storage.hasScopeBlocks(scope, entry.collectedAt)
75
335
  : false;
@@ -80,7 +340,7 @@ export function createMcpDataReadClient(options) {
80
340
  hasBlocks,
81
341
  };
82
342
  },
83
- async readScopeBlocks({ scope, grantId, cursor, maxBytes }) {
343
+ async readScopeBlocks({ scope, grantId, cursor, maxBytes, payment, blockIds, }) {
84
344
  const storage = options.dataApiDeps.storage;
85
345
  if (!storage.readScopeBlocks) {
86
346
  throw new McpDataReadError(503, {
@@ -100,53 +360,51 @@ export function createMcpDataReadClient(options) {
100
360
  message: `No data found for scope "${scope}"`,
101
361
  });
102
362
  }
103
- const safeScope = encodeURIComponent(scope);
104
- const signingUri = `${basePath}/${safeScope}`;
105
- const authorization = await signMcpGranteeRequest({
106
- account: options.granteeAccount,
107
- aud: options.serverOrigin,
108
- method: "GET",
109
- uri: signingUri,
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,
110
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,
111
374
  });
112
- const url = new URL(signingUri, options.serverOrigin).toString();
113
- const request = new Request(url, {
114
- method: "GET",
115
- headers: { Authorization: authorization },
116
- });
117
- let authResult;
118
- try {
119
- authResult = await options.dataApiDeps.auth.authorizeBuilderRead({
120
- request,
121
- scope,
122
- grantId,
123
- fileId: selectedEntry.fileId ?? undefined,
124
- });
125
- }
126
- catch (err) {
127
- if (err instanceof ProtocolError) {
128
- throw new McpDataReadError(err.code, err.toJSON());
129
- }
130
- throw err;
131
- }
132
375
  try {
133
376
  const result = await storage.readScopeBlocks(scope, selectedEntry.collectedAt, {
134
377
  cursor,
135
378
  maxBytes: maxBytes ?? 16_384,
379
+ ...(blockIds?.length ? { blockIds } : {}),
136
380
  });
137
- await options.dataApiDeps.accessLogWriter.write({
138
- logId: options.dataApiDeps.createLogId?.() ?? crypto.randomUUID(),
139
- grantId: authResult?.grantId ?? grantId,
140
- builder: authResult?.builder ?? options.granteeAccount.address,
141
- action: "read",
142
- scope,
143
- timestamp: (options.dataApiDeps.now ?? (() => new Date()))().toISOString(),
144
- ipAddress: request.headers.get("x-forwarded-for") ??
145
- request.headers.get("x-real-ip") ??
146
- "unknown",
147
- userAgent: request.headers.get("user-agent") ?? "unknown",
148
- });
149
- return { status: 200, ...result };
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
+ scope,
397
+ servedAt: timestamp,
398
+ userAgent,
399
+ });
400
+ }
401
+ return isOwnerView(authResult)
402
+ ? { status: 200, ...result }
403
+ : {
404
+ status: 200,
405
+ ...result,
406
+ blocks: redactBlockPayloadsForGrantee(result.blocks, await resolveBlockRedactionContext(storage, scope, selectedEntry.collectedAt, result.blocks)),
407
+ };
150
408
  }
151
409
  catch (err) {
152
410
  if (err instanceof ProtocolError) {
@@ -169,6 +427,97 @@ export function createMcpDataReadClient(options) {
169
427
  throw err;
170
428
  }
171
429
  },
430
+ async readBlockManifest({ scope, grantId }) {
431
+ const storage = options.dataApiDeps.storage;
432
+ if (!storage.readBlockManifest)
433
+ return null;
434
+ const selectedEntry = storage.findEntry({ scope });
435
+ if (!selectedEntry) {
436
+ throw new McpDataReadError(404, {
437
+ error: "NOT_FOUND",
438
+ message: `No data found for scope "${scope}"`,
439
+ });
440
+ }
441
+ await assertScopeReadable(scope, selectedEntry);
442
+ const { request, authResult } = await authorizeScopeRead({
443
+ scope,
444
+ grantId,
445
+ fileId: selectedEntry.fileId ?? undefined,
446
+ });
447
+ const manifest = await storage.readBlockManifest(scope, selectedEntry.collectedAt);
448
+ // Logged like any other grant-gated read, but never reported as a read
449
+ // fulfillment: a table of contents carries no block values.
450
+ await writeReadAccessLog(request, { scope, grantId, authResult });
451
+ if (manifest && !isOwnerView(authResult)) {
452
+ return {
453
+ ...manifest,
454
+ blocks: redactBlockRefsForGrantee(manifest.blocks, await resolveBlockRedactionContext(storage, scope, selectedEntry.collectedAt, manifest.blocks)),
455
+ };
456
+ }
457
+ return manifest;
458
+ },
459
+ async readRawScopeFile({ scope, grantId, at, fileId, payment }) {
460
+ const storage = options.dataApiDeps.storage;
461
+ const selectedEntry = storage.findEntry({
462
+ scope,
463
+ ...(fileId ? { fileId } : {}),
464
+ ...(at ? { at } : {}),
465
+ });
466
+ if (!selectedEntry) {
467
+ throw new McpDataReadError(404, {
468
+ error: "NOT_FOUND",
469
+ message: `No data found for scope "${scope}"`,
470
+ });
471
+ }
472
+ const safeScope = encodeURIComponent(scope);
473
+ const signingUri = `${basePath}/${safeScope}`;
474
+ const query = new URLSearchParams({ content: "raw" });
475
+ if (fileId)
476
+ query.set("fileId", fileId);
477
+ if (at)
478
+ query.set("at", at);
479
+ query.set("grantId", grantId);
480
+ const authorization = await signMcpGranteeRequest({
481
+ account: options.granteeAccount,
482
+ aud: options.serverOrigin,
483
+ method: "GET",
484
+ uri: signingUri,
485
+ grantId,
486
+ });
487
+ const url = new URL(`${signingUri}?${query.toString()}`, options.serverOrigin).toString();
488
+ const request = new Request(url, {
489
+ method: "GET",
490
+ headers: {
491
+ Authorization: authorization,
492
+ ...(payment ? { "X-PAYMENT": payment } : {}),
493
+ },
494
+ });
495
+ const response = await handlePersonalServerDataRequest(request, options.dataApiDeps, { basePath });
496
+ if (!response.ok) {
497
+ throw new McpDataReadError(response.status, await parseJsonOrText(response));
498
+ }
499
+ const mimeType = response.headers.get("content-type") ?? "application/octet-stream";
500
+ if (mimeType.includes("application/json")) {
501
+ throw new McpDataReadError(400, {
502
+ error: "NOT_BINARY_SCOPE",
503
+ message: `Scope "${scope}" does not expose raw binary content.`,
504
+ });
505
+ }
506
+ const bytes = new Uint8Array(await response.arrayBuffer());
507
+ const contentDisposition = response.headers.get("content-disposition");
508
+ const metadataHeader = response.headers.get("x-vana-metadata");
509
+ return {
510
+ status: response.status,
511
+ scope,
512
+ collectedAt: selectedEntry.collectedAt,
513
+ fileId: selectedEntry.fileId ?? undefined,
514
+ mimeType,
515
+ filename: filenameFromContentDisposition(contentDisposition),
516
+ sizeBytes: bytes.byteLength,
517
+ contentBase64: bytesToBase64(bytes),
518
+ metadata: parseMetadataHeader(metadataHeader),
519
+ };
520
+ },
172
521
  };
173
522
  }
174
523
  async function parseJsonOrText(response) {
@@ -180,6 +529,12 @@ async function parseJsonOrText(response) {
180
529
  return text;
181
530
  }
182
531
  }
532
+ function filenameFromContentDisposition(value) {
533
+ if (!value)
534
+ return undefined;
535
+ const match = /filename="([^"]+)"/i.exec(value) ?? /filename=([^;]+)/i.exec(value);
536
+ return match?.[1]?.trim();
537
+ }
183
538
  function collectedAtFromCursor(scope, cursor) {
184
539
  if (!cursor)
185
540
  return undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"read-client.js","sourceRoot":"","sources":["../../src/mcp/read-client.ts"],"names":[],"mappings":"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"}
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"}