keri-ts 2.0.1 → 2.2.0

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 (450) hide show
  1. package/README.md +30 -2
  2. package/esm/keri/npm/src/acdc/authoring.js +195 -0
  3. package/esm/keri/npm/src/acdc/chaining.js +223 -89
  4. package/esm/keri/npm/src/acdc/custody.js +164 -0
  5. package/esm/keri/npm/src/acdc/dhking.js +244 -32
  6. package/esm/keri/npm/src/acdc/observing.js +2 -2
  7. package/esm/keri/npm/src/acdc/regbasing.js +30 -29
  8. package/esm/keri/npm/src/acdc/regengine.js +4 -6
  9. package/esm/keri/npm/src/acdc/registering.js +13 -10
  10. package/esm/keri/npm/src/acdc/registraring.js +4 -9
  11. package/esm/keri/npm/src/acdc/salting.js +143 -26
  12. package/esm/keri/npm/src/acdc/scheming.js +93 -54
  13. package/esm/keri/npm/src/acdc/unblinding.js +120 -99
  14. package/esm/keri/npm/src/app/bootstrap/authenticating.js +4 -6
  15. package/esm/keri/npm/src/app/bootstrap/oobi-resolving.js +41 -0
  16. package/esm/keri/npm/src/app/bootstrap/oobiery.js +5 -7
  17. package/esm/keri/npm/src/app/credentials/credential-revoking.js +1 -0
  18. package/esm/keri/npm/src/app/credentials/credential-workflows.js +2 -0
  19. package/esm/keri/npm/src/app/credentials/registry-settling.js +44 -0
  20. package/esm/keri/npm/src/app/credentials/root-replicating.js +131 -0
  21. package/esm/keri/npm/src/app/credentials/root-replicator.js +198 -0
  22. package/esm/keri/npm/src/app/credentials/tel-completion.js +36 -0
  23. package/esm/keri/npm/src/app/credentials/verifying.js +12 -3
  24. package/esm/keri/npm/src/app/delivery/forwarding.js +64 -9
  25. package/esm/keri/npm/src/app/exchanges/exchanging.js +24 -15
  26. package/esm/keri/npm/src/app/identity/challenging.js +50 -0
  27. package/esm/keri/npm/src/app/identity/configing.js +17 -43
  28. package/esm/keri/npm/src/app/identity/delegating.js +77 -77
  29. package/esm/keri/npm/src/app/identity/delegation-approval.js +333 -0
  30. package/esm/keri/npm/src/app/identity/event-completion.js +154 -0
  31. package/esm/keri/npm/src/app/identity/habbing.js +183 -41
  32. package/esm/keri/npm/src/app/identity/keeping.js +78 -5
  33. package/esm/keri/npm/src/app/identity/lmdb-habery.js +12 -0
  34. package/esm/keri/npm/src/app/ipex/group-ipex.js +327 -0
  35. package/esm/keri/npm/src/app/ipex/group-issuance.js +902 -0
  36. package/esm/keri/npm/src/app/ipex/ipex-admitting.js +120 -0
  37. package/esm/keri/npm/src/app/ipex/ipex-conversation.js +197 -0
  38. package/esm/keri/npm/src/app/ipex/ipex-discloser.js +591 -0
  39. package/esm/keri/npm/src/app/ipex/ipex-granting.js +93 -0
  40. package/esm/keri/npm/src/app/ipex/ipex-graph.js +7 -70
  41. package/esm/keri/npm/src/app/ipex/ipex-grouping.js +42 -16
  42. package/esm/keri/npm/src/app/ipex/ipex-v2.js +21 -5
  43. package/esm/keri/npm/src/app/ipex/ipexing.js +1 -1
  44. package/esm/keri/npm/src/app/ipex/issuance.js +888 -0
  45. package/esm/keri/npm/src/app/ipex/pending-presentations.js +46 -0
  46. package/esm/keri/npm/src/app/ipex/presentation-files.js +200 -0
  47. package/esm/keri/npm/src/app/ipex/presenting.js +401 -0
  48. package/esm/keri/npm/src/app/ipex/receive-issuance.js +86 -0
  49. package/esm/keri/npm/src/app/ipex/unblinding-workflow.js +660 -0
  50. package/esm/keri/npm/src/app/mailbox/ipex-arrival.js +103 -0
  51. package/esm/keri/npm/src/app/mailbox/kel-publisher.js +322 -0
  52. package/esm/keri/npm/src/app/mailbox/kel-publishing.js +65 -0
  53. package/esm/keri/npm/src/app/mailbox/kel-submission.js +24 -0
  54. package/esm/keri/npm/src/app/mailbox/mailbox-admin.js +208 -0
  55. package/esm/keri/npm/src/app/mailbox/mailbox-poller.js +212 -47
  56. package/esm/keri/npm/src/app/mailbox/mailboxing.js +15 -14
  57. package/esm/keri/npm/src/app/multisig/counseling.js +482 -0
  58. package/esm/keri/npm/src/app/multisig/group-members.js +32 -0
  59. package/esm/keri/npm/src/app/multisig/grouping.js +4 -3
  60. package/esm/keri/npm/src/app/multisig/multisig-workflows.js +101 -141
  61. package/esm/keri/npm/src/app/multisig/proposals.js +281 -0
  62. package/esm/keri/npm/src/app/multisig/proposing.js +122 -0
  63. package/esm/keri/npm/src/app/notifications/notifying.js +5 -9
  64. package/esm/keri/npm/src/app/notifications/signaling.js +5 -5
  65. package/esm/keri/npm/src/app/protocol/parsering.js +26 -1
  66. package/esm/keri/npm/src/app/protocol/protocol-processing.js +44 -6
  67. package/esm/keri/npm/src/app/queries/query-workflows.js +98 -0
  68. package/esm/keri/npm/src/app/queries/witness-inquisitor.js +2 -2
  69. package/esm/keri/npm/src/app/runtime/agent-runtime.js +113 -65
  70. package/esm/keri/npm/src/app/runtime/cue-runtime.js +3 -6
  71. package/esm/keri/npm/src/app/runtime/delivery-outbox.js +87 -0
  72. package/esm/keri/npm/src/app/runtime/doing.js +17 -0
  73. package/esm/keri/npm/src/app/runtime/ipex-auxiliaries.js +207 -0
  74. package/esm/keri/npm/src/app/runtime/operation-owners.js +151 -0
  75. package/esm/keri/npm/src/app/runtime/retry-backoff.js +93 -0
  76. package/esm/keri/npm/src/app/runtime/workflow-contract.js +80 -0
  77. package/esm/keri/npm/src/app/transport/byte-source.js +6 -42
  78. package/esm/keri/npm/src/app/transport/cesr-egress.js +77 -13
  79. package/esm/keri/npm/src/app/transport/file-bytes.js +41 -0
  80. package/esm/keri/npm/src/app/transport/http-client.js +25 -6
  81. package/esm/keri/npm/src/app/transport/http-messenger.js +14 -9
  82. package/esm/keri/npm/src/app/transport/message-source.js +1 -1
  83. package/esm/keri/npm/src/app/transport/messengering.js +3 -4
  84. package/esm/keri/npm/src/app/transport/node-http-client.js +21 -0
  85. package/esm/keri/npm/src/app/transport/tcp-dialer.js +14 -0
  86. package/esm/keri/npm/src/app/witness/http-endpoints.js +4 -4
  87. package/esm/keri/npm/src/app/witness/receipt-client.js +2 -2
  88. package/esm/keri/npm/src/cli/common/context.js +2 -2
  89. package/esm/keri/npm/src/cli/common/event-completion.js +49 -0
  90. package/esm/keri/npm/src/cli/common/existing.js +3 -5
  91. package/esm/keri/npm/src/cli/common/runtime-workers.js +23 -0
  92. package/esm/keri/npm/src/cli/credentials/ipex.js +159 -191
  93. package/esm/keri/npm/src/cli/credentials/vc.js +53 -72
  94. package/esm/keri/npm/src/cli/endpoints/did.js +12 -3
  95. package/esm/keri/npm/src/cli/endpoints/oobi-clean.js +4 -3
  96. package/esm/keri/npm/src/cli/endpoints/oobi.js +12 -15
  97. package/esm/keri/npm/src/cli/identity/challenge.js +9 -35
  98. package/esm/keri/npm/src/cli/identity/delegate.js +81 -258
  99. package/esm/keri/npm/src/cli/identity/incept.js +17 -34
  100. package/esm/keri/npm/src/cli/identity/init.js +4 -3
  101. package/esm/keri/npm/src/cli/identity/interact.js +7 -19
  102. package/esm/keri/npm/src/cli/identity/rotate.js +10 -38
  103. package/esm/keri/npm/src/cli/index.js +3 -1
  104. package/esm/keri/npm/src/cli/messaging/exchange.js +2 -2
  105. package/esm/keri/npm/src/cli/messaging/group-join.js +79 -0
  106. package/esm/keri/npm/src/cli/messaging/group-wait.js +88 -0
  107. package/esm/keri/npm/src/cli/messaging/multisig.js +187 -250
  108. package/esm/keri/npm/src/cli/messaging/root-copy-lines.js +31 -0
  109. package/esm/keri/npm/src/cli/tools/annotate.js +2 -1
  110. package/esm/keri/npm/src/cli/tools/benchmark.js +2 -1
  111. package/esm/keri/npm/src/cli/tools/db-dump.js +1 -4
  112. package/esm/keri/npm/src/core/bytes.js +9 -0
  113. package/esm/keri/npm/src/core/kel/delegation-ancestry.js +92 -0
  114. package/esm/keri/npm/src/core/kel/eventing.js +67 -12
  115. package/esm/keri/npm/src/core/kel/kever.js +11 -9
  116. package/esm/keri/npm/src/core/mailbox/kram-policy.js +41 -9
  117. package/esm/keri/npm/src/core/mailbox/kram-pruning.js +15 -22
  118. package/esm/keri/npm/src/core/mailbox/kram-staging.js +2 -2
  119. package/esm/keri/npm/src/core/mailbox/kraming.js +2 -0
  120. package/esm/keri/npm/src/core/records.js +23 -0
  121. package/esm/keri/npm/src/core/routing.js +15 -2
  122. package/esm/keri/npm/src/db/basing.js +183 -205
  123. package/esm/keri/npm/src/db/core/dber.js +1062 -0
  124. package/esm/keri/npm/src/db/core/index.js +4 -2
  125. package/esm/keri/npm/src/db/core/indexeddb-persistence.js +221 -0
  126. package/esm/keri/npm/src/db/core/lmdb-opener.js +30 -0
  127. package/esm/keri/npm/src/db/core/lmdber.js +199 -1067
  128. package/esm/keri/npm/src/db/core/memstore.js +532 -0
  129. package/esm/keri/npm/src/db/core/path-manager.js +109 -223
  130. package/esm/keri/npm/src/db/core/store-owner.js +104 -0
  131. package/esm/keri/npm/src/db/core/webdber.js +252 -0
  132. package/esm/keri/npm/src/db/escrowing.js +2 -2
  133. package/esm/keri/npm/src/db/exchange/exchange-nests.js +3 -2
  134. package/esm/keri/npm/src/db/indexeddb.js +98 -0
  135. package/esm/keri/npm/src/db/keeping.js +38 -123
  136. package/esm/keri/npm/src/db/koming.js +1 -1
  137. package/esm/keri/npm/src/db/lmdb-stores.js +68 -0
  138. package/esm/keri/npm/src/db/lmdb.js +6 -0
  139. package/esm/keri/npm/src/db/mailbox/mailboxing.js +12 -65
  140. package/esm/keri/npm/src/db/noting.js +11 -55
  141. package/esm/keri/npm/src/db/reger.js +43 -105
  142. package/esm/keri/npm/src/db/replay/witness-replay.js +2 -20
  143. package/esm/keri/npm/src/db/store-lock.js +150 -0
  144. package/esm/keri/npm/src/db/subing.js +1 -1
  145. package/esm/keri/npm/src/npm/db-indexeddb.browser.js +2 -0
  146. package/esm/keri/npm/src/npm/db-indexeddb.js +3 -0
  147. package/esm/keri/npm/src/npm/db-lmdb.js +3 -0
  148. package/esm/keri/npm/src/npm/db.browser.js +2 -0
  149. package/esm/keri/npm/src/npm/index.browser.js +9 -0
  150. package/esm/keri/npm/src/npm/runtime-node.js +3 -0
  151. package/esm/keri/npm/src/npm/runtime-web.browser.js +2 -0
  152. package/esm/keri/npm/src/npm/runtime-web.js +3 -0
  153. package/esm/keri/npm/src/npm/runtime.browser.js +2 -0
  154. package/esm/keri/npm/src/runtime/index.js +58 -12
  155. package/esm/keri/npm/src/runtime/node.js +14 -0
  156. package/esm/keri/npm/src/runtime/web/output-barrier.js +47 -0
  157. package/esm/keri/npm/src/runtime/web/persistent-storage.js +37 -0
  158. package/esm/keri/npm/src/runtime/web.js +10 -0
  159. package/esm/keri/npm/src/vdr/eventing.js +1 -1
  160. package/esm/keri/npm/src/vdr/tel-publication.js +19 -3
  161. package/esm/keri/npm/src/version.js +2 -2
  162. package/package.json +24 -4
  163. package/types/acdc/authoring.d.ts +54 -0
  164. package/types/acdc/authoring.d.ts.map +1 -0
  165. package/types/acdc/chaining.d.ts +56 -6
  166. package/types/acdc/chaining.d.ts.map +1 -1
  167. package/types/acdc/custody.d.ts +77 -0
  168. package/types/acdc/custody.d.ts.map +1 -0
  169. package/types/acdc/dhking.d.ts +94 -3
  170. package/types/acdc/dhking.d.ts.map +1 -1
  171. package/types/acdc/regbasing.d.ts +11 -6
  172. package/types/acdc/regbasing.d.ts.map +1 -1
  173. package/types/acdc/regengine.d.ts.map +1 -1
  174. package/types/acdc/registering.d.ts +8 -4
  175. package/types/acdc/registering.d.ts.map +1 -1
  176. package/types/acdc/registraring.d.ts.map +1 -1
  177. package/types/acdc/salting.d.ts +59 -7
  178. package/types/acdc/salting.d.ts.map +1 -1
  179. package/types/acdc/scheming.d.ts +2 -0
  180. package/types/acdc/scheming.d.ts.map +1 -1
  181. package/types/acdc/unblinding.d.ts +58 -19
  182. package/types/acdc/unblinding.d.ts.map +1 -1
  183. package/types/app/bootstrap/authenticating.d.ts +3 -1
  184. package/types/app/bootstrap/authenticating.d.ts.map +1 -1
  185. package/types/app/bootstrap/oobi-resolving.d.ts +92 -0
  186. package/types/app/bootstrap/oobi-resolving.d.ts.map +1 -0
  187. package/types/app/bootstrap/oobiery.d.ts +3 -1
  188. package/types/app/bootstrap/oobiery.d.ts.map +1 -1
  189. package/types/app/credentials/credential-revoking.d.ts +3 -0
  190. package/types/app/credentials/credential-revoking.d.ts.map +1 -1
  191. package/types/app/credentials/credential-workflows.d.ts +5 -0
  192. package/types/app/credentials/credential-workflows.d.ts.map +1 -1
  193. package/types/app/credentials/registry-settling.d.ts +85 -0
  194. package/types/app/credentials/registry-settling.d.ts.map +1 -0
  195. package/types/app/credentials/root-replicating.d.ts +97 -0
  196. package/types/app/credentials/root-replicating.d.ts.map +1 -0
  197. package/types/app/credentials/root-replicator.d.ts +105 -0
  198. package/types/app/credentials/root-replicator.d.ts.map +1 -0
  199. package/types/app/credentials/tel-completion.d.ts +55 -0
  200. package/types/app/credentials/tel-completion.d.ts.map +1 -0
  201. package/types/app/credentials/verifying.d.ts +2 -1
  202. package/types/app/credentials/verifying.d.ts.map +1 -1
  203. package/types/app/delivery/forwarding.d.ts +16 -0
  204. package/types/app/delivery/forwarding.d.ts.map +1 -1
  205. package/types/app/exchanges/exchanging.d.ts +2 -0
  206. package/types/app/exchanges/exchanging.d.ts.map +1 -1
  207. package/types/app/identity/challenging.d.ts +54 -0
  208. package/types/app/identity/challenging.d.ts.map +1 -1
  209. package/types/app/identity/configing.d.ts +7 -5
  210. package/types/app/identity/configing.d.ts.map +1 -1
  211. package/types/app/identity/delegating.d.ts +21 -4
  212. package/types/app/identity/delegating.d.ts.map +1 -1
  213. package/types/app/identity/delegation-approval.d.ts +228 -0
  214. package/types/app/identity/delegation-approval.d.ts.map +1 -0
  215. package/types/app/identity/event-completion.d.ts +151 -0
  216. package/types/app/identity/event-completion.d.ts.map +1 -0
  217. package/types/app/identity/habbing.d.ts +90 -7
  218. package/types/app/identity/habbing.d.ts.map +1 -1
  219. package/types/app/identity/keeping.d.ts +50 -4
  220. package/types/app/identity/keeping.d.ts.map +1 -1
  221. package/types/app/identity/lmdb-habery.d.ts +6 -0
  222. package/types/app/identity/lmdb-habery.d.ts.map +1 -0
  223. package/types/app/ipex/group-ipex.d.ts +247 -0
  224. package/types/app/ipex/group-ipex.d.ts.map +1 -0
  225. package/types/app/ipex/group-issuance.d.ts +281 -0
  226. package/types/app/ipex/group-issuance.d.ts.map +1 -0
  227. package/types/app/ipex/ipex-admitting.d.ts +47 -0
  228. package/types/app/ipex/ipex-admitting.d.ts.map +1 -0
  229. package/types/app/ipex/ipex-conversation.d.ts +195 -0
  230. package/types/app/ipex/ipex-conversation.d.ts.map +1 -0
  231. package/types/app/ipex/ipex-discloser.d.ts +156 -0
  232. package/types/app/ipex/ipex-discloser.d.ts.map +1 -0
  233. package/types/app/ipex/ipex-granting.d.ts +145 -0
  234. package/types/app/ipex/ipex-granting.d.ts.map +1 -0
  235. package/types/app/ipex/ipex-graph.d.ts +4 -4
  236. package/types/app/ipex/ipex-graph.d.ts.map +1 -1
  237. package/types/app/ipex/ipex-grouping.d.ts +18 -0
  238. package/types/app/ipex/ipex-grouping.d.ts.map +1 -1
  239. package/types/app/ipex/ipex-v2.d.ts +11 -2
  240. package/types/app/ipex/ipex-v2.d.ts.map +1 -1
  241. package/types/app/ipex/ipexing.d.ts +3 -0
  242. package/types/app/ipex/ipexing.d.ts.map +1 -1
  243. package/types/app/ipex/issuance.d.ts +443 -0
  244. package/types/app/ipex/issuance.d.ts.map +1 -0
  245. package/types/app/ipex/pending-presentations.d.ts +25 -0
  246. package/types/app/ipex/pending-presentations.d.ts.map +1 -0
  247. package/types/app/ipex/presentation-files.d.ts +47 -0
  248. package/types/app/ipex/presentation-files.d.ts.map +1 -0
  249. package/types/app/ipex/presenting.d.ts +298 -0
  250. package/types/app/ipex/presenting.d.ts.map +1 -0
  251. package/types/app/ipex/receive-issuance.d.ts +99 -0
  252. package/types/app/ipex/receive-issuance.d.ts.map +1 -0
  253. package/types/app/ipex/unblinding-workflow.d.ts +255 -0
  254. package/types/app/ipex/unblinding-workflow.d.ts.map +1 -0
  255. package/types/app/mailbox/ipex-arrival.d.ts +104 -0
  256. package/types/app/mailbox/ipex-arrival.d.ts.map +1 -0
  257. package/types/app/mailbox/kel-publisher.d.ts +141 -0
  258. package/types/app/mailbox/kel-publisher.d.ts.map +1 -0
  259. package/types/app/mailbox/kel-publishing.d.ts +70 -0
  260. package/types/app/mailbox/kel-publishing.d.ts.map +1 -0
  261. package/types/app/mailbox/kel-submission.d.ts +18 -0
  262. package/types/app/mailbox/kel-submission.d.ts.map +1 -0
  263. package/types/app/mailbox/mailbox-admin.d.ts +113 -0
  264. package/types/app/mailbox/mailbox-admin.d.ts.map +1 -0
  265. package/types/app/mailbox/mailbox-poller.d.ts +92 -3
  266. package/types/app/mailbox/mailbox-poller.d.ts.map +1 -1
  267. package/types/app/mailbox/mailboxing.d.ts +4 -1
  268. package/types/app/mailbox/mailboxing.d.ts.map +1 -1
  269. package/types/app/multisig/counseling.d.ts +196 -0
  270. package/types/app/multisig/counseling.d.ts.map +1 -0
  271. package/types/app/multisig/group-members.d.ts +20 -0
  272. package/types/app/multisig/group-members.d.ts.map +1 -1
  273. package/types/app/multisig/grouping.d.ts +39 -20
  274. package/types/app/multisig/grouping.d.ts.map +1 -1
  275. package/types/app/multisig/multisig-workflows.d.ts +93 -23
  276. package/types/app/multisig/multisig-workflows.d.ts.map +1 -1
  277. package/types/app/multisig/proposals.d.ts +129 -0
  278. package/types/app/multisig/proposals.d.ts.map +1 -0
  279. package/types/app/multisig/proposing.d.ts +125 -0
  280. package/types/app/multisig/proposing.d.ts.map +1 -0
  281. package/types/app/notifications/notifying.d.ts +1 -1
  282. package/types/app/notifications/notifying.d.ts.map +1 -1
  283. package/types/app/notifications/signaling.d.ts +3 -1
  284. package/types/app/notifications/signaling.d.ts.map +1 -1
  285. package/types/app/protocol/parsering.d.ts +16 -1
  286. package/types/app/protocol/parsering.d.ts.map +1 -1
  287. package/types/app/protocol/protocol-processing.d.ts +9 -1
  288. package/types/app/protocol/protocol-processing.d.ts.map +1 -1
  289. package/types/app/queries/query-workflows.d.ts +98 -0
  290. package/types/app/queries/query-workflows.d.ts.map +1 -0
  291. package/types/app/runtime/agent-runtime.d.ts +79 -25
  292. package/types/app/runtime/agent-runtime.d.ts.map +1 -1
  293. package/types/app/runtime/cue-runtime.d.ts +2 -1
  294. package/types/app/runtime/cue-runtime.d.ts.map +1 -1
  295. package/types/app/runtime/delivery-outbox.d.ts +68 -0
  296. package/types/app/runtime/delivery-outbox.d.ts.map +1 -0
  297. package/types/app/runtime/doing.d.ts +27 -0
  298. package/types/app/runtime/doing.d.ts.map +1 -0
  299. package/types/app/runtime/ipex-auxiliaries.d.ts +74 -0
  300. package/types/app/runtime/ipex-auxiliaries.d.ts.map +1 -0
  301. package/types/app/runtime/operation-owners.d.ts +137 -0
  302. package/types/app/runtime/operation-owners.d.ts.map +1 -0
  303. package/types/app/runtime/retry-backoff.d.ts +49 -0
  304. package/types/app/runtime/retry-backoff.d.ts.map +1 -0
  305. package/types/app/runtime/workflow-contract.d.ts +79 -0
  306. package/types/app/runtime/workflow-contract.d.ts.map +1 -0
  307. package/types/app/transport/byte-source.d.ts +13 -10
  308. package/types/app/transport/byte-source.d.ts.map +1 -1
  309. package/types/app/transport/cesr-egress.d.ts +21 -7
  310. package/types/app/transport/cesr-egress.d.ts.map +1 -1
  311. package/types/app/transport/file-bytes.d.ts +11 -0
  312. package/types/app/transport/file-bytes.d.ts.map +1 -0
  313. package/types/app/transport/http-client.d.ts +3 -0
  314. package/types/app/transport/http-client.d.ts.map +1 -1
  315. package/types/app/transport/http-messenger.d.ts +15 -10
  316. package/types/app/transport/http-messenger.d.ts.map +1 -1
  317. package/types/app/transport/message-source.d.ts +1 -1
  318. package/types/app/transport/messengering.d.ts +2 -2
  319. package/types/app/transport/messengering.d.ts.map +1 -1
  320. package/types/app/transport/node-http-client.d.ts +10 -0
  321. package/types/app/transport/node-http-client.d.ts.map +1 -0
  322. package/types/app/transport/tcp-dialer.d.ts +21 -0
  323. package/types/app/transport/tcp-dialer.d.ts.map +1 -0
  324. package/types/cli/common/event-completion.d.ts +26 -0
  325. package/types/cli/common/event-completion.d.ts.map +1 -0
  326. package/types/cli/common/existing.d.ts.map +1 -1
  327. package/types/cli/common/runtime-workers.d.ts +23 -0
  328. package/types/cli/common/runtime-workers.d.ts.map +1 -0
  329. package/types/cli/credentials/ipex.d.ts.map +1 -1
  330. package/types/cli/credentials/vc.d.ts +1 -1
  331. package/types/cli/credentials/vc.d.ts.map +1 -1
  332. package/types/cli/endpoints/did.d.ts.map +1 -1
  333. package/types/cli/endpoints/oobi-clean.d.ts.map +1 -1
  334. package/types/cli/endpoints/oobi.d.ts +3 -1
  335. package/types/cli/endpoints/oobi.d.ts.map +1 -1
  336. package/types/cli/identity/challenge.d.ts +1 -1
  337. package/types/cli/identity/challenge.d.ts.map +1 -1
  338. package/types/cli/identity/delegate.d.ts +14 -1
  339. package/types/cli/identity/delegate.d.ts.map +1 -1
  340. package/types/cli/identity/incept.d.ts.map +1 -1
  341. package/types/cli/identity/init.d.ts.map +1 -1
  342. package/types/cli/identity/interact.d.ts.map +1 -1
  343. package/types/cli/identity/rotate.d.ts.map +1 -1
  344. package/types/cli/index.d.ts +4 -2
  345. package/types/cli/index.d.ts.map +1 -1
  346. package/types/cli/messaging/group-join.d.ts +53 -0
  347. package/types/cli/messaging/group-join.d.ts.map +1 -0
  348. package/types/cli/messaging/group-wait.d.ts +34 -0
  349. package/types/cli/messaging/group-wait.d.ts.map +1 -0
  350. package/types/cli/messaging/multisig.d.ts +36 -4
  351. package/types/cli/messaging/multisig.d.ts.map +1 -1
  352. package/types/cli/messaging/root-copy-lines.d.ts +39 -0
  353. package/types/cli/messaging/root-copy-lines.d.ts.map +1 -0
  354. package/types/cli/tools/annotate.d.ts.map +1 -1
  355. package/types/cli/tools/benchmark.d.ts.map +1 -1
  356. package/types/cli/tools/db-dump.d.ts.map +1 -1
  357. package/types/core/bytes.d.ts +2 -0
  358. package/types/core/bytes.d.ts.map +1 -1
  359. package/types/core/cues.d.ts +11 -0
  360. package/types/core/cues.d.ts.map +1 -1
  361. package/types/core/kel/delegation-ancestry.d.ts +41 -0
  362. package/types/core/kel/delegation-ancestry.d.ts.map +1 -0
  363. package/types/core/kel/eventing.d.ts.map +1 -1
  364. package/types/core/kel/kever.d.ts +5 -4
  365. package/types/core/kel/kever.d.ts.map +1 -1
  366. package/types/core/mailbox/kram-policy.d.ts +14 -0
  367. package/types/core/mailbox/kram-policy.d.ts.map +1 -1
  368. package/types/core/mailbox/kram-pruning.d.ts +1 -3
  369. package/types/core/mailbox/kram-pruning.d.ts.map +1 -1
  370. package/types/core/mailbox/kraming.d.ts +1 -1
  371. package/types/core/mailbox/kraming.d.ts.map +1 -1
  372. package/types/core/records.d.ts +61 -0
  373. package/types/core/records.d.ts.map +1 -1
  374. package/types/core/routing.d.ts +6 -0
  375. package/types/core/routing.d.ts.map +1 -1
  376. package/types/db/basing.d.ts +22 -25
  377. package/types/db/basing.d.ts.map +1 -1
  378. package/types/db/core/dber.d.ts +505 -0
  379. package/types/db/core/dber.d.ts.map +1 -0
  380. package/types/db/core/index.d.ts +4 -2
  381. package/types/db/core/index.d.ts.map +1 -1
  382. package/types/db/core/indexeddb-persistence.d.ts +59 -0
  383. package/types/db/core/indexeddb-persistence.d.ts.map +1 -0
  384. package/types/db/core/lmdb-opener.d.ts +17 -0
  385. package/types/db/core/lmdb-opener.d.ts.map +1 -0
  386. package/types/db/core/lmdber.d.ts +60 -383
  387. package/types/db/core/lmdber.d.ts.map +1 -1
  388. package/types/db/core/memstore.d.ts +129 -0
  389. package/types/db/core/memstore.d.ts.map +1 -0
  390. package/types/db/core/path-manager.d.ts +22 -45
  391. package/types/db/core/path-manager.d.ts.map +1 -1
  392. package/types/db/core/store-owner.d.ts +59 -0
  393. package/types/db/core/store-owner.d.ts.map +1 -0
  394. package/types/db/core/webdber.d.ts +127 -0
  395. package/types/db/core/webdber.d.ts.map +1 -0
  396. package/types/db/escrowing.d.ts +3 -3
  397. package/types/db/escrowing.d.ts.map +1 -1
  398. package/types/db/exchange/exchange-nests.d.ts.map +1 -1
  399. package/types/db/indexeddb.d.ts +37 -0
  400. package/types/db/indexeddb.d.ts.map +1 -0
  401. package/types/db/keeping.d.ts +14 -25
  402. package/types/db/keeping.d.ts.map +1 -1
  403. package/types/db/koming.d.ts +7 -8
  404. package/types/db/koming.d.ts.map +1 -1
  405. package/types/db/lmdb-stores.d.ts +45 -0
  406. package/types/db/lmdb-stores.d.ts.map +1 -0
  407. package/types/db/lmdb.d.ts +7 -0
  408. package/types/db/lmdb.d.ts.map +1 -0
  409. package/types/db/mailbox/mailboxing.d.ts +7 -21
  410. package/types/db/mailbox/mailboxing.d.ts.map +1 -1
  411. package/types/db/noting.d.ts +7 -12
  412. package/types/db/noting.d.ts.map +1 -1
  413. package/types/db/reger.d.ts +7 -11
  414. package/types/db/reger.d.ts.map +1 -1
  415. package/types/db/replay/witness-replay.d.ts +0 -2
  416. package/types/db/replay/witness-replay.d.ts.map +1 -1
  417. package/types/db/store-lock.d.ts +72 -0
  418. package/types/db/store-lock.d.ts.map +1 -0
  419. package/types/db/subing.d.ts +24 -25
  420. package/types/db/subing.d.ts.map +1 -1
  421. package/types/npm/db-indexeddb.d.ts +4 -0
  422. package/types/npm/db-indexeddb.d.ts.map +1 -0
  423. package/types/npm/db-lmdb.d.ts +4 -0
  424. package/types/npm/db-lmdb.d.ts.map +1 -0
  425. package/types/npm/runtime-node.d.ts +4 -0
  426. package/types/npm/runtime-node.d.ts.map +1 -0
  427. package/types/npm/runtime-web.d.ts +4 -0
  428. package/types/npm/runtime-web.d.ts.map +1 -0
  429. package/types/runtime/index.d.ts +48 -14
  430. package/types/runtime/index.d.ts.map +1 -1
  431. package/types/runtime/node.d.ts +15 -0
  432. package/types/runtime/node.d.ts.map +1 -0
  433. package/types/runtime/web/output-barrier.d.ts +30 -0
  434. package/types/runtime/web/output-barrier.d.ts.map +1 -0
  435. package/types/runtime/web/persistent-storage.d.ts +36 -0
  436. package/types/runtime/web/persistent-storage.d.ts.map +1 -0
  437. package/types/runtime/web.d.ts +11 -0
  438. package/types/runtime/web.d.ts.map +1 -0
  439. package/types/vdr/tel-publication.d.ts +6 -0
  440. package/types/vdr/tel-publication.d.ts.map +1 -1
  441. package/types/version.d.ts +2 -2
  442. package/esm/keri/npm/src/acdc/relating.js +0 -59
  443. package/esm/keri/npm/src/cli/common/tel-completion.js +0 -24
  444. package/esm/keri/npm/src/db/baser-defaults.js +0 -11
  445. package/types/acdc/relating.d.ts +0 -21
  446. package/types/acdc/relating.d.ts.map +0 -1
  447. package/types/cli/common/tel-completion.d.ts +0 -8
  448. package/types/cli/common/tel-completion.d.ts.map +0 -1
  449. package/types/db/baser-defaults.d.ts +0 -5
  450. package/types/db/baser-defaults.d.ts.map +0 -1
