@econ-v1/domain 6.6.0 → 6.10.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 (286) hide show
  1. package/dist/errors/index.d.ts +96 -25
  2. package/dist/errors/index.d.ts.map +1 -1
  3. package/dist/events/index.d.ts +127 -20
  4. package/dist/events/index.d.ts.map +1 -1
  5. package/dist/index.d.ts +250 -47
  6. package/dist/index.d.ts.map +1 -1
  7. package/dist/models/agent.d.ts +25 -4
  8. package/dist/models/agent.d.ts.map +1 -1
  9. package/dist/models/app-data.d.ts +84 -0
  10. package/dist/models/app-data.d.ts.map +1 -0
  11. package/dist/models/conversation.d.ts +12 -2
  12. package/dist/models/conversation.d.ts.map +1 -1
  13. package/dist/models/delegation.d.ts +12 -3
  14. package/dist/models/delegation.d.ts.map +1 -1
  15. package/dist/models/device-boot-state.d.ts +12 -0
  16. package/dist/models/device-boot-state.d.ts.map +1 -0
  17. package/dist/models/device-identity.d.ts +11 -3
  18. package/dist/models/device-identity.d.ts.map +1 -1
  19. package/dist/models/graph.d.ts +26 -3
  20. package/dist/models/graph.d.ts.map +1 -1
  21. package/dist/models/index.d.ts +82 -14
  22. package/dist/models/index.d.ts.map +1 -1
  23. package/dist/models/json.d.ts +5 -5
  24. package/dist/models/json.d.ts.map +1 -1
  25. package/dist/models/l402.d.ts +4 -5
  26. package/dist/models/l402.d.ts.map +1 -1
  27. package/dist/models/live-query-definition.d.ts +15 -16
  28. package/dist/models/live-query-definition.d.ts.map +1 -1
  29. package/dist/models/node-app-memory.d.ts +107 -0
  30. package/dist/models/node-app-memory.d.ts.map +1 -0
  31. package/dist/models/outbox-intent.d.ts +3 -3
  32. package/dist/models/outbox-intent.d.ts.map +1 -1
  33. package/dist/models/outbox.d.ts +67 -15
  34. package/dist/models/outbox.d.ts.map +1 -1
  35. package/dist/models/owner-views.d.ts +28 -28
  36. package/dist/models/owner-views.d.ts.map +1 -1
  37. package/dist/models/payment.d.ts +28 -9
  38. package/dist/models/payment.d.ts.map +1 -1
  39. package/dist/models/query-diff.d.ts +2 -2
  40. package/dist/models/query-diff.d.ts.map +1 -1
  41. package/dist/models/release-manifest.d.ts +32 -47
  42. package/dist/models/release-manifest.d.ts.map +1 -1
  43. package/dist/models/repository-write.d.ts +3 -3
  44. package/dist/models/repository-write.d.ts.map +1 -1
  45. package/dist/models/revisioned-commands.d.ts +66 -13
  46. package/dist/models/revisioned-commands.d.ts.map +1 -1
  47. package/dist/models/revisioned.d.ts +50 -10
  48. package/dist/models/revisioned.d.ts.map +1 -1
  49. package/dist/models/settings.d.ts +2 -2
  50. package/dist/models/settings.d.ts.map +1 -1
  51. package/dist/models/sync.d.ts +18 -18
  52. package/dist/models/sync.d.ts.map +1 -1
  53. package/dist/models/wallet.d.ts +16 -16
  54. package/dist/models/wallet.d.ts.map +1 -1
  55. package/dist/queries/certificate-trust.d.ts +13 -0
  56. package/dist/queries/certificate-trust.d.ts.map +1 -0
  57. package/dist/queries/conversations.d.ts +38 -7
  58. package/dist/queries/conversations.d.ts.map +1 -1
  59. package/dist/queries/discovery.d.ts +10 -10
  60. package/dist/queries/discovery.d.ts.map +1 -1
  61. package/dist/queries/notifications.d.ts +24 -4
  62. package/dist/queries/notifications.d.ts.map +1 -1
  63. package/dist/queries/onboarding-flow.d.ts +25 -0
  64. package/dist/queries/onboarding-flow.d.ts.map +1 -0
  65. package/dist/queries/onboarding-lcd-screen.d.ts +56 -0
  66. package/dist/queries/onboarding-lcd-screen.d.ts.map +1 -0
  67. package/dist/queries/onboarding-status.d.ts +10 -10
  68. package/dist/queries/onboarding-status.d.ts.map +1 -1
  69. package/dist/queries/revisioned.d.ts +47 -13
  70. package/dist/queries/revisioned.d.ts.map +1 -1
  71. package/dist/queries/wallet.d.ts +40 -10
  72. package/dist/queries/wallet.d.ts.map +1 -1
  73. package/dist/services/abort-signal.d.ts +54 -0
  74. package/dist/services/abort-signal.d.ts.map +1 -0
  75. package/dist/services/certificate-trust-service.d.ts +42 -0
  76. package/dist/services/certificate-trust-service.d.ts.map +1 -0
  77. package/dist/services/conversation-service.d.ts +103 -15
  78. package/dist/services/conversation-service.d.ts.map +1 -1
  79. package/dist/services/conversation-sync.d.ts +9 -5
  80. package/dist/services/conversation-sync.d.ts.map +1 -1
  81. package/dist/services/device-boot-state-service.d.ts +17 -0
  82. package/dist/services/device-boot-state-service.d.ts.map +1 -0
  83. package/dist/services/device-cleanup-service.d.ts +47 -0
  84. package/dist/services/device-cleanup-service.d.ts.map +1 -0
  85. package/dist/services/discovery-probe-service.d.ts +37 -46
  86. package/dist/services/discovery-probe-service.d.ts.map +1 -1
  87. package/dist/services/gossip-service.d.ts +28 -13
  88. package/dist/services/gossip-service.d.ts.map +1 -1
  89. package/dist/services/invite-redemption-service.d.ts +43 -0
  90. package/dist/services/invite-redemption-service.d.ts.map +1 -0
  91. package/dist/services/lan-candidate-refresh-service.d.ts +22 -7
  92. package/dist/services/lan-candidate-refresh-service.d.ts.map +1 -1
  93. package/dist/services/lcd-decision-service.d.ts +58 -0
  94. package/dist/services/lcd-decision-service.d.ts.map +1 -0
  95. package/dist/services/onboarding-checkpoint-store.d.ts +54 -0
  96. package/dist/services/onboarding-checkpoint-store.d.ts.map +1 -0
  97. package/dist/services/onboarding-flow-service.d.ts +180 -0
  98. package/dist/services/onboarding-flow-service.d.ts.map +1 -0
  99. package/dist/services/onboarding-status-service.d.ts +21 -38
  100. package/dist/services/onboarding-status-service.d.ts.map +1 -1
  101. package/dist/services/outbox-service.d.ts +105 -29
  102. package/dist/services/outbox-service.d.ts.map +1 -1
  103. package/dist/services/owner-claim-service.d.ts +187 -0
  104. package/dist/services/owner-claim-service.d.ts.map +1 -0
  105. package/dist/services/owner-view-refresh-service.d.ts +40 -0
  106. package/dist/services/owner-view-refresh-service.d.ts.map +1 -0
  107. package/dist/services/owner-view-service.d.ts +49 -4
  108. package/dist/services/owner-view-service.d.ts.map +1 -1
  109. package/dist/services/peer-directory-service.d.ts +53 -17
  110. package/dist/services/peer-directory-service.d.ts.map +1 -1
  111. package/dist/services/release-manifest-verifier.d.ts +18 -20
  112. package/dist/services/release-manifest-verifier.d.ts.map +1 -1
  113. package/dist/services/revisioned-domain-service.d.ts +50 -17
  114. package/dist/services/revisioned-domain-service.d.ts.map +1 -1
  115. package/dist/services/runtime-globals.d.ts +39 -0
  116. package/dist/services/runtime-globals.d.ts.map +1 -0
  117. package/dist/services/session-service.d.ts +23 -3
  118. package/dist/services/session-service.d.ts.map +1 -1
  119. package/dist/services/sync/authoritative-mirror.d.ts +88 -15
  120. package/dist/services/sync/authoritative-mirror.d.ts.map +1 -1
  121. package/dist/services/sync/index.d.ts +17 -5
  122. package/dist/services/sync/index.d.ts.map +1 -1
  123. package/dist/services/sync/log-sync.d.ts +42 -8
  124. package/dist/services/sync/log-sync.d.ts.map +1 -1
  125. package/dist/services/sync/revision-merge.d.ts +80 -13
  126. package/dist/services/sync/revision-merge.d.ts.map +1 -1
  127. package/dist/services/sync/strategy.d.ts +11 -1
  128. package/dist/services/sync/strategy.d.ts.map +1 -1
  129. package/dist/services/transport-manager.d.ts +84 -29
  130. package/dist/services/transport-manager.d.ts.map +1 -1
  131. package/dist/services/wallet-mirror-service.d.ts +81 -18
  132. package/dist/services/wallet-mirror-service.d.ts.map +1 -1
  133. package/dist/services/wifi-provisioning-service.d.ts +146 -0
  134. package/dist/services/wifi-provisioning-service.d.ts.map +1 -0
  135. package/package.json +18 -12
  136. package/src/errors/index.js +126 -0
  137. package/src/events/index.js +124 -0
  138. package/src/index.js +566 -0
  139. package/src/models/agent.js +43 -0
  140. package/src/models/app-data.js +122 -0
  141. package/src/models/conversation.js +36 -0
  142. package/{dist → src}/models/delegation.js +18 -1
  143. package/src/models/device-boot-state.js +3 -0
  144. package/{dist → src}/models/device-identity.js +18 -2
  145. package/{dist → src}/models/graph.js +30 -3
  146. package/src/models/index.js +175 -0
  147. package/src/models/json.js +18 -0
  148. package/src/models/l402.js +9 -0
  149. package/src/models/live-query-definition.js +30 -0
  150. package/src/models/node-app-memory.js +130 -0
  151. package/src/models/outbox-intent.js +12 -0
  152. package/{dist → src}/models/outbox.js +102 -3
  153. package/src/models/owner-views.js +59 -0
  154. package/src/models/payment.js +24 -0
  155. package/src/models/query-diff.js +7 -0
  156. package/src/models/release-manifest.js +160 -0
  157. package/src/models/repository-write.js +10 -0
  158. package/src/models/revisioned-commands.js +92 -0
  159. package/src/models/revisioned.js +41 -0
  160. package/src/models/settings.js +16 -0
  161. package/src/models/sync.js +44 -0
  162. package/src/models/wallet.js +40 -0
  163. package/src/queries/certificate-trust.js +31 -0
  164. package/{dist → src}/queries/conversations.js +54 -3
  165. package/src/queries/discovery.js +34 -0
  166. package/{dist → src}/queries/notifications.js +25 -2
  167. package/src/queries/onboarding-flow.js +48 -0
  168. package/src/queries/onboarding-lcd-screen.js +100 -0
  169. package/src/queries/onboarding-status.js +34 -0
  170. package/src/queries/revisioned.js +128 -0
  171. package/{dist → src}/queries/wallet.js +35 -1
  172. package/src/services/abort-signal.js +69 -0
  173. package/src/services/certificate-trust-service.js +119 -0
  174. package/{dist → src}/services/conversation-service.js +108 -1
  175. package/src/services/conversation-sync.js +28 -0
  176. package/src/services/device-boot-state-service.js +45 -0
  177. package/src/services/device-cleanup-service.js +112 -0
  178. package/src/services/discovery-probe-service.js +196 -0
  179. package/{dist → src}/services/gossip-service.js +54 -4
  180. package/src/services/invite-redemption-service.js +64 -0
  181. package/src/services/lan-candidate-refresh-service.js +164 -0
  182. package/src/services/lcd-decision-service.js +93 -0
  183. package/src/services/onboarding-checkpoint-store.js +155 -0
  184. package/src/services/onboarding-flow-service.js +1096 -0
  185. package/src/services/onboarding-status-service.js +64 -0
  186. package/{dist → src}/services/outbox-service.js +132 -1
  187. package/src/services/owner-claim-service.js +347 -0
  188. package/src/services/owner-view-refresh-service.js +208 -0
  189. package/src/services/owner-view-service.js +87 -0
  190. package/{dist → src}/services/peer-directory-service.js +72 -3
  191. package/src/services/release-manifest-verifier.js +108 -0
  192. package/{dist → src}/services/revisioned-domain-service.js +189 -9
  193. package/src/services/runtime-globals.js +174 -0
  194. package/src/services/session-service.js +50 -0
  195. package/{dist → src}/services/sync/authoritative-mirror.js +90 -1
  196. package/src/services/sync/index.js +67 -0
  197. package/src/services/sync/log-sync.js +60 -0
  198. package/src/services/sync/revision-merge.js +119 -0
  199. package/src/services/sync/strategy.js +44 -0
  200. package/src/services/transport-manager.js +478 -0
  201. package/{dist → src}/services/wallet-mirror-service.js +226 -6
  202. package/src/services/wifi-provisioning-service.js +278 -0
  203. package/dist/errors/index.js +0 -45
  204. package/dist/errors/index.js.map +0 -1
  205. package/dist/events/index.js +0 -17
  206. package/dist/events/index.js.map +0 -1
  207. package/dist/index.js +0 -31
  208. package/dist/index.js.map +0 -1
  209. package/dist/models/agent.js +0 -17
  210. package/dist/models/agent.js.map +0 -1
  211. package/dist/models/conversation.js +0 -2
  212. package/dist/models/conversation.js.map +0 -1
  213. package/dist/models/delegation.js.map +0 -1
  214. package/dist/models/device-identity.js.map +0 -1
  215. package/dist/models/graph.js.map +0 -1
  216. package/dist/models/index.js +0 -8
  217. package/dist/models/index.js.map +0 -1
  218. package/dist/models/json.js +0 -2
  219. package/dist/models/json.js.map +0 -1
  220. package/dist/models/l402.js +0 -2
  221. package/dist/models/l402.js.map +0 -1
  222. package/dist/models/live-query-definition.js +0 -2
  223. package/dist/models/live-query-definition.js.map +0 -1
  224. package/dist/models/outbox-intent.js +0 -2
  225. package/dist/models/outbox-intent.js.map +0 -1
  226. package/dist/models/outbox.js.map +0 -1
  227. package/dist/models/owner-views.js +0 -7
  228. package/dist/models/owner-views.js.map +0 -1
  229. package/dist/models/payment.js +0 -3
  230. package/dist/models/payment.js.map +0 -1
  231. package/dist/models/query-diff.js +0 -2
  232. package/dist/models/query-diff.js.map +0 -1
  233. package/dist/models/release-manifest.js +0 -147
  234. package/dist/models/release-manifest.js.map +0 -1
  235. package/dist/models/repository-write.js +0 -2
  236. package/dist/models/repository-write.js.map +0 -1
  237. package/dist/models/revisioned-commands.js +0 -35
  238. package/dist/models/revisioned-commands.js.map +0 -1
  239. package/dist/models/revisioned.js +0 -2
  240. package/dist/models/revisioned.js.map +0 -1
  241. package/dist/models/settings.js +0 -2
  242. package/dist/models/settings.js.map +0 -1
  243. package/dist/models/sync.js +0 -2
  244. package/dist/models/sync.js.map +0 -1
  245. package/dist/models/wallet.js +0 -2
  246. package/dist/models/wallet.js.map +0 -1
  247. package/dist/queries/conversations.js.map +0 -1
  248. package/dist/queries/discovery.js +0 -27
  249. package/dist/queries/discovery.js.map +0 -1
  250. package/dist/queries/notifications.js.map +0 -1
  251. package/dist/queries/onboarding-status.js +0 -27
  252. package/dist/queries/onboarding-status.js.map +0 -1
  253. package/dist/queries/revisioned.js +0 -58
  254. package/dist/queries/revisioned.js.map +0 -1
  255. package/dist/queries/wallet.js.map +0 -1
  256. package/dist/services/conversation-service.js.map +0 -1
  257. package/dist/services/conversation-sync.js +0 -9
  258. package/dist/services/conversation-sync.js.map +0 -1
  259. package/dist/services/discovery-probe-service.js +0 -129
  260. package/dist/services/discovery-probe-service.js.map +0 -1
  261. package/dist/services/gossip-service.js.map +0 -1
  262. package/dist/services/lan-candidate-refresh-service.js +0 -79
  263. package/dist/services/lan-candidate-refresh-service.js.map +0 -1
  264. package/dist/services/onboarding-status-service.js +0 -32
  265. package/dist/services/onboarding-status-service.js.map +0 -1
  266. package/dist/services/outbox-service.js.map +0 -1
  267. package/dist/services/owner-view-service.js +0 -21
  268. package/dist/services/owner-view-service.js.map +0 -1
  269. package/dist/services/peer-directory-service.js.map +0 -1
  270. package/dist/services/release-manifest-verifier.js +0 -84
  271. package/dist/services/release-manifest-verifier.js.map +0 -1
  272. package/dist/services/revisioned-domain-service.js.map +0 -1
  273. package/dist/services/session-service.js +0 -20
  274. package/dist/services/session-service.js.map +0 -1
  275. package/dist/services/sync/authoritative-mirror.js.map +0 -1
  276. package/dist/services/sync/index.js +0 -4
  277. package/dist/services/sync/index.js.map +0 -1
  278. package/dist/services/sync/log-sync.js +0 -20
  279. package/dist/services/sync/log-sync.js.map +0 -1
  280. package/dist/services/sync/revision-merge.js +0 -46
  281. package/dist/services/sync/revision-merge.js.map +0 -1
  282. package/dist/services/sync/strategy.js +0 -2
  283. package/dist/services/sync/strategy.js.map +0 -1
  284. package/dist/services/transport-manager.js +0 -234
  285. package/dist/services/transport-manager.js.map +0 -1
  286. package/dist/services/wallet-mirror-service.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/services/sync/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,sCAAsC,EAAE,MAAM,2BAA2B,CAAC;AACxG,YAAY,EACV,2BAA2B,EAC3B,0BAA0B,GAC3B,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AACxC,YAAY,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AACpD,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,YAAY,EAAE,oBAAoB,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AACpF,YAAY,EACV,oBAAoB,EACpB,qBAAqB,EACrB,qBAAqB,EACrB,gBAAgB,EAChB,cAAc,EACd,cAAc,EACd,eAAe,EACf,SAAS,EACT,gBAAgB,EAChB,YAAY,EACZ,gBAAgB,GACjB,MAAM,eAAe,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/services/sync/index.js"],"names":[],"mappings":";;0CAGa,OAAO,2BAA2B,EAAE,2BAA2B;uCAG/D,MAAM,EACN,QAAQ,EACR,OAAO,IACP,OAAO,2BAA2B,EAAE,0BAA0B,CAAC,MAAM,EAAE,QAAQ,EAAE,OAAO,CAAC;2BAGzF,QAAQ,IACR,OAAO,eAAe,EAAE,cAAc,CAAC,QAAQ,CAAC;iCAGhD,MAAM,IACN,OAAO,qBAAqB,EAAE,oBAAoB,CAAC,MAAM,CAAC;+BAG1D,MAAM,IACN,OAAO,qBAAqB,EAAE,kBAAkB,CAAC,MAAM,CAAC;iCAGxD,QAAQ,IACR,OAAO,eAAe,EAAE,oBAAoB,CAAC,QAAQ,CAAC;kCAGtD,MAAM,IACN,OAAO,eAAe,EAAE,qBAAqB,CAAC,MAAM,CAAC;kCAGrD,MAAM,IACN,OAAO,eAAe,EAAE,qBAAqB,CAAC,MAAM,CAAC;6BAGrD,MAAM,IACN,OAAO,eAAe,EAAE,gBAAgB,CAAC,MAAM,CAAC;2BAGhD,MAAM,IACN,OAAO,eAAe,EAAE,cAAc,CAAC,MAAM,CAAC;2BAG9C,MAAM,IACN,OAAO,eAAe,EAAE,cAAc,CAAC,MAAM,CAAC;8BAG9C,OAAO,eAAe,EAAE,eAAe;sBAGvC,QAAQ,IACR,OAAO,eAAe,EAAE,SAAS,CAAC,QAAQ,CAAC;+BAG3C,OAAO,eAAe,EAAE,gBAAgB;yBAGxC,QAAQ,IACR,OAAO,eAAe,EAAE,YAAY,CAAC,QAAQ,CAAC;+BAG9C,OAAO,eAAe,EAAE,gBAAgB"}
