@dexto/core 1.4.0 → 1.5.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (514) hide show
  1. package/README.md +36 -0
  2. package/dist/agent/DextoAgent.cjs +22 -3
  3. package/dist/agent/DextoAgent.d.ts +19 -2
  4. package/dist/agent/DextoAgent.d.ts.map +1 -1
  5. package/dist/agent/DextoAgent.js +23 -4
  6. package/dist/agent/index.cjs +4 -1
  7. package/dist/agent/index.d.ts +1 -1
  8. package/dist/agent/index.d.ts.map +1 -1
  9. package/dist/agent/index.js +5 -1
  10. package/dist/agent/schemas.cjs +90 -71
  11. package/dist/agent/schemas.d.ts +5959 -96
  12. package/dist/agent/schemas.d.ts.map +1 -1
  13. package/dist/agent/schemas.js +87 -66
  14. package/dist/approval/manager.cjs +165 -1
  15. package/dist/approval/manager.d.ts +91 -2
  16. package/dist/approval/manager.d.ts.map +1 -1
  17. package/dist/approval/manager.js +155 -1
  18. package/dist/approval/schemas.cjs +39 -3
  19. package/dist/approval/schemas.d.ts +238 -1
  20. package/dist/approval/schemas.d.ts.map +1 -1
  21. package/dist/approval/schemas.js +35 -3
  22. package/dist/approval/types.cjs +1 -0
  23. package/dist/approval/types.d.ts +26 -1
  24. package/dist/approval/types.d.ts.map +1 -1
  25. package/dist/approval/types.js +1 -0
  26. package/dist/context/compaction/factory.cjs +57 -0
  27. package/dist/context/compaction/factory.d.ts +17 -0
  28. package/dist/context/compaction/factory.d.ts.map +1 -0
  29. package/dist/context/compaction/factory.js +34 -0
  30. package/dist/context/compaction/index.cjs +49 -0
  31. package/dist/context/compaction/index.d.ts +11 -0
  32. package/dist/context/compaction/index.d.ts.map +1 -0
  33. package/dist/context/compaction/index.js +19 -0
  34. package/dist/context/{compression → compaction}/overflow.cjs +3 -3
  35. package/dist/context/{compression → compaction}/overflow.d.ts +4 -4
  36. package/dist/context/compaction/overflow.d.ts.map +1 -0
  37. package/dist/context/{compression → compaction}/overflow.js +2 -2
  38. package/dist/context/compaction/provider.cjs +16 -0
  39. package/dist/context/compaction/provider.d.ts +48 -0
  40. package/dist/context/compaction/provider.d.ts.map +1 -0
  41. package/dist/context/compaction/providers/noop-provider.cjs +48 -0
  42. package/dist/context/compaction/providers/noop-provider.d.ts +24 -0
  43. package/dist/context/compaction/providers/noop-provider.d.ts.map +1 -0
  44. package/dist/context/compaction/providers/noop-provider.js +24 -0
  45. package/dist/context/compaction/providers/reactive-overflow-provider.cjs +61 -0
  46. package/dist/context/compaction/providers/reactive-overflow-provider.d.ts +36 -0
  47. package/dist/context/compaction/providers/reactive-overflow-provider.d.ts.map +1 -0
  48. package/dist/context/compaction/providers/reactive-overflow-provider.js +37 -0
  49. package/dist/context/compaction/registry.cjs +39 -0
  50. package/dist/context/compaction/registry.d.ts +19 -0
  51. package/dist/context/compaction/registry.d.ts.map +1 -0
  52. package/dist/context/compaction/registry.js +16 -0
  53. package/dist/context/compaction/schemas.cjs +38 -0
  54. package/dist/context/compaction/schemas.d.ts +24 -0
  55. package/dist/context/compaction/schemas.d.ts.map +1 -0
  56. package/dist/context/compaction/schemas.js +14 -0
  57. package/dist/context/compaction/strategies/noop.cjs +36 -0
  58. package/dist/context/compaction/strategies/noop.d.ts +18 -0
  59. package/dist/context/compaction/strategies/noop.d.ts.map +1 -0
  60. package/dist/context/compaction/strategies/noop.js +13 -0
  61. package/dist/context/{compression → compaction/strategies}/reactive-overflow.cjs +3 -3
  62. package/dist/context/{compression → compaction/strategies}/reactive-overflow.d.ts +6 -6
  63. package/dist/context/compaction/strategies/reactive-overflow.d.ts.map +1 -0
  64. package/dist/context/{compression → compaction/strategies}/reactive-overflow.js +4 -4
  65. package/dist/context/{compression → compaction}/types.d.ts +4 -4
  66. package/dist/context/compaction/types.d.ts.map +1 -0
  67. package/dist/context/compaction/types.js +0 -0
  68. package/dist/context/error-codes.cjs +4 -0
  69. package/dist/context/error-codes.d.ts +4 -0
  70. package/dist/context/error-codes.d.ts.map +1 -1
  71. package/dist/context/error-codes.js +4 -0
  72. package/dist/context/errors.cjs +40 -0
  73. package/dist/context/errors.d.ts +14 -0
  74. package/dist/context/errors.d.ts.map +1 -1
  75. package/dist/context/errors.js +40 -0
  76. package/dist/context/index.cjs +3 -1
  77. package/dist/context/index.d.ts +1 -0
  78. package/dist/context/index.d.ts.map +1 -1
  79. package/dist/context/index.js +1 -0
  80. package/dist/context/types.d.ts +6 -0
  81. package/dist/context/types.d.ts.map +1 -1
  82. package/dist/context/utils.cjs +27 -7
  83. package/dist/context/utils.d.ts.map +1 -1
  84. package/dist/context/utils.js +27 -7
  85. package/dist/errors/result-bridge.cjs +2 -3
  86. package/dist/errors/result-bridge.d.ts.map +1 -1
  87. package/dist/errors/result-bridge.js +2 -3
  88. package/dist/events/index.cjs +6 -3
  89. package/dist/events/index.d.ts +35 -19
  90. package/dist/events/index.d.ts.map +1 -1
  91. package/dist/events/index.js +5 -3
  92. package/dist/filesystem/filesystem-service.cjs +39 -0
  93. package/dist/filesystem/filesystem-service.d.ts +32 -0
  94. package/dist/filesystem/filesystem-service.d.ts.map +1 -1
  95. package/dist/filesystem/filesystem-service.js +39 -0
  96. package/dist/filesystem/index.d.ts +1 -1
  97. package/dist/filesystem/index.d.ts.map +1 -1
  98. package/dist/filesystem/path-validator.cjs +69 -1
  99. package/dist/filesystem/path-validator.d.ts +43 -2
  100. package/dist/filesystem/path-validator.d.ts.map +1 -1
  101. package/dist/filesystem/path-validator.js +69 -1
  102. package/dist/image/define-image.cjs +146 -0
  103. package/dist/image/define-image.d.ts +71 -0
  104. package/dist/image/define-image.d.ts.map +1 -0
  105. package/dist/image/define-image.js +121 -0
  106. package/dist/image/index.cjs +32 -0
  107. package/dist/image/index.d.ts +53 -0
  108. package/dist/image/index.d.ts.map +1 -0
  109. package/dist/image/index.js +7 -0
  110. package/dist/image/types.cjs +16 -0
  111. package/dist/image/types.d.ts +231 -0
  112. package/dist/image/types.d.ts.map +1 -0
  113. package/dist/image/types.js +0 -0
  114. package/dist/index.cjs +5 -1
  115. package/dist/index.d.ts +2 -0
  116. package/dist/index.d.ts.map +1 -1
  117. package/dist/index.js +2 -0
  118. package/dist/llm/error-codes.cjs +1 -0
  119. package/dist/llm/error-codes.d.ts +1 -0
  120. package/dist/llm/error-codes.d.ts.map +1 -1
  121. package/dist/llm/error-codes.js +1 -0
  122. package/dist/llm/errors.cjs +24 -0
  123. package/dist/llm/errors.d.ts +19 -6
  124. package/dist/llm/errors.d.ts.map +1 -1
  125. package/dist/llm/errors.js +24 -0
  126. package/dist/llm/executor/provider-options.cjs +87 -0
  127. package/dist/llm/executor/provider-options.d.ts +49 -0
  128. package/dist/llm/executor/provider-options.d.ts.map +1 -0
  129. package/dist/llm/executor/provider-options.js +63 -0
  130. package/dist/llm/executor/stream-processor.cjs +22 -11
  131. package/dist/llm/executor/stream-processor.d.ts.map +1 -1
  132. package/dist/llm/executor/stream-processor.js +22 -11
  133. package/dist/llm/executor/turn-executor.cjs +60 -23
  134. package/dist/llm/executor/turn-executor.d.ts +7 -5
  135. package/dist/llm/executor/turn-executor.d.ts.map +1 -1
  136. package/dist/llm/executor/turn-executor.js +60 -23
  137. package/dist/llm/formatters/vercel.cjs +15 -3
  138. package/dist/llm/formatters/vercel.d.ts.map +1 -1
  139. package/dist/llm/formatters/vercel.js +15 -3
  140. package/dist/llm/index.cjs +18 -1
  141. package/dist/llm/index.d.ts +2 -0
  142. package/dist/llm/index.d.ts.map +1 -1
  143. package/dist/llm/index.js +14 -0
  144. package/dist/llm/providers/local/ai-sdk-adapter.cjs +308 -0
  145. package/dist/llm/providers/local/ai-sdk-adapter.d.ts +29 -0
  146. package/dist/llm/providers/local/ai-sdk-adapter.d.ts.map +1 -0
  147. package/dist/llm/providers/local/ai-sdk-adapter.js +278 -0
  148. package/dist/llm/providers/local/downloader.cjs +291 -0
  149. package/dist/llm/providers/local/downloader.d.ts +82 -0
  150. package/dist/llm/providers/local/downloader.d.ts.map +1 -0
  151. package/dist/llm/providers/local/downloader.js +251 -0
  152. package/dist/llm/providers/local/error-codes.cjs +57 -0
  153. package/dist/llm/providers/local/error-codes.d.ts +66 -0
  154. package/dist/llm/providers/local/error-codes.d.ts.map +1 -0
  155. package/dist/llm/providers/local/error-codes.js +34 -0
  156. package/dist/llm/providers/local/errors.cjs +240 -0
  157. package/dist/llm/providers/local/errors.d.ts +31 -0
  158. package/dist/llm/providers/local/errors.d.ts.map +1 -0
  159. package/dist/llm/providers/local/errors.js +217 -0
  160. package/dist/llm/providers/local/gpu-detector.cjs +214 -0
  161. package/dist/llm/providers/local/gpu-detector.d.ts +28 -0
  162. package/dist/llm/providers/local/gpu-detector.d.ts.map +1 -0
  163. package/dist/llm/providers/local/gpu-detector.js +178 -0
  164. package/dist/llm/providers/local/index.cjs +147 -0
  165. package/dist/llm/providers/local/index.d.ts +21 -0
  166. package/dist/llm/providers/local/index.d.ts.map +1 -0
  167. package/dist/llm/providers/local/index.js +126 -0
  168. package/dist/llm/providers/local/node-llama-provider.cjs +216 -0
  169. package/dist/llm/providers/local/node-llama-provider.d.ts +90 -0
  170. package/dist/llm/providers/local/node-llama-provider.d.ts.map +1 -0
  171. package/dist/llm/providers/local/node-llama-provider.js +176 -0
  172. package/dist/llm/providers/local/ollama-provider.cjs +230 -0
  173. package/dist/llm/providers/local/ollama-provider.d.ts +70 -0
  174. package/dist/llm/providers/local/ollama-provider.d.ts.map +1 -0
  175. package/dist/llm/providers/local/ollama-provider.js +198 -0
  176. package/dist/llm/providers/local/registry.cjs +343 -0
  177. package/dist/llm/providers/local/registry.d.ts +51 -0
  178. package/dist/llm/providers/local/registry.d.ts.map +1 -0
  179. package/dist/llm/providers/local/registry.js +312 -0
  180. package/dist/llm/providers/local/schemas.cjs +169 -0
  181. package/dist/llm/providers/local/schemas.d.ts +395 -0
  182. package/dist/llm/providers/local/schemas.d.ts.map +1 -0
  183. package/dist/llm/providers/local/schemas.js +133 -0
  184. package/dist/llm/providers/local/types.cjs +16 -0
  185. package/dist/llm/providers/local/types.d.ts +219 -0
  186. package/dist/llm/providers/local/types.d.ts.map +1 -0
  187. package/dist/llm/providers/local/types.js +0 -0
  188. package/dist/llm/providers/openrouter-model-registry.cjs +350 -0
  189. package/dist/llm/providers/openrouter-model-registry.d.ts +120 -0
  190. package/dist/llm/providers/openrouter-model-registry.d.ts.map +1 -0
  191. package/dist/llm/providers/openrouter-model-registry.js +309 -0
  192. package/dist/llm/registry.cjs +604 -9
  193. package/dist/llm/registry.d.ts +35 -0
  194. package/dist/llm/registry.d.ts.map +1 -1
  195. package/dist/llm/registry.js +600 -9
  196. package/dist/llm/resolver.cjs +63 -5
  197. package/dist/llm/resolver.d.ts +3 -3
  198. package/dist/llm/resolver.d.ts.map +1 -1
  199. package/dist/llm/resolver.js +69 -6
  200. package/dist/llm/schemas.cjs +107 -81
  201. package/dist/llm/schemas.d.ts +181 -22
  202. package/dist/llm/schemas.d.ts.map +1 -1
  203. package/dist/llm/schemas.js +107 -81
  204. package/dist/llm/services/factory.cjs +87 -13
  205. package/dist/llm/services/factory.d.ts +4 -1
  206. package/dist/llm/services/factory.d.ts.map +1 -1
  207. package/dist/llm/services/factory.js +85 -12
  208. package/dist/llm/services/test-utils.integration.cjs +22 -2
  209. package/dist/llm/services/test-utils.integration.d.ts +7 -1
  210. package/dist/llm/services/test-utils.integration.d.ts.map +1 -1
  211. package/dist/llm/services/test-utils.integration.js +26 -3
  212. package/dist/llm/services/vercel.cjs +8 -3
  213. package/dist/llm/services/vercel.d.ts +3 -2
  214. package/dist/llm/services/vercel.d.ts.map +1 -1
  215. package/dist/llm/services/vercel.js +8 -3
  216. package/dist/llm/types.cjs +11 -1
  217. package/dist/llm/types.d.ts +1 -1
  218. package/dist/llm/types.d.ts.map +1 -1
  219. package/dist/llm/types.js +11 -1
  220. package/dist/logger/logger.cjs +7 -3
  221. package/dist/logger/logger.d.ts.map +1 -1
  222. package/dist/logger/logger.js +7 -3
  223. package/dist/mcp/manager.cjs +8 -0
  224. package/dist/mcp/manager.d.ts +17 -0
  225. package/dist/mcp/manager.d.ts.map +1 -1
  226. package/dist/mcp/manager.js +8 -0
  227. package/dist/mcp/mcp-client.cjs +0 -3
  228. package/dist/mcp/mcp-client.d.ts.map +1 -1
  229. package/dist/mcp/mcp-client.js +0 -3
  230. package/dist/memory/schemas.d.ts +3 -3
  231. package/dist/plugins/error-codes.cjs +3 -0
  232. package/dist/plugins/error-codes.d.ts +7 -1
  233. package/dist/plugins/error-codes.d.ts.map +1 -1
  234. package/dist/plugins/error-codes.js +3 -0
  235. package/dist/plugins/index.cjs +7 -0
  236. package/dist/plugins/index.d.ts +4 -2
  237. package/dist/plugins/index.d.ts.map +1 -1
  238. package/dist/plugins/index.js +6 -1
  239. package/dist/plugins/manager.cjs +92 -7
  240. package/dist/plugins/manager.d.ts +10 -3
  241. package/dist/plugins/manager.d.ts.map +1 -1
  242. package/dist/plugins/manager.js +92 -7
  243. package/dist/plugins/registry.cjs +63 -0
  244. package/dist/plugins/registry.d.ts +101 -0
  245. package/dist/plugins/registry.d.ts.map +1 -0
  246. package/dist/plugins/registry.js +39 -0
  247. package/dist/plugins/schemas.cjs +17 -5
  248. package/dist/plugins/schemas.d.ts +62 -5
  249. package/dist/plugins/schemas.d.ts.map +1 -1
  250. package/dist/plugins/schemas.js +15 -4
  251. package/dist/providers/base-registry.cjs +147 -0
  252. package/dist/providers/base-registry.d.ts +147 -0
  253. package/dist/providers/base-registry.d.ts.map +1 -0
  254. package/dist/providers/base-registry.js +123 -0
  255. package/dist/providers/discovery.cjs +109 -0
  256. package/dist/providers/discovery.d.ts +96 -0
  257. package/dist/providers/discovery.d.ts.map +1 -0
  258. package/dist/providers/discovery.js +84 -0
  259. package/dist/providers/index.cjs +24 -0
  260. package/dist/providers/index.d.ts +32 -0
  261. package/dist/providers/index.d.ts.map +1 -0
  262. package/dist/providers/index.js +2 -0
  263. package/dist/resources/reference-parser.cjs +3 -3
  264. package/dist/resources/reference-parser.d.ts.map +1 -1
  265. package/dist/resources/reference-parser.js +3 -3
  266. package/dist/session/chat-session.cjs +20 -3
  267. package/dist/session/chat-session.d.ts.map +1 -1
  268. package/dist/session/chat-session.js +21 -4
  269. package/dist/session/history/database.cjs +49 -15
  270. package/dist/session/history/database.d.ts.map +1 -1
  271. package/dist/session/history/database.js +49 -15
  272. package/dist/session/session-manager.cjs +2 -1
  273. package/dist/session/session-manager.d.ts.map +1 -1
  274. package/dist/session/session-manager.js +2 -1
  275. package/dist/storage/blob/factory.cjs +8 -11
  276. package/dist/storage/blob/factory.d.ts +32 -6
  277. package/dist/storage/blob/factory.d.ts.map +1 -1
  278. package/dist/storage/blob/factory.js +8 -11
  279. package/dist/storage/blob/index.cjs +56 -0
  280. package/dist/storage/blob/index.d.ts +45 -0
  281. package/dist/storage/blob/index.d.ts.map +1 -0
  282. package/dist/storage/blob/index.js +30 -0
  283. package/dist/storage/blob/provider.cjs +16 -0
  284. package/dist/storage/blob/provider.d.ts +50 -0
  285. package/dist/storage/blob/provider.d.ts.map +1 -0
  286. package/dist/storage/blob/provider.js +0 -0
  287. package/dist/storage/blob/providers/index.cjs +31 -0
  288. package/dist/storage/blob/providers/index.d.ts +8 -0
  289. package/dist/storage/blob/providers/index.d.ts.map +1 -0
  290. package/dist/storage/blob/providers/index.js +7 -0
  291. package/dist/storage/blob/providers/local.cjs +39 -0
  292. package/dist/storage/blob/providers/local.d.ts +17 -0
  293. package/dist/storage/blob/providers/local.d.ts.map +1 -0
  294. package/dist/storage/blob/providers/local.js +16 -0
  295. package/dist/storage/blob/providers/memory.cjs +39 -0
  296. package/dist/storage/blob/providers/memory.d.ts +17 -0
  297. package/dist/storage/blob/providers/memory.d.ts.map +1 -0
  298. package/dist/storage/blob/providers/memory.js +16 -0
  299. package/dist/storage/blob/registry.cjs +50 -0
  300. package/dist/storage/blob/registry.d.ts +42 -0
  301. package/dist/storage/blob/registry.d.ts.map +1 -0
  302. package/dist/storage/blob/registry.js +26 -0
  303. package/dist/storage/blob/schemas.cjs +9 -12
  304. package/dist/storage/blob/schemas.d.ts +39 -34
  305. package/dist/storage/blob/schemas.d.ts.map +1 -1
  306. package/dist/storage/blob/schemas.js +6 -11
  307. package/dist/storage/cache/factory.cjs +8 -36
  308. package/dist/storage/cache/factory.d.ts +32 -7
  309. package/dist/storage/cache/factory.d.ts.map +1 -1
  310. package/dist/storage/cache/factory.js +8 -26
  311. package/dist/storage/cache/index.cjs +53 -0
  312. package/dist/storage/cache/index.d.ts +44 -0
  313. package/dist/storage/cache/index.d.ts.map +1 -0
  314. package/dist/storage/cache/index.js +28 -0
  315. package/dist/storage/cache/provider.cjs +16 -0
  316. package/dist/storage/cache/provider.d.ts +56 -0
  317. package/dist/storage/cache/provider.d.ts.map +1 -0
  318. package/dist/storage/cache/provider.js +0 -0
  319. package/dist/storage/cache/providers/index.cjs +31 -0
  320. package/dist/storage/cache/providers/index.d.ts +8 -0
  321. package/dist/storage/cache/providers/index.d.ts.map +1 -0
  322. package/dist/storage/cache/providers/index.js +7 -0
  323. package/dist/storage/cache/providers/memory.cjs +40 -0
  324. package/dist/storage/cache/providers/memory.d.ts +17 -0
  325. package/dist/storage/cache/providers/memory.d.ts.map +1 -0
  326. package/dist/storage/cache/providers/memory.js +17 -0
  327. package/dist/storage/cache/providers/redis.cjs +66 -0
  328. package/dist/storage/cache/providers/redis.d.ts +20 -0
  329. package/dist/storage/cache/providers/redis.d.ts.map +1 -0
  330. package/dist/storage/cache/providers/redis.js +33 -0
  331. package/dist/storage/cache/registry.cjs +50 -0
  332. package/dist/storage/cache/registry.d.ts +42 -0
  333. package/dist/storage/cache/registry.d.ts.map +1 -0
  334. package/dist/storage/cache/registry.js +26 -0
  335. package/dist/storage/cache/schemas.cjs +6 -2
  336. package/dist/storage/cache/schemas.d.ts +2 -3
  337. package/dist/storage/cache/schemas.d.ts.map +1 -1
  338. package/dist/storage/cache/schemas.js +3 -1
  339. package/dist/storage/database/factory.cjs +8 -47
  340. package/dist/storage/database/factory.d.ts +34 -8
  341. package/dist/storage/database/factory.d.ts.map +1 -1
  342. package/dist/storage/database/factory.js +8 -37
  343. package/dist/storage/database/index.cjs +58 -0
  344. package/dist/storage/database/index.d.ts +45 -0
  345. package/dist/storage/database/index.d.ts.map +1 -0
  346. package/dist/storage/database/index.js +37 -0
  347. package/dist/storage/database/postgres-store.cjs +174 -78
  348. package/dist/storage/database/postgres-store.d.ts +19 -0
  349. package/dist/storage/database/postgres-store.d.ts.map +1 -1
  350. package/dist/storage/database/postgres-store.js +174 -78
  351. package/dist/storage/database/provider.cjs +16 -0
  352. package/dist/storage/database/provider.d.ts +56 -0
  353. package/dist/storage/database/provider.d.ts.map +1 -0
  354. package/dist/storage/database/provider.js +0 -0
  355. package/dist/storage/database/providers/index.cjs +34 -0
  356. package/dist/storage/database/providers/index.d.ts +9 -0
  357. package/dist/storage/database/providers/index.d.ts.map +1 -0
  358. package/dist/storage/database/providers/index.js +9 -0
  359. package/dist/storage/database/providers/memory.cjs +40 -0
  360. package/dist/storage/database/providers/memory.d.ts +16 -0
  361. package/dist/storage/database/providers/memory.d.ts.map +1 -0
  362. package/dist/storage/database/providers/memory.js +17 -0
  363. package/dist/storage/database/providers/postgres.cjs +62 -0
  364. package/dist/storage/database/providers/postgres.d.ts +19 -0
  365. package/dist/storage/database/providers/postgres.d.ts.map +1 -0
  366. package/dist/storage/database/providers/postgres.js +29 -0
  367. package/dist/storage/database/providers/sqlite.cjs +66 -0
  368. package/dist/storage/database/providers/sqlite.d.ts +20 -0
  369. package/dist/storage/database/providers/sqlite.d.ts.map +1 -0
  370. package/dist/storage/database/providers/sqlite.js +33 -0
  371. package/dist/storage/database/registry.cjs +50 -0
  372. package/dist/storage/database/registry.d.ts +42 -0
  373. package/dist/storage/database/registry.d.ts.map +1 -0
  374. package/dist/storage/database/registry.js +26 -0
  375. package/dist/storage/database/schemas.cjs +12 -3
  376. package/dist/storage/database/schemas.d.ts +11 -4
  377. package/dist/storage/database/schemas.d.ts.map +1 -1
  378. package/dist/storage/database/schemas.js +8 -2
  379. package/dist/storage/error-codes.cjs +6 -0
  380. package/dist/storage/error-codes.d.ts +7 -1
  381. package/dist/storage/error-codes.d.ts.map +1 -1
  382. package/dist/storage/error-codes.js +6 -0
  383. package/dist/storage/errors.cjs +80 -0
  384. package/dist/storage/errors.d.ts +24 -0
  385. package/dist/storage/errors.d.ts.map +1 -1
  386. package/dist/storage/errors.js +80 -0
  387. package/dist/storage/index.cjs +47 -4
  388. package/dist/storage/index.d.ts +34 -8
  389. package/dist/storage/index.d.ts.map +1 -1
  390. package/dist/storage/index.js +32 -3
  391. package/dist/storage/schemas.cjs +4 -0
  392. package/dist/storage/schemas.d.ts +24 -50
  393. package/dist/storage/schemas.d.ts.map +1 -1
  394. package/dist/storage/schemas.js +5 -1
  395. package/dist/storage/storage-manager.cjs +6 -6
  396. package/dist/storage/storage-manager.d.ts.map +1 -1
  397. package/dist/storage/storage-manager.js +3 -3
  398. package/dist/systemPrompt/in-built-prompts.cjs +7 -6
  399. package/dist/systemPrompt/in-built-prompts.d.ts +2 -2
  400. package/dist/systemPrompt/in-built-prompts.d.ts.map +1 -1
  401. package/dist/systemPrompt/in-built-prompts.js +6 -5
  402. package/dist/systemPrompt/registry.cjs +2 -2
  403. package/dist/systemPrompt/registry.d.ts +1 -1
  404. package/dist/systemPrompt/registry.d.ts.map +1 -1
  405. package/dist/systemPrompt/registry.js +2 -2
  406. package/dist/systemPrompt/schemas.cjs +2 -2
  407. package/dist/systemPrompt/schemas.d.ts +13 -13
  408. package/dist/systemPrompt/schemas.js +2 -2
  409. package/dist/tools/custom-tool-registry.cjs +64 -0
  410. package/dist/tools/custom-tool-registry.d.ts +126 -0
  411. package/dist/tools/custom-tool-registry.d.ts.map +1 -0
  412. package/dist/tools/custom-tool-registry.js +40 -0
  413. package/dist/tools/custom-tool-schema-registry.cjs +164 -0
  414. package/dist/tools/custom-tool-schema-registry.d.ts +86 -0
  415. package/dist/tools/custom-tool-schema-registry.d.ts.map +1 -0
  416. package/dist/tools/custom-tool-schema-registry.js +140 -0
  417. package/dist/tools/error-codes.cjs +3 -0
  418. package/dist/tools/error-codes.d.ts +4 -1
  419. package/dist/tools/error-codes.d.ts.map +1 -1
  420. package/dist/tools/error-codes.js +3 -0
  421. package/dist/tools/errors.cjs +41 -0
  422. package/dist/tools/errors.d.ts +17 -0
  423. package/dist/tools/errors.d.ts.map +1 -1
  424. package/dist/tools/errors.js +41 -0
  425. package/dist/tools/index.cjs +13 -1
  426. package/dist/tools/index.d.ts +4 -0
  427. package/dist/tools/index.d.ts.map +1 -1
  428. package/dist/tools/index.js +11 -1
  429. package/dist/tools/internal-tools/constants.cjs +3 -9
  430. package/dist/tools/internal-tools/constants.d.ts +1 -1
  431. package/dist/tools/internal-tools/constants.d.ts.map +1 -1
  432. package/dist/tools/internal-tools/constants.js +3 -9
  433. package/dist/tools/internal-tools/implementations/get-resource-tool.cjs +113 -0
  434. package/dist/tools/internal-tools/implementations/get-resource-tool.d.ts +30 -0
  435. package/dist/tools/internal-tools/implementations/get-resource-tool.d.ts.map +1 -0
  436. package/dist/tools/internal-tools/implementations/get-resource-tool.js +90 -0
  437. package/dist/tools/internal-tools/implementations/list-resources-tool.cjs +91 -0
  438. package/dist/tools/internal-tools/implementations/list-resources-tool.d.ts +24 -0
  439. package/dist/tools/internal-tools/implementations/list-resources-tool.d.ts.map +1 -0
  440. package/dist/tools/internal-tools/implementations/list-resources-tool.js +68 -0
  441. package/dist/tools/internal-tools/provider.cjs +153 -23
  442. package/dist/tools/internal-tools/provider.d.ts +55 -10
  443. package/dist/tools/internal-tools/provider.d.ts.map +1 -1
  444. package/dist/tools/internal-tools/provider.js +153 -23
  445. package/dist/tools/internal-tools/registry.cjs +18 -43
  446. package/dist/tools/internal-tools/registry.d.ts +4 -4
  447. package/dist/tools/internal-tools/registry.d.ts.map +1 -1
  448. package/dist/tools/internal-tools/registry.js +18 -43
  449. package/dist/tools/schemas.cjs +20 -0
  450. package/dist/tools/schemas.d.ts +43 -1
  451. package/dist/tools/schemas.d.ts.map +1 -1
  452. package/dist/tools/schemas.js +16 -0
  453. package/dist/tools/tool-manager.cjs +140 -13
  454. package/dist/tools/tool-manager.d.ts +22 -3
  455. package/dist/tools/tool-manager.d.ts.map +1 -1
  456. package/dist/tools/tool-manager.js +140 -13
  457. package/dist/tools/types.d.ts +43 -0
  458. package/dist/tools/types.d.ts.map +1 -1
  459. package/dist/utils/api-key-resolver.cjs +19 -1
  460. package/dist/utils/api-key-resolver.d.ts.map +1 -1
  461. package/dist/utils/api-key-resolver.js +19 -1
  462. package/dist/utils/index.cjs +0 -2
  463. package/dist/utils/index.d.ts +0 -1
  464. package/dist/utils/index.d.ts.map +1 -1
  465. package/dist/utils/index.js +0 -1
  466. package/dist/utils/redactor.cjs +18 -3
  467. package/dist/utils/redactor.d.ts +0 -7
  468. package/dist/utils/redactor.d.ts.map +1 -1
  469. package/dist/utils/redactor.js +18 -3
  470. package/dist/utils/service-initializer.cjs +9 -35
  471. package/dist/utils/service-initializer.d.ts.map +1 -1
  472. package/dist/utils/service-initializer.js +9 -35
  473. package/package.json +5 -2
  474. package/dist/context/compression/overflow.d.ts.map +0 -1
  475. package/dist/context/compression/reactive-overflow.d.ts.map +0 -1
  476. package/dist/context/compression/types.d.ts.map +0 -1
  477. package/dist/tools/internal-tools/implementations/bash-exec-tool.cjs +0 -130
  478. package/dist/tools/internal-tools/implementations/bash-exec-tool.d.ts +0 -13
  479. package/dist/tools/internal-tools/implementations/bash-exec-tool.d.ts.map +0 -1
  480. package/dist/tools/internal-tools/implementations/bash-exec-tool.js +0 -97
  481. package/dist/tools/internal-tools/implementations/bash-output-tool.cjs +0 -49
  482. package/dist/tools/internal-tools/implementations/bash-output-tool.d.ts +0 -12
  483. package/dist/tools/internal-tools/implementations/bash-output-tool.d.ts.map +0 -1
  484. package/dist/tools/internal-tools/implementations/bash-output-tool.js +0 -26
  485. package/dist/tools/internal-tools/implementations/edit-file-tool.cjs +0 -127
  486. package/dist/tools/internal-tools/implementations/edit-file-tool.d.ts +0 -12
  487. package/dist/tools/internal-tools/implementations/edit-file-tool.d.ts.map +0 -1
  488. package/dist/tools/internal-tools/implementations/edit-file-tool.js +0 -104
  489. package/dist/tools/internal-tools/implementations/glob-files-tool.cjs +0 -70
  490. package/dist/tools/internal-tools/implementations/glob-files-tool.d.ts +0 -12
  491. package/dist/tools/internal-tools/implementations/glob-files-tool.d.ts.map +0 -1
  492. package/dist/tools/internal-tools/implementations/glob-files-tool.js +0 -47
  493. package/dist/tools/internal-tools/implementations/grep-content-tool.cjs +0 -86
  494. package/dist/tools/internal-tools/implementations/grep-content-tool.d.ts +0 -12
  495. package/dist/tools/internal-tools/implementations/grep-content-tool.d.ts.map +0 -1
  496. package/dist/tools/internal-tools/implementations/grep-content-tool.js +0 -63
  497. package/dist/tools/internal-tools/implementations/kill-process-tool.cjs +0 -47
  498. package/dist/tools/internal-tools/implementations/kill-process-tool.d.ts +0 -12
  499. package/dist/tools/internal-tools/implementations/kill-process-tool.d.ts.map +0 -1
  500. package/dist/tools/internal-tools/implementations/kill-process-tool.js +0 -24
  501. package/dist/tools/internal-tools/implementations/read-file-tool.cjs +0 -63
  502. package/dist/tools/internal-tools/implementations/read-file-tool.d.ts +0 -12
  503. package/dist/tools/internal-tools/implementations/read-file-tool.d.ts.map +0 -1
  504. package/dist/tools/internal-tools/implementations/read-file-tool.js +0 -40
  505. package/dist/tools/internal-tools/implementations/write-file-tool.cjs +0 -124
  506. package/dist/tools/internal-tools/implementations/write-file-tool.d.ts +0 -12
  507. package/dist/tools/internal-tools/implementations/write-file-tool.d.ts.map +0 -1
  508. package/dist/tools/internal-tools/implementations/write-file-tool.js +0 -103
  509. package/dist/utils/env-file.cjs +0 -118
  510. package/dist/utils/env-file.d.ts +0 -5
  511. package/dist/utils/env-file.d.ts.map +0 -1
  512. package/dist/utils/env-file.js +0 -85
  513. /package/dist/context/{compression/types.js → compaction/provider.js} +0 -0
  514. /package/dist/context/{compression → compaction}/types.cjs +0 -0
