@superblocksteam/vite-plugin-file-sync 2.0.42 → 2.0.43-next.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 (456) hide show
  1. package/dist/ai-service/agent/prompts/build-base-system-prompt.d.ts +2 -1
  2. package/dist/ai-service/agent/prompts/build-base-system-prompt.d.ts.map +1 -1
  3. package/dist/ai-service/agent/prompts/build-base-system-prompt.js +31 -2
  4. package/dist/ai-service/agent/prompts/build-base-system-prompt.js.map +1 -1
  5. package/dist/ai-service/agent/subagents/apis/example-selector.d.ts +24 -0
  6. package/dist/ai-service/agent/subagents/apis/example-selector.d.ts.map +1 -0
  7. package/dist/ai-service/agent/subagents/apis/example-selector.js +104 -0
  8. package/dist/ai-service/agent/subagents/apis/example-selector.js.map +1 -0
  9. package/dist/ai-service/agent/subagents/apis/examples.d.ts +55 -0
  10. package/dist/ai-service/agent/subagents/apis/examples.d.ts.map +1 -0
  11. package/dist/ai-service/agent/subagents/apis/examples.js +1229 -0
  12. package/dist/ai-service/agent/subagents/apis/examples.js.map +1 -0
  13. package/dist/ai-service/agent/subagents/apis/generate-api-source.d.ts +83 -0
  14. package/dist/ai-service/agent/subagents/apis/generate-api-source.d.ts.map +1 -0
  15. package/dist/ai-service/agent/{apis.js → subagents/apis/generate-api-source.js} +141 -98
  16. package/dist/ai-service/agent/subagents/apis/generate-api-source.js.map +1 -0
  17. package/dist/ai-service/agent/subagents/apis/prompt-builder.d.ts +39 -0
  18. package/dist/ai-service/agent/subagents/apis/prompt-builder.d.ts.map +1 -0
  19. package/dist/ai-service/agent/subagents/apis/prompt-builder.js +115 -0
  20. package/dist/ai-service/agent/subagents/apis/prompt-builder.js.map +1 -0
  21. package/dist/ai-service/agent/subagents/apis/static-analysis.d.ts +2 -0
  22. package/dist/ai-service/agent/subagents/apis/static-analysis.d.ts.map +1 -0
  23. package/dist/ai-service/agent/subagents/apis/static-analysis.js +766 -0
  24. package/dist/ai-service/agent/subagents/apis/static-analysis.js.map +1 -0
  25. package/dist/ai-service/agent/subagents/apis/system-prompt.d.ts +3 -0
  26. package/dist/ai-service/agent/subagents/apis/system-prompt.d.ts.map +1 -0
  27. package/dist/ai-service/agent/{apis-system-prompt.js → subagents/apis/system-prompt.js} +127 -34
  28. package/dist/ai-service/agent/{apis-system-prompt.js.map → subagents/apis/system-prompt.js.map} +1 -1
  29. package/dist/ai-service/agent/tool-message-utils.d.ts +6 -16
  30. package/dist/ai-service/agent/tool-message-utils.d.ts.map +1 -1
  31. package/dist/ai-service/agent/tool-message-utils.js +75 -204
  32. package/dist/ai-service/agent/tool-message-utils.js.map +1 -1
  33. package/dist/ai-service/agent/tools/build-add-event.d.ts +2 -4
  34. package/dist/ai-service/agent/tools/build-add-event.d.ts.map +1 -1
  35. package/dist/ai-service/agent/tools/build-add-event.js +9 -8
  36. package/dist/ai-service/agent/tools/build-add-event.js.map +1 -1
  37. package/dist/ai-service/agent/tools/build-add-state-var.d.ts +2 -4
  38. package/dist/ai-service/agent/tools/build-add-state-var.d.ts.map +1 -1
  39. package/dist/ai-service/agent/tools/build-add-state-var.js +6 -5
  40. package/dist/ai-service/agent/tools/build-add-state-var.js.map +1 -1
  41. package/dist/ai-service/agent/tools/build-add-timer.d.ts +2 -4
  42. package/dist/ai-service/agent/tools/build-add-timer.d.ts.map +1 -1
  43. package/dist/ai-service/agent/tools/build-add-timer.js +7 -6
  44. package/dist/ai-service/agent/tools/build-add-timer.js.map +1 -1
  45. package/dist/ai-service/agent/tools/build-create-page.d.ts +2 -3
  46. package/dist/ai-service/agent/tools/build-create-page.d.ts.map +1 -1
  47. package/dist/ai-service/agent/tools/build-create-page.js +11 -10
  48. package/dist/ai-service/agent/tools/build-create-page.js.map +1 -1
  49. package/dist/ai-service/agent/tools/build-debug.d.ts +1 -3
  50. package/dist/ai-service/agent/tools/build-debug.d.ts.map +1 -1
  51. package/dist/ai-service/agent/tools/build-debug.js +7 -5
  52. package/dist/ai-service/agent/tools/build-debug.js.map +1 -1
  53. package/dist/ai-service/agent/tools/build-edit-file.d.ts +2 -4
  54. package/dist/ai-service/agent/tools/build-edit-file.d.ts.map +1 -1
  55. package/dist/ai-service/agent/tools/build-edit-file.js +10 -7
  56. package/dist/ai-service/agent/tools/build-edit-file.js.map +1 -1
  57. package/dist/ai-service/agent/tools/build-finalize.d.ts +2 -4
  58. package/dist/ai-service/agent/tools/build-finalize.d.ts.map +1 -1
  59. package/dist/ai-service/agent/tools/build-finalize.js +7 -6
  60. package/dist/ai-service/agent/tools/build-finalize.js.map +1 -1
  61. package/dist/ai-service/agent/tools/build-install-packages.d.ts +2 -4
  62. package/dist/ai-service/agent/tools/build-install-packages.d.ts.map +1 -1
  63. package/dist/ai-service/agent/tools/build-install-packages.js +7 -6
  64. package/dist/ai-service/agent/tools/build-install-packages.js.map +1 -1
  65. package/dist/ai-service/agent/tools/build-list-available-components.d.ts +3 -8
  66. package/dist/ai-service/agent/tools/build-list-available-components.d.ts.map +1 -1
  67. package/dist/ai-service/agent/tools/build-list-available-components.js +30 -9
  68. package/dist/ai-service/agent/tools/build-list-available-components.js.map +1 -1
  69. package/dist/ai-service/agent/tools/build-list-files.d.ts +2 -3
  70. package/dist/ai-service/agent/tools/build-list-files.d.ts.map +1 -1
  71. package/dist/ai-service/agent/tools/build-list-files.js +10 -8
  72. package/dist/ai-service/agent/tools/build-list-files.js.map +1 -1
  73. package/dist/ai-service/agent/tools/build-manage-checklist.d.ts +3 -3
  74. package/dist/ai-service/agent/tools/build-manage-checklist.d.ts.map +1 -1
  75. package/dist/ai-service/agent/tools/build-manage-checklist.js +9 -8
  76. package/dist/ai-service/agent/tools/build-manage-checklist.js.map +1 -1
  77. package/dist/ai-service/agent/tools/build-multi-edit-file.d.ts +2 -4
  78. package/dist/ai-service/agent/tools/build-multi-edit-file.d.ts.map +1 -1
  79. package/dist/ai-service/agent/tools/build-multi-edit-file.js +9 -6
  80. package/dist/ai-service/agent/tools/build-multi-edit-file.js.map +1 -1
  81. package/dist/ai-service/agent/tools/build-read-files.d.ts +2 -4
  82. package/dist/ai-service/agent/tools/build-read-files.d.ts.map +1 -1
  83. package/dist/ai-service/agent/tools/build-read-files.js +10 -8
  84. package/dist/ai-service/agent/tools/build-read-files.js.map +1 -1
  85. package/dist/ai-service/agent/tools/build-register-component-name.d.ts +2 -4
  86. package/dist/ai-service/agent/tools/build-register-component-name.d.ts.map +1 -1
  87. package/dist/ai-service/agent/tools/build-register-component-name.js +9 -8
  88. package/dist/ai-service/agent/tools/build-register-component-name.js.map +1 -1
  89. package/dist/ai-service/agent/tools/build-rename-page.d.ts +2 -3
  90. package/dist/ai-service/agent/tools/build-rename-page.d.ts.map +1 -1
  91. package/dist/ai-service/agent/tools/build-rename-page.js +6 -5
  92. package/dist/ai-service/agent/tools/build-rename-page.js.map +1 -1
  93. package/dist/ai-service/agent/tools/build-set-api-triggers.d.ts +2 -4
  94. package/dist/ai-service/agent/tools/build-set-api-triggers.d.ts.map +1 -1
  95. package/dist/ai-service/agent/tools/build-set-api-triggers.js +6 -5
  96. package/dist/ai-service/agent/tools/build-set-api-triggers.js.map +1 -1
  97. package/dist/ai-service/agent/tools/build-update-state-var.d.ts +2 -3
  98. package/dist/ai-service/agent/tools/build-update-state-var.d.ts.map +1 -1
  99. package/dist/ai-service/agent/tools/build-update-state-var.js +6 -5
  100. package/dist/ai-service/agent/tools/build-update-state-var.js.map +1 -1
  101. package/dist/ai-service/agent/tools/build-validate-icons.d.ts +2 -3
  102. package/dist/ai-service/agent/tools/build-validate-icons.d.ts.map +1 -1
  103. package/dist/ai-service/agent/tools/build-validate-icons.js +8 -6
  104. package/dist/ai-service/agent/tools/build-validate-icons.js.map +1 -1
  105. package/dist/ai-service/agent/tools/build-write-file.d.ts +2 -4
  106. package/dist/ai-service/agent/tools/build-write-file.d.ts.map +1 -1
  107. package/dist/ai-service/agent/tools/build-write-file.js +6 -5
  108. package/dist/ai-service/agent/tools/build-write-file.js.map +1 -1
  109. package/dist/ai-service/agent/tools/debug-cache.d.ts.map +1 -1
  110. package/dist/ai-service/agent/tools/debug-cache.js +4 -1
  111. package/dist/ai-service/agent/tools/debug-cache.js.map +1 -1
  112. package/dist/ai-service/agent/tools/index.d.ts +23 -20
  113. package/dist/ai-service/agent/tools/index.d.ts.map +1 -1
  114. package/dist/ai-service/agent/tools/index.js +23 -20
  115. package/dist/ai-service/agent/tools/index.js.map +1 -1
  116. package/dist/ai-service/agent/tools/integrations/execute-request.d.ts +25 -0
  117. package/dist/ai-service/agent/tools/integrations/execute-request.d.ts.map +1 -0
  118. package/dist/ai-service/agent/tools/integrations/execute-request.js +213 -0
  119. package/dist/ai-service/agent/tools/integrations/execute-request.js.map +1 -0
  120. package/dist/ai-service/agent/tools/integrations/index.d.ts +4 -0
  121. package/dist/ai-service/agent/tools/integrations/index.d.ts.map +1 -0
  122. package/dist/ai-service/agent/tools/integrations/index.js +4 -0
  123. package/dist/ai-service/agent/tools/integrations/index.js.map +1 -0
  124. package/dist/ai-service/agent/tools/integrations/internal.d.ts +3 -0
  125. package/dist/ai-service/agent/tools/integrations/internal.d.ts.map +1 -0
  126. package/dist/ai-service/agent/tools/integrations/internal.js +11 -0
  127. package/dist/ai-service/agent/tools/integrations/internal.js.map +1 -0
  128. package/dist/ai-service/agent/tools/integrations/metadata.d.ts +10 -0
  129. package/dist/ai-service/agent/tools/integrations/metadata.d.ts.map +1 -0
  130. package/dist/ai-service/agent/tools/integrations/metadata.js +80 -0
  131. package/dist/ai-service/agent/tools/integrations/metadata.js.map +1 -0
  132. package/dist/ai-service/agent/tools/integrations/run-code.d.ts +5 -0
  133. package/dist/ai-service/agent/tools/integrations/run-code.d.ts.map +1 -0
  134. package/dist/ai-service/agent/tools/integrations/run-code.js +32 -0
  135. package/dist/ai-service/agent/tools/integrations/run-code.js.map +1 -0
  136. package/dist/ai-service/agent/tools/study-current-app-state.d.ts +2 -4
  137. package/dist/ai-service/agent/tools/study-current-app-state.d.ts.map +1 -1
  138. package/dist/ai-service/agent/tools/study-current-app-state.js +10 -8
  139. package/dist/ai-service/agent/tools/study-current-app-state.js.map +1 -1
  140. package/dist/ai-service/agent/tools.d.ts +3 -280
  141. package/dist/ai-service/agent/tools.d.ts.map +1 -1
  142. package/dist/ai-service/agent/tools.js +68 -55
  143. package/dist/ai-service/agent/tools.js.map +1 -1
  144. package/dist/ai-service/agent/tools2/access-control.d.ts +119 -0
  145. package/dist/ai-service/agent/tools2/access-control.d.ts.map +1 -0
  146. package/dist/ai-service/agent/tools2/access-control.js +216 -0
  147. package/dist/ai-service/agent/tools2/access-control.js.map +1 -0
  148. package/dist/ai-service/agent/tools2/example.d.ts +13 -0
  149. package/dist/ai-service/agent/tools2/example.d.ts.map +1 -0
  150. package/dist/ai-service/agent/tools2/example.js +143 -0
  151. package/dist/ai-service/agent/tools2/example.js.map +1 -0
  152. package/dist/ai-service/agent/tools2/index.d.ts +16 -0
  153. package/dist/ai-service/agent/tools2/index.d.ts.map +1 -0
  154. package/dist/ai-service/agent/tools2/index.js +18 -0
  155. package/dist/ai-service/agent/tools2/index.js.map +1 -0
  156. package/dist/ai-service/agent/tools2/registry.d.ts +167 -0
  157. package/dist/ai-service/agent/tools2/registry.d.ts.map +1 -0
  158. package/dist/ai-service/agent/tools2/registry.js +305 -0
  159. package/dist/ai-service/agent/tools2/registry.js.map +1 -0
  160. package/dist/ai-service/agent/tools2/tools/ask-multi-choice.d.ts +12 -0
  161. package/dist/ai-service/agent/tools2/tools/ask-multi-choice.d.ts.map +1 -0
  162. package/dist/ai-service/agent/tools2/tools/ask-multi-choice.js +73 -0
  163. package/dist/ai-service/agent/tools2/tools/ask-multi-choice.js.map +1 -0
  164. package/dist/ai-service/agent/tools2/tools/bash.d.ts +34 -0
  165. package/dist/ai-service/agent/tools2/tools/bash.d.ts.map +1 -0
  166. package/dist/ai-service/agent/tools2/tools/bash.js +76 -0
  167. package/dist/ai-service/agent/tools2/tools/bash.js.map +1 -0
  168. package/dist/ai-service/agent/tools2/tools/edit.d.ts +14 -0
  169. package/dist/ai-service/agent/tools2/tools/edit.d.ts.map +1 -0
  170. package/dist/ai-service/agent/tools2/tools/edit.js +60 -0
  171. package/dist/ai-service/agent/tools2/tools/edit.js.map +1 -0
  172. package/dist/ai-service/agent/tools2/tools/exit-plan-mode.d.ts +10 -0
  173. package/dist/ai-service/agent/tools2/tools/exit-plan-mode.d.ts.map +1 -0
  174. package/dist/ai-service/agent/tools2/tools/exit-plan-mode.js +66 -0
  175. package/dist/ai-service/agent/tools2/tools/exit-plan-mode.js.map +1 -0
  176. package/dist/ai-service/agent/tools2/tools/glob.d.ts +11 -0
  177. package/dist/ai-service/agent/tools2/tools/glob.d.ts.map +1 -0
  178. package/dist/ai-service/agent/tools2/tools/glob.js +44 -0
  179. package/dist/ai-service/agent/tools2/tools/glob.js.map +1 -0
  180. package/dist/ai-service/agent/tools2/tools/grep.d.ts +21 -0
  181. package/dist/ai-service/agent/tools2/tools/grep.d.ts.map +1 -0
  182. package/dist/ai-service/agent/tools2/tools/grep.js +100 -0
  183. package/dist/ai-service/agent/tools2/tools/grep.js.map +1 -0
  184. package/dist/ai-service/agent/tools2/tools/index.d.ts +13 -0
  185. package/dist/ai-service/agent/tools2/tools/index.d.ts.map +1 -0
  186. package/dist/ai-service/agent/tools2/tools/index.js +13 -0
  187. package/dist/ai-service/agent/tools2/tools/index.js.map +1 -0
  188. package/dist/ai-service/agent/tools2/tools/read.d.ts +9 -0
  189. package/dist/ai-service/agent/tools2/tools/read.d.ts.map +1 -0
  190. package/dist/ai-service/agent/tools2/tools/read.js +43 -0
  191. package/dist/ai-service/agent/tools2/tools/read.js.map +1 -0
  192. package/dist/ai-service/agent/tools2/tools/write.d.ts +11 -0
  193. package/dist/ai-service/agent/tools2/tools/write.d.ts.map +1 -0
  194. package/dist/ai-service/agent/tools2/tools/write.js +28 -0
  195. package/dist/ai-service/agent/tools2/tools/write.js.map +1 -0
  196. package/dist/ai-service/agent/tools2/types.d.ts +148 -0
  197. package/dist/ai-service/agent/tools2/types.d.ts.map +1 -0
  198. package/dist/ai-service/agent/tools2/types.js +55 -0
  199. package/dist/ai-service/agent/tools2/types.js.map +1 -0
  200. package/dist/ai-service/agent/utils.d.ts +2 -3
  201. package/dist/ai-service/agent/utils.d.ts.map +1 -1
  202. package/dist/ai-service/agent/utils.js +14 -13
  203. package/dist/ai-service/agent/utils.js.map +1 -1
  204. package/dist/ai-service/chat/chat-session-store.d.ts +5 -0
  205. package/dist/ai-service/chat/chat-session-store.d.ts.map +1 -1
  206. package/dist/ai-service/chat/chat-session-store.js +484 -345
  207. package/dist/ai-service/chat/chat-session-store.js.map +1 -1
  208. package/dist/ai-service/chat/extract-history.d.ts +1 -0
  209. package/dist/ai-service/chat/extract-history.d.ts.map +1 -1
  210. package/dist/ai-service/chat/extract-history.js +12 -1
  211. package/dist/ai-service/chat/extract-history.js.map +1 -1
  212. package/dist/ai-service/const.d.ts +2 -1
  213. package/dist/ai-service/const.d.ts.map +1 -1
  214. package/dist/ai-service/const.js +7 -1
  215. package/dist/ai-service/const.js.map +1 -1
  216. package/dist/ai-service/index.d.ts +9 -8
  217. package/dist/ai-service/index.d.ts.map +1 -1
  218. package/dist/ai-service/index.js +7 -0
  219. package/dist/ai-service/index.js.map +1 -1
  220. package/dist/ai-service/integrations/metadata/database.d.ts.map +1 -1
  221. package/dist/ai-service/integrations/metadata/database.js +3 -29
  222. package/dist/ai-service/integrations/metadata/database.js.map +1 -1
  223. package/dist/ai-service/integrations/metadata/databricks.d.ts +25 -0
  224. package/dist/ai-service/integrations/metadata/databricks.d.ts.map +1 -0
  225. package/dist/ai-service/integrations/metadata/databricks.js +174 -0
  226. package/dist/ai-service/integrations/metadata/databricks.js.map +1 -0
  227. package/dist/ai-service/integrations/store.d.ts +34 -4
  228. package/dist/ai-service/integrations/store.d.ts.map +1 -1
  229. package/dist/ai-service/integrations/store.js +125 -5
  230. package/dist/ai-service/integrations/store.js.map +1 -1
  231. package/dist/ai-service/llm/context/caching/constants.d.ts +27 -0
  232. package/dist/ai-service/llm/context/caching/constants.d.ts.map +1 -0
  233. package/dist/ai-service/llm/context/caching/constants.js +20 -0
  234. package/dist/ai-service/llm/context/caching/constants.js.map +1 -0
  235. package/dist/ai-service/llm/context/caching/factory.d.ts +12 -0
  236. package/dist/ai-service/llm/context/caching/factory.d.ts.map +1 -0
  237. package/dist/ai-service/llm/context/caching/factory.js +28 -0
  238. package/dist/ai-service/llm/context/caching/factory.js.map +1 -0
  239. package/dist/ai-service/llm/context/caching/index.d.ts +10 -0
  240. package/dist/ai-service/llm/context/caching/index.d.ts.map +1 -0
  241. package/dist/ai-service/llm/context/caching/index.js +9 -0
  242. package/dist/ai-service/llm/context/caching/index.js.map +1 -0
  243. package/dist/ai-service/llm/context/caching/quantized-strategy.d.ts +22 -0
  244. package/dist/ai-service/llm/context/caching/quantized-strategy.d.ts.map +1 -0
  245. package/dist/ai-service/llm/context/caching/quantized-strategy.js +48 -0
  246. package/dist/ai-service/llm/context/caching/quantized-strategy.js.map +1 -0
  247. package/dist/ai-service/llm/context/caching/strategy.d.ts +20 -0
  248. package/dist/ai-service/llm/context/caching/strategy.d.ts.map +1 -0
  249. package/dist/ai-service/llm/context/caching/strategy.js +5 -0
  250. package/dist/ai-service/llm/context/caching/strategy.js.map +1 -0
  251. package/dist/ai-service/llm/context/caching/types.d.ts +34 -0
  252. package/dist/ai-service/llm/context/caching/types.d.ts.map +1 -0
  253. package/dist/ai-service/llm/context/caching/types.js +8 -0
  254. package/dist/ai-service/llm/context/caching/types.js.map +1 -0
  255. package/dist/ai-service/llm/context/config.d.ts +51 -0
  256. package/dist/ai-service/llm/context/config.d.ts.map +1 -0
  257. package/dist/ai-service/llm/context/config.js +58 -0
  258. package/dist/ai-service/llm/context/config.js.map +1 -0
  259. package/dist/ai-service/llm/context/constants.d.ts +106 -0
  260. package/dist/ai-service/llm/context/constants.d.ts.map +1 -0
  261. package/dist/ai-service/llm/context/constants.js +106 -0
  262. package/dist/ai-service/llm/context/constants.js.map +1 -0
  263. package/dist/ai-service/llm/context/context.d.ts +207 -0
  264. package/dist/ai-service/llm/context/context.d.ts.map +1 -0
  265. package/dist/ai-service/llm/context/context.js +742 -0
  266. package/dist/ai-service/llm/context/context.js.map +1 -0
  267. package/dist/ai-service/llm/context/errors.d.ts +45 -0
  268. package/dist/ai-service/llm/context/errors.d.ts.map +1 -0
  269. package/dist/ai-service/llm/context/errors.js +56 -0
  270. package/dist/ai-service/llm/context/errors.js.map +1 -0
  271. package/dist/ai-service/llm/context/index.d.ts +13 -0
  272. package/dist/ai-service/llm/context/index.d.ts.map +1 -0
  273. package/dist/ai-service/llm/context/index.js +17 -0
  274. package/dist/ai-service/llm/context/index.js.map +1 -0
  275. package/dist/ai-service/llm/context/internal-types.d.ts +52 -0
  276. package/dist/ai-service/llm/context/internal-types.d.ts.map +1 -0
  277. package/dist/ai-service/llm/context/internal-types.js +28 -0
  278. package/dist/ai-service/llm/context/internal-types.js.map +1 -0
  279. package/dist/ai-service/llm/context/levels/index.d.ts +12 -0
  280. package/dist/ai-service/llm/context/levels/index.d.ts.map +1 -0
  281. package/dist/ai-service/llm/context/levels/index.js +12 -0
  282. package/dist/ai-service/llm/context/levels/index.js.map +1 -0
  283. package/dist/ai-service/llm/context/levels/l1.d.ts +83 -0
  284. package/dist/ai-service/llm/context/levels/l1.d.ts.map +1 -0
  285. package/dist/ai-service/llm/context/levels/l1.js +143 -0
  286. package/dist/ai-service/llm/context/levels/l1.js.map +1 -0
  287. package/dist/ai-service/llm/context/levels/l2.d.ts +60 -0
  288. package/dist/ai-service/llm/context/levels/l2.d.ts.map +1 -0
  289. package/dist/ai-service/llm/context/levels/l2.js +96 -0
  290. package/dist/ai-service/llm/context/levels/l2.js.map +1 -0
  291. package/dist/ai-service/llm/context/levels/l3.d.ts +46 -0
  292. package/dist/ai-service/llm/context/levels/l3.d.ts.map +1 -0
  293. package/dist/ai-service/llm/context/levels/l3.js +70 -0
  294. package/dist/ai-service/llm/context/levels/l3.js.map +1 -0
  295. package/dist/ai-service/llm/context/logger.d.ts +17 -0
  296. package/dist/ai-service/llm/context/logger.d.ts.map +1 -0
  297. package/dist/ai-service/llm/context/logger.js +26 -0
  298. package/dist/ai-service/llm/context/logger.js.map +1 -0
  299. package/dist/ai-service/llm/context/manager.d.ts +79 -0
  300. package/dist/ai-service/llm/context/manager.d.ts.map +1 -0
  301. package/dist/ai-service/llm/context/manager.js +136 -0
  302. package/dist/ai-service/llm/context/manager.js.map +1 -0
  303. package/dist/ai-service/llm/context/options.d.ts +43 -0
  304. package/dist/ai-service/llm/context/options.d.ts.map +1 -0
  305. package/dist/ai-service/llm/context/options.js +81 -0
  306. package/dist/ai-service/llm/context/options.js.map +1 -0
  307. package/dist/ai-service/llm/context/serialization.d.ts +56 -0
  308. package/dist/ai-service/llm/context/serialization.d.ts.map +1 -0
  309. package/dist/ai-service/llm/context/serialization.js +9 -0
  310. package/dist/ai-service/llm/context/serialization.js.map +1 -0
  311. package/dist/ai-service/llm/context/storage/index.d.ts +10 -0
  312. package/dist/ai-service/llm/context/storage/index.d.ts.map +1 -0
  313. package/dist/ai-service/llm/context/storage/index.js +2 -0
  314. package/dist/ai-service/llm/context/storage/index.js.map +1 -0
  315. package/dist/ai-service/llm/context/storage/local.d.ts +22 -0
  316. package/dist/ai-service/llm/context/storage/local.d.ts.map +1 -0
  317. package/dist/ai-service/llm/context/storage/local.js +42 -0
  318. package/dist/ai-service/llm/context/storage/local.js.map +1 -0
  319. package/dist/ai-service/llm/context/types.d.ts +125 -0
  320. package/dist/ai-service/llm/context/types.d.ts.map +1 -0
  321. package/dist/ai-service/llm/context/types.js +5 -0
  322. package/dist/ai-service/llm/context/types.js.map +1 -0
  323. package/dist/ai-service/llm/context/utils/content-compaction.d.ts +26 -0
  324. package/dist/ai-service/llm/context/utils/content-compaction.d.ts.map +1 -0
  325. package/dist/ai-service/llm/context/utils/content-compaction.js +52 -0
  326. package/dist/ai-service/llm/context/utils/content-compaction.js.map +1 -0
  327. package/dist/ai-service/llm/context/utils/index.d.ts +10 -0
  328. package/dist/ai-service/llm/context/utils/index.d.ts.map +1 -0
  329. package/dist/ai-service/llm/context/utils/index.js +10 -0
  330. package/dist/ai-service/llm/context/utils/index.js.map +1 -0
  331. package/dist/ai-service/llm/context/utils/message-utils.d.ts +34 -0
  332. package/dist/ai-service/llm/context/utils/message-utils.d.ts.map +1 -0
  333. package/dist/ai-service/llm/context/utils/message-utils.js +73 -0
  334. package/dist/ai-service/llm/context/utils/message-utils.js.map +1 -0
  335. package/dist/ai-service/llm/context/utils/token-estimation.d.ts +31 -0
  336. package/dist/ai-service/llm/context/utils/token-estimation.d.ts.map +1 -0
  337. package/dist/ai-service/llm/context/utils/token-estimation.js +52 -0
  338. package/dist/ai-service/llm/context/utils/token-estimation.js.map +1 -0
  339. package/dist/ai-service/llm/context/utils/visualization.d.ts +40 -0
  340. package/dist/ai-service/llm/context/utils/visualization.d.ts.map +1 -0
  341. package/dist/ai-service/llm/context/utils/visualization.js +516 -0
  342. package/dist/ai-service/llm/context/utils/visualization.js.map +1 -0
  343. package/dist/ai-service/llm/impl/anthropic.js +2 -2
  344. package/dist/ai-service/llm/impl/anthropic.js.map +1 -1
  345. package/dist/ai-service/llmobs/helpers.d.ts.map +1 -1
  346. package/dist/ai-service/llmobs/helpers.js +10 -19
  347. package/dist/ai-service/llmobs/helpers.js.map +1 -1
  348. package/dist/ai-service/llmobs/middleware/stream-text.d.ts.map +1 -1
  349. package/dist/ai-service/llmobs/middleware/stream-text.js +16 -11
  350. package/dist/ai-service/llmobs/middleware/stream-text.js.map +1 -1
  351. package/dist/ai-service/prompt-builder-service/static-fragments/library-components/ButtonPropsDocs.js +1 -1
  352. package/dist/ai-service/prompt-builder-service/static-fragments/library-components/CheckboxPropsDocs.js +1 -1
  353. package/dist/ai-service/prompt-builder-service/static-fragments/library-components/ColumnPropsDocs.js +1 -1
  354. package/dist/ai-service/prompt-builder-service/static-fragments/library-components/ContainerPropsDocs.js +1 -1
  355. package/dist/ai-service/prompt-builder-service/static-fragments/library-components/DatePickerPropsDocs.js +1 -1
  356. package/dist/ai-service/prompt-builder-service/static-fragments/library-components/DropdownPropsDocs.js +1 -1
  357. package/dist/ai-service/prompt-builder-service/static-fragments/library-components/IconPropsDocs.js +1 -1
  358. package/dist/ai-service/prompt-builder-service/static-fragments/library-components/ImagePropsDocs.js +1 -1
  359. package/dist/ai-service/prompt-builder-service/static-fragments/library-components/InputPropsDocs.js +1 -1
  360. package/dist/ai-service/prompt-builder-service/static-fragments/library-components/ModalPropsDocs.js +1 -1
  361. package/dist/ai-service/prompt-builder-service/static-fragments/library-components/PagePropsDocs.js +1 -1
  362. package/dist/ai-service/prompt-builder-service/static-fragments/library-components/SectionPropsDocs.js +1 -1
  363. package/dist/ai-service/prompt-builder-service/static-fragments/library-components/SlideoutPropsDocs.js +1 -1
  364. package/dist/ai-service/prompt-builder-service/static-fragments/library-components/SwitchPropsDocs.js +1 -1
  365. package/dist/ai-service/prompt-builder-service/static-fragments/library-components/TablePropsDocs.js +1 -1
  366. package/dist/ai-service/prompt-builder-service/static-fragments/library-components/TextPropsDocs.js +1 -1
  367. package/dist/ai-service/prompt-builder-service/static-fragments/library-typedefs/Dim.js +1 -1
  368. package/dist/ai-service/prompt-builder-service/static-fragments/library-typedefs/EventFlow.js +1 -1
  369. package/dist/ai-service/prompt-builder-service/static-fragments/library-typedefs/TextStyleWithVariant.js +1 -1
  370. package/dist/ai-service/prompt-builder-service/static-fragments/platform-parts/full-examples.js +1 -1
  371. package/dist/ai-service/prompt-builder-service/static-fragments/platform-parts/superblocks-api.js +1 -1
  372. package/dist/ai-service/prompt-builder-service/static-fragments/platform-parts/superblocks-components-rules.js +1 -1
  373. package/dist/ai-service/prompt-builder-service/static-fragments/platform-parts/superblocks-custom-components.js +1 -1
  374. package/dist/ai-service/prompt-builder-service/static-fragments/platform-parts/superblocks-data-filtering.js +1 -1
  375. package/dist/ai-service/prompt-builder-service/static-fragments/platform-parts/superblocks-event-flow.js +1 -1
  376. package/dist/ai-service/prompt-builder-service/static-fragments/platform-parts/superblocks-forms.js +1 -1
  377. package/dist/ai-service/prompt-builder-service/static-fragments/platform-parts/superblocks-layouts.js +1 -1
  378. package/dist/ai-service/prompt-builder-service/static-fragments/platform-parts/superblocks-page.js +1 -1
  379. package/dist/ai-service/prompt-builder-service/static-fragments/platform-parts/superblocks-rbac.js +1 -1
  380. package/dist/ai-service/prompt-builder-service/static-fragments/platform-parts/superblocks-routes.js +1 -1
  381. package/dist/ai-service/prompt-builder-service/static-fragments/platform-parts/superblocks-state.js +1 -1
  382. package/dist/ai-service/prompt-builder-service/static-fragments/platform-parts/superblocks-theming-chakra-new.js +1 -1
  383. package/dist/ai-service/prompt-builder-service/static-fragments/platform-parts/system-base.js +1 -1
  384. package/dist/ai-service/prompt-builder-service/static-fragments/platform-parts/system-incremental.js +1 -1
  385. package/dist/ai-service/prompt-builder-service/static-fragments/platform-parts/system-specific-edit.js +1 -1
  386. package/dist/ai-service/state-machine/clark-fsm.d.ts +9 -5
  387. package/dist/ai-service/state-machine/clark-fsm.d.ts.map +1 -1
  388. package/dist/ai-service/state-machine/clark-fsm.js.map +1 -1
  389. package/dist/ai-service/state-machine/handlers/agent-planning.d.ts.map +1 -1
  390. package/dist/ai-service/state-machine/handlers/agent-planning.js +36 -9
  391. package/dist/ai-service/state-machine/handlers/agent-planning.js.map +1 -1
  392. package/dist/ai-service/state-machine/handlers/llm-generating.d.ts.map +1 -1
  393. package/dist/ai-service/state-machine/handlers/llm-generating.js +161 -104
  394. package/dist/ai-service/state-machine/handlers/llm-generating.js.map +1 -1
  395. package/dist/ai-service/state-machine/helpers/context-id.d.ts +4 -0
  396. package/dist/ai-service/state-machine/helpers/context-id.d.ts.map +1 -0
  397. package/dist/ai-service/state-machine/helpers/context-id.js +16 -0
  398. package/dist/ai-service/state-machine/helpers/context-id.js.map +1 -0
  399. package/dist/ai-service/state-machine/helpers/peer.d.ts.map +1 -1
  400. package/dist/ai-service/state-machine/helpers/peer.js +7 -4
  401. package/dist/ai-service/state-machine/helpers/peer.js.map +1 -1
  402. package/dist/ai-service/state-machine/mocks.d.ts +2 -3
  403. package/dist/ai-service/state-machine/mocks.d.ts.map +1 -1
  404. package/dist/ai-service/state-machine/mocks.js.map +1 -1
  405. package/dist/ai-service/transform/api-builder/to-sdk-transformer.d.ts.map +1 -1
  406. package/dist/ai-service/transform/api-builder/to-sdk-transformer.js +0 -2
  407. package/dist/ai-service/transform/api-builder/to-sdk-transformer.js.map +1 -1
  408. package/dist/ai-service/types.d.ts +3 -0
  409. package/dist/ai-service/types.d.ts.map +1 -1
  410. package/dist/ai-service/types.js.map +1 -1
  411. package/dist/ai-service/util/parse-jwt.d.ts +12 -0
  412. package/dist/ai-service/util/parse-jwt.d.ts.map +1 -0
  413. package/dist/ai-service/util/parse-jwt.js +30 -0
  414. package/dist/ai-service/util/parse-jwt.js.map +1 -0
  415. package/dist/ai-service/util/safe-stringify.d.ts +1 -1
  416. package/dist/ai-service/util/safe-stringify.d.ts.map +1 -1
  417. package/dist/ai-service/util/safe-stringify.js +3 -3
  418. package/dist/ai-service/util/safe-stringify.js.map +1 -1
  419. package/dist/binding-extraction/extract-js-identifiers.d.ts.map +1 -1
  420. package/dist/binding-extraction/extract-js-identifiers.js +1 -1
  421. package/dist/binding-extraction/extract-js-identifiers.js.map +1 -1
  422. package/dist/build-errors.d.ts +10 -0
  423. package/dist/build-errors.d.ts.map +1 -0
  424. package/dist/build-errors.js +14 -0
  425. package/dist/build-errors.js.map +1 -0
  426. package/dist/client-error-overlay.d.ts +7 -0
  427. package/dist/client-error-overlay.d.ts.map +1 -0
  428. package/dist/client-error-overlay.js +124 -0
  429. package/dist/client-error-overlay.js.map +1 -0
  430. package/dist/component-docs-service/index.d.ts.map +1 -1
  431. package/dist/component-docs-service/index.js +0 -2
  432. package/dist/component-docs-service/index.js.map +1 -1
  433. package/dist/file-sync-vite-plugin.d.ts.map +1 -1
  434. package/dist/file-sync-vite-plugin.js +37 -26
  435. package/dist/file-sync-vite-plugin.js.map +1 -1
  436. package/dist/file-system-manager.d.ts.map +1 -1
  437. package/dist/file-system-manager.js +4 -7
  438. package/dist/file-system-manager.js.map +1 -1
  439. package/dist/injected-index.d.ts.map +1 -1
  440. package/dist/injected-index.js +6 -1
  441. package/dist/injected-index.js.map +1 -1
  442. package/dist/parsing/page.d.ts.map +1 -1
  443. package/dist/parsing/page.js +5 -5
  444. package/dist/parsing/page.js.map +1 -1
  445. package/dist/parsing/scope.d.ts.map +1 -1
  446. package/dist/parsing/scope.js +2 -7
  447. package/dist/parsing/scope.js.map +1 -1
  448. package/dist/routing.d.ts.map +1 -1
  449. package/dist/routing.js +0 -18
  450. package/dist/routing.js.map +1 -1
  451. package/package.json +8 -8
  452. package/dist/ai-service/agent/apis-system-prompt.d.ts +0 -3
  453. package/dist/ai-service/agent/apis-system-prompt.d.ts.map +0 -1
  454. package/dist/ai-service/agent/apis.d.ts +0 -55
  455. package/dist/ai-service/agent/apis.d.ts.map +0 -1
  456. package/dist/ai-service/agent/apis.js.map +0 -1
