@dexto/core 1.2.6 → 1.4.0

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 (515) hide show
  1. package/README.md +55 -13
  2. package/dist/agent/DextoAgent.cjs +627 -228
  3. package/dist/agent/DextoAgent.d.ts +157 -34
  4. package/dist/agent/DextoAgent.d.ts.map +1 -1
  5. package/dist/agent/DextoAgent.js +625 -227
  6. package/dist/agent/agentCard.js +1 -1
  7. package/dist/agent/error-codes.cjs +1 -0
  8. package/dist/agent/error-codes.d.ts +2 -1
  9. package/dist/agent/error-codes.d.ts.map +1 -1
  10. package/dist/agent/error-codes.js +2 -1
  11. package/dist/agent/errors.cjs +13 -0
  12. package/dist/agent/errors.d.ts +4 -0
  13. package/dist/agent/errors.d.ts.map +1 -1
  14. package/dist/agent/errors.js +14 -1
  15. package/dist/agent/index.d.ts +1 -1
  16. package/dist/agent/index.d.ts.map +1 -1
  17. package/dist/agent/index.js +1 -1
  18. package/dist/agent/schemas.cjs +4 -1
  19. package/dist/agent/schemas.d.ts +92 -55
  20. package/dist/agent/schemas.d.ts.map +1 -1
  21. package/dist/agent/schemas.js +7 -3
  22. package/dist/agent/state-manager.cjs +5 -5
  23. package/dist/agent/state-manager.d.ts +4 -4
  24. package/dist/agent/state-manager.js +6 -6
  25. package/dist/agent/types.d.ts +24 -11
  26. package/dist/agent/types.d.ts.map +1 -1
  27. package/dist/approval/error-codes.js +1 -1
  28. package/dist/approval/errors.js +1 -1
  29. package/dist/approval/factory.js +1 -1
  30. package/dist/approval/index.js +1 -1
  31. package/dist/approval/manager.cjs +69 -3
  32. package/dist/approval/manager.d.ts +41 -3
  33. package/dist/approval/manager.d.ts.map +1 -1
  34. package/dist/approval/manager.js +70 -4
  35. package/dist/approval/schemas.cjs +20 -5
  36. package/dist/approval/schemas.d.ts +127 -52
  37. package/dist/approval/schemas.d.ts.map +1 -1
  38. package/dist/approval/schemas.js +21 -6
  39. package/dist/approval/types.d.ts +6 -0
  40. package/dist/approval/types.d.ts.map +1 -1
  41. package/dist/approval/types.js +1 -1
  42. package/dist/{chunk-C6A6W6XS.js → chunk-PTJYTZNU.js} +44 -1
  43. package/dist/{llm/tokenizer/factory.cjs → context/compression/overflow.cjs} +20 -21
  44. package/dist/context/compression/overflow.d.ts +33 -0
  45. package/dist/context/compression/overflow.d.ts.map +1 -0
  46. package/dist/context/compression/overflow.js +19 -0
  47. package/dist/context/compression/reactive-overflow.cjs +201 -0
  48. package/dist/context/compression/reactive-overflow.d.ts +81 -0
  49. package/dist/context/compression/reactive-overflow.d.ts.map +1 -0
  50. package/dist/context/compression/reactive-overflow.js +178 -0
  51. package/dist/context/compression/types.d.ts +9 -7
  52. package/dist/context/compression/types.d.ts.map +1 -1
  53. package/dist/context/error-codes.cjs +3 -0
  54. package/dist/context/error-codes.d.ts +4 -1
  55. package/dist/context/error-codes.d.ts.map +1 -1
  56. package/dist/context/error-codes.js +4 -1
  57. package/dist/context/errors.cjs +28 -0
  58. package/dist/context/errors.d.ts +7 -0
  59. package/dist/context/errors.d.ts.map +1 -1
  60. package/dist/context/errors.js +29 -1
  61. package/dist/context/index.js +1 -1
  62. package/dist/context/manager.cjs +287 -323
  63. package/dist/context/manager.d.ts +65 -111
  64. package/dist/context/manager.d.ts.map +1 -1
  65. package/dist/context/manager.js +287 -328
  66. package/dist/context/media-helpers.js +1 -1
  67. package/dist/context/types.cjs +49 -0
  68. package/dist/context/types.d.ts +185 -72
  69. package/dist/context/types.d.ts.map +1 -1
  70. package/dist/context/types.js +35 -0
  71. package/dist/context/utils.cjs +266 -283
  72. package/dist/context/utils.d.ts +32 -18
  73. package/dist/context/utils.d.ts.map +1 -1
  74. package/dist/context/utils.js +266 -283
  75. package/dist/errors/DextoBaseError.js +1 -1
  76. package/dist/errors/DextoRuntimeError.js +1 -1
  77. package/dist/errors/DextoValidationError.js +1 -1
  78. package/dist/errors/index.js +1 -1
  79. package/dist/errors/result-bridge.js +1 -1
  80. package/dist/errors/types.cjs +1 -0
  81. package/dist/errors/types.d.ts +4 -2
  82. package/dist/errors/types.d.ts.map +1 -1
  83. package/dist/errors/types.js +2 -1
  84. package/dist/events/index.cjs +22 -2
  85. package/dist/events/index.d.ts +170 -62
  86. package/dist/events/index.d.ts.map +1 -1
  87. package/dist/events/index.js +23 -3
  88. package/dist/filesystem/error-codes.js +1 -1
  89. package/dist/filesystem/errors.js +1 -1
  90. package/dist/filesystem/filesystem-service.js +1 -1
  91. package/dist/filesystem/index.js +1 -1
  92. package/dist/filesystem/path-validator.js +1 -1
  93. package/dist/index.browser.cjs +23 -8
  94. package/dist/index.browser.d.ts +4 -3
  95. package/dist/index.browser.d.ts.map +1 -1
  96. package/dist/index.browser.js +20 -3
  97. package/dist/index.js +1 -1
  98. package/dist/llm/error-codes.cjs +0 -1
  99. package/dist/llm/error-codes.d.ts +0 -1
  100. package/dist/llm/error-codes.d.ts.map +1 -1
  101. package/dist/llm/error-codes.js +1 -2
  102. package/dist/llm/errors.cjs +10 -10
  103. package/dist/llm/errors.d.ts +5 -6
  104. package/dist/llm/errors.d.ts.map +1 -1
  105. package/dist/llm/errors.js +12 -12
  106. package/dist/llm/executor/stream-processor.cjs +367 -0
  107. package/dist/llm/executor/stream-processor.d.ts +55 -0
  108. package/dist/llm/executor/stream-processor.d.ts.map +1 -0
  109. package/dist/llm/executor/stream-processor.js +344 -0
  110. package/dist/llm/executor/tool-output-truncator.cjs +75 -0
  111. package/dist/llm/executor/tool-output-truncator.d.ts +27 -0
  112. package/dist/llm/executor/tool-output-truncator.d.ts.map +1 -0
  113. package/dist/llm/executor/tool-output-truncator.js +48 -0
  114. package/dist/llm/executor/turn-executor.cjs +753 -0
  115. package/dist/llm/executor/turn-executor.d.ts +166 -0
  116. package/dist/llm/executor/turn-executor.d.ts.map +1 -0
  117. package/dist/llm/executor/turn-executor.js +684 -0
  118. package/dist/llm/executor/types.d.ts +27 -0
  119. package/dist/llm/executor/types.d.ts.map +1 -0
  120. package/dist/llm/formatters/vercel.cjs +20 -186
  121. package/dist/llm/formatters/vercel.d.ts +2 -14
  122. package/dist/llm/formatters/vercel.d.ts.map +1 -1
  123. package/dist/llm/formatters/vercel.js +19 -185
  124. package/dist/llm/registry.cjs +36 -45
  125. package/dist/llm/registry.d.ts +53 -39
  126. package/dist/llm/registry.d.ts.map +1 -1
  127. package/dist/llm/registry.js +34 -42
  128. package/dist/llm/resolver.cjs +1 -31
  129. package/dist/llm/resolver.d.ts.map +1 -1
  130. package/dist/llm/resolver.js +2 -34
  131. package/dist/llm/schemas.cjs +2 -17
  132. package/dist/llm/schemas.d.ts +10 -23
  133. package/dist/llm/schemas.d.ts.map +1 -1
  134. package/dist/llm/schemas.js +5 -22
  135. package/dist/llm/services/factory.cjs +3 -92
  136. package/dist/llm/services/factory.d.ts +14 -4
  137. package/dist/llm/services/factory.d.ts.map +1 -1
  138. package/dist/llm/services/factory.js +4 -83
  139. package/dist/llm/services/test-utils.integration.cjs +6 -8
  140. package/dist/llm/services/test-utils.integration.d.ts.map +1 -1
  141. package/dist/llm/services/test-utils.integration.js +7 -9
  142. package/dist/llm/services/types.d.ts +1 -28
  143. package/dist/llm/services/types.d.ts.map +1 -1
  144. package/dist/llm/services/vercel.cjs +54 -468
  145. package/dist/llm/services/vercel.d.ts +38 -21
  146. package/dist/llm/services/vercel.d.ts.map +1 -1
  147. package/dist/llm/services/vercel.js +56 -475
  148. package/dist/llm/types.cjs +0 -3
  149. package/dist/llm/types.d.ts +8 -8
  150. package/dist/llm/types.d.ts.map +1 -1
  151. package/dist/llm/types.js +1 -3
  152. package/dist/llm/validation.js +1 -1
  153. package/dist/logger/browser.js +1 -1
  154. package/dist/logger/factory.js +1 -1
  155. package/dist/logger/index.js +1 -1
  156. package/dist/logger/logger.js +1 -1
  157. package/dist/logger/v2/dexto-logger.cjs +34 -6
  158. package/dist/logger/v2/dexto-logger.d.ts +20 -2
  159. package/dist/logger/v2/dexto-logger.d.ts.map +1 -1
  160. package/dist/logger/v2/dexto-logger.js +35 -7
  161. package/dist/logger/v2/error-codes.js +1 -1
  162. package/dist/logger/v2/errors.js +1 -1
  163. package/dist/logger/v2/schemas.cjs +1 -1
  164. package/dist/logger/v2/schemas.js +2 -2
  165. package/dist/logger/v2/test-utils.cjs +70 -0
  166. package/dist/logger/v2/test-utils.d.ts +17 -0
  167. package/dist/logger/v2/test-utils.d.ts.map +1 -0
  168. package/dist/logger/v2/test-utils.js +46 -0
  169. package/dist/logger/v2/transport-factory.js +1 -1
  170. package/dist/logger/v2/transports/console-transport.js +1 -1
  171. package/dist/logger/v2/transports/file-transport.cjs +6 -0
  172. package/dist/logger/v2/transports/file-transport.d.ts +4 -0
  173. package/dist/logger/v2/transports/file-transport.d.ts.map +1 -1
  174. package/dist/logger/v2/transports/file-transport.js +7 -1
  175. package/dist/logger/v2/types.cjs +1 -0
  176. package/dist/logger/v2/types.d.ts +18 -2
  177. package/dist/logger/v2/types.d.ts.map +1 -1
  178. package/dist/logger/v2/types.js +2 -1
  179. package/dist/mcp/error-codes.cjs +1 -0
  180. package/dist/mcp/error-codes.d.ts +1 -0
  181. package/dist/mcp/error-codes.d.ts.map +1 -1
  182. package/dist/mcp/error-codes.js +2 -1
  183. package/dist/mcp/errors.cjs +13 -0
  184. package/dist/mcp/errors.d.ts +7 -0
  185. package/dist/mcp/errors.d.ts.map +1 -1
  186. package/dist/mcp/errors.js +14 -1
  187. package/dist/mcp/manager.cjs +4 -0
  188. package/dist/mcp/manager.d.ts.map +1 -1
  189. package/dist/mcp/manager.js +5 -1
  190. package/dist/mcp/mcp-client.js +1 -1
  191. package/dist/mcp/resolver.js +1 -1
  192. package/dist/mcp/schemas.cjs +6 -0
  193. package/dist/mcp/schemas.d.ts +52 -0
  194. package/dist/mcp/schemas.d.ts.map +1 -1
  195. package/dist/mcp/schemas.js +6 -1
  196. package/dist/memory/error-codes.js +1 -1
  197. package/dist/memory/errors.js +1 -1
  198. package/dist/memory/index.js +1 -1
  199. package/dist/memory/manager.js +1 -1
  200. package/dist/memory/schemas.d.ts +2 -2
  201. package/dist/memory/schemas.js +1 -1
  202. package/dist/plugins/builtins/content-policy.js +1 -1
  203. package/dist/plugins/builtins/response-sanitizer.js +1 -1
  204. package/dist/plugins/error-codes.cjs +1 -0
  205. package/dist/plugins/error-codes.d.ts +3 -1
  206. package/dist/plugins/error-codes.d.ts.map +1 -1
  207. package/dist/plugins/error-codes.js +2 -1
  208. package/dist/plugins/index.js +1 -1
  209. package/dist/plugins/loader.cjs +25 -5
  210. package/dist/plugins/loader.d.ts.map +1 -1
  211. package/dist/plugins/loader.js +26 -6
  212. package/dist/plugins/manager.js +1 -1
  213. package/dist/plugins/registrations/builtins.js +1 -1
  214. package/dist/plugins/schemas.d.ts +3 -3
  215. package/dist/plugins/schemas.js +1 -1
  216. package/dist/plugins/types.d.ts +0 -1
  217. package/dist/plugins/types.d.ts.map +1 -1
  218. package/dist/process/command-validator.js +1 -1
  219. package/dist/process/error-codes.js +1 -1
  220. package/dist/process/errors.js +1 -1
  221. package/dist/process/index.js +1 -1
  222. package/dist/process/process-service.cjs +78 -26
  223. package/dist/process/process-service.d.ts +6 -1
  224. package/dist/process/process-service.d.ts.map +1 -1
  225. package/dist/process/process-service.js +79 -27
  226. package/dist/process/types.d.ts +2 -2
  227. package/dist/process/types.d.ts.map +1 -1
  228. package/dist/prompts/error-codes.cjs +1 -0
  229. package/dist/prompts/error-codes.d.ts +2 -1
  230. package/dist/prompts/error-codes.d.ts.map +1 -1
  231. package/dist/prompts/error-codes.js +2 -1
  232. package/dist/prompts/errors.cjs +15 -0
  233. package/dist/prompts/errors.d.ts +4 -0
  234. package/dist/prompts/errors.d.ts.map +1 -1
  235. package/dist/prompts/errors.js +16 -1
  236. package/dist/prompts/index.js +1 -1
  237. package/dist/prompts/name-validation.js +1 -1
  238. package/dist/prompts/prompt-manager.cjs +13 -2
  239. package/dist/prompts/prompt-manager.d.ts +7 -0
  240. package/dist/prompts/prompt-manager.d.ts.map +1 -1
  241. package/dist/prompts/prompt-manager.js +14 -3
  242. package/dist/prompts/providers/config-prompt-provider.cjs +12 -3
  243. package/dist/prompts/providers/config-prompt-provider.d.ts +2 -1
  244. package/dist/prompts/providers/config-prompt-provider.d.ts.map +1 -1
  245. package/dist/prompts/providers/config-prompt-provider.js +13 -4
  246. package/dist/prompts/providers/custom-prompt-provider.cjs +2 -2
  247. package/dist/prompts/providers/custom-prompt-provider.d.ts +1 -1
  248. package/dist/prompts/providers/custom-prompt-provider.d.ts.map +1 -1
  249. package/dist/prompts/providers/custom-prompt-provider.js +3 -3
  250. package/dist/prompts/providers/mcp-prompt-provider.js +1 -1
  251. package/dist/prompts/schemas.d.ts +12 -0
  252. package/dist/prompts/schemas.d.ts.map +1 -1
  253. package/dist/prompts/schemas.js +1 -1
  254. package/dist/prompts/types.d.ts +2 -0
  255. package/dist/prompts/types.d.ts.map +1 -1
  256. package/dist/prompts/utils.js +1 -1
  257. package/dist/resources/error-codes.js +1 -1
  258. package/dist/resources/errors.js +1 -1
  259. package/dist/resources/handlers/blob-handler.js +1 -1
  260. package/dist/resources/handlers/factory.js +1 -1
  261. package/dist/resources/handlers/filesystem-handler.js +1 -1
  262. package/dist/resources/index.js +1 -1
  263. package/dist/resources/internal-provider.js +1 -1
  264. package/dist/resources/manager.js +1 -1
  265. package/dist/resources/reference-parser.js +1 -1
  266. package/dist/resources/schemas.js +1 -1
  267. package/dist/search/index.js +1 -1
  268. package/dist/search/search-service.js +1 -1
  269. package/dist/session/chat-session.cjs +149 -51
  270. package/dist/session/chat-session.d.ts +69 -29
  271. package/dist/session/chat-session.d.ts.map +1 -1
  272. package/dist/session/chat-session.js +150 -52
  273. package/dist/session/error-codes.js +1 -1
  274. package/dist/session/errors.js +1 -1
  275. package/dist/session/history/database.cjs +134 -21
  276. package/dist/session/history/database.d.ts +37 -8
  277. package/dist/session/history/database.d.ts.map +1 -1
  278. package/dist/session/history/database.js +135 -22
  279. package/dist/session/history/factory.js +1 -1
  280. package/dist/session/history/memory.cjs +18 -0
  281. package/dist/session/history/memory.d.ts +8 -0
  282. package/dist/session/history/memory.d.ts.map +1 -1
  283. package/dist/session/history/memory.js +19 -1
  284. package/dist/session/history/types.d.ts +13 -1
  285. package/dist/session/history/types.d.ts.map +1 -1
  286. package/dist/session/index.cjs +3 -0
  287. package/dist/session/index.d.ts +3 -0
  288. package/dist/session/index.d.ts.map +1 -1
  289. package/dist/session/index.js +3 -1
  290. package/dist/session/message-queue.cjs +201 -0
  291. package/dist/session/message-queue.d.ts +114 -0
  292. package/dist/session/message-queue.d.ts.map +1 -0
  293. package/dist/session/message-queue.js +178 -0
  294. package/dist/session/schemas.js +1 -1
  295. package/dist/session/session-manager.cjs +57 -7
  296. package/dist/session/session-manager.d.ts +18 -0
  297. package/dist/session/session-manager.d.ts.map +1 -1
  298. package/dist/session/session-manager.js +58 -8
  299. package/dist/session/title-generator.cjs +4 -8
  300. package/dist/session/title-generator.d.ts +1 -2
  301. package/dist/session/title-generator.d.ts.map +1 -1
  302. package/dist/session/title-generator.js +5 -9
  303. package/dist/session/types.cjs +16 -0
  304. package/dist/session/types.d.ts +14 -0
  305. package/dist/session/types.d.ts.map +1 -0
  306. package/dist/session/types.js +0 -0
  307. package/dist/storage/blob/factory.js +1 -1
  308. package/dist/storage/blob/local-blob-store.js +1 -1
  309. package/dist/storage/blob/memory-blob-store.js +1 -1
  310. package/dist/storage/blob/schemas.js +1 -1
  311. package/dist/storage/cache/factory.cjs +6 -2
  312. package/dist/storage/cache/factory.d.ts +2 -1
  313. package/dist/storage/cache/factory.d.ts.map +1 -1
  314. package/dist/storage/cache/factory.js +7 -3
  315. package/dist/storage/cache/memory-cache-store.js +1 -1
  316. package/dist/storage/cache/redis-store.js +1 -1
  317. package/dist/storage/cache/schemas.js +1 -1
  318. package/dist/storage/database/factory.cjs +11 -17
  319. package/dist/storage/database/factory.d.ts +2 -1
  320. package/dist/storage/database/factory.d.ts.map +1 -1
  321. package/dist/storage/database/factory.js +12 -18
  322. package/dist/storage/database/memory-database-store.js +1 -1
  323. package/dist/storage/database/postgres-store.cjs +12 -0
  324. package/dist/storage/database/postgres-store.d.ts.map +1 -1
  325. package/dist/storage/database/postgres-store.js +13 -1
  326. package/dist/storage/database/schemas.js +1 -1
  327. package/dist/storage/database/sqlite-store.cjs +8 -0
  328. package/dist/storage/database/sqlite-store.d.ts.map +1 -1
  329. package/dist/storage/database/sqlite-store.js +9 -1
  330. package/dist/storage/error-codes.cjs +1 -0
  331. package/dist/storage/error-codes.d.ts +1 -0
  332. package/dist/storage/error-codes.d.ts.map +1 -1
  333. package/dist/storage/error-codes.js +2 -1
  334. package/dist/storage/errors.cjs +17 -0
  335. package/dist/storage/errors.d.ts +9 -0
  336. package/dist/storage/errors.d.ts.map +1 -1
  337. package/dist/storage/errors.js +18 -1
  338. package/dist/storage/index.js +1 -1
  339. package/dist/storage/schemas.js +1 -1
  340. package/dist/storage/storage-manager.js +1 -1
  341. package/dist/systemPrompt/contributors.js +1 -1
  342. package/dist/systemPrompt/error-codes.js +1 -1
  343. package/dist/systemPrompt/errors.js +1 -1
  344. package/dist/systemPrompt/in-built-prompts.js +1 -1
  345. package/dist/systemPrompt/index.js +1 -1
  346. package/dist/systemPrompt/manager.js +1 -1
  347. package/dist/systemPrompt/registry.js +1 -1
  348. package/dist/systemPrompt/schemas.d.ts +5 -5
  349. package/dist/systemPrompt/schemas.js +1 -1
  350. package/dist/telemetry/decorators.js +1 -1
  351. package/dist/{llm/tokenizer/default.cjs → telemetry/error-codes.cjs} +14 -19
  352. package/dist/telemetry/error-codes.d.ts +13 -0
  353. package/dist/telemetry/error-codes.d.ts.map +1 -0
  354. package/dist/telemetry/error-codes.js +13 -0
  355. package/dist/telemetry/errors.cjs +105 -0
  356. package/dist/telemetry/errors.d.ts +28 -0
  357. package/dist/telemetry/errors.d.ts.map +1 -0
  358. package/dist/telemetry/errors.js +82 -0
  359. package/dist/telemetry/exporters.js +1 -1
  360. package/dist/telemetry/index.js +1 -1
  361. package/dist/telemetry/schemas.js +1 -1
  362. package/dist/telemetry/telemetry.cjs +92 -26
  363. package/dist/telemetry/telemetry.d.ts +1 -1
  364. package/dist/telemetry/telemetry.d.ts.map +1 -1
  365. package/dist/telemetry/telemetry.js +75 -19
  366. package/dist/telemetry/utils.js +1 -1
  367. package/dist/tools/bash-pattern-utils.cjs +91 -0
  368. package/dist/tools/bash-pattern-utils.d.ts +58 -0
  369. package/dist/tools/bash-pattern-utils.d.ts.map +1 -0
  370. package/dist/tools/bash-pattern-utils.js +64 -0
  371. package/dist/tools/confirmation/allowed-tools-provider/factory.js +1 -1
  372. package/dist/tools/confirmation/allowed-tools-provider/in-memory.js +1 -1
  373. package/dist/tools/confirmation/allowed-tools-provider/storage.js +1 -1
  374. package/dist/tools/display-types.cjs +60 -0
  375. package/dist/tools/display-types.d.ts +133 -0
  376. package/dist/tools/display-types.d.ts.map +1 -0
  377. package/dist/tools/display-types.js +32 -0
  378. package/dist/tools/error-codes.cjs +2 -0
  379. package/dist/tools/error-codes.d.ts +3 -1
  380. package/dist/tools/error-codes.d.ts.map +1 -1
  381. package/dist/tools/error-codes.js +3 -1
  382. package/dist/tools/errors.cjs +30 -0
  383. package/dist/tools/errors.d.ts +16 -0
  384. package/dist/tools/errors.d.ts.map +1 -1
  385. package/dist/tools/errors.js +31 -1
  386. package/dist/tools/index.cjs +2 -0
  387. package/dist/tools/index.d.ts +1 -0
  388. package/dist/tools/index.d.ts.map +1 -1
  389. package/dist/tools/index.js +2 -1
  390. package/dist/tools/internal-tools/constants.js +1 -1
  391. package/dist/tools/internal-tools/implementations/ask-user-tool.cjs +1 -1
  392. package/dist/tools/internal-tools/implementations/ask-user-tool.js +2 -2
  393. package/dist/tools/internal-tools/implementations/bash-exec-tool.cjs +42 -18
  394. package/dist/tools/internal-tools/implementations/bash-exec-tool.d.ts +3 -3
  395. package/dist/tools/internal-tools/implementations/bash-exec-tool.d.ts.map +1 -1
  396. package/dist/tools/internal-tools/implementations/bash-exec-tool.js +43 -19
  397. package/dist/tools/internal-tools/implementations/bash-output-tool.js +1 -1
  398. package/dist/tools/internal-tools/implementations/delegate-to-url-tool.js +1 -1
  399. package/dist/tools/internal-tools/implementations/edit-file-tool.cjs +66 -1
  400. package/dist/tools/internal-tools/implementations/edit-file-tool.d.ts.map +1 -1
  401. package/dist/tools/internal-tools/implementations/edit-file-tool.js +67 -2
  402. package/dist/tools/internal-tools/implementations/glob-files-tool.cjs +14 -1
  403. package/dist/tools/internal-tools/implementations/glob-files-tool.d.ts.map +1 -1
  404. package/dist/tools/internal-tools/implementations/glob-files-tool.js +15 -2
  405. package/dist/tools/internal-tools/implementations/grep-content-tool.cjs +16 -1
  406. package/dist/tools/internal-tools/implementations/grep-content-tool.d.ts.map +1 -1
  407. package/dist/tools/internal-tools/implementations/grep-content-tool.js +17 -2
  408. package/dist/tools/internal-tools/implementations/kill-process-tool.js +1 -1
  409. package/dist/tools/internal-tools/implementations/read-file-tool.cjs +9 -1
  410. package/dist/tools/internal-tools/implementations/read-file-tool.d.ts.map +1 -1
  411. package/dist/tools/internal-tools/implementations/read-file-tool.js +10 -2
  412. package/dist/tools/internal-tools/implementations/search-history-tool.js +1 -1
  413. package/dist/tools/internal-tools/implementations/write-file-tool.cjs +69 -1
  414. package/dist/tools/internal-tools/implementations/write-file-tool.d.ts.map +1 -1
  415. package/dist/tools/internal-tools/implementations/write-file-tool.js +72 -2
  416. package/dist/tools/internal-tools/provider.cjs +27 -10
  417. package/dist/tools/internal-tools/provider.d.ts +8 -5
  418. package/dist/tools/internal-tools/provider.d.ts.map +1 -1
  419. package/dist/tools/internal-tools/provider.js +28 -11
  420. package/dist/tools/internal-tools/registry.cjs +4 -3
  421. package/dist/tools/internal-tools/registry.d.ts +28 -7
  422. package/dist/tools/internal-tools/registry.d.ts.map +1 -1
  423. package/dist/tools/internal-tools/registry.js +5 -4
  424. package/dist/tools/schemas.cjs +17 -7
  425. package/dist/tools/schemas.d.ts +31 -4
  426. package/dist/tools/schemas.d.ts.map +1 -1
  427. package/dist/tools/schemas.js +15 -7
  428. package/dist/tools/tool-manager.cjs +140 -18
  429. package/dist/tools/tool-manager.d.ts +23 -1
  430. package/dist/tools/tool-manager.d.ts.map +1 -1
  431. package/dist/tools/tool-manager.js +145 -19
  432. package/dist/tools/types.d.ts +20 -11
  433. package/dist/tools/types.d.ts.map +1 -1
  434. package/dist/utils/api-key-resolver.js +1 -1
  435. package/dist/utils/async-context.js +1 -1
  436. package/dist/utils/debug.js +1 -1
  437. package/dist/{llm/tokenizer/types.cjs → utils/defer.cjs} +19 -10
  438. package/dist/utils/defer.d.ts +63 -0
  439. package/dist/utils/defer.d.ts.map +1 -0
  440. package/dist/utils/defer.js +19 -0
  441. package/dist/utils/env-file.js +1 -1
  442. package/dist/utils/error-conversion.js +1 -1
  443. package/dist/utils/execution-context.js +1 -1
  444. package/dist/utils/fs-walk.js +1 -1
  445. package/dist/utils/index.cjs +3 -1
  446. package/dist/utils/index.d.ts +1 -0
  447. package/dist/utils/index.d.ts.map +1 -1
  448. package/dist/utils/index.js +1 -0
  449. package/dist/utils/path.js +1 -1
  450. package/dist/utils/redactor.js +1 -1
  451. package/dist/utils/result.js +1 -1
  452. package/dist/utils/safe-stringify.js +1 -1
  453. package/dist/utils/schema-metadata.js +1 -1
  454. package/dist/utils/schema.d.ts +6 -0
  455. package/dist/utils/schema.d.ts.map +1 -1
  456. package/dist/utils/schema.js +1 -1
  457. package/dist/utils/service-initializer.cjs +6 -2
  458. package/dist/utils/service-initializer.d.ts.map +1 -1
  459. package/dist/utils/service-initializer.js +7 -3
  460. package/dist/utils/user-info.js +1 -1
  461. package/dist/utils/zod-schema-converter.js +1 -1
  462. package/package.json +54 -17
  463. package/dist/context/compression/middle-removal.cjs +0 -95
  464. package/dist/context/compression/middle-removal.d.ts +0 -47
  465. package/dist/context/compression/middle-removal.d.ts.map +0 -1
  466. package/dist/context/compression/middle-removal.js +0 -72
  467. package/dist/context/compression/oldest-removal.cjs +0 -83
  468. package/dist/context/compression/oldest-removal.d.ts +0 -42
  469. package/dist/context/compression/oldest-removal.d.ts.map +0 -1
  470. package/dist/context/compression/oldest-removal.js +0 -60
  471. package/dist/llm/formatters/anthropic.cjs +0 -257
  472. package/dist/llm/formatters/anthropic.d.ts +0 -46
  473. package/dist/llm/formatters/anthropic.d.ts.map +0 -1
  474. package/dist/llm/formatters/anthropic.js +0 -239
  475. package/dist/llm/formatters/factory.cjs +0 -50
  476. package/dist/llm/formatters/factory.d.ts +0 -10
  477. package/dist/llm/formatters/factory.d.ts.map +0 -1
  478. package/dist/llm/formatters/factory.js +0 -27
  479. package/dist/llm/formatters/openai.cjs +0 -196
  480. package/dist/llm/formatters/openai.d.ts +0 -39
  481. package/dist/llm/formatters/openai.d.ts.map +0 -1
  482. package/dist/llm/formatters/openai.js +0 -177
  483. package/dist/llm/formatters/types.d.ts +0 -41
  484. package/dist/llm/formatters/types.d.ts.map +0 -1
  485. package/dist/llm/services/anthropic.cjs +0 -511
  486. package/dist/llm/services/anthropic.d.ts +0 -48
  487. package/dist/llm/services/anthropic.d.ts.map +0 -1
  488. package/dist/llm/services/anthropic.js +0 -447
  489. package/dist/llm/services/openai.cjs +0 -611
  490. package/dist/llm/services/openai.d.ts +0 -48
  491. package/dist/llm/services/openai.d.ts.map +0 -1
  492. package/dist/llm/services/openai.js +0 -547
  493. package/dist/llm/tokenizer/anthropic.cjs +0 -43
  494. package/dist/llm/tokenizer/anthropic.d.ts +0 -19
  495. package/dist/llm/tokenizer/anthropic.d.ts.map +0 -1
  496. package/dist/llm/tokenizer/anthropic.js +0 -20
  497. package/dist/llm/tokenizer/default.d.ts +0 -14
  498. package/dist/llm/tokenizer/default.d.ts.map +0 -1
  499. package/dist/llm/tokenizer/default.js +0 -18
  500. package/dist/llm/tokenizer/factory.d.ts +0 -12
  501. package/dist/llm/tokenizer/factory.d.ts.map +0 -1
  502. package/dist/llm/tokenizer/factory.js +0 -21
  503. package/dist/llm/tokenizer/google.cjs +0 -52
  504. package/dist/llm/tokenizer/google.d.ts +0 -29
  505. package/dist/llm/tokenizer/google.d.ts.map +0 -1
  506. package/dist/llm/tokenizer/google.js +0 -29
  507. package/dist/llm/tokenizer/openai.cjs +0 -115
  508. package/dist/llm/tokenizer/openai.d.ts +0 -33
  509. package/dist/llm/tokenizer/openai.d.ts.map +0 -1
  510. package/dist/llm/tokenizer/openai.js +0 -91
  511. package/dist/llm/tokenizer/types.d.ts +0 -18
  512. package/dist/llm/tokenizer/types.d.ts.map +0 -1
  513. package/dist/llm/tokenizer/types.js +0 -10
  514. /package/dist/llm/{formatters → executor}/types.cjs +0 -0
  515. /package/dist/llm/{formatters → executor}/types.js +0 -0
