@econ-v1/ports 6.7.0 → 6.11.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 (182) hide show
  1. package/dist/app-data.d.ts +39 -0
  2. package/dist/app-data.d.ts.map +1 -0
  3. package/dist/client-ui-preference.d.ts +23 -0
  4. package/dist/client-ui-preference.d.ts.map +1 -0
  5. package/dist/clipboard.d.ts +41 -0
  6. package/dist/clipboard.d.ts.map +1 -0
  7. package/dist/clock.d.ts +8 -8
  8. package/dist/clock.d.ts.map +1 -1
  9. package/dist/credential-handoff.d.ts +57 -0
  10. package/dist/credential-handoff.d.ts.map +1 -0
  11. package/dist/crypto.d.ts +4 -4
  12. package/dist/crypto.d.ts.map +1 -1
  13. package/dist/id.d.ts +2 -2
  14. package/dist/id.d.ts.map +1 -1
  15. package/dist/identity.d.ts +31 -25
  16. package/dist/identity.d.ts.map +1 -1
  17. package/dist/index.d.ts +226 -30
  18. package/dist/index.d.ts.map +1 -1
  19. package/dist/install-environment.d.ts +22 -32
  20. package/dist/install-environment.d.ts.map +1 -1
  21. package/dist/lcd-tree-source.d.ts +54 -0
  22. package/dist/lcd-tree-source.d.ts.map +1 -0
  23. package/dist/legacy-credential.d.ts +30 -0
  24. package/dist/legacy-credential.d.ts.map +1 -0
  25. package/dist/media-preferences.d.ts +2 -44
  26. package/dist/media-preferences.d.ts.map +1 -1
  27. package/dist/network/certificate-trust.d.ts +31 -0
  28. package/dist/network/certificate-trust.d.ts.map +1 -0
  29. package/dist/network/client-node-origin.d.ts +3 -15
  30. package/dist/network/client-node-origin.d.ts.map +1 -1
  31. package/dist/network/home-node-candidate-store.d.ts +4 -32
  32. package/dist/network/home-node-candidate-store.d.ts.map +1 -1
  33. package/dist/network/home-node-candidate.d.ts +9 -7
  34. package/dist/network/home-node-candidate.d.ts.map +1 -1
  35. package/dist/network/l402-payment.d.ts +11 -28
  36. package/dist/network/l402-payment.d.ts.map +1 -1
  37. package/dist/network/node-discovery.d.ts +5 -16
  38. package/dist/network/node-discovery.d.ts.map +1 -1
  39. package/dist/network/webrtc-signaling.d.ts +36 -52
  40. package/dist/network/webrtc-signaling.d.ts.map +1 -1
  41. package/dist/network.d.ts +65 -40
  42. package/dist/network.d.ts.map +1 -1
  43. package/dist/offline-readiness.d.ts +122 -0
  44. package/dist/offline-readiness.d.ts.map +1 -0
  45. package/dist/onboarding-access-code.d.ts +30 -0
  46. package/dist/onboarding-access-code.d.ts.map +1 -0
  47. package/dist/onboarding-checkpoint.d.ts +26 -0
  48. package/dist/onboarding-checkpoint.d.ts.map +1 -0
  49. package/dist/onboarding-presence.d.ts +12 -0
  50. package/dist/onboarding-presence.d.ts.map +1 -0
  51. package/dist/owner-claim-session.d.ts +60 -0
  52. package/dist/owner-claim-session.d.ts.map +1 -0
  53. package/dist/owner-claim.d.ts +22 -0
  54. package/dist/owner-claim.d.ts.map +1 -0
  55. package/dist/repositories/conversation-repository.d.ts +21 -20
  56. package/dist/repositories/conversation-repository.d.ts.map +1 -1
  57. package/dist/repositories/durable-event.d.ts +8 -8
  58. package/dist/repositories/durable-event.d.ts.map +1 -1
  59. package/dist/repositories/node-app-memory-repository.d.ts +168 -0
  60. package/dist/repositories/node-app-memory-repository.d.ts.map +1 -0
  61. package/dist/repositories/outbox.d.ts +33 -20
  62. package/dist/repositories/outbox.d.ts.map +1 -1
  63. package/dist/repositories/repository-mutation.d.ts +3 -1
  64. package/dist/repositories/repository-mutation.d.ts.map +1 -1
  65. package/dist/repositories/revisioned-repository.d.ts +14 -12
  66. package/dist/repositories/revisioned-repository.d.ts.map +1 -1
  67. package/dist/repositories/settings.d.ts +10 -10
  68. package/dist/repositories/settings.d.ts.map +1 -1
  69. package/dist/repositories/sync-ledger.d.ts +11 -11
  70. package/dist/repositories/sync-ledger.d.ts.map +1 -1
  71. package/dist/repositories/wallet-mirror-repository.d.ts +22 -13
  72. package/dist/repositories/wallet-mirror-repository.d.ts.map +1 -1
  73. package/dist/repositories.d.ts +52 -17
  74. package/dist/repositories.d.ts.map +1 -1
  75. package/dist/scheduler.d.ts +4 -4
  76. package/dist/scheduler.d.ts.map +1 -1
  77. package/dist/session-flag.d.ts +48 -0
  78. package/dist/session-flag.d.ts.map +1 -0
  79. package/dist/shell-cache-reset.d.ts +4 -0
  80. package/dist/shell-cache-reset.d.ts.map +1 -0
  81. package/dist/shell-version.d.ts +8 -0
  82. package/dist/shell-version.d.ts.map +1 -0
  83. package/dist/storage.d.ts +76 -34
  84. package/dist/storage.d.ts.map +1 -1
  85. package/dist/theme.d.ts +2 -24
  86. package/dist/theme.d.ts.map +1 -1
  87. package/package.json +14 -10
  88. package/src/app-data.js +42 -0
  89. package/src/client-ui-preference.js +23 -0
  90. package/src/clipboard.js +41 -0
  91. package/src/clock.js +13 -0
  92. package/src/credential-handoff.js +68 -0
  93. package/src/crypto.js +9 -0
  94. package/src/id.js +5 -0
  95. package/src/identity.js +33 -0
  96. package/src/index.js +250 -0
  97. package/src/install-environment.js +44 -0
  98. package/src/lcd-tree-source.js +56 -0
  99. package/src/legacy-credential.js +30 -0
  100. package/src/media-preferences.js +40 -0
  101. package/src/network/certificate-trust.js +25 -0
  102. package/src/network/client-node-origin.js +7 -0
  103. package/src/network/home-node-candidate-store.js +6 -0
  104. package/src/network/home-node-candidate.js +9 -0
  105. package/src/network/l402-payment.js +20 -0
  106. package/src/network/node-discovery.js +13 -0
  107. package/src/network/webrtc-signaling.js +40 -0
  108. package/src/network.js +33 -0
  109. package/src/offline-readiness.js +65 -0
  110. package/src/onboarding-access-code.js +21 -0
  111. package/src/onboarding-checkpoint.js +26 -0
  112. package/src/onboarding-presence.js +15 -0
  113. package/src/owner-claim-session.js +55 -0
  114. package/src/owner-claim.js +22 -0
  115. package/src/repositories/conversation-repository.js +20 -0
  116. package/src/repositories/durable-event.js +8 -0
  117. package/src/repositories/node-app-memory-repository.js +221 -0
  118. package/src/repositories/outbox.js +27 -0
  119. package/src/repositories/repository-mutation.js +8 -0
  120. package/src/repositories/revisioned-repository.js +17 -0
  121. package/src/repositories/settings.js +10 -0
  122. package/src/repositories/sync-ledger.js +11 -0
  123. package/src/repositories/wallet-mirror-repository.js +73 -0
  124. package/src/repositories.js +22 -0
  125. package/src/scheduler.js +6 -0
  126. package/src/session-flag.js +48 -0
  127. package/src/shell-cache-reset.js +3 -0
  128. package/src/shell-version.js +4 -0
  129. package/src/storage.js +60 -0
  130. package/src/theme.js +21 -0
  131. package/dist/clock.js +0 -2
  132. package/dist/clock.js.map +0 -1
  133. package/dist/crypto.js +0 -2
  134. package/dist/crypto.js.map +0 -1
  135. package/dist/id.js +0 -2
  136. package/dist/id.js.map +0 -1
  137. package/dist/identity.js +0 -2
  138. package/dist/identity.js.map +0 -1
  139. package/dist/index.js +0 -9
  140. package/dist/index.js.map +0 -1
  141. package/dist/install-environment.js +0 -26
  142. package/dist/install-environment.js.map +0 -1
  143. package/dist/media-preferences.js +0 -2
  144. package/dist/media-preferences.js.map +0 -1
  145. package/dist/network/client-node-origin.js +0 -18
  146. package/dist/network/client-node-origin.js.map +0 -1
  147. package/dist/network/home-node-candidate-store.js +0 -2
  148. package/dist/network/home-node-candidate-store.js.map +0 -1
  149. package/dist/network/home-node-candidate.js +0 -2
  150. package/dist/network/home-node-candidate.js.map +0 -1
  151. package/dist/network/l402-payment.js +0 -2
  152. package/dist/network/l402-payment.js.map +0 -1
  153. package/dist/network/node-discovery.js +0 -13
  154. package/dist/network/node-discovery.js.map +0 -1
  155. package/dist/network/webrtc-signaling.js +0 -30
  156. package/dist/network/webrtc-signaling.js.map +0 -1
  157. package/dist/network.js +0 -2
  158. package/dist/network.js.map +0 -1
  159. package/dist/repositories/conversation-repository.js +0 -2
  160. package/dist/repositories/conversation-repository.js.map +0 -1
  161. package/dist/repositories/durable-event.js +0 -2
  162. package/dist/repositories/durable-event.js.map +0 -1
  163. package/dist/repositories/outbox.js +0 -9
  164. package/dist/repositories/outbox.js.map +0 -1
  165. package/dist/repositories/repository-mutation.js +0 -2
  166. package/dist/repositories/repository-mutation.js.map +0 -1
  167. package/dist/repositories/revisioned-repository.js +0 -2
  168. package/dist/repositories/revisioned-repository.js.map +0 -1
  169. package/dist/repositories/settings.js +0 -2
  170. package/dist/repositories/settings.js.map +0 -1
  171. package/dist/repositories/sync-ledger.js +0 -2
  172. package/dist/repositories/sync-ledger.js.map +0 -1
  173. package/dist/repositories/wallet-mirror-repository.js +0 -53
  174. package/dist/repositories/wallet-mirror-repository.js.map +0 -1
  175. package/dist/repositories.js +0 -2
  176. package/dist/repositories.js.map +0 -1
  177. package/dist/scheduler.js +0 -2
  178. package/dist/scheduler.js.map +0 -1
  179. package/dist/storage.js +0 -14
  180. package/dist/storage.js.map +0 -1
  181. package/dist/theme.js +0 -2
  182. package/dist/theme.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.js"],"names":[],"mappings":"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"}
