@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
@@ -0,0 +1,308 @@
1
+ import "../../chunk-C6A6W6XS.js";
2
+ import { DextoLogComponent } from "../../logger/v2/types.js";
3
+ import { PromptError } from "../errors.js";
4
+ import { expandPlaceholders } from "../utils.js";
5
+ import { assertValidPromptName } from "../name-validation.js";
6
+ import { readFile, realpath } from "fs/promises";
7
+ import { existsSync } from "fs";
8
+ import { dirname, relative, sep } from "path";
9
+ class ConfigPromptProvider {
10
+ prompts = [];
11
+ promptsCache = [];
12
+ promptContent = /* @__PURE__ */ new Map();
13
+ cacheValid = false;
14
+ logger;
15
+ constructor(agentConfig, logger) {
16
+ this.logger = logger.createChild(DextoLogComponent.PROMPT);
17
+ this.prompts = agentConfig.prompts;
18
+ this.buildPromptsCache();
19
+ }
20
+ getSource() {
21
+ return "config";
22
+ }
23
+ invalidateCache() {
24
+ this.cacheValid = false;
25
+ this.promptsCache = [];
26
+ this.promptContent.clear();
27
+ this.logger.debug("ConfigPromptProvider cache invalidated");
28
+ }
29
+ updateConfig(agentConfig) {
30
+ this.prompts = agentConfig.prompts;
31
+ this.invalidateCache();
32
+ this.buildPromptsCache();
33
+ }
34
+ async listPrompts(_cursor) {
35
+ if (!this.cacheValid) {
36
+ await this.buildPromptsCache();
37
+ }
38
+ return {
39
+ prompts: this.promptsCache
40
+ };
41
+ }
42
+ async getPrompt(name, args) {
43
+ if (!this.cacheValid) {
44
+ await this.buildPromptsCache();
45
+ }
46
+ const promptInfo = this.promptsCache.find((p) => p.name === name);
47
+ if (!promptInfo) {
48
+ throw PromptError.notFound(name);
49
+ }
50
+ let content = this.promptContent.get(name);
51
+ if (!content) {
52
+ throw PromptError.missingText();
53
+ }
54
+ content = this.applyArguments(content, args);
55
+ return {
56
+ description: promptInfo.description,
57
+ messages: [
58
+ {
59
+ role: "user",
60
+ content: {
61
+ type: "text",
62
+ text: content
63
+ }
64
+ }
65
+ ]
66
+ };
67
+ }
68
+ async getPromptDefinition(name) {
69
+ if (!this.cacheValid) {
70
+ await this.buildPromptsCache();
71
+ }
72
+ const promptInfo = this.promptsCache.find((p) => p.name === name);
73
+ if (!promptInfo) {
74
+ return null;
75
+ }
76
+ return {
77
+ name: promptInfo.name,
78
+ ...promptInfo.title && { title: promptInfo.title },
79
+ ...promptInfo.description && { description: promptInfo.description },
80
+ ...promptInfo.arguments && { arguments: promptInfo.arguments }
81
+ };
82
+ }
83
+ async buildPromptsCache() {
84
+ const cache = [];
85
+ const contentMap = /* @__PURE__ */ new Map();
86
+ for (const prompt of this.prompts) {
87
+ try {
88
+ if (prompt.type === "inline") {
89
+ const { info, content } = this.processInlinePrompt(prompt);
90
+ cache.push(info);
91
+ contentMap.set(info.name, content);
92
+ } else if (prompt.type === "file") {
93
+ const result = await this.processFilePrompt(prompt);
94
+ if (result) {
95
+ cache.push(result.info);
96
+ contentMap.set(result.info.name, result.content);
97
+ }
98
+ }
99
+ } catch (error) {
100
+ this.logger.warn(
101
+ `Failed to process prompt: ${error instanceof Error ? error.message : String(error)}`
102
+ );
103
+ }
104
+ }
105
+ cache.sort((a, b) => {
106
+ const priorityA = a.metadata?.priority ?? 0;
107
+ const priorityB = b.metadata?.priority ?? 0;
108
+ return priorityB - priorityA;
109
+ });
110
+ this.promptsCache = cache;
111
+ this.promptContent = contentMap;
112
+ this.cacheValid = true;
113
+ this.logger.debug(`Cached ${cache.length} config prompts`);
114
+ }
115
+ processInlinePrompt(prompt) {
116
+ const promptName = `config:${prompt.id}`;
117
+ const promptInfo = {
118
+ name: promptName,
119
+ title: prompt.title,
120
+ description: prompt.description,
121
+ source: "config",
122
+ metadata: {
123
+ type: "inline",
124
+ category: prompt.category,
125
+ priority: prompt.priority,
126
+ showInStarters: prompt.showInStarters,
127
+ originalId: prompt.id
128
+ }
129
+ };
130
+ return { info: promptInfo, content: prompt.prompt };
131
+ }
132
+ async processFilePrompt(prompt) {
133
+ const filePath = prompt.file;
134
+ if (!existsSync(filePath)) {
135
+ this.logger.warn(`Prompt file not found: ${filePath}`);
136
+ return null;
137
+ }
138
+ try {
139
+ const resolvedDir = await realpath(dirname(filePath));
140
+ const resolvedFile = await realpath(filePath);
141
+ const rel = relative(resolvedDir, resolvedFile);
142
+ if (rel.startsWith(".." + sep) || rel === "..") {
143
+ this.logger.warn(
144
+ `Skipping prompt file '${filePath}': path traversal attempt detected (resolved outside directory)`
145
+ );
146
+ return null;
147
+ }
148
+ } catch (realpathError) {
149
+ this.logger.warn(
150
+ `Skipping prompt file '${filePath}': unable to resolve path (${realpathError instanceof Error ? realpathError.message : String(realpathError)})`
151
+ );
152
+ return null;
153
+ }
154
+ try {
155
+ const rawContent = await readFile(filePath, "utf-8");
156
+ const parsed = this.parseMarkdownPrompt(rawContent, filePath);
157
+ try {
158
+ assertValidPromptName(parsed.id, {
159
+ context: `file prompt '${filePath}'`,
160
+ hint: "Use kebab-case in the 'id:' frontmatter field or file name."
161
+ });
162
+ } catch (validationError) {
163
+ this.logger.warn(
164
+ `Invalid prompt name in '${filePath}': ${validationError instanceof Error ? validationError.message : String(validationError)}`
165
+ );
166
+ return null;
167
+ }
168
+ const promptInfo = {
169
+ name: `config:${parsed.id}`,
170
+ title: parsed.title,
171
+ description: parsed.description,
172
+ source: "config",
173
+ ...parsed.arguments && { arguments: parsed.arguments },
174
+ metadata: {
175
+ type: "file",
176
+ filePath,
177
+ category: parsed.category,
178
+ priority: parsed.priority,
179
+ showInStarters: prompt.showInStarters,
180
+ originalId: parsed.id
181
+ }
182
+ };
183
+ return { info: promptInfo, content: parsed.content };
184
+ } catch (error) {
185
+ this.logger.warn(
186
+ `Failed to read prompt file ${filePath}: ${error instanceof Error ? error.message : String(error)}`
187
+ );
188
+ return null;
189
+ }
190
+ }
191
+ parseMarkdownPrompt(rawContent, filePath) {
192
+ const lines = rawContent.trim().split("\n");
193
+ const fileName = filePath.split("/").pop()?.replace(/\.md$/, "") ?? "unknown";
194
+ let id = fileName;
195
+ let title = fileName;
196
+ let description = `File prompt: ${fileName}`;
197
+ let category;
198
+ let priority;
199
+ let argumentHint;
200
+ let contentBody;
201
+ if (lines[0]?.trim() === "---") {
202
+ let frontmatterEnd = 0;
203
+ for (let i = 1; i < lines.length; i++) {
204
+ if (lines[i]?.trim() === "---") {
205
+ frontmatterEnd = i;
206
+ break;
207
+ }
208
+ }
209
+ if (frontmatterEnd > 0) {
210
+ const frontmatterLines = lines.slice(1, frontmatterEnd);
211
+ contentBody = lines.slice(frontmatterEnd + 1).join("\n");
212
+ for (const line of frontmatterLines) {
213
+ const match = (key) => {
214
+ const regex = new RegExp(`${key}:\\s*(?:['"](.+)['"]|(.+))`);
215
+ const m = line.match(regex);
216
+ return m ? (m[1] || m[2] || "").trim() : null;
217
+ };
218
+ if (line.includes("id:")) {
219
+ const val = match("id");
220
+ if (val) id = val;
221
+ } else if (line.includes("title:")) {
222
+ const val = match("title");
223
+ if (val) title = val;
224
+ } else if (line.includes("description:")) {
225
+ const val = match("description");
226
+ if (val) description = val;
227
+ } else if (line.includes("category:")) {
228
+ const val = match("category");
229
+ if (val) category = val;
230
+ } else if (line.includes("priority:")) {
231
+ const val = match("priority");
232
+ if (val) priority = parseInt(val, 10);
233
+ } else if (line.includes("argument-hint:")) {
234
+ const val = match("argument-hint");
235
+ if (val) argumentHint = val;
236
+ }
237
+ }
238
+ } else {
239
+ contentBody = rawContent;
240
+ }
241
+ } else {
242
+ contentBody = rawContent;
243
+ }
244
+ if (title === fileName) {
245
+ for (const line of contentBody.trim().split("\n")) {
246
+ if (line.trim().startsWith("#")) {
247
+ title = line.trim().replace(/^#+\s*/, "");
248
+ break;
249
+ }
250
+ }
251
+ }
252
+ const parsedArguments = argumentHint ? this.parseArgumentHint(argumentHint) : void 0;
253
+ return {
254
+ id,
255
+ title,
256
+ description,
257
+ content: contentBody.trim(),
258
+ ...category !== void 0 && { category },
259
+ ...priority !== void 0 && { priority },
260
+ ...parsedArguments !== void 0 && { arguments: parsedArguments }
261
+ };
262
+ }
263
+ parseArgumentHint(hint) {
264
+ const args = [];
265
+ const argPattern = /\[([^\]]+)\]/g;
266
+ let match;
267
+ while ((match = argPattern.exec(hint)) !== null) {
268
+ const argText = match[1];
269
+ if (!argText) continue;
270
+ const isOptional = argText.endsWith("?");
271
+ const name = isOptional ? argText.slice(0, -1).trim() : argText.trim();
272
+ if (name) {
273
+ args.push({
274
+ name,
275
+ required: !isOptional
276
+ });
277
+ }
278
+ }
279
+ return args;
280
+ }
281
+ applyArguments(content, args) {
282
+ const detectionTarget = content.replaceAll("$$", "");
283
+ const usesPositionalPlaceholders = /\$[1-9](?!\d)/.test(detectionTarget) || detectionTarget.includes("$ARGUMENTS");
284
+ const expanded = expandPlaceholders(content, args).trim();
285
+ if (!args || typeof args !== "object" || Object.keys(args).length === 0) {
286
+ return expanded;
287
+ }
288
+ if (!usesPositionalPlaceholders) {
289
+ if (args._context) {
290
+ const contextString = String(args._context);
291
+ return `${expanded}
292
+
293
+ Context: ${contextString}`;
294
+ }
295
+ const argEntries = Object.entries(args).filter(([key]) => !key.startsWith("_"));
296
+ if (argEntries.length > 0) {
297
+ const formattedArgs = argEntries.map(([key, value]) => `${key}: ${value}`).join(", ");
298
+ return `${expanded}
299
+
300
+ Arguments: ${formattedArgs}`;
301
+ }
302
+ }
303
+ return expanded;
304
+ }
305
+ }
306
+ export {
307
+ ConfigPromptProvider
308
+ };
@@ -21,18 +21,20 @@ __export(custom_prompt_provider_exports, {
21
21
  CustomPromptProvider: () => CustomPromptProvider
22
22
  });
