@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,102 +0,0 @@
1
- export const COMPACTION_SUMMARY_PREFIX = `The conversation history before this point was compacted into the following summary:
2
-
3
- <summary>
4
- `;
5
- export const COMPACTION_SUMMARY_SUFFIX = `
6
- </summary>`;
7
- export const BRANCH_SUMMARY_PREFIX = `The following is a summary of a branch that this conversation came back from:
8
-
9
- <summary>
10
- `;
11
- export const BRANCH_SUMMARY_SUFFIX = `</summary>`;
12
- export function bashExecutionToText(msg) {
13
- let text = `Ran \`${msg.command}\`\n`;
14
- if (msg.output) {
15
- text += `\`\`\`\n${msg.output}\n\`\`\``;
16
- }
17
- else {
18
- text += "(no output)";
19
- }
20
- if (msg.cancelled) {
21
- text += "\n\n(command cancelled)";
22
- }
23
- else if (msg.exitCode !== null && msg.exitCode !== undefined && msg.exitCode !== 0) {
24
- text += `\n\nCommand exited with code ${msg.exitCode}`;
25
- }
26
- if (msg.truncated && msg.fullOutputPath) {
27
- text += `\n\n[Output truncated. Full output: ${msg.fullOutputPath}]`;
28
- }
29
- return text;
30
- }
31
- export function createBranchSummaryMessage(summary, fromId, timestamp) {
32
- return {
33
- role: "branchSummary",
34
- summary,
35
- fromId,
36
- timestamp: new Date(timestamp).getTime(),
37
- };
38
- }
39
- export function createCompactionSummaryMessage(summary, tokensBefore, timestamp) {
40
- return {
41
- role: "compactionSummary",
42
- summary,
43
- tokensBefore,
44
- timestamp: new Date(timestamp).getTime(),
45
- };
46
- }
47
- export function createCustomMessage(customType, content, display, details, timestamp) {
48
- return {
49
- role: "custom",
50
- customType,
51
- content,
52
- display,
53
- details,
54
- timestamp: new Date(timestamp).getTime(),
55
- };
56
- }
57
- export function convertToLlm(messages) {
58
- return messages
59
- .map((m) => {
60
- switch (m.role) {
61
- case "bashExecution":
62
- if (m.excludeFromContext) {
63
- return undefined;
64
- }
65
- return {
66
- role: "user",
67
- content: [{ type: "text", text: bashExecutionToText(m) }],
68
- timestamp: m.timestamp,
69
- };
70
- case "custom": {
71
- const content = typeof m.content === "string" ? [{ type: "text", text: m.content }] : m.content;
72
- return {
73
- role: "user",
74
- content,
75
- timestamp: m.timestamp,
76
- };
77
- }
78
- case "branchSummary":
79
- return {
80
- role: "user",
81
- content: [{ type: "text", text: BRANCH_SUMMARY_PREFIX + m.summary + BRANCH_SUMMARY_SUFFIX }],
82
- timestamp: m.timestamp,
83
- };
84
- case "compactionSummary":
85
- return {
86
- role: "user",
87
- content: [
88
- { type: "text", text: COMPACTION_SUMMARY_PREFIX + m.summary + COMPACTION_SUMMARY_SUFFIX },
89
- ],
90
- timestamp: m.timestamp,
91
- };
92
- case "user":
93
- case "assistant":
94
- case "toolResult":
95
- return m;
96
- default:
97
- return undefined;
98
- }
99
- })
100
- .filter((m) => m !== undefined);
101
- }
102
- //# sourceMappingURL=messages.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"messages.js","sourceRoot":"","sources":["../../src/harness/messages.ts"],"names":[],"mappings":"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","sourcesContent":["import type { ImageContent, Message, TextContent } from \"@dimivelev/chimera-ai\";\nimport type { AgentMessage } from \"../types.ts\";\n\nexport const COMPACTION_SUMMARY_PREFIX = `The conversation history before this point was compacted into the following summary:\n\n<summary>\n`;\n\nexport const COMPACTION_SUMMARY_SUFFIX = `\n</summary>`;\n\nexport const BRANCH_SUMMARY_PREFIX = `The following is a summary of a branch that this conversation came back from:\n\n<summary>\n`;\n\nexport const BRANCH_SUMMARY_SUFFIX = `</summary>`;\n\nexport interface BashExecutionMessage {\n\trole: \"bashExecution\";\n\tcommand: string;\n\toutput: string;\n\texitCode: number | undefined;\n\tcancelled: boolean;\n\ttruncated: boolean;\n\tfullOutputPath?: string;\n\ttimestamp: number;\n\texcludeFromContext?: boolean;\n}\n\nexport interface CustomMessage<T = unknown> {\n\trole: \"custom\";\n\tcustomType: string;\n\tcontent: string | (TextContent | ImageContent)[];\n\tdisplay: boolean;\n\tdetails?: T;\n\ttimestamp: number;\n}\n\nexport interface BranchSummaryMessage {\n\trole: \"branchSummary\";\n\tsummary: string;\n\tfromId: string;\n\ttimestamp: number;\n}\n\nexport interface CompactionSummaryMessage {\n\trole: \"compactionSummary\";\n\tsummary: string;\n\ttokensBefore: number;\n\ttimestamp: number;\n}\n\ndeclare module \"../types.ts\" {\n\tinterface CustomAgentMessages {\n\t\tbashExecution: BashExecutionMessage;\n\t\tcustom: CustomMessage;\n\t\tbranchSummary: BranchSummaryMessage;\n\t\tcompactionSummary: CompactionSummaryMessage;\n\t}\n}\n\nexport function bashExecutionToText(msg: BashExecutionMessage): string {\n\tlet text = `Ran \\`${msg.command}\\`\\n`;\n\tif (msg.output) {\n\t\ttext += `\\`\\`\\`\\n${msg.output}\\n\\`\\`\\``;\n\t} else {\n\t\ttext += \"(no output)\";\n\t}\n\tif (msg.cancelled) {\n\t\ttext += \"\\n\\n(command cancelled)\";\n\t} else if (msg.exitCode !== null && msg.exitCode !== undefined && msg.exitCode !== 0) {\n\t\ttext += `\\n\\nCommand exited with code ${msg.exitCode}`;\n\t}\n\tif (msg.truncated && msg.fullOutputPath) {\n\t\ttext += `\\n\\n[Output truncated. Full output: ${msg.fullOutputPath}]`;\n\t}\n\treturn text;\n}\n\nexport function createBranchSummaryMessage(summary: string, fromId: string, timestamp: string): BranchSummaryMessage {\n\treturn {\n\t\trole: \"branchSummary\",\n\t\tsummary,\n\t\tfromId,\n\t\ttimestamp: new Date(timestamp).getTime(),\n\t};\n}\n\nexport function createCompactionSummaryMessage(\n\tsummary: string,\n\ttokensBefore: number,\n\ttimestamp: string,\n): CompactionSummaryMessage {\n\treturn {\n\t\trole: \"compactionSummary\",\n\t\tsummary,\n\t\ttokensBefore,\n\t\ttimestamp: new Date(timestamp).getTime(),\n\t};\n}\n\nexport function createCustomMessage(\n\tcustomType: string,\n\tcontent: string | (TextContent | ImageContent)[],\n\tdisplay: boolean,\n\tdetails: unknown | undefined,\n\ttimestamp: string,\n): CustomMessage {\n\treturn {\n\t\trole: \"custom\",\n\t\tcustomType,\n\t\tcontent,\n\t\tdisplay,\n\t\tdetails,\n\t\ttimestamp: new Date(timestamp).getTime(),\n\t};\n}\n\nexport function convertToLlm(messages: AgentMessage[]): Message[] {\n\treturn messages\n\t\t.map((m): Message | undefined => {\n\t\t\tswitch (m.role) {\n\t\t\t\tcase \"bashExecution\":\n\t\t\t\t\tif (m.excludeFromContext) {\n\t\t\t\t\t\treturn undefined;\n\t\t\t\t\t}\n\t\t\t\t\treturn {\n\t\t\t\t\t\trole: \"user\",\n\t\t\t\t\t\tcontent: [{ type: \"text\", text: bashExecutionToText(m) }],\n\t\t\t\t\t\ttimestamp: m.timestamp,\n\t\t\t\t\t};\n\t\t\t\tcase \"custom\": {\n\t\t\t\t\tconst content = typeof m.content === \"string\" ? [{ type: \"text\" as const, text: m.content }] : m.content;\n\t\t\t\t\treturn {\n\t\t\t\t\t\trole: \"user\",\n\t\t\t\t\t\tcontent,\n\t\t\t\t\t\ttimestamp: m.timestamp,\n\t\t\t\t\t};\n\t\t\t\t}\n\t\t\t\tcase \"branchSummary\":\n\t\t\t\t\treturn {\n\t\t\t\t\t\trole: \"user\",\n\t\t\t\t\t\tcontent: [{ type: \"text\" as const, text: BRANCH_SUMMARY_PREFIX + m.summary + BRANCH_SUMMARY_SUFFIX }],\n\t\t\t\t\t\ttimestamp: m.timestamp,\n\t\t\t\t\t};\n\t\t\t\tcase \"compactionSummary\":\n\t\t\t\t\treturn {\n\t\t\t\t\t\trole: \"user\",\n\t\t\t\t\t\tcontent: [\n\t\t\t\t\t\t\t{ type: \"text\" as const, text: COMPACTION_SUMMARY_PREFIX + m.summary + COMPACTION_SUMMARY_SUFFIX },\n\t\t\t\t\t\t],\n\t\t\t\t\t\ttimestamp: m.timestamp,\n\t\t\t\t\t};\n\t\t\t\tcase \"user\":\n\t\t\t\tcase \"assistant\":\n\t\t\t\tcase \"toolResult\":\n\t\t\t\t\treturn m;\n\t\t\t\tdefault:\n\t\t\t\t\treturn undefined;\n\t\t\t}\n\t\t})\n\t\t.filter((m): m is Message => m !== undefined);\n}\n"]}
@@ -1,48 +0,0 @@
1
- import { type ExecutionEnv, type PromptTemplate } from "./types.ts";
2
- export type PromptTemplateDiagnosticCode = "file_info_failed" | "list_failed" | "read_failed" | "parse_failed";
3
- /** Warning produced while loading prompt templates. */
4
- export interface PromptTemplateDiagnostic {
5
- /** Diagnostic severity. Currently only warnings are emitted. */
6
- type: "warning";
7
- /** Stable diagnostic code. */
8
- code: PromptTemplateDiagnosticCode;
9
- /** Human-readable diagnostic message. */
10
- message: string;
11
- /** Path associated with the diagnostic. */
12
- path: string;
13
- }
14
- /**
15
- * Load prompt templates from one or more paths.
16
- *
17
- * Directory inputs load direct `.md` children non-recursively. File inputs load explicit `.md` files. Missing paths and
18
- * non-markdown files are skipped. Read and parse failures are returned as diagnostics.
19
- */
20
- export declare function loadPromptTemplates(env: ExecutionEnv, paths: string | string[]): Promise<{
21
- promptTemplates: PromptTemplate[];
22
- diagnostics: PromptTemplateDiagnostic[];
23
- }>;
24
- /**
25
- * Load prompt templates from source-tagged paths.
26
- *
27
- * Source values are preserved exactly and attached to every loaded prompt template and diagnostic. The agent package does
28
- * not interpret source values; applications define their own provenance shape.
29
- */
30
- export declare function loadSourcedPromptTemplates<TSource, TPromptTemplate extends PromptTemplate = PromptTemplate>(env: ExecutionEnv, inputs: Array<{
31
- path: string;
32
- source: TSource;
33
- }>, mapPromptTemplate?: (promptTemplate: PromptTemplate, source: TSource) => TPromptTemplate): Promise<{
34
- promptTemplates: Array<{
35
- promptTemplate: TPromptTemplate;
36
- source: TSource;
37
- }>;
38
- diagnostics: Array<PromptTemplateDiagnostic & {
39
- source: TSource;
40
- }>;
41
- }>;
42
- /** Parse an argument string using simple shell-style single and double quotes. */
43
- export declare function parseCommandArgs(argsString: string): string[];
44
- /** Substitute prompt template placeholders (`$1`, `$@`, `$ARGUMENTS`, `${@:N}`, `${@:N:L}`) with command arguments. */
45
- export declare function substituteArgs(content: string, args: string[]): string;
46
- /** Format a prompt template invocation with positional arguments. */
47
- export declare function formatPromptTemplateInvocation(template: PromptTemplate, args?: string[]): string;
48
- //# sourceMappingURL=prompt-templates.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"prompt-templates.d.ts","sourceRoot":"","sources":["../../src/harness/prompt-templates.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,YAAY,EAAiB,KAAK,cAAc,EAAwB,MAAM,YAAY,CAAC;AAEzG,MAAM,MAAM,4BAA4B,GAAG,kBAAkB,GAAG,aAAa,GAAG,aAAa,GAAG,cAAc,CAAC;AAE/G,uDAAuD;AACvD,MAAM,WAAW,wBAAwB;IACxC,gEAAgE;IAChE,IAAI,EAAE,SAAS,CAAC;IAChB,8BAA8B;IAC9B,IAAI,EAAE,4BAA4B,CAAC;IACnC,yCAAyC;IACzC,OAAO,EAAE,MAAM,CAAC;IAChB,2CAA2C;IAC3C,IAAI,EAAE,MAAM,CAAC;CACb;AAQD;;;;;GAKG;AACH,wBAAsB,mBAAmB,CACxC,GAAG,EAAE,YAAY,EACjB,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,GACtB,OAAO,CAAC;IAAE,eAAe,EAAE,cAAc,EAAE,CAAC;IAAC,WAAW,EAAE,wBAAwB,EAAE,CAAA;CAAE,CAAC,CA6BzF;AAED;;;;;GAKG;AACH,wBAAsB,0BAA0B,CAAC,OAAO,EAAE,eAAe,SAAS,cAAc,GAAG,cAAc,EAChH,GAAG,EAAE,YAAY,EACjB,MAAM,EAAE,KAAK,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,OAAO,CAAA;CAAE,CAAC,EAChD,iBAAiB,CAAC,EAAE,CAAC,cAAc,EAAE,cAAc,EAAE,MAAM,EAAE,OAAO,KAAK,eAAe,GACtF,OAAO,CAAC;IACV,eAAe,EAAE,KAAK,CAAC;QAAE,cAAc,EAAE,eAAe,CAAC;QAAC,MAAM,EAAE,OAAO,CAAA;KAAE,CAAC,CAAC;IAC7E,WAAW,EAAE,KAAK,CAAC,wBAAwB,GAAG;QAAE,MAAM,EAAE,OAAO,CAAA;KAAE,CAAC,CAAC;CACnE,CAAC,CAgBD;AAiID,kFAAkF;AAClF,wBAAgB,gBAAgB,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,EAAE,CAuB7D;AAED,uHAAuH;AACvH,wBAAgB,cAAc,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,MAAM,CAatE;AAED,qEAAqE;AACrE,wBAAgB,8BAA8B,CAAC,QAAQ,EAAE,cAAc,EAAE,IAAI,GAAE,MAAM,EAAO,GAAG,MAAM,CAEpG","sourcesContent":["import { parse } from \"yaml\";\nimport { type ExecutionEnv, type FileInfo, type PromptTemplate, type Result, toError } from \"./types.ts\";\n\nexport type PromptTemplateDiagnosticCode = \"file_info_failed\" | \"list_failed\" | \"read_failed\" | \"parse_failed\";\n\n/** Warning produced while loading prompt templates. */\nexport interface PromptTemplateDiagnostic {\n\t/** Diagnostic severity. Currently only warnings are emitted. */\n\ttype: \"warning\";\n\t/** Stable diagnostic code. */\n\tcode: PromptTemplateDiagnosticCode;\n\t/** Human-readable diagnostic message. */\n\tmessage: string;\n\t/** Path associated with the diagnostic. */\n\tpath: string;\n}\n\ninterface PromptTemplateFrontmatter {\n\tdescription?: string;\n\t\"argument-hint\"?: string;\n\t[key: string]: unknown;\n}\n\n/**\n * Load prompt templates from one or more paths.\n *\n * Directory inputs load direct `.md` children non-recursively. File inputs load explicit `.md` files. Missing paths and\n * non-markdown files are skipped. Read and parse failures are returned as diagnostics.\n */\nexport async function loadPromptTemplates(\n\tenv: ExecutionEnv,\n\tpaths: string | string[],\n): Promise<{ promptTemplates: PromptTemplate[]; diagnostics: PromptTemplateDiagnostic[] }> {\n\tconst promptTemplates: PromptTemplate[] = [];\n\tconst diagnostics: PromptTemplateDiagnostic[] = [];\n\tfor (const path of Array.isArray(paths) ? paths : [paths]) {\n\t\tconst infoResult = await env.fileInfo(path);\n\t\tif (!infoResult.ok) {\n\t\t\tif (infoResult.error.code !== \"not_found\") {\n\t\t\t\tdiagnostics.push({\n\t\t\t\t\ttype: \"warning\",\n\t\t\t\t\tcode: \"file_info_failed\",\n\t\t\t\t\tmessage: infoResult.error.message,\n\t\t\t\t\tpath,\n\t\t\t\t});\n\t\t\t}\n\t\t\tcontinue;\n\t\t}\n\t\tconst info = infoResult.value;\n\t\tconst kind = await resolveKind(env, info, diagnostics);\n\t\tif (kind === \"directory\") {\n\t\t\tconst result = await loadTemplatesFromDir(env, info.path);\n\t\t\tpromptTemplates.push(...result.promptTemplates);\n\t\t\tdiagnostics.push(...result.diagnostics);\n\t\t} else if (kind === \"file\" && info.name.endsWith(\".md\")) {\n\t\t\tconst result = await loadTemplateFromFile(env, info.path);\n\t\t\tif (result.promptTemplate) promptTemplates.push(result.promptTemplate);\n\t\t\tdiagnostics.push(...result.diagnostics);\n\t\t}\n\t}\n\treturn { promptTemplates, diagnostics };\n}\n\n/**\n * Load prompt templates from source-tagged paths.\n *\n * Source values are preserved exactly and attached to every loaded prompt template and diagnostic. The agent package does\n * not interpret source values; applications define their own provenance shape.\n */\nexport async function loadSourcedPromptTemplates<TSource, TPromptTemplate extends PromptTemplate = PromptTemplate>(\n\tenv: ExecutionEnv,\n\tinputs: Array<{ path: string; source: TSource }>,\n\tmapPromptTemplate?: (promptTemplate: PromptTemplate, source: TSource) => TPromptTemplate,\n): Promise<{\n\tpromptTemplates: Array<{ promptTemplate: TPromptTemplate; source: TSource }>;\n\tdiagnostics: Array<PromptTemplateDiagnostic & { source: TSource }>;\n}> {\n\tconst promptTemplates: Array<{ promptTemplate: TPromptTemplate; source: TSource }> = [];\n\tconst diagnostics: Array<PromptTemplateDiagnostic & { source: TSource }> = [];\n\tfor (const input of inputs) {\n\t\tconst result = await loadPromptTemplates(env, input.path);\n\t\tfor (const promptTemplate of result.promptTemplates) {\n\t\t\tpromptTemplates.push({\n\t\t\t\tpromptTemplate: mapPromptTemplate\n\t\t\t\t\t? mapPromptTemplate(promptTemplate, input.source)\n\t\t\t\t\t: (promptTemplate as TPromptTemplate),\n\t\t\t\tsource: input.source,\n\t\t\t});\n\t\t}\n\t\tfor (const diagnostic of result.diagnostics) diagnostics.push({ ...diagnostic, source: input.source });\n\t}\n\treturn { promptTemplates, diagnostics };\n}\n\nasync function loadTemplatesFromDir(\n\tenv: ExecutionEnv,\n\tdir: string,\n): Promise<{ promptTemplates: PromptTemplate[]; diagnostics: PromptTemplateDiagnostic[] }> {\n\tconst promptTemplates: PromptTemplate[] = [];\n\tconst diagnostics: PromptTemplateDiagnostic[] = [];\n\tconst entriesResult = await env.listDir(dir);\n\tif (!entriesResult.ok) {\n\t\tdiagnostics.push({\n\t\t\ttype: \"warning\",\n\t\t\tcode: \"list_failed\",\n\t\t\tmessage: entriesResult.error.message,\n\t\t\tpath: dir,\n\t\t});\n\t\treturn { promptTemplates, diagnostics };\n\t}\n\tconst entries = entriesResult.value;\n\n\tfor (const entry of entries.sort((a, b) => a.name.localeCompare(b.name))) {\n\t\tconst kind = await resolveKind(env, entry, diagnostics);\n\t\tif (kind !== \"file\" || !entry.name.endsWith(\".md\")) continue;\n\t\tconst result = await loadTemplateFromFile(env, entry.path);\n\t\tif (result.promptTemplate) promptTemplates.push(result.promptTemplate);\n\t\tdiagnostics.push(...result.diagnostics);\n\t}\n\treturn { promptTemplates, diagnostics };\n}\n\nasync function loadTemplateFromFile(\n\tenv: ExecutionEnv,\n\tfilePath: string,\n): Promise<{ promptTemplate: PromptTemplate | null; diagnostics: PromptTemplateDiagnostic[] }> {\n\tconst diagnostics: PromptTemplateDiagnostic[] = [];\n\tconst rawContent = await env.readTextFile(filePath);\n\tif (!rawContent.ok) {\n\t\tdiagnostics.push({\n\t\t\ttype: \"warning\",\n\t\t\tcode: \"read_failed\",\n\t\t\tmessage: rawContent.error.message,\n\t\t\tpath: filePath,\n\t\t});\n\t\treturn { promptTemplate: null, diagnostics };\n\t}\n\n\tconst parsed = parseFrontmatter<PromptTemplateFrontmatter>(rawContent.value);\n\tif (!parsed.ok) {\n\t\tdiagnostics.push({\n\t\t\ttype: \"warning\",\n\t\t\tcode: \"parse_failed\",\n\t\t\tmessage: parsed.error.message,\n\t\t\tpath: filePath,\n\t\t});\n\t\treturn { promptTemplate: null, diagnostics };\n\t}\n\n\tconst { frontmatter, body } = parsed.value;\n\tconst firstLine = body.split(\"\\n\").find((line) => line.trim());\n\tlet description = typeof frontmatter.description === \"string\" ? frontmatter.description : \"\";\n\tif (!description && firstLine) {\n\t\tdescription = firstLine.slice(0, 60);\n\t\tif (firstLine.length > 60) description += \"...\";\n\t}\n\treturn {\n\t\tpromptTemplate: {\n\t\t\tname: basenameEnvPath(filePath).replace(/\\.md$/i, \"\"),\n\t\t\tdescription,\n\t\t\tcontent: body,\n\t\t},\n\t\tdiagnostics,\n\t};\n}\n\nasync function resolveKind(\n\tenv: ExecutionEnv,\n\tinfo: FileInfo,\n\tdiagnostics: PromptTemplateDiagnostic[],\n): Promise<\"file\" | \"directory\" | undefined> {\n\tif (info.kind === \"file\" || info.kind === \"directory\") return info.kind;\n\tconst canonicalPath = await env.canonicalPath(info.path);\n\tif (!canonicalPath.ok) {\n\t\tif (canonicalPath.error.code !== \"not_found\") {\n\t\t\tdiagnostics.push({\n\t\t\t\ttype: \"warning\",\n\t\t\t\tcode: \"file_info_failed\",\n\t\t\t\tmessage: canonicalPath.error.message,\n\t\t\t\tpath: info.path,\n\t\t\t});\n\t\t}\n\t\treturn undefined;\n\t}\n\tconst target = await env.fileInfo(canonicalPath.value);\n\tif (!target.ok) {\n\t\tif (target.error.code !== \"not_found\") {\n\t\t\tdiagnostics.push({\n\t\t\t\ttype: \"warning\",\n\t\t\t\tcode: \"file_info_failed\",\n\t\t\t\tmessage: target.error.message,\n\t\t\t\tpath: info.path,\n\t\t\t});\n\t\t}\n\t\treturn undefined;\n\t}\n\treturn target.value.kind === \"file\" || target.value.kind === \"directory\" ? target.value.kind : undefined;\n}\n\nfunction parseFrontmatter<T extends Record<string, unknown>>(\n\tcontent: string,\n): Result<{ frontmatter: T; body: string }, Error> {\n\ttry {\n\t\tconst normalized = content.replace(/\\r\\n/g, \"\\n\").replace(/\\r/g, \"\\n\");\n\t\tif (!normalized.startsWith(\"---\")) return { ok: true, value: { frontmatter: {} as T, body: normalized } };\n\t\tconst endIndex = normalized.indexOf(\"\\n---\", 3);\n\t\tif (endIndex === -1) return { ok: true, value: { frontmatter: {} as T, body: normalized } };\n\t\tconst yamlString = normalized.slice(4, endIndex);\n\t\tconst body = normalized.slice(endIndex + 4).trim();\n\t\treturn { ok: true, value: { frontmatter: (parse(yamlString) ?? {}) as T, body } };\n\t} catch (error) {\n\t\treturn { ok: false, error: toError(error) };\n\t}\n}\n\nfunction basenameEnvPath(path: string): string {\n\tconst normalized = path.replace(/\\/+$/, \"\");\n\tconst slashIndex = normalized.lastIndexOf(\"/\");\n\treturn slashIndex === -1 ? normalized : normalized.slice(slashIndex + 1);\n}\n\n/** Parse an argument string using simple shell-style single and double quotes. */\nexport function parseCommandArgs(argsString: string): string[] {\n\tconst args: string[] = [];\n\tlet current = \"\";\n\tlet inQuote: string | null = null;\n\n\tfor (let i = 0; i < argsString.length; i++) {\n\t\tconst char = argsString[i]!;\n\t\tif (inQuote) {\n\t\t\tif (char === inQuote) inQuote = null;\n\t\t\telse current += char;\n\t\t} else if (char === '\"' || char === \"'\") {\n\t\t\tinQuote = char;\n\t\t} else if (char === \" \" || char === \"\\t\") {\n\t\t\tif (current) {\n\t\t\t\targs.push(current);\n\t\t\t\tcurrent = \"\";\n\t\t\t}\n\t\t} else {\n\t\t\tcurrent += char;\n\t\t}\n\t}\n\tif (current) args.push(current);\n\treturn args;\n}\n\n/** Substitute prompt template placeholders (`$1`, `$@`, `$ARGUMENTS`, `${@:N}`, `${@:N:L}`) with command arguments. */\nexport function substituteArgs(content: string, args: string[]): string {\n\tlet result = content;\n\tresult = result.replace(/\\$(\\d+)/g, (_, num: string) => args[parseInt(num, 10) - 1] ?? \"\");\n\tresult = result.replace(/\\$\\{@:(\\d+)(?::(\\d+))?\\}/g, (_, startStr: string, lengthStr?: string) => {\n\t\tlet start = parseInt(startStr, 10) - 1;\n\t\tif (start < 0) start = 0;\n\t\tif (lengthStr) return args.slice(start, start + parseInt(lengthStr, 10)).join(\" \");\n\t\treturn args.slice(start).join(\" \");\n\t});\n\tconst allArgs = args.join(\" \");\n\tresult = result.replace(/\\$ARGUMENTS/g, allArgs);\n\tresult = result.replace(/\\$@/g, allArgs);\n\treturn result;\n}\n\n/** Format a prompt template invocation with positional arguments. */\nexport function formatPromptTemplateInvocation(template: PromptTemplate, args: string[] = []): string {\n\treturn substituteArgs(template.content, args);\n}\n"]}
@@ -1,230 +0,0 @@
1
- import { parse } from "yaml";
2
- import { toError } from "./types.js";
3
- /**
4
- * Load prompt templates from one or more paths.
5
- *
6
- * Directory inputs load direct `.md` children non-recursively. File inputs load explicit `.md` files. Missing paths and
7
- * non-markdown files are skipped. Read and parse failures are returned as diagnostics.
8
- */
9
- export async function loadPromptTemplates(env, paths) {
10
- const promptTemplates = [];
11
- const diagnostics = [];
12
- for (const path of Array.isArray(paths) ? paths : [paths]) {
13
- const infoResult = await env.fileInfo(path);
14
- if (!infoResult.ok) {
15
- if (infoResult.error.code !== "not_found") {
16
- diagnostics.push({
17
- type: "warning",
18
- code: "file_info_failed",
19
- message: infoResult.error.message,
20
- path,
21
- });
22
- }
23
- continue;
24
- }
25
- const info = infoResult.value;
26
- const kind = await resolveKind(env, info, diagnostics);
27
- if (kind === "directory") {
28
- const result = await loadTemplatesFromDir(env, info.path);
29
- promptTemplates.push(...result.promptTemplates);
30
- diagnostics.push(...result.diagnostics);
31
- }
32
- else if (kind === "file" && info.name.endsWith(".md")) {
33
- const result = await loadTemplateFromFile(env, info.path);
34
- if (result.promptTemplate)
35
- promptTemplates.push(result.promptTemplate);
36
- diagnostics.push(...result.diagnostics);
37
- }
38
- }
39
- return { promptTemplates, diagnostics };
40
- }
41
- /**
42
- * Load prompt templates from source-tagged paths.
43
- *
44
- * Source values are preserved exactly and attached to every loaded prompt template and diagnostic. The agent package does
45
- * not interpret source values; applications define their own provenance shape.
46
- */
47
- export async function loadSourcedPromptTemplates(env, inputs, mapPromptTemplate) {
48
- const promptTemplates = [];
49
- const diagnostics = [];
50
- for (const input of inputs) {
51
- const result = await loadPromptTemplates(env, input.path);
52
- for (const promptTemplate of result.promptTemplates) {
53
- promptTemplates.push({
54
- promptTemplate: mapPromptTemplate
55
- ? mapPromptTemplate(promptTemplate, input.source)
56
- : promptTemplate,
57
- source: input.source,
58
- });
59
- }
60
- for (const diagnostic of result.diagnostics)
61
- diagnostics.push({ ...diagnostic, source: input.source });
62
- }
63
- return { promptTemplates, diagnostics };
64
- }
65
- async function loadTemplatesFromDir(env, dir) {
66
- const promptTemplates = [];
67
- const diagnostics = [];
68
- const entriesResult = await env.listDir(dir);
69
- if (!entriesResult.ok) {
70
- diagnostics.push({
71
- type: "warning",
72
- code: "list_failed",
73
- message: entriesResult.error.message,
74
- path: dir,
75
- });
76
- return { promptTemplates, diagnostics };
77
- }
78
- const entries = entriesResult.value;
79
- for (const entry of entries.sort((a, b) => a.name.localeCompare(b.name))) {
80
- const kind = await resolveKind(env, entry, diagnostics);
81
- if (kind !== "file" || !entry.name.endsWith(".md"))
82
- continue;
83
- const result = await loadTemplateFromFile(env, entry.path);
84
- if (result.promptTemplate)
85
- promptTemplates.push(result.promptTemplate);
86
- diagnostics.push(...result.diagnostics);
87
- }
88
- return { promptTemplates, diagnostics };
89
- }
90
- async function loadTemplateFromFile(env, filePath) {
91
- const diagnostics = [];
92
- const rawContent = await env.readTextFile(filePath);
93
- if (!rawContent.ok) {
94
- diagnostics.push({
95
- type: "warning",
96
- code: "read_failed",
97
- message: rawContent.error.message,
98
- path: filePath,
99
- });
100
- return { promptTemplate: null, diagnostics };
101
- }
102
- const parsed = parseFrontmatter(rawContent.value);
103
- if (!parsed.ok) {
104
- diagnostics.push({
105
- type: "warning",
106
- code: "parse_failed",
107
- message: parsed.error.message,
108
- path: filePath,
109
- });
110
- return { promptTemplate: null, diagnostics };
111
- }
112
- const { frontmatter, body } = parsed.value;
113
- const firstLine = body.split("\n").find((line) => line.trim());
114
- let description = typeof frontmatter.description === "string" ? frontmatter.description : "";
115
- if (!description && firstLine) {
116
- description = firstLine.slice(0, 60);
117
- if (firstLine.length > 60)
118
- description += "...";
119
- }
120
- return {
121
- promptTemplate: {
122
- name: basenameEnvPath(filePath).replace(/\.md$/i, ""),
123
- description,
124
- content: body,
125
- },
126
- diagnostics,
127
- };
128
- }
129
- async function resolveKind(env, info, diagnostics) {
130
- if (info.kind === "file" || info.kind === "directory")
131
- return info.kind;
132
- const canonicalPath = await env.canonicalPath(info.path);
133
- if (!canonicalPath.ok) {
134
- if (canonicalPath.error.code !== "not_found") {
135
- diagnostics.push({
136
- type: "warning",
137
- code: "file_info_failed",
138
- message: canonicalPath.error.message,
139
- path: info.path,
140
- });
141
- }
142
- return undefined;
143
- }
144
- const target = await env.fileInfo(canonicalPath.value);
145
- if (!target.ok) {
146
- if (target.error.code !== "not_found") {
147
- diagnostics.push({
148
- type: "warning",
149
- code: "file_info_failed",
150
- message: target.error.message,
151
- path: info.path,
152
- });
153
- }
154
- return undefined;
155
- }
156
- return target.value.kind === "file" || target.value.kind === "directory" ? target.value.kind : undefined;
157
- }
158
- function parseFrontmatter(content) {
159
- try {
160
- const normalized = content.replace(/\r\n/g, "\n").replace(/\r/g, "\n");
161
- if (!normalized.startsWith("---"))
162
- return { ok: true, value: { frontmatter: {}, body: normalized } };
163
- const endIndex = normalized.indexOf("\n---", 3);
164
- if (endIndex === -1)
165
- return { ok: true, value: { frontmatter: {}, body: normalized } };
166
- const yamlString = normalized.slice(4, endIndex);
167
- const body = normalized.slice(endIndex + 4).trim();
168
- return { ok: true, value: { frontmatter: (parse(yamlString) ?? {}), body } };
169
- }
170
- catch (error) {
171
- return { ok: false, error: toError(error) };
172
- }
173
- }
174
- function basenameEnvPath(path) {
175
- const normalized = path.replace(/\/+$/, "");
176
- const slashIndex = normalized.lastIndexOf("/");
177
- return slashIndex === -1 ? normalized : normalized.slice(slashIndex + 1);
178
- }
179
- /** Parse an argument string using simple shell-style single and double quotes. */
180
- export function parseCommandArgs(argsString) {
181
- const args = [];
182
- let current = "";
183
- let inQuote = null;
184
- for (let i = 0; i < argsString.length; i++) {
185
- const char = argsString[i];
186
- if (inQuote) {
187
- if (char === inQuote)
188
- inQuote = null;
189
- else
190
- current += char;
191
- }
192
- else if (char === '"' || char === "'") {
193
- inQuote = char;
194
- }
195
- else if (char === " " || char === "\t") {
196
- if (current) {
197
- args.push(current);
198
- current = "";
199
- }
200
- }
201
- else {
202
- current += char;
203
- }
204
- }
205
- if (current)
206
- args.push(current);
207
- return args;
208
- }
209
- /** Substitute prompt template placeholders (`$1`, `$@`, `$ARGUMENTS`, `${@:N}`, `${@:N:L}`) with command arguments. */
210
- export function substituteArgs(content, args) {
211
- let result = content;
212
- result = result.replace(/\$(\d+)/g, (_, num) => args[parseInt(num, 10) - 1] ?? "");
213
- result = result.replace(/\$\{@:(\d+)(?::(\d+))?\}/g, (_, startStr, lengthStr) => {
214
- let start = parseInt(startStr, 10) - 1;
215
- if (start < 0)
216
- start = 0;
217
- if (lengthStr)
218
- return args.slice(start, start + parseInt(lengthStr, 10)).join(" ");
219
- return args.slice(start).join(" ");
220
- });
221
- const allArgs = args.join(" ");
222
- result = result.replace(/\$ARGUMENTS/g, allArgs);
223
- result = result.replace(/\$@/g, allArgs);
224
- return result;
225
- }
226
- /** Format a prompt template invocation with positional arguments. */
227
- export function formatPromptTemplateInvocation(template, args = []) {
228
- return substituteArgs(template.content, args);
229
- }
230
- //# sourceMappingURL=prompt-templates.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"prompt-templates.js","sourceRoot":"","sources":["../../src/harness/prompt-templates.ts"],"names":[],"mappings":"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","sourcesContent":["import { parse } from \"yaml\";\nimport { type ExecutionEnv, type FileInfo, type PromptTemplate, type Result, toError } from \"./types.ts\";\n\nexport type PromptTemplateDiagnosticCode = \"file_info_failed\" | \"list_failed\" | \"read_failed\" | \"parse_failed\";\n\n/** Warning produced while loading prompt templates. */\nexport interface PromptTemplateDiagnostic {\n\t/** Diagnostic severity. Currently only warnings are emitted. */\n\ttype: \"warning\";\n\t/** Stable diagnostic code. */\n\tcode: PromptTemplateDiagnosticCode;\n\t/** Human-readable diagnostic message. */\n\tmessage: string;\n\t/** Path associated with the diagnostic. */\n\tpath: string;\n}\n\ninterface PromptTemplateFrontmatter {\n\tdescription?: string;\n\t\"argument-hint\"?: string;\n\t[key: string]: unknown;\n}\n\n/**\n * Load prompt templates from one or more paths.\n *\n * Directory inputs load direct `.md` children non-recursively. File inputs load explicit `.md` files. Missing paths and\n * non-markdown files are skipped. Read and parse failures are returned as diagnostics.\n */\nexport async function loadPromptTemplates(\n\tenv: ExecutionEnv,\n\tpaths: string | string[],\n): Promise<{ promptTemplates: PromptTemplate[]; diagnostics: PromptTemplateDiagnostic[] }> {\n\tconst promptTemplates: PromptTemplate[] = [];\n\tconst diagnostics: PromptTemplateDiagnostic[] = [];\n\tfor (const path of Array.isArray(paths) ? paths : [paths]) {\n\t\tconst infoResult = await env.fileInfo(path);\n\t\tif (!infoResult.ok) {\n\t\t\tif (infoResult.error.code !== \"not_found\") {\n\t\t\t\tdiagnostics.push({\n\t\t\t\t\ttype: \"warning\",\n\t\t\t\t\tcode: \"file_info_failed\",\n\t\t\t\t\tmessage: infoResult.error.message,\n\t\t\t\t\tpath,\n\t\t\t\t});\n\t\t\t}\n\t\t\tcontinue;\n\t\t}\n\t\tconst info = infoResult.value;\n\t\tconst kind = await resolveKind(env, info, diagnostics);\n\t\tif (kind === \"directory\") {\n\t\t\tconst result = await loadTemplatesFromDir(env, info.path);\n\t\t\tpromptTemplates.push(...result.promptTemplates);\n\t\t\tdiagnostics.push(...result.diagnostics);\n\t\t} else if (kind === \"file\" && info.name.endsWith(\".md\")) {\n\t\t\tconst result = await loadTemplateFromFile(env, info.path);\n\t\t\tif (result.promptTemplate) promptTemplates.push(result.promptTemplate);\n\t\t\tdiagnostics.push(...result.diagnostics);\n\t\t}\n\t}\n\treturn { promptTemplates, diagnostics };\n}\n\n/**\n * Load prompt templates from source-tagged paths.\n *\n * Source values are preserved exactly and attached to every loaded prompt template and diagnostic. The agent package does\n * not interpret source values; applications define their own provenance shape.\n */\nexport async function loadSourcedPromptTemplates<TSource, TPromptTemplate extends PromptTemplate = PromptTemplate>(\n\tenv: ExecutionEnv,\n\tinputs: Array<{ path: string; source: TSource }>,\n\tmapPromptTemplate?: (promptTemplate: PromptTemplate, source: TSource) => TPromptTemplate,\n): Promise<{\n\tpromptTemplates: Array<{ promptTemplate: TPromptTemplate; source: TSource }>;\n\tdiagnostics: Array<PromptTemplateDiagnostic & { source: TSource }>;\n}> {\n\tconst promptTemplates: Array<{ promptTemplate: TPromptTemplate; source: TSource }> = [];\n\tconst diagnostics: Array<PromptTemplateDiagnostic & { source: TSource }> = [];\n\tfor (const input of inputs) {\n\t\tconst result = await loadPromptTemplates(env, input.path);\n\t\tfor (const promptTemplate of result.promptTemplates) {\n\t\t\tpromptTemplates.push({\n\t\t\t\tpromptTemplate: mapPromptTemplate\n\t\t\t\t\t? mapPromptTemplate(promptTemplate, input.source)\n\t\t\t\t\t: (promptTemplate as TPromptTemplate),\n\t\t\t\tsource: input.source,\n\t\t\t});\n\t\t}\n\t\tfor (const diagnostic of result.diagnostics) diagnostics.push({ ...diagnostic, source: input.source });\n\t}\n\treturn { promptTemplates, diagnostics };\n}\n\nasync function loadTemplatesFromDir(\n\tenv: ExecutionEnv,\n\tdir: string,\n): Promise<{ promptTemplates: PromptTemplate[]; diagnostics: PromptTemplateDiagnostic[] }> {\n\tconst promptTemplates: PromptTemplate[] = [];\n\tconst diagnostics: PromptTemplateDiagnostic[] = [];\n\tconst entriesResult = await env.listDir(dir);\n\tif (!entriesResult.ok) {\n\t\tdiagnostics.push({\n\t\t\ttype: \"warning\",\n\t\t\tcode: \"list_failed\",\n\t\t\tmessage: entriesResult.error.message,\n\t\t\tpath: dir,\n\t\t});\n\t\treturn { promptTemplates, diagnostics };\n\t}\n\tconst entries = entriesResult.value;\n\n\tfor (const entry of entries.sort((a, b) => a.name.localeCompare(b.name))) {\n\t\tconst kind = await resolveKind(env, entry, diagnostics);\n\t\tif (kind !== \"file\" || !entry.name.endsWith(\".md\")) continue;\n\t\tconst result = await loadTemplateFromFile(env, entry.path);\n\t\tif (result.promptTemplate) promptTemplates.push(result.promptTemplate);\n\t\tdiagnostics.push(...result.diagnostics);\n\t}\n\treturn { promptTemplates, diagnostics };\n}\n\nasync function loadTemplateFromFile(\n\tenv: ExecutionEnv,\n\tfilePath: string,\n): Promise<{ promptTemplate: PromptTemplate | null; diagnostics: PromptTemplateDiagnostic[] }> {\n\tconst diagnostics: PromptTemplateDiagnostic[] = [];\n\tconst rawContent = await env.readTextFile(filePath);\n\tif (!rawContent.ok) {\n\t\tdiagnostics.push({\n\t\t\ttype: \"warning\",\n\t\t\tcode: \"read_failed\",\n\t\t\tmessage: rawContent.error.message,\n\t\t\tpath: filePath,\n\t\t});\n\t\treturn { promptTemplate: null, diagnostics };\n\t}\n\n\tconst parsed = parseFrontmatter<PromptTemplateFrontmatter>(rawContent.value);\n\tif (!parsed.ok) {\n\t\tdiagnostics.push({\n\t\t\ttype: \"warning\",\n\t\t\tcode: \"parse_failed\",\n\t\t\tmessage: parsed.error.message,\n\t\t\tpath: filePath,\n\t\t});\n\t\treturn { promptTemplate: null, diagnostics };\n\t}\n\n\tconst { frontmatter, body } = parsed.value;\n\tconst firstLine = body.split(\"\\n\").find((line) => line.trim());\n\tlet description = typeof frontmatter.description === \"string\" ? frontmatter.description : \"\";\n\tif (!description && firstLine) {\n\t\tdescription = firstLine.slice(0, 60);\n\t\tif (firstLine.length > 60) description += \"...\";\n\t}\n\treturn {\n\t\tpromptTemplate: {\n\t\t\tname: basenameEnvPath(filePath).replace(/\\.md$/i, \"\"),\n\t\t\tdescription,\n\t\t\tcontent: body,\n\t\t},\n\t\tdiagnostics,\n\t};\n}\n\nasync function resolveKind(\n\tenv: ExecutionEnv,\n\tinfo: FileInfo,\n\tdiagnostics: PromptTemplateDiagnostic[],\n): Promise<\"file\" | \"directory\" | undefined> {\n\tif (info.kind === \"file\" || info.kind === \"directory\") return info.kind;\n\tconst canonicalPath = await env.canonicalPath(info.path);\n\tif (!canonicalPath.ok) {\n\t\tif (canonicalPath.error.code !== \"not_found\") {\n\t\t\tdiagnostics.push({\n\t\t\t\ttype: \"warning\",\n\t\t\t\tcode: \"file_info_failed\",\n\t\t\t\tmessage: canonicalPath.error.message,\n\t\t\t\tpath: info.path,\n\t\t\t});\n\t\t}\n\t\treturn undefined;\n\t}\n\tconst target = await env.fileInfo(canonicalPath.value);\n\tif (!target.ok) {\n\t\tif (target.error.code !== \"not_found\") {\n\t\t\tdiagnostics.push({\n\t\t\t\ttype: \"warning\",\n\t\t\t\tcode: \"file_info_failed\",\n\t\t\t\tmessage: target.error.message,\n\t\t\t\tpath: info.path,\n\t\t\t});\n\t\t}\n\t\treturn undefined;\n\t}\n\treturn target.value.kind === \"file\" || target.value.kind === \"directory\" ? target.value.kind : undefined;\n}\n\nfunction parseFrontmatter<T extends Record<string, unknown>>(\n\tcontent: string,\n): Result<{ frontmatter: T; body: string }, Error> {\n\ttry {\n\t\tconst normalized = content.replace(/\\r\\n/g, \"\\n\").replace(/\\r/g, \"\\n\");\n\t\tif (!normalized.startsWith(\"---\")) return { ok: true, value: { frontmatter: {} as T, body: normalized } };\n\t\tconst endIndex = normalized.indexOf(\"\\n---\", 3);\n\t\tif (endIndex === -1) return { ok: true, value: { frontmatter: {} as T, body: normalized } };\n\t\tconst yamlString = normalized.slice(4, endIndex);\n\t\tconst body = normalized.slice(endIndex + 4).trim();\n\t\treturn { ok: true, value: { frontmatter: (parse(yamlString) ?? {}) as T, body } };\n\t} catch (error) {\n\t\treturn { ok: false, error: toError(error) };\n\t}\n}\n\nfunction basenameEnvPath(path: string): string {\n\tconst normalized = path.replace(/\\/+$/, \"\");\n\tconst slashIndex = normalized.lastIndexOf(\"/\");\n\treturn slashIndex === -1 ? normalized : normalized.slice(slashIndex + 1);\n}\n\n/** Parse an argument string using simple shell-style single and double quotes. */\nexport function parseCommandArgs(argsString: string): string[] {\n\tconst args: string[] = [];\n\tlet current = \"\";\n\tlet inQuote: string | null = null;\n\n\tfor (let i = 0; i < argsString.length; i++) {\n\t\tconst char = argsString[i]!;\n\t\tif (inQuote) {\n\t\t\tif (char === inQuote) inQuote = null;\n\t\t\telse current += char;\n\t\t} else if (char === '\"' || char === \"'\") {\n\t\t\tinQuote = char;\n\t\t} else if (char === \" \" || char === \"\\t\") {\n\t\t\tif (current) {\n\t\t\t\targs.push(current);\n\t\t\t\tcurrent = \"\";\n\t\t\t}\n\t\t} else {\n\t\t\tcurrent += char;\n\t\t}\n\t}\n\tif (current) args.push(current);\n\treturn args;\n}\n\n/** Substitute prompt template placeholders (`$1`, `$@`, `$ARGUMENTS`, `${@:N}`, `${@:N:L}`) with command arguments. */\nexport function substituteArgs(content: string, args: string[]): string {\n\tlet result = content;\n\tresult = result.replace(/\\$(\\d+)/g, (_, num: string) => args[parseInt(num, 10) - 1] ?? \"\");\n\tresult = result.replace(/\\$\\{@:(\\d+)(?::(\\d+))?\\}/g, (_, startStr: string, lengthStr?: string) => {\n\t\tlet start = parseInt(startStr, 10) - 1;\n\t\tif (start < 0) start = 0;\n\t\tif (lengthStr) return args.slice(start, start + parseInt(lengthStr, 10)).join(\" \");\n\t\treturn args.slice(start).join(\" \");\n\t});\n\tconst allArgs = args.join(\" \");\n\tresult = result.replace(/\\$ARGUMENTS/g, allArgs);\n\tresult = result.replace(/\\$@/g, allArgs);\n\treturn result;\n}\n\n/** Format a prompt template invocation with positional arguments. */\nexport function formatPromptTemplateInvocation(template: PromptTemplate, args: string[] = []): string {\n\treturn substituteArgs(template.content, args);\n}\n"]}
@@ -1,26 +0,0 @@
1
- import type { FileSystem, JsonlSessionCreateOptions, JsonlSessionListOptions, JsonlSessionMetadata, JsonlSessionRepoApi, Session } from "../types.ts";
2
- type JsonlSessionRepoFileSystem = Pick<FileSystem, "cwd" | "absolutePath" | "joinPath" | "readTextFile" | "readTextLines" | "writeFile" | "appendFile" | "listDir" | "exists" | "createDir" | "remove">;
3
- export declare class JsonlSessionRepo implements JsonlSessionRepoApi {
4
- private readonly fs;
5
- private readonly sessionsRootInput;
6
- private sessionsRoot;
7
- constructor(options: {
8
- fs: JsonlSessionRepoFileSystem;
9
- sessionsRoot: string;
10
- });
11
- private getSessionsRoot;
12
- private getSessionDir;
13
- private createSessionFilePath;
14
- create(options: JsonlSessionCreateOptions): Promise<Session<JsonlSessionMetadata>>;
15
- open(metadata: JsonlSessionMetadata): Promise<Session<JsonlSessionMetadata>>;
16
- list(options?: JsonlSessionListOptions): Promise<JsonlSessionMetadata[]>;
17
- delete(metadata: JsonlSessionMetadata): Promise<void>;
18
- fork(sourceMetadata: JsonlSessionMetadata, options: JsonlSessionCreateOptions & {
19
- entryId?: string;
20
- position?: "before" | "at";
21
- id?: string;
22
- }): Promise<Session<JsonlSessionMetadata>>;
23
- private listSessionDirs;
24
- }
25
- export {};
26
- //# sourceMappingURL=jsonl-repo.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"jsonl-repo.d.ts","sourceRoot":"","sources":["../../../src/harness/session/jsonl-repo.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACX,UAAU,EACV,yBAAyB,EACzB,uBAAuB,EACvB,oBAAoB,EACpB,mBAAmB,EACnB,OAAO,EACP,MAAM,aAAa,CAAC;AAWrB,KAAK,0BAA0B,GAAG,IAAI,CACrC,UAAU,EACR,KAAK,GACL,cAAc,GACd,UAAU,GACV,cAAc,GACd,eAAe,GACf,WAAW,GACX,YAAY,GACZ,SAAS,GACT,QAAQ,GACR,WAAW,GACX,QAAQ,CACV,CAAC;AAMF,qBAAa,gBAAiB,YAAW,mBAAmB;IAC3D,OAAO,CAAC,QAAQ,CAAC,EAAE,CAA6B;IAChD,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAS;IAC3C,OAAO,CAAC,YAAY,CAAqB;IAEzC,YAAY,OAAO,EAAE;QAAE,EAAE,EAAE,0BAA0B,CAAC;QAAC,YAAY,EAAE,MAAM,CAAA;KAAE,EAG5E;YAEa,eAAe;YAUf,aAAa;YAOb,qBAAqB;IAU7B,MAAM,CAAC,OAAO,EAAE,yBAAyB,GAAG,OAAO,CAAC,OAAO,CAAC,oBAAoB,CAAC,CAAC,CAevF;IAEK,IAAI,CAAC,QAAQ,EAAE,oBAAoB,GAAG,OAAO,CAAC,OAAO,CAAC,oBAAoB,CAAC,CAAC,CAQjF;IAEK,IAAI,CAAC,OAAO,GAAE,uBAA4B,GAAG,OAAO,CAAC,oBAAoB,EAAE,CAAC,CAsBjF;IAEK,MAAM,CAAC,QAAQ,EAAE,oBAAoB,GAAG,OAAO,CAAC,IAAI,CAAC,CAK1D;IAEK,IAAI,CACT,cAAc,EAAE,oBAAoB,EACpC,OAAO,EAAE,yBAAyB,GAAG;QAAE,OAAO,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,QAAQ,GAAG,IAAI,CAAC;QAAC,EAAE,CAAC,EAAE,MAAM,CAAA;KAAE,GAChG,OAAO,CAAC,OAAO,CAAC,oBAAoB,CAAC,CAAC,CAuBxC;YAEa,eAAe;CAgB7B","sourcesContent":["import type {\n\tFileSystem,\n\tJsonlSessionCreateOptions,\n\tJsonlSessionListOptions,\n\tJsonlSessionMetadata,\n\tJsonlSessionRepoApi,\n\tSession,\n} from \"../types.ts\";\nimport { SessionError, toError } from \"../types.ts\";\nimport { JsonlSessionStorage, loadJsonlSessionMetadata } from \"./jsonl-storage.ts\";\nimport {\n\tcreateSessionId,\n\tcreateTimestamp,\n\tgetEntriesToFork,\n\tgetFileSystemResultOrThrow,\n\ttoSession,\n} from \"./repo-utils.ts\";\n\ntype JsonlSessionRepoFileSystem = Pick<\n\tFileSystem,\n\t| \"cwd\"\n\t| \"absolutePath\"\n\t| \"joinPath\"\n\t| \"readTextFile\"\n\t| \"readTextLines\"\n\t| \"writeFile\"\n\t| \"appendFile\"\n\t| \"listDir\"\n\t| \"exists\"\n\t| \"createDir\"\n\t| \"remove\"\n>;\n\nfunction encodeCwd(cwd: string): string {\n\treturn `--${cwd.replace(/^[/\\\\]/, \"\").replace(/[/\\\\:]/g, \"-\")}--`;\n}\n\nexport class JsonlSessionRepo implements JsonlSessionRepoApi {\n\tprivate readonly fs: JsonlSessionRepoFileSystem;\n\tprivate readonly sessionsRootInput: string;\n\tprivate sessionsRoot: string | undefined;\n\n\tconstructor(options: { fs: JsonlSessionRepoFileSystem; sessionsRoot: string }) {\n\t\tthis.fs = options.fs;\n\t\tthis.sessionsRootInput = options.sessionsRoot;\n\t}\n\n\tprivate async getSessionsRoot(): Promise<string> {\n\t\tif (!this.sessionsRoot) {\n\t\t\tthis.sessionsRoot = getFileSystemResultOrThrow(\n\t\t\t\tawait this.fs.absolutePath(this.sessionsRootInput),\n\t\t\t\t`Failed to resolve sessions root ${this.sessionsRootInput}`,\n\t\t\t);\n\t\t}\n\t\treturn this.sessionsRoot;\n\t}\n\n\tprivate async getSessionDir(cwd: string): Promise<string> {\n\t\treturn getFileSystemResultOrThrow(\n\t\t\tawait this.fs.joinPath([await this.getSessionsRoot(), encodeCwd(cwd)]),\n\t\t\t`Failed to resolve session directory for ${cwd}`,\n\t\t);\n\t}\n\n\tprivate async createSessionFilePath(cwd: string, sessionId: string, timestamp: string): Promise<string> {\n\t\treturn getFileSystemResultOrThrow(\n\t\t\tawait this.fs.joinPath([\n\t\t\t\tawait this.getSessionDir(cwd),\n\t\t\t\t`${timestamp.replace(/[:.]/g, \"-\")}_${sessionId}.jsonl`,\n\t\t\t]),\n\t\t\t`Failed to resolve session file path for ${sessionId}`,\n\t\t);\n\t}\n\n\tasync create(options: JsonlSessionCreateOptions): Promise<Session<JsonlSessionMetadata>> {\n\t\tconst id = options.id ?? createSessionId();\n\t\tconst createdAt = createTimestamp();\n\t\tconst sessionDir = await this.getSessionDir(options.cwd);\n\t\tgetFileSystemResultOrThrow(\n\t\t\tawait this.fs.createDir(sessionDir, { recursive: true }),\n\t\t\t`Failed to create session directory ${sessionDir}`,\n\t\t);\n\t\tconst filePath = await this.createSessionFilePath(options.cwd, id, createdAt);\n\t\tconst storage = await JsonlSessionStorage.create(this.fs, filePath, {\n\t\t\tcwd: options.cwd,\n\t\t\tsessionId: id,\n\t\t\tparentSessionPath: options.parentSessionPath,\n\t\t});\n\t\treturn toSession(storage);\n\t}\n\n\tasync open(metadata: JsonlSessionMetadata): Promise<Session<JsonlSessionMetadata>> {\n\t\tif (\n\t\t\t!getFileSystemResultOrThrow(await this.fs.exists(metadata.path), `Failed to check session ${metadata.path}`)\n\t\t) {\n\t\t\tthrow new SessionError(\"not_found\", `Session not found: ${metadata.path}`);\n\t\t}\n\t\tconst storage = await JsonlSessionStorage.open(this.fs, metadata.path);\n\t\treturn toSession(storage);\n\t}\n\n\tasync list(options: JsonlSessionListOptions = {}): Promise<JsonlSessionMetadata[]> {\n\t\tconst dirs = options.cwd ? [await this.getSessionDir(options.cwd)] : await this.listSessionDirs();\n\t\tconst sessions: JsonlSessionMetadata[] = [];\n\t\tfor (const dir of dirs) {\n\t\t\tif (!getFileSystemResultOrThrow(await this.fs.exists(dir), `Failed to check session directory ${dir}`)) {\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\tconst files = getFileSystemResultOrThrow(\n\t\t\t\tawait this.fs.listDir(dir),\n\t\t\t\t`Failed to list sessions in ${dir}`,\n\t\t\t).filter((file) => file.kind !== \"directory\" && file.name.endsWith(\".jsonl\"));\n\t\t\tfor (const file of files) {\n\t\t\t\ttry {\n\t\t\t\t\tsessions.push(await loadJsonlSessionMetadata(this.fs, file.path));\n\t\t\t\t} catch (error) {\n\t\t\t\t\tconst cause = toError(error);\n\t\t\t\t\tif (!(cause instanceof SessionError) || cause.code !== \"invalid_session\") throw cause;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tsessions.sort((a, b) => new Date(b.createdAt).getTime() - new Date(a.createdAt).getTime());\n\t\treturn sessions;\n\t}\n\n\tasync delete(metadata: JsonlSessionMetadata): Promise<void> {\n\t\tgetFileSystemResultOrThrow(\n\t\t\tawait this.fs.remove(metadata.path, { force: true }),\n\t\t\t`Failed to delete session ${metadata.path}`,\n\t\t);\n\t}\n\n\tasync fork(\n\t\tsourceMetadata: JsonlSessionMetadata,\n\t\toptions: JsonlSessionCreateOptions & { entryId?: string; position?: \"before\" | \"at\"; id?: string },\n\t): Promise<Session<JsonlSessionMetadata>> {\n\t\tconst source = await this.open(sourceMetadata);\n\t\tconst forkedEntries = await getEntriesToFork(source.getStorage(), options);\n\t\tconst id = options.id ?? createSessionId();\n\t\tconst createdAt = createTimestamp();\n\t\tconst sessionDir = await this.getSessionDir(options.cwd);\n\t\tgetFileSystemResultOrThrow(\n\t\t\tawait this.fs.createDir(sessionDir, { recursive: true }),\n\t\t\t`Failed to create session directory ${sessionDir}`,\n\t\t);\n\t\tconst storage = await JsonlSessionStorage.create(\n\t\t\tthis.fs,\n\t\t\tawait this.createSessionFilePath(options.cwd, id, createdAt),\n\t\t\t{\n\t\t\t\tcwd: options.cwd,\n\t\t\t\tsessionId: id,\n\t\t\t\tparentSessionPath: options.parentSessionPath ?? sourceMetadata.path,\n\t\t\t},\n\t\t);\n\t\tfor (const entry of forkedEntries) {\n\t\t\tawait storage.appendEntry(entry);\n\t\t}\n\t\treturn toSession(storage);\n\t}\n\n\tprivate async listSessionDirs(): Promise<string[]> {\n\t\tconst sessionsRoot = await this.getSessionsRoot();\n\t\tif (\n\t\t\t!getFileSystemResultOrThrow(\n\t\t\t\tawait this.fs.exists(sessionsRoot),\n\t\t\t\t`Failed to check sessions root ${sessionsRoot}`,\n\t\t\t)\n\t\t) {\n\t\t\treturn [];\n\t\t}\n\t\tconst entries = getFileSystemResultOrThrow(\n\t\t\tawait this.fs.listDir(sessionsRoot),\n\t\t\t`Failed to list sessions root ${sessionsRoot}`,\n\t\t);\n\t\treturn entries.filter((entry) => entry.kind === \"directory\").map((entry) => entry.path);\n\t}\n}\n"]}
@@ -1,101 +0,0 @@
1
- import { SessionError, toError } from "../types.js";
2
- import { JsonlSessionStorage, loadJsonlSessionMetadata } from "./jsonl-storage.js";
3
- import { createSessionId, createTimestamp, getEntriesToFork, getFileSystemResultOrThrow, toSession, } from "./repo-utils.js";
4
- function encodeCwd(cwd) {
5
- return `--${cwd.replace(/^[/\\]/, "").replace(/[/\\:]/g, "-")}--`;
6
- }
7
- export class JsonlSessionRepo {
8
- fs;
9
- sessionsRootInput;
10
- sessionsRoot;
11
- constructor(options) {
12
- this.fs = options.fs;
13
- this.sessionsRootInput = options.sessionsRoot;
14
- }
15
- async getSessionsRoot() {
16
- if (!this.sessionsRoot) {
17
- this.sessionsRoot = getFileSystemResultOrThrow(await this.fs.absolutePath(this.sessionsRootInput), `Failed to resolve sessions root ${this.sessionsRootInput}`);
18
- }
19
- return this.sessionsRoot;
20
- }
21
- async getSessionDir(cwd) {
22
- return getFileSystemResultOrThrow(await this.fs.joinPath([await this.getSessionsRoot(), encodeCwd(cwd)]), `Failed to resolve session directory for ${cwd}`);
23
- }
24
- async createSessionFilePath(cwd, sessionId, timestamp) {
25
- return getFileSystemResultOrThrow(await this.fs.joinPath([
26
- await this.getSessionDir(cwd),
27
- `${timestamp.replace(/[:.]/g, "-")}_${sessionId}.jsonl`,
28
- ]), `Failed to resolve session file path for ${sessionId}`);
29
- }
30
- async create(options) {
31
- const id = options.id ?? createSessionId();
32
- const createdAt = createTimestamp();
33
- const sessionDir = await this.getSessionDir(options.cwd);
34
- getFileSystemResultOrThrow(await this.fs.createDir(sessionDir, { recursive: true }), `Failed to create session directory ${sessionDir}`);
35
- const filePath = await this.createSessionFilePath(options.cwd, id, createdAt);
36
- const storage = await JsonlSessionStorage.create(this.fs, filePath, {
37
- cwd: options.cwd,
38
- sessionId: id,
39
- parentSessionPath: options.parentSessionPath,
40
- });
41
- return toSession(storage);
42
- }
43
- async open(metadata) {
44
- if (!getFileSystemResultOrThrow(await this.fs.exists(metadata.path), `Failed to check session ${metadata.path}`)) {
45
- throw new SessionError("not_found", `Session not found: ${metadata.path}`);
46
- }
47
- const storage = await JsonlSessionStorage.open(this.fs, metadata.path);
48
- return toSession(storage);
49
- }
50
- async list(options = {}) {
51
- const dirs = options.cwd ? [await this.getSessionDir(options.cwd)] : await this.listSessionDirs();
52
- const sessions = [];
53
- for (const dir of dirs) {
54
- if (!getFileSystemResultOrThrow(await this.fs.exists(dir), `Failed to check session directory ${dir}`)) {
55
- continue;
56
- }
57
- const files = getFileSystemResultOrThrow(await this.fs.listDir(dir), `Failed to list sessions in ${dir}`).filter((file) => file.kind !== "directory" && file.name.endsWith(".jsonl"));
58
- for (const file of files) {
59
- try {
60
- sessions.push(await loadJsonlSessionMetadata(this.fs, file.path));
61
- }
62
- catch (error) {
63
- const cause = toError(error);
64
- if (!(cause instanceof SessionError) || cause.code !== "invalid_session")
65
- throw cause;
66
- }
67
- }
68
- }
69
- sessions.sort((a, b) => new Date(b.createdAt).getTime() - new Date(a.createdAt).getTime());
70
- return sessions;
71
- }
72
- async delete(metadata) {
73
- getFileSystemResultOrThrow(await this.fs.remove(metadata.path, { force: true }), `Failed to delete session ${metadata.path}`);
74
- }
75
- async fork(sourceMetadata, options) {
76
- const source = await this.open(sourceMetadata);
77
- const forkedEntries = await getEntriesToFork(source.getStorage(), options);
78
- const id = options.id ?? createSessionId();
79
- const createdAt = createTimestamp();
80
- const sessionDir = await this.getSessionDir(options.cwd);
81
- getFileSystemResultOrThrow(await this.fs.createDir(sessionDir, { recursive: true }), `Failed to create session directory ${sessionDir}`);
82
- const storage = await JsonlSessionStorage.create(this.fs, await this.createSessionFilePath(options.cwd, id, createdAt), {
83
- cwd: options.cwd,
84
- sessionId: id,
85
- parentSessionPath: options.parentSessionPath ?? sourceMetadata.path,
86
- });
87
- for (const entry of forkedEntries) {
88
- await storage.appendEntry(entry);
89
- }
90
- return toSession(storage);
91
- }
92
- async listSessionDirs() {
93
- const sessionsRoot = await this.getSessionsRoot();
94
- if (!getFileSystemResultOrThrow(await this.fs.exists(sessionsRoot), `Failed to check sessions root ${sessionsRoot}`)) {
95
- return [];
96
- }
97
- const entries = getFileSystemResultOrThrow(await this.fs.listDir(sessionsRoot), `Failed to list sessions root ${sessionsRoot}`);
98
- return entries.filter((entry) => entry.kind === "directory").map((entry) => entry.path);
99
- }
100
- }
101
- //# sourceMappingURL=jsonl-repo.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"jsonl-repo.js","sourceRoot":"","sources":["../../../src/harness/session/jsonl-repo.ts"],"names":[],"mappings":"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","sourcesContent":["import type {\n\tFileSystem,\n\tJsonlSessionCreateOptions,\n\tJsonlSessionListOptions,\n\tJsonlSessionMetadata,\n\tJsonlSessionRepoApi,\n\tSession,\n} from \"../types.ts\";\nimport { SessionError, toError } from \"../types.ts\";\nimport { JsonlSessionStorage, loadJsonlSessionMetadata } from \"./jsonl-storage.ts\";\nimport {\n\tcreateSessionId,\n\tcreateTimestamp,\n\tgetEntriesToFork,\n\tgetFileSystemResultOrThrow,\n\ttoSession,\n} from \"./repo-utils.ts\";\n\ntype JsonlSessionRepoFileSystem = Pick<\n\tFileSystem,\n\t| \"cwd\"\n\t| \"absolutePath\"\n\t| \"joinPath\"\n\t| \"readTextFile\"\n\t| \"readTextLines\"\n\t| \"writeFile\"\n\t| \"appendFile\"\n\t| \"listDir\"\n\t| \"exists\"\n\t| \"createDir\"\n\t| \"remove\"\n>;\n\nfunction encodeCwd(cwd: string): string {\n\treturn `--${cwd.replace(/^[/\\\\]/, \"\").replace(/[/\\\\:]/g, \"-\")}--`;\n}\n\nexport class JsonlSessionRepo implements JsonlSessionRepoApi {\n\tprivate readonly fs: JsonlSessionRepoFileSystem;\n\tprivate readonly sessionsRootInput: string;\n\tprivate sessionsRoot: string | undefined;\n\n\tconstructor(options: { fs: JsonlSessionRepoFileSystem; sessionsRoot: string }) {\n\t\tthis.fs = options.fs;\n\t\tthis.sessionsRootInput = options.sessionsRoot;\n\t}\n\n\tprivate async getSessionsRoot(): Promise<string> {\n\t\tif (!this.sessionsRoot) {\n\t\t\tthis.sessionsRoot = getFileSystemResultOrThrow(\n\t\t\t\tawait this.fs.absolutePath(this.sessionsRootInput),\n\t\t\t\t`Failed to resolve sessions root ${this.sessionsRootInput}`,\n\t\t\t);\n\t\t}\n\t\treturn this.sessionsRoot;\n\t}\n\n\tprivate async getSessionDir(cwd: string): Promise<string> {\n\t\treturn getFileSystemResultOrThrow(\n\t\t\tawait this.fs.joinPath([await this.getSessionsRoot(), encodeCwd(cwd)]),\n\t\t\t`Failed to resolve session directory for ${cwd}`,\n\t\t);\n\t}\n\n\tprivate async createSessionFilePath(cwd: string, sessionId: string, timestamp: string): Promise<string> {\n\t\treturn getFileSystemResultOrThrow(\n\t\t\tawait this.fs.joinPath([\n\t\t\t\tawait this.getSessionDir(cwd),\n\t\t\t\t`${timestamp.replace(/[:.]/g, \"-\")}_${sessionId}.jsonl`,\n\t\t\t]),\n\t\t\t`Failed to resolve session file path for ${sessionId}`,\n\t\t);\n\t}\n\n\tasync create(options: JsonlSessionCreateOptions): Promise<Session<JsonlSessionMetadata>> {\n\t\tconst id = options.id ?? createSessionId();\n\t\tconst createdAt = createTimestamp();\n\t\tconst sessionDir = await this.getSessionDir(options.cwd);\n\t\tgetFileSystemResultOrThrow(\n\t\t\tawait this.fs.createDir(sessionDir, { recursive: true }),\n\t\t\t`Failed to create session directory ${sessionDir}`,\n\t\t);\n\t\tconst filePath = await this.createSessionFilePath(options.cwd, id, createdAt);\n\t\tconst storage = await JsonlSessionStorage.create(this.fs, filePath, {\n\t\t\tcwd: options.cwd,\n\t\t\tsessionId: id,\n\t\t\tparentSessionPath: options.parentSessionPath,\n\t\t});\n\t\treturn toSession(storage);\n\t}\n\n\tasync open(metadata: JsonlSessionMetadata): Promise<Session<JsonlSessionMetadata>> {\n\t\tif (\n\t\t\t!getFileSystemResultOrThrow(await this.fs.exists(metadata.path), `Failed to check session ${metadata.path}`)\n\t\t) {\n\t\t\tthrow new SessionError(\"not_found\", `Session not found: ${metadata.path}`);\n\t\t}\n\t\tconst storage = await JsonlSessionStorage.open(this.fs, metadata.path);\n\t\treturn toSession(storage);\n\t}\n\n\tasync list(options: JsonlSessionListOptions = {}): Promise<JsonlSessionMetadata[]> {\n\t\tconst dirs = options.cwd ? [await this.getSessionDir(options.cwd)] : await this.listSessionDirs();\n\t\tconst sessions: JsonlSessionMetadata[] = [];\n\t\tfor (const dir of dirs) {\n\t\t\tif (!getFileSystemResultOrThrow(await this.fs.exists(dir), `Failed to check session directory ${dir}`)) {\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\tconst files = getFileSystemResultOrThrow(\n\t\t\t\tawait this.fs.listDir(dir),\n\t\t\t\t`Failed to list sessions in ${dir}`,\n\t\t\t).filter((file) => file.kind !== \"directory\" && file.name.endsWith(\".jsonl\"));\n\t\t\tfor (const file of files) {\n\t\t\t\ttry {\n\t\t\t\t\tsessions.push(await loadJsonlSessionMetadata(this.fs, file.path));\n\t\t\t\t} catch (error) {\n\t\t\t\t\tconst cause = toError(error);\n\t\t\t\t\tif (!(cause instanceof SessionError) || cause.code !== \"invalid_session\") throw cause;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tsessions.sort((a, b) => new Date(b.createdAt).getTime() - new Date(a.createdAt).getTime());\n\t\treturn sessions;\n\t}\n\n\tasync delete(metadata: JsonlSessionMetadata): Promise<void> {\n\t\tgetFileSystemResultOrThrow(\n\t\t\tawait this.fs.remove(metadata.path, { force: true }),\n\t\t\t`Failed to delete session ${metadata.path}`,\n\t\t);\n\t}\n\n\tasync fork(\n\t\tsourceMetadata: JsonlSessionMetadata,\n\t\toptions: JsonlSessionCreateOptions & { entryId?: string; position?: \"before\" | \"at\"; id?: string },\n\t): Promise<Session<JsonlSessionMetadata>> {\n\t\tconst source = await this.open(sourceMetadata);\n\t\tconst forkedEntries = await getEntriesToFork(source.getStorage(), options);\n\t\tconst id = options.id ?? createSessionId();\n\t\tconst createdAt = createTimestamp();\n\t\tconst sessionDir = await this.getSessionDir(options.cwd);\n\t\tgetFileSystemResultOrThrow(\n\t\t\tawait this.fs.createDir(sessionDir, { recursive: true }),\n\t\t\t`Failed to create session directory ${sessionDir}`,\n\t\t);\n\t\tconst storage = await JsonlSessionStorage.create(\n\t\t\tthis.fs,\n\t\t\tawait this.createSessionFilePath(options.cwd, id, createdAt),\n\t\t\t{\n\t\t\t\tcwd: options.cwd,\n\t\t\t\tsessionId: id,\n\t\t\t\tparentSessionPath: options.parentSessionPath ?? sourceMetadata.path,\n\t\t\t},\n\t\t);\n\t\tfor (const entry of forkedEntries) {\n\t\t\tawait storage.appendEntry(entry);\n\t\t}\n\t\treturn toSession(storage);\n\t}\n\n\tprivate async listSessionDirs(): Promise<string[]> {\n\t\tconst sessionsRoot = await this.getSessionsRoot();\n\t\tif (\n\t\t\t!getFileSystemResultOrThrow(\n\t\t\t\tawait this.fs.exists(sessionsRoot),\n\t\t\t\t`Failed to check sessions root ${sessionsRoot}`,\n\t\t\t)\n\t\t) {\n\t\t\treturn [];\n\t\t}\n\t\tconst entries = getFileSystemResultOrThrow(\n\t\t\tawait this.fs.listDir(sessionsRoot),\n\t\t\t`Failed to list sessions root ${sessionsRoot}`,\n\t\t);\n\t\treturn entries.filter((entry) => entry.kind === \"directory\").map((entry) => entry.path);\n\t}\n}\n"]}