@@ -1,42 +1,32 @@
1
- /** Which install affordance the shell should render for the current environment. */
2
- export type InstallInstructionMode = "installable" | "ios" | "safari-desktop" | "unsupported";
1
+ /** @typedef {"installable" | "ios" | "safari-desktop" | "unsupported"} InstallInstructionMode */
2
+ /**
3
+ * Boundary port for PWA install detection.
4
+ *
5
+ * @typedef {{
6
+ * isStandalone(): boolean,
7
+ * instructionMode(): InstallInstructionMode,
8
+ * onInstallAvailable(listener: () => void): () => void,
9
+ * promptInstall(): Promise<"accepted" | "dismissed" | "unavailable">,
10
+ * onAppInstalled(listener: () => void): () => void,
11
+ * checkAlreadyInstalled(): Promise<boolean>
12
+ * }} InstallEnvironmentPort
13
+ */
3
14
  /**
4
- * Boundary port for PWA install detection (`client/ui`'s install-prompt UI, a later task).
15
+ * A no-op install environment for SSR, tests, and platforms without browser install support.
5
16
  *
6
- * `client/ui` may never touch `window.beforeinstallprompt` / `navigator.standalone` /
7
- * `navigator.getInstalledRelatedApps` directly (boundary rules B2/B3,
8
- * `client/scripts/check-boundaries.mjs`) — this is the narrow surface
9
- * `client/adapters-web`'s `createBrowserInstallEnvironment()` implements against the real
10
- * globals, and the composition root (`system/pwa/src/main.ts`) registers it before the shell
11
- * needs to decide whether/how to offer installation. The captured `beforeinstallprompt` event
12
- * fires once, early in the page lifecycle, and is only usable once (`promptInstall`) — this
13
- * port's job is to hold onto it so callers don't have to race the event themselves.
17
+ * @returns {InstallEnvironmentPort}
18
+ */
19
+ export function createNullInstallEnvironment(): InstallEnvironmentPort;
20
+ export type InstallInstructionMode = "installable" | "ios" | "safari-desktop" | "unsupported";
21
+ /**
22
+ * Boundary port for PWA install detection.
14
23
  */