23
23
  module.exports = __toCommonJS(custom_prompt_provider_exports);
24
- var import_logger = require("../../logger/index.js");
24
+ var import_types = require("../../logger/v2/types.js");
25
25
  var import_utils = require("../utils.js");
26
26
  var import_errors = require("../errors.js");
27
27
  const CUSTOM_PROMPT_KEY_PREFIX = "prompt:custom:";
28
28
  class CustomPromptProvider {
29
- constructor(database, resourceManager) {
29
+ constructor(database, resourceManager, logger) {
30
30
  this.database = database;
31
31
  this.resourceManager = resourceManager;
32
+ this.logger = logger.createChild(import_types.DextoLogComponent.PROMPT);
32
33
  }
33
34
  cacheValid = false;
34
35
  promptsCache = [];
35
36
  promptRecords = /* @__PURE__ */ new Map();
37
+ logger;
36
38
  getSource() {
37
39
  return "custom";
38
40
  }
@@ -90,7 +92,7 @@ class CustomPromptProvider {
90
92
  });
91
93
  }
92
94
  } catch (error) {
93
- import_logger.logger.warn(
95
+ this.logger.warn(
94
96
  `Failed to load blob resource for custom prompt ${name}: ${String(error)}`
95
97
  );
96
98
  }
@@ -149,7 +151,7 @@ class CustomPromptProvider {
149
151
  }
150
152
  resourceMetadata = Object.keys(meta).length > 0 ? meta : void 0;
151
153
  } catch (error) {
152
- import_logger.logger.warn(`Failed to store custom prompt resource: ${String(error)}`);
154
+ this.logger.warn(`Failed to store custom prompt resource: ${String(error)}`);
153
155
  }
