@opendatalabs/personal-server-ts-core 1.33.8 → 1.34.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (333) hide show
  1. package/dist/additions/budget.d.ts +28 -0
  2. package/dist/additions/budget.d.ts.map +1 -0
  3. package/dist/additions/budget.js +119 -0
  4. package/dist/additions/budget.js.map +1 -0
  5. package/dist/additions/durable.d.ts +64 -0
  6. package/dist/additions/durable.d.ts.map +1 -0
  7. package/dist/additions/durable.js +591 -0
  8. package/dist/additions/durable.js.map +1 -0
  9. package/dist/additions/first-added.d.ts +32 -48
  10. package/dist/additions/first-added.d.ts.map +1 -1
  11. package/dist/additions/first-added.js +68 -123
  12. package/dist/additions/first-added.js.map +1 -1
  13. package/dist/additions/index.d.ts +3 -0
  14. package/dist/additions/index.d.ts.map +1 -1
  15. package/dist/additions/index.js +3 -0
  16. package/dist/additions/index.js.map +1 -1
  17. package/dist/additions/ledger-store.js +1 -1
  18. package/dist/additions/record-rules.d.ts.map +1 -1
  19. package/dist/additions/record-rules.js +7 -0
  20. package/dist/additions/record-rules.js.map +1 -1
  21. package/dist/additions/summary.d.ts +88 -1
  22. package/dist/additions/summary.d.ts.map +1 -1
  23. package/dist/additions/summary.js +173 -8
  24. package/dist/additions/summary.js.map +1 -1
  25. package/dist/additions/version-inventory.d.ts +80 -0
  26. package/dist/additions/version-inventory.d.ts.map +1 -0
  27. package/dist/additions/version-inventory.js +232 -0
  28. package/dist/additions/version-inventory.js.map +1 -0
  29. package/dist/api/index.d.ts +70 -2
  30. package/dist/api/index.d.ts.map +1 -1
  31. package/dist/api/index.js +506 -79
  32. package/dist/api/index.js.map +1 -1
  33. package/dist/auth/index.d.ts +1 -1
  34. package/dist/auth/index.d.ts.map +1 -1
  35. package/dist/auth/index.js +1 -1
  36. package/dist/auth/index.js.map +1 -1
  37. package/dist/auth/request.d.ts +6 -0
  38. package/dist/auth/request.d.ts.map +1 -1
  39. package/dist/auth/request.js +66 -4
  40. package/dist/auth/request.js.map +1 -1
  41. package/dist/contracts/data.d.ts +54 -8
  42. package/dist/contracts/data.d.ts.map +1 -1
  43. package/dist/contracts/data.js +178 -35
  44. package/dist/contracts/data.js.map +1 -1
  45. package/dist/contracts/index.d.ts +1 -1
  46. package/dist/contracts/index.d.ts.map +1 -1
  47. package/dist/derivatives/registration.d.ts +0 -5
  48. package/dist/derivatives/registration.d.ts.map +1 -1
  49. package/dist/derivatives/registration.js +2 -1
  50. package/dist/derivatives/registration.js.map +1 -1
  51. package/dist/errors/pdpp-catalog.d.ts +36 -0
  52. package/dist/errors/pdpp-catalog.d.ts.map +1 -0
  53. package/dist/errors/pdpp-catalog.js +86 -0
  54. package/dist/errors/pdpp-catalog.js.map +1 -0
  55. package/dist/grants/index.d.ts +2 -0
  56. package/dist/grants/index.d.ts.map +1 -1
  57. package/dist/grants/index.js +4 -0
  58. package/dist/grants/index.js.map +1 -1
  59. package/dist/grants/pdpp-binding-store.d.ts +89 -0
  60. package/dist/grants/pdpp-binding-store.d.ts.map +1 -0
  61. package/dist/grants/pdpp-binding-store.js +112 -0
  62. package/dist/grants/pdpp-binding-store.js.map +1 -0
  63. package/dist/grants/pdpp-binding.d.ts +169 -0
  64. package/dist/grants/pdpp-binding.d.ts.map +1 -0
  65. package/dist/grants/pdpp-binding.js +236 -0
  66. package/dist/grants/pdpp-binding.js.map +1 -0
  67. package/dist/legacy-projection/bindings.d.ts +28 -1
  68. package/dist/legacy-projection/bindings.d.ts.map +1 -1
  69. package/dist/legacy-projection/bindings.js +622 -189
  70. package/dist/legacy-projection/bindings.js.map +1 -1
  71. package/dist/legacy-projection/claude-source-record.d.ts +22 -0
  72. package/dist/legacy-projection/claude-source-record.d.ts.map +1 -0
  73. package/dist/legacy-projection/claude-source-record.js +360 -0
  74. package/dist/legacy-projection/claude-source-record.js.map +1 -0
  75. package/dist/legacy-projection/declared-text.d.ts +41 -0
  76. package/dist/legacy-projection/declared-text.d.ts.map +1 -0
  77. package/dist/legacy-projection/declared-text.js +199 -0
  78. package/dist/legacy-projection/declared-text.js.map +1 -0
  79. package/dist/legacy-projection/github-browser-bindings.d.ts.map +1 -1
  80. package/dist/legacy-projection/github-browser-bindings.js +89 -5
  81. package/dist/legacy-projection/github-browser-bindings.js.map +1 -1
  82. package/dist/legacy-projection/github-legacy-fields.d.ts +6 -0
  83. package/dist/legacy-projection/github-legacy-fields.d.ts.map +1 -0
  84. package/dist/legacy-projection/github-legacy-fields.js +202 -0
  85. package/dist/legacy-projection/github-legacy-fields.js.map +1 -0
  86. package/dist/legacy-projection/index.d.ts +5 -1
  87. package/dist/legacy-projection/index.d.ts.map +1 -1
  88. package/dist/legacy-projection/index.js +55 -1
  89. package/dist/legacy-projection/index.js.map +1 -1
  90. package/dist/legacy-projection/oura-browser-bindings.d.ts.map +1 -1
  91. package/dist/legacy-projection/oura-browser-bindings.js +43 -41
  92. package/dist/legacy-projection/oura-browser-bindings.js.map +1 -1
  93. package/dist/legacy-projection/types.d.ts +38 -2
  94. package/dist/legacy-projection/types.d.ts.map +1 -1
  95. package/dist/mcp/read-client.d.ts.map +1 -1
  96. package/dist/mcp/read-client.js +10 -1
  97. package/dist/mcp/read-client.js.map +1 -1
  98. package/dist/mcp/resources.d.ts.map +1 -1
  99. package/dist/mcp/resources.js +3 -0
  100. package/dist/mcp/resources.js.map +1 -1
  101. package/dist/mcp/tools.d.ts.map +1 -1
  102. package/dist/mcp/tools.js +11 -2
  103. package/dist/mcp/tools.js.map +1 -1
  104. package/dist/pdpp/approval.d.ts +271 -0
  105. package/dist/pdpp/approval.d.ts.map +1 -0
  106. package/dist/pdpp/approval.js +467 -0
  107. package/dist/pdpp/approval.js.map +1 -0
  108. package/dist/pdpp/client-identity.d.ts +88 -0
  109. package/dist/pdpp/client-identity.d.ts.map +1 -0
  110. package/dist/pdpp/client-identity.js +196 -0
  111. package/dist/pdpp/client-identity.js.map +1 -0
  112. package/dist/pdpp/client-metadata.d.ts +95 -0
  113. package/dist/pdpp/client-metadata.d.ts.map +1 -0
  114. package/dist/pdpp/client-metadata.js +96 -0
  115. package/dist/pdpp/client-metadata.js.map +1 -0
  116. package/dist/pdpp/commitments.d.ts +75 -0
  117. package/dist/pdpp/commitments.d.ts.map +1 -0
  118. package/dist/pdpp/commitments.js +113 -0
  119. package/dist/pdpp/commitments.js.map +1 -0
  120. package/dist/pdpp/declaration.d.ts +118 -0
  121. package/dist/pdpp/declaration.d.ts.map +1 -0
  122. package/dist/pdpp/declaration.js +836 -0
  123. package/dist/pdpp/declaration.js.map +1 -0
  124. package/dist/pdpp/index.d.ts +37 -0
  125. package/dist/pdpp/index.d.ts.map +1 -0
  126. package/dist/pdpp/index.js +23 -0
  127. package/dist/pdpp/index.js.map +1 -0
  128. package/dist/pdpp/issuance.d.ts +126 -0
  129. package/dist/pdpp/issuance.d.ts.map +1 -0
  130. package/dist/pdpp/issuance.js +180 -0
  131. package/dist/pdpp/issuance.js.map +1 -0
  132. package/dist/pdpp/pkce.d.ts +53 -0
  133. package/dist/pdpp/pkce.d.ts.map +1 -0
  134. package/dist/pdpp/pkce.js +109 -0
  135. package/dist/pdpp/pkce.js.map +1 -0
  136. package/dist/pdpp/redirect.d.ts +60 -0
  137. package/dist/pdpp/redirect.d.ts.map +1 -0
  138. package/dist/pdpp/redirect.js +125 -0
  139. package/dist/pdpp/redirect.js.map +1 -0
  140. package/dist/pdpp/resolve.d.ts +109 -0
  141. package/dist/pdpp/resolve.d.ts.map +1 -0
  142. package/dist/pdpp/resolve.js +393 -0
  143. package/dist/pdpp/resolve.js.map +1 -0
  144. package/dist/pdpp/review.d.ts +280 -0
  145. package/dist/pdpp/review.d.ts.map +1 -0
  146. package/dist/pdpp/review.js +205 -0
  147. package/dist/pdpp/review.js.map +1 -0
  148. package/dist/pdpp/selection.d.ts +50 -0
  149. package/dist/pdpp/selection.d.ts.map +1 -0
  150. package/dist/pdpp/selection.js +442 -0
  151. package/dist/pdpp/selection.js.map +1 -0
  152. package/dist/pdpp/store.d.ts +228 -0
  153. package/dist/pdpp/store.d.ts.map +1 -0
  154. package/dist/pdpp/store.js +542 -0
  155. package/dist/pdpp/store.js.map +1 -0
  156. package/dist/pdpp/tokens.d.ts +181 -0
  157. package/dist/pdpp/tokens.d.ts.map +1 -0
  158. package/dist/pdpp/tokens.js +419 -0
  159. package/dist/pdpp/tokens.js.map +1 -0
  160. package/dist/pdpp/types.d.ts +441 -0
  161. package/dist/pdpp/types.d.ts.map +1 -0
  162. package/dist/pdpp/types.js +61 -0
  163. package/dist/pdpp/types.js.map +1 -0
  164. package/dist/pdpp-version.d.ts +28 -0
  165. package/dist/pdpp-version.d.ts.map +1 -0
  166. package/dist/pdpp-version.js +28 -0
  167. package/dist/pdpp-version.js.map +1 -0
  168. package/dist/policy/data-read.d.ts +24 -0
  169. package/dist/policy/data-read.d.ts.map +1 -1
  170. package/dist/policy/data-read.js +60 -3
  171. package/dist/policy/data-read.js.map +1 -1
  172. package/dist/policy/data-write.d.ts.map +1 -1
  173. package/dist/policy/data-write.js +3 -0
  174. package/dist/policy/data-write.js.map +1 -1
  175. package/dist/policy/index.d.ts +1 -0
  176. package/dist/policy/index.d.ts.map +1 -1
  177. package/dist/policy/index.js +1 -0
  178. package/dist/policy/index.js.map +1 -1
  179. package/dist/policy/reserved-scopes.d.ts +3 -0
  180. package/dist/policy/reserved-scopes.d.ts.map +1 -0
  181. package/dist/policy/reserved-scopes.js +5 -0
  182. package/dist/policy/reserved-scopes.js.map +1 -0
  183. package/dist/ports/index.d.ts +63 -0
  184. package/dist/ports/index.d.ts.map +1 -1
  185. package/dist/ports/index.js.map +1 -1
  186. package/dist/ports/pdpp-auth.d.ts +129 -0
  187. package/dist/ports/pdpp-auth.d.ts.map +1 -0
  188. package/dist/ports/pdpp-auth.js +60 -0
  189. package/dist/ports/pdpp-auth.js.map +1 -0
  190. package/dist/ports/pdpp-auth.test-utils.d.ts +9 -0
  191. package/dist/ports/pdpp-auth.test-utils.d.ts.map +1 -0
  192. package/dist/ports/pdpp-auth.test-utils.js +18 -0
  193. package/dist/ports/pdpp-auth.test-utils.js.map +1 -0
  194. package/dist/schemas/server-config.d.ts +44 -0
  195. package/dist/schemas/server-config.d.ts.map +1 -1
  196. package/dist/schemas/server-config.js +91 -0
  197. package/dist/schemas/server-config.js.map +1 -1
  198. package/dist/signing/request-signer.d.ts +2 -0
  199. package/dist/signing/request-signer.d.ts.map +1 -1
  200. package/dist/signing/request-signer.js +1 -0
  201. package/dist/signing/request-signer.js.map +1 -1
  202. package/dist/storage/adapters/interface.d.ts +3 -0
  203. package/dist/storage/adapters/interface.d.ts.map +1 -1
  204. package/dist/storage/adapters/vana-audience.d.ts +12 -0
  205. package/dist/storage/adapters/vana-audience.d.ts.map +1 -0
  206. package/dist/storage/adapters/vana-audience.js +72 -0
  207. package/dist/storage/adapters/vana-audience.js.map +1 -0
  208. package/dist/storage/adapters/vana.d.ts +2 -0
  209. package/dist/storage/adapters/vana.d.ts.map +1 -1
  210. package/dist/storage/adapters/vana.js +53 -20
  211. package/dist/storage/adapters/vana.js.map +1 -1
  212. package/dist/storage/canonical-legacy-projection.d.ts +262 -0
  213. package/dist/storage/canonical-legacy-projection.d.ts.map +1 -0
  214. package/dist/storage/canonical-legacy-projection.js +761 -0
  215. package/dist/storage/canonical-legacy-projection.js.map +1 -0
  216. package/dist/storage/index/manager.d.ts +29 -2
  217. package/dist/storage/index/manager.d.ts.map +1 -1
  218. package/dist/storage/index/schema.d.ts +1 -1
  219. package/dist/storage/index/schema.js +1 -1
  220. package/dist/storage/index/types.d.ts +7 -1
  221. package/dist/storage/index/types.d.ts.map +1 -1
  222. package/dist/storage/legacy-projection.d.ts +13 -10
  223. package/dist/storage/legacy-projection.d.ts.map +1 -1
  224. package/dist/storage/legacy-projection.js +269 -74
  225. package/dist/storage/legacy-projection.js.map +1 -1
  226. package/dist/storage/legacy-scope-coverage-exceptions.d.ts +8 -0
  227. package/dist/storage/legacy-scope-coverage-exceptions.d.ts.map +1 -0
  228. package/dist/storage/legacy-scope-coverage-exceptions.js +10 -0
  229. package/dist/storage/legacy-scope-coverage-exceptions.js.map +1 -0
  230. package/dist/storage/legacy-scope-coverage.d.ts +53 -0
  231. package/dist/storage/legacy-scope-coverage.d.ts.map +1 -0
  232. package/dist/storage/legacy-scope-coverage.js +403 -0
  233. package/dist/storage/legacy-scope-coverage.js.map +1 -0
  234. package/dist/storage/legacy-scope-entity-keys.d.ts +4 -0
  235. package/dist/storage/legacy-scope-entity-keys.d.ts.map +1 -0
  236. package/dist/storage/legacy-scope-entity-keys.js +92 -0
  237. package/dist/storage/legacy-scope-entity-keys.js.map +1 -0
  238. package/dist/storage/legacy-scope-view.d.ts +154 -0
  239. package/dist/storage/legacy-scope-view.d.ts.map +1 -0
  240. package/dist/storage/legacy-scope-view.js +735 -0
  241. package/dist/storage/legacy-scope-view.js.map +1 -0
  242. package/dist/storage/pdpp-records/completion.d.ts +91 -0
  243. package/dist/storage/pdpp-records/completion.d.ts.map +1 -0
  244. package/dist/storage/pdpp-records/completion.js +170 -0
  245. package/dist/storage/pdpp-records/completion.js.map +1 -0
  246. package/dist/storage/pdpp-records/cursor.d.ts +41 -0
  247. package/dist/storage/pdpp-records/cursor.d.ts.map +1 -0
  248. package/dist/storage/pdpp-records/cursor.js +49 -0
  249. package/dist/storage/pdpp-records/cursor.js.map +1 -0
  250. package/dist/storage/pdpp-records/declaration-witness.d.ts +58 -0
  251. package/dist/storage/pdpp-records/declaration-witness.d.ts.map +1 -0
  252. package/dist/storage/pdpp-records/declaration-witness.js +230 -0
  253. package/dist/storage/pdpp-records/declaration-witness.js.map +1 -0
  254. package/dist/storage/pdpp-records/enforcement.d.ts +52 -0
  255. package/dist/storage/pdpp-records/enforcement.d.ts.map +1 -0
  256. package/dist/storage/pdpp-records/enforcement.js +116 -0
  257. package/dist/storage/pdpp-records/enforcement.js.map +1 -0
  258. package/dist/storage/pdpp-records/index.d.ts +5 -0
  259. package/dist/storage/pdpp-records/index.d.ts.map +1 -0
  260. package/dist/storage/pdpp-records/index.js +5 -0
  261. package/dist/storage/pdpp-records/index.js.map +1 -0
  262. package/dist/storage/pdpp-records/ingest-plan.d.ts +39 -0
  263. package/dist/storage/pdpp-records/ingest-plan.d.ts.map +1 -0
  264. package/dist/storage/pdpp-records/ingest-plan.js +103 -0
  265. package/dist/storage/pdpp-records/ingest-plan.js.map +1 -0
  266. package/dist/storage/pdpp-records/interface.d.ts +104 -0
  267. package/dist/storage/pdpp-records/interface.d.ts.map +1 -0
  268. package/dist/storage/pdpp-records/interface.js +2 -0
  269. package/dist/storage/pdpp-records/interface.js.map +1 -0
  270. package/dist/storage/pdpp-records/memory-store.d.ts +9 -0
  271. package/dist/storage/pdpp-records/memory-store.d.ts.map +1 -0
  272. package/dist/storage/pdpp-records/memory-store.js +466 -0
  273. package/dist/storage/pdpp-records/memory-store.js.map +1 -0
  274. package/dist/storage/pdpp-records/portable.d.ts +9 -0
  275. package/dist/storage/pdpp-records/portable.d.ts.map +1 -0
  276. package/dist/storage/pdpp-records/portable.js +8 -0
  277. package/dist/storage/pdpp-records/portable.js.map +1 -0
  278. package/dist/storage/pdpp-records/read-port.d.ts +44 -0
  279. package/dist/storage/pdpp-records/read-port.d.ts.map +1 -0
  280. package/dist/storage/pdpp-records/read-port.js +22 -0
  281. package/dist/storage/pdpp-records/read-port.js.map +1 -0
  282. package/dist/storage/pdpp-records/record-key.d.ts +52 -0
  283. package/dist/storage/pdpp-records/record-key.d.ts.map +1 -0
  284. package/dist/storage/pdpp-records/record-key.js +97 -0
  285. package/dist/storage/pdpp-records/record-key.js.map +1 -0
  286. package/dist/storage/pdpp-records/schema.d.ts +41 -0
  287. package/dist/storage/pdpp-records/schema.d.ts.map +1 -0
  288. package/dist/storage/pdpp-records/schema.js +153 -0
  289. package/dist/storage/pdpp-records/schema.js.map +1 -0
  290. package/dist/storage/pdpp-records/stream-declaration.d.ts +88 -0
  291. package/dist/storage/pdpp-records/stream-declaration.d.ts.map +1 -0
  292. package/dist/storage/pdpp-records/stream-declaration.js +57 -0
  293. package/dist/storage/pdpp-records/stream-declaration.js.map +1 -0
  294. package/dist/storage/pdpp-records/types.d.ts +138 -0
  295. package/dist/storage/pdpp-records/types.d.ts.map +1 -0
  296. package/dist/storage/pdpp-records/types.js +38 -0
  297. package/dist/storage/pdpp-records/types.js.map +1 -0
  298. package/dist/sync/data-point-feed.d.ts +3 -0
  299. package/dist/sync/data-point-feed.d.ts.map +1 -1
  300. package/dist/sync/data-point-feed.js +17 -1
  301. package/dist/sync/data-point-feed.js.map +1 -1
  302. package/dist/sync/delete-data-port.d.ts +2 -0
  303. package/dist/sync/delete-data-port.d.ts.map +1 -1
  304. package/dist/sync/delete-data-port.js +1 -1
  305. package/dist/sync/delete-data-port.js.map +1 -1
  306. package/dist/sync/engine/sync-manager.d.ts.map +1 -1
  307. package/dist/sync/engine/sync-manager.js +5 -2
  308. package/dist/sync/engine/sync-manager.js.map +1 -1
  309. package/dist/sync/index.d.ts +3 -1
  310. package/dist/sync/index.d.ts.map +1 -1
  311. package/dist/sync/index.js +4 -0
  312. package/dist/sync/index.js.map +1 -1
  313. package/dist/sync/pdpp-import.d.ts +192 -0
  314. package/dist/sync/pdpp-import.d.ts.map +1 -0
  315. package/dist/sync/pdpp-import.js +441 -0
  316. package/dist/sync/pdpp-import.js.map +1 -0
  317. package/dist/sync/scope-deletions.d.ts +10 -0
  318. package/dist/sync/scope-deletions.d.ts.map +1 -1
  319. package/dist/sync/scope-deletions.js +40 -7
  320. package/dist/sync/scope-deletions.js.map +1 -1
  321. package/dist/sync/workers/download.d.ts +14 -0
  322. package/dist/sync/workers/download.d.ts.map +1 -1
  323. package/dist/sync/workers/download.js +149 -13
  324. package/dist/sync/workers/download.js.map +1 -1
  325. package/dist/sync/workers/upload.d.ts +2 -0
  326. package/dist/sync/workers/upload.d.ts.map +1 -1
  327. package/dist/sync/workers/upload.js +7 -0
  328. package/dist/sync/workers/upload.js.map +1 -1
  329. package/dist/test-utils/memory-storage.d.ts +1 -1
  330. package/dist/test-utils/memory-storage.d.ts.map +1 -1
  331. package/dist/test-utils/memory-storage.js +11 -5
  332. package/dist/test-utils/memory-storage.js.map +1 -1
  333. package/package.json +54 -4