15
- export interface InstallEnvironmentPort {
16
- /** True if the app is already running in an installed/standalone display mode. */
24
+ export type InstallEnvironmentPort = {
17
25
  isStandalone(): boolean;
18
- /** Which install affordance to show: a native prompt is available, iOS's manual-add-to-
19
- * home-screen instructions apply, macOS Safari's manual-add-to-Dock instructions apply
20
- * (Safari 17+ supports installing via Share → Add to Dock but never fires
21
- * `beforeinstallprompt`), or neither (desktop browser with no install support, already
22
- * standalone, etc). */
23
26
  instructionMode(): InstallInstructionMode;
24
- /** Subscribes to native install-prompt availability. Fires immediately if a prompt was
25
- * already captured before this call; otherwise fires once the `beforeinstallprompt` event
26
- * arrives. Returns an unsubscribe function. */
27
27
  onInstallAvailable(listener: () => void): () => void;
28
- /** Shows the captured native install prompt, if any. Resolves `"unavailable"` when no
29
- * prompt has been captured. Clears the captured prompt on use — it can only be shown
30
- * once per capture. */
31
28
  promptInstall(): Promise<"accepted" | "dismissed" | "unavailable">;
32
- /** Subscribes to the `appinstalled` event. Returns an unsubscribe function. */
33
29
  onAppInstalled(listener: () => void): () => void;
34
- /** Checks whether this app is already installed via the User-Agent-mediated related-apps
35
- * API. Resolves `false` if the API is absent or the check fails. */
36
30
  checkAlreadyInstalled(): Promise<boolean>;
37
- }
38
- /** A no-op `InstallEnvironmentPort` for environments with no install affordance (SSR, tests,
39
- * platforms without a real browser behind them). Never standalone, never installable, no
40
- * prompts ever fire. */
41
- export declare function createNullInstallEnvironment(): InstallEnvironmentPort;
31
+ };
42
32
  //# sourceMappingURL=install-environment.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"install-environment.d.ts","sourceRoot":"","sources":["../src/install-environment.ts"],"names":[],"mappings":"AAAA,oFAAoF;AACpF,MAAM,MAAM,sBAAsB,GAAG,aAAa,GAAG,KAAK,GAAG,gBAAgB,GAAG,aAAa,CAAC;AAE9F;;;;;;;;;;;GAWG;AACH,MAAM,WAAW,sBAAsB;IACrC,kFAAkF;IAClF,YAAY,IAAI,OAAO,CAAC;IACxB;;;;2BAIuB;IACvB,eAAe,IAAI,sBAAsB,CAAC;IAC1C;;mDAE+C;IAC/C,kBAAkB,CAAC,QAAQ,EAAE,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC;IACrD;;2BAEuB;IACvB,aAAa,IAAI,OAAO,CAAC,UAAU,GAAG,WAAW,GAAG,aAAa,CAAC,CAAC;IACnE,+EAA+E;IAC/E,cAAc,CAAC,QAAQ,EAAE,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC;IACjD;wEACoE;IACpE,qBAAqB,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC;CAC3C;AAED;;wBAEwB;AACxB,wBAAgB,4BAA4B,IAAI,sBAAsB,CAqBrE"}
