codekin 0.6.3 → 0.6.4
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/README.md +3 -2
- package/dist/assets/index-BRB_Ksyk.js +182 -0
- package/dist/assets/index-Q2WSVlHo.css +1 -0
- package/dist/index.html +2 -2
- package/package.json +3 -3
- package/server/dist/auth-routes.js +6 -0
- package/server/dist/auth-routes.js.map +1 -1
- package/server/dist/claude-process.js +3 -2
- package/server/dist/claude-process.js.map +1 -1
- package/server/dist/commit-event-handler.d.ts +2 -1
- package/server/dist/commit-event-handler.js +4 -3
- package/server/dist/commit-event-handler.js.map +1 -1
- package/server/dist/commit-event-hooks.d.ts +11 -0
- package/server/dist/commit-event-hooks.js +61 -11
- package/server/dist/commit-event-hooks.js.map +1 -1
- package/server/dist/config.d.ts +7 -0
- package/server/dist/config.js +19 -1
- package/server/dist/config.js.map +1 -1
- package/server/dist/docs-routes.js +4 -7
- package/server/dist/docs-routes.js.map +1 -1
- package/server/dist/json-parse.d.ts +8 -0
- package/server/dist/json-parse.js +9 -0
- package/server/dist/json-parse.js.map +1 -0
- package/server/dist/opencode-process.js +8 -1
- package/server/dist/opencode-process.js.map +1 -1
- package/server/dist/orchestrator-learning-router.d.ts +8 -0
- package/server/dist/orchestrator-learning-router.js +126 -0
- package/server/dist/orchestrator-learning-router.js.map +1 -0
- package/server/dist/orchestrator-learning.d.ts +0 -5
- package/server/dist/orchestrator-learning.js +2 -9
- package/server/dist/orchestrator-learning.js.map +1 -1
- package/server/dist/orchestrator-memory-router.d.ts +10 -0
- package/server/dist/orchestrator-memory-router.js +148 -0
- package/server/dist/orchestrator-memory-router.js.map +1 -0
- package/server/dist/orchestrator-memory.js +2 -1
- package/server/dist/orchestrator-memory.js.map +1 -1
- package/server/dist/orchestrator-monitor.d.ts +6 -0
- package/server/dist/orchestrator-monitor.js +14 -0
- package/server/dist/orchestrator-monitor.js.map +1 -1
- package/server/dist/orchestrator-reports.d.ts +0 -4
- package/server/dist/orchestrator-reports.js +8 -10
- package/server/dist/orchestrator-reports.js.map +1 -1
- package/server/dist/orchestrator-routes.d.ts +2 -2
- package/server/dist/orchestrator-routes.js +11 -506
- package/server/dist/orchestrator-routes.js.map +1 -1
- package/server/dist/orchestrator-session-router.d.ts +13 -0
- package/server/dist/orchestrator-session-router.js +312 -0
- package/server/dist/orchestrator-session-router.js.map +1 -0
- package/server/dist/process-coordinator.d.ts +83 -0
- package/server/dist/process-coordinator.js +167 -0
- package/server/dist/process-coordinator.js.map +1 -0
- package/server/dist/prompt-router.js +2 -1
- package/server/dist/prompt-router.js.map +1 -1
- package/server/dist/session-archive.js +2 -1
- package/server/dist/session-archive.js.map +1 -1
- package/server/dist/session-lifecycle.js +14 -36
- package/server/dist/session-lifecycle.js.map +1 -1
- package/server/dist/session-manager.d.ts +4 -0
- package/server/dist/session-manager.js +56 -73
- package/server/dist/session-manager.js.map +1 -1
- package/server/dist/session-persistence.js +3 -1
- package/server/dist/session-persistence.js.map +1 -1
- package/server/dist/session-routes.d.ts +18 -0
- package/server/dist/session-routes.js +56 -11
- package/server/dist/session-routes.js.map +1 -1
- package/server/dist/stepflow-handler.js +5 -1
- package/server/dist/stepflow-handler.js.map +1 -1
- package/server/dist/stepflow-prompt.js +16 -12
- package/server/dist/stepflow-prompt.js.map +1 -1
- package/server/dist/tsconfig.tsbuildinfo +1 -1
- package/server/dist/types.d.ts +4 -0
- package/server/dist/types.js +1 -0
- package/server/dist/types.js.map +1 -1
- package/server/dist/upload-routes.d.ts +5 -0
- package/server/dist/upload-routes.js +48 -11
- package/server/dist/upload-routes.js.map +1 -1
- package/server/dist/version-check.js +3 -2
- package/server/dist/version-check.js.map +1 -1
- package/server/dist/webhook-rate-limiter.js +9 -1
- package/server/dist/webhook-rate-limiter.js.map +1 -1
- package/server/dist/webhook-workspace.d.ts +12 -0
- package/server/dist/webhook-workspace.js +126 -3
- package/server/dist/webhook-workspace.js.map +1 -1
- package/server/dist/workflow-engine.d.ts +80 -7
- package/server/dist/workflow-engine.js +209 -28
- package/server/dist/workflow-engine.js.map +1 -1
- package/server/dist/workflow-loader.d.ts +6 -1
- package/server/dist/workflow-loader.js +97 -27
- package/server/dist/workflow-loader.js.map +1 -1
- package/server/dist/workflow-routes.d.ts +13 -0
- package/server/dist/workflow-routes.js +106 -4
- package/server/dist/workflow-routes.js.map +1 -1
- package/server/dist/ws-origin-check.d.ts +11 -0
- package/server/dist/ws-origin-check.js +20 -0
- package/server/dist/ws-origin-check.js.map +1 -0
- package/server/dist/ws-rate-limit.d.ts +19 -0
- package/server/dist/ws-rate-limit.js +30 -0
- package/server/dist/ws-rate-limit.js.map +1 -0
- package/server/dist/ws-server.js +41 -22
- package/server/dist/ws-server.js.map +1 -1
- package/dist/assets/index-CxlBrS5y.js +0 -182
- package/dist/assets/index-DgeUVGjz.css +0 -1
|
@@ -11,6 +11,7 @@ import { homedir } from 'os';
|
|
|
11
11
|
import { join } from 'path';
|
|
12
12
|
import { randomUUID } from 'crypto';
|
|
13
13
|
import { EventEmitter } from 'events';
|
|
14
|
+
import { jsonParse } from './json-parse.js';
|
|
14
15
|
/**
|
|
15
16
|
* Throw this from any workflow step to cleanly skip a run without marking it as failed.
|
|
16
17
|
* Useful for assessment workflows to short-circuit when no code changes have occurred.
|
|
@@ -21,6 +22,25 @@ export class WorkflowSkipped extends Error {
|
|
|
21
22
|
this.name = 'WorkflowSkipped';
|
|
22
23
|
}
|
|
23
24
|
}
|
|
25
|
+
/**
|
|
26
|
+
* Thrown when a step references a session that no longer exists in the session manager —
|
|
27
|
+
* either because it was deleted, expired, or never persisted across a server restart.
|
|
28
|
+
* Carries enough context (run id, step key, session id, last heartbeat) for diagnostics.
|
|
29
|
+
*/
|
|
30
|
+
export class SessionGoneError extends Error {
|
|
31
|
+
runId;
|
|
32
|
+
stepKey;
|
|
33
|
+
sessionId;
|
|
34
|
+
lastSeen;
|
|
35
|
+
constructor(runId, stepKey, sessionId, lastSeen) {
|
|
36
|
+
super(`Workflow session is no longer available — run=${runId} step=${stepKey} session=${sessionId} lastSeen=${lastSeen ?? 'unknown'}`);
|
|
37
|
+
this.runId = runId;
|
|
38
|
+
this.stepKey = stepKey;
|
|
39
|
+
this.sessionId = sessionId;
|
|
40
|
+
this.lastSeen = lastSeen;
|
|
41
|
+
this.name = 'SessionGoneError';
|
|
42
|
+
}
|
|
43
|
+
}
|
|
24
44
|
// ---------------------------------------------------------------------------
|
|
25
45
|
// Cron expression parser (supports standard 5-field cron)
|
|
26
46
|
// ---------------------------------------------------------------------------
|
|
@@ -103,6 +123,7 @@ export class WorkflowEngine extends EventEmitter {
|
|
|
103
123
|
workflows = new Map();
|
|
104
124
|
activeAbortControllers = new Map();
|
|
105
125
|
cronTimer = null;
|
|
126
|
+
sessionResolver = null;
|
|
106
127
|
constructor(dbPath) {
|
|
107
128
|
super();
|
|
108
129
|
const dir = join(homedir(), '.codekin');
|
|
@@ -114,6 +135,7 @@ export class WorkflowEngine extends EventEmitter {
|
|
|
114
135
|
chmodSync(resolvedPath, 0o600);
|
|
115
136
|
this.db.pragma('journal_mode = WAL');
|
|
116
137
|
this.createTables();
|
|
138
|
+
this.migrateSchema();
|
|
117
139
|
}
|
|
118
140
|
createTables() {
|
|
119
141
|
// WAL mode: allows concurrent reads while a write is in progress,
|
|
@@ -163,6 +185,42 @@ export class WorkflowEngine extends EventEmitter {
|
|
|
163
185
|
CREATE INDEX IF NOT EXISTS idx_steps_run_id ON workflow_steps(run_id);
|
|
164
186
|
`);
|
|
165
187
|
}
|
|
188
|
+
/**
|
|
189
|
+
* Apply additive (backwards-compatible) schema migrations.
|
|
190
|
+
* Each ALTER TABLE is wrapped in try/catch so a re-run on a migrated DB is a no-op
|
|
191
|
+
* (SQLite has no `ADD COLUMN IF NOT EXISTS`). New columns are nullable so older rows
|
|
192
|
+
* keep working without backfill.
|
|
193
|
+
*/
|
|
194
|
+
migrateSchema() {
|
|
195
|
+
const additions = [
|
|
196
|
+
// session id captured by create_session — lets resume locate the still-alive session.
|
|
197
|
+
`ALTER TABLE workflow_runs ADD COLUMN session_id TEXT`,
|
|
198
|
+
// heartbeat updated on every step start — distinguishes stuck runs from newly-started ones.
|
|
199
|
+
`ALTER TABLE workflow_runs ADD COLUMN last_step_at TEXT`,
|
|
200
|
+
// most recently running step key — tells resume where the work stopped.
|
|
201
|
+
`ALTER TABLE workflow_runs ADD COLUMN current_step_key TEXT`,
|
|
202
|
+
];
|
|
203
|
+
for (const sql of additions) {
|
|
204
|
+
try {
|
|
205
|
+
this.db.exec(sql);
|
|
206
|
+
}
|
|
207
|
+
catch (err) {
|
|
208
|
+
// "duplicate column name" is the expected idempotent path; anything else is a real error.
|
|
209
|
+
const msg = err instanceof Error ? err.message : String(err);
|
|
210
|
+
if (!/duplicate column/i.test(msg))
|
|
211
|
+
throw err;
|
|
212
|
+
}
|
|
213
|
+
}
|
|
214
|
+
}
|
|
215
|
+
/**
|
|
216
|
+
* Register a callback used by `resumeInterrupted()` to decide whether a workflow's
|
|
217
|
+
* session is still alive. Pass `null` to clear. Without a resolver, all interrupted
|
|
218
|
+
* runs whose session_id is set are conservatively treated as resumable — but the
|
|
219
|
+
* step handler will still surface a typed error if the session has actually gone.
|
|
220
|
+
*/
|
|
221
|
+
setSessionResolver(resolver) {
|
|
222
|
+
this.sessionResolver = resolver;
|
|
223
|
+
}
|
|
166
224
|
// -------------------------------------------------------------------------
|
|
167
225
|
// Workflow registration
|
|
168
226
|
// -------------------------------------------------------------------------
|
|
@@ -226,19 +284,40 @@ export class WorkflowEngine extends EventEmitter {
|
|
|
226
284
|
*
|
|
227
285
|
* Cancellation: `cancelRun()` calls controller.abort(); the AbortSignal is
|
|
228
286
|
* passed to each handler so long-running async work can exit cooperatively.
|
|
287
|
+
*
|
|
288
|
+
* Resume: when `opts.resumeFromKey` is set, steps before that key are skipped
|
|
289
|
+
* (their outputs come from `opts.priorOutput`) and the resumed step receives
|
|
290
|
+
* `resumed: true` in its context so the handler can avoid double side effects.
|
|
229
291
|
*/
|
|
230
|
-
async executeRun(run, definition) {
|
|
292
|
+
async executeRun(run, definition, opts) {
|
|
231
293
|
const abortController = new AbortController();
|
|
232
294
|
this.activeAbortControllers.set(run.id, abortController);
|
|
233
|
-
|
|
295
|
+
const resumeFromKey = opts?.resumeFromKey;
|
|
296
|
+
const isResume = !!resumeFromKey;
|
|
297
|
+
// Mark running (no-op timestamp on resume so we keep the original startedAt)
|
|
234
298
|
run.status = 'running';
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
.
|
|
238
|
-
|
|
239
|
-
|
|
299
|
+
if (!isResume) {
|
|
300
|
+
run.startedAt = new Date().toISOString();
|
|
301
|
+
this.db.prepare(`UPDATE workflow_runs SET status = 'running', started_at = ? WHERE id = ?`)
|
|
302
|
+
.run(run.startedAt, run.id);
|
|
303
|
+
this.emitEvent('run_started', run);
|
|
304
|
+
}
|
|
305
|
+
else {
|
|
306
|
+
this.db.prepare(`UPDATE workflow_runs SET status = 'running' WHERE id = ?`).run(run.id);
|
|
307
|
+
this.emitEvent('run_resumed', run);
|
|
308
|
+
}
|
|
309
|
+
let lastOutput = isResume
|
|
310
|
+
? { ...(opts?.priorOutput ?? {}) }
|
|
311
|
+
: { ...run.input };
|
|
312
|
+
let reachedResumePoint = !isResume;
|
|
240
313
|
try {
|
|
241
314
|
for (const stepDef of definition.steps) {
|
|
315
|
+
if (!reachedResumePoint) {
|
|
316
|
+
if (stepDef.key === resumeFromKey)
|
|
317
|
+
reachedResumePoint = true;
|
|
318
|
+
else
|
|
319
|
+
continue;
|
|
320
|
+
}
|
|
242
321
|
if (abortController.signal.aborted) {
|
|
243
322
|
throw new Error('Run canceled');
|
|
244
323
|
}
|
|
@@ -246,16 +325,23 @@ export class WorkflowEngine extends EventEmitter {
|
|
|
246
325
|
.get(run.id, stepDef.key);
|
|
247
326
|
if (!stepRow)
|
|
248
327
|
continue;
|
|
249
|
-
// Mark step running
|
|
328
|
+
// Mark step running + bump heartbeat / current step key on the run
|
|
250
329
|
const stepStarted = new Date().toISOString();
|
|
251
|
-
this.db.prepare(`UPDATE workflow_steps SET status = 'running', input = ?, started_at =
|
|
330
|
+
this.db.prepare(`UPDATE workflow_steps SET status = 'running', input = ?, started_at = ?, completed_at = NULL, output = NULL, error = NULL WHERE id = ?`)
|
|
252
331
|
.run(JSON.stringify(lastOutput), stepStarted, stepRow.id);
|
|
332
|
+
this.db.prepare(`UPDATE workflow_runs SET last_step_at = ?, current_step_key = ? WHERE id = ?`)
|
|
333
|
+
.run(stepStarted, stepDef.key, run.id);
|
|
334
|
+
run.lastStepAt = stepStarted;
|
|
335
|
+
run.currentStepKey = stepDef.key;
|
|
253
336
|
this.emitEvent('step_started', run, stepDef.key);
|
|
337
|
+
const stepIsResumed = isResume && stepDef.key === resumeFromKey;
|
|
254
338
|
try {
|
|
255
339
|
const result = await stepDef.handler(lastOutput, {
|
|
256
340
|
runId: run.id,
|
|
257
341
|
run,
|
|
258
342
|
abortSignal: abortController.signal,
|
|
343
|
+
resumed: stepIsResumed,
|
|
344
|
+
recordSessionId: (sessionId) => this.recordSessionId(run.id, sessionId),
|
|
259
345
|
});
|
|
260
346
|
// Mark step succeeded
|
|
261
347
|
const stepCompleted = new Date().toISOString();
|
|
@@ -330,6 +416,15 @@ export class WorkflowEngine extends EventEmitter {
|
|
|
330
416
|
}
|
|
331
417
|
return false;
|
|
332
418
|
}
|
|
419
|
+
/**
|
|
420
|
+
* Persist a session id on a run so that `resumeInterrupted()` can locate the
|
|
421
|
+
* still-alive session even if the server crashes before the `create_session`
|
|
422
|
+
* step's output row is committed. Called from inside the step handler via
|
|
423
|
+
* `ctx.recordSessionId(...)`.
|
|
424
|
+
*/
|
|
425
|
+
recordSessionId(runId, sessionId) {
|
|
426
|
+
this.db.prepare(`UPDATE workflow_runs SET session_id = ? WHERE id = ?`).run(sessionId, runId);
|
|
427
|
+
}
|
|
333
428
|
// -------------------------------------------------------------------------
|
|
334
429
|
// Queries
|
|
335
430
|
// -------------------------------------------------------------------------
|
|
@@ -344,8 +439,8 @@ export class WorkflowEngine extends EventEmitter {
|
|
|
344
439
|
runId: s.run_id,
|
|
345
440
|
key: s.key,
|
|
346
441
|
status: s.status,
|
|
347
|
-
input: s.input ?
|
|
348
|
-
output: s.output ?
|
|
442
|
+
input: s.input ? jsonParse(s.input) : null,
|
|
443
|
+
output: s.output ? jsonParse(s.output) : null,
|
|
349
444
|
error: s.error,
|
|
350
445
|
startedAt: s.started_at,
|
|
351
446
|
completedAt: s.completed_at,
|
|
@@ -354,12 +449,15 @@ export class WorkflowEngine extends EventEmitter {
|
|
|
354
449
|
id: row.id,
|
|
355
450
|
kind: row.kind,
|
|
356
451
|
status: row.status,
|
|
357
|
-
input:
|
|
358
|
-
output: row.output ?
|
|
452
|
+
input: jsonParse(row.input),
|
|
453
|
+
output: row.output ? jsonParse(row.output) : null,
|
|
359
454
|
error: row.error,
|
|
360
455
|
createdAt: row.created_at,
|
|
361
456
|
startedAt: row.started_at,
|
|
362
457
|
completedAt: row.completed_at,
|
|
458
|
+
sessionId: row.session_id ?? null,
|
|
459
|
+
lastStepAt: row.last_step_at ?? null,
|
|
460
|
+
currentStepKey: row.current_step_key ?? null,
|
|
363
461
|
steps,
|
|
364
462
|
};
|
|
365
463
|
}
|
|
@@ -378,12 +476,15 @@ export class WorkflowEngine extends EventEmitter {
|
|
|
378
476
|
id: row.id,
|
|
379
477
|
kind: row.kind,
|
|
380
478
|
status: row.status,
|
|
381
|
-
input:
|
|
382
|
-
output: row.output ?
|
|
479
|
+
input: jsonParse(row.input),
|
|
480
|
+
output: row.output ? jsonParse(row.output) : null,
|
|
383
481
|
error: row.error,
|
|
384
482
|
createdAt: row.created_at,
|
|
385
483
|
startedAt: row.started_at,
|
|
386
484
|
completedAt: row.completed_at,
|
|
485
|
+
sessionId: row.session_id ?? null,
|
|
486
|
+
lastStepAt: row.last_step_at ?? null,
|
|
487
|
+
currentStepKey: row.current_step_key ?? null,
|
|
387
488
|
}));
|
|
388
489
|
}
|
|
389
490
|
// -------------------------------------------------------------------------
|
|
@@ -418,7 +519,7 @@ export class WorkflowEngine extends EventEmitter {
|
|
|
418
519
|
id: row.id,
|
|
419
520
|
kind: row.kind,
|
|
420
521
|
cronExpression: row.cron_expression,
|
|
421
|
-
input:
|
|
522
|
+
input: jsonParse(row.input),
|
|
422
523
|
enabled: !!row.enabled,
|
|
423
524
|
lastRunAt: row.last_run_at,
|
|
424
525
|
nextRunAt: row.next_run_at,
|
|
@@ -433,7 +534,7 @@ export class WorkflowEngine extends EventEmitter {
|
|
|
433
534
|
id: row.id,
|
|
434
535
|
kind: row.kind,
|
|
435
536
|
cronExpression: row.cron_expression,
|
|
436
|
-
input:
|
|
537
|
+
input: jsonParse(row.input),
|
|
437
538
|
enabled: !!row.enabled,
|
|
438
539
|
lastRunAt: row.last_run_at,
|
|
439
540
|
nextRunAt: row.next_run_at,
|
|
@@ -487,21 +588,101 @@ export class WorkflowEngine extends EventEmitter {
|
|
|
487
588
|
// Resume interrupted runs on startup
|
|
488
589
|
// -------------------------------------------------------------------------
|
|
489
590
|
/**
|
|
490
|
-
*
|
|
491
|
-
*
|
|
492
|
-
*
|
|
493
|
-
*
|
|
591
|
+
* Resume runs that were in-flight when the server last shut down.
|
|
592
|
+
*
|
|
593
|
+
* Strategy:
|
|
594
|
+
* 1. Find all runs still marked `running` (no graceful completion happened).
|
|
595
|
+
* 2. For each, look at `session_id` + `current_step_key` — captured before the crash.
|
|
596
|
+
* 3. If the session is still alive (per `sessionResolver`) and the step is one we know how
|
|
597
|
+
* to resume (`run_prompt`, `save_report`), re-execute from there with `resumed: true`.
|
|
598
|
+
* 4. Otherwise mark the run failed with a clear, typed reason. We do NOT silently mark
|
|
599
|
+
* remaining steps `skipped` — the failure surface is loud so reports don't go missing.
|
|
600
|
+
*
|
|
601
|
+
* Earlier steps (`validate_repo`, `create_session`) are not resumed: by the time they were
|
|
602
|
+
* running, the workflow had no usable session yet, and re-creating one mid-way would risk
|
|
603
|
+
* spawning duplicate sessions or sending the prompt twice.
|
|
494
604
|
*/
|
|
495
605
|
async resumeInterrupted() {
|
|
496
|
-
const interrupted = this.db.prepare(`
|
|
606
|
+
const interrupted = this.db.prepare(`
|
|
607
|
+
SELECT id, kind, session_id, current_step_key, last_step_at, input
|
|
608
|
+
FROM workflow_runs WHERE status = 'running'
|
|
609
|
+
`).all();
|
|
497
610
|
if (interrupted.length === 0)
|
|
498
611
|
return;
|
|
499
|
-
console.log(`[workflow] Found ${interrupted.length} interrupted run(s),
|
|
500
|
-
for (const
|
|
501
|
-
this.
|
|
502
|
-
|
|
503
|
-
|
|
504
|
-
|
|
612
|
+
console.log(`[workflow] Found ${interrupted.length} interrupted run(s), evaluating for resume`);
|
|
613
|
+
for (const row of interrupted) {
|
|
614
|
+
const definition = this.workflows.get(row.kind);
|
|
615
|
+
if (!definition) {
|
|
616
|
+
this.failInterrupted(row.id, `Server restarted during execution (workflow kind '${row.kind}' is no longer registered)`);
|
|
617
|
+
continue;
|
|
618
|
+
}
|
|
619
|
+
const stepKey = row.current_step_key;
|
|
620
|
+
const sessionId = row.session_id;
|
|
621
|
+
// Only the later steps are safely resumable: by then the session is established
|
|
622
|
+
// and the prompt has been (or is being) processed. Earlier steps are too short
|
|
623
|
+
// to bother resuming and re-running them risks duplicate side effects.
|
|
624
|
+
const RESUMABLE_STEPS = new Set(['run_prompt', 'save_report']);
|
|
625
|
+
if (!stepKey || !RESUMABLE_STEPS.has(stepKey)) {
|
|
626
|
+
this.failInterrupted(row.id, `Server restarted during '${stepKey ?? 'unknown'}' step before session was usable for resume`);
|
|
627
|
+
continue;
|
|
628
|
+
}
|
|
629
|
+
if (!sessionId) {
|
|
630
|
+
this.failInterrupted(row.id, `Server restarted during '${stepKey}' step but no session id was recorded — cannot resume`);
|
|
631
|
+
continue;
|
|
632
|
+
}
|
|
633
|
+
const liveness = this.sessionResolver?.(sessionId) ?? null;
|
|
634
|
+
if (this.sessionResolver && !liveness) {
|
|
635
|
+
const err = new SessionGoneError(row.id, stepKey, sessionId, row.last_step_at);
|
|
636
|
+
console.warn(`[workflow] resume: ${err.message}`);
|
|
637
|
+
this.failInterrupted(row.id, err.message);
|
|
638
|
+
continue;
|
|
639
|
+
}
|
|
640
|
+
console.log(`[workflow] Resuming run ${row.id} (${row.kind}) at step '${stepKey}' (session=${sessionId})`);
|
|
641
|
+
// Reconstruct the merged output of all previously succeeded steps so the resumed
|
|
642
|
+
// step receives the same `lastOutput` it would have during a normal run.
|
|
643
|
+
const stepRows = this.db.prepare(`
|
|
644
|
+
SELECT key, status, output FROM workflow_steps WHERE run_id = ? ORDER BY rowid
|
|
645
|
+
`).all(row.id);
|
|
646
|
+
let priorOutput = row.input ? jsonParse(row.input) : {};
|
|
647
|
+
for (const sr of stepRows) {
|
|
648
|
+
if (sr.key === stepKey)
|
|
649
|
+
break;
|
|
650
|
+
if (sr.status === 'succeeded' && sr.output) {
|
|
651
|
+
priorOutput = { ...priorOutput, ...jsonParse(sr.output) };
|
|
652
|
+
}
|
|
653
|
+
}
|
|
654
|
+
const run = this.getRun(row.id);
|
|
655
|
+
if (!run) {
|
|
656
|
+
this.failInterrupted(row.id, 'Run row disappeared before resume could start');
|
|
657
|
+
continue;
|
|
658
|
+
}
|
|
659
|
+
// Reset the in-flight step so executeRun can mark it running again
|
|
660
|
+
this.db.prepare(`UPDATE workflow_steps SET status = 'pending', error = NULL, completed_at = NULL WHERE run_id = ? AND key = ? AND status = 'running'`)
|
|
661
|
+
.run(row.id, stepKey);
|
|
662
|
+
// Kick off resume in the background — same fire-and-forget pattern as startRun
|
|
663
|
+
this.executeRun(run, definition, { resumeFromKey: stepKey, priorOutput }).catch(err => {
|
|
664
|
+
console.error(`[workflow] Unhandled error in resumed run ${row.id}:`, err);
|
|
665
|
+
});
|
|
666
|
+
}
|
|
667
|
+
}
|
|
668
|
+
/** Mark a run as failed during the resume scan (no AbortController, no in-memory run object). */
|
|
669
|
+
failInterrupted(runId, reason) {
|
|
670
|
+
const completedAt = new Date().toISOString();
|
|
671
|
+
this.db.prepare(`UPDATE workflow_runs SET status = 'failed', error = ?, completed_at = ? WHERE id = ?`)
|
|
672
|
+
.run(reason, completedAt, runId);
|
|
673
|
+
this.db.prepare(`UPDATE workflow_steps SET status = 'failed', error = ?, completed_at = ? WHERE run_id = ? AND status = 'running'`)
|
|
674
|
+
.run(reason, completedAt, runId);
|
|
675
|
+
this.db.prepare(`UPDATE workflow_steps SET status = 'skipped' WHERE run_id = ? AND status = 'pending'`)
|
|
676
|
+
.run(runId);
|
|
677
|
+
const row = this.db.prepare(`SELECT id, kind FROM workflow_runs WHERE id = ?`).get(runId);
|
|
678
|
+
if (row) {
|
|
679
|
+
this.emit('workflow_event', {
|
|
680
|
+
eventType: 'run_failed',
|
|
681
|
+
runId: row.id,
|
|
682
|
+
kind: row.kind,
|
|
683
|
+
status: 'failed',
|
|
684
|
+
timestamp: completedAt,
|
|
685
|
+
});
|
|
505
686
|
}
|
|
506
687
|
}
|
|
507
688
|
// -------------------------------------------------------------------------
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"workflow-engine.js","sourceRoot":"","sources":["../workflow-engine.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"workflow-engine.js","sourceRoot":"","sources":["../workflow-engine.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,QAAQ,MAAM,gBAAgB,CAAA;AACrC,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,IAAI,CAAA;AACrD,OAAO,EAAE,OAAO,EAAE,MAAM,IAAI,CAAA;AAC5B,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAA;AAC3B,OAAO,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAA;AACnC,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAA;AACrC,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAiB3C;;;GAGG;AACH,MAAM,OAAO,eAAgB,SAAQ,KAAK;IACxC,YAAY,OAAe;QACzB,KAAK,CAAC,OAAO,CAAC,CAAA;QACd,IAAI,CAAC,IAAI,GAAG,iBAAiB,CAAA;IAC/B,CAAC;CACF;AAED;;;;GAIG;AACH,MAAM,OAAO,gBAAiB,SAAQ,KAAK;IAEvB;IACA;IACA;IACA;IAJlB,YACkB,KAAa,EACb,OAAe,EACf,SAAiB,EACjB,QAAuB;QAEvC,KAAK,CACH,iDAAiD,KAAK,SAAS,OAAO,YAAY,SAAS,aAAa,QAAQ,IAAI,SAAS,EAAE,CAChI,CAAA;QAPe,UAAK,GAAL,KAAK,CAAQ;QACb,YAAO,GAAP,OAAO,CAAQ;QACf,cAAS,GAAT,SAAS,CAAQ;QACjB,aAAQ,GAAR,QAAQ,CAAe;QAKvC,IAAI,CAAC,IAAI,GAAG,kBAAkB,CAAA;IAChC,CAAC;CACF;AAiJD,8EAA8E;AAC9E,0DAA0D;AAC1D,8EAA8E;AAE9E,SAAS,cAAc,CAAC,KAAa,EAAE,GAAW,EAAE,GAAW;IAC7D,MAAM,MAAM,GAAa,EAAE,CAAA;IAC3B,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC;QACpC,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,CAAA;QAC7C,MAAM,IAAI,GAAG,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;QACvD,MAAM,KAAK,GAAG,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAA;QAE7C,IAAI,KAAK,KAAK,GAAG,EAAE,CAAC;YAClB,KAAK,IAAI,CAAC,GAAG,GAAG,EAAE,CAAC,IAAI,GAAG,EAAE,CAAC,IAAI,IAAI;gBAAE,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;QACvD,CAAC;aAAM,IAAI,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;YAC/B,MAAM,CAAC,KAAK,EAAE,GAAG,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAA;YACjD,KAAK,IAAI,CAAC,GAAG,KAAK,EAAE,CAAC,IAAI,GAAG,EAAE,CAAC,IAAI,IAAI;gBAAE,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;QACzD,CAAC;aAAM,CAAC;YACN,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,CAAA;QAClC,CAAC;IACH,CAAC;IACD,OAAO,MAAM,CAAA;AACf,CAAC;AAED,SAAS,eAAe,CAAC,UAAkB,EAAE,IAAU;IACrD,MAAM,KAAK,GAAG,UAAU,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA;IAC5C,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,KAAK,CAAA;IAEpC,MAAM,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,GAAG,KAAK,CAAA;IAC7C,MAAM,MAAM,GAAG,cAAc,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE,CAAC,CAAA;IAC1C,MAAM,IAAI,GAAG,cAAc,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE,CAAC,CAAA;IACzC,MAAM,GAAG,GAAG,cAAc,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE,CAAC,CAAA;IACvC,MAAM,KAAK,GAAG,cAAc,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE,CAAC,CAAA;IACzC,MAAM,GAAG,GAAG,cAAc,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,CAAA;IAEtC,OAAO,CACL,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC;QAClC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;QAC9B,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;QAC5B,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;QACnC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAC5B,CAAA;AACH,CAAC;AAED,4EAA4E;AAC5E,SAAS,aAAa,CAAC,UAAkB,EAAE,KAAW;IACpD,MAAM,CAAC,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,CAAA;IACzB,CAAC,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;IAClB,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC,CAAA;IAChC,8BAA8B;IAC9B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC;QACvC,IAAI,eAAe,CAAC,UAAU,EAAE,CAAC,CAAC;YAAE,OAAO,CAAC,CAAA;QAC5C,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC,CAAA;IAClC,CAAC;IACD,yBAAyB;IACzB,OAAO,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,GAAG,QAAQ,CAAC,CAAA;AAC7C,CAAC;AAaD,oEAAoE;AACpE,SAAS,cAAc,CAAC,KAAa,EAAE,IAAmB;IACxD,MAAM,MAAM,GAAc,EAAE,CAAA;IAC5B,IAAI,GAAG,GAAG,iBAAiB,KAAK,YAAY,CAAA;IAE5C,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;QAC7B,GAAG,IAAI,QAAQ,CAAC,CAAC,MAAM,MAAM,CAAA;QAC7B,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAA;IACtB,CAAC;IAED,IAAI,IAAI,CAAC,OAAO;QAAE,GAAG,IAAI,aAAa,IAAI,CAAC,OAAO,EAAE,CAAA;IACpD,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;QAAC,GAAG,IAAI,UAAU,CAAC;QAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;IAAC,CAAC;IAC9D,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;QAAC,GAAG,IAAI,WAAW,CAAC;QAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;IAAC,CAAC;IAEjE,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,CAAA;AACxB,CAAC;AAED,8EAA8E;AAC9E,iBAAiB;AACjB,8EAA8E;AAE9E,MAAM,OAAO,cAAe,SAAQ,YAAY;IACtC,EAAE,CAAmB;IACrB,SAAS,GAAG,IAAI,GAAG,EAA8B,CAAA;IACjD,sBAAsB,GAAG,IAAI,GAAG,EAA2B,CAAA;IAC3D,SAAS,GAA0C,IAAI,CAAA;IACvD,eAAe,GAA2B,IAAI,CAAA;IAEtD,YAAY,MAAe;QACzB,KAAK,EAAE,CAAA;QACP,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,EAAE,EAAE,UAAU,CAAC,CAAA;QACvC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC;YAAE,SAAS,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAA;QACzD,MAAM,YAAY,GAAG,MAAM,IAAI,IAAI,CAAC,GAAG,EAAE,cAAc,CAAC,CAAA;QACxD,IAAI,CAAC,EAAE,GAAG,IAAI,QAAQ,CAAC,YAAY,EAAE,EAAE,aAAa,EAAE,KAAK,EAAE,CAAC,CAAA;QAC9D,IAAI,YAAY,KAAK,UAAU,IAAI,UAAU,CAAC,YAAY,CAAC;YAAE,SAAS,CAAC,YAAY,EAAE,KAAK,CAAC,CAAA;QAC3F,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,oBAAoB,CAAC,CAAA;QACpC,IAAI,CAAC,YAAY,EAAE,CAAA;QACnB,IAAI,CAAC,aAAa,EAAE,CAAA;IACtB,CAAC;IAEO,YAAY;QAClB,kEAAkE;QAClE,mEAAmE;QACnE,gBAAgB;QAChB,uFAAuF;QACvF,kGAAkG;QAClG,mFAAmF;QACnF,8FAA8F;QAC9F,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KAsCZ,CAAC,CAAA;IACJ,CAAC;IAED;;;;;OAKG;IACK,aAAa;QACnB,MAAM,SAAS,GAAG;YAChB,sFAAsF;YACtF,sDAAsD;YACtD,4FAA4F;YAC5F,wDAAwD;YACxD,wEAAwE;YACxE,4DAA4D;SAC7D,CAAA;QACD,KAAK,MAAM,GAAG,IAAI,SAAS,EAAE,CAAC;YAC5B,IAAI,CAAC;gBACH,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;YACnB,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,0FAA0F;gBAC1F,MAAM,GAAG,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;gBAC5D,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,GAAG,CAAC;oBAAE,MAAM,GAAG,CAAA;YAC/C,CAAC;QACH,CAAC;IACH,CAAC;IAED;;;;;OAKG;IACH,kBAAkB,CAAC,QAAgC;QACjD,IAAI,CAAC,eAAe,GAAG,QAAQ,CAAA;IACjC,CAAC;IAED,4EAA4E;IAC5E,wBAAwB;IACxB,4EAA4E;IAE5E,8FAA8F;IAC9F,gBAAgB,CAAC,UAA8B;QAC7C,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,EAAE,UAAU,CAAC,CAAA;QAC/C,OAAO,CAAC,GAAG,CAAC,mCAAmC,UAAU,CAAC,IAAI,KAAK,UAAU,CAAC,KAAK,CAAC,MAAM,SAAS,CAAC,CAAA;IACtG,CAAC;IAED,yDAAyD;IACzD,WAAW,CAAC,IAAY;QACtB,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;IACjC,CAAC;IAED,4EAA4E;IAC5E,iBAAiB;IACjB,4EAA4E;IAE5E,6DAA6D;IAC7D,KAAK,CAAC,QAAQ,CAAC,IAAY,EAAE,QAAiC,EAAE;QAC9D,MAAM,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;QAC3C,IAAI,CAAC,UAAU;YAAE,MAAM,IAAI,KAAK,CAAC,0BAA0B,IAAI,EAAE,CAAC,CAAA;QAElE,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAA;QACpC,MAAM,GAAG,GAAgB;YACvB,EAAE,EAAE,UAAU,EAAE;YAChB,IAAI;YACJ,MAAM,EAAE,QAAQ;YAChB,KAAK;YACL,MAAM,EAAE,IAAI;YACZ,KAAK,EAAE,IAAI;YACX,SAAS,EAAE,GAAG;YACd,SAAS,EAAE,IAAI;YACf,WAAW,EAAE,IAAI;SAClB,CAAA;QAED,cAAc;QACd,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC;;;KAGf,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,GAAG,CAAC,SAAS,CAAC,CAAA;QAE9E,mBAAmB;QACnB,KAAK,MAAM,IAAI,IAAI,UAAU,CAAC,KAAK,EAAE,CAAC;YACpC,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC;;;OAGf,CAAC,CAAC,GAAG,CAAC,UAAU,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,IAAI,CAAC,GAAG,CAAC,CAAA;QACxC,CAAC;QAED,IAAI,CAAC,SAAS,CAAC,YAAY,EAAE,GAAG,CAAC,CAAA;QAEjC,yBAAyB;QACzB,IAAI,CAAC,UAAU,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE;YAC3C,OAAO,CAAC,KAAK,CAAC,qCAAqC,GAAG,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,CAAA;QACpE,CAAC,CAAC,CAAA;QAEF,OAAO,GAAG,CAAA;IACZ,CAAC;IAED;;;;;;;;;;;;;;;;OAgBG;IACK,KAAK,CAAC,UAAU,CACtB,GAAgB,EAChB,UAA8B,EAC9B,IAAwE;QAExE,MAAM,eAAe,GAAG,IAAI,eAAe,EAAE,CAAA;QAC7C,IAAI,CAAC,sBAAsB,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,EAAE,eAAe,CAAC,CAAA;QAExD,MAAM,aAAa,GAAG,IAAI,EAAE,aAAa,CAAA;QACzC,MAAM,QAAQ,GAAG,CAAC,CAAC,aAAa,CAAA;QAEhC,6EAA6E;QAC7E,GAAG,CAAC,MAAM,GAAG,SAAS,CAAA;QACtB,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,GAAG,CAAC,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAA;YACxC,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,0EAA0E,CAAC;iBACxF,GAAG,CAAC,GAAG,CAAC,SAAS,EAAE,GAAG,CAAC,EAAE,CAAC,CAAA;YAC7B,IAAI,CAAC,SAAS,CAAC,aAAa,EAAE,GAAG,CAAC,CAAA;QACpC,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,0DAA0D,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;YACvF,IAAI,CAAC,SAAS,CAAC,aAAa,EAAE,GAAG,CAAC,CAAA;QACpC,CAAC;QAED,IAAI,UAAU,GAA4B,QAAQ;YAChD,CAAC,CAAC,EAAE,GAAG,CAAC,IAAI,EAAE,WAAW,IAAI,EAAE,CAAC,EAAE;YAClC,CAAC,CAAC,EAAE,GAAG,GAAG,CAAC,KAAK,EAAE,CAAA;QAEpB,IAAI,kBAAkB,GAAG,CAAC,QAAQ,CAAA;QAElC,IAAI,CAAC;YACH,KAAK,MAAM,OAAO,IAAI,UAAU,CAAC,KAAK,EAAE,CAAC;gBACvC,IAAI,CAAC,kBAAkB,EAAE,CAAC;oBACxB,IAAI,OAAO,CAAC,GAAG,KAAK,aAAa;wBAAE,kBAAkB,GAAG,IAAI,CAAA;;wBACvD,SAAQ;gBACf,CAAC;gBAED,IAAI,eAAe,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;oBACnC,MAAM,IAAI,KAAK,CAAC,cAAc,CAAC,CAAA;gBACjC,CAAC;gBAED,MAAM,OAAO,GAAG,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,4DAA4D,CAAC;qBAC1F,GAAG,CAAC,GAAG,CAAC,EAAE,EAAE,OAAO,CAAC,GAAG,CAA+B,CAAA;gBACzD,IAAI,CAAC,OAAO;oBAAE,SAAQ;gBAEtB,mEAAmE;gBACnE,MAAM,WAAW,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAA;gBAC5C,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,wIAAwI,CAAC;qBACtJ,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,EAAE,WAAW,EAAE,OAAO,CAAC,EAAE,CAAC,CAAA;gBAC3D,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,8EAA8E,CAAC;qBAC5F,GAAG,CAAC,WAAW,EAAE,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,CAAC,CAAA;gBACxC,GAAG,CAAC,UAAU,GAAG,WAAW,CAAA;gBAC5B,GAAG,CAAC,cAAc,GAAG,OAAO,CAAC,GAAG,CAAA;gBAChC,IAAI,CAAC,SAAS,CAAC,cAAc,EAAE,GAAG,EAAE,OAAO,CAAC,GAAG,CAAC,CAAA;gBAEhD,MAAM,aAAa,GAAG,QAAQ,IAAI,OAAO,CAAC,GAAG,KAAK,aAAa,CAAA;gBAE/D,IAAI,CAAC;oBACH,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,OAAO,CAAC,UAAU,EAAE;wBAC/C,KAAK,EAAE,GAAG,CAAC,EAAE;wBACb,GAAG;wBACH,WAAW,EAAE,eAAe,CAAC,MAAM;wBACnC,OAAO,EAAE,aAAa;wBACtB,eAAe,EAAE,CAAC,SAAiB,EAAE,EAAE,CAAC,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,EAAE,EAAE,SAAS,CAAC;qBAChF,CAAC,CAAA;oBAEF,sBAAsB;oBACtB,MAAM,aAAa,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAA;oBAC9C,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,2FAA2F,CAAC;yBACzG,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,aAAa,EAAE,OAAO,CAAC,EAAE,CAAC,CAAA;oBACzD,IAAI,CAAC,SAAS,CAAC,gBAAgB,EAAE,GAAG,EAAE,OAAO,CAAC,GAAG,CAAC,CAAA;oBAElD,UAAU,GAAG,EAAE,GAAG,UAAU,EAAE,GAAG,MAAM,EAAE,CAAA;gBAC3C,CAAC;gBAAC,OAAO,GAAG,EAAE,CAAC;oBACb,IAAI,GAAG,YAAY,eAAe;wBAAE,MAAM,GAAG,CAAA;oBAC7C,MAAM,GAAG,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;oBAC5D,MAAM,aAAa,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAA;oBAC9C,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,uFAAuF,CAAC;yBACrG,GAAG,CAAC,GAAG,EAAE,aAAa,EAAE,OAAO,CAAC,EAAE,CAAC,CAAA;oBACtC,IAAI,CAAC,SAAS,CAAC,aAAa,EAAE,GAAG,EAAE,OAAO,CAAC,GAAG,CAAC,CAAA;oBAC/C,MAAM,GAAG,CAAA;gBACX,CAAC;YACH,CAAC;YAED,sBAAsB;YACtB,GAAG,CAAC,MAAM,GAAG,WAAW,CAAA;YACxB,GAAG,CAAC,MAAM,GAAG,UAAU,CAAA;YACvB,GAAG,CAAC,WAAW,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAA;YAC1C,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,0FAA0F,CAAC;iBACxG,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,EAAE,GAAG,CAAC,WAAW,EAAE,GAAG,CAAC,EAAE,CAAC,CAAA;YAC3D,IAAI,CAAC,SAAS,CAAC,eAAe,EAAE,GAAG,CAAC,CAAA;QAEtC,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,GAAG,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;YAC5D,GAAG,CAAC,WAAW,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAA;YAE1C,uEAAuE;YACvE,sEAAsE;YACtE,sCAAsC;YACtC,IAAI,GAAG,YAAY,eAAe,EAAE,CAAC;gBACnC,GAAG,CAAC,MAAM,GAAG,SAAS,CAAA;gBACtB,GAAG,CAAC,KAAK,GAAG,GAAG,CAAA;gBACf,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,uFAAuF,CAAC;qBACrG,GAAG,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,CAAC,WAAW,EAAE,GAAG,CAAC,EAAE,CAAC,CAAA;gBAC1C,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,oGAAoG,CAAC;qBAClH,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;gBACd,IAAI,CAAC,SAAS,CAAC,aAAa,EAAE,GAAG,CAAC,CAAA;YACpC,CAAC;iBAAM,CAAC;gBACN,GAAG,CAAC,MAAM,GAAG,eAAe,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,QAAQ,CAAA;gBACnE,GAAG,CAAC,KAAK,GAAG,GAAG,CAAA;gBACf,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,+EAA+E,CAAC;qBAC7F,GAAG,CAAC,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,KAAK,EAAE,GAAG,CAAC,WAAW,EAAE,GAAG,CAAC,EAAE,CAAC,CAAA;gBACtD,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,MAAM,KAAK,UAAU,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,YAAY,EAAE,GAAG,CAAC,CAAA;gBAE9E,uBAAuB;gBACvB,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,sFAAsF,CAAC;qBACpG,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;YAChB,CAAC;QAEH,CAAC;gBAAS,CAAC;YACT,IAAI,CAAC,sBAAsB,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;YAC1C,IAAI,UAAU,CAAC,QAAQ,EAAE,CAAC;gBACxB,IAAI,CAAC;oBACH,MAAM,UAAU,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAA;gBAChC,CAAC;gBAAC,OAAO,GAAG,EAAE,CAAC;oBACb,OAAO,CAAC,KAAK,CAAC,sCAAsC,GAAG,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,CAAA;gBACrE,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAED,oGAAoG;IACpG,SAAS,CAAC,KAAa;QACrB,MAAM,UAAU,GAAG,IAAI,CAAC,sBAAsB,CAAC,GAAG,CAAC,KAAK,CAAC,CAAA;QACzD,IAAI,UAAU,EAAE,CAAC;YACf,UAAU,CAAC,KAAK,EAAE,CAAA;YAClB,OAAO,IAAI,CAAA;QACb,CAAC;QACD,OAAO,KAAK,CAAA;IACd,CAAC;IAED;;;;;OAKG;IACH,eAAe,CAAC,KAAa,EAAE,SAAiB;QAC9C,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,sDAAsD,CAAC,CAAC,GAAG,CAAC,SAAS,EAAE,KAAK,CAAC,CAAA;IAC/F,CAAC;IAED,4EAA4E;IAC5E,UAAU;IACV,4EAA4E;IAE5E,wGAAwG;IACxG,MAAM,CAAC,KAAa;QAClB,MAAM,GAAG,GAAG,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,0CAA0C,CAAC,CAAC,GAAG,CAAC,KAAK,CAAuC,CAAA;QACxH,IAAI,CAAC,GAAG;YAAE,OAAO,IAAI,CAAA;QAErB,MAAM,KAAK,GAAI,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,8DAA8D,CAAC,CAAC,GAAG,CAAC,KAAK,CAA8B;aACnI,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;YACT,EAAE,EAAE,CAAC,CAAC,EAAE;YACR,KAAK,EAAE,CAAC,CAAC,MAAM;YACf,GAAG,EAAE,CAAC,CAAC,GAAG;YACV,MAAM,EAAE,CAAC,CAAC,MAAoB;YAC9B,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAA4B,CAAC,CAAC,CAAC,IAAI;YACrE,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAA4B,CAAC,CAAC,CAAC,IAAI;YACxE,KAAK,EAAE,CAAC,CAAC,KAAK;YACd,SAAS,EAAE,CAAC,CAAC,UAAU;YACvB,WAAW,EAAE,CAAC,CAAC,YAAY;SAC5B,CAAC,CAAC,CAAA;QAEL,OAAO;YACL,EAAE,EAAE,GAAG,CAAC,EAAE;YACV,IAAI,EAAE,GAAG,CAAC,IAAI;YACd,MAAM,EAAE,GAAG,CAAC,MAAmB;YAC/B,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,KAAK,CAA4B;YACtD,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,MAAM,CAA4B,CAAC,CAAC,CAAC,IAAI;YAC5E,KAAK,EAAE,GAAG,CAAC,KAAK;YAChB,SAAS,EAAE,GAAG,CAAC,UAAU;YACzB,SAAS,EAAE,GAAG,CAAC,UAAU;YACzB,WAAW,EAAE,GAAG,CAAC,YAAY;YAC7B,SAAS,EAAE,GAAG,CAAC,UAAU,IAAI,IAAI;YACjC,UAAU,EAAE,GAAG,CAAC,YAAY,IAAI,IAAI;YACpC,cAAc,EAAE,GAAG,CAAC,gBAAgB,IAAI,IAAI;YAC5C,KAAK;SACN,CAAA;IACH,CAAC;IAED,8EAA8E;IAC9E,QAAQ,CAAC,IAA6E;QACpF,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,cAAc,CAAC,eAAe,EAAE;YACtD,OAAO,EAAE;gBACP,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI;gBACxD,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,IAAI;aAC/D,CAAC,MAAM,CAAC,OAAO,CAA8C;YAC9D,OAAO,EAAE,iBAAiB;YAC1B,KAAK,EAAE,IAAI,EAAE,KAAK;YAClB,MAAM,EAAE,IAAI,EAAE,MAAM;SACrB,CAAC,CAAA;QAEF,OAAQ,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,MAAM,CAA8B,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YACnF,EAAE,EAAE,GAAG,CAAC,EAAE;YACV,IAAI,EAAE,GAAG,CAAC,IAAI;YACd,MAAM,EAAE,GAAG,CAAC,MAAmB;YAC/B,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,KAAK,CAA4B;YACtD,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,MAAM,CAA4B,CAAC,CAAC,CAAC,IAAI;YAC5E,KAAK,EAAE,GAAG,CAAC,KAAK;YAChB,SAAS,EAAE,GAAG,CAAC,UAAU;YACzB,SAAS,EAAE,GAAG,CAAC,UAAU;YACzB,WAAW,EAAE,GAAG,CAAC,YAAY;YAC7B,SAAS,EAAE,GAAG,CAAC,UAAU,IAAI,IAAI;YACjC,UAAU,EAAE,GAAG,CAAC,YAAY,IAAI,IAAI;YACpC,cAAc,EAAE,GAAG,CAAC,gBAAgB,IAAI,IAAI;SAC7C,CAAC,CAAC,CAAA;IACL,CAAC;IAED,4EAA4E;IAC5E,kBAAkB;IAClB,4EAA4E;IAE5E,sFAAsF;IACtF,cAAc,CAAC,QAAuD;QACpE,MAAM,OAAO,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,aAAa,CAAC,QAAQ,CAAC,cAAc,EAAE,IAAI,IAAI,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,IAAI,CAAA;QAE1G,MAAM,QAAQ,GAAG,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,4CAA4C,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAA;QAC/F,IAAI,QAAQ,EAAE,CAAC;YACb,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC;;;OAGf,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC,cAAc,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,QAAQ,CAAC,EAAE,CAAC,CAAA;QAChI,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC;;;OAGf,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,EAAE,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC,cAAc,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,CAAA;QAChI,CAAC;QAED,OAAO,EAAE,GAAG,QAAQ,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,CAAA;IAC7D,CAAC;IAED,uEAAuE;IACvE,cAAc,CAAC,EAAU;QACvB,MAAM,MAAM,GAAG,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,yCAAyC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;QACjF,OAAO,MAAM,CAAC,OAAO,GAAG,CAAC,CAAA;IAC3B,CAAC;IAED,sDAAsD;IACtD,aAAa;QACX,OAAQ,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,8BAA8B,CAAC,CAAC,GAAG,EAAgC,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YACtG,EAAE,EAAE,GAAG,CAAC,EAAY;YACpB,IAAI,EAAE,GAAG,CAAC,IAAc;YACxB,cAAc,EAAE,GAAG,CAAC,eAAyB;YAC7C,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,KAAe,CAA4B;YAChE,OAAO,EAAE,CAAC,CAAE,GAAG,CAAC,OAAkB;YAClC,SAAS,EAAE,GAAG,CAAC,WAA4B;YAC3C,SAAS,EAAE,GAAG,CAAC,WAA4B;SAC5C,CAAC,CAAC,CAAA;IACL,CAAC;IAED,uEAAuE;IACvE,WAAW,CAAC,EAAU;QACpB,MAAM,GAAG,GAAG,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,2CAA2C,CAAC,CAAC,GAAG,CAAC,EAAE,CAAwC,CAAA;QACvH,IAAI,CAAC,GAAG;YAAE,OAAO,IAAI,CAAA;QACrB,OAAO;YACL,EAAE,EAAE,GAAG,CAAC,EAAY;YACpB,IAAI,EAAE,GAAG,CAAC,IAAc;YACxB,cAAc,EAAE,GAAG,CAAC,eAAyB;YAC7C,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,KAAe,CAA4B;YAChE,OAAO,EAAE,CAAC,CAAE,GAAG,CAAC,OAAkB;YAClC,SAAS,EAAE,GAAG,CAAC,WAA4B;YAC3C,SAAS,EAAE,GAAG,CAAC,WAA4B;SAC5C,CAAA;IACH,CAAC;IAED,0DAA0D;IAC1D,KAAK,CAAC,eAAe,CAAC,EAAU;QAC9B,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAA;QACrC,IAAI,CAAC,QAAQ;YAAE,MAAM,IAAI,KAAK,CAAC,uBAAuB,EAAE,EAAE,CAAC,CAAA;QAC3D,OAAO,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAA;IACrD,CAAC;IAED,sDAAsD;IACtD,kBAAkB;QAChB,IAAI,IAAI,CAAC,SAAS;YAAE,OAAM;QAC1B,OAAO,CAAC,GAAG,CAAC,mCAAmC,CAAC,CAAA;QAEhD,MAAM,IAAI,GAAG,GAAG,EAAE;YAChB,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAA;YACtB,MAAM,SAAS,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,SAAS,CAAC,CAAA;YAE5E,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE,CAAC;gBACjC,IAAI,IAAI,IAAI,CAAC,QAAQ,CAAC,SAAU,CAAC,IAAI,GAAG,EAAE,CAAC;oBACzC,OAAO,CAAC,GAAG,CAAC,8BAA8B,QAAQ,CAAC,EAAE,KAAK,QAAQ,CAAC,IAAI,GAAG,CAAC,CAAA;oBAE3E,6BAA6B;oBAC7B,MAAM,OAAO,GAAG,aAAa,CAAC,QAAQ,CAAC,cAAc,EAAE,GAAG,CAAC,CAAC,WAAW,EAAE,CAAA;oBACzE,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,yEAAyE,CAAC;yBACvF,GAAG,CAAC,GAAG,CAAC,WAAW,EAAE,EAAE,OAAO,EAAE,QAAQ,CAAC,EAAE,CAAC,CAAA;oBAE/C,yEAAyE;oBACzE,MAAM,QAAQ,GAAG,QAAQ,CAAC,SAAS;wBACjC,CAAC,CAAC,EAAE,GAAG,QAAQ,CAAC,KAAK,EAAE,cAAc,EAAE,QAAQ,CAAC,SAAS,EAAE;wBAC3D,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAA;oBAClB,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE;wBACjD,OAAO,CAAC,KAAK,CAAC,sCAAsC,QAAQ,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,CAAA;oBAC1E,CAAC,CAAC,CAAA;gBACJ,CAAC;YACH,CAAC;QACH,CAAC,CAAA;QAED,oCAAoC;QACpC,IAAI,EAAE,CAAA;QACN,IAAI,CAAC,SAAS,GAAG,WAAW,CAAC,IAAI,EAAE,MAAM,CAAC,CAAA;IAC5C,CAAC;IAED,+DAA+D;IAC/D,iBAAiB;QACf,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YACnB,aAAa,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;YAC7B,IAAI,CAAC,SAAS,GAAG,IAAI,CAAA;YACrB,OAAO,CAAC,GAAG,CAAC,mCAAmC,CAAC,CAAA;QAClD,CAAC;IACH,CAAC;IAED,4EAA4E;IAC5E,qCAAqC;IACrC,4EAA4E;IAE5E;;;;;;;;;;;;;;OAcG;IACH,KAAK,CAAC,iBAAiB;QACrB,MAAM,WAAW,GAAG,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC;;;KAGnC,CAAC,CAAC,GAAG,EAOJ,CAAA;QACF,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC;YAAE,OAAM;QAEpC,OAAO,CAAC,GAAG,CAAC,oBAAoB,WAAW,CAAC,MAAM,4CAA4C,CAAC,CAAA;QAE/F,KAAK,MAAM,GAAG,IAAI,WAAW,EAAE,CAAC;YAC9B,MAAM,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;YAC/C,IAAI,CAAC,UAAU,EAAE,CAAC;gBAChB,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,EAAE,EAAE,qDAAqD,GAAG,CAAC,IAAI,4BAA4B,CAAC,CAAA;gBACvH,SAAQ;YACV,CAAC;YAED,MAAM,OAAO,GAAG,GAAG,CAAC,gBAAgB,CAAA;YACpC,MAAM,SAAS,GAAG,GAAG,CAAC,UAAU,CAAA;YAEhC,gFAAgF;YAChF,+EAA+E;YAC/E,uEAAuE;YACvE,MAAM,eAAe,GAAG,IAAI,GAAG,CAAC,CAAC,YAAY,EAAE,aAAa,CAAC,CAAC,CAAA;YAE9D,IAAI,CAAC,OAAO,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;gBAC9C,IAAI,CAAC,eAAe,CAClB,GAAG,CAAC,EAAE,EACN,4BAA4B,OAAO,IAAI,SAAS,6CAA6C,CAC9F,CAAA;gBACD,SAAQ;YACV,CAAC;YAED,IAAI,CAAC,SAAS,EAAE,CAAC;gBACf,IAAI,CAAC,eAAe,CAClB,GAAG,CAAC,EAAE,EACN,4BAA4B,OAAO,uDAAuD,CAC3F,CAAA;gBACD,SAAQ;YACV,CAAC;YAED,MAAM,QAAQ,GAAG,IAAI,CAAC,eAAe,EAAE,CAAC,SAAS,CAAC,IAAI,IAAI,CAAA;YAC1D,IAAI,IAAI,CAAC,eAAe,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACtC,MAAM,GAAG,GAAG,IAAI,gBAAgB,CAAC,GAAG,CAAC,EAAE,EAAE,OAAO,EAAE,SAAS,EAAE,GAAG,CAAC,YAAY,CAAC,CAAA;gBAC9E,OAAO,CAAC,IAAI,CAAC,sBAAsB,GAAG,CAAC,OAAO,EAAE,CAAC,CAAA;gBACjD,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,OAAO,CAAC,CAAA;gBACzC,SAAQ;YACV,CAAC;YAED,OAAO,CAAC,GAAG,CAAC,2BAA2B,GAAG,CAAC,EAAE,KAAK,GAAG,CAAC,IAAI,cAAc,OAAO,cAAc,SAAS,GAAG,CAAC,CAAA;YAE1G,iFAAiF;YACjF,yEAAyE;YACzE,MAAM,QAAQ,GAAG,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC;;OAEhC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAkE,CAAA;YAE/E,IAAI,WAAW,GAA4B,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,CAA4B,CAAC,CAAC,CAAC,EAAE,CAAA;YAC3G,KAAK,MAAM,EAAE,IAAI,QAAQ,EAAE,CAAC;gBAC1B,IAAI,EAAE,CAAC,GAAG,KAAK,OAAO;oBAAE,MAAK;gBAC7B,IAAI,EAAE,CAAC,MAAM,KAAK,WAAW,IAAI,EAAE,CAAC,MAAM,EAAE,CAAC;oBAC3C,WAAW,GAAG,EAAE,GAAG,WAAW,EAAE,GAAI,SAAS,CAAC,EAAE,CAAC,MAAM,CAA6B,EAAE,CAAA;gBACxF,CAAC;YACH,CAAC;YAED,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;YAC/B,IAAI,CAAC,GAAG,EAAE,CAAC;gBACT,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,EAAE,EAAE,+CAA+C,CAAC,CAAA;gBAC7E,SAAQ;YACV,CAAC;YAED,mEAAmE;YACnE,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,qIAAqI,CAAC;iBACnJ,GAAG,CAAC,GAAG,CAAC,EAAE,EAAE,OAAO,CAAC,CAAA;YAEvB,+EAA+E;YAC/E,IAAI,CAAC,UAAU,CAAC,GAAG,EAAE,UAAU,EAAE,EAAE,aAAa,EAAE,OAAO,EAAE,WAAW,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE;gBACpF,OAAO,CAAC,KAAK,CAAC,6CAA6C,GAAG,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,CAAA;YAC5E,CAAC,CAAC,CAAA;QACJ,CAAC;IACH,CAAC;IAED,iGAAiG;IACzF,eAAe,CAAC,KAAa,EAAE,MAAc;QACnD,MAAM,WAAW,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAA;QAC5C,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,sFAAsF,CAAC;aACpG,GAAG,CAAC,MAAM,EAAE,WAAW,EAAE,KAAK,CAAC,CAAA;QAClC,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,kHAAkH,CAAC;aAChI,GAAG,CAAC,MAAM,EAAE,WAAW,EAAE,KAAK,CAAC,CAAA;QAClC,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,sFAAsF,CAAC;aACpG,GAAG,CAAC,KAAK,CAAC,CAAA;QACb,MAAM,GAAG,GAAG,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,iDAAiD,CAAC,CAAC,GAAG,CAAC,KAAK,CAA6C,CAAA;QACrI,IAAI,GAAG,EAAE,CAAC;YACR,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE;gBAC1B,SAAS,EAAE,YAAY;gBACvB,KAAK,EAAE,GAAG,CAAC,EAAE;gBACb,IAAI,EAAE,GAAG,CAAC,IAAI;gBACd,MAAM,EAAE,QAAQ;gBAChB,SAAS,EAAE,WAAW;aACvB,CAAC,CAAA;QACJ,CAAC;IACH,CAAC;IAED,4EAA4E;IAC5E,SAAS;IACT,4EAA4E;IAEpE,SAAS,CAAC,SAAiB,EAAE,GAAgB,EAAE,OAAgB;QACrE,MAAM,KAAK,GAAkB;YAC3B,SAAS;YACT,KAAK,EAAE,GAAG,CAAC,EAAE;YACb,IAAI,EAAE,GAAG,CAAC,IAAI;YACd,OAAO;YACP,MAAM,EAAE,GAAG,CAAC,MAAM;YAClB,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;SACpC,CAAA;QACD,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE,KAAK,CAAC,CAAA;IACpC,CAAC;IAED,4EAA4E;IAC5E,WAAW;IACX,4EAA4E;IAE5E,+EAA+E;IAC/E,QAAQ;QACN,IAAI,CAAC,iBAAiB,EAAE,CAAA;QACxB,yBAAyB;QACzB,KAAK,MAAM,CAAC,KAAK,EAAE,UAAU,CAAC,IAAI,IAAI,CAAC,sBAAsB,EAAE,CAAC;YAC9D,OAAO,CAAC,GAAG,CAAC,oCAAoC,KAAK,EAAE,CAAC,CAAA;YACxD,UAAU,CAAC,KAAK,EAAE,CAAA;QACpB,CAAC;QACD,IAAI,CAAC,EAAE,CAAC,KAAK,EAAE,CAAA;QACf,OAAO,CAAC,GAAG,CAAC,6BAA6B,CAAC,CAAA;IAC5C,CAAC;CACF;AAED,8EAA8E;AAC9E,YAAY;AACZ,8EAA8E;AAE9E,IAAI,cAAc,GAA0B,IAAI,CAAA;AAEhD,4GAA4G;AAC5G,MAAM,UAAU,kBAAkB;IAChC,IAAI,cAAc;QAAE,OAAO,cAAc,CAAA;IACzC,cAAc,GAAG,IAAI,cAAc,EAAE,CAAA;IACrC,OAAO,CAAC,GAAG,CAAC,wCAAwC,CAAC,CAAA;IACrD,OAAO,cAAc,CAAA;AACvB,CAAC;AAED,8FAA8F;AAC9F,MAAM,UAAU,iBAAiB;IAC/B,IAAI,CAAC,cAAc;QAAE,MAAM,IAAI,KAAK,CAAC,mEAAmE,CAAC,CAAA;IACzG,OAAO,cAAc,CAAA;AACvB,CAAC;AAED,sFAAsF;AACtF,MAAM,UAAU,sBAAsB;IACpC,IAAI,cAAc,EAAE,CAAC;QACnB,cAAc,CAAC,QAAQ,EAAE,CAAA;QACzB,cAAc,GAAG,IAAI,CAAA;IACvB,CAAC;AACH,CAAC"}
|
|
@@ -9,7 +9,8 @@
|
|
|
9
9
|
* 1. validate_repo — verify path exists, is a git repo, check staleness
|
|
10
10
|
* 2. create_session — create a Codekin session for the run
|
|
11
11
|
* 3. run_prompt — start Claude, send the prompt, wait for result
|
|
12
|
-
* 4. save_report — write Markdown output to outputDir, commit on
|
|
12
|
+
* 4. save_report — write Markdown output to outputDir, commit on a fresh
|
|
13
|
+
* audit/<kind>-<YYYY-MM-DD> branch, push
|
|
13
14
|
*
|
|
14
15
|
* MD file format — YAML frontmatter followed by the Claude prompt:
|
|
15
16
|
*
|
|
@@ -45,6 +46,10 @@ export interface WorkflowDef {
|
|
|
45
46
|
model?: string;
|
|
46
47
|
prompt: string;
|
|
47
48
|
}
|
|
49
|
+
/** Branch name for the per-run report commit. Kept short and stable per (kind, date). */
|
|
50
|
+
export declare function reportBranchName(kind: string, dateStr: string): string;
|
|
51
|
+
/** True when a branch name is one a workflow run produces (or used to produce). */
|
|
52
|
+
export declare function isWorkflowReportsBranch(branch: string): boolean;
|
|
48
53
|
/**
|
|
49
54
|
* Discover and register any standalone repo workflows (kinds not already
|
|
50
55
|
* registered as built-ins). Called when a repo is configured or when listing
|