illuma-agents 1.0.8 → 1.0.10

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 (250) hide show
  1. package/LICENSE +1 -5
  2. package/dist/cjs/common/enum.cjs +1 -2
  3. package/dist/cjs/common/enum.cjs.map +1 -1
  4. package/dist/cjs/events.cjs +11 -0
  5. package/dist/cjs/events.cjs.map +1 -1
  6. package/dist/cjs/graphs/Graph.cjs +2 -1
  7. package/dist/cjs/graphs/Graph.cjs.map +1 -1
  8. package/dist/cjs/instrumentation.cjs +3 -1
  9. package/dist/cjs/instrumentation.cjs.map +1 -1
  10. package/dist/cjs/llm/anthropic/types.cjs.map +1 -1
  11. package/dist/cjs/llm/anthropic/utils/message_inputs.cjs +79 -2
  12. package/dist/cjs/llm/anthropic/utils/message_inputs.cjs.map +1 -1
  13. package/dist/cjs/llm/anthropic/utils/tools.cjs.map +1 -1
  14. package/dist/cjs/llm/bedrock/index.cjs +99 -0
  15. package/dist/cjs/llm/bedrock/index.cjs.map +1 -0
  16. package/dist/cjs/llm/fake.cjs.map +1 -1
  17. package/dist/cjs/llm/openai/index.cjs +102 -0
  18. package/dist/cjs/llm/openai/index.cjs.map +1 -1
  19. package/dist/cjs/llm/openai/utils/index.cjs +87 -1
  20. package/dist/cjs/llm/openai/utils/index.cjs.map +1 -1
  21. package/dist/cjs/llm/openrouter/index.cjs +175 -1
  22. package/dist/cjs/llm/openrouter/index.cjs.map +1 -1
  23. package/dist/cjs/llm/providers.cjs +13 -16
  24. package/dist/cjs/llm/providers.cjs.map +1 -1
  25. package/dist/cjs/llm/text.cjs.map +1 -1
  26. package/dist/cjs/messages/core.cjs +14 -14
  27. package/dist/cjs/messages/core.cjs.map +1 -1
  28. package/dist/cjs/messages/ids.cjs.map +1 -1
  29. package/dist/cjs/messages/prune.cjs.map +1 -1
  30. package/dist/cjs/run.cjs +18 -1
  31. package/dist/cjs/run.cjs.map +1 -1
  32. package/dist/cjs/splitStream.cjs.map +1 -1
  33. package/dist/cjs/stream.cjs +24 -1
  34. package/dist/cjs/stream.cjs.map +1 -1
  35. package/dist/cjs/tools/ToolNode.cjs +20 -1
  36. package/dist/cjs/tools/ToolNode.cjs.map +1 -1
  37. package/dist/cjs/tools/handlers.cjs +29 -25
  38. package/dist/cjs/tools/handlers.cjs.map +1 -1
  39. package/dist/cjs/tools/search/anthropic.cjs.map +1 -1
  40. package/dist/cjs/tools/search/content.cjs.map +1 -1
  41. package/dist/cjs/tools/search/firecrawl.cjs.map +1 -1
  42. package/dist/cjs/tools/search/format.cjs.map +1 -1
  43. package/dist/cjs/tools/search/highlights.cjs.map +1 -1
  44. package/dist/cjs/tools/search/rerankers.cjs.map +1 -1
  45. package/dist/cjs/tools/search/schema.cjs +27 -25
  46. package/dist/cjs/tools/search/schema.cjs.map +1 -1
  47. package/dist/cjs/tools/search/search.cjs +6 -1
  48. package/dist/cjs/tools/search/search.cjs.map +1 -1
  49. package/dist/cjs/tools/search/serper-scraper.cjs.map +1 -1
  50. package/dist/cjs/tools/search/tool.cjs +182 -35
  51. package/dist/cjs/tools/search/tool.cjs.map +1 -1
  52. package/dist/cjs/tools/search/utils.cjs.map +1 -1
  53. package/dist/cjs/utils/graph.cjs.map +1 -1
  54. package/dist/cjs/utils/llm.cjs +0 -1
  55. package/dist/cjs/utils/llm.cjs.map +1 -1
  56. package/dist/cjs/utils/misc.cjs.map +1 -1
  57. package/dist/cjs/utils/run.cjs.map +1 -1
  58. package/dist/cjs/utils/title.cjs +7 -7
  59. package/dist/cjs/utils/title.cjs.map +1 -1
  60. package/dist/esm/common/enum.mjs +1 -2
  61. package/dist/esm/common/enum.mjs.map +1 -1
  62. package/dist/esm/events.mjs +11 -0
  63. package/dist/esm/events.mjs.map +1 -1
  64. package/dist/esm/graphs/Graph.mjs +2 -1
  65. package/dist/esm/graphs/Graph.mjs.map +1 -1
  66. package/dist/esm/instrumentation.mjs +3 -1
  67. package/dist/esm/instrumentation.mjs.map +1 -1
  68. package/dist/esm/llm/anthropic/types.mjs.map +1 -1
  69. package/dist/esm/llm/anthropic/utils/message_inputs.mjs +79 -2
  70. package/dist/esm/llm/anthropic/utils/message_inputs.mjs.map +1 -1
  71. package/dist/esm/llm/anthropic/utils/tools.mjs.map +1 -1
  72. package/dist/esm/llm/bedrock/index.mjs +97 -0
  73. package/dist/esm/llm/bedrock/index.mjs.map +1 -0
  74. package/dist/esm/llm/fake.mjs.map +1 -1
  75. package/dist/esm/llm/openai/index.mjs +103 -1
  76. package/dist/esm/llm/openai/index.mjs.map +1 -1
  77. package/dist/esm/llm/openai/utils/index.mjs +88 -2
  78. package/dist/esm/llm/openai/utils/index.mjs.map +1 -1
  79. package/dist/esm/llm/openrouter/index.mjs +175 -1
  80. package/dist/esm/llm/openrouter/index.mjs.map +1 -1
  81. package/dist/esm/llm/providers.mjs +2 -5
  82. package/dist/esm/llm/providers.mjs.map +1 -1
  83. package/dist/esm/llm/text.mjs.map +1 -1
  84. package/dist/esm/messages/core.mjs +14 -14
  85. package/dist/esm/messages/core.mjs.map +1 -1
  86. package/dist/esm/messages/ids.mjs.map +1 -1
  87. package/dist/esm/messages/prune.mjs.map +1 -1
  88. package/dist/esm/run.mjs +18 -1
  89. package/dist/esm/run.mjs.map +1 -1
  90. package/dist/esm/splitStream.mjs.map +1 -1
  91. package/dist/esm/stream.mjs +24 -1
  92. package/dist/esm/stream.mjs.map +1 -1
  93. package/dist/esm/tools/ToolNode.mjs +20 -1
  94. package/dist/esm/tools/ToolNode.mjs.map +1 -1
  95. package/dist/esm/tools/handlers.mjs +30 -26
  96. package/dist/esm/tools/handlers.mjs.map +1 -1
  97. package/dist/esm/tools/search/anthropic.mjs.map +1 -1
  98. package/dist/esm/tools/search/content.mjs.map +1 -1
  99. package/dist/esm/tools/search/firecrawl.mjs.map +1 -1
  100. package/dist/esm/tools/search/format.mjs.map +1 -1
  101. package/dist/esm/tools/search/highlights.mjs.map +1 -1
  102. package/dist/esm/tools/search/rerankers.mjs.map +1 -1
  103. package/dist/esm/tools/search/schema.mjs +27 -25
  104. package/dist/esm/tools/search/schema.mjs.map +1 -1
  105. package/dist/esm/tools/search/search.mjs +6 -1
  106. package/dist/esm/tools/search/search.mjs.map +1 -1
  107. package/dist/esm/tools/search/serper-scraper.mjs.map +1 -1
  108. package/dist/esm/tools/search/tool.mjs +182 -35
  109. package/dist/esm/tools/search/tool.mjs.map +1 -1
  110. package/dist/esm/tools/search/utils.mjs.map +1 -1
  111. package/dist/esm/utils/graph.mjs.map +1 -1
  112. package/dist/esm/utils/llm.mjs +0 -1
  113. package/dist/esm/utils/llm.mjs.map +1 -1
  114. package/dist/esm/utils/misc.mjs.map +1 -1
  115. package/dist/esm/utils/run.mjs.map +1 -1
  116. package/dist/esm/utils/title.mjs +7 -7
  117. package/dist/esm/utils/title.mjs.map +1 -1
  118. package/dist/types/common/enum.d.ts +1 -2
  119. package/dist/types/llm/bedrock/index.d.ts +36 -0
  120. package/dist/types/llm/openai/index.d.ts +1 -0
  121. package/dist/types/llm/openai/utils/index.d.ts +10 -1
  122. package/dist/types/llm/openrouter/index.d.ts +4 -1
  123. package/dist/types/tools/search/types.d.ts +2 -0
  124. package/dist/types/types/llm.d.ts +3 -8
  125. package/package.json +16 -12
  126. package/src/common/enum.ts +1 -2
  127. package/src/common/index.ts +1 -1
  128. package/src/events.ts +11 -0
  129. package/src/graphs/Graph.ts +2 -1
  130. package/src/instrumentation.ts +25 -22
  131. package/src/llm/anthropic/llm.spec.ts +1442 -1442
  132. package/src/llm/anthropic/types.ts +140 -140
  133. package/src/llm/anthropic/utils/message_inputs.ts +757 -660
  134. package/src/llm/anthropic/utils/output_parsers.ts +133 -133
  135. package/src/llm/anthropic/utils/tools.ts +29 -29
  136. package/src/llm/bedrock/index.ts +128 -0
  137. package/src/llm/fake.ts +133 -133
  138. package/src/llm/google/llm.spec.ts +3 -1
  139. package/src/llm/google/utils/tools.ts +160 -160
  140. package/src/llm/openai/index.ts +126 -0
  141. package/src/llm/openai/types.ts +24 -24
  142. package/src/llm/openai/utils/index.ts +116 -1
  143. package/src/llm/openai/utils/isReasoningModel.test.ts +90 -90
  144. package/src/llm/openrouter/index.ts +222 -1
  145. package/src/llm/providers.ts +2 -7
  146. package/src/llm/text.ts +94 -94
  147. package/src/messages/core.ts +463 -463
  148. package/src/messages/formatAgentMessages.tools.test.ts +400 -400
  149. package/src/messages/formatMessage.test.ts +693 -693
  150. package/src/messages/ids.ts +26 -26
  151. package/src/messages/prune.ts +567 -567
  152. package/src/messages/shiftIndexTokenCountMap.test.ts +81 -81
  153. package/src/mockStream.ts +98 -98
  154. package/src/prompts/collab.ts +5 -5
  155. package/src/prompts/index.ts +1 -1
  156. package/src/prompts/taskmanager.ts +61 -61
  157. package/src/run.ts +22 -4
  158. package/src/scripts/ant_web_search_edge_case.ts +162 -0
  159. package/src/scripts/ant_web_search_error_edge_case.ts +148 -0
  160. package/src/scripts/args.ts +48 -48
  161. package/src/scripts/caching.ts +123 -123
  162. package/src/scripts/code_exec_files.ts +193 -193
  163. package/src/scripts/empty_input.ts +137 -137
  164. package/src/scripts/memory.ts +97 -97
  165. package/src/scripts/test-tools-before-handoff.ts +1 -5
  166. package/src/scripts/thinking.ts +149 -149
  167. package/src/scripts/tools.ts +1 -4
  168. package/src/specs/anthropic.simple.test.ts +67 -0
  169. package/src/specs/spec.utils.ts +3 -3
  170. package/src/specs/token-distribution-edge-case.test.ts +316 -316
  171. package/src/specs/tool-error.test.ts +193 -193
  172. package/src/splitStream.test.ts +691 -691
  173. package/src/splitStream.ts +234 -234
  174. package/src/stream.test.ts +94 -94
  175. package/src/stream.ts +30 -1
  176. package/src/tools/ToolNode.ts +24 -1
  177. package/src/tools/handlers.ts +32 -28
  178. package/src/tools/search/anthropic.ts +51 -51
  179. package/src/tools/search/content.test.ts +173 -173
  180. package/src/tools/search/content.ts +147 -147
  181. package/src/tools/search/direct-url.test.ts +530 -0
  182. package/src/tools/search/firecrawl.ts +210 -210
  183. package/src/tools/search/format.ts +250 -250
  184. package/src/tools/search/highlights.ts +320 -320
  185. package/src/tools/search/index.ts +2 -2
  186. package/src/tools/search/jina-reranker.test.ts +126 -126
  187. package/src/tools/search/output.md +2775 -2775
  188. package/src/tools/search/rerankers.ts +242 -242
  189. package/src/tools/search/schema.ts +65 -63
  190. package/src/tools/search/search.ts +766 -759
  191. package/src/tools/search/serper-scraper.ts +155 -155
  192. package/src/tools/search/test.html +883 -883
  193. package/src/tools/search/test.md +642 -642
  194. package/src/tools/search/test.ts +159 -159
  195. package/src/tools/search/tool.ts +641 -471
  196. package/src/tools/search/types.ts +689 -687
  197. package/src/tools/search/utils.ts +79 -79
  198. package/src/types/index.ts +6 -6
  199. package/src/types/llm.ts +2 -8
  200. package/src/utils/graph.ts +10 -10
  201. package/src/utils/llm.ts +26 -27
  202. package/src/utils/llmConfig.ts +13 -5
  203. package/src/utils/logging.ts +48 -48
  204. package/src/utils/misc.ts +57 -57
  205. package/src/utils/run.ts +100 -100
  206. package/src/utils/title.ts +165 -165
  207. package/dist/cjs/llm/ollama/index.cjs +0 -70
  208. package/dist/cjs/llm/ollama/index.cjs.map +0 -1
  209. package/dist/cjs/llm/ollama/utils.cjs +0 -158
  210. package/dist/cjs/llm/ollama/utils.cjs.map +0 -1
  211. package/dist/esm/llm/ollama/index.mjs +0 -68
  212. package/dist/esm/llm/ollama/index.mjs.map +0 -1
  213. package/dist/esm/llm/ollama/utils.mjs +0 -155
  214. package/dist/esm/llm/ollama/utils.mjs.map +0 -1
  215. package/dist/types/llm/ollama/index.d.ts +0 -8
  216. package/dist/types/llm/ollama/utils.d.ts +0 -7
  217. package/src/llm/ollama/index.ts +0 -92
  218. package/src/llm/ollama/utils.ts +0 -193
  219. package/src/proto/CollabGraph.ts +0 -269
  220. package/src/proto/TaskManager.ts +0 -243
  221. package/src/proto/collab.ts +0 -200
  222. package/src/proto/collab_design.ts +0 -184
  223. package/src/proto/collab_design_v2.ts +0 -224
  224. package/src/proto/collab_design_v3.ts +0 -255
  225. package/src/proto/collab_design_v4.ts +0 -220
  226. package/src/proto/collab_design_v5.ts +0 -251
  227. package/src/proto/collab_graph.ts +0 -181
  228. package/src/proto/collab_original.ts +0 -123
  229. package/src/proto/example.ts +0 -93
  230. package/src/proto/example_new.ts +0 -68
  231. package/src/proto/example_old.ts +0 -201
  232. package/src/proto/example_test.ts +0 -152
  233. package/src/proto/example_test_anthropic.ts +0 -100
  234. package/src/proto/log_stream.ts +0 -202
  235. package/src/proto/main_collab_community_event.ts +0 -133
  236. package/src/proto/main_collab_design_v2.ts +0 -96
  237. package/src/proto/main_collab_design_v4.ts +0 -100
  238. package/src/proto/main_collab_design_v5.ts +0 -135
  239. package/src/proto/main_collab_global_analysis.ts +0 -122
  240. package/src/proto/main_collab_hackathon_event.ts +0 -153
  241. package/src/proto/main_collab_space_mission.ts +0 -153
  242. package/src/proto/main_philosophy.ts +0 -210
  243. package/src/proto/original_script.ts +0 -126
  244. package/src/proto/standard.ts +0 -100
  245. package/src/proto/stream.ts +0 -56
  246. package/src/proto/tasks.ts +0 -118
  247. package/src/proto/tools/global_analysis_tools.ts +0 -86
  248. package/src/proto/tools/space_mission_tools.ts +0 -60
  249. package/src/proto/vertexai.ts +0 -54
  250. package/src/scripts/image.ts +0 -178