1
+ {"version":3,"file":"install-environment.d.ts","sourceRoot":"","sources":["../src/install-environment.js"],"names":[],"mappings":"AAEA,iGAAiG;AAEjG;;;;;;;;;;;GAWG;AAEH;;;;GAIG;AACH,gDAFa,sBAAsB,CAuBlC;qCAzCa,aAAa,GAAG,KAAK,GAAG,gBAAgB,GAAG,aAAa;;;;qCAKzD;IACR,YAAY,IAAI,OAAO,CAAC;IACxB,eAAe,IAAI,sBAAsB,CAAC;IAC1C,kBAAkB,CAAC,QAAQ,EAAE,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC;IACrD,aAAa,IAAI,OAAO,CAAC,UAAU,GAAG,WAAW,GAAG,aAAa,CAAC,CAAC;IACnE,cAAc,CAAC,QAAQ,EAAE,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC;IACjD,qBAAqB,IAAI,OAAO,CAAC,OAAO,CAAC,CAAA;CAC1C"}
@@ -0,0 +1,54 @@
1
+ /**
2
+ * The seam through which the LCD pane obtains the widget tree the node's round display is
3
+ * currently showing (design §8.1).
4
+ *
5
+ * The pane is a `client/ui` surface and `client/ui` may never call `fetch` (rule B2, enforced
6
+ * by `client/scripts/check-boundaries.mjs`), so the two HTTP calls that produce a tree —
7
+ * `POST /lcd/screens/:id/state` then `GET /lcd/screens/:id/preview` against
8
+ * `modules/node-app-lcd`'s debug server — live in `client/adapters-web` behind this port.
9
+ * `client/domain` holds the port and never learns there is a network at all.
10
+ *
11
+ * `screen()` returns a CLOSED OUTCOME UNION and never rejects. That is not stylistic: the
12
+ * only consumer is a live query, and `LiveQueryEngine.#enqueue` does
13
+ * `void run.catch(() => undefined)` — a rejected `run()` never reaches the subscriber, so a
14
+ * throwing source would freeze the pane on a stale screen with no error and no retry. The
15
+ * failure must be data.
16
+ *
17
+ * Nothing here carries node error text. `"unreachable"` covers offline, DNS failure, a 5xx,
18
+ * a malformed body and a missing dev proxy alike; `"not-registered"` is specifically "this
19
+ * node's LCD app has no screen with that id", which is the normal answer for a screen whose
20
+ * Rust `build()` has not been written yet.
21
+ */
22
+ /**
23
+ * For every composition without a reachable LCD daemon — production (where the pane is not
24
+ * shipped at all), tests, and any headless kernel. Reporting `"unreachable"` is the honest
25
+ * answer and drives the pane's §8.4 placeholder; it is also the SAFE direction, because the
26
+ * pane is never on onboarding's critical path and the device pane continues regardless.
27
+ * @returns {LcdTreeSourcePort}
28
+ */
29
+ export function createNullLcdTreeSource(): LcdTreeSourcePort;
30
+ /**
31
+ * An RFC-7396 JSON Merge Patch applied to the screen's registry state before its tree is
32
+ * built. Scalars only: every built-in screen's `initial_state` is a flat scalar map.
33
+ */
34
+ export type LcdScreenStatePatch = Readonly<Record<string, number | string>>;
35
+ export type LcdTreeOutcome = {
36
+ readonly kind: "not-registered";
37
+ } | {
38
+ readonly kind: "tree";
39
+ readonly tree: LcdTreeNode;
40
+ } | {
41
+ readonly kind: "unreachable";
42
+ };
43
+ /**
44
+ * The serde-flattened `Node` the LCD engine emits: `{ id, type, ...props, children }`, where
45
+ * the props are spread onto the node itself and `type` is the discriminant
46
+ * (`modules/node-app-lcd/src/lcd/engine/components/node.rs`). Deliberately loose — a renderer
47
+ * switches on `type` and reads the props it knows, and a screen growing a field must not
48
+ * break this seam.
49
+ */
50
+ export type LcdTreeNode = Readonly<Record<string, unknown>> & object;
51
+ export type LcdTreeSourcePort = {
52
+ screen: (screenId: string, state: LcdScreenStatePatch) => Promise<LcdTreeOutcome>;
53
+ };
54
+ //# sourceMappingURL=lcd-tree-source.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lcd-tree-source.d.ts","sourceRoot":"","sources":["../src/lcd-tree-source.js"],"names":[],"mappings":"AACA;;;;;;;;;;;;;;;;;;;;GAoBG;AACH;;;;;;GAMG;AACH,2CAFa,iBAAiB,CAI7B;;;;;kCAGY,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,CAAC;6BAGvC;IAAE,QAAQ,CAAC,IAAI,EAAE,gBAAgB,CAAA;CAAE,GAC3C;IAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAA;CAAE,GACrD;IAAE,QAAQ,CAAC,IAAI,EAAE,aAAa,CAAA;CAAE;;;;;;;;0BAQ1B,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,GAAG,MAAM;;YAOzC,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,mBAAmB,KAAK,OAAO,CAAC,cAAc,CAAC"}
@@ -0,0 +1,30 @@
1
+ /**
2
+ * Whether this browser holds a credential the LEGACY `system/ui` SPA can sign in with.
3
+ *
4
+ * `"unknown"` is a first-class answer, not an error: a storage-partitioned or
5
+ * privacy-locked browser genuinely cannot be asked. Callers MUST treat it like `"absent"`
6
+ * for any safety decision — the only consequence of over-warning is one extra click,
7
+ * whereas under-warning is the failure this port exists to prevent.
8
+ */
9
+ export type LegacyCredentialStatus = "absent" | "present" | "unknown";
10
+ /**
11
+ * Answers "would the classic UI recognise this browser?" WITHOUT bridging the two
12
+ * authentication systems.
13
+ *
14
+ * The two UIs deliberately do not share an identity: the legacy SPA signs in with a
15
+ * secp256k1 device key in its own IndexedDB (migrated once from a BIP39 seed —
16
+ * `system/ui/src/lib/deviceKey.ts`), while the Client Node PWA uses a paired device
17
+ * identity + device session it never converts back into a seed. `client/kernel`'s
18
+ * `LegacyStorageReader` imports legacy state INTO the PWA for the v1 cutover and nothing
19
+ * writes the reverse, so a PWA-onboarded browser has no legacy credential at all.
20
+ *
21
+ * This port therefore reports PRESENCE ONLY. It never reads, returns, derives, or
22
+ * provisions key material — implementations are expected to test for the record's
23
+ * existence without deserializing its value. Answering this question is what lets the
24
+ * "Switch to the classic UI" control warn honestly instead of dropping a PWA-onboarded
25
+ * user onto a sign-in screen they cannot satisfy.
26
+ */
27
+ export type LegacyCredentialProbePort = {
28
+ status: () => Promise<LegacyCredentialStatus>;
29
+ };
30
+ //# sourceMappingURL=legacy-credential.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"legacy-credential.d.ts","sourceRoot":"","sources":["../src/legacy-credential.js"],"names":[],"mappings":";;;;;;;;qCASa,QAAQ,GAAG,SAAS,GAAG,SAAS;;;;;;;;;;;;;;;;;;;YAmB/B,MAAM,OAAO,CAAC,sBAAsB,CAAC"}
@@ -1,47 +1,5 @@
1
- /**
2
- * Boundary port for the two NON-THEME media queries the shell reads (#1687).
3
- *
4
- * `client/ui` may never call `matchMedia` directly (boundary rule B2,
5
- * `client/scripts/check-boundaries.mjs`) — this is the narrow surface
6
- * `client/adapters-web`'s `createBrowserMediaPreferences()` implements against the real
7
- * global, and the composition root (`system/pwa/src/main.ts`) registers it (via
8
- * `client/ui`'s `configureMediaPreferences`) before the shell's first paint.
9
- *
10
- * Deliberately SEPARATE from `ThemeEnvironmentPort` rather than folded into it, even
11
- * though both end up calling `matchMedia` in their adapters:
12
- *
13
- * - `ThemeEnvironmentPort` models the *theme preference* as a whole — a value with
14
- * PERSISTENCE (`getStoredTheme`/`setStoredTheme` over `localStorage`) where the media
15
- * query is only the fallback when nothing is stored, plus a live `change`
16
- * subscription because a theme flip must repaint mid-session. Its concern is
17
- * `prefers-color-scheme`.
18
- * - The queries here are neither theme nor persisted nor live: `prefers-reduced-motion`
19
- * (`stages/waves-stage.ts`, `stages/waves-canvas.ts`) is an accessibility/motion
20
- * preference, and `(hover: hover) and (pointer: fine)` (`shell/pmenu.ts`) is a
21
- * pointer-capability probe. Both are read ONCE, at mount/connect time, matching the
22
- * original skin's own one-shot checks — neither has a stored override to consult nor
23
- * a subscription to tear down.
24
- *
25
- * Folding them into `ThemeEnvironmentPort` would make a port named for theme answer
26
- * questions about motion and pointers, and would oblige every fake in the test suite (and
27
- * `theme-environment.ts`'s `NOOP_THEME_ENVIRONMENT`) to stub three unrelated concerns to
28
- * exercise one. Two narrow ports, one adapter technology.
29
- *
30
- * Both methods are synchronous and side-effect-free, for the same reason
31
- * `ThemeEnvironmentPort`'s are: they are read during `connectedCallback`/`mount`, before
32
- * the kernel connection (`KernelRpcClient`, an async `SharedWorker`/leader-tab bridge)
33
- * exists, so they can never be mediated through `@econ-v1/rpc` the way ordinary UI
34
- * reads are (rule S4).
35
- */
36
- export interface MediaPreferencesPort {
37
- /** Current `(prefers-reduced-motion: reduce)` match. MUST return `false` when the
38
- * environment doesn't support media queries — the safe default is the FULL experience,
39
- * matching the original skin, which only suppresses animation on an explicit match. */
1
+ export type MediaPreferencesPort = {
40
2
  prefersReducedMotion(): boolean;
41
- /** Current `(hover: hover) and (pointer: fine)` match — i.e. a real mouse-like pointer
42
- * that can hover. MUST return `false` when the environment doesn't support media
43
- * queries, so hover-only affordances stay inert rather than activating on touch (see
44
- * `shell/pmenu.ts`'s `#finePointer`). */
45
3
  hasFinePointer(): boolean;
46
- }
4
+ };
47
5
  //# sourceMappingURL=media-preferences.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"media-preferences.d.ts","sourceRoot":"","sources":["../src/media-preferences.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AACH,MAAM,WAAW,oBAAoB;IACnC;;2FAEuF;IACvF,oBAAoB,IAAI,OAAO,CAAC;IAChC;;;6CAGyC;IACzC,cAAc,IAAI,OAAO,CAAC;CAC3B"}
