@dexto/core 1.7.2 → 1.8.1

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 (616) hide show
  1. package/dist/agent/DextoAgent.cjs +163 -77
  2. package/dist/agent/DextoAgent.d.ts +73 -19
  3. package/dist/agent/DextoAgent.d.ts.map +1 -1
  4. package/dist/agent/DextoAgent.js +165 -67
  5. package/dist/agent/agent-options.d.ts +6 -10
  6. package/dist/agent/agent-options.d.ts.map +1 -1
  7. package/dist/agent/agentCard.js +1 -1
  8. package/dist/agent/error-codes.js +1 -1
  9. package/dist/agent/errors.js +1 -1
  10. package/dist/agent/index.d.ts +1 -0
  11. package/dist/agent/index.d.ts.map +1 -1
  12. package/dist/agent/index.js +1 -1
  13. package/dist/agent/schemas.d.ts +2 -2
  14. package/dist/agent/schemas.js +1 -1
  15. package/dist/agent/state-manager.js +1 -1
  16. package/dist/agent/types.d.ts +1 -1
  17. package/dist/agent/types.d.ts.map +1 -1
  18. package/dist/approval/error-codes.cjs +1 -1
  19. package/dist/approval/error-codes.d.ts +1 -1
  20. package/dist/approval/error-codes.d.ts.map +1 -1
  21. package/dist/approval/error-codes.js +2 -2
  22. package/dist/approval/errors.cjs +2 -5
  23. package/dist/approval/errors.d.ts.map +1 -1
  24. package/dist/approval/errors.js +3 -6
  25. package/dist/approval/factory.cjs +19 -4
  26. package/dist/approval/factory.d.ts +4 -1
  27. package/dist/approval/factory.d.ts.map +1 -1
  28. package/dist/approval/factory.js +19 -5
  29. package/dist/approval/index.d.ts +1 -1
  30. package/dist/approval/index.d.ts.map +1 -1
  31. package/dist/approval/index.js +1 -1
  32. package/dist/approval/manager.cjs +168 -26
  33. package/dist/approval/manager.d.ts +46 -12
  34. package/dist/approval/manager.d.ts.map +1 -1
  35. package/dist/approval/manager.js +177 -29
  36. package/dist/approval/schemas.cjs +26 -26
  37. package/dist/approval/schemas.d.ts +29 -29
  38. package/dist/approval/schemas.d.ts.map +1 -1
  39. package/dist/approval/schemas.js +23 -23
  40. package/dist/approval/types.cjs +5 -5
  41. package/dist/approval/types.d.ts +18 -18
  42. package/dist/approval/types.d.ts.map +1 -1
  43. package/dist/approval/types.js +6 -6
  44. package/dist/{chunk-PTJYTZNU.js → chunk-C6A6W6XS.js} +1 -44
  45. package/dist/config/index.cjs +75 -0
  46. package/dist/config/index.d.ts +15 -0
  47. package/dist/config/index.d.ts.map +1 -0
  48. package/dist/config/index.js +50 -0
  49. package/dist/context/compaction/overflow.d.ts +1 -1
  50. package/dist/context/compaction/overflow.d.ts.map +1 -1
  51. package/dist/context/compaction/overflow.js +1 -1
  52. package/dist/context/compaction/strategies/noop.js +1 -1
  53. package/dist/context/compaction/strategies/reactive-overflow-compaction.js +1 -1
  54. package/dist/context/content-clone.cjs +131 -0
  55. package/dist/context/content-clone.d.ts +7 -0
  56. package/dist/context/content-clone.d.ts.map +1 -0
  57. package/dist/context/content-clone.js +104 -0
  58. package/dist/context/error-codes.js +1 -1
  59. package/dist/context/errors.js +1 -1
  60. package/dist/context/index.cjs +2 -0
  61. package/dist/context/index.d.ts +1 -0
  62. package/dist/context/index.d.ts.map +1 -1
  63. package/dist/context/index.js +2 -1
  64. package/dist/context/manager.cjs +52 -41
  65. package/dist/context/manager.d.ts +8 -8
  66. package/dist/context/manager.d.ts.map +1 -1
  67. package/dist/context/manager.js +46 -35
  68. package/dist/context/media-helpers.js +1 -1
  69. package/dist/context/schemas.cjs +77 -0
  70. package/dist/context/schemas.d.ts +5 -0
  71. package/dist/context/schemas.d.ts.map +1 -0
  72. package/dist/context/schemas.js +53 -0
  73. package/dist/context/types.d.ts +1 -1
  74. package/dist/context/types.d.ts.map +1 -1
  75. package/dist/context/types.js +1 -1
  76. package/dist/context/utils.cjs +73 -72
  77. package/dist/context/utils.d.ts +4 -4
  78. package/dist/context/utils.d.ts.map +1 -1
  79. package/dist/context/utils.js +72 -71
  80. package/dist/errors/DextoBaseError.js +1 -1
  81. package/dist/errors/DextoRuntimeError.js +1 -1
  82. package/dist/errors/DextoValidationError.js +1 -1
  83. package/dist/errors/index.js +1 -1
  84. package/dist/errors/result-bridge.js +1 -1
  85. package/dist/errors/types.js +1 -1
  86. package/dist/events/index.cjs +9 -1
  87. package/dist/events/index.d.ts +22 -10
  88. package/dist/events/index.d.ts.map +1 -1
  89. package/dist/events/index.js +10 -2
  90. package/dist/hooks/builtins/content-policy.js +1 -1
  91. package/dist/hooks/builtins/response-sanitizer.js +1 -1
  92. package/dist/hooks/error-codes.js +1 -1
  93. package/dist/hooks/index.js +1 -1
  94. package/dist/hooks/manager.cjs +1 -1
  95. package/dist/hooks/manager.d.ts +2 -2
  96. package/dist/hooks/manager.d.ts.map +1 -1
  97. package/dist/hooks/manager.js +2 -2
  98. package/dist/hooks/types.d.ts +2 -2
  99. package/dist/hooks/types.d.ts.map +1 -1
  100. package/dist/index.browser.cjs +9 -9
  101. package/dist/index.browser.d.ts +4 -4
  102. package/dist/index.browser.d.ts.map +1 -1
  103. package/dist/index.browser.js +2 -2
  104. package/dist/index.cjs +2 -0
  105. package/dist/index.d.ts +1 -0
  106. package/dist/index.d.ts.map +1 -1
  107. package/dist/index.js +2 -1
  108. package/dist/llm/curation-config.cjs +3 -3
  109. package/dist/llm/curation-config.d.ts +1 -1
  110. package/dist/llm/curation-config.js +4 -4
  111. package/dist/llm/curation.cjs +2 -2
  112. package/dist/llm/curation.d.ts +2 -2
  113. package/dist/llm/curation.d.ts.map +1 -1
  114. package/dist/llm/curation.js +2 -2
  115. package/dist/llm/error-codes.js +1 -1
  116. package/dist/llm/errors.cjs +3 -3
  117. package/dist/llm/errors.d.ts +1 -1
  118. package/dist/llm/errors.d.ts.map +1 -1
  119. package/dist/llm/errors.js +2 -2
  120. package/dist/llm/{reasoning/anthropic-betas.cjs → executor/index.cjs} +10 -9
  121. package/dist/llm/executor/index.d.ts +2 -0
  122. package/dist/llm/executor/index.d.ts.map +1 -0
  123. package/dist/llm/executor/index.js +11 -0
  124. package/dist/llm/executor/provider-options.cjs +22 -25
  125. package/dist/llm/executor/provider-options.d.ts +1 -1
  126. package/dist/llm/executor/provider-options.d.ts.map +1 -1
  127. package/dist/llm/executor/provider-options.js +18 -17
  128. package/dist/llm/executor/stream-processor.cjs +28 -139
  129. package/dist/llm/executor/stream-processor.d.ts +3 -14
  130. package/dist/llm/executor/stream-processor.d.ts.map +1 -1
  131. package/dist/llm/executor/stream-processor.js +29 -140
  132. package/dist/llm/{reasoning/profiles/openai.cjs → executor/tool-definitions.cjs} +22 -18
  133. package/dist/llm/executor/tool-definitions.d.ts +4 -0
  134. package/dist/llm/executor/tool-definitions.d.ts.map +1 -0
  135. package/dist/llm/executor/tool-definitions.js +22 -0
  136. package/dist/llm/executor/tool-output-truncator.js +1 -1
  137. package/dist/llm/executor/turn-executor.cjs +1093 -458
  138. package/dist/llm/executor/turn-executor.d.ts +269 -43
  139. package/dist/llm/executor/turn-executor.d.ts.map +1 -1
  140. package/dist/llm/executor/turn-executor.js +1079 -405
  141. package/dist/llm/executor/types.d.ts +7 -1
  142. package/dist/llm/executor/types.d.ts.map +1 -1
  143. package/dist/llm/formatters/vercel.cjs +2 -2
  144. package/dist/llm/formatters/vercel.d.ts +1 -1
  145. package/dist/llm/formatters/vercel.d.ts.map +1 -1
  146. package/dist/llm/formatters/vercel.js +1 -1
  147. package/dist/llm/index.cjs +2 -4
  148. package/dist/llm/index.d.ts +1 -2
  149. package/dist/llm/index.d.ts.map +1 -1
  150. package/dist/llm/index.js +2 -3
  151. package/dist/llm/providers/codex-app-server.cjs +22 -2
  152. package/dist/llm/providers/codex-app-server.d.ts.map +1 -1
  153. package/dist/llm/providers/codex-app-server.js +23 -3
  154. package/dist/llm/providers/codex-base-url.js +1 -1
  155. package/dist/llm/providers/local/ai-sdk-adapter.js +1 -1
  156. package/dist/llm/providers/local/downloader.js +1 -1
  157. package/dist/llm/providers/local/error-codes.js +1 -1
  158. package/dist/llm/providers/local/errors.js +1 -1
  159. package/dist/llm/providers/local/gpu-detector.js +1 -1
  160. package/dist/llm/providers/local/index.js +1 -1
  161. package/dist/llm/providers/local/node-llama-provider.js +1 -1
  162. package/dist/llm/providers/local/ollama-provider.js +1 -1
  163. package/dist/llm/providers/local/registry.js +1 -1
  164. package/dist/llm/providers/local/schemas.js +1 -1
  165. package/dist/llm/providers/openrouter-model-registry.js +1 -1
  166. package/dist/llm/registry/auto-update.cjs +5 -5
  167. package/dist/llm/registry/auto-update.d.ts.map +1 -1
  168. package/dist/llm/registry/auto-update.js +3 -3
  169. package/dist/llm/registry/index.cjs +96 -789
  170. package/dist/llm/registry/index.d.ts +4 -323
  171. package/dist/llm/registry/index.d.ts.map +1 -1
  172. package/dist/llm/registry/index.js +100 -763
  173. package/dist/llm/registry/sync.d.ts +2 -2
  174. package/dist/llm/registry/sync.d.ts.map +1 -1
  175. package/dist/llm/registry/sync.js +1 -1
  176. package/dist/llm/resolver.cjs +7 -6
  177. package/dist/llm/resolver.d.ts +1 -1
  178. package/dist/llm/resolver.js +5 -5
  179. package/dist/llm/schemas.cjs +14 -14
  180. package/dist/llm/schemas.d.ts +1 -1
  181. package/dist/llm/schemas.d.ts.map +1 -1
  182. package/dist/llm/schemas.js +6 -5
  183. package/dist/llm/services/factory.cjs +13 -15
  184. package/dist/llm/services/factory.d.ts +3 -3
  185. package/dist/llm/services/factory.d.ts.map +1 -1
  186. package/dist/llm/services/factory.js +16 -16
  187. package/dist/llm/services/types.d.ts +11 -2
  188. package/dist/llm/services/types.d.ts.map +1 -1
  189. package/dist/llm/services/vercel.cjs +23 -8
  190. package/dist/llm/services/vercel.d.ts +11 -7
  191. package/dist/llm/services/vercel.d.ts.map +1 -1
  192. package/dist/llm/services/vercel.js +24 -9
  193. package/dist/llm/usage-metadata.cjs +23 -6
  194. package/dist/llm/usage-metadata.d.ts +3 -2
  195. package/dist/llm/usage-metadata.d.ts.map +1 -1
  196. package/dist/llm/usage-metadata.js +20 -7
  197. package/dist/llm/usage-scope.js +1 -1
  198. package/dist/llm/usage-summary.d.ts +1 -1
  199. package/dist/llm/usage-summary.js +1 -1
  200. package/dist/llm/validation.cjs +4 -4
  201. package/dist/llm/validation.d.ts +1 -1
  202. package/dist/llm/validation.js +2 -2
  203. package/dist/logger/browser.js +1 -1
  204. package/dist/logger/default-logger-factory.js +1 -1
  205. package/dist/logger/factory.js +1 -1
  206. package/dist/logger/index.js +1 -1
  207. package/dist/logger/logger.js +1 -1
  208. package/dist/logger/v2/dexto-logger.js +1 -1
  209. package/dist/logger/v2/error-codes.js +1 -1
  210. package/dist/logger/v2/errors.js +1 -1
  211. package/dist/logger/v2/schemas.js +1 -1
  212. package/dist/logger/v2/test-utils.js +1 -1
  213. package/dist/logger/v2/transport-factory.js +1 -1
  214. package/dist/logger/v2/transports/console-transport.js +1 -1
  215. package/dist/logger/v2/transports/file-transport.js +1 -1
  216. package/dist/logger/v2/transports/silent-transport.js +1 -1
  217. package/dist/logger/v2/types.js +1 -1
  218. package/dist/mcp/bundled-config.js +1 -1
  219. package/dist/mcp/error-codes.js +1 -1
  220. package/dist/mcp/errors.js +1 -1
  221. package/dist/mcp/index.js +1 -1
  222. package/dist/mcp/manager.js +1 -1
  223. package/dist/mcp/mcp-client.js +1 -1
  224. package/dist/mcp/resolver.js +1 -1
  225. package/dist/mcp/schemas.js +1 -1
  226. package/dist/memory/error-codes.js +1 -1
  227. package/dist/memory/errors.js +1 -1
  228. package/dist/memory/index.js +1 -1
  229. package/dist/memory/manager.cjs +7 -27
  230. package/dist/memory/manager.d.ts +4 -12
  231. package/dist/memory/manager.d.ts.map +1 -1
  232. package/dist/memory/manager.js +8 -28
  233. package/dist/memory/schemas.js +1 -1
  234. package/dist/prompts/error-codes.js +1 -1
  235. package/dist/prompts/errors.js +1 -1
  236. package/dist/prompts/index.js +1 -1
  237. package/dist/prompts/name-validation.js +1 -1
  238. package/dist/prompts/prompt-manager.cjs +9 -38
  239. package/dist/prompts/prompt-manager.d.ts +2 -10
  240. package/dist/prompts/prompt-manager.d.ts.map +1 -1
  241. package/dist/prompts/prompt-manager.js +10 -39
  242. package/dist/prompts/providers/config-prompt-provider.cjs +8 -87
  243. package/dist/prompts/providers/config-prompt-provider.d.ts.map +1 -1
  244. package/dist/prompts/providers/config-prompt-provider.js +9 -88
  245. package/dist/prompts/providers/custom-prompt-provider.cjs +21 -22
  246. package/dist/prompts/providers/custom-prompt-provider.d.ts +19 -4
  247. package/dist/prompts/providers/custom-prompt-provider.d.ts.map +1 -1
  248. package/dist/prompts/providers/custom-prompt-provider.js +22 -23
  249. package/dist/prompts/providers/mcp-prompt-provider.js +1 -1
  250. package/dist/prompts/schemas.cjs +2 -24
  251. package/dist/prompts/schemas.d.ts +0 -52
  252. package/dist/prompts/schemas.d.ts.map +1 -1
  253. package/dist/prompts/schemas.js +3 -25
  254. package/dist/prompts/types.d.ts +5 -32
  255. package/dist/prompts/types.d.ts.map +1 -1
  256. package/dist/prompts/utils.js +1 -1
  257. package/dist/resources/agent-resources-provider.js +1 -1
  258. package/dist/resources/error-codes.js +1 -1
  259. package/dist/resources/errors.js +1 -1
  260. package/dist/resources/handlers/blob-handler.cjs +14 -11
  261. package/dist/resources/handlers/blob-handler.d.ts +4 -4
  262. package/dist/resources/handlers/blob-handler.d.ts.map +1 -1
  263. package/dist/resources/handlers/blob-handler.js +15 -12
  264. package/dist/resources/handlers/factory.cjs +3 -3
  265. package/dist/resources/handlers/factory.js +4 -4
  266. package/dist/resources/handlers/filesystem-handler.js +1 -1
  267. package/dist/resources/handlers/types.d.ts +2 -2
  268. package/dist/resources/handlers/types.d.ts.map +1 -1
  269. package/dist/resources/index.js +1 -1
  270. package/dist/resources/manager.cjs +10 -7
  271. package/dist/resources/manager.d.ts +4 -4
  272. package/dist/resources/manager.d.ts.map +1 -1
  273. package/dist/resources/manager.js +11 -8
  274. package/dist/resources/reference-parser.js +1 -1
  275. package/dist/resources/schemas.cjs +1 -1
  276. package/dist/resources/schemas.d.ts +2 -2
  277. package/dist/resources/schemas.js +2 -2
  278. package/dist/runtime/host-runtime.js +1 -1
  279. package/dist/runtime/index.cjs +3 -0
  280. package/dist/runtime/index.d.ts +2 -0
  281. package/dist/runtime/index.d.ts.map +1 -1
  282. package/dist/runtime/index.js +3 -1
  283. package/dist/runtime/run-context.js +1 -1
  284. package/dist/search/index.js +1 -1
  285. package/dist/search/search-service.cjs +6 -13
  286. package/dist/search/search-service.d.ts +5 -3
  287. package/dist/search/search-service.d.ts.map +1 -1
  288. package/dist/search/search-service.js +7 -14
  289. package/dist/session/chat-session.cjs +264 -108
  290. package/dist/session/chat-session.d.ts +75 -21
  291. package/dist/session/chat-session.d.ts.map +1 -1
  292. package/dist/session/chat-session.js +268 -108
  293. package/dist/session/error-codes.js +1 -1
  294. package/dist/session/errors.js +1 -1
  295. package/dist/session/index.cjs +19 -2
  296. package/dist/session/index.d.ts +4 -3
  297. package/dist/session/index.d.ts.map +1 -1
  298. package/dist/session/index.js +19 -3
  299. package/dist/session/message-queue.cjs +82 -51
  300. package/dist/session/message-queue.d.ts +13 -8
  301. package/dist/session/message-queue.d.ts.map +1 -1
  302. package/dist/session/message-queue.js +83 -52
  303. package/dist/session/queue-clone.cjs +50 -0
  304. package/dist/session/queue-clone.d.ts +5 -0
  305. package/dist/session/queue-clone.d.ts.map +1 -0
  306. package/dist/session/queue-clone.js +25 -0
  307. package/dist/session/schemas.cjs +74 -2
  308. package/dist/session/schemas.d.ts +94 -0
  309. package/dist/session/schemas.d.ts.map +1 -1
  310. package/dist/session/schemas.js +69 -2
  311. package/dist/session/session-manager.cjs +107 -123
  312. package/dist/session/session-manager.d.ts +8 -7
  313. package/dist/session/session-manager.d.ts.map +1 -1
  314. package/dist/session/session-manager.js +108 -124
  315. package/dist/session/title-generator.cjs +14 -26
  316. package/dist/session/title-generator.d.ts +4 -6
  317. package/dist/session/title-generator.d.ts.map +1 -1
  318. package/dist/session/title-generator.js +16 -28
  319. package/dist/session/types.cjs +28 -0
  320. package/dist/session/types.d.ts +5 -1
  321. package/dist/session/types.d.ts.map +1 -1
  322. package/dist/session/types.js +19 -0
  323. package/dist/{session/history/factory.cjs → skills/index.cjs} +9 -9
  324. package/dist/skills/index.d.ts +4 -0
  325. package/dist/skills/index.d.ts.map +1 -0
  326. package/dist/skills/index.js +7 -0
  327. package/dist/skills/skill-manager.cjs +76 -0
  328. package/dist/skills/skill-manager.d.ts +13 -0
  329. package/dist/skills/skill-manager.d.ts.map +1 -0
  330. package/dist/skills/skill-manager.js +53 -0
  331. package/dist/skills/types.d.ts +24 -0
  332. package/dist/skills/types.d.ts.map +1 -0
  333. package/dist/skills/workspace-skill-source.cjs +120 -0
  334. package/dist/skills/workspace-skill-source.d.ts +16 -0
  335. package/dist/skills/workspace-skill-source.d.ts.map +1 -0
  336. package/dist/skills/workspace-skill-source.js +97 -0
  337. package/dist/{llm → storage/approvals}/types.cjs +13 -30
  338. package/dist/storage/approvals/types.d.ts +54 -0
  339. package/dist/storage/approvals/types.d.ts.map +1 -0
  340. package/dist/storage/approvals/types.js +14 -0
  341. package/dist/storage/artifacts/types.d.ts +73 -0
  342. package/dist/storage/artifacts/types.d.ts.map +1 -0
  343. package/dist/storage/conversation/database.cjs +233 -0
  344. package/dist/storage/conversation/database.d.ts +38 -0
  345. package/dist/storage/conversation/database.d.ts.map +1 -0
  346. package/dist/storage/conversation/database.js +210 -0
  347. package/dist/storage/conversation/types.cjs +16 -0
  348. package/dist/storage/conversation/types.d.ts +21 -0
  349. package/dist/storage/conversation/types.d.ts.map +1 -0
  350. package/dist/storage/conversation/types.js +0 -0
  351. package/dist/storage/database/types.d.ts +4 -0
  352. package/dist/storage/database/types.d.ts.map +1 -1
  353. package/dist/storage/error-codes.js +1 -1
  354. package/dist/storage/errors.cjs +6 -6
  355. package/dist/storage/errors.d.ts +2 -2
  356. package/dist/storage/errors.js +7 -7
  357. package/dist/storage/index.cjs +42 -5
  358. package/dist/storage/index.d.ts +19 -8
  359. package/dist/storage/index.d.ts.map +1 -1
  360. package/dist/storage/index.js +39 -4
  361. package/dist/storage/memories/types.cjs +16 -0
  362. package/dist/storage/memories/types.d.ts +17 -0
  363. package/dist/storage/memories/types.d.ts.map +1 -0
  364. package/dist/storage/memories/types.js +0 -0
  365. package/dist/storage/message-queue/types.cjs +16 -0
  366. package/dist/storage/message-queue/types.d.ts +15 -0
  367. package/dist/storage/message-queue/types.d.ts.map +1 -0
  368. package/dist/storage/message-queue/types.js +0 -0
  369. package/dist/storage/prompts/types.cjs +16 -0
  370. package/dist/storage/prompts/types.d.ts +14 -0
  371. package/dist/storage/prompts/types.d.ts.map +1 -0
  372. package/dist/storage/prompts/types.js +0 -0
  373. package/dist/storage/runtime-events/types.cjs +16 -0
  374. package/dist/storage/runtime-events/types.d.ts +19 -0
  375. package/dist/storage/runtime-events/types.d.ts.map +1 -0
  376. package/dist/storage/runtime-events/types.js +0 -0
  377. package/dist/storage/sessions/types.cjs +16 -0
  378. package/dist/storage/sessions/types.d.ts +19 -0
  379. package/dist/storage/sessions/types.d.ts.map +1 -0
  380. package/dist/storage/sessions/types.js +0 -0
  381. package/dist/storage/stores/backend.cjs +702 -0
  382. package/dist/storage/stores/backend.d.ts +303 -0
  383. package/dist/storage/stores/backend.d.ts.map +1 -0
  384. package/dist/storage/stores/backend.js +677 -0
  385. package/dist/storage/stores/in-memory.cjs +510 -0
  386. package/dist/storage/stores/in-memory.d.ts +11 -0
  387. package/dist/storage/stores/in-memory.d.ts.map +1 -0
  388. package/dist/storage/stores/in-memory.js +487 -0
  389. package/dist/storage/stores/types.cjs +16 -0
  390. package/dist/storage/stores/types.d.ts +36 -0
  391. package/dist/storage/stores/types.d.ts.map +1 -0
  392. package/dist/storage/stores/types.js +0 -0
  393. package/dist/storage/tool-executions/types.cjs +127 -0
  394. package/dist/storage/tool-executions/types.d.ts +193 -0
  395. package/dist/storage/tool-executions/types.d.ts.map +1 -0
  396. package/dist/storage/tool-executions/types.js +96 -0
  397. package/dist/storage/tool-preferences/types.cjs +16 -0
  398. package/dist/storage/tool-preferences/types.d.ts +29 -0
  399. package/dist/storage/tool-preferences/types.d.ts.map +1 -0
  400. package/dist/storage/tool-preferences/types.js +0 -0
  401. package/dist/storage/tool-state/types.cjs +16 -0
  402. package/dist/storage/tool-state/types.d.ts +20 -0
  403. package/dist/storage/tool-state/types.d.ts.map +1 -0
  404. package/dist/storage/tool-state/types.js +0 -0
  405. package/dist/storage/workspaces/types.cjs +16 -0
  406. package/dist/storage/workspaces/types.d.ts +19 -0
  407. package/dist/storage/workspaces/types.d.ts.map +1 -0
  408. package/dist/storage/workspaces/types.js +0 -0
  409. package/dist/systemPrompt/contributors.cjs +10 -14
  410. package/dist/systemPrompt/contributors.d.ts +3 -3
  411. package/dist/systemPrompt/contributors.d.ts.map +1 -1
  412. package/dist/systemPrompt/contributors.js +11 -15
  413. package/dist/systemPrompt/error-codes.js +1 -1
  414. package/dist/systemPrompt/errors.js +1 -1
  415. package/dist/systemPrompt/in-built-prompts.js +1 -1
  416. package/dist/systemPrompt/index.js +1 -1
  417. package/dist/systemPrompt/manager.js +1 -1
  418. package/dist/systemPrompt/registry.js +1 -1
  419. package/dist/systemPrompt/schemas.js +1 -1
  420. package/dist/telemetry/decorators.js +1 -1
  421. package/dist/telemetry/error-codes.js +1 -1
  422. package/dist/telemetry/errors.js +1 -1
  423. package/dist/telemetry/exporters.js +1 -1
  424. package/dist/telemetry/index.js +1 -1
  425. package/dist/telemetry/schemas.js +1 -1
  426. package/dist/telemetry/telemetry.js +1 -1
  427. package/dist/telemetry/utils.js +1 -1
  428. package/dist/test-utils/in-memory-storage.cjs +9 -17
  429. package/dist/test-utils/in-memory-storage.js +9 -16
  430. package/dist/test-utils/session-state-stores.cjs +21 -24
  431. package/dist/test-utils/session-state-stores.js +22 -24
  432. package/dist/tools/{confirmation → approval}/allowed-tools-provider/factory.cjs +1 -1
  433. package/dist/tools/{confirmation → approval}/allowed-tools-provider/factory.d.ts +2 -2
  434. package/dist/tools/approval/allowed-tools-provider/factory.d.ts.map +1 -0
  435. package/dist/tools/{confirmation → approval}/allowed-tools-provider/factory.js +2 -2
  436. package/dist/tools/approval/allowed-tools-provider/in-memory.d.ts.map +1 -0
  437. package/dist/tools/{confirmation → approval}/allowed-tools-provider/in-memory.js +1 -1
  438. package/dist/tools/approval/allowed-tools-provider/storage.cjs +66 -0
  439. package/dist/tools/{confirmation → approval}/allowed-tools-provider/storage.d.ts +4 -10
  440. package/dist/tools/approval/allowed-tools-provider/storage.d.ts.map +1 -0
  441. package/dist/tools/approval/allowed-tools-provider/storage.js +43 -0
  442. package/dist/tools/approval/allowed-tools-provider/types.cjs +16 -0
  443. package/dist/tools/approval/allowed-tools-provider/types.d.ts.map +1 -0
  444. package/dist/tools/approval/allowed-tools-provider/types.js +0 -0
  445. package/dist/tools/approval/session-tool-policy.cjs +269 -0
  446. package/dist/tools/approval/session-tool-policy.d.ts +43 -0
  447. package/dist/tools/approval/session-tool-policy.d.ts.map +1 -0
  448. package/dist/tools/approval/session-tool-policy.js +245 -0
  449. package/dist/tools/define-tool.js +1 -1
  450. package/dist/tools/display-types.js +1 -1
  451. package/dist/tools/error-codes.cjs +3 -3
  452. package/dist/tools/error-codes.d.ts +4 -4
  453. package/dist/tools/error-codes.d.ts.map +1 -1
  454. package/dist/tools/error-codes.js +4 -4
  455. package/dist/tools/errors.cjs +12 -12
  456. package/dist/tools/errors.d.ts +6 -6
  457. package/dist/tools/errors.d.ts.map +1 -1
  458. package/dist/tools/errors.js +13 -13
  459. package/dist/tools/index.cjs +3 -0
  460. package/dist/tools/index.d.ts +3 -0
  461. package/dist/tools/index.d.ts.map +1 -1
  462. package/dist/tools/index.js +3 -1
  463. package/dist/tools/pattern-utils.js +1 -1
  464. package/dist/tools/presentation/tool-presentation.cjs +182 -0
  465. package/dist/tools/presentation/tool-presentation.d.ts +51 -0
  466. package/dist/tools/presentation/tool-presentation.d.ts.map +1 -0
  467. package/dist/tools/presentation/tool-presentation.js +159 -0
  468. package/dist/tools/presentation.js +1 -1
  469. package/dist/tools/schemas.cjs +5 -10
  470. package/dist/tools/schemas.d.ts +1 -4
  471. package/dist/tools/schemas.d.ts.map +1 -1
  472. package/dist/tools/schemas.js +6 -11
  473. package/dist/tools/session-tool-preferences-store.cjs +12 -28
  474. package/dist/tools/session-tool-preferences-store.d.ts +4 -7
  475. package/dist/tools/session-tool-preferences-store.d.ts.map +1 -1
  476. package/dist/tools/session-tool-preferences-store.js +12 -29
  477. package/dist/tools/tool-call-metadata.js +1 -1
  478. package/dist/tools/tool-manager.cjs +871 -834
  479. package/dist/tools/tool-manager.d.ts +94 -96
  480. package/dist/tools/tool-manager.d.ts.map +1 -1
  481. package/dist/tools/tool-manager.js +876 -833
  482. package/dist/tools/types.d.ts +10 -14
  483. package/dist/tools/types.d.ts.map +1 -1
  484. package/dist/utils/api-key-resolver.d.ts +1 -1
  485. package/dist/utils/api-key-resolver.d.ts.map +1 -1
  486. package/dist/utils/api-key-resolver.js +1 -1
  487. package/dist/utils/async-context.js +1 -1
  488. package/dist/utils/debug.js +1 -1
  489. package/dist/utils/defer.js +1 -1
  490. package/dist/utils/env.js +1 -1
  491. package/dist/utils/error-conversion.js +1 -1
  492. package/dist/utils/execution-context.js +1 -1
  493. package/dist/utils/fs-walk.js +1 -1
  494. package/dist/utils/path.js +1 -1
  495. package/dist/utils/redactor.js +1 -1
  496. package/dist/utils/result.js +1 -1
  497. package/dist/utils/safe-stringify.js +1 -1
  498. package/dist/utils/schema.js +1 -1
  499. package/dist/utils/service-initializer.cjs +37 -33
  500. package/dist/utils/service-initializer.d.ts +9 -5
  501. package/dist/utils/service-initializer.d.ts.map +1 -1
  502. package/dist/utils/service-initializer.js +38 -34
  503. package/dist/utils/zod-schema-converter.js +1 -1
  504. package/dist/workspace/error-codes.cjs +5 -1
  505. package/dist/workspace/error-codes.d.ts +4 -0
  506. package/dist/workspace/error-codes.d.ts.map +1 -1
  507. package/dist/workspace/error-codes.js +6 -2
  508. package/dist/workspace/errors.cjs +43 -0
  509. package/dist/workspace/errors.d.ts +9 -0
  510. package/dist/workspace/errors.d.ts.map +1 -1
  511. package/dist/workspace/errors.js +44 -1
  512. package/dist/workspace/index.d.ts +1 -1
  513. package/dist/workspace/index.d.ts.map +1 -1
  514. package/dist/workspace/index.js +1 -1
  515. package/dist/workspace/manager.cjs +21 -29
  516. package/dist/workspace/manager.d.ts +6 -6
  517. package/dist/workspace/manager.d.ts.map +1 -1
  518. package/dist/workspace/manager.js +22 -30
  519. package/dist/workspace/types.d.ts +47 -0
  520. package/dist/workspace/types.d.ts.map +1 -1
  521. package/package.json +116 -3
  522. package/dist/approval/session-approval-store.cjs +0 -91
  523. package/dist/approval/session-approval-store.d.ts +0 -37
  524. package/dist/approval/session-approval-store.d.ts.map +0 -1
  525. package/dist/approval/session-approval-store.js +0 -68
  526. package/dist/llm/reasoning/anthropic-betas.d.ts +0 -3
  527. package/dist/llm/reasoning/anthropic-betas.d.ts.map +0 -1
  528. package/dist/llm/reasoning/anthropic-betas.js +0 -7
  529. package/dist/llm/reasoning/anthropic-thinking.cjs +0 -79
  530. package/dist/llm/reasoning/anthropic-thinking.d.ts +0 -15
  531. package/dist/llm/reasoning/anthropic-thinking.d.ts.map +0 -1
  532. package/dist/llm/reasoning/anthropic-thinking.js +0 -52
  533. package/dist/llm/reasoning/openai-reasoning-effort.cjs +0 -86
  534. package/dist/llm/reasoning/openai-reasoning-effort.d.ts +0 -5
  535. package/dist/llm/reasoning/openai-reasoning-effort.d.ts.map +0 -1
  536. package/dist/llm/reasoning/openai-reasoning-effort.js +0 -61
  537. package/dist/llm/reasoning/profile.cjs +0 -113
  538. package/dist/llm/reasoning/profile.d.ts +0 -13
  539. package/dist/llm/reasoning/profile.d.ts.map +0 -1
  540. package/dist/llm/reasoning/profile.js +0 -92
  541. package/dist/llm/reasoning/profiles/anthropic.cjs +0 -61
  542. package/dist/llm/reasoning/profiles/anthropic.d.ts +0 -8
  543. package/dist/llm/reasoning/profiles/anthropic.d.ts.map +0 -1
  544. package/dist/llm/reasoning/profiles/anthropic.js +0 -45
  545. package/dist/llm/reasoning/profiles/bedrock.cjs +0 -54
  546. package/dist/llm/reasoning/profiles/bedrock.d.ts +0 -3
  547. package/dist/llm/reasoning/profiles/bedrock.d.ts.map +0 -1
  548. package/dist/llm/reasoning/profiles/bedrock.js +0 -36
  549. package/dist/llm/reasoning/profiles/google.cjs +0 -45
  550. package/dist/llm/reasoning/profiles/google.d.ts +0 -9
  551. package/dist/llm/reasoning/profiles/google.d.ts.map +0 -1
  552. package/dist/llm/reasoning/profiles/google.js +0 -21
  553. package/dist/llm/reasoning/profiles/openai-compatible.cjs +0 -39
  554. package/dist/llm/reasoning/profiles/openai-compatible.d.ts +0 -3
  555. package/dist/llm/reasoning/profiles/openai-compatible.d.ts.map +0 -1
  556. package/dist/llm/reasoning/profiles/openai-compatible.js +0 -16
  557. package/dist/llm/reasoning/profiles/openai.d.ts +0 -3
  558. package/dist/llm/reasoning/profiles/openai.d.ts.map +0 -1
  559. package/dist/llm/reasoning/profiles/openai.js +0 -18
  560. package/dist/llm/reasoning/profiles/openrouter.cjs +0 -83
  561. package/dist/llm/reasoning/profiles/openrouter.d.ts +0 -10
  562. package/dist/llm/reasoning/profiles/openrouter.d.ts.map +0 -1
  563. package/dist/llm/reasoning/profiles/openrouter.js +0 -59
  564. package/dist/llm/reasoning/profiles/shared.cjs +0 -80
  565. package/dist/llm/reasoning/profiles/shared.d.ts +0 -25
  566. package/dist/llm/reasoning/profiles/shared.d.ts.map +0 -1
  567. package/dist/llm/reasoning/profiles/shared.js +0 -53
  568. package/dist/llm/reasoning/profiles/vertex.cjs +0 -46
  569. package/dist/llm/reasoning/profiles/vertex.d.ts +0 -3
  570. package/dist/llm/reasoning/profiles/vertex.d.ts.map +0 -1
  571. package/dist/llm/reasoning/profiles/vertex.js +0 -23
  572. package/dist/llm/registry/models.generated.cjs +0 -10741
  573. package/dist/llm/registry/models.generated.d.ts +0 -2945
  574. package/dist/llm/registry/models.generated.d.ts.map +0 -1
  575. package/dist/llm/registry/models.generated.js +0 -10717
  576. package/dist/llm/registry/models.manual.cjs +0 -44
  577. package/dist/llm/registry/models.manual.d.ts +0 -22
  578. package/dist/llm/registry/models.manual.d.ts.map +0 -1
  579. package/dist/llm/registry/models.manual.js +0 -21
  580. package/dist/llm/types.d.ts +0 -39
  581. package/dist/llm/types.d.ts.map +0 -1
  582. package/dist/llm/types.js +0 -30
  583. package/dist/session/history/database.cjs +0 -232
  584. package/dist/session/history/database.d.ts +0 -41
  585. package/dist/session/history/database.d.ts.map +0 -1
  586. package/dist/session/history/database.js +0 -209
  587. package/dist/session/history/factory.d.ts +0 -11
  588. package/dist/session/history/factory.d.ts.map +0 -1
  589. package/dist/session/history/factory.js +0 -8
  590. package/dist/session/history/memory.cjs +0 -57
  591. package/dist/session/history/memory.d.ts +0 -22
  592. package/dist/session/history/memory.d.ts.map +0 -1
  593. package/dist/session/history/memory.js +0 -34
  594. package/dist/session/history/types.d.ts +0 -26
  595. package/dist/session/history/types.d.ts.map +0 -1
  596. package/dist/session/message-queue-store.cjs +0 -75
  597. package/dist/session/message-queue-store.d.ts +0 -16
  598. package/dist/session/message-queue-store.d.ts.map +0 -1
  599. package/dist/session/message-queue-store.js +0 -52
  600. package/dist/storage/storage-manager.cjs +0 -209
  601. package/dist/storage/storage-manager.d.ts +0 -77
  602. package/dist/storage/storage-manager.d.ts.map +0 -1
  603. package/dist/storage/storage-manager.js +0 -186
  604. package/dist/tools/confirmation/allowed-tools-provider/factory.d.ts.map +0 -1
  605. package/dist/tools/confirmation/allowed-tools-provider/in-memory.d.ts.map +0 -1
  606. package/dist/tools/confirmation/allowed-tools-provider/storage.cjs +0 -69
  607. package/dist/tools/confirmation/allowed-tools-provider/storage.d.ts.map +0 -1
  608. package/dist/tools/confirmation/allowed-tools-provider/storage.js +0 -46
  609. package/dist/tools/confirmation/allowed-tools-provider/types.d.ts.map +0 -1
  610. /package/dist/{session/history → skills}/types.cjs +0 -0
  611. /package/dist/{session/history → skills}/types.js +0 -0
  612. /package/dist/{tools/confirmation/allowed-tools-provider → storage/artifacts}/types.cjs +0 -0
  613. /package/dist/{tools/confirmation/allowed-tools-provider → storage/artifacts}/types.js +0 -0
  614. /package/dist/tools/{confirmation → approval}/allowed-tools-provider/in-memory.cjs +0 -0
  615. /package/dist/tools/{confirmation → approval}/allowed-tools-provider/in-memory.d.ts +0 -0
  616. /package/dist/tools/{confirmation → approval}/allowed-tools-provider/types.d.ts +0 -0