154
156
  }
155
157
  const now = Date.now();
@@ -188,7 +190,9 @@ class CustomPromptProvider {
188
190
  const blobService = this.resourceManager.getBlobStore();
189
191
  await blobService.delete(record.resourceUri);
190
192
  } catch (error) {
191
- import_logger.logger.warn(`Failed to delete blob for custom prompt ${name}: ${String(error)}`);
193
+ this.logger.warn(
194
+ `Failed to delete blob for custom prompt ${name}: ${String(error)}`
195
+ );
192
196
  }
193
197
  }
194
198
  this.invalidateCache();
@@ -223,13 +227,13 @@ class CustomPromptProvider {
223
227
  metadata
224
228
  });
225
229
  } catch (error) {
226
- import_logger.logger.warn(`Failed to load custom prompt from ${key}: ${String(error)}`);
230
+ this.logger.warn(`Failed to load custom prompt from ${key}: ${String(error)}`);
227
231
  }
228
232
  }
229
233
  this.promptsCache = prompts;
230
234
  this.cacheValid = true;
231
235
  } catch (error) {
232
- import_logger.logger.error(`Failed to build custom prompts cache: ${String(error)}`);
236
+ this.logger.error(`Failed to build custom prompts cache: ${String(error)}`);
233
237
  this.promptsCache = [];
234
238
  this.cacheValid = false;
235
239
  }
