@agenticc/core 1.0.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.
Files changed (196) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +370 -0
  3. package/README.zh-CN.md +372 -0
  4. package/dist/audit/index.d.ts +9 -0
  5. package/dist/audit/index.d.ts.map +1 -0
  6. package/dist/audit/index.js +9 -0
  7. package/dist/audit/index.js.map +1 -0
  8. package/dist/audit/logger.d.ts +211 -0
  9. package/dist/audit/logger.d.ts.map +1 -0
  10. package/dist/audit/logger.js +268 -0
  11. package/dist/audit/logger.js.map +1 -0
  12. package/dist/audit/query.d.ts +164 -0
  13. package/dist/audit/query.d.ts.map +1 -0
  14. package/dist/audit/query.js +250 -0
  15. package/dist/audit/query.js.map +1 -0
  16. package/dist/conversation/context-builder.d.ts +119 -0
  17. package/dist/conversation/context-builder.d.ts.map +1 -0
  18. package/dist/conversation/context-builder.js +252 -0
  19. package/dist/conversation/context-builder.js.map +1 -0
  20. package/dist/conversation/index.d.ts +10 -0
  21. package/dist/conversation/index.d.ts.map +1 -0
  22. package/dist/conversation/index.js +10 -0
  23. package/dist/conversation/index.js.map +1 -0
  24. package/dist/conversation/message-store.d.ts +231 -0
  25. package/dist/conversation/message-store.d.ts.map +1 -0
  26. package/dist/conversation/message-store.js +404 -0
  27. package/dist/conversation/message-store.js.map +1 -0
  28. package/dist/conversation/session.d.ts +201 -0
  29. package/dist/conversation/session.d.ts.map +1 -0
  30. package/dist/conversation/session.js +285 -0
  31. package/dist/conversation/session.js.map +1 -0
  32. package/dist/core/agent.d.ts +277 -0
  33. package/dist/core/agent.d.ts.map +1 -0
  34. package/dist/core/agent.js +674 -0
  35. package/dist/core/agent.js.map +1 -0
  36. package/dist/core/agentic-loop.d.ts +98 -0
  37. package/dist/core/agentic-loop.d.ts.map +1 -0
  38. package/dist/core/agentic-loop.js +496 -0
  39. package/dist/core/agentic-loop.js.map +1 -0
  40. package/dist/core/index.d.ts +14 -0
  41. package/dist/core/index.d.ts.map +1 -0
  42. package/dist/core/index.js +14 -0
  43. package/dist/core/index.js.map +1 -0
  44. package/dist/core/intent-parser.d.ts +101 -0
  45. package/dist/core/intent-parser.d.ts.map +1 -0
  46. package/dist/core/intent-parser.js +221 -0
  47. package/dist/core/intent-parser.js.map +1 -0
  48. package/dist/core/plan-generator.d.ts +133 -0
  49. package/dist/core/plan-generator.d.ts.map +1 -0
  50. package/dist/core/plan-generator.js +294 -0
  51. package/dist/core/plan-generator.js.map +1 -0
  52. package/dist/core/plugin-manager.d.ts +120 -0
  53. package/dist/core/plugin-manager.d.ts.map +1 -0
  54. package/dist/core/plugin-manager.js +369 -0
  55. package/dist/core/plugin-manager.js.map +1 -0
  56. package/dist/core/response-handler.d.ts +141 -0
  57. package/dist/core/response-handler.d.ts.map +1 -0
  58. package/dist/core/response-handler.js +384 -0
  59. package/dist/core/response-handler.js.map +1 -0
  60. package/dist/core/tool-executor.d.ts +143 -0
  61. package/dist/core/tool-executor.d.ts.map +1 -0
  62. package/dist/core/tool-executor.js +354 -0
  63. package/dist/core/tool-executor.js.map +1 -0
  64. package/dist/core/tool-registry.d.ts +133 -0
  65. package/dist/core/tool-registry.d.ts.map +1 -0
  66. package/dist/core/tool-registry.js +252 -0
  67. package/dist/core/tool-registry.js.map +1 -0
  68. package/dist/index.d.ts +44 -0
  69. package/dist/index.d.ts.map +1 -0
  70. package/dist/index.js +47 -0
  71. package/dist/index.js.map +1 -0
  72. package/dist/knowledge/chunker.d.ts +78 -0
  73. package/dist/knowledge/chunker.d.ts.map +1 -0
  74. package/dist/knowledge/chunker.js +233 -0
  75. package/dist/knowledge/chunker.js.map +1 -0
  76. package/dist/knowledge/embedder.d.ts +93 -0
  77. package/dist/knowledge/embedder.d.ts.map +1 -0
  78. package/dist/knowledge/embedder.js +205 -0
  79. package/dist/knowledge/embedder.js.map +1 -0
  80. package/dist/knowledge/index.d.ts +10 -0
  81. package/dist/knowledge/index.d.ts.map +1 -0
  82. package/dist/knowledge/index.js +11 -0
  83. package/dist/knowledge/index.js.map +1 -0
  84. package/dist/knowledge/loaders/index.d.ts +10 -0
  85. package/dist/knowledge/loaders/index.d.ts.map +1 -0
  86. package/dist/knowledge/loaders/index.js +10 -0
  87. package/dist/knowledge/loaders/index.js.map +1 -0
  88. package/dist/knowledge/loaders/markdown.d.ts +88 -0
  89. package/dist/knowledge/loaders/markdown.d.ts.map +1 -0
  90. package/dist/knowledge/loaders/markdown.js +205 -0
  91. package/dist/knowledge/loaders/markdown.js.map +1 -0
  92. package/dist/knowledge/loaders/yaml.d.ts +112 -0
  93. package/dist/knowledge/loaders/yaml.d.ts.map +1 -0
  94. package/dist/knowledge/loaders/yaml.js +368 -0
  95. package/dist/knowledge/loaders/yaml.js.map +1 -0
  96. package/dist/knowledge/retriever.d.ts +144 -0
  97. package/dist/knowledge/retriever.d.ts.map +1 -0
  98. package/dist/knowledge/retriever.js +399 -0
  99. package/dist/knowledge/retriever.js.map +1 -0
  100. package/dist/knowledge/store.d.ts +146 -0
  101. package/dist/knowledge/store.d.ts.map +1 -0
  102. package/dist/knowledge/store.js +420 -0
  103. package/dist/knowledge/store.js.map +1 -0
  104. package/dist/llm/adapter.d.ts +194 -0
  105. package/dist/llm/adapter.d.ts.map +1 -0
  106. package/dist/llm/adapter.js +42 -0
  107. package/dist/llm/adapter.js.map +1 -0
  108. package/dist/llm/adapters/anyrouter.d.ts +84 -0
  109. package/dist/llm/adapters/anyrouter.d.ts.map +1 -0
  110. package/dist/llm/adapters/anyrouter.js +372 -0
  111. package/dist/llm/adapters/anyrouter.js.map +1 -0
  112. package/dist/llm/adapters/claude.d.ts +66 -0
  113. package/dist/llm/adapters/claude.d.ts.map +1 -0
  114. package/dist/llm/adapters/claude.js +323 -0
  115. package/dist/llm/adapters/claude.js.map +1 -0
  116. package/dist/llm/adapters/index.d.ts +12 -0
  117. package/dist/llm/adapters/index.d.ts.map +1 -0
  118. package/dist/llm/adapters/index.js +12 -0
  119. package/dist/llm/adapters/index.js.map +1 -0
  120. package/dist/llm/adapters/mimo.d.ts +85 -0
  121. package/dist/llm/adapters/mimo.d.ts.map +1 -0
  122. package/dist/llm/adapters/mimo.js +316 -0
  123. package/dist/llm/adapters/mimo.js.map +1 -0
  124. package/dist/llm/adapters/openai.d.ts +53 -0
  125. package/dist/llm/adapters/openai.d.ts.map +1 -0
  126. package/dist/llm/adapters/openai.js +293 -0
  127. package/dist/llm/adapters/openai.js.map +1 -0
  128. package/dist/llm/adapters/qwen.d.ts +53 -0
  129. package/dist/llm/adapters/qwen.d.ts.map +1 -0
  130. package/dist/llm/adapters/qwen.js +299 -0
  131. package/dist/llm/adapters/qwen.js.map +1 -0
  132. package/dist/llm/adapters/siliconflow.d.ts +69 -0
  133. package/dist/llm/adapters/siliconflow.d.ts.map +1 -0
  134. package/dist/llm/adapters/siliconflow.js +331 -0
  135. package/dist/llm/adapters/siliconflow.js.map +1 -0
  136. package/dist/llm/index.d.ts +9 -0
  137. package/dist/llm/index.d.ts.map +1 -0
  138. package/dist/llm/index.js +12 -0
  139. package/dist/llm/index.js.map +1 -0
  140. package/dist/llm/manager.d.ts +97 -0
  141. package/dist/llm/manager.d.ts.map +1 -0
  142. package/dist/llm/manager.js +337 -0
  143. package/dist/llm/manager.js.map +1 -0
  144. package/dist/test-utils/arbitraries.d.ts +230 -0
  145. package/dist/test-utils/arbitraries.d.ts.map +1 -0
  146. package/dist/test-utils/arbitraries.js +280 -0
  147. package/dist/test-utils/arbitraries.js.map +1 -0
  148. package/dist/test-utils/cleanup.d.ts +184 -0
  149. package/dist/test-utils/cleanup.d.ts.map +1 -0
  150. package/dist/test-utils/cleanup.js +282 -0
  151. package/dist/test-utils/cleanup.js.map +1 -0
  152. package/dist/test-utils/config.d.ts +80 -0
  153. package/dist/test-utils/config.d.ts.map +1 -0
  154. package/dist/test-utils/config.js +94 -0
  155. package/dist/test-utils/config.js.map +1 -0
  156. package/dist/test-utils/index.d.ts +10 -0
  157. package/dist/test-utils/index.d.ts.map +1 -0
  158. package/dist/test-utils/index.js +36 -0
  159. package/dist/test-utils/index.js.map +1 -0
  160. package/dist/test-utils/mocks.d.ts +170 -0
  161. package/dist/test-utils/mocks.d.ts.map +1 -0
  162. package/dist/test-utils/mocks.js +281 -0
  163. package/dist/test-utils/mocks.js.map +1 -0
  164. package/dist/types/config.d.ts +170 -0
  165. package/dist/types/config.d.ts.map +1 -0
  166. package/dist/types/config.js +120 -0
  167. package/dist/types/config.js.map +1 -0
  168. package/dist/types/knowledge.d.ts +95 -0
  169. package/dist/types/knowledge.d.ts.map +1 -0
  170. package/dist/types/knowledge.js +7 -0
  171. package/dist/types/knowledge.js.map +1 -0
  172. package/dist/types/loop.d.ts +148 -0
  173. package/dist/types/loop.d.ts.map +1 -0
  174. package/dist/types/loop.js +16 -0
  175. package/dist/types/loop.js.map +1 -0
  176. package/dist/types/plugin.d.ts +137 -0
  177. package/dist/types/plugin.d.ts.map +1 -0
  178. package/dist/types/plugin.js +15 -0
  179. package/dist/types/plugin.js.map +1 -0
  180. package/dist/types/response.d.ts +186 -0
  181. package/dist/types/response.d.ts.map +1 -0
  182. package/dist/types/response.js +99 -0
  183. package/dist/types/response.js.map +1 -0
  184. package/dist/types/streaming.d.ts +478 -0
  185. package/dist/types/streaming.d.ts.map +1 -0
  186. package/dist/types/streaming.js +483 -0
  187. package/dist/types/streaming.js.map +1 -0
  188. package/dist/types/tool.d.ts +118 -0
  189. package/dist/types/tool.d.ts.map +1 -0
  190. package/dist/types/tool.js +42 -0
  191. package/dist/types/tool.js.map +1 -0
  192. package/dist/utils/error.d.ts +22 -0
  193. package/dist/utils/error.d.ts.map +1 -0
  194. package/dist/utils/error.js +36 -0
  195. package/dist/utils/error.js.map +1 -0
  196. package/package.json +102 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agent.js","sourceRoot":"","sources":["../../src/core/agent.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,98 @@