@@ -0,0 +1,360 @@
1
+ // Matches the bounded native/renderer source-record transport, not an external URL.
2
+ export const MAX_CLAUDE_SOURCE_BYTES = 32 * 1024 * 1024;
3
+ export class ClaudeSourceRecordError extends Error {
4
+ }
5
+ function reject(detail) {
6
+ throw new ClaudeSourceRecordError(detail);
7
+ }
8
+ function object(value) {
9
+ return value !== null && typeof value === "object" && !Array.isArray(value)
10
+ ? value
11
+ : null;
12
+ }
13
+ function string(value) {
14
+ return typeof value === "string" && value.length > 0 ? value : null;
15
+ }
16
+ function identity(value) {
17
+ const uuid = string(value.uuid), id = string(value.id);
18
+ if (uuid && id && uuid !== id)
19
+ reject("ambiguous_source_identity");
20
+ return uuid ?? id ?? reject("missing_source_identity");
21
+ }
22
+ function safeText(value, limit) {
23
+ const text = string(value)?.slice(0, limit) ?? null;
24
+ if (text !== null &&
25
+ /[\u0000-\u0008\u000b\u000c\u000e-\u001f\u007f-\u009f]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?<![\uD800-\uDBFF])[\uDC00-\uDFFF]/u.test(text)) {
26
+ reject("unsafe_source_text");
27
+ }
28
+ return text;
29
+ }
30
+ function time(value) {
31
+ const text = string(value);
32
+ return text && /^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}/.test(text)
33
+ ? text
34
+ : null;
35
+ }
36
+ function boolean(value) {
37
+ return typeof value === "boolean" ? value : null;
38
+ }
39
+ /** Shape validation runs before loading potentially large bytes into the snapshot. */
40
+ export function claudeBlobReference(data) {
41
+ const ref = object(data.blob_ref);
42
+ if (!ref ||
43
+ Object.keys(ref).sort().join(",") !==
44
+ "blob_id,mime_type,sha256,size_bytes" ||
45
+ typeof ref.blob_id !== "string" ||
46
+ !/^sha256:[0-9a-f]{64}$/.test(ref.blob_id) ||
47
+ ref.sha256 !== ref.blob_id.slice(7) ||
48
+ ref.sha256 === "0".repeat(64) ||
49
+ ref.mime_type !== "application/json" ||
50
+ !Number.isSafeInteger(ref.size_bytes) ||
51
+ ref.size_bytes < 1 ||
52
+ ref.size_bytes > MAX_CLAUDE_SOURCE_BYTES) {
53
+ reject("invalid_blob_reference");
54
+ }
55
+ return {
56
+ blobId: ref.blob_id,
57
+ sha256: ref.sha256,
58
+ size: ref.size_bytes,
59
+ };
60
+ }
61
+ /** Only the reviewed source envelope and mapped Claude fields are accepted. No source I/O. */
62
+ export async function decodeClaudeSourceRecord(row, contents) {
63
+ if (row.stream !== "conversations" && row.stream !== "projects")
64
+ reject("unsupported_blob_stream");
65
+ const stream = row.stream;
66
+ const ref = claudeBlobReference(row.data);
67
+ const { meta, bytes } = contents;
68
+ if (!meta || !bytes)
69
+ reject("blob_missing_or_corrupt");
70
+ if (meta.blobId !== ref.blobId ||
71
+ meta.mimeType !== "application/json" ||
72
+ meta.sha256 !== ref.sha256 ||
73
+ meta.sizeBytes !== ref.size ||
74
+ bytes.byteLength !== ref.size)
75
+ reject("blob_metadata_mismatch");
76
+ const digest = new Uint8Array(await crypto.subtle.digest("SHA-256", bytes));
77
+ if ([...digest].map((byte) => byte.toString(16).padStart(2, "0")).join("") !==
78
+ ref.sha256)
79
+ reject("blob_digest_mismatch");
80
+ let envelope;
81
+ try {
82
+ envelope = object(JSON.parse(new TextDecoder("utf-8", { fatal: true }).decode(bytes)));
83
+ }
84
+ catch {
85
+ return reject("invalid_source_json");
86
+ }
87
+ if (!envelope ||
88
+ envelope.format !== "anthropic-source-record-v1" ||
89
+ envelope.stream !== stream ||
90
+ envelope.record_key !== row.recordKey ||
91
+ row.data.id !== row.recordKey)
92
+ reject("source_envelope_mismatch");
93
+ const payload = object(envelope.payload);
94
+ if (!payload || identity(payload) !== row.recordKey)
95
+ reject("source_identity_mismatch");
96
+ const childKey = stream === "conversations" ? "chat_messages" : "docs";
97
+ // Multipart project metadata can omit docs; the canonical document stream
98
+ // then supplies the detail. A missing conversation body is not an empty chat.
99
+ const separateDocuments = stream === "projects" && payload.docs === undefined;
100
+ // The source parser emits [] for omitted docs. A present nonempty/malformed
101
+ // declared summary cannot describe this metadata-only source record.
102
+ if (separateDocuments &&
103
+ Object.hasOwn(row.data, "raw_docs") &&
104
+ (!Array.isArray(row.data.raw_docs) || row.data.raw_docs.length !== 0))
105
+ reject("parent_blob_conflict");
106
+ if (!separateDocuments && !Array.isArray(payload[childKey]))
107
+ reject("source_children_unknown");
108
+ const rawChildren = separateDocuments ? [] : payload[childKey];
109
+ const children = [];
110
+ const childIds = new Set();
111
+ for (const raw of rawChildren) {
112
+ const child = object(raw);
113
+ if (!child)
114
+ reject("malformed_source_child");
115
+ const id = identity(child);
116
+ if (stream === "conversations" && !string(child.uuid))
117
+ reject("missing_source_identity");
118
+ if (childIds.has(id))
119
+ reject("duplicate_source_child");
120
+ childIds.add(id);
121
+ children.push({
122
+ stream: stream === "conversations" ? "messages" : "project_documents",
123
+ data: stream === "conversations"
124
+ ? message(child, id, row.recordKey)
125
+ : document(child, id, row.recordKey),
126
+ });
127
+ }
128
+ const parent = stream === "conversations"
129
+ ? conversation(payload, row.recordKey, children.length)
130
+ : project(payload, row.recordKey, separateDocuments ? undefined : rawChildren);
131
+ // The inline summary must describe these same bytes, never a different parent revision.
132
+ for (const key of Object.keys(parent)) {
133
+ if (Object.hasOwn(row.data, key) && !sameJson(row.data[key], parent[key]))
134
+ reject("parent_blob_conflict");
135
+ }
136
+ return [{ stream, data: parent }, ...children];
137
+ }
138
+ function flattenMessage(raw) {
139
+ if (typeof raw.text === "string" && raw.text.length > 0)
140
+ return raw.text;
141
+ if (typeof raw.content === "string")
142
+ return raw.content;
143
+ if (Array.isArray(raw.content))
144
+ return raw.content
145
+ .map((part) => {
146
+ if (typeof part === "string")
147
+ return part;
148
+ const block = object(part);
149
+ return typeof block?.text === "string"
150
+ ? block.text
151
+ : typeof block?.content === "string"
152
+ ? block.content
153
+ : "";
154
+ })
155
+ .filter(Boolean)
156
+ .join("\n");
157
+ return typeof object(raw.content)?.text === "string"
158
+ ? object(raw.content).text
159
+ : "";
160
+ }
161
+ function safeAttachmentJson(value, depth = 0) {
162
+ if (depth > 64)
163
+ reject("source_attachment_too_deep");
164
+ if (typeof value === "string") {
165
+ safeText(value, Number.MAX_SAFE_INTEGER);
166
+ return true;
167
+ }
168
+ if (typeof value === "number")
169
+ return Number.isFinite(value);
170
+ if (value === null || typeof value === "boolean")
171
+ return true;
172
+ if (Array.isArray(value))
173
+ return value.every((item) => safeAttachmentJson(item, depth + 1));
174
+ const record = object(value);
175
+ return (!!record &&
176
+ Object.entries(record).every(([key, item]) => {
177
+ safeText(key, Number.MAX_SAFE_INTEGER);
178
+ return safeAttachmentJson(item, depth + 1);
179
+ }));
180
+ }
181
+ function message(raw, id, conversationId) {
182
+ const attachments = raw.attachments === undefined || raw.attachments === null
183
+ ? null
184
+ : raw.attachments;
185
+ if (attachments !== null &&
186
+ (!Array.isArray(attachments) ||
187
+ attachments.some((item) => !object(item) || !safeAttachmentJson(item))))
188
+ reject("invalid_source_attachments");
189
+ return {
190
+ id,
191
+ conversation_id: conversationId,
192
+ role: string(raw.sender),
193
+ parent_id: string(raw.parent_message_uuid),
194
+ content: safeText(flattenMessage(raw), 10_000_000),
195
+ model: null,
196
+ create_time: time(raw.created_at),
197
+ update_time: time(raw.updated_at),
198
+ attachments,
199
+ };
200
+ }
201
+ function conversation(raw, id, count) {
202
+ return {
203
+ id,
204
+ title: safeText(string(raw.name) ?? string(raw.summary), 4000),
205
+ create_time: time(raw.created_at),
206
+ update_time: time(raw.updated_at),
207
+ project_id: string(raw.project_uuid),
208
+ model: null,
209
+ message_count: count,
210
+ is_starred: boolean(raw.is_starred),
211
+ };
212
+ }
213
+ function document(raw, id, projectId) {
214
+ return {
215
+ id,
216
+ project_id: projectId,
217
+ filename: safeText(string(raw.filename) ??
218
+ string(raw.file_name) ??
219
+ string(raw.name) ??
220
+ string(raw.title), 1024),
221
+ content: safeText(string(raw.content) ??
222
+ string(raw.text) ??
223
+ string(raw.body) ??
224
+ string(raw.filedata), 10_000_000),
225
+ create_time: time(raw.created_at),
226
+ update_time: time(raw.updated_at),
227
+ };
228
+ }
229
+ function project(raw, id, docs) {
230
+ const creator = object(raw.creator);
231
+ if (raw.creator !== undefined && raw.creator !== null && !creator)
232
+ reject("invalid_source_creator");
233
+ const name = safeText(string(raw.name) ?? "Untitled project", 2000);
234
+ return {
235
+ id,
236
+ name,
237
+ description: safeText(raw.description, 65_000),
238
+ create_time: time(raw.created_at),
239
+ update_time: time(raw.updated_at),
240
+ is_archived: raw.archived_at != null,
241
+ prompt_template: safeText(raw.prompt_template, 65_000),
242
+ creator: creator
243
+ ? Object.fromEntries([
244
+ ["uuid", string(creator.uuid)],
245
+ ["full_name", safeText(creator.full_name, 2000)],
246
+ ].filter(([, value]) => value !== null))
247
+ : null,
248
+ is_private: boolean(raw.is_private),
249
+ is_starter_project: boolean(raw.is_starter_project),
250
+ archived_at: safeText(raw.archived_at, 128),
251
+ ...(docs === undefined
252
+ ? {}
253
+ : {
254
+ raw_docs: docs.map((rawDoc) => {
255
+ const doc = object(rawDoc);
256
+ return Object.fromEntries([
257
+ ["uuid", safeText(doc.uuid, 128)],
258
+ ["filename", safeText(doc.filename, 1024)],
259
+ ["content", safeText(doc.content, 10_000_000)],
260
+ ["created_at", safeText(doc.created_at, 128)],
261
+ ["updated_at", safeText(doc.updated_at, 128)],
262
+ ].filter(([, value]) => value !== null));
263
+ }),
264
+ }),
265
+ };
266
+ }
267
+ /** JSON object field order is irrelevant; array order is part of the source value. */
268
+ function sameJson(left, right) {
269
+ if (left === right)
270
+ return true;
271
+ if (Array.isArray(left) && Array.isArray(right))
272
+ return (left.length === right.length &&
273
+ left.every((value, index) => sameJson(value, right[index])));
274
+ const a = object(left), b = object(right);
275
+ return (!!a &&
276
+ !!b &&
277
+ Object.keys(a).length === Object.keys(b).length &&
278
+ Object.keys(a).every((key) => Object.hasOwn(b, key) && sameJson(a[key], b[key])));
279
+ }
280
+ /** Deduplicate matching inline detail, but never conceal a conflicting body or relationship. */
281
+ export function mergeClaudeSourceRecords(records, expanded) {
282
+ const merged = new Map();
283
+ const blobParents = new Set(expanded
284
+ .filter((record) => record.stream === "projects" || record.stream === "conversations")
285
+ .map((record) => String(record.data.id)));
286
+ for (const record of records) {
287
+ if (record.stream === "project_documents" &&
288
+ blobParents.has(String(record.data.project_id))) {
289
+ const data = record.data;
290
+ if (!string(data.id) ||
291
+ ["filename", "content", "create_time", "update_time"].some((field) => !Object.hasOwn(data, field) ||
292
+ !(typeof data[field] === "string" || data[field] === null)))
293
+ reject("invalid_inline_document");
294
+ safeText(data.filename, 1024);
295
+ safeText(data.content, 10_000_000);
296
+ }
297
+ const key = `${record.stream}\u0000${String(record.data.id)}`;
298
+ if (merged.has(key))
299
+ reject("duplicate_inline_identity");
300
+ merged.set(key, record);
301
+ }
302
+ const sourceIdentities = new Set();
303
+ for (const record of expanded) {
304
+ const key = `${record.stream}\u0000${String(record.data.id)}`;
305
+ if (sourceIdentities.has(key))
306
+ reject("duplicate_source_identity");
307
+ sourceIdentities.add(key);
308
+ const existing = merged.get(key);
309
+ if ((record.stream === "messages" || record.stream === "project_documents") &&
310
+ !existing)
311
+ reject("source_child_missing_inline");
312
+ if (existing) {
313
+ const required = record.stream === "messages"
314
+ ? [
315
+ "id",
316
+ "conversation_id",
317
+ "role",
318
+ "parent_id",
319
+ "content",
320
+ "create_time",
321
+ "update_time",
322
+ "attachments",
323
+ ]
324
+ : record.stream === "project_documents"
325
+ ? [
326
+ "id",
327
+ "project_id",
328
+ "filename",
329
+ "content",
330
+ "create_time",
331
+ "update_time",
332
+ ]
333
+ : [];
334
+ if (required.some((field) => !Object.hasOwn(existing.data, field)))
335
+ reject("inline_child_fields_missing");
336
+ for (const field of Object.keys(record.data)) {
337
+ if (Object.hasOwn(existing.data, field) &&
338
+ !sameJson(existing.data[field], record.data[field]))
339
+ reject("inline_blob_conflict");
340
+ }
341
+ }
342
+ merged.set(key, record);
343
+ }
344
+ // Inline children of a blob parent must occur in its explicit source list.
345
+ const parentIds = new Set(expanded
346
+ .filter((record) => (record.stream === "projects" &&
347
+ Object.hasOwn(record.data, "raw_docs")) ||
348
+ record.stream === "conversations")
349
+ .map((record) => String(record.data.id)));
350
+ for (const record of records) {
351
+ if (((record.stream === "messages" &&
352
+ parentIds.has(String(record.data.conversation_id))) ||
353
+ (record.stream === "project_documents" &&
354
+ parentIds.has(String(record.data.project_id)))) &&
355
+ !sourceIdentities.has(`${record.stream}\u0000${String(record.data.id)}`))
356
+ reject("inline_child_absent_from_blob");
357
+ }
358
+ return [...merged.values()];
359
+ }
360
+ //# sourceMappingURL=claude-source-record.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"claude-source-record.js","sourceRoot":"","sources":["../../src/legacy-projection/claude-source-record.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,41 @@
1
+ import type { PdppRecord, ProjectionDiagnostic, ProjectionError } from "./types.js";
2
+ import type { PdppBlobMeta } from "../storage/pdpp-records/types.js";
3
+ export type StreamSchemas = Readonly<Record<string, Record<string, unknown>>>;
4
+ type ObjectValue = Record<string, unknown>;
5
+ export declare class DeclaredTextError extends Error {
6
+ readonly kind: "invalid_encoded_text" | "message_content_omitted" | "unresolved_blob";
7
+ readonly stream: string;
8
+ readonly field: string;
9
+ constructor(kind: "invalid_encoded_text" | "message_content_omitted" | "unresolved_blob", stream: string, field: string);
10
+ projectionError(scope: string): ProjectionError;
11
+ }
12
+ /**
13
+ * data-connectors ChatGPT 0.2.53 codec, supplied with the implementation
14
+ * assignment. This is one replacement pass, never recursive unescaping.
15
+ * Ordinary and unmatched backslash-u text is valid source text.
16
+ */
17
+ export declare function decodePdppSafeText(text: string): string;
18
+ export declare function declaredBlobField(schema: ObjectValue | undefined): string | undefined;
19
+ /** Copies only changed rows. Blob-derived source text must never enter this decoder. */
20
+ export declare function decodeDeclaredRecords(records: PdppRecord[], schemas?: StreamSchemas, allowUnresolvedBlobs?: boolean): PdppRecord[];
21
+ /**
22
+ * A bad encoded row follows the projector's drop-and-count policy. Missing
23
+ * blob resolution is still a caller error. Each rejected row counts once,
24
+ * under the first failing field, without exposing its contents.
25
+ */
26
+ export declare function decodeDeclaredRecordsForProjection(records: PdppRecord[], schemas: StreamSchemas | undefined, scope: string, allowUnresolvedBlobs?: boolean): {
27
+ records: PdppRecord[];
28
+ diagnostics: ProjectionDiagnostic[];
29
+ };
30
+ export declare function declaredBlobReference(data: ObjectValue, field: string): {
31
+ blobId: string;
32
+ sha256: string;
33
+ size: number;
34
+ };
35
+ /** UTF-8 JSON string bytes contain exact source text, with no PDPP escaping. */
36
+ export declare function decodeDeclaredBlob(data: ObjectValue, field: string, contents: {
37
+ meta: PdppBlobMeta | undefined;
38
+ bytes: Uint8Array<ArrayBuffer> | undefined;
39
+ }): Promise<ObjectValue>;
40
+ export {};
41
+ //# sourceMappingURL=declared-text.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"declared-text.d.ts","sourceRoot":"","sources":["../../src/legacy-projection/declared-text.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,UAAU,EACV,oBAAoB,EACpB,eAAe,EAChB,MAAM,YAAY,CAAC;AACpB,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kCAAkC,CAAC;AAErE,MAAM,MAAM,aAAa,GAAG,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC;AAC9E,KAAK,WAAW,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAM3C,qBAAa,iBAAkB,SAAQ,KAAK;IAExC,QAAQ,CAAC,IAAI,EACX,sBAAsB,GAAG,yBAAyB,GAAG,iBAAiB;IACxE,QAAQ,CAAC,MAAM,EAAE,MAAM;IACvB,QAAQ,CAAC,KAAK,EAAE,MAAM;gBAHb,IAAI,EACX,sBAAsB,GAAG,yBAAyB,GAAG,iBAAiB,EAC/D,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,MAAM;IAIxB,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,eAAe;CAGhD;AAED;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAoBvD;AAED,wBAAgB,iBAAiB,CAC/B,MAAM,EAAE,WAAW,GAAG,SAAS,GAC9B,MAAM,GAAG,SAAS,CAYpB;AA2BD,wFAAwF;AACxF,wBAAgB,qBAAqB,CACnC,OAAO,EAAE,UAAU,EAAE,EACrB,OAAO,GAAE,aAAkB,EAC3B,oBAAoB,UAAQ,GAC3B,UAAU,EAAE,CAId;AA8CD;;;;GAIG;AACH,wBAAgB,kCAAkC,CAChD,OAAO,EAAE,UAAU,EAAE,EACrB,OAAO,EAAE,aAAa,GAAG,SAAS,EAClC,KAAK,EAAE,MAAM,EACb,oBAAoB,UAAQ,GAC3B;IAAE,OAAO,EAAE,UAAU,EAAE,CAAC;IAAC,WAAW,EAAE,oBAAoB,EAAE,CAAA;CAAE,CAgChE;AAED,wBAAgB,qBAAqB,CACnC,IAAI,EAAE,WAAW,EACjB,KAAK,EAAE,MAAM,GACZ;IACD,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;CACd,CAmBA;AAED,gFAAgF;AAChF,wBAAsB,kBAAkB,CACtC,IAAI,EAAE,WAAW,EACjB,KAAK,EAAE,MAAM,EACb,QAAQ,EAAE;IACR,IAAI,EAAE,YAAY,GAAG,SAAS,CAAC;IAC/B,KAAK,EAAE,UAAU,CAAC,WAAW,CAAC,GAAG,SAAS,CAAC;CAC5C,GACA,OAAO,CAAC,WAAW,CAAC,CA6BtB"}
@@ -0,0 +1,199 @@
1
+ const object = (value) => value !== null && typeof value === "object" && !Array.isArray(value)
2
+ ? value
3
+ : undefined;
4
+ export class DeclaredTextError extends Error {
5
+ kind;
6
+ stream;
7
+ field;
8
+ constructor(kind, stream, field) {
9
+ super(kind);
10
+ this.kind = kind;
11
+ this.stream = stream;
12
+ this.field = field;
13
+ }
14
+ projectionError(scope) {
15
+ return { kind: this.kind, scope, stream: this.stream, field: this.field };
16
+ }
17
+ }
18
+ /**
19
+ * data-connectors ChatGPT 0.2.53 codec, supplied with the implementation
20
+ * assignment. This is one replacement pass, never recursive unescaping.
21
+ * Ordinary and unmatched backslash-u text is valid source text.
22
+ */
23
+ export function decodePdppSafeText(text) {
24
+ if (/[\u0000-\u0008\u000b\u000c\u000e-\u001f\u007f-\u009f]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?<![\uD800-\uDBFF])[\uDC00-\uDFFF]/u.test(text)) {
25
+ throw new Error("raw_forbidden_code_unit");
26
+ }
27
+ return text.replace(/\\u([0-9a-fA-F]{4})/g, (escape, hex) => {
28
+ const unit = Number.parseInt(hex, 16);
29
+ return unit === 0x5c ||
30
+ unit <= 8 ||
31
+ unit === 11 ||
32
+ unit === 12 ||
33
+ (unit >= 14 && unit <= 31) ||
34
+ (unit >= 127 && unit <= 159) ||
35
+ (unit >= 0xd800 && unit <= 0xdfff)
36
+ ? String.fromCharCode(unit)
37
+ : escape;
38
+ });
39
+ }
40
+ export function declaredBlobField(schema) {
41
+ const properties = object(schema?.properties);
42
+ const ref = object(properties?.blob_ref);
43
+ const field = ref?.x_pdpp_blob_projects_field;
44
+ return ref?.x_pdpp_blob_codec === "json-string-v1" &&
45
+ typeof field === "string" &&
46
+ field.length > 0 &&
47
+ field !== "blob_ref" &&
48
+ properties &&
49
+ Object.hasOwn(properties, field)
50
+ ? field
51
+ : undefined;
52
+ }
53
+ /** Decode content strings and keys once, copying only changed containers. */
54
+ function decodeDeclaredValue(value) {
55
+ if (typeof value === "string")
56
+ return decodePdppSafeText(value);
57
+ if (Array.isArray(value)) {
58
+ const decoded = value.map(decodeDeclaredValue);
59
+ return decoded.some((item, index) => item !== value[index])
60
+ ? decoded
61
+ : value;
62
+ }
63
+ const row = object(value);
64
+ if (!row)
65
+ return value;
66
+ const keys = new Set();
67
+ let changed = false;
68
+ const entries = Object.entries(row).map(([key, item]) => {
69
+ const decodedKey = decodePdppSafeText(key);
70
+ if (keys.has(decodedKey))
71
+ throw new Error("decoded_key_collision");
72
+ keys.add(decodedKey);
73
+ const decoded = decodeDeclaredValue(item);
74
+ changed ||= decodedKey !== key || decoded !== item;
75
+ return [decodedKey, decoded];
76
+ });
77
+ // CreateDataProperty preserves __proto__/constructor as ordinary own keys.
78
+ return changed ? Object.fromEntries(entries) : value;
79
+ }
80
+ /** Copies only changed rows. Blob-derived source text must never enter this decoder. */
81
+ export function decodeDeclaredRecords(records, schemas = {}, allowUnresolvedBlobs = false) {
82
+ return records.map((record) => decodeDeclaredRecord(record, schemas, allowUnresolvedBlobs));
83
+ }
84
+ function decodeDeclaredRecord(record, schemas, allowUnresolvedBlobs) {
85
+ const schema = schemas[record.stream];
86
+ const properties = object(schema?.properties);
87
+ if (!properties || !object(record.data))
88
+ return record;
89
+ let data = record.data;
90
+ const blobField = declaredBlobField(schema);
91
+ if (blobField && Object.hasOwn(data, "blob_ref") && !allowUnresolvedBlobs) {
92
+ throw new DeclaredTextError("unresolved_blob", record.stream, blobField);
93
+ }
94
+ if (blobField &&
95
+ Array.isArray(schema?.required) &&
96
+ schema.required.includes(blobField) &&
97
+ !Object.hasOwn(data, blobField) &&
98
+ !Object.hasOwn(data, "blob_ref")) {
99
+ throw new DeclaredTextError("message_content_omitted", record.stream, blobField);
100
+ }
101
+ for (const [field, declaration] of Object.entries(properties)) {
102
+ if (object(declaration)?.x_pdpp_text_encoding !== "pdpp-safe-escape-v1" ||
103
+ !Object.hasOwn(data, field) ||
104
+ data[field] === null)
105
+ continue;
106
+ let decoded;
107
+ try {
108
+ decoded = decodeDeclaredValue(data[field]);
109
+ }
110
+ catch {
111
+ throw new DeclaredTextError("invalid_encoded_text", record.stream, field);
112
+ }
113
+ if (decoded !== data[field])
114
+ data = { ...data, [field]: decoded };
115
+ }
116
+ return data === record.data ? record : { ...record, data };
117
+ }
118
+ /**
119
+ * A bad encoded row follows the projector's drop-and-count policy. Missing
120
+ * blob resolution is still a caller error. Each rejected row counts once,
121
+ * under the first failing field, without exposing its contents.
122
+ */
123
+ export function decodeDeclaredRecordsForProjection(records, schemas, scope, allowUnresolvedBlobs = false) {
124
+ const decoded = [];
125
+ const dropped = new Map();
126
+ for (const record of records) {
127
+ try {
128
+ decoded.push(decodeDeclaredRecord(record, schemas ?? {}, allowUnresolvedBlobs));
129
+ }
130
+ catch (error) {
131
+ if (!(error instanceof DeclaredTextError) ||
132
+ error.kind === "unresolved_blob")
133
+ throw error;
134
+ const reason = `${error.kind}: ${error.field}`;
135
+ const key = JSON.stringify([error.stream, reason]);
136
+ const diagnostic = dropped.get(key);
137
+ if (diagnostic)
138
+ diagnostic.count += 1;
139
+ else
140
+ dropped.set(key, {
141
+ kind: "records_dropped",
142
+ scope,
143
+ stream: error.stream,
144
+ count: 1,
145
+ reasons: [reason],
146
+ });
147
+ }
148
+ }
149
+ return { records: decoded, diagnostics: [...dropped.values()] };
150
+ }
151
+ export function declaredBlobReference(data, field) {
152
+ const ref = object(data.blob_ref);
153
+ if ((Object.hasOwn(data, field) && data[field] !== null) ||
154
+ !ref ||
155
+ typeof ref.blob_id !== "string" ||
156
+ !/^sha256:[0-9a-f]{64}$/.test(ref.blob_id) ||
157
+ ref.sha256 !== ref.blob_id.slice(7) ||
158
+ ref.mime_type !== "application/json" ||
159
+ !Number.isSafeInteger(ref.size_bytes) ||
160
+ ref.size_bytes < 2) {
161
+ throw new Error("invalid_blob_reference");
162
+ }
163
+ return {
164
+ blobId: ref.blob_id,
165
+ sha256: ref.sha256,
166
+ size: ref.size_bytes,
167
+ };
168
+ }
169
+ /** UTF-8 JSON string bytes contain exact source text, with no PDPP escaping. */
170
+ export async function decodeDeclaredBlob(data, field, contents) {
171
+ const ref = declaredBlobReference(data, field);
172
+ const { meta, bytes } = contents;
173
+ if (!meta || !bytes)
174
+ throw new Error("blob_missing_or_corrupt");
175
+ if (meta.blobId !== ref.blobId ||
176
+ meta.sha256 !== ref.sha256 ||
177
+ meta.mimeType !== "application/json" ||
178
+ meta.sizeBytes !== ref.size ||
179
+ bytes.length !== ref.size) {
180
+ throw new Error("blob_metadata_mismatch");
181
+ }
182
+ const digest = new Uint8Array(await crypto.subtle.digest("SHA-256", bytes));
183
+ if ([...digest].map((b) => b.toString(16).padStart(2, "0")).join("") !==
184
+ ref.sha256) {
185
+ throw new Error("blob_digest_mismatch");
186
+ }
187
+ let value;
188
+ try {
189
+ value = JSON.parse(new TextDecoder("utf-8", { fatal: true }).decode(bytes));
190
+ }
191
+ catch {
192
+ throw new Error("invalid_blob_json_string");
193
+ }
194
+ if (typeof value !== "string")
195
+ throw new Error("invalid_blob_json_string");
196
+ const { blob_ref: _ref, ...rest } = data;
197
+ return { ...rest, [field]: value };
198
+ }
199
+ //# sourceMappingURL=declared-text.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"declared-text.js","sourceRoot":"","sources":["../../src/legacy-projection/declared-text.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"github-browser-bindings.d.ts","sourceRoot":"","sources":["../../src/legacy-projection/github-browser-bindings.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,kBAAkB,EAGnB,MAAM,YAAY,CAAC;AAkIpB,eAAO,MAAM,uBAAuB,EAAE,WAAW,CAAC,MAAM,EAAE,kBAAkB,CAMzE,CAAC"}
1
+ {"version":3,"file":"github-browser-bindings.d.ts","sourceRoot":"","sources":["../../src/legacy-projection/github-browser-bindings.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,kBAAkB,EAGnB,MAAM,YAAY,CAAC;AA2OpB,eAAO,MAAM,uBAAuB,EAAE,WAAW,CAAC,MAAM,EAAE,kBAAkB,CAMzE,CAAC"}