cueline 0.1.6 → 0.2.0
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/.claude-plugin/plugin.json +1 -1
- package/.codex-plugin/plugin.json +1 -1
- package/CHANGELOG.md +50 -0
- package/README.ja.md +77 -30
- package/README.ko.md +77 -30
- package/README.md +71 -29
- package/README.zh-CN.md +77 -30
- package/README.zh-TW.md +74 -29
- package/config/routing.schema.json +3 -0
- package/dist/src/api-caller-work.js +58 -14
- package/dist/src/api-caller-work.js.map +1 -1
- package/dist/src/api-contracts.d.ts +56 -0
- package/dist/src/api-controller-handoff.d.ts +5 -1
- package/dist/src/api-controller-handoff.js +178 -38
- package/dist/src/api-controller-handoff.js.map +1 -1
- package/dist/src/api-run-verification.d.ts +3 -0
- package/dist/src/api-run-verification.js +174 -0
- package/dist/src/api-run-verification.js.map +1 -0
- package/dist/src/api-runtime-lifecycle.d.ts +6 -1
- package/dist/src/api-runtime-lifecycle.js +97 -8
- package/dist/src/api-runtime-lifecycle.js.map +1 -1
- package/dist/src/api.d.ts +26 -4
- package/dist/src/api.js +111 -40
- package/dist/src/api.js.map +1 -1
- package/dist/src/browser/browser-adapter.d.ts +41 -0
- package/dist/src/browser/codex-iab/bootstrap.d.ts +21 -0
- package/dist/src/browser/codex-iab/bootstrap.js +174 -9
- package/dist/src/browser/codex-iab/bootstrap.js.map +1 -1
- package/dist/src/browser/codex-iab/chatgpt-client.d.ts +3 -0
- package/dist/src/browser/codex-iab/chatgpt-client.js +216 -70
- package/dist/src/browser/codex-iab/chatgpt-client.js.map +1 -1
- package/dist/src/browser/codex-iab/probe.d.ts +36 -0
- package/dist/src/browser/codex-iab/probe.js +217 -0
- package/dist/src/browser/codex-iab/probe.js.map +1 -0
- package/dist/src/browser/codex-iab/recovery-evidence.d.ts +1 -1
- package/dist/src/browser/codex-iab/recovery-evidence.js +7 -10
- package/dist/src/browser/codex-iab/recovery-evidence.js.map +1 -1
- package/dist/src/browser/codex-iab/selectors.d.ts +1 -0
- package/dist/src/browser/codex-iab/selectors.js +1 -0
- package/dist/src/browser/codex-iab/selectors.js.map +1 -1
- package/dist/src/browser/codex-iab/send-button.d.ts +5 -0
- package/dist/src/browser/codex-iab/send-button.js +62 -0
- package/dist/src/browser/codex-iab/send-button.js.map +1 -0
- package/dist/src/browser/codex-iab/submission-url.js +6 -15
- package/dist/src/browser/codex-iab/submission-url.js.map +1 -1
- package/dist/src/browser/codex-iab/tab-discovery.js +45 -12
- package/dist/src/browser/codex-iab/tab-discovery.js.map +1 -1
- package/dist/src/browser/codex-iab/timing-options.d.ts +1 -0
- package/dist/src/browser/codex-iab/timing-options.js +5 -0
- package/dist/src/browser/codex-iab/timing-options.js.map +1 -0
- package/dist/src/cli/health-commands.d.ts +2 -0
- package/dist/src/cli/health-commands.js +265 -0
- package/dist/src/cli/health-commands.js.map +1 -0
- package/dist/src/cli/io.d.ts +4 -0
- package/dist/src/cli/io.js +2 -0
- package/dist/src/cli/io.js.map +1 -0
- package/dist/src/cli/main.d.ts +1 -5
- package/dist/src/cli/main.js +187 -84
- package/dist/src/cli/main.js.map +1 -1
- package/dist/src/cli/observation-commands.d.ts +2 -0
- package/dist/src/cli/observation-commands.js +350 -0
- package/dist/src/cli/observation-commands.js.map +1 -0
- package/dist/src/cli/run-status-view.d.ts +87 -0
- package/dist/src/cli/run-status-view.js +121 -0
- package/dist/src/cli/run-status-view.js.map +1 -0
- package/dist/src/core/controller-command-execution.d.ts +2 -2
- package/dist/src/core/controller-command-execution.js +82 -16
- package/dist/src/core/controller-command-execution.js.map +1 -1
- package/dist/src/core/controller-conversation-archive.d.ts +11 -0
- package/dist/src/core/controller-conversation-archive.js +109 -0
- package/dist/src/core/controller-conversation-archive.js.map +1 -0
- package/dist/src/core/controller-loop.d.ts +7 -1
- package/dist/src/core/controller-loop.js +136 -23
- package/dist/src/core/controller-loop.js.map +1 -1
- package/dist/src/core/controller-turn.d.ts +21 -3
- package/dist/src/core/controller-turn.js +182 -41
- package/dist/src/core/controller-turn.js.map +1 -1
- package/dist/src/core/controller-types.d.ts +2 -0
- package/dist/src/core/conversation-url.d.ts +3 -0
- package/dist/src/core/conversation-url.js +34 -0
- package/dist/src/core/conversation-url.js.map +1 -0
- package/dist/src/core/run-status.d.ts +17 -2
- package/dist/src/core/run-status.js +64 -25
- package/dist/src/core/run-status.js.map +1 -1
- package/dist/src/core/state-machine.d.ts +36 -1
- package/dist/src/core/state-machine.js +242 -13
- package/dist/src/core/state-machine.js.map +1 -1
- package/dist/src/core/timing.d.ts +9 -0
- package/dist/src/core/timing.js +22 -0
- package/dist/src/core/timing.js.map +1 -0
- package/dist/src/diagnostics/run-doctor.d.ts +22 -0
- package/dist/src/diagnostics/run-doctor.js +197 -0
- package/dist/src/diagnostics/run-doctor.js.map +1 -0
- package/dist/src/jobs/status.d.ts +5 -2
- package/dist/src/jobs/status.js +172 -12
- package/dist/src/jobs/status.js.map +1 -1
- package/dist/src/jobs/supervisor.js +57 -8
- package/dist/src/jobs/supervisor.js.map +1 -1
- package/dist/src/observation/run-diff.d.ts +39 -0
- package/dist/src/observation/run-diff.js +67 -0
- package/dist/src/observation/run-diff.js.map +1 -0
- package/dist/src/observation/run-graph.d.ts +17 -0
- package/dist/src/observation/run-graph.js +77 -0
- package/dist/src/observation/run-graph.js.map +1 -0
- package/dist/src/observation/run-handoff.d.ts +86 -0
- package/dist/src/observation/run-handoff.js +309 -0
- package/dist/src/observation/run-handoff.js.map +1 -0
- package/dist/src/observation/run-status-at.d.ts +41 -0
- package/dist/src/observation/run-status-at.js +65 -0
- package/dist/src/observation/run-status-at.js.map +1 -0
- package/dist/src/observation/run-timeline.d.ts +32 -0
- package/dist/src/observation/run-timeline.js +279 -0
- package/dist/src/observation/run-timeline.js.map +1 -0
- package/dist/src/observation/run-watch.d.ts +15 -0
- package/dist/src/observation/run-watch.js +82 -0
- package/dist/src/observation/run-watch.js.map +1 -0
- package/dist/src/protocol/limits.d.ts +3 -0
- package/dist/src/protocol/limits.js +4 -0
- package/dist/src/protocol/limits.js.map +1 -0
- package/dist/src/protocol/lint-command.d.ts +24 -0
- package/dist/src/protocol/lint-command.js +210 -0
- package/dist/src/protocol/lint-command.js.map +1 -0
- package/dist/src/protocol/parse-command.js +4 -0
- package/dist/src/protocol/parse-command.js.map +1 -1
- package/dist/src/protocol/types.d.ts +12 -0
- package/dist/src/protocol/validate-command.js +76 -3
- package/dist/src/protocol/validate-command.js.map +1 -1
- package/dist/src/router/config-loader.js +23 -2
- package/dist/src/router/config-loader.js.map +1 -1
- package/dist/src/router/explain.d.ts +28 -0
- package/dist/src/router/explain.js +86 -0
- package/dist/src/router/explain.js.map +1 -0
- package/dist/src/router/resolver.d.ts +2 -1
- package/dist/src/router/resolver.js +11 -6
- package/dist/src/router/resolver.js.map +1 -1
- package/dist/src/runners/process-runner.js +55 -12
- package/dist/src/runners/process-runner.js.map +1 -1
- package/dist/src/runners/runner-adapter.d.ts +2 -0
- package/dist/src/runners/runner-adapter.js.map +1 -1
- package/dist/src/state/atomic-write.d.ts +6 -0
- package/dist/src/state/atomic-write.js +43 -2
- package/dist/src/state/atomic-write.js.map +1 -1
- package/dist/src/state/cancellation.js +38 -4
- package/dist/src/state/cancellation.js.map +1 -1
- package/dist/src/state/event-log.js +5 -4
- package/dist/src/state/event-log.js.map +1 -1
- package/dist/src/state/private-directory.d.ts +5 -0
- package/dist/src/state/private-directory.js +37 -0
- package/dist/src/state/private-directory.js.map +1 -0
- package/dist/src/state/runtime-lease.js +19 -39
- package/dist/src/state/runtime-lease.js.map +1 -1
- package/dist/src/state/runtime-record-validation.d.ts +6 -0
- package/dist/src/state/runtime-record-validation.js +44 -0
- package/dist/src/state/runtime-record-validation.js.map +1 -0
- package/dist/src/state/runtime-retirement.js +58 -18
- package/dist/src/state/runtime-retirement.js.map +1 -1
- package/dist/src/state/runtime-takeover-intent.js +2 -2
- package/dist/src/state/runtime-takeover-intent.js.map +1 -1
- package/dist/src/state/store.d.ts +1 -0
- package/dist/src/state/store.js +12 -6
- package/dist/src/state/store.js.map +1 -1
- package/dist/src/version.d.ts +1 -1
- package/dist/src/version.js +1 -1
- package/docs/architecture.md +4 -4
- package/docs/assets/README.md +3 -1
- package/docs/assets/cueline-architecture-en.svg +63 -0
- package/docs/assets/cueline-architecture-ja.svg +63 -0
- package/docs/assets/cueline-architecture-ko.svg +63 -0
- package/docs/assets/cueline-architecture-zh-CN.svg +63 -0
- package/docs/assets/cueline-architecture-zh-TW.svg +63 -0
- package/docs/assets/cueline-states-en.svg +50 -0
- package/docs/assets/cueline-states-ja.svg +48 -0
- package/docs/assets/cueline-states-ko.svg +48 -0
- package/docs/assets/cueline-states-zh-CN.svg +48 -0
- package/docs/assets/cueline-states-zh-TW.svg +48 -0
- package/docs/compatibility.md +1 -1
- package/docs/controller-protocol.md +44 -7
- package/docs/experiments/protocol-lint.md +40 -0
- package/docs/experiments/run-doctor.md +39 -0
- package/docs/experiments/run-handoff.md +39 -0
- package/docs/experiments/run-timeline.md +35 -0
- package/docs/experiments/run-watch.md +31 -0
- package/docs/multi-model-routing.md +256 -0
- package/docs/runner-contract.md +4 -3
- package/docs/state-and-recovery.md +45 -5
- package/package.json +1 -1
- package/schemas/controller-command.schema.json +89 -4
- package/skills/cueline/SKILL.md +13 -7
|
@@ -1,3 +1,6 @@
|
|
|
1
|
+
import { readdir } from "node:fs/promises";
|
|
2
|
+
import path from "node:path";
|
|
3
|
+
import { boundedControllerEventEvidence } from "./core/controller-turn.js";
|
|
1
4
|
import { CueLineError } from "./core/errors.js";
|
|
2
5
|
import { loadPersistedRunState, loadPersistedRunStore, } from "./core/persisted-run.js";
|
|
3
6
|
import { processOrGroupIsAlive } from "./core/process-liveness.js";
|
|
@@ -5,7 +8,7 @@ import { runtimeEnvironment } from "./core/runtime.js";
|
|
|
5
8
|
import { acceptedControllerCommandEvidence, summarizeCueLineRunState, } from "./core/run-status.js";
|
|
6
9
|
import { JobStatusStore } from "./jobs/status.js";
|
|
7
10
|
import { readCancellationObservation, requestJobCancellation, requestRunCancellation, } from "./state/cancellation.js";
|
|
8
|
-
import { defaultCueLineHome } from "./state/paths.js";
|
|
11
|
+
import { defaultCueLineHome, runPaths } from "./state/paths.js";
|
|
9
12
|
import { readRuntimeLease, retireDeadRuntimeLease, RuntimeLease, } from "./state/runtime-lease.js";
|
|
10
13
|
import { readAuthoritativeRunEvents } from "./state/store.js";
|
|
11
14
|
function terminalResult(state) {
|
|
@@ -43,6 +46,90 @@ export async function loadCueLineRunStatus(runId, options = {}) {
|
|
|
43
46
|
]))).flatMap(([jobId, status]) => status === undefined ? [] : [[jobId, status]]));
|
|
44
47
|
return summarizeCueLineRunState(store.state, store.lastSequence, runtime, cancellation, acceptedCommand, persistedJobStatuses);
|
|
45
48
|
}
|
|
49
|
+
function isNotFound(error) {
|
|
50
|
+
return (typeof error === "object" &&
|
|
51
|
+
error !== null &&
|
|
52
|
+
"code" in error &&
|
|
53
|
+
error.code === "ENOENT");
|
|
54
|
+
}
|
|
55
|
+
function runListErrorCode(error) {
|
|
56
|
+
return error instanceof CueLineError ? error.code : "RUN_UNREADABLE";
|
|
57
|
+
}
|
|
58
|
+
function validRunDirectory(home, name) {
|
|
59
|
+
try {
|
|
60
|
+
runPaths(home, name);
|
|
61
|
+
return true;
|
|
62
|
+
}
|
|
63
|
+
catch {
|
|
64
|
+
return false;
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
/**
|
|
68
|
+
* Returns a sanitized, read-only inventory. It intentionally omits requests,
|
|
69
|
+
* controller text, conversation URLs, job tasks, and worker output.
|
|
70
|
+
*/
|
|
71
|
+
export async function listCueLineRuns(options = {}) {
|
|
72
|
+
const environment = options.environment ?? runtimeEnvironment();
|
|
73
|
+
const home = options.home ?? defaultCueLineHome(environment);
|
|
74
|
+
let directories;
|
|
75
|
+
try {
|
|
76
|
+
directories = await readdir(path.join(home, "runs"), { withFileTypes: true });
|
|
77
|
+
}
|
|
78
|
+
catch (error) {
|
|
79
|
+
if (isNotFound(error))
|
|
80
|
+
return [];
|
|
81
|
+
throw error;
|
|
82
|
+
}
|
|
83
|
+
const entries = [];
|
|
84
|
+
for (const directory of directories) {
|
|
85
|
+
if (!directory.isDirectory() || !validRunDirectory(home, directory.name))
|
|
86
|
+
continue;
|
|
87
|
+
try {
|
|
88
|
+
const [status, events] = await Promise.all([
|
|
89
|
+
loadCueLineRunStatus(directory.name, options),
|
|
90
|
+
readAuthoritativeRunEvents(home, directory.name),
|
|
91
|
+
]);
|
|
92
|
+
const lastEvent = events.at(-1);
|
|
93
|
+
if (lastEvent === undefined) {
|
|
94
|
+
entries.push({
|
|
95
|
+
runId: directory.name,
|
|
96
|
+
readable: false,
|
|
97
|
+
errorCode: "RUN_NOT_FOUND",
|
|
98
|
+
});
|
|
99
|
+
continue;
|
|
100
|
+
}
|
|
101
|
+
entries.push({
|
|
102
|
+
runId: status.runId,
|
|
103
|
+
readable: true,
|
|
104
|
+
status: status.status,
|
|
105
|
+
executor: status.executor,
|
|
106
|
+
phase: status.phase,
|
|
107
|
+
round: status.round,
|
|
108
|
+
pendingTurns: status.controller.pendingTurns,
|
|
109
|
+
activeJobs: status.jobs.counts.pending + status.jobs.counts.running,
|
|
110
|
+
runtimeOwnership: status.runtime.ownership,
|
|
111
|
+
safeNextAction: status.safeNextAction,
|
|
112
|
+
lastEventSequence: status.lastEventSequence,
|
|
113
|
+
lastEventAt: lastEvent.timestamp,
|
|
114
|
+
});
|
|
115
|
+
}
|
|
116
|
+
catch (error) {
|
|
117
|
+
entries.push({
|
|
118
|
+
runId: directory.name,
|
|
119
|
+
readable: false,
|
|
120
|
+
errorCode: runListErrorCode(error),
|
|
121
|
+
});
|
|
122
|
+
}
|
|
123
|
+
}
|
|
124
|
+
return entries.sort((left, right) => {
|
|
125
|
+
if (left.readable !== right.readable)
|
|
126
|
+
return left.readable ? -1 : 1;
|
|
127
|
+
if (left.readable && right.readable && left.lastEventAt !== right.lastEventAt) {
|
|
128
|
+
return right.lastEventAt.localeCompare(left.lastEventAt);
|
|
129
|
+
}
|
|
130
|
+
return left.runId.localeCompare(right.runId);
|
|
131
|
+
});
|
|
132
|
+
}
|
|
46
133
|
/**
|
|
47
134
|
* Explicitly releases one exact stale owner. This is the operator-authorized
|
|
48
135
|
* path for shared Node/REPL hosts whose PID remains alive after the outer tool
|
|
@@ -200,6 +287,13 @@ export async function reconcileCueLineRuntime(runId, options = {}) {
|
|
|
200
287
|
}
|
|
201
288
|
const statusStore = new JobStatusStore(home);
|
|
202
289
|
const activeJobs = Object.values(store.state.jobs).filter((job) => job.status === "pending" || job.status === "running");
|
|
290
|
+
const persistedStatuses = new Map();
|
|
291
|
+
for (const job of activeJobs) {
|
|
292
|
+
const persisted = await statusStore.read(job.jobId);
|
|
293
|
+
if (persisted !== undefined)
|
|
294
|
+
assertPersistedJobIdentity(persisted, runId, job);
|
|
295
|
+
persistedStatuses.set(job.jobId, persisted);
|
|
296
|
+
}
|
|
203
297
|
const survivingJobs = [];
|
|
204
298
|
let affectedJobs = 0;
|
|
205
299
|
await store.append("runtime_reconciliation_started", {
|
|
@@ -207,13 +301,12 @@ export async function reconcileCueLineRuntime(runId, options = {}) {
|
|
|
207
301
|
active_job_ids: activeJobs.map((job) => job.jobId),
|
|
208
302
|
});
|
|
209
303
|
for (const job of activeJobs) {
|
|
210
|
-
const persisted =
|
|
304
|
+
const persisted = persistedStatuses.get(job.jobId);
|
|
211
305
|
if (persisted?.pid !== undefined && processOrGroupIsAlive(persisted.pid)) {
|
|
212
306
|
survivingJobs.push(job.jobId);
|
|
213
307
|
continue;
|
|
214
308
|
}
|
|
215
309
|
if (persisted !== undefined && isPersistedTerminalStatus(persisted)) {
|
|
216
|
-
assertPersistedJobIdentity(persisted, runId, job);
|
|
217
310
|
await store.append("job_status", persistedTerminalPayload(job, persisted));
|
|
218
311
|
affectedJobs += 1;
|
|
219
312
|
continue;
|
|
@@ -268,14 +361,10 @@ function assertPersistedJobIdentity(persisted, runId, job) {
|
|
|
268
361
|
}
|
|
269
362
|
}
|
|
270
363
|
function persistedTerminalPayload(job, persisted) {
|
|
271
|
-
const fullOutput = persisted.result?.output;
|
|
272
|
-
const stdout = persisted.result?.stdout;
|
|
273
|
-
const controllerOutput = persisted.status === "succeeded" && stdout?.trim() ? stdout : fullOutput;
|
|
274
364
|
return {
|
|
275
365
|
job_id: job.jobId,
|
|
276
366
|
status: persisted.status,
|
|
277
|
-
...(
|
|
278
|
-
...(persisted.error === undefined ? {} : { error: persisted.error }),
|
|
367
|
+
...boundedControllerEventEvidence(persisted),
|
|
279
368
|
};
|
|
280
369
|
}
|
|
281
370
|
async function appendPersistedTerminalIfPresent(store, statusStore, runId, job) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"api-runtime-lifecycle.js","sourceRoot":"","sources":["../../src/api-runtime-lifecycle.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAChD,OAAO,EACL,qBAAqB,EACrB,qBAAqB,GACtB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AACnE,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AACvD,OAAO,EACL,iCAAiC,EACjC,wBAAwB,GAEzB,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EAAE,cAAc,EAAkB,MAAM,kBAAkB,CAAC;AAClE,OAAO,EACL,2BAA2B,EAC3B,sBAAsB,EACtB,sBAAsB,GACvB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AACtD,OAAO,EACL,gBAAgB,EAChB,sBAAsB,EACtB,YAAY,GACb,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,0BAA0B,EAAiB,MAAM,kBAAkB,CAAC;AAE7E,SAAS,cAAc,CAAC,KAAsB;IAC5C,IACE,KAAK,CAAC,MAAM,KAAK,UAAU;QAC3B,KAAK,CAAC,MAAM,KAAK,SAAS;QAC1B,KAAK,CAAC,MAAM,KAAK,WAAW,EAC5B,CAAC;QACD,MAAM,IAAI,YAAY,CAAC,kBAAkB,EAAE,mDAAmD,CAAC,CAAC;IAClG,CAAC;IACD,OAAO;QACL,KAAK,EAAE,KAAK,CAAC,KAAK;QAClB,MAAM,EAAE,KAAK,CAAC,MAAM;QACpB,GAAG,CAAC,KAAK,CAAC,iBAAiB,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,iBAAiB,EAAE,KAAK,CAAC,iBAAiB,EAAE,CAAC;QAC3F,GAAG,CAAC,KAAK,CAAC,eAAe,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,eAAe,EAAE,KAAK,CAAC,eAAe,EAAE,CAAC;QACrF,GAAG,CAAC,KAAK,CAAC,eAAe,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,eAAe,EAAE,KAAK,CAAC,eAAe,EAAE,CAAC;QACrF,KAAK;KACN,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACvC,KAAa,EACb,OAAO,GAAwD,EAAE;IAEjE,MAAM,WAAW,GAAG,OAAO,CAAC,WAAW,IAAI,kBAAkB,EAAE,CAAC;IAChE,OAAO,qBAAqB,CAAC,OAAO,CAAC,IAAI,IAAI,kBAAkB,CAAC,WAAW,CAAC,EAAE,KAAK,CAAC,CAAC;AACvF,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,oBAAoB,CACxC,KAAa,EACb,OAAO,GAAgE,EAAE;IAEzE,MAAM,WAAW,GAAG,OAAO,CAAC,WAAW,IAAI,kBAAkB,EAAE,CAAC;IAChE,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,IAAI,kBAAkB,CAAC,WAAW,CAAC,CAAC;IAC7D,MAAM,KAAK,GAAG,MAAM,qBAAqB,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IACvD,MAAM,OAAO,GAAG,MAAM,gBAAgB,CAAC,IAAI,EAAE,KAAK,EAAE;QAClD,GAAG,CAAC,OAAO,CAAC,GAAG,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE,CAAC;KAC3D,CAAC,CAAC;IACH,MAAM,YAAY,GAAG,MAAM,2BAA2B,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IACpE,MAAM,eAAe,GAAG,iCAAiC,CACvD,MAAM,0BAA0B,CAAC,IAAI,EAAE,KAAK,CAAC,CAC9C,CAAC;IACF,MAAM,WAAW,GAAG,IAAI,cAAc,CAAC,IAAI,CAAC,CAAC;IAC7C,MAAM,oBAAoB,GAAG,IAAI,GAAG,CAClC,CAAC,MAAM,OAAO,CAAC,GAAG,CAChB,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE,CAAC;QACjD,KAAK;QACL,MAAM,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC;KACrB,CAAC,CACZ,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,EAAE,MAAM,CAAC,EAAE,EAAE,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,MAAM,CAAU,CAAC,CAAC,CACxF,CAAC;IACF,OAAO,wBAAwB,CAC7B,KAAK,CAAC,KAAK,EACX,KAAK,CAAC,YAAY,EAClB,OAAO,EACP,YAAY,EACZ,eAAe,EACf,oBAAoB,CACrB,CAAC;AACJ,CAAC;AAED;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAC1C,KAAa,EACb,OAAO,GAAgE,EAAE;IAEzE,MAAM,WAAW,GAAG,OAAO,CAAC,WAAW,IAAI,kBAAkB,EAAE,CAAC;IAChE,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,IAAI,kBAAkB,CAAC,WAAW,CAAC,CAAC;IAC7D,MAAM,KAAK,GAAG,MAAM,qBAAqB,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IACvD,IAAI,aAAa,CAAC,KAAK,CAAC,EAAE,CAAC;QACzB,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,kBAAkB,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;IAC9D,CAAC;IACD,MAAM,OAAO,GAAG,MAAM,gBAAgB,CAAC,IAAI,EAAE,KAAK,EAAE;QAClD,GAAG,CAAC,OAAO,CAAC,GAAG,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE,CAAC;KAC3D,CAAC,CAAC;IACH,IAAI,OAAO,CAAC,SAAS,KAAK,SAAS,IAAI,OAAO,CAAC,SAAS,KAAK,UAAU,EAAE,CAAC;QACxE,OAAO;YACL,KAAK;YACL,OAAO,EAAE,mBAAmB;YAC5B,IAAI,EAAE,KAAK,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,UAAU;SACtE,CAAC;IACJ,CAAC;IACD,IAAI,OAAO,CAAC,SAAS,KAAK,SAAS,EAAE,CAAC;QACpC,MAAM,IAAI,YAAY,CACpB,uBAAuB,EACvB,QAAQ,KAAK,iEAAiE,CAC/E,CAAC;IACJ,CAAC;IACD,IAAI,OAAO,CAAC,SAAS,KAAK,QAAQ,EAAE,CAAC;QACnC,MAAM,IAAI,YAAY,CACpB,iCAAiC,EACjC,QAAQ,KAAK,2DAA2D,CACzE,CAAC;IACJ,CAAC;IACD,IAAI,OAAO,CAAC,OAAO,KAAK,SAAS,IAAI,OAAO,CAAC,WAAW,KAAK,SAAS,EAAE,CAAC;QACvE,MAAM,IAAI,YAAY,CACpB,mCAAmC,EACnC,QAAQ,KAAK,uEAAuE,CACrF,CAAC;IACJ,CAAC;IACD,MAAM,aAAa,GAAG,MAAM,qBAAqB,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IAC/D,IAAI,KAAmB,CAAC;IACxB,IAAI,CAAC;QACH,KAAK,GAAG,MAAM,YAAY,CAAC,aAAa,CAAC;YACvC,IAAI;YACJ,KAAK;YACL,eAAe,EAAE,OAAO,CAAC,OAAO;YAChC,mBAAmB,EAAE,OAAO,CAAC,WAAW;YACxC,GAAG,CAAC,OAAO,CAAC,GAAG,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE,CAAC;SAC3D,CAAC,CAAC;IACL,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IACE,KAAK,YAAY,YAAY;YAC7B,CAAC,KAAK,CAAC,IAAI,KAAK,uBAAuB;gBACrC,KAAK,CAAC,IAAI,KAAK,yBAAyB,CAAC,EAC3C,CAAC;YACD,MAAM,IAAI,YAAY,CACpB,uBAAuB,EACvB,QAAQ,KAAK,2GAA2G,EACxH,EAAE,KAAK,EAAE,KAAK,EAAE,CACjB,CAAC;QACJ,CAAC;QACD,MAAM,KAAK,CAAC;IACd,CAAC;IACD,IAAI,CAAC;QACH,aAAa,CAAC,gBAAgB,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QAC9C,MAAM,aAAa,CAAC,MAAM,CAAC,wCAAwC,EAAE;YACnE,iBAAiB,EAAE,OAAO,CAAC,OAAO;YAClC,qBAAqB,EAAE,OAAO,CAAC,WAAW;YAC1C,eAAe,EAAE,OAAO,CAAC,KAAK,IAAI,IAAI;YACtC,qBAAqB,EAAE,IAAI;YAC3B,mCAAmC,EAAE,IAAI;SAC1C,CAAC,CAAC;QACH,MAAM,aAAa,CAAC,MAAM,CAAC,wCAAwC,EAAE;YACnE,iBAAiB,EAAE,OAAO,CAAC,OAAO;YAClC,qBAAqB,EAAE,OAAO,CAAC,WAAW;YAC1C,eAAe,EAAE,OAAO,CAAC,KAAK,IAAI,IAAI;YACtC,qBAAqB,EAAE,IAAI;SAC5B,CAAC,CAAC;QACH,MAAM,aAAa,CAAC,QAAQ,EAAE,CAAC;QAC/B,OAAO;YACL,KAAK;YACL,OAAO,EAAE,YAAY;YACrB,IAAI,EACF,aAAa,CAAC,KAAK,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,UAAU;YAC/E,eAAe,EAAE,OAAO,CAAC,OAAO;SACjC,CAAC;IACJ,CAAC;YAAS,CAAC;QACT,MAAM,KAAK,CAAC,OAAO,EAAE,CAAC;IACxB,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,uBAAuB,CAC3C,KAAa,EACb,OAAO,GAAgE,EAAE;IAEzE,MAAM,WAAW,GAAG,OAAO,CAAC,WAAW,IAAI,kBAAkB,EAAE,CAAC;IAChE,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,IAAI,kBAAkB,CAAC,WAAW,CAAC,CAAC;IAC7D,MAAM,YAAY,GAAG,MAAM,qBAAqB,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IAC9D,IAAI,aAAa,CAAC,YAAY,CAAC,KAAK,CAAC,EAAE,CAAC;QACtC,OAAO;YACL,KAAK;YACL,OAAO,EAAE,kBAAkB;YAC3B,YAAY,EAAE,CAAC;YACf,aAAa,EAAE,EAAE;SAClB,CAAC;IACJ,CAAC;IACD,IAAI,YAAY,CAAC,KAAK,CAAC,QAAQ,KAAK,QAAQ,EAAE,CAAC;QAC7C,MAAM,IAAI,YAAY,CACpB,2BAA2B,EAC3B,QAAQ,KAAK,kEAAkE,CAChF,CAAC;IACJ,CAAC;IACD,IAAI,OAAO,GAAG,MAAM,gBAAgB,CAAC,IAAI,EAAE,KAAK,EAAE;QAChD,GAAG,CAAC,OAAO,CAAC,GAAG,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE,CAAC;KAC3D,CAAC,CAAC;IACH,IAAI,OAAO,CAAC,SAAS,KAAK,SAAS,EAAE,CAAC;QACpC,MAAM,IAAI,YAAY,CACpB,uBAAuB,EACvB,QAAQ,KAAK,8CAA8C,CAC5D,CAAC;IACJ,CAAC;IACD,IAAI,OAAO,CAAC,SAAS,KAAK,QAAQ,IAAI,OAAO,CAAC,SAAS,KAAK,OAAO,EAAE,CAAC;QACpE,IACE,OAAO,CAAC,OAAO,KAAK,SAAS;YAC7B,CAAC,CAAC,MAAM,sBAAsB,CAAC,IAAI,EAAE,KAAK,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC,EAC7D,CAAC;YACD,OAAO;gBACL,KAAK;gBACL,OAAO,EAAE,aAAa;gBACtB,YAAY,EAAE,CAAC;gBACf,aAAa,EAAE,EAAE;aAClB,CAAC;QACJ,CAAC;QACD,OAAO,GAAG,MAAM,gBAAgB,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IAChD,CAAC;IACD,IAAI,OAAO,CAAC,SAAS,KAAK,SAAS,IAAI,OAAO,CAAC,SAAS,KAAK,UAAU,EAAE,CAAC;QACxE,OAAO;YACL,KAAK;YACL,OAAO,EAAE,aAAa;YACtB,YAAY,EAAE,CAAC;YACf,aAAa,EAAE,EAAE;SAClB,CAAC;IACJ,CAAC;IACD,MAAM,iBAAiB,GAAG,OAAO,CAAC,SAAS,CAAC;IAC5C,IAAI,KAAmB,CAAC;IACxB,IAAI,CAAC;QACH,KAAK,GAAG,MAAM,YAAY,CAAC,KAAK,CAAC;YAC/B,IAAI;YACJ,KAAK;YACL,GAAG,CAAC,OAAO,CAAC,GAAG,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE,CAAC;SAC3D,CAAC,CAAC;IACL,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IACE,KAAK,YAAY,YAAY;YAC7B,CAAC,KAAK,CAAC,IAAI,KAAK,oBAAoB;gBAClC,KAAK,CAAC,IAAI,KAAK,uBAAuB;gBACtC,KAAK,CAAC,IAAI,KAAK,6BAA6B,CAAC,EAC/C,CAAC;YACD,OAAO;gBACL,KAAK;gBACL,OAAO,EAAE,aAAa;gBACtB,YAAY,EAAE,CAAC;gBACf,aAAa,EAAE,EAAE;aAClB,CAAC;QACJ,CAAC;QACD,MAAM,KAAK,CAAC;IACd,CAAC;IACD,IAAI,CAAC;QACH,MAAM,KAAK,GAAG,MAAM,qBAAqB,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QACvD,KAAK,CAAC,gBAAgB,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QACtC,IAAI,aAAa,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC;YAC/B,OAAO;gBACL,KAAK;gBACL,OAAO,EAAE,kBAAkB;gBAC3B,YAAY,EAAE,CAAC;gBACf,aAAa,EAAE,EAAE;aAClB,CAAC;QACJ,CAAC;QACD,IAAI,KAAK,CAAC,KAAK,CAAC,QAAQ,KAAK,QAAQ,EAAE,CAAC;YACtC,MAAM,IAAI,YAAY,CACpB,2BAA2B,EAC3B,QAAQ,KAAK,kEAAkE,CAChF,CAAC;QACJ,CAAC;QAED,MAAM,WAAW,GAAG,IAAI,cAAc,CAAC,IAAI,CAAC,CAAC;QAC7C,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,CACvD,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,MAAM,KAAK,SAAS,IAAI,GAAG,CAAC,MAAM,KAAK,SAAS,CAC9D,CAAC;QACF,MAAM,aAAa,GAAa,EAAE,CAAC;QACnC,IAAI,YAAY,GAAG,CAAC,CAAC;QACrB,MAAM,KAAK,CAAC,MAAM,CAAC,gCAAgC,EAAE;YACnD,kBAAkB,EAAE,iBAAiB;YACrC,cAAc,EAAE,UAAU,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC;SACnD,CAAC,CAAC;QACH,KAAK,MAAM,GAAG,IAAI,UAAU,EAAE,CAAC;YAC7B,MAAM,SAAS,GAAG,MAAM,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;YACpD,IAAI,SAAS,EAAE,GAAG,KAAK,SAAS,IAAI,qBAAqB,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC;gBACzE,aAAa,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;gBAC9B,SAAS;YACX,CAAC;YACD,IAAI,SAAS,KAAK,SAAS,IAAI,yBAAyB,CAAC,SAAS,CAAC,EAAE,CAAC;gBACpE,0BAA0B,CAAC,SAAS,EAAE,KAAK,EAAE,GAAG,CAAC,CAAC;gBAClD,MAAM,KAAK,CAAC,MAAM,CAAC,YAAY,EAAE,wBAAwB,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC,CAAC;gBAC3E,YAAY,IAAI,CAAC,CAAC;gBAClB,SAAS;YACX,CAAC;YACD,MAAM,MAAM,GAAG,GAAG,CAAC,IAAI,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,QAAQ,CAAC;YACjE,MAAM,KAAK,CAAC,MAAM,CAAC,YAAY,EAAE;gBAC/B,MAAM,EAAE,GAAG,CAAC,KAAK;gBACjB,MAAM;gBACN,KAAK,EACH,GAAG,CAAC,IAAI,CAAC,IAAI,KAAK,MAAM;oBACtB,CAAC,CAAC,uFAAuF;oBACzF,CAAC,CAAC,oGAAoG;aAC3G,CAAC,CAAC;YACH,YAAY,IAAI,CAAC,CAAC;QACpB,CAAC;QACD,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC7B,MAAM,KAAK,CAAC,MAAM,CAAC,QAAQ,EAAE;gBAC3B,OAAO,EAAE,gCAAgC,aAAa,CAAC,MAAM,qEAAqE;aACnI,CAAC,CAAC;YACH,MAAM,KAAK,CAAC,QAAQ,EAAE,CAAC;YACvB,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,iBAAiB,EAAE,YAAY,EAAE,aAAa,EAAE,CAAC;QAC5E,CAAC;QACD,MAAM,KAAK,CAAC,MAAM,CAAC,+BAA+B,EAAE;YAClD,aAAa,EAAE,YAAY;SAC5B,CAAC,CAAC;QACH,IAAI,KAAK,CAAC,KAAK,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;YACrC,MAAM,KAAK,CAAC,MAAM,CAAC,YAAY,EAAE;gBAC/B,IAAI,EAAE,oBAAoB;gBAC1B,OAAO,EACL,sGAAsG;gBACxG,KAAK,EAAE,wBAAwB;aAChC,CAAC,CAAC;QACL,CAAC;QACD,MAAM,KAAK,CAAC,QAAQ,EAAE,CAAC;QACvB,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,aAAa,EAAE,EAAE,EAAE,CAAC;IAC3E,CAAC;YAAS,CAAC;QACT,MAAM,KAAK,CAAC,OAAO,EAAE,CAAC;IACxB,CAAC;AACH,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,KAAsB;IAClD,OAAO,CACL,KAAK,CAAC,MAAM,KAAK,UAAU,IAAI,KAAK,CAAC,MAAM,KAAK,SAAS,IAAI,KAAK,CAAC,MAAM,KAAK,WAAW,CAC1F,CAAC;AACJ,CAAC;AAED,SAAS,yBAAyB,CAAC,MAAiB;IAClD,OAAO,MAAM,CAAC,MAAM,KAAK,SAAS,IAAI,MAAM,CAAC,MAAM,KAAK,SAAS,CAAC;AACpE,CAAC;AAED,SAAS,0BAA0B,CACjC,SAAoB,EACpB,KAAa,EACb,GAAc;IAEd,MAAM,QAAQ,GACZ,CAAC,SAAS,CAAC,KAAK,KAAK,SAAS,IAAI,SAAS,CAAC,KAAK,KAAK,KAAK,CAAC;QAC5D,CAAC,SAAS,CAAC,MAAM,KAAK,SAAS,IAAI,SAAS,CAAC,MAAM,KAAK,GAAG,CAAC,MAAM,CAAC;QACnE,CAAC,SAAS,CAAC,IAAI,KAAK,SAAS,IAAI,SAAS,CAAC,IAAI,KAAK,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC;QAClE,CAAC,SAAS,CAAC,IAAI,KAAK,SAAS,IAAI,SAAS,CAAC,IAAI,KAAK,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACrE,IAAI,QAAQ,EAAE,CAAC;QACb,MAAM,IAAI,YAAY,CACpB,8BAA8B,EAC9B,6BAA6B,GAAG,CAAC,KAAK,yBAAyB,KAAK,IAAI,CACzE,CAAC;IACJ,CAAC;AACH,CAAC;AAED,SAAS,wBAAwB,CAC/B,GAAc,EACd,SAAoB;IAEpB,MAAM,UAAU,GAAG,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC;IAC5C,MAAM,MAAM,GAAG,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC;IACxC,MAAM,gBAAgB,GACpB,SAAS,CAAC,MAAM,KAAK,WAAW,IAAI,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,UAAU,CAAC;IAC3E,OAAO;QACL,MAAM,EAAE,GAAG,CAAC,KAAK;QACjB,MAAM,EAAE,SAAS,CAAC,MAAM;QACxB,GAAG,CAAC,gBAAgB,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,gBAAgB,EAAE,CAAC;QACvE,GAAG,CAAC,SAAS,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,SAAS,CAAC,KAAK,EAAE,CAAC;KACrE,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,gCAAgC,CAC7C,KAAgC,EAChC,WAA2B,EAC3B,KAAa,EACb,GAAc;IAEd,MAAM,SAAS,GAAG,MAAM,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IACpD,IAAI,SAAS,KAAK,SAAS,IAAI,CAAC,yBAAyB,CAAC,SAAS,CAAC;QAAE,OAAO,SAAS,CAAC;IACvF,0BAA0B,CAAC,SAAS,EAAE,KAAK,EAAE,GAAG,CAAC,CAAC;IAClD,MAAM,KAAK,CAAC,MAAM,CAAC,YAAY,EAAE,wBAAwB,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC,CAAC;IAC3E,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,KAAK,UAAU,2BAA2B,CACxC,IAAY,EACZ,KAAa,EACb,GAAc,EACd,MAAiC,EACjC,KAAa,EACb,GAAe;IAEf,MAAM,WAAW,GAAG,IAAI,cAAc,CAAC,IAAI,CAAC,CAAC;IAC7C,MAAM,QAAQ,GAAG,MAAM,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IACnD,IAAI,QAAQ,KAAK,SAAS,IAAI,yBAAyB,CAAC,QAAQ,CAAC,EAAE,CAAC;QAClE,0BAA0B,CAAC,QAAQ,EAAE,KAAK,EAAE,GAAG,CAAC,CAAC;QACjD,MAAM,IAAI,YAAY,CACpB,8BAA8B,EAC9B,QAAQ,GAAG,CAAC,KAAK,sEAAsE,CACxF,CAAC;IACJ,CAAC;IACD,MAAM,SAAS,GAAG,GAAG,EAAE,CAAC,WAAW,EAAE,CAAC;IACtC,MAAM,WAAW,CAAC,KAAK,CAAC;QACtB,KAAK,EAAE,GAAG,CAAC,KAAK;QAChB,KAAK;QACL,MAAM,EAAE,GAAG,CAAC,MAAM;QAClB,IAAI,EAAE,GAAG,CAAC,IAAI,CAAC,IAAI;QACnB,IAAI,EAAE,GAAG,CAAC,IAAI,CAAC,IAAI;QACnB,SAAS,EAAE,QAAQ,EAAE,SAAS,IAAI,YAAY;QAC9C,MAAM;QACN,SAAS,EAAE,QAAQ,EAAE,SAAS,IAAI,SAAS;QAC3C,UAAU,EAAE,SAAS;QACrB,GAAG,CAAC,QAAQ,EAAE,GAAG,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,QAAQ,CAAC,GAAG,EAAE,CAAC;QAC7D,KAAK;KACN,CAAC,CAAC;AACL,CAAC;AAED,KAAK,UAAU,wBAAwB,CACrC,IAAY,EACZ,IAAyB;IAEzB,MAAM,WAAW,GAAG,IAAI,cAAc,CAAC,IAAI,CAAC,CAAC;IAC7C,MAAM,IAAI,GAAa,EAAE,CAAC;IAC1B,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;QACvB,MAAM,SAAS,GAAG,MAAM,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QACpD,IAAI,SAAS,EAAE,GAAG,KAAK,SAAS,IAAI,qBAAqB,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC;YACzE,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QACvB,CAAC;IACH,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,yBAAyB,CAChC,GAAc;IAEd,IAAI,GAAG,CAAC,MAAM,KAAK,WAAW,EAAE,CAAC;QAC/B,OAAO;YACL,MAAM,EAAE,WAAW;YACnB,KAAK,EACH,GAAG,CAAC,KAAK;gBACT,mEAAmE;SACtE,CAAC;IACJ,CAAC;IACD,IAAI,GAAG,CAAC,MAAM,KAAK,WAAW,EAAE,CAAC;QAC/B,OAAO;YACL,MAAM,EAAE,WAAW;YACnB,KAAK,EACH,GAAG,CAAC,KAAK;gBACT,gFAAgF;SACnF,CAAC;IACJ,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,KAAK,UAAU,6BAA6B,CAC1C,IAAY,EACZ,KAAa,EACb,GAAc,EACd,GAAe;IAEf,MAAM,QAAQ,GAAG,yBAAyB,CAAC,GAAG,CAAC,CAAC;IAChD,IAAI,QAAQ,KAAK,SAAS;QAAE,OAAO;IACnC,MAAM,SAAS,GAAG,MAAM,IAAI,cAAc,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IACjE,IAAI,SAAS,EAAE,MAAM,KAAK,QAAQ,CAAC,MAAM;QAAE,OAAO;IAClD,IACE,SAAS,KAAK,SAAS;QACvB,SAAS,CAAC,MAAM,KAAK,SAAS;QAC9B,SAAS,CAAC,MAAM,KAAK,SAAS,EAC9B,CAAC;QACD,OAAO;IACT,CAAC;IACD,MAAM,2BAA2B,CAC/B,IAAI,EACJ,KAAK,EACL,GAAG,EACH,QAAQ,CAAC,MAAM,EACf,QAAQ,CAAC,KAAK,EACd,GAAG,CACJ,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,+BAA+B,CAC5C,IAAY,EACZ,KAAa,EACb,IAAyB,EACzB,GAAe;IAEf,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;QACvB,MAAM,6BAA6B,CAAC,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;IAC7D,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,gBAAgB,CACpC,KAAa,EACb,OAAO,GAEH,EAAE;IAEN,MAAM,WAAW,GAAG,OAAO,CAAC,WAAW,IAAI,kBAAkB,EAAE,CAAC;IAChE,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,IAAI,kBAAkB,CAAC,WAAW,CAAC,CAAC;IAC7D,IAAI,KAAK,GAAG,MAAM,qBAAqB,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IACrD,IAAI,aAAa,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC;QAC/B,MAAM,+BAA+B,CACnC,IAAI,EACJ,KAAK,EACL,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,EAC/B,OAAO,CAAC,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,IAAI,EAAE,CAAC,CAClC,CAAC;QACF,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,kBAAkB,EAAE,YAAY,EAAE,CAAC,EAAE,CAAC;IACjE,CAAC;IACD,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,IAAI,iCAAiC,CAAC;IACnE,MAAM,sBAAsB,CAAC,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC;IAC/D,IAAI,OAAO,GAAG,MAAM,gBAAgB,CAAC,IAAI,EAAE,KAAK,EAAE;QAChD,GAAG,CAAC,OAAO,CAAC,GAAG,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE,CAAC;KAC3D,CAAC,CAAC;IACH,MAAM,YAAY,GAChB,CAAC,OAAO,CAAC,SAAS,KAAK,QAAQ,IAAI,OAAO,CAAC,SAAS,KAAK,OAAO,CAAC;QACjE,OAAO,CAAC,OAAO,KAAK,SAAS;QAC7B,CAAC,MAAM,sBAAsB,CAAC,IAAI,EAAE,KAAK,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;QAC1D,CAAC,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,SAAS,EAAE,OAAO,CAAC,SAAS,EAAE;QAC5D,CAAC,CAAC,SAAS,CAAC;IAChB,IAAI,YAAY,KAAK,SAAS,EAAE,CAAC;QAC/B,OAAO,GAAG,MAAM,gBAAgB,CAAC,IAAI,EAAE,KAAK,EAAE;YAC5C,GAAG,CAAC,OAAO,CAAC,GAAG,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE,CAAC;SAC3D,CAAC,CAAC;IACL,CAAC;IACD,IAAI,OAAO,CAAC,SAAS,KAAK,QAAQ,IAAI,OAAO,CAAC,SAAS,KAAK,OAAO,EAAE,CAAC;QACpE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,CAAC,EAAE,CAAC;IAC1D,CAAC;IACD,IAAI,OAAO,CAAC,SAAS,KAAK,SAAS,EAAE,CAAC;QACpC,MAAM,IAAI,YAAY,CACpB,uBAAuB,EACvB,QAAQ,KAAK,sGAAsG,CACpH,CAAC;IACJ,CAAC;IACD,IAAI,KAAmB,CAAC;IACxB,IAAI,CAAC;QACH,KAAK,GAAG,MAAM,YAAY,CAAC,KAAK,CAAC;YAC/B,IAAI;YACJ,KAAK;YACL,GAAG,CAAC,OAAO,CAAC,GAAG,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE,CAAC;SAC3D,CAAC,CAAC;IACL,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IACE,KAAK,YAAY,YAAY;YAC7B,CAAC,KAAK,CAAC,IAAI,KAAK,oBAAoB,IAAI,KAAK,CAAC,IAAI,KAAK,uBAAuB,CAAC,EAC/E,CAAC;YACD,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,CAAC,EAAE,CAAC;QAC1D,CAAC;QACD,MAAM,KAAK,CAAC;IACd,CAAC;IACD,IAAI,CAAC;QACH,KAAK,GAAG,MAAM,qBAAqB,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QACjD,KAAK,CAAC,gBAAgB,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QACtC,IAAI,YAAY,KAAK,SAAS,EAAE,CAAC;YAC/B,MAAM,KAAK,CAAC,MAAM,CAAC,4BAA4B,EAAE;gBAC/C,QAAQ,EAAE,YAAY,CAAC,OAAO;gBAC9B,kBAAkB,EAAE,YAAY,CAAC,SAAS;aAC3C,CAAC,CAAC;QACL,CAAC;QACD,IAAI,aAAa,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC;YAC/B,MAAM,+BAA+B,CACnC,IAAI,EACJ,KAAK,EACL,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,EAC/B,OAAO,CAAC,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,IAAI,EAAE,CAAC,CAClC,CAAC;YACF,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,kBAAkB,EAAE,YAAY,EAAE,CAAC,EAAE,CAAC;QACjE,CAAC;QACD,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,CACnD,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,MAAM,KAAK,SAAS,IAAI,GAAG,CAAC,MAAM,KAAK,SAAS,CAC9D,CAAC;QACF,IAAI,KAAK,CAAC,KAAK,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;YACvC,MAAM,aAAa,GAAG,MAAM,wBAAwB,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;YACnE,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC7B,MAAM,KAAK,CAAC,MAAM,CAAC,QAAQ,EAAE;oBAC3B,OAAO,EACL,sFAAsF;oBACxF,iBAAiB,EAAE,aAAa;iBACjC,CAAC,CAAC;gBACH,MAAM,KAAK,CAAC,QAAQ,EAAE,CAAC;gBACvB,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,CAAC,EAAE,CAAC;YAC1D,CAAC;QACH,CAAC;QACD,MAAM,eAAe,GAAG,OAAO,CAAC,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC;QAC1D,MAAM,uBAAuB,GAAG,IAAI,cAAc,CAAC,IAAI,CAAC,CAAC;QACzD,KAAK,MAAM,GAAG,IAAI,MAAM,EAAE,CAAC;YACzB,IACE,CAAC,MAAM,gCAAgC,CACrC,KAAK,EACL,uBAAuB,EACvB,KAAK,EACL,GAAG,CACJ,CAAC,KAAK,SAAS,EAChB,CAAC;gBACD,SAAS;YACX,CAAC;YACD,MAAM,aAAa,GAAG,KAAK,CAAC,KAAK,CAAC,QAAQ,KAAK,QAAQ,IAAI,GAAG,CAAC,MAAM,KAAK,SAAS,CAAC;YACpF,MAAM,cAAc,GAAG,aAAa,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,WAAW,CAAC;YACjE,MAAM,aAAa,GAAG,aAAa;gBACjC,CAAC,CAAC,mEAAmE;gBACrE,CAAC,CAAC,gFAAgF,CAAC;YACrF,MAAM,2BAA2B,CAC/B,IAAI,EACJ,KAAK,EACL,GAAG,EACH,cAAc,EACd,aAAa,EACb,eAAe,CAChB,CAAC;YACF,MAAM,KAAK,CAAC,MAAM,CAAC,YAAY,EAAE;gBAC/B,MAAM,EAAE,GAAG,CAAC,KAAK;gBACjB,MAAM,EAAE,cAAc;gBACtB,KAAK,EAAE,aAAa;aACrB,CAAC,CAAC;QACL,CAAC;QACD,MAAM,KAAK,CAAC,MAAM,CAAC,eAAe,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC;QAChD,MAAM,KAAK,CAAC,QAAQ,EAAE,CAAC;QACvB,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC;IACtE,CAAC;YAAS,CAAC;QACT,MAAM,KAAK,CAAC,OAAO,EAAE,CAAC;IACxB,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,gBAAgB,CACpC,KAAa,EACb,KAAa,EACb,OAAO,GAEH,EAAE;IAEN,MAAM,WAAW,GAAG,OAAO,CAAC,WAAW,IAAI,kBAAkB,EAAE,CAAC;IAChE,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,IAAI,kBAAkB,CAAC,WAAW,CAAC,CAAC;IAC7D,IAAI,KAAK,GAAG,MAAM,qBAAqB,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IACrD,IAAI,GAAG,GAAG,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAClC,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;QACtB,MAAM,IAAI,YAAY,CAAC,eAAe,EAAE,WAAW,KAAK,oBAAoB,KAAK,IAAI,CAAC,CAAC;IACzF,CAAC;IACD,IACE,aAAa,CAAC,KAAK,CAAC,KAAK,CAAC;QAC1B,CAAC,GAAG,CAAC,MAAM,KAAK,SAAS,IAAI,GAAG,CAAC,MAAM,KAAK,SAAS,CAAC,EACtD,CAAC;QACD,MAAM,6BAA6B,CACjC,IAAI,EACJ,KAAK,EACL,GAAG,EACH,OAAO,CAAC,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,IAAI,EAAE,CAAC,CAClC,CAAC;QACF,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,kBAAkB,EAAE,CAAC;IACvD,CAAC;IACD,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,IAAI,qCAAqC,CAAC;IACvE,MAAM,sBAAsB,CAAC,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC;IACtE,IAAI,OAAO,GAAG,MAAM,gBAAgB,CAAC,IAAI,EAAE,KAAK,EAAE;QAChD,GAAG,CAAC,OAAO,CAAC,GAAG,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE,CAAC;KAC3D,CAAC,CAAC;IACH,MAAM,YAAY,GAChB,CAAC,OAAO,CAAC,SAAS,KAAK,QAAQ,IAAI,OAAO,CAAC,SAAS,KAAK,OAAO,CAAC;QACjE,OAAO,CAAC,OAAO,KAAK,SAAS;QAC7B,CAAC,MAAM,sBAAsB,CAAC,IAAI,EAAE,KAAK,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;QAC1D,CAAC,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,SAAS,EAAE,OAAO,CAAC,SAAS,EAAE;QAC5D,CAAC,CAAC,SAAS,CAAC;IAChB,IAAI,YAAY,KAAK,SAAS,EAAE,CAAC;QAC/B,OAAO,GAAG,MAAM,gBAAgB,CAAC,IAAI,EAAE,KAAK,EAAE;YAC5C,GAAG,CAAC,OAAO,CAAC,GAAG,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE,CAAC;SAC3D,CAAC,CAAC;IACL,CAAC;IACD,IAAI,OAAO,CAAC,SAAS,KAAK,QAAQ,IAAI,OAAO,CAAC,SAAS,KAAK,OAAO,EAAE,CAAC;QACpE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,WAAW,EAAE,CAAC;IAChD,CAAC;IACD,IAAI,OAAO,CAAC,SAAS,KAAK,SAAS,EAAE,CAAC;QACpC,MAAM,IAAI,YAAY,CACpB,uBAAuB,EACvB,QAAQ,KAAK,0GAA0G,CACxH,CAAC;IACJ,CAAC;IACD,IAAI,KAAmB,CAAC;IACxB,IAAI,CAAC;QACH,KAAK,GAAG,MAAM,YAAY,CAAC,KAAK,CAAC;YAC/B,IAAI;YACJ,KAAK;YACL,GAAG,CAAC,OAAO,CAAC,GAAG,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE,CAAC;SAC3D,CAAC,CAAC;IACL,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IACE,KAAK,YAAY,YAAY;YAC7B,CAAC,KAAK,CAAC,IAAI,KAAK,oBAAoB,IAAI,KAAK,CAAC,IAAI,KAAK,uBAAuB,CAAC,EAC/E,CAAC;YACD,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,WAAW,EAAE,CAAC;QAChD,CAAC;QACD,MAAM,KAAK,CAAC;IACd,CAAC;IACD,IAAI,CAAC;QACH,KAAK,GAAG,MAAM,qBAAqB,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QACjD,KAAK,CAAC,gBAAgB,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QACtC,IAAI,YAAY,KAAK,SAAS,EAAE,CAAC;YAC/B,MAAM,KAAK,CAAC,MAAM,CAAC,4BAA4B,EAAE;gBAC/C,QAAQ,EAAE,YAAY,CAAC,OAAO;gBAC9B,kBAAkB,EAAE,YAAY,CAAC,SAAS;aAC3C,CAAC,CAAC;QACL,CAAC;QACD,GAAG,GAAG,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC9B,IAAI,CAAC,GAAG,EAAE,CAAC;YACT,MAAM,IAAI,YAAY,CAAC,eAAe,EAAE,WAAW,KAAK,oBAAoB,KAAK,IAAI,CAAC,CAAC;QACzF,CAAC;QACD,IAAI,GAAG,CAAC,MAAM,KAAK,SAAS,IAAI,GAAG,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;YACzD,MAAM,6BAA6B,CACjC,IAAI,EACJ,KAAK,EACL,GAAG,EACH,OAAO,CAAC,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,IAAI,EAAE,CAAC,CAClC,CAAC;YACF,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,kBAAkB,EAAE,CAAC;QACvD,CAAC;QACD,IAAI,KAAK,CAAC,KAAK,CAAC,QAAQ,KAAK,QAAQ,IAAI,GAAG,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;YAClE,IACE,CAAC,MAAM,gCAAgC,CACrC,KAAK,EACL,IAAI,cAAc,CAAC,IAAI,CAAC,EACxB,KAAK,EACL,GAAG,CACJ,CAAC,KAAK,SAAS,EAChB,CAAC;gBACD,MAAM,KAAK,CAAC,QAAQ,EAAE,CAAC;gBACvB,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,kBAAkB,EAAE,CAAC;YACvD,CAAC;YACD,MAAM,KAAK,GAAG,mEAAmE,CAAC;YAClF,MAAM,2BAA2B,CAC/B,IAAI,EACJ,KAAK,EACL,GAAG,EACH,WAAW,EACX,KAAK,EACL,OAAO,CAAC,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,IAAI,EAAE,CAAC,CAClC,CAAC;YACF,MAAM,KAAK,CAAC,MAAM,CAAC,YAAY,EAAE;gBAC/B,MAAM,EAAE,KAAK;gBACb,MAAM,EAAE,WAAW;gBACnB,KAAK;aACN,CAAC,CAAC;YACH,MAAM,KAAK,CAAC,QAAQ,EAAE,CAAC;YACvB,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,WAAW,EAAE,CAAC;QAChD,CAAC;QACD,MAAM,aAAa,GAAG,MAAM,wBAAwB,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;QAClE,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC7B,MAAM,KAAK,CAAC,MAAM,CAAC,QAAQ,EAAE;gBAC3B,OAAO,EAAE,kEAAkE,KAAK,kBAAkB;gBAClG,iBAAiB,EAAE,aAAa;aACjC,CAAC,CAAC;YACH,MAAM,KAAK,CAAC,QAAQ,EAAE,CAAC;YACvB,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,WAAW,EAAE,CAAC;QAChD,CAAC;QACD,IACE,CAAC,MAAM,gCAAgC,CACrC,KAAK,EACL,IAAI,cAAc,CAAC,IAAI,CAAC,EACxB,KAAK,EACL,GAAG,CACJ,CAAC,KAAK,SAAS,EAChB,CAAC;YACD,MAAM,KAAK,CAAC,QAAQ,EAAE,CAAC;YACvB,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,kBAAkB,EAAE,CAAC;QACvD,CAAC;QACD,MAAM,cAAc,GAClB,gFAAgF,CAAC;QACnF,MAAM,2BAA2B,CAC/B,IAAI,EACJ,KAAK,EACL,GAAG,EACH,WAAW,EACX,cAAc,EACd,OAAO,CAAC,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,IAAI,EAAE,CAAC,CAClC,CAAC;QACF,MAAM,KAAK,CAAC,MAAM,CAAC,YAAY,EAAE;YAC/B,MAAM,EAAE,KAAK;YACb,MAAM,EAAE,WAAW;YACnB,KAAK,EAAE,cAAc;SACtB,CAAC,CAAC;QACH,IAAI,KAAK,CAAC,KAAK,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;YACrC,MAAM,KAAK,CAAC,MAAM,CAAC,YAAY,EAAE;gBAC/B,IAAI,EAAE,sCAAsC;gBAC5C,OAAO,EAAE,QAAQ,KAAK,2EAA2E;gBACjG,KAAK,EAAE,kBAAkB;aAC1B,CAAC,CAAC;QACL,CAAC;QACD,MAAM,KAAK,CAAC,QAAQ,EAAE,CAAC;QACvB,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,WAAW,EAAE,CAAC;IAChD,CAAC;YAAS,CAAC;QACT,MAAM,KAAK,CAAC,OAAO,EAAE,CAAC;IACxB,CAAC;AACH,CAAC;AAED,OAAO,EAAE,cAAc,EAAE,CAAC"}
|
|
1
|
+
{"version":3,"file":"api-runtime-lifecycle.js","sourceRoot":"","sources":["../../src/api-runtime-lifecycle.ts"],"names":[],"mappings":"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"}
|
package/dist/src/api.d.ts
CHANGED
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
import type { ContinueCueLineRunOptions, StartCueLineRunOptions } from "./api-contracts.js";
|
|
2
|
+
import { verifyCueLineRun } from "./api-run-verification.js";
|
|
2
3
|
import { claimCueLineCallerJob, heartbeatCueLineCallerJob, releaseCueLineCallerJob, startCueLineCallerJob } from "./api-caller-work.js";
|
|
3
4
|
import type { BrowserAdapter } from "./browser/browser-adapter.js";
|
|
4
5
|
import { createCodexIabAdapter } from "./browser/codex-iab/chatgpt-client.js";
|
|
6
|
+
import { probeCodexIab } from "./browser/codex-iab/probe.js";
|
|
5
7
|
import { type CueLineResult } from "./core/controller-loop.js";
|
|
6
8
|
import { type CueLineRunStatusSummary } from "./core/run-status.js";
|
|
7
9
|
import type { CueLineRunState } from "./core/state-machine.js";
|
|
@@ -11,10 +13,30 @@ export declare function routingConfigPath(environment?: NodeJS.ProcessEnv, expli
|
|
|
11
13
|
export declare function startCueLineRun(options: StartCueLineRunOptions): Promise<CueLineResult>;
|
|
12
14
|
export declare function runCueLine(options: StartCueLineRunOptions): Promise<CueLineResult>;
|
|
13
15
|
export declare function continueCueLineRun(options: ContinueCueLineRunOptions): Promise<CueLineResult>;
|
|
14
|
-
export { confirmManualControllerSubmission, submitCueLineCallerJobResult, } from "./api-controller-handoff.js";
|
|
16
|
+
export { confirmManualControllerSubmission, confirmControllerTurnNotSent, submitCueLineCallerJobResult, } from "./api-controller-handoff.js";
|
|
15
17
|
export { claimCueLineCallerJob, heartbeatCueLineCallerJob, releaseCueLineCallerJob, startCueLineCallerJob, };
|
|
16
|
-
export { cancelCueLineJob, cancelCueLineRun, loadCueLineRunState, loadCueLineRunStatus, reconcileCueLineRuntime, takeoverCueLineRuntime, } from "./api-runtime-lifecycle.js";
|
|
17
|
-
export {
|
|
18
|
+
export { cancelCueLineJob, cancelCueLineRun, listCueLineRuns, loadCueLineRunState, loadCueLineRunStatus, reconcileCueLineRuntime, takeoverCueLineRuntime, } from "./api-runtime-lifecycle.js";
|
|
19
|
+
export { diagnoseCueLineRun, diagnoseCueLineRunStatus, } from "./diagnostics/run-doctor.js";
|
|
20
|
+
export { verifyCueLineRun };
|
|
21
|
+
export { createCodexIabAdapter, probeCodexIab };
|
|
22
|
+
export { waitForCueLineRunChange } from "./observation/run-watch.js";
|
|
23
|
+
export { lintControllerCommandText } from "./protocol/lint-command.js";
|
|
24
|
+
export { explainRoutingConfig } from "./router/explain.js";
|
|
25
|
+
export { buildCueLineRunHandoff, createCueLineRunHandoff, renderCueLineRunHandoffMarkdown, } from "./observation/run-handoff.js";
|
|
26
|
+
export { buildCueLineRunTimeline, loadCueLineRunTimeline, } from "./observation/run-timeline.js";
|
|
27
|
+
export { loadCueLineRunStatusAt } from "./observation/run-status-at.js";
|
|
28
|
+
export { compareCueLineRuns } from "./observation/run-diff.js";
|
|
29
|
+
export { buildCueLineRunGraph, loadCueLineRunGraph, } from "./observation/run-graph.js";
|
|
18
30
|
export { CUELINE_VERSION } from "./version.js";
|
|
19
|
-
export type { ContinueCueLineRunOptions, CueLineCallerJobResultInput, CueLineCallerJobSubmissionOptions, CueLineCallerJobSubmissionResult, CueLineCallerWorkClaimOptions, CueLineCallerWorkClaimProof, CueLineCallerWorkClaimResult, CueLineCallerWorkMutationOptions, CueLineCallerWorkMutationResult, CueLineJobCancellationResult, CueLineRunCancellationResult, CueLineRuntimeOptions, CueLineRuntimeReconciliationResult, CueLineRuntimeTakeoverResult, ManualControllerSubmissionConfirmation, StartCueLineRunOptions, } from "./api-contracts.js";
|
|
31
|
+
export type { ContinueCueLineRunOptions, CueLineCallerJobResultInput, CueLineCallerJobSubmissionOptions, CueLineCallerJobSubmissionResult, CueLineCallerWorkClaimOptions, CueLineCallerWorkClaimProof, CueLineCallerWorkClaimResult, CueLineCallerWorkMutationOptions, CueLineCallerWorkMutationResult, CueLineJobCancellationResult, CueLineRunListEntry, CueLineRunCancellationResult, CueLineRunVerificationFinding, CueLineRunVerificationOutcome, CueLineRunVerificationReport, CueLineRuntimeOptions, CueLineRuntimeReconciliationResult, CueLineRuntimeTakeoverResult, ManualControllerSubmissionConfirmation, StartCueLineRunOptions, } from "./api-contracts.js";
|
|
32
|
+
export type { CueLineDiagnosticSeverity, CueLineRunDiagnosis, CueLineRunDiagnosticFinding, CueLineRunDiagnosticOutcome, } from "./diagnostics/run-doctor.js";
|
|
33
|
+
export type { CueLineRunWatchOptions, CueLineRunWatchResult, } from "./observation/run-watch.js";
|
|
34
|
+
export type { CueLineProtocolLintIssue, CueLineProtocolLintOptions, CueLineProtocolLintResult, CueLineProtocolLintRouting, CueLineProtocolLintSeverity, } from "./protocol/lint-command.js";
|
|
35
|
+
export type { RoutingCandidateExplanation, RoutingCandidateReasonCode, RoutingExplanation, RoutingLaneExplanation, } from "./router/explain.js";
|
|
36
|
+
export type { CueLineRunHandoffBuildOptions, CueLineRunHandoffContent, CueLineRunHandoffOptions, CueLineRunHandoffPacket, } from "./observation/run-handoff.js";
|
|
37
|
+
export type { CueLineRunTimeline, CueLineRunTimelineEntry, CueLineRunTimelineOptions, CueLineTimelineCategory, } from "./observation/run-timeline.js";
|
|
38
|
+
export type { CueLineRunStatusAt, CueLineRunStatusAtOptions, } from "./observation/run-status-at.js";
|
|
39
|
+
export type { CueLineRunDiff, CueLineRunDiffChange, CueLineRunDiffOptions, CueLineRunDiffProjection, } from "./observation/run-diff.js";
|
|
40
|
+
export type { CueLineRunGraph, CueLineRunGraphOptions, } from "./observation/run-graph.js";
|
|
41
|
+
export type { CodexIabBrowserSource, CodexIabPageProbe, CodexIabProbeOptions, CodexIabProbeResult, CodexIabProbeStatus, CodexIabTabSource, } from "./browser/codex-iab/probe.js";
|
|
20
42
|
export type { BrowserAdapter, CueLineResult, CueLineRunState, CueLineRunStatusSummary, RoutingConfig, };
|
package/dist/src/api.js
CHANGED
|
@@ -1,17 +1,23 @@
|
|
|
1
|
+
import path from "node:path";
|
|
1
2
|
import { fileURLToPath } from "node:url";
|
|
2
|
-
import { confirmManualControllerSubmission } from "./api-controller-handoff.js";
|
|
3
|
+
import { confirmControllerTurnNotSent, confirmManualControllerSubmission, } from "./api-controller-handoff.js";
|
|
4
|
+
import { verifyCueLineRun } from "./api-run-verification.js";
|
|
3
5
|
import { claimCueLineCallerJob, heartbeatCueLineCallerJob, reconcileExpiredCallerWorkClaims, releaseCueLineCallerJob, startCueLineCallerJob, } from "./api-caller-work.js";
|
|
4
6
|
import { isTerminalRun, reconcileCueLineRuntime, terminalResult, } from "./api-runtime-lifecycle.js";
|
|
5
7
|
import { createCodexIabAdapter } from "./browser/codex-iab/chatgpt-client.js";
|
|
6
|
-
import {
|
|
8
|
+
import { probeCodexIab } from "./browser/codex-iab/probe.js";
|
|
9
|
+
import { continueControllerLoop, createControllerRun, runControllerLoop, validateControllerRuntimeOptions, } from "./core/controller-loop.js";
|
|
10
|
+
import { controllerConversationArchiveNeedsRecovery } from "./core/controller-conversation-archive.js";
|
|
11
|
+
import { sameChatGptConversationUrl } from "./core/conversation-url.js";
|
|
7
12
|
import { CueLineError } from "./core/errors.js";
|
|
8
13
|
import { loadPersistedRunState, loadPersistedRunStore, } from "./core/persisted-run.js";
|
|
9
14
|
import { runtimeCwd, runtimeEnvironment } from "./core/runtime.js";
|
|
15
|
+
import { validatedTimerDelay } from "./core/timing.js";
|
|
10
16
|
import { assertRunCanContinue, isSafeStaleCallerObservationRecovery, } from "./core/run-status.js";
|
|
11
17
|
import { JobStatusStore } from "./jobs/status.js";
|
|
12
18
|
import { JobSupervisor } from "./jobs/supervisor.js";
|
|
13
19
|
import { executableAvailability } from "./router/availability.js";
|
|
14
|
-
import { loadRoutingConfig } from "./router/config-loader.js";
|
|
20
|
+
import { loadRoutingConfig, parseRoutingConfig } from "./router/config-loader.js";
|
|
15
21
|
import { materializeRunnerSpec } from "./router/materialize.js";
|
|
16
22
|
import { resolveRoute, validateRouteReference } from "./router/resolver.js";
|
|
17
23
|
import { ProcessRunner } from "./runners/process-runner.js";
|
|
@@ -30,18 +36,10 @@ export function defaultRoutingConfigPath() {
|
|
|
30
36
|
export function routingConfigPath(environment = runtimeEnvironment(), explicitPath) {
|
|
31
37
|
return explicitPath ?? environment.CUELINE_CONFIG ?? defaultRoutingConfigPath();
|
|
32
38
|
}
|
|
33
|
-
function normalizedConversationUrl(value) {
|
|
34
|
-
try {
|
|
35
|
-
const parsed = new URL(value);
|
|
36
|
-
return `${parsed.origin}${parsed.pathname}`;
|
|
37
|
-
}
|
|
38
|
-
catch {
|
|
39
|
-
return value;
|
|
40
|
-
}
|
|
41
|
-
}
|
|
42
39
|
async function resolvedRoutingConfig(options, environment) {
|
|
43
|
-
return
|
|
44
|
-
|
|
40
|
+
return options.routingConfig === undefined
|
|
41
|
+
? loadRoutingConfig(routingConfigPath(environment, options.routingConfigPath))
|
|
42
|
+
: parseRoutingConfig(options.routingConfig);
|
|
45
43
|
}
|
|
46
44
|
function registryFor(config) {
|
|
47
45
|
const executables = new Set();
|
|
@@ -69,12 +67,13 @@ function routingInstruction(config, availability, executor) {
|
|
|
69
67
|
.map((candidate) => candidate.id);
|
|
70
68
|
return `${name} [${candidates.length > 0 ? candidates.join(", ") : "unavailable"}]`;
|
|
71
69
|
});
|
|
72
|
-
return `Available routing lanes: ${lanes.join("; ")}. Use only a listed lane. Select an optional candidate with the field runner; never use runner_id or place a runner ID in lane.`;
|
|
70
|
+
return `Available routing lanes: ${lanes.join("; ")}. Use only a listed lane. Select an optional candidate with the field runner; never use runner_id or place a runner ID in lane. If you provide workdir, it must be an absolute path; omit it to use the workspace bound by the local runtime.`;
|
|
73
71
|
}
|
|
74
72
|
async function prepareRuntime(options, persistedConversationUrl, persistedExecutor) {
|
|
75
73
|
const environment = options.environment ?? runtimeEnvironment();
|
|
76
74
|
const home = options.home ?? defaultCueLineHome(environment);
|
|
77
|
-
const cwd = options.cwd ?? runtimeCwd();
|
|
75
|
+
const cwd = path.resolve(options.cwd ?? runtimeCwd());
|
|
76
|
+
const executor = persistedExecutor ?? options.executor ?? "caller";
|
|
78
77
|
const config = await resolvedRoutingConfig(options, environment);
|
|
79
78
|
const availability = executableAvailability(environment, cwd);
|
|
80
79
|
const registry = registryFor(config);
|
|
@@ -93,9 +92,18 @@ async function prepareRuntime(options, persistedConversationUrl, persistedExecut
|
|
|
93
92
|
jobSupervisor,
|
|
94
93
|
validateJobSpec(job) {
|
|
95
94
|
validateRouteReference(job.lane, config, job.runner);
|
|
95
|
+
if (executor === "process") {
|
|
96
|
+
if (job.workdir !== undefined && !path.isAbsolute(job.workdir)) {
|
|
97
|
+
throw new CueLineError("PROCESS_WORKDIR_ABSOLUTE_REQUIRED", "Process jobs must use an absolute workdir; omit workdir to bind the run's current workspace.");
|
|
98
|
+
}
|
|
99
|
+
job.workdir = path.resolve(job.workdir ?? cwd);
|
|
100
|
+
}
|
|
96
101
|
},
|
|
97
102
|
resolveRunnerSpec(jobId, job) {
|
|
98
|
-
const
|
|
103
|
+
const jobAvailability = job.workdir === undefined || job.workdir === cwd
|
|
104
|
+
? availability
|
|
105
|
+
: executableAvailability(environment, job.workdir);
|
|
106
|
+
const route = resolveRoute(job.lane, config, jobAvailability, job.runner);
|
|
99
107
|
return materializeRunnerSpec(jobId, job, route, {
|
|
100
108
|
cwd,
|
|
101
109
|
...(options.defaultTimeoutMs === undefined
|
|
@@ -104,12 +112,20 @@ async function prepareRuntime(options, persistedConversationUrl, persistedExecut
|
|
|
104
112
|
});
|
|
105
113
|
},
|
|
106
114
|
controllerInstructions: [
|
|
107
|
-
routingInstruction(config, availability,
|
|
115
|
+
routingInstruction(config, availability, executor),
|
|
108
116
|
],
|
|
109
117
|
...(conversationUrl === undefined ? {} : { conversationUrl }),
|
|
110
118
|
home,
|
|
111
119
|
};
|
|
112
120
|
}
|
|
121
|
+
function validateDefaultProcessTimeout(options) {
|
|
122
|
+
if (options.defaultTimeoutMs === undefined)
|
|
123
|
+
return;
|
|
124
|
+
validatedTimerDelay(options.defaultTimeoutMs, {
|
|
125
|
+
code: "PROCESS_TIMEOUT_INVALID",
|
|
126
|
+
name: "defaultTimeoutMs",
|
|
127
|
+
});
|
|
128
|
+
}
|
|
113
129
|
export async function startCueLineRun(options) {
|
|
114
130
|
assertNotNested(options.environment ?? runtimeEnvironment());
|
|
115
131
|
return createControllerRun({
|
|
@@ -121,11 +137,18 @@ export async function startCueLineRun(options) {
|
|
|
121
137
|
? {}
|
|
122
138
|
: { allowProcessExecution: options.allowProcessExecution }),
|
|
123
139
|
...(options.maxRounds === undefined ? {} : { maxRounds: options.maxRounds }),
|
|
140
|
+
...(options.archiveControllerConversationOnComplete === undefined
|
|
141
|
+
? {}
|
|
142
|
+
: {
|
|
143
|
+
archiveControllerConversationOnComplete: options.archiveControllerConversationOnComplete,
|
|
144
|
+
}),
|
|
124
145
|
...(options.now === undefined ? {} : { now: options.now }),
|
|
125
146
|
});
|
|
126
147
|
}
|
|
127
148
|
export async function runCueLine(options) {
|
|
128
149
|
assertNotNested(options.environment ?? runtimeEnvironment());
|
|
150
|
+
validateControllerRuntimeOptions(options);
|
|
151
|
+
validateDefaultProcessTimeout(options);
|
|
129
152
|
const runtime = await prepareRuntime(options);
|
|
130
153
|
return runControllerLoop({
|
|
131
154
|
request: options.request,
|
|
@@ -135,6 +158,11 @@ export async function runCueLine(options) {
|
|
|
135
158
|
...(options.allowProcessExecution === undefined
|
|
136
159
|
? {}
|
|
137
160
|
: { allowProcessExecution: options.allowProcessExecution }),
|
|
161
|
+
...(options.archiveControllerConversationOnComplete === undefined
|
|
162
|
+
? {}
|
|
163
|
+
: {
|
|
164
|
+
archiveControllerConversationOnComplete: options.archiveControllerConversationOnComplete,
|
|
165
|
+
}),
|
|
138
166
|
returnAfterControllerSubmission: (options.executor ?? "caller") === "caller",
|
|
139
167
|
...(options.maxRounds === undefined ? {} : { maxRounds: options.maxRounds }),
|
|
140
168
|
...(options.maxRepairAttempts === undefined
|
|
@@ -157,9 +185,40 @@ export async function runCueLine(options) {
|
|
|
157
185
|
export async function continueCueLineRun(options) {
|
|
158
186
|
const environment = options.environment ?? runtimeEnvironment();
|
|
159
187
|
const home = options.home ?? defaultCueLineHome(environment);
|
|
188
|
+
if (options.manualSendConfirmed === true && options.reconcileRequestId === undefined) {
|
|
189
|
+
throw new CueLineError("CONTROLLER_RECONCILIATION_REQUEST_REQUIRED", "manualSendConfirmed requires the exact reconcileRequestId.");
|
|
190
|
+
}
|
|
191
|
+
let state = await loadPersistedRunState(home, options.runId);
|
|
192
|
+
if (options.archiveControllerConversationOnComplete !== undefined &&
|
|
193
|
+
options.archiveControllerConversationOnComplete !==
|
|
194
|
+
(state.controllerConversationArchive?.enabled ?? false)) {
|
|
195
|
+
throw new CueLineError("CONTROLLER_CONVERSATION_ARCHIVE_POLICY_MISMATCH", `Run '${options.runId}' has a different durable controller conversation archive policy.`);
|
|
196
|
+
}
|
|
197
|
+
if (options.conversationUrl !== undefined &&
|
|
198
|
+
state.conversationUrl !== null &&
|
|
199
|
+
!sameChatGptConversationUrl(options.conversationUrl, state.conversationUrl)) {
|
|
200
|
+
throw new CueLineError("CONTROLLER_RECONCILIATION_CONVERSATION_MISMATCH", `Run '${options.runId}' is already bound to a different ChatGPT conversation.`);
|
|
201
|
+
}
|
|
202
|
+
let recoverControllerArchive = controllerConversationArchiveNeedsRecovery(state);
|
|
203
|
+
if (isTerminalRun(state) &&
|
|
204
|
+
!recoverControllerArchive &&
|
|
205
|
+
options.manualSendConfirmed !== true) {
|
|
206
|
+
return terminalResult(state);
|
|
207
|
+
}
|
|
208
|
+
let preparedRuntime;
|
|
160
209
|
if (options.manualSendConfirmed === true) {
|
|
161
|
-
|
|
162
|
-
|
|
210
|
+
assertNotNested(environment);
|
|
211
|
+
validateControllerRuntimeOptions(options);
|
|
212
|
+
validateDefaultProcessTimeout(options);
|
|
213
|
+
if (options.executor !== undefined && options.executor !== state.executor) {
|
|
214
|
+
throw new CueLineError("RUN_EXECUTOR_MISMATCH", `Run '${options.runId}' uses executor '${state.executor}', not '${options.executor}'.`);
|
|
215
|
+
}
|
|
216
|
+
if (state.executor === "process" &&
|
|
217
|
+
(!state.allowProcessExecution || options.allowProcessExecution !== true)) {
|
|
218
|
+
throw new CueLineError("PROCESS_EXECUTION_NOT_AUTHORIZED", "Continuing a process run requires allowProcessExecution=true in addition to its persisted authorization.");
|
|
219
|
+
}
|
|
220
|
+
if (!isTerminalRun(state)) {
|
|
221
|
+
preparedRuntime = await prepareRuntime(options, state.conversationUrl ?? undefined, state.executor);
|
|
163
222
|
}
|
|
164
223
|
await confirmManualControllerSubmission(options.runId, {
|
|
165
224
|
home,
|
|
@@ -168,15 +227,10 @@ export async function continueCueLineRun(options) {
|
|
|
168
227
|
? {}
|
|
169
228
|
: { conversationUrl: options.conversationUrl }),
|
|
170
229
|
});
|
|
230
|
+
state = await loadPersistedRunState(home, options.runId);
|
|
231
|
+
recoverControllerArchive = controllerConversationArchiveNeedsRecovery(state);
|
|
171
232
|
}
|
|
172
|
-
|
|
173
|
-
if (options.conversationUrl !== undefined &&
|
|
174
|
-
state.conversationUrl !== null &&
|
|
175
|
-
normalizedConversationUrl(options.conversationUrl) !==
|
|
176
|
-
normalizedConversationUrl(state.conversationUrl)) {
|
|
177
|
-
throw new CueLineError("CONTROLLER_RECONCILIATION_CONVERSATION_MISMATCH", `Run '${options.runId}' is already bound to a different ChatGPT conversation.`);
|
|
178
|
-
}
|
|
179
|
-
if (isTerminalRun(state)) {
|
|
233
|
+
if (isTerminalRun(state) && !recoverControllerArchive) {
|
|
180
234
|
return terminalResult(state);
|
|
181
235
|
}
|
|
182
236
|
let runtime = await readRuntimeLease(home, options.runId, {
|
|
@@ -235,23 +289,30 @@ export async function continueCueLineRun(options) {
|
|
|
235
289
|
});
|
|
236
290
|
}
|
|
237
291
|
const cancellation = await readCancellationObservation(home, options.runId);
|
|
238
|
-
if (!
|
|
292
|
+
if (!recoverControllerArchive &&
|
|
293
|
+
!isSafeStaleCallerObservationRecovery(state, runtime, cancellation)) {
|
|
239
294
|
assertRunCanContinue(state, runtime, cancellation);
|
|
240
295
|
}
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
(!
|
|
247
|
-
|
|
296
|
+
if (preparedRuntime === undefined) {
|
|
297
|
+
assertNotNested(environment);
|
|
298
|
+
if (options.executor !== undefined && options.executor !== state.executor) {
|
|
299
|
+
throw new CueLineError("RUN_EXECUTOR_MISMATCH", `Run '${options.runId}' uses executor '${state.executor}', not '${options.executor}'.`);
|
|
300
|
+
}
|
|
301
|
+
if (!recoverControllerArchive &&
|
|
302
|
+
state.executor === "process" &&
|
|
303
|
+
(!state.allowProcessExecution || options.allowProcessExecution !== true)) {
|
|
304
|
+
throw new CueLineError("PROCESS_EXECUTION_NOT_AUTHORIZED", "Continuing a process run requires allowProcessExecution=true in addition to its persisted authorization.");
|
|
305
|
+
}
|
|
306
|
+
validateControllerRuntimeOptions(options);
|
|
307
|
+
validateDefaultProcessTimeout(options);
|
|
308
|
+
preparedRuntime = await prepareRuntime(options, state.conversationUrl ?? undefined, state.executor);
|
|
248
309
|
}
|
|
249
|
-
const preparedRuntime = await prepareRuntime(options, state.conversationUrl ?? undefined, state.executor);
|
|
250
310
|
return continueControllerLoop({
|
|
251
311
|
runId: options.runId,
|
|
252
312
|
...preparedRuntime,
|
|
253
313
|
executor: state.executor,
|
|
254
314
|
...(state.executor === "process" ? { allowProcessExecution: true } : {}),
|
|
315
|
+
archiveControllerConversationOnComplete: state.controllerConversationArchive?.enabled === true,
|
|
255
316
|
returnAfterControllerSubmission: state.executor === "caller",
|
|
256
317
|
...(options.reconcileRequestId === undefined
|
|
257
318
|
? {}
|
|
@@ -277,9 +338,19 @@ export async function continueCueLineRun(options) {
|
|
|
277
338
|
: { laneConcurrency: options.laneConcurrency }),
|
|
278
339
|
});
|
|
279
340
|
}
|
|
280
|
-
export { confirmManualControllerSubmission, submitCueLineCallerJobResult, } from "./api-controller-handoff.js";
|
|
341
|
+
export { confirmManualControllerSubmission, confirmControllerTurnNotSent, submitCueLineCallerJobResult, } from "./api-controller-handoff.js";
|
|
281
342
|
export { claimCueLineCallerJob, heartbeatCueLineCallerJob, releaseCueLineCallerJob, startCueLineCallerJob, };
|
|
282
|
-
export { cancelCueLineJob, cancelCueLineRun, loadCueLineRunState, loadCueLineRunStatus, reconcileCueLineRuntime, takeoverCueLineRuntime, } from "./api-runtime-lifecycle.js";
|
|
283
|
-
export {
|
|
343
|
+
export { cancelCueLineJob, cancelCueLineRun, listCueLineRuns, loadCueLineRunState, loadCueLineRunStatus, reconcileCueLineRuntime, takeoverCueLineRuntime, } from "./api-runtime-lifecycle.js";
|
|
344
|
+
export { diagnoseCueLineRun, diagnoseCueLineRunStatus, } from "./diagnostics/run-doctor.js";
|
|
345
|
+
export { verifyCueLineRun };
|
|
346
|
+
export { createCodexIabAdapter, probeCodexIab };
|
|
347
|
+
export { waitForCueLineRunChange } from "./observation/run-watch.js";
|
|
348
|
+
export { lintControllerCommandText } from "./protocol/lint-command.js";
|
|
349
|
+
export { explainRoutingConfig } from "./router/explain.js";
|
|
350
|
+
export { buildCueLineRunHandoff, createCueLineRunHandoff, renderCueLineRunHandoffMarkdown, } from "./observation/run-handoff.js";
|
|
351
|
+
export { buildCueLineRunTimeline, loadCueLineRunTimeline, } from "./observation/run-timeline.js";
|
|
352
|
+
export { loadCueLineRunStatusAt } from "./observation/run-status-at.js";
|
|
353
|
+
export { compareCueLineRuns } from "./observation/run-diff.js";
|
|
354
|
+
export { buildCueLineRunGraph, loadCueLineRunGraph, } from "./observation/run-graph.js";
|
|
284
355
|
export { CUELINE_VERSION } from "./version.js";
|
|
285
356
|
//# sourceMappingURL=api.js.map
|