@rasensio/aidlc 1.67.0 → 1.73.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 (110) hide show
  1. package/README.md +2 -1
  2. package/dist/autopilot/driver.d.ts +35 -2
  3. package/dist/autopilot/driver.d.ts.map +1 -1
  4. package/dist/autopilot/driver.js +650 -27
  5. package/dist/autopilot/driver.js.map +1 -1
  6. package/dist/autopilot/presets.d.ts.map +1 -1
  7. package/dist/autopilot/presets.js +5 -0
  8. package/dist/autopilot/presets.js.map +1 -1
  9. package/dist/autopilot/result.d.ts +133 -0
  10. package/dist/autopilot/result.d.ts.map +1 -0
  11. package/dist/autopilot/result.js +431 -0
  12. package/dist/autopilot/result.js.map +1 -0
  13. package/dist/autopilot/run.d.ts +2 -0
  14. package/dist/autopilot/run.d.ts.map +1 -1
  15. package/dist/autopilot/run.js +33 -6
  16. package/dist/autopilot/run.js.map +1 -1
  17. package/dist/autopilot/state.d.ts +51 -0
  18. package/dist/autopilot/state.d.ts.map +1 -1
  19. package/dist/autopilot/state.js.map +1 -1
  20. package/dist/autopilot/typed.d.ts +98 -0
  21. package/dist/autopilot/typed.d.ts.map +1 -0
  22. package/dist/autopilot/typed.js +122 -0
  23. package/dist/autopilot/typed.js.map +1 -0
  24. package/dist/cli.d.ts.map +1 -1
  25. package/dist/cli.js +2 -0
  26. package/dist/cli.js.map +1 -1
  27. package/dist/commands/hook.d.ts +37 -0
  28. package/dist/commands/hook.d.ts.map +1 -0
  29. package/dist/commands/hook.js +208 -0
  30. package/dist/commands/hook.js.map +1 -0
  31. package/dist/commands/init.d.ts +18 -0
  32. package/dist/commands/init.d.ts.map +1 -1
  33. package/dist/commands/init.js +66 -3
  34. package/dist/commands/init.js.map +1 -1
  35. package/dist/commands/knowledge.d.ts.map +1 -1
  36. package/dist/commands/knowledge.js +8 -4
  37. package/dist/commands/knowledge.js.map +1 -1
  38. package/dist/commands/update.d.ts.map +1 -1
  39. package/dist/commands/update.js +8 -2
  40. package/dist/commands/update.js.map +1 -1
  41. package/dist/compile/adapters/claude-code.d.ts.map +1 -1
  42. package/dist/compile/adapters/claude-code.js +35 -4
  43. package/dist/compile/adapters/claude-code.js.map +1 -1
  44. package/dist/compile/adapters/codex.d.ts +12 -0
  45. package/dist/compile/adapters/codex.d.ts.map +1 -1
  46. package/dist/compile/adapters/codex.js +58 -8
  47. package/dist/compile/adapters/codex.js.map +1 -1
  48. package/dist/compile/loaders.d.ts.map +1 -1
  49. package/dist/compile/loaders.js +2 -0
  50. package/dist/compile/loaders.js.map +1 -1
  51. package/dist/compile/skill-metadata.d.ts +82 -0
  52. package/dist/compile/skill-metadata.d.ts.map +1 -0
  53. package/dist/compile/skill-metadata.js +156 -0
  54. package/dist/compile/skill-metadata.js.map +1 -0
  55. package/dist/concurrency/claim-store.d.ts +17 -0
  56. package/dist/concurrency/claim-store.d.ts.map +1 -1
  57. package/dist/concurrency/claim-store.js +42 -2
  58. package/dist/concurrency/claim-store.js.map +1 -1
  59. package/dist/concurrency/common-dir.d.ts +15 -0
  60. package/dist/concurrency/common-dir.d.ts.map +1 -1
  61. package/dist/concurrency/common-dir.js +39 -0
  62. package/dist/concurrency/common-dir.js.map +1 -1
  63. package/dist/core/types.d.ts +17 -0
  64. package/dist/core/types.d.ts.map +1 -1
  65. package/dist/cost/hooks/arm.d.ts +9 -1
  66. package/dist/cost/hooks/arm.d.ts.map +1 -1
  67. package/dist/cost/hooks/arm.js +16 -2
  68. package/dist/cost/hooks/arm.js.map +1 -1
  69. package/dist/cost/providers/codex.d.ts +13 -0
  70. package/dist/cost/providers/codex.d.ts.map +1 -1
  71. package/dist/cost/providers/codex.js +74 -2
  72. package/dist/cost/providers/codex.js.map +1 -1
  73. package/dist/hooks/guard.d.ts +41 -0
  74. package/dist/hooks/guard.d.ts.map +1 -0
  75. package/dist/hooks/guard.js +108 -0
  76. package/dist/hooks/guard.js.map +1 -0
  77. package/dist/hooks/install.d.ts +78 -0
  78. package/dist/hooks/install.d.ts.map +1 -0
  79. package/dist/hooks/install.js +207 -0
  80. package/dist/hooks/install.js.map +1 -0
  81. package/dist/hooks/lifecycle-context.d.ts +65 -0
  82. package/dist/hooks/lifecycle-context.d.ts.map +1 -0
  83. package/dist/hooks/lifecycle-context.js +212 -0
  84. package/dist/hooks/lifecycle-context.js.map +1 -0
  85. package/dist/knowledge/engine.d.ts +19 -2
  86. package/dist/knowledge/engine.d.ts.map +1 -1
  87. package/dist/knowledge/engine.js +35 -11
  88. package/dist/knowledge/engine.js.map +1 -1
  89. package/dist/knowledge/index/knowledge-index.d.ts +28 -2
  90. package/dist/knowledge/index/knowledge-index.d.ts.map +1 -1
  91. package/dist/knowledge/index/sqlite-index.d.ts +19 -1
  92. package/dist/knowledge/index/sqlite-index.d.ts.map +1 -1
  93. package/dist/knowledge/index/sqlite-index.js +66 -5
  94. package/dist/knowledge/index/sqlite-index.js.map +1 -1
  95. package/dist/knowledge/source-fingerprint.d.ts +71 -0
  96. package/dist/knowledge/source-fingerprint.d.ts.map +1 -0
  97. package/dist/knowledge/source-fingerprint.js +105 -0
  98. package/dist/knowledge/source-fingerprint.js.map +1 -0
  99. package/dist/knowledge/sync.d.ts +12 -1
  100. package/dist/knowledge/sync.d.ts.map +1 -1
  101. package/dist/knowledge/sync.js +23 -3
  102. package/dist/knowledge/sync.js.map +1 -1
  103. package/dist/knowledge/types.d.ts +10 -1
  104. package/dist/knowledge/types.d.ts.map +1 -1
  105. package/dist/knowledge/types.js +10 -1
  106. package/dist/knowledge/types.js.map +1 -1
  107. package/dist/menu/roster.d.ts.map +1 -1
  108. package/dist/menu/roster.js +2 -0
  109. package/dist/menu/roster.js.map +1 -1
  110. package/package.json +2 -2
