@aalis/plugin-workflow 0.15.0 → 0.16.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 CHANGED
@@ -1,24 +1,35 @@
1
+ import type { GatewayService } from '@aalis/api-gateway';
1
2
  import type { Hooks } from '@aalis/api-hooks';
2
- import type { ToolCallContext, ToolService } from '@aalis/api-tools';
3
+ import { type ToolCallRequest, type ToolService } from '@aalis/api-tools';
3
4
  import type { NodeRunInfo, WorkflowDef } from '@aalis/api-workflow';
4
5
  import type { Events, Logger, ServiceSelection } from '@aalis/core';
6
+ import { type TextRef } from '@aalis/schema-i18n';
5
7
  /**
6
- * 执行一次 DAG 用到的能力:tool 节点调工具、send-message / agent 节点派发消息、
7
- * agent 节点经钩子捕获本轮回复。引擎不持有插件激活本身,只收这几样。
8
+ * 执行一次 DAG 用到的能力:tool 节点调工具、send-message 节点经事件派发消息、agent 节点经网关送达指令并经钩子捕获它那一轮的
9
+ * 回复。引擎不持有插件激活本身,只收这几样。
8
10
  */
9
11
  export interface EngineCaps {
10
12
  tools: Pick<ServiceSelection<ToolService>, 'present' | 'use'>;
11
13
  events: Events;
12
14
  hooks: Hooks;
15
+ /** agent 节点的送达入口:不在时 agent 节点失败 */
16
+ gateway: Pick<ServiceSelection<GatewayService>, 'present' | 'use'>;
13
17
  logger: Logger;
14
18
  }
