keri-ts 2.2.4 → 2.2.5

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 (233) hide show
  1. package/esm/keri/npm/src/_dnt.polyfills.js +14 -14
  2. package/esm/keri/npm/src/acdc/registering.js +19 -0
  3. package/esm/keri/npm/src/acdc/salting.js +4 -0
  4. package/esm/keri/npm/src/app/bootstrap/authenticating.js +32 -10
  5. package/esm/keri/npm/src/app/bootstrap/oobiery.js +363 -30
  6. package/esm/keri/npm/src/app/credentials/credential-importing.js +33 -4
  7. package/esm/keri/npm/src/app/credentials/root-replicator.js +27 -15
  8. package/esm/keri/npm/src/app/credentials/schema-resolving.js +5 -1
  9. package/esm/keri/npm/src/app/credentials/tel-publishing.js +16 -7
  10. package/esm/keri/npm/src/app/delivery/forwarding.js +177 -43
  11. package/esm/keri/npm/src/app/delivery/relaying.js +232 -0
  12. package/esm/keri/npm/src/app/delivery/respondant.js +8 -5
  13. package/esm/keri/npm/src/app/exchanges/exchange-messaging.js +1 -1
  14. package/esm/keri/npm/src/app/exchanges/exchanging.js +65 -9
  15. package/esm/keri/npm/src/app/identity/delegating.js +66 -9
  16. package/esm/keri/npm/src/app/identity/habbing.js +190 -71
  17. package/esm/keri/npm/src/app/identity/keeping.js +111 -39
  18. package/esm/keri/npm/src/app/identity/retire-identifier.js +98 -0
  19. package/esm/keri/npm/src/app/ipex/disclosure-replaying.js +116 -0
  20. package/esm/keri/npm/src/app/ipex/group-ipex.js +122 -25
  21. package/esm/keri/npm/src/app/ipex/group-issuance.js +109 -23
  22. package/esm/keri/npm/src/app/ipex/ipex-discloser.js +36 -22
  23. package/esm/keri/npm/src/app/ipex/ipex-grouping.js +53 -3
  24. package/esm/keri/npm/src/app/ipex/ipex-v2.js +7 -2
  25. package/esm/keri/npm/src/app/ipex/issuance.js +131 -35
  26. package/esm/keri/npm/src/app/ipex/pending-presentations.js +4 -2
  27. package/esm/keri/npm/src/app/ipex/presenting.js +3 -18
  28. package/esm/keri/npm/src/app/ipex/receive-issuance.js +2 -1
  29. package/esm/keri/npm/src/app/ipex/unblinding-workflow.js +16 -3
  30. package/esm/keri/npm/src/app/mailbox/agent-inbox.js +292 -0
  31. package/esm/keri/npm/src/app/mailbox/forward-handler.js +298 -52
  32. package/esm/keri/npm/src/app/mailbox/kel-publisher.js +26 -31
  33. package/esm/keri/npm/src/app/mailbox/mailbox-poller.js +70 -62
  34. package/esm/keri/npm/src/app/mailbox/mailboxing.js +20 -4
  35. package/esm/keri/npm/src/app/multisig/counseling.js +71 -27
  36. package/esm/keri/npm/src/app/multisig/group-members.js +41 -5
  37. package/esm/keri/npm/src/app/multisig/grouping.js +50 -2
  38. package/esm/keri/npm/src/app/multisig/multisig-workflows.js +3 -18
  39. package/esm/keri/npm/src/app/multisig/proposing.js +1 -16
  40. package/esm/keri/npm/src/app/multisig/rejoin-group.js +99 -0
  41. package/esm/keri/npm/src/app/multisig/replace-member.js +29 -8
  42. package/esm/keri/npm/src/app/protocol/parsering.js +45 -17
  43. package/esm/keri/npm/src/app/protocol/protocol-processing.js +47 -21
  44. package/esm/keri/npm/src/app/queries/query-replies.js +0 -22
  45. package/esm/keri/npm/src/app/queries/relay-refresh.js +81 -0
  46. package/esm/keri/npm/src/app/queries/witness-inquisitor.js +180 -34
  47. package/esm/keri/npm/src/app/runtime/agent-runtime.js +41 -72
  48. package/esm/keri/npm/src/app/runtime/cue-runtime.js +45 -5
  49. package/esm/keri/npm/src/app/runtime/operation-owners.js +26 -56
  50. package/esm/keri/npm/src/app/runtime/workflow-contract.js +7 -4
  51. package/esm/keri/npm/src/app/transport/http-client.js +20 -2
  52. package/esm/keri/npm/src/app/transport/message-source.js +2 -1
  53. package/esm/keri/npm/src/app/transport/messengering.js +39 -8
  54. package/esm/keri/npm/src/app/witness/ingress.js +7 -0
  55. package/esm/keri/npm/src/app/witness/receipt-client.js +43 -16
  56. package/esm/keri/npm/src/app/witness/receipting.js +62 -20
  57. package/esm/keri/npm/src/cli/messaging/multisig.js +4 -3
  58. package/esm/keri/npm/src/core/errors.js +73 -0
  59. package/esm/keri/npm/src/core/kel/delegation-ancestry.js +11 -2
  60. package/esm/keri/npm/src/core/kel/eventing.js +25 -28
  61. package/esm/keri/npm/src/core/kel/kever.js +15 -9
  62. package/esm/keri/npm/src/core/mailbox/kram-policy.js +8 -0
  63. package/esm/keri/npm/src/core/mailbox/kram-pruning.js +25 -6
  64. package/esm/keri/npm/src/core/mailbox/kram-time.js +34 -6
  65. package/esm/keri/npm/src/core/mailbox/kraming.js +58 -2
  66. package/esm/keri/npm/src/core/routing.js +18 -25
  67. package/esm/keri/npm/src/core/scheming.js +12 -5
  68. package/esm/keri/npm/src/core/wire-fields.js +126 -0
  69. package/esm/keri/npm/src/db/basing.js +4 -13
  70. package/esm/keri/npm/src/db/core/indexeddb-persistence.js +3 -2
  71. package/esm/keri/npm/src/db/core/webdber.js +85 -27
  72. package/esm/keri/npm/src/db/mailbox/mailboxing.js +13 -0
  73. package/esm/keri/npm/src/db/subing.js +4 -0
  74. package/esm/keri/npm/src/runtime/index.js +11 -5
  75. package/esm/keri/npm/src/time/mod.js +5 -0
  76. package/esm/keri/npm/src/vdr/credential-tsn-record.js +2 -7
  77. package/esm/keri/npm/src/vdr/eventing.js +28 -19
  78. package/esm/keri/npm/src/vdr/registry-tsn-record.js +3 -13
  79. package/esm/keri/npm/src/version.js +2 -2
  80. package/package.json +1 -1
  81. package/types/_dnt.polyfills.d.ts +9 -9
  82. package/types/_dnt.polyfills.d.ts.map +1 -1
  83. package/types/acdc/registering.d.ts +6 -0
  84. package/types/acdc/registering.d.ts.map +1 -1
  85. package/types/acdc/salting.d.ts.map +1 -1
  86. package/types/app/bootstrap/authenticating.d.ts +12 -2
  87. package/types/app/bootstrap/authenticating.d.ts.map +1 -1
  88. package/types/app/bootstrap/oobiery.d.ts +144 -7
  89. package/types/app/bootstrap/oobiery.d.ts.map +1 -1
  90. package/types/app/credentials/credential-importing.d.ts +8 -0
  91. package/types/app/credentials/credential-importing.d.ts.map +1 -1
  92. package/types/app/credentials/root-replicator.d.ts +19 -8
  93. package/types/app/credentials/root-replicator.d.ts.map +1 -1
  94. package/types/app/credentials/schema-resolving.d.ts.map +1 -1
  95. package/types/app/credentials/tel-publishing.d.ts +4 -2
  96. package/types/app/credentials/tel-publishing.d.ts.map +1 -1
  97. package/types/app/delivery/forwarding.d.ts +69 -5
  98. package/types/app/delivery/forwarding.d.ts.map +1 -1
  99. package/types/app/delivery/relaying.d.ts +144 -0
  100. package/types/app/delivery/relaying.d.ts.map +1 -0
  101. package/types/app/delivery/respondant.d.ts +9 -2
  102. package/types/app/delivery/respondant.d.ts.map +1 -1
  103. package/types/app/exchanges/exchanging.d.ts +36 -0
  104. package/types/app/exchanges/exchanging.d.ts.map +1 -1
  105. package/types/app/identity/delegating.d.ts +6 -0
  106. package/types/app/identity/delegating.d.ts.map +1 -1
  107. package/types/app/identity/habbing.d.ts +106 -19
  108. package/types/app/identity/habbing.d.ts.map +1 -1
  109. package/types/app/identity/keeping.d.ts +54 -19
  110. package/types/app/identity/keeping.d.ts.map +1 -1
  111. package/types/app/identity/retire-identifier.d.ts +24 -0
  112. package/types/app/identity/retire-identifier.d.ts.map +1 -0
  113. package/types/app/ipex/disclosure-replaying.d.ts +61 -0
  114. package/types/app/ipex/disclosure-replaying.d.ts.map +1 -0
  115. package/types/app/ipex/group-ipex.d.ts +60 -14
  116. package/types/app/ipex/group-ipex.d.ts.map +1 -1
  117. package/types/app/ipex/group-issuance.d.ts +48 -6
  118. package/types/app/ipex/group-issuance.d.ts.map +1 -1
  119. package/types/app/ipex/ipex-discloser.d.ts +14 -2
  120. package/types/app/ipex/ipex-discloser.d.ts.map +1 -1
  121. package/types/app/ipex/ipex-grouping.d.ts +23 -2
  122. package/types/app/ipex/ipex-grouping.d.ts.map +1 -1
  123. package/types/app/ipex/ipex-v2.d.ts +5 -2
  124. package/types/app/ipex/ipex-v2.d.ts.map +1 -1
  125. package/types/app/ipex/issuance.d.ts +35 -11
  126. package/types/app/ipex/issuance.d.ts.map +1 -1
  127. package/types/app/ipex/pending-presentations.d.ts +4 -2
  128. package/types/app/ipex/pending-presentations.d.ts.map +1 -1
  129. package/types/app/ipex/presenting.d.ts.map +1 -1
  130. package/types/app/ipex/receive-issuance.d.ts +2 -1
  131. package/types/app/ipex/receive-issuance.d.ts.map +1 -1
  132. package/types/app/ipex/unblinding-workflow.d.ts +4 -1
  133. package/types/app/ipex/unblinding-workflow.d.ts.map +1 -1
  134. package/types/app/mailbox/agent-inbox.d.ts +126 -0
  135. package/types/app/mailbox/agent-inbox.d.ts.map +1 -0
  136. package/types/app/mailbox/forward-handler.d.ts +114 -14
  137. package/types/app/mailbox/forward-handler.d.ts.map +1 -1
  138. package/types/app/mailbox/kel-publisher.d.ts +12 -22
  139. package/types/app/mailbox/kel-publisher.d.ts.map +1 -1
  140. package/types/app/mailbox/mailbox-poller.d.ts +40 -24
  141. package/types/app/mailbox/mailbox-poller.d.ts.map +1 -1
  142. package/types/app/mailbox/mailboxing.d.ts +19 -5
  143. package/types/app/mailbox/mailboxing.d.ts.map +1 -1
  144. package/types/app/multisig/counseling.d.ts +32 -11
  145. package/types/app/multisig/counseling.d.ts.map +1 -1
  146. package/types/app/multisig/group-members.d.ts +17 -1
  147. package/types/app/multisig/group-members.d.ts.map +1 -1
  148. package/types/app/multisig/grouping.d.ts +17 -1
  149. package/types/app/multisig/grouping.d.ts.map +1 -1
  150. package/types/app/multisig/multisig-workflows.d.ts +0 -8
  151. package/types/app/multisig/multisig-workflows.d.ts.map +1 -1
  152. package/types/app/multisig/proposing.d.ts +4 -19
  153. package/types/app/multisig/proposing.d.ts.map +1 -1
  154. package/types/app/multisig/rejoin-group.d.ts +119 -0
  155. package/types/app/multisig/rejoin-group.d.ts.map +1 -0
  156. package/types/app/multisig/replace-member.d.ts +15 -1
  157. package/types/app/multisig/replace-member.d.ts.map +1 -1
  158. package/types/app/protocol/parsering.d.ts +21 -2
  159. package/types/app/protocol/parsering.d.ts.map +1 -1
  160. package/types/app/protocol/protocol-processing.d.ts +25 -5
  161. package/types/app/protocol/protocol-processing.d.ts.map +1 -1
  162. package/types/app/queries/query-replies.d.ts +4 -8
  163. package/types/app/queries/query-replies.d.ts.map +1 -1
  164. package/types/app/queries/relay-refresh.d.ts +26 -0
  165. package/types/app/queries/relay-refresh.d.ts.map +1 -0
  166. package/types/app/queries/witness-inquisitor.d.ts +56 -5
  167. package/types/app/queries/witness-inquisitor.d.ts.map +1 -1
  168. package/types/app/runtime/agent-runtime.d.ts +34 -3
  169. package/types/app/runtime/agent-runtime.d.ts.map +1 -1
  170. package/types/app/runtime/cue-runtime.d.ts +15 -3
  171. package/types/app/runtime/cue-runtime.d.ts.map +1 -1
  172. package/types/app/runtime/operation-owners.d.ts +16 -26
  173. package/types/app/runtime/operation-owners.d.ts.map +1 -1
  174. package/types/app/runtime/workflow-contract.d.ts +21 -6
  175. package/types/app/runtime/workflow-contract.d.ts.map +1 -1
  176. package/types/app/transport/http-client.d.ts +9 -0
  177. package/types/app/transport/http-client.d.ts.map +1 -1
  178. package/types/app/transport/message-source.d.ts +6 -3
  179. package/types/app/transport/message-source.d.ts.map +1 -1
  180. package/types/app/transport/messengering.d.ts +10 -1
  181. package/types/app/transport/messengering.d.ts.map +1 -1
  182. package/types/app/witness/ingress.d.ts +1 -0
  183. package/types/app/witness/ingress.d.ts.map +1 -1
  184. package/types/app/witness/receipt-client.d.ts +19 -1
  185. package/types/app/witness/receipt-client.d.ts.map +1 -1
  186. package/types/app/witness/receipting.d.ts +24 -1
  187. package/types/app/witness/receipting.d.ts.map +1 -1
  188. package/types/cli/messaging/multisig.d.ts.map +1 -1
  189. package/types/core/cues.d.ts +53 -1
  190. package/types/core/cues.d.ts.map +1 -1
  191. package/types/core/errors.d.ts +32 -0
  192. package/types/core/errors.d.ts.map +1 -1
  193. package/types/core/kel/delegation-ancestry.d.ts.map +1 -1
  194. package/types/core/kel/eventing.d.ts.map +1 -1
  195. package/types/core/kel/kever-decisions.d.ts +3 -1
  196. package/types/core/kel/kever-decisions.d.ts.map +1 -1
  197. package/types/core/kel/kever.d.ts +7 -1
  198. package/types/core/kel/kever.d.ts.map +1 -1
  199. package/types/core/mailbox/kram-policy.d.ts +6 -0
  200. package/types/core/mailbox/kram-policy.d.ts.map +1 -1
  201. package/types/core/mailbox/kram-pruning.d.ts +5 -1
  202. package/types/core/mailbox/kram-pruning.d.ts.map +1 -1
  203. package/types/core/mailbox/kram-time.d.ts +26 -2
  204. package/types/core/mailbox/kram-time.d.ts.map +1 -1
  205. package/types/core/mailbox/kraming.d.ts +14 -1
  206. package/types/core/mailbox/kraming.d.ts.map +1 -1
  207. package/types/core/routing.d.ts +3 -7
  208. package/types/core/routing.d.ts.map +1 -1
  209. package/types/core/scheming.d.ts.map +1 -1
  210. package/types/core/wire-fields.d.ts +56 -0
  211. package/types/core/wire-fields.d.ts.map +1 -0
  212. package/types/db/basing.d.ts.map +1 -1
  213. package/types/db/core/indexeddb-persistence.d.ts +3 -2
  214. package/types/db/core/indexeddb-persistence.d.ts.map +1 -1
  215. package/types/db/core/webdber.d.ts +32 -6
  216. package/types/db/core/webdber.d.ts.map +1 -1
  217. package/types/db/exchange/exchange-records.d.ts +4 -0
  218. package/types/db/exchange/exchange-records.d.ts.map +1 -1
  219. package/types/db/mailbox/mailboxing.d.ts +10 -1
  220. package/types/db/mailbox/mailboxing.d.ts.map +1 -1
  221. package/types/db/subing.d.ts +2 -0
  222. package/types/db/subing.d.ts.map +1 -1
  223. package/types/runtime/index.d.ts +20 -14
  224. package/types/runtime/index.d.ts.map +1 -1
  225. package/types/time/mod.d.ts +2 -0
  226. package/types/time/mod.d.ts.map +1 -1
  227. package/types/vdr/credential-tsn-record.d.ts.map +1 -1
  228. package/types/vdr/eventing.d.ts.map +1 -1
  229. package/types/vdr/registry-tsn-record.d.ts.map +1 -1
  230. package/types/version.d.ts +2 -2
  231. package/esm/keri/npm/src/app/runtime/signer-conditions.js +0 -51
  232. package/types/app/runtime/signer-conditions.d.ts +0 -32
  233. package/types/app/runtime/signer-conditions.d.ts.map +0 -1
