@econ-v1/ports 7.0.18 → 7.0.20

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
@@ -189,6 +189,18 @@ export type OwnerClaimGenesisDevice = import("./owner-claim-session.js").OwnerCl
189
189
  export type OwnerClaimSessionPort = import("./owner-claim-session.js").OwnerClaimSessionPort;
190
190
  export type OwnerClaimSessionTokens = import("./owner-claim-session.js").OwnerClaimSessionTokens;
191
191
  export type OwnerClaimCryptoPort = import("./owner-claim.js").OwnerClaimCryptoPort;
192
+ export type AppsLifecycleRepository = import("./repositories/apps-lifecycle-repository.js").AppsLifecycleRepository;
193
+ export type LeaseDecisionKind = import("./repositories/apps-lifecycle-repository.js").LeaseDecisionKind;
194
+ export type LifecycleAppView = import("./repositories/apps-lifecycle-repository.js").LifecycleAppView;
195
+ export type LifecycleDecisionRecord = import("./repositories/apps-lifecycle-repository.js").LifecycleDecisionRecord;
196
+ export type LifecycleDeviceView = import("./repositories/apps-lifecycle-repository.js").LifecycleDeviceView;
197
+ export type LifecycleFeedState = import("./repositories/apps-lifecycle-repository.js").LifecycleFeedState;
198
+ export type LifecycleLeaseView = import("./repositories/apps-lifecycle-repository.js").LifecycleLeaseView;
199
+ export type LifecycleMode = import("./repositories/apps-lifecycle-repository.js").LifecycleMode;
200
+ export type LifecycleOverviewResponse = import("./repositories/apps-lifecycle-repository.js").LifecycleOverviewResponse;
201
+ export type LifecyclePolicyView = import("./repositories/apps-lifecycle-repository.js").LifecyclePolicyView;
202
+ export type LifecycleStormView = import("./repositories/apps-lifecycle-repository.js").LifecycleStormView;
203
+ export type LifecycleTransitionView = import("./repositories/apps-lifecycle-repository.js").LifecycleTransitionView;
192
204
  export type NodeAppInstallSource = import("./repositories/node-app-memory-repository.js").NodeAppInstallSource;
193
205
  export type NodeAppBudgetState = import("./repositories/node-app-memory-repository.js").NodeAppBudgetState;
194
206
  export type NodeAppBudgetVerdict = import("./repositories/node-app-memory-repository.js").NodeAppBudgetVerdict;