1
+ {"version":3,"file":"media-preferences.d.ts","sourceRoot":"","sources":["../src/media-preferences.js"],"names":[],"mappings":"mCAqCc;IAAE,oBAAoB,IAAI,OAAO,CAAC;IAAC,cAAc,IAAI,OAAO,CAAA;CAAE"}
@@ -0,0 +1,31 @@
1
+ export type CertificateTrustPlatform = "android" | "apple-mobile" | "apple-mac" | "firefox" | "windows" | "linux" | "unknown";
2
+ /**
3
+ * `untrusted` and `unreachable` are deliberately separate outcomes, not one
4
+ * failure bucket. They look identical to the probe's caller — neither unlocks
5
+ * the shell — but they have opposite remedies, and telling a person to install
6
+ * a certificate authority when the real problem is that their node stopped
7
+ * answering sends them somewhere they cannot succeed. `untrusted` means the
8
+ * node answered and the browser refused the chain; `unreachable` means the
9
+ * request never produced a response at all (DNS failure, connection refused,
10
+ * a certificate the browser rejects before any HTTP exchange, or a timeout).
11
+ */
12
+ export type CertificateTrustProbeResult = {
13
+ readonly status: "trusted";
14
+ readonly origin: string;
15
+ readonly fingerprint?: string;
16
+ } | {
17
+ readonly status: "untrusted";
18
+ readonly origin: string;
19
+ readonly fingerprint?: string;
20
+ } | {
21
+ readonly status: "unreachable";
22
+ readonly origin: string;
23
+ };
24
+ export type CertificateTrustProbePort = {
25
+ probe: (origin: string, signal?: CancellationSignal) => Promise<CertificateTrustProbeResult>;
26
+ };
27
+ export type PlatformTrustPort = {
28
+ detect: () => CertificateTrustPlatform;
29
+ };
30
+ import type { CancellationSignal } from '../network.js';
31
+ //# sourceMappingURL=certificate-trust.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"certificate-trust.d.ts","sourceRoot":"","sources":["../../src/network/certificate-trust.js"],"names":[],"mappings":"uCAEc,SAAS,GAAG,cAAc,GAAG,WAAW,GAAG,SAAS,GAAG,SAAS,GAAG,OAAO,GAAG,SAAS;;;;;;;;;;;0CAUrF;IAAE,QAAQ,CAAC,MAAM,EAAE,SAAS,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAA;CAAE,GAC9F;IAAE,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAA;CAAE,GACxF;IAAE,QAAQ,CAAC,MAAM,EAAE,aAAa,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;CAAE;;WAIpD,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,kBAAkB,KAAK,OAAO,CAAC,2BAA2B,CAAC;;;YAIrF,MAAM,wBAAwB;;wCAEJ,eAAe"}
@@ -1,18 +1,6 @@
1
1
  /**
2
- * The Client Node PWA's cloud distribution origin the static site an installed-from-cloud
3
- * PWA is served from at first launch (e.g. `client-node.economy1.cloud`), as opposed to a
4
- * `system/pwa/dist` build served directly by a running node (dev, or an on-node install).
5
- *
6
- * Mirrors the Rust constant of the same value, `DEFAULT_CLIENT_NODE_ORIGIN` in
7
- * `core/adapters-network/src/http/server/runtime.rs` (introduced by ticket N1's CORS/PNA
8
- * work) — kept in sync by hand; update both together if this value ever changes.
9
- *
10
- * This origin is NEVER itself a home node — it is a static site with no node behind it.
11
- * `resolveInitialHomeNode` (`system/pwa/src/kernel-runtime.ts`) uses this constant to
12
- * recognize "installed-from-cloud, no LAN candidate discovered yet" and refuses to seed it
13
- * as a dialable bootstrap candidate. Before this constant's introduction (lan-direct-pairing
14
- * plan, C3), the distribution origin was unconditionally seeded as the `wan-direct`
15
- * home-node candidate on every boot, so pairing dialed the static site and got a 404.
2
+ * The Client Node PWA's cloud distribution origin. This static origin is never itself a
3
+ * dialable home node.
16
4
  */
