@codebolt/agent 1.2.1 → 2.2.3

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 (285) hide show
  1. package/README.md +157 -66
  2. package/dist/{agent.js → builderpattern/agent.js} +2 -2
  3. package/dist/{followupquestionbuilder.d.ts → builderpattern/followupquestionbuilder.d.ts} +1 -1
  4. package/dist/{followupquestionbuilder.js → builderpattern/followupquestionbuilder.js} +1 -1
  5. package/dist/{index.d.ts → builderpattern/index.d.ts} +3 -3
  6. package/dist/{llmoutputhandler.d.ts → builderpattern/llmoutputhandler.d.ts} +1 -1
  7. package/dist/{llmoutputhandler.js → builderpattern/llmoutputhandler.js} +7 -7
  8. package/dist/{promptbuilder.d.ts → builderpattern/promptbuilder.d.ts} +3 -3
  9. package/dist/{taskInstruction.d.ts → builderpattern/taskInstruction.d.ts} +2 -2
  10. package/dist/{usermessage.d.ts → builderpattern/usermessage.d.ts} +9 -4
  11. package/dist/composablepattern/agent.d.ts +169 -0
  12. package/dist/composablepattern/agent.js +598 -0
  13. package/dist/composablepattern/codebolt-storage.d.ts +67 -0
  14. package/dist/composablepattern/codebolt-storage.js +320 -0
  15. package/dist/composablepattern/document.d.ts +149 -0
  16. package/dist/composablepattern/document.js +372 -0
  17. package/dist/composablepattern/examples/codebolt-integration-example.d.ts +12 -0
  18. package/dist/composablepattern/examples/codebolt-integration-example.js +218 -0
  19. package/dist/composablepattern/examples/codebolt-storage-example.d.ts +40 -0
  20. package/dist/composablepattern/examples/codebolt-storage-example.js +223 -0
  21. package/dist/composablepattern/examples/custom-steps-example.d.ts +20 -0
  22. package/dist/composablepattern/examples/custom-steps-example.js +455 -0
  23. package/dist/composablepattern/examples/document-agent.d.ts +17 -0
  24. package/dist/composablepattern/examples/document-agent.js +107 -0
  25. package/dist/composablepattern/examples/simple-codebolt-integration.d.ts +8 -0
  26. package/dist/composablepattern/examples/simple-codebolt-integration.js +164 -0
  27. package/dist/composablepattern/examples/weather-agent.d.ts +18 -0
  28. package/dist/composablepattern/examples/weather-agent.js +86 -0
  29. package/dist/composablepattern/examples/workflow-example.d.ts +12 -0
  30. package/dist/composablepattern/examples/workflow-example.js +463 -0
  31. package/dist/composablepattern/index.d.ts +63 -0
  32. package/dist/composablepattern/index.js +115 -0
  33. package/dist/composablepattern/memory.d.ts +89 -0
  34. package/dist/composablepattern/memory.js +141 -0
  35. package/dist/composablepattern/tool.d.ts +84 -0
  36. package/dist/composablepattern/tool.js +260 -0
  37. package/dist/composablepattern/types.d.ts +194 -0
  38. package/dist/composablepattern/types.js +6 -0
  39. package/dist/composablepattern/user-context.d.ts +214 -0
  40. package/dist/composablepattern/user-context.js +275 -0
  41. package/dist/composablepattern/workflow.d.ts +388 -0
  42. package/dist/composablepattern/workflow.js +562 -0
  43. package/dist/local-tools/fileTools.d.ts +26 -0
  44. package/dist/local-tools/fileTools.js +162 -0
  45. package/dist/processor/agent/agentStep.d.ts +49 -0
  46. package/dist/processor/agent/agentStep.js +241 -0
  47. package/dist/processor/agent/toolExecutor.d.ts +19 -0
  48. package/dist/processor/agent/toolExecutor.js +90 -0
  49. package/dist/processor/index.d.ts +7 -0
  50. package/dist/processor/index.js +36 -0
  51. package/dist/processor/messageModifiers/baseMessageModifier.d.ts +20 -0
  52. package/dist/processor/messageModifiers/baseMessageModifier.js +55 -0
  53. package/dist/processor/processors/baseProcessor.d.ts +14 -0
  54. package/dist/processor/processors/baseProcessor.js +29 -0
  55. package/dist/processor/tools/baseTool.d.ts +10 -0
  56. package/dist/processor/tools/baseTool.js +20 -0
  57. package/dist/processor/tools/toolList.d.ts +9 -0
  58. package/dist/processor/tools/toolList.js +22 -0
  59. package/dist/processor/types/interfaces.d.ts +117 -0
  60. package/dist/processor/types/interfaces.js +2 -0
  61. package/dist/processor-pieces/additionalModifiers/argumentProcessorModifier.d.ts +13 -0
  62. package/dist/processor-pieces/additionalModifiers/argumentProcessorModifier.js +68 -0
  63. package/dist/processor-pieces/additionalModifiers/atFileProcessorModifier.d.ts +15 -0
  64. package/dist/processor-pieces/additionalModifiers/atFileProcessorModifier.js +212 -0
  65. package/dist/processor-pieces/additionalModifiers/chatCompressionModifier.d.ts +19 -0
  66. package/dist/processor-pieces/additionalModifiers/chatCompressionModifier.js +110 -0
  67. package/dist/processor-pieces/additionalModifiers/chatRecordingModifier.d.ts +23 -0
  68. package/dist/processor-pieces/additionalModifiers/chatRecordingModifier.js +173 -0
  69. package/dist/processor-pieces/additionalModifiers/coreSystemPromptModifier.d.ts +14 -0
  70. package/dist/processor-pieces/additionalModifiers/coreSystemPromptModifier.js +93 -0
  71. package/dist/processor-pieces/additionalModifiers/directoryContextModifier.d.ts +30 -0
  72. package/dist/processor-pieces/additionalModifiers/directoryContextModifier.js +330 -0
  73. package/dist/processor-pieces/additionalModifiers/environmentContextModifier.d.ts +26 -0
  74. package/dist/processor-pieces/additionalModifiers/environmentContextModifier.js +269 -0
  75. package/dist/processor-pieces/additionalModifiers/fallbackHandlerModifier.d.ts +38 -0
  76. package/dist/processor-pieces/additionalModifiers/fallbackHandlerModifier.js +217 -0
  77. package/dist/processor-pieces/additionalModifiers/ideContextModifier.d.ts +34 -0
  78. package/dist/processor-pieces/additionalModifiers/ideContextModifier.js +147 -0
  79. package/dist/processor-pieces/additionalModifiers/index.d.ts +12 -0
  80. package/dist/processor-pieces/additionalModifiers/index.js +28 -0
  81. package/dist/processor-pieces/additionalModifiers/loopDetectionModifier.d.ts +29 -0
  82. package/dist/processor-pieces/additionalModifiers/loopDetectionModifier.js +155 -0
  83. package/dist/processor-pieces/additionalModifiers/memoryImportModifier.d.ts +15 -0
  84. package/dist/processor-pieces/additionalModifiers/memoryImportModifier.js +129 -0
  85. package/dist/processor-pieces/additionalModifiers/shellProcessorModifier.d.ts +25 -0
  86. package/dist/processor-pieces/additionalModifiers/shellProcessorModifier.js +169 -0
  87. package/dist/processor-pieces/additionalModifiers/toolInjectionModifier.d.ts +20 -0
  88. package/dist/processor-pieces/additionalModifiers/toolInjectionModifier.js +152 -0
  89. package/dist/processor-pieces/base/baseMessageModifier.d.ts +12 -0
  90. package/dist/processor-pieces/base/baseMessageModifier.js +15 -0
  91. package/dist/processor-pieces/base/basePostInferenceProcessor.d.ts +13 -0
  92. package/dist/processor-pieces/base/basePostInferenceProcessor.js +18 -0
  93. package/dist/processor-pieces/base/basePostToolCallProcessor.d.ts +15 -0
  94. package/dist/processor-pieces/base/basePostToolCallProcessor.js +25 -0
  95. package/dist/processor-pieces/base/basePreInferenceProcessor.d.ts +12 -0
  96. package/dist/processor-pieces/base/basePreInferenceProcessor.js +17 -0
  97. package/dist/processor-pieces/base/basePreToolCallProcessor.d.ts +18 -0
  98. package/dist/processor-pieces/base/basePreToolCallProcessor.js +66 -0
  99. package/dist/processor-pieces/base/index.d.ts +9 -0
  100. package/dist/processor-pieces/base/index.js +18 -0
  101. package/dist/processor-pieces/index.d.ts +1 -0
  102. package/dist/processor-pieces/index.js +59 -0
  103. package/dist/processor-pieces/messageModifiers/addCurrentDirectoryRootFilesModifier.d.ts +7 -0
  104. package/dist/processor-pieces/messageModifiers/addCurrentDirectoryRootFilesModifier.js +93 -0
  105. package/dist/processor-pieces/messageModifiers/addToolsListMessageModifier.d.ts +31 -0
  106. package/dist/processor-pieces/messageModifiers/addToolsListMessageModifier.js +145 -0
  107. package/dist/processor-pieces/messageModifiers/advancedSystemInstructionMessageModifier.d.ts +9 -0
  108. package/dist/processor-pieces/messageModifiers/advancedSystemInstructionMessageModifier.js +77 -0
  109. package/dist/processor-pieces/messageModifiers/argumentProcessorModifier.d.ts +13 -0
  110. package/dist/processor-pieces/messageModifiers/argumentProcessorModifier.js +68 -0
  111. package/dist/processor-pieces/messageModifiers/atFileProcessorModifier.d.ts +25 -0
  112. package/dist/processor-pieces/messageModifiers/atFileProcessorModifier.js +453 -0
  113. package/dist/processor-pieces/messageModifiers/baseContextMessageModifier.d.ts +7 -0
  114. package/dist/processor-pieces/messageModifiers/baseContextMessageModifier.js +67 -0
  115. package/dist/processor-pieces/messageModifiers/baseSystemInstructionMessageModifier.d.ts +9 -0
  116. package/dist/processor-pieces/messageModifiers/baseSystemInstructionMessageModifier.js +90 -0
  117. package/dist/processor-pieces/messageModifiers/chatCompressionModifier.d.ts +19 -0
  118. package/dist/processor-pieces/messageModifiers/chatCompressionModifier.js +110 -0
  119. package/dist/processor-pieces/messageModifiers/chatHistoryMessageModifier.d.ts +18 -0
  120. package/dist/processor-pieces/messageModifiers/chatHistoryMessageModifier.example.d.ts +20 -0
  121. package/dist/processor-pieces/messageModifiers/chatHistoryMessageModifier.example.js +124 -0
  122. package/dist/processor-pieces/messageModifiers/chatHistoryMessageModifier.js +104 -0
  123. package/dist/processor-pieces/messageModifiers/chatRecordingModifier.d.ts +23 -0
  124. package/dist/processor-pieces/messageModifiers/chatRecordingModifier.js +173 -0
  125. package/dist/processor-pieces/messageModifiers/coreSystemPromptModifier.d.ts +14 -0
  126. package/dist/processor-pieces/messageModifiers/coreSystemPromptModifier.js +130 -0
  127. package/dist/processor-pieces/messageModifiers/directoryContextModifier.d.ts +36 -0
  128. package/dist/processor-pieces/messageModifiers/directoryContextModifier.js +418 -0
  129. package/dist/processor-pieces/messageModifiers/environmentContext.d.ts +41 -0
  130. package/dist/processor-pieces/messageModifiers/environmentContext.js +355 -0
  131. package/dist/processor-pieces/messageModifiers/environmentContextModifier.d.ts +26 -0
  132. package/dist/processor-pieces/messageModifiers/environmentContextModifier.js +260 -0
  133. package/dist/processor-pieces/messageModifiers/handleUrlMessageModifier.d.ts +13 -0
  134. package/dist/processor-pieces/messageModifiers/handleUrlMessageModifier.js +59 -0
  135. package/dist/processor-pieces/messageModifiers/ideContextModifier.d.ts +34 -0
  136. package/dist/processor-pieces/messageModifiers/ideContextModifier.js +157 -0
  137. package/dist/processor-pieces/messageModifiers/imageAttachmentMessageModifier.d.ts +19 -0
  138. package/dist/processor-pieces/messageModifiers/imageAttachmentMessageModifier.js +221 -0
  139. package/dist/processor-pieces/messageModifiers/index.d.ts +11 -0
  140. package/dist/processor-pieces/messageModifiers/index.js +26 -0
  141. package/dist/processor-pieces/messageModifiers/memoryImportModifier.d.ts +15 -0
  142. package/dist/processor-pieces/messageModifiers/memoryImportModifier.js +129 -0
  143. package/dist/processor-pieces/messageModifiers/mentionedFilesModifier.d.ts +23 -0
  144. package/dist/processor-pieces/messageModifiers/mentionedFilesModifier.js +207 -0
  145. package/dist/processor-pieces/messageModifiers/simpleMessageModifier.d.ts +7 -0
  146. package/dist/processor-pieces/messageModifiers/simpleMessageModifier.js +26 -0
  147. package/dist/processor-pieces/messageModifiers/toolInjectionModifier.d.ts +20 -0
  148. package/dist/processor-pieces/messageModifiers/toolInjectionModifier.js +152 -0
  149. package/dist/processor-pieces/messageModifiers/workingDirectoryMessageModifier.d.ts +38 -0
  150. package/dist/processor-pieces/messageModifiers/workingDirectoryMessageModifier.js +392 -0
  151. package/dist/processor-pieces/postInference/llmOutputValidityProcessor.d.ts +1 -0
  152. package/dist/processor-pieces/postInference/llmOutputValidityProcessor.js +2 -0
  153. package/dist/processor-pieces/postInferenceProcessors/checkForNoToolCall.d.ts +7 -0
  154. package/dist/processor-pieces/postInferenceProcessors/checkForNoToolCall.js +24 -0
  155. package/dist/processor-pieces/postInferenceProcessors/loopDetectionModifier.d.ts +29 -0
  156. package/dist/processor-pieces/postInferenceProcessors/loopDetectionModifier.js +174 -0
  157. package/dist/processor-pieces/postToolCall/advancedLoopDetectionProcessor.d.ts +41 -0
  158. package/dist/processor-pieces/postToolCall/advancedLoopDetectionProcessor.js +197 -0
  159. package/dist/processor-pieces/postToolCall/chatCompressionProcessor.d.ts +26 -0
  160. package/dist/processor-pieces/postToolCall/chatCompressionProcessor.js +90 -0
  161. package/dist/processor-pieces/postToolCall/chatRecordingProcessor.d.ts +81 -0
  162. package/dist/processor-pieces/postToolCall/chatRecordingProcessor.js +329 -0
  163. package/dist/processor-pieces/postToolCall/contextManagementProcessor.d.ts +40 -0
  164. package/dist/processor-pieces/postToolCall/contextManagementProcessor.js +272 -0
  165. package/dist/processor-pieces/postToolCall/conversationCompactorProcessor.d.ts +49 -0
  166. package/dist/processor-pieces/postToolCall/conversationCompactorProcessor.js +291 -0
  167. package/dist/processor-pieces/postToolCall/conversationContinuityProcessor.d.ts +49 -0
  168. package/dist/processor-pieces/postToolCall/conversationContinuityProcessor.js +293 -0
  169. package/dist/processor-pieces/postToolCall/followUpConversationProcessor.d.ts +47 -0
  170. package/dist/processor-pieces/postToolCall/followUpConversationProcessor.js +249 -0
  171. package/dist/processor-pieces/postToolCall/loopDetectionProcessor.d.ts +30 -0
  172. package/dist/processor-pieces/postToolCall/loopDetectionProcessor.js +137 -0
  173. package/dist/processor-pieces/postToolCall/responseValidationProcessor.d.ts +30 -0
  174. package/dist/processor-pieces/postToolCall/responseValidationProcessor.js +228 -0
  175. package/dist/processor-pieces/postToolCall/telemetryProcessor.d.ts +99 -0
  176. package/dist/processor-pieces/postToolCall/telemetryProcessor.js +278 -0
  177. package/dist/processor-pieces/postToolCall/tokenManagementProcessor.d.ts +37 -0
  178. package/dist/processor-pieces/postToolCall/tokenManagementProcessor.js +178 -0
  179. package/dist/processor-pieces/postToolCall/toolExecutionProcessor.d.ts +43 -0
  180. package/dist/processor-pieces/postToolCall/toolExecutionProcessor.js +207 -0
  181. package/dist/processor-pieces/postToolCallProcessors/index.d.ts +1 -0
  182. package/dist/processor-pieces/postToolCallProcessors/index.js +2 -0
  183. package/dist/processor-pieces/postToolCallProcessors/shellProcessorModifier.d.ts +25 -0
  184. package/dist/processor-pieces/postToolCallProcessors/shellProcessorModifier.js +225 -0
  185. package/dist/processor-pieces/preInference/conversationCompactorProcessor.d.ts +52 -0
  186. package/dist/processor-pieces/preInference/conversationCompactorProcessor.js +264 -0
  187. package/dist/processor-pieces/preInference/conversationContinuityProcessor.d.ts +49 -0
  188. package/dist/processor-pieces/preInference/conversationContinuityProcessor.js +293 -0
  189. package/dist/processor-pieces/preInferenceProcessors/chatCompressionModifier.d.ts +35 -0
  190. package/dist/processor-pieces/preInferenceProcessors/chatCompressionModifier.js +255 -0
  191. package/dist/processor-pieces/preInferenceProcessors/conversationCompaction.d.ts +7 -0
  192. package/dist/processor-pieces/preInferenceProcessors/conversationCompaction.js +31 -0
  193. package/dist/processor-pieces/preInferenceProcessors/index.d.ts +1 -0
  194. package/dist/processor-pieces/preInferenceProcessors/index.js +2 -0
  195. package/dist/processor-pieces/preToolCall/index.d.ts +9 -0
  196. package/dist/processor-pieces/preToolCall/index.js +18 -0
  197. package/dist/processor-pieces/preToolCall/localToolInterceptorProcessor.d.ts +58 -0
  198. package/dist/processor-pieces/preToolCall/localToolInterceptorProcessor.js +444 -0
  199. package/dist/processor-pieces/preToolCall/toolParameterModifierProcessor.d.ts +44 -0
  200. package/dist/processor-pieces/preToolCall/toolParameterModifierProcessor.js +367 -0
  201. package/dist/processor-pieces/preToolCall/toolValidationProcessor.d.ts +58 -0
  202. package/dist/processor-pieces/preToolCall/toolValidationProcessor.js +391 -0
  203. package/dist/processor-pieces/pretoolCallProcessors/index.d.ts +1 -0
  204. package/dist/processor-pieces/pretoolCallProcessors/index.js +2 -0
  205. package/dist/processor-pieces/processors/advancedLoopDetectionProcessor.d.ts +41 -0
  206. package/dist/processor-pieces/processors/advancedLoopDetectionProcessor.js +197 -0
  207. package/dist/processor-pieces/processors/chatCompressionProcessor.d.ts +26 -0
  208. package/dist/processor-pieces/processors/chatCompressionProcessor.js +90 -0
  209. package/dist/processor-pieces/processors/chatRecordingProcessor.d.ts +81 -0
  210. package/dist/processor-pieces/processors/chatRecordingProcessor.js +329 -0
  211. package/dist/processor-pieces/processors/contextManagementProcessor.d.ts +40 -0
  212. package/dist/processor-pieces/processors/contextManagementProcessor.js +305 -0
  213. package/dist/processor-pieces/processors/loopDetectionProcessor.d.ts +30 -0
  214. package/dist/processor-pieces/processors/loopDetectionProcessor.js +137 -0
  215. package/dist/processor-pieces/processors/responseValidationProcessor.d.ts +30 -0
  216. package/dist/processor-pieces/processors/responseValidationProcessor.js +228 -0
  217. package/dist/processor-pieces/processors/telemetryProcessor.d.ts +99 -0
  218. package/dist/processor-pieces/processors/telemetryProcessor.js +311 -0
  219. package/dist/processor-pieces/processors/tokenManagementProcessor.d.ts +37 -0
  220. package/dist/processor-pieces/processors/tokenManagementProcessor.js +178 -0
  221. package/dist/processor-pieces/processors/toolExecutionProcessor.d.ts +43 -0
  222. package/dist/processor-pieces/processors/toolExecutionProcessor.js +207 -0
  223. package/dist/processor-pieces/tools/fileTools.d.ts +26 -0
  224. package/dist/processor-pieces/tools/fileTools.js +162 -0
  225. package/dist/processor-pieces/utils/messageModifierHelper.d.ts +4 -0
  226. package/dist/processor-pieces/utils/messageModifierHelper.js +58 -0
  227. package/dist/types/commonTypes.d.ts +4 -0
  228. package/dist/types/processorTypes.d.ts +67 -0
  229. package/dist/types/processorTypes.js +58 -0
  230. package/dist/unified/agent/agent.d.ts +17 -0
  231. package/dist/unified/agent/agent.js +79 -0
  232. package/dist/unified/agent/team.d.ts +2 -0
  233. package/dist/unified/agent/team.js +6 -0
  234. package/dist/unified/agent/tool.d.ts +99 -0
  235. package/dist/unified/agent/tool.js +440 -0
  236. package/dist/unified/agent/tools.d.ts +44 -0
  237. package/dist/unified/agent/tools.js +487 -0
  238. package/dist/unified/agent/workflow.d.ts +24 -0
  239. package/dist/unified/agent/workflow.js +275 -0
  240. package/dist/unified/agent/workflowControls.d.ts +11 -0
  241. package/dist/unified/agent/workflowControls.js +20 -0
  242. package/dist/unified/agent/workflowSteps.d.ts +63 -0
  243. package/dist/unified/agent/workflowSteps.js +284 -0
  244. package/dist/unified/base/agentStep.d.ts +32 -0
  245. package/dist/unified/base/agentStep.js +96 -0
  246. package/dist/unified/base/create/createInitialPromptGenerators.d.ts +5 -0
  247. package/dist/unified/base/create/createInitialPromptGenerators.js +17 -0
  248. package/dist/unified/base/index.d.ts +5 -0
  249. package/dist/unified/base/index.js +13 -0
  250. package/dist/unified/base/initialPromptGenerator.d.ts +48 -0
  251. package/dist/unified/base/initialPromptGenerator.js +118 -0
  252. package/dist/unified/base/responseExecutor.d.ts +36 -0
  253. package/dist/unified/base/responseExecutor.js +283 -0
  254. package/dist/unified/examples/agentExample.d.ts +46 -0
  255. package/dist/unified/examples/agentExample.js +464 -0
  256. package/dist/unified/examples/documentationPatternExample.d.ts +10 -0
  257. package/dist/unified/examples/documentationPatternExample.js +385 -0
  258. package/dist/unified/examples/followUpProcessorsExample.d.ts +45 -0
  259. package/dist/unified/examples/followUpProcessorsExample.js +311 -0
  260. package/dist/unified/examples/orchestratorExample.d.ts +16 -0
  261. package/dist/unified/examples/orchestratorExample.js +415 -0
  262. package/dist/unified/examples/preToolCallProcessorsExample.d.ts +36 -0
  263. package/dist/unified/examples/preToolCallProcessorsExample.js +458 -0
  264. package/dist/unified/examples/workflowExample.d.ts +12 -0
  265. package/dist/unified/examples/workflowExample.js +497 -0
  266. package/dist/unified/index.d.ts +18 -0
  267. package/dist/unified/index.js +42 -0
  268. package/dist/unified/orchestrator/orchestrator.d.ts +260 -0
  269. package/dist/unified/orchestrator/orchestrator.js +519 -0
  270. package/dist/unified/team/team.d.ts +1 -0
  271. package/dist/unified/team/team.js +2 -0
  272. package/dist/unified/types/libTypes.d.ts +378 -0
  273. package/dist/unified/types/libTypes.js +6 -0
  274. package/dist/unified/types/types.d.ts +212 -0
  275. package/dist/unified/types/types.js +43 -0
  276. package/dist/unified/utils/utils.d.ts +40 -0
  277. package/dist/unified/utils/utils.js +219 -0
  278. package/package.json +35 -13
  279. /package/dist/{agent.d.ts → builderpattern/agent.d.ts} +0 -0
  280. /package/dist/{index.js → builderpattern/index.js} +0 -0
  281. /package/dist/{promptbuilder.js → builderpattern/promptbuilder.js} +0 -0
  282. /package/dist/{systemprompt.d.ts → builderpattern/systemprompt.d.ts} +0 -0
  283. /package/dist/{systemprompt.js → builderpattern/systemprompt.js} +0 -0
  284. /package/dist/{taskInstruction.js → builderpattern/taskInstruction.js} +0 -0
  285. /package/dist/{usermessage.js → builderpattern/usermessage.js} +0 -0
