@dexto/core 1.1.4 → 1.1.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 (597) hide show
  1. package/README.md +125 -0
  2. package/dist/agent/DextoAgent.cjs +793 -0
  3. package/dist/agent/DextoAgent.d.cts +473 -0
  4. package/dist/agent/DextoAgent.d.ts +473 -0
  5. package/dist/agent/DextoAgent.js +774 -0
  6. package/dist/agent/agentCard.cjs +44 -0
  7. package/dist/agent/agentCard.d.cts +20 -0
  8. package/dist/agent/agentCard.d.ts +20 -0
  9. package/dist/agent/agentCard.js +20 -0
  10. package/dist/agent/error-codes.cjs +35 -0
  11. package/dist/agent/error-codes.d.cts +14 -0
  12. package/dist/agent/error-codes.d.ts +14 -0
  13. package/dist/agent/error-codes.js +11 -0
  14. package/dist/agent/errors.cjs +84 -0
  15. package/dist/agent/errors.d.cts +40 -0
  16. package/dist/agent/errors.d.ts +40 -0
  17. package/dist/agent/errors.js +60 -0
  18. package/dist/agent/index.cjs +44 -0
  19. package/dist/agent/index.d.cts +60 -0
  20. package/dist/agent/index.d.ts +60 -0
  21. package/dist/agent/index.js +13 -0
  22. package/dist/agent/registry/error-codes.cjs +42 -0
  23. package/dist/agent/registry/error-codes.d.cts +20 -0
  24. package/dist/agent/registry/error-codes.d.ts +20 -0
  25. package/dist/agent/registry/error-codes.js +18 -0
  26. package/dist/agent/registry/errors.cjs +158 -0
  27. package/dist/agent/registry/errors.d.cts +67 -0
  28. package/dist/agent/registry/errors.d.ts +67 -0
  29. package/dist/{chunk-PI6XFMEW.js → agent/registry/errors.js} +43 -50
  30. package/dist/agent/registry/registry.cjs +291 -0
  31. package/dist/agent/registry/registry.d.cts +67 -0
  32. package/dist/agent/registry/registry.d.ts +67 -0
  33. package/dist/agent/registry/registry.js +256 -0
  34. package/dist/agent/registry/types.cjs +41 -0
  35. package/dist/agent/registry/types.d.cts +100 -0
  36. package/dist/agent/registry/types.d.ts +100 -0
  37. package/dist/agent/registry/types.js +16 -0
  38. package/dist/agent/schemas.cjs +113 -0
  39. package/dist/agent/schemas.d.cts +1502 -0
  40. package/dist/agent/schemas.d.ts +1502 -0
  41. package/dist/agent/schemas.js +88 -0
  42. package/dist/agent/state-manager.cjs +214 -0
  43. package/dist/agent/state-manager.d.cts +97 -0
  44. package/dist/agent/state-manager.d.ts +97 -0
  45. package/dist/agent/state-manager.js +190 -0
  46. package/dist/config/agent-resolver.cjs +153 -0
  47. package/dist/config/agent-resolver.d.cts +15 -0
  48. package/dist/config/agent-resolver.d.ts +15 -0
  49. package/dist/config/agent-resolver.js +122 -0
  50. package/dist/config/error-codes.cjs +39 -0
  51. package/dist/config/error-codes.d.cts +17 -0
  52. package/dist/config/error-codes.d.ts +17 -0
  53. package/dist/config/error-codes.js +15 -0
  54. package/dist/config/errors.cjs +126 -0
  55. package/dist/config/errors.d.cts +49 -0
  56. package/dist/config/errors.d.ts +49 -0
  57. package/dist/config/errors.js +102 -0
  58. package/dist/config/index.cjs +26 -0
  59. package/dist/config/index.d.cts +7 -0
  60. package/dist/config/index.d.ts +7 -0
  61. package/dist/config/index.js +3 -0
  62. package/dist/config/loader.cjs +119 -0
  63. package/dist/config/loader.d.cts +19 -0
  64. package/dist/config/loader.d.ts +19 -0
  65. package/dist/config/loader.js +85 -0
  66. package/dist/config/writer.cjs +182 -0
  67. package/dist/config/writer.d.cts +38 -0
  68. package/dist/config/writer.d.ts +38 -0
  69. package/dist/config/writer.js +146 -0
  70. package/dist/context/compression/middle-removal.cjs +95 -0
  71. package/dist/context/compression/middle-removal.d.cts +48 -0
  72. package/dist/context/compression/middle-removal.d.ts +48 -0
  73. package/dist/context/compression/middle-removal.js +71 -0
  74. package/dist/context/compression/oldest-removal.cjs +70 -0
  75. package/dist/context/compression/oldest-removal.d.cts +43 -0
  76. package/dist/context/compression/oldest-removal.d.ts +43 -0
  77. package/dist/context/compression/oldest-removal.js +46 -0
  78. package/dist/context/compression/types.cjs +16 -0
  79. package/dist/context/compression/types.d.cts +21 -0
  80. package/dist/context/compression/types.d.ts +21 -0
  81. package/dist/context/compression/types.js +0 -0
  82. package/dist/context/error-codes.cjs +41 -0
  83. package/dist/context/error-codes.d.cts +19 -0
  84. package/dist/context/error-codes.d.ts +19 -0
  85. package/dist/context/error-codes.js +17 -0
  86. package/dist/context/errors.cjs +146 -0
  87. package/dist/context/errors.d.cts +36 -0
  88. package/dist/context/errors.d.ts +36 -0
  89. package/dist/context/errors.js +122 -0
  90. package/dist/context/index.cjs +24 -0
  91. package/dist/context/index.d.cts +19 -0
  92. package/dist/context/index.d.ts +19 -0
  93. package/dist/context/index.js +2 -0
  94. package/dist/context/manager.cjs +516 -0
  95. package/dist/context/manager.d.cts +254 -0
  96. package/dist/context/manager.d.ts +254 -0
  97. package/dist/context/manager.js +492 -0
  98. package/dist/context/types.cjs +16 -0
  99. package/dist/context/types.d.cts +113 -0
  100. package/dist/context/types.d.ts +113 -0
  101. package/dist/context/types.js +0 -0
  102. package/dist/context/utils.cjs +406 -0
  103. package/dist/context/utils.d.cts +79 -0
  104. package/dist/context/utils.d.ts +79 -0
  105. package/dist/context/utils.js +374 -0
  106. package/dist/errors/DextoBaseError.cjs +36 -0
  107. package/dist/errors/DextoBaseError.d.cts +15 -0
  108. package/dist/errors/DextoBaseError.d.ts +15 -0
  109. package/dist/errors/DextoBaseError.js +12 -0
  110. package/dist/errors/DextoRuntimeError.cjs +50 -0
  111. package/dist/errors/DextoRuntimeError.d.cts +37 -0
  112. package/dist/errors/DextoRuntimeError.d.ts +37 -0
  113. package/dist/errors/DextoRuntimeError.js +26 -0
  114. package/dist/errors/DextoValidationError.cjs +118 -0
  115. package/dist/errors/DextoValidationError.d.cts +65 -0
  116. package/dist/errors/DextoValidationError.d.ts +65 -0
  117. package/dist/{chunk-XFQLRBHE.js → errors/DextoValidationError.js} +4 -32
  118. package/dist/errors/index.cjs +42 -0
  119. package/dist/errors/index.d.cts +18 -0
  120. package/dist/errors/index.d.ts +18 -0
  121. package/dist/errors/index.js +13 -0
  122. package/dist/errors/result-bridge.cjs +38 -0
  123. package/dist/errors/result-bridge.d.cts +39 -0
  124. package/dist/errors/result-bridge.d.ts +39 -0
  125. package/dist/errors/result-bridge.js +14 -0
  126. package/dist/errors/types.cjs +54 -0
  127. package/dist/errors/types.d.cts +62 -0
  128. package/dist/errors/types.d.ts +62 -0
  129. package/dist/errors/types.js +29 -0
  130. package/dist/events/index.cjs +169 -0
  131. package/dist/events/index.d.cts +272 -0
  132. package/dist/events/index.d.ts +272 -0
  133. package/dist/events/index.js +136 -0
  134. package/dist/index.browser.cjs +9 -220
  135. package/dist/index.browser.d.cts +53 -379
  136. package/dist/index.browser.d.ts +53 -379
  137. package/dist/index.browser.js +4 -210
  138. package/dist/index.cjs +31 -15266
  139. package/dist/index.d.cts +89 -6842
  140. package/dist/index.d.ts +89 -6842
  141. package/dist/index.js +14 -9914
  142. package/dist/llm/error-codes.cjs +48 -0
  143. package/dist/llm/error-codes.d.cts +26 -0
  144. package/dist/llm/error-codes.d.ts +26 -0
  145. package/dist/llm/error-codes.js +24 -0
  146. package/dist/llm/errors.cjs +108 -0
  147. package/dist/llm/errors.d.cts +58 -0
  148. package/dist/llm/errors.d.ts +58 -0
  149. package/dist/llm/errors.js +84 -0
  150. package/dist/llm/formatters/anthropic.cjs +246 -0
  151. package/dist/llm/formatters/anthropic.d.cts +45 -0
  152. package/dist/llm/formatters/anthropic.d.ts +45 -0
  153. package/dist/llm/formatters/anthropic.js +227 -0
  154. package/dist/llm/formatters/factory.cjs +51 -0
  155. package/dist/llm/formatters/factory.d.cts +12 -0
  156. package/dist/llm/formatters/factory.d.ts +12 -0
  157. package/dist/llm/formatters/factory.js +27 -0
  158. package/dist/llm/formatters/openai.cjs +167 -0
  159. package/dist/llm/formatters/openai.d.cts +38 -0
  160. package/dist/llm/formatters/openai.d.ts +38 -0
  161. package/dist/llm/formatters/openai.js +147 -0
  162. package/dist/llm/formatters/types.cjs +16 -0
  163. package/dist/llm/formatters/types.d.cts +43 -0
  164. package/dist/llm/formatters/types.d.ts +43 -0
  165. package/dist/llm/formatters/types.js +0 -0
  166. package/dist/llm/formatters/vercel.cjs +411 -0
  167. package/dist/llm/formatters/vercel.d.cts +48 -0
  168. package/dist/llm/formatters/vercel.d.ts +48 -0
  169. package/dist/llm/formatters/vercel.js +387 -0
  170. package/dist/llm/index.cjs +34 -0
  171. package/dist/llm/index.d.cts +39 -0
  172. package/dist/llm/index.d.ts +39 -0
  173. package/dist/llm/index.js +7 -0
  174. package/dist/llm/registry.cjs +881 -0
  175. package/dist/llm/registry.d.cts +176 -0
  176. package/dist/llm/registry.d.ts +176 -0
  177. package/dist/{chunk-J6AXCN3H.js → llm/registry.js} +25 -455
  178. package/dist/llm/resolver.cjs +154 -0
  179. package/dist/llm/resolver.d.cts +34 -0
  180. package/dist/llm/resolver.d.ts +34 -0
  181. package/dist/llm/resolver.js +136 -0
  182. package/dist/llm/schemas.cjs +188 -0
  183. package/dist/llm/schemas.d.cts +111 -0
  184. package/dist/llm/schemas.d.ts +111 -0
  185. package/dist/llm/schemas.js +172 -0
  186. package/dist/llm/services/anthropic.cjs +398 -0
  187. package/dist/llm/services/anthropic.d.cts +65 -0
  188. package/dist/llm/services/anthropic.d.ts +65 -0
  189. package/dist/llm/services/anthropic.js +374 -0
  190. package/dist/llm/services/factory.cjs +164 -0
  191. package/dist/llm/services/factory.d.cts +39 -0
  192. package/dist/llm/services/factory.d.ts +39 -0
  193. package/dist/llm/services/factory.js +130 -0
  194. package/dist/llm/services/index.cjs +22 -0
  195. package/dist/llm/services/index.d.cts +21 -0
  196. package/dist/llm/services/index.d.ts +21 -0
  197. package/dist/llm/services/index.js +1 -0
  198. package/dist/llm/services/openai.cjs +470 -0
  199. package/dist/llm/services/openai.d.cts +65 -0
  200. package/dist/llm/services/openai.d.ts +65 -0
  201. package/dist/llm/services/openai.js +446 -0
  202. package/dist/llm/services/test-utils.integration.cjs +169 -0
  203. package/dist/llm/services/test-utils.integration.d.cts +83 -0
  204. package/dist/llm/services/test-utils.integration.d.ts +83 -0
  205. package/dist/llm/services/test-utils.integration.js +142 -0
  206. package/dist/llm/services/types.cjs +16 -0
  207. package/dist/llm/services/types.d.cts +56 -0
  208. package/dist/llm/services/types.d.ts +56 -0
  209. package/dist/llm/services/types.js +0 -0
  210. package/dist/llm/services/vercel.cjs +525 -0
  211. package/dist/llm/services/vercel.d.cts +72 -0
  212. package/dist/llm/services/vercel.d.ts +72 -0
  213. package/dist/llm/services/vercel.js +506 -0
  214. package/dist/llm/tokenizer/anthropic.cjs +43 -0
  215. package/dist/llm/tokenizer/anthropic.d.cts +21 -0
  216. package/dist/llm/tokenizer/anthropic.d.ts +21 -0
  217. package/dist/llm/tokenizer/anthropic.js +19 -0
  218. package/dist/llm/tokenizer/default.cjs +41 -0
  219. package/dist/llm/tokenizer/default.d.cts +16 -0
  220. package/dist/llm/tokenizer/default.d.ts +16 -0
  221. package/dist/llm/tokenizer/default.js +17 -0
  222. package/dist/llm/tokenizer/factory.cjs +44 -0
  223. package/dist/llm/tokenizer/factory.d.cts +12 -0
  224. package/dist/llm/tokenizer/factory.d.ts +12 -0
  225. package/dist/llm/tokenizer/factory.js +20 -0
  226. package/dist/llm/tokenizer/google.cjs +52 -0
  227. package/dist/llm/tokenizer/google.d.cts +31 -0
  228. package/dist/llm/tokenizer/google.d.ts +31 -0
  229. package/dist/llm/tokenizer/google.js +28 -0
  230. package/dist/llm/tokenizer/openai.cjs +108 -0
  231. package/dist/llm/tokenizer/openai.d.cts +32 -0
  232. package/dist/llm/tokenizer/openai.d.ts +32 -0
  233. package/dist/llm/tokenizer/openai.js +83 -0
  234. package/dist/llm/tokenizer/types.cjs +33 -0
  235. package/dist/llm/tokenizer/types.d.cts +19 -0
  236. package/dist/llm/tokenizer/types.d.ts +19 -0
  237. package/dist/llm/tokenizer/types.js +9 -0
  238. package/dist/llm/types.cjs +42 -0
  239. package/dist/llm/types.d.cts +29 -0
  240. package/dist/llm/types.d.ts +29 -0
  241. package/dist/llm/types.js +16 -0
  242. package/dist/llm/validation.cjs +162 -0
  243. package/dist/llm/validation.d.cts +60 -0
  244. package/dist/llm/validation.d.ts +60 -0
  245. package/dist/llm/validation.js +138 -0
  246. package/dist/logger/browser.cjs +86 -0
  247. package/dist/logger/browser.d.cts +29 -0
  248. package/dist/logger/browser.d.ts +29 -0
  249. package/dist/logger/browser.js +61 -0
  250. package/dist/logger/index.cjs +22 -0
  251. package/dist/logger/index.d.cts +1 -0
  252. package/dist/logger/index.d.ts +1 -0
  253. package/dist/logger/index.js +1 -0
  254. package/dist/logger/logger.cjs +362 -0
  255. package/dist/logger/logger.d.cts +52 -0
  256. package/dist/logger/logger.d.ts +52 -0
  257. package/dist/logger/logger.js +327 -0
  258. package/dist/mcp/error-codes.cjs +38 -0
  259. package/dist/mcp/error-codes.d.cts +16 -0
  260. package/dist/mcp/error-codes.d.ts +16 -0
  261. package/dist/mcp/error-codes.js +14 -0
  262. package/dist/mcp/errors.cjs +131 -0
  263. package/dist/mcp/errors.d.cts +72 -0
  264. package/dist/mcp/errors.d.ts +72 -0
  265. package/dist/mcp/errors.js +107 -0
  266. package/dist/mcp/index.cjs +34 -0
  267. package/dist/mcp/index.d.cts +26 -0
  268. package/dist/mcp/index.d.ts +26 -0
  269. package/dist/mcp/index.js +7 -0
  270. package/dist/mcp/manager.cjs +473 -0
  271. package/dist/mcp/manager.d.cts +163 -0
  272. package/dist/mcp/manager.d.ts +163 -0
  273. package/dist/mcp/manager.js +449 -0
  274. package/dist/mcp/mcp-client.cjs +420 -0
  275. package/dist/mcp/mcp-client.d.cts +108 -0
  276. package/dist/mcp/mcp-client.d.ts +108 -0
  277. package/dist/mcp/mcp-client.js +396 -0
  278. package/dist/mcp/resolver.cjs +78 -0
  279. package/dist/mcp/resolver.d.cts +22 -0
  280. package/dist/mcp/resolver.d.ts +22 -0
  281. package/dist/mcp/resolver.js +56 -0
  282. package/dist/mcp/schemas.cjs +82 -0
  283. package/dist/mcp/schemas.d.cts +266 -0
  284. package/dist/mcp/schemas.d.ts +266 -0
  285. package/dist/mcp/schemas.js +54 -0
  286. package/dist/mcp/types.cjs +16 -0
  287. package/dist/mcp/types.d.cts +21 -0
  288. package/dist/mcp/types.d.ts +21 -0
  289. package/dist/mcp/types.js +0 -0
  290. package/dist/preferences/constants.cjs +28 -0
  291. package/dist/preferences/constants.d.cts +3 -0
  292. package/dist/preferences/constants.d.ts +3 -0
  293. package/dist/preferences/constants.js +4 -0
  294. package/dist/preferences/error-codes.cjs +35 -0
  295. package/dist/preferences/error-codes.d.cts +9 -0
  296. package/dist/preferences/error-codes.d.ts +9 -0
  297. package/dist/preferences/error-codes.js +11 -0
  298. package/dist/preferences/errors.cjs +75 -0
  299. package/dist/preferences/errors.d.cts +33 -0
  300. package/dist/preferences/errors.d.ts +33 -0
  301. package/dist/preferences/errors.js +50 -0
  302. package/dist/preferences/index.cjs +55 -0
  303. package/dist/preferences/index.d.cts +21 -0
  304. package/dist/preferences/index.d.ts +21 -0
  305. package/dist/preferences/index.js +31 -0
  306. package/dist/preferences/loader.cjs +136 -0
  307. package/dist/preferences/loader.d.cts +45 -0
  308. package/dist/preferences/loader.d.ts +45 -0
  309. package/dist/preferences/loader.js +107 -0
  310. package/dist/preferences/schemas.cjs +74 -0
  311. package/dist/preferences/schemas.d.cts +104 -0
  312. package/dist/preferences/schemas.d.ts +104 -0
  313. package/dist/preferences/schemas.js +47 -0
  314. package/dist/search/index.cjs +28 -0
  315. package/dist/search/index.d.cts +5 -0
  316. package/dist/search/index.d.ts +5 -0
  317. package/dist/search/index.js +4 -0
  318. package/dist/search/search-service.cjs +245 -0
  319. package/dist/search/search-service.d.cts +47 -0
  320. package/dist/search/search-service.d.ts +47 -0
  321. package/dist/search/search-service.js +221 -0
  322. package/dist/search/types.cjs +16 -0
  323. package/dist/search/types.d.cts +78 -0
  324. package/dist/search/types.d.ts +78 -0
  325. package/dist/search/types.js +0 -0
  326. package/dist/session/chat-session.cjs +354 -0
  327. package/dist/session/chat-session.d.cts +284 -0
  328. package/dist/session/chat-session.d.ts +284 -0
  329. package/dist/session/chat-session.js +333 -0
  330. package/dist/session/error-codes.cjs +35 -0
  331. package/dist/session/error-codes.d.cts +13 -0
  332. package/dist/session/error-codes.d.ts +13 -0
  333. package/dist/session/error-codes.js +11 -0
  334. package/dist/session/errors.cjs +93 -0
  335. package/dist/session/errors.d.cts +58 -0
  336. package/dist/session/errors.d.ts +58 -0
  337. package/dist/session/errors.js +69 -0
  338. package/dist/session/history/database.cjs +95 -0
  339. package/dist/session/history/database.d.cts +28 -0
  340. package/dist/session/history/database.d.ts +28 -0
  341. package/dist/session/history/database.js +71 -0
  342. package/dist/session/history/factory.cjs +31 -0
  343. package/dist/session/history/factory.d.cts +11 -0
  344. package/dist/session/history/factory.d.ts +11 -0
  345. package/dist/session/history/factory.js +7 -0
  346. package/dist/session/history/types.cjs +16 -0
  347. package/dist/session/history/types.d.cts +17 -0
  348. package/dist/session/history/types.d.ts +17 -0
  349. package/dist/session/history/types.js +0 -0
  350. package/dist/session/index.cjs +37 -0
  351. package/dist/session/index.d.cts +53 -0
  352. package/dist/session/index.d.ts +53 -0
  353. package/dist/session/index.js +10 -0
  354. package/dist/session/schemas.cjs +32 -0
  355. package/dist/session/schemas.d.cts +16 -0
  356. package/dist/session/schemas.d.ts +16 -0
  357. package/dist/session/schemas.js +8 -0
  358. package/dist/session/session-manager.cjs +481 -0
  359. package/dist/session/session-manager.d.cts +219 -0
  360. package/dist/session/session-manager.d.ts +219 -0
  361. package/dist/session/session-manager.js +457 -0
  362. package/dist/storage/backend/cache-backend.cjs +16 -0
  363. package/dist/storage/backend/cache-backend.d.cts +15 -0
  364. package/dist/storage/backend/cache-backend.d.ts +15 -0
  365. package/dist/storage/backend/cache-backend.js +0 -0
  366. package/dist/storage/backend/database-backend.cjs +16 -0
  367. package/dist/storage/backend/database-backend.d.cts +19 -0
  368. package/dist/storage/backend/database-backend.d.ts +19 -0
  369. package/dist/storage/backend/database-backend.js +0 -0
  370. package/dist/storage/backend/memory-backend.cjs +140 -0
  371. package/dist/storage/backend/memory-backend.d.cts +34 -0
  372. package/dist/storage/backend/memory-backend.d.ts +34 -0
  373. package/dist/storage/backend/memory-backend.js +116 -0
  374. package/dist/storage/backend/postgres-backend.cjs +231 -0
  375. package/dist/storage/backend/postgres-backend.d.cts +37 -0
  376. package/dist/storage/backend/postgres-backend.d.ts +37 -0
  377. package/dist/{postgres-backend-WMWS7RAT.js → storage/backend/postgres-backend.js} +3 -12
  378. package/dist/storage/backend/redis-backend.cjs +184 -0
  379. package/dist/storage/backend/redis-backend.d.cts +36 -0
  380. package/dist/storage/backend/redis-backend.d.ts +36 -0
  381. package/dist/{redis-backend-BNLN3XHX.js → storage/backend/redis-backend.js} +3 -12
  382. package/dist/storage/backend/sqlite-backend.cjs +271 -0
  383. package/dist/storage/backend/sqlite-backend.d.cts +35 -0
  384. package/dist/storage/backend/sqlite-backend.d.ts +35 -0
  385. package/dist/{sqlite-backend-AR6XNK2Q.js → storage/backend/sqlite-backend.js} +6 -17
  386. package/dist/storage/backend/types.cjs +16 -0
  387. package/dist/storage/backend/types.d.cts +14 -0
  388. package/dist/storage/backend/types.d.ts +14 -0
  389. package/dist/storage/backend/types.js +0 -0
  390. package/dist/storage/error-codes.cjs +36 -0
  391. package/dist/storage/error-codes.d.cts +14 -0
  392. package/dist/storage/error-codes.d.ts +14 -0
  393. package/dist/storage/error-codes.js +12 -0
  394. package/dist/storage/errors.cjs +104 -0
  395. package/dist/storage/errors.d.cts +63 -0
  396. package/dist/storage/errors.d.ts +63 -0
  397. package/dist/{chunk-F2QFAECT.js → storage/errors.js} +23 -30
  398. package/dist/storage/index.cjs +33 -0
  399. package/dist/storage/index.d.cts +7 -0
  400. package/dist/storage/index.d.ts +7 -0
  401. package/dist/storage/index.js +7 -0
  402. package/dist/storage/schemas.cjs +113 -0
  403. package/dist/storage/schemas.d.cts +856 -0
  404. package/dist/storage/schemas.d.ts +856 -0
  405. package/dist/storage/schemas.js +89 -0
  406. package/dist/storage/storage-manager.cjs +208 -0
  407. package/dist/storage/storage-manager.d.cts +52 -0
  408. package/dist/storage/storage-manager.d.ts +52 -0
  409. package/dist/storage/storage-manager.js +173 -0
  410. package/dist/storage/types.cjs +16 -0
  411. package/dist/storage/types.d.cts +5 -0
  412. package/dist/storage/types.d.ts +5 -0
  413. package/dist/storage/types.js +0 -0
  414. package/dist/systemPrompt/contributors.cjs +146 -0
  415. package/dist/systemPrompt/contributors.d.cts +44 -0
  416. package/dist/systemPrompt/contributors.d.ts +44 -0
  417. package/dist/systemPrompt/contributors.js +120 -0
  418. package/dist/systemPrompt/error-codes.cjs +35 -0
  419. package/dist/systemPrompt/error-codes.d.cts +13 -0
  420. package/dist/systemPrompt/error-codes.d.ts +13 -0
  421. package/dist/systemPrompt/error-codes.js +11 -0
  422. package/dist/systemPrompt/errors.cjs +93 -0
  423. package/dist/systemPrompt/errors.d.cts +55 -0
  424. package/dist/systemPrompt/errors.d.ts +55 -0
  425. package/dist/systemPrompt/errors.js +69 -0
  426. package/dist/systemPrompt/in-built-prompts.cjs +68 -0
  427. package/dist/systemPrompt/in-built-prompts.d.cts +28 -0
  428. package/dist/systemPrompt/in-built-prompts.d.ts +28 -0
  429. package/dist/systemPrompt/in-built-prompts.js +42 -0
  430. package/dist/systemPrompt/index.cjs +30 -0
  431. package/dist/systemPrompt/index.d.cts +14 -0
  432. package/dist/systemPrompt/index.d.ts +14 -0
  433. package/dist/systemPrompt/index.js +5 -0
  434. package/dist/systemPrompt/manager.cjs +93 -0
  435. package/dist/systemPrompt/manager.d.cts +31 -0
  436. package/dist/systemPrompt/manager.d.ts +31 -0
  437. package/dist/systemPrompt/manager.js +69 -0
  438. package/dist/systemPrompt/registry.cjs +51 -0
  439. package/dist/systemPrompt/registry.d.cts +20 -0
  440. package/dist/systemPrompt/registry.d.ts +20 -0
  441. package/dist/systemPrompt/registry.js +15 -0
  442. package/dist/systemPrompt/schemas.cjs +107 -0
  443. package/dist/systemPrompt/schemas.d.cts +401 -0
  444. package/dist/systemPrompt/schemas.d.ts +401 -0
  445. package/dist/systemPrompt/schemas.js +81 -0
  446. package/dist/systemPrompt/types.cjs +16 -0
  447. package/dist/systemPrompt/types.d.cts +19 -0
  448. package/dist/systemPrompt/types.d.ts +19 -0
  449. package/dist/systemPrompt/types.js +0 -0
  450. package/dist/tools/confirmation/allowed-tools-provider/factory.cjs +44 -0
  451. package/dist/tools/confirmation/allowed-tools-provider/factory.d.cts +19 -0
  452. package/dist/tools/confirmation/allowed-tools-provider/factory.d.ts +19 -0
  453. package/dist/tools/confirmation/allowed-tools-provider/factory.js +20 -0
  454. package/dist/tools/confirmation/allowed-tools-provider/in-memory.cjs +62 -0
  455. package/dist/tools/confirmation/allowed-tools-provider/in-memory.d.cts +17 -0
  456. package/dist/tools/confirmation/allowed-tools-provider/in-memory.d.ts +17 -0
  457. package/dist/tools/confirmation/allowed-tools-provider/in-memory.js +38 -0
  458. package/dist/tools/confirmation/allowed-tools-provider/storage.cjs +68 -0
  459. package/dist/tools/confirmation/allowed-tools-provider/storage.d.cts +26 -0
  460. package/dist/tools/confirmation/allowed-tools-provider/storage.d.ts +26 -0
  461. package/dist/tools/confirmation/allowed-tools-provider/storage.js +44 -0
  462. package/dist/tools/confirmation/allowed-tools-provider/types.cjs +16 -0
  463. package/dist/tools/confirmation/allowed-tools-provider/types.d.cts +35 -0
  464. package/dist/tools/confirmation/allowed-tools-provider/types.d.ts +35 -0
  465. package/dist/tools/confirmation/allowed-tools-provider/types.js +0 -0
  466. package/dist/tools/confirmation/event-based-confirmation-provider.cjs +158 -0
  467. package/dist/tools/confirmation/event-based-confirmation-provider.d.cts +41 -0
  468. package/dist/tools/confirmation/event-based-confirmation-provider.d.ts +41 -0
  469. package/dist/tools/confirmation/event-based-confirmation-provider.js +134 -0
  470. package/dist/tools/confirmation/factory.cjs +52 -0
  471. package/dist/tools/confirmation/factory.d.cts +37 -0
  472. package/dist/tools/confirmation/factory.d.ts +37 -0
  473. package/dist/tools/confirmation/factory.js +28 -0
  474. package/dist/tools/confirmation/noop-confirmation-provider.cjs +49 -0
  475. package/dist/tools/confirmation/noop-confirmation-provider.d.cts +22 -0
  476. package/dist/tools/confirmation/noop-confirmation-provider.d.ts +22 -0
  477. package/dist/tools/confirmation/noop-confirmation-provider.js +25 -0
  478. package/dist/tools/confirmation/types.cjs +16 -0
  479. package/dist/tools/confirmation/types.d.cts +46 -0
  480. package/dist/tools/confirmation/types.d.ts +46 -0
  481. package/dist/tools/confirmation/types.js +0 -0
  482. package/dist/tools/error-codes.cjs +40 -0
  483. package/dist/tools/error-codes.d.cts +18 -0
  484. package/dist/tools/error-codes.d.ts +18 -0
  485. package/dist/tools/error-codes.js +16 -0
  486. package/dist/tools/errors.cjs +164 -0
  487. package/dist/tools/errors.d.cts +97 -0
  488. package/dist/tools/errors.d.ts +97 -0
  489. package/dist/tools/errors.js +140 -0
  490. package/dist/tools/index.cjs +37 -0
  491. package/dist/tools/index.d.cts +19 -0
  492. package/dist/tools/index.d.ts +19 -0
  493. package/dist/tools/index.js +8 -0
  494. package/dist/tools/internal-tools/implementations/search-history-tool.cjs +61 -0
  495. package/dist/tools/internal-tools/implementations/search-history-tool.d.cts +15 -0
  496. package/dist/tools/internal-tools/implementations/search-history-tool.d.ts +15 -0
  497. package/dist/tools/internal-tools/implementations/search-history-tool.js +37 -0
  498. package/dist/tools/internal-tools/index.cjs +24 -0
  499. package/dist/tools/internal-tools/index.d.cts +13 -0
  500. package/dist/tools/internal-tools/index.d.ts +13 -0
  501. package/dist/tools/internal-tools/index.js +2 -0
  502. package/dist/tools/internal-tools/provider.cjs +159 -0
  503. package/dist/tools/internal-tools/provider.d.cts +66 -0
  504. package/dist/tools/internal-tools/provider.d.ts +66 -0
  505. package/dist/tools/internal-tools/provider.js +135 -0
  506. package/dist/tools/internal-tools/registry.cjs +43 -0
  507. package/dist/tools/internal-tools/registry.d.cts +45 -0
  508. package/dist/tools/internal-tools/registry.d.ts +45 -0
  509. package/dist/tools/internal-tools/registry.js +17 -0
  510. package/dist/tools/schemas.cjs +45 -0
  511. package/dist/tools/schemas.d.cts +21 -0
  512. package/dist/tools/schemas.d.ts +21 -0
  513. package/dist/tools/schemas.js +20 -0
  514. package/dist/tools/tool-manager.cjs +275 -0
  515. package/dist/tools/tool-manager.d.cts +106 -0
  516. package/dist/tools/tool-manager.d.ts +106 -0
  517. package/dist/tools/tool-manager.js +251 -0
  518. package/dist/tools/types.cjs +16 -0
  519. package/dist/tools/types.d.cts +66 -0
  520. package/dist/tools/types.d.ts +66 -0
  521. package/dist/tools/types.js +0 -0
  522. package/dist/utils/api-key-resolver.cjs +62 -0
  523. package/dist/utils/api-key-resolver.d.cts +23 -0
  524. package/dist/utils/api-key-resolver.d.ts +23 -0
  525. package/dist/utils/api-key-resolver.js +36 -0
  526. package/dist/utils/api-key-store.cjs +56 -0
  527. package/dist/utils/api-key-store.d.cts +26 -0
  528. package/dist/utils/api-key-store.d.ts +26 -0
  529. package/dist/utils/api-key-store.js +30 -0
  530. package/dist/utils/env.cjs +154 -0
  531. package/dist/utils/env.d.cts +29 -0
  532. package/dist/utils/env.d.ts +29 -0
  533. package/dist/utils/env.js +118 -0
  534. package/dist/utils/error-conversion.cjs +53 -0
  535. package/dist/utils/error-conversion.d.cts +13 -0
  536. package/dist/utils/error-conversion.d.ts +13 -0
  537. package/dist/utils/error-conversion.js +29 -0
  538. package/dist/utils/execution-context.cjs +85 -0
  539. package/dist/utils/execution-context.d.cts +21 -0
  540. package/dist/utils/execution-context.d.ts +21 -0
  541. package/dist/utils/execution-context.js +49 -0
  542. package/dist/{chunk-MVKLS3LM.js → utils/fs-walk.cjs} +27 -18
  543. package/dist/utils/fs-walk.d.cts +9 -0
  544. package/dist/utils/fs-walk.d.ts +9 -0
  545. package/dist/utils/fs-walk.js +18 -0
  546. package/dist/utils/index.cjs +44 -0
  547. package/dist/utils/index.d.cts +63 -0
  548. package/dist/utils/index.d.ts +63 -0
  549. package/dist/utils/index.js +12 -0
  550. package/dist/utils/path.cjs +197 -0
  551. package/dist/utils/path.d.cts +54 -0
  552. package/dist/utils/path.d.ts +54 -0
  553. package/dist/utils/path.js +159 -0
  554. package/dist/utils/port-utils.cjs +37 -0
  555. package/dist/utils/port-utils.d.cts +11 -0
  556. package/dist/utils/port-utils.d.ts +11 -0
  557. package/dist/utils/port-utils.js +13 -0
  558. package/dist/utils/port-utils.spec.cjs +26 -0
  559. package/dist/utils/port-utils.spec.d.cts +2 -0
  560. package/dist/utils/port-utils.spec.d.ts +2 -0
  561. package/dist/utils/port-utils.spec.js +25 -0
  562. package/dist/utils/redactor.cjs +105 -0
  563. package/dist/utils/redactor.d.cts +18 -0
  564. package/dist/utils/redactor.d.ts +18 -0
  565. package/dist/utils/redactor.js +81 -0
  566. package/dist/utils/result.cjs +115 -0
  567. package/dist/utils/result.d.cts +180 -0
  568. package/dist/utils/result.d.ts +180 -0
  569. package/dist/utils/result.js +82 -0
  570. package/dist/utils/safe-stringify.cjs +57 -0
  571. package/dist/utils/safe-stringify.d.cts +7 -0
  572. package/dist/utils/safe-stringify.d.ts +7 -0
  573. package/dist/utils/safe-stringify.js +33 -0
  574. package/dist/utils/schema.cjs +42 -0
  575. package/dist/utils/schema.d.cts +6 -0
  576. package/dist/utils/schema.d.ts +6 -0
  577. package/dist/utils/schema.js +18 -0
  578. package/dist/utils/service-initializer.cjs +119 -0
  579. package/dist/utils/service-initializer.d.cts +63 -0
  580. package/dist/utils/service-initializer.d.ts +63 -0
  581. package/dist/utils/service-initializer.js +95 -0
  582. package/dist/utils/user-info.cjs +30 -0
  583. package/dist/utils/user-info.d.cts +3 -0
  584. package/dist/utils/user-info.d.ts +3 -0
  585. package/dist/utils/user-info.js +6 -0
  586. package/dist/utils/zod-schema-converter.cjs +112 -0
  587. package/dist/utils/zod-schema-converter.d.cts +13 -0
  588. package/dist/utils/zod-schema-converter.d.ts +13 -0
  589. package/dist/utils/zod-schema-converter.js +87 -0
  590. package/package.json +2 -2
  591. package/dist/chunk-D62MHQBE.js +0 -2203
  592. package/dist/chunk-FCJVTIBV.js +0 -535
  593. package/dist/chunk-TPERKLLN.js +0 -75
  594. package/dist/errors-ZZ4Z3FKB.js +0 -10
  595. package/dist/loader-HBNEYPQZ.js +0 -20
  596. package/dist/path-TP7WBDED.js +0 -21
  597. package/dist/registry-Z4DFXODW.js +0 -14