17
- export declare const DEFAULT_CLIENT_NODE_ORIGIN = "https://client-node.economy1.cloud";
5
+ export const DEFAULT_CLIENT_NODE_ORIGIN: "https://client-node.economy1.cloud";
18
6
  //# sourceMappingURL=client-node-origin.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"client-node-origin.d.ts","sourceRoot":"","sources":["../../src/network/client-node-origin.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AACH,eAAO,MAAM,0BAA0B,uCAAuC,CAAC"}
1
+ {"version":3,"file":"client-node-origin.d.ts","sourceRoot":"","sources":["../../src/network/client-node-origin.js"],"names":[],"mappings":"AAEA;;;GAGG;AACH,yCAA0C,oCAAoC,CAAC"}
@@ -1,38 +1,10 @@
1
- /**
2
- * The minimal, JSON-safe shape of a verified LAN-direct home-node candidate the device
3
- * remembers across reloads (lan-direct-pairing plan, C3). Always becomes `path: "lan-direct"`
4
- * once turned into a `HomeNodeCandidate` — this type omits `path` because that is the only
5
- * value ever stored here; it deliberately does not reuse `NodeDiscoveryCandidate`
6
- * (`network/node-discovery.js`) so this port stays free of that module's discovery-flow
7
- * framing (`path` there exists to type-narrow a discovery *result*, not a stored value).
8
- */
9
- export interface StoredHomeNodeCandidate {
1
+ export type StoredHomeNodeCandidate = {
10
2
  readonly address: string;
11
3
  readonly id: string;
12
- }
13
- /**
14
- * Boundary port for persisting the discovered-LAN home-node candidate.
15
- *
16
- * `client/ui`'s onboarding discovery screen (`shell/onboarding/screens/connect-discovery.ts`)
17
- * emits a `node-discovered` DOM event carrying a verified candidate but never persists it
18
- * itself — the composition root (`system/pwa/src/main.ts`) listens for that event, writes
19
- * the candidate here, and reloads so `createP0KernelRuntime`
20
- * (`system/pwa/src/kernel-runtime.ts`) seeds it as the boot-time home node on the next load
21
- * via `resolveInitialHomeNode`. `client/ui` may never touch `localStorage` directly
22
- * (boundary rules B2/B3, `client/scripts/check-boundaries.mjs`) — this is the narrow surface
23
- * `client/adapters-web`'s `createBrowserHomeNodeCandidateStore()` implements against the real
24
- * global, mirroring `ThemeEnvironmentPort`'s `BrowserThemeEnvironment` adapter pattern.
25
- *
26
- * Implementations MUST swallow storage failures (private browsing, quota) rather than
27
- * throwing — a lost persist just means LAN discovery runs again on the next launch, never a
28
- * hard failure.
29
- */
30
- export interface HomeNodeCandidateStorePort {
31
- /** Reads the persisted candidate, or `undefined` if unset or storage is unavailable. */
4
+ };
5
+ export type HomeNodeCandidateStorePort = {
32
6
  read(): StoredHomeNodeCandidate | undefined;
33
- /** Persists a verified candidate as the device's remembered home node. */
34
7
  write(candidate: StoredHomeNodeCandidate): void;
35
- /** Clears any persisted candidate. */
36
8
  clear(): void;
37
- }
9
+ };
38
10
  //# sourceMappingURL=home-node-candidate-store.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"home-node-candidate-store.d.ts","sourceRoot":"","sources":["../../src/network/home-node-candidate-store.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,MAAM,WAAW,uBAAuB;IACtC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;CACrB;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,WAAW,0BAA0B;IACzC,wFAAwF;IACxF,IAAI,IAAI,uBAAuB,GAAG,SAAS,CAAC;IAC5C,0EAA0E;IAC1E,KAAK,CAAC,SAAS,EAAE,uBAAuB,GAAG,IAAI,CAAC;IAChD,sCAAsC;IACtC,KAAK,IAAI,IAAI,CAAC;CACf"}