@@ -0,0 +1,415 @@
1
+ "use strict";
2
+ /**
3
+ * Orchestrator Pattern Example for Unified Agent Framework
4
+ *
5
+ * This example demonstrates how to create and use an orchestrator that can
6
+ * dynamically coordinate agents, workflows, and tools based on the pattern
7
+ * described in the documentation.
8
+ */
9
+ Object.defineProperty(exports, "__esModule", { value: true });
10
+ exports.runOrchestratorExamples = runOrchestratorExamples;
11
+ exports.orchestratorPatternExample = orchestratorPatternExample;
12
+ exports.dynamicResourceSelectionExample = dynamicResourceSelectionExample;
13
+ exports.orchestratorAsToolExample = orchestratorAsToolExample;
14
+ const zod_1 = require("zod");
15
+ const index_1 = require("../index");
16
+ // ================================
17
+ // Example: Multi-Resource Orchestration
18
+ // ================================
19
+ async function orchestratorPatternExample() {
20
+ console.log('=== Orchestrator Pattern Example ===');
21
+ // Create Agent 1: Research Agent
22
+ const agent1 = (0, index_1.createAgent)({
23
+ name: 'Research Agent',
24
+ instructions: 'You are a research specialist. Gather and synthesize information on given topics.',
25
+ description: 'Specializes in research and information synthesis',
26
+ tools: [
27
+ (0, index_1.createTool)({
28
+ id: 'research-tool',
29
+ name: 'Research Tool',
30
+ description: 'Conduct research on a given topic',
31
+ inputSchema: zod_1.z.object({
32
+ topic: zod_1.z.string(),
33
+ depth: zod_1.z.enum(['basic', 'detailed', 'comprehensive']).optional().default('detailed')
34
+ }),
35
+ execute: async ({ input }) => {
36
+ // Simulate research
37
+ return {
38
+ findings: `Comprehensive research on ${input.topic}`,
39
+ sources: ['Source 1', 'Source 2', 'Source 3'],
40
+ confidence: 0.85,
41
+ summary: `Key insights about ${input.topic} based on current research.`
42
+ };
43
+ }
44
+ })
45
+ ]
46
+ });
47
+ // Create Agent 2: Analysis Agent
48
+ const agent2 = (0, index_1.createAgent)({
49
+ name: 'Analysis Agent',
50
+ instructions: 'You are an analytical expert. Analyze data and provide insights.',
51
+ description: 'Specializes in data analysis and insight generation',
52
+ tools: [
53
+ (0, index_1.createTool)({
54
+ id: 'analysis-tool',
55
+ name: 'Analysis Tool',
56
+ description: 'Analyze data and generate insights',
57
+ inputSchema: zod_1.z.object({
58
+ data: zod_1.z.string(),
59
+ analysisType: zod_1.z.enum(['trend', 'pattern', 'correlation']).optional().default('trend')
60
+ }),
61
+ execute: async ({ input }) => {
62
+ // Simulate analysis
63
+ return {
64
+ insights: `Analysis reveals key trends in: ${input.data}`,
65
+ metrics: { accuracy: 0.92, relevance: 0.88 },
66
+ recommendations: ['Recommendation 1', 'Recommendation 2']
67
+ };
68
+ }
69
+ })
70
+ ]
71
+ });
72
+ // Create Workflow 1: Research and Analysis Pipeline
73
+ const workflow1Config = {
74
+ name: 'Research and Analysis Pipeline',
75
+ description: 'Comprehensive research followed by detailed analysis',
76
+ steps: [
77
+ (0, index_1.createAgentStep)({
78
+ id: 'research-step',
79
+ name: 'Research Phase',
80
+ description: 'Conduct initial research',
81
+ agent: 'research-agent', // Reference by ID
82
+ message: 'Research the topic: {{topic}} with {{depth}} level of detail',
83
+ outputMapping: {
84
+ researchFindings: 'agentResult.response',
85
+ researchData: 'agentResult.toolResults'
86
+ }
87
+ }),
88
+ (0, index_1.createTransformStep)({
89
+ id: 'prepare-analysis',
90
+ name: 'Prepare Analysis Data',
91
+ description: 'Transform research data for analysis',
92
+ transform: (data) => ({
93
+ analysisInput: `Research findings: ${data.researchFindings}`,
94
+ analysisType: 'trend'
95
+ })
96
+ }),
97
+ (0, index_1.createAgentStep)({
98
+ id: 'analysis-step',
99
+ name: 'Analysis Phase',
100
+ description: 'Analyze research findings',
101
+ agent: 'analysis-agent', // Reference by ID
102
+ message: 'Analyze this data: {{analysisInput}} using {{analysisType}} analysis',
103
+ outputMapping: {
104
+ finalInsights: 'agentResult.response',
105
+ analysisMetrics: 'agentResult.toolResults'
106
+ }
107
+ })
108
+ ],
109
+ initialData: {
110
+ topic: 'Artificial Intelligence Trends',
111
+ depth: 'comprehensive'
112
+ }
113
+ };
114
+ const workflow1 = (0, index_1.createWorkflow)(workflow1Config);
115
+ // Add agents to workflow context
116
+ workflow1.addAgent('research-agent', agent1);
117
+ workflow1.addAgent('analysis-agent', agent2);
118
+ // Create standalone tools
119
+ const summaryTool = (0, index_1.createTool)({
120
+ id: 'summary-tool',
121
+ name: 'Summary Generator',
122
+ description: 'Generate executive summaries',
123
+ inputSchema: zod_1.z.object({
124
+ content: zod_1.z.string(),
125
+ length: zod_1.z.enum(['short', 'medium', 'long']).optional().default('medium')
126
+ }),
127
+ execute: async ({ input }) => {
128
+ return {
129
+ summary: `Executive summary of: ${input.content.substring(0, 100)}...`,
130
+ keyPoints: ['Point 1', 'Point 2', 'Point 3'],
131
+ wordCount: input.length === 'short' ? 150 : input.length === 'medium' ? 300 : 500
132
+ };
133
+ }
134
+ });
135
+ const reportTool = (0, index_1.createTool)({
136
+ id: 'report-generator',
137
+ name: 'Report Generator',
138
+ description: 'Generate formatted reports',
139
+ inputSchema: zod_1.z.object({
140
+ data: zod_1.z.record(zod_1.z.unknown()),
141
+ format: zod_1.z.enum(['pdf', 'html', 'markdown']).optional().default('markdown')
142
+ }),
143
+ execute: async ({ input }) => {
144
+ return {
145
+ report: `# Generated Report\n\nData: ${JSON.stringify(input.data, null, 2)}`,
146
+ format: input.format,
147
+ generatedAt: new Date().toISOString()
148
+ };
149
+ }
150
+ });
151
+ // Create Orchestrator Configuration
152
+ const orchestratorConfig = {
153
+ name: 'Multi-Resource Orchestrator',
154
+ description: 'Orchestrates agents, workflows, and tools dynamically',
155
+ instructions: `You are an intelligent orchestrator that can coordinate multiple resources:
156
+
157
+ AVAILABLE RESOURCES:
158
+ - Agents: agent1 (research), agent2 (analysis)
159
+ - Workflows: workflow1 (research and analysis pipeline)
160
+ - Tools: summary-tool, report-generator
161
+
162
+ DECISION MAKING:
163
+ 1. For research tasks → use agent1 or workflow1
164
+ 2. For analysis tasks → use agent2 or workflow1
165
+ 3. For summarization → use summary-tool
166
+ 4. For report generation → use report-generator
167
+ 5. For complex multi-step processes → use workflow1
168
+
169
+ Always consider:
170
+ - What the user is asking for
171
+ - What resources are best suited
172
+ - Whether a workflow or individual agents/tools are more appropriate
173
+ - The current context and previous executions
174
+
175
+ Make intelligent decisions about resource selection and execution order.`,
176
+ agents: {
177
+ agent1,
178
+ agent2
179
+ },
180
+ workflows: {
181
+ workflow1
182
+ },
183
+ tools: {
184
+ 'summary-tool': summaryTool,
185
+ 'report-generator': reportTool
186
+ },
187
+ limits: {
188
+ maxSteps: 10,
189
+ maxExecutionTime: 300000 // 5 minutes
190
+ },
191
+ decisionConfig: {
192
+ explainDecisions: true,
193
+ confidenceThreshold: 0.7,
194
+ askConfirmation: false
195
+ }
196
+ };
197
+ // Create the orchestrator
198
+ const orchestrator = (0, index_1.createOrchestrator)(orchestratorConfig);
199
+ // Create runtime context
200
+ const runtimeContext = (0, index_1.createRuntimeContext)({
201
+ userId: 'user123',
202
+ customData: {
203
+ userPreferences: {
204
+ reportFormat: 'markdown',
205
+ summaryLength: 'medium'
206
+ }
207
+ }
208
+ });
209
+ console.log('Starting orchestration...');
210
+ // Test Case 1: Simple research request
211
+ console.log('\n--- Test Case 1: Research Request ---');
212
+ const result1 = await orchestrator.loop('I need comprehensive research on emerging AI technologies in healthcare', { runtimeContext });
213
+ console.log('Research orchestration result:', {
214
+ success: result1.success,
215
+ steps: result1.executionSteps.length,
216
+ response: result1.response.substring(0, 200) + '...',
217
+ metrics: result1.metrics
218
+ });
219
+ // Test Case 2: Complex multi-step request
220
+ console.log('\n--- Test Case 2: Complex Multi-Step Request ---');
221
+ const result2 = await orchestrator.loop('Research AI in finance, analyze the trends, and generate a comprehensive report with executive summary', { runtimeContext: (0, index_1.createRuntimeContext)() });
222
+ console.log('Complex orchestration result:', {
223
+ success: result2.success,
224
+ steps: result2.executionSteps.length,
225
+ response: result2.response.substring(0, 200) + '...',
226
+ resourcesUsed: {
227
+ agents: result2.metrics.agentsExecuted,
228
+ workflows: result2.metrics.workflowsExecuted,
229
+ tools: result2.metrics.toolsExecuted
230
+ }
231
+ });
232
+ // Test Case 3: Workflow-specific request
233
+ console.log('\n--- Test Case 3: Workflow Request ---');
234
+ const result3 = await orchestrator.loop('Run the research and analysis workflow for blockchain technology', { runtimeContext: (0, index_1.createRuntimeContext)() });
235
+ console.log('Workflow orchestration result:', {
236
+ success: result3.success,
237
+ steps: result3.executionSteps.length,
238
+ workflowsExecuted: result3.metrics.workflowsExecuted,
239
+ averageConfidence: result3.metrics.averageConfidence
240
+ });
241
+ return { result1, result2, result3 };
242
+ }
243
+ // ================================
244
+ // Example: Dynamic Resource Selection
245
+ // ================================
246
+ async function dynamicResourceSelectionExample() {
247
+ console.log('\n=== Dynamic Resource Selection Example ===');
248
+ // Create specialized agents for different domains
249
+ const techAgent = (0, index_1.createAgent)({
250
+ name: 'Technology Expert',
251
+ instructions: 'You are a technology expert specializing in software, hardware, and emerging tech.',
252
+ tools: []
253
+ });
254
+ const businessAgent = (0, index_1.createAgent)({
255
+ name: 'Business Strategist',
256
+ instructions: 'You are a business strategist focusing on market analysis and strategic planning.',
257
+ tools: []
258
+ });
259
+ const creativeAgent = (0, index_1.createAgent)({
260
+ name: 'Creative Director',
261
+ instructions: 'You are a creative director specializing in content creation and design.',
262
+ tools: []
263
+ });
264
+ // Create domain-specific workflows
265
+ const techWorkflow = (0, index_1.createWorkflow)({
266
+ name: 'Technology Assessment',
267
+ description: 'Comprehensive technology evaluation workflow',
268
+ steps: [
269
+ (0, index_1.createAgentStep)({
270
+ id: 'tech-analysis',
271
+ name: 'Technology Analysis',
272
+ agent: techAgent,
273
+ message: 'Analyze the technology: {{topic}} from technical feasibility perspective'
274
+ })
275
+ ]
276
+ });
277
+ const businessWorkflow = (0, index_1.createWorkflow)({
278
+ name: 'Business Analysis',
279
+ description: 'Business impact and market analysis workflow',
280
+ steps: [
281
+ (0, index_1.createAgentStep)({
282
+ id: 'business-analysis',
283
+ name: 'Business Analysis',
284
+ agent: businessAgent,
285
+ message: 'Analyze the business implications of: {{topic}}'
286
+ })
287
+ ]
288
+ });
289
+ // Smart orchestrator that selects resources based on context
290
+ const smartOrchestrator = (0, index_1.createOrchestrator)({
291
+ name: 'Smart Domain Orchestrator',
292
+ instructions: `You are a smart orchestrator that selects the most appropriate resources based on the domain and context of the user's request.
293
+
294
+ DOMAIN DETECTION:
295
+ - Technology-related queries → use techAgent or techWorkflow
296
+ - Business-related queries → use businessAgent or businessWorkflow
297
+ - Creative-related queries → use creativeAgent
298
+ - Multi-domain queries → use multiple agents/workflows
299
+
300
+ RESOURCE SELECTION LOGIC:
301
+ 1. Analyze the user's request to identify the primary domain(s)
302
+ 2. Select the most appropriate agent(s) or workflow(s)
303
+ 3. For complex requests, coordinate multiple resources
304
+ 4. Always explain your resource selection reasoning`,
305
+ agents: {
306
+ techAgent,
307
+ businessAgent,
308
+ creativeAgent
309
+ },
310
+ workflows: {
311
+ techWorkflow,
312
+ businessWorkflow
313
+ },
314
+ decisionConfig: {
315
+ explainDecisions: true,
316
+ confidenceThreshold: 0.6
317
+ }
318
+ });
319
+ // Test different types of requests
320
+ const testCases = [
321
+ 'Evaluate the technical feasibility of implementing blockchain in our supply chain',
322
+ 'What are the market opportunities for AI-powered customer service tools?',
323
+ 'Create a creative campaign concept for our new mobile app launch',
324
+ 'Analyze both the technical and business aspects of adopting cloud-native architecture'
325
+ ];
326
+ const results = [];
327
+ for (const [index, testCase] of testCases.entries()) {
328
+ console.log(`\n--- Test Case ${index + 1}: ${testCase.substring(0, 50)}... ---`);
329
+ const result = await smartOrchestrator.loop(testCase, {
330
+ runtimeContext: (0, index_1.createRuntimeContext)()
331
+ });
332
+ console.log('Result:', {
333
+ success: result.success,
334
+ resourcesUsed: {
335
+ agents: result.metrics.agentsExecuted,
336
+ workflows: result.metrics.workflowsExecuted
337
+ },
338
+ confidence: result.metrics.averageConfidence,
339
+ executionTime: result.totalExecutionTime
340
+ });
341
+ results.push(result);
342
+ }
343
+ return results;
344
+ }
345
+ // ================================
346
+ // Example: Orchestrator as a Tool
347
+ // ================================
348
+ async function orchestratorAsToolExample() {
349
+ var _a;
350
+ console.log('\n=== Orchestrator as Tool Example ===');
351
+ // Create a simple orchestrator
352
+ const subOrchestrator = (0, index_1.createOrchestrator)({
353
+ name: 'Sub-Orchestrator',
354
+ instructions: 'You coordinate research and analysis tasks.',
355
+ agents: {
356
+ researcher: (0, index_1.createAgent)({
357
+ name: 'Researcher',
358
+ instructions: 'Conduct research on given topics.'
359
+ }),
360
+ analyzer: (0, index_1.createAgent)({
361
+ name: 'Analyzer',
362
+ instructions: 'Analyze research data and provide insights.'
363
+ })
364
+ },
365
+ workflows: {}
366
+ });
367
+ // Create a tool that wraps the orchestrator
368
+ const orchestratorTool = (0, index_1.createTool)({
369
+ id: 'research-orchestrator',
370
+ name: 'Research Orchestrator',
371
+ description: 'Orchestrate research and analysis using multiple agents',
372
+ inputSchema: zod_1.z.object({
373
+ task: zod_1.z.string(),
374
+ requirements: zod_1.z.array(zod_1.z.string()).optional()
375
+ }),
376
+ execute: async ({ input }) => {
377
+ const result = await subOrchestrator.loop(input.task);
378
+ return {
379
+ orchestrationResult: result.response,
380
+ stepsExecuted: result.executionSteps.length,
381
+ success: result.success,
382
+ metrics: result.metrics
383
+ };
384
+ }
385
+ });
386
+ // Create a main agent that can use the orchestrator as a tool
387
+ const mainAgent = (0, index_1.createAgent)({
388
+ name: 'Main Coordinator',
389
+ instructions: 'You are a main coordinator that can delegate complex tasks to specialized orchestrators.',
390
+ tools: [orchestratorTool]
391
+ });
392
+ // Test using orchestrator as a tool
393
+ const result = await mainAgent.execute('I need a comprehensive analysis of renewable energy trends. Use the research orchestrator to coordinate this task.');
394
+ console.log('Orchestrator as tool result:', {
395
+ success: result.success,
396
+ response: result.response.substring(0, 300) + '...',
397
+ toolsUsed: ((_a = result.toolResults) === null || _a === void 0 ? void 0 : _a.length) || 0
398
+ });
399
+ return result;
400
+ }
401
+ // ================================
402
+ // Run All Examples
403
+ // ================================
404
+ async function runOrchestratorExamples() {
405
+ try {
406
+ console.log('🚀 Starting Orchestrator Examples...\n');
407
+ await orchestratorPatternExample();
408
+ await dynamicResourceSelectionExample();
409
+ await orchestratorAsToolExample();
410
+ console.log('\n✅ All orchestrator examples completed successfully!');
411
+ }
412
+ catch (error) {
413
+ console.error('❌ Orchestrator example failed:', error);
414
+ }
415
+ }
@@ -0,0 +1,36 @@
1
+ /**
2
+ * Example demonstrating how to use pre-tool call processors
3
+ * with the Unified Agent Framework
4
+ */
5
+ import { LocalToolInterceptorProcessor } from '../processors';
6
+ import type { CodeboltAPI, OpenAITool } from '../types/libTypes';
7
+ /**
8
+ * Example 1: Basic Local Tool Interception
9
+ */
10
+ export declare function basicLocalToolInterceptionExample(codebolt: CodeboltAPI, tools: OpenAITool[]): Promise<any>;
11
+ /**
12
+ * Example 2: Tool Validation and Parameter Modification
13
+ */
14
+ export declare function toolValidationAndModificationExample(codebolt: CodeboltAPI, tools: OpenAITool[]): Promise<any>;
15
+ /**
16
+ * Example 3: Advanced Local Tool Handling with Custom Business Logic
17
+ */
18
+ export declare function advancedLocalToolHandlingExample(codebolt: CodeboltAPI, tools: OpenAITool[]): Promise<any>;
19
+ /**
20
+ * Example 4: Dynamic Processor Management
21
+ */
22
+ export declare function dynamicProcessorManagementExample(codebolt: CodeboltAPI, tools: OpenAITool[]): Promise<any>;
23
+ /**
24
+ * Example 5: Custom Processor with Monitoring
25
+ */
26
+ export declare class CustomToolMonitoringProcessor extends LocalToolInterceptorProcessor {
27
+ private toolExecutionMetrics;
28
+ processInput(input: any): Promise<any[]>;
29
+ private updateMetrics;
30
+ private getToolMetrics;
31
+ getAllMetrics(): Record<string, any>;
32
+ }
33
+ export declare function customMonitoringProcessorExample(codebolt: CodeboltAPI, tools: OpenAITool[]): Promise<{
34
+ result: any;
35
+ metrics: Record<string, any>;
36
+ }>;