@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.
- package/dist/flaredeck.d.ts +9 -0
- package/dist/flaredeck.js +21 -0
- package/dist/flaredeck.js.map +1 -1
- package/dist/runs.d.ts +50 -4
- package/dist/runs.js +153 -11
- package/dist/runs.js.map +1 -1
- package/dist/serve.js +10 -9
- package/dist/serve.js.map +1 -1
- package/package.json +1 -1
package/dist/flaredeck.d.ts
CHANGED
|
@@ -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();
|
package/dist/flaredeck.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"flaredeck.js","sourceRoot":"","sources":["../src/flaredeck.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;
|
|
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
|
|
102
|
-
*
|
|
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
|
-
|
|
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
|
-
|
|
97
|
-
|
|
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
|
|
209
|
-
*
|
|
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
|
-
|
|
242
|
-
|
|
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":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAC3C,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AACjE,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,IAAI,EAAE,MAAM,gCAAgC,CAAC;AACtD,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAC1C,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAIjD;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,6BAA6B,EAAE,yBAAyB,EAAE,wBAAwB,EAAE,uBAAuB,EAAE,yBAAyB,EAAE,0BAA0B,EAAE,2BAA2B,EAAE,8BAA8B,CAAC,CAAC;AAEhQ,+EAA+E;AAC/E,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,CAAC;AAChC,MAAM,CAAC,MAAM,cAAc,GAAG,EAAE,CAAC;AACjC,sGAAsG;AACtG,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,CAAC;AACpC,MAAM,UAAU,gBAAgB,CAAC,KAAc;IAC7C,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;IACpC,OAAO,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,cAAc,EAAE,IAAI,CAAC,GAAG,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;AACzF,CAAC;AAED,6FAA6F;AAC7F,MAAM,CAAC,MAAM,cAAc,GAAG,YAAY,CAAC;AAE3C;;;;GAIG;AACH,MAAM,CAAC,MAAM,KAAK,GAAc;IAC9B,OAAO,EAAE,CAAC,MAAM,EAAE,KAAK,EAAE,UAAU,CAAC;IACpC,KAAK,EAAE,oDAAoD;CAC5D,CAAC;AAEF,oGAAoG;AACpG,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,aAAwC,EAAE,EAA6B,EAAE,CAClG,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,UAAU,EAAE,CAAC,CAAC;AAEpC,iFAAiF;AACjF,MAAM,eAAe,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;AACvC,MAAM,UAAU,GAAG,IAAI,CAAC;AAiBxB,MAAM,GAAG,GAAG,CAAC,IAAY,EAAE,OAAO,GAAG,KAAK,EAAE,EAAE,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC;AAEzG,gGAAgG;AAChG,MAAM,CAAC,MAAM,cAAc,GAA2B;IACpD,mBAAmB,EAAE,GAAG;IACxB,eAAe,EAAE,2CAA2C;IAC5D,mBAAmB,EAAE,OAAO;IAC5B,eAAe,EAAE,gBAAgB;CAClC,CAAC;AAEF,yGAAyG;AACzG,MAAM,UAAU,cAAc,CAAC,GAAW;IACxC,IAAI,8DAA8D,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,iBAAiB,CAAC,IAAI,CAAC,GAAG,GAAG,iBAAiB,CAAC,EAAE,CAAC;QAChI,OAAO,GAAG,GAAG,4JAA4J,CAAC;IAC5K,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED,0FAA0F;AAC1F,MAAM,CAAC,MAAM,cAAc,GAAG,EAAE,GAAG,MAAM,CAAC;AAE1C,MAAM,UAAU,IAAI,CAAC,MAAiB,EAAE,MAAc,EAAE,GAAW,EAAE,SAAS,GAAG,cAAc;IAC7F,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;QAC7B,MAAM,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,GAAG,MAAM,CAAC,OAAO,CAAC;QAC1C,yFAAyF;QACzF,wFAAwF;QACxF,8DAA8D;QAC9D,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC;QACxD,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;QAC/D,MAAM,KAAK,GAAG,KAAK,CAAC,OAAQ,EAAE,IAAI,EAAE;YAClC,GAAG,EAAE,MAAM,CAAC,GAAG,IAAI,GAAG;YACtB,KAAK,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC;YACnD,wFAAwF;YACxF,uFAAuF;YACvF,0FAA0F;YAC1F,+EAA+E;YAC/E,QAAQ,EAAE,IAAI;YACd,GAAG,EAAE,EAAE,GAAG,OAAO,CAAC,GAAG,EAAE,GAAG,cAAc,EAAE;SAC3C,CAAC,CAAC;QACH,IAAI,GAAG,GAAG,EAAE,CAAC;QACb,MAAM,GAAG,GAAG,CAAC,CAAS,EAAE,EAAE,GAAG,IAAI,GAAG,CAAC,MAAM,GAAG,UAAU;YAAE,GAAG,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC9E,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;QAC9B,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;QAC9B,6FAA6F;QAC7F,uFAAuF;QACvF,IAAI,QAAQ,GAAG,KAAK,CAAC;QACrB,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE;YAC5B,QAAQ,GAAG,IAAI,CAAC;YAChB,IAAI,CAAC;gBAAC,OAAO,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,GAAI,EAAE,SAAS,CAAC,CAAC;YAAC,CAAC;YAAC,MAAM,CAAC,CAAC,kBAAkB,CAAC,CAAC;YAC1E,UAAU,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC;gBAAC,OAAO,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,GAAI,EAAE,SAAS,CAAC,CAAC;YAAC,CAAC;YAAC,MAAM,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,KAAK,EAAE,CAAC;QACzG,CAAC,EAAE,SAAS,CAAC,CAAC;QACd,KAAK,CAAC,KAAK,EAAE,CAAC;QACd,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC,EAAE,EAAE;YACtB,YAAY,CAAC,KAAK,CAAC,CAAC;YACpB,IAAI,QAAQ;gBAAE,OAAO,OAAO,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,GAAG,CAAC,IAAI,EAAE,2CAA2C,IAAI,CAAC,KAAK,CAAC,SAAS,GAAG,MAAM,CAAC,6GAA6G,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;YAC7P,OAAO,CAAC,EAAE,IAAI,EAAE,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,cAAc,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC;QAC7D,CAAC,CAAC,CAAC;QACH,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC,EAAE,EAAE,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,GAAG,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACzF,IAAI,CAAC,MAAM;YAAE,KAAK,CAAC,KAAK,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IACxC,CAAC,CAAC,CAAC;AACL,CAAC;AAED;;;;GAIG;AACH;;;GAGG;AACH,MAAM,UAAU,gBAAgB,CAAC,CAAU;IACzC,IAAI,CAAC,GAAG,CAAC,CAAC;IACV,IAAI,OAAO,CAAC,KAAK,QAAQ,EAAE,CAAC;QAC1B,IAAI,CAAC;YAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAAC,CAAC;QAAC,MAAM,CAAC;YAAC,OAAO,CAAC,CAAC;QAAC,CAAC;IAChD,CAAC;IACD,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;QAAE,OAAO,CAAC,CAAC;IAChC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAClE,CAAC;AAED,MAAM,KAAK,GAAG,CAAC,WAAW,EAAE,SAAS,EAAE,QAAQ,EAAE,aAAa,EAAE,UAAU,CAAU,CAAC;AACrF,MAAM,UAAU,GAA2C;IACzD,IAAI,EAAE,WAAW,EAAE,GAAG,EAAE,WAAW,EAAE,KAAK,EAAE,WAAW,EAAE,cAAc,EAAE,WAAW,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,EAAE,WAAW;IACnI,UAAU,EAAE,QAAQ,EAAE,WAAW,EAAE,QAAQ,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ;IACxG,QAAQ,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,SAAS,EAAE,YAAY,EAAE,SAAS,EAAE,EAAE,EAAE,SAAS;IAChG,QAAQ,EAAE,aAAa,EAAE,aAAa,EAAE,aAAa,EAAE,IAAI,EAAE,aAAa,EAAE,KAAK,EAAE,aAAa;IAChG,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,UAAU,EAAE,KAAK,EAAE,UAAU;CACzD,CAAC;AAEF;;;;GAIG;AACH,MAAM,UAAU,aAAa,CAAC,CAAU;IACtC,MAAM,CAAC,GAAG,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IAC9D,IAAK,KAA2B,CAAC,QAAQ,CAAC,CAAC,CAAC;QAAE,OAAO,CAA2B,CAAC;IACjF,MAAM,GAAG,GAAG,UAAU,CAAC,CAAC,CAAC,IAAI,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC;IAC7D,IAAI,GAAG;QAAE,OAAO,GAAG,CAAC;IACpB,+FAA+F;IAC/F,yFAAyF;IACzF,KAAK,MAAM,IAAI,IAAI,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC;QACtD,IAAK,KAA2B,CAAC,QAAQ,CAAC,IAAI,CAAC;YAAE,OAAO,IAA8B,CAAC;QACvF,MAAM,CAAC,GAAG,UAAU,CAAC,IAAI,CAAC,IAAI,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC;QACjE,IAAI,CAAC;YAAE,OAAO,CAAC,CAAC;IAClB,CAAC;IACD,OAAO,aAAa,CAAC;AACvB,CAAC;AAED,mFAAmF;AACnF,MAAM,UAAU,WAAW,CAAC,CAAU;IACpC,OAAO,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;AAC1E,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,MAAM,CAAC,KAAyB,EAAE,GAAG,IAA4B;IAC/E,IAAI,KAAK;QAAE,OAAO,WAAW,CAAC,KAAK,CAAC,CAAC;IACrC,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC7C,MAAM,KAAK,GAAG,gDAAgD,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IAC/E,IAAI,KAAK;QAAE,OAAO,aAAa,CAAC,KAAK,CAAC,CAAC;IACvC,MAAM,IAAI,GAAG,wDAAwD,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IAC7F,OAAO,IAAI,CAAC,CAAC,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;AAChD,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,MAAc;IACvC,MAAM,CAAC,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;IAC7C,IAAI,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC;QAAE,OAAO,IAAI,CAAC;IAC7B,MAAM,CAAC,GACL,4DAA4D,CAAC,IAAI,CAAC,CAAC,CAAC;QACpE,kDAAkD,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAC7D,IAAI,CAAC,CAAC;QAAE,OAAO,IAAI,CAAC;IACpB,MAAM,KAAK,GAAG,CAAC,CAAC,CAAC,CAAE,CAAC,IAAI,EAAE,CAAC;IAC3B,IAAI,iCAAiC,CAAC,IAAI,CAAC,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IAC/D,OAAO,uCAAuC,CAAC,CAAC,CAAC,CAAC,UAAU,KAAK,EAAE,CAAC;AACtE,CAAC;AAID;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,YAAY,CAAC,CAAY,EAAE,GAAW,EAAE,IAAe,EAAE,GAA2B;IACxG,uGAAuG;IACvG,IAAI,GAAG,CAAC,SAAS,EAAE,CAAC;QAClB,IAAI,OAAO,GAAG,KAAK,CAAC;QACpB,IAAI,CAAC;YAAC,OAAO,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QAAC,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YAAC,GAAG,CAAC,kBAAkB,GAAG,CAAC,IAAI,gBAAgB,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QAAC,CAAC;QAClI,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,GAAG,CAAC,eAAe,GAAG,CAAC,IAAI,6EAA6E,CAAC,CAAC;YAC1G,OAAO,EAAE,IAAI,EAAE,CAAC,EAAE,GAAG,EAAE,2JAA2J,EAAE,CAAC;QACvL,CAAC;IACH,CAAC;IACD,GAAG,CAAC,WAAW,GAAG,CAAC,IAAI,OAAO,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC;IAC5C,MAAM,CAAC,GAAG,MAAM,IAAI,CAAC,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC;IAC7C,MAAM,OAAO,GAAG,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,IAAI,GAAG,CAAC;IACjE,IAAI,GAAG,CAAC,SAAS;QAAE,MAAM,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,4BAA4B,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IACzH,MAAM,IAAI;SACP,OAAO,CAAC,GAAG,CAAC,IAAI,EAAE,sBAAsB,GAAG,CAAC,IAAI,SAAS,GAAG,CAAC,MAAM,IAAI,OAAO,OAAO,GAAG,CAAC,IAAI,gBAAgB,CAAC,CAAC,GAAG,IAAI,aAAa,UAAU,CAAC;SAC9I,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,kCAAkC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IACpE,OAAO,CAAC,CAAC;AACX,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG,EAAE,GAAG,MAAM,CAAC;AAEzC,MAAM,CAAC,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAmB,CAAC;AAEnD,MAAM,GAAG,GAAG,CAAC,GAA8B,EAAE,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,EAAU,EAAE;IACvE,MAAM,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;IACtC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC;QAAE,OAAO,eAAe,CAAC;IAChD,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC;IACzC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC;AACzI,CAAC,CAAC;AAEF,8FAA8F;AAC9F,MAAM,UAAU,WAAW,CAAC,EAAU,EAAE,CAA2G,EAAE,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE;IACnK,OAAO,GAAG,CAAC,CAAC,UAAU,kCAAkC,CAAC,CAAC,IAAI,QAAQ,CAAC,CAAC,MAAM,gBAAgB,GAAG,CAAC,CAAC,CAAC,OAAO,EAAE,GAAG,CAAC,IAAI;QACnH,mBAAmB,GAAG,CAAC,CAAC,CAAC,SAAS,EAAE,GAAG,CAAC,uBAAuB;QAC/D,kGAAkG;QAClG,8EAA8E,GAAG,EAAE,GAAG,cAAc;QACpG,kGAAkG;QAClG,2DAA2D,GAAG,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,OAAO,CAAC;AACpG,CAAC;AAED;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,kBAAkB,CACtC,OAAkC,EAClC,IAAe,EACf,GAAW,EACX,GAA2B,EAC3B,MAA8C;IAE9C,IAAI,CAAC,GAAG,CAAC,CAAC;IACV,IAAI,IAAqD,CAAC;IAC1D,IAAI,CAAC;QAAC,IAAI,GAAG,MAAM,IAAI,CAAC,aAAa,EAAE,CAAC;IAAC,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QAAC,GAAG,CAAC,sCAAsC,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QAAC,OAAO,CAAC,CAAC;IAAC,CAAC;IAC3J,KAAK,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC;QACrB,IAAI,CAAC,CAAC,SAAS,KAAK,cAAc;YAAE,SAAS;QAC7C,MAAM,IAAI,GAAG,CAAC,CAAC,WAAW,IAAI,EAAE,CAAC;QACjC,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,UAAU,CAAC;QAChD,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QAC5D,MAAM,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;QAC1B,MAAM,MAAM,GAAG,CAAC,CAAC,CAAC,aAAa,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC;QACzG,MAAM,IAAI,GAAG,oBAAoB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QACxD,MAAM,IAAI,GAAY,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;QACzJ,IAAI,CAAC,CAAC,UAAU,EAAE,CAAC;YACjB,8FAA8F;YAC9F,MAAM,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,UAAU,EAAE,0CAA0C,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;YAC7F,GAAG,CAAC,gBAAgB,IAAI,uDAAuD,CAAC,CAAC;YACjF,MAAM,EAAE,CAAC,IAAI,EAAE,yBAAyB,IAAI,QAAQ,MAAM,qLAAqL,CAAC,CAAC;YACjP,CAAC,EAAE,CAAC;YACJ,SAAS;QACX,CAAC;QACD,IAAI,CAAC,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;YAAC,GAAG,CAAC,gBAAgB,IAAI,OAAO,MAAM,4BAA4B,CAAC,CAAC,CAAC,CAAC,CAAC,gCAAgC,CAAC,CAAC,CAAC,WAAW,GAAG,CAAC,CAAC;YAAC,SAAS;QAAC,CAAC;QAC1J,+FAA+F;QAC/F,MAAM,KAAK,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QAC7E,IAAI,IAAI,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;YAAC,GAAG,CAAC,gBAAgB,IAAI,6DAA6D,CAAC,CAAC;YAAC,SAAS;QAAC,CAAC;QACjI,MAAM,IAAI,GAAY,EAAE,MAAM,EAAE,CAAC,EAAE,GAAG,EAAE,EAAE,SAAS,EAAE,CAAC,CAAC,UAAU,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,UAAU,EAAE,CAAC,CAAC,eAAe,IAAI,SAAS,EAAE,OAAO,EAAE,CAAC,CAAC,UAAU,EAAE,SAAS,EAAE,CAAC,CAAC,UAAU,IAAI,IAAI,EAAE,CAAC;QAC7N,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;QACjC,GAAG,CAAC,GAAG,IAAI,CAAC,UAAU,aAAa,IAAI,OAAO,MAAM,0FAA0F,CAAC,CAAC;QAChJ,MAAM,EAAE,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC,CAAC,UAAU,EAAE,EAAE,GAAG,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC;QAC7E,CAAC,EAAE,CAAC;IACN,CAAC;IACD,OAAO,CAAC,CAAC;AACX,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,UAAU,CACxB,MAAuC,EACvC,MAA8B,GAAG,EAAE,GAAE,CAAC,EACtC,MAAM,GAAG,EAAE,GAAG,IAAI;AAClB;;;;GAIG;AACH,IAAa,EACb,MAAoB,IAAI,CAAC,GAAG;IAG5B,IAAI,IAAI,GAAW,EAAE,CAAC;IACtB,MAAM,IAAI,GAAG,GAAG,EAAE;QAChB,IAAI,CAAC,IAAI;YAAE,OAAO;QAClB,IAAI,CAAC;YAAC,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;YAAC,aAAa,CAAC,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC;QAAC,CAAC;QAAC,MAAM,CAAC,CAAC,qBAAqB,CAAC,CAAC;IACnI,CAAC,CAAC;IACF,MAAM,SAAS,GAAG,CAAC,IAAY,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC,MAAM,CAAC;IACpF,MAAM,GAAG,GAAG,CAAC,CAAO,EAAE,EAAE;QACtB,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE;YAC5B,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC;YACzC,IAAI,EAAE,CAAC;YACP,MAAM,CAAC,CAAC,CAAC,IAAI,EAAE,4CAA4C,CAAC,CAAC,OAAO,UAAU,CAAC,CAAC,OAAO,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,4BAA4B,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;QAChJ,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,GAAG,GAAG,EAAE,CAAC,CAAC,CAAC;QACjC,KAAK,CAAC,KAAK,EAAE,EAAE,CAAC;IAClB,CAAC,CAAC;IACF,uFAAuF;IACvF,8FAA8F;IAC9F,IAAI,IAAI,EAAE,CAAC;QACT,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,CAAW,CAAC;YAC7D,KAAK,MAAM,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;gBAC9C,IAAI,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,IAAI,OAAO,CAAC,CAAC,KAAK,KAAK,QAAQ;oBAAE,SAAS;gBAC5D,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;gBAChE,IAAI,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC;YAClC,CAAC;YACD,IAAI,IAAI,CAAC,MAAM;gBAAE,GAAG,CAAC,GAAG,IAAI,CAAC,MAAM,WAAW,IAAI,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,uCAAuC,CAAC,CAAC;YACnH,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QACpB,CAAC;QAAC,MAAM,CAAC,CAAC,eAAe,CAAC,CAAC;IAC7B,CAAC;IACD,OAAO,CAAC,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE;QAC5B,MAAM,OAAO,GAAG,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACpC,IAAI,OAAO,IAAI,kBAAkB;YAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,gDAAgD,OAAO,yCAAyC,EAAE,CAAC;QAChK,MAAM,CAAC,GAAG,gBAAgB,CAAC,OAAO,CAAC,CAAC;QACpC,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,IAAI,0BAA0B,CAAC;QACnF,MAAM,CAAC,GAAS,EAAE,EAAE,EAAE,GAAG,GAAG,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,IAAI,EAAE,EAAE,GAAG,GAAG,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,CAAC,GAAG,MAAM,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;QAC/J,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACb,IAAI,EAAE,CAAC;QACP,GAAG,CAAC,CAAC,CAAC,CAAC;QACP,GAAG,CAAC,qBAAqB,GAAG,CAAC,IAAI,IAAI,GAAG,CAAC,IAAI,OAAO,CAAC,UAAU,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC;QACrF,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,qCAAqC,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,qCAAqC,EAAE,CAAC;IACrI,CAAC,CAAC;AACJ,CAAC;AAcD,MAAM,UAAU,QAAQ,CACtB,UAAqC,EACrC,OAA6B,EAC7B,IAAsB,EACtB,GAA2B,EAC3B,KAAiB;AACjB,yHAAyH;AACzH,OAA4B,GAAG,EAAE,CAAC,IAAI;AACtC,uEAAuE;AACvE,QAA+B,GAAG,EAAE,GAAE,CAAC;AACvC;;;;GAIG;AACH,MAA8C;AAC9C,yEAAyE;AACzE,aAAsB;IAEtB,MAAM,OAAO,GAAG,UAAU,CAAC,UAAU,CAAC,CAAC;IACvC,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACnC,MAAM,IAAI,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,OAAO,CAAC,CAAC,CAAE,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,OAAO,CAAC,CAAC,CAAE,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAE1G,MAAM,MAAM,GAAG,MAAM,CAAC,CAAC,CAAC,UAAU,CAAC,MAAM,EAAE,GAAG,EAAE,EAAE,GAAG,IAAI,EAAE,aAAa,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IAEjF,MAAM,MAAM,GAAG,SAAS,CAAC;QACvB,IAAI,EAAE,OAAO;QACb,OAAO,EAAE,OAAO;QAChB,KAAK,EAAE;YACL,IAAI,CACF,YAAY,EACZ,2FAA2F;gBACzF,yFAAyF;gBACzF,sFAAsF;gBACtF,2EAA2E;gBAC3E,oFAAoF;gBACpF,wFAAwF;gBACxF,uFAAuF;gBACvF,+EAA+E,EACjF;gBACE,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,yBAAyB,cAAc,IAAI,cAAc,yEAAyE,CAAC;gBAChK,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,gJAAgJ,CAAC;aAC5K,EACD,KAAK,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE,EAAE;gBAC1B,MAAM,GAAG,GAAG,OAAO,EAAE,CAAC;gBACtB,IAAI,CAAC,GAAG;oBAAE,OAAO,GAAG,CAAC,qEAAqE,EAAE,IAAI,CAAC,CAAC;gBAClG,IAAI,CAAC,MAAM;oBAAE,OAAO,GAAG,CAAC,2GAA2G,EAAE,IAAI,CAAC,CAAC;gBAC3I,MAAM,CAAC,GAAG,MAAM,CAAC,GAAG,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;gBACrC,OAAO,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;YAC5B,CAAC,CACF;YACD,IAAI,CACF,aAAa,EACb,4FAA4F;gBAC1F,8FAA8F;gBAC9F,2EAA2E,EAC7E,EAAE,EACF,KAAK,IAAI,EAAE;gBACT,IAAI,CAAC,IAAI;oBAAE,OAAO,GAAG,CAAC,uDAAuD,EAAE,IAAI,CAAC,CAAC;gBACrF,MAAM,KAAK,GAAa,EAAE,CAAC;gBAC3B,KAAK,MAAM,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,QAAQ;oBAAE,KAAK,CAAC,IAAI,CAAC,iCAAiC,CAAC,CAAC,GAAG,CAAC,IAAI,QAAQ,CAAC,CAAC,GAAG,CAAC,MAAM,QAAQ,EAAE,aAAa,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC,UAAU,IAAI,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC,kCAAkC,CAAC,CAAC;gBACpO,IAAI,CAAC;oBACH,KAAK,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,KAAK,cAAc,CAAC,EAAE,CAAC;wBACvF,KAAK,CAAC,IAAI,CAAC,4BAA4B,CAAC,CAAC,WAAW,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,UAAU,SAAS,CAAC,CAAC,UAAU,aAAa,GAAG,CAAC,CAAC,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,8CAA8C,CAAC,CAAC;oBAC1N,CAAC;gBACH,CAAC;gBAAC,OAAO,CAAC,EAAE,CAAC;oBAAC,KAAK,CAAC,IAAI,CAAC,qCAAqC,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;gBAAC,CAAC;gBAC/G,OAAO,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,sCAAsC,CAAC,CAAC;YACvF,CAAC,CACF;YACD,IAAI,CACF,cAAc,EACd,8FAA8F;gBAC5F,4FAA4F;gBAC5F,kEAAkE,EACpE,EAAE,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,0CAA0C,CAAC,EAAE,EACvE,KAAK,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE;gBACf,IAAI,CAAC,IAAI;oBAAE,OAAO,GAAG,CAAC,uDAAuD,EAAE,IAAI,CAAC,CAAC;gBACrF,MAAM,CAAC,GAAG,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC;gBAClC,IAAI,CAAC,CAAC;oBAAE,OAAO,GAAG,CAAC,sCAAsC,EAAE,kDAAkD,EAAE,IAAI,CAAC,CAAC;gBACrH,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC;gBAC3B,MAAM,CAAC,GAAG,MAAM,YAAY,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,GAAG,CAAC,CAAC;gBACzD,OAAO,GAAG,CAAC,GAAG,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,IAAI,GAAG,OAAO,CAAC,CAAC,GAAG,CAAC,MAAM,cAAc,CAAC,CAAC,GAAG,IAAI,aAAa,EAAE,EAAE,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC;YACzI,CAAC,CACF;YACD,IAAI,CACF,eAAe,EACf,6FAA6F;gBAC3F,8FAA8F;gBAC9F,gCAAgC,EAClC,EAAE,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,0CAA0C,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,6CAA6C,CAAC,EAAE,EAChJ,KAAK,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE;gBACpB,IAAI,CAAC,IAAI;oBAAE,OAAO,GAAG,CAAC,uDAAuD,EAAE,IAAI,CAAC,CAAC;gBACrF,MAAM,GAAG,GAAG,EAAE,CAAC,IAAI,EAAE,CAAC;gBACtB,MAAM,CAAC,GAAG,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;gBAC5B,IAAI,CAAC;oBAAC,MAAM,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;gBAAC,CAAC;gBAAC,OAAO,CAAC,EAAE,CAAC;oBAAC,OAAO,GAAG,CAAC,uBAAuB,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;gBAAC,CAAC;gBAC3I,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;gBACrB,IAAI,CAAC;oBAAE,MAAM,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,EAAE,uBAAuB,CAAC,CAAC,GAAG,CAAC,IAAI,kBAAkB,GAAG,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;gBACvH,GAAG,CAAC,oBAAoB,CAAC,EAAE,GAAG,CAAC,IAAI,IAAI,GAAG,KAAK,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC;gBACpE,OAAO,GAAG,CAAC,0BAA0B,CAAC,CAAC;YACzC,CAAC,CACF;YACD,IAAI,CACF,kBAAkB,EAClB,6FAA6F;gBAC3F,0FAA0F;gBAC1F,6FAA6F,EAC/F,EAAE,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,2BAA2B,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,gBAAgB,CAAC,EAAE,EACpG,KAAK,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE;gBACpB,IAAI,CAAC,IAAI;oBAAE,OAAO,GAAG,CAAC,uDAAuD,EAAE,IAAI,CAAC,CAAC;gBACrF,IAAI,CAAC;oBAAC,MAAM,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,EAAE,GAAG,CAAC,CAAC;gBAAC,CAAC;gBAAC,OAAO,CAAC,EAAE,CAAC;oBAAC,OAAO,GAAG,CAAC,0BAA0B,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;gBAAC,CAAC;gBACpJ,GAAG,CAAC,oBAAoB,EAAE,CAAC,IAAI,EAAE,KAAK,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC;gBAC3D,OAAO,GAAG,CAAC,uCAAuC,CAAC,CAAC;YACtD,CAAC,CACF;YACD,IAAI,CACF,aAAa,EACb,0FAA0F;gBACxF,yFAAyF;gBACzF,4FAA4F;gBAC5F,0EAA0E,EAC5E;gBACE,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,2FAA2F,CAAC;gBACtH,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,sEAAsE,CAAC;aAChH,EACD,KAAK,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,EAAE;gBAC1B,MAAM,GAAG,GAAG,OAAO,EAAE,CAAC;gBACtB,IAAI,CAAC,GAAG;oBAAE,OAAO,GAAG,CAAC,+DAA+D,EAAE,IAAI,CAAC,CAAC;gBAC5F,IAAI,CAAC,KAAK,CAAC,MAAM;oBAAE,OAAO,GAAG,CAAC,wCAAwC,EAAE,IAAI,CAAC,CAAC;gBAC9E,IAAI,CAAC;oBACH,OAAO,GAAG,CAAC,MAAM,KAAK,CAAC,MAAM,CAAC,GAAG,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC;gBACrD,CAAC;gBAAC,OAAO,CAAC,EAAE,CAAC;oBACX,OAAO,GAAG,CAAC,iBAAiB,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;gBAClF,CAAC;YACH,CAAC,CACF;YACD,IAAI,CACF,iBAAiB,EACjB,qFAAqF;gBACnF,4BAA4B;gBAC5B,wFAAwF;gBACxF,mFAAmF;gBACnF,2FAA2F;gBAC3F,qIAAqI;gBACrI,2FAA2F;gBAC3F,0FAA0F;gBAC1F,iCAAiC;gBACjC,uFAAuF;gBACvF,4FAA4F;gBAC5F,0FAA0F;gBAC1F,iGAAiG;gBACjG,wFAAwF;gBACxF,wFAAwF;gBACxF,0FAA0F;gBAC1F,sDAAsD;gBACtD,yFAAyF;gBACzF,sFAAsF;gBACtF,wFAAwF;gBACxF,qCAAqC,GAAG,IAAI,EAC9C;gBACE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,qJAAqJ,CAAC;gBAClL,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,oKAAoK,CAAC;gBAC9M,2FAA2F;gBAC3F,2FAA2F;gBAC3F,uFAAuF;gBACvF,OAAO,EAAE,CAAC,CAAC,UAAU,CAAC,gBAAgB,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC;oBACvD,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,yFAAyF,CAAC;oBACrH,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,sDAAsD,CAAC;iBAC/F,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,QAAQ,CAAC,qHAAqH,CAAC;gBAC/I,IAAI,EAAE,CAAC;qBACJ,UAAU,CAAC,WAAW,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,QAAQ,EAAE,CAAC;qBACjD,QAAQ,CAAC,mHAAmH,CAAC;gBAChI,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,iJAAiJ,CAAC;gBACzL,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,2CAA2C,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,sBAAsB,CAAC;gBACxH,eAAe,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,oGAAoG,CAAC;aACtJ,EACD,KAAK,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,eAAe,EAAE,QAAQ,EAAE,OAAO,EAAE,EAAE,EAAE;gBAC5E,MAAM,GAAG,GAAG,OAAO,EAAE,CAAC;gBACtB,IAAI,CAAC,GAAG;oBAAE,OAAO,GAAG,CAAC,oEAAoE,EAAE,IAAI,CAAC,CAAC;gBACjG,IAAI,CAAC,IAAI;oBAAE,OAAO,GAAG,CAAC,oFAAoF,EAAE,IAAI,CAAC,CAAC;gBAClH,MAAM,IAAI,GAAG,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;gBAEnC,6EAA6E;gBAC7E,IAAI,CAAC,IAAI,EAAE,CAAC;oBACV,wFAAwF;oBACxF,yFAAyF;oBACzF,iFAAiF;oBACjF,MAAM,CAAC,GAAG,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;oBAClC,MAAM,IAAI,GAAG,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;oBACzE,IAAI,CAAC,CAAC,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;wBAC1B,OAAO,GAAG,CACR,gFAAgF;4BAC9E,sFAAsF;4BACtF,wDAAwD;4BACxD,mFAAmF;4BACnF,oFAAoF;4BACpF,gFAAgF,EAClF,IAAI,CACL,CAAC;oBACJ,CAAC;oBACD,MAAM,IAAI,GAAG,MAAM,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC,EAAE,EAAE,QAAQ,EAAE,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;oBAC/F,OAAO,GAAG,CACR,wBAAwB,IAAI,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,iDAAiD;wBAC7F,2FAA2F;wBAC3F,+DAA+D,CAClE,CAAC;gBACJ,CAAC;gBAED,MAAM,IAAI,GAAG,KAAK,EAAE,IAAI,EAAE,IAAI,OAAO,CAAC;gBACtC,MAAM,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;gBACxB,IAAI,CAAC,CAAC;oBAAE,OAAO,GAAG,CAAC,6BAA6B,IAAI,8BAA8B,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;gBAC7G,IAAI,IAAI,CAAC,MAAM,GAAG,MAAM;oBAAE,OAAO,GAAG,CAAC,iBAAiB,IAAI,CAAC,MAAM,sGAAsG,EAAE,IAAI,CAAC,CAAC;gBAC/K,MAAM,IAAI,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;gBAC1E,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAE,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;gBAEzD,8EAA8E;gBAC9E,IAAI,WAAW,GAAG,EAAE,CAAC;gBACrB,IAAI,WAAW,GAAG,EAAE,CAAC;gBACrB,MAAM,OAAO,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC;gBACjC,IAAI,OAAO,EAAE,CAAC;oBACZ,GAAG,CAAC,eAAe,KAAK,KAAK,OAAO,EAAE,CAAC,CAAC;oBACxC,MAAM,CAAC,GAAG,MAAM,IAAI,CAAC,CAAC,EAAE,OAAO,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC;oBAC1C,WAAW,GAAG,CAAC,CAAC,IAAI,KAAK,CAAC;wBACxB,CAAC,CAAC,gBAAgB,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,GAAG,EAAE;wBACjE,CAAC,CAAC,wBAAwB,CAAC,CAAC,IAAI,GAAG,CAAC;oBACtC,WAAW,GAAG,CAAC,CAAC,IAAI,KAAK,CAAC;wBACxB,CAAC,CAAC,uBAAuB,OAAO,UAAU,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM;wBACvF,CAAC,CAAC,mCAAmC,CAAC,CAAC,IAAI,MAAM,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC;gBACnG,CAAC;gBAED,wFAAwF;gBACxF,+EAA+E;gBAC/E,wFAAwF;gBACxF,yDAAyD;gBACzD,MAAM,IAAI,GAAG,MAAM,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,EAAE,SAAS,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;gBAExF,8EAA8E;gBAC9E,qEAAqE;gBACrE,MAAM,MAAM,GAAG,IAAI,EAAE,CAAC;gBACtB,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;gBAC3B,IAAI,MAA8D,CAAC;gBACnE,MAAM,GAAG,GAAG,gBAAgB,CAAC,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,eAAe,EAAE;oBAC5D,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;oBACxC,GAAG,CAAC,CAAC,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;iBAC3D,EAAE,CAAC,CAAC,EAAE,EAAE;oBAAG,MAAM,GAAG,CAAC,CAAC;oBAAC,KAAK,CAAC;wBAC5B,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC,CAAC,UAAU,EAAE,SAAS,EAAE,CAAC,CAAC,UAAU,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI;wBAC3F,OAAO,EAAE,MAAM,CAAC,IAAI,EAAE,EAAE,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC,MAAM;qBAC3G,CAAC,CAAC;gBAAC,CAAC,CAAC,CAAC;gBACP,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,yCAAyC,IAAI,EAAE,CAAC,CAAC,CAAC,0CAA0C,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;gBAC5I,MAAM,KAAK,GAAG,GAAG,CACf;oBACE,QAAQ,EAAE,cAAc;oBACxB,KAAK,EAAE;wBACL,WAAW,EAAE,WAAW,KAAK,QAAQ,IAAI,MAAM,MAAM,CAAC,IAAI,EAAE,GAAG,eAAe,CAAC,CAAC,CAAC,cAAc,eAAe,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,IAAI,GAAG;wBACxI,OAAO,EAAE,GAAG,WAAW,GAAG,IAAI,EAAE;wBAChC,KAAK,EAAE,IAAI;qBACZ;iBACF,EACD,EAAE,MAAM,EAAE,IAAI,eAAe,EAAE,CAAC,MAAM,EAAE,CACzC,CAAC;gBAEF,0FAA0F;gBAC1F,0FAA0F;gBAC1F,sFAAsF;gBACtF,IAAI,MAAM,EAAE,CAAC;oBACX,MAAM,IAAI,GAAG,GAAG,CAAC;oBACjB,KAAK,KAAK;yBACP,IAAI,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE;wBAChB,KAAK,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;wBAC7C,MAAM,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;wBACzB,IAAI,CAAC,CAAC,CAAC,KAAK;4BAAE,OAAO,MAAM,CAAC,IAAI,EAAE,wBAAwB,KAAK,QAAQ,IAAI,iBAAiB,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC;wBACxG,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,OAAO,GAAG,aAAa,IAAI,MAAM,EAAE,UAAU,EAAE,CAAC;4BAC/D,MAAM,IAAI,GAAY,EAAE,MAAM,EAAE,CAAC,EAAE,GAAG,EAAE,EAAE,SAAS,EAAE,MAAM,CAAC,UAAU,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,UAAU,EAAE,UAAU,EAAE,OAAO,EAAE,IAAI,IAAI,CAAC,OAAO,CAAC,CAAC,WAAW,EAAE,EAAE,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,EAAE,CAAC;4BACjQ,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;4BACtC,GAAG,CAAC,GAAG,KAAK,cAAc,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,OAAO,CAAC,GAAG,MAAM,CAAC,+DAA+D,CAAC,CAAC;4BACtI,OAAO,MAAM,CAAC,IAAI,EAAE,WAAW,CAAC,MAAM,CAAC,UAAU,EAAE,EAAE,GAAG,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;wBAC5G,CAAC;wBACD,MAAM,CAAC,GAAG,MAAM,YAAY,CAAC,CAAC,EAAE,EAAE,SAAS,EAAE,MAAM,EAAE,UAAU,IAAI,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,GAAG,CAAC,CAAC;wBACnK,MAAM,CAAC,IAAI,EAAE,wBAAwB,KAAK,sBAAsB,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,IAAI,GAAG,OAAO,IAAI,cAAc,CAAC,CAAC,GAAG,IAAI,aAAa,uCAAuC,CAAC,CAAC;oBAC1M,CAAC,CAAC;yBACD,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,EAAE,wBAAwB,KAAK,yBAAyB,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;oBAClI,OAAO,GAAG,CACR,QAAQ,MAAM,CAAC,CAAC,CAAC,+BAA+B,CAAC,CAAC,CAAC,EAAE,6CAA6C;wBAChG,0FAA0F;wBAC1F,0FAA0F;wBAC1F,kFAAkF,CACrF,CAAC;gBACJ,CAAC;gBAED,MAAM,OAAO,GAAG,MAAM,KAAK,CAAC;gBAC5B,KAAK,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;gBAC7C,oEAAoE;gBACpE,MAAM,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;gBACxB,IAAI,CAAC,OAAO,CAAC,KAAK;oBAAE,OAAO,GAAG,CAAC,YAAY,OAAO,CAAC,MAAM,EAAE,EAAE,IAAI,CAAC,CAAC;gBAEnE,MAAM,CAAC,GAAG,MAAM,YAAY,CAAC,CAAC,EAAE,EAAE,SAAS,EAAE,MAAM,EAAE,UAAU,IAAI,EAAE,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,GAAG,EAAE,GAAG,CAAC,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,GAAG,CAAC,CAAC;gBACjK,OAAO,GAAG,CACR,GAAG,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,IAAI,GAAG,OAAO,IAAI,cAAc,CAAC,CAAC,GAAG,IAAI,aAAa,EAAE,EACpG,CAAC,CAAC,IAAI,KAAK,CAAC,CACb,CAAC;YACJ,CAAC,CACF;SACF;KACF,CAAC,CAAC;IACH,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,cAAc,EAAE,CAAC;AAC/C,CAAC"}
|
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
|
*
|