@dexto/core 1.2.4 → 1.2.6

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 (551) hide show
  1. package/README.md +60 -0
  2. package/dist/agent/DextoAgent.cjs +579 -345
  3. package/dist/agent/DextoAgent.d.ts +131 -83
  4. package/dist/agent/DextoAgent.d.ts.map +1 -1
  5. package/dist/agent/DextoAgent.js +573 -336
  6. package/dist/agent/agentCard.cjs +4 -2
  7. package/dist/agent/agentCard.d.ts +0 -1
  8. package/dist/agent/agentCard.d.ts.map +1 -1
  9. package/dist/agent/agentCard.js +4 -2
  10. package/dist/agent/index.cjs +3 -7
  11. package/dist/agent/index.d.ts +3 -3
  12. package/dist/agent/index.d.ts.map +1 -1
  13. package/dist/agent/index.js +7 -6
  14. package/dist/agent/schemas.cjs +179 -75
  15. package/dist/agent/schemas.d.ts +2678 -586
  16. package/dist/agent/schemas.d.ts.map +1 -1
  17. package/dist/agent/schemas.js +172 -65
  18. package/dist/agent/state-manager.cjs +28 -23
  19. package/dist/agent/state-manager.d.ts +4 -1
  20. package/dist/agent/state-manager.d.ts.map +1 -1
  21. package/dist/agent/state-manager.js +28 -23
  22. package/dist/{preferences/constants.cjs → agent/types.cjs} +2 -14
  23. package/dist/agent/types.d.ts +54 -0
  24. package/dist/agent/types.d.ts.map +1 -0
  25. package/dist/agent/types.js +0 -0
  26. package/dist/approval/errors.cjs +89 -8
  27. package/dist/approval/errors.d.ts +5 -3
  28. package/dist/approval/errors.d.ts.map +1 -1
  29. package/dist/approval/errors.js +89 -8
  30. package/dist/approval/{providers/factory.d.ts → factory.d.ts} +2 -2
  31. package/dist/approval/factory.d.ts.map +1 -0
  32. package/dist/approval/{providers/factory.js → factory.js} +1 -1
  33. package/dist/approval/index.cjs +4 -6
  34. package/dist/approval/index.d.ts +3 -5
  35. package/dist/approval/index.d.ts.map +1 -1
  36. package/dist/approval/index.js +4 -5
  37. package/dist/approval/manager.cjs +140 -37
  38. package/dist/approval/manager.d.ts +56 -17
  39. package/dist/approval/manager.d.ts.map +1 -1
  40. package/dist/approval/manager.js +141 -38
  41. package/dist/approval/schemas.cjs +9 -1
  42. package/dist/approval/schemas.d.ts +120 -35
  43. package/dist/approval/schemas.d.ts.map +1 -1
  44. package/dist/approval/schemas.js +9 -2
  45. package/dist/approval/types.cjs +14 -2
  46. package/dist/approval/types.d.ts +64 -12
  47. package/dist/approval/types.d.ts.map +1 -1
  48. package/dist/approval/types.js +12 -1
  49. package/dist/context/compression/middle-removal.cjs +11 -11
  50. package/dist/context/compression/middle-removal.d.ts +3 -1
  51. package/dist/context/compression/middle-removal.d.ts.map +1 -1
  52. package/dist/context/compression/middle-removal.js +11 -11
  53. package/dist/context/compression/oldest-removal.cjs +18 -5
  54. package/dist/context/compression/oldest-removal.d.ts +3 -1
  55. package/dist/context/compression/oldest-removal.d.ts.map +1 -1
  56. package/dist/context/compression/oldest-removal.js +18 -5
  57. package/dist/context/manager.cjs +94 -67
  58. package/dist/context/manager.d.ts +13 -10
  59. package/dist/context/manager.d.ts.map +1 -1
  60. package/dist/context/manager.js +94 -67
  61. package/dist/context/utils.cjs +79 -65
  62. package/dist/context/utils.d.ts +15 -12
  63. package/dist/context/utils.d.ts.map +1 -1
  64. package/dist/context/utils.js +45 -31
  65. package/dist/errors/DextoRuntimeError.d.ts +5 -5
  66. package/dist/errors/DextoRuntimeError.d.ts.map +1 -1
  67. package/dist/errors/result-bridge.cjs +2 -3
  68. package/dist/errors/result-bridge.d.ts +5 -3
  69. package/dist/errors/result-bridge.d.ts.map +1 -1
  70. package/dist/errors/result-bridge.js +1 -2
  71. package/dist/errors/types.cjs +1 -2
  72. package/dist/errors/types.d.ts +5 -8
  73. package/dist/errors/types.d.ts.map +1 -1
  74. package/dist/errors/types.js +1 -2
  75. package/dist/events/index.cjs +125 -55
  76. package/dist/events/index.d.ts +204 -97
  77. package/dist/events/index.d.ts.map +1 -1
  78. package/dist/events/index.js +123 -55
  79. package/dist/filesystem/filesystem-service.cjs +40 -30
  80. package/dist/filesystem/filesystem-service.d.ts +9 -1
  81. package/dist/filesystem/filesystem-service.d.ts.map +1 -1
  82. package/dist/filesystem/filesystem-service.js +40 -30
  83. package/dist/filesystem/path-validator.cjs +4 -3
  84. package/dist/filesystem/path-validator.d.ts +3 -1
  85. package/dist/filesystem/path-validator.d.ts.map +1 -1
  86. package/dist/filesystem/path-validator.js +4 -3
  87. package/dist/filesystem/types.d.ts +3 -3
  88. package/dist/filesystem/types.d.ts.map +1 -1
  89. package/dist/index.browser.cjs +7 -0
  90. package/dist/index.browser.d.ts +2 -0
  91. package/dist/index.browser.d.ts.map +1 -1
  92. package/dist/index.browser.js +4 -0
  93. package/dist/index.cjs +0 -7
  94. package/dist/index.d.ts +12 -3
  95. package/dist/index.d.ts.map +1 -1
  96. package/dist/index.js +0 -4
  97. package/dist/llm/formatters/anthropic.cjs +32 -21
  98. package/dist/llm/formatters/anthropic.d.ts +3 -0
  99. package/dist/llm/formatters/anthropic.d.ts.map +1 -1
  100. package/dist/llm/formatters/anthropic.js +32 -21
  101. package/dist/llm/formatters/factory.cjs +6 -7
  102. package/dist/llm/formatters/factory.d.ts +2 -1
  103. package/dist/llm/formatters/factory.d.ts.map +1 -1
  104. package/dist/llm/formatters/factory.js +4 -5
  105. package/dist/llm/formatters/openai.cjs +38 -9
  106. package/dist/llm/formatters/openai.d.ts +3 -0
  107. package/dist/llm/formatters/openai.d.ts.map +1 -1
  108. package/dist/llm/formatters/openai.js +38 -9
  109. package/dist/llm/formatters/vercel.cjs +49 -8
  110. package/dist/llm/formatters/vercel.d.ts +3 -0
  111. package/dist/llm/formatters/vercel.d.ts.map +1 -1
  112. package/dist/llm/formatters/vercel.js +49 -8
  113. package/dist/llm/registry.cjs +153 -17
  114. package/dist/llm/registry.d.ts +5 -2
  115. package/dist/llm/registry.d.ts.map +1 -1
  116. package/dist/llm/registry.js +143 -7
  117. package/dist/llm/resolver.cjs +4 -4
  118. package/dist/llm/resolver.d.ts +3 -2
  119. package/dist/llm/resolver.d.ts.map +1 -1
  120. package/dist/llm/resolver.js +4 -4
  121. package/dist/llm/schemas.cjs +6 -3
  122. package/dist/llm/schemas.d.ts +51 -17
  123. package/dist/llm/schemas.d.ts.map +1 -1
  124. package/dist/llm/schemas.js +5 -3
  125. package/dist/llm/services/anthropic.cjs +216 -183
  126. package/dist/llm/services/anthropic.d.ts +3 -1
  127. package/dist/llm/services/anthropic.d.ts.map +1 -1
  128. package/dist/llm/services/anthropic.js +217 -184
  129. package/dist/llm/services/factory.cjs +15 -9
  130. package/dist/llm/services/factory.d.ts +2 -1
  131. package/dist/llm/services/factory.d.ts.map +1 -1
  132. package/dist/llm/services/factory.js +15 -9
  133. package/dist/llm/services/openai.cjs +262 -225
  134. package/dist/llm/services/openai.d.ts +3 -1
  135. package/dist/llm/services/openai.d.ts.map +1 -1
  136. package/dist/llm/services/openai.js +263 -226
  137. package/dist/llm/services/test-utils.integration.cjs +58 -12
  138. package/dist/llm/services/test-utils.integration.d.ts.map +1 -1
  139. package/dist/llm/services/test-utils.integration.js +58 -12
  140. package/dist/llm/services/types.d.ts +9 -0
  141. package/dist/llm/services/types.d.ts.map +1 -1
  142. package/dist/llm/services/vercel.cjs +163 -111
  143. package/dist/llm/services/vercel.d.ts +3 -1
  144. package/dist/llm/services/vercel.d.ts.map +1 -1
  145. package/dist/llm/services/vercel.js +157 -105
  146. package/dist/llm/tokenizer/factory.cjs +2 -2
  147. package/dist/llm/tokenizer/factory.d.ts +3 -1
  148. package/dist/llm/tokenizer/factory.d.ts.map +1 -1
  149. package/dist/llm/tokenizer/factory.js +2 -2
  150. package/dist/llm/tokenizer/openai.cjs +16 -9
  151. package/dist/llm/tokenizer/openai.d.ts +4 -1
  152. package/dist/llm/tokenizer/openai.d.ts.map +1 -1
  153. package/dist/llm/tokenizer/openai.js +16 -9
  154. package/dist/llm/validation.cjs +8 -9
  155. package/dist/llm/validation.d.ts +3 -1
  156. package/dist/llm/validation.d.ts.map +1 -1
  157. package/dist/llm/validation.js +5 -6
  158. package/dist/logger/factory.cjs +54 -0
  159. package/dist/logger/factory.d.ts +36 -0
  160. package/dist/logger/factory.d.ts.map +1 -0
  161. package/dist/logger/factory.js +31 -0
  162. package/dist/logger/index.cjs +42 -3
  163. package/dist/logger/index.d.ts +17 -1
  164. package/dist/logger/index.d.ts.map +1 -1
  165. package/dist/logger/index.js +26 -1
  166. package/dist/logger/logger.cjs +30 -17
  167. package/dist/logger/logger.d.ts.map +1 -1
  168. package/dist/logger/logger.js +30 -17
  169. package/dist/logger/v2/dexto-logger.cjs +141 -0
  170. package/dist/logger/v2/dexto-logger.d.ts +54 -0
  171. package/dist/logger/v2/dexto-logger.d.ts.map +1 -0
  172. package/dist/logger/v2/dexto-logger.js +118 -0
  173. package/dist/{preferences → logger/v2}/error-codes.cjs +11 -10
  174. package/dist/logger/v2/error-codes.d.ts +13 -0
  175. package/dist/logger/v2/error-codes.d.ts.map +1 -0
  176. package/dist/logger/v2/error-codes.js +13 -0
  177. package/dist/logger/v2/errors.cjs +107 -0
  178. package/dist/logger/v2/errors.d.ts +32 -0
  179. package/dist/logger/v2/errors.d.ts.map +1 -0
  180. package/dist/logger/v2/errors.js +84 -0
  181. package/dist/logger/v2/schemas.cjs +57 -0
  182. package/dist/logger/v2/schemas.d.ts +147 -0
  183. package/dist/logger/v2/schemas.d.ts.map +1 -0
  184. package/dist/logger/v2/schemas.js +33 -0
  185. package/dist/logger/v2/transport-factory.cjs +53 -0
  186. package/dist/logger/v2/transport-factory.d.ts +21 -0
  187. package/dist/logger/v2/transport-factory.d.ts.map +1 -0
  188. package/dist/logger/v2/transport-factory.js +29 -0
  189. package/dist/logger/v2/transports/console-transport.cjs +79 -0
  190. package/dist/logger/v2/transports/console-transport.d.ts +23 -0
  191. package/dist/logger/v2/transports/console-transport.d.ts.map +1 -0
  192. package/dist/logger/v2/transports/console-transport.js +46 -0
  193. package/dist/logger/v2/transports/file-transport.cjs +161 -0
  194. package/dist/logger/v2/transports/file-transport.d.ts +46 -0
  195. package/dist/logger/v2/transports/file-transport.d.ts.map +1 -0
  196. package/dist/logger/v2/transports/file-transport.js +128 -0
  197. package/dist/logger/v2/types.cjs +49 -0
  198. package/dist/logger/v2/types.d.ts +123 -0
  199. package/dist/logger/v2/types.d.ts.map +1 -0
  200. package/dist/logger/v2/types.js +26 -0
  201. package/dist/mcp/manager.cjs +88 -78
  202. package/dist/mcp/manager.d.ts +3 -1
  203. package/dist/mcp/manager.d.ts.map +1 -1
  204. package/dist/mcp/manager.js +88 -78
  205. package/dist/mcp/mcp-client.cjs +109 -79
  206. package/dist/mcp/mcp-client.d.ts +3 -0
  207. package/dist/mcp/mcp-client.d.ts.map +1 -1
  208. package/dist/mcp/mcp-client.js +102 -72
  209. package/dist/memory/index.cjs +2 -0
  210. package/dist/memory/index.d.ts +1 -1
  211. package/dist/memory/index.d.ts.map +1 -1
  212. package/dist/memory/index.js +3 -1
  213. package/dist/memory/manager.cjs +9 -7
  214. package/dist/memory/manager.d.ts +3 -1
  215. package/dist/memory/manager.d.ts.map +1 -1
  216. package/dist/memory/manager.js +9 -7
  217. package/dist/memory/schemas.cjs +10 -0
  218. package/dist/memory/schemas.d.ts +37 -8
  219. package/dist/memory/schemas.d.ts.map +1 -1
  220. package/dist/memory/schemas.js +9 -0
  221. package/dist/plugins/manager.cjs +21 -19
  222. package/dist/plugins/manager.d.ts +3 -1
  223. package/dist/plugins/manager.d.ts.map +1 -1
  224. package/dist/plugins/manager.js +21 -19
  225. package/dist/plugins/schemas.d.ts +9 -9
  226. package/dist/plugins/types.d.ts +2 -2
  227. package/dist/plugins/types.d.ts.map +1 -1
  228. package/dist/process/command-validator.cjs +30 -20
  229. package/dist/process/command-validator.d.ts +4 -1
  230. package/dist/process/command-validator.d.ts.map +1 -1
  231. package/dist/process/command-validator.js +30 -20
  232. package/dist/process/process-service.cjs +23 -21
  233. package/dist/process/process-service.d.ts +3 -1
  234. package/dist/process/process-service.d.ts.map +1 -1
  235. package/dist/process/process-service.js +23 -21
  236. package/dist/prompts/index.cjs +6 -8
  237. package/dist/prompts/index.d.ts +2 -4
  238. package/dist/prompts/index.d.ts.map +1 -1
  239. package/dist/prompts/index.js +4 -6
  240. package/dist/prompts/prompt-manager.cjs +25 -20
  241. package/dist/prompts/prompt-manager.d.ts +3 -1
  242. package/dist/prompts/prompt-manager.d.ts.map +1 -1
  243. package/dist/prompts/prompt-manager.js +25 -20
  244. package/dist/prompts/providers/config-prompt-provider.cjs +331 -0
  245. package/dist/prompts/providers/config-prompt-provider.d.ts +34 -0
  246. package/dist/prompts/providers/config-prompt-provider.d.ts.map +1 -0
  247. package/dist/prompts/providers/config-prompt-provider.js +308 -0
  248. package/dist/prompts/providers/custom-prompt-provider.cjs +11 -7
  249. package/dist/prompts/providers/custom-prompt-provider.d.ts +3 -1
  250. package/dist/prompts/providers/custom-prompt-provider.d.ts.map +1 -1
  251. package/dist/prompts/providers/custom-prompt-provider.js +11 -7
  252. package/dist/prompts/providers/mcp-prompt-provider.cjs +7 -6
  253. package/dist/prompts/providers/mcp-prompt-provider.d.ts +3 -1
  254. package/dist/prompts/providers/mcp-prompt-provider.d.ts.map +1 -1
  255. package/dist/prompts/providers/mcp-prompt-provider.js +7 -6
  256. package/dist/prompts/schemas.cjs +42 -23
  257. package/dist/prompts/schemas.d.ts +123 -14
  258. package/dist/prompts/schemas.d.ts.map +1 -1
  259. package/dist/prompts/schemas.js +39 -22
  260. package/dist/prompts/types.d.ts +1 -1
  261. package/dist/prompts/types.d.ts.map +1 -1
  262. package/dist/resources/handlers/blob-handler.cjs +15 -11
  263. package/dist/resources/handlers/blob-handler.d.ts +3 -1
  264. package/dist/resources/handlers/blob-handler.d.ts.map +1 -1
  265. package/dist/resources/handlers/blob-handler.js +15 -11
  266. package/dist/resources/handlers/factory.cjs +3 -3
  267. package/dist/resources/handlers/factory.d.ts +2 -1
  268. package/dist/resources/handlers/factory.d.ts.map +1 -1
  269. package/dist/resources/handlers/factory.js +3 -3
  270. package/dist/resources/handlers/filesystem-handler.cjs +10 -8
  271. package/dist/resources/handlers/filesystem-handler.d.ts +3 -1
  272. package/dist/resources/handlers/filesystem-handler.d.ts.map +1 -1
  273. package/dist/resources/handlers/filesystem-handler.js +10 -8
  274. package/dist/resources/internal-provider.cjs +28 -20
  275. package/dist/resources/internal-provider.d.ts +3 -1
  276. package/dist/resources/internal-provider.d.ts.map +1 -1
  277. package/dist/resources/internal-provider.js +28 -20
  278. package/dist/resources/manager.cjs +34 -25
  279. package/dist/resources/manager.d.ts +3 -1
  280. package/dist/resources/manager.d.ts.map +1 -1
  281. package/dist/resources/manager.js +34 -25
  282. package/dist/resources/schemas.d.ts +6 -6
  283. package/dist/search/search-service.cjs +8 -6
  284. package/dist/search/search-service.d.ts +3 -1
  285. package/dist/search/search-service.d.ts.map +1 -1
  286. package/dist/search/search-service.js +8 -6
  287. package/dist/session/chat-session.cjs +40 -27
  288. package/dist/session/chat-session.d.ts +10 -7
  289. package/dist/session/chat-session.d.ts.map +1 -1
  290. package/dist/session/chat-session.js +40 -27
  291. package/dist/session/history/database.cjs +18 -11
  292. package/dist/session/history/database.d.ts +3 -1
  293. package/dist/session/history/database.d.ts.map +1 -1
  294. package/dist/session/history/database.js +18 -11
  295. package/dist/session/history/factory.cjs +2 -2
  296. package/dist/session/history/factory.d.ts +5 -1
  297. package/dist/session/history/factory.d.ts.map +1 -1
  298. package/dist/session/history/factory.js +2 -2
  299. package/dist/session/session-manager.cjs +37 -53
  300. package/dist/session/session-manager.d.ts +3 -17
  301. package/dist/session/session-manager.d.ts.map +1 -1
  302. package/dist/session/session-manager.js +37 -53
  303. package/dist/session/title-generator.cjs +3 -2
  304. package/dist/session/title-generator.d.ts +2 -1
  305. package/dist/session/title-generator.d.ts.map +1 -1
  306. package/dist/session/title-generator.js +3 -2
  307. package/dist/storage/blob/factory.cjs +9 -18
  308. package/dist/storage/blob/factory.d.ts +5 -4
  309. package/dist/storage/blob/factory.d.ts.map +1 -1
  310. package/dist/storage/blob/factory.js +8 -17
  311. package/dist/storage/blob/local-blob-store.cjs +25 -32
  312. package/dist/storage/blob/local-blob-store.d.ts +3 -2
  313. package/dist/storage/blob/local-blob-store.d.ts.map +1 -1
  314. package/dist/storage/blob/local-blob-store.js +25 -32
  315. package/dist/storage/blob/memory-blob-store.cjs +326 -0
  316. package/dist/storage/blob/memory-blob-store.d.ts +66 -0
  317. package/dist/storage/blob/memory-blob-store.d.ts.map +1 -0
  318. package/dist/storage/blob/memory-blob-store.js +303 -0
  319. package/dist/storage/blob/schemas.cjs +3 -1
  320. package/dist/storage/blob/schemas.d.ts +6 -6
  321. package/dist/storage/blob/schemas.d.ts.map +1 -1
  322. package/dist/storage/blob/schemas.js +3 -1
  323. package/dist/storage/cache/factory.cjs +7 -8
  324. package/dist/storage/cache/factory.d.ts +4 -1
  325. package/dist/storage/cache/factory.d.ts.map +1 -1
  326. package/dist/storage/cache/factory.js +4 -5
  327. package/dist/storage/cache/redis-store.cjs +4 -1
  328. package/dist/storage/cache/redis-store.d.ts +3 -1
  329. package/dist/storage/cache/redis-store.d.ts.map +1 -1
  330. package/dist/storage/cache/redis-store.js +4 -1
  331. package/dist/storage/database/factory.cjs +13 -16
  332. package/dist/storage/database/factory.d.ts +5 -3
  333. package/dist/storage/database/factory.d.ts.map +1 -1
  334. package/dist/storage/database/factory.js +9 -12
  335. package/dist/storage/database/postgres-store.cjs +4 -1
  336. package/dist/storage/database/postgres-store.d.ts +3 -1
  337. package/dist/storage/database/postgres-store.d.ts.map +1 -1
  338. package/dist/storage/database/postgres-store.js +4 -1
  339. package/dist/storage/database/schemas.cjs +3 -4
  340. package/dist/storage/database/schemas.d.ts +8 -16
  341. package/dist/storage/database/schemas.d.ts.map +1 -1
  342. package/dist/storage/database/schemas.js +3 -4
  343. package/dist/storage/database/sqlite-store.cjs +17 -45
  344. package/dist/storage/database/sqlite-store.d.ts +3 -3
  345. package/dist/storage/database/sqlite-store.d.ts.map +1 -1
  346. package/dist/storage/database/sqlite-store.js +17 -45
  347. package/dist/storage/schemas.cjs +3 -1
  348. package/dist/storage/schemas.d.ts +16 -23
  349. package/dist/storage/schemas.d.ts.map +1 -1
  350. package/dist/storage/schemas.js +3 -1
  351. package/dist/storage/storage-manager.cjs +15 -15
  352. package/dist/storage/storage-manager.d.ts +6 -6
  353. package/dist/storage/storage-manager.d.ts.map +1 -1
  354. package/dist/storage/storage-manager.js +15 -15
  355. package/dist/systemPrompt/contributors.cjs +15 -15
  356. package/dist/systemPrompt/contributors.d.ts +5 -3
  357. package/dist/systemPrompt/contributors.d.ts.map +1 -1
  358. package/dist/systemPrompt/contributors.js +15 -15
  359. package/dist/systemPrompt/in-built-prompts.cjs +0 -5
  360. package/dist/systemPrompt/in-built-prompts.d.ts +1 -2
  361. package/dist/systemPrompt/in-built-prompts.d.ts.map +1 -1
  362. package/dist/systemPrompt/in-built-prompts.js +0 -4
  363. package/dist/systemPrompt/manager.cjs +31 -23
  364. package/dist/systemPrompt/manager.d.ts +5 -3
  365. package/dist/systemPrompt/manager.d.ts.map +1 -1
  366. package/dist/systemPrompt/manager.js +31 -23
  367. package/dist/systemPrompt/registry.cjs +1 -2
  368. package/dist/systemPrompt/registry.d.ts +1 -1
  369. package/dist/systemPrompt/registry.d.ts.map +1 -1
  370. package/dist/systemPrompt/registry.js +1 -2
  371. package/dist/systemPrompt/schemas.cjs +24 -18
  372. package/dist/systemPrompt/schemas.d.ts +46 -222
  373. package/dist/systemPrompt/schemas.d.ts.map +1 -1
  374. package/dist/systemPrompt/schemas.js +14 -18
  375. package/dist/telemetry/decorators.cjs +54 -15
  376. package/dist/telemetry/decorators.d.ts.map +1 -1
  377. package/dist/telemetry/decorators.js +54 -15
  378. package/dist/telemetry/utils.cjs +21 -14
  379. package/dist/telemetry/utils.d.ts +7 -3
  380. package/dist/telemetry/utils.d.ts.map +1 -1
  381. package/dist/telemetry/utils.js +21 -14
  382. package/dist/tools/confirmation/allowed-tools-provider/factory.cjs +2 -2
  383. package/dist/tools/confirmation/allowed-tools-provider/factory.d.ts +2 -1
  384. package/dist/tools/confirmation/allowed-tools-provider/factory.d.ts.map +1 -1
  385. package/dist/tools/confirmation/allowed-tools-provider/factory.js +2 -2
  386. package/dist/tools/confirmation/allowed-tools-provider/storage.cjs +7 -6
  387. package/dist/tools/confirmation/allowed-tools-provider/storage.d.ts +3 -1
  388. package/dist/tools/confirmation/allowed-tools-provider/storage.d.ts.map +1 -1
  389. package/dist/tools/confirmation/allowed-tools-provider/storage.js +7 -6
  390. package/dist/tools/errors.cjs +2 -1
  391. package/dist/tools/errors.d.ts.map +1 -1
  392. package/dist/tools/errors.js +2 -1
  393. package/dist/tools/internal-tools/constants.cjs +2 -1
  394. package/dist/tools/internal-tools/constants.d.ts +1 -1
  395. package/dist/tools/internal-tools/constants.d.ts.map +1 -1
  396. package/dist/tools/internal-tools/constants.js +2 -1
  397. package/dist/tools/internal-tools/implementations/bash-exec-tool.cjs +1 -1
  398. package/dist/tools/internal-tools/implementations/bash-exec-tool.js +1 -1
  399. package/dist/tools/internal-tools/implementations/delegate-to-url-tool.cjs +192 -0
  400. package/dist/tools/internal-tools/implementations/delegate-to-url-tool.d.ts +33 -0
  401. package/dist/tools/internal-tools/implementations/delegate-to-url-tool.d.ts.map +1 -0
  402. package/dist/tools/internal-tools/implementations/delegate-to-url-tool.js +169 -0
  403. package/dist/tools/internal-tools/provider.cjs +21 -17
  404. package/dist/tools/internal-tools/provider.d.ts +3 -1
  405. package/dist/tools/internal-tools/provider.d.ts.map +1 -1
  406. package/dist/tools/internal-tools/provider.js +21 -17
  407. package/dist/tools/internal-tools/registry.cjs +5 -0
  408. package/dist/tools/internal-tools/registry.d.ts.map +1 -1
  409. package/dist/tools/internal-tools/registry.js +5 -0
  410. package/dist/tools/schemas.cjs +16 -4
  411. package/dist/tools/schemas.d.ts +21 -9
  412. package/dist/tools/schemas.d.ts.map +1 -1
  413. package/dist/tools/schemas.js +15 -4
  414. package/dist/tools/tool-manager.cjs +64 -47
  415. package/dist/tools/tool-manager.d.ts +4 -2
  416. package/dist/tools/tool-manager.d.ts.map +1 -1
  417. package/dist/tools/tool-manager.js +61 -44
  418. package/dist/tools/types.d.ts +0 -4
  419. package/dist/tools/types.d.ts.map +1 -1
  420. package/dist/utils/env-file.cjs +118 -0
  421. package/dist/utils/env-file.d.ts +5 -0
  422. package/dist/utils/env-file.d.ts.map +1 -0
  423. package/dist/utils/env-file.js +85 -0
  424. package/dist/utils/error-conversion.cjs +23 -1
  425. package/dist/utils/error-conversion.d.ts +2 -1
  426. package/dist/utils/error-conversion.d.ts.map +1 -1
  427. package/dist/utils/error-conversion.js +23 -1
  428. package/dist/utils/execution-context.d.ts.map +1 -1
  429. package/dist/utils/fs-walk.d.ts.map +1 -1
  430. package/dist/utils/index.cjs +7 -9
  431. package/dist/utils/index.d.ts +3 -4
  432. package/dist/utils/index.d.ts.map +1 -1
  433. package/dist/utils/index.js +3 -4
  434. package/dist/utils/path.cjs +22 -57
  435. package/dist/utils/path.d.ts +8 -7
  436. package/dist/utils/path.d.ts.map +1 -1
  437. package/dist/utils/path.js +21 -54
  438. package/dist/utils/result.cjs +37 -14
  439. package/dist/utils/result.d.ts.map +1 -1
  440. package/dist/utils/result.js +37 -14
  441. package/dist/utils/schema.cjs +2 -3
  442. package/dist/utils/schema.d.ts +2 -1
  443. package/dist/utils/schema.d.ts.map +1 -1
  444. package/dist/utils/schema.js +1 -2
  445. package/dist/utils/service-initializer.cjs +88 -61
  446. package/dist/utils/service-initializer.d.ts +4 -2
  447. package/dist/utils/service-initializer.d.ts.map +1 -1
  448. package/dist/utils/service-initializer.js +70 -43
  449. package/package.json +7 -3
  450. package/dist/Dexto.cjs +0 -251
  451. package/dist/Dexto.d.ts +0 -191
  452. package/dist/Dexto.d.ts.map +0 -1
  453. package/dist/Dexto.js +0 -228
  454. package/dist/agent/registry/error-codes.cjs +0 -44
  455. package/dist/agent/registry/error-codes.d.ts +0 -21
  456. package/dist/agent/registry/error-codes.d.ts.map +0 -1
  457. package/dist/agent/registry/error-codes.js +0 -21
  458. package/dist/agent/registry/errors.cjs +0 -188
  459. package/dist/agent/registry/errors.d.ts +0 -63
  460. package/dist/agent/registry/errors.d.ts.map +0 -1
  461. package/dist/agent/registry/errors.js +0 -165
  462. package/dist/agent/registry/registry.cjs +0 -479
  463. package/dist/agent/registry/registry.d.ts +0 -130
  464. package/dist/agent/registry/registry.d.ts.map +0 -1
  465. package/dist/agent/registry/registry.js +0 -453
  466. package/dist/agent/registry/types.cjs +0 -74
  467. package/dist/agent/registry/types.d.ts +0 -142
  468. package/dist/agent/registry/types.d.ts.map +0 -1
  469. package/dist/agent/registry/types.js +0 -48
  470. package/dist/agent/registry/user-registry.cjs +0 -140
  471. package/dist/agent/registry/user-registry.d.ts +0 -34
  472. package/dist/agent/registry/user-registry.d.ts.map +0 -1
  473. package/dist/agent/registry/user-registry.js +0 -105
  474. package/dist/approval/providers/event-based-approval-provider.cjs +0 -156
  475. package/dist/approval/providers/event-based-approval-provider.d.ts +0 -39
  476. package/dist/approval/providers/event-based-approval-provider.d.ts.map +0 -1
  477. package/dist/approval/providers/event-based-approval-provider.js +0 -133
  478. package/dist/approval/providers/factory.d.ts.map +0 -1
  479. package/dist/approval/providers/noop-approval-provider.cjs +0 -54
  480. package/dist/approval/providers/noop-approval-provider.d.ts +0 -18
  481. package/dist/approval/providers/noop-approval-provider.d.ts.map +0 -1
  482. package/dist/approval/providers/noop-approval-provider.js +0 -31
  483. package/dist/config/agent-resolver.cjs +0 -153
  484. package/dist/config/agent-resolver.d.ts +0 -14
  485. package/dist/config/agent-resolver.d.ts.map +0 -1
  486. package/dist/config/agent-resolver.js +0 -123
  487. package/dist/config/error-codes.cjs +0 -39
  488. package/dist/config/error-codes.d.ts +0 -16
  489. package/dist/config/error-codes.d.ts.map +0 -1
  490. package/dist/config/error-codes.js +0 -16
  491. package/dist/config/errors.cjs +0 -126
  492. package/dist/config/errors.d.ts +0 -34
  493. package/dist/config/errors.d.ts.map +0 -1
  494. package/dist/config/errors.js +0 -103
  495. package/dist/config/index.cjs +0 -26
  496. package/dist/config/index.d.ts +0 -4
  497. package/dist/config/index.d.ts.map +0 -1
  498. package/dist/config/index.js +0 -3
  499. package/dist/config/loader.cjs +0 -119
  500. package/dist/config/loader.d.ts +0 -16
  501. package/dist/config/loader.d.ts.map +0 -1
  502. package/dist/config/loader.js +0 -86
  503. package/dist/config/writer.cjs +0 -182
  504. package/dist/config/writer.d.ts +0 -35
  505. package/dist/config/writer.d.ts.map +0 -1
  506. package/dist/config/writer.js +0 -147
  507. package/dist/preferences/constants.d.ts +0 -2
  508. package/dist/preferences/constants.d.ts.map +0 -1
  509. package/dist/preferences/constants.js +0 -5
  510. package/dist/preferences/error-codes.d.ts +0 -8
  511. package/dist/preferences/error-codes.d.ts.map +0 -1
  512. package/dist/preferences/error-codes.js +0 -12
  513. package/dist/preferences/errors.cjs +0 -75
  514. package/dist/preferences/errors.d.ts +0 -18
  515. package/dist/preferences/errors.d.ts.map +0 -1
  516. package/dist/preferences/errors.js +0 -51
  517. package/dist/preferences/index.cjs +0 -55
  518. package/dist/preferences/index.d.ts +0 -6
  519. package/dist/preferences/index.d.ts.map +0 -1
  520. package/dist/preferences/index.js +0 -32
  521. package/dist/preferences/loader.cjs +0 -138
  522. package/dist/preferences/loader.d.ts +0 -51
  523. package/dist/preferences/loader.d.ts.map +0 -1
  524. package/dist/preferences/loader.js +0 -110
  525. package/dist/preferences/schemas.cjs +0 -75
  526. package/dist/preferences/schemas.d.ts +0 -110
  527. package/dist/preferences/schemas.d.ts.map +0 -1
  528. package/dist/preferences/schemas.js +0 -49
  529. package/dist/prompts/providers/file-prompt-provider.cjs +0 -399
  530. package/dist/prompts/providers/file-prompt-provider.d.ts +0 -47
  531. package/dist/prompts/providers/file-prompt-provider.d.ts.map +0 -1
  532. package/dist/prompts/providers/file-prompt-provider.js +0 -376
  533. package/dist/prompts/providers/starter-prompt-provider.cjs +0 -170
  534. package/dist/prompts/providers/starter-prompt-provider.d.ts +0 -45
  535. package/dist/prompts/providers/starter-prompt-provider.d.ts.map +0 -1
  536. package/dist/prompts/providers/starter-prompt-provider.js +0 -147
  537. package/dist/utils/api-key-store.cjs +0 -56
  538. package/dist/utils/api-key-store.d.ts +0 -24
  539. package/dist/utils/api-key-store.d.ts.map +0 -1
  540. package/dist/utils/api-key-store.js +0 -31
  541. package/dist/utils/env.cjs +0 -154
  542. package/dist/utils/env.d.ts +0 -28
  543. package/dist/utils/env.d.ts.map +0 -1
  544. package/dist/utils/env.js +0 -119
  545. package/dist/utils/port-utils.cjs +0 -37
  546. package/dist/utils/port-utils.d.ts +0 -10
  547. package/dist/utils/port-utils.d.ts.map +0 -1
  548. package/dist/utils/port-utils.js +0 -14
  549. package/dist/utils/port-utils.spec.cjs +0 -26
  550. package/dist/utils/port-utils.spec.js +0 -25
  551. /package/dist/approval/{providers/factory.cjs → factory.cjs} +0 -0
