@econ-v1/domain 6.7.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.
- package/dist/errors/index.d.ts +96 -25
- package/dist/errors/index.d.ts.map +1 -1
- package/dist/events/index.d.ts +127 -20
- package/dist/events/index.d.ts.map +1 -1
- package/dist/index.d.ts +250 -47
- package/dist/index.d.ts.map +1 -1
- package/dist/models/agent.d.ts +25 -4
- package/dist/models/agent.d.ts.map +1 -1
- package/dist/models/app-data.d.ts +84 -0
- package/dist/models/app-data.d.ts.map +1 -0
- package/dist/models/conversation.d.ts +12 -2
- package/dist/models/conversation.d.ts.map +1 -1
- package/dist/models/delegation.d.ts +12 -3
- package/dist/models/delegation.d.ts.map +1 -1
- package/dist/models/device-boot-state.d.ts +12 -0
- package/dist/models/device-boot-state.d.ts.map +1 -0
- package/dist/models/device-identity.d.ts +11 -3
- package/dist/models/device-identity.d.ts.map +1 -1
- package/dist/models/graph.d.ts +26 -3
- package/dist/models/graph.d.ts.map +1 -1
- package/dist/models/index.d.ts +82 -14
- package/dist/models/index.d.ts.map +1 -1
- package/dist/models/json.d.ts +5 -5
- package/dist/models/json.d.ts.map +1 -1
- package/dist/models/l402.d.ts +4 -5
- package/dist/models/l402.d.ts.map +1 -1
- package/dist/models/live-query-definition.d.ts +15 -16
- package/dist/models/live-query-definition.d.ts.map +1 -1
- package/dist/models/node-app-memory.d.ts +107 -0
- package/dist/models/node-app-memory.d.ts.map +1 -0
- package/dist/models/outbox-intent.d.ts +3 -3
- package/dist/models/outbox-intent.d.ts.map +1 -1
- package/dist/models/outbox.d.ts +67 -15
- package/dist/models/outbox.d.ts.map +1 -1
- package/dist/models/owner-views.d.ts +28 -28
- package/dist/models/owner-views.d.ts.map +1 -1
- package/dist/models/payment.d.ts +28 -9
- package/dist/models/payment.d.ts.map +1 -1
- package/dist/models/query-diff.d.ts +2 -2
- package/dist/models/query-diff.d.ts.map +1 -1
- package/dist/models/release-manifest.d.ts +32 -47
- package/dist/models/release-manifest.d.ts.map +1 -1
- package/dist/models/repository-write.d.ts +3 -3
- package/dist/models/repository-write.d.ts.map +1 -1
- package/dist/models/revisioned-commands.d.ts +66 -13
- package/dist/models/revisioned-commands.d.ts.map +1 -1
- package/dist/models/revisioned.d.ts +50 -10
- package/dist/models/revisioned.d.ts.map +1 -1
- package/dist/models/settings.d.ts +2 -2
- package/dist/models/settings.d.ts.map +1 -1
- package/dist/models/sync.d.ts +18 -18
- package/dist/models/sync.d.ts.map +1 -1
- package/dist/models/wallet.d.ts +16 -16
- package/dist/models/wallet.d.ts.map +1 -1
- package/dist/queries/certificate-trust.d.ts +13 -0
- package/dist/queries/certificate-trust.d.ts.map +1 -0
- package/dist/queries/conversations.d.ts +38 -7
- package/dist/queries/conversations.d.ts.map +1 -1
- package/dist/queries/discovery.d.ts +10 -10
- package/dist/queries/discovery.d.ts.map +1 -1
- package/dist/queries/notifications.d.ts +24 -4
- package/dist/queries/notifications.d.ts.map +1 -1
- package/dist/queries/onboarding-flow.d.ts +25 -0
- package/dist/queries/onboarding-flow.d.ts.map +1 -0
- package/dist/queries/onboarding-lcd-screen.d.ts +56 -0
- package/dist/queries/onboarding-lcd-screen.d.ts.map +1 -0
- package/dist/queries/onboarding-status.d.ts +10 -10
- package/dist/queries/onboarding-status.d.ts.map +1 -1
- package/dist/queries/revisioned.d.ts +47 -13
- package/dist/queries/revisioned.d.ts.map +1 -1
- package/dist/queries/wallet.d.ts +40 -10
- package/dist/queries/wallet.d.ts.map +1 -1
- package/dist/services/abort-signal.d.ts +54 -0
- package/dist/services/abort-signal.d.ts.map +1 -0
- package/dist/services/certificate-trust-service.d.ts +42 -0
- package/dist/services/certificate-trust-service.d.ts.map +1 -0
- package/dist/services/conversation-service.d.ts +103 -15
- package/dist/services/conversation-service.d.ts.map +1 -1
- package/dist/services/conversation-sync.d.ts +9 -5
- package/dist/services/conversation-sync.d.ts.map +1 -1
- package/dist/services/device-boot-state-service.d.ts +17 -0
- package/dist/services/device-boot-state-service.d.ts.map +1 -0
- package/dist/services/device-cleanup-service.d.ts +47 -0
- package/dist/services/device-cleanup-service.d.ts.map +1 -0
- package/dist/services/discovery-probe-service.d.ts +37 -46
- package/dist/services/discovery-probe-service.d.ts.map +1 -1
- package/dist/services/gossip-service.d.ts +28 -13
- package/dist/services/gossip-service.d.ts.map +1 -1
- package/dist/services/invite-redemption-service.d.ts +43 -0
- package/dist/services/invite-redemption-service.d.ts.map +1 -0
- package/dist/services/lan-candidate-refresh-service.d.ts +22 -7
- package/dist/services/lan-candidate-refresh-service.d.ts.map +1 -1
- package/dist/services/lcd-decision-service.d.ts +58 -0
- package/dist/services/lcd-decision-service.d.ts.map +1 -0
- package/dist/services/onboarding-checkpoint-store.d.ts +54 -0
- package/dist/services/onboarding-checkpoint-store.d.ts.map +1 -0
- package/dist/services/onboarding-flow-service.d.ts +180 -0
- package/dist/services/onboarding-flow-service.d.ts.map +1 -0
- package/dist/services/onboarding-status-service.d.ts +21 -38
- package/dist/services/onboarding-status-service.d.ts.map +1 -1
- package/dist/services/outbox-service.d.ts +105 -29
- package/dist/services/outbox-service.d.ts.map +1 -1
- package/dist/services/owner-claim-service.d.ts +187 -0
- package/dist/services/owner-claim-service.d.ts.map +1 -0
- package/dist/services/owner-view-refresh-service.d.ts +40 -0
- package/dist/services/owner-view-refresh-service.d.ts.map +1 -0
- package/dist/services/owner-view-service.d.ts +49 -4
- package/dist/services/owner-view-service.d.ts.map +1 -1
- package/dist/services/peer-directory-service.d.ts +53 -17
- package/dist/services/peer-directory-service.d.ts.map +1 -1
- package/dist/services/release-manifest-verifier.d.ts +18 -20
- package/dist/services/release-manifest-verifier.d.ts.map +1 -1
- package/dist/services/revisioned-domain-service.d.ts +50 -17
- package/dist/services/revisioned-domain-service.d.ts.map +1 -1
- package/dist/services/runtime-globals.d.ts +39 -0
- package/dist/services/runtime-globals.d.ts.map +1 -0
- package/dist/services/session-service.d.ts +23 -3
- package/dist/services/session-service.d.ts.map +1 -1
- package/dist/services/sync/authoritative-mirror.d.ts +88 -15
- package/dist/services/sync/authoritative-mirror.d.ts.map +1 -1
- package/dist/services/sync/index.d.ts +17 -5
- package/dist/services/sync/index.d.ts.map +1 -1
- package/dist/services/sync/log-sync.d.ts +42 -8
- package/dist/services/sync/log-sync.d.ts.map +1 -1
- package/dist/services/sync/revision-merge.d.ts +80 -13
- package/dist/services/sync/revision-merge.d.ts.map +1 -1
- package/dist/services/sync/strategy.d.ts +11 -1
- package/dist/services/sync/strategy.d.ts.map +1 -1
- package/dist/services/transport-manager.d.ts +84 -29
- package/dist/services/transport-manager.d.ts.map +1 -1
- package/dist/services/wallet-mirror-service.d.ts +81 -18
- package/dist/services/wallet-mirror-service.d.ts.map +1 -1
- package/dist/services/wifi-provisioning-service.d.ts +146 -0
- package/dist/services/wifi-provisioning-service.d.ts.map +1 -0
- package/package.json +18 -12
- package/src/errors/index.js +126 -0
- package/src/events/index.js +124 -0
- package/src/index.js +566 -0
- package/src/models/agent.js +43 -0
- package/src/models/app-data.js +122 -0
- package/src/models/conversation.js +36 -0
- package/{dist → src}/models/delegation.js +18 -1
- package/src/models/device-boot-state.js +3 -0
- package/{dist → src}/models/device-identity.js +18 -2
- package/{dist → src}/models/graph.js +30 -3
- package/src/models/index.js +175 -0
- package/src/models/json.js +18 -0
- package/src/models/l402.js +9 -0
- package/src/models/live-query-definition.js +30 -0
- package/src/models/node-app-memory.js +130 -0
- package/src/models/outbox-intent.js +12 -0
- package/{dist → src}/models/outbox.js +102 -3
- package/src/models/owner-views.js +59 -0
- package/src/models/payment.js +24 -0
- package/src/models/query-diff.js +7 -0
- package/src/models/release-manifest.js +160 -0
- package/src/models/repository-write.js +10 -0
- package/src/models/revisioned-commands.js +92 -0
- package/src/models/revisioned.js +41 -0
- package/src/models/settings.js +16 -0
- package/src/models/sync.js +44 -0
- package/src/models/wallet.js +40 -0
- package/src/queries/certificate-trust.js +31 -0
- package/{dist → src}/queries/conversations.js +54 -3
- package/src/queries/discovery.js +34 -0
- package/{dist → src}/queries/notifications.js +25 -2
- package/src/queries/onboarding-flow.js +48 -0
- package/src/queries/onboarding-lcd-screen.js +100 -0
- package/src/queries/onboarding-status.js +34 -0
- package/src/queries/revisioned.js +128 -0
- package/{dist → src}/queries/wallet.js +35 -1
- package/src/services/abort-signal.js +69 -0
- package/src/services/certificate-trust-service.js +119 -0
- package/{dist → src}/services/conversation-service.js +108 -1
- package/src/services/conversation-sync.js +28 -0
- package/src/services/device-boot-state-service.js +45 -0
- package/src/services/device-cleanup-service.js +112 -0
- package/src/services/discovery-probe-service.js +196 -0
- package/{dist → src}/services/gossip-service.js +54 -4
- package/src/services/invite-redemption-service.js +64 -0
- package/src/services/lan-candidate-refresh-service.js +164 -0
- package/src/services/lcd-decision-service.js +93 -0
- package/src/services/onboarding-checkpoint-store.js +155 -0
- package/src/services/onboarding-flow-service.js +1096 -0
- package/src/services/onboarding-status-service.js +64 -0
- package/{dist → src}/services/outbox-service.js +132 -1
- package/src/services/owner-claim-service.js +347 -0
- package/src/services/owner-view-refresh-service.js +208 -0
- package/src/services/owner-view-service.js +87 -0
- package/{dist → src}/services/peer-directory-service.js +72 -3
- package/src/services/release-manifest-verifier.js +108 -0
- package/{dist → src}/services/revisioned-domain-service.js +189 -9
- package/src/services/runtime-globals.js +174 -0
- package/src/services/session-service.js +50 -0
- package/{dist → src}/services/sync/authoritative-mirror.js +90 -1
- package/src/services/sync/index.js +67 -0
- package/src/services/sync/log-sync.js +60 -0
- package/src/services/sync/revision-merge.js +119 -0
- package/src/services/sync/strategy.js +44 -0
- package/src/services/transport-manager.js +478 -0
- package/{dist → src}/services/wallet-mirror-service.js +226 -6
- package/src/services/wifi-provisioning-service.js +278 -0
- package/dist/errors/index.js +0 -45
- package/dist/errors/index.js.map +0 -1
- package/dist/events/index.js +0 -17
- package/dist/events/index.js.map +0 -1
- package/dist/index.js +0 -31
- package/dist/index.js.map +0 -1
- package/dist/models/agent.js +0 -17
- package/dist/models/agent.js.map +0 -1
- package/dist/models/conversation.js +0 -2
- package/dist/models/conversation.js.map +0 -1
- package/dist/models/delegation.js.map +0 -1
- package/dist/models/device-identity.js.map +0 -1
- package/dist/models/graph.js.map +0 -1
- package/dist/models/index.js +0 -8
- package/dist/models/index.js.map +0 -1
- package/dist/models/json.js +0 -2
- package/dist/models/json.js.map +0 -1
- package/dist/models/l402.js +0 -2
- package/dist/models/l402.js.map +0 -1
- package/dist/models/live-query-definition.js +0 -2
- package/dist/models/live-query-definition.js.map +0 -1
- package/dist/models/outbox-intent.js +0 -2
- package/dist/models/outbox-intent.js.map +0 -1
- package/dist/models/outbox.js.map +0 -1
- package/dist/models/owner-views.js +0 -7
- package/dist/models/owner-views.js.map +0 -1
- package/dist/models/payment.js +0 -3
- package/dist/models/payment.js.map +0 -1
- package/dist/models/query-diff.js +0 -2
- package/dist/models/query-diff.js.map +0 -1
- package/dist/models/release-manifest.js +0 -147
- package/dist/models/release-manifest.js.map +0 -1
- package/dist/models/repository-write.js +0 -2
- package/dist/models/repository-write.js.map +0 -1
- package/dist/models/revisioned-commands.js +0 -35
- package/dist/models/revisioned-commands.js.map +0 -1
- package/dist/models/revisioned.js +0 -2
- package/dist/models/revisioned.js.map +0 -1
- package/dist/models/settings.js +0 -2
- package/dist/models/settings.js.map +0 -1
- package/dist/models/sync.js +0 -2
- package/dist/models/sync.js.map +0 -1
- package/dist/models/wallet.js +0 -2
- package/dist/models/wallet.js.map +0 -1
- package/dist/queries/conversations.js.map +0 -1
- package/dist/queries/discovery.js +0 -27
- package/dist/queries/discovery.js.map +0 -1
- package/dist/queries/notifications.js.map +0 -1
- package/dist/queries/onboarding-status.js +0 -27
- package/dist/queries/onboarding-status.js.map +0 -1
- package/dist/queries/revisioned.js +0 -58
- package/dist/queries/revisioned.js.map +0 -1
- package/dist/queries/wallet.js.map +0 -1
- package/dist/services/conversation-service.js.map +0 -1
- package/dist/services/conversation-sync.js +0 -9
- package/dist/services/conversation-sync.js.map +0 -1
- package/dist/services/discovery-probe-service.js +0 -129
- package/dist/services/discovery-probe-service.js.map +0 -1
- package/dist/services/gossip-service.js.map +0 -1
- package/dist/services/lan-candidate-refresh-service.js +0 -79
- package/dist/services/lan-candidate-refresh-service.js.map +0 -1
- package/dist/services/onboarding-status-service.js +0 -32
- package/dist/services/onboarding-status-service.js.map +0 -1
- package/dist/services/outbox-service.js.map +0 -1
- package/dist/services/owner-view-service.js +0 -21
- package/dist/services/owner-view-service.js.map +0 -1
- package/dist/services/peer-directory-service.js.map +0 -1
- package/dist/services/release-manifest-verifier.js +0 -84
- package/dist/services/release-manifest-verifier.js.map +0 -1
- package/dist/services/revisioned-domain-service.js.map +0 -1
- package/dist/services/session-service.js +0 -20
- package/dist/services/session-service.js.map +0 -1
- package/dist/services/sync/authoritative-mirror.js.map +0 -1
- package/dist/services/sync/index.js +0 -4
- package/dist/services/sync/index.js.map +0 -1
- package/dist/services/sync/log-sync.js +0 -20
- package/dist/services/sync/log-sync.js.map +0 -1
- package/dist/services/sync/revision-merge.js +0 -46
- package/dist/services/sync/revision-merge.js.map +0 -1
- package/dist/services/sync/strategy.js +0 -2
- package/dist/services/sync/strategy.js.map +0 -1
- package/dist/services/transport-manager.js +0 -234
- package/dist/services/transport-manager.js.map +0 -1
- 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.
|
|
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
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
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.
|
|
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
|
-
|
|
2
|
-
|
|
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
|
|
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.
|
|
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
|
|
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.
|
|
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
|
-
|
|
2
|
-
export
|
|
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
|
-
*
|
|
19
|
-
*
|
|
20
|
-
* #1823). Adapters own I/O; this class owns selection only.
|
|
4
|
+
* @param {string} value
|
|
5
|
+
* @returns {string}
|
|
21
6
|
*/
|
|
22
|
-
export
|
|
23
|
-
|
|
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
|
-
|
|
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
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
export
|
|
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.
|
|
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
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
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
|
-
|
|
7
|
+
/**
|
|
8
|
+
* @extends {Error}
|
|
9
|
+
*/
|
|
10
|
+
export class WalletFreshStateRequiredError extends Error {
|
|
10
11
|
constructor();
|
|
11
12
|
}
|
|
12
|
-
|
|
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
|
-
|
|
33
|
+
/**
|
|
34
|
+
* @extends {Error}
|
|
35
|
+
*/
|
|
36
|
+
export class ExpiredInvoiceError extends Error {
|
|
18
37
|
constructor();
|
|
19
38
|
}
|
|
20
|
-
|
|
39
|
+
/**
|
|
40
|
+
* @extends {Error}
|
|
41
|
+
*/
|
|
42
|
+
export class WalletCommandRejectedError extends Error {
|
|
21
43
|
constructor();
|
|
22
44
|
}
|
|
23
|
-
export
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
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.
|
|
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"}
|