@@ -0,0 +1,431 @@
1
+ /**
2
+ * Reading back how a preset agent's session ended: its result or events, cleaned and
3
+ * bounded, with the summary autopilot appends to the item's log
4
+ * (autopilot-reads-agent-result/AC-4, AC-7, AC-8, AC-12, AC-14, AC-16, AC-28, AC-29,
5
+ * AC-33, AC-34).
6
+ *
7
+ * The agent's output is untrusted input. Everything read here is parsed in a `try`,
8
+ * checked field by field, stripped of terminal escapes and control characters, and cut
9
+ * to a bound before it can reach a park reason, a log line, a notification or
10
+ * `state.json`. The send side is `typed.ts`.
11
+ *
12
+ * @module
13
+ */
14
+ import { isCount } from '../cost/providers/codex.js';
15
+ import { microToUsd } from '../cost/rates.js';
16
+ import { OUTCOMES, UUID_RE } from './typed.js';
17
+ /** A reason or an error, as it reaches a park reason or a log line (AC-29). */
18
+ export const REASON_MAX = 200;
19
+ /** A tool name, a tool input or a command (AC-29). */
20
+ export const INPUT_MAX = 80;
21
+ /** The outcome's instance and phase. */
22
+ export const NAME_MAX = 64;
23
+ /** An error text kept whole enough to classify and to read a reset time from. */
24
+ export const ERROR_TEXT_MAX = 2000;
25
+ /** Refused calls and failed commands kept per session (AC-28). */
26
+ export const LIST_MAX = 10;
27
+ /** OSC (`ESC ]` … BEL or ST), then CSI, then any other escape sequence. */
28
+ const ESCAPES = /\x1b\][^\x07\x1b]*(?:\x07|\x1b\\)?|\x1b\[[0-?]*[ -/]*[@-~]|\x1b[ -/]*[0-~]/g;
29
+ /** C0 except newline (tab and CR are turned into spaces first), DEL, and C1. */
30
+ const CONTROLS = /[\x00-\x09\x0b-\x1f\x7f-\x9f]/g;
31
+ /** Direction marks and overrides, which can reorder a reason committed to the roadmap. */
32
+ const BIDI = /[\u061c\u200e\u200f\u202a-\u202e\u2066-\u2069]/g;
33
+ /** Text with terminal escapes and control characters removed; newlines kept for splitting. */
34
+ export function plain(text) {
35
+ return text
36
+ .replace(ESCAPES, '')
37
+ .replace(/\r\n|[\u2028\u2029]/g, '\n')
38
+ .replace(/[\t\r]/g, ' ')
39
+ .replace(CONTROLS, '')
40
+ .replace(BIDI, '');
41
+ }
42
+ /** At most `max` code units, never splitting a surrogate pair. */
43
+ function cut(text, max) {
44
+ if (text.length <= max)
45
+ return text;
46
+ const end = /[\ud800-\udbff]/.test(text[max - 1]) ? max - 1 : max;
47
+ return text.slice(0, end);
48
+ }
49
+ /** One line: plain, whitespace runs collapsed to one space, trimmed, at most `max`. */
50
+ export function oneLine(text, max) {
51
+ return cut(plain(text).replace(/\s+/g, ' ').trim(), max);
52
+ }
53
+ /** The first non-blank line of plain(text), trimmed, at most `max`; null when there is none. */
54
+ export function firstLine(text, max) {
55
+ const line = plain(text)
56
+ .split('\n')
57
+ .map((l) => l.trim())
58
+ .find((l) => l !== '');
59
+ return line === undefined ? null : cut(line, max);
60
+ }
61
+ const isRecord = (v) => typeof v === 'object' && v !== null && !Array.isArray(v);
62
+ const isWhole = (v) => isCount(v) && Number.isSafeInteger(v);
63
+ /** A dollar figure as whole micro-dollars, or null when it is not a count the state file can hold. */
64
+ function microDollars(v) {
65
+ if (!isCount(v))
66
+ return null;
67
+ const micro = Math.round(v * 1e6);
68
+ return Number.isSafeInteger(micro) ? micro : null;
69
+ }
70
+ /** `total` plus a token count, unless the count is not a whole number or the sum would overflow. */
71
+ const addTokens = (total, v) => (isWhole(v) && Number.isSafeInteger(total + v) ? total + v : total);
72
+ /** An error text kept for classification: plain, at most ERROR_TEXT_MAX; `fallback` when empty. */
73
+ function errorText(raw, fallback) {
74
+ const text = typeof raw === 'string' ? cut(plain(raw).trim(), ERROR_TEXT_MAX) : '';
75
+ return text === '' ? fallback : text;
76
+ }
77
+ const OUTCOME_KEYS = ['instance', 'outcome', 'phase', 'reason'];
78
+ /**
79
+ * The agent's outcome, or null unless it has exactly the four keys, each a string, the
80
+ * outcome one of the four (AC-4, AC-13). Its strings are bounded on the way in, so a
81
+ * megabyte of `reason` is never stored.
82
+ */
83
+ export function parseOutcome(value) {
84
+ if (!isRecord(value))
85
+ return null;
86
+ const keys = Object.keys(value).sort();
87
+ if (keys.length !== OUTCOME_KEYS.length || keys.some((k, i) => k !== OUTCOME_KEYS[i]))
88
+ return null;
89
+ const { outcome, reason, instance, phase } = value;
90
+ if (typeof outcome !== 'string' || !OUTCOMES.includes(outcome))
91
+ return null;
92
+ if (typeof reason !== 'string' || typeof instance !== 'string' || typeof phase !== 'string')
93
+ return null;
94
+ return {
95
+ outcome: outcome,
96
+ reason: oneLine(reason, REASON_MAX),
97
+ instance: oneLine(instance, NAME_MAX),
98
+ phase: oneLine(phase, NAME_MAX),
99
+ };
100
+ }
101
+ /** A refused call's input: the field that says what it was, else the whole input as JSON. */
102
+ function denialInput(input) {
103
+ if (isRecord(input)) {
104
+ for (const key of ['command', 'file_path', 'path', 'url', 'pattern']) {
105
+ const v = input[key];
106
+ if (typeof v === 'string')
107
+ return oneLine(v, INPUT_MAX);
108
+ }
109
+ }
110
+ let text = '';
111
+ try {
112
+ text = JSON.stringify(input) ?? '';
113
+ }
114
+ catch {
115
+ // a cycle cannot come from JSON.parse; nothing to show
116
+ }
117
+ return oneLine(text, INPUT_MAX);
118
+ }
119
+ function sessionId(raw) {
120
+ if (typeof raw !== 'string')
121
+ return { session_id: null, session_unusable: false };
122
+ return UUID_RE.test(raw) ? { session_id: raw, session_unusable: false } : { session_id: null, session_unusable: true };
123
+ }
124
+ /**
125
+ * The last `type: "result"` object in a launch's log segment, or null when there is none.
126
+ * Claude prints it as one line at the end of `--output-format json`; the agent's stderr
127
+ * shares the log, so every other line is skipped.
128
+ */
129
+ export function readClaudeResult(segment) {
130
+ let found = null;
131
+ let unreadable = 0;
132
+ for (const line of segment.split('\n')) {
133
+ const t = line.trim();
134
+ if (!t.startsWith('{'))
135
+ continue;
136
+ let v;
137
+ try {
138
+ v = JSON.parse(t);
139
+ }
140
+ catch {
141
+ unreadable++;
142
+ continue;
143
+ }
144
+ if (isRecord(v) && v.type === 'result')
145
+ found = v;
146
+ }
147
+ return found === null ? null : claudeEnd(found, unreadable);
148
+ }
149
+ function claudeEnd(v, unreadable) {
150
+ const subtype = typeof v.subtype === 'string' ? v.subtype : null;
151
+ const limit = subtype === 'error_max_budget_usd' ? 'budget' : subtype === 'error_max_turns' ? 'turns' : null;
152
+ let error = null;
153
+ // The error text: `errors` joined, else `result`, when the session did not succeed.
154
+ if (v.is_error === true || (subtype !== null && subtype !== 'success')) {
155
+ const errors = Array.isArray(v.errors) ? v.errors.filter((e) => typeof e === 'string') : [];
156
+ error = errorText(errors.length > 0 ? errors.join('; ') : v.result, subtype !== null && subtype !== 'success' ? subtype : 'error');
157
+ }
158
+ const denials = Array.isArray(v.permission_denials) ? v.permission_denials.filter(isRecord) : [];
159
+ return {
160
+ harness: 'claude',
161
+ limit,
162
+ error,
163
+ outcome: parseOutcome(v.structured_output),
164
+ ...sessionId(v.session_id),
165
+ cost_micro: microDollars(v.total_cost_usd),
166
+ turns: isWhole(v.num_turns) ? v.num_turns : null,
167
+ refused: denials.slice(0, LIST_MAX).map((d) => ({
168
+ tool: typeof d.tool_name === 'string' ? oneLine(d.tool_name, INPUT_MAX) : 'unknown tool',
169
+ input: denialInput(d.tool_input),
170
+ })),
171
+ refused_total: denials.length,
172
+ failed: [],
173
+ failed_total: 0,
174
+ unreadable,
175
+ };
176
+ }
177
+ export function emptyCodexProgress() {
178
+ return {
179
+ ended: false,
180
+ thread_id: null,
181
+ thread_unusable: false,
182
+ turns: 0,
183
+ usage: { input: 0, cached: 0, output: 0 },
184
+ error: null,
185
+ failed: [],
186
+ failed_total: 0,
187
+ unreadable: 0,
188
+ };
189
+ }
190
+ /**
191
+ * Fold complete JSONL lines into `p`. Lines that are not JSON — Codex's own stderr shares
192
+ * the log — are skipped; JSON that does not parse is counted; unknown event types are
193
+ * ignored, so a new Codex event changes nothing here.
194
+ */
195
+ export function readCodexEvents(lines, p) {
196
+ for (const line of lines.split('\n')) {
197
+ const t = line.trim();
198
+ if (!t.startsWith('{'))
199
+ continue;
200
+ let v;
201
+ try {
202
+ v = JSON.parse(t);
203
+ }
204
+ catch {
205
+ p.unreadable++;
206
+ continue;
207
+ }
208
+ if (!isRecord(v))
209
+ continue;
210
+ if (v.type === 'thread.started') {
211
+ const id = sessionId(v.thread_id);
212
+ if (id.session_id !== null) {
213
+ p.thread_id = id.session_id;
214
+ p.thread_unusable = false;
215
+ }
216
+ else if (p.thread_id === null && id.session_unusable) {
217
+ p.thread_unusable = true;
218
+ }
219
+ }
220
+ else if (v.type === 'turn.completed') {
221
+ p.ended = true;
222
+ p.turns++;
223
+ const u = isRecord(v.usage) ? v.usage : {};
224
+ p.usage.input = addTokens(p.usage.input, u.input_tokens);
225
+ p.usage.cached = addTokens(p.usage.cached, u.cached_input_tokens);
226
+ p.usage.output = addTokens(p.usage.output, u.output_tokens);
227
+ // A turn completed after the error, so the session recovered from it (AC-34).
228
+ p.error = null;
229
+ }
230
+ else if (v.type === 'turn.failed') {
231
+ p.ended = true;
232
+ p.error = errorText(isRecord(v.error) ? v.error.message : undefined, 'turn failed');
233
+ }
234
+ else if (v.type === 'error') {
235
+ p.ended = true;
236
+ p.error = errorText(v.message, 'error');
237
+ }
238
+ else if (v.type === 'item.completed') {
239
+ const item = v.item;
240
+ if (isRecord(item) && item.type === 'command_execution' && isWhole(item.exit_code) && item.exit_code !== 0) {
241
+ p.failed_total++;
242
+ if (p.failed.length < LIST_MAX) {
243
+ p.failed.push({ command: oneLine(typeof item.command === 'string' ? item.command : '', INPUT_MAX), exit_code: item.exit_code });
244
+ }
245
+ }
246
+ }
247
+ }
248
+ }
249
+ /**
250
+ * The end of a Codex launch: its folded events, its `-o` file's text, and its usage
251
+ * priced by the caller. Null when the launch wrote no terminal event and no outcome — a
252
+ * crash or a signal before its first turn ended, which today's launch-failure check
253
+ * reports better (AC-15).
254
+ */
255
+ export function codexEnd(p, outcomeText, costMicro) {
256
+ const text = outcomeText?.trim() ?? '';
257
+ if (!p.ended && text === '')
258
+ return null;
259
+ let outcome = null;
260
+ let unreadable = p.unreadable;
261
+ if (text !== '') {
262
+ try {
263
+ outcome = parseOutcome(JSON.parse(text));
264
+ }
265
+ catch {
266
+ unreadable++;
267
+ }
268
+ }
269
+ // Checked again: the progress came back from `state.json`, which can be edited.
270
+ const thread = p.thread_id !== null && UUID_RE.test(p.thread_id) ? p.thread_id : null;
271
+ return {
272
+ harness: 'codex',
273
+ limit: null,
274
+ error: p.error,
275
+ outcome,
276
+ session_id: thread,
277
+ session_unusable: thread === null && (p.thread_unusable || p.thread_id !== null),
278
+ cost_micro: costMicro,
279
+ turns: p.turns,
280
+ refused: [],
281
+ refused_total: 0,
282
+ failed: p.failed.slice(0, LIST_MAX),
283
+ failed_total: p.failed_total,
284
+ unreadable,
285
+ };
286
+ }
287
+ /**
288
+ * The words above autopilot-reads-agent-result/AC-23, matched without regard to case.
289
+ * Written ahead of the real texts; the release run checks them against what each
290
+ * harness prints, and each is pinned by a fixture so a change is deliberate.
291
+ */
292
+ const SESSION_LIMIT_WORDS = ['usage limit', 'session limit', 'weekly limit', 'hit your limit', 'limit reached'];
293
+ const CONNECTION_WORDS = ['connection', 'disconnected', 'timed out', 'timeout', 'overloaded', 'rate limit', '429'];
294
+ const SERVER_ERROR_RE = /API Error: 5\d\d/i;
295
+ /**
296
+ * Whether an error text is a session limit or a dropped connection, the two endings a
297
+ * session is resumed from (AC-23, AC-24). A session limit is checked first: it must not
298
+ * contain `rate limit`, which the connection list holds.
299
+ */
300
+ export function stoppedBy(error) {
301
+ const e = error.toLowerCase();
302
+ if (SESSION_LIMIT_WORDS.some((w) => e.includes(w)) && !e.includes('rate limit'))
303
+ return 'session-limit';
304
+ if (CONNECTION_WORDS.some((w) => e.includes(w)) || SERVER_ERROR_RE.test(error))
305
+ return 'connection';
306
+ return null;
307
+ }
308
+ const HOUR_MS = 60 * 60 * 1000;
309
+ /** `zone`'s offset from UTC at `instant`, in ms; null when `Intl` does not know the zone. */
310
+ function zoneOffset(instant, zone) {
311
+ try {
312
+ const parts = new Intl.DateTimeFormat('en-US', {
313
+ timeZone: zone,
314
+ hourCycle: 'h23',
315
+ year: 'numeric',
316
+ month: 'numeric',
317
+ day: 'numeric',
318
+ hour: 'numeric',
319
+ minute: 'numeric',
320
+ second: 'numeric',
321
+ }).formatToParts(instant);
322
+ const n = (type) => Number(parts.find((p) => p.type === type)?.value);
323
+ const wall = Date.UTC(n('year'), n('month') - 1, n('day'), n('hour'), n('minute'), n('second'));
324
+ return Number.isNaN(wall) ? null : wall - Math.floor(instant / 1000) * 1000;
325
+ }
326
+ catch {
327
+ return null;
328
+ }
329
+ }
330
+ /** The instant `zone`'s wall clock reads `hour:minute` on `now`'s date there, or the next day when that is not later. */
331
+ function nextWallTime(now, hour, minute, zone) {
332
+ const offsetNow = zoneOffset(now, zone);
333
+ if (offsetNow === null)
334
+ return null;
335
+ const today = new Date(now + offsetNow);
336
+ for (const day of [0, 1]) {
337
+ const wall = Date.UTC(today.getUTCFullYear(), today.getUTCMonth(), today.getUTCDate() + day, hour, minute);
338
+ // Offset at the guess, not at now: a DST change between the two moves it by an hour.
339
+ const offset = zoneOffset(wall - offsetNow, zone);
340
+ if (offset === null)
341
+ return null;
342
+ const first = wall - offset;
343
+ // And once more at the answer. They differ only for a wall time a spring-forward night
344
+ // skips, or one an autumn night repeats; the later is the safe one — an early resume
345
+ // spends the only one there is.
346
+ const again = zoneOffset(first, zone);
347
+ if (again === null)
348
+ return null;
349
+ const instant = Math.max(first, wall - again);
350
+ if (instant > now)
351
+ return instant;
352
+ }
353
+ return null;
354
+ }
355
+ /**
356
+ * When a session limit resets, as epoch ms (AC-24). The epoch form is tried first — the
357
+ * seconds after a `|` — then `resets <h>[:<mm>]am|pm`, with an optional `(<time zone>)`;
358
+ * no zone is `zone`, which defaults to this process's own. A time already past today is
359
+ * tomorrow. Anything unreadable waits one hour: no match, an hour of 0 or over 12,
360
+ * minutes over 59, a zone `Intl` does not know, or an epoch already past — a guess could
361
+ * resume early and spend the one resume for nothing (design D9).
362
+ */
363
+ export function resetAt(error, now, zone) {
364
+ const epoch = /\|(\d{9,11})\b/.exec(error);
365
+ if (epoch !== null) {
366
+ const at = Number(epoch[1]) * 1000;
367
+ return at > now ? at : now + HOUR_MS;
368
+ }
369
+ const clock = /resets\s+(\d{1,2})(?::(\d{2}))?\s*(am|pm)(?:\s*\(([^)]+)\))?/i.exec(error);
370
+ if (clock === null)
371
+ return now + HOUR_MS;
372
+ const h = Number(clock[1]);
373
+ const minute = clock[2] === undefined ? 0 : Number(clock[2]);
374
+ if (h < 1 || h > 12 || minute > 59)
375
+ return now + HOUR_MS;
376
+ const hour = (h % 12) + (clock[3].toLowerCase() === 'pm' ? 12 : 0);
377
+ const named = clock[4]?.trim();
378
+ const tz = named !== undefined && named !== '' ? named : zone ?? Intl.DateTimeFormat().resolvedOptions().timeZone;
379
+ return nextWallTime(now, hour, minute, tz) ?? now + HOUR_MS;
380
+ }
381
+ /** The longest a session-limit wait may be before the item is parked instead (AC-25). */
382
+ export const RESET_WAIT_MAX_MS = 6 * HOUR_MS;
383
+ /** How the session ended, in a few words, for the summary. */
384
+ function endingText(end) {
385
+ if (end.limit === 'budget')
386
+ return 'budget reached';
387
+ if (end.limit === 'turns')
388
+ return 'turn limit reached';
389
+ if (end.error !== null) {
390
+ const line = firstLine(end.error, REASON_MAX) ?? 'error';
391
+ const stop = stoppedBy(end.error);
392
+ return stop === 'connection' ? `connection dropped: ${line}` : stop === 'session-limit' ? `session limit: ${line}` : `failed: ${line}`;
393
+ }
394
+ if (end.outcome !== null)
395
+ return end.outcome.reason === '' ? end.outcome.outcome : `${end.outcome.outcome}: ${end.outcome.reason}`;
396
+ return 'no outcome reported';
397
+ }
398
+ const PREFIX = '[autopilot]';
399
+ /**
400
+ * The summary appended to the item's log when a typed session ends (AC-28): how it
401
+ * ended, its cost, its turns, its session id, then each refused call and each failed
402
+ * command, ten of each at most. `how` overrides the ending, for a session autopilot
403
+ * itself stopped.
404
+ */
405
+ export function summaryLines(end, how) {
406
+ if (end === null)
407
+ return [`${PREFIX} session ended with no readable result${how === undefined ? '' : ` — ${how}`}`];
408
+ const cost = end.cost_micro === null ? 'cost unpriced' : `cost ${microToUsd(end.cost_micro)}`;
409
+ const turns = end.turns === null ? 'turns unknown' : `${end.turns} turn${end.turns === 1 ? '' : 's'}`;
410
+ const session = end.session_id !== null ? `session ${end.session_id}` : end.session_unusable ? 'no usable session id' : 'no session id';
411
+ const lines = [`${PREFIX} session ended — ${how ?? endingText(end)}; ${cost}; ${turns}; ${session}`];
412
+ for (const r of end.refused)
413
+ lines.push(`${PREFIX} refused: ${r.tool} ${r.input}`.trimEnd());
414
+ if (end.refused_total > end.refused.length)
415
+ lines.push(`${PREFIX} refused: and ${end.refused_total - end.refused.length} more`);
416
+ for (const f of end.failed)
417
+ lines.push(`${PREFIX} failed command (exit ${f.exit_code}): ${f.command}`.trimEnd());
418
+ if (end.failed_total > end.failed.length)
419
+ lines.push(`${PREFIX} failed commands: and ${end.failed_total - end.failed.length} more`);
420
+ if (end.unreadable > 0)
421
+ lines.push(`${PREFIX} ${end.unreadable} line(s) of output could not be read`);
422
+ return lines;
423
+ }
424
+ /** `; 3 tool call(s) refused, first: Bash rm -rf build`, or '' when none were refused (AC-16). */
425
+ export function refusalSuffix(end) {
426
+ const first = end.refused[0];
427
+ if (end.refused_total === 0 || first === undefined)
428
+ return '';
429
+ return `; ${end.refused_total} tool call(s) refused, first: ${`${first.tool} ${first.input}`.trimEnd()}`;
430
+ }
431
+ //# sourceMappingURL=result.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"result.js","sourceRoot":"","sources":["../../src/autopilot/result.ts"],"names":[],"mappings":"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"}
@@ -13,6 +13,8 @@ import type { Notice } from './notify.js';
13
13
  import { type AutopilotPaths, type RunRecord } from './state.js';