@@ -1,4 +1,4 @@
1
- import "../chunk-C6A6W6XS.js";
1
+ import "../chunk-PTJYTZNU.js";
2
2
  import { isAbsolute } from "path";
3
3
  import { pathToFileURL } from "url";
4
4
  import { DextoRuntimeError, ErrorScope, ErrorType } from "../errors/index.js";
@@ -76,10 +76,27 @@ async function loadPluginModule(modulePath, pluginName) {
76
76
  );
77
77
  }
78
78
  const tsxPackage = "tsx/esm/api";
79
- const tsx = await import(
80
- /* webpackIgnore: true */
81
- tsxPackage
82
- );
79
+ let tsx;
80
+ try {
81
+ tsx = await import(
82
+ /* webpackIgnore: true */
83
+ tsxPackage
84
+ );
85
+ } catch (importError) {
86
+ const err = importError;
87
+ if (err.code === "ERR_MODULE_NOT_FOUND") {
88
+ throw new DextoRuntimeError(
89
+ PluginErrorCode.PLUGIN_DEPENDENCY_NOT_INSTALLED,
90
+ ErrorScope.PLUGIN,
91
+ ErrorType.USER,
92
+ `Cannot load TypeScript plugin '${pluginName}': tsx package is not installed.
93
+ Install with: npm install tsx
94
+ Or pre-compile your plugin to .js for production use.`,
95
+ { modulePath, pluginName, packageName: "tsx" }
96
+ );
97
+ }
98
+ throw importError;
99
+ }
83
100
  const moduleUrl = pathToFileURL(modulePath).href;
