@econ-v1/ports 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/app-data.d.ts +39 -0
- package/dist/app-data.d.ts.map +1 -0
- package/dist/client-ui-preference.d.ts +23 -0
- package/dist/client-ui-preference.d.ts.map +1 -0
- package/dist/clipboard.d.ts +41 -0
- package/dist/clipboard.d.ts.map +1 -0
- package/dist/clock.d.ts +8 -8
- package/dist/clock.d.ts.map +1 -1
- package/dist/credential-handoff.d.ts +57 -0
- package/dist/credential-handoff.d.ts.map +1 -0
- package/dist/crypto.d.ts +4 -4
- package/dist/crypto.d.ts.map +1 -1
- package/dist/id.d.ts +2 -2
- package/dist/id.d.ts.map +1 -1
- package/dist/identity.d.ts +31 -25
- package/dist/identity.d.ts.map +1 -1
- package/dist/index.d.ts +226 -30
- package/dist/index.d.ts.map +1 -1
- package/dist/install-environment.d.ts +22 -32
- package/dist/install-environment.d.ts.map +1 -1
- package/dist/lcd-tree-source.d.ts +54 -0
- package/dist/lcd-tree-source.d.ts.map +1 -0
- package/dist/legacy-credential.d.ts +30 -0
- package/dist/legacy-credential.d.ts.map +1 -0
- package/dist/media-preferences.d.ts +2 -44
- package/dist/media-preferences.d.ts.map +1 -1
- package/dist/network/certificate-trust.d.ts +31 -0
- package/dist/network/certificate-trust.d.ts.map +1 -0
- package/dist/network/client-node-origin.d.ts +3 -15
- package/dist/network/client-node-origin.d.ts.map +1 -1
- package/dist/network/home-node-candidate-store.d.ts +4 -32
- package/dist/network/home-node-candidate-store.d.ts.map +1 -1
- package/dist/network/home-node-candidate.d.ts +9 -7
- package/dist/network/home-node-candidate.d.ts.map +1 -1
- package/dist/network/l402-payment.d.ts +11 -28
- package/dist/network/l402-payment.d.ts.map +1 -1
- package/dist/network/node-discovery.d.ts +5 -16
- package/dist/network/node-discovery.d.ts.map +1 -1
- package/dist/network/webrtc-signaling.d.ts +36 -52
- package/dist/network/webrtc-signaling.d.ts.map +1 -1
- package/dist/network.d.ts +65 -40
- package/dist/network.d.ts.map +1 -1
- package/dist/offline-readiness.d.ts +122 -0
- package/dist/offline-readiness.d.ts.map +1 -0
- package/dist/onboarding-access-code.d.ts +30 -0
- package/dist/onboarding-access-code.d.ts.map +1 -0
- package/dist/onboarding-checkpoint.d.ts +26 -0
- package/dist/onboarding-checkpoint.d.ts.map +1 -0
- package/dist/onboarding-presence.d.ts +12 -0
- package/dist/onboarding-presence.d.ts.map +1 -0
- package/dist/owner-claim-session.d.ts +60 -0
- package/dist/owner-claim-session.d.ts.map +1 -0
- package/dist/owner-claim.d.ts +22 -0
- package/dist/owner-claim.d.ts.map +1 -0
- package/dist/repositories/conversation-repository.d.ts +21 -20
- package/dist/repositories/conversation-repository.d.ts.map +1 -1
- package/dist/repositories/durable-event.d.ts +8 -8
- package/dist/repositories/durable-event.d.ts.map +1 -1
- package/dist/repositories/node-app-memory-repository.d.ts +168 -0
- package/dist/repositories/node-app-memory-repository.d.ts.map +1 -0
- package/dist/repositories/outbox.d.ts +33 -20
- package/dist/repositories/outbox.d.ts.map +1 -1
- package/dist/repositories/repository-mutation.d.ts +3 -1
- package/dist/repositories/repository-mutation.d.ts.map +1 -1
- package/dist/repositories/revisioned-repository.d.ts +14 -12
- package/dist/repositories/revisioned-repository.d.ts.map +1 -1
- package/dist/repositories/settings.d.ts +10 -10
- package/dist/repositories/settings.d.ts.map +1 -1
- package/dist/repositories/sync-ledger.d.ts +11 -11
- package/dist/repositories/sync-ledger.d.ts.map +1 -1
- package/dist/repositories/wallet-mirror-repository.d.ts +22 -13
- package/dist/repositories/wallet-mirror-repository.d.ts.map +1 -1
- package/dist/repositories.d.ts +52 -17
- package/dist/repositories.d.ts.map +1 -1
- package/dist/scheduler.d.ts +4 -4
- package/dist/scheduler.d.ts.map +1 -1
- package/dist/session-flag.d.ts +48 -0
- package/dist/session-flag.d.ts.map +1 -0
- package/dist/shell-cache-reset.d.ts +4 -0
- package/dist/shell-cache-reset.d.ts.map +1 -0
- package/dist/shell-version.d.ts +8 -0
- package/dist/shell-version.d.ts.map +1 -0
- package/dist/storage.d.ts +76 -34
- package/dist/storage.d.ts.map +1 -1
- package/dist/theme.d.ts +2 -24
- package/dist/theme.d.ts.map +1 -1
- package/package.json +14 -10
- package/src/app-data.js +42 -0
- package/src/client-ui-preference.js +23 -0
- package/src/clipboard.js +41 -0
- package/src/clock.js +13 -0
- package/src/credential-handoff.js +68 -0
- package/src/crypto.js +9 -0
- package/src/id.js +5 -0
- package/src/identity.js +33 -0
- package/src/index.js +250 -0
- package/src/install-environment.js +44 -0
- package/src/lcd-tree-source.js +56 -0
- package/src/legacy-credential.js +30 -0
- package/src/media-preferences.js +40 -0
- package/src/network/certificate-trust.js +25 -0
- package/src/network/client-node-origin.js +7 -0
- package/src/network/home-node-candidate-store.js +6 -0
- package/src/network/home-node-candidate.js +9 -0
- package/src/network/l402-payment.js +20 -0
- package/src/network/node-discovery.js +13 -0
- package/src/network/webrtc-signaling.js +40 -0
- package/src/network.js +33 -0
- package/src/offline-readiness.js +65 -0
- package/src/onboarding-access-code.js +21 -0
- package/src/onboarding-checkpoint.js +26 -0
- package/src/onboarding-presence.js +15 -0
- package/src/owner-claim-session.js +55 -0
- package/src/owner-claim.js +22 -0
- package/src/repositories/conversation-repository.js +20 -0
- package/src/repositories/durable-event.js +8 -0
- package/src/repositories/node-app-memory-repository.js +221 -0
- package/src/repositories/outbox.js +27 -0
- package/src/repositories/repository-mutation.js +8 -0
- package/src/repositories/revisioned-repository.js +17 -0
- package/src/repositories/settings.js +10 -0
- package/src/repositories/sync-ledger.js +11 -0
- package/src/repositories/wallet-mirror-repository.js +73 -0
- package/src/repositories.js +22 -0
- package/src/scheduler.js +6 -0
- package/src/session-flag.js +48 -0
- package/src/shell-cache-reset.js +3 -0
- package/src/shell-version.js +4 -0
- package/src/storage.js +60 -0
- package/src/theme.js +21 -0
- package/dist/clock.js +0 -2
- package/dist/clock.js.map +0 -1
- package/dist/crypto.js +0 -2
- package/dist/crypto.js.map +0 -1
- package/dist/id.js +0 -2
- package/dist/id.js.map +0 -1
- package/dist/identity.js +0 -2
- package/dist/identity.js.map +0 -1
- package/dist/index.js +0 -9
- package/dist/index.js.map +0 -1
- package/dist/install-environment.js +0 -26
- package/dist/install-environment.js.map +0 -1
- package/dist/media-preferences.js +0 -2
- package/dist/media-preferences.js.map +0 -1
- package/dist/network/client-node-origin.js +0 -18
- package/dist/network/client-node-origin.js.map +0 -1
- package/dist/network/home-node-candidate-store.js +0 -2
- package/dist/network/home-node-candidate-store.js.map +0 -1
- package/dist/network/home-node-candidate.js +0 -2
- package/dist/network/home-node-candidate.js.map +0 -1
- package/dist/network/l402-payment.js +0 -2
- package/dist/network/l402-payment.js.map +0 -1
- package/dist/network/node-discovery.js +0 -13
- package/dist/network/node-discovery.js.map +0 -1
- package/dist/network/webrtc-signaling.js +0 -30
- package/dist/network/webrtc-signaling.js.map +0 -1
- package/dist/network.js +0 -2
- package/dist/network.js.map +0 -1
- package/dist/repositories/conversation-repository.js +0 -2
- package/dist/repositories/conversation-repository.js.map +0 -1
- package/dist/repositories/durable-event.js +0 -2
- package/dist/repositories/durable-event.js.map +0 -1
- package/dist/repositories/outbox.js +0 -9
- package/dist/repositories/outbox.js.map +0 -1
- package/dist/repositories/repository-mutation.js +0 -2
- package/dist/repositories/repository-mutation.js.map +0 -1
- package/dist/repositories/revisioned-repository.js +0 -2
- package/dist/repositories/revisioned-repository.js.map +0 -1
- package/dist/repositories/settings.js +0 -2
- package/dist/repositories/settings.js.map +0 -1
- package/dist/repositories/sync-ledger.js +0 -2
- package/dist/repositories/sync-ledger.js.map +0 -1
- package/dist/repositories/wallet-mirror-repository.js +0 -53
- package/dist/repositories/wallet-mirror-repository.js.map +0 -1
- package/dist/repositories.js +0 -2
- package/dist/repositories.js.map +0 -1
- package/dist/scheduler.js +0 -2
- package/dist/scheduler.js.map +0 -1
- package/dist/storage.js +0 -14
- package/dist/storage.js.map +0 -1
- package/dist/theme.js +0 -2
- package/dist/theme.js.map +0 -1
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.js"],"names":[],"mappings":"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"}
|
|
@@ -1,42 +1,32 @@
|
|
|
1
|
-
/**
|
|
2
|
-
|
|
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
|
-
*
|
|
15
|
+
* A no-op install environment for SSR, tests, and platforms without browser install support.
|
|
5
16
|
*
|
|
6
|
-
*
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
*
|
|
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
|
|
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.
|
|
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.
|
|
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
|
|
3
|
-
*
|
|
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
|
|
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.
|
|
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.
|
|
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
|
-
|
|
2
|
-
export
|
|
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:
|
|
6
|
-
}
|
|
7
|
-
export
|
|
8
|
-
dial(candidate: HomeNodeCandidate, signal:
|
|
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.
|
|
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
|
|
3
|
-
* `
|
|
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
|
|
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
|
-
|
|
17
|
-
export interface L402PaymentResult {
|
|
10
|
+
};
|
|
11
|
+
export type L402PaymentResult = {
|
|
18
12
|
readonly preimage: string;
|
|
19
|
-
}
|
|
13
|
+
};
|
|
20
14
|
/**
|
|
21
|
-
* Pluggable port the kernel
|
|
22
|
-
* challenge surfaced by a
|
|
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
|
|
36
|
-
pay(challenge: L402PaymentChallenge)
|
|
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.
|
|
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
|
|
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.
|
|
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"}
|