@@ -0,0 +1,251 @@
1
+ import "../../../chunk-PTJYTZNU.js";
2
+ import { createWriteStream, promises as fs, existsSync, createReadStream } from "fs";
3
+ import { createHash } from "crypto";
4
+ import * as path from "path";
5
+ import { LocalModelError } from "./errors.js";
6
+ import { getLocalModelById } from "./registry.js";
7
+ function buildHuggingFaceUrl(huggingfaceId, filename) {
8
+ return `https://huggingface.co/${huggingfaceId}/resolve/main/${filename}`;
9
+ }
10
+ async function getPartialSize(filePath) {
11
+ try {
12
+ const stats = await fs.stat(filePath);
13
+ return stats.size;
14
+ } catch {
15
+ return 0;
16
+ }
17
+ }
18
+ async function calculateFileHash(filePath) {
19
+ return new Promise((resolve, reject) => {
20
+ const hash = createHash("sha256");
21
+ const stream = createReadStream(filePath);
22
+ stream.on("data", (chunk) => hash.update(chunk));
23
+ stream.on("end", () => resolve(hash.digest("hex")));
24
+ stream.on("error", reject);
25
+ });
26
+ }
27
+ function createProgressEvent(modelId, status, bytesDownloaded, totalBytes, speed, eta, error) {
28
+ const progress = {
29
+ modelId,
30
+ status,
31
+ bytesDownloaded,
32
+ totalBytes,
33
+ percentage: totalBytes > 0 ? bytesDownloaded / totalBytes * 100 : 0
34
+ };
35
+ if (speed !== void 0) {
36
+ progress.speed = speed;
37
+ }
38
+ if (eta !== void 0) {
39
+ progress.eta = eta;
40
+ }
41
+ if (error !== void 0) {
42
+ progress.error = error;
43
+ }
44
+ return progress;
45
+ }
46
+ async function downloadFromHuggingFace(url, targetPath, options, modelId, expectedSize) {
47
+ const { events, hfToken, signal } = options;
48
+ const tempPath = `${targetPath}.download`;
49
+ const partialSize = await getPartialSize(tempPath);
50
+ const resumed = partialSize > 0;
51
+ const headers = {
52
+ "User-Agent": "Dexto/1.0"
53
+ };
54
+ if (hfToken) {
55
+ headers["Authorization"] = `Bearer ${hfToken}`;
56
+ }
57
+ if (partialSize > 0) {
58
+ headers["Range"] = `bytes=${partialSize}-`;
59
+ }
60
+ try {
61
+ const fetchOptions = { headers };
62
+ if (signal) {
63
+ fetchOptions.signal = signal;
64
+ }
65
+ const response = await fetch(url, fetchOptions);
66
+ if (response.status === 401 || response.status === 403) {
67
+ throw LocalModelError.hfAuthRequired(modelId);
68
+ }
69
+ if (!response.ok && response.status !== 206) {
70
+ throw LocalModelError.downloadFailed(
71
+ modelId,
72
+ `HTTP ${response.status}: ${response.statusText}`
73
+ );
74
+ }
75
+ const contentLengthHeader = response.headers.get("content-length");
76
+ const contentLength = contentLengthHeader ? parseInt(contentLengthHeader, 10) : 0;
77
+ const totalSize = partialSize + contentLength;
78
+ await fs.mkdir(path.dirname(tempPath), { recursive: true });
79
+ const writeStream = createWriteStream(tempPath, {
80
+ flags: resumed ? "a" : "w"
81
+ });
82
+ let bytesDownloaded = partialSize;
83
+ const startTime = Date.now();
84
+ let lastProgressUpdate = startTime;
85
+ const reader = response.body?.getReader();
86
+ if (!reader) {
87
+ writeStream.destroy();
88
+ throw LocalModelError.downloadFailed(modelId, "No response body");
89
+ }
90
+ try {
91
+ while (true) {
92
+ const { done, value } = await reader.read();
93
+ if (done) break;
94
+ writeStream.write(value);
95
+ bytesDownloaded += value.length;
96
+ const now = Date.now();
97
+ if (now - lastProgressUpdate > 100 || done) {
98
+ lastProgressUpdate = now;
99
+ const elapsedSeconds = (now - startTime) / 1e3;
100
+ const speed = elapsedSeconds > 0 ? (bytesDownloaded - partialSize) / elapsedSeconds : 0;
101
+ const remainingBytes = totalSize - bytesDownloaded;
102
+ const eta = speed > 0 ? remainingBytes / speed : 0;
103
+ const progress = createProgressEvent(
104
+ modelId,
105
+ "downloading",
106
+ bytesDownloaded,
107
+ totalSize || expectedSize,
108
+ speed,
109
+ eta
110
+ );
111
+ events?.onProgress?.(progress);
112
+ }
113
+ }
114
+ await new Promise((resolve, reject) => {
115
+ writeStream.end((err) => {
116
+ if (err) reject(err);
117
+ else resolve();
118
+ });
119
+ });
120
+ } catch (error) {
121
+ writeStream.destroy();
122
+ throw error;
123
+ }
124
+ events?.onProgress?.(createProgressEvent(modelId, "verifying", bytesDownloaded, totalSize));
125
+ await fs.rename(tempPath, targetPath);
126
+ const stats = await fs.stat(targetPath);
127
+ events?.onProgress?.(createProgressEvent(modelId, "complete", stats.size, stats.size));
128
+ return {
129
+ success: true,
130
+ filePath: targetPath,
131
+ sizeBytes: stats.size,
132
+ resumed
133
+ };
134
+ } catch (error) {
135
+ if (error instanceof Error && error.name === "AbortError") {
136
+ throw LocalModelError.downloadInterrupted(modelId);
137
+ }
138
+ throw error;
139
+ }
140
+ }
141
+ async function downloadModel(modelId, options) {
142
+ const modelInfo = getLocalModelById(modelId);
143
+ if (!modelInfo) {
144
+ throw LocalModelError.modelNotFound(modelId);
145
+ }
146
+ const targetPath = path.join(options.targetDir, modelInfo.filename);
147
+ const url = buildHuggingFaceUrl(modelInfo.huggingfaceId, modelInfo.filename);
148
+ if (existsSync(targetPath)) {
149
+ const stats = await fs.stat(targetPath);
150
+ if (stats.size === modelInfo.sizeBytes) {
151
+ return {
152
+ success: true,
153
+ filePath: targetPath,
154
+ sizeBytes: stats.size,
155
+ resumed: false
156
+ };
157
+ }
158
+ await fs.unlink(targetPath);
159
+ }
160
+ try {
161
+ options.events?.onProgress?.(
162
+ createProgressEvent(modelId, "pending", 0, modelInfo.sizeBytes)
163
+ );
164
+ const result = await downloadFromHuggingFace(
165
+ url,
166
+ targetPath,
167
+ options,
168
+ modelId,
169
+ modelInfo.sizeBytes
170
+ );
171
+ if (options.verifyHash && options.expectedHash) {
172
+ const actualHash = await calculateFileHash(targetPath);
173
+ if (actualHash !== options.expectedHash) {
174
+ await fs.unlink(targetPath);
175
+ throw LocalModelError.hashMismatch(modelId, options.expectedHash, actualHash);
176
+ }
177
+ result.sha256 = actualHash;
178
+ }
179
+ options.events?.onComplete?.(modelId, targetPath);
180
+ return result;
181
+ } catch (error) {
182
+ options.events?.onError?.(modelId, error);
183
+ throw error;
184
+ }
185
+ }
186
+ async function downloadModelFromUrl(modelId, url, filename, options) {
187
+ const targetPath = path.join(options.targetDir, filename);
188
+ try {
189
+ options.events?.onProgress?.(createProgressEvent(modelId, "pending", 0, 0));
190
+ const result = await downloadFromHuggingFace(url, targetPath, options, modelId, 0);
191
+ options.events?.onComplete?.(modelId, targetPath);
192
+ return result;
193
+ } catch (error) {
194
+ options.events?.onError?.(modelId, error);
195
+ throw error;
196
+ }
197
+ }
198
+ async function checkDiskSpace(targetDir) {
199
+ try {
200
+ await fs.access(targetDir);
201
+ return Number.MAX_SAFE_INTEGER;
202
+ } catch {
203
+ try {
204
+ await fs.mkdir(targetDir, { recursive: true });
205
+ return Number.MAX_SAFE_INTEGER;
206
+ } catch {
207
+ return 0;
208
+ }
209
+ }
210
+ }
211
+ async function validateDiskSpace(modelId, requiredBytes, targetDir) {
212
+ const available = await checkDiskSpace(targetDir);
213
+ if (available < requiredBytes) {
214
+ throw LocalModelError.insufficientDiskSpace(modelId, requiredBytes, available);
215
+ }
216
+ }
217
+ async function cleanupPartialDownload(targetDir, filename) {
218
+ const tempPath = path.join(targetDir, `${filename}.download`);
219
+ try {
220
+ await fs.unlink(tempPath);
221
+ } catch {
222
+ }
223
+ }
224
+ async function isDownloadInProgress(targetDir, filename) {
225
+ const tempPath = path.join(targetDir, `${filename}.download`);
226
+ try {
227
+ await fs.access(tempPath);
228
+ return true;
229
+ } catch {
230
+ return false;
231
+ }
232
+ }
233
+ async function getPartialDownloadProgress(modelId, targetDir, filename, totalBytes) {
234
+ const tempPath = path.join(targetDir, `${filename}.download`);
235
+ try {
236
+ const stats = await fs.stat(tempPath);
237
+ return createProgressEvent(modelId, "downloading", stats.size, totalBytes);
238
+ } catch {
239
+ return null;
240
+ }
241
+ }
242
+ export {
243
+ calculateFileHash,
244
+ checkDiskSpace,
245
+ cleanupPartialDownload,
246
+ downloadModel,
247
+ downloadModelFromUrl,
248
+ getPartialDownloadProgress,
249
+ isDownloadInProgress,
250
+ validateDiskSpace
251
+ };
@@ -0,0 +1,57 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+ var error_codes_exports = {};
20
+ __export(error_codes_exports, {
21
+ LocalModelErrorCode: () => LocalModelErrorCode
22
+ });
23
+ module.exports = __toCommonJS(error_codes_exports);
24
+ var LocalModelErrorCode = /* @__PURE__ */ ((LocalModelErrorCode2) => {
25
+ LocalModelErrorCode2["NODE_LLAMA_NOT_INSTALLED"] = "LOCAL_001";
26
+ LocalModelErrorCode2["NODE_LLAMA_INSTALL_FAILED"] = "LOCAL_002";
27
+ LocalModelErrorCode2["CMAKE_NOT_FOUND"] = "LOCAL_003";
28
+ LocalModelErrorCode2["BUILD_FAILED"] = "LOCAL_004";
29
+ LocalModelErrorCode2["DOWNLOAD_FAILED"] = "LOCAL_010";
30
+ LocalModelErrorCode2["DOWNLOAD_INTERRUPTED"] = "LOCAL_011";
31
+ LocalModelErrorCode2["DOWNLOAD_HASH_MISMATCH"] = "LOCAL_012";
32
+ LocalModelErrorCode2["INSUFFICIENT_DISK_SPACE"] = "LOCAL_013";
33
+ LocalModelErrorCode2["HF_AUTH_REQUIRED"] = "LOCAL_014";
34
+ LocalModelErrorCode2["NETWORK_ERROR"] = "LOCAL_015";
35
+ LocalModelErrorCode2["MODEL_NOT_FOUND"] = "LOCAL_020";
36
+ LocalModelErrorCode2["MODEL_NOT_DOWNLOADED"] = "LOCAL_021";
37
+ LocalModelErrorCode2["MODEL_LOAD_FAILED"] = "LOCAL_022";
38
+ LocalModelErrorCode2["MODEL_CORRUPT"] = "LOCAL_023";
39
+ LocalModelErrorCode2["INVALID_GGUF"] = "LOCAL_024";
40
+ LocalModelErrorCode2["CONTEXT_TOO_LARGE"] = "LOCAL_025";
41
+ LocalModelErrorCode2["GPU_NOT_AVAILABLE"] = "LOCAL_030";
42
+ LocalModelErrorCode2["INSUFFICIENT_VRAM"] = "LOCAL_031";
43
+ LocalModelErrorCode2["GPU_DRIVER_ERROR"] = "LOCAL_032";
44
+ LocalModelErrorCode2["METAL_NOT_AVAILABLE"] = "LOCAL_033";
45
+ LocalModelErrorCode2["CUDA_NOT_AVAILABLE"] = "LOCAL_034";
46
+ LocalModelErrorCode2["VULKAN_NOT_AVAILABLE"] = "LOCAL_035";
47
+ LocalModelErrorCode2["OLLAMA_NOT_RUNNING"] = "LOCAL_040";
48
+ LocalModelErrorCode2["OLLAMA_MODEL_NOT_FOUND"] = "LOCAL_041";
49
+ LocalModelErrorCode2["OLLAMA_PULL_FAILED"] = "LOCAL_042";
50
+ LocalModelErrorCode2["OLLAMA_API_ERROR"] = "LOCAL_043";
51
+ LocalModelErrorCode2["OLLAMA_VERSION_INCOMPATIBLE"] = "LOCAL_044";
52
+ return LocalModelErrorCode2;
53
+ })(LocalModelErrorCode || {});
54
+ // Annotate the CommonJS export names for ESM import in node:
55
+ 0 && (module.exports = {
56
+ LocalModelErrorCode
57
+ });
@@ -0,0 +1,66 @@
1
+ /**
2
+ * Error codes for local model operations.
3
+ * Format: LOCAL_XXX where XXX groups by category:
4
+ * - 001-009: Installation errors
5
+ * - 010-019: Download errors
6
+ * - 020-029: Model errors
7
+ * - 030-039: GPU errors
8
+ * - 040-049: Ollama errors
9
+ */
10
+ export declare enum LocalModelErrorCode {
11
+ /** node-llama-cpp package is not installed */
12
+ NODE_LLAMA_NOT_INSTALLED = "LOCAL_001",
13
+ /** Failed to install node-llama-cpp */
14
+ NODE_LLAMA_INSTALL_FAILED = "LOCAL_002",
15
+ /** CMake not found (required for building from source) */
16
+ CMAKE_NOT_FOUND = "LOCAL_003",
17
+ /** Build from source failed */
18
+ BUILD_FAILED = "LOCAL_004",
19
+ /** Model download failed */
20
+ DOWNLOAD_FAILED = "LOCAL_010",
21
+ /** Download was interrupted */
22
+ DOWNLOAD_INTERRUPTED = "LOCAL_011",
23
+ /** Downloaded file hash doesn't match expected */
24
+ DOWNLOAD_HASH_MISMATCH = "LOCAL_012",
25
+ /** Insufficient disk space for download */
26
+ INSUFFICIENT_DISK_SPACE = "LOCAL_013",
27
+ /** HuggingFace authentication required for gated model */
28
+ HF_AUTH_REQUIRED = "LOCAL_014",
29
+ /** Network error during download */
30
+ NETWORK_ERROR = "LOCAL_015",
31
+ /** Model not found in registry */
32
+ MODEL_NOT_FOUND = "LOCAL_020",
33
+ /** Model not downloaded locally */
34
+ MODEL_NOT_DOWNLOADED = "LOCAL_021",
35
+ /** Failed to load model */
36
+ MODEL_LOAD_FAILED = "LOCAL_022",
37
+ /** Model file is corrupted */
38
+ MODEL_CORRUPT = "LOCAL_023",
39
+ /** Invalid GGUF format */
40
+ INVALID_GGUF = "LOCAL_024",
41
+ /** Model context too large for available memory */
42
+ CONTEXT_TOO_LARGE = "LOCAL_025",
43
+ /** No GPU acceleration available */
44
+ GPU_NOT_AVAILABLE = "LOCAL_030",
45
+ /** Insufficient VRAM for model */
46
+ INSUFFICIENT_VRAM = "LOCAL_031",
47
+ /** GPU driver error */
48
+ GPU_DRIVER_ERROR = "LOCAL_032",
49
+ /** Metal not available (macOS only) */
50
+ METAL_NOT_AVAILABLE = "LOCAL_033",
51
+ /** CUDA not available */
52
+ CUDA_NOT_AVAILABLE = "LOCAL_034",
53
+ /** Vulkan not available */
54
+ VULKAN_NOT_AVAILABLE = "LOCAL_035",
55
+ /** Ollama server is not running */
56
+ OLLAMA_NOT_RUNNING = "LOCAL_040",
57
+ /** Model not found on Ollama server */
58
+ OLLAMA_MODEL_NOT_FOUND = "LOCAL_041",
59
+ /** Failed to pull model from Ollama */
60
+ OLLAMA_PULL_FAILED = "LOCAL_042",
61
+ /** Ollama API error */
62
+ OLLAMA_API_ERROR = "LOCAL_043",
63
+ /** Ollama version incompatible */
64
+ OLLAMA_VERSION_INCOMPATIBLE = "LOCAL_044"
65
+ }
66
+ //# sourceMappingURL=error-codes.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"error-codes.d.ts","sourceRoot":"","sources":["../../../../src/llm/providers/local/error-codes.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,oBAAY,mBAAmB;IAE3B,8CAA8C;IAC9C,wBAAwB,cAAc;IACtC,uCAAuC;IACvC,yBAAyB,cAAc;IACvC,0DAA0D;IAC1D,eAAe,cAAc;IAC7B,+BAA+B;IAC/B,YAAY,cAAc;IAG1B,4BAA4B;IAC5B,eAAe,cAAc;IAC7B,+BAA+B;IAC/B,oBAAoB,cAAc;IAClC,kDAAkD;IAClD,sBAAsB,cAAc;IACpC,2CAA2C;IAC3C,uBAAuB,cAAc;IACrC,0DAA0D;IAC1D,gBAAgB,cAAc;IAC9B,oCAAoC;IACpC,aAAa,cAAc;IAG3B,kCAAkC;IAClC,eAAe,cAAc;IAC7B,mCAAmC;IACnC,oBAAoB,cAAc;IAClC,2BAA2B;IAC3B,iBAAiB,cAAc;IAC/B,8BAA8B;IAC9B,aAAa,cAAc;IAC3B,0BAA0B;IAC1B,YAAY,cAAc;IAC1B,mDAAmD;IACnD,iBAAiB,cAAc;IAG/B,oCAAoC;IACpC,iBAAiB,cAAc;IAC/B,kCAAkC;IAClC,iBAAiB,cAAc;IAC/B,uBAAuB;IACvB,gBAAgB,cAAc;IAC9B,uCAAuC;IACvC,mBAAmB,cAAc;IACjC,yBAAyB;IACzB,kBAAkB,cAAc;IAChC,2BAA2B;IAC3B,oBAAoB,cAAc;IAGlC,mCAAmC;IACnC,kBAAkB,cAAc;IAChC,uCAAuC;IACvC,sBAAsB,cAAc;IACpC,uCAAuC;IACvC,kBAAkB,cAAc;IAChC,uBAAuB;IACvB,gBAAgB,cAAc;IAC9B,kCAAkC;IAClC,2BAA2B,cAAc;CAC5C"}
@@ -0,0 +1,34 @@
1
+ import "../../../chunk-PTJYTZNU.js";
2
+ var LocalModelErrorCode = /* @__PURE__ */ ((LocalModelErrorCode2) => {
3
+ LocalModelErrorCode2["NODE_LLAMA_NOT_INSTALLED"] = "LOCAL_001";
4
+ LocalModelErrorCode2["NODE_LLAMA_INSTALL_FAILED"] = "LOCAL_002";
5
+ LocalModelErrorCode2["CMAKE_NOT_FOUND"] = "LOCAL_003";
6
+ LocalModelErrorCode2["BUILD_FAILED"] = "LOCAL_004";
7
+ LocalModelErrorCode2["DOWNLOAD_FAILED"] = "LOCAL_010";
8
+ LocalModelErrorCode2["DOWNLOAD_INTERRUPTED"] = "LOCAL_011";
9
+ LocalModelErrorCode2["DOWNLOAD_HASH_MISMATCH"] = "LOCAL_012";
10
+ LocalModelErrorCode2["INSUFFICIENT_DISK_SPACE"] = "LOCAL_013";
11
+ LocalModelErrorCode2["HF_AUTH_REQUIRED"] = "LOCAL_014";
12
+ LocalModelErrorCode2["NETWORK_ERROR"] = "LOCAL_015";
13
+ LocalModelErrorCode2["MODEL_NOT_FOUND"] = "LOCAL_020";
14
+ LocalModelErrorCode2["MODEL_NOT_DOWNLOADED"] = "LOCAL_021";
15
+ LocalModelErrorCode2["MODEL_LOAD_FAILED"] = "LOCAL_022";
16
+ LocalModelErrorCode2["MODEL_CORRUPT"] = "LOCAL_023";
17
+ LocalModelErrorCode2["INVALID_GGUF"] = "LOCAL_024";
18
+ LocalModelErrorCode2["CONTEXT_TOO_LARGE"] = "LOCAL_025";
19
+ LocalModelErrorCode2["GPU_NOT_AVAILABLE"] = "LOCAL_030";
20
+ LocalModelErrorCode2["INSUFFICIENT_VRAM"] = "LOCAL_031";
21
+ LocalModelErrorCode2["GPU_DRIVER_ERROR"] = "LOCAL_032";
22
+ LocalModelErrorCode2["METAL_NOT_AVAILABLE"] = "LOCAL_033";
23
+ LocalModelErrorCode2["CUDA_NOT_AVAILABLE"] = "LOCAL_034";
24
+ LocalModelErrorCode2["VULKAN_NOT_AVAILABLE"] = "LOCAL_035";
25
+ LocalModelErrorCode2["OLLAMA_NOT_RUNNING"] = "LOCAL_040";
26
+ LocalModelErrorCode2["OLLAMA_MODEL_NOT_FOUND"] = "LOCAL_041";
27
+ LocalModelErrorCode2["OLLAMA_PULL_FAILED"] = "LOCAL_042";
28
+ LocalModelErrorCode2["OLLAMA_API_ERROR"] = "LOCAL_043";
29
+ LocalModelErrorCode2["OLLAMA_VERSION_INCOMPATIBLE"] = "LOCAL_044";
30
+ return LocalModelErrorCode2;
31
+ })(LocalModelErrorCode || {});
32
+ export {
33
+ LocalModelErrorCode
34
+ };
@@ -0,0 +1,240 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+ var errors_exports = {};
20
+ __export(errors_exports, {
21
+ LocalModelError: () => LocalModelError
22
+ });
23
+ module.exports = __toCommonJS(errors_exports);
24
+ var import_DextoRuntimeError = require("../../../errors/DextoRuntimeError.js");
25
+ var import_types = require("../../../errors/types.js");
26
+ var import_error_codes = require("./error-codes.js");
27
+ const SCOPE = "local-models";
28
+ const LocalModelError = {
29
+ // Installation errors
30
+ nodeLlamaNotInstalled() {
31
+ return new import_DextoRuntimeError.DextoRuntimeError(
32
+ import_error_codes.LocalModelErrorCode.NODE_LLAMA_NOT_INSTALLED,
33
+ SCOPE,
34
+ import_types.ErrorType.NOT_FOUND,
35
+ 'node-llama-cpp is not installed. Run `dexto setup` and select "local" provider to install it.',
36
+ {},
37
+ 'Run `dexto setup` and select "local" provider to install local model support'
38
+ );
39
+ },
40
+ nodeLlamaInstallFailed(error) {
41
+ return new import_DextoRuntimeError.DextoRuntimeError(
42
+ import_error_codes.LocalModelErrorCode.NODE_LLAMA_INSTALL_FAILED,
43
+ SCOPE,
44
+ import_types.ErrorType.THIRD_PARTY,
45
+ `Failed to install node-llama-cpp: ${error}`,
46
+ { error },
47
+ "Check your Node.js version and try again. CMake may be required for your platform."
48
+ );
49
+ },
50
+ cmakeNotFound() {
51
+ return new import_DextoRuntimeError.DextoRuntimeError(
52
+ import_error_codes.LocalModelErrorCode.CMAKE_NOT_FOUND,
53
+ SCOPE,
54
+ import_types.ErrorType.NOT_FOUND,
55
+ "CMake is required to build node-llama-cpp from source but was not found.",
56
+ {},
57
+ "Install CMake: brew install cmake (macOS), apt install cmake (Linux), or download from cmake.org (Windows)"
58
+ );
59
+ },
60
+ // Download errors
61
+ downloadFailed(modelId, error) {
62
+ return new import_DextoRuntimeError.DextoRuntimeError(
63
+ import_error_codes.LocalModelErrorCode.DOWNLOAD_FAILED,
64
+ SCOPE,
65
+ import_types.ErrorType.THIRD_PARTY,
66
+ `Failed to download model '${modelId}': ${error}`,
67
+ { modelId, error },
68
+ "Check your internet connection and try again"
69
+ );
70
+ },
71
+ downloadInterrupted(modelId) {
72
+ return new import_DextoRuntimeError.DextoRuntimeError(
73
+ import_error_codes.LocalModelErrorCode.DOWNLOAD_INTERRUPTED,
74
+ SCOPE,
75
+ import_types.ErrorType.THIRD_PARTY,
76
+ `Download of model '${modelId}' was interrupted`,
77
+ { modelId },
78
+ "Run the download command again to resume"
79
+ );
80
+ },
81
+ hashMismatch(modelId, expected, actual) {
82
+ return new import_DextoRuntimeError.DextoRuntimeError(
83
+ import_error_codes.LocalModelErrorCode.DOWNLOAD_HASH_MISMATCH,
84
+ SCOPE,
85
+ import_types.ErrorType.USER,
86
+ `Downloaded model '${modelId}' has invalid hash. Expected: ${expected}, Got: ${actual}`,
87
+ { modelId, expected, actual },
88
+ "Delete the file and download again"
89
+ );
90
+ },
91
+ insufficientDiskSpace(modelId, required, available) {
92
+ const requiredGB = (required / (1024 * 1024 * 1024)).toFixed(1);
93
+ const availableGB = (available / (1024 * 1024 * 1024)).toFixed(1);
94
+ return new import_DextoRuntimeError.DextoRuntimeError(
95
+ import_error_codes.LocalModelErrorCode.INSUFFICIENT_DISK_SPACE,
96
+ SCOPE,
97
+ import_types.ErrorType.USER,
98
+ `Insufficient disk space to download '${modelId}'. Required: ${requiredGB}GB, Available: ${availableGB}GB`,
99
+ { modelId, required, available },
100
+ "Free up disk space or choose a smaller model"
101
+ );
102
+ },
103
+ hfAuthRequired(modelId) {
104
+ return new import_DextoRuntimeError.DextoRuntimeError(
105
+ import_error_codes.LocalModelErrorCode.HF_AUTH_REQUIRED,
106
+ SCOPE,
107
+ import_types.ErrorType.FORBIDDEN,
108
+ `Model '${modelId}' is a gated model and requires HuggingFace authentication`,
109
+ { modelId },
110
+ "Set HF_TOKEN environment variable or run `huggingface-cli login`"
111
+ );
112
+ },
113
+ // Model errors
114
+ modelNotFound(modelId) {
115
+ return new import_DextoRuntimeError.DextoRuntimeError(
116
+ import_error_codes.LocalModelErrorCode.MODEL_NOT_FOUND,
117
+ SCOPE,
118
+ import_types.ErrorType.NOT_FOUND,
119
+ `Model '${modelId}' not found in local model registry`,
120
+ { modelId },
121
+ 'Run `dexto setup` and select "local" to see available models'
122
+ );
123
+ },
124
+ modelNotDownloaded(modelId) {
125
+ return new import_DextoRuntimeError.DextoRuntimeError(
126
+ import_error_codes.LocalModelErrorCode.MODEL_NOT_DOWNLOADED,
127
+ SCOPE,
128
+ import_types.ErrorType.NOT_FOUND,
129
+ `Model '${modelId}' is not downloaded. Download it first.`,
130
+ { modelId },
131
+ 'Run `dexto setup` and select "local" to download models'
132
+ );
133
+ },
134
+ modelLoadFailed(modelId, error) {
135
+ return new import_DextoRuntimeError.DextoRuntimeError(
136
+ import_error_codes.LocalModelErrorCode.MODEL_LOAD_FAILED,
137
+ SCOPE,
138
+ import_types.ErrorType.THIRD_PARTY,
139
+ `Failed to load model '${modelId}': ${error}`,
140
+ { modelId, error },
141
+ "The model file may be corrupted. Try re-downloading it."
142
+ );
143
+ },
144
+ modelCorrupt(modelId, filePath) {
145
+ return new import_DextoRuntimeError.DextoRuntimeError(
146
+ import_error_codes.LocalModelErrorCode.MODEL_CORRUPT,
147
+ SCOPE,
148
+ import_types.ErrorType.USER,
149
+ `Model file for '${modelId}' appears to be corrupted`,
150
+ { modelId, filePath },
151
+ `Delete ${filePath} and download the model again`
152
+ );
153
+ },
154
+ contextTooLarge(modelId, requested, maxSupported) {
155
+ return new import_DextoRuntimeError.DextoRuntimeError(
156
+ import_error_codes.LocalModelErrorCode.CONTEXT_TOO_LARGE,
157
+ SCOPE,
158
+ import_types.ErrorType.USER,
159
+ `Requested context size ${requested} exceeds model's maximum of ${maxSupported}`,
160
+ { modelId, requested, maxSupported },
161
+ `Use a context size of ${maxSupported} or less`
162
+ );
163
+ },
164
+ // GPU errors
165
+ gpuNotAvailable() {
166
+ return new import_DextoRuntimeError.DextoRuntimeError(
167
+ import_error_codes.LocalModelErrorCode.GPU_NOT_AVAILABLE,
168
+ SCOPE,
169
+ import_types.ErrorType.NOT_FOUND,
170
+ "No GPU acceleration available. Running on CPU.",
171
+ {},
172
+ "For better performance, ensure GPU drivers are installed"
173
+ );
174
+ },
175
+ insufficientVRAM(modelId, required, available) {
176
+ return new import_DextoRuntimeError.DextoRuntimeError(
177
+ import_error_codes.LocalModelErrorCode.INSUFFICIENT_VRAM,
178
+ SCOPE,
179
+ import_types.ErrorType.USER,
180
+ `Model '${modelId}' requires ${required}GB VRAM but only ${available}GB available`,
181
+ { modelId, required, available },
182
+ "Use a smaller quantization or reduce GPU layers"
183
+ );
184
+ },
185
+ gpuDriverError(error) {
186
+ return new import_DextoRuntimeError.DextoRuntimeError(
187
+ import_error_codes.LocalModelErrorCode.GPU_DRIVER_ERROR,
188
+ SCOPE,
189
+ import_types.ErrorType.THIRD_PARTY,
190
+ `GPU driver error: ${error}`,
191
+ { error },
192
+ "Update your GPU drivers"
193
+ );
194
+ },
195
+ // Ollama errors
196
+ ollamaNotRunning(url) {
197
+ return new import_DextoRuntimeError.DextoRuntimeError(
198
+ import_error_codes.LocalModelErrorCode.OLLAMA_NOT_RUNNING,
199
+ SCOPE,
200
+ import_types.ErrorType.THIRD_PARTY,
201
+ `Ollama server is not running at ${url}`,
202
+ { url },
203
+ "Start Ollama with `ollama serve` or ensure it is running"
204
+ );
205
+ },
206
+ ollamaModelNotFound(modelName) {
207
+ return new import_DextoRuntimeError.DextoRuntimeError(
208
+ import_error_codes.LocalModelErrorCode.OLLAMA_MODEL_NOT_FOUND,
209
+ SCOPE,
210
+ import_types.ErrorType.NOT_FOUND,
211
+ `Model '${modelName}' not found on Ollama server`,
212
+ { modelName },
213
+ `Pull the model with \`ollama pull ${modelName}\``
214
+ );
215
+ },
216
+ ollamaPullFailed(modelName, error) {
217
+ return new import_DextoRuntimeError.DextoRuntimeError(
218
+ import_error_codes.LocalModelErrorCode.OLLAMA_PULL_FAILED,
219
+ SCOPE,
220
+ import_types.ErrorType.THIRD_PARTY,
221
+ `Failed to pull model '${modelName}' from Ollama: ${error}`,
222
+ { modelName, error },
223
+ "Check your internet connection and Ollama server status"
224
+ );
225
+ },
226
+ ollamaApiError(error) {
227
+ return new import_DextoRuntimeError.DextoRuntimeError(
228
+ import_error_codes.LocalModelErrorCode.OLLAMA_API_ERROR,
229
+ SCOPE,
230
+ import_types.ErrorType.THIRD_PARTY,
231
+ `Ollama API error: ${error}`,
232
+ { error },
233
+ "Check Ollama server logs for details"
234
+ );
235
+ }
236
+ };
237
+ // Annotate the CommonJS export names for ESM import in node:
238
+ 0 && (module.exports = {
239
+ LocalModelError
240
+ });
@@ -0,0 +1,31 @@
1
+ /**
2
+ * Error factory for local model errors.
3
+ * Follows the project's error factory pattern.
4
+ */
5
+ import { DextoRuntimeError } from '../../../errors/DextoRuntimeError.js';
6
+ /**
7
+ * Error factory for local model operations.
8
+ */
9
+ export declare const LocalModelError: {
10
+ nodeLlamaNotInstalled(): DextoRuntimeError;
11
+ nodeLlamaInstallFailed(error: string): DextoRuntimeError;
12
+ cmakeNotFound(): DextoRuntimeError;
13
+ downloadFailed(modelId: string, error: string): DextoRuntimeError;
14
+ downloadInterrupted(modelId: string): DextoRuntimeError;
15
+ hashMismatch(modelId: string, expected: string, actual: string): DextoRuntimeError;
16
+ insufficientDiskSpace(modelId: string, required: number, available: number): DextoRuntimeError;
17
+ hfAuthRequired(modelId: string): DextoRuntimeError;
18
+ modelNotFound(modelId: string): DextoRuntimeError;
19
+ modelNotDownloaded(modelId: string): DextoRuntimeError;
20
+ modelLoadFailed(modelId: string, error: string): DextoRuntimeError;
21
+ modelCorrupt(modelId: string, filePath: string): DextoRuntimeError;
22
+ contextTooLarge(modelId: string, requested: number, maxSupported: number): DextoRuntimeError;
23
+ gpuNotAvailable(): DextoRuntimeError;
24
+ insufficientVRAM(modelId: string, required: number, available: number): DextoRuntimeError;
25
+ gpuDriverError(error: string): DextoRuntimeError;
26
+ ollamaNotRunning(url: string): DextoRuntimeError;
27
+ ollamaModelNotFound(modelName: string): DextoRuntimeError;
28
+ ollamaPullFailed(modelName: string, error: string): DextoRuntimeError;
29
+ ollamaApiError(error: string): DextoRuntimeError;
30
+ };
31
+ //# sourceMappingURL=errors.d.ts.map