@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 @@
1
+ {"version":3,"file":"prompt.js","sourceRoot":"","sources":["../../src/derivatives/prompt.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,56 @@
1
+ /**
2
+ * Question registration: input validation, the naming rule (shared with the
3
+ * lineage write path) and the cycle guard that keeps a chain of recomputes
4
+ * bounded.
5
+ */
6
+ import { type AnswerShape } from "./answer-shape.js";
7
+ import type { QuestionRecompute, QuestionRegisteredBy, QuestionRegistration, QuestionStore } from "./types.js";
8
+ export declare const MAX_QUESTION_SOURCE_SCOPES = 16;
9
+ export declare const MAX_QUESTION_CHARS = 8000;
10
+ export declare const MAX_MODEL_CHARS = 128;
11
+ /** Unvalidated scope strings echoed in 400 details are cut to this. */
12
+ export declare const MAX_ECHOED_SCOPE_CHARS = 128;
13
+ export interface ParsedQuestionInput {
14
+ derivedScope: string;
15
+ sourceScopes: string[];
16
+ question: string;
17
+ model: string | null;
18
+ answerShape: AnswerShape | null;
19
+ recompute: QuestionRecompute;
20
+ }
21
+ /**
22
+ * Validate the POST body of a question registration. Throws 400
23
+ * DERIVATIVE_QUESTION_INVALID on shape errors and 400
24
+ * LINEAGE_SCOPE_UNDER_SOURCE_PREFIX when the derived scope shares its
25
+ * first segment with a source (the lineage naming rule, applied up front
26
+ * so a registration that could never be written is refused here).
27
+ */
28
+ export declare function parseQuestionInput(body: unknown): ParsedQuestionInput;
29
+ /**
30
+ * Staleness follows edges source -> derived. A registration whose derived
31
+ * scope can reach one of its own sources through other registrations would
32
+ * recompute forever (A from B, B from A). Refuse it. Returns the offending
33
+ * path (derived scope back to itself) or null.
34
+ */
35
+ export declare function findDerivationCycle(candidate: Pick<QuestionRegistration, "derivedScope" | "sourceScopes">, existing: readonly Pick<QuestionRegistration, "derivedScope" | "sourceScopes">[]): string[] | null;
36
+ export interface CreateQuestionRegistrationInput {
37
+ body: unknown;
38
+ registeredBy: QuestionRegisteredBy;
39
+ store: QuestionStore;
40
+ questionId: string;
41
+ now: () => Date;
42
+ }
43
+ /**
44
+ * Validate, guard against cycles and persist a registration in `pending`.
45
+ * The caller has already authorized the write on `derivedScope`.
46
+ */
47
+ export declare function createQuestionRegistration(input: CreateQuestionRegistrationInput): Promise<QuestionRegistration>;
48
+ /**
49
+ * Consent check for a builder question: the sources feed a prompt whose
50
+ * answer the builder reads, so every source scope must be covered by a READ
51
+ * entry of the builder's grant (bare entries; `write:` entries confer
52
+ * nothing). Returns the uncovered scopes; empty = all covered. The system
53
+ * prompt is not a security boundary, this is.
54
+ */
55
+ export declare function uncoveredSourceScopes(sourceScopes: readonly string[], grantScopes: readonly string[] | undefined): string[];
56
+ //# sourceMappingURL=registration.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"registration.d.ts","sourceRoot":"","sources":["../../src/derivatives/registration.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AASH,OAAO,EAAyB,KAAK,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAE5E,OAAO,KAAK,EACV,iBAAiB,EACjB,oBAAoB,EACpB,oBAAoB,EACpB,aAAa,EACd,MAAM,YAAY,CAAC;AAEpB,eAAO,MAAM,0BAA0B,KAAK,CAAC;AAC7C,eAAO,MAAM,kBAAkB,OAAQ,CAAC;AACxC,eAAO,MAAM,eAAe,MAAM,CAAC;AACnC,uEAAuE;AACvE,eAAO,MAAM,sBAAsB,MAAM,CAAC;AAK1C,MAAM,WAAW,mBAAmB;IAClC,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,WAAW,EAAE,WAAW,GAAG,IAAI,CAAC;IAChC,SAAS,EAAE,iBAAiB,CAAC;CAC9B;AAyBD;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,OAAO,GAAG,mBAAmB,CAqFrE;AAED;;;;;GAKG;AACH,wBAAgB,mBAAmB,CACjC,SAAS,EAAE,IAAI,CAAC,oBAAoB,EAAE,cAAc,GAAG,cAAc,CAAC,EACtE,QAAQ,EAAE,SAAS,IAAI,CACrB,oBAAoB,EACpB,cAAc,GAAG,cAAc,CAChC,EAAE,GACF,MAAM,EAAE,GAAG,IAAI,CA+BjB;AAED,MAAM,WAAW,+BAA+B;IAC9C,IAAI,EAAE,OAAO,CAAC;IACd,YAAY,EAAE,oBAAoB,CAAC;IACnC,KAAK,EAAE,aAAa,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,GAAG,EAAE,MAAM,IAAI,CAAC;CACjB;AAED;;;GAGG;AACH,wBAAsB,0BAA0B,CAC9C,KAAK,EAAE,+BAA+B,GACrC,OAAO,CAAC,oBAAoB,CAAC,CA8B/B;AAED;;;;;;GAMG;AACH,wBAAgB,qBAAqB,CACnC,YAAY,EAAE,SAAS,MAAM,EAAE,EAC/B,WAAW,EAAE,SAAS,MAAM,EAAE,GAAG,SAAS,GACzC,MAAM,EAAE,CAOV"}
@@ -0,0 +1,187 @@
1
+ /**
2
+ * Question registration: input validation, the naming rule (shared with the
3
+ * lineage write path) and the cycle guard that keeps a chain of recomputes
4
+ * bounded.
5
+ */
6
+ import { DerivativeCycleError, DerivativeQuestionInvalidError, } from "../errors/catalog.js";
7
+ import { parseDataScopeContract } from "../contracts/data.js";
8
+ import { assertDerivedScopeNaming } from "../lineage/lineage.js";
9
+ import { isWriteScopeEntry } from "../policy/data-write.js";
10
+ import { parseAnswerShapeInput } from "./answer-shape.js";
11
+ import { scopeCoveredByGrant } from "@opendatalabs/vana-sdk/browser";
12
+ export const MAX_QUESTION_SOURCE_SCOPES = 16;
13
+ export const MAX_QUESTION_CHARS = 8_000;
14
+ export const MAX_MODEL_CHARS = 128;
15
+ /** Unvalidated scope strings echoed in 400 details are cut to this. */
16
+ export const MAX_ECHOED_SCOPE_CHARS = 128;
17
+ /** Model ids as providers spell them (`z-ai/glm-5.2`, `gpt-4o-mini`, ...). */
18
+ const MODEL_ID = /^[A-Za-z0-9][A-Za-z0-9._:/-]*$/;
19
+ function isRecord(value) {
20
+ return value !== null && typeof value === "object" && !Array.isArray(value);
21
+ }
22
+ function parseScope(value, field) {
23
+ if (typeof value !== "string") {
24
+ throw new DerivativeQuestionInvalidError(`${field} must be a scope string`, {
25
+ field,
26
+ });
27
+ }
28
+ const parsed = parseDataScopeContract(value);
29
+ if (!parsed.ok) {
30
+ throw new DerivativeQuestionInvalidError(`${field} is not a valid scope: ${parsed.body.message}`, { field, scope: value.slice(0, MAX_ECHOED_SCOPE_CHARS) });
31
+ }
32
+ return parsed.scope;
33
+ }
34
+ /**
35
+ * Validate the POST body of a question registration. Throws 400
36
+ * DERIVATIVE_QUESTION_INVALID on shape errors and 400
37
+ * LINEAGE_SCOPE_UNDER_SOURCE_PREFIX when the derived scope shares its
38
+ * first segment with a source (the lineage naming rule, applied up front
39
+ * so a registration that could never be written is refused here).
40
+ */
41
+ export function parseQuestionInput(body) {
42
+ if (!isRecord(body)) {
43
+ throw new DerivativeQuestionInvalidError("Body must be a JSON object");
44
+ }
45
+ const derivedScope = parseScope(body.derivedScope, "derivedScope");
46
+ if (!Array.isArray(body.sourceScopes) || body.sourceScopes.length === 0) {
47
+ throw new DerivativeQuestionInvalidError("sourceScopes must be a non-empty array of scopes", { field: "sourceScopes" });
48
+ }
49
+ if (body.sourceScopes.length > MAX_QUESTION_SOURCE_SCOPES) {
50
+ throw new DerivativeQuestionInvalidError(`sourceScopes lists ${body.sourceScopes.length} scopes; the maximum is ${MAX_QUESTION_SOURCE_SCOPES}`, { field: "sourceScopes", max: MAX_QUESTION_SOURCE_SCOPES });
51
+ }
52
+ const sourceScopes = [];
53
+ for (const entry of body.sourceScopes) {
54
+ const scope = parseScope(entry, "sourceScopes[]");
55
+ if (sourceScopes.includes(scope)) {
56
+ throw new DerivativeQuestionInvalidError("sourceScopes lists the same scope twice", { field: "sourceScopes", duplicate: scope });
57
+ }
58
+ if (scope === derivedScope) {
59
+ throw new DerivativeQuestionInvalidError("derivedScope cannot be one of its own sources", { field: "sourceScopes", scope });
60
+ }
61
+ sourceScopes.push(scope);
62
+ }
63
+ if (typeof body.question !== "string" || body.question.trim() === "") {
64
+ throw new DerivativeQuestionInvalidError("question must be a non-empty string", { field: "question" });
65
+ }
66
+ if (body.question.length > MAX_QUESTION_CHARS) {
67
+ throw new DerivativeQuestionInvalidError(`question is ${body.question.length} characters; the maximum is ${MAX_QUESTION_CHARS}`, { field: "question", max: MAX_QUESTION_CHARS });
68
+ }
69
+ let model = null;
70
+ if (body.model !== undefined && body.model !== null) {
71
+ if (typeof body.model !== "string" ||
72
+ body.model.length > MAX_MODEL_CHARS ||
73
+ !MODEL_ID.test(body.model)) {
74
+ throw new DerivativeQuestionInvalidError("model must be a provider model id", { field: "model" });
75
+ }
76
+ model = body.model;
77
+ }
78
+ // Absent (or null) keeps the free-text answer: the model is asked for a
79
+ // prose answer and nothing about the reply is enforced beyond the token
80
+ // cap, exactly as before this field existed.
81
+ const answerShape = parseAnswerShapeInput(body.answerShape);
82
+ // Absent (or null, like model) keeps the original follow-every-change
83
+ // behavior, so existing builder clients register exactly as before.
84
+ let recompute = "on-change";
85
+ if (body.recompute !== undefined && body.recompute !== null) {
86
+ if (body.recompute !== "snapshot" && body.recompute !== "on-change") {
87
+ throw new DerivativeQuestionInvalidError('recompute must be "snapshot" or "on-change"', { field: "recompute" });
88
+ }
89
+ recompute = body.recompute;
90
+ }
91
+ assertDerivedScopeNaming(derivedScope, sourceScopes);
92
+ return {
93
+ derivedScope,
94
+ sourceScopes,
95
+ question: body.question,
96
+ model,
97
+ answerShape,
98
+ recompute,
99
+ };
100
+ }
101
+ /**
102
+ * Staleness follows edges source -> derived. A registration whose derived
103
+ * scope can reach one of its own sources through other registrations would
104
+ * recompute forever (A from B, B from A). Refuse it. Returns the offending
105
+ * path (derived scope back to itself) or null.
106
+ */
107
+ export function findDerivationCycle(candidate, existing) {
108
+ // derived scope -> the scopes it is computed from
109
+ const sourcesOf = new Map();
110
+ const add = (derived, sources) => {
111
+ const set = sourcesOf.get(derived) ?? new Set();
112
+ for (const source of sources)
113
+ set.add(source);
114
+ sourcesOf.set(derived, set);
115
+ };
116
+ for (const registration of existing) {
117
+ add(registration.derivedScope, registration.sourceScopes);
118
+ }
119
+ add(candidate.derivedScope, candidate.sourceScopes);
120
+ // Depth-first from the candidate's derived scope through the sources it
121
+ // depends on; reaching the derived scope again is a cycle. Bounded by the
122
+ // number of distinct scopes (visited set), so no unbounded walk.
123
+ const target = candidate.derivedScope;
124
+ const visited = new Set();
125
+ const stack = [
126
+ { scope: target, path: [target] },
127
+ ];
128
+ while (stack.length > 0) {
129
+ const { scope, path } = stack.pop();
130
+ for (const source of sourcesOf.get(scope) ?? []) {
131
+ if (source === target)
132
+ return [...path, source];
133
+ if (visited.has(source))
134
+ continue;
135
+ visited.add(source);
136
+ stack.push({ scope: source, path: [...path, source] });
137
+ }
138
+ }
139
+ return null;
140
+ }
141
+ /**
142
+ * Validate, guard against cycles and persist a registration in `pending`.
143
+ * The caller has already authorized the write on `derivedScope`.
144
+ */
145
+ export async function createQuestionRegistration(input) {
146
+ const parsed = parseQuestionInput(input.body);
147
+ const cycle = findDerivationCycle(parsed, await input.store.list());
148
+ if (cycle) {
149
+ throw new DerivativeCycleError({
150
+ derivedScope: parsed.derivedScope,
151
+ path: cycle,
152
+ });
153
+ }
154
+ const at = input.now().toISOString();
155
+ const registration = {
156
+ questionId: input.questionId,
157
+ derivedScope: parsed.derivedScope,
158
+ sourceScopes: parsed.sourceScopes,
159
+ question: parsed.question,
160
+ model: parsed.model,
161
+ answerShape: parsed.answerShape,
162
+ recompute: parsed.recompute,
163
+ registeredBy: input.registeredBy,
164
+ status: "pending",
165
+ error: null,
166
+ errorCode: null,
167
+ createdAt: at,
168
+ updatedAt: at,
169
+ lastComputedAt: null,
170
+ derivedVersion: null,
171
+ derivedCollectedAt: null,
172
+ };
173
+ await input.store.insert(registration);
174
+ return registration;
175
+ }
176
+ /**
177
+ * Consent check for a builder question: the sources feed a prompt whose
178
+ * answer the builder reads, so every source scope must be covered by a READ
179
+ * entry of the builder's grant (bare entries; `write:` entries confer
180
+ * nothing). Returns the uncovered scopes; empty = all covered. The system
181
+ * prompt is not a security boundary, this is.
182
+ */
183
+ export function uncoveredSourceScopes(sourceScopes, grantScopes) {
184
+ const readEntries = (grantScopes ?? []).filter((entry) => !isWriteScopeEntry(entry));
185
+ return sourceScopes.filter((scope) => !scopeCoveredByGrant(scope, readEntries));
186
+ }
187
+ //# sourceMappingURL=registration.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"registration.js","sourceRoot":"","sources":["../../src/derivatives/registration.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,114 @@
1
+ /**
2
+ * Recompute scheduler: marks registrations stale when one of their source
3
+ * scopes changes and runs the compute when someone actually asks for the
4
+ * answer, one in flight per question. Timers and the clock are injectable
5
+ * so tests drive it deterministically.
6
+ *
7
+ * Compute is just-in-time, not preemptive. A source refresh only marks the
8
+ * answer stale; the recompute happens on the next authorized demand (a read
9
+ * of the derived scope, the reader-facing status route, or an explicit
10
+ * `POST /questions/:id/recompute`). Otherwise the inference bill would
11
+ * scale with how often the owner's sources refresh rather than with how
12
+ * often anyone reads the answer.
13
+ */
14
+ import type { ComputeOutcome } from "./compute.js";
15
+ import type { QuestionStore } from "./types.js";
16
+ export interface SchedulerTimers {
17
+ setTimeout(callback: () => void, ms: number): unknown;
18
+ clearTimeout(handle: unknown): void;
19
+ }
20
+ export interface RecomputeSchedulerOptions {
21
+ store: QuestionStore;
22
+ /**
23
+ * Runs one compute; must not throw for compute failures. The outcome is
24
+ * what the retry logic classifies — a wrapper that swallows it (returns
25
+ * void) silently disables automatic retries, so forward it.
26
+ */
27
+ compute(questionId: string): Promise<ComputeOutcome | void>;
28
+ /**
29
+ * Quiet period before a recompute that was requested without `immediate`
30
+ * (default 5s). A source change schedules nothing at all, and demand runs
31
+ * at once, so nothing on the default deployment waits on this.
32
+ */
33
+ debounceMs?: number;
34
+ /**
35
+ * Backoff steps for automatic retry of a compute that failed with the
36
+ * transient class (`errorCode: "inference_unavailable"`). Default
37
+ * 1m, 5m, 30m; empty disables retry. Non-transient failures never
38
+ * retry — they wait for a source change or an explicit recompute.
39
+ */
40
+ retryDelaysMs?: readonly number[];
41
+ /**
42
+ * Lets `markSourceChanged` recognise a new version that was computed FROM
43
+ * a question's own derived scope (its `$lineage` names the derived data
44
+ * point id) and skip that question: a cross-replica cycle then settles
45
+ * instead of ping-ponging through sync. Without it every change counts.
46
+ */
47
+ serverOwner?: `0x${string}`;
48
+ timers?: SchedulerTimers;
49
+ now?: () => Date;
50
+ logger?: {
51
+ warn?(payload: Record<string, unknown>, message: string): void;
52
+ };
53
+ }
54
+ export interface RecomputeScheduler {
55
+ /**
56
+ * A scope got a new local version (ingest or sync). Every registration
57
+ * that lists it as a source is marked `stale` (if it had a result) and
58
+ * NOTHING is scheduled: the recompute waits for demand. Fire and forget;
59
+ * failures are logged.
60
+ */
61
+ markSourceChanged(scope: string, options?: {
62
+ /** `$lineage.sources` of the new version, when it is a derivative. */
63
+ lineageSources?: readonly string[];
64
+ }): void;
65
+ /**
66
+ * An authorized caller asked for the answer behind `derivedScope` — a read
67
+ * of the derived data, or the reader-facing status route. Every
68
+ * `on-change` question on that scope that is waiting for a compute
69
+ * (`stale` or `pending`) runs now; one already running or already
70
+ * scheduled is left alone, so N concurrent readers cause one compute.
71
+ *
72
+ * Callers MUST authorize first: this spends an inference call, and the
73
+ * whole point of running on demand is that the bill follows real reads.
74
+ * A `failed` question is not woken (its backoff chain or an explicit
75
+ * recompute owns it) so that polling a permanently failing question
76
+ * cannot spend a call per poll. Fire and forget; failures are logged.
77
+ */
78
+ markDemand(derivedScope: string): void;
79
+ /** Schedule one question; `immediate` skips the debounce (owner recompute). */
80
+ requestRecompute(questionId: string, options?: {
81
+ immediate?: boolean;
82
+ }): void;
83
+ /**
84
+ * Next scheduled automatic retry for a failed question (ISO time), or
85
+ * null when none is pending. In-memory, like the rest of the scheduler:
86
+ * a restart drops the chain and the question waits for a source change
87
+ * or an explicit recompute.
88
+ */
89
+ nextRetryAt(questionId: string): string | null;
90
+ /**
91
+ * True while a retry compute is actually RUNNING (its timer fired, the
92
+ * compute has not settled). `nextRetryAt` is null in that window; without
93
+ * this signal a status reader would see the terminal
94
+ * failed-with-no-retry signature during every in-flight retry.
95
+ */
96
+ retryInFlight(questionId: string): boolean;
97
+ /** Resolves once no compute or store lookup is pending or timed. */
98
+ whenIdle(): Promise<void>;
99
+ /** Cancel pending timers. In-flight computes finish on their own. */
100
+ stop(): void;
101
+ /**
102
+ * Schedule every question left `pending` (immediately). The first call is
103
+ * the boot reschedule: a question that has never produced an answer is
104
+ * owed the compute its registration asked for, and a restarted process
105
+ * only holds what the store holds. A `stale` question is NOT swept — it
106
+ * has an answer to serve and waits for demand, otherwise every restart
107
+ * (and in PS-Lite every tab that opens) would pay for the recomputes this
108
+ * scheduler exists to defer. Later calls resume after `stop()`;
109
+ * idempotent while running.
110
+ */
111
+ start(): void;
112
+ }
113
+ export declare function createRecomputeScheduler(options: RecomputeSchedulerOptions): RecomputeScheduler;
114
+ //# sourceMappingURL=scheduler.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scheduler.d.ts","sourceRoot":"","sources":["../../src/derivatives/scheduler.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAGH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AACnD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAEhD,MAAM,WAAW,eAAe;IAC9B,UAAU,CAAC,QAAQ,EAAE,MAAM,IAAI,EAAE,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC;IACtD,YAAY,CAAC,MAAM,EAAE,OAAO,GAAG,IAAI,CAAC;CACrC;AAED,MAAM,WAAW,yBAAyB;IACxC,KAAK,EAAE,aAAa,CAAC;IACrB;;;;OAIG;IACH,OAAO,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC,CAAC;IAC5D;;;;OAIG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB;;;;;OAKG;IACH,aAAa,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAClC;;;;;OAKG;IACH,WAAW,CAAC,EAAE,KAAK,MAAM,EAAE,CAAC;IAC5B,MAAM,CAAC,EAAE,eAAe,CAAC;IACzB,GAAG,CAAC,EAAE,MAAM,IAAI,CAAC;IACjB,MAAM,CAAC,EAAE;QACP,IAAI,CAAC,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;KAChE,CAAC;CACH;AAED,MAAM,WAAW,kBAAkB;IACjC;;;;;OAKG;IACH,iBAAiB,CACf,KAAK,EAAE,MAAM,EACb,OAAO,CAAC,EAAE;QACR,sEAAsE;QACtE,cAAc,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;KACpC,GACA,IAAI,CAAC;IACR;;;;;;;;;;;;OAYG;IACH,UAAU,CAAC,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IACvC,+EAA+E;IAC/E,gBAAgB,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE;QAAE,SAAS,CAAC,EAAE,OAAO,CAAA;KAAE,GAAG,IAAI,CAAC;IAC9E;;;;;OAKG;IACH,WAAW,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC;IAC/C;;;;;OAKG;IACH,aAAa,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC;IAC3C,oEAAoE;IACpE,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAC1B,qEAAqE;IACrE,IAAI,IAAI,IAAI,CAAC;IACb;;;;;;;;;OASG;IACH,KAAK,IAAI,IAAI,CAAC;CACf;AA0DD,wBAAgB,wBAAwB,CACtC,OAAO,EAAE,yBAAyB,GACjC,kBAAkB,CA8UpB"}