@cotal-ai/seat 0.58.0 → 0.60.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/README.md +13 -0
- package/dist/artifacts.d.ts +14 -0
- package/dist/artifacts.d.ts.map +1 -0
- package/dist/artifacts.js +40 -0
- package/dist/artifacts.js.map +1 -0
- package/dist/client.d.ts +6 -9
- package/dist/client.d.ts.map +1 -1
- package/dist/client.js +14 -3
- package/dist/client.js.map +1 -1
- package/dist/custodian.d.ts +5 -0
- package/dist/custodian.d.ts.map +1 -1
- package/dist/custodian.js +123 -21
- package/dist/custodian.js.map +1 -1
- package/dist/diagnostic.d.ts +13 -0
- package/dist/diagnostic.d.ts.map +1 -0
- package/dist/diagnostic.js +43 -0
- package/dist/diagnostic.js.map +1 -0
- package/dist/handle.d.ts +2 -4
- package/dist/handle.d.ts.map +1 -1
- package/dist/handle.js +1 -1
- package/dist/handle.js.map +1 -1
- package/dist/index.d.ts +2 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -1
- package/dist/index.js.map +1 -1
- package/dist/launcher.d.ts +2 -0
- package/dist/launcher.d.ts.map +1 -1
- package/dist/launcher.js +55 -33
- package/dist/launcher.js.map +1 -1
- package/dist/protocol.d.ts +12 -8
- package/dist/protocol.d.ts.map +1 -1
- package/dist/protocol.js.map +1 -1
- package/dist/reap.d.ts +35 -2
- package/dist/reap.d.ts.map +1 -1
- package/dist/reap.js +138 -14
- package/dist/reap.js.map +1 -1
- package/dist/record.d.ts +12 -0
- package/dist/record.d.ts.map +1 -1
- package/dist/record.js +15 -1
- package/dist/record.js.map +1 -1
- package/package.json +1 -1
package/dist/reap.js
CHANGED
|
@@ -1,8 +1,30 @@
|
|
|
1
1
|
import { existsSync, readdirSync, readFileSync, rmSync } from "node:fs";
|
|
2
2
|
import { dirname } from "node:path";
|
|
3
|
-
import {
|
|
3
|
+
import { discardSeatArtifacts } from "./artifacts.js";
|
|
4
|
+
import { bootToken, exitPath, isSeatId, processStartToken, readRecord, recordPath } from "./record.js";
|
|
4
5
|
import { RUN_MARKER_FLAG } from "./launcher.js";
|
|
5
6
|
import { unsupportedTransport } from "./protocol.js";
|
|
7
|
+
/** How the child ended, as its custodian recorded it; why a record that exists cannot be read; or
|
|
8
|
+
* neither when no record exists (the child was still running, or its custodian never wrote one). */
|
|
9
|
+
function recordedExit(file) {
|
|
10
|
+
let raw;
|
|
11
|
+
try {
|
|
12
|
+
raw = JSON.parse(readFileSync(file, "utf8"));
|
|
13
|
+
}
|
|
14
|
+
catch (e) {
|
|
15
|
+
return e.code === "ENOENT" ? {} : { unreadable: e.message };
|
|
16
|
+
}
|
|
17
|
+
if (typeof raw !== "object" || raw === null)
|
|
18
|
+
return { unreadable: "not a JSON object" };
|
|
19
|
+
const { code, signal, diagnostic } = raw;
|
|
20
|
+
return {
|
|
21
|
+
exit: {
|
|
22
|
+
...(Number.isInteger(code) ? { code: code } : {}),
|
|
23
|
+
...(Number.isInteger(signal) ? { signal: signal } : {}),
|
|
24
|
+
...(typeof diagnostic === "string" ? { diagnostic } : {}),
|
|
25
|
+
},
|
|
26
|
+
};
|
|
27
|
+
}
|
|
6
28
|
/** A pid's standing against a recorded start identity. `live` only when the process exists AND
|
|
7
29
|
* carries the recorded start token; a different token means the pid was reused by an unrelated
|
|
8
30
|
* process, which is never signalled. */
|
|
@@ -103,6 +125,21 @@ export function censusCustodians(run) {
|
|
|
103
125
|
}
|
|
104
126
|
return out;
|
|
105
127
|
}
|
|
128
|
+
/** Why `rec`'s pids cannot be tied to the processes it recorded, or undefined when they can. A
|
|
129
|
+
* start token counts ticks since ITS OWN boot, so it only tells two processes apart within one boot,
|
|
130
|
+
* and a record may have outlived a reboot on disk. A record with no start identity, no boot identity,
|
|
131
|
+
* or another boot's identity proves nothing about whatever this boot put at those pid numbers, so it
|
|
132
|
+
* is neither signalled nor reported as running or gone. */
|
|
133
|
+
function unprovedIdentity(id, rec) {
|
|
134
|
+
if (rec.custodianStart === undefined)
|
|
135
|
+
return `seat ${id} record carries no process start identity; refusing to signal pid ${rec.custodianPid}/${rec.childPid} (a bare pid may belong to an unrelated process)`;
|
|
136
|
+
if (rec.bootId === undefined)
|
|
137
|
+
return `seat ${id} record carries no boot identity; refusing to signal pid ${rec.custodianPid}/${rec.childPid} (its start tokens cannot be compared across a reboot)`;
|
|
138
|
+
const boot = bootToken();
|
|
139
|
+
if (boot !== undefined && rec.bootId !== boot)
|
|
140
|
+
return `seat ${id} record belongs to boot ${rec.bootId}, but this is boot ${boot}; refusing to signal pid ${rec.custodianPid}/${rec.childPid} (those pids now belong to this boot's processes)`;
|
|
141
|
+
return undefined;
|
|
142
|
+
}
|
|
106
143
|
/**
|
|
107
144
|
* Reap one custodied seat: a crashed manager's orphan, a lingering custodian, or a cleanly exited seat
|
|
108
145
|
* whose custodian unlinked its on-disk record.
|
|
@@ -112,8 +149,11 @@ export function censusCustodians(run) {
|
|
|
112
149
|
* start identities to execute the same kernel identity and group checks. An unknown reference with neither
|
|
113
150
|
* on-disk file nor pinned record returns `absent` (failing closed as RuntimeReapUnproven).
|
|
114
151
|
*
|
|
115
|
-
* Signals only
|
|
116
|
-
*
|
|
152
|
+
* Signals the custodian and the child only while their current start identity matches the record. The
|
|
153
|
+
* child's descendants are not in the record, so its process group is signalled by pgid and then swept by
|
|
154
|
+
* membership alone, and the record's contents are trusted as written; docs/security.md lists both as
|
|
155
|
+
* accepted residuals. Verifies the custodian, the child and the child's whole process group gone, then
|
|
156
|
+
* removes the custody record directory.
|
|
117
157
|
*/
|
|
118
158
|
export async function reapSeat(root, id, opts = {}) {
|
|
119
159
|
if (process.platform !== "linux")
|
|
@@ -137,17 +177,13 @@ export async function reapSeat(root, id, opts = {}) {
|
|
|
137
177
|
throw new Error(`seat ${id} record at ${path} is unreadable: ${e.message}`);
|
|
138
178
|
}
|
|
139
179
|
}
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
// boot, and this record may have outlived a reboot on disk. An unbound or foreign-boot record is
|
|
144
|
-
// refused rather than signalled: the pids in it now name whatever this boot put at those numbers.
|
|
145
|
-
const boot = bootToken();
|
|
146
|
-
if (rec.bootId === undefined)
|
|
147
|
-
throw new Error(`seat ${id} record carries no boot identity; refusing to signal pid ${rec.custodianPid}/${rec.childPid} (its start tokens cannot be compared across a reboot)`);
|
|
148
|
-
if (boot !== undefined && rec.bootId !== boot)
|
|
149
|
-
throw new Error(`seat ${id} record belongs to boot ${rec.bootId}, but this is boot ${boot}; refusing to signal pid ${rec.custodianPid}/${rec.childPid} (those pids now belong to this boot's processes)`);
|
|
180
|
+
const unproved = unprovedIdentity(id, rec);
|
|
181
|
+
if (unproved !== undefined)
|
|
182
|
+
throw new Error(unproved);
|
|
150
183
|
const custodianStart = rec.custodianStart;
|
|
184
|
+
// Read before anything is signalled, so a SIGKILL sent below is never reported as how the child ended.
|
|
185
|
+
const recorded = recordedExit(exitPath(path));
|
|
186
|
+
const exit = recorded.exit;
|
|
151
187
|
// A pinned record without a child identity means the child was gone before custody began.
|
|
152
188
|
const childLive = () => rec.childStart !== undefined && identityVerdict(rec.childPid, rec.childStart) === "live";
|
|
153
189
|
// The child first: node-pty made it a session and process-group leader, so signalling the group
|
|
@@ -185,16 +221,104 @@ export async function reapSeat(root, id, opts = {}) {
|
|
|
185
221
|
if (!empty)
|
|
186
222
|
throw new Error(`seat ${id}: ${group} process(es) still in group ${rec.childPid} ${graceMs}ms after SIGKILL; exit not proved`);
|
|
187
223
|
}
|
|
224
|
+
// The launch artifacts the record still lists, read again now that the custodian is proved gone and
|
|
225
|
+
// can no longer change it: ones it had not removed when it died, or could not remove. Never the
|
|
226
|
+
// pinned copy, which still lists what the custodian has since removed, so its names may have been
|
|
227
|
+
// reused. A failed removal keeps the record, so a later reap of this reference tries again.
|
|
228
|
+
let latest;
|
|
229
|
+
try {
|
|
230
|
+
latest = readRecord(path);
|
|
231
|
+
}
|
|
232
|
+
catch (e) {
|
|
233
|
+
if (e.code !== "ENOENT")
|
|
234
|
+
throw new Error(`seat ${id}: exit proved, but its record at ${path} is unreadable: ${e.message}; custody record kept`);
|
|
235
|
+
}
|
|
236
|
+
try {
|
|
237
|
+
discardSeatArtifacts(latest?.artifacts, latest?.artifactRoot);
|
|
238
|
+
}
|
|
239
|
+
catch (e) {
|
|
240
|
+
throw new Error(`seat ${id}: exit proved, but ${e.message}; custody record kept so a later reap retries`);
|
|
241
|
+
}
|
|
188
242
|
const hadPath = existsSync(path);
|
|
189
243
|
const dir = dirname(path);
|
|
190
244
|
if (existsSync(dir))
|
|
191
245
|
rmSync(dir, { recursive: true, force: true });
|
|
246
|
+
// A child already gone when the reap began ended on its own, and its custodian's record is the
|
|
247
|
+
// only account of how, so a missing or unreadable one is said rather than left out.
|
|
248
|
+
const ended = exit
|
|
249
|
+
? `; its custodian recorded exit code ${exit.code ?? "unknown"}${exit.signal === undefined ? "" : `, signal ${exit.signal}`}${exit.diagnostic ? `, last connector diagnostic: ${exit.diagnostic}` : ""}`
|
|
250
|
+
: recorded.unreadable !== undefined
|
|
251
|
+
? `; its custodian's exit record is unreadable: ${recorded.unreadable}`
|
|
252
|
+
: child === "gone"
|
|
253
|
+
? "; no exit record from its custodian was found"
|
|
254
|
+
: "";
|
|
192
255
|
return {
|
|
193
256
|
outcome: "reaped",
|
|
194
257
|
custodian,
|
|
195
258
|
child,
|
|
196
259
|
group,
|
|
197
|
-
|
|
260
|
+
...(exit ? { exit } : {}),
|
|
261
|
+
detail: `custodian ${rec.custodianPid} ${custodian}, child ${rec.childPid} ${child}${groupKilled || group > 0 ? `, group ${rec.childPid} empty` : ""}; custody record ${hadPath ? "removed" : "verified gone"}${ended}`,
|
|
198
262
|
};
|
|
199
263
|
}
|
|
264
|
+
/**
|
|
265
|
+
* List the custody records under `root`, and with `drain` retire every seat whose child is gone
|
|
266
|
+
* (#1391).
|
|
267
|
+
*
|
|
268
|
+
* A seat whose child still holds its recorded start identity is reported and left alone: it is a
|
|
269
|
+
* running agent, and a manager may still adopt it. Only a seat whose child is proved gone reaches
|
|
270
|
+
* {@link reapSeat}. A record is written once, and a start identity that is gone never comes back, so
|
|
271
|
+
* the reap that follows finds the child gone too and signals at most a custodian whose identity
|
|
272
|
+
* matches the record. A record that cannot be read or whose identity proves nothing on this boot, or
|
|
273
|
+
* a reap that does not prove exit, is refused and left on disk for the operator.
|
|
274
|
+
*/
|
|
275
|
+
export async function drainSeats(root, opts = {}) {
|
|
276
|
+
if (process.platform !== "linux")
|
|
277
|
+
throw unsupportedTransport();
|
|
278
|
+
let ids;
|
|
279
|
+
try {
|
|
280
|
+
ids = readdirSync(root).filter(isSeatId).sort();
|
|
281
|
+
}
|
|
282
|
+
catch (e) {
|
|
283
|
+
if (e.code === "ENOENT")
|
|
284
|
+
return [];
|
|
285
|
+
throw e;
|
|
286
|
+
}
|
|
287
|
+
const out = [];
|
|
288
|
+
for (const id of ids) {
|
|
289
|
+
let rec;
|
|
290
|
+
try {
|
|
291
|
+
rec = readRecord(recordPath(root, id));
|
|
292
|
+
}
|
|
293
|
+
catch (e) {
|
|
294
|
+
out.push({ id, state: "refused", detail: `record unreadable: ${e.message}` });
|
|
295
|
+
continue;
|
|
296
|
+
}
|
|
297
|
+
const seen = { id, name: rec.name, custodianPid: rec.custodianPid, childPid: rec.childPid };
|
|
298
|
+
const unproved = unprovedIdentity(id, rec);
|
|
299
|
+
if (unproved !== undefined) {
|
|
300
|
+
out.push({ ...seen, state: "refused", detail: unproved });
|
|
301
|
+
continue;
|
|
302
|
+
}
|
|
303
|
+
if (rec.childStart !== undefined && identityVerdict(rec.childPid, rec.childStart) === "live") {
|
|
304
|
+
out.push({ ...seen, state: "live-child", detail: `child ${rec.childPid} is running; kept` });
|
|
305
|
+
continue;
|
|
306
|
+
}
|
|
307
|
+
if (!opts.drain) {
|
|
308
|
+
const custodian = rec.custodianStart !== undefined && identityVerdict(rec.custodianPid, rec.custodianStart) === "live" ? "running" : "gone";
|
|
309
|
+
out.push({ ...seen, state: "childless", detail: `child ${rec.childPid} is gone; custodian ${rec.custodianPid} ${custodian}` });
|
|
310
|
+
continue;
|
|
311
|
+
}
|
|
312
|
+
try {
|
|
313
|
+
const evidence = await reapSeat(root, id, opts.graceMs === undefined ? {} : { graceMs: opts.graceMs });
|
|
314
|
+
out.push(evidence.outcome === "reaped"
|
|
315
|
+
? { ...seen, state: "drained", detail: evidence.detail }
|
|
316
|
+
: { ...seen, state: "refused", detail: "record vanished before the reap; nothing was signalled" });
|
|
317
|
+
}
|
|
318
|
+
catch (e) {
|
|
319
|
+
out.push({ ...seen, state: "refused", detail: e.message });
|
|
320
|
+
}
|
|
321
|
+
}
|
|
322
|
+
return out;
|
|
323
|
+
}
|
|
200
324
|
//# sourceMappingURL=reap.js.map
|
package/dist/reap.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"reap.js","sourceRoot":"","sources":["../src/reap.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"reap.js","sourceRoot":"","sources":["../src/reap.ts"],"names":[],"mappings":"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"}
|
package/dist/record.d.ts
CHANGED
|
@@ -20,6 +20,14 @@ export interface SeatRecord {
|
|
|
20
20
|
* the same pid at the same tick after a reboot, and be signalled for it. Absent on a record
|
|
21
21
|
* written before boot binding; such a record is never signalled. */
|
|
22
22
|
bootId?: string;
|
|
23
|
+
/** Private temporary directories the launch wrote for this seat's child to read (a persona
|
|
24
|
+
* carrier, an MCP config file). The custodian removes them when its child exits and drops from the
|
|
25
|
+
* record the ones it removed; any still listed belong to a custodian killed first or could not be
|
|
26
|
+
* removed, and the reap that proves the seat gone removes them, keeping the record until it has. */
|
|
27
|
+
artifacts?: string[];
|
|
28
|
+
/** The temp dir of the launcher that wrote `artifacts`, which every entry must sit directly under.
|
|
29
|
+
* Recorded because a reap may run in a successor whose own temp dir differs. */
|
|
30
|
+
artifactRoot?: string;
|
|
23
31
|
}
|
|
24
32
|
export declare function seatId(): string;
|
|
25
33
|
/** Every seat id names a directory under the custody root, so it is checked against the shape
|
|
@@ -28,8 +36,12 @@ export declare function seatId(): string;
|
|
|
28
36
|
* record outside the root. Refuse rather than resolve: an unaddressable reference must not be
|
|
29
37
|
* reported as a seat that is already forgotten. */
|
|
30
38
|
export declare function assertSeatId(id: string): string;
|
|
39
|
+
/** Whether `id` has the shape {@link seatId} mints, so a directory entry can be told from a seat. */
|
|
40
|
+
export declare function isSeatId(id: string): boolean;
|
|
31
41
|
export declare function capabilityToken(): string;
|
|
32
42
|
export declare function recordPath(root: string, id: string): string;
|
|
43
|
+
/** Where a custodian records how its child ended, beside the custody record it names. */
|
|
44
|
+
export declare function exitPath(recordFile: string): string;
|
|
33
45
|
export declare function socketPath(root: string, id: string): string;
|
|
34
46
|
/** This boot's identity. Read at the moment a record is written and again when it is read back: a
|
|
35
47
|
* start token is ticks since THIS boot, so two records from different boots share a namespace they
|
package/dist/record.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"record.d.ts","sourceRoot":"","sources":["../src/record.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,cAAc,IAAI,CAAC;AAEhC,MAAM,WAAW,UAAU;IACzB,OAAO,EAAE,MAAM,CAAC;IAChB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,YAAY,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,MAAM,CAAC;IACjB;;qFAEiF;IACjF,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB;0GACsG;IACtG,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB;;;;yEAIqE;IACrE,MAAM,CAAC,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"record.d.ts","sourceRoot":"","sources":["../src/record.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,cAAc,IAAI,CAAC;AAEhC,MAAM,WAAW,UAAU;IACzB,OAAO,EAAE,MAAM,CAAC;IAChB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,YAAY,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,MAAM,CAAC;IACjB;;qFAEiF;IACjF,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB;0GACsG;IACtG,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB;;;;yEAIqE;IACrE,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;;;yGAGqG;IACrG,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;IACrB;qFACiF;IACjF,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,wBAAgB,MAAM,IAAI,MAAM,CAE/B;AAID;;;;oDAIoD;AACpD,wBAAgB,YAAY,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,CAG/C;AAED,qGAAqG;AACrG,wBAAgB,QAAQ,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAE5C;AAED,wBAAgB,eAAe,IAAI,MAAM,CAExC;AAED,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,MAAM,CAE3D;AAED,yFAAyF;AACzF,wBAAgB,QAAQ,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CAEnD;AAED,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,MAAM,CAE3D;AAED;;;kFAGkF;AAClF,wBAAgB,SAAS,IAAI,MAAM,GAAG,SAAS,CAO9C;AAED;;;yCAGyC;AACzC,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAUjE;AAED,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,GAAG,IAAI,CAKlE;AAED,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,UAAU,CAmCnD"}
|
package/dist/record.js
CHANGED
|
@@ -12,16 +12,24 @@ const SEAT_ID = /^[0-9a-f]{32}$/;
|
|
|
12
12
|
* record outside the root. Refuse rather than resolve: an unaddressable reference must not be
|
|
13
13
|
* reported as a seat that is already forgotten. */
|
|
14
14
|
export function assertSeatId(id) {
|
|
15
|
-
if (!
|
|
15
|
+
if (!isSeatId(id))
|
|
16
16
|
throw new Error(`seat id ${JSON.stringify(id)} is not 32 lowercase hex characters; it names a directory under the custody root`);
|
|
17
17
|
return id;
|
|
18
18
|
}
|
|
19
|
+
/** Whether `id` has the shape {@link seatId} mints, so a directory entry can be told from a seat. */
|
|
20
|
+
export function isSeatId(id) {
|
|
21
|
+
return SEAT_ID.test(id);
|
|
22
|
+
}
|
|
19
23
|
export function capabilityToken() {
|
|
20
24
|
return randomBytes(32).toString("hex");
|
|
21
25
|
}
|
|
22
26
|
export function recordPath(root, id) {
|
|
23
27
|
return join(root, assertSeatId(id), "record.json");
|
|
24
28
|
}
|
|
29
|
+
/** Where a custodian records how its child ended, beside the custody record it names. */
|
|
30
|
+
export function exitPath(recordFile) {
|
|
31
|
+
return join(dirname(recordFile), "exit.json");
|
|
32
|
+
}
|
|
25
33
|
export function socketPath(root, id) {
|
|
26
34
|
return join(root, assertSeatId(id), "seat.sock");
|
|
27
35
|
}
|
|
@@ -83,6 +91,10 @@ export function readRecord(path) {
|
|
|
83
91
|
throw new Error("seat record childStart is not a start token");
|
|
84
92
|
if (raw.bootId !== undefined && (typeof raw.bootId !== "string" || raw.bootId.length === 0))
|
|
85
93
|
throw new Error("seat record bootId is not a boot identity");
|
|
94
|
+
if (raw.artifacts !== undefined && (!Array.isArray(raw.artifacts) || raw.artifacts.some((a) => typeof a !== "string" || a.length === 0)))
|
|
95
|
+
throw new Error("seat record artifacts is not a list of paths");
|
|
96
|
+
if (raw.artifactRoot !== undefined && (typeof raw.artifactRoot !== "string" || raw.artifactRoot.length === 0))
|
|
97
|
+
throw new Error("seat record artifactRoot is not a path");
|
|
86
98
|
return {
|
|
87
99
|
version: RECORD_VERSION,
|
|
88
100
|
id: raw.id,
|
|
@@ -96,6 +108,8 @@ export function readRecord(path) {
|
|
|
96
108
|
// Carried, not re-read from this process: a record read on another boot must still say which
|
|
97
109
|
// boot its pids came from, which is the whole point of the stamp.
|
|
98
110
|
...(raw.bootId !== undefined ? { bootId: raw.bootId } : {}),
|
|
111
|
+
...(raw.artifacts !== undefined ? { artifacts: raw.artifacts } : {}),
|
|
112
|
+
...(raw.artifactRoot !== undefined ? { artifactRoot: raw.artifactRoot } : {}),
|
|
99
113
|
};
|
|
100
114
|
}
|
|
101
115
|
//# sourceMappingURL=record.js.map
|
package/dist/record.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"record.js","sourceRoot":"","sources":["../src/record.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAC5E,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAE1C,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"record.js","sourceRoot":"","sources":["../src/record.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@cotal-ai/seat",
|
|
3
3
|
"description": "Local PTY seat custody: one detached custodian process per seat, a one-shot launcher, and the authenticated local protocol a manager worker uses to adopt the handle. Depends on nothing else in the repo.",
|
|
4
|
-
"version": "0.
|
|
4
|
+
"version": "0.60.0",
|
|
5
5
|
"license": "Apache-2.0",
|
|
6
6
|
"repository": {
|
|
7
7
|
"type": "git",
|