1
+ /**
2
+ * Agentic Loop
3
+ *
4
+ * Implements the ReAct (Reasoning + Acting) loop pattern.
5
+ * LLM autonomously decides tool calls and iterates until task completion.
6
+ *
7
+ * @module core/agentic-loop
8
+ */
9
+ import type { LLMManager } from '../llm/manager.js';
10
+ import type { ToolContext } from '../types/tool.js';
11
+ import type { LoopConfig, LoopResult, LoopRunOptions, LoopStatus } from '../types/loop.js';
12
+ import { PluginManager } from './plugin-manager.js';
13
+ /**
14
+ * Error thrown when loop execution fails
15
+ */
16
+ export declare class LoopError extends Error {
17
+ readonly status: LoopStatus;
18
+ readonly iteration: number;
19
+ constructor(message: string, status: LoopStatus, iteration: number);
20
+ }
21
+ /**
22
+ * Agentic Loop
23
+ *
24
+ * Executes the reasoning-action loop where LLM decides what tools to call.
25
+ * Continues until LLM generates a final response or limits are reached.
26
+ */
27
+ export declare class AgenticLoop {
28
+ private llm;
29
+ private pluginManager;
30
+ private config;
31
+ constructor(llm: LLMManager, pluginManager: PluginManager, config?: Partial<LoopConfig>);
32
+ /**
33
+ * Execute the agentic loop
34
+ *
35
+ * @param userMessage - The user's input message
36
+ * @param context - Tool execution context
37
+ * @param options - Optional run-time overrides
38
+ * @returns Loop result with final response and tool call history
39
+ */
40
+ run(userMessage: string, context: ToolContext, options?: LoopRunOptions): Promise<LoopResult>;
41
+ /**
42
+ * Execute a single iteration of the loop with streaming support
43
+ * Requirements: 1.2, 1.5, 3.3, 3.4, 3.5
44
+ */
45
+ private executeIterationWithStreaming;
46
+ /**
47
+ * Execute tool calls with streaming events
48
+ * Requirements: 1.3, 1.4, 8.2
49
+ */
50
+ private executeToolCallsWithStreaming;
51
+ /**
52
+ * Execute a single tool call with streaming events
53
+ * Requirements: 1.3, 1.4, 8.2
54
+ */
55
+ private executeSingleToolCallWithStreaming;
56
+ /**
57
+ * Execute a single iteration of the loop
58
+ * @deprecated Use executeIterationWithStreaming instead
59
+ */
60
+ private executeIteration;
61
+ /**
62
+ * Call LLM with timeout and abort signal support
63
+ *
64
+ * Creates a combined AbortController that responds to either:
65
+ * - Timeout expiration
66
+ * - External abort signal
67
+ *
68
+ * Requirements: 3.1, 3.2
69
+ */
70
+ private callLLMWithTimeout;
71
+ /**
72
+ * Execute tool calls (parallel or sequential)
73
+ * @deprecated Use executeToolCallsWithStreaming instead
74
+ */
75
+ private executeToolCalls;
76
+ /**
77
+ * Execute a single tool call
78
+ * @deprecated Use executeSingleToolCallWithStreaming instead
79
+ */
80
+ private executeSingleToolCall;
81
+ /**
82
+ * Format messages for LLM API
83
+ */
84
+ private formatMessagesForLLM;
85
+ /**
86
+ * Build the final result
87
+ */
88
+ private buildResult;
89
+ /**
90
+ * Update loop configuration
91
+ */
92
+ updateConfig(config: Partial<LoopConfig>): void;
93
+ /**
94
+ * Get current configuration
95
+ */
96
+ getConfig(): LoopConfig;
97
+ }
98
+ //# sourceMappingURL=agentic-loop.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agentic-loop.d.ts","sourceRoot":"","sources":["../../src/core/agentic-loop.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,KAAK,EAAE,WAAW,EAAc,MAAM,kBAAkB,CAAC;AAEhE,OAAO,KAAK,EACV,UAAU,EAEV,UAAU,EACV,cAAc,EAEd,UAAU,EAGX,MAAM,kBAAkB,CAAC;AAY1B,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAEpD;;GAEG;AACH,qBAAa,SAAU,SAAQ,KAAK;aAGhB,MAAM,EAAE,UAAU;aAClB,SAAS,EAAE,MAAM;gBAFjC,OAAO,EAAE,MAAM,EACC,MAAM,EAAE,UAAU,EAClB,SAAS,EAAE,MAAM;CAKpC;AAED;;;;;GAKG;AACH,qBAAa,WAAW;IAIpB,OAAO,CAAC,GAAG;IACX,OAAO,CAAC,aAAa;IAJvB,OAAO,CAAC,MAAM,CAAa;gBAGjB,GAAG,EAAE,UAAU,EACf,aAAa,EAAE,aAAa,EACpC,MAAM,GAAE,OAAO,CAAC,UAAU,CAAM;IAKlC;;;;;;;OAOG;IACG,GAAG,CACP,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,WAAW,EACpB,OAAO,GAAE,cAAmB,GAC3B,OAAO,CAAC,UAAU,CAAC;IAoGtB;;;OAGG;YACW,6BAA6B;IAiH3C;;;OAGG;YACW,6BAA6B;IAmC3C;;;OAGG;YACW,kCAAkC;IAyHhD;;;OAGG;YACW,gBAAgB;IAS9B;;;;;;;;OAQG;YACW,kBAAkB;IAiHhC;;;OAGG;YACW,gBAAgB;IAS9B;;;OAGG;YACW,qBAAqB;IAQnC;;OAEG;IACH,OAAO,CAAC,oBAAoB;IAkC5B;;OAEG;IACH,OAAO,CAAC,WAAW;IAcnB;;OAEG;IACH,YAAY,CAAC,MAAM,EAAE,OAAO,CAAC,UAAU,CAAC,GAAG,IAAI;IAI/C;;OAEG;IACH,SAAS,IAAI,UAAU;CAGxB"}
@@ -0,0 +1,496 @@
1
+ /**
2
+ * Agentic Loop
3
+ *
4
+ * Implements the ReAct (Reasoning + Acting) loop pattern.
5
+ * LLM autonomously decides tool calls and iterates until task completion.
6
+ *
7
+ * @module core/agentic-loop
8
+ */
9
+ import { createIterationStartedEvent, createIterationCompletedEvent, createContentChunkEvent, createDecisionEvent, createToolCallStartedEvent, createToolCallCompletedEvent, createToolErrorEvent, } from '../types/streaming.js';
10
+ import { DEFAULT_LOOP_CONFIG } from '../types/loop.js';
11
+ /**
12
+ * Error thrown when loop execution fails
13
+ */
14
+ export class LoopError extends Error {
15
+ status;
16
+ iteration;
17
+ constructor(message, status, iteration) {
18
+ super(message);
19
+ this.status = status;
20
+ this.iteration = iteration;
21
+ this.name = 'LoopError';
22
+ }
23
+ }
24
+ /**
25
+ * Agentic Loop
26
+ *
27
+ * Executes the reasoning-action loop where LLM decides what tools to call.
28
+ * Continues until LLM generates a final response or limits are reached.
29
+ */
30
+ export class AgenticLoop {
31
+ llm;
32
+ pluginManager;
33
+ config;
34
+ constructor(llm, pluginManager, config = {}) {
35
+ this.llm = llm;
36
+ this.pluginManager = pluginManager;
37
+ this.config = { ...DEFAULT_LOOP_CONFIG, ...config };
38
+ }
39
+ /**
40
+ * Execute the agentic loop
41
+ *
42
+ * @param userMessage - The user's input message
43
+ * @param context - Tool execution context
44
+ * @param options - Optional run-time overrides
45
+ * @returns Loop result with final response and tool call history
46
+ */
47
+ async run(userMessage, context, options = {}) {
48
+ const maxIterations = options.maxIterations ?? this.config.maxIterations;
49
+ const startTime = new Date();
50
+ const sessionId = options.sessionId ?? 'default';
51
+ // Initialize state
52
+ const state = {
53
+ iteration: 0,
54
+ messages: [],
55
+ toolCalls: [],
56
+ status: 'running',
57
+ startTime,
58
+ };
59
+ // Add system prompt if provided
60
+ if (options.systemPrompt) {
61
+ state.messages.push({
62
+ role: 'system',
63
+ content: options.systemPrompt,
64
+ });
65
+ }
66
+ // Inject historical messages (stateless mode: history from database)
67
+ // Messages are added after system prompt, before current user message
68
+ if (options.history && options.history.length > 0) {
69
+ // Filter out system messages (already handled via systemPrompt)
70
+ const historyWithoutSystem = options.history.filter((m) => m.role !== 'system');
71
+ state.messages.push(...historyWithoutSystem);
72
+ }
73
+ // Add user message
74
+ state.messages.push({
75
+ role: 'user',
76
+ content: userMessage,
77
+ });
78
+ try {
79
+ while (state.status === 'running') {
80
+ // Check iteration limit
81
+ if (state.iteration >= maxIterations) {
82
+ state.status = 'max_iterations';
83
+ // Emit decision event for max iterations
84
+ // Requirement: 3.5
85
+ if (options.onEvent) {
86
+ options.onEvent(createDecisionEvent(sessionId, `Reached maximum iteration limit (${maxIterations})`, false));
87
+ }
88
+ break;
89
+ }
90
+ // Check abort signal
91
+ if (options.abortSignal?.aborted) {
92
+ state.status = 'cancelled';
93
+ // Emit decision event for cancellation
94
+ // Requirement: 3.5
95
+ if (options.onEvent) {
96
+ options.onEvent(createDecisionEvent(sessionId, 'Operation was cancelled by user', false));
97
+ }
98
+ break;
99
+ }
100
+ // Execute one iteration with streaming support
101
+ await this.executeIterationWithStreaming(state, context, options, sessionId);
102
+ state.iteration++;
103
+ }
104
+ }
105
+ catch (error) {
106
+ // Check if this is an abort/cancellation error
107
+ // Requirements: 1.2, 3.3
108
+ const isAbortError = (error instanceof Error && error.name === 'AbortError') ||
109
+ (error instanceof Error && error.code === 'CANCELLED') ||
110
+ options.abortSignal?.aborted;
111
+ if (isAbortError) {
112
+ state.status = 'cancelled';
113
+ // Emit decision event for cancellation
114
+ if (options.onEvent) {
115
+ options.onEvent(createDecisionEvent(sessionId, 'Operation was cancelled by user', false));
116
+ }
117
+ }
118
+ else {
119
+ state.status = 'error';
120
+ state.error = error instanceof Error ? error.message : String(error);
121
+ }
122
+ }
123
+ state.endTime = new Date();
124
+ return this.buildResult(state);
125
+ }
126
+ /**
127
+ * Execute a single iteration of the loop with streaming support
128
+ * Requirements: 1.2, 1.5, 3.3, 3.4, 3.5
129
+ */
130
+ async executeIterationWithStreaming(state, context, options, sessionId) {
131
+ const iterationStartTime = Date.now();
132
+ const currentIteration = state.iteration + 1; // 1-indexed for display
133
+ const maxIterations = options.maxIterations ?? this.config.maxIterations;
134
+ // Emit iteration_started event
135
+ // Requirement: 1.2
136
+ if (options.onEvent) {
137
+ options.onEvent(createIterationStartedEvent(sessionId, currentIteration, maxIterations));
138
+ }
139
+ // Get tool definitions
140
+ const toolDefinitions = this.pluginManager.getToolDefinitions();
141
+ // Track if we've sent any content chunks during streaming
142
+ let hasStreamedContent = false;
143
+ // Create streaming callback if onEvent is provided
144
+ const onContentChunk = options.onEvent
145
+ ? (content) => {
146
+ hasStreamedContent = true;
147
+ options.onEvent(createContentChunkEvent(sessionId, content, false));
148
+ }
149
+ : undefined;
150
+ // Call LLM with tools - pass abortSignal for cancellation support
151
+ // Requirements: 3.1
152
+ const llmResponse = await this.callLLMWithTimeout(state.messages, toolDefinitions, options.timeout ?? this.config.iterationTimeout, options.abortSignal, onContentChunk);
153
+ let toolCallCount = 0;
154
+ // Check if LLM wants to call tools
155
+ if (llmResponse.toolCalls && llmResponse.toolCalls.length > 0) {
156
+ // Add assistant message with tool calls
157
+ state.messages.push({
158
+ role: 'assistant',
159
+ content: llmResponse.content || '',
160
+ toolCalls: llmResponse.toolCalls,
161
+ });
162
+ // If we didn't stream content (non-streaming fallback), send it now
163
+ // Requirement: 1.5, 3.3
164
+ if (!hasStreamedContent && llmResponse.content && options.onEvent) {
165
+ options.onEvent(createContentChunkEvent(sessionId, llmResponse.content, false));
166
+ }
167
+ // Execute tools with streaming events
168
+ const toolResults = await this.executeToolCallsWithStreaming(llmResponse.toolCalls, context, state, options, sessionId);
169
+ toolCallCount = toolResults.length;
170
+ // Add tool results as messages
171
+ for (const result of toolResults) {
172
+ state.messages.push({
173
+ role: 'tool',
174
+ content: JSON.stringify(result.result),
175
+ toolCallId: result.id,
176
+ });
177
+ }
178
+ }
179
+ else {
180
+ // LLM generated final response - task complete
181
+ state.messages.push({
182
+ role: 'assistant',
183
+ content: llmResponse.content || '',
184
+ });
185
+ state.status = 'completed';
186
+ // Stream final content
187
+ // Requirement: 1.5, 3.3
188
+ if (options.onEvent) {
189
+ if (!hasStreamedContent && llmResponse.content) {
190
+ // Non-streaming fallback: send all content at once
191
+ options.onEvent(createContentChunkEvent(sessionId, llmResponse.content, true));
192
+ }
193
+ else {
194
+ // Content was already streamed, just signal completion
195
+ options.onEvent(createContentChunkEvent(sessionId, '', true));
196
+ }
197
+ }
198
+ // Emit decision event for completion
199
+ // Requirement: 3.5
200
+ if (options.onEvent) {
201
+ options.onEvent(createDecisionEvent(sessionId, 'Task completed successfully', true));
202
+ }
203
+ }
204
+ // Emit iteration_completed event
205
+ // Requirement: 3.4
206
+ if (options.onEvent) {
207
+ const iterationDuration = Date.now() - iterationStartTime;
208
+ options.onEvent(createIterationCompletedEvent(sessionId, currentIteration, iterationDuration, toolCallCount));
209
+ }
210
+ }
211
+ /**
212
+ * Execute tool calls with streaming events
213
+ * Requirements: 1.3, 1.4, 8.2
214
+ */
215
+ async executeToolCallsWithStreaming(toolCalls, context, state, options, sessionId) {
216
+ const results = [];
217
+ if (this.config.parallelToolCalls && toolCalls.length > 1) {
218
+ // Execute in parallel
219
+ const promises = toolCalls.map((tc) => this.executeSingleToolCallWithStreaming(tc, context, options, sessionId));
220
+ const parallelResults = await Promise.all(promises);
221
+ results.push(...parallelResults);
222
+ }
223
+ else {
224
+ // Execute sequentially
225
+ for (const toolCall of toolCalls) {
226
+ const result = await this.executeSingleToolCallWithStreaming(toolCall, context, options, sessionId);
227
+ results.push(result);
228
+ }
229
+ }
230
+ // Add to state
231
+ state.toolCalls.push(...results);
232
+ return results;
233
+ }
234
+ /**
235
+ * Execute a single tool call with streaming events
236
+ * Requirements: 1.3, 1.4, 8.2
237
+ */
238
+ async executeSingleToolCallWithStreaming(toolCall, context, options, sessionId) {
239
+ const startTime = Date.now();
240
+ const toolName = toolCall.function.name;
241
+ const toolCallId = toolCall.id;
242
+ let result;
243
+ let args = {};
244
+ try {
245
+ // Parse arguments
246
+ args = JSON.parse(toolCall.function.arguments);
247
+ // Emit tool_call_started event
248
+ // Requirement: 1.3
249
+ if (options.onEvent) {
250
+ options.onEvent(createToolCallStartedEvent(sessionId, toolCallId, toolName, args));
251
+ }
252
+ // Get tool
253
+ const tool = this.pluginManager.getTool(toolName);
254
+ if (!tool) {
255
+ result = {
256
+ success: false,
257
+ content: `Tool not found: ${toolName}`,
258
+ error: {
259
+ code: 'TOOL_NOT_FOUND',
260
+ message: `Tool '${toolName}' is not registered`,
261
+ },
262
+ };
263
+ // Emit tool_error event
264
+ // Requirement: 8.2
265
+ if (options.onEvent) {
266
+ options.onEvent(createToolErrorEvent(sessionId, toolCallId, toolName, `Tool '${toolName}' is not registered`, true // recoverable - can continue with other tools
267
+ ));
268
+ }
269
+ }
270
+ else {
271
+ // Execute tool
272
+ result = await tool.execute(args, context);
273
+ const duration = Date.now() - startTime;
274
+ if (result.success) {
275
+ // Emit tool_call_completed event
276
+ // Requirement: 1.4
277
+ if (options.onEvent) {
278
+ options.onEvent(createToolCallCompletedEvent(sessionId, toolCallId, toolName, true, duration, result.data));
279
+ }
280
+ }
281
+ else {
282
+ // Emit tool_error event for failed execution
283
+ // Requirement: 8.2
284
+ if (options.onEvent) {
285
+ options.onEvent(createToolErrorEvent(sessionId, toolCallId, toolName, result.error?.message ?? result.content, true // recoverable - can continue with other tools
286
+ ));
287
+ }
288
+ }
289
+ }
290
+ }
291
+ catch (error) {
292
+ const errorMessage = error instanceof Error ? error.message : String(error);
293
+ result = {
294
+ success: false,
295
+ content: `Tool execution failed: ${errorMessage}`,
296
+ error: {
297
+ code: 'EXECUTION_ERROR',
298
+ message: errorMessage,
299
+ },
300
+ };
301
+ // Emit tool_error event
302
+ // Requirement: 8.2
303
+ if (options.onEvent) {
304
+ options.onEvent(createToolErrorEvent(sessionId, toolCallId, toolName, errorMessage, true // recoverable - can continue with other tools
305
+ ));
306
+ }
307
+ }
308
+ return {
309
+ id: toolCall.id,
310
+ toolName,
311
+ arguments: args,
312
+ result,
313
+ timestamp: new Date(),
314
+ duration: Date.now() - startTime,
315
+ };
316
+ }
317
+ /**
318
+ * Execute a single iteration of the loop
319
+ * @deprecated Use executeIterationWithStreaming instead
320
+ */
321
+ async executeIteration(state, context, options) {
322
+ // Delegate to the streaming version without events
323
+ await this.executeIterationWithStreaming(state, context, options, 'default');
324
+ }
325
+ /**
326
+ * Call LLM with timeout and abort signal support
327
+ *
328
+ * Creates a combined AbortController that responds to either:
329
+ * - Timeout expiration
330
+ * - External abort signal
331
+ *
332
+ * Requirements: 3.1, 3.2
333
+ */
334
+ async callLLMWithTimeout(messages, toolDefinitions, timeout, abortSignal, onContentChunk) {
335
+ // Create a combined AbortController for timeout and manual abort
336
+ const controller = new AbortController();
337
+ // Set up timeout
338
+ const timeoutId = setTimeout(() => controller.abort(), timeout);
339
+ // Listen to external abort signal
340
+ const onAbort = () => controller.abort();
341
+ abortSignal?.addEventListener('abort', onAbort);
342
+ try {
343
+ // Use streaming API if onContentChunk callback is provided
344
+ if (onContentChunk) {
345
+ const response = await this.llm.generateWithToolsStream('tool_calling', this.formatMessagesForLLM(messages), toolDefinitions, (chunk) => {
346
+ // Only forward content chunks
347
+ if (chunk.type === 'content' && chunk.content) {
348
+ onContentChunk(chunk.content);
349
+ }
350
+ }, { abortSignal: controller.signal });
351
+ // Convert LLM response tool calls to LLMToolCall format
352
+ const toolCalls = response.toolCalls?.map((tc) => {
353
+ if (tc.function && typeof tc.function.name === 'string') {
354
+ return {
355
+ id: tc.id,
356
+ type: 'function',
357
+ function: {
358
+ name: tc.function.name,
359
+ arguments: typeof tc.function.arguments === 'string'
360
+ ? tc.function.arguments
361
+ : JSON.stringify(tc.function.arguments),
362
+ },
363
+ };
364
+ }
365
+ return {
366
+ id: tc.id,
367
+ type: 'function',
368
+ function: {
369
+ name: tc.name,
370
+ arguments: typeof tc.arguments === 'string' ? tc.arguments : JSON.stringify(tc.arguments),
371
+ },
372
+ };
373
+ });
374
+ return {
375
+ content: response.content || '',
376
+ toolCalls,
377
+ };
378
+ }
379
+ // Non-streaming fallback
380
+ const response = await this.llm.generateWithTools('tool_calling', this.formatMessagesForLLM(messages), toolDefinitions, { abortSignal: controller.signal });
381
+ // Convert LLM response tool calls to LLMToolCall format
382
+ // Handle both formats: { name, arguments } and { function: { name, arguments } }
383
+ const toolCalls = response.toolCalls?.map((tc) => {
384
+ // Check if it's already in LLMToolCall format
385
+ if (tc.function && typeof tc.function.name === 'string') {
386
+ return {
387
+ id: tc.id,
388
+ type: 'function',
389
+ function: {
390
+ name: tc.function.name,
391
+ arguments: typeof tc.function.arguments === 'string'
392
+ ? tc.function.arguments
393
+ : JSON.stringify(tc.function.arguments),
394
+ },
395
+ };
396
+ }
397
+ // Otherwise, convert from { name, arguments } format
398
+ return {
399
+ id: tc.id,
400
+ type: 'function',
401
+ function: {
402
+ name: tc.name,
403
+ arguments: typeof tc.arguments === 'string' ? tc.arguments : JSON.stringify(tc.arguments),
404
+ },
405
+ };
406
+ });
407
+ return {
408
+ content: response.content || '',
409
+ toolCalls,
410
+ };
411
+ }
412
+ finally {
413
+ // Clean up resources - Requirements: 1.3
414
+ clearTimeout(timeoutId);
415
+ abortSignal?.removeEventListener('abort', onAbort);
416
+ }
417
+ }
418
+ /**
419
+ * Execute tool calls (parallel or sequential)
420
+ * @deprecated Use executeToolCallsWithStreaming instead
421
+ */
422
+ async executeToolCalls(toolCalls, context, state) {
423
+ // Delegate to the streaming version without events
424
+ return this.executeToolCallsWithStreaming(toolCalls, context, state, {}, 'default');
425
+ }
426
+ /**
427
+ * Execute a single tool call
428
+ * @deprecated Use executeSingleToolCallWithStreaming instead
429
+ */
430
+ async executeSingleToolCall(toolCall, context) {
431
+ // Delegate to the streaming version without events
432
+ return this.executeSingleToolCallWithStreaming(toolCall, context, {}, 'default');
433
+ }
434
+ /**
435
+ * Format messages for LLM API
436
+ */
437
+ formatMessagesForLLM(messages) {
438
+ return messages.map((msg) => {
439
+ const formatted = {
440
+ role: msg.role,
441
+ content: msg.content,
442
+ };
443
+ if (msg.toolCallId) {
444
+ formatted.toolCallId = msg.toolCallId;
445
+ }
446
+ // Include tool calls for assistant messages
447
+ if (msg.role === 'assistant' && msg.toolCalls && msg.toolCalls.length > 0) {
448
+ formatted.toolCalls = msg.toolCalls.map((tc) => {
449
+ let args = {};
450
+ try {
451
+ args = JSON.parse(tc.function.arguments);
452
+ }
453
+ catch {
454
+ // If JSON parsing fails, use empty object
455
+ // The error will be handled during tool execution
456
+ args = {};
457
+ }
458
+ return {
459
+ id: tc.id,
460
+ name: tc.function.name,
461
+ arguments: args,
462
+ };
463
+ });
464
+ }
465
+ return formatted;
466
+ });
467
+ }
468
+ /**
469
+ * Build the final result
470
+ */
471
+ buildResult(state) {
472
+ // Get the last assistant message as the final content
473
+ const lastAssistantMessage = [...state.messages].reverse().find((m) => m.role === 'assistant');
474
+ return {
475
+ status: state.status,
476
+ content: lastAssistantMessage?.content || '',
477
+ toolCalls: state.toolCalls,
478
+ iterations: state.iteration,
479
+ duration: state.endTime ? state.endTime.getTime() - state.startTime.getTime() : 0,
480
+ error: state.error,
481
+ };
482
+ }
483
+ /**
484
+ * Update loop configuration
485
+ */
486
+ updateConfig(config) {
487
+ this.config = { ...this.config, ...config };
488
+ }
489
+ /**
490
+ * Get current configuration
491
+ */
492
+ getConfig() {
493
+ return { ...this.config };
494
+ }
495
+ }
496
+ //# sourceMappingURL=agentic-loop.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agentic-loop.js","sourceRoot":"","sources":["../../src/core/agentic-loop.ts"],"names":[],"mappings":"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"}