@econ-v1/ports 7.6.110 → 7.6.112
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/index.d.ts +4 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/live-session-lock.d.ts +16 -0
- package/dist/live-session-lock.d.ts.map +1 -0
- package/dist/network.d.ts +52 -0
- package/dist/network.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/index.js +4 -0
- package/src/live-session-lock.js +43 -0
- package/src/network.js +19 -1
package/dist/index.d.ts
CHANGED
|
@@ -40,6 +40,8 @@ export type KeyCustodyMode = import("./identity.js").KeyCustodyMode;
|
|
|
40
40
|
export type KeyInspectionFailure = import("./identity.js").KeyInspectionFailure;
|
|
41
41
|
export type InstallEnvironmentPort = import("./install-environment.js").InstallEnvironmentPort;
|
|
42
42
|
export type InstallInstructionMode = import("./install-environment.js").InstallInstructionMode;
|
|
43
|
+
export type LiveSessionLock = import("./live-session-lock.js").LiveSessionLock;
|
|
44
|
+
export type LockResult = import("./live-session-lock.js").LockResult;
|
|
43
45
|
export type DeltaRequest = import("./network.js").DeltaRequest;
|
|
44
46
|
export type AppEventEnvelope = import("./network.js").AppEventEnvelope;
|
|
45
47
|
export type AppEventSubscribeOptions = import("./network.js").AppEventSubscribeOptions;
|
|
@@ -53,6 +55,8 @@ export type HttpHomeNodeCandidate = import("./network.js").HttpHomeNodeCandidate
|
|
|
53
55
|
export type HttpTransportPath = import("./network.js").HttpTransportPath;
|
|
54
56
|
export type HomeNodeRequest = import("./network.js").HomeNodeRequest;
|
|
55
57
|
export type PeerTransportPort = import("./network.js").PeerTransportPort;
|
|
58
|
+
export type SessionLeaseChannel = import("./network.js").SessionLeaseChannel;
|
|
59
|
+
export type SessionLeaseFrame = import("./network.js").SessionLeaseFrame;
|
|
56
60
|
export type TransportOfflineReason = import("./network.js").TransportOfflineReason;
|
|
57
61
|
export type TransportPath = import("./network.js").TransportPath;
|
|
58
62
|
export type TransportState = import("./network.js").TransportState;
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.js"],"names":[],"mappings":";;;;;;;;;;;wBAEc,OAAO,YAAY,EAAE,SAAS;wBAC9B,OAAO,YAAY,EAAE,SAAS;wBAC9B,OAAO,YAAY,EAAE,SAAS;iCAC9B,OAAO,eAAe,EAAE,kBAAkB;sCAC1C,OAAO,eAAe,EAAE,uBAAuB;iCAC/C,OAAO,eAAe,EAAE,kBAAkB;qCAC1C,OAAO,eAAe,EAAE,sBAAsB;gCAC9C,OAAO,eAAe,EAAE,iBAAiB;6BACzC,OAAO,2BAA2B,EAAE,cAAc;qCAClD,OAAO,2BAA2B,EAAE,sBAAsB;4BAC1D,OAAO,gBAAgB,EAAE,aAAa;kDACtC,OAAO,yBAAyB,EAAE,mCAAmC;0CACrE,OAAO,yBAAyB,EAAE,2BAA2B;uCAC7D,OAAO,yBAAyB,EAAE,wBAAwB;kDAC1D,OAAO,yBAAyB,EAAE,mCAAmC;0CACrE,OAAO,yBAAyB,EAAE,2BAA2B;oCAC7D,OAAO,yBAAyB,EAAE,qBAAqB;yBACvD,OAAO,aAAa,EAAE,UAAU;qBAChC,OAAO,SAAS,EAAE,MAAM;uCACxB,OAAO,eAAe,EAAE,wBAAwB;+BAChD,OAAO,eAAe,EAAE,gBAAgB;6BACxC,OAAO,eAAe,EAAE,cAAc;8BACtC,OAAO,eAAe,EAAE,eAAe;mCACvC,OAAO,eAAe,EAAE,oBAAoB;kCAC5C,OAAO,eAAe,EAAE,mBAAmB;gCAC3C,OAAO,eAAe,EAAE,iBAAiB;2BACzC,OAAO,eAAe,EAAE,YAAY;6BACpC,OAAO,eAAe,EAAE,cAAc;mCACtC,OAAO,eAAe,EAAE,oBAAoB;qCAC5C,OAAO,0BAA0B,EAAE,sBAAsB;qCACzD,OAAO,0BAA0B,EAAE,sBAAsB;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.js"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
export type LiveSessionLock = {
|
|
2
|
+
readonly supported: boolean;
|
|
3
|
+
readonly held: boolean;
|
|
4
|
+
tryAcquire(): Promise<LockResult>;
|
|
5
|
+
claim(): Promise<LockResult>;
|
|
6
|
+
release(): void;
|
|
7
|
+
onTakeoverRequested(handler: () => void): () => void;
|
|
8
|
+
onRefusal?(handler: (result: LockResult) => void): () => void;
|
|
9
|
+
};
|
|
10
|
+
export type LockResult = {
|
|
11
|
+
readonly ok: boolean;
|
|
12
|
+
readonly state?: "standby" | "displaced" | "unresponsive";
|
|
13
|
+
readonly tier: "tab" | "device";
|
|
14
|
+
readonly holderDeviceId?: string;
|
|
15
|
+
};
|
|
16
|
+
//# sourceMappingURL=live-session-lock.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"live-session-lock.d.ts","sourceRoot":"","sources":["../src/live-session-lock.js"],"names":[],"mappings":"8BAiBc;IACb,QAAY,CAAC,SAAS,EAAE,OAAO,CAAC;IAChC,QAAY,CAAC,IAAI,EAAE,OAAO,CAAC;IACvB,UAAU,IAAI,OAAO,CAAC,UAAU,CAAC,CAAC;IAClC,KAAK,IAAI,OAAO,CAAC,UAAU,CAAC,CAAC;IAC7B,OAAO,IAAI,IAAI,CAAC;IAChB,mBAAmB,CAAC,OAAO,EAAE,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC;IACrD,SAAS,CAAC,CAAC,OAAO,EAAE,CAAC,MAAM,EAAE,UAAU,KAAK,IAAI,GAAG,MAAM,IAAI,CAAC;CAC/D;yBAUU;IACb,QAAY,CAAC,EAAE,EAAE,OAAO,CAAC;IACzB,QAAY,CAAC,KAAK,CAAC,EAAE,SAAS,GAAG,WAAW,GAAG,cAAc,CAAC;IAC9D,QAAY,CAAC,IAAI,EAAE,KAAK,GAAG,QAAQ,CAAC;IACpC,QAAY,CAAC,cAAc,CAAC,EAAE,MAAM,CAAC;CAClC"}
|
package/dist/network.d.ts
CHANGED
|
@@ -30,6 +30,24 @@
|
|
|
30
30
|
* @typedef {{ readonly headers?: Readonly<Record<string, string>>, readonly onProgress?: () => void, readonly operation: string, readonly payload: unknown, readonly responseType?: "blob" | "json" }} HomeNodeRequest */
|
|
31
31
|
/** @typedef {{ readonly cursor?: string, readonly domain: string }} DeltaRequest */
|
|
32
32
|
/** @typedef {{ readonly aborted: boolean }} CancellationSignal */
|
|
33
|
+
/** A session-lease event a `SessionLeaseChannel` subscriber receives.
|
|
34
|
+
* @typedef {{ readonly type: "state", readonly you: "holder" | "standby" | "displaced", readonly holderDeviceId?: string } | { readonly type: "yield", readonly byDeviceId: string } | { readonly type: "supported", readonly supported: boolean } | { readonly type: "disconnected" }} SessionLeaseFrame */
|
|
35
|
+
/**
|
|
36
|
+
* The device-lease channel a `HomeNodeClient` may offer (ADR-235). It talks
|
|
37
|
+
* to the node over the client's WebSocket — claim/release/heartbeat send
|
|
38
|
+
* `session_lease.*` frames, and `subscribe` receives the node's
|
|
39
|
+
* `session_lease.state` / `session_lease.yield` frames plus the client-side
|
|
40
|
+
* `supported` and `disconnected` signals. `supported` is true only after the
|
|
41
|
+
* current socket's `server_features` listed `session_lease`. A client with no
|
|
42
|
+
* live WebSocket (a WebTransport or pre-pairing client) leaves `sessionLease`
|
|
43
|
+
* undefined on the `HomeNodeClient`.
|
|
44
|
+
* @typedef {{
|
|
45
|
+
* readonly supported: boolean;
|
|
46
|
+
* claim(mode: "try" | "takeover" | "resume"): boolean;
|
|
47
|
+
* release(): boolean;
|
|
48
|
+
* heartbeat(): boolean;
|
|
49
|
+
* subscribe(listener: (frame: SessionLeaseFrame) => void): () => void;
|
|
50
|
+
* }} SessionLeaseChannel */
|
|
33
51
|
export const CAPABILITY_INVOKE_OPERATION: "POST /api/v2/system/capabilities/invoke";
|
|
34
52
|
export type HomeNodeCandidate = import("./network/home-node-candidate.js").HomeNodeCandidate;
|
|
35
53
|
export type RepositoryJsonValue = import("./repositories/repository-mutation.js").RepositoryJsonValue;
|
|
@@ -175,6 +193,39 @@ export type DeltaRequest = {
|
|
|
175
193
|
export type CancellationSignal = {
|
|
176
194
|
readonly aborted: boolean;
|
|
177
195
|
};
|
|
196
|
+
/**
|
|
197
|
+
* A session-lease event a `SessionLeaseChannel` subscriber receives.
|
|
198
|
+
*/
|
|
199
|
+
export type SessionLeaseFrame = {
|
|
200
|
+
readonly type: "state";
|
|
201
|
+
readonly you: "holder" | "standby" | "displaced";
|
|
202
|
+
readonly holderDeviceId?: string;
|
|
203
|
+
} | {
|
|
204
|
+
readonly type: "yield";
|
|
205
|
+
readonly byDeviceId: string;
|
|
206
|
+
} | {
|
|
207
|
+
readonly type: "supported";
|
|
208
|
+
readonly supported: boolean;
|
|
209
|
+
} | {
|
|
210
|
+
readonly type: "disconnected";
|
|
211
|
+
};
|
|
212
|
+
/**
|
|
213
|
+
* The device-lease channel a `HomeNodeClient` may offer (ADR-235). It talks
|
|
214
|
+
* to the node over the client's WebSocket — claim/release/heartbeat send
|
|
215
|
+
* `session_lease.*` frames, and `subscribe` receives the node's
|
|
216
|
+
* `session_lease.state` / `session_lease.yield` frames plus the client-side
|
|
217
|
+
* `supported` and `disconnected` signals. `supported` is true only after the
|
|
218
|
+
* current socket's `server_features` listed `session_lease`. A client with no
|
|
219
|
+
* live WebSocket (a WebTransport or pre-pairing client) leaves `sessionLease`
|
|
220
|
+
* undefined on the `HomeNodeClient`.
|
|
221
|
+
*/
|
|
222
|
+
export type SessionLeaseChannel = {
|
|
223
|
+
readonly supported: boolean;
|
|
224
|
+
claim(mode: "try" | "takeover" | "resume"): boolean;
|
|
225
|
+
release(): boolean;
|
|
226
|
+
heartbeat(): boolean;
|
|
227
|
+
subscribe(listener: (frame: SessionLeaseFrame) => void): () => void;
|
|
228
|
+
};
|
|
178
229
|
export type AppEventEnvelope = {
|
|
179
230
|
readonly data: Readonly<Record<string, RepositoryJsonValue>>;
|
|
180
231
|
readonly instance?: string;
|
|
@@ -213,6 +264,7 @@ export type HomeNodeClient = {
|
|
|
213
264
|
fetchShellFile?: (path: string) => Promise<ShellFileResult>;
|
|
214
265
|
deltas: <T>(request: DeltaRequest) => AsyncIterable<T>;
|
|
215
266
|
invoke: <T>(request: HomeNodeRequest) => Promise<T>;
|
|
267
|
+
sessionLease?: SessionLeaseChannel | undefined;
|
|
216
268
|
subscribeAppEvents?: (resource: string, listener: (event: AppEventEnvelope) => void, options?: AppEventSubscribeOptions) => AppEventSubscription;
|
|
217
269
|
readonly state: TransportState;
|
|
218
270
|
};
|
package/dist/network.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"network.d.ts","sourceRoot":"","sources":["../src/network.js"],"names":[],"mappings":"AAEA,gGAAgG;AAChG,yGAAyG;AAEzG,6HAA6H;AAC7H,+DAA+D;AAC/D,sFAAsF;AACtF,wIAAwI;AACxI,kIAAkI;AAClI,qKAAqK;AACrK,+FAA+F;AAC/F,0HAA0H;AAC1H,yFAAyF;AACzF,yNAAyN;AACzN;6MAC6M;AAC7M,gGAAgG;AAChG,yFAAyF;AACzF,0MAA0M;AAC1M,gLAAgL;AAChL,0HAA0H;AAC1H,qKAAqK;AACrK,iMAAiM;AACjM,4JAA4J;AAC5J,2JAA2J;AAC3J,4GAA4G;AAC5G,ioCAAioC;AACjoC;;;;0NAI0N;AAC1N,oFAAoF;AACpF,kEAAkE;
|
|
1
|
+
{"version":3,"file":"network.d.ts","sourceRoot":"","sources":["../src/network.js"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
package/src/index.js
CHANGED
|
@@ -31,6 +31,8 @@
|
|
|
31
31
|
/** @typedef {import("./identity.js").KeyInspectionFailure} KeyInspectionFailure */
|
|
32
32
|
/** @typedef {import("./install-environment.js").InstallEnvironmentPort} InstallEnvironmentPort */
|
|
33
33
|
/** @typedef {import("./install-environment.js").InstallInstructionMode} InstallInstructionMode */
|
|
34
|
+
/** @typedef {import("./live-session-lock.js").LiveSessionLock} LiveSessionLock */
|
|
35
|
+
/** @typedef {import("./live-session-lock.js").LockResult} LockResult */
|
|
34
36
|
/** @typedef {import("./network.js").DeltaRequest} DeltaRequest */
|
|
35
37
|
/** @typedef {import("./network.js").AppEventEnvelope} AppEventEnvelope */
|
|
36
38
|
/** @typedef {import("./network.js").AppEventSubscribeOptions} AppEventSubscribeOptions */
|
|
@@ -44,6 +46,8 @@
|
|
|
44
46
|
/** @typedef {import("./network.js").HttpTransportPath} HttpTransportPath */
|
|
45
47
|
/** @typedef {import("./network.js").HomeNodeRequest} HomeNodeRequest */
|
|
46
48
|
/** @typedef {import("./network.js").PeerTransportPort} PeerTransportPort */
|
|
49
|
+
/** @typedef {import("./network.js").SessionLeaseChannel} SessionLeaseChannel */
|
|
50
|
+
/** @typedef {import("./network.js").SessionLeaseFrame} SessionLeaseFrame */
|
|
47
51
|
/** @typedef {import("./network.js").TransportOfflineReason} TransportOfflineReason */
|
|
48
52
|
/** @typedef {import("./network.js").TransportPath} TransportPath */
|
|
49
53
|
/** @typedef {import("./network.js").TransportState} TransportState */
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
// @ts-check
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* The lock-ladder device-session port (ADR-235, Task 3).
|
|
5
|
+
*
|
|
6
|
+
* A `LiveSessionLock` is one rung in the boot lock ladder. The engine checks
|
|
7
|
+
* locks in order (tab first, then device) and stops at the first refusal.
|
|
8
|
+
* `tier: "device"` locks (the node device lease) report whether the node
|
|
9
|
+
* serves the `session_lease` feature via `supported`; a lock that reports
|
|
10
|
+
* `supported: false` counts as acquired so an old node leaves today's
|
|
11
|
+
* tab-only behaviour untouched.
|
|
12
|
+
*
|
|
13
|
+
* `onRefusal` (ADR-235) reports a lease refused OUTSIDE an acquire: a device
|
|
14
|
+
* lock that resolved as acquired via the unsupported fallback, or one that is
|
|
15
|
+
* otherwise active without holding, later learns the node gave the lease to
|
|
16
|
+
* another device. The ladder routes it to its `onDeferredRefusal` callbacks.
|
|
17
|
+
*/
|
|
18
|
+
/** @typedef {{
|
|
19
|
+
* readonly supported: boolean;
|
|
20
|
+
* readonly held: boolean;
|
|
21
|
+
* tryAcquire(): Promise<LockResult>;
|
|
22
|
+
* claim(): Promise<LockResult>;
|
|
23
|
+
* release(): void;
|
|
24
|
+
* onTakeoverRequested(handler: () => void): () => void;
|
|
25
|
+
* onRefusal?(handler: (result: LockResult) => void): () => void;
|
|
26
|
+
* }} LiveSessionLock */
|
|
27
|
+
|
|
28
|
+
/**
|
|
29
|
+
* The answer a lock returns from `tryAcquire()`/`claim()`.
|
|
30
|
+
* `ok: true` when the lock was acquired. On a refusal, `state` names which
|
|
31
|
+
* pause screen to show (`"unresponsive"` is the tab lock's own state; the
|
|
32
|
+
* device lease has no unresponsive state — the node always decides within its
|
|
33
|
+
* yield window) and `tier` names which lock refused. `holderDeviceId`
|
|
34
|
+
* identifies the device holding a refused lease, when the node told us.
|
|
35
|
+
*/
|
|
36
|
+
/** @typedef {{
|
|
37
|
+
* readonly ok: boolean;
|
|
38
|
+
* readonly state?: "standby" | "displaced" | "unresponsive";
|
|
39
|
+
* readonly tier: "tab" | "device";
|
|
40
|
+
* readonly holderDeviceId?: string;
|
|
41
|
+
* }} LockResult */
|
|
42
|
+
|
|
43
|
+
export {};
|
package/src/network.js
CHANGED
|
@@ -33,6 +33,24 @@
|
|
|
33
33
|
* @typedef {{ readonly headers?: Readonly<Record<string, string>>, readonly onProgress?: () => void, readonly operation: string, readonly payload: unknown, readonly responseType?: "blob" | "json" }} HomeNodeRequest */
|
|
34
34
|
/** @typedef {{ readonly cursor?: string, readonly domain: string }} DeltaRequest */
|
|
35
35
|
/** @typedef {{ readonly aborted: boolean }} CancellationSignal */
|
|
36
|
+
/** A session-lease event a `SessionLeaseChannel` subscriber receives.
|
|
37
|
+
* @typedef {{ readonly type: "state", readonly you: "holder" | "standby" | "displaced", readonly holderDeviceId?: string } | { readonly type: "yield", readonly byDeviceId: string } | { readonly type: "supported", readonly supported: boolean } | { readonly type: "disconnected" }} SessionLeaseFrame */
|
|
38
|
+
/**
|
|
39
|
+
* The device-lease channel a `HomeNodeClient` may offer (ADR-235). It talks
|
|
40
|
+
* to the node over the client's WebSocket — claim/release/heartbeat send
|
|
41
|
+
* `session_lease.*` frames, and `subscribe` receives the node's
|
|
42
|
+
* `session_lease.state` / `session_lease.yield` frames plus the client-side
|
|
43
|
+
* `supported` and `disconnected` signals. `supported` is true only after the
|
|
44
|
+
* current socket's `server_features` listed `session_lease`. A client with no
|
|
45
|
+
* live WebSocket (a WebTransport or pre-pairing client) leaves `sessionLease`
|
|
46
|
+
* undefined on the `HomeNodeClient`.
|
|
47
|
+
* @typedef {{
|
|
48
|
+
* readonly supported: boolean;
|
|
49
|
+
* claim(mode: "try" | "takeover" | "resume"): boolean;
|
|
50
|
+
* release(): boolean;
|
|
51
|
+
* heartbeat(): boolean;
|
|
52
|
+
* subscribe(listener: (frame: SessionLeaseFrame) => void): () => void;
|
|
53
|
+
* }} SessionLeaseChannel */
|
|
36
54
|
|
|
37
55
|
export const CAPABILITY_INVOKE_OPERATION = "POST /api/v2/system/capabilities/invoke";
|
|
38
56
|
|
|
@@ -52,7 +70,7 @@ export const CAPABILITY_INVOKE_OPERATION = "POST /api/v2/system/capabilities/inv
|
|
|
52
70
|
/** @typedef {() => void} AppEventSubscription */
|
|
53
71
|
/** Shell bytes are untrusted until the release verifier accepts them.
|
|
54
72
|
* @typedef {{ readonly bytes: Uint8Array, readonly rung: Exclude<TransportPath, "offline"> }} ShellFileResult */
|
|
55
|
-
/** @typedef {{ fetchShellFile?: (path: string) => Promise<ShellFileResult>, deltas: <T>(request: DeltaRequest) => AsyncIterable<T>, invoke: <T>(request: HomeNodeRequest) => Promise<T>, subscribeAppEvents?: (resource: string, listener: (event: AppEventEnvelope) => void, options?: AppEventSubscribeOptions) => AppEventSubscription, readonly state: TransportState }} HomeNodeClient */
|
|
73
|
+
/** @typedef {{ fetchShellFile?: (path: string) => Promise<ShellFileResult>, deltas: <T>(request: DeltaRequest) => AsyncIterable<T>, invoke: <T>(request: HomeNodeRequest) => Promise<T>, sessionLease?: SessionLeaseChannel | undefined, subscribeAppEvents?: (resource: string, listener: (event: AppEventEnvelope) => void, options?: AppEventSubscribeOptions) => AppEventSubscription, readonly state: TransportState }} HomeNodeClient */
|
|
56
74
|
|
|
57
75
|
/**
|
|
58
76
|
* @typedef {object} PeerTransportPort
|