15
- /** 校验定义的节点字段与 deps 合法(必填字段齐全;不引用未知节点;不形成环);返回错误消息或 null */
16
- export declare function validateGraph(def: WorkflowDef): string | null;
19
+ /**
20
+ * 校验定义的节点字段与 deps 合法(必填字段齐全;不引用未知节点;不形成环);返回原因或 null。原因给人看(工作流页),
21
+ * 也经 workflow_define 交给模型(取原文)
22
+ */
23
+ export declare function validateGraph(def: WorkflowDef): TextRef | null;
24
+ /** 接住的报错作原因:文字对象的参数截短,字符串照旧 */
25
+ export declare function errorReason(err: unknown): string | TextRef;
17
26
  interface RunOptions extends EngineCaps {
18
27
  def: WorkflowDef;
19
28
  runId: string;
20
29
  vars: Record<string, unknown>;
21
- toolCallContext: ToolCallContext;
30
+ toolCallContext: ToolCallRequest;
31
+ /** 调起这次运行的会话(经 workflow_run 调起时有):指向它的 agent 节点立即失败 */
32
+ callerSessionId?: string;
22
33
  /**
23
34
  * 取消信号:中止后不再调度新节点,阻塞中的 wait / agent 节点立即失败;tool 节点经 toolCallContext.signal 收到,
24
35
  * 是否提前返回由工具决定
@@ -35,7 +46,7 @@ export declare function runDag(opts: RunOptions): Promise<{
35
46
  status: 'success' | 'failed' | 'cancelled';
36
47
  nodes: NodeRunInfo[];
37
48
  outputs: Record<string, unknown>;
38
- error?: string;
49
+ error?: string | TextRef;
39
50
  }>;
40
51
  export {};
41
52
  //# sourceMappingURL=engine.d.ts.map
@@ -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,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"}
1
+ {"version":3,"file":"engine.d.ts","sourceRoot":"","sources":["../src/engine.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACzD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAkB,KAAK,eAAe,EAAE,KAAK,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC1F,OAAO,KAAK,EAEV,WAAW,EAKX,WAAW,EACZ,MAAM,qBAAqB,CAAC;AAC7B,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AACpE,OAAO,EAAa,KAAK,OAAO,EAAoC,MAAM,oBAAoB,CAAC;AAS/F;;;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,mCAAmC;IACnC,OAAO,EAAE,IAAI,CAAC,gBAAgB,CAAC,cAAc,CAAC,EAAE,SAAS,GAAG,KAAK,CAAC,CAAC;IACnE,MAAM,EAAE,MAAM,CAAC;CAChB;AAkFD;;;GAGG;AACH,wBAAgB,aAAa,CAAC,GAAG,EAAE,WAAW,GAAG,OAAO,GAAG,IAAI,CAiC9D;AA8ID,+BAA+B;AAC/B,wBAAgB,WAAW,CAAC,GAAG,EAAE,OAAO,GAAG,MAAM,GAAG,OAAO,CAG1D;AAID,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,uDAAuD;IACvD,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB;;;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,GAAG,OAAO,CAAC;CAC1B,CAAC,CAyFD"}
package/dist/engine.js CHANGED
@@ -1,9 +1,14 @@
1
1
  // ============================================================
2
2
  // engine.ts — DAG 执行引擎
3
3
  // ============================================================
4
+ import { AsyncLocalStorage } from 'node:async_hooks';
5
+ import { actingIdentity } from '@aalis/api-tools';
6
+ import { TextError, textOf, toSource, truncateParams } from '@aalis/schema-i18n';
7
+ import { MAX_INTERVAL_SECONDS } from '@aalis/util-cron';
8
+ import { t } from './texts.js';
4
9
  const MAX_OUTPUT_PREVIEW = 1000;
5
- /** 运行被取消时,阻塞中的节点以此失败 */
6
- const CANCELLED = '运行已取消';
10
+ /** 原因最多多少字:文字对象的参数截到它(上游的整段报错可能在参数里),随运行历史落盘 */
11
+ const ERROR_MAX = 200;
7
12
  // ─── 模板插值 ────────────────────────────────────────
8
13
  const TPL_RE = /\{\{\s*(vars|outputs)\.([\w.[\]]+)\s*\}\}/g;
9
14
  /** 解析 outputs.foo.bar / outputs.foo[0].x 这类访问路径 */
@@ -55,44 +60,54 @@ function interpolateValue(v, vars, outputs) {
55
60
  return v;
56
61
  }
57
62
  // ─── 拓扑校验 ────────────────────────────────────────
58
- /** 按节点类型校验必填字段(运行期 raw 可能缺字段);返回错误消息或 null */
63
+ /**
64
+ * 按节点类型校验必填字段(运行期 raw 可能缺字段);返回原因或 null。wait 的 seconds 与 agent 的 timeoutSeconds 交给 setTimeout,
65
+ * 与触发器的固定间隔同一个上限:超过 2^31-1 毫秒时 Node 按 1 毫秒处理,等待立刻结束、agent 节点立刻超时
66
+ */
59
67
  function nodeFieldError(node) {
60
68
  const r = node;
61
69
  const id = String(r.id ?? '?');
62
70
  const filled = (v) => typeof v === 'string' && v.trim().length > 0;
71
+ const missing = (field) => t('missingField', { id, type: node.type, field });
72
+ const tooLong = (field, value) => typeof value === 'number' && value > MAX_INTERVAL_SECONDS
73
+ ? t('secondsTooLong', { id, type: node.type, field, value: String(value), max: MAX_INTERVAL_SECONDS })
74
+ : null;
63
75
  switch (node.type) {
64
76
  case 'tool':
65
- return filled(r.tool) ? null : `节点 "${id}"(tool) 缺少 tool 字段`;
77
+ return filled(r.tool) ? null : missing('tool');
66
78
  case 'send-message':
67
79
  if (!filled(r.content))
68
- return `节点 "${id}"(send-message) 缺少 content 字段`;
80
+ return missing('content');
69
81
  if (!filled(r.sessionId))
70
- return `节点 "${id}"(send-message) 缺少 sessionId 字段`;
82
+ return missing('sessionId');
71
83
  return null;
72
84
  case 'wait':
73
- return typeof r.seconds === 'number' && Number.isFinite(r.seconds)
74
- ? null
75
- : `节点 "${id}"(wait) 缺少数值字段 seconds`;
85
+ if (typeof r.seconds !== 'number' || !Number.isFinite(r.seconds))
86
+ return t('missingSeconds', { id });
87
+ return tooLong('seconds', r.seconds);
76
88
  case 'agent':
77
- return filled(r.instruction) ? null : `节点 "${id}"(agent) 缺少 instruction 字段`;
89
+ return filled(r.instruction) ? tooLong('timeoutSeconds', r.timeoutSeconds) : missing('instruction');
78
90
  default:
79
- return `节点 "${id}" 类型未知: ${String(r.type ?? '?')}`;
91
+ return t('unknownNodeType', { id, type: String(r.type ?? '?') });
80
92
  }
81
93
  }
82
- /** 校验定义的节点字段与 deps 合法(必填字段齐全;不引用未知节点;不形成环);返回错误消息或 null */
94
+ /**
95
+ * 校验定义的节点字段与 deps 合法(必填字段齐全;不引用未知节点;不形成环);返回原因或 null。原因给人看(工作流页),
96
+ * 也经 workflow_define 交给模型(取原文)
97
+ */
83
98
  export function validateGraph(def) {
84
99
  const ids = new Set(def.nodes.map(n => n.id));
85
100
  if (ids.size !== def.nodes.length)
86
- return '节点 id 重复';
101
+ return t('duplicateNodeId');
87
102
  for (const n of def.nodes) {
88
103
  const fieldErr = nodeFieldError(n);
89
104
  if (fieldErr)
90
105
  return fieldErr;
91
106
  for (const d of n.deps ?? []) {
92
107
  if (!ids.has(d))
93
- return `节点 "${n.id}" 引用未知 dep "${d}"`;
108
+ return t('unknownDep', { id: n.id, dep: d });
94
109
  if (d === n.id)
95
- return `节点 "${n.id}" 自引用`;
110
+ return t('selfDep', { id: n.id });
96
111
  }
97
112
  }
98
113
  // Kahn 检测环
@@ -118,12 +133,12 @@ export function validateGraph(def) {
118
133
  }
119
134
  }
120
135
  if (visited < def.nodes.length)
121
- return '节点存在依赖环';
136
+ return t('dependencyCycle');
122
137
  return null;
123
138
  }
124
139
  async function execTool(node, ec) {
125
140
  if (!ec.tools.present)
126
- throw new Error("'tools' 服务不可用");
141
+ throw new TextError(t('noTools'));
127
142
  const service = ec.tools.use;
128
143
  const args = (interpolateValue(node.args ?? {}, ec.vars, ec.outputs) ?? {});
129
144
  // 工作流节点产出是文本:工具交给主模型看的图(images)没有消费者,只取 content
@@ -139,10 +154,11 @@ async function execSendMessage(node, ec) {
139
154
  platform,
140
155
  source: `workflow:${ec.workflowId}`,
141
156
  };
142
- // 授权身份透传:与 tool 节点同源(run 级调用者),目标会话按调用者等级执行;
143
- // 无调用者(cron/event 触发)保持匿名。
144
- if (ec.toolCallContext.actor)
145
- message.actor = ec.toolCallContext.actor;
157
+ // 授权身份透传:与 tool 节点同源(run 级的运行身份,即工具调用上下文的唯一参与者,见 index.ts 的 execute),目标会话按它的
158
+ // 等级执行;匿名的不带。
159
+ const runner = actingIdentity(ec.toolCallContext);
160
+ if (runner.userId)
161
+ message.actor = runner;
146
162
  await ec.events.emit('inbound:message', message);
147
163
  return `sent to ${sessionId}@${platform} (${content.length} chars)`;
148
164
  }
