@dimivelev/chimera 0.78.1 → 0.78.2

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 (985) hide show
  1. package/npm-shrinkwrap.json +2 -2
  2. package/package.json +1 -6
  3. package/node_modules/@anthropic-ai/sdk/CHANGELOG.md +0 -1677
  4. package/node_modules/@anthropic-ai/sdk/LICENSE +0 -8
  5. package/node_modules/@anthropic-ai/sdk/README.md +0 -674
  6. package/node_modules/@anthropic-ai/sdk/_vendor/partial-json-parser/parser.d.mts +0 -3
  7. package/node_modules/@anthropic-ai/sdk/_vendor/partial-json-parser/parser.d.mts.map +0 -1
  8. package/node_modules/@anthropic-ai/sdk/_vendor/partial-json-parser/parser.d.ts +0 -3
  9. package/node_modules/@anthropic-ai/sdk/_vendor/partial-json-parser/parser.d.ts.map +0 -1
  10. package/node_modules/@anthropic-ai/sdk/_vendor/partial-json-parser/parser.js +0 -226
  11. package/node_modules/@anthropic-ai/sdk/_vendor/partial-json-parser/parser.js.map +0 -1
  12. package/node_modules/@anthropic-ai/sdk/_vendor/partial-json-parser/parser.mjs +0 -223
  13. package/node_modules/@anthropic-ai/sdk/_vendor/partial-json-parser/parser.mjs.map +0 -1
  14. package/node_modules/@anthropic-ai/sdk/api-promise.d.mts +0 -2
  15. package/node_modules/@anthropic-ai/sdk/api-promise.d.mts.map +0 -1
  16. package/node_modules/@anthropic-ai/sdk/api-promise.d.ts +0 -2
  17. package/node_modules/@anthropic-ai/sdk/api-promise.d.ts.map +0 -1
  18. package/node_modules/@anthropic-ai/sdk/api-promise.js +0 -6
  19. package/node_modules/@anthropic-ai/sdk/api-promise.js.map +0 -1
  20. package/node_modules/@anthropic-ai/sdk/api-promise.mjs +0 -2
  21. package/node_modules/@anthropic-ai/sdk/api-promise.mjs.map +0 -1
  22. package/node_modules/@anthropic-ai/sdk/bin/cli +0 -53
  23. package/node_modules/@anthropic-ai/sdk/bin/migration-config.json +0 -7
  24. package/node_modules/@anthropic-ai/sdk/client.d.mts +0 -225
  25. package/node_modules/@anthropic-ai/sdk/client.d.mts.map +0 -1
  26. package/node_modules/@anthropic-ai/sdk/client.d.ts +0 -225
  27. package/node_modules/@anthropic-ai/sdk/client.d.ts.map +0 -1
  28. package/node_modules/@anthropic-ai/sdk/client.js +0 -536
  29. package/node_modules/@anthropic-ai/sdk/client.js.map +0 -1
  30. package/node_modules/@anthropic-ai/sdk/client.mjs +0 -531
  31. package/node_modules/@anthropic-ai/sdk/client.mjs.map +0 -1
  32. package/node_modules/@anthropic-ai/sdk/core/api-promise.d.mts +0 -49
  33. package/node_modules/@anthropic-ai/sdk/core/api-promise.d.mts.map +0 -1
  34. package/node_modules/@anthropic-ai/sdk/core/api-promise.d.ts +0 -49
  35. package/node_modules/@anthropic-ai/sdk/core/api-promise.d.ts.map +0 -1
  36. package/node_modules/@anthropic-ai/sdk/core/api-promise.js +0 -76
  37. package/node_modules/@anthropic-ai/sdk/core/api-promise.js.map +0 -1
  38. package/node_modules/@anthropic-ai/sdk/core/api-promise.mjs +0 -72
  39. package/node_modules/@anthropic-ai/sdk/core/api-promise.mjs.map +0 -1
  40. package/node_modules/@anthropic-ai/sdk/core/error.d.mts +0 -47
  41. package/node_modules/@anthropic-ai/sdk/core/error.d.mts.map +0 -1
  42. package/node_modules/@anthropic-ai/sdk/core/error.d.ts +0 -47
  43. package/node_modules/@anthropic-ai/sdk/core/error.d.ts.map +0 -1
  44. package/node_modules/@anthropic-ai/sdk/core/error.js +0 -114
  45. package/node_modules/@anthropic-ai/sdk/core/error.js.map +0 -1
  46. package/node_modules/@anthropic-ai/sdk/core/error.mjs +0 -98
  47. package/node_modules/@anthropic-ai/sdk/core/error.mjs.map +0 -1
  48. package/node_modules/@anthropic-ai/sdk/core/pagination.d.mts +0 -63
  49. package/node_modules/@anthropic-ai/sdk/core/pagination.d.mts.map +0 -1
  50. package/node_modules/@anthropic-ai/sdk/core/pagination.d.ts +0 -63
  51. package/node_modules/@anthropic-ai/sdk/core/pagination.d.ts.map +0 -1
  52. package/node_modules/@anthropic-ai/sdk/core/pagination.js +0 -123
  53. package/node_modules/@anthropic-ai/sdk/core/pagination.js.map +0 -1
  54. package/node_modules/@anthropic-ai/sdk/core/pagination.mjs +0 -117
  55. package/node_modules/@anthropic-ai/sdk/core/pagination.mjs.map +0 -1
  56. package/node_modules/@anthropic-ai/sdk/core/resource.d.mts +0 -6
  57. package/node_modules/@anthropic-ai/sdk/core/resource.d.mts.map +0 -1
  58. package/node_modules/@anthropic-ai/sdk/core/resource.d.ts +0 -6
  59. package/node_modules/@anthropic-ai/sdk/core/resource.d.ts.map +0 -1
  60. package/node_modules/@anthropic-ai/sdk/core/resource.js +0 -11
  61. package/node_modules/@anthropic-ai/sdk/core/resource.js.map +0 -1
  62. package/node_modules/@anthropic-ai/sdk/core/resource.mjs +0 -7
  63. package/node_modules/@anthropic-ai/sdk/core/resource.mjs.map +0 -1
  64. package/node_modules/@anthropic-ai/sdk/core/streaming.d.mts +0 -31
  65. package/node_modules/@anthropic-ai/sdk/core/streaming.d.mts.map +0 -1
  66. package/node_modules/@anthropic-ai/sdk/core/streaming.d.ts +0 -31
  67. package/node_modules/@anthropic-ai/sdk/core/streaming.d.ts.map +0 -1
  68. package/node_modules/@anthropic-ai/sdk/core/streaming.js +0 -282
  69. package/node_modules/@anthropic-ai/sdk/core/streaming.js.map +0 -1
  70. package/node_modules/@anthropic-ai/sdk/core/streaming.mjs +0 -277
  71. package/node_modules/@anthropic-ai/sdk/core/streaming.mjs.map +0 -1
  72. package/node_modules/@anthropic-ai/sdk/core/uploads.d.mts +0 -3
  73. package/node_modules/@anthropic-ai/sdk/core/uploads.d.mts.map +0 -1
  74. package/node_modules/@anthropic-ai/sdk/core/uploads.d.ts +0 -3
  75. package/node_modules/@anthropic-ai/sdk/core/uploads.d.ts.map +0 -1
  76. package/node_modules/@anthropic-ai/sdk/core/uploads.js +0 -6
  77. package/node_modules/@anthropic-ai/sdk/core/uploads.js.map +0 -1
  78. package/node_modules/@anthropic-ai/sdk/core/uploads.mjs +0 -2
  79. package/node_modules/@anthropic-ai/sdk/core/uploads.mjs.map +0 -1
  80. package/node_modules/@anthropic-ai/sdk/error.d.mts +0 -2
  81. package/node_modules/@anthropic-ai/sdk/error.d.mts.map +0 -1
  82. package/node_modules/@anthropic-ai/sdk/error.d.ts +0 -2
  83. package/node_modules/@anthropic-ai/sdk/error.d.ts.map +0 -1
  84. package/node_modules/@anthropic-ai/sdk/error.js +0 -6
  85. package/node_modules/@anthropic-ai/sdk/error.js.map +0 -1
  86. package/node_modules/@anthropic-ai/sdk/error.mjs +0 -2
  87. package/node_modules/@anthropic-ai/sdk/error.mjs.map +0 -1
  88. package/node_modules/@anthropic-ai/sdk/index.d.mts +0 -7
  89. package/node_modules/@anthropic-ai/sdk/index.d.mts.map +0 -1
  90. package/node_modules/@anthropic-ai/sdk/index.d.ts +0 -7
  91. package/node_modules/@anthropic-ai/sdk/index.d.ts.map +0 -1
  92. package/node_modules/@anthropic-ai/sdk/index.js +0 -35
  93. package/node_modules/@anthropic-ai/sdk/index.js.map +0 -1
  94. package/node_modules/@anthropic-ai/sdk/index.mjs +0 -8
  95. package/node_modules/@anthropic-ai/sdk/index.mjs.map +0 -1
  96. package/node_modules/@anthropic-ai/sdk/internal/builtin-types.d.mts +0 -73
  97. package/node_modules/@anthropic-ai/sdk/internal/builtin-types.d.mts.map +0 -1
  98. package/node_modules/@anthropic-ai/sdk/internal/builtin-types.d.ts +0 -73
  99. package/node_modules/@anthropic-ai/sdk/internal/builtin-types.d.ts.map +0 -1
  100. package/node_modules/@anthropic-ai/sdk/internal/builtin-types.js +0 -4
  101. package/node_modules/@anthropic-ai/sdk/internal/builtin-types.js.map +0 -1
  102. package/node_modules/@anthropic-ai/sdk/internal/builtin-types.mjs +0 -3
  103. package/node_modules/@anthropic-ai/sdk/internal/builtin-types.mjs.map +0 -1
  104. package/node_modules/@anthropic-ai/sdk/internal/constants.d.mts +0 -5
  105. package/node_modules/@anthropic-ai/sdk/internal/constants.d.mts.map +0 -1
  106. package/node_modules/@anthropic-ai/sdk/internal/constants.d.ts +0 -5
  107. package/node_modules/@anthropic-ai/sdk/internal/constants.d.ts.map +0 -1
  108. package/node_modules/@anthropic-ai/sdk/internal/constants.js +0 -15
  109. package/node_modules/@anthropic-ai/sdk/internal/constants.js.map +0 -1
  110. package/node_modules/@anthropic-ai/sdk/internal/constants.mjs +0 -12
  111. package/node_modules/@anthropic-ai/sdk/internal/constants.mjs.map +0 -1
  112. package/node_modules/@anthropic-ai/sdk/internal/decoders/jsonl.d.mts +0 -10
  113. package/node_modules/@anthropic-ai/sdk/internal/decoders/jsonl.d.mts.map +0 -1
  114. package/node_modules/@anthropic-ai/sdk/internal/decoders/jsonl.d.ts +0 -10
  115. package/node_modules/@anthropic-ai/sdk/internal/decoders/jsonl.d.ts.map +0 -1
  116. package/node_modules/@anthropic-ai/sdk/internal/decoders/jsonl.js +0 -39
  117. package/node_modules/@anthropic-ai/sdk/internal/decoders/jsonl.js.map +0 -1
  118. package/node_modules/@anthropic-ai/sdk/internal/decoders/jsonl.mjs +0 -35
  119. package/node_modules/@anthropic-ai/sdk/internal/decoders/jsonl.mjs.map +0 -1
  120. package/node_modules/@anthropic-ai/sdk/internal/decoders/line.d.mts +0 -17
  121. package/node_modules/@anthropic-ai/sdk/internal/decoders/line.d.mts.map +0 -1
  122. package/node_modules/@anthropic-ai/sdk/internal/decoders/line.d.ts +0 -17
  123. package/node_modules/@anthropic-ai/sdk/internal/decoders/line.d.ts.map +0 -1
  124. package/node_modules/@anthropic-ai/sdk/internal/decoders/line.js +0 -113
  125. package/node_modules/@anthropic-ai/sdk/internal/decoders/line.js.map +0 -1
  126. package/node_modules/@anthropic-ai/sdk/internal/decoders/line.mjs +0 -108
  127. package/node_modules/@anthropic-ai/sdk/internal/decoders/line.mjs.map +0 -1
  128. package/node_modules/@anthropic-ai/sdk/internal/detect-platform.d.mts +0 -15
  129. package/node_modules/@anthropic-ai/sdk/internal/detect-platform.d.mts.map +0 -1
  130. package/node_modules/@anthropic-ai/sdk/internal/detect-platform.d.ts +0 -15
  131. package/node_modules/@anthropic-ai/sdk/internal/detect-platform.d.ts.map +0 -1
  132. package/node_modules/@anthropic-ai/sdk/internal/detect-platform.js +0 -162
  133. package/node_modules/@anthropic-ai/sdk/internal/detect-platform.js.map +0 -1
  134. package/node_modules/@anthropic-ai/sdk/internal/detect-platform.mjs +0 -157
  135. package/node_modules/@anthropic-ai/sdk/internal/detect-platform.mjs.map +0 -1
  136. package/node_modules/@anthropic-ai/sdk/internal/errors.d.mts +0 -3
  137. package/node_modules/@anthropic-ai/sdk/internal/errors.d.mts.map +0 -1
  138. package/node_modules/@anthropic-ai/sdk/internal/errors.d.ts +0 -3
  139. package/node_modules/@anthropic-ai/sdk/internal/errors.d.ts.map +0 -1
  140. package/node_modules/@anthropic-ai/sdk/internal/errors.js +0 -41
  141. package/node_modules/@anthropic-ai/sdk/internal/errors.js.map +0 -1
  142. package/node_modules/@anthropic-ai/sdk/internal/errors.mjs +0 -36
  143. package/node_modules/@anthropic-ai/sdk/internal/errors.mjs.map +0 -1
  144. package/node_modules/@anthropic-ai/sdk/internal/headers.d.mts +0 -22
  145. package/node_modules/@anthropic-ai/sdk/internal/headers.d.mts.map +0 -1
  146. package/node_modules/@anthropic-ai/sdk/internal/headers.d.ts +0 -22
  147. package/node_modules/@anthropic-ai/sdk/internal/headers.d.ts.map +0 -1
  148. package/node_modules/@anthropic-ai/sdk/internal/headers.js +0 -79
  149. package/node_modules/@anthropic-ai/sdk/internal/headers.js.map +0 -1
  150. package/node_modules/@anthropic-ai/sdk/internal/headers.mjs +0 -74
  151. package/node_modules/@anthropic-ai/sdk/internal/headers.mjs.map +0 -1
  152. package/node_modules/@anthropic-ai/sdk/internal/parse.d.mts +0 -17
  153. package/node_modules/@anthropic-ai/sdk/internal/parse.d.mts.map +0 -1
  154. package/node_modules/@anthropic-ai/sdk/internal/parse.d.ts +0 -17
  155. package/node_modules/@anthropic-ai/sdk/internal/parse.d.ts.map +0 -1
  156. package/node_modules/@anthropic-ai/sdk/internal/parse.js +0 -55
  157. package/node_modules/@anthropic-ai/sdk/internal/parse.js.map +0 -1
  158. package/node_modules/@anthropic-ai/sdk/internal/parse.mjs +0 -51
  159. package/node_modules/@anthropic-ai/sdk/internal/parse.mjs.map +0 -1
  160. package/node_modules/@anthropic-ai/sdk/internal/request-options.d.mts +0 -34
  161. package/node_modules/@anthropic-ai/sdk/internal/request-options.d.mts.map +0 -1
  162. package/node_modules/@anthropic-ai/sdk/internal/request-options.d.ts +0 -34
  163. package/node_modules/@anthropic-ai/sdk/internal/request-options.d.ts.map +0 -1
  164. package/node_modules/@anthropic-ai/sdk/internal/request-options.js +0 -14
  165. package/node_modules/@anthropic-ai/sdk/internal/request-options.js.map +0 -1
  166. package/node_modules/@anthropic-ai/sdk/internal/request-options.mjs +0 -10
  167. package/node_modules/@anthropic-ai/sdk/internal/request-options.mjs.map +0 -1
  168. package/node_modules/@anthropic-ai/sdk/internal/shim-types.d.mts +0 -28
  169. package/node_modules/@anthropic-ai/sdk/internal/shim-types.d.ts +0 -28
  170. package/node_modules/@anthropic-ai/sdk/internal/shims.d.mts +0 -20
  171. package/node_modules/@anthropic-ai/sdk/internal/shims.d.mts.map +0 -1
  172. package/node_modules/@anthropic-ai/sdk/internal/shims.d.ts +0 -20
  173. package/node_modules/@anthropic-ai/sdk/internal/shims.d.ts.map +0 -1
  174. package/node_modules/@anthropic-ai/sdk/internal/shims.js +0 -92
  175. package/node_modules/@anthropic-ai/sdk/internal/shims.js.map +0 -1
  176. package/node_modules/@anthropic-ai/sdk/internal/shims.mjs +0 -85
  177. package/node_modules/@anthropic-ai/sdk/internal/shims.mjs.map +0 -1
  178. package/node_modules/@anthropic-ai/sdk/internal/stream-utils.d.mts +0 -8
  179. package/node_modules/@anthropic-ai/sdk/internal/stream-utils.d.mts.map +0 -1
  180. package/node_modules/@anthropic-ai/sdk/internal/stream-utils.d.ts +0 -8
  181. package/node_modules/@anthropic-ai/sdk/internal/stream-utils.d.ts.map +0 -1
  182. package/node_modules/@anthropic-ai/sdk/internal/stream-utils.js +0 -38
  183. package/node_modules/@anthropic-ai/sdk/internal/stream-utils.js.map +0 -1
  184. package/node_modules/@anthropic-ai/sdk/internal/stream-utils.mjs +0 -35
  185. package/node_modules/@anthropic-ai/sdk/internal/stream-utils.mjs.map +0 -1
  186. package/node_modules/@anthropic-ai/sdk/internal/to-file.d.mts +0 -45
  187. package/node_modules/@anthropic-ai/sdk/internal/to-file.d.mts.map +0 -1
  188. package/node_modules/@anthropic-ai/sdk/internal/to-file.d.ts +0 -45
  189. package/node_modules/@anthropic-ai/sdk/internal/to-file.d.ts.map +0 -1
  190. package/node_modules/@anthropic-ai/sdk/internal/to-file.js +0 -96
  191. package/node_modules/@anthropic-ai/sdk/internal/to-file.js.map +0 -1
  192. package/node_modules/@anthropic-ai/sdk/internal/to-file.mjs +0 -93
  193. package/node_modules/@anthropic-ai/sdk/internal/to-file.mjs.map +0 -1
  194. package/node_modules/@anthropic-ai/sdk/internal/tslib.js +0 -81
  195. package/node_modules/@anthropic-ai/sdk/internal/tslib.mjs +0 -17
  196. package/node_modules/@anthropic-ai/sdk/internal/types.d.mts +0 -67
  197. package/node_modules/@anthropic-ai/sdk/internal/types.d.mts.map +0 -1
  198. package/node_modules/@anthropic-ai/sdk/internal/types.d.ts +0 -67
  199. package/node_modules/@anthropic-ai/sdk/internal/types.d.ts.map +0 -1
  200. package/node_modules/@anthropic-ai/sdk/internal/types.js +0 -4
  201. package/node_modules/@anthropic-ai/sdk/internal/types.js.map +0 -1
  202. package/node_modules/@anthropic-ai/sdk/internal/types.mjs +0 -3
  203. package/node_modules/@anthropic-ai/sdk/internal/types.mjs.map +0 -1
  204. package/node_modules/@anthropic-ai/sdk/internal/uploads.d.mts +0 -42
  205. package/node_modules/@anthropic-ai/sdk/internal/uploads.d.mts.map +0 -1
  206. package/node_modules/@anthropic-ai/sdk/internal/uploads.d.ts +0 -42
  207. package/node_modules/@anthropic-ai/sdk/internal/uploads.d.ts.map +0 -1
  208. package/node_modules/@anthropic-ai/sdk/internal/uploads.js +0 -146
  209. package/node_modules/@anthropic-ai/sdk/internal/uploads.js.map +0 -1
  210. package/node_modules/@anthropic-ai/sdk/internal/uploads.mjs +0 -136
  211. package/node_modules/@anthropic-ai/sdk/internal/uploads.mjs.map +0 -1
  212. package/node_modules/@anthropic-ai/sdk/internal/utils/base64.d.mts +0 -3
  213. package/node_modules/@anthropic-ai/sdk/internal/utils/base64.d.mts.map +0 -1
  214. package/node_modules/@anthropic-ai/sdk/internal/utils/base64.d.ts +0 -3
  215. package/node_modules/@anthropic-ai/sdk/internal/utils/base64.d.ts.map +0 -1
  216. package/node_modules/@anthropic-ai/sdk/internal/utils/base64.js +0 -38
  217. package/node_modules/@anthropic-ai/sdk/internal/utils/base64.js.map +0 -1
  218. package/node_modules/@anthropic-ai/sdk/internal/utils/base64.mjs +0 -33
  219. package/node_modules/@anthropic-ai/sdk/internal/utils/base64.mjs.map +0 -1
  220. package/node_modules/@anthropic-ai/sdk/internal/utils/bytes.d.mts +0 -4
  221. package/node_modules/@anthropic-ai/sdk/internal/utils/bytes.d.mts.map +0 -1
  222. package/node_modules/@anthropic-ai/sdk/internal/utils/bytes.d.ts +0 -4
  223. package/node_modules/@anthropic-ai/sdk/internal/utils/bytes.d.ts.map +0 -1
  224. package/node_modules/@anthropic-ai/sdk/internal/utils/bytes.js +0 -31
  225. package/node_modules/@anthropic-ai/sdk/internal/utils/bytes.js.map +0 -1
  226. package/node_modules/@anthropic-ai/sdk/internal/utils/bytes.mjs +0 -26
  227. package/node_modules/@anthropic-ai/sdk/internal/utils/bytes.mjs.map +0 -1
  228. package/node_modules/@anthropic-ai/sdk/internal/utils/env.d.mts +0 -9
  229. package/node_modules/@anthropic-ai/sdk/internal/utils/env.d.mts.map +0 -1
  230. package/node_modules/@anthropic-ai/sdk/internal/utils/env.d.ts +0 -9
  231. package/node_modules/@anthropic-ai/sdk/internal/utils/env.d.ts.map +0 -1
  232. package/node_modules/@anthropic-ai/sdk/internal/utils/env.js +0 -22
  233. package/node_modules/@anthropic-ai/sdk/internal/utils/env.js.map +0 -1
  234. package/node_modules/@anthropic-ai/sdk/internal/utils/env.mjs +0 -18
  235. package/node_modules/@anthropic-ai/sdk/internal/utils/env.mjs.map +0 -1
  236. package/node_modules/@anthropic-ai/sdk/internal/utils/log.d.mts +0 -37
  237. package/node_modules/@anthropic-ai/sdk/internal/utils/log.d.mts.map +0 -1
  238. package/node_modules/@anthropic-ai/sdk/internal/utils/log.d.ts +0 -37
  239. package/node_modules/@anthropic-ai/sdk/internal/utils/log.d.ts.map +0 -1
  240. package/node_modules/@anthropic-ai/sdk/internal/utils/log.js +0 -86
  241. package/node_modules/@anthropic-ai/sdk/internal/utils/log.js.map +0 -1
  242. package/node_modules/@anthropic-ai/sdk/internal/utils/log.mjs +0 -80
  243. package/node_modules/@anthropic-ai/sdk/internal/utils/log.mjs.map +0 -1
  244. package/node_modules/@anthropic-ai/sdk/internal/utils/path.d.mts +0 -15
  245. package/node_modules/@anthropic-ai/sdk/internal/utils/path.d.mts.map +0 -1
  246. package/node_modules/@anthropic-ai/sdk/internal/utils/path.d.ts +0 -15
  247. package/node_modules/@anthropic-ai/sdk/internal/utils/path.d.ts.map +0 -1
  248. package/node_modules/@anthropic-ai/sdk/internal/utils/path.js +0 -58
  249. package/node_modules/@anthropic-ai/sdk/internal/utils/path.js.map +0 -1
  250. package/node_modules/@anthropic-ai/sdk/internal/utils/path.mjs +0 -53
  251. package/node_modules/@anthropic-ai/sdk/internal/utils/path.mjs.map +0 -1
  252. package/node_modules/@anthropic-ai/sdk/internal/utils/sleep.d.mts +0 -2
  253. package/node_modules/@anthropic-ai/sdk/internal/utils/sleep.d.mts.map +0 -1
  254. package/node_modules/@anthropic-ai/sdk/internal/utils/sleep.d.ts +0 -2
  255. package/node_modules/@anthropic-ai/sdk/internal/utils/sleep.d.ts.map +0 -1
  256. package/node_modules/@anthropic-ai/sdk/internal/utils/sleep.js +0 -7
  257. package/node_modules/@anthropic-ai/sdk/internal/utils/sleep.js.map +0 -1
  258. package/node_modules/@anthropic-ai/sdk/internal/utils/sleep.mjs +0 -3
  259. package/node_modules/@anthropic-ai/sdk/internal/utils/sleep.mjs.map +0 -1
  260. package/node_modules/@anthropic-ai/sdk/internal/utils/uuid.d.mts +0 -5
  261. package/node_modules/@anthropic-ai/sdk/internal/utils/uuid.d.mts.map +0 -1
  262. package/node_modules/@anthropic-ai/sdk/internal/utils/uuid.d.ts +0 -5
  263. package/node_modules/@anthropic-ai/sdk/internal/utils/uuid.d.ts.map +0 -1
  264. package/node_modules/@anthropic-ai/sdk/internal/utils/uuid.js +0 -19
  265. package/node_modules/@anthropic-ai/sdk/internal/utils/uuid.js.map +0 -1
  266. package/node_modules/@anthropic-ai/sdk/internal/utils/uuid.mjs +0 -15
  267. package/node_modules/@anthropic-ai/sdk/internal/utils/uuid.mjs.map +0 -1
  268. package/node_modules/@anthropic-ai/sdk/internal/utils/values.d.mts +0 -16
  269. package/node_modules/@anthropic-ai/sdk/internal/utils/values.d.mts.map +0 -1
  270. package/node_modules/@anthropic-ai/sdk/internal/utils/values.d.ts +0 -16
  271. package/node_modules/@anthropic-ai/sdk/internal/utils/values.d.ts.map +0 -1
  272. package/node_modules/@anthropic-ai/sdk/internal/utils/values.js +0 -109
  273. package/node_modules/@anthropic-ai/sdk/internal/utils/values.js.map +0 -1
  274. package/node_modules/@anthropic-ai/sdk/internal/utils/values.mjs +0 -92
  275. package/node_modules/@anthropic-ai/sdk/internal/utils/values.mjs.map +0 -1
  276. package/node_modules/@anthropic-ai/sdk/internal/utils.d.mts +0 -7
  277. package/node_modules/@anthropic-ai/sdk/internal/utils.d.mts.map +0 -1
  278. package/node_modules/@anthropic-ai/sdk/internal/utils.d.ts +0 -7
  279. package/node_modules/@anthropic-ai/sdk/internal/utils.d.ts.map +0 -1
  280. package/node_modules/@anthropic-ai/sdk/internal/utils.js +0 -11
  281. package/node_modules/@anthropic-ai/sdk/internal/utils.js.map +0 -1
  282. package/node_modules/@anthropic-ai/sdk/internal/utils.mjs +0 -8
  283. package/node_modules/@anthropic-ai/sdk/internal/utils.mjs.map +0 -1
  284. package/node_modules/@anthropic-ai/sdk/lib/BetaMessageStream.d.mts +0 -114
  285. package/node_modules/@anthropic-ai/sdk/lib/BetaMessageStream.d.mts.map +0 -1
  286. package/node_modules/@anthropic-ai/sdk/lib/BetaMessageStream.d.ts +0 -114
  287. package/node_modules/@anthropic-ai/sdk/lib/BetaMessageStream.d.ts.map +0 -1
  288. package/node_modules/@anthropic-ai/sdk/lib/BetaMessageStream.js +0 -553
  289. package/node_modules/@anthropic-ai/sdk/lib/BetaMessageStream.js.map +0 -1
  290. package/node_modules/@anthropic-ai/sdk/lib/BetaMessageStream.mjs +0 -549
  291. package/node_modules/@anthropic-ai/sdk/lib/BetaMessageStream.mjs.map +0 -1
  292. package/node_modules/@anthropic-ai/sdk/lib/MessageStream.d.mts +0 -114
  293. package/node_modules/@anthropic-ai/sdk/lib/MessageStream.d.mts.map +0 -1
  294. package/node_modules/@anthropic-ai/sdk/lib/MessageStream.d.ts +0 -114
  295. package/node_modules/@anthropic-ai/sdk/lib/MessageStream.d.ts.map +0 -1
  296. package/node_modules/@anthropic-ai/sdk/lib/MessageStream.js +0 -553
  297. package/node_modules/@anthropic-ai/sdk/lib/MessageStream.js.map +0 -1
  298. package/node_modules/@anthropic-ai/sdk/lib/MessageStream.mjs +0 -549
  299. package/node_modules/@anthropic-ai/sdk/lib/MessageStream.mjs.map +0 -1
  300. package/node_modules/@anthropic-ai/sdk/package.json +0 -185
  301. package/node_modules/@anthropic-ai/sdk/pagination.d.mts +0 -2
  302. package/node_modules/@anthropic-ai/sdk/pagination.d.mts.map +0 -1
  303. package/node_modules/@anthropic-ai/sdk/pagination.d.ts +0 -2
  304. package/node_modules/@anthropic-ai/sdk/pagination.d.ts.map +0 -1
  305. package/node_modules/@anthropic-ai/sdk/pagination.js +0 -6
  306. package/node_modules/@anthropic-ai/sdk/pagination.js.map +0 -1
  307. package/node_modules/@anthropic-ai/sdk/pagination.mjs +0 -2
  308. package/node_modules/@anthropic-ai/sdk/pagination.mjs.map +0 -1
  309. package/node_modules/@anthropic-ai/sdk/resource.d.mts +0 -2
  310. package/node_modules/@anthropic-ai/sdk/resource.d.mts.map +0 -1
  311. package/node_modules/@anthropic-ai/sdk/resource.d.ts +0 -2
  312. package/node_modules/@anthropic-ai/sdk/resource.d.ts.map +0 -1
  313. package/node_modules/@anthropic-ai/sdk/resource.js +0 -6
  314. package/node_modules/@anthropic-ai/sdk/resource.js.map +0 -1
  315. package/node_modules/@anthropic-ai/sdk/resource.mjs +0 -2
  316. package/node_modules/@anthropic-ai/sdk/resource.mjs.map +0 -1
  317. package/node_modules/@anthropic-ai/sdk/resources/beta/beta.d.mts +0 -61
  318. package/node_modules/@anthropic-ai/sdk/resources/beta/beta.d.mts.map +0 -1
  319. package/node_modules/@anthropic-ai/sdk/resources/beta/beta.d.ts +0 -61
  320. package/node_modules/@anthropic-ai/sdk/resources/beta/beta.d.ts.map +0 -1
  321. package/node_modules/@anthropic-ai/sdk/resources/beta/beta.js +0 -25
  322. package/node_modules/@anthropic-ai/sdk/resources/beta/beta.js.map +0 -1
  323. package/node_modules/@anthropic-ai/sdk/resources/beta/beta.mjs +0 -20
  324. package/node_modules/@anthropic-ai/sdk/resources/beta/beta.mjs.map +0 -1
  325. package/node_modules/@anthropic-ai/sdk/resources/beta/files.d.mts +0 -151
  326. package/node_modules/@anthropic-ai/sdk/resources/beta/files.d.mts.map +0 -1
  327. package/node_modules/@anthropic-ai/sdk/resources/beta/files.d.ts +0 -151
  328. package/node_modules/@anthropic-ai/sdk/resources/beta/files.d.ts.map +0 -1
  329. package/node_modules/@anthropic-ai/sdk/resources/beta/files.js +0 -122
  330. package/node_modules/@anthropic-ai/sdk/resources/beta/files.js.map +0 -1
  331. package/node_modules/@anthropic-ai/sdk/resources/beta/files.mjs +0 -118
  332. package/node_modules/@anthropic-ai/sdk/resources/beta/files.mjs.map +0 -1
  333. package/node_modules/@anthropic-ai/sdk/resources/beta/index.d.mts +0 -5
  334. package/node_modules/@anthropic-ai/sdk/resources/beta/index.d.mts.map +0 -1
  335. package/node_modules/@anthropic-ai/sdk/resources/beta/index.d.ts +0 -5
  336. package/node_modules/@anthropic-ai/sdk/resources/beta/index.d.ts.map +0 -1
  337. package/node_modules/@anthropic-ai/sdk/resources/beta/index.js +0 -13
  338. package/node_modules/@anthropic-ai/sdk/resources/beta/index.js.map +0 -1
  339. package/node_modules/@anthropic-ai/sdk/resources/beta/index.mjs +0 -6
  340. package/node_modules/@anthropic-ai/sdk/resources/beta/index.mjs.map +0 -1
  341. package/node_modules/@anthropic-ai/sdk/resources/beta/messages/batches.d.mts +0 -343
  342. package/node_modules/@anthropic-ai/sdk/resources/beta/messages/batches.d.mts.map +0 -1
  343. package/node_modules/@anthropic-ai/sdk/resources/beta/messages/batches.d.ts +0 -343
  344. package/node_modules/@anthropic-ai/sdk/resources/beta/messages/batches.d.ts.map +0 -1
  345. package/node_modules/@anthropic-ai/sdk/resources/beta/messages/batches.js +0 -204
  346. package/node_modules/@anthropic-ai/sdk/resources/beta/messages/batches.js.map +0 -1
  347. package/node_modules/@anthropic-ai/sdk/resources/beta/messages/batches.mjs +0 -200
  348. package/node_modules/@anthropic-ai/sdk/resources/beta/messages/batches.mjs.map +0 -1
  349. package/node_modules/@anthropic-ai/sdk/resources/beta/messages/index.d.mts +0 -3
  350. package/node_modules/@anthropic-ai/sdk/resources/beta/messages/index.d.mts.map +0 -1
  351. package/node_modules/@anthropic-ai/sdk/resources/beta/messages/index.d.ts +0 -3
  352. package/node_modules/@anthropic-ai/sdk/resources/beta/messages/index.d.ts.map +0 -1
  353. package/node_modules/@anthropic-ai/sdk/resources/beta/messages/index.js +0 -9
  354. package/node_modules/@anthropic-ai/sdk/resources/beta/messages/index.js.map +0 -1
  355. package/node_modules/@anthropic-ai/sdk/resources/beta/messages/index.mjs +0 -4
  356. package/node_modules/@anthropic-ai/sdk/resources/beta/messages/index.mjs.map +0 -1
  357. package/node_modules/@anthropic-ai/sdk/resources/beta/messages/messages.d.mts +0 -1561
  358. package/node_modules/@anthropic-ai/sdk/resources/beta/messages/messages.d.mts.map +0 -1
  359. package/node_modules/@anthropic-ai/sdk/resources/beta/messages/messages.d.ts +0 -1561
  360. package/node_modules/@anthropic-ai/sdk/resources/beta/messages/messages.d.ts.map +0 -1
  361. package/node_modules/@anthropic-ai/sdk/resources/beta/messages/messages.js +0 -86
  362. package/node_modules/@anthropic-ai/sdk/resources/beta/messages/messages.js.map +0 -1
  363. package/node_modules/@anthropic-ai/sdk/resources/beta/messages/messages.mjs +0 -81
  364. package/node_modules/@anthropic-ai/sdk/resources/beta/messages/messages.mjs.map +0 -1
  365. package/node_modules/@anthropic-ai/sdk/resources/beta/messages.d.mts +0 -2
  366. package/node_modules/@anthropic-ai/sdk/resources/beta/messages.d.mts.map +0 -1
  367. package/node_modules/@anthropic-ai/sdk/resources/beta/messages.d.ts +0 -2
  368. package/node_modules/@anthropic-ai/sdk/resources/beta/messages.d.ts.map +0 -1
  369. package/node_modules/@anthropic-ai/sdk/resources/beta/messages.js +0 -6
  370. package/node_modules/@anthropic-ai/sdk/resources/beta/messages.js.map +0 -1
  371. package/node_modules/@anthropic-ai/sdk/resources/beta/messages.mjs +0 -3
  372. package/node_modules/@anthropic-ai/sdk/resources/beta/messages.mjs.map +0 -1
  373. package/node_modules/@anthropic-ai/sdk/resources/beta/models.d.mts +0 -74
  374. package/node_modules/@anthropic-ai/sdk/resources/beta/models.d.mts.map +0 -1
  375. package/node_modules/@anthropic-ai/sdk/resources/beta/models.d.ts +0 -74
  376. package/node_modules/@anthropic-ai/sdk/resources/beta/models.d.ts.map +0 -1
  377. package/node_modules/@anthropic-ai/sdk/resources/beta/models.js +0 -60
  378. package/node_modules/@anthropic-ai/sdk/resources/beta/models.js.map +0 -1
  379. package/node_modules/@anthropic-ai/sdk/resources/beta/models.mjs +0 -56
  380. package/node_modules/@anthropic-ai/sdk/resources/beta/models.mjs.map +0 -1
  381. package/node_modules/@anthropic-ai/sdk/resources/beta.d.mts +0 -2
  382. package/node_modules/@anthropic-ai/sdk/resources/beta.d.mts.map +0 -1
  383. package/node_modules/@anthropic-ai/sdk/resources/beta.d.ts +0 -2
  384. package/node_modules/@anthropic-ai/sdk/resources/beta.d.ts.map +0 -1
  385. package/node_modules/@anthropic-ai/sdk/resources/beta.js +0 -6
  386. package/node_modules/@anthropic-ai/sdk/resources/beta.js.map +0 -1
  387. package/node_modules/@anthropic-ai/sdk/resources/beta.mjs +0 -3
  388. package/node_modules/@anthropic-ai/sdk/resources/beta.mjs.map +0 -1
  389. package/node_modules/@anthropic-ai/sdk/resources/completions.d.mts +0 -183
  390. package/node_modules/@anthropic-ai/sdk/resources/completions.d.mts.map +0 -1
  391. package/node_modules/@anthropic-ai/sdk/resources/completions.d.ts +0 -183
  392. package/node_modules/@anthropic-ai/sdk/resources/completions.d.ts.map +0 -1
  393. package/node_modules/@anthropic-ai/sdk/resources/completions.js +0 -23
  394. package/node_modules/@anthropic-ai/sdk/resources/completions.js.map +0 -1
  395. package/node_modules/@anthropic-ai/sdk/resources/completions.mjs +0 -19
  396. package/node_modules/@anthropic-ai/sdk/resources/completions.mjs.map +0 -1
  397. package/node_modules/@anthropic-ai/sdk/resources/index.d.mts +0 -6
  398. package/node_modules/@anthropic-ai/sdk/resources/index.d.mts.map +0 -1
  399. package/node_modules/@anthropic-ai/sdk/resources/index.d.ts +0 -6
  400. package/node_modules/@anthropic-ai/sdk/resources/index.d.ts.map +0 -1
  401. package/node_modules/@anthropic-ai/sdk/resources/index.js +0 -15
  402. package/node_modules/@anthropic-ai/sdk/resources/index.js.map +0 -1
  403. package/node_modules/@anthropic-ai/sdk/resources/index.mjs +0 -7
  404. package/node_modules/@anthropic-ai/sdk/resources/index.mjs.map +0 -1
  405. package/node_modules/@anthropic-ai/sdk/resources/messages/batches.d.mts +0 -304
  406. package/node_modules/@anthropic-ai/sdk/resources/messages/batches.d.mts.map +0 -1
  407. package/node_modules/@anthropic-ai/sdk/resources/messages/batches.d.ts +0 -304
  408. package/node_modules/@anthropic-ai/sdk/resources/messages/batches.d.ts.map +0 -1
  409. package/node_modules/@anthropic-ai/sdk/resources/messages/batches.js +0 -153
  410. package/node_modules/@anthropic-ai/sdk/resources/messages/batches.js.map +0 -1
  411. package/node_modules/@anthropic-ai/sdk/resources/messages/batches.mjs +0 -149
  412. package/node_modules/@anthropic-ai/sdk/resources/messages/batches.mjs.map +0 -1
  413. package/node_modules/@anthropic-ai/sdk/resources/messages/index.d.mts +0 -3
  414. package/node_modules/@anthropic-ai/sdk/resources/messages/index.d.mts.map +0 -1
  415. package/node_modules/@anthropic-ai/sdk/resources/messages/index.d.ts +0 -3
  416. package/node_modules/@anthropic-ai/sdk/resources/messages/index.d.ts.map +0 -1
  417. package/node_modules/@anthropic-ai/sdk/resources/messages/index.js +0 -9
  418. package/node_modules/@anthropic-ai/sdk/resources/messages/index.js.map +0 -1
  419. package/node_modules/@anthropic-ai/sdk/resources/messages/index.mjs +0 -4
  420. package/node_modules/@anthropic-ai/sdk/resources/messages/index.mjs.map +0 -1
  421. package/node_modules/@anthropic-ai/sdk/resources/messages/messages.d.mts +0 -1264
  422. package/node_modules/@anthropic-ai/sdk/resources/messages/messages.d.mts.map +0 -1
  423. package/node_modules/@anthropic-ai/sdk/resources/messages/messages.d.ts +0 -1264
  424. package/node_modules/@anthropic-ai/sdk/resources/messages/messages.d.ts.map +0 -1
  425. package/node_modules/@anthropic-ai/sdk/resources/messages/messages.js +0 -72
  426. package/node_modules/@anthropic-ai/sdk/resources/messages/messages.js.map +0 -1
  427. package/node_modules/@anthropic-ai/sdk/resources/messages/messages.mjs +0 -67
  428. package/node_modules/@anthropic-ai/sdk/resources/messages/messages.mjs.map +0 -1
  429. package/node_modules/@anthropic-ai/sdk/resources/messages.d.mts +0 -2
  430. package/node_modules/@anthropic-ai/sdk/resources/messages.d.mts.map +0 -1
  431. package/node_modules/@anthropic-ai/sdk/resources/messages.d.ts +0 -2
  432. package/node_modules/@anthropic-ai/sdk/resources/messages.d.ts.map +0 -1
  433. package/node_modules/@anthropic-ai/sdk/resources/messages.js +0 -6
  434. package/node_modules/@anthropic-ai/sdk/resources/messages.js.map +0 -1
  435. package/node_modules/@anthropic-ai/sdk/resources/messages.mjs +0 -3
  436. package/node_modules/@anthropic-ai/sdk/resources/messages.mjs.map +0 -1
  437. package/node_modules/@anthropic-ai/sdk/resources/models.d.mts +0 -59
  438. package/node_modules/@anthropic-ai/sdk/resources/models.d.mts.map +0 -1
  439. package/node_modules/@anthropic-ai/sdk/resources/models.d.ts +0 -59
  440. package/node_modules/@anthropic-ai/sdk/resources/models.d.ts.map +0 -1
  441. package/node_modules/@anthropic-ai/sdk/resources/models.js +0 -45
  442. package/node_modules/@anthropic-ai/sdk/resources/models.js.map +0 -1
  443. package/node_modules/@anthropic-ai/sdk/resources/models.mjs +0 -41
  444. package/node_modules/@anthropic-ai/sdk/resources/models.mjs.map +0 -1
  445. package/node_modules/@anthropic-ai/sdk/resources/shared.d.mts +0 -42
  446. package/node_modules/@anthropic-ai/sdk/resources/shared.d.mts.map +0 -1
  447. package/node_modules/@anthropic-ai/sdk/resources/shared.d.ts +0 -42
  448. package/node_modules/@anthropic-ai/sdk/resources/shared.d.ts.map +0 -1
  449. package/node_modules/@anthropic-ai/sdk/resources/shared.js +0 -4
  450. package/node_modules/@anthropic-ai/sdk/resources/shared.js.map +0 -1
  451. package/node_modules/@anthropic-ai/sdk/resources/shared.mjs +0 -3
  452. package/node_modules/@anthropic-ai/sdk/resources/shared.mjs.map +0 -1
  453. package/node_modules/@anthropic-ai/sdk/resources/top-level.d.mts +0 -2
  454. package/node_modules/@anthropic-ai/sdk/resources/top-level.d.mts.map +0 -1
  455. package/node_modules/@anthropic-ai/sdk/resources/top-level.d.ts +0 -2
  456. package/node_modules/@anthropic-ai/sdk/resources/top-level.d.ts.map +0 -1
  457. package/node_modules/@anthropic-ai/sdk/resources/top-level.js +0 -4
  458. package/node_modules/@anthropic-ai/sdk/resources/top-level.js.map +0 -1
  459. package/node_modules/@anthropic-ai/sdk/resources/top-level.mjs +0 -3
  460. package/node_modules/@anthropic-ai/sdk/resources/top-level.mjs.map +0 -1
  461. package/node_modules/@anthropic-ai/sdk/resources.d.mts +0 -2
  462. package/node_modules/@anthropic-ai/sdk/resources.d.mts.map +0 -1
  463. package/node_modules/@anthropic-ai/sdk/resources.d.ts +0 -2
  464. package/node_modules/@anthropic-ai/sdk/resources.d.ts.map +0 -1
  465. package/node_modules/@anthropic-ai/sdk/resources.js +0 -5
  466. package/node_modules/@anthropic-ai/sdk/resources.js.map +0 -1
  467. package/node_modules/@anthropic-ai/sdk/resources.mjs +0 -2
  468. package/node_modules/@anthropic-ai/sdk/resources.mjs.map +0 -1
  469. package/node_modules/@anthropic-ai/sdk/src/_vendor/partial-json-parser/README.md +0 -3
  470. package/node_modules/@anthropic-ai/sdk/src/_vendor/partial-json-parser/parser.ts +0 -264
  471. package/node_modules/@anthropic-ai/sdk/src/api-promise.ts +0 -2
  472. package/node_modules/@anthropic-ai/sdk/src/client.ts +0 -1070
  473. package/node_modules/@anthropic-ai/sdk/src/core/README.md +0 -3
  474. package/node_modules/@anthropic-ai/sdk/src/core/api-promise.ts +0 -101
  475. package/node_modules/@anthropic-ai/sdk/src/core/error.ts +0 -133
  476. package/node_modules/@anthropic-ai/sdk/src/core/pagination.ts +0 -201
  477. package/node_modules/@anthropic-ai/sdk/src/core/resource.ts +0 -11
  478. package/node_modules/@anthropic-ai/sdk/src/core/streaming.ts +0 -331
  479. package/node_modules/@anthropic-ai/sdk/src/core/uploads.ts +0 -2
  480. package/node_modules/@anthropic-ai/sdk/src/error.ts +0 -2
  481. package/node_modules/@anthropic-ai/sdk/src/index.ts +0 -23
  482. package/node_modules/@anthropic-ai/sdk/src/internal/README.md +0 -3
  483. package/node_modules/@anthropic-ai/sdk/src/internal/builtin-types.ts +0 -93
  484. package/node_modules/@anthropic-ai/sdk/src/internal/constants.ts +0 -12
  485. package/node_modules/@anthropic-ai/sdk/src/internal/decoders/jsonl.ts +0 -48
  486. package/node_modules/@anthropic-ai/sdk/src/internal/decoders/line.ts +0 -135
  487. package/node_modules/@anthropic-ai/sdk/src/internal/detect-platform.ts +0 -196
  488. package/node_modules/@anthropic-ai/sdk/src/internal/errors.ts +0 -33
  489. package/node_modules/@anthropic-ai/sdk/src/internal/headers.ts +0 -99
  490. package/node_modules/@anthropic-ai/sdk/src/internal/parse.ts +0 -84
  491. package/node_modules/@anthropic-ai/sdk/src/internal/request-options.ts +0 -39
  492. package/node_modules/@anthropic-ai/sdk/src/internal/shim-types.d.ts +0 -28
  493. package/node_modules/@anthropic-ai/sdk/src/internal/shims.ts +0 -107
  494. package/node_modules/@anthropic-ai/sdk/src/internal/stream-utils.ts +0 -32
  495. package/node_modules/@anthropic-ai/sdk/src/internal/to-file.ts +0 -159
  496. package/node_modules/@anthropic-ai/sdk/src/internal/types.ts +0 -92
  497. package/node_modules/@anthropic-ai/sdk/src/internal/uploads.ts +0 -193
  498. package/node_modules/@anthropic-ai/sdk/src/internal/utils/base64.ts +0 -40
  499. package/node_modules/@anthropic-ai/sdk/src/internal/utils/bytes.ts +0 -32
  500. package/node_modules/@anthropic-ai/sdk/src/internal/utils/env.ts +0 -18
  501. package/node_modules/@anthropic-ai/sdk/src/internal/utils/log.ts +0 -127
  502. package/node_modules/@anthropic-ai/sdk/src/internal/utils/path.ts +0 -65
  503. package/node_modules/@anthropic-ai/sdk/src/internal/utils/sleep.ts +0 -3
  504. package/node_modules/@anthropic-ai/sdk/src/internal/utils/uuid.ts +0 -17
  505. package/node_modules/@anthropic-ai/sdk/src/internal/utils/values.ts +0 -102
  506. package/node_modules/@anthropic-ai/sdk/src/internal/utils.ts +0 -8
  507. package/node_modules/@anthropic-ai/sdk/src/lib/.keep +0 -4
  508. package/node_modules/@anthropic-ai/sdk/src/lib/BetaMessageStream.ts +0 -683
  509. package/node_modules/@anthropic-ai/sdk/src/lib/MessageStream.ts +0 -684
  510. package/node_modules/@anthropic-ai/sdk/src/pagination.ts +0 -2
  511. package/node_modules/@anthropic-ai/sdk/src/resource.ts +0 -2
  512. package/node_modules/@anthropic-ai/sdk/src/resources/beta/beta.ts +0 -380
  513. package/node_modules/@anthropic-ai/sdk/src/resources/beta/files.ts +0 -258
  514. package/node_modules/@anthropic-ai/sdk/src/resources/beta/index.ts +0 -148
  515. package/node_modules/@anthropic-ai/sdk/src/resources/beta/messages/batches.ts +0 -502
  516. package/node_modules/@anthropic-ai/sdk/src/resources/beta/messages/index.ts +0 -135
  517. package/node_modules/@anthropic-ai/sdk/src/resources/beta/messages/messages.ts +0 -2249
  518. package/node_modules/@anthropic-ai/sdk/src/resources/beta/messages.ts +0 -3
  519. package/node_modules/@anthropic-ai/sdk/src/resources/beta/models.ts +0 -118
  520. package/node_modules/@anthropic-ai/sdk/src/resources/beta.ts +0 -3
  521. package/node_modules/@anthropic-ai/sdk/src/resources/completions.ts +0 -231
  522. package/node_modules/@anthropic-ai/sdk/src/resources/index.ts +0 -121
  523. package/node_modules/@anthropic-ai/sdk/src/resources/messages/batches.ts +0 -396
  524. package/node_modules/@anthropic-ai/sdk/src/resources/messages/index.ts +0 -110
  525. package/node_modules/@anthropic-ai/sdk/src/resources/messages/messages.ts +0 -1783
  526. package/node_modules/@anthropic-ai/sdk/src/resources/messages.ts +0 -3
  527. package/node_modules/@anthropic-ai/sdk/src/resources/models.ts +0 -103
  528. package/node_modules/@anthropic-ai/sdk/src/resources/shared.ts +0 -72
  529. package/node_modules/@anthropic-ai/sdk/src/resources/top-level.ts +0 -3
  530. package/node_modules/@anthropic-ai/sdk/src/resources.ts +0 -1
  531. package/node_modules/@anthropic-ai/sdk/src/streaming.ts +0 -2
  532. package/node_modules/@anthropic-ai/sdk/src/tsconfig.json +0 -11
  533. package/node_modules/@anthropic-ai/sdk/src/uploads.ts +0 -2
  534. package/node_modules/@anthropic-ai/sdk/src/version.ts +0 -1
  535. package/node_modules/@anthropic-ai/sdk/streaming.d.mts +0 -2
  536. package/node_modules/@anthropic-ai/sdk/streaming.d.mts.map +0 -1
  537. package/node_modules/@anthropic-ai/sdk/streaming.d.ts +0 -2
  538. package/node_modules/@anthropic-ai/sdk/streaming.d.ts.map +0 -1
  539. package/node_modules/@anthropic-ai/sdk/streaming.js +0 -6
  540. package/node_modules/@anthropic-ai/sdk/streaming.js.map +0 -1
  541. package/node_modules/@anthropic-ai/sdk/streaming.mjs +0 -2
  542. package/node_modules/@anthropic-ai/sdk/streaming.mjs.map +0 -1
  543. package/node_modules/@anthropic-ai/sdk/uploads.d.mts +0 -2
  544. package/node_modules/@anthropic-ai/sdk/uploads.d.mts.map +0 -1
  545. package/node_modules/@anthropic-ai/sdk/uploads.d.ts +0 -2
  546. package/node_modules/@anthropic-ai/sdk/uploads.d.ts.map +0 -1
  547. package/node_modules/@anthropic-ai/sdk/uploads.js +0 -6
  548. package/node_modules/@anthropic-ai/sdk/uploads.js.map +0 -1
  549. package/node_modules/@anthropic-ai/sdk/uploads.mjs +0 -2
  550. package/node_modules/@anthropic-ai/sdk/uploads.mjs.map +0 -1
  551. package/node_modules/@anthropic-ai/sdk/version.d.mts +0 -2
  552. package/node_modules/@anthropic-ai/sdk/version.d.mts.map +0 -1
  553. package/node_modules/@anthropic-ai/sdk/version.d.ts +0 -2
  554. package/node_modules/@anthropic-ai/sdk/version.d.ts.map +0 -1
  555. package/node_modules/@anthropic-ai/sdk/version.js +0 -5
  556. package/node_modules/@anthropic-ai/sdk/version.js.map +0 -1
  557. package/node_modules/@anthropic-ai/sdk/version.mjs +0 -2
  558. package/node_modules/@anthropic-ai/sdk/version.mjs.map +0 -1
  559. package/node_modules/@dimivelev/chimera-agent-core/dist/agent-loop.d.ts +0 -24
  560. package/node_modules/@dimivelev/chimera-agent-core/dist/agent-loop.d.ts.map +0 -1
  561. package/node_modules/@dimivelev/chimera-agent-core/dist/agent-loop.js +0 -502
  562. package/node_modules/@dimivelev/chimera-agent-core/dist/agent-loop.js.map +0 -1
  563. package/node_modules/@dimivelev/chimera-agent-core/dist/agent.d.ts +0 -118
  564. package/node_modules/@dimivelev/chimera-agent-core/dist/agent.d.ts.map +0 -1
  565. package/node_modules/@dimivelev/chimera-agent-core/dist/agent.js +0 -402
  566. package/node_modules/@dimivelev/chimera-agent-core/dist/agent.js.map +0 -1
  567. package/node_modules/@dimivelev/chimera-agent-core/dist/harness/agent-harness.d.ts +0 -95
  568. package/node_modules/@dimivelev/chimera-agent-core/dist/harness/agent-harness.d.ts.map +0 -1
  569. package/node_modules/@dimivelev/chimera-agent-core/dist/harness/agent-harness.js +0 -963
  570. package/node_modules/@dimivelev/chimera-agent-core/dist/harness/agent-harness.js.map +0 -1
  571. package/node_modules/@dimivelev/chimera-agent-core/dist/harness/compaction/branch-summarization.d.ts +0 -53
  572. package/node_modules/@dimivelev/chimera-agent-core/dist/harness/compaction/branch-summarization.d.ts.map +0 -1
  573. package/node_modules/@dimivelev/chimera-agent-core/dist/harness/compaction/branch-summarization.js +0 -175
  574. package/node_modules/@dimivelev/chimera-agent-core/dist/harness/compaction/branch-summarization.js.map +0 -1
  575. package/node_modules/@dimivelev/chimera-agent-core/dist/harness/compaction/compaction.d.ts +0 -95
  576. package/node_modules/@dimivelev/chimera-agent-core/dist/harness/compaction/compaction.d.ts.map +0 -1
  577. package/node_modules/@dimivelev/chimera-agent-core/dist/harness/compaction/compaction.js +0 -528
  578. package/node_modules/@dimivelev/chimera-agent-core/dist/harness/compaction/compaction.js.map +0 -1
  579. package/node_modules/@dimivelev/chimera-agent-core/dist/harness/compaction/utils.d.ts +0 -25
  580. package/node_modules/@dimivelev/chimera-agent-core/dist/harness/compaction/utils.d.ts.map +0 -1
  581. package/node_modules/@dimivelev/chimera-agent-core/dist/harness/compaction/utils.js +0 -131
  582. package/node_modules/@dimivelev/chimera-agent-core/dist/harness/compaction/utils.js.map +0 -1
  583. package/node_modules/@dimivelev/chimera-agent-core/dist/harness/env/nodejs.d.ts +0 -51
  584. package/node_modules/@dimivelev/chimera-agent-core/dist/harness/env/nodejs.d.ts.map +0 -1
  585. package/node_modules/@dimivelev/chimera-agent-core/dist/harness/env/nodejs.js +0 -486
  586. package/node_modules/@dimivelev/chimera-agent-core/dist/harness/env/nodejs.js.map +0 -1
  587. package/node_modules/@dimivelev/chimera-agent-core/dist/harness/messages.d.ts +0 -51
  588. package/node_modules/@dimivelev/chimera-agent-core/dist/harness/messages.d.ts.map +0 -1
  589. package/node_modules/@dimivelev/chimera-agent-core/dist/harness/messages.js +0 -102
  590. package/node_modules/@dimivelev/chimera-agent-core/dist/harness/messages.js.map +0 -1
  591. package/node_modules/@dimivelev/chimera-agent-core/dist/harness/prompt-templates.d.ts +0 -48
  592. package/node_modules/@dimivelev/chimera-agent-core/dist/harness/prompt-templates.d.ts.map +0 -1
  593. package/node_modules/@dimivelev/chimera-agent-core/dist/harness/prompt-templates.js +0 -230
  594. package/node_modules/@dimivelev/chimera-agent-core/dist/harness/prompt-templates.js.map +0 -1
  595. package/node_modules/@dimivelev/chimera-agent-core/dist/harness/session/jsonl-repo.d.ts +0 -26
  596. package/node_modules/@dimivelev/chimera-agent-core/dist/harness/session/jsonl-repo.d.ts.map +0 -1
  597. package/node_modules/@dimivelev/chimera-agent-core/dist/harness/session/jsonl-repo.js +0 -101
  598. package/node_modules/@dimivelev/chimera-agent-core/dist/harness/session/jsonl-repo.js.map +0 -1
  599. package/node_modules/@dimivelev/chimera-agent-core/dist/harness/session/jsonl-storage.d.ts +0 -33
  600. package/node_modules/@dimivelev/chimera-agent-core/dist/harness/session/jsonl-storage.d.ts.map +0 -1
  601. package/node_modules/@dimivelev/chimera-agent-core/dist/harness/session/jsonl-storage.js +0 -231
  602. package/node_modules/@dimivelev/chimera-agent-core/dist/harness/session/jsonl-storage.js.map +0 -1
  603. package/node_modules/@dimivelev/chimera-agent-core/dist/harness/session/memory-repo.d.ts +0 -18
  604. package/node_modules/@dimivelev/chimera-agent-core/dist/harness/session/memory-repo.d.ts.map +0 -1
  605. package/node_modules/@dimivelev/chimera-agent-core/dist/harness/session/memory-repo.js +0 -42
  606. package/node_modules/@dimivelev/chimera-agent-core/dist/harness/session/memory-repo.js.map +0 -1
  607. package/node_modules/@dimivelev/chimera-agent-core/dist/harness/session/memory-storage.d.ts +0 -25
  608. package/node_modules/@dimivelev/chimera-agent-core/dist/harness/session/memory-storage.d.ts.map +0 -1
  609. package/node_modules/@dimivelev/chimera-agent-core/dist/harness/session/memory-storage.js +0 -114
  610. package/node_modules/@dimivelev/chimera-agent-core/dist/harness/session/memory-storage.js.map +0 -1
  611. package/node_modules/@dimivelev/chimera-agent-core/dist/harness/session/repo-utils.d.ts +0 -11
  612. package/node_modules/@dimivelev/chimera-agent-core/dist/harness/session/repo-utils.d.ts.map +0 -1
  613. package/node_modules/@dimivelev/chimera-agent-core/dist/harness/session/repo-utils.js +0 -39
  614. package/node_modules/@dimivelev/chimera-agent-core/dist/harness/session/repo-utils.js.map +0 -1
  615. package/node_modules/@dimivelev/chimera-agent-core/dist/harness/session/session.d.ts +0 -33
  616. package/node_modules/@dimivelev/chimera-agent-core/dist/harness/session/session.d.ts.map +0 -1
  617. package/node_modules/@dimivelev/chimera-agent-core/dist/harness/session/session.js +0 -210
  618. package/node_modules/@dimivelev/chimera-agent-core/dist/harness/session/session.js.map +0 -1
  619. package/node_modules/@dimivelev/chimera-agent-core/dist/harness/session/uuid.d.ts +0 -2
  620. package/node_modules/@dimivelev/chimera-agent-core/dist/harness/session/uuid.d.ts.map +0 -1
  621. package/node_modules/@dimivelev/chimera-agent-core/dist/harness/session/uuid.js +0 -50
  622. package/node_modules/@dimivelev/chimera-agent-core/dist/harness/session/uuid.js.map +0 -1
  623. package/node_modules/@dimivelev/chimera-agent-core/dist/harness/skills.d.ts +0 -44
  624. package/node_modules/@dimivelev/chimera-agent-core/dist/harness/skills.d.ts.map +0 -1
  625. package/node_modules/@dimivelev/chimera-agent-core/dist/harness/skills.js +0 -311
  626. package/node_modules/@dimivelev/chimera-agent-core/dist/harness/skills.js.map +0 -1
  627. package/node_modules/@dimivelev/chimera-agent-core/dist/harness/system-prompt.d.ts +0 -3
  628. package/node_modules/@dimivelev/chimera-agent-core/dist/harness/system-prompt.d.ts.map +0 -1
  629. package/node_modules/@dimivelev/chimera-agent-core/dist/harness/system-prompt.js +0 -30
  630. package/node_modules/@dimivelev/chimera-agent-core/dist/harness/system-prompt.js.map +0 -1
  631. package/node_modules/@dimivelev/chimera-agent-core/dist/harness/types.d.ts +0 -615
  632. package/node_modules/@dimivelev/chimera-agent-core/dist/harness/types.d.ts.map +0 -1
  633. package/node_modules/@dimivelev/chimera-agent-core/dist/harness/types.js +0 -94
  634. package/node_modules/@dimivelev/chimera-agent-core/dist/harness/types.js.map +0 -1
  635. package/node_modules/@dimivelev/chimera-agent-core/dist/harness/utils/shell-output.d.ts +0 -14
  636. package/node_modules/@dimivelev/chimera-agent-core/dist/harness/utils/shell-output.d.ts.map +0 -1
  637. package/node_modules/@dimivelev/chimera-agent-core/dist/harness/utils/shell-output.js +0 -126
  638. package/node_modules/@dimivelev/chimera-agent-core/dist/harness/utils/shell-output.js.map +0 -1
  639. package/node_modules/@dimivelev/chimera-agent-core/dist/harness/utils/truncate.d.ts +0 -70
  640. package/node_modules/@dimivelev/chimera-agent-core/dist/harness/utils/truncate.d.ts.map +0 -1
  641. package/node_modules/@dimivelev/chimera-agent-core/dist/harness/utils/truncate.js +0 -290
  642. package/node_modules/@dimivelev/chimera-agent-core/dist/harness/utils/truncate.js.map +0 -1
  643. package/node_modules/@dimivelev/chimera-agent-core/dist/index.d.ts +0 -20
  644. package/node_modules/@dimivelev/chimera-agent-core/dist/index.d.ts.map +0 -1
  645. package/node_modules/@dimivelev/chimera-agent-core/dist/index.js +0 -25
  646. package/node_modules/@dimivelev/chimera-agent-core/dist/index.js.map +0 -1
  647. package/node_modules/@dimivelev/chimera-agent-core/dist/node.d.ts +0 -3
  648. package/node_modules/@dimivelev/chimera-agent-core/dist/node.d.ts.map +0 -1
  649. package/node_modules/@dimivelev/chimera-agent-core/dist/node.js +0 -3
  650. package/node_modules/@dimivelev/chimera-agent-core/dist/node.js.map +0 -1
  651. package/node_modules/@dimivelev/chimera-agent-core/dist/proxy.d.ts +0 -69
  652. package/node_modules/@dimivelev/chimera-agent-core/dist/proxy.d.ts.map +0 -1
  653. package/node_modules/@dimivelev/chimera-agent-core/dist/proxy.js +0 -278
  654. package/node_modules/@dimivelev/chimera-agent-core/dist/proxy.js.map +0 -1
  655. package/node_modules/@dimivelev/chimera-agent-core/dist/types.d.ts +0 -393
  656. package/node_modules/@dimivelev/chimera-agent-core/dist/types.d.ts.map +0 -1
  657. package/node_modules/@dimivelev/chimera-agent-core/dist/types.js +0 -2
  658. package/node_modules/@dimivelev/chimera-agent-core/dist/types.js.map +0 -1
  659. package/node_modules/@dimivelev/chimera-agent-core/package.json +0 -60
  660. package/node_modules/@dimivelev/chimera-ai/dist/api-registry.d.ts +0 -20
  661. package/node_modules/@dimivelev/chimera-ai/dist/api-registry.d.ts.map +0 -1
  662. package/node_modules/@dimivelev/chimera-ai/dist/api-registry.js +0 -44
  663. package/node_modules/@dimivelev/chimera-ai/dist/api-registry.js.map +0 -1
  664. package/node_modules/@dimivelev/chimera-ai/dist/bedrock-provider.d.ts +0 -5
  665. package/node_modules/@dimivelev/chimera-ai/dist/bedrock-provider.d.ts.map +0 -1
  666. package/node_modules/@dimivelev/chimera-ai/dist/bedrock-provider.js +0 -6
  667. package/node_modules/@dimivelev/chimera-ai/dist/bedrock-provider.js.map +0 -1
  668. package/node_modules/@dimivelev/chimera-ai/dist/cli.d.ts +0 -3
  669. package/node_modules/@dimivelev/chimera-ai/dist/cli.d.ts.map +0 -1
  670. package/node_modules/@dimivelev/chimera-ai/dist/cli.js +0 -130
  671. package/node_modules/@dimivelev/chimera-ai/dist/cli.js.map +0 -1
  672. package/node_modules/@dimivelev/chimera-ai/dist/env-api-keys.d.ts +0 -18
  673. package/node_modules/@dimivelev/chimera-ai/dist/env-api-keys.d.ts.map +0 -1
  674. package/node_modules/@dimivelev/chimera-ai/dist/env-api-keys.js +0 -178
  675. package/node_modules/@dimivelev/chimera-ai/dist/env-api-keys.js.map +0 -1
  676. package/node_modules/@dimivelev/chimera-ai/dist/image-models.d.ts +0 -10
  677. package/node_modules/@dimivelev/chimera-ai/dist/image-models.d.ts.map +0 -1
  678. package/node_modules/@dimivelev/chimera-ai/dist/image-models.generated.d.ts +0 -4
  679. package/node_modules/@dimivelev/chimera-ai/dist/image-models.generated.d.ts.map +0 -1
  680. package/node_modules/@dimivelev/chimera-ai/dist/image-models.generated.js +0 -6
  681. package/node_modules/@dimivelev/chimera-ai/dist/image-models.generated.js.map +0 -1
  682. package/node_modules/@dimivelev/chimera-ai/dist/image-models.js +0 -23
  683. package/node_modules/@dimivelev/chimera-ai/dist/image-models.js.map +0 -1
  684. package/node_modules/@dimivelev/chimera-ai/dist/images-api-registry.d.ts +0 -14
  685. package/node_modules/@dimivelev/chimera-ai/dist/images-api-registry.d.ts.map +0 -1
  686. package/node_modules/@dimivelev/chimera-ai/dist/images-api-registry.js +0 -22
  687. package/node_modules/@dimivelev/chimera-ai/dist/images-api-registry.js.map +0 -1
  688. package/node_modules/@dimivelev/chimera-ai/dist/images.d.ts +0 -4
  689. package/node_modules/@dimivelev/chimera-ai/dist/images.d.ts.map +0 -1
  690. package/node_modules/@dimivelev/chimera-ai/dist/images.js +0 -14
  691. package/node_modules/@dimivelev/chimera-ai/dist/images.js.map +0 -1
  692. package/node_modules/@dimivelev/chimera-ai/dist/index.d.ts +0 -32
  693. package/node_modules/@dimivelev/chimera-ai/dist/index.d.ts.map +0 -1
  694. package/node_modules/@dimivelev/chimera-ai/dist/index.js +0 -20
  695. package/node_modules/@dimivelev/chimera-ai/dist/index.js.map +0 -1
  696. package/node_modules/@dimivelev/chimera-ai/dist/models.d.ts +0 -18
  697. package/node_modules/@dimivelev/chimera-ai/dist/models.d.ts.map +0 -1
  698. package/node_modules/@dimivelev/chimera-ai/dist/models.generated.d.ts +0 -14714
  699. package/node_modules/@dimivelev/chimera-ai/dist/models.generated.d.ts.map +0 -1
  700. package/node_modules/@dimivelev/chimera-ai/dist/models.generated.js +0 -13379
  701. package/node_modules/@dimivelev/chimera-ai/dist/models.generated.js.map +0 -1
  702. package/node_modules/@dimivelev/chimera-ai/dist/models.js +0 -71
  703. package/node_modules/@dimivelev/chimera-ai/dist/models.js.map +0 -1
  704. package/node_modules/@dimivelev/chimera-ai/dist/oauth.d.ts +0 -2
  705. package/node_modules/@dimivelev/chimera-ai/dist/oauth.d.ts.map +0 -1
  706. package/node_modules/@dimivelev/chimera-ai/dist/oauth.js +0 -2
  707. package/node_modules/@dimivelev/chimera-ai/dist/oauth.js.map +0 -1
  708. package/node_modules/@dimivelev/chimera-ai/dist/providers/amazon-bedrock.d.ts +0 -38
  709. package/node_modules/@dimivelev/chimera-ai/dist/providers/amazon-bedrock.d.ts.map +0 -1
  710. package/node_modules/@dimivelev/chimera-ai/dist/providers/amazon-bedrock.js +0 -826
  711. package/node_modules/@dimivelev/chimera-ai/dist/providers/amazon-bedrock.js.map +0 -1
  712. package/node_modules/@dimivelev/chimera-ai/dist/providers/anthropic.d.ts +0 -71
  713. package/node_modules/@dimivelev/chimera-ai/dist/providers/anthropic.d.ts.map +0 -1
  714. package/node_modules/@dimivelev/chimera-ai/dist/providers/anthropic.js +0 -959
  715. package/node_modules/@dimivelev/chimera-ai/dist/providers/anthropic.js.map +0 -1
  716. package/node_modules/@dimivelev/chimera-ai/dist/providers/azure-openai-responses.d.ts +0 -15
  717. package/node_modules/@dimivelev/chimera-ai/dist/providers/azure-openai-responses.d.ts.map +0 -1
  718. package/node_modules/@dimivelev/chimera-ai/dist/providers/azure-openai-responses.js +0 -221
  719. package/node_modules/@dimivelev/chimera-ai/dist/providers/azure-openai-responses.js.map +0 -1
  720. package/node_modules/@dimivelev/chimera-ai/dist/providers/cloudflare.d.ts +0 -13
  721. package/node_modules/@dimivelev/chimera-ai/dist/providers/cloudflare.d.ts.map +0 -1
  722. package/node_modules/@dimivelev/chimera-ai/dist/providers/cloudflare.js +0 -26
  723. package/node_modules/@dimivelev/chimera-ai/dist/providers/cloudflare.js.map +0 -1
  724. package/node_modules/@dimivelev/chimera-ai/dist/providers/faux.d.ts +0 -56
  725. package/node_modules/@dimivelev/chimera-ai/dist/providers/faux.d.ts.map +0 -1
  726. package/node_modules/@dimivelev/chimera-ai/dist/providers/faux.js +0 -368
  727. package/node_modules/@dimivelev/chimera-ai/dist/providers/faux.js.map +0 -1
  728. package/node_modules/@dimivelev/chimera-ai/dist/providers/github-copilot-headers.d.ts +0 -8
  729. package/node_modules/@dimivelev/chimera-ai/dist/providers/github-copilot-headers.d.ts.map +0 -1
  730. package/node_modules/@dimivelev/chimera-ai/dist/providers/github-copilot-headers.js +0 -29
  731. package/node_modules/@dimivelev/chimera-ai/dist/providers/github-copilot-headers.js.map +0 -1
  732. package/node_modules/@dimivelev/chimera-ai/dist/providers/google-shared.d.ts +0 -70
  733. package/node_modules/@dimivelev/chimera-ai/dist/providers/google-shared.d.ts.map +0 -1
  734. package/node_modules/@dimivelev/chimera-ai/dist/providers/google-shared.js +0 -329
  735. package/node_modules/@dimivelev/chimera-ai/dist/providers/google-shared.js.map +0 -1
  736. package/node_modules/@dimivelev/chimera-ai/dist/providers/google-vertex.d.ts +0 -15
  737. package/node_modules/@dimivelev/chimera-ai/dist/providers/google-vertex.d.ts.map +0 -1
  738. package/node_modules/@dimivelev/chimera-ai/dist/providers/google-vertex.js +0 -442
  739. package/node_modules/@dimivelev/chimera-ai/dist/providers/google-vertex.js.map +0 -1
  740. package/node_modules/@dimivelev/chimera-ai/dist/providers/google.d.ts +0 -13
  741. package/node_modules/@dimivelev/chimera-ai/dist/providers/google.d.ts.map +0 -1
  742. package/node_modules/@dimivelev/chimera-ai/dist/providers/google.js +0 -402
  743. package/node_modules/@dimivelev/chimera-ai/dist/providers/google.js.map +0 -1
  744. package/node_modules/@dimivelev/chimera-ai/dist/providers/images/openrouter.d.ts +0 -3
  745. package/node_modules/@dimivelev/chimera-ai/dist/providers/images/openrouter.d.ts.map +0 -1
  746. package/node_modules/@dimivelev/chimera-ai/dist/providers/images/openrouter.js +0 -128
  747. package/node_modules/@dimivelev/chimera-ai/dist/providers/images/openrouter.js.map +0 -1
  748. package/node_modules/@dimivelev/chimera-ai/dist/providers/images/register-builtins.d.ts +0 -4
  749. package/node_modules/@dimivelev/chimera-ai/dist/providers/images/register-builtins.d.ts.map +0 -1
  750. package/node_modules/@dimivelev/chimera-ai/dist/providers/images/register-builtins.js +0 -34
  751. package/node_modules/@dimivelev/chimera-ai/dist/providers/images/register-builtins.js.map +0 -1
  752. package/node_modules/@dimivelev/chimera-ai/dist/providers/mistral.d.ts +0 -25
  753. package/node_modules/@dimivelev/chimera-ai/dist/providers/mistral.d.ts.map +0 -1
  754. package/node_modules/@dimivelev/chimera-ai/dist/providers/mistral.js +0 -534
  755. package/node_modules/@dimivelev/chimera-ai/dist/providers/mistral.js.map +0 -1
  756. package/node_modules/@dimivelev/chimera-ai/dist/providers/openai-codex-responses.d.ts +0 -30
  757. package/node_modules/@dimivelev/chimera-ai/dist/providers/openai-codex-responses.d.ts.map +0 -1
  758. package/node_modules/@dimivelev/chimera-ai/dist/providers/openai-codex-responses.js +0 -1171
  759. package/node_modules/@dimivelev/chimera-ai/dist/providers/openai-codex-responses.js.map +0 -1
  760. package/node_modules/@dimivelev/chimera-ai/dist/providers/openai-completions.d.ts +0 -19
  761. package/node_modules/@dimivelev/chimera-ai/dist/providers/openai-completions.d.ts.map +0 -1
  762. package/node_modules/@dimivelev/chimera-ai/dist/providers/openai-completions.js +0 -956
  763. package/node_modules/@dimivelev/chimera-ai/dist/providers/openai-completions.js.map +0 -1
  764. package/node_modules/@dimivelev/chimera-ai/dist/providers/openai-prompt-cache.d.ts +0 -3
  765. package/node_modules/@dimivelev/chimera-ai/dist/providers/openai-prompt-cache.d.ts.map +0 -1
  766. package/node_modules/@dimivelev/chimera-ai/dist/providers/openai-prompt-cache.js +0 -10
  767. package/node_modules/@dimivelev/chimera-ai/dist/providers/openai-prompt-cache.js.map +0 -1
  768. package/node_modules/@dimivelev/chimera-ai/dist/providers/openai-responses-shared.d.ts +0 -18
  769. package/node_modules/@dimivelev/chimera-ai/dist/providers/openai-responses-shared.d.ts.map +0 -1
  770. package/node_modules/@dimivelev/chimera-ai/dist/providers/openai-responses-shared.js +0 -495
  771. package/node_modules/@dimivelev/chimera-ai/dist/providers/openai-responses-shared.js.map +0 -1
  772. package/node_modules/@dimivelev/chimera-ai/dist/providers/openai-responses.d.ts +0 -13
  773. package/node_modules/@dimivelev/chimera-ai/dist/providers/openai-responses.d.ts.map +0 -1
  774. package/node_modules/@dimivelev/chimera-ai/dist/providers/openai-responses.js +0 -233
  775. package/node_modules/@dimivelev/chimera-ai/dist/providers/openai-responses.js.map +0 -1
  776. package/node_modules/@dimivelev/chimera-ai/dist/providers/register-builtins.d.ts +0 -35
  777. package/node_modules/@dimivelev/chimera-ai/dist/providers/register-builtins.d.ts.map +0 -1
  778. package/node_modules/@dimivelev/chimera-ai/dist/providers/register-builtins.js +0 -254
  779. package/node_modules/@dimivelev/chimera-ai/dist/providers/register-builtins.js.map +0 -1
  780. package/node_modules/@dimivelev/chimera-ai/dist/providers/simple-options.d.ts +0 -8
  781. package/node_modules/@dimivelev/chimera-ai/dist/providers/simple-options.d.ts.map +0 -1
  782. package/node_modules/@dimivelev/chimera-ai/dist/providers/simple-options.js +0 -42
  783. package/node_modules/@dimivelev/chimera-ai/dist/providers/simple-options.js.map +0 -1
  784. package/node_modules/@dimivelev/chimera-ai/dist/providers/transform-messages.d.ts +0 -8
  785. package/node_modules/@dimivelev/chimera-ai/dist/providers/transform-messages.d.ts.map +0 -1
  786. package/node_modules/@dimivelev/chimera-ai/dist/providers/transform-messages.js +0 -184
  787. package/node_modules/@dimivelev/chimera-ai/dist/providers/transform-messages.js.map +0 -1
  788. package/node_modules/@dimivelev/chimera-ai/dist/session-resources.d.ts +0 -4
  789. package/node_modules/@dimivelev/chimera-ai/dist/session-resources.d.ts.map +0 -1
  790. package/node_modules/@dimivelev/chimera-ai/dist/session-resources.js +0 -22
  791. package/node_modules/@dimivelev/chimera-ai/dist/session-resources.js.map +0 -1
  792. package/node_modules/@dimivelev/chimera-ai/dist/stream.d.ts +0 -8
  793. package/node_modules/@dimivelev/chimera-ai/dist/stream.d.ts.map +0 -1
  794. package/node_modules/@dimivelev/chimera-ai/dist/stream.js +0 -39
  795. package/node_modules/@dimivelev/chimera-ai/dist/stream.js.map +0 -1
  796. package/node_modules/@dimivelev/chimera-ai/dist/types.d.ts +0 -514
  797. package/node_modules/@dimivelev/chimera-ai/dist/types.d.ts.map +0 -1
  798. package/node_modules/@dimivelev/chimera-ai/dist/types.js +0 -2
  799. package/node_modules/@dimivelev/chimera-ai/dist/types.js.map +0 -1
  800. package/node_modules/@dimivelev/chimera-ai/dist/utils/abort-signals.d.ts +0 -6
  801. package/node_modules/@dimivelev/chimera-ai/dist/utils/abort-signals.d.ts.map +0 -1
  802. package/node_modules/@dimivelev/chimera-ai/dist/utils/abort-signals.js +0 -34
  803. package/node_modules/@dimivelev/chimera-ai/dist/utils/abort-signals.js.map +0 -1
  804. package/node_modules/@dimivelev/chimera-ai/dist/utils/diagnostics.d.ts +0 -19
  805. package/node_modules/@dimivelev/chimera-ai/dist/utils/diagnostics.d.ts.map +0 -1
  806. package/node_modules/@dimivelev/chimera-ai/dist/utils/diagnostics.js +0 -25
  807. package/node_modules/@dimivelev/chimera-ai/dist/utils/diagnostics.js.map +0 -1
  808. package/node_modules/@dimivelev/chimera-ai/dist/utils/event-stream.d.ts +0 -21
  809. package/node_modules/@dimivelev/chimera-ai/dist/utils/event-stream.d.ts.map +0 -1
  810. package/node_modules/@dimivelev/chimera-ai/dist/utils/event-stream.js +0 -81
  811. package/node_modules/@dimivelev/chimera-ai/dist/utils/event-stream.js.map +0 -1
  812. package/node_modules/@dimivelev/chimera-ai/dist/utils/hash.d.ts +0 -3
  813. package/node_modules/@dimivelev/chimera-ai/dist/utils/hash.d.ts.map +0 -1
  814. package/node_modules/@dimivelev/chimera-ai/dist/utils/hash.js +0 -14
  815. package/node_modules/@dimivelev/chimera-ai/dist/utils/hash.js.map +0 -1
  816. package/node_modules/@dimivelev/chimera-ai/dist/utils/headers.d.ts +0 -2
  817. package/node_modules/@dimivelev/chimera-ai/dist/utils/headers.d.ts.map +0 -1
  818. package/node_modules/@dimivelev/chimera-ai/dist/utils/headers.js +0 -8
  819. package/node_modules/@dimivelev/chimera-ai/dist/utils/headers.js.map +0 -1
  820. package/node_modules/@dimivelev/chimera-ai/dist/utils/json-parse.d.ts +0 -16
  821. package/node_modules/@dimivelev/chimera-ai/dist/utils/json-parse.d.ts.map +0 -1
  822. package/node_modules/@dimivelev/chimera-ai/dist/utils/json-parse.js +0 -113
  823. package/node_modules/@dimivelev/chimera-ai/dist/utils/json-parse.js.map +0 -1
  824. package/node_modules/@dimivelev/chimera-ai/dist/utils/node-http-proxy.d.ts +0 -10
  825. package/node_modules/@dimivelev/chimera-ai/dist/utils/node-http-proxy.d.ts.map +0 -1
  826. package/node_modules/@dimivelev/chimera-ai/dist/utils/node-http-proxy.js +0 -97
  827. package/node_modules/@dimivelev/chimera-ai/dist/utils/node-http-proxy.js.map +0 -1
  828. package/node_modules/@dimivelev/chimera-ai/dist/utils/oauth/anthropic.d.ts +0 -25
  829. package/node_modules/@dimivelev/chimera-ai/dist/utils/oauth/anthropic.d.ts.map +0 -1
  830. package/node_modules/@dimivelev/chimera-ai/dist/utils/oauth/anthropic.js +0 -335
  831. package/node_modules/@dimivelev/chimera-ai/dist/utils/oauth/anthropic.js.map +0 -1
  832. package/node_modules/@dimivelev/chimera-ai/dist/utils/oauth/device-code.d.ts +0 -21
  833. package/node_modules/@dimivelev/chimera-ai/dist/utils/oauth/device-code.d.ts.map +0 -1
  834. package/node_modules/@dimivelev/chimera-ai/dist/utils/oauth/device-code.js +0 -56
  835. package/node_modules/@dimivelev/chimera-ai/dist/utils/oauth/device-code.js.map +0 -1
  836. package/node_modules/@dimivelev/chimera-ai/dist/utils/oauth/github-copilot.d.ts +0 -30
  837. package/node_modules/@dimivelev/chimera-ai/dist/utils/oauth/github-copilot.d.ts.map +0 -1
  838. package/node_modules/@dimivelev/chimera-ai/dist/utils/oauth/github-copilot.js +0 -268
  839. package/node_modules/@dimivelev/chimera-ai/dist/utils/oauth/github-copilot.js.map +0 -1
  840. package/node_modules/@dimivelev/chimera-ai/dist/utils/oauth/index.d.ts +0 -58
  841. package/node_modules/@dimivelev/chimera-ai/dist/utils/oauth/index.d.ts.map +0 -1
  842. package/node_modules/@dimivelev/chimera-ai/dist/utils/oauth/index.js +0 -122
  843. package/node_modules/@dimivelev/chimera-ai/dist/utils/oauth/index.js.map +0 -1
  844. package/node_modules/@dimivelev/chimera-ai/dist/utils/oauth/oauth-page.d.ts +0 -3
  845. package/node_modules/@dimivelev/chimera-ai/dist/utils/oauth/oauth-page.d.ts.map +0 -1
  846. package/node_modules/@dimivelev/chimera-ai/dist/utils/oauth/oauth-page.js +0 -105
  847. package/node_modules/@dimivelev/chimera-ai/dist/utils/oauth/oauth-page.js.map +0 -1
  848. package/node_modules/@dimivelev/chimera-ai/dist/utils/oauth/openai-codex.d.ts +0 -43
  849. package/node_modules/@dimivelev/chimera-ai/dist/utils/oauth/openai-codex.d.ts.map +0 -1
  850. package/node_modules/@dimivelev/chimera-ai/dist/utils/oauth/openai-codex.js +0 -485
  851. package/node_modules/@dimivelev/chimera-ai/dist/utils/oauth/openai-codex.js.map +0 -1
  852. package/node_modules/@dimivelev/chimera-ai/dist/utils/oauth/pkce.d.ts +0 -13
  853. package/node_modules/@dimivelev/chimera-ai/dist/utils/oauth/pkce.d.ts.map +0 -1
  854. package/node_modules/@dimivelev/chimera-ai/dist/utils/oauth/pkce.js +0 -31
  855. package/node_modules/@dimivelev/chimera-ai/dist/utils/oauth/pkce.js.map +0 -1
  856. package/node_modules/@dimivelev/chimera-ai/dist/utils/oauth/types.d.ts +0 -64
  857. package/node_modules/@dimivelev/chimera-ai/dist/utils/oauth/types.d.ts.map +0 -1
  858. package/node_modules/@dimivelev/chimera-ai/dist/utils/oauth/types.js +0 -2
  859. package/node_modules/@dimivelev/chimera-ai/dist/utils/oauth/types.js.map +0 -1
  860. package/node_modules/@dimivelev/chimera-ai/dist/utils/overflow.d.ts +0 -57
  861. package/node_modules/@dimivelev/chimera-ai/dist/utils/overflow.d.ts.map +0 -1
  862. package/node_modules/@dimivelev/chimera-ai/dist/utils/overflow.js +0 -154
  863. package/node_modules/@dimivelev/chimera-ai/dist/utils/overflow.js.map +0 -1
  864. package/node_modules/@dimivelev/chimera-ai/dist/utils/sanitize-unicode.d.ts +0 -22
  865. package/node_modules/@dimivelev/chimera-ai/dist/utils/sanitize-unicode.d.ts.map +0 -1
  866. package/node_modules/@dimivelev/chimera-ai/dist/utils/sanitize-unicode.js +0 -26
  867. package/node_modules/@dimivelev/chimera-ai/dist/utils/sanitize-unicode.js.map +0 -1
  868. package/node_modules/@dimivelev/chimera-ai/dist/utils/typebox-helpers.d.ts +0 -17
  869. package/node_modules/@dimivelev/chimera-ai/dist/utils/typebox-helpers.d.ts.map +0 -1
  870. package/node_modules/@dimivelev/chimera-ai/dist/utils/typebox-helpers.js +0 -21
  871. package/node_modules/@dimivelev/chimera-ai/dist/utils/typebox-helpers.js.map +0 -1
  872. package/node_modules/@dimivelev/chimera-ai/dist/utils/validation.d.ts +0 -18
  873. package/node_modules/@dimivelev/chimera-ai/dist/utils/validation.d.ts.map +0 -1
  874. package/node_modules/@dimivelev/chimera-ai/dist/utils/validation.js +0 -281
  875. package/node_modules/@dimivelev/chimera-ai/dist/utils/validation.js.map +0 -1
  876. package/node_modules/@dimivelev/chimera-ai/package.json +0 -106
  877. package/node_modules/@dimivelev/chimera-tui/dist/autocomplete.d.ts +0 -54
  878. package/node_modules/@dimivelev/chimera-tui/dist/autocomplete.d.ts.map +0 -1
  879. package/node_modules/@dimivelev/chimera-tui/dist/autocomplete.js +0 -632
  880. package/node_modules/@dimivelev/chimera-tui/dist/autocomplete.js.map +0 -1
  881. package/node_modules/@dimivelev/chimera-tui/dist/components/box.d.ts +0 -22
  882. package/node_modules/@dimivelev/chimera-tui/dist/components/box.d.ts.map +0 -1
  883. package/node_modules/@dimivelev/chimera-tui/dist/components/box.js +0 -104
  884. package/node_modules/@dimivelev/chimera-tui/dist/components/box.js.map +0 -1
  885. package/node_modules/@dimivelev/chimera-tui/dist/components/cancellable-loader.d.ts +0 -22
  886. package/node_modules/@dimivelev/chimera-tui/dist/components/cancellable-loader.d.ts.map +0 -1
  887. package/node_modules/@dimivelev/chimera-tui/dist/components/cancellable-loader.js +0 -35
  888. package/node_modules/@dimivelev/chimera-tui/dist/components/cancellable-loader.js.map +0 -1
  889. package/node_modules/@dimivelev/chimera-tui/dist/components/editor.d.ts +0 -249
  890. package/node_modules/@dimivelev/chimera-tui/dist/components/editor.d.ts.map +0 -1
  891. package/node_modules/@dimivelev/chimera-tui/dist/components/editor.js +0 -1857
  892. package/node_modules/@dimivelev/chimera-tui/dist/components/editor.js.map +0 -1
  893. package/node_modules/@dimivelev/chimera-tui/dist/components/image.d.ts +0 -28
  894. package/node_modules/@dimivelev/chimera-tui/dist/components/image.d.ts.map +0 -1
  895. package/node_modules/@dimivelev/chimera-tui/dist/components/image.js +0 -89
  896. package/node_modules/@dimivelev/chimera-tui/dist/components/image.js.map +0 -1
  897. package/node_modules/@dimivelev/chimera-tui/dist/components/input.d.ts +0 -37
  898. package/node_modules/@dimivelev/chimera-tui/dist/components/input.d.ts.map +0 -1
  899. package/node_modules/@dimivelev/chimera-tui/dist/components/input.js +0 -378
  900. package/node_modules/@dimivelev/chimera-tui/dist/components/input.js.map +0 -1
  901. package/node_modules/@dimivelev/chimera-tui/dist/components/loader.d.ts +0 -31
  902. package/node_modules/@dimivelev/chimera-tui/dist/components/loader.d.ts.map +0 -1
  903. package/node_modules/@dimivelev/chimera-tui/dist/components/loader.js +0 -69
  904. package/node_modules/@dimivelev/chimera-tui/dist/components/loader.js.map +0 -1
  905. package/node_modules/@dimivelev/chimera-tui/dist/components/markdown.d.ts +0 -96
  906. package/node_modules/@dimivelev/chimera-tui/dist/components/markdown.d.ts.map +0 -1
  907. package/node_modules/@dimivelev/chimera-tui/dist/components/markdown.js +0 -644
  908. package/node_modules/@dimivelev/chimera-tui/dist/components/markdown.js.map +0 -1
  909. package/node_modules/@dimivelev/chimera-tui/dist/components/select-list.d.ts +0 -50
  910. package/node_modules/@dimivelev/chimera-tui/dist/components/select-list.d.ts.map +0 -1
  911. package/node_modules/@dimivelev/chimera-tui/dist/components/select-list.js +0 -159
  912. package/node_modules/@dimivelev/chimera-tui/dist/components/select-list.js.map +0 -1
  913. package/node_modules/@dimivelev/chimera-tui/dist/components/settings-list.d.ts +0 -50
  914. package/node_modules/@dimivelev/chimera-tui/dist/components/settings-list.d.ts.map +0 -1
  915. package/node_modules/@dimivelev/chimera-tui/dist/components/settings-list.js +0 -185
  916. package/node_modules/@dimivelev/chimera-tui/dist/components/settings-list.js.map +0 -1
  917. package/node_modules/@dimivelev/chimera-tui/dist/components/spacer.d.ts +0 -12
  918. package/node_modules/@dimivelev/chimera-tui/dist/components/spacer.d.ts.map +0 -1
  919. package/node_modules/@dimivelev/chimera-tui/dist/components/spacer.js +0 -23
  920. package/node_modules/@dimivelev/chimera-tui/dist/components/spacer.js.map +0 -1
  921. package/node_modules/@dimivelev/chimera-tui/dist/components/text.d.ts +0 -19
  922. package/node_modules/@dimivelev/chimera-tui/dist/components/text.d.ts.map +0 -1
  923. package/node_modules/@dimivelev/chimera-tui/dist/components/text.js +0 -89
  924. package/node_modules/@dimivelev/chimera-tui/dist/components/text.js.map +0 -1
  925. package/node_modules/@dimivelev/chimera-tui/dist/components/truncated-text.d.ts +0 -13
  926. package/node_modules/@dimivelev/chimera-tui/dist/components/truncated-text.d.ts.map +0 -1
  927. package/node_modules/@dimivelev/chimera-tui/dist/components/truncated-text.js +0 -51
  928. package/node_modules/@dimivelev/chimera-tui/dist/components/truncated-text.js.map +0 -1
  929. package/node_modules/@dimivelev/chimera-tui/dist/editor-component.d.ts +0 -39
  930. package/node_modules/@dimivelev/chimera-tui/dist/editor-component.d.ts.map +0 -1
  931. package/node_modules/@dimivelev/chimera-tui/dist/editor-component.js +0 -2
  932. package/node_modules/@dimivelev/chimera-tui/dist/editor-component.js.map +0 -1
  933. package/node_modules/@dimivelev/chimera-tui/dist/fuzzy.d.ts +0 -16
  934. package/node_modules/@dimivelev/chimera-tui/dist/fuzzy.d.ts.map +0 -1
  935. package/node_modules/@dimivelev/chimera-tui/dist/fuzzy.js +0 -110
  936. package/node_modules/@dimivelev/chimera-tui/dist/fuzzy.js.map +0 -1
  937. package/node_modules/@dimivelev/chimera-tui/dist/index.d.ts +0 -23
  938. package/node_modules/@dimivelev/chimera-tui/dist/index.d.ts.map +0 -1
  939. package/node_modules/@dimivelev/chimera-tui/dist/index.js +0 -32
  940. package/node_modules/@dimivelev/chimera-tui/dist/index.js.map +0 -1
  941. package/node_modules/@dimivelev/chimera-tui/dist/keybindings.d.ts +0 -193
  942. package/node_modules/@dimivelev/chimera-tui/dist/keybindings.d.ts.map +0 -1
  943. package/node_modules/@dimivelev/chimera-tui/dist/keybindings.js +0 -174
  944. package/node_modules/@dimivelev/chimera-tui/dist/keybindings.js.map +0 -1
  945. package/node_modules/@dimivelev/chimera-tui/dist/keys.d.ts +0 -184
  946. package/node_modules/@dimivelev/chimera-tui/dist/keys.d.ts.map +0 -1
  947. package/node_modules/@dimivelev/chimera-tui/dist/keys.js +0 -1173
  948. package/node_modules/@dimivelev/chimera-tui/dist/keys.js.map +0 -1
  949. package/node_modules/@dimivelev/chimera-tui/dist/kill-ring.d.ts +0 -28
  950. package/node_modules/@dimivelev/chimera-tui/dist/kill-ring.d.ts.map +0 -1
  951. package/node_modules/@dimivelev/chimera-tui/dist/kill-ring.js +0 -44
  952. package/node_modules/@dimivelev/chimera-tui/dist/kill-ring.js.map +0 -1
  953. package/node_modules/@dimivelev/chimera-tui/dist/native-modifiers.d.ts +0 -3
  954. package/node_modules/@dimivelev/chimera-tui/dist/native-modifiers.d.ts.map +0 -1
  955. package/node_modules/@dimivelev/chimera-tui/dist/native-modifiers.js +0 -53
  956. package/node_modules/@dimivelev/chimera-tui/dist/native-modifiers.js.map +0 -1
  957. package/node_modules/@dimivelev/chimera-tui/dist/stdin-buffer.d.ts +0 -50
  958. package/node_modules/@dimivelev/chimera-tui/dist/stdin-buffer.d.ts.map +0 -1
  959. package/node_modules/@dimivelev/chimera-tui/dist/stdin-buffer.js +0 -361
  960. package/node_modules/@dimivelev/chimera-tui/dist/stdin-buffer.js.map +0 -1
  961. package/node_modules/@dimivelev/chimera-tui/dist/terminal-image.d.ts +0 -90
  962. package/node_modules/@dimivelev/chimera-tui/dist/terminal-image.d.ts.map +0 -1
  963. package/node_modules/@dimivelev/chimera-tui/dist/terminal-image.js +0 -366
  964. package/node_modules/@dimivelev/chimera-tui/dist/terminal-image.js.map +0 -1
  965. package/node_modules/@dimivelev/chimera-tui/dist/terminal.d.ts +0 -113
  966. package/node_modules/@dimivelev/chimera-tui/dist/terminal.d.ts.map +0 -1
  967. package/node_modules/@dimivelev/chimera-tui/dist/terminal.js +0 -472
  968. package/node_modules/@dimivelev/chimera-tui/dist/terminal.js.map +0 -1
  969. package/node_modules/@dimivelev/chimera-tui/dist/tui.d.ts +0 -242
  970. package/node_modules/@dimivelev/chimera-tui/dist/tui.d.ts.map +0 -1
  971. package/node_modules/@dimivelev/chimera-tui/dist/tui.js +0 -1221
  972. package/node_modules/@dimivelev/chimera-tui/dist/tui.js.map +0 -1
  973. package/node_modules/@dimivelev/chimera-tui/dist/undo-stack.d.ts +0 -17
  974. package/node_modules/@dimivelev/chimera-tui/dist/undo-stack.d.ts.map +0 -1
  975. package/node_modules/@dimivelev/chimera-tui/dist/undo-stack.js +0 -25
  976. package/node_modules/@dimivelev/chimera-tui/dist/undo-stack.js.map +0 -1
  977. package/node_modules/@dimivelev/chimera-tui/dist/utils.d.ts +0 -84
  978. package/node_modules/@dimivelev/chimera-tui/dist/utils.d.ts.map +0 -1
  979. package/node_modules/@dimivelev/chimera-tui/dist/utils.js +0 -1029
  980. package/node_modules/@dimivelev/chimera-tui/dist/utils.js.map +0 -1
  981. package/node_modules/@dimivelev/chimera-tui/dist/word-navigation.d.ts +0 -25
  982. package/node_modules/@dimivelev/chimera-tui/dist/word-navigation.d.ts.map +0 -1
  983. package/node_modules/@dimivelev/chimera-tui/dist/word-navigation.js +0 -96
  984. package/node_modules/@dimivelev/chimera-tui/dist/word-navigation.js.map +0 -1
  985. package/node_modules/@dimivelev/chimera-tui/package.json +0 -47
