@ariaflowagents/core 0.5.1 → 0.5.2

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.
Files changed (63) hide show
  1. package/README.md +51 -1
  2. package/dist/flows/AgentFlowManager.d.ts +3 -1
  3. package/dist/flows/AgentFlowManager.d.ts.map +1 -1
  4. package/dist/flows/AgentFlowManager.js +34 -5
  5. package/dist/flows/AgentFlowManager.js.map +1 -1
  6. package/dist/flows/FlowManager.d.ts +22 -2
  7. package/dist/flows/FlowManager.d.ts.map +1 -1
  8. package/dist/flows/FlowManager.js +114 -21
  9. package/dist/flows/FlowManager.js.map +1 -1
  10. package/dist/flows/index.d.ts +1 -1
  11. package/dist/flows/index.d.ts.map +1 -1
  12. package/dist/flows/index.js +1 -1
  13. package/dist/flows/index.js.map +1 -1
  14. package/dist/flows/template.d.ts +13 -0
  15. package/dist/flows/template.d.ts.map +1 -0
  16. package/dist/flows/template.js +64 -0
  17. package/dist/flows/template.js.map +1 -0
  18. package/dist/flows/transitions.d.ts +4 -0
  19. package/dist/flows/transitions.d.ts.map +1 -1
  20. package/dist/flows/transitions.js +9 -0
  21. package/dist/flows/transitions.js.map +1 -1
  22. package/dist/index.d.ts +1 -1
  23. package/dist/index.d.ts.map +1 -1
  24. package/dist/index.js +1 -1
  25. package/dist/index.js.map +1 -1
  26. package/dist/processors/ProcessorRunner.d.ts +39 -0
  27. package/dist/processors/ProcessorRunner.d.ts.map +1 -0
  28. package/dist/processors/ProcessorRunner.js +47 -0
  29. package/dist/processors/ProcessorRunner.js.map +1 -0
  30. package/dist/runtime/InjectionQueue.d.ts +10 -0
  31. package/dist/runtime/InjectionQueue.d.ts.map +1 -1
  32. package/dist/runtime/InjectionQueue.js +14 -0
  33. package/dist/runtime/InjectionQueue.js.map +1 -1
  34. package/dist/runtime/Runtime.d.ts +13 -0
  35. package/dist/runtime/Runtime.d.ts.map +1 -1
  36. package/dist/runtime/Runtime.js +563 -67
  37. package/dist/runtime/Runtime.js.map +1 -1
  38. package/dist/tools/Tool.d.ts.map +1 -1
  39. package/dist/tools/Tool.js +11 -2
  40. package/dist/tools/Tool.js.map +1 -1
  41. package/dist/tools/handoff.d.ts +0 -1
  42. package/dist/tools/handoff.d.ts.map +1 -1
  43. package/dist/tools/handoff.js +6 -4
  44. package/dist/tools/handoff.js.map +1 -1
  45. package/dist/tools/http.d.ts +3 -3
  46. package/dist/tools/http.d.ts.map +1 -1
  47. package/dist/tools/http.js +4 -3
  48. package/dist/tools/http.js.map +1 -1
  49. package/dist/tools/http.types.d.ts.map +1 -1
  50. package/dist/types/index.d.ts +120 -1
  51. package/dist/types/index.d.ts.map +1 -1
  52. package/dist/types/index.js.map +1 -1
  53. package/dist/utils/chrono.d.ts +2 -2
  54. package/dist/utils/chrono.d.ts.map +1 -1
  55. package/dist/utils/chrono.js +4 -1
  56. package/dist/utils/chrono.js.map +1 -1
  57. package/guides/FLOWS.md +79 -0
  58. package/guides/GETTING_STARTED.md +58 -0
  59. package/guides/GUARDRAILS.md +85 -0
  60. package/guides/README.md +16 -0
  61. package/guides/RUNTIME.md +88 -0
  62. package/guides/TOOLS.md +66 -0
  63. package/package.json +4 -2
package/README.md CHANGED
@@ -8,6 +8,13 @@ AriaFlow core runtime and agent primitives for building structured, multi-agent
8
8
  npm install @ariaflowagents/core