@@ -0,0 +1,487 @@
1
+ import "../../chunk-C6A6W6XS.js";
2
+ import { createHash, randomUUID } from "crypto";
3
+ import { cloneInternalMessage, cloneInternalMessages } from "../../context/content-clone.js";
4
+ import { cloneQueuedMessages } from "../../session/queue-clone.js";
5
+ import { splitToolExecutionResult } from "../tool-executions/types.js";
6
+ import { StorageError } from "../errors.js";
7
+ const GLOBAL_SCOPE = "global";
8
+ const DEFAULT_APPROVAL_STATE = {
9
+ toolPatterns: {},
10
+ approvedDirectories: []
11
+ };
12
+ const DEFAULT_TOOL_PREFERENCES = {
13
+ userAutoApproveTools: [],
14
+ disabledTools: []
15
+ };
16
+ class InMemoryConversationStore {
17
+ messages = /* @__PURE__ */ new Map();
18
+ async listMessages(input) {
19
+ return cloneInternalMessages(this.messages.get(input.sessionId) ?? []);
20
+ }
21
+ async saveMessage(input) {
22
+ const messages = this.messages.get(input.sessionId) ?? [];
23
+ if (input.message.id && messages.some((message) => message.id === input.message.id)) {
24
+ return;
25
+ }
26
+ messages.push(cloneInternalMessage(input.message));
27
+ this.messages.set(input.sessionId, messages);
28
+ }
29
+ async updateMessage(input) {
30
+ if (!input.message.id) {
31
+ return;
32
+ }
33
+ const messages = this.messages.get(input.sessionId) ?? [];
34
+ const index = messages.findIndex((message) => message.id === input.message.id);
35
+ if (index === -1) {
36
+ return;
37
+ }
38
+ messages[index] = cloneInternalMessage(input.message);
39
+ this.messages.set(input.sessionId, messages);
40
+ }
41
+ async clearMessages(input) {
42
+ this.messages.delete(input.sessionId);
43
+ }
44
+ async flush(_input) {
45
+ }
46
+ }
47
+ class InMemoryApprovalStore {
48
+ requests = /* @__PURE__ */ new Map();
49
+ responses = /* @__PURE__ */ new Map();
50
+ sessionStates = /* @__PURE__ */ new Map();
51
+ async createRequest(input) {
52
+ const existing = this.requests.get(input.request.approvalId);
53
+ if (existing) {
54
+ return structuredClone(existing);
55
+ }
56
+ this.requests.set(input.request.approvalId, structuredClone(input.request));
57
+ return structuredClone(input.request);
58
+ }
59
+ async getRequest(input) {
60
+ const request = this.requests.get(input.approvalId);
61
+ return request ? structuredClone(request) : void 0;
62
+ }
63
+ async listPending(input) {
64
+ const pending = [];
65
+ for (const request of this.requests.values()) {
66
+ if (this.responses.has(request.approvalId)) {
67
+ continue;
68
+ }
69
+ if (input.sessionId !== void 0 && request.sessionId !== input.sessionId) {
70
+ continue;
71
+ }
72
+ pending.push(structuredClone(request));
73
+ }
74
+ return pending;
75
+ }
76
+ async saveResponse(input) {
77
+ const existing = this.responses.get(input.response.approvalId);
78
+ if (existing) {
79
+ return { response: structuredClone(existing), status: "replayed" };
80
+ }
81
+ this.responses.set(input.response.approvalId, structuredClone(input.response));
82
+ return { response: structuredClone(input.response), status: "created" };
83
+ }
84
+ async getResponse(input) {
85
+ const response = this.responses.get(input.approvalId);
86
+ return response ? structuredClone(response) : void 0;
87
+ }
88
+ async loadSessionState(input) {
89
+ return structuredClone(
90
+ this.sessionStates.get(input.sessionId ?? GLOBAL_SCOPE) ?? DEFAULT_APPROVAL_STATE
91
+ );
92
+ }
93
+ async saveSessionState(input) {
94
+ this.sessionStates.set(input.sessionId ?? GLOBAL_SCOPE, structuredClone(input.state));
95
+ }
96
+ async deleteSessionState(input) {
97
+ this.sessionStates.delete(input.sessionId ?? GLOBAL_SCOPE);
98
+ }
99
+ }
100
+ class InMemorySessionStore {
101
+ sessions = /* @__PURE__ */ new Map();
102
+ async listSessionIds() {
103
+ return Array.from(this.sessions.keys());
104
+ }
105
+ async getSession(input) {
106
+ const session = this.sessions.get(input.sessionId);
107
+ return session ? structuredClone(session) : void 0;
108
+ }
109
+ async saveSession(input) {
110
+ void input.ttlSeconds;
111
+ this.sessions.set(input.sessionId, structuredClone(input.session));
112
+ }
113
+ async deleteSession(input) {
114
+ this.sessions.delete(input.sessionId);
115
+ }
116
+ async evictSession(_input) {
117
+ }
118
+ }
119
+ class InMemoryMemoryStore {
120
+ memories = /* @__PURE__ */ new Map();
121
+ async create(input) {
122
+ this.memories.set(input.memory.id, structuredClone(input.memory));
123
+ }
124
+ async get(input) {
125
+ const memory = this.memories.get(input.id);
126
+ return memory ? structuredClone(memory) : void 0;
127
+ }
128
+ async update(input) {
129
+ this.memories.set(input.memory.id, structuredClone(input.memory));
130
+ }
131
+ async delete(input) {
132
+ this.memories.delete(input.id);
133
+ }
134
+ async list() {
135
+ return structuredClone(Array.from(this.memories.values()));
136
+ }
137
+ }
138
+ class InMemoryWorkspaceStore {
139
+ workspaces = /* @__PURE__ */ new Map();
140
+ currentWorkspaceId;
141
+ async saveWorkspace(input) {
142
+ this.workspaces.set(input.workspace.id, structuredClone(input.workspace));
143
+ }
144
+ async getWorkspace(input) {
145
+ const workspace = this.workspaces.get(input.id);
146
+ return workspace ? structuredClone(workspace) : void 0;
147
+ }
148
+ async findWorkspaceByPath(input) {
149
+ for (const workspace of this.workspaces.values()) {
150
+ if (workspace.path === input.path) {
151
+ return structuredClone(workspace);
152
+ }
153
+ }
154
+ return void 0;
155
+ }
156
+ async listWorkspaces() {
157
+ return structuredClone(Array.from(this.workspaces.values()));
158
+ }
159
+ async setCurrentWorkspace(input) {
160
+ this.currentWorkspaceId = input.id;
161
+ }
162
+ async getCurrentWorkspaceId() {
163
+ return this.currentWorkspaceId;
164
+ }
165
+ async clearCurrentWorkspace() {
166
+ this.currentWorkspaceId = void 0;
167
+ }
168
+ }
169
+ class InMemoryToolPreferenceStore {
170
+ allowedTools = /* @__PURE__ */ new Map();
171
+ sessionPreferences = /* @__PURE__ */ new Map();
172
+ async allowTool(input) {
173
+ this.getAllowedToolSet(input.sessionId).add(input.toolName);
174
+ }
175
+ async disallowTool(input) {
176
+ this.getAllowedToolSet(input.sessionId).delete(input.toolName);
177
+ }
178
+ async isToolAllowed(input) {
179
+ return this.getAllowedToolSet(input.sessionId).has(input.toolName) || this.getAllowedToolSet(void 0).has(input.toolName);
180
+ }
181
+ async listAllowedTools(input) {
182
+ return Array.from(this.getAllowedToolSet(input.sessionId));
183
+ }
184
+ async loadSessionPreferences(input) {
185
+ return structuredClone(
186
+ this.sessionPreferences.get(input.sessionId) ?? DEFAULT_TOOL_PREFERENCES
187
+ );
188
+ }
189
+ async saveSessionPreferences(input) {
190
+ this.sessionPreferences.set(input.sessionId, structuredClone(input.preferences));
191
+ }
192
+ async deleteSessionPreferences(input) {
193
+ this.sessionPreferences.delete(input.sessionId);
194
+ }
195
+ getAllowedToolSet(sessionId) {
196
+ const key = sessionId ?? GLOBAL_SCOPE;
197
+ const existing = this.allowedTools.get(key);
198
+ if (existing) {
199
+ return existing;
200
+ }
201
+ const tools = /* @__PURE__ */ new Set();
202
+ this.allowedTools.set(key, tools);
203
+ return tools;
204
+ }
205
+ }
206
+ class InMemorySessionMessageQueueStore {
207
+ queues = /* @__PURE__ */ new Map();
208
+ async listSessionIds() {
209
+ return Array.from(this.queues.keys());
210
+ }
211
+ async load(input) {
212
+ return cloneQueuedMessages(this.queues.get(input.sessionId) ?? []);
213
+ }
214
+ async save(input) {
215
+ if (input.queue.length === 0) {
216
+ this.queues.delete(input.sessionId);
217
+ return;
218
+ }
219
+ this.queues.set(input.sessionId, cloneQueuedMessages(input.queue));
220
+ }
221
+ async delete(input) {
222
+ this.queues.delete(input.sessionId);
223
+ }
224
+ }
225
+ class InMemoryCustomPromptStore {
226
+ prompts = /* @__PURE__ */ new Map();
227
+ async save(input) {
228
+ this.prompts.set(input.prompt.name, structuredClone(input.prompt));
229
+ }
230
+ async get(input) {
231
+ const prompt = this.prompts.get(input.name);
232
+ return prompt ? structuredClone(prompt) : void 0;
233
+ }
234
+ async delete(input) {
235
+ this.prompts.delete(input.name);
236
+ }
237
+ async list() {
238
+ return structuredClone(Array.from(this.prompts.values()));
239
+ }
240
+ }
241
+ class InMemoryArtifactStore {
242
+ artifacts = /* @__PURE__ */ new Map();
243
+ async store(input) {
244
+ const data = this.toBuffer(input.data);
245
+ const id = randomUUID();
246
+ const hash = createHash("sha256").update(data).digest("hex");
247
+ const metadata = this.createMetadata(id, data, hash, input.metadata);
248
+ this.artifacts.set(id, { data, metadata });
249
+ return { id, uri: `blob:${id}`, metadata: structuredClone(metadata) };
250
+ }
251
+ async retrieve(input) {
252
+ const id = this.toId(input.reference);
253
+ const artifact = this.artifacts.get(id);
254
+ if (!artifact) {
255
+ throw StorageError.blobNotFound(input.reference);
256
+ }
257
+ if (input.format === "buffer") {
258
+ return {
259
+ format: "buffer",
260
+ data: Buffer.from(artifact.data),
261
+ metadata: structuredClone(artifact.metadata)
262
+ };
263
+ }
264
+ return {
265
+ format: "base64",
266
+ data: artifact.data.toString("base64"),
267
+ metadata: structuredClone(artifact.metadata)
268
+ };
269
+ }
270
+ async exists(input) {
271
+ return this.artifacts.has(this.toId(input.reference));
272
+ }
273
+ async delete(input) {
274
+ this.artifacts.delete(this.toId(input.reference));
275
+ }
276
+ async cleanup(input = {}) {
277
+ let deleted = 0;
278
+ for (const [id, artifact] of this.artifacts.entries()) {
279
+ if (input.olderThan && artifact.metadata.createdAt >= input.olderThan) {
280
+ continue;
281
+ }
282
+ this.artifacts.delete(id);
283
+ deleted++;
284
+ }
285
+ return deleted;
286
+ }
287
+ async getStats() {
288
+ let totalSize = 0;
289
+ for (const artifact of this.artifacts.values()) {
290
+ totalSize += artifact.metadata.size;
291
+ }
292
+ return {
293
+ count: this.artifacts.size,
294
+ totalSize,
295
+ backendType: "in-memory"
296
+ };
297
+ }
298
+ async listArtifacts() {
299
+ return Array.from(this.artifacts.values()).map((artifact) => ({
300
+ id: artifact.metadata.id,
301
+ uri: `blob:${artifact.metadata.id}`,
302
+ metadata: structuredClone(artifact.metadata)
303
+ }));
304
+ }
305
+ getStoragePath() {
306
+ return void 0;
307
+ }
308
+ toBuffer(input) {
309
+ if (typeof input === "string") {
310
+ return Buffer.from(input, "base64");
311
+ }
312
+ if (input instanceof Uint8Array) {
313
+ return Buffer.from(input);
314
+ }
315
+ return Buffer.from(input);
316
+ }
317
+ createMetadata(id, data, hash, metadata) {
318
+ return {
319
+ id,
320
+ mimeType: metadata?.mimeType ?? "application/octet-stream",
321
+ ...metadata?.originalName !== void 0 && { originalName: metadata.originalName },
322
+ createdAt: metadata?.createdAt ?? /* @__PURE__ */ new Date(),
323
+ size: metadata?.size ?? data.byteLength,
324
+ hash,
325
+ ...metadata?.source !== void 0 && { source: metadata.source }
326
+ };
327
+ }
328
+ toId(reference) {
329
+ if (reference.startsWith("artifact:")) {
330
+ return reference.slice("artifact:".length);
331
+ }
332
+ if (reference.startsWith("blob:")) {
333
+ return reference.slice("blob:".length);
334
+ }
335
+ return reference;
336
+ }
337
+ }
338
+ class InMemoryRuntimeEventStore {
339
+ events = [];
340
+ async append(input) {
341
+ this.events.push(structuredClone(input.event));
342
+ }
343
+ async list(input) {
344
+ const events = this.events.filter((event) => {
345
+ if (input.sessionId !== void 0 && event.sessionId !== input.sessionId) {
346
+ return false;
347
+ }
348
+ if (input.runId !== void 0 && event.runId !== input.runId) {
349
+ return false;
350
+ }
351
+ return true;
352
+ });
353
+ return structuredClone(input.limit === void 0 ? events : events.slice(-input.limit));
354
+ }
355
+ }
356
+ class InMemoryToolStateStore {
357
+ values = /* @__PURE__ */ new Map();
358
+ async get(input) {
359
+ return structuredClone(this.values.get(this.toKey(input)));
360
+ }
361
+ async set(input) {
362
+ this.values.set(this.toKey(input), structuredClone(input.value));
363
+ }
364
+ async delete(input) {
365
+ this.values.delete(this.toKey(input));
366
+ }
367
+ async listKeys(input) {
368
+ const prefix = this.toKey({ toolName: input.toolName, key: input.prefix ?? "" });
369
+ return Array.from(this.values.keys()).filter((key) => key.startsWith(prefix)).map((key) => key.slice(this.toKey({ toolName: input.toolName, key: "" }).length));
370
+ }
371
+ toKey(input) {
372
+ return `${input.toolName}:${input.key}`;
373
+ }
374
+ }
375
+ class InMemoryToolExecutionStore {
376
+ records = /* @__PURE__ */ new Map();
377
+ async get(input) {
378
+ const record = this.records.get(input.executionId);
379
+ return record ? structuredClone(record) : void 0;
380
+ }
381
+ async start(input) {
382
+ const existing = this.records.get(input.record.executionId);
383
+ if (existing) {
384
+ return { status: "existing", record: structuredClone(existing) };
385
+ }
386
+ this.records.set(input.record.executionId, structuredClone(input.record));
387
+ return { status: "started", record: structuredClone(input.record) };
388
+ }
389
+ async complete(input) {
390
+ const existing = this.requireRecord(input.executionId);
391
+ if (existing.status === "completed") {
392
+ return structuredClone(existing);
393
+ }
394
+ if (existing.status !== "running") {
395
+ throw new Error(`Tool execution is already ${existing.status}: ${input.executionId}`);
396
+ }
397
+ const resultParts = splitToolExecutionResult(input.result);
398
+ const record = {
399
+ ...existing,
400
+ status: "completed",
401
+ completedAt: input.completedAt,
402
+ updatedAt: input.completedAt,
403
+ ...resultParts
404
+ };
405
+ this.records.set(input.executionId, structuredClone(record));
406
+ return structuredClone(record);
407
+ }
408
+ async fail(input) {
409
+ const existing = this.requireRecord(input.executionId);
410
+ if (existing.status === "failed") {
411
+ return structuredClone(existing);
412
+ }
413
+ if (existing.status !== "running") {
414
+ throw new Error(`Tool execution is already ${existing.status}: ${input.executionId}`);
415
+ }
416
+ const record = {
417
+ ...existing,
418
+ status: "failed",
419
+ completedAt: input.completedAt,
420
+ updatedAt: input.completedAt,
421
+ error: input.error
422
+ };
423
+ this.records.set(input.executionId, structuredClone(record));
424
+ return structuredClone(record);
425
+ }
426
+ async cancel(input) {
427
+ const existing = this.requireRecord(input.executionId);
428
+ if (existing.status === "cancelled") {
429
+ return structuredClone(existing);
430
+ }
431
+ if (existing.status !== "running") {
432
+ throw new Error(`Tool execution is already ${existing.status}: ${input.executionId}`);
433
+ }
434
+ const record = {
435
+ ...existing,
436
+ status: "cancelled",
437
+ completedAt: input.completedAt,
438
+ updatedAt: input.completedAt,
439
+ ...input.reason !== void 0 ? { reason: input.reason } : {}
440
+ };
441
+ this.records.set(input.executionId, structuredClone(record));
442
+ return structuredClone(record);
443
+ }
444
+ requireRecord(executionId) {
445
+ const existing = this.records.get(executionId);
446
+ if (!existing) {
447
+ throw new Error(`Tool execution record not found: ${executionId}`);
448
+ }
449
+ return existing;
450
+ }
451
+ }
452
+ class InMemoryDextoStores {
453
+ connected = false;
454
+ stores = {
455
+ conversation: new InMemoryConversationStore(),
456
+ sessions: new InMemorySessionStore(),
457
+ memories: new InMemoryMemoryStore(),
458
+ workspaces: new InMemoryWorkspaceStore(),
459
+ approvals: new InMemoryApprovalStore(),
460
+ toolPreferences: new InMemoryToolPreferenceStore(),
461
+ toolState: new InMemoryToolStateStore(),
462
+ steerQueue: new InMemorySessionMessageQueueStore(),
463
+ followUpQueue: new InMemorySessionMessageQueueStore(),
464
+ customPrompts: new InMemoryCustomPromptStore(),
465
+ artifacts: new InMemoryArtifactStore(),
466
+ runtimeEvents: new InMemoryRuntimeEventStore(),
467
+ toolExecutions: new InMemoryToolExecutionStore()
468
+ };
469
+ getStore(name) {
470
+ return this.stores[name];
471
+ }
472
+ async connect() {
473
+ this.connected = true;
474
+ }
475
+ async disconnect() {
476
+ this.connected = false;
477
+ }
478
+ isConnected() {
479
+ return this.connected;
480
+ }
481
+ getStoreType() {
482
+ return "in-memory";
483
+ }
484
+ }
485
+ export {
486
+ InMemoryDextoStores
487
+ };
@@ -0,0 +1,16 @@
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 __copyProps = (to, from, except, desc) => {
7
+ if (from && typeof from === "object" || typeof from === "function") {
8
+ for (let key of __getOwnPropNames(from))
9
+ if (!__hasOwnProp.call(to, key) && key !== except)
10
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
11
+ }
12
+ return to;
13
+ };
14
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
15
+ var types_exports = {};
16
+ module.exports = __toCommonJS(types_exports);
@@ -0,0 +1,36 @@
1
+ import type { ApprovalStore } from '../approvals/types.js';
2
+ import type { ArtifactStore } from '../artifacts/types.js';
3
+ import type { ConversationStore } from '../conversation/types.js';
4
+ import type { MemoryStore } from '../memories/types.js';
5
+ import type { SessionMessageQueueStore } from '../message-queue/types.js';
6
+ import type { CustomPromptStore } from '../prompts/types.js';
7
+ import type { RuntimeEventStore } from '../runtime-events/types.js';
8
+ import type { SessionStore } from '../sessions/types.js';
9
+ import type { ToolExecutionStore } from '../tool-executions/types.js';
10
+ import type { ToolStateStore } from '../tool-state/types.js';
11
+ import type { ToolPreferenceStore } from '../tool-preferences/types.js';
12
+ import type { WorkspaceStore } from '../workspaces/types.js';
13
+ export interface DextoStoreMap {
14
+ conversation: ConversationStore;
15
+ sessions: SessionStore;
16
+ memories: MemoryStore;
17
+ workspaces: WorkspaceStore;
18
+ approvals: ApprovalStore;
19
+ toolPreferences: ToolPreferenceStore;
20
+ toolState: ToolStateStore;
21
+ steerQueue: SessionMessageQueueStore;
22
+ followUpQueue: SessionMessageQueueStore;
23
+ customPrompts: CustomPromptStore;
24
+ artifacts: ArtifactStore;
25
+ runtimeEvents: RuntimeEventStore;
26
+ toolExecutions: ToolExecutionStore;
27
+ }
28
+ export type DextoStoreName = keyof DextoStoreMap;
29
+ export interface DextoStores {
30
+ getStore<K extends DextoStoreName>(name: K): DextoStoreMap[K];
31
+ connect(): Promise<void>;
32
+ disconnect(): Promise<void>;
33
+ isConnected(): boolean;
34
+ getStoreType(): string;
35
+ }
36
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/storage/stores/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAC3D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAC3D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAClE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,2BAA2B,CAAC;AAC1E,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAC7D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AACpE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,6BAA6B,CAAC;AACtE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAC7D,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,8BAA8B,CAAC;AACxE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAE7D,MAAM,WAAW,aAAa;IAC1B,YAAY,EAAE,iBAAiB,CAAC;IAChC,QAAQ,EAAE,YAAY,CAAC;IACvB,QAAQ,EAAE,WAAW,CAAC;IACtB,UAAU,EAAE,cAAc,CAAC;IAC3B,SAAS,EAAE,aAAa,CAAC;IACzB,eAAe,EAAE,mBAAmB,CAAC;IACrC,SAAS,EAAE,cAAc,CAAC;IAC1B,UAAU,EAAE,wBAAwB,CAAC;IACrC,aAAa,EAAE,wBAAwB,CAAC;IACxC,aAAa,EAAE,iBAAiB,CAAC;IACjC,SAAS,EAAE,aAAa,CAAC;IACzB,aAAa,EAAE,iBAAiB,CAAC;IACjC,cAAc,EAAE,kBAAkB,CAAC;CACtC;AAED,MAAM,MAAM,cAAc,GAAG,MAAM,aAAa,CAAC;AAEjD,MAAM,WAAW,WAAW;IACxB,QAAQ,CAAC,CAAC,SAAS,cAAc,EAAE,IAAI,EAAE,CAAC,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC;IAC9D,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACzB,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAC5B,WAAW,IAAI,OAAO,CAAC;IACvB,YAAY,IAAI,MAAM,CAAC;CAC1B"}
File without changes
@@ -0,0 +1,127 @@
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 types_exports = {};
20
+ __export(types_exports, {
21
+ ToolExecutionCancelledRecordSchema: () => ToolExecutionCancelledRecordSchema,
22
+ ToolExecutionCompletedRecordSchema: () => ToolExecutionCompletedRecordSchema,
23
+ ToolExecutionFailedRecordSchema: () => ToolExecutionFailedRecordSchema,
24
+ ToolExecutionIdentitySchema: () => ToolExecutionIdentitySchema,
25
+ ToolExecutionRecordSchema: () => ToolExecutionRecordSchema,
26
+ ToolExecutionRunningRecordSchema: () => ToolExecutionRunningRecordSchema,
27
+ completedToolExecutionToResult: () => completedToolExecutionToResult,
28
+ createToolExecutionId: () => createToolExecutionId,
29
+ splitToolExecutionResult: () => splitToolExecutionResult
30
+ });
31
+ module.exports = __toCommonJS(types_exports);
32
+ var import_crypto = require("crypto");
33
+ var import_zod = require("zod");
34
+ const ToolExecutionIdentitySchema = import_zod.z.object({
35
+ runId: import_zod.z.string().min(1),
36
+ turnId: import_zod.z.string().min(1),
37
+ modelStepId: import_zod.z.string().min(1),
38
+ toolCallId: import_zod.z.string().min(1)
39
+ }).strict();
40
+ const ToolExecutionResultMetadataSchema = import_zod.z.object({
41
+ presentationSnapshot: import_zod.z.custom().optional(),
42
+ meta: import_zod.z.custom().optional(),
43
+ requireApproval: import_zod.z.boolean().optional(),
44
+ approvalStatus: import_zod.z.enum(["approved", "rejected"]).optional()
45
+ }).strict();
46
+ const ToolExecutionBaseRecordSchema = import_zod.z.object({
47
+ executionId: import_zod.z.string().min(1),
48
+ identity: ToolExecutionIdentitySchema,
49
+ input: import_zod.z.record(import_zod.z.string(), import_zod.z.unknown()),
50
+ toolName: import_zod.z.string().min(1),
51
+ startedAt: import_zod.z.coerce.date(),
52
+ updatedAt: import_zod.z.coerce.date()
53
+ }).strict();
54
+ const ToolExecutionRunningRecordSchema = ToolExecutionBaseRecordSchema.extend({
55
+ status: import_zod.z.literal("running")
56
+ }).strict();
57
+ const ToolExecutionCompletedRecordSchema = ToolExecutionBaseRecordSchema.extend({
58
+ status: import_zod.z.literal("completed"),
59
+ completedAt: import_zod.z.coerce.date(),
60
+ modelOutput: import_zod.z.unknown(),
61
+ resultMetadata: ToolExecutionResultMetadataSchema.optional()
62
+ }).strict();
63
+ const ToolExecutionFailedRecordSchema = ToolExecutionBaseRecordSchema.extend({
64
+ status: import_zod.z.literal("failed"),
65
+ completedAt: import_zod.z.coerce.date(),
66
+ error: import_zod.z.string()
67
+ }).strict();
68
+ const ToolExecutionCancelledRecordSchema = ToolExecutionBaseRecordSchema.extend({
69
+ status: import_zod.z.literal("cancelled"),
70
+ completedAt: import_zod.z.coerce.date(),
71
+ reason: import_zod.z.string().optional()
72
+ }).strict();
73
+ const ToolExecutionRecordSchema = import_zod.z.discriminatedUnion("status", [
74
+ ToolExecutionRunningRecordSchema,
75
+ ToolExecutionCompletedRecordSchema,
76
+ ToolExecutionFailedRecordSchema,
77
+ ToolExecutionCancelledRecordSchema
78
+ ]);
79
+ function createToolExecutionId(identity) {
80
+ const key = JSON.stringify([
81
+ identity.runId,
82
+ identity.turnId,
83
+ identity.modelStepId,
84
+ identity.toolCallId
85
+ ]);
86
+ return `tool-exec-${(0, import_crypto.createHash)("sha256").update(key).digest("hex")}`;
87
+ }
88
+ function splitToolExecutionResult(result) {
89
+ const resultMetadata = {};
90
+ if (result.presentationSnapshot !== void 0) {
91
+ resultMetadata.presentationSnapshot = result.presentationSnapshot;
92
+ }
93
+ if (result.meta !== void 0) {
94
+ resultMetadata.meta = result.meta;
95
+ }
96
+ if (result.requireApproval !== void 0) {
97
+ resultMetadata.requireApproval = result.requireApproval;
98
+ }
99
+ if (result.approvalStatus !== void 0) {
100
+ resultMetadata.approvalStatus = result.approvalStatus;
101
+ }
102
+ return {
103
+ modelOutput: result.result,
104
+ ...Object.keys(resultMetadata).length > 0 ? { resultMetadata } : {}
105
+ };
106
+ }
107
+ function completedToolExecutionToResult(record) {
108
+ return {
109
+ result: record.modelOutput,
110
+ ...record.resultMetadata?.presentationSnapshot !== void 0 ? { presentationSnapshot: record.resultMetadata.presentationSnapshot } : {},
111
+ ...record.resultMetadata?.meta !== void 0 ? { meta: record.resultMetadata.meta } : {},
112
+ ...record.resultMetadata?.requireApproval !== void 0 ? { requireApproval: record.resultMetadata.requireApproval } : {},
113
+ ...record.resultMetadata?.approvalStatus !== void 0 ? { approvalStatus: record.resultMetadata.approvalStatus } : {}
114
+ };
115
+ }
116
+ // Annotate the CommonJS export names for ESM import in node:
117
+ 0 && (module.exports = {
118
+ ToolExecutionCancelledRecordSchema,
119
+ ToolExecutionCompletedRecordSchema,
120
+ ToolExecutionFailedRecordSchema,
121
+ ToolExecutionIdentitySchema,
122
+ ToolExecutionRecordSchema,
123
+ ToolExecutionRunningRecordSchema,
124
+ completedToolExecutionToResult,
125
+ createToolExecutionId,
126
+ splitToolExecutionResult
127
+ });