@ixo/decision-oracle 0.0.0-stage → 0.2.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 (1118) hide show
  1. package/LICENSE +201 -0
  2. package/README.md +794 -2
  3. package/dist/act.d.ts +87 -0
  4. package/dist/act.d.ts.map +1 -0
  5. package/dist/act.js +20 -0
  6. package/dist/act.js.map +1 -0
  7. package/dist/app.d.ts +22 -0
  8. package/dist/app.d.ts.map +1 -0
  9. package/dist/app.js +128 -0
  10. package/dist/app.js.map +1 -0
  11. package/dist/c2pa.wasm +0 -0
  12. package/dist/cli/commands/api.d.ts +50 -0
  13. package/dist/cli/commands/api.d.ts.map +1 -0
  14. package/dist/cli/commands/api.js +737 -0
  15. package/dist/cli/commands/api.js.map +1 -0
  16. package/dist/cli/commands/create-collection.d.ts +40 -0
  17. package/dist/cli/commands/create-collection.d.ts.map +1 -0
  18. package/dist/cli/commands/create-collection.js +318 -0
  19. package/dist/cli/commands/create-collection.js.map +1 -0
  20. package/dist/cli/commands/create-deed.d.ts +31 -0
  21. package/dist/cli/commands/create-deed.d.ts.map +1 -0
  22. package/dist/cli/commands/create-deed.js +208 -0
  23. package/dist/cli/commands/create-deed.js.map +1 -0
  24. package/dist/cli/commands/delegation.d.ts +26 -0
  25. package/dist/cli/commands/delegation.d.ts.map +1 -0
  26. package/dist/cli/commands/delegation.js +162 -0
  27. package/dist/cli/commands/delegation.js.map +1 -0
  28. package/dist/cli/commands/derive.d.ts +22 -0
  29. package/dist/cli/commands/derive.d.ts.map +1 -0
  30. package/dist/cli/commands/derive.js +53 -0
  31. package/dist/cli/commands/derive.js.map +1 -0
  32. package/dist/cli/commands/engine.d.ts +25 -0
  33. package/dist/cli/commands/engine.d.ts.map +1 -0
  34. package/dist/cli/commands/engine.js +107 -0
  35. package/dist/cli/commands/engine.js.map +1 -0
  36. package/dist/cli/commands/erase.d.ts +17 -0
  37. package/dist/cli/commands/erase.d.ts.map +1 -0
  38. package/dist/cli/commands/erase.js +117 -0
  39. package/dist/cli/commands/erase.js.map +1 -0
  40. package/dist/cli/commands/facts-run.d.ts +30 -0
  41. package/dist/cli/commands/facts-run.d.ts.map +1 -0
  42. package/dist/cli/commands/facts-run.js +409 -0
  43. package/dist/cli/commands/facts-run.js.map +1 -0
  44. package/dist/cli/commands/facts-scaffold.d.ts +22 -0
  45. package/dist/cli/commands/facts-scaffold.d.ts.map +1 -0
  46. package/dist/cli/commands/facts-scaffold.js +208 -0
  47. package/dist/cli/commands/facts-scaffold.js.map +1 -0
  48. package/dist/cli/commands/init.d.ts +18 -0
  49. package/dist/cli/commands/init.d.ts.map +1 -0
  50. package/dist/cli/commands/init.js +34 -0
  51. package/dist/cli/commands/init.js.map +1 -0
  52. package/dist/cli/commands/login.d.ts +9 -0
  53. package/dist/cli/commands/login.d.ts.map +1 -0
  54. package/dist/cli/commands/login.js +16 -0
  55. package/dist/cli/commands/login.js.map +1 -0
  56. package/dist/cli/commands/logout.d.ts +10 -0
  57. package/dist/cli/commands/logout.d.ts.map +1 -0
  58. package/dist/cli/commands/logout.js +28 -0
  59. package/dist/cli/commands/logout.js.map +1 -0
  60. package/dist/cli/commands/manifest.d.ts +12 -0
  61. package/dist/cli/commands/manifest.d.ts.map +1 -0
  62. package/dist/cli/commands/manifest.js +48 -0
  63. package/dist/cli/commands/manifest.js.map +1 -0
  64. package/dist/cli/commands/oracle-init.d.ts +48 -0
  65. package/dist/cli/commands/oracle-init.d.ts.map +1 -0
  66. package/dist/cli/commands/oracle-init.js +1122 -0
  67. package/dist/cli/commands/oracle-init.js.map +1 -0
  68. package/dist/cli/commands/org.d.ts +28 -0
  69. package/dist/cli/commands/org.d.ts.map +1 -0
  70. package/dist/cli/commands/org.js +309 -0
  71. package/dist/cli/commands/org.js.map +1 -0
  72. package/dist/cli/commands/protocol-review.d.ts +20 -0
  73. package/dist/cli/commands/protocol-review.d.ts.map +1 -0
  74. package/dist/cli/commands/protocol-review.js +162 -0
  75. package/dist/cli/commands/protocol-review.js.map +1 -0
  76. package/dist/cli/commands/publish-protocol.d.ts +43 -0
  77. package/dist/cli/commands/publish-protocol.d.ts.map +1 -0
  78. package/dist/cli/commands/publish-protocol.js +345 -0
  79. package/dist/cli/commands/publish-protocol.js.map +1 -0
  80. package/dist/cli/commands/register.d.ts +16 -0
  81. package/dist/cli/commands/register.d.ts.map +1 -0
  82. package/dist/cli/commands/register.js +54 -0
  83. package/dist/cli/commands/register.js.map +1 -0
  84. package/dist/cli/commands/relink.d.ts +11 -0
  85. package/dist/cli/commands/relink.d.ts.map +1 -0
  86. package/dist/cli/commands/relink.js +36 -0
  87. package/dist/cli/commands/relink.js.map +1 -0
  88. package/dist/cli/commands/rubric-fetch-form.d.ts +16 -0
  89. package/dist/cli/commands/rubric-fetch-form.d.ts.map +1 -0
  90. package/dist/cli/commands/rubric-fetch-form.js +83 -0
  91. package/dist/cli/commands/rubric-fetch-form.js.map +1 -0
  92. package/dist/cli/commands/rubric-validate.d.ts +72 -0
  93. package/dist/cli/commands/rubric-validate.d.ts.map +1 -0
  94. package/dist/cli/commands/rubric-validate.js +163 -0
  95. package/dist/cli/commands/rubric-validate.js.map +1 -0
  96. package/dist/cli/commands/scan.d.ts +13 -0
  97. package/dist/cli/commands/scan.d.ts.map +1 -0
  98. package/dist/cli/commands/scan.js +39 -0
  99. package/dist/cli/commands/scan.js.map +1 -0
  100. package/dist/cli/commands/skills.d.ts +11 -0
  101. package/dist/cli/commands/skills.d.ts.map +1 -0
  102. package/dist/cli/commands/skills.js +19 -0
  103. package/dist/cli/commands/skills.js.map +1 -0
  104. package/dist/cli/commands/submit-claim.d.ts +25 -0
  105. package/dist/cli/commands/submit-claim.d.ts.map +1 -0
  106. package/dist/cli/commands/submit-claim.js +155 -0
  107. package/dist/cli/commands/submit-claim.js.map +1 -0
  108. package/dist/cli/index.d.ts +15 -0
  109. package/dist/cli/index.d.ts.map +1 -0
  110. package/dist/cli/index.js +206 -0
  111. package/dist/cli/index.js.map +1 -0
  112. package/dist/cli/lib/agent-card-schema.d.ts +8 -0
  113. package/dist/cli/lib/agent-card-schema.d.ts.map +1 -0
  114. package/dist/cli/lib/agent-card-schema.js +169 -0
  115. package/dist/cli/lib/agent-card-schema.js.map +1 -0
  116. package/dist/cli/lib/ai-rest.d.ts +12 -0
  117. package/dist/cli/lib/ai-rest.d.ts.map +1 -0
  118. package/dist/cli/lib/ai-rest.js +36 -0
  119. package/dist/cli/lib/ai-rest.js.map +1 -0
  120. package/dist/cli/lib/args.d.ts +33 -0
  121. package/dist/cli/lib/args.d.ts.map +1 -0
  122. package/dist/cli/lib/args.js +24 -0
  123. package/dist/cli/lib/args.js.map +1 -0
  124. package/dist/cli/lib/authhub.d.ts +7 -0
  125. package/dist/cli/lib/authhub.d.ts.map +1 -0
  126. package/dist/cli/lib/authhub.js +210 -0
  127. package/dist/cli/lib/authhub.js.map +1 -0
  128. package/dist/cli/lib/chain.d.ts +264 -0
  129. package/dist/cli/lib/chain.d.ts.map +1 -0
  130. package/dist/cli/lib/chain.js +584 -0
  131. package/dist/cli/lib/chain.js.map +1 -0
  132. package/dist/cli/lib/devvars.d.ts +59 -0
  133. package/dist/cli/lib/devvars.d.ts.map +1 -0
  134. package/dist/cli/lib/devvars.js +206 -0
  135. package/dist/cli/lib/devvars.js.map +1 -0
  136. package/dist/cli/lib/engine.d.ts +54 -0
  137. package/dist/cli/lib/engine.d.ts.map +1 -0
  138. package/dist/cli/lib/engine.js +112 -0
  139. package/dist/cli/lib/engine.js.map +1 -0
  140. package/dist/cli/lib/identity-cards.d.ts +188 -0
  141. package/dist/cli/lib/identity-cards.d.ts.map +1 -0
  142. package/dist/cli/lib/identity-cards.js +261 -0
  143. package/dist/cli/lib/identity-cards.js.map +1 -0
  144. package/dist/cli/lib/matrix-account.d.ts +79 -0
  145. package/dist/cli/lib/matrix-account.d.ts.map +1 -0
  146. package/dist/cli/lib/matrix-account.js +228 -0
  147. package/dist/cli/lib/matrix-account.js.map +1 -0
  148. package/dist/cli/lib/oracle-account.d.ts +108 -0
  149. package/dist/cli/lib/oracle-account.d.ts.map +1 -0
  150. package/dist/cli/lib/oracle-account.js +207 -0
  151. package/dist/cli/lib/oracle-account.js.map +1 -0
  152. package/dist/cli/lib/project.d.ts +22 -0
  153. package/dist/cli/lib/project.d.ts.map +1 -0
  154. package/dist/cli/lib/project.js +62 -0
  155. package/dist/cli/lib/project.js.map +1 -0
  156. package/dist/cli/lib/session.d.ts +109 -0
  157. package/dist/cli/lib/session.d.ts.map +1 -0
  158. package/dist/cli/lib/session.js +354 -0
  159. package/dist/cli/lib/session.js.map +1 -0
  160. package/dist/cli/lib/workorder.d.ts +57 -0
  161. package/dist/cli/lib/workorder.d.ts.map +1 -0
  162. package/dist/cli/lib/workorder.js +101 -0
  163. package/dist/cli/lib/workorder.js.map +1 -0
  164. package/dist/config.d.ts +221 -0
  165. package/dist/config.d.ts.map +1 -0
  166. package/dist/config.js +431 -0
  167. package/dist/config.js.map +1 -0
  168. package/dist/context.d.ts +88 -0
  169. package/dist/context.d.ts.map +1 -0
  170. package/dist/context.js +9 -0
  171. package/dist/context.js.map +1 -0
  172. package/dist/contracts/api.d.ts +3367 -0
  173. package/dist/contracts/api.d.ts.map +1 -0
  174. package/dist/contracts/api.js +1303 -0
  175. package/dist/contracts/api.js.map +1 -0
  176. package/dist/contracts/capabilities.d.ts +126 -0
  177. package/dist/contracts/capabilities.d.ts.map +1 -0
  178. package/dist/contracts/capabilities.js +164 -0
  179. package/dist/contracts/capabilities.js.map +1 -0
  180. package/dist/contracts/claim-source.d.ts +98 -0
  181. package/dist/contracts/claim-source.d.ts.map +1 -0
  182. package/dist/contracts/claim-source.js +17 -0
  183. package/dist/contracts/claim-source.js.map +1 -0
  184. package/dist/contracts/errors.d.ts +150 -0
  185. package/dist/contracts/errors.d.ts.map +1 -0
  186. package/dist/contracts/errors.js +121 -0
  187. package/dist/contracts/errors.js.map +1 -0
  188. package/dist/contracts/index.d.ts +15 -0
  189. package/dist/contracts/index.d.ts.map +1 -0
  190. package/dist/contracts/index.js +11 -0
  191. package/dist/contracts/index.js.map +1 -0
  192. package/dist/contracts/payment-gate.d.ts +129 -0
  193. package/dist/contracts/payment-gate.d.ts.map +1 -0
  194. package/dist/contracts/payment-gate.js +24 -0
  195. package/dist/contracts/payment-gate.js.map +1 -0
  196. package/dist/contracts/start-api-claim.d.ts +90 -0
  197. package/dist/contracts/start-api-claim.d.ts.map +1 -0
  198. package/dist/contracts/start-api-claim.js +22 -0
  199. package/dist/contracts/start-api-claim.js.map +1 -0
  200. package/dist/contracts/webhooks.d.ts +1487 -0
  201. package/dist/contracts/webhooks.d.ts.map +1 -0
  202. package/dist/contracts/webhooks.js +71 -0
  203. package/dist/contracts/webhooks.js.map +1 -0
  204. package/dist/contracts/work-order.d.ts +29 -0
  205. package/dist/contracts/work-order.d.ts.map +1 -0
  206. package/dist/contracts/work-order.js +12 -0
  207. package/dist/contracts/work-order.js.map +1 -0
  208. package/dist/cron/ai-cost.d.ts +29 -0
  209. package/dist/cron/ai-cost.d.ts.map +1 -0
  210. package/dist/cron/ai-cost.js +80 -0
  211. package/dist/cron/ai-cost.js.map +1 -0
  212. package/dist/cron/api-lane.d.ts +39 -0
  213. package/dist/cron/api-lane.d.ts.map +1 -0
  214. package/dist/cron/api-lane.js +203 -0
  215. package/dist/cron/api-lane.js.map +1 -0
  216. package/dist/cron/backlog.d.ts +50 -0
  217. package/dist/cron/backlog.d.ts.map +1 -0
  218. package/dist/cron/backlog.js +115 -0
  219. package/dist/cron/backlog.js.map +1 -0
  220. package/dist/cron/billing.d.ts +11 -0
  221. package/dist/cron/billing.d.ts.map +1 -0
  222. package/dist/cron/billing.js +69 -0
  223. package/dist/cron/billing.js.map +1 -0
  224. package/dist/cron/collection.d.ts +50 -0
  225. package/dist/cron/collection.d.ts.map +1 -0
  226. package/dist/cron/collection.js +118 -0
  227. package/dist/cron/collection.js.map +1 -0
  228. package/dist/cron/funding.d.ts +16 -0
  229. package/dist/cron/funding.d.ts.map +1 -0
  230. package/dist/cron/funding.js +262 -0
  231. package/dist/cron/funding.js.map +1 -0
  232. package/dist/cron/payer-billing.d.ts +38 -0
  233. package/dist/cron/payer-billing.d.ts.map +1 -0
  234. package/dist/cron/payer-billing.js +119 -0
  235. package/dist/cron/payer-billing.js.map +1 -0
  236. package/dist/cron/scan.d.ts +43 -0
  237. package/dist/cron/scan.d.ts.map +1 -0
  238. package/dist/cron/scan.js +250 -0
  239. package/dist/cron/scan.js.map +1 -0
  240. package/dist/db/client.d.ts +14 -0
  241. package/dist/db/client.d.ts.map +1 -0
  242. package/dist/db/client.js +14 -0
  243. package/dist/db/client.js.map +1 -0
  244. package/dist/db/index.d.ts +7 -0
  245. package/dist/db/index.d.ts.map +1 -0
  246. package/dist/db/index.js +7 -0
  247. package/dist/db/index.js.map +1 -0
  248. package/dist/db/schema.d.ts +6738 -0
  249. package/dist/db/schema.d.ts.map +1 -0
  250. package/dist/db/schema.js +1433 -0
  251. package/dist/db/schema.js.map +1 -0
  252. package/dist/define-oracle.d.ts +32 -0
  253. package/dist/define-oracle.d.ts.map +1 -0
  254. package/dist/define-oracle.js +80 -0
  255. package/dist/define-oracle.js.map +1 -0
  256. package/dist/dev-oracle.d.ts +9 -0
  257. package/dist/dev-oracle.d.ts.map +1 -0
  258. package/dist/dev-oracle.js +19 -0
  259. package/dist/dev-oracle.js.map +1 -0
  260. package/dist/dev-worker.d.ts +10 -0
  261. package/dist/dev-worker.d.ts.map +1 -0
  262. package/dist/dev-worker.js +12 -0
  263. package/dist/dev-worker.js.map +1 -0
  264. package/dist/env.d.ts +146 -0
  265. package/dist/env.d.ts.map +1 -0
  266. package/dist/env.js +10 -0
  267. package/dist/env.js.map +1 -0
  268. package/dist/facts/exif.d.ts +43 -0
  269. package/dist/facts/exif.d.ts.map +1 -0
  270. package/dist/facts/exif.js +224 -0
  271. package/dist/facts/exif.js.map +1 -0
  272. package/dist/facts/fact.d.ts +62 -0
  273. package/dist/facts/fact.d.ts.map +1 -0
  274. package/dist/facts/fact.js +105 -0
  275. package/dist/facts/fact.js.map +1 -0
  276. package/dist/facts/geo.d.ts +55 -0
  277. package/dist/facts/geo.d.ts.map +1 -0
  278. package/dist/facts/geo.js +267 -0
  279. package/dist/facts/geo.js.map +1 -0
  280. package/dist/facts/index.d.ts +31 -0
  281. package/dist/facts/index.d.ts.map +1 -0
  282. package/dist/facts/index.js +27 -0
  283. package/dist/facts/index.js.map +1 -0
  284. package/dist/facts/linked-doc.d.ts +60 -0
  285. package/dist/facts/linked-doc.d.ts.map +1 -0
  286. package/dist/facts/linked-doc.js +101 -0
  287. package/dist/facts/linked-doc.js.map +1 -0
  288. package/dist/facts/types.d.ts +278 -0
  289. package/dist/facts/types.d.ts.map +1 -0
  290. package/dist/facts/types.js +19 -0
  291. package/dist/facts/types.js.map +1 -0
  292. package/dist/index.d.ts +25 -0
  293. package/dist/index.d.ts.map +1 -0
  294. package/dist/index.js +19 -0
  295. package/dist/index.js.map +1 -0
  296. package/dist/lib/api-lane/accept.d.ts +29 -0
  297. package/dist/lib/api-lane/accept.d.ts.map +1 -0
  298. package/dist/lib/api-lane/accept.js +218 -0
  299. package/dist/lib/api-lane/accept.js.map +1 -0
  300. package/dist/lib/api-lane/claim-list.d.ts +44 -0
  301. package/dist/lib/api-lane/claim-list.d.ts.map +1 -0
  302. package/dist/lib/api-lane/claim-list.js +92 -0
  303. package/dist/lib/api-lane/claim-list.js.map +1 -0
  304. package/dist/lib/api-lane/company.d.ts +56 -0
  305. package/dist/lib/api-lane/company.d.ts.map +1 -0
  306. package/dist/lib/api-lane/company.js +103 -0
  307. package/dist/lib/api-lane/company.js.map +1 -0
  308. package/dist/lib/api-lane/events.d.ts +21 -0
  309. package/dist/lib/api-lane/events.d.ts.map +1 -0
  310. package/dist/lib/api-lane/events.js +111 -0
  311. package/dist/lib/api-lane/events.js.map +1 -0
  312. package/dist/lib/api-lane/ids.d.ts +39 -0
  313. package/dist/lib/api-lane/ids.d.ts.map +1 -0
  314. package/dist/lib/api-lane/ids.js +78 -0
  315. package/dist/lib/api-lane/ids.js.map +1 -0
  316. package/dist/lib/api-lane/index.d.ts +16 -0
  317. package/dist/lib/api-lane/index.d.ts.map +1 -0
  318. package/dist/lib/api-lane/index.js +16 -0
  319. package/dist/lib/api-lane/index.js.map +1 -0
  320. package/dist/lib/api-lane/linked.d.ts +264 -0
  321. package/dist/lib/api-lane/linked.d.ts.map +1 -0
  322. package/dist/lib/api-lane/linked.js +272 -0
  323. package/dist/lib/api-lane/linked.js.map +1 -0
  324. package/dist/lib/api-lane/media-type.d.ts +15 -0
  325. package/dist/lib/api-lane/media-type.d.ts.map +1 -0
  326. package/dist/lib/api-lane/media-type.js +73 -0
  327. package/dist/lib/api-lane/media-type.js.map +1 -0
  328. package/dist/lib/api-lane/member-emails.d.ts +83 -0
  329. package/dist/lib/api-lane/member-emails.d.ts.map +1 -0
  330. package/dist/lib/api-lane/member-emails.js +213 -0
  331. package/dist/lib/api-lane/member-emails.js.map +1 -0
  332. package/dist/lib/api-lane/members.d.ts +42 -0
  333. package/dist/lib/api-lane/members.d.ts.map +1 -0
  334. package/dist/lib/api-lane/members.js +75 -0
  335. package/dist/lib/api-lane/members.js.map +1 -0
  336. package/dist/lib/api-lane/notify.d.ts +47 -0
  337. package/dist/lib/api-lane/notify.d.ts.map +1 -0
  338. package/dist/lib/api-lane/notify.js +240 -0
  339. package/dist/lib/api-lane/notify.js.map +1 -0
  340. package/dist/lib/api-lane/pause.d.ts +41 -0
  341. package/dist/lib/api-lane/pause.d.ts.map +1 -0
  342. package/dist/lib/api-lane/pause.js +155 -0
  343. package/dist/lib/api-lane/pause.js.map +1 -0
  344. package/dist/lib/api-lane/record.d.ts +76 -0
  345. package/dist/lib/api-lane/record.d.ts.map +1 -0
  346. package/dist/lib/api-lane/record.js +337 -0
  347. package/dist/lib/api-lane/record.js.map +1 -0
  348. package/dist/lib/api-lane/retention.d.ts +43 -0
  349. package/dist/lib/api-lane/retention.d.ts.map +1 -0
  350. package/dist/lib/api-lane/retention.js +176 -0
  351. package/dist/lib/api-lane/retention.js.map +1 -0
  352. package/dist/lib/api-lane/review.d.ts +76 -0
  353. package/dist/lib/api-lane/review.d.ts.map +1 -0
  354. package/dist/lib/api-lane/review.js +355 -0
  355. package/dist/lib/api-lane/review.js.map +1 -0
  356. package/dist/lib/api-lane/reviewers.d.ts +109 -0
  357. package/dist/lib/api-lane/reviewers.d.ts.map +1 -0
  358. package/dist/lib/api-lane/reviewers.js +755 -0
  359. package/dist/lib/api-lane/reviewers.js.map +1 -0
  360. package/dist/lib/api-lane/source-delete.d.ts +16 -0
  361. package/dist/lib/api-lane/source-delete.d.ts.map +1 -0
  362. package/dist/lib/api-lane/source-delete.js +50 -0
  363. package/dist/lib/api-lane/source-delete.js.map +1 -0
  364. package/dist/lib/api-lane/source.d.ts +19 -0
  365. package/dist/lib/api-lane/source.d.ts.map +1 -0
  366. package/dist/lib/api-lane/source.js +226 -0
  367. package/dist/lib/api-lane/source.js.map +1 -0
  368. package/dist/lib/api-lane/submitter.d.ts +22 -0
  369. package/dist/lib/api-lane/submitter.d.ts.map +1 -0
  370. package/dist/lib/api-lane/submitter.js +34 -0
  371. package/dist/lib/api-lane/submitter.js.map +1 -0
  372. package/dist/lib/api-lane/timeline.d.ts +20 -0
  373. package/dist/lib/api-lane/timeline.d.ts.map +1 -0
  374. package/dist/lib/api-lane/timeline.js +23 -0
  375. package/dist/lib/api-lane/timeline.js.map +1 -0
  376. package/dist/lib/api-lane/webhook-crypto.d.ts +44 -0
  377. package/dist/lib/api-lane/webhook-crypto.d.ts.map +1 -0
  378. package/dist/lib/api-lane/webhook-crypto.js +103 -0
  379. package/dist/lib/api-lane/webhook-crypto.js.map +1 -0
  380. package/dist/lib/api-lane/webhooks.d.ts +117 -0
  381. package/dist/lib/api-lane/webhooks.d.ts.map +1 -0
  382. package/dist/lib/api-lane/webhooks.js +503 -0
  383. package/dist/lib/api-lane/webhooks.js.map +1 -0
  384. package/dist/lib/archive.d.ts +64 -0
  385. package/dist/lib/archive.d.ts.map +1 -0
  386. package/dist/lib/archive.js +305 -0
  387. package/dist/lib/archive.js.map +1 -0
  388. package/dist/lib/bech32.d.ts +8 -0
  389. package/dist/lib/bech32.d.ts.map +1 -0
  390. package/dist/lib/bech32.js +39 -0
  391. package/dist/lib/bech32.js.map +1 -0
  392. package/dist/lib/claim-erase.d.ts +22 -0
  393. package/dist/lib/claim-erase.d.ts.map +1 -0
  394. package/dist/lib/claim-erase.js +44 -0
  395. package/dist/lib/claim-erase.js.map +1 -0
  396. package/dist/lib/cursor.d.ts +11 -0
  397. package/dist/lib/cursor.d.ts.map +1 -0
  398. package/dist/lib/cursor.js +20 -0
  399. package/dist/lib/cursor.js.map +1 -0
  400. package/dist/lib/email/send.d.ts +43 -0
  401. package/dist/lib/email/send.d.ts.map +1 -0
  402. package/dist/lib/email/send.js +71 -0
  403. package/dist/lib/email/send.js.map +1 -0
  404. package/dist/lib/email/template.d.ts +217 -0
  405. package/dist/lib/email/template.d.ts.map +1 -0
  406. package/dist/lib/email/template.js +713 -0
  407. package/dist/lib/email/template.js.map +1 -0
  408. package/dist/lib/engine/adr36.d.ts +56 -0
  409. package/dist/lib/engine/adr36.d.ts.map +1 -0
  410. package/dist/lib/engine/adr36.js +76 -0
  411. package/dist/lib/engine/adr36.js.map +1 -0
  412. package/dist/lib/engine/client.d.ts +162 -0
  413. package/dist/lib/engine/client.d.ts.map +1 -0
  414. package/dist/lib/engine/client.js +473 -0
  415. package/dist/lib/engine/client.js.map +1 -0
  416. package/dist/lib/engine/types.d.ts +1356 -0
  417. package/dist/lib/engine/types.d.ts.map +1 -0
  418. package/dist/lib/engine/types.js +562 -0
  419. package/dist/lib/engine/types.js.map +1 -0
  420. package/dist/lib/errors.d.ts +73 -0
  421. package/dist/lib/errors.d.ts.map +1 -0
  422. package/dist/lib/errors.js +96 -0
  423. package/dist/lib/errors.js.map +1 -0
  424. package/dist/lib/facts/builder.d.ts +88 -0
  425. package/dist/lib/facts/builder.d.ts.map +1 -0
  426. package/dist/lib/facts/builder.js +239 -0
  427. package/dist/lib/facts/builder.js.map +1 -0
  428. package/dist/lib/facts/ctx.d.ts +34 -0
  429. package/dist/lib/facts/ctx.d.ts.map +1 -0
  430. package/dist/lib/facts/ctx.js +51 -0
  431. package/dist/lib/facts/ctx.js.map +1 -0
  432. package/dist/lib/facts/expected.d.ts +23 -0
  433. package/dist/lib/facts/expected.d.ts.map +1 -0
  434. package/dist/lib/facts/expected.js +16 -0
  435. package/dist/lib/facts/expected.js.map +1 -0
  436. package/dist/lib/facts/fact-cache.d.ts +469 -0
  437. package/dist/lib/facts/fact-cache.d.ts.map +1 -0
  438. package/dist/lib/facts/fact-cache.js +52 -0
  439. package/dist/lib/facts/fact-cache.js.map +1 -0
  440. package/dist/lib/facts/factset.d.ts +608 -0
  441. package/dist/lib/facts/factset.d.ts.map +1 -0
  442. package/dist/lib/facts/factset.js +226 -0
  443. package/dist/lib/facts/factset.js.map +1 -0
  444. package/dist/lib/facts/producer.d.ts +190 -0
  445. package/dist/lib/facts/producer.d.ts.map +1 -0
  446. package/dist/lib/facts/producer.js +15 -0
  447. package/dist/lib/facts/producer.js.map +1 -0
  448. package/dist/lib/facts/runner.d.ts +111 -0
  449. package/dist/lib/facts/runner.d.ts.map +1 -0
  450. package/dist/lib/facts/runner.js +438 -0
  451. package/dist/lib/facts/runner.js.map +1 -0
  452. package/dist/lib/facts/stock/ai-check.d.ts +100 -0
  453. package/dist/lib/facts/stock/ai-check.d.ts.map +1 -0
  454. package/dist/lib/facts/stock/ai-check.js +526 -0
  455. package/dist/lib/facts/stock/ai-check.js.map +1 -0
  456. package/dist/lib/facts/stock/ai-inputs.d.ts +104 -0
  457. package/dist/lib/facts/stock/ai-inputs.d.ts.map +1 -0
  458. package/dist/lib/facts/stock/ai-inputs.js +332 -0
  459. package/dist/lib/facts/stock/ai-inputs.js.map +1 -0
  460. package/dist/lib/facts/stock/ai-provider.d.ts +105 -0
  461. package/dist/lib/facts/stock/ai-provider.d.ts.map +1 -0
  462. package/dist/lib/facts/stock/ai-provider.js +250 -0
  463. package/dist/lib/facts/stock/ai-provider.js.map +1 -0
  464. package/dist/lib/facts/stock/ai-unique.d.ts +85 -0
  465. package/dist/lib/facts/stock/ai-unique.d.ts.map +1 -0
  466. package/dist/lib/facts/stock/ai-unique.js +208 -0
  467. package/dist/lib/facts/stock/ai-unique.js.map +1 -0
  468. package/dist/lib/facts/stock/archive.d.ts +63 -0
  469. package/dist/lib/facts/stock/archive.d.ts.map +1 -0
  470. package/dist/lib/facts/stock/archive.js +349 -0
  471. package/dist/lib/facts/stock/archive.js.map +1 -0
  472. package/dist/lib/facts/stock/c2pa-trust-list.d.ts +16 -0
  473. package/dist/lib/facts/stock/c2pa-trust-list.d.ts.map +1 -0
  474. package/dist/lib/facts/stock/c2pa-trust-list.js +637 -0
  475. package/dist/lib/facts/stock/c2pa-trust-list.js.map +1 -0
  476. package/dist/lib/facts/stock/c2pa.d.ts +56 -0
  477. package/dist/lib/facts/stock/c2pa.d.ts.map +1 -0
  478. package/dist/lib/facts/stock/c2pa.js +234 -0
  479. package/dist/lib/facts/stock/c2pa.js.map +1 -0
  480. package/dist/lib/facts/stock/call.d.ts +91 -0
  481. package/dist/lib/facts/stock/call.d.ts.map +1 -0
  482. package/dist/lib/facts/stock/call.js +281 -0
  483. package/dist/lib/facts/stock/call.js.map +1 -0
  484. package/dist/lib/facts/stock/capability.d.ts +39 -0
  485. package/dist/lib/facts/stock/capability.d.ts.map +1 -0
  486. package/dist/lib/facts/stock/capability.js +59 -0
  487. package/dist/lib/facts/stock/capability.js.map +1 -0
  488. package/dist/lib/facts/stock/ext-source.d.ts +51 -0
  489. package/dist/lib/facts/stock/ext-source.d.ts.map +1 -0
  490. package/dist/lib/facts/stock/ext-source.js +201 -0
  491. package/dist/lib/facts/stock/ext-source.js.map +1 -0
  492. package/dist/lib/facts/stock/frequency-fact.d.ts +59 -0
  493. package/dist/lib/facts/stock/frequency-fact.d.ts.map +1 -0
  494. package/dist/lib/facts/stock/frequency-fact.js +86 -0
  495. package/dist/lib/facts/stock/frequency-fact.js.map +1 -0
  496. package/dist/lib/facts/stock/frequency.d.ts +32 -0
  497. package/dist/lib/facts/stock/frequency.d.ts.map +1 -0
  498. package/dist/lib/facts/stock/frequency.js +48 -0
  499. package/dist/lib/facts/stock/frequency.js.map +1 -0
  500. package/dist/lib/facts/stock/index.d.ts +27 -0
  501. package/dist/lib/facts/stock/index.d.ts.map +1 -0
  502. package/dist/lib/facts/stock/index.js +28 -0
  503. package/dist/lib/facts/stock/index.js.map +1 -0
  504. package/dist/lib/facts/stock/normalize.d.ts +45 -0
  505. package/dist/lib/facts/stock/normalize.d.ts.map +1 -0
  506. package/dist/lib/facts/stock/normalize.js +135 -0
  507. package/dist/lib/facts/stock/normalize.js.map +1 -0
  508. package/dist/lib/facts/stock/phash.d.ts +55 -0
  509. package/dist/lib/facts/stock/phash.d.ts.map +1 -0
  510. package/dist/lib/facts/stock/phash.js +256 -0
  511. package/dist/lib/facts/stock/phash.js.map +1 -0
  512. package/dist/lib/facts/stock/rule-defaults.d.ts +72 -0
  513. package/dist/lib/facts/stock/rule-defaults.d.ts.map +1 -0
  514. package/dist/lib/facts/stock/rule-defaults.js +55 -0
  515. package/dist/lib/facts/stock/rule-defaults.js.map +1 -0
  516. package/dist/lib/facts/stock/send.d.ts +52 -0
  517. package/dist/lib/facts/stock/send.d.ts.map +1 -0
  518. package/dist/lib/facts/stock/send.js +148 -0
  519. package/dist/lib/facts/stock/send.js.map +1 -0
  520. package/dist/lib/facts/stock/unique-score.d.ts +138 -0
  521. package/dist/lib/facts/stock/unique-score.d.ts.map +1 -0
  522. package/dist/lib/facts/stock/unique-score.js +257 -0
  523. package/dist/lib/facts/stock/unique-score.js.map +1 -0
  524. package/dist/lib/facts/stock/unique-store.d.ts +420 -0
  525. package/dist/lib/facts/stock/unique-store.d.ts.map +1 -0
  526. package/dist/lib/facts/stock/unique-store.js +328 -0
  527. package/dist/lib/facts/stock/unique-store.js.map +1 -0
  528. package/dist/lib/facts/stock/unique.d.ts +35 -0
  529. package/dist/lib/facts/stock/unique.d.ts.map +1 -0
  530. package/dist/lib/facts/stock/unique.js +327 -0
  531. package/dist/lib/facts/stock/unique.js.map +1 -0
  532. package/dist/lib/facts/tools.d.ts +57 -0
  533. package/dist/lib/facts/tools.d.ts.map +1 -0
  534. package/dist/lib/facts/tools.js +325 -0
  535. package/dist/lib/facts/tools.js.map +1 -0
  536. package/dist/lib/facts/validate.d.ts +33 -0
  537. package/dist/lib/facts/validate.d.ts.map +1 -0
  538. package/dist/lib/facts/validate.js +137 -0
  539. package/dist/lib/facts/validate.js.map +1 -0
  540. package/dist/lib/hash.d.ts +44 -0
  541. package/dist/lib/hash.d.ts.map +1 -0
  542. package/dist/lib/hash.js +80 -0
  543. package/dist/lib/hash.js.map +1 -0
  544. package/dist/lib/http/client.d.ts +113 -0
  545. package/dist/lib/http/client.d.ts.map +1 -0
  546. package/dist/lib/http/client.js +330 -0
  547. package/dist/lib/http/client.js.map +1 -0
  548. package/dist/lib/ids.d.ts +17 -0
  549. package/dist/lib/ids.d.ts.map +1 -0
  550. package/dist/lib/ids.js +26 -0
  551. package/dist/lib/ids.js.map +1 -0
  552. package/dist/lib/ixo/attachments.d.ts +116 -0
  553. package/dist/lib/ixo/attachments.d.ts.map +1 -0
  554. package/dist/lib/ixo/attachments.js +290 -0
  555. package/dist/lib/ixo/attachments.js.map +1 -0
  556. package/dist/lib/ixo/authz.d.ts +40 -0
  557. package/dist/lib/ixo/authz.d.ts.map +1 -0
  558. package/dist/lib/ixo/authz.js +113 -0
  559. package/dist/lib/ixo/authz.js.map +1 -0
  560. package/dist/lib/ixo/blocksync/index.d.ts +90 -0
  561. package/dist/lib/ixo/blocksync/index.d.ts.map +1 -0
  562. package/dist/lib/ixo/blocksync/index.js +251 -0
  563. package/dist/lib/ixo/blocksync/index.js.map +1 -0
  564. package/dist/lib/ixo/blocksync/queries.d.ts +15 -0
  565. package/dist/lib/ixo/blocksync/queries.d.ts.map +1 -0
  566. package/dist/lib/ixo/blocksync/queries.js +144 -0
  567. package/dist/lib/ixo/blocksync/queries.js.map +1 -0
  568. package/dist/lib/ixo/blocksync/types.d.ts +184 -0
  569. package/dist/lib/ixo/blocksync/types.d.ts.map +1 -0
  570. package/dist/lib/ixo/blocksync/types.js +108 -0
  571. package/dist/lib/ixo/blocksync/types.js.map +1 -0
  572. package/dist/lib/ixo/cellnode.d.ts +35 -0
  573. package/dist/lib/ixo/cellnode.d.ts.map +1 -0
  574. package/dist/lib/ixo/cellnode.js +43 -0
  575. package/dist/lib/ixo/cellnode.js.map +1 -0
  576. package/dist/lib/ixo/chain-write.d.ts +130 -0
  577. package/dist/lib/ixo/chain-write.d.ts.map +1 -0
  578. package/dist/lib/ixo/chain-write.js +460 -0
  579. package/dist/lib/ixo/chain-write.js.map +1 -0
  580. package/dist/lib/ixo/chain.d.ts +1046 -0
  581. package/dist/lib/ixo/chain.d.ts.map +1 -0
  582. package/dist/lib/ixo/chain.js +279 -0
  583. package/dist/lib/ixo/chain.js.map +1 -0
  584. package/dist/lib/ixo/claim-bot.d.ts +49 -0
  585. package/dist/lib/ixo/claim-bot.d.ts.map +1 -0
  586. package/dist/lib/ixo/claim-bot.js +141 -0
  587. package/dist/lib/ixo/claim-bot.js.map +1 -0
  588. package/dist/lib/ixo/delegation-verify.d.ts +44 -0
  589. package/dist/lib/ixo/delegation-verify.d.ts.map +1 -0
  590. package/dist/lib/ixo/delegation-verify.js +101 -0
  591. package/dist/lib/ixo/delegation-verify.js.map +1 -0
  592. package/dist/lib/ixo/did.d.ts +13 -0
  593. package/dist/lib/ixo/did.d.ts.map +1 -0
  594. package/dist/lib/ixo/did.js +85 -0
  595. package/dist/lib/ixo/did.js.map +1 -0
  596. package/dist/lib/ixo/grant-chain.d.ts +55 -0
  597. package/dist/lib/ixo/grant-chain.d.ts.map +1 -0
  598. package/dist/lib/ixo/grant-chain.js +185 -0
  599. package/dist/lib/ixo/grant-chain.js.map +1 -0
  600. package/dist/lib/ixo/identity.d.ts +32 -0
  601. package/dist/lib/ixo/identity.d.ts.map +1 -0
  602. package/dist/lib/ixo/identity.js +104 -0
  603. package/dist/lib/ixo/identity.js.map +1 -0
  604. package/dist/lib/ixo/index.d.ts +118 -0
  605. package/dist/lib/ixo/index.d.ts.map +1 -0
  606. package/dist/lib/ixo/index.js +395 -0
  607. package/dist/lib/ixo/index.js.map +1 -0
  608. package/dist/lib/ixo/payment.d.ts +104 -0
  609. package/dist/lib/ixo/payment.d.ts.map +1 -0
  610. package/dist/lib/ixo/payment.js +136 -0
  611. package/dist/lib/ixo/payment.js.map +1 -0
  612. package/dist/lib/ixo/ucan-store.d.ts +30 -0
  613. package/dist/lib/ixo/ucan-store.d.ts.map +1 -0
  614. package/dist/lib/ixo/ucan-store.js +134 -0
  615. package/dist/lib/ixo/ucan-store.js.map +1 -0
  616. package/dist/lib/ixo/ucan.d.ts +96 -0
  617. package/dist/lib/ixo/ucan.d.ts.map +1 -0
  618. package/dist/lib/ixo/ucan.js +216 -0
  619. package/dist/lib/ixo/ucan.js.map +1 -0
  620. package/dist/lib/ixo/verified-read.d.ts +43 -0
  621. package/dist/lib/ixo/verified-read.d.ts.map +1 -0
  622. package/dist/lib/ixo/verified-read.js +73 -0
  623. package/dist/lib/ixo/verified-read.js.map +1 -0
  624. package/dist/lib/ixo/vfs.d.ts +27 -0
  625. package/dist/lib/ixo/vfs.d.ts.map +1 -0
  626. package/dist/lib/ixo/vfs.js +42 -0
  627. package/dist/lib/ixo/vfs.js.map +1 -0
  628. package/dist/lib/ixo/web-did.d.ts +7 -0
  629. package/dist/lib/ixo/web-did.d.ts.map +1 -0
  630. package/dist/lib/ixo/web-did.js +9 -0
  631. package/dist/lib/ixo/web-did.js.map +1 -0
  632. package/dist/lib/logger.d.ts +34 -0
  633. package/dist/lib/logger.d.ts.map +1 -0
  634. package/dist/lib/logger.js +126 -0
  635. package/dist/lib/logger.js.map +1 -0
  636. package/dist/lib/matrix/api.d.ts +57 -0
  637. package/dist/lib/matrix/api.d.ts.map +1 -0
  638. package/dist/lib/matrix/api.js +58 -0
  639. package/dist/lib/matrix/api.js.map +1 -0
  640. package/dist/lib/matrix/client.d.ts +41 -0
  641. package/dist/lib/matrix/client.d.ts.map +1 -0
  642. package/dist/lib/matrix/client.js +104 -0
  643. package/dist/lib/matrix/client.js.map +1 -0
  644. package/dist/lib/matrix/deliver.d.ts +224 -0
  645. package/dist/lib/matrix/deliver.d.ts.map +1 -0
  646. package/dist/lib/matrix/deliver.js +788 -0
  647. package/dist/lib/matrix/deliver.js.map +1 -0
  648. package/dist/lib/matrix/events.d.ts +114 -0
  649. package/dist/lib/matrix/events.d.ts.map +1 -0
  650. package/dist/lib/matrix/events.js +143 -0
  651. package/dist/lib/matrix/events.js.map +1 -0
  652. package/dist/lib/matrix/mxid.d.ts +24 -0
  653. package/dist/lib/matrix/mxid.d.ts.map +1 -0
  654. package/dist/lib/matrix/mxid.js +47 -0
  655. package/dist/lib/matrix/mxid.js.map +1 -0
  656. package/dist/lib/metrics.d.ts +105 -0
  657. package/dist/lib/metrics.d.ts.map +1 -0
  658. package/dist/lib/metrics.js +204 -0
  659. package/dist/lib/metrics.js.map +1 -0
  660. package/dist/lib/oauth/approvals.d.ts +160 -0
  661. package/dist/lib/oauth/approvals.d.ts.map +1 -0
  662. package/dist/lib/oauth/approvals.js +273 -0
  663. package/dist/lib/oauth/approvals.js.map +1 -0
  664. package/dist/lib/oauth/standing.d.ts +152 -0
  665. package/dist/lib/oauth/standing.d.ts.map +1 -0
  666. package/dist/lib/oauth/standing.js +299 -0
  667. package/dist/lib/oauth/standing.js.map +1 -0
  668. package/dist/lib/oauth/token.d.ts +60 -0
  669. package/dist/lib/oauth/token.d.ts.map +1 -0
  670. package/dist/lib/oauth/token.js +129 -0
  671. package/dist/lib/oauth/token.js.map +1 -0
  672. package/dist/lib/payments/extend.d.ts +42 -0
  673. package/dist/lib/payments/extend.d.ts.map +1 -0
  674. package/dist/lib/payments/extend.js +98 -0
  675. package/dist/lib/payments/extend.js.map +1 -0
  676. package/dist/lib/payments/facilitator.d.ts +220 -0
  677. package/dist/lib/payments/facilitator.d.ts.map +1 -0
  678. package/dist/lib/payments/facilitator.js +451 -0
  679. package/dist/lib/payments/facilitator.js.map +1 -0
  680. package/dist/lib/payments/gate.d.ts +207 -0
  681. package/dist/lib/payments/gate.d.ts.map +1 -0
  682. package/dist/lib/payments/gate.js +481 -0
  683. package/dist/lib/payments/gate.js.map +1 -0
  684. package/dist/lib/payments/header-seal.d.ts +33 -0
  685. package/dist/lib/payments/header-seal.d.ts.map +1 -0
  686. package/dist/lib/payments/header-seal.js +76 -0
  687. package/dist/lib/payments/header-seal.js.map +1 -0
  688. package/dist/lib/payments/index.d.ts +12 -0
  689. package/dist/lib/payments/index.d.ts.map +1 -0
  690. package/dist/lib/payments/index.js +11 -0
  691. package/dist/lib/payments/index.js.map +1 -0
  692. package/dist/lib/payments/price.d.ts +25 -0
  693. package/dist/lib/payments/price.d.ts.map +1 -0
  694. package/dist/lib/payments/price.js +43 -0
  695. package/dist/lib/payments/price.js.map +1 -0
  696. package/dist/lib/payments/reconcile.d.ts +77 -0
  697. package/dist/lib/payments/reconcile.d.ts.map +1 -0
  698. package/dist/lib/payments/reconcile.js +317 -0
  699. package/dist/lib/payments/reconcile.js.map +1 -0
  700. package/dist/lib/payments/refund.d.ts +34 -0
  701. package/dist/lib/payments/refund.d.ts.map +1 -0
  702. package/dist/lib/payments/refund.js +123 -0
  703. package/dist/lib/payments/refund.js.map +1 -0
  704. package/dist/lib/payments/review-billing.d.ts +222 -0
  705. package/dist/lib/payments/review-billing.d.ts.map +1 -0
  706. package/dist/lib/payments/review-billing.js +609 -0
  707. package/dist/lib/payments/review-billing.js.map +1 -0
  708. package/dist/lib/payments/settle.d.ts +44 -0
  709. package/dist/lib/payments/settle.d.ts.map +1 -0
  710. package/dist/lib/payments/settle.js +306 -0
  711. package/dist/lib/payments/settle.js.map +1 -0
  712. package/dist/lib/payments/terms.d.ts +27 -0
  713. package/dist/lib/payments/terms.d.ts.map +1 -0
  714. package/dist/lib/payments/terms.js +21 -0
  715. package/dist/lib/payments/terms.js.map +1 -0
  716. package/dist/lib/payouts.d.ts +20 -0
  717. package/dist/lib/payouts.d.ts.map +1 -0
  718. package/dist/lib/payouts.js +30 -0
  719. package/dist/lib/payouts.js.map +1 -0
  720. package/dist/lib/readiness.d.ts +42 -0
  721. package/dist/lib/readiness.d.ts.map +1 -0
  722. package/dist/lib/readiness.js +130 -0
  723. package/dist/lib/readiness.js.map +1 -0
  724. package/dist/lib/redact.d.ts +23 -0
  725. package/dist/lib/redact.d.ts.map +1 -0
  726. package/dist/lib/redact.js +67 -0
  727. package/dist/lib/redact.js.map +1 -0
  728. package/dist/lib/register.d.ts +85 -0
  729. package/dist/lib/register.d.ts.map +1 -0
  730. package/dist/lib/register.js +390 -0
  731. package/dist/lib/register.js.map +1 -0
  732. package/dist/lib/review/attestation.d.ts +92 -0
  733. package/dist/lib/review/attestation.d.ts.map +1 -0
  734. package/dist/lib/review/attestation.js +264 -0
  735. package/dist/lib/review/attestation.js.map +1 -0
  736. package/dist/lib/review/reviewer-grant.d.ts +146 -0
  737. package/dist/lib/review/reviewer-grant.d.ts.map +1 -0
  738. package/dist/lib/review/reviewer-grant.js +359 -0
  739. package/dist/lib/review/reviewer-grant.js.map +1 -0
  740. package/dist/lib/review/tasks.d.ts +18 -0
  741. package/dist/lib/review/tasks.d.ts.map +1 -0
  742. package/dist/lib/review/tasks.js +36 -0
  743. package/dist/lib/review/tasks.js.map +1 -0
  744. package/dist/lib/sentry.d.ts +89 -0
  745. package/dist/lib/sentry.d.ts.map +1 -0
  746. package/dist/lib/sentry.js +284 -0
  747. package/dist/lib/sentry.js.map +1 -0
  748. package/dist/lib/spans.d.ts +14 -0
  749. package/dist/lib/spans.d.ts.map +1 -0
  750. package/dist/lib/spans.js +28 -0
  751. package/dist/lib/spans.js.map +1 -0
  752. package/dist/lib/tracing.d.ts +31 -0
  753. package/dist/lib/tracing.d.ts.map +1 -0
  754. package/dist/lib/tracing.js +66 -0
  755. package/dist/lib/tracing.js.map +1 -0
  756. package/dist/lib/ttl-cache.d.ts +26 -0
  757. package/dist/lib/ttl-cache.d.ts.map +1 -0
  758. package/dist/lib/ttl-cache.js +61 -0
  759. package/dist/lib/ttl-cache.js.map +1 -0
  760. package/dist/lib/validator.d.ts +19 -0
  761. package/dist/lib/validator.d.ts.map +1 -0
  762. package/dist/lib/validator.js +32 -0
  763. package/dist/lib/validator.js.map +1 -0
  764. package/dist/lib/work-order/form.d.ts +40 -0
  765. package/dist/lib/work-order/form.d.ts.map +1 -0
  766. package/dist/lib/work-order/form.js +316 -0
  767. package/dist/lib/work-order/form.js.map +1 -0
  768. package/dist/lib/work-order/index.d.ts +20 -0
  769. package/dist/lib/work-order/index.d.ts.map +1 -0
  770. package/dist/lib/work-order/index.js +66 -0
  771. package/dist/lib/work-order/index.js.map +1 -0
  772. package/dist/middleware/api/audit.d.ts +9 -0
  773. package/dist/middleware/api/audit.d.ts.map +1 -0
  774. package/dist/middleware/api/audit.js +38 -0
  775. package/dist/middleware/api/audit.js.map +1 -0
  776. package/dist/middleware/api/auth.d.ts +29 -0
  777. package/dist/middleware/api/auth.d.ts.map +1 -0
  778. package/dist/middleware/api/auth.js +105 -0
  779. package/dist/middleware/api/auth.js.map +1 -0
  780. package/dist/middleware/api/console.d.ts +92 -0
  781. package/dist/middleware/api/console.d.ts.map +1 -0
  782. package/dist/middleware/api/console.js +446 -0
  783. package/dist/middleware/api/console.js.map +1 -0
  784. package/dist/middleware/api/errors.d.ts +48 -0
  785. package/dist/middleware/api/errors.d.ts.map +1 -0
  786. package/dist/middleware/api/errors.js +133 -0
  787. package/dist/middleware/api/errors.js.map +1 -0
  788. package/dist/middleware/api/idempotency.d.ts +23 -0
  789. package/dist/middleware/api/idempotency.d.ts.map +1 -0
  790. package/dist/middleware/api/idempotency.js +158 -0
  791. package/dist/middleware/api/idempotency.js.map +1 -0
  792. package/dist/middleware/api/keys.d.ts +14 -0
  793. package/dist/middleware/api/keys.d.ts.map +1 -0
  794. package/dist/middleware/api/keys.js +66 -0
  795. package/dist/middleware/api/keys.js.map +1 -0
  796. package/dist/middleware/api/membership.d.ts +32 -0
  797. package/dist/middleware/api/membership.d.ts.map +1 -0
  798. package/dist/middleware/api/membership.js +48 -0
  799. package/dist/middleware/api/membership.js.map +1 -0
  800. package/dist/middleware/api/oauth.d.ts +28 -0
  801. package/dist/middleware/api/oauth.d.ts.map +1 -0
  802. package/dist/middleware/api/oauth.js +109 -0
  803. package/dist/middleware/api/oauth.js.map +1 -0
  804. package/dist/middleware/api/rate-limit.d.ts +23 -0
  805. package/dist/middleware/api/rate-limit.d.ts.map +1 -0
  806. package/dist/middleware/api/rate-limit.js +70 -0
  807. package/dist/middleware/api/rate-limit.js.map +1 -0
  808. package/dist/middleware/api/types.d.ts +92 -0
  809. package/dist/middleware/api/types.d.ts.map +1 -0
  810. package/dist/middleware/api/types.js +7 -0
  811. package/dist/middleware/api/types.js.map +1 -0
  812. package/dist/middleware/api/wait.d.ts +21 -0
  813. package/dist/middleware/api/wait.d.ts.map +1 -0
  814. package/dist/middleware/api/wait.js +85 -0
  815. package/dist/middleware/api/wait.js.map +1 -0
  816. package/dist/middleware/capability.d.ts +32 -0
  817. package/dist/middleware/capability.d.ts.map +1 -0
  818. package/dist/middleware/capability.js +113 -0
  819. package/dist/middleware/capability.js.map +1 -0
  820. package/dist/middleware/database.d.ts +14 -0
  821. package/dist/middleware/database.d.ts.map +1 -0
  822. package/dist/middleware/database.js +18 -0
  823. package/dist/middleware/database.js.map +1 -0
  824. package/dist/middleware/error-handler.d.ts +13 -0
  825. package/dist/middleware/error-handler.d.ts.map +1 -0
  826. package/dist/middleware/error-handler.js +127 -0
  827. package/dist/middleware/error-handler.js.map +1 -0
  828. package/dist/middleware/observability.d.ts +32 -0
  829. package/dist/middleware/observability.d.ts.map +1 -0
  830. package/dist/middleware/observability.js +134 -0
  831. package/dist/middleware/observability.js.map +1 -0
  832. package/dist/middleware/rate-limit.d.ts +16 -0
  833. package/dist/middleware/rate-limit.d.ts.map +1 -0
  834. package/dist/middleware/rate-limit.js +56 -0
  835. package/dist/middleware/rate-limit.js.map +1 -0
  836. package/dist/middleware/ucan-auth.d.ts +39 -0
  837. package/dist/middleware/ucan-auth.d.ts.map +1 -0
  838. package/dist/middleware/ucan-auth.js +278 -0
  839. package/dist/middleware/ucan-auth.js.map +1 -0
  840. package/dist/networks.d.ts +34 -0
  841. package/dist/networks.d.ts.map +1 -0
  842. package/dist/networks.js +49 -0
  843. package/dist/networks.js.map +1 -0
  844. package/dist/oracle.d.ts +193 -0
  845. package/dist/oracle.d.ts.map +1 -0
  846. package/dist/oracle.js +245 -0
  847. package/dist/oracle.js.map +1 -0
  848. package/dist/routes/health.d.ts +16 -0
  849. package/dist/routes/health.d.ts.map +1 -0
  850. package/dist/routes/health.js +29 -0
  851. package/dist/routes/health.js.map +1 -0
  852. package/dist/routes/v1/admin.d.ts +18 -0
  853. package/dist/routes/v1/admin.d.ts.map +1 -0
  854. package/dist/routes/v1/admin.js +101 -0
  855. package/dist/routes/v1/admin.js.map +1 -0
  856. package/dist/routes/v1/api/admin-claims.d.ts +14 -0
  857. package/dist/routes/v1/api/admin-claims.d.ts.map +1 -0
  858. package/dist/routes/v1/api/admin-claims.js +82 -0
  859. package/dist/routes/v1/api/admin-claims.js.map +1 -0
  860. package/dist/routes/v1/api/admin-facilitator.d.ts +20 -0
  861. package/dist/routes/v1/api/admin-facilitator.d.ts.map +1 -0
  862. package/dist/routes/v1/api/admin-facilitator.js +64 -0
  863. package/dist/routes/v1/api/admin-facilitator.js.map +1 -0
  864. package/dist/routes/v1/api/admin.d.ts +9 -0
  865. package/dist/routes/v1/api/admin.d.ts.map +1 -0
  866. package/dist/routes/v1/api/admin.js +110 -0
  867. package/dist/routes/v1/api/admin.js.map +1 -0
  868. package/dist/routes/v1/api/audit.d.ts +8 -0
  869. package/dist/routes/v1/api/audit.d.ts.map +1 -0
  870. package/dist/routes/v1/api/audit.js +56 -0
  871. package/dist/routes/v1/api/audit.js.map +1 -0
  872. package/dist/routes/v1/api/batch.d.ts +17 -0
  873. package/dist/routes/v1/api/batch.d.ts.map +1 -0
  874. package/dist/routes/v1/api/batch.js +192 -0
  875. package/dist/routes/v1/api/batch.js.map +1 -0
  876. package/dist/routes/v1/api/claims-read.d.ts +43 -0
  877. package/dist/routes/v1/api/claims-read.d.ts.map +1 -0
  878. package/dist/routes/v1/api/claims-read.js +123 -0
  879. package/dist/routes/v1/api/claims-read.js.map +1 -0
  880. package/dist/routes/v1/api/claims.d.ts +131 -0
  881. package/dist/routes/v1/api/claims.d.ts.map +1 -0
  882. package/dist/routes/v1/api/claims.js +407 -0
  883. package/dist/routes/v1/api/claims.js.map +1 -0
  884. package/dist/routes/v1/api/collections-link.d.ts +14 -0
  885. package/dist/routes/v1/api/collections-link.d.ts.map +1 -0
  886. package/dist/routes/v1/api/collections-link.js +97 -0
  887. package/dist/routes/v1/api/collections-link.js.map +1 -0
  888. package/dist/routes/v1/api/export.d.ts +48 -0
  889. package/dist/routes/v1/api/export.d.ts.map +1 -0
  890. package/dist/routes/v1/api/export.js +251 -0
  891. package/dist/routes/v1/api/export.js.map +1 -0
  892. package/dist/routes/v1/api/index.d.ts +16 -0
  893. package/dist/routes/v1/api/index.d.ts.map +1 -0
  894. package/dist/routes/v1/api/index.js +68 -0
  895. package/dist/routes/v1/api/index.js.map +1 -0
  896. package/dist/routes/v1/api/keys.d.ts +9 -0
  897. package/dist/routes/v1/api/keys.d.ts.map +1 -0
  898. package/dist/routes/v1/api/keys.js +95 -0
  899. package/dist/routes/v1/api/keys.js.map +1 -0
  900. package/dist/routes/v1/api/me.d.ts +21 -0
  901. package/dist/routes/v1/api/me.d.ts.map +1 -0
  902. package/dist/routes/v1/api/me.js +122 -0
  903. package/dist/routes/v1/api/me.js.map +1 -0
  904. package/dist/routes/v1/api/members.d.ts +17 -0
  905. package/dist/routes/v1/api/members.d.ts.map +1 -0
  906. package/dist/routes/v1/api/members.js +406 -0
  907. package/dist/routes/v1/api/members.js.map +1 -0
  908. package/dist/routes/v1/api/meta.d.ts +12 -0
  909. package/dist/routes/v1/api/meta.d.ts.map +1 -0
  910. package/dist/routes/v1/api/meta.js +59 -0
  911. package/dist/routes/v1/api/meta.js.map +1 -0
  912. package/dist/routes/v1/api/openapi.gen.d.ts +2 -0
  913. package/dist/routes/v1/api/openapi.gen.d.ts.map +1 -0
  914. package/dist/routes/v1/api/openapi.gen.js +7 -0
  915. package/dist/routes/v1/api/openapi.gen.js.map +1 -0
  916. package/dist/routes/v1/api/protocols.d.ts +22 -0
  917. package/dist/routes/v1/api/protocols.d.ts.map +1 -0
  918. package/dist/routes/v1/api/protocols.js +153 -0
  919. package/dist/routes/v1/api/protocols.js.map +1 -0
  920. package/dist/routes/v1/api/review-billing.d.ts +18 -0
  921. package/dist/routes/v1/api/review-billing.d.ts.map +1 -0
  922. package/dist/routes/v1/api/review-billing.js +196 -0
  923. package/dist/routes/v1/api/review-billing.js.map +1 -0
  924. package/dist/routes/v1/api/review.d.ts +30 -0
  925. package/dist/routes/v1/api/review.d.ts.map +1 -0
  926. package/dist/routes/v1/api/review.js +302 -0
  927. package/dist/routes/v1/api/review.js.map +1 -0
  928. package/dist/routes/v1/api/sources.d.ts +10 -0
  929. package/dist/routes/v1/api/sources.d.ts.map +1 -0
  930. package/dist/routes/v1/api/sources.js +293 -0
  931. package/dist/routes/v1/api/sources.js.map +1 -0
  932. package/dist/routes/v1/api/uploads.d.ts +37 -0
  933. package/dist/routes/v1/api/uploads.d.ts.map +1 -0
  934. package/dist/routes/v1/api/uploads.js +414 -0
  935. package/dist/routes/v1/api/uploads.js.map +1 -0
  936. package/dist/routes/v1/api/views.d.ts +18 -0
  937. package/dist/routes/v1/api/views.d.ts.map +1 -0
  938. package/dist/routes/v1/api/views.js +95 -0
  939. package/dist/routes/v1/api/views.js.map +1 -0
  940. package/dist/routes/v1/api/webhooks.d.ts +14 -0
  941. package/dist/routes/v1/api/webhooks.d.ts.map +1 -0
  942. package/dist/routes/v1/api/webhooks.js +282 -0
  943. package/dist/routes/v1/api/webhooks.js.map +1 -0
  944. package/dist/routes/v1/api/work-orders.d.ts +45 -0
  945. package/dist/routes/v1/api/work-orders.d.ts.map +1 -0
  946. package/dist/routes/v1/api/work-orders.js +171 -0
  947. package/dist/routes/v1/api/work-orders.js.map +1 -0
  948. package/dist/routes/v1/claims.d.ts +21 -0
  949. package/dist/routes/v1/claims.d.ts.map +1 -0
  950. package/dist/routes/v1/claims.js +153 -0
  951. package/dist/routes/v1/claims.js.map +1 -0
  952. package/dist/routes/v1/collections.d.ts +45 -0
  953. package/dist/routes/v1/collections.d.ts.map +1 -0
  954. package/dist/routes/v1/collections.js +201 -0
  955. package/dist/routes/v1/collections.js.map +1 -0
  956. package/dist/routes/v1/index.d.ts +13 -0
  957. package/dist/routes/v1/index.d.ts.map +1 -0
  958. package/dist/routes/v1/index.js +41 -0
  959. package/dist/routes/v1/index.js.map +1 -0
  960. package/dist/routes/v1/info.d.ts +14 -0
  961. package/dist/routes/v1/info.d.ts.map +1 -0
  962. package/dist/routes/v1/info.js +75 -0
  963. package/dist/routes/v1/info.js.map +1 -0
  964. package/dist/routes/v1/mcp/index.d.ts +33 -0
  965. package/dist/routes/v1/mcp/index.d.ts.map +1 -0
  966. package/dist/routes/v1/mcp/index.js +252 -0
  967. package/dist/routes/v1/mcp/index.js.map +1 -0
  968. package/dist/routes/v1/mcp/oauth.d.ts +27 -0
  969. package/dist/routes/v1/mcp/oauth.d.ts.map +1 -0
  970. package/dist/routes/v1/mcp/oauth.js +500 -0
  971. package/dist/routes/v1/mcp/oauth.js.map +1 -0
  972. package/dist/routes/v1/mcp/tools.d.ts +71 -0
  973. package/dist/routes/v1/mcp/tools.d.ts.map +1 -0
  974. package/dist/routes/v1/mcp/tools.js +432 -0
  975. package/dist/routes/v1/mcp/tools.js.map +1 -0
  976. package/dist/routes/v1/mcp/ui.d.ts +45 -0
  977. package/dist/routes/v1/mcp/ui.d.ts.map +1 -0
  978. package/dist/routes/v1/mcp/ui.js +454 -0
  979. package/dist/routes/v1/mcp/ui.js.map +1 -0
  980. package/dist/routes/v1/oauth.d.ts +29 -0
  981. package/dist/routes/v1/oauth.d.ts.map +1 -0
  982. package/dist/routes/v1/oauth.js +256 -0
  983. package/dist/routes/v1/oauth.js.map +1 -0
  984. package/dist/routes/v1/reviewers.d.ts +22 -0
  985. package/dist/routes/v1/reviewers.d.ts.map +1 -0
  986. package/dist/routes/v1/reviewers.js +165 -0
  987. package/dist/routes/v1/reviewers.js.map +1 -0
  988. package/dist/routes/v1/reviews.d.ts +38 -0
  989. package/dist/routes/v1/reviews.d.ts.map +1 -0
  990. package/dist/routes/v1/reviews.js +234 -0
  991. package/dist/routes/v1/reviews.js.map +1 -0
  992. package/dist/routes/v1/shared.d.ts +586 -0
  993. package/dist/routes/v1/shared.d.ts.map +1 -0
  994. package/dist/routes/v1/shared.js +229 -0
  995. package/dist/routes/v1/shared.js.map +1 -0
  996. package/dist/routes/well-known.d.ts +15 -0
  997. package/dist/routes/well-known.d.ts.map +1 -0
  998. package/dist/routes/well-known.js +35 -0
  999. package/dist/routes/well-known.js.map +1 -0
  1000. package/dist/runtime.d.ts +100 -0
  1001. package/dist/runtime.d.ts.map +1 -0
  1002. package/dist/runtime.js +144 -0
  1003. package/dist/runtime.js.map +1 -0
  1004. package/dist/testing/fake-tools.d.ts +104 -0
  1005. package/dist/testing/fake-tools.d.ts.map +1 -0
  1006. package/dist/testing/fake-tools.js +213 -0
  1007. package/dist/testing/fake-tools.js.map +1 -0
  1008. package/dist/testing/index.d.ts +54 -0
  1009. package/dist/testing/index.d.ts.map +1 -0
  1010. package/dist/testing/index.js +104 -0
  1011. package/dist/testing/index.js.map +1 -0
  1012. package/dist/testing/samples.d.ts +70 -0
  1013. package/dist/testing/samples.d.ts.map +1 -0
  1014. package/dist/testing/samples.js +92 -0
  1015. package/dist/testing/samples.js.map +1 -0
  1016. package/dist/workflows/claim-ingest.d.ts +250 -0
  1017. package/dist/workflows/claim-ingest.d.ts.map +1 -0
  1018. package/dist/workflows/claim-ingest.js +1020 -0
  1019. package/dist/workflows/claim-ingest.js.map +1 -0
  1020. package/dist/workflows/claim-source.d.ts +25 -0
  1021. package/dist/workflows/claim-source.d.ts.map +1 -0
  1022. package/dist/workflows/claim-source.js +107 -0
  1023. package/dist/workflows/claim-source.js.map +1 -0
  1024. package/dist/workflows/review-complete.d.ts +82 -0
  1025. package/dist/workflows/review-complete.d.ts.map +1 -0
  1026. package/dist/workflows/review-complete.js +455 -0
  1027. package/dist/workflows/review-complete.js.map +1 -0
  1028. package/dist/workflows/steps.d.ts +125 -0
  1029. package/dist/workflows/steps.d.ts.map +1 -0
  1030. package/dist/workflows/steps.js +325 -0
  1031. package/dist/workflows/steps.js.map +1 -0
  1032. package/docs/api.md +2595 -0
  1033. package/docs/guide.md +1525 -0
  1034. package/migrations/0000_init.sql +108 -0
  1035. package/migrations/0001_review_attestation.sql +1 -0
  1036. package/migrations/0002_decisions_facts.sql +1 -0
  1037. package/migrations/0003_api_lane.sql +171 -0
  1038. package/migrations/0004_api_v1_1.sql +19 -0
  1039. package/migrations/0005_member_notify.sql +3 -0
  1040. package/migrations/0006_source_collections.sql +16 -0
  1041. package/migrations/0007_api_settlement.sql +27 -0
  1042. package/migrations/0008_review_extend.sql +1 -0
  1043. package/migrations/0009_card_refunds.sql +4 -0
  1044. package/migrations/0010_even_scorpion.sql +16 -0
  1045. package/migrations/0011_mcp_oauth.sql +27 -0
  1046. package/migrations/0012_mcp_standing.sql +21 -0
  1047. package/migrations/0013_unknown_krista_starr.sql +2 -0
  1048. package/migrations/0014_last_carnage.sql +14 -0
  1049. package/migrations/0015_company_authority.sql +26 -0
  1050. package/migrations/0016_owner_only_links.sql +6 -0
  1051. package/migrations/0017_organisations.sql +35 -0
  1052. package/migrations/0018_remove_app_signed.sql +4 -0
  1053. package/migrations/0019_submitted_via.sql +2 -0
  1054. package/migrations/0020_drop_decision_to_pay.sql +4 -0
  1055. package/migrations/0021_manual_erase.sql +25 -0
  1056. package/migrations/0022_errored_facts.sql +1 -0
  1057. package/migrations/0023_review_billing.sql +20 -0
  1058. package/migrations/0024_pending_task_details.sql +1 -0
  1059. package/migrations/meta/0000_snapshot.json +707 -0
  1060. package/migrations/meta/0001_snapshot.json +714 -0
  1061. package/migrations/meta/0002_snapshot.json +721 -0
  1062. package/migrations/meta/0003_snapshot.json +1845 -0
  1063. package/migrations/meta/0004_snapshot.json +1969 -0
  1064. package/migrations/meta/0005_snapshot.json +1991 -0
  1065. package/migrations/meta/0006_snapshot.json +2097 -0
  1066. package/migrations/meta/0007_snapshot.json +2128 -0
  1067. package/migrations/meta/0008_snapshot.json +2133 -0
  1068. package/migrations/meta/0009_snapshot.json +2161 -0
  1069. package/migrations/meta/0010_snapshot.json +2265 -0
  1070. package/migrations/meta/0011_snapshot.json +2448 -0
  1071. package/migrations/meta/0012_snapshot.json +2577 -0
  1072. package/migrations/meta/0013_snapshot.json +2594 -0
  1073. package/migrations/meta/0014_snapshot.json +2602 -0
  1074. package/migrations/meta/0015_snapshot.json +2778 -0
  1075. package/migrations/meta/0016_snapshot.json +2778 -0
  1076. package/migrations/meta/0017_snapshot.json +2792 -0
  1077. package/migrations/meta/0018_snapshot.json +2778 -0
  1078. package/migrations/meta/0019_snapshot.json +2792 -0
  1079. package/migrations/meta/0020_snapshot.json +2785 -0
  1080. package/migrations/meta/0021_snapshot.json +2762 -0
  1081. package/migrations/meta/0022_snapshot.json +2769 -0
  1082. package/migrations/meta/0023_snapshot.json +2900 -0
  1083. package/migrations/meta/0024_snapshot.json +2907 -0
  1084. package/migrations/meta/_journal.json +181 -0
  1085. package/openapi/decision-api.yaml +12204 -0
  1086. package/package.json +123 -4
  1087. package/skills/README.md +19 -0
  1088. package/skills/add-openhands-support/SKILL.md +113 -0
  1089. package/skills/create-collection/SKILL.md +199 -0
  1090. package/skills/create-collection/reference/claims-stack.md +106 -0
  1091. package/skills/create-collection/reference/collection.md +111 -0
  1092. package/skills/create-oracle/SKILL.md +400 -0
  1093. package/skills/create-rubric/SKILL.md +130 -0
  1094. package/skills/create-rubric/reference/format-cheatsheet.md +186 -0
  1095. package/skills/create-rubric/templates/claim-form.example.json +60 -0
  1096. package/skills/decision-api-client/SKILL.md +236 -0
  1097. package/skills/decision-api-oracle/SKILL.md +336 -0
  1098. package/skills/publish-protocol/SKILL.md +151 -0
  1099. package/skills/publish-protocol/reference/publishing.md +116 -0
  1100. package/skills/reference/engine-contract.md +222 -0
  1101. package/skills/write-facts/SKILL.md +221 -0
  1102. package/skills/write-facts/reference/examples/http-vendor.ts +88 -0
  1103. package/skills/write-facts/reference/examples/price-matches-agreement.ts +67 -0
  1104. package/skills/write-facts/reference/facts-api.md +232 -0
  1105. package/templates/project/.dev.vars.example +93 -0
  1106. package/templates/project/.editorconfig +9 -0
  1107. package/templates/project/CLAUDE.md +45 -0
  1108. package/templates/project/README.md +199 -0
  1109. package/templates/project/biome.json +37 -0
  1110. package/templates/project/gitignore +29 -0
  1111. package/templates/project/package.json +32 -0
  1112. package/templates/project/src/facts/index.ts +19 -0
  1113. package/templates/project/src/index.ts +25 -0
  1114. package/templates/project/test/api-lane.test.ts +57 -0
  1115. package/templates/project/test/facts.test.ts +14 -0
  1116. package/templates/project/tsconfig.json +25 -0
  1117. package/templates/project/vitest.config.ts +13 -0
  1118. package/templates/project/wrangler.jsonc +446 -0