@@ -0,0 +1,56 @@
1
+ /**
2
+ * Serialization types and utilities for persisting context state.
3
+ *
4
+ * These types define the JSON-serializable format used to save and load
5
+ * context state from the database. They mirror the internal turn structures
6
+ * but are pure data (no methods).
7
+ */
8
+ import type { TokenizedUserMessage, TokenizedResponseMessage, TokenizedAssistantMessage, Step } from "./internal-types.js";
9
+ /**
10
+ * Complete serialized context state.
11
+ *
12
+ * This is the format saved to storage and loaded on context restoration.
13
+ * It contains all conversation turns organized by compression level, and
14
+ * the latest characters per token estimate.
15
+ *
16
+ * Preserving the estimate allows for more accurate token budgeting on
17
+ * session resumption.
18
+ */
19
+ export type ContextRecord = {
20
+ /** Estimated average characters per token */
21
+ charsPerToken: number;
22
+ /** Level 1 turns (newest, full detail) */
23
+ l1Turns: L1TurnRecord[];
24
+ /** Level 2 turns (moderate compression) */
25
+ l2Turns: L2TurnRecord[];
26
+ /** Level 3 turns (heavy compression) */
27
+ l3Turns: L3TurnRecord[];
28
+ };
29
+ /**
30
+ * Serialized representation of an L1 (Level 1) turn.
31
+ */
32
+ export type L1TurnRecord = {
33
+ /** The user message that initiated this turn */
34
+ user: TokenizedUserMessage;
35
+ /** Array of steps, where each step contains response messages */
36
+ steps: Step[];
37
+ };
38
+ /**
39
+ * Serialized representation of an L2 (Level 2) turn.
40
+ */
41
+ export type L2TurnRecord = {
42
+ /** The user message that initiated this turn */
43
+ user: TokenizedUserMessage;
44
+ /** Flattened array of all response messages from all steps */
45
+ response: TokenizedResponseMessage[];
46
+ };
47
+ /**
48
+ * Serialized representation of an L3 (Level 3) turn.
49
+ */
50
+ export type L3TurnRecord = {
51
+ /** The user message that initiated this turn */
52
+ user: TokenizedUserMessage;
53
+ /** Optional last assistant message (if any) */
54
+ assistant?: TokenizedAssistantMessage;
55
+ };
56
+ //# sourceMappingURL=serialization.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"serialization.d.ts","sourceRoot":"","sources":["../../../../src/ai-service/llm/context/serialization.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EACV,oBAAoB,EACpB,wBAAwB,EACxB,yBAAyB,EACzB,IAAI,EACL,MAAM,qBAAqB,CAAC;AAE7B;;;;;;;;;GASG;AACH,MAAM,MAAM,aAAa,GAAG;IAC1B,6CAA6C;IAC7C,aAAa,EAAE,MAAM,CAAC;IACtB,0CAA0C;IAC1C,OAAO,EAAE,YAAY,EAAE,CAAC;IACxB,2CAA2C;IAC3C,OAAO,EAAE,YAAY,EAAE,CAAC;IACxB,wCAAwC;IACxC,OAAO,EAAE,YAAY,EAAE,CAAC;CACzB,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,YAAY,GAAG;IACzB,gDAAgD;IAChD,IAAI,EAAE,oBAAoB,CAAC;IAC3B,iEAAiE;IACjE,KAAK,EAAE,IAAI,EAAE,CAAC;CACf,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,YAAY,GAAG;IACzB,gDAAgD;IAChD,IAAI,EAAE,oBAAoB,CAAC;IAC3B,8DAA8D;IAC9D,QAAQ,EAAE,wBAAwB,EAAE,CAAC;CACtC,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,YAAY,GAAG;IACzB,gDAAgD;IAChD,IAAI,EAAE,oBAAoB,CAAC;IAC3B,+CAA+C;IAC/C,SAAS,CAAC,EAAE,yBAAyB,CAAC;CACvC,CAAC"}
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Serialization types and utilities for persisting context state.
3
+ *
4
+ * These types define the JSON-serializable format used to save and load
5
+ * context state from the database. They mirror the internal turn structures
6
+ * but are pure data (no methods).
7
+ */
8
+ export {};
9
+ //# sourceMappingURL=serialization.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"serialization.js","sourceRoot":"","sources":["../../../../src/ai-service/llm/context/serialization.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG"}
@@ -0,0 +1,10 @@
1
+ import type { ContextRecord } from "../serialization.js";
2
+ import type { ContextId } from "../types.js";
3
+ /**
4
+ * Storage backend interface for persisting and retrieving context records.
5
+ */
6
+ export interface ContextStorage {
7
+ saveContext(id: ContextId, context: ContextRecord): Promise<void>;
8
+ loadContext(id: ContextId): Promise<ContextRecord | null>;
9
+ }
10
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/ai-service/llm/context/storage/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAE7C;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,WAAW,CAAC,EAAE,EAAE,SAAS,EAAE,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAClE,WAAW,CAAC,EAAE,EAAE,SAAS,GAAG,OAAO,CAAC,aAAa,GAAG,IAAI,CAAC,CAAC;CAC3D"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/ai-service/llm/context/storage/index.ts"],"names":[],"mappings":""}
@@ -0,0 +1,22 @@
1
+ import type { ContextRecord } from "../serialization.js";
2
+ import type { ContextStorage } from "./index.js";
3
+ import type { ContextId } from "../types.js";
4
+ /**
5
+ * Local filesystem storage backend for context records.
6
+ *
7
+ * Contexts are stored as JSON files in the following structure:
8
+ * {rootDir}/.superblocks/context/{userId}/{contextName}.json
9
+ *
10
+ * Example:
11
+ * /data/.superblocks/context/user123/chat-session.json
12
+ */
13
+ export declare class LocalContextStorage implements ContextStorage {
14
+ readonly rootDir: string;
15
+ private readonly SUPERBLOCKS_SYSTEM_DIR;
16
+ constructor(rootDir: string);
17
+ loadContext(id: ContextId): Promise<ContextRecord | null>;
18
+ saveContext(id: ContextId, record: ContextRecord): Promise<void>;
19
+ private ensureBaseDirExists;
20
+ private getFilePath;
21
+ }
22
+ //# sourceMappingURL=local.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"local.d.ts","sourceRoot":"","sources":["../../../../../src/ai-service/llm/context/storage/local.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AACjD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAE7C;;;;;;;;GAQG;AACH,qBAAa,mBAAoB,YAAW,cAAc;IAE5C,QAAQ,CAAC,OAAO,EAAE,MAAM;IADpC,OAAO,CAAC,QAAQ,CAAC,sBAAsB,CAAkB;gBACpC,OAAO,EAAE,MAAM;IAE9B,WAAW,CAAC,EAAE,EAAE,SAAS,GAAG,OAAO,CAAC,aAAa,GAAG,IAAI,CAAC;IAYzD,WAAW,CAAC,EAAE,EAAE,SAAS,EAAE,MAAM,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC;YAMxD,mBAAmB;IAIjC,OAAO,CAAC,WAAW;CASpB"}
@@ -0,0 +1,42 @@
1
+ import { readFile, writeFile, mkdir } from "node:fs/promises";
2
+ import * as path from "node:path";
3
+ /**
4
+ * Local filesystem storage backend for context records.
5
+ *
6
+ * Contexts are stored as JSON files in the following structure:
7
+ * {rootDir}/.superblocks/context/{userId}/{contextName}.json
8
+ *
9
+ * Example:
10
+ * /data/.superblocks/context/user123/chat-session.json
11
+ */
12
+ export class LocalContextStorage {
13
+ rootDir;
14
+ SUPERBLOCKS_SYSTEM_DIR = ".superblocks";
15
+ constructor(rootDir) {
16
+ this.rootDir = rootDir;
17
+ }
18
+ async loadContext(id) {
19
+ try {
20
+ const content = await readFile(this.getFilePath(id), "utf-8");
21
+ return JSON.parse(content);
22
+ }
23
+ catch (err) {
24
+ if (err.code === "ENOENT") {
25
+ return null; // File does not exist
26
+ }
27
+ throw err; // Rethrow other errors
28
+ }
29
+ }
30
+ async saveContext(id, record) {
31
+ const filePath = this.getFilePath(id);
32
+ await this.ensureBaseDirExists(filePath);
33
+ await writeFile(filePath, JSON.stringify(record, null, 2));
34
+ }
35
+ async ensureBaseDirExists(filePath) {
36
+ await mkdir(path.dirname(filePath), { recursive: true });
37
+ }
38
+ getFilePath(id) {
39
+ return path.join(this.rootDir, this.SUPERBLOCKS_SYSTEM_DIR, "context", id.userId, `${id.name}.json`);
40
+ }
41
+ }
42
+ //# sourceMappingURL=local.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"local.js","sourceRoot":"","sources":["../../../../../src/ai-service/llm/context/storage/local.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAC9D,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAKlC;;;;;;;;GAQG;AACH,MAAM,OAAO,mBAAmB;IAET;IADJ,sBAAsB,GAAG,cAAc,CAAC;IACzD,YAAqB,OAAe;QAAf,YAAO,GAAP,OAAO,CAAQ;IAAG,CAAC;IAExC,KAAK,CAAC,WAAW,CAAC,EAAa;QAC7B,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,EAAE,OAAO,CAAC,CAAC;YAC9D,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAkB,CAAC;QAC9C,CAAC;QAAC,OAAO,GAAQ,EAAE,CAAC;YAClB,IAAI,GAAG,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;gBAC1B,OAAO,IAAI,CAAC,CAAC,sBAAsB;YACrC,CAAC;YACD,MAAM,GAAG,CAAC,CAAC,uBAAuB;QACpC,CAAC;IACH,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,EAAa,EAAE,MAAqB;QACpD,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;QACtC,MAAM,IAAI,CAAC,mBAAmB,CAAC,QAAQ,CAAC,CAAC;QACzC,MAAM,SAAS,CAAC,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;IAC7D,CAAC;IAEO,KAAK,CAAC,mBAAmB,CAAC,QAAgB;QAChD,MAAM,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAC3D,CAAC;IAEO,WAAW,CAAC,EAAa;QAC/B,OAAO,IAAI,CAAC,IAAI,CACd,IAAI,CAAC,OAAO,EACZ,IAAI,CAAC,sBAAsB,EAC3B,SAAS,EACT,EAAE,CAAC,MAAM,EACT,GAAG,EAAE,CAAC,IAAI,OAAO,CAClB,CAAC;IACJ,CAAC;CACF"}
@@ -0,0 +1,125 @@
1
+ /**
2
+ * Public type definitions for the Context management system.
3
+ */
4
+ /**
5
+ * Globally unique identifier for a conversation context.
6
+ */
7
+ export type ContextId = {
8
+ /** Application identifier */
9
+ appId: string;
10
+ /** User identifier */
11
+ userId: string;
12
+ /** Context name */
13
+ name: string;
14
+ };
15
+ /**
16
+ * Configuration options for context creation and management.
17
+ * Undefined values will resolve to defaults.
18
+ */
19
+ export interface ContextOptions {
20
+ /** Maximum tokens allowed in context window */
21
+ maxTokens?: number;
22
+ /** Character-to-token conversion ratio (auto-refined during usage) */
23
+ charsPerToken?: number;
24
+ /** If false, an error will be thrown if maxTokens exceeded after compaction */
25
+ allowOverflow?: boolean;
26
+ /** Compaction behavior (fractions of maxTokens) */
27
+ compaction?: CompactionOptions;
28
+ /** Token estimation configuration */
29
+ tokenEstimation?: TokenEstimationOptions;
30
+ /** Prompt caching configuration */
31
+ caching?: CachingOptions;
32
+ }
33
+ /**
34
+ * Token count estimation configuration.
35
+ */
36
+ export interface TokenEstimationOptions {
37
+ /** Minimum tokens required before updating estimate */
38
+ minTokensForUpdate?: number;
39
+ /** Minimum valid chars/token ratio */
40
+ minCharsPerToken?: number;
41
+ /** Maximum valid chars/token ratio */
42
+ maxCharsPerToken?: number;
43
+ }
44
+ /**
45
+ * Prompt caching configuration.
46
+ */
47
+ export interface CachingOptions {
48
+ /** Maximum number of cache breakpoints (provider-specific) */
49
+ maxBreakpoints?: number;
50
+ /** Minimum tokens required between cache points for efficiency */
51
+ minCacheableTokens?: number;
52
+ }
53
+ /**
54
+ * Compaction behavior configuration.
55
+ */
56
+ export interface CompactionOptions {
57
+ /** Token threshold that triggers compaction (as fraction of maxTokens) */
58
+ trigger?: number;
59
+ /** Target token count after compaction (as fraction of maxTokens) */
60
+ target?: number;
61
+ /** Budget allocation for each compaction level (as fractions of compaction target) */
62
+ budgets?: CompactionLevelBudgets;
63
+ /** Number of most recent steps to protect from compression on a best-effort basis (most recent 2 will never be compressed) */
64
+ prioritizedSteps?: number;
65
+ }
66
+ /** Budget allocations for each compaction level.
67
+ * Values are fractions of the overall compaction target.
68
+ * Budget for L3 is implicit as remainder (1 - l1 - l2).
69
+ */
70
+ export interface CompactionLevelBudgets {
71
+ /** Fraction of compaction target allocated to Level 1 */
72
+ l1?: number;
73
+ /** Fraction of compaction target allocated to Level 2 */
74
+ l2?: number;
75
+ }
76
+ /** Options for logging context activity. */
77
+ export type LoggingOptions = {
78
+ /** Enable verbose logging */
79
+ verbose: boolean;
80
+ visualization: VisualizationOptions;
81
+ };
82
+ /** Options for context visualizations */
83
+ export type VisualizationOptions = {
84
+ mode: VisualizationMode;
85
+ /** Width of visualization output (default: 120) */
86
+ width?: number;
87
+ /** Path to write visualizations (overwrites file each time for use with `watch` command) */
88
+ outputPath?: string;
89
+ };
90
+ /** Visualization mode (default: "detailed")
91
+ * - "off": No visualization
92
+ * - "summary": Shows turn, step, and token counts at each level
93
+ * - "detailed": All messages and parts
94
+ * */
95
+ export type VisualizationMode = "off" | "summary" | "detailed";
96
+ /**
97
+ * Information provided when user prompt exceeds size limits.
98
+ */
99
+ export interface UserPromptTooLargeInfo {
100
+ /** User message token count */
101
+ userTokens: number;
102
+ /** System prompt token count */
103
+ systemTokens: number;
104
+ /** Combined user + system tokens */
105
+ combined: number;
106
+ /** Maximum allowed tokens */
107
+ maxTokens: number;
108
+ }
109
+ /**
110
+ * Information provided when context exceeds limits after compaction.
111
+ */
112
+ export interface ContextLimitExceededInfo {
113
+ /** Current total token count */
114
+ currentTokens: number;
115
+ /** Maximum allowed tokens */
116
+ maxTokens: number;
117
+ /** Token breakdown by component */
118
+ breakdown: {
119
+ system: number;
120
+ user: number;
121
+ activeStep: number;
122
+ history: number;
123
+ };
124
+ }
125
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/ai-service/llm/context/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH;;GAEG;AACH,MAAM,MAAM,SAAS,GAAG;IACtB,6BAA6B;IAC7B,KAAK,EAAE,MAAM,CAAC;IACd,sBAAsB;IACtB,MAAM,EAAE,MAAM,CAAC;IACf,mBAAmB;IACnB,IAAI,EAAE,MAAM,CAAC;CACd,CAAC;AAEF;;;GAGG;AACH,MAAM,WAAW,cAAc;IAC7B,+CAA+C;IAC/C,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,sEAAsE;IACtE,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,+EAA+E;IAC/E,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,mDAAmD;IACnD,UAAU,CAAC,EAAE,iBAAiB,CAAC;IAC/B,qCAAqC;IACrC,eAAe,CAAC,EAAE,sBAAsB,CAAC;IACzC,mCAAmC;IACnC,OAAO,CAAC,EAAE,cAAc,CAAC;CAC1B;AAED;;GAEG;AACH,MAAM,WAAW,sBAAsB;IACrC,uDAAuD;IACvD,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,sCAAsC;IACtC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,sCAAsC;IACtC,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,8DAA8D;IAC9D,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,kEAAkE;IAClE,kBAAkB,CAAC,EAAE,MAAM,CAAC;CAC7B;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,0EAA0E;IAC1E,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,qEAAqE;IACrE,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,sFAAsF;IACtF,OAAO,CAAC,EAAE,sBAAsB,CAAC;IACjC,8HAA8H;IAC9H,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED;;;GAGG;AACH,MAAM,WAAW,sBAAsB;IACrC,yDAAyD;IACzD,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,yDAAyD;IACzD,EAAE,CAAC,EAAE,MAAM,CAAC;CACb;AAED,4CAA4C;AAC5C,MAAM,MAAM,cAAc,GAAG;IAC3B,6BAA6B;IAC7B,OAAO,EAAE,OAAO,CAAC;IACjB,aAAa,EAAE,oBAAoB,CAAC;CACrC,CAAC;AAEF,yCAAyC;AACzC,MAAM,MAAM,oBAAoB,GAAG;IACjC,IAAI,EAAE,iBAAiB,CAAC;IACxB,mDAAmD;IACnD,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,4FAA4F;IAC5F,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB,CAAC;AAEF;;;;KAIK;AACL,MAAM,MAAM,iBAAiB,GAAG,KAAK,GAAG,SAAS,GAAG,UAAU,CAAC;AAE/D;;GAEG;AACH,MAAM,WAAW,sBAAsB;IACrC,+BAA+B;IAC/B,UAAU,EAAE,MAAM,CAAC;IACnB,gCAAgC;IAChC,YAAY,EAAE,MAAM,CAAC;IACrB,oCAAoC;IACpC,QAAQ,EAAE,MAAM,CAAC;IACjB,6BAA6B;IAC7B,SAAS,EAAE,MAAM,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,wBAAwB;IACvC,gCAAgC;IAChC,aAAa,EAAE,MAAM,CAAC;IACtB,6BAA6B;IAC7B,SAAS,EAAE,MAAM,CAAC;IAClB,mCAAmC;IACnC,SAAS,EAAE;QACT,MAAM,EAAE,MAAM,CAAC;QACf,IAAI,EAAE,MAAM,CAAC;QACb,UAAU,EAAE,MAAM,CAAC;QACnB,OAAO,EAAE,MAAM,CAAC;KACjB,CAAC;CACH"}
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Public type definitions for the Context management system.
3
+ */
4
+ export {};
5
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../src/ai-service/llm/context/types.ts"],"names":[],"mappings":"AAAA;;GAEG"}
@@ -0,0 +1,26 @@
1
+ /**
2
+ * Content compaction utilities for removing or reducing tool interaction details.
3
+ *
4
+ * These functions are used when demoting turns to more compressed levels,
5
+ * removing tool call inputs and results while preserving the conversation structure.
6
+ */
7
+ import type { ContentPart } from "../internal-types.js";
8
+ import type { ReasoningPart } from "@ai-sdk/provider-utils";
9
+ import type { TextPart, ToolCallPart, ToolResultPart } from "ai";
10
+ /**
11
+ * Compacts content parts by removing tool interaction details.
12
+ *
13
+ * Used when demoting turns to L2 (moderate compression):
14
+ * - Text parts: Preserved unchanged
15
+ * - Reasoning parts: Preserved unchanged
16
+ * Reasoning blocks from current turn must be preserved, and reasoning from previous turns is automatically ignored
17
+ * https://docs.aws.amazon.com/bedrock/latest/userguide/claude-messages-extended-thinking.html#claude-messages-how-extended-thinking-works
18
+ * - Tool call parts: Input replaced with empty object
19
+ * - Tool result parts: Output replaced with placeholder text
20
+ * - File parts: Removed
21
+ *
22
+ * @param parts - Content parts to compact
23
+ * @returns Compacted content parts
24
+ */
25
+ export declare function compactContentParts(parts: ContentPart[]): (TextPart | ReasoningPart | ToolCallPart | ToolResultPart)[];
26
+ //# sourceMappingURL=content-compaction.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"content-compaction.d.ts","sourceRoot":"","sources":["../../../../../src/ai-service/llm/context/utils/content-compaction.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAC5D,OAAO,KAAK,EAAE,QAAQ,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,IAAI,CAAC;AAEjE;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,mBAAmB,CACjC,KAAK,EAAE,WAAW,EAAE,GACnB,CAAC,QAAQ,GAAG,aAAa,GAAG,YAAY,GAAG,cAAc,CAAC,EAAE,CA0B9D"}
@@ -0,0 +1,52 @@
1
+ /**
2
+ * Content compaction utilities for removing or reducing tool interaction details.
3
+ *
4
+ * These functions are used when demoting turns to more compressed levels,
5
+ * removing tool call inputs and results while preserving the conversation structure.
6
+ */
7
+ /**
8
+ * Compacts content parts by removing tool interaction details.
9
+ *
10
+ * Used when demoting turns to L2 (moderate compression):
11
+ * - Text parts: Preserved unchanged
12
+ * - Reasoning parts: Preserved unchanged
13
+ * Reasoning blocks from current turn must be preserved, and reasoning from previous turns is automatically ignored
14
+ * https://docs.aws.amazon.com/bedrock/latest/userguide/claude-messages-extended-thinking.html#claude-messages-how-extended-thinking-works
15
+ * - Tool call parts: Input replaced with empty object
16
+ * - Tool result parts: Output replaced with placeholder text
17
+ * - File parts: Removed
18
+ *
19
+ * @param parts - Content parts to compact
20
+ * @returns Compacted content parts
21
+ */
22
+ export function compactContentParts(parts) {
23
+ return parts.flatMap((part) => {
24
+ if (part.type === "text" || part.type === "reasoning") {
25
+ return part;
26
+ }
27
+ else if (part.type === "tool-call") {
28
+ return {
29
+ type: "tool-call",
30
+ toolCallId: part.toolCallId,
31
+ toolName: part.toolName,
32
+ input: {},
33
+ };
34
+ }
35
+ else if (part.type === "tool-result") {
36
+ return {
37
+ type: "tool-result",
38
+ toolCallId: part.toolCallId,
39
+ toolName: part.toolName,
40
+ output: {
41
+ type: "text",
42
+ value: "[tool output trimmed]",
43
+ },
44
+ };
45
+ }
46
+ else {
47
+ // File parts are removed
48
+ return [];
49
+ }
50
+ });
51
+ }
52
+ //# sourceMappingURL=content-compaction.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"content-compaction.js","sourceRoot":"","sources":["../../../../../src/ai-service/llm/context/utils/content-compaction.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAMH;;;;;;;;;;;;;;GAcG;AACH,MAAM,UAAU,mBAAmB,CACjC,KAAoB;IAEpB,OAAO,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;QAC5B,IAAI,IAAI,CAAC,IAAI,KAAK,MAAM,IAAI,IAAI,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;YACtD,OAAO,IAAI,CAAC;QACd,CAAC;aAAM,IAAI,IAAI,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;YACrC,OAAO;gBACL,IAAI,EAAE,WAAW;gBACjB,UAAU,EAAE,IAAI,CAAC,UAAU;gBAC3B,QAAQ,EAAE,IAAI,CAAC,QAAQ;gBACvB,KAAK,EAAE,EAAE;aACa,CAAC;QAC3B,CAAC;aAAM,IAAI,IAAI,CAAC,IAAI,KAAK,aAAa,EAAE,CAAC;YACvC,OAAO;gBACL,IAAI,EAAE,aAAa;gBACnB,UAAU,EAAE,IAAI,CAAC,UAAU;gBAC3B,QAAQ,EAAE,IAAI,CAAC,QAAQ;gBACvB,MAAM,EAAE;oBACN,IAAI,EAAE,MAAM;oBACZ,KAAK,EAAE,uBAAuB;iBAC/B;aACuB,CAAC;QAC7B,CAAC;aAAM,CAAC;YACN,yBAAyB;YACzB,OAAO,EAAE,CAAC;QACZ,CAAC;IACH,CAAC,CAAC,CAAC;AACL,CAAC"}
@@ -0,0 +1,10 @@
1
+ /**
2
+ * Utility function exports for context management.
3
+ *
4
+ * Internal utilities used by Context and Turn classes.
5
+ */
6
+ export { estimateTokenCount, countChars as countChars, } from "./token-estimation.js";
7
+ export { compactContentParts } from "./content-compaction.js";
8
+ export { normalizeToolResultOutput } from "./message-utils.js";
9
+ export { renderContext } from "./visualization.js";
10
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/ai-service/llm/context/utils/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EACL,kBAAkB,EAClB,UAAU,IAAI,UAAU,GACzB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAC9D,OAAO,EAAE,yBAAyB,EAAE,MAAM,oBAAoB,CAAC;AAC/D,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC"}
@@ -0,0 +1,10 @@
1
+ /**
2
+ * Utility function exports for context management.
3
+ *
4
+ * Internal utilities used by Context and Turn classes.
5
+ */
6
+ export { estimateTokenCount, countChars as countChars, } from "./token-estimation.js";
7
+ export { compactContentParts } from "./content-compaction.js";
8
+ export { normalizeToolResultOutput } from "./message-utils.js";
9
+ export { renderContext } from "./visualization.js";
10
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/ai-service/llm/context/utils/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EACL,kBAAkB,EAClB,UAAU,IAAI,UAAU,GACzB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAC9D,OAAO,EAAE,yBAAyB,EAAE,MAAM,oBAAoB,CAAC;AAC/D,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC"}
@@ -0,0 +1,34 @@
1
+ /**
2
+ * Message normalization and validation utilities.
3
+ *
4
+ * Ensures messages conform to expected formats, particularly for tool results
5
+ * which must match the LanguageModelV2ToolResultOutput schema.
6
+ */
7
+ import type { LanguageModelV2ToolResultOutput } from "@ai-sdk/provider";
8
+ import type { AssistantModelMessage } from "ai";
9
+ /**
10
+ * Validates and normalizes a tool result output to ensure it conforms to
11
+ * LanguageModelV2ToolResultOutput.
12
+ *
13
+ * Handles common issues:
14
+ * - Null/undefined outputs → wrapped in json type
15
+ * - Non-object outputs → wrapped in json type
16
+ * - Missing type field → defaults to json type
17
+ * - Invalid type values → normalized to json type
18
+ *
19
+ * @param output - Tool result output to normalize
20
+ * @returns Normalized output conforming to LanguageModelV2ToolResultOutput
21
+ */
22
+ export declare function normalizeToolResultOutput(output: unknown): LanguageModelV2ToolResultOutput;
23
+ /**
24
+ * Ensures an assistant message's content starts with a reasoning block.
25
+ * If the first content part is not a reasoning block, one is prepended.
26
+ *
27
+ * Avoids issues that can arise when dropping messages, as some models
28
+ * expect reasoning blocks in specific positions in the turn sequence.
29
+ *
30
+ * @param message - Assistant message to check and modify if needed
31
+ * @returns Assistant message guaranteed to start with a reasoning block
32
+ */
33
+ export declare function prependReasoningBlockIfNeeded(message: AssistantModelMessage): AssistantModelMessage;
34
+ //# sourceMappingURL=message-utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"message-utils.d.ts","sourceRoot":"","sources":["../../../../../src/ai-service/llm/context/utils/message-utils.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,KAAK,EAAE,+BAA+B,EAAE,MAAM,kBAAkB,CAAC;AACxE,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,IAAI,CAAC;AAEhD;;;;;;;;;;;;GAYG;AACH,wBAAgB,yBAAyB,CACvC,MAAM,EAAE,OAAO,GACd,+BAA+B,CAuBjC;AAED;;;;;;;;;GASG;AACH,wBAAgB,6BAA6B,CAC3C,OAAO,EAAE,qBAAqB,GAC7B,qBAAqB,CAuBvB"}
@@ -0,0 +1,73 @@
1
+ /**
2
+ * Message normalization and validation utilities.
3
+ *
4
+ * Ensures messages conform to expected formats, particularly for tool results
5
+ * which must match the LanguageModelV2ToolResultOutput schema.
6
+ */
7
+ import { getLogger } from "../../../../util/logger.js";
8
+ /**
9
+ * Validates and normalizes a tool result output to ensure it conforms to
10
+ * LanguageModelV2ToolResultOutput.
11
+ *
12
+ * Handles common issues:
13
+ * - Null/undefined outputs → wrapped in json type
14
+ * - Non-object outputs → wrapped in json type
15
+ * - Missing type field → defaults to json type
16
+ * - Invalid type values → normalized to json type
17
+ *
18
+ * @param output - Tool result output to normalize
19
+ * @returns Normalized output conforming to LanguageModelV2ToolResultOutput
20
+ */
21
+ export function normalizeToolResultOutput(output) {
22
+ if (output === null || output === undefined) {
23
+ return { type: "json", value: null };
24
+ }
25
+ if (typeof output !== "object") {
26
+ return { type: "json", value: output };
27
+ }
28
+ const outputObj = output;
29
+ if (!("type" in outputObj) || typeof outputObj.type !== "string") {
30
+ return { type: "json", value: output };
31
+ }
32
+ const validTypes = ["text", "json", "error-text", "error-json"];
33
+ if (!validTypes.includes(outputObj.type)) {
34
+ getLogger().warn(`[context] Invalid tool result output type: ${outputObj.type}. Normalizing to json type.`);
35
+ return { type: "json", value: output };
36
+ }
37
+ return output;
38
+ }
39
+ /**
40
+ * Ensures an assistant message's content starts with a reasoning block.
41
+ * If the first content part is not a reasoning block, one is prepended.
42
+ *
43
+ * Avoids issues that can arise when dropping messages, as some models
44
+ * expect reasoning blocks in specific positions in the turn sequence.
45
+ *
46
+ * @param message - Assistant message to check and modify if needed
47
+ * @returns Assistant message guaranteed to start with a reasoning block
48
+ */
49
+ export function prependReasoningBlockIfNeeded(message) {
50
+ if (typeof message.content == "string") {
51
+ message.content = [
52
+ {
53
+ type: "text",
54
+ text: message.content,
55
+ },
56
+ ];
57
+ }
58
+ const firstPart = message.content.at(0);
59
+ if (!firstPart || firstPart.type === "reasoning") {
60
+ return message;
61
+ }
62
+ return {
63
+ ...message,
64
+ content: [
65
+ {
66
+ type: "reasoning",
67
+ text: "",
68
+ },
69
+ ...message.content,
70
+ ],
71
+ };
72
+ }
73
+ //# sourceMappingURL=message-utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"message-utils.js","sourceRoot":"","sources":["../../../../../src/ai-service/llm/context/utils/message-utils.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAC;AAIvD;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,yBAAyB,CACvC,MAAe;IAEf,IAAI,MAAM,KAAK,IAAI,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;QAC5C,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAqC,CAAC;IAC1E,CAAC;IAED,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE,CAAC;QAC/B,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAqC,CAAC;IAC5E,CAAC;IAED,MAAM,SAAS,GAAG,MAAiC,CAAC;IACpD,IAAI,CAAC,CAAC,MAAM,IAAI,SAAS,CAAC,IAAI,OAAO,SAAS,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;QACjE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAqC,CAAC;IAC5E,CAAC;IAED,MAAM,UAAU,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,YAAY,CAAC,CAAC;IAChE,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC;QACzC,SAAS,EAAE,CAAC,IAAI,CACd,8CAA8C,SAAS,CAAC,IAAI,6BAA6B,CAC1F,CAAC;QACF,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAqC,CAAC;IAC5E,CAAC;IAED,OAAO,MAAyC,CAAC;AACnD,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,UAAU,6BAA6B,CAC3C,OAA8B;IAE9B,IAAI,OAAO,OAAO,CAAC,OAAO,IAAI,QAAQ,EAAE,CAAC;QACvC,OAAO,CAAC,OAAO,GAAG;YAChB;gBACE,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,OAAO,CAAC,OAAO;aACtB;SACF,CAAC;IACJ,CAAC;IACD,MAAM,SAAS,GAAG,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IACxC,IAAI,CAAC,SAAS,IAAI,SAAS,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;QACjD,OAAO,OAAO,CAAC;IACjB,CAAC;IACD,OAAO;QACL,GAAG,OAAO;QACV,OAAO,EAAE;YACP;gBACE,IAAI,EAAE,WAAW;gBACjB,IAAI,EAAE,EAAE;aACT;YACD,GAAG,OAAO,CAAC,OAAO;SACnB;KACF,CAAC;AACJ,CAAC"}
@@ -0,0 +1,31 @@
1
+ /**
2
+ * Token estimation utilities.
3
+ *
4
+ * Provides functions for estimating token counts from message content.
5
+ * Token estimation is based on a character-to-token ratio that is
6
+ * learned and refined during usage.
7
+ */
8
+ import type { ModelMessage } from "ai";
9
+ /**
10
+ * Estimates the token count for a message based on its content.
11
+ *
12
+ * Token estimation strategy:
13
+ * - String content: Direct character count / ratio
14
+ * - Array content: Sum of all parts after JSON serialization
15
+ * - Text/reasoning parts: Use text length
16
+ * - Tool call parts: JSON serialize the input
17
+ * - Tool result parts: JSON serialize the output
18
+ *
19
+ * @param message - The message to estimate tokens for
20
+ * @param charactersPerToken - Estimated characters per token ratio (typically 2-5)
21
+ * @returns Estimated token count (rounded up to nearest integer)
22
+ */
23
+ export declare function estimateTokenCount(message: ModelMessage, charactersPerToken: number): number;
24
+ /**
25
+ * Counts the number of characters in a message
26
+ *
27
+ * @param message - The message to count characters for
28
+ * @returns Total character count
29
+ */
30
+ export declare function countChars(message: ModelMessage): number;
31
+ //# sourceMappingURL=token-estimation.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"token-estimation.d.ts","sourceRoot":"","sources":["../../../../../src/ai-service/llm/context/utils/token-estimation.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAGH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,IAAI,CAAC;AAEvC;;;;;;;;;;;;;GAaG;AACH,wBAAgB,kBAAkB,CAChC,OAAO,EAAE,YAAY,EACrB,kBAAkB,EAAE,MAAM,GACzB,MAAM,CAER;AAED;;;;;GAKG;AACH,wBAAgB,UAAU,CAAC,OAAO,EAAE,YAAY,GAAG,MAAM,CAoBxD"}
@@ -0,0 +1,52 @@
1
+ /**
2
+ * Token estimation utilities.
3
+ *
4
+ * Provides functions for estimating token counts from message content.
5
+ * Token estimation is based on a character-to-token ratio that is
6
+ * learned and refined during usage.
7
+ */
8
+ import { safeJsonStringify } from "../../../util/safe-stringify.js";
9
+ /**
10
+ * Estimates the token count for a message based on its content.
11
+ *
12
+ * Token estimation strategy:
13
+ * - String content: Direct character count / ratio
14
+ * - Array content: Sum of all parts after JSON serialization
15
+ * - Text/reasoning parts: Use text length
16
+ * - Tool call parts: JSON serialize the input
17
+ * - Tool result parts: JSON serialize the output
18
+ *
19
+ * @param message - The message to estimate tokens for
20
+ * @param charactersPerToken - Estimated characters per token ratio (typically 2-5)
21
+ * @returns Estimated token count (rounded up to nearest integer)
22
+ */
23
+ export function estimateTokenCount(message, charactersPerToken) {
24
+ return Math.ceil(countChars(message) / charactersPerToken);
25
+ }
26
+ /**
27
+ * Counts the number of characters in a message
28
+ *
29
+ * @param message - The message to count characters for
30
+ * @returns Total character count
31
+ */
32
+ export function countChars(message) {
33
+ const content = message.content;
34
+ if (typeof content === "string") {
35
+ return content.length;
36
+ }
37
+ // For array content, estimate each part separately
38
+ return content.reduce((sum, part) => {
39
+ let count = 0;
40
+ if (part.type === "text" || part.type === "reasoning") {
41
+ count += part.text.length;
42
+ }
43
+ else if (part.type === "tool-call") {
44
+ count += safeJsonStringify(part.input).length;
45
+ }
46
+ else if (part.type === "tool-result") {
47
+ count += safeJsonStringify(part.output).length;
48
+ }
49
+ return sum + count;
50
+ }, 0);
51
+ }
52
+ //# sourceMappingURL=token-estimation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"token-estimation.js","sourceRoot":"","sources":["../../../../../src/ai-service/llm/context/utils/token-estimation.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,iBAAiB,EAAE,MAAM,iCAAiC,CAAC;AAGpE;;;;;;;;;;;;;GAaG;AACH,MAAM,UAAU,kBAAkB,CAChC,OAAqB,EACrB,kBAA0B;IAE1B,OAAO,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,GAAG,kBAAkB,CAAC,CAAC;AAC7D,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,UAAU,CAAC,OAAqB;IAC9C,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;IAEhC,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE,CAAC;QAChC,OAAO,OAAO,CAAC,MAAM,CAAC;IACxB,CAAC;IAED,mDAAmD;IACnD,OAAO,OAAO,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE;QAClC,IAAI,KAAK,GAAG,CAAC,CAAC;QACd,IAAI,IAAI,CAAC,IAAI,KAAK,MAAM,IAAI,IAAI,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;YACtD,KAAK,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC;QAC5B,CAAC;aAAM,IAAI,IAAI,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;YACrC,KAAK,IAAI,iBAAiB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC;QAChD,CAAC;aAAM,IAAI,IAAI,CAAC,IAAI,KAAK,aAAa,EAAE,CAAC;YACvC,KAAK,IAAI,iBAAiB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC;QACjD,CAAC;QAED,OAAO,GAAG,GAAG,KAAK,CAAC;IACrB,CAAC,EAAE,CAAC,CAAC,CAAC;AACR,CAAC"}