@ariaflowagents/core 0.7.0 → 0.8.1

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 (228) hide show
  1. package/README.md +90 -1
  2. package/dist/agents/Agent.d.ts +188 -9
  3. package/dist/agents/Agent.d.ts.map +1 -1
  4. package/dist/agents/Agent.js +246 -24
  5. package/dist/agents/Agent.js.map +1 -1
  6. package/dist/agents/CompositeAgent.d.ts +4 -3
  7. package/dist/agents/CompositeAgent.d.ts.map +1 -1
  8. package/dist/agents/CompositeAgent.js +19 -9
  9. package/dist/agents/CompositeAgent.js.map +1 -1
  10. package/dist/agents/FlowAgent.d.ts +3 -2
  11. package/dist/agents/FlowAgent.d.ts.map +1 -1
  12. package/dist/agents/FlowAgent.js +16 -6
  13. package/dist/agents/FlowAgent.js.map +1 -1
  14. package/dist/agents/TriageAgent.d.ts +8 -2
  15. package/dist/agents/TriageAgent.d.ts.map +1 -1
  16. package/dist/agents/TriageAgent.js +39 -6
  17. package/dist/agents/TriageAgent.js.map +1 -1
  18. package/dist/agents/index.d.ts +1 -1
  19. package/dist/agents/index.d.ts.map +1 -1
  20. package/dist/agents/index.js +0 -1
  21. package/dist/agents/index.js.map +1 -1
  22. package/dist/flows/FlowManager.d.ts +8 -0
  23. package/dist/flows/FlowManager.d.ts.map +1 -1
  24. package/dist/flows/FlowManager.js +38 -4
  25. package/dist/flows/FlowManager.js.map +1 -1
  26. package/dist/flows/template.d.ts +2 -2
  27. package/dist/flows/template.d.ts.map +1 -1
  28. package/dist/flows/template.js +13 -0
  29. package/dist/flows/template.js.map +1 -1
  30. package/dist/foundation/AgentDefinition.d.ts +18 -0
  31. package/dist/foundation/AgentDefinition.d.ts.map +1 -0
  32. package/dist/foundation/AgentDefinition.js +2 -0
  33. package/dist/foundation/AgentDefinition.js.map +1 -0
  34. package/dist/foundation/AgentStateController.d.ts +26 -0
  35. package/dist/foundation/AgentStateController.d.ts.map +1 -0
  36. package/dist/foundation/AgentStateController.js +2 -0
  37. package/dist/foundation/AgentStateController.js.map +1 -0
  38. package/dist/foundation/ConversationEventLog.d.ts +72 -0
  39. package/dist/foundation/ConversationEventLog.d.ts.map +1 -0
  40. package/dist/foundation/ConversationEventLog.js +2 -0
  41. package/dist/foundation/ConversationEventLog.js.map +1 -0
  42. package/dist/foundation/ConversationState.d.ts +31 -0
  43. package/dist/foundation/ConversationState.d.ts.map +1 -0
  44. package/dist/foundation/ConversationState.js +2 -0
  45. package/dist/foundation/ConversationState.js.map +1 -0
  46. package/dist/foundation/DefaultAgentStateController.d.ts +24 -0
  47. package/dist/foundation/DefaultAgentStateController.d.ts.map +1 -0
  48. package/dist/foundation/DefaultAgentStateController.js +49 -0
  49. package/dist/foundation/DefaultAgentStateController.js.map +1 -0
  50. package/dist/foundation/DefaultConversationEventLog.d.ts +28 -0
  51. package/dist/foundation/DefaultConversationEventLog.d.ts.map +1 -0
  52. package/dist/foundation/DefaultConversationEventLog.js +195 -0
  53. package/dist/foundation/DefaultConversationEventLog.js.map +1 -0
  54. package/dist/foundation/DefaultConversationState.d.ts +34 -0
  55. package/dist/foundation/DefaultConversationState.d.ts.map +1 -0
  56. package/dist/foundation/DefaultConversationState.js +100 -0
  57. package/dist/foundation/DefaultConversationState.js.map +1 -0
  58. package/dist/foundation/DefaultToolExecutor.d.ts +58 -0
  59. package/dist/foundation/DefaultToolExecutor.d.ts.map +1 -0
  60. package/dist/foundation/DefaultToolExecutor.js +128 -0
  61. package/dist/foundation/DefaultToolExecutor.js.map +1 -0
  62. package/dist/foundation/ToolExecutor.d.ts +44 -0
  63. package/dist/foundation/ToolExecutor.d.ts.map +1 -0
  64. package/dist/foundation/ToolExecutor.js +2 -0
  65. package/dist/foundation/ToolExecutor.js.map +1 -0
  66. package/dist/foundation/createFoundation.d.ts +33 -0
  67. package/dist/foundation/createFoundation.d.ts.map +1 -0
  68. package/dist/foundation/createFoundation.js +34 -0
  69. package/dist/foundation/createFoundation.js.map +1 -0
  70. package/dist/foundation/index.d.ts +15 -0
  71. package/dist/foundation/index.d.ts.map +1 -0
  72. package/dist/foundation/index.js +8 -0
  73. package/dist/foundation/index.js.map +1 -0
  74. package/dist/hooks/HookRunner.d.ts +2 -0
  75. package/dist/hooks/HookRunner.d.ts.map +1 -1
  76. package/dist/hooks/HookRunner.js +4 -0
  77. package/dist/hooks/HookRunner.js.map +1 -1
  78. package/dist/index.d.ts +13 -2
  79. package/dist/index.d.ts.map +1 -1
  80. package/dist/index.js +9 -1
  81. package/dist/index.js.map +1 -1
  82. package/dist/memory/MemoryService.d.ts +40 -0
  83. package/dist/memory/MemoryService.d.ts.map +1 -0
  84. package/dist/memory/MemoryService.js +2 -0
  85. package/dist/memory/MemoryService.js.map +1 -0
  86. package/dist/memory/index.d.ts +5 -0
  87. package/dist/memory/index.d.ts.map +1 -0
  88. package/dist/memory/index.js +3 -0
  89. package/dist/memory/index.js.map +1 -0
  90. package/dist/memory/preloadMemory.d.ts +17 -0
  91. package/dist/memory/preloadMemory.d.ts.map +1 -0
  92. package/dist/memory/preloadMemory.js +62 -0
  93. package/dist/memory/preloadMemory.js.map +1 -0
  94. package/dist/memory/stores/InMemoryMemoryService.d.ts +20 -0
  95. package/dist/memory/stores/InMemoryMemoryService.d.ts.map +1 -0
  96. package/dist/memory/stores/InMemoryMemoryService.js +92 -0
  97. package/dist/memory/stores/InMemoryMemoryService.js.map +1 -0
  98. package/dist/memory/types.d.ts +49 -0
  99. package/dist/memory/types.d.ts.map +1 -0
  100. package/dist/memory/types.js +8 -0
  101. package/dist/memory/types.js.map +1 -0
  102. package/dist/prompts/AgentPrompt.d.ts +110 -0
  103. package/dist/prompts/AgentPrompt.d.ts.map +1 -0
  104. package/dist/prompts/AgentPrompt.js +373 -0
  105. package/dist/prompts/AgentPrompt.js.map +1 -0
  106. package/dist/prompts/PromptAssembly.d.ts +119 -0
  107. package/dist/prompts/PromptAssembly.d.ts.map +1 -0
  108. package/dist/prompts/PromptAssembly.js +150 -0
  109. package/dist/prompts/PromptAssembly.js.map +1 -0
  110. package/dist/prompts/PromptBuilder.d.ts +22 -3
  111. package/dist/prompts/PromptBuilder.d.ts.map +1 -1
  112. package/dist/prompts/PromptBuilder.js +242 -13
  113. package/dist/prompts/PromptBuilder.js.map +1 -1
  114. package/dist/prompts/PromptRenderer.d.ts +43 -0
  115. package/dist/prompts/PromptRenderer.d.ts.map +1 -0
  116. package/dist/prompts/PromptRenderer.js +114 -0
  117. package/dist/prompts/PromptRenderer.js.map +1 -0
  118. package/dist/prompts/brandVoice.d.ts +10 -0
  119. package/dist/prompts/brandVoice.d.ts.map +1 -0
  120. package/dist/prompts/brandVoice.js +87 -0
  121. package/dist/prompts/brandVoice.js.map +1 -0
  122. package/dist/prompts/index.d.ts +11 -4
  123. package/dist/prompts/index.d.ts.map +1 -1
  124. package/dist/prompts/index.js +7 -2
  125. package/dist/prompts/index.js.map +1 -1
  126. package/dist/prompts/security.d.ts +5 -0
  127. package/dist/prompts/security.d.ts.map +1 -0
  128. package/dist/prompts/security.js +52 -0
  129. package/dist/prompts/security.js.map +1 -0
  130. package/dist/prompts/types.d.ts +65 -1
  131. package/dist/prompts/types.d.ts.map +1 -1
  132. package/dist/prompts/types.js +26 -0
  133. package/dist/prompts/types.js.map +1 -1
  134. package/dist/runtime/ContextBudget.d.ts +57 -0
  135. package/dist/runtime/ContextBudget.d.ts.map +1 -0
  136. package/dist/runtime/ContextBudget.js +103 -0
  137. package/dist/runtime/ContextBudget.js.map +1 -0
  138. package/dist/runtime/ContextManager.d.ts +8 -5
  139. package/dist/runtime/ContextManager.d.ts.map +1 -1
  140. package/dist/runtime/ContextManager.js +47 -14
  141. package/dist/runtime/ContextManager.js.map +1 -1
  142. package/dist/runtime/FlowExecutor.d.ts +16 -11
  143. package/dist/runtime/FlowExecutor.d.ts.map +1 -1
  144. package/dist/runtime/FlowExecutor.js +32 -138
  145. package/dist/runtime/FlowExecutor.js.map +1 -1
  146. package/dist/runtime/Runtime.d.ts +31 -78
  147. package/dist/runtime/Runtime.d.ts.map +1 -1
  148. package/dist/runtime/Runtime.js +225 -1406
  149. package/dist/runtime/Runtime.js.map +1 -1
  150. package/dist/runtime/SessionCache.d.ts +16 -0
  151. package/dist/runtime/SessionCache.d.ts.map +1 -0
  152. package/dist/runtime/SessionCache.js +49 -0
  153. package/dist/runtime/SessionCache.js.map +1 -0
  154. package/dist/runtime/SessionMutex.d.ts +37 -0
  155. package/dist/runtime/SessionMutex.d.ts.map +1 -0
  156. package/dist/runtime/SessionMutex.js +59 -0
  157. package/dist/runtime/SessionMutex.js.map +1 -0
  158. package/dist/runtime/StreamEmitter.d.ts +34 -0
  159. package/dist/runtime/StreamEmitter.d.ts.map +1 -0
  160. package/dist/runtime/StreamEmitter.js +91 -0
  161. package/dist/runtime/StreamEmitter.js.map +1 -0
  162. package/dist/runtime/handoffFilters.d.ts +60 -0
  163. package/dist/runtime/handoffFilters.d.ts.map +1 -0
  164. package/dist/runtime/handoffFilters.js +95 -0
  165. package/dist/runtime/handoffFilters.js.map +1 -0
  166. package/dist/runtime/pipeline/AgentExecuteStage.d.ts +22 -0
  167. package/dist/runtime/pipeline/AgentExecuteStage.d.ts.map +1 -0
  168. package/dist/runtime/pipeline/AgentExecuteStage.js +889 -0
  169. package/dist/runtime/pipeline/AgentExecuteStage.js.map +1 -0
  170. package/dist/runtime/pipeline/ContextAssembleStage.d.ts +26 -0
  171. package/dist/runtime/pipeline/ContextAssembleStage.d.ts.map +1 -0
  172. package/dist/runtime/pipeline/ContextAssembleStage.js +253 -0
  173. package/dist/runtime/pipeline/ContextAssembleStage.js.map +1 -0
  174. package/dist/runtime/pipeline/ContextGatherStage.d.ts +21 -0
  175. package/dist/runtime/pipeline/ContextGatherStage.d.ts.map +1 -0
  176. package/dist/runtime/pipeline/ContextGatherStage.js +161 -0
  177. package/dist/runtime/pipeline/ContextGatherStage.js.map +1 -0
  178. package/dist/runtime/pipeline/IntakeStage.d.ts +25 -0
  179. package/dist/runtime/pipeline/IntakeStage.d.ts.map +1 -0
  180. package/dist/runtime/pipeline/IntakeStage.js +126 -0
  181. package/dist/runtime/pipeline/IntakeStage.js.map +1 -0
  182. package/dist/runtime/pipeline/PostStreamStage.d.ts +26 -0
  183. package/dist/runtime/pipeline/PostStreamStage.d.ts.map +1 -0
  184. package/dist/runtime/pipeline/PostStreamStage.js +129 -0
  185. package/dist/runtime/pipeline/PostStreamStage.js.map +1 -0
  186. package/dist/runtime/pipeline/TurnPipeline.d.ts +54 -0
  187. package/dist/runtime/pipeline/TurnPipeline.d.ts.map +1 -0
  188. package/dist/runtime/pipeline/TurnPipeline.js +15 -0
  189. package/dist/runtime/pipeline/TurnPipeline.js.map +1 -0
  190. package/dist/runtime/pipeline/TurnServices.d.ts +48 -0
  191. package/dist/runtime/pipeline/TurnServices.d.ts.map +1 -0
  192. package/dist/runtime/pipeline/TurnServices.js +2 -0
  193. package/dist/runtime/pipeline/TurnServices.js.map +1 -0
  194. package/dist/runtime/pipeline/agentTypeGuards.d.ts +4 -0
  195. package/dist/runtime/pipeline/agentTypeGuards.d.ts.map +1 -0
  196. package/dist/runtime/pipeline/agentTypeGuards.js +7 -0
  197. package/dist/runtime/pipeline/agentTypeGuards.js.map +1 -0
  198. package/dist/runtime/pipeline/index.d.ts +11 -0
  199. package/dist/runtime/pipeline/index.d.ts.map +1 -0
  200. package/dist/runtime/pipeline/index.js +13 -0
  201. package/dist/runtime/pipeline/index.js.map +1 -0
  202. package/dist/runtime/pipeline/outputProcessing.d.ts +23 -0
  203. package/dist/runtime/pipeline/outputProcessing.d.ts.map +1 -0
  204. package/dist/runtime/pipeline/outputProcessing.js +63 -0
  205. package/dist/runtime/pipeline/outputProcessing.js.map +1 -0
  206. package/dist/runtime/pipeline/sessionUtils.d.ts +12 -0
  207. package/dist/runtime/pipeline/sessionUtils.d.ts.map +1 -0
  208. package/dist/runtime/pipeline/sessionUtils.js +73 -0
  209. package/dist/runtime/pipeline/sessionUtils.js.map +1 -0
  210. package/dist/tools/Tool.d.ts +7 -0
  211. package/dist/tools/Tool.d.ts.map +1 -1
  212. package/dist/tools/Tool.js +12 -3
  213. package/dist/tools/Tool.js.map +1 -1
  214. package/dist/tools/memory.d.ts +26 -0
  215. package/dist/tools/memory.d.ts.map +1 -0
  216. package/dist/tools/memory.js +51 -0
  217. package/dist/tools/memory.js.map +1 -0
  218. package/dist/types/index.d.ts +177 -6
  219. package/dist/types/index.d.ts.map +1 -1
  220. package/dist/types/index.js.map +1 -1
  221. package/guides/AGENTS.md +173 -0
  222. package/guides/README.md +12 -0
  223. package/guides/TOOLS.md +93 -27
  224. package/package.json +12 -4
  225. package/dist/agents/LLMAgent.d.ts +0 -11
  226. package/dist/agents/LLMAgent.d.ts.map +0 -1
  227. package/dist/agents/LLMAgent.js +0 -31
  228. package/dist/agents/LLMAgent.js.map +0 -1