@@ -1,12 +1,46 @@
1
- import type { SyncApplyResult, SyncDelta, SyncDeltaContext, SyncStrategy } from "../../models/sync.js";
2
- export interface LogSyncOptions<TPayload> {
3
- readonly apply: (payload: TPayload, delta: SyncDelta<TPayload>) => Promise<void>;
4
- readonly key?: (delta: SyncDelta<TPayload>) => string;
5
- }
6
- export declare class LogSync<TPayload> implements SyncStrategy<TPayload> {
7
- #private;
8
- readonly kind: "log";
1
+ /**
2
+ * @typedef {import("../../models/sync.js").SyncApplyResult} SyncApplyResult
3
+ */
4
+ /**
5
+ * @template TPayload
6
+ * @typedef {import("../../models/sync.js").SyncDelta<TPayload>} SyncDelta
7
+ */
8
+ /**
9
+ * @typedef {import("../../models/sync.js").SyncDeltaContext} SyncDeltaContext
10
+ */
11
+ /**
12
+ * @template TPayload
13
+ * @typedef {import("../../models/sync.js").SyncStrategy<TPayload>} SyncStrategy
14
+ */
15
+ /**
16
+ * @template TPayload
17
+ * @typedef {{ readonly apply: (payload: TPayload, delta: SyncDelta<TPayload>) => Promise<void>; readonly key?: (delta: SyncDelta<TPayload>) => string; }} LogSyncOptions
18
+ */
19
+ /**
20
+ * @template TPayload
21
+ * @implements {SyncStrategy<TPayload>}
22
+ */
23
+ export class LogSync<TPayload> implements SyncStrategy<TPayload> {
24
+ /**
25
+ * @param {LogSyncOptions<TPayload>} options
26
+ */
9
27
  constructor(options: LogSyncOptions<TPayload>);
28
+ /** @readonly @type {"log"} */
29
+ readonly kind: "log";
30
+ /**
31
+ * @param {SyncDelta<TPayload>} delta
32
+ * @param {SyncDeltaContext} context
33
+ * @returns {Promise<SyncApplyResult>}
34
+ */
10
35
  applyDelta(delta: SyncDelta<TPayload>, context: SyncDeltaContext): Promise<SyncApplyResult>;
36
+ #private;
11
37
  }
38
+ export type SyncApplyResult = import("../../models/sync.js").SyncApplyResult;
39
+ export type SyncDelta<TPayload> = import("../../models/sync.js").SyncDelta<TPayload>;
40
+ export type SyncDeltaContext = import("../../models/sync.js").SyncDeltaContext;
41
+ export type SyncStrategy<TPayload> = import("../../models/sync.js").SyncStrategy<TPayload>;
42
+ export type LogSyncOptions<TPayload> = {
43
+ readonly apply: (payload: TPayload, delta: SyncDelta<TPayload>) => Promise<void>;
44
+ readonly key?: (delta: SyncDelta<TPayload>) => string;
45
+ };
12
46
  //# sourceMappingURL=log-sync.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"log-sync.d.ts","sourceRoot":"","sources":["../../../src/services/sync/log-sync.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,eAAe,EACf,SAAS,EACT,gBAAgB,EAChB,YAAY,EACb,MAAM,sBAAsB,CAAC;AAE9B,MAAM,WAAW,cAAc,CAAC,QAAQ;IACtC,QAAQ,CAAC,KAAK,EAAE,CAAC,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,SAAS,CAAC,QAAQ,CAAC,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACjF,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,KAAK,EAAE,SAAS,CAAC,QAAQ,CAAC,KAAK,MAAM,CAAC;CACvD;AAED,qBAAa,OAAO,CAAC,QAAQ,CAAE,YAAW,YAAY,CAAC,QAAQ,CAAC;;IAC9D,QAAQ,CAAC,IAAI,EAAG,KAAK,CAAU;gBAKnB,OAAO,EAAE,cAAc,CAAC,QAAQ,CAAC;IAKvC,UAAU,CAAC,KAAK,EAAE,SAAS,CAAC,QAAQ,CAAC,EAAE,OAAO,EAAE,gBAAgB,GAAG,OAAO,CAAC,eAAe,CAAC;CAQlG"}
1
+ {"version":3,"file":"log-sync.d.ts","sourceRoot":"","sources":["../../../src/services/sync/log-sync.js"],"names":[],"mappings":"AAEA;;GAEG;AACH;;;GAGG;AACH;;GAEG;AACH;;;GAGG;AACH;;;GAGG;AACH;;;GAGG;AACH,qBAHa,QAAQ,aACL,YAAY,CAAC,QAAQ;IAgBjC;;KAEC;IACD,qBAFS,cAAc,CAAC,QAAQ,CAAC,EAKhC;IAnBD,8BAA8B;IAC9B,eADqB,KAAK,CACb;IAmBb;;;;KAIC;IACD,kBAJS,SAAS,CAAC,QAAQ,CAAC,WACnB,gBAAgB,GACd,OAAO,CAAC,eAAe,CAAC,CAUlC;;CACJ;8BAxDY,OAAO,sBAAsB,EAAE,eAAe;sBAG9C,QAAQ,IACR,OAAO,sBAAsB,EAAE,SAAS,CAAC,QAAQ,CAAC;+BAGlD,OAAO,sBAAsB,EAAE,gBAAgB;yBAG/C,QAAQ,IACR,OAAO,sBAAsB,EAAE,YAAY,CAAC,QAAQ,CAAC;2BAGrD,QAAQ,IACR;IAAE,QAAQ,CAAC,KAAK,EAAE,CAAC,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,SAAS,CAAC,QAAQ,CAAC,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,KAAK,EAAE,SAAS,CAAC,QAAQ,CAAC,KAAK,MAAM,CAAC;CAAE"}
@@ -1,20 +1,87 @@
1
- import type { RevisionCommandResult, RevisionConflict, RevisionEntity, RevisionIntent, SyncApplyResult, SyncDelta, SyncDeltaContext, SyncStrategy } from "../../models/sync.js";
2
- export interface RevisionMergeOptions<TValue> {
1
+ /**
2
+ * @template TValue
3
+ * @typedef {import("../../models/sync.js").RevisionCommandResult<TValue>} RevisionCommandResult
4
+ */
5
+ /**
6
+ * @template TValue
7
+ * @typedef {import("../../models/sync.js").RevisionConflict<TValue>} RevisionConflict
8
+ */
9
+ /**
10
+ * @template TValue
11
+ * @typedef {import("../../models/sync.js").RevisionEntity<TValue>} RevisionEntity
12
+ */
13
+ /**
14
+ * @template TValue
15
+ * @typedef {import("../../models/sync.js").RevisionIntent<TValue>} RevisionIntent
16
+ */
17
+ /**
18
+ * @typedef {import("../../models/sync.js").SyncApplyResult} SyncApplyResult
19
+ */
20
+ /**
21
+ * @template TPayload
22
+ * @typedef {import("../../models/sync.js").SyncDelta<TPayload>} SyncDelta
23
+ */
24
+ /**
25
+ * @typedef {import("../../models/sync.js").SyncDeltaContext} SyncDeltaContext
26
+ */
27
+ /**
28
+ * @template TPayload
29
+ * @typedef {import("../../models/sync.js").SyncStrategy<TPayload>} SyncStrategy
30
+ */
31
+ /**
32
+ * @template TValue
33
+ * @typedef {{ readonly parkConflict: (conflict: RevisionConflict<TValue>) => Promise<void>; readonly read: (id: string) => Promise<RevisionEntity<TValue> | undefined>; readonly write: (entity: RevisionEntity<TValue>) => Promise<void>; }} RevisionMergeOptions
34
+ */
35
+ /**
36
+ * @template TValue
37
+ * @typedef {{ readonly baseRev?: number; readonly id: string; readonly value: TValue; }} RevisionWriteInput
38
+ */
39
+ /**
40
+ * @template TValue
41
+ * @implements {SyncStrategy<RevisionEntity<TValue>>}
42
+ */
43
+ export class RevisionMerge<TValue> implements SyncStrategy<RevisionEntity<TValue>> {
44
+ /**
45
+ * @param {RevisionMergeOptions<TValue>} options
46
+ */
47
+ constructor(options: RevisionMergeOptions<TValue>);
48
+ /** @readonly @type {"revision-merge"} */
49
+ readonly kind: "revision-merge";
50
+ /**
51
+ * @param {SyncDelta<RevisionEntity<TValue>>} delta
52
+ * @param {SyncDeltaContext} context
53
+ * @returns {Promise<SyncApplyResult>}
54
+ */
55
+ applyDelta(delta: SyncDelta<RevisionEntity<TValue>>, context: SyncDeltaContext): Promise<SyncApplyResult>;
56
+ /**
57
+ * @param {RevisionWriteInput<TValue>} input
58
+ * @returns {Promise<RevisionIntent<TValue>>}
59
+ */
60
+ createIntent(input: RevisionWriteInput<TValue>): Promise<RevisionIntent<TValue>>;
61
+ /**
62
+ * @param {RevisionIntent<TValue>} intent
63
+ * @param {RevisionCommandResult<TValue>} result
64
+ * @returns {Promise<void>}
65
+ */
66
+ handleCommandResult(intent: RevisionIntent<TValue>, result: RevisionCommandResult<TValue>): Promise<void>;
67
+ #private;
68
+ }
69
+ export type RevisionCommandResult<TValue> = import("../../models/sync.js").RevisionCommandResult<TValue>;
70
+ export type RevisionConflict<TValue> = import("../../models/sync.js").RevisionConflict<TValue>;
71
+ export type RevisionEntity<TValue> = import("../../models/sync.js").RevisionEntity<TValue>;
72
+ export type RevisionIntent<TValue> = import("../../models/sync.js").RevisionIntent<TValue>;
73
+ export type SyncApplyResult = import("../../models/sync.js").SyncApplyResult;
74
+ export type SyncDelta<TPayload> = import("../../models/sync.js").SyncDelta<TPayload>;
75
+ export type SyncDeltaContext = import("../../models/sync.js").SyncDeltaContext;
76
+ export type SyncStrategy<TPayload> = import("../../models/sync.js").SyncStrategy<TPayload>;
77
+ export type RevisionMergeOptions<TValue> = {
3
78
  readonly parkConflict: (conflict: RevisionConflict<TValue>) => Promise<void>;
4
79
  readonly read: (id: string) => Promise<RevisionEntity<TValue> | undefined>;
5
80
  readonly write: (entity: RevisionEntity<TValue>) => Promise<void>;
6
- }
7
- export interface RevisionWriteInput<TValue> {
81
+ };
82
+ export type RevisionWriteInput<TValue> = {
8
83
  readonly baseRev?: number;
9
84
  readonly id: string;
10
85
  readonly value: TValue;
11
- }
12
- export declare class RevisionMerge<TValue> implements SyncStrategy<RevisionEntity<TValue>> {
13
- #private;
14
- readonly kind: "revision-merge";
15
- constructor(options: RevisionMergeOptions<TValue>);
16
- applyDelta(delta: SyncDelta<RevisionEntity<TValue>>, context: SyncDeltaContext): Promise<SyncApplyResult>;
17
- createIntent(input: RevisionWriteInput<TValue>): Promise<RevisionIntent<TValue>>;
18
- handleCommandResult(intent: RevisionIntent<TValue>, result: RevisionCommandResult<TValue>): Promise<void>;
19
- }
86
+ };
20
87
  //# sourceMappingURL=revision-merge.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"revision-merge.d.ts","sourceRoot":"","sources":["../../../src/services/sync/revision-merge.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,qBAAqB,EACrB,gBAAgB,EAChB,cAAc,EACd,cAAc,EACd,eAAe,EACf,SAAS,EACT,gBAAgB,EAChB,YAAY,EACb,MAAM,sBAAsB,CAAC;AAE9B,MAAM,WAAW,oBAAoB,CAAC,MAAM;IAC1C,QAAQ,CAAC,YAAY,EAAE,CAAC,QAAQ,EAAE,gBAAgB,CAAC,MAAM,CAAC,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC7E,QAAQ,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,OAAO,CAAC,cAAc,CAAC,MAAM,CAAC,GAAG,SAAS,CAAC,CAAC;IAC3E,QAAQ,CAAC,KAAK,EAAE,CAAC,MAAM,EAAE,cAAc,CAAC,MAAM,CAAC,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CACnE;AAED,MAAM,WAAW,kBAAkB,CAAC,MAAM;IACxC,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;CACxB;AAED,qBAAa,aAAa,CAAC,MAAM,CAAE,YAAW,YAAY,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;;IAChF,QAAQ,CAAC,IAAI,EAAG,gBAAgB,CAAU;gBAM9B,OAAO,EAAE,oBAAoB,CAAC,MAAM,CAAC;IAM3C,UAAU,CACd,KAAK,EAAE,SAAS,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,EACxC,OAAO,EAAE,gBAAgB,GACxB,OAAO,CAAC,eAAe,CAAC;IAarB,YAAY,CAAC,KAAK,EAAE,kBAAkB,CAAC,MAAM,CAAC,GAAG,OAAO,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;IAShF,mBAAmB,CACvB,MAAM,EAAE,cAAc,CAAC,MAAM,CAAC,EAC9B,MAAM,EAAE,qBAAqB,CAAC,MAAM,CAAC,GACpC,OAAO,CAAC,IAAI,CAAC;CAYjB"}
1
+ {"version":3,"file":"revision-merge.d.ts","sourceRoot":"","sources":["../../../src/services/sync/revision-merge.js"],"names":[],"mappings":"AAEA;;;GAGG;AACH;;;GAGG;AACH;;;GAGG;AACH;;;GAGG;AACH;;GAEG;AACH;;;GAGG;AACH;;GAEG;AACH;;;GAGG;AACH;;;GAGG;AACH;;;GAGG;AACH;;;GAGG;AACH,2BAHa,MAAM,aACH,YAAY,CAAC,cAAc,CAAC,MAAM,CAAC;IAqB/C;;KAEC;IACD,qBAFS,oBAAoB,CAAC,MAAM,CAAC,EAMpC;IAzBD,yCAAyC;IACzC,eADqB,gBAAgB,CACb;IAyBxB;;;;KAIC;IACD,kBAJS,SAAS,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,WACjC,gBAAgB,GACd,OAAO,CAAC,eAAe,CAAC,CAclC;IACD;;;KAGC;IACD,oBAHS,kBAAkB,CAAC,MAAM,CAAC,GACxB,OAAO,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,CASzC;IACD;;;;KAIC;IACD,4BAJS,cAAc,CAAC,MAAM,CAAC,UACtB,qBAAqB,CAAC,MAAM,CAAC,GAC3B,OAAO,CAAC,IAAI,CAAC,CAavB;;CACJ;kCAnHY,MAAM,IACN,OAAO,sBAAsB,EAAE,qBAAqB,CAAC,MAAM,CAAC;6BAG5D,MAAM,IACN,OAAO,sBAAsB,EAAE,gBAAgB,CAAC,MAAM,CAAC;2BAGvD,MAAM,IACN,OAAO,sBAAsB,EAAE,cAAc,CAAC,MAAM,CAAC;2BAGrD,MAAM,IACN,OAAO,sBAAsB,EAAE,cAAc,CAAC,MAAM,CAAC;8BAGrD,OAAO,sBAAsB,EAAE,eAAe;sBAG9C,QAAQ,IACR,OAAO,sBAAsB,EAAE,SAAS,CAAC,QAAQ,CAAC;+BAGlD,OAAO,sBAAsB,EAAE,gBAAgB;yBAG/C,QAAQ,IACR,OAAO,sBAAsB,EAAE,YAAY,CAAC,QAAQ,CAAC;iCAGrD,MAAM,IACN;IAAE,QAAQ,CAAC,YAAY,EAAE,CAAC,QAAQ,EAAE,gBAAgB,CAAC,MAAM,CAAC,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,OAAO,CAAC,cAAc,CAAC,MAAM,CAAC,GAAG,SAAS,CAAC,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,CAAC,MAAM,EAAE,cAAc,CAAC,MAAM,CAAC,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CAAE;+BAGhO,MAAM,IACN;IAAE,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;CAAE"}
@@ -1,2 +1,12 @@
1
- export { type AuthoritativeCommand, type AuthoritativeSnapshot, type RevisionCommandResult, type RevisionConflict, type RevisionEntity, type RevisionIntent, type SyncApplyResult, type SyncDelta, type SyncDeltaContext, type SyncStrategy, type SyncStrategyKind, } from "../../models/sync.js";
1
+ export type AuthoritativeCommand<TPayload> = import("../../models/sync.js").AuthoritativeCommand<TPayload>;
2
+ export type AuthoritativeSnapshot<TValue> = import("../../models/sync.js").AuthoritativeSnapshot<TValue>;
3
+ export type RevisionCommandResult<TValue> = import("../../models/sync.js").RevisionCommandResult<TValue>;
4
+ export type RevisionConflict<TValue> = import("../../models/sync.js").RevisionConflict<TValue>;
5
+ export type RevisionEntity<TValue> = import("../../models/sync.js").RevisionEntity<TValue>;
6
+ export type RevisionIntent<TValue> = import("../../models/sync.js").RevisionIntent<TValue>;
7
+ export type SyncApplyResult = import("../../models/sync.js").SyncApplyResult;
8
+ export type SyncDelta<TPayload> = import("../../models/sync.js").SyncDelta<TPayload>;
9
+ export type SyncDeltaContext = import("../../models/sync.js").SyncDeltaContext;
10
+ export type SyncStrategy<TPayload> = import("../../models/sync.js").SyncStrategy<TPayload>;
11
+ export type SyncStrategyKind = import("../../models/sync.js").SyncStrategyKind;
2
12
  //# sourceMappingURL=strategy.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"strategy.d.ts","sourceRoot":"","sources":["../../../src/services/sync/strategy.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,oBAAoB,EACzB,KAAK,qBAAqB,EAC1B,KAAK,qBAAqB,EAC1B,KAAK,gBAAgB,EACrB,KAAK,cAAc,EACnB,KAAK,cAAc,EACnB,KAAK,eAAe,EACpB,KAAK,SAAS,EACd,KAAK,gBAAgB,EACrB,KAAK,YAAY,EACjB,KAAK,gBAAgB,GACtB,MAAM,sBAAsB,CAAC"}
1
+ {"version":3,"file":"strategy.d.ts","sourceRoot":"","sources":["../../../src/services/sync/strategy.js"],"names":[],"mappings":"iCAGa,QAAQ,IACR,OAAO,sBAAsB,EAAE,oBAAoB,CAAC,QAAQ,CAAC;kCAG7D,MAAM,IACN,OAAO,sBAAsB,EAAE,qBAAqB,CAAC,MAAM,CAAC;kCAG5D,MAAM,IACN,OAAO,sBAAsB,EAAE,qBAAqB,CAAC,MAAM,CAAC;6BAG5D,MAAM,IACN,OAAO,sBAAsB,EAAE,gBAAgB,CAAC,MAAM,CAAC;2BAGvD,MAAM,IACN,OAAO,sBAAsB,EAAE,cAAc,CAAC,MAAM,CAAC;2BAGrD,MAAM,IACN,OAAO,sBAAsB,EAAE,cAAc,CAAC,MAAM,CAAC;8BAGrD,OAAO,sBAAsB,EAAE,eAAe;sBAG9C,QAAQ,IACR,OAAO,sBAAsB,EAAE,SAAS,CAAC,QAAQ,CAAC;+BAGlD,OAAO,sBAAsB,EAAE,gBAAgB;yBAG/C,QAAQ,IACR,OAAO,sBAAsB,EAAE,YAAY,CAAC,QAAQ,CAAC;+BAGrD,OAAO,sBAAsB,EAAE,gBAAgB"}
@@ -1,41 +1,96 @@
1
- import type { DelayPort, DirectHomeNodeCandidate, DirectTransportPath, HomeNodeClient, TransportState } from "@econ-v1/ports";
2
- export interface TransportManagerOptions {
3
- readonly candidates: readonly DirectHomeNodeCandidate[];
4
- readonly dial: (candidate: DirectHomeNodeCandidate, signal: AbortSignal) => Promise<HomeNodeClient>;
5
- readonly delay?: DelayPort;
6
- /** Retained for source compatibility; candidates are selected by closed priority tiers. */
7
- readonly priorityGraceMs?: number;
8
- /** Upper bound for one candidate dial. */
9
- readonly candidateTimeoutMs?: number;
10
- readonly now?: () => string;
11
- readonly onState?: (state: TransportState) => void;
12
- }
13
- export interface TransportConnectOptions {
14
- readonly higherPriorityThan?: DirectTransportPath;
15
- readonly path?: DirectTransportPath;
16
- }
1
+ /** @param {TransportState} current @param {TransportState} next @returns {boolean} */
2
+ export function transportStateChanged(current: TransportState, next: TransportState): boolean;
17
3
  /**
18
- * Direct (non-relayed) home-node transport policy: browser-trusted LAN
19
- * HTTPS, then hash-pinned LAN WebTransport, then WAN HTTPS/WSS (ticket
20
- * #1823). Adapters own I/O; this class owns selection only.
4
+ * @param {string} value
5
+ * @returns {string}
21
6
  */
22
- export declare class TransportManager {
23
- #private;
7
+ export function canonicalHttpCandidateOrigin(value: string): string;
8
+ /** @param {RuntimeUrl} url @returns {boolean} */
9
+ export function isPotentiallyTrustworthyOrigin(url: RuntimeUrl): boolean;
10
+ /** @typedef {{ readonly candidates: readonly DirectHomeNodeCandidate[], readonly dial: (candidate: DirectHomeNodeCandidate, signal: AbortSignalPort) => Promise<HomeNodeClient>, readonly delay?: DelayPort, readonly priorityGraceMs?: number, readonly candidateTimeoutMs?: number, readonly now?: () => string, readonly onState?: (state: TransportState) => void }} TransportManagerOptions */
11
+ /** @typedef {{ readonly higherPriorityThan?: DirectTransportPath, readonly path?: DirectTransportPath }} TransportConnectOptions */
12
+ /** @typedef {HomeNodeClient & { close?: () => void | Promise<void> }} ClosableHomeNodeClient */
13
+ /** @typedef {{ abort(): void, readonly signal: AbortSignalPort }} AbortControllerPort */
14
+ /** @typedef {{ readonly candidate: DirectHomeNodeCandidate, readonly controller: AbortControllerPort, readonly promise: Promise<HomeNodeClient> }} DialAttempt */
15
+ /** @typedef {{ readonly attempt: DialAttempt, readonly client: HomeNodeClient, readonly success: true }} DialSuccess */
16
+ /** @typedef {{ readonly attempt: DialAttempt, readonly success: false }} DialFailure */
17
+ export class TransportManager {
18
+ /** @param {TransportManagerOptions} options */
24
19
  constructor(options: TransportManagerOptions);
20
+ /** @returns {TransportState} */
25
21
  get state(): TransportState;
22
+ /** @returns {DirectHomeNodeCandidate | undefined} */
26
23
  get selectedCandidate(): DirectHomeNodeCandidate | undefined;
24
+ /**
25
+ * @param {(state: TransportState) => void} listener
26
+ * @returns {() => void}
27
+ */
27
28
  subscribe(listener: (state: TransportState) => void): () => void;
29
+ /**
30
+ * @param {readonly DirectHomeNodeCandidate[]} candidates
31
+ * @returns {void}
32
+ */
28
33
  replaceCandidates(candidates: readonly DirectHomeNodeCandidate[]): void;
34
+ /**
35
+ * @param {TransportConnectOptions} [options]
36
+ * @returns {Promise<HomeNodeClient>}
37
+ */
29
38
  connect(options?: TransportConnectOptions): Promise<HomeNodeClient>;
39
+ /**
40
+ * @param {DirectTransportPath} path
41
+ * @returns {void}
42
+ */
30
43
  markConnected(path: DirectTransportPath): void;
31
- markOffline(): void;
44
+ /** @param {number} attempt @returns {void} */
45
+ markConnecting(attempt: number): void;
46
+ /** @param {number} attempt @param {string} nextRetryAt @returns {void} */
47
+ markReconnecting(attempt: number, nextRetryAt: string): void;
48
+ /** @param {TransportOfflineReason} [reason] @returns {void} */
49
+ markOffline(reason?: TransportOfflineReason): void;
50
+ /** @returns {void} */
32
51
  abort(): void;
52
+ #private;
33
53
  }
34
- /**
35
- * Canonicalize a bare HTTPS origin. Named for its HTTP origin, but this rule
36
- * exact `https://` scheme, no credentials, no path/query/fragment — is the
37
- * same origin shape a WebTransport candidate's `address` uses too (ticket
38
- * #1823): the client-RPC path is appended when dialing, not advertised.
39
- */
40
- export declare function canonicalHttpCandidateOrigin(value: string): string;
54
+ export type DelayPort = import("@econ-v1/ports").DelayPort;
55
+ export type DirectHomeNodeCandidate = import("@econ-v1/ports").DirectHomeNodeCandidate;
56
+ export type DirectTransportPath = import("@econ-v1/ports").DirectTransportPath;
57
+ export type HomeNodeClient = import("@econ-v1/ports").HomeNodeClient;
58
+ export type TransportOfflineReason = import("@econ-v1/ports").TransportOfflineReason;
59
+ export type TransportState = import("@econ-v1/ports").TransportState;
60
+ export type AbortSignalPort = import("./abort-signal.js").AbortSignalPort;
61
+ export type RuntimeUrl = import("./runtime-globals.js").RuntimeUrl;
62
+ export type TransportManagerOptions = {
63
+ readonly candidates: readonly DirectHomeNodeCandidate[];
64
+ readonly dial: (candidate: DirectHomeNodeCandidate, signal: AbortSignalPort) => Promise<HomeNodeClient>;
65
+ readonly delay?: DelayPort;
66
+ readonly priorityGraceMs?: number;
67
+ readonly candidateTimeoutMs?: number;
68
+ readonly now?: () => string;
69
+ readonly onState?: (state: TransportState) => void;
70
+ };
71
+ export type TransportConnectOptions = {
72
+ readonly higherPriorityThan?: DirectTransportPath;
73
+ readonly path?: DirectTransportPath;
74
+ };
75
+ export type ClosableHomeNodeClient = HomeNodeClient & {
76
+ close?: () => void | Promise<void>;
77
+ };
78
+ export type AbortControllerPort = {
79
+ abort(): void;
80
+ readonly signal: AbortSignalPort;
81
+ };
82
+ export type DialAttempt = {
83
+ readonly candidate: DirectHomeNodeCandidate;
84
+ readonly controller: AbortControllerPort;
85
+ readonly promise: Promise<HomeNodeClient>;
86
+ };
87
+ export type DialSuccess = {
88
+ readonly attempt: DialAttempt;
89
+ readonly client: HomeNodeClient;
90
+ readonly success: true;
91
+ };
92
+ export type DialFailure = {
93
+ readonly attempt: DialAttempt;
94
+ readonly success: false;
95
+ };
41
96
  //# sourceMappingURL=transport-manager.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"transport-manager.d.ts","sourceRoot":"","sources":["../../src/services/transport-manager.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,uBAAuB,EAAE,mBAAmB,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAK9H,MAAM,WAAW,uBAAuB;IACtC,QAAQ,CAAC,UAAU,EAAE,SAAS,uBAAuB,EAAE,CAAC;IACxD,QAAQ,CAAC,IAAI,EAAE,CAAC,SAAS,EAAE,uBAAuB,EAAE,MAAM,EAAE,WAAW,KAAK,OAAO,CAAC,cAAc,CAAC,CAAC;IACpG,QAAQ,CAAC,KAAK,CAAC,EAAE,SAAS,CAAC;IAC3B,2FAA2F;IAC3F,QAAQ,CAAC,eAAe,CAAC,EAAE,MAAM,CAAC;IAClC,0CAA0C;IAC1C,QAAQ,CAAC,kBAAkB,CAAC,EAAE,MAAM,CAAC;IACrC,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,MAAM,CAAC;IAC5B,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,cAAc,KAAK,IAAI,CAAC;CACpD;AAED,MAAM,WAAW,uBAAuB;IACtC,QAAQ,CAAC,kBAAkB,CAAC,EAAE,mBAAmB,CAAC;IAClD,QAAQ,CAAC,IAAI,CAAC,EAAE,mBAAmB,CAAC;CACrC;AAID;;;;GAIG;AACH,qBAAa,gBAAgB;;gBAef,OAAO,EAAE,uBAAuB;IAS5C,IAAI,KAAK,IAAI,cAAc,CAAwB;IACnD,IAAI,iBAAiB,IAAI,uBAAuB,GAAG,SAAS,CAE3D;IAED,SAAS,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,cAAc,KAAK,IAAI,GAAG,MAAM,IAAI;IAKhE,iBAAiB,CAAC,UAAU,EAAE,SAAS,uBAAuB,EAAE,GAAG,IAAI;IAIvE,OAAO,CAAC,OAAO,GAAE,uBAA4B,GAAG,OAAO,CAAC,cAAc,CAAC;IAYvE,aAAa,CAAC,IAAI,EAAE,mBAAmB,GAAG,IAAI;IAI9C,WAAW,IAAI,IAAI;IAInB,KAAK,IAAI,IAAI;CA+Fd;AA4BD;;;;;GAKG;AACH,wBAAgB,4BAA4B,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAiBlE"}
1
+ {"version":3,"file":"transport-manager.d.ts","sourceRoot":"","sources":["../../src/services/transport-manager.js"],"names":[],"mappings":"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"}
@@ -1,46 +1,109 @@
1
- import type { HomeNodeClient, OutboxRepository } from "@econ-v1/ports";
2
- import type { SyncDelta, SyncApplyResult } from "../models/sync.js";
3
- import type { CreateInvoiceInput, PaymentHistoryView, PayInvoiceInput, WalletBalanceView, WalletMirrorRepository, WalletSnapshotPayload } from "../models/wallet.js";
4
- import type { WalletCommandResult } from "../models/payment.js";
5
- import type { L402HistoryView } from "../models/l402.js";
6
- export declare class OfflineWalletCommandError extends Error {
1
+ /**
2
+ * @extends {Error}
3
+ */
4
+ export class OfflineWalletCommandError extends Error {
7
5
  constructor();
8
6
  }
9
- export declare class WalletFreshStateRequiredError extends Error {
7
+ /**
8
+ * @extends {Error}
9
+ */
10
+ export class WalletFreshStateRequiredError extends Error {
10
11
  constructor();
11
12
  }
12
- export declare class InsufficientWalletBalanceError extends Error {
13
+ /**
14
+ * @extends {Error}
15
+ */
16
+ export class InsufficientWalletBalanceError extends Error {
17
+ /**
18
+ * @param {number} amountMsat
19
+ * @param {number} spendableMsat
20
+ */
21
+ constructor(amountMsat: number, spendableMsat: number);
22
+ /**
23
+ * @readonly
24
+ * @type {number}
25
+ */
13
26
  readonly amountMsat: number;
27
+ /**
28
+ * @readonly
29
+ * @type {number}
30
+ */
14
31
  readonly spendableMsat: number;
15
- constructor(amountMsat: number, spendableMsat: number);
16
32
  }
17
- export declare class ExpiredInvoiceError extends Error {
33
+ /**
34
+ * @extends {Error}
35
+ */
36
+ export class ExpiredInvoiceError extends Error {
18
37
  constructor();
19
38
  }
20
- export declare class WalletCommandRejectedError extends Error {
39
+ /**
40
+ * @extends {Error}
41
+ */
42
+ export class WalletCommandRejectedError extends Error {
21
43
  constructor();
22
44
  }
23
- export interface WalletMirrorServiceOptions {
24
- readonly id?: () => string;
25
- readonly now?: () => string;
26
- readonly staleAfterMs: number;
27
- }
28
- export declare class WalletMirrorService {
29
- #private;
45
+ export class WalletMirrorService {
46
+ /**
47
+ * @param {{ readonly homeNode: HomeNodeClient; readonly mirror: WalletMirrorRepository; readonly outbox: OutboxRepository; }} dependencies
48
+ * @param {WalletMirrorServiceOptions} options
49
+ */
30
50
  constructor(dependencies: {
31
51
  readonly homeNode: HomeNodeClient;
32
52
  readonly mirror: WalletMirrorRepository;
33
53
  readonly outbox: OutboxRepository;
34
54
  }, options: WalletMirrorServiceOptions);
55
+ /**
56
+ * @param {SyncDelta<WalletSnapshotPayload>} delta
57
+ * @returns {Promise<SyncApplyResult>}
58
+ */
35
59
  applyDelta(delta: SyncDelta<WalletSnapshotPayload>): Promise<SyncApplyResult>;
60
+ /**
61
+ * @returns {Promise<WalletBalanceView>}
62
+ */
36
63
  readBalance(): Promise<WalletBalanceView>;
64
+ /**
65
+ * @returns {Promise<PaymentHistoryView>}
66
+ */
37
67
  listPayments(): Promise<PaymentHistoryView>;
68
+ /**
69
+ * @returns {Promise<L402HistoryView>}
70
+ */
38
71
  listL402Receipts(): Promise<L402HistoryView>;
72
+ /**
73
+ * @param {CreateInvoiceInput} input
74
+ * @returns {Promise<Extract<WalletCommandResult, { readonly kind: "invoice-created" }>>}
75
+ */
39
76
  createInvoice(input: CreateInvoiceInput): Promise<Extract<WalletCommandResult, {
40
77
  readonly kind: "invoice-created";
41
78
  }>>;
79
+ /**
80
+ * @param {PayInvoiceInput} input
81
+ * @returns {Promise<Extract<WalletCommandResult, { readonly kind: "payment-submitted" }>>}
82
+ */
42
83
  payInvoice(input: PayInvoiceInput): Promise<Extract<WalletCommandResult, {
43
84
  readonly kind: "payment-submitted";
44
85
  }>>;
86
+ #private;
45
87
  }
88
+ export type HomeNodeClient = import("@econ-v1/ports").HomeNodeClient;
89
+ export type OutboxRecord = import("@econ-v1/ports").OutboxRecord;
90
+ export type OutboxRepository = import("@econ-v1/ports").OutboxRepository;
91
+ export type AuthoritativeCommand<TPayload> = import("../models/sync.js").AuthoritativeCommand<TPayload>;
92
+ export type SyncDelta<TPayload> = import("../models/sync.js").SyncDelta<TPayload>;
93
+ export type SyncApplyResult = import("../models/sync.js").SyncApplyResult;
94
+ export type CreateInvoiceInput = import("../models/wallet.js").CreateInvoiceInput;
95
+ export type PaymentHistoryView = import("../models/wallet.js").PaymentHistoryView;
96
+ export type PayInvoiceInput = import("../models/wallet.js").PayInvoiceInput;
97
+ export type WalletAuthoritativeSnapshot = import("../models/wallet.js").WalletAuthoritativeSnapshot;
98
+ export type WalletBalanceView = import("../models/wallet.js").WalletBalanceView;
99
+ export type WalletCommand = import("../models/wallet.js").WalletCommand;
100
+ export type WalletMirrorRepository = import("../models/wallet.js").WalletMirrorRepository;
101
+ export type WalletSnapshotPayload = import("../models/wallet.js").WalletSnapshotPayload;
102
+ export type WalletCommandResult = import("../models/payment.js").WalletCommandResult;
103
+ export type L402HistoryView = import("../models/l402.js").L402HistoryView;
104
+ export type WalletMirrorServiceOptions = {
105
+ readonly id?: () => string;
106
+ readonly now?: () => string;
107
+ readonly staleAfterMs: number;
108
+ };
46
109
  //# sourceMappingURL=wallet-mirror-service.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"wallet-mirror-service.d.ts","sourceRoot":"","sources":["../../src/services/wallet-mirror-service.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAgB,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAMrF,OAAO,KAAK,EAEV,SAAS,EACT,eAAe,EAChB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,KAAK,EACV,kBAAkB,EAClB,kBAAkB,EAClB,eAAe,EAEf,iBAAiB,EAEjB,sBAAsB,EACtB,qBAAqB,EACtB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAChE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAEzD,qBAAa,yBAA0B,SAAQ,KAAK;;CAKnD;AAED,qBAAa,6BAA8B,SAAQ,KAAK;;CAKvD;AAED,qBAAa,8BAA+B,SAAQ,KAAK;IACvD,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;gBAEnB,UAAU,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM;CAMtD;AAED,qBAAa,mBAAoB,SAAQ,KAAK;;CAK7C;AAED,qBAAa,0BAA2B,SAAQ,KAAK;;CAKpD;AAED,MAAM,WAAW,0BAA0B;IACzC,QAAQ,CAAC,EAAE,CAAC,EAAE,MAAM,MAAM,CAAC;IAC3B,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,MAAM,CAAC;IAC5B,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;CAC/B;AAED,qBAAa,mBAAmB;;gBAS5B,YAAY,EAAE;QACZ,QAAQ,CAAC,QAAQ,EAAE,cAAc,CAAC;QAClC,QAAQ,CAAC,MAAM,EAAE,sBAAsB,CAAC;QACxC,QAAQ,CAAC,MAAM,EAAE,gBAAgB,CAAC;KACnC,EACD,OAAO,EAAE,0BAA0B;IAiB/B,UAAU,CAAC,KAAK,EAAE,SAAS,CAAC,qBAAqB,CAAC,GAAG,OAAO,CAAC,eAAe,CAAC;IAI7E,WAAW,IAAI,OAAO,CAAC,iBAAiB,CAAC;IAYzC,YAAY,IAAI,OAAO,CAAC,kBAAkB,CAAC;IAW3C,gBAAgB,IAAI,OAAO,CAAC,eAAe,CAAC;IAW5C,aAAa,CAAC,KAAK,EAAE,kBAAkB,GAAG,OAAO,CAAC,OAAO,CAAC,mBAAmB,EAAE;QAAE,QAAQ,CAAC,IAAI,EAAE,iBAAiB,CAAA;KAAE,CAAC,CAAC;IAYrH,UAAU,CAAC,KAAK,EAAE,eAAe,GAAG,OAAO,CAAC,OAAO,CAAC,mBAAmB,EAAE;QAAE,QAAQ,CAAC,IAAI,EAAE,mBAAmB,CAAA;KAAE,CAAC,CAAC;CA0GxH"}
1
+ {"version":3,"file":"wallet-mirror-service.d.ts","sourceRoot":"","sources":["../../src/services/wallet-mirror-service.js"],"names":[],"mappings":"AAwDA;;GAEG;AACH;IACI,cAGC;CACJ;AACD;;GAEG;AACH;IACI,cAGC;CACJ;AACD;;GAEG;AACH;IAWI;;;KAGC;IACD,wBAHS,MAAM,iBACN,MAAM,EAOd;IAnBD;;;KAGC;IACD,qBAFQ,MAAM,CAEH;IACX;;;KAGC;IACD,wBAFQ,MAAM,CAEA;CAWjB;AACD;;GAEG;AACH;IACI,cAGC;CACJ;AACD;;GAEG;AACH;IACI,cAGC;CACJ;AACD;IA+BI;;;KAGC;IACD,0BAHS;QAAE,QAAQ,CAAC,QAAQ,EAAE,cAAc,CAAC;QAAC,QAAQ,CAAC,MAAM,EAAE,sBAAsB,CAAC;QAAC,QAAQ,CAAC,MAAM,EAAE,gBAAgB,CAAC;KAAE,WAClH,0BAA0B,EAgBlC;IACD;;;KAGC;IACD,kBAHS,SAAS,CAAC,qBAAqB,CAAC,GAC9B,OAAO,CAAC,eAAe,CAAC,CAIlC;IACD;;KAEC;IACD,eAFW,OAAO,CAAC,iBAAiB,CAAC,CAapC;IACD;;KAEC;IACD,gBAFW,OAAO,CAAC,kBAAkB,CAAC,CAYrC;IACD;;KAEC;IACD,oBAFW,OAAO,CAAC,eAAe,CAAC,CAYlC;IACD;;;KAGC;IACD,qBAHS,kBAAkB,GAChB,OAAO,CAAC,OAAO,CAAC,mBAAmB,EAAE;QAAE,QAAQ,CAAC,IAAI,EAAE,iBAAiB,CAAA;KAAE,CAAC,CAAC,CAarF;IACD;;;KAGC;IACD,kBAHS,eAAe,GACb,OAAO,CAAC,OAAO,CAAC,mBAAmB,EAAE;QAAE,QAAQ,CAAC,IAAI,EAAE,mBAAmB,CAAA;KAAE,CAAC,CAAC,CAkBvF;;CA4HJ;6BAtXY,OAAO,gBAAgB,EAAE,cAAc;2BAGvC,OAAO,gBAAgB,EAAE,YAAY;+BAGrC,OAAO,gBAAgB,EAAE,gBAAgB;iCAGzC,QAAQ,IACR,OAAO,mBAAmB,EAAE,oBAAoB,CAAC,QAAQ,CAAC;sBAG1D,QAAQ,IACR,OAAO,mBAAmB,EAAE,SAAS,CAAC,QAAQ,CAAC;8BAG/C,OAAO,mBAAmB,EAAE,eAAe;iCAG3C,OAAO,qBAAqB,EAAE,kBAAkB;iCAGhD,OAAO,qBAAqB,EAAE,kBAAkB;8BAGhD,OAAO,qBAAqB,EAAE,eAAe;0CAG7C,OAAO,qBAAqB,EAAE,2BAA2B;gCAGzD,OAAO,qBAAqB,EAAE,iBAAiB;4BAG/C,OAAO,qBAAqB,EAAE,aAAa;qCAG3C,OAAO,qBAAqB,EAAE,sBAAsB;oCAGpD,OAAO,qBAAqB,EAAE,qBAAqB;kCAGnD,OAAO,sBAAsB,EAAE,mBAAmB;8BAGlD,OAAO,mBAAmB,EAAE,eAAe;yCAG3C;IAAE,QAAQ,CAAC,EAAE,CAAC,EAAE,MAAM,MAAM,CAAC;IAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,MAAM,CAAC;IAAC,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;CAAE"}