@dexto/core 1.1.10 → 1.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1005) hide show
  1. package/README.md +24 -4
  2. package/dist/Dexto.cjs +251 -0
  3. package/dist/Dexto.d.ts +191 -0
  4. package/dist/Dexto.d.ts.map +1 -0
  5. package/dist/Dexto.js +228 -0
  6. package/dist/agent/DextoAgent.cjs +520 -126
  7. package/dist/agent/DextoAgent.d.ts +182 -106
  8. package/dist/agent/DextoAgent.d.ts.map +1 -0
  9. package/dist/agent/DextoAgent.js +480 -126
  10. package/dist/agent/agentCard.d.ts +4 -7
  11. package/dist/agent/agentCard.d.ts.map +1 -0
  12. package/dist/agent/agentCard.js +1 -0
  13. package/dist/agent/error-codes.cjs +3 -0
  14. package/dist/agent/error-codes.d.ts +5 -3
  15. package/dist/agent/error-codes.d.ts.map +1 -0
  16. package/dist/agent/error-codes.js +4 -0
  17. package/dist/agent/errors.cjs +26 -0
  18. package/dist/agent/errors.d.ts +10 -17
  19. package/dist/agent/errors.d.ts.map +1 -0
  20. package/dist/agent/errors.js +27 -0
  21. package/dist/agent/index.cjs +3 -0
  22. package/dist/agent/index.d.ts +6 -57
  23. package/dist/agent/index.d.ts.map +1 -0
  24. package/dist/agent/index.js +3 -0
  25. package/dist/agent/registry/error-codes.cjs +2 -0
  26. package/dist/agent/registry/error-codes.d.ts +4 -3
  27. package/dist/agent/registry/error-codes.d.ts.map +1 -0
  28. package/dist/agent/registry/error-codes.js +3 -0
  29. package/dist/agent/registry/errors.cjs +58 -28
  30. package/dist/agent/registry/errors.d.ts +32 -36
  31. package/dist/agent/registry/errors.d.ts.map +1 -0
  32. package/dist/agent/registry/errors.js +59 -28
  33. package/dist/agent/registry/registry.cjs +242 -54
  34. package/dist/agent/registry/registry.d.ts +84 -21
  35. package/dist/agent/registry/registry.d.ts.map +1 -0
  36. package/dist/agent/registry/registry.js +252 -55
  37. package/dist/agent/registry/types.cjs +36 -3
  38. package/dist/agent/registry/types.d.ts +66 -24
  39. package/dist/agent/registry/types.d.ts.map +1 -0
  40. package/dist/agent/registry/types.js +34 -2
  41. package/dist/agent/registry/user-registry.cjs +140 -0
  42. package/dist/agent/registry/user-registry.d.ts +34 -0
  43. package/dist/agent/registry/user-registry.d.ts.map +1 -0
  44. package/dist/agent/registry/user-registry.js +105 -0
  45. package/dist/agent/schemas.cjs +22 -3
  46. package/dist/agent/schemas.d.ts +811 -479
  47. package/dist/agent/schemas.d.ts.map +1 -0
  48. package/dist/agent/schemas.js +23 -3
  49. package/dist/agent/state-manager.d.ts +7 -12
  50. package/dist/agent/state-manager.d.ts.map +1 -0
  51. package/dist/agent/state-manager.js +1 -0
  52. package/dist/approval/error-codes.cjs +44 -0
  53. package/dist/approval/error-codes.d.ts +21 -0
  54. package/dist/approval/error-codes.d.ts.map +1 -0
  55. package/dist/approval/error-codes.js +21 -0
  56. package/dist/approval/errors.cjs +251 -0
  57. package/dist/approval/errors.d.ts +110 -0
  58. package/dist/approval/errors.d.ts.map +1 -0
  59. package/dist/approval/errors.js +228 -0
  60. package/dist/approval/index.cjs +84 -0
  61. package/dist/approval/index.d.ts +12 -0
  62. package/dist/approval/index.d.ts.map +1 -0
  63. package/dist/approval/index.js +56 -0
  64. package/dist/approval/manager.cjs +189 -0
  65. package/dist/approval/manager.d.ts +131 -0
  66. package/dist/approval/manager.d.ts.map +1 -0
  67. package/dist/approval/manager.js +166 -0
  68. package/dist/approval/providers/event-based-approval-provider.cjs +156 -0
  69. package/dist/approval/providers/event-based-approval-provider.d.ts +39 -0
  70. package/dist/approval/providers/event-based-approval-provider.d.ts.map +1 -0
  71. package/dist/approval/providers/event-based-approval-provider.js +133 -0
  72. package/dist/approval/providers/factory.cjs +38 -0
  73. package/dist/approval/providers/factory.d.ts +12 -0
  74. package/dist/approval/providers/factory.d.ts.map +1 -0
  75. package/dist/approval/providers/factory.js +15 -0
  76. package/dist/approval/providers/noop-approval-provider.cjs +54 -0
  77. package/dist/approval/providers/noop-approval-provider.d.ts +18 -0
  78. package/dist/approval/providers/noop-approval-provider.d.ts.map +1 -0
  79. package/dist/approval/providers/noop-approval-provider.js +31 -0
  80. package/dist/approval/schemas.cjs +204 -0
  81. package/dist/approval/schemas.d.ts +775 -0
  82. package/dist/approval/schemas.d.ts.map +1 -0
  83. package/dist/approval/schemas.js +159 -0
  84. package/dist/approval/types.cjs +42 -0
  85. package/dist/approval/types.d.ts +166 -0
  86. package/dist/approval/types.d.ts.map +1 -0
  87. package/dist/approval/types.js +18 -0
  88. package/dist/chunk-C6A6W6XS.js +53 -0
  89. package/dist/config/agent-resolver.d.ts +3 -4
  90. package/dist/config/agent-resolver.d.ts.map +1 -0
  91. package/dist/config/agent-resolver.js +1 -0
  92. package/dist/config/error-codes.d.ts +2 -3
  93. package/dist/config/error-codes.d.ts.map +1 -0
  94. package/dist/config/error-codes.js +1 -0
  95. package/dist/config/errors.d.ts +3 -18
  96. package/dist/config/errors.d.ts.map +1 -0
  97. package/dist/config/errors.js +1 -0
  98. package/dist/config/index.d.ts +4 -7
  99. package/dist/config/index.d.ts.map +1 -0
  100. package/dist/config/loader.d.ts +2 -5
  101. package/dist/config/loader.d.ts.map +1 -0
  102. package/dist/config/loader.js +1 -0
  103. package/dist/config/writer.d.ts +8 -11
  104. package/dist/config/writer.d.ts.map +1 -0
  105. package/dist/config/writer.js +1 -0
  106. package/dist/context/compression/middle-removal.d.ts +3 -6
  107. package/dist/context/compression/middle-removal.d.ts.map +1 -0
  108. package/dist/context/compression/middle-removal.js +1 -0
  109. package/dist/context/compression/oldest-removal.d.ts +3 -6
  110. package/dist/context/compression/oldest-removal.d.ts.map +1 -0
  111. package/dist/context/compression/oldest-removal.js +1 -0
  112. package/dist/context/compression/types.d.ts +2 -5
  113. package/dist/context/compression/types.d.ts.map +1 -0
  114. package/dist/context/error-codes.d.ts +2 -3
  115. package/dist/context/error-codes.d.ts.map +1 -0
  116. package/dist/context/error-codes.js +1 -0
  117. package/dist/context/errors.d.ts +3 -18
  118. package/dist/context/errors.d.ts.map +1 -0
  119. package/dist/context/errors.js +1 -0
  120. package/dist/context/index.cjs +11 -0
  121. package/dist/context/index.d.ts +4 -19
  122. package/dist/context/index.d.ts.map +1 -0
  123. package/dist/context/index.js +6 -0
  124. package/dist/context/manager.cjs +156 -24
  125. package/dist/context/manager.d.ts +28 -20
  126. package/dist/context/manager.d.ts.map +1 -0
  127. package/dist/context/manager.js +153 -25
  128. package/dist/context/media-helpers.cjs +40 -0
  129. package/dist/context/media-helpers.d.ts +15 -0
  130. package/dist/context/media-helpers.d.ts.map +1 -0
  131. package/dist/context/media-helpers.js +16 -0
  132. package/dist/context/types.d.ts +27 -10
  133. package/dist/context/types.d.ts.map +1 -0
  134. package/dist/context/utils.cjs +907 -71
  135. package/dist/context/utils.d.ts +111 -15
  136. package/dist/context/utils.d.ts.map +1 -0
  137. package/dist/context/utils.js +896 -70
  138. package/dist/errors/DextoBaseError.d.ts +2 -3
  139. package/dist/errors/DextoBaseError.d.ts.map +1 -0
  140. package/dist/errors/DextoBaseError.js +1 -0
  141. package/dist/errors/DextoRuntimeError.d.ts +5 -16
  142. package/dist/errors/DextoRuntimeError.d.ts.map +1 -0
  143. package/dist/errors/DextoRuntimeError.js +1 -0
  144. package/dist/errors/DextoValidationError.d.ts +3 -16
  145. package/dist/errors/DextoValidationError.d.ts.map +1 -0
  146. package/dist/errors/DextoValidationError.js +1 -0
  147. package/dist/errors/index.d.ts +7 -14
  148. package/dist/errors/index.d.ts.map +1 -0
  149. package/dist/errors/index.js +1 -0
  150. package/dist/errors/result-bridge.d.ts +3 -18
  151. package/dist/errors/result-bridge.d.ts.map +1 -0
  152. package/dist/errors/result-bridge.js +1 -0
  153. package/dist/errors/types.cjs +7 -0
  154. package/dist/errors/types.d.ts +32 -20
  155. package/dist/errors/types.d.ts.map +1 -0
  156. package/dist/errors/types.js +8 -0
  157. package/dist/events/index.cjs +9 -3
  158. package/dist/events/index.d.ts +67 -35
  159. package/dist/events/index.d.ts.map +1 -0
  160. package/dist/events/index.js +10 -3
  161. package/dist/filesystem/error-codes.cjs +53 -0
  162. package/dist/filesystem/error-codes.d.ts +31 -0
  163. package/dist/filesystem/error-codes.d.ts.map +1 -0
  164. package/dist/filesystem/error-codes.js +30 -0
  165. package/dist/filesystem/errors.cjs +303 -0
  166. package/dist/filesystem/errors.d.ts +109 -0
  167. package/dist/filesystem/errors.d.ts.map +1 -0
  168. package/dist/filesystem/errors.js +280 -0
  169. package/dist/filesystem/filesystem-service.cjs +482 -0
  170. package/dist/filesystem/filesystem-service.d.ts +57 -0
  171. package/dist/filesystem/filesystem-service.d.ts.map +1 -0
  172. package/dist/filesystem/filesystem-service.js +449 -0
  173. package/dist/filesystem/index.cjs +37 -0
  174. package/dist/filesystem/index.d.ts +11 -0
  175. package/dist/filesystem/index.d.ts.map +1 -0
  176. package/dist/filesystem/index.js +11 -0
  177. package/dist/filesystem/path-validator.cjs +172 -0
  178. package/dist/filesystem/path-validator.d.ts +53 -0
  179. package/dist/filesystem/path-validator.d.ts.map +1 -0
  180. package/dist/filesystem/path-validator.js +139 -0
  181. package/dist/filesystem/types.d.ts +171 -0
  182. package/dist/filesystem/types.d.ts.map +1 -0
  183. package/dist/index.browser.cjs +36 -0
  184. package/dist/index.browser.d.ts +24 -51
  185. package/dist/index.browser.d.ts.map +1 -0
  186. package/dist/index.browser.js +35 -1
  187. package/dist/index.cjs +29 -1
  188. package/dist/index.d.ts +34 -89
  189. package/dist/index.d.ts.map +1 -0
  190. package/dist/index.js +15 -0
  191. package/dist/llm/error-codes.d.ts +2 -3
  192. package/dist/llm/error-codes.d.ts.map +1 -0
  193. package/dist/llm/error-codes.js +1 -0
  194. package/dist/llm/errors.d.ts +3 -18
  195. package/dist/llm/errors.d.ts.map +1 -0
  196. package/dist/llm/errors.js +1 -0
  197. package/dist/llm/formatters/anthropic.d.ts +2 -4
  198. package/dist/llm/formatters/anthropic.d.ts.map +1 -0
  199. package/dist/llm/formatters/anthropic.js +1 -0
  200. package/dist/llm/formatters/factory.d.ts +3 -6
  201. package/dist/llm/formatters/factory.d.ts.map +1 -0
  202. package/dist/llm/formatters/factory.js +1 -0
  203. package/dist/llm/formatters/openai.d.ts +2 -4
  204. package/dist/llm/formatters/openai.d.ts.map +1 -0
  205. package/dist/llm/formatters/openai.js +1 -0
  206. package/dist/llm/formatters/types.d.ts +2 -4
  207. package/dist/llm/formatters/types.d.ts.map +1 -0
  208. package/dist/llm/formatters/vercel.d.ts +6 -7
  209. package/dist/llm/formatters/vercel.d.ts.map +1 -0
  210. package/dist/llm/formatters/vercel.js +1 -0
  211. package/dist/llm/index.d.ts +8 -39
  212. package/dist/llm/index.d.ts.map +1 -0
  213. package/dist/llm/registry.cjs +30 -16
  214. package/dist/llm/registry.d.ts +27 -30
  215. package/dist/llm/registry.d.ts.map +1 -0
  216. package/dist/llm/registry.js +31 -16
  217. package/dist/llm/resolver.d.ts +6 -20
  218. package/dist/llm/resolver.d.ts.map +1 -0
  219. package/dist/llm/resolver.js +1 -0
  220. package/dist/llm/schemas.cjs +6 -2
  221. package/dist/llm/schemas.d.ts +25 -17
  222. package/dist/llm/schemas.d.ts.map +1 -0
  223. package/dist/llm/schemas.js +7 -2
  224. package/dist/llm/services/anthropic.cjs +91 -11
  225. package/dist/llm/services/anthropic.d.ts +13 -32
  226. package/dist/llm/services/anthropic.d.ts.map +1 -0
  227. package/dist/llm/services/anthropic.js +51 -11
  228. package/dist/llm/services/factory.cjs +21 -15
  229. package/dist/llm/services/factory.d.ts +5 -32
  230. package/dist/llm/services/factory.d.ts.map +1 -0
  231. package/dist/llm/services/factory.js +22 -15
  232. package/dist/llm/services/index.d.ts +2 -21
  233. package/dist/llm/services/index.d.ts.map +1 -0
  234. package/dist/llm/services/openai.cjs +120 -16
  235. package/dist/llm/services/openai.d.ts +13 -32
  236. package/dist/llm/services/openai.d.ts.map +1 -0
  237. package/dist/llm/services/openai.js +80 -16
  238. package/dist/llm/services/test-utils.integration.cjs +3 -3
  239. package/dist/llm/services/test-utils.integration.d.ts +8 -49
  240. package/dist/llm/services/test-utils.integration.d.ts.map +1 -0
  241. package/dist/llm/services/test-utils.integration.js +4 -3
  242. package/dist/llm/services/types.d.ts +5 -22
  243. package/dist/llm/services/types.d.ts.map +1 -0
  244. package/dist/llm/services/vercel.cjs +152 -74
  245. package/dist/llm/services/vercel.d.ts +18 -36
  246. package/dist/llm/services/vercel.d.ts.map +1 -0
  247. package/dist/llm/services/vercel.js +113 -75
  248. package/dist/llm/tokenizer/anthropic.d.ts +2 -4
  249. package/dist/llm/tokenizer/anthropic.d.ts.map +1 -0
  250. package/dist/llm/tokenizer/anthropic.js +1 -0
  251. package/dist/llm/tokenizer/default.d.ts +2 -4
  252. package/dist/llm/tokenizer/default.d.ts.map +1 -0
  253. package/dist/llm/tokenizer/default.js +1 -0
  254. package/dist/llm/tokenizer/factory.d.ts +3 -5
  255. package/dist/llm/tokenizer/factory.d.ts.map +1 -0
  256. package/dist/llm/tokenizer/factory.js +1 -0
  257. package/dist/llm/tokenizer/google.d.ts +2 -4
  258. package/dist/llm/tokenizer/google.d.ts.map +1 -0
  259. package/dist/llm/tokenizer/google.js +1 -0
  260. package/dist/llm/tokenizer/openai.cjs +1 -1
  261. package/dist/llm/tokenizer/openai.d.ts +3 -5
  262. package/dist/llm/tokenizer/openai.d.ts.map +1 -0
  263. package/dist/llm/tokenizer/openai.js +2 -1
  264. package/dist/llm/tokenizer/types.d.ts +3 -4
  265. package/dist/llm/tokenizer/types.d.ts.map +1 -0
  266. package/dist/llm/tokenizer/types.js +1 -0
  267. package/dist/llm/types.d.ts +11 -12
  268. package/dist/llm/types.d.ts.map +1 -0
  269. package/dist/llm/types.js +1 -0
  270. package/dist/llm/validation.d.ts +8 -23
  271. package/dist/llm/validation.d.ts.map +1 -0
  272. package/dist/llm/validation.js +1 -0
  273. package/dist/logger/browser.d.ts +4 -5
  274. package/dist/logger/browser.d.ts.map +1 -0
  275. package/dist/logger/browser.js +1 -0
  276. package/dist/logger/index.d.ts +2 -1
  277. package/dist/logger/index.d.ts.map +1 -0
  278. package/dist/logger/logger.cjs +35 -7
  279. package/dist/logger/logger.d.ts +47 -5
  280. package/dist/logger/logger.d.ts.map +1 -0
  281. package/dist/logger/logger.js +36 -7
  282. package/dist/mcp/error-codes.cjs +1 -0
  283. package/dist/mcp/error-codes.d.ts +3 -3
  284. package/dist/mcp/error-codes.d.ts.map +1 -0
  285. package/dist/mcp/error-codes.js +2 -0
  286. package/dist/mcp/errors.cjs +12 -0
  287. package/dist/mcp/errors.d.ts +9 -17
  288. package/dist/mcp/errors.d.ts.map +1 -0
  289. package/dist/mcp/errors.js +13 -0
  290. package/dist/mcp/index.d.ts +8 -26
  291. package/dist/mcp/index.d.ts.map +1 -0
  292. package/dist/mcp/manager.cjs +528 -130
  293. package/dist/mcp/manager.d.ts +124 -58
  294. package/dist/mcp/manager.d.ts.map +1 -0
  295. package/dist/mcp/manager.js +529 -130
  296. package/dist/mcp/mcp-client.cjs +172 -10
  297. package/dist/mcp/mcp-client.d.ts +36 -14
  298. package/dist/mcp/mcp-client.d.ts.map +1 -0
  299. package/dist/mcp/mcp-client.js +177 -10
  300. package/dist/mcp/resolver.d.ts +5 -20
  301. package/dist/mcp/resolver.d.ts.map +1 -0
  302. package/dist/mcp/resolver.js +1 -0
  303. package/dist/mcp/schemas.cjs +13 -5
  304. package/dist/mcp/schemas.d.ts +31 -28
  305. package/dist/mcp/schemas.d.ts.map +1 -0
  306. package/dist/mcp/schemas.js +11 -5
  307. package/dist/mcp/types.d.ts +19 -11
  308. package/dist/mcp/types.d.ts.map +1 -0
  309. package/dist/memory/error-codes.cjs +39 -0
  310. package/dist/memory/error-codes.d.ts +15 -0
  311. package/dist/memory/error-codes.d.ts.map +1 -0
  312. package/dist/memory/error-codes.js +16 -0
  313. package/dist/memory/errors.cjs +112 -0
  314. package/dist/memory/errors.d.ts +16 -0
  315. package/dist/memory/errors.d.ts.map +1 -0
  316. package/dist/memory/errors.js +89 -0
  317. package/dist/memory/index.cjs +43 -0
  318. package/dist/memory/index.d.ts +6 -0
  319. package/dist/memory/index.d.ts.map +1 -0
  320. package/dist/memory/index.js +19 -0
  321. package/dist/memory/manager.cjs +214 -0
  322. package/dist/memory/manager.d.ts +56 -0
  323. package/dist/memory/manager.d.ts.map +1 -0
  324. package/dist/memory/manager.js +196 -0
  325. package/dist/memory/schemas.cjs +82 -0
  326. package/dist/memory/schemas.d.ts +129 -0
  327. package/dist/memory/schemas.d.ts.map +1 -0
  328. package/dist/memory/schemas.js +54 -0
  329. package/dist/memory/types.d.ts +76 -0
  330. package/dist/memory/types.d.ts.map +1 -0
  331. package/dist/plugins/builtins/content-policy.cjs +112 -0
  332. package/dist/plugins/builtins/content-policy.d.ts +26 -0
  333. package/dist/plugins/builtins/content-policy.d.ts.map +1 -0
  334. package/dist/plugins/builtins/content-policy.js +89 -0
  335. package/dist/plugins/builtins/response-sanitizer.cjs +102 -0
  336. package/dist/plugins/builtins/response-sanitizer.d.ts +25 -0
  337. package/dist/plugins/builtins/response-sanitizer.d.ts.map +1 -0
  338. package/dist/plugins/builtins/response-sanitizer.js +79 -0
  339. package/dist/plugins/error-codes.cjs +39 -0
  340. package/dist/plugins/error-codes.d.ts +26 -0
  341. package/dist/plugins/error-codes.d.ts.map +1 -0
  342. package/dist/plugins/error-codes.js +16 -0
  343. package/dist/plugins/index.cjs +54 -0
  344. package/dist/plugins/index.d.ts +19 -0
  345. package/dist/plugins/index.d.ts.map +1 -0
  346. package/dist/plugins/index.js +25 -0
  347. package/dist/plugins/loader.cjs +151 -0
  348. package/dist/plugins/loader.d.ts +30 -0
  349. package/dist/plugins/loader.d.ts.map +1 -0
  350. package/dist/plugins/loader.js +125 -0
  351. package/dist/plugins/manager.cjs +386 -0
  352. package/dist/plugins/manager.d.ts +97 -0
  353. package/dist/plugins/manager.d.ts.map +1 -0
  354. package/dist/plugins/manager.js +363 -0
  355. package/dist/plugins/registrations/builtins.cjs +51 -0
  356. package/dist/plugins/registrations/builtins.d.ts +17 -0
  357. package/dist/plugins/registrations/builtins.d.ts.map +1 -0
  358. package/dist/plugins/registrations/builtins.js +28 -0
  359. package/dist/plugins/schemas.cjs +61 -0
  360. package/dist/plugins/schemas.d.ts +138 -0
  361. package/dist/plugins/schemas.d.ts.map +1 -0
  362. package/dist/plugins/schemas.js +36 -0
  363. package/dist/{storage/backend/cache-backend.cjs → plugins/types.cjs} +2 -2
  364. package/dist/plugins/types.d.ts +152 -0
  365. package/dist/plugins/types.d.ts.map +1 -0
  366. package/dist/preferences/constants.d.ts +2 -3
  367. package/dist/preferences/constants.d.ts.map +1 -0
  368. package/dist/preferences/constants.js +1 -0
  369. package/dist/preferences/error-codes.d.ts +2 -3
  370. package/dist/preferences/error-codes.d.ts.map +1 -0
  371. package/dist/preferences/error-codes.js +1 -0
  372. package/dist/preferences/errors.d.ts +4 -19
  373. package/dist/preferences/errors.d.ts.map +1 -0
  374. package/dist/preferences/errors.js +1 -0
  375. package/dist/preferences/index.d.ts +5 -20
  376. package/dist/preferences/index.d.ts.map +1 -0
  377. package/dist/preferences/index.js +1 -0
  378. package/dist/preferences/loader.cjs +3 -1
  379. package/dist/preferences/loader.d.ts +18 -12
  380. package/dist/preferences/loader.d.ts.map +1 -0
  381. package/dist/preferences/loader.js +4 -1
  382. package/dist/preferences/schemas.cjs +2 -1
  383. package/dist/preferences/schemas.d.ts +27 -21
  384. package/dist/preferences/schemas.d.ts.map +1 -0
  385. package/dist/preferences/schemas.js +3 -1
  386. package/dist/process/command-validator.cjs +544 -0
  387. package/dist/process/command-validator.d.ts +46 -0
  388. package/dist/process/command-validator.d.ts.map +1 -0
  389. package/dist/process/command-validator.js +521 -0
  390. package/dist/process/error-codes.cjs +47 -0
  391. package/dist/process/error-codes.d.ts +25 -0
  392. package/dist/process/error-codes.d.ts.map +1 -0
  393. package/dist/process/error-codes.js +24 -0
  394. package/dist/process/errors.cjs +244 -0
  395. package/dist/process/errors.d.ts +87 -0
  396. package/dist/process/errors.d.ts.map +1 -0
  397. package/dist/process/errors.js +221 -0
  398. package/dist/process/index.cjs +37 -0
  399. package/dist/process/index.d.ts +11 -0
  400. package/dist/process/index.d.ts.map +1 -0
  401. package/dist/process/index.js +11 -0
  402. package/dist/process/process-service.cjs +443 -0
  403. package/dist/process/process-service.d.ts +62 -0
  404. package/dist/process/process-service.d.ts.map +1 -0
  405. package/dist/process/process-service.js +410 -0
  406. package/dist/{storage/backend/database-backend.cjs → process/types.cjs} +2 -2
  407. package/dist/process/types.d.ts +107 -0
  408. package/dist/process/types.d.ts.map +1 -0
  409. package/dist/prompts/error-codes.cjs +38 -0
  410. package/dist/prompts/error-codes.d.ts +15 -0
  411. package/dist/prompts/error-codes.d.ts.map +1 -0
  412. package/dist/prompts/error-codes.js +15 -0
  413. package/dist/prompts/errors.cjs +144 -0
  414. package/dist/prompts/errors.d.ts +45 -0
  415. package/dist/prompts/errors.d.ts.map +1 -0
  416. package/dist/prompts/errors.js +121 -0
  417. package/dist/prompts/index.cjs +53 -0
  418. package/dist/prompts/index.d.ts +13 -0
  419. package/dist/prompts/index.d.ts.map +1 -0
  420. package/dist/prompts/index.js +21 -0
  421. package/dist/prompts/name-validation.cjs +45 -0
  422. package/dist/prompts/name-validation.d.ts +9 -0
  423. package/dist/prompts/name-validation.d.ts.map +1 -0
  424. package/dist/prompts/name-validation.js +19 -0
  425. package/dist/prompts/prompt-manager.cjs +374 -0
  426. package/dist/prompts/prompt-manager.d.ts +74 -0
  427. package/dist/prompts/prompt-manager.d.ts.map +1 -0
  428. package/dist/prompts/prompt-manager.js +353 -0
  429. package/dist/prompts/providers/custom-prompt-provider.cjs +283 -0
  430. package/dist/prompts/providers/custom-prompt-provider.d.ts +36 -0
  431. package/dist/prompts/providers/custom-prompt-provider.d.ts.map +1 -0
  432. package/dist/prompts/providers/custom-prompt-provider.js +260 -0
  433. package/dist/prompts/providers/file-prompt-provider.cjs +399 -0
  434. package/dist/prompts/providers/file-prompt-provider.d.ts +47 -0
  435. package/dist/prompts/providers/file-prompt-provider.d.ts.map +1 -0
  436. package/dist/prompts/providers/file-prompt-provider.js +376 -0
  437. package/dist/prompts/providers/mcp-prompt-provider.cjs +102 -0
  438. package/dist/prompts/providers/mcp-prompt-provider.d.ts +35 -0
  439. package/dist/prompts/providers/mcp-prompt-provider.d.ts.map +1 -0
  440. package/dist/prompts/providers/mcp-prompt-provider.js +79 -0
  441. package/dist/prompts/providers/starter-prompt-provider.cjs +170 -0
  442. package/dist/prompts/providers/starter-prompt-provider.d.ts +45 -0
  443. package/dist/prompts/providers/starter-prompt-provider.d.ts.map +1 -0
  444. package/dist/prompts/providers/starter-prompt-provider.js +147 -0
  445. package/dist/prompts/schemas.cjs +54 -0
  446. package/dist/prompts/schemas.d.ts +65 -0
  447. package/dist/prompts/schemas.d.ts.map +1 -0
  448. package/dist/prompts/schemas.js +31 -0
  449. package/dist/prompts/types.cjs +16 -0
  450. package/dist/prompts/types.d.ts +64 -0
  451. package/dist/prompts/types.d.ts.map +1 -0
  452. package/dist/prompts/types.js +0 -0
  453. package/dist/prompts/utils.cjs +176 -0
  454. package/dist/prompts/utils.d.ts +32 -0
  455. package/dist/prompts/utils.d.ts.map +1 -0
  456. package/dist/prompts/utils.js +150 -0
  457. package/dist/resources/error-codes.cjs +38 -0
  458. package/dist/resources/error-codes.d.ts +13 -0
  459. package/dist/resources/error-codes.d.ts.map +1 -0
  460. package/dist/resources/error-codes.js +15 -0
  461. package/dist/resources/errors.cjs +155 -0
  462. package/dist/resources/errors.d.ts +48 -0
  463. package/dist/resources/errors.d.ts.map +1 -0
  464. package/dist/resources/errors.js +132 -0
  465. package/dist/resources/handlers/blob-handler.cjs +230 -0
  466. package/dist/resources/handlers/blob-handler.d.ts +38 -0
  467. package/dist/resources/handlers/blob-handler.d.ts.map +1 -0
  468. package/dist/resources/handlers/blob-handler.js +207 -0
  469. package/dist/resources/handlers/factory.cjs +50 -0
  470. package/dist/resources/handlers/factory.d.ts +11 -0
  471. package/dist/resources/handlers/factory.d.ts.map +1 -0
  472. package/dist/resources/handlers/factory.js +26 -0
  473. package/dist/resources/handlers/filesystem-handler.cjs +385 -0
  474. package/dist/resources/handlers/filesystem-handler.d.ts +35 -0
  475. package/dist/resources/handlers/filesystem-handler.d.ts.map +1 -0
  476. package/dist/resources/handlers/filesystem-handler.js +352 -0
  477. package/dist/resources/handlers/types.cjs +16 -0
  478. package/dist/resources/handlers/types.d.ts +15 -0
  479. package/dist/resources/handlers/types.d.ts.map +1 -0
  480. package/dist/resources/handlers/types.js +0 -0
  481. package/dist/resources/index.cjs +58 -0
  482. package/dist/resources/index.d.ts +39 -0
  483. package/dist/resources/index.d.ts.map +1 -0
  484. package/dist/resources/index.js +35 -0
  485. package/dist/resources/internal-provider.cjs +141 -0
  486. package/dist/resources/internal-provider.d.ts +19 -0
  487. package/dist/resources/internal-provider.d.ts.map +1 -0
  488. package/dist/resources/internal-provider.js +118 -0
  489. package/dist/resources/manager.cjs +221 -0
  490. package/dist/resources/manager.d.ts +29 -0
  491. package/dist/resources/manager.d.ts.map +1 -0
  492. package/dist/resources/manager.js +198 -0
  493. package/dist/resources/reference-parser.cjs +217 -0
  494. package/dist/resources/reference-parser.d.ts +33 -0
  495. package/dist/resources/reference-parser.d.ts.map +1 -0
  496. package/dist/resources/reference-parser.js +191 -0
  497. package/dist/resources/schemas.cjs +98 -0
  498. package/dist/resources/schemas.d.ts +212 -0
  499. package/dist/resources/schemas.d.ts.map +1 -0
  500. package/dist/resources/schemas.js +73 -0
  501. package/dist/resources/types.cjs +16 -0
  502. package/dist/resources/types.d.ts +57 -0
  503. package/dist/resources/types.d.ts.map +1 -0
  504. package/dist/resources/types.js +0 -0
  505. package/dist/search/index.d.ts +2 -4
  506. package/dist/search/index.d.ts.map +1 -0
  507. package/dist/search/index.js +1 -0
  508. package/dist/search/search-service.d.ts +5 -9
  509. package/dist/search/search-service.d.ts.map +1 -0
  510. package/dist/search/search-service.js +1 -0
  511. package/dist/search/types.d.ts +7 -10
  512. package/dist/search/types.d.ts.map +1 -0
  513. package/dist/session/chat-session.cjs +105 -12
  514. package/dist/session/chat-session.d.ts +32 -43
  515. package/dist/session/chat-session.d.ts.map +1 -0
  516. package/dist/session/chat-session.js +106 -12
  517. package/dist/session/error-codes.d.ts +2 -3
  518. package/dist/session/error-codes.d.ts.map +1 -0
  519. package/dist/session/error-codes.js +1 -0
  520. package/dist/session/errors.d.ts +2 -17
  521. package/dist/session/errors.d.ts.map +1 -0
  522. package/dist/session/errors.js +1 -0
  523. package/dist/session/history/database.d.ts +6 -9
  524. package/dist/session/history/database.d.ts.map +1 -0
  525. package/dist/session/history/database.js +1 -0
  526. package/dist/session/history/factory.d.ts +4 -8
  527. package/dist/session/history/factory.d.ts.map +1 -0
  528. package/dist/session/history/factory.js +1 -0
  529. package/dist/session/history/memory.cjs +39 -0
  530. package/dist/session/history/memory.d.ts +14 -0
  531. package/dist/session/history/memory.d.ts.map +1 -0
  532. package/dist/session/history/memory.js +16 -0
  533. package/dist/session/history/types.d.ts +3 -6
  534. package/dist/session/history/types.d.ts.map +1 -0
  535. package/dist/session/index.d.ts +3 -50
  536. package/dist/session/index.d.ts.map +1 -0
  537. package/dist/session/index.js +1 -0
  538. package/dist/session/schemas.d.ts +4 -6
  539. package/dist/session/schemas.d.ts.map +1 -0
  540. package/dist/session/schemas.js +1 -0
  541. package/dist/session/session-manager.cjs +63 -29
  542. package/dist/session/session-manager.d.ts +33 -43
  543. package/dist/session/session-manager.d.ts.map +1 -0
  544. package/dist/session/session-manager.js +64 -29
  545. package/dist/session/title-generator.cjs +140 -0
  546. package/dist/session/title-generator.d.ts +22 -0
  547. package/dist/session/title-generator.d.ts.map +1 -0
  548. package/dist/session/title-generator.js +116 -0
  549. package/dist/storage/blob/factory.cjs +50 -0
  550. package/dist/storage/blob/factory.d.ts +10 -0
  551. package/dist/storage/blob/factory.d.ts.map +1 -0
  552. package/dist/storage/blob/factory.js +27 -0
  553. package/dist/storage/blob/local-blob-store.cjs +503 -0
  554. package/dist/storage/blob/local-blob-store.d.ts +57 -0
  555. package/dist/storage/blob/local-blob-store.d.ts.map +1 -0
  556. package/dist/storage/blob/local-blob-store.js +470 -0
  557. package/dist/storage/blob/schemas.cjs +53 -0
  558. package/dist/storage/blob/schemas.d.ts +80 -0
  559. package/dist/storage/blob/schemas.d.ts.map +1 -0
  560. package/dist/storage/blob/schemas.js +29 -0
  561. package/dist/storage/blob/types.cjs +16 -0
  562. package/dist/storage/blob/types.d.ts +154 -0
  563. package/dist/storage/blob/types.d.ts.map +1 -0
  564. package/dist/storage/blob/types.js +0 -0
  565. package/dist/storage/cache/factory.cjs +63 -0
  566. package/dist/storage/cache/factory.d.ts +8 -0
  567. package/dist/storage/cache/factory.d.ts.map +1 -0
  568. package/dist/storage/cache/factory.js +30 -0
  569. package/dist/storage/cache/memory-cache-store.cjs +107 -0
  570. package/dist/storage/cache/memory-cache-store.d.ts +26 -0
  571. package/dist/storage/cache/memory-cache-store.d.ts.map +1 -0
  572. package/dist/storage/cache/memory-cache-store.js +84 -0
  573. package/dist/storage/{backend/redis-backend.cjs → cache/redis-store.cjs} +8 -22
  574. package/dist/storage/{backend/redis-backend.d.ts → cache/redis-store.d.ts} +8 -14
  575. package/dist/storage/cache/redis-store.d.ts.map +1 -0
  576. package/dist/storage/{backend/redis-backend.js → cache/redis-store.js} +5 -18
  577. package/dist/storage/cache/schemas.cjs +77 -0
  578. package/dist/storage/cache/schemas.d.ts +151 -0
  579. package/dist/storage/cache/schemas.d.ts.map +1 -0
  580. package/dist/storage/cache/schemas.js +53 -0
  581. package/dist/storage/cache/types.cjs +16 -0
  582. package/dist/storage/{backend/cache-backend.d.cts → cache/types.d.ts} +3 -4
  583. package/dist/storage/cache/types.d.ts.map +1 -0
  584. package/dist/storage/cache/types.js +0 -0
  585. package/dist/storage/database/factory.cjs +86 -0
  586. package/dist/storage/database/factory.d.ts +10 -0
  587. package/dist/storage/database/factory.d.ts.map +1 -0
  588. package/dist/storage/database/factory.js +53 -0
  589. package/dist/storage/{backend/memory-backend.cjs → database/memory-database-store.cjs} +10 -28
  590. package/dist/storage/{backend/memory-backend.d.ts → database/memory-database-store.d.ts} +7 -12
  591. package/dist/storage/database/memory-database-store.d.ts.map +1 -0
  592. package/dist/storage/{backend/memory-backend.js → database/memory-database-store.js} +7 -24
  593. package/dist/storage/{backend/postgres-backend.cjs → database/postgres-store.cjs} +11 -11
  594. package/dist/storage/{backend/postgres-backend.d.ts → database/postgres-store.d.ts} +8 -11
  595. package/dist/storage/database/postgres-store.d.ts.map +1 -0
  596. package/dist/storage/{backend/postgres-backend.js → database/postgres-store.js} +8 -7
  597. package/dist/storage/database/schemas.cjs +89 -0
  598. package/dist/storage/database/schemas.d.ts +227 -0
  599. package/dist/storage/database/schemas.d.ts.map +1 -0
  600. package/dist/storage/database/schemas.js +65 -0
  601. package/dist/storage/{backend/sqlite-backend.cjs → database/sqlite-store.cjs} +35 -16
  602. package/dist/storage/{backend/sqlite-backend.d.cts → database/sqlite-store.d.ts} +9 -11
  603. package/dist/storage/database/sqlite-store.d.ts.map +1 -0
  604. package/dist/storage/{backend/sqlite-backend.js → database/sqlite-store.js} +32 -12
  605. package/dist/storage/database/types.cjs +16 -0
  606. package/dist/storage/{backend/database-backend.d.cts → database/types.d.ts} +3 -4
  607. package/dist/storage/database/types.d.ts.map +1 -0
  608. package/dist/storage/database/types.js +0 -0
  609. package/dist/storage/error-codes.cjs +16 -0
  610. package/dist/storage/error-codes.d.ts +20 -5
  611. package/dist/storage/error-codes.d.ts.map +1 -0
  612. package/dist/storage/error-codes.js +17 -0
  613. package/dist/storage/errors.cjs +210 -7
  614. package/dist/storage/errors.d.ts +75 -19
  615. package/dist/storage/errors.d.ts.map +1 -0
  616. package/dist/storage/errors.js +205 -1
  617. package/dist/storage/index.cjs +24 -5
  618. package/dist/storage/index.d.ts +48 -7
  619. package/dist/storage/index.d.ts.map +1 -0
  620. package/dist/storage/index.js +21 -4
  621. package/dist/storage/schemas.cjs +22 -84
  622. package/dist/storage/schemas.d.ts +98 -574
  623. package/dist/storage/schemas.d.ts.map +1 -0
  624. package/dist/storage/schemas.js +26 -84
  625. package/dist/storage/storage-manager.cjs +135 -118
  626. package/dist/storage/storage-manager.d.ts +55 -26
  627. package/dist/storage/storage-manager.d.ts.map +1 -0
  628. package/dist/storage/storage-manager.js +135 -107
  629. package/dist/storage/types.d.ts +7 -5
  630. package/dist/storage/types.d.ts.map +1 -0
  631. package/dist/systemPrompt/contributors.cjs +54 -0
  632. package/dist/systemPrompt/contributors.d.ts +30 -15
  633. package/dist/systemPrompt/contributors.d.ts.map +1 -0
  634. package/dist/systemPrompt/contributors.js +54 -0
  635. package/dist/systemPrompt/error-codes.d.ts +2 -3
  636. package/dist/systemPrompt/error-codes.d.ts.map +1 -0
  637. package/dist/systemPrompt/error-codes.js +1 -0
  638. package/dist/systemPrompt/errors.d.ts +2 -17
  639. package/dist/systemPrompt/errors.d.ts.map +1 -0
  640. package/dist/systemPrompt/errors.js +1 -0
  641. package/dist/systemPrompt/in-built-prompts.cjs +13 -15
  642. package/dist/systemPrompt/in-built-prompts.d.ts +4 -14
  643. package/dist/systemPrompt/in-built-prompts.d.ts.map +1 -0
  644. package/dist/systemPrompt/in-built-prompts.js +14 -15
  645. package/dist/systemPrompt/index.cjs +11 -0
  646. package/dist/systemPrompt/index.d.ts +7 -14
  647. package/dist/systemPrompt/index.d.ts.map +1 -0
  648. package/dist/systemPrompt/index.js +9 -0
  649. package/dist/systemPrompt/manager.cjs +24 -6
  650. package/dist/systemPrompt/manager.d.ts +8 -16
  651. package/dist/systemPrompt/manager.d.ts.map +1 -0
  652. package/dist/systemPrompt/manager.js +25 -6
  653. package/dist/systemPrompt/registry.d.ts +6 -16
  654. package/dist/systemPrompt/registry.d.ts.map +1 -0
  655. package/dist/systemPrompt/registry.js +1 -0
  656. package/dist/systemPrompt/schemas.cjs +17 -3
  657. package/dist/systemPrompt/schemas.d.ts +204 -30
  658. package/dist/systemPrompt/schemas.d.ts.map +1 -0
  659. package/dist/systemPrompt/schemas.js +18 -3
  660. package/dist/systemPrompt/types.d.ts +3 -12
  661. package/dist/systemPrompt/types.d.ts.map +1 -0
  662. package/dist/telemetry/decorators.cjs +175 -0
  663. package/dist/telemetry/decorators.d.ts +17 -0
  664. package/dist/telemetry/decorators.d.ts.map +1 -0
  665. package/dist/telemetry/decorators.js +157 -0
  666. package/dist/telemetry/exporters.cjs +108 -0
  667. package/dist/telemetry/exporters.d.ts +29 -0
  668. package/dist/telemetry/exporters.d.ts.map +1 -0
  669. package/dist/telemetry/exporters.js +85 -0
  670. package/dist/telemetry/index.cjs +28 -0
  671. package/dist/telemetry/index.d.ts +2 -0
  672. package/dist/telemetry/index.d.ts.map +1 -0
  673. package/dist/telemetry/index.js +5 -0
  674. package/dist/telemetry/schemas.cjs +71 -0
  675. package/dist/telemetry/schemas.d.ts +54 -0
  676. package/dist/telemetry/schemas.d.ts.map +1 -0
  677. package/dist/telemetry/schemas.js +48 -0
  678. package/dist/telemetry/telemetry.cjs +228 -0
  679. package/dist/telemetry/telemetry.d.ts +74 -0
  680. package/dist/telemetry/telemetry.d.ts.map +1 -0
  681. package/dist/telemetry/telemetry.js +205 -0
  682. package/dist/telemetry/types.cjs +16 -0
  683. package/dist/telemetry/types.d.ts +22 -0
  684. package/dist/telemetry/types.d.ts.map +1 -0
  685. package/dist/telemetry/types.js +0 -0
  686. package/dist/telemetry/utils.cjs +87 -0
  687. package/dist/telemetry/utils.d.ts +21 -0
  688. package/dist/telemetry/utils.d.ts.map +1 -0
  689. package/dist/telemetry/utils.js +62 -0
  690. package/dist/tools/confirmation/allowed-tools-provider/factory.cjs +1 -1
  691. package/dist/tools/confirmation/allowed-tools-provider/factory.d.ts +6 -12
  692. package/dist/tools/confirmation/allowed-tools-provider/factory.d.ts.map +1 -0
  693. package/dist/tools/confirmation/allowed-tools-provider/factory.js +2 -1
  694. package/dist/tools/confirmation/allowed-tools-provider/in-memory.d.ts +3 -5
  695. package/dist/tools/confirmation/allowed-tools-provider/in-memory.d.ts.map +1 -0
  696. package/dist/tools/confirmation/allowed-tools-provider/in-memory.js +1 -0
  697. package/dist/tools/confirmation/allowed-tools-provider/storage.cjs +9 -9
  698. package/dist/tools/confirmation/allowed-tools-provider/storage.d.ts +7 -13
  699. package/dist/tools/confirmation/allowed-tools-provider/storage.d.ts.map +1 -0
  700. package/dist/tools/confirmation/allowed-tools-provider/storage.js +10 -9
  701. package/dist/tools/confirmation/allowed-tools-provider/types.d.ts +2 -3
  702. package/dist/tools/confirmation/allowed-tools-provider/types.d.ts.map +1 -0
  703. package/dist/tools/error-codes.d.ts +2 -3
  704. package/dist/tools/error-codes.d.ts.map +1 -0
  705. package/dist/tools/error-codes.js +1 -0
  706. package/dist/tools/errors.d.ts +2 -17
  707. package/dist/tools/errors.d.ts.map +1 -0
  708. package/dist/tools/errors.js +1 -0
  709. package/dist/tools/index.cjs +0 -2
  710. package/dist/tools/index.d.ts +11 -19
  711. package/dist/tools/index.d.ts.map +1 -0
  712. package/dist/tools/index.js +1 -1
  713. package/dist/tools/internal-tools/constants.cjs +39 -0
  714. package/dist/tools/internal-tools/constants.d.ts +12 -0
  715. package/dist/tools/internal-tools/constants.d.ts.map +1 -0
  716. package/dist/tools/internal-tools/constants.js +16 -0
  717. package/dist/tools/internal-tools/implementations/ask-user-tool.cjs +57 -0
  718. package/dist/tools/internal-tools/implementations/ask-user-tool.d.ts +18 -0
  719. package/dist/tools/internal-tools/implementations/ask-user-tool.d.ts.map +1 -0
  720. package/dist/tools/internal-tools/implementations/ask-user-tool.js +34 -0
  721. package/dist/tools/internal-tools/implementations/bash-exec-tool.cjs +106 -0
  722. package/dist/tools/internal-tools/implementations/bash-exec-tool.d.ts +13 -0
  723. package/dist/tools/internal-tools/implementations/bash-exec-tool.d.ts.map +1 -0
  724. package/dist/tools/internal-tools/implementations/bash-exec-tool.js +73 -0
  725. package/dist/tools/internal-tools/implementations/bash-output-tool.cjs +49 -0
  726. package/dist/tools/internal-tools/implementations/bash-output-tool.d.ts +12 -0
  727. package/dist/tools/internal-tools/implementations/bash-output-tool.d.ts.map +1 -0
  728. package/dist/tools/internal-tools/implementations/bash-output-tool.js +26 -0
  729. package/dist/tools/internal-tools/implementations/edit-file-tool.cjs +62 -0
  730. package/dist/tools/internal-tools/implementations/edit-file-tool.d.ts +12 -0
  731. package/dist/tools/internal-tools/implementations/edit-file-tool.d.ts.map +1 -0
  732. package/dist/tools/internal-tools/implementations/edit-file-tool.js +39 -0
  733. package/dist/tools/internal-tools/implementations/glob-files-tool.cjs +57 -0
  734. package/dist/tools/internal-tools/implementations/glob-files-tool.d.ts +12 -0
  735. package/dist/tools/internal-tools/implementations/glob-files-tool.d.ts.map +1 -0
  736. package/dist/tools/internal-tools/implementations/glob-files-tool.js +34 -0
  737. package/dist/tools/internal-tools/implementations/grep-content-tool.cjs +71 -0
  738. package/dist/tools/internal-tools/implementations/grep-content-tool.d.ts +12 -0
  739. package/dist/tools/internal-tools/implementations/grep-content-tool.d.ts.map +1 -0
  740. package/dist/tools/internal-tools/implementations/grep-content-tool.js +48 -0
  741. package/dist/tools/internal-tools/implementations/kill-process-tool.cjs +47 -0
  742. package/dist/tools/internal-tools/implementations/kill-process-tool.d.ts +12 -0
  743. package/dist/tools/internal-tools/implementations/kill-process-tool.d.ts.map +1 -0
  744. package/dist/tools/internal-tools/implementations/kill-process-tool.js +24 -0
  745. package/dist/tools/internal-tools/implementations/read-file-tool.cjs +55 -0
  746. package/dist/tools/internal-tools/implementations/read-file-tool.d.ts +12 -0
  747. package/dist/tools/internal-tools/implementations/read-file-tool.d.ts.map +1 -0
  748. package/dist/tools/internal-tools/implementations/read-file-tool.js +32 -0
  749. package/dist/tools/internal-tools/implementations/search-history-tool.d.ts +3 -11
  750. package/dist/tools/internal-tools/implementations/search-history-tool.d.ts.map +1 -0
  751. package/dist/tools/internal-tools/implementations/search-history-tool.js +1 -0
  752. package/dist/tools/internal-tools/implementations/write-file-tool.cjs +56 -0
  753. package/dist/tools/internal-tools/implementations/write-file-tool.d.ts +12 -0
  754. package/dist/tools/internal-tools/implementations/write-file-tool.d.ts.map +1 -0
  755. package/dist/tools/internal-tools/implementations/write-file-tool.js +33 -0
  756. package/dist/tools/internal-tools/index.cjs +3 -1
  757. package/dist/tools/internal-tools/index.d.ts +4 -13
  758. package/dist/tools/internal-tools/index.d.ts.map +1 -0
  759. package/dist/tools/internal-tools/index.js +1 -0
  760. package/dist/tools/internal-tools/provider.cjs +9 -11
  761. package/dist/tools/internal-tools/provider.d.ts +6 -20
  762. package/dist/tools/internal-tools/provider.d.ts.map +1 -0
  763. package/dist/tools/internal-tools/provider.js +10 -11
  764. package/dist/tools/internal-tools/registry.cjs +45 -4
  765. package/dist/tools/internal-tools/registry.d.ts +13 -22
  766. package/dist/tools/internal-tools/registry.d.ts.map +1 -0
  767. package/dist/tools/internal-tools/registry.js +46 -3
  768. package/dist/tools/schemas.cjs +32 -7
  769. package/dist/tools/schemas.d.ts +41 -8
  770. package/dist/tools/schemas.d.ts.map +1 -0
  771. package/dist/tools/schemas.js +25 -4
  772. package/dist/tools/tool-manager.cjs +329 -30
  773. package/dist/tools/tool-manager.d.ts +94 -22
  774. package/dist/tools/tool-manager.d.ts.map +1 -0
  775. package/dist/tools/tool-manager.js +289 -30
  776. package/dist/tools/types.d.ts +9 -11
  777. package/dist/tools/types.d.ts.map +1 -0
  778. package/dist/utils/api-key-resolver.d.ts +5 -7
  779. package/dist/utils/api-key-resolver.d.ts.map +1 -0
  780. package/dist/utils/api-key-resolver.js +1 -0
  781. package/dist/utils/api-key-store.d.ts +5 -7
  782. package/dist/utils/api-key-store.d.ts.map +1 -0
  783. package/dist/utils/api-key-store.js +1 -0
  784. package/dist/utils/async-context.cjs +51 -0
  785. package/dist/utils/async-context.d.ts +68 -0
  786. package/dist/utils/async-context.d.ts.map +1 -0
  787. package/dist/utils/async-context.js +25 -0
  788. package/dist/utils/debug.cjs +40 -0
  789. package/dist/utils/debug.d.ts +2 -0
  790. package/dist/utils/debug.d.ts.map +1 -0
  791. package/dist/utils/debug.js +17 -0
  792. package/dist/utils/env.d.ts +4 -5
  793. package/dist/utils/env.d.ts.map +1 -0
  794. package/dist/utils/env.js +1 -0
  795. package/dist/utils/error-conversion.d.ts +2 -3
  796. package/dist/utils/error-conversion.d.ts.map +1 -0
  797. package/dist/utils/error-conversion.js +1 -0
  798. package/dist/utils/execution-context.d.ts +5 -6
  799. package/dist/utils/execution-context.d.ts.map +1 -0
  800. package/dist/utils/execution-context.js +1 -0
  801. package/dist/utils/fs-walk.d.ts +2 -3
  802. package/dist/utils/fs-walk.d.ts.map +1 -0
  803. package/dist/utils/fs-walk.js +1 -0
  804. package/dist/utils/index.cjs +3 -1
  805. package/dist/utils/index.d.ts +14 -63
  806. package/dist/utils/index.d.ts.map +1 -0
  807. package/dist/utils/index.js +1 -0
  808. package/dist/utils/path.d.ts +9 -10
  809. package/dist/utils/path.d.ts.map +1 -0
  810. package/dist/utils/path.js +1 -0
  811. package/dist/utils/port-utils.d.ts +2 -3
  812. package/dist/utils/port-utils.d.ts.map +1 -0
  813. package/dist/utils/port-utils.js +1 -0
  814. package/dist/utils/redactor.d.ts +2 -3
  815. package/dist/utils/redactor.d.ts.map +1 -0
  816. package/dist/utils/redactor.js +1 -0
  817. package/dist/utils/result.d.ts +14 -27
  818. package/dist/utils/result.d.ts.map +1 -0
  819. package/dist/utils/result.js +1 -0
  820. package/dist/utils/safe-stringify.d.ts +2 -3
  821. package/dist/utils/safe-stringify.d.ts.map +1 -0
  822. package/dist/utils/safe-stringify.js +1 -0
  823. package/dist/utils/schema-metadata.cjs +235 -0
  824. package/dist/utils/schema-metadata.d.ts +82 -0
  825. package/dist/utils/schema-metadata.d.ts.map +1 -0
  826. package/dist/utils/schema-metadata.js +208 -0
  827. package/dist/utils/schema.d.ts +2 -3
  828. package/dist/utils/schema.d.ts.map +1 -0
  829. package/dist/utils/schema.js +1 -0
  830. package/dist/utils/service-initializer.cjs +110 -35
  831. package/dist/utils/service-initializer.d.ts +19 -43
  832. package/dist/utils/service-initializer.d.ts.map +1 -0
  833. package/dist/utils/service-initializer.js +101 -35
  834. package/dist/utils/user-info.d.ts +2 -3
  835. package/dist/utils/user-info.d.ts.map +1 -0
  836. package/dist/utils/user-info.js +1 -0
  837. package/dist/utils/zod-schema-converter.d.ts +3 -5
  838. package/dist/utils/zod-schema-converter.d.ts.map +1 -0
  839. package/dist/utils/zod-schema-converter.js +1 -0
  840. package/package.json +16 -4
  841. package/dist/agent/DextoAgent.d.cts +0 -541
  842. package/dist/agent/agentCard.d.cts +0 -20
  843. package/dist/agent/error-codes.d.cts +0 -14
  844. package/dist/agent/errors.d.cts +0 -44
  845. package/dist/agent/index.d.cts +0 -60
  846. package/dist/agent/registry/error-codes.d.cts +0 -20
  847. package/dist/agent/registry/errors.d.cts +0 -67
  848. package/dist/agent/registry/registry.d.cts +0 -67
  849. package/dist/agent/registry/types.d.cts +0 -100
  850. package/dist/agent/schemas.d.cts +0 -1502
  851. package/dist/agent/state-manager.d.cts +0 -97
  852. package/dist/config/agent-resolver.d.cts +0 -15
  853. package/dist/config/error-codes.d.cts +0 -17
  854. package/dist/config/errors.d.cts +0 -49
  855. package/dist/config/index.d.cts +0 -7
  856. package/dist/config/loader.d.cts +0 -19
  857. package/dist/config/writer.d.cts +0 -38
  858. package/dist/context/compression/middle-removal.d.cts +0 -48
  859. package/dist/context/compression/oldest-removal.d.cts +0 -43
  860. package/dist/context/compression/types.d.cts +0 -21
  861. package/dist/context/error-codes.d.cts +0 -19
  862. package/dist/context/errors.d.cts +0 -36
  863. package/dist/context/index.d.cts +0 -19
  864. package/dist/context/manager.d.cts +0 -254
  865. package/dist/context/types.d.cts +0 -113
  866. package/dist/context/utils.d.cts +0 -79
  867. package/dist/errors/DextoBaseError.d.cts +0 -15
  868. package/dist/errors/DextoRuntimeError.d.cts +0 -37
  869. package/dist/errors/DextoValidationError.d.cts +0 -65
  870. package/dist/errors/index.d.cts +0 -18
  871. package/dist/errors/result-bridge.d.cts +0 -39
  872. package/dist/errors/types.d.cts +0 -62
  873. package/dist/events/index.d.cts +0 -272
  874. package/dist/index.browser.d.cts +0 -53
  875. package/dist/index.d.cts +0 -89
  876. package/dist/llm/error-codes.d.cts +0 -26
  877. package/dist/llm/errors.d.cts +0 -58
  878. package/dist/llm/formatters/anthropic.d.cts +0 -45
  879. package/dist/llm/formatters/factory.d.cts +0 -12
  880. package/dist/llm/formatters/openai.d.cts +0 -38
  881. package/dist/llm/formatters/types.d.cts +0 -43
  882. package/dist/llm/formatters/vercel.d.cts +0 -48
  883. package/dist/llm/index.d.cts +0 -39
  884. package/dist/llm/registry.d.cts +0 -176
  885. package/dist/llm/resolver.d.cts +0 -34
  886. package/dist/llm/schemas.d.cts +0 -111
  887. package/dist/llm/services/anthropic.d.cts +0 -65
  888. package/dist/llm/services/factory.d.cts +0 -39
  889. package/dist/llm/services/index.d.cts +0 -21
  890. package/dist/llm/services/openai.d.cts +0 -65
  891. package/dist/llm/services/test-utils.integration.d.cts +0 -83
  892. package/dist/llm/services/types.d.cts +0 -56
  893. package/dist/llm/services/vercel.d.cts +0 -72
  894. package/dist/llm/tokenizer/anthropic.d.cts +0 -21
  895. package/dist/llm/tokenizer/default.d.cts +0 -16
  896. package/dist/llm/tokenizer/factory.d.cts +0 -12
  897. package/dist/llm/tokenizer/google.d.cts +0 -31
  898. package/dist/llm/tokenizer/openai.d.cts +0 -32
  899. package/dist/llm/tokenizer/types.d.cts +0 -19
  900. package/dist/llm/types.d.cts +0 -29
  901. package/dist/llm/validation.d.cts +0 -60
  902. package/dist/logger/browser.d.cts +0 -29
  903. package/dist/logger/index.d.cts +0 -1
  904. package/dist/logger/logger.d.cts +0 -52
  905. package/dist/mcp/error-codes.d.cts +0 -16
  906. package/dist/mcp/errors.d.cts +0 -72
  907. package/dist/mcp/index.d.cts +0 -26
  908. package/dist/mcp/manager.d.cts +0 -163
  909. package/dist/mcp/mcp-client.d.cts +0 -108
  910. package/dist/mcp/resolver.d.cts +0 -22
  911. package/dist/mcp/schemas.d.cts +0 -266
  912. package/dist/mcp/types.d.cts +0 -21
  913. package/dist/preferences/constants.d.cts +0 -3
  914. package/dist/preferences/error-codes.d.cts +0 -9
  915. package/dist/preferences/errors.d.cts +0 -33
  916. package/dist/preferences/index.d.cts +0 -21
  917. package/dist/preferences/loader.d.cts +0 -45
  918. package/dist/preferences/schemas.d.cts +0 -104
  919. package/dist/search/index.d.cts +0 -5
  920. package/dist/search/search-service.d.cts +0 -47
  921. package/dist/search/types.d.cts +0 -78
  922. package/dist/session/chat-session.d.cts +0 -284
  923. package/dist/session/error-codes.d.cts +0 -13
  924. package/dist/session/errors.d.cts +0 -58
  925. package/dist/session/history/database.d.cts +0 -28
  926. package/dist/session/history/factory.d.cts +0 -11
  927. package/dist/session/history/types.d.cts +0 -17
  928. package/dist/session/index.d.cts +0 -53
  929. package/dist/session/schemas.d.cts +0 -16
  930. package/dist/session/session-manager.d.cts +0 -219
  931. package/dist/storage/backend/cache-backend.d.ts +0 -15
  932. package/dist/storage/backend/database-backend.d.ts +0 -19
  933. package/dist/storage/backend/memory-backend.d.cts +0 -34
  934. package/dist/storage/backend/postgres-backend.d.cts +0 -37
  935. package/dist/storage/backend/redis-backend.d.cts +0 -36
  936. package/dist/storage/backend/sqlite-backend.d.ts +0 -35
  937. package/dist/storage/backend/types.d.cts +0 -14
  938. package/dist/storage/backend/types.d.ts +0 -14
  939. package/dist/storage/error-codes.d.cts +0 -14
  940. package/dist/storage/errors.d.cts +0 -63
  941. package/dist/storage/index.d.cts +0 -7
  942. package/dist/storage/schemas.d.cts +0 -856
  943. package/dist/storage/storage-manager.d.cts +0 -52
  944. package/dist/storage/types.d.cts +0 -5
  945. package/dist/systemPrompt/contributors.d.cts +0 -44
  946. package/dist/systemPrompt/error-codes.d.cts +0 -13
  947. package/dist/systemPrompt/errors.d.cts +0 -55
  948. package/dist/systemPrompt/in-built-prompts.d.cts +0 -28
  949. package/dist/systemPrompt/index.d.cts +0 -14
  950. package/dist/systemPrompt/manager.d.cts +0 -31
  951. package/dist/systemPrompt/registry.d.cts +0 -20
  952. package/dist/systemPrompt/schemas.d.cts +0 -401
  953. package/dist/systemPrompt/types.d.cts +0 -19
  954. package/dist/tools/confirmation/allowed-tools-provider/factory.d.cts +0 -19
  955. package/dist/tools/confirmation/allowed-tools-provider/in-memory.d.cts +0 -17
  956. package/dist/tools/confirmation/allowed-tools-provider/storage.d.cts +0 -26
  957. package/dist/tools/confirmation/allowed-tools-provider/types.d.cts +0 -35
  958. package/dist/tools/confirmation/event-based-confirmation-provider.cjs +0 -158
  959. package/dist/tools/confirmation/event-based-confirmation-provider.d.cts +0 -41
  960. package/dist/tools/confirmation/event-based-confirmation-provider.d.ts +0 -41
  961. package/dist/tools/confirmation/event-based-confirmation-provider.js +0 -134
  962. package/dist/tools/confirmation/factory.cjs +0 -52
  963. package/dist/tools/confirmation/factory.d.cts +0 -37
  964. package/dist/tools/confirmation/factory.d.ts +0 -37
  965. package/dist/tools/confirmation/factory.js +0 -28
  966. package/dist/tools/confirmation/noop-confirmation-provider.cjs +0 -49
  967. package/dist/tools/confirmation/noop-confirmation-provider.d.cts +0 -22
  968. package/dist/tools/confirmation/noop-confirmation-provider.d.ts +0 -22
  969. package/dist/tools/confirmation/noop-confirmation-provider.js +0 -25
  970. package/dist/tools/confirmation/types.d.cts +0 -46
  971. package/dist/tools/confirmation/types.d.ts +0 -46
  972. package/dist/tools/error-codes.d.cts +0 -18
  973. package/dist/tools/errors.d.cts +0 -97
  974. package/dist/tools/index.d.cts +0 -19
  975. package/dist/tools/internal-tools/implementations/search-history-tool.d.cts +0 -15
  976. package/dist/tools/internal-tools/index.d.cts +0 -13
  977. package/dist/tools/internal-tools/provider.d.cts +0 -66
  978. package/dist/tools/internal-tools/registry.d.cts +0 -45
  979. package/dist/tools/schemas.d.cts +0 -21
  980. package/dist/tools/tool-manager.d.cts +0 -106
  981. package/dist/tools/types.d.cts +0 -66
  982. package/dist/utils/api-key-resolver.d.cts +0 -23
  983. package/dist/utils/api-key-store.d.cts +0 -26
  984. package/dist/utils/env.d.cts +0 -29
  985. package/dist/utils/error-conversion.d.cts +0 -13
  986. package/dist/utils/execution-context.d.cts +0 -21
  987. package/dist/utils/fs-walk.d.cts +0 -9
  988. package/dist/utils/index.d.cts +0 -63
  989. package/dist/utils/path.d.cts +0 -54
  990. package/dist/utils/port-utils.d.cts +0 -11
  991. package/dist/utils/port-utils.spec.d.cts +0 -2
  992. package/dist/utils/port-utils.spec.d.ts +0 -2
  993. package/dist/utils/redactor.d.cts +0 -18
  994. package/dist/utils/result.d.cts +0 -180
  995. package/dist/utils/safe-stringify.d.cts +0 -7
  996. package/dist/utils/schema.d.cts +0 -6
  997. package/dist/utils/service-initializer.d.cts +0 -63
  998. package/dist/utils/user-info.d.cts +0 -3
  999. package/dist/utils/zod-schema-converter.d.cts +0 -13
  1000. /package/dist/{storage/backend → filesystem}/types.cjs +0 -0
  1001. /package/dist/{storage/backend → filesystem}/types.js +0 -0
  1002. /package/dist/{tools/confirmation → memory}/types.cjs +0 -0
  1003. /package/dist/{tools/confirmation → memory}/types.js +0 -0
  1004. /package/dist/{storage/backend/cache-backend.js → plugins/types.js} +0 -0
  1005. /package/dist/{storage/backend/database-backend.js → process/types.js} +0 -0
