harness-engineering-agent 0.3.27 → 0.3.29
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 -0
- package/dist/controller/agent-output-contracts.d.ts +16 -0
- package/dist/controller/agent-output-contracts.d.ts.map +1 -1
- package/dist/controller/agent-output.d.ts.map +1 -1
- package/dist/controller/agent-output.js +48 -1
- package/dist/controller/agent-output.js.map +1 -1
- package/dist/controller/agent-session.d.ts +2 -0
- package/dist/controller/agent-session.d.ts.map +1 -1
- package/dist/controller/agent-session.js +1 -0
- package/dist/controller/agent-session.js.map +1 -1
- package/dist/controller/contracts.d.ts +7 -0
- package/dist/controller/contracts.d.ts.map +1 -1
- package/dist/controller/contracts.js.map +1 -1
- package/dist/controller/failure-classification.d.ts +5 -0
- package/dist/controller/failure-classification.d.ts.map +1 -0
- package/dist/controller/failure-classification.js +6 -0
- package/dist/controller/failure-classification.js.map +1 -0
- package/dist/controller/index.d.ts +5 -0
- package/dist/controller/index.d.ts.map +1 -1
- package/dist/controller/index.js +5 -0
- package/dist/controller/index.js.map +1 -1
- package/dist/controller/planner-context-contract.d.ts +12 -0
- package/dist/controller/planner-context-contract.d.ts.map +1 -1
- package/dist/controller/route-resolver.d.ts.map +1 -1
- package/dist/controller/route-resolver.js +19 -8
- package/dist/controller/route-resolver.js.map +1 -1
- package/dist/controller/run-controller.d.ts.map +1 -1
- package/dist/controller/run-controller.js +110 -9
- package/dist/controller/run-controller.js.map +1 -1
- package/dist/controller/run-error-finalizer.d.ts +15 -0
- package/dist/controller/run-error-finalizer.d.ts.map +1 -1
- package/dist/controller/run-error-finalizer.js +103 -4
- package/dist/controller/run-error-finalizer.js.map +1 -1
- package/dist/controller/run-lease.d.ts +26 -0
- package/dist/controller/run-lease.d.ts.map +1 -0
- package/dist/controller/run-lease.js +63 -0
- package/dist/controller/run-lease.js.map +1 -0
- package/dist/controller/run-persistence.d.ts +1 -1
- package/dist/controller/run-persistence.d.ts.map +1 -1
- package/dist/controller/run-persistence.js +14 -12
- package/dist/controller/run-persistence.js.map +1 -1
- package/dist/controller/run-stage-projection.d.ts +64 -0
- package/dist/controller/run-stage-projection.d.ts.map +1 -0
- package/dist/controller/run-stage-projection.js +184 -0
- package/dist/controller/run-stage-projection.js.map +1 -0
- package/dist/controller/run-watchdog.d.ts +36 -0
- package/dist/controller/run-watchdog.d.ts.map +1 -0
- package/dist/controller/run-watchdog.js +124 -0
- package/dist/controller/run-watchdog.js.map +1 -0
- package/dist/controller/task-agent-schemas.d.ts +20 -0
- package/dist/controller/task-agent-schemas.d.ts.map +1 -1
- package/dist/controller/task-executor.d.ts.map +1 -1
- package/dist/controller/task-executor.js +22 -0
- package/dist/controller/task-executor.js.map +1 -1
- package/dist/controller/task-graph-contract.d.ts +1 -0
- package/dist/controller/task-graph-contract.d.ts.map +1 -1
- package/dist/controller/task-graph-contract.js +1 -0
- package/dist/controller/task-graph-contract.js.map +1 -1
- package/dist/domain/context-package.d.ts +4 -0
- package/dist/domain/context-package.d.ts.map +1 -1
- package/dist/domain/context-package.js +8 -0
- package/dist/domain/context-package.js.map +1 -1
- package/dist/domain/failure.d.ts +100 -0
- package/dist/domain/failure.d.ts.map +1 -1
- package/dist/domain/failure.js +9 -0
- package/dist/domain/failure.js.map +1 -1
- package/dist/domain/index.d.ts +1 -1
- package/dist/domain/index.d.ts.map +1 -1
- package/dist/domain/index.js +1 -1
- package/dist/domain/index.js.map +1 -1
- package/dist/domain/plan-artifacts.d.ts +8 -0
- package/dist/domain/plan-artifacts.d.ts.map +1 -1
- package/dist/domain/report.d.ts +232 -0
- package/dist/domain/report.d.ts.map +1 -1
- package/dist/domain/requirement.d.ts +17 -0
- package/dist/domain/requirement.d.ts.map +1 -1
- package/dist/domain/requirement.js +10 -0
- package/dist/domain/requirement.js.map +1 -1
- package/dist/domain/run.d.ts +232 -0
- package/dist/domain/run.d.ts.map +1 -1
- package/dist/plugin/create-harness-plugin.d.ts.map +1 -1
- package/dist/plugin/create-harness-plugin.js +35 -6
- package/dist/plugin/create-harness-plugin.js.map +1 -1
- package/dist/plugin/harness-chat-hook.d.ts +2 -1
- package/dist/plugin/harness-chat-hook.d.ts.map +1 -1
- package/dist/plugin/harness-chat-hook.js +15 -16
- package/dist/plugin/harness-chat-hook.js.map +1 -1
- package/dist/plugin/harness-delivery-envelope.d.ts +19 -0
- package/dist/plugin/harness-delivery-envelope.d.ts.map +1 -0
- package/dist/plugin/harness-delivery-envelope.js +105 -0
- package/dist/plugin/harness-delivery-envelope.js.map +1 -0
- package/dist/plugin/harness-escalate-tool.d.ts +2 -1
- package/dist/plugin/harness-escalate-tool.d.ts.map +1 -1
- package/dist/plugin/harness-escalate-tool.js +11 -2
- package/dist/plugin/harness-escalate-tool.js.map +1 -1
- package/dist/plugin/harness-intent.d.ts +12 -0
- package/dist/plugin/harness-intent.d.ts.map +1 -1
- package/dist/plugin/harness-intent.js +2 -1
- package/dist/plugin/harness-intent.js.map +1 -1
- package/dist/plugin/harness-plugin-runtime.d.ts +2 -0
- package/dist/plugin/harness-plugin-runtime.d.ts.map +1 -1
- package/dist/plugin/harness-plugin-runtime.js +40 -7
- package/dist/plugin/harness-plugin-runtime.js.map +1 -1
- package/dist/plugin/harness-plugin-scheduler.d.ts +7 -2
- package/dist/plugin/harness-plugin-scheduler.d.ts.map +1 -1
- package/dist/plugin/harness-plugin-scheduler.js +16 -14
- package/dist/plugin/harness-plugin-scheduler.js.map +1 -1
- package/dist/plugin/harness-requirement.d.ts.map +1 -1
- package/dist/plugin/harness-requirement.js +4 -0
- package/dist/plugin/harness-requirement.js.map +1 -1
- package/dist/plugin/harness-run-status-tool.d.ts +7 -0
- package/dist/plugin/harness-run-status-tool.d.ts.map +1 -0
- package/dist/plugin/harness-run-status-tool.js +33 -0
- package/dist/plugin/harness-run-status-tool.js.map +1 -0
- package/dist/store/filesystem-run-store.js +5 -0
- package/dist/store/filesystem-run-store.js.map +1 -1
- package/dist/store/pending-start.d.ts +4 -0
- package/dist/store/pending-start.d.ts.map +1 -1
- package/dist/store/run-event.d.ts +232 -0
- package/dist/store/run-event.d.ts.map +1 -1
- package/package.json +1 -1
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { randomUUID } from "node:crypto";
|
|
1
2
|
import { z } from "zod";
|
|
2
3
|
import { PlanReviewSchema, RequirementSchema, RunSchema, SchemaVersionSchema, TaskGraphSchema, } from "../domain/index.js";
|
|
3
4
|
import { HARNESS_SESSION_ROLE } from "../session/index.js";
|
|
@@ -13,9 +14,11 @@ import { createReport } from "./report-factory.js";
|
|
|
13
14
|
import { plannerContextPrompt, plannerTaskPrompt } from "./role-prompts.js";
|
|
14
15
|
import { resolveRoute } from "./route-resolver.js";
|
|
15
16
|
import { finalizeAdvanceError, PlanningBlockedError } from "./run-error-finalizer.js";
|
|
17
|
+
import { createRunLeaseManager } from "./run-lease.js";
|
|
16
18
|
import { createRunPersistence } from "./run-persistence.js";
|
|
17
19
|
import { createReflectionSummary } from "./run-reflection.js";
|
|
18
20
|
import { appendAnswer, appendWaiver, canAdvanceRun, canAnswer, canCancel, canPause, canWaive, consumeBudget, createBlockedQuestionId, createInitialRunBudgets, createInitialRunGovernance, hasAnswer, hasWaiver, isTerminalRunStatus, parsePlannedRun, RunBudgetExceededError, RunStateTransitionError, requireTransition, requireWaivableRequirement, setPaused, withGovernance, withStatus, } from "./run-state.js";
|
|
21
|
+
import { createRunWatchdog, resolveRunWatchdogConfig } from "./run-watchdog.js";
|
|
19
22
|
import { createRunWorkspaceContext } from "./run-workspace.js";
|
|
20
23
|
import { createStreamlinedRunner } from "./streamlined-runner.js";
|
|
21
24
|
import { PlannerContextOutputSchema } from "./task-agent-schemas.js";
|
|
@@ -47,7 +50,10 @@ export const createRunController = (options) => {
|
|
|
47
50
|
workingDirectory: options.workingDirectory,
|
|
48
51
|
resolveWorkingDirectory: async (runId) => resolveRememberedWorkingDirectory(runId),
|
|
49
52
|
defaultSessionTimeoutMs: options.sessionTimeoutMs,
|
|
53
|
+
...(options.onAgentSettled === undefined ? {} : { onAgentSettled: options.onAgentSettled }),
|
|
50
54
|
});
|
|
55
|
+
// advance/resume 内部路径保留有界重试:会话中断处理器可能仍在异步持久化状态。
|
|
56
|
+
// 对外 status 查询使用严格单次加载(见 controller.status),不进行盲重试。
|
|
51
57
|
const loadRunWithRetry = async (runId) => {
|
|
52
58
|
for (let attempt = 0; attempt < 3; attempt += 1) {
|
|
53
59
|
try {
|
|
@@ -64,13 +70,49 @@ export const createRunController = (options) => {
|
|
|
64
70
|
}
|
|
65
71
|
throw new TypeError(`missing run ${runId}`);
|
|
66
72
|
};
|
|
73
|
+
const loadRunStrict = async (runId) => {
|
|
74
|
+
const run = await options.store.loadState(runId);
|
|
75
|
+
rememberExecutionRoot(run);
|
|
76
|
+
return run;
|
|
77
|
+
};
|
|
67
78
|
const { runTasks } = createTaskExecutor({
|
|
68
79
|
options,
|
|
69
80
|
runtime,
|
|
70
81
|
writer,
|
|
71
82
|
loadRun: loadRunWithRetry,
|
|
72
83
|
});
|
|
73
|
-
const
|
|
84
|
+
const controllerInstanceId = `controller-${randomUUID()}`;
|
|
85
|
+
const watchdogConfig = resolveRunWatchdogConfig(options.watchdog, options.sessionTimeoutMs);
|
|
86
|
+
const watchdog = createRunWatchdog({
|
|
87
|
+
store: options.store,
|
|
88
|
+
clock: () => options.clock.now(),
|
|
89
|
+
createEventId: options.ids.createEventId,
|
|
90
|
+
config: watchdogConfig,
|
|
91
|
+
});
|
|
92
|
+
const leaseManager = createRunLeaseManager({
|
|
93
|
+
store: options.store,
|
|
94
|
+
clock: () => options.clock.now(),
|
|
95
|
+
createEventId: options.ids.createEventId,
|
|
96
|
+
config: { ttlMs: watchdogConfig.heartbeatIntervalMs * 3 },
|
|
97
|
+
});
|
|
98
|
+
const heartbeatTimers = new Map();
|
|
99
|
+
const inFlightAdvances = new Map();
|
|
100
|
+
const startHeartbeat = (runId) => {
|
|
101
|
+
if (heartbeatTimers.has(runId))
|
|
102
|
+
return;
|
|
103
|
+
const timer = setInterval(() => {
|
|
104
|
+
void watchdog.heartbeat(runId).catch(() => undefined);
|
|
105
|
+
}, watchdogConfig.heartbeatIntervalMs);
|
|
106
|
+
timer.unref?.();
|
|
107
|
+
heartbeatTimers.set(runId, timer);
|
|
108
|
+
};
|
|
109
|
+
const stopHeartbeat = (runId) => {
|
|
110
|
+
const timer = heartbeatTimers.get(runId);
|
|
111
|
+
if (timer === undefined)
|
|
112
|
+
return;
|
|
113
|
+
clearInterval(timer);
|
|
114
|
+
heartbeatTimers.delete(runId);
|
|
115
|
+
};
|
|
74
116
|
const persistPlanBlockedState = async (input) => {
|
|
75
117
|
const nextRun = withStatus(withGovernance(input.run, {
|
|
76
118
|
...input.run.governance,
|
|
@@ -124,6 +166,11 @@ export const createRunController = (options) => {
|
|
|
124
166
|
"只有需要用户确认的业务事实,或当前环境无法访问的外部系统事实,才允许返回 evidence_gap;返回时必须说明获取该事实的具体方式。",
|
|
125
167
|
"只读分析任务应生成不修改工作区的调查 Task,覆盖需求中可验证的接口、路由、配置、调用链和日志入口。",
|
|
126
168
|
"不要生成 TaskGraph,不要推进状态。",
|
|
169
|
+
...(requirement.hypotheses === undefined || requirement.hypotheses.length === 0
|
|
170
|
+
? []
|
|
171
|
+
: [
|
|
172
|
+
"requirement.hypotheses 是入口 agent 未经验证的判断假设:必须逐条用只读工具核实;证实的假设按事实纳入计划,证伪的假设写入 ContextPackage.refutations(claim 保留原文,evidenceSummary 记录证据),不得丢弃。",
|
|
173
|
+
]),
|
|
127
174
|
],
|
|
128
175
|
evidence: [],
|
|
129
176
|
outputContract: getPlannerContextContract(),
|
|
@@ -200,6 +247,13 @@ export const createRunController = (options) => {
|
|
|
200
247
|
});
|
|
201
248
|
return parsePlannerGraph(output);
|
|
202
249
|
};
|
|
250
|
+
const PROGRESS_SUMMARY_MAX_LENGTH = 500;
|
|
251
|
+
const buildStageProgressPayload = (input) => ({
|
|
252
|
+
role: input.role,
|
|
253
|
+
phase: input.phase,
|
|
254
|
+
summaryText: input.summaryText.slice(0, PROGRESS_SUMMARY_MAX_LENGTH),
|
|
255
|
+
refutations: input.refutations ?? [],
|
|
256
|
+
});
|
|
203
257
|
const persistPlanningArtifacts = async (input) => {
|
|
204
258
|
const nextRun = RunSchema.parse({
|
|
205
259
|
...input.run,
|
|
@@ -209,7 +263,23 @@ export const createRunController = (options) => {
|
|
|
209
263
|
? {}
|
|
210
264
|
: { taskGraph: input.taskGraph, status: "plan_ready" }),
|
|
211
265
|
});
|
|
212
|
-
|
|
266
|
+
const progressEvent = input.eventType === "run.planning.context_captured" && input.contextPackage !== undefined
|
|
267
|
+
? writer.createEvent(input.run.runId, "run.stage.progress", buildStageProgressPayload({
|
|
268
|
+
role: "planner",
|
|
269
|
+
phase: "context_captured",
|
|
270
|
+
summaryText: input.contextPackage.summary,
|
|
271
|
+
...(input.contextPackage.refutations === undefined
|
|
272
|
+
? {}
|
|
273
|
+
: { refutations: input.contextPackage.refutations }),
|
|
274
|
+
}))
|
|
275
|
+
: input.eventType === "run.planning.plan_review_approved"
|
|
276
|
+
? writer.createEvent(input.run.runId, "run.stage.progress", buildStageProgressPayload({
|
|
277
|
+
role: "planner",
|
|
278
|
+
phase: "plan_review_approved",
|
|
279
|
+
summaryText: `Plan review approved: graph ${input.planReview?.reviewId ?? "unknown"};任务数以 taskGraph 为准。`,
|
|
280
|
+
}))
|
|
281
|
+
: undefined;
|
|
282
|
+
await writer.persist(nextRun, writer.createEvent(input.run.runId, input.eventType, input.payload), ...(progressEvent === undefined ? [] : [progressEvent]));
|
|
213
283
|
return nextRun;
|
|
214
284
|
};
|
|
215
285
|
const requestPlanReview = async (input) => {
|
|
@@ -652,17 +722,47 @@ export const createRunController = (options) => {
|
|
|
652
722
|
}
|
|
653
723
|
return await runTasksWithReflection(planned);
|
|
654
724
|
};
|
|
655
|
-
|
|
656
|
-
|
|
657
|
-
|
|
658
|
-
|
|
725
|
+
// 同进程内对同一 run 的推进串行化,避免异步租约获取窗口内的双重执行;
|
|
726
|
+
// 跨进程防护由持久化租约(run.lease.*)保证。
|
|
727
|
+
const advanceQueues = new Map();
|
|
728
|
+
const advanceRun = (runId) => {
|
|
729
|
+
const previous = advanceQueues.get(runId);
|
|
730
|
+
const task = (previous ?? Promise.resolve())
|
|
731
|
+
.catch(() => undefined)
|
|
732
|
+
.then(() => advanceRunExclusive(runId));
|
|
733
|
+
advanceQueues.set(runId, task);
|
|
734
|
+
void task
|
|
735
|
+
.catch(() => undefined)
|
|
736
|
+
.finally(() => {
|
|
737
|
+
if (advanceQueues.get(runId) === task)
|
|
738
|
+
advanceQueues.delete(runId);
|
|
739
|
+
});
|
|
740
|
+
return task;
|
|
741
|
+
};
|
|
742
|
+
const advanceRunExclusive = async (runId) => {
|
|
743
|
+
const inFlight = inFlightAdvances.get(runId);
|
|
744
|
+
if (inFlight !== undefined)
|
|
745
|
+
return inFlight;
|
|
746
|
+
const lease = await leaseManager.acquire(runId, controllerInstanceId);
|
|
747
|
+
if (!lease.acquired) {
|
|
748
|
+
if (lease.holderId === controllerInstanceId) {
|
|
749
|
+
const pending = inFlightAdvances.get(runId);
|
|
750
|
+
if (pending !== undefined)
|
|
751
|
+
return pending;
|
|
752
|
+
}
|
|
753
|
+
// 租约被其他持有者占用:返回当前已持久化状态,不产生双重推进
|
|
754
|
+
return options.store.loadState(runId);
|
|
659
755
|
}
|
|
756
|
+
startHeartbeat(runId);
|
|
757
|
+
watchdog.start();
|
|
660
758
|
const pending = continueRun(runId)
|
|
661
759
|
.catch(async (error) => finalizeAdvanceError({ runId, error, loadRun: loadRunWithRetry, writer }))
|
|
662
760
|
.finally(() => {
|
|
663
|
-
|
|
761
|
+
stopHeartbeat(runId);
|
|
762
|
+
inFlightAdvances.delete(runId);
|
|
763
|
+
void leaseManager.release(runId, controllerInstanceId).catch(() => undefined);
|
|
664
764
|
});
|
|
665
|
-
|
|
765
|
+
inFlightAdvances.set(runId, pending);
|
|
666
766
|
return pending;
|
|
667
767
|
};
|
|
668
768
|
const controller = {
|
|
@@ -756,7 +856,8 @@ export const createRunController = (options) => {
|
|
|
756
856
|
return advanceRun(runId);
|
|
757
857
|
},
|
|
758
858
|
async status(runId) {
|
|
759
|
-
|
|
859
|
+
// 严格单次加载:run 不存在时立即返回结构化错误,不做盲重试
|
|
860
|
+
return loadRunStrict(runId);
|
|
760
861
|
},
|
|
761
862
|
async pause(input) {
|
|
762
863
|
const current = await loadRunWithRetry(input.runId);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"run-controller.js","sourceRoot":"","sources":["../../src/controller/run-controller.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAEvB,OAAO,EAGL,gBAAgB,EAEhB,iBAAiB,EAEjB,SAAS,EACT,mBAAmB,EAEnB,eAAe,GAChB,MAAM,oBAAoB,CAAA;AAC3B,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAA;AAC1D,OAAO,EACL,qBAAqB,EACrB,qBAAqB,EACrB,6BAA6B,GAE9B,MAAM,uBAAuB,CAAA;AAC9B,OAAO,EAAE,oBAAoB,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAA;AACxE,OAAO,EAAE,yBAAyB,EAAE,MAAM,oBAAoB,CAAA;AAE9D,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAA;AACvD,OAAO,EACL,qBAAqB,EACrB,mBAAmB,EACnB,oBAAoB,EACpB,uBAAuB,EACvB,oBAAoB,GACrB,MAAM,aAAa,CAAA;AACpB,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAA;AACxD,OAAO,EAAE,yBAAyB,EAAE,MAAM,+BAA+B,CAAA;AACzE,OAAO,EACL,qBAAqB,EACrB,2BAA2B,EAC3B,2BAA2B,GAC5B,MAAM,sBAAsB,CAAA;AAC7B,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAA;AAClD,OAAO,EAAE,oBAAoB,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAA;AAC3E,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAA;AAClD,OAAO,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAA;AACrF,OAAO,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAA;AAC3D,OAAO,EAAE,uBAAuB,EAAE,MAAM,qBAAqB,CAAA;AAC7D,OAAO,EACL,YAAY,EACZ,YAAY,EACZ,aAAa,EACb,SAAS,EACT,SAAS,EACT,QAAQ,EACR,QAAQ,EACR,aAAa,EACb,uBAAuB,EACvB,uBAAuB,EACvB,0BAA0B,EAC1B,SAAS,EACT,SAAS,EACT,mBAAmB,EACnB,eAAe,EACf,sBAAsB,EACtB,uBAAuB,EACvB,iBAAiB,EACjB,0BAA0B,EAC1B,SAAS,EACT,cAAc,EACd,UAAU,GACX,MAAM,gBAAgB,CAAA;AACvB,OAAO,EAAE,yBAAyB,EAAE,MAAM,oBAAoB,CAAA;AAC9D,OAAO,EAAE,uBAAuB,EAAE,MAAM,yBAAyB,CAAA;AACjE,OAAO,EAAE,0BAA0B,EAAE,MAAM,yBAAyB,CAAA;AACpE,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAA;AACvD,OAAO,EAAE,2BAA2B,EAAE,MAAM,0BAA0B,CAAA;AAEtE,MAAM,8BAA8B,GAAG,CAAC;KACrC,MAAM,CAAC;IACN,aAAa,EAAE,mBAAmB;IAClC,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC;IAC3B,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;IACxC,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IACjC,WAAW,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;IACzD,UAAU,EAAE,gBAAgB;CAC7B,CAAC;KACD,MAAM,EAAE;KACR,QAAQ,EAAE,CAAA;AAQb,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,OAAmC,EAAiB,EAAE;IACxF,MAAM,eAAe,GAAG,OAAO,CAAC,eAAe,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,CAAA;IACxE,MAAM,qBAAqB,GAAG,CAAC,GAAQ,EAAE,EAAE,CAAC,CAAC;QAC3C,GAAG,eAAe;QAClB,UAAU,EAAE,eAAe,CAAC,UAAU,IAAI,GAAG,CAAC,WAAW,CAAC,iBAAiB,KAAK,WAAW;KAC5F,CAAC,CAAA;IACF,MAAM,MAAM,GAAG,oBAAoB,CAAC,OAAO,CAAC,CAAA;IAC5C,MAAM,EACJ,qBAAqB,EACrB,iCAAiC,EACjC,mBAAmB,EACnB,sBAAsB,EACtB,sBAAsB,GACvB,GAAG,yBAAyB,CAAC,OAAO,EAAE,eAAe,CAAC,CAAA;IACvD,MAAM,OAAO,GAAG,yBAAyB,CAAC;QACxC,cAAc,EAAE,OAAO,CAAC,cAAc;QACtC,GAAG,EAAE,OAAO,CAAC,GAAG;QAChB,KAAK,EAAE,OAAO,CAAC,KAAK;QACpB,gBAAgB,EAAE,OAAO,CAAC,gBAAgB;QAC1C,uBAAuB,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,CAAC,iCAAiC,CAAC,KAAK,CAAC;QAClF,uBAAuB,EAAE,OAAO,CAAC,gBAAgB;KAClD,CAAC,CAAA;IAEF,MAAM,gBAAgB,GAAG,KAAK,EAAE,KAAmB,EAAgB,EAAE;QACnE,KAAK,IAAI,OAAO,GAAG,CAAC,EAAE,OAAO,GAAG,CAAC,EAAE,OAAO,IAAI,CAAC,EAAE,CAAC;YAChD,IAAI,CAAC;gBACH,MAAM,GAAG,GAAG,MAAM,OAAO,CAAC,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,CAAA;gBAChD,qBAAqB,CAAC,GAAG,CAAC,CAAA;gBAC1B,OAAO,GAAG,CAAA;YACZ,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,IAAI,CAAC,iBAAiB,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,OAAO,KAAK,CAAC,EAAE,CAAC;oBACtD,MAAM,KAAK,CAAA;gBACb,CAAC;gBACD,MAAM,eAAe,EAAE,CAAA;YACzB,CAAC;QACH,CAAC;QACD,MAAM,IAAI,SAAS,CAAC,eAAe,KAAK,EAAE,CAAC,CAAA;IAC7C,CAAC,CAAA;IAED,MAAM,EAAE,QAAQ,EAAE,GAAG,kBAAkB,CAAC;QACtC,OAAO;QACP,OAAO;QACP,MAAM;QACN,OAAO,EAAE,gBAAgB;KAC1B,CAAC,CAAA;IACF,MAAM,aAAa,GAAG,IAAI,GAAG,EAA8B,CAAA;IAE3D,MAAM,uBAAuB,GAAG,KAAK,EAAE,KAMtC,EAAgB,EAAE;QACjB,MAAM,OAAO,GAAG,UAAU,CACxB,cAAc,CAAC,KAAK,CAAC,GAAG,EAAE;YACxB,GAAG,KAAK,CAAC,GAAG,CAAC,UAAU;YACvB,kBAAkB,EAChB,KAAK,CAAC,MAAM,KAAK,wBAAwB,CAAC,CAAC,CAAC,uBAAuB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI;SACxF,CAAC,EACF,KAAK,CAAC,MAAM,CACb,CAAA;QACD,MAAM,qBAAqB,GAAG,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,EAAE,gBAAgB,CAAC,CAAA;QAC1E,MAAM,cAAc,GAAG,KAAK,CAAC,OAAO,CAAC,qBAAqB,CAAC;YACzD,CAAC,CAAC,qBAAqB,CAAC,MAAM,CAAC,CAAC,KAAK,EAAmB,EAAE,CAAC,OAAO,KAAK,KAAK,QAAQ,CAAC;YACrF,CAAC,CAAC,EAAE,CAAA;QACN,MAAM,kBAAkB,GAAG,SAAS,CAAC,KAAK,CAAC;YACzC,GAAG,OAAO;YACV,eAAe,EAAE;gBACf,IAAI,EAAE,KAAK,CAAC,MAAM;gBAClB,cAAc;gBACd,kBAAkB,EAAE,EAAE;gBACtB,WAAW,EAAE;oBACX,KAAK,CAAC,MAAM,KAAK,wBAAwB;wBACvC,CAAC,CAAC,oBAAoB;wBACtB,CAAC,CAAC,kBAAkB;iBACvB;aACF;SACF,CAAC,CAAA;QACF,MAAM,MAAM,CAAC,OAAO,CAClB,kBAAkB,EAClB,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,EAAE,KAAK,CAAC,SAAS,EAAE;YACnD,MAAM,EAAE,KAAK,CAAC,MAAM;YACpB,GAAG,CAAC,KAAK,CAAC,MAAM,KAAK,wBAAwB;gBAC3C,CAAC,CAAC,EAAE,kBAAkB,EAAE,OAAO,CAAC,UAAU,CAAC,kBAAkB,EAAE;gBAC/D,CAAC,CAAC,EAAE,CAAC;YACP,GAAG,KAAK,CAAC,OAAO;SACjB,CAAC,CACH,CAAA;QACD,OAAO,kBAAkB,CAAA;IAC3B,CAAC,CAAA;IAED,MAAM,qBAAqB,GAAG,KAAK,EACjC,GAAQ,EACR,WAAwB,EACxB,mBAA4B,EAI5B,EAAE;QACF,MAAM,cAAc,GAAG,qBAAqB,CAAC,mBAAmB,CAAC,GAAG,CAAC,CAAC,CAAA;QACtE,MAAM,UAAU,GAAG,MAAM,OAAO,CAAC,SAAS,CAAC;YACzC,KAAK,EAAE,GAAG,CAAC,KAAK;YAChB,IAAI,EAAE,oBAAoB,CAAC,OAAO;YAClC,KAAK,EAAE,GAAG,WAAW,CAAC,KAAK,UAAU;YACrC,KAAK,EAAE,oBAAoB,CAAC;gBAC1B,WAAW;gBACX,KAAK,EAAE,GAAG,CAAC,KAAK;gBAChB,cAAc;gBACd,mBAAmB;aACpB,CAAC;YACF,WAAW,EAAE;gBACX,wBAAwB;gBACxB,gDAAgD;gBAChD,gDAAgD;gBAChD,2DAA2D;gBAC3D,oEAAoE;gBACpE,+GAA+G;gBAC/G,sEAAsE;gBACtE,qDAAqD;gBACrD,wBAAwB;aACzB;YACD,QAAQ,EAAE,EAAE;YACZ,cAAc,EAAE,yBAAyB,EAAE;YAC3C,YAAY,EAAE,wCAAwC;YACtD,YAAY,EAAE,mBAAmB,GAAG,CAAC,KAAK,EAAE;SAC7C,CAAC,CAAA;QACF,MAAM,MAAM,GAAG,cAAc,CAAC,UAAU,EAAE,0BAA0B,EAAE,SAAS,CAAC,CAAA;QAChF,QAAQ,MAAM,CAAC,MAAM,EAAE,CAAC;YACtB,KAAK,WAAW;gBACd,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,CAAC,cAAc,EAAE,CAAA;YACrE,KAAK,wBAAwB;gBAC3B,OAAO;oBACL,IAAI,EAAE,SAAS;oBACf,GAAG,EAAE,MAAM,uBAAuB,CAAC;wBACjC,GAAG;wBACH,MAAM,EAAE,wBAAwB;wBAChC,MAAM,EAAE,MAAM,CAAC,OAAO;wBACtB,SAAS,EAAE,0BAA0B;wBACrC,OAAO,EAAE,EAAE,cAAc,EAAE,MAAM,CAAC,cAAc,EAAE;qBACnD,CAAC;iBACH,CAAA;YACH,KAAK,cAAc;gBACjB,OAAO;oBACL,IAAI,EAAE,SAAS;oBACf,GAAG,EAAE,MAAM,uBAAuB,CAAC;wBACjC,GAAG;wBACH,MAAM,EAAE,cAAc;wBACtB,MAAM,EAAE,MAAM,CAAC,OAAO;wBACtB,SAAS,EAAE,0BAA0B;wBACrC,OAAO,EAAE,EAAE,cAAc,EAAE,MAAM,CAAC,cAAc,EAAE;qBACnD,CAAC;iBACH,CAAA;YACH;gBACE,OAAO,WAAW,CAAC,MAAM,CAAC,CAAA;QAC9B,CAAC;IACH,CAAC,CAAA;IAED,MAAM,gBAAgB,GAAG,KAAK,EAAE,KAK/B,EAAsB,EAAE;QACvB,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,SAAS,CAAC;YACrC,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,KAAK;YACtB,IAAI,EAAE,oBAAoB,CAAC,OAAO;YAClC,KAAK,EAAE,KAAK,CAAC,WAAW,CAAC,KAAK;YAC9B,KAAK,EAAE,iBAAiB,CAAC;gBACvB,WAAW,EAAE,KAAK,CAAC,WAAW;gBAC9B,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,KAAK;gBACtB,cAAc,EAAE,KAAK,CAAC,cAAc;gBACpC,mBAAmB,EAAE,KAAK,CAAC,mBAAmB;aAC/C,CAAC;YACF,WAAW,EAAE;gBACX,2CAA2C;gBAC3C,mBAAmB;gBACnB,2BAA2B;gBAC3B,GAAG,CAAC,KAAK,CAAC,WAAW,CAAC,iBAAiB,KAAK,WAAW;oBACrD,CAAC,CAAC;wBACE,oDAAoD;wBACpD,4DAA4D;wBAC5D,mCAAmC;qBACpC;oBACH,CAAC,CAAC,EAAE,CAAC;gBACP,uCAAuC,KAAK,CAAC,GAAG,CAAC,YAAY,IAAI;gBACjE,kEAAkE;gBAClE,sDAAsD;gBACtD,oCAAoC;aACrC;YACD,QAAQ,EAAE;gBACR;oBACE,KAAK,EAAE,KAAK,CAAC,cAAc,CAAC,gBAAgB;oBAC5C,IAAI,EAAE,UAAU;oBAChB,OAAO,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO;iBACtC;aACF;YACD,cAAc,EAAE,2BAA2B,EAAE;YAC7C,YAAY,EAAE,mDAAmD;YACjE,YAAY,EAAE,iBAAiB,KAAK,CAAC,GAAG,CAAC,KAAK,EAAE;SACjD,CAAC,CAAA;QACF,OAAO,iBAAiB,CAAC,MAAM,CAAC,CAAA;IAClC,CAAC,CAAA;IAED,MAAM,wBAAwB,GAAG,KAAK,EAAE,KAOvC,EAAgB,EAAE;QACjB,MAAM,OAAO,GAAG,SAAS,CAAC,KAAK,CAAC;YAC9B,GAAG,KAAK,CAAC,GAAG;YACZ,GAAG,CAAC,KAAK,CAAC,cAAc,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,KAAK,CAAC,cAAc,EAAE,CAAC;YACvF,GAAG,CAAC,KAAK,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,KAAK,CAAC,UAAU,EAAE,CAAC;YAC3E,GAAG,CAAC,KAAK,CAAC,SAAS,KAAK,SAAS;gBAC/B,CAAC,CAAC,EAAE;gBACJ,CAAC,CAAC,EAAE,SAAS,EAAE,KAAK,CAAC,SAAS,EAAE,MAAM,EAAE,YAAY,EAAE,CAAC;SAC1D,CAAC,CAAA;QACF,MAAM,MAAM,CAAC,OAAO,CAClB,OAAO,EACP,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,EAAE,KAAK,CAAC,SAAS,EAAE,KAAK,CAAC,OAAO,CAAC,CACpE,CAAA;QACD,OAAO,OAAO,CAAA;IAChB,CAAC,CAAA;IAED,MAAM,iBAAiB,GAAG,KAAK,EAAE,KAKhC,EAAuB,EAAE;QACxB,MAAM,UAAU,GAAG,MAAM,OAAO,CAAC,SAAS,CAAC;YACzC,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,KAAK;YACtB,IAAI,EAAE,oBAAoB,CAAC,QAAQ;YACnC,KAAK,EAAE,UAAU,KAAK,CAAC,WAAW,CAAC,KAAK,EAAE;YAC1C,KAAK,EAAE,IAAI,CAAC,SAAS,CAAC;gBACpB,WAAW,EAAE,KAAK,CAAC,WAAW;gBAC9B,cAAc,EAAE,KAAK,CAAC,cAAc;gBACpC,SAAS,EAAE,KAAK,CAAC,SAAS;aAC3B,CAAC;YACF,WAAW,EAAE;gBACX,yDAAyD;gBACzD,2CAA2C;gBAC3C,iDAAiD;aAClD;YACD,QAAQ,EAAE;gBACR;oBACE,KAAK,EAAE,KAAK,CAAC,cAAc,CAAC,gBAAgB;oBAC5C,IAAI,EAAE,UAAU;oBAChB,OAAO,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO;iBACtC;gBACD;oBACE,KAAK,EAAE,KAAK,CAAC,SAAS,CAAC,OAAO;oBAC9B,IAAI,EAAE,UAAU;oBAChB,OAAO,EAAE,cAAc,KAAK,CAAC,SAAS,CAAC,OAAO,EAAE;iBACjD;aACF;YACD,cAAc,EAAE;gBACd,aAAa,EAAE,OAAO;gBACtB,IAAI,EAAE,gBAAgB;gBACtB,cAAc,EAAE,CAAC,eAAe,EAAE,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,aAAa,EAAE,YAAY,CAAC;aAC5F;YACD,YAAY,EAAE,kDAAkD;YAChE,YAAY,EAAE,eAAe,KAAK,CAAC,GAAG,CAAC,KAAK,EAAE;SAC/C,CAAC,CAAA;QACF,MAAM,MAAM,GAAG,cAAc,CAAC,UAAU,EAAE,8BAA8B,EAAE,UAAU,CAAC,CAAA;QACrF,IAAI,MAAM,CAAC,MAAM,KAAK,UAAU,EAAE,CAAC;YACjC,MAAM,IAAI,oBAAoB,CAC5B,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,MAAM,KAAK,CAAC;gBACvE,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC;gBAClB,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,CACjE,CAAA;QACH,CAAC;QACD,OAAO,MAAM,CAAC,UAAU,CAAA;IAC1B,CAAC,CAAA;IAED,MAAM,mCAAmC,GAAG,CAAC,KAAgB,EAAQ,EAAE;QACrE,MAAM,iBAAiB,GAAG,KAAK,CAAC,KAAK;aAClC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,iBAAiB,CAAC;aACrC,MAAM,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,OAAO,CAAC,mBAAmB,EAAE,CAAC,QAAQ,CAAC,KAAK,SAAS,CAAC,CAAA;QAC9E,IAAI,iBAAiB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACjC,MAAM,IAAI,oBAAoB,CAAC;gBAC7B,2CAA2C,CAAC,GAAG,IAAI,GAAG,CAAC,iBAAiB,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;aACxF,CAAC,CAAA;QACJ,CAAC;IACH,CAAC,CAAA;IAED,MAAM,WAAW,GAAG,KAAK,EAAE,GAAQ,EAAE,WAAwB,EAA8B,EAAE;QAC3F,MAAM,kBAAkB,GAAG,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,CAAA;QACpD,IAAI,WAAW,GAAG,GAAG,CAAA;QACrB,IAAI,SAAyF,CAAA;QAC7F,IAAI,sBAAkD,CAAA;QACtD,KAAK,IAAI,OAAO,GAAG,CAAC,EAAE,OAAO,IAAI,kBAAkB,EAAE,OAAO,IAAI,CAAC,EAAE,CAAC;YAClE,IAAI,CAAC;gBACH,WAAW,GAAG,aAAa,CAAC,WAAW,EAAE,SAAS,CAAC,CAAA;gBACnD,WAAW,GAAG,aAAa,CAAC,WAAW,EAAE,SAAS,CAAC,CAAA;gBACnD,MAAM,eAAe,GACnB,SAAS,YAAY,qBAAqB;oBACxC,CAAC,CAAC,SAAS,CAAC,MAAM;oBAClB,CAAC,CAAC,SAAS,YAAY,oBAAoB,IAAI,uBAAuB,CAAC,SAAS,CAAC;wBAC/E,CAAC,CAAC,SAAS,CAAC,OAAO;wBACnB,CAAC,CAAC,SAAS,CAAA;gBACjB,MAAM,mBAAmB,GACvB,eAAe,KAAK,SAAS;oBAC3B,CAAC,CAAC,SAAS;oBACX,CAAC,CAAC,SAAS,YAAY,qBAAqB;wBACxC,CAAC,SAAS,CAAC,UAAU,KAAK,cAAc,IAAI,SAAS,CAAC,UAAU,KAAK,WAAW,CAAC;wBACnF,CAAC,CAAC,GAAG,eAAe,qEAAqE;wBACzF,CAAC,CAAC,eAAe,CAAA;gBACvB,qEAAqE;gBACrE,MAAM,cAAc,GAClB,sBAAsB;oBACtB,CAAC,MAAM,CAAC,KAAK,IAAI,EAAE;wBACjB,MAAM,aAAa,GAAG,MAAM,qBAAqB,CAC/C,WAAW,EACX,WAAW,EACX,mBAAmB,CACpB,CAAA;wBACD,IAAI,aAAa,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;4BACrC,MAAM,IAAI,oBAAoB,CAAC,aAAa,CAAC,GAAG,CAAC,CAAA;wBACnD,CAAC;wBACD,WAAW,GAAG,MAAM,wBAAwB,CAAC;4BAC3C,GAAG,EAAE,WAAW;4BAChB,cAAc,EAAE,aAAa,CAAC,cAAc;4BAC5C,SAAS,EAAE,+BAA+B;4BAC1C,OAAO,EAAE;gCACP,gBAAgB,EAAE,aAAa,CAAC,cAAc,CAAC,gBAAgB;gCAC/D,aAAa,EAAE,aAAa,CAAC,cAAc,CAAC,aAAa;6BAC1D;yBACF,CAAC,CAAA;wBACF,OAAO,aAAa,CAAC,cAAc,CAAA;oBACrC,CAAC,CAAC,EAAE,CAAC,CAAA;gBACP,sBAAsB,GAAG,cAAc,CAAA;gBACvC,MAAM,SAAS,GAAG,MAAM,gBAAgB,CAAC;oBACvC,GAAG,EAAE,WAAW;oBAChB,WAAW;oBACX,cAAc;oBACd,GAAG,CAAC,mBAAmB,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,mBAAmB,EAAE,CAAC;iBACtE,CAAC,CAAA;gBACF,iBAAiB,CAAC,SAAS,EAAE,WAAW,EAAE,GAAG,CAAC,KAAK,EAAE,GAAG,CAAC,YAAY,CAAC,CAAA;gBACtE,mCAAmC,CAAC,SAAS,CAAC,CAAA;gBAC9C,MAAM,UAAU,GAAG,MAAM,iBAAiB,CAAC;oBACzC,GAAG,EAAE,WAAW;oBAChB,WAAW;oBACX,cAAc;oBACd,SAAS;iBACV,CAAC,CAAA;gBACF,WAAW,GAAG,MAAM,wBAAwB,CAAC;oBAC3C,GAAG,EAAE,WAAW;oBAChB,cAAc;oBACd,SAAS;oBACT,UAAU;oBACV,SAAS,EAAE,mCAAmC;oBAC9C,OAAO,EAAE;wBACP,OAAO,EAAE,SAAS,CAAC,OAAO;wBAC1B,QAAQ,EAAE,UAAU,CAAC,QAAQ;qBAC9B;iBACF,CAAC,CAAA;gBACF,OAAO;oBACL,cAAc;oBACd,SAAS;oBACT,UAAU;iBACX,CAAA;YACH,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,IAAI,KAAK,YAAY,sBAAsB,IAAI,KAAK,YAAY,oBAAoB,EAAE,CAAC;oBACrF,MAAM,KAAK,CAAA;gBACb,CAAC;gBACD,IAAI,KAAK,YAAY,oBAAoB,EAAE,CAAC;oBAC1C,MAAM,KAAK,CAAA;gBACb,CAAC;gBACD,IACE,CAAC,CACC,KAAK,YAAY,mBAAmB;oBACpC,KAAK,YAAY,qBAAqB;oBACtC,CAAC,KAAK,YAAY,oBAAoB;wBACpC,WAAW,CAAC,iBAAiB,KAAK,WAAW;wBAC7C,uBAAuB,CAAC,KAAK,CAAC,CAAC,CAClC,EACD,CAAC;oBACD,MAAM,KAAK,CAAA;gBACb,CAAC;gBACD,SAAS,GAAG,KAAK,CAAA;gBACjB,IAAI,CAAC,CAAC,KAAK,YAAY,oBAAoB,CAAC,EAAE,CAAC;oBAC7C,oBAAoB,CAAC,SAAS,EAAE,KAAK,EAAE,OAAO,CAAC,CAAA;gBACjD,CAAC;gBACD,IAAI,OAAO,GAAG,kBAAkB,EAAE,CAAC;oBACjC,MAAM,QAAQ,GAAG,UAAU,CAAC,WAAW,EAAE,UAAU,CAAC,CAAA;oBACpD,MAAM,MAAM,CAAC,OAAO,CAClB,QAAQ,EACR,MAAM,CAAC,WAAW,CAAC,WAAW,CAAC,KAAK,EAAE,uBAAuB,EAAE;wBAC7D,OAAO;wBACP,GAAG,CAAC,sBAAsB,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,oBAAoB,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;qBAChF,CAAC,CACH,CAAA;gBACH,CAAC;YACH,CAAC;QACH,CAAC;QACD,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;YAC5B,MAAM,IAAI,mBAAmB,CAAC,SAAS,EAAE,uCAAuC,CAAC,CAAA;QACnF,CAAC;QACD,MAAM,SAAS,CAAA;IACjB,CAAC,CAAA;IAED,MAAM,oBAAoB,GAAG,KAAK,EAAE,GAAQ,EAAgB,EAAE;QAC5D,IAAI,GAAG,CAAC,MAAM,KAAK,UAAU,EAAE,CAAC;YAC9B,OAAO,GAAG,CAAA;QACZ,CAAC;QACD,MAAM,QAAQ,GAAG,UAAU,CAAC,GAAG,EAAE,UAAU,CAAC,CAAA;QAC5C,MAAM,MAAM,CAAC,OAAO,CAClB,QAAQ,EACR,MAAM,CAAC,WAAW,CAAC,GAAG,CAAC,KAAK,EAAE,cAAc,EAAE,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC,CACtE,CAAA;QACD,OAAO,QAAQ,CAAA;IACjB,CAAC,CAAA;IAED,MAAM,qBAAqB,GAAG,KAAK,EACjC,GAA4C,EACM,EAAE;QACpD,MAAM,SAAS,GAAG,eAAe,CAAC,EAAE,GAAG,GAAG,EAAE,MAAM,EAAE,WAAW,EAAE,CAAC,CAAA;QAClE,MAAM,MAAM,CAAC,OAAO,CAClB,SAAS,EACT,MAAM,CAAC,WAAW,CAAC,SAAS,CAAC,KAAK,EAAE,eAAe,EAAE,EAAE,MAAM,EAAE,WAAW,EAAE,CAAC,CAC9E,CAAA;QACD,OAAO,SAAS,CAAA;IAClB,CAAC,CAAA;IAED,MAAM,gBAAgB,GAAG,KAAK,EAAE,GAAQ,EAAE,MAAe,EAAgB,EAAE;QACzE,MAAM,SAAS,GAAG,SAAS,CAAC,KAAK,CAAC;YAChC,GAAG,GAAG;YACN,iBAAiB,EAAE,uBAAuB,CAAC,GAAG,EAAE,MAAM,CAAC;SACxD,CAAC,CAAA;QACF,MAAM,MAAM,CAAC,OAAO,CAClB,SAAS,EACT,MAAM,CAAC,WAAW,CAAC,GAAG,CAAC,KAAK,EAAE,yBAAyB,EAAE;YACvD,MAAM,EAAE,SAAS,CAAC,iBAAiB,EAAE,MAAM,IAAI,SAAS;YACxD,KAAK,EAAE,SAAS,CAAC,aAAa;SAC/B,CAAC,CACH,CAAA;QACD,OAAO,SAAS,CAAA;IAClB,CAAC,CAAA;IAED,MAAM,sBAAsB,GAAG,KAAK,EAClC,GAA4C,EAC9B,EAAE;QAChB,MAAM,UAAU,GAAG,GAAG,CAAC,oBAAoB,IAAI;YAC7C,IAAI,EAAE,SAAkB;YACxB,SAAS,EAAE,qCAAqC;YAChD,kBAAkB,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,SAAS,CAAC,KAAK,CAAC,MAAM,CAAC;YAC3D,wBAAwB,EAAE,CAAC;YAC3B,cAAc,EAAE,MAAe;YAC/B,UAAU,EAAE,KAAc;SAC3B,CAAA;QACD,MAAM,UAAU,GAAG,YAAY,CAAC,UAAU,EAAE;YAC1C,SAAS,EAAE,GAAG,CAAC,SAAS;YACxB,aAAa,EAAE,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI;SACtC,CAAC,CAAA;QACF,MAAM,MAAM,GAAG,eAAe,CAAC;YAC7B,GAAG,GAAG;YACN,YAAY,EAAE,UAAU,CAAC,YAAY;YACrC,aAAa,EAAE,UAAU,CAAC,aAAa;YACvC,eAAe,EAAE,EAAE,GAAG,UAAU,CAAC,eAAe,EAAE,MAAM,EAAE,YAAY,EAAE;SACzE,CAAC,CAAA;QACF,MAAM,MAAM,CAAC,OAAO,CAClB,MAAM,EACN,MAAM,CAAC,WAAW,CAAC,GAAG,CAAC,KAAK,EAAE,sBAAsB,EAAE;YACpD,eAAe,EAAE,UAAU,CAAC,eAAe;SAC5C,CAAC,CACH,CAAA;QACD,OAAO,gBAAgB,CAAC,MAAM,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAA;IACjD,CAAC,CAAA;IAED,MAAM,YAAY,GAAG,KAAK,EAAE,GAAQ,EAAE,MAAc,EAAgB,EAAE;QACpE,MAAM,iBAAiB,GACrB,GAAG,CAAC,eAAe,EAAE,UAAU;YAC/B,CAAC,GAAG,CAAC,aAAa,KAAK,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,aAAa,CAAC,CAAA;QACjE,MAAM,iBAAiB,GACrB,GAAG,CAAC,eAAe,EAAE,UAAU,IAAI,CAAC,GAAG,CAAC,aAAa,KAAK,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAA;QAC/F,IAAI,aAAqC,CAAA;QACzC,IAAI,OAA+B,CAAA;QAEnC,QAAQ,iBAAiB,EAAE,CAAC;YAC1B,KAAK,QAAQ;gBACX,aAAa,GAAG,aAAa,CAAA;gBAC7B,OAAO,GAAG,GAAG,CAAC,YAAY,KAAK,SAAS,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,GAAG,CAAC,YAAY,CAAA;gBACxE,MAAK;YACP,KAAK,aAAa;gBAChB,aAAa,GAAG,MAAM,CAAA;gBACtB,OAAO,GAAG,SAAS,CAAA;gBACnB,MAAK;YACP,KAAK,MAAM;gBACT,aAAa,GAAG,MAAM,CAAA;gBACtB,OAAO,GAAG,SAAS,CAAA;gBACnB,MAAK;YACP;gBACE,OAAO,GAAG,CAAA;QACd,CAAC;QAED,IAAI,iBAAiB,KAAK,MAAM,EAAE,CAAC;YACjC,OAAO,GAAG,CAAA;QACZ,CAAC;QAED,MAAM,QAAQ,GAA2B,aAAa,CAAA;QAEtD,MAAM,QAAQ,GAAG,SAAS,CAAC,KAAK,CAAC;YAC/B,GAAG,GAAG;YACN,aAAa,EAAE,QAAQ;YACvB,YAAY,EAAE,OAAO;YACrB,eAAe,EAAE;gBACf,IAAI,EAAE,OAAO;gBACb,UAAU,EAAE,aAAa;gBACzB,UAAU,EAAE,iBAAiB;gBAC7B,MAAM,EAAE,cAAc;gBACtB,OAAO,EAAE,CAAC,MAAM,CAAC;aAClB;YACD,iBAAiB,EAAE,uBAAuB,CACxC,EAAE,GAAG,GAAG,EAAE,aAAa,EAAE,QAAQ,EAAE,YAAY,EAAE,OAAO,EAAS,EACjE,MAAM,CACP;SACF,CAAC,CAAA;QAEF,MAAM,MAAM,CAAC,OAAO,CAClB,QAAQ,EACR,MAAM,CAAC,WAAW,CAAC,GAAG,CAAC,KAAK,EAAE,oBAAoB,EAAE;YAClD,aAAa,EAAE,GAAG,CAAC,aAAa;YAChC,QAAQ;YACR,YAAY,EAAE,GAAG,CAAC,YAAY;YAC9B,OAAO;YACP,MAAM;SACP,CAAC,CACH,CAAA;QAED,OAAO,QAAQ,CAAA;IACjB,CAAC,CAAA;IAED,MAAM,WAAW,GAAG,KAAK,EAAE,KAAmB,EAAgB,EAAE;QAC9D,MAAM,OAAO,GAAG,MAAM,gBAAgB,CAAC,KAAK,CAAC,CAAA;QAC7C,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,EAAE,CAAC;YAC5B,OAAO,OAAO,CAAA;QAChB,CAAC;QAED,IAAI,OAAO,CAAC,MAAM,KAAK,aAAa,EAAE,CAAC;YACrC,IAAI,iBAAoC,CAAA;YACxC,IAAI,CAAC;gBACH,iBAAiB,GAAG,MAAM,sBAAsB,CAAC,OAAO,CAAC,CAAC,eAAe,CACvE,qBAAqB,CAAC,OAAO,CAAC,CAC/B,CAAA;YACH,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,IAAI,KAAK,YAAY,6BAA6B,EAAE,CAAC;oBACnD,OAAO,MAAM,oBAAoB,CAAC,KAAK,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,CAAC,CAAA;gBAClE,CAAC;gBACD,MAAM,KAAK,CAAA;YACb,CAAC;YACD,IAAI,iBAAiB,CAAC,IAAI,KAAK,KAAK,EAAE,CAAC;gBACrC,MAAM,OAAO,GACX,CAAC,qBAAqB,CAAC,OAAO,CAAC,CAAC,UAAU;oBAC1C,iBAAiB,CAAC,iBAAiB,CAAC,MAAM,GAAG,CAAC,CAAA;gBAChD,IAAI,CAAC,OAAO,EAAE,CAAC;oBACb,MAAM,OAAO,GAAG,SAAS,CAAC,KAAK,CAAC;wBAC9B,GAAG,OAAO;wBACV,SAAS,EAAE,EAAE,GAAG,OAAO,CAAC,SAAS,EAAE,GAAG,EAAE,iBAAiB,EAAE;wBAC3D,UAAU,EAAE;4BACV,GAAG,OAAO,CAAC,UAAU;4BACrB,WAAW,EAAE,IAAI;yBAClB;qBACF,CAAC,CAAA;oBACF,MAAM,MAAM,CAAC,OAAO,CAClB,OAAO,EACP,MAAM,CAAC,WAAW,CAAC,KAAK,EAAE,4BAA4B,EAAE;wBACtD,IAAI,EAAE,iBAAiB,CAAC,IAAI;qBAC7B,CAAC,CACH,CAAA;oBACD,OAAO,MAAM,wBAAwB,CAAC,OAAO,CAAC,CAAA;gBAChD,CAAC;YACH,CAAC;YACD,OAAO,OAAO,CAAA;QAChB,CAAC;QAED,IAAI,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,kBAAkB,KAAK,qBAAqB,CAAC,SAAS,CAAC,EAAE,CAAC;YAClF,IAAI,iBAAoC,CAAA;YACxC,IAAI,CAAC;gBACH,iBAAiB,GAAG,MAAM,sBAAsB,CAAC,OAAO,CAAC,CAAC,eAAe,CACvE,qBAAqB,CAAC,OAAO,CAAC,CAC/B,CAAA;YACH,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,IAAI,KAAK,YAAY,6BAA6B,EAAE,CAAC;oBACnD,OAAO,MAAM,oBAAoB,CAAC,KAAK,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,CAAC,CAAA;gBAClE,CAAC;gBACD,MAAM,KAAK,CAAA;YACb,CAAC;YACD,MAAM,OAAO,GAAG,SAAS,CAAC,KAAK,CAAC;gBAC9B,GAAG,OAAO;gBACV,SAAS,EAAE,EAAE,GAAG,OAAO,CAAC,SAAS,EAAE,GAAG,EAAE,iBAAiB,EAAE;aAC5D,CAAC,CAAA;YACF,MAAM,MAAM,CAAC,OAAO,CAClB,OAAO,EACP,MAAM,CAAC,WAAW,CAAC,KAAK,EAAE,iCAAiC,EAAE;gBAC3D,IAAI,EAAE,iBAAiB,CAAC,IAAI;aAC7B,CAAC,CACH,CAAA;YAED,IAAI,iBAAiB,CAAC,IAAI,KAAK,SAAS,IAAI,eAAe,CAAC,WAAW,KAAK,IAAI,EAAE,CAAC;gBACjF,MAAM,OAAO,GAAG,UAAU,CACxB,cAAc,CAAC,OAAO,EAAE;oBACtB,GAAG,OAAO,CAAC,UAAU;oBACrB,kBAAkB,EAAE,IAAI;oBACxB,WAAW,EAAE,EAAE,IAAI,EAAE,mBAAmB,EAAE,aAAa,EAAE,EAAE,EAAE;iBAC9D,CAAC,EACF,aAAa,CACd,CAAA;gBACD,MAAM,MAAM,CAAC,OAAO,CAClB,OAAO,EACP,MAAM,CAAC,WAAW,CAAC,KAAK,EAAE,qBAAqB,EAAE;oBAC/C,MAAM,EAAE,kDAAkD;iBAC3D,CAAC,CACH,CAAA;gBACD,OAAO,OAAO,CAAA;YAChB,CAAC;YAED,IACE,CAAC,qBAAqB,CAAC,OAAO,CAAC,CAAC,UAAU;gBAC1C,iBAAiB,CAAC,iBAAiB,CAAC,MAAM,GAAG,CAAC,EAC9C,CAAC;gBACD,MAAM,OAAO,GAAG,UAAU,CACxB,cAAc,CAAC,OAAO,EAAE;oBACtB,GAAG,OAAO,CAAC,UAAU;oBACrB,kBAAkB,EAAE,IAAI;oBACxB,WAAW,EAAE;wBACX,IAAI,EAAE,iBAAiB;wBACvB,UAAU,EAAE,iBAAiB,CAAC,iBAAiB;qBAChD;iBACF,CAAC,EACF,aAAa,CACd,CAAA;gBACD,MAAM,MAAM,CAAC,OAAO,CAClB,OAAO,EACP,MAAM,CAAC,WAAW,CAAC,KAAK,EAAE,6BAA6B,EAAE;oBACvD,UAAU,EAAE,iBAAiB,CAAC,iBAAiB;iBAChD,CAAC,CACH,CAAA;gBACD,OAAO,OAAO,CAAA;YAChB,CAAC;YAED,OAAO,MAAM,wBAAwB,CAAC,OAAO,CAAC,CAAA;QAChD,CAAC;QAED,OAAO,MAAM,wBAAwB,CAAC,OAAO,CAAC,CAAA;IAChD,CAAC,CAAA;IAED,MAAM,oBAAoB,GAAG,KAAK,EAChC,KAAmB,EACnB,GAAQ,EACR,MAAc,EACA,EAAE;QAChB,MAAM,OAAO,GAAG,UAAU,CACxB,cAAc,CAAC,GAAG,EAAE;YAClB,GAAG,GAAG,CAAC,UAAU;YACjB,kBAAkB,EAAE,IAAI;YACxB,WAAW,EAAE,EAAE,IAAI,EAAE,mBAAmB,EAAE,aAAa,EAAE,EAAE,EAAE;SAC9D,CAAC,EACF,aAAa,CACd,CAAA;QACD,MAAM,MAAM,CAAC,OAAO,CAClB,OAAO,EACP,MAAM,CAAC,WAAW,CAAC,KAAK,EAAE,gCAAgC,EAAE,EAAE,MAAM,EAAE,CAAC,CACxE,CAAA;QACD,OAAO,OAAO,CAAA;IAChB,CAAC,CAAA;IAED,MAAM,wBAAwB,GAAG,KAAK,EAAE,OAAY,EAAgB,EAAE;QACpE,IAAI,OAAO,CAAC,eAAe,EAAE,MAAM,KAAK,QAAQ,EAAE,CAAC;YACjD,MAAM,QAAQ,GAAG,SAAS,CAAC,KAAK,CAAC;gBAC/B,GAAG,OAAO;gBACV,eAAe,EAAE;oBACf,GAAG,OAAO,CAAC,eAAe;oBAC1B,MAAM,EAAE,WAAW,IAAI,OAAO,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,QAAQ;oBACxD,OAAO,EAAE,CAAC,GAAG,OAAO,CAAC,eAAe,CAAC,OAAO,EAAE,mCAAmC,CAAC;iBACnF;aACF,CAAC,CAAA;YACF,MAAM,MAAM,CAAC,OAAO,CAClB,QAAQ,EACR,MAAM,CAAC,WAAW,CAAC,OAAO,CAAC,KAAK,EAAE,6BAA6B,EAAE;gBAC/D,aAAa,EAAE,OAAO,CAAC,aAAa;gBACpC,eAAe,EAAE;oBACf,GAAG,OAAO,CAAC,eAAe;oBAC1B,MAAM,EAAE,WAAW,IAAI,OAAO,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,QAAQ;oBACxD,OAAO,EAAE,CAAC,GAAG,OAAO,CAAC,eAAe,CAAC,OAAO,EAAE,mCAAmC,CAAC;iBACnF;aACF,CAAC,CACH,CAAA;YACD,OAAO,wBAAwB,CAAC,QAAQ,CAAC,CAAA;QAC3C,CAAC;QAED,MAAM,cAAc,GAAG,MAAM,OAAO,CAAC,uBAAuB,CAAC;YAC3D,KAAK,EAAE,OAAO,CAAC,KAAK;YACpB,OAAO,EAAE,kBAAkB;SAC5B,CAAC,CAAA;QACF,IAAI,cAAc,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;YACtC,OAAO,OAAO,CAAA;QAChB,CAAC;QACD,IAAI,cAAc,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;YACxC,MAAM,WAAW,GACf,WAAW,IAAI,OAAO;gBACpB,CAAC,CAAC,UAAU,CAAC,OAAO,EAAE,QAAQ,CAAC;gBAC/B,CAAC,CAAC,UAAU,CACR,cAAc,CAAC,OAAO,EAAE;oBACtB,GAAG,OAAO,CAAC,UAAU;oBACrB,kBAAkB,EAAE,uBAAuB,CAAC,OAAO,CAAC;iBACrD,CAAC,EACF,wBAAwB,CACzB,CAAA;YACP,MAAM,MAAM,CAAC,OAAO,CAClB,WAAW,EACX,MAAM,CAAC,WAAW,CAAC,OAAO,CAAC,KAAK,EAAE,gCAAgC,EAAE;gBAClE,UAAU,EAAE,cAAc,CAAC,UAAU;gBACrC,MAAM,EAAE,WAAW,CAAC,MAAM;aAC3B,CAAC,CACH,CAAA;YACD,OAAO,WAAW,CAAA;QACpB,CAAC;QAED,IACE,CAAC,CAAC,WAAW,IAAI,OAAO,CAAC;YACzB,CAAC,SAAS,EAAE,WAAW,EAAE,UAAU,EAAE,SAAS,EAAE,cAAc,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,EACxF,CAAC;YACD,MAAM,OAAO,GACX,OAAO,CAAC,MAAM,KAAK,SAAS,IAAI,OAAO,CAAC,MAAM,KAAK,cAAc;gBAC/D,CAAC,CAAC,UAAU,CACR,cAAc,CAAC,OAAO,EAAE;oBACtB,GAAG,OAAO,CAAC,UAAU;oBACrB,kBAAkB,EAAE,IAAI;iBACzB,CAAC,EACF,UAAU,CACX;gBACH,CAAC,CAAC,OAAO,CAAA;YACb,IAAI,OAAO,KAAK,OAAO,EAAE,CAAC;gBACxB,MAAM,MAAM,CAAC,OAAO,CAClB,OAAO,EACP,MAAM,CAAC,WAAW,CAAC,OAAO,CAAC,KAAK,EAAE,sBAAsB,EAAE;oBACxD,cAAc,EAAE,OAAO,CAAC,MAAM;iBAC/B,CAAC,CACH,CAAA;YACH,CAAC;YACD,MAAM,KAAK,GACT,OAAO,CAAC,eAAe,EAAE,UAAU;gBACnC,CAAC,OAAO,CAAC,aAAa,KAAK,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,CAAA;YAEzE,IAAI,KAAK,KAAK,QAAQ,EAAE,CAAC;gBACvB,MAAM,YAAY,GAAG,kBAAkB,CAAC;oBACtC,OAAO;oBACP,MAAM;oBACN,GAAG,EAAE,OAAO,CAAC,GAAG;oBAChB,OAAO,EAAE,gBAAgB;oBACzB,YAAY;iBACb,CAAC,CAAA;gBACF,OAAO,MAAM,gBAAgB,CAAC,MAAM,YAAY,CAAC,OAAO,CAAC,OAAO,EAAE,OAAO,CAAC,WAAW,CAAC,CAAC,CAAA;YACzF,CAAC;YAED,IAAI,KAAK,KAAK,aAAa,EAAE,CAAC;gBAC5B,MAAM,iBAAiB,GAAG,uBAAuB,CAAC;oBAChD,OAAO;oBACP,MAAM;oBACN,GAAG,EAAE,OAAO,CAAC,GAAG;oBAChB,OAAO,EAAE,gBAAgB;oBACzB,YAAY;oBACZ,QAAQ,EAAE,sBAAsB;oBAChC,WAAW,EAAE,wBAAwB;iBACtC,CAAC,CAAA;gBACF,OAAO,MAAM,iBAAiB,CAAC,OAAO,CAAC,OAAO,EAAE,OAAO,CAAC,WAAW,CAAC,CAAA;YACtE,CAAC;YAED,MAAM,QAAQ,GAAG,MAAM,oBAAoB,CAAC,OAAO,CAAC,CAAA;YACpD,MAAM,iBAAiB,GAAG,MAAM,WAAW,CAAC,QAAQ,EAAE,QAAQ,CAAC,WAAW,CAAC,CAAA;YAC3E,iBAAiB,CACf,iBAAiB,CAAC,SAAS,EAC3B,QAAQ,CAAC,WAAW,EACpB,OAAO,CAAC,KAAK,EACb,OAAO,CAAC,YAAY,CACrB,CAAA;YACD,OAAO,CAAC,iBAAiB,CAAC,OAAO,CAAC,KAAK,CAAC,CAAA;YACxC,OAAO,MAAM,sBAAsB,CACjC,MAAM,qBAAqB,CACzB,eAAe,CAAC;gBACd,GAAG,QAAQ;gBACX,MAAM,EAAE,WAAW;gBACnB,SAAS,EAAE,iBAAiB,CAAC,SAAS;gBACtC,cAAc,EAAE,iBAAiB,CAAC,cAAc;gBAChD,UAAU,EAAE,iBAAiB,CAAC,UAAU;aACzC,CAAC,CACH,CACF,CAAA;QACH,CAAC;QAED,MAAM,OAAO,GAAG,eAAe,CAAC,SAAS,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,CAAA;QACzD,OAAO,CAAC,iBAAiB,CAAC,OAAO,CAAC,KAAK,CAAC,CAAA;QACxC,IAAI,OAAO,CAAC,MAAM,KAAK,WAAW,IAAI,OAAO,CAAC,UAAU,CAAC,MAAM,KAAK,IAAI,EAAE,CAAC;YACzE,OAAO,MAAM,sBAAsB,CAAC,MAAM,qBAAqB,CAAC,OAAO,CAAC,CAAC,CAAA;QAC3E,CAAC;QACD,OAAO,MAAM,sBAAsB,CAAC,OAAO,CAAC,CAAA;IAC9C,CAAC,CAAA;IAED,MAAM,UAAU,GAAG,KAAK,EAAE,KAAmB,EAAgB,EAAE;QAC7D,MAAM,MAAM,GAAG,aAAa,CAAC,GAAG,CAAC,KAAK,CAAC,CAAA;QACvC,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;YACzB,OAAO,MAAM,CAAA;QACf,CAAC;QACD,MAAM,OAAO,GAAG,WAAW,CAAC,KAAK,CAAC;aAC/B,KAAK,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE,CACrB,oBAAoB,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,gBAAgB,EAAE,MAAM,EAAE,CAAC,CAC1E;aACA,OAAO,CAAC,GAAG,EAAE;YACZ,aAAa,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;QAC7B,CAAC,CAAC,CAAA;QACJ,aAAa,CAAC,GAAG,CAAC,KAAK,EAAE,OAAO,CAAC,CAAA;QACjC,OAAO,OAAO,CAAA;IAChB,CAAC,CAAA;IAED,MAAM,UAAU,GAAkB;QAChC,KAAK,CAAC,KAAK,CAAC,KAAK,EAAE,OAAO;YACxB,MAAM,WAAW,GAAG,iBAAiB,CAAC,KAAK,CAAC,EAAE,aAAa,EAAE,OAAO,EAAE,GAAG,KAAK,EAAE,CAAC,CAAA;YACjF,MAAM,eAAe,GAAG,MAAM,sBAAsB,CAAC,WAAW,CAAC,gBAAgB,CAAC,CAAA;YAClF,MAAM,oBAAoB,GAAG,KAAK,CAAC,oBAAoB,CAAA;YACvD,MAAM,eAAe,GAAG,oBAAoB;gBAC1C,CAAC,CAAC,YAAY,CAAC,oBAAoB,CAAC;gBACpC,CAAC,CAAC,KAAK,CAAC,iBAAiB,KAAK,WAAW;oBACvC,CAAC,CAAC;wBACE,YAAY,EAAE,UAAmB;wBACjC,aAAa,EAAE,aAAsB;wBACrC,eAAe,EAAE;4BACf,IAAI,EAAE,UAAmB;4BACzB,UAAU,EAAE,aAAsB;4BAClC,UAAU,EAAE,QAAiB;4BAC7B,MAAM,EAAE,QAAiB;4BACzB,OAAO,EAAE,CAAC,qDAAqD,CAAC;yBACjE;qBACF;oBACH,CAAC,CAAC;wBACE,YAAY,EAAE,SAAkB;wBAChC,aAAa,EAAE,MAAe;wBAC9B,eAAe,EAAE;4BACf,IAAI,EAAE,SAAkB;4BACxB,UAAU,EAAE,MAAe;4BAC3B,UAAU,EAAE,QAAiB;4BAC7B,MAAM,EAAE,QAAiB;4BACzB,OAAO,EAAE,CAAC,wDAAwD,CAAC;yBACpE;qBACF,CAAA;YAEP,MAAM,OAAO,GAAG,SAAS,CAAC,KAAK,CAAC;gBAC9B,aAAa,EAAE,OAAO;gBACtB,KAAK,EAAE,OAAO,CAAC,GAAG,CAAC,WAAW,EAAE;gBAChC,GAAG,CAAC,OAAO,EAAE,eAAe,KAAK,SAAS;oBACxC,CAAC,CAAC,EAAE;oBACJ,CAAC,CAAC,EAAE,eAAe,EAAE,OAAO,CAAC,eAAe,EAAE,CAAC;gBACjD,GAAG,CAAC,OAAO,EAAE,eAAe,KAAK,SAAS;oBACxC,CAAC,CAAC,EAAE;oBACJ,CAAC,CAAC,EAAE,eAAe,EAAE,OAAO,CAAC,eAAe,EAAE,CAAC;gBACjD,GAAG,CAAC,WAAW,CAAC,YAAY,KAAK,SAAS;oBACxC,CAAC,CAAC,EAAE;oBACJ,CAAC,CAAC,EAAE,YAAY,EAAE,WAAW,CAAC,YAAY,EAAE,CAAC;gBAC/C,MAAM,EAAE,SAAS;gBACjB,WAAW;gBACX,QAAQ,EAAE,EAAE;gBACZ,QAAQ,EAAE,EAAE;gBACZ,YAAY,EAAE,EAAE;gBAChB,OAAO,EAAE,uBAAuB,CAAC,OAAO,CAAC,cAAc,CAAC;gBACxD,UAAU,EAAE,0BAA0B,EAAE;gBACxC,SAAS,EAAE;oBACT,YAAY,EAAE,WAAW,CAAC,YAAY,IAAI,eAAe,CAAC,YAAY;oBACtE,aAAa,EAAE,eAAe,CAAC,aAAa;oBAC5C,GAAG,EAAE;wBACH,IAAI,EAAE,KAAc;wBACpB,OAAO,EAAE,IAAI;wBACb,kBAAkB,EAAE,qBAAqB,CAAC,SAAS,CAAC;wBACpD,iBAAiB,EAAE,EAAE;wBACrB,iBAAiB,EAAE,EAAE;wBACrB,YAAY,EACV,eAAe,CAAC,UAAU,IAAI,WAAW,CAAC,iBAAiB,KAAK,WAAW;wBAC7E,mBAAmB,EAAE,EAAE;qBACxB;iBACF;gBACD,GAAG,CAAC,oBAAoB,CAAC,CAAC,CAAC,EAAE,oBAAoB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACzD,YAAY,EAAE,eAAe,CAAC,YAAY;gBAC1C,aAAa,EAAE,eAAe,CAAC,aAAa;gBAC5C,eAAe,EAAE,eAAe,CAAC,eAAe;gBAChD,iBAAiB,EAAE,uBAAuB,CAAC;oBACzC,WAAW;oBACX,QAAQ,EAAE,EAAE;oBACZ,YAAY,EAAE,eAAe,CAAC,YAAY;oBAC1C,aAAa,EAAE,eAAe,CAAC,aAAa;iBAC7C,CAAC;aACH,CAAC,CAAA;YACF,qBAAqB,CAAC,OAAO,CAAC,CAAA;YAC9B,MAAM,MAAM,CAAC,OAAO,CAClB,OAAO,EACP,MAAM,CAAC,WAAW,CAAC,OAAO,CAAC,KAAK,EAAE,aAAa,EAAE;gBAC/C,MAAM,EAAE,SAAS;gBACjB,GAAG,CAAC,oBAAoB;oBACtB,CAAC,CAAC;wBACE,oBAAoB;wBACpB,YAAY,EAAE,eAAe,CAAC,YAAY;wBAC1C,aAAa,EAAE,eAAe,CAAC,aAAa;wBAC5C,eAAe,EAAE,eAAe,CAAC,eAAe;qBACjD;oBACH,CAAC,CAAC,EAAE,CAAC;aACR,CAAC,CACH,CAAA;YAED,OAAO,OAAO,CAAA;QAChB,CAAC;QAED,KAAK,CAAC,UAAU,CAAC,KAAK;YACpB,OAAO,UAAU,CAAC,KAAK,CAAC,CAAA;QAC1B,CAAC;QAED,KAAK,CAAC,MAAM,CAAC,KAAK;YAChB,OAAO,gBAAgB,CAAC,KAAK,CAAC,CAAA;QAChC,CAAC;QAED,KAAK,CAAC,KAAK,CAAC,KAAK;YACf,MAAM,OAAO,GAAG,MAAM,gBAAgB,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA;YACnD,IAAI,OAAO,CAAC,MAAM,KAAK,QAAQ,IAAI,mBAAmB,CAAC,OAAO,CAAC,EAAE,CAAC;gBAChE,OAAO,OAAO,CAAA;YAChB,CAAC;YACD,iBAAiB,CAAC,OAAO,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAA;YAC7C,MAAM,MAAM,GAAG,UAAU,CACvB,SAAS,CAAC,OAAO,EAAE;gBACjB,OAAO,EAAE,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,SAAS,KAAK,CAAC,KAAK,EAAE,CAAC;gBAC1D,KAAK,EAAE,KAAK,CAAC,KAAK;gBAClB,MAAM,EAAE,KAAK,CAAC,MAAM;gBACpB,QAAQ,EAAE,OAAO,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,WAAW,EAAE;aAC5C,CAAC,EACF,QAAQ,CACT,CAAA;YACD,OAAO,CAAC,UAAU,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA;YAC/B,MAAM,MAAM,CAAC,OAAO,CAClB,MAAM,EACN,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC,KAAK,EAAE,YAAY,EAAE;gBAC5C,OAAO,EAAE,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,OAAO,IAAI,IAAI;gBAClD,KAAK,EAAE,KAAK,CAAC,KAAK;gBAClB,MAAM,EAAE,KAAK,CAAC,MAAM;aACrB,CAAC,CACH,CAAA;YACD,MAAM,OAAO,CAAC,kBAAkB,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA;YAC7C,MAAM,MAAM,GAAG,MAAM,gBAAgB,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA;YAClD,OAAO,MAAM,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAA;QACrD,CAAC;QAED,KAAK,CAAC,MAAM,CAAC,KAAK;YAChB,MAAM,OAAO,GAAG,MAAM,gBAAgB,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA;YACnD,IAAI,SAAS,CAAC,OAAO,EAAE,KAAK,CAAC,UAAU,CAAC,EAAE,CAAC;gBACzC,OAAO,OAAO,CAAA;YAChB,CAAC;YACD,IAAI,OAAO,CAAC,MAAM,KAAK,aAAa,EAAE,CAAC;gBACrC,MAAM,IAAI,uBAAuB,CAAC,KAAK,CAAC,KAAK,EAAE,QAAQ,EAAE,OAAO,CAAC,MAAM,CAAC,CAAA;YAC1E,CAAC;YACD,iBAAiB,CAAC,OAAO,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAA;YAC/C,MAAM,OAAO,GAAG,UAAU,CACxB,YAAY,CAAC,OAAO,EAAE;gBACpB,QAAQ,EAAE,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,UAAU,KAAK,CAAC,UAAU,EAAE,CAAC;gBACjE,UAAU,EAAE,KAAK,CAAC,UAAU;gBAC5B,MAAM,EAAE,KAAK,CAAC,MAAM;gBACpB,KAAK,EAAE,KAAK,CAAC,KAAK;gBAClB,UAAU,EAAE,OAAO,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,WAAW,EAAE;aAC9C,CAAC,EACF,UAAU,CACX,CAAA;YACD,MAAM,MAAM,CAAC,OAAO,CAClB,OAAO,EACP,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC,KAAK,EAAE,cAAc,EAAE;gBAC9C,QAAQ,EAAE,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,QAAQ,IAAI,IAAI;gBAC7D,UAAU,EAAE,KAAK,CAAC,UAAU;gBAC5B,KAAK,EAAE,KAAK,CAAC,KAAK;aACnB,CAAC,CACH,CAAA;YACD,OAAO,OAAO,CAAA;QAChB,CAAC;QAED,KAAK,CAAC,MAAM,CAAC,KAAK;YAChB,MAAM,GAAG,GAAG,MAAM,gBAAgB,CAAC,KAAK,CAAC,CAAA;YACzC,IACE,GAAG,CAAC,MAAM,KAAK,QAAQ;gBACvB,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,QAAQ,KAAK,kBAAkB;gBACpD,CAAC,CAAC,WAAW,IAAI,GAAG,CAAC,EACrB,CAAC;gBACD,MAAM,OAAO,GAAG,SAAS,CAAC,KAAK,CAAC;oBAC9B,GAAG,GAAG;oBACN,MAAM,EAAE,UAAU;oBAClB,OAAO,EAAE;wBACP,GAAG,GAAG,CAAC,OAAO;wBACd,OAAO,EAAE;4BACP,GAAG,GAAG,CAAC,OAAO,CAAC,OAAO;4BACtB,IAAI,EAAE,2BAA2B,CAAC,GAAG,CAAC;yBACvC;wBACD,OAAO,EAAE,EAAE,GAAG,GAAG,CAAC,OAAO,CAAC,OAAO,EAAE,IAAI,EAAE,2BAA2B,CAAC,GAAG,CAAC,EAAE;qBAC5E;iBACF,CAAC,CAAA;gBACF,MAAM,MAAM,CAAC,OAAO,CAClB,OAAO,EACP,MAAM,CAAC,WAAW,CAAC,KAAK,EAAE,sBAAsB,EAAE;oBAChD,eAAe,EAAE,kBAAkB;iBACpC,CAAC,CACH,CAAA;gBACD,IAAI,qBAAqB,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE,CAAC;oBAC3C,OAAO,UAAU,CAAC,KAAK,CAAC,CAAA;gBAC1B,CAAC;gBACD,OAAO,UAAU,CAAC,KAAK,CAAC,CAAA;YAC1B,CAAC;YACD,QAAQ,GAAG,CAAC,MAAM,EAAE,CAAC;gBACnB,KAAK,WAAW,CAAC;gBACjB,KAAK,WAAW,CAAC;gBACjB,KAAK,QAAQ,CAAC;gBACd,KAAK,wBAAwB;oBAC3B,OAAO,GAAG,CAAA;gBACZ,KAAK,aAAa;oBAChB,OAAO,UAAU,CAAC,KAAK,CAAC,CAAA;gBAC1B,KAAK,SAAS,CAAC;gBACf,KAAK,WAAW,CAAC;gBACjB,KAAK,UAAU,CAAC;gBAChB,KAAK,YAAY,CAAC;gBAClB,KAAK,WAAW,CAAC;gBACjB,KAAK,WAAW,CAAC;gBACjB,KAAK,cAAc,CAAC;gBACpB,KAAK,QAAQ;oBACX,OAAO,UAAU,CAAC,KAAK,CAAC,CAAA;gBAC1B;oBACE,OAAO,GAAG,CAAA;YACd,CAAC;QACH,CAAC;QAED,KAAK,CAAC,eAAe,CAAC,KAAK;YACzB,MAAM,OAAO,GAAG,MAAM,gBAAgB,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA;YACnD,IAAI,OAAO,CAAC,WAAW,CAAC,iBAAiB,KAAK,WAAW,EAAE,CAAC;gBAC1D,MAAM,IAAI,uBAAuB,CAAC,KAAK,CAAC,KAAK,EAAE,kBAAkB,EAAE,OAAO,CAAC,MAAM,CAAC,CAAA;YACpF,CAAC;YACD,MAAM,KAAK,GAAG,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC,KAAK,EAAE,kCAAkC,EAAE;gBAChF,QAAQ,EAAE,kBAAkB;gBAC5B,cAAc,EAAE,KAAK,CAAC,cAAc,IAAI,oBAAoB,KAAK,CAAC,KAAK,EAAE;aAC1E,CAAC,CAAA;YACF,MAAM,MAAM,CAAC,OAAO,CAAC,OAAO,EAAE,KAAK,CAAC,CAAA;YACpC,OAAO,OAAO,CAAC,MAAM,KAAK,aAAa,CAAC,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAA;QAC7E,CAAC;QAED,KAAK,CAAC,MAAM,CAAC,KAAK;YAChB,MAAM,OAAO,GAAG,MAAM,gBAAgB,CAAC,KAAK,CAAC,CAAA;YAC7C,IAAI,mBAAmB,CAAC,OAAO,CAAC,EAAE,CAAC;gBACjC,OAAO,OAAO,CAAA;YAChB,CAAC;YACD,iBAAiB,CAAC,OAAO,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAA;YAC/C,OAAO,CAAC,aAAa,CAAC,KAAK,CAAC,CAAA;YAC5B,MAAM,OAAO,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAA;YACvC,MAAM,MAAM,GAAG,MAAM,gBAAgB,CAAC,KAAK,CAAC,CAAA;YAC5C,IAAI,mBAAmB,CAAC,MAAM,CAAC,EAAE,CAAC;gBAChC,OAAO,MAAM,CAAA;YACf,CAAC;YACD,MAAM,SAAS,GAAG,UAAU,CAAC,MAAM,EAAE,WAAW,CAAC,CAAA;YACjD,MAAM,MAAM,CAAC,OAAO,CAClB,SAAS,EACT,MAAM,CAAC,WAAW,CAAC,KAAK,EAAE,eAAe,EAAE,EAAE,MAAM,EAAE,WAAW,EAAE,CAAC,CACpE,CAAA;YACD,OAAO,SAAS,CAAA;QAClB,CAAC;QAED,KAAK,CAAC,KAAK,CAAC,KAAK;YACf,MAAM,OAAO,GAAG,MAAM,gBAAgB,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA;YACnD,IAAI,SAAS,CAAC,OAAO,EAAE,KAAK,CAAC,aAAa,CAAC,EAAE,CAAC;gBAC5C,OAAO,OAAO,CAAA;YAChB,CAAC;YACD,IAAI,OAAO,CAAC,MAAM,KAAK,aAAa,EAAE,CAAC;gBACrC,MAAM,IAAI,uBAAuB,CAAC,KAAK,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,CAAC,MAAM,CAAC,CAAA;YACzE,CAAC;YACD,iBAAiB,CAAC,OAAO,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAA;YAC7C,0BAA0B,CAAC,KAAK,CAAC,aAAa,CAAC,CAAA;YAC/C,MAAM,MAAM,GAAG;gBACb,QAAQ,EAAE,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,SAAS,KAAK,CAAC,aAAa,EAAE,CAAC;gBACnE,aAAa,EAAE,KAAK,CAAC,aAAa;gBAClC,KAAK,EAAE,KAAK,CAAC,KAAK;gBAClB,MAAM,EAAE,KAAK,CAAC,MAAM;gBACpB,YAAY,EAAE,KAAK,CAAC,YAAY;gBAChC,QAAQ,EAAE,OAAO,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,WAAW,EAAE;aACnC,CAAA;YACV,MAAM,SAAS,GAAG,YAAY,CAAC,OAAO,EAAE,MAAM,CAAC,CAAA;YAC/C,MAAM,MAAM,CAAC,OAAO,CAAC,SAAS,EAAE,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC,KAAK,EAAE,YAAY,EAAE,MAAM,CAAC,CAAC,CAAA;YACtF,OAAO,SAAS,CAAA;QAClB,CAAC;QAED,KAAK,CAAC,MAAM,CAAC,KAAK;YAChB,MAAM,GAAG,GAAG,MAAM,gBAAgB,CAAC,KAAK,CAAC,CAAA;YACzC,OAAO,YAAY,CAAC,GAAG,EAAE,OAAO,CAAC,KAAK,CAAC,CAAA;QACzC,CAAC;KACF,CAAA;IAED,OAAO,UAAU,CAAA;AACnB,CAAC,CAAA;AAED,MAAM,iBAAiB,GAAG,CAAC,IAAY,EAAE,EAAE,CAAC,cAAc,CAAC,IAAI,EAAE,eAAe,EAAE,SAAS,CAAC,CAAA;AAE5F,MAAM,eAAe,GAAG,KAAK,IAAmB,EAAE,CAChD,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;IAC5B,UAAU,CAAC,OAAO,EAAE,CAAC,CAAC,CAAA;AACxB,CAAC,CAAC,CAAA;AAEJ,MAAM,iBAAiB,GAAG,CAAC,KAAc,EAAE,KAAmB,EAAW,EAAE,CACzE,KAAK,YAAY,SAAS,IAAI,KAAK,CAAC,OAAO,KAAK,eAAe,KAAK,EAAE,CAAA;AAExE,MAAM,WAAW,GAAG,CAAC,KAAY,EAAS,EAAE;IAC1C,MAAM,IAAI,SAAS,CAAC,8BAA8B,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAA;AAC5E,CAAC,CAAA"}
|
|
1
|
+
{"version":3,"file":"run-controller.js","sourceRoot":"","sources":["../../src/controller/run-controller.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,6 +5,21 @@ export declare class PlanningBlockedError extends Error {
|
|
|
5
5
|
readonly name = "PlanningBlockedError";
|
|
6
6
|
constructor(run: Run);
|
|
7
7
|
}
|
|
8
|
+
export type RunErrorCode = "PLANNER_CONTRACT_GRAPH_REJECTED" | "PLANNER_CONTRACT_OUTPUT_INVALID" | "PLANNER_CONTRACT_READ_ONLY" | "AGENT_RUN_FAILED" | "BUDGET_EXHAUSTED" | "UNKNOWN";
|
|
9
|
+
/** 错误码推导链:显式 errorCode → 信号 → 退出码 → 兜底 UNKNOWN。结果保证非空。 */
|
|
10
|
+
export declare const deriveRunErrorCode: (error: unknown) => string;
|
|
11
|
+
/** 失败发生前的最后持久化阶段标签(尽力推导,永不抛错)。 */
|
|
12
|
+
export declare const lastPersistedStageOf: (run: Run | undefined) => string;
|
|
13
|
+
export type FailureRecoveryGuidance = {
|
|
14
|
+
readonly resumable: boolean;
|
|
15
|
+
readonly action: "resume" | "manual";
|
|
16
|
+
readonly preconditions: readonly string[];
|
|
17
|
+
};
|
|
18
|
+
/** 结构化恢复指引:resume 前置条件;自由文本(recoveryPlan/reason)仅作为补充字段。 */
|
|
19
|
+
export declare const structuredRecoveryGuidance: (input: {
|
|
20
|
+
readonly run?: Run;
|
|
21
|
+
readonly errorCode: string;
|
|
22
|
+
}) => FailureRecoveryGuidance;
|
|
8
23
|
export declare const finalizeAdvanceError: (input: {
|
|
9
24
|
readonly runId: Run["runId"];
|
|
10
25
|
readonly error: unknown;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"run-error-finalizer.d.ts","sourceRoot":"","sources":["../../src/controller/run-error-finalizer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,GAAG,EAAa,MAAM,oBAAoB,CAAA;AASxD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AAS1D,qBAAa,oBAAqB,SAAQ,KAAK;IAGjC,QAAQ,CAAC,GAAG,EAAE,GAAG;IAF7B,QAAQ,CAAC,IAAI,0BAAyB;gBAEjB,GAAG,EAAE,GAAG;CAG9B;AAED,eAAO,MAAM,oBAAoB,GAAU,OAAO;IAChD,QAAQ,CAAC,KAAK,EAAE,GAAG,CAAC,OAAO,CAAC,CAAA;IAC5B,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAA;IACvB,QAAQ,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,GAAG,CAAC,OAAO,CAAC,KAAK,OAAO,CAAC,GAAG,CAAC,CAAA;IACvD,QAAQ,CAAC,MAAM,EAAE,cAAc,CAAA;CAChC,KAAG,OAAO,CAAC,GAAG,
|
|
1
|
+
{"version":3,"file":"run-error-finalizer.d.ts","sourceRoot":"","sources":["../../src/controller/run-error-finalizer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,GAAG,EAAa,MAAM,oBAAoB,CAAA;AASxD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AAS1D,qBAAa,oBAAqB,SAAQ,KAAK;IAGjC,QAAQ,CAAC,GAAG,EAAE,GAAG;IAF7B,QAAQ,CAAC,IAAI,0BAAyB;gBAEjB,GAAG,EAAE,GAAG;CAG9B;AAED,MAAM,MAAM,YAAY,GACpB,iCAAiC,GACjC,iCAAiC,GACjC,4BAA4B,GAC5B,kBAAkB,GAClB,kBAAkB,GAClB,SAAS,CAAA;AAEb,0DAA0D;AAC1D,eAAO,MAAM,kBAAkB,GAAI,OAAO,OAAO,KAAG,MAgCnD,CAAA;AAaD,kCAAkC;AAClC,eAAO,MAAM,oBAAoB,GAAI,KAAK,GAAG,GAAG,SAAS,KAAG,MAI3D,CAAA;AAED,MAAM,MAAM,uBAAuB,GAAG;IACpC,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAA;IAC3B,QAAQ,CAAC,MAAM,EAAE,QAAQ,GAAG,QAAQ,CAAA;IACpC,QAAQ,CAAC,aAAa,EAAE,SAAS,MAAM,EAAE,CAAA;CAC1C,CAAA;AAED,4DAA4D;AAC5D,eAAO,MAAM,0BAA0B,GAAI,OAAO;IAChD,QAAQ,CAAC,GAAG,CAAC,EAAE,GAAG,CAAA;IAClB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;CAC3B,KAAG,uBA8BH,CAAA;AAED,eAAO,MAAM,oBAAoB,GAAU,OAAO;IAChD,QAAQ,CAAC,KAAK,EAAE,GAAG,CAAC,OAAO,CAAC,CAAA;IAC5B,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAA;IACvB,QAAQ,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,GAAG,CAAC,OAAO,CAAC,KAAK,OAAO,CAAC,GAAG,CAAC,CAAA;IACvD,QAAQ,CAAC,MAAM,EAAE,cAAc,CAAA;CAChC,KAAG,OAAO,CAAC,GAAG,CAwGd,CAAA"}
|
|
@@ -9,6 +9,88 @@ export class PlanningBlockedError extends Error {
|
|
|
9
9
|
this.run = run;
|
|
10
10
|
}
|
|
11
11
|
}
|
|
12
|
+
/** 错误码推导链:显式 errorCode → 信号 → 退出码 → 兜底 UNKNOWN。结果保证非空。 */
|
|
13
|
+
export const deriveRunErrorCode = (error) => {
|
|
14
|
+
if (typeof error === "object" && error !== null) {
|
|
15
|
+
const explicit = Reflect.get(error, "errorCode");
|
|
16
|
+
if (typeof explicit === "string" && explicit.trim().length > 0) {
|
|
17
|
+
return explicit;
|
|
18
|
+
}
|
|
19
|
+
const signal = Reflect.get(error, "signal") ?? Reflect.get(Reflect.get(error, "cause") ?? {}, "signal");
|
|
20
|
+
if (typeof signal === "string" && signal.trim().length > 0) {
|
|
21
|
+
return `SIGNAL_${signal.toUpperCase()}`;
|
|
22
|
+
}
|
|
23
|
+
const exitCode = Reflect.get(error, "exitCode") ?? Reflect.get(Reflect.get(error, "cause") ?? {}, "exitCode");
|
|
24
|
+
if (typeof exitCode === "number" && Number.isFinite(exitCode)) {
|
|
25
|
+
return `EXIT_${exitCode}`;
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
if (error instanceof GraphValidationError) {
|
|
29
|
+
return isReadOnlyContractError(error)
|
|
30
|
+
? "PLANNER_CONTRACT_READ_ONLY"
|
|
31
|
+
: "PLANNER_CONTRACT_GRAPH_REJECTED";
|
|
32
|
+
}
|
|
33
|
+
if (error instanceof AgentOutputParseError) {
|
|
34
|
+
return `PLANNER_CONTRACT_OUTPUT_${error.reasonCode.toUpperCase()}`;
|
|
35
|
+
}
|
|
36
|
+
if (error instanceof AgentRunFailedError) {
|
|
37
|
+
return "AGENT_RUN_FAILED";
|
|
38
|
+
}
|
|
39
|
+
if (error instanceof RunBudgetExceededError) {
|
|
40
|
+
return `BUDGET_${error.budget.toUpperCase()}`;
|
|
41
|
+
}
|
|
42
|
+
return "UNKNOWN";
|
|
43
|
+
};
|
|
44
|
+
const STAGE_BY_RUN_STATUS = {
|
|
45
|
+
created: "intake",
|
|
46
|
+
analyzing: "intake",
|
|
47
|
+
planning: "planner",
|
|
48
|
+
plan_ready: "planner",
|
|
49
|
+
executing: "worker",
|
|
50
|
+
verifying: "verifier",
|
|
51
|
+
paused: "worker",
|
|
52
|
+
completed: "acceptance",
|
|
53
|
+
};
|
|
54
|
+
/** 失败发生前的最后持久化阶段标签(尽力推导,永不抛错)。 */
|
|
55
|
+
export const lastPersistedStageOf = (run) => {
|
|
56
|
+
if (run === undefined)
|
|
57
|
+
return "unknown";
|
|
58
|
+
if (!("taskGraph" in run))
|
|
59
|
+
return "planner";
|
|
60
|
+
return STAGE_BY_RUN_STATUS[run.status] ?? "unknown";
|
|
61
|
+
};
|
|
62
|
+
/** 结构化恢复指引:resume 前置条件;自由文本(recoveryPlan/reason)仅作为补充字段。 */
|
|
63
|
+
export const structuredRecoveryGuidance = (input) => {
|
|
64
|
+
if (input.errorCode.startsWith("BUDGET_")) {
|
|
65
|
+
return {
|
|
66
|
+
resumable: true,
|
|
67
|
+
action: "manual",
|
|
68
|
+
preconditions: ["扩大对应预算或确认预算耗尽可接受后,再执行 resume"],
|
|
69
|
+
};
|
|
70
|
+
}
|
|
71
|
+
if (input.errorCode.startsWith("PLANNER_CONTRACT")) {
|
|
72
|
+
return {
|
|
73
|
+
resumable: true,
|
|
74
|
+
action: "resume",
|
|
75
|
+
preconditions: [
|
|
76
|
+
"确认 Planner 输出契约与阶段契约对齐",
|
|
77
|
+
"确认输入证据完整后执行 resume <runId>",
|
|
78
|
+
],
|
|
79
|
+
};
|
|
80
|
+
}
|
|
81
|
+
if (input.errorCode.startsWith("SIGNAL_") || input.errorCode === "UNKNOWN") {
|
|
82
|
+
return {
|
|
83
|
+
resumable: true,
|
|
84
|
+
action: "resume",
|
|
85
|
+
preconditions: ["确认运行环境可用后执行 resume <runId>,将从最后持久化阶段恢复"],
|
|
86
|
+
};
|
|
87
|
+
}
|
|
88
|
+
return {
|
|
89
|
+
resumable: true,
|
|
90
|
+
action: "resume",
|
|
91
|
+
preconditions: ["执行 resume <runId> 前确认失败原因已修复"],
|
|
92
|
+
};
|
|
93
|
+
};
|
|
12
94
|
export const finalizeAdvanceError = async (input) => {
|
|
13
95
|
const { runId, error, loadRun, writer } = input;
|
|
14
96
|
if (error instanceof GraphValidationError ||
|
|
@@ -21,8 +103,12 @@ export const finalizeAdvanceError = async (input) => {
|
|
|
21
103
|
return error.run;
|
|
22
104
|
}
|
|
23
105
|
const planning = withStatus(latest, "planning");
|
|
24
|
-
const
|
|
25
|
-
(error instanceof GraphValidationError && isReadOnlyContractError(error))
|
|
106
|
+
const isContractFailure = error instanceof AgentOutputParseError ||
|
|
107
|
+
(error instanceof GraphValidationError && isReadOnlyContractError(error));
|
|
108
|
+
const errorCode = deriveRunErrorCode(error);
|
|
109
|
+
const lastPersistedStage = lastPersistedStageOf(planning);
|
|
110
|
+
const recovery = structuredRecoveryGuidance({ run: planning, errorCode });
|
|
111
|
+
const planningWithFailure = isContractFailure
|
|
26
112
|
? RunSchema.parse({
|
|
27
113
|
...planning,
|
|
28
114
|
failures: [
|
|
@@ -40,18 +126,31 @@ export const finalizeAdvanceError = async (input) => {
|
|
|
40
126
|
recoveryPlan: "执行 resume <runId> 重试;若仍失败,检查 Planner 输出契约和输入证据。",
|
|
41
127
|
confidence: 1,
|
|
42
128
|
relatedEvidenceIds: [],
|
|
129
|
+
errorCode,
|
|
130
|
+
lastPersistedStage,
|
|
131
|
+
recoveryGuidance: recovery,
|
|
43
132
|
},
|
|
44
133
|
],
|
|
45
134
|
})
|
|
46
135
|
: planning;
|
|
136
|
+
const isBudgetExhausted = error instanceof RunBudgetExceededError;
|
|
137
|
+
// paused 是计划后状态:规划阶段(无 taskGraph)预算耗尽退化为 blocked,避免非法状态迁移
|
|
138
|
+
const terminalStatus = isBudgetExhausted
|
|
139
|
+
? "taskGraph" in planningWithFailure
|
|
140
|
+
? "paused"
|
|
141
|
+
: "blocked"
|
|
142
|
+
: "failed";
|
|
47
143
|
const blocked = withStatus(withGovernance(planningWithFailure, {
|
|
48
144
|
...planningWithFailure.governance,
|
|
49
145
|
blockingQuestionId: error instanceof RunBudgetExceededError
|
|
50
146
|
? createBlockedQuestionId(planningWithFailure)
|
|
51
147
|
: null,
|
|
52
|
-
}),
|
|
53
|
-
await writer.persist(blocked, writer.createEvent(runId,
|
|
148
|
+
}), terminalStatus);
|
|
149
|
+
await writer.persist(blocked, writer.createEvent(runId, isBudgetExhausted ? "run.paused" : "run.failed", {
|
|
54
150
|
reason: error.message,
|
|
151
|
+
errorCode,
|
|
152
|
+
lastPersistedStage,
|
|
153
|
+
recovery,
|
|
55
154
|
...(error instanceof RunBudgetExceededError
|
|
56
155
|
? {
|
|
57
156
|
budget: error.budget,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"run-error-finalizer.js","sourceRoot":"","sources":["../../src/controller/run-error-finalizer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAY,SAAS,EAAE,MAAM,oBAAoB,CAAA;AACxD,OAAO,EACL,qBAAqB,EACrB,mBAAmB,EACnB,oBAAoB,EACpB,uBAAuB,EACvB,oBAAoB,EACpB,cAAc,GACf,MAAM,aAAa,CAAA;AAEpB,OAAO,EACL,uBAAuB,EACvB,sBAAsB,EACtB,SAAS,EACT,cAAc,EACd,UAAU,GACX,MAAM,gBAAgB,CAAA;AAEvB,MAAM,OAAO,oBAAqB,SAAQ,KAAK;IAGxB;IAFZ,IAAI,GAAG,sBAAsB,CAAA;IAEtC,YAAqB,GAAQ;QAC3B,KAAK,CAAC,qBAAqB,GAAG,CAAC,MAAM,EAAE,CAAC,CAAA;QADrB,QAAG,GAAH,GAAG,CAAK;IAE7B,CAAC;CACF;AAED,MAAM,CAAC,MAAM,oBAAoB,GAAG,KAAK,EAAE,KAK1C,EAAgB,EAAE;IACjB,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,KAAK,CAAA;IAE/C,IACE,KAAK,YAAY,oBAAoB;QACrC,KAAK,YAAY,oBAAoB;QACrC,KAAK,YAAY,mBAAmB;QACpC,KAAK,YAAY,qBAAqB;QACtC,KAAK,YAAY,sBAAsB,EACvC,CAAC;QACD,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,KAAK,CAAC,CAAA;QACnC,IAAI,KAAK,YAAY,oBAAoB,EAAE,CAAC;YAC1C,OAAO,KAAK,CAAC,GAAG,CAAA;QAClB,CAAC;QACD,MAAM,QAAQ,GAAG,UAAU,CAAC,MAAM,EAAE,UAAU,CAAC,CAAA;QAC/C,MAAM,
|
|
1
|
+
{"version":3,"file":"run-error-finalizer.js","sourceRoot":"","sources":["../../src/controller/run-error-finalizer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAY,SAAS,EAAE,MAAM,oBAAoB,CAAA;AACxD,OAAO,EACL,qBAAqB,EACrB,mBAAmB,EACnB,oBAAoB,EACpB,uBAAuB,EACvB,oBAAoB,EACpB,cAAc,GACf,MAAM,aAAa,CAAA;AAEpB,OAAO,EACL,uBAAuB,EACvB,sBAAsB,EACtB,SAAS,EACT,cAAc,EACd,UAAU,GACX,MAAM,gBAAgB,CAAA;AAEvB,MAAM,OAAO,oBAAqB,SAAQ,KAAK;IAGxB;IAFZ,IAAI,GAAG,sBAAsB,CAAA;IAEtC,YAAqB,GAAQ;QAC3B,KAAK,CAAC,qBAAqB,GAAG,CAAC,MAAM,EAAE,CAAC,CAAA;QADrB,QAAG,GAAH,GAAG,CAAK;IAE7B,CAAC;CACF;AAUD,0DAA0D;AAC1D,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,KAAc,EAAU,EAAE;IAC3D,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;QAChD,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,WAAW,CAAC,CAAA;QAChD,IAAI,OAAO,QAAQ,KAAK,QAAQ,IAAI,QAAQ,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC/D,OAAO,QAAQ,CAAA;QACjB,CAAC;QACD,MAAM,MAAM,GACV,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,QAAQ,CAAC,IAAI,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,OAAO,CAAC,IAAI,EAAE,EAAE,QAAQ,CAAC,CAAA;QAC1F,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC3D,OAAO,UAAU,MAAM,CAAC,WAAW,EAAE,EAAE,CAAA;QACzC,CAAC;QACD,MAAM,QAAQ,GACZ,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,UAAU,CAAC,IAAI,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,OAAO,CAAC,IAAI,EAAE,EAAE,UAAU,CAAC,CAAA;QAC9F,IAAI,OAAO,QAAQ,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC9D,OAAO,QAAQ,QAAQ,EAAE,CAAA;QAC3B,CAAC;IACH,CAAC;IACD,IAAI,KAAK,YAAY,oBAAoB,EAAE,CAAC;QAC1C,OAAO,uBAAuB,CAAC,KAAK,CAAC;YACnC,CAAC,CAAC,4BAA4B;YAC9B,CAAC,CAAC,iCAAiC,CAAA;IACvC,CAAC;IACD,IAAI,KAAK,YAAY,qBAAqB,EAAE,CAAC;QAC3C,OAAO,2BAA2B,KAAK,CAAC,UAAU,CAAC,WAAW,EAAE,EAAE,CAAA;IACpE,CAAC;IACD,IAAI,KAAK,YAAY,mBAAmB,EAAE,CAAC;QACzC,OAAO,kBAAkB,CAAA;IAC3B,CAAC;IACD,IAAI,KAAK,YAAY,sBAAsB,EAAE,CAAC;QAC5C,OAAO,UAAU,KAAK,CAAC,MAAM,CAAC,WAAW,EAAE,EAAE,CAAA;IAC/C,CAAC;IACD,OAAO,SAAS,CAAA;AAClB,CAAC,CAAA;AAED,MAAM,mBAAmB,GAAqC;IAC5D,OAAO,EAAE,QAAQ;IACjB,SAAS,EAAE,QAAQ;IACnB,QAAQ,EAAE,SAAS;IACnB,UAAU,EAAE,SAAS;IACrB,SAAS,EAAE,QAAQ;IACnB,SAAS,EAAE,UAAU;IACrB,MAAM,EAAE,QAAQ;IAChB,SAAS,EAAE,YAAY;CACxB,CAAA;AAED,kCAAkC;AAClC,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,GAAoB,EAAU,EAAE;IACnE,IAAI,GAAG,KAAK,SAAS;QAAE,OAAO,SAAS,CAAA;IACvC,IAAI,CAAC,CAAC,WAAW,IAAI,GAAG,CAAC;QAAE,OAAO,SAAS,CAAA;IAC3C,OAAO,mBAAmB,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,SAAS,CAAA;AACrD,CAAC,CAAA;AAQD,4DAA4D;AAC5D,MAAM,CAAC,MAAM,0BAA0B,GAAG,CAAC,KAG1C,EAA2B,EAAE;IAC5B,IAAI,KAAK,CAAC,SAAS,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;QAC1C,OAAO;YACL,SAAS,EAAE,IAAI;YACf,MAAM,EAAE,QAAQ;YAChB,aAAa,EAAE,CAAC,8BAA8B,CAAC;SAChD,CAAA;IACH,CAAC;IACD,IAAI,KAAK,CAAC,SAAS,CAAC,UAAU,CAAC,kBAAkB,CAAC,EAAE,CAAC;QACnD,OAAO;YACL,SAAS,EAAE,IAAI;YACf,MAAM,EAAE,QAAQ;YAChB,aAAa,EAAE;gBACb,wBAAwB;gBACxB,4BAA4B;aAC7B;SACF,CAAA;IACH,CAAC;IACD,IAAI,KAAK,CAAC,SAAS,CAAC,UAAU,CAAC,SAAS,CAAC,IAAI,KAAK,CAAC,SAAS,KAAK,SAAS,EAAE,CAAC;QAC3E,OAAO;YACL,SAAS,EAAE,IAAI;YACf,MAAM,EAAE,QAAQ;YAChB,aAAa,EAAE,CAAC,wCAAwC,CAAC;SAC1D,CAAA;IACH,CAAC;IACD,OAAO;QACL,SAAS,EAAE,IAAI;QACf,MAAM,EAAE,QAAQ;QAChB,aAAa,EAAE,CAAC,8BAA8B,CAAC;KAChD,CAAA;AACH,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,oBAAoB,GAAG,KAAK,EAAE,KAK1C,EAAgB,EAAE;IACjB,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,KAAK,CAAA;IAE/C,IACE,KAAK,YAAY,oBAAoB;QACrC,KAAK,YAAY,oBAAoB;QACrC,KAAK,YAAY,mBAAmB;QACpC,KAAK,YAAY,qBAAqB;QACtC,KAAK,YAAY,sBAAsB,EACvC,CAAC;QACD,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,KAAK,CAAC,CAAA;QACnC,IAAI,KAAK,YAAY,oBAAoB,EAAE,CAAC;YAC1C,OAAO,KAAK,CAAC,GAAG,CAAA;QAClB,CAAC;QACD,MAAM,QAAQ,GAAG,UAAU,CAAC,MAAM,EAAE,UAAU,CAAC,CAAA;QAC/C,MAAM,iBAAiB,GACrB,KAAK,YAAY,qBAAqB;YACtC,CAAC,KAAK,YAAY,oBAAoB,IAAI,uBAAuB,CAAC,KAAK,CAAC,CAAC,CAAA;QAC3E,MAAM,SAAS,GAAG,kBAAkB,CAAC,KAAK,CAAC,CAAA;QAC3C,MAAM,kBAAkB,GAAG,oBAAoB,CAAC,QAAQ,CAAC,CAAA;QACzD,MAAM,QAAQ,GAAG,0BAA0B,CAAC,EAAE,GAAG,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC,CAAA;QACzE,MAAM,mBAAmB,GAAG,iBAAiB;YAC3C,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC;gBACd,GAAG,QAAQ;gBACX,QAAQ,EAAE;oBACR,GAAG,QAAQ,CAAC,QAAQ;oBACpB;wBACE,aAAa,EAAE,OAAO;wBACtB,SAAS,EAAE,GAAG,KAAK,mBAAmB;wBACtC,KAAK;wBACL,MAAM,EAAE,GAAG,KAAK,WAAW;wBAC3B,QAAQ,EAAE,kBAAkB;wBAC5B,OAAO,EAAE,gDAAgD;wBACzD,MAAM,EACJ,KAAK,YAAY,qBAAqB;4BACpC,CAAC,CAAC,KAAK,CAAC,OAAO;4BACf,CAAC,CAAC,wBAAwB;wBAC9B,YAAY,EAAE,iDAAiD;wBAC/D,UAAU,EAAE,CAAC;wBACb,kBAAkB,EAAE,EAAE;wBACtB,SAAS;wBACT,kBAAkB;wBAClB,gBAAgB,EAAE,QAAQ;qBAC3B;iBACF;aACF,CAAC;YACJ,CAAC,CAAC,QAAQ,CAAA;QACZ,MAAM,iBAAiB,GAAG,KAAK,YAAY,sBAAsB,CAAA;QACjE,0DAA0D;QAC1D,MAAM,cAAc,GAAG,iBAAiB;YACtC,CAAC,CAAC,WAAW,IAAI,mBAAmB;gBAClC,CAAC,CAAE,QAAkB;gBACrB,CAAC,CAAE,SAAmB;YACxB,CAAC,CAAE,QAAkB,CAAA;QACvB,MAAM,OAAO,GAAG,UAAU,CACxB,cAAc,CAAC,mBAAmB,EAAE;YAClC,GAAG,mBAAmB,CAAC,UAAU;YACjC,kBAAkB,EAChB,KAAK,YAAY,sBAAsB;gBACrC,CAAC,CAAC,uBAAuB,CAAC,mBAAmB,CAAC;gBAC9C,CAAC,CAAC,IAAI;SACX,CAAC,EACF,cAAc,CACf,CAAA;QACD,MAAM,MAAM,CAAC,OAAO,CAClB,OAAO,EACP,MAAM,CAAC,WAAW,CAAC,KAAK,EAAE,iBAAiB,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,YAAY,EAAE;YACzE,MAAM,EAAE,KAAK,CAAC,OAAO;YACrB,SAAS;YACT,kBAAkB;YAClB,QAAQ;YACR,GAAG,CAAC,KAAK,YAAY,sBAAsB;gBACzC,CAAC,CAAC;oBACE,MAAM,EAAE,KAAK,CAAC,MAAM;oBACpB,kBAAkB,EAAE,OAAO,CAAC,UAAU,CAAC,kBAAkB;iBAC1D;gBACH,CAAC,CAAC,EAAE,CAAC;SACR,CAAC,CACH,CAAA;QACD,OAAO,OAAO,CAAA;IAChB,CAAC;IAED,IAAI,KAAK,YAAY,cAAc,EAAE,CAAC;QACpC,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,KAAK,CAAC,CAAA;QACnC,IAAI,MAAM,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;YAC/B,OAAO,MAAM,CAAA;QACf,CAAC;QACD,OAAO,UAAU,CAAC,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,QAAQ,CAAC,CAAA;IAC1E,CAAC;IAED,IAAI,KAAK,YAAY,oBAAoB,EAAE,CAAC;QAC1C,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,KAAK,CAAC,CAAA;QACnC,IAAI,MAAM,CAAC,MAAM,KAAK,WAAW,EAAE,CAAC;YAClC,OAAO,MAAM,CAAA;QACf,CAAC;QACD,MAAM,SAAS,GAAG,UAAU,CAAC,MAAM,EAAE,WAAW,CAAC,CAAA;QACjD,MAAM,MAAM,CAAC,OAAO,CAClB,SAAS,EACT,MAAM,CAAC,WAAW,CAAC,KAAK,EAAE,eAAe,EAAE,EAAE,MAAM,EAAE,WAAW,EAAE,CAAC,CACpE,CAAA;QACD,OAAO,SAAS,CAAA;IAClB,CAAC;IAED,MAAM,KAAK,CAAA;AACb,CAAC,CAAA"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import type { RunId } from "../domain/index.js";
|
|
2
|
+
import type { RunStore } from "../store/index.js";
|
|
3
|
+
export type RunLeaseConfig = {
|
|
4
|
+
/** 租约 TTL(毫秒);默认与心跳周期绑定(心跳周期 × 3) */
|
|
5
|
+
readonly ttlMs: number;
|
|
6
|
+
};
|
|
7
|
+
export type RunLeaseAcquireResult = {
|
|
8
|
+
readonly acquired: true;
|
|
9
|
+
readonly holderId: string;
|
|
10
|
+
readonly expiresAt?: string | undefined;
|
|
11
|
+
} | {
|
|
12
|
+
readonly acquired: false;
|
|
13
|
+
readonly holderId?: string | undefined;
|
|
14
|
+
readonly expiresAt?: string | undefined;
|
|
15
|
+
};
|
|
16
|
+
export type RunLeaseManager = {
|
|
17
|
+
readonly acquire: (runId: RunId, holderId: string) => Promise<RunLeaseAcquireResult>;
|
|
18
|
+
readonly release: (runId: RunId, holderId: string) => Promise<void>;
|
|
19
|
+
};
|
|
20
|
+
export declare const createRunLeaseManager: (input: {
|
|
21
|
+
readonly store: RunStore;
|
|
22
|
+
readonly clock: () => Date;
|
|
23
|
+
readonly createEventId: (label: string) => string;
|
|
24
|
+
readonly config: RunLeaseConfig;
|
|
25
|
+
}) => RunLeaseManager;
|
|
26
|
+
//# sourceMappingURL=run-lease.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"run-lease.d.ts","sourceRoot":"","sources":["../../src/controller/run-lease.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAA;AAC/C,OAAO,KAAK,EAAY,QAAQ,EAAE,MAAM,mBAAmB,CAAA;AAE3D,MAAM,MAAM,cAAc,GAAG;IAC3B,qCAAqC;IACrC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;CACvB,CAAA;AAED,MAAM,MAAM,qBAAqB,GAC7B;IACE,QAAQ,CAAC,QAAQ,EAAE,IAAI,CAAA;IACvB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;IACzB,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;CACxC,GACD;IACE,QAAQ,CAAC,QAAQ,EAAE,KAAK,CAAA;IACxB,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IACtC,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;CACxC,CAAA;AAEL,MAAM,MAAM,eAAe,GAAG;IAC5B,QAAQ,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,KAAK,OAAO,CAAC,qBAAqB,CAAC,CAAA;IACpF,QAAQ,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;CACpE,CAAA;AAED,eAAO,MAAM,qBAAqB,GAAI,OAAO;IAC3C,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAA;IACxB,QAAQ,CAAC,KAAK,EAAE,MAAM,IAAI,CAAA;IAC1B,QAAQ,CAAC,aAAa,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,MAAM,CAAA;IACjD,QAAQ,CAAC,MAAM,EAAE,cAAc,CAAA;CAChC,KAAG,eAmEH,CAAA"}
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
import { randomUUID } from "node:crypto";
|
|
2
|
+
export const createRunLeaseManager = (input) => {
|
|
3
|
+
const leaseEvent = (runId, type, payload) => ({
|
|
4
|
+
schemaVersion: "1.0.0",
|
|
5
|
+
eventId: input.createEventId(`${type}-${runId}`),
|
|
6
|
+
idempotencyKey: `${type}-${runId}-${input.clock().toISOString()}-${randomUUID().slice(0, 8)}`,
|
|
7
|
+
runId,
|
|
8
|
+
type,
|
|
9
|
+
timestamp: input.clock().toISOString(),
|
|
10
|
+
payload,
|
|
11
|
+
});
|
|
12
|
+
const readPayloadString = (event, key) => {
|
|
13
|
+
const payload = event.payload;
|
|
14
|
+
if (typeof payload !== "object" || payload === null || Array.isArray(payload))
|
|
15
|
+
return undefined;
|
|
16
|
+
const value = Reflect.get(payload, key);
|
|
17
|
+
return typeof value === "string" ? value : undefined;
|
|
18
|
+
};
|
|
19
|
+
const acquire = async (runId, holderId) => {
|
|
20
|
+
const events = await input.store.listEvents(runId);
|
|
21
|
+
const lastLeaseEvent = events
|
|
22
|
+
.filter((event) => event.type === "run.lease.acquired" || event.type === "run.lease.released")
|
|
23
|
+
.at(-1);
|
|
24
|
+
if (lastLeaseEvent?.type === "run.lease.acquired") {
|
|
25
|
+
const holder = readPayloadString(lastLeaseEvent, "holderId");
|
|
26
|
+
const expiresAt = readPayloadString(lastLeaseEvent, "expiresAt");
|
|
27
|
+
const expiresAtMs = expiresAt === undefined ? Number.NaN : new Date(expiresAt).getTime();
|
|
28
|
+
const expired = !Number.isFinite(expiresAtMs) || expiresAtMs <= input.clock().getTime();
|
|
29
|
+
if (!expired) {
|
|
30
|
+
if (holder === holderId) {
|
|
31
|
+
return { acquired: true, holderId, ...(expiresAt === undefined ? {} : { expiresAt }) };
|
|
32
|
+
}
|
|
33
|
+
return {
|
|
34
|
+
acquired: false,
|
|
35
|
+
...(holder === undefined ? {} : { holderId: holder }),
|
|
36
|
+
...(expiresAt === undefined ? {} : { expiresAt }),
|
|
37
|
+
};
|
|
38
|
+
}
|
|
39
|
+
// 租约超时可重获:重获前二次确认自上一次租约获取后没有任何新事件(含心跳),
|
|
40
|
+
// 避免夺取一个仍在推进的持有者的租约。
|
|
41
|
+
const acquiredIndex = events.findIndex((event) => event.eventId === lastLeaseEvent.eventId);
|
|
42
|
+
if (acquiredIndex >= 0 && acquiredIndex < events.length - 1) {
|
|
43
|
+
return { acquired: false, ...(holder === undefined ? {} : { holderId: holder }) };
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
const acquiredAt = input.clock().toISOString();
|
|
47
|
+
const expiresAt = new Date(input.clock().getTime() + input.config.ttlMs).toISOString();
|
|
48
|
+
await input.store.appendEvents(runId, [
|
|
49
|
+
leaseEvent(runId, "run.lease.acquired", { holderId, acquiredAt, expiresAt }),
|
|
50
|
+
]);
|
|
51
|
+
return { acquired: true, holderId, expiresAt };
|
|
52
|
+
};
|
|
53
|
+
const release = async (runId, holderId) => {
|
|
54
|
+
await input.store.appendEvents(runId, [
|
|
55
|
+
leaseEvent(runId, "run.lease.released", {
|
|
56
|
+
holderId,
|
|
57
|
+
releasedAt: input.clock().toISOString(),
|
|
58
|
+
}),
|
|
59
|
+
]);
|
|
60
|
+
};
|
|
61
|
+
return { acquire, release };
|
|
62
|
+
};
|
|
63
|
+
//# sourceMappingURL=run-lease.js.map
|