14
14
  import { type StopOverrides } from './stops.js';
15
15
  export declare function isAlive(pid: number): boolean;
16
+ /** At most `max` bytes of `file` from `offset`; empty when it cannot be read. */
17
+ export declare function readRange(file: string, offset: number, max: number): Buffer;
16
18
  /** The run record, or null when there is none or its process is gone. */
17
19
  export declare function activeRun(p: AutopilotPaths): RunRecord | null;
18
20
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"run.d.ts","sourceRoot":"","sources":["../../src/autopilot/run.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"run.d.ts","sourceRoot":"","sources":["../../src/autopilot/run.ts"],"names":[],"mappings":"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"}
@@ -9,8 +9,11 @@
9
9
  * @module
10
10
  */
11
11
  import { spawn, spawnSync } from 'node:child_process';
12
- import { closeSync, existsSync, fstatSync, mkdirSync, openSync, readFileSync, readSync, rmSync, writeFileSync } from 'node:fs';
12
+ import { appendFileSync, closeSync, existsSync, fstatSync, mkdirSync, openSync, readFileSync, readSync, rmSync, statSync, writeFileSync, } from 'node:fs';
13
13
  import { dirname } from 'node:path';
14
+ import { loadCostConfig } from '../cost/config.js';
15
+ import { rolloutModel } from '../cost/providers/codex.js';
16
+ import { effectiveRates } from '../cost/rates.js';
14
17
  import { markStepChanges, resumeFailed, stepsOf, tick } from './driver.js';
15
18
  import { identify } from './pause.js';
16
19
  import { clearRun, loadConfig, loadRun, loadState, saveRun, saveState, withLock, } from './state.js';
@@ -35,21 +38,25 @@ export function isAlive(pid) {
35
38
  */
36
39
  const exits = new Map();
37
40
  const EXIT_OUTPUT_BYTES = 4096;
38
- function readFrom(file, offset) {
41
+ /** At most `max` bytes of `file` from `offset`; empty when it cannot be read. */
42
+ export function readRange(file, offset, max) {
39
43
  let fd = null;
40
44
  try {
41
45
  fd = openSync(file, 'r');
42
- const buf = Buffer.alloc(EXIT_OUTPUT_BYTES);
43
- return buf.toString('utf8', 0, readSync(fd, buf, 0, EXIT_OUTPUT_BYTES, offset));
46
+ const buf = Buffer.alloc(max);
47
+ return buf.subarray(0, readSync(fd, buf, 0, max, offset));
44
48
  }
45
49
  catch {
46
- return '';
50
+ return Buffer.alloc(0);
47
51
  }
48
52
  finally {
49
53
  if (fd !== null)
50
54
  closeSync(fd);
51
55
  }
52
56
  }
57
+ function readFrom(file, offset) {
58
+ return readRange(file, offset, EXIT_OUTPUT_BYTES).toString('utf8');
59
+ }
53
60
  /** The run record, or null when there is none or its process is gone. */
54
61
  export function activeRun(p) {
55
62
  const run = loadRun(p);
@@ -138,8 +145,28 @@ export function realCtx(repo, p, dryRun, say, notifier) {
138
145
  fs: {
139
146
  read: (f) => (existsSync(f) ? readFileSync(f, 'utf8') : null),
140
147
  exists: (f) => existsSync(f),
141
- write: (f, t) => writeFileSync(f, t),
148
+ // The outcome files live in a directory nothing else creates (autopilot-reads-agent-result/AC-2).
149
+ write: (f, t) => {
150
+ mkdirSync(dirname(f), { recursive: true });
151
+ writeFileSync(f, t);
152
+ },
153
+ size: (f) => {
154
+ try {
155
+ return statSync(f).size;
156
+ }
157
+ catch {
158
+ return 0;
159
+ }
160
+ },
161
+ readRange,
162
+ append: (f, t) => {
163
+ mkdirSync(dirname(f), { recursive: true });
164
+ appendFileSync(f, t);
165
+ },
142
166
  },
167
+ // Read each time: a rate added under `cost.rates` applies from the next pass.
168
+ rates: () => effectiveRates(repo, loadCostConfig(repo)),
169
+ codexModel: (threadId, launchedAt) => rolloutModel(threadId, launchedAt, { projectRoot: repo }),
143
170
  };
144
171
  }
145
172
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"run.js","sourceRoot":"","sources":["../../src/autopilot/run.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"run.js","sourceRoot":"","sources":["../../src/autopilot/run.ts"],"names":[],"mappings":"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"}