@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":"selection.js","sourceRoot":"","sources":["../../src/journey/selection.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"selection.js","sourceRoot":"","sources":["../../src/journey/selection.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,45 @@
1
+ /**
2
+ * WHETHER THE ROW THIS JOURNEY LANDED ON IS NEW, AS ONE RULE.
3
+ *
4
+ * WHY THIS FILE EXISTS. The journey's plan and the person's answer disagree on
5
+ * one branch, and only one of them is right.
6
+ *
7
+ * `orchestrator.ts` derives its disposition from the selection plan: a plan of
8
+ * `create-required` is announced as `created`. That is true of every branch but
9
+ * one. When a recorded launch exists, `withProviderLaunchIntent`
10
+ * (`provider-launch-intent.ts`) asks "A previous launch is recorded. Create
11
+ * another session?" and, on No, dispatches the create carrying the RECORDED
12
+ * operation id rather than a fresh one — which returns the session that launch
13
+ * already produced. The plan still reads `create-required`, so the screen would
14
+ * say `Resuming the recorded launch` and then, two lines later, `AgentSession
15
+ * 00b6d65a · created`. One of those sentences is false, and it is the one that
16
+ * names the row.
17
+ *
18
+ * THE DISCRIMINATOR IS THE ANSWER, and nothing else on the path has it: the
19
+ * remote returns the same shape either way, and the local journal does not
20
+ * record which id a previous launch produced. So the rule is stated here once
21
+ * and both launch paths read it — `journey/remote-workspace.ts` for the
22
+ * remote-only menu launch, `cli/run.ts` for the local-path journey, which owns
23
+ * the prompt and is therefore the only caller that knows the answer.
24
+ *
25
+ * WHAT `reused` CLAIMS, EXACTLY. That this journey did not mint a new launch
26
+ * identity: it either selected a row that was already there, or re-dispatched
27
+ * the identity of a launch that had already been applied. It does NOT claim the
28
+ * remote performed no work. That is the distinction a person needs — am I being
29
+ * returned to something, or is something new starting — and it is the one the
30
+ * CLI can actually establish.
31
+ */
32
+ export type AgentSessionDisposition = "created" | "reused";
33
+ /** Which AgentSession a launch settled on, and whether it is new. */
34
+ export interface SettledAgentSession {
35
+ readonly agentSessionId: string;
36
+ readonly machineId: string;
37
+ readonly disposition: AgentSessionDisposition;
38
+ }
39
+ export declare function settledAgentSessionDisposition(input: {
40
+ /** What the selection plan decided before the question was asked. */
41
+ readonly planned: AgentSessionDisposition;
42
+ /** True once the recorded-launch question has been answered No. */
43
+ readonly resumedRecordedLaunch: boolean;
44
+ }): AgentSessionDisposition;
45
+ //# sourceMappingURL=session-disposition.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"session-disposition.d.ts","sourceRoot":"","sources":["../../src/journey/session-disposition.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,MAAM,MAAM,uBAAuB,GAAG,SAAS,GAAG,QAAQ,CAAC;AAE3D,qEAAqE;AACrE,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,WAAW,EAAE,uBAAuB,CAAC;CAC/C;AAED,wBAAgB,8BAA8B,CAAC,KAAK,EAAE;IACpD,qEAAqE;IACrE,QAAQ,CAAC,OAAO,EAAE,uBAAuB,CAAC;IAC1C,mEAAmE;IACnE,QAAQ,CAAC,qBAAqB,EAAE,OAAO,CAAC;CACzC,GAAG,uBAAuB,CAK1B"}
@@ -0,0 +1,7 @@
1
+ export function settledAgentSessionDisposition(input) {
2
+ // One-directional on purpose. A recorded launch can turn a planned create
3
+ // into a reuse; nothing can turn a plan that selected an existing row into a
4
+ // create, so `reused` is never overwritten.
5
+ return input.planned === "created" && input.resumedRecordedLaunch ? "reused" : input.planned;
6
+ }
7
+ //# sourceMappingURL=session-disposition.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"session-disposition.js","sourceRoot":"","sources":["../../src/journey/session-disposition.ts"],"names":[],"mappings":"AAwCA,MAAM,UAAU,8BAA8B,CAAC,KAK9C;IACC,0EAA0E;IAC1E,6EAA6E;IAC7E,4CAA4C;IAC5C,OAAO,KAAK,CAAC,OAAO,KAAK,SAAS,IAAI,KAAK,CAAC,qBAAqB,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC;AAC/F,CAAC"}
@@ -0,0 +1,218 @@
1
+ import { CunaError } from "../core/errors.js";
2
+ /**
3
+ * THE ONE PLACE THAT DECIDES HOW LONG A JOURNEY PHASE WAITS, AND WHAT THE
4
+ * SCREEN SAYS WHILE IT DOES.
5
+ *
6
+ * WHY THIS FILE EXISTS. Measured 2026-09-22 against `@cuna_labs/cli` 0.1.1
7
+ * (build bb18869345927ad8…) and edge contract b25188d361c55558… on Machine
8
+ * `rexbit-claude-qa4`, recorded in `prds/cuna-cli-latency-before-20260922.md`:
9
+ *
10
+ * 1. § 2 / § 4, run `cold1`. One `GET /v1/agent-sessions/<id>` exceeded the
11
+ * CLI's own 15 000 ms per-request budget and the WHOLE journey aborted at
12
+ * t=83 043 ms with `cuna.client.response_budget_elapsed` and
13
+ * `remote_outcome: unobserved` — against a route whose warm floor is 106 ms
14
+ * (§ 1), for an AgentSession that was healthy and still `process_state
15
+ * running` fifteen minutes later. One slow read of an IDEMPOTENT resource
16
+ * ended a journey that had plenty of its own time left.
17
+ * 2. § 3, finding 2. The longest stall was 61 259 ms on one unchanging
18
+ * sentence, `Starting Claude Code · still working — Ctrl-C cancels`, while
19
+ * this exact poll loop ran. Bytes kept flowing (the spinner repaints every
20
+ * 90 ms) and information did not, so a byte-level liveness test passes and
21
+ * misses the entire defect.
22
+ * 3. § 3, finding 3. The only escalation the CLI had was appending
23
+ * `· still working`. It never named WHAT it waited for, never showed
24
+ * elapsed time, and never named the deadline it was about to enforce — so
25
+ * the budget expiry arrived with no warning at all.
26
+ *
27
+ * SO THIS MODULE SEPARATES TWO BOUNDS THAT WERE ONE. The per-request budget in
28
+ * `core/observation-budget.ts` answers "how long do I wait for ONE response
29
+ * before I stop believing this connection". The deadline here answers "how long
30
+ * is this PHASE of the journey worth". Collapsing them made the first the
31
+ * second, which is why a single slow read could end everything.
32
+ *
33
+ * WHAT IT DOES NOT CHANGE. A non-idempotent step keeps today's behaviour
34
+ * exactly: a create, a transition or a reconcile whose response was not
35
+ * observed is still an unknown outcome, and this module never re-issues one.
36
+ * `reissueIdempotentRead` is named for the only thing it is correct for.
37
+ */
38
+ /**
39
+ * The backoff both readiness loops sleep on, kept exactly as measured.
40
+ *
41
+ * `min(2000, 100 * 2 ** min(attempt, 4))` looks like it climbs to 2 000 ms and
42
+ * does not: the exponent is capped at 4, so the value is 100, 200, 400, 800 and
43
+ * then 1 600 ms forever. The 2 000 ceiling is unreachable. Stated here because
44
+ * every deadline below is derived from this curve, and deriving one from the
45
+ * ceiling the expression appears to have overstates the old reach by 25%.
46
+ */
47
+ export declare function readinessBackoffMs(attempt: number): number;
48
+ /**
49
+ * The wall time a loop of `attempts` iterations spends sleeping on that curve.
50
+ * Exported so the deadlines below can be checked rather than believed.
51
+ */
52
+ export declare function readinessBackoffTotalMs(attempts: number): number;
53
+ /**
54
+ * How long `ready-agent-session` is worth before the CLI stops waiting.
55
+ *
56
+ * DERIVATION, from what the code already spent rather than from a new opinion.
57
+ * The loop this replaces was bounded by 90 attempts on the curve above, which
58
+ * is `readinessBackoffTotalMs(90)` = 139 100 ms of sleeping PLUS every read's
59
+ * own time — measured median 2 744 ms for this route's command and up to
60
+ * 15 000 ms when a read burns its whole budget
61
+ * (`prds/cuna-cli-latency-before-20260922.md` § 1b), so the old wall reach was
62
+ * already well above 139 s and was never a number anyone could state.
63
+ *
64
+ * 180 000 ms is that sleeping budget rounded up to three minutes. It is
65
+ * deliberately a WALL bound rather than a count of attempts: an attempt count
66
+ * cannot be rendered on a screen or promised to a person, which is exactly how
67
+ * the measured 61 s dwell and the 83 s abort both happened inside it without
68
+ * ever being named. The extra ~41 s over the old sleeping budget is the room
69
+ * the re-issue policy needs to absorb a budget refusal or two inside the same
70
+ * phase instead of ending the journey.
71
+ */
72
+ export declare const AGENT_SESSION_READY_DEADLINE_MS = 180000;
73
+ /**
74
+ * How long `ready-machine` is worth. Same derivation from the loop it replaces:
75
+ * 60 attempts on the same curve is `readinessBackoffTotalMs(60)` = 91 100 ms of
76
+ * sleeping. 120 000 ms is that rounded up to two minutes. Deliberately lower
77
+ * than the AgentSession deadline: starting an existing VM is not provisioning
78
+ * one, and the machine-create budget that DOES provision one is declared
79
+ * separately in `core/observation-budget.ts`.
80
+ */
81
+ export declare const MACHINE_READY_DEADLINE_MS = 120000;
82
+ /**
83
+ * How long the account read at the head of every journey is worth.
84
+ *
85
+ * WHY THIS ONE EXISTS SEPARATELY. `GET /v1/me` is the first read the journey
86
+ * of `cuna claude` makes, and it ran with no phase deadline at all: the
87
+ * per-request budget WAS the bound, so one elapsed budget ended the command.
88
+ * Measured 2026-09-22 after the first three deadlines were built
89
+ * (`prds/cuna-cli-latency-before-20260922.md` § 8.3): run `a5` exited 5 at
90
+ * 21 454 ms and the deliberate control `slow1` (`--timeout-ms 800`) exited 5 at
91
+ * 5 147 ms, both `cuna.client.response_budget_elapsed` on `GET /v1/me`, while
92
+ * the journey behind them had 180 000 ms of its own it never got to spend.
93
+ *
94
+ * DERIVATION, from the budget that was killing the command rather than from a
95
+ * new opinion. The read is bounded by `DEFAULT_REQUEST_BUDGET_MS`, and three of
96
+ * those is the smallest bound under which the read can burn its whole budget
97
+ * TWICE and still be dispatched a third time — one refusal absorbed is a
98
+ * coincidence, two is the shape `a5` and `slow1` produced. It is deliberately
99
+ * far below the 180 s the AgentSession phase is worth: nothing has started yet
100
+ * here, so a person waiting on it is waiting on nothing, and the honest thing
101
+ * at 45 s is to stop and say which read did not answer.
102
+ *
103
+ * NOT scaled by `--timeout-ms`. A caller who lowers the per-request budget is
104
+ * saying how long to believe ONE connection, not how long the account read is
105
+ * worth — that is the whole separation this module exists for — so a lower
106
+ * budget buys more re-issues inside the same wall bound, which is what
107
+ * `slow1` needed and did not have.
108
+ */
109
+ export declare const ACCOUNT_IDENTITY_DEADLINE_MS: number;
110
+ /**
111
+ * How long the CLI pauses before re-issuing a read whose response budget
112
+ * elapsed.
113
+ *
114
+ * DERIVATION. The read that just failed already spent its whole request budget
115
+ * — `DEFAULT_REQUEST_BUDGET_MS`, 15 000 ms, unless `--timeout-ms` lowered it —
116
+ * so a long pause on top of that would be waiting twice for the same answer.
117
+ * The measured warm floor for a complete HTTPS exchange on this exact route is
118
+ * 106 ms (`prds/cuna-cli-latency-before-20260922.md` § 1), so 250 ms is roughly
119
+ * two floors — enough that a re-issue is a new attempt rather than a hot loop,
120
+ * and under 2% of the default budget the failed attempt spent.
121
+ */
122
+ export declare const REISSUE_PAUSE_MS = 250;
123
+ export interface JourneyDeadline {
124
+ /** The declared bound, in milliseconds, for rendering and for diagnostics. */
125
+ readonly deadlineMs: number;
126
+ elapsedMs(): number;
127
+ remainingMs(): number;
128
+ /** True once no further read may be DISPATCHED. */
129
+ elapsed(): boolean;
130
+ }
131
+ /**
132
+ * Start the clock for one journey phase.
133
+ *
134
+ * THE BOUND THIS GIVES, STATED EXACTLY. `elapsed()` gates DISPATCH: a read
135
+ * already in flight when the deadline passes is awaited rather than discarded,
136
+ * because throwing away an answer that arrived is strictly worse than being
137
+ * late, and the caller reports the real `elapsed_ms` either way. So a phase
138
+ * overshoots `deadlineMs` by one request budget (`DEFAULT_REQUEST_BUDGET_MS`)
139
+ * for every read it dispatches between two checks, and is never unbounded.
140
+ * That is one read for `ensureMachineReady` and for both loops in
141
+ * `remote-workspace.ts`, and TWO for `ensureAgentSessionReady`, which reads the
142
+ * session and then the terminal authority without re-checking in between.
143
+ */
144
+ export declare function startJourneyDeadline(deadlineMs: number, now: () => number): JourneyDeadline;
145
+ export interface JourneyWait {
146
+ /**
147
+ * A noun phrase naming what has not answered yet, e.g. `the machine's
148
+ * terminal supervisor to register`. It completes the sentence "Still waiting
149
+ * for ___", so it never repeats the verb and never names a transport path.
150
+ */
151
+ readonly waitingFor: string;
152
+ readonly elapsedMs: number;
153
+ readonly deadlineMs: number;
154
+ }
155
+ export type JourneyWaitReporter = (wait: JourneyWait) => void;
156
+ /**
157
+ * The wait, as one line. Elapsed is NOT clamped to the deadline: a read still
158
+ * in flight past it truthfully reads `181s of 180s`, and hiding that would hide
159
+ * exactly the overshoot `startJourneyDeadline` documents.
160
+ */
161
+ export declare function journeyWaitLine(wait: JourneyWait): string;
162
+ /**
163
+ * Did the CLI's own per-request budget elapse, as opposed to anything the
164
+ * remote actually answered?
165
+ *
166
+ * Deliberately narrower than `isObservationBudgetCode`, which also covers
167
+ * `convergence`. A convergence budget elapses AFTER an accepted mutation, and
168
+ * re-issuing there would be a blind retry of an effect — the exact thing this
169
+ * repository refuses. Only the `response` kind of a read is re-issuable.
170
+ */
171
+ export declare function isResponseBudgetElapsed(error: unknown): error is CunaError;
172
+ export interface JourneyDeadlineElapsed {
173
+ readonly waitingFor: string;
174
+ readonly elapsedMs: number;
175
+ readonly deadlineMs: number;
176
+ /**
177
+ * How many times THIS read's response-budget refusal was absorbed and
178
+ * re-issued before the deadline elapsed. It is per-read, not per-phase: a
179
+ * phase that simply ran out of time while polling reports 0, which is what
180
+ * happened — the read that ended it was not re-issued at all.
181
+ */
182
+ readonly readReissues: number;
183
+ /** The last refusal, so the phase's typed failure can carry it as its cause. */
184
+ readonly cause: unknown;
185
+ }
186
+ export interface IdempotentReadInput<T> {
187
+ readonly waitingFor: string;
188
+ /**
189
+ * MUST be idempotent. This function may dispatch it more than once, and a
190
+ * second dispatch of anything that commits is a blind retry.
191
+ */
192
+ readonly read: () => Promise<T>;
193
+ readonly deadline: JourneyDeadline;
194
+ /**
195
+ * Declared required, read defensively. The journey effects are reachable
196
+ * without a cancellation authority, and the poll loops around this one
197
+ * already spell `signal?.aborted` for the same reason, so the abort check
198
+ * below does too rather than being the one place a missing signal throws.
199
+ */
200
+ readonly signal: AbortSignal;
201
+ readonly sleep: (milliseconds: number, signal: AbortSignal) => Promise<void>;
202
+ readonly onWait?: JourneyWaitReporter;
203
+ /** The phase's own typed failure, minted only when the deadline has elapsed. */
204
+ readonly deadlineFailure: (elapsed: JourneyDeadlineElapsed) => Error;
205
+ }
206
+ /**
207
+ * Run one idempotent read, absorbing a response-budget refusal for as long as
208
+ * the phase's deadline has not elapsed.
209
+ *
210
+ * WHAT IS AND IS NOT ABSORBED, because that discriminator is the whole
211
+ * mechanism. A `cuna.client.response_budget_elapsed` says THIS PROCESS stopped
212
+ * listening; the request may well have been answered. For a GET that is a
213
+ * reason to ask again. Everything else — a refusal the remote actually sent, a
214
+ * transport failure, a cancellation by the person at the keyboard — is an
215
+ * answer, and propagates unchanged on the first occurrence.
216
+ */
217
+ export declare function reissueIdempotentRead<T>(input: IdempotentReadInput<T>): Promise<T>;
218
+ //# sourceMappingURL=wait-policy.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"wait-policy.d.ts","sourceRoot":"","sources":["../../src/journey/wait-policy.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAE9C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmCG;AAMH;;;;;;;;GAQG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAE1D;AAED;;;GAGG;AACH,wBAAgB,uBAAuB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAIhE;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,eAAO,MAAM,+BAA+B,SAAU,CAAC;AAEvD;;;;;;;GAOG;AACH,eAAO,MAAM,yBAAyB,SAAU,CAAC;AAEjD;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,eAAO,MAAM,4BAA4B,QAAgC,CAAC;AAE1E;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,gBAAgB,MAAM,CAAC;AAEpC,MAAM,WAAW,eAAe;IAC9B,8EAA8E;IAC9E,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,SAAS,IAAI,MAAM,CAAC;IACpB,WAAW,IAAI,MAAM,CAAC;IACtB,mDAAmD;IACnD,OAAO,IAAI,OAAO,CAAC;CACpB;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,oBAAoB,CAAC,UAAU,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,MAAM,GAAG,eAAe,CAY3F;AAMD,MAAM,WAAW,WAAW;IAC1B;;;;OAIG;IACH,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;CAC7B;AAED,MAAM,MAAM,mBAAmB,GAAG,CAAC,IAAI,EAAE,WAAW,KAAK,IAAI,CAAC;AAQ9D;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,WAAW,GAAG,MAAM,CAEzD;AAMD;;;;;;;;GAQG;AACH,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,SAAS,CAE1E;AAED,MAAM,WAAW,sBAAsB;IACrC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B;;;;;OAKG;IACH,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,gFAAgF;IAChF,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;CACzB;AAED,MAAM,WAAW,mBAAmB,CAAC,CAAC;IACpC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B;;;OAGG;IACH,QAAQ,CAAC,IAAI,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,CAAC;IAChC,QAAQ,CAAC,QAAQ,EAAE,eAAe,CAAC;IACnC;;;;;OAKG;IACH,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC;IAC7B,QAAQ,CAAC,KAAK,EAAE,CAAC,YAAY,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC7E,QAAQ,CAAC,MAAM,CAAC,EAAE,mBAAmB,CAAC;IACtC,gFAAgF;IAChF,QAAQ,CAAC,eAAe,EAAE,CAAC,OAAO,EAAE,sBAAsB,KAAK,KAAK,CAAC;CACtE;AAED;;;;;;;;;;GAUG;AACH,wBAAsB,qBAAqB,CAAC,CAAC,EAAE,KAAK,EAAE,mBAAmB,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CA8BxF"}
@@ -0,0 +1,233 @@
1
+ import { DEFAULT_REQUEST_BUDGET_MS, OBSERVATION_BUDGET_CODES } from "../core/observation-budget.js";
2
+ import { CunaError } from "../core/errors.js";
3
+ /**
4
+ * THE ONE PLACE THAT DECIDES HOW LONG A JOURNEY PHASE WAITS, AND WHAT THE
5
+ * SCREEN SAYS WHILE IT DOES.
6
+ *
7
+ * WHY THIS FILE EXISTS. Measured 2026-09-22 against `@cuna_labs/cli` 0.1.1
8
+ * (build bb18869345927ad8…) and edge contract b25188d361c55558… on Machine
9
+ * `rexbit-claude-qa4`, recorded in `prds/cuna-cli-latency-before-20260922.md`:
10
+ *
11
+ * 1. § 2 / § 4, run `cold1`. One `GET /v1/agent-sessions/<id>` exceeded the
12
+ * CLI's own 15 000 ms per-request budget and the WHOLE journey aborted at
13
+ * t=83 043 ms with `cuna.client.response_budget_elapsed` and
14
+ * `remote_outcome: unobserved` — against a route whose warm floor is 106 ms
15
+ * (§ 1), for an AgentSession that was healthy and still `process_state
16
+ * running` fifteen minutes later. One slow read of an IDEMPOTENT resource
17
+ * ended a journey that had plenty of its own time left.
18
+ * 2. § 3, finding 2. The longest stall was 61 259 ms on one unchanging
19
+ * sentence, `Starting Claude Code · still working — Ctrl-C cancels`, while
20
+ * this exact poll loop ran. Bytes kept flowing (the spinner repaints every
21
+ * 90 ms) and information did not, so a byte-level liveness test passes and
22
+ * misses the entire defect.
23
+ * 3. § 3, finding 3. The only escalation the CLI had was appending
24
+ * `· still working`. It never named WHAT it waited for, never showed
25
+ * elapsed time, and never named the deadline it was about to enforce — so
26
+ * the budget expiry arrived with no warning at all.
27
+ *
28
+ * SO THIS MODULE SEPARATES TWO BOUNDS THAT WERE ONE. The per-request budget in
29
+ * `core/observation-budget.ts` answers "how long do I wait for ONE response
30
+ * before I stop believing this connection". The deadline here answers "how long
31
+ * is this PHASE of the journey worth". Collapsing them made the first the
32
+ * second, which is why a single slow read could end everything.
33
+ *
34
+ * WHAT IT DOES NOT CHANGE. A non-idempotent step keeps today's behaviour
35
+ * exactly: a create, a transition or a reconcile whose response was not
36
+ * observed is still an unknown outcome, and this module never re-issues one.
37
+ * `reissueIdempotentRead` is named for the only thing it is correct for.
38
+ */
39
+ /* -------------------------------------------------------------------------- */
40
+ /* Deadlines */
41
+ /* -------------------------------------------------------------------------- */
42
+ /**
43
+ * The backoff both readiness loops sleep on, kept exactly as measured.
44
+ *
45
+ * `min(2000, 100 * 2 ** min(attempt, 4))` looks like it climbs to 2 000 ms and
46
+ * does not: the exponent is capped at 4, so the value is 100, 200, 400, 800 and
47
+ * then 1 600 ms forever. The 2 000 ceiling is unreachable. Stated here because
48
+ * every deadline below is derived from this curve, and deriving one from the
49
+ * ceiling the expression appears to have overstates the old reach by 25%.
50
+ */
51
+ export function readinessBackoffMs(attempt) {
52
+ return Math.min(2_000, 100 * 2 ** Math.min(attempt, 4));
53
+ }
54
+ /**
55
+ * The wall time a loop of `attempts` iterations spends sleeping on that curve.
56
+ * Exported so the deadlines below can be checked rather than believed.
57
+ */
58
+ export function readinessBackoffTotalMs(attempts) {
59
+ let total = 0;
60
+ for (let attempt = 0; attempt < attempts; attempt += 1)
61
+ total += readinessBackoffMs(attempt);
62
+ return total;
63
+ }
64
+ /**
65
+ * How long `ready-agent-session` is worth before the CLI stops waiting.
66
+ *
67
+ * DERIVATION, from what the code already spent rather than from a new opinion.
68
+ * The loop this replaces was bounded by 90 attempts on the curve above, which
69
+ * is `readinessBackoffTotalMs(90)` = 139 100 ms of sleeping PLUS every read's
70
+ * own time — measured median 2 744 ms for this route's command and up to
71
+ * 15 000 ms when a read burns its whole budget
72
+ * (`prds/cuna-cli-latency-before-20260922.md` § 1b), so the old wall reach was
73
+ * already well above 139 s and was never a number anyone could state.
74
+ *
75
+ * 180 000 ms is that sleeping budget rounded up to three minutes. It is
76
+ * deliberately a WALL bound rather than a count of attempts: an attempt count
77
+ * cannot be rendered on a screen or promised to a person, which is exactly how
78
+ * the measured 61 s dwell and the 83 s abort both happened inside it without
79
+ * ever being named. The extra ~41 s over the old sleeping budget is the room
80
+ * the re-issue policy needs to absorb a budget refusal or two inside the same
81
+ * phase instead of ending the journey.
82
+ */
83
+ export const AGENT_SESSION_READY_DEADLINE_MS = 180_000;
84
+ /**
85
+ * How long `ready-machine` is worth. Same derivation from the loop it replaces:
86
+ * 60 attempts on the same curve is `readinessBackoffTotalMs(60)` = 91 100 ms of
87
+ * sleeping. 120 000 ms is that rounded up to two minutes. Deliberately lower
88
+ * than the AgentSession deadline: starting an existing VM is not provisioning
89
+ * one, and the machine-create budget that DOES provision one is declared
90
+ * separately in `core/observation-budget.ts`.
91
+ */
92
+ export const MACHINE_READY_DEADLINE_MS = 120_000;
93
+ /**
94
+ * How long the account read at the head of every journey is worth.
95
+ *
96
+ * WHY THIS ONE EXISTS SEPARATELY. `GET /v1/me` is the first read the journey
97
+ * of `cuna claude` makes, and it ran with no phase deadline at all: the
98
+ * per-request budget WAS the bound, so one elapsed budget ended the command.
99
+ * Measured 2026-09-22 after the first three deadlines were built
100
+ * (`prds/cuna-cli-latency-before-20260922.md` § 8.3): run `a5` exited 5 at
101
+ * 21 454 ms and the deliberate control `slow1` (`--timeout-ms 800`) exited 5 at
102
+ * 5 147 ms, both `cuna.client.response_budget_elapsed` on `GET /v1/me`, while
103
+ * the journey behind them had 180 000 ms of its own it never got to spend.
104
+ *
105
+ * DERIVATION, from the budget that was killing the command rather than from a
106
+ * new opinion. The read is bounded by `DEFAULT_REQUEST_BUDGET_MS`, and three of
107
+ * those is the smallest bound under which the read can burn its whole budget
108
+ * TWICE and still be dispatched a third time — one refusal absorbed is a
109
+ * coincidence, two is the shape `a5` and `slow1` produced. It is deliberately
110
+ * far below the 180 s the AgentSession phase is worth: nothing has started yet
111
+ * here, so a person waiting on it is waiting on nothing, and the honest thing
112
+ * at 45 s is to stop and say which read did not answer.
113
+ *
114
+ * NOT scaled by `--timeout-ms`. A caller who lowers the per-request budget is
115
+ * saying how long to believe ONE connection, not how long the account read is
116
+ * worth — that is the whole separation this module exists for — so a lower
117
+ * budget buys more re-issues inside the same wall bound, which is what
118
+ * `slow1` needed and did not have.
119
+ */
120
+ export const ACCOUNT_IDENTITY_DEADLINE_MS = 3 * DEFAULT_REQUEST_BUDGET_MS;
121
+ /**
122
+ * How long the CLI pauses before re-issuing a read whose response budget
123
+ * elapsed.
124
+ *
125
+ * DERIVATION. The read that just failed already spent its whole request budget
126
+ * — `DEFAULT_REQUEST_BUDGET_MS`, 15 000 ms, unless `--timeout-ms` lowered it —
127
+ * so a long pause on top of that would be waiting twice for the same answer.
128
+ * The measured warm floor for a complete HTTPS exchange on this exact route is
129
+ * 106 ms (`prds/cuna-cli-latency-before-20260922.md` § 1), so 250 ms is roughly
130
+ * two floors — enough that a re-issue is a new attempt rather than a hot loop,
131
+ * and under 2% of the default budget the failed attempt spent.
132
+ */
133
+ export const REISSUE_PAUSE_MS = 250;
134
+ /**
135
+ * Start the clock for one journey phase.
136
+ *
137
+ * THE BOUND THIS GIVES, STATED EXACTLY. `elapsed()` gates DISPATCH: a read
138
+ * already in flight when the deadline passes is awaited rather than discarded,
139
+ * because throwing away an answer that arrived is strictly worse than being
140
+ * late, and the caller reports the real `elapsed_ms` either way. So a phase
141
+ * overshoots `deadlineMs` by one request budget (`DEFAULT_REQUEST_BUDGET_MS`)
142
+ * for every read it dispatches between two checks, and is never unbounded.
143
+ * That is one read for `ensureMachineReady` and for both loops in
144
+ * `remote-workspace.ts`, and TWO for `ensureAgentSessionReady`, which reads the
145
+ * session and then the terminal authority without re-checking in between.
146
+ */
147
+ export function startJourneyDeadline(deadlineMs, now) {
148
+ if (!Number.isFinite(deadlineMs) || deadlineMs < 0) {
149
+ throw new TypeError("A journey deadline must be a non-negative number of milliseconds.");
150
+ }
151
+ const startedAt = now();
152
+ const elapsedMs = () => Math.max(0, now() - startedAt);
153
+ return Object.freeze({
154
+ deadlineMs,
155
+ elapsedMs,
156
+ remainingMs: () => Math.max(0, deadlineMs - elapsedMs()),
157
+ elapsed: () => elapsedMs() >= deadlineMs,
158
+ });
159
+ }
160
+ function wholeSeconds(milliseconds) {
161
+ // Floor, not round: a line that says 24s when 23.6s have passed claims time
162
+ // that has not elapsed, on the one number a person uses to judge a stall.
163
+ return Math.max(0, Math.floor(milliseconds / 1_000));
164
+ }
165
+ /**
166
+ * The wait, as one line. Elapsed is NOT clamped to the deadline: a read still
167
+ * in flight past it truthfully reads `181s of 180s`, and hiding that would hide
168
+ * exactly the overshoot `startJourneyDeadline` documents.
169
+ */
170
+ export function journeyWaitLine(wait) {
171
+ return `Still waiting for ${wait.waitingFor} · ${wholeSeconds(wait.elapsedMs)}s of ${wholeSeconds(wait.deadlineMs)}s`;
172
+ }
173
+ /* -------------------------------------------------------------------------- */
174
+ /* The re-issue rule */
175
+ /* -------------------------------------------------------------------------- */
176
+ /**
177
+ * Did the CLI's own per-request budget elapse, as opposed to anything the
178
+ * remote actually answered?
179
+ *
180
+ * Deliberately narrower than `isObservationBudgetCode`, which also covers
181
+ * `convergence`. A convergence budget elapses AFTER an accepted mutation, and
182
+ * re-issuing there would be a blind retry of an effect — the exact thing this
183
+ * repository refuses. Only the `response` kind of a read is re-issuable.
184
+ */
185
+ export function isResponseBudgetElapsed(error) {
186
+ return error instanceof CunaError && error.code === OBSERVATION_BUDGET_CODES.response;
187
+ }
188
+ /**
189
+ * Run one idempotent read, absorbing a response-budget refusal for as long as
190
+ * the phase's deadline has not elapsed.
191
+ *
192
+ * WHAT IS AND IS NOT ABSORBED, because that discriminator is the whole
193
+ * mechanism. A `cuna.client.response_budget_elapsed` says THIS PROCESS stopped
194
+ * listening; the request may well have been answered. For a GET that is a
195
+ * reason to ask again. Everything else — a refusal the remote actually sent, a
196
+ * transport failure, a cancellation by the person at the keyboard — is an
197
+ * answer, and propagates unchanged on the first occurrence.
198
+ */
199
+ export async function reissueIdempotentRead(input) {
200
+ let readReissues = 0;
201
+ for (;;) {
202
+ try {
203
+ return await input.read();
204
+ }
205
+ catch (error) {
206
+ // A person pressing Ctrl-C outranks every budget: their decision is an
207
+ // answer, and re-issuing against it would ignore it.
208
+ if (input.signal?.aborted === true)
209
+ throw error;
210
+ if (!isResponseBudgetElapsed(error))
211
+ throw error;
212
+ if (input.deadline.elapsed()) {
213
+ throw input.deadlineFailure(Object.freeze({
214
+ waitingFor: input.waitingFor,
215
+ elapsedMs: input.deadline.elapsedMs(),
216
+ deadlineMs: input.deadline.deadlineMs,
217
+ readReissues,
218
+ cause: error,
219
+ }));
220
+ }
221
+ readReissues += 1;
222
+ // Say it before sleeping, not after: the screen is the only place a
223
+ // person can see that the CLI decided to keep waiting rather than stop.
224
+ input.onWait?.(Object.freeze({
225
+ waitingFor: input.waitingFor,
226
+ elapsedMs: input.deadline.elapsedMs(),
227
+ deadlineMs: input.deadline.deadlineMs,
228
+ }));
229
+ await input.sleep(REISSUE_PAUSE_MS, input.signal);
230
+ }
231
+ }
232
+ }
233
+ //# sourceMappingURL=wait-policy.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"wait-policy.js","sourceRoot":"","sources":["../../src/journey/wait-policy.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import type { CunaApiClient } from "../api/client.js";
2
- import type { ContinuousSyncSnapshot } from "../sync/continuous-sync-supervisor.js";
2
+ import type { ContinuousSyncConflict, ContinuousSyncSnapshot } from "../sync/continuous-sync-supervisor.js";
3
3
  import { type AuthenticatedWorkspaceSyncTransport } from "../sync/workspace-sync-product-service.js";
4
4
  import type { FilesystemCapabilities } from "../workspace/paths.js";
5
5
  import type { AgentJourneyEffects } from "./orchestrator.js";
@@ -18,6 +18,12 @@ export interface WorkspaceJourneyEffectsInput {
18
18
  */
19
19
  readonly onNotice?: (line: string) => void;
20
20
  }
21
+ /**
22
+ * One line per retained conflict, naming the path, where each version now is,
23
+ * and the typed code. Before this the folder's copy of a conflicted path was
24
+ * replaced with no copy and no word (qa6 witness 2026-09-22, step 4).
25
+ */
26
+ export declare function conflictNotice(conflict: ContinuousSyncConflict): string;
21
27
  /** Local binding facts are only hints until the complete tuple is re-read from the API. */
22
28
  export interface WorkspaceJourneyEffects extends Pick<AgentJourneyEffects, "inspectWorkspace" | "synchronizeWorkspace"> {
23
29
  readonly continuousSyncSnapshot: () => ContinuousSyncSnapshot | undefined;