@aalis/plugin-workflow 0.14.1 → 0.15.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/dist/engine.d.ts +8 -7
- package/dist/engine.d.ts.map +1 -1
- package/dist/engine.js +46 -16
- package/dist/engine.js.map +1 -1
- package/dist/index.d.ts +4 -4
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +233 -242
- package/dist/index.js.map +1 -1
- package/dist/triggers.d.ts +2 -2
- package/dist/triggers.d.ts.map +1 -1
- package/dist/triggers.js +20 -26
- package/dist/triggers.js.map +1 -1
- package/package.json +12 -12
package/dist/engine.d.ts
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
import type { Hooks } from '@aalis/api-hooks';
|
|
2
|
-
import type {
|
|
2
|
+
import type { ToolCallContext, ToolService } from '@aalis/api-tools';
|
|
3
3
|
import type { NodeRunInfo, WorkflowDef } from '@aalis/api-workflow';
|
|
4
|
-
import type { Events, Logger } from '@aalis/core';
|
|
4
|
+
import type { Events, Logger, ServiceSelection } from '@aalis/core';
|
|
5
5
|
/**
|
|
6
6
|
* 执行一次 DAG 用到的能力:tool 节点调工具、send-message / agent 节点派发消息、
|
|
7
7
|
* agent 节点经钩子捕获本轮回复。引擎不持有插件激活本身,只收这几样。
|
|
8
8
|
*/
|
|
9
9
|
export interface EngineCaps {
|
|
10
|
-
tools:
|
|
10
|
+
tools: Pick<ServiceSelection<ToolService>, 'present' | 'use'>;
|
|
11
11
|
events: Events;
|
|
12
12
|
hooks: Hooks;
|
|
13
13
|
logger: Logger;
|
|
@@ -19,10 +19,11 @@ interface RunOptions extends EngineCaps {
|
|
|
19
19
|
runId: string;
|
|
20
20
|
vars: Record<string, unknown>;
|
|
21
21
|
toolCallContext: ToolCallContext;
|
|
22
|
-
/**
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
22
|
+
/**
|
|
23
|
+
* 取消信号:中止后不再调度新节点,阻塞中的 wait / agent 节点立即失败;tool 节点经 toolCallContext.signal 收到,
|
|
24
|
+
* 是否提前返回由工具决定
|
|
25
|
+
*/
|
|
26
|
+
signal: AbortSignal;
|
|
26
27
|
/** 节点完成回调(用于持久化进度 + 发事件) */
|
|
27
28
|
onNodeDone?: (info: NodeRunInfo) => void;
|
|
28
29
|
}
|
package/dist/engine.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"engine.d.ts","sourceRoot":"","sources":["../src/engine.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"engine.d.ts","sourceRoot":"","sources":["../src/engine.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,KAAK,EAAE,eAAe,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AACrE,OAAO,KAAK,EAEV,WAAW,EAKX,WAAW,EACZ,MAAM,qBAAqB,CAAC;AAC7B,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAOpE;;;GAGG;AACH,MAAM,WAAW,UAAU;IACzB,KAAK,EAAE,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,EAAE,SAAS,GAAG,KAAK,CAAC,CAAC;IAC9D,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,KAAK,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;CAChB;AA2ED,2DAA2D;AAC3D,wBAAgB,aAAa,CAAC,GAAG,EAAE,WAAW,GAAG,MAAM,GAAG,IAAI,CAiC7D;AAmJD,UAAU,UAAW,SAAQ,UAAU;IACrC,GAAG,EAAE,WAAW,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC9B,eAAe,EAAE,eAAe,CAAC;IACjC;;;OAGG;IACH,MAAM,EAAE,WAAW,CAAC;IACpB,4BAA4B;IAC5B,UAAU,CAAC,EAAE,CAAC,IAAI,EAAE,WAAW,KAAK,IAAI,CAAC;CAC1C;AAED;;;GAGG;AACH,wBAAsB,MAAM,CAAC,IAAI,EAAE,UAAU,GAAG,OAAO,CAAC;IACtD,MAAM,EAAE,SAAS,GAAG,QAAQ,GAAG,WAAW,CAAC;IAC3C,KAAK,EAAE,WAAW,EAAE,CAAC;IACrB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACjC,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC,CAuFD"}
|
package/dist/engine.js
CHANGED
|
@@ -2,6 +2,8 @@
|
|
|
2
2
|
// engine.ts — DAG 执行引擎
|
|
3
3
|
// ============================================================
|
|
4
4
|
const MAX_OUTPUT_PREVIEW = 1000;
|
|
5
|
+
/** 运行被取消时,阻塞中的节点以此失败 */
|
|
6
|
+
const CANCELLED = '运行已取消';
|
|
5
7
|
// ─── 模板插值 ────────────────────────────────────────
|
|
6
8
|
const TPL_RE = /\{\{\s*(vars|outputs)\.([\w.[\]]+)\s*\}\}/g;
|
|
7
9
|
/** 解析 outputs.foo.bar / outputs.foo[0].x 这类访问路径 */
|
|
@@ -120,9 +122,9 @@ export function validateGraph(def) {
|
|
|
120
122
|
return null;
|
|
121
123
|
}
|
|
122
124
|
async function execTool(node, ec) {
|
|
123
|
-
|
|
124
|
-
if (!service)
|
|
125
|
+
if (!ec.tools.present)
|
|
125
126
|
throw new Error("'tools' 服务不可用");
|
|
127
|
+
const service = ec.tools.use;
|
|
126
128
|
const args = (interpolateValue(node.args ?? {}, ec.vars, ec.outputs) ?? {});
|
|
127
129
|
// 工作流节点产出是文本:工具交给主模型看的图(images)没有消费者,只取 content
|
|
128
130
|
return (await service.execute(node.tool, args, ec.toolCallContext)).content;
|
|
@@ -144,14 +146,23 @@ async function execSendMessage(node, ec) {
|
|
|
144
146
|
await ec.events.emit('inbound:message', message);
|
|
145
147
|
return `sent to ${sessionId}@${platform} (${content.length} chars)`;
|
|
146
148
|
}
|
|
147
|
-
|
|
149
|
+
function execWait(node, signal) {
|
|
148
150
|
const ms = Math.max(0, Math.floor(node.seconds * 1000));
|
|
149
|
-
|
|
150
|
-
|
|
151
|
+
return new Promise((resolve, reject) => {
|
|
152
|
+
const timer = setTimeout(() => {
|
|
153
|
+
signal.removeEventListener('abort', stop);
|
|
154
|
+
resolve(`waited ${node.seconds}s`);
|
|
155
|
+
}, ms);
|
|
156
|
+
const stop = () => {
|
|
157
|
+
clearTimeout(timer);
|
|
158
|
+
reject(new Error(CANCELLED));
|
|
159
|
+
};
|
|
160
|
+
signal.addEventListener('abort', stop, { once: true });
|
|
161
|
+
});
|
|
151
162
|
}
|
|
152
163
|
const DEFAULT_AGENT_TIMEOUT_SEC = 120;
|
|
153
164
|
/**
|
|
154
|
-
* agent 节点:派发指令给 agent
|
|
165
|
+
* agent 节点:派发指令给 agent 并等待本轮回复。
|
|
155
166
|
* 在 emit 前注册 `agent:turn:after` 监听,按目标 sessionId 捕获首条回复;超时或
|
|
156
167
|
* outcome=error/aborted 抛错(=> 节点失败)。回复文本作为节点结果,可被 `{{outputs.X}}` 下游引用。
|
|
157
168
|
*
|
|
@@ -159,16 +170,17 @@ const DEFAULT_AGENT_TIMEOUT_SEC = 120;
|
|
|
159
170
|
* - `source` 含 nodeId(`workflow:<wf>:<nodeId>`)以隔离 agent 的并发 lane——否则同一会话上的
|
|
160
171
|
* 两个 agent 回合会因 lane 相同而互相 abort。但**显式指定相同 sessionId 的并行 agent 节点**仍会
|
|
161
172
|
* 因 `agent:turn:after` 按 sessionId 匹配而串扰捕获——省略 sessionId(默认一次性子会话)可彻底避免。
|
|
162
|
-
* -
|
|
173
|
+
* - run 取消时立即停止等待、节点失败;已派发的回合不随之中止,照常跑完,回复不再被捕获。
|
|
163
174
|
* - 目标会话处于禁言期时(禁言不看作用域),或落在 flow-control 作用域内且限速窗口已满时,消息会被 flow 相位
|
|
164
175
|
* 吞掉而永不回本节点的 `agent:turn:after`,节点会等到超时才失败。带 source 的消息不经触发策略、不受回复后冷却;限速只在目标会话落入 flow-control 作用域时生效。
|
|
165
176
|
*/
|
|
166
177
|
async function execAgent(node, ec) {
|
|
167
178
|
const instruction = interpolateString(node.instruction, ec.vars, ec.outputs);
|
|
168
179
|
// 省略 sessionId 时为本节点生成一次性隔离子会话,确保并行 agent 节点互不串扰、join 不混淆。
|
|
180
|
+
// 这类会话没有出生平台:平台档按入口平台选,场所为默认工作区。
|
|
169
181
|
const sessionId = node.sessionId
|
|
170
182
|
? interpolateString(node.sessionId, ec.vars, ec.outputs)
|
|
171
|
-
: `workflow
|
|
183
|
+
: `workflow::${ec.runId}::${node.id}`;
|
|
172
184
|
const platform = interpolateString(node.platform ?? 'workflow', ec.vars, ec.outputs);
|
|
173
185
|
const timeoutSec = node.timeoutSeconds && node.timeoutSeconds > 0 ? node.timeoutSeconds : DEFAULT_AGENT_TIMEOUT_SEC;
|
|
174
186
|
const timeoutMs = Math.floor(timeoutSec * 1000);
|
|
@@ -200,16 +212,21 @@ async function execAgent(node, ec) {
|
|
|
200
212
|
// (2026-08-24 审计),与 execSendMessage 同源补齐;无调用者保持匿名。
|
|
201
213
|
if (ec.toolCallContext.actor)
|
|
202
214
|
incoming.actor = ec.toolCallContext.actor;
|
|
203
|
-
const
|
|
215
|
+
const stopWaiting = () => resolveWait?.();
|
|
216
|
+
const timeoutHandle = setTimeout(stopWaiting, timeoutMs);
|
|
217
|
+
ec.signal.addEventListener('abort', stopWaiting, { once: true });
|
|
204
218
|
try {
|
|
205
219
|
await ec.events.emit('inbound:message', incoming);
|
|
206
220
|
await waitPromise;
|
|
207
221
|
}
|
|
208
222
|
finally {
|
|
209
223
|
clearTimeout(timeoutHandle);
|
|
224
|
+
ec.signal.removeEventListener('abort', stopWaiting);
|
|
210
225
|
dispose();
|
|
211
226
|
}
|
|
212
227
|
if (!captured) {
|
|
228
|
+
if (ec.signal.aborted)
|
|
229
|
+
throw new Error(CANCELLED);
|
|
213
230
|
throw new Error(`agent 节点超时(${timeoutSec}s 内未收到 agent:turn:after,会话=${sessionId})`);
|
|
214
231
|
}
|
|
215
232
|
if (captured.outcome === 'error' || captured.outcome === 'aborted') {
|
|
@@ -224,7 +241,7 @@ async function executeNode(node, ec) {
|
|
|
224
241
|
case 'send-message':
|
|
225
242
|
return await execSendMessage(node, ec);
|
|
226
243
|
case 'wait':
|
|
227
|
-
return await execWait(node);
|
|
244
|
+
return await execWait(node, ec.signal);
|
|
228
245
|
case 'agent':
|
|
229
246
|
return await execAgent(node, ec);
|
|
230
247
|
default: {
|
|
@@ -238,8 +255,22 @@ async function executeNode(node, ec) {
|
|
|
238
255
|
* 返回最终的 WorkflowRun(不含 runId/workflowId/startedAt 等元数据,由 caller 填充)。
|
|
239
256
|
*/
|
|
240
257
|
export async function runDag(opts) {
|
|
241
|
-
const { def, vars, tools, events, hooks, logger, runId,
|
|
258
|
+
const { def, vars, tools, events, hooks, logger, runId, signal, onNodeDone } = opts;
|
|
242
259
|
const outputs = {};
|
|
260
|
+
// tool 节点经 toolCallContext.signal 收到取消
|
|
261
|
+
const toolCallContext = { ...opts.toolCallContext, signal };
|
|
262
|
+
const ec = {
|
|
263
|
+
tools,
|
|
264
|
+
events,
|
|
265
|
+
hooks,
|
|
266
|
+
logger,
|
|
267
|
+
workflowId: def.id,
|
|
268
|
+
runId,
|
|
269
|
+
vars,
|
|
270
|
+
outputs,
|
|
271
|
+
toolCallContext,
|
|
272
|
+
signal,
|
|
273
|
+
};
|
|
243
274
|
const nodeMap = new Map(def.nodes.map(n => [n.id, n]));
|
|
244
275
|
const indeg = new Map();
|
|
245
276
|
const fan = new Map();
|
|
@@ -258,14 +289,13 @@ export async function runDag(opts) {
|
|
|
258
289
|
async function runOne(id) {
|
|
259
290
|
const node = nodeMap.get(id);
|
|
260
291
|
const info = nodeRuns.get(id);
|
|
261
|
-
if (
|
|
292
|
+
if (signal.aborted) {
|
|
262
293
|
info.status = 'skipped';
|
|
263
294
|
onNodeDone?.(info);
|
|
264
295
|
return;
|
|
265
296
|
}
|
|
266
297
|
info.status = 'running';
|
|
267
298
|
info.startedAt = Date.now();
|
|
268
|
-
const ec = { tools, events, hooks, logger, workflowId: def.id, runId, vars, outputs, toolCallContext };
|
|
269
299
|
try {
|
|
270
300
|
const result = await executeNode(node, ec);
|
|
271
301
|
info.status = 'success';
|
|
@@ -288,13 +318,13 @@ export async function runDag(opts) {
|
|
|
288
318
|
}
|
|
289
319
|
// 按层调度
|
|
290
320
|
while (true) {
|
|
291
|
-
if (
|
|
321
|
+
if (signal.aborted || firstError)
|
|
292
322
|
break;
|
|
293
323
|
const ready = [...indeg.entries()].filter(([id, d]) => d === 0 && nodeRuns.get(id).status === 'pending');
|
|
294
324
|
if (ready.length === 0)
|
|
295
325
|
break;
|
|
296
326
|
await Promise.all(ready.map(([id]) => runOne(id)));
|
|
297
|
-
if (firstError ||
|
|
327
|
+
if (firstError || signal.aborted)
|
|
298
328
|
break;
|
|
299
329
|
// 把成功节点的下游 indeg 减一
|
|
300
330
|
for (const [id] of ready) {
|
|
@@ -311,7 +341,7 @@ export async function runDag(opts) {
|
|
|
311
341
|
info.status = 'skipped';
|
|
312
342
|
}
|
|
313
343
|
const allNodes = def.nodes.map(n => nodeRuns.get(n.id));
|
|
314
|
-
if (
|
|
344
|
+
if (signal.aborted)
|
|
315
345
|
return { status: 'cancelled', nodes: allNodes, outputs, error: firstError ?? undefined };
|
|
316
346
|
if (firstError)
|
|
317
347
|
return { status: 'failed', nodes: allNodes, outputs, error: firstError };
|
package/dist/engine.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"engine.js","sourceRoot":"","sources":["../src/engine.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"engine.js","sourceRoot":"","sources":["../src/engine.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
import { type BoundTools } from '@aalis/api-tools';
|
|
2
|
-
import type
|
|
2
|
+
import { type BoundWebui } from '@aalis/api-webui';
|
|
3
3
|
declare const _default: import("@aalis/core").PluginDefinition<{
|
|
4
4
|
/** cron / interval 触发器共享的整分钟 tick 与表达式解析 */
|
|
5
|
-
cronEngine: import("@aalis/core").ServiceDescriptor<import("@aalis/api-cron-engine").CronEngine, import("@aalis/
|
|
5
|
+
cronEngine: import("@aalis/core").ServiceDescriptor<import("@aalis/api-cron-engine").CronEngine, import("@aalis/api-cron-engine").CronEngine>;
|
|
6
6
|
/** 定义(*.yaml)与运行历史的持久化出口 */
|
|
7
|
-
storage: import("@aalis/core").OptionalUse<import("@aalis/api-storage").StorageService, import("@aalis/
|
|
7
|
+
storage: import("@aalis/core").OptionalUse<import("@aalis/api-storage").StorageService, import("@aalis/api-storage").BoundStorage>;
|
|
8
8
|
/** tool 节点的执行入口,兼 AI 工具面的登记口 */
|
|
9
9
|
tools: import("@aalis/core").OptionalUse<import("@aalis/api-tools").ToolService, BoundTools>;
|
|
10
|
-
/**
|
|
10
|
+
/** 工作流页的登记口;无 WebUI 时引擎照常运行 */
|
|
11
11
|
webui: import("@aalis/core").OptionalUse<import("@aalis/api-webui").WebUIService, BoundWebui>;
|
|
12
12
|
events: import("@aalis/core").ServiceDescriptor<(identity: symbol) => import("@aalis/core").Events, import("@aalis/core").Events>;
|
|
13
13
|
/** agent 节点经 'agent:turn:after' 捕获本轮回复 */
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAWA,OAAO,EAAE,KAAK,UAAU,EAAS,MAAM,kBAAkB,CAAC;AAC1D,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAWA,OAAO,EAAE,KAAK,UAAU,EAAS,MAAM,kBAAkB,CAAC;AAC1D,OAAO,EAAE,KAAK,UAAU,EAA6B,MAAM,kBAAkB,CAAC;;IA2R5E,4CAA4C;;IAE5C,4BAA4B;;IAE5B,gCAAgC;;IAEhC,+BAA+B;;;IAG/B,0CAA0C;;;;;;;AAS5C,wBAWG"}
|
package/dist/index.js
CHANGED
|
@@ -7,12 +7,12 @@
|
|
|
7
7
|
// ============================================================
|
|
8
8
|
import { cronEngine } from '@aalis/api-cron-engine';
|
|
9
9
|
import { hooks } from '@aalis/api-hooks';
|
|
10
|
-
import {
|
|
10
|
+
import { isStorageUri, storage } from '@aalis/api-storage';
|
|
11
11
|
import { tools } from '@aalis/api-tools';
|
|
12
|
-
import { webuiServer } from '@aalis/api-webui';
|
|
12
|
+
import { markdownCode, webuiServer } from '@aalis/api-webui';
|
|
13
13
|
import { workflow } from '@aalis/api-workflow';
|
|
14
14
|
import { config, definePlugin, events, lifecycle, logger, optional, provide } from '@aalis/core';
|
|
15
|
-
import { defineConfig, parseConfig } from '@aalis/schema-config';
|
|
15
|
+
import { configError, defineConfig, parseConfig } from '@aalis/schema-config';
|
|
16
16
|
import { parse, stringify } from 'yaml';
|
|
17
17
|
import { runDag, validateGraph } from './engine.js';
|
|
18
18
|
import { normalizeDef, WorkflowLoader } from './loader.js';
|
|
@@ -48,80 +48,7 @@ const configSchema = defineConfig({
|
|
|
48
48
|
description: '开启后向 LLM 暴露 workflow_define / workflow_run 等工具。',
|
|
49
49
|
},
|
|
50
50
|
});
|
|
51
|
-
// ───
|
|
52
|
-
const webuiPages = [
|
|
53
|
-
{
|
|
54
|
-
key: 'workflows',
|
|
55
|
-
label: '工作流',
|
|
56
|
-
icon: '<svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round"><circle cx="6" cy="6" r="3"/><circle cx="18" cy="6" r="3"/><circle cx="12" cy="18" r="3"/><path d="M9 6h6"/><path d="M7.5 8.5L11 15.5"/><path d="M16.5 8.5L13 15.5"/></svg>',
|
|
57
|
-
order: 57,
|
|
58
|
-
content: [
|
|
59
|
-
{
|
|
60
|
-
type: 'stat',
|
|
61
|
-
label: '工作流总览',
|
|
62
|
-
source: 'workflowStats',
|
|
63
|
-
},
|
|
64
|
-
{
|
|
65
|
-
type: 'table',
|
|
66
|
-
label: '工作流定义',
|
|
67
|
-
source: 'listWorkflowsTable',
|
|
68
|
-
columns: [
|
|
69
|
-
{ key: 'id', label: 'ID', nowrap: true },
|
|
70
|
-
{ key: 'name', label: '名称' },
|
|
71
|
-
{ key: 'trigger', label: '触发器', nowrap: true },
|
|
72
|
-
{ key: 'nodeCount', label: '节点' },
|
|
73
|
-
{ key: 'enabled', label: '状态', nowrap: true },
|
|
74
|
-
{ key: 'description', label: '描述', maxWidth: 360, render: 'expandable-text' },
|
|
75
|
-
],
|
|
76
|
-
actions: [
|
|
77
|
-
{ label: '立即运行', method: 'triggerWorkflow' },
|
|
78
|
-
{ label: '禁用/启用', method: 'toggleWorkflow' },
|
|
79
|
-
{ label: '查看 YAML', method: 'getWorkflowYaml' },
|
|
80
|
-
{ label: '删除', method: 'removeWorkflow', confirm: '确定删除该工作流?(同时删除磁盘文件)', danger: true },
|
|
81
|
-
],
|
|
82
|
-
refresh: 60,
|
|
83
|
-
},
|
|
84
|
-
{
|
|
85
|
-
type: 'table',
|
|
86
|
-
label: '最近运行历史',
|
|
87
|
-
source: 'listRunsTable',
|
|
88
|
-
columns: [
|
|
89
|
-
{ key: 'runId', label: 'Run ID', nowrap: true },
|
|
90
|
-
{ key: 'workflowId', label: '工作流', nowrap: true },
|
|
91
|
-
{ key: 'status', label: '状态', nowrap: true },
|
|
92
|
-
{ key: 'triggerSource', label: '触发源', nowrap: true },
|
|
93
|
-
{ key: 'startedAtText', label: '开始时间', nowrap: true },
|
|
94
|
-
{ key: 'durationText', label: '耗时', nowrap: true },
|
|
95
|
-
{ key: 'error', label: '错误', maxWidth: 320, render: 'expandable-text' },
|
|
96
|
-
],
|
|
97
|
-
refresh: 30,
|
|
98
|
-
},
|
|
99
|
-
{
|
|
100
|
-
type: 'form',
|
|
101
|
-
label: '新建 / 覆盖工作流(粘贴完整 YAML)',
|
|
102
|
-
source: 'newWorkflowDraft',
|
|
103
|
-
save: 'upsertWorkflowYaml',
|
|
104
|
-
schema: {
|
|
105
|
-
yaml: {
|
|
106
|
-
type: 'textarea',
|
|
107
|
-
label: 'YAML 定义',
|
|
108
|
-
required: true,
|
|
109
|
-
description: '完整 WorkflowDef YAML:id / name / trigger / nodes。trigger 类型支持 cron / interval / once / event / manual。' +
|
|
110
|
-
'节点类型 tool / send-message / wait / agent(agent 节点派发指令给 agent 并等回复,配合 deps + {{outputs.X}} 做多智能体编排)。' +
|
|
111
|
-
'保存后将立即注册触发器并持久化到 defsDir。',
|
|
112
|
-
},
|
|
113
|
-
persist: {
|
|
114
|
-
type: 'boolean',
|
|
115
|
-
label: '写入磁盘',
|
|
116
|
-
default: true,
|
|
117
|
-
description: '关闭后仅在内存中注册(进程重启后丢失)',
|
|
118
|
-
},
|
|
119
|
-
},
|
|
120
|
-
},
|
|
121
|
-
],
|
|
122
|
-
},
|
|
123
|
-
];
|
|
124
|
-
// ─── 工具函数(与页面动作共享) ───
|
|
51
|
+
// ─── 工具函数(与工作流页共享) ───
|
|
125
52
|
function triggerSummary(t) {
|
|
126
53
|
switch (t.type) {
|
|
127
54
|
case 'cron':
|
|
@@ -138,16 +65,6 @@ function triggerSummary(t) {
|
|
|
138
65
|
return t.type;
|
|
139
66
|
}
|
|
140
67
|
}
|
|
141
|
-
function fmtTs(ts) {
|
|
142
|
-
if (!ts || !Number.isFinite(ts))
|
|
143
|
-
return '—';
|
|
144
|
-
try {
|
|
145
|
-
return new Date(ts).toLocaleString('zh-CN', { hour12: false });
|
|
146
|
-
}
|
|
147
|
-
catch {
|
|
148
|
-
return String(ts);
|
|
149
|
-
}
|
|
150
|
-
}
|
|
151
68
|
function fmtDuration(ms) {
|
|
152
69
|
if (!Number.isFinite(ms) || ms < 0)
|
|
153
70
|
return '—';
|
|
@@ -160,7 +77,7 @@ function fmtDuration(ms) {
|
|
|
160
77
|
return `${m}m${s}s`;
|
|
161
78
|
}
|
|
162
79
|
/**
|
|
163
|
-
* once 记账读不出时本次运行不安排 once:定义或启用一个 once 的回执据此如实说明(AI
|
|
80
|
+
* once 记账读不出时本次运行不安排 once:定义或启用一个 once 的回执据此如实说明(AI 工具与工作流页同一口径)。
|
|
164
81
|
* manualRun 是各自那一面手动执行的说法;不持久化的定义重启后就没了,「重启恢复」只对写了文件的定义成立。
|
|
165
82
|
*/
|
|
166
83
|
function onceSkippedNote(def, persist, onceLedgerReadable, manualRun) {
|
|
@@ -168,123 +85,186 @@ function onceSkippedNote(def, persist, onceLedgerReadable, manualRun) {
|
|
|
168
85
|
return undefined;
|
|
169
86
|
return `once 记账读取失败(见日志),本次运行不会触发;可用${manualRun}手动执行${persist ? ',修复运行历史文件后重启恢复' : ''}`;
|
|
170
87
|
}
|
|
88
|
+
const STATUS = {
|
|
89
|
+
pending: { text: '等待', state: 'inactive' },
|
|
90
|
+
running: { text: '运行中', state: 'running' },
|
|
91
|
+
success: { text: '成功' },
|
|
92
|
+
failed: { text: '失败', state: 'error' },
|
|
93
|
+
cancelled: { text: '已取消', state: 'inactive' },
|
|
94
|
+
};
|
|
171
95
|
/**
|
|
172
|
-
*
|
|
173
|
-
*
|
|
96
|
+
* 工作流页:处理函数是闭包,直接用本次激活构造的 WorkflowService,不按名回查容器(查到的可能是别人提供的同名服务)。
|
|
97
|
+
* 返回页面的句柄:定义增删与运行起止时让它重取
|
|
174
98
|
*/
|
|
175
|
-
function
|
|
176
|
-
|
|
177
|
-
const
|
|
178
|
-
const enabled = defs.filter(d => d.enabled !== false).length;
|
|
179
|
-
const runs = service.listRuns(200);
|
|
180
|
-
const last24h = runs.filter(r => Date.now() - r.startedAt < 86_400_000);
|
|
181
|
-
const failed24h = last24h.filter(r => r.status === 'failed' || r.status === 'cancelled').length;
|
|
182
|
-
return {
|
|
183
|
-
value: defs.length,
|
|
184
|
-
hint: `启用 ${enabled} · 24h 运行 ${last24h.length} · 失败 ${failed24h}`,
|
|
185
|
-
};
|
|
186
|
-
});
|
|
187
|
-
webui.registerAction('listWorkflowsTable', async () => {
|
|
188
|
-
return service.listWorkflows().map(d => ({
|
|
189
|
-
id: d.id,
|
|
190
|
-
name: d.name ?? d.id,
|
|
191
|
-
trigger: triggerSummary(d.trigger),
|
|
192
|
-
nodeCount: d.nodes.length,
|
|
193
|
-
enabled: d.enabled === false ? '⏸ 禁用' : '✅ 启用',
|
|
194
|
-
description: d.description ?? '',
|
|
195
|
-
}));
|
|
196
|
-
});
|
|
197
|
-
webui.registerAction('listRunsTable', async () => {
|
|
198
|
-
return service.listRuns(50).map(r => {
|
|
199
|
-
const dur = (r.finishedAt ?? Date.now()) - r.startedAt;
|
|
200
|
-
const statusIcon = r.status === 'success' ? '✅' : r.status === 'failed' ? '❌' : r.status === 'cancelled' ? '⏹' : '⏳';
|
|
201
|
-
return {
|
|
202
|
-
runId: r.runId,
|
|
203
|
-
workflowId: r.workflowId,
|
|
204
|
-
status: `${statusIcon} ${r.status}`,
|
|
205
|
-
triggerSource: r.triggerSource,
|
|
206
|
-
startedAtText: fmtTs(r.startedAt),
|
|
207
|
-
durationText: fmtDuration(dur),
|
|
208
|
-
error: r.error ?? '',
|
|
209
|
-
};
|
|
210
|
-
});
|
|
211
|
-
});
|
|
212
|
-
webui.registerAction('triggerWorkflow', async (args) => {
|
|
213
|
-
try {
|
|
214
|
-
const run = await service.runWorkflow(String(args.id), {}, 'manual:webui');
|
|
215
|
-
return {
|
|
216
|
-
ok: true,
|
|
217
|
-
runId: run.runId,
|
|
218
|
-
status: run.status,
|
|
219
|
-
durationMs: (run.finishedAt ?? Date.now()) - run.startedAt,
|
|
220
|
-
error: run.error,
|
|
221
|
-
};
|
|
222
|
-
}
|
|
223
|
-
catch (err) {
|
|
224
|
-
return { ok: false, error: err instanceof Error ? err.message : String(err) };
|
|
225
|
-
}
|
|
226
|
-
});
|
|
227
|
-
webui.registerAction('toggleWorkflow', async (args) => {
|
|
228
|
-
const def = service.getWorkflow(String(args.id));
|
|
229
|
-
if (!def)
|
|
230
|
-
return { ok: false, error: '工作流不存在' };
|
|
231
|
-
const next = { ...def, enabled: def.enabled === false };
|
|
232
|
-
try {
|
|
233
|
-
await service.defineWorkflow(next, { persist: true });
|
|
234
|
-
const note = onceSkippedNote(next, true, onceLedgerReadable(), '「立即运行」');
|
|
235
|
-
return { ok: true, enabled: next.enabled, ...(note ? { message: `已启用;${note}` } : {}) };
|
|
236
|
-
}
|
|
237
|
-
catch (err) {
|
|
238
|
-
return { ok: false, error: err instanceof Error ? err.message : String(err) };
|
|
239
|
-
}
|
|
240
|
-
});
|
|
241
|
-
webui.registerAction('getWorkflowYaml', async (args) => {
|
|
242
|
-
const def = service.getWorkflow(String(args.id));
|
|
243
|
-
if (!def)
|
|
244
|
-
return { error: '工作流不存在' };
|
|
245
|
-
return { id: def.id, yaml: stringify(def) };
|
|
246
|
-
});
|
|
247
|
-
webui.registerAction('removeWorkflow', async (args) => (await service.removeWorkflow(String(args.id))) ? { ok: true } : { ok: false, error: '工作流不存在' });
|
|
248
|
-
webui.registerAction('newWorkflowDraft', async () => ({
|
|
249
|
-
yaml: `id: my-workflow
|
|
250
|
-
name: 示例工作流
|
|
251
|
-
description: 描述这个工作流的作用
|
|
252
|
-
trigger:
|
|
253
|
-
type: manual
|
|
254
|
-
vars:
|
|
255
|
-
greeting: hello
|
|
256
|
-
nodes:
|
|
257
|
-
- id: say
|
|
258
|
-
type: send-message
|
|
259
|
-
sessionId: internal:demo
|
|
260
|
-
platform: internal
|
|
261
|
-
content: "{{vars.greeting}}, world!"
|
|
262
|
-
`,
|
|
263
|
-
persist: true,
|
|
264
|
-
}));
|
|
265
|
-
webui.registerAction('upsertWorkflowYaml', async (args) => {
|
|
266
|
-
const yamlText = String(args.yaml ?? '').trim();
|
|
267
|
-
if (!yamlText)
|
|
268
|
-
return { ok: false, error: 'yaml 不能为空' };
|
|
269
|
-
let raw;
|
|
270
|
-
try {
|
|
271
|
-
raw = parse(yamlText);
|
|
272
|
-
}
|
|
273
|
-
catch (err) {
|
|
274
|
-
return { ok: false, error: `YAML 解析失败: ${err instanceof Error ? err.message : err}` };
|
|
275
|
-
}
|
|
276
|
-
const def = normalizeDef(raw, `wf-${Date.now()}`);
|
|
99
|
+
function defineWorkflowPage(webui, service, onceLedgerReadable) {
|
|
100
|
+
const definitionOf = (id) => {
|
|
101
|
+
const def = service.getWorkflow(id);
|
|
277
102
|
if (!def)
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
}
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
103
|
+
throw new Error(`工作流 ${id} 不存在`);
|
|
104
|
+
return def;
|
|
105
|
+
};
|
|
106
|
+
/** 启用或停用:改的是写在磁盘上的定义 */
|
|
107
|
+
const setEnabled = async (id, enabled) => {
|
|
108
|
+
const next = { ...definitionOf(id), enabled };
|
|
109
|
+
await service.defineWorkflow(next, { persist: true });
|
|
110
|
+
const note = onceSkippedNote(next, true, onceLedgerReadable(), '「立即运行」');
|
|
111
|
+
return `已${enabled ? '启用' : '停用'} ${id}${note ? `;${note}` : ''}`;
|
|
112
|
+
};
|
|
113
|
+
return webui.definePage({
|
|
114
|
+
key: 'workflows',
|
|
115
|
+
title: '工作流',
|
|
116
|
+
icon: 'workflow',
|
|
117
|
+
actions: {
|
|
118
|
+
runWorkflow: {
|
|
119
|
+
label: '立即运行',
|
|
120
|
+
effect: 'write',
|
|
121
|
+
row: true,
|
|
122
|
+
async handler({ rowKey }) {
|
|
123
|
+
const run = await service.runWorkflow(rowKey, {}, 'manual:webui');
|
|
124
|
+
if (run.status !== 'success') {
|
|
125
|
+
throw new Error(`运行没有成功(${STATUS[run.status].text})${run.error ? `:${run.error}` : ''}`);
|
|
126
|
+
}
|
|
127
|
+
return `已运行 ${rowKey},用时 ${fmtDuration((run.finishedAt ?? Date.now()) - run.startedAt)}`;
|
|
128
|
+
},
|
|
129
|
+
},
|
|
130
|
+
enableWorkflow: { label: '启用', effect: 'write', row: true, handler: ({ rowKey }) => setEnabled(rowKey, true) },
|
|
131
|
+
disableWorkflow: {
|
|
132
|
+
label: '停用',
|
|
133
|
+
effect: 'write',
|
|
134
|
+
row: true,
|
|
135
|
+
handler: ({ rowKey }) => setEnabled(rowKey, false),
|
|
136
|
+
},
|
|
137
|
+
removeWorkflow: {
|
|
138
|
+
label: '删除',
|
|
139
|
+
effect: 'destructive',
|
|
140
|
+
confirm: '删除这个工作流,连同磁盘上的定义文件?',
|
|
141
|
+
row: true,
|
|
142
|
+
async handler({ rowKey }) {
|
|
143
|
+
if (!(await service.removeWorkflow(rowKey)))
|
|
144
|
+
throw new Error(`工作流 ${rowKey} 不存在`);
|
|
145
|
+
return `已删除 ${rowKey}`;
|
|
146
|
+
},
|
|
147
|
+
},
|
|
148
|
+
defineWorkflow: {
|
|
149
|
+
label: '新建或覆盖',
|
|
150
|
+
effect: 'write',
|
|
151
|
+
input: {
|
|
152
|
+
yaml: {
|
|
153
|
+
type: 'textarea',
|
|
154
|
+
label: 'YAML 定义',
|
|
155
|
+
required: true,
|
|
156
|
+
description: '完整的定义:id、name、trigger、nodes。trigger 支持 cron、interval、once、event、manual;节点支持 tool、send-message、' +
|
|
157
|
+
'wait、agent(派发指令给 agent 并等回复,配合 deps 与 {{outputs.X}} 做多智能体编排)。同 id 的定义被覆盖,' +
|
|
158
|
+
'保存后立即注册触发器。现有定义的 YAML 在定义表格的详情里,可以照着改。',
|
|
159
|
+
},
|
|
160
|
+
persist: {
|
|
161
|
+
type: 'boolean',
|
|
162
|
+
label: '写入磁盘',
|
|
163
|
+
default: true,
|
|
164
|
+
description: '关闭后只在内存里注册,重启后丢失',
|
|
165
|
+
},
|
|
166
|
+
},
|
|
167
|
+
async handler({ input }) {
|
|
168
|
+
let raw;
|
|
169
|
+
try {
|
|
170
|
+
raw = parse(input.yaml);
|
|
171
|
+
}
|
|
172
|
+
catch (err) {
|
|
173
|
+
throw new Error(`YAML 解析失败:${err instanceof Error ? err.message : String(err)}`);
|
|
174
|
+
}
|
|
175
|
+
const def = normalizeDef(raw, `wf-${Date.now()}`);
|
|
176
|
+
if (!def)
|
|
177
|
+
throw new Error('定义不合法:缺少 trigger 或 nodes');
|
|
178
|
+
await service.defineWorkflow(def, { persist: input.persist });
|
|
179
|
+
const note = onceSkippedNote(def, input.persist, onceLedgerReadable(), '「立即运行」');
|
|
180
|
+
return `已保存工作流 ${def.id}${note ? `;${note}` : ''}`;
|
|
181
|
+
},
|
|
182
|
+
},
|
|
183
|
+
},
|
|
184
|
+
content: [
|
|
185
|
+
{
|
|
186
|
+
type: 'info',
|
|
187
|
+
id: 'summary',
|
|
188
|
+
data() {
|
|
189
|
+
const defs = service.listWorkflows();
|
|
190
|
+
const recent = service.listRuns(200).filter(r => Date.now() - r.startedAt < 86_400_000);
|
|
191
|
+
return [
|
|
192
|
+
{ label: '定义', value: defs.length },
|
|
193
|
+
{ label: '启用', value: defs.filter(d => d.enabled !== false).length },
|
|
194
|
+
{ label: '24 小时运行', value: recent.length },
|
|
195
|
+
{
|
|
196
|
+
label: '24 小时失败',
|
|
197
|
+
value: recent.filter(r => r.status === 'failed' || r.status === 'cancelled').length,
|
|
198
|
+
},
|
|
199
|
+
];
|
|
200
|
+
},
|
|
201
|
+
},
|
|
202
|
+
{
|
|
203
|
+
type: 'table',
|
|
204
|
+
id: 'workflows',
|
|
205
|
+
label: '定义',
|
|
206
|
+
rowKey: 'id',
|
|
207
|
+
empty: '还没有工作流',
|
|
208
|
+
columns: [
|
|
209
|
+
{ key: 'id', label: 'ID', kind: 'code' },
|
|
210
|
+
{ key: 'name', label: '名称', primary: true },
|
|
211
|
+
{ key: 'trigger', label: '触发' },
|
|
212
|
+
{ key: 'nodes', label: '节点数' },
|
|
213
|
+
{ key: 'status', label: '状态', kind: 'status', primary: true },
|
|
214
|
+
{ key: 'description', label: '描述', kind: 'long-text' },
|
|
215
|
+
],
|
|
216
|
+
rowActions: [
|
|
217
|
+
{ action: 'runWorkflow' },
|
|
218
|
+
{ action: 'enableWorkflow', visibleWhen: 'disabled' },
|
|
219
|
+
{ action: 'disableWorkflow', visibleWhen: 'enabled' },
|
|
220
|
+
{ action: 'removeWorkflow' },
|
|
221
|
+
],
|
|
222
|
+
data: () => service.listWorkflows().map(d => ({
|
|
223
|
+
id: d.id,
|
|
224
|
+
name: d.name ?? d.id,
|
|
225
|
+
trigger: triggerSummary(d.trigger),
|
|
226
|
+
nodes: d.nodes.length,
|
|
227
|
+
status: d.enabled === false ? { text: '停用', state: 'inactive' } : { text: '启用' },
|
|
228
|
+
enabled: d.enabled !== false,
|
|
229
|
+
disabled: d.enabled === false,
|
|
230
|
+
description: d.description ?? '',
|
|
231
|
+
})),
|
|
232
|
+
detail: [
|
|
233
|
+
{
|
|
234
|
+
type: 'markdown',
|
|
235
|
+
id: 'yaml',
|
|
236
|
+
label: 'YAML',
|
|
237
|
+
data: ({ rowKey }) => markdownCode(stringify(definitionOf(rowKey)), 'yaml'),
|
|
238
|
+
},
|
|
239
|
+
],
|
|
240
|
+
},
|
|
241
|
+
{
|
|
242
|
+
type: 'table',
|
|
243
|
+
id: 'runs',
|
|
244
|
+
label: '最近运行',
|
|
245
|
+
rowKey: 'runId',
|
|
246
|
+
empty: '还没有运行过',
|
|
247
|
+
columns: [
|
|
248
|
+
{ key: 'workflowId', label: '工作流', primary: true },
|
|
249
|
+
{ key: 'status', label: '状态', kind: 'status', primary: true },
|
|
250
|
+
{ key: 'triggerSource', label: '触发来源' },
|
|
251
|
+
{ key: 'startedAt', label: '开始时间', kind: 'time' },
|
|
252
|
+
{ key: 'duration', label: '用时' },
|
|
253
|
+
{ key: 'error', label: '错误', kind: 'long-text' },
|
|
254
|
+
{ key: 'runId', label: '运行 ID', kind: 'code' },
|
|
255
|
+
],
|
|
256
|
+
data: () => service.listRuns(50).map(r => ({
|
|
257
|
+
runId: r.runId,
|
|
258
|
+
workflowId: r.workflowId,
|
|
259
|
+
status: STATUS[r.status],
|
|
260
|
+
triggerSource: r.triggerSource,
|
|
261
|
+
startedAt: r.startedAt,
|
|
262
|
+
duration: fmtDuration((r.finishedAt ?? Date.now()) - r.startedAt),
|
|
263
|
+
error: r.error ?? '',
|
|
264
|
+
})),
|
|
265
|
+
},
|
|
266
|
+
{ type: 'actions', actions: ['defineWorkflow'] },
|
|
267
|
+
],
|
|
288
268
|
});
|
|
289
269
|
}
|
|
290
270
|
/** 路径配置只接受 storage URI;留空用默认值,其它写法(如相对路径 workspace/workflows)拒绝激活。 */
|
|
@@ -293,7 +273,7 @@ function resolveUri(key, input, fallback) {
|
|
|
293
273
|
if (!s)
|
|
294
274
|
return fallback;
|
|
295
275
|
if (!isStorageUri(s)) {
|
|
296
|
-
throw
|
|
276
|
+
throw configError(`${key}="${s}" 不是 storage URI,请写成 <根名>:/<路径>(如 ${fallback}),或删掉该键使用默认值`);
|
|
297
277
|
}
|
|
298
278
|
return s;
|
|
299
279
|
}
|
|
@@ -305,7 +285,7 @@ const uses = {
|
|
|
305
285
|
storage: optional(storage),
|
|
306
286
|
/** tool 节点的执行入口,兼 AI 工具面的登记口 */
|
|
307
287
|
tools: optional(tools),
|
|
308
|
-
/**
|
|
288
|
+
/** 工作流页的登记口;无 WebUI 时引擎照常运行 */
|
|
309
289
|
webui: optional(webuiServer),
|
|
310
290
|
events,
|
|
311
291
|
/** agent 节点经 'agent:turn:after' 捕获本轮回复 */
|
|
@@ -329,22 +309,24 @@ export default definePlugin({
|
|
|
329
309
|
});
|
|
330
310
|
async function run(caps) {
|
|
331
311
|
const { events, hooks, lifecycle, provide, tools, webui } = caps;
|
|
332
|
-
const cfg = parseConfig(configSchema, caps.config, caps.logger);
|
|
312
|
+
const cfg = parseConfig(configSchema, caps.config.use, caps.logger.use);
|
|
333
313
|
const config = {
|
|
334
314
|
...cfg,
|
|
335
315
|
defsDir: resolveUri('defsDir', cfg.defsDir, configSchema.defsDir.default),
|
|
336
316
|
runsFile: resolveUri('runsFile', cfg.runsFile, configSchema.runsFile.default),
|
|
337
317
|
maxRuns: cfg.maxRuns > 0 ? cfg.maxRuns : configSchema.maxRuns.default,
|
|
338
318
|
};
|
|
339
|
-
const logger = caps.logger.child('workflow');
|
|
340
|
-
const
|
|
341
|
-
const loader = new WorkflowLoader(storageGateway, config.defsDir, logger);
|
|
319
|
+
const logger = caps.logger.use.child('workflow');
|
|
320
|
+
const loader = new WorkflowLoader(caps.storage.use, config.defsDir, logger);
|
|
342
321
|
const scanned = await loader.loadAll();
|
|
343
|
-
const runStore = new RunStore(
|
|
322
|
+
const runStore = new RunStore(caps.storage.use, config.runsFile, config.maxRuns, logger);
|
|
344
323
|
await runStore.init();
|
|
345
|
-
|
|
324
|
+
/** 在飞 run 的取消开关,按 runId */
|
|
325
|
+
const aborts = new Map();
|
|
326
|
+
/** 在飞的 run:拆卸先中止,再等它们收尾,被取消的 run 也要把终态写进运行历史 */
|
|
327
|
+
const running = new Set();
|
|
346
328
|
// ── 触发管理器:内部 cron/interval/event 监听 ──
|
|
347
|
-
const triggers = new TriggerManager({ cronEngine: caps.cronEngine, events, logger }, (workflowId, source, payload) => {
|
|
329
|
+
const triggers = new TriggerManager({ cronEngine: caps.cronEngine, events: events.use, logger }, (workflowId, source, payload) => {
|
|
348
330
|
// 异步触发,不阻塞触发源;event 触发的 payload({args})作为 vars 注入,{{vars.X}} 才读得到
|
|
349
331
|
runById(workflowId, payload ?? {}, source).catch(err => {
|
|
350
332
|
logger.error(`触发执行 workflow=${workflowId} source=${source} 失败: ${err instanceof Error ? err.message : err}`);
|
|
@@ -357,15 +339,22 @@ async function run(caps) {
|
|
|
357
339
|
for (const def of loader.list())
|
|
358
340
|
triggers.register(def);
|
|
359
341
|
// ── 订阅外部 trigger:fired(来自 scheduler / 其他触发源)──
|
|
360
|
-
events.on('trigger:fired', info => {
|
|
342
|
+
events.use.on('trigger:fired', info => {
|
|
361
343
|
if (!info?.workflowId)
|
|
362
344
|
return;
|
|
363
345
|
runById(info.workflowId, info.payload ?? {}, info.source ?? `trigger:${info.type}`).catch(err => {
|
|
364
346
|
logger.error(`trigger:fired workflow=${info.workflowId} 执行失败: ${err instanceof Error ? err.message : err}`);
|
|
365
347
|
});
|
|
366
348
|
});
|
|
367
|
-
// ── 核心:跑一次 workflow
|
|
368
|
-
|
|
349
|
+
// ── 核心:跑一次 workflow(登记进 running,拆卸据此等它收尾)──
|
|
350
|
+
function runById(...args) {
|
|
351
|
+
const pending = execute(...args);
|
|
352
|
+
running.add(pending);
|
|
353
|
+
const settle = () => running.delete(pending);
|
|
354
|
+
pending.then(settle, settle);
|
|
355
|
+
return pending;
|
|
356
|
+
}
|
|
357
|
+
async function execute(workflowId, extraVars, triggerSource, caller) {
|
|
369
358
|
const def = loader.get(workflowId);
|
|
370
359
|
if (!def)
|
|
371
360
|
throw new Error(`workflow "${workflowId}" 不存在`);
|
|
@@ -373,8 +362,8 @@ async function run(caps) {
|
|
|
373
362
|
throw new Error(`workflow "${workflowId}" 已禁用`);
|
|
374
363
|
const runId = `${workflowId}-${Date.now()}-${Math.random().toString(36).slice(2, 8)}`;
|
|
375
364
|
const vars = { ...(def.vars ?? {}), ...extraVars };
|
|
376
|
-
const
|
|
377
|
-
|
|
365
|
+
const abort = new AbortController();
|
|
366
|
+
aborts.set(runId, abort);
|
|
378
367
|
const run = {
|
|
379
368
|
runId,
|
|
380
369
|
workflowId,
|
|
@@ -385,13 +374,14 @@ async function run(caps) {
|
|
|
385
374
|
nodes: def.nodes.map(n => ({ id: n.id, type: n.type, status: 'pending' })),
|
|
386
375
|
};
|
|
387
376
|
runStore.add(run);
|
|
388
|
-
|
|
377
|
+
page.invalidate();
|
|
378
|
+
await events.use.emit('workflow:run:start', run);
|
|
389
379
|
logger.info(`run=${runId} 启动 (trigger=${triggerSource})`);
|
|
390
380
|
try {
|
|
391
381
|
const result = await runDag({
|
|
392
382
|
tools,
|
|
393
|
-
events,
|
|
394
|
-
hooks,
|
|
383
|
+
events: events.use,
|
|
384
|
+
hooks: hooks.use,
|
|
395
385
|
logger,
|
|
396
386
|
def,
|
|
397
387
|
runId,
|
|
@@ -399,19 +389,19 @@ async function run(caps) {
|
|
|
399
389
|
// 运行时身份:经 workflow_run 工具触发时以 actor 透传【调用者】授权身份,使工作流
|
|
400
390
|
// 内部工具与 agent/send_message 节点按【调用者】的权限等级过 authority 闸(而非匿名
|
|
401
391
|
// level-0);owner 定义、谁调按谁裁决,杜绝借他人 workflow 提权。platform 保持
|
|
402
|
-
// 'workflow'
|
|
392
|
+
// 'workflow' 会话语义(不再借调用者平台——那会污染定时任务归属/审批的发起类别等分流)。
|
|
403
393
|
// cron/event/webui 触发无调用者 → 保持匿名(仅能跑 public 工具)。
|
|
404
394
|
toolCallContext: {
|
|
405
395
|
sessionId: `workflow::${workflowId}`,
|
|
406
396
|
platform: 'workflow',
|
|
407
397
|
actor: caller?.platform && caller?.userId ? { platform: caller.platform, userId: caller.userId } : undefined,
|
|
408
398
|
},
|
|
409
|
-
|
|
399
|
+
signal: abort.signal,
|
|
410
400
|
onNodeDone: (info) => {
|
|
411
401
|
const idx = run.nodes.findIndex(n => n.id === info.id);
|
|
412
402
|
if (idx >= 0)
|
|
413
403
|
run.nodes[idx] = info;
|
|
414
|
-
events.emit('workflow:node:done', { runId, node: info }).catch(() => { });
|
|
404
|
+
events.use.emit('workflow:node:done', { runId, node: info }).catch(() => { });
|
|
415
405
|
},
|
|
416
406
|
});
|
|
417
407
|
run.status = result.status;
|
|
@@ -420,11 +410,11 @@ async function run(caps) {
|
|
|
420
410
|
run.finishedAt = Date.now();
|
|
421
411
|
runStore.update(run);
|
|
422
412
|
if (result.status === 'success') {
|
|
423
|
-
await events.emit('workflow:run:done', run);
|
|
413
|
+
await events.use.emit('workflow:run:done', run);
|
|
424
414
|
logger.info(`run=${runId} 完成 (${run.finishedAt - run.startedAt}ms)`);
|
|
425
415
|
}
|
|
426
416
|
else {
|
|
427
|
-
await events.emit('workflow:run:error', run);
|
|
417
|
+
await events.use.emit('workflow:run:error', run);
|
|
428
418
|
logger.warn(`run=${runId} ${result.status}: ${result.error ?? ''}`);
|
|
429
419
|
}
|
|
430
420
|
}
|
|
@@ -433,11 +423,12 @@ async function run(caps) {
|
|
|
433
423
|
run.error = err instanceof Error ? err.message : String(err);
|
|
434
424
|
run.finishedAt = Date.now();
|
|
435
425
|
runStore.update(run);
|
|
436
|
-
await events.emit('workflow:run:error', run);
|
|
426
|
+
await events.use.emit('workflow:run:error', run);
|
|
437
427
|
logger.error(`run=${runId} 异常: ${run.error}`);
|
|
438
428
|
}
|
|
439
429
|
finally {
|
|
440
|
-
|
|
430
|
+
aborts.delete(runId);
|
|
431
|
+
page.invalidate();
|
|
441
432
|
}
|
|
442
433
|
return run;
|
|
443
434
|
}
|
|
@@ -461,6 +452,7 @@ async function run(caps) {
|
|
|
461
452
|
loader.putMemory(def);
|
|
462
453
|
}
|
|
463
454
|
triggers.register(def);
|
|
455
|
+
page.invalidate();
|
|
464
456
|
logger.info(`workflow 已定义: ${def.id} (持久化=${opts?.persist !== false})`);
|
|
465
457
|
},
|
|
466
458
|
async removeWorkflow(id) {
|
|
@@ -468,16 +460,17 @@ async function run(caps) {
|
|
|
468
460
|
const had = await loader.removeDef(id);
|
|
469
461
|
triggers.unregister(id);
|
|
470
462
|
runStore.clearOnceFired(id); // 定义没了,once 记账不留孤儿:同 id 重建算新工作流
|
|
463
|
+
page.invalidate();
|
|
471
464
|
return had;
|
|
472
465
|
},
|
|
473
466
|
async runWorkflow(id, vars, source, caller) {
|
|
474
467
|
return await runById(id, vars ?? {}, source ?? 'manual', caller);
|
|
475
468
|
},
|
|
476
469
|
cancelRun(runId) {
|
|
477
|
-
const
|
|
478
|
-
if (!
|
|
470
|
+
const abort = aborts.get(runId);
|
|
471
|
+
if (!abort)
|
|
479
472
|
return false;
|
|
480
|
-
|
|
473
|
+
abort.abort();
|
|
481
474
|
return true;
|
|
482
475
|
},
|
|
483
476
|
getRun(runId) {
|
|
@@ -487,25 +480,23 @@ async function run(caps) {
|
|
|
487
480
|
return runStore.list(limit, workflowId);
|
|
488
481
|
},
|
|
489
482
|
};
|
|
490
|
-
provide(workflow, service);
|
|
483
|
+
provide.use(workflow, service);
|
|
484
|
+
const page = defineWorkflowPage(webui.use, service, () => runStore.onceLedgerReadable());
|
|
491
485
|
// ── AI 工具 ──
|
|
492
486
|
// tools 晚上线也无妨:登记口在提供者缺席时先挂账,上线后自动补挂
|
|
493
487
|
if (config.enableTools) {
|
|
494
|
-
registerTools(tools, service, () => runStore.onceLedgerReadable());
|
|
488
|
+
registerTools(tools.use, service, () => runStore.onceLedgerReadable());
|
|
495
489
|
}
|
|
496
|
-
// ── WebUI ──
|
|
497
|
-
for (const page of webuiPages)
|
|
498
|
-
webui.registerPage(page);
|
|
499
|
-
registerWebuiActions(webui, service, () => runStore.onceLedgerReadable());
|
|
500
490
|
// ── 清理 ──
|
|
501
|
-
lifecycle.onDispose(async () => {
|
|
491
|
+
lifecycle.use.onDispose(async () => {
|
|
502
492
|
triggers.dispose();
|
|
503
|
-
//
|
|
504
|
-
//
|
|
505
|
-
|
|
506
|
-
|
|
507
|
-
|
|
508
|
-
|
|
493
|
+
// 中止全部在飞 run:不再调度新节点,阻塞中的 wait / agent 节点立即结束。再等它们收尾、排队中的运行历史 /
|
|
494
|
+
// once 记账写完才结束拆卸:否则 app.stop() 返回后仍有落盘在飞,bounce 时迟到的快照会盖掉新实例的记账。
|
|
495
|
+
// 不响应中止信号的工具节点至多让这里等到 disposeTimeoutMs;放弃等待后旧实例记为 lingering,同 id 的新实例要等那次
|
|
496
|
+
// run 真正落定、这里返回之后才起
|
|
497
|
+
for (const abort of aborts.values())
|
|
498
|
+
abort.abort();
|
|
499
|
+
await Promise.allSettled(running);
|
|
509
500
|
await runStore.flushed();
|
|
510
501
|
});
|
|
511
502
|
logger.info(`工作流插件已启动 (${loader.list().length} 个定义已加载)`);
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/triggers.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { CronEngine } from '@aalis/api-cron-engine';
|
|
2
2
|
import type { WorkflowDef } from '@aalis/api-workflow';
|
|
3
|
-
import type { Events, Logger,
|
|
3
|
+
import type { Events, Logger, ServiceSelection } from '@aalis/core';
|
|
4
4
|
type FireFn = (workflowId: string, source: string, payload?: Record<string, unknown>) => void;
|
|
5
5
|
/**
|
|
6
6
|
* once 触发记账(由 RunStore 实现,落在运行历史同一份持久化里)。
|
|
@@ -16,7 +16,7 @@ interface OnceLedger {
|
|
|
16
16
|
}
|
|
17
17
|
/** 触发器登记用到的能力:cron / interval 经 cron-engine 订阅,event 触发器订阅事件总线。 */
|
|
18
18
|
export interface TriggerCaps {
|
|
19
|
-
cronEngine:
|
|
19
|
+
cronEngine: ServiceSelection<CronEngine>;
|
|
20
20
|
events: Events;
|
|
21
21
|
logger: Logger;
|
|
22
22
|
}
|
package/dist/triggers.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"triggers.d.ts","sourceRoot":"","sources":["../src/triggers.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,
|
|
1
|
+
{"version":3,"file":"triggers.d.ts","sourceRoot":"","sources":["../src/triggers.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAWpE,KAAK,MAAM,GAAG,CAAC,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,IAAI,CAAC;AAE9F;;;;;;GAMG;AACH,UAAU,UAAU;IAClB,kBAAkB,IAAI,OAAO,CAAC;IAC9B,WAAW,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC;IACpD,aAAa,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;CACzC;AAED,mEAAmE;AACnE,MAAM,WAAW,WAAW;IAC1B,UAAU,EAAE,gBAAgB,CAAC,UAAU,CAAC,CAAC;IACzC,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,qBAAa,cAAc;IACzB,OAAO,CAAC,UAAU,CAA+B;IACjD,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,IAAI,CAAS;IACrB,OAAO,CAAC,IAAI,CAAa;IAEzB,OAAO,CAAC,aAAa,CAAiC;IACtD,OAAO,CAAC,UAAU,CAAoD;IACtE,OAAO,CAAC,cAAc,CAAiC;gBAE3C,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU;IAQ7D,6CAA6C;IAC7C,QAAQ,CAAC,GAAG,EAAE,WAAW,GAAG,IAAI;IAoGhC,UAAU,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI;IAkBpC,WAAW;IACX,OAAO,IAAI,IAAI;CAQhB"}
|
package/dist/triggers.js
CHANGED
|
@@ -36,7 +36,7 @@ export class TriggerManager {
|
|
|
36
36
|
switch (t.type) {
|
|
37
37
|
case 'cron': {
|
|
38
38
|
try {
|
|
39
|
-
const dispose = this.cronEngine.
|
|
39
|
+
const dispose = this.cronEngine.use.subscribe(t.expr, () => {
|
|
40
40
|
this.fire(def.id, `cron:${t.expr}`);
|
|
41
41
|
});
|
|
42
42
|
this.cronDisposers.set(def.id, dispose);
|
|
@@ -51,7 +51,7 @@ export class TriggerManager {
|
|
|
51
51
|
const sec = Math.max(1, Math.floor(t.seconds));
|
|
52
52
|
const expr = `@every ${sec}s`;
|
|
53
53
|
try {
|
|
54
|
-
const dispose = this.cronEngine.
|
|
54
|
+
const dispose = this.cronEngine.use.subscribe(expr, () => {
|
|
55
55
|
this.fire(def.id, `interval:${sec}s`);
|
|
56
56
|
});
|
|
57
57
|
this.cronDisposers.set(def.id, dispose);
|
|
@@ -79,36 +79,30 @@ export class TriggerManager {
|
|
|
79
79
|
this.logger.warn(`workflow ${def.id} once.runAt 无法解析: ${t.runAt}`);
|
|
80
80
|
break;
|
|
81
81
|
}
|
|
82
|
-
//
|
|
82
|
+
// 先记账再触发;已有记账的不再触发
|
|
83
83
|
const fireOnce = () => {
|
|
84
84
|
if (this.once.onceFiredAt(def.id) !== undefined)
|
|
85
85
|
return;
|
|
86
86
|
this.once.markOnceFired(def.id);
|
|
87
87
|
this.fire(def.id, `once:${t.runAt}`);
|
|
88
88
|
};
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
fireOnce();
|
|
107
|
-
}, wait);
|
|
108
|
-
this.onceTimers.set(def.id, timer);
|
|
109
|
-
};
|
|
110
|
-
arm(Math.min(delay, MAX_ONCE_TIMEOUT_MS));
|
|
111
|
-
}
|
|
89
|
+
// runAt 已过的排 0ms,下一轮定时器就补触发(负数延迟会引来运行时告警);与远期的同记在 onceTimers,
|
|
90
|
+
// unregister / dispose 一并撤掉。
|
|
91
|
+
// 远期 runAt 分段重排:setTimeout 的 delay 超过 2^31-1ms(约 24.8 天)会溢出成立即触发,把"一个月后跑"变成
|
|
92
|
+
// "现在就跑"。每段最多排到上限,段末若离 runAt 还有 1s 以上就续排下一段、不记账,直到真正到点才 fireOnce。
|
|
93
|
+
const arm = (wait) => {
|
|
94
|
+
const timer = setTimeout(() => {
|
|
95
|
+
const remain = targetMs - Date.now();
|
|
96
|
+
if (remain > 1000) {
|
|
97
|
+
arm(Math.min(remain, MAX_ONCE_TIMEOUT_MS));
|
|
98
|
+
return;
|
|
99
|
+
}
|
|
100
|
+
this.onceTimers.delete(def.id);
|
|
101
|
+
fireOnce();
|
|
102
|
+
}, wait);
|
|
103
|
+
this.onceTimers.set(def.id, timer);
|
|
104
|
+
};
|
|
105
|
+
arm(Math.max(0, Math.min(targetMs - Date.now(), MAX_ONCE_TIMEOUT_MS)));
|
|
112
106
|
break;
|
|
113
107
|
}
|
|
114
108
|
case 'event': {
|
package/dist/triggers.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"triggers.js","sourceRoot":"","sources":["../src/triggers.ts"],"names":[],"mappings":"AAAA,+DAA+D;AAC/D,qDAAqD;AACrD,EAAE;AACF,yDAAyD;AACzD,gDAAgD;AAChD,4CAA4C;AAC5C,6BAA6B;AAC7B,+DAA+D;AAM/D,8DAA8D;AAC9D,mDAAmD;AACnD,MAAM,sBAAsB,GAAG,IAAI,GAAG,CAAS,CAAC,iBAAiB,EAAE,kBAAkB,EAAE,iBAAiB,CAAC,CAAC,CAAC;AAE3G,2DAA2D;AAC3D,MAAM,mBAAmB,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;AA0BxC,MAAM,OAAO,cAAc;IACjB,UAAU,
|
|
1
|
+
{"version":3,"file":"triggers.js","sourceRoot":"","sources":["../src/triggers.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@aalis/plugin-workflow",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.15.0",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -24,24 +24,24 @@
|
|
|
24
24
|
"dist"
|
|
25
25
|
],
|
|
26
26
|
"dependencies": {
|
|
27
|
-
"@aalis/schema-config": ">=0.
|
|
28
|
-
"@aalis/api-cron-engine": ">=0.
|
|
29
|
-
"@aalis/api-storage": ">=0.
|
|
30
|
-
"@aalis/api-tools": ">=0.
|
|
31
|
-
"@aalis/api-webui": ">=0.
|
|
32
|
-
"@aalis/api-workflow": ">=0.
|
|
27
|
+
"@aalis/schema-config": ">=0.15.0 <1.0.0",
|
|
28
|
+
"@aalis/api-cron-engine": ">=0.8.0 <1.0.0",
|
|
29
|
+
"@aalis/api-storage": ">=0.8.0 <1.0.0",
|
|
30
|
+
"@aalis/api-tools": ">=0.11.0 <1.0.0",
|
|
31
|
+
"@aalis/api-webui": ">=0.12.0 <1.0.0",
|
|
32
|
+
"@aalis/api-workflow": ">=0.12.0 <1.0.0",
|
|
33
33
|
"yaml": "^2.7.0",
|
|
34
|
-
"@aalis/api-hooks": ">=0.
|
|
34
|
+
"@aalis/api-hooks": ">=0.2.0 <1.0.0"
|
|
35
35
|
},
|
|
36
36
|
"devDependencies": {
|
|
37
37
|
"@types/node": "^22.0.0",
|
|
38
38
|
"typescript": "^5.7.0",
|
|
39
|
-
"@aalis/core": "0.
|
|
40
|
-
"@aalis/api-agent": "0.
|
|
41
|
-
"@aalis/schema-message": "0.
|
|
39
|
+
"@aalis/core": "0.20.0",
|
|
40
|
+
"@aalis/api-agent": "0.10.0",
|
|
41
|
+
"@aalis/schema-message": "0.10.0"
|
|
42
42
|
},
|
|
43
43
|
"peerDependencies": {
|
|
44
|
-
"@aalis/core": ">=0.
|
|
44
|
+
"@aalis/core": ">=0.20.0 <1.0.0"
|
|
45
45
|
},
|
|
46
46
|
"aalis": {
|
|
47
47
|
"service": {
|