@@ -1,5 +1,5 @@
1
1
  import { type ModelMessage } from 'ai';
2
- import type { FlowAgentConfig, AgentConfig, RunContext, HarnessStreamPart, FlowManagerState, ToolCallRecord, HarnessConfig } from '../types/index.js';
2
+ import type { FlowAgentConfig, AgentConfig, RunContext, HarnessStreamPart, FlowManagerState, ToolCallRecord, HarnessConfig, Session, OutputProcessor } from '../types/index.js';
3
3
  import { createHandoffTool } from '../tools/handoff.js';
4
4
  export interface FlowExecutorHelpers {
5
5
  emit: (context: RunContext, part: HarnessStreamPart) => AsyncGenerator<HarnessStreamPart>;
@@ -11,23 +11,23 @@ export interface FlowExecutorHelpers {
11
11
  message?: string;
12
12
  };
13
13
  }>;
14
- appendSessionMessage: (session: any, message: ModelMessage) => void;
15
- appendSessionMessages: (session: any, messages: ModelMessage[]) => void;
14
+ appendSessionMessage: (session: Session, message: ModelMessage) => void;
15
+ appendSessionMessages: (session: Session, messages: ModelMessage[]) => void;
16
16
  postProcessPersistedAssistantMessages: (agent: AgentConfig, context: RunContext, startIndex: number) => Promise<Array<{
17
17
  processorId: string;
18
18
  reason: string;
19
19
  message?: string;
20
20
  }>>;