@@ -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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"}
@@ -0,0 +1,142 @@
1
+ /**
2
+ * `"resident" | "warm" | "cold"` — which of the three lease states an app is
3
+ * currently in. Mirrors `core/app-host/src/models.rs`'s `LifecycleMode`.
4
+ */
5
+ export type LifecycleMode = "resident" | "warm" | "cold";
6
+ /**
7
+ * `"ready" | "loading" | "error"` — the feed's own readiness, distinct from
8
+ * the lease-mode vocabulary above. Mirrors `LifecycleFeedState`.
9
+ */
10
+ export type LifecycleFeedState = "ready" | "loading" | "error";
11
+ /**
12
+ * The engine's own vocabulary of life events — `spawn`/`idle-exit`/`crash`/
13
+ * `promote`/`demote`/`storm`/`pressure`. Serialized kebab-case by the host
14
+ * (`core/app-host/src/governor_lease.rs`'s `LeaseDecisionKind`), so the
15
+ * client-side values keep the same spelling rather than being camelCased.
16
+ */
17
+ export type LeaseDecisionKind = "spawn" | "idle-exit" | "crash" | "promote" | "demote" | "storm" | "pressure";
18
+ /**
19
+ * A warm app's draining lease. `totalSeconds` is the `T` the engine granted;
20
+ * `remainingSeconds` counts down to zero and is floored there.
21
+ */
22
+ export type LifecycleLeaseView = {
23
+ totalSeconds: number;
24
+ remainingSeconds: number;
25
+ };
26
+ /**
27
+ * The measured inputs behind the engine's lease choice for one app.
28
+ */
29
+ export type LifecyclePolicyView = {
30
+ callsPerMin: number;
31
+ spawnMs: number;
32
+ pressureFactor: number;
33
+ /**
34
+ * `"interactive" | "background"`.
35
+ */
36
+ latencyClass: string;
37
+ };
38
+ /**
39
+ * Machine retry traffic — not real demand — that is what is keeping an app
40
+ * awake.
41
+ */
42
+ export type LifecycleStormView = {
43
+ callsPerMin: number;
44
+ caller: string;
45
+ };
46
+ /**
47
+ * The app's last life event: a clean self-sleep, a promotion/demotion
48
+ * between tiers, or a crash.
49
+ */
50
+ export type LifecycleTransitionView = {
51
+ kind: LeaseDecisionKind;
52
+ atMs: number;
53
+ exitCode?: number;
54
+ };
55
+ /**
56
+ * One app as the lease engine's operator surface sees it.
57
+ */
58
+ export type LifecycleAppView = {
59
+ id: string;
60
+ name: string;
61
+ mode: LifecycleMode;
62
+ /**
63
+ * Owner override: never sleep this app.
64
+ */
65
+ pinned: boolean;
66
+ /**
67
+ * `null` when cold.
68
+ */
69
+ memoryKb: number | null;
70
+ /**
71
+ * `null` outside the warm tier.
72
+ */
73
+ lease: LifecycleLeaseView | null;
74
+ policy: LifecyclePolicyView;
75
+ /**
76
+ * 12 buckets, most recent last.
77
+ */
78
+ activity: readonly number[];
79
+ storm: LifecycleStormView | null;
80
+ lastTransition: LifecycleTransitionView | null;
81
+ /**
82
+ * Capability names this app's
83
+ * manifest declares (`provides`/`capabilities.provides`) — the
84
+ * capability->app mapping the cold-start waking affordance resolves
85
+ * against. Empty, never omitted, for an app that declares none.
86
+ */
87
+ provides: readonly string[];
88
+ };
89
+ /**
90
+ * Device-wide band for the lease engine's operator surface.
91
+ */
92
+ export type LifecycleDeviceView = {
93
+ memTotalKb: number;
94
+ /**
95
+ * Device-wide `MemAvailable`, `null`
96
+ * where the platform does not report it. Present so `residentKb` can be
97
+ * framed against the device's real headroom: apps are one tenant, and
98
+ * `residentKb / memTotalKb` would claim the remainder is free when
99
+ * node-server's own baseline and the OS hold most of it.
100
+ */
101
+ memAvailableKb: number | null;
102
+ /**
103
+ * Sum of `memoryKb` across every resident/warm
104
+ * app — a SUBSET of the device's used memory, never the whole of it.
105
+ */
106
+ residentKb: number;
107
+ /**
108
+ * Sum of the last-known footprint of every non-pinned cold app.
109
+ */
110
+ reclaimedKb: number;
111
+ /**
112
+ * `"ok" | "elevated" | "critical"`.
113
+ */
114
+ pressure: string;
115
+ };
116
+ /**
117
+ * The engine's decisions ring, most recent first.
118
+ */
119
+ export type LifecycleDecisionRecord = {
120
+ app: string;
121
+ kind: LeaseDecisionKind;
122
+ atMs: number;
123
+ /**
124
+ * Free-form — the engine's own per-kind fields.
125
+ */
126
+ detail: Record<string, unknown>;
127
+ };
128
+ /**
129
+ * Response for `GET /api/v2/node-apps/lifecycle` — `apps.lifecycle.v1`
130
+ * (design contract §"Ask 13").
131
+ */
132
+ export type LifecycleOverviewResponse = {
133
+ state: LifecycleFeedState;
134
+ device: LifecycleDeviceView;
135
+ apps: readonly LifecycleAppView[];
136
+ decisions: readonly LifecycleDecisionRecord[];
137
+ };
138
+ export type AppsLifecycleRepository = {
139
+ readOverview: () => Promise<LifecycleOverviewResponse>;
140
+ setLeasePin: (id: string, pinned: boolean) => Promise<LifecycleAppView>;
141
+ };
142
+ //# sourceMappingURL=apps-lifecycle-repository.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"apps-lifecycle-repository.d.ts","sourceRoot":"","sources":["../../src/repositories/apps-lifecycle-repository.js"],"names":[],"mappings":";;;;4BAMa,UAAU,GAAG,MAAM,GAAG,MAAM;;;;;iCAM5B,OAAO,GAAG,SAAS,GAAG,OAAO;;;;;;;gCAQ7B,OAAO,GAAG,WAAW,GAAG,OAAO,GAAG,SAAS,GAAG,QAAQ,GAAG,OAAO,GAAG,UAAU;;;;;;kBAO5E,MAAM;sBACN,MAAM;;;;;;iBAMN,MAAM;aACN,MAAM;oBACN,MAAM;;;;kBACN,MAAM;;;;;;;iBAON,MAAM;YACN,MAAM;;;;;;;UAON,iBAAiB;UACjB,MAAM;eACN,MAAM;;;;;;QAMN,MAAM;UACN,MAAM;UACN,aAAa;;;;YACb,OAAO;;;;cACP,MAAM,GAAG,IAAI;;;;WACb,kBAAkB,GAAG,IAAI;YACzB,mBAAmB;;;;cACnB,SAAS,MAAM,EAAE;WACjB,kBAAkB,GAAG,IAAI;oBACzB,uBAAuB,GAAG,IAAI;;;;;;;cAC9B,SAAS,MAAM,EAAE;;;;;;gBASjB,MAAM;;;;;;;;oBACN,MAAM,GAAG,IAAI;;;;;gBAKb,MAAM;;;;iBAEN,MAAM;;;;cACN,MAAM;;;;;;SAMN,MAAM;UACN,iBAAiB;UACjB,MAAM;;;;YACN,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;;;;;;;WAOvB,kBAAkB;YAClB,mBAAmB;UACnB,SAAS,gBAAgB,EAAE;eAC3B,SAAS,uBAAuB,EAAE;;;kBAKlC,MAAM,OAAO,CAAC,yBAAyB,CAAC;iBACxC,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,KAAK,OAAO,CAAC,gBAAgB,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@econ-v1/ports",
3
- "version": "7.0.18",
3
+ "version": "7.0.20",
4
4
  "description": "Platform-neutral ports for Node client applications",