1
+ {"version":3,"file":"home-node-candidate-store.d.ts","sourceRoot":"","sources":["../../src/network/home-node-candidate-store.js"],"names":[],"mappings":"sCAEc;IAAE,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAA;CAAE;yCACjD;IAAE,IAAI,IAAI,uBAAuB,GAAG,SAAS,CAAC;IAAC,KAAK,CAAC,SAAS,EAAE,uBAAuB,GAAG,IAAI,CAAC;IAAC,KAAK,IAAI,IAAI,CAAA;CAAE"}
@@ -1,10 +1,12 @@
1
- import type { HomeNodeClient, TransportPath } from "../network.js";
2
- export interface HomeNodeCandidate {
1
+ export type CancellationSignal = import("../network.js").CancellationSignal;
2
+ export type HomeNodeClient = import("../network.js").HomeNodeClient;
3
+ export type HomeNodePath = Exclude<import("../network.js").TransportPath, "offline">;
4
+ export type HomeNodeCandidate = {
3
5
  readonly address: string;
4
6
  readonly id: string;
5
- readonly path: Exclude<TransportPath, "offline">;
6
- }
7
- export interface HomeNodeDialer {
8
- dial(candidate: HomeNodeCandidate, signal: AbortSignal): Promise<HomeNodeClient>;
9
- }
7
+ readonly path: HomeNodePath;
8
+ };
9
+ export type HomeNodeDialer = {
10
+ dial(candidate: HomeNodeCandidate, signal: CancellationSignal): Promise<HomeNodeClient>;
11
+ };
10
12
  //# sourceMappingURL=home-node-candidate.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"home-node-candidate.d.ts","sourceRoot":"","sources":["../../src/network/home-node-candidate.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAEnE,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC,aAAa,EAAE,SAAS,CAAC,CAAC;CAClD;AAED,MAAM,WAAW,cAAc;IAC7B,IAAI,CAAC,SAAS,EAAE,iBAAiB,EAAE,MAAM,EAAE,WAAW,GAAG,OAAO,CAAC,cAAc,CAAC,CAAC;CAClF"}
1
+ {"version":3,"file":"home-node-candidate.d.ts","sourceRoot":"","sources":["../../src/network/home-node-candidate.js"],"names":[],"mappings":"iCAEc,OAAO,eAAe,EAAE,kBAAkB;6BAC1C,OAAO,eAAe,EAAE,cAAc;2BACtC,OAAO,CAAC,OAAO,eAAe,EAAE,aAAa,EAAE,SAAS,CAAC;gCACzD;IAAE,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,IAAI,EAAE,YAAY,CAAA;CAAE;6BAC9E;IAAE,IAAI,CAAC,SAAS,EAAE,iBAAiB,EAAE,MAAM,EAAE,kBAAkB,GAAG,OAAO,CAAC,cAAc,CAAC,CAAA;CAAE"}
@@ -1,38 +1,21 @@
1
1
  /**
2
- * The domain-level shape of an L402 payment challenge mirrors
3
- * `L402PaymentChallengeDetails` in
4
- * `client/adapters-web/src/network/client-rpc/response-error.ts` (the
5
- * carrier-side representation of a `402 PaymentRequired` `node/client-rpc/1`
6
- * response) without this port depending on that adapter package. Never log
7
- * `macaroon`/`invoice` (Constitution Principle VIII) — both are
8
- * credential/payment-secret material, not diagnostic detail.
2
+ * The domain-level shape of an L402 payment challenge. Never log `macaroon`
3
+ * or `invoice`: both are credential/payment-secret material.
9
4
  */