@@ -155,84 +171,83 @@ function execWait(node, signal) {
155
171
  }, ms);
156
172
  const stop = () => {
157
173
  clearTimeout(timer);
158
- reject(new Error(CANCELLED));
174
+ reject(new TextError(t('cancelled')));
159
175
  };
160
176
  signal.addEventListener('abort', stop, { once: true });
161
177
  });
162
178
  }
163
179
  const DEFAULT_AGENT_TIMEOUT_SEC = 120;
164
180
  /**
165
- * agent 节点:派发指令给 agent 并等待本轮回复。
166
- * 在 emit 前注册 `agent:turn:after` 监听,按目标 sessionId 捕获首条回复;超时或
167
- * outcome=error/aborted 抛错(=> 节点失败)。回复文本作为节点结果,可被 `{{outputs.X}}` 下游引用。
181
+ * agent 节点:经网关把指令送进目标会话,等它开的那一轮的回复。指令带来源 `workflow:<编排>:<节点>`,在目标会话里单独成一轮,
182
+ * 排在那里在跑的一轮之后;送达在节点自己的异步上下文里调用,agent 让那一轮跑在送达它的调用的上下文里,节点据此只认自己那一轮的
183
+ * agent:turn:after(同一会话里别的回合、同一编排别的运行的同名节点都不认)。回复文本作为节点结果,可被 `{{outputs.X}}` 下游引用。
168
184
  *
169
- * 注意事项(见 AgentNodeSpec 文档):
170
- * - `source` 含 nodeId(`workflow:<wf>:<nodeId>`)以隔离 agent 的并发 lane——否则同一会话上的
171
- * 两个 agent 回合会因 lane 相同而互相 abort。但**显式指定相同 sessionId 的并行 agent 节点**仍会
172
- * 因 `agent:turn:after` 按 sessionId 匹配而串扰捕获——省略 sessionId(默认一次性子会话)可彻底避免。
173
- * - run 取消时立即停止等待、节点失败;已派发的回合不随之中止,照常跑完,回复不再被捕获。
174
- * - 目标会话处于禁言期时(禁言不看作用域),或落在 flow-control 作用域内且限速窗口已满时,消息会被 flow 相位
175
- * 吞掉而永不回本节点的 `agent:turn:after`,节点会等到超时才失败。带 source 的消息不经触发策略、不受回复后冷却;限速只在目标会话落入 flow-control 作用域时生效。
185
+ * 失败:outcome 为 error/aborted;指向调起这次运行的会话(那一轮在等这次运行,节点开不了轮)立即失败、不送达;网关不在时失败;
186
+ * 送达返回(这条输入落定)时还没认到结局,就是在网关相位被吞(禁言、限速等)或被放掉,立即失败;超时;run 取消时立即停止等待
187
+ * (已送达的回合不随之中止,照常跑完,回复不再被捕获)。
176
188
  */