@@ -0,0 +1,74 @@
1
+ /**
2
+ * Runtime-owned registry of IPEX auxiliary owners (DH and Unblind), keyed by local identifier.
3
+ *
4
+ * The runtime registers one query receiver and one reply resource per route. Both resolve the
5
+ * addressed local identifier at dispatch time and create that identifier's owner then, so a wallet
6
+ * with several identifiers needs no owner before the first message and no hook when an identifier
7
+ * is made, joined or reloaded.
8
+ *
9
+ * Dispatch key: an `/ipex/*` message carries the sender (`pre`) and the transaction id (`q.x` for
10
+ * a query, `a.x` for a reply) but no recipient. The addressed local identifier is, from stored state:
11
+ * the holder of an approved operation for that id; for DH the recipient of a Grant `sender` opened in
12
+ * that transaction, and for Unblind the sender of a Grant addressed to `sender`; and, for a local
13
+ * group, itself when it is `sender` (its own members' contributions, which KRAM must pool). Exactly one
14
+ * such identifier owns the message; none or several leave it unowned, which is exactly a runtime without
15
+ * that owner: queries drop as `missingProcessor` before KRAM, and replies fail with the Router's
16
+ * missing-route error. Creating an owner grants no consent.
17
+ */
18
+ import type { SerderKERI } from "cesr-ts";
19
+ import { Dhke } from "../../acdc/dhking.js";
20
+ import type { RegistryObserver } from "../../acdc/observing.js";
21
+ import { Unblind } from "../../acdc/unblinding.js";
22
+ import type { KeriDispatchEnvelope } from "../../core/dispatch.js";
23
+ import type { Revery, Router } from "../../core/routing.js";
24
+ import type { Exchanger } from "../exchanges/exchanging.js";
25
+ import type { Hab } from "../identity/habbing.js";
26
+ import type { AuxiliaryQueryProcessor, DispatchDecision } from "../protocol/parsering.js";
27
+ /** Per-identifier DH and Unblind owners behind one query receiver and one reply route each. */
28
+ export declare class IpexAuxiliaries implements AuxiliaryQueryProcessor {
29
+ private readonly exc;
30
+ private readonly registry;
31
+ private readonly rvy;
32
+ private readonly now;
33
+ /** Whether the runtime's KRAM is on; DH and Unblind approval need the rows only KRAM writes. */
34
+ private readonly kram;
35
+ /** Unused: `claims` decides which queries this receiver takes. */
36
+ readonly resource = "/ipex";
37
+ private readonly dhkes;
38
+ private readonly unblinds;
39
+ /**
40
+ * @param exc Exchanger shared by every owner.
41
+ * @param registry Public registry observer shared by every owner.
42
+ * @param rvy Reply verifier whose router the owners' routes are registered on.
43
+ * @param now Receiver clock shared by every owner.
44
+ * @param kram Whether KRAM is enabled; with it off, `approve` of either owner throws.
45
+ */
46
+ constructor(exc: Exchanger, registry: RegistryObserver, rvy: Revery, now: () => number,
47
+ /** Whether the runtime's KRAM is on; DH and Unblind approval need the rows only KRAM writes. */
48
+ kram: boolean);
49
+ private restored;
50
+ /** Every live DH owner, for hosts draining their completion cues. */
51
+ dhkeOwners(): IterableIterator<Dhke>;
52
+ /** Every live Unblind owner, for hosts delivering the replies they owe. */
53
+ unblindOwners(): IterableIterator<Unblind>;
54
+ /** Register the DH and Unblind reply routes once; owners are looked up on each reply. */
55
+ registerReplyRoutes(rtr: Router): void;
56
+ /** The DH owner for `hab`, created on first use and recreated when `hab` is no longer the owner's object. */
57
+ dhke(hab: Hab): Dhke;
58
+ /** The Unblind owner for `hab`, created on first use and recreated when `hab` is no longer the owner's object. */
59
+ unblind(hab: Hab): Unblind;
60
+ /** Close and unregister both owners of `pre`; process-local approvals and retries are cleared. */
61
+ release(pre: string): void;
62
+ /** Close every owner; the runtime calls this on explicit close and scope exit. */
63
+ close(): void;
64
+ claims(serder: SerderKERI): boolean;
65
+ processQuery(envelope: KeriDispatchEnvelope): DispatchDecision;
66
+ private reply;
67
+ private select;
68
+ /**
69
+ * The owner of the one local identifier party to the transaction, created now if needed; absent or
70
+ * ambiguous means unowned. Parties come from live owners (approved operations) and from the store.
71
+ */
72
+ private claimant;
73
+ }
74
+ //# sourceMappingURL=ipex-auxiliaries.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ipex-auxiliaries.d.ts","sourceRoot":"","sources":["../../../src/app/runtime/ipex-auxiliaries.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AACH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAC1C,OAAO,EAAE,IAAI,EAAE,MAAM,sBAAsB,CAAC;AAC5C,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAChE,OAAO,EAAE,OAAO,EAAE,MAAM,0BAA0B,CAAC;AACnD,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAEnE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAC;AAC5D,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,wBAAwB,CAAC;AAElD,OAAO,KAAK,EAAE,uBAAuB,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAM1F,+FAA+F;AAC/F,qBAAa,eAAgB,YAAW,uBAAuB;IAc3D,OAAO,CAAC,QAAQ,CAAC,GAAG;IACpB,OAAO,CAAC,QAAQ,CAAC,QAAQ;IACzB,OAAO,CAAC,QAAQ,CAAC,GAAG;IACpB,OAAO,CAAC,QAAQ,CAAC,GAAG;IACpB,gGAAgG;IAChG,OAAO,CAAC,QAAQ,CAAC,IAAI;IAlBvB,kEAAkE;IAClE,QAAQ,CAAC,QAAQ,WAAW;IAC5B,OAAO,CAAC,QAAQ,CAAC,KAAK,CAA2B;IACjD,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAA8B;IAEvD;;;;;;OAMG;gBAEgB,GAAG,EAAE,SAAS,EACd,QAAQ,EAAE,gBAAgB,EAC1B,GAAG,EAAE,MAAM,EACX,GAAG,EAAE,MAAM,MAAM;IAClC,gGAAgG;IAC/E,IAAI,EAAE,OAAO;IAGhC,OAAO,CAAC,QAAQ,CAAS;IAEzB,qEAAqE;IACrE,UAAU,IAAI,gBAAgB,CAAC,IAAI,CAAC;IAIpC,2EAA2E;IAC3E,aAAa,IAAI,gBAAgB,CAAC,OAAO,CAAC;IAkB1C,yFAAyF;IACzF,mBAAmB,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAKtC,6GAA6G;IAC7G,IAAI,CAAC,GAAG,EAAE,GAAG,GAAG,IAAI;IAgBpB,kHAAkH;IAClH,OAAO,CAAC,GAAG,EAAE,GAAG,GAAG,OAAO;IAS1B,kGAAkG;IAClG,OAAO,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAQ1B,kFAAkF;IAClF,KAAK,IAAI,IAAI;IAMb,MAAM,CAAC,MAAM,EAAE,UAAU,GAAG,OAAO;IAInC,YAAY,CAAC,QAAQ,EAAE,oBAAoB,GAAG,gBAAgB;IAI9D,OAAO,CAAC,KAAK;IAMb,OAAO,CAAC,MAAM;IAKd;;;OAGG;IACH,OAAO,CAAC,QAAQ;CAgCjB"}
@@ -0,0 +1,137 @@
1
+ /**
2
+ * Composition and loop of the runtime's operations owners.
3
+ *
4
+ * The runtime owns one `IssuanceOperations`, one
5
+ * `PresentationOperations` and one `UnblindingOperations`, each an in-memory live table
6
+ * with status derived from the protocol stores, and,
7
+ * when it has a registry root owner, one `RootReplicator`. `runAgentRuntime` runs each
8
+ * owner's `processOnce` on one fiber with an adaptive cadence ({@link operationOwnersDo}). The owners
9
+ * act only for operations a user began or copies already owed.
10
+ *
11
+ * The root replicator is a runtime reaction. It derives what is owed from state and records
12
+ * sent copies in the Baser (`rrsn.`), so a CLI command that sends copies through its own
13
+ * replicator shares that record with the loop and a later pass does not repeat its sends.
14
+ */
15
+ import { type Operation } from "effection";
16
+ import { type DerivedUpdateStore } from "../../acdc/custody.js";
17
+ import type { Regery } from "../../acdc/registraring.js";
18
+ import type { RegistryRoot } from "../../acdc/salting.js";
19
+ import { RootReplicator } from "../credentials/root-replicator.js";
20
+ import type { Poster } from "../delivery/forwarding.js";
21
+ import type { Exchanger } from "../exchanges/exchanging.js";
22
+ import type { Habery } from "../identity/habbing.js";
23
+ import { GroupIpexOperations } from "../ipex/group-ipex.js";
24
+ import type { CredentialViews } from "../ipex/ipex-discloser.js";
25
+ import { IssuanceOperations } from "../ipex/issuance.js";
26
+ import { PresentationOperations } from "../ipex/presenting.js";
27
+ import { UnblindingOperations } from "../ipex/unblinding-workflow.js";
28
+ import type { Counselor } from "../multisig/counseling.js";
29
+ import type { Multiplexor } from "../multisig/grouping.js";
30
+ import type { ProtocolProcessor } from "../protocol/protocol-processing.js";
31
+ import type { Reactor } from "../protocol/reactor.js";
32
+ import type { Receiptor } from "../witness/receipting.js";
33
+ import { type DoerPacing } from "./doing.js";
34
+ import type { IpexAuxiliaries } from "./ipex-auxiliaries.js";
35
+ import type { RetryPolicy } from "./retry-backoff.js";
36
+ import type { RuntimeClock } from "./runtime-clock.js";
37
+ import type { ChangeSink } from "./workflow-contract.js";
38
+ /** Milliseconds between owner passes; the cadence of the CLI drivers the loop replaced. */
39
+ export declare const OWNER_TOCK_MS = 50;
40
+ /** Tocks between the replicator's full rotation checks: 1200 tocks of 50 ms is a minute. */
41
+ export declare const OWNER_SWEEP_TOCKS = 1200;
42
+ /** The production pacing of the owner loop. */
43
+ export declare const OWNER_PACING: Readonly<DoerPacing>;
44
+ /**
45
+ * What an embedder may supply; every field is optional. The operation tables are in memory and their status is
46
+ * derived from the protocol stores, so there is no store port for them.
47
+ */
48
+ export interface OperationStores {
49
+ /**
50
+ * Non-secret blind-derivation coordinates for issuance and derived presentation. Defaults to
51
+ * {@link BaserDerivedUpdateStore} over the registry environment's database, which is durable wherever the
52
+ * registry store is; a wallet with its own table supplies that instead.
53
+ */
54
+ derived?: DerivedUpdateStore;
55
+ /** The embedder's credential inventory, from which presentation selects issued and held credentials. Without it only replies and `apply` can be presented. */
56
+ views?: CredentialViews;
57
+ /** Receives identity-only changes after commit; defaults to the runtime's Signaler when it has one. */
58
+ changes?: ChangeSink;
59
+ }
60
+ /** The operations owners of one runtime, additive on `AgentRuntime.operations`. */
61
+ export interface RuntimeOperations {
62
+ readonly issuance: IssuanceOperations;
63
+ /** A local group's v2 IPEX messages (its Admit): propose, approve, status, wait. */
64
+ readonly groupIpex: GroupIpexOperations;
65
+ readonly presentation: PresentationOperations;
66
+ readonly unblinding: UnblindingOperations;
67
+ /** What the owner loop could not do; read by a host that reports runtime health. */
68
+ readonly health: OwnerHealth;
69
+ }
70
+ /** The last failure of an owner pass that no single operation owned, and how many there have been. */
71
+ export interface OwnerFault {
72
+ owner: "issuance" | "groupIpex" | "presentation" | "unblinding" | "replicator";
73
+ error: string;
74
+ /** ISO 8601 time of the failure on the host clock. */
75
+ at: string;
76
+ }
77
+ /**
78
+ * Failures of the owner loop itself. A failure of one operation (a delivery that throws, an unreadable stored
79
+ * Grant) ends that operation as `failed` and is never recorded here; this records only what escaped an owner
80
+ * pass, which the loop survives so that the other owners keep running. `faults` counts them and `last` keeps
81
+ * the latest. Nothing clears it: a host reads it and decides.
82
+ */
83
+ export declare class OwnerHealth {
84
+ faults: number;
85
+ last: OwnerFault | null;
86
+ }
87
+ /** What the runtime composes for its operations owners. */
88
+ export interface ComposedOwners {
89
+ operations: RuntimeOperations;
90
+ rootReplicator: RootReplicator | null;
91
+ }
92
+ /** The runtime pieces the owners borrow; no AgentRuntime bundle. */
93
+ export interface OwnerParts {
94
+ hby: Habery;
95
+ acdc: Regery;
96
+ exc: Exchanger;
97
+ protocol: ProtocolProcessor;
98
+ reactor: Reactor;
99
+ postman: Poster;
100
+ receiptor: Receiptor;
101
+ ipex: IpexAuxiliaries;
102
+ clock: RuntimeClock;
103
+ registryRoot: RegistryRoot | null;
104
+ /** Delegates the DH wrappers of group issuance; one owner per runtime registers. */
105
+ mux: Multiplexor;
106
+ /** Counsels the group anchor of a custodian's registry update. */
107
+ counselor: Counselor;
108
+ /** Delivery retry delays of the owners; the production policy when absent. */
109
+ retry?: Readonly<RetryPolicy>;
110
+ /** Milliseconds between issuer query resends; one second when absent. */
111
+ queryResendMs?: number;
112
+ changes?: ChangeSink;
113
+ }
114
+ /** Construct the owners over their in-memory tables; the derivation store defaults to the registry database. */
115
+ export declare function composeOwners(parts: OwnerParts, stores?: OperationStores): ComposedOwners;
116
+ /** What the owner loop runs: the owners, the replicator, the DH owners whose completion cues prompt it, the clock. */
117
+ export interface OwnerLoopParts extends ComposedOwners {
118
+ ipex: IpexAuxiliaries;
119
+ clock: RuntimeClock;
120
+ }
121
+ /**
122
+ * Run every owner on one fiber until halted, as a fixed-tock doer (`./doing.ts`): each tock runs an owner that
123
+ * has live work, then the replicator (after prompting it with the live DH owners' `replicated` cues), and then
124
+ * the loop waits one tock. Work begun between tocks is seen on the next one; nothing wakes the loop early.
125
+ *
126
+ * Idle cost, per tock: four constant-time table checks, one in-memory walk of the Unblind owners for an owed
127
+ * reply, one drain of each DH owner's cue deck, and the replicator's emptiness checks. The replicator's
128
+ * rotation check (the establishment SAID of each local group, one keyed read per local identifier) runs on
129
+ * tock 0 and every `pacing.sweepTocks`. No owner reads a protocol store. Only the first pass, once, scans the
130
+ * pending exchange escrow for resumable Grants.
131
+ *
132
+ * A failure that escapes an owner pass is recorded in `operations.health` and the loop keeps running, so
133
+ * one owner's fault never stops the others. The owners run one after another, so a delivery that does not return holds the others up until it fails or
134
+ * its Grant deadline passes; operations already bound each delivery by that deadline.
135
+ */
136
+ export declare function operationOwnersDo(owners: OwnerLoopParts, pacing?: Readonly<DoerPacing>): Operation<never>;
137
+ //# sourceMappingURL=operation-owners.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"operation-owners.d.ts","sourceRoot":"","sources":["../../../src/app/runtime/operation-owners.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AACH,OAAO,EAAU,KAAK,SAAS,EAAE,MAAM,WAAW,CAAC;AACnD,OAAO,EAA2B,KAAK,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AACzF,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,4BAA4B,CAAC;AACzD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAC1D,OAAO,EAAE,cAAc,EAAE,MAAM,mCAAmC,CAAC;AACnE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,2BAA2B,CAAC;AACxD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAC;AAC5D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AACrD,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AACjE,OAAO,EAAqB,kBAAkB,EAAkB,MAAM,qBAAqB,CAAC;AAC5F,OAAO,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AAC/D,OAAO,EAAE,oBAAoB,EAAE,MAAM,gCAAgC,CAAC;AACtE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AAC3D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,oCAAoC,CAAC;AAC5E,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AACtD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AAC1D,OAAO,EAAE,KAAK,UAAU,EAAW,MAAM,YAAY,CAAC;AACtD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAC7D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAEzD,2FAA2F;AAC3F,eAAO,MAAM,aAAa,KAAK,CAAC;AAChC,4FAA4F;AAC5F,eAAO,MAAM,iBAAiB,OAAO,CAAC;AACtC,+CAA+C;AAC/C,eAAO,MAAM,YAAY,EAAE,QAAQ,CAAC,UAAU,CAG5C,CAAC;AAEH;;;GAGG;AACH,MAAM,WAAW,eAAe;IAC9B;;;;OAIG;IACH,OAAO,CAAC,EAAE,kBAAkB,CAAC;IAC7B,8JAA8J;IAC9J,KAAK,CAAC,EAAE,eAAe,CAAC;IACxB,uGAAuG;IACvG,OAAO,CAAC,EAAE,UAAU,CAAC;CACtB;AAED,mFAAmF;AACnF,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,QAAQ,EAAE,kBAAkB,CAAC;IACtC,oFAAoF;IACpF,QAAQ,CAAC,SAAS,EAAE,mBAAmB,CAAC;IACxC,QAAQ,CAAC,YAAY,EAAE,sBAAsB,CAAC;IAC9C,QAAQ,CAAC,UAAU,EAAE,oBAAoB,CAAC;IAC1C,oFAAoF;IACpF,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC;CAC9B;AAED,sGAAsG;AACtG,MAAM,WAAW,UAAU;IACzB,KAAK,EAAE,UAAU,GAAG,WAAW,GAAG,cAAc,GAAG,YAAY,GAAG,YAAY,CAAC;IAC/E,KAAK,EAAE,MAAM,CAAC;IACd,sDAAsD;IACtD,EAAE,EAAE,MAAM,CAAC;CACZ;AAED;;;;;GAKG;AACH,qBAAa,WAAW;IACtB,MAAM,SAAK;IACX,IAAI,EAAE,UAAU,GAAG,IAAI,CAAQ;CAChC;AAED,2DAA2D;AAC3D,MAAM,WAAW,cAAc;IAC7B,UAAU,EAAE,iBAAiB,CAAC;IAC9B,cAAc,EAAE,cAAc,GAAG,IAAI,CAAC;CACvC;AAED,oEAAoE;AACpE,MAAM,WAAW,UAAU;IACzB,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,SAAS,CAAC;IACf,QAAQ,EAAE,iBAAiB,CAAC;IAC5B,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,SAAS,CAAC;IACrB,IAAI,EAAE,eAAe,CAAC;IACtB,KAAK,EAAE,YAAY,CAAC;IACpB,YAAY,EAAE,YAAY,GAAG,IAAI,CAAC;IAClC,oFAAoF;IACpF,GAAG,EAAE,WAAW,CAAC;IACjB,kEAAkE;IAClE,SAAS,EAAE,SAAS,CAAC;IACrB,8EAA8E;IAC9E,KAAK,CAAC,EAAE,QAAQ,CAAC,WAAW,CAAC,CAAC;IAC9B,yEAAyE;IACzE,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,OAAO,CAAC,EAAE,UAAU,CAAC;CACtB;AAED,gHAAgH;AAChH,wBAAgB,aAAa,CAAC,KAAK,EAAE,UAAU,EAAE,MAAM,GAAE,eAAoB,GAAG,cAAc,CA2D7F;AAED,sHAAsH;AACtH,MAAM,WAAW,cAAe,SAAQ,cAAc;IACpD,IAAI,EAAE,eAAe,CAAC;IACtB,KAAK,EAAE,YAAY,CAAC;CACrB;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAiB,iBAAiB,CAChC,MAAM,EAAE,cAAc,EACtB,MAAM,GAAE,QAAQ,CAAC,UAAU,CAAgB,GAC1C,SAAS,CAAC,KAAK,CAAC,CA6BlB"}
@@ -0,0 +1,49 @@
1
+ /**
2
+ * Retry state for a transient delivery failure inside a live operation.
3
+ *
4
+ * A member that is briefly offline is normal, so an owner keeps the unsent work, waits with a doubling delay and
5
+ * tries again on a later pass instead of ending the operation at the first error. The owner decides when retrying
6
+ * stops: an operation with a deadline ends at the deadline, and one without ends once failures have lasted the
7
+ * bound it states.
8
+ */
9
+ /** Delay after the first failure; it doubles per consecutive failure up to {@link RETRY_MAX_MS}. */
10
+ export declare const RETRY_BASE_MS = 1000;
11
+ /** Longest delay between attempts. */
12
+ export declare const RETRY_MAX_MS = 30000;
13
+ /** How long failures may last before an owner with no deadline of its own gives up. */
14
+ export declare const RETRY_BOUND_MS = 600000;
15
+ /**
16
+ * How long a retried action waits: it starts at `baseMs`, doubles per consecutive failure up to `maxMs`, and an
17
+ * owner that gives up does so once failures have lasted `boundMs`. Owners that never give up ignore the bound.
18
+ * Milliseconds; a test passes small values.
19
+ */
20
+ export interface RetryPolicy {
21
+ baseMs: number;
22
+ maxMs: number;
23
+ boundMs: number;
24
+ }
25
+ /** The production delays of delivery retries. */
26
+ export declare const DEFAULT_RETRY_POLICY: Readonly<RetryPolicy>;
27
+ /** Consecutive-failure counter with a next-attempt time; memory only. */
28
+ export declare class RetryBackoff {
29
+ #private;
30
+ private readonly policy;
31
+ /** Consecutive failures since the last success. */
32
+ attempts: number;
33
+ /** Time of the first failure of the current run (host clock, ms); 0 when none. */
34
+ since: number;
35
+ /** Error of the latest failure. */
36
+ last: unknown;
37
+ constructor(policy?: Readonly<RetryPolicy>);
38
+ /** Host-clock time (ms) of the next attempt. */
39
+ get next(): number;
40
+ /** Whether an attempt may be made at `now`. */
41
+ due(now: number): boolean;
42
+ /** Record a failure at `now` and schedule the next attempt. */
43
+ failed(now: number, error: unknown): void;
44
+ /** Whether failures have lasted at least `boundMs` by `now`. */
45
+ exhausted(now: number, boundMs: number): boolean;
46
+ /** Forget failures after a success. */
47
+ succeeded(): void;
48
+ }
49
+ //# sourceMappingURL=retry-backoff.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"retry-backoff.d.ts","sourceRoot":"","sources":["../../../src/app/runtime/retry-backoff.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,oGAAoG;AACpG,eAAO,MAAM,aAAa,OAAQ,CAAC;AACnC,sCAAsC;AACtC,eAAO,MAAM,YAAY,QAAS,CAAC;AACnC,uFAAuF;AACvF,eAAO,MAAM,cAAc,SAAU,CAAC;AAEtC;;;;GAIG;AACH,MAAM,WAAW,WAAW;IAC1B,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,iDAAiD;AACjD,eAAO,MAAM,oBAAoB,EAAE,QAAQ,CAAC,WAAW,CAIrD,CAAC;AAEH,yEAAyE;AACzE,qBAAa,YAAY;;IASX,OAAO,CAAC,QAAQ,CAAC,MAAM;IARnC,mDAAmD;IACnD,QAAQ,SAAK;IACb,kFAAkF;IAClF,KAAK,SAAK;IACV,mCAAmC;IACnC,IAAI,EAAE,OAAO,CAAQ;gBAGQ,MAAM,GAAE,QAAQ,CAAC,WAAW,CAAwB;IAEjF,gDAAgD;IAChD,IAAI,IAAI,IAAI,MAAM,CAEjB;IAED,+CAA+C;IAC/C,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO;IAIzB,+DAA+D;IAC/D,MAAM,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,IAAI;IAOzC,gEAAgE;IAChE,SAAS,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO;IAIhD,uCAAuC;IACvC,SAAS,IAAI,IAAI;CAMlB"}
@@ -0,0 +1,79 @@
1
+ /**
2
+ * Shared pieces of the library workflow contract.
3
+ *
4
+ * Library workflows follow one shape: `begin*` is an explicit operation that
5
+ * returns after local commit, `*Status` is a pure synchronous read, and
6
+ * `waitFor*` only observes. A wait never starts runtime workers: a host that
7
+ * already runs a runtime must not get a second poller and escrow loop. One-shot
8
+ * hosts such as the CLI run the runtime around the wait themselves
9
+ * (`cli/common/runtime-workers.ts`). Remote and time-driven outcomes, including
10
+ * an expired wait, are returned values; only caller-contract, invariant and
11
+ * infrastructure failures throw.
12
+ */
13
+ import { type Operation } from "effection";
14
+ import type { Signaler } from "../notifications/signaling.js";
15
+ import { type RuntimeClock } from "./runtime-clock.js";
16
+ /** Workflow families that publish changes. */
17
+ export type WorkflowKind = "oobi" | "query" | "event" | "delegation" | "group" | "issuance" | "ipex" | "presentation" | "unblinding"
18
+ /** A registry root copy was retained; `id` is the registry. */
19
+ | "root";
20
+ /** Identity of a workflow whose status may have changed; consumers re-read status. */
21
+ export interface WorkflowChange {
22
+ kind: WorkflowKind;
23
+ id: string;
24
+ }
25
+ /**
26
+ * Receiver of change identities. Owners publish after their commit and never
27
+ * depend on what the sink does with it; a sink must not throw into a workflow.
28
+ */
29
+ export interface ChangeSink {
30
+ push(change: WorkflowChange): void;
31
+ }
32
+ /**
33
+ * Result of a library wait. `settled` means the status reached a terminal or
34
+ * wanted state; `timed-out` means the budget expired first. Either way `status`
35
+ * is the status read at return, so a caller never needs a second read to explain
36
+ * the outcome. `Timed` adds fields to the timed-out arm (default: the budget).
37
+ */
38
+ export type WaitResult<S, Timed extends object = {
39
+ timeoutMs: number;
40
+ }> = {
41
+ readonly outcome: "settled";
42
+ readonly status: S;
43
+ } | ({
44
+ readonly outcome: "timed-out";
45
+ readonly status: S;
46
+ } & Readonly<Timed>);
47
+ /** In-memory sink that records changes in order. */
48
+ export declare class MemoryChangeSink implements ChangeSink {
49
+ readonly changes: WorkflowChange[];
50
+ push(change: WorkflowChange): void;
51
+ }
52
+ /**
53
+ * Back a sink with the host's transient `Signaler`. Publishing needs no polling:
54
+ * `push` is a synchronous append that collapses repeats of one workflow into a
55
+ * single signal (collapse key `kind:id`). Delivery is pull-based, though: the
56
+ * Signaler has no subscriber hook, so the consumer must read `signaler.list()`.
57
+ * A closed or failing Signaler drops the change instead of throwing: a hint must
58
+ * never break the workflow that published it.
59
+ */
60
+ export declare function signalerChangeSink(signaler: Pick<Signaler, "push">): ChangeSink;
61
+ /**
62
+ * Observe-only wait: poll `done`, yielding to the scheduler between checks,
63
+ * until it holds or the deadline passes. Starts no worker and has no effects of
64
+ * its own.
65
+ *
66
+ * @param done Synchronous status read; checked before the first yield.
67
+ * @param pollMs Elapsed milliseconds between checks. Omitted: yield one scheduler turn.
68
+ * @returns True when `done` held, false when `timeoutMs` elapsed first.
69
+ */
70
+ export declare function observeUntil(done: () => boolean, { timeoutMs, clock, pollMs }: {
71
+ timeoutMs: number;
72
+ clock?: Pick<RuntimeClock, "now">;
73
+ pollMs?: number;
74
+ }): Operation<boolean>;
75
+ /**
76
+ * Wait `milliseconds` on the host's clock, so a fake clock drives it and cancellation releases the timer.
77
+ */
78
+ export declare function waitOnClock(clock: RuntimeClock, milliseconds: number): Operation<void>;
79
+ //# sourceMappingURL=workflow-contract.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"workflow-contract.d.ts","sourceRoot":"","sources":["../../../src/app/runtime/workflow-contract.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AACH,OAAO,EAAU,KAAK,SAAS,EAAS,MAAM,WAAW,CAAC;AAC1D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,+BAA+B,CAAC;AAC9D,OAAO,EAAE,KAAK,YAAY,EAAe,MAAM,oBAAoB,CAAC;AAGpE,8CAA8C;AAC9C,MAAM,MAAM,YAAY,GACpB,MAAM,GACN,OAAO,GACP,OAAO,GACP,YAAY,GACZ,OAAO,GACP,UAAU,GACV,MAAM,GACN,cAAc,GACd,YAAY;AACd,+DAA+D;GAC7D,MAAM,CAAC;AAEX,sFAAsF;AACtF,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,YAAY,CAAC;IACnB,EAAE,EAAE,MAAM,CAAC;CACZ;AAED;;;GAGG;AACH,MAAM,WAAW,UAAU;IACzB,IAAI,CAAC,MAAM,EAAE,cAAc,GAAG,IAAI,CAAC;CACpC;AAED;;;;;GAKG;AACH,MAAM,MAAM,UAAU,CAAC,CAAC,EAAE,KAAK,SAAS,MAAM,GAAG;IAAE,SAAS,EAAE,MAAM,CAAA;CAAE,IAClE;IAAE,QAAQ,CAAC,OAAO,EAAE,SAAS,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAA;CAAE,GACnD,CAAC;IAAE,QAAQ,CAAC,OAAO,EAAE,WAAW,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAA;CAAE,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC;AAE9E,oDAAoD;AACpD,qBAAa,gBAAiB,YAAW,UAAU;IACjD,QAAQ,CAAC,OAAO,EAAE,cAAc,EAAE,CAAM;IACxC,IAAI,CAAC,MAAM,EAAE,cAAc,GAAG,IAAI;CAGnC;AAED;;;;;;;GAOG;AACH,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,MAAM,CAAC,GAAG,UAAU,CAU/E;AAED;;;;;;;;GAQG;AACH,wBAAiB,YAAY,CAC3B,IAAI,EAAE,MAAM,OAAO,EACnB,EAAE,SAAS,EAAE,KAAmB,EAAE,MAAM,EAAE,EAAE;IAC1C,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,IAAI,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;IAClC,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,GACA,SAAS,CAAC,OAAO,CAAC,CASpB;AAED;;GAEG;AACH,wBAAiB,WAAW,CAAC,KAAK,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,GAAG,SAAS,CAAC,IAAI,CAAC,CAKvF"}
@@ -1,4 +1,9 @@
1
- /** Transport readers. Each operation owns its reader and joins cancellation. */
1
+ /**
2
+ * Host-neutral transport readers. Each operation owns its reader and joins
3
+ * cancellation. The local-file reader lives in `file-bytes.ts` because it
4
+ * needs host file access.
5
+ */
6
+ /** Cancellation and chunk size for byte-array and file sources. */
2
7
  export interface SourceOptions {
3
8
  /** Abort reads and release the transport when its operation stops. */
4
9
  signal?: AbortSignal;
@@ -22,15 +27,6 @@ export declare function chunkBytes(bytes: Uint8Array, { signal, maxChunkBytes }?
22
27
  * @throws Read/cancel/unlock failures, combined when distinct failures occur.
23
28
  */
24
29
  export declare function streamBytes(stream: ReadableStream<Uint8Array> | null, { signal }?: Pick<SourceOptions, "signal">): AsyncGenerator<Uint8Array>;
25
- /**
26
- * Stream a local file with fixed-size owned buffers and close it on break or abort.
27
- *
28
- * @param path Local filesystem path opened read-only for this iteration.
29
- * @param options Optional cancellation and positive read buffer size in bytes; defaults to 65536.
30
- * @yields Owned buffers up to the selected chunk size until file EOF.
31
- * @throws Open/read failures or cancellation; the file closes on EOF, break or failure.
32
- */
33
- export declare function fileBytes(path: string, { signal, maxChunkBytes }?: SourceOptions): AsyncGenerator<Uint8Array>;
34
30
  /**
35
31
  * Collect an explicitly finite operation; bulk ingress should consume its source directly.
36
32
  *
@@ -38,4 +34,11 @@ export declare function fileBytes(path: string, { signal, maxChunkBytes }?: Sour
38
34
  * @returns A contiguous owned array containing all chunks in order.
39
35
  */
40
36
  export declare function collectBytes(source: AsyncIterable<Uint8Array>): Promise<Uint8Array<ArrayBuffer>>;
37
+ /**
38
+ * Reject invalid chunk sizes before allocation or opening a file.
39
+ *
40
+ * @param limit Requested per-chunk byte count.
41
+ * @throws RangeError unless the count is a positive safe integer.
42
+ */
43
+ export declare function checkLimit(limit: number): void;
41
44
  //# sourceMappingURL=byte-source.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"byte-source.d.ts","sourceRoot":"","sources":["../../../src/app/transport/byte-source.ts"],"names":[],"mappings":"AAAA,gFAAgF;AAKhF,MAAM,WAAW,aAAa;IAC5B,sEAAsE;IACtE,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB,6EAA6E;IAC7E,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED;;;;;;GAMG;AACH,wBAAuB,UAAU,CAC/B,KAAK,EAAE,UAAU,EACjB,EAAE,MAAM,EAAE,aAAyB,EAAE,GAAE,aAAkB,GACxD,cAAc,CAAC,UAAU,CAAC,CAQ5B;AAED;;;;;;;GAOG;AACH,wBAAuB,WAAW,CAChC,MAAM,EAAE,cAAc,CAAC,UAAU,CAAC,GAAG,IAAI,EACzC,EAAE,MAAM,EAAE,GAAE,IAAI,CAAC,aAAa,EAAE,QAAQ,CAAM,GAC7C,cAAc,CAAC,UAAU,CAAC,CA4C5B;AAED;;;;;;;GAOG;AACH,wBAAuB,SAAS,CAC9B,IAAI,EAAE,MAAM,EACZ,EAAE,MAAM,EAAE,aAAyB,EAAE,GAAE,aAAkB,GACxD,cAAc,CAAC,UAAU,CAAC,CA0B5B;AAED;;;;;GAKG;AACH,wBAAsB,YAAY,CAAC,MAAM,EAAE,aAAa,CAAC,UAAU,CAAC,GAAG,OAAO,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC,CAetG"}
1
+ {"version":3,"file":"byte-source.d.ts","sourceRoot":"","sources":["../../../src/app/transport/byte-source.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,mEAAmE;AACnE,MAAM,WAAW,aAAa;IAC5B,sEAAsE;IACtE,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB,6EAA6E;IAC7E,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED;;;;;;GAMG;AACH,wBAAuB,UAAU,CAC/B,KAAK,EAAE,UAAU,EACjB,EAAE,MAAM,EAAE,aAAyB,EAAE,GAAE,aAAkB,GACxD,cAAc,CAAC,UAAU,CAAC,CAQ5B;AAED;;;;;;;GAOG;AACH,wBAAuB,WAAW,CAChC,MAAM,EAAE,cAAc,CAAC,UAAU,CAAC,GAAG,IAAI,EACzC,EAAE,MAAM,EAAE,GAAE,IAAI,CAAC,aAAa,EAAE,QAAQ,CAAM,GAC7C,cAAc,CAAC,UAAU,CAAC,CA4C5B;AAED;;;;;GAKG;AACH,wBAAsB,YAAY,CAAC,MAAM,EAAE,aAAa,CAAC,UAAU,CAAC,GAAG,OAAO,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC,CAetG;AAED;;;;;GAKG;AACH,wBAAgB,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAE9C"}
@@ -5,9 +5,13 @@
5
5
  * caller consumes that body before leaving the enclosing scope. Neither path
6
6
  * implicitly feeds successful response bytes into protocol processing.
7
7
  *
8
- * Match KERIpy's detached-attachment POST contract while retaining the exact
9
- * signed body. Only the known pre-intake Falcon media refusal permits a second
10
- * request; authentication/application failures and network errors are not retries.
8
+ * Match KERIpy HTTPMessenger's two wire shapes. A JSON/CBOR/MGPK frame is one
9
+ * detached-attachment POST retaining the exact signed body; only the known
10
+ * pre-intake Falcon media refusal permits a second request, and
11
+ * authentication/application failures and network errors are not retries.
12
+ * A native CESR frame (counter-prefixed body, text or binary domain) is one
13
+ * whole opaque PUT of the serialized frame, as KERIpy sends since PR 1751,
14
+ * because a native body is not JSON and cannot travel in the detached form.
11
15
  */
12
16
  import { type CesrFrame } from "cesr-ts";
13
17
  import { type Operation } from "effection";
@@ -69,6 +73,16 @@ export declare function readResponseDetail(response: HttpStreamResponse, signal:
69
73
  * @throws CesrHttpRefusal for a completed refusal; request, transport and cleanup failures propagate.
70
74
  */
71
75
  export declare function requestFrame(url: string, frame: CesrFrame, http: HttpClient, options?: EgressOptions): Operation<HttpStreamResponse>;
76
+ /**
77
+ * Recognize a frame whose body is native CESR rather than a JSON/CBOR/MGPK message.
78
+ * KERIpy HTTPMessenger decides by sniffing the message cold start for a counter in
79
+ * either domain; a hydrated native body carries kind CESR and its raw bytes begin
80
+ * with that fixed-field counter. Opaque fallback bodies without a counter stay ordinary.
81
+ *
82
+ * @param frame Parsed frame whose body kind and raw bytes decide the wire shape.
83
+ * @returns True when the frame must travel as one whole PUT instead of a detached POST.
84
+ */
85
+ export declare function isNativeCesrFrame(frame: CesrFrame): boolean;
72
86
  /**
73
87
  * Recognize KERIpy v1's exact preprocessing media refusal, before protocol intake.
74
88
  * Attachment framing and the current media type are required. Authentication,
@@ -83,8 +97,8 @@ export declare function requestFrame(url: string, frame: CesrFrame, http: HttpCl
83
97
  export declare function isLegacyCesrMediaRejection(request: HttpRequestInit, status: number, detail: string): boolean;
84
98
  /**
85
99
  * Send a CESR source and throw on a completed peer refusal.
86
- * One parsed frame becomes one POST, and its request scope closes before the next
87
- * source pull. A refusal stops the sequence; prior frames may already be delivered.
100
+ * One parsed frame becomes one request (a detached POST, or one whole PUT for a
101
+ * native frame), and its request scope closes before the next source pull. A refusal stops the sequence; prior frames may already be delivered.
88
102
  * Cancellation aborts active work, joins any pending source pull and returns the
89
103
  * parser iterator before leaving. There is no automatic retry beyond media fallback.
90
104
  * A pending asynchronous source pull can finish after cancellation is requested;
@@ -101,8 +115,8 @@ export declare function isLegacyCesrMediaRejection(request: HttpRequestInit, sta
101
115
  export declare function postCesr(url: string, source: (signal: AbortSignal) => AsyncIterable<Uint8Array>, http: HttpClient, options?: EgressOptions): Operation<void>;
102
116
  /**
103
117
  * Send frames sequentially and return a completed peer refusal as data.
104
- * One parsed frame becomes one POST, and its request scope closes before the next
105
- * source pull. A refusal stops the sequence; prior frames may already be delivered.
118
+ * One parsed frame becomes one request (a detached POST, or one whole PUT for a
119
+ * native frame), and its request scope closes before the next source pull. A refusal stops the sequence; prior frames may already be delivered.
106
120
  * Cancellation aborts active work, joins any pending source pull and returns the
107
121
  * parser iterator before leaving. There is no automatic retry beyond media fallback.
108
122
  *
@@ -1 +1 @@
1
- {"version":3,"file":"cesr-egress.d.ts","sourceRoot":"","sources":["../../../src/app/transport/cesr-egress.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AACH,OAAO,EAGL,KAAK,SAAS,EAGf,MAAM,SAAS,CAAC;AACjB,OAAO,EAAgB,KAAK,SAAS,EAA0B,MAAM,WAAW,CAAC;AACjF,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAQvD,OAAO,KAAK,EAAE,UAAU,EAAE,eAAe,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAExF,kGAAkG;AAClG,qBAAa,eAAgB,SAAQ,eAAe;IAOrB,QAAQ,CAAC,MAAM,EAAE,MAAM;IANpD;;;;;OAKG;gBACS,OAAO,EAAE,MAAM,EAAW,MAAM,EAAE,MAAM;CAGrD;AAED,qFAAqF;AACrF,MAAM,MAAM,cAAc,GAAG;IAC3B,kGAAkG;IAClG,IAAI,EAAE,UAAU,CAAC;CAClB,GAAG;IACF,kGAAkG;IAClG,IAAI,EAAE,QAAQ,CAAC;IACf,4EAA4E;IAC5E,KAAK,EAAE,eAAe,CAAC;CACxB,CAAC;AAgBF,4CAA4C;AAC5C,MAAM,WAAW,aAAa;IAC5B,sGAAsG;IACtG,OAAO,CAAC,EAAE,WAAW,CAAC;IACtB,yDAAyD;IACzD,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,uFAAuF;IACvF,MAAM,CAAC,EAAE,WAAW,CAAC;CACtB;AAED;;;;;;;GAOG;AACH,wBAAsB,kBAAkB,CAAC,QAAQ,EAAE,kBAAkB,EAAE,MAAM,EAAE,WAAW,GAAG,OAAO,CAAC,MAAM,CAAC,CAQ3G;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAiB,YAAY,CAC3B,GAAG,EAAE,MAAM,EACX,KAAK,EAAE,SAAS,EAChB,IAAI,EAAE,UAAU,EAChB,OAAO,GAAE,aAAkB,GAC1B,SAAS,CAAC,kBAAkB,CAAC,CAI/B;AAiFD;;;;;;;;;;GAUG;AACH,wBAAgB,0BAA0B,CAAC,OAAO,EAAE,eAAe,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAc5G;AAqCD;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAiB,QAAQ,CACvB,GAAG,EAAE,MAAM,EACX,MAAM,EAAE,CAAC,MAAM,EAAE,WAAW,KAAK,aAAa,CAAC,UAAU,CAAC,EAC1D,IAAI,EAAE,UAAU,EAChB,OAAO,GAAE,aAAkB,GAC1B,SAAS,CAAC,IAAI,CAAC,CAGjB;AACD;;;;;;;;;;;;;GAaG;AACH,wBAAgB,eAAe,CAC7B,GAAG,EAAE,MAAM,EACX,MAAM,EAAE,CAAC,MAAM,EAAE,WAAW,KAAK,aAAa,CAAC,UAAU,CAAC,EAC1D,IAAI,EAAE,UAAU,EAChB,OAAO,GAAE,aAAkB,GAC1B,SAAS,CAAC,cAAc,CAAC,CAoE3B"}
1
+ {"version":3,"file":"cesr-egress.d.ts","sourceRoot":"","sources":["../../../src/app/transport/cesr-egress.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AACH,OAAO,EAIL,KAAK,SAAS,EAMf,MAAM,SAAS,CAAC;AACjB,OAAO,EAAgB,KAAK,SAAS,EAA0B,MAAM,WAAW,CAAC;AACjF,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AASvD,OAAO,KAAK,EAAE,UAAU,EAAE,eAAe,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAExF,kGAAkG;AAClG,qBAAa,eAAgB,SAAQ,eAAe;IAOrB,QAAQ,CAAC,MAAM,EAAE,MAAM;IANpD;;;;;OAKG;gBACS,OAAO,EAAE,MAAM,EAAW,MAAM,EAAE,MAAM;CAGrD;AAED,qFAAqF;AACrF,MAAM,MAAM,cAAc,GAAG;IAC3B,kGAAkG;IAClG,IAAI,EAAE,UAAU,CAAC;CAClB,GAAG;IACF,kGAAkG;IAClG,IAAI,EAAE,QAAQ,CAAC;IACf,4EAA4E;IAC5E,KAAK,EAAE,eAAe,CAAC;CACxB,CAAC;AAgBF,4CAA4C;AAC5C,MAAM,WAAW,aAAa;IAC5B,sGAAsG;IACtG,OAAO,CAAC,EAAE,WAAW,CAAC;IACtB,yDAAyD;IACzD,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,uFAAuF;IACvF,MAAM,CAAC,EAAE,WAAW,CAAC;CACtB;AAED;;;;;;;GAOG;AACH,wBAAsB,kBAAkB,CAAC,QAAQ,EAAE,kBAAkB,EAAE,MAAM,EAAE,WAAW,GAAG,OAAO,CAAC,MAAM,CAAC,CAQ3G;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAiB,YAAY,CAC3B,GAAG,EAAE,MAAM,EACX,KAAK,EAAE,SAAS,EAChB,IAAI,EAAE,UAAU,EAChB,OAAO,GAAE,aAAkB,GAC1B,SAAS,CAAC,kBAAkB,CAAC,CAI/B;AA2CD;;;;;;;;GAQG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,SAAS,GAAG,OAAO,CAI3D;AAqFD;;;;;;;;;;GAUG;AACH,wBAAgB,0BAA0B,CAAC,OAAO,EAAE,eAAe,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAc5G;AAqCD;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAiB,QAAQ,CACvB,GAAG,EAAE,MAAM,EACX,MAAM,EAAE,CAAC,MAAM,EAAE,WAAW,KAAK,aAAa,CAAC,UAAU,CAAC,EAC1D,IAAI,EAAE,UAAU,EAChB,OAAO,GAAE,aAAkB,GAC1B,SAAS,CAAC,IAAI,CAAC,CAGjB;AACD;;;;;;;;;;;;;GAaG;AACH,wBAAgB,eAAe,CAC7B,GAAG,EAAE,MAAM,EACX,MAAM,EAAE,CAAC,MAAM,EAAE,WAAW,KAAK,aAAa,CAAC,UAAU,CAAC,EAC1D,IAAI,EAAE,UAAU,EAChB,OAAO,GAAE,aAAkB,GAC1B,SAAS,CAAC,cAAc,CAAC,CAoE3B"}
@@ -0,0 +1,11 @@
1
+ import { type SourceOptions } from "./byte-source.js";
2
+ /**
3
+ * Stream a local file with fixed-size owned buffers and close it on break or abort.
4
+ *
5
+ * @param path Local filesystem path opened read-only for this iteration.
6
+ * @param options Optional cancellation and positive read buffer size in bytes; defaults to 65536.
7
+ * @yields Owned buffers up to the selected chunk size until file EOF.
8
+ * @throws Open/read failures or cancellation; the file closes on EOF, break or failure.
9
+ */
10
+ export declare function fileBytes(path: string, { signal, maxChunkBytes }?: SourceOptions): AsyncGenerator<Uint8Array>;
11
+ //# sourceMappingURL=file-bytes.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"file-bytes.d.ts","sourceRoot":"","sources":["../../../src/app/transport/file-bytes.ts"],"names":[],"mappings":"AAIA,OAAO,EAAc,KAAK,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAElE;;;;;;;GAOG;AACH,wBAAuB,SAAS,CAC9B,IAAI,EAAE,MAAM,EACZ,EAAE,MAAM,EAAE,aAAyB,EAAE,GAAE,aAAkB,GACxD,cAAc,CAAC,UAAU,CAAC,CA0B5B"}
@@ -1,5 +1,6 @@
1
1
  /** Native HTTP request construction, byte I/O and joined attempt cleanup. */
2
2
  import { type Operation } from "effection";
3
+ import type { TcpDialer } from "./tcp-dialer.js";
3
4
  /** Existing HTTP request choices; protocol framing and retry policy belong to callers. */
4
5
  export interface HttpRequestInit {
5
6
  /** HTTP method, validated by Request before any network execution. */
@@ -44,6 +45,8 @@ export interface HttpStreamResponse {
44
45
  }
45
46
  /** A scoped HTTP implementation supplied by composition, with an explicit transport-error contract. */
46
47
  export interface HttpClient {
48
+ /** Host-supplied TCP dialing; absent where the host has no TCP, such as browsers. */
49
+ readonly tcp?: TcpDialer;
47
50
  /**
48
51
  * Return finite response bytes after the owned request scope has closed.
49
52
  *
@@ -1 +1 @@
1
- {"version":3,"file":"http-client.d.ts","sourceRoot":"","sources":["../../../src/app/transport/http-client.ts"],"names":[],"mappings":"AAAA,6EAA6E;AAC7E,OAAO,EAAQ,KAAK,SAAS,EAAoB,MAAM,WAAW,CAAC;AAMnE,0FAA0F;AAC1F,MAAM,WAAW,eAAe;IAC9B,sEAAsE;IACtE,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,qFAAqF;IACrF,OAAO,CAAC,EAAE,WAAW,CAAC;IACtB,yFAAyF;IACzF,IAAI,CAAC,EAAE,MAAM,GAAG,UAAU,GAAG,WAAW,GAAG,IAAI,CAAC;IAChD,8EAA8E;IAC9E,QAAQ,CAAC,EAAE,eAAe,CAAC;IAC3B,6EAA6E;IAC7E,MAAM,CAAC,EAAE,WAAW,GAAG,IAAI,CAAC;CAC7B;AAED,uFAAuF;AACvF,MAAM,WAAW,YAAY;IAC3B,qEAAqE;IACrE,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,qFAAqF;IACrF,QAAQ,CAAC,EAAE,EAAE,OAAO,CAAC;IACrB,kCAAkC;IAClC,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,wCAAwC;IACxC,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC;CAC3B;AAED,gGAAgG;AAChG,MAAM,WAAW,kBAAkB;IACjC,+EAA+E;IAC/E,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,qFAAqF;IACrF,QAAQ,CAAC,EAAE,EAAE,OAAO,CAAC;IACrB,oEAAoE;IACpE,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B;;;;;;;OAOG;IACH,IAAI,CAAC,MAAM,CAAC,EAAE,WAAW,GAAG,aAAa,CAAC,UAAU,CAAC,CAAC;CACvD;AAED,uGAAuG;AACvG,MAAM,WAAW,UAAU;IACzB;;;;;;;OAOG;IACH,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,eAAe,GAAG,SAAS,CAAC,YAAY,CAAC,CAAC;IACtE;;;;;;;;;;OAUG;IACH,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,eAAe,GAAG,SAAS,CAAC,kBAAkB,CAAC,CAAC;CAC1E;AAED;;;;;;GAMG;AACH,qBAAa,eAAgB,YAAW,UAAU;IAChD;;;;;;;OAOG;IACH,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,GAAE,eAAoB,GAAG,SAAS,CAAC,YAAY,CAAC;IASzE;;;;;;;;;;OAUG;IACH,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,GAAE,eAAoB,GAAG,SAAS,CAAC,kBAAkB,CAAC;CAsH7E"}
1
+ {"version":3,"file":"http-client.d.ts","sourceRoot":"","sources":["../../../src/app/transport/http-client.ts"],"names":[],"mappings":"AAAA,6EAA6E;AAC7E,OAAO,EAAQ,KAAK,SAAS,EAAoB,MAAM,WAAW,CAAC;AAInE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAGjD,0FAA0F;AAC1F,MAAM,WAAW,eAAe;IAC9B,sEAAsE;IACtE,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,qFAAqF;IACrF,OAAO,CAAC,EAAE,WAAW,CAAC;IACtB,yFAAyF;IACzF,IAAI,CAAC,EAAE,MAAM,GAAG,UAAU,GAAG,WAAW,GAAG,IAAI,CAAC;IAChD,8EAA8E;IAC9E,QAAQ,CAAC,EAAE,eAAe,CAAC;IAC3B,6EAA6E;IAC7E,MAAM,CAAC,EAAE,WAAW,GAAG,IAAI,CAAC;CAC7B;AAED,uFAAuF;AACvF,MAAM,WAAW,YAAY;IAC3B,qEAAqE;IACrE,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,qFAAqF;IACrF,QAAQ,CAAC,EAAE,EAAE,OAAO,CAAC;IACrB,kCAAkC;IAClC,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,wCAAwC;IACxC,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC;CAC3B;AAED,gGAAgG;AAChG,MAAM,WAAW,kBAAkB;IACjC,+EAA+E;IAC/E,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,qFAAqF;IACrF,QAAQ,CAAC,EAAE,EAAE,OAAO,CAAC;IACrB,oEAAoE;IACpE,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B;;;;;;;OAOG;IACH,IAAI,CAAC,MAAM,CAAC,EAAE,WAAW,GAAG,aAAa,CAAC,UAAU,CAAC,CAAC;CACvD;AAED,uGAAuG;AACvG,MAAM,WAAW,UAAU;IACzB,qFAAqF;IACrF,QAAQ,CAAC,GAAG,CAAC,EAAE,SAAS,CAAC;IAEzB;;;;;;;OAOG;IACH,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,eAAe,GAAG,SAAS,CAAC,YAAY,CAAC,CAAC;IACtE;;;;;;;;;;OAUG;IACH,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,eAAe,GAAG,SAAS,CAAC,kBAAkB,CAAC,CAAC;CAC1E;AAmBD;;;;;;GAMG;AACH,qBAAa,eAAgB,YAAW,UAAU;IAChD;;;;;;;OAOG;IACH,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,GAAE,eAAoB,GAAG,SAAS,CAAC,YAAY,CAAC;IASzE;;;;;;;;;;OAUG;IACH,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,GAAE,eAAoB,GAAG,SAAS,CAAC,kBAAkB,CAAC;CAyH7E"}
@@ -1,19 +1,22 @@
1
- /** Ordinary signed-message POST delivery, independent of query receive processing. */
1
+ /** Ordinary signed-message HTTP delivery, independent of query receive processing. */
2
2
  import type { Operation } from "effection";
3
3
  import { type CesrPostResult, type EgressOptions } from "./cesr-egress.js";
4
4
  import type { HttpClient } from "./http-client.js";
5
5
  /** Fixed request metadata; transport construction does not select a framing preference. */
6
6
  export type HTTPMessengerOptions = Pick<EgressOptions, "destination" | "headers">;
7
7
  /**
8
- * Send ordinary signed messages as ordered HTTP POSTs and finish response cleanup.
8
+ * Send ordinary signed messages as ordered HTTP requests and finish response cleanup.
9
9
  * Producers own preparation and Poster owns queued work. This component needs no
10
10
  * Habery, protocol processor, parser state, timer or response history.
11
11
  *
12
- * Corresponds to the ordinary POST role of KERIpy HTTPMessenger. Complete CESR
13
- * frames become separate POSTs: original signed body in the request body, text
14
- * attachments in CESR-ATTACHMENT. Only the recognized pre-intake media refusal
15
- * permits a second attempt with legacy media metadata. Successful response bytes
16
- * are drained and discarded; protocol receiving belongs to independent intake.
12
+ * Corresponds to KERIpy HTTPMessenger. Each complete CESR frame is one request,
13
+ * shaped by its body: a JSON/CBOR/MGPK frame is a POST with the original signed
14
+ * body in the request body and text attachments in CESR-ATTACHMENT, where only
15
+ * the recognized pre-intake media refusal permits a second attempt with legacy
16
+ * media metadata; a native CESR frame (counter-prefixed body) is one whole PUT of
17
+ * the serialized frame with Content-Length and CESR-DESTINATION, matching KERIpy
18
+ * since PR 1751 and without detached headers or media fallback. Successful response
19
+ * bytes are drained and discarded; protocol receiving belongs to independent intake.
17
20
  */
18
21
  export declare class HTTPMessenger {
19
22
  readonly url: string;
@@ -28,9 +31,11 @@ export declare class HTTPMessenger {
28
31
  */
29
32
  send(msg: Uint8Array, options?: Pick<EgressOptions, "signal">): Operation<CesrPostResult>;
30
33
  /**
31
- * Iterate ordinary messages into POSTs; this is not whole-stream PUT delivery.
32
- * A later malformed message cannot prevent an earlier valid POST. Parser,
33
- * transport, source and cleanup failures propagate; HTTP refusal is typed data.
34
+ * Iterate messages into one request each; this is not whole-stream PUT delivery.
35
+ * A multi-message native stream becomes successive per-frame PUTs, not KERIpy's
36
+ * single bulk PUT. A later malformed message cannot prevent an earlier valid
37
+ * request. Parser, transport, source and cleanup failures propagate; HTTP
38
+ * refusal is typed data.
34
39
  */
35
40
  sendSource(source: (signal: AbortSignal) => AsyncIterable<Uint8Array>, options?: Pick<EgressOptions, "signal">): Operation<CesrPostResult>;
36
41
  }
@@ -1 +1 @@
1
- {"version":3,"file":"http-messenger.d.ts","sourceRoot":"","sources":["../../../src/app/transport/http-messenger.ts"],"names":[],"mappings":"AAAA,sFAAsF;AACtF,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAE3C,OAAO,EAAmB,KAAK,cAAc,EAAE,KAAK,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAC5F,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAEnD,2FAA2F;AAC3F,MAAM,MAAM,oBAAoB,GAAG,IAAI,CAAC,aAAa,EAAE,aAAa,GAAG,SAAS,CAAC,CAAC;AAElF;;;;;;;;;;GAUG;AACH,qBAAa,aAAa;IAGtB,QAAQ,CAAC,GAAG,EAAE,MAAM;IACpB,OAAO,CAAC,QAAQ,CAAC,IAAI;IACrB,OAAO,CAAC,QAAQ,CAAC,OAAO;IAJ1B,4EAA4E;gBAEjE,GAAG,EAAE,MAAM,EACH,IAAI,EAAE,UAAU,EAChB,OAAO,GAAE,oBAAyB;IAGrD;;;;OAIG;IACH,IAAI,CAAC,GAAG,EAAE,UAAU,EAAE,OAAO,GAAE,IAAI,CAAC,aAAa,EAAE,QAAQ,CAAM,GAAG,SAAS,CAAC,cAAc,CAAC;IAI7F;;;;OAIG;IACH,UAAU,CACR,MAAM,EAAE,CAAC,MAAM,EAAE,WAAW,KAAK,aAAa,CAAC,UAAU,CAAC,EAC1D,OAAO,GAAE,IAAI,CAAC,aAAa,EAAE,QAAQ,CAAM,GAC1C,SAAS,CAAC,cAAc,CAAC;CAG7B"}
1
+ {"version":3,"file":"http-messenger.d.ts","sourceRoot":"","sources":["../../../src/app/transport/http-messenger.ts"],"names":[],"mappings":"AAAA,sFAAsF;AACtF,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAE3C,OAAO,EAAmB,KAAK,cAAc,EAAE,KAAK,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAC5F,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAEnD,2FAA2F;AAC3F,MAAM,MAAM,oBAAoB,GAAG,IAAI,CAAC,aAAa,EAAE,aAAa,GAAG,SAAS,CAAC,CAAC;AAElF;;;;;;;;;;;;;GAaG;AACH,qBAAa,aAAa;IAGtB,QAAQ,CAAC,GAAG,EAAE,MAAM;IACpB,OAAO,CAAC,QAAQ,CAAC,IAAI;IACrB,OAAO,CAAC,QAAQ,CAAC,OAAO;IAJ1B,4EAA4E;gBAEjE,GAAG,EAAE,MAAM,EACH,IAAI,EAAE,UAAU,EAChB,OAAO,GAAE,oBAAyB;IAGrD;;;;OAIG;IACH,IAAI,CAAC,GAAG,EAAE,UAAU,EAAE,OAAO,GAAE,IAAI,CAAC,aAAa,EAAE,QAAQ,CAAM,GAAG,SAAS,CAAC,cAAc,CAAC;IAI7F;;;;;;OAMG;IACH,UAAU,CACR,MAAM,EAAE,CAAC,MAAM,EAAE,WAAW,KAAK,aAAa,CAAC,UAAU,CAAC,EAC1D,OAAO,GAAE,IAAI,CAAC,aAAa,EAAE,QAAQ,CAAM,GAC1C,SAAS,CAAC,cAAc,CAAC;CAG7B"}
@@ -16,7 +16,7 @@ export interface IngressOptions extends DispatchOptions {
16
16
  * @param protocol Borrowed dispatcher over synchronous domain commits and correlated cue publication.
17
17
  * @param kvy Input-owned KEL processor bound to the same store, reply verifier and cue flow.
18
18
  * @param options Dispatch policy and optional upstream cancellation; defaults follow the shared processor.
19
- * @throws Parsing, dispatch and cleanup failures propagate after the pending pull and iterator cleanup join.
19
+ * @throws Parsing, infrastructure dispatch and cleanup failures propagate after the pending pull and iterator cleanup join; one invalid message does not.
20
20
  */
21
21
  export declare function processMessages(source: (signal: AbortSignal) => AsyncIterable<Uint8Array>, protocol: ProtocolProcessor, kvy: Kevery, options?: IngressOptions): Operation<void>;
22
22
  //# sourceMappingURL=message-source.d.ts.map
@@ -2,8 +2,8 @@ import type { RuntimeClock } from "../runtime/runtime-clock.js";
2
2
  import type { HttpClient } from "./http-client.js";
3
3
  import { HTTPMessenger } from "./http-messenger.js";
4
4
  import { HTTPStreamMessenger } from "./http-stream-messenger.js";
5
- import { TCPMessenger } from "./tcp-messenger.js";
6
- import { TCPStreamMessenger } from "./tcp-stream-messenger.js";
5
+ import type { TCPMessenger } from "./tcp-messenger.js";
6
+ import type { TCPStreamMessenger } from "./tcp-stream-messenger.js";
7
7
  /** Resolved transport URLs; identity/role discovery belongs to the caller. */
8
8
  export interface MessengerUrls {
9
9
  https?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"messengering.d.ts","sourceRoot":"","sources":["../../../src/app/transport/messengering.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAChE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AACnD,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AACjE,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAE/D,8EAA8E;AAC9E,MAAM,WAAW,aAAa;IAC5B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAmBD;;;;;;;;;;;GAWG;AACH,wBAAgB,aAAa,CAC3B,WAAW,EAAE,MAAM,EACnB,IAAI,EAAE,aAAa,EACnB,IAAI,EAAE,UAAU,EAChB,KAAK,EAAE,YAAY,EACnB,OAAO,CAAC,EAAE,WAAW,GACpB,aAAa,GAAG,YAAY,CAI9B;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,mBAAmB,CACjC,WAAW,EAAE,MAAM,EACnB,IAAI,EAAE,aAAa,EACnB,OAAO,EAAE,UAAU,EACnB,IAAI,EAAE,UAAU,EAChB,KAAK,EAAE,YAAY,EACnB,OAAO,CAAC,EAAE,WAAW,GACpB,mBAAmB,GAAG,kBAAkB,CAI1C"}
1
+ {"version":3,"file":"messengering.d.ts","sourceRoot":"","sources":["../../../src/app/transport/messengering.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAChE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AACnD,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AAEjE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAEpE,8EAA8E;AAC9E,MAAM,WAAW,aAAa;IAC5B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAmBD;;;;;;;;;;;GAWG;AACH,wBAAgB,aAAa,CAC3B,WAAW,EAAE,MAAM,EACnB,IAAI,EAAE,aAAa,EACnB,IAAI,EAAE,UAAU,EAChB,KAAK,EAAE,YAAY,EACnB,OAAO,CAAC,EAAE,WAAW,GACpB,aAAa,GAAG,YAAY,CAI9B;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,mBAAmB,CACjC,WAAW,EAAE,MAAM,EACnB,IAAI,EAAE,aAAa,EACnB,OAAO,EAAE,UAAU,EACnB,IAAI,EAAE,UAAU,EAChB,KAAK,EAAE,YAAY,EACnB,OAAO,CAAC,EAAE,WAAW,GACpB,mBAAmB,GAAG,kBAAkB,CAI1C"}
@@ -0,0 +1,10 @@
1
+ /** HTTP client plus TCP egress, for hosts with sockets. */
2
+ import { FetchHttpClient } from "./http-client.js";
3
+ import type { TcpDialer } from "./tcp-dialer.js";
4
+ /** Dials TCP endpoints through `node:net`. */
5
+ export declare const nodeTcpDialer: TcpDialer;
6
+ /** A `FetchHttpClient` that can also reach `tcp:` endpoints. */
7
+ export declare class NodeHttpClient extends FetchHttpClient {
8
+ readonly tcp: TcpDialer;
9
+ }
10
+ //# sourceMappingURL=node-http-client.d.ts.map