21
- getAgentOutputProcessors: (agent: AgentConfig) => any[];
22
- getSessionTurn: (session: any) => number;
21
+ getAgentOutputProcessors: (agent: AgentConfig) => OutputProcessor[];
22
+ getSessionTurn: (session: Session) => number;
23
23
  buildToolIdempotencyKey: (context: RunContext, toolName: string, toolCallId: string) => string;
24
- setFlowState: (session: any, agentId: string, state: FlowManagerState) => void;
25
- getFlowState: (session: any, agentId: string) => FlowManagerState | undefined;
26
- updateFlowStateSnapshot: (session: any, agentId: string, state: FlowManagerState) => void;
27
- clearFlowState: (session: any, agentId: string) => void;
28
- buildFlowWithHandoff: (agent: FlowAgentConfig, handoffTool: any, suppressAutoRespond: boolean) => FlowAgentConfig['flow'];
24
+ setFlowState: (session: Session, agentId: string, state: FlowManagerState) => void;
25
+ getFlowState: (session: Session, agentId: string) => FlowManagerState | undefined;
26
+ updateFlowStateSnapshot: (session: Session, agentId: string, state: FlowManagerState) => void;
27
+ clearFlowState: (session: Session, agentId: string) => void;
28
+ buildFlowWithHandoff: (agent: FlowAgentConfig, handoffTool: ReturnType<typeof createHandoffTool> | undefined, suppressAutoRespond: boolean) => FlowAgentConfig['flow'];
29
29
  getFlowNode: (agent: FlowAgentConfig, nodeId?: string) => FlowAgentConfig['flow']['nodes'][number] | undefined;