84
101
  pluginModule = await tsx.tsImport(moduleUrl, import.meta.url);
85
102
  } else {
@@ -89,7 +106,10 @@ async function loadPluginModule(modulePath, pluginName) {
89
106
  moduleUrl
90
107
  );
91
108
  }
92
- const PluginClass = pluginModule.default;
109
+ let PluginClass = pluginModule.default;
110
+ if (PluginClass && typeof PluginClass === "object" && "default" in PluginClass) {
111
+ PluginClass = PluginClass.default;
112
+ }
93
113
  if (!PluginClass) {
94
114
  throw new DextoRuntimeError(
95
115
  PluginErrorCode.PLUGIN_INVALID_SHAPE,
@@ -1,4 +1,4 @@
1
- import "../chunk-C6A6W6XS.js";
1
+ import "../chunk-PTJYTZNU.js";
2
2
  import { DextoRuntimeError, ErrorScope, ErrorType } from "../errors/index.js";
3
3
  import { PluginErrorCode } from "./error-codes.js";
4
4
  import { loadPluginModule, resolvePluginPath } from "./loader.js";
@@ -1,4 +1,4 @@
1
- import "../../chunk-C6A6W6XS.js";
1
+ import "../../chunk-PTJYTZNU.js";
2
2
  import { ContentPolicyPlugin } from "../builtins/content-policy.js";
3
3
  import { ResponseSanitizerPlugin } from "../builtins/response-sanitizer.js";
4
4
  function registerBuiltInPlugins(args) {
@@ -10,8 +10,8 @@ export declare const CustomPluginConfigSchema: z.ZodObject<{
10
10
  priority: z.ZodNumber;
11
11
  config: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodAny>>;
12
12
  }, "strict", z.ZodTypeAny, {
13
- enabled: boolean;
14
13
  name: string;
14
+ enabled: boolean;
15
15
  priority: number;
16
16
  module: string;
17
17
  blocking: boolean;
@@ -80,8 +80,8 @@ export declare const PluginsConfigSchema: z.ZodDefault<z.ZodObject<{
80
80
  priority: z.ZodNumber;
81
81
  config: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodAny>>;
82
82
  }, "strict", z.ZodTypeAny, {
83
- enabled: boolean;
84
83
  name: string;
84
+ enabled: boolean;
85
85
  priority: number;
86
86
  module: string;
87
87
  blocking: boolean;
@@ -96,8 +96,8 @@ export declare const PluginsConfigSchema: z.ZodDefault<z.ZodObject<{
96
96
  }>, "many">>;
97
97
  }, "strict", z.ZodTypeAny, {
98
98
  custom: {
99
- enabled: boolean;
100
99
  name: string;
100
+ enabled: boolean;
101
101
  priority: number;
102
102
  module: string;
103
103
  blocking: boolean;
@@ -1,4 +1,4 @@
1
- import "../chunk-C6A6W6XS.js";
1
+ import "../chunk-PTJYTZNU.js";
2
2
  import { z } from "zod";
3
3
  const CustomPluginConfigSchema = z.object({
4
4
  name: z.string().describe("Unique name for the plugin"),
@@ -105,7 +105,6 @@ export interface BeforeResponsePayload {
105
105
  reasoning?: string;
106
106
  provider: string;
107
107
  model?: string;
108
- router?: string;
109
108
  tokenUsage?: {
110
109
  input: number;
111
110
  output: number;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/plugins/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/plugins/types.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import "../chunk-C6A6W6XS.js";
1
+ import "../chunk-PTJYTZNU.js";
2
2
  const MAX_COMMAND_LENGTH = 1e4;
3
3
  const DANGEROUS_PATTERNS = [
4
4
  // File system destruction
@@ -1,4 +1,4 @@
1
- import "../chunk-C6A6W6XS.js";
1
+ import "../chunk-PTJYTZNU.js";
2
2
  var ProcessErrorCode = /* @__PURE__ */ ((ProcessErrorCode2) => {
3
3
  ProcessErrorCode2["INVALID_COMMAND"] = "PROCESS_INVALID_COMMAND";
4
4
  ProcessErrorCode2["COMMAND_BLOCKED"] = "PROCESS_COMMAND_BLOCKED";
@@ -1,4 +1,4 @@
1
- import "../chunk-C6A6W6XS.js";
1
+ import "../chunk-PTJYTZNU.js";
2
2
  import { DextoRuntimeError } from "../errors/index.js";
3
3
  import { ErrorScope, ErrorType } from "../errors/types.js";
4
4
  import { ProcessErrorCode } from "./error-codes.js";
@@ -1,4 +1,4 @@
1
- import "../chunk-C6A6W6XS.js";
1
+ import "../chunk-PTJYTZNU.js";
2
2
  import { ProcessService } from "./process-service.js";
3
3
  import { CommandValidator } from "./command-validator.js";
4
4
  import { ProcessError } from "./errors.js";
@@ -85,23 +85,6 @@ class ProcessService {
85
85
  throw import_errors.ProcessError.invalidCommand(command, validation.error || "Unknown error");
86
86
  }
87
87
  const normalizedCommand = validation.normalizedCommand;
88
- if (validation.requiresApproval) {
89
- if (!options.approvalFunction) {
90
- throw import_errors.ProcessError.approvalRequired(
91
- normalizedCommand,
92
- "Command requires approval but no approval mechanism provided"
93
- );
94
- }
95
- this.logger.info(
96
- `Command requires approval: ${normalizedCommand} - requesting user confirmation`
97
- );
98
- const approved = await options.approvalFunction(normalizedCommand);
99
- if (!approved) {
100
- this.logger.info(`Command approval denied: ${normalizedCommand}`);
101
- throw import_errors.ProcessError.approvalDenied(normalizedCommand);
102
- }
103
- this.logger.info(`Command approved: ${normalizedCommand}`);
104
- }
105
88
  const rawTimeout = options.timeout !== void 0 && Number.isFinite(options.timeout) ? options.timeout : DEFAULT_TIMEOUT;
106
89
  const timeout = Math.max(1, Math.min(rawTimeout, this.config.maxTimeout));
107
90
  const cwd = this.resolveSafeCwd(options.cwd);
@@ -122,11 +105,41 @@ class ProcessService {
122
105
  cwd,
123
106
  timeout,
124
107
  env,
125
- ...options.description !== void 0 && { description: options.description }
108
+ ...options.description !== void 0 && { description: options.description },
109
+ ...options.abortSignal !== void 0 && { abortSignal: options.abortSignal }
126
110
  });
127
111
  }
112
+ static SIGKILL_TIMEOUT_MS = 200;
113
+ /**
114
+ * Kill a process tree (process group on Unix, taskkill on Windows)
115
+ */
116
+ async killProcessTree(pid, child) {
117
+ if (process.platform === "win32") {
118
+ await new Promise((resolve) => {
119
+ const killer = (0, import_node_child_process.spawn)("taskkill", ["/pid", String(pid), "/f", "/t"], {
120
+ stdio: "ignore"
121
+ });
122
+ killer.once("exit", () => resolve());
123
+ killer.once("error", () => resolve());
124
+ });
125
+ } else {
126
+ try {
127
+ process.kill(-pid, "SIGTERM");
128
+ await new Promise((res) => setTimeout(res, ProcessService.SIGKILL_TIMEOUT_MS));
129
+ if (child.exitCode === null) {
130
+ process.kill(-pid, "SIGKILL");
131
+ }
132
+ } catch {
133
+ child.kill("SIGTERM");
134
+ await new Promise((res) => setTimeout(res, ProcessService.SIGKILL_TIMEOUT_MS));
135
+ if (child.exitCode === null) {
136
+ child.kill("SIGKILL");
137
+ }
138
+ }
139
+ }
140
+ }
128
141
  /**
129
- * Execute command in foreground with timeout
142
+ * Execute command in foreground with timeout and abort support
130
143
  */
131
144
  executeForeground(command, options) {
132
145
  return new Promise((resolve, reject) => {
@@ -134,22 +147,47 @@ class ProcessService {
134
147
  let stdout = "";
135
148
  let stderr = "";
136
149
  let killed = false;
150
+ let aborted = false;
137
151
  let closed = false;
152
+ if (options.abortSignal?.aborted) {
153
+ this.logger.debug(`Command cancelled before execution: ${command}`);
154
+ resolve({
155
+ stdout: "",
156
+ stderr: "(Command was cancelled)",
157
+ exitCode: 130,
158
+ // Standard exit code for SIGINT
159
+ duration: 0
160
+ });
161
+ return;
162
+ }
138
163
  this.logger.debug(`Executing command: ${command}`);
139
164
  const child = (0, import_node_child_process.spawn)(command, {
140
165
  cwd: options.cwd,
141
166
  env: options.env,
142
- shell: true
167
+ shell: true,
168
+ detached: process.platform !== "win32"
169
+ // Create process group on Unix
143
170
  });
144
171
  const timeoutHandle = setTimeout(() => {
145
172
  killed = true;
146
- child.kill("SIGTERM");
147
- setTimeout(() => {
148
- if (!closed && child.exitCode === null) {
149
- child.kill("SIGKILL");
150
- }
151
- }, 5e3);
173
+ if (child.pid) {
174
+ void this.killProcessTree(child.pid, child);
175
+ } else {
176
+ child.kill("SIGTERM");
177
+ }
152
178
  }, options.timeout);
179
+ const abortHandler = () => {
180
+ if (closed) return;
181
+ aborted = true;
182
+ this.logger.debug(`Command cancelled by user: ${command}`);
183
+ clearTimeout(timeoutHandle);
184
+ if (child.pid) {
185
+ void this.killProcessTree(child.pid, child);
186
+ } else {
187
+ child.kill("SIGTERM");
188
+ }
189
+ };
190
+ options.abortSignal?.addEventListener("abort", abortHandler, { once: true });
153
191
  child.stdout?.on("data", (data) => {
154
192
  stdout += data.toString();
155
193
  });
@@ -159,7 +197,20 @@ class ProcessService {
159
197
  child.on("close", (code, signal) => {
160
198
  closed = true;
161
199
  clearTimeout(timeoutHandle);
200
+ options.abortSignal?.removeEventListener("abort", abortHandler);
162
201
  const duration = Date.now() - startTime;
202
+ if (aborted) {
203
+ stdout += "\n\n(Command was cancelled)";
204
+ this.logger.debug(`Command cancelled after ${duration}ms: ${command}`);
205
+ resolve({
206
+ stdout,
207
+ stderr,
208
+ exitCode: 130,
209
+ // Standard exit code for SIGINT
210
+ duration
211
+ });
212
+ return;
213
+ }
163
214
  if (killed) {
164
215
  reject(import_errors.ProcessError.timeout(command, options.timeout));
165
216
  return;
@@ -181,6 +232,7 @@ Process terminated by signal ${signal ?? "UNKNOWN"}`;
181
232
  });
182
233
  child.on("error", (error) => {
183
234
  clearTimeout(timeoutHandle);
235
+ options.abortSignal?.removeEventListener("abort", abortHandler);
184
236
  if (error.code === "ENOENT") {
185
237
  reject(import_errors.ProcessError.commandNotFound(command));
186
238
  } else if (error.code === "EACCES") {
@@ -24,8 +24,13 @@ export declare class ProcessService {
24
24
  * Execute a command
25
25
  */
26
26
  executeCommand(command: string, options?: ExecuteOptions): Promise<ProcessResult | ProcessHandle>;
27
+ private static readonly SIGKILL_TIMEOUT_MS;
27
28
  /**
28
- * Execute command in foreground with timeout
29
+ * Kill a process tree (process group on Unix, taskkill on Windows)
30
+ */
31
+ private killProcessTree;
32
+ /**
33
+ * Execute command in foreground with timeout and abort support
29
34
  */
30
35
  private executeForeground;
31
36
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"process-service.d.ts","sourceRoot":"","sources":["../../src/process/process-service.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAKH,OAAO,EACH,aAAa,EACb,cAAc,EACd,aAAa,EACb,aAAa,EACb,aAAa,EACb,WAAW,EAEd,MAAM,YAAY,CAAC;AAGpB,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAuB1D;;;GAGG;AACH,qBAAa,cAAc;IACvB,OAAO,CAAC,MAAM,CAAgB;IAC9B,OAAO,CAAC,gBAAgB,CAAmB;IAC3C,OAAO,CAAC,WAAW,CAAkB;IACrC,OAAO,CAAC,mBAAmB,CAA6C;IACxE,OAAO,CAAC,MAAM,CAAe;gBAEjB,MAAM,EAAE,OAAO,CAAC,aAAa,CAAC,YAAK,EAAE,MAAM,EAAE,YAAY;IAkBrE;;OAEG;IACG,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAajC;;OAEG;IACG,cAAc,CAChB,OAAO,EAAE,MAAM,EACf,OAAO,GAAE,cAAmB,GAC7B,OAAO,CAAC,aAAa,GAAG,aAAa,CAAC;IAwEzC;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAsFzB;;OAEG;YACW,mBAAmB;IAiKjC;;OAEG;IACG,gBAAgB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC;IA+BjE;;OAEG;IACG,WAAW,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAmCnD;;OAEG;IACG,aAAa,IAAI,OAAO,CAAC,WAAW,EAAE,CAAC;IAiB7C;;OAEG;IACH,OAAO,CAAC,aAAa;IAMrB;;OAEG;IACH,SAAS,IAAI,QAAQ,CAAC,aAAa,CAAC;IAIpC;;OAEG;IACH,OAAO,CAAC,cAAc;IAetB;;OAEG;IACG,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;CAcjC"}
1
+ {"version":3,"file":"process-service.d.ts","sourceRoot":"","sources":["../../src/process/process-service.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAKH,OAAO,EACH,aAAa,EACb,cAAc,EACd,aAAa,EACb,aAAa,EACb,aAAa,EACb,WAAW,EAEd,MAAM,YAAY,CAAC;AAGpB,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAuB1D;;;GAGG;AACH,qBAAa,cAAc;IACvB,OAAO,CAAC,MAAM,CAAgB;IAC9B,OAAO,CAAC,gBAAgB,CAAmB;IAC3C,OAAO,CAAC,WAAW,CAAkB;IACrC,OAAO,CAAC,mBAAmB,CAA6C;IACxE,OAAO,CAAC,MAAM,CAAe;gBAEjB,MAAM,EAAE,OAAO,CAAC,aAAa,CAAC,YAAK,EAAE,MAAM,EAAE,YAAY;IAkBrE;;OAEG;IACG,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAajC;;OAEG;IACG,cAAc,CAChB,OAAO,EAAE,MAAM,EACf,OAAO,GAAE,cAAmB,GAC7B,OAAO,CAAC,aAAa,GAAG,aAAa,CAAC;IAuDzC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,kBAAkB,CAAO;IAEjD;;OAEG;YACW,eAAe;IA6B7B;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAsIzB;;OAEG;YACW,mBAAmB;IAiKjC;;OAEG;IACG,gBAAgB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC;IA+BjE;;OAEG;IACG,WAAW,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAmCnD;;OAEG;IACG,aAAa,IAAI,OAAO,CAAC,WAAW,EAAE,CAAC;IAiB7C;;OAEG;IACH,OAAO,CAAC,aAAa;IAMrB;;OAEG;IACH,SAAS,IAAI,QAAQ,CAAC,aAAa,CAAC;IAIpC;;OAEG;IACH,OAAO,CAAC,cAAc;IAetB;;OAEG;IACG,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;CAcjC"}
@@ -1,4 +1,4 @@
1
- import "../chunk-C6A6W6XS.js";
1
+ import "../chunk-PTJYTZNU.js";
2
2
  import { spawn } from "node:child_process";
3
3
  import * as crypto from "node:crypto";
4
4
  import * as path from "node:path";
@@ -53,23 +53,6 @@ class ProcessService {
53
53
  throw ProcessError.invalidCommand(command, validation.error || "Unknown error");
54
54
  }
55
55
  const normalizedCommand = validation.normalizedCommand;
56
- if (validation.requiresApproval) {
57
- if (!options.approvalFunction) {
58
- throw ProcessError.approvalRequired(
59
- normalizedCommand,
60
- "Command requires approval but no approval mechanism provided"
61
- );
62
- }
63
- this.logger.info(
64
- `Command requires approval: ${normalizedCommand} - requesting user confirmation`
65
- );
66
- const approved = await options.approvalFunction(normalizedCommand);
67
- if (!approved) {
68
- this.logger.info(`Command approval denied: ${normalizedCommand}`);
69
- throw ProcessError.approvalDenied(normalizedCommand);
70
- }
71
- this.logger.info(`Command approved: ${normalizedCommand}`);
72
- }
73
56
  const rawTimeout = options.timeout !== void 0 && Number.isFinite(options.timeout) ? options.timeout : DEFAULT_TIMEOUT;
74
57
  const timeout = Math.max(1, Math.min(rawTimeout, this.config.maxTimeout));
75
58
  const cwd = this.resolveSafeCwd(options.cwd);
@@ -90,11 +73,41 @@ class ProcessService {
90
73
  cwd,
91
74
  timeout,
92
75
  env,
93
- ...options.description !== void 0 && { description: options.description }
76
+ ...options.description !== void 0 && { description: options.description },
77
+ ...options.abortSignal !== void 0 && { abortSignal: options.abortSignal }
94
78
  });
95
79
  }
80
+ static SIGKILL_TIMEOUT_MS = 200;
81
+ /**
82
+ * Kill a process tree (process group on Unix, taskkill on Windows)
83
+ */
84
+ async killProcessTree(pid, child) {
85
+ if (process.platform === "win32") {
86
+ await new Promise((resolve) => {
87
+ const killer = spawn("taskkill", ["/pid", String(pid), "/f", "/t"], {
88
+ stdio: "ignore"
89
+ });
90
+ killer.once("exit", () => resolve());
91
+ killer.once("error", () => resolve());
92
+ });
93
+ } else {
94
+ try {
95
+ process.kill(-pid, "SIGTERM");
96
+ await new Promise((res) => setTimeout(res, ProcessService.SIGKILL_TIMEOUT_MS));
97
+ if (child.exitCode === null) {
98
+ process.kill(-pid, "SIGKILL");
99
+ }
100
+ } catch {
101
+ child.kill("SIGTERM");
102
+ await new Promise((res) => setTimeout(res, ProcessService.SIGKILL_TIMEOUT_MS));
103
+ if (child.exitCode === null) {
104
+ child.kill("SIGKILL");
105
+ }
106
+ }
107
+ }
108
+ }
96
109
  /**
97
- * Execute command in foreground with timeout
110
+ * Execute command in foreground with timeout and abort support
98
111
  */
99
112
  executeForeground(command, options) {
100
113
  return new Promise((resolve, reject) => {
@@ -102,22 +115,47 @@ class ProcessService {
102
115
  let stdout = "";
103
116
  let stderr = "";
104
117
  let killed = false;
118
+ let aborted = false;
105
119
  let closed = false;
120
+ if (options.abortSignal?.aborted) {
121
+ this.logger.debug(`Command cancelled before execution: ${command}`);
122
+ resolve({
123
+ stdout: "",
124
+ stderr: "(Command was cancelled)",
125
+ exitCode: 130,
126
+ // Standard exit code for SIGINT
127
+ duration: 0
128
+ });
129
+ return;
130
+ }
106
131
  this.logger.debug(`Executing command: ${command}`);
107
132
  const child = spawn(command, {
108
133
  cwd: options.cwd,
109
134
  env: options.env,
110
- shell: true
135
+ shell: true,
136
+ detached: process.platform !== "win32"
137
+ // Create process group on Unix
111
138
  });
112
139
  const timeoutHandle = setTimeout(() => {
113
140
  killed = true;
114
- child.kill("SIGTERM");
115
- setTimeout(() => {
116
- if (!closed && child.exitCode === null) {
117
- child.kill("SIGKILL");
118
- }
119
- }, 5e3);
141
+ if (child.pid) {
142
+ void this.killProcessTree(child.pid, child);
143
+ } else {
144
+ child.kill("SIGTERM");
145
+ }
120
146
  }, options.timeout);
147
+ const abortHandler = () => {
148
+ if (closed) return;
149
+ aborted = true;
150
+ this.logger.debug(`Command cancelled by user: ${command}`);
151
+ clearTimeout(timeoutHandle);
152
+ if (child.pid) {
153
+ void this.killProcessTree(child.pid, child);
154
+ } else {
155
+ child.kill("SIGTERM");
156
+ }
157
+ };
158
+ options.abortSignal?.addEventListener("abort", abortHandler, { once: true });
121
159
  child.stdout?.on("data", (data) => {
122
160
  stdout += data.toString();
123
161
  });
@@ -127,7 +165,20 @@ class ProcessService {
127
165
  child.on("close", (code, signal) => {
128
166
  closed = true;
129
167
  clearTimeout(timeoutHandle);
168
+ options.abortSignal?.removeEventListener("abort", abortHandler);
130
169
  const duration = Date.now() - startTime;
170
+ if (aborted) {
171
+ stdout += "\n\n(Command was cancelled)";
172
+ this.logger.debug(`Command cancelled after ${duration}ms: ${command}`);
173
+ resolve({
174
+ stdout,
175
+ stderr,
176
+ exitCode: 130,
177
+ // Standard exit code for SIGINT
178
+ duration
179
+ });
180
+ return;
181
+ }
131
182
  if (killed) {
132
183
  reject(ProcessError.timeout(command, options.timeout));
133
184
  return;
@@ -149,6 +200,7 @@ Process terminated by signal ${signal ?? "UNKNOWN"}`;
149
200
  });
150
201
  child.on("error", (error) => {
151
202
  clearTimeout(timeoutHandle);
203
+ options.abortSignal?.removeEventListener("abort", abortHandler);
152
204
  if (error.code === "ENOENT") {
153
205
  reject(ProcessError.commandNotFound(command));
154
206
  } else if (error.code === "EACCES") {
@@ -17,8 +17,8 @@ export interface ExecuteOptions {
17
17
  env?: Record<string, string> | undefined;
18
18
  /** Description of what the command does (5-10 words) */
19
19
  description?: string | undefined;
20
- /** Optional approval function for dangerous commands - called when CommandValidator flags requiresApproval */
21
- approvalFunction?: (command: string) => Promise<boolean>;
20
+ /** Abort signal for cancellation support */
21
+ abortSignal?: AbortSignal | undefined;
22
22
  }
23
23
  /**
24
24
  * Process execution result (foreground execution only)
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/process/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/process/types.ts"],"names":[],"mappings":"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"}
@@ -30,6 +30,7 @@ var PromptErrorCode = /* @__PURE__ */ ((PromptErrorCode2) => {
30
30
  PromptErrorCode2["PROMPT_MISSING_TEXT"] = "prompt_missing_text";
31
31
  PromptErrorCode2["PROMPT_MISSING_REQUIRED_ARGUMENTS"] = "prompt_missing_required_arguments";
32
32
  PromptErrorCode2["PROMPT_ALREADY_EXISTS"] = "prompt_already_exists";
33
+ PromptErrorCode2["PROMPT_CONFIG_INVALID"] = "prompt_config_invalid";
33
34
  return PromptErrorCode2;
34
35
  })(PromptErrorCode || {});
35
36
  // Annotate the CommonJS export names for ESM import in node:
@@ -10,6 +10,7 @@ export declare enum PromptErrorCode {
10
10
  PROMPT_INVALID_NAME = "prompt_invalid_name",
11
11
  PROMPT_MISSING_TEXT = "prompt_missing_text",
12
12
  PROMPT_MISSING_REQUIRED_ARGUMENTS = "prompt_missing_required_arguments",
13
- PROMPT_ALREADY_EXISTS = "prompt_already_exists"
13
+ PROMPT_ALREADY_EXISTS = "prompt_already_exists",
14
+ PROMPT_CONFIG_INVALID = "prompt_config_invalid"
14
15
  }
15
16
  //# sourceMappingURL=error-codes.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"error-codes.d.ts","sourceRoot":"","sources":["../../src/prompts/error-codes.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,oBAAY,eAAe;IAEvB,gBAAgB,qBAAqB;IACrC,oBAAoB,yBAAyB;IAC7C,yBAAyB,8BAA8B;IAGvD,oBAAoB,yBAAyB;IAC7C,mBAAmB,wBAAwB;IAC3C,mBAAmB,wBAAwB;IAC3C,iCAAiC,sCAAsC;IACvE,qBAAqB,0BAA0B;CAClD"}
1
+ {"version":3,"file":"error-codes.d.ts","sourceRoot":"","sources":["../../src/prompts/error-codes.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,oBAAY,eAAe;IAEvB,gBAAgB,qBAAqB;IACrC,oBAAoB,yBAAyB;IAC7C,yBAAyB,8BAA8B;IAGvD,oBAAoB,yBAAyB;IAC7C,mBAAmB,wBAAwB;IAC3C,mBAAmB,wBAAwB;IAC3C,iCAAiC,sCAAsC;IACvE,qBAAqB,0BAA0B;IAC/C,qBAAqB,0BAA0B;CAClD"}
@@ -1,4 +1,4 @@
1
- import "../chunk-C6A6W6XS.js";
1
+ import "../chunk-PTJYTZNU.js";
2
2
  var PromptErrorCode = /* @__PURE__ */ ((PromptErrorCode2) => {
3
3
  PromptErrorCode2["PROMPT_NOT_FOUND"] = "prompt_not_found";
4
4
  PromptErrorCode2["PROMPT_EMPTY_CONTENT"] = "prompt_empty_content";
@@ -8,6 +8,7 @@ var PromptErrorCode = /* @__PURE__ */ ((PromptErrorCode2) => {
8
8
  PromptErrorCode2["PROMPT_MISSING_TEXT"] = "prompt_missing_text";
9
9
  PromptErrorCode2["PROMPT_MISSING_REQUIRED_ARGUMENTS"] = "prompt_missing_required_arguments";
10
10
  PromptErrorCode2["PROMPT_ALREADY_EXISTS"] = "prompt_already_exists";
11
+ PromptErrorCode2["PROMPT_CONFIG_INVALID"] = "prompt_config_invalid";
11
12
  return PromptErrorCode2;
12
13
  })(PromptErrorCode || {});
13
14
  export {
@@ -137,6 +137,21 @@ class PromptError {
137
137
  { name }
138
138
  );
139
139
  }
140
+ /**
141
+ * Prompts config validation failed
142
+ */
143
+ static validationFailed(details) {
144
+ return new import_DextoValidationError.DextoValidationError([
145
+ {
146
+ code: import_error_codes.PromptErrorCode.PROMPT_CONFIG_INVALID,
147
+ message: `Invalid prompts configuration: ${details}`,
148
+ scope: import_types.ErrorScope.PROMPT,
149
+ type: import_types.ErrorType.USER,
150
+ severity: "error",
151
+ context: { details }
152
+ }
153
+ ]);
154
+ }
140
155
  }
141
156
  // Annotate the CommonJS export names for ESM import in node:
142
157
  0 && (module.exports = {
@@ -41,5 +41,9 @@ export declare class PromptError {
41
41
  static emptyResolvedContent(name: string): DextoRuntimeError<{
42
42
  name: string;
43
43
  }>;
44
+ /**
45
+ * Prompts config validation failed
46
+ */
47
+ static validationFailed(details: string): DextoValidationError;
44
48
  }
45
49
  //# sourceMappingURL=errors.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/prompts/errors.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAC;AACtE,OAAO,EAAE,oBAAoB,EAAE,MAAM,sCAAsC,CAAC;AAI5E;;;GAGG;AACH,qBAAa,WAAW;IACpB;;OAEG;IACH,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,MAAM;;;IAU5B;;OAEG;IACH,MAAM,CAAC,WAAW;IAalB;;OAEG;IACH,MAAM,CAAC,wBAAwB,CAAC,YAAY,EAAE,MAAM,EAAE;IAatD;;OAEG;IACH,MAAM,CAAC,gBAAgB,CAAC,MAAM,EAAE,MAAM;;;IAUtC;;OAEG;IACH,MAAM,CAAC,YAAY;IAanB;;OAEG;IACH,MAAM,CAAC,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM;IAelF,6CAA6C;IAC7C,MAAM,CAAC,aAAa,CAAC,IAAI,EAAE,MAAM;IAajC;;OAEG;IACH,MAAM,CAAC,oBAAoB,CAAC,IAAI,EAAE,MAAM;;;CAS3C"}
1
+ {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/prompts/errors.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAC;AACtE,OAAO,EAAE,oBAAoB,EAAE,MAAM,sCAAsC,CAAC;AAI5E;;;GAGG;AACH,qBAAa,WAAW;IACpB;;OAEG;IACH,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,MAAM;;;IAU5B;;OAEG;IACH,MAAM,CAAC,WAAW;IAalB;;OAEG;IACH,MAAM,CAAC,wBAAwB,CAAC,YAAY,EAAE,MAAM,EAAE;IAatD;;OAEG;IACH,MAAM,CAAC,gBAAgB,CAAC,MAAM,EAAE,MAAM;;;IAUtC;;OAEG;IACH,MAAM,CAAC,YAAY;IAanB;;OAEG;IACH,MAAM,CAAC,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM;IAelF,6CAA6C;IAC7C,MAAM,CAAC,aAAa,CAAC,IAAI,EAAE,MAAM;IAajC;;OAEG;IACH,MAAM,CAAC,oBAAoB,CAAC,IAAI,EAAE,MAAM;;;IAUxC;;OAEG;IACH,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE,MAAM;CAY1C"}
@@ -1,4 +1,4 @@
1
- import "../chunk-C6A6W6XS.js";
1
+ import "../chunk-PTJYTZNU.js";
2
2
  import { DextoRuntimeError } from "../errors/DextoRuntimeError.js";
3
3
  import { DextoValidationError } from "../errors/DextoValidationError.js";
4
4
  import { ErrorScope, ErrorType } from "../errors/types.js";
@@ -115,6 +115,21 @@ class PromptError {
115
115
  { name }
116
116
  );
117
117
  }
118
+ /**
119
+ * Prompts config validation failed
120
+ */
121
+ static validationFailed(details) {
122
+ return new DextoValidationError([
123
+ {
124
+ code: PromptErrorCode.PROMPT_CONFIG_INVALID,
125
+ message: `Invalid prompts configuration: ${details}`,
126
+ scope: ErrorScope.PROMPT,
127
+ type: ErrorType.USER,
128
+ severity: "error",
129
+ context: { details }
130
+ }
131
+ ]);
132
+ }
118
133
  }
119
134
  export {
120
135
  PromptError
@@ -1,4 +1,4 @@
1
- import "../chunk-C6A6W6XS.js";
1
+ import "../chunk-PTJYTZNU.js";
2
2
  import { PromptManager } from "./prompt-manager.js";
3
3
  import { MCPPromptProvider } from "./providers/mcp-prompt-provider.js";
4
4
  import { CustomPromptProvider } from "./providers/custom-prompt-provider.js";
@@ -1,4 +1,4 @@
1
- import "../chunk-C6A6W6XS.js";
1
+ import "../chunk-PTJYTZNU.js";
2
2
  import { PromptError } from "./errors.js";
3
3
  const PROMPT_NAME_REGEX = /^[a-z0-9]+(?:-[a-z0-9]+)*$/;
4
4
  const PROMPT_NAME_GUIDANCE = "kebab-case (lowercase letters and numbers separated by single hyphens)";