@@ -0,0 +1,159 @@
1
+ import * as path from "path";
2
+ import { existsSync } from "fs";
3
+ import { promises as fs } from "fs";
4
+ import { homedir } from "os";
5
+ import { createRequire } from "module";
6
+ import { fileURLToPath } from "url";
7
+ import { walkUpDirectories } from "./fs-walk.js";
8
+ import {
9
+ getExecutionContext,
10
+ findDextoSourceRoot,
11
+ findDextoProjectRoot
12
+ } from "./execution-context.js";
13
+ import { logger } from "../logger/index.js";
14
+ function getDextoPath(type, filename, startPath) {
15
+ const context = getExecutionContext(startPath);
16
+ let basePath;
17
+ switch (context) {
18
+ case "dexto-source": {
19
+ const sourceRoot = findDextoSourceRoot(startPath);
20
+ if (!sourceRoot) {
21
+ throw new Error("Not in dexto source context");
22
+ }
23
+ basePath = path.join(sourceRoot, ".dexto", type);
24
+ break;
25
+ }
26
+ case "dexto-project": {
27
+ const projectRoot = findDextoProjectRoot(startPath);
28
+ if (!projectRoot) {
29
+ throw new Error("Not in dexto project context");
30
+ }
31
+ basePath = path.join(projectRoot, ".dexto", type);
32
+ break;
33
+ }
34
+ case "global-cli": {
35
+ basePath = path.join(homedir(), ".dexto", type);
36
+ break;
37
+ }
38
+ default: {
39
+ throw new Error(`Unknown execution context: ${context}`);
40
+ }
41
+ }
42
+ return filename ? path.join(basePath, filename) : basePath;
43
+ }
44
+ function getDextoGlobalPath(type, filename) {
45
+ const basePath = path.join(homedir(), ".dexto", type);
46
+ return filename ? path.join(basePath, filename) : basePath;
47
+ }
48
+ async function copyDirectory(src, dest) {
49
+ await fs.mkdir(dest, { recursive: true });
50
+ const entries = await fs.readdir(src, { withFileTypes: true });
51
+ for (const entry of entries) {
52
+ const srcPath = path.join(src, entry.name);
53
+ const destPath = path.join(dest, entry.name);
54
+ if (entry.isDirectory()) {
55
+ await copyDirectory(srcPath, destPath);
56
+ } else {
57
+ await fs.copyFile(srcPath, destPath);
58
+ }
59
+ }
60
+ }
61
+ function isPath(str) {
62
+ if (path.isAbsolute(str)) return true;
63
+ if (/[\\/]/.test(str)) return true;
64
+ if (/\.(ya?ml|json)$/i.test(str)) return true;
65
+ return false;
66
+ }
67
+ function findPackageRoot(startPath = process.cwd()) {
68
+ return walkUpDirectories(startPath, (dirPath) => {
69
+ const pkgPath = path.join(dirPath, "package.json");
70
+ return existsSync(pkgPath);
71
+ });
72
+ }
73
+ function resolveBundledScript(scriptPath) {
74
+ const candidates = scriptPath.startsWith("dist/") ? [scriptPath, scriptPath.replace(/^dist\//, "")] : [`dist/${scriptPath}`, scriptPath];
75
+ const triedAbs = [];
76
+ const tryRoots = (roots) => {
77
+ for (const root of roots) {
78
+ if (!root) continue;
79
+ for (const rel of candidates) {
80
+ const abs = path.resolve(root, rel);
81
+ if (existsSync(abs)) return abs;
82
+ triedAbs.push(abs);
83
+ }
84
+ }
85
+ return null;
86
+ };
87
+ const envRoot = process?.env?.DEXTO_PACKAGE_ROOT;
88
+ const fromEnv = tryRoots([envRoot]);
89
+ if (fromEnv) return fromEnv;
90
+ try {
91
+ const require2 = createRequire(import.meta.url);
92
+ const pkgJson = require2.resolve("dexto/package.json");
93
+ const pkgRoot = path.dirname(pkgJson);
94
+ const fromPkg = tryRoots([pkgRoot]);
95
+ if (fromPkg) return fromPkg;
96
+ } catch {
97
+ }
98
+ try {
99
+ const thisModuleDir = path.dirname(fileURLToPath(import.meta.url));
100
+ const sourceRoot = findDextoSourceRoot(thisModuleDir);
101
+ const fromSource = tryRoots([sourceRoot ?? void 0]);
102
+ if (fromSource) return fromSource;
103
+ } catch {
104
+ }
105
+ const repoRoot = findPackageRoot();
106
+ const fromCwd = tryRoots([repoRoot ?? void 0]);
107
+ if (fromCwd) return fromCwd;
108
+ throw new Error(
109
+ `Bundled script not found: ${scriptPath} (tried absolute: ${triedAbs.join(", ")})`
110
+ );
111
+ }
112
+ async function ensureDextoGlobalDirectory() {
113
+ const dextoDir = path.join(homedir(), ".dexto");
114
+ try {
115
+ await fs.mkdir(dextoDir, { recursive: true });
116
+ } catch (error) {
117
+ if (error.code !== "EEXIST") {
118
+ throw error;
119
+ }
120
+ }
121
+ }
122
+ function getDextoEnvPath(startPath = process.cwd()) {
123
+ const context = getExecutionContext(startPath);
124
+ let envPath = "";
125
+ switch (context) {
126
+ case "dexto-source": {
127
+ const sourceRoot = findDextoSourceRoot(startPath);
128
+ if (!sourceRoot) {
129
+ throw new Error("Not in dexto source context");
130
+ }
131
+ envPath = path.join(sourceRoot, ".env");
132
+ break;
133
+ }
134
+ case "dexto-project": {
135
+ const projectRoot = findDextoProjectRoot(startPath);
136
+ if (!projectRoot) {
137
+ throw new Error("Not in dexto project context");
138
+ }
139
+ envPath = path.join(projectRoot, ".env");
140
+ break;
141
+ }
142
+ case "global-cli": {
143
+ envPath = path.join(homedir(), ".dexto", ".env");
144
+ break;
145
+ }
146
+ }
147
+ logger.debug(`Dexto env path: ${envPath}, context: ${context}`);
148
+ return envPath;
149
+ }
150
+ export {
151
+ copyDirectory,
152
+ ensureDextoGlobalDirectory,
153
+ findPackageRoot,
154
+ getDextoEnvPath,
155
+ getDextoGlobalPath,
156
+ getDextoPath,
157
+ isPath,
158
+ resolveBundledScript
159
+ };
@@ -0,0 +1,37 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+ var port_utils_exports = {};
20
+ __export(port_utils_exports, {
21
+ getPort: () => getPort
22
+ });
23
+ module.exports = __toCommonJS(port_utils_exports);
24
+ function getPort(envVar, defaultPort, varName) {
25
+ if (envVar === void 0) {
26
+ return defaultPort;
27
+ }
28
+ const port = parseInt(envVar, 10);
29
+ if (isNaN(port) || port <= 0 || port > 65535) {
30
+ throw new Error(`Environment variable ${varName} value "${envVar}" is not a valid port`);
31
+ }
32
+ return port;
33
+ }
34
+ // Annotate the CommonJS export names for ESM import in node:
35
+ 0 && (module.exports = {
36
+ getPort
37
+ });
@@ -0,0 +1,11 @@
1
+ /**
2
+ * Parse an environment variable as a port number, with validation.
3
+ * @param envVar - the string value from process.env
4
+ * @param defaultPort - fallback port if envVar is undefined
5
+ * @param varName - the name of the environment variable (used in error messages)
6
+ * @returns a valid port number
7
+ * @throws if envVar is set but not a valid port number
8
+ */
9
+ declare function getPort(envVar: string | undefined, defaultPort: number, varName: string): number;
10
+
11
+ export { getPort };
@@ -0,0 +1,11 @@
1
+ /**
2
+ * Parse an environment variable as a port number, with validation.
3
+ * @param envVar - the string value from process.env
4
+ * @param defaultPort - fallback port if envVar is undefined
5
+ * @param varName - the name of the environment variable (used in error messages)
6
+ * @returns a valid port number
7
+ * @throws if envVar is set but not a valid port number
8
+ */
9
+ declare function getPort(envVar: string | undefined, defaultPort: number, varName: string): number;
10
+
11
+ export { getPort };
@@ -0,0 +1,13 @@
1
+ function getPort(envVar, defaultPort, varName) {
2
+ if (envVar === void 0) {
3
+ return defaultPort;
4
+ }
5
+ const port = parseInt(envVar, 10);
6
+ if (isNaN(port) || port <= 0 || port > 65535) {
7
+ throw new Error(`Environment variable ${varName} value "${envVar}" is not a valid port`);
8
+ }
9
+ return port;
10
+ }
11
+ export {
12
+ getPort
13
+ };
@@ -0,0 +1,26 @@
1
+ "use strict";
2
+ var import_vitest = require("vitest");
3
+ var import_port_utils = require("./port-utils.js");
4
+ (0, import_vitest.describe)("getPort", () => {
5
+ (0, import_vitest.it)("returns default if envVar is undefined", () => {
6
+ (0, import_vitest.expect)((0, import_port_utils.getPort)(void 0, 3e3, "TEST")).toBe(3e3);
7
+ });
8
+ (0, import_vitest.it)("parses valid numeric string", () => {
9
+ (0, import_vitest.expect)((0, import_port_utils.getPort)("8080", 3e3, "TEST")).toBe(8080);
10
+ });
11
+ (0, import_vitest.it)("throws error for non-numeric string", () => {
12
+ (0, import_vitest.expect)(() => (0, import_port_utils.getPort)("not-a-number", 3e3, "TEST")).toThrow(
13
+ 'Environment variable TEST value "not-a-number" is not a valid port'
14
+ );
15
+ });
16
+ (0, import_vitest.it)("throws error for negative port", () => {
17
+ (0, import_vitest.expect)(() => (0, import_port_utils.getPort)("-1", 3e3, "TEST")).toThrow(
18
+ 'Environment variable TEST value "-1" is not a valid port'
19
+ );
20
+ });
21
+ (0, import_vitest.it)("throws error for port > 65535", () => {
22
+ (0, import_vitest.expect)(() => (0, import_port_utils.getPort)("70000", 3e3, "TEST")).toThrow(
23
+ 'Environment variable TEST value "70000" is not a valid port'
24
+ );
25
+ });
26
+ });
@@ -0,0 +1,2 @@
1
+
2
+ export { }
@@ -0,0 +1,2 @@
1
+
2
+ export { }
@@ -0,0 +1,25 @@
1
+ import { describe, it, expect } from "vitest";
2
+ import { getPort } from "./port-utils.js";
3
+ describe("getPort", () => {
4
+ it("returns default if envVar is undefined", () => {
5
+ expect(getPort(void 0, 3e3, "TEST")).toBe(3e3);
6
+ });
7
+ it("parses valid numeric string", () => {
8
+ expect(getPort("8080", 3e3, "TEST")).toBe(8080);
9
+ });
10
+ it("throws error for non-numeric string", () => {
11
+ expect(() => getPort("not-a-number", 3e3, "TEST")).toThrow(
12
+ 'Environment variable TEST value "not-a-number" is not a valid port'
13
+ );
14
+ });
15
+ it("throws error for negative port", () => {
16
+ expect(() => getPort("-1", 3e3, "TEST")).toThrow(
17
+ 'Environment variable TEST value "-1" is not a valid port'
18
+ );
19
+ });
20
+ it("throws error for port > 65535", () => {
21
+ expect(() => getPort("70000", 3e3, "TEST")).toThrow(
22
+ 'Environment variable TEST value "70000" is not a valid port'
23
+ );
24
+ });
25
+ });
@@ -0,0 +1,105 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+ var redactor_exports = {};
20
+ __export(redactor_exports, {
21
+ redactSensitiveData: () => redactSensitiveData
22
+ });
23
+ module.exports = __toCommonJS(redactor_exports);
24
+ const SENSITIVE_FIELDS = [
25
+ "apikey",
26
+ "api_key",
27
+ "token",
28
+ "access_token",
29
+ "refresh_token",
30
+ "password",
31
+ "secret"
32
+ ];
33
+ const FILE_DATA_FIELDS = [
34
+ "base64",
35
+ "filedata",
36
+ "file_data",
37
+ "imagedata",
38
+ "image_data",
39
+ "audiodata",
40
+ "audio_data",
41
+ "data"
42
+ ];
43
+ const SENSITIVE_PATTERNS = [
44
+ /\bsk-[A-Za-z0-9]{20,}\b/g,
45
+ // OpenAI API keys (at least 20 chars after sk-)
46
+ /\bBearer\s+[A-Za-z0-9\-_.=]+\b/gi,
47
+ // Bearer tokens
48
+ /\b[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,}\b/g,
49
+ // Emails
50
+ /\beyJ[A-Za-z0-9_-]*\.[A-Za-z0-9_-]*\.[A-Za-z0-9_-]*/g
51
+ // JWT tokens
52
+ ];
53
+ const REDACTED = "[REDACTED]";
54
+ const REDACTED_CIRCULAR = "[REDACTED_CIRCULAR]";
55
+ const FILE_DATA_TRUNCATED = "[FILE_DATA_TRUNCATED]";
56
+ function isLargeBase64Data(value) {
57
+ return value.length > 1e3 && /^[A-Za-z0-9+/=]{1000,}$/.test(value.substring(0, 1e3));
58
+ }
59
+ function truncateFileData(value, key, parent) {
60
+ if (typeof value !== "string") return value;
61
+ const lowerKey = key.toLowerCase();
62
+ const hasFileContext = !!parent && ("mimeType" in parent || "filename" in parent || "fileName" in parent);
63
+ const looksLikeFileField = FILE_DATA_FIELDS.includes(lowerKey) || lowerKey === "data" && hasFileContext;
64
+ if (looksLikeFileField && isLargeBase64Data(value)) {
65
+ return `${FILE_DATA_TRUNCATED} (${value.length} chars)`;
66
+ }
67
+ return value;
68
+ }
69
+ function redactSensitiveData(input, seen = /* @__PURE__ */ new WeakSet()) {
70
+ if (typeof input === "string") {
71
+ let result = input;
72
+ for (const pattern of SENSITIVE_PATTERNS) {
73
+ result = result.replace(pattern, REDACTED);
74
+ }
75
+ return result;
76
+ }
77
+ if (Array.isArray(input)) {
78
+ if (seen.has(input)) return REDACTED_CIRCULAR;
79
+ seen.add(input);
80
+ return input.map((item) => redactSensitiveData(item, seen));
81
+ }
82
+ if (input && typeof input === "object") {
83
+ if (seen.has(input)) return REDACTED_CIRCULAR;
84
+ seen.add(input);
85
+ const result = {};
86
+ for (const [key, value] of Object.entries(input)) {
87
+ if (SENSITIVE_FIELDS.includes(key.toLowerCase())) {
88
+ result[key] = REDACTED;
89
+ } else {
90
+ const truncatedValue = truncateFileData(
91
+ value,
92
+ key,
93
+ input
94
+ );
95
+ result[key] = redactSensitiveData(truncatedValue, seen);
96
+ }
97
+ }
98
+ return result;
99
+ }
100
+ return input;
101
+ }
102
+ // Annotate the CommonJS export names for ESM import in node:
103
+ 0 && (module.exports = {
104
+ redactSensitiveData
105
+ });
@@ -0,0 +1,18 @@
1
+ /**
2
+ * Utility to redact sensitive information from objects, arrays, and strings.
3
+ * - Redacts by field name (e.g., apiKey, token, password, etc.)
4
+ * - Redacts by value pattern (e.g., OpenAI keys, Bearer tokens, emails)
5
+ * - Handles deeply nested structures and circular references
6
+ * - Recursive and preserves structure
7
+ * - Easy to extend
8
+ */
9
+ /**
10
+ * Redacts sensitive data from an object, array, or string.
11
+ * Handles circular references gracefully.
12
+ * @param input - The data to redact
13
+ * @param seen - Internal set to track circular references
14
+ * @returns The redacted data
15
+ */
16
+ declare function redactSensitiveData(input: unknown, seen?: WeakSet<object>): unknown;
17
+
18
+ export { redactSensitiveData };
@@ -0,0 +1,18 @@
1
+ /**
2
+ * Utility to redact sensitive information from objects, arrays, and strings.
3
+ * - Redacts by field name (e.g., apiKey, token, password, etc.)
4
+ * - Redacts by value pattern (e.g., OpenAI keys, Bearer tokens, emails)
5
+ * - Handles deeply nested structures and circular references
6
+ * - Recursive and preserves structure
7
+ * - Easy to extend
8
+ */
9
+ /**
10
+ * Redacts sensitive data from an object, array, or string.
11
+ * Handles circular references gracefully.
12
+ * @param input - The data to redact
13
+ * @param seen - Internal set to track circular references
14
+ * @returns The redacted data
15
+ */
16
+ declare function redactSensitiveData(input: unknown, seen?: WeakSet<object>): unknown;
17
+
18
+ export { redactSensitiveData };
@@ -0,0 +1,81 @@
1
+ const SENSITIVE_FIELDS = [
2
+ "apikey",
3
+ "api_key",
4
+ "token",
5
+ "access_token",
6
+ "refresh_token",
7
+ "password",
8
+ "secret"
9
+ ];
10
+ const FILE_DATA_FIELDS = [
11
+ "base64",
12
+ "filedata",
13
+ "file_data",
14
+ "imagedata",
15
+ "image_data",
16
+ "audiodata",
17
+ "audio_data",
18
+ "data"
19
+ ];
20
+ const SENSITIVE_PATTERNS = [
21
+ /\bsk-[A-Za-z0-9]{20,}\b/g,
22
+ // OpenAI API keys (at least 20 chars after sk-)
23
+ /\bBearer\s+[A-Za-z0-9\-_.=]+\b/gi,
24
+ // Bearer tokens
25
+ /\b[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,}\b/g,
26
+ // Emails
27
+ /\beyJ[A-Za-z0-9_-]*\.[A-Za-z0-9_-]*\.[A-Za-z0-9_-]*/g
28
+ // JWT tokens
29
+ ];
30
+ const REDACTED = "[REDACTED]";
31
+ const REDACTED_CIRCULAR = "[REDACTED_CIRCULAR]";
32
+ const FILE_DATA_TRUNCATED = "[FILE_DATA_TRUNCATED]";
33
+ function isLargeBase64Data(value) {
34
+ return value.length > 1e3 && /^[A-Za-z0-9+/=]{1000,}$/.test(value.substring(0, 1e3));
35
+ }
36
+ function truncateFileData(value, key, parent) {
37
+ if (typeof value !== "string") return value;
38
+ const lowerKey = key.toLowerCase();
39
+ const hasFileContext = !!parent && ("mimeType" in parent || "filename" in parent || "fileName" in parent);
40
+ const looksLikeFileField = FILE_DATA_FIELDS.includes(lowerKey) || lowerKey === "data" && hasFileContext;
41
+ if (looksLikeFileField && isLargeBase64Data(value)) {
42
+ return `${FILE_DATA_TRUNCATED} (${value.length} chars)`;
43
+ }
44
+ return value;
45
+ }
46
+ function redactSensitiveData(input, seen = /* @__PURE__ */ new WeakSet()) {
47
+ if (typeof input === "string") {
48
+ let result = input;
49
+ for (const pattern of SENSITIVE_PATTERNS) {
50
+ result = result.replace(pattern, REDACTED);
51
+ }
52
+ return result;
53
+ }
54
+ if (Array.isArray(input)) {
55
+ if (seen.has(input)) return REDACTED_CIRCULAR;
56
+ seen.add(input);
57
+ return input.map((item) => redactSensitiveData(item, seen));
58
+ }
59
+ if (input && typeof input === "object") {
60
+ if (seen.has(input)) return REDACTED_CIRCULAR;
61
+ seen.add(input);
62
+ const result = {};
63
+ for (const [key, value] of Object.entries(input)) {
64
+ if (SENSITIVE_FIELDS.includes(key.toLowerCase())) {
65
+ result[key] = REDACTED;
66
+ } else {
67
+ const truncatedValue = truncateFileData(
68
+ value,
69
+ key,
70
+ input
71
+ );
72
+ result[key] = redactSensitiveData(truncatedValue, seen);
73
+ }
74
+ }
75
+ return result;
76
+ }
77
+ return input;
78
+ }
79
+ export {
80
+ redactSensitiveData
81
+ };
@@ -0,0 +1,115 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+ var result_exports = {};
20
+ __export(result_exports, {
21
+ EnvExpandedString: () => EnvExpandedString,
22
+ NonEmptyEnvExpandedString: () => NonEmptyEnvExpandedString,
23
+ NonEmptyTrimmed: () => NonEmptyTrimmed,
24
+ OptionalURL: () => OptionalURL,
25
+ RequiredEnvURL: () => RequiredEnvURL,
26
+ fail: () => fail,
27
+ hasErrors: () => hasErrors,
28
+ ok: () => ok,
29
+ splitIssues: () => splitIssues,
30
+ zodToIssues: () => zodToIssues
31
+ });
32
+ module.exports = __toCommonJS(result_exports);
33
+ var import_zod = require("zod");
34
+ var import_types = require("../errors/types.cjs");
35
+ const NonEmptyTrimmed = import_zod.z.string().transform((s) => s.trim()).refine((s) => s.length > 0, { message: "Required" });
36
+ function isValidUrl(s) {
37
+ try {
38
+ const u = new URL(s);
39
+ return u.protocol === "http:" || u.protocol === "https:";
40
+ } catch {
41
+ return false;
42
+ }
43
+ }
44
+ const OptionalURL = import_zod.z.string().transform((s) => s.trim()).refine((s) => s === "" || isValidUrl(s), { message: "Invalid URL" }).transform((s) => s === "" ? void 0 : s).optional();
45
+ const EnvExpandedString = (env) => import_zod.z.string().transform((input) => {
46
+ if (typeof input !== "string") return "";
47
+ const envToUse = env ?? process.env;
48
+ const out = input.replace(
49
+ /\$([A-Z_][A-Z0-9_]*)|\${([A-Z_][A-Z0-9_]*)}/gi,
50
+ (_, a, b) => envToUse[a || b] ?? ""
51
+ );
52
+ return out.trim();
53
+ });
54
+ const NonEmptyEnvExpandedString = (env) => EnvExpandedString(env).refine((s) => s.length > 0, {
55
+ message: "Value is required"
56
+ });
57
+ const RequiredEnvURL = (env) => EnvExpandedString(env).refine(
58
+ (s) => {
59
+ try {
60
+ const u = new URL(s);
61
+ return u.protocol === "http:" || u.protocol === "https:";
62
+ } catch {
63
+ return false;
64
+ }
65
+ },
66
+ { message: "Invalid URL" }
67
+ );
68
+ const ok = (data, issues = []) => ({
69
+ ok: true,
70
+ data,
71
+ issues
72
+ // warnings live alongside errors here
73
+ });
74
+ const fail = (issues) => ({
75
+ ok: false,
76
+ issues
77
+ });
78
+ function hasErrors(issues) {
79
+ return issues.some((i) => i.severity !== "warning");
80
+ }
81
+ function splitIssues(issues) {
82
+ return {
83
+ errors: issues.filter((i) => i.severity !== "warning"),
84
+ warnings: issues.filter((i) => i.severity === "warning")
85
+ };
86
+ }
87
+ function zodToIssues(err, severity = "error") {
88
+ return err.errors.map((e) => {
89
+ const params = e.params || {};
90
+ return {
91
+ code: params.code ?? "schema_validation",
92
+ message: e.message,
93
+ scope: params.scope ?? import_types.ErrorScope.AGENT,
94
+ // Fallback for non-custom Zod errors
95
+ // Treat plain Zod schema failures as USER errors by default
96
+ type: params.type ?? import_types.ErrorType.USER,
97
+ path: e.path,
98
+ severity,
99
+ context: params
100
+ };
101
+ });
102
+ }
103
+ // Annotate the CommonJS export names for ESM import in node:
104
+ 0 && (module.exports = {
105
+ EnvExpandedString,
106
+ NonEmptyEnvExpandedString,
107
+ NonEmptyTrimmed,
108
+ OptionalURL,
109
+ RequiredEnvURL,
110
+ fail,
111
+ hasErrors,
112
+ ok,
113
+ splitIssues,
114
+ zodToIssues
115
+ });