9
9
  ```
10
10
 
11
+ ## Requirements
12
+
13
+ This package is built on top of the Vercel AI SDK v6.
14
+
15
+ - Peer deps: `ai@^6` and `zod@^3`
16
+ - Provider packages (example): `@ai-sdk/openai`
17
+
11
18
  ## Exports
12
19
 
13
20
  This package exports:
@@ -15,7 +22,8 @@ This package exports:
15
22
  - **Runtime:** `Runtime`, `createRuntime`
16
23
  - **Flows:** `FlowManager`, `FlowGraph`, `FlowNode`, `createFlowTransition`
17
24
  - **Session:** `SessionManager`, `SessionStore`, `MemoryStore`
18
- - **Tools:** `createTool`, `createHandoffTool`
25
+ - **Tools:** `createTool`, `createToolWithFiller`, `createHandoffTool`
26
+ - **System Injections:** `InjectionQueue`, `commonInjections`
19
27
  - **Prompts:** `PromptTemplateBuilder`, `PromptBuilder`
20
28
  - **Hooks:** `HookRunner`, `loggingHooks`, `createMetricsHooks`
21
29
  - **Guards:** `ToolEnforcer`, `StopConditions`
@@ -35,9 +43,12 @@ const supportAgent: AgentConfig = {
35
43
  name: 'Support Agent',
36
44
  systemPrompt: 'You are a helpful support agent that can help book appointments.',
37
45
  model: openai('gpt-4o-mini') as any,
46
+ type: 'llm',
38
47
  tools: {
39
48
  parse_date: dateParser,
40
49
  },
50
+ // Production default: non-triage agents cannot hand off unless explicitly configured.
51
+ canHandoffTo: [],
41
52
  };
42
53
 
43
54
  const runtime = new Runtime({
@@ -57,6 +68,45 @@ const run = async () => {
57
68
  run();
58
69
  ```
59
70
 
71
+ ## Routing & Handoffs (Important Defaults)
72
+
73
+ AriaFlow supports invisible multi-agent routing via a `handoff` tool.
74
+
75
+ - A `TriageAgent` can route to specialists via `handoff`.
76
+ - **Production default:** non-triage agents only get the `handoff` tool if you explicitly set `canHandoffTo`.
77
+
78
+ Example:
79
+
80
+ ```ts
81
+ const support: AgentConfig = {
82
+ id: 'support',
83
+ name: 'Support',
84
+ type: 'llm',
85
+ systemPrompt: 'General support agent.',
86
+ model: openai('gpt-4o-mini') as any,
87
+ // This agent may route to booking and billing specialists.
88
+ canHandoffTo: ['booking', 'billing'],
89
+ };
90
+ ```
91
+
92
+ Note: the runtime stream includes internal events like `{ type: 'handoff', ... }`. If you are building a UI transcript, do not render these internal events directly to end users.
93
+
94
+ ## Built-in System Guardrails
95
+
96
+ The `Runtime` injects a small set of system-level instructions by default (e.g. “no secrets” and “invisible handoffs”) to reduce prompt-injection leakage and prevent user-visible routing language.
97
+
98
+ These are defense-in-depth guardrails. You should still treat tool inputs/outputs and webhook callbacks as sensitive, and filter what you expose to end users.
99
+
100
+ ## Guides
101
+
102
+ Guides live in `packages/ariaflow-core/guides/`:
103
+
104
+ - `GETTING_STARTED.md`
105
+ - `RUNTIME.md`
106
+ - `FLOWS.md`
107
+ - `TOOLS.md`
108
+ - `GUARDRAILS.md`
109
+
60
110
  ## Related Packages
61
111
 
62
112
  AriaFlow provides additional packages for specific deployment targets:
@@ -36,12 +36,13 @@ export interface FlowNodeConfig {
36
36
  description?: string;
37
37
  rolePrompt?: string;
38
38
  taskPrompt: string;
39
- tools?: ToolSet;
39
+ tools?: ToolSet | ((context: FlowContext) => ToolSet);
40
40
  preActions?: FlowAction[];
41
41
  postActions?: FlowAction[];
42
42
  contextStrategy?: ContextStrategyConfig;
43
43
  autoRespond?: boolean;
44
44
  maxTurns?: number;
45
+ maxSteps?: number;
45
46
  }
