@econ-v1/rpc 7.6.123 → 7.6.124
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
CHANGED
|
@@ -207,6 +207,8 @@ export type RpcTransport = import("./transport.js").RpcTransport;
|
|
|
207
207
|
export type RpcTransportState = import("./transport.js").RpcTransportState;
|
|
208
208
|
export type SessionLeaseQueryResult = import("./session-lease-contract.js").SessionLeaseQueryResult;
|
|
209
209
|
export type SessionLeaseClaimMode = import("./session-lease-contract.js").SessionLeaseClaimMode;
|
|
210
|
+
export type SessionLeaseLimit = import("./session-lease-contract.js").SessionLeaseLimit;
|
|
211
|
+
export type SessionLimitSetCommandPayload = import("./session-lease-contract.js").SessionLimitSetCommandPayload;
|
|
210
212
|
export type ChildState = import("./child-state-contract.js").ChildState;
|
|
211
213
|
export type ChildStateCopy = import("./child-state-contract.js").ChildStateCopy;
|
|
212
214
|
export type ChildAction = import("./child-state-contract.js").ChildAction;
|
|
@@ -245,7 +247,7 @@ export { HOST_CONTEXT_MAX_BYTES, validateHostContextView } from "./host-context-
|
|
|
245
247
|
export { L402_ENFORCEMENT_QUERY, L402_ENFORCEMENT_ROW_ID, L402_ENFORCEMENT_SET_COMMAND } from "./l402-enforcement-contract.js";
|
|
246
248
|
export { isRouteMode, ROUTE_MODES } from "./model-picker-contract.js";
|
|
247
249
|
export { FACTORY_RESET_ARM_COMMAND, FACTORY_RESET_CANCEL_COMMAND, FACTORY_RESET_CHALLENGE_COMMAND, FACTORY_RESET_ROW_ID, FACTORY_RESET_STATUS_QUERY } from "./factory-reset-contract.js";
|
|
248
|
-
export { SESSION_LEASE_CLAIM_COMMAND, SESSION_LEASE_QUERY, SESSION_LEASE_RELEASE_COMMAND, parseSessionLeaseClaimMode } from "./session-lease-contract.js";
|
|
250
|
+
export { SESSION_LEASE_CLAIM_COMMAND, SESSION_LEASE_QUERY, SESSION_LEASE_RELEASE_COMMAND, SESSION_LIMIT_QUERY, SESSION_LIMIT_SET_COMMAND, parseSessionLeaseClaimMode, parseSessionLimitSetPayload } from "./session-lease-contract.js";
|
|
249
251
|
export { PEER_INTENTS, PEERS_ASK_CANCEL_COMMAND, PEERS_COMPOSE_CANCEL_COMMAND, PEERS_COMPOSE_PREPARE_COMMAND, PEERS_COMPOSE_SEND_COMMAND, PEERS_MENTIONABLE_QUERY } from "./peers-contract.js";
|
|
250
252
|
export { CLIENT_DEVICE_PAIRING_STATUS_QUERY, CLIENT_DEVICE_WIRE_ERROR_DELEGATION_REVOKED, CLIENT_DEVICE_WIRE_ERROR_DEVICE_LIMIT_EXCEEDED, CLIENT_DEVICE_WIRE_ERROR_DEVICE_NOT_REGISTERED, CLIENT_DEVICE_WIRE_ERROR_LAST_DEVICE, CLIENT_DEVICE_WIRE_ERROR_LAST_DEVICE_PROTECTED, CLIENT_DEVICE_WIRE_ERROR_NAME_TAKEN, CLIENT_DEVICE_WIRE_ERROR_REVOKED } from "./pairing-status-contract.js";
|
|
251
253
|
export { DEVICE_CLEANUP_CANCEL_COMMAND, DEVICE_CLEANUP_QUERY, DEVICE_CLEANUP_REQUEST_COMMAND, DEVICE_CLEANUP_STATUS_COMMAND } from "./device-cleanup-contract.js";
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.js"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.js"],"names":[],"mappings":"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"}
|
|
@@ -4,9 +4,37 @@
|
|
|
4
4
|
* @returns {SessionLeaseClaimMode}
|
|
5
5
|
*/
|
|
6
6
|
export function parseSessionLeaseClaimMode(value: unknown): SessionLeaseClaimMode;
|
|
7
|
+
/**
|
|
8
|
+
* Parse a `session.limit.set.v1` command payload (fail-closed: throws on invalid shape).
|
|
9
|
+
* Valid shapes: `{count: n}` with n ≥ 1, or `{unlimited: true}`.
|
|
10
|
+
* @param {unknown} value
|
|
11
|
+
* @returns {SessionLeaseLimit}
|
|
12
|
+
*/
|
|
13
|
+
export function parseSessionLimitSetPayload(value: unknown): SessionLeaseLimit;
|
|
7
14
|
export const SESSION_LEASE_QUERY: "session.lease.v1";
|
|
8
15
|
export const SESSION_LEASE_CLAIM_COMMAND: "session.lease.claim.v1";
|
|
9
16
|
export const SESSION_LEASE_RELEASE_COMMAND: "session.lease.release.v1";
|
|
17
|
+
export const SESSION_LIMIT_QUERY: "session.limit.v1";
|
|
18
|
+
export const SESSION_LIMIT_SET_COMMAND: "session.limit.set.v1";
|
|
19
|
+
/**
|
|
20
|
+
* A single holder in the session-lease pool (ADR-235 Amendment 1). `lastActiveAt`
|
|
21
|
+
* is when it was last active, as epoch milliseconds on this device's clock (derived
|
|
22
|
+
* at receipt from the node's relative `idle_ms`), so "N ago" is `now - lastActiveAt`.
|
|
23
|
+
*/
|
|
24
|
+
export type SessionLeaseHolder = {
|
|
25
|
+
readonly deviceId: string;
|
|
26
|
+
readonly deviceName?: string;
|
|
27
|
+
readonly lastActiveAt: number;
|
|
28
|
+
};
|
|
29
|
+
/**
|
|
30
|
+
* The live-session limit on the node (ADR-235 Amendment 1).
|
|
31
|
+
* Either a count (N devices may be live) or unlimited.
|
|
32
|
+
*/
|
|
33
|
+
export type SessionLeaseLimit = {
|
|
34
|
+
readonly count: number;
|
|
35
|
+
} | {
|
|
36
|
+
readonly unlimited: true;
|
|
37
|
+
};
|
|
10
38
|
export type SessionLeaseQueryResult = {
|
|
11
39
|
readonly id: "session-lease";
|
|
12
40
|
readonly supported: boolean;
|
|
@@ -16,6 +44,18 @@ export type SessionLeaseQueryResult = {
|
|
|
16
44
|
readonly holderDeviceName?: string;
|
|
17
45
|
readonly yieldRequestedBy?: string;
|
|
18
46
|
readonly yieldRequestedByName?: string;
|
|
47
|
+
readonly holders?: readonly SessionLeaseHolder[];
|
|
48
|
+
readonly limit?: SessionLeaseLimit;
|
|
19
49
|
};
|
|
20
50
|
export type SessionLeaseClaimMode = "try" | "takeover" | "resume";
|
|
51
|
+
/**
|
|
52
|
+
* Result of `session.limit.v1` query (owner only, ADR-235 Amendment 1).
|
|
53
|
+
* Mirrors `core.session.limit.get`: either a count or unlimited.
|
|
54
|
+
*/
|
|
55
|
+
export type SessionLimitQueryResult = SessionLeaseLimit;
|
|
56
|
+
/**
|
|
57
|
+
* Payload for `session.limit.set.v1` command (owner only, ADR-235 Amendment 1).
|
|
58
|
+
* Same shape as the limit itself: `{count:n}` with n ≥ 1, or `{unlimited:true}`.
|
|
59
|
+
*/
|
|
60
|
+
export type SessionLimitSetCommandPayload = SessionLeaseLimit;
|
|
21
61
|
//# sourceMappingURL=session-lease-contract.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session-lease-contract.d.ts","sourceRoot":"","sources":["../src/session-lease-contract.js"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"session-lease-contract.d.ts","sourceRoot":"","sources":["../src/session-lease-contract.js"],"names":[],"mappings":"AAkFA;;;;GAIG;AACH,kDAHW,OAAO,GACL,qBAAqB,CAKjC;AAOD;;;;;GAKG;AACH,mDAHW,OAAO,GACL,iBAAiB,CAa7B;AAxCD,kCAAyD,kBAAkB,CAAE;AAC7E,0CAAiE,wBAAwB,CAAE;AAC3F,4CAAmE,0BAA0B,CAAE;AAG/F,kCAAyD,kBAAkB,CAAE;AAC7E,wCAA+D,sBAAsB,CAAE;;;;;;iCAzE1E;IAAE,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAA;CAAE;;;;;gCAM1F;IAAE,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GAAG;IAAE,QAAQ,CAAC,SAAS,EAAE,IAAI,CAAA;CAAE;sCA+BxD;IACb,QAAY,CAAC,EAAE,EAAE,eAAe,CAAC;IACjC,QAAY,CAAC,SAAS,EAAE,OAAO,CAAC;IAChC,QAAY,CAAC,KAAK,EAAE,OAAO,CAAC;IAC5B,QAAY,CAAC,GAAG,EAAE,QAAQ,GAAG,SAAS,GAAG,WAAW,GAAG,SAAS,CAAC;IACjE,QAAY,CAAC,cAAc,CAAC,EAAE,MAAM,CAAC;IACrC,QAAY,CAAC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IACvC,QAAY,CAAC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IACvC,QAAY,CAAC,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC3C,QAAY,CAAC,OAAO,CAAC,EAAE,SAAS,kBAAkB,EAAE,CAAC;IACrD,QAAY,CAAC,KAAK,CAAC,EAAE,iBAAiB,CAAC;CACpC;oCAEU,KAAK,GAAG,UAAU,GAAG,QAAQ;;;;;sCAK9B,iBAAiB;;;;;4CAMjB,iBAAiB"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@econ-v1/rpc",
|
|
3
|
-
"version": "7.6.
|
|
3
|
+
"version": "7.6.124",
|
|
4
4
|
"description": "Typed runtime and contracts for Node client stage-to-kernel RPC",
|
|
5
5
|
"license": "MIT OR Apache-2.0",
|
|
6
6
|
"author": "Node contributors",
|
|
@@ -56,7 +56,7 @@
|
|
|
56
56
|
"access": "public"
|
|
57
57
|
},
|
|
58
58
|
"dependencies": {
|
|
59
|
-
"@econ-v1/domain": "7.6.
|
|
60
|
-
"@econ-v1/ports": "7.6.
|
|
59
|
+
"@econ-v1/domain": "7.6.124",
|
|
60
|
+
"@econ-v1/ports": "7.6.124"
|
|
61
61
|
}
|
|
62
62
|
}
|
package/src/index.js
CHANGED
|
@@ -233,9 +233,19 @@ export {
|
|
|
233
233
|
FACTORY_RESET_STATUS_QUERY,
|
|
234
234
|
} from "./factory-reset-contract.js";
|
|
235
235
|
export { DEVICE_BOOT_STATE_QUERY } from "./device-boot-contract.js";
|
|
236
|
-
export {
|
|
236
|
+
export {
|
|
237
|
+
SESSION_LEASE_CLAIM_COMMAND,
|
|
238
|
+
SESSION_LEASE_QUERY,
|
|
239
|
+
SESSION_LEASE_RELEASE_COMMAND,
|
|
240
|
+
SESSION_LIMIT_QUERY,
|
|
241
|
+
SESSION_LIMIT_SET_COMMAND,
|
|
242
|
+
parseSessionLeaseClaimMode,
|
|
243
|
+
parseSessionLimitSetPayload,
|
|
244
|
+
} from "./session-lease-contract.js";
|
|
237
245
|
/** @typedef {import("./session-lease-contract.js").SessionLeaseQueryResult} SessionLeaseQueryResult */
|
|
238
246
|
/** @typedef {import("./session-lease-contract.js").SessionLeaseClaimMode} SessionLeaseClaimMode */
|
|
247
|
+
/** @typedef {import("./session-lease-contract.js").SessionLeaseLimit} SessionLeaseLimit */
|
|
248
|
+
/** @typedef {import("./session-lease-contract.js").SessionLimitSetCommandPayload} SessionLimitSetCommandPayload */
|
|
239
249
|
export { CLIENT_DEVICE_PENDING_QUERY } from "./client-device-pending-contract.js";
|
|
240
250
|
export {
|
|
241
251
|
PEER_INTENTS,
|
|
@@ -1,4 +1,18 @@
|
|
|
1
1
|
// @ts-check
|
|
2
|
+
import { DomainError } from "@econ-v1/domain";
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
* A single holder in the session-lease pool (ADR-235 Amendment 1). `lastActiveAt`
|
|
6
|
+
* is when it was last active, as epoch milliseconds on this device's clock (derived
|
|
7
|
+
* at receipt from the node's relative `idle_ms`), so "N ago" is `now - lastActiveAt`.
|
|
8
|
+
* @typedef {{ readonly deviceId: string, readonly deviceName?: string, readonly lastActiveAt: number }} SessionLeaseHolder
|
|
9
|
+
*/
|
|
10
|
+
|
|
11
|
+
/**
|
|
12
|
+
* The live-session limit on the node (ADR-235 Amendment 1).
|
|
13
|
+
* Either a count (N devices may be live) or unlimited.
|
|
14
|
+
* @typedef {{ readonly count: number } | { readonly unlimited: true }} SessionLeaseLimit
|
|
15
|
+
*/
|
|
2
16
|
|
|
3
17
|
/**
|
|
4
18
|
* The device live-session lease contract (ADR-235, Task 4).
|
|
@@ -13,6 +27,12 @@
|
|
|
13
27
|
* `session.lease.release.v1` command. The names let the pause screen show
|
|
14
28
|
* who holds or asked for the lease without querying the presence roster.
|
|
15
29
|
*
|
|
30
|
+
* `holders[]` and `limit` are added in ADR-235 Amendment 1 (live-session pool):
|
|
31
|
+
* - `holders` lists every current holder of the live-session pool when the
|
|
32
|
+
* node sends it; old nodes omit it entirely (`undefined`, not `[]`).
|
|
33
|
+
* - `limit` is the node's configured live-session limit: either a count
|
|
34
|
+
* (`{count:n}`) or unlimited (`{unlimited:true}`); old nodes omit it.
|
|
35
|
+
*
|
|
16
36
|
* `supported` is tri-state through `known`. `known` is true only once the
|
|
17
37
|
* CURRENT socket's `server_features` were seen (a `supported` frame for the
|
|
18
38
|
* current channel), or a channel is present whose support was so
|
|
@@ -31,15 +51,35 @@
|
|
|
31
51
|
* readonly holderDeviceName?: string;
|
|
32
52
|
* readonly yieldRequestedBy?: string;
|
|
33
53
|
* readonly yieldRequestedByName?: string;
|
|
54
|
+
* readonly holders?: readonly SessionLeaseHolder[];
|
|
55
|
+
* readonly limit?: SessionLeaseLimit;
|
|
34
56
|
* }} SessionLeaseQueryResult */
|
|
35
57
|
|
|
36
58
|
/** @typedef {"try" | "takeover" | "resume"} SessionLeaseClaimMode */
|
|
37
59
|
|
|
60
|
+
/**
|
|
61
|
+
* Result of `session.limit.v1` query (owner only, ADR-235 Amendment 1).
|
|
62
|
+
* Mirrors `core.session.limit.get`: either a count or unlimited.
|
|
63
|
+
* @typedef {SessionLeaseLimit} SessionLimitQueryResult
|
|
64
|
+
*/
|
|
65
|
+
|
|
66
|
+
/**
|
|
67
|
+
* Payload for `session.limit.set.v1` command (owner only, ADR-235 Amendment 1).
|
|
68
|
+
* Same shape as the limit itself: `{count:n}` with n ≥ 1, or `{unlimited:true}`.
|
|
69
|
+
* @typedef {SessionLeaseLimit} SessionLimitSetCommandPayload
|
|
70
|
+
*/
|
|
71
|
+
|
|
38
72
|
export {};
|
|
39
73
|
|
|
74
|
+
// Session lease (existing)
|
|
40
75
|
export const SESSION_LEASE_QUERY = /** @type {const} */ ("session.lease.v1");
|
|
41
76
|
export const SESSION_LEASE_CLAIM_COMMAND = /** @type {const} */ ("session.lease.claim.v1");
|
|
42
77
|
export const SESSION_LEASE_RELEASE_COMMAND = /** @type {const} */ ("session.lease.release.v1");
|
|
78
|
+
|
|
79
|
+
// Session limit (new, ADR-235 Amendment 1: owner-only live-session limit)
|
|
80
|
+
export const SESSION_LIMIT_QUERY = /** @type {const} */ ("session.limit.v1");
|
|
81
|
+
export const SESSION_LIMIT_SET_COMMAND = /** @type {const} */ ("session.limit.set.v1");
|
|
82
|
+
|
|
43
83
|
/**
|
|
44
84
|
* Parse a `session.lease.claim.v1` payload's `mode` (fail-closed to `"try"`).
|
|
45
85
|
* @param {unknown} value
|
|
@@ -48,4 +88,28 @@ export const SESSION_LEASE_RELEASE_COMMAND = /** @type {const} */ ("session.leas
|
|
|
48
88
|
export function parseSessionLeaseClaimMode(value) {
|
|
49
89
|
const mode = typeof value === "object" && value !== null && /** @type {{ mode?: unknown }} */ (value).mode;
|
|
50
90
|
return mode === "takeover" || mode === "resume" ? mode : "try";
|
|
51
|
-
}
|
|
91
|
+
}
|
|
92
|
+
|
|
93
|
+
/** @param {unknown} value @returns {value is Record<string, unknown>} */
|
|
94
|
+
function isRecord(value) {
|
|
95
|
+
return typeof value === "object" && value !== null && !Array.isArray(value);
|
|
96
|
+
}
|
|
97
|
+
|
|
98
|
+
/**
|
|
99
|
+
* Parse a `session.limit.set.v1` command payload (fail-closed: throws on invalid shape).
|
|
100
|
+
* Valid shapes: `{count: n}` with n ≥ 1, or `{unlimited: true}`.
|
|
101
|
+
* @param {unknown} value
|
|
102
|
+
* @returns {SessionLeaseLimit}
|
|
103
|
+
*/
|
|
104
|
+
export function parseSessionLimitSetPayload(value) {
|
|
105
|
+
if (!isRecord(value)) {
|
|
106
|
+
throw new DomainError({ code: "invalid_request", message: "Expected session.limit.set payload" });
|
|
107
|
+
}
|
|
108
|
+
if (value.unlimited === true) {
|
|
109
|
+
return { unlimited: true };
|
|
110
|
+
}
|
|
111
|
+
if (typeof value.count === "number" && Number.isInteger(value.count) && value.count >= 1) {
|
|
112
|
+
return { count: value.count };
|
|
113
|
+
}
|
|
114
|
+
throw new DomainError({ code: "invalid_request", message: "session.limit.set needs either count ≥ 1 or unlimited:true" });
|
|
115
|
+
}
|