@mickorz/opencode-agentic-workflow 0.4.0 → 0.5.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/README.md +306 -5
- package/dist/cli/config.d.ts +121 -0
- package/dist/cli/config.js +331 -0
- package/dist/cli/config.js.map +1 -0
- package/dist/cli/doctor.d.ts +5 -0
- package/dist/cli/doctor.js +141 -0
- package/dist/cli/doctor.js.map +1 -0
- package/dist/cli/index.d.ts +18 -0
- package/dist/cli/index.js +120 -0
- package/dist/cli/index.js.map +1 -0
- package/dist/cli/install.d.ts +19 -0
- package/dist/cli/install.js +135 -0
- package/dist/cli/install.js.map +1 -0
- package/dist/cli/uninstall.d.ts +16 -0
- package/dist/cli/uninstall.js +110 -0
- package/dist/cli/uninstall.js.map +1 -0
- package/dist/cli/update.d.ts +15 -0
- package/dist/cli/update.js +86 -0
- package/dist/cli/update.js.map +1 -0
- package/dist/core/index.d.ts +39 -0
- package/dist/core/index.js +38 -0
- package/dist/core/index.js.map +1 -0
- package/dist/observability/events.d.ts +43 -0
- package/dist/observability/events.js.map +1 -1
- package/dist/plugin/checkpoint-override.d.ts +7 -9
- package/dist/plugin/checkpoint-override.js +8 -14
- package/dist/plugin/checkpoint-override.js.map +1 -1
- package/dist/plugin/define-workflow.d.ts +33 -0
- package/dist/plugin/define-workflow.js +103 -0
- package/dist/plugin/define-workflow.js.map +1 -0
- package/dist/plugin/index.js +406 -26
- package/dist/plugin/index.js.map +1 -1
- package/dist/plugin/opencode-v2-executor.js +58 -46
- package/dist/plugin/opencode-v2-executor.js.map +1 -1
- package/dist/plugin/progress-board.d.ts +64 -0
- package/dist/plugin/progress-board.js +150 -0
- package/dist/plugin/progress-board.js.map +1 -0
- package/dist/plugin/progress-rpc.d.ts +390 -0
- package/dist/plugin/progress-rpc.js +318 -0
- package/dist/plugin/progress-rpc.js.map +1 -0
- package/dist/plugin/progress-view.d.ts +82 -0
- package/dist/plugin/progress-view.js +244 -0
- package/dist/plugin/progress-view.js.map +1 -0
- package/dist/plugin/run-sessions.d.ts +28 -0
- package/dist/plugin/run-sessions.js +46 -0
- package/dist/plugin/run-sessions.js.map +1 -0
- package/dist/plugin/tool-args.d.ts +15 -0
- package/dist/plugin/tool-args.js +28 -0
- package/dist/plugin/tool-args.js.map +1 -0
- package/dist/plugin/tui.d.ts +11 -4
- package/dist/plugin/tui.js +149 -5
- package/dist/plugin/tui.js.map +1 -1
- package/dist/plugin/workflow-control.d.ts +16 -0
- package/dist/plugin/workflow-control.js +85 -0
- package/dist/plugin/workflow-control.js.map +1 -0
- package/dist/plugin/workflow-schedule.d.ts +24 -0
- package/dist/plugin/workflow-schedule.js +97 -0
- package/dist/plugin/workflow-schedule.js.map +1 -0
- package/dist/quality/checkpoint.d.ts +5 -2
- package/dist/quality/checkpoint.js +11 -6
- package/dist/quality/checkpoint.js.map +1 -1
- package/dist/quality/verify.d.ts +21 -2
- package/dist/quality/verify.js +36 -14
- package/dist/quality/verify.js.map +1 -1
- package/dist/registry/definition.d.ts +12 -0
- package/dist/registry/definition.js.map +1 -1
- package/dist/registry/registry.d.ts +4 -0
- package/dist/registry/registry.js +20 -1
- package/dist/registry/registry.js.map +1 -1
- package/dist/registry/run-control.d.ts +27 -0
- package/dist/registry/run-control.js +51 -0
- package/dist/registry/run-control.js.map +1 -0
- package/dist/registry/runner.d.ts +29 -6
- package/dist/registry/runner.js +153 -35
- package/dist/registry/runner.js.map +1 -1
- package/dist/runtime/errors.d.ts +26 -0
- package/dist/runtime/errors.js +30 -0
- package/dist/runtime/errors.js.map +1 -1
- package/dist/runtime/executor.d.ts +22 -0
- package/dist/runtime/executor.js.map +1 -1
- package/dist/runtime/run-context.d.ts +44 -0
- package/dist/runtime/run-context.js +32 -0
- package/dist/runtime/run-context.js.map +1 -0
- package/dist/scheduler/cron.d.ts +29 -0
- package/dist/scheduler/cron.js +171 -0
- package/dist/scheduler/cron.js.map +1 -0
- package/dist/scheduler/service.d.ts +78 -0
- package/dist/scheduler/service.js +210 -0
- package/dist/scheduler/service.js.map +1 -0
- package/dist/scheduler/store.d.ts +26 -0
- package/dist/scheduler/store.js +94 -0
- package/dist/scheduler/store.js.map +1 -0
- package/dist/scheduler/types.d.ts +53 -0
- package/dist/scheduler/types.js +12 -0
- package/dist/scheduler/types.js.map +1 -0
- package/dist/state/journal.d.ts +23 -0
- package/dist/state/journal.js +2 -0
- package/dist/state/journal.js.map +1 -1
- package/dist/state/recorder.d.ts +67 -0
- package/dist/state/recorder.js +148 -2
- package/dist/state/recorder.js.map +1 -1
- package/dist/workflow/agent.d.ts +42 -1
- package/dist/workflow/agent.js +116 -6
- package/dist/workflow/agent.js.map +1 -1
- package/dist/workflow/judge-panel.d.ts +37 -0
- package/dist/workflow/judge-panel.js +66 -0
- package/dist/workflow/judge-panel.js.map +1 -0
- package/dist/workflow/pipeline.d.ts +21 -0
- package/dist/workflow/pipeline.js +71 -0
- package/dist/workflow/pipeline.js.map +1 -0
- package/dist/workflow/race.d.ts +16 -0
- package/dist/workflow/race.js +46 -0
- package/dist/workflow/race.js.map +1 -0
- package/dist/workflow/sequence.js +6 -0
- package/dist/workflow/sequence.js.map +1 -1
- package/dist/workflows/loader.d.ts +124 -0
- package/dist/workflows/loader.js +500 -0
- package/dist/workflows/loader.js.map +1 -0
- package/dist/workspace/ambient.d.ts +6 -4
- package/dist/workspace/ambient.js +10 -4
- package/dist/workspace/ambient.js.map +1 -1
- package/package.json +16 -6
- package/skills/workflow-authoring/SKILL.md +111 -0
- package/skills/workflow-optimize/SKILL.md +70 -0
- package/dist/workflows/index.d.ts +0 -19
- package/dist/workflows/index.js +0 -40
- package/dist/workflows/index.js.map +0 -1
package/dist/registry/runner.js
CHANGED
|
@@ -16,10 +16,13 @@
|
|
|
16
16
|
* 失败统一抛 WorkflowExecutionError(携带 runId,供工具层提示恢复入口)。
|
|
17
17
|
*/
|
|
18
18
|
import { RunJournal } from "../state/recorder.js";
|
|
19
|
-
import {
|
|
19
|
+
import { runWith, currentRunContext } from "../runtime/run-context.js";
|
|
20
20
|
import { resumeSequence, sequence, } from "../workflow/sequence.js";
|
|
21
21
|
import { WorkflowArgsError, WorkflowExecutionError } from "./errors.js";
|
|
22
22
|
import { validateArgs } from "./schema.js";
|
|
23
|
+
import { RunAbortedError, clearLive, markLive, throwIfCancelled } from "./run-control.js";
|
|
24
|
+
/** subflow 嵌套深度上限(顶层 depth=0;防御失控递归,对齐 v1 事故教训) */
|
|
25
|
+
export const MAX_SUBFLOW_DEPTH = 3;
|
|
23
26
|
function toOutput(result) {
|
|
24
27
|
if (typeof result === "string")
|
|
25
28
|
return result;
|
|
@@ -39,11 +42,38 @@ function createContext(input) {
|
|
|
39
42
|
journal: input.mode === "start" ? input.journal : undefined,
|
|
40
43
|
// P2.7:隔离工作区根目录(未启用隔离时为 undefined)
|
|
41
44
|
workspaceRoot: input.workspaceRoot,
|
|
45
|
+
// P2-9 subflow:需要 registry + store(未配置 journalDir 的 run 不提供)
|
|
46
|
+
...(input.registry !== undefined && input.store !== undefined
|
|
47
|
+
? {
|
|
48
|
+
subflow: async (id, args, options) => {
|
|
49
|
+
const parent = currentRunContext();
|
|
50
|
+
const depth = (parent?.depth ?? 0) + 1;
|
|
51
|
+
if (depth > MAX_SUBFLOW_DEPTH) {
|
|
52
|
+
throw new Error(`[agentic-workflow] subflow nesting too deep: depth ${depth} > ` +
|
|
53
|
+
`${MAX_SUBFLOW_DEPTH} (parent run ${input.runId} -> ${id}); ` +
|
|
54
|
+
"flatten the workflow composition");
|
|
55
|
+
}
|
|
56
|
+
const registry = input.registry;
|
|
57
|
+
const store = input.store;
|
|
58
|
+
// gate/workspace 经 ALS 继承父作用域;lineage 由 runToCompletion 推导
|
|
59
|
+
const result = await startWorkflow(registry, store, id, args ?? {}, {
|
|
60
|
+
...(options?.version !== undefined ? { version: options.version } : {}),
|
|
61
|
+
});
|
|
62
|
+
return { runId: result.runId, output: result.output };
|
|
63
|
+
},
|
|
64
|
+
}
|
|
65
|
+
: {}),
|
|
42
66
|
runSteps(steps, options) {
|
|
67
|
+
// P1-3 协作式取消:每个步骤执行前检查 stop 标记(正在执行的
|
|
68
|
+
// LLM 调用不打断,下一个边界生效并收口 aborted)
|
|
69
|
+
const guarded = steps.map((step) => async (prev) => {
|
|
70
|
+
throwIfCancelled(input.runId);
|
|
71
|
+
return step(prev);
|
|
72
|
+
});
|
|
43
73
|
if (input.mode === "resume" && input.store) {
|
|
44
|
-
return resumeSequence(input.store, input.runId,
|
|
74
|
+
return resumeSequence(input.store, input.runId, guarded, options);
|
|
45
75
|
}
|
|
46
|
-
return sequence(
|
|
76
|
+
return sequence(guarded, {
|
|
47
77
|
...options,
|
|
48
78
|
journal: input.journal,
|
|
49
79
|
});
|
|
@@ -109,22 +139,41 @@ async function cleanupWorkspace(store, runId, handle, policy, success) {
|
|
|
109
139
|
`${error instanceof Error ? error.message : String(error)}`);
|
|
110
140
|
}
|
|
111
141
|
}
|
|
112
|
-
/**
|
|
113
|
-
|
|
142
|
+
/** begin:resolve -> args 校验 -> journal 落盘(到此即有 runId;验证错误同步抛出) */
|
|
143
|
+
async function beginRun(registry, store, id, args, options) {
|
|
114
144
|
const definition = registry.resolve(id, options?.version);
|
|
115
145
|
const problems = validateArgs(definition.argsSchema, args);
|
|
116
146
|
if (problems.length > 0) {
|
|
117
147
|
throw new WorkflowArgsError(definition.id, problems);
|
|
118
148
|
}
|
|
119
149
|
const identity = { id: definition.id, version: definition.version };
|
|
150
|
+
// P2-9 lineage:subflow 在父 run 作用域内发起时自动指回父 run;
|
|
151
|
+
// 深度同式推导(与 runToCompletion 的 ALS 深度一致)
|
|
152
|
+
const parent = currentRunContext();
|
|
120
153
|
const journal = await RunJournal.start(store, {
|
|
121
154
|
workflow: identity,
|
|
122
155
|
args,
|
|
123
156
|
stepNames: definition.stepNames,
|
|
124
157
|
stepCount: definition.stepNames?.length ?? 0,
|
|
158
|
+
...(parent !== undefined ? { parentRunId: parent.runId } : {}),
|
|
159
|
+
...(parent !== undefined ? { depth: parent.depth + 1 } : {}),
|
|
125
160
|
});
|
|
126
|
-
|
|
127
|
-
|
|
161
|
+
return {
|
|
162
|
+
definition,
|
|
163
|
+
identity,
|
|
164
|
+
journal,
|
|
165
|
+
runId: journal.run.runId,
|
|
166
|
+
store,
|
|
167
|
+
registry,
|
|
168
|
+
cleanupPolicy: options?.workspace?.cleanup ?? "on-success",
|
|
169
|
+
};
|
|
170
|
+
}
|
|
171
|
+
/** execute:workspace 创建 -> definition.run -> 收口 -> 清理(含取消/失败分支) */
|
|
172
|
+
async function runToCompletion(begun, args, options) {
|
|
173
|
+
const { definition, identity, journal, runId, store, cleanupPolicy } = begun;
|
|
174
|
+
markLive(runId);
|
|
175
|
+
// P2-9:发起时刻的 run 上下文(subflow 子 run = 父作用域;顶层/scheduled = 空)
|
|
176
|
+
const parent = currentRunContext();
|
|
128
177
|
let workspace;
|
|
129
178
|
try {
|
|
130
179
|
// P2.7:创建隔离工作区并把身份落 journal(resume attach 依据)
|
|
@@ -132,29 +181,77 @@ export async function startWorkflow(registry, store, id, args, options) {
|
|
|
132
181
|
workspace = await options.workspace.provider.create(runId, options.workspace.options);
|
|
133
182
|
await journal.setWorkspace(workspace.identity);
|
|
134
183
|
}
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
184
|
+
// P2-9 run 级上下文:gate 按选项 > 父作用域继承 > 全局绑定回落(读取方实现);
|
|
185
|
+
// workspace 本 run 创建的优先,否则继承父作用域(subflow 子 agent cwd =
|
|
186
|
+
// 父 run 工作区);depth/lineage 由父作用域推导
|
|
187
|
+
const result = await runWith({
|
|
188
|
+
runId,
|
|
189
|
+
workflow: identity,
|
|
190
|
+
...(options?.gate !== undefined
|
|
191
|
+
? { gate: options.gate }
|
|
192
|
+
: parent?.gate !== undefined
|
|
193
|
+
? { gate: parent.gate }
|
|
194
|
+
: {}),
|
|
195
|
+
...(workspace !== undefined
|
|
196
|
+
? { workspace }
|
|
197
|
+
: parent?.workspace !== undefined
|
|
198
|
+
? { workspace: parent.workspace }
|
|
199
|
+
: {}),
|
|
200
|
+
// 顶层 run depth=0;subflow 子 run = 父 depth + 1
|
|
201
|
+
depth: parent !== undefined ? parent.depth + 1 : 0,
|
|
202
|
+
...(parent !== undefined ? { parentRunId: parent.runId } : {}),
|
|
203
|
+
}, () => definition.run(args, createContext({
|
|
204
|
+
runId,
|
|
205
|
+
mode: "start",
|
|
206
|
+
journal,
|
|
207
|
+
store,
|
|
208
|
+
registry: begun.registry,
|
|
209
|
+
workspaceRoot: (workspace ?? parent?.workspace)?.root,
|
|
210
|
+
})));
|
|
211
|
+
// 顺序纪律:先收口 journal 再清理 workspace——cleanupWorkspace 会经
|
|
212
|
+
// attach 重读持久化状态并清除 workspace 字段,若 complete() 在其后,
|
|
213
|
+
// 内存 journal 会把已删除的 worktree 身份复活写回(幂等 resume 即坏)
|
|
214
|
+
if (journal.run.status === "running") {
|
|
215
|
+
await journal.complete();
|
|
149
216
|
}
|
|
217
|
+
await cleanupWorkspace(store, runId, workspace, cleanupPolicy, true);
|
|
218
|
+
return { runId, workflow: identity, output: toOutput(result) };
|
|
150
219
|
}
|
|
151
220
|
catch (error) {
|
|
221
|
+
// P1-3:用户协作式停止 -> aborted(与失败可区分:主动停 ≠ 出错);
|
|
222
|
+
// 其余失败 -> failed。两者都清理失败现场并统一抛 WorkflowExecutionError
|
|
152
223
|
if (journal.run.status === "running") {
|
|
153
|
-
|
|
224
|
+
if (error instanceof RunAbortedError) {
|
|
225
|
+
await journal.abort(error);
|
|
226
|
+
}
|
|
227
|
+
else {
|
|
228
|
+
await journal.fail(error);
|
|
229
|
+
}
|
|
154
230
|
}
|
|
155
231
|
await cleanupWorkspace(store, runId, workspace, cleanupPolicy, false);
|
|
156
232
|
throw new WorkflowExecutionError({ runId, ...identity }, error);
|
|
157
233
|
}
|
|
234
|
+
finally {
|
|
235
|
+
clearLive(runId);
|
|
236
|
+
}
|
|
237
|
+
}
|
|
238
|
+
/** 启动新 run(默认最新版本;可用 options.version 精确指定)。阻塞至完成 */
|
|
239
|
+
export async function startWorkflow(registry, store, id, args, options) {
|
|
240
|
+
const begun = await beginRun(registry, store, id, args, options);
|
|
241
|
+
return runToCompletion(begun, args, options);
|
|
242
|
+
}
|
|
243
|
+
/**
|
|
244
|
+
* P1-3 后台启动:begin(同步可抛验证错误)后立即返回 runId,
|
|
245
|
+
* 执行在后台继续。结果不自动回传会话——用 workflow_control status 轮询
|
|
246
|
+
* (journal 是唯一事实源)。
|
|
247
|
+
*/
|
|
248
|
+
export async function startWorkflowDetached(registry, store, id, args, options) {
|
|
249
|
+
const begun = await beginRun(registry, store, id, args, options);
|
|
250
|
+
return {
|
|
251
|
+
runId: begun.runId,
|
|
252
|
+
workflow: begun.identity,
|
|
253
|
+
completion: runToCompletion(begun, args, options),
|
|
254
|
+
};
|
|
158
255
|
}
|
|
159
256
|
/**
|
|
160
257
|
* 从 journal 恢复 run:
|
|
@@ -173,27 +270,48 @@ export async function resumeWorkflow(registry, store, runId, options) {
|
|
|
173
270
|
const definition = registry.resolve(identity.id, identity.version);
|
|
174
271
|
const cleanupPolicy = options?.workspace?.cleanup ?? "on-success";
|
|
175
272
|
let workspace;
|
|
273
|
+
markLive(runId);
|
|
176
274
|
try {
|
|
177
275
|
if (options?.workspace && run.workspace) {
|
|
178
276
|
workspace = await options.workspace.provider.attach(run.workspace);
|
|
179
277
|
}
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
}
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
278
|
+
// P2-9:resume 独立成 run(深度重置 0;lineage 已在 journal 里,
|
|
279
|
+
// 不因 resume 重建)。gate 同 start:选项优先,回落全局绑定。
|
|
280
|
+
const result = await runWith({
|
|
281
|
+
runId,
|
|
282
|
+
workflow: identity,
|
|
283
|
+
...(options?.gate !== undefined ? { gate: options.gate } : {}),
|
|
284
|
+
...(workspace !== undefined ? { workspace } : {}),
|
|
285
|
+
depth: 0,
|
|
286
|
+
}, () => definition.run(run.args, createContext({
|
|
287
|
+
runId,
|
|
288
|
+
mode: "resume",
|
|
289
|
+
store,
|
|
290
|
+
registry,
|
|
291
|
+
workspaceRoot: workspace?.root,
|
|
292
|
+
})));
|
|
293
|
+
// 同 start:先收口 journal(settle),再清理 workspace(clearWorkspace
|
|
294
|
+
// 允许在收口后执行——幂等 resume 依赖清理后字段被清掉)
|
|
295
|
+
await settleAfterSuccess(store, runId);
|
|
296
|
+
await cleanupWorkspace(store, runId, workspace, cleanupPolicy, true);
|
|
297
|
+
return { runId, workflow: identity, output: toOutput(result) };
|
|
192
298
|
}
|
|
193
299
|
catch (error) {
|
|
194
|
-
|
|
300
|
+
// P1-3:resume 途中被 stop -> aborted(其余失败维持 failed 语义)
|
|
301
|
+
if (error instanceof RunAbortedError) {
|
|
302
|
+
const journal = await RunJournal.attach(store, runId);
|
|
303
|
+
if (journal && journal.run.status === "running") {
|
|
304
|
+
await journal.abort(error);
|
|
305
|
+
}
|
|
306
|
+
}
|
|
307
|
+
else {
|
|
308
|
+
await settleAfterFailure(store, runId, error);
|
|
309
|
+
}
|
|
195
310
|
await cleanupWorkspace(store, runId, workspace, cleanupPolicy, false);
|
|
196
311
|
throw new WorkflowExecutionError({ runId, ...identity }, error);
|
|
197
312
|
}
|
|
313
|
+
finally {
|
|
314
|
+
clearLive(runId);
|
|
315
|
+
}
|
|
198
316
|
}
|
|
199
317
|
//# sourceMappingURL=runner.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runner.js","sourceRoot":"","sources":["../../src/registry/runner.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAGH,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAA;AAEjD,OAAO,EACL,mBAAmB,GAKpB,MAAM,uBAAuB,CAAA;AAC9B,OAAO,EACL,cAAc,EACd,QAAQ,GAET,MAAM,yBAAyB,CAAA;AAGhC,OAAO,EAAE,iBAAiB,EAAE,sBAAsB,EAAE,MAAM,aAAa,CAAA;AACvE,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAQ1C,SAAS,QAAQ,CAAC,MAAe;IAC/B,IAAI,OAAO,MAAM,KAAK,QAAQ;QAAE,OAAO,MAAM,CAAA;IAC7C,IACE,MAAM;QACN,OAAO,MAAM,KAAK,QAAQ;QAC1B,OAAQ,MAA+B,CAAC,MAAM,KAAK,QAAQ,EAC3D,CAAC;QACD,OAAQ,MAA6B,CAAC,MAAM,CAAA;IAC9C,CAAC;IACD,OAAO,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,EAAE,CAAA;AACrC,CAAC;AAED,SAAS,aAAa,CAAC,KAMtB;IACC,OAAO;QACL,KAAK,EAAE,KAAK,CAAC,KAAK;QAClB,IAAI,EAAE,KAAK,CAAC,IAAI;QAChB,8DAA8D;QAC9D,iBAAiB;QACjB,OAAO,EAAE,KAAK,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS;QAC3D,mCAAmC;QACnC,aAAa,EAAE,KAAK,CAAC,aAAa;QAClC,QAAQ,CAAC,KAAK,EAAE,OAAO;YACrB,IAAI,KAAK,CAAC,IAAI,KAAK,QAAQ,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC;gBAC3C,OAAO,cAAc,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,EAAE,OAA0B,CAAC,CAAA;YACpF,CAAC;YACD,OAAO,QAAQ,CAAC,KAAK,EAAE;gBACrB,GAAI,OAA2B;gBAC/B,OAAO,EAAE,KAAK,CAAC,OAAO;aACvB,CAAC,CAAA;QACJ,CAAC;KACF,CAAA;AACH,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,iBAAiB,CACrC,QAA0B,EAC1B,EAAU,EACV,IAAa;IAEb,MAAM,UAAU,GAAG,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC,CAAA;IACvC,MAAM,QAAQ,GAAG,YAAY,CAAC,UAAU,CAAC,UAAU,EAAE,IAAI,CAAC,CAAA;IAC1D,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACxB,MAAM,IAAI,iBAAiB,CAAC,UAAU,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAA;IACtD,CAAC;IACD,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,GAAG,CAAC,IAAa,EAAE;QACjD,KAAK,EAAE,UAAU,IAAI,CAAC,GAAG,EAAE,EAAE;QAC7B,IAAI,EAAE,OAAO;QACb,QAAQ,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE,CAAC,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;KACvD,CAAC,CAAA;IACF,OAAO,EAAE,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAA;AACrC,CAAC;AAED,kEAAkE;AAClE,KAAK,UAAU,kBAAkB,CAAC,KAAqB,EAAE,KAAa;IACpE,MAAM,OAAO,GAAG,MAAM,UAAU,CAAC,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,CAAA;IACrD,IAAI,CAAC,OAAO;QAAE,OAAM;IACpB,IAAI,OAAO,CAAC,GAAG,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;QACrC,MAAM,OAAO,CAAC,QAAQ,EAAE,CAAA;IAC1B,CAAC;SAAM,IAAI,OAAO,CAAC,GAAG,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;QAC3C,mEAAmE;QACnE,MAAM,OAAO,CAAC,MAAM,EAAE,CAAA;QACtB,MAAM,OAAO,CAAC,QAAQ,EAAE,CAAA;IAC1B,CAAC;AACH,CAAC;AAED,KAAK,UAAU,kBAAkB,CAC/B,KAAqB,EACrB,KAAa,EACb,KAAc;IAEd,MAAM,OAAO,GAAG,MAAM,UAAU,CAAC,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,CAAA;IACrD,IAAI,OAAO,IAAI,OAAO,CAAC,GAAG,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;QAChD,MAAM,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;IAC3B,CAAC;AACH,CAAC;AAUD;;;;GAIG;AACH,KAAK,UAAU,gBAAgB,CAC7B,KAAqB,EACrB,KAAa,EACb,MAAmC,EACnC,MAAqB,EACrB,OAAgB;IAEhB,IAAI,CAAC,MAAM;QAAE,OAAM;IACnB,IAAI,MAAM,KAAK,OAAO;QAAE,OAAM;IAC9B,IAAI,MAAM,KAAK,YAAY,IAAI,CAAC,OAAO;QAAE,OAAM;IAC/C,IAAI,CAAC;QACH,MAAM,MAAM,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAA;QACrC,MAAM,OAAO,GAAG,MAAM,UAAU,CAAC,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,CAAA;QACrD,MAAM,OAAO,EAAE,cAAc,EAAE,CAAA;IACjC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,GAAG,CACT,mDAAmD,KAAK,IAAI;YAC1D,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAC9D,CAAA;IACH,CAAC;AACH,CAAC;AAED,8CAA8C;AAC9C,MAAM,CAAC,KAAK,UAAU,aAAa,CACjC,QAA0B,EAC1B,KAAqB,EACrB,EAAU,EACV,IAAa,EACb,OAA4D;IAE5D,MAAM,UAAU,GAAG,QAAQ,CAAC,OAAO,CAAC,EAAE,EAAE,OAAO,EAAE,OAAO,CAAC,CAAA;IACzD,MAAM,QAAQ,GAAG,YAAY,CAAC,UAAU,CAAC,UAAU,EAAE,IAAI,CAAC,CAAA;IAC1D,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACxB,MAAM,IAAI,iBAAiB,CAAC,UAAU,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAA;IACtD,CAAC;IAED,MAAM,QAAQ,GAAqB,EAAE,EAAE,EAAE,UAAU,CAAC,EAAE,EAAE,OAAO,EAAE,UAAU,CAAC,OAAO,EAAE,CAAA;IACrF,MAAM,OAAO,GAAG,MAAM,UAAU,CAAC,KAAK,CAAC,KAAK,EAAE;QAC5C,QAAQ,EAAE,QAAQ;QAClB,IAAI;QACJ,SAAS,EAAE,UAAU,CAAC,SAAS;QAC/B,SAAS,EAAE,UAAU,CAAC,SAAS,EAAE,MAAM,IAAI,CAAC;KAC7C,CAAC,CAAA;IACF,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,KAAK,CAAA;IAC/B,MAAM,aAAa,GAAG,OAAO,EAAE,SAAS,EAAE,OAAO,IAAI,YAAY,CAAA;IAEjE,IAAI,SAAsC,CAAA;IAC1C,IAAI,CAAC;QACH,8CAA8C;QAC9C,IAAI,OAAO,EAAE,SAAS,EAAE,CAAC;YACvB,SAAS,GAAG,MAAM,OAAO,CAAC,SAAS,CAAC,QAAQ,CAAC,MAAM,CACjD,KAAK,EACL,OAAO,CAAC,SAAS,CAAC,OAAO,CAC1B,CAAA;YACD,MAAM,OAAO,CAAC,YAAY,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAA;QAChD,CAAC;QACD,mBAAmB,CAAC,SAAS,CAAC,CAAA;QAC9B,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,GAAG,CACjC,IAAa,EACb,aAAa,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,aAAa,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CACjF,CAAA;YACD,sDAAsD;YACtD,mDAAmD;YACnD,kDAAkD;YAClD,IAAI,OAAO,CAAC,GAAG,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;gBACrC,MAAM,OAAO,CAAC,QAAQ,EAAE,CAAA;YAC1B,CAAC;YACD,MAAM,gBAAgB,CAAC,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,aAAa,EAAE,IAAI,CAAC,CAAA;YACpE,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAA;QAChE,CAAC;gBAAS,CAAC;YACT,mBAAmB,CAAC,SAAS,CAAC,CAAA;QAChC,CAAC;IACH,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,OAAO,CAAC,GAAG,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;YACrC,MAAM,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;QAC3B,CAAC;QACD,MAAM,gBAAgB,CAAC,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,aAAa,EAAE,KAAK,CAAC,CAAA;QACrE,MAAM,IAAI,sBAAsB,CAAC,EAAE,KAAK,EAAE,GAAG,QAAQ,EAAE,EAAE,KAAK,CAAC,CAAA;IACjE,CAAC;AACH,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc,CAClC,QAA0B,EAC1B,KAAqB,EACrB,KAAa,EACb,OAA0C;IAE1C,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;IACrC,IAAI,CAAC,GAAG,EAAE,CAAC;QACT,MAAM,IAAI,KAAK,CAAC,oDAAoD,KAAK,EAAE,CAAC,CAAA;IAC9E,CAAC;IACD,MAAM,QAAQ,GAAG,GAAG,CAAC,QAAQ,CAAA;IAC7B,MAAM,UAAU,GAAG,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,EAAE,QAAQ,CAAC,OAAO,CAAC,CAAA;IAClE,MAAM,aAAa,GAAG,OAAO,EAAE,SAAS,EAAE,OAAO,IAAI,YAAY,CAAA;IAEjE,IAAI,SAAsC,CAAA;IAC1C,IAAI,CAAC;QACH,IAAI,OAAO,EAAE,SAAS,IAAI,GAAG,CAAC,SAAS,EAAE,CAAC;YACxC,SAAS,GAAG,MAAM,OAAO,CAAC,SAAS,CAAC,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,CAAA;QACpE,CAAC;QACD,mBAAmB,CAAC,SAAS,CAAC,CAAA;QAC9B,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,GAAG,CACjC,GAAG,CAAC,IAAa,EACjB,aAAa,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,aAAa,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAChF,CAAA;YACD,2DAA2D;YAC3D,kCAAkC;YAClC,MAAM,kBAAkB,CAAC,KAAK,EAAE,KAAK,CAAC,CAAA;YACtC,MAAM,gBAAgB,CAAC,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,aAAa,EAAE,IAAI,CAAC,CAAA;YACpE,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAA;QAChE,CAAC;gBAAS,CAAC;YACT,mBAAmB,CAAC,SAAS,CAAC,CAAA;QAChC,CAAC;IACH,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,kBAAkB,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,CAAA;QAC7C,MAAM,gBAAgB,CAAC,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,aAAa,EAAE,KAAK,CAAC,CAAA;QACrE,MAAM,IAAI,sBAAsB,CAAC,EAAE,KAAK,EAAE,GAAG,QAAQ,EAAE,EAAE,KAAK,CAAC,CAAA;IACjE,CAAC;AACH,CAAC"}
|
|
1
|
+
{"version":3,"file":"runner.js","sourceRoot":"","sources":["../../src/registry/runner.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAGH,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAA;AAGjD,OAAO,EAAE,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAA;AAOtE,OAAO,EACL,cAAc,EACd,QAAQ,GAET,MAAM,yBAAyB,CAAA;AAGhC,OAAO,EAAE,iBAAiB,EAAE,sBAAsB,EAAE,MAAM,aAAa,CAAA;AACvE,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAC1C,OAAO,EAAE,eAAe,EAAE,SAAS,EAAE,QAAQ,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAA;AAEzF,mDAAmD;AACnD,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,CAAA;AAkBlC,SAAS,QAAQ,CAAC,MAAe;IAC/B,IAAI,OAAO,MAAM,KAAK,QAAQ;QAAE,OAAO,MAAM,CAAA;IAC7C,IACE,MAAM;QACN,OAAO,MAAM,KAAK,QAAQ;QAC1B,OAAQ,MAA+B,CAAC,MAAM,KAAK,QAAQ,EAC3D,CAAC;QACD,OAAQ,MAA6B,CAAC,MAAM,CAAA;IAC9C,CAAC;IACD,OAAO,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,EAAE,CAAA;AACrC,CAAC;AAED,SAAS,aAAa,CAAC,KAOtB;IACC,OAAO;QACL,KAAK,EAAE,KAAK,CAAC,KAAK;QAClB,IAAI,EAAE,KAAK,CAAC,IAAI;QAChB,8DAA8D;QAC9D,iBAAiB;QACjB,OAAO,EAAE,KAAK,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS;QAC3D,mCAAmC;QACnC,aAAa,EAAE,KAAK,CAAC,aAAa;QAClC,6DAA6D;QAC7D,GAAG,CAAC,KAAK,CAAC,QAAQ,KAAK,SAAS,IAAI,KAAK,CAAC,KAAK,KAAK,SAAS;YAC3D,CAAC,CAAC;gBACE,OAAO,EAAE,KAAK,EACZ,EAAU,EACV,IAAY,EACZ,OAA8B,EAC9B,EAAE;oBACF,MAAM,MAAM,GAAG,iBAAiB,EAAE,CAAA;oBAClC,MAAM,KAAK,GAAG,CAAC,MAAM,EAAE,KAAK,IAAI,CAAC,CAAC,GAAG,CAAC,CAAA;oBACtC,IAAI,KAAK,GAAG,iBAAiB,EAAE,CAAC;wBAC9B,MAAM,IAAI,KAAK,CACb,sDAAsD,KAAK,KAAK;4BAC9D,GAAG,iBAAiB,gBAAgB,KAAK,CAAC,KAAK,OAAO,EAAE,KAAK;4BAC7D,kCAAkC,CACrC,CAAA;oBACH,CAAC;oBACD,MAAM,QAAQ,GAAG,KAAK,CAAC,QAA4B,CAAA;oBACnD,MAAM,KAAK,GAAG,KAAK,CAAC,KAAuB,CAAA;oBAC3C,2DAA2D;oBAC3D,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC,QAAQ,EAAE,KAAK,EAAE,EAAE,EAAE,IAAI,IAAI,EAAE,EAAE;wBAClE,GAAG,CAAC,OAAO,EAAE,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;qBACxE,CAAC,CAAA;oBACF,OAAO,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,CAAA;gBACvD,CAAC;aACF;YACH,CAAC,CAAC,EAAE,CAAC;QACP,QAAQ,CAAC,KAAK,EAAE,OAAO;YACrB,qCAAqC;YACrC,gCAAgC;YAChC,MAAM,OAAO,GAAI,KAAqD,CAAC,GAAG,CACxE,CAAC,IAAI,EAAE,EAAE,CAAC,KAAK,EAAE,IAAc,EAAE,EAAE;gBACjC,gBAAgB,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA;gBAC7B,OAAO,IAAI,CAAC,IAAI,CAAC,CAAA;YACnB,CAAC,CACF,CAAA;YACD,IAAI,KAAK,CAAC,IAAI,KAAK,QAAQ,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC;gBAC3C,OAAO,cAAc,CACnB,KAAK,CAAC,KAAK,EACX,KAAK,CAAC,KAAK,EACX,OAAgB,EAChB,OAA0B,CAC3B,CAAA;YACH,CAAC;YACD,OAAO,QAAQ,CAAC,OAAgB,EAAE;gBAChC,GAAI,OAA2B;gBAC/B,OAAO,EAAE,KAAK,CAAC,OAAO;aACvB,CAAC,CAAA;QACJ,CAAC;KACF,CAAA;AACH,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,iBAAiB,CACrC,QAA0B,EAC1B,EAAU,EACV,IAAa;IAEb,MAAM,UAAU,GAAG,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC,CAAA;IACvC,MAAM,QAAQ,GAAG,YAAY,CAAC,UAAU,CAAC,UAAU,EAAE,IAAI,CAAC,CAAA;IAC1D,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACxB,MAAM,IAAI,iBAAiB,CAAC,UAAU,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAA;IACtD,CAAC;IACD,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,GAAG,CAAC,IAAa,EAAE;QACjD,KAAK,EAAE,UAAU,IAAI,CAAC,GAAG,EAAE,EAAE;QAC7B,IAAI,EAAE,OAAO;QACb,QAAQ,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE,CAAC,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;KACvD,CAAC,CAAA;IACF,OAAO,EAAE,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAA;AACrC,CAAC;AAED,kEAAkE;AAClE,KAAK,UAAU,kBAAkB,CAAC,KAAqB,EAAE,KAAa;IACpE,MAAM,OAAO,GAAG,MAAM,UAAU,CAAC,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,CAAA;IACrD,IAAI,CAAC,OAAO;QAAE,OAAM;IACpB,IAAI,OAAO,CAAC,GAAG,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;QACrC,MAAM,OAAO,CAAC,QAAQ,EAAE,CAAA;IAC1B,CAAC;SAAM,IAAI,OAAO,CAAC,GAAG,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;QAC3C,mEAAmE;QACnE,MAAM,OAAO,CAAC,MAAM,EAAE,CAAA;QACtB,MAAM,OAAO,CAAC,QAAQ,EAAE,CAAA;IAC1B,CAAC;AACH,CAAC;AAED,KAAK,UAAU,kBAAkB,CAC/B,KAAqB,EACrB,KAAa,EACb,KAAc;IAEd,MAAM,OAAO,GAAG,MAAM,UAAU,CAAC,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,CAAA;IACrD,IAAI,OAAO,IAAI,OAAO,CAAC,GAAG,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;QAChD,MAAM,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;IAC3B,CAAC;AACH,CAAC;AAUD;;;;GAIG;AACH,KAAK,UAAU,gBAAgB,CAC7B,KAAqB,EACrB,KAAa,EACb,MAAmC,EACnC,MAAqB,EACrB,OAAgB;IAEhB,IAAI,CAAC,MAAM;QAAE,OAAM;IACnB,IAAI,MAAM,KAAK,OAAO;QAAE,OAAM;IAC9B,IAAI,MAAM,KAAK,YAAY,IAAI,CAAC,OAAO;QAAE,OAAM;IAC/C,IAAI,CAAC;QACH,MAAM,MAAM,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAA;QACrC,MAAM,OAAO,GAAG,MAAM,UAAU,CAAC,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,CAAA;QACrD,MAAM,OAAO,EAAE,cAAc,EAAE,CAAA;IACjC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,GAAG,CACT,mDAAmD,KAAK,IAAI;YAC1D,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAC9D,CAAA;IACH,CAAC;AACH,CAAC;AAcD,kEAAkE;AAClE,KAAK,UAAU,QAAQ,CACrB,QAA0B,EAC1B,KAAqB,EACrB,EAAU,EACV,IAAa,EACb,OAA4D;IAE5D,MAAM,UAAU,GAAG,QAAQ,CAAC,OAAO,CAAC,EAAE,EAAE,OAAO,EAAE,OAAO,CAAC,CAAA;IACzD,MAAM,QAAQ,GAAG,YAAY,CAAC,UAAU,CAAC,UAAU,EAAE,IAAI,CAAC,CAAA;IAC1D,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACxB,MAAM,IAAI,iBAAiB,CAAC,UAAU,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAA;IACtD,CAAC;IACD,MAAM,QAAQ,GAAqB,EAAE,EAAE,EAAE,UAAU,CAAC,EAAE,EAAE,OAAO,EAAE,UAAU,CAAC,OAAO,EAAE,CAAA;IACrF,gDAAgD;IAChD,uCAAuC;IACvC,MAAM,MAAM,GAAG,iBAAiB,EAAE,CAAA;IAClC,MAAM,OAAO,GAAG,MAAM,UAAU,CAAC,KAAK,CAAC,KAAK,EAAE;QAC5C,QAAQ,EAAE,QAAQ;QAClB,IAAI;QACJ,SAAS,EAAE,UAAU,CAAC,SAAS;QAC/B,SAAS,EAAE,UAAU,CAAC,SAAS,EAAE,MAAM,IAAI,CAAC;QAC5C,GAAG,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC9D,GAAG,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KAC7D,CAAC,CAAA;IACF,OAAO;QACL,UAAU;QACV,QAAQ;QACR,OAAO;QACP,KAAK,EAAE,OAAO,CAAC,GAAG,CAAC,KAAK;QACxB,KAAK;QACL,QAAQ;QACR,aAAa,EAAE,OAAO,EAAE,SAAS,EAAE,OAAO,IAAI,YAAY;KAC3D,CAAA;AACH,CAAC;AAED,mEAAmE;AACnE,KAAK,UAAU,eAAe,CAC5B,KAAe,EACf,IAAa,EACb,OAA0B;IAE1B,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,aAAa,EAAE,GAAG,KAAK,CAAA;IAC5E,QAAQ,CAAC,KAAK,CAAC,CAAA;IACf,4DAA4D;IAC5D,MAAM,MAAM,GAAG,iBAAiB,EAAE,CAAA;IAClC,IAAI,SAAsC,CAAA;IAC1C,IAAI,CAAC;QACH,8CAA8C;QAC9C,IAAI,OAAO,EAAE,SAAS,EAAE,CAAC;YACvB,SAAS,GAAG,MAAM,OAAO,CAAC,SAAS,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,EAAE,OAAO,CAAC,SAAS,CAAC,OAAO,CAAC,CAAA;YACrF,MAAM,OAAO,CAAC,YAAY,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAA;QAChD,CAAC;QACD,mDAAmD;QACnD,uDAAuD;QACvD,mCAAmC;QACnC,MAAM,MAAM,GAAG,MAAM,OAAO,CAC1B;YACE,KAAK;YACL,QAAQ,EAAE,QAAQ;YAClB,GAAG,CAAC,OAAO,EAAE,IAAI,KAAK,SAAS;gBAC7B,CAAC,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE;gBACxB,CAAC,CAAC,MAAM,EAAE,IAAI,KAAK,SAAS;oBAC1B,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE;oBACvB,CAAC,CAAC,EAAE,CAAC;YACT,GAAG,CAAC,SAAS,KAAK,SAAS;gBACzB,CAAC,CAAC,EAAE,SAAS,EAAE;gBACf,CAAC,CAAC,MAAM,EAAE,SAAS,KAAK,SAAS;oBAC/B,CAAC,CAAC,EAAE,SAAS,EAAE,MAAM,CAAC,SAAS,EAAE;oBACjC,CAAC,CAAC,EAAE,CAAC;YACT,6CAA6C;YAC7C,KAAK,EAAE,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;YAClD,GAAG,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAC/D,EACD,GAAG,EAAE,CACH,UAAU,CAAC,GAAG,CACZ,IAAa,EACb,aAAa,CAAC;YACZ,KAAK;YACL,IAAI,EAAE,OAAO;YACb,OAAO;YACP,KAAK;YACL,QAAQ,EAAE,KAAK,CAAC,QAAQ;YACxB,aAAa,EAAE,CAAC,SAAS,IAAI,MAAM,EAAE,SAAS,CAAC,EAAE,IAAI;SACtD,CAAC,CACH,CACJ,CAAA;QACD,sDAAsD;QACtD,mDAAmD;QACnD,kDAAkD;QAClD,IAAI,OAAO,CAAC,GAAG,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;YACrC,MAAM,OAAO,CAAC,QAAQ,EAAE,CAAA;QAC1B,CAAC;QACD,MAAM,gBAAgB,CAAC,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,aAAa,EAAE,IAAI,CAAC,CAAA;QACpE,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAA;IAChE,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,4CAA4C;QAC5C,sDAAsD;QACtD,IAAI,OAAO,CAAC,GAAG,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;YACrC,IAAI,KAAK,YAAY,eAAe,EAAE,CAAC;gBACrC,MAAM,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA;YAC5B,CAAC;iBAAM,CAAC;gBACN,MAAM,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;YAC3B,CAAC;QACH,CAAC;QACD,MAAM,gBAAgB,CAAC,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,aAAa,EAAE,KAAK,CAAC,CAAA;QACrE,MAAM,IAAI,sBAAsB,CAAC,EAAE,KAAK,EAAE,GAAG,QAAQ,EAAE,EAAE,KAAK,CAAC,CAAA;IACjE,CAAC;YAAS,CAAC;QACT,SAAS,CAAC,KAAK,CAAC,CAAA;IAClB,CAAC;AACH,CAAC;AAED,oDAAoD;AACpD,MAAM,CAAC,KAAK,UAAU,aAAa,CACjC,QAA0B,EAC1B,KAAqB,EACrB,EAAU,EACV,IAAa,EACb,OAAiD;IAEjD,MAAM,KAAK,GAAG,MAAM,QAAQ,CAAC,QAAQ,EAAE,KAAK,EAAE,EAAE,EAAE,IAAI,EAAE,OAAO,CAAC,CAAA;IAChE,OAAO,eAAe,CAAC,KAAK,EAAE,IAAI,EAAE,OAAO,CAAC,CAAA;AAC9C,CAAC;AASD;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,qBAAqB,CACzC,QAA0B,EAC1B,KAAqB,EACrB,EAAU,EACV,IAAa,EACb,OAAiD;IAEjD,MAAM,KAAK,GAAG,MAAM,QAAQ,CAAC,QAAQ,EAAE,KAAK,EAAE,EAAE,EAAE,IAAI,EAAE,OAAO,CAAC,CAAA;IAChE,OAAO;QACL,KAAK,EAAE,KAAK,CAAC,KAAK;QAClB,QAAQ,EAAE,KAAK,CAAC,QAAQ;QACxB,UAAU,EAAE,eAAe,CAAC,KAAK,EAAE,IAAI,EAAE,OAAO,CAAC;KAClD,CAAA;AACH,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc,CAClC,QAA0B,EAC1B,KAAqB,EACrB,KAAa,EACb,OAA0B;IAE1B,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;IACrC,IAAI,CAAC,GAAG,EAAE,CAAC;QACT,MAAM,IAAI,KAAK,CAAC,oDAAoD,KAAK,EAAE,CAAC,CAAA;IAC9E,CAAC;IACD,MAAM,QAAQ,GAAG,GAAG,CAAC,QAAQ,CAAA;IAC7B,MAAM,UAAU,GAAG,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,EAAE,QAAQ,CAAC,OAAO,CAAC,CAAA;IAClE,MAAM,aAAa,GAAG,OAAO,EAAE,SAAS,EAAE,OAAO,IAAI,YAAY,CAAA;IAEjE,IAAI,SAAsC,CAAA;IAC1C,QAAQ,CAAC,KAAK,CAAC,CAAA;IACf,IAAI,CAAC;QACH,IAAI,OAAO,EAAE,SAAS,IAAI,GAAG,CAAC,SAAS,EAAE,CAAC;YACxC,SAAS,GAAG,MAAM,OAAO,CAAC,SAAS,CAAC,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,CAAA;QACpE,CAAC;QACD,mDAAmD;QACnD,0CAA0C;QAC1C,MAAM,MAAM,GAAG,MAAM,OAAO,CAC1B;YACE,KAAK;YACL,QAAQ,EAAE,QAAQ;YAClB,GAAG,CAAC,OAAO,EAAE,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC9D,GAAG,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACjD,KAAK,EAAE,CAAC;SACT,EACD,GAAG,EAAE,CACH,UAAU,CAAC,GAAG,CACZ,GAAG,CAAC,IAAa,EACjB,aAAa,CAAC;YACZ,KAAK;YACL,IAAI,EAAE,QAAQ;YACd,KAAK;YACL,QAAQ;YACR,aAAa,EAAE,SAAS,EAAE,IAAI;SAC/B,CAAC,CACH,CACJ,CAAA;QACD,2DAA2D;QAC3D,kCAAkC;QAClC,MAAM,kBAAkB,CAAC,KAAK,EAAE,KAAK,CAAC,CAAA;QACtC,MAAM,gBAAgB,CAAC,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,aAAa,EAAE,IAAI,CAAC,CAAA;QACpE,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAA;IAChE,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,oDAAoD;QACpD,IAAI,KAAK,YAAY,eAAe,EAAE,CAAC;YACrC,MAAM,OAAO,GAAG,MAAM,UAAU,CAAC,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,CAAA;YACrD,IAAI,OAAO,IAAI,OAAO,CAAC,GAAG,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;gBAChD,MAAM,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA;YAC5B,CAAC;QACH,CAAC;aAAM,CAAC;YACN,MAAM,kBAAkB,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,CAAA;QAC/C,CAAC;QACD,MAAM,gBAAgB,CAAC,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,aAAa,EAAE,KAAK,CAAC,CAAA;QACrE,MAAM,IAAI,sBAAsB,CAAC,EAAE,KAAK,EAAE,GAAG,QAAQ,EAAE,EAAE,KAAK,CAAC,CAAA;IACjE,CAAC;YAAS,CAAC;QACT,SAAS,CAAC,KAAK,CAAC,CAAA;IAClB,CAAC;AACH,CAAC"}
|
package/dist/runtime/errors.d.ts
CHANGED
|
@@ -54,3 +54,29 @@ export declare class WorkflowFallbackError extends WorkflowError {
|
|
|
54
54
|
readonly label: string;
|
|
55
55
|
constructor(errors: unknown[], label: string);
|
|
56
56
|
}
|
|
57
|
+
/** P1-5 pipeline 失败(fail-fast 首个 / continue 聚合) */
|
|
58
|
+
export declare class WorkflowPipelineError extends WorkflowError {
|
|
59
|
+
/** 失败条目(item 下标 + 原始异常;continue 模式含全部) */
|
|
60
|
+
readonly failures: Array<{
|
|
61
|
+
index: number;
|
|
62
|
+
error: unknown;
|
|
63
|
+
}>;
|
|
64
|
+
/** 各 item 的最后值(失败槽位为 undefined) */
|
|
65
|
+
readonly results: ReadonlyArray<unknown>;
|
|
66
|
+
readonly mode: string;
|
|
67
|
+
constructor(failures: Array<{
|
|
68
|
+
index: number;
|
|
69
|
+
error: unknown;
|
|
70
|
+
}>, results: ReadonlyArray<unknown>, mode: string);
|
|
71
|
+
}
|
|
72
|
+
/** P1-5 race 全部分支失败(首个成功即胜出;全败 = 聚合抛出,fail-loud 不塌缩) */
|
|
73
|
+
export declare class WorkflowRaceError extends WorkflowError {
|
|
74
|
+
readonly failures: Array<{
|
|
75
|
+
index: number;
|
|
76
|
+
error: unknown;
|
|
77
|
+
}>;
|
|
78
|
+
constructor(failures: Array<{
|
|
79
|
+
index: number;
|
|
80
|
+
error: unknown;
|
|
81
|
+
}>);
|
|
82
|
+
}
|
package/dist/runtime/errors.js
CHANGED
|
@@ -85,4 +85,34 @@ export class WorkflowFallbackError extends WorkflowError {
|
|
|
85
85
|
this.label = label;
|
|
86
86
|
}
|
|
87
87
|
}
|
|
88
|
+
/** P1-5 pipeline 失败(fail-fast 首个 / continue 聚合) */
|
|
89
|
+
export class WorkflowPipelineError extends WorkflowError {
|
|
90
|
+
/** 失败条目(item 下标 + 原始异常;continue 模式含全部) */
|
|
91
|
+
failures;
|
|
92
|
+
/** 各 item 的最后值(失败槽位为 undefined) */
|
|
93
|
+
results;
|
|
94
|
+
mode;
|
|
95
|
+
constructor(failures, results, mode) {
|
|
96
|
+
const summary = failures
|
|
97
|
+
.map((f) => `#${f.index}: ${f.error instanceof Error ? f.error.message : String(f.error)}`)
|
|
98
|
+
.join("; ");
|
|
99
|
+
super(`pipeline failed (${mode}, ${failures.length} item(s)): ${summary}`);
|
|
100
|
+
this.name = "WorkflowPipelineError";
|
|
101
|
+
this.failures = failures;
|
|
102
|
+
this.results = results;
|
|
103
|
+
this.mode = mode;
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
/** P1-5 race 全部分支失败(首个成功即胜出;全败 = 聚合抛出,fail-loud 不塌缩) */
|
|
107
|
+
export class WorkflowRaceError extends WorkflowError {
|
|
108
|
+
failures;
|
|
109
|
+
constructor(failures) {
|
|
110
|
+
const summary = failures
|
|
111
|
+
.map((f) => `#${f.index}: ${f.error instanceof Error ? f.error.message : String(f.error)}`)
|
|
112
|
+
.join("; ");
|
|
113
|
+
super(`race failed: all ${failures.length} branch(es) failed: ${summary}`);
|
|
114
|
+
this.name = "WorkflowRaceError";
|
|
115
|
+
this.failures = failures;
|
|
116
|
+
}
|
|
117
|
+
}
|
|
88
118
|
//# sourceMappingURL=errors.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../../src/runtime/errors.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../../src/runtime/errors.ts"],"names":[],"mappings":"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"}
|
|
@@ -7,6 +7,12 @@
|
|
|
7
7
|
* 架构约束:本文件禁止 import 任何 OpenCode API。
|
|
8
8
|
* 未来可新增 ClaudeCodeExecutor / CodexExecutor 等实现,Core 不感知。
|
|
9
9
|
*/
|
|
10
|
+
/** 子会话模型引用(对应宿主 models 列表的 providerID/id) */
|
|
11
|
+
export interface AgentModelRef {
|
|
12
|
+
providerID: string;
|
|
13
|
+
id: string;
|
|
14
|
+
variant?: string;
|
|
15
|
+
}
|
|
10
16
|
export interface AgentTask {
|
|
11
17
|
/** 发给子 agent 的提示词 */
|
|
12
18
|
prompt: string;
|
|
@@ -15,6 +21,11 @@ export interface AgentTask {
|
|
|
15
21
|
* executor 应将其绑定为子会话 cwd;未启用时不传。
|
|
16
22
|
*/
|
|
17
23
|
cwd?: string;
|
|
24
|
+
/**
|
|
25
|
+
* P1-4 调用级模型覆盖:存在时优先于 executor 构造期默认模型。
|
|
26
|
+
* 由 agent(prompt, { model }) 解析注入;executor 只消费。
|
|
27
|
+
*/
|
|
28
|
+
model?: AgentModelRef;
|
|
18
29
|
}
|
|
19
30
|
/** token 用量(结构对齐宿主 API 的 usage 形状,但为 Core 自有类型) */
|
|
20
31
|
export interface TokenUsage {
|
|
@@ -30,12 +41,23 @@ export interface TokenUsage {
|
|
|
30
41
|
export interface AgentResult {
|
|
31
42
|
/** 子 agent 的最终文本输出 */
|
|
32
43
|
output: string;
|
|
44
|
+
/**
|
|
45
|
+
* 结构化输出(P1-6 shim):agent(prompt, { schema }) 时,output 经
|
|
46
|
+
* 解析 + validateArgs 校验后的 JSON 值。executor 不负责填充(宿主无
|
|
47
|
+
* 原生结构化输出),由 agent() 原语统一挂载。
|
|
48
|
+
*/
|
|
49
|
+
structured?: unknown;
|
|
33
50
|
/** token 用量(宿主能提供时;如 OpenCode V2 的 assistant 消息 tokens 字段) */
|
|
34
51
|
usage?: TokenUsage;
|
|
35
52
|
/** 本次调用的美元成本(宿主直接给出时;如 V2 的 cost 字段) */
|
|
36
53
|
costUSD?: number;
|
|
37
54
|
/** 实际使用的模型 "providerID/id"(宿主能提供时) */
|
|
38
55
|
model?: string;
|
|
56
|
+
/**
|
|
57
|
+
* 执行本次调用的宿主会话 ID(Open Session 回放):宿主型 executor
|
|
58
|
+
* 填充(如 V2 子会话 ses_*);回放侧凭它拉取完整对话。
|
|
59
|
+
*/
|
|
60
|
+
sessionID?: string;
|
|
39
61
|
}
|
|
40
62
|
export interface AgentExecutor {
|
|
41
63
|
execute(task: AgentTask): Promise<AgentResult>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"executor.js","sourceRoot":"","sources":["../../src/runtime/executor.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;
|
|
1
|
+
{"version":3,"file":"executor.js","sourceRoot":"","sources":["../../src/runtime/executor.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AA2DH,uDAAuD;AACvD,MAAM,OAAO,YAAY;IACvB,KAAK,CAAC,OAAO,CAAC,IAAe;QAC3B,OAAO,EAAE,MAAM,EAAE,UAAU,IAAI,CAAC,MAAM,EAAE,EAAE,CAAA;IAC5C,CAAC;CACF"}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* RunContext —— run 级环境态(P2-9 per-run 化)
|
|
3
|
+
*
|
|
4
|
+
* 背景:executor / checkpoint gate / workspace 原本是三个模块级 ambient 单例。
|
|
5
|
+
* 嵌套工作流(subflow)与并发 run 场景下会互相踩踏:
|
|
6
|
+
* - 子 run 收口时 setCurrentWorkspace(undefined) 会清掉父 run 的工作区
|
|
7
|
+
* - scheduler / 调用级 checkpoint 覆盖只能「换全局门 + 事后恢复」,
|
|
8
|
+
* 两个交叠 run 各持不同覆盖值时存在恢复交叠竞态(实测记录在案)
|
|
9
|
+
*
|
|
10
|
+
* 方案:AsyncLocalStorage 承载 run 级状态。runner 在 runToCompletion /
|
|
11
|
+
* resume 执行体外套一层 runWith(...);原语(checkpoint()/agent())经
|
|
12
|
+
* 环境读取函数拿「本 run 的」gate/workspace——ALS 里没有时回落模块级
|
|
13
|
+
* 全局(向后兼容:单 run 语义与旧行为完全一致)。
|
|
14
|
+
*
|
|
15
|
+
* executor 刻意保持全局:它由插件 init 一次性注入、从不按 run 换绑,
|
|
16
|
+
* 无踩踏面。
|
|
17
|
+
*
|
|
18
|
+
* 嵌套语义:subflow 子 run 建立新的 ALS 作用域(自己的 runId/journal),
|
|
19
|
+
* 未显式覆盖的字段(gate/workspace)继承父作用域——子 run 的 checkpoint
|
|
20
|
+
* 走父 run 的门,子 agent 的 cwd 落在父 run 的工作区。
|
|
21
|
+
*/
|
|
22
|
+
import type { CheckpointGate } from "../quality/checkpoint.js";
|
|
23
|
+
import type { WorkspaceHandle } from "../workspace/provider.js";
|
|
24
|
+
export interface RunContextState {
|
|
25
|
+
/** 本 run 的 runId(journal 主键) */
|
|
26
|
+
runId: string;
|
|
27
|
+
/** workflow 标识(registry 解析后已知) */
|
|
28
|
+
workflow?: {
|
|
29
|
+
id: string;
|
|
30
|
+
version: string;
|
|
31
|
+
};
|
|
32
|
+
/** 本 run 的 checkpoint gate(缺省回落全局绑定) */
|
|
33
|
+
gate?: CheckpointGate;
|
|
34
|
+
/** 本 run 的 workspace(缺省回落全局绑定/无) */
|
|
35
|
+
workspace?: WorkspaceHandle;
|
|
36
|
+
/** 嵌套深度:顶层 run = 0,subflow 子 run = 父 depth + 1 */
|
|
37
|
+
depth: number;
|
|
38
|
+
/** 父 run 的 runId(lineage;顶层 run 无) */
|
|
39
|
+
parentRunId?: string;
|
|
40
|
+
}
|
|
41
|
+
/** 在指定 run 上下文里执行 fn(runner 的 per-run 包装点) */
|
|
42
|
+
export declare function runWith<T>(state: RunContextState, fn: () => Promise<T>): Promise<T>;
|
|
43
|
+
/** 当前异步链的 run 上下文(不在任何 run 内时 undefined) */
|
|
44
|
+
export declare function currentRunContext(): RunContextState | undefined;
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* RunContext —— run 级环境态(P2-9 per-run 化)
|
|
3
|
+
*
|
|
4
|
+
* 背景:executor / checkpoint gate / workspace 原本是三个模块级 ambient 单例。
|
|
5
|
+
* 嵌套工作流(subflow)与并发 run 场景下会互相踩踏:
|
|
6
|
+
* - 子 run 收口时 setCurrentWorkspace(undefined) 会清掉父 run 的工作区
|
|
7
|
+
* - scheduler / 调用级 checkpoint 覆盖只能「换全局门 + 事后恢复」,
|
|
8
|
+
* 两个交叠 run 各持不同覆盖值时存在恢复交叠竞态(实测记录在案)
|
|
9
|
+
*
|
|
10
|
+
* 方案:AsyncLocalStorage 承载 run 级状态。runner 在 runToCompletion /
|
|
11
|
+
* resume 执行体外套一层 runWith(...);原语(checkpoint()/agent())经
|
|
12
|
+
* 环境读取函数拿「本 run 的」gate/workspace——ALS 里没有时回落模块级
|
|
13
|
+
* 全局(向后兼容:单 run 语义与旧行为完全一致)。
|
|
14
|
+
*
|
|
15
|
+
* executor 刻意保持全局:它由插件 init 一次性注入、从不按 run 换绑,
|
|
16
|
+
* 无踩踏面。
|
|
17
|
+
*
|
|
18
|
+
* 嵌套语义:subflow 子 run 建立新的 ALS 作用域(自己的 runId/journal),
|
|
19
|
+
* 未显式覆盖的字段(gate/workspace)继承父作用域——子 run 的 checkpoint
|
|
20
|
+
* 走父 run 的门,子 agent 的 cwd 落在父 run 的工作区。
|
|
21
|
+
*/
|
|
22
|
+
import { AsyncLocalStorage } from "node:async_hooks";
|
|
23
|
+
const runStorage = new AsyncLocalStorage();
|
|
24
|
+
/** 在指定 run 上下文里执行 fn(runner 的 per-run 包装点) */
|
|
25
|
+
export function runWith(state, fn) {
|
|
26
|
+
return runStorage.run(state, fn);
|
|
27
|
+
}
|
|
28
|
+
/** 当前异步链的 run 上下文(不在任何 run 内时 undefined) */
|
|
29
|
+
export function currentRunContext() {
|
|
30
|
+
return runStorage.getStore();
|
|
31
|
+
}
|
|
32
|
+
//# sourceMappingURL=run-context.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"run-context.js","sourceRoot":"","sources":["../../src/runtime/run-context.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAEH,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAA;AAoBpD,MAAM,UAAU,GAAG,IAAI,iBAAiB,EAAmB,CAAA;AAE3D,8CAA8C;AAC9C,MAAM,UAAU,OAAO,CAAI,KAAsB,EAAE,EAAoB;IACrE,OAAO,UAAU,CAAC,GAAG,CAAC,KAAK,EAAE,EAAE,CAAC,CAAA;AAClC,CAAC;AAED,4CAA4C;AAC5C,MAAM,UAAU,iBAAiB;IAC/B,OAAO,UAAU,CAAC,QAAQ,EAAE,CAAA;AAC9B,CAAC"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
export type CronSpec = {
|
|
2
|
+
kind: "minutes";
|
|
3
|
+
step: number;
|
|
4
|
+
} | {
|
|
5
|
+
kind: "hourly";
|
|
6
|
+
minute: number;
|
|
7
|
+
} | {
|
|
8
|
+
kind: "daily";
|
|
9
|
+
minute: number;
|
|
10
|
+
hour: number;
|
|
11
|
+
} | {
|
|
12
|
+
kind: "weekly";
|
|
13
|
+
minute: number;
|
|
14
|
+
hour: number;
|
|
15
|
+
days: number[];
|
|
16
|
+
};
|
|
17
|
+
/**
|
|
18
|
+
* 校验并解析 cron 表达式。
|
|
19
|
+
* 合法返回 CronSpec;非法返回错误信息(含格式说明,可直接展示)。
|
|
20
|
+
*/
|
|
21
|
+
export declare function parseCron(expr: string): CronSpec | string;
|
|
22
|
+
export declare function validateCron(expr: string): string | null;
|
|
23
|
+
/**
|
|
24
|
+
* after 之后的下一个未来 slot(严格晚于 after)。
|
|
25
|
+
* 已通过校验的 spec 才可调用(parseCron 返回 CronSpec)。
|
|
26
|
+
*/
|
|
27
|
+
export declare function nextRun(spec: CronSpec, after: Date): Date;
|
|
28
|
+
/** now 之前(含恰好等于)最近的一个过去 slot */
|
|
29
|
+
export declare function latestSlot(spec: CronSpec, now: Date): Date;
|