@onepointfour-packs/flaredeck-agent 0.2.119 → 0.2.120

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.
@@ -37,6 +37,9 @@ export type PendingApproval = {
37
37
  };
38
38
  approvers?: string[];
39
39
  ran_at?: string;
40
+ /** Stamped just before an approved script runs, so it is never run twice. */
41
+ started_at?: string;
42
+ decided_at?: string;
40
43
  decided_by_name?: string;
41
44
  card: {
42
45
  key: string;
@@ -83,6 +86,12 @@ export declare class Flaredeck {
83
86
  approvedUnrun(): Promise<PendingApproval[]>;
84
87
  /** Report an approved request as executed, so no harness runs it again. */
85
88
  markRan(commentId: string, outcome: string): Promise<void>;
89
+ /** About to run an approved script: false when it was already started or run (do NOT run it). */
90
+ markStarted(commentId: string): Promise<boolean>;
91
+ /** Take back one of this agent's own requests, pending or approved-but-not-run. */
92
+ withdraw(commentId: string, why: string): Promise<void>;
93
+ /** This agent's own requests still waiting on a person. */
94
+ myPending(): Promise<PendingApproval[]>;
86
95
  /** One request by its comment id, in the inbox's shape — or null when it is not pending. */
87
96
  approval(commentId: string): Promise<PendingApproval | null>;
88
97
  /** The named lead's review of a worker's request: endorse it on to the approvers, or refuse it. */
package/dist/flaredeck.js CHANGED
@@ -56,6 +56,27 @@ export class Flaredeck {
56
56
  async markRan(commentId, outcome) {
57
57
  await this.call(`/approvals/${encodeURIComponent(commentId)}/ran`, { method: 'POST', body: JSON.stringify({ outcome }) });
58
58
  }
59
+ /** About to run an approved script: false when it was already started or run (do NOT run it). */
60
+ async markStarted(commentId) {
61
+ try {
62
+ await this.call(`/approvals/${encodeURIComponent(commentId)}/started`, { method: 'POST', body: '{}' });
63
+ return true;
64
+ }
65
+ catch (e) {
66
+ if (/already_started|already_ran|409|not_approved/.test(String(e)))
67
+ return false;
68
+ throw e;
69
+ }
70
+ }
71
+ /** Take back one of this agent's own requests, pending or approved-but-not-run. */
72
+ async withdraw(commentId, why) {
73
+ await this.call(`/approvals/${encodeURIComponent(commentId)}/withdraw`, { method: 'POST', body: JSON.stringify({ why }) });
74
+ }
75
+ /** This agent's own requests still waiting on a person. */
76
+ async myPending() {
77
+ const body = await this.call('/approvals?state=pending&mine=1');
78
+ return Array.isArray(body?.approvals) ? body.approvals : [];
79
+ }
59
80
  /** One request by its comment id, in the inbox's shape — or null when it is not pending. */
60
81
  async approval(commentId) {
61
82
  const all = await this.pendingApprovals();
@@ -1 +1 @@
1
- {"version":3,"file":"flaredeck.js","sourceRoot":"","sources":["../src/flaredeck.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"flaredeck.js","sourceRoot":"","sources":["../src/flaredeck.ts"],"names":[],"mappings":"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"}
package/dist/runs.d.ts CHANGED
@@ -68,6 +68,12 @@ export type AskEvent = {
68
68
  export declare const UNATTENDED_ENV: Record<string, string>;
69
69
  /** The one failure worth translating: git over ssh on a machine that only talks to GitHub over https. */
70
70
  export declare function explainFailure(out: string): string;
71
+ /** How long an approved script may run before it is stopped and reported as timed out. */
72
+ export declare const RUN_TIMEOUT_MS: number;
73
+ export declare function exec(target: RunTarget, script: string, cwd: string, timeoutMs?: number): Promise<{
74
+ code: number;
75
+ out: string;
76
+ }>;
71
77
  /**
72
78
  * The read-only preview the harness derives from a write. Only the simplest shapes: one UPDATE
73
79
  * or DELETE, one table, a WHERE clause, nothing after it. Anything else previews nothing rather
@@ -96,13 +102,53 @@ export declare function kindIfGiven(v: unknown): (typeof KINDS)[number] | undefi
96
102
  */
97
103
  export declare function kindOf(given: string | undefined, ...text: (string | undefined)[]): (typeof KINDS)[number] | undefined;
98
104
  export declare function previewFor(script: string): string | null;
105
+ type RunJob = {
106
+ commentId: string;
107
+ card: string;
108
+ cwd: string;
109
+ name: string;
110
+ target: string;
111
+ script: string;
112
+ hash: string;
113
+ };
114
+ /**
115
+ * Execute an approved request and put the outcome where it belongs: a comment on the card for
116
+ * the people, and a `ran` stamp on the request so no harness — this one restarted, or another
117
+ * holding the same account — runs the same approval twice.
118
+ */
119
+ export declare function runAndReport(t: RunTarget, job: RunJob, deck: Flaredeck, log: (text: string) => void): Promise<{
120
+ code: number;
121
+ out: string;
122
+ }>;
123
+ /**
124
+ * Approvals that came late: given a while after the agent asked, or found by a restarted harness.
125
+ * They are NOT run on arrival. The code, the card or the plan may have moved on — JARVIS asked for
126
+ * a merge, then asked again with a corrected script, and an approval of the first one found later
127
+ * would have merged the wrong thing. The agent is told who approved what and when, and runs it with
128
+ * run_approved only if it still holds; drop_approved closes it. Kept per harness, in memory: a
129
+ * restart finds them again from FlareDeck.
130
+ */
131
+ export declare const LATE_AFTER_MS: number;
132
+ export type LateRun = {
133
+ target: RunTarget;
134
+ job: RunJob;
135
+ approvedBy: string;
136
+ askedAt: string | null;
137
+ decidedAt: string | null;
138
+ };
139
+ export declare const lateRuns: Map<string, LateRun>;
140
+ /** What the agent is told about a late approval: enough to judge it, and the two ways out. */
141
+ export declare function lateRunNote(id: string, l: Pick<LateRun, 'approvedBy' | 'askedAt' | 'decidedAt'> & {
142
+ name: string;
143
+ target: string;
144
+ script: string;
145
+ }, now?: number): string;
99
146
  /**
100
147
  * What a restarted harness owes: requests of its own that a person approved while it was not
101
- * waiting — closed on idle, out of context, or simply down. Each is run now and reported, so an
102
- * approval is never silently lost to a restart. The agent is not involved; it reads the result
103
- * on the card next time it looks.
148
+ * waiting. None is run here. One that had STARTED and never finished is closed as interrupted (run
149
+ * again only if asked again); the rest go back to the agent, on their cards, to confirm or drop.
104
150
  */
105
- export declare function resumeApprovedRuns(targets: Record<string, RunTarget>, deck: Flaredeck, cwd: string, log: (text: string) => void): Promise<number>;
151
+ export declare function resumeApprovedRuns(targets: Record<string, RunTarget>, deck: Flaredeck, cwd: string, log: (text: string) => void, resume?: (card: Current, text: string) => void): Promise<number>;
106
152
  /**
107
153
  * Wake-ups an agent asks for on its own card. Returns the function the tool calls. `unitMs` is a
108
154
  * minute; a test makes it shorter.
package/dist/runs.js CHANGED
@@ -29,7 +29,7 @@ import { flaredeckDecider } from './approval.js';
29
29
  * That count is the harness's, from the agent's clause — the agent's own description of its own
30
30
  * script is never enough on its own.
31
31
  */
32
- export const RUN_TOOL_NAMES = ['mcp__human__set-needs-human', 'mcp__human__attach_file', 'mcp__human__check_back', 'mcp__runs__check_back'];
32
+ export const RUN_TOOL_NAMES = ['mcp__human__set-needs-human', 'mcp__human__attach_file', 'mcp__human__check_back', 'mcp__runs__check_back', 'mcp__human__my_requests', 'mcp__human__run_approved', 'mcp__human__drop_approved', 'mcp__human__withdraw_request'];
33
33
  /** How long an agent may ask to be left before it is woken on a card again. */
34
34
  export const CHECK_BACK_MIN = 1;
35
35
  export const CHECK_BACK_MAX = 60;
@@ -70,7 +70,9 @@ export function explainFailure(out) {
70
70
  }
71
71
  return out;
72
72
  }
73
- function exec(target, script, cwd) {
73
+ /** How long an approved script may run before it is stopped and reported as timed out. */
74
+ export const RUN_TIMEOUT_MS = 15 * 60_000;
75
+ export function exec(target, script, cwd, timeoutMs = RUN_TIMEOUT_MS) {
74
76
  return new Promise((resolve) => {
75
77
  const [command, ...rest] = target.command;
76
78
  // `{script}` in the target's own argument list is where the script goes; without it, the
@@ -93,8 +95,28 @@ function exec(target, script, cwd) {
93
95
  out += String(d); };
94
96
  child.stdout?.on('data', cap);
95
97
  child.stderr?.on('data', cap);
96
- child.on('close', (c) => resolve({ code: c ?? 1, out: explainFailure(out.trim()) }));
97
- child.on('error', (e) => resolve({ code: 1, out: String(e) }));
98
+ // Never hangs: past the limit the whole group goes (the script and anything it started), and
99
+ // the agent is told it timed out rather than waiting on a run that will not come back.
100
+ let timedOut = false;
101
+ const limit = setTimeout(() => {
102
+ timedOut = true;
103
+ try {
104
+ process.kill(-child.pid, 'SIGTERM');
105
+ }
106
+ catch { /* already gone */ }
107
+ setTimeout(() => { try {
108
+ process.kill(-child.pid, 'SIGKILL');
109
+ }
110
+ catch { /* gone */ } }, 5000).unref();
111
+ }, timeoutMs);
112
+ limit.unref();
113
+ child.on('close', (c) => {
114
+ clearTimeout(limit);
115
+ if (timedOut)
116
+ return resolve({ code: 124, out: `${out.trim()}\n\nStopped: it was still running after ${Math.round(timeoutMs / 60_000)} minutes, so it was ended. It may have half-finished — check what it changed before running anything again.`.trim() });
117
+ resolve({ code: c ?? 1, out: explainFailure(out.trim()) });
118
+ });
119
+ child.on('error', (e) => { clearTimeout(limit); resolve({ code: 1, out: String(e) }); });
98
120
  if (!inArgs)
99
121
  child.stdin?.end(script);
100
122
  });
@@ -192,7 +214,21 @@ export function previewFor(script) {
192
214
  * the people, and a `ran` stamp on the request so no harness — this one restarted, or another
193
215
  * holding the same account — runs the same approval twice.
194
216
  */
195
- async function runAndReport(t, job, deck, log) {
217
+ export async function runAndReport(t, job, deck, log) {
218
+ // Stamped before it runs, so nothing — a restart, another harness on the same account — runs it twice.
219
+ if (job.commentId) {
220
+ let stamped = false;
221
+ try {
222
+ stamped = await deck.markStarted(job.commentId);
223
+ }
224
+ catch (e) {
225
+ log(`could not mark ${job.name} as started: ${String(e)}`);
226
+ }
227
+ if (!stamped) {
228
+ log(`not running ${job.name}: it was already started, or FlareDeck could not record that it is starting`);
229
+ return { code: 1, out: 'Not run: it was already started once (or FlareDeck could not record the start), and an approved script never runs twice. Ask again if it is still needed.' };
230
+ }
231
+ }
196
232
  log(`running ${job.name} on ${job.target}`);
197
233
  const r = await exec(t, job.script, job.cwd);
198
234
  const outcome = r.code === 0 ? 'ran' : `FAILED (exit ${r.code})`;
@@ -203,13 +239,38 @@ async function runAndReport(t, job, deck, log) {
203
239
  .catch((e) => log(`could not post the run result: ${String(e)}`));
204
240
  return r;
205
241
  }
242
+ /**
243
+ * Approvals that came late: given a while after the agent asked, or found by a restarted harness.
244
+ * They are NOT run on arrival. The code, the card or the plan may have moved on — JARVIS asked for
245
+ * a merge, then asked again with a corrected script, and an approval of the first one found later
246
+ * would have merged the wrong thing. The agent is told who approved what and when, and runs it with
247
+ * run_approved only if it still holds; drop_approved closes it. Kept per harness, in memory: a
248
+ * restart finds them again from FlareDeck.
249
+ */
250
+ export const LATE_AFTER_MS = 15 * 60_000;
251
+ export const lateRuns = new Map();
252
+ const ago = (iso, now = Date.now()) => {
253
+ const t = iso ? Date.parse(iso) : NaN;
254
+ if (!Number.isFinite(t))
255
+ return 'some time ago';
256
+ const m = Math.round((now - t) / 60_000);
257
+ return m < 1 ? 'just now' : m < 90 ? `${m} min ago` : m < 48 * 60 ? `${Math.round(m / 60)} h ago` : `${Math.round(m / 1440)} days ago`;
258
+ };
259
+ /** What the agent is told about a late approval: enough to judge it, and the two ways out. */
260
+ export function lateRunNote(id, l, now = Date.now()) {
261
+ return `${l.approvedBy} approved your script request "${l.name}" on ${l.target} — you asked ${ago(l.askedAt, now)}, ` +
262
+ `it was approved ${ago(l.decidedAt, now)}. It has NOT run.\n\n` +
263
+ 'Before running it, check it still holds: the card, the branch and the code as they are NOW, and ' +
264
+ 'whether a later request replaced it. Then either call run_approved with id "' + id + '" to run it ' +
265
+ 'exactly as approved, or drop_approved with that id and one line on why. Do not ask for it again ' +
266
+ 'unchanged — it is already approved.\n\nThe script:\n```\n' + l.script.slice(0, 3000) + '\n```';
267
+ }
206
268
  /**
207
269
  * What a restarted harness owes: requests of its own that a person approved while it was not
208
- * waiting — closed on idle, out of context, or simply down. Each is run now and reported, so an
209
- * approval is never silently lost to a restart. The agent is not involved; it reads the result
210
- * on the card next time it looks.
270
+ * waiting. None is run here. One that had STARTED and never finished is closed as interrupted (run
271
+ * again only if asked again); the rest go back to the agent, on their cards, to confirm or drop.
211
272
  */
212
- export async function resumeApprovedRuns(targets, deck, cwd, log) {
273
+ export async function resumeApprovedRuns(targets, deck, cwd, log, resume) {
213
274
  let n = 0;
214
275
  let owed;
215
276
  try {
@@ -228,6 +289,15 @@ export async function resumeApprovedRuns(targets, deck, cwd, log) {
228
289
  const t = targets[target];
229
290
  const script = (a.input_preview || '').split('\n').filter((l) => !l.startsWith('-- ')).join('\n').trim();
230
291
  const hash = /\[([0-9a-f]{12})\]/.exec(desc)?.[1] ?? '';
292
+ const card = { card: a.card.key, cwd, ...(a.card.board_key ? { board: a.card.board_key } : {}), ...(a.card.code ? { code: a.card.code } : {}) };
293
+ if (a.started_at) {
294
+ // Started before the restart and never reported: it may have half-run. Never again by itself.
295
+ await deck.markRan(a.comment_id, 'interrupted by a restart — not run again').catch(() => { });
296
+ log(`approved run ${name} was interrupted by a restart — closed, not run again`);
297
+ resume?.(card, `Your approved script "${name}" on ${target} was started and then interrupted when the harness restarted. It may have partly run, and it will not run again by itself. Check what it changed; if it is still needed, ask again.`);
298
+ n++;
299
+ continue;
300
+ }
231
301
  if (!t || !script) {
232
302
  log(`approved run ${name} on ${target} cannot be resumed here (${!t ? 'no such target on this machine' : 'no script'})`);
233
303
  continue;
@@ -238,8 +308,10 @@ export async function resumeApprovedRuns(targets, deck, cwd, log) {
238
308
  log(`approved run ${name}: stored script no longer matches its hash — not running it`);
239
309
  continue;
240
310
  }
241
- log(`${a.decided_by_name ?? 'someone'} approved ${name} on ${target} while this harness was down — running it now`);
242
- await runAndReport(t, { commentId: a.comment_id, card: a.card.key, cwd, name, target, script, hash }, deck, log);
311
+ const late = { target: t, job: { commentId: a.comment_id, card: a.card.key, cwd, name, target, script, hash }, approvedBy: a.decided_by_name ?? 'someone', askedAt: a.created_at, decidedAt: a.decided_at ?? null };
312
+ lateRuns.set(a.comment_id, late);
313
+ log(`${late.approvedBy} approved ${name} on ${target} while this harness was down — asking the agent whether it still holds before running it`);
314
+ resume?.(card, lateRunNote(a.comment_id, { ...late, name, target, script }));
243
315
  n++;
244
316
  }
245
317
  return n;
@@ -345,6 +417,69 @@ checkBackFile) {
345
417
  const r = checks(cur, minutes, note);
346
418
  return say(r.text, !r.ok);
347
419
  }),
420
+ tool('my_requests', 'Your own script requests: the ones still waiting for a person, and the ones approved late ' +
421
+ 'that are waiting for YOU to confirm (run_approved / drop_approved). Look here before asking ' +
422
+ 'for a run, so you do not ask twice, and withdraw what you no longer need.', {}, async () => {
423
+ if (!deck)
424
+ return say('This harness has no FlareDeck credentials of its own.', true);
425
+ const lines = [];
426
+ for (const [id, l] of lateRuns)
427
+ lines.push(`- APPROVED, waiting for you: "${l.job.name}" on ${l.job.target} (id ${id}) — asked ${ago(l.askedAt)}, approved by ${l.approvedBy} ${ago(l.decidedAt)}. run_approved or drop_approved.`);
428
+ try {
429
+ for (const a of (await deck.myPending()).filter((x) => x.tool_name === SCRIPT_REQUEST)) {
430
+ lines.push(`- waiting for a person: "${a.description.split('"')[1] ?? a.request_id}" (id ${a.comment_id}) — asked ${ago(a.created_at)}, card ${a.card.code ?? a.card.key}. withdraw_request if you no longer need it.`);
431
+ }
432
+ }
433
+ catch (e) {
434
+ lines.push(`(could not read the waiting ones: ${e instanceof Error ? e.message : String(e)})`);
435
+ }
436
+ return say(lines.length ? lines.join('\n') : 'You have no script requests waiting.');
437
+ }),
438
+ tool('run_approved', 'Run a script request that was approved LATE (you were told so, with its id). Only after you ' +
439
+ 'have checked it still holds for the card and the code as they are now. It runs exactly as ' +
440
+ 'approved, once; the output comes back here and goes on the card.', { id: z.string().describe('The id you were given with the approval.') }, async ({ id }) => {
441
+ if (!deck)
442
+ return say('This harness has no FlareDeck credentials of its own.', true);
443
+ const l = lateRuns.get(id.trim());
444
+ if (!l)
445
+ return say(`There is no late approval with id "${id}" waiting here. my_requests lists what there is.`, true);
446
+ lateRuns.delete(id.trim());
447
+ const r = await runAndReport(l.target, l.job, deck, log);
448
+ return say(`${r.code === 0 ? 'Ran' : `FAILED (exit ${r.code})`} on ${l.job.target}. Output:\n${r.out || '(no output)'}`, r.code !== 0);
449
+ }),
450
+ tool('drop_approved', 'Close a late approval WITHOUT running it, because it no longer holds — replaced by a later ' +
451
+ 'request, already done another way, or wrong for the code as it is now. Say why in one line; ' +
452
+ 'it is recorded on the request.', { id: z.string().describe('The id you were given with the approval.'), why: z.string().describe('One line: why it is no longer right to run.') }, async ({ id, why }) => {
453
+ if (!deck)
454
+ return say('This harness has no FlareDeck credentials of its own.', true);
455
+ const key = id.trim();
456
+ const l = lateRuns.get(key);
457
+ try {
458
+ await deck.withdraw(key, why);
459
+ }
460
+ catch (e) {
461
+ return say(`Could not close it: ${e instanceof Error ? e.message : String(e)}`, true);
462
+ }
463
+ lateRuns.delete(key);
464
+ if (l)
465
+ await deck.comment(l.job.card, `**Approved script \`${l.job.name}\` not run** — ${why.trim()}`).catch(() => { });
466
+ log(`dropped approved ${l?.job.name ?? key}: ${why.slice(0, 100)}`);
467
+ return say('Closed. It will not run.');
468
+ }),
469
+ tool('withdraw_request', 'Take back one of your script requests that is still WAITING for a person — it is no longer ' +
470
+ 'needed, or a corrected one replaces it. It leaves their list and can never be approved. ' +
471
+ 'Do this whenever you send a corrected script, so the old one cannot be approved by mistake.', { id: z.string().describe('Its id, from my_requests.'), why: z.string().describe('One line: why.') }, async ({ id, why }) => {
472
+ if (!deck)
473
+ return say('This harness has no FlareDeck credentials of its own.', true);
474
+ try {
475
+ await deck.withdraw(id.trim(), why);
476
+ }
477
+ catch (e) {
478
+ return say(`Could not withdraw it: ${e instanceof Error ? e.message : String(e)}`, true);
479
+ }
480
+ log(`withdrew request ${id.trim()}: ${why.slice(0, 100)}`);
481
+ return say('Withdrawn. Nobody can approve it now.');
482
+ }),
348
483
  tool('attach_file', 'Put a file from this machine on the card you are working — a screenshot, a before/after ' +
349
484
  'picture, a log, a CSV. Name the file; the harness uploads it and posts it as a comment ' +
350
485
  'on the card (images show as a preview). Use this, never curl: the shell upload is refused ' +
@@ -457,6 +592,7 @@ checkBackFile) {
457
592
  // Same request shape and same wait loop as every other approval: renders with
458
593
  // Approve/Deny, raises the push, and accepts a typed `approve <id>`.
459
594
  const leadId = lead();
595
+ const askedAt = Date.now();
460
596
  let posted;
461
597
  const ask = flaredeckDecider(deck, cur.card, RUN_APPROVAL_MS, {
462
598
  ...(leadId ? { review_by: leadId } : {}),
@@ -488,6 +624,12 @@ checkBackFile) {
488
624
  await human.unflag(card);
489
625
  if (!v.allow)
490
626
  return resume(card, `Your script request "${label}" on ${name} was not run: ${v.reason}`);
627
+ if (Date.now() - askedAt > LATE_AFTER_MS && posted?.comment_id) {
628
+ const late = { target: t, job: { commentId: posted.comment_id, card: card.card, cwd: card.cwd, name: label, target: name, script: body, hash }, approvedBy: 'A person', askedAt: new Date(askedAt).toISOString(), decidedAt: new Date().toISOString() };
629
+ lateRuns.set(posted.comment_id, late);
630
+ log(`${label}: approved ${Math.round((Date.now() - askedAt) / 60_000)} min after asking — checking with the agent before running it`);
631
+ return resume(card, lateRunNote(posted.comment_id, { ...late, name: label, target: name, script: body }));
632
+ }
491
633
  const r = await runAndReport(t, { commentId: posted?.comment_id ?? '', card: card.card, cwd: card.cwd, name: label, target: name, script: body, hash }, deck, log);
492
634
  resume(card, `Your script request "${label}" was approved and ${r.code === 0 ? 'ran' : `FAILED (exit ${r.code})`} on ${name}. Output:\n${r.out || '(no output)'}\n\nCarry on with the card from here.`);
493
635
  })
package/dist/runs.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"runs.js","sourceRoot":"","sources":["../src/runs.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"runs.js","sourceRoot":"","sources":["../src/runs.ts"],"names":[],"mappings":"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"}
package/dist/serve.js CHANGED
@@ -810,15 +810,6 @@ export async function serve(opts) {
810
810
  const approvalsTimer = setInterval(() => void refreshApprovals(), 5 * 60 * 1000);
811
811
  approvalsTimer.unref();
812
812
  void refreshApprovals();
813
- // Anything a person approved while this harness was not waiting runs now, before the first
814
- // event — so the approval the pane showed as "picking it up" is actually picked up.
815
- if (runsSet && opts.deck) {
816
- void resumeApprovedRuns(allTargets(config.runs), opts.deck, config.repo, (t) => log('tool', t))
817
- .then((n) => { if (n) {
818
- log('event', `ran ${n} approved script(s) owed from before this restart`);
819
- void refreshApprovals();
820
- } });
821
- }
822
813
  // Recurring tasks. Registering one is only a request: a person approves it before it ever runs.
823
814
  const schedulesSet = opts.deck
824
815
  ? { server: scheduleTools(opts.deck, () => onCard?.card ?? null), toolNames: SCHEDULE_TOOL_NAMES }
@@ -1229,6 +1220,16 @@ export async function serve(opts) {
1229
1220
  void drain();
1230
1221
  }
1231
1222
  };
1223
+ // Anything a person approved while this harness was not waiting goes back to the agent, on its
1224
+ // card, to confirm still holds before it runs (see resumeApprovedRuns). Here, after resumeParked
1225
+ // exists: the startup awaits above, and an early answer would have called it too soon.
1226
+ if (runsSet && opts.deck) {
1227
+ void resumeApprovedRuns(allTargets(config.runs), opts.deck, config.repo, (t) => log('tool', t), (card, text) => resumeParked(card, text))
1228
+ .then((n) => { if (n) {
1229
+ log('event', `${n} approved script(s) from before this restart handed back to the agent to confirm`);
1230
+ void refreshApprovals();
1231
+ } });
1232
+ }
1232
1233
  /**
1233
1234
  * A question typed in this pane.
1234
1235
  *