@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":"AAAA;;;;;;;GAOG;AAEH,OAAO,EACL,oBAAoB,EAKpB,eAAe,EAEf,qBAAqB,EAiBrB,cAAc,EACd,WAAW,GACZ,MAAM,iCAAiC,CAAA;AACxC,OAAO,EAAwB,KAAK,EAAsB,MAAM,oBAAoB,CAAA;AAKpF,OAAO,EAAE,0BAA0B,EAAE,MAAM,cAAc,CAAA;AACzD,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAA;AAEtD;;;GAGG;AACH,MAAM,wBAAwB,GAAG,kDAAkD,CAAA;AAEnF;;;;GAIG;AACH,MAAM,qBAAqB,GAAG,CAAC,kBAAkB,CAAC,CAAA;AAElD;;;GAGG;AACH,MAAM,wCAAwC,GAAG;IAC/C,uCAAuC;IACvC,oDAAoD;IACpD,2BAA2B;CAC5B,CAAA;AAED;;GAEG;AACH,MAAM,eAAe,GAAG;IACtB,QAAQ,EAAE,SAAS;IACnB,QAAQ,EAAE,SAAS;IACnB,UAAU,EAAE,WAAW;IACvB,aAAa,EAAE,cAAc;IAC7B,gBAAgB,EAAE,iBAAiB;IACnC,oBAAoB,EAAE,qBAAqB;CACnC,CAAA;AAEV;;;;;;GAMG;AACH,SAAS,YAAY,CAAC,GAAW;IAC/B,OAAO,GAAG,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,CAAA;AACtE,CAAC;AAqGD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,MAAM,OAAO,YAAa,SAAQ,KAAyB;IACjD,OAAO,CAAoB;IAC3B,OAAO,CAAsB;IAErC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA6BG;IACH,YAAY,OAA6B;QACvC,KAAK,EAAE,CAAA;QAEP,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,GAAG,WAAW,EAAE,GAAG,OAAO,IAAI,EAAE,CAAA;QAE9D,gEAAgE;QAChE,IAAI,CAAC,OAAO,GAAG;YACb,OAAO,EAAE,wBAAwB;YACjC,GAAG,WAAW;SACf,CAAA;QAED,6EAA6E;QAC7E,MAAM,eAAe,GAAG,YAAY,EAAE,eAAe;YACnD,CAAC,CAAC,GAAG,YAAY,CAAC,eAAe,wBAAwB;YACzD,CAAC,CAAC,uBAAuB,CAAA;QAE3B,2DAA2D;QAC3D,IAAI,CAAC,OAAO,GAAG,IAAI,oBAAoB,CAAC;YACtC,GAAG,CAAC,YAAY,IAAI,EAAE,CAAC;YACvB,4CAA4C;YAC5C,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACrC,eAAe;SAChB,CAAC,CAAA;IACJ,CAAC;IAED;;;;;;;;;;;;;;OAcG;IACH,YAAY,CAAC,WAA+B;QAC1C,IAAI,CAAC,OAAO,GAAG,EAAE,GAAG,IAAI,CAAC,OAAO,EAAE,GAAG,WAAW,EAAE,CAAA;IACpD,CAAC;IAED;;;;;;;;;;OAUG;IACH,SAAS;QACP,OAAO,IAAI,CAAC,OAAO,CAAA;IACrB,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA4BG;IACH,KAAK,CAAC,CAAC,MAAM,CAAC,QAAmB,EAAE,OAAuB;QACxD,IAAI,CAAC;YACH,iCAAiC;YACjC,MAAM,OAAO,GAAG,IAAI,CAAC,cAAc,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAA;YACtD,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,KAAK,KAAK,EAAE,CAAC;gBAClC,8BAA8B;gBAC9B,MAAM,OAAO,GAAG,IAAI,qBAAqB,CAAC,OAAO,CAAC,CAAA;gBAClD,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;gBACjD,sBAAsB;gBACtB,IAAI,QAAQ,CAAC,MAAM,EAAE,CAAC;oBACpB,IAAI,KAAK,EAAE,MAAM,KAAK,IAAI,QAAQ,CAAC,MAAM,EAAE,CAAC;wBAC1C,mCAAmC;wBACnC,MAAM,MAAM,GAAG,IAAI,CAAC,kCAAkC,CAAC,KAAK,CAAC,CAAA;wBAC7D,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;4BAC3B,MAAM,KAAK,CAAA;wBACb,CAAC;oBACH,CAAC;gBACH,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,MAAM,OAAO,GAAG,IAAI,eAAe,CAAC,OAAO,CAAC,CAAA;gBAC5C,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;gBACjD,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,0BAA0B,CAAC,QAAQ,CAAC,EAAE,CAAC;oBAC9D,MAAM,KAAK,CAAA;gBACb,CAAC;YACH,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,YAAoB,CAAA;YACxB,IAAI,KAAK,YAAY,KAAK,EAAE,CAAC;gBAC3B,YAAY,GAAG,KAAK,CAAC,OAAO,CAAA;YAC9B,CAAC;iBAAM,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;gBACrC,YAAY,GAAG,KAAK,CAAA;YACtB,CAAC;iBAAM,CAAC;gBACN,YAAY,GAAG,EAAE,CAAA;YACnB,CAAC;YAED,oCAAoC;YACpC,IAAI,wCAAwC,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,YAAY,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;gBACvF,MAAM,IAAI,0BAA0B,CAAC,YAAY,CAAC,CAAA;YACpD,CAAC;YAED,8BAA8B;YAC9B,MAAM,KAAK,CAAA;QACb,CAAC;IACH,CAAC;IAED;;;;;;OAMG;IACK,cAAc,CAAC,QAAmB,EAAE,OAAuB;QACjE,MAAM,OAAO,GAA+B;YAC1C,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,OAAO;YAC7B,QAAQ,EAAE,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC;SACzC,CAAA;QAED,0CAA0C;QAC1C,IAAI,OAAO,EAAE,YAAY,KAAK,SAAS,EAAE,CAAC;YACxC,IAAI,OAAO,OAAO,CAAC,YAAY,KAAK,QAAQ,EAAE,CAAC;gBAC7C,+CAA+C;gBAC/C,MAAM,MAAM,GAA0B,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC,YAAY,EAAE,CAAC,CAAA;gBAEtE,IAAI,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC;oBAC7B,MAAM,CAAC,IAAI,CAAC,EAAE,UAAU,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,WAAwB,EAAE,EAAE,CAAC,CAAA;gBAC9E,CAAC;gBAED,OAAO,CAAC,MAAM,GAAG,MAAM,CAAA;YACzB,CAAC;iBAAM,IAAI,OAAO,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC3C,oEAAoE;gBACpE,IAAI,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC;oBAC7B,OAAO,CAAC,IAAI,CACV,8GAA8G,CAC/G,CAAA;gBACH,CAAC;gBAED,OAAO,CAAC,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAuB,CAAC,CAAA;YAC7G,CAAC;QACH,CAAC;QAED,yBAAyB;QACzB,IAAI,OAAO,EAAE,SAAS,IAAI,OAAO,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACvD,MAAM,KAAK,GAAW,OAAO,CAAC,SAAS,CAAC,GAAG,CACzC,CAAC,IAAI,EAAE,EAAE,CACP,CAAC;gBACC,QAAQ,EAAE;oBACR,IAAI,EAAE,IAAI,CAAC,IAAI;oBACf,WAAW,EAAE,IAAI,CAAC,WAAW;oBAC7B,WAAW,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,WAAW,EAAE;iBACxC;aACF,CAAS,CACb,CAAA;YAED,IAAI,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC;gBAC5B,KAAK,CAAC,IAAI,CAAC;oBACT,UAAU,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,UAAuB,EAAE;iBACnD,CAAC,CAAA;YACZ,CAAC;YAED,MAAM,UAAU,GAAsB;gBACpC,KAAK,EAAE,KAAK;aACb,CAAA;YAED,IAAI,OAAO,CAAC,UAAU,EAAE,CAAC;gBACvB,UAAU,CAAC,UAAU,GAAG,OAAO,CAAC,UAAU,CAAA;YAC5C,CAAC;YAED,OAAO,CAAC,UAAU,GAAG,UAAU,CAAA;QACjC,CAAC;QAED,8BAA8B;QAC9B,MAAM,eAAe,GAA2B,EAAE,CAAA;QAClD,IAAI,IAAI,CAAC,OAAO,CAAC,SAAS,KAAK,SAAS;YAAE,eAAe,CAAC,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,CAAA;QAC5F,IAAI,IAAI,CAAC,OAAO,CAAC,WAAW,KAAK,SAAS;YAAE,eAAe,CAAC,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,CAAA;QAClG,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,KAAK,SAAS;YAAE,eAAe,CAAC,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAA;QAC7E,IAAI,IAAI,CAAC,OAAO,CAAC,aAAa,KAAK,SAAS;YAAE,eAAe,CAAC,aAAa,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,CAAA;QAExG,IAAI,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC5C,OAAO,CAAC,eAAe,GAAG,eAAe,CAAA;QAC3C,CAAC;QAED,gCAAgC;QAChC,IAAI,IAAI,CAAC,OAAO,CAAC,uBAAuB,EAAE,CAAC;YACzC,OAAO,CAAC,4BAA4B,GAAG,IAAI,CAAC,OAAO,CAAC,uBAAuB,CAAA;QAC7E,CAAC;QAED,sCAAsC;QACtC,IAAI,IAAI,CAAC,OAAO,CAAC,4BAA4B,EAAE,CAAC;YAC9C,OAAO,CAAC,iCAAiC,GAAG,IAAI,CAAC,OAAO,CAAC,4BAA4B,CAAA;QACvF,CAAC;QAED,+EAA+E;QAC/E,IAAI,IAAI,CAAC,OAAO,CAAC,cAAc,EAAE,CAAC;YAChC,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,CAAA;QACrD,CAAC;QAED,OAAO,OAAO,CAAA;IAChB,CAAC;IAED;;;;;OAKG;IACK,eAAe,CAAC,QAAmB;QACzC,OAAO,QAAQ,CAAC,MAAM,CAAmB,CAAC,GAAG,EAAE,OAAO,EAAE,EAAE;YACxD,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO;iBAC5B,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAC;iBAC/C,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,KAAK,SAAS,CAAC,CAAA;YAEzC,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACvB,GAAG,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,OAAO,EAAE,CAAC,CAAA;YAC3C,CAAC;YAED,OAAO,GAAG,CAAA;QACZ,CAAC,EAAE,EAAE,CAAC,CAAA;IACR,CAAC;IAED;;;;;;;;;OASG;IACK,8BAA8B;QACpC,MAAM,aAAa,GAAG,IAAI,CAAC,OAAO,CAAC,uBAAuB,IAAI,MAAM,CAAA;QAEpE,IAAI,aAAa,KAAK,IAAI;YAAE,OAAO,IAAI,CAAA;QACvC,IAAI,aAAa,KAAK,KAAK;YAAE,OAAO,KAAK,CAAA;QAEzC,6DAA6D;QAC7D,MAAM,aAAa,GAAG,qBAAqB,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAA;QAEtG,uCAAuC;QACvC,OAAO,CAAC,KAAK,CAAC,yCAAyC,aAAa,eAAe,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC,CAAA;QAE1G,OAAO,aAAa,CAAA;IACtB,CAAC;IAED;;;;;OAKG;IACK,mBAAmB,CAAC,KAAmB;QAC7C,QAAQ,KAAK,CAAC,IAAI,EAAE,CAAC;YACnB,KAAK,WAAW;gBACd,OAAO,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,CAAA;YAE7B,KAAK,cAAc;gBACjB,OAAO;oBACL,OAAO,EAAE;wBACP,SAAS,EAAE,KAAK,CAAC,SAAS;wBAC1B,IAAI,EAAE,KAAK,CAAC,IAAI;wBAChB,KAAK,EAAE,KAAK,CAAC,KAAK;qBACnB;iBACF,CAAA;YAEH,KAAK,iBAAiB,CAAC,CAAC,CAAC;gBACvB,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE;oBAC5C,QAAQ,OAAO,CAAC,IAAI,EAAE,CAAC;wBACrB,KAAK,WAAW;4BACd,OAAO,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,CAAA;wBAC/B,KAAK,WAAW;4BACd,OAAO,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,CAAA;oBACjC,CAAC;gBACH,CAAC,CAAC,CAAA;gBAEF,OAAO;oBACL,UAAU,EAAE;wBACV,SAAS,EAAE,KAAK,CAAC,SAAS;wBAC1B,OAAO;wBACP,GAAG,CAAC,IAAI,CAAC,8BAA8B,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,CAAC;qBACvE;iBACF,CAAA;YACH,CAAC;YAED,KAAK,gBAAgB,CAAC,CAAC,CAAC;gBACtB,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC;oBACf,OAAO;wBACL,gBAAgB,EAAE;4BAChB,aAAa,EAAE;gCACb,IAAI,EAAE,KAAK,CAAC,IAAI;gCAChB,SAAS,EAAE,KAAK,CAAC,SAAS;6BAC3B;yBACF;qBACF,CAAA;gBACH,CAAC;qBAAM,IAAI,KAAK,CAAC,eAAe,EAAE,CAAC;oBACjC,OAAO;wBACL,gBAAgB,EAAE;4BAChB,eAAe,EAAE,KAAK,CAAC,eAAe;yBACvC;qBACF,CAAA;gBACH,CAAC;qBAAM,CAAC;oBACN,MAAM,KAAK,CAAC,qFAAqF,CAAC,CAAA;gBACpG,CAAC;YACH,CAAC;YAED,KAAK,iBAAiB;gBACpB,OAAO,EAAE,UAAU,EAAE,EAAE,IAAI,EAAE,KAAK,CAAC,SAAS,EAAE,EAAE,CAAA;YAElD,KAAK,YAAY;gBACf,OAAO;oBACL,KAAK,EAAE;wBACL,MAAM,EAAE,KAAK,CAAC,MAAqB;wBACnC,MAAM,EAAE,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC,MAAM,CAAC;qBAC9C;iBACF,CAAA;YAEH,KAAK,YAAY;gBACf,OAAO;oBACL,KAAK,EAAE;wBACL,MAAM,EAAE,KAAK,CAAC,MAAM,KAAK,KAAK,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM;wBAC1D,MAAM,EAAE,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC,MAAM,CAAC;qBAC9C;iBACF,CAAA;YAEH,KAAK,eAAe;gBAClB,OAAO;oBACL,QAAQ,EAAE;wBACR,IAAI,EAAE,KAAK,CAAC,IAAI;wBAChB,MAAM,EAAE,KAAK,CAAC,MAAwB;wBACtC,MAAM,EAAE,IAAI,CAAC,qBAAqB,CAAC,KAAK,CAAC,MAAM,CAAC;wBAChD,GAAG,CAAC,KAAK,CAAC,SAAS,IAAI,EAAE,SAAS,EAAE,KAAK,CAAC,SAAS,EAAE,CAAC;wBACtD,GAAG,CAAC,KAAK,CAAC,OAAO,IAAI,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,CAAC;qBACjD;iBACF,CAAA;YAEH,KAAK,mBAAmB,CAAC,CAAC,CAAC;gBACzB,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC;oBACf,OAAO;wBACL,YAAY,EAAE;4BACZ,IAAI,EAAE;gCACJ,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI;gCACrB,UAAU,EAAE,KAAK,CAAC,IAAI,CAAC,UAAU;6BAClC;yBACF;qBACF,CAAA;gBACH,CAAC;qBAAM,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC;oBACvB,OAAO;wBACL,YAAY,EAAE;4BACZ,KAAK,EAAE;gCACL,MAAM,EAAE,KAAK,CAAC,KAAK,CAAC,MAAM;gCAC1B,MAAM,EAAE,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,EAAE;6BAC5C;yBACF;qBACF,CAAA;gBACH,CAAC;qBAAM,CAAC;oBACN,MAAM,IAAI,KAAK,CAAC,6CAA6C,CAAC,CAAA;gBAChE,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAED;;;;;;OAMG;IACK,kBAAkB,CACxB,MAAiC;QAOjC,QAAQ,MAAM,CAAC,IAAI,EAAE,CAAC;YACpB,KAAK,kBAAkB,CAAC;YACxB,KAAK,kBAAkB;gBACrB,OAAO,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,CAAA;YAEhC,KAAK,gBAAgB;gBACnB,qCAAqC;gBACrC,IAAI,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;oBACnC,OAAO;wBACL,UAAU,EAAE;4BACV,GAAG,EAAE,MAAM,CAAC,GAAG;yBAChB;qBACF,CAAA;gBACH,CAAC;gBACD,OAAO,CAAC,IAAI,CAAC,uEAAuE,CAAC,CAAA;gBACrF,OAAM;YAER,KAAK,uBAAuB,CAAC;YAC7B,KAAK,uBAAuB;gBAC1B,OAAO;oBACL,UAAU,EAAE;wBACV,GAAG,EAAE,MAAM,CAAC,UAAU,CAAC,GAAG;wBAC1B,GAAG,CAAC,MAAM,CAAC,UAAU,CAAC,WAAW,IAAI,EAAE,WAAW,EAAE,MAAM,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC;qBACrF;iBACF,CAAA;YAEH;gBACE,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAA;QAC3C,CAAC;IACH,CAAC;IAED;;;;;;;OAOG;IACK,qBAAqB,CAC3B,MAAsB;QAEtB,QAAQ,MAAM,CAAC,IAAI,EAAE,CAAC;YACpB,KAAK,qBAAqB;gBACxB,OAAO;oBACL,KAAK,EAAE,MAAM,CAAC,KAAK;iBACpB,CAAA;YAEH,KAAK,oBAAoB,CAAC,CAAC,CAAC;gBAC1B,mEAAmE;gBACnE,MAAM,OAAO,GAAG,IAAI,WAAW,EAAE,CAAA;gBACjC,OAAO,EAAE,KAAK,EAAE,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAA;YAC/C,CAAC;YAED,KAAK,4BAA4B;gBAC/B,OAAO;oBACL,OAAO,EAAE,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;wBACtC,IAAI,EAAE,KAAK,CAAC,IAAI;qBACjB,CAAC,CAAC;iBACJ,CAAA;YAEH,KAAK,0BAA0B;gBAC7B,OAAO;oBACL,UAAU,EAAE;wBACV,GAAG,EAAE,MAAM,CAAC,UAAU,CAAC,GAAG;wBAC1B,GAAG,CAAC,MAAM,CAAC,UAAU,CAAC,WAAW,IAAI,EAAE,WAAW,EAAE,MAAM,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC;qBACrF;iBACF,CAAA;YAEH;gBACE,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAA;QAC9C,CAAC;IACH,CAAC;IAEO,0BAA0B,CAAC,KAA4B;QAC7D,MAAM,MAAM,GAAuB,EAAE,CAAA;QAErC,gBAAgB;QAChB,MAAM,MAAM,GAAG,aAAa,CAAC,KAAK,CAAC,MAAM,EAAE,cAAc,CAAC,CAAA;QAC1D,MAAM,OAAO,GAAG,aAAa,CAAC,MAAM,CAAC,OAAO,EAAE,gBAAgB,CAAC,CAAA;QAC/D,MAAM,IAAI,GAAG,aAAa,CAAC,OAAO,CAAC,IAAI,EAAE,cAAc,CAAC,CAAA;QACxD,MAAM,CAAC,IAAI,CAAC;YACV,IAAI,EAAE,wBAAwB;YAC9B,IAAI;SACL,CAAC,CAAA;QAEF,0BAA0B;QAC1B,MAAM,aAAa,GAAG;YACpB,IAAI,EAAE,CAAC,SAAiB,EAAQ,EAAE;gBAChC,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,6BAA6B,EAAE,CAAC,CAAA;gBACpD,MAAM,CAAC,IAAI,CAAC;oBACV,IAAI,EAAE,6BAA6B;oBACnC,KAAK,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,SAAS,EAAE;iBAC9C,CAAC,CAAA;gBACF,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,4BAA4B,EAAE,CAAC,CAAA;YACrD,CAAC;YACD,OAAO,EAAE,CAAC,KAAmB,EAAQ,EAAE;gBACrC,MAAM,CAAC,IAAI,CAAC;oBACV,IAAI,EAAE,6BAA6B;oBACnC,KAAK,EAAE;wBACL,IAAI,EAAE,cAAc;wBACpB,IAAI,EAAE,aAAa,CAAC,KAAK,CAAC,IAAI,EAAE,cAAc,CAAC;wBAC/C,SAAS,EAAE,aAAa,CAAC,KAAK,CAAC,SAAS,EAAE,mBAAmB,CAAC;qBAC/D;iBACF,CAAC,CAAA;gBACF,MAAM,CAAC,IAAI,CAAC;oBACV,IAAI,EAAE,6BAA6B;oBACnC,KAAK,EAAE,EAAE,IAAI,EAAE,mBAAmB,EAAE,KAAK,EAAE,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,KAAK,CAAC,KAAK,EAAE,eAAe,CAAC,CAAC,EAAE;iBACzG,CAAC,CAAA;gBACF,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,4BAA4B,EAAE,CAAC,CAAA;YACrD,CAAC;YACD,gBAAgB,EAAE,CAAC,KAA4B,EAAQ,EAAE;gBACvD,IAAI,CAAC,KAAK;oBAAE,OAAM;gBAClB,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,6BAA6B,EAAE,CAAC,CAAA;gBAEpD,MAAM,KAAK,GAA0B,EAAE,IAAI,EAAE,uBAAuB,EAAE,CAAA;gBACtE,IAAI,KAAK,CAAC,aAAa,EAAE,CAAC;oBACxB,KAAK,CAAC,IAAI,GAAG,aAAa,CAAC,KAAK,CAAC,aAAa,CAAC,IAAI,EAAE,oBAAoB,CAAC,CAAA;oBAC1E,IAAI,KAAK,CAAC,aAAa,CAAC,SAAS;wBAAE,KAAK,CAAC,SAAS,GAAG,KAAK,CAAC,aAAa,CAAC,SAAS,CAAA;gBACpF,CAAC;qBAAM,IAAI,KAAK,CAAC,eAAe,EAAE,CAAC;oBACjC,KAAK,CAAC,eAAe,GAAG,KAAK,CAAC,eAAe,CAAA;gBAC/C,CAAC;gBAED,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBAClC,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,6BAA6B,EAAE,KAAK,EAAE,CAAC,CAAA;gBAC7D,CAAC;gBAED,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,4BAA4B,EAAE,CAAC,CAAA;YACrD,CAAC;SACF,CAAA;QAED,MAAM,OAAO,GAAG,aAAa,CAAC,OAAO,CAAC,OAAO,EAAE,iBAAiB,CAAC,CAAA;QACjE,OAAO,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE;YACxB,KAAK,MAAM,GAAG,IAAI,KAAK,EAAE,CAAC;gBACxB,IAAI,GAAG,IAAI,aAAa,EAAE,CAAC;oBACzB,MAAM,UAAU,GAAG,GAAiC,CAAA;oBACpD,4EAA4E;oBAC5E,aAAa,CAAC,UAAU,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAA;gBAC9C,CAAC;qBAAM,CAAC;oBACN,OAAO,CAAC,IAAI,CAAC,mCAAmC,GAAG,EAAE,CAAC,CAAA;gBACxD,CAAC;YACH,CAAC;QACH,CAAC,CAAC,CAAA;QAEF,MAAM,aAAa,GAAG,aAAa,CAAC,KAAK,CAAC,UAAU,EAAE,kBAAkB,CAAW,CAAA;QACnF,MAAM,CAAC,IAAI,CAAC;YACV,IAAI,EAAE,uBAAuB;YAC7B,UAAU,EAAE,IAAI,CAAC,oBAAoB,CAAC,aAAa,EAAE,KAAK,CAAC;SAC5D,CAAC,CAAA;QAEF,MAAM,KAAK,GAAG,aAAa,CAAC,KAAK,CAAC,KAAK,EAAE,cAAc,CAAC,CAAA;QACxD,MAAM,aAAa,GAAqB;YACtC,IAAI,EAAE,oBAAoB;YAC1B,KAAK,EAAE;gBACL,WAAW,EAAE,aAAa,CAAC,KAAK,CAAC,WAAW,EAAE,mBAAmB,CAAC;gBAClE,YAAY,EAAE,aAAa,CAAC,KAAK,CAAC,YAAY,EAAE,oBAAoB,CAAC;gBACrE,WAAW,EAAE,aAAa,CAAC,KAAK,CAAC,WAAW,EAAE,mBAAmB,CAAC;aACnE;SACF,CAAA;QAED,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;YAClB,aAAa,CAAC,OAAO,GAAG;gBACtB,SAAS,EAAE,aAAa,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,EAAE,mBAAmB,CAAC;aACvE,CAAA;QACH,CAAC;QAED,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,CAAA;QAE1B,OAAO,MAAM,CAAA;IACf,CAAC;IAED;;;;;OAKG;IACK,kCAAkC,CAAC,KAA2B;QACpE,MAAM,MAAM,GAAuB,EAAE,CAAA;QAErC,6BAA6B;QAC7B,MAAM,SAAS,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,WAAW,CAA+B,CAAA;QACjG,MAAM,SAAS,GAAG,KAAK,CAAC,SAAuC,CAAC,CAAA;QAEhE,QAAQ,SAAS,EAAE,CAAC;YAClB,KAAK,cAAc,CAAC,CAAC,CAAC;gBACpB,MAAM,IAAI,GAAG,SAAqC,CAAA;gBAClD,MAAM,CAAC,IAAI,CAAC;oBACV,IAAI,EAAE,wBAAwB;oBAC9B,IAAI,EAAE,aAAa,CAAC,IAAI,CAAC,IAAI,EAAE,mBAAmB,CAAC;iBACpD,CAAC,CAAA;gBACF,MAAK;YACP,CAAC;YAED,KAAK,mBAAmB,CAAC,CAAC,CAAC;gBACzB,MAAM,IAAI,GAAG,SAA0C,CAAA;gBAEvD,MAAM,KAAK,GAAqB;oBAC9B,IAAI,EAAE,6BAA6B;iBACpC,CAAA;gBAED,IAAI,IAAI,CAAC,KAAK,EAAE,OAAO,EAAE,CAAC;oBACxB,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAA;oBAClC,KAAK,CAAC,KAAK,GAAG;wBACZ,IAAI,EAAE,cAAc;wBACpB,IAAI,EAAE,aAAa,CAAC,OAAO,CAAC,IAAI,EAAE,cAAc,CAAC;wBACjD,SAAS,EAAE,aAAa,CAAC,OAAO,CAAC,SAAS,EAAE,mBAAmB,CAAC;qBACjE,CAAA;gBACH,CAAC;gBAED,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;gBAClB,MAAK;YACP,CAAC;YAED,KAAK,mBAAmB,CAAC,CAAC,CAAC;gBACzB,MAAM,IAAI,GAAG,SAA0C,CAAA;gBACvD,MAAM,KAAK,GAAG,aAAa,CAAC,IAAI,CAAC,KAAK,EAAE,yBAAyB,CAAC,CAAA;gBAClE,MAAM,aAAa,GAAG;oBACpB,IAAI,EAAE,CAAC,SAAiB,EAAQ,EAAE;wBAChC,MAAM,CAAC,IAAI,CAAC;4BACV,IAAI,EAAE,6BAA6B;4BACnC,KAAK,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,SAAS,EAAE;yBAC9C,CAAC,CAAA;oBACJ,CAAC;oBACD,OAAO,EAAE,CAAC,OAA0B,EAAQ,EAAE;wBAC5C,IAAI,CAAC,OAAO,EAAE,KAAK;4BAAE,OAAM;wBAC3B,MAAM,CAAC,IAAI,CAAC;4BACV,IAAI,EAAE,6BAA6B;4BACnC,KAAK,EAAE,EAAE,IAAI,EAAE,mBAAmB,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE;yBAC3D,CAAC,CAAA;oBACJ,CAAC;oBACD,gBAAgB,EAAE,CAAC,SAAqC,EAAQ,EAAE;wBAChE,IAAI,CAAC,SAAS;4BAAE,OAAM;wBACtB,MAAM,cAAc,GAA0B,EAAE,IAAI,EAAE,uBAAuB,EAAE,CAAA;wBAC/E,IAAI,SAAS,CAAC,IAAI;4BAAE,cAAc,CAAC,IAAI,GAAG,SAAS,CAAC,IAAI,CAAA;wBACxD,IAAI,SAAS,CAAC,SAAS;4BAAE,cAAc,CAAC,SAAS,GAAG,SAAS,CAAC,SAAS,CAAA;wBACvE,IAAI,SAAS,CAAC,eAAe;4BAAE,cAAc,CAAC,eAAe,GAAG,SAAS,CAAC,eAAe,CAAA;wBAEzF,IAAI,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;4BAC3C,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,6BAA6B,EAAE,KAAK,EAAE,cAAc,EAAE,CAAC,CAAA;wBAC7E,CAAC;oBACH,CAAC;iBACF,CAAA;gBAED,KAAK,MAAM,GAAG,IAAI,KAAK,EAAE,CAAC;oBACxB,IAAI,GAAG,IAAI,aAAa,EAAE,CAAC;wBACzB,MAAM,UAAU,GAAG,GAAiC,CAAA;wBACpD,4EAA4E;wBAC5E,aAAa,CAAC,UAAU,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAA;oBAC9C,CAAC;yBAAM,CAAC;wBACN,OAAO,CAAC,IAAI,CAAC,mCAAmC,GAAG,EAAE,CAAC,CAAA;oBACxD,CAAC;gBACH,CAAC;gBAED,MAAK;YACP,CAAC;YAED,KAAK,kBAAkB,CAAC,CAAC,CAAC;gBACxB,MAAM,CAAC,IAAI,CAAC;oBACV,IAAI,EAAE,4BAA4B;iBACnC,CAAC,CAAA;gBACF,MAAK;YACP,CAAC;YAED,KAAK,aAAa,CAAC,CAAC,CAAC;gBACnB,MAAM,IAAI,GAAG,SAAoC,CAAA;gBAEjD,MAAM,aAAa,GAAG,aAAa,CAAC,IAAI,CAAC,UAAU,EAAE,wBAAwB,CAAW,CAAA;gBACxF,MAAM,KAAK,GAAqB;oBAC9B,IAAI,EAAE,uBAAuB;oBAC7B,UAAU,EAAE,IAAI,CAAC,oBAAoB,CAAC,aAAa,EAAE,IAAI,CAAC;iBAC3D,CAAA;gBAED,IAAI,IAAI,CAAC,6BAA6B,EAAE,CAAC;oBACvC,KAAK,CAAC,6BAA6B,GAAG,IAAI,CAAC,6BAA6B,CAAA;gBAC1E,CAAC;gBAED,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;gBAClB,MAAK;YACP,CAAC;YAED,KAAK,UAAU,CAAC,CAAC,CAAC;gBAChB,MAAM,IAAI,GAAG,SAA+C,CAAA;gBAE5D,MAAM,KAAK,GAAqB;oBAC9B,IAAI,EAAE,oBAAoB;iBAC3B,CAAA;gBAED,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;oBACf,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAA;oBAExB,MAAM,SAAS,GAAU;wBACvB,WAAW,EAAE,aAAa,CAAC,KAAK,CAAC,WAAW,EAAE,mBAAmB,CAAC;wBAClE,YAAY,EAAE,aAAa,CAAC,KAAK,CAAC,YAAY,EAAE,oBAAoB,CAAC;wBACrE,WAAW,EAAE,aAAa,CAAC,KAAK,CAAC,WAAW,EAAE,mBAAmB,CAAC;qBACnE,CAAA;oBAED,IAAI,KAAK,CAAC,oBAAoB,KAAK,SAAS,EAAE,CAAC;wBAC7C,SAAS,CAAC,oBAAoB,GAAG,KAAK,CAAC,oBAAoB,CAAA;oBAC7D,CAAC;oBACD,IAAI,KAAK,CAAC,qBAAqB,KAAK,SAAS,EAAE,CAAC;wBAC9C,SAAS,CAAC,qBAAqB,GAAG,KAAK,CAAC,qBAAqB,CAAA;oBAC/D,CAAC;oBAED,KAAK,CAAC,KAAK,GAAG,SAAS,CAAA;gBACzB,CAAC;gBAED,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;oBACjB,KAAK,CAAC,OAAO,GAAG;wBACd,SAAS,EAAE,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,mBAAmB,CAAC;qBACtE,CAAA;gBACH,CAAC;gBAED,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;oBACf,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAA;gBAC1B,CAAC;gBAED,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;gBAClB,MAAK;YACP,CAAC;YACD,KAAK,yBAAyB,CAAC;YAC/B,KAAK,2BAA2B,CAAC;YACjC,KAAK,6BAA6B,CAAC;YACnC,KAAK,qBAAqB,CAAC;YAC3B,KAAK,qBAAqB,CAAC,CAAC,CAAC;gBAC3B,MAAM,SAAS,CAAA;YACjB,CAAC;YACD;gBACE,sEAAsE;gBACtE,OAAO,CAAC,IAAI,CAAC,mCAAmC,SAAS,EAAE,CAAC,CAAA;gBAC5D,MAAK;QACT,CAAC;QAED,OAAO,MAAM,CAAA;IACf,CAAC;IAED;;;;;;OAMG;IACK,oBAAoB,CAAC,aAAqB,EAAE,KAAuD;QACzG,IAAI,gBAAwB,CAAA;QAE5B,IAAI,aAAa,IAAI,eAAe,EAAE,CAAC;YACrC,gBAAgB,GAAG,eAAe,CAAC,aAA6C,CAAC,CAAA;QACnF,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,IAAI,CAAC,yBAAyB,aAAa,gCAAgC,YAAY,CAAC,aAAa,CAAC,GAAG,CAAC,CAAA;YAClH,gBAAgB,GAAG,YAAY,CAAC,aAAa,CAAC,CAAA;QAChD,CAAC;QAED,2EAA2E;QAC3E,IACE,gBAAgB,KAAK,SAAS;YAC9B,KAAK;YACL,QAAQ,IAAI,KAAK;YACjB,KAAK,CAAC,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,SAAS,IAAI,KAAK,CAAC,EACnE,CAAC;YACD,gBAAgB,GAAG,SAAS,CAAA;YAC5B,OAAO,CAAC,IAAI,CAAC,wFAAwF,CAAC,CAAA;QACxG,CAAC;QAED,OAAO,gBAAgB,CAAA;IACzB,CAAC;CACF"}
@@ -0,0 +1,99 @@
1
+ import { type ContentBlock, Message, type SystemPrompt } from '../types/messages.js';
2
+ import type { ToolChoice, ToolSpec } from '../tools/types.js';
3
+ import { type ModelStreamEvent } from './streaming.js';
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 = 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
+ * Converts event data to event class representation
70
+ *
71
+ * @param event_data - Interface representation of event
72
+ * @returns Class representation of event
73
+ */
74
+ private _convert_to_class_event;
75
+ /**
76
+ * Streams a conversation with aggregated content blocks and messages.
77
+ * Returns an async generator that yields streaming events and content blocks, and returns the final message with stop reason.
78
+ *
79
+ * This method enhances the basic stream() by collecting streaming events into complete
80
+ * ContentBlock and Message objects, which are needed by the agentic loop for tool execution
81
+ * and conversation management.
82
+ *
83
+ * The method yields:
84
+ * - ModelStreamEvent - Original streaming events (passed through)
85
+ * - ContentBlock - Complete content block (emitted when block completes)
86
+ *
87
+ * The method returns:
88
+ * - Object containing the complete message and stop reason
89
+ *
90
+ * @param messages - Array of conversation messages
91
+ * @param options - Optional streaming configuration
92
+ * @returns Async generator yielding ModelStreamEvent | ContentBlock and returning an object with message and stopReason
93
+ */
94
+ streamAggregated(messages: Message[], options?: StreamOptions): AsyncGenerator<ModelStreamEvent | ContentBlock, {
95
+ message: Message;
96
+ stopReason: string;
97
+ }, undefined>;
98
+ }
99
+ //# 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,EACL,KAAK,YAAY,EACjB,OAAO,EAGP,KAAK,YAAY,EAGlB,MAAM,sBAAsB,CAAA;AAC7B,OAAO,KAAK,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAA;AAC7D,OAAO,EAOL,KAAK,gBAAgB,EACtB,MAAM,gBAAgB,CAAA;AAGvB;;;;;;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,GAAG,eAAe;IACrE;;;;;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;;;;;OAKG;IACH,OAAO,CAAC,uBAAuB;IAmB/B;;;;;;;;;;;;;;;;;;OAkBG;IACI,gBAAgB,CACrB,QAAQ,EAAE,OAAO,EAAE,EACnB,OAAO,CAAC,EAAE,aAAa,GACtB,cAAc,CAAC,gBAAgB,GAAG,YAAY,EAAE;QAAE,OAAO,EAAE,OAAO,CAAC;QAAC,UAAU,EAAE,MAAM,CAAA;KAAE,EAAE,SAAS,CAAC;CA0HxG"}
@@ -0,0 +1,169 @@
1
+ import { Message, ReasoningBlock, TextBlock, ToolUseBlock, } from '../types/messages.js';
2
+ import { ModelContentBlockDeltaEvent, ModelContentBlockStartEvent, ModelContentBlockStopEvent, ModelMessageStartEvent, ModelMessageStopEvent, ModelMetadataEvent, } from './streaming.js';
3
+ import { MaxTokensError } from '../errors.js';
4
+ /**
5
+ * Base abstract class for model providers.
6
+ * Defines the contract that all model provider implementations must follow.
7
+ *
8
+ * Model providers handle communication with LLM APIs and implement streaming
9
+ * responses using async iterables.
10
+ *
11
+ * @typeParam T - Model configuration type extending BaseModelConfig
12
+ */
13
+ export class Model {
14
+ /**
15
+ * Converts event data to event class representation
16
+ *
17
+ * @param event_data - Interface representation of event
18
+ * @returns Class representation of event
19
+ */
20
+ _convert_to_class_event(event_data) {
21
+ switch (event_data.type) {
22
+ case 'modelMessageStartEvent':
23
+ return new ModelMessageStartEvent(event_data);
24
+ case 'modelContentBlockStartEvent':
25
+ return new ModelContentBlockStartEvent(event_data);
26
+ case 'modelContentBlockDeltaEvent':
27
+ return new ModelContentBlockDeltaEvent(event_data);
28
+ case 'modelContentBlockStopEvent':
29
+ return new ModelContentBlockStopEvent(event_data);
30
+ case 'modelMessageStopEvent':
31
+ return new ModelMessageStopEvent(event_data);
32
+ case 'modelMetadataEvent':
33
+ return new ModelMetadataEvent(event_data);
34
+ default:
35
+ throw new Error(`Unsupported event type: ${event_data}`);
36
+ }
37
+ }
38
+ /**
39
+ * Streams a conversation with aggregated content blocks and messages.
40
+ * Returns an async generator that yields streaming events and content blocks, and returns the final message with stop reason.
41
+ *
42
+ * This method enhances the basic stream() by collecting streaming events into complete
43
+ * ContentBlock and Message objects, which are needed by the agentic loop for tool execution
44
+ * and conversation management.
45
+ *
46
+ * The method yields:
47
+ * - ModelStreamEvent - Original streaming events (passed through)
48
+ * - ContentBlock - Complete content block (emitted when block completes)
49
+ *
50
+ * The method returns:
51
+ * - Object containing the complete message and stop reason
52
+ *
53
+ * @param messages - Array of conversation messages
54
+ * @param options - Optional streaming configuration
55
+ * @returns Async generator yielding ModelStreamEvent | ContentBlock and returning an object with message and stopReason
56
+ */
57
+ async *streamAggregated(messages, options) {
58
+ // State maintained in closure
59
+ let messageRole = null;
60
+ const contentBlocks = [];
61
+ let accumulatedText = '';
62
+ let accumulatedToolInput = '';
63
+ let toolName = '';
64
+ let toolUseId = '';
65
+ let accumulatedReasoning = {};
66
+ let errorToThrow = undefined;
67
+ for await (const event_data of this.stream(messages, options)) {
68
+ const event = this._convert_to_class_event(event_data);
69
+ yield event; // Pass through immediately
70
+ // Aggregation logic based on event type
71
+ switch (event.type) {
72
+ case 'modelMessageStartEvent':
73
+ messageRole = event.role;
74
+ contentBlocks.length = 0; // Reset
75
+ break;
76
+ case 'modelContentBlockStartEvent':
77
+ if (event.start?.type === 'toolUseStart') {
78
+ toolName = event.start.name;
79
+ toolUseId = event.start.toolUseId;
80
+ }
81
+ accumulatedToolInput = '';
82
+ accumulatedText = '';
83
+ accumulatedReasoning = {};
84
+ break;
85
+ case 'modelContentBlockDeltaEvent':
86
+ switch (event.delta.type) {
87
+ case 'textDelta':
88
+ accumulatedText += event.delta.text;
89
+ break;
90
+ case 'toolUseInputDelta':
91
+ accumulatedToolInput += event.delta.input;
92
+ break;
93
+ case 'reasoningContentDelta':
94
+ if (event.delta.text)
95
+ accumulatedReasoning.text = (accumulatedReasoning.text ?? '') + event.delta.text;
96
+ if (event.delta.signature)
97
+ accumulatedReasoning.signature = event.delta.signature;
98
+ if (event.delta.redactedContent)
99
+ accumulatedReasoning.redactedContent = event.delta.redactedContent;
100
+ break;
101
+ }
102
+ break;
103
+ case 'modelContentBlockStopEvent': {
104
+ // Finalize and emit complete ContentBlock
105
+ let block;
106
+ try {
107
+ if (toolUseId) {
108
+ block = new ToolUseBlock({
109
+ name: toolName,
110
+ toolUseId: toolUseId,
111
+ input: JSON.parse(accumulatedToolInput),
112
+ });
113
+ toolUseId = ''; // Reset
114
+ toolName = '';
115
+ }
116
+ else if (Object.keys(accumulatedReasoning).length > 0) {
117
+ block = new ReasoningBlock({
118
+ ...accumulatedReasoning,
119
+ });
120
+ }
121
+ else {
122
+ block = new TextBlock(accumulatedText);
123
+ }
124
+ contentBlocks.push(block);
125
+ yield block;
126
+ }
127
+ catch (e) {
128
+ if (e instanceof SyntaxError) {
129
+ console.error('Unable to parse JSON string.');
130
+ errorToThrow = e;
131
+ }
132
+ }
133
+ break;
134
+ }
135
+ case 'modelMessageStopEvent':
136
+ // Complete message and return with stop reason
137
+ if (messageRole) {
138
+ const message = new Message({
139
+ role: messageRole,
140
+ content: [...contentBlocks],
141
+ });
142
+ // Handle stop reason
143
+ if (event.stopReason === 'maxTokens') {
144
+ const maxTokensError = new MaxTokensError('Model reached maximum token limit. This is an unrecoverable state that requires intervention.', message);
145
+ if (errorToThrow !== undefined) {
146
+ errorToThrow.cause = maxTokensError;
147
+ }
148
+ else {
149
+ errorToThrow = maxTokensError;
150
+ }
151
+ }
152
+ if (errorToThrow !== undefined) {
153
+ throw errorToThrow;
154
+ }
155
+ return { message, stopReason: event.stopReason };
156
+ }
157
+ break;
158
+ case 'modelMetadataEvent':
159
+ // TODO: Implement metadata events: https://github.com/strands-agents/sdk-typescript/issues/70
160
+ break;
161
+ default:
162
+ break;
163
+ }
164
+ }
165
+ // If we exit the loop without returning a message, throw an error
166
+ throw new Error('Stream ended without completing a message');
167
+ }
168
+ }
169
+ //# 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.js';
11
+ import type { BaseModelConfig, StreamOptions } from '../models/model.js';
12
+ import type { Message } from '../types/messages.js';
13
+ import type { ModelStreamEvent } from '../models/streaming.js';
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,oBAAoB,CAAA;AAC1C,OAAO,KAAK,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAA;AACxE,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAA;AAGnD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAA;AA+E9D;;;;;;;;;;;;;;GAcG;AACH,MAAM,WAAW,iBAAkB,SAAQ,eAAe;IACxD;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,CAAA;IAEhB;;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,CAAC,EAAE,kBAAkB;IA+BxC;;;;;;;;;;;;;;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;IAwHtB;;;;;;OAMG;IACH,OAAO,CAAC,eAAe;IAsOvB;;;;;;;;;;;;OAYG;IACH,OAAO,CAAC,aAAa;IAIrB;;;;;;;OAOG;IACH,OAAO,CAAC,0BAA0B;CA2InC"}