@@ -22,41 +22,43 @@ __export(prompt_manager_exports, {
22
22
  });
23
23
  module.exports = __toCommonJS(prompt_manager_exports);
24
24
  var import_mcp_prompt_provider = require("./providers/mcp-prompt-provider.js");
25
- var import_file_prompt_provider = require("./providers/file-prompt-provider.js");
26
- var import_starter_prompt_provider = require("./providers/starter-prompt-provider.js");
25
+ var import_config_prompt_provider = require("./providers/config-prompt-provider.js");
27
26
  var import_custom_prompt_provider = require("./providers/custom-prompt-provider.js");
28
27
  var import_errors = require("./errors.js");
29
- var import_logger = require("../logger/index.js");
28
+ var import_types = require("../logger/v2/types.js");
30
29
  var import_utils = require("./utils.js");
31
30
  class PromptManager {
32
- constructor(mcpManager, resourceManager, agentConfig, eventBus, database) {
31
+ constructor(mcpManager, resourceManager, agentConfig, eventBus, database, logger) {
33
32
  this.eventBus = eventBus;
34
33
  this.database = database;
35
- this.providers.set("mcp", new import_mcp_prompt_provider.MCPPromptProvider(mcpManager));
36
- this.providers.set("file", new import_file_prompt_provider.FilePromptProvider({ resourceManager }));
37
- this.providers.set("starter", new import_starter_prompt_provider.StarterPromptProvider(agentConfig));
38
- this.providers.set("custom", new import_custom_prompt_provider.CustomPromptProvider(this.database, resourceManager));
39
- import_logger.logger.debug(
34
+ this.logger = logger.createChild(import_types.DextoLogComponent.PROMPT);
35
+ this.providers.set("mcp", new import_mcp_prompt_provider.MCPPromptProvider(mcpManager, this.logger));
36
+ this.providers.set("config", new import_config_prompt_provider.ConfigPromptProvider(agentConfig, this.logger));
37
+ this.providers.set(
38
+ "custom",
39
+ new import_custom_prompt_provider.CustomPromptProvider(this.database, resourceManager, this.logger)
40
+ );
41
+ this.logger.debug(
40
42
  `PromptManager initialized with providers: ${Array.from(this.providers.keys()).join(", ")}`
41
43
  );
42
44
  const refresh = async (reason) => {
43
- import_logger.logger.debug(`PromptManager refreshing due to: ${reason}`);
45
+ this.logger.debug(`PromptManager refreshing due to: ${reason}`);
44
46
  await this.refresh();
45
47
  };
46
- this.eventBus.on("dexto:mcpServerConnected", async (p) => {
48
+ this.eventBus.on("mcp:server-connected", async (p) => {
47
49
  if (p.success) {
48
50
  await refresh(`mcpServerConnected:${p.name}`);
49
51
  }
50
52
  });
51
- this.eventBus.on("dexto:mcpServerRemoved", async (p) => {
53
+ this.eventBus.on("mcp:server-removed", async (p) => {
52
54
  await refresh(`mcpServerRemoved:${p.serverName}`);
53
55
  });
54
- this.eventBus.on("dexto:mcpServerUpdated", async (p) => {
56
+ this.eventBus.on("mcp:server-updated", async (p) => {
55
57
  await refresh(`mcpServerUpdated:${p.serverName}`);
56
58
  });
57
- this.eventBus.on("dexto:mcpPromptsListChanged", async (p) => {
59
+ this.eventBus.on("mcp:prompts-list-changed", async (p) => {
58
60
  await this.updatePromptsForServer(p.serverName, p.prompts);
59
- import_logger.logger.debug(
61
+ this.logger.debug(
60
62
  `\u{1F504} Surgically updated prompts for server '${p.serverName}': [${p.prompts.join(", ")}]`
61
63
  );
62
64
  });
@@ -65,9 +67,10 @@ class PromptManager {
65
67
  promptIndex;
66
68
  aliasMap = /* @__PURE__ */ new Map();
67
69
  buildPromise = null;
70
+ logger;
68
71
  async initialize() {
69
72
  await this.ensureCache();
70
- import_logger.logger.debug("PromptManager initialization complete");
73
+ this.logger.debug("PromptManager initialization complete");
71
74
  }
72
75
  async list() {
73
76
  await this.ensureCache();
@@ -204,7 +207,7 @@ class PromptManager {
204
207
  provider.invalidateCache();
205
208
  }
206
209
  await this.ensureCache();
207
- import_logger.logger.info("PromptManager refreshed");
210
+ this.logger.info("PromptManager refreshed");
208
211
  }
209
212
  /**
210
213
  * Surgically update prompts for a specific MCP server instead of full cache rebuild
@@ -224,7 +227,9 @@ class PromptManager {
224
227
  this.insertPrompt(this.promptIndex, this.aliasMap, "mcp", prompt);
225
228
  }
226
229
  } catch (error) {
227
- import_logger.logger.debug(`Failed to get updated prompts for server '${serverName}': ${error}`);
230
+ this.logger.debug(
231
+ `Failed to get updated prompts for server '${serverName}': ${error}`
232
+ );
228
233
  }
229
234
  }
230
235
  }
@@ -294,7 +299,7 @@ class PromptManager {
294
299
  this.insertPrompt(index, aliases, providerName, prompt);
295
300
  }
296
301
  } catch (error) {
297
- import_logger.logger.error(
302
+ this.logger.error(
298
303
  `Failed to get prompts from ${providerName} provider: ${error instanceof Error ? error.message : String(error)}`
299
304
  );
300
305
  }
@@ -303,7 +308,7 @@ class PromptManager {
303
308
  this.aliasMap = aliases;
304
309
  if (index.size > 0) {
305
310
  const sample = Array.from(index.keys()).slice(0, 5);
306
- import_logger.logger.debug(
311
+ this.logger.debug(
307
312
  `\u{1F4CB} Prompt discovery: ${index.size} prompts. Sample: ${sample.join(", ")}`
308
313
  );
309
314
  }
@@ -4,6 +4,7 @@ import type { GetPromptResult } from '@modelcontextprotocol/sdk/types.js';
4
4
  import type { ValidatedAgentConfig } from '../agent/schemas.js';
5
5
  import type { AgentEventBus } from '../events/index.js';
6
6
  import { type CreateCustomPromptInput } from './providers/custom-prompt-provider.js';
7
+ import type { IDextoLogger } from '../logger/v2/types.js';
7
8
  import type { ResourceManager } from '../resources/manager.js';
8
9
  import type { Database } from '../storage/database/types.js';
9
10
  export declare class PromptManager {
@@ -13,7 +14,8 @@ export declare class PromptManager {
13
14
  private promptIndex;
14
15
  private aliasMap;
15
16
  private buildPromise;
16
- constructor(mcpManager: MCPManager, resourceManager: ResourceManager, agentConfig: ValidatedAgentConfig, eventBus: AgentEventBus, database: Database);
17
+ private logger;
18
+ constructor(mcpManager: MCPManager, resourceManager: ResourceManager, agentConfig: ValidatedAgentConfig, eventBus: AgentEventBus, database: Database, logger: IDextoLogger);
17
19
  initialize(): Promise<void>;
18
20
  list(): Promise<PromptSet>;
19
21
  has(name: string): Promise<boolean>;
@@ -1 +1 @@
1
- {"version":3,"file":"prompt-manager.d.ts","sourceRoot":"","sources":["../../src/prompts/prompt-manager.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,KAAK,EAAE,SAAS,EAAkB,UAAU,EAAE,MAAM,YAAY,CAAC;AACxE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,oCAAoC,CAAC;AAC1E,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAChE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAIxD,OAAO,EAEH,KAAK,uBAAuB,EAC/B,MAAM,uCAAuC,CAAC;AAG/C,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAC/D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,8BAA8B,CAAC;AAU7D,qBAAa,aAAa;IAUlB,OAAO,CAAC,QAAQ,CAAC,QAAQ;IACzB,OAAO,CAAC,QAAQ,CAAC,QAAQ;IAV7B,OAAO,CAAC,SAAS,CAA0C;IAC3D,OAAO,CAAC,WAAW,CAA4C;IAC/D,OAAO,CAAC,QAAQ,CAAkC;IAClD,OAAO,CAAC,YAAY,CAA8B;gBAG9C,UAAU,EAAE,UAAU,EACtB,eAAe,EAAE,eAAe,EAChC,WAAW,EAAE,oBAAoB,EAChB,QAAQ,EAAE,aAAa,EACvB,QAAQ,EAAE,QAAQ;IAqCjC,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAK3B,IAAI,IAAI,OAAO,CAAC,SAAS,CAAC;IAU1B,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAKnC,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,YAAY,EAAE,gBAAgB,GAAG,IAAI,CAAC;IAY9F;;;;;;;;;;;;;OAaG;IACG,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,eAAe,CAAC;IAkDjF,gBAAgB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAa7D,kBAAkB,CAAC,KAAK,EAAE,uBAAuB,GAAG,OAAO,CAAC,UAAU,CAAC;IAUvE,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IASrD;;;;;;;;;;;;OAYG;IACG,aAAa,CACf,IAAI,EAAE,MAAM,EACZ,OAAO,GAAE;QACL,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;KAC7B,GACP,OAAO,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC;IAiC3C,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAU9B;;OAEG;YACW,sBAAsB;IA6BpC;;OAEG;IACH,OAAO,CAAC,sBAAsB;IA+B9B,OAAO,CAAC,kBAAkB;YAqBZ,WAAW;YAgBX,UAAU;IA4BxB,OAAO,CAAC,YAAY;YA8DN,SAAS;CAgB1B"}
1
+ {"version":3,"file":"prompt-manager.d.ts","sourceRoot":"","sources":["../../src/prompts/prompt-manager.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,KAAK,EAAE,SAAS,EAAkB,UAAU,EAAE,MAAM,YAAY,CAAC;AACxE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,oCAAoC,CAAC;AAC1E,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAChE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAGxD,OAAO,EAEH,KAAK,uBAAuB,EAC/B,MAAM,uCAAuC,CAAC;AAE/C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAE1D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAC/D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,8BAA8B,CAAC;AAU7D,qBAAa,aAAa;IAWlB,OAAO,CAAC,QAAQ,CAAC,QAAQ;IACzB,OAAO,CAAC,QAAQ,CAAC,QAAQ;IAX7B,OAAO,CAAC,SAAS,CAA0C;IAC3D,OAAO,CAAC,WAAW,CAA4C;IAC/D,OAAO,CAAC,QAAQ,CAAkC;IAClD,OAAO,CAAC,YAAY,CAA8B;IAClD,OAAO,CAAC,MAAM,CAAe;gBAGzB,UAAU,EAAE,UAAU,EACtB,eAAe,EAAE,eAAe,EAChC,WAAW,EAAE,oBAAoB,EAChB,QAAQ,EAAE,aAAa,EACvB,QAAQ,EAAE,QAAQ,EACnC,MAAM,EAAE,YAAY;IAwClB,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAK3B,IAAI,IAAI,OAAO,CAAC,SAAS,CAAC;IAU1B,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAKnC,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,YAAY,EAAE,gBAAgB,GAAG,IAAI,CAAC;IAY9F;;;;;;;;;;;;;OAaG;IACG,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,eAAe,CAAC;IAkDjF,gBAAgB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAa7D,kBAAkB,CAAC,KAAK,EAAE,uBAAuB,GAAG,OAAO,CAAC,UAAU,CAAC;IAUvE,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IASrD;;;;;;;;;;;;OAYG;IACG,aAAa,CACf,IAAI,EAAE,MAAM,EACZ,OAAO,GAAE;QACL,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;KAC7B,GACP,OAAO,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC;IAiC3C,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAU9B;;OAEG;YACW,sBAAsB;IA+BpC;;OAEG;IACH,OAAO,CAAC,sBAAsB;IA+B9B,OAAO,CAAC,kBAAkB;YAqBZ,WAAW;YAgBX,UAAU;IA4BxB,OAAO,CAAC,YAAY;YA8DN,SAAS;CAgB1B"}
@@ -1,42 +1,44 @@
1
1
  import "../chunk-C6A6W6XS.js";
2
2
  import { MCPPromptProvider } from "./providers/mcp-prompt-provider.js";
3
- import { FilePromptProvider } from "./providers/file-prompt-provider.js";
4
- import { StarterPromptProvider } from "./providers/starter-prompt-provider.js";
3
+ import { ConfigPromptProvider } from "./providers/config-prompt-provider.js";
5
4
  import {
6
5
  CustomPromptProvider
7
6
  } from "./providers/custom-prompt-provider.js";
8
7
  import { PromptError } from "./errors.js";
9
- import { logger } from "../logger/index.js";
8
+ import { DextoLogComponent } from "../logger/v2/types.js";
10
9
  import { normalizePromptArgs, flattenPromptResult } from "./utils.js";
11
10
  class PromptManager {
12
- constructor(mcpManager, resourceManager, agentConfig, eventBus, database) {
11
+ constructor(mcpManager, resourceManager, agentConfig, eventBus, database, logger) {
13
12
  this.eventBus = eventBus;
14
13
  this.database = database;
15
- this.providers.set("mcp", new MCPPromptProvider(mcpManager));
16
- this.providers.set("file", new FilePromptProvider({ resourceManager }));
17
- this.providers.set("starter", new StarterPromptProvider(agentConfig));
18
- this.providers.set("custom", new CustomPromptProvider(this.database, resourceManager));
19
- logger.debug(
14
+ this.logger = logger.createChild(DextoLogComponent.PROMPT);
15
+ this.providers.set("mcp", new MCPPromptProvider(mcpManager, this.logger));
16
+ this.providers.set("config", new ConfigPromptProvider(agentConfig, this.logger));
17
+ this.providers.set(
18
+ "custom",
19
+ new CustomPromptProvider(this.database, resourceManager, this.logger)
20
+ );
21
+ this.logger.debug(
20
22
  `PromptManager initialized with providers: ${Array.from(this.providers.keys()).join(", ")}`
21
23
  );
22
24
  const refresh = async (reason) => {
23
- logger.debug(`PromptManager refreshing due to: ${reason}`);
25
+ this.logger.debug(`PromptManager refreshing due to: ${reason}`);
24
26
  await this.refresh();
25
27
  };
26
- this.eventBus.on("dexto:mcpServerConnected", async (p) => {
28
+ this.eventBus.on("mcp:server-connected", async (p) => {
27
29
  if (p.success) {
28
30
  await refresh(`mcpServerConnected:${p.name}`);
29
31
  }
30
32
  });
31
- this.eventBus.on("dexto:mcpServerRemoved", async (p) => {
33
+ this.eventBus.on("mcp:server-removed", async (p) => {
32
34
  await refresh(`mcpServerRemoved:${p.serverName}`);
33
35
  });
34
- this.eventBus.on("dexto:mcpServerUpdated", async (p) => {
36
+ this.eventBus.on("mcp:server-updated", async (p) => {
35
37
  await refresh(`mcpServerUpdated:${p.serverName}`);
36
38
  });
37
- this.eventBus.on("dexto:mcpPromptsListChanged", async (p) => {
39
+ this.eventBus.on("mcp:prompts-list-changed", async (p) => {
38
40
  await this.updatePromptsForServer(p.serverName, p.prompts);
39
- logger.debug(
41
+ this.logger.debug(
40
42
  `\u{1F504} Surgically updated prompts for server '${p.serverName}': [${p.prompts.join(", ")}]`
41
43
  );
42
44
  });
@@ -45,9 +47,10 @@ class PromptManager {
45
47
  promptIndex;
46
48
  aliasMap = /* @__PURE__ */ new Map();
47
49
  buildPromise = null;
50
+ logger;
48
51
  async initialize() {
49
52
  await this.ensureCache();
50
- logger.debug("PromptManager initialization complete");
53
+ this.logger.debug("PromptManager initialization complete");
51
54
  }
52
55
  async list() {
53
56
  await this.ensureCache();
@@ -184,7 +187,7 @@ class PromptManager {
184
187
  provider.invalidateCache();
185
188
  }
186
189
  await this.ensureCache();
187
- logger.info("PromptManager refreshed");
190
+ this.logger.info("PromptManager refreshed");
188
191
  }
189
192
  /**
190
193
  * Surgically update prompts for a specific MCP server instead of full cache rebuild
@@ -204,7 +207,9 @@ class PromptManager {
204
207
  this.insertPrompt(this.promptIndex, this.aliasMap, "mcp", prompt);
205
208
  }
206
209
  } catch (error) {
207
- logger.debug(`Failed to get updated prompts for server '${serverName}': ${error}`);
210
+ this.logger.debug(
211
+ `Failed to get updated prompts for server '${serverName}': ${error}`
212
+ );
208
213
  }
209
214
  }
210
215
  }
@@ -274,7 +279,7 @@ class PromptManager {
274
279
  this.insertPrompt(index, aliases, providerName, prompt);
275
280
  }
276
281
  } catch (error) {
277
- logger.error(
282
+ this.logger.error(
278
283
  `Failed to get prompts from ${providerName} provider: ${error instanceof Error ? error.message : String(error)}`
279
284
  );
280
285
  }
@@ -283,7 +288,7 @@ class PromptManager {
283
288
  this.aliasMap = aliases;
284
289
  if (index.size > 0) {
285
290
  const sample = Array.from(index.keys()).slice(0, 5);
286
- logger.debug(
291
+ this.logger.debug(
287
292
  `\u{1F4CB} Prompt discovery: ${index.size} prompts. Sample: ${sample.join(", ")}`
288
293
  );
289
294
  }
@@ -0,0 +1,331 @@
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 config_prompt_provider_exports = {};
20
+ __export(config_prompt_provider_exports, {
21
+ ConfigPromptProvider: () => ConfigPromptProvider
22
+ });
23
+ module.exports = __toCommonJS(config_prompt_provider_exports);
24
+ var import_types = require("../../logger/v2/types.js");
25
+ var import_errors = require("../errors.js");
26
+ var import_utils = require("../utils.js");
27
+ var import_name_validation = require("../name-validation.js");
28
+ var import_promises = require("fs/promises");
29
+ var import_fs = require("fs");
30
+ var import_path = require("path");
31
+ class ConfigPromptProvider {
32
+ prompts = [];
33
+ promptsCache = [];
34
+ promptContent = /* @__PURE__ */ new Map();
35
+ cacheValid = false;
36
+ logger;
37
+ constructor(agentConfig, logger) {
38
+ this.logger = logger.createChild(import_types.DextoLogComponent.PROMPT);
39
+ this.prompts = agentConfig.prompts;
40
+ this.buildPromptsCache();
41
+ }
42
+ getSource() {
43
+ return "config";
44
+ }
45
+ invalidateCache() {
46
+ this.cacheValid = false;
47
+ this.promptsCache = [];
48
+ this.promptContent.clear();
49
+ this.logger.debug("ConfigPromptProvider cache invalidated");
50
+ }
51
+ updateConfig(agentConfig) {
52
+ this.prompts = agentConfig.prompts;
53
+ this.invalidateCache();
54
+ this.buildPromptsCache();
55
+ }
56
+ async listPrompts(_cursor) {
57
+ if (!this.cacheValid) {
58
+ await this.buildPromptsCache();
59
+ }
60
+ return {
61
+ prompts: this.promptsCache
62
+ };
63
+ }
64
+ async getPrompt(name, args) {
65
+ if (!this.cacheValid) {
66
+ await this.buildPromptsCache();
67
+ }
68
+ const promptInfo = this.promptsCache.find((p) => p.name === name);
69
+ if (!promptInfo) {
70
+ throw import_errors.PromptError.notFound(name);
71
+ }
72
+ let content = this.promptContent.get(name);
73
+ if (!content) {
74
+ throw import_errors.PromptError.missingText();
75
+ }
76
+ content = this.applyArguments(content, args);
77
+ return {
78
+ description: promptInfo.description,
79
+ messages: [
80
+ {
81
+ role: "user",
82
+ content: {
83
+ type: "text",
84
+ text: content
85
+ }
86
+ }
87
+ ]
88
+ };
89
+ }
90
+ async getPromptDefinition(name) {
91
+ if (!this.cacheValid) {
92
+ await this.buildPromptsCache();
93
+ }
94
+ const promptInfo = this.promptsCache.find((p) => p.name === name);
95
+ if (!promptInfo) {
96
+ return null;
97
+ }
98
+ return {
99
+ name: promptInfo.name,
100
+ ...promptInfo.title && { title: promptInfo.title },
101
+ ...promptInfo.description && { description: promptInfo.description },
102
+ ...promptInfo.arguments && { arguments: promptInfo.arguments }
103
+ };
104
+ }
105
+ async buildPromptsCache() {
106
+ const cache = [];
107
+ const contentMap = /* @__PURE__ */ new Map();
108
+ for (const prompt of this.prompts) {
109
+ try {
110
+ if (prompt.type === "inline") {
111
+ const { info, content } = this.processInlinePrompt(prompt);
112
+ cache.push(info);
113
+ contentMap.set(info.name, content);
114
+ } else if (prompt.type === "file") {
115
+ const result = await this.processFilePrompt(prompt);
116
+ if (result) {
117
+ cache.push(result.info);
118
+ contentMap.set(result.info.name, result.content);
119
+ }
120
+ }
121
+ } catch (error) {
122
+ this.logger.warn(
123
+ `Failed to process prompt: ${error instanceof Error ? error.message : String(error)}`
124
+ );
125
+ }
126
+ }
127
+ cache.sort((a, b) => {
128
+ const priorityA = a.metadata?.priority ?? 0;
129
+ const priorityB = b.metadata?.priority ?? 0;
130
+ return priorityB - priorityA;
131
+ });
132
+ this.promptsCache = cache;
133
+ this.promptContent = contentMap;
134
+ this.cacheValid = true;
135
+ this.logger.debug(`Cached ${cache.length} config prompts`);
136
+ }
137
+ processInlinePrompt(prompt) {
138
+ const promptName = `config:${prompt.id}`;
139
+ const promptInfo = {
140
+ name: promptName,
141
+ title: prompt.title,
142
+ description: prompt.description,
143
+ source: "config",
144
+ metadata: {
145
+ type: "inline",
146
+ category: prompt.category,
147
+ priority: prompt.priority,
148
+ showInStarters: prompt.showInStarters,
149
+ originalId: prompt.id
150
+ }
151
+ };
152
+ return { info: promptInfo, content: prompt.prompt };
153
+ }
154
+ async processFilePrompt(prompt) {
155
+ const filePath = prompt.file;
156
+ if (!(0, import_fs.existsSync)(filePath)) {
157
+ this.logger.warn(`Prompt file not found: ${filePath}`);
158
+ return null;
159
+ }
160
+ try {
161
+ const resolvedDir = await (0, import_promises.realpath)((0, import_path.dirname)(filePath));
162
+ const resolvedFile = await (0, import_promises.realpath)(filePath);
163
+ const rel = (0, import_path.relative)(resolvedDir, resolvedFile);
164
+ if (rel.startsWith(".." + import_path.sep) || rel === "..") {
165
+ this.logger.warn(
166
+ `Skipping prompt file '${filePath}': path traversal attempt detected (resolved outside directory)`
167
+ );
168
+ return null;
169
+ }
170
+ } catch (realpathError) {
171
+ this.logger.warn(
172
+ `Skipping prompt file '${filePath}': unable to resolve path (${realpathError instanceof Error ? realpathError.message : String(realpathError)})`
173
+ );
174
+ return null;
175
+ }
176
+ try {
177
+ const rawContent = await (0, import_promises.readFile)(filePath, "utf-8");
178
+ const parsed = this.parseMarkdownPrompt(rawContent, filePath);
179
+ try {
180
+ (0, import_name_validation.assertValidPromptName)(parsed.id, {
181
+ context: `file prompt '${filePath}'`,
182
+ hint: "Use kebab-case in the 'id:' frontmatter field or file name."
183
+ });
184
+ } catch (validationError) {
185
+ this.logger.warn(
186
+ `Invalid prompt name in '${filePath}': ${validationError instanceof Error ? validationError.message : String(validationError)}`
187
+ );
188
+ return null;
189
+ }
190
+ const promptInfo = {
191
+ name: `config:${parsed.id}`,
192
+ title: parsed.title,
193
+ description: parsed.description,
194
+ source: "config",
195
+ ...parsed.arguments && { arguments: parsed.arguments },
196
+ metadata: {
197
+ type: "file",
198
+ filePath,
199
+ category: parsed.category,
200
+ priority: parsed.priority,
201
+ showInStarters: prompt.showInStarters,
202
+ originalId: parsed.id
203
+ }
204
+ };
205
+ return { info: promptInfo, content: parsed.content };
206
+ } catch (error) {
207
+ this.logger.warn(
208
+ `Failed to read prompt file ${filePath}: ${error instanceof Error ? error.message : String(error)}`
209
+ );
210
+ return null;
211
+ }
212
+ }
213
+ parseMarkdownPrompt(rawContent, filePath) {
214
+ const lines = rawContent.trim().split("\n");
215
+ const fileName = filePath.split("/").pop()?.replace(/\.md$/, "") ?? "unknown";
216
+ let id = fileName;
217
+ let title = fileName;
218
+ let description = `File prompt: ${fileName}`;
219
+ let category;
220
+ let priority;
221
+ let argumentHint;
222
+ let contentBody;
223
+ if (lines[0]?.trim() === "---") {
224
+ let frontmatterEnd = 0;
225
+ for (let i = 1; i < lines.length; i++) {
226
+ if (lines[i]?.trim() === "---") {
227
+ frontmatterEnd = i;
228
+ break;
229
+ }
230
+ }
231
+ if (frontmatterEnd > 0) {
232
+ const frontmatterLines = lines.slice(1, frontmatterEnd);
233
+ contentBody = lines.slice(frontmatterEnd + 1).join("\n");
234
+ for (const line of frontmatterLines) {
235
+ const match = (key) => {
236
+ const regex = new RegExp(`${key}:\\s*(?:['"](.+)['"]|(.+))`);
237
+ const m = line.match(regex);
238
+ return m ? (m[1] || m[2] || "").trim() : null;
239
+ };
240
+ if (line.includes("id:")) {
241
+ const val = match("id");
242
+ if (val) id = val;
243
+ } else if (line.includes("title:")) {
244
+ const val = match("title");
245
+ if (val) title = val;
246
+ } else if (line.includes("description:")) {
247
+ const val = match("description");
248
+ if (val) description = val;
249
+ } else if (line.includes("category:")) {
250
+ const val = match("category");
251
+ if (val) category = val;
252
+ } else if (line.includes("priority:")) {
253
+ const val = match("priority");
254
+ if (val) priority = parseInt(val, 10);
255
+ } else if (line.includes("argument-hint:")) {
256
+ const val = match("argument-hint");
257
+ if (val) argumentHint = val;
258
+ }
259
+ }
260
+ } else {
261
+ contentBody = rawContent;
262
+ }
263
+ } else {
264
+ contentBody = rawContent;
265
+ }
266
+ if (title === fileName) {
267
+ for (const line of contentBody.trim().split("\n")) {
268
+ if (line.trim().startsWith("#")) {
269
+ title = line.trim().replace(/^#+\s*/, "");
270
+ break;
271
+ }
272
+ }
273
+ }
274
+ const parsedArguments = argumentHint ? this.parseArgumentHint(argumentHint) : void 0;
275
+ return {
276
+ id,
277
+ title,
278
+ description,
279
+ content: contentBody.trim(),
280
+ ...category !== void 0 && { category },
281
+ ...priority !== void 0 && { priority },
282
+ ...parsedArguments !== void 0 && { arguments: parsedArguments }
283
+ };
284
+ }
285
+ parseArgumentHint(hint) {
286
+ const args = [];
287
+ const argPattern = /\[([^\]]+)\]/g;
288
+ let match;
289
+ while ((match = argPattern.exec(hint)) !== null) {
290
+ const argText = match[1];
291
+ if (!argText) continue;
292
+ const isOptional = argText.endsWith("?");
293
+ const name = isOptional ? argText.slice(0, -1).trim() : argText.trim();
294
+ if (name) {
295
+ args.push({
296
+ name,
297
+ required: !isOptional
298
+ });
299
+ }
300
+ }
301
+ return args;
302
+ }
303
+ applyArguments(content, args) {
304
+ const detectionTarget = content.replaceAll("$$", "");
305
+ const usesPositionalPlaceholders = /\$[1-9](?!\d)/.test(detectionTarget) || detectionTarget.includes("$ARGUMENTS");
306
+ const expanded = (0, import_utils.expandPlaceholders)(content, args).trim();
307
+ if (!args || typeof args !== "object" || Object.keys(args).length === 0) {
308
+ return expanded;
309
+ }
310
+ if (!usesPositionalPlaceholders) {
311
+ if (args._context) {
312
+ const contextString = String(args._context);
313
+ return `${expanded}
314
+
315
+ Context: ${contextString}`;
316
+ }
317
+ const argEntries = Object.entries(args).filter(([key]) => !key.startsWith("_"));
318
+ if (argEntries.length > 0) {
319
+ const formattedArgs = argEntries.map(([key, value]) => `${key}: ${value}`).join(", ");
320
+ return `${expanded}
321
+
322
+ Arguments: ${formattedArgs}`;
323
+ }
324
+ }
325
+ return expanded;
326
+ }
327
+ }
328
+ // Annotate the CommonJS export names for ESM import in node:
329
+ 0 && (module.exports = {
330
+ ConfigPromptProvider
331
+ });
@@ -0,0 +1,34 @@
1
+ import type { PromptProvider, PromptDefinition, PromptListResult } from '../types.js';
2
+ import type { GetPromptResult } from '@modelcontextprotocol/sdk/types.js';
3
+ import type { ValidatedAgentConfig } from '../../agent/schemas.js';
4
+ import type { IDextoLogger } from '../../logger/v2/types.js';
5
+ /**
6
+ * Config Prompt Provider - Unified provider for prompts from agent configuration
7
+ *
8
+ * Handles both inline prompts (text defined directly in config) and file-based prompts
9
+ * (loaded from markdown files). This replaces the old StarterPromptProvider and
10
+ * FilePromptProvider with a single, unified approach.
11
+ *
12
+ * Prompts with showInStarters: true are displayed as clickable buttons in the WebUI.
13
+ */
14
+ export declare class ConfigPromptProvider implements PromptProvider {
15
+ private prompts;
16
+ private promptsCache;
17
+ private promptContent;
18
+ private cacheValid;
19
+ private logger;
20
+ constructor(agentConfig: ValidatedAgentConfig, logger: IDextoLogger);
21
+ getSource(): string;
22
+ invalidateCache(): void;
23
+ updateConfig(agentConfig: ValidatedAgentConfig): void;
24
+ listPrompts(_cursor?: string): Promise<PromptListResult>;
25
+ getPrompt(name: string, args?: Record<string, unknown>): Promise<GetPromptResult>;
26
+ getPromptDefinition(name: string): Promise<PromptDefinition | null>;
27
+ private buildPromptsCache;
28
+ private processInlinePrompt;
29
+ private processFilePrompt;
30
+ private parseMarkdownPrompt;
31
+ private parseArgumentHint;
32
+ private applyArguments;
33
+ }
34
+ //# sourceMappingURL=config-prompt-provider.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config-prompt-provider.d.ts","sourceRoot":"","sources":["../../../src/prompts/providers/config-prompt-provider.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAc,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAClG,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,oCAAoC,CAAC;AAC1E,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAEnE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAS7D;;;;;;;;GAQG;AACH,qBAAa,oBAAqB,YAAW,cAAc;IACvD,OAAO,CAAC,OAAO,CAAyB;IACxC,OAAO,CAAC,YAAY,CAAoB;IACxC,OAAO,CAAC,aAAa,CAAkC;IACvD,OAAO,CAAC,UAAU,CAAkB;IACpC,OAAO,CAAC,MAAM,CAAe;gBAEjB,WAAW,EAAE,oBAAoB,EAAE,MAAM,EAAE,YAAY;IAMnE,SAAS,IAAI,MAAM;IAInB,eAAe,IAAI,IAAI;IAOvB,YAAY,CAAC,WAAW,EAAE,oBAAoB,GAAG,IAAI;IAM/C,WAAW,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAUxD,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,eAAe,CAAC;IAgCjF,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,GAAG,IAAI,CAAC;YAkB3D,iBAAiB;IAsC/B,OAAO,CAAC,mBAAmB;YAsBb,iBAAiB;IAwE/B,OAAO,CAAC,mBAAmB;IA+F3B,OAAO,CAAC,iBAAiB;IAyBzB,OAAO,CAAC,cAAc;CA+BzB"}