@@ -1,67 +1,130 @@
1
- import { AgentRegistry, Registry, AgentRegistryEntry } from './types.js';
2
- import 'zod';
3
-
1
+ import { Registry, AgentRegistry, AgentRegistryEntry } from './types.js';
4
2
  /**
5
3
  * Local agent registry implementation
6
- * TODO: MOVE THIS INTO CLI WHERE IT IS USED, and add posthog instrumentation for install/uninstall/resolve/etc, similar to manual install command
4
+ *
5
+ * TODO: ARCHITECTURAL REFACTOR - Move registry, preferences, and agent resolution to CLI
6
+ *
7
+ * PROBLEM: Registry operations are CLI concerns but live in Core, causing:
8
+ * - Missing analytics for auto-install (when running `dexto`, registry installs agents but doesn't track)
9
+ * - Wrong separation of concerns (Core = execution engine, not discovery/setup)
10
+ * - Registry manages ~/.dexto/agents filesystem which is CLI-level setup
11
+ *
12
+ * THE RIGHT ARCHITECTURE:
13
+ *
14
+ * Move to CLI:
15
+ * 1. Agent Registry (packages/core/src/agent/registry/) → packages/cli/src/registry/
16
+ * - installAgent(), uninstallAgent(), resolveAgent(), listAgents()
17
+ * - Can directly call capture() for analytics
18
+ * - Manages ~/.dexto/agents installation directory
19
+ *
20
+ * 2. Global Preferences (packages/core/src/preferences/) → packages/cli/src/preferences/
21
+ * - User's default LLM, model, default agent
22
+ * - Used by `dexto setup` command
23
+ * - Manages ~/.dexto/preferences.json
24
+ *
25
+ * 3. Agent Resolution (packages/core/src/config/agent-resolver.ts) → packages/cli/src/agent-resolver.ts
26
+ * - Discovery logic: check registry, trigger installs, apply preferences
27
+ * - Returns resolved config PATH to core
28
+ *
29
+ * Core keeps:
30
+ * - config/loader.ts - Load YAML from path
31
+ * - config/schemas.ts - Zod validation
32
+ * - Agent execution (DextoAgent, LLM, tools, MCP)
33
+ *
34
+ * FLOW AFTER REFACTOR:
35
+ * CLI index.ts:
36
+ * → CLI: resolveAgentPath() (discovery logic)
37
+ * → CLI: registry.resolveAgent()
38
+ * → CLI: registry.installAgent() if needed
39
+ * → CLI: capture('dexto_install_agent', ...) ✓ Natural!
40
+ * → Core: new DextoAgent(configPath) (just loads & runs)
41
+ *
42
+ * BENEFITS:
43
+ * - Clear separation: CLI = setup/discovery, Core = execution
44
+ * - Analytics naturally colocated with operations
45
+ * - Core is portable (no CLI dependencies)
46
+ * - No circular deps (CLI → Core, correct direction)
47
+ *
48
+ * ESTIMATE: ~3-4 hours (mostly moving code + updating imports)
7
49
  */
