@12ui/design 0.2.77 → 0.2.78

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 (49) hide show
  1. package/SKILL.md +1 -1
  2. package/dist/cli-workspace-draw.d.ts +1 -1
  3. package/dist/cli-workspace-draw.d.ts.map +1 -1
  4. package/dist/cli-workspace-draw.js +3 -2
  5. package/dist/cli-workspace-draw.js.map +1 -1
  6. package/dist/mcp-slate-ui-script-remote.d.ts.map +1 -1
  7. package/dist/mcp-slate-ui-script-remote.js +10 -2
  8. package/dist/mcp-slate-ui-script-remote.js.map +1 -1
  9. package/dist/slate-image-executor.d.ts +10 -2
  10. package/dist/slate-image-executor.d.ts.map +1 -1
  11. package/dist/slate-image-executor.js +55 -12
  12. package/dist/slate-image-executor.js.map +1 -1
  13. package/dist/slate-round-prompt.d.ts +15 -3
  14. package/dist/slate-round-prompt.d.ts.map +1 -1
  15. package/dist/slate-round-prompt.js +14 -5
  16. package/dist/slate-round-prompt.js.map +1 -1
  17. package/dist/slate-workspace-types.d.ts +1 -1
  18. package/dist/slate-workspace-types.d.ts.map +1 -1
  19. package/dist/workspace-draw-client.d.ts +16 -4
  20. package/dist/workspace-draw-client.d.ts.map +1 -1
  21. package/dist/workspace-draw-client.js +28 -4
  22. package/dist/workspace-draw-client.js.map +1 -1
  23. package/dist/workspace-draw-messages.d.ts +8 -1
  24. package/dist/workspace-draw-messages.d.ts.map +1 -1
  25. package/dist/workspace-draw-messages.js +7 -2
  26. package/dist/workspace-draw-messages.js.map +1 -1
  27. package/dist/workspace-draw-run.d.ts.map +1 -1
  28. package/dist/workspace-draw-run.js +28 -8
  29. package/dist/workspace-draw-run.js.map +1 -1
  30. package/dist/workspace-draw-types.d.ts +1 -0
  31. package/dist/workspace-draw-types.d.ts.map +1 -1
  32. package/dist/workspace-draw-types.js +1 -0
  33. package/dist/workspace-draw-types.js.map +1 -1
  34. package/dist/workspace-runner-children.d.ts +11 -0
  35. package/dist/workspace-runner-children.d.ts.map +1 -1
  36. package/dist/workspace-runner-children.js +27 -0
  37. package/dist/workspace-runner-children.js.map +1 -1
  38. package/dist/workspace-runner-client.d.ts +2 -0
  39. package/dist/workspace-runner-client.d.ts.map +1 -1
  40. package/dist/workspace-runner-client.js +11 -2
  41. package/dist/workspace-runner-client.js.map +1 -1
  42. package/dist/workspace-runner-main.d.ts.map +1 -1
  43. package/dist/workspace-runner-main.js +38 -10
  44. package/dist/workspace-runner-main.js.map +1 -1
  45. package/open-design.json +2 -2
  46. package/package.json +1 -1
  47. package/runtime/codex-conversion/src/images/native-frame.mjs +103 -0
  48. package/runtime/codex-conversion/src/images/native.mjs +11 -3
  49. package/runtime/codex-conversion/src/run-store.mjs +21 -1