46
47
  export interface FlowContext {
47
48
  state: Record<string, unknown>;
@@ -153,6 +154,7 @@ export declare class AgentFlowManager {
153
154
  private applyContextStrategy;
154
155
  private generateSummary;
155
156
  private runActions;
157
+ private normalizeMessage;
156
158
  static create(config: FlowManagerConfig, sessionId: string, userId?: string): AgentFlowManager;
157
159
  static restore(config: FlowManagerConfig, savedContext: FlowContext): AgentFlowManager;
158
160
  }
@@ -1 +1 @@
1
- {"version":3,"file":"AgentFlowManager.d.ts","sourceRoot":"","sources":["../../src/flows/AgentFlowManager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"AgentFlowManager.d.ts","sourceRoot":"","sources":["../../src/flows/AgentFlowManager.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,7 @@
1
1
  import { streamText, generateText } from 'ai';
2
2
  import { createFlowTransition, isFlowTransition } from './transitions.js';
3
3
  import { isFinalResult } from '../tools/final.js';
4
+ import { renderFlowTemplate } from './template.js';
4
5
  export var ContextStrategy;
5
6
  (function (ContextStrategy) {
6
7
  ContextStrategy["APPEND"] = "append";
@@ -225,19 +226,20 @@ export class AgentFlowManager {
225
226
  return;
226
227
  const node = this.currentNode;
227
228
  const systemPrompt = this.buildSystemPrompt(node);
229
+ const resolvedNodeTools = typeof node.tools === 'function' ? node.tools(this.context) : node.tools;
228
230
  const tools = {
229
231
  ...this.config.globalTools,
230
- ...node.tools,
232
+ ...(resolvedNodeTools ?? {}),
231
233
  };
232
234
  await this.config.hooks?.onBeforeInference?.(this.context, node);
233
235
  const streamConfig = {
234
236
  model: this.config.model,
235
237
  system: systemPrompt,
236
238
  tools,
237
- maxSteps: 25,
239
+ maxSteps: node.maxSteps ?? 25,
238
240
  };
239
241
  if (this.context.messages.length === 0) {
240
- streamConfig.prompt = node.taskPrompt;
242
+ streamConfig.prompt = renderFlowTemplate(node.taskPrompt, this.context.collectedData, { missing: 'keep' });
241
243
  }
242
244
  else {
243
245
  streamConfig.messages = this.context.messages;
@@ -293,7 +295,12 @@ export class AgentFlowManager {
293
295
  this.context.messages.push({ role: 'assistant', content: finalResult.text });
294
296
  }
295
297
  else {
296
- this.context.messages.push(...response.messages);
298
+ for (const message of response.messages) {
299
+ const normalized = this.normalizeMessage(message);
300
+ if (normalized) {
301
+ this.context.messages.push(normalized);
302
+ }
303
+ }
297
304
  }
298
305
  if (!finalResult && !pendingTransition && responseText.trim().length === 0 && pendingToolMessage) {
299
306
  responseText = pendingToolMessage;
@@ -342,6 +349,7 @@ export class AgentFlowManager {
342
349
  }
343
350
  buildSystemPrompt(node) {
344
351
  const rolePrompt = node.rolePrompt ?? this.config.defaultRolePrompt ?? '';
352
+ const renderedTask = renderFlowTemplate(node.taskPrompt, this.context.collectedData, { missing: 'keep' });
345
353
  const dataKeys = Object.keys(this.context.collectedData);
346
354
  const stateContext = dataKeys.length > 0
347
355
  ? `\n\n## Collected Information\n${JSON.stringify(this.context.collectedData, null, 2)}`
@@ -349,7 +357,7 @@ export class AgentFlowManager {
349
357
  const historyContext = this.context.nodeHistory.length > 1
350
358
  ? `\n\n## Progress\n${this.context.nodeHistory.slice(0, -1).join(' -> ')} -> **${node.name}**`
351
359
  : '';
352
- return `${rolePrompt}\n\n## Current Task\n${node.taskPrompt}${stateContext}${historyContext}\n\n## Instructions\n- Focus ONLY on the current task\n- Use the available tools to progress the conversation\n- Do not attempt tasks outside your current scope`;
360
+ return `${rolePrompt}\n\n## Current Task\n${renderedTask}${stateContext}${historyContext}\n\n## Instructions\n- Focus ONLY on the current task\n- Use the available tools to progress the conversation\n- Do not attempt tasks outside your current scope`;
353
361
  }
354
362
  async applyContextStrategy(node) {
355
363
  const strategyConfig = node.contextStrategy
@@ -405,6 +413,27 @@ export class AgentFlowManager {
405
413
  }
406
414
  }
407
415
  }
416
+ normalizeMessage(message) {
417
+ const role = message.role;
418
+ if (role === 'tool') {
419
+ return null;
420
+ }
421
+ const content = message.content;
422
+ if (typeof content === 'string') {
423
+ return message;
424
+ }
425
+ if (Array.isArray(content)) {
426
+ const text = content
427
+ .map((p) => (p && typeof p === 'object' && p.type === 'text' ? String(p.text ?? '') : ''))
428
+ .join('')
429
+ .trim();
430
+ if (text.length === 0) {
431
+ return null;
432
+ }
433
+ return { role, content: text };
434
+ }
435
+ return null;
436
+ }
408
437
  static create(config, sessionId, userId) {
409
438
  return new AgentFlowManager(config, sessionId, userId);
410
439
  }
@@ -1 +1 @@
1
- {"version":3,"file":"AgentFlowManager.js","sourceRoot":"","sources":["../../src/flows/AgentFlowManager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"AgentFlowManager.js","sourceRoot":"","sources":["../../src/flows/AgentFlowManager.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import { type LanguageModel, type ModelMessage, type TelemetrySettings } from 'ai';
2
- import type { AgentStreamPart, FlowConfig, FlowManagerState } from '../types/index.js';
2
+ import type { AgentStreamPart, FlowConfig, FlowManagerState, FlowNodeConfig } from '../types/index.js';
3
3
  export interface FlowManagerConfig {
4
4
  flow: FlowConfig;
5
5
  initialNode: string;
@@ -9,6 +9,22 @@ export interface FlowManagerConfig {
9
9
  sessionMessages?: ModelMessage[];
10
10
  state?: FlowManagerState;
11
11
  telemetry?: TelemetrySettings;
12
+ /** Default maxSteps for streamText tool loop. */
13
+ maxSteps?: number;
14
+ /**
15
+ * Optional tool-call guard executed before a tool's execute() runs.
16
+ * If it returns {allowed:false}, the tool execution is blocked by throwing,
17
+ * which surfaces as a `tool-error` in the AI SDK stream.
18
+ */
19
+ toolCallGuard?: (call: {
20
+ toolName: string;
21
+ args: unknown;
22
+ }) => Promise<{
23
+ allowed: true;
24
+ } | {
25
+ allowed: false;
26
+ reason: string;
27
+ }>;
12
28
  }
13
29
  export declare class FlowManager {
14
30
  private config;
@@ -26,7 +42,8 @@ export declare class FlowManager {
26
42
  appendUserToSession?: boolean;
27
43
  }): AsyncGenerator<AgentStreamPart>;
28
44
  transitionTo(nodeId: string, data?: Record<string, unknown>): Promise<void>;
29
- transitionToGenerator(nodeId: string, data?: Record<string, unknown>): AsyncGenerator<AgentStreamPart>;
45
+ transitionToNode(node: FlowNodeConfig, data?: Record<string, unknown>): Promise<void>;
46
+ transitionToGenerator(nodeId: string, data?: Record<string, unknown>, dynamicNode?: FlowNodeConfig): AsyncGenerator<AgentStreamPart>;
30
47
  get collectedData(): Record<string, unknown>;
31
48
  get currentNode(): string | undefined;
32
49
  get hasEnded(): boolean;
@@ -35,7 +52,10 @@ export declare class FlowManager {
35
52
  private buildSystemPrompt;
36
53
  private applyContextStrategy;
37
54
  private generateSummary;
55
+ private resolveTools;
56
+ private wrapTools;
38
57
  private appendMessage;
58
+ private normalizeMessage;
39
59
  private runActions;
40
60
  private evaluateTransitions;
41
61
  }
@@ -1 +1 @@
1
- {"version":3,"file":"FlowManager.d.ts","sourceRoot":"","sources":["../../src/flows/FlowManager.ts"],"names":[],"mappings":"AAAA,OAAO,EAA4B,KAAK,aAAa,EAAE,KAAK,YAAY,EAAgB,KAAK,iBAAiB,EAAE,MAAM,IAAI,CAAC;AAC3H,OAAO,KAAK,EACV,eAAe,EAGf,UAAU,EAEV,gBAAgB,EAGjB,MAAM,mBAAmB,CAAC;AAK3B,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,UAAU,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,aAAa,CAAC;IACrB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,eAAe,CAAC,EAAE,YAAY,EAAE,CAAC;IACjC,eAAe,CAAC,EAAE,YAAY,EAAE,CAAC;IACjC,KAAK,CAAC,EAAE,gBAAgB,CAAC;IACzB,SAAS,CAAC,EAAE,iBAAiB,CAAC;CAC/B;AAID,qBAAa,WAAW;IAUV,OAAO,CAAC,MAAM;IAT1B,OAAO,CAAC,KAAK,CAAqC;IAClD,OAAO,CAAC,WAAW,CAA6C;IAChE,OAAO,CAAC,OAAO,CAAc;IAC7B,OAAO,CAAC,iBAAiB,CAA+B;IACxD,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,aAAa,CAAsB;IAC3C,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,eAAe,CAAC,CAAiB;gBAErB,MAAM,EAAE,iBAAiB;IA+BtC,UAAU,IAAI,cAAc,CAAC,eAAe,CAAC;IAa7C,OAAO,CACZ,SAAS,EAAE,MAAM,EACjB,OAAO,GAAE;QAAE,mBAAmB,CAAC,EAAE,OAAO,CAAA;KAAO,GAC9C,cAAc,CAAC,eAAe,CAAC;IAgC5B,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAM1E,qBAAqB,CAC1B,MAAM,EAAE,MAAM,EACd,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC7B,cAAc,CAAC,eAAe,CAAC;IA8BlC,IAAI,aAAa,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAE3C;IAED,IAAI,WAAW,IAAI,MAAM,GAAG,SAAS,CAEpC;IAED,IAAI,QAAQ,IAAI,OAAO,CAEtB;IAED,QAAQ,IAAI,gBAAgB;YAQb,YAAY;IA8N3B,OAAO,CAAC,iBAAiB;YAuBX,oBAAoB;YAqBpB,eAAe;IAa7B,OAAO,CAAC,aAAa;YAON,UAAU;YAsBX,mBAAmB;CA8BlC"}
1
+ {"version":3,"file":"FlowManager.d.ts","sourceRoot":"","sources":["../../src/flows/FlowManager.ts"],"names":[],"mappings":"AAAA,OAAO,EAA4B,KAAK,aAAa,EAAE,KAAK,YAAY,EAAgB,KAAK,iBAAiB,EAAE,MAAM,IAAI,CAAC;AAC3H,OAAO,KAAK,EACV,eAAe,EAGf,UAAU,EAEV,gBAAgB,EAChB,cAAc,EAEf,MAAM,mBAAmB,CAAC;AAM3B,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,UAAU,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,aAAa,CAAC;IACrB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,eAAe,CAAC,EAAE,YAAY,EAAE,CAAC;IACjC,eAAe,CAAC,EAAE,YAAY,EAAE,CAAC;IACjC,KAAK,CAAC,EAAE,gBAAgB,CAAC;IACzB,SAAS,CAAC,EAAE,iBAAiB,CAAC;IAC9B,iDAAiD;IACjD,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;;;OAIG;IACH,aAAa,CAAC,EAAE,CAAC,IAAI,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,OAAO,CAAA;KAAE,KAAK,OAAO,CAAC;QAAE,OAAO,EAAE,IAAI,CAAA;KAAE,GAAG;QAAE,OAAO,EAAE,KAAK,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CAChI;AAID,qBAAa,WAAW;IAUV,OAAO,CAAC,MAAM;IAT1B,OAAO,CAAC,KAAK,CAAqC;IAClD,OAAO,CAAC,WAAW,CAA6C;IAChE,OAAO,CAAC,OAAO,CAAc;IAC7B,OAAO,CAAC,iBAAiB,CAA+B;IACxD,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,aAAa,CAAsB;IAC3C,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,eAAe,CAAC,CAAiB;gBAErB,MAAM,EAAE,iBAAiB;IA+BtC,UAAU,IAAI,cAAc,CAAC,eAAe,CAAC;IAa7C,OAAO,CACZ,SAAS,EAAE,MAAM,EACjB,OAAO,GAAE;QAAE,mBAAmB,CAAC,EAAE,OAAO,CAAA;KAAO,GAC9C,cAAc,CAAC,eAAe,CAAC;IAgC5B,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAM3E,gBAAgB,CAAC,IAAI,EAAE,cAAc,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAMpF,qBAAqB,CAC1B,MAAM,EAAE,MAAM,EACd,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAE9B,WAAW,CAAC,EAAE,cAAc,GAC3B,cAAc,CAAC,eAAe,CAAC;IAkClC,IAAI,aAAa,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAE3C;IAED,IAAI,WAAW,IAAI,MAAM,GAAG,SAAS,CAEpC;IAED,IAAI,QAAQ,IAAI,OAAO,CAEtB;IAED,QAAQ,IAAI,gBAAgB;YAQb,YAAY;IAsP3B,OAAO,CAAC,iBAAiB;YAwBX,oBAAoB;YAqBpB,eAAe;IAiB7B,OAAO,CAAC,YAAY;IAQpB,OAAO,CAAC,SAAS;IA0BjB,OAAO,CAAC,aAAa;IAWrB,OAAO,CAAC,gBAAgB;YA2BT,UAAU;YAsBX,mBAAmB;CA8BlC"}
@@ -2,6 +2,7 @@ import { streamText, generateText } from 'ai';
2
2
  import { isFlowTransition, isFlowUpdate } from './transitions.js';
3
3
  import { isHandoffResult } from '../tools/handoff.js';
4
4
  import { isFinalResult } from '../tools/final.js';
5
+ import { compileSanitizePattern, renderNodePrompt } from './template.js';
5
6
  export class FlowManager {
6
7
  config;
7
8
  nodes = new Map();
@@ -78,7 +79,15 @@ export class FlowManager {
78
79
  // consume parts
79
80
  }
80
81
  }
81
- async *transitionToGenerator(nodeId, data) {
82
+ async transitionToNode(node, data) {
83
+ for await (const _part of this.transitionToGenerator(node.id, data, node)) {
84
+ // consume parts
85
+ }
86
+ }
87
+ async *transitionToGenerator(nodeId, data, dynamicNode) {
88
+ if (!this.nodes.has(nodeId) && dynamicNode) {
89
+ this.nodes.set(nodeId, dynamicNode);
90
+ }
82
91
  const nextNode = this.nodes.get(nodeId);
83
92
  if (!nextNode) {
84
93
  throw new Error(`Node "${nodeId}" not found`);
@@ -123,26 +132,26 @@ export class FlowManager {
123
132
  }
124
133
  const node = this.currentNodeConfig;
125
134
  const systemPrompt = this.buildSystemPrompt(node);
126
- const tools = {
127
- ...(node.tools ?? {}),
128
- };
135
+ const tools = this.resolveTools(node);
136
+ const maxSteps = node.maxSteps ?? this.config.maxSteps ?? this.config.flow.maxSteps ?? 25;
129
137
  const streamConfig = {
130
138
  model: this.config.model,
131
139
  system: systemPrompt,
132
140
  tools,
133
- maxSteps: 25,
141
+ maxSteps,
134
142
  experimental_telemetry: this.config.telemetry,
135
143
  };
136
144
  // On first turn of a node (after context reset), use the node's prompt as the user message
137
145
  // This respects the flow design without auto-generating greetings
138
146
  if (this.context.messages.length === 0) {
139
- streamConfig.prompt = node.prompt;
147
+ streamConfig.prompt = renderNodePrompt(node.prompt, this.context);
140
148
  }
141
149
  else {
142
150
  streamConfig.messages = this.context.messages;
143
151
  }
144
152
  const result = streamText(streamConfig);
145
- const shouldBuffer = node.id === 'process-payment';
153
+ const outputMode = node.output?.mode ?? 'stream';
154
+ const shouldBuffer = outputMode === 'buffer';
146
155
  let responseText = '';
147
156
  let bufferedOutputEmitted = false;
148
157
  let pendingTransition = null;
@@ -186,6 +195,11 @@ export class FlowManager {
186
195
  if (toolResult.data && typeof toolResult.data === 'object') {
187
196
  Object.assign(this.context.collectedData, toolResult.data);
188
197
  }
198
+ if (Array.isArray(toolResult.missing) && toolResult.missing.length > 0 &&
199
+ (!toolResult.message || toolResult.message.trim().length === 0) &&
200
+ responseText.trim().length === 0) {
201
+ pendingToolMessage = `I still need: ${toolResult.missing.join(', ')}.`;
202
+ }
189
203
  if (typeof toolResult.message === 'string' &&
190
204
  toolResult.message.trim().length > 0 &&
191
205
  responseText.trim().length === 0) {
@@ -197,6 +211,7 @@ export class FlowManager {
197
211
  pendingTransition = {
198
212
  targetNode: toolResult.targetNode,
199
213
  data: toolResult.data,
214
+ node: toolResult.node,
200
215
  };
201
216
  }
202
217
  if (isHandoffResult(toolResult)) {
@@ -214,12 +229,26 @@ export class FlowManager {
214
229
  pendingToolMessage = toolResult.message;
215
230
  }
216
231
  }
232
+ if (chunk.type === 'tool-error') {
233
+ const errText = typeof chunk.error === 'string'
234
+ ? chunk.error
235
+ : chunk.error?.message ?? 'Tool execution error';
236
+ yield {
237
+ type: 'tool-error',
238
+ toolName: chunk.toolName,
239
+ error: errText,
240
+ toolCallId: chunk.toolCallId,
241
+ };
242
+ }
217
243
  }
218
244
  const response = await result.response;
219
- const needsSanitize = shouldBuffer && /card number|cvv|cvc|expiration|expiry|expir|paypal/i.test(responseText);
220
- const safePaymentText = needsSanitize
221
- ? `I can process a card payment, but I don't collect card numbers or CVV. Please confirm you authorize the payment amount${typeof this.context.collectedData.amount === 'number' ? ` of $${this.context.collectedData.amount}` : ''}, and I'll proceed.`
222
- : responseText;
245
+ let safeText = responseText;
246
+ if (shouldBuffer && node.output?.sanitize?.pattern && node.output?.sanitize?.message) {
247
+ const re = compileSanitizePattern(node.output.sanitize.pattern);
248
+ if (re.test(responseText)) {
249
+ safeText = node.output.sanitize.message;
250
+ }
251
+ }
223
252
  if (finalResult) {
224
253
  this.appendMessage({ role: 'assistant', content: finalResult.text });
225
254
  }
@@ -228,7 +257,7 @@ export class FlowManager {
228
257
  for (const message of response.messages) {
229
258
  if (message.role === 'assistant' && typeof message.content === 'string') {
230
259
  if (!appendedAssistant) {
231
- this.appendMessage({ role: 'assistant', content: safePaymentText });
260
+ this.appendMessage({ role: 'assistant', content: safeText });
232
261
  appendedAssistant = true;
233
262
  }
234
263
  continue;
@@ -236,7 +265,7 @@ export class FlowManager {
236
265
  this.appendMessage(message);
237
266
  }
238
267
  if (!appendedAssistant) {
239
- this.appendMessage({ role: 'assistant', content: safePaymentText });
268
+ this.appendMessage({ role: 'assistant', content: safeText });
240
269
  }
241
270
  }
242
271
  else {
@@ -280,7 +309,7 @@ export class FlowManager {
280
309
  }
281
310
  }
282
311
  if (!finalResult && shouldBuffer && responseText.trim().length > 0 && !bufferedOutputEmitted) {
283
- yield { type: 'text-delta', text: safePaymentText };
312
+ yield { type: 'text-delta', text: safeText };
284
313
  }
285
314
  if (finalResult) {
286
315
  this.flowEnded = true;
@@ -299,7 +328,7 @@ export class FlowManager {
299
328
  }
300
329
  const nextTransition = pendingTransition ?? (await this.evaluateTransitions());
301
330
  if (nextTransition) {
302
- yield* this.transitionToGenerator(nextTransition.targetNode, nextTransition.data);
331
+ yield* this.transitionToGenerator(nextTransition.targetNode, nextTransition.data, nextTransition.node);
303
332
  if (this.currentNodeConfig?.autoRespond !== false) {
304
333
  yield* this.runInference();
305
334
  }
@@ -311,6 +340,7 @@ export class FlowManager {
311
340
  }
312
341
  buildSystemPrompt(node) {
313
342
  const rolePrompt = this.config.defaultRolePrompt ?? this.config.flow.defaultRolePrompt ?? '';
343
+ const renderedPrompt = renderNodePrompt(node.prompt, this.context);
314
344
  const dataKeys = Object.keys(this.context.collectedData);
315
345
  const dataContext = dataKeys.length > 0
316
346
  ? `\n\n## Collected Information\n${JSON.stringify(this.context.collectedData, null, 2)}`
@@ -321,7 +351,7 @@ export class FlowManager {
321
351
  return `${rolePrompt}
322
352
 
323
353
  ## Current Task
324
- ${node.prompt}${dataContext}${historyContext}
354
+ ${renderedPrompt}${dataContext}${historyContext}
325
355
 
326
356
  ## Instructions
327
357
  - Focus only on the current task
@@ -336,7 +366,7 @@ ${node.prompt}${dataContext}${historyContext}
336
366
  break;
337
367
  case 'reset_with_summary':
338
368
  if (this.context.messages.length > 0) {
339
- const summary = await this.generateSummary();
369
+ const summary = await this.generateSummary(node);
340
370
  this.context.messages = [
341
371
  { role: 'system', content: `Previous conversation summary: ${summary}` },
342
372
  ];
@@ -347,21 +377,84 @@ ${node.prompt}${dataContext}${historyContext}
347
377
  break;
348
378
  }
349
379
  }
350
- async generateSummary() {
351
- const prompt = 'Summarize the key points from this conversation in 2-3 sentences.';
380
+ async generateSummary(node) {
381
+ const prompt = node.summaryPrompt
382
+ ?? this.config.flow.summaryPrompt
383
+ ?? 'Summarize the key points from this conversation in 2-3 sentences.';
384
+ const maxTokens = node.summaryMaxTokens ?? this.config.flow.summaryMaxTokens;
352
385
  const result = await generateText({
353
386
  model: this.config.model,
354
387
  system: prompt,
355
388
  messages: this.context.messages,
389
+ ...(typeof maxTokens === 'number' ? { maxTokens } : {}),
356
390
  experimental_telemetry: this.config.telemetry,
357
391
  });
358
392
  return result.text;
359
393
  }
394
+ resolveTools(node) {
395
+ if (!node.tools)
396
+ return {};
397
+ if (typeof node.tools === 'function') {
398
+ return this.wrapTools(node.tools(this.context) ?? {});
399
+ }
400
+ return this.wrapTools(node.tools);
401
+ }
402
+ wrapTools(tools) {
403
+ const guard = this.config.toolCallGuard;
404
+ if (!guard)
405
+ return tools;
406
+ const wrapped = {};
407
+ for (const [toolName, toolDef] of Object.entries(tools ?? {})) {
408
+ const exec = toolDef?.execute;
409
+ if (typeof exec !== 'function') {
410
+ wrapped[toolName] = toolDef;
411
+ continue;
412
+ }
413
+ wrapped[toolName] = {
414
+ ...toolDef,
415
+ execute: async (args) => {
416
+ const decision = await guard({ toolName, args });
417
+ if (!decision.allowed) {
418
+ throw new Error(decision.reason || 'Tool call blocked');
419
+ }
420
+ return exec(args);
421
+ },
422
+ };
423
+ }
424
+ return wrapped;
425
+ }
360
426
  appendMessage(message, persistToSession = true) {
361
- this.context.messages.push(message);
427
+ const normalized = this.normalizeMessage(message);
428
+ if (!normalized) {
429
+ return;
430
+ }
431
+ this.context.messages.push(normalized);
362
432
  if (persistToSession && this.sessionMessages && this.sessionMessages !== this.context.messages) {
363
- this.sessionMessages.push(message);
433
+ this.sessionMessages.push(normalized);
434
+ }
435
+ }
436
+ normalizeMessage(message) {
437
+ // Keep only simple string messages in history to avoid provider-specific structured parts
438
+ // causing failures on subsequent turns. Tool results are already reflected in collectedData.
439
+ const role = message.role;
440
+ if (role === 'tool') {
441
+ return null;
364
442
  }
443
+ const content = message.content;
444
+ if (typeof content === 'string') {
445
+ return message;
446
+ }
447
+ if (Array.isArray(content)) {
448
+ const text = content
449
+ .map((p) => (p && typeof p === 'object' && p.type === 'text' ? String(p.text ?? '') : ''))
450
+ .join('')
451
+ .trim();
452
+ if (text.length === 0) {
453
+ return null;
454
+ }
455
+ return { role, content: text };
456
+ }
457
+ return null;
365
458
  }
366
459
  async *runActions(actions) {
367
460
  for (const action of actions) {