8
- declare class LocalAgentRegistry implements AgentRegistry {
50
+ export declare class LocalAgentRegistry implements AgentRegistry {
9
51
  private _registry;
10
52
  /**
11
53
  * Lazy load registry from JSON file
12
54
  */
13
55
  getRegistry(): Registry;
14
56
  /**
15
- * Load registry from bundled JSON file
57
+ * Load and merge bundled + user registries
16
58
  * Uses fail-fast approach - throws RegistryError for any loading issues
17
59
  */
18
60
  private loadRegistry;
19
61
  /**
20
- * Check if agent exists in registry
62
+ * Check if agent exists in registry by ID
21
63
  */
22
- hasAgent(name: string): boolean;
64
+ hasAgent(agentId: string): boolean;
23
65
  /**
24
66
  * Get available agents with their metadata from registry
25
67
  */
26
68
  getAvailableAgents(): Record<string, AgentRegistryEntry>;
69
+ /**
70
+ * Validate custom agent ID doesn't conflict with bundled registry
71
+ * @throws RegistryError if ID conflicts with builtin agent
72
+ */
73
+ private validateCustomAgentId;
27
74
  /**
28
75
  * Resolve main config file for installed agent
29
76
  * Handles both directory agents (with main field) and single-file agents
30
77
  */
31
- resolveMainConfig(agentDir: string, agentName: string): string;
78
+ resolveMainConfig(agentDir: string, agentId: string): string;
32
79
  /**
33
80
  * Install agent atomically using temp + rename pattern
34
- * @param agentName Name of the agent to install
81
+ * @param agentId ID of the agent to install
35
82
  * @param injectPreferences Whether to inject global preferences into installed agent (default: true)
36
83
  */
37
- installAgent(agentName: string, injectPreferences?: boolean): Promise<string>;
84
+ installAgent(agentId: string, injectPreferences?: boolean): Promise<string>;
85
+ /**
86
+ * Install a custom agent from a local file path
87
+ * @param agentId Unique identifier for the custom agent
88
+ * @param sourcePath Absolute path to agent YAML file or directory
89
+ * @param metadata Agent metadata (name for display, description, author, tags, main)
90
+ * @param injectPreferences Whether to inject global preferences (default: true)
91
+ * @returns Path to the installed agent's main config file
92
+ */
93
+ installCustomAgentFromPath(agentId: string, sourcePath: string, metadata: {
94
+ name?: string;
95
+ description: string;
96
+ author: string;
97
+ tags: string[];
98
+ main?: string;
99
+ }, injectPreferences?: boolean): Promise<string>;
38
100
  /**
39
- * Resolve a registry agent name to a config path
40
- * NOTE: Only handles registry names, not file paths (routing done in loadAgentConfig)
101
+ * Resolve a registry agent ID to a config path
102
+ * NOTE: Only handles registry IDs, not file paths (routing done in loadAgentConfig)
41
103
  * Handles installing agent if needed
42
- * @param agentName Name of the agent to resolve
104
+ * @param agentId ID of the agent to resolve
43
105
  * @param autoInstall Whether to automatically install missing agents from registry (default: true)
44
106
  * @param injectPreferences Whether to inject preferences during auto-installation (default: true)
45
107
  */
46
- resolveAgent(agentName: string, autoInstall?: boolean, injectPreferences?: boolean): Promise<string>;
108
+ resolveAgent(agentId: string, autoInstall?: boolean, injectPreferences?: boolean): Promise<string>;
47
109
  /**
48
110
  * Get list of currently installed agents
49
111
  */
50
112
  getInstalledAgents(): Promise<string[]>;
51
113
  /**
52
- * Check if an agent is safe to uninstall (not the default-agent which is critical)
114
+ * Check if an agent is safe to uninstall (not the default agent from preferences)
53
115
  */
54
116
  private isAgentSafeToUninstall;
55
117
  /**
56
118
  * Uninstall an agent by removing its directory
57
- * @param agentName Name of the agent to uninstall
119
+ * For custom agents: also removes from user registry
120
+ * For builtin agents: only removes from disk
121
+ * @param agentId ID of the agent to uninstall
58
122
  * @param force Whether to force uninstall even if agent is protected (default: false)
59
123
  */
60
- uninstallAgent(agentName: string, force?: boolean): Promise<void>;
124
+ uninstallAgent(agentId: string, force?: boolean): Promise<void>;
61
125
  }
62
126
  /**
63
127
  * Get cached registry instance (singleton pattern)
64
128
  */
65
- declare function getAgentRegistry(): LocalAgentRegistry;
66
-
67
- export { LocalAgentRegistry, getAgentRegistry };
129
+ export declare function getAgentRegistry(): LocalAgentRegistry;
130
+ //# sourceMappingURL=registry.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../../src/agent/registry/registry.ts"],"names":[],"mappings":"AAOA,OAAO,EACH,QAAQ,EAER,aAAa,EACb,kBAAkB,EAErB,MAAM,YAAY,CAAC;AAYpB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+CG;AACH,qBAAa,kBAAmB,YAAW,aAAa;IACpD,OAAO,CAAC,SAAS,CAAyB;IAE1C;;OAEG;IACH,WAAW,IAAI,QAAQ;IAOvB;;;OAGG;IACH,OAAO,CAAC,YAAY;IAyCpB;;OAEG;IACH,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO;IAKlC;;OAEG;IACH,kBAAkB,IAAI,MAAM,CAAC,MAAM,EAAE,kBAAkB,CAAC;IAKxD;;;OAGG;IACH,OAAO,CAAC,qBAAqB;IAgC7B;;;OAGG;IACH,iBAAiB,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM;IAqC5D;;;;OAIG;IACG,YAAY,CAAC,OAAO,EAAE,MAAM,EAAE,iBAAiB,GAAE,OAAc,GAAG,OAAO,CAAC,MAAM,CAAC;IAqGvF;;;;;;;OAOG;IACG,0BAA0B,CAC5B,OAAO,EAAE,MAAM,EACf,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE;QACN,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,WAAW,EAAE,MAAM,CAAC;QACpB,MAAM,EAAE,MAAM,CAAC;QACf,IAAI,EAAE,MAAM,EAAE,CAAC;QACf,IAAI,CAAC,EAAE,MAAM,CAAC;KACjB,EACD,iBAAiB,GAAE,OAAc,GAClC,OAAO,CAAC,MAAM,CAAC;IAqKlB;;;;;;;OAOG;IACG,YAAY,CACd,OAAO,EAAE,MAAM,EACf,WAAW,GAAE,OAAc,EAC3B,iBAAiB,GAAE,OAAc,GAClC,OAAO,CAAC,MAAM,CAAC;IAsClB;;OAEG;IACG,kBAAkB,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;IAsB7C;;OAEG;YACW,sBAAsB;IAYpC;;;;;;OAMG;IACG,cAAc,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,GAAE,OAAe,GAAG,OAAO,CAAC,IAAI,CAAC;CA8C/E;AAED;;GAEG;AACH,wBAAgB,gBAAgB,IAAI,kBAAkB,CAKrD"}
@@ -1,3 +1,4 @@
1
+ import "../../chunk-C6A6W6XS.js";
1
2
  import { existsSync, readFileSync } from "fs";
2
3
  import { promises as fs } from "fs";
3
4
  import path from "path";
@@ -5,8 +6,17 @@ import { logger } from "../../logger/index.js";
5
6
  import { resolveBundledScript, getDextoGlobalPath, copyDirectory } from "../../utils/path.js";
6
7
  import { loadGlobalPreferences } from "../../preferences/loader.js";
7
8
  import { writePreferencesToAgent } from "../../config/writer.js";
8
- import { RegistrySchema } from "./types.js";
9
+ import {
10
+ RegistrySchema,
11
+ normalizeRegistryJson
12
+ } from "./types.js";
9
13
  import { RegistryError } from "./errors.js";
14
+ import {
15
+ loadUserRegistry,
16
+ mergeRegistries,
17
+ removeAgentFromUserRegistry,
18
+ addAgentToUserRegistry
19
+ } from "./user-registry.js";
10
20
  let cachedRegistry = null;
11
21
  class LocalAgentRegistry {
12
22
  _registry = null;
@@ -20,7 +30,7 @@ class LocalAgentRegistry {
20
30
  return this._registry;
21
31
  }
22
32
  /**
23
- * Load registry from bundled JSON file
33
+ * Load and merge bundled + user registries
24
34
  * Uses fail-fast approach - throws RegistryError for any loading issues
25
35
  */
26
36
  loadRegistry() {
@@ -36,23 +46,30 @@ class LocalAgentRegistry {
36
46
  if (!existsSync(jsonPath)) {
37
47
  throw RegistryError.registryNotFound(jsonPath, "File doesn't exist");
38
48
  }
49
+ let bundledRegistry;
39
50
  try {
40
51
  const jsonData = readFileSync(jsonPath, "utf-8");
41
52
  const rawRegistry = JSON.parse(jsonData);
42
- return RegistrySchema.parse(rawRegistry);
53
+ bundledRegistry = RegistrySchema.parse(normalizeRegistryJson(rawRegistry));
43
54
  } catch (error) {
44
55
  throw RegistryError.registryParseError(
45
56
  jsonPath,
46
57
  error instanceof Error ? error.message : String(error)
47
58
  );
48
59
  }
60
+ const userRegistry = loadUserRegistry();
61
+ const merged = mergeRegistries(bundledRegistry, userRegistry);
62
+ logger.debug(
63
+ `Loaded registry: ${Object.keys(bundledRegistry.agents).length} bundled, ${Object.keys(userRegistry.agents).length} custom`
64
+ );
65
+ return merged;
49
66
  }
50
67
  /**
51
- * Check if agent exists in registry
68
+ * Check if agent exists in registry by ID
52
69
  */
53
- hasAgent(name) {
70
+ hasAgent(agentId) {
54
71
  const registry = this.getRegistry();
55
- return name in registry.agents;
72
+ return agentId in registry.agents;
56
73
  }
57
74
  /**
58
75
  * Get available agents with their metadata from registry
@@ -61,27 +78,59 @@ class LocalAgentRegistry {
61
78
  const registry = this.getRegistry();
62
79
  return registry.agents;
63
80
  }
81
+ /**
82
+ * Validate custom agent ID doesn't conflict with bundled registry
83
+ * @throws RegistryError if ID conflicts with builtin agent
84
+ */
85
+ validateCustomAgentId(agentId) {
86
+ let jsonPath;
87
+ try {
88
+ jsonPath = resolveBundledScript("agents/agent-registry.json");
89
+ } catch (error) {
90
+ throw RegistryError.registryNotFound(
91
+ "agents/agent-registry.json",
92
+ error instanceof Error ? error.message : String(error)
93
+ );
94
+ }
95
+ try {
96
+ const jsonData = readFileSync(jsonPath, "utf-8");
97
+ const bundledRegistry = RegistrySchema.parse(
98
+ normalizeRegistryJson(JSON.parse(jsonData))
99
+ );
100
+ if (agentId in bundledRegistry.agents) {
101
+ throw RegistryError.customAgentNameConflict(agentId);
102
+ }
103
+ } catch (error) {
104
+ if (error instanceof Error && /name conflicts with builtin agent/.test(error.message)) {
105
+ throw error;
106
+ }
107
+ throw RegistryError.registryParseError(
108
+ jsonPath,
109
+ error instanceof Error ? error.message : String(error)
110
+ );
111
+ }
112
+ }
64
113
  /**
65
114
  * Resolve main config file for installed agent
66
115
  * Handles both directory agents (with main field) and single-file agents
67
116
  */
68
- resolveMainConfig(agentDir, agentName) {
117
+ resolveMainConfig(agentDir, agentId) {
69
118
  const registry = this.getRegistry();
70
- const agentData = registry.agents[agentName];
119
+ const agentData = registry.agents[agentId];
71
120
  if (!agentData) {
72
121
  const available = Object.keys(registry.agents);
73
- throw RegistryError.agentNotFound(agentName, available);
122
+ throw RegistryError.agentNotFound(agentId, available);
74
123
  }
75
124
  if (agentData.source.endsWith("/")) {
76
125
  if (!agentData.main) {
77
126
  throw RegistryError.agentInvalidEntry(
78
- agentName,
127
+ agentId,
79
128
  "directory entry missing main field"
80
129
  );
81
130
  }
82
131
  const mainConfigPath = path.join(agentDir, agentData.main);
83
132
  if (!existsSync(mainConfigPath)) {
84
- throw RegistryError.mainConfigMissing(agentName, mainConfigPath);
133
+ throw RegistryError.mainConfigMissing(agentId, mainConfigPath);
85
134
  }
86
135
  return mainConfigPath;
87
136
  } else {
@@ -95,22 +144,29 @@ class LocalAgentRegistry {
95
144
  }
96
145
  /**
97
146
  * Install agent atomically using temp + rename pattern
98
- * @param agentName Name of the agent to install
147
+ * @param agentId ID of the agent to install
99
148
  * @param injectPreferences Whether to inject global preferences into installed agent (default: true)
100
149
  */
101
- async installAgent(agentName, injectPreferences = true) {
102
- logger.info(`Installing agent: ${agentName}`);
150
+ async installAgent(agentId, injectPreferences = true) {
151
+ logger.info(`Installing agent: ${agentId}`);
103
152
  const registry = this.getRegistry();
104
- const agentData = registry.agents[agentName];
153
+ const agentData = registry.agents[agentId];
105
154
  if (!agentData) {
106
155
  const available = Object.keys(registry.agents);
107
- throw RegistryError.agentNotFound(agentName, available);
156
+ throw RegistryError.agentNotFound(agentId, available);
108
157
  }
109
158
  const globalAgentsDir = getDextoGlobalPath("agents");
110
- const targetDir = path.join(globalAgentsDir, agentName);
159
+ const targetDir = path.resolve(globalAgentsDir, agentId);
160
+ const relTarget = path.relative(globalAgentsDir, targetDir);
161
+ if (relTarget.startsWith("..") || path.isAbsolute(relTarget)) {
162
+ throw RegistryError.installationFailed(
163
+ agentId,
164
+ "invalid agentId: path traversal detected"
165
+ );
166
+ }
111
167
  if (existsSync(targetDir)) {
112
- logger.info(`Agent '${agentName}' already installed`);
113
- return this.resolveMainConfig(targetDir, agentName);
168
+ logger.info(`Agent '${agentId}' already installed`);
169
+ return this.resolveMainConfig(targetDir, agentId);
114
170
  }
115
171
  await fs.mkdir(globalAgentsDir, { recursive: true });
116
172
  const sourcePath = resolveBundledScript(`agents/${agentData.source}`);
@@ -123,31 +179,144 @@ class LocalAgentRegistry {
123
179
  const targetFile = path.join(tempDir, path.basename(sourcePath));
124
180
  await fs.copyFile(sourcePath, targetFile);
125
181
  }
126
- const mainConfigPath = this.resolveMainConfig(tempDir, agentName);
182
+ const mainConfigPath = this.resolveMainConfig(tempDir, agentId);
127
183
  if (!existsSync(mainConfigPath)) {
128
- throw RegistryError.installationValidationFailed(agentName, mainConfigPath);
184
+ throw RegistryError.installationValidationFailed(agentId, mainConfigPath);
129
185
  }
130
186
  await fs.rename(tempDir, targetDir);
131
- logger.info(`\u2713 Installed agent '${agentName}' to ${targetDir}`);
187
+ logger.info(`\u2713 Installed agent '${agentId}' to ${targetDir}`);
132
188
  if (injectPreferences) {
133
189
  try {
134
190
  const preferences = await loadGlobalPreferences();
135
191
  await writePreferencesToAgent(targetDir, preferences);
136
- logger.info(`\u2713 Applied global preferences to installed agent '${agentName}'`);
192
+ logger.info(`\u2713 Applied global preferences to installed agent '${agentId}'`);
137
193
  } catch (error) {
138
194
  logger.warn(
139
- `Failed to inject preferences to '${agentName}': ${error instanceof Error ? error.message : String(error)}`
195
+ `Failed to inject preferences to '${agentId}': ${error instanceof Error ? error.message : String(error)}`
140
196
  );
141
197
  console.log(
142
- `\u26A0\uFE0F Warning: Could not apply preferences to '${agentName}' - agent will use bundled settings`
198
+ `\u26A0\uFE0F Warning: Could not apply preferences to '${agentId}' - agent will use bundled settings`
143
199
  );
144
200
  }
145
201
  } else {
146
202
  logger.info(
147
- `Skipped preference injection for '${agentName}' (injectPreferences=false)`
203
+ `Skipped preference injection for '${agentId}' (injectPreferences=false)`
204
+ );
205
+ }
206
+ return this.resolveMainConfig(targetDir, agentId);
207
+ } catch (error) {
208
+ try {
209
+ if (existsSync(tempDir)) {
210
+ await fs.rm(tempDir, { recursive: true, force: true });
211
+ }
212
+ } catch (cleanupError) {
213
+ logger.error(
214
+ `Failed to clean up temp directory: ${cleanupError instanceof Error ? cleanupError.message : String(cleanupError)}. Skipping cleanup...`
148
215
  );
149
216
  }
150
- return this.resolveMainConfig(targetDir, agentName);
217
+ throw RegistryError.installationFailed(
218
+ agentId,
219
+ error instanceof Error ? error.message : String(error)
220
+ );
221
+ }
222
+ }
223
+ /**
224
+ * Install a custom agent from a local file path
225
+ * @param agentId Unique identifier for the custom agent
226
+ * @param sourcePath Absolute path to agent YAML file or directory
227
+ * @param metadata Agent metadata (name for display, description, author, tags, main)
228
+ * @param injectPreferences Whether to inject global preferences (default: true)
229
+ * @returns Path to the installed agent's main config file
230
+ */
231
+ async installCustomAgentFromPath(agentId, sourcePath, metadata, injectPreferences = true) {
232
+ logger.info(`Installing custom agent '${agentId}' from ${sourcePath}`);
233
+ this.validateCustomAgentId(agentId);
234
+ if (!existsSync(sourcePath)) {
235
+ throw RegistryError.configNotFound(sourcePath);
236
+ }
237
+ const globalAgentsDir = getDextoGlobalPath("agents");
238
+ const targetDir = path.resolve(globalAgentsDir, agentId);
239
+ const relTarget = path.relative(globalAgentsDir, targetDir);
240
+ if (relTarget.startsWith("..") || path.isAbsolute(relTarget)) {
241
+ throw RegistryError.installationFailed(
242
+ agentId,
243
+ "invalid agentId: path traversal detected"
244
+ );
245
+ }
246
+ if (existsSync(targetDir)) {
247
+ throw RegistryError.agentAlreadyExists(agentId);
248
+ }
249
+ await fs.mkdir(globalAgentsDir, { recursive: true });
250
+ const stats = await fs.stat(sourcePath);
251
+ const isDirectory = stats.isDirectory();
252
+ const configFileName = isDirectory ? void 0 : `${agentId}.yml`;
253
+ if (!metadata.description) {
254
+ throw RegistryError.installationFailed(agentId, "description is required");
255
+ }
256
+ if (isDirectory && !metadata.main) {
257
+ throw RegistryError.installationFailed(
258
+ agentId,
259
+ "main field is required for directory-based agents"
260
+ );
261
+ }
262
+ const displayName = metadata.name || agentId.split("-").map((word) => word.charAt(0).toUpperCase() + word.slice(1)).join(" ");
263
+ const registryEntry = {
264
+ id: agentId,
265
+ name: displayName,
266
+ description: metadata.description,
267
+ author: metadata.author,
268
+ tags: metadata.tags,
269
+ source: isDirectory ? `${agentId}/` : configFileName,
270
+ main: metadata.main
271
+ };
272
+ const tempDir = `${targetDir}.tmp.${Date.now()}`;
273
+ try {
274
+ if (isDirectory) {
275
+ await copyDirectory(sourcePath, tempDir);
276
+ } else {
277
+ await fs.mkdir(tempDir, { recursive: true });
278
+ const targetFile = path.join(tempDir, configFileName);
279
+ await fs.copyFile(sourcePath, targetFile);
280
+ }
281
+ const tempMainConfigPath = isDirectory ? path.join(tempDir, metadata.main) : path.join(tempDir, configFileName);
282
+ if (!existsSync(tempMainConfigPath)) {
283
+ throw RegistryError.installationValidationFailed(agentId, tempMainConfigPath);
284
+ }
285
+ await fs.rename(tempDir, targetDir);
286
+ logger.info(`\u2713 Installed custom agent '${agentId}' to ${targetDir}`);
287
+ const mainConfigPath = isDirectory && metadata.main ? path.join(targetDir, metadata.main) : path.join(targetDir, configFileName);
288
+ try {
289
+ await addAgentToUserRegistry(agentId, registryEntry);
290
+ logger.info(`\u2713 Added '${agentId}' to user registry`);
291
+ this._registry = null;
292
+ } catch (registryError) {
293
+ try {
294
+ if (existsSync(targetDir)) {
295
+ await fs.rm(targetDir, { recursive: true, force: true });
296
+ logger.info(`Rolled back installation: removed ${targetDir}`);
297
+ }
298
+ } catch (rollbackError) {
299
+ logger.error(
300
+ `Rollback failed for '${agentId}': ${rollbackError instanceof Error ? rollbackError.message : String(rollbackError)}`
301
+ );
302
+ }
303
+ throw registryError;
304
+ }
305
+ if (injectPreferences) {
306
+ try {
307
+ const preferences = await loadGlobalPreferences();
308
+ await writePreferencesToAgent(targetDir, preferences);
309
+ logger.info(`\u2713 Applied global preferences to custom agent '${agentId}'`);
310
+ } catch (error) {
311
+ logger.warn(
312
+ `Failed to inject preferences to '${agentId}': ${error instanceof Error ? error.message : String(error)}`
313
+ );
314
+ console.log(
315
+ `\u26A0\uFE0F Warning: Could not apply preferences to '${agentId}' - agent will use default settings`
316
+ );
317
+ }
318
+ }
319
+ return mainConfigPath;
151
320
  } catch (error) {
152
321
  try {
153
322
  if (existsSync(tempDir)) {
@@ -155,46 +324,50 @@ class LocalAgentRegistry {
155
324
  }
156
325
  } catch (cleanupError) {
157
326
  logger.error(
158
- `Failed to clean up temp directory: ${cleanupError}. Skipping cleanup...`
327
+ `Failed to clean up temp directory: ${cleanupError instanceof Error ? cleanupError.message : String(cleanupError)}. Skipping cleanup...`
159
328
  );
160
329
  }
161
330
  throw RegistryError.installationFailed(
162
- agentName,
331
+ agentId,
163
332
  error instanceof Error ? error.message : String(error)
164
333
  );
165
334
  }
166
335
  }
167
336
  /**
168
- * Resolve a registry agent name to a config path
169
- * NOTE: Only handles registry names, not file paths (routing done in loadAgentConfig)
337
+ * Resolve a registry agent ID to a config path
338
+ * NOTE: Only handles registry IDs, not file paths (routing done in loadAgentConfig)
170
339
  * Handles installing agent if needed
171
- * @param agentName Name of the agent to resolve
340
+ * @param agentId ID of the agent to resolve
172
341
  * @param autoInstall Whether to automatically install missing agents from registry (default: true)
173
342
  * @param injectPreferences Whether to inject preferences during auto-installation (default: true)
174
343
  */
175
- async resolveAgent(agentName, autoInstall = true, injectPreferences = true) {
176
- logger.debug(`Resolving registry agent: ${agentName}`);
344
+ async resolveAgent(agentId, autoInstall = true, injectPreferences = true) {
345
+ logger.debug(`Resolving registry agent: ${agentId}`);
177
346
  const globalAgentsDir = getDextoGlobalPath("agents");
178
- const installedPath = path.join(globalAgentsDir, agentName);
347
+ const installedPath = path.resolve(globalAgentsDir, agentId);
348
+ const relInstalled = path.relative(globalAgentsDir, installedPath);
349
+ if (relInstalled.startsWith("..") || path.isAbsolute(relInstalled)) {
350
+ throw RegistryError.agentNotFound(agentId, Object.keys(this.getRegistry().agents));
351
+ }
179
352
  if (existsSync(installedPath)) {
180
- const mainConfig = this.resolveMainConfig(installedPath, agentName);
181
- logger.debug(`Resolved installed agent '${agentName}' to: ${mainConfig}`);
353
+ const mainConfig = this.resolveMainConfig(installedPath, agentId);
354
+ logger.debug(`Resolved installed agent '${agentId}' to: ${mainConfig}`);
182
355
  return mainConfig;
183
356
  }
184
- logger.debug(`Agent '${agentName}' not found in installed path: ${installedPath}`);
185
- if (this.hasAgent(agentName)) {
357
+ logger.debug(`Agent '${agentId}' not found in installed path: ${installedPath}`);
358
+ if (this.hasAgent(agentId)) {
186
359
  if (autoInstall) {
187
- logger.info(`Installing agent '${agentName}' from registry...`);
188
- return await this.installAgent(agentName, injectPreferences);
360
+ logger.info(`Installing agent '${agentId}' from registry...`);
361
+ return await this.installAgent(agentId, injectPreferences);
189
362
  } else {
190
363
  const registry2 = this.getRegistry();
191
364
  const available2 = Object.keys(registry2.agents);
192
- throw RegistryError.agentNotInstalledAutoInstallDisabled(agentName, available2);
365
+ throw RegistryError.agentNotInstalledAutoInstallDisabled(agentId, available2);
193
366
  }
194
367
  }
195
368
  const registry = this.getRegistry();
196
369
  const available = Object.keys(registry.agents);
197
- throw RegistryError.agentNotFound(agentName, available);
370
+ throw RegistryError.agentNotFound(agentId, available);
198
371
  }
199
372
  /**
200
373
  * Get list of currently installed agents
@@ -213,32 +386,56 @@ class LocalAgentRegistry {
213
386
  }
214
387
  }
215
388
  /**
216
- * Check if an agent is safe to uninstall (not the default-agent which is critical)
389
+ * Check if an agent is safe to uninstall (not the default agent from preferences)
217
390
  */
218
- isAgentSafeToUninstall(agentName) {
219
- return agentName !== "default-agent";
391
+ async isAgentSafeToUninstall(agentId) {
392
+ try {
393
+ const preferences = await loadGlobalPreferences();
394
+ const defaultAgent = preferences.defaults.defaultAgent;
395
+ return agentId !== defaultAgent;
396
+ } catch {
397
+ logger.warn("Could not load preferences, using fallback protection for default-agent");
398
+ return agentId !== "default-agent";
399
+ }
220
400
  }
221
401
  /**
222
402
  * Uninstall an agent by removing its directory
223
- * @param agentName Name of the agent to uninstall
403
+ * For custom agents: also removes from user registry
404
+ * For builtin agents: only removes from disk
405
+ * @param agentId ID of the agent to uninstall
224
406
  * @param force Whether to force uninstall even if agent is protected (default: false)
225
407
  */
226
- async uninstallAgent(agentName, force = false) {
408
+ async uninstallAgent(agentId, force = false) {
227
409
  const globalAgentsDir = getDextoGlobalPath("agents");
228
- const agentDir = path.join(globalAgentsDir, agentName);
229
- logger.info(`Uninstalling agent: ${agentName} from ${agentDir}`);
410
+ const agentDir = path.resolve(globalAgentsDir, agentId);
411
+ const relAgent = path.relative(globalAgentsDir, agentDir);
412
+ if (relAgent.startsWith("..") || path.isAbsolute(relAgent)) {
413
+ throw RegistryError.uninstallationFailed(
414
+ agentId,
415
+ "invalid agentId: path traversal detected"
416
+ );
417
+ }
418
+ logger.info(`Uninstalling agent: ${agentId} from ${agentDir}`);
230
419
  if (!existsSync(agentDir)) {
231
- throw RegistryError.agentNotInstalled(agentName);
420
+ throw RegistryError.agentNotInstalled(agentId);
232
421
  }
233
- if (!force && !this.isAgentSafeToUninstall(agentName)) {
234
- throw RegistryError.agentProtected(agentName);
422
+ if (!force && !await this.isAgentSafeToUninstall(agentId)) {
423
+ throw RegistryError.agentProtected(agentId);
235
424
  }
425
+ const registry = this.getRegistry();
426
+ const agentData = registry.agents[agentId];
427
+ const isCustomAgent = agentData?.type === "custom";
236
428
  try {
237
429
  await fs.rm(agentDir, { recursive: true, force: true });
238
- logger.info(`\u2713 Removed agent '${agentName}' from ${agentDir}`);
430
+ logger.info(`\u2713 Removed agent '${agentId}' from ${agentDir}`);
431
+ if (isCustomAgent) {
432
+ await removeAgentFromUserRegistry(agentId);
433
+ logger.info(`\u2713 Removed custom agent '${agentId}' from user registry`);
434
+ this._registry = null;
435
+ }
239
436
  } catch (error) {
240
437
  throw RegistryError.uninstallationFailed(
241
- agentName,
438
+ agentId,
242
439
  error instanceof Error ? error.message : String(error)
243
440
  );
244
441
  }
@@ -19,23 +19,56 @@ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: tru
19
19
  var types_exports = {};
20
20
  __export(types_exports, {
21
21
  AgentRegistryEntrySchema: () => AgentRegistryEntrySchema,
22
- RegistrySchema: () => RegistrySchema
22
+ RegistrySchema: () => RegistrySchema,
23
+ deriveDisplayName: () => deriveDisplayName,
24
+ normalizeRegistryJson: () => normalizeRegistryJson
23
25
  });
24
26
  module.exports = __toCommonJS(types_exports);
25
27
  var import_zod = require("zod");
28
+ function deriveDisplayName(slug) {
29
+ return slug.split("-").filter(Boolean).map((part) => part.charAt(0).toUpperCase() + part.slice(1)).join(" ");
30
+ }
26
31
  const AgentRegistryEntrySchema = import_zod.z.object({
32
+ id: import_zod.z.string().describe("Unique identifier for the agent"),
33
+ name: import_zod.z.string().describe("Display name for the agent"),
27
34
  description: import_zod.z.string(),
28
35
  author: import_zod.z.string(),
29
36
  tags: import_zod.z.array(import_zod.z.string()),
30
37
  source: import_zod.z.string(),
31
- main: import_zod.z.string().optional()
38
+ main: import_zod.z.string().optional(),
39
+ type: import_zod.z.enum(["builtin", "custom"]).default("builtin").describe("Agent type")
32
40
  }).strict();
33
41
  const RegistrySchema = import_zod.z.object({
34
42
  version: import_zod.z.string(),
35
43
  agents: import_zod.z.record(import_zod.z.string(), AgentRegistryEntrySchema)
36
44
  }).strict();
45
+ function normalizeRegistryJson(raw) {
46
+ if (!raw || typeof raw !== "object") {
47
+ return { version: "1.0.0", agents: {} };
48
+ }
49
+ const input = raw;
50
+ const normalizedAgents = {};
51
+ const agents = input.agents && typeof input.agents === "object" && input.agents !== null ? input.agents : {};
52
+ for (const [agentId, value] of Object.entries(agents)) {
53
+ if (!value || typeof value !== "object") continue;
54
+ const entry = { ...value };
55
+ if (!entry.id || typeof entry.id !== "string" || entry.id.trim() !== agentId) {
56
+ entry.id = agentId;
57
+ }
58
+ if (!entry.name || typeof entry.name !== "string" || !entry.name.trim()) {
59
+ entry.name = deriveDisplayName(agentId);
60
+ }
61
+ normalizedAgents[agentId] = entry;
62
+ }
63
+ return {
64
+ version: typeof input.version === "string" && input.version.trim().length > 0 ? input.version : "1.0.0",
65
+ agents: normalizedAgents
66
+ };
67
+ }
37
68
  // Annotate the CommonJS export names for ESM import in node:
38
69
  0 && (module.exports = {
39
70
  AgentRegistryEntrySchema,
40
- RegistrySchema
71
+ RegistrySchema,
72
+ deriveDisplayName,
73
+ normalizeRegistryJson
41
74
  });