5
5
  "license": "MIT OR Apache-2.0",
6
6
  "author": "Node contributors",
package/src/index.js CHANGED
@@ -183,6 +183,18 @@ export { StorageOperationError } from "./storage.js";
183
183
  /** @typedef {import("./owner-claim-session.js").OwnerClaimSessionPort} OwnerClaimSessionPort */
184
184
  /** @typedef {import("./owner-claim-session.js").OwnerClaimSessionTokens} OwnerClaimSessionTokens */
185
185
  /** @typedef {import("./owner-claim.js").OwnerClaimCryptoPort} OwnerClaimCryptoPort */
186
+ /** @typedef {import("./repositories/apps-lifecycle-repository.js").AppsLifecycleRepository} AppsLifecycleRepository */
187
+ /** @typedef {import("./repositories/apps-lifecycle-repository.js").LeaseDecisionKind} LeaseDecisionKind */
188
+ /** @typedef {import("./repositories/apps-lifecycle-repository.js").LifecycleAppView} LifecycleAppView */
189
+ /** @typedef {import("./repositories/apps-lifecycle-repository.js").LifecycleDecisionRecord} LifecycleDecisionRecord */
190
+ /** @typedef {import("./repositories/apps-lifecycle-repository.js").LifecycleDeviceView} LifecycleDeviceView */
191
+ /** @typedef {import("./repositories/apps-lifecycle-repository.js").LifecycleFeedState} LifecycleFeedState */
192
+ /** @typedef {import("./repositories/apps-lifecycle-repository.js").LifecycleLeaseView} LifecycleLeaseView */
193
+ /** @typedef {import("./repositories/apps-lifecycle-repository.js").LifecycleMode} LifecycleMode */
194
+ /** @typedef {import("./repositories/apps-lifecycle-repository.js").LifecycleOverviewResponse} LifecycleOverviewResponse */
195
+ /** @typedef {import("./repositories/apps-lifecycle-repository.js").LifecyclePolicyView} LifecyclePolicyView */
196
+ /** @typedef {import("./repositories/apps-lifecycle-repository.js").LifecycleStormView} LifecycleStormView */
197
+ /** @typedef {import("./repositories/apps-lifecycle-repository.js").LifecycleTransitionView} LifecycleTransitionView */
186
198
  /** @typedef {import("./repositories/node-app-memory-repository.js").NodeAppInstallSource} NodeAppInstallSource */
187
199
  /** @typedef {import("./repositories/node-app-memory-repository.js").NodeAppBudgetState} NodeAppBudgetState */
188
200
  /** @typedef {import("./repositories/node-app-memory-repository.js").NodeAppBudgetVerdict} NodeAppBudgetVerdict */