30
- touchSession: (session: any) => void;
30
+ touchSession: (session: Session) => void;
31
31
  matchesDetourRule: (input: string, patterns?: string[]) => boolean;
32
32
  enforcecheck: (call: ToolCallRecord, context: RunContext) => Promise<{
33
33
  allowed: boolean;
@@ -47,5 +47,10 @@ export declare class FlowExecutor {
47
47
  shouldHandleFlowInput(agent: FlowAgentConfig, input: string, flowState: FlowManagerState | undefined, helpers: FlowExecutorHelpers, abortSignal?: AbortSignal): Promise<boolean>;
48
48
  runDetourResponse(agent: FlowAgentConfig, context: RunContext, input: string, flowState: FlowManagerState | undefined, handoffTool: ReturnType<typeof createHandoffTool> | undefined, onHandoff: (target: string, reason?: string) => void, helpers: FlowExecutorHelpers, abortSignal?: AbortSignal): AsyncGenerator<HarnessStreamPart>;
49
49
  runFlowAgent(agent: FlowAgentConfig, context: RunContext, input: string, systemPrompt: string, handoffTool: ReturnType<typeof createHandoffTool> | undefined, onHandoff: (target: string, reason?: string) => void, toolCalls: ToolCallRecord[], helpers: FlowExecutorHelpers, abortSignal?: AbortSignal): AsyncGenerator<HarnessStreamPart>;
50
+ /**
51
+ * Shared event handler for flow manager async iterables.
52
+ * Used by both the initialization and processing phases to avoid duplication.
53
+ */
54
+ private processFlowEvents;
50
55
  }
51
56
  //# sourceMappingURL=FlowExecutor.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"FlowExecutor.d.ts","sourceRoot":"","sources":["../../src/runtime/FlowExecutor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"FlowExecutor.d.ts","sourceRoot":"","sources":["../../src/runtime/FlowExecutor.ts"],"names":[],"mappings":"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"}
@@ -256,122 +256,7 @@ Do not change the flow requirements. Keep the reply concise.`;
256
256
  });
257
257
  let persistedStartIndex = context.session.messages.length;
258
258
  if (!flowState?.initialized) {
259
- for await (const part of flowManager.initialize()) {
260
- switch (part.type) {
261
- case 'text-delta':
262
- yield* helpers.emit(context, { type: 'text-delta', text: part.text });
263
- break;
264
- case 'tool-call': {
265
- const toolCallId = part.toolCallId ?? crypto.randomUUID();
266
- const callRecord = {
267
- toolCallId,
268
- toolName: part.toolName,
269
- args: part.args,
270
- idempotencyKey: helpers.buildToolIdempotencyKey(context, part.toolName, toolCallId),
271
- success: true,
272
- timestamp: Date.now(),
273
- };
274
- toolCalls.push(callRecord);
275
- await helpers.onToolCallHook(context, callRecord);
276
- yield* helpers.emit(context, {
277
- type: 'tool-call',
278
- toolCallId,
279
- toolName: part.toolName,
280
- args: part.args,
281
- });
282
- break;
283
- }
284
- case 'tool-result': {
285
- const toolCallId = part.toolCallId
286
- ?? toolCalls.find(call => call.toolName === part.toolName && call.result === undefined)?.toolCallId
287
- ?? crypto.randomUUID();
288
- const callRecord = toolCalls.find(call => call.toolCallId === toolCallId);
289
- if (callRecord) {
290
- callRecord.result = part.result;
291
- callRecord.durationMs = Date.now() - callRecord.timestamp;
292
- context.toolCallHistory.push(callRecord);
293
- await helpers.onToolResultHook(context, callRecord);
294
- const enforcement = await helpers.enforcecheckResult(callRecord, context);
295
- if (!enforcement.allowed) {
296
- const reason = enforcement.reason ?? 'Tool result blocked by enforcement';
297
- callRecord.success = false;
298
- callRecord.error = new Error(reason);
299
- await helpers.onToolErrorHook(context, callRecord, callRecord.error);
300
- yield* helpers.emit(context, {
301
- type: 'tool-error',
302
- toolCallId,
303
- toolName: part.toolName,
304
- error: reason,
305
- });
306
- yield* helpers.emit(context, { type: 'error', error: reason });
307
- return;
308
- }
309
- }
310
- yield* helpers.emit(context, {
311
- type: 'tool-result',
312
- toolCallId,
313
- toolName: part.toolName,
314
- result: part.result,
315
- });
316
- break;
317
- }
318
- case 'tool-error': {
319
- const toolCallId = part.toolCallId
320
- ?? toolCalls.find(call => call.toolName === part.toolName && call.error === undefined)?.toolCallId
321
- ?? crypto.randomUUID();
322
- const callRecord = toolCalls.find(call => call.toolCallId === toolCallId);
323
- if (callRecord) {
324
- callRecord.success = false;
325
- callRecord.error = new Error(part.error);
326
- callRecord.durationMs = Date.now() - callRecord.timestamp;
327
- context.toolCallHistory.push(callRecord);
328
- await helpers.onToolErrorHook(context, callRecord, callRecord.error);
329
- }
330
- yield* helpers.emit(context, {
331
- type: 'tool-error',
332
- toolCallId,
333
- toolName: part.toolName,
334
- error: part.error,
335
- });
336
- break;
337
- }
338
- case 'handoff':
339
- onHandoff(part.targetAgent, part.reason);
340
- break;
341
- case 'node-enter':
342
- yield* helpers.emit(context, { type: 'node-enter', nodeName: part.nodeName });
343
- break;
344
- case 'node-exit':
345
- yield* helpers.emit(context, { type: 'node-exit', nodeName: part.nodeName });
346
- break;
347
- case 'flow-transition':
348
- helpers.setFlowState(context.session, agent.id, flowManager.getState());
349
- yield* helpers.emit(context, { type: 'flow-transition', from: part.from, to: part.to });
350
- break;
351
- case 'flow-end':
352
- yield* helpers.emit(context, { type: 'flow-end', reason: part.reason });
353
- break;
354
- case 'turn-end':
355
- if (part.metadata?.response?.messages) {
356
- helpers.appendSessionMessages(context.session, part.metadata.response.messages);
357
- }
358
- yield* helpers.emit(context, { type: 'turn-end' });
359
- break;
360
- case 'error':
361
- yield* helpers.emit(context, { type: 'error', error: part.error });
362
- break;
363
- case 'custom':
364
- yield* helpers.emit(context, {
365
- type: 'custom',
366
- name: part.name,
367
- data: part.data,
368
- timestamp: part.timestamp ?? new Date(),
369
- });
370
- break;
371
- default:
372
- break;
373
- }
374
- }
259
+ yield* this.processFlowEvents(flowManager.initialize(), flowManager, context, agent, toolCalls, helpers, onHandoff);
375
260
  const tripwires = await helpers.postProcessPersistedAssistantMessages(agent, context, persistedStartIndex);
376
261
  for (const t of tripwires) {
377
262
  yield* helpers.emit(context, {
@@ -384,7 +269,32 @@ Do not change the flow requirements. Keep the reply concise.`;
384
269
  }
