@strands-agents/sdk 0.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (423) hide show
  1. package/LICENSE +175 -0
  2. package/README.md +185 -0
  3. package/dist/__fixtures__/model-test-helpers.d.ts +56 -0
  4. package/dist/__fixtures__/model-test-helpers.d.ts.map +1 -0
  5. package/dist/__fixtures__/model-test-helpers.js +85 -0
  6. package/dist/__fixtures__/model-test-helpers.js.map +1 -0
  7. package/dist/__fixtures__/tool-helpers.d.ts +15 -0
  8. package/dist/__fixtures__/tool-helpers.d.ts.map +1 -0
  9. package/dist/__fixtures__/tool-helpers.js +22 -0
  10. package/dist/__fixtures__/tool-helpers.js.map +1 -0
  11. package/dist/__tests__/errors.test.d.ts +2 -0
  12. package/dist/__tests__/errors.test.d.ts.map +1 -0
  13. package/dist/__tests__/errors.test.js +20 -0
  14. package/dist/__tests__/errors.test.js.map +1 -0
  15. package/dist/__tests__/index.test.d.ts +2 -0
  16. package/dist/__tests__/index.test.d.ts.map +1 -0
  17. package/dist/__tests__/index.test.js +27 -0
  18. package/dist/__tests__/index.test.js.map +1 -0
  19. package/dist/errors.d.ts +22 -0
  20. package/dist/errors.d.ts.map +1 -0
  21. package/dist/errors.js +25 -0
  22. package/dist/errors.js.map +1 -0
  23. package/dist/index.d.ts +19 -0
  24. package/dist/index.d.ts.map +1 -0
  25. package/dist/index.js +17 -0
  26. package/dist/index.js.map +1 -0
  27. package/dist/models/__tests__/bedrock.test.d.ts +2 -0
  28. package/dist/models/__tests__/bedrock.test.d.ts.map +1 -0
  29. package/dist/models/__tests__/bedrock.test.js +1161 -0
  30. package/dist/models/__tests__/bedrock.test.js.map +1 -0
  31. package/dist/models/__tests__/model.test.d.ts +2 -0
  32. package/dist/models/__tests__/model.test.d.ts.map +1 -0
  33. package/dist/models/__tests__/model.test.js +297 -0
  34. package/dist/models/__tests__/model.test.js.map +1 -0
  35. package/dist/models/__tests__/openai.test.d.ts +2 -0
  36. package/dist/models/__tests__/openai.test.d.ts.map +1 -0
  37. package/dist/models/__tests__/openai.test.js +1016 -0
  38. package/dist/models/__tests__/openai.test.js.map +1 -0
  39. package/dist/models/__tests__/test-utils.d.ts +10 -0
  40. package/dist/models/__tests__/test-utils.d.ts.map +1 -0
  41. package/dist/models/__tests__/test-utils.js +17 -0
  42. package/dist/models/__tests__/test-utils.js.map +1 -0
  43. package/dist/models/bedrock.d.ts +272 -0
  44. package/dist/models/bedrock.d.ts.map +1 -0
  45. package/dist/models/bedrock.js +679 -0
  46. package/dist/models/bedrock.js.map +1 -0
  47. package/dist/models/model.d.ts +89 -0
  48. package/dist/models/model.d.ts.map +1 -0
  49. package/dist/models/model.js +122 -0
  50. package/dist/models/model.js.map +1 -0
  51. package/dist/models/openai.d.ts +262 -0
  52. package/dist/models/openai.d.ts.map +1 -0
  53. package/dist/models/openai.js +625 -0
  54. package/dist/models/openai.js.map +1 -0
  55. package/dist/models/streaming.d.ts +226 -0
  56. package/dist/models/streaming.d.ts.map +1 -0
  57. package/dist/models/streaming.js +2 -0
  58. package/dist/models/streaming.js.map +1 -0
  59. package/dist/src/__fixtures__/agent-helpers.d.ts +29 -0
  60. package/dist/src/__fixtures__/agent-helpers.d.ts.map +1 -0
  61. package/dist/src/__fixtures__/agent-helpers.js +19 -0
  62. package/dist/src/__fixtures__/agent-helpers.js.map +1 -0
  63. package/dist/src/__fixtures__/environment.d.ts +12 -0
  64. package/dist/src/__fixtures__/environment.d.ts.map +1 -0
  65. package/dist/src/__fixtures__/environment.js +12 -0
  66. package/dist/src/__fixtures__/environment.js.map +1 -0
  67. package/dist/src/__fixtures__/mock-hook-provider.d.ts +14 -0
  68. package/dist/src/__fixtures__/mock-hook-provider.d.ts.map +1 -0
  69. package/dist/src/__fixtures__/mock-hook-provider.js +33 -0
  70. package/dist/src/__fixtures__/mock-hook-provider.js.map +1 -0
  71. package/dist/src/__fixtures__/mock-message-model.d.ts +93 -0
  72. package/dist/src/__fixtures__/mock-message-model.d.ts.map +1 -0
  73. package/dist/src/__fixtures__/mock-message-model.js +226 -0
  74. package/dist/src/__fixtures__/mock-message-model.js.map +1 -0
  75. package/dist/src/__fixtures__/model-test-helpers.d.ts +56 -0
  76. package/dist/src/__fixtures__/model-test-helpers.d.ts.map +1 -0
  77. package/dist/src/__fixtures__/model-test-helpers.js +85 -0
  78. package/dist/src/__fixtures__/model-test-helpers.js.map +1 -0
  79. package/dist/src/__fixtures__/tool-helpers.d.ts +37 -0
  80. package/dist/src/__fixtures__/tool-helpers.d.ts.map +1 -0
  81. package/dist/src/__fixtures__/tool-helpers.js +78 -0
  82. package/dist/src/__fixtures__/tool-helpers.js.map +1 -0
  83. package/dist/src/__tests__/errors.test.d.ts +2 -0
  84. package/dist/src/__tests__/errors.test.d.ts.map +1 -0
  85. package/dist/src/__tests__/errors.test.js +64 -0
  86. package/dist/src/__tests__/errors.test.js.map +1 -0
  87. package/dist/src/__tests__/index.test.d.ts +2 -0
  88. package/dist/src/__tests__/index.test.d.ts.map +1 -0
  89. package/dist/src/__tests__/index.test.js +27 -0
  90. package/dist/src/__tests__/index.test.js.map +1 -0
  91. package/dist/src/__tests__/mcp.test.d.ts +2 -0
  92. package/dist/src/__tests__/mcp.test.d.ts.map +1 -0
  93. package/dist/src/__tests__/mcp.test.js +166 -0
  94. package/dist/src/__tests__/mcp.test.js.map +1 -0
  95. package/dist/src/agent/__tests__/agent.hook.test.d.ts +2 -0
  96. package/dist/src/agent/__tests__/agent.hook.test.d.ts.map +1 -0
  97. package/dist/src/agent/__tests__/agent.hook.test.js +250 -0
  98. package/dist/src/agent/__tests__/agent.hook.test.js.map +1 -0
  99. package/dist/src/agent/__tests__/agent.test.d.ts +2 -0
  100. package/dist/src/agent/__tests__/agent.test.d.ts.map +1 -0
  101. package/dist/src/agent/__tests__/agent.test.js +414 -0
  102. package/dist/src/agent/__tests__/agent.test.js.map +1 -0
  103. package/dist/src/agent/__tests__/printer.test.d.ts +2 -0
  104. package/dist/src/agent/__tests__/printer.test.d.ts.map +1 -0
  105. package/dist/src/agent/__tests__/printer.test.js +152 -0
  106. package/dist/src/agent/__tests__/printer.test.js.map +1 -0
  107. package/dist/src/agent/__tests__/state.test.d.ts +2 -0
  108. package/dist/src/agent/__tests__/state.test.d.ts.map +1 -0
  109. package/dist/src/agent/__tests__/state.test.js +231 -0
  110. package/dist/src/agent/__tests__/state.test.js.map +1 -0
  111. package/dist/src/agent/agent.d.ts +207 -0
  112. package/dist/src/agent/agent.d.ts.map +1 -0
  113. package/dist/src/agent/agent.js +481 -0
  114. package/dist/src/agent/agent.js.map +1 -0
  115. package/dist/src/agent/printer.d.ts +73 -0
  116. package/dist/src/agent/printer.d.ts.map +1 -0
  117. package/dist/src/agent/printer.js +145 -0
  118. package/dist/src/agent/printer.js.map +1 -0
  119. package/dist/src/agent/state.d.ts +102 -0
  120. package/dist/src/agent/state.d.ts.map +1 -0
  121. package/dist/src/agent/state.js +73 -0
  122. package/dist/src/agent/state.js.map +1 -0
  123. package/dist/src/agent/streaming.d.ts +91 -0
  124. package/dist/src/agent/streaming.d.ts.map +1 -0
  125. package/dist/src/agent/streaming.js +2 -0
  126. package/dist/src/agent/streaming.js.map +1 -0
  127. package/dist/src/conversation-manager/__tests__/conversation-manager.test.d.ts +2 -0
  128. package/dist/src/conversation-manager/__tests__/conversation-manager.test.d.ts.map +1 -0
  129. package/dist/src/conversation-manager/__tests__/conversation-manager.test.js +10 -0
  130. package/dist/src/conversation-manager/__tests__/conversation-manager.test.js.map +1 -0
  131. package/dist/src/conversation-manager/__tests__/null-conversation-manager.test.d.ts +2 -0
  132. package/dist/src/conversation-manager/__tests__/null-conversation-manager.test.d.ts.map +1 -0
  133. package/dist/src/conversation-manager/__tests__/null-conversation-manager.test.js +35 -0
  134. package/dist/src/conversation-manager/__tests__/null-conversation-manager.test.js.map +1 -0
  135. package/dist/src/conversation-manager/__tests__/sliding-window-conversation-manager.test.d.ts +2 -0
  136. package/dist/src/conversation-manager/__tests__/sliding-window-conversation-manager.test.d.ts.map +1 -0
  137. package/dist/src/conversation-manager/__tests__/sliding-window-conversation-manager.test.js +553 -0
  138. package/dist/src/conversation-manager/__tests__/sliding-window-conversation-manager.test.js.map +1 -0
  139. package/dist/src/conversation-manager/conversation-manager.d.ts +73 -0
  140. package/dist/src/conversation-manager/conversation-manager.d.ts.map +1 -0
  141. package/dist/src/conversation-manager/conversation-manager.js +24 -0
  142. package/dist/src/conversation-manager/conversation-manager.js.map +1 -0
  143. package/dist/src/conversation-manager/index.d.ts +8 -0
  144. package/dist/src/conversation-manager/index.d.ts.map +1 -0
  145. package/dist/src/conversation-manager/index.js +8 -0
  146. package/dist/src/conversation-manager/index.js.map +1 -0
  147. package/dist/src/conversation-manager/null-conversation-manager.d.ts +23 -0
  148. package/dist/src/conversation-manager/null-conversation-manager.d.ts.map +1 -0
  149. package/dist/src/conversation-manager/null-conversation-manager.js +23 -0
  150. package/dist/src/conversation-manager/null-conversation-manager.js.map +1 -0
  151. package/dist/src/conversation-manager/sliding-window-conversation-manager.d.ts +105 -0
  152. package/dist/src/conversation-manager/sliding-window-conversation-manager.d.ts.map +1 -0
  153. package/dist/src/conversation-manager/sliding-window-conversation-manager.js +212 -0
  154. package/dist/src/conversation-manager/sliding-window-conversation-manager.js.map +1 -0
  155. package/dist/src/errors.d.ts +83 -0
  156. package/dist/src/errors.d.ts.map +1 -0
  157. package/dist/src/errors.js +97 -0
  158. package/dist/src/errors.js.map +1 -0
  159. package/dist/src/hooks/__tests__/events.test.d.ts +2 -0
  160. package/dist/src/hooks/__tests__/events.test.d.ts.map +1 -0
  161. package/dist/src/hooks/__tests__/events.test.js +347 -0
  162. package/dist/src/hooks/__tests__/events.test.js.map +1 -0
  163. package/dist/src/hooks/__tests__/registry.test.d.ts +2 -0
  164. package/dist/src/hooks/__tests__/registry.test.d.ts.map +1 -0
  165. package/dist/src/hooks/__tests__/registry.test.js +154 -0
  166. package/dist/src/hooks/__tests__/registry.test.js.map +1 -0
  167. package/dist/src/hooks/events.d.ts +199 -0
  168. package/dist/src/hooks/events.d.ts.map +1 -0
  169. package/dist/src/hooks/events.js +191 -0
  170. package/dist/src/hooks/events.js.map +1 -0
  171. package/dist/src/hooks/index.d.ts +11 -0
  172. package/dist/src/hooks/index.d.ts.map +1 -0
  173. package/dist/src/hooks/index.js +11 -0
  174. package/dist/src/hooks/index.js.map +1 -0
  175. package/dist/src/hooks/registry.d.ts +65 -0
  176. package/dist/src/hooks/registry.d.ts.map +1 -0
  177. package/dist/src/hooks/registry.js +65 -0
  178. package/dist/src/hooks/registry.js.map +1 -0
  179. package/dist/src/hooks/types.d.ts +49 -0
  180. package/dist/src/hooks/types.d.ts.map +1 -0
  181. package/dist/src/hooks/types.js +2 -0
  182. package/dist/src/hooks/types.js.map +1 -0
  183. package/dist/src/index.d.ts +32 -0
  184. package/dist/src/index.d.ts.map +1 -0
  185. package/dist/src/index.js +29 -0
  186. package/dist/src/index.js.map +1 -0
  187. package/dist/src/mcp.d.ts +51 -0
  188. package/dist/src/mcp.d.ts.map +1 -0
  189. package/dist/src/mcp.js +91 -0
  190. package/dist/src/mcp.js.map +1 -0
  191. package/dist/src/models/__tests__/bedrock.test.d.ts +2 -0
  192. package/dist/src/models/__tests__/bedrock.test.d.ts.map +1 -0
  193. package/dist/src/models/__tests__/bedrock.test.js +1388 -0
  194. package/dist/src/models/__tests__/bedrock.test.js.map +1 -0
  195. package/dist/src/models/__tests__/model.test.d.ts +2 -0
  196. package/dist/src/models/__tests__/model.test.d.ts.map +1 -0
  197. package/dist/src/models/__tests__/model.test.js +342 -0
  198. package/dist/src/models/__tests__/model.test.js.map +1 -0
  199. package/dist/src/models/__tests__/openai.test.d.ts +2 -0
  200. package/dist/src/models/__tests__/openai.test.d.ts.map +1 -0
  201. package/dist/src/models/__tests__/openai.test.js +1189 -0
  202. package/dist/src/models/__tests__/openai.test.js.map +1 -0
  203. package/dist/src/models/__tests__/test-utils.d.ts +10 -0
  204. package/dist/src/models/__tests__/test-utils.d.ts.map +1 -0
  205. package/dist/src/models/__tests__/test-utils.js +17 -0
  206. package/dist/src/models/__tests__/test-utils.js.map +1 -0
  207. package/dist/src/models/bedrock.d.ts +289 -0
  208. package/dist/src/models/bedrock.d.ts.map +1 -0
  209. package/dist/src/models/bedrock.js +804 -0
  210. package/dist/src/models/bedrock.js.map +1 -0
  211. package/dist/src/models/model.d.ts +99 -0
  212. package/dist/src/models/model.d.ts.map +1 -0
  213. package/dist/src/models/model.js +169 -0
  214. package/dist/src/models/model.js.map +1 -0
  215. package/dist/src/models/openai.d.ts +262 -0
  216. package/dist/src/models/openai.d.ts.map +1 -0
  217. package/dist/src/models/openai.js +752 -0
  218. package/dist/src/models/openai.js.map +1 -0
  219. package/dist/src/models/streaming.d.ts +318 -0
  220. package/dist/src/models/streaming.d.ts.map +1 -0
  221. package/dist/src/models/streaming.js +122 -0
  222. package/dist/src/models/streaming.js.map +1 -0
  223. package/dist/src/registry/registry.d.ts +117 -0
  224. package/dist/src/registry/registry.d.ts.map +1 -0
  225. package/dist/src/registry/registry.js +298 -0
  226. package/dist/src/registry/registry.js.map +1 -0
  227. package/dist/src/registry/tool-registry.d.ts +34 -0
  228. package/dist/src/registry/tool-registry.d.ts.map +1 -0
  229. package/dist/src/registry/tool-registry.js +178 -0
  230. package/dist/src/registry/tool-registry.js.map +1 -0
  231. package/dist/src/tools/__tests__/tool.test.d.ts +2 -0
  232. package/dist/src/tools/__tests__/tool.test.d.ts.map +1 -0
  233. package/dist/src/tools/__tests__/tool.test.js +877 -0
  234. package/dist/src/tools/__tests__/tool.test.js.map +1 -0
  235. package/dist/src/tools/__tests__/zod-tool.test-d.d.ts +2 -0
  236. package/dist/src/tools/__tests__/zod-tool.test-d.d.ts.map +1 -0
  237. package/dist/src/tools/__tests__/zod-tool.test-d.js +227 -0
  238. package/dist/src/tools/__tests__/zod-tool.test-d.js.map +1 -0
  239. package/dist/src/tools/__tests__/zod-tool.test.d.ts +2 -0
  240. package/dist/src/tools/__tests__/zod-tool.test.d.ts.map +1 -0
  241. package/dist/src/tools/__tests__/zod-tool.test.js +372 -0
  242. package/dist/src/tools/__tests__/zod-tool.test.js.map +1 -0
  243. package/dist/src/tools/function-tool.d.ts +146 -0
  244. package/dist/src/tools/function-tool.d.ts.map +1 -0
  245. package/dist/src/tools/function-tool.js +188 -0
  246. package/dist/src/tools/function-tool.js.map +1 -0
  247. package/dist/src/tools/mcp-tool.d.ts +36 -0
  248. package/dist/src/tools/mcp-tool.d.ts.map +1 -0
  249. package/dist/src/tools/mcp-tool.js +78 -0
  250. package/dist/src/tools/mcp-tool.js.map +1 -0
  251. package/dist/src/tools/tool.d.ts +167 -0
  252. package/dist/src/tools/tool.d.ts.map +1 -0
  253. package/dist/src/tools/tool.js +68 -0
  254. package/dist/src/tools/tool.js.map +1 -0
  255. package/dist/src/tools/types.d.ts +62 -0
  256. package/dist/src/tools/types.d.ts.map +1 -0
  257. package/dist/src/tools/types.js +2 -0
  258. package/dist/src/tools/types.js.map +1 -0
  259. package/dist/src/tools/zod-tool.d.ts +70 -0
  260. package/dist/src/tools/zod-tool.d.ts.map +1 -0
  261. package/dist/src/tools/zod-tool.js +149 -0
  262. package/dist/src/tools/zod-tool.js.map +1 -0
  263. package/dist/src/types/__tests__/agent.test.d.ts +2 -0
  264. package/dist/src/types/__tests__/agent.test.d.ts.map +1 -0
  265. package/dist/src/types/__tests__/agent.test.js +155 -0
  266. package/dist/src/types/__tests__/agent.test.js.map +1 -0
  267. package/dist/src/types/__tests__/json.test.d.ts +2 -0
  268. package/dist/src/types/__tests__/json.test.d.ts.map +1 -0
  269. package/dist/src/types/__tests__/json.test.js +298 -0
  270. package/dist/src/types/__tests__/json.test.js.map +1 -0
  271. package/dist/src/types/__tests__/media.test.d.ts +2 -0
  272. package/dist/src/types/__tests__/media.test.d.ts.map +1 -0
  273. package/dist/src/types/__tests__/media.test.js +257 -0
  274. package/dist/src/types/__tests__/media.test.js.map +1 -0
  275. package/dist/src/types/__tests__/messages.test.d.ts +2 -0
  276. package/dist/src/types/__tests__/messages.test.d.ts.map +1 -0
  277. package/dist/src/types/__tests__/messages.test.js +364 -0
  278. package/dist/src/types/__tests__/messages.test.js.map +1 -0
  279. package/dist/src/types/__tests__/validation.test.d.ts +2 -0
  280. package/dist/src/types/__tests__/validation.test.d.ts.map +1 -0
  281. package/dist/src/types/__tests__/validation.test.js +30 -0
  282. package/dist/src/types/__tests__/validation.test.js.map +1 -0
  283. package/dist/src/types/agent.d.ts +57 -0
  284. package/dist/src/types/agent.d.ts.map +1 -0
  285. package/dist/src/types/agent.js +47 -0
  286. package/dist/src/types/agent.js.map +1 -0
  287. package/dist/src/types/json.d.ts +55 -0
  288. package/dist/src/types/json.d.ts.map +1 -0
  289. package/dist/src/types/json.js +72 -0
  290. package/dist/src/types/json.js.map +1 -0
  291. package/dist/src/types/media.d.ts +249 -0
  292. package/dist/src/types/media.d.ts.map +1 -0
  293. package/dist/src/types/media.js +173 -0
  294. package/dist/src/types/media.js.map +1 -0
  295. package/dist/src/types/messages.d.ts +438 -0
  296. package/dist/src/types/messages.d.ts.map +1 -0
  297. package/dist/src/types/messages.js +286 -0
  298. package/dist/src/types/messages.js.map +1 -0
  299. package/dist/src/types/validation.d.ts +10 -0
  300. package/dist/src/types/validation.d.ts.map +1 -0
  301. package/dist/src/types/validation.js +15 -0
  302. package/dist/src/types/validation.js.map +1 -0
  303. package/dist/tools/__tests__/registry.test.d.ts +2 -0
  304. package/dist/tools/__tests__/registry.test.d.ts.map +1 -0
  305. package/dist/tools/__tests__/registry.test.js +253 -0
  306. package/dist/tools/__tests__/registry.test.js.map +1 -0
  307. package/dist/tools/__tests__/tool.test.d.ts +2 -0
  308. package/dist/tools/__tests__/tool.test.d.ts.map +1 -0
  309. package/dist/tools/__tests__/tool.test.js +761 -0
  310. package/dist/tools/__tests__/tool.test.js.map +1 -0
  311. package/dist/tools/__tests__/zod-tool.test-d.d.ts +2 -0
  312. package/dist/tools/__tests__/zod-tool.test-d.d.ts.map +1 -0
  313. package/dist/tools/__tests__/zod-tool.test-d.js +227 -0
  314. package/dist/tools/__tests__/zod-tool.test-d.js.map +1 -0
  315. package/dist/tools/__tests__/zod-tool.test.d.ts +2 -0
  316. package/dist/tools/__tests__/zod-tool.test.d.ts.map +1 -0
  317. package/dist/tools/__tests__/zod-tool.test.js +342 -0
  318. package/dist/tools/__tests__/zod-tool.test.js.map +1 -0
  319. package/dist/tools/function-tool.d.ts +156 -0
  320. package/dist/tools/function-tool.d.ts.map +1 -0
  321. package/dist/tools/function-tool.js +237 -0
  322. package/dist/tools/function-tool.js.map +1 -0
  323. package/dist/tools/registry.d.ts +43 -0
  324. package/dist/tools/registry.d.ts.map +1 -0
  325. package/dist/tools/registry.js +82 -0
  326. package/dist/tools/registry.js.map +1 -0
  327. package/dist/tools/tool.d.ts +157 -0
  328. package/dist/tools/tool.d.ts.map +1 -0
  329. package/dist/tools/tool.js +2 -0
  330. package/dist/tools/tool.js.map +1 -0
  331. package/dist/tools/types.d.ts +119 -0
  332. package/dist/tools/types.d.ts.map +1 -0
  333. package/dist/tools/types.js +2 -0
  334. package/dist/tools/types.js.map +1 -0
  335. package/dist/tools/zod-tool.d.ts +70 -0
  336. package/dist/tools/zod-tool.d.ts.map +1 -0
  337. package/dist/tools/zod-tool.js +96 -0
  338. package/dist/tools/zod-tool.js.map +1 -0
  339. package/dist/types/__tests__/json.test.d.ts +2 -0
  340. package/dist/types/__tests__/json.test.d.ts.map +1 -0
  341. package/dist/types/__tests__/json.test.js +129 -0
  342. package/dist/types/__tests__/json.test.js.map +1 -0
  343. package/dist/types/__tests__/validation.test.d.ts +2 -0
  344. package/dist/types/__tests__/validation.test.d.ts.map +1 -0
  345. package/dist/types/__tests__/validation.test.js +30 -0
  346. package/dist/types/__tests__/validation.test.js.map +1 -0
  347. package/dist/types/json.d.ts +45 -0
  348. package/dist/types/json.d.ts.map +1 -0
  349. package/dist/types/json.js +17 -0
  350. package/dist/types/json.js.map +1 -0
  351. package/dist/types/messages.d.ts +160 -0
  352. package/dist/types/messages.d.ts.map +1 -0
  353. package/dist/types/messages.js +2 -0
  354. package/dist/types/messages.js.map +1 -0
  355. package/dist/types/validation.d.ts +10 -0
  356. package/dist/types/validation.d.ts.map +1 -0
  357. package/dist/types/validation.js +15 -0
  358. package/dist/types/validation.js.map +1 -0
  359. package/dist/vended_tools/bash/__tests__/bash.test.d.ts +2 -0
  360. package/dist/vended_tools/bash/__tests__/bash.test.d.ts.map +1 -0
  361. package/dist/vended_tools/bash/__tests__/bash.test.js +333 -0
  362. package/dist/vended_tools/bash/__tests__/bash.test.js.map +1 -0
  363. package/dist/vended_tools/bash/bash.d.ts +33 -0
  364. package/dist/vended_tools/bash/bash.d.ts.map +1 -0
  365. package/dist/vended_tools/bash/bash.js +264 -0
  366. package/dist/vended_tools/bash/bash.js.map +1 -0
  367. package/dist/vended_tools/bash/index.d.ts +7 -0
  368. package/dist/vended_tools/bash/index.d.ts.map +1 -0
  369. package/dist/vended_tools/bash/index.js +6 -0
  370. package/dist/vended_tools/bash/index.js.map +1 -0
  371. package/dist/vended_tools/bash/types.d.ts +65 -0
  372. package/dist/vended_tools/bash/types.d.ts.map +1 -0
  373. package/dist/vended_tools/bash/types.js +22 -0
  374. package/dist/vended_tools/bash/types.js.map +1 -0
  375. package/dist/vended_tools/file_editor/__tests__/file-editor.test.d.ts +2 -0
  376. package/dist/vended_tools/file_editor/__tests__/file-editor.test.d.ts.map +1 -0
  377. package/dist/vended_tools/file_editor/__tests__/file-editor.test.js +359 -0
  378. package/dist/vended_tools/file_editor/__tests__/file-editor.test.js.map +1 -0
  379. package/dist/vended_tools/file_editor/file-editor.d.ts +31 -0
  380. package/dist/vended_tools/file_editor/file-editor.d.ts.map +1 -0
  381. package/dist/vended_tools/file_editor/file-editor.js +353 -0
  382. package/dist/vended_tools/file_editor/file-editor.js.map +1 -0
  383. package/dist/vended_tools/file_editor/index.d.ts +6 -0
  384. package/dist/vended_tools/file_editor/index.d.ts.map +1 -0
  385. package/dist/vended_tools/file_editor/index.js +5 -0
  386. package/dist/vended_tools/file_editor/index.js.map +1 -0
  387. package/dist/vended_tools/file_editor/types.d.ts +61 -0
  388. package/dist/vended_tools/file_editor/types.d.ts.map +1 -0
  389. package/dist/vended_tools/file_editor/types.js +2 -0
  390. package/dist/vended_tools/file_editor/types.js.map +1 -0
  391. package/dist/vended_tools/http_request/__tests__/http-request.test.d.ts +2 -0
  392. package/dist/vended_tools/http_request/__tests__/http-request.test.d.ts.map +1 -0
  393. package/dist/vended_tools/http_request/__tests__/http-request.test.js +189 -0
  394. package/dist/vended_tools/http_request/__tests__/http-request.test.js.map +1 -0
  395. package/dist/vended_tools/http_request/http-request.d.ts +35 -0
  396. package/dist/vended_tools/http_request/http-request.d.ts.map +1 -0
  397. package/dist/vended_tools/http_request/http-request.js +95 -0
  398. package/dist/vended_tools/http_request/http-request.js.map +1 -0
  399. package/dist/vended_tools/http_request/index.d.ts +6 -0
  400. package/dist/vended_tools/http_request/index.d.ts.map +1 -0
  401. package/dist/vended_tools/http_request/index.js +5 -0
  402. package/dist/vended_tools/http_request/index.js.map +1 -0
  403. package/dist/vended_tools/http_request/types.d.ts +47 -0
  404. package/dist/vended_tools/http_request/types.d.ts.map +1 -0
  405. package/dist/vended_tools/http_request/types.js +2 -0
  406. package/dist/vended_tools/http_request/types.js.map +1 -0
  407. package/dist/vended_tools/notebook/__tests__/notebook.test.d.ts +2 -0
  408. package/dist/vended_tools/notebook/__tests__/notebook.test.d.ts.map +1 -0
  409. package/dist/vended_tools/notebook/__tests__/notebook.test.js +371 -0
  410. package/dist/vended_tools/notebook/__tests__/notebook.test.js.map +1 -0
  411. package/dist/vended_tools/notebook/index.d.ts +6 -0
  412. package/dist/vended_tools/notebook/index.d.ts.map +1 -0
  413. package/dist/vended_tools/notebook/index.js +5 -0
  414. package/dist/vended_tools/notebook/index.js.map +1 -0
  415. package/dist/vended_tools/notebook/notebook.d.ts +29 -0
  416. package/dist/vended_tools/notebook/notebook.d.ts.map +1 -0
  417. package/dist/vended_tools/notebook/notebook.js +215 -0
  418. package/dist/vended_tools/notebook/notebook.js.map +1 -0
  419. package/dist/vended_tools/notebook/types.d.ts +79 -0
  420. package/dist/vended_tools/notebook/types.d.ts.map +1 -0
  421. package/dist/vended_tools/notebook/types.js +2 -0
  422. package/dist/vended_tools/notebook/types.js.map +1 -0
  423. package/package.json +112 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bedrock.js","sourceRoot":"","sources":["../../src/models/bedrock.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,89 @@