@@ -0,0 +1,115 @@
1
+ // @ts-check
2
+ export {};
3
+
4
+ /**
5
+ * `"resident" | "warm" | "cold"` — which of the three lease states an app is
6
+ * currently in. Mirrors `core/app-host/src/models.rs`'s `LifecycleMode`.
7
+ * @typedef {"resident" | "warm" | "cold"} LifecycleMode
8
+ */
9
+
10
+ /**
11
+ * `"ready" | "loading" | "error"` — the feed's own readiness, distinct from
12
+ * the lease-mode vocabulary above. Mirrors `LifecycleFeedState`.
13
+ * @typedef {"ready" | "loading" | "error"} LifecycleFeedState
14
+ */
15
+
16
+ /**
17
+ * The engine's own vocabulary of life events — `spawn`/`idle-exit`/`crash`/
18
+ * `promote`/`demote`/`storm`/`pressure`. Serialized kebab-case by the host
19
+ * (`core/app-host/src/governor_lease.rs`'s `LeaseDecisionKind`), so the
20
+ * client-side values keep the same spelling rather than being camelCased.
21
+ * @typedef {"spawn" | "idle-exit" | "crash" | "promote" | "demote" | "storm" | "pressure"} LeaseDecisionKind
22
+ */
23
+
24
+ /**
25
+ * A warm app's draining lease. `totalSeconds` is the `T` the engine granted;
26
+ * `remainingSeconds` counts down to zero and is floored there.
27
+ * @typedef {object} LifecycleLeaseView
28
+ * @property {number} totalSeconds
29
+ * @property {number} remainingSeconds
30
+ */
31
+
32
+ /**
33
+ * The measured inputs behind the engine's lease choice for one app.
34
+ * @typedef {object} LifecyclePolicyView
35
+ * @property {number} callsPerMin
36
+ * @property {number} spawnMs
37
+ * @property {number} pressureFactor
38
+ * @property {string} latencyClass `"interactive" | "background"`.
39
+ */
40
+
41
+ /**
42
+ * Machine retry traffic — not real demand — that is what is keeping an app
43
+ * awake.
44
+ * @typedef {object} LifecycleStormView
45
+ * @property {number} callsPerMin
46
+ * @property {string} caller
47
+ */
48
+
49
+ /**
50
+ * The app's last life event: a clean self-sleep, a promotion/demotion
51
+ * between tiers, or a crash.
52
+ * @typedef {object} LifecycleTransitionView
53
+ * @property {LeaseDecisionKind} kind
54
+ * @property {number} atMs
55
+ * @property {number} [exitCode]
56
+ */
57
+
58
+ /**
59
+ * One app as the lease engine's operator surface sees it.
60
+ * @typedef {object} LifecycleAppView
61
+ * @property {string} id
62
+ * @property {string} name
63
+ * @property {LifecycleMode} mode
64
+ * @property {boolean} pinned Owner override: never sleep this app.
65
+ * @property {number | null} memoryKb `null` when cold.
66
+ * @property {LifecycleLeaseView | null} lease `null` outside the warm tier.
67
+ * @property {LifecyclePolicyView} policy
68
+ * @property {readonly number[]} activity 12 buckets, most recent last.
69
+ * @property {LifecycleStormView | null} storm
70
+ * @property {LifecycleTransitionView | null} lastTransition
71
+ * @property {readonly string[]} provides Capability names this app's
72
+ * manifest declares (`provides`/`capabilities.provides`) — the
73
+ * capability->app mapping the cold-start waking affordance resolves
74
+ * against. Empty, never omitted, for an app that declares none.
75
+ */
76
+
77
+ /**
78
+ * Device-wide band for the lease engine's operator surface.
79
+ * @typedef {object} LifecycleDeviceView
80
+ * @property {number} memTotalKb
81
+ * @property {number | null} memAvailableKb Device-wide `MemAvailable`, `null`
82
+ * where the platform does not report it. Present so `residentKb` can be
83
+ * framed against the device's real headroom: apps are one tenant, and
84
+ * `residentKb / memTotalKb` would claim the remainder is free when
85
+ * node-server's own baseline and the OS hold most of it.
86
+ * @property {number} residentKb Sum of `memoryKb` across every resident/warm
87
+ * app — a SUBSET of the device's used memory, never the whole of it.
88
+ * @property {number} reclaimedKb Sum of the last-known footprint of every non-pinned cold app.
89
+ * @property {string} pressure `"ok" | "elevated" | "critical"`.
90
+ */
91
+
92
+ /**
93
+ * The engine's decisions ring, most recent first.
94
+ * @typedef {object} LifecycleDecisionRecord
95
+ * @property {string} app
96
+ * @property {LeaseDecisionKind} kind
97
+ * @property {number} atMs
98
+ * @property {Record<string, unknown>} detail Free-form — the engine's own per-kind fields.
99
+ */
100
+
101
+ /**
102
+ * Response for `GET /api/v2/node-apps/lifecycle` — `apps.lifecycle.v1`
103
+ * (design contract §"Ask 13").
104
+ * @typedef {object} LifecycleOverviewResponse
105
+ * @property {LifecycleFeedState} state
106
+ * @property {LifecycleDeviceView} device
107
+ * @property {readonly LifecycleAppView[]} apps
108
+ * @property {readonly LifecycleDecisionRecord[]} decisions
109
+ */
110
+
111
+ /**
112
+ * @typedef {object} AppsLifecycleRepository
113
+ * @property {() => Promise<LifecycleOverviewResponse>} readOverview
114
+ * @property {(id: string, pinned: boolean) => Promise<LifecycleAppView>} setLeasePin
115
+ */