@cuna_labs/cli 0.1.0 → 0.1.1

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.
Files changed (120) hide show
  1. package/dist/bin/cuna.js +15 -2
  2. package/dist/bin/cuna.js.map +1 -1
  3. package/dist/cli/command-help.js +2 -2
  4. package/dist/cli/command-help.js.map +1 -1
  5. package/dist/cli/first-line.d.ts +80 -0
  6. package/dist/cli/first-line.d.ts.map +1 -0
  7. package/dist/cli/first-line.js +119 -0
  8. package/dist/cli/first-line.js.map +1 -0
  9. package/dist/cli/help.js +1 -1
  10. package/dist/cli/process-entrypoint.d.ts +3 -0
  11. package/dist/cli/process-entrypoint.d.ts.map +1 -1
  12. package/dist/cli/process-entrypoint.js +3 -1
  13. package/dist/cli/process-entrypoint.js.map +1 -1
  14. package/dist/cli/progress-line.d.ts +78 -0
  15. package/dist/cli/progress-line.d.ts.map +1 -0
  16. package/dist/cli/progress-line.js +94 -0
  17. package/dist/cli/progress-line.js.map +1 -0
  18. package/dist/cli/recorded-launch-prompt.d.ts +83 -0
  19. package/dist/cli/recorded-launch-prompt.d.ts.map +1 -0
  20. package/dist/cli/recorded-launch-prompt.js +80 -0
  21. package/dist/cli/recorded-launch-prompt.js.map +1 -0
  22. package/dist/cli/run.d.ts +19 -0
  23. package/dist/cli/run.d.ts.map +1 -1
  24. package/dist/cli/run.js +233 -75
  25. package/dist/cli/run.js.map +1 -1
  26. package/dist/commands/commands.js +6 -4
  27. package/dist/commands/commands.js.map +1 -1
  28. package/dist/journey/account-identity.d.ts +55 -0
  29. package/dist/journey/account-identity.d.ts.map +1 -0
  30. package/dist/journey/account-identity.js +69 -0
  31. package/dist/journey/account-identity.js.map +1 -0
  32. package/dist/journey/api-effects.d.ts +9 -0
  33. package/dist/journey/api-effects.d.ts.map +1 -1
  34. package/dist/journey/api-effects.js +172 -19
  35. package/dist/journey/api-effects.js.map +1 -1
  36. package/dist/journey/index.d.ts +3 -1
  37. package/dist/journey/index.d.ts.map +1 -1
  38. package/dist/journey/index.js +2 -0
  39. package/dist/journey/index.js.map +1 -1
  40. package/dist/journey/orchestrator.d.ts +24 -0
  41. package/dist/journey/orchestrator.d.ts.map +1 -1
  42. package/dist/journey/orchestrator.js +21 -3
  43. package/dist/journey/orchestrator.js.map +1 -1
  44. package/dist/journey/provider-launch-intent.d.ts +11 -0
  45. package/dist/journey/provider-launch-intent.d.ts.map +1 -1
  46. package/dist/journey/provider-launch-intent.js +50 -15
  47. package/dist/journey/provider-launch-intent.js.map +1 -1
  48. package/dist/journey/remote-workspace.d.ts +11 -0
  49. package/dist/journey/remote-workspace.d.ts.map +1 -1
  50. package/dist/journey/remote-workspace.js +94 -14
  51. package/dist/journey/remote-workspace.js.map +1 -1
  52. package/dist/journey/root-entry.d.ts +15 -0
  53. package/dist/journey/root-entry.d.ts.map +1 -1
  54. package/dist/journey/root-entry.js +18 -6
  55. package/dist/journey/root-entry.js.map +1 -1
  56. package/dist/journey/selection.d.ts +9 -0
  57. package/dist/journey/selection.d.ts.map +1 -1
  58. package/dist/journey/selection.js +14 -2
  59. package/dist/journey/selection.js.map +1 -1
  60. package/dist/journey/session-disposition.d.ts +45 -0
  61. package/dist/journey/session-disposition.d.ts.map +1 -0
  62. package/dist/journey/session-disposition.js +7 -0
  63. package/dist/journey/session-disposition.js.map +1 -0
  64. package/dist/journey/wait-policy.d.ts +218 -0
  65. package/dist/journey/wait-policy.d.ts.map +1 -0
  66. package/dist/journey/wait-policy.js +233 -0
  67. package/dist/journey/wait-policy.js.map +1 -0
  68. package/dist/journey/workspace-effects.d.ts +7 -1
  69. package/dist/journey/workspace-effects.d.ts.map +1 -1
  70. package/dist/journey/workspace-effects.js +131 -14
  71. package/dist/journey/workspace-effects.js.map +1 -1
  72. package/dist/machines/explorer.js +2 -2
  73. package/dist/machines/explorer.js.map +1 -1
  74. package/dist/machines/machine-first.d.ts.map +1 -1
  75. package/dist/machines/machine-first.js +2 -0
  76. package/dist/machines/machine-first.js.map +1 -1
  77. package/dist/machines/session-actionability.js +10 -0
  78. package/dist/machines/session-actionability.js.map +1 -1
  79. package/dist/machines/session-visibility.d.ts +2 -0
  80. package/dist/machines/session-visibility.d.ts.map +1 -1
  81. package/dist/machines/session-visibility.js +5 -0
  82. package/dist/machines/session-visibility.js.map +1 -1
  83. package/dist/platform/process-lock.d.ts +21 -0
  84. package/dist/platform/process-lock.d.ts.map +1 -0
  85. package/dist/platform/process-lock.js +114 -0
  86. package/dist/platform/process-lock.js.map +1 -0
  87. package/dist/runtime/boundary.d.ts +2 -0
  88. package/dist/runtime/boundary.d.ts.map +1 -1
  89. package/dist/runtime/boundary.js +155 -8
  90. package/dist/runtime/boundary.js.map +1 -1
  91. package/dist/runtime/node-foreground-session.d.ts +10 -0
  92. package/dist/runtime/node-foreground-session.d.ts.map +1 -1
  93. package/dist/runtime/node-foreground-session.js +112 -4
  94. package/dist/runtime/node-foreground-session.js.map +1 -1
  95. package/dist/runtime/terminal-client-identity.d.ts +66 -0
  96. package/dist/runtime/terminal-client-identity.d.ts.map +1 -0
  97. package/dist/runtime/terminal-client-identity.js +184 -0
  98. package/dist/runtime/terminal-client-identity.js.map +1 -0
  99. package/dist/runtime/terminal-transport.js +2 -2
  100. package/dist/runtime/terminal-transport.js.map +1 -1
  101. package/dist/sync/continuous-sync-supervisor.d.ts +64 -1
  102. package/dist/sync/continuous-sync-supervisor.d.ts.map +1 -1
  103. package/dist/sync/continuous-sync-supervisor.js +247 -28
  104. package/dist/sync/continuous-sync-supervisor.js.map +1 -1
  105. package/dist/sync/journal.js +9 -39
  106. package/dist/sync/journal.js.map +1 -1
  107. package/dist/sync/workspace-sync-product-service.d.ts +83 -1
  108. package/dist/sync/workspace-sync-product-service.d.ts.map +1 -1
  109. package/dist/sync/workspace-sync-product-service.js +324 -12
  110. package/dist/sync/workspace-sync-product-service.js.map +1 -1
  111. package/dist/terminal/foreground.d.ts.map +1 -1
  112. package/dist/terminal/foreground.js +82 -15
  113. package/dist/terminal/foreground.js.map +1 -1
  114. package/dist/terminal/workbench.d.ts +7 -0
  115. package/dist/terminal/workbench.d.ts.map +1 -1
  116. package/dist/terminal/workbench.js +24 -6
  117. package/dist/terminal/workbench.js.map +1 -1
  118. package/dist/version.d.ts +1 -1
  119. package/dist/version.js +1 -1
  120. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"node-foreground-session.js","sourceRoot":"","sources":["../../src/runtime/node-foreground-session.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"node-foreground-session.js","sourceRoot":"","sources":["../../src/runtime/node-foreground-session.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,66 @@
1
+ import type { AgentSession } from "../api/contracts.js";
2
+ import type { PlatformAdapter } from "../platform/adapter.js";
3
+ import { type ProcessLock } from "../platform/process-lock.js";
4
+ /**
5
+ * THE TERMINAL CLIENT THIS COMPUTER IS, PER (PROFILE, AGENTSESSION).
6
+ *
7
+ * WHY. The writer seat is held by a client instance id, and nothing releases
8
+ * it on detach: through migration 0221 the database clears
9
+ * `writer_client_instance_id` only when the attachment becomes
10
+ * `owner_unrecoverable`, and neither the wire nor the HTTP contract has a
11
+ * release. Every CLI process used to mint a fresh `cli:<uuid>`, so a clean
12
+ * detach followed by a re-attach from the same computer met
13
+ * `terminal_writer_held` and had to transfer (R12: epoch 2 -> 3 -> 4).
14
+ * Re-using the id makes that re-attach the SAME client, and the seat resumes.
15
+ *
16
+ * WHY THAT KEEPS ONE WRITER. The database grants a writer to the client that
17
+ * already holds the seat without moving it (0106,
18
+ * `acquire_agent_session_terminal_writer`), and the supervisor, where input
19
+ * reaches the PTY, lets a writer with the same client id and a newer
20
+ * attachment generation REPLACE its own earlier binding and drops the old one
21
+ * (`bind_attachment` in `edge/assets/agent-session-supervisor.py`, infra
22
+ * 9ccb7f8 lines 7753-7862); a different client is refused
23
+ * `attachment.writer_held`. So at the PTY there is never a second writer. The
24
+ * Edge's per-keystroke fence checks only (client id, writer epoch), so it is
25
+ * the supervisor, not the Edge, that separates two connections of one id.
26
+ *
27
+ * WHY THE LOCK. Two processes on this computer must never be the same client
28
+ * at the same time: each would replace the other's binding on every
29
+ * reconnect. The id is used only by the process holding an OS-held lock for
30
+ * that (profile, AgentSession) for the whole attachment; any other process
31
+ * mints a fresh id, as before, and is told so in one line.
32
+ */
33
+ /**
34
+ * How long an unused record is kept. The journey stops treating a session as
35
+ * recent after the same 30 days (`journey/api-effects.ts`), and a record older
36
+ * than that belongs to a session nobody here has attached to in that window.
37
+ * It is a garbage bound, not a safety one: the lock, not the age, keeps an id
38
+ * to one process.
39
+ */
40
+ export declare const TERMINAL_CLIENT_RECORD_IDLE_MS: number;
41
+ export declare const TERMINAL_CLIENT_BUSY_NOTICE = "Another Cuna process here is attached to this AgentSession \u00B7 this one attaches as a new client and may have to take control";
42
+ export interface TerminalClientScope {
43
+ readonly platform: Pick<PlatformAdapter, "paths" | "readSafeConfig" | "writeSafeConfig">;
44
+ readonly profile: string;
45
+ }
46
+ export interface TerminalClientIdentity {
47
+ readonly clientInstanceId: string;
48
+ /** `reused`: the recorded id; `minted`: a new recorded id; `busy`: a new id another process's lock kept unrecorded. */
49
+ readonly source: "reused" | "minted" | "busy";
50
+ /** Present only for `busy`: the one line the person is shown. */
51
+ readonly notice?: string;
52
+ /** The AgentSession is gone: remove its record so the id is never offered again. */
53
+ forget(): Promise<void>;
54
+ /** End the attachment's hold on the id. The record stays for the next attach. */
55
+ release(): Promise<void>;
56
+ }
57
+ /** A typed terminal state: the session cannot come back, so neither can its seat. */
58
+ export declare function isAgentSessionGone(session: Pick<AgentSession, "desiredState" | "requestState" | "processState">): boolean;
59
+ export declare function claimTerminalClientIdentity(scope: TerminalClientScope, session: Pick<AgentSession, "id" | "createdAt">, options?: {
60
+ readonly now?: () => number;
61
+ readonly mint?: () => string;
62
+ readonly lock?: (key: string) => Promise<ProcessLock | undefined>;
63
+ }): Promise<TerminalClientIdentity>;
64
+ /** Remove a session's record without holding its lock: a gone session has no attachment to protect. */
65
+ export declare function forgetTerminalClientIdentity(scope: TerminalClientScope, agentSessionId: string): Promise<void>;
66
+ //# sourceMappingURL=terminal-client-identity.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"terminal-client-identity.d.ts","sourceRoot":"","sources":["../../src/runtime/terminal-client-identity.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAExD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,EAAyB,KAAK,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAEtF;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AAEH;;;;;;GAMG;AACH,eAAO,MAAM,8BAA8B,QAA4B,CAAC;AAExE,eAAO,MAAM,2BAA2B,qIACuF,CAAC;AAMhI,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,QAAQ,EAAE,IAAI,CAAC,eAAe,EAAE,OAAO,GAAG,gBAAgB,GAAG,iBAAiB,CAAC,CAAC;IACzF,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;CAC1B;AAED,MAAM,WAAW,sBAAsB;IACrC,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC;IAClC,uHAAuH;IACvH,QAAQ,CAAC,MAAM,EAAE,QAAQ,GAAG,QAAQ,GAAG,MAAM,CAAC;IAC9C,iEAAiE;IACjE,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,oFAAoF;IACpF,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACxB,iFAAiF;IACjF,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CAC1B;AAYD,qFAAqF;AACrF,wBAAgB,kBAAkB,CAChC,OAAO,EAAE,IAAI,CAAC,YAAY,EAAE,cAAc,GAAG,cAAc,GAAG,cAAc,CAAC,GAC5E,OAAO,CAIT;AAED,wBAAsB,2BAA2B,CAC/C,KAAK,EAAE,mBAAmB,EAC1B,OAAO,EAAE,IAAI,CAAC,YAAY,EAAE,IAAI,GAAG,WAAW,CAAC,EAC/C,OAAO,GAAE;IACP,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,MAAM,CAAC;IAC5B,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,MAAM,CAAC;IAC7B,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC,WAAW,GAAG,SAAS,CAAC,CAAC;CAC9D,GACL,OAAO,CAAC,sBAAsB,CAAC,CA8CjC;AAED,uGAAuG;AACvG,wBAAsB,4BAA4B,CAAC,KAAK,EAAE,mBAAmB,EAAE,cAAc,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAEpH"}
@@ -0,0 +1,184 @@
1
+ import { createHash, randomUUID } from "node:crypto";
2
+ import { readdir, unlink } from "node:fs/promises";
3
+ import { join } from "node:path";
4
+ import { assertCanonicalUuid } from "../core/validation.js";
5
+ import { tryAcquireProcessLock } from "../platform/process-lock.js";
6
+ /**
7
+ * THE TERMINAL CLIENT THIS COMPUTER IS, PER (PROFILE, AGENTSESSION).
8
+ *
9
+ * WHY. The writer seat is held by a client instance id, and nothing releases
10
+ * it on detach: through migration 0221 the database clears
11
+ * `writer_client_instance_id` only when the attachment becomes
12
+ * `owner_unrecoverable`, and neither the wire nor the HTTP contract has a
13
+ * release. Every CLI process used to mint a fresh `cli:<uuid>`, so a clean
14
+ * detach followed by a re-attach from the same computer met
15
+ * `terminal_writer_held` and had to transfer (R12: epoch 2 -> 3 -> 4).
16
+ * Re-using the id makes that re-attach the SAME client, and the seat resumes.
17
+ *
18
+ * WHY THAT KEEPS ONE WRITER. The database grants a writer to the client that
19
+ * already holds the seat without moving it (0106,
20
+ * `acquire_agent_session_terminal_writer`), and the supervisor, where input
21
+ * reaches the PTY, lets a writer with the same client id and a newer
22
+ * attachment generation REPLACE its own earlier binding and drops the old one
23
+ * (`bind_attachment` in `edge/assets/agent-session-supervisor.py`, infra
24
+ * 9ccb7f8 lines 7753-7862); a different client is refused
25
+ * `attachment.writer_held`. So at the PTY there is never a second writer. The
26
+ * Edge's per-keystroke fence checks only (client id, writer epoch), so it is
27
+ * the supervisor, not the Edge, that separates two connections of one id.
28
+ *
29
+ * WHY THE LOCK. Two processes on this computer must never be the same client
30
+ * at the same time: each would replace the other's binding on every
31
+ * reconnect. The id is used only by the process holding an OS-held lock for
32
+ * that (profile, AgentSession) for the whole attachment; any other process
33
+ * mints a fresh id, as before, and is told so in one line.
34
+ */
35
+ /**
36
+ * How long an unused record is kept. The journey stops treating a session as
37
+ * recent after the same 30 days (`journey/api-effects.ts`), and a record older
38
+ * than that belongs to a session nobody here has attached to in that window.
39
+ * It is a garbage bound, not a safety one: the lock, not the age, keeps an id
40
+ * to one process.
41
+ */
42
+ export const TERMINAL_CLIENT_RECORD_IDLE_MS = 30 * 24 * 60 * 60 * 1_000;
43
+ export const TERMINAL_CLIENT_BUSY_NOTICE = "Another Cuna process here is attached to this AgentSession · this one attaches as a new client and may have to take control";
44
+ const LOCK_SCOPE = "terminal-client";
45
+ const RECORD_MAXIMUM_BYTES = 4_096;
46
+ const CLIENT_INSTANCE_ID = /^cli:[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/u;
47
+ /** A typed terminal state: the session cannot come back, so neither can its seat. */
48
+ export function isAgentSessionGone(session) {
49
+ return session.desiredState === "terminated" ||
50
+ session.requestState === "terminal" || session.requestState === "failed" ||
51
+ session.processState === "exited" || session.processState === "failed" || session.processState === "terminated";
52
+ }
53
+ export async function claimTerminalClientIdentity(scope, session, options = {}) {
54
+ const now = options.now ?? Date.now;
55
+ const mint = options.mint ?? (() => `cli:${randomUUID()}`);
56
+ const agentSessionId = assertCanonicalUuid(session.id, "AgentSession ID");
57
+ const lock = await (options.lock ?? ((key) => tryAcquireProcessLock(LOCK_SCOPE, key)))(lockKey(scope.profile, agentSessionId));
58
+ if (lock === undefined) {
59
+ return Object.freeze({
60
+ clientInstanceId: mint(),
61
+ source: "busy",
62
+ notice: TERMINAL_CLIENT_BUSY_NOTICE,
63
+ forget: async () => undefined,
64
+ release: async () => undefined,
65
+ });
66
+ }
67
+ const path = recordPath(scope, agentSessionId);
68
+ try {
69
+ const recorded = await readRecord(scope, path);
70
+ const stamp = new Date(now()).toISOString();
71
+ const reusable = recorded !== undefined &&
72
+ recorded.profile === scope.profile &&
73
+ recorded.agentSessionId === agentSessionId &&
74
+ recorded.sessionCreatedAt === session.createdAt &&
75
+ now() - Date.parse(recorded.lastUsedAt) <= TERMINAL_CLIENT_RECORD_IDLE_MS;
76
+ const record = reusable
77
+ ? { ...recorded, lastUsedAt: stamp }
78
+ : {
79
+ schemaVersion: 1,
80
+ profile: scope.profile,
81
+ agentSessionId,
82
+ sessionCreatedAt: session.createdAt,
83
+ clientInstanceId: mint(),
84
+ createdAt: stamp,
85
+ lastUsedAt: stamp,
86
+ };
87
+ await scope.platform.writeSafeConfig(path, `${JSON.stringify(record)}\n`, RECORD_MAXIMUM_BYTES);
88
+ await sweepIdleRecords(scope, agentSessionId, now, options.lock);
89
+ return Object.freeze({
90
+ clientInstanceId: record.clientInstanceId,
91
+ source: reusable ? "reused" : "minted",
92
+ forget: async () => { await removeRecord(path); },
93
+ release: () => lock.release(),
94
+ });
95
+ }
96
+ catch (error) {
97
+ await lock.release();
98
+ throw error;
99
+ }
100
+ }
101
+ /** Remove a session's record without holding its lock: a gone session has no attachment to protect. */
102
+ export async function forgetTerminalClientIdentity(scope, agentSessionId) {
103
+ await removeRecord(recordPath(scope, assertCanonicalUuid(agentSessionId, "AgentSession ID")));
104
+ }
105
+ function lockKey(profile, agentSessionId) {
106
+ return `${profile}\0${agentSessionId}`;
107
+ }
108
+ function profileDirectory(scope) {
109
+ // A profile name is the person's own text; the directory is its digest.
110
+ const digest = createHash("sha256").update("cuna-terminal-client-profile-v1\0").update(scope.profile).digest("hex");
111
+ return join(scope.platform.paths.stateDirectory, "terminal-clients", digest.slice(0, 32));
112
+ }
113
+ function recordPath(scope, agentSessionId) {
114
+ return join(profileDirectory(scope), `${agentSessionId}.json`);
115
+ }
116
+ async function readRecord(scope, path) {
117
+ const snapshot = await scope.platform.readSafeConfig(path, RECORD_MAXIMUM_BYTES);
118
+ if (!snapshot.exists || snapshot.text === undefined)
119
+ return undefined;
120
+ try {
121
+ const value = JSON.parse(snapshot.text);
122
+ if (value.schemaVersion !== 1 ||
123
+ typeof value.profile !== "string" ||
124
+ typeof value.agentSessionId !== "string" ||
125
+ typeof value.sessionCreatedAt !== "string" ||
126
+ typeof value.clientInstanceId !== "string" || !CLIENT_INSTANCE_ID.test(value.clientInstanceId) ||
127
+ typeof value.createdAt !== "string" ||
128
+ typeof value.lastUsedAt !== "string" || !Number.isFinite(Date.parse(value.lastUsedAt)))
129
+ return undefined;
130
+ return value;
131
+ }
132
+ catch {
133
+ // Unreadable bytes name no client; the record is rewritten below.
134
+ return undefined;
135
+ }
136
+ }
137
+ /**
138
+ * Delete this profile's records unused for longer than the idle bound, each
139
+ * only while its own lock can be taken, so a record an attachment is using is
140
+ * never removed from under it.
141
+ */
142
+ async function sweepIdleRecords(scope, claimedAgentSessionId, now, lock) {
143
+ let names;
144
+ try {
145
+ names = await readdir(profileDirectory(scope));
146
+ }
147
+ catch {
148
+ return;
149
+ }
150
+ for (const name of names) {
151
+ const agentSessionId = name.endsWith(".json") ? name.slice(0, -".json".length) : "";
152
+ if (agentSessionId === claimedAgentSessionId || !/^[0-9a-f-]{36}$/u.test(agentSessionId))
153
+ continue;
154
+ const path = recordPath(scope, agentSessionId);
155
+ let recorded;
156
+ try {
157
+ recorded = await readRecord(scope, path);
158
+ }
159
+ catch {
160
+ continue;
161
+ }
162
+ if (recorded !== undefined && now() - Date.parse(recorded.lastUsedAt) <= TERMINAL_CLIENT_RECORD_IDLE_MS)
163
+ continue;
164
+ const held = await (lock ?? ((key) => tryAcquireProcessLock(LOCK_SCOPE, key)))(lockKey(scope.profile, agentSessionId));
165
+ if (held === undefined)
166
+ continue;
167
+ try {
168
+ await removeRecord(path);
169
+ }
170
+ finally {
171
+ await held.release();
172
+ }
173
+ }
174
+ }
175
+ async function removeRecord(path) {
176
+ try {
177
+ await unlink(path);
178
+ }
179
+ catch (error) {
180
+ if (error.code !== "ENOENT")
181
+ throw error;
182
+ }
183
+ }
184
+ //# sourceMappingURL=terminal-client-identity.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"terminal-client-identity.js","sourceRoot":"","sources":["../../src/runtime/terminal-client-identity.ts"],"names":[],"mappings":"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"}
@@ -79,10 +79,10 @@ export function validateTerminalGrant(input) {
79
79
  for (const required of input.requiredCapabilities ?? []) {
80
80
  const matches = grant.capabilities.filter((capability) => capability.name === required);
81
81
  if (matches.length !== 1 || matches[0]?.availability === "unknown") {
82
- throw runtimeFailure("capability_unknown", `Cuna cannot prove terminal capability ${required}.`);
82
+ throw runtimeFailure("capability_unknown", `Cuna cannot prove terminal capability ${required}.`, { safeDetails: { capability: required } });
83
83
  }
84
84
  if (matches[0]?.availability !== "supported") {
85
- throw runtimeFailure("capability_unsupported", `Terminal capability ${required} is unsupported.`);
85
+ throw runtimeFailure("capability_unsupported", `Terminal capability ${required} is unsupported.`, { safeDetails: { capability: required } });
86
86
  }
87
87
  }
88
88
  let url;
@@ -1 +1 @@
1
- {"version":3,"file":"terminal-transport.js","sourceRoot":"","sources":["../../src/runtime/terminal-transport.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"terminal-transport.js","sourceRoot":"","sources":["../../src/runtime/terminal-transport.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import type { ExclusionPolicy } from "../workspace/exclusion.js";
2
- import { createWorkspaceManifest, type WorkspaceManifest } from "../workspace/manifest.js";
2
+ import { createWorkspaceManifest, type ManifestEntry, type WorkspaceManifest } from "../workspace/manifest.js";
3
3
  import { type FilesystemCapabilities } from "../workspace/paths.js";
4
4
  import type { WorkspaceSyncChangePage } from "./workspace-sync-protocol.js";
5
5
  export type ContinuousSyncState = "recovering" | "reconciling" | "catching_up" | "live_unverified" | "converged" | "conflicted" | "paused" | "recovery_required" | "unknown" | "stopped";
@@ -13,6 +13,28 @@ export interface ContinuousSyncSnapshot {
13
13
  readonly reason?: string;
14
14
  readonly observedAt: string;
15
15
  }
16
+ /**
17
+ * One path both sides changed, and where each version now lives. Nothing is
18
+ * ever resolved by discarding bytes: one version stays at `path`, the other is
19
+ * written beside it as `sibling` (null only when the other side deleted it).
20
+ *
21
+ * - `local_in_place`: this folder changed `path` and the incoming generation
22
+ * changed it too. The local bytes stay; the incoming ones go to the sibling.
23
+ * This is the guest's rule (PRD workspace live apply 2026-09-22 §3) seen
24
+ * from the other side, and the next local commit proposes the local version.
25
+ * - `remote_in_place`: the incoming generation directly follows this folder's
26
+ * own commit and replaces a path that commit carried. That is how a
27
+ * conflict the Machine already resolved comes back (it kept its own bytes
28
+ * and captured them as the next generation), so the Machine's version is
29
+ * accepted and the local bytes are kept as the sibling.
30
+ */
31
+ export interface ContinuousSyncConflict {
32
+ readonly code: "cuna.workspace_sync.conflict_retained";
33
+ readonly resolution: "local_in_place" | "remote_in_place";
34
+ readonly path: string;
35
+ readonly sibling: string | null;
36
+ readonly generation: number;
37
+ }
16
38
  export interface ContinuousSyncCommitReceipt {
17
39
  readonly syncId: string;
18
40
  readonly generation: number;
@@ -64,6 +86,20 @@ export type WorkspaceWatchFactory = (input: {
64
86
  readonly onEvent: (event: WorkspaceWatchEvent) => void;
65
87
  readonly onError: (error: unknown) => void;
66
88
  }) => Promise<WorkspaceWatchSubscription>;
89
+ export interface EntryProjection {
90
+ readonly path: string;
91
+ readonly kind: ManifestEntry["kind"];
92
+ readonly fingerprint: string;
93
+ readonly byteLength: number;
94
+ }
95
+ /** What a folder's durable sync state says about where its tree came from. */
96
+ export interface ContinuousSyncDurableBase {
97
+ readonly generation: number;
98
+ readonly manifestRoot: string;
99
+ readonly syncId: string;
100
+ readonly baseline: readonly EntryProjection[];
101
+ readonly updatedAt: string;
102
+ }
67
103
  export interface ContinuousWorkspaceSyncSupervisorInput {
68
104
  readonly bindingId: string;
69
105
  readonly bindingGeneration: number;
@@ -87,6 +123,22 @@ export interface ContinuousWorkspaceSyncSupervisorInput {
87
123
  readonly clock?: () => number;
88
124
  readonly sleep?: (milliseconds: number, signal: AbortSignal) => Promise<void>;
89
125
  readonly manifestBuilder?: typeof createWorkspaceManifest;
126
+ /**
127
+ * Refuse to start unless a durable state already exists in
128
+ * `stateDirectory`. A re-attach resumes from the tree the folder last
129
+ * synchronized; if that state vanished, a fresh one would adopt the current,
130
+ * possibly edited, tree as its baseline and the next remote apply would
131
+ * overwrite those edits as if they were unchanged.
132
+ */
133
+ readonly requireDurableState?: boolean;
134
+ /**
135
+ * The durable state of the generation this start directly follows, when the
136
+ * caller has just committed the local tree on top of it. It lets the new
137
+ * state know which paths that commit carried (see `remote_in_place`).
138
+ */
139
+ readonly priorBase?: Pick<ContinuousSyncDurableBase, "generation" | "baseline">;
140
+ /** Called once per retained conflict. Observers never own sync correctness. */
141
+ readonly onConflict?: (conflict: ContinuousSyncConflict) => void;
90
142
  }
91
143
  /**
92
144
  * One foreground supervisor owns one WorkspaceBinding writer lease. It keeps
@@ -97,6 +149,17 @@ export declare class ContinuousWorkspaceSyncSupervisor {
97
149
  #private;
98
150
  private constructor();
99
151
  static start(input: ContinuousWorkspaceSyncSupervisorInput): Promise<ContinuousWorkspaceSyncSupervisor>;
152
+ /**
153
+ * Reads, without starting anything, the tree a durable state says this
154
+ * folder last synchronized. Undefined when there is no state file; a file
155
+ * that fails admission throws exactly as a start would.
156
+ */
157
+ static readDurableBase(input: {
158
+ readonly stateDirectory: string;
159
+ readonly bindingId: string;
160
+ readonly bindingGeneration: number;
161
+ readonly policyDigest: string;
162
+ }): Promise<ContinuousSyncDurableBase | undefined>;
100
163
  get snapshot(): ContinuousSyncSnapshot;
101
164
  subscribe(listener: (snapshot: ContinuousSyncSnapshot) => void): () => void;
102
165
  requestScan(): void;
@@ -1 +1 @@
1
- {"version":3,"file":"continuous-sync-supervisor.d.ts","sourceRoot":"","sources":["../../src/sync/continuous-sync-supervisor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"continuous-sync-supervisor.d.ts","sourceRoot":"","sources":["../../src/sync/continuous-sync-supervisor.ts"],"names":[],"mappings":"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"}