@dexto/core 1.2.4 → 1.2.5

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 (523) hide show
  1. package/README.md +60 -0
  2. package/dist/agent/DextoAgent.cjs +579 -345
  3. package/dist/agent/DextoAgent.d.ts +131 -83
  4. package/dist/agent/DextoAgent.d.ts.map +1 -1
  5. package/dist/agent/DextoAgent.js +573 -336
  6. package/dist/agent/agentCard.cjs +4 -2
  7. package/dist/agent/agentCard.d.ts +0 -1
  8. package/dist/agent/agentCard.d.ts.map +1 -1
  9. package/dist/agent/agentCard.js +4 -2
  10. package/dist/agent/index.cjs +3 -7
  11. package/dist/agent/index.d.ts +3 -3
  12. package/dist/agent/index.d.ts.map +1 -1
  13. package/dist/agent/index.js +7 -6
  14. package/dist/agent/schemas.cjs +164 -64
  15. package/dist/agent/schemas.d.ts +2605 -517
  16. package/dist/agent/schemas.d.ts.map +1 -1
  17. package/dist/agent/schemas.js +167 -64
  18. package/dist/agent/state-manager.cjs +28 -23
  19. package/dist/agent/state-manager.d.ts +4 -1
  20. package/dist/agent/state-manager.d.ts.map +1 -1
  21. package/dist/agent/state-manager.js +28 -23
  22. package/dist/{preferences/constants.cjs → agent/types.cjs} +2 -14
  23. package/dist/agent/types.d.ts +54 -0
  24. package/dist/agent/types.d.ts.map +1 -0
  25. package/dist/agent/types.js +0 -0
  26. package/dist/approval/errors.cjs +89 -8
  27. package/dist/approval/errors.d.ts +5 -3
  28. package/dist/approval/errors.d.ts.map +1 -1
  29. package/dist/approval/errors.js +89 -8
  30. package/dist/approval/{providers/factory.d.ts → factory.d.ts} +2 -2
  31. package/dist/approval/factory.d.ts.map +1 -0
  32. package/dist/approval/{providers/factory.js → factory.js} +1 -1
  33. package/dist/approval/index.cjs +4 -6
  34. package/dist/approval/index.d.ts +3 -5
  35. package/dist/approval/index.d.ts.map +1 -1
  36. package/dist/approval/index.js +4 -5
  37. package/dist/approval/manager.cjs +140 -37
  38. package/dist/approval/manager.d.ts +56 -17
  39. package/dist/approval/manager.d.ts.map +1 -1
  40. package/dist/approval/manager.js +141 -38
  41. package/dist/approval/schemas.cjs +9 -1
  42. package/dist/approval/schemas.d.ts +120 -35
  43. package/dist/approval/schemas.d.ts.map +1 -1
  44. package/dist/approval/schemas.js +9 -2
  45. package/dist/approval/types.cjs +14 -2
  46. package/dist/approval/types.d.ts +64 -12
  47. package/dist/approval/types.d.ts.map +1 -1
  48. package/dist/approval/types.js +12 -1
  49. package/dist/context/compression/middle-removal.cjs +11 -11
  50. package/dist/context/compression/middle-removal.d.ts +3 -1
  51. package/dist/context/compression/middle-removal.d.ts.map +1 -1
  52. package/dist/context/compression/middle-removal.js +11 -11
  53. package/dist/context/compression/oldest-removal.cjs +18 -5
  54. package/dist/context/compression/oldest-removal.d.ts +3 -1
  55. package/dist/context/compression/oldest-removal.d.ts.map +1 -1
  56. package/dist/context/compression/oldest-removal.js +18 -5
  57. package/dist/context/manager.cjs +94 -67
  58. package/dist/context/manager.d.ts +13 -10
  59. package/dist/context/manager.d.ts.map +1 -1
  60. package/dist/context/manager.js +94 -67
  61. package/dist/context/utils.cjs +79 -65
  62. package/dist/context/utils.d.ts +15 -12
  63. package/dist/context/utils.d.ts.map +1 -1
  64. package/dist/context/utils.js +45 -31
  65. package/dist/errors/DextoRuntimeError.d.ts +5 -5
  66. package/dist/errors/DextoRuntimeError.d.ts.map +1 -1
  67. package/dist/errors/result-bridge.cjs +2 -3
  68. package/dist/errors/result-bridge.d.ts +5 -3
  69. package/dist/errors/result-bridge.d.ts.map +1 -1
  70. package/dist/errors/result-bridge.js +1 -2
  71. package/dist/errors/types.cjs +1 -2
  72. package/dist/errors/types.d.ts +5 -8
  73. package/dist/errors/types.d.ts.map +1 -1
  74. package/dist/errors/types.js +1 -2
  75. package/dist/events/index.cjs +125 -55
  76. package/dist/events/index.d.ts +204 -97
  77. package/dist/events/index.d.ts.map +1 -1
  78. package/dist/events/index.js +123 -55
  79. package/dist/filesystem/filesystem-service.cjs +40 -30
  80. package/dist/filesystem/filesystem-service.d.ts +9 -1
  81. package/dist/filesystem/filesystem-service.d.ts.map +1 -1
  82. package/dist/filesystem/filesystem-service.js +40 -30
  83. package/dist/filesystem/path-validator.cjs +4 -3
  84. package/dist/filesystem/path-validator.d.ts +3 -1
  85. package/dist/filesystem/path-validator.d.ts.map +1 -1
  86. package/dist/filesystem/path-validator.js +4 -3
  87. package/dist/filesystem/types.d.ts +3 -3
  88. package/dist/filesystem/types.d.ts.map +1 -1
  89. package/dist/index.browser.cjs +7 -0
  90. package/dist/index.browser.d.ts +2 -0
  91. package/dist/index.browser.d.ts.map +1 -1
  92. package/dist/index.browser.js +4 -0
  93. package/dist/index.cjs +0 -7
  94. package/dist/index.d.ts +12 -3
  95. package/dist/index.d.ts.map +1 -1
  96. package/dist/index.js +0 -4
  97. package/dist/llm/formatters/anthropic.cjs +32 -21
  98. package/dist/llm/formatters/anthropic.d.ts +3 -0
  99. package/dist/llm/formatters/anthropic.d.ts.map +1 -1
  100. package/dist/llm/formatters/anthropic.js +32 -21
  101. package/dist/llm/formatters/factory.cjs +6 -7
  102. package/dist/llm/formatters/factory.d.ts +2 -1
  103. package/dist/llm/formatters/factory.d.ts.map +1 -1
  104. package/dist/llm/formatters/factory.js +4 -5
  105. package/dist/llm/formatters/openai.cjs +38 -9
  106. package/dist/llm/formatters/openai.d.ts +3 -0
  107. package/dist/llm/formatters/openai.d.ts.map +1 -1
  108. package/dist/llm/formatters/openai.js +38 -9
  109. package/dist/llm/formatters/vercel.cjs +49 -8
  110. package/dist/llm/formatters/vercel.d.ts +3 -0
  111. package/dist/llm/formatters/vercel.d.ts.map +1 -1
  112. package/dist/llm/formatters/vercel.js +49 -8
  113. package/dist/llm/registry.cjs +153 -17
  114. package/dist/llm/registry.d.ts +5 -2
  115. package/dist/llm/registry.d.ts.map +1 -1
  116. package/dist/llm/registry.js +143 -7
  117. package/dist/llm/resolver.cjs +4 -4
  118. package/dist/llm/resolver.d.ts +3 -2
  119. package/dist/llm/resolver.d.ts.map +1 -1
  120. package/dist/llm/resolver.js +4 -4
  121. package/dist/llm/schemas.cjs +6 -3
  122. package/dist/llm/schemas.d.ts +51 -17
  123. package/dist/llm/schemas.d.ts.map +1 -1
  124. package/dist/llm/schemas.js +5 -3
  125. package/dist/llm/services/anthropic.cjs +216 -183
  126. package/dist/llm/services/anthropic.d.ts +3 -1
  127. package/dist/llm/services/anthropic.d.ts.map +1 -1
  128. package/dist/llm/services/anthropic.js +217 -184
  129. package/dist/llm/services/factory.cjs +15 -9
  130. package/dist/llm/services/factory.d.ts +2 -1
  131. package/dist/llm/services/factory.d.ts.map +1 -1
  132. package/dist/llm/services/factory.js +15 -9
  133. package/dist/llm/services/openai.cjs +262 -225
  134. package/dist/llm/services/openai.d.ts +3 -1
  135. package/dist/llm/services/openai.d.ts.map +1 -1
  136. package/dist/llm/services/openai.js +263 -226
  137. package/dist/llm/services/test-utils.integration.cjs +58 -12
  138. package/dist/llm/services/test-utils.integration.d.ts.map +1 -1
  139. package/dist/llm/services/test-utils.integration.js +58 -12
  140. package/dist/llm/services/types.d.ts +9 -0
  141. package/dist/llm/services/types.d.ts.map +1 -1
  142. package/dist/llm/services/vercel.cjs +163 -111
  143. package/dist/llm/services/vercel.d.ts +3 -1
  144. package/dist/llm/services/vercel.d.ts.map +1 -1
  145. package/dist/llm/services/vercel.js +157 -105
  146. package/dist/llm/tokenizer/factory.cjs +2 -2
  147. package/dist/llm/tokenizer/factory.d.ts +3 -1
  148. package/dist/llm/tokenizer/factory.d.ts.map +1 -1
  149. package/dist/llm/tokenizer/factory.js +2 -2
  150. package/dist/llm/tokenizer/openai.cjs +16 -9
  151. package/dist/llm/tokenizer/openai.d.ts +4 -1
  152. package/dist/llm/tokenizer/openai.d.ts.map +1 -1
  153. package/dist/llm/tokenizer/openai.js +16 -9
  154. package/dist/llm/validation.cjs +8 -9
  155. package/dist/llm/validation.d.ts +3 -1
  156. package/dist/llm/validation.d.ts.map +1 -1
  157. package/dist/llm/validation.js +5 -6
  158. package/dist/logger/factory.cjs +54 -0
  159. package/dist/logger/factory.d.ts +36 -0
  160. package/dist/logger/factory.d.ts.map +1 -0
  161. package/dist/logger/factory.js +31 -0
  162. package/dist/logger/index.cjs +42 -3
  163. package/dist/logger/index.d.ts +17 -1
  164. package/dist/logger/index.d.ts.map +1 -1
  165. package/dist/logger/index.js +26 -1
  166. package/dist/logger/logger.cjs +30 -17
  167. package/dist/logger/logger.d.ts.map +1 -1
  168. package/dist/logger/logger.js +30 -17
  169. package/dist/logger/v2/dexto-logger.cjs +141 -0
  170. package/dist/logger/v2/dexto-logger.d.ts +54 -0
  171. package/dist/logger/v2/dexto-logger.d.ts.map +1 -0
  172. package/dist/logger/v2/dexto-logger.js +118 -0
  173. package/dist/{preferences → logger/v2}/error-codes.cjs +11 -10
  174. package/dist/logger/v2/error-codes.d.ts +13 -0
  175. package/dist/logger/v2/error-codes.d.ts.map +1 -0
  176. package/dist/logger/v2/error-codes.js +13 -0
  177. package/dist/logger/v2/errors.cjs +107 -0
  178. package/dist/logger/v2/errors.d.ts +32 -0
  179. package/dist/logger/v2/errors.d.ts.map +1 -0
  180. package/dist/logger/v2/errors.js +84 -0
  181. package/dist/logger/v2/schemas.cjs +57 -0
  182. package/dist/logger/v2/schemas.d.ts +147 -0
  183. package/dist/logger/v2/schemas.d.ts.map +1 -0
  184. package/dist/logger/v2/schemas.js +33 -0
  185. package/dist/logger/v2/transport-factory.cjs +53 -0
  186. package/dist/logger/v2/transport-factory.d.ts +21 -0
  187. package/dist/logger/v2/transport-factory.d.ts.map +1 -0
  188. package/dist/logger/v2/transport-factory.js +29 -0
  189. package/dist/logger/v2/transports/console-transport.cjs +79 -0
  190. package/dist/logger/v2/transports/console-transport.d.ts +23 -0
  191. package/dist/logger/v2/transports/console-transport.d.ts.map +1 -0
  192. package/dist/logger/v2/transports/console-transport.js +46 -0
  193. package/dist/logger/v2/transports/file-transport.cjs +161 -0
  194. package/dist/logger/v2/transports/file-transport.d.ts +46 -0
  195. package/dist/logger/v2/transports/file-transport.d.ts.map +1 -0
  196. package/dist/logger/v2/transports/file-transport.js +128 -0
  197. package/dist/logger/v2/types.cjs +49 -0
  198. package/dist/logger/v2/types.d.ts +123 -0
  199. package/dist/logger/v2/types.d.ts.map +1 -0
  200. package/dist/logger/v2/types.js +26 -0
  201. package/dist/mcp/manager.cjs +88 -78
  202. package/dist/mcp/manager.d.ts +3 -1
  203. package/dist/mcp/manager.d.ts.map +1 -1
  204. package/dist/mcp/manager.js +88 -78
  205. package/dist/mcp/mcp-client.cjs +109 -79
  206. package/dist/mcp/mcp-client.d.ts +3 -0
  207. package/dist/mcp/mcp-client.d.ts.map +1 -1
  208. package/dist/mcp/mcp-client.js +102 -72
  209. package/dist/memory/manager.cjs +9 -7
  210. package/dist/memory/manager.d.ts +3 -1
  211. package/dist/memory/manager.d.ts.map +1 -1
  212. package/dist/memory/manager.js +9 -7
  213. package/dist/memory/schemas.d.ts +6 -6
  214. package/dist/plugins/manager.cjs +21 -19
  215. package/dist/plugins/manager.d.ts +3 -1
  216. package/dist/plugins/manager.d.ts.map +1 -1
  217. package/dist/plugins/manager.js +21 -19
  218. package/dist/plugins/schemas.d.ts +9 -9
  219. package/dist/plugins/types.d.ts +2 -2
  220. package/dist/plugins/types.d.ts.map +1 -1
  221. package/dist/process/command-validator.cjs +30 -20
  222. package/dist/process/command-validator.d.ts +4 -1
  223. package/dist/process/command-validator.d.ts.map +1 -1
  224. package/dist/process/command-validator.js +30 -20
  225. package/dist/process/process-service.cjs +23 -21
  226. package/dist/process/process-service.d.ts +3 -1
  227. package/dist/process/process-service.d.ts.map +1 -1
  228. package/dist/process/process-service.js +23 -21
  229. package/dist/prompts/prompt-manager.cjs +25 -18
  230. package/dist/prompts/prompt-manager.d.ts +3 -1
  231. package/dist/prompts/prompt-manager.d.ts.map +1 -1
  232. package/dist/prompts/prompt-manager.js +25 -18
  233. package/dist/prompts/providers/custom-prompt-provider.cjs +11 -7
  234. package/dist/prompts/providers/custom-prompt-provider.d.ts +3 -1
  235. package/dist/prompts/providers/custom-prompt-provider.d.ts.map +1 -1
  236. package/dist/prompts/providers/custom-prompt-provider.js +11 -7
  237. package/dist/prompts/providers/file-prompt-provider.cjs +14 -12
  238. package/dist/prompts/providers/file-prompt-provider.d.ts +3 -1
  239. package/dist/prompts/providers/file-prompt-provider.d.ts.map +1 -1
  240. package/dist/prompts/providers/file-prompt-provider.js +14 -12
  241. package/dist/prompts/providers/mcp-prompt-provider.cjs +7 -6
  242. package/dist/prompts/providers/mcp-prompt-provider.d.ts +3 -1
  243. package/dist/prompts/providers/mcp-prompt-provider.d.ts.map +1 -1
  244. package/dist/prompts/providers/mcp-prompt-provider.js +7 -6
  245. package/dist/prompts/providers/starter-prompt-provider.cjs +7 -5
  246. package/dist/prompts/providers/starter-prompt-provider.d.ts +3 -1
  247. package/dist/prompts/providers/starter-prompt-provider.d.ts.map +1 -1
  248. package/dist/prompts/providers/starter-prompt-provider.js +7 -5
  249. package/dist/prompts/schemas.d.ts +3 -3
  250. package/dist/resources/handlers/blob-handler.cjs +15 -11
  251. package/dist/resources/handlers/blob-handler.d.ts +3 -1
  252. package/dist/resources/handlers/blob-handler.d.ts.map +1 -1
  253. package/dist/resources/handlers/blob-handler.js +15 -11
  254. package/dist/resources/handlers/factory.cjs +3 -3
  255. package/dist/resources/handlers/factory.d.ts +2 -1
  256. package/dist/resources/handlers/factory.d.ts.map +1 -1
  257. package/dist/resources/handlers/factory.js +3 -3
  258. package/dist/resources/handlers/filesystem-handler.cjs +10 -8
  259. package/dist/resources/handlers/filesystem-handler.d.ts +3 -1
  260. package/dist/resources/handlers/filesystem-handler.d.ts.map +1 -1
  261. package/dist/resources/handlers/filesystem-handler.js +10 -8
  262. package/dist/resources/internal-provider.cjs +28 -20
  263. package/dist/resources/internal-provider.d.ts +3 -1
  264. package/dist/resources/internal-provider.d.ts.map +1 -1
  265. package/dist/resources/internal-provider.js +28 -20
  266. package/dist/resources/manager.cjs +34 -25
  267. package/dist/resources/manager.d.ts +3 -1
  268. package/dist/resources/manager.d.ts.map +1 -1
  269. package/dist/resources/manager.js +34 -25
  270. package/dist/resources/schemas.d.ts +6 -6
  271. package/dist/search/search-service.cjs +8 -6
  272. package/dist/search/search-service.d.ts +3 -1
  273. package/dist/search/search-service.d.ts.map +1 -1
  274. package/dist/search/search-service.js +8 -6
  275. package/dist/session/chat-session.cjs +40 -27
  276. package/dist/session/chat-session.d.ts +10 -7
  277. package/dist/session/chat-session.d.ts.map +1 -1
  278. package/dist/session/chat-session.js +40 -27
  279. package/dist/session/history/database.cjs +18 -11
  280. package/dist/session/history/database.d.ts +3 -1
  281. package/dist/session/history/database.d.ts.map +1 -1
  282. package/dist/session/history/database.js +18 -11
  283. package/dist/session/history/factory.cjs +2 -2
  284. package/dist/session/history/factory.d.ts +5 -1
  285. package/dist/session/history/factory.d.ts.map +1 -1
  286. package/dist/session/history/factory.js +2 -2
  287. package/dist/session/session-manager.cjs +37 -53
  288. package/dist/session/session-manager.d.ts +3 -17
  289. package/dist/session/session-manager.d.ts.map +1 -1
  290. package/dist/session/session-manager.js +37 -53
  291. package/dist/session/title-generator.cjs +3 -2
  292. package/dist/session/title-generator.d.ts +2 -1
  293. package/dist/session/title-generator.d.ts.map +1 -1
  294. package/dist/session/title-generator.js +3 -2
  295. package/dist/storage/blob/factory.cjs +9 -18
  296. package/dist/storage/blob/factory.d.ts +5 -4
  297. package/dist/storage/blob/factory.d.ts.map +1 -1
  298. package/dist/storage/blob/factory.js +8 -17
  299. package/dist/storage/blob/local-blob-store.cjs +25 -32
  300. package/dist/storage/blob/local-blob-store.d.ts +3 -2
  301. package/dist/storage/blob/local-blob-store.d.ts.map +1 -1
  302. package/dist/storage/blob/local-blob-store.js +25 -32
  303. package/dist/storage/blob/memory-blob-store.cjs +326 -0
  304. package/dist/storage/blob/memory-blob-store.d.ts +66 -0
  305. package/dist/storage/blob/memory-blob-store.d.ts.map +1 -0
  306. package/dist/storage/blob/memory-blob-store.js +303 -0
  307. package/dist/storage/blob/schemas.cjs +3 -1
  308. package/dist/storage/blob/schemas.d.ts +6 -6
  309. package/dist/storage/blob/schemas.d.ts.map +1 -1
  310. package/dist/storage/blob/schemas.js +3 -1
  311. package/dist/storage/cache/factory.cjs +7 -8
  312. package/dist/storage/cache/factory.d.ts +4 -1
  313. package/dist/storage/cache/factory.d.ts.map +1 -1
  314. package/dist/storage/cache/factory.js +4 -5
  315. package/dist/storage/cache/redis-store.cjs +4 -1
  316. package/dist/storage/cache/redis-store.d.ts +3 -1
  317. package/dist/storage/cache/redis-store.d.ts.map +1 -1
  318. package/dist/storage/cache/redis-store.js +4 -1
  319. package/dist/storage/database/factory.cjs +13 -16
  320. package/dist/storage/database/factory.d.ts +5 -3
  321. package/dist/storage/database/factory.d.ts.map +1 -1
  322. package/dist/storage/database/factory.js +9 -12
  323. package/dist/storage/database/postgres-store.cjs +4 -1
  324. package/dist/storage/database/postgres-store.d.ts +3 -1
  325. package/dist/storage/database/postgres-store.d.ts.map +1 -1
  326. package/dist/storage/database/postgres-store.js +4 -1
  327. package/dist/storage/database/schemas.cjs +3 -4
  328. package/dist/storage/database/schemas.d.ts +8 -16
  329. package/dist/storage/database/schemas.d.ts.map +1 -1
  330. package/dist/storage/database/schemas.js +3 -4
  331. package/dist/storage/database/sqlite-store.cjs +17 -45
  332. package/dist/storage/database/sqlite-store.d.ts +3 -3
  333. package/dist/storage/database/sqlite-store.d.ts.map +1 -1
  334. package/dist/storage/database/sqlite-store.js +17 -45
  335. package/dist/storage/schemas.cjs +3 -1
  336. package/dist/storage/schemas.d.ts +16 -23
  337. package/dist/storage/schemas.d.ts.map +1 -1
  338. package/dist/storage/schemas.js +3 -1
  339. package/dist/storage/storage-manager.cjs +15 -15
  340. package/dist/storage/storage-manager.d.ts +6 -6
  341. package/dist/storage/storage-manager.d.ts.map +1 -1
  342. package/dist/storage/storage-manager.js +15 -15
  343. package/dist/systemPrompt/contributors.cjs +15 -15
  344. package/dist/systemPrompt/contributors.d.ts +5 -3
  345. package/dist/systemPrompt/contributors.d.ts.map +1 -1
  346. package/dist/systemPrompt/contributors.js +15 -15
  347. package/dist/systemPrompt/manager.cjs +11 -8
  348. package/dist/systemPrompt/manager.d.ts +4 -2
  349. package/dist/systemPrompt/manager.d.ts.map +1 -1
  350. package/dist/systemPrompt/manager.js +11 -8
  351. package/dist/systemPrompt/schemas.cjs +21 -1
  352. package/dist/systemPrompt/schemas.d.ts +53 -53
  353. package/dist/systemPrompt/schemas.d.ts.map +1 -1
  354. package/dist/systemPrompt/schemas.js +11 -1
  355. package/dist/telemetry/decorators.cjs +54 -15
  356. package/dist/telemetry/decorators.d.ts.map +1 -1
  357. package/dist/telemetry/decorators.js +54 -15
  358. package/dist/telemetry/utils.cjs +21 -14
  359. package/dist/telemetry/utils.d.ts +7 -3
  360. package/dist/telemetry/utils.d.ts.map +1 -1
  361. package/dist/telemetry/utils.js +21 -14
  362. package/dist/tools/confirmation/allowed-tools-provider/factory.cjs +2 -2
  363. package/dist/tools/confirmation/allowed-tools-provider/factory.d.ts +2 -1
  364. package/dist/tools/confirmation/allowed-tools-provider/factory.d.ts.map +1 -1
  365. package/dist/tools/confirmation/allowed-tools-provider/factory.js +2 -2
  366. package/dist/tools/confirmation/allowed-tools-provider/storage.cjs +7 -6
  367. package/dist/tools/confirmation/allowed-tools-provider/storage.d.ts +3 -1
  368. package/dist/tools/confirmation/allowed-tools-provider/storage.d.ts.map +1 -1
  369. package/dist/tools/confirmation/allowed-tools-provider/storage.js +7 -6
  370. package/dist/tools/errors.cjs +2 -1
  371. package/dist/tools/errors.d.ts.map +1 -1
  372. package/dist/tools/errors.js +2 -1
  373. package/dist/tools/internal-tools/constants.cjs +2 -1
  374. package/dist/tools/internal-tools/constants.d.ts +1 -1
  375. package/dist/tools/internal-tools/constants.d.ts.map +1 -1
  376. package/dist/tools/internal-tools/constants.js +2 -1
  377. package/dist/tools/internal-tools/implementations/bash-exec-tool.cjs +1 -1
  378. package/dist/tools/internal-tools/implementations/bash-exec-tool.js +1 -1
  379. package/dist/tools/internal-tools/implementations/delegate-to-url-tool.cjs +192 -0
  380. package/dist/tools/internal-tools/implementations/delegate-to-url-tool.d.ts +33 -0
  381. package/dist/tools/internal-tools/implementations/delegate-to-url-tool.d.ts.map +1 -0
  382. package/dist/tools/internal-tools/implementations/delegate-to-url-tool.js +169 -0
  383. package/dist/tools/internal-tools/provider.cjs +21 -17
  384. package/dist/tools/internal-tools/provider.d.ts +3 -1
  385. package/dist/tools/internal-tools/provider.d.ts.map +1 -1
  386. package/dist/tools/internal-tools/provider.js +21 -17
  387. package/dist/tools/internal-tools/registry.cjs +5 -0
  388. package/dist/tools/internal-tools/registry.d.ts.map +1 -1
  389. package/dist/tools/internal-tools/registry.js +5 -0
  390. package/dist/tools/schemas.cjs +16 -4
  391. package/dist/tools/schemas.d.ts +21 -9
  392. package/dist/tools/schemas.d.ts.map +1 -1
  393. package/dist/tools/schemas.js +15 -4
  394. package/dist/tools/tool-manager.cjs +64 -47
  395. package/dist/tools/tool-manager.d.ts +4 -2
  396. package/dist/tools/tool-manager.d.ts.map +1 -1
  397. package/dist/tools/tool-manager.js +61 -44
  398. package/dist/tools/types.d.ts +0 -4
  399. package/dist/tools/types.d.ts.map +1 -1
  400. package/dist/utils/env-file.cjs +118 -0
  401. package/dist/utils/env-file.d.ts +5 -0
  402. package/dist/utils/env-file.d.ts.map +1 -0
  403. package/dist/utils/env-file.js +85 -0
  404. package/dist/utils/error-conversion.cjs +23 -1
  405. package/dist/utils/error-conversion.d.ts +2 -1
  406. package/dist/utils/error-conversion.d.ts.map +1 -1
  407. package/dist/utils/error-conversion.js +23 -1
  408. package/dist/utils/execution-context.d.ts.map +1 -1
  409. package/dist/utils/fs-walk.d.ts.map +1 -1
  410. package/dist/utils/index.cjs +7 -9
  411. package/dist/utils/index.d.ts +3 -4
  412. package/dist/utils/index.d.ts.map +1 -1
  413. package/dist/utils/index.js +3 -4
  414. package/dist/utils/path.cjs +22 -57
  415. package/dist/utils/path.d.ts +8 -7
  416. package/dist/utils/path.d.ts.map +1 -1
  417. package/dist/utils/path.js +21 -54
  418. package/dist/utils/result.cjs +37 -14
  419. package/dist/utils/result.d.ts.map +1 -1
  420. package/dist/utils/result.js +37 -14
  421. package/dist/utils/schema.cjs +2 -3
  422. package/dist/utils/schema.d.ts +2 -1
  423. package/dist/utils/schema.d.ts.map +1 -1
  424. package/dist/utils/schema.js +1 -2
  425. package/dist/utils/service-initializer.cjs +87 -61
  426. package/dist/utils/service-initializer.d.ts +4 -2
  427. package/dist/utils/service-initializer.d.ts.map +1 -1
  428. package/dist/utils/service-initializer.js +69 -43
  429. package/package.json +7 -3
  430. package/dist/Dexto.cjs +0 -251
  431. package/dist/Dexto.d.ts +0 -191
  432. package/dist/Dexto.d.ts.map +0 -1
  433. package/dist/Dexto.js +0 -228
  434. package/dist/agent/registry/error-codes.cjs +0 -44
  435. package/dist/agent/registry/error-codes.d.ts +0 -21
  436. package/dist/agent/registry/error-codes.d.ts.map +0 -1
  437. package/dist/agent/registry/error-codes.js +0 -21
  438. package/dist/agent/registry/errors.cjs +0 -188
  439. package/dist/agent/registry/errors.d.ts +0 -63
  440. package/dist/agent/registry/errors.d.ts.map +0 -1
  441. package/dist/agent/registry/errors.js +0 -165
  442. package/dist/agent/registry/registry.cjs +0 -479
  443. package/dist/agent/registry/registry.d.ts +0 -130
  444. package/dist/agent/registry/registry.d.ts.map +0 -1
  445. package/dist/agent/registry/registry.js +0 -453
  446. package/dist/agent/registry/types.cjs +0 -74
  447. package/dist/agent/registry/types.d.ts +0 -142
  448. package/dist/agent/registry/types.d.ts.map +0 -1
  449. package/dist/agent/registry/types.js +0 -48
  450. package/dist/agent/registry/user-registry.cjs +0 -140
  451. package/dist/agent/registry/user-registry.d.ts +0 -34
  452. package/dist/agent/registry/user-registry.d.ts.map +0 -1
  453. package/dist/agent/registry/user-registry.js +0 -105
  454. package/dist/approval/providers/event-based-approval-provider.cjs +0 -156
  455. package/dist/approval/providers/event-based-approval-provider.d.ts +0 -39
  456. package/dist/approval/providers/event-based-approval-provider.d.ts.map +0 -1
  457. package/dist/approval/providers/event-based-approval-provider.js +0 -133
  458. package/dist/approval/providers/factory.d.ts.map +0 -1
  459. package/dist/approval/providers/noop-approval-provider.cjs +0 -54
  460. package/dist/approval/providers/noop-approval-provider.d.ts +0 -18
  461. package/dist/approval/providers/noop-approval-provider.d.ts.map +0 -1
  462. package/dist/approval/providers/noop-approval-provider.js +0 -31
  463. package/dist/config/agent-resolver.cjs +0 -153
  464. package/dist/config/agent-resolver.d.ts +0 -14
  465. package/dist/config/agent-resolver.d.ts.map +0 -1
  466. package/dist/config/agent-resolver.js +0 -123
  467. package/dist/config/error-codes.cjs +0 -39
  468. package/dist/config/error-codes.d.ts +0 -16
  469. package/dist/config/error-codes.d.ts.map +0 -1
  470. package/dist/config/error-codes.js +0 -16
  471. package/dist/config/errors.cjs +0 -126
  472. package/dist/config/errors.d.ts +0 -34
  473. package/dist/config/errors.d.ts.map +0 -1
  474. package/dist/config/errors.js +0 -103
  475. package/dist/config/index.cjs +0 -26
  476. package/dist/config/index.d.ts +0 -4
  477. package/dist/config/index.d.ts.map +0 -1
  478. package/dist/config/index.js +0 -3
  479. package/dist/config/loader.cjs +0 -119
  480. package/dist/config/loader.d.ts +0 -16
  481. package/dist/config/loader.d.ts.map +0 -1
  482. package/dist/config/loader.js +0 -86
  483. package/dist/config/writer.cjs +0 -182
  484. package/dist/config/writer.d.ts +0 -35
  485. package/dist/config/writer.d.ts.map +0 -1
  486. package/dist/config/writer.js +0 -147
  487. package/dist/preferences/constants.d.ts +0 -2
  488. package/dist/preferences/constants.d.ts.map +0 -1
  489. package/dist/preferences/constants.js +0 -5
  490. package/dist/preferences/error-codes.d.ts +0 -8
  491. package/dist/preferences/error-codes.d.ts.map +0 -1
  492. package/dist/preferences/error-codes.js +0 -12
  493. package/dist/preferences/errors.cjs +0 -75
  494. package/dist/preferences/errors.d.ts +0 -18
  495. package/dist/preferences/errors.d.ts.map +0 -1
  496. package/dist/preferences/errors.js +0 -51
  497. package/dist/preferences/index.cjs +0 -55
  498. package/dist/preferences/index.d.ts +0 -6
  499. package/dist/preferences/index.d.ts.map +0 -1
  500. package/dist/preferences/index.js +0 -32
  501. package/dist/preferences/loader.cjs +0 -138
  502. package/dist/preferences/loader.d.ts +0 -51
  503. package/dist/preferences/loader.d.ts.map +0 -1
  504. package/dist/preferences/loader.js +0 -110
  505. package/dist/preferences/schemas.cjs +0 -75
  506. package/dist/preferences/schemas.d.ts +0 -110
  507. package/dist/preferences/schemas.d.ts.map +0 -1
  508. package/dist/preferences/schemas.js +0 -49
  509. package/dist/utils/api-key-store.cjs +0 -56
  510. package/dist/utils/api-key-store.d.ts +0 -24
  511. package/dist/utils/api-key-store.d.ts.map +0 -1
  512. package/dist/utils/api-key-store.js +0 -31
  513. package/dist/utils/env.cjs +0 -154
  514. package/dist/utils/env.d.ts +0 -28
  515. package/dist/utils/env.d.ts.map +0 -1
  516. package/dist/utils/env.js +0 -119
  517. package/dist/utils/port-utils.cjs +0 -37
  518. package/dist/utils/port-utils.d.ts +0 -10
  519. package/dist/utils/port-utils.d.ts.map +0 -1
  520. package/dist/utils/port-utils.js +0 -14
  521. package/dist/utils/port-utils.spec.cjs +0 -26
  522. package/dist/utils/port-utils.spec.js +0 -25
  523. /package/dist/approval/{providers/factory.cjs → factory.cjs} +0 -0
