@dexto/core 1.5.7 → 1.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (697) hide show
  1. package/README.md +19 -8
  2. package/dist/agent/DextoAgent.cjs +383 -153
  3. package/dist/agent/DextoAgent.d.ts +112 -60
  4. package/dist/agent/DextoAgent.d.ts.map +1 -1
  5. package/dist/agent/DextoAgent.js +380 -150
  6. package/dist/{context/compaction/provider.cjs → agent/agent-options.cjs} +2 -2
  7. package/dist/agent/agent-options.d.ts +53 -0
  8. package/dist/agent/agent-options.d.ts.map +1 -0
  9. package/dist/agent/agentCard.cjs +1 -1
  10. package/dist/agent/errors.cjs +2 -2
  11. package/dist/agent/errors.d.ts.map +1 -1
  12. package/dist/agent/index.cjs +1 -6
  13. package/dist/agent/index.d.ts +3 -2
  14. package/dist/agent/index.d.ts.map +1 -1
  15. package/dist/agent/index.js +1 -7
  16. package/dist/{storage/blob/provider.cjs → agent/runtime-config.cjs} +2 -2
  17. package/dist/agent/runtime-config.d.ts +53 -0
  18. package/dist/agent/runtime-config.d.ts.map +1 -0
  19. package/dist/agent/schemas.cjs +2 -99
  20. package/dist/agent/schemas.d.ts +10 -9160
  21. package/dist/agent/schemas.d.ts.map +1 -1
  22. package/dist/agent/schemas.js +1 -104
  23. package/dist/agent/state-manager.d.ts +5 -5
  24. package/dist/agent/state-manager.d.ts.map +1 -1
  25. package/dist/approval/error-codes.cjs +1 -1
  26. package/dist/approval/error-codes.d.ts +1 -1
  27. package/dist/approval/error-codes.d.ts.map +1 -1
  28. package/dist/approval/error-codes.js +1 -1
  29. package/dist/approval/errors.cjs +5 -5
  30. package/dist/approval/errors.d.ts +2 -2
  31. package/dist/approval/errors.d.ts.map +1 -1
  32. package/dist/approval/errors.js +5 -5
  33. package/dist/approval/index.cjs +8 -8
  34. package/dist/approval/index.d.ts +2 -2
  35. package/dist/approval/index.d.ts.map +1 -1
  36. package/dist/approval/index.js +8 -8
  37. package/dist/approval/manager.cjs +77 -57
  38. package/dist/approval/manager.d.ts +41 -43
  39. package/dist/approval/manager.d.ts.map +1 -1
  40. package/dist/approval/manager.js +75 -55
  41. package/dist/approval/schemas.cjs +26 -25
  42. package/dist/approval/schemas.d.ts +35 -15
  43. package/dist/approval/schemas.d.ts.map +1 -1
  44. package/dist/approval/schemas.js +22 -21
  45. package/dist/approval/types.cjs +1 -1
  46. package/dist/approval/types.d.ts +14 -14
  47. package/dist/approval/types.d.ts.map +1 -1
  48. package/dist/approval/types.js +1 -1
  49. package/dist/context/compaction/index.cjs +2 -23
  50. package/dist/context/compaction/index.d.ts +1 -7
  51. package/dist/context/compaction/index.d.ts.map +1 -1
  52. package/dist/context/compaction/index.js +1 -16
  53. package/dist/context/compaction/strategies/noop.cjs +19 -1
  54. package/dist/context/compaction/strategies/noop.d.ts +13 -3
  55. package/dist/context/compaction/strategies/noop.d.ts.map +1 -1
  56. package/dist/context/compaction/strategies/noop.js +19 -1
  57. package/dist/context/compaction/strategies/{reactive-overflow.cjs → reactive-overflow-compaction.cjs} +67 -64
  58. package/dist/context/compaction/strategies/{reactive-overflow.d.ts → reactive-overflow-compaction.d.ts} +19 -36
  59. package/dist/context/compaction/strategies/reactive-overflow-compaction.d.ts.map +1 -0
  60. package/dist/context/compaction/strategies/{reactive-overflow.js → reactive-overflow-compaction.js} +63 -60
  61. package/dist/context/compaction/types.d.ts +40 -8
  62. package/dist/context/compaction/types.d.ts.map +1 -1
  63. package/dist/context/manager.cjs +5 -3
  64. package/dist/context/manager.d.ts +4 -3
  65. package/dist/context/manager.d.ts.map +1 -1
  66. package/dist/context/manager.js +5 -3
  67. package/dist/context/types.d.ts +2 -0
  68. package/dist/context/types.d.ts.map +1 -1
  69. package/dist/context/utils.cjs +70 -43
  70. package/dist/context/utils.d.ts +14 -14
  71. package/dist/context/utils.d.ts.map +1 -1
  72. package/dist/context/utils.js +69 -42
  73. package/dist/errors/result-bridge.d.ts +2 -2
  74. package/dist/errors/result-bridge.d.ts.map +1 -1
  75. package/dist/errors/types.cjs +1 -1
  76. package/dist/errors/types.d.ts +3 -3
  77. package/dist/errors/types.d.ts.map +1 -1
  78. package/dist/errors/types.js +1 -1
  79. package/dist/events/index.cjs +15 -2
  80. package/dist/events/index.d.ts +78 -7
  81. package/dist/events/index.d.ts.map +1 -1
  82. package/dist/events/index.js +15 -2
  83. package/dist/{plugins → hooks}/builtins/content-policy.cjs +7 -6
  84. package/dist/hooks/builtins/content-policy.d.ts +24 -0
  85. package/dist/hooks/builtins/content-policy.d.ts.map +1 -0
  86. package/dist/{plugins → hooks}/builtins/content-policy.js +6 -5
  87. package/dist/{plugins → hooks}/builtins/response-sanitizer.cjs +3 -3
  88. package/dist/hooks/builtins/response-sanitizer.d.ts +22 -0
  89. package/dist/hooks/builtins/response-sanitizer.d.ts.map +1 -0
  90. package/dist/{plugins → hooks}/builtins/response-sanitizer.js +2 -2
  91. package/dist/hooks/error-codes.cjs +43 -0
  92. package/dist/hooks/error-codes.d.ts +34 -0
  93. package/dist/hooks/error-codes.d.ts.map +1 -0
  94. package/dist/hooks/error-codes.js +20 -0
  95. package/dist/{storage/cache/providers/memory.cjs → hooks/index.cjs} +15 -18
  96. package/dist/hooks/index.d.ts +14 -0
  97. package/dist/hooks/index.d.ts.map +1 -0
  98. package/dist/hooks/index.js +11 -0
  99. package/dist/hooks/manager.cjs +354 -0
  100. package/dist/hooks/manager.d.ts +103 -0
  101. package/dist/hooks/manager.d.ts.map +1 -0
  102. package/dist/hooks/manager.js +331 -0
  103. package/dist/{plugins → hooks}/types.d.ts +36 -34
  104. package/dist/hooks/types.d.ts.map +1 -0
  105. package/dist/index.browser.cjs +13 -12
  106. package/dist/index.browser.d.ts +6 -6
  107. package/dist/index.browser.d.ts.map +1 -1
  108. package/dist/index.browser.js +8 -7
  109. package/dist/index.cjs +5 -7
  110. package/dist/index.d.ts +2 -3
  111. package/dist/index.d.ts.map +1 -1
  112. package/dist/index.js +2 -3
  113. package/dist/llm/curation-config.cjs +82 -0
  114. package/dist/llm/curation-config.d.ts +13 -0
  115. package/dist/llm/curation-config.d.ts.map +1 -0
  116. package/dist/llm/curation-config.js +59 -0
  117. package/dist/llm/curation.cjs +57 -0
  118. package/dist/llm/curation.d.ts +16 -0
  119. package/dist/llm/curation.d.ts.map +1 -0
  120. package/dist/llm/curation.js +34 -0
  121. package/dist/llm/errors.cjs +2 -2
  122. package/dist/llm/errors.d.ts +8 -8
  123. package/dist/llm/errors.js +1 -1
  124. package/dist/llm/executor/provider-options.cjs +1 -1
  125. package/dist/llm/executor/provider-options.js +1 -1
  126. package/dist/llm/executor/stream-processor.cjs +131 -11
  127. package/dist/llm/executor/stream-processor.d.ts +7 -5
  128. package/dist/llm/executor/stream-processor.d.ts.map +1 -1
  129. package/dist/llm/executor/stream-processor.js +131 -11
  130. package/dist/llm/executor/turn-executor.cjs +57 -56
  131. package/dist/llm/executor/turn-executor.d.ts +7 -8
  132. package/dist/llm/executor/turn-executor.d.ts.map +1 -1
  133. package/dist/llm/executor/turn-executor.js +57 -56
  134. package/dist/llm/formatters/vercel.cjs +2 -2
  135. package/dist/llm/formatters/vercel.d.ts +2 -2
  136. package/dist/llm/formatters/vercel.d.ts.map +1 -1
  137. package/dist/llm/index.cjs +14 -3
  138. package/dist/llm/index.d.ts +3 -1
  139. package/dist/llm/index.d.ts.map +1 -1
  140. package/dist/llm/index.js +13 -2
  141. package/dist/llm/providers/local/schemas.d.ts +10 -10
  142. package/dist/llm/registry/auto-update.cjs +263 -0
  143. package/dist/llm/registry/auto-update.d.ts +27 -0
  144. package/dist/llm/registry/auto-update.d.ts.map +1 -0
  145. package/dist/llm/registry/auto-update.js +227 -0
  146. package/dist/llm/registry/index.cjs +806 -0
  147. package/dist/llm/{registry.d.ts → registry/index.d.ts} +21 -43
  148. package/dist/llm/registry/index.d.ts.map +1 -0
  149. package/dist/llm/registry/index.js +756 -0
  150. package/dist/llm/registry/models.generated.cjs +4861 -0
  151. package/dist/llm/registry/models.generated.d.ts +431 -0
  152. package/dist/llm/registry/models.generated.d.ts.map +1 -0
  153. package/dist/llm/registry/models.generated.js +4838 -0
  154. package/dist/{storage/database/providers/index.cjs → llm/registry/models.manual.cjs} +22 -12
  155. package/dist/llm/registry/models.manual.d.ts +22 -0
  156. package/dist/llm/registry/models.manual.d.ts.map +1 -0
  157. package/dist/llm/registry/models.manual.js +21 -0
  158. package/dist/llm/registry/sync.cjs +354 -0
  159. package/dist/llm/registry/sync.d.ts +41 -0
  160. package/dist/llm/registry/sync.d.ts.map +1 -0
  161. package/dist/llm/registry/sync.js +328 -0
  162. package/dist/llm/resolver.cjs +29 -20
  163. package/dist/llm/resolver.d.ts +4 -4
  164. package/dist/llm/resolver.d.ts.map +1 -1
  165. package/dist/llm/resolver.js +28 -20
  166. package/dist/llm/schemas.cjs +69 -94
  167. package/dist/llm/schemas.d.ts +19 -158
  168. package/dist/llm/schemas.d.ts.map +1 -1
  169. package/dist/llm/schemas.js +67 -91
  170. package/dist/llm/services/factory.cjs +6 -7
  171. package/dist/llm/services/factory.d.ts +3 -4
  172. package/dist/llm/services/factory.d.ts.map +1 -1
  173. package/dist/llm/services/factory.js +6 -7
  174. package/dist/llm/services/vercel.cjs +11 -15
  175. package/dist/llm/services/vercel.d.ts +7 -7
  176. package/dist/llm/services/vercel.d.ts.map +1 -1
  177. package/dist/llm/services/vercel.js +11 -15
  178. package/dist/llm/types.cjs +1 -1
  179. package/dist/llm/types.d.ts +1 -1
  180. package/dist/llm/types.d.ts.map +1 -1
  181. package/dist/llm/types.js +1 -1
  182. package/dist/llm/validation.cjs +2 -2
  183. package/dist/llm/validation.d.ts +2 -2
  184. package/dist/llm/validation.d.ts.map +1 -1
  185. package/dist/llm/validation.js +1 -1
  186. package/dist/logger/browser.cjs +4 -4
  187. package/dist/logger/browser.d.ts +4 -4
  188. package/dist/logger/browser.d.ts.map +1 -1
  189. package/dist/logger/browser.js +3 -3
  190. package/dist/{context/compaction/providers/noop-provider.cjs → logger/default-logger-factory.cjs} +16 -22
  191. package/dist/logger/default-logger-factory.d.ts +301 -0
  192. package/dist/logger/default-logger-factory.d.ts.map +1 -0
  193. package/dist/logger/default-logger-factory.js +18 -0
  194. package/dist/logger/factory.d.ts +2 -2
  195. package/dist/logger/factory.d.ts.map +1 -1
  196. package/dist/logger/index.cjs +7 -2
  197. package/dist/logger/index.d.ts +5 -3
  198. package/dist/logger/index.d.ts.map +1 -1
  199. package/dist/logger/index.js +8 -2
  200. package/dist/logger/logger.cjs +4 -4
  201. package/dist/logger/logger.d.ts +4 -4
  202. package/dist/logger/logger.d.ts.map +1 -1
  203. package/dist/logger/logger.js +3 -3
  204. package/dist/logger/v2/dexto-logger.d.ts +3 -3
  205. package/dist/logger/v2/dexto-logger.d.ts.map +1 -1
  206. package/dist/logger/v2/schemas.d.ts +12 -12
  207. package/dist/logger/v2/test-utils.d.ts +5 -5
  208. package/dist/logger/v2/test-utils.d.ts.map +1 -1
  209. package/dist/logger/v2/transport-factory.d.ts +3 -3
  210. package/dist/logger/v2/transport-factory.d.ts.map +1 -1
  211. package/dist/logger/v2/transports/console-transport.d.ts +2 -2
  212. package/dist/logger/v2/transports/console-transport.d.ts.map +1 -1
  213. package/dist/logger/v2/transports/file-transport.d.ts +2 -2
  214. package/dist/logger/v2/transports/file-transport.d.ts.map +1 -1
  215. package/dist/logger/v2/transports/silent-transport.d.ts +2 -2
  216. package/dist/logger/v2/transports/silent-transport.d.ts.map +1 -1
  217. package/dist/logger/v2/types.cjs +1 -1
  218. package/dist/logger/v2/types.d.ts +8 -8
  219. package/dist/logger/v2/types.d.ts.map +1 -1
  220. package/dist/logger/v2/types.js +1 -1
  221. package/dist/mcp/errors.cjs +2 -2
  222. package/dist/mcp/errors.d.ts.map +1 -1
  223. package/dist/mcp/manager.cjs +16 -11
  224. package/dist/mcp/manager.d.ts +16 -13
  225. package/dist/mcp/manager.d.ts.map +1 -1
  226. package/dist/mcp/manager.js +17 -12
  227. package/dist/mcp/mcp-client.cjs +25 -20
  228. package/dist/mcp/mcp-client.d.ts +5 -5
  229. package/dist/mcp/mcp-client.d.ts.map +1 -1
  230. package/dist/mcp/mcp-client.js +20 -15
  231. package/dist/mcp/resolver.cjs +1 -1
  232. package/dist/mcp/schemas.cjs +5 -5
  233. package/dist/mcp/schemas.d.ts +4 -4
  234. package/dist/mcp/schemas.js +2 -2
  235. package/dist/mcp/types.d.ts +7 -7
  236. package/dist/mcp/types.d.ts.map +1 -1
  237. package/dist/memory/manager.d.ts +2 -2
  238. package/dist/memory/manager.d.ts.map +1 -1
  239. package/dist/memory/schemas.d.ts +2 -2
  240. package/dist/prompts/errors.cjs +3 -3
  241. package/dist/prompts/errors.d.ts.map +1 -1
  242. package/dist/prompts/prompt-manager.d.ts +3 -3
  243. package/dist/prompts/prompt-manager.d.ts.map +1 -1
  244. package/dist/prompts/providers/config-prompt-provider.cjs +15 -29
  245. package/dist/prompts/providers/config-prompt-provider.d.ts +3 -3
  246. package/dist/prompts/providers/config-prompt-provider.d.ts.map +1 -1
  247. package/dist/prompts/providers/config-prompt-provider.js +15 -29
  248. package/dist/prompts/providers/custom-prompt-provider.d.ts +2 -2
  249. package/dist/prompts/providers/custom-prompt-provider.d.ts.map +1 -1
  250. package/dist/prompts/providers/mcp-prompt-provider.d.ts +2 -2
  251. package/dist/prompts/providers/mcp-prompt-provider.d.ts.map +1 -1
  252. package/dist/prompts/schemas.d.ts +4 -4
  253. package/dist/resources/{internal-provider.cjs → agent-resources-provider.cjs} +16 -16
  254. package/dist/resources/{internal-provider.d.ts → agent-resources-provider.d.ts} +6 -6
  255. package/dist/resources/agent-resources-provider.d.ts.map +1 -0
  256. package/dist/resources/{internal-provider.js → agent-resources-provider.js} +13 -13
  257. package/dist/resources/errors.cjs +2 -2
  258. package/dist/resources/errors.d.ts.map +1 -1
  259. package/dist/resources/handlers/blob-handler.d.ts +2 -2
  260. package/dist/resources/handlers/blob-handler.d.ts.map +1 -1
  261. package/dist/resources/handlers/factory.d.ts +3 -3
  262. package/dist/resources/handlers/factory.d.ts.map +1 -1
  263. package/dist/resources/handlers/filesystem-handler.cjs +25 -0
  264. package/dist/resources/handlers/filesystem-handler.d.ts +3 -2
  265. package/dist/resources/handlers/filesystem-handler.d.ts.map +1 -1
  266. package/dist/resources/handlers/filesystem-handler.js +25 -0
  267. package/dist/resources/index.cjs +7 -9
  268. package/dist/resources/index.d.ts +3 -3
  269. package/dist/resources/index.d.ts.map +1 -1
  270. package/dist/resources/index.js +5 -10
  271. package/dist/resources/manager.cjs +77 -74
  272. package/dist/resources/manager.d.ts +16 -7
  273. package/dist/resources/manager.d.ts.map +1 -1
  274. package/dist/resources/manager.js +77 -74
  275. package/dist/resources/schemas.cjs +6 -26
  276. package/dist/resources/schemas.d.ts +8 -100
  277. package/dist/resources/schemas.d.ts.map +1 -1
  278. package/dist/resources/schemas.js +4 -23
  279. package/dist/search/search-service.d.ts +2 -2
  280. package/dist/search/search-service.d.ts.map +1 -1
  281. package/dist/session/chat-session.cjs +16 -26
  282. package/dist/session/chat-session.d.ts +7 -5
  283. package/dist/session/chat-session.d.ts.map +1 -1
  284. package/dist/session/chat-session.js +17 -27
  285. package/dist/session/errors.cjs +2 -2
  286. package/dist/session/errors.d.ts.map +1 -1
  287. package/dist/session/history/database.cjs +1 -1
  288. package/dist/session/history/database.d.ts +4 -4
  289. package/dist/session/history/database.d.ts.map +1 -1
  290. package/dist/session/history/factory.d.ts +3 -3
  291. package/dist/session/history/factory.d.ts.map +1 -1
  292. package/dist/session/history/memory.d.ts +4 -4
  293. package/dist/session/history/memory.d.ts.map +1 -1
  294. package/dist/session/history/types.d.ts +2 -2
  295. package/dist/session/history/types.d.ts.map +1 -1
  296. package/dist/session/index.cjs +3 -0
  297. package/dist/session/index.d.ts +2 -0
  298. package/dist/session/index.d.ts.map +1 -1
  299. package/dist/session/index.js +2 -0
  300. package/dist/session/message-queue.cjs +29 -5
  301. package/dist/session/message-queue.d.ts +5 -3
  302. package/dist/session/message-queue.d.ts.map +1 -1
  303. package/dist/session/message-queue.js +29 -5
  304. package/dist/session/session-manager.cjs +107 -12
  305. package/dist/session/session-manager.d.ts +49 -8
  306. package/dist/session/session-manager.d.ts.map +1 -1
  307. package/dist/session/session-manager.js +97 -12
  308. package/dist/session/title-generator.cjs +2 -2
  309. package/dist/session/title-generator.d.ts +2 -2
  310. package/dist/session/title-generator.d.ts.map +1 -1
  311. package/dist/session/types.d.ts +1 -0
  312. package/dist/session/types.d.ts.map +1 -1
  313. package/dist/storage/blob/index.cjs +0 -40
  314. package/dist/storage/blob/index.d.ts +2 -44
  315. package/dist/storage/blob/index.d.ts.map +1 -1
  316. package/dist/storage/blob/index.js +0 -30
  317. package/dist/storage/cache/index.cjs +0 -37
  318. package/dist/storage/cache/index.d.ts +0 -42
  319. package/dist/storage/cache/index.d.ts.map +1 -1
  320. package/dist/storage/cache/index.js +0 -28
  321. package/dist/storage/database/index.cjs +0 -42
  322. package/dist/storage/database/index.d.ts +0 -43
  323. package/dist/storage/database/index.d.ts.map +1 -1
  324. package/dist/storage/database/index.js +0 -37
  325. package/dist/storage/error-codes.cjs +1 -6
  326. package/dist/storage/error-codes.d.ts +2 -7
  327. package/dist/storage/error-codes.d.ts.map +1 -1
  328. package/dist/storage/error-codes.js +1 -6
  329. package/dist/storage/errors.cjs +18 -82
  330. package/dist/storage/errors.d.ts +4 -24
  331. package/dist/storage/errors.d.ts.map +1 -1
  332. package/dist/storage/errors.js +16 -80
  333. package/dist/storage/index.cjs +8 -69
  334. package/dist/storage/index.d.ts +11 -66
  335. package/dist/storage/index.d.ts.map +1 -1
  336. package/dist/storage/index.js +6 -50
  337. package/dist/storage/storage-manager.cjs +9 -25
  338. package/dist/storage/storage-manager.d.ts +11 -15
  339. package/dist/storage/storage-manager.d.ts.map +1 -1
  340. package/dist/storage/storage-manager.js +8 -23
  341. package/dist/storage/types.d.ts +0 -1
  342. package/dist/storage/types.d.ts.map +1 -1
  343. package/dist/systemPrompt/contributors.d.ts +4 -4
  344. package/dist/systemPrompt/contributors.d.ts.map +1 -1
  345. package/dist/systemPrompt/errors.cjs +2 -2
  346. package/dist/systemPrompt/errors.d.ts.map +1 -1
  347. package/dist/systemPrompt/manager.cjs +1 -5
  348. package/dist/systemPrompt/manager.d.ts +2 -3
  349. package/dist/systemPrompt/manager.d.ts.map +1 -1
  350. package/dist/systemPrompt/manager.js +1 -5
  351. package/dist/telemetry/index.cjs +3 -0
  352. package/dist/telemetry/index.d.ts +2 -0
  353. package/dist/telemetry/index.d.ts.map +1 -1
  354. package/dist/telemetry/index.js +2 -0
  355. package/dist/telemetry/utils.d.ts +4 -4
  356. package/dist/telemetry/utils.d.ts.map +1 -1
  357. package/dist/test-utils/in-memory-storage.cjs +288 -0
  358. package/dist/test-utils/in-memory-storage.js +252 -0
  359. package/dist/tools/confirmation/allowed-tools-provider/factory.d.ts +3 -3
  360. package/dist/tools/confirmation/allowed-tools-provider/factory.d.ts.map +1 -1
  361. package/dist/tools/confirmation/allowed-tools-provider/in-memory.d.ts +2 -2
  362. package/dist/tools/confirmation/allowed-tools-provider/in-memory.d.ts.map +1 -1
  363. package/dist/tools/confirmation/allowed-tools-provider/storage.d.ts +4 -4
  364. package/dist/tools/confirmation/allowed-tools-provider/storage.d.ts.map +1 -1
  365. package/dist/tools/confirmation/allowed-tools-provider/types.d.ts +2 -2
  366. package/dist/tools/confirmation/allowed-tools-provider/types.d.ts.map +1 -1
  367. package/dist/tools/{internal-tools/constants.cjs → define-tool.cjs} +8 -13
  368. package/dist/tools/define-tool.d.ts +11 -0
  369. package/dist/tools/define-tool.d.ts.map +1 -0
  370. package/dist/tools/define-tool.js +7 -0
  371. package/dist/tools/error-codes.cjs +2 -2
  372. package/dist/tools/error-codes.d.ts +2 -2
  373. package/dist/tools/error-codes.d.ts.map +1 -1
  374. package/dist/tools/error-codes.js +2 -2
  375. package/dist/tools/errors.cjs +11 -23
  376. package/dist/tools/errors.d.ts +4 -10
  377. package/dist/tools/errors.d.ts.map +1 -1
  378. package/dist/tools/errors.js +9 -21
  379. package/dist/tools/index.cjs +3 -8
  380. package/dist/tools/index.d.ts +2 -4
  381. package/dist/tools/index.d.ts.map +1 -1
  382. package/dist/tools/index.js +2 -7
  383. package/dist/{storage/blob/providers/index.cjs → tools/pattern-utils.cjs} +11 -9
  384. package/dist/tools/pattern-utils.d.ts +20 -0
  385. package/dist/tools/pattern-utils.d.ts.map +1 -0
  386. package/dist/tools/pattern-utils.js +10 -0
  387. package/dist/tools/schemas.cjs +14 -40
  388. package/dist/tools/schemas.d.ts +6 -50
  389. package/dist/tools/schemas.d.ts.map +1 -1
  390. package/dist/tools/schemas.js +11 -32
  391. package/dist/tools/tool-call-metadata.cjs +75 -0
  392. package/dist/tools/tool-call-metadata.d.ts +16 -0
  393. package/dist/tools/tool-call-metadata.d.ts.map +1 -0
  394. package/dist/tools/tool-call-metadata.js +51 -0
  395. package/dist/tools/tool-manager.cjs +578 -302
  396. package/dist/tools/tool-manager.d.ts +105 -81
  397. package/dist/tools/tool-manager.d.ts.map +1 -1
  398. package/dist/tools/tool-manager.js +578 -306
  399. package/dist/tools/types.d.ts +112 -13
  400. package/dist/tools/types.d.ts.map +1 -1
  401. package/dist/utils/api-key-resolver.cjs +1 -1
  402. package/dist/utils/api-key-resolver.js +1 -1
  403. package/dist/utils/env.cjs +49 -0
  404. package/dist/utils/env.d.ts +4 -0
  405. package/dist/utils/env.d.ts.map +1 -0
  406. package/dist/utils/env.js +24 -0
  407. package/dist/utils/error-conversion.d.ts +2 -2
  408. package/dist/utils/error-conversion.d.ts.map +1 -1
  409. package/dist/utils/index.cjs +3 -1
  410. package/dist/utils/index.d.ts +1 -0
  411. package/dist/utils/index.d.ts.map +1 -1
  412. package/dist/utils/index.js +1 -0
  413. package/dist/utils/path.d.ts +2 -2
  414. package/dist/utils/path.d.ts.map +1 -1
  415. package/dist/utils/result.cjs +1 -1
  416. package/dist/utils/result.d.ts.map +1 -1
  417. package/dist/utils/schema.cjs +9 -5
  418. package/dist/utils/schema.d.ts +4 -2
  419. package/dist/utils/schema.d.ts.map +1 -1
  420. package/dist/utils/schema.js +9 -5
  421. package/dist/utils/service-initializer.cjs +58 -51
  422. package/dist/utils/service-initializer.d.ts +31 -9
  423. package/dist/utils/service-initializer.d.ts.map +1 -1
  424. package/dist/utils/service-initializer.js +58 -51
  425. package/dist/{storage/cache/providers/index.cjs → workspace/error-codes.cjs} +8 -9
  426. package/dist/workspace/error-codes.d.ts +5 -0
  427. package/dist/workspace/error-codes.d.ts.map +1 -0
  428. package/dist/workspace/error-codes.js +7 -0
  429. package/dist/{storage/blob/factory.cjs → workspace/errors.cjs} +20 -14
  430. package/dist/workspace/errors.d.ts +5 -0
  431. package/dist/workspace/errors.d.ts.map +1 -0
  432. package/dist/workspace/errors.js +21 -0
  433. package/dist/{image → workspace}/index.cjs +12 -10
  434. package/dist/workspace/index.d.ts +5 -0
  435. package/dist/workspace/index.d.ts.map +1 -0
  436. package/dist/workspace/index.js +9 -0
  437. package/dist/workspace/manager.cjs +113 -0
  438. package/dist/workspace/manager.d.ts +18 -0
  439. package/dist/workspace/manager.d.ts.map +1 -0
  440. package/dist/workspace/manager.js +90 -0
  441. package/dist/workspace/types.d.ts +14 -0
  442. package/dist/workspace/types.d.ts.map +1 -0
  443. package/package.json +7 -3
  444. package/dist/context/compaction/factory.cjs +0 -57
  445. package/dist/context/compaction/factory.d.ts +0 -17
  446. package/dist/context/compaction/factory.d.ts.map +0 -1
  447. package/dist/context/compaction/factory.js +0 -34
  448. package/dist/context/compaction/provider.d.ts +0 -48
  449. package/dist/context/compaction/provider.d.ts.map +0 -1
  450. package/dist/context/compaction/providers/noop-provider.d.ts +0 -24
  451. package/dist/context/compaction/providers/noop-provider.d.ts.map +0 -1
  452. package/dist/context/compaction/providers/noop-provider.js +0 -24
  453. package/dist/context/compaction/providers/reactive-overflow-provider.cjs +0 -76
  454. package/dist/context/compaction/providers/reactive-overflow-provider.d.ts +0 -51
  455. package/dist/context/compaction/providers/reactive-overflow-provider.d.ts.map +0 -1
  456. package/dist/context/compaction/providers/reactive-overflow-provider.js +0 -52
  457. package/dist/context/compaction/registry.cjs +0 -39
  458. package/dist/context/compaction/registry.d.ts +0 -19
  459. package/dist/context/compaction/registry.d.ts.map +0 -1
  460. package/dist/context/compaction/registry.js +0 -16
  461. package/dist/context/compaction/schemas.cjs +0 -58
  462. package/dist/context/compaction/schemas.d.ts +0 -69
  463. package/dist/context/compaction/schemas.d.ts.map +0 -1
  464. package/dist/context/compaction/schemas.js +0 -34
  465. package/dist/context/compaction/strategies/reactive-overflow.d.ts.map +0 -1
  466. package/dist/image/define-image.cjs +0 -146
  467. package/dist/image/define-image.d.ts +0 -71
  468. package/dist/image/define-image.d.ts.map +0 -1
  469. package/dist/image/define-image.js +0 -121
  470. package/dist/image/index.d.ts +0 -53
  471. package/dist/image/index.d.ts.map +0 -1
  472. package/dist/image/index.js +0 -7
  473. package/dist/image/types.d.ts +0 -246
  474. package/dist/image/types.d.ts.map +0 -1
  475. package/dist/llm/registry.cjs +0 -2075
  476. package/dist/llm/registry.d.ts.map +0 -1
  477. package/dist/llm/registry.js +0 -2025
  478. package/dist/llm/services/test-utils.integration.cjs +0 -237
  479. package/dist/llm/services/test-utils.integration.d.ts +0 -48
  480. package/dist/llm/services/test-utils.integration.d.ts.map +0 -1
  481. package/dist/llm/services/test-utils.integration.js +0 -214
  482. package/dist/plugins/builtins/content-policy.d.ts +0 -26
  483. package/dist/plugins/builtins/content-policy.d.ts.map +0 -1
  484. package/dist/plugins/builtins/response-sanitizer.d.ts +0 -25
  485. package/dist/plugins/builtins/response-sanitizer.d.ts.map +0 -1
  486. package/dist/plugins/error-codes.cjs +0 -43
  487. package/dist/plugins/error-codes.d.ts +0 -34
  488. package/dist/plugins/error-codes.d.ts.map +0 -1
  489. package/dist/plugins/error-codes.js +0 -20
  490. package/dist/plugins/index.cjs +0 -61
  491. package/dist/plugins/index.d.ts +0 -21
  492. package/dist/plugins/index.d.ts.map +0 -1
  493. package/dist/plugins/index.js +0 -30
  494. package/dist/plugins/loader.cjs +0 -171
  495. package/dist/plugins/loader.d.ts +0 -30
  496. package/dist/plugins/loader.d.ts.map +0 -1
  497. package/dist/plugins/loader.js +0 -145
  498. package/dist/plugins/manager.cjs +0 -473
  499. package/dist/plugins/manager.d.ts +0 -106
  500. package/dist/plugins/manager.d.ts.map +0 -1
  501. package/dist/plugins/manager.js +0 -450
  502. package/dist/plugins/registrations/builtins.cjs +0 -51
  503. package/dist/plugins/registrations/builtins.d.ts +0 -17
  504. package/dist/plugins/registrations/builtins.d.ts.map +0 -1
  505. package/dist/plugins/registrations/builtins.js +0 -28
  506. package/dist/plugins/registry.cjs +0 -63
  507. package/dist/plugins/registry.d.ts +0 -101
  508. package/dist/plugins/registry.d.ts.map +0 -1
  509. package/dist/plugins/registry.js +0 -39
  510. package/dist/plugins/schemas.cjs +0 -73
  511. package/dist/plugins/schemas.d.ts +0 -195
  512. package/dist/plugins/schemas.d.ts.map +0 -1
  513. package/dist/plugins/schemas.js +0 -47
  514. package/dist/plugins/types.d.ts.map +0 -1
  515. package/dist/providers/base-registry.cjs +0 -147
  516. package/dist/providers/base-registry.d.ts +0 -147
  517. package/dist/providers/base-registry.d.ts.map +0 -1
  518. package/dist/providers/base-registry.js +0 -123
  519. package/dist/providers/discovery.cjs +0 -109
  520. package/dist/providers/discovery.d.ts +0 -96
  521. package/dist/providers/discovery.d.ts.map +0 -1
  522. package/dist/providers/discovery.js +0 -84
  523. package/dist/providers/index.cjs +0 -24
  524. package/dist/providers/index.d.ts +0 -32
  525. package/dist/providers/index.d.ts.map +0 -1
  526. package/dist/providers/index.js +0 -2
  527. package/dist/resources/internal-provider.d.ts.map +0 -1
  528. package/dist/storage/blob/factory.d.ts +0 -37
  529. package/dist/storage/blob/factory.d.ts.map +0 -1
  530. package/dist/storage/blob/factory.js +0 -15
  531. package/dist/storage/blob/local-blob-store.cjs +0 -496
  532. package/dist/storage/blob/local-blob-store.d.ts +0 -58
  533. package/dist/storage/blob/local-blob-store.d.ts.map +0 -1
  534. package/dist/storage/blob/local-blob-store.js +0 -463
  535. package/dist/storage/blob/memory-blob-store.cjs +0 -326
  536. package/dist/storage/blob/memory-blob-store.d.ts +0 -66
  537. package/dist/storage/blob/memory-blob-store.d.ts.map +0 -1
  538. package/dist/storage/blob/memory-blob-store.js +0 -303
  539. package/dist/storage/blob/provider.d.ts +0 -50
  540. package/dist/storage/blob/provider.d.ts.map +0 -1
  541. package/dist/storage/blob/providers/index.d.ts +0 -8
  542. package/dist/storage/blob/providers/index.d.ts.map +0 -1
  543. package/dist/storage/blob/providers/index.js +0 -7
  544. package/dist/storage/blob/providers/local.cjs +0 -39
  545. package/dist/storage/blob/providers/local.d.ts +0 -17
  546. package/dist/storage/blob/providers/local.d.ts.map +0 -1
  547. package/dist/storage/blob/providers/local.js +0 -16
  548. package/dist/storage/blob/providers/memory.cjs +0 -39
  549. package/dist/storage/blob/providers/memory.d.ts +0 -17
  550. package/dist/storage/blob/providers/memory.d.ts.map +0 -1
  551. package/dist/storage/blob/providers/memory.js +0 -16
  552. package/dist/storage/blob/registry.cjs +0 -50
  553. package/dist/storage/blob/registry.d.ts +0 -42
  554. package/dist/storage/blob/registry.d.ts.map +0 -1
  555. package/dist/storage/blob/registry.js +0 -26
  556. package/dist/storage/blob/schemas.cjs +0 -52
  557. package/dist/storage/blob/schemas.d.ts +0 -85
  558. package/dist/storage/blob/schemas.d.ts.map +0 -1
  559. package/dist/storage/blob/schemas.js +0 -26
  560. package/dist/storage/cache/factory.cjs +0 -38
  561. package/dist/storage/cache/factory.d.ts +0 -37
  562. package/dist/storage/cache/factory.d.ts.map +0 -1
  563. package/dist/storage/cache/factory.js +0 -15
  564. package/dist/storage/cache/memory-cache-store.cjs +0 -107
  565. package/dist/storage/cache/memory-cache-store.d.ts +0 -26
  566. package/dist/storage/cache/memory-cache-store.d.ts.map +0 -1
  567. package/dist/storage/cache/memory-cache-store.js +0 -84
  568. package/dist/storage/cache/provider.cjs +0 -16
  569. package/dist/storage/cache/provider.d.ts +0 -56
  570. package/dist/storage/cache/provider.d.ts.map +0 -1
  571. package/dist/storage/cache/provider.js +0 -0
  572. package/dist/storage/cache/providers/index.d.ts +0 -8
  573. package/dist/storage/cache/providers/index.d.ts.map +0 -1
  574. package/dist/storage/cache/providers/index.js +0 -7
  575. package/dist/storage/cache/providers/memory.d.ts +0 -17
  576. package/dist/storage/cache/providers/memory.d.ts.map +0 -1
  577. package/dist/storage/cache/providers/memory.js +0 -17
  578. package/dist/storage/cache/providers/redis.cjs +0 -66
  579. package/dist/storage/cache/providers/redis.d.ts +0 -20
  580. package/dist/storage/cache/providers/redis.d.ts.map +0 -1
  581. package/dist/storage/cache/providers/redis.js +0 -33
  582. package/dist/storage/cache/redis-store.cjs +0 -173
  583. package/dist/storage/cache/redis-store.d.ts +0 -32
  584. package/dist/storage/cache/redis-store.d.ts.map +0 -1
  585. package/dist/storage/cache/redis-store.js +0 -150
  586. package/dist/storage/cache/registry.cjs +0 -50
  587. package/dist/storage/cache/registry.d.ts +0 -42
  588. package/dist/storage/cache/registry.d.ts.map +0 -1
  589. package/dist/storage/cache/registry.js +0 -26
  590. package/dist/storage/cache/schemas.cjs +0 -81
  591. package/dist/storage/cache/schemas.d.ts +0 -150
  592. package/dist/storage/cache/schemas.d.ts.map +0 -1
  593. package/dist/storage/cache/schemas.js +0 -55
  594. package/dist/storage/database/factory.cjs +0 -38
  595. package/dist/storage/database/factory.d.ts +0 -39
  596. package/dist/storage/database/factory.d.ts.map +0 -1
  597. package/dist/storage/database/factory.js +0 -15
  598. package/dist/storage/database/memory-database-store.cjs +0 -122
  599. package/dist/storage/database/memory-database-store.d.ts +0 -29
  600. package/dist/storage/database/memory-database-store.d.ts.map +0 -1
  601. package/dist/storage/database/memory-database-store.js +0 -99
  602. package/dist/storage/database/postgres-store.cjs +0 -342
  603. package/dist/storage/database/postgres-store.d.ts +0 -55
  604. package/dist/storage/database/postgres-store.d.ts.map +0 -1
  605. package/dist/storage/database/postgres-store.js +0 -319
  606. package/dist/storage/database/provider.cjs +0 -16
  607. package/dist/storage/database/provider.d.ts +0 -56
  608. package/dist/storage/database/provider.d.ts.map +0 -1
  609. package/dist/storage/database/provider.js +0 -0
  610. package/dist/storage/database/providers/index.d.ts +0 -9
  611. package/dist/storage/database/providers/index.d.ts.map +0 -1
  612. package/dist/storage/database/providers/index.js +0 -9
  613. package/dist/storage/database/providers/memory.cjs +0 -40
  614. package/dist/storage/database/providers/memory.d.ts +0 -16
  615. package/dist/storage/database/providers/memory.d.ts.map +0 -1
  616. package/dist/storage/database/providers/memory.js +0 -17
  617. package/dist/storage/database/providers/postgres.cjs +0 -62
  618. package/dist/storage/database/providers/postgres.d.ts +0 -19
  619. package/dist/storage/database/providers/postgres.d.ts.map +0 -1
  620. package/dist/storage/database/providers/postgres.js +0 -29
  621. package/dist/storage/database/providers/sqlite.cjs +0 -66
  622. package/dist/storage/database/providers/sqlite.d.ts +0 -20
  623. package/dist/storage/database/providers/sqlite.d.ts.map +0 -1
  624. package/dist/storage/database/providers/sqlite.js +0 -33
  625. package/dist/storage/database/registry.cjs +0 -50
  626. package/dist/storage/database/registry.d.ts +0 -42
  627. package/dist/storage/database/registry.d.ts.map +0 -1
  628. package/dist/storage/database/registry.js +0 -26
  629. package/dist/storage/database/schemas.cjs +0 -97
  630. package/dist/storage/database/schemas.d.ts +0 -226
  631. package/dist/storage/database/schemas.d.ts.map +0 -1
  632. package/dist/storage/database/schemas.js +0 -70
  633. package/dist/storage/database/sqlite-store.cjs +0 -270
  634. package/dist/storage/database/sqlite-store.d.ts +0 -33
  635. package/dist/storage/database/sqlite-store.d.ts.map +0 -1
  636. package/dist/storage/database/sqlite-store.js +0 -237
  637. package/dist/storage/schemas.cjs +0 -57
  638. package/dist/storage/schemas.d.ts +0 -347
  639. package/dist/storage/schemas.d.ts.map +0 -1
  640. package/dist/storage/schemas.js +0 -37
  641. package/dist/tools/bash-pattern-utils.cjs +0 -91
  642. package/dist/tools/bash-pattern-utils.d.ts +0 -58
  643. package/dist/tools/bash-pattern-utils.d.ts.map +0 -1
  644. package/dist/tools/bash-pattern-utils.js +0 -64
  645. package/dist/tools/custom-tool-registry.cjs +0 -64
  646. package/dist/tools/custom-tool-registry.d.ts +0 -126
  647. package/dist/tools/custom-tool-registry.d.ts.map +0 -1
  648. package/dist/tools/custom-tool-registry.js +0 -40
  649. package/dist/tools/custom-tool-schema-registry.cjs +0 -164
  650. package/dist/tools/custom-tool-schema-registry.d.ts +0 -86
  651. package/dist/tools/custom-tool-schema-registry.d.ts.map +0 -1
  652. package/dist/tools/custom-tool-schema-registry.js +0 -140
  653. package/dist/tools/internal-tools/constants.d.ts +0 -12
  654. package/dist/tools/internal-tools/constants.d.ts.map +0 -1
  655. package/dist/tools/internal-tools/constants.js +0 -12
  656. package/dist/tools/internal-tools/implementations/ask-user-tool.cjs +0 -57
  657. package/dist/tools/internal-tools/implementations/ask-user-tool.d.ts +0 -18
  658. package/dist/tools/internal-tools/implementations/ask-user-tool.d.ts.map +0 -1
  659. package/dist/tools/internal-tools/implementations/ask-user-tool.js +0 -34
  660. package/dist/tools/internal-tools/implementations/delegate-to-url-tool.cjs +0 -192
  661. package/dist/tools/internal-tools/implementations/delegate-to-url-tool.d.ts +0 -33
  662. package/dist/tools/internal-tools/implementations/delegate-to-url-tool.d.ts.map +0 -1
  663. package/dist/tools/internal-tools/implementations/delegate-to-url-tool.js +0 -169
  664. package/dist/tools/internal-tools/implementations/get-resource-tool.cjs +0 -113
  665. package/dist/tools/internal-tools/implementations/get-resource-tool.d.ts +0 -30
  666. package/dist/tools/internal-tools/implementations/get-resource-tool.d.ts.map +0 -1
  667. package/dist/tools/internal-tools/implementations/get-resource-tool.js +0 -90
  668. package/dist/tools/internal-tools/implementations/invoke-skill-tool.cjs +0 -140
  669. package/dist/tools/internal-tools/implementations/invoke-skill-tool.d.ts +0 -24
  670. package/dist/tools/internal-tools/implementations/invoke-skill-tool.d.ts.map +0 -1
  671. package/dist/tools/internal-tools/implementations/invoke-skill-tool.js +0 -117
  672. package/dist/tools/internal-tools/implementations/list-resources-tool.cjs +0 -91
  673. package/dist/tools/internal-tools/implementations/list-resources-tool.d.ts +0 -24
  674. package/dist/tools/internal-tools/implementations/list-resources-tool.d.ts.map +0 -1
  675. package/dist/tools/internal-tools/implementations/list-resources-tool.js +0 -68
  676. package/dist/tools/internal-tools/implementations/search-history-tool.cjs +0 -61
  677. package/dist/tools/internal-tools/implementations/search-history-tool.d.ts +0 -7
  678. package/dist/tools/internal-tools/implementations/search-history-tool.d.ts.map +0 -1
  679. package/dist/tools/internal-tools/implementations/search-history-tool.js +0 -38
  680. package/dist/tools/internal-tools/index.cjs +0 -26
  681. package/dist/tools/internal-tools/index.d.ts +0 -4
  682. package/dist/tools/internal-tools/index.d.ts.map +0 -1
  683. package/dist/tools/internal-tools/index.js +0 -3
  684. package/dist/tools/internal-tools/provider.cjs +0 -324
  685. package/dist/tools/internal-tools/provider.d.ts +0 -114
  686. package/dist/tools/internal-tools/provider.d.ts.map +0 -1
  687. package/dist/tools/internal-tools/provider.js +0 -301
  688. package/dist/tools/internal-tools/registry.cjs +0 -71
  689. package/dist/tools/internal-tools/registry.d.ts +0 -91
  690. package/dist/tools/internal-tools/registry.d.ts.map +0 -1
  691. package/dist/tools/internal-tools/registry.js +0 -47
  692. /package/dist/{context/compaction/provider.js → agent/agent-options.js} +0 -0
  693. /package/dist/{image/types.js → agent/runtime-config.js} +0 -0
  694. /package/dist/{image → hooks}/types.cjs +0 -0
  695. /package/dist/{plugins → hooks}/types.js +0 -0
  696. /package/dist/{plugins → workspace}/types.cjs +0 -0
  697. /package/dist/{storage/blob/provider.js → workspace/types.js} +0 -0
