@cotal-ai/manager 0.53.0 → 0.54.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.
@@ -1 +1 @@
1
- {"version":3,"file":"remote-register.d.ts","sourceRoot":"","sources":["../src/remote-register.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,mBAAmB,EAgBpB,MAAM,gBAAgB,CAAC;AAGxB;;;;GAIG;AACH,wBAAsB,8BAA8B,CAAC,IAAI,EAAE;IACzD,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB;;kGAE8F;IAC9F,WAAW,EAAE,OAAO,CAAC;IACrB,KAAK,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;IAC/C,4FAA4F;IAC5F,4BAA4B,CAAC,EAAE,CAAC,UAAU,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CACtE,GAAG,OAAO,CAAC;IAAE,oBAAoB,EAAE,MAAM,CAAC;IAAC,YAAY,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,OAAO,CAAC,UAAU,CAAC,OAAO,mBAAmB,CAAC,CAAC,CAAA;CAAE,CAAC,CA0E/H"}
1
+ {"version":3,"file":"remote-register.d.ts","sourceRoot":"","sources":["../src/remote-register.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,mBAAmB,EAkBpB,MAAM,gBAAgB,CAAC;AAGxB;;;;GAIG;AACH,wBAAsB,8BAA8B,CAAC,IAAI,EAAE;IACzD,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB;;kGAE8F;IAC9F,WAAW,EAAE,OAAO,CAAC;IACrB,KAAK,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;IAC/C,4FAA4F;IAC5F,4BAA4B,CAAC,EAAE,CAAC,UAAU,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CACtE,GAAG,OAAO,CAAC;IAAE,oBAAoB,EAAE,MAAM,CAAC;IAAC,YAAY,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,OAAO,CAAC,UAAU,CAAC,OAAO,mBAAmB,CAAC,CAAC,CAAA;CAAE,CAAC,CAyF/H"}
@@ -1,6 +1,6 @@
1
1
  import { jetstreamManager } from "@nats-io/jetstream";
2
2
  import { Kvm } from "@nats-io/kv";
3
- import { authorizeServeGrant, contractArtifactCanonicalBytes, contractRefToHex, contractStoreContext, dialerFor, endpointRegistrationBarrier, epAuthBucket, fetchContractArtifact, provisionEndpointGateOpen, publishContractArtifact, readEndpointGateGeneration, recordsBucket, registerServiceInstance, serveIssuanceGateKv, standaloneConnectOpts, } from "@cotal-ai/core";
3
+ import { authorizeServeGrant, contractArtifactCanonicalBytes, contractRefToHex, contractStoreContext, dialerFor, endpointRegistrationBarrier, epAuthBucket, fetchContractArtifact, provisionEndpointGateOpen, publishContractArtifact, readEndpointGateGeneration, recordsBucket, registerServiceInstance, serveIssuanceGateKv, standaloneConnectOpts, SERVICE_READY, writeServiceStatus, } from "@cotal-ai/core";
4
4
  import { MANAGER_ENDPOINT, managerAuthorityContractSource, managerClusterArtifacts } from "./manager-service-contract.js";
5
5
  /**
6
6
  * Run the registration half with the host-issued prepare credential. The credential is pinned to
@@ -81,6 +81,22 @@ export async function registerRemoteManagerAuthority(args) {
81
81
  },
82
82
  readClusterArtifact,
83
83
  });
84
+ await writeServiceStatus(recordsKv, {
85
+ endpoint: MANAGER_ENDPOINT,
86
+ instanceId: args.instanceId,
87
+ epoch: observed.processEpoch,
88
+ status: {
89
+ state: SERVICE_READY,
90
+ epoch: observed.processEpoch,
91
+ observedSpecRevision: observed.registrationRevision,
92
+ },
93
+ readProcessEpoch: async () => {
94
+ const current = await fence.observe();
95
+ if (!current)
96
+ throw new Error("remote manager issuance gate vanished");
97
+ return current.processEpoch;
98
+ },
99
+ });
84
100
  return { registrationRevision: observed.registrationRevision, processEpoch: observed.processEpoch, serveGrant };
85
101
  }
86
102
  finally {
@@ -1 +1 @@
1
- {"version":3,"file":"remote-register.js","sourceRoot":"","sources":["../src/remote-register.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"remote-register.js","sourceRoot":"","sources":["../src/remote-register.ts"],"names":[],"mappings":"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"}
@@ -10,6 +10,14 @@ export declare class CustodialPtyRuntime implements CustodialRuntime {
10
10
  private readonly root;
11
11
  readonly kind: "pty";
12
12
  readonly supportsRelease = true;
13
+ /**
14
+ * Private cache of active SeatRecords keyed by custody reference id, populated on spawn and adopt
15
+ * and pruned on reap or release. When a managed seat cleanly exits, its custodian unlinks the
16
+ * on-disk custody file; this pinned record allows reapSeat to prove the kernel start identities and
17
+ * process group are gone without requiring the file to linger. An unadopted reference without a
18
+ * pinned record falls back to fail-closed absent handling (RuntimeReapUnproven).
19
+ */
20
+ private readonly records;
13
21
  constructor(root?: string);
14
22
  /** Mint the custody id for a seat about to be launched. Nothing is written here: the id names a
15
23
  * directory the custodian creates at launch, so a reserved id that is never spawned reaps as
@@ -1 +1 @@
1
- {"version":3,"file":"custodial-pty.d.ts","sourceRoot":"","sources":["../../src/runtime/custodial-pty.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,WAAW,EAAE,aAAa,EAAE,UAAU,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAC/F,OAAO,KAAK,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AAOxE;;;;;GAKG;AACH,qBAAa,mBAAoB,YAAW,gBAAgB;IAI9C,OAAO,CAAC,QAAQ,CAAC,IAAI;IAHjC,QAAQ,CAAC,IAAI,EAAG,KAAK,CAAU;IAC/B,QAAQ,CAAC,eAAe,QAAQ;gBAEH,IAAI,GAAE,MAA4D;IAI/F;;8FAE0F;IAC1F,OAAO,IAAI,gBAAgB;IAK3B,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,GAAG,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,gBAAgB,GAAG,WAAW;IAe7F,KAAK,CAAC,SAAS,EAAE,gBAAgB,GAAG,WAAW;IAOzC,IAAI,CAAC,SAAS,EAAE,gBAAgB,GAAG,OAAO,CAAC,mBAAmB,CAAC;CAMtE;AAED,YAAY,EAAE,aAAa,EAAE,CAAC"}
1
+ {"version":3,"file":"custodial-pty.d.ts","sourceRoot":"","sources":["../../src/runtime/custodial-pty.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,WAAW,EAAE,aAAa,EAAE,UAAU,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAC/F,OAAO,KAAK,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AAOxE;;;;;GAKG;AACH,qBAAa,mBAAoB,YAAW,gBAAgB;IAY9C,OAAO,CAAC,QAAQ,CAAC,IAAI;IAXjC,QAAQ,CAAC,IAAI,EAAG,KAAK,CAAU;IAC/B,QAAQ,CAAC,eAAe,QAAQ;IAChC;;;;;;OAMG;IACH,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAiC;gBAE5B,IAAI,GAAE,MAA4D;IAI/F;;8FAE0F;IAC1F,OAAO,IAAI,gBAAgB;IAK3B,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,GAAG,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,gBAAgB,GAAG,WAAW;IAsB7F,KAAK,CAAC,SAAS,EAAE,gBAAgB,GAAG,WAAW;IAezC,IAAI,CAAC,SAAS,EAAE,gBAAgB,GAAG,OAAO,CAAC,mBAAmB,CAAC;CAUtE;AAED,YAAY,EAAE,aAAa,EAAE,CAAC"}
@@ -15,6 +15,14 @@ export class CustodialPtyRuntime {
15
15
  root;
16
16
  kind = "pty";
17
17
  supportsRelease = true;
18
+ /**
19
+ * Private cache of active SeatRecords keyed by custody reference id, populated on spawn and adopt
20
+ * and pruned on reap or release. When a managed seat cleanly exits, its custodian unlinks the
21
+ * on-disk custody file; this pinned record allows reapSeat to prove the kernel start identities and
22
+ * process group are gone without requiring the file to linger. An unadopted reference without a
23
+ * pinned record falls back to fail-closed absent handling (RuntimeReapUnproven).
24
+ */
25
+ records = new Map();
18
26
  constructor(root = process.env.COTAL_SEAT_ROOT ?? defaultCustodyRoot()) {
19
27
  this.root = root;
20
28
  mkdirSync(this.root, { recursive: true, mode: 0o700 });
@@ -39,23 +47,42 @@ export class CustodialPtyRuntime {
39
47
  cwd,
40
48
  ...(reference ? { id: reference.id } : {}),
41
49
  });
50
+ this.records.set(rec.id, rec);
42
51
  const seat = adoptSeatSync(rec);
43
- return { ...seat, release: () => seat.close() };
52
+ return {
53
+ ...seat,
54
+ release: () => {
55
+ this.records.delete(rec.id);
56
+ seat.close();
57
+ },
58
+ };
44
59
  }
45
60
  adopt(reference) {
46
61
  if (process.platform !== "linux")
47
62
  throw unsupportedTransport();
48
63
  if (reference.kind !== "pty")
49
64
  throw new Error(`cannot adopt runtime kind "${reference.kind}" with pty`);
50
- const seat = adoptSeatSync(loadSeat(this.root, reference.id));
51
- return { ...seat, release: () => seat.close() };
65
+ const rec = loadSeat(this.root, reference.id);
66
+ this.records.set(rec.id, rec);
67
+ const seat = adoptSeatSync(rec);
68
+ return {
69
+ ...seat,
70
+ release: () => {
71
+ this.records.delete(rec.id);
72
+ seat.close();
73
+ },
74
+ };
52
75
  }
53
76
  async reap(reference) {
54
77
  if (process.platform !== "linux")
55
78
  throw unsupportedTransport();
56
79
  if (reference.kind !== "pty")
57
80
  throw new Error(`cannot reap runtime kind "${reference.kind}" with pty`);
58
- const evidence = await reapSeat(this.root, reference.id);
81
+ const pinnedRecord = this.records.get(reference.id);
82
+ const evidence = await reapSeat(this.root, reference.id, { pinnedRecord });
83
+ if (evidence.outcome === "reaped") {
84
+ this.records.delete(reference.id);
85
+ }
59
86
  return evidence.outcome === "absent" ? { outcome: "absent" } : { outcome: "reaped", detail: evidence.detail };
60
87
  }
61
88
  }