10
- export interface L402PaymentChallenge {
5
+ export type L402PaymentChallenge = {
11
6
  readonly amountSats: number;
12
7
  readonly description: string;
13
8
  readonly invoice: string;
14
9
  readonly macaroon: string;
15
- }
16
- /** The Lightning preimage produced once `invoice` is paid — combined with `macaroon` to form the `LSAT <macaroon>:<preimage>` token the retried request carries. */
17
- export interface L402PaymentResult {
10
+ };
11
+ export type L402PaymentResult = {
18
12
  readonly preimage: string;
19
- }
13
+ };
20
14
  /**
21
- * Pluggable port the kernel/composition root supplies to pay an L402
22
- * challenge surfaced by a `node/client-rpc/1` carrier (ticket #1866:
23
- * WebTransport/WebRTC — the same challenge the HTTP carrier's
24
- * `WWW-Authenticate` 402 flow already exposes to callers).
25
- *
26
- * Paying an invoice is a domain/UI concern — it may require prompting the
27
- * operator, routing through an external Lightning wallet, or invoking a
28
- * not-yet-wired authoritative-wallet capability — never something a
29
- * transport-layer carrier should decide on its own. The carrier and the
30
- * managed-client retry orchestration only need to know whether payment
31
- * succeeded and, if so, the resulting preimage; they never see how it was
32
- * obtained. When no handler is supplied, the challenge is surfaced to the
33
- * caller unchanged (never a silent no-op, never a fabricated payment).
15
+ * Pluggable port supplied by the kernel or composition root to pay an L402
16
+ * challenge surfaced by a client-RPC carrier.
34
17
  */
35
- export interface L402PaymentHandler {
36
- pay(challenge: L402PaymentChallenge): Promise<L402PaymentResult>;
37
- }
18
+ export type L402PaymentHandler = {
19
+ pay: (challenge: L402PaymentChallenge) => Promise<L402PaymentResult>;
20
+ };
38
21
  //# sourceMappingURL=l402-payment.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"l402-payment.d.ts","sourceRoot":"","sources":["../../src/network/l402-payment.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;CAC3B;AAED,oKAAoK;AACpK,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;CAC3B;AAED;;;;;;;;;;;;;;GAcG;AACH,MAAM,WAAW,kBAAkB;IACjC,GAAG,CAAC,SAAS,EAAE,oBAAoB,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAAC;CAClE"}
1
+ {"version":3,"file":"l402-payment.d.ts","sourceRoot":"","sources":["../../src/network/l402-payment.js"],"names":[],"mappings":";;;;mCAMa;IAAE,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;CAAE;gCAGjH;IAAE,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;CAAE;;;;;;SAO7B,CAAC,SAAS,EAAE,oBAAoB,KAAK,OAAO,CAAC,iBAAiB,CAAC"}
@@ -1,20 +1,9 @@
1
- /**
2
- * The pre-pairing "verify a user-entered address is really a node" port
3
- * (ticket #1893-follow-on / `docs/superpowers/plans/2026-07-27-lan-direct-pairing.md`).
4
- *
5
- * This is deliberately lighter-weight than `HomeNodeDialer`: no session, no auth headers,
6
- * no expected node id to prove against — the caller doesn't know which node (if any) is at
7
- * the address yet. It only proves the responder's PUBLIC origin proof
8
- * (`GET /.well-known/client-node-origin`) is well-formed and matches the address dialed.
9
- * Contrast with `DiscoveryProbeService`/`HomeNodeDialer`, which re-prove a candidate against
10
- * an *already-known* home-node id (post-pairing "did my node move on the LAN" re-discovery).
11
- */
12
- export interface NodeDiscoveryCandidate {
1
+ export type NodeDiscoveryCandidate = {
13
2
  readonly address: string;
14
3
  readonly id: string;
15
4
  readonly path: "lan-direct";
16
- }
17
- export type NodeDiscoveryResult = {
5
+ };
6
+ export type NodeDiscoveryResult = any | {
18
7
  readonly status: "verified";
19
8
  readonly candidate: NodeDiscoveryCandidate;
20
9
  } | {
@@ -23,7 +12,7 @@ export type NodeDiscoveryResult = {
23
12
  } | {
24
13
  readonly status: "unreachable-or-untrusted";
25
14
  };
26
- export interface NodeAddressDiscoverer {
15
+ export type NodeAddressDiscoverer = {
27
16
  discover(rawAddress: string): Promise<NodeDiscoveryResult>;
28
- }
17
+ };
29
18
  //# sourceMappingURL=node-discovery.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"node-discovery.d.ts","sourceRoot":"","sources":["../../src/network/node-discovery.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,MAAM,WAAW,sBAAsB;IACrC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,IAAI,EAAE,YAAY,CAAC;CAC7B;AAED,MAAM,MAAM,mBAAmB,GAC3B;IAAE,QAAQ,CAAC,MAAM,EAAE,UAAU,CAAC;IAAC,QAAQ,CAAC,SAAS,EAAE,sBAAsB,CAAA;CAAE,GAC3E;IAAE,QAAQ,CAAC,MAAM,EAAE,qBAAqB,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GACnE;IAAE,QAAQ,CAAC,MAAM,EAAE,0BAA0B,CAAA;CAAE,CAAC;AAEpD,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAAC;CAC5D"}
1
+ {"version":3,"file":"node-discovery.d.ts","sourceRoot":"","sources":["../../src/network/node-discovery.js"],"names":[],"mappings":"qCAEc;IAAE,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,IAAI,EAAE,YAAY,CAAA;CAAE;kCAG3F,GAAC,GAAK;IAAE,QAAQ,CAAC,MAAM,EAAE,UAAU,CAAC;IAAC,QAAQ,CAAC,SAAS,EAAE,sBAAsB,CAAA;CAAE,GAC3E;IAAE,QAAQ,CAAC,MAAM,EAAE,qBAAqB,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GACnE;IAAE,QAAQ,CAAC,MAAM,EAAE,0BAA0B,CAAA;CAAE;oCAGxC;IAAE,QAAQ,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAAA;CAAE"}