@cotal-ai/cli 0.50.1 → 0.51.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/command.d.ts.map +1 -1
- package/dist/command.js +24 -1
- package/dist/command.js.map +1 -1
- package/dist/commands/agents.d.ts.map +1 -1
- package/dist/commands/agents.js +18 -1
- package/dist/commands/agents.js.map +1 -1
- package/dist/commands/down.d.ts.map +1 -1
- package/dist/commands/down.js +114 -5
- package/dist/commands/down.js.map +1 -1
- package/dist/commands/endpoints.d.ts.map +1 -1
- package/dist/commands/endpoints.js +2 -1
- package/dist/commands/endpoints.js.map +1 -1
- package/dist/commands/join.d.ts.map +1 -1
- package/dist/commands/join.js +25 -0
- package/dist/commands/join.js.map +1 -1
- package/dist/commands/meshes-add.d.ts +2 -54
- package/dist/commands/meshes-add.d.ts.map +1 -1
- package/dist/commands/meshes-add.js +20 -105
- package/dist/commands/meshes-add.js.map +1 -1
- package/dist/commands/meshes.d.ts.map +1 -1
- package/dist/commands/meshes.js +5 -2
- package/dist/commands/meshes.js.map +1 -1
- package/dist/commands/service.d.ts +17 -0
- package/dist/commands/service.d.ts.map +1 -0
- package/dist/commands/service.js +541 -0
- package/dist/commands/service.js.map +1 -0
- package/dist/commands/spawn.d.ts +44 -2
- package/dist/commands/spawn.d.ts.map +1 -1
- package/dist/commands/spawn.js +292 -45
- package/dist/commands/spawn.js.map +1 -1
- package/dist/commands/status.d.ts.map +1 -1
- package/dist/commands/status.js +11 -4
- package/dist/commands/status.js.map +1 -1
- package/dist/commands/sync.d.ts +50 -0
- package/dist/commands/sync.d.ts.map +1 -0
- package/dist/commands/sync.js +284 -0
- package/dist/commands/sync.js.map +1 -0
- package/dist/commands/up.d.ts.map +1 -1
- package/dist/commands/up.js +71 -13
- package/dist/commands/up.js.map +1 -1
- package/dist/commands/update.d.ts.map +1 -1
- package/dist/commands/update.js +26 -5
- package/dist/commands/update.js.map +1 -1
- package/dist/commands/use.js +1 -1
- package/dist/commands/use.js.map +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +27 -0
- package/dist/index.js.map +1 -1
- package/dist/lib/manifest/apply.d.ts.map +1 -1
- package/dist/lib/manifest/apply.js +2 -0
- package/dist/lib/manifest/apply.js.map +1 -1
- package/dist/lib/manifest/model.d.ts +2 -0
- package/dist/lib/manifest/model.d.ts.map +1 -1
- package/dist/lib/manifest/prepare.d.ts +2 -0
- package/dist/lib/manifest/prepare.d.ts.map +1 -1
- package/dist/lib/manifest/prepare.js +1 -0
- package/dist/lib/manifest/prepare.js.map +1 -1
- package/dist/lib/manifest/resolve.js +1 -0
- package/dist/lib/manifest/resolve.js.map +1 -1
- package/dist/lib/manifest/schema.d.ts +2 -0
- package/dist/lib/manifest/schema.d.ts.map +1 -1
- package/dist/lib/manifest/schema.js +2 -0
- package/dist/lib/manifest/schema.js.map +1 -1
- package/dist/lib/restore.d.ts +3 -0
- package/dist/lib/restore.d.ts.map +1 -1
- package/dist/lib/restore.js +17 -0
- package/dist/lib/restore.js.map +1 -1
- package/dist/lib/seat-admission.d.ts +51 -0
- package/dist/lib/seat-admission.d.ts.map +1 -0
- package/dist/lib/seat-admission.js +81 -0
- package/dist/lib/seat-admission.js.map +1 -0
- package/dist/lib/seat-capture.d.ts +47 -0
- package/dist/lib/seat-capture.d.ts.map +1 -0
- package/dist/lib/seat-capture.js +195 -0
- package/dist/lib/seat-capture.js.map +1 -0
- package/dist/lib/seat-restore.d.ts +39 -0
- package/dist/lib/seat-restore.d.ts.map +1 -0
- package/dist/lib/seat-restore.js +249 -0
- package/dist/lib/seat-restore.js.map +1 -0
- package/dist/lib/seat-resume.d.ts +24 -0
- package/dist/lib/seat-resume.d.ts.map +1 -0
- package/dist/lib/seat-resume.js +127 -0
- package/dist/lib/seat-resume.js.map +1 -0
- package/package.json +5 -5
- package/dist/lib/join-target.d.ts +0 -173
- package/dist/lib/join-target.d.ts.map +0 -1
- package/dist/lib/join-target.js +0 -335
- package/dist/lib/join-target.js.map +0 -1
package/dist/lib/restore.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"restore.js","sourceRoot":"","sources":["../../src/lib/restore.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"restore.js","sourceRoot":"","sources":["../../src/lib/restore.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
import { type SeatCheckpoint } from "@cotal-ai/workspace";
|
|
2
|
+
export interface SeatAdmission {
|
|
3
|
+
readonly name: string;
|
|
4
|
+
/** The directory this checkpoint was read from, so a consumer of the captured bytes does not
|
|
5
|
+
* rebuild the path the gates already resolved. */
|
|
6
|
+
readonly directory: string;
|
|
7
|
+
readonly checkpoint: SeatCheckpoint;
|
|
8
|
+
/** The generation this destination claimed. Always the recorded one plus one. */
|
|
9
|
+
readonly generation: number;
|
|
10
|
+
/** Set when gate 3 admitted a checkpoint past its horizon under explicit operator consent. */
|
|
11
|
+
readonly staleOverrideAgeMs?: number;
|
|
12
|
+
}
|
|
13
|
+
export interface AdmitSeatsOptions {
|
|
14
|
+
/** The destination workspace root, where the claimed generation is persisted. */
|
|
15
|
+
readonly root: string;
|
|
16
|
+
/** The directory the cut wrote, holding one subdirectory per seat. */
|
|
17
|
+
readonly checkpointDir: string;
|
|
18
|
+
readonly space: string;
|
|
19
|
+
/** Principals the destination believes are live, so gate 2 can refuse adopting one. */
|
|
20
|
+
readonly liveLifecycleUids: ReadonlySet<string>;
|
|
21
|
+
/** This destination's current profile revision for a seat, by name. Returning undefined means
|
|
22
|
+
* the destination has no revision to compare, which gate 2 treats as nothing to refuse rather
|
|
23
|
+
* than as a match. */
|
|
24
|
+
readonly currentProfileConfigSha256?: (name: string) => string | undefined;
|
|
25
|
+
/** `--accept-stale-checkpoint`. Consent for gate 3 only; gate 2 has no override. */
|
|
26
|
+
readonly acceptStale?: boolean;
|
|
27
|
+
/** The caller's own admissibility condition, run over the seat names the cut actually wrote,
|
|
28
|
+
* before any gate and before any generation is claimed. It throws to refuse the whole set. */
|
|
29
|
+
readonly requireCovered?: (checkpointedNames: readonly string[]) => void;
|
|
30
|
+
/** Run once, after every gate has passed over every checkpoint and before a single generation is
|
|
31
|
+
* claimed. This is where the destination consumes the captured bytes: a refusal here must cost
|
|
32
|
+
* nothing, and it does, because no claim has been made and no process has started. It throws to
|
|
33
|
+
* refuse the whole set. */
|
|
34
|
+
readonly beforeCustody?: (admitted: readonly SeatAdmission[]) => void;
|
|
35
|
+
readonly now?: number;
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* Admit every checkpoint the cut wrote and take custody of each seat.
|
|
39
|
+
*
|
|
40
|
+
* Three phases, and the order is the point. Coverage is settled first, from the directory listing
|
|
41
|
+
* alone, so a caller's own condition (a retained seat with no checkpoint) refuses before a single
|
|
42
|
+
* byte is digested. Then all three gates run over every checkpoint, collecting admissions and
|
|
43
|
+
* claiming nothing. Only when the whole set has passed does custody advance.
|
|
44
|
+
*
|
|
45
|
+
* Claiming inside the gate loop made a refusal expensive: a later seat's refusal left an earlier
|
|
46
|
+
* seat's generation already taken by exclusive create, so the retry that was supposed to cost
|
|
47
|
+
* nothing lost that claim and could never make it again. A failure anywhere now leaves every
|
|
48
|
+
* generation unclaimed.
|
|
49
|
+
*/
|
|
50
|
+
export declare function admitSeatCheckpoints(options: AdmitSeatsOptions): SeatAdmission[];
|
|
51
|
+
//# sourceMappingURL=seat-admission.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"seat-admission.d.ts","sourceRoot":"","sources":["../../src/lib/seat-admission.ts"],"names":[],"mappings":"AAUA,OAAO,EAML,KAAK,cAAc,EACpB,MAAM,qBAAqB,CAAC;AAE7B,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB;uDACmD;IACnD,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,UAAU,EAAE,cAAc,CAAC;IACpC,iFAAiF;IACjF,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,8FAA8F;IAC9F,QAAQ,CAAC,kBAAkB,CAAC,EAAE,MAAM,CAAC;CACtC;AAED,MAAM,WAAW,iBAAiB;IAChC,iFAAiF;IACjF,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,sEAAsE;IACtE,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,uFAAuF;IACvF,QAAQ,CAAC,iBAAiB,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IAChD;;2BAEuB;IACvB,QAAQ,CAAC,0BAA0B,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,GAAG,SAAS,CAAC;IAC3E,oFAAoF;IACpF,QAAQ,CAAC,WAAW,CAAC,EAAE,OAAO,CAAC;IAC/B;mGAC+F;IAC/F,QAAQ,CAAC,cAAc,CAAC,EAAE,CAAC,iBAAiB,EAAE,SAAS,MAAM,EAAE,KAAK,IAAI,CAAC;IACzE;;;gCAG4B;IAC5B,QAAQ,CAAC,aAAa,CAAC,EAAE,CAAC,QAAQ,EAAE,SAAS,aAAa,EAAE,KAAK,IAAI,CAAC;IACtE,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC;CACvB;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,iBAAiB,GAAG,aAAa,EAAE,CA+DhF"}
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Admission: what a destination decides before it launches a preserved seat.
|
|
3
|
+
*
|
|
4
|
+
* Section 2.2's three gates in order, then section 3.3's custody transfer step 4. The order is
|
|
5
|
+
* load-bearing. Gate 1 is about the bytes, gate 2 about authority, gate 3 about usefulness, and
|
|
6
|
+
* gate 3 may have an override only because gate 2 does not. The generation is claimed after all
|
|
7
|
+
* three pass and before anything starts, so a lost claim costs nothing.
|
|
8
|
+
*/
|
|
9
|
+
import { existsSync, readdirSync } from "node:fs";
|
|
10
|
+
import { join } from "node:path";
|
|
11
|
+
import { admitSeatCheckpointRecency, assertSeatCheckpointIdentity, assertSeatCheckpointIntegrity, claimSeatWriterGenerations, readSeatCheckpoint, } from "@cotal-ai/workspace";
|
|
12
|
+
/**
|
|
13
|
+
* Admit every checkpoint the cut wrote and take custody of each seat.
|
|
14
|
+
*
|
|
15
|
+
* Three phases, and the order is the point. Coverage is settled first, from the directory listing
|
|
16
|
+
* alone, so a caller's own condition (a retained seat with no checkpoint) refuses before a single
|
|
17
|
+
* byte is digested. Then all three gates run over every checkpoint, collecting admissions and
|
|
18
|
+
* claiming nothing. Only when the whole set has passed does custody advance.
|
|
19
|
+
*
|
|
20
|
+
* Claiming inside the gate loop made a refusal expensive: a later seat's refusal left an earlier
|
|
21
|
+
* seat's generation already taken by exclusive create, so the retry that was supposed to cost
|
|
22
|
+
* nothing lost that claim and could never make it again. A failure anywhere now leaves every
|
|
23
|
+
* generation unclaimed.
|
|
24
|
+
*/
|
|
25
|
+
export function admitSeatCheckpoints(options) {
|
|
26
|
+
const directories = existsSync(options.checkpointDir)
|
|
27
|
+
? readdirSync(options.checkpointDir).sort()
|
|
28
|
+
.filter((name) => existsSync(join(options.checkpointDir, name, "checkpoint.json")))
|
|
29
|
+
: [];
|
|
30
|
+
// Phase 1, coverage, before any gate. A missing checkpoint is not a gate failure and must not
|
|
31
|
+
// wait behind one.
|
|
32
|
+
options.requireCovered?.(directories);
|
|
33
|
+
// Phase 2, the gates, over every checkpoint. Nothing is claimed here.
|
|
34
|
+
const decided = [];
|
|
35
|
+
for (const name of directories) {
|
|
36
|
+
const directory = join(options.checkpointDir, name);
|
|
37
|
+
const checkpoint = readSeatCheckpoint(directory);
|
|
38
|
+
// Gate 1, integrity. Failure here is a refusal and no other gate is consulted.
|
|
39
|
+
assertSeatCheckpointIntegrity(directory, checkpoint);
|
|
40
|
+
// Gate 2, identity. No override.
|
|
41
|
+
const current = options.currentProfileConfigSha256?.(checkpoint.name);
|
|
42
|
+
assertSeatCheckpointIdentity(checkpoint, {
|
|
43
|
+
space: options.space,
|
|
44
|
+
lifecycleUidIsLive: options.liveLifecycleUids.has(checkpoint.lifecycleUid),
|
|
45
|
+
...(current !== undefined ? { profileConfigSha256: current } : {}),
|
|
46
|
+
});
|
|
47
|
+
// Gate 3, recency.
|
|
48
|
+
const recency = admitSeatCheckpointRecency(checkpoint, {
|
|
49
|
+
now: options.now ?? Date.now(),
|
|
50
|
+
...(options.acceptStale ? { acceptStale: true } : {}),
|
|
51
|
+
});
|
|
52
|
+
decided.push({
|
|
53
|
+
name,
|
|
54
|
+
directory,
|
|
55
|
+
checkpoint,
|
|
56
|
+
// The successor value this seat will claim in phase 3, not a claim yet.
|
|
57
|
+
generation: checkpoint.generation + 1,
|
|
58
|
+
...(recency.admitted === "override" ? { staleOverrideAgeMs: recency.ageMs } : {}),
|
|
59
|
+
});
|
|
60
|
+
}
|
|
61
|
+
// Between the gates and custody, deliberately. The restore runs over checkpoints that have all
|
|
62
|
+
// passed, so it never touches a working tree for a set that was going to be refused; and it runs
|
|
63
|
+
// before any claim, so its own refusal leaves every generation unclaimed like any gate failure.
|
|
64
|
+
options.beforeCustody?.(decided);
|
|
65
|
+
// Phase 3, custody, once the whole set is admissible. Exclusive create on the SUCCESSOR value,
|
|
66
|
+
// before anything launches. A lost create means another destination is already claiming that
|
|
67
|
+
// seat, and the whole set is refused rather than adopting the winner.
|
|
68
|
+
//
|
|
69
|
+
// The set is claimed through one helper so it is all-or-nothing: each create is its own fence,
|
|
70
|
+
// so a later one can still lose after every gate passed, and a claim left behind would consume
|
|
71
|
+
// the retry over this same admissible set.
|
|
72
|
+
claimSeatWriterGenerations(options.root, decided.map((seat) => ({
|
|
73
|
+
space: seat.checkpoint.space,
|
|
74
|
+
name: seat.checkpoint.name,
|
|
75
|
+
// The recorded uid is REUSED, never minted: the durables are keyed by it.
|
|
76
|
+
lifecycleUid: seat.checkpoint.lifecycleUid,
|
|
77
|
+
generation: seat.generation,
|
|
78
|
+
})));
|
|
79
|
+
return decided;
|
|
80
|
+
}
|
|
81
|
+
//# sourceMappingURL=seat-admission.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"seat-admission.js","sourceRoot":"","sources":["../../src/lib/seat-admission.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import { type Connector } from "@cotal-ai/core";
|
|
2
|
+
import { type SeatCheckpoint } from "@cotal-ai/workspace";
|
|
3
|
+
/** The selection rule the untracked set is produced under, recorded in the checkpoint so a
|
|
4
|
+
* destination that cannot reproduce it refuses.
|
|
5
|
+
*
|
|
6
|
+
* Two clauses, and the second is not an optimization. `--exclude-standard` honors `.gitignore`,
|
|
7
|
+
* so an ignored file the seat actually needs is outside the checkpoint and has to be named
|
|
8
|
+
* separately by the operator. The `.cotal/` exclusion is a SECRECY boundary: when a seat's cwd is
|
|
9
|
+
* also the mesh root, which is what an operator gets by running `cotal up` and `cotal spawn` in
|
|
10
|
+
* one directory, the control directory is untracked and the unfiltered selection pulls
|
|
11
|
+
* `auth/broker.json`, the space account, the manager instance identity's private seed and the
|
|
12
|
+
* seat's own `.creds` into the artifact. A checkpoint carries credential REFERENCES, never
|
|
13
|
+
* values, so the control directory never travels; the destination resolves that material itself. */
|
|
14
|
+
export declare const UNTRACKED_SELECTION = "git ls-files --others --exclude-standard -z, excluding .cotal/";
|
|
15
|
+
/** Default freshness horizon: 24 hours. A property of the deployment, carried in every record so a
|
|
16
|
+
* destination and an operator cannot disagree about what was promised. */
|
|
17
|
+
export declare const DEFAULT_RECENCY_HORIZON_MS: number;
|
|
18
|
+
export interface SeatCaptureRequest {
|
|
19
|
+
/** The seat's working tree, from `ManagerResumeAgent.launch.cwd`. */
|
|
20
|
+
readonly cwd: string;
|
|
21
|
+
readonly space: string;
|
|
22
|
+
readonly name: string;
|
|
23
|
+
readonly lifecycleUid: string;
|
|
24
|
+
/** The generation this cut is taken at. The destination advances past it. */
|
|
25
|
+
readonly generation: number;
|
|
26
|
+
readonly recencyHorizonMs?: number;
|
|
27
|
+
readonly profile: SeatCheckpoint["profile"];
|
|
28
|
+
/** The connector's declared capabilities, for `sessionContinuityClass`. Never the connector's
|
|
29
|
+
* name: a continuity promise may not be inferred from a package name. Unknown capabilities are
|
|
30
|
+
* default-deny and therefore drain-only. */
|
|
31
|
+
readonly connector: Pick<Connector, "supportsResume" | "supportsSessionContinuation" | "supportsFreshStart"> | undefined;
|
|
32
|
+
readonly sessionId?: string;
|
|
33
|
+
/** The connector's session pointer file, when it declares one. */
|
|
34
|
+
readonly sessionStatePath?: string;
|
|
35
|
+
/** The workspace root this cut was taken in. A pointer under it travels anchored on the
|
|
36
|
+
* DESTINATION's root, which is the only spelling that survives a different host. */
|
|
37
|
+
readonly workspaceRoot?: string;
|
|
38
|
+
/** The harness transcript store, an operator input: this repository names the pointer file and
|
|
39
|
+
* not the store, and a default written here would be a guess presented as a fact. */
|
|
40
|
+
readonly sessionStorePaths?: readonly string[];
|
|
41
|
+
}
|
|
42
|
+
/**
|
|
43
|
+
* Capture and seal. Returns the sealed record. Throws, leaving no checkpoint directory behind,
|
|
44
|
+
* when anything cannot be captured: a partial checkpoint that looks complete is worse than none.
|
|
45
|
+
*/
|
|
46
|
+
export declare function captureSeatCheckpoint<Entry>(destination: string, entry: Entry, request: SeatCaptureRequest): SeatCheckpoint<Entry>;
|
|
47
|
+
//# sourceMappingURL=seat-capture.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"seat-capture.d.ts","sourceRoot":"","sources":["../../src/lib/seat-capture.ts"],"names":[],"mappings":"AAgBA,OAAO,EAA0B,KAAK,SAAS,EAA+B,MAAM,gBAAgB,CAAC;AACrG,OAAO,EAEL,KAAK,cAAc,EAIpB,MAAM,qBAAqB,CAAC;AAE7B;;;;;;;;;;qGAUqG;AACrG,eAAO,MAAM,mBAAmB,mEAAmE,CAAC;AAKpG;2EAC2E;AAC3E,eAAO,MAAM,0BAA0B,QAAsB,CAAC;AAM9D,MAAM,WAAW,kBAAkB;IACjC,qEAAqE;IACrE,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,6EAA6E;IAC7E,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IACnC,QAAQ,CAAC,OAAO,EAAE,cAAc,CAAC,SAAS,CAAC,CAAC;IAC5C;;iDAE6C;IAC7C,QAAQ,CAAC,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE,gBAAgB,GAAG,6BAA6B,GAAG,oBAAoB,CAAC,GAAG,SAAS,CAAC;IACzH,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,kEAAkE;IAClE,QAAQ,CAAC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IACnC;yFACqF;IACrF,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC;IAChC;0FACsF;IACtF,QAAQ,CAAC,iBAAiB,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;CAChD;AA+CD;;;GAGG;AACH,wBAAgB,qBAAqB,CAAC,KAAK,EACzC,WAAW,EAAE,MAAM,EACnB,KAAK,EAAE,KAAK,EACZ,OAAO,EAAE,kBAAkB,GAC1B,cAAc,CAAC,KAAK,CAAC,CA6GvB"}
|
|
@@ -0,0 +1,195 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Step 7 and 8 of the preservation cut: capture one seat's repository state and harness session
|
|
3
|
+
* store, then seal a checkpoint over the captured bytes.
|
|
4
|
+
*
|
|
5
|
+
* Ordering is the whole point and it is not negotiable. Capture runs only after
|
|
6
|
+
* `Manager.awaitHandleExit` has proven every child gone (step 6). A capture before that races the
|
|
7
|
+
* harness by construction: the transcript is still being written and the working tree is still
|
|
8
|
+
* being edited. Nothing in this file may be called from a path that has not proven the stop.
|
|
9
|
+
*
|
|
10
|
+
* The git work shells out to the operator's own git rather than reimplementing bundle and diff
|
|
11
|
+
* formats, so a self-hoster can verify every artifact by hand with the same commands.
|
|
12
|
+
*/
|
|
13
|
+
import { execFileSync } from "node:child_process";
|
|
14
|
+
import { mkdirSync, mkdtempSync, readdirSync, rmSync, statSync, writeFileSync } from "node:fs";
|
|
15
|
+
import { homedir } from "node:os";
|
|
16
|
+
import { dirname, join, relative, resolve, sep } from "node:path";
|
|
17
|
+
import { sessionContinuityClass } from "@cotal-ai/core";
|
|
18
|
+
import { createSeatCheckpointWriter, } from "@cotal-ai/workspace";
|
|
19
|
+
/** The selection rule the untracked set is produced under, recorded in the checkpoint so a
|
|
20
|
+
* destination that cannot reproduce it refuses.
|
|
21
|
+
*
|
|
22
|
+
* Two clauses, and the second is not an optimization. `--exclude-standard` honors `.gitignore`,
|
|
23
|
+
* so an ignored file the seat actually needs is outside the checkpoint and has to be named
|
|
24
|
+
* separately by the operator. The `.cotal/` exclusion is a SECRECY boundary: when a seat's cwd is
|
|
25
|
+
* also the mesh root, which is what an operator gets by running `cotal up` and `cotal spawn` in
|
|
26
|
+
* one directory, the control directory is untracked and the unfiltered selection pulls
|
|
27
|
+
* `auth/broker.json`, the space account, the manager instance identity's private seed and the
|
|
28
|
+
* seat's own `.creds` into the artifact. A checkpoint carries credential REFERENCES, never
|
|
29
|
+
* values, so the control directory never travels; the destination resolves that material itself. */
|
|
30
|
+
export const UNTRACKED_SELECTION = "git ls-files --others --exclude-standard -z, excluding .cotal/";
|
|
31
|
+
/** The control directory a checkpoint must never carry, relative to the seat's cwd. */
|
|
32
|
+
const CONTROL_DIR = ".cotal/";
|
|
33
|
+
/** Default freshness horizon: 24 hours. A property of the deployment, carried in every record so a
|
|
34
|
+
* destination and an operator cannot disagree about what was promised. */
|
|
35
|
+
export const DEFAULT_RECENCY_HORIZON_MS = 24 * 60 * 60 * 1000;
|
|
36
|
+
function git(cwd, args) {
|
|
37
|
+
return execFileSync("git", args, { cwd, maxBuffer: 1024 * 1024 * 1024 });
|
|
38
|
+
}
|
|
39
|
+
/**
|
|
40
|
+
* Where one captured session file lands on the destination.
|
|
41
|
+
*
|
|
42
|
+
* Anchored, never absolute: the destination has its own workspace root, its own account home and
|
|
43
|
+
* its own seat working tree, and the source host's spelling for any of them is a path the
|
|
44
|
+
* destination may not have or may not own. The anchors are tried innermost first, so a file inside
|
|
45
|
+
* the seat's tree travels with the tree rather than with the root it happens to sit under.
|
|
46
|
+
* A file under none of them has no destination-relative spelling and the cut refuses, rather than
|
|
47
|
+
* recording an absolute path a restore would write blind.
|
|
48
|
+
*/
|
|
49
|
+
function restoreDestination(path, what, cwd, workspaceRoot) {
|
|
50
|
+
const target = resolve(path);
|
|
51
|
+
const anchors = [
|
|
52
|
+
["cwd", cwd],
|
|
53
|
+
["workspace-root", workspaceRoot],
|
|
54
|
+
["home", homedir()],
|
|
55
|
+
];
|
|
56
|
+
for (const [anchor, base] of anchors) {
|
|
57
|
+
if (!base)
|
|
58
|
+
continue;
|
|
59
|
+
const rel = relative(resolve(base), target);
|
|
60
|
+
if (rel && !rel.startsWith("..") && !rel.startsWith(sep) && rel !== ".")
|
|
61
|
+
return { anchor, path: rel.split(sep).join("/") };
|
|
62
|
+
}
|
|
63
|
+
throw new Error(`seat checkpoint: ${what} ${target} is under neither the seat's working tree, the workspace root, nor this account's home, so no destination-relative path can be recorded for it`);
|
|
64
|
+
}
|
|
65
|
+
/** Every regular file under one operator-named store path, relative to that path. A store is a
|
|
66
|
+
* directory of opaque harness bytes; nothing here parses one. */
|
|
67
|
+
function storeFiles(path) {
|
|
68
|
+
const root = resolve(path);
|
|
69
|
+
const found = [];
|
|
70
|
+
const walk = (dir) => {
|
|
71
|
+
for (const entry of readdirSync(dir, { withFileTypes: true }).sort((a, b) => a.name.localeCompare(b.name))) {
|
|
72
|
+
const full = join(dir, entry.name);
|
|
73
|
+
if (entry.isDirectory())
|
|
74
|
+
walk(full);
|
|
75
|
+
else if (entry.isFile())
|
|
76
|
+
found.push(full);
|
|
77
|
+
else
|
|
78
|
+
throw new Error(`seat checkpoint: session store entry ${full} is neither a regular file nor a directory`);
|
|
79
|
+
}
|
|
80
|
+
};
|
|
81
|
+
if (!statSync(root).isDirectory())
|
|
82
|
+
throw new Error(`seat checkpoint: session store ${root} is not a directory`);
|
|
83
|
+
walk(root);
|
|
84
|
+
return found;
|
|
85
|
+
}
|
|
86
|
+
/**
|
|
87
|
+
* Capture and seal. Returns the sealed record. Throws, leaving no checkpoint directory behind,
|
|
88
|
+
* when anything cannot be captured: a partial checkpoint that looks complete is worse than none.
|
|
89
|
+
*/
|
|
90
|
+
export function captureSeatCheckpoint(destination, entry, request) {
|
|
91
|
+
const { cwd } = request;
|
|
92
|
+
const base = git(cwd, ["rev-parse", "HEAD"]).toString("utf8").trim();
|
|
93
|
+
if (!/^[0-9a-f]{40,64}$/.test(base))
|
|
94
|
+
throw new Error(`seat checkpoint: ${cwd} did not report a full base object id (got ${JSON.stringify(base)})`);
|
|
95
|
+
// git writes the bundle and the diffs here first, so the checkpoint writer only ever copies a
|
|
96
|
+
// finished file and digests what it copied. The parent is the checkpoint destination's own
|
|
97
|
+
// parent, which the caller may not have created yet on a first cut.
|
|
98
|
+
const parent = dirname(resolve(destination));
|
|
99
|
+
mkdirSync(parent, { recursive: true, mode: 0o700 });
|
|
100
|
+
const staging = mkdtempSync(join(parent, "cotal-seat-capture-"));
|
|
101
|
+
const writer = createSeatCheckpointWriter(destination);
|
|
102
|
+
try {
|
|
103
|
+
const bundlePath = join(staging, "repo.bundle");
|
|
104
|
+
git(cwd, ["bundle", "create", bundlePath, "--all"]);
|
|
105
|
+
// Two diffs, not one. A single diff against the base records the difference between that
|
|
106
|
+
// commit and the worktree without recording which parts were STAGED, so a restore from it
|
|
107
|
+
// reports every change as unstaged. Base-to-index and index-to-worktree, applied in that
|
|
108
|
+
// order, reproduce the source's `git status --porcelain`, worktree bytes and staged content
|
|
109
|
+
// together.
|
|
110
|
+
const indexDiffPath = join(staging, "repo.index.diff");
|
|
111
|
+
writeFileSync(indexDiffPath, git(cwd, ["diff", "--binary", "--cached"]));
|
|
112
|
+
const worktreeDiffPath = join(staging, "repo.worktree.diff");
|
|
113
|
+
writeFileSync(worktreeDiffPath, git(cwd, ["diff", "--binary"]));
|
|
114
|
+
// The untracked set has to travel as BYTES. Digesting a `git status` listing would record that
|
|
115
|
+
// the files exist without recording what is in them.
|
|
116
|
+
const untrackedPath = join(staging, "repo.untracked.tar");
|
|
117
|
+
const names = git(cwd, ["ls-files", "--others", "--exclude-standard", "-z"])
|
|
118
|
+
.toString("utf8").split("\0").filter(Boolean)
|
|
119
|
+
// Drop the control directory and everything under it: see UNTRACKED_SELECTION.
|
|
120
|
+
.filter((name) => name !== CONTROL_DIR.slice(0, -1) && !name.startsWith(CONTROL_DIR));
|
|
121
|
+
const namesFile = join(staging, "untracked.list");
|
|
122
|
+
writeFileSync(namesFile, names.length ? `${names.join("\0")}\0` : "");
|
|
123
|
+
execFileSync("tar", ["--null", "--files-from", namesFile, "-cf", untrackedPath], { cwd, maxBuffer: 1024 * 1024 * 1024 });
|
|
124
|
+
// The status a destination compares its promoted tree against, read under the same selection
|
|
125
|
+
// rule the untracked set was produced under. `git status --porcelain` reports the control
|
|
126
|
+
// directory the capture deliberately excludes, so a raw reading would describe a tree these
|
|
127
|
+
// bytes cannot reproduce and every restore would refuse.
|
|
128
|
+
const status = git(cwd, ["status", "--porcelain"]).toString("utf8")
|
|
129
|
+
.split("\n").filter(Boolean)
|
|
130
|
+
.filter((line) => !(line.startsWith("?? ") && (line.slice(3) === CONTROL_DIR || line.slice(3).startsWith(CONTROL_DIR))))
|
|
131
|
+
.map((line) => `${line}\n`).join("");
|
|
132
|
+
const bundle = writer.captureFile("repo.bundle", "bundle", bundlePath);
|
|
133
|
+
const indexDiff = writer.captureFile("repo.index.diff", "index-diff", indexDiffPath);
|
|
134
|
+
const worktreeDiff = writer.captureFile("repo.worktree.diff", "worktree-diff", worktreeDiffPath);
|
|
135
|
+
const untracked = writer.captureFile("repo.untracked.tar", "untracked", untrackedPath);
|
|
136
|
+
const untrackedSet = new Set(names);
|
|
137
|
+
// A store file the untracked archive already carries would be captured twice and restored
|
|
138
|
+
// twice, and the second placement would land on a file the extraction just wrote. Refuse at
|
|
139
|
+
// the cut rather than produce an artifact whose own restore cannot complete.
|
|
140
|
+
const destinationFor = (path, what) => {
|
|
141
|
+
const destination = restoreDestination(path, what, cwd, request.workspaceRoot);
|
|
142
|
+
if (destination.anchor === "cwd" && untrackedSet.has(destination.path))
|
|
143
|
+
throw new Error(`seat checkpoint: ${what} ${resolve(path)} is already carried by the untracked capture of ${cwd}; name a store outside the seat's working tree`);
|
|
144
|
+
return destination;
|
|
145
|
+
};
|
|
146
|
+
const pointer = request.sessionStatePath
|
|
147
|
+
? writer.captureFile("session-pointer.json", "session-pointer", request.sessionStatePath, destinationFor(request.sessionStatePath, "the connector session pointer"))
|
|
148
|
+
: undefined;
|
|
149
|
+
// Each operator-named store path is a directory of opaque harness bytes, captured file by file
|
|
150
|
+
// so every one travels by size and digest like everything else in the record.
|
|
151
|
+
const store = [];
|
|
152
|
+
for (const path of request.sessionStorePaths ?? []) {
|
|
153
|
+
for (const file of storeFiles(path)) {
|
|
154
|
+
store.push(writer.captureFile(`session-store.${store.length}`, "session-store", file, destinationFor(file, "a session store file")));
|
|
155
|
+
}
|
|
156
|
+
}
|
|
157
|
+
// What the connector DECLARES, capped by what this cut actually carried. A class is a promise
|
|
158
|
+
// a destination is entitled to act on, and `exact` or `fork` promises a session the destination
|
|
159
|
+
// can reopen, which takes BOTH halves: the pointer names the session and the store holds the
|
|
160
|
+
// transcript it reopens. A pointer alone names a session whose bytes are not in the artifact,
|
|
161
|
+
// so it is capped exactly like carrying nothing. Capping here keeps the promise answerable to
|
|
162
|
+
// the artifact rather than to the declaration.
|
|
163
|
+
const declared = sessionContinuityClass(request.connector ?? {});
|
|
164
|
+
const carriesSession = pointer !== undefined && store.length > 0;
|
|
165
|
+
const continuity = !carriesSession && (declared === "exact" || declared === "fork")
|
|
166
|
+
? (request.connector?.supportsFreshStart ? "fresh" : "drain-only")
|
|
167
|
+
: declared;
|
|
168
|
+
const session = {
|
|
169
|
+
continuity,
|
|
170
|
+
...(request.sessionId ? { sessionId: request.sessionId } : {}),
|
|
171
|
+
...(pointer ? { pointer } : {}),
|
|
172
|
+
store,
|
|
173
|
+
};
|
|
174
|
+
return writer.seal({
|
|
175
|
+
entry,
|
|
176
|
+
space: request.space,
|
|
177
|
+
name: request.name,
|
|
178
|
+
lifecycleUid: request.lifecycleUid,
|
|
179
|
+
generation: request.generation,
|
|
180
|
+
capturedAt: new Date().toISOString(),
|
|
181
|
+
recencyHorizonMs: request.recencyHorizonMs ?? DEFAULT_RECENCY_HORIZON_MS,
|
|
182
|
+
profile: request.profile,
|
|
183
|
+
repository: { base, untrackedSelection: UNTRACKED_SELECTION, status, bundle, indexDiff, worktreeDiff, untracked },
|
|
184
|
+
session,
|
|
185
|
+
});
|
|
186
|
+
}
|
|
187
|
+
catch (error) {
|
|
188
|
+
writer.cleanup();
|
|
189
|
+
throw error;
|
|
190
|
+
}
|
|
191
|
+
finally {
|
|
192
|
+
rmSync(staging, { recursive: true, force: true });
|
|
193
|
+
}
|
|
194
|
+
}
|
|
195
|
+
//# sourceMappingURL=seat-capture.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"seat-capture.js","sourceRoot":"","sources":["../../src/lib/seat-capture.ts"],"names":[],"mappings":"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"}
|