385
270
  persistedStartIndex = context.session.messages.length;
386
271
  }
387
- for await (const part of flowManager.process(input)) {
272
+ yield* this.processFlowEvents(flowManager.process(input), flowManager, context, agent, toolCalls, helpers, onHandoff);
273
+ const tripwires = await helpers.postProcessPersistedAssistantMessages(agent, context, persistedStartIndex);
274
+ for (const t of tripwires) {
275
+ yield* helpers.emit(context, {
276
+ type: 'tripwire',
277
+ phase: 'output',
278
+ processorId: t.processorId,
279
+ reason: t.reason,
280
+ message: t.message,
281
+ });
282
+ }
283
+ const latestFlowState = flowManager.getState();
284
+ if (flowManager.hasEnded) {
285
+ helpers.updateFlowStateSnapshot(context.session, agent.id, latestFlowState);
286
+ helpers.clearFlowState(context.session, agent.id);
287
+ }
288
+ else {
289
+ helpers.setFlowState(context.session, agent.id, latestFlowState);
290
+ }
291
+ }
292
+ /**
293
+ * Shared event handler for flow manager async iterables.
294
+ * Used by both the initialization and processing phases to avoid duplication.
295
+ */
296
+ async *processFlowEvents(events, flowManager, context, agent, toolCalls, helpers, onHandoff) {
297
+ for await (const part of events) {
388
298
  switch (part.type) {
389
299
  case 'text-delta':
390
300
  yield* helpers.emit(context, { type: 'text-delta', text: part.text });
@@ -479,12 +389,14 @@ Do not change the flow requirements. Keep the reply concise.`;
479
389
  case 'flow-end':
480
390
  yield* helpers.emit(context, { type: 'flow-end', reason: part.reason });
481
391
  break;
482
- case 'turn-end':
483
- if (part.metadata?.response?.messages) {
484
- helpers.appendSessionMessages(context.session, part.metadata.response.messages);
392
+ case 'turn-end': {
393
+ const meta = part.metadata;
394
+ if (meta?.response?.messages) {
395
+ helpers.appendSessionMessages(context.session, meta.response.messages);
485
396
  }
486
397
  yield* helpers.emit(context, { type: 'turn-end' });
487
398
  break;
399
+ }
488
400
  case 'error':
489
401
  yield* helpers.emit(context, { type: 'error', error: part.error });
490
402
  break;
@@ -500,24 +412,6 @@ Do not change the flow requirements. Keep the reply concise.`;
500
412
  break;
501
413
  }
502
414
  }
503
- const tripwires = await helpers.postProcessPersistedAssistantMessages(agent, context, persistedStartIndex);
504
- for (const t of tripwires) {
505
- yield* helpers.emit(context, {
506
- type: 'tripwire',
507
- phase: 'output',
508
- processorId: t.processorId,
509
- reason: t.reason,
510
- message: t.message,
511
- });
512
- }
513
- const latestFlowState = flowManager.getState();
514
- if (flowManager.hasEnded) {
515
- helpers.updateFlowStateSnapshot(context.session, agent.id, latestFlowState);
516
- helpers.clearFlowState(context.session, agent.id);
517
- }
518
- else {
519
- helpers.setFlowState(context.session, agent.id, latestFlowState);
520
- }
521
415
  }