@@ -6,6 +6,7 @@ import type { Habery } from "../identity/habbing.js";
6
6
  import type { ProtocolProcessor } from "../protocol/protocol-processing.js";
7
7
  import type { RuntimeClock } from "../runtime/runtime-clock.js";
8
8
  import type { HttpClient } from "../transport/http-client.js";
9
+ import { type Relay } from "./relaying.js";
9
10
  /** Prepared signed source; Poster copies its bytes before publishing an ordinary admission. */
10
11
  export interface PosterMsg {
11
12
  /**
@@ -66,6 +67,14 @@ export type PosterOutcome = {
66
67
  export declare class PeerVersionError extends ValidationError {
67
68
  readonly name: string;
68
69
  }
70
+ /**
71
+ * A queued message whose own bytes cannot be prepared for sending: they are not complete CESR, or a forwarded
72
+ * delivery's source is not exactly one complete message. It describes the event, never this node, so it fails that
73
+ * delivery and the Poster continues with the next.
74
+ */
75
+ export declare class UnsendableMessageError extends ValidationError {
76
+ readonly name: string;
77
+ }
69
78
  /**
70
79
  * Deliver queued signed messages using KERIpy's ordinary Poster role traversal.
71
80
  *
@@ -73,6 +82,13 @@ export declare class PeerVersionError extends ValidationError {
73
82
  * storage). Only recipients without those roles use one witness. Transport
74
83
  * completion and opt-in outcomes do not prove remote protocol acceptance. Finite
75
84
  * stream admissions use the first present role through the same execution owner.
85
+ *
86
+ * With a relay (an edge runtime) there is no role traversal: every recipient other
87
+ * than the relay gets one `/fwd` delivery to the relay, which does the forwarding,
88
+ * and the relay itself gets the message directly. `sent` then means the relay
89
+ * accepted the wrapper, not that the final recipient received it. A forwarded
90
+ * delivery fails with `RelayUnauthorizedError`, sending nothing, until its wrapper
91
+ * signer (a group's local member) has authorized the relay as its mailbox.
76
92
  */
77
93
  export declare class Poster {
78
94
  /** Borrowed habitat collection and backing accepted protocol state. */
@@ -101,6 +117,8 @@ export declare class Poster {
101
117
  private joined?;
102
118
  /** Borrowed same-socket protocol receiver; null explicitly selects send-only capability. */
103
119
  private readonly protocol;
120
+ /** The agent every message goes through (an edge); null delivers directly (a forwarder). */
121
+ readonly relay: Relay | null;
104
122
  /**
105
123
  * Bind actual collaborators; Poster owns queue/I/O lifetimes and borrows their stores.
106
124
  *
@@ -109,9 +127,10 @@ export declare class Poster {
109
127
  * @param protocol Borrowed same-database processor for TCP replies; null permits send-only work.
110
128
  * @param http Borrowed HTTP implementation selected by composition.
111
129
  * @param clock Borrowed clock for transport deadlines; times are milliseconds.
130
+ * @param relay The agent every message goes through; null selects ordinary direct role traversal.
112
131
  * @throws RangeError if protocol state belongs to a different database.
113
132
  */
114
- constructor(hby: Habery, mbx: Mailboxer | null, protocol: ProtocolProcessor | null, http: HttpClient, clock: RuntimeClock);
133
+ constructor(hby: Habery, mbx: Mailboxer | null, protocol: ProtocolProcessor | null, http: HttpClient, clock: RuntimeClock, relay: Relay | null);
115
134
  /**
116
135
  * Admit signed source bytes; callers must observe an outcome before reporting transmission.
117
136
  *
@@ -191,7 +210,11 @@ export declare class Poster {
191
210
  /**
192
211
  * Resolve and execute one event using sequential current endpoints.
193
212
  * Observed HTTP refusal and TransportError permit remaining targets to run.
194
- * Unexpected construction/parser/storage/cleanup errors propagate so process can
213
+ * The event's bytes are decoded once; bytes that are not complete CESR fail the
214
+ * event. `PeerVersionError` and `UnsendableMessageError` from preparation fail
215
+ * only that target: both are decided from the event's own bytes and the peer's
216
+ * accepted version before any store write or I/O for the target. Other
217
+ * construction/storage/cleanup errors are faults and propagate so process can
195
218
  * publish or report the failed outcome before exposing the error.
196
219
  *
197
220
  * @param evt Concrete source-message record; completion/failure lookup uses object identity, not message SAID.
@@ -207,7 +230,10 @@ export declare class Poster {
207
230
  *
208
231
  * Controller and agent roles each retain all endpoints. An indirect role picks
209
232
  * one random provider, unless an explicitly composed store owns an eligible local
210
- * AID. Empty location maps retain role selection and become execution failures.
233
+ * AID. An agent role whose endpoint is a local AID with a composed store is that
234
+ * same local store target (given a topic), as the hosted agent keeps the recipient's
235
+ * mail for pickup. Empty location maps retain role selection and become execution failures.
236
+ * With a relay, the relay alone is the route (see {@link relayRoutes}).
211
237
  *
212
238
  * @param hab Local signing habitat borrowing accepted role/location state.
213
239
  * @param recipient Resolved final recipient AID.
@@ -216,10 +242,43 @@ export declare class Poster {
216
242
  * @returns Ordered role groups; no eligible role returns an empty array.
217
243
  */
218
244
  private findBytesRoutes;
245
+ /**
246
+ * Route through the relay: one `forward` route to the relay for every other recipient, never a direct fallback,
247
+ * and one `direct` route when the recipient is the relay. Recipient end roles are not read.
248
+ *
249
+ * @param hab Local sending habitat; its wrapper signer must have authorized the relay as mailbox.
250
+ * @param relay The configured relay agent.
251
+ * @param recipient Resolved final recipient AID.
252
+ * @param topic Recipient mailbox topic; the forwarded route requires a nonempty topic.
253
+ * @returns One route to the relay, or none while {@link relayRefusal} refuses the relay for this sender.
254
+ */
255
+ private relayRoutes;
256
+ /**
257
+ * The identifier whose mailbox authorization of the relay a delivery needs: the `/fwd` wrapper's signer (see
258
+ * {@link Poster.wrapperSigner}), the same `i` the agent reads to decide it serves the sender. For a group source
259
+ * that is the local member, not the group. A message addressed to the relay is not wrapped and needs none (null).
260
+ *
261
+ * @param hab Local sending habitat.
262
+ * @param relay The configured relay agent.
263
+ * @param recipient Resolved final recipient AID.
264
+ * @returns The wrapper signer's AID, or null when the recipient is the relay.
265
+ */
266
+ private relaySigner;
267
+ /**
268
+ * The habitat that signs a `/fwd` wrapper for `hab`. A group cannot sign the wrapper alone: one member's signature
269
+ * does not meet a threshold above one, and the host would escrow the wrapper. The local member wraps; the payload
270
+ * keeps whatever signatures it carries.
271
+ *
272
+ * @param hab Local sending habitat, possibly a group.
273
+ * @returns `hab` itself, or the group's local member.
274
+ * @throws ValidationError when a group has no local member metadata.
275
+ */
276
+ private wrapperSigner;
219
277
  /**
220
278
  * Whether `src` has any eligible role (controller, agent, mailbox or witness) from which to reach `dest`, as
221
279
  * delivery would find it now. A pure read of accepted endpoint state: it says nothing about whether the
222
- * endpoint answers. A proposer uses it to refuse before it creates anything it could not publish.
280
+ * endpoint answers. A proposer uses it to refuse before it creates anything it could not publish. With a relay,
281
+ * it is whether {@link relayRefusal} accepts the relay for this sender.
223
282
  */
224
283
  canReach(src: string, dest: string, topic?: string): boolean;
225
284
  /**
@@ -229,8 +288,10 @@ export declare class Poster {
229
288
  * @param route Selected direct or forwarded endpoint group.
230
289
  * @param endpoint One selected endpoint AID and URL from the route.
231
290
  * @param evt Original signed source and concrete ordinary/stream operation.
291
+ * @param frames The event's bytes, decoded once by {@link messageFrames}.
232
292
  * @returns A prepared remote target, or stored after authorized local mailbox publication.
233
293
  * @throws PeerVersionError when the wire needs a v2 reader that this peer is known not to be.
294
+ * @throws UnsendableMessageError when a forwarded ordinary message is not exactly one message.
234
295
  */
235
296
  private prepareBytesTarget;
236
297
  /**
@@ -240,8 +301,11 @@ export declare class Poster {
240
301
  * @param recipient Final recipient AID, distinct from the intermediary endpoint.
241
302
  * @param topic Recipient mailbox topic used by the forwarding envelope.
242
303
  * @param evt Original signed source and operation; outer envelopes may be rebuilt.
304
+ * @param frames The event's decoded messages: exactly one for an ordinary event, each forwarded alone in a stream.
243
305
  * @param endpoint Mailbox/witness endpoint selected for this attempt.
244
- * @returns Stored for a local endpoint, or signed forwarding wire with its introduction.
306
+ * @returns Stored for a local endpoint, unsignable when the wrapper signer cannot sign now, or signed forwarding
307
+ * wire with its introduction.
308
+ * @throws UnsendableMessageError when an ordinary event is not exactly one message.
245
309
  */
246
310
  private prepareForwardedTarget;
247
311
  }
@@ -1 +1 @@
1
- {"version":3,"file":"forwarding.d.ts","sourceRoot":"","sources":["../../../src/app/delivery/forwarding.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"forwarding.d.ts","sourceRoot":"","sources":["../../../src/app/delivery/forwarding.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,144 @@
1
+ import { ValidationError } from "../../core/errors.js";
2
+ import type { Habery } from "../identity/habbing.js";
3
+ import type { HttpClient } from "../transport/http-client.js";
4
+ import { type MessengerUrls } from "../transport/messengering.js";
5
+ import { TransportError } from "../transport/transport-error.js";
6
+ /** The agent this runtime sends, queries and polls through; `oobi` is the agent's own OOBI. */
7
+ export interface Relay {
8
+ /** The relay agent's AID; its accepted location is where every outgoing message goes. */
9
+ readonly aid: string;
10
+ /** The relay agent's own OOBI URL, resolved to learn the agent's KEL, end roles and location. */
11
+ readonly oobi: string;
12
+ }
13
+ /** Accepted location of the relay, read from the relay's accepted `/loc/scheme` replies. */
14
+ export interface RelayEndpoint {
15
+ /** The relay agent's AID, which is also the endpoint AID. */
16
+ readonly eid: string;
17
+ /** Preferred URL of the accepted locations: HTTPS, then HTTP, then TCP. */
18
+ readonly url: string;
19
+ /** Every accepted location of the relay by supported scheme, for concrete messenger construction. */
20
+ readonly urls: MessengerUrls;
21
+ }
22
+ /** The relay's location is not accepted yet (its OOBI has not resolved); nothing was sent. */
23
+ export declare class RelayUnresolvedError extends ValidationError {
24
+ readonly name: string;
25
+ }
26
+ /**
27
+ * The sending identity has not authorized the relay as its `mailbox`; nothing was sent. The agent relays only for a
28
+ * sender that named it its mailbox, so a wrapper sent before that would be dropped there without an answer.
29
+ */
30
+ export declare class RelayUnauthorizedError extends ValidationError {
31
+ readonly name: string;
32
+ }
33
+ /** Why the relay cannot carry a message now; see {@link relayRefusal}. */
34
+ export type RelayRefusal = RelayUnresolvedError | RelayUnauthorizedError;
35
+ /** Refuses a request whose origin is neither the relay's OOBI origin nor an accepted relay location. */
36
+ export declare class RelayOnlyError extends TransportError {
37
+ readonly name: string;
38
+ }
39
+ /**
40
+ * Read the relay's accepted location, as `Hab.endsFor` reads any endpoint's locations.
41
+ *
42
+ * Locations are accepted only from `/loc/scheme` replies verified against the relay's KEL, so a non-null result
43
+ * means the relay's OOBI (or an equivalent introduction) has resolved. A location no messenger can use
44
+ * ({@link messengerUrl}: one the HTTP client refuses, or a TCP URL without a port) reads as unresolved.
45
+ *
46
+ * @param hby Borrowed accepted-state store holding the relay's location replies.
47
+ * @param relay The configured relay agent.
48
+ * @returns The relay's preferred URL and scheme map, or null until a usable location is accepted.
49
+ */
50
+ export declare function relayEndpoint(hby: Habery, relay: Relay): RelayEndpoint | null;
51
+ /**
52
+ * Whether `pre` has authorized the relay as its mailbox: the accepted row `ends.[pre, mailbox, relay.aid]` is
53
+ * allowed. This is the row the agent reads to decide that it serves the sender, and the edge holds it because it
54
+ * signed and accepted the end-role reply itself (`addMailbox`).
55
+ *
56
+ * @param hby Borrowed accepted-state store holding end-role replies.
57
+ * @param pre Local identifier that signs what goes to the relay (for a group, its local member).
58
+ * @param relay The configured relay agent.
59
+ * @returns True when the mailbox role naming the relay is accepted and allowed.
60
+ */
61
+ export declare function relayAuthorized(hby: Habery, pre: string, relay: Relay): boolean;
62
+ /**
63
+ * Decide whether the relay can carry a message signed by `signer` now, before anything is prepared or sent.
64
+ *
65
+ * The relay must have an accepted location. A message it is to forward also needs `signer` to have authorized it as
66
+ * mailbox; a message addressed to the relay itself (`signer` null) needs no authorization, as the relay consumes it
67
+ * rather than forwarding it. Onboarding needs neither path: the mailbox add is posted to the relay's `/mailboxes`
68
+ * admin resource and carries the KEL that introduces the edge.
69
+ *
70
+ * @param hby Borrowed accepted-state store holding the relay's location and the signer's end roles.
71
+ * @param relay The configured relay agent.
72
+ * @param signer Local identifier that signs the forwarding wrapper or query; null for a message to the relay itself.
73
+ * @returns The refusal to report, or null when the relay can carry the message.
74
+ */
75
+ export declare function relayRefusal(hby: Habery, relay: Relay, signer: string | null): RelayRefusal | null;
76
+ /**
77
+ * Refuse a relay nothing can be composed over: its AID must be non-empty and its OOBI an absolute HTTP(S) URL,
78
+ * because the egress guard admits the OOBI's origin and the edge resolves that OOBI before anything else. A
79
+ * composition root (the guard, a wallet) calls it before it opens or sends anything.
80
+ *
81
+ * @param relay Candidate relay, possibly from untyped embedder input.
82
+ * @throws ValidationError when the AID is empty or the OOBI is not an absolute HTTP(S) URL.
83
+ */
84
+ export declare function assertRelay(relay: Relay): void;
85
+ /** Onboarding step: the relay's OOBI has not resolved, so its location is not accepted; resolve `oobi`. */
86
+ export interface RelayOobiStep {
87
+ readonly step: "resolve-oobi";
88
+ /** The relay's own OOBI; an edge runtime queues it at start, and a host may resolve it again explicitly. */
89
+ readonly oobi: string;
90
+ }
91
+ /**
92
+ * Onboarding step: local identifier `pre` has not authorized the relay as its `mailbox`, so the relay neither
93
+ * forwards what `pre` signs nor stores what is sent to it. `authorize-member` is a single-signature identifier,
94
+ * authorized by an ordinary mailbox add; `authorize-group` is a group, authorized by the group mailbox proposal and,
95
+ * once the members approve it, its completion.
96
+ */
97
+ export interface RelayAuthorizationStep {
98
+ readonly step: "authorize-member" | "authorize-group";
99
+ /** The local identifier that has not authorized the relay. */
100
+ readonly pre: string;
101
+ }
102
+ /** One onboarding step still missing before the relay carries a local identifier's traffic. */
103
+ export type RelayStep = RelayOobiStep | RelayAuthorizationStep;
104
+ /**
105
+ * The onboarding steps still missing for delivery through the relay, derived from accepted state on every call;
106
+ * nothing records progress. Order is the order to take them: resolve the relay's OOBI, then authorize each
107
+ * single-signature identifier, then each group (whose inception needs its members to reach each other first).
108
+ *
109
+ * Only identifiers with accepted key state are listed: an identifier that has not completed its inception cannot
110
+ * sign an end-role reply yet. The resolution step comes from {@link relayRefusal}; the authorization steps from
111
+ * {@link relayAuthorized}, the row both the edge's senders and the relay read.
112
+ *
113
+ * @param hby Borrowed accepted-state store holding the relay's location and the local end roles.
114
+ * @param relay The configured relay agent.
115
+ * @returns The missing steps; empty when every accepted local identifier can send and receive through the relay.
116
+ */
117
+ export declare function relayOnboarding(hby: Habery, relay: Relay): RelayStep[];
118
+ /**
119
+ * Whether a URL addresses the relay: its origin is the relay's own OOBI origin or the origin of a currently accepted
120
+ * relay location. The accepted locations are read on every call, so a location accepted (or replaced) later is
121
+ * honored at once. The egress guard refuses everything else, and the edge's Oobiery fetches such a URL directly
122
+ * while it resolves any other origin's OOBI through the relay.
123
+ *
124
+ * @param hby Borrowed accepted-state store holding the relay's location replies.
125
+ * @param relay The configured relay agent.
126
+ * @param url Candidate absolute URL.
127
+ * @returns True when the URL's origin is the relay's.
128
+ */
129
+ export declare function isRelayOrigin(hby: Habery, relay: Relay, url: string): boolean;
130
+ /**
131
+ * Wrap an HTTP client (and its TCP dialer, when present) so it reaches only the relay.
132
+ *
133
+ * The guard is the edge's fail-closed boundary: egress kinds not yet routed through the relay (delegation, TEL
134
+ * receipting, witness registration, well-known authentication) fail as `TransportError` instead of going direct.
135
+ * It allows the origin of the relay's OOBI and the origins of the relay's currently accepted locations.
136
+ *
137
+ * @param inner Borrowed client that performs permitted requests.
138
+ * @param hby Borrowed accepted-state store holding the relay's location replies.
139
+ * @param relay The configured relay agent.
140
+ * @returns A client with the same contract whose refused requests throw RelayOnlyError before any I/O.
141
+ * @throws ValidationError when the relay's OOBI is not an absolute HTTP(S) URL.
142
+ */
143
+ export declare function relayOnlyHttpClient(inner: HttpClient, hby: Habery, relay: Relay): HttpClient;
144
+ //# sourceMappingURL=relaying.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"relaying.d.ts","sourceRoot":"","sources":["../../../src/app/delivery/relaying.ts"],"names":[],"mappings":"AAcA,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAEvD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AAErD,OAAO,KAAK,EAAE,UAAU,EAAqD,MAAM,6BAA6B,CAAC;AACjH,OAAO,EAAgB,KAAK,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAEhF,OAAO,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AAEjE,+FAA+F;AAC/F,MAAM,WAAW,KAAK;IACpB,yFAAyF;IACzF,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,iGAAiG;IACjG,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;CACvB;AAED,4FAA4F;AAC5F,MAAM,WAAW,aAAa;IAC5B,6DAA6D;IAC7D,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,2EAA2E;IAC3E,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,qGAAqG;IACrG,QAAQ,CAAC,IAAI,EAAE,aAAa,CAAC;CAC9B;AAED,8FAA8F;AAC9F,qBAAa,oBAAqB,SAAQ,eAAe;IACvD,SAAkB,IAAI,EAAE,MAAM,CAA0B;CACzD;AAED;;;GAGG;AACH,qBAAa,sBAAuB,SAAQ,eAAe;IACzD,SAAkB,IAAI,EAAE,MAAM,CAA4B;CAC3D;AAED,0EAA0E;AAC1E,MAAM,MAAM,YAAY,GAAG,oBAAoB,GAAG,sBAAsB,CAAC;AAEzE,wGAAwG;AACxG,qBAAa,cAAe,SAAQ,cAAc;IAChD,SAAkB,IAAI,EAAE,MAAM,CAAoB;CACnD;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,aAAa,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,GAAG,aAAa,GAAG,IAAI,CAQ7E;AAED;;;;;;;;;GASG;AACH,wBAAgB,eAAe,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,GAAG,OAAO,CAE/E;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,YAAY,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI,GAAG,YAAY,GAAG,IAAI,CAQlG;AAED;;;;;;;GAOG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI,CAM9C;AAED,2GAA2G;AAC3G,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,IAAI,EAAE,cAAc,CAAC;IAC9B,4GAA4G;IAC5G,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;CACvB;AAED;;;;;GAKG;AACH,MAAM,WAAW,sBAAsB;IACrC,QAAQ,CAAC,IAAI,EAAE,kBAAkB,GAAG,iBAAiB,CAAC;IACtD,8DAA8D;IAC9D,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;CACtB;AAED,+FAA+F;AAC/F,MAAM,MAAM,SAAS,GAAG,aAAa,GAAG,sBAAsB,CAAC;AAE/D;;;;;;;;;;;;GAYG;AACH,wBAAgB,eAAe,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,GAAG,SAAS,EAAE,CAUtE;AAiBD;;;;;;;;;;GAUG;AACH,wBAAgB,aAAa,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAK7E;AAiBD;;;;;;;;;;;;GAYG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,UAAU,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,GAAG,UAAU,CA0B5F"}
@@ -2,6 +2,13 @@ import type { AgentCue } from "../../core/cues.js";
2
2
  import { Deck } from "../../core/deck.js";
3
3
  import type { Hab, Habery } from "../identity/habbing.js";
4
4
  import type { Poster } from "./forwarding.js";
5
+ /**
6
+ * What `Respondant.enqueueCue` did with the head cue:
7
+ * - `taken`: removed, after its signed output was admitted to Poster or because it had nowhere to go;
8
+ * - `unrouted`: left at the head, as it has no responder output (no recipient, topic or sender);
9
+ * - `unsignable`: left at the head, as the signing habitat cannot sign now (its signer is not held yet).
10
+ */
11
+ export type CueOutcome = "taken" | "unrouted" | "unsignable";
5
12
  /**
6
13
  * Shared host-side responder for indirect and witness runtimes.
7
14
  *
@@ -36,10 +43,10 @@ export declare class Respondant {
36
43
  * @param hab Local habitat used to construct/sign this output; stores remain borrowed.
37
44
  * @param cues Source Deck; only its current head is interpreted, and removed after full publication.
38
45
  * @param hint Optional local sender hint used when cue provenance does not resolve a habitat.
39
- * @returns True after complete admission/removal; false if the head has no routable responder output.
46
+ * @returns What became of the head; see {@link CueOutcome}. Only `taken` removes it.
40
47
  * @throws Construction/admission failures leave the source cue present.
41
48
  */
42
- enqueueCue(hab: Hab, cues: Deck<AgentCue>, hint?: Hab | null): boolean;
49
+ enqueueCue(hab: Hab, cues: Deck<AgentCue>, hint?: Hab | null): CueOutcome;
43
50
  /**
44
51
  * Whether a receipt cue has nothing to send to. A receipt goes to the controller of the event it receipts, so it
45
52
  * has nowhere to go when that controller is a group this runtime is a member of (the group's own event: its
@@ -1 +1 @@
1
- {"version":3,"file":"respondant.d.ts","sourceRoot":"","sources":["../../../src/app/delivery/respondant.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,IAAI,EAAE,MAAM,oBAAoB,CAAC;AAC1C,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AAE1D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAE9C;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,qBAAa,UAAU;IACrB,2DAA2D;IAC3D,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAS;IAC7B,kFAAkF;IAClF,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;IACjC,gGAAgG;gBACpF,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM;IAKxC;;;;;;;;OAQG;IACH,UAAU,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,EAAE,IAAI,CAAC,EAAE,GAAG,GAAG,IAAI,GAAG,OAAO;IAiBtE;;;;;OAKG;IACH,OAAO,CAAC,aAAa;IAOrB;;;;;;OAMG;IACH,WAAW,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,UAAU,EAAE,GAAG,IAAI;CAOxE"}
1
+ {"version":3,"file":"respondant.d.ts","sourceRoot":"","sources":["../../../src/app/delivery/respondant.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,IAAI,EAAE,MAAM,oBAAoB,CAAC;AAC1C,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AAE1D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAE9C;;;;;GAKG;AACH,MAAM,MAAM,UAAU,GAAG,OAAO,GAAG,UAAU,GAAG,YAAY,CAAC;AAE7D;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,qBAAa,UAAU;IACrB,2DAA2D;IAC3D,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAS;IAC7B,kFAAkF;IAClF,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;IACjC,gGAAgG;gBACpF,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM;IAKxC;;;;;;;;OAQG;IACH,UAAU,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,EAAE,IAAI,CAAC,EAAE,GAAG,GAAG,IAAI,GAAG,UAAU;IAmBzE;;;;;OAKG;IACH,OAAO,CAAC,aAAa;IAOrB;;;;;;OAMG;IACH,WAAW,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,UAAU,EAAE,GAAG,IAAI;CAOxE"}
@@ -80,6 +80,11 @@ export interface ExchangeRouteHandler {
80
80
  mailboxAid?: string | null;
81
81
  /** Qualified first receiver receipt, retained through dependency retry. */
82
82
  receiverTime?: string;
83
+ /**
84
+ * Retained history from a finite local import (`ExchangeInput.retained`), kept through dependency retry: the
85
+ * caller already holds this exchange, so a handler records it but raises nothing for anyone to act on.
86
+ */
87
+ retained?: boolean;
83
88
  }): void | Operation<void>;
84
89
  /**
85
90
  * Retry this route's own escrow of accepted exchanges awaiting later local
@@ -116,6 +121,13 @@ export interface ExchangeInput {
116
121
  mailboxAid?: string | null;
117
122
  /** Receiver-observed time supplied by local intake, independent of signed wire. */
118
123
  receiverTime?: string;
124
+ /**
125
+ * Retained history from a finite local import, admitted without KRAM (`DispatchOptions.retained`). Authentication,
126
+ * route verification and escrow are unchanged. The fact is kept in the exchange's private metadata, so its
127
+ * handlers see it on a later escrow retry too, and {@link Exchanger.exchangeExpiry} gives it no lifetime: KRAM never
128
+ * opened a window for it here, and its age says nothing about it.
129
+ */
130
+ retained?: boolean;
119
131
  }
120
132
  /** Result of this attempt; complete(said) separately reports any earlier durable acceptance. */
121
133
  export type ExchangeDecision = {
@@ -183,6 +195,12 @@ export declare class Exchanger {
183
195
  private readonly versionedRoutes;
184
196
  /** Borrow the runtime clock for escrow deadlines and retries. */
185
197
  private readonly now;
198
+ /**
199
+ * Lifetimes of the pending exchanges this process's escrow sweep ejected, by SAID. Ejection removes the only
200
+ * stored body, so this is all that still says when such an exchange expired ({@link exchangeExpiry}). Lost on
201
+ * restart, by design: no store keeps ejected exchanges.
202
+ */
203
+ private readonly ejected;
186
204
  /** Bind route handlers, cues and the escrow clock to one habitat database. */
187
205
  constructor(hby: Habery, { handlers, cues, now }?: {
188
206
  handlers?: readonly ExchangeRouteHandler[];
@@ -261,6 +279,24 @@ export declare class Exchanger {
261
279
  complete(said: string): boolean;
262
280
  /** Original accepted KRAM lifetime; partial-escrow timestamps never authorize live auxiliary work. */
263
281
  exchangeDeadline(serder: SerderKERI): string | null;
282
+ /**
283
+ * When the exchange `said` expires, or expired: its KRAM lifetime, opener plus exchange window. Unlike
284
+ * {@link exchangeDeadline} this keeps answering after KRAM prunes the cache row (at opener + `pxl`, which the
285
+ * default windows make the deadline itself) and after the escrow sweep ejects an expired pending exchange, so a
286
+ * caller can say why the exchange is gone. A pure read. Null when KRAM is off (no exchange window), while KRAM
287
+ * holds the message without accepting it (an incomplete multi-signature message), for a pruned message that
288
+ * continues another message's thread, for an ejected exchange after a restart, and for retained history a local
289
+ * import admitted without KRAM ({@link ExchangeInput.retained}), which never had a window here.
290
+ */
291
+ exchangeExpiry(said: string): string | null;
292
+ /**
293
+ * The accepted lifetime while KRAM keeps the cache row; once the row is pruned, an exchange that opens its own
294
+ * thread (an `xip`, or an `exn` with no prior, the rule KRAM opened it with) is its own opener, so its stamp
295
+ * plus the exchange window configured now gives the deadline again. Reads no escrow row, so it also works on
296
+ * the body of an exchange that is being ejected. Retained history never had a cache row here, so its stamp gives
297
+ * no deadline: it would only report an old exchange expired for its age.
298
+ */
299
+ private lifetime;
264
300
  /**
265
301
  * Rehydrate authenticated retained factors without route handling or writes.
266
302
  * Pending-only access also enforces the original deadline with this owner's
@@ -1 +1 @@
1
- {"version":3,"file":"exchanging.d.ts","sourceRoot":"","sources":["../../../src/app/exchanges/exchanging.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"exchanging.d.ts","sourceRoot":"","sources":["../../../src/app/exchanges/exchanging.ts"],"names":[],"mappings":"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"}
@@ -181,6 +181,10 @@ export declare class Anchorer {
181
181
  * @param clock Borrowed clock with epoch-millisecond now and millisecond timer delays.
182
182
  */
183
183
  constructor(hby: Habery, postman: Poster, querying: Anchorer["querying"], protocol: ProtocolProcessor | null, http: HttpClient, clock: RuntimeClock);
184
+ /** Workflow ids (`pre:snh`) of `pre`'s delegated events still in the `dpwe.`, `dune.` or `dpub.` phase. */
185
+ pendingOf(pre: string): string[];
186
+ /** Workflow ids whose pinned communication habitat (the proxy that sends the request) is `pre`. */
187
+ proxiedBy(pre: string): string[];
184
188
  /**
185
189
  * Start one delegated event in witness-receipt escrow and replace any previous local proxy pin.
186
190
  *
@@ -221,6 +225,8 @@ export declare class Anchorer {
221
225
  * Send the delegation chain before the approving event, awaiting actual Poster or witness transmission outcomes.
222
226
  *
223
227
  * @param serder Accepted delegator event to publish after its required delegation chain.
228
+ * @returns `unreachable` with the first remote failure (a witness or the delegator that is down, refuses or
229
+ * has no usable endpoint); nothing past it is attempted. Local faults still throw.
224
230
  */
225
231
  private publishDelegator;
226
232
  }
@@ -1 +1 @@
1
- {"version":3,"file":"delegating.d.ts","sourceRoot":"","sources":["../../../src/app/identity/delegating.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"delegating.d.ts","sourceRoot":"","sources":["../../../src/app/identity/delegating.ts"],"names":[],"mappings":"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"}