@open-mercato/cezar 0.16.2-pr1647.3597 → 0.16.2-pr1649.3602

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 (30) hide show
  1. package/dist/core/model-presets.js +1 -1
  2. package/dist/core/model-presets.js.map +1 -1
  3. package/dist/core/usage-limit.js +8 -2
  4. package/dist/core/usage-limit.js.map +1 -1
  5. package/dist/server/dashboard.d.ts +54 -54
  6. package/dist/workflows/continuation-context.d.ts +3 -1
  7. package/dist/workflows/continuation-context.js +22 -3
  8. package/dist/workflows/continuation-context.js.map +1 -1
  9. package/dist/workflows/run.d.ts +2 -0
  10. package/dist/workflows/run.js +8 -4
  11. package/dist/workflows/run.js.map +1 -1
  12. package/package.json +3 -3
  13. package/web/dist/assets/{agent-task-pickers-CCLrpHQp.js → agent-task-pickers-Dyp7yGgP.js} +1 -1
  14. package/web/dist/assets/{automations-route-BTlfNm-k.js → automations-route-DWd6PMRD.js} +1 -1
  15. package/web/dist/assets/{compare-variants-CcIMp7o1.js → compare-variants-DN5Yjmsk.js} +1 -1
  16. package/web/dist/assets/{dashboard-BEABIW7S.js → dashboard-Cd0X5nU6.js} +1 -1
  17. package/web/dist/assets/{git-tab-loading-KRaWvtc1.js → git-tab-loading-BfC2ir8N.js} +1 -1
  18. package/web/dist/assets/{github-CO5zqn3R.js → github-BppUgUiJ.js} +1 -1
  19. package/web/dist/assets/{index-CGePLuVz.js → index-C54lSK_C.js} +3 -3
  20. package/web/dist/assets/{layout-cards-BO6SbHzM.js → layout-cards-Sur4EWtx.js} +1 -1
  21. package/web/dist/assets/{repo-git-BvR9rxpr.js → repo-git-C6ovXU_6.js} +1 -1
  22. package/web/dist/assets/{skills-CmKBes86.js → skills-D8TecLUp.js} +1 -1
  23. package/web/dist/assets/{task-commits-PitLcFyR.js → task-commits-W1ZZiEt4.js} +1 -1
  24. package/web/dist/assets/{task-graph-vlJmkQfh.js → task-graph-CeIQlh4A.js} +1 -1
  25. package/web/dist/assets/{task-notes-CCCx3PFZ.js → task-notes-lmvd1UM7.js} +1 -1
  26. package/web/dist/assets/{task-workspace-oGqMwMw7.js → task-workspace-B3ewUT8I.js} +3 -3
  27. package/web/dist/assets/{tracker-D3VtI3jh.js → tracker-ghQW__cd.js} +1 -1
  28. package/web/dist/assets/{workflow-graph-CtEeq0ne.js → workflow-graph-D_txXspG.js} +1 -1
  29. package/web/dist/assets/{worktree-lifecycle-operation-DX4iXxMi.js → worktree-lifecycle-operation-DJ38G3Xu.js} +1 -1
  30. package/web/dist/index.html +3 -3