@@ -12,11 +12,16 @@ export const DRAW_MESSAGES = {
12
12
  unknownOp: () => 'That request is not in this workspace.',
13
13
  notDrawing: () => 'That request has no options to draw.',
14
14
  opInProgress: () => 'This request is already being drawn on this Mac. Wait for that command to finish.',
15
- /** A runner whose Mac stopped answering mid-draw still holds the request: its images may land, so nothing is drawn. */
16
- opInFlight: (args) => (`This request is still being drawn by a 12ui helper that stopped answering, and its images may still land. Wait for it; if nothing lands, it comes back to you in about ${plural(args.minutes, 'minute')}.`),
15
+ /**
16
+ * A workspace runner holds the request: drawing it now, or on a Mac that stopped answering mid-draw. Either way its
17
+ * images may land, so nothing is drawn here, and the sentence is true of both.
18
+ */
19
+ opInFlight: (args) => (`This request is being drawn by a 12ui helper, and its images may still land. Wait for it; if nothing lands, it comes back to you in about ${plural(args.minutes, 'minute')}.`),
17
20
  usage: (reason) => `${reason} Usage: 12ui workspace draw --op <request id> --token <upload token> [--origin <url>] [--engine auto|codex] [--dry-run]`,
18
21
  needsEscalation: () => 'This command must run outside the sandbox. Run the same command again with escalated permissions.',
19
22
  unreachable: () => 'design.12ui.com could not be reached from here. Run the same command again with escalated permissions.',
23
+ /** The server answered with a redirect, which no call follows (the upload token travels in a header). */
24
+ redirected: (args) => (`The 12ui server at ${args.origin} answered with a redirect, which this command does not follow. Check the --origin, then run the same command again.`),
20
25
  serverFault: () => 'design.12ui.com did not finish the request. Run the same command again.',
21
26
  /**
22
27
  * Codex cannot draw here (decision D2-B): why, in the user's words (the probe's own detail, which names conversion
@@ -1 +1 @@
1
- {"version":3,"file":"workspace-draw-messages.js","sourceRoot":"","sources":["../src/workspace-draw-messages.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"workspace-draw-messages.js","sourceRoot":"","sources":["../src/workspace-draw-messages.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"workspace-draw-run.d.ts","sourceRoot":"","sources":["../src/workspace-draw-run.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AACrE,OAAO,EAAwE,KAAK,SAAS,EAAkB,KAAK,SAAS,EAAE,MAAM,4BAA4B,CAAC;AAClK,OAAO,EAAuB,KAAK,eAAe,EAAE,MAAM,2BAA2B,CAAC;AACtF,OAAO,EAAgB,KAAK,cAAc,EAAE,KAAK,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAIrG,OAAO,KAAK,EAAgB,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAChF,OAAO,EAGL,KAAK,QAAQ,EASd,MAAM,2BAA2B,CAAC;AAEnC;;;;;;GAMG;AAEH,sHAAsH;AACtH,MAAM,MAAM,aAAa,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,eAAe,CAAC;IAAC,MAAM,EAAE,OAAO,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;AAEzI,MAAM,MAAM,gBAAgB,GAAG;IAC7B,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC;IACxB,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,KAAK,CAAC,EAAE,CAAC,YAAY,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAChD,GAAG,CAAC,EAAE,MAAM,IAAI,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,KAAK,CAAC,EAAE,cAAc,CAAC;IACvB,eAAe,CAAC,EAAE,eAAe,CAAC;IAClC,uHAAuH;IACvH,cAAc,CAAC,EAAE,mBAAmB,CAAC;IACrC,+CAA+C;IAC/C,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAClC;;;;;OAKG;IACH,YAAY,CAAC,EAAE,cAAc,CAAC;CAC/B,CAAC;AAEF,MAAM,MAAM,UAAU,GAAG;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAAE,CAAC;AAE/E,KAAK,KAAK,GAAG;IAAE,IAAI,EAAE,QAAQ,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC;AAUjD,6GAA6G;AAC7G,eAAO,MAAM,OAAO,GAAI,OAAO,OAAO,KAAG,KAAK,GAAG,IAkBhD,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,YAAY,GAAI,UAAU,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,KAAG,CAAC,CAAC,KAAK,EAAE,SAAS,KAAK,IAAI,CAS1F,CAAC;AAyBF,eAAO,MAAM,gBAAgB,GAAU,MAAM,aAAa,EAAE,OAAM,gBAAqB,KAAG,OAAO,CAAC,UAAU,CAwI3G,CAAC"}
1
+ {"version":3,"file":"workspace-draw-run.d.ts","sourceRoot":"","sources":["../src/workspace-draw-run.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AACrE,OAAO,EAAwE,KAAK,SAAS,EAAkB,KAAK,SAAS,EAAE,MAAM,4BAA4B,CAAC;AAClK,OAAO,EAAuB,KAAK,eAAe,EAAE,MAAM,2BAA2B,CAAC;AACtF,OAAO,EAAgB,KAAK,cAAc,EAAE,KAAK,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAKrG,OAAO,KAAK,EAAgB,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAChF,OAAO,EAGL,KAAK,QAAQ,EASd,MAAM,2BAA2B,CAAC;AAEnC;;;;;;GAMG;AAEH,sHAAsH;AACtH,MAAM,MAAM,aAAa,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,eAAe,CAAC;IAAC,MAAM,EAAE,OAAO,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;AAEzI,MAAM,MAAM,gBAAgB,GAAG;IAC7B,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC;IACxB,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,KAAK,CAAC,EAAE,CAAC,YAAY,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAChD,GAAG,CAAC,EAAE,MAAM,IAAI,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,KAAK,CAAC,EAAE,cAAc,CAAC;IACvB,eAAe,CAAC,EAAE,eAAe,CAAC;IAClC,uHAAuH;IACvH,cAAc,CAAC,EAAE,mBAAmB,CAAC;IACrC,+CAA+C;IAC/C,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAClC;;;;;OAKG;IACH,YAAY,CAAC,EAAE,cAAc,CAAC;CAC/B,CAAC;AAEF,MAAM,MAAM,UAAU,GAAG;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAAE,CAAC;AAE/E,KAAK,KAAK,GAAG;IAAE,IAAI,EAAE,QAAQ,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC;AAUjD,6GAA6G;AAC7G,eAAO,MAAM,OAAO,GAAI,OAAO,OAAO,KAAG,KAAK,GAAG,IAmBhD,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,YAAY,GAAI,UAAU,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,KAAG,CAAC,CAAC,KAAK,EAAE,SAAS,KAAK,IAAI,CAS1F,CAAC;AAyBF,eAAO,MAAM,gBAAgB,GAAU,MAAM,aAAa,EAAE,OAAM,gBAAqB,KAAG,OAAO,CAAC,UAAU,CAgJ3G,CAAC"}
@@ -4,6 +4,7 @@ import { drawOptionWithCodex } from './workspace-draw-codex.js';
4
4
  import { chooseEngine } from './workspace-draw-engine.js';
5
5
  import { DRAW_MESSAGES, DRAW_WAIT_EVERY_SECONDS, DRAW_WAITS, OPTION_FAILURES } from './workspace-draw-messages.js';
6
6
  import { defaultDataRoot, opRootOf, readPreviousRecord, takeOpLock, writeRecord } from './workspace-draw-store.js';
7
+ import { recordedForOp } from './workspace-runner-children.js';
7
8
  import { RUNNER_POLICY } from './workspace-runner-policy.js';
8
9
  import { DRAW_EXIT_CODES, RECORD_SCHEMA, } from './workspace-draw-types.js';
9
10
  class DrawAbort extends Error {
@@ -20,6 +21,8 @@ export const abortOf = (error) => {
20
21
  if (error instanceof DrawTransportError) {
21
22
  if (error.kind === 'unreachable')
22
23
  return { code: 'needs_escalation', message: DRAW_MESSAGES.unreachable() };
24
+ if (error.kind === 'redirect')
25
+ return { code: 'redirected', message: error.message };
23
26
  if (error.kind === 'corrupt')
24
27
  return { code: 'needs_escalation', message: DRAW_MESSAGES.serverFault() };
25
28
  return { code: 'cli_outdated', message: DRAW_MESSAGES.cliOutdated() };
@@ -60,7 +63,7 @@ const refusal = (opId, abort) => ({
60
63
  output: { ok: false, code: abort.code, op: opId, message: abort.message, record: null },
61
64
  });
62
65
  /** The precedence of run-level outcomes when several options fail differently: the one a rerun most needs first. */
63
- const ABORT_PRECEDENCE = ['cli_outdated', 'token_invalid', 'unknown_op', 'needs_escalation'];
66
+ const ABORT_PRECEDENCE = ['cli_outdated', 'token_invalid', 'unknown_op', 'redirected', 'needs_escalation'];
64
67
  const imageNames = (plan) => [...new Set(plan.options.flatMap((option) => option.images.map((image) => image.name)))];
65
68
  const imageRecords = (option, fetched) => option.images.map((image) => {
66
69
  const bytes = fetched.get(image.name);
@@ -105,11 +108,15 @@ export const runWorkspaceDraw = async (args, deps = {}) => {
105
108
  ...(deps.sleep ? { sleep: deps.sleep } : {}),
106
109
  });
107
110
  const opRoot = opRootOf(deps.dataRoot ?? defaultDataRoot(env), args.opId);
111
+ // Every Codex call is recorded under the request's own folder too, so a runner that finds this run's op lock gone
112
+ // quiet (a Mac that slept) sees the call still drawing and leaves the request alone.
113
+ const processOptions = recordedForOp(opRoot, deps.processOptions);
108
114
  // 2. Op lock (a dry run draws nothing and writes nothing, so it takes none).
109
115
  const lock = args.dryRun ? null : await takeOpLock(opRoot);
110
116
  if (!args.dryRun && !lock)
111
117
  return refusal(args.opId, { code: 'op_in_progress', message: DRAW_MESSAGES.opInProgress() });
112
- try {
118
+ /** Steps 3-8, under the op lock; every answer they give says whether this run left the runner behind (below). */
119
+ const drawLocked = async () => {
113
120
  const startedAt = clock();
114
121
  // 3. The plan and every image it names, each checked against its sha256.
115
122
  let plan;
@@ -150,11 +157,11 @@ export const runWorkspaceDraw = async (args, deps = {}) => {
150
157
  // The runner for this workspace's later clicks (already left behind if the round waited on the person). Its
151
158
  // failure to start is reported, never this request's failure: the screen then keeps telling the agent, as it does
152
159
  // when no runner is alive.
153
- const runnerReport = await leaveRunner(plan.workspace);
160
+ await leaveRunner(plan.workspace);
154
161
  // 5-7. Every pending option at once; each settles on its own.
155
162
  const previous = await readPreviousRecord(opRoot);
156
163
  const runs = await Promise.all(plan.options.map((option) => drawOption({
157
- option, fetched, engine: choice.engine, client, env, opRoot, clock, previous, deps,
164
+ option, fetched, engine: choice.engine, client, env, opRoot, clock, previous, deps, processOptions,
158
165
  }).then((run) => {
159
166
  progress(progressLine(run, choice.engine));
160
167
  return run;
@@ -194,17 +201,30 @@ export const runWorkspaceDraw = async (args, deps = {}) => {
194
201
  ...(run.record.failure ? { failure: run.record.failure } : {}),
195
202
  })),
196
203
  noReference: plan.options.filter((option) => option.noReferenceReason !== null).map((option) => option.key),
197
- // The person is told, in the sentence the agent relays, that a helper now stays on this Mac.
198
- message: runnerReport?.state === 'started' ? `${message} ${DRAW_MESSAGES.runnerStarted({ idleMinutes: RUNNER_POLICY.idleMs / 60_000 })}` : message,
204
+ message,
199
205
  record: recordPath,
200
- ...(runnerReport ? { runner: runnerReport } : {}),
201
206
  },
202
207
  };
208
+ };
209
+ try {
210
+ const result = await drawLocked();
211
+ return withRunnerReport(result, runner ? await runner : null);
203
212
  }
204
213
  finally {
205
214
  await lock?.release();
206
215
  }
207
216
  };
217
+ /**
218
+ * Whatever the run answers (drawn, refused, or no engine), once it left the runner behind: the `runner` report, and, in
219
+ * the sentence the agent relays, that a helper now stays on this Mac when one was started.
220
+ */
221
+ const withRunnerReport = (result, report) => {
222
+ if (!report)
223
+ return result;
224
+ const message = typeof result.output.message === 'string' ? result.output.message : '';
225
+ const told = report.state === 'started' ? `${message} ${DRAW_MESSAGES.runnerStarted({ idleMinutes: RUNNER_POLICY.idleMs / 60_000 })}`.trim() : message;
226
+ return { ...result, output: { ...result.output, message: told, runner: report } };
227
+ };
208
228
  const launchLine = (launched) => {
209
229
  if (launched.state === 'off')
210
230
  return `12ui workspace draw: no workspace runner (${launched.reason === 'opted_out' ? 'TWELVE_UI_NO_RUNNER=1' : 'not design.12ui.com'})`;
@@ -342,7 +362,7 @@ const drawOption = async (context) => {
342
362
  option,
343
363
  images: option.images.map((image) => context.fetched.get(image.name).bytes),
344
364
  ...(context.deps.executorFactory ? { executorFactory: context.deps.executorFactory } : {}),
345
- ...(context.deps.processOptions ? { processOptions: context.deps.processOptions } : {}),
365
+ processOptions: context.processOptions,
346
366
  });
347
367
  if (result.kind === 'environment') {
348
368
  return finish({ codex: result.details, failure: result.error }, { codexEnvironment: result.error });
@@ -1 +1 @@
1
- {"version":3,"file":"workspace-draw-run.js","sourceRoot":"","sources":["../src/workspace-draw-run.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"workspace-draw-run.js","sourceRoot":"","sources":["../src/workspace-draw-run.ts"],"names":[],"mappings":"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"}
@@ -47,6 +47,7 @@ export declare const DRAW_EXIT_CODES: {
47
47
  readonly unknown_op: 2;
48
48
  readonly op_in_progress: 2;
49
49
  readonly op_in_flight: 2;
50
+ readonly redirected: 2;
50
51
  readonly usage: 2;
51
52
  readonly needs_escalation: 3;
52
53
  readonly no_engine: 4;
@@ -1 +1 @@
1
- {"version":3,"file":"workspace-draw-types.d.ts","sourceRoot":"","sources":["../src/workspace-draw-types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"workspace-draw-types.d.ts","sourceRoot":"","sources":["../src/workspace-draw-types.ts"],"names":[],"mappings":"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"}
@@ -13,6 +13,7 @@ export const DRAW_EXIT_CODES = {
13
13
  unknown_op: 2,
14
14
  op_in_progress: 2,
15
15
  op_in_flight: 2,
16
+ redirected: 2,
16
17
  usage: 2,
17
18
  needs_escalation: 3,
18
19
  no_engine: 4,
@@ -1 +1 @@
1
- {"version":3,"file":"workspace-draw-types.js","sourceRoot":"","sources":["../src/workspace-draw-types.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAqCH,MAAM,CAAC,MAAM,WAAW,GAAG,mBAAmB,CAAC;AAE/C,4FAA4F;AAC5F,MAAM,CAAC,MAAM,eAAe,GAAG;IAC7B,IAAI,EAAE,CAAC;IACP,QAAQ,EAAE,CAAC;IACX,OAAO,EAAE,CAAC;IACV,MAAM,EAAE,CAAC;IACT,aAAa,EAAE,CAAC;IAChB,UAAU,EAAE,CAAC;IACb,cAAc,EAAE,CAAC;IACjB,YAAY,EAAE,CAAC;IACf,KAAK,EAAE,CAAC;IACR,gBAAgB,EAAE,CAAC;IACnB,SAAS,EAAE,CAAC;IACZ,YAAY,EAAE,CAAC;CACP,CAAC;AAsDX,MAAM,CAAC,MAAM,aAAa,GAAG,8BAA8B,CAAC"}
1
+ {"version":3,"file":"workspace-draw-types.js","sourceRoot":"","sources":["../src/workspace-draw-types.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAqCH,MAAM,CAAC,MAAM,WAAW,GAAG,mBAAmB,CAAC;AAE/C,4FAA4F;AAC5F,MAAM,CAAC,MAAM,eAAe,GAAG;IAC7B,IAAI,EAAE,CAAC;IACP,QAAQ,EAAE,CAAC;IACX,OAAO,EAAE,CAAC;IACV,MAAM,EAAE,CAAC;IACT,aAAa,EAAE,CAAC;IAChB,UAAU,EAAE,CAAC;IACb,cAAc,EAAE,CAAC;IACjB,YAAY,EAAE,CAAC;IACf,UAAU,EAAE,CAAC;IACb,KAAK,EAAE,CAAC;IACR,gBAAgB,EAAE,CAAC;IACnB,SAAS,EAAE,CAAC;IACZ,YAAY,EAAE,CAAC;CACP,CAAC;AAsDX,MAAM,CAAC,MAAM,aAAa,GAAG,8BAA8B,CAAC"}
@@ -16,6 +16,17 @@ export type ReapOutcome = {
16
16
  /** The executor hooks that keep the records: one written when a call's child starts, removed when it ends. */
17
17
  export declare const codexChildRecorder: (dir: string, runnerId?: string) => Required<Pick<CodexProcessOptions, "onSpawn" | "onExit">>;
18
18
  export declare const listCodexChildren: (dir: string) => Promise<CodexChildRecord[]>;
19
+ /**
20
+ * The same process hooks, each call also recorded under its request's own folder (`<opRoot>/codex/`), whoever draws it
21
+ * (the agent's command or a runner). The op lock's heartbeat stops while a Mac sleeps, so a lock that went quiet does
22
+ * not prove its run is gone; the call it started may still be drawing after the wake (`opCodexAlive`).
23
+ */
24
+ export declare const recordedForOp: (opRoot: string, options?: CodexProcessOptions) => CodexProcessOptions;
25
+ /**
26
+ * Whether a Codex call recorded for this request is still running: a live process group whose command line names the
27
+ * recorded call directory. A record whose group is gone (or now someone else's) is forgotten.
28
+ */
29
+ export declare const opCodexAlive: (opRoot: string) => Promise<boolean>;
19
30
  /**
20
31
  * Stop every recorded call whose runner is gone (a live runner finishes its own calls), and those of `alsoOf` (a
21
32
  * runner stopping its own at its deadline), forgetting each record. A call still running gets SIGTERM, then SIGKILL
@@ -1 +1 @@
1
- {"version":3,"file":"workspace-runner-children.d.ts","sourceRoot":"","sources":["../src/workspace-runner-children.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAgBrE,MAAM,MAAM,gBAAgB,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,CAAC;AAC1H,2EAA2E;AAC3E,MAAM,MAAM,WAAW,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,SAAS,GAAG,MAAM,GAAG,UAAU,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;AAOzH,8GAA8G;AAC9G,eAAO,MAAM,kBAAkB,GAAI,KAAK,MAAM,EAAE,WAAW,MAAM,KAAG,QAAQ,CAAC,IAAI,CAAC,mBAAmB,EAAE,SAAS,GAAG,QAAQ,CAAC,CAO1H,CAAC;AASH,eAAO,MAAM,iBAAiB,GAAU,KAAK,MAAM,KAAG,OAAO,CAAC,gBAAgB,EAAE,CAmB/E,CAAC;AAuBF;;;;GAIG;AACH,eAAO,MAAM,iBAAiB,GAAU,KAAK,MAAM,EAAE,UAAS;IAAE,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAA;CAAO,KAAG,OAAO,CAAC,WAAW,EAAE,CAsB/H,CAAC"}
1
+ {"version":3,"file":"workspace-runner-children.d.ts","sourceRoot":"","sources":["../src/workspace-runner-children.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAgBrE,MAAM,MAAM,gBAAgB,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,CAAC;AAC1H,2EAA2E;AAC3E,MAAM,MAAM,WAAW,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,SAAS,GAAG,MAAM,GAAG,UAAU,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;AAOzH,8GAA8G;AAC9G,eAAO,MAAM,kBAAkB,GAAI,KAAK,MAAM,EAAE,WAAW,MAAM,KAAG,QAAQ,CAAC,IAAI,CAAC,mBAAmB,EAAE,SAAS,GAAG,QAAQ,CAAC,CAO1H,CAAC;AASH,eAAO,MAAM,iBAAiB,GAAU,KAAK,MAAM,KAAG,OAAO,CAAC,gBAAgB,EAAE,CAmB/E,CAAC;AAWF;;;;GAIG;AACH,eAAO,MAAM,aAAa,GAAI,QAAQ,MAAM,EAAE,UAAS,mBAAwB,KAAG,mBAOjF,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,YAAY,GAAU,QAAQ,MAAM,KAAG,OAAO,CAAC,OAAO,CAOlE,CAAC;AAcF;;;;GAIG;AACH,eAAO,MAAM,iBAAiB,GAAU,KAAK,MAAM,EAAE,UAAS;IAAE,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAA;CAAO,KAAG,OAAO,CAAC,WAAW,EAAE,CAsB/H,CAAC"}
@@ -65,6 +65,33 @@ const groupCommands = async (pgid) => {
65
65
  return match && Number(match[1]) === pgid ? [match[2]] : [];
66
66
  });
67
67
  };
68
+ /**
69
+ * The same process hooks, each call also recorded under its request's own folder (`<opRoot>/codex/`), whoever draws it
70
+ * (the agent's command or a runner). The op lock's heartbeat stops while a Mac sleeps, so a lock that went quiet does
71
+ * not prove its run is gone; the call it started may still be drawing after the wake (`opCodexAlive`).
72
+ */
73
+ export const recordedForOp = (opRoot, options = {}) => {
74
+ const op = codexChildRecorder(opRoot);
75
+ return {
76
+ ...options,
77
+ onSpawn: async (child) => { await op.onSpawn(child); await options.onSpawn?.(child); },
78
+ onExit: async (child) => { await options.onExit?.(child); await op.onExit(child); },
79
+ };
80
+ };
81
+ /**
82
+ * Whether a Codex call recorded for this request is still running: a live process group whose command line names the
83
+ * recorded call directory. A record whose group is gone (or now someone else's) is forgotten.
84
+ */
85
+ export const opCodexAlive = async (opRoot) => {
86
+ let alive = false;
87
+ for (const record of await listCodexChildren(opRoot)) {
88
+ if ((await groupCommands(record.pgid)).some((command) => command.includes(record.callDir)))
89
+ alive = true;
90
+ else
91
+ await rm(recordFile(opRoot, record.pgid), { force: true });
92
+ }
93
+ return alive;
94
+ };
68
95
  const signalGroup = (pgid, signal) => {
69
96
  try {
70
97
  process.kill(-pgid, signal);
@@ -1 +1 @@
1
- {"version":3,"file":"workspace-runner-children.js","sourceRoot":"","sources":["../src/workspace-runner-children.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"workspace-runner-children.js","sourceRoot":"","sources":["../src/workspace-runner-children.ts"],"names":[],"mappings":"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"}
@@ -5,10 +5,12 @@ import { type DrawFetch } from './workspace-draw-client.js';
5
5
  * request. Authenticated by the upload token alone, read fresh for every call. No retry here: the runner's loop
6
6
  * owns the cadence and waits out what the server names (`retryAfterSeconds`).
7
7
  */
8
+ /** `waiting`: its round waits on the person (the inspiration pause); the server refuses its claim until it goes on. */
8
9
  export type RunningRequest = {
9
10
  opId: string;
10
11
  kind: 'round' | 'edit';
11
12
  drawer: string | null;
13
+ waiting: boolean;
12
14
  };
13
15
  export type HeartbeatAnswer = {
14
16
  workspace: string;
@@ -1 +1 @@
1
- {"version":3,"file":"workspace-runner-client.d.ts","sourceRoot":"","sources":["../src/workspace-runner-client.ts"],"names":[],"mappings":"AAAA,OAAO,EAQL,KAAK,SAAS,EACf,MAAM,4BAA4B,CAAC;AAEpC;;;;;GAKG;AAEH,MAAM,MAAM,cAAc,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,OAAO,GAAG,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,CAAC;AAE7F,MAAM,MAAM,eAAe,GAAG;IAC5B,SAAS,EAAE,MAAM,CAAC;IAClB,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,YAAY,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC;IAC1D,GAAG,EAAE,cAAc,EAAE,CAAC;CACvB,CAAC;AAMF,qHAAqH;AACrH,eAAO,MAAM,iBAAiB,GAAI,OAAO,OAAO,KAAG,eAoBlD,CAAC;AAEF,eAAO,MAAM,kBAAkB,GAAI,MAAM;IACvC,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,mFAAmF;IACnF,KAAK,EAAE,MAAM,OAAO,CAAC,MAAM,CAAC,CAAC;IAC7B,KAAK,CAAC,EAAE,SAAS,CAAC;CACnB;sBAqB2B;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,EAAE,CAAC;QAAC,QAAQ,CAAC,EAAE,OAAO,CAAA;KAAE,KAAG,OAAO,CAAC,eAAe,CAAC;kBAG1F,MAAM,YAAY,MAAM,KAAG,OAAO,CAAC;QAAE,QAAQ,EAAE,OAAO,CAAA;KAAE,CAAC;CAMhF,CAAC;AAEF,MAAM,MAAM,YAAY,GAAG,UAAU,CAAC,OAAO,kBAAkB,CAAC,CAAC"}
1
+ {"version":3,"file":"workspace-runner-client.d.ts","sourceRoot":"","sources":["../src/workspace-runner-client.ts"],"names":[],"mappings":"AAAA,OAAO,EAUL,KAAK,SAAS,EACf,MAAM,4BAA4B,CAAC;AAEpC;;;;;GAKG;AAEH,uHAAuH;AACvH,MAAM,MAAM,cAAc,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,OAAO,GAAG,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IAAC,OAAO,EAAE,OAAO,CAAA;CAAE,CAAC;AAE/G,MAAM,MAAM,eAAe,GAAG;IAC5B,SAAS,EAAE,MAAM,CAAC;IAClB,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,YAAY,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC;IAC1D,GAAG,EAAE,cAAc,EAAE,CAAC;CACvB,CAAC;AAMF,qHAAqH;AACrH,eAAO,MAAM,iBAAiB,GAAI,OAAO,OAAO,KAAG,eAuBlD,CAAC;AAEF,eAAO,MAAM,kBAAkB,GAAI,MAAM;IACvC,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,mFAAmF;IACnF,KAAK,EAAE,MAAM,OAAO,CAAC,MAAM,CAAC,CAAC;IAC7B,KAAK,CAAC,EAAE,SAAS,CAAC;CACnB;sBAyB2B;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,EAAE,CAAC;QAAC,QAAQ,CAAC,EAAE,OAAO,CAAA;KAAE,KAAG,OAAO,CAAC,eAAe,CAAC;kBAG1F,MAAM,YAAY,MAAM,KAAG,OAAO,CAAC;QAAE,QAAQ,EAAE,OAAO,CAAA;KAAE,CAAC;CAMhF,CAAC;AAEF,MAAM,MAAM,YAAY,GAAG,UAAU,CAAC,OAAO,kBAAkB,CAAC,CAAC"}
@@ -1,4 +1,4 @@
1
- import { CLI_HEADER, DrawHttpError, DrawTransportError, errorCodeOf, PUSH_HEADER, readBody, retryAfterOf, } from './workspace-draw-client.js';
1
+ import { CLI_HEADER, DrawHttpError, DrawTransportError, errorCodeOf, NO_REDIRECT, PUSH_HEADER, readBody, redirectOf, retryAfterOf, } from './workspace-draw-client.js';
2
2
  const isRecord = (value) => typeof value === 'object' && value !== null && !Array.isArray(value);
3
3
  const UUID = /^[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/u;
4
4
  /** The heartbeat answer checked before the runner acts on it: an answer this CLI cannot read is never guessed at. */
@@ -18,7 +18,11 @@ export const validateHeartbeat = (value) => {
18
18
  return fail(`op ${op.opId} has kind ${JSON.stringify(op.kind)}`);
19
19
  if (op.drawer !== null && typeof op.drawer !== 'string')
20
20
  return fail(`op ${op.opId} has a drawer that is not an id`);
21
- ops.push({ opId: op.opId, kind: op.kind, drawer: op.drawer });
21
+ // `waiting: true` while its round waits on the person, absent otherwise (and from a server older than the field,
22
+ // whose claim answers for it).
23
+ if (op.waiting !== undefined && op.waiting !== true)
24
+ return fail(`op ${op.opId} has a waiting flag that is not true`);
25
+ ops.push({ opId: op.opId, kind: op.kind, drawer: op.drawer, waiting: op.waiting === true });
22
26
  }
23
27
  const runner = value.runner;
24
28
  if (runner !== null && (!isRecord(runner) || typeof runner.runnerId !== 'string' || typeof runner.leaseUntilMs !== 'number'))
@@ -40,11 +44,16 @@ export const createRunnerClient = (args) => {
40
44
  method: 'POST',
41
45
  headers: { [PUSH_HEADER]: await args.token(), [CLI_HEADER]: args.cliVersion, 'content-type': 'application/json' },
42
46
  body: JSON.stringify(body),
47
+ // The upload token travels in a header, and fetch keeps custom headers across a redirect: never follow one.
48
+ redirect: NO_REDIRECT,
43
49
  });
44
50
  }
45
51
  catch (cause) {
46
52
  throw new DrawTransportError('unreachable', `${new URL(url).host} could not be reached`, { cause });
47
53
  }
54
+ const redirected = await redirectOf(url, response);
55
+ if (redirected)
56
+ throw redirected;
48
57
  const parsed = await readBody(response);
49
58
  if (!response.ok)
50
59
  throw new DrawHttpError(response.status, errorCodeOf(parsed) ?? `http_${response.status}`, retryAfterOf(response, parsed), parsed);
@@ -1 +1 @@
1
- {"version":3,"file":"workspace-runner-client.js","sourceRoot":"","sources":["../src/workspace-runner-client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"workspace-runner-client.js","sourceRoot":"","sources":["../src/workspace-runner-client.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"workspace-runner-main.d.ts","sourceRoot":"","sources":["../src/workspace-runner-main.ts"],"names":[],"mappings":"AAMA,OAAO,EAAqC,KAAK,SAAS,EAAE,MAAM,4BAA4B,CAAC;AAC/F,OAAO,EAAoB,KAAK,aAAa,EAAE,KAAK,gBAAgB,EAAE,KAAK,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAIvH,OAAO,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAY7D;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAEH,MAAM,MAAM,UAAU,GAClB,iBAAiB,GACjB,MAAM,GACN,eAAe,GACf,eAAe,GACf,eAAe,GACf,cAAc,GACd,oBAAoB,GACpB,WAAW,GACX,WAAW,GACX,QAAQ,GACR,OAAO,CAAC;AAEZ,MAAM,MAAM,kBAAkB,GAAG;IAC/B,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC;IACxB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,oEAAoE;IACpE,IAAI,CAAC,EAAE,CAAC,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,gBAAgB,KAAK,OAAO,CAAC,UAAU,CAAC,CAAC;IAC5E,6FAA6F;IAC7F,QAAQ,CAAC,EAAE,OAAO,CAAC,gBAAgB,CAAC,CAAC;IACrC,GAAG,CAAC,EAAE,MAAM,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,CAAC,YAAY,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACrE,MAAM,CAAC,EAAE,OAAO,CAAC,OAAO,aAAa,CAAC,CAAC;IACvC,sDAAsD;IACtD,IAAI,CAAC,EAAE,WAAW,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF,uHAAuH;AACvH,MAAM,MAAM,aAAa,GAAG;IAAE,IAAI,EAAE,UAAU,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,EAAE,CAAC;IAAC,UAAU,EAAE,MAAM,EAAE,CAAA;CAAE,CAAC;AA4B1G,eAAO,MAAM,kBAAkB,GAAU,MAAM;IAC7C,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE,kBAAkB,CAAC;CAC3B,KAAG,OAAO,CAAC,aAAa,CAgQxB,CAAC"}
1
+ {"version":3,"file":"workspace-runner-main.d.ts","sourceRoot":"","sources":["../src/workspace-runner-main.ts"],"names":[],"mappings":"AAMA,OAAO,EAAqC,KAAK,SAAS,EAAE,MAAM,4BAA4B,CAAC;AAC/F,OAAO,EAAoB,KAAK,aAAa,EAAE,KAAK,gBAAgB,EAAE,KAAK,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAIvH,OAAO,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAY7D;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAEH,MAAM,MAAM,UAAU,GAClB,iBAAiB,GACjB,MAAM,GACN,eAAe,GACf,eAAe,GACf,eAAe,GACf,cAAc,GACd,oBAAoB,GACpB,WAAW,GACX,WAAW,GACX,QAAQ,GACR,OAAO,CAAC;AAEZ,MAAM,MAAM,kBAAkB,GAAG;IAC/B,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC;IACxB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,oEAAoE;IACpE,IAAI,CAAC,EAAE,CAAC,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,gBAAgB,KAAK,OAAO,CAAC,UAAU,CAAC,CAAC;IAC5E,6FAA6F;IAC7F,QAAQ,CAAC,EAAE,OAAO,CAAC,gBAAgB,CAAC,CAAC;IACrC,GAAG,CAAC,EAAE,MAAM,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,CAAC,YAAY,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACrE,MAAM,CAAC,EAAE,OAAO,CAAC,OAAO,aAAa,CAAC,CAAC;IACvC,sDAAsD;IACtD,IAAI,CAAC,EAAE,WAAW,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF,uHAAuH;AACvH,MAAM,MAAM,aAAa,GAAG;IAAE,IAAI,EAAE,UAAU,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,EAAE,CAAC;IAAC,UAAU,EAAE,MAAM,EAAE,CAAA;CAAE,CAAC;AAuC1G,eAAO,MAAM,kBAAkB,GAAU,MAAM;IAC7C,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE,kBAAkB,CAAC;CAC3B,KAAG,OAAO,CAAC,aAAa,CA8QxB,CAAC"}
@@ -7,7 +7,7 @@ import { DrawHttpError, DrawTransportError } from './workspace-draw-client.js';
7
7
  import { runWorkspaceDraw } from './workspace-draw-run.js';
8
8
  import { defaultDataRoot, opLockIsLive, opRootOf } from './workspace-draw-store.js';
9
9
  import { createRunnerClient } from './workspace-runner-client.js';
10
- import { codexChildRecorder, reapCodexChildren } from './workspace-runner-children.js';
10
+ import { codexChildRecorder, opCodexAlive, reapCodexChildren } from './workspace-runner-children.js';
11
11
  import { RUNNER_POLICY } from './workspace-runner-policy.js';
12
12
  import { createRunnerLog, ensureRunnerDir, readRunnerToken, removeRunnerToken, runnerDirOf, runnerLockFile, runnerTokenWrittenAtMs, } from './workspace-runner-store.js';
13
13
  /** The stops after which the token cannot speak to the server: no goodbye, and no lease kept while finishing. */
@@ -30,10 +30,12 @@ const verdictOf = (result) => {
30
30
  case 'failed':
31
31
  case 'unknown_op':
32
32
  return { kind: 'done' };
33
- // Another run holds the request (this Mac's agent command, or a runner whose claim is in flight): not this one's.
33
+ // Another run holds the request (this Mac's agent command, or a runner whose claim is in flight), or the server
34
+ // could not be reached or answered with a redirect: not drawn this time.
34
35
  case 'op_in_progress':
35
36
  case 'op_in_flight':
36
37
  case 'needs_escalation':
38
+ case 'redirected':
37
39
  return { kind: 'retry' };
38
40
  case 'token_invalid': return { kind: 'stop', stop: 'token_invalid' };
39
41
  case 'cli_outdated': return { kind: 'stop', stop: 'cli_outdated' };
@@ -42,6 +44,17 @@ const verdictOf = (result) => {
42
44
  default: return { kind: 'stop', stop: 'fault' };
43
45
  }
44
46
  };
47
+ /**
48
+ * What a failed heartbeat or claim is logged as: the server's error code, `redirect` with its sentence (naming the
49
+ * origin that answered) for a redirect the client did not follow, else `otherwise`.
50
+ */
51
+ const failureOf = (error, otherwise) => {
52
+ if (error instanceof DrawHttpError)
53
+ return { code: error.code };
54
+ if (error instanceof DrawTransportError && error.kind === 'redirect')
55
+ return { code: 'redirect', message: error.message };
56
+ return { code: otherwise };
57
+ };
45
58
  export const runWorkspaceRunner = async (args) => {
46
59
  const deps = args.deps ?? {};
47
60
  const env = deps.env ?? process.env;
@@ -145,7 +158,7 @@ export const runWorkspaceRunner = async (args) => {
145
158
  stopWith('token_invalid');
146
159
  return;
147
160
  }
148
- await log({ event: 'reclaim_refused', opId, code: error instanceof DrawHttpError ? error.code : 'transport' });
161
+ await log({ event: 'reclaim_refused', opId, ...failureOf(error, 'transport') });
149
162
  }
150
163
  };
151
164
  const claimAndDraw = async (beat) => {
@@ -169,9 +182,19 @@ export const runWorkspaceRunner = async (args) => {
169
182
  continue;
170
183
  if (op.drawer !== null && op.drawer !== runnerId)
171
184
  continue;
172
- // The agent's own command is drawing it on this Mac: it is that run's.
173
- if (await opLockIsLive(opRootOf(dataRoot, op.opId)))
185
+ // Its round waits on the person: nobody draws it until they continue (or its countdown ends). It stays listed,
186
+ // so the runner stays for it.
187
+ if (op.waiting)
188
+ continue;
189
+ // The agent's own command is drawing it on this Mac: it is that run's. Its op lock goes quiet while the Mac
190
+ // sleeps, so a Codex call it recorded that is still alive keeps the request its run's as well.
191
+ const opRoot = opRootOf(dataRoot, op.opId);
192
+ if (await opLockIsLive(opRoot))
193
+ continue;
194
+ if (await opCodexAlive(opRoot)) {
195
+ await log({ event: 'left_to_live_call', opId: op.opId });
174
196
  continue;
197
+ }
175
198
  try {
176
199
  await client.claim(op.opId, runnerId);
177
200
  }
@@ -180,9 +203,14 @@ export const runWorkspaceRunner = async (args) => {
180
203
  stopWith('token_invalid');
181
204
  return;
182
205
  }
183
- await log({ event: 'claim_refused', opId: op.opId, code: error instanceof DrawHttpError ? error.code : 'transport' });
206
+ await log({ event: 'claim_refused', opId: op.opId, ...failureOf(error, 'transport') });
184
207
  continue;
185
208
  }
209
+ // A stop that came while the claim was on its way: draw nothing new. The goodbye gives the claim back.
210
+ if (stop) {
211
+ await log({ event: 'claim_dropped', opId: op.opId, stop });
212
+ return;
213
+ }
186
214
  await log({ event: 'claimed', opId: op.opId, kind: op.kind });
187
215
  drawOne(op.opId);
188
216
  }
@@ -206,7 +234,7 @@ export const runWorkspaceRunner = async (args) => {
206
234
  await log({ event: 'released_dead_runner', runnerId: deadId });
207
235
  }
208
236
  catch (error) {
209
- await log({ event: 'release_dead_runner_failed', runnerId: deadId, code: error instanceof DrawHttpError ? error.code : 'transport' });
237
+ await log({ event: 'release_dead_runner_failed', runnerId: deadId, ...failureOf(error, 'transport') });
210
238
  }
211
239
  }
212
240
  };
@@ -220,7 +248,7 @@ export const runWorkspaceRunner = async (args) => {
220
248
  return await client.heartbeat({ runnerId, drawing: [], stopping: true });
221
249
  }
222
250
  catch (error) {
223
- await log({ event: 'goodbye_failed', code: error instanceof DrawHttpError ? error.code : 'transport' });
251
+ await log({ event: 'goodbye_failed', ...failureOf(error, 'transport') });
224
252
  return null;
225
253
  }
226
254
  };
@@ -298,9 +326,9 @@ export const runWorkspaceRunner = async (args) => {
298
326
  stopWith('fault');
299
327
  break;
300
328
  }
301
- // Unreachable or a server fault: back off and try again; idle time keeps counting.
329
+ // Unreachable, a redirect or a server fault: back off and try again; idle time keeps counting.
302
330
  failures += 1;
303
- await log({ event: 'heartbeat_failed', code: error instanceof DrawHttpError ? error.code : 'unreachable', failures });
331
+ await log({ event: 'heartbeat_failed', ...failureOf(error, 'unreachable'), failures });
304
332
  if (active.size === 0 && now() - lastActivity >= policy.idleMs) {
305
333
  stopWith('idle');
306
334
  break;