522
416
  }
523
417
  //# sourceMappingURL=FlowExecutor.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"FlowExecutor.js","sourceRoot":"","sources":["../../src/runtime/FlowExecutor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"FlowExecutor.js","sourceRoot":"","sources":["../../src/runtime/FlowExecutor.ts"],"names":[],"mappings":"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"}
@@ -1,92 +1,45 @@
1
- import type { AgentConfig, HarnessConfig, HarnessStreamPart, StreamOptions, Session } from '../types/index.js';
1
+ import type { AgentConfig, HarnessConfig, HarnessStreamPart, Session, StreamOptions } from '../types/index.js';
2
+ import type { MemoryService } from '../memory/MemoryService.js';
3
+ import type { ToolExecutor } from '../foundation/ToolExecutor.js';
4
+ import type { ConversationState } from '../foundation/ConversationState.js';
5
+ import type { ConversationEventLog } from '../foundation/ConversationEventLog.js';
6
+ import type { AgentStateController } from '../foundation/AgentStateController.js';
2
7
  export declare class Runtime {
3
8
  private config;
4
- private agents;
5
- private defaultAgentId;
6
- private defaultModel?;
7
- private maxSteps;
8
- private maxHandoffs;
9
- private stopConditions;
10
- private _sessionStore;
11
- private hookRunner;
12
- private enforcer;
13
- private contextManager?;
14
- private turnCount;
15
9
  private abortControllers;
16
- private alwaysRouteThroughTriage;
17
- private triageAgentId?;
18
- private inputProcessors;
19
- private outputProcessors;
20
- private outputProcessorMode;
21
- private outputRedactions?;
22
- private redactCarryKey;
23
- private readonly redactLookbehind;
24
- private readonly runtimeEventLogKey;
25
- private readonly runtimeSessionTurnKey;
26
- private readonly runtimeEventLogMaxEntries;
27
- private readonly checkpointEventTypes;
28
- private extractionEngine;
29
- private sessionEventManager;
30
- private suggestionManager;
31
- private flowExecutor;
32
- private wrapToolsWithEnforcement;
10
+ private _userIdWarned;
11
+ private sessionMutex;
12
+ private turnServices;
13
+ private _sessionStore;
14
+ private _memoryService;
15
+ private _toolExecutor;
16
+ private _conversationState;
17
+ private _eventLog;
18
+ private _agentStateController;
33
19
  constructor(config: HarnessConfig);
34
20
  get sessionStore(): NonNullable<HarnessConfig['sessionStore']>;
21
+ get memoryService(): MemoryService | undefined;
22
+ /** Foundation services — shared primitives reusable by VoiceEngine etc. */
23
+ get foundation(): {
24
+ toolExecutor: ToolExecutor;
25
+ conversationState: ConversationState;
26
+ eventLog: ConversationEventLog;
27
+ agentState: AgentStateController;
28
+ };
35
29
  getActiveAbortController(sessionId: string): AbortController | undefined;
36
30
  abortSession(sessionId: string, reason?: string): void;
37
- stream(options: StreamOptions): AsyncGenerator<HarnessStreamPart>;
38
- private generateSuggestions;
39
- chat(sessionId: string, input: string, userId?: string): AsyncGenerator<HarnessStreamPart>;
40
- private runLoop;
41
- private getCircularHandoffFallbackMessage;
42
- private emitCircularHandoffFallback;
43
- private buildPolicyInjectionQueue;
44
- private createSession;
45
- private isFlowAgent;
46
- private isTriageAgent;
47
- private buildPromptMemoryView;
48
- private buildSystemPrompt;
49
- private buildStructuredTriagePrompt;
50
- private buildTriagePrompt;
51
- private getHandoffCandidates;
52
- private getFlowState;
53
- private buildAgentContext;
54
- private setFlowState;
55
- private clearFlowState;
56
- private updateFlowStateSnapshot;
57
- private buildFlowWithHandoff;
58
- private getFlowNode;
59
- private getExtractionConfig;
60
- private runTurnExtraction;
61
- private shouldHandleFlowInput;
62
- private runDetourResponse;
63
- private runFlowAgent;
64
- private getFlowExecutorHelpers;
65
- private matchesDetourRuleHelper;
66
31
  getSession(id: string): Promise<Session | null>;
67
32
  deleteSession(id: string): Promise<void>;
68
33
  getAgent(id: string): AgentConfig | undefined;
69
34
  getAllAgents(): AgentConfig[];
70
- private normalizeSessionMessage;
71
- private normalizeSessionHistory;
72
- private appendSessionMessage;
73
- private appendSessionMessages;
74
- private touchSession;
75
- private getSessionTurn;
76
- private bumpSessionTurn;
77
- private saveSessionCheckpoint;
78
- private shouldCheckpointAfterPart;
79
- private recordRuntimeEvent;
80
- private buildToolIdempotencyKey;
81
- private withToolExecutionMetadata;
82
- private buildProcessorContext;
83
- private getAgentOutputProcessors;
84
- private applyRedactionsToText;
85
- private runOutputProcessing;
86
- private postProcessPersistedAssistantMessages;
87
- private emit;
88
- private emitWithHooks;
89
- private applyOutputRedactions;
35
+ chat(sessionId: string, input: string, userId?: string): AsyncGenerator<HarnessStreamPart>;
36
+ stream(options: StreamOptions): AsyncGenerator<HarnessStreamPart>;
37
+ /**
38
+ * Inner stream implementation — separated so the mutex can wrap the
39
+ * entire async generator lifecycle from IntakeStage through PostStreamStage.
40
+ */
41
+ private _streamInner;
42
+ private setupAbortHandlers;
90
43
  }