@@ -26,7 +26,7 @@ export const KNOWN_PRESETS_BY_RUNNER = {
26
26
  // Tier aliases only. The dated ids that used to sit here (`claude-opus-4-8` and friends) came
27
27
  // off the picker when Claude gained host discovery (#784) — a guard that names a specific
28
28
  // vendor release goes stale the same way the picker did, and this list mirrors the picker.
29
- claude: ['fable', 'opus', 'sonnet', 'haiku'],
29
+ claude: ['opus', 'sonnet', 'haiku'],
30
30
  codex: ['gpt-5.1-codex', 'gpt-5.1-codex-mini', 'gpt-5-codex'],
31
31
  opencode: [],
32
32
  // Cursor models are discovered from the CLI / Settings — no hard-coded presets
@@ -1 +1 @@
1
- {"version":3,"file":"model-presets.js","sourceRoot":"","sources":["../../src/core/model-presets.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAE5E;;;;;;GAMG;AACH,MAAM,eAAe,GAAG,CAAC,WAAW,EAAE,QAAQ,EAAE,QAAQ,EAAE,YAAY,CAAU,CAAC;AAEjF;;;;;;;;;;;;;;GAcG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAwC;IAC1E,8FAA8F;IAC9F,0FAA0F;IAC1F,2FAA2F;IAC3F,MAAM,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,CAAC;IAC5C,KAAK,EAAE,CAAC,eAAe,EAAE,oBAAoB,EAAE,aAAa,CAAC;IAC7D,QAAQ,EAAE,EAAE;IACZ,+EAA+E;IAC/E,iDAAiD;IACjD,MAAM,EAAE,EAAE;IACV,6FAA6F;IAC7F,2FAA2F;IAC3F,wFAAwF;IACxF,wFAAwF;IACxF,8FAA8F;IAC9F,+EAA+E;IAC/E,EAAE,EAAE,EAAE;IACN,6FAA6F;IAC7F,sFAAsF;IACtF,8FAA8F;IAC9F,6FAA6F;IAC7F,KAAK,EAAE,EAAE;IACT,iGAAiG;IACjG,oFAAoF;IACpF,0FAA0F;IAC1F,0FAA0F;IAC1F,OAAO,EAAE,EAAE;CACZ,CAAC;AAEF;;;;;;GAMG;AACH,MAAM,sBAAsB,GAAsC;IAChE,MAAM,EAAE,aAAa;IACrB,KAAK,EAAE,UAAU;CAClB,CAAC;AAEF;;;;;;;;;GASG;AACH,SAAS,yBAAyB,CAAC,KAAa,EAAE,MAAgB;IAChE,MAAM,GAAG,GAAG,iBAAiB,CAAC,MAAM,CAAC,CAAC;IACtC,2FAA2F;IAC3F,0DAA0D;IAC1D,IAAI,GAAG,EAAE,eAAe,KAAK,SAAS,IAAI,GAAG,CAAC,qBAAqB;QAAE,OAAO,KAAK,CAAC;IAClF,MAAM,QAAQ,GAAG,kBAAkB,CAAC,KAAK,CAAC,CAAC;IAC3C,IAAI,CAAC,QAAQ,IAAI,QAAQ,CAAC,QAAQ,KAAK,GAAG,CAAC,eAAe;QAAE,OAAO,KAAK,CAAC;IACzE,OAAQ,eAAqC,CAAC,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;AAC5E,CAAC;AAED;;0EAE0E;AAC1E,MAAM,UAAU,wBAAwB,CAAC,KAAa,EAAE,MAAgB;IACtE,IAAI,CAAC,KAAK;QAAE,OAAO,KAAK,CAAC;IACzB,IAAI,uBAAuB,CAAC,MAAM,CAAC,EAAE,QAAQ,CAAC,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IACnE,IAAI,sBAAsB,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IAC9D,6FAA6F;IAC7F,2FAA2F;IAC3F,wFAAwF;IACxF,4CAA4C;IAC5C,IAAI,yBAAyB,CAAC,KAAK,EAAE,MAAM,CAAC;QAAE,OAAO,IAAI,CAAC;IAC1D,OAAO,CACL,MAAM,CAAC,OAAO,CAAC,uBAAuB,CAAC,CAAC,IAAI,CAC1C,CAAC,CAAC,KAAK,EAAE,OAAO,CAAC,EAAE,EAAE,CAAC,KAAK,KAAK,MAAM,IAAI,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAClE;QACD,MAAM,CAAC,OAAO,CAAC,sBAAsB,CAAC,CAAC,IAAI,CACzC,CAAC,CAAC,KAAK,EAAE,MAAM,CAAC,EAAE,EAAE,CAAC,KAAK,KAAK,MAAM,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAC5D,CACF,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"model-presets.js","sourceRoot":"","sources":["../../src/core/model-presets.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAE5E;;;;;;GAMG;AACH,MAAM,eAAe,GAAG,CAAC,WAAW,EAAE,QAAQ,EAAE,QAAQ,EAAE,YAAY,CAAU,CAAC;AAEjF;;;;;;;;;;;;;;GAcG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAwC;IAC1E,8FAA8F;IAC9F,0FAA0F;IAC1F,2FAA2F;IAC3F,MAAM,EAAE,CAAC,MAAM,EAAE,QAAQ,EAAE,OAAO,CAAC;IACnC,KAAK,EAAE,CAAC,eAAe,EAAE,oBAAoB,EAAE,aAAa,CAAC;IAC7D,QAAQ,EAAE,EAAE;IACZ,+EAA+E;IAC/E,iDAAiD;IACjD,MAAM,EAAE,EAAE;IACV,6FAA6F;IAC7F,2FAA2F;IAC3F,wFAAwF;IACxF,wFAAwF;IACxF,8FAA8F;IAC9F,+EAA+E;IAC/E,EAAE,EAAE,EAAE;IACN,6FAA6F;IAC7F,sFAAsF;IACtF,8FAA8F;IAC9F,6FAA6F;IAC7F,KAAK,EAAE,EAAE;IACT,iGAAiG;IACjG,oFAAoF;IACpF,0FAA0F;IAC1F,0FAA0F;IAC1F,OAAO,EAAE,EAAE;CACZ,CAAC;AAEF;;;;;;GAMG;AACH,MAAM,sBAAsB,GAAsC;IAChE,MAAM,EAAE,aAAa;IACrB,KAAK,EAAE,UAAU;CAClB,CAAC;AAEF;;;;;;;;;GASG;AACH,SAAS,yBAAyB,CAAC,KAAa,EAAE,MAAgB;IAChE,MAAM,GAAG,GAAG,iBAAiB,CAAC,MAAM,CAAC,CAAC;IACtC,2FAA2F;IAC3F,0DAA0D;IAC1D,IAAI,GAAG,EAAE,eAAe,KAAK,SAAS,IAAI,GAAG,CAAC,qBAAqB;QAAE,OAAO,KAAK,CAAC;IAClF,MAAM,QAAQ,GAAG,kBAAkB,CAAC,KAAK,CAAC,CAAC;IAC3C,IAAI,CAAC,QAAQ,IAAI,QAAQ,CAAC,QAAQ,KAAK,GAAG,CAAC,eAAe;QAAE,OAAO,KAAK,CAAC;IACzE,OAAQ,eAAqC,CAAC,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;AAC5E,CAAC;AAED;;0EAE0E;AAC1E,MAAM,UAAU,wBAAwB,CAAC,KAAa,EAAE,MAAgB;IACtE,IAAI,CAAC,KAAK;QAAE,OAAO,KAAK,CAAC;IACzB,IAAI,uBAAuB,CAAC,MAAM,CAAC,EAAE,QAAQ,CAAC,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IACnE,IAAI,sBAAsB,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IAC9D,6FAA6F;IAC7F,2FAA2F;IAC3F,wFAAwF;IACxF,4CAA4C;IAC5C,IAAI,yBAAyB,CAAC,KAAK,EAAE,MAAM,CAAC;QAAE,OAAO,IAAI,CAAC;IAC1D,OAAO,CACL,MAAM,CAAC,OAAO,CAAC,uBAAuB,CAAC,CAAC,IAAI,CAC1C,CAAC,CAAC,KAAK,EAAE,OAAO,CAAC,EAAE,EAAE,CAAC,KAAK,KAAK,MAAM,IAAI,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAClE;QACD,MAAM,CAAC,OAAO,CAAC,sBAAsB,CAAC,CAAC,IAAI,CACzC,CAAC,CAAC,KAAK,EAAE,MAAM,CAAC,EAAE,EAAE,CAAC,KAAK,KAAK,MAAM,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAC5D,CACF,CAAC;AACJ,CAAC"}
@@ -170,10 +170,16 @@ function parseDatedReset(match, now) {
170
170
  // A stale date rolled a year ahead fails `settle`'s one-week cap and reads as unparsed.
171
171
  return now - candidate > 24 * 60 * 60_000 ? at(year + 1) : candidate;
172
172
  }
173
+ /**
174
+ * How far in the past a clock-only reset may read and still name the window that just lifted.
175
+ * The prose is minute-truncated and the provider's clock is not ours, so a limit hit around the
176
+ * reset reads seconds-to-minutes "ago" — rolling that to tomorrow parked the task a whole day.
177
+ */
178
+ const CLOCK_JUST_LIFTED_MS = 60 * 60_000;
173
179
  function nextLocalClock(hour, minute, now) {
174
180
  const candidate = new Date(now);
175
181
  candidate.setHours(hour, minute, 0, 0);
176
- if (candidate.getTime() < now)
182
+ if (now - candidate.getTime() > CLOCK_JUST_LIFTED_MS)
177
183
  candidate.setDate(candidate.getDate() + 1);
178
184
  return candidate.getTime();
179
185
  }
@@ -184,7 +190,7 @@ function nextClockInTimeZone(hour, minute, timeZone, now) {
184
190
  let candidate = zonedWallTimeToUtc(today.year, today.month, today.day, hour, minute, timeZone);
185
191
  if (candidate === null)
186
192
  return null;
187
- if (candidate < now) {
193
+ if (now - candidate > CLOCK_JUST_LIFTED_MS) {
188
194
  const tomorrow = new Date(Date.UTC(today.year, today.month - 1, today.day + 1));
189
195
  candidate = zonedWallTimeToUtc(tomorrow.getUTCFullYear(), tomorrow.getUTCMonth() + 1, tomorrow.getUTCDate(), hour, minute, timeZone);
190
196
  }
@@ -1 +1 @@
1
- {"version":3,"file":"usage-limit.js","sourceRoot":"","sources":["../../src/core/usage-limit.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"usage-limit.js","sourceRoot":"","sources":["../../src/core/usage-limit.ts"],"names":[],"mappings":"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"}
@@ -8,7 +8,7 @@ export declare function dashboardRoutes(reader: DashboardReader, visibility?: ()
8
8
  error: string;
9
9
  };
10
10
  outputFormat: "json";
11
- status: 409;
11
+ status: 404;
12
12
  input: {
13
13
  query: {
14
14
  projectId: string;
@@ -16,21 +16,10 @@ export declare function dashboardRoutes(reader: DashboardReader, visibility?: ()
16
16
  };
17
17
  } | {
18
18
  output: {
19
- timeZone: string;
20
- automations: {
21
- id: string;
22
- name: string;
23
- enabled: boolean;
24
- kind: "github" | "schedule" | "tracker";
25
- nextRunAt?: string | undefined;
26
- state?: {
27
- backoffUntil?: string | undefined;
28
- consecutiveFailures?: number | undefined;
29
- } | undefined;
30
- }[];
19
+ error: string;
31
20
  };
32
21
  outputFormat: "json";
33
- status: import("hono/utils/http-status").ContentfulStatusCode;
22
+ status: 409;
34
23
  input: {
35
24
  query: {
36
25
  projectId: string;
@@ -41,7 +30,7 @@ export declare function dashboardRoutes(reader: DashboardReader, visibility?: ()
41
30
  error: string;
42
31
  };
43
32
  outputFormat: "json";
44
- status: 404;
33
+ status: 503;
45
34
  input: {
46
35
  query: {
47
36
  projectId: string;
@@ -49,10 +38,21 @@ export declare function dashboardRoutes(reader: DashboardReader, visibility?: ()
49
38
  };
50
39
  } | {
51
40
  output: {
52
- error: string;
41
+ timeZone: string;
42
+ automations: {
43
+ id: string;
44
+ name: string;
45
+ enabled: boolean;
46
+ kind: "github" | "schedule" | "tracker";
47
+ nextRunAt?: string | undefined;
48
+ state?: {
49
+ backoffUntil?: string | undefined;
50
+ consecutiveFailures?: number | undefined;
51
+ } | undefined;
52
+ }[];
53
53
  };
54
54
  outputFormat: "json";
55
- status: 503;
55
+ status: import("hono/utils/http-status").ContentfulStatusCode;
56
56
  input: {
57
57
  query: {
58
58
  projectId: string;
@@ -206,6 +206,24 @@ export declare function dashboardRoutes(reader: DashboardReader, visibility?: ()
206
206
  } & {
207
207
  "/workspace/dashboard/overview": {
208
208
  $get: {
209
+ output: {
210
+ error: 'Dashboard changed; refresh the list';
211
+ code: 'snapshot-expired';
212
+ };
213
+ outputFormat: "json";
214
+ status: 409;
215
+ input: {
216
+ query: {
217
+ period?: "30d" | "7d" | undefined;
218
+ tzOffsetMinutes?: unknown;
219
+ snapshotId?: string | undefined;
220
+ projectId?: string | undefined;
221
+ group?: "completed" | "failed" | "needs-you" | "running" | undefined;
222
+ offset?: unknown;
223
+ limit?: unknown;
224
+ };
225
+ };
226
+ } | {
209
227
  output: {
210
228
  snapshotId: string;
211
229
  asOf: string;
@@ -265,7 +283,11 @@ export declare function dashboardRoutes(reader: DashboardReader, visibility?: ()
265
283
  limit?: unknown;
266
284
  };
267
285
  };
268
- } | {
286
+ };
287
+ };
288
+ } & {
289
+ "/workspace/dashboard/tasks": {
290
+ $get: {
269
291
  output: {
270
292
  error: 'Dashboard changed; refresh the list';
271
293
  code: 'snapshot-expired';
@@ -274,20 +296,13 @@ export declare function dashboardRoutes(reader: DashboardReader, visibility?: ()
274
296
  status: 409;
275
297
  input: {
276
298
  query: {
277
- period?: "30d" | "7d" | undefined;
278
- tzOffsetMinutes?: unknown;
279
- snapshotId?: string | undefined;
280
- projectId?: string | undefined;
281
- group?: "completed" | "failed" | "needs-you" | "running" | undefined;
299
+ snapshotId: string;
300
+ group: "needs-you" | "questions" | "queued" | "reviews" | "running" | "scheduled";
282
301
  offset?: unknown;
283
302
  limit?: unknown;
284
303
  };
285
304
  };
286
- };
287
- };
288
- } & {
289
- "/workspace/dashboard/tasks": {
290
- $get: {
305
+ } | {
291
306
  output: {
292
307
  snapshotId: string;
293
308
  asOf: string;
@@ -367,7 +382,11 @@ export declare function dashboardRoutes(reader: DashboardReader, visibility?: ()
367
382
  limit?: unknown;
368
383
  };
369
384
  };
370
- } | {
385
+ };
386
+ };
387
+ } & {
388
+ "/workspace/dashboard/costs": {
389
+ $get: {
371
390
  output: {
372
391
  error: 'Dashboard changed; refresh the list';
373
392
  code: 'snapshot-expired';
@@ -376,17 +395,16 @@ export declare function dashboardRoutes(reader: DashboardReader, visibility?: ()
376
395
  status: 409;
377
396
  input: {
378
397
  query: {
379
- snapshotId: string;
380
- group: "needs-you" | "questions" | "queued" | "reviews" | "running" | "scheduled";
398
+ period?: "30d" | "7d" | "all" | undefined;
399
+ sort?: "cost" | "input" | "output" | undefined;
400
+ projectId?: string | undefined;
401
+ snapshotId?: string | undefined;
402
+ tzOffsetMinutes?: unknown;
381
403
  offset?: unknown;
382
404
  limit?: unknown;
383
405
  };
384
406
  };
385
- };
386
- };
387
- } & {
388
- "/workspace/dashboard/costs": {
389
- $get: {
407
+ } | {
390
408
  output: {
391
409
  snapshotId: string;
392
410
  asOf: string;
@@ -493,24 +511,6 @@ export declare function dashboardRoutes(reader: DashboardReader, visibility?: ()
493
511
  limit?: unknown;
494
512
  };
495
513
  };
496
- } | {
497
- output: {
498
- error: 'Dashboard changed; refresh the list';
499
- code: 'snapshot-expired';
500
- };
501
- outputFormat: "json";
502
- status: 409;
503
- input: {
504
- query: {
505
- period?: "30d" | "7d" | "all" | undefined;
506
- sort?: "cost" | "input" | "output" | undefined;
507
- projectId?: string | undefined;
508
- snapshotId?: string | undefined;
509
- tzOffsetMinutes?: unknown;
510
- offset?: unknown;
511
- limit?: unknown;
512
- };
513
- };
514
514
  };
515
515
  };
516
516
  } & {
@@ -3,5 +3,7 @@ import type { RunEvent, RunRecord } from '../runs/store.ts';
3
3
  * Reconstruct the portable part of a task when a continuation switches runner/account and the
4
4
  * provider-owned session id therefore cannot be resumed. Events are already secret-redacted by
5
5
  * RunStore; only conversation messages are copied, never tool inputs/results or reasoning.
6
+ * Pasted attachments travel as absolute paths under `attachmentsDir`, or the new session is
7
+ * asked about a screenshot it was never shown.
6
8
  */
7
- export declare function freshContinuationContext(run: RunRecord, events: readonly RunEvent[]): string;
9
+ export declare function freshContinuationContext(run: RunRecord, events: readonly RunEvent[], attachmentsDir: string): string;
@@ -1,3 +1,4 @@
1
+ import { join } from 'node:path';
1
2
  /** Keep a backend hand-off useful without turning an old, very long thread into an unbounded
2
3
  * opening prompt. The original task and current run state live outside this allowance. */
3
4
  const CONVERSATION_CONTEXT_CHARS = 60_000;
@@ -11,12 +12,30 @@ function cleanText(value) {
11
12
  .trim();
12
13
  return text || undefined;
13
14
  }
15
+ /** Pasted attachments live as files, so a new provider can only see them through their paths. */
16
+ function attachmentLines(urls, attachmentsDir) {
17
+ if (!Array.isArray(urls))
18
+ return [];
19
+ return urls.flatMap((url) => {
20
+ const name = typeof url === 'string' ? url.split('/').pop() : undefined;
21
+ if (!name || name.includes('..') || name.includes('\\'))
22
+ return [];
23
+ return [`- ${join(attachmentsDir, name)}`];
24
+ });
25
+ }
26
+ function withAttachments(text, lines) {
27
+ if (!lines.length)
28
+ return text;
29
+ return [text, 'Attached files:', ...lines].filter(Boolean).join('\n');
30
+ }
14
31
  /**
15
32
  * Reconstruct the portable part of a task when a continuation switches runner/account and the
16
33
  * provider-owned session id therefore cannot be resumed. Events are already secret-redacted by
17
34
  * RunStore; only conversation messages are copied, never tool inputs/results or reasoning.
35
+ * Pasted attachments travel as absolute paths under `attachmentsDir`, or the new session is
36
+ * asked about a screenshot it was never shown.
18
37
  */
19
- export function freshContinuationContext(run, events) {
38
+ export function freshContinuationContext(run, events, attachmentsDir) {
20
39
  const v2Messages = events.flatMap((event) => {
21
40
  if (event.type !== 'item.completed' || typeof event.item !== 'object' || event.item === null)
22
41
  return [];
@@ -43,7 +62,7 @@ export function freshContinuationContext(run, events) {
43
62
  const user = events.flatMap((event) => {
44
63
  if (event.type !== 'user-message')
45
64
  return [];
46
- const text = cleanText(event.text);
65
+ const text = withAttachments(cleanText(event.text), attachmentLines(event.images, attachmentsDir));
47
66
  return text ? [{ seq: event.seq, role: 'User', text }] : [];
48
67
  });
49
68
  const messages = [...user, ...assistant]
@@ -63,7 +82,7 @@ export function freshContinuationContext(run, events) {
63
82
  'You are continuing an existing Cezar task in a fresh provider session. The previous provider session cannot be resumed. Use this persisted Cezar state and conversation as the hand-off; inspect the existing worktree before changing anything.',
64
83
  '',
65
84
  '## Original task',
66
- run.task.trim() || '(given as attachments only)',
85
+ withAttachments(run.task.trim() || '(given as attachments only)', attachmentLines(run.taskImages, attachmentsDir)),
67
86
  '',
68
87
  '## Cezar task state before this continuation',
69
88
  // A queued/running status is this continuation's own bookkeeping, not where the task stood;
@@ -1 +1 @@
1
- {"version":3,"file":"continuation-context.js","sourceRoot":"","sources":["../../src/workflows/continuation-context.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"continuation-context.js","sourceRoot":"","sources":["../../src/workflows/continuation-context.ts"],"names":[],"mappings":"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"}
@@ -1083,6 +1083,8 @@ export declare class RunManager {
1083
1083
  * an ordinary queued workflow (#472), so a second restart reconstructs and
1084
1084
  * hydrates the same amendments instead of dropping them. */
1085
1085
  private hydrateQueuedContinuation;
1086
+ /** Where `persistAttachment` writes a run's pasted files. */
1087
+ private attachmentsDir;
1086
1088
  /**
1087
1089
  * Re-read persisted attachments at dequeue/restart (#472): an image comes back as a viewable
1088
1090
  * block AND a path, a file (#950) as a path only. The branch is on the NAME's extension, never
@@ -2950,6 +2950,10 @@ export class RunManager {
2950
2950
  persistedAttachments: persisted.attachments,
2951
2951
  };
2952
2952
  }
2953
+ /** Where `persistAttachment` writes a run's pasted files. */
2954
+ attachmentsDir(runId) {
2955
+ return join(this.dataDir, 'runs', `${runId}-images`);
2956
+ }
2953
2957
  /**
2954
2958
  * Re-read persisted attachments at dequeue/restart (#472): an image comes back as a viewable
2955
2959
  * block AND a path, a file (#950) as a path only. The branch is on the NAME's extension, never
@@ -2966,7 +2970,7 @@ export class RunManager {
2966
2970
  const name = url.split('/').pop();
2967
2971
  if (!name || name.includes('..') || name.includes('/') || name.includes('\\'))
2968
2972
  continue;
2969
- const path = join(this.dataDir, 'runs', `${runId}-images`, name);
2973
+ const path = join(this.attachmentsDir(runId), name);
2970
2974
  try {
2971
2975
  if (isImageAttachmentName(name)) {
2972
2976
  const data = readFileSync(path);
@@ -3550,7 +3554,7 @@ export class RunManager {
3550
3554
  // portable context from Cezar's durable record + redacted event stream before this new turn's
3551
3555
  // user-message is appended. This works even when the interrupted agent never wrote HANDOFF.md.
3552
3556
  const portableContext = record && sessionId === undefined
3553
- ? freshContinuationContext(record, this.store.readEvents(runId))
3557
+ ? freshContinuationContext(record, this.store.readEvents(runId), this.attachmentsDir(runId))
3554
3558
  : undefined;
3555
3559
  // The record is mutated in place below; a missing-session fallback needs it as it was.
3556
3560
  const recordBeforeTurn = record && sessionId !== undefined
@@ -4020,7 +4024,7 @@ export class RunManager {
4020
4024
  const freshId = randomUUID();
4021
4025
  this.store.updateStep(runId, stepId, { sessionId: freshId });
4022
4026
  this.store.appendEvent(runId, { type: 'note', stepId, message: MISSING_SESSION_NOTE });
4023
- const context = freshContinuationContext({ ...recordBeforeTurn, steps: recordBeforeTurn.steps.filter((step) => step.id !== stepId) }, this.store.readEvents(runId).filter((event) => event.stepId !== stepId));
4027
+ const context = freshContinuationContext({ ...recordBeforeTurn, steps: recordBeforeTurn.steps.filter((step) => step.id !== stepId) }, this.store.readEvents(runId).filter((event) => event.stepId !== stepId), this.attachmentsDir(runId));
4024
4028
  await trackFallbackOutcome(() => {
4025
4029
  session = launch(freshId, false, context);
4026
4030
  for (const content of replay)
@@ -5991,7 +5995,7 @@ export class RunManager {
5991
5995
  const freshId = randomUUID();
5992
5996
  this.store.updateStep(runId, step.id, { sessionId: freshId, backend });
5993
5997
  emit({ type: 'note', stepId: step.id, message: MISSING_SESSION_NOTE });
5994
- const context = freshContinuationContext(record, this.store.readEvents(runId));
5998
+ const context = freshContinuationContext(record, this.store.readEvents(runId), this.attachmentsDir(runId));
5995
5999
  result = await trackFallbackOutcome(() => {
5996
6000
  session = attach(launch(freshId, false, `${context}\n\n---\n\n## New user instruction\n${userPrompt}`), false);
5997
6001
  for (const content of replay)