@@ -1,15 +1,14 @@
1
1
  import "../chunk-PTJYTZNU.js";
2
2
  import { createDatabaseHistoryProvider } from "./history/factory.js";
3
- import { createLLMService, createVercelModel } from "../llm/services/factory.js";
4
- import { createCompactionStrategy } from "../context/compaction/index.js";
3
+ import { createLLMService } from "../llm/services/factory.js";
5
4
  import {
6
5
  SessionEventBus,
7
6
  SessionEventNames
8
7
  } from "../events/index.js";
9
8
  import { DextoLogComponent } from "../logger/v2/types.js";
10
9
  import { DextoRuntimeError, ErrorScope, ErrorType } from "../errors/index.js";
11
- import { PluginErrorCode } from "../plugins/error-codes.js";
12
- import { getModelPricing, calculateCost } from "../llm/registry.js";
10
+ import { HookErrorCode } from "../hooks/error-codes.js";
11
+ import { getModelPricing, calculateCost } from "../llm/registry/index.js";
13
12
  class ChatSession {
14
13
  /**
15
14
  * Creates a new ChatSession instance.
@@ -106,13 +105,17 @@ class ChatSession {
106
105
  setupTokenAccumulation() {
107
106
  this.tokenAccumulatorListener = (payload) => {
108
107
  if (payload.tokenUsage) {
109
- let cost;
110
108
  const llmConfig = this.services.stateManager.getLLMConfig(this.id);
111
- const pricing = getModelPricing(llmConfig.provider, llmConfig.model);
109
+ const modelInfo = {
110
+ provider: payload.provider ?? llmConfig.provider,
111
+ model: payload.model ?? llmConfig.model
112
+ };
113
+ let cost;
114
+ const pricing = getModelPricing(modelInfo.provider, modelInfo.model);
112
115
  if (pricing) {
113
116
  cost = calculateCost(payload.tokenUsage, pricing);
114
117
  }
115
- this.services.sessionManager.accumulateTokenUsage(this.id, payload.tokenUsage, cost).catch((err) => {
118
+ this.services.sessionManager.accumulateTokenUsage(this.id, payload.tokenUsage, cost, modelInfo).catch((err) => {
116
119
  this.logger.warn(
117
120
  `Failed to accumulate token usage: ${err instanceof Error ? err.message : String(err)}`
118
121
  );
@@ -132,11 +135,7 @@ class ChatSession {
132
135
  this.id,
133
136
  this.logger
134
137
  );
135
- const model = createVercelModel(llmConfig);
136
- const compactionStrategy = await createCompactionStrategy(runtimeConfig.compaction, {
137
- logger: this.logger,
138
- model
139
- });
138
+ const compactionStrategy = this.services.compactionStrategy;
140
139
  this.llmService = createLLMService(
141
140
  llmConfig,
142
141
  this.services.toolManager,
@@ -150,10 +149,8 @@ class ChatSession {
150
149
  // Pass ResourceManager for blob storage
151
150
  this.logger,
152
151
  // Pass logger for dependency injection
153
- compactionStrategy,
152
+ compactionStrategy
154
153
  // Pass compaction strategy
155
- runtimeConfig.compaction
156
- // Pass compaction config for threshold settings
157
154
  );
158
155
  this.logger.debug(`ChatSession ${this.id}: Services initialized with storage`);
159
156
  }
@@ -241,7 +238,7 @@ class ChatSession {
241
238
  },
242
239
  sessionId: this.id
243
240
  };
244
- const modifiedBeforePayload = await this.services.pluginManager.executePlugins(
241
+ const modifiedBeforePayload = await this.services.hookManager.executeHooks(
245
242
  "beforeLLMRequest",
246
243
  beforeLLMPayload,
247
244
  {
@@ -266,7 +263,7 @@ class ChatSession {
266
263
  model: llmConfig.model,
267
264
  sessionId: this.id
268
265
  };
269
- const modifiedResponsePayload = await this.services.pluginManager.executePlugins(
266
+ const modifiedResponsePayload = await this.services.hookManager.executeHooks(
270
267
  "beforeResponse",
271
268
  beforeResponsePayload,
272
269
  {
@@ -310,7 +307,7 @@ class ChatSession {
310
307
  }
311
308
  return { text: "" };
312
309
  }
313
- if (error instanceof DextoRuntimeError && error.code === PluginErrorCode.PLUGIN_BLOCKED_EXECUTION && error.scope === ErrorScope.PLUGIN && error.type === ErrorType.FORBIDDEN) {
310
+ if (error instanceof DextoRuntimeError && error.code === HookErrorCode.HOOK_BLOCKED_EXECUTION && error.scope === ErrorScope.HOOK && error.type === ErrorType.FORBIDDEN) {
314
311
  const textContent = parts.filter((p) => p.type === "text").map((p) => p.text).join("\n");
315
312
  try {
316
313
  await this.saveBlockedInteraction(textContent, error.message);
@@ -433,12 +430,7 @@ class ChatSession {
433
430
  */
434
431
  async switchLLM(newLLMConfig) {
435
432
  try {
436
- const runtimeConfig = this.services.stateManager.getRuntimeConfig(this.id);
437
- const model = createVercelModel(newLLMConfig);
438
- const compactionStrategy = await createCompactionStrategy(runtimeConfig.compaction, {
439
- logger: this.logger,
440
- model
441
- });
433
+ const compactionStrategy = this.services.compactionStrategy;
442
434
  const newLLMService = createLLMService(
443
435
  newLLMConfig,
444
436
  this.services.toolManager,
@@ -450,10 +442,8 @@ class ChatSession {
450
442
  this.id,
451
443
  this.services.resourceManager,
452
444
  this.logger,
453
- compactionStrategy,
445
+ compactionStrategy
454
446
  // Pass compaction strategy
455
- runtimeConfig.compaction
456
- // Pass compaction config for threshold settings
457
447
  );
458
448
  this.llmService = newLLMService;
459
449
  this.logger.info(
@@ -21,8 +21,8 @@ __export(errors_exports, {
21
21
  SessionError: () => SessionError
22
22
  });
23
23
  module.exports = __toCommonJS(errors_exports);
24
- var import_DextoRuntimeError = require("../errors/DextoRuntimeError.cjs");
25
- var import_types = require("../errors/types.cjs");
24
+ var import_DextoRuntimeError = require("../errors/DextoRuntimeError.js");
25
+ var import_types = require("../errors/types.js");
26
26
  var import_error_codes = require("./error-codes.js");
27
27
  class SessionError {
28
28
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/session/errors.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAC;AAItE;;;GAGG;AACH,qBAAa,YAAY;IACrB;;OAEG;IACH,MAAM,CAAC,QAAQ,CAAC,SAAS,EAAE,MAAM;;;IAUjC;;OAEG;IACH,MAAM,CAAC,oBAAoB,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;;;;IAU7D;;OAEG;IACH,MAAM,CAAC,mBAAmB,CAAC,YAAY,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM;;;;IAWpE;;OAEG;IACH,MAAM,CAAC,aAAa,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;;;;;IAUzE;;OAEG;IACH,MAAM,CAAC,WAAW,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;;;;CASvD"}
1
+ {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/session/errors.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;AAInE;;;GAGG;AACH,qBAAa,YAAY;IACrB;;OAEG;IACH,MAAM,CAAC,QAAQ,CAAC,SAAS,EAAE,MAAM;;;IAUjC;;OAEG;IACH,MAAM,CAAC,oBAAoB,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;;;;IAU7D;;OAEG;IACH,MAAM,CAAC,mBAAmB,CAAC,YAAY,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM;;;;IAWpE;;OAEG;IACH,MAAM,CAAC,aAAa,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;;;;;IAUzE;;OAEG;IACH,MAAM,CAAC,WAAW,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;;;;CASvD"}
@@ -21,7 +21,7 @@ __export(database_exports, {
21
21
  DatabaseHistoryProvider: () => DatabaseHistoryProvider
22
22
  });
23
23
  module.exports = __toCommonJS(database_exports);
24
- var import_types = require("../../logger/v2/types.cjs");
24
+ var import_types = require("../../logger/v2/types.js");
25
25
  var import_errors = require("../errors.js");
26
26
  class DatabaseHistoryProvider {
27
27
  // Debounce window for batching updates
@@ -1,7 +1,7 @@
1
- import type { IDextoLogger } from '../../logger/v2/types.js';
1
+ import type { Logger } from '../../logger/v2/types.js';
2
2
  import type { Database } from '../../storage/types.js';
3
3
  import type { InternalMessage } from '../../context/types.js';
4
- import type { IConversationHistoryProvider } from './types.js';
4
+ import type { ConversationHistoryProvider } from './types.js';
5
5
  /**
6
6
  * History provider that works directly with DatabaseBackend.
7
7
  * Uses write-through caching for read performance while maintaining durability.
@@ -18,7 +18,7 @@ import type { IConversationHistoryProvider } from './types.js';
18
18
  * - Updates (updateMessage) are durable within flush interval or on explicit flush()
19
19
  * - Worst case on crash: lose updates from last flush interval (typically <100ms)
20
20
  */
21
- export declare class DatabaseHistoryProvider implements IConversationHistoryProvider {
21
+ export declare class DatabaseHistoryProvider implements ConversationHistoryProvider {
22
22
  private sessionId;
23
23
  private database;
24
24
  private logger;
@@ -27,7 +27,7 @@ export declare class DatabaseHistoryProvider implements IConversationHistoryProv
27
27
  private flushTimer;
28
28
  private flushPromise;
29
29
  private static readonly FLUSH_DELAY_MS;
30
- constructor(sessionId: string, database: Database, logger: IDextoLogger);
30
+ constructor(sessionId: string, database: Database, logger: Logger);
31
31
  getHistory(): Promise<InternalMessage[]>;
32
32
  saveMessage(message: InternalMessage): Promise<void>;
33
33
  updateMessage(message: InternalMessage): Promise<void>;
@@ -1 +1 @@
1
- {"version":3,"file":"database.d.ts","sourceRoot":"","sources":["../../../src/session/history/database.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAE7D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAEvD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,YAAY,CAAC;AAE/D;;;;;;;;;;;;;;;GAeG;AACH,qBAAa,uBAAwB,YAAW,4BAA4B;IAapE,OAAO,CAAC,SAAS;IACjB,OAAO,CAAC,QAAQ;IAbpB,OAAO,CAAC,MAAM,CAAe;IAG7B,OAAO,CAAC,KAAK,CAAkC;IAC/C,OAAO,CAAC,KAAK,CAAS;IACtB,OAAO,CAAC,UAAU,CAA8C;IAChE,OAAO,CAAC,YAAY,CAA8B;IAGlD,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,cAAc,CAAO;gBAGjC,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,QAAQ,EAC1B,MAAM,EAAE,YAAY;IAKlB,UAAU,IAAI,OAAO,CAAC,eAAe,EAAE,CAAC;IA2DxC,WAAW,CAAC,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC;IAwCpD,aAAa,CAAC,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC;IAiCtD,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC;IA0BnC;;;OAGG;IACG,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAwB5B;;;OAGG;YACW,OAAO;IA+CrB;;;OAGG;IACH,OAAO,CAAC,aAAa;IAerB;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAO1B,OAAO,CAAC,cAAc;CAGzB"}
1
+ {"version":3,"file":"database.d.ts","sourceRoot":"","sources":["../../../src/session/history/database.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,0BAA0B,CAAC;AAEvD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAEvD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,YAAY,CAAC;AAE9D;;;;;;;;;;;;;;;GAeG;AACH,qBAAa,uBAAwB,YAAW,2BAA2B;IAanE,OAAO,CAAC,SAAS;IACjB,OAAO,CAAC,QAAQ;IAbpB,OAAO,CAAC,MAAM,CAAS;IAGvB,OAAO,CAAC,KAAK,CAAkC;IAC/C,OAAO,CAAC,KAAK,CAAS;IACtB,OAAO,CAAC,UAAU,CAA8C;IAChE,OAAO,CAAC,YAAY,CAA8B;IAGlD,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,cAAc,CAAO;gBAGjC,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,QAAQ,EAC1B,MAAM,EAAE,MAAM;IAKZ,UAAU,IAAI,OAAO,CAAC,eAAe,EAAE,CAAC;IA2DxC,WAAW,CAAC,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC;IAwCpD,aAAa,CAAC,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC;IAiCtD,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC;IA0BnC;;;OAGG;IACG,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAwB5B;;;OAGG;YACW,OAAO;IA+CrB;;;OAGG;IACH,OAAO,CAAC,aAAa;IAerB;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAO1B,OAAO,CAAC,cAAc;CAGzB"}
@@ -1,11 +1,11 @@
1
- import type { IConversationHistoryProvider } from './types.js';
1
+ import type { ConversationHistoryProvider } from './types.js';
2
2
  import type { Database } from '../../storage/types.js';
3
- import type { IDextoLogger } from '../../logger/v2/types.js';
3
+ import type { Logger } from '../../logger/v2/types.js';
4
4
  /**
5
5
  * Create a history provider directly with database backend
6
6
  * @param database Database instance
7
7
  * @param sessionId Session ID
8
8
  * @param logger Logger instance for logging
9
9
  */
10
- export declare function createDatabaseHistoryProvider(database: Database, sessionId: string, logger: IDextoLogger): IConversationHistoryProvider;
10
+ export declare function createDatabaseHistoryProvider(database: Database, sessionId: string, logger: Logger): ConversationHistoryProvider;
11
11
  //# sourceMappingURL=factory.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"factory.d.ts","sourceRoot":"","sources":["../../../src/session/history/factory.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,YAAY,CAAC;AAC/D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AACvD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAG7D;;;;;GAKG;AACH,wBAAgB,6BAA6B,CACzC,QAAQ,EAAE,QAAQ,EAClB,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,YAAY,GACrB,4BAA4B,CAE9B"}
1
+ {"version":3,"file":"factory.d.ts","sourceRoot":"","sources":["../../../src/session/history/factory.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,YAAY,CAAC;AAC9D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AACvD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,0BAA0B,CAAC;AAGvD;;;;;GAKG;AACH,wBAAgB,6BAA6B,CACzC,QAAQ,EAAE,QAAQ,EAClB,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,MAAM,GACf,2BAA2B,CAE7B"}
@@ -1,15 +1,15 @@
1
1
  import type { InternalMessage } from '../../context/types.js';
2
- import type { IConversationHistoryProvider } from './types.js';
3
- import type { IDextoLogger } from '../../logger/v2/types.js';
2
+ import type { ConversationHistoryProvider } from './types.js';
3
+ import type { Logger } from '../../logger/v2/types.js';
4
4
  /**
5
5
  * Lightweight in-memory history provider for ephemeral, isolated LLM calls.
6
6
  * Used to run background tasks (e.g., title generation) without touching
7
7
  * the real session history or emitting history-related side effects.
8
8
  */
9
- export declare class MemoryHistoryProvider implements IConversationHistoryProvider {
9
+ export declare class MemoryHistoryProvider implements ConversationHistoryProvider {
10
10
  private logger;
11
11
  private messages;
12
- constructor(logger: IDextoLogger);
12
+ constructor(logger: Logger);
13
13
  getHistory(): Promise<InternalMessage[]>;
14
14
  saveMessage(message: InternalMessage): Promise<void>;
15
15
  updateMessage(message: InternalMessage): Promise<void>;
@@ -1 +1 @@
1
- {"version":3,"file":"memory.d.ts","sourceRoot":"","sources":["../../../src/session/history/memory.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,YAAY,CAAC;AAC/D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAE7D;;;;GAIG;AACH,qBAAa,qBAAsB,YAAW,4BAA4B;IAG1D,OAAO,CAAC,MAAM;IAF1B,OAAO,CAAC,QAAQ,CAAyB;gBAErB,MAAM,EAAE,YAAY;IAElC,UAAU,IAAI,OAAO,CAAC,eAAe,EAAE,CAAC;IAKxC,WAAW,CAAC,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC;IAIpD,aAAa,CAAC,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC;IAYtD,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC;IAInC;;OAEG;IACG,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;CAG/B"}
1
+ {"version":3,"file":"memory.d.ts","sourceRoot":"","sources":["../../../src/session/history/memory.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,YAAY,CAAC;AAC9D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,0BAA0B,CAAC;AAEvD;;;;GAIG;AACH,qBAAa,qBAAsB,YAAW,2BAA2B;IAGzD,OAAO,CAAC,MAAM;IAF1B,OAAO,CAAC,QAAQ,CAAyB;gBAErB,MAAM,EAAE,MAAM;IAE5B,UAAU,IAAI,OAAO,CAAC,eAAe,EAAE,CAAC;IAKxC,WAAW,CAAC,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC;IAIpD,aAAa,CAAC,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC;IAYtD,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC;IAInC;;OAEG;IACG,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;CAG/B"}
@@ -7,7 +7,7 @@ import type { InternalMessage } from '../../context/types.js';
7
7
  * the flush() method should be called at turn boundaries to ensure all updates
8
8
  * are persisted to durable storage.
9
9
  */
10
- export interface IConversationHistoryProvider {
10
+ export type ConversationHistoryProvider = {
11
11
  /** Load the full message history for this session */
12
12
  getHistory(): Promise<InternalMessage[]>;
13
13
  /** Append a message to this session's history (must be durable immediately) */
@@ -22,5 +22,5 @@ export interface IConversationHistoryProvider {
22
22
  * Implementations without caching can make this a no-op.
23
23
  */
24
24
  flush(): Promise<void>;
25
- }
25
+ };
26
26
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/session/history/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAE9D;;;;;;;GAOG;AACH,MAAM,WAAW,4BAA4B;IACzC,qDAAqD;IACrD,UAAU,IAAI,OAAO,CAAC,eAAe,EAAE,CAAC,CAAC;IAEzC,+EAA+E;IAC/E,WAAW,CAAC,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAErD,mFAAmF;IACnF,aAAa,CAAC,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAEvD,0CAA0C;IAC1C,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAE9B;;;;OAIG;IACH,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CAC1B"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/session/history/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAE9D;;;;;;;GAOG;AACH,MAAM,MAAM,2BAA2B,GAAG;IACtC,qDAAqD;IACrD,UAAU,IAAI,OAAO,CAAC,eAAe,EAAE,CAAC,CAAC;IAEzC,+EAA+E;IAC/E,WAAW,CAAC,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAErD,mFAAmF;IACnF,aAAa,CAAC,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAEvD,0CAA0C;IAC1C,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAE9B;;;;OAIG;IACH,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CAC1B,CAAC"}
@@ -20,6 +20,7 @@ var session_exports = {};
20
20
  __export(session_exports, {
21
21
  ChatSession: () => import_chat_session.ChatSession,
22
22
  MessageQueueService: () => import_message_queue.MessageQueueService,
23
+ SessionConfigSchema: () => import_schemas.SessionConfigSchema,
23
24
  SessionError: () => import_errors.SessionError,
24
25
  SessionErrorCode: () => import_error_codes.SessionErrorCode,
25
26
  SessionManager: () => import_session_manager.SessionManager
@@ -30,10 +31,12 @@ var import_session_manager = require("./session-manager.js");
30
31
  var import_error_codes = require("./error-codes.js");
31
32
  var import_errors = require("./errors.js");
32
33
  var import_message_queue = require("./message-queue.js");
34
+ var import_schemas = require("./schemas.js");
33
35
  // Annotate the CommonJS export names for ESM import in node:
34
36
  0 && (module.exports = {
35
37
  ChatSession,
36
38
  MessageQueueService,
39
+ SessionConfigSchema,
37
40
  SessionError,
38
41
  SessionErrorCode,
39
42
  SessionManager
@@ -6,4 +6,6 @@ export { SessionError } from './errors.js';
6
6
  export { MessageQueueService } from './message-queue.js';
7
7
  export type { UserMessageInput } from './message-queue.js';
8
8
  export type { QueuedMessage, CoalescedMessage } from './types.js';
9
+ export { SessionConfigSchema } from './schemas.js';
10
+ export type { SessionConfig, ValidatedSessionConfig } from './schemas.js';
9
11
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/session/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,YAAY,EAAE,eAAe,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAClF,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AACzD,YAAY,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAC3D,YAAY,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/session/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,YAAY,EAAE,eAAe,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAClF,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AACzD,YAAY,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAC3D,YAAY,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAClE,OAAO,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AACnD,YAAY,EAAE,aAAa,EAAE,sBAAsB,EAAE,MAAM,cAAc,CAAC"}
@@ -4,9 +4,11 @@ import { SessionManager } from "./session-manager.js";
4
4
  import { SessionErrorCode } from "./error-codes.js";
5
5
  import { SessionError } from "./errors.js";
6
6
  import { MessageQueueService } from "./message-queue.js";
7
+ import { SessionConfigSchema } from "./schemas.js";
7
8
  export {
8
9
  ChatSession,
9
10
  MessageQueueService,
11
+ SessionConfigSchema,
10
12
  SessionError,
11
13
  SessionErrorCode,
12
14
  SessionManager
@@ -42,7 +42,8 @@ class MessageQueueService {
42
42
  id: generateId(),
43
43
  content: message.content,
44
44
  queuedAt: Date.now(),
45
- ...message.metadata !== void 0 && { metadata: message.metadata }
45
+ ...message.metadata !== void 0 && { metadata: message.metadata },
46
+ ...message.kind !== void 0 && { kind: message.kind }
46
47
  };
47
48
  this.queue.push(queuedMsg);
48
49
  this.logger.debug(`Message queued: ${queuedMsg.id}, position: ${this.queue.length}`);
@@ -87,13 +88,14 @@ class MessageQueueService {
87
88
  count: messages.length,
88
89
  ids: messages.map((m) => m.id),
89
90
  coalesced: messages.length > 1,
90
- content: combined.combinedContent
91
+ content: combined.combinedContent,
92
+ messages
91
93
  });
92
94
  return combined;
93
95
  }
94
96
  /**
95
97
  * Coalesce multiple messages into one (multimodal-aware).
96
- * Strategy: Combine with numbered separators, preserve all media.
98
+ * Strategy: Combine with per-kind formatting, preserve all media.
97
99
  */
98
100
  coalesce(messages) {
99
101
  if (messages.length === 1) {
@@ -108,10 +110,32 @@ class MessageQueueService {
108
110
  lastQueuedAt: firstMsg.queuedAt
109
111
  };
110
112
  }
113
+ const getMessageKind = (message) => message.kind ?? "default";
114
+ const totalUserMessages = messages.filter(
115
+ (message) => getMessageKind(message) !== "background"
116
+ ).length;
117
+ const hasBackgroundMessages = messages.some(
118
+ (message) => getMessageKind(message) === "background"
119
+ );
120
+ const getUserPrefix = (index, total, mixed) => {
121
+ if (mixed) {
122
+ return `User follow-up ${index + 1}`;
123
+ }
124
+ if (total <= 1) return null;
125
+ if (total === 2) {
126
+ return index === 0 ? "First" : "Also";
127
+ }
128
+ return `[${index + 1}]`;
129
+ };
111
130
  const combinedContent = [];
131
+ let userIndex = 0;
112
132
  for (const [i, msg] of messages.entries()) {
113
- const prefix = messages.length === 2 ? i === 0 ? "First" : "Also" : `[${i + 1}]`;
114
- let prefixText = `${prefix}: `;
133
+ const kind = getMessageKind(msg);
134
+ const prefix = kind === "background" ? null : getUserPrefix(userIndex, totalUserMessages, hasBackgroundMessages);
135
+ if (kind !== "background") {
136
+ userIndex += 1;
137
+ }
138
+ let prefixText = prefix ? `${prefix}: ` : "";
115
139
  for (const part of msg.content) {
116
140
  if (part.type === "text") {
117
141
  if (prefixText) {
@@ -1,7 +1,7 @@
1
1
  import type { SessionEventBus } from '../events/index.js';
2
2
  import type { QueuedMessage, CoalescedMessage } from './types.js';
3
3
  import type { ContentPart } from '../context/types.js';
4
- import type { IDextoLogger } from '../logger/v2/types.js';
4
+ import type { Logger } from '../logger/v2/types.js';
5
5
  /**
6
6
  * Input for enqueuing a user message to the queue.
7
7
  * (Not to be confused with UserMessage from context/types.ts which represents
@@ -12,6 +12,8 @@ export interface UserMessageInput {
12
12
  content: ContentPart[];
13
13
  /** Optional metadata to attach to the message */
14
14
  metadata?: Record<string, unknown>;
15
+ /** Optional kind of queued message */
16
+ kind?: 'default' | 'background';
15
17
  }
16
18
  /**
17
19
  * MessageQueueService handles queuing of user messages during agent execution.
@@ -45,7 +47,7 @@ export declare class MessageQueueService {
45
47
  private eventBus;
46
48
  private logger;
47
49
  private queue;
48
- constructor(eventBus: SessionEventBus, logger: IDextoLogger);
50
+ constructor(eventBus: SessionEventBus, logger: Logger);
49
51
  /**
50
52
  * Add a message to the queue.
51
53
  * Called by API endpoint - returns immediately with queue position.
@@ -80,7 +82,7 @@ export declare class MessageQueueService {
80
82
  dequeueAll(): CoalescedMessage | null;
81
83
  /**
82
84
  * Coalesce multiple messages into one (multimodal-aware).
83
- * Strategy: Combine with numbered separators, preserve all media.
85
+ * Strategy: Combine with per-kind formatting, preserve all media.
84
86
  */
85
87
  private coalesce;
86
88
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"message-queue.d.ts","sourceRoot":"","sources":["../../src/session/message-queue.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAC1D,OAAO,KAAK,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAClE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAS1D;;;;GAIG;AACH,MAAM,WAAW,gBAAgB;IAC7B,2DAA2D;IAC3D,OAAO,EAAE,WAAW,EAAE,CAAC;IACvB,iDAAiD;IACjD,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACtC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,qBAAa,mBAAmB;IAIxB,OAAO,CAAC,QAAQ;IAChB,OAAO,CAAC,MAAM;IAJlB,OAAO,CAAC,KAAK,CAAuB;gBAGxB,QAAQ,EAAE,eAAe,EACzB,MAAM,EAAE,YAAY;IAGhC;;;;;;OAMG;IACH,OAAO,CAAC,OAAO,EAAE,gBAAgB,GAAG;QAAE,MAAM,EAAE,IAAI,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,EAAE,EAAE,MAAM,CAAA;KAAE;IAwBlF;;;;;;;;;;;;;;;;;;OAkBG;IACH,UAAU,IAAI,gBAAgB,GAAG,IAAI;IAsBrC;;;OAGG;IACH,OAAO,CAAC,QAAQ;IA0EhB;;OAEG;IACH,UAAU,IAAI,OAAO;IAIrB;;OAEG;IACH,YAAY,IAAI,MAAM;IAItB;;;OAGG;IACH,KAAK,IAAI,IAAI;IAIb;;;OAGG;IACH,MAAM,IAAI,aAAa,EAAE;IAIzB;;OAEG;IACH,GAAG,CAAC,EAAE,EAAE,MAAM,GAAG,aAAa,GAAG,SAAS;IAI1C;;;OAGG;IACH,MAAM,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO;CAY9B"}
1
+ {"version":3,"file":"message-queue.d.ts","sourceRoot":"","sources":["../../src/session/message-queue.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAC1D,OAAO,KAAK,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAClE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AASpD;;;;GAIG;AACH,MAAM,WAAW,gBAAgB;IAC7B,2DAA2D;IAC3D,OAAO,EAAE,WAAW,EAAE,CAAC;IACvB,iDAAiD;IACjD,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACnC,sCAAsC;IACtC,IAAI,CAAC,EAAE,SAAS,GAAG,YAAY,CAAC;CACnC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,qBAAa,mBAAmB;IAIxB,OAAO,CAAC,QAAQ;IAChB,OAAO,CAAC,MAAM;IAJlB,OAAO,CAAC,KAAK,CAAuB;gBAGxB,QAAQ,EAAE,eAAe,EACzB,MAAM,EAAE,MAAM;IAG1B;;;;;;OAMG;IACH,OAAO,CAAC,OAAO,EAAE,gBAAgB,GAAG;QAAE,MAAM,EAAE,IAAI,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,EAAE,EAAE,MAAM,CAAA;KAAE;IAyBlF;;;;;;;;;;;;;;;;;;OAkBG;IACH,UAAU,IAAI,gBAAgB,GAAG,IAAI;IAuBrC;;;OAGG;IACH,OAAO,CAAC,QAAQ;IAuGhB;;OAEG;IACH,UAAU,IAAI,OAAO;IAIrB;;OAEG;IACH,YAAY,IAAI,MAAM;IAItB;;;OAGG;IACH,KAAK,IAAI,IAAI;IAIb;;;OAGG;IACH,MAAM,IAAI,aAAa,EAAE;IAIzB;;OAEG;IACH,GAAG,CAAC,EAAE,EAAE,MAAM,GAAG,aAAa,GAAG,SAAS;IAI1C;;;OAGG;IACH,MAAM,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO;CAY9B"}
@@ -20,7 +20,8 @@ class MessageQueueService {
20
20
  id: generateId(),
21
21
  content: message.content,
22
22
  queuedAt: Date.now(),
23
- ...message.metadata !== void 0 && { metadata: message.metadata }
23
+ ...message.metadata !== void 0 && { metadata: message.metadata },
24
+ ...message.kind !== void 0 && { kind: message.kind }
24
25
  };
25
26
  this.queue.push(queuedMsg);
26
27
  this.logger.debug(`Message queued: ${queuedMsg.id}, position: ${this.queue.length}`);
@@ -65,13 +66,14 @@ class MessageQueueService {
65
66
  count: messages.length,
66
67
  ids: messages.map((m) => m.id),
67
68
  coalesced: messages.length > 1,
68
- content: combined.combinedContent
69
+ content: combined.combinedContent,
70
+ messages
69
71
  });
70
72
  return combined;
71
73
  }
72
74
  /**
73
75
  * Coalesce multiple messages into one (multimodal-aware).
74
- * Strategy: Combine with numbered separators, preserve all media.
76
+ * Strategy: Combine with per-kind formatting, preserve all media.
75
77
  */
76
78
  coalesce(messages) {
77
79
  if (messages.length === 1) {
@@ -86,10 +88,32 @@ class MessageQueueService {
86
88
  lastQueuedAt: firstMsg.queuedAt
87
89
  };
88
90
  }
91
+ const getMessageKind = (message) => message.kind ?? "default";
92
+ const totalUserMessages = messages.filter(
93
+ (message) => getMessageKind(message) !== "background"
94
+ ).length;
95
+ const hasBackgroundMessages = messages.some(
96
+ (message) => getMessageKind(message) === "background"
97
+ );
98
+ const getUserPrefix = (index, total, mixed) => {
99
+ if (mixed) {
100
+ return `User follow-up ${index + 1}`;
101
+ }
102
+ if (total <= 1) return null;
103
+ if (total === 2) {
104
+ return index === 0 ? "First" : "Also";
105
+ }
106
+ return `[${index + 1}]`;
107
+ };
89
108
  const combinedContent = [];
109
+ let userIndex = 0;
90
110
  for (const [i, msg] of messages.entries()) {
91
- const prefix = messages.length === 2 ? i === 0 ? "First" : "Also" : `[${i + 1}]`;
92
- let prefixText = `${prefix}: `;
111
+ const kind = getMessageKind(msg);
112
+ const prefix = kind === "background" ? null : getUserPrefix(userIndex, totalUserMessages, hasBackgroundMessages);
113
+ if (kind !== "background") {
114
+ userIndex += 1;
115
+ }
116
+ let prefixText = prefix ? `${prefix}: ` : "";
93
117
  for (const part of msg.content) {
94
118
  if (part.type === "text") {
95
119
  if (prefixText) {