@@ -2,6 +2,7 @@ import type { PromptProvider, PromptInfo, PromptDefinition, PromptListResult, Pr
2
2
  import type { GetPromptResult } from '@modelcontextprotocol/sdk/types.js';
3
3
  import type { Database } from '../../storage/database/types.js';
4
4
  import type { ResourceManager } from '../../resources/manager.js';
5
+ import type { IDextoLogger } from '../../logger/v2/types.js';
5
6
  export interface CreateCustomPromptInput {
6
7
  name: string;
7
8
  title?: string;
@@ -20,7 +21,8 @@ export declare class CustomPromptProvider implements PromptProvider {
20
21
  private cacheValid;
21
22
  private promptsCache;
22
23
  private promptRecords;
23
- constructor(database: Database, resourceManager: ResourceManager);
24
+ private logger;
25
+ constructor(database: Database, resourceManager: ResourceManager, logger: IDextoLogger);
24
26
  getSource(): string;
25
27
  invalidateCache(): void;
26
28
  listPrompts(_cursor?: string): Promise<PromptListResult>;
@@ -1 +1 @@
1
- {"version":3,"file":"custom-prompt-provider.d.ts","sourceRoot":"","sources":["../../../src/prompts/providers/custom-prompt-provider.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACR,cAAc,EACd,UAAU,EACV,gBAAgB,EAChB,gBAAgB,EAChB,cAAc,EACjB,MAAM,aAAa,CAAC;AACrB,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,oCAAoC,CAAC;AAC1E,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,iCAAiC,CAAC;AAChE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAuBlE,MAAM,WAAW,uBAAuB;IACpC,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,cAAc,EAAE,CAAC;IAC7B,QAAQ,CAAC,EAAE;QACP,MAAM,EAAE,MAAM,CAAC;QACf,QAAQ,EAAE,MAAM,CAAC;QACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;KACrB,CAAC;CACL;AAED,qBAAa,oBAAqB,YAAW,cAAc;IAMnD,OAAO,CAAC,QAAQ;IAChB,OAAO,CAAC,eAAe;IAN3B,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,YAAY,CAAoB;IACxC,OAAO,CAAC,aAAa,CAA8C;gBAGvD,QAAQ,EAAE,QAAQ,EAClB,eAAe,EAAE,eAAe;IAG5C,SAAS,IAAI,MAAM;IAInB,eAAe,IAAI,IAAI;IAMjB,WAAW,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAQxD,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,eAAe,CAAC;IAiEjF,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,GAAG,IAAI,CAAC;IAcnE,YAAY,CAAC,KAAK,EAAE,uBAAuB,GAAG,OAAO,CAAC,UAAU,CAAC;IAsEjE,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;YAqBjC,UAAU;IAkDxB,OAAO,CAAC,KAAK;IAIb,OAAO,CAAC,OAAO;IAUf,OAAO,CAAC,cAAc;CA4CzB"}
1
+ {"version":3,"file":"custom-prompt-provider.d.ts","sourceRoot":"","sources":["../../../src/prompts/providers/custom-prompt-provider.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACR,cAAc,EACd,UAAU,EACV,gBAAgB,EAChB,gBAAgB,EAChB,cAAc,EACjB,MAAM,aAAa,CAAC;AACrB,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,oCAAoC,CAAC;AAC1E,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,iCAAiC,CAAC;AAChE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAClE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAuB7D,MAAM,WAAW,uBAAuB;IACpC,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,cAAc,EAAE,CAAC;IAC7B,QAAQ,CAAC,EAAE;QACP,MAAM,EAAE,MAAM,CAAC;QACf,QAAQ,EAAE,MAAM,CAAC;QACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;KACrB,CAAC;CACL;AAED,qBAAa,oBAAqB,YAAW,cAAc;IAOnD,OAAO,CAAC,QAAQ;IAChB,OAAO,CAAC,eAAe;IAP3B,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,YAAY,CAAoB;IACxC,OAAO,CAAC,aAAa,CAA8C;IACnE,OAAO,CAAC,MAAM,CAAe;gBAGjB,QAAQ,EAAE,QAAQ,EAClB,eAAe,EAAE,eAAe,EACxC,MAAM,EAAE,YAAY;IAKxB,SAAS,IAAI,MAAM;IAInB,eAAe,IAAI,IAAI;IAMjB,WAAW,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAQxD,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,eAAe,CAAC;IAiEjF,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,GAAG,IAAI,CAAC;IAcnE,YAAY,CAAC,KAAK,EAAE,uBAAuB,GAAG,OAAO,CAAC,UAAU,CAAC;IAsEjE,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;YAuBjC,UAAU;IAkDxB,OAAO,CAAC,KAAK;IAIb,OAAO,CAAC,OAAO;IAUf,OAAO,CAAC,cAAc;CA4CzB"}
@@ -1,16 +1,18 @@
1
1
  import "../../chunk-C6A6W6XS.js";
2
- import { logger } from "../../logger/index.js";
2
+ import { DextoLogComponent } from "../../logger/v2/types.js";
3
3
  import { expandPlaceholders } from "../utils.js";
4
4
  import { PromptError } from "../errors.js";
5
5
  const CUSTOM_PROMPT_KEY_PREFIX = "prompt:custom:";
6
6
  class CustomPromptProvider {
7
- constructor(database, resourceManager) {
7
+ constructor(database, resourceManager, logger) {
8
8
  this.database = database;
9
9
  this.resourceManager = resourceManager;
10
+ this.logger = logger.createChild(DextoLogComponent.PROMPT);
10
11
  }
11
12
  cacheValid = false;
12
13
  promptsCache = [];
13
14
  promptRecords = /* @__PURE__ */ new Map();
15
+ logger;
14
16
  getSource() {
15
17
  return "custom";
16
18
  }
@@ -68,7 +70,7 @@ class CustomPromptProvider {
68
70
  });
69
71
  }
70
72
  } catch (error) {
71
- logger.warn(
73
+ this.logger.warn(
72
74
  `Failed to load blob resource for custom prompt ${name}: ${String(error)}`
73
75
  );
74
76
  }
@@ -127,7 +129,7 @@ class CustomPromptProvider {
127
129
  }
128
130
  resourceMetadata = Object.keys(meta).length > 0 ? meta : void 0;
129
131
  } catch (error) {
130
- logger.warn(`Failed to store custom prompt resource: ${String(error)}`);
132
+ this.logger.warn(`Failed to store custom prompt resource: ${String(error)}`);
131
133
  }
132
134
  }
133
135
  const now = Date.now();
@@ -166,7 +168,9 @@ class CustomPromptProvider {
166
168
  const blobService = this.resourceManager.getBlobStore();
167
169
  await blobService.delete(record.resourceUri);
168
170
  } catch (error) {
169
- logger.warn(`Failed to delete blob for custom prompt ${name}: ${String(error)}`);
171
+ this.logger.warn(
172
+ `Failed to delete blob for custom prompt ${name}: ${String(error)}`
173
+ );
170
174
  }
171
175
  }
172
176
  this.invalidateCache();
@@ -201,13 +205,13 @@ class CustomPromptProvider {
201
205
  metadata
202
206
  });
203
207
  } catch (error) {
204
- logger.warn(`Failed to load custom prompt from ${key}: ${String(error)}`);
208
+ this.logger.warn(`Failed to load custom prompt from ${key}: ${String(error)}`);
205
209
  }