91
44
  export declare function createRuntime(config: HarnessConfig): Runtime;
92
45
  //# sourceMappingURL=Runtime.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Runtime.d.ts","sourceRoot":"","sources":["../../src/runtime/Runtime.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Runtime.d.ts","sourceRoot":"","sources":["../../src/runtime/Runtime.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,aAAa,EAAE,iBAAiB,EAAE,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAa/G,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAChE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAClE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,oCAAoC,CAAC;AAC5E,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,uCAAuC,CAAC;AAClF,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,uCAAuC,CAAC;AAalF,qBAAa,OAAO;IAcN,OAAO,CAAC,MAAM;IAb1B,OAAO,CAAC,gBAAgB,CAAsC;IAC9D,OAAO,CAAC,aAAa,CAAqB;IAC1C,OAAO,CAAC,YAAY,CAAsB;IAC1C,OAAO,CAAC,YAAY,CAAe;IAGnC,OAAO,CAAC,aAAa,CAA6C;IAClE,OAAO,CAAC,cAAc,CAA4B;IAClD,OAAO,CAAC,aAAa,CAAe;IACpC,OAAO,CAAC,kBAAkB,CAAoB;IAC9C,OAAO,CAAC,SAAS,CAAuB;IACxC,OAAO,CAAC,qBAAqB,CAAuB;gBAEhC,MAAM,EAAE,aAAa;IA6IzC,IAAW,YAAY,IAAI,WAAW,CAAC,aAAa,CAAC,cAAc,CAAC,CAAC,CAEpE;IAED,IAAW,aAAa,IAAI,aAAa,GAAG,SAAS,CAEpD;IAED,2EAA2E;IAC3E,IAAW,UAAU;;;;;MAOpB;IAED,wBAAwB,CAAC,SAAS,EAAE,MAAM,GAAG,eAAe,GAAG,SAAS;IAIxE,YAAY,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,GAAE,MAAyB,GAAG,IAAI;IAQlE,UAAU,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC;IAI/C,aAAa,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAI9C,QAAQ,CAAC,EAAE,EAAE,MAAM,GAAG,WAAW,GAAG,SAAS;IAI7C,YAAY,IAAI,WAAW,EAAE;IAItB,IAAI,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,cAAc,CAAC,iBAAiB,CAAC;IAM1F,MAAM,CAAC,OAAO,EAAE,aAAa,GAAG,cAAc,CAAC,iBAAiB,CAAC;IA8BxE;;;OAGG;YACY,YAAY;IA6D3B,OAAO,CAAC,kBAAkB;CA6B3B;AAED,wBAAgB,aAAa,CAAC,MAAM,EAAE,aAAa,GAAG,OAAO,CAE5D"}