@@ -1,402 +0,0 @@
1
- import { GoogleGenAI, } from "@google/genai";
2
- import { calculateCost, clampThinkingLevel } from "../models.js";
3
- import { AssistantMessageEventStream } from "../utils/event-stream.js";
4
- import { sanitizeSurrogates } from "../utils/sanitize-unicode.js";
5
- import { convertMessages, convertTools, isThinkingPart, mapStopReason, mapToolChoice, retainThoughtSignature, } from "./google-shared.js";
6
- import { buildBaseOptions } from "./simple-options.js";
7
- // Counter for generating unique tool call IDs
8
- let toolCallCounter = 0;
9
- export const streamGoogle = (model, context, options) => {
10
- const stream = new AssistantMessageEventStream();
11
- (async () => {
12
- const output = {
13
- role: "assistant",
14
- content: [],
15
- api: "google-generative-ai",
16
- provider: model.provider,
17
- model: model.id,
18
- usage: {
19
- input: 0,
20
- output: 0,
21
- cacheRead: 0,
22
- cacheWrite: 0,
23
- totalTokens: 0,
24
- cost: { input: 0, output: 0, cacheRead: 0, cacheWrite: 0, total: 0 },
25
- },
26
- stopReason: "stop",
27
- timestamp: Date.now(),
28
- };
29
- try {
30
- const apiKey = options?.apiKey;
31
- if (!apiKey) {
32
- throw new Error(`No API key for provider: ${model.provider}`);
33
- }
34
- const client = createClient(model, apiKey, options?.headers);
35
- let params = buildParams(model, context, options);
36
- const nextParams = await options?.onPayload?.(params, model);
37
- if (nextParams !== undefined) {
38
- params = nextParams;
39
- }
40
- const googleStream = await client.models.generateContentStream(params);
41
- stream.push({ type: "start", partial: output });
42
- let currentBlock = null;
43
- const blocks = output.content;
44
- const blockIndex = () => blocks.length - 1;
45
- for await (const chunk of googleStream) {
46
- // @google/genai documents GenerateContentResponse.responseId as an output-only field
47
- // used to identify each response. Keep the first non-empty one from the stream.
48
- output.responseId ||= chunk.responseId;
49
- const candidate = chunk.candidates?.[0];
50
- if (candidate?.content?.parts) {
51
- for (const part of candidate.content.parts) {
52
- if (part.text !== undefined) {
53
- const isThinking = isThinkingPart(part);
54
- if (!currentBlock ||
55
- (isThinking && currentBlock.type !== "thinking") ||
56
- (!isThinking && currentBlock.type !== "text")) {
57
- if (currentBlock) {
58
- if (currentBlock.type === "text") {
59
- stream.push({
60
- type: "text_end",
61
- contentIndex: blocks.length - 1,
62
- content: currentBlock.text,
63
- partial: output,
64
- });
65
- }
66
- else {
67
- stream.push({
68
- type: "thinking_end",
69
- contentIndex: blockIndex(),
70
- content: currentBlock.thinking,
71
- partial: output,
72
- });
73
- }
74
- }
75
- if (isThinking) {
76
- currentBlock = { type: "thinking", thinking: "", thinkingSignature: undefined };
77
- output.content.push(currentBlock);
78
- stream.push({ type: "thinking_start", contentIndex: blockIndex(), partial: output });
79
- }
80
- else {
81
- currentBlock = { type: "text", text: "" };
82
- output.content.push(currentBlock);
83
- stream.push({ type: "text_start", contentIndex: blockIndex(), partial: output });
84
- }
85
- }
86
- if (currentBlock.type === "thinking") {
87
- currentBlock.thinking += part.text;
88
- currentBlock.thinkingSignature = retainThoughtSignature(currentBlock.thinkingSignature, part.thoughtSignature);
89
- stream.push({
90
- type: "thinking_delta",
91
- contentIndex: blockIndex(),
92
- delta: part.text,
93
- partial: output,
94
- });
95
- }
96
- else {
97
- currentBlock.text += part.text;
98
- currentBlock.textSignature = retainThoughtSignature(currentBlock.textSignature, part.thoughtSignature);
99
- stream.push({
100
- type: "text_delta",
101
- contentIndex: blockIndex(),
102
- delta: part.text,
103
- partial: output,
104
- });
105
- }
106
- }
107
- if (part.functionCall) {
108
- if (currentBlock) {
109
- if (currentBlock.type === "text") {
110
- stream.push({
111
- type: "text_end",
112
- contentIndex: blockIndex(),
113
- content: currentBlock.text,
114
- partial: output,
115
- });
116
- }
117
- else {
118
- stream.push({
119
- type: "thinking_end",
120
- contentIndex: blockIndex(),
121
- content: currentBlock.thinking,
122
- partial: output,
123
- });
124
- }
125
- currentBlock = null;
126
- }
127
- // Generate unique ID if not provided or if it's a duplicate
128
- const providedId = part.functionCall.id;
129
- const needsNewId = !providedId || output.content.some((b) => b.type === "toolCall" && b.id === providedId);
130
- const toolCallId = needsNewId
131
- ? `${part.functionCall.name}_${Date.now()}_${++toolCallCounter}`
132
- : providedId;
133
- const toolCall = {
134
- type: "toolCall",
135
- id: toolCallId,
136
- name: part.functionCall.name || "",
137
- arguments: part.functionCall.args ?? {},
138
- ...(part.thoughtSignature && { thoughtSignature: part.thoughtSignature }),
139
- };
140
- output.content.push(toolCall);
141
- stream.push({ type: "toolcall_start", contentIndex: blockIndex(), partial: output });
142
- stream.push({
143
- type: "toolcall_delta",
144
- contentIndex: blockIndex(),
145
- delta: JSON.stringify(toolCall.arguments),
146
- partial: output,
147
- });
148
- stream.push({ type: "toolcall_end", contentIndex: blockIndex(), toolCall, partial: output });
149
- }
150
- }
151
- }
152
- if (candidate?.finishReason) {
153
- output.stopReason = mapStopReason(candidate.finishReason);
154
- if (output.content.some((b) => b.type === "toolCall")) {
155
- output.stopReason = "toolUse";
156
- }
157
- }
158
- if (chunk.usageMetadata) {
159
- output.usage = {
160
- input: (chunk.usageMetadata.promptTokenCount || 0) - (chunk.usageMetadata.cachedContentTokenCount || 0),
161
- output: (chunk.usageMetadata.candidatesTokenCount || 0) + (chunk.usageMetadata.thoughtsTokenCount || 0),
162
- cacheRead: chunk.usageMetadata.cachedContentTokenCount || 0,
163
- cacheWrite: 0,
164
- totalTokens: chunk.usageMetadata.totalTokenCount || 0,
165
- cost: {
166
- input: 0,
167
- output: 0,
168
- cacheRead: 0,
169
- cacheWrite: 0,
170
- total: 0,
171
- },
172
- };
173
- calculateCost(model, output.usage);
174
- }
175
- }
176
- if (currentBlock) {
177
- if (currentBlock.type === "text") {
178
- stream.push({
179
- type: "text_end",
180
- contentIndex: blockIndex(),
181
- content: currentBlock.text,
182
- partial: output,
183
- });
184
- }
185
- else {
186
- stream.push({
187
- type: "thinking_end",
188
- contentIndex: blockIndex(),
189
- content: currentBlock.thinking,
190
- partial: output,
191
- });
192
- }
193
- }
194
- if (options?.signal?.aborted) {
195
- throw new Error("Request was aborted");
196
- }
197
- if (output.stopReason === "aborted" || output.stopReason === "error") {
198
- throw new Error("An unknown error occurred");
199
- }
200
- stream.push({ type: "done", reason: output.stopReason, message: output });
201
- stream.end();
202
- }
203
- catch (error) {
204
- // Remove internal index property used during streaming
205
- for (const block of output.content) {
206
- if ("index" in block) {
207
- delete block.index;
208
- }
209
- }
210
- output.stopReason = options?.signal?.aborted ? "aborted" : "error";
211
- output.errorMessage = error instanceof Error ? error.message : JSON.stringify(error);
212
- stream.push({ type: "error", reason: output.stopReason, error: output });
213
- stream.end();
214
- }
215
- })();
216
- return stream;
217
- };
218
- export const streamSimpleGoogle = (model, context, options) => {
219
- const apiKey = options?.apiKey;
220
- if (!apiKey) {
221
- throw new Error(`No API key for provider: ${model.provider}`);
222
- }
223
- const base = buildBaseOptions(model, options, apiKey);
224
- if (!options?.reasoning) {
225
- return streamGoogle(model, context, { ...base, thinking: { enabled: false } });
226
- }
227
- const clampedReasoning = clampThinkingLevel(model, options.reasoning);
228
- const effort = (clampedReasoning === "off" ? "high" : clampedReasoning);
229
- const googleModel = model;
230
- if (isGemini3ProModel(googleModel) || isGemini3FlashModel(googleModel) || isGemma4Model(googleModel)) {
231
- return streamGoogle(model, context, {
232
- ...base,
233
- thinking: {
234
- enabled: true,
235
- level: getThinkingLevel(effort, googleModel),
236
- },
237
- });
238
- }
239
- return streamGoogle(model, context, {
240
- ...base,
241
- thinking: {
242
- enabled: true,
243
- budgetTokens: getGoogleBudget(googleModel, effort, options.thinkingBudgets),
244
- },
245
- });
246
- };
247
- function createClient(model, apiKey, optionsHeaders) {
248
- const httpOptions = {};
249
- if (model.baseUrl) {
250
- httpOptions.baseUrl = model.baseUrl;
251
- httpOptions.apiVersion = ""; // baseUrl already includes version path, don't append
252
- }
253
- if (model.headers || optionsHeaders) {
254
- httpOptions.headers = { ...model.headers, ...optionsHeaders };
255
- }
256
- return new GoogleGenAI({
257
- apiKey,
258
- httpOptions: Object.keys(httpOptions).length > 0 ? httpOptions : undefined,
259
- });
260
- }
261
- function buildParams(model, context, options = {}) {
262
- const contents = convertMessages(model, context);
263
- const generationConfig = {};
264
- if (options.temperature !== undefined) {
265
- generationConfig.temperature = options.temperature;
266
- }
267
- if (options.maxTokens !== undefined) {
268
- generationConfig.maxOutputTokens = options.maxTokens;
269
- }
270
- const config = {
271
- ...(Object.keys(generationConfig).length > 0 && generationConfig),
272
- ...(context.systemPrompt && { systemInstruction: sanitizeSurrogates(context.systemPrompt) }),
273
- ...(context.tools && context.tools.length > 0 && { tools: convertTools(context.tools) }),
274
- };
275
- if (context.tools && context.tools.length > 0 && options.toolChoice) {
276
- config.toolConfig = {
277
- functionCallingConfig: {
278
- mode: mapToolChoice(options.toolChoice),
279
- },
280
- };
281
- }
282
- else {
283
- config.toolConfig = undefined;
284
- }
285
- if (options.thinking?.enabled && model.reasoning) {
286
- const thinkingConfig = { includeThoughts: true };
287
- if (options.thinking.level !== undefined) {
288
- // Cast to any since our GoogleThinkingLevel mirrors Google's ThinkingLevel enum values
289
- thinkingConfig.thinkingLevel = options.thinking.level;
290
- }
291
- else if (options.thinking.budgetTokens !== undefined) {
292
- thinkingConfig.thinkingBudget = options.thinking.budgetTokens;
293
- }
294
- config.thinkingConfig = thinkingConfig;
295
- }
296
- else if (model.reasoning && options.thinking && !options.thinking.enabled) {
297
- config.thinkingConfig = getDisabledThinkingConfig(model);
298
- }
299
- if (options.signal) {
300
- if (options.signal.aborted) {
301
- throw new Error("Request aborted");
302
- }
303
- config.abortSignal = options.signal;
304
- }
305
- const params = {
306
- model: model.id,
307
- contents,
308
- config,
309
- };
310
- return params;
311
- }
312
- function isGemma4Model(model) {
313
- return /gemma-?4/.test(model.id.toLowerCase());
314
- }
315
- function isGemini3ProModel(model) {
316
- return /gemini-3(?:\.\d+)?-pro/.test(model.id.toLowerCase());
317
- }
318
- function isGemini3FlashModel(model) {
319
- return /gemini-3(?:\.\d+)?-flash/.test(model.id.toLowerCase());
320
- }
321
- function getDisabledThinkingConfig(model) {
322
- // Google docs: Gemini 3.1 Pro cannot disable thinking, and Gemini 3 Flash / Flash-Lite
323
- // do not support full thinking-off either. For Gemini 3 models, use the lowest supported
324
- // thinkingLevel without includeThoughts so hidden thinking remains invisible to pi.
325
- if (isGemini3ProModel(model)) {
326
- return { thinkingLevel: "LOW" };
327
- }
328
- if (isGemini3FlashModel(model)) {
329
- return { thinkingLevel: "MINIMAL" };
330
- }
331
- if (isGemma4Model(model)) {
332
- return { thinkingLevel: "MINIMAL" };
333
- }
334
- // Gemini 2.x supports disabling via thinkingBudget = 0.
335
- return { thinkingBudget: 0 };
336
- }
337
- function getThinkingLevel(effort, model) {
338
- if (isGemini3ProModel(model)) {
339
- switch (effort) {
340
- case "minimal":
341
- case "low":
342
- return "LOW";
343
- case "medium":
344
- case "high":
345
- return "HIGH";
346
- }
347
- }
348
- if (isGemma4Model(model)) {
349
- switch (effort) {
350
- case "minimal":
351
- case "low":
352
- return "MINIMAL";
353
- case "medium":
354
- case "high":
355
- return "HIGH";
356
- }
357
- }
358
- switch (effort) {
359
- case "minimal":
360
- return "MINIMAL";
361
- case "low":
362
- return "LOW";
363
- case "medium":
364
- return "MEDIUM";
365
- case "high":
366
- return "HIGH";
367
- }
368
- }
369
- function getGoogleBudget(model, effort, customBudgets) {
370
- if (customBudgets?.[effort] !== undefined) {
371
- return customBudgets[effort];
372
- }
373
- if (model.id.includes("2.5-pro")) {
374
- const budgets = {
375
- minimal: 128,
376
- low: 2048,
377
- medium: 8192,
378
- high: 32768,
379
- };
380
- return budgets[effort];
381
- }
382
- if (model.id.includes("2.5-flash-lite")) {
383
- const budgets = {
384
- minimal: 512,
385
- low: 2048,
386
- medium: 8192,
387
- high: 24576,
388
- };
389
- return budgets[effort];
390
- }
391
- if (model.id.includes("2.5-flash")) {
392
- const budgets = {
393
- minimal: 128,
394
- low: 2048,
395
- medium: 8192,
396
- high: 24576,
397
- };
398
- return budgets[effort];
399
- }
400
- return -1;
401
- }
402
- //# sourceMappingURL=google.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"google.js","sourceRoot":"","sources":["../../src/providers/google.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n\ttype GenerateContentConfig,\n\ttype GenerateContentParameters,\n\tGoogleGenAI,\n\ttype ThinkingConfig,\n} from \"@google/genai\";\nimport { calculateCost, clampThinkingLevel } from \"../models.ts\";\nimport type {\n\tApi,\n\tAssistantMessage,\n\tContext,\n\tModel,\n\tSimpleStreamOptions,\n\tStreamFunction,\n\tStreamOptions,\n\tTextContent,\n\tThinkingBudgets,\n\tThinkingContent,\n\tThinkingLevel,\n\tToolCall,\n} from \"../types.ts\";\nimport { AssistantMessageEventStream } from \"../utils/event-stream.ts\";\nimport { sanitizeSurrogates } from \"../utils/sanitize-unicode.ts\";\nimport type { GoogleThinkingLevel } from \"./google-shared.ts\";\nimport {\n\tconvertMessages,\n\tconvertTools,\n\tisThinkingPart,\n\tmapStopReason,\n\tmapToolChoice,\n\tretainThoughtSignature,\n} from \"./google-shared.ts\";\nimport { buildBaseOptions } from \"./simple-options.ts\";\n\nexport interface GoogleOptions extends StreamOptions {\n\ttoolChoice?: \"auto\" | \"none\" | \"any\";\n\tthinking?: {\n\t\tenabled: boolean;\n\t\tbudgetTokens?: number; // -1 for dynamic, 0 to disable\n\t\tlevel?: GoogleThinkingLevel;\n\t};\n}\n\n// Counter for generating unique tool call IDs\nlet toolCallCounter = 0;\n\nexport const streamGoogle: StreamFunction<\"google-generative-ai\", GoogleOptions> = (\n\tmodel: Model<\"google-generative-ai\">,\n\tcontext: Context,\n\toptions?: GoogleOptions,\n): AssistantMessageEventStream => {\n\tconst stream = new AssistantMessageEventStream();\n\n\t(async () => {\n\t\tconst output: AssistantMessage = {\n\t\t\trole: \"assistant\",\n\t\t\tcontent: [],\n\t\t\tapi: \"google-generative-ai\" as Api,\n\t\t\tprovider: model.provider,\n\t\t\tmodel: model.id,\n\t\t\tusage: {\n\t\t\t\tinput: 0,\n\t\t\t\toutput: 0,\n\t\t\t\tcacheRead: 0,\n\t\t\t\tcacheWrite: 0,\n\t\t\t\ttotalTokens: 0,\n\t\t\t\tcost: { input: 0, output: 0, cacheRead: 0, cacheWrite: 0, total: 0 },\n\t\t\t},\n\t\t\tstopReason: \"stop\",\n\t\t\ttimestamp: Date.now(),\n\t\t};\n\n\t\ttry {\n\t\t\tconst apiKey = options?.apiKey;\n\t\t\tif (!apiKey) {\n\t\t\t\tthrow new Error(`No API key for provider: ${model.provider}`);\n\t\t\t}\n\t\t\tconst client = createClient(model, apiKey, options?.headers);\n\t\t\tlet params = buildParams(model, context, options);\n\t\t\tconst nextParams = await options?.onPayload?.(params, model);\n\t\t\tif (nextParams !== undefined) {\n\t\t\t\tparams = nextParams as GenerateContentParameters;\n\t\t\t}\n\t\t\tconst googleStream = await client.models.generateContentStream(params);\n\n\t\t\tstream.push({ type: \"start\", partial: output });\n\t\t\tlet currentBlock: TextContent | ThinkingContent | null = null;\n\t\t\tconst blocks = output.content;\n\t\t\tconst blockIndex = () => blocks.length - 1;\n\t\t\tfor await (const chunk of googleStream) {\n\t\t\t\t// @google/genai documents GenerateContentResponse.responseId as an output-only field\n\t\t\t\t// used to identify each response. Keep the first non-empty one from the stream.\n\t\t\t\toutput.responseId ||= chunk.responseId;\n\t\t\t\tconst candidate = chunk.candidates?.[0];\n\t\t\t\tif (candidate?.content?.parts) {\n\t\t\t\t\tfor (const part of candidate.content.parts) {\n\t\t\t\t\t\tif (part.text !== undefined) {\n\t\t\t\t\t\t\tconst isThinking = isThinkingPart(part);\n\t\t\t\t\t\t\tif (\n\t\t\t\t\t\t\t\t!currentBlock ||\n\t\t\t\t\t\t\t\t(isThinking && currentBlock.type !== \"thinking\") ||\n\t\t\t\t\t\t\t\t(!isThinking && currentBlock.type !== \"text\")\n\t\t\t\t\t\t\t) {\n\t\t\t\t\t\t\t\tif (currentBlock) {\n\t\t\t\t\t\t\t\t\tif (currentBlock.type === \"text\") {\n\t\t\t\t\t\t\t\t\t\tstream.push({\n\t\t\t\t\t\t\t\t\t\t\ttype: \"text_end\",\n\t\t\t\t\t\t\t\t\t\t\tcontentIndex: blocks.length - 1,\n\t\t\t\t\t\t\t\t\t\t\tcontent: currentBlock.text,\n\t\t\t\t\t\t\t\t\t\t\tpartial: output,\n\t\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\t\tstream.push({\n\t\t\t\t\t\t\t\t\t\t\ttype: \"thinking_end\",\n\t\t\t\t\t\t\t\t\t\t\tcontentIndex: blockIndex(),\n\t\t\t\t\t\t\t\t\t\t\tcontent: currentBlock.thinking,\n\t\t\t\t\t\t\t\t\t\t\tpartial: output,\n\t\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tif (isThinking) {\n\t\t\t\t\t\t\t\t\tcurrentBlock = { type: \"thinking\", thinking: \"\", thinkingSignature: undefined };\n\t\t\t\t\t\t\t\t\toutput.content.push(currentBlock);\n\t\t\t\t\t\t\t\t\tstream.push({ type: \"thinking_start\", contentIndex: blockIndex(), partial: output });\n\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\tcurrentBlock = { type: \"text\", text: \"\" };\n\t\t\t\t\t\t\t\t\toutput.content.push(currentBlock);\n\t\t\t\t\t\t\t\t\tstream.push({ type: \"text_start\", contentIndex: blockIndex(), partial: output });\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tif (currentBlock.type === \"thinking\") {\n\t\t\t\t\t\t\t\tcurrentBlock.thinking += part.text;\n\t\t\t\t\t\t\t\tcurrentBlock.thinkingSignature = retainThoughtSignature(\n\t\t\t\t\t\t\t\t\tcurrentBlock.thinkingSignature,\n\t\t\t\t\t\t\t\t\tpart.thoughtSignature,\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\tstream.push({\n\t\t\t\t\t\t\t\t\ttype: \"thinking_delta\",\n\t\t\t\t\t\t\t\t\tcontentIndex: blockIndex(),\n\t\t\t\t\t\t\t\t\tdelta: part.text,\n\t\t\t\t\t\t\t\t\tpartial: output,\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\tcurrentBlock.text += part.text;\n\t\t\t\t\t\t\t\tcurrentBlock.textSignature = retainThoughtSignature(\n\t\t\t\t\t\t\t\t\tcurrentBlock.textSignature,\n\t\t\t\t\t\t\t\t\tpart.thoughtSignature,\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\tstream.push({\n\t\t\t\t\t\t\t\t\ttype: \"text_delta\",\n\t\t\t\t\t\t\t\t\tcontentIndex: blockIndex(),\n\t\t\t\t\t\t\t\t\tdelta: part.text,\n\t\t\t\t\t\t\t\t\tpartial: output,\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tif (part.functionCall) {\n\t\t\t\t\t\t\tif (currentBlock) {\n\t\t\t\t\t\t\t\tif (currentBlock.type === \"text\") {\n\t\t\t\t\t\t\t\t\tstream.push({\n\t\t\t\t\t\t\t\t\t\ttype: \"text_end\",\n\t\t\t\t\t\t\t\t\t\tcontentIndex: blockIndex(),\n\t\t\t\t\t\t\t\t\t\tcontent: currentBlock.text,\n\t\t\t\t\t\t\t\t\t\tpartial: output,\n\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\tstream.push({\n\t\t\t\t\t\t\t\t\t\ttype: \"thinking_end\",\n\t\t\t\t\t\t\t\t\t\tcontentIndex: blockIndex(),\n\t\t\t\t\t\t\t\t\t\tcontent: currentBlock.thinking,\n\t\t\t\t\t\t\t\t\t\tpartial: output,\n\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tcurrentBlock = null;\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t// Generate unique ID if not provided or if it's a duplicate\n\t\t\t\t\t\t\tconst providedId = part.functionCall.id;\n\t\t\t\t\t\t\tconst needsNewId =\n\t\t\t\t\t\t\t\t!providedId || output.content.some((b) => b.type === \"toolCall\" && b.id === providedId);\n\t\t\t\t\t\t\tconst toolCallId = needsNewId\n\t\t\t\t\t\t\t\t? `${part.functionCall.name}_${Date.now()}_${++toolCallCounter}`\n\t\t\t\t\t\t\t\t: providedId;\n\n\t\t\t\t\t\t\tconst toolCall: ToolCall = {\n\t\t\t\t\t\t\t\ttype: \"toolCall\",\n\t\t\t\t\t\t\t\tid: toolCallId,\n\t\t\t\t\t\t\t\tname: part.functionCall.name || \"\",\n\t\t\t\t\t\t\t\targuments: (part.functionCall.args as Record<string, any>) ?? {},\n\t\t\t\t\t\t\t\t...(part.thoughtSignature && { thoughtSignature: part.thoughtSignature }),\n\t\t\t\t\t\t\t};\n\n\t\t\t\t\t\t\toutput.content.push(toolCall);\n\t\t\t\t\t\t\tstream.push({ type: \"toolcall_start\", contentIndex: blockIndex(), partial: output });\n\t\t\t\t\t\t\tstream.push({\n\t\t\t\t\t\t\t\ttype: \"toolcall_delta\",\n\t\t\t\t\t\t\t\tcontentIndex: blockIndex(),\n\t\t\t\t\t\t\t\tdelta: JSON.stringify(toolCall.arguments),\n\t\t\t\t\t\t\t\tpartial: output,\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\tstream.push({ type: \"toolcall_end\", contentIndex: blockIndex(), toolCall, partial: output });\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tif (candidate?.finishReason) {\n\t\t\t\t\toutput.stopReason = mapStopReason(candidate.finishReason);\n\t\t\t\t\tif (output.content.some((b) => b.type === \"toolCall\")) {\n\t\t\t\t\t\toutput.stopReason = \"toolUse\";\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tif (chunk.usageMetadata) {\n\t\t\t\t\toutput.usage = {\n\t\t\t\t\t\tinput:\n\t\t\t\t\t\t\t(chunk.usageMetadata.promptTokenCount || 0) - (chunk.usageMetadata.cachedContentTokenCount || 0),\n\t\t\t\t\t\toutput:\n\t\t\t\t\t\t\t(chunk.usageMetadata.candidatesTokenCount || 0) + (chunk.usageMetadata.thoughtsTokenCount || 0),\n\t\t\t\t\t\tcacheRead: chunk.usageMetadata.cachedContentTokenCount || 0,\n\t\t\t\t\t\tcacheWrite: 0,\n\t\t\t\t\t\ttotalTokens: chunk.usageMetadata.totalTokenCount || 0,\n\t\t\t\t\t\tcost: {\n\t\t\t\t\t\t\tinput: 0,\n\t\t\t\t\t\t\toutput: 0,\n\t\t\t\t\t\t\tcacheRead: 0,\n\t\t\t\t\t\t\tcacheWrite: 0,\n\t\t\t\t\t\t\ttotal: 0,\n\t\t\t\t\t\t},\n\t\t\t\t\t};\n\t\t\t\t\tcalculateCost(model, output.usage);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (currentBlock) {\n\t\t\t\tif (currentBlock.type === \"text\") {\n\t\t\t\t\tstream.push({\n\t\t\t\t\t\ttype: \"text_end\",\n\t\t\t\t\t\tcontentIndex: blockIndex(),\n\t\t\t\t\t\tcontent: currentBlock.text,\n\t\t\t\t\t\tpartial: output,\n\t\t\t\t\t});\n\t\t\t\t} else {\n\t\t\t\t\tstream.push({\n\t\t\t\t\t\ttype: \"thinking_end\",\n\t\t\t\t\t\tcontentIndex: blockIndex(),\n\t\t\t\t\t\tcontent: currentBlock.thinking,\n\t\t\t\t\t\tpartial: output,\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (options?.signal?.aborted) {\n\t\t\t\tthrow new Error(\"Request was aborted\");\n\t\t\t}\n\n\t\t\tif (output.stopReason === \"aborted\" || output.stopReason === \"error\") {\n\t\t\t\tthrow new Error(\"An unknown error occurred\");\n\t\t\t}\n\n\t\t\tstream.push({ type: \"done\", reason: output.stopReason, message: output });\n\t\t\tstream.end();\n\t\t} catch (error) {\n\t\t\t// Remove internal index property used during streaming\n\t\t\tfor (const block of output.content) {\n\t\t\t\tif (\"index\" in block) {\n\t\t\t\t\tdelete (block as { index?: number }).index;\n\t\t\t\t}\n\t\t\t}\n\t\t\toutput.stopReason = options?.signal?.aborted ? \"aborted\" : \"error\";\n\t\t\toutput.errorMessage = error instanceof Error ? error.message : JSON.stringify(error);\n\t\t\tstream.push({ type: \"error\", reason: output.stopReason, error: output });\n\t\t\tstream.end();\n\t\t}\n\t})();\n\n\treturn stream;\n};\n\nexport const streamSimpleGoogle: StreamFunction<\"google-generative-ai\", SimpleStreamOptions> = (\n\tmodel: Model<\"google-generative-ai\">,\n\tcontext: Context,\n\toptions?: SimpleStreamOptions,\n): AssistantMessageEventStream => {\n\tconst apiKey = options?.apiKey;\n\tif (!apiKey) {\n\t\tthrow new Error(`No API key for provider: ${model.provider}`);\n\t}\n\n\tconst base = buildBaseOptions(model, options, apiKey);\n\tif (!options?.reasoning) {\n\t\treturn streamGoogle(model, context, { ...base, thinking: { enabled: false } } satisfies GoogleOptions);\n\t}\n\n\tconst clampedReasoning = clampThinkingLevel(model, options.reasoning);\n\tconst effort = (clampedReasoning === \"off\" ? \"high\" : clampedReasoning) as ClampedThinkingLevel;\n\tconst googleModel = model as Model<\"google-generative-ai\">;\n\n\tif (isGemini3ProModel(googleModel) || isGemini3FlashModel(googleModel) || isGemma4Model(googleModel)) {\n\t\treturn streamGoogle(model, context, {\n\t\t\t...base,\n\t\t\tthinking: {\n\t\t\t\tenabled: true,\n\t\t\t\tlevel: getThinkingLevel(effort, googleModel),\n\t\t\t},\n\t\t} satisfies GoogleOptions);\n\t}\n\n\treturn streamGoogle(model, context, {\n\t\t...base,\n\t\tthinking: {\n\t\t\tenabled: true,\n\t\t\tbudgetTokens: getGoogleBudget(googleModel, effort, options.thinkingBudgets),\n\t\t},\n\t} satisfies GoogleOptions);\n};\n\nfunction createClient(\n\tmodel: Model<\"google-generative-ai\">,\n\tapiKey?: string,\n\toptionsHeaders?: Record<string, string>,\n): GoogleGenAI {\n\tconst httpOptions: { baseUrl?: string; apiVersion?: string; headers?: Record<string, string> } = {};\n\tif (model.baseUrl) {\n\t\thttpOptions.baseUrl = model.baseUrl;\n\t\thttpOptions.apiVersion = \"\"; // baseUrl already includes version path, don't append\n\t}\n\tif (model.headers || optionsHeaders) {\n\t\thttpOptions.headers = { ...model.headers, ...optionsHeaders };\n\t}\n\n\treturn new GoogleGenAI({\n\t\tapiKey,\n\t\thttpOptions: Object.keys(httpOptions).length > 0 ? httpOptions : undefined,\n\t});\n}\n\nfunction buildParams(\n\tmodel: Model<\"google-generative-ai\">,\n\tcontext: Context,\n\toptions: GoogleOptions = {},\n): GenerateContentParameters {\n\tconst contents = convertMessages(model, context);\n\n\tconst generationConfig: GenerateContentConfig = {};\n\tif (options.temperature !== undefined) {\n\t\tgenerationConfig.temperature = options.temperature;\n\t}\n\tif (options.maxTokens !== undefined) {\n\t\tgenerationConfig.maxOutputTokens = options.maxTokens;\n\t}\n\n\tconst config: GenerateContentConfig = {\n\t\t...(Object.keys(generationConfig).length > 0 && generationConfig),\n\t\t...(context.systemPrompt && { systemInstruction: sanitizeSurrogates(context.systemPrompt) }),\n\t\t...(context.tools && context.tools.length > 0 && { tools: convertTools(context.tools) }),\n\t};\n\n\tif (context.tools && context.tools.length > 0 && options.toolChoice) {\n\t\tconfig.toolConfig = {\n\t\t\tfunctionCallingConfig: {\n\t\t\t\tmode: mapToolChoice(options.toolChoice),\n\t\t\t},\n\t\t};\n\t} else {\n\t\tconfig.toolConfig = undefined;\n\t}\n\n\tif (options.thinking?.enabled && model.reasoning) {\n\t\tconst thinkingConfig: ThinkingConfig = { includeThoughts: true };\n\t\tif (options.thinking.level !== undefined) {\n\t\t\t// Cast to any since our GoogleThinkingLevel mirrors Google's ThinkingLevel enum values\n\t\t\tthinkingConfig.thinkingLevel = options.thinking.level as any;\n\t\t} else if (options.thinking.budgetTokens !== undefined) {\n\t\t\tthinkingConfig.thinkingBudget = options.thinking.budgetTokens;\n\t\t}\n\t\tconfig.thinkingConfig = thinkingConfig;\n\t} else if (model.reasoning && options.thinking && !options.thinking.enabled) {\n\t\tconfig.thinkingConfig = getDisabledThinkingConfig(model);\n\t}\n\n\tif (options.signal) {\n\t\tif (options.signal.aborted) {\n\t\t\tthrow new Error(\"Request aborted\");\n\t\t}\n\t\tconfig.abortSignal = options.signal;\n\t}\n\n\tconst params: GenerateContentParameters = {\n\t\tmodel: model.id,\n\t\tcontents,\n\t\tconfig,\n\t};\n\n\treturn params;\n}\n\ntype ClampedThinkingLevel = Exclude<ThinkingLevel, \"xhigh\">;\n\nfunction isGemma4Model(model: Model<\"google-generative-ai\">): boolean {\n\treturn /gemma-?4/.test(model.id.toLowerCase());\n}\n\nfunction isGemini3ProModel(model: Model<\"google-generative-ai\">): boolean {\n\treturn /gemini-3(?:\\.\\d+)?-pro/.test(model.id.toLowerCase());\n}\n\nfunction isGemini3FlashModel(model: Model<\"google-generative-ai\">): boolean {\n\treturn /gemini-3(?:\\.\\d+)?-flash/.test(model.id.toLowerCase());\n}\n\nfunction getDisabledThinkingConfig(model: Model<\"google-generative-ai\">): ThinkingConfig {\n\t// Google docs: Gemini 3.1 Pro cannot disable thinking, and Gemini 3 Flash / Flash-Lite\n\t// do not support full thinking-off either. For Gemini 3 models, use the lowest supported\n\t// thinkingLevel without includeThoughts so hidden thinking remains invisible to pi.\n\tif (isGemini3ProModel(model)) {\n\t\treturn { thinkingLevel: \"LOW\" as any };\n\t}\n\tif (isGemini3FlashModel(model)) {\n\t\treturn { thinkingLevel: \"MINIMAL\" as any };\n\t}\n\tif (isGemma4Model(model)) {\n\t\treturn { thinkingLevel: \"MINIMAL\" as any };\n\t}\n\n\t// Gemini 2.x supports disabling via thinkingBudget = 0.\n\treturn { thinkingBudget: 0 };\n}\n\nfunction getThinkingLevel(effort: ClampedThinkingLevel, model: Model<\"google-generative-ai\">): GoogleThinkingLevel {\n\tif (isGemini3ProModel(model)) {\n\t\tswitch (effort) {\n\t\t\tcase \"minimal\":\n\t\t\tcase \"low\":\n\t\t\t\treturn \"LOW\";\n\t\t\tcase \"medium\":\n\t\t\tcase \"high\":\n\t\t\t\treturn \"HIGH\";\n\t\t}\n\t}\n\tif (isGemma4Model(model)) {\n\t\tswitch (effort) {\n\t\t\tcase \"minimal\":\n\t\t\tcase \"low\":\n\t\t\t\treturn \"MINIMAL\";\n\t\t\tcase \"medium\":\n\t\t\tcase \"high\":\n\t\t\t\treturn \"HIGH\";\n\t\t}\n\t}\n\tswitch (effort) {\n\t\tcase \"minimal\":\n\t\t\treturn \"MINIMAL\";\n\t\tcase \"low\":\n\t\t\treturn \"LOW\";\n\t\tcase \"medium\":\n\t\t\treturn \"MEDIUM\";\n\t\tcase \"high\":\n\t\t\treturn \"HIGH\";\n\t}\n}\n\nfunction getGoogleBudget(\n\tmodel: Model<\"google-generative-ai\">,\n\teffort: ClampedThinkingLevel,\n\tcustomBudgets?: ThinkingBudgets,\n): number {\n\tif (customBudgets?.[effort] !== undefined) {\n\t\treturn customBudgets[effort]!;\n\t}\n\n\tif (model.id.includes(\"2.5-pro\")) {\n\t\tconst budgets: Record<ClampedThinkingLevel, number> = {\n\t\t\tminimal: 128,\n\t\t\tlow: 2048,\n\t\t\tmedium: 8192,\n\t\t\thigh: 32768,\n\t\t};\n\t\treturn budgets[effort];\n\t}\n\n\tif (model.id.includes(\"2.5-flash-lite\")) {\n\t\tconst budgets: Record<ClampedThinkingLevel, number> = {\n\t\t\tminimal: 512,\n\t\t\tlow: 2048,\n\t\t\tmedium: 8192,\n\t\t\thigh: 24576,\n\t\t};\n\t\treturn budgets[effort];\n\t}\n\n\tif (model.id.includes(\"2.5-flash\")) {\n\t\tconst budgets: Record<ClampedThinkingLevel, number> = {\n\t\t\tminimal: 128,\n\t\t\tlow: 2048,\n\t\t\tmedium: 8192,\n\t\t\thigh: 24576,\n\t\t};\n\t\treturn budgets[effort];\n\t}\n\n\treturn -1;\n}\n"]}
@@ -1,3 +0,0 @@
1
- import type { ImagesFunction, ImagesOptions } from "../../types.ts";
2
- export declare const generateImagesOpenRouter: ImagesFunction<"openrouter-images", ImagesOptions>;
3
- //# sourceMappingURL=openrouter.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"openrouter.d.ts","sourceRoot":"","sources":["../../../src/providers/images/openrouter.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAIX,cAAc,EAEd,aAAa,EAEb,MAAM,gBAAgB,CAAC;AAoBxB,eAAO,MAAM,wBAAwB,EAAE,cAAc,CAAC,mBAAmB,EAAE,aAAa,CAmEvF,CAAC","sourcesContent":["import OpenAI from \"openai\";\nimport type {\n\tChatCompletion,\n\tChatCompletionContentPart,\n\tChatCompletionContentPartImage,\n\tChatCompletionContentPartText,\n\tChatCompletionCreateParamsNonStreaming,\n} from \"openai/resources/chat/completions.js\";\nimport type {\n\tAssistantImages,\n\tImageContent,\n\tImagesContext,\n\tImagesFunction,\n\tImagesModel,\n\tImagesOptions,\n\tTextContent,\n} from \"../../types.ts\";\nimport { headersToRecord } from \"../../utils/headers.ts\";\nimport { sanitizeSurrogates } from \"../../utils/sanitize-unicode.ts\";\n\ninterface OpenRouterGeneratedImage {\n\timage_url?: string | { url?: string };\n}\n\ntype OpenRouterImageGenerationMessage = ChatCompletion[\"choices\"][number][\"message\"] & {\n\timages?: OpenRouterGeneratedImage[];\n};\n\ntype OpenRouterImageGenerationChoice = ChatCompletion[\"choices\"][number] & {\n\tmessage: OpenRouterImageGenerationMessage;\n};\n\ntype OpenRouterImageGenerationResponse = ChatCompletion & {\n\tchoices: OpenRouterImageGenerationChoice[];\n};\n\nexport const generateImagesOpenRouter: ImagesFunction<\"openrouter-images\", ImagesOptions> = async (\n\tmodel: ImagesModel<\"openrouter-images\">,\n\tcontext: ImagesContext,\n\toptions?: ImagesOptions,\n) => {\n\tconst output: AssistantImages = {\n\t\tapi: model.api,\n\t\tprovider: model.provider,\n\t\tmodel: model.id,\n\t\toutput: [],\n\t\tstopReason: \"stop\",\n\t\ttimestamp: Date.now(),\n\t};\n\n\ttry {\n\t\tconst apiKey = options?.apiKey;\n\t\tif (!apiKey) {\n\t\t\tthrow new Error(`No API key for provider: ${model.provider}`);\n\t\t}\n\t\tconst client = createClient(model, apiKey, options?.headers);\n\t\tlet params = buildParams(model, context);\n\t\tconst nextParams = await options?.onPayload?.(params, model);\n\t\tif (nextParams !== undefined) {\n\t\t\tparams = nextParams as typeof params;\n\t\t}\n\t\tconst requestOptions = {\n\t\t\t...(options?.signal ? { signal: options.signal } : {}),\n\t\t\t...(options?.timeoutMs !== undefined ? { timeout: options.timeoutMs } : {}),\n\t\t\tmaxRetries: options?.maxRetries ?? 0,\n\t\t};\n\t\tconst { data: response, response: rawResponse } = await client.chat.completions\n\t\t\t.create(params as unknown as ChatCompletionCreateParamsNonStreaming, requestOptions)\n\t\t\t.withResponse();\n\t\tawait options?.onResponse?.({ status: rawResponse.status, headers: headersToRecord(rawResponse.headers) }, model);\n\n\t\tconst imageResponse = response as OpenRouterImageGenerationResponse;\n\t\toutput.responseId = imageResponse.id;\n\t\tif (imageResponse.usage) {\n\t\t\toutput.usage = parseUsage(imageResponse.usage, model);\n\t\t}\n\n\t\tconst choice = imageResponse.choices[0];\n\t\tif (choice) {\n\t\t\tconst content = choice.message.content;\n\t\t\tif (typeof content === \"string\" && content.length > 0) {\n\t\t\t\toutput.output.push({ type: \"text\", text: content } satisfies TextContent);\n\t\t\t}\n\n\t\t\tfor (const image of choice.message.images ?? []) {\n\t\t\t\tconst imageUrl = typeof image.image_url === \"string\" ? image.image_url : image.image_url?.url;\n\t\t\t\tif (!imageUrl?.startsWith(\"data:\")) continue;\n\t\t\t\tconst matches = imageUrl.match(/^data:([^;]+);base64,(.+)$/);\n\t\t\t\tif (!matches) continue;\n\t\t\t\toutput.output.push({\n\t\t\t\t\ttype: \"image\",\n\t\t\t\t\tmimeType: matches[1],\n\t\t\t\t\tdata: matches[2],\n\t\t\t\t} satisfies ImageContent);\n\t\t\t}\n\t\t}\n\n\t\treturn output;\n\t} catch (error) {\n\t\toutput.stopReason = options?.signal?.aborted ? \"aborted\" : \"error\";\n\t\toutput.errorMessage = error instanceof Error ? error.message : JSON.stringify(error);\n\t\treturn output;\n\t}\n};\n\nfunction createClient(\n\tmodel: ImagesModel<\"openrouter-images\">,\n\tapiKey: string,\n\toptionsHeaders?: Record<string, string>,\n): OpenAI {\n\treturn new OpenAI({\n\t\tapiKey,\n\t\tbaseURL: model.baseUrl,\n\t\tdangerouslyAllowBrowser: true,\n\t\tdefaultHeaders: {\n\t\t\t...model.headers,\n\t\t\t...optionsHeaders,\n\t\t},\n\t});\n}\n\ntype OpenRouterImagesCreateParams = Omit<ChatCompletionCreateParamsNonStreaming, \"modalities\"> & {\n\tmodalities: Array<\"image\" | \"text\">;\n};\n\nfunction buildParams(model: ImagesModel<\"openrouter-images\">, context: ImagesContext): OpenRouterImagesCreateParams {\n\tconst content: ChatCompletionContentPart[] = context.input.map((item): ChatCompletionContentPart => {\n\t\tif (item.type === \"text\") {\n\t\t\treturn {\n\t\t\t\ttype: \"text\",\n\t\t\t\ttext: sanitizeSurrogates(item.text),\n\t\t\t} satisfies ChatCompletionContentPartText;\n\t\t}\n\t\treturn {\n\t\t\ttype: \"image_url\",\n\t\t\timage_url: {\n\t\t\t\turl: `data:${item.mimeType};base64,${item.data}`,\n\t\t\t},\n\t\t} satisfies ChatCompletionContentPartImage;\n\t});\n\n\treturn {\n\t\tmodel: model.id,\n\t\tmessages: [\n\t\t\t{\n\t\t\t\trole: \"user\" as const,\n\t\t\t\tcontent,\n\t\t\t},\n\t\t],\n\t\tstream: false,\n\t\tmodalities: model.output.includes(\"text\") ? [\"image\", \"text\"] : [\"image\"],\n\t};\n}\n\nfunction parseUsage(\n\trawUsage: {\n\t\tprompt_tokens?: number;\n\t\tcompletion_tokens?: number;\n\t\tprompt_tokens_details?: { cached_tokens?: number; cache_write_tokens?: number };\n\t},\n\tmodel: ImagesModel<\"openrouter-images\">,\n) {\n\tconst promptTokens = rawUsage.prompt_tokens || 0;\n\tconst reportedCachedTokens = rawUsage.prompt_tokens_details?.cached_tokens || 0;\n\tconst cacheWriteTokens = rawUsage.prompt_tokens_details?.cache_write_tokens || 0;\n\tconst cacheReadTokens =\n\t\tcacheWriteTokens > 0 ? Math.max(0, reportedCachedTokens - cacheWriteTokens) : reportedCachedTokens;\n\tconst input = Math.max(0, promptTokens - cacheReadTokens - cacheWriteTokens);\n\tconst output = rawUsage.completion_tokens || 0;\n\tconst usage = {\n\t\tinput,\n\t\toutput,\n\t\tcacheRead: cacheReadTokens,\n\t\tcacheWrite: cacheWriteTokens,\n\t\ttotalTokens: input + output + cacheReadTokens + cacheWriteTokens,\n\t\tcost: {\n\t\t\tinput: (model.cost.input / 1000000) * input,\n\t\t\toutput: (model.cost.output / 1000000) * output,\n\t\t\tcacheRead: (model.cost.cacheRead / 1000000) * cacheReadTokens,\n\t\t\tcacheWrite: (model.cost.cacheWrite / 1000000) * cacheWriteTokens,\n\t\t\ttotal: 0,\n\t\t},\n\t};\n\tusage.cost.total = usage.cost.input + usage.cost.output + usage.cost.cacheRead + usage.cost.cacheWrite;\n\treturn usage;\n}\n"]}
@@ -1,128 +0,0 @@
1
- import OpenAI from "openai";
2
- import { headersToRecord } from "../../utils/headers.js";
3
- import { sanitizeSurrogates } from "../../utils/sanitize-unicode.js";
4
- export const generateImagesOpenRouter = async (model, context, options) => {
5
- const output = {
6
- api: model.api,
7
- provider: model.provider,
8
- model: model.id,
9
- output: [],
10
- stopReason: "stop",
11
- timestamp: Date.now(),
12
- };
13
- try {
14
- const apiKey = options?.apiKey;
15
- if (!apiKey) {
16
- throw new Error(`No API key for provider: ${model.provider}`);
17
- }
18
- const client = createClient(model, apiKey, options?.headers);
19
- let params = buildParams(model, context);
20
- const nextParams = await options?.onPayload?.(params, model);
21
- if (nextParams !== undefined) {
22
- params = nextParams;
23
- }
24
- const requestOptions = {
25
- ...(options?.signal ? { signal: options.signal } : {}),
26
- ...(options?.timeoutMs !== undefined ? { timeout: options.timeoutMs } : {}),
27
- maxRetries: options?.maxRetries ?? 0,
28
- };
29
- const { data: response, response: rawResponse } = await client.chat.completions
30
- .create(params, requestOptions)
31
- .withResponse();
32
- await options?.onResponse?.({ status: rawResponse.status, headers: headersToRecord(rawResponse.headers) }, model);
33
- const imageResponse = response;
34
- output.responseId = imageResponse.id;
35
- if (imageResponse.usage) {
36
- output.usage = parseUsage(imageResponse.usage, model);
37
- }
38
- const choice = imageResponse.choices[0];
39
- if (choice) {
40
- const content = choice.message.content;
41
- if (typeof content === "string" && content.length > 0) {
42
- output.output.push({ type: "text", text: content });
43
- }
44
- for (const image of choice.message.images ?? []) {
45
- const imageUrl = typeof image.image_url === "string" ? image.image_url : image.image_url?.url;
46
- if (!imageUrl?.startsWith("data:"))
47
- continue;
48
- const matches = imageUrl.match(/^data:([^;]+);base64,(.+)$/);
49
- if (!matches)
50
- continue;
51
- output.output.push({
52
- type: "image",
53
- mimeType: matches[1],
54
- data: matches[2],
55
- });
56
- }
57
- }
58
- return output;
59
- }
60
- catch (error) {
61
- output.stopReason = options?.signal?.aborted ? "aborted" : "error";
62
- output.errorMessage = error instanceof Error ? error.message : JSON.stringify(error);
63
- return output;
64
- }
65
- };
66
- function createClient(model, apiKey, optionsHeaders) {
67
- return new OpenAI({
68
- apiKey,
69
- baseURL: model.baseUrl,
70
- dangerouslyAllowBrowser: true,
71
- defaultHeaders: {
72
- ...model.headers,
73
- ...optionsHeaders,
74
- },
75
- });
76
- }
77
- function buildParams(model, context) {
78
- const content = context.input.map((item) => {
79
- if (item.type === "text") {
80
- return {
81
- type: "text",
82
- text: sanitizeSurrogates(item.text),
83
- };
84
- }
85
- return {
86
- type: "image_url",
87
- image_url: {
88
- url: `data:${item.mimeType};base64,${item.data}`,
89
- },
90
- };
91
- });
92
- return {
93
- model: model.id,
94
- messages: [
95
- {
96
- role: "user",
97
- content,
98
- },
99
- ],
100
- stream: false,
101
- modalities: model.output.includes("text") ? ["image", "text"] : ["image"],
102
- };
103
- }
104
- function parseUsage(rawUsage, model) {
105
- const promptTokens = rawUsage.prompt_tokens || 0;
106
- const reportedCachedTokens = rawUsage.prompt_tokens_details?.cached_tokens || 0;
107
- const cacheWriteTokens = rawUsage.prompt_tokens_details?.cache_write_tokens || 0;
108
- const cacheReadTokens = cacheWriteTokens > 0 ? Math.max(0, reportedCachedTokens - cacheWriteTokens) : reportedCachedTokens;
109
- const input = Math.max(0, promptTokens - cacheReadTokens - cacheWriteTokens);
110
- const output = rawUsage.completion_tokens || 0;
111
- const usage = {
112
- input,
113
- output,
114
- cacheRead: cacheReadTokens,
115
- cacheWrite: cacheWriteTokens,
116
- totalTokens: input + output + cacheReadTokens + cacheWriteTokens,
117
- cost: {
118
- input: (model.cost.input / 1000000) * input,
119
- output: (model.cost.output / 1000000) * output,
120
- cacheRead: (model.cost.cacheRead / 1000000) * cacheReadTokens,
121
- cacheWrite: (model.cost.cacheWrite / 1000000) * cacheWriteTokens,
122
- total: 0,
123
- },
124
- };
125
- usage.cost.total = usage.cost.input + usage.cost.output + usage.cost.cacheRead + usage.cost.cacheWrite;
126
- return usage;
127
- }
128
- //# sourceMappingURL=openrouter.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"openrouter.js","sourceRoot":"","sources":["../../../src/providers/images/openrouter.ts"],"names":[],"mappings":"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","sourcesContent":["import OpenAI from \"openai\";\nimport type {\n\tChatCompletion,\n\tChatCompletionContentPart,\n\tChatCompletionContentPartImage,\n\tChatCompletionContentPartText,\n\tChatCompletionCreateParamsNonStreaming,\n} from \"openai/resources/chat/completions.js\";\nimport type {\n\tAssistantImages,\n\tImageContent,\n\tImagesContext,\n\tImagesFunction,\n\tImagesModel,\n\tImagesOptions,\n\tTextContent,\n} from \"../../types.ts\";\nimport { headersToRecord } from \"../../utils/headers.ts\";\nimport { sanitizeSurrogates } from \"../../utils/sanitize-unicode.ts\";\n\ninterface OpenRouterGeneratedImage {\n\timage_url?: string | { url?: string };\n}\n\ntype OpenRouterImageGenerationMessage = ChatCompletion[\"choices\"][number][\"message\"] & {\n\timages?: OpenRouterGeneratedImage[];\n};\n\ntype OpenRouterImageGenerationChoice = ChatCompletion[\"choices\"][number] & {\n\tmessage: OpenRouterImageGenerationMessage;\n};\n\ntype OpenRouterImageGenerationResponse = ChatCompletion & {\n\tchoices: OpenRouterImageGenerationChoice[];\n};\n\nexport const generateImagesOpenRouter: ImagesFunction<\"openrouter-images\", ImagesOptions> = async (\n\tmodel: ImagesModel<\"openrouter-images\">,\n\tcontext: ImagesContext,\n\toptions?: ImagesOptions,\n) => {\n\tconst output: AssistantImages = {\n\t\tapi: model.api,\n\t\tprovider: model.provider,\n\t\tmodel: model.id,\n\t\toutput: [],\n\t\tstopReason: \"stop\",\n\t\ttimestamp: Date.now(),\n\t};\n\n\ttry {\n\t\tconst apiKey = options?.apiKey;\n\t\tif (!apiKey) {\n\t\t\tthrow new Error(`No API key for provider: ${model.provider}`);\n\t\t}\n\t\tconst client = createClient(model, apiKey, options?.headers);\n\t\tlet params = buildParams(model, context);\n\t\tconst nextParams = await options?.onPayload?.(params, model);\n\t\tif (nextParams !== undefined) {\n\t\t\tparams = nextParams as typeof params;\n\t\t}\n\t\tconst requestOptions = {\n\t\t\t...(options?.signal ? { signal: options.signal } : {}),\n\t\t\t...(options?.timeoutMs !== undefined ? { timeout: options.timeoutMs } : {}),\n\t\t\tmaxRetries: options?.maxRetries ?? 0,\n\t\t};\n\t\tconst { data: response, response: rawResponse } = await client.chat.completions\n\t\t\t.create(params as unknown as ChatCompletionCreateParamsNonStreaming, requestOptions)\n\t\t\t.withResponse();\n\t\tawait options?.onResponse?.({ status: rawResponse.status, headers: headersToRecord(rawResponse.headers) }, model);\n\n\t\tconst imageResponse = response as OpenRouterImageGenerationResponse;\n\t\toutput.responseId = imageResponse.id;\n\t\tif (imageResponse.usage) {\n\t\t\toutput.usage = parseUsage(imageResponse.usage, model);\n\t\t}\n\n\t\tconst choice = imageResponse.choices[0];\n\t\tif (choice) {\n\t\t\tconst content = choice.message.content;\n\t\t\tif (typeof content === \"string\" && content.length > 0) {\n\t\t\t\toutput.output.push({ type: \"text\", text: content } satisfies TextContent);\n\t\t\t}\n\n\t\t\tfor (const image of choice.message.images ?? []) {\n\t\t\t\tconst imageUrl = typeof image.image_url === \"string\" ? image.image_url : image.image_url?.url;\n\t\t\t\tif (!imageUrl?.startsWith(\"data:\")) continue;\n\t\t\t\tconst matches = imageUrl.match(/^data:([^;]+);base64,(.+)$/);\n\t\t\t\tif (!matches) continue;\n\t\t\t\toutput.output.push({\n\t\t\t\t\ttype: \"image\",\n\t\t\t\t\tmimeType: matches[1],\n\t\t\t\t\tdata: matches[2],\n\t\t\t\t} satisfies ImageContent);\n\t\t\t}\n\t\t}\n\n\t\treturn output;\n\t} catch (error) {\n\t\toutput.stopReason = options?.signal?.aborted ? \"aborted\" : \"error\";\n\t\toutput.errorMessage = error instanceof Error ? error.message : JSON.stringify(error);\n\t\treturn output;\n\t}\n};\n\nfunction createClient(\n\tmodel: ImagesModel<\"openrouter-images\">,\n\tapiKey: string,\n\toptionsHeaders?: Record<string, string>,\n): OpenAI {\n\treturn new OpenAI({\n\t\tapiKey,\n\t\tbaseURL: model.baseUrl,\n\t\tdangerouslyAllowBrowser: true,\n\t\tdefaultHeaders: {\n\t\t\t...model.headers,\n\t\t\t...optionsHeaders,\n\t\t},\n\t});\n}\n\ntype OpenRouterImagesCreateParams = Omit<ChatCompletionCreateParamsNonStreaming, \"modalities\"> & {\n\tmodalities: Array<\"image\" | \"text\">;\n};\n\nfunction buildParams(model: ImagesModel<\"openrouter-images\">, context: ImagesContext): OpenRouterImagesCreateParams {\n\tconst content: ChatCompletionContentPart[] = context.input.map((item): ChatCompletionContentPart => {\n\t\tif (item.type === \"text\") {\n\t\t\treturn {\n\t\t\t\ttype: \"text\",\n\t\t\t\ttext: sanitizeSurrogates(item.text),\n\t\t\t} satisfies ChatCompletionContentPartText;\n\t\t}\n\t\treturn {\n\t\t\ttype: \"image_url\",\n\t\t\timage_url: {\n\t\t\t\turl: `data:${item.mimeType};base64,${item.data}`,\n\t\t\t},\n\t\t} satisfies ChatCompletionContentPartImage;\n\t});\n\n\treturn {\n\t\tmodel: model.id,\n\t\tmessages: [\n\t\t\t{\n\t\t\t\trole: \"user\" as const,\n\t\t\t\tcontent,\n\t\t\t},\n\t\t],\n\t\tstream: false,\n\t\tmodalities: model.output.includes(\"text\") ? [\"image\", \"text\"] : [\"image\"],\n\t};\n}\n\nfunction parseUsage(\n\trawUsage: {\n\t\tprompt_tokens?: number;\n\t\tcompletion_tokens?: number;\n\t\tprompt_tokens_details?: { cached_tokens?: number; cache_write_tokens?: number };\n\t},\n\tmodel: ImagesModel<\"openrouter-images\">,\n) {\n\tconst promptTokens = rawUsage.prompt_tokens || 0;\n\tconst reportedCachedTokens = rawUsage.prompt_tokens_details?.cached_tokens || 0;\n\tconst cacheWriteTokens = rawUsage.prompt_tokens_details?.cache_write_tokens || 0;\n\tconst cacheReadTokens =\n\t\tcacheWriteTokens > 0 ? Math.max(0, reportedCachedTokens - cacheWriteTokens) : reportedCachedTokens;\n\tconst input = Math.max(0, promptTokens - cacheReadTokens - cacheWriteTokens);\n\tconst output = rawUsage.completion_tokens || 0;\n\tconst usage = {\n\t\tinput,\n\t\toutput,\n\t\tcacheRead: cacheReadTokens,\n\t\tcacheWrite: cacheWriteTokens,\n\t\ttotalTokens: input + output + cacheReadTokens + cacheWriteTokens,\n\t\tcost: {\n\t\t\tinput: (model.cost.input / 1000000) * input,\n\t\t\toutput: (model.cost.output / 1000000) * output,\n\t\t\tcacheRead: (model.cost.cacheRead / 1000000) * cacheReadTokens,\n\t\t\tcacheWrite: (model.cost.cacheWrite / 1000000) * cacheWriteTokens,\n\t\t\ttotal: 0,\n\t\t},\n\t};\n\tusage.cost.total = usage.cost.input + usage.cost.output + usage.cost.cacheRead + usage.cost.cacheWrite;\n\treturn usage;\n}\n"]}
@@ -1,4 +0,0 @@
1
- import type { ImagesFunction, ImagesOptions } from "../../types.ts";
2
- export declare const generateImagesOpenRouter: ImagesFunction<"openrouter-images", ImagesOptions>;
3
- export declare function registerBuiltInImagesApiProviders(): void;
4
- //# sourceMappingURL=register-builtins.d.ts.map