@@ -77,6 +77,7 @@ export declare class ChatDeepSeek extends OriginalChatDeepSeek {
77
77
  get exposedClient(): CustomOpenAIClient;
78
78
  static lc_name(): 'IllumaDeepSeek';
79
79
  protected _getClientOptions(options?: OpenAICoreRequestOptions): OpenAICoreRequestOptions;
80
+ _streamResponseChunks(messages: BaseMessage[], options: this['ParsedCallOptions'], runManager?: CallbackManagerForLLMRun): AsyncGenerator<ChatGenerationChunk>;
80
81
  }
81
82
  /** xAI-specific usage metadata type */
82
83
  export interface XAIUsageMetadata extends OpenAIClient.Completions.CompletionUsage {
@@ -14,7 +14,16 @@ export type ResponseReturnStreamEvents = ExtractAsyncIterableType<ResponsesCreat
14
14
  type OpenAIRoleEnum = 'system' | 'developer' | 'assistant' | 'user' | 'function' | 'tool';
15
15
  type OpenAICompletionParam = OpenAIClient.Chat.Completions.ChatCompletionMessageParam;
16
16
  export declare function messageToOpenAIRole(message: BaseMessage): OpenAIRoleEnum;
17
- export declare function _convertMessagesToOpenAIParams(messages: BaseMessage[], model?: string): OpenAICompletionParam[];
17
+ /** Options for converting messages to OpenAI params */
18
+ export interface ConvertMessagesOptions {
19
+ /** Include reasoning_content field for DeepSeek thinking mode with tool calls */
20
+ includeReasoningContent?: boolean;
21
+ /** Include reasoning_details field for OpenRouter/Gemini thinking mode with tool calls */
22
+ includeReasoningDetails?: boolean;
23
+ /** Convert reasoning_details to content blocks for Claude (requires content array format) */
24
+ convertReasoningDetailsToContent?: boolean;
25
+ }
26
+ export declare function _convertMessagesToOpenAIParams(messages: BaseMessage[], model?: string, options?: ConvertMessagesOptions): OpenAICompletionParam[];
18
27
  export declare function _convertMessagesToOpenAIResponsesParams(messages: BaseMessage[], model?: string, zdrEnabled?: boolean): ResponsesInputItem[];
19
28
  export declare function isReasoningModel(model?: string): boolean;
20
29
  export declare function _convertOpenAIResponsesDeltaToBaseMessageChunk(chunk: ResponseReturnStreamEvents): ChatGenerationChunk | null;
@@ -1,5 +1,7 @@
1
1
  import { ChatOpenAI } from '@/llm/openai';
2
- import type { FunctionMessageChunk, SystemMessageChunk, HumanMessageChunk, ToolMessageChunk, ChatMessageChunk, AIMessageChunk } from '@langchain/core/messages';
2
+ import { ChatGenerationChunk } from '@langchain/core/outputs';
3
+ import { CallbackManagerForLLMRun } from '@langchain/core/callbacks/manager';
4
+ import type { FunctionMessageChunk, SystemMessageChunk, HumanMessageChunk, ToolMessageChunk, ChatMessageChunk, AIMessageChunk, BaseMessage } from '@langchain/core/messages';
3
5
  import type { ChatOpenAICallOptions, OpenAIChatInput, OpenAIClient } from '@langchain/openai';
4
6
  export interface ChatOpenRouterCallOptions extends ChatOpenAICallOptions {
5
7
  include_reasoning?: boolean;
@@ -9,4 +11,5 @@ export declare class ChatOpenRouter extends ChatOpenAI {
9
11
  constructor(_fields: Partial<ChatOpenRouterCallOptions>);
10
12
  static lc_name(): 'IllumaOpenRouter';
11
13
  protected _convertOpenAIDeltaToBaseMessageChunk(delta: Record<string, any>, rawResponse: OpenAIClient.ChatCompletionChunk, defaultRole?: 'function' | 'user' | 'system' | 'developer' | 'assistant' | 'tool'): AIMessageChunk | HumanMessageChunk | SystemMessageChunk | FunctionMessageChunk | ToolMessageChunk | ChatMessageChunk;
14
+ _streamResponseChunks2(messages: BaseMessage[], options: this['ParsedCallOptions'], runManager?: CallbackManagerForLLMRun): AsyncGenerator<ChatGenerationChunk>;
12
15
  }
@@ -566,6 +566,8 @@ export type ProcessSourcesFields = {
566
566
  news: boolean;
567
567
  proMode: boolean;
568
568
  onGetHighlights: SearchToolConfig['onGetHighlights'];
569
+ /** Skip scraping if content was already extracted directly (e.g., direct URL extraction) */
570
+ skipScraping?: boolean;
569
571
  };
570
572
  export type SearchToolSchema = z.ZodObject<{
571
573
  query: z.ZodString;
@@ -1,6 +1,4 @@
1
- import { ChatOllama } from '@langchain/ollama';
2
1
  import { ChatMistralAI } from '@langchain/mistralai';
3
- import { ChatBedrockConverse } from '@langchain/aws';
4
2
  import type { BindToolsInput, BaseChatModelParams } from '@langchain/core/language_models/chat_models';
5
3
  import type { OpenAIChatInput, ChatOpenAIFields, AzureOpenAIInput, ClientOptions as OAIClientOptions } from '@langchain/openai';
6
4
  import type { GoogleGenerativeAIChatInput } from '@langchain/google-genai';
@@ -14,11 +12,11 @@ import type { RequestOptions } from '@google/generative-ai';
14
12
  import type { StructuredTool } from '@langchain/core/tools';
15
13
  import type { AnthropicInput } from '@langchain/anthropic';
16
14
  import type { Runnable } from '@langchain/core/runnables';
17
- import type { ChatOllamaInput } from '@langchain/ollama';
18
15
  import type { OpenAI as OpenAIClient } from 'openai';
19
16
  import type { ChatXAIInput } from '@langchain/xai';
20
17
  import { AzureChatOpenAI, ChatDeepSeek, ChatOpenAI, ChatXAI } from '@/llm/openai';
21
18
  import { CustomChatGoogleGenerativeAI } from '@/llm/google';
19
+ import { CustomChatBedrockConverse } from '@/llm/bedrock';
22
20
  import { CustomAnthropic } from '@/llm/anthropic';
23
21
  import { ChatOpenRouter } from '@/llm/openrouter';
24
22
  import { ChatVertexAI } from '@/llm/vertexai';
@@ -39,7 +37,6 @@ export type AnthropicReasoning = {
39
37
  thinkingBudget?: number;
40
38
  };
41
39
  export type OpenAIClientOptions = ChatOpenAIFields;
42
- export type OllamaClientOptions = ChatOllamaInput;
43
40
  export type AnthropicClientOptions = AnthropicInput;
44
41
  export type MistralAIClientOptions = ChatMistralAIInput;
45
42
  export type VertexAIClientOptions = ChatVertexAIInput & {
@@ -57,7 +54,7 @@ export type GoogleClientOptions = GoogleGenerativeAIChatInput & {
57
54
  };
58
55
  export type DeepSeekClientOptions = ChatDeepSeekCallOptions;
59
56
  export type XAIClientOptions = ChatXAIInput;
60
- export type ClientOptions = OpenAIClientOptions | AzureClientOptions | OllamaClientOptions | AnthropicClientOptions | MistralAIClientOptions | VertexAIClientOptions | BedrockConverseClientOptions | GoogleClientOptions | DeepSeekClientOptions | XAIClientOptions;
57
+ export type ClientOptions = OpenAIClientOptions | AzureClientOptions | AnthropicClientOptions | MistralAIClientOptions | VertexAIClientOptions | BedrockConverseClientOptions | GoogleClientOptions | DeepSeekClientOptions | XAIClientOptions;
61
58
  export type SharedLLMConfig = {
62
59
  provider: Providers;
63
60
  _lc_stream_delay?: number;
@@ -72,7 +69,6 @@ export type LLMConfig = SharedLLMConfig & ClientOptions & {
72
69
  export type ProviderOptionsMap = {
73
70
  [Providers.AZURE]: AzureClientOptions;
74
71
  [Providers.OPENAI]: OpenAIClientOptions;
75
- [Providers.OLLAMA]: OllamaClientOptions;
76
72
  [Providers.GOOGLE]: GoogleClientOptions;
77
73
  [Providers.VERTEXAI]: VertexAIClientOptions;
78
74
  [Providers.DEEPSEEK]: DeepSeekClientOptions;
@@ -86,7 +82,6 @@ export type ProviderOptionsMap = {
86
82
  export type ChatModelMap = {
87
83
  [Providers.XAI]: ChatXAI;
88
84
  [Providers.OPENAI]: ChatOpenAI;
89
- [Providers.OLLAMA]: ChatOllama;
90
85
  [Providers.AZURE]: AzureChatOpenAI;
91
86
  [Providers.DEEPSEEK]: ChatDeepSeek;
92
87
  [Providers.VERTEXAI]: ChatVertexAI;
@@ -94,7 +89,7 @@ export type ChatModelMap = {
94
89
  [Providers.MISTRALAI]: ChatMistralAI;
95
90
  [Providers.MISTRAL]: ChatMistralAI;
96
91
  [Providers.OPENROUTER]: ChatOpenRouter;
97
- [Providers.BEDROCK]: ChatBedrockConverse;
92
+ [Providers.BEDROCK]: CustomChatBedrockConverse;
98
93
  [Providers.GOOGLE]: CustomChatGoogleGenerativeAI;
99
94
  };
100
95
  export type ChatModelConstructorMap = {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "illuma-agents",
3
- "version": "1.0.8",
3
+ "version": "1.0.10",
4
4
  "main": "./dist/cjs/main.cjs",
5
5
  "module": "./dist/esm/main.mjs",
6
6
  "types": "./dist/types/index.d.ts",
@@ -15,6 +15,12 @@
15
15
  "description": "Illuma AI Agents Library",
16
16
  "author": "Varun Muppidi",
17
17
  "license": "MIT",
18
+ "licenses": [
19
+ {
20
+ "type": "MIT",
21
+ "url": "https://github.com/danny-avila/agents/blob/main/LICENSE"
22
+ }
23
+ ],
18
24
  "packageManager": "npm@10.5.2",
19
25
  "engines": {
20
26
  "node": ">=14.0.0"
@@ -28,7 +34,7 @@
28
34
  "scripts": {
29
35
  "prepare": "node husky-setup.js",
30
36
  "prepublishOnly": "npm run build",
31
- "build": "cross-env NODE_ENV=production rollup -c && tsc -p tsconfig.build.json",
37
+ "build": "set NODE_ENV=production && rollup -c && tsc -p tsconfig.build.json",
32
38
  "build:dev": "rollup -c",
33
39
  "start": "node dist/esm/main.js",
34
40
  "clean": "node ./config/clean.js",
@@ -45,9 +51,11 @@
45
51
  "caching": "node -r dotenv/config --loader ./tsconfig-paths-bootstrap.mjs --experimental-specifier-resolution=node ./src/scripts/caching.ts --name 'Jo' --location 'New York, NY'",
46
52
  "thinking": "node -r dotenv/config --loader ./tsconfig-paths-bootstrap.mjs --experimental-specifier-resolution=node ./src/scripts/thinking.ts --name 'Jo' --location 'New York, NY'",
47
53
  "memory": "node -r dotenv/config --loader ./tsconfig-paths-bootstrap.mjs --experimental-specifier-resolution=node ./src/scripts/memory.ts --provider 'openAI' --name 'Jo' --location 'New York, NY'",
48
- "tool": "node -r dotenv/config --loader ./tsconfig-paths-bootstrap.mjs --experimental-specifier-resolution=node ./src/scripts/tools.ts --provider 'bedrock' --name 'Jo' --location 'New York, NY'",
54
+ "tool": "node --trace-warnings -r dotenv/config --loader ./tsconfig-paths-bootstrap.mjs --experimental-specifier-resolution=node ./src/scripts/tools.ts --provider 'openrouter' --name 'Jo' --location 'New York, NY'",
49
55
  "search": "node -r dotenv/config --loader ./tsconfig-paths-bootstrap.mjs --experimental-specifier-resolution=node ./src/scripts/search.ts --provider 'bedrock' --name 'Jo' --location 'New York, NY'",
50
56
  "ant_web_search": "node -r dotenv/config --loader ./tsconfig-paths-bootstrap.mjs --experimental-specifier-resolution=node ./src/scripts/ant_web_search.ts --name 'Jo' --location 'New York, NY'",
57
+ "ant_web_search_edge_case": "node -r dotenv/config --loader ./tsconfig-paths-bootstrap.mjs --experimental-specifier-resolution=node ./src/scripts/ant_web_search_edge_case.ts --name 'Jo' --location 'New York, NY'",
58
+ "ant_web_search_error_edge_case": "node -r dotenv/config --loader ./tsconfig-paths-bootstrap.mjs --experimental-specifier-resolution=node ./src/scripts/ant_web_search_error_edge_case.ts --name 'Jo' --location 'New York, NY'",
51
59
  "abort": "node -r dotenv/config --loader ./tsconfig-paths-bootstrap.mjs --experimental-specifier-resolution=node ./src/scripts/abort.ts --provider 'openAI' --name 'Jo' --location 'New York, NY'",
52
60
  "start:cli2": "node -r dotenv/config --loader ./tsconfig-paths-bootstrap.mjs --experimental-specifier-resolution=node ./src/scripts/cli2.ts --provider 'anthropic' --name 'Jo' --location 'New York, NY'",
53
61
  "multi-agent-test": "node -r dotenv/config --loader ./tsconfig-paths-bootstrap.mjs --experimental-specifier-resolution=node ./src/scripts/multi-agent-test.ts",
@@ -98,7 +106,6 @@
98
106
  "@langchain/google-vertexai": "^0.2.18",
99
107
  "@langchain/langgraph": "^0.4.9",
100
108
  "@langchain/mistralai": "^0.2.1",
101
- "@langchain/ollama": "^0.2.3",
102
109
  "@langchain/openai": "0.5.18",
103
110
  "@langchain/textsplitters": "^0.1.0",
104
111
  "@langchain/xai": "^0.0.3",
@@ -125,27 +132,24 @@
125
132
  "@rollup/plugin-commonjs": "^28.0.3",
126
133
  "@rollup/plugin-json": "^6.1.0",
127
134
  "@rollup/plugin-node-resolve": "^15.2.3",
128
- "@rollup/plugin-terser": "^0.4.4",
129
135
  "@rollup/plugin-typescript": "^12.1.2",
130
136
  "@swc/core": "^1.6.13",
131
- "@types/jest": "^29.5.14",
137
+ "@types/jest": "^30.0.0",
132
138
  "@types/node": "^20.14.11",
133
139
  "@types/node-fetch": "^2.6.13",
134
140
  "@types/yargs-parser": "^21.0.3",
135
141
  "@typescript-eslint/eslint-plugin": "^8.24.0",
136
142
  "@typescript-eslint/parser": "^8.24.0",
137
- "cross-env": "^10.1.0",
138
- "eslint": "^9.31.0",
143
+ "eslint": "^9.39.1",
139
144
  "eslint-import-resolver-typescript": "^3.7.0",
140
145
  "eslint-plugin-import": "^2.31.0",
141
146
  "husky": "^9.1.7",
142
- "jest": "^29.7.0",
147
+ "jest": "^30.2.0",
143
148
  "lint-staged": "^15.2.7",
144
- "prettier": "^3.5.1",
149
+ "prettier": "^3.6.2",
145
150
  "rollup": "^4.34.6",
146
151
  "rollup-plugin-cleandir": "^2.0.0",
147
- "rollup-plugin-obfuscator": "^1.1.0",
148
- "ts-jest": "^29.3.1",
152
+ "ts-jest": "^29.4.5",
149
153
  "ts-node": "^10.9.2",
150
154
  "tsc-alias": "^1.8.10",
151
155
  "tsconfig-paths": "^4.2.0",
@@ -77,7 +77,6 @@ export enum Providers {
77
77
  ANTHROPIC = 'anthropic',
78
78
  MISTRALAI = 'mistralai',
79
79
  MISTRAL = 'mistral',
80
- OLLAMA = 'ollama',
81
80
  GOOGLE = 'google',
82
81
  AZURE = 'azureOpenAI',
83
82
  DEEPSEEK = 'deepseek',
@@ -173,5 +172,5 @@ export enum TitleMethod {
173
172
 
174
173
  export enum EnvVar {
175
174
  CODE_API_KEY = 'CODE_EXECUTOR_API_KEY',
176
- CODE_BASEURL = 'CODE_EXECUTOR_API_BASEURL',
175
+ CODE_BASEURL = 'CODE_EXECUTOR_BASEURL',
177
176
  }
@@ -1,2 +1,2 @@
1
- // src/common/index.ts
1
+ // src/common/index.ts
2
2
  export * from './enum';
package/src/events.ts CHANGED
@@ -92,6 +92,17 @@ export class ToolEndHandler implements t.EventHandler {
92
92
  metadata?: Record<string, unknown>,
93
93
  graph?: StandardGraph | MultiAgentGraph
94
94
  ): Promise<void> {
95
+ const toolData = data as t.ToolEndData;
96
+ const output = toolData?.output as ToolMessage | undefined;
97
+ console.log('[ToolEndHandler] handle called', {
98
+ event,
99
+ hasData: !!data,
100
+ hasGraph: !!graph,
101
+ hasMetadata: !!metadata,
102
+ hasCallback: !!this.callback,
103
+ outputName: output?.name,
104
+ hasArtifact: !!output?.artifact,
105
+ });
95
106
  try {
96
107
  if (!graph || !metadata) {
97
108
  if (this.logger) {
@@ -705,7 +705,8 @@ export class StandardGraph extends Graph<t.BaseGraphState, t.GraphNode> {
705
705
  formatAnthropicArtifactContent(finalMessages);
706
706
  } else if (
707
707
  isLatestToolMessage &&
708
- (isOpenAILike(agentContext.provider) ||
708
+ ((isOpenAILike(agentContext.provider) &&
709
+ agentContext.provider !== Providers.DEEPSEEK) ||
709
710
  isGoogleLike(agentContext.provider))
710
711
  ) {
711
712
  formatArtifactPayload(finalMessages);
@@ -1,22 +1,25 @@
1
- import { NodeSDK } from '@opentelemetry/sdk-node';
2
- import { LangfuseSpanProcessor } from '@langfuse/otel';
3
- import { isPresent } from '@/utils/misc';
4
-
5
- if (
6
- isPresent(process.env.LANGFUSE_SECRET_KEY) &&
7
- isPresent(process.env.LANGFUSE_PUBLIC_KEY) &&
8
- isPresent(process.env.LANGFUSE_BASE_URL)
9
- ) {
10
- const langfuseSpanProcessor = new LangfuseSpanProcessor({
11
- publicKey: process.env.LANGFUSE_PUBLIC_KEY,
12
- secretKey: process.env.LANGFUSE_SECRET_KEY,
13
- baseUrl: process.env.LANGFUSE_BASE_URL,
14
- environment: process.env.NODE_ENV ?? 'development',
15
- });
16
-
17
- const sdk = new NodeSDK({
18
- spanProcessors: [langfuseSpanProcessor],
19
- });
20
-
21
- sdk.start();
22
- }
1
+ import { NodeSDK } from '@opentelemetry/sdk-node';
2
+ import { LangfuseSpanProcessor } from '@langfuse/otel';
3
+ import { isPresent } from '@/utils/misc';
4
+
5
+ if (
6
+ isPresent(process.env.LANGFUSE_SECRET_KEY) &&
7
+ isPresent(process.env.LANGFUSE_PUBLIC_KEY) &&
8
+ isPresent(process.env.LANGFUSE_BASE_URL)
9
+ ) {
10
+ const langfuseSpanProcessor = new LangfuseSpanProcessor({
11
+ publicKey: process.env.LANGFUSE_PUBLIC_KEY,
12
+ secretKey: process.env.LANGFUSE_SECRET_KEY,
13
+ baseUrl: process.env.LANGFUSE_BASE_URL,
14
+ environment:
15
+ process.env.LANGFUSE_TRACING_ENVIRONMENT ??
16
+ process.env.NODE_ENV ??
17
+ 'development',
18
+ });
19
+
20
+ const sdk = new NodeSDK({
21
+ spanProcessors: [langfuseSpanProcessor],
22
+ });
23
+
24
+ sdk.start();
25
+ }