@@ -0,0 +1,261 @@
1
+ /**
2
+ * The two public cards `oracle init` anchors on the oracle entity — `#dmn` (the domain card the
3
+ * domain indexer, the portal and the console list) and `#acard` (the Agent Card the portal's
4
+ * contract flow reads). Pure builders plus the two read-only probes a step's skip decision needs;
5
+ * no signing, no upload (that is `anchorDoc` in the command, the one path every resource takes).
6
+ *
7
+ * Both are VC envelopes around content taken from the RUNNING oracle (`GET <kit-url>/v1/info`), so
8
+ * "is the live card current?" compares content, never bytes: `validFrom` is the one field that
9
+ * changes on every build, and it is the one field the comparison ignores.
10
+ */
11
+ import { Validator } from "@cfworker/json-schema";
12
+ import { readLinkedDoc } from "../../facts/linked-doc.js";
13
+ import { canonicalJson } from "../../lib/hash.js";
14
+ import { AGENT_CARD_SCHEMA_SNAPSHOT } from "./agent-card-schema.js";
15
+ const DOMAIN_CARD_CONTEXT = [
16
+ "https://www.w3.org/ns/credentials/v2",
17
+ "https://w3id.org/ixo/context/v1",
18
+ {
19
+ attribute: "https://w3id.org/ixo/attributes/v1/",
20
+ schema: "https://schema.org/",
21
+ ixo: "https://w3id.org/ixo/vocab/v1",
22
+ prov: "http://www.w3.org/ns/prov#",
23
+ proj: "https://linked.data.gov.au/def/project#",
24
+ xsd: "http://www.w3.org/2001/XMLSchema#",
25
+ id: "@id",
26
+ type: "@type",
27
+ "ixo:vector": { "@container": "@list", "@type": "xsd:double" },
28
+ "@protected": true,
29
+ },
30
+ ];
31
+ /**
32
+ * The portal's oracle domain card (impacts-x-web `lib/oracle/entityCreation.ts`
33
+ * `createDomainCardResource`), field for field, minus the fields an evaluation oracle has no
34
+ * source for (LLM model, comms style, location). `logo` / `image` appear only with `--logo`: the
35
+ * portal's own producer writes an empty ImageObject, which the indexer then serves as a
36
+ * `logo_url` of "" — absent is the honest answer.
37
+ */
38
+ export function buildDomainCard(src, validFrom = new Date().toISOString()) {
39
+ const image = (url) => ({ type: "schema:ImageObject", id: url, contentUrl: url });
40
+ return {
41
+ "@context": DOMAIN_CARD_CONTEXT,
42
+ id: `${src.entityDid}#dmn`,
43
+ type: ["VerifiableCredential", "ixo:DomainCard"],
44
+ issuer: { id: src.issuerDid },
45
+ validFrom,
46
+ credentialSchema: {
47
+ id: "https://w3id.org/ixo/schemas/ixo-domain-card-1.json",
48
+ type: "JsonSchema",
49
+ },
50
+ credentialSubject: {
51
+ id: src.entityDid,
52
+ type: ["ixo:oracle"],
53
+ additionalType: ["schema:Organization"],
54
+ name: src.name,
55
+ description: src.description,
56
+ url: src.kitUrl,
57
+ sameAs: [],
58
+ ...(src.logo ? { logo: image(src.logo), image: [image(src.logo)] } : {}),
59
+ keywords: ["evaluation oracle"],
60
+ knowsAbout: ["evaluation oracle"],
61
+ composition: { type: "schema:Collection", hasPart: [] },
62
+ makesOffer: [],
63
+ relationships: { "prov:wasAssociatedWith": [], memberOf: [], funding: [] },
64
+ agents: [],
65
+ credentials: [],
66
+ attributes: [],
67
+ project: {},
68
+ },
69
+ };
70
+ }
71
+ /**
72
+ * The Agent Card (ixo-oracles-cli `buildAgentCard`; the engine's strict schema, agent-contracts
73
+ * §A.2), built non-interactively. The schema is closed — no `url` anywhere — so the kit URL lives in
74
+ * the service text, which is also what the portal shows (`fetchAgentCard` → `parseDisplayCard`
75
+ * needs `subject.id === entity`, a name, and ≥ 1 service with id/name/deliverables/price.amount).
76
+ *
77
+ * `price` is in PAY (1 PAY = 1 USD). The chain lane is paid by the collection's on-chain evaluation
78
+ * leg, never in PAY, so its PAY price is 0 and the effective fee is named in its description; the
79
+ * Decision API's per-decision price is a USD price already, so it carries over exactly. A service
80
+ * with no price behind it is not carded at all — never advertised as free.
81
+ */
82
+ export function buildAgentCard(src, validFrom = new Date().toISOString()) {
83
+ const fee = src.evaluationFee;
84
+ const services = [
85
+ ...(fee
86
+ ? [
87
+ {
88
+ id: "claim-evaluation",
89
+ name: "Claim evaluation",
90
+ description: `Evaluates every claim submitted to a hired IXO claim collection against its protocol's rubric through the IXO decision engine, and signs terminal verdicts on chain. Listing: ${src.kitUrl}/v1/info. Paid on chain per evaluation (at least ${fee.minAmount}${fee.denom}, the collection's evaluation payment).`,
91
+ price: { amount: 0, currency: "PAY" },
92
+ deliverables: "One decision per claim — approve, reject or review — with the decision engine's signed receipt, and an on-chain MsgEvaluateClaim for every terminal verdict.",
93
+ doneMeans: [
94
+ "Every claim in the collection receives a decision from the decision engine.",
95
+ "Every approve or reject is signed on chain with the receipt CID as its verification proof.",
96
+ ],
97
+ tags: ["evaluation", "claims"],
98
+ },
99
+ ]
100
+ : []),
101
+ ...(src.api
102
+ ? [
103
+ {
104
+ id: "decision-api",
105
+ name: "Decision API",
106
+ description: `Submit evidence as a claim over HTTP at ${src.kitUrl}/v1/api (OpenAPI: ${src.kitUrl}/v1/api/openapi.json; MCP: ${src.kitUrl}/v1/mcp) and receive the decision engine's verdict.`,
107
+ price: {
108
+ amount: src.api.amountMicroUsd / 1_000_000,
109
+ currency: "PAY",
110
+ },
111
+ deliverables: "A decision per submitted claim — approve, reject or review — with the decision engine's signed, verifiable receipt.",
112
+ doneMeans: [
113
+ "Each accepted claim is answered with a decision and a receipt that verifies against the engine's published key.",
114
+ ],
115
+ tags: ["decision-api", "mcp"],
116
+ },
117
+ ]
118
+ : []),
119
+ // The OpenHands app's marker: it lists an oracle as an OpenHands checker by this id, and reads
120
+ // `{currency: "PAY"}` prices only. Field for field openhands-oracles' `CARD_SERVICES` entry
121
+ // (`scripts/lib/card.ts`), so both producers card the same service.
122
+ ...(src.openhands
123
+ ? [
124
+ {
125
+ id: "check-openhands",
126
+ name: "OpenHands check",
127
+ description: "Checks OpenHands asks against the rubric the OpenHands app writes for them",
128
+ price: { amount: src.openhands.amountMicroUsd / 1_000_000, currency: "PAY" },
129
+ deliverables: "a decision receipt",
130
+ doneMeans: [
131
+ "every line of the ask's rubric holds",
132
+ "the receipt is signed by the decision engine",
133
+ ],
134
+ },
135
+ ]
136
+ : []),
137
+ ];
138
+ return {
139
+ "@context": ["https://www.w3.org/ns/credentials/v2", "https://w3id.org/ixo/ns/agent-card/v1"],
140
+ id: `${src.entityDid}#acard`,
141
+ type: ["VerifiableCredential", "ixo:AgentCard"],
142
+ issuer: { id: src.issuerDid },
143
+ validFrom,
144
+ credentialSubject: {
145
+ id: src.entityDid,
146
+ name: src.name,
147
+ description: src.description || `${src.name} — an IXO evaluation oracle at ${src.kitUrl}`,
148
+ version: "1.0.0",
149
+ services,
150
+ },
151
+ };
152
+ }
153
+ /** The Agent Card services the kit generates — every other service id is the provider's own. */
154
+ const KIT_SERVICES = ["claim-evaluation", "decision-api"];
155
+ /** The ids the kit owns for a card it builds: `check-openhands` only when `--openhands` carded it,
156
+ * so a hand-added one survives a run without the flag. */
157
+ const kitServices = (ours) => new Set([
158
+ ...KIT_SERVICES,
159
+ ...servicesOf(subjectOf(ours))
160
+ .map((svc) => String(svc.id))
161
+ .filter((id) => id === "check-openhands"),
162
+ ]);
163
+ const subjectOf = (card) => card.credentialSubject !== null && typeof card.credentialSubject === "object"
164
+ ? card.credentialSubject
165
+ : {};
166
+ const servicesOf = (subject) => Array.isArray(subject.services) ? subject.services : [];
167
+ /**
168
+ * The part of a card the KIT owns: what `/v1/info`, `--kit-url` and the kit's prices say, plus the
169
+ * logo when `--logo` is given. Everything else on a live card — a logo set by hand, images,
170
+ * keywords, a location, extra services — is the provider's, so it neither triggers a replace nor is
171
+ * lost by one.
172
+ */
173
+ function owned(fragment, card, logo, kit) {
174
+ const sub = subjectOf(card);
175
+ if (fragment === "#dmn") {
176
+ return {
177
+ name: sub.name,
178
+ description: sub.description,
179
+ url: sub.url,
180
+ ...(logo ? { logo: sub.logo, image: sub.image } : {}),
181
+ };
182
+ }
183
+ const services = servicesOf(sub)
184
+ .filter((svc) => kit.has(String(svc.id)))
185
+ .sort((a, b) => String(a.id).localeCompare(String(b.id)));
186
+ return { name: sub.name, description: sub.description, services };
187
+ }
188
+ /** Whether a kit-owned field differs between the live card and the one the kit would write. */
189
+ export function cardDrifted(fragment, live, ours, logo) {
190
+ const kit = kitServices(ours);
191
+ return (canonicalJson(owned(fragment, live, logo, kit)) !==
192
+ canonicalJson(owned(fragment, ours, logo, kit)));
193
+ }
194
+ /**
195
+ * The kit's fields laid onto the live card: the envelope's id/issuer/validFrom and the owned
196
+ * subject fields are ours, the rest is the live card's — so a replace never drops the provider's
197
+ * additions (on the Agent Card, their services follow the kit's).
198
+ */
199
+ export function mergeCard(fragment, live, ours, logo) {
200
+ const kit = kitServices(ours);
201
+ const sub = {
202
+ ...subjectOf(live),
203
+ ...owned(fragment, ours, logo, kit),
204
+ id: subjectOf(ours).id,
205
+ };
206
+ if (fragment === "#acard") {
207
+ sub.services = [
208
+ ...servicesOf(subjectOf(ours)),
209
+ ...servicesOf(subjectOf(live)).filter((svc) => !kit.has(String(svc.id))),
210
+ ];
211
+ }
212
+ return {
213
+ ...live,
214
+ id: ours.id,
215
+ issuer: ours.issuer,
216
+ validFrom: ours.validFrom,
217
+ credentialSubject: sub,
218
+ };
219
+ }
220
+ const HTTP_TIMEOUT_MS = 10_000;
221
+ /**
222
+ * The schema the engine serves at `GET /v1/agent-card-schema` (public), else the bundled snapshot
223
+ * — ixo-oracles-cli's `fetchAgentCardSchema`, same fallback: validation must never depend on the
224
+ * engine being reachable, and the snapshot is what the engine's Zod generates.
225
+ */
226
+ export async function agentCardSchema(engineHost) {
227
+ const url = `https://${engineHost}/v1/agent-card-schema`;
228
+ try {
229
+ const res = await fetch(url, { signal: AbortSignal.timeout(HTTP_TIMEOUT_MS) });
230
+ if (res.ok)
231
+ return { schema: (await res.json()), source: url };
232
+ }
233
+ catch {
234
+ // unreachable — the snapshot below
235
+ }
236
+ return { schema: AGENT_CARD_SCHEMA_SNAPSHOT, source: "the bundled schema snapshot" };
237
+ }
238
+ /** Human-readable violations; empty = valid. `@cfworker/json-schema`, the validator already in
239
+ * this package (Ajv compiles code, which a Worker forbids — one validator everywhere). */
240
+ export function validateAgentCard(card, schema) {
241
+ const { valid, errors } = new Validator(schema, "2020-12", false).validate(card);
242
+ return valid ? [] : errors.map((e) => `${e.instanceLocation}: ${e.error}`);
243
+ }
244
+ /** An anchored document as served (`readLinkedDoc`: a Vault, IPFS or Matrix address; its `proof`
245
+ * checked when one is passed): its bytes and their JSON — null when it cannot be read, is not
246
+ * JSON, or is not the bytes its proof names. */
247
+ export async function fetchDoc(resource) {
248
+ const read = await readLinkedDoc(resource, { timeoutMs: HTTP_TIMEOUT_MS });
249
+ return read.ok ? { bytes: read.bytes, json: read.json } : null;
250
+ }
251
+ /** A JSON read whose failure is only a skip or a warning — null when it cannot be read. */
252
+ export async function fetchJson(url) {
253
+ try {
254
+ const res = await fetch(url, { signal: AbortSignal.timeout(HTTP_TIMEOUT_MS) });
255
+ return res.ok ? await res.json() : null;
256
+ }
257
+ catch {
258
+ return null;
259
+ }
260
+ }
261
+ //# sourceMappingURL=identity-cards.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"identity-cards.js","sourceRoot":"","sources":["../../../src/cli/lib/identity-cards.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,79 @@
1
+ /**
2
+ * The oracle's OWN Matrix account — the producer of `ORACLE_MATRIX_ACCESS_TOKEN`, without which the
3
+ * review-card lane (`lib/matrix/deliver.ts`) silently no-ops.
4
+ *
5
+ * A `did-ixo-…` account cannot be registered on the homeserver directly: registration is closed and
6
+ * IXO's ROOMS BOT is the only thing that may mint one. Its `POST /user/create` authenticates the
7
+ * caller with a secp256k1 signature over a challenge naming the address, and takes the account's
8
+ * password ECIES-encrypted to a key the bot publishes — so the password (and therefore the account)
9
+ * never crosses the wire in the clear, and the bot never has to be trusted with a mnemonic.
10
+ *
11
+ * Every field, endpoint and derivation here is ported from qiforge-cli, which is what created every
12
+ * oracle Matrix account that exists today: `src/utils/account/matrix.ts:172-336` (public key,
13
+ * challenge, ECIES, the request), `:571-586` (username + password), `src/utils/common.ts:214-225`
14
+ * (the bot URL convention), `src/utils/account/utils.ts:236-262` (what the signature covers),
15
+ * `simplifiedRegistration.ts:149` (the display name). Anything that drifts from those lines is a
16
+ * bug: the bot is the verifier, and the password IS the account — a changed derivation locks the
17
+ * oracle out of an account that already exists.
18
+ *
19
+ * The access token this mints is a full account credential: it is written straight to the project's
20
+ * `.dev.vars` and is never printed, logged, or put in an error message.
21
+ */
22
+ /**
23
+ * The Matrix password for a mnemonic: `base64(md5hex(mnemonic sans spaces))[:24]` — qiforge
24
+ * `generatePasswordFromMnemonic` (matrix.ts:583-586), and the derivation the portal applies to the
25
+ * AuthHub session's own `matrixMnemonic` (chain.ts `matrixLoginFromSession`, which calls this).
26
+ * npm `md5` returns a hex STRING and `Buffer.from(<string>)` takes its utf8 bytes, so the base64 is
27
+ * over the 32 hex characters — not over the 16 digest bytes.
28
+ */
29
+ export declare function matrixPassword(mnemonic: string): string;
30
+ /**
31
+ * The rooms bot for a homeserver — qiforge `deriveMatrixUrls` (common.ts:214-225): every IXO bot is
32
+ * a subdomain of the homeserver's host, so `https://devmx.ixo.earth` → `https://rooms.bot.devmx…`.
33
+ * The same family as the worker's `https://claim.bot.{domain}` (lib/ixo/claim-bot.ts).
34
+ */
35
+ export declare function roomsBotUrl(homeserverUrl: string): string;
36
+ export interface MatrixAccountDeps {
37
+ /** Progress for the terminal — three round trips otherwise go by in silence. Never the secrets. */
38
+ log?: (message: string) => void;
39
+ }
40
+ export interface CreateMatrixAccountInput {
41
+ homeserverUrl: string;
42
+ /** The oracle's bech32 address — `ORACLE_ADDRESS`, and what the challenge claims to speak for. */
43
+ address: string;
44
+ /** `ORACLE_SECP_MNEMONIC` — signs the challenge; must derive `address`. */
45
+ secpMnemonic: string;
46
+ password: string;
47
+ }
48
+ /**
49
+ * Create the oracle's Matrix account through the rooms bot. Idempotent: an account that already
50
+ * exists is reported as `created: false` (the caller logs in to it), never re-created.
51
+ */
52
+ export declare function createMatrixAccount(deps: MatrixAccountDeps, input: CreateMatrixAccountInput): Promise<{
53
+ userId: string;
54
+ created: boolean;
55
+ }>;
56
+ /**
57
+ * `m.login.password` against the raw Client-Server API (no SDK — chain.ts's session login does the
58
+ * same). The returned token is the oracle's account credential: it is never logged or printed.
59
+ */
60
+ export declare function matrixLogin(homeserverUrl: string, userId: string, password: string): Promise<string>;
61
+ /**
62
+ * Whose token this is (`lib/matrix/api.ts` `whoami`) — the skip check for a `.dev.vars` that
63
+ * already holds one. A token the homeserver rejects is the EXPECTED negative (rotated, expired,
64
+ * from another homeserver), so it answers `null` rather than throwing: the caller logs in again.
65
+ */
66
+ export declare function matrixWhoami(homeserverUrl: string, token: string): Promise<string | null>;
67
+ /** The name the oracle shows up as on its review cards — qiforge simplifiedRegistration.ts:149. */
68
+ export declare function setDisplayName(homeserverUrl: string, token: string, userId: string, name: string): Promise<void>;
69
+ /**
70
+ * Write `KEY="value"` into a provider's secrets file, replacing the line for KEY when there is one
71
+ * and leaving every other line — their other secrets, their comments — exactly where it was.
72
+ * Creates the file when absent, mode 0600: it holds credentials, the same reason `saveSession`
73
+ * (session.ts) writes the AuthHub session that way. Quoted because that is the form `readDevVars`
74
+ * (devvars.ts) and `wrangler dev` both strip — and since neither unescapes anything, a value
75
+ * carrying a quote, a backslash or a newline is REFUSED rather than written as a line that would
76
+ * read back as something else (or silently truncate the file's meaning).
77
+ */
78
+ export declare function appendDevVar(envFilePath: string, key: string, value: string): void;
79
+ //# sourceMappingURL=matrix-account.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"matrix-account.d.ts","sourceRoot":"","sources":["../../../src/cli/lib/matrix-account.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAiBH;;;;;;GAMG;AACH,wBAAgB,cAAc,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAGvD;AAED;;;;GAIG;AACH,wBAAgB,WAAW,CAAC,aAAa,EAAE,MAAM,GAAG,MAAM,CAGzD;AAED,MAAM,WAAW,iBAAiB;IAChC,mGAAmG;IACnG,GAAG,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;CACjC;AAED,MAAM,WAAW,wBAAwB;IACvC,aAAa,EAAE,MAAM,CAAC;IACtB,kGAAkG;IAClG,OAAO,EAAE,MAAM,CAAC;IAChB,2EAA2E;IAC3E,YAAY,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAQD;;;GAGG;AACH,wBAAsB,mBAAmB,CACvC,IAAI,EAAE,iBAAiB,EACvB,KAAK,EAAE,wBAAwB,GAC9B,OAAO,CAAC;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,OAAO,CAAA;CAAE,CAAC,CAoF/C;AAuBD;;;GAGG;AACH,wBAAsB,WAAW,CAC/B,aAAa,EAAE,MAAM,EACrB,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,MAAM,CAAC,CAiBjB;AAED;;;;GAIG;AACH,wBAAsB,YAAY,CAAC,aAAa,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAO/F;AAED,mGAAmG;AACnG,wBAAsB,cAAc,CAClC,aAAa,EAAE,MAAM,EACrB,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,MAAM,GACX,OAAO,CAAC,IAAI,CAAC,CAYf;AAED;;;;;;;;GAQG;AACH,wBAAgB,YAAY,CAAC,WAAW,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAkBlF"}
@@ -0,0 +1,228 @@
1
+ /**
2
+ * The oracle's OWN Matrix account — the producer of `ORACLE_MATRIX_ACCESS_TOKEN`, without which the
3
+ * review-card lane (`lib/matrix/deliver.ts`) silently no-ops.
4
+ *
5
+ * A `did-ixo-…` account cannot be registered on the homeserver directly: registration is closed and
6
+ * IXO's ROOMS BOT is the only thing that may mint one. Its `POST /user/create` authenticates the
7
+ * caller with a secp256k1 signature over a challenge naming the address, and takes the account's
8
+ * password ECIES-encrypted to a key the bot publishes — so the password (and therefore the account)
9
+ * never crosses the wire in the clear, and the bot never has to be trusted with a mnemonic.
10
+ *
11
+ * Every field, endpoint and derivation here is ported from qiforge-cli, which is what created every
12
+ * oracle Matrix account that exists today: `src/utils/account/matrix.ts:172-336` (public key,
13
+ * challenge, ECIES, the request), `:571-586` (username + password), `src/utils/common.ts:214-225`
14
+ * (the bot URL convention), `src/utils/account/utils.ts:236-262` (what the signature covers),
15
+ * `simplifiedRegistration.ts:149` (the display name). Anything that drifts from those lines is a
16
+ * bug: the bot is the verifier, and the password IS the account — a changed derivation locks the
17
+ * oracle out of an account that already exists.
18
+ *
19
+ * The access token this mints is a full account credential: it is written straight to the project's
20
+ * `.dev.vars` and is never printed, logged, or put in an error message.
21
+ */
22
+ import { createHash } from "node:crypto";
23
+ import { existsSync, readFileSync, writeFileSync } from "node:fs";
24
+ import { secp256k1 } from "@noble/curves/secp256k1";
25
+ import { sha256 } from "@noble/hashes/sha2";
26
+ import { encrypt as eciesEncrypt } from "eciesjs";
27
+ import { deriveOracleKey } from "../../lib/engine/adr36.js";
28
+ import { mxidFromDid } from "../../lib/matrix/mxid.js";
29
+ const V3 = "/_matrix/client/v3";
30
+ /** The device this token belongs to, as the homeserver shows it — the same string chain.ts uses. */
31
+ const DEVICE_NAME = "decision-oracle CLI";
32
+ /** `${base(home)}/_matrix/…` is never `//_matrix` (chain.ts's session login strips the same way). */
33
+ const base = (homeserverUrl) => homeserverUrl.replace(/\/+$/, "");
34
+ /**
35
+ * The Matrix password for a mnemonic: `base64(md5hex(mnemonic sans spaces))[:24]` — qiforge
36
+ * `generatePasswordFromMnemonic` (matrix.ts:583-586), and the derivation the portal applies to the
37
+ * AuthHub session's own `matrixMnemonic` (chain.ts `matrixLoginFromSession`, which calls this).
38
+ * npm `md5` returns a hex STRING and `Buffer.from(<string>)` takes its utf8 bytes, so the base64 is
39
+ * over the 32 hex characters — not over the 16 digest bytes.
40
+ */
41
+ export function matrixPassword(mnemonic) {
42
+ const md5hex = createHash("md5").update(mnemonic.replace(/ /g, "")).digest("hex");
43
+ return Buffer.from(md5hex).toString("base64").slice(0, 24);
44
+ }
45
+ /**
46
+ * The rooms bot for a homeserver — qiforge `deriveMatrixUrls` (common.ts:214-225): every IXO bot is
47
+ * a subdomain of the homeserver's host, so `https://devmx.ixo.earth` → `https://rooms.bot.devmx…`.
48
+ * The same family as the worker's `https://claim.bot.{domain}` (lib/ixo/claim-bot.ts).
49
+ */
50
+ export function roomsBotUrl(homeserverUrl) {
51
+ const url = new URL(base(homeserverUrl));
52
+ return `${url.protocol}//rooms.bot.${url.hostname}`;
53
+ }
54
+ /**
55
+ * Create the oracle's Matrix account through the rooms bot. Idempotent: an account that already
56
+ * exists is reported as `created: false` (the caller logs in to it), never re-created.
57
+ */
58
+ export async function createMatrixAccount(deps, input) {
59
+ const home = base(input.homeserverUrl);
60
+ // One MXID rule for the whole package (lib/matrix/mxid.ts), so the account the bot creates IS the
61
+ // `ORACLE_MATRIX_USER_ID` the worker posts as; its localpart is qiforge's
62
+ // `generateUsernameFromAddress` (`did-ixo-<address>`, matrix.ts:571-576), taken off the MXID
63
+ // rather than re-derived so the two can never drift.
64
+ const userId = mxidFromDid(`did:ixo:${input.address}`, new URL(home).hostname);
65
+ const username = userId.slice(1, userId.indexOf(":"));
66
+ // qiforge checks availability BEFORE creating (simplifiedRegistration.ts:108-115); here that is
67
+ // the idempotency gate — re-running `oracle init` must log in, not fail on a duplicate.
68
+ if (!(await usernameAvailable(home, username))) {
69
+ deps.log?.(`Matrix account ${userId} already exists`);
70
+ return { userId, created: false };
71
+ }
72
+ // The bot verifies the signature against the key behind `address`; a mnemonic deriving a
73
+ // different one fails there as an opaque 401, so it fails here saying which address it is.
74
+ const key = deriveOracleKey(input.secpMnemonic);
75
+ if (key.address !== input.address) {
76
+ throw new Error(`ORACLE_SECP_MNEMONIC derives ${key.address}, not ${input.address}`);
77
+ }
78
+ const botUrl = roomsBotUrl(home);
79
+ const encryptionKey = await getJson(`${botUrl}/public-key`);
80
+ // qiforge `createUserCreationChallenge` (matrix.ts:196-212) — these exact four fields, base64 of
81
+ // the JSON. The bot re-parses it and checks the address, the type, and the timestamp's freshness.
82
+ const challenge = JSON.stringify({
83
+ timestamp: new Date().toISOString(),
84
+ address: input.address,
85
+ service: "matrix",
86
+ type: "create-account",
87
+ });
88
+ const challengeBase64 = Buffer.from(challenge).toString("base64");
89
+ // What qiforge's wallet signs (utils.ts:236-262): sha256 of the base64-DECODED challenge bytes,
90
+ // as a 64-byte compact r‖s signature (cosmjs's recovery byte is dropped), base64. NOT an ADR-36
91
+ // amino doc — that is a different proof, for the engine (lib/engine/adr36.ts), whose @noble
92
+ // primitives this reuses so the CLI needs no cosmjs on this path.
93
+ const signature = Buffer.from(secp256k1
94
+ .sign(sha256(new Uint8Array(Buffer.from(challengeBase64, "base64"))), key.privkey)
95
+ .toCompactRawBytes()).toString("base64");
96
+ // qiforge `encryptPasswordWithECIES` (matrix.ts:218-224) with the same library the bot decrypts
97
+ // with (`eciesjs`, also what `@ixo/oracles-chain-client` depends on): hex in, hex out.
98
+ const encryptedPassword = Buffer.from(eciesEncrypt(new Uint8Array(Buffer.from(encryptionKey.publicKey, "hex")), new Uint8Array(Buffer.from(input.password, "utf8")))).toString("hex");
99
+ const res = await fetch(`${botUrl}/user/create`, {
100
+ method: "POST",
101
+ headers: { "content-type": "application/json" },
102
+ body: JSON.stringify({
103
+ address: input.address,
104
+ encryptedPassword,
105
+ publicKeyFingerprint: encryptionKey.fingerprint,
106
+ secpResult: { signature, challenge: challengeBase64 },
107
+ }),
108
+ });
109
+ if (!res.ok) {
110
+ const text = await res.text();
111
+ // The availability check above loses only to a concurrent run; the bot's conflict is then the
112
+ // same answer — the account is there, log in to it. Narrow on purpose: any other failure
113
+ // (a rejected signature, an undecryptable password) must surface, not become a silent skip.
114
+ if (res.status === 409 || (res.status === 400 && /already exist|taken|in use/i.test(text))) {
115
+ deps.log?.(`Matrix account ${userId} already exists`);
116
+ return { userId, created: false };
117
+ }
118
+ throw new Error(`rooms bot POST /user/create failed (${res.status}): ${text}`);
119
+ }
120
+ const body = (await res.json());
121
+ if (!body.success)
122
+ throw new Error(`rooms bot did not create ${userId}`);
123
+ // The MXID is pinned in the project's config — a bot that made a different one is a config lie.
124
+ if (body.matrixUserId && body.matrixUserId !== userId) {
125
+ throw new Error(`rooms bot created ${body.matrixUserId}, not ${userId}`);
126
+ }
127
+ deps.log?.(`Matrix account ${userId} created`);
128
+ return { userId, created: true };
129
+ }
130
+ /**
131
+ * Synapse's own availability check — what matrix-js-sdk's `isUsernameAvailable` calls, and what
132
+ * qiforge gates registration on (matrix.ts:337-351). `M_USER_IN_USE` is the only conclusive
133
+ * answer: anything else (the endpoint is rate-limited, and some deployments gate it) is treated as
134
+ * available, leaving `POST /user/create` as the authority.
135
+ */
136
+ async function usernameAvailable(home, username) {
137
+ const res = await fetch(`${home}${V3}/register/available?username=${encodeURIComponent(username)}`);
138
+ if (res.ok)
139
+ return true;
140
+ const body = (await res.json().catch(() => ({})));
141
+ return body.errcode !== "M_USER_IN_USE";
142
+ }
143
+ async function getJson(url) {
144
+ const res = await fetch(url);
145
+ if (!res.ok)
146
+ throw new Error(`GET ${url} failed (${res.status}): ${await res.text()}`);
147
+ return (await res.json());
148
+ }
149
+ /**
150
+ * `m.login.password` against the raw Client-Server API (no SDK — chain.ts's session login does the
151
+ * same). The returned token is the oracle's account credential: it is never logged or printed.
152
+ */
153
+ export async function matrixLogin(homeserverUrl, userId, password) {
154
+ const res = await fetch(`${base(homeserverUrl)}${V3}/login`, {
155
+ method: "POST",
156
+ headers: { "content-type": "application/json" },
157
+ body: JSON.stringify({
158
+ type: "m.login.password",
159
+ identifier: { type: "m.id.user", user: userId },
160
+ password,
161
+ initial_device_display_name: DEVICE_NAME,
162
+ }),
163
+ });
164
+ if (!res.ok) {
165
+ throw new Error(`Matrix login as ${userId} failed (${res.status}): ${await res.text()}`);
166
+ }
167
+ const { access_token } = (await res.json());
168
+ if (!access_token)
169
+ throw new Error(`Matrix login as ${userId} returned no access token`);
170
+ return access_token;
171
+ }
172
+ /**
173
+ * Whose token this is (`lib/matrix/api.ts` `whoami`) — the skip check for a `.dev.vars` that
174
+ * already holds one. A token the homeserver rejects is the EXPECTED negative (rotated, expired,
175
+ * from another homeserver), so it answers `null` rather than throwing: the caller logs in again.
176
+ */
177
+ export async function matrixWhoami(homeserverUrl, token) {
178
+ const res = await fetch(`${base(homeserverUrl)}${V3}/account/whoami`, {
179
+ headers: { authorization: `Bearer ${token}` },
180
+ });
181
+ if (!res.ok)
182
+ return null;
183
+ const { user_id } = (await res.json());
184
+ return user_id ?? null;
185
+ }
186
+ /** The name the oracle shows up as on its review cards — qiforge simplifiedRegistration.ts:149. */
187
+ export async function setDisplayName(homeserverUrl, token, userId, name) {
188
+ const res = await fetch(`${base(homeserverUrl)}${V3}/profile/${encodeURIComponent(userId)}/displayname`, {
189
+ method: "PUT",
190
+ headers: { authorization: `Bearer ${token}`, "content-type": "application/json" },
191
+ body: JSON.stringify({ displayname: name }),
192
+ });
193
+ if (!res.ok) {
194
+ throw new Error(`Matrix set display name for ${userId} failed (${res.status})`);
195
+ }
196
+ }
197
+ /**
198
+ * Write `KEY="value"` into a provider's secrets file, replacing the line for KEY when there is one
199
+ * and leaving every other line — their other secrets, their comments — exactly where it was.
200
+ * Creates the file when absent, mode 0600: it holds credentials, the same reason `saveSession`
201
+ * (session.ts) writes the AuthHub session that way. Quoted because that is the form `readDevVars`
202
+ * (devvars.ts) and `wrangler dev` both strip — and since neither unescapes anything, a value
203
+ * carrying a quote, a backslash or a newline is REFUSED rather than written as a line that would
204
+ * read back as something else (or silently truncate the file's meaning).
205
+ */
206
+ export function appendDevVar(envFilePath, key, value) {
207
+ if (/["\\\r\n]/.test(value)) {
208
+ throw new Error(`${key} value contains a quote, backslash or newline — refusing to write it`);
209
+ }
210
+ const line = `${key}="${value}"`;
211
+ if (!existsSync(envFilePath)) {
212
+ writeFileSync(envFilePath, `${line}\n`, { mode: 0o600 });
213
+ return;
214
+ }
215
+ const lines = readFileSync(envFilePath, "utf8").split("\n");
216
+ // Trailing blank lines go first, so the file ends in exactly one newline either way: a file
217
+ // without one would otherwise glue the new var onto its last line, and one with it would grow a
218
+ // blank line per write.
219
+ while (lines.length > 0 && lines[lines.length - 1]?.trim() === "")
220
+ lines.pop();
221
+ const index = lines.findIndex((l) => l.trim().startsWith(`${key}=`));
222
+ if (index >= 0)
223
+ lines[index] = line;
224
+ else
225
+ lines.push(line);
226
+ writeFileSync(envFilePath, `${lines.join("\n")}\n`);
227
+ }
228
+ //# sourceMappingURL=matrix-account.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"matrix-account.js","sourceRoot":"","sources":["../../../src/cli/lib/matrix-account.ts"],"names":[],"mappings":"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"}