177
189
  async function execAgent(node, ec) {
178
190
  const instruction = interpolateString(node.instruction, ec.vars, ec.outputs);
179
- // 省略 sessionId 时为本节点生成一次性隔离子会话,确保并行 agent 节点互不串扰、join 不混淆。
180
- // 这类会话没有出生平台:平台档按入口平台选,场所为默认工作区。
191
+ // 省略 sessionId 时为本节点生成一次性隔离子会话。这类会话没有出生平台:平台档按入口平台选,场所为默认工作区。
181
192
  const sessionId = node.sessionId
182
193
  ? interpolateString(node.sessionId, ec.vars, ec.outputs)
183
194
  : `workflow::${ec.runId}::${node.id}`;
184
195
  const platform = interpolateString(node.platform ?? 'workflow', ec.vars, ec.outputs);
185
196
  const timeoutSec = node.timeoutSeconds && node.timeoutSeconds > 0 ? node.timeoutSeconds : DEFAULT_AGENT_TIMEOUT_SEC;
186
- const timeoutMs = Math.floor(timeoutSec * 1000);
187
- let captured;
188
- let resolveWait;
189
- const waitPromise = new Promise(resolve => {
190
- resolveWait = resolve;
191
- });
192
- // 注册必须在 emit 之前,避免目标 agent 同步回复时错过监听窗口。
193
- const dispose = ec.hooks.middleware('agent:turn:after', async (data, next) => {
194
- await next();
195
- if (captured)
196
- return;
197
- if (data.sessionId !== sessionId)
198
- return;
199
- captured = { reply: data.reply ?? '', outcome: data.outcome };
200
- resolveWait?.();
201
- });
197
+ if (sessionId === ec.callerSessionId) {
198
+ throw new TextError(t('agentCallerSession', { session: sessionId }));
199
+ }
200
+ if (!ec.gateway.present)
201
+ throw new TextError(t('agentNoGateway', { session: sessionId }));
202
+ const gateway = ec.gateway.use;
202
203
  const incoming = {
203
204
  content: instruction,
204
205
  sessionId,
205
- // source 含 nodeId:隔离 agent 的并发 lane(laneKey=sessionId::source),
206
- // 避免同会话上的两个 agent 节点回合互相 abort。
207
206
  source: `workflow:${ec.workflowId}:${node.id}`,
208
207
  platform,
209
208
  triggerType: 'proactive',
210
209
  };
211
- // 授权身份透传:同一次 run 里 tool 节点带调用者身份而 agent 节点匿名是自相矛盾
212
- // (2026-08-24 审计),与 execSendMessage 同源补齐;无调用者保持匿名。
213
- if (ec.toolCallContext.actor)
214
- incoming.actor = ec.toolCallContext.actor;
215
- const stopWaiting = () => resolveWait?.();
216
- const timeoutHandle = setTimeout(stopWaiting, timeoutMs);
217
- ec.signal.addEventListener('abort', stopWaiting, { once: true });
210
+ // 授权身份透传:同一次 run 里 tool 节点带运行身份,agent 节点匿名就自相矛盾;与 execSendMessage 同源,匿名的不带。
211
+ const runner = actingIdentity(ec.toolCallContext);
212
+ if (runner.userId)
213
+ incoming.actor = runner;
214
+ // 节点自己的异步上下文:agent 在送达这条指令的调用里跑它开的那一轮
215
+ const scope = new AsyncLocalStorage();
216
+ let captured;
217
+ const dispose = ec.hooks.middleware('agent:turn:after', async (data, next) => {
218
+ await next();
219
+ if (!captured && scope.getStore() && data.sessionId === sessionId) {
220
+ captured = { reply: data.reply ?? '', outcome: data.outcome };
221
+ }
222
+ });
223
+ let timer;
224
+ let stop = () => { };
225
+ const waiting = new Promise(resolve => {
226
+ timer = setTimeout(() => resolve('timeout'), Math.floor(timeoutSec * 1000));
227
+ stop = () => resolve('cancelled');
228
+ ec.signal.addEventListener('abort', stop, { once: true });
229
+ });
230
+ let end;
218
231
  try {
219
- await ec.events.emit('inbound:message', incoming);
220
- await waitPromise;
232
+ const delivered = scope.run(true, () => gateway.ingressMessage(incoming)).then(() => 'delivered');
233
+ end = await Promise.race([delivered, waiting]);
221
234
  }
222
235
  finally {
223
- clearTimeout(timeoutHandle);
224
- ec.signal.removeEventListener('abort', stopWaiting);
236
+ clearTimeout(timer);
237
+ ec.signal.removeEventListener('abort', stop);
225
238
  dispose();
226
239
  }
227
- if (!captured) {
228
- if (ec.signal.aborted)
229
- throw new Error(CANCELLED);
230
- throw new Error(`agent 节点超时(${timeoutSec}s 内未收到 agent:turn:after,会话=${sessionId})`);
231
- }
232
- if (captured.outcome === 'error' || captured.outcome === 'aborted') {
233
- throw new Error(`agent 节点未正常完成(outcome=${captured.outcome},会话=${sessionId})`);
240
+ if (captured) {
241
+ if (captured.outcome === 'error' || captured.outcome === 'aborted') {
242
+ throw new TextError(t('agentNotCompleted', { outcome: captured.outcome, session: sessionId }));
243
+ }
244
+ return captured.reply;
234
245
  }
235
- return captured.reply;
246
+ if (end === 'cancelled')
247
+ throw new TextError(t('cancelled'));
248
+ if (end === 'timeout')
249
+ throw new TextError(t('agentTimeout', { seconds: timeoutSec, session: sessionId }));
250
+ throw new TextError(t('agentNoTurn', { session: sessionId }));
236
251
  }
237
252
  async function executeNode(node, ec) {
238
253
  switch (node.type) {
@@ -244,18 +259,19 @@ async function executeNode(node, ec) {
244
259
  return await execWait(node, ec.signal);
245
260
  case 'agent':
246
261
  return await execAgent(node, ec);
247
- default: {
248
- const _exhaustive = node;
249
- throw new Error(`未知节点类型: ${_exhaustive.type}`);
250
- }
251
262
  }
252
263
  }
264
+ /** 接住的报错作原因:文字对象的参数截短,字符串照旧 */
265
+ export function errorReason(err) {
266
+ const error = textOf(err);
267
+ return typeof error === 'string' ? error : truncateParams(error, ERROR_MAX);
268
+ }
253
269
  /**
254
270
  * 按 deps 拓扑分批执行;每一批可并行;失败立即终止后续批次。
255
271
  * 返回最终的 WorkflowRun(不含 runId/workflowId/startedAt 等元数据,由 caller 填充)。
256
272
  */
257
273
  export async function runDag(opts) {
258
- const { def, vars, tools, events, hooks, logger, runId, signal, onNodeDone } = opts;
274
+ const { def, vars, tools, events, hooks, gateway, logger, runId, callerSessionId, signal, onNodeDone } = opts;
259
275
  const outputs = {};
260
276
  // tool 节点经 toolCallContext.signal 收到取消
261
277
  const toolCallContext = { ...opts.toolCallContext, signal };
@@ -263,12 +279,14 @@ export async function runDag(opts) {
263
279
  tools,
264
280
  events,
265
281
  hooks,
282
+ gateway,
266
283
  logger,
267
284
  workflowId: def.id,
268
285
  runId,
269
286
  vars,
270
287
  outputs,
271
288
  toolCallContext,
289
+ callerSessionId,
272
290
  signal,
273
291
  };
274
292
  const nodeMap = new Map(def.nodes.map(n => [n.id, n]));
@@ -308,9 +326,9 @@ export async function runDag(opts) {
308
326
  catch (err) {
309
327
  info.status = 'failed';
310
328
  info.finishedAt = Date.now();
311
- info.error = err instanceof Error ? err.message : String(err);
312
- firstError ??= `节点 "${id}" 失败: ${info.error}`;
313
- logger.warn(`run=${runId} node=${id} failed: ${info.error}`);
329
+ info.error = errorReason(err);
330
+ firstError ??= truncateParams(t('nodeFailed', { id, error: info.error }), ERROR_MAX);
331
+ logger.warn(`run=${runId} node=${id} failed: ${toSource(info.error)}`);
314
332
  }
315
333
  finally {
316
334
  onNodeDone?.(info);
@@ -1 +1 @@
1
- {"version":3,"file":"engine.js","sourceRoot":"","sources":["../src/engine.ts"],"names":[],"mappings":"AAAA,+DAA+D;AAC/D,uBAAuB;AACvB,+DAA+D;AAkB/D,MAAM,kBAAkB,GAAG,IAAI,CAAC;AAChC,wBAAwB;AACxB,MAAM,SAAS,GAAG,OAAO,CAAC;AAa1B,oDAAoD;AAEpD,MAAM,MAAM,GAAG,4CAA4C,CAAC;AAE5D,mDAAmD;AACnD,SAAS,SAAS,CAAC,GAAY,EAAE,IAAY;IAC3C,MAAM,MAAM,GAAG,IAAI;SAChB,OAAO,CAAC,YAAY,EAAE,KAAK,CAAC;SAC5B,KAAK,CAAC,GAAG,CAAC;SACV,MAAM,CAAC,OAAO,CAAC,CAAC;IACnB,IAAI,GAAG,GAAY,GAAG,CAAC;IACvB,KAAK,MAAM,CAAC,IAAI,MAAM,EAAE,CAAC;QACvB,IAAI,GAAG,IAAI,IAAI;YAAE,OAAO,SAAS,CAAC;QAClC,GAAG,GAAI,GAA+B,CAAC,CAAC,CAAC,CAAC;IAC5C,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED,2EAA2E;AAC3E,SAAS,iBAAiB,CAAC,CAAS,EAAE,IAA6B,EAAE,OAAgC;IACnG,OAAO,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE;QAC1C,MAAM,IAAI,GAAG,KAAK,KAAK,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC;QAC/C,MAAM,CAAC,GAAG,SAAS,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QAChC,IAAI,CAAC,IAAI,IAAI;YAAE,OAAO,EAAE,CAAC;QACzB,IAAI,OAAO,CAAC,KAAK,QAAQ;YAAE,OAAO,CAAC,CAAC;QACpC,IAAI,OAAO,CAAC,KAAK,QAAQ,IAAI,OAAO,CAAC,KAAK,SAAS;YAAE,OAAO,MAAM,CAAC,CAAC,CAAC,CAAC;QACtE,IAAI,CAAC;YACH,OAAO,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;QAC3B,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,MAAM,CAAC,CAAC,CAAC,CAAC;QACnB,CAAC;IACH,CAAC,CAAC,CAAC;AACL,CAAC;AAED,uBAAuB;AACvB,SAAS,gBAAgB,CAAC,CAAU,EAAE,IAA6B,EAAE,OAAgC;IACnG,IAAI,OAAO,CAAC,KAAK,QAAQ;QAAE,OAAO,iBAAiB,CAAC,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;IACtE,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;QAAE,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,gBAAgB,CAAC,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC;IAC5E,IAAI,CAAC,IAAI,OAAO,CAAC,KAAK,QAAQ,EAAE,CAAC;QAC/B,MAAM,GAAG,GAA4B,EAAE,CAAC;QACxC,KAAK,MAAM,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,CAA4B,CAAC,EAAE,CAAC;YACnE,GAAG,CAAC,CAAC,CAAC,GAAG,gBAAgB,CAAC,EAAE,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;QAC/C,CAAC;QACD,OAAO,GAAG,CAAC;IACb,CAAC;IACD,OAAO,CAAC,CAAC;AACX,CAAC;AAED,oDAAoD;AAEpD,8CAA8C;AAC9C,SAAS,cAAc,CAAC,IAAc;IACpC,MAAM,CAAC,GAAG,IAA0C,CAAC;IACrD,MAAM,EAAE,GAAG,MAAM,CAAC,CAAC,CAAC,EAAE,IAAI,GAAG,CAAC,CAAC;IAC/B,MAAM,MAAM,GAAG,CAAC,CAAU,EAAW,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC;IACrF,QAAQ,IAAI,CAAC,IAAI,EAAE,CAAC;QAClB,KAAK,MAAM;YACT,OAAO,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,EAAE,oBAAoB,CAAC;QAC/D,KAAK,cAAc;YACjB,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC;gBAAE,OAAO,OAAO,EAAE,+BAA+B,CAAC;YACxE,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC;gBAAE,OAAO,OAAO,EAAE,iCAAiC,CAAC;YAC5E,OAAO,IAAI,CAAC;QACd,KAAK,MAAM;YACT,OAAO,OAAO,CAAC,CAAC,OAAO,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC;gBAChE,CAAC,CAAC,IAAI;gBACN,CAAC,CAAC,OAAO,EAAE,wBAAwB,CAAC;QACxC,KAAK,OAAO;YACV,OAAO,MAAM,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,EAAE,4BAA4B,CAAC;QAC9E;YACE,OAAO,OAAO,EAAE,WAAW,MAAM,CAAC,CAAC,CAAC,IAAI,IAAI,GAAG,CAAC,EAAE,CAAC;IACvD,CAAC;AACH,CAAC;AAED,2DAA2D;AAC3D,MAAM,UAAU,aAAa,CAAC,GAAgB;IAC5C,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAC9C,IAAI,GAAG,CAAC,IAAI,KAAK,GAAG,CAAC,KAAK,CAAC,MAAM;QAAE,OAAO,UAAU,CAAC;IACrD,KAAK,MAAM,CAAC,IAAI,GAAG,CAAC,KAAK,EAAE,CAAC;QAC1B,MAAM,QAAQ,GAAG,cAAc,CAAC,CAAC,CAAC,CAAC;QACnC,IAAI,QAAQ;YAAE,OAAO,QAAQ,CAAC;QAC9B,KAAK,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,IAAI,EAAE,EAAE,CAAC;YAC7B,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;gBAAE,OAAO,OAAO,CAAC,CAAC,EAAE,eAAe,CAAC,GAAG,CAAC;YACvD,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE;gBAAE,OAAO,OAAO,CAAC,CAAC,EAAE,OAAO,CAAC;QAC5C,CAAC;IACH,CAAC;IACD,WAAW;IACX,MAAM,KAAK,GAAG,IAAI,GAAG,EAAkB,CAAC;IACxC,MAAM,GAAG,GAAG,IAAI,GAAG,EAAoB,CAAC;IACxC,KAAK,MAAM,CAAC,IAAI,GAAG,CAAC,KAAK,EAAE,CAAC;QAC1B,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC;QACvC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;IACpB,CAAC;IACD,KAAK,MAAM,CAAC,IAAI,GAAG,CAAC,KAAK,EAAE,CAAC;QAC1B,KAAK,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,IAAI,EAAE;YAAE,GAAG,CAAC,GAAG,CAAC,CAAC,CAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IACvD,CAAC;IACD,MAAM,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC;IAC1E,IAAI,OAAO,GAAG,CAAC,CAAC;IAChB,OAAO,CAAC,CAAC,MAAM,EAAE,CAAC;QAChB,MAAM,EAAE,GAAG,CAAC,CAAC,KAAK,EAAG,CAAC;QACtB,OAAO,EAAE,CAAC;QACV,KAAK,MAAM,CAAC,IAAI,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC;YAClC,KAAK,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAE,GAAG,CAAC,CAAC,CAAC;YAChC,IAAI,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC;gBAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACpC,CAAC;IACH,CAAC;IACD,IAAI,OAAO,GAAG,GAAG,CAAC,KAAK,CAAC,MAAM;QAAE,OAAO,SAAS,CAAC;IACjD,OAAO,IAAI,CAAC;AACd,CAAC;AAaD,KAAK,UAAU,QAAQ,CAAC,IAAkB,EAAE,EAAW;IACrD,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,OAAO;QAAE,MAAM,IAAI,KAAK,CAAC,eAAe,CAAC,CAAC;IACxD,MAAM,OAAO,GAAG,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC;IAC7B,MAAM,IAAI,GAAG,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,IAAI,EAAE,EAAE,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE,CAA4B,CAAC;IACvG,gDAAgD;IAChD,OAAO,CAAC,MAAM,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE,CAAC,eAAe,CAAC,CAAC,CAAC,OAAO,CAAC;AAC9E,CAAC;AAED,KAAK,UAAU,eAAe,CAAC,IAAyB,EAAE,EAAW;IACnE,MAAM,OAAO,GAAG,iBAAiB,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC;IACrE,MAAM,SAAS,GAAG,iBAAiB,CAAC,IAAI,CAAC,SAAS,EAAE,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC;IACzE,MAAM,QAAQ,GAAG,iBAAiB,CAAC,IAAI,CAAC,QAAQ,IAAI,UAAU,EAAE,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC;IACrF,MAAM,OAAO,GAAoB;QAC/B,OAAO;QACP,SAAS;QACT,QAAQ;QACR,MAAM,EAAE,YAAY,EAAE,CAAC,UAAU,EAAE;KACpC,CAAC;IACF,6CAA6C;IAC7C,2BAA2B;IAC3B,IAAI,EAAE,CAAC,eAAe,CAAC,KAAK;QAAE,OAAO,CAAC,KAAK,GAAG,EAAE,CAAC,eAAe,CAAC,KAAK,CAAC;IACvE,MAAM,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,iBAAiB,EAAE,OAAO,CAAC,CAAC;IACjD,OAAO,WAAW,SAAS,IAAI,QAAQ,KAAK,OAAO,CAAC,MAAM,SAAS,CAAC;AACtE,CAAC;AAED,SAAS,QAAQ,CAAC,IAAkB,EAAE,MAAmB;IACvD,MAAM,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,CAAC,CAAC;IACxD,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACrC,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE;YAC5B,MAAM,CAAC,mBAAmB,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;YAC1C,OAAO,CAAC,UAAU,IAAI,CAAC,OAAO,GAAG,CAAC,CAAC;QACrC,CAAC,EAAE,EAAE,CAAC,CAAC;QACP,MAAM,IAAI,GAAG,GAAG,EAAE;YAChB,YAAY,CAAC,KAAK,CAAC,CAAC;YACpB,MAAM,CAAC,IAAI,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC;QAC/B,CAAC,CAAC;QACF,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;IACzD,CAAC,CAAC,CAAC;AACL,CAAC;AAED,MAAM,yBAAyB,GAAG,GAAG,CAAC;AAEtC;;;;;;;;;;;;GAYG;AACH,KAAK,UAAU,SAAS,CAAC,IAAmB,EAAE,EAAW;IACvD,MAAM,WAAW,GAAG,iBAAiB,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC;IAC7E,2DAA2D;IAC3D,iCAAiC;IACjC,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS;QAC9B,CAAC,CAAC,iBAAiB,CAAC,IAAI,CAAC,SAAS,EAAE,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO,CAAC;QACxD,CAAC,CAAC,aAAa,EAAE,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,EAAE,CAAC;IACxC,MAAM,QAAQ,GAAG,iBAAiB,CAAC,IAAI,CAAC,QAAQ,IAAI,UAAU,EAAE,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC;IACrF,MAAM,UAAU,GAAG,IAAI,CAAC,cAAc,IAAI,IAAI,CAAC,cAAc,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,yBAAyB,CAAC;IACpH,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,GAAG,IAAI,CAAC,CAAC;IAEhD,IAAI,QAAwD,CAAC;IAC7D,IAAI,WAAqC,CAAC;IAC1C,MAAM,WAAW,GAAG,IAAI,OAAO,CAAO,OAAO,CAAC,EAAE;QAC9C,WAAW,GAAG,OAAO,CAAC;IACxB,CAAC,CAAC,CAAC;IACH,wCAAwC;IACxC,MAAM,OAAO,GAAG,EAAE,CAAC,KAAK,CAAC,UAAU,CAAC,kBAAkB,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE;QAC3E,MAAM,IAAI,EAAE,CAAC;QACb,IAAI,QAAQ;YAAE,OAAO;QACrB,IAAI,IAAI,CAAC,SAAS,KAAK,SAAS;YAAE,OAAO;QACzC,QAAQ,GAAG,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,IAAI,EAAE,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC;QAC9D,WAAW,EAAE,EAAE,CAAC;IAClB,CAAC,CAAC,CAAC;IAEH,MAAM,QAAQ,GAAoB;QAChC,OAAO,EAAE,WAAW;QACpB,SAAS;QACT,gEAAgE;QAChE,gCAAgC;QAChC,MAAM,EAAE,YAAY,EAAE,CAAC,UAAU,IAAI,IAAI,CAAC,EAAE,EAAE;QAC9C,QAAQ;QACR,WAAW,EAAE,WAAW;KACzB,CAAC;IACF,kDAAkD;IAClD,mDAAmD;IACnD,IAAI,EAAE,CAAC,eAAe,CAAC,KAAK;QAAE,QAAQ,CAAC,KAAK,GAAG,EAAE,CAAC,eAAe,CAAC,KAAK,CAAC;IAExE,MAAM,WAAW,GAAG,GAAG,EAAE,CAAC,WAAW,EAAE,EAAE,CAAC;IAC1C,MAAM,aAAa,GAAG,UAAU,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC;IACzD,EAAE,CAAC,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE,WAAW,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;IACjE,IAAI,CAAC;QACH,MAAM,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,iBAAiB,EAAE,QAAQ,CAAC,CAAC;QAClD,MAAM,WAAW,CAAC;IACpB,CAAC;YAAS,CAAC;QACT,YAAY,CAAC,aAAa,CAAC,CAAC;QAC5B,EAAE,CAAC,MAAM,CAAC,mBAAmB,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;QACpD,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,IAAI,EAAE,CAAC,MAAM,CAAC,OAAO;YAAE,MAAM,IAAI,KAAK,CAAC,SAAS,CAAC,CAAC;QAClD,MAAM,IAAI,KAAK,CAAC,cAAc,UAAU,8BAA8B,SAAS,GAAG,CAAC,CAAC;IACtF,CAAC;IACD,IAAI,QAAQ,CAAC,OAAO,KAAK,OAAO,IAAI,QAAQ,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;QACnE,MAAM,IAAI,KAAK,CAAC,yBAAyB,QAAQ,CAAC,OAAO,OAAO,SAAS,GAAG,CAAC,CAAC;IAChF,CAAC;IACD,OAAO,QAAQ,CAAC,KAAK,CAAC;AACxB,CAAC;AAED,KAAK,UAAU,WAAW,CAAC,IAAc,EAAE,EAAW;IACpD,QAAQ,IAAI,CAAC,IAAI,EAAE,CAAC;QAClB,KAAK,MAAM;YACT,OAAO,MAAM,QAAQ,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;QAClC,KAAK,cAAc;YACjB,OAAO,MAAM,eAAe,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;QACzC,KAAK,MAAM;YACT,OAAO,MAAM,QAAQ,CAAC,IAAI,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC;QACzC,KAAK,OAAO;YACV,OAAO,MAAM,SAAS,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;QACnC,OAAO,CAAC,CAAC,CAAC;YACR,MAAM,WAAW,GAAU,IAAI,CAAC;YAChC,MAAM,IAAI,KAAK,CAAC,WAAY,WAAgC,CAAC,IAAI,EAAE,CAAC,CAAC;QACvE,CAAC;IACH,CAAC;AACH,CAAC;AAkBD;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,MAAM,CAAC,IAAgB;IAM3C,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,GAAG,IAAI,CAAC;IACpF,MAAM,OAAO,GAA4B,EAAE,CAAC;IAC5C,uCAAuC;IACvC,MAAM,eAAe,GAAG,EAAE,GAAG,IAAI,CAAC,eAAe,EAAE,MAAM,EAAE,CAAC;IAC5D,MAAM,EAAE,GAAY;QAClB,KAAK;QACL,MAAM;QACN,KAAK;QACL,MAAM;QACN,UAAU,EAAE,GAAG,CAAC,EAAE;QAClB,KAAK;QACL,IAAI;QACJ,OAAO;QACP,eAAe;QACf,MAAM;KACP,CAAC;IAEF,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IACvD,MAAM,KAAK,GAAG,IAAI,GAAG,EAAkB,CAAC;IACxC,MAAM,GAAG,GAAG,IAAI,GAAG,EAAoB,CAAC;IACxC,KAAK,MAAM,CAAC,IAAI,GAAG,CAAC,KAAK,EAAE,CAAC;QAC1B,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC;QACvC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;IACpB,CAAC;IACD,KAAK,MAAM,CAAC,IAAI,GAAG,CAAC,KAAK,EAAE,CAAC;QAC1B,KAAK,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,IAAI,EAAE;YAAE,GAAG,CAAC,GAAG,CAAC,CAAC,CAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IACvD,CAAC;IAED,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAuB,CAAC;IAChD,KAAK,MAAM,CAAC,IAAI,GAAG,CAAC,KAAK;QAAE,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,CAAC;IAE7F,IAAI,UAAU,GAAkB,IAAI,CAAC;IAErC,KAAK,UAAU,MAAM,CAAC,EAAU;QAC9B,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,EAAE,CAAE,CAAC;QAC9B,MAAM,IAAI,GAAG,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAE,CAAC;QAC/B,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;YACnB,IAAI,CAAC,MAAM,GAAG,SAAS,CAAC;YACxB,UAAU,EAAE,CAAC,IAAI,CAAC,CAAC;YACnB,OAAO;QACT,CAAC;QACD,IAAI,CAAC,MAAM,GAAG,SAAS,CAAC;QACxB,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAC5B,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,WAAW,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;YAC3C,IAAI,CAAC,MAAM,GAAG,SAAS,CAAC;YACxB,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YAC7B,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,GAAG,kBAAkB,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,kBAAkB,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC;YACtG,IAAI,IAAI,CAAC,GAAG;gBAAE,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC;YACzC,MAAM,CAAC,KAAK,CAAC,OAAO,KAAK,SAAS,EAAE,QAAQ,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,SAAS,KAAK,CAAC,CAAC;QACrF,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,IAAI,CAAC,MAAM,GAAG,QAAQ,CAAC;YACvB,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YAC7B,IAAI,CAAC,KAAK,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YAC9D,UAAU,KAAK,OAAO,EAAE,SAAS,IAAI,CAAC,KAAK,EAAE,CAAC;YAC9C,MAAM,CAAC,IAAI,CAAC,OAAO,KAAK,SAAS,EAAE,YAAY,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC;QAC/D,CAAC;gBAAS,CAAC;YACT,UAAU,EAAE,CAAC,IAAI,CAAC,CAAC;QACrB,CAAC;IACH,CAAC;IAED,OAAO;IACP,OAAO,IAAI,EAAE,CAAC;QACZ,IAAI,MAAM,CAAC,OAAO,IAAI,UAAU;YAAE,MAAM;QACxC,MAAM,KAAK,GAAG,CAAC,GAAG,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,IAAI,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAE,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC;QAC1G,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;YAAE,MAAM;QAC9B,MAAM,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QACnD,IAAI,UAAU,IAAI,MAAM,CAAC,OAAO;YAAE,MAAM;QACxC,oBAAoB;QACpB,KAAK,MAAM,CAAC,EAAE,CAAC,IAAI,KAAK,EAAE,CAAC;YACzB,MAAM,EAAE,GAAG,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAE,CAAC,MAAM,CAAC;YACpC,IAAI,EAAE,KAAK,SAAS,EAAE,CAAC;gBACrB,KAAK,MAAM,CAAC,IAAI,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,EAAE;oBAAE,KAAK,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAE,GAAG,CAAC,CAAC,CAAC;YACrE,CAAC;QACH,CAAC;IACH,CAAC;IAED,kBAAkB;IAClB,KAAK,MAAM,IAAI,IAAI,QAAQ,CAAC,MAAM,EAAE,EAAE,CAAC;QACrC,IAAI,IAAI,CAAC,MAAM,KAAK,SAAS;YAAE,IAAI,CAAC,MAAM,GAAG,SAAS,CAAC;IACzD,CAAC;IAED,MAAM,QAAQ,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAE,CAAC,CAAC;IACzD,IAAI,MAAM,CAAC,OAAO;QAAE,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,UAAU,IAAI,SAAS,EAAE,CAAC;IAC7G,IAAI,UAAU;QAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC;IACzF,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC;AACzD,CAAC"}
1
+ {"version":3,"file":"engine.js","sourceRoot":"","sources":["../src/engine.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -9,9 +9,13 @@ declare const _default: import("@aalis/core").PluginDefinition<{
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
+ /** 判调用者是不是 owner,定运行身份;缺席时判不出谁是 owner,调用者与定义者不是同一身份的按匿名 */
13
+ authority: import("@aalis/core").OptionalUse<import("@aalis/api-authority").AuthorityService, import("@aalis/api-authority").AuthorityService>;
12
14
  events: import("@aalis/core").ServiceDescriptor<(identity: symbol) => import("@aalis/core").Events, import("@aalis/core").Events>;
13
15
  /** agent 节点经 'agent:turn:after' 捕获本轮回复 */
14
16
  hooks: import("@aalis/core").ServiceDescriptor<import("@aalis/api-hooks").HookRegistry, import("@aalis/api-hooks").Hooks>;
17
+ /** agent 节点经它送达指令;缺席时 agent 节点失败 */
18
+ gateway: import("@aalis/core").OptionalUse<import("@aalis/api-gateway").GatewayService, import("@aalis/api-gateway").GatewayService>;
15
19
  lifecycle: import("@aalis/core").ServiceDescriptor<(identity: symbol) => import("@aalis/core").LifecycleCap, import("@aalis/core").LifecycleCap>;
16
20
  logger: import("@aalis/core").ServiceDescriptor<(identity: symbol) => import("@aalis/core").Logger, import("@aalis/core").Logger>;
17
21
  config: import("@aalis/core").ServiceDescriptor<(identity: symbol) => Readonly<Record<string, unknown>>, Readonly<Record<string, unknown>>>;
@@ -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,EAAE,KAAK,UAAU,EAA6B,MAAM,kBAAkB,CAAC;;IA2R5E,4CAA4C;;IAE5C,4BAA4B;;IAE5B,gCAAgC;;IAEhC,+BAA+B;;;IAG/B,0CAA0C;;;;;;;AAS5C,wBAWG"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAaA,OAAO,EAAkB,KAAK,UAAU,EAAS,MAAM,kBAAkB,CAAC;AAC1E,OAAO,EAAE,KAAK,UAAU,EAA6B,MAAM,kBAAkB,CAAC;;IA6V5E,4CAA4C;;IAE5C,4BAA4B;;IAE5B,gCAAgC;;IAEhC,+BAA+B;;IAE/B,2DAA2D;;;IAG3D,0CAA0C;;IAE1C,oCAAoC;;;;;;;AAStC,wBAWG"}