@@ -2,7 +2,7 @@ import "../chunk-C6A6W6XS.js";
2
2
  import { createLLMService } from "../llm/services/factory.js";
3
3
  import { SessionEventBus } from "../events/index.js";
4
4
  import { MemoryHistoryProvider } from "./history/memory.js";
5
- async function generateSessionTitle(config, router, toolManager, systemPromptManager, resourceManager, userText, opts = {}) {
5
+ async function generateSessionTitle(config, router, toolManager, systemPromptManager, resourceManager, userText, logger, opts = {}) {
6
6
  const timeoutMs = opts.timeoutMs;
7
7
  const controller = timeoutMs !== void 0 ? new AbortController() : void 0;
8
8
  let timer;
@@ -20,7 +20,8 @@ async function generateSessionTitle(config, router, toolManager, systemPromptMan
20
20
  history,
21
21
  bus,
22
22
  `titlegen-${Math.random().toString(36).slice(2)}`,
23
- resourceManager
23
+ resourceManager,
24
+ logger
24
25
  );
25
26
  const instruction = [
26
27
  "Generate a short conversation title from the following user message.",
@@ -22,26 +22,17 @@ __export(factory_exports, {
22
22
  });
23
23
  module.exports = __toCommonJS(factory_exports);
24
24
  var import_local_blob_store = require("./local-blob-store.js");
25
- var import_logger = require("../../logger/index.js");
26
- function createBlobStore(config, agentId) {
25
+ var import_memory_blob_store = require("./memory-blob-store.js");
26
+ function createBlobStore(config, logger) {
27
27
  switch (config.type) {
28
- case "local":
29
- import_logger.logger.info("Using local file-based blob store");
30
- return new import_local_blob_store.LocalBlobStore(config, agentId);
31
28
  case "in-memory":
32
- default: {
33
- import_logger.logger.info(
34
- "In-memory blob store not implemented, defaulting to local file-based storage"
35
- );
36
- const localConfig = {
37
- type: "local",
38
- maxBlobSize: config.maxBlobSize,
39
- maxTotalSize: config.maxTotalSize,
40
- cleanupAfterDays: 30
41
- // Default for in-memory fallback
42
- };
43
- return new import_local_blob_store.LocalBlobStore(localConfig, agentId);
44
- }
29
+ logger.info("Using in-memory blob store");
30
+ return new import_memory_blob_store.InMemoryBlobStore(config, logger);
31
+ case "local":
32
+ logger.info("Using local file-based blob store");
33
+ return new import_local_blob_store.LocalBlobStore(config, logger);
34
+ default:
35
+ throw new Error(`Unknown blob store type: ${config.type}`);
45
36
  }
46
37
  }
47
38
  // Annotate the CommonJS export names for ESM import in node:
@@ -1,10 +1,11 @@
1
1
  import type { BlobStore } from './types.js';
2
- import type { BlobStoreConfig } from '../schemas.js';
2
+ import type { BlobStoreConfig } from './schemas.js';
3
+ import type { IDextoLogger } from '../../logger/v2/types.js';
3
4
  /**
4
5
  * Create a blob store based on configuration.
5
- * Note: In-memory blob store defaults to local file-based storage.
6
+ * Blob paths are provided via CLI enrichment layer for local storage.
6
7
  * @param config Blob store configuration
7
- * @param agentId Optional agent identifier for per-agent blob isolation
8
+ * @param logger Logger instance for logging
8
9
  */
9
- export declare function createBlobStore(config: BlobStoreConfig, agentId?: string): BlobStore;
10
+ export declare function createBlobStore(config: BlobStoreConfig, logger: IDextoLogger): BlobStore;
10
11
  //# sourceMappingURL=factory.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"factory.d.ts","sourceRoot":"","sources":["../../../src/storage/blob/factory.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAC5C,OAAO,KAAK,EAAE,eAAe,EAAwB,MAAM,eAAe,CAAC;AAI3E;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE,eAAe,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAqBpF"}
1
+ {"version":3,"file":"factory.d.ts","sourceRoot":"","sources":["../../../src/storage/blob/factory.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAC5C,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAGpD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAE7D;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE,eAAe,EAAE,MAAM,EAAE,YAAY,GAAG,SAAS,CAaxF"}
@@ -1,25 +1,16 @@
1
1
  import "../../chunk-C6A6W6XS.js";
2
2
  import { LocalBlobStore } from "./local-blob-store.js";
3
- import { logger } from "../../logger/index.js";
4
- function createBlobStore(config, agentId) {
3
+ import { InMemoryBlobStore } from "./memory-blob-store.js";
4
+ function createBlobStore(config, logger) {
5
5
  switch (config.type) {
6
+ case "in-memory":
7
+ logger.info("Using in-memory blob store");
8
+ return new InMemoryBlobStore(config, logger);
6
9
  case "local":
7
10
  logger.info("Using local file-based blob store");
8
- return new LocalBlobStore(config, agentId);
9
- case "in-memory":
10
- default: {
11
- logger.info(
12
- "In-memory blob store not implemented, defaulting to local file-based storage"
13
- );
14
- const localConfig = {
15
- type: "local",
16
- maxBlobSize: config.maxBlobSize,
17
- maxTotalSize: config.maxTotalSize,
18
- cleanupAfterDays: 30
19
- // Default for in-memory fallback
20
- };
21
- return new LocalBlobStore(localConfig, agentId);
22
- }
11
+ return new LocalBlobStore(config, logger);
12
+ default:
13
+ throw new Error(`Unknown blob store type: ${config.type}`);
23
14
  }
24
15
  }
25
16
  export {
@@ -35,8 +35,7 @@ var import_fs = require("fs");
35
35
  var import_path = __toESM(require("path"), 1);
36
36
  var import_crypto = require("crypto");
37
37
  var import_url = require("url");
38
- var import_logger = require("../../logger/index.js");
39
- var import_path2 = require("../../utils/path.js");
38
+ var import_types = require("../../logger/v2/types.js");
40
39
  var import_errors = require("../errors.js");
41
40
  class LocalBlobStore {
42
41
  config;
@@ -45,27 +44,13 @@ class LocalBlobStore {
45
44
  statsCache = null;
46
45
  statsCachePromise = null;
47
46
  lastStatsRefresh = 0;
48
- agentId;
47
+ logger;
49
48
  static STATS_REFRESH_INTERVAL_MS = 6e4;
50
49
  // 1 minute
51
- constructor(config, agentId) {
50
+ constructor(config, logger) {
52
51
  this.config = config;
53
- if (agentId) {
54
- const trimmed = agentId.trim();
55
- if (!trimmed) {
56
- throw import_errors.StorageError.blobInvalidConfig("agentId cannot be empty or whitespace-only");
57
- }
58
- if (!/^[a-zA-Z0-9_-]+$/.test(trimmed)) {
59
- throw import_errors.StorageError.blobInvalidConfig(
60
- "agentId must contain only alphanumeric characters, hyphens, and underscores"
61
- );
62
- }
63
- this.agentId = trimmed;
64
- } else {
65
- this.agentId = agentId;
66
- }
67
- const blobSubdir = this.agentId ? `blobs-${this.agentId}` : "blobs";
68
- this.storePath = config.storePath || (0, import_path2.getDextoPath)("data", blobSubdir);
52
+ this.storePath = config.storePath;
53
+ this.logger = logger.createChild(import_types.DextoLogComponent.STORAGE);
69
54
  }
70
55
  async connect() {
71
56
  if (this.connected) return;
@@ -74,14 +59,14 @@ class LocalBlobStore {
74
59
  await this.refreshStatsCache();
75
60
  this.lastStatsRefresh = Date.now();
76
61
  this.connected = true;
77
- import_logger.logger.debug(`LocalBlobStore connected at: ${this.storePath}`);
62
+ this.logger.debug(`LocalBlobStore connected at: ${this.storePath}`);
78
63
  } catch (error) {
79
64
  throw import_errors.StorageError.blobOperationFailed("connect", "local", error);
80
65
  }
81
66
  }
82
67
  async disconnect() {
83
68
  this.connected = false;
84
- import_logger.logger.debug("LocalBlobStore disconnected");
69
+ this.logger.debug("LocalBlobStore disconnected");
85
70
  }
86
71
  /**
87
72
  * Normalize metadata after JSON parsing to ensure createdAt is a Date object
@@ -114,7 +99,9 @@ class LocalBlobStore {
114
99
  const existingMeta = await import_fs.promises.readFile(metaPath, "utf-8");
115
100
  const parsed = JSON.parse(existingMeta);
116
101
  const existingMetadata = this.normalizeMetadata(parsed);
117
- import_logger.logger.debug(`Blob ${id} already exists, returning existing reference (deduplication)`);
102
+ this.logger.debug(
103
+ `Blob ${id} already exists, returning existing reference (deduplication)`
104
+ );
118
105
  return {
119
106
  id,
120
107
  uri: `blob:${id}`,
@@ -146,7 +133,9 @@ class LocalBlobStore {
146
133
  import_fs.promises.writeFile(blobPath, buffer),
147
134
  import_fs.promises.writeFile(metaPath, JSON.stringify(storedMetadata, null, 2))
148
135
  ]);
149
- import_logger.logger.debug(`Stored blob ${id} (${buffer.length} bytes, ${storedMetadata.mimeType})`);
136
+ this.logger.debug(
137
+ `Stored blob ${id} (${buffer.length} bytes, ${storedMetadata.mimeType})`
138
+ );
150
139
  this.updateStatsCacheAfterStore(buffer.length);
151
140
  return {
152
141
  id,
@@ -235,7 +224,7 @@ class LocalBlobStore {
235
224
  const parsed = JSON.parse(metaContent);
236
225
  const metadata = this.normalizeMetadata(parsed);
237
226
  await Promise.all([import_fs.promises.unlink(blobPath), import_fs.promises.unlink(metaPath)]);
238
- import_logger.logger.debug(`Deleted blob: ${id}`);
227
+ this.logger.debug(`Deleted blob: ${id}`);
239
228
  this.updateStatsCacheAfterDelete(metadata.size);
240
229
  } catch (error) {
241
230
  if (error instanceof Error && "code" in error && error.code === "ENOENT") {
@@ -271,14 +260,16 @@ class LocalBlobStore {
271
260
  ]);
272
261
  deletedCount++;
273
262
  this.updateStatsCacheAfterDelete(metadata.size);
274
- import_logger.logger.debug(`Cleaned up old blob: ${id}`);
263
+ this.logger.debug(`Cleaned up old blob: ${id}`);
275
264
  }
276
265
  } catch (error) {
277
- import_logger.logger.warn(`Failed to process blob metadata ${metaFile}: ${String(error)}`);
266
+ this.logger.warn(
267
+ `Failed to process blob metadata ${metaFile}: ${String(error)}`
268
+ );
278
269
  }
279
270
  }
280
271
  if (deletedCount > 0) {
281
- import_logger.logger.info(`Blob cleanup: removed ${deletedCount} old blobs`);
272
+ this.logger.info(`Blob cleanup: removed ${deletedCount} old blobs`);
282
273
  }
283
274
  return deletedCount;
284
275
  } catch (error) {
@@ -321,12 +312,14 @@ class LocalBlobStore {
321
312
  metadata
322
313
  });
323
314
  } catch (error) {
324
- import_logger.logger.warn(`Failed to process blob metadata ${metaFile}: ${String(error)}`);
315
+ this.logger.warn(
316
+ `Failed to process blob metadata ${metaFile}: ${String(error)}`
317
+ );
325
318
  }
326
319
  }
327
320
  return blobs;
328
321
  } catch (error) {
329
- import_logger.logger.warn(`Failed to list blobs: ${String(error)}`);
322
+ this.logger.warn(`Failed to list blobs: ${String(error)}`);
330
323
  return [];
331
324
  }
332
325
  }
@@ -358,13 +351,13 @@ class LocalBlobStore {
358
351
  const stat = await import_fs.promises.stat(import_path.default.join(this.storePath, datFile));
359
352
  stats.totalSize += stat.size;
360
353
  } catch (error) {
361
- import_logger.logger.debug(
354
+ this.logger.debug(
362
355
  `Skipping size calculation for ${datFile}: ${error instanceof Error ? error.message : String(error)}`
363
356
  );
364
357
  }
365
358
  }
366
359
  } catch (error) {
367
- import_logger.logger.warn(`Failed to refresh blob stats cache: ${String(error)}`);
360
+ this.logger.warn(`Failed to refresh blob stats cache: ${String(error)}`);
368
361
  }
369
362
  this.statsCache = stats;
370
363
  }
@@ -1,3 +1,4 @@
1
+ import type { IDextoLogger } from '../../logger/v2/types.js';
1
2
  import type { BlobStore, BlobInput, BlobMetadata, BlobReference, BlobData, BlobStats } from './types.js';
2
3
  import type { LocalBlobStoreConfig } from './schemas.js';
3
4
  /**
@@ -14,9 +15,9 @@ export declare class LocalBlobStore implements BlobStore {
14
15
  private statsCache;
15
16
  private statsCachePromise;
16
17
  private lastStatsRefresh;
17
- private agentId;
18
+ private logger;
18
19
  private static readonly STATS_REFRESH_INTERVAL_MS;
19
- constructor(config: LocalBlobStoreConfig, agentId?: string);
20
+ constructor(config: LocalBlobStoreConfig, logger: IDextoLogger);
20
21
  connect(): Promise<void>;
21
22
  disconnect(): Promise<void>;
22
23
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"local-blob-store.d.ts","sourceRoot":"","sources":["../../../src/storage/blob/local-blob-store.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EACR,SAAS,EACT,SAAS,EACT,YAAY,EACZ,aAAa,EACb,QAAQ,EACR,SAAS,EAEZ,MAAM,YAAY,CAAC;AACpB,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAC;AAEzD;;;;;;GAMG;AACH,qBAAa,cAAe,YAAW,SAAS;IAC5C,OAAO,CAAC,MAAM,CAAuB;IACrC,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,UAAU,CAAqD;IACvE,OAAO,CAAC,iBAAiB,CAA8B;IACvD,OAAO,CAAC,gBAAgB,CAAa;IACrC,OAAO,CAAC,OAAO,CAAqB;IAEpC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,yBAAyB,CAAS;gBAE9C,MAAM,EAAE,oBAAoB,EAAE,OAAO,CAAC,EAAE,MAAM;IAwBpD,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAoBxB,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAKjC;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAQzB,WAAW,IAAI,OAAO;IAItB,YAAY,IAAI,MAAM;IAIhB,KAAK,CAAC,KAAK,EAAE,SAAS,EAAE,QAAQ,GAAE,YAAiB,GAAG,OAAO,CAAC,aAAa,CAAC;IAqF5E,QAAQ,CACV,SAAS,EAAE,MAAM,EACjB,MAAM,GAAE,QAAQ,GAAG,QAAQ,GAAG,MAAM,GAAG,QAAQ,GAAG,KAAgB,GACnE,OAAO,CAAC,QAAQ,CAAC;IAsDd,MAAM,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAiB3C,MAAM,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAwBxC,OAAO,CAAC,SAAS,CAAC,EAAE,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC;IA+C1C,QAAQ,IAAI,OAAO,CAAC,SAAS,CAAC;IAepC,cAAc,IAAI,MAAM,GAAG,SAAS;IAI9B,SAAS,IAAI,OAAO,CAAC,aAAa,EAAE,CAAC;YAmC7B,gBAAgB;YAsBhB,iBAAiB;IAwB/B,OAAO,CAAC,0BAA0B;IASlC,OAAO,CAAC,2BAA2B;IASnC;;OAEG;YACW,aAAa;IAgD3B;;OAEG;IACH,OAAO,CAAC,cAAc;IAgBtB;;OAEG;IACH,OAAO,CAAC,cAAc;IAiDtB;;OAEG;IACH,OAAO,CAAC,YAAY;CAiBvB"}
1
+ {"version":3,"file":"local-blob-store.d.ts","sourceRoot":"","sources":["../../../src/storage/blob/local-blob-store.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAG7D,OAAO,KAAK,EACR,SAAS,EACT,SAAS,EACT,YAAY,EACZ,aAAa,EACb,QAAQ,EACR,SAAS,EAEZ,MAAM,YAAY,CAAC;AACpB,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAC;AAEzD;;;;;;GAMG;AACH,qBAAa,cAAe,YAAW,SAAS;IAC5C,OAAO,CAAC,MAAM,CAAuB;IACrC,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,UAAU,CAAqD;IACvE,OAAO,CAAC,iBAAiB,CAA8B;IACvD,OAAO,CAAC,gBAAgB,CAAa;IACrC,OAAO,CAAC,MAAM,CAAe;IAE7B,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,yBAAyB,CAAS;gBAE9C,MAAM,EAAE,oBAAoB,EAAE,MAAM,EAAE,YAAY;IAOxD,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAoBxB,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAKjC;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAQzB,WAAW,IAAI,OAAO;IAItB,YAAY,IAAI,MAAM;IAIhB,KAAK,CAAC,KAAK,EAAE,SAAS,EAAE,QAAQ,GAAE,YAAiB,GAAG,OAAO,CAAC,aAAa,CAAC;IAyF5E,QAAQ,CACV,SAAS,EAAE,MAAM,EACjB,MAAM,GAAE,QAAQ,GAAG,QAAQ,GAAG,MAAM,GAAG,QAAQ,GAAG,KAAgB,GACnE,OAAO,CAAC,QAAQ,CAAC;IAsDd,MAAM,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAiB3C,MAAM,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAwBxC,OAAO,CAAC,SAAS,CAAC,EAAE,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC;IAiD1C,QAAQ,IAAI,OAAO,CAAC,SAAS,CAAC;IAepC,cAAc,IAAI,MAAM,GAAG,SAAS;IAI9B,SAAS,IAAI,OAAO,CAAC,aAAa,EAAE,CAAC;YAqC7B,gBAAgB;YAsBhB,iBAAiB;IAwB/B,OAAO,CAAC,0BAA0B;IASlC,OAAO,CAAC,2BAA2B;IASnC;;OAEG;YACW,aAAa;IAgD3B;;OAEG;IACH,OAAO,CAAC,cAAc;IAgBtB;;OAEG;IACH,OAAO,CAAC,cAAc;IAiDtB;;OAEG;IACH,OAAO,CAAC,YAAY;CAiBvB"}
@@ -3,8 +3,7 @@ import { promises as fs, createReadStream } from "fs";
3
3
  import path from "path";
4
4
  import { createHash } from "crypto";
5
5
  import { pathToFileURL } from "url";
6
- import { logger } from "../../logger/index.js";
7
- import { getDextoPath } from "../../utils/path.js";
6
+ import { DextoLogComponent } from "../../logger/v2/types.js";
8
7
  import { StorageError } from "../errors.js";
9
8
  class LocalBlobStore {
10
9
  config;
@@ -13,27 +12,13 @@ class LocalBlobStore {
13
12
  statsCache = null;
14
13
  statsCachePromise = null;
15
14
  lastStatsRefresh = 0;
16
- agentId;
15
+ logger;
17
16
  static STATS_REFRESH_INTERVAL_MS = 6e4;
18
17
  // 1 minute
19
- constructor(config, agentId) {
18
+ constructor(config, logger) {
20
19
  this.config = config;
21
- if (agentId) {
22
- const trimmed = agentId.trim();
23
- if (!trimmed) {
24
- throw StorageError.blobInvalidConfig("agentId cannot be empty or whitespace-only");
25
- }
26
- if (!/^[a-zA-Z0-9_-]+$/.test(trimmed)) {
27
- throw StorageError.blobInvalidConfig(
28
- "agentId must contain only alphanumeric characters, hyphens, and underscores"
29
- );
30
- }
31
- this.agentId = trimmed;
32
- } else {
33
- this.agentId = agentId;
34
- }
35
- const blobSubdir = this.agentId ? `blobs-${this.agentId}` : "blobs";
36
- this.storePath = config.storePath || getDextoPath("data", blobSubdir);
20
+ this.storePath = config.storePath;
21
+ this.logger = logger.createChild(DextoLogComponent.STORAGE);
37
22
  }
38
23
  async connect() {
39
24
  if (this.connected) return;
@@ -42,14 +27,14 @@ class LocalBlobStore {
42
27
  await this.refreshStatsCache();
43
28
  this.lastStatsRefresh = Date.now();
44
29
  this.connected = true;
45
- logger.debug(`LocalBlobStore connected at: ${this.storePath}`);
30
+ this.logger.debug(`LocalBlobStore connected at: ${this.storePath}`);
46
31
  } catch (error) {
47
32
  throw StorageError.blobOperationFailed("connect", "local", error);
48
33
  }
49
34
  }
50
35
  async disconnect() {
51
36
  this.connected = false;
52
- logger.debug("LocalBlobStore disconnected");
37
+ this.logger.debug("LocalBlobStore disconnected");
53
38
  }
54
39
  /**
55
40
  * Normalize metadata after JSON parsing to ensure createdAt is a Date object
@@ -82,7 +67,9 @@ class LocalBlobStore {
82
67
  const existingMeta = await fs.readFile(metaPath, "utf-8");
83
68
  const parsed = JSON.parse(existingMeta);
84
69
  const existingMetadata = this.normalizeMetadata(parsed);
85
- logger.debug(`Blob ${id} already exists, returning existing reference (deduplication)`);
70
+ this.logger.debug(
71
+ `Blob ${id} already exists, returning existing reference (deduplication)`
72
+ );
86
73
  return {
87
74
  id,
88
75
  uri: `blob:${id}`,
@@ -114,7 +101,9 @@ class LocalBlobStore {
114
101
  fs.writeFile(blobPath, buffer),
115
102
  fs.writeFile(metaPath, JSON.stringify(storedMetadata, null, 2))
116
103
  ]);
117
- logger.debug(`Stored blob ${id} (${buffer.length} bytes, ${storedMetadata.mimeType})`);
104
+ this.logger.debug(
105
+ `Stored blob ${id} (${buffer.length} bytes, ${storedMetadata.mimeType})`
106
+ );
118
107
  this.updateStatsCacheAfterStore(buffer.length);
119
108
  return {
120
109
  id,
@@ -203,7 +192,7 @@ class LocalBlobStore {
203
192
  const parsed = JSON.parse(metaContent);
204
193
  const metadata = this.normalizeMetadata(parsed);
205
194
  await Promise.all([fs.unlink(blobPath), fs.unlink(metaPath)]);
206
- logger.debug(`Deleted blob: ${id}`);
195
+ this.logger.debug(`Deleted blob: ${id}`);
207
196
  this.updateStatsCacheAfterDelete(metadata.size);
208
197
  } catch (error) {
209
198
  if (error instanceof Error && "code" in error && error.code === "ENOENT") {
@@ -239,14 +228,16 @@ class LocalBlobStore {
239
228
  ]);
240
229
  deletedCount++;
241
230
  this.updateStatsCacheAfterDelete(metadata.size);
242
- logger.debug(`Cleaned up old blob: ${id}`);
231
+ this.logger.debug(`Cleaned up old blob: ${id}`);
243
232
  }
244
233
  } catch (error) {
245
- logger.warn(`Failed to process blob metadata ${metaFile}: ${String(error)}`);
234
+ this.logger.warn(
235
+ `Failed to process blob metadata ${metaFile}: ${String(error)}`
236
+ );
246
237
  }
247
238
  }
248
239
  if (deletedCount > 0) {
249
- logger.info(`Blob cleanup: removed ${deletedCount} old blobs`);
240
+ this.logger.info(`Blob cleanup: removed ${deletedCount} old blobs`);
250
241
  }
251
242
  return deletedCount;
252
243
  } catch (error) {
@@ -289,12 +280,14 @@ class LocalBlobStore {
289
280
  metadata
290
281
  });
291
282
  } catch (error) {
292
- logger.warn(`Failed to process blob metadata ${metaFile}: ${String(error)}`);
283
+ this.logger.warn(
284
+ `Failed to process blob metadata ${metaFile}: ${String(error)}`
285
+ );
293
286
  }
294
287
  }
295
288
  return blobs;
296
289
  } catch (error) {
297
- logger.warn(`Failed to list blobs: ${String(error)}`);
290
+ this.logger.warn(`Failed to list blobs: ${String(error)}`);
298
291
  return [];
299
292
  }
300
293
  }
@@ -326,13 +319,13 @@ class LocalBlobStore {
326
319
  const stat = await fs.stat(path.join(this.storePath, datFile));
327
320
  stats.totalSize += stat.size;
328
321
  } catch (error) {
329
- logger.debug(
322
+ this.logger.debug(
330
323
  `Skipping size calculation for ${datFile}: ${error instanceof Error ? error.message : String(error)}`
331
324
  );
332
325
  }
333
326
  }
334
327
  } catch (error) {
335
- logger.warn(`Failed to refresh blob stats cache: ${String(error)}`);
328
+ this.logger.warn(`Failed to refresh blob stats cache: ${String(error)}`);
336
329
  }
337
330
  this.statsCache = stats;
338
331
  }