@@ -1 +1 @@
1
- {"version":3,"file":"custodial-pty.js","sourceRoot":"","sources":["../../src/runtime/custodial-pty.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"custodial-pty.js","sourceRoot":"","sources":["../../src/runtime/custodial-pty.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@cotal-ai/manager",
3
3
  "description": "Cotal agent supervisor: spawns and manages mesh nodes via a pluggable runtime (pty/tmux/cmux/orca/herdr).",
4
- "version": "0.53.0",
4
+ "version": "0.54.0",
5
5
  "license": "Apache-2.0",
6
6
  "repository": {
7
7
  "type": "git",
@@ -30,21 +30,21 @@
30
30
  "ws": "^8.21.0",
31
31
  "yaml": "^2.9.0",
32
32
  "zod": "^4.4.3",
33
- "@cotal-ai/core": "0.53.0",
34
- "@cotal-ai/seat": "0.53.0",
35
- "@cotal-ai/workspace": "0.53.0"
33
+ "@cotal-ai/core": "0.54.0",
34
+ "@cotal-ai/seat": "0.54.0",
35
+ "@cotal-ai/workspace": "0.54.0"
36
36
  },
37
37
  "devDependencies": {
38
38
  "@nats-io/nats-core": "^3.4.0",
39
39
  "@types/ws": "^8.18.1",
40
40
  "esbuild": "^0.28.1",
41
- "@cotal-ai/auth": "0.53.0",
42
- "@cotal-ai/connector-claude-code": "0.53.0",
43
- "@cotal-ai/connector-codex": "0.53.0",
41
+ "@cotal-ai/connector-claude-code": "0.54.0",
42
+ "@cotal-ai/auth": "0.54.0",
43
+ "@cotal-ai/connector-codex": "0.54.0",
44
44
  "@cotal-ai/smoke-kit": "0.0.0",
45
- "@cotal-ai/connector-opencode": "0.53.0",
46
- "@cotal-ai/delivery": "0.53.0",
47
- "@cotal-ai/connector-core": "0.53.0"
45
+ "@cotal-ai/connector-core": "0.54.0",
46
+ "@cotal-ai/connector-opencode": "0.54.0",
47
+ "@cotal-ai/delivery": "0.54.0"
48
48
  },
49
49
  "files": [
50
50
  "dist"