1
+ import type { Message, ContentBlock, SystemPrompt } from '../types/messages';
2
+ import type { ToolSpec, ToolChoice } from '../tools/types';
3
+ import type { ModelStreamEvent } from './streaming';
4
+ /**
5
+ * Base configuration interface for all model providers.
6
+ *
7
+ * This interface defines the common configuration properties that all
8
+ * model providers should support. Provider-specific configurations
9
+ * should extend this interface.
10
+ */
11
+ export interface BaseModelConfig {
12
+ /**
13
+ * The model identifier.
14
+ * This typically specifies which model to use from the provider's catalog.
15
+ */
16
+ modelId?: string;
17
+ }
18
+ /**
19
+ * Options interface for configuring streaming model invocation.
20
+ */
21
+ export interface StreamOptions {
22
+ /**
23
+ * System prompt to guide the model's behavior.
24
+ * Can be a simple string or an array of content blocks for advanced caching.
25
+ */
26
+ systemPrompt?: SystemPrompt;
27
+ /**
28
+ * Array of tool specifications that the model can use.
29
+ */
30
+ toolSpecs?: ToolSpec[];
31
+ /**
32
+ * Controls how the model selects tools to use.
33
+ */
34
+ toolChoice?: ToolChoice;
35
+ }
36
+ /**
37
+ * Base abstract class for model providers.
38
+ * Defines the contract that all model provider implementations must follow.
39
+ *
40
+ * Model providers handle communication with LLM APIs and implement streaming
41
+ * responses using async iterables.
42
+ *
43
+ * @typeParam T - Model configuration type extending BaseModelConfig
44
+ */
45
+ export declare abstract class Model<T extends BaseModelConfig> {
46
+ /**
47
+ * Updates the model configuration.
48
+ * Merges the provided configuration with existing settings.
49
+ *
50
+ * @param modelConfig - Configuration object with model-specific settings to update
51
+ */
52
+ abstract updateConfig(modelConfig: T): void;
53
+ /**
54
+ * Retrieves the current model configuration.
55
+ *
56
+ * @returns The current configuration object
57
+ */
58
+ abstract getConfig(): T;
59
+ /**
60
+ * Streams a conversation with the model.
61
+ * Returns an async iterable that yields streaming events as they occur.
62
+ *
63
+ * @param messages - Array of conversation messages
64
+ * @param options - Optional streaming configuration
65
+ * @returns Async iterable of streaming events
66
+ */
67
+ abstract stream(messages: Message[], options?: StreamOptions): AsyncIterable<ModelStreamEvent>;
68
+ /**
69
+ * Streams a conversation with aggregated content blocks and messages.
70
+ * Returns an async generator that yields streaming events and content blocks, and returns the final message.
71
+ *
72
+ * This method enhances the basic stream() by collecting streaming events into complete
73
+ * ContentBlock and Message objects, which are needed by the agentic loop for tool execution
74
+ * and conversation management.
75
+ *
76
+ * The method yields:
77
+ * - ModelStreamEvent - Original streaming events (passed through)
78
+ * - ContentBlock - Complete content block (emitted when block completes)
79
+ *
80
+ * The method returns:
81
+ * - Message - Complete message (returned when message completes)
82
+ *
83
+ * @param messages - Array of conversation messages
84
+ * @param options - Optional streaming configuration
85
+ * @returns Async generator yielding ModelStreamEvent | ContentBlock and returning Message
86
+ */
87
+ streamAggregated(messages: Message[], options?: StreamOptions): AsyncGenerator<ModelStreamEvent | ContentBlock, Message, never>;
88
+ }
89
+ //# sourceMappingURL=model.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"model.d.ts","sourceRoot":"","sources":["../../src/models/model.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,YAAY,EAAQ,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAClF,OAAO,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAA;AAC1D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAA;AAEnD;;;;;;GAMG;AACH,MAAM,WAAW,eAAe;IAC9B;;;OAGG;IACH,OAAO,CAAC,EAAE,MAAM,CAAA;CACjB;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B;;;OAGG;IACH,YAAY,CAAC,EAAE,YAAY,CAAA;IAE3B;;OAEG;IACH,SAAS,CAAC,EAAE,QAAQ,EAAE,CAAA;IAEtB;;OAEG;IACH,UAAU,CAAC,EAAE,UAAU,CAAA;CACxB;AAED;;;;;;;;GAQG;AACH,8BAAsB,KAAK,CAAC,CAAC,SAAS,eAAe;IACnD;;;;;OAKG;IACH,QAAQ,CAAC,YAAY,CAAC,WAAW,EAAE,CAAC,GAAG,IAAI;IAE3C;;;;OAIG;IACH,QAAQ,CAAC,SAAS,IAAI,CAAC;IAEvB;;;;;;;OAOG;IACH,QAAQ,CAAC,MAAM,CAAC,QAAQ,EAAE,OAAO,EAAE,EAAE,OAAO,CAAC,EAAE,aAAa,GAAG,aAAa,CAAC,gBAAgB,CAAC;IAE9F;;;;;;;;;;;;;;;;;;OAkBG;IACI,gBAAgB,CACrB,QAAQ,EAAE,OAAO,EAAE,EACnB,OAAO,CAAC,EAAE,aAAa,GACtB,cAAc,CAAC,gBAAgB,GAAG,YAAY,EAAE,OAAO,EAAE,KAAK,CAAC;CAkGnE"}
@@ -0,0 +1,122 @@
1
+ /**
2
+ * Base abstract class for model providers.
3
+ * Defines the contract that all model provider implementations must follow.
4
+ *
5
+ * Model providers handle communication with LLM APIs and implement streaming
6
+ * responses using async iterables.
7
+ *
8
+ * @typeParam T - Model configuration type extending BaseModelConfig
9
+ */
10
+ export class Model {
11
+ /**
12
+ * Streams a conversation with aggregated content blocks and messages.
13
+ * Returns an async generator that yields streaming events and content blocks, and returns the final message.
14
+ *
15
+ * This method enhances the basic stream() by collecting streaming events into complete
16
+ * ContentBlock and Message objects, which are needed by the agentic loop for tool execution
17
+ * and conversation management.
18
+ *
19
+ * The method yields:
20
+ * - ModelStreamEvent - Original streaming events (passed through)
21
+ * - ContentBlock - Complete content block (emitted when block completes)
22
+ *
23
+ * The method returns:
24
+ * - Message - Complete message (returned when message completes)
25
+ *
26
+ * @param messages - Array of conversation messages
27
+ * @param options - Optional streaming configuration
28
+ * @returns Async generator yielding ModelStreamEvent | ContentBlock and returning Message
29
+ */
30
+ async *streamAggregated(messages, options) {
31
+ // State maintained in closure
32
+ let messageRole = null;
33
+ const contentBlocks = [];
34
+ let accumulatedText = '';
35
+ let accumulatedToolInput = '';
36
+ let toolName = '';
37
+ let toolUseId = '';
38
+ let accumulatedReasoning = {};
39
+ for await (const event of this.stream(messages, options)) {
40
+ yield event; // Pass through immediately
41
+ // Aggregation logic based on event type
42
+ switch (event.type) {
43
+ case 'modelMessageStartEvent':
44
+ messageRole = event.role;
45
+ contentBlocks.length = 0; // Reset
46
+ break;
47
+ case 'modelContentBlockStartEvent':
48
+ if (event.start?.type === 'toolUseStart') {
49
+ toolName = event.start.name;
50
+ toolUseId = event.start.toolUseId;
51
+ }
52
+ accumulatedToolInput = '';
53
+ accumulatedText = '';
54
+ accumulatedReasoning = {};
55
+ break;
56
+ case 'modelContentBlockDeltaEvent':
57
+ switch (event.delta.type) {
58
+ case 'textDelta':
59
+ accumulatedText += event.delta.text;
60
+ break;
61
+ case 'toolUseInputDelta':
62
+ accumulatedToolInput += event.delta.input;
63
+ break;
64
+ case 'reasoningContentDelta':
65
+ if (event.delta.text)
66
+ accumulatedReasoning.text = (accumulatedReasoning.text ?? '') + event.delta.text;
67
+ if (event.delta.signature)
68
+ accumulatedReasoning.signature = event.delta.signature;
69
+ if (event.delta.redactedContent)
70
+ accumulatedReasoning.redactedContent = event.delta.redactedContent;
71
+ break;
72
+ }
73
+ break;
74
+ case 'modelContentBlockStopEvent': {
75
+ // Finalize and emit complete ContentBlock
76
+ let block;
77
+ if (toolUseId) {
78
+ block = {
79
+ type: 'toolUseBlock',
80
+ name: toolName,
81
+ toolUseId: toolUseId,
82
+ input: JSON.parse(accumulatedToolInput),
83
+ };
84
+ toolUseId = ''; // Reset
85
+ toolName = '';
86
+ }
87
+ else if (Object.keys(accumulatedReasoning).length > 0) {
88
+ block = {
89
+ type: 'reasoningBlock',
90
+ ...accumulatedReasoning,
91
+ };
92
+ }
93
+ else {
94
+ block = {
95
+ type: 'textBlock',
96
+ text: accumulatedText,
97
+ };
98
+ }
99
+ contentBlocks.push(block);
100
+ yield block;
101
+ break;
102
+ }
103
+ case 'modelMessageStopEvent':
104
+ // Complete message - will be returned at the end
105
+ if (messageRole) {
106
+ const message = {
107
+ type: 'message',
108
+ role: messageRole,
109
+ content: [...contentBlocks],
110
+ };
111
+ return message;
112
+ }
113
+ break;
114
+ default:
115
+ break;
116
+ }
117
+ }
118
+ // If we exit the loop without returning a message, throw an error
119
+ throw new Error('Stream ended without completing a message');
120
+ }
121
+ }
122
+ //# sourceMappingURL=model.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"model.js","sourceRoot":"","sources":["../../src/models/model.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,262 @@
1
+ /**
2
+ * OpenAI model provider implementation.
3
+ *
4
+ * This module provides integration with OpenAI's Chat Completions API,
5
+ * supporting streaming responses, tool use, and configurable model parameters.
6
+ *
7
+ * @see https://platform.openai.com/docs/api-reference/chat/create
8
+ */
9
+ import OpenAI, { type ClientOptions } from 'openai';
10
+ import { Model } from '../models/model';
11
+ import type { BaseModelConfig, StreamOptions } from '../models/model';
12
+ import type { Message } from '../types/messages';
13
+ import type { ModelStreamEvent } from '../models/streaming';
14
+ /**
15
+ * Configuration interface for OpenAI model provider.
16
+ *
17
+ * Extends BaseModelConfig with OpenAI-specific configuration options
18
+ * for model parameters and request settings.
19
+ *
20
+ * @example
21
+ * ```typescript
22
+ * const config: OpenAIModelConfig = {
23
+ * modelId: 'gpt-4o',
24
+ * temperature: 0.7,
25
+ * maxTokens: 1024
26
+ * }
27
+ * ```
28
+ */
29
+ export interface OpenAIModelConfig extends BaseModelConfig {
30
+ /**
31
+ * OpenAI model identifier (e.g., gpt-4o, gpt-3.5-turbo).
32
+ */
33
+ modelId: string;
34
+ /**
35
+ * Controls randomness in generation (0 to 2).
36
+ */
37
+ temperature?: number;
38
+ /**
39
+ * Maximum number of tokens to generate in the response.
40
+ */
41
+ maxTokens?: number;
42
+ /**
43
+ * Controls diversity via nucleus sampling (0 to 1).
44
+ */
45
+ topP?: number;
46
+ /**
47
+ * Reduces repetition of token sequences (-2.0 to 2.0).
48
+ */
49
+ frequencyPenalty?: number;
50
+ /**
51
+ * Encourages the model to talk about new topics (-2.0 to 2.0).
52
+ */
53
+ presencePenalty?: number;
54
+ /**
55
+ * Additional parameters to pass through to the OpenAI API.
56
+ * This field provides forward compatibility for any new parameters
57
+ * that OpenAI introduces. All properties in this object will be
58
+ * spread into the API request.
59
+ *
60
+ * @example
61
+ * ```typescript
62
+ * // Pass stop sequences
63
+ * { params: { stop: ['END', 'STOP'] } }
64
+ *
65
+ * // Pass any future OpenAI parameters
66
+ * { params: { newParameter: 'value' } }
67
+ * ```
68
+ */
69
+ params?: Record<string, unknown>;
70
+ }
71
+ /**
72
+ * Options interface for creating an OpenAIModel instance.
73
+ */
74
+ export interface OpenAIModelOptions extends OpenAIModelConfig {
75
+ /**
76
+ * OpenAI API key (falls back to OPENAI_API_KEY environment variable).
77
+ */
78
+ apiKey?: string;
79
+ /**
80
+ * Pre-configured OpenAI client instance.
81
+ * If provided, this client will be used instead of creating a new one.
82
+ */
83
+ client?: OpenAI;
84
+ /**
85
+ * Additional OpenAI client configuration.
86
+ * Only used if client is not provided.
87
+ */
88
+ clientConfig?: ClientOptions;
89
+ }
90
+ /**
91
+ * OpenAI model provider implementation.
92
+ *
93
+ * Implements the Model interface for OpenAI using the Chat Completions API.
94
+ * Supports streaming responses, tool use, and comprehensive configuration.
95
+ *
96
+ * @example
97
+ * ```typescript
98
+ * const provider = new OpenAIModel({
99
+ * apiKey: 'sk-...',
100
+ * modelId: 'gpt-4o',
101
+ * temperature: 0.7,
102
+ * maxTokens: 1024
103
+ * })
104
+ *
105
+ * const messages: Message[] = [
106
+ * { role: 'user', content: [{ type: 'textBlock', text: 'Hello!' }] }
107
+ * ]
108
+ *
109
+ * for await (const event of provider.stream(messages)) {
110
+ * if (event.type === 'modelContentBlockDeltaEvent' && event.delta.type === 'textDelta') {
111
+ * process.stdout.write(event.delta.text)
112
+ * }
113
+ * }
114
+ * ```
115
+ */
116
+ export declare class OpenAIModel extends Model<OpenAIModelConfig> {
117
+ private _config;
118
+ private _client;
119
+ /**
120
+ * Creates a new OpenAIModel instance.
121
+ *
122
+ * @param options - Configuration for model and client (modelId is required)
123
+ *
124
+ * @example
125
+ * ```typescript
126
+ * // Minimal configuration with API key and model ID
127
+ * const provider = new OpenAIModel({
128
+ * modelId: 'gpt-4o',
129
+ * apiKey: 'sk-...'
130
+ * })
131
+ *
132
+ * // With additional model configuration
133
+ * const provider = new OpenAIModel({
134
+ * modelId: 'gpt-4o',
135
+ * apiKey: 'sk-...',
136
+ * temperature: 0.8,
137
+ * maxTokens: 2048
138
+ * })
139
+ *
140
+ * // Using environment variable for API key
141
+ * const provider = new OpenAIModel({
142
+ * modelId: 'gpt-3.5-turbo'
143
+ * })
144
+ *
145
+ * // Using a pre-configured client instance
146
+ * const client = new OpenAI({ apiKey: 'sk-...', timeout: 60000 })
147
+ * const provider = new OpenAIModel({
148
+ * modelId: 'gpt-4o',
149
+ * client
150
+ * })
151
+ * ```
152
+ */
153
+ constructor(options: OpenAIModelOptions);
154
+ /**
155
+ * Updates the model configuration.
156
+ * Merges the provided configuration with existing settings.
157
+ *
158
+ * @param modelConfig - Configuration object with model-specific settings to update
159
+ *
160
+ * @example
161
+ * ```typescript
162
+ * // Update temperature and maxTokens
163
+ * provider.updateConfig({
164
+ * temperature: 0.9,
165
+ * maxTokens: 2048
166
+ * })
167
+ * ```
168
+ */
169
+ updateConfig(modelConfig: OpenAIModelConfig): void;
170
+ /**
171
+ * Retrieves the current model configuration.
172
+ *
173
+ * @returns The current configuration object
174
+ *
175
+ * @example
176
+ * ```typescript
177
+ * const config = provider.getConfig()
178
+ * console.log(config.modelId)
179
+ * ```
180
+ */
181
+ getConfig(): OpenAIModelConfig;
182
+ /**
183
+ * Streams a conversation with the OpenAI model.
184
+ * Returns an async iterable that yields streaming events as they occur.
185
+ *
186
+ * @param messages - Array of conversation messages
187
+ * @param options - Optional streaming configuration
188
+ * @returns Async iterable of streaming events
189
+ *
190
+ * @throws \{ContextWindowOverflowError\} When input exceeds the model's context window
191
+ *
192
+ * @example
193
+ * ```typescript
194
+ * const provider = new OpenAIModel({ modelId: 'gpt-4o', apiKey: 'sk-...' })
195
+ * const messages: Message[] = [
196
+ * { role: 'user', content: [{ type: 'textBlock', text: 'What is 2+2?' }] }
197
+ * ]
198
+ *
199
+ * for await (const event of provider.stream(messages)) {
200
+ * if (event.type === 'modelContentBlockDeltaEvent' && event.delta.type === 'textDelta') {
201
+ * process.stdout.write(event.delta.text)
202
+ * }
203
+ * }
204
+ * ```
205
+ *
206
+ * @example
207
+ * ```typescript
208
+ * // With tool use
209
+ * const options: StreamOptions = {
210
+ * systemPrompt: 'You are a helpful assistant',
211
+ * toolSpecs: [calculatorTool]
212
+ * }
213
+ *
214
+ * for await (const event of provider.stream(messages, options)) {
215
+ * if (event.type === 'modelMessageStopEvent' && event.stopReason === 'toolUse') {
216
+ * console.log('Model wants to use a tool')
217
+ * }
218
+ * }
219
+ * ```
220
+ */
221
+ stream(messages: Message[], options?: StreamOptions): AsyncIterable<ModelStreamEvent>;
222
+ /**
223
+ * Formats a request for the OpenAI Chat Completions API.
224
+ *
225
+ * @param messages - Conversation messages
226
+ * @param options - Stream options
227
+ * @returns Formatted OpenAI request
228
+ */
229
+ private _formatRequest;
230
+ /**
231
+ * Formats messages for OpenAI API.
232
+ * Handles splitting tool results into separate messages.
233
+ *
234
+ * @param messages - SDK messages
235
+ * @returns OpenAI-formatted messages
236
+ */
237
+ private _formatMessages;
238
+ /**
239
+ * Converts a snake_case string to camelCase.
240
+ * Used for mapping OpenAI stop reasons to SDK format.
241
+ *
242
+ * @param str - Snake case string (e.g., 'content_filter')
243
+ * @returns Camel case string (e.g., 'contentFilter')
244
+ *
245
+ * @example
246
+ * ```typescript
247
+ * _snakeToCamel('context_length_exceeded') // => 'contextLengthExceeded'
248
+ * _snakeToCamel('tool_calls') // => 'toolCalls'
249
+ * ```
250
+ */
251
+ private _snakeToCamel;
252
+ /**
253
+ * Maps an OpenAI chunk to SDK streaming events.
254
+ *
255
+ * @param chunk - OpenAI chunk
256
+ * @param streamState - Mutable state object tracking message and content block state
257
+ * @param activeToolCalls - Map tracking active tool calls by index
258
+ * @returns Array of SDK streaming events
259
+ */
260
+ private _mapOpenAIChunkToSDKEvents;
261
+ }
262
+ //# sourceMappingURL=openai.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"openai.d.ts","sourceRoot":"","sources":["../../src/models/openai.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,MAAM,EAAE,EAAE,KAAK,aAAa,EAAE,MAAM,QAAQ,CAAA;AACnD,OAAO,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAA;AACvC,OAAO,KAAK,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAA;AACrE,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAA;AAChD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAA;AAsC3D;;;;;;;;;;;;;;GAcG;AACH,MAAM,WAAW,iBAAkB,SAAQ,eAAe;IACxD;;OAEG;IACH,OAAO,EAAE,MAAM,CAAA;IAEf;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,CAAA;IAEpB;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAA;IAElB;;OAEG;IACH,IAAI,CAAC,EAAE,MAAM,CAAA;IAEb;;OAEG;IACH,gBAAgB,CAAC,EAAE,MAAM,CAAA;IAEzB;;OAEG;IACH,eAAe,CAAC,EAAE,MAAM,CAAA;IAExB;;;;;;;;;;;;;;OAcG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CACjC;AAED;;GAEG;AACH,MAAM,WAAW,kBAAmB,SAAQ,iBAAiB;IAC3D;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,CAAA;IAEf;;;OAGG;IACH,MAAM,CAAC,EAAE,MAAM,CAAA;IAEf;;;OAGG;IACH,YAAY,CAAC,EAAE,aAAa,CAAA;CAC7B;AAED;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,qBAAa,WAAY,SAAQ,KAAK,CAAC,iBAAiB,CAAC;IACvD,OAAO,CAAC,OAAO,CAAmB;IAClC,OAAO,CAAC,OAAO,CAAQ;IAEvB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAiCG;gBACS,OAAO,EAAE,kBAAkB;IA+BvC;;;;;;;;;;;;;;OAcG;IACH,YAAY,CAAC,WAAW,EAAE,iBAAiB,GAAG,IAAI;IAIlD;;;;;;;;;;OAUG;IACH,SAAS,IAAI,iBAAiB;IAI9B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAsCG;IACI,MAAM,CAAC,QAAQ,EAAE,OAAO,EAAE,EAAE,OAAO,CAAC,EAAE,aAAa,GAAG,aAAa,CAAC,gBAAgB,CAAC;IAgF5F;;;;;;OAMG;IACH,OAAO,CAAC,cAAc;IAiHtB;;;;;;OAMG;IACH,OAAO,CAAC,eAAe;IAiIvB;;;;;;;;;;;;OAYG;IACH,OAAO,CAAC,aAAa;IAIrB;;;;;;;OAOG;IACH,OAAO,CAAC,0BAA0B;CAqJnC"}