@aalis/plugin-workflow 0.12.1 → 0.14.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 +24 -0
- package/dist/engine.d.ts +14 -6
- package/dist/engine.d.ts.map +1 -1
- package/dist/engine.js +8 -9
- package/dist/engine.js.map +1 -1
- package/dist/index.d.ts +20 -17
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +140 -127
- package/dist/index.js.map +1 -1
- package/dist/loader.d.ts +7 -2
- package/dist/loader.d.ts.map +1 -1
- package/dist/loader.js +16 -7
- package/dist/loader.js.map +1 -1
- package/dist/persistence.d.ts +9 -2
- package/dist/persistence.d.ts.map +1 -1
- package/dist/persistence.js +40 -21
- package/dist/persistence.js.map +1 -1
- package/dist/triggers.d.ts +13 -3
- package/dist/triggers.d.ts.map +1 -1
- package/dist/triggers.js +15 -9
- package/dist/triggers.js.map +1 -1
- package/package.json +22 -15
package/dist/index.js
CHANGED
|
@@ -2,41 +2,33 @@
|
|
|
2
2
|
// @aalis/plugin-workflow — DAG 工作流引擎
|
|
3
3
|
//
|
|
4
4
|
// 订阅 'trigger:fired' 事件 + 内置 cron/interval/event 触发器,
|
|
5
|
-
// 按 DAG 执行节点,结果存 data
|
|
6
|
-
// 定义存 workspace
|
|
5
|
+
// 按 DAG 执行节点,结果存 data:/workflow-runs.json,
|
|
6
|
+
// 定义存 workspace:/workflows/*.yaml。
|
|
7
7
|
// ============================================================
|
|
8
|
-
import {
|
|
9
|
-
import {
|
|
10
|
-
import {
|
|
8
|
+
import { cronEngine } from '@aalis/api-cron-engine';
|
|
9
|
+
import { hooks } from '@aalis/api-hooks';
|
|
10
|
+
import { createStorageGateway, isStorageUri, storage } from '@aalis/api-storage';
|
|
11
|
+
import { tools } from '@aalis/api-tools';
|
|
12
|
+
import { webuiServer } from '@aalis/api-webui';
|
|
13
|
+
import { workflow } from '@aalis/api-workflow';
|
|
14
|
+
import { config, definePlugin, events, lifecycle, logger, optional, provide } from '@aalis/core';
|
|
11
15
|
import { parse, stringify } from 'yaml';
|
|
12
16
|
import { runDag, validateGraph } from './engine.js';
|
|
13
17
|
import { normalizeDef, WorkflowLoader } from './loader.js';
|
|
14
18
|
import { RunStore } from './persistence.js';
|
|
15
19
|
import { TriggerManager } from './triggers.js';
|
|
16
|
-
|
|
17
|
-
export const name = '@aalis/plugin-workflow';
|
|
18
|
-
export const displayName = '工作流';
|
|
19
|
-
export const subsystem = 'workflow';
|
|
20
|
-
export const provides = ['workflow'];
|
|
21
|
-
export const inject = {
|
|
22
|
-
required: ['cron-engine'],
|
|
23
|
-
optional: ['tools', 'storage', 'webui'],
|
|
24
|
-
};
|
|
25
|
-
export const extends_ = {
|
|
26
|
-
events: ['workflow:run:start', 'workflow:run:done', 'workflow:run:error', 'workflow:node:done', 'trigger:fired'],
|
|
27
|
-
};
|
|
28
|
-
export const configSchema = {
|
|
20
|
+
const configSchema = {
|
|
29
21
|
defsDir: {
|
|
30
22
|
type: 'string',
|
|
31
23
|
label: '工作流定义目录',
|
|
32
24
|
default: 'workspace:/workflows',
|
|
33
|
-
description: '加载存储下的 *.yaml 定义(storage URI
|
|
25
|
+
description: '加载存储下的 *.yaml 定义(storage URI);AI 通过 workflow_define 创建的定义也写入此处。',
|
|
34
26
|
},
|
|
35
27
|
runsFile: {
|
|
36
28
|
type: 'string',
|
|
37
29
|
label: '运行历史文件',
|
|
38
30
|
default: 'data:/workflow-runs.json',
|
|
39
|
-
description: '保存最近 N 条运行实例(storage URI
|
|
31
|
+
description: '保存最近 N 条运行实例(storage URI)。',
|
|
40
32
|
},
|
|
41
33
|
maxRuns: {
|
|
42
34
|
type: 'number',
|
|
@@ -124,7 +116,7 @@ const webuiPages = [
|
|
|
124
116
|
],
|
|
125
117
|
},
|
|
126
118
|
];
|
|
127
|
-
// ───
|
|
119
|
+
// ─── 工具函数(与页面动作共享) ───
|
|
128
120
|
function triggerSummary(t) {
|
|
129
121
|
switch (t.type) {
|
|
130
122
|
case 'cron':
|
|
@@ -162,47 +154,43 @@ function fmtDuration(ms) {
|
|
|
162
154
|
const s = Math.floor((ms % 60_000) / 1000);
|
|
163
155
|
return `${m}m${s}s`;
|
|
164
156
|
}
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
157
|
+
/**
|
|
158
|
+
* once 记账读不出时本次运行不安排 once:定义或启用一个 once 的回执据此如实说明(AI 工具与页面动作同一口径)。
|
|
159
|
+
* manualRun 是各自那一面手动执行的说法;不持久化的定义重启后就没了,「重启恢复」只对写了文件的定义成立。
|
|
160
|
+
*/
|
|
161
|
+
function onceSkippedNote(def, persist, onceLedgerReadable, manualRun) {
|
|
162
|
+
if (def.trigger.type !== 'once' || def.enabled === false || onceLedgerReadable)
|
|
163
|
+
return undefined;
|
|
164
|
+
return `once 记账读取失败(见日志),本次运行不会触发;可用${manualRun}手动执行${persist ? ',修复运行历史文件后重启恢复' : ''}`;
|
|
165
|
+
}
|
|
166
|
+
/**
|
|
167
|
+
* 页面动作:处理函数是闭包,直接用本次激活构造的 WorkflowService,
|
|
168
|
+
* 不再按名回查容器(查到的可能是别人提供的同名服务)。
|
|
169
|
+
*/
|
|
170
|
+
function registerWebuiActions(webui, service, onceLedgerReadable) {
|
|
171
|
+
webui.registerAction('workflowStats', async () => {
|
|
172
|
+
const defs = service.listWorkflows();
|
|
171
173
|
const enabled = defs.filter(d => d.enabled !== false).length;
|
|
172
|
-
const runs =
|
|
174
|
+
const runs = service.listRuns(200);
|
|
173
175
|
const last24h = runs.filter(r => Date.now() - r.startedAt < 86_400_000);
|
|
174
176
|
const failed24h = last24h.filter(r => r.status === 'failed' || r.status === 'cancelled').length;
|
|
175
177
|
return {
|
|
176
178
|
value: defs.length,
|
|
177
179
|
hint: `启用 ${enabled} · 24h 运行 ${last24h.length} · 失败 ${failed24h}`,
|
|
178
180
|
};
|
|
179
|
-
}
|
|
180
|
-
async
|
|
181
|
-
|
|
182
|
-
if (!svc)
|
|
183
|
-
return [];
|
|
184
|
-
const runs = svc.listRuns(200);
|
|
185
|
-
const lastByWf = new Map();
|
|
186
|
-
for (const r of runs) {
|
|
187
|
-
const prev = lastByWf.get(r.workflowId) ?? 0;
|
|
188
|
-
if (r.startedAt > prev)
|
|
189
|
-
lastByWf.set(r.workflowId, r.startedAt);
|
|
190
|
-
}
|
|
191
|
-
return svc.listWorkflows().map(d => ({
|
|
181
|
+
});
|
|
182
|
+
webui.registerAction('listWorkflowsTable', async () => {
|
|
183
|
+
return service.listWorkflows().map(d => ({
|
|
192
184
|
id: d.id,
|
|
193
185
|
name: d.name ?? d.id,
|
|
194
186
|
trigger: triggerSummary(d.trigger),
|
|
195
187
|
nodeCount: d.nodes.length,
|
|
196
188
|
enabled: d.enabled === false ? '⏸ 禁用' : '✅ 启用',
|
|
197
189
|
description: d.description ?? '',
|
|
198
|
-
lastRun: lastByWf.get(d.id) ?? 0,
|
|
199
190
|
}));
|
|
200
|
-
}
|
|
201
|
-
async
|
|
202
|
-
|
|
203
|
-
if (!svc)
|
|
204
|
-
return [];
|
|
205
|
-
return svc.listRuns(50).map(r => {
|
|
191
|
+
});
|
|
192
|
+
webui.registerAction('listRunsTable', async () => {
|
|
193
|
+
return service.listRuns(50).map(r => {
|
|
206
194
|
const dur = (r.finishedAt ?? Date.now()) - r.startedAt;
|
|
207
195
|
const statusIcon = r.status === 'success' ? '✅' : r.status === 'failed' ? '❌' : r.status === 'cancelled' ? '⏹' : '⏳';
|
|
208
196
|
return {
|
|
@@ -215,13 +203,10 @@ export const actions = {
|
|
|
215
203
|
error: r.error ?? '',
|
|
216
204
|
};
|
|
217
205
|
});
|
|
218
|
-
}
|
|
219
|
-
async
|
|
220
|
-
const svc = ctx.getService('workflow');
|
|
221
|
-
if (!svc)
|
|
222
|
-
return { ok: false, error: 'workflow 服务未就绪' };
|
|
206
|
+
});
|
|
207
|
+
webui.registerAction('triggerWorkflow', async (args) => {
|
|
223
208
|
try {
|
|
224
|
-
const run = await
|
|
209
|
+
const run = await service.runWorkflow(String(args.id), {}, 'manual:webui');
|
|
225
210
|
return {
|
|
226
211
|
ok: true,
|
|
227
212
|
runId: run.runId,
|
|
@@ -233,42 +218,30 @@ export const actions = {
|
|
|
233
218
|
catch (err) {
|
|
234
219
|
return { ok: false, error: err instanceof Error ? err.message : String(err) };
|
|
235
220
|
}
|
|
236
|
-
}
|
|
237
|
-
async
|
|
238
|
-
const
|
|
239
|
-
if (!svc)
|
|
240
|
-
return { ok: false, error: 'workflow 服务未就绪' };
|
|
241
|
-
const def = svc.getWorkflow(String(args.id));
|
|
221
|
+
});
|
|
222
|
+
webui.registerAction('toggleWorkflow', async (args) => {
|
|
223
|
+
const def = service.getWorkflow(String(args.id));
|
|
242
224
|
if (!def)
|
|
243
225
|
return { ok: false, error: '工作流不存在' };
|
|
244
226
|
const next = { ...def, enabled: def.enabled === false };
|
|
245
227
|
try {
|
|
246
|
-
await
|
|
247
|
-
|
|
228
|
+
await service.defineWorkflow(next, { persist: true });
|
|
229
|
+
const note = onceSkippedNote(next, true, onceLedgerReadable(), '「立即运行」');
|
|
230
|
+
return { ok: true, enabled: next.enabled, ...(note ? { message: `已启用;${note}` } : {}) };
|
|
248
231
|
}
|
|
249
232
|
catch (err) {
|
|
250
233
|
return { ok: false, error: err instanceof Error ? err.message : String(err) };
|
|
251
234
|
}
|
|
252
|
-
}
|
|
253
|
-
async
|
|
254
|
-
const
|
|
255
|
-
if (!svc)
|
|
256
|
-
return { error: 'workflow 服务未就绪' };
|
|
257
|
-
const def = svc.getWorkflow(String(args.id));
|
|
235
|
+
});
|
|
236
|
+
webui.registerAction('getWorkflowYaml', async (args) => {
|
|
237
|
+
const def = service.getWorkflow(String(args.id));
|
|
258
238
|
if (!def)
|
|
259
239
|
return { error: '工作流不存在' };
|
|
260
240
|
return { id: def.id, yaml: stringify(def) };
|
|
261
|
-
}
|
|
262
|
-
async removeWorkflow(
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
return { ok: false, error: 'workflow 服务未就绪' };
|
|
266
|
-
const ok = await svc.removeWorkflow(String(args.id));
|
|
267
|
-
return { ok, message: ok ? '已删除' : '不存在' };
|
|
268
|
-
},
|
|
269
|
-
async newWorkflowDraft() {
|
|
270
|
-
return {
|
|
271
|
-
yaml: `id: my-workflow
|
|
241
|
+
});
|
|
242
|
+
webui.registerAction('removeWorkflow', async (args) => (await service.removeWorkflow(String(args.id))) ? { ok: true } : { ok: false, error: '工作流不存在' });
|
|
243
|
+
webui.registerAction('newWorkflowDraft', async () => ({
|
|
244
|
+
yaml: `id: my-workflow
|
|
272
245
|
name: 示例工作流
|
|
273
246
|
description: 描述这个工作流的作用
|
|
274
247
|
trigger:
|
|
@@ -282,13 +255,9 @@ nodes:
|
|
|
282
255
|
platform: internal
|
|
283
256
|
content: "{{vars.greeting}}, world!"
|
|
284
257
|
`,
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
async upsertWorkflowYaml(ctx, args) {
|
|
289
|
-
const svc = ctx.getService('workflow');
|
|
290
|
-
if (!svc)
|
|
291
|
-
return { ok: false, error: 'workflow 服务未就绪' };
|
|
258
|
+
persist: true,
|
|
259
|
+
}));
|
|
260
|
+
webui.registerAction('upsertWorkflowYaml', async (args) => {
|
|
292
261
|
const yamlText = String(args.yaml ?? '').trim();
|
|
293
262
|
if (!yamlText)
|
|
294
263
|
return { ok: false, error: 'yaml 不能为空' };
|
|
@@ -302,45 +271,77 @@ nodes:
|
|
|
302
271
|
const def = normalizeDef(raw, `wf-${Date.now()}`);
|
|
303
272
|
if (!def)
|
|
304
273
|
return { ok: false, error: '定义不合法:缺少 trigger 或 nodes' };
|
|
274
|
+
const persist = args.persist !== false;
|
|
305
275
|
try {
|
|
306
|
-
await
|
|
307
|
-
|
|
276
|
+
await service.defineWorkflow(def, { persist });
|
|
277
|
+
const note = onceSkippedNote(def, persist, onceLedgerReadable(), '「立即运行」');
|
|
278
|
+
return { ok: true, id: def.id, nodes: def.nodes.length, ...(note ? { message: `已保存;${note}` } : {}) };
|
|
308
279
|
}
|
|
309
280
|
catch (err) {
|
|
310
281
|
return { ok: false, error: err instanceof Error ? err.message : String(err) };
|
|
311
282
|
}
|
|
312
|
-
}
|
|
313
|
-
}
|
|
314
|
-
|
|
315
|
-
|
|
283
|
+
});
|
|
284
|
+
}
|
|
285
|
+
/** 路径配置只接受 storage URI;未设、留空或非字符串用默认值,其它写法(如相对路径 workspace/workflows)拒绝激活。 */
|
|
286
|
+
function resolveUri(key, input, fallback) {
|
|
287
|
+
const s = typeof input === 'string' ? input.trim() : '';
|
|
316
288
|
if (!s)
|
|
317
289
|
return fallback;
|
|
318
|
-
if (s
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
return idx > 0 ? `${cleaned.slice(0, idx)}:/${cleaned.slice(idx + 1)}` : `${cleaned}:/`;
|
|
290
|
+
if (!isStorageUri(s)) {
|
|
291
|
+
throw new Error(`plugin-workflow 配置错误: ${key}="${s}" 不是 storage URI,请写成 <根名>:/<路径>(如 ${fallback}),或删掉该键使用默认值`);
|
|
292
|
+
}
|
|
293
|
+
return s;
|
|
323
294
|
}
|
|
324
295
|
function resolveConfig(raw) {
|
|
325
296
|
return {
|
|
326
|
-
defsDir:
|
|
327
|
-
runsFile:
|
|
297
|
+
defsDir: resolveUri('defsDir', raw.defsDir, 'workspace:/workflows'),
|
|
298
|
+
runsFile: resolveUri('runsFile', raw.runsFile, 'data:/workflow-runs.json'),
|
|
328
299
|
maxRuns: typeof raw.maxRuns === 'number' && raw.maxRuns > 0 ? raw.maxRuns : 200,
|
|
329
300
|
enableTools: raw.enableTools !== false,
|
|
330
301
|
};
|
|
331
302
|
}
|
|
332
|
-
// ───
|
|
333
|
-
|
|
334
|
-
|
|
335
|
-
|
|
336
|
-
|
|
337
|
-
|
|
303
|
+
// ─── 插件入口 ───
|
|
304
|
+
const uses = {
|
|
305
|
+
/** cron / interval 触发器共享的整分钟 tick 与表达式解析 */
|
|
306
|
+
cronEngine,
|
|
307
|
+
/** 定义(*.yaml)与运行历史的持久化出口 */
|
|
308
|
+
storage: optional(storage),
|
|
309
|
+
/** tool 节点的执行入口,兼 AI 工具面的登记口 */
|
|
310
|
+
tools: optional(tools),
|
|
311
|
+
/** 工作流页与页面动作的登记口;无 WebUI 时引擎照常运行 */
|
|
312
|
+
webui: optional(webuiServer),
|
|
313
|
+
events,
|
|
314
|
+
/** agent 节点经 'agent:turn:after' 捕获本轮回复 */
|
|
315
|
+
hooks,
|
|
316
|
+
lifecycle,
|
|
317
|
+
logger,
|
|
318
|
+
config,
|
|
319
|
+
provide,
|
|
320
|
+
};
|
|
321
|
+
export default definePlugin({
|
|
322
|
+
name: '@aalis/plugin-workflow',
|
|
323
|
+
displayName: '工作流',
|
|
324
|
+
subsystem: 'workflow',
|
|
325
|
+
extends: {
|
|
326
|
+
events: ['workflow:run:start', 'workflow:run:done', 'workflow:run:error', 'workflow:node:done', 'trigger:fired'],
|
|
327
|
+
},
|
|
328
|
+
configSchema,
|
|
329
|
+
provides: [workflow],
|
|
330
|
+
uses,
|
|
331
|
+
apply: run,
|
|
332
|
+
});
|
|
333
|
+
async function run(caps) {
|
|
334
|
+
const { events, hooks, lifecycle, provide, tools, webui } = caps;
|
|
335
|
+
const config = resolveConfig(caps.config);
|
|
336
|
+
const logger = caps.logger.child('workflow');
|
|
337
|
+
const storageGateway = createStorageGateway(caps.storage);
|
|
338
|
+
const loader = new WorkflowLoader(storageGateway, config.defsDir, logger);
|
|
338
339
|
const scanned = await loader.loadAll();
|
|
339
|
-
const runStore = new RunStore(
|
|
340
|
+
const runStore = new RunStore(storageGateway, config.runsFile, config.maxRuns, logger);
|
|
340
341
|
await runStore.init();
|
|
341
342
|
const cancelTokens = new Map();
|
|
342
343
|
// ── 触发管理器:内部 cron/interval/event 监听 ──
|
|
343
|
-
const triggers = new TriggerManager(
|
|
344
|
+
const triggers = new TriggerManager({ cronEngine: caps.cronEngine, events, logger }, (workflowId, source, payload) => {
|
|
344
345
|
// 异步触发,不阻塞触发源;event 触发的 payload({args})作为 vars 注入,{{vars.X}} 才读得到
|
|
345
346
|
runById(workflowId, payload ?? {}, source).catch(err => {
|
|
346
347
|
logger.error(`触发执行 workflow=${workflowId} source=${source} 失败: ${err instanceof Error ? err.message : err}`);
|
|
@@ -353,7 +354,7 @@ export async function apply(ctx, rawConfig) {
|
|
|
353
354
|
for (const def of loader.list())
|
|
354
355
|
triggers.register(def);
|
|
355
356
|
// ── 订阅外部 trigger:fired(来自 scheduler / 其他触发源)──
|
|
356
|
-
|
|
357
|
+
events.on('trigger:fired', info => {
|
|
357
358
|
if (!info?.workflowId)
|
|
358
359
|
return;
|
|
359
360
|
runById(info.workflowId, info.payload ?? {}, info.source ?? `trigger:${info.type}`).catch(err => {
|
|
@@ -381,15 +382,16 @@ export async function apply(ctx, rawConfig) {
|
|
|
381
382
|
nodes: def.nodes.map(n => ({ id: n.id, type: n.type, status: 'pending' })),
|
|
382
383
|
};
|
|
383
384
|
runStore.add(run);
|
|
384
|
-
await
|
|
385
|
+
await events.emit('workflow:run:start', run);
|
|
385
386
|
logger.info(`run=${runId} 启动 (trigger=${triggerSource})`);
|
|
386
387
|
try {
|
|
387
388
|
const result = await runDag({
|
|
388
|
-
|
|
389
|
+
tools,
|
|
390
|
+
events,
|
|
391
|
+
hooks,
|
|
389
392
|
logger,
|
|
390
393
|
def,
|
|
391
394
|
runId,
|
|
392
|
-
triggerSource,
|
|
393
395
|
vars,
|
|
394
396
|
// 运行时身份:经 workflow_run 工具触发时以 actor 透传【调用者】授权身份,使工作流
|
|
395
397
|
// 内部工具与 agent/send_message 节点按【调用者】的权限等级过 authority 闸(而非匿名
|
|
@@ -406,7 +408,7 @@ export async function apply(ctx, rawConfig) {
|
|
|
406
408
|
const idx = run.nodes.findIndex(n => n.id === info.id);
|
|
407
409
|
if (idx >= 0)
|
|
408
410
|
run.nodes[idx] = info;
|
|
409
|
-
|
|
411
|
+
events.emit('workflow:node:done', { runId, node: info }).catch(() => { });
|
|
410
412
|
},
|
|
411
413
|
});
|
|
412
414
|
run.status = result.status;
|
|
@@ -415,11 +417,11 @@ export async function apply(ctx, rawConfig) {
|
|
|
415
417
|
run.finishedAt = Date.now();
|
|
416
418
|
runStore.update(run);
|
|
417
419
|
if (result.status === 'success') {
|
|
418
|
-
await
|
|
420
|
+
await events.emit('workflow:run:done', run);
|
|
419
421
|
logger.info(`run=${runId} 完成 (${run.finishedAt - run.startedAt}ms)`);
|
|
420
422
|
}
|
|
421
423
|
else {
|
|
422
|
-
await
|
|
424
|
+
await events.emit('workflow:run:error', run);
|
|
423
425
|
logger.warn(`run=${runId} ${result.status}: ${result.error ?? ''}`);
|
|
424
426
|
}
|
|
425
427
|
}
|
|
@@ -428,7 +430,7 @@ export async function apply(ctx, rawConfig) {
|
|
|
428
430
|
run.error = err instanceof Error ? err.message : String(err);
|
|
429
431
|
run.finishedAt = Date.now();
|
|
430
432
|
runStore.update(run);
|
|
431
|
-
await
|
|
433
|
+
await events.emit('workflow:run:error', run);
|
|
432
434
|
logger.error(`run=${runId} 异常: ${run.error}`);
|
|
433
435
|
}
|
|
434
436
|
finally {
|
|
@@ -459,9 +461,11 @@ export async function apply(ctx, rawConfig) {
|
|
|
459
461
|
logger.info(`workflow 已定义: ${def.id} (持久化=${opts?.persist !== false})`);
|
|
460
462
|
},
|
|
461
463
|
async removeWorkflow(id) {
|
|
464
|
+
// 先删文件,删不掉就抛错、触发器与 once 记账原样保留:先清账的话,重启后定义被重新载入,过期 once 会重放
|
|
465
|
+
const had = await loader.removeDef(id);
|
|
462
466
|
triggers.unregister(id);
|
|
463
467
|
runStore.clearOnceFired(id); // 定义没了,once 记账不留孤儿:同 id 重建算新工作流
|
|
464
|
-
return
|
|
468
|
+
return had;
|
|
465
469
|
},
|
|
466
470
|
async runWorkflow(id, vars, source, caller) {
|
|
467
471
|
return await runById(id, vars ?? {}, source ?? 'manual', caller);
|
|
@@ -480,20 +484,21 @@ export async function apply(ctx, rawConfig) {
|
|
|
480
484
|
return runStore.list(limit, workflowId);
|
|
481
485
|
},
|
|
482
486
|
};
|
|
483
|
-
|
|
487
|
+
provide(workflow, service);
|
|
484
488
|
// ── AI 工具 ──
|
|
485
|
-
|
|
486
|
-
|
|
489
|
+
// tools 晚上线也无妨:登记口在提供者缺席时先挂账,上线后自动补挂
|
|
490
|
+
if (config.enableTools) {
|
|
491
|
+
registerTools(tools, service, () => runStore.onceLedgerReadable());
|
|
487
492
|
}
|
|
488
493
|
// ── WebUI ──
|
|
489
|
-
const webui = useWebuiService(ctx);
|
|
490
494
|
for (const page of webuiPages)
|
|
491
495
|
webui.registerPage(page);
|
|
496
|
+
registerWebuiActions(webui, service, () => runStore.onceLedgerReadable());
|
|
492
497
|
// ── 清理 ──
|
|
493
|
-
|
|
498
|
+
lifecycle.onDispose(async () => {
|
|
494
499
|
triggers.dispose();
|
|
495
|
-
// 先置 cancelled 再清表:只 clear 的话在飞 run 仍持有自己的 token
|
|
496
|
-
//
|
|
500
|
+
// 先置 cancelled 再清表:只 clear 的话在飞 run 仍持有自己的 token 引用,会继续跑完剩余
|
|
501
|
+
// 节点、发事件,并把结果写回旧 RunStore 的历史快照
|
|
497
502
|
for (const t of cancelTokens.values())
|
|
498
503
|
t.cancelled = true;
|
|
499
504
|
cancelTokens.clear();
|
|
@@ -503,8 +508,8 @@ export async function apply(ctx, rawConfig) {
|
|
|
503
508
|
logger.info(`工作流插件已启动 (${loader.list().length} 个定义已加载)`);
|
|
504
509
|
}
|
|
505
510
|
// ─── AI 工具注册 ───
|
|
506
|
-
|
|
507
|
-
|
|
511
|
+
/** onceLedgerReadable:once 记账读不出时本次运行不安排 once,workflow_define 的回执据此如实说明 */
|
|
512
|
+
function registerTools(tools, service, onceLedgerReadable) {
|
|
508
513
|
tools.registerGroup({ name: 'workflow', label: '工作流', description: '定义、运行、查询自主工作流(DAG)' });
|
|
509
514
|
tools.register({
|
|
510
515
|
// 编排定义/触发/删除:可定义向任意 sessionId 发消息/跑 agent 的工作流,挡住不受信任访客经
|
|
@@ -542,13 +547,21 @@ function registerTools(ctx, service) {
|
|
|
542
547
|
const def = normalizeDef(raw, `wf-${Date.now()}`);
|
|
543
548
|
if (!def)
|
|
544
549
|
return JSON.stringify({ error: '定义不合法:缺少 trigger 或 nodes' });
|
|
550
|
+
const persist = args.persist !== false;
|
|
545
551
|
try {
|
|
546
|
-
await service.defineWorkflow(def, { persist
|
|
552
|
+
await service.defineWorkflow(def, { persist });
|
|
547
553
|
}
|
|
548
554
|
catch (e) {
|
|
549
555
|
return JSON.stringify({ error: e instanceof Error ? e.message : String(e) });
|
|
550
556
|
}
|
|
551
|
-
|
|
557
|
+
const note = onceSkippedNote(def, persist, onceLedgerReadable(), ' workflow_run ');
|
|
558
|
+
return JSON.stringify({
|
|
559
|
+
ok: true,
|
|
560
|
+
id: def.id,
|
|
561
|
+
nodes: def.nodes.length,
|
|
562
|
+
trigger: def.trigger.type,
|
|
563
|
+
...(note ? { note } : {}),
|
|
564
|
+
});
|
|
552
565
|
},
|
|
553
566
|
});
|
|
554
567
|
tools.register({
|
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/loader.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type
|
|
1
|
+
import { type StorageService } from '@aalis/api-storage';
|
|
2
2
|
import type { WorkflowDef } from '@aalis/api-workflow';
|
|
3
3
|
import type { Logger } from '@aalis/core';
|
|
4
4
|
/** 把 raw YAML 对象规范化为 WorkflowDef;返回 null 表示非法 */
|
|
@@ -8,6 +8,8 @@ export declare class WorkflowLoader {
|
|
|
8
8
|
private dirUri;
|
|
9
9
|
private logger;
|
|
10
10
|
private loaded;
|
|
11
|
+
/** 本次激活里确认有文件的 id(loadAll 载入的、saveDef 写过的):只有它们删不掉文件时会在重启后被重新载入 */
|
|
12
|
+
private onDisk;
|
|
11
13
|
constructor(storage: StorageService, dirUri: string, logger: Logger);
|
|
12
14
|
list(): WorkflowDef[];
|
|
13
15
|
get(id: string): WorkflowDef | undefined;
|
|
@@ -15,7 +17,10 @@ export declare class WorkflowLoader {
|
|
|
15
17
|
loadAll(): Promise<boolean>;
|
|
16
18
|
/** 保存定义到存储(覆盖) */
|
|
17
19
|
saveDef(def: WorkflowDef): Promise<void>;
|
|
18
|
-
/**
|
|
20
|
+
/**
|
|
21
|
+
* 从存储与内存删除。确认有文件的定义删不掉文件(不是「不存在」)时抛错、内存不动——否则重启后定义又被载入;
|
|
22
|
+
* 只在内存里的定义与不存在的 id 删文件失败(如 storage 不在场、根不可删)只记 warn,照常从内存移除
|
|
23
|
+
*/
|
|
19
24
|
removeDef(id: string): Promise<boolean>;
|
|
20
25
|
/** 仅放入内存(用于动态注册不持久化) */
|
|
21
26
|
putMemory(def: WorkflowDef): void;
|
package/dist/loader.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"loader.d.ts","sourceRoot":"","sources":["../src/loader.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"loader.d.ts","sourceRoot":"","sources":["../src/loader.ts"],"names":[],"mappings":"AAMA,OAAO,EAAqB,KAAK,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAC5E,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAK1C,iDAAiD;AACjD,wBAAgB,YAAY,CAAC,GAAG,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,GAAG,WAAW,GAAG,IAAI,CAiBjF;AAOD,qBAAa,cAAc;IACzB,OAAO,CAAC,OAAO,CAAiB;IAChC,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,MAAM,CAAkC;IAChD,mEAAmE;IACnE,OAAO,CAAC,MAAM,CAAqB;gBAEvB,OAAO,EAAE,cAAc,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;IAMnE,IAAI,IAAI,WAAW,EAAE;IAIrB,GAAG,CAAC,EAAE,EAAE,MAAM,GAAG,WAAW,GAAG,SAAS;IAIxC,+DAA+D;IACzD,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC;IAmCjC,kBAAkB;IACZ,OAAO,CAAC,GAAG,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC;IAO9C;;;OAGG;IACG,SAAS,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAgB7C,wBAAwB;IACxB,SAAS,CAAC,GAAG,EAAE,WAAW,GAAG,IAAI;CAGlC"}
|