206
210
  }
207
211
  this.promptsCache = prompts;
208
212
  this.cacheValid = true;
209
213
  } catch (error) {
210
- logger.error(`Failed to build custom prompts cache: ${String(error)}`);
214
+ this.logger.error(`Failed to build custom prompts cache: ${String(error)}`);
211
215
  this.promptsCache = [];
212
216
  this.cacheValid = false;
213
217
  }
@@ -21,11 +21,12 @@ __export(mcp_prompt_provider_exports, {
21
21
  MCPPromptProvider: () => MCPPromptProvider
22
22
  });
23
23
  module.exports = __toCommonJS(mcp_prompt_provider_exports);
24
- var import_logger = require("../../logger/index.js");
25
24
  class MCPPromptProvider {
26
25
  mcpManager;
27
- constructor(mcpManager) {
26
+ logger;
27
+ constructor(mcpManager, logger) {
28
28
  this.mcpManager = mcpManager;
29
+ this.logger = logger;
29
30
  }
30
31
  /**
31
32
  * Get the source identifier for this provider
@@ -37,7 +38,7 @@ class MCPPromptProvider {
37
38
  * Invalidate the prompts cache (no-op as MCPManager handles caching)
38
39
  */
39
40
  invalidateCache() {
40
- import_logger.logger.debug("MCPPromptProvider cache invalidation (handled by MCPManager)");
41
+ this.logger.debug("MCPPromptProvider cache invalidation (handled by MCPManager)");
41
42
  }
42
43
  /**
43
44
  * List all available prompts from MCP servers using MCPManager's cache
@@ -61,7 +62,7 @@ class MCPPromptProvider {
61
62
  return promptInfo;
62
63
  }
63
64
  );
64
- import_logger.logger.debug(`\u{1F4DD} Listed ${prompts.length} MCP prompts from cache`);
65
+ this.logger.debug(`\u{1F4DD} Listed ${prompts.length} MCP prompts from cache`);
65
66
  return {
66
67
  prompts
67
68
  };
@@ -70,7 +71,7 @@ class MCPPromptProvider {
70
71
  * Get a specific prompt by name
71
72
  */
72
73
  async getPrompt(name, args) {
73
- import_logger.logger.debug(`\u{1F4DD} Reading MCP prompt: ${name}`);
74
+ this.logger.debug(`\u{1F4DD} Reading MCP prompt: ${name}`);
74
75
  return await this.mcpManager.getPrompt(name, args);
75
76
  }
76
77
  /**
@@ -89,7 +90,7 @@ class MCPPromptProvider {
89
90
  ...definition.arguments && { arguments: definition.arguments }
90
91
  };
91
92
  } catch (error) {
92
- import_logger.logger.debug(
93
+ this.logger.debug(
93
94
  `Failed to get prompt definition for '${name}': ${error instanceof Error ? error.message : String(error)}`
94
95
  );
95
96
  return null;
@@ -1,6 +1,7 @@
1
1
  import type { MCPManager } from '../../mcp/manager.js';
2
2
  import type { PromptProvider, PromptDefinition, PromptListResult } from '../types.js';
3
3
  import type { GetPromptResult } from '@modelcontextprotocol/sdk/types.js';
4
+ import type { IDextoLogger } from '../../logger/v2/types.js';
4
5
  /**
5
6
  * MCP Prompt Provider - Provides prompts from connected MCP servers
6
7
  *
@@ -10,7 +11,8 @@ import type { GetPromptResult } from '@modelcontextprotocol/sdk/types.js';
10
11
  */
11
12
  export declare class MCPPromptProvider implements PromptProvider {
12
13
  private mcpManager;
13
- constructor(mcpManager: MCPManager);
14
+ private logger;
15
+ constructor(mcpManager: MCPManager, logger: IDextoLogger);
14
16
  /**
15
17
  * Get the source identifier for this provider
16
18
  */
@@ -1 +1 @@
1
- {"version":3,"file":"mcp-prompt-provider.d.ts","sourceRoot":"","sources":["../../../src/prompts/providers/mcp-prompt-provider.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,KAAK,EAAE,cAAc,EAAc,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAClG,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,oCAAoC,CAAC;AAG1E;;;;;;GAMG;AACH,qBAAa,iBAAkB,YAAW,cAAc;IACpD,OAAO,CAAC,UAAU,CAAa;gBAEnB,UAAU,EAAE,UAAU;IAIlC;;OAEG;IACH,SAAS,IAAI,MAAM;IAInB;;OAEG;IACH,eAAe,IAAI,IAAI;IAKvB;;OAEG;IACG,WAAW,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC;IA6B9D;;OAEG;IACG,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,eAAe,CAAC;IAKvF;;OAEG;IACG,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,GAAG,IAAI,CAAC;CAoB5E"}
1
+ {"version":3,"file":"mcp-prompt-provider.d.ts","sourceRoot":"","sources":["../../../src/prompts/providers/mcp-prompt-provider.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AACvD,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,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAE7D;;;;;;GAMG;AACH,qBAAa,iBAAkB,YAAW,cAAc;IACpD,OAAO,CAAC,UAAU,CAAa;IAC/B,OAAO,CAAC,MAAM,CAAe;gBAEjB,UAAU,EAAE,UAAU,EAAE,MAAM,EAAE,YAAY;IAKxD;;OAEG;IACH,SAAS,IAAI,MAAM;IAInB;;OAEG;IACH,eAAe,IAAI,IAAI;IAKvB;;OAEG;IACG,WAAW,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC;IA6B9D;;OAEG;IACG,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,eAAe,CAAC;IAKvF;;OAEG;IACG,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,GAAG,IAAI,CAAC;CAoB5E"}
@@ -1,9 +1,10 @@
1
1
  import "../../chunk-C6A6W6XS.js";
2
- import { logger } from "../../logger/index.js";
3
2
  class MCPPromptProvider {
4
3
  mcpManager;
5
- constructor(mcpManager) {
4
+ logger;
5
+ constructor(mcpManager, logger) {
6
6
  this.mcpManager = mcpManager;
7
+ this.logger = logger;
7
8
  }
8
9
  /**
9
10
  * Get the source identifier for this provider
@@ -15,7 +16,7 @@ class MCPPromptProvider {
15
16
  * Invalidate the prompts cache (no-op as MCPManager handles caching)
16
17
  */
17
18
  invalidateCache() {
18
- logger.debug("MCPPromptProvider cache invalidation (handled by MCPManager)");
19
+ this.logger.debug("MCPPromptProvider cache invalidation (handled by MCPManager)");
19
20
  }
20
21
  /**
21
22
  * List all available prompts from MCP servers using MCPManager's cache
@@ -39,7 +40,7 @@ class MCPPromptProvider {
39
40
  return promptInfo;
40
41
  }
41
42
  );
42
- logger.debug(`\u{1F4DD} Listed ${prompts.length} MCP prompts from cache`);
43
+ this.logger.debug(`\u{1F4DD} Listed ${prompts.length} MCP prompts from cache`);
43
44
  return {
44
45
  prompts
45
46
  };
@@ -48,7 +49,7 @@ class MCPPromptProvider {
48
49
  * Get a specific prompt by name
49
50
  */
50
51
  async getPrompt(name, args) {
51
- logger.debug(`\u{1F4DD} Reading MCP prompt: ${name}`);
52
+ this.logger.debug(`\u{1F4DD} Reading MCP prompt: ${name}`);
52
53
  return await this.mcpManager.getPrompt(name, args);
53
54
  }
54
55
  /**
@@ -67,7 +68,7 @@ class MCPPromptProvider {
67
68
  ...definition.arguments && { arguments: definition.arguments }
68
69
  };
69
70
  } catch (error) {
70
- logger.debug(
71
+ this.logger.debug(
71
72
  `Failed to get prompt definition for '${name}': ${error instanceof Error ? error.message : String(error)}`
72
73
  );
73
74
  return null;
@@ -18,37 +18,56 @@ var __copyProps = (to, from, except, desc) => {
18
18
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
19
  var schemas_exports = {};
20
20
  __export(schemas_exports, {
21
- StarterPromptsSchema: () => StarterPromptsSchema
21
+ FilePromptSchema: () => FilePromptSchema,
22
+ InlinePromptSchema: () => InlinePromptSchema,
23
+ PromptsSchema: () => PromptsSchema
22
24
  });
23
25
  module.exports = __toCommonJS(schemas_exports);
24
26
  var import_zod = require("zod");
25
27
  var import_name_validation = require("./name-validation.js");
26
- const StarterPromptsSchema = import_zod.z.array(
27
- import_zod.z.object({
28
- id: import_zod.z.string().min(1).max(64).regex(import_name_validation.PROMPT_NAME_REGEX, `Starter prompt id must be ${import_name_validation.PROMPT_NAME_GUIDANCE}`).describe("Kebab-case slug id for the starter prompt (e.g., quick-start)"),
29
- title: import_zod.z.string().optional().describe("Display title for the starter prompt"),
30
- description: import_zod.z.string().optional().default("").describe("Description shown on hover or in the UI"),
31
- prompt: import_zod.z.string().describe("The actual prompt text that gets resolved and sent"),
32
- category: import_zod.z.string().optional().default("general").describe(
33
- "Category for organizing starter prompts (e.g., general, coding, analysis, tools, learning)"
34
- ),
35
- priority: import_zod.z.number().optional().default(0).describe("Higher numbers appear first")
36
- }).strict()
37
- ).superRefine((arr, ctx) => {
28
+ const InlinePromptSchema = import_zod.z.object({
29
+ type: import_zod.z.literal("inline").describe("Inline prompt type"),
30
+ id: import_zod.z.string().min(1).max(64).regex(import_name_validation.PROMPT_NAME_REGEX, `Prompt id must be ${import_name_validation.PROMPT_NAME_GUIDANCE}`).describe("Kebab-case slug id for the prompt (e.g., quick-start)"),
31
+ title: import_zod.z.string().optional().describe("Display title for the prompt"),
32
+ description: import_zod.z.string().optional().default("").describe("Description shown on hover or in the UI"),
33
+ prompt: import_zod.z.string().describe("The actual prompt text"),
34
+ category: import_zod.z.string().optional().default("general").describe("Category for organizing prompts (e.g., general, coding, analysis, tools)"),
35
+ priority: import_zod.z.number().optional().default(0).describe("Higher numbers appear first in the list"),
36
+ showInStarters: import_zod.z.boolean().optional().default(false).describe("Show as a clickable button in WebUI starter prompts")
37
+ }).strict().describe("Inline prompt with text defined directly in config");
38
+ const FilePromptSchema = import_zod.z.object({
39
+ type: import_zod.z.literal("file").describe("File-based prompt type"),
40
+ file: import_zod.z.string().describe(
41
+ "Path to markdown file containing prompt (supports ${{dexto.agent_dir}} template)"
42
+ ),
43
+ showInStarters: import_zod.z.boolean().optional().default(false).describe("Show as a clickable button in WebUI starter prompts")
44
+ }).strict().describe("File-based prompt loaded from a markdown file");
45
+ const PromptsSchema = import_zod.z.array(import_zod.z.discriminatedUnion("type", [InlinePromptSchema, FilePromptSchema])).superRefine((arr, ctx) => {
38
46
  const seen = /* @__PURE__ */ new Map();
39
47
  arr.forEach((p, idx) => {
40
- if (seen.has(p.id)) {
41
- ctx.addIssue({
42
- code: import_zod.z.ZodIssueCode.custom,
43
- message: `Duplicate starterPrompt id: ${p.id}`,
44
- path: ["starterPrompts", idx, "id"]
45
- });
46
- } else {
47
- seen.set(p.id, idx);
48
+ if (p.type === "inline") {
49
+ if (seen.has(p.id)) {
50
+ ctx.addIssue({
51
+ code: import_zod.z.ZodIssueCode.custom,
52
+ message: `Duplicate prompt id: ${p.id}`,
53
+ path: [idx, "id"]
54
+ });
55
+ } else {
56
+ seen.set(p.id, idx);
57
+ }
48
58
  }
49
59
  });
50
- }).transform((arr) => arr.map((p) => ({ ...p, title: p.title ?? p.id.replace(/-/g, " ") }))).default([]).describe("Starter prompts that appear as clickable buttons in the WebUI");
60
+ }).transform(
61
+ (arr) => arr.map((p) => {
62
+ if (p.type === "inline") {
63
+ return { ...p, title: p.title ?? p.id.replace(/-/g, " ") };
64
+ }
65
+ return p;
66
+ })
67
+ ).default([]).describe("Agent prompts - inline text or file-based");
51
68
  // Annotate the CommonJS export names for ESM import in node:
52
69
  0 && (module.exports = {
53
- StarterPromptsSchema
70
+ FilePromptSchema,
71
+ InlinePromptSchema,
72
+ PromptsSchema
54
73
  });