@superblocksteam/vite-plugin-file-sync 2.0.59-next.0 → 2.0.59-next.10

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 (285) hide show
  1. package/dist/ai-service/agent/prompts/build-base-system-prompt.d.ts.map +1 -1
  2. package/dist/ai-service/agent/prompts/build-base-system-prompt.js +25 -9
  3. package/dist/ai-service/agent/prompts/build-base-system-prompt.js.map +1 -1
  4. package/dist/ai-service/agent/subagents/apis/examples.d.ts.map +1 -1
  5. package/dist/ai-service/agent/subagents/apis/examples.js +137 -10
  6. package/dist/ai-service/agent/subagents/apis/examples.js.map +1 -1
  7. package/dist/ai-service/agent/subagents/apis/static-analysis.d.ts.map +1 -1
  8. package/dist/ai-service/agent/subagents/apis/static-analysis.js +14 -7
  9. package/dist/ai-service/agent/subagents/apis/static-analysis.js.map +1 -1
  10. package/dist/ai-service/agent/tool-message-utils.d.ts.map +1 -1
  11. package/dist/ai-service/agent/tool-message-utils.js +6 -2
  12. package/dist/ai-service/agent/tool-message-utils.js.map +1 -1
  13. package/dist/ai-service/agent/tools/apis/analysis.d.ts +9 -0
  14. package/dist/ai-service/agent/tools/apis/analysis.d.ts.map +1 -0
  15. package/dist/ai-service/agent/tools/apis/analysis.js +358 -0
  16. package/dist/ai-service/agent/tools/apis/analysis.js.map +1 -0
  17. package/dist/ai-service/agent/{subagents → tools}/apis/api-executor.d.ts +35 -10
  18. package/dist/ai-service/agent/tools/apis/api-executor.d.ts.map +1 -0
  19. package/dist/ai-service/agent/{subagents → tools}/apis/api-executor.js +179 -94
  20. package/dist/ai-service/agent/tools/apis/api-executor.js.map +1 -0
  21. package/dist/ai-service/agent/tools/apis/api-source.d.ts +19 -0
  22. package/dist/ai-service/agent/tools/apis/api-source.d.ts.map +1 -0
  23. package/dist/ai-service/agent/tools/apis/api-source.js +73 -0
  24. package/dist/ai-service/agent/tools/apis/api-source.js.map +1 -0
  25. package/dist/ai-service/agent/tools/apis/api-validation-orchestrator.d.ts +51 -0
  26. package/dist/ai-service/agent/tools/apis/api-validation-orchestrator.d.ts.map +1 -0
  27. package/dist/ai-service/agent/tools/apis/api-validation-orchestrator.js +510 -0
  28. package/dist/ai-service/agent/tools/apis/api-validation-orchestrator.js.map +1 -0
  29. package/dist/ai-service/agent/tools/apis/build-api-artifact.d.ts +32 -0
  30. package/dist/ai-service/agent/tools/apis/build-api-artifact.d.ts.map +1 -0
  31. package/dist/ai-service/agent/tools/apis/build-api-artifact.js +313 -0
  32. package/dist/ai-service/agent/tools/apis/build-api-artifact.js.map +1 -0
  33. package/dist/ai-service/agent/tools/apis/build-api.d.ts +1 -10
  34. package/dist/ai-service/agent/tools/apis/build-api.d.ts.map +1 -1
  35. package/dist/ai-service/agent/tools/apis/build-api.js +26 -238
  36. package/dist/ai-service/agent/tools/apis/build-api.js.map +1 -1
  37. package/dist/ai-service/agent/tools/apis/get-api-docs.d.ts +11 -0
  38. package/dist/ai-service/agent/tools/apis/get-api-docs.d.ts.map +1 -0
  39. package/dist/ai-service/agent/tools/apis/get-api-docs.js +1841 -0
  40. package/dist/ai-service/agent/tools/apis/get-api-docs.js.map +1 -0
  41. package/dist/ai-service/agent/tools/apis/integration-types.d.ts +37 -0
  42. package/dist/ai-service/agent/tools/apis/integration-types.d.ts.map +1 -0
  43. package/dist/ai-service/agent/tools/apis/integration-types.js +689 -0
  44. package/dist/ai-service/agent/tools/apis/integration-types.js.map +1 -0
  45. package/dist/ai-service/agent/tools/apis/test-api.d.ts +25 -0
  46. package/dist/ai-service/agent/tools/apis/test-api.d.ts.map +1 -0
  47. package/dist/ai-service/agent/tools/apis/test-api.js +194 -0
  48. package/dist/ai-service/agent/tools/apis/test-api.js.map +1 -0
  49. package/dist/ai-service/agent/tools/apis/write-api.d.ts +11 -0
  50. package/dist/ai-service/agent/tools/apis/write-api.d.ts.map +1 -0
  51. package/dist/ai-service/agent/tools/apis/write-api.js +41 -0
  52. package/dist/ai-service/agent/tools/apis/write-api.js.map +1 -0
  53. package/dist/ai-service/agent/tools/build-read-files.js +2 -2
  54. package/dist/ai-service/agent/tools/build-read-files.js.map +1 -1
  55. package/dist/ai-service/agent/tools.d.ts +2 -5
  56. package/dist/ai-service/agent/tools.d.ts.map +1 -1
  57. package/dist/ai-service/agent/tools.js +51 -22
  58. package/dist/ai-service/agent/tools.js.map +1 -1
  59. package/dist/ai-service/agent/tools2/access-control.d.ts +1 -0
  60. package/dist/ai-service/agent/tools2/access-control.d.ts.map +1 -1
  61. package/dist/ai-service/agent/tools2/access-control.js +15 -13
  62. package/dist/ai-service/agent/tools2/access-control.js.map +1 -1
  63. package/dist/ai-service/agent/tools2/registry.d.ts +2 -1
  64. package/dist/ai-service/agent/tools2/registry.d.ts.map +1 -1
  65. package/dist/ai-service/agent/tools2/registry.js +4 -3
  66. package/dist/ai-service/agent/tools2/registry.js.map +1 -1
  67. package/dist/ai-service/agent/tools2/tools/exit-plan-mode.d.ts.map +1 -1
  68. package/dist/ai-service/agent/tools2/tools/exit-plan-mode.js +73 -127
  69. package/dist/ai-service/agent/tools2/tools/exit-plan-mode.js.map +1 -1
  70. package/dist/ai-service/agent/tools2/tools/grep-metadata.d.ts.map +1 -1
  71. package/dist/ai-service/agent/tools2/tools/grep-metadata.js +25 -4
  72. package/dist/ai-service/agent/tools2/tools/grep-metadata.js.map +1 -1
  73. package/dist/ai-service/agent/tools2/types.d.ts +1 -1
  74. package/dist/ai-service/agent/tools2/types.d.ts.map +1 -1
  75. package/dist/ai-service/agent/tools2/types.js.map +1 -1
  76. package/dist/ai-service/agent/tools2/utils.d.ts.map +1 -1
  77. package/dist/ai-service/agent/tools2/utils.js +4 -1
  78. package/dist/ai-service/agent/tools2/utils.js.map +1 -1
  79. package/dist/ai-service/agent/utils.d.ts +1 -3
  80. package/dist/ai-service/agent/utils.d.ts.map +1 -1
  81. package/dist/ai-service/agent/utils.js +55 -13
  82. package/dist/ai-service/agent/utils.js.map +1 -1
  83. package/dist/ai-service/app-interface/shell.d.ts +5 -0
  84. package/dist/ai-service/app-interface/shell.d.ts.map +1 -1
  85. package/dist/ai-service/app-interface/shell.js +17 -2
  86. package/dist/ai-service/app-interface/shell.js.map +1 -1
  87. package/dist/ai-service/chat/chat-session-store.d.ts +7 -0
  88. package/dist/ai-service/chat/chat-session-store.d.ts.map +1 -1
  89. package/dist/ai-service/chat/chat-session-store.js +26 -0
  90. package/dist/ai-service/chat/chat-session-store.js.map +1 -1
  91. package/dist/ai-service/const.d.ts +3 -1
  92. package/dist/ai-service/const.d.ts.map +1 -1
  93. package/dist/ai-service/const.js +3 -0
  94. package/dist/ai-service/const.js.map +1 -1
  95. package/dist/ai-service/index.d.ts +5 -1
  96. package/dist/ai-service/index.d.ts.map +1 -1
  97. package/dist/ai-service/index.js +55 -7
  98. package/dist/ai-service/index.js.map +1 -1
  99. package/dist/ai-service/integrations/metadata-storage/index.d.ts +10 -0
  100. package/dist/ai-service/integrations/metadata-storage/index.d.ts.map +1 -1
  101. package/dist/ai-service/integrations/metadata-storage/local.d.ts +4 -2
  102. package/dist/ai-service/integrations/metadata-storage/local.d.ts.map +1 -1
  103. package/dist/ai-service/integrations/metadata-storage/local.js +35 -9
  104. package/dist/ai-service/integrations/metadata-storage/local.js.map +1 -1
  105. package/dist/ai-service/integrations/store.d.ts +27 -2
  106. package/dist/ai-service/integrations/store.d.ts.map +1 -1
  107. package/dist/ai-service/integrations/store.js +129 -62
  108. package/dist/ai-service/integrations/store.js.map +1 -1
  109. package/dist/ai-service/llm/client.d.ts +123 -0
  110. package/dist/ai-service/llm/client.d.ts.map +1 -0
  111. package/dist/ai-service/llm/client.js +168 -0
  112. package/dist/ai-service/llm/client.js.map +1 -0
  113. package/dist/ai-service/llm/context/context-handle.d.ts +4 -4
  114. package/dist/ai-service/llm/context/context-handle.d.ts.map +1 -1
  115. package/dist/ai-service/llm/context/context-handle.js +7 -3
  116. package/dist/ai-service/llm/context/context-handle.js.map +1 -1
  117. package/dist/ai-service/llm/context/context.d.ts +28 -0
  118. package/dist/ai-service/llm/context/context.d.ts.map +1 -1
  119. package/dist/ai-service/llm/context/context.js +119 -0
  120. package/dist/ai-service/llm/context/context.js.map +1 -1
  121. package/dist/ai-service/llm/context/manager.d.ts +22 -2
  122. package/dist/ai-service/llm/context/manager.d.ts.map +1 -1
  123. package/dist/ai-service/llm/context/manager.js +86 -13
  124. package/dist/ai-service/llm/context/manager.js.map +1 -1
  125. package/dist/ai-service/llm/context/storage/index.d.ts +1 -0
  126. package/dist/ai-service/llm/context/storage/index.d.ts.map +1 -1
  127. package/dist/ai-service/llm/context/storage/local.d.ts +1 -0
  128. package/dist/ai-service/llm/context/storage/local.d.ts.map +1 -1
  129. package/dist/ai-service/llm/context/storage/local.js +13 -1
  130. package/dist/ai-service/llm/context/storage/local.js.map +1 -1
  131. package/dist/ai-service/llm/context/utils/message-utils.d.ts.map +1 -1
  132. package/dist/ai-service/llm/context/utils/message-utils.js +6 -2
  133. package/dist/ai-service/llm/context/utils/message-utils.js.map +1 -1
  134. package/dist/ai-service/llm/error.d.ts +14 -4
  135. package/dist/ai-service/llm/error.d.ts.map +1 -1
  136. package/dist/ai-service/llm/error.js +49 -4
  137. package/dist/ai-service/llm/error.js.map +1 -1
  138. package/dist/ai-service/llm/interaction/adapters/vercel.d.ts +67 -0
  139. package/dist/ai-service/llm/interaction/adapters/vercel.d.ts.map +1 -0
  140. package/dist/ai-service/llm/interaction/adapters/vercel.js +111 -0
  141. package/dist/ai-service/llm/interaction/adapters/vercel.js.map +1 -0
  142. package/dist/ai-service/llm/interaction/compose.d.ts +71 -0
  143. package/dist/ai-service/llm/interaction/compose.d.ts.map +1 -0
  144. package/dist/ai-service/llm/interaction/compose.js +88 -0
  145. package/dist/ai-service/llm/interaction/compose.js.map +1 -0
  146. package/dist/ai-service/llm/interaction/index.d.ts +68 -0
  147. package/dist/ai-service/llm/interaction/index.d.ts.map +1 -0
  148. package/dist/ai-service/llm/interaction/index.js +70 -0
  149. package/dist/ai-service/llm/interaction/index.js.map +1 -0
  150. package/dist/ai-service/llm/interaction/middleware.d.ts +52 -0
  151. package/dist/ai-service/llm/interaction/middleware.d.ts.map +1 -0
  152. package/dist/ai-service/llm/interaction/middleware.js +17 -0
  153. package/dist/ai-service/llm/interaction/middleware.js.map +1 -0
  154. package/dist/ai-service/llm/interaction/middlewares/llmobs.d.ts +45 -0
  155. package/dist/ai-service/llm/interaction/middlewares/llmobs.d.ts.map +1 -0
  156. package/dist/ai-service/llm/interaction/middlewares/llmobs.js +85 -0
  157. package/dist/ai-service/llm/interaction/middlewares/llmobs.js.map +1 -0
  158. package/dist/ai-service/llm/interaction/middlewares/logging.d.ts +88 -0
  159. package/dist/ai-service/llm/interaction/middlewares/logging.d.ts.map +1 -0
  160. package/dist/ai-service/llm/interaction/middlewares/logging.js +238 -0
  161. package/dist/ai-service/llm/interaction/middlewares/logging.js.map +1 -0
  162. package/dist/ai-service/llm/interaction/middlewares/profiler.d.ts +47 -0
  163. package/dist/ai-service/llm/interaction/middlewares/profiler.d.ts.map +1 -0
  164. package/dist/ai-service/llm/interaction/middlewares/profiler.js +183 -0
  165. package/dist/ai-service/llm/interaction/middlewares/profiler.js.map +1 -0
  166. package/dist/ai-service/llm/interaction/middlewares/stream-retry.d.ts +121 -0
  167. package/dist/ai-service/llm/interaction/middlewares/stream-retry.d.ts.map +1 -0
  168. package/dist/ai-service/llm/interaction/middlewares/stream-retry.js +291 -0
  169. package/dist/ai-service/llm/interaction/middlewares/stream-retry.js.map +1 -0
  170. package/dist/ai-service/llm/interaction/provider.d.ts +173 -0
  171. package/dist/ai-service/llm/interaction/provider.d.ts.map +1 -0
  172. package/dist/ai-service/llm/interaction/provider.js +15 -0
  173. package/dist/ai-service/llm/interaction/provider.js.map +1 -0
  174. package/dist/ai-service/llm/interaction/result-utils.d.ts +43 -0
  175. package/dist/ai-service/llm/interaction/result-utils.d.ts.map +1 -0
  176. package/dist/ai-service/llm/interaction/result-utils.js +49 -0
  177. package/dist/ai-service/llm/interaction/result-utils.js.map +1 -0
  178. package/dist/ai-service/llm/interaction/stream-lifecycle.d.ts +48 -0
  179. package/dist/ai-service/llm/interaction/stream-lifecycle.d.ts.map +1 -0
  180. package/dist/ai-service/llm/interaction/stream-lifecycle.js +129 -0
  181. package/dist/ai-service/llm/interaction/stream-lifecycle.js.map +1 -0
  182. package/dist/ai-service/llm/provider.d.ts +1 -2
  183. package/dist/ai-service/llm/provider.d.ts.map +1 -1
  184. package/dist/ai-service/llm/provider.js +3 -6
  185. package/dist/ai-service/llm/provider.js.map +1 -1
  186. package/dist/ai-service/llmobs/helpers.d.ts +7 -8
  187. package/dist/ai-service/llmobs/helpers.d.ts.map +1 -1
  188. package/dist/ai-service/llmobs/helpers.js +8 -48
  189. package/dist/ai-service/llmobs/helpers.js.map +1 -1
  190. package/dist/ai-service/llmobs/middleware/stream-text.d.ts +19 -21
  191. package/dist/ai-service/llmobs/middleware/stream-text.d.ts.map +1 -1
  192. package/dist/ai-service/llmobs/middleware/stream-text.js +98 -106
  193. package/dist/ai-service/llmobs/middleware/stream-text.js.map +1 -1
  194. package/dist/ai-service/llmobs/types.d.ts +14 -1
  195. package/dist/ai-service/llmobs/types.d.ts.map +1 -1
  196. package/dist/ai-service/state-machine/clark-fsm.d.ts +75 -5
  197. package/dist/ai-service/state-machine/clark-fsm.d.ts.map +1 -1
  198. package/dist/ai-service/state-machine/clark-fsm.js +100 -0
  199. package/dist/ai-service/state-machine/clark-fsm.js.map +1 -1
  200. package/dist/ai-service/state-machine/handlers/agent-planning.d.ts.map +1 -1
  201. package/dist/ai-service/state-machine/handlers/agent-planning.js +4 -0
  202. package/dist/ai-service/state-machine/handlers/agent-planning.js.map +1 -1
  203. package/dist/ai-service/state-machine/handlers/llm-generating.d.ts.map +1 -1
  204. package/dist/ai-service/state-machine/handlers/llm-generating.js +91 -456
  205. package/dist/ai-service/state-machine/handlers/llm-generating.js.map +1 -1
  206. package/dist/ai-service/state-machine/handlers/runtime-reviewing.js +1 -1
  207. package/dist/ai-service/state-machine/handlers/runtime-reviewing.js.map +1 -1
  208. package/dist/ai-service/state-machine/helpers/peer.d.ts.map +1 -1
  209. package/dist/ai-service/state-machine/helpers/peer.js +15 -0
  210. package/dist/ai-service/state-machine/helpers/peer.js.map +1 -1
  211. package/dist/ai-service/state-machine/mocks.d.ts.map +1 -1
  212. package/dist/ai-service/state-machine/mocks.js +1 -0
  213. package/dist/ai-service/state-machine/mocks.js.map +1 -1
  214. package/dist/ai-service/template-renderer.js +1 -1
  215. package/dist/ai-service/template-renderer.js.map +1 -1
  216. package/dist/ai-service/types.d.ts +30 -0
  217. package/dist/ai-service/types.d.ts.map +1 -1
  218. package/dist/binding-extraction/extract-identifiers.d.ts +14 -0
  219. package/dist/binding-extraction/extract-identifiers.d.ts.map +1 -1
  220. package/dist/binding-extraction/extract-identifiers.js +46 -1
  221. package/dist/binding-extraction/extract-identifiers.js.map +1 -1
  222. package/dist/binding-extraction/js-identifiers.d.ts +14 -0
  223. package/dist/binding-extraction/js-identifiers.d.ts.map +1 -1
  224. package/dist/binding-extraction/js-identifiers.js +168 -0
  225. package/dist/binding-extraction/js-identifiers.js.map +1 -1
  226. package/dist/binding-extraction/python-identifiers.d.ts +5 -0
  227. package/dist/binding-extraction/python-identifiers.d.ts.map +1 -1
  228. package/dist/binding-extraction/python-identifiers.js +76 -7
  229. package/dist/binding-extraction/python-identifiers.js.map +1 -1
  230. package/dist/file-sync-vite-plugin.d.ts.map +1 -1
  231. package/dist/file-sync-vite-plugin.js +73 -3
  232. package/dist/file-sync-vite-plugin.js.map +1 -1
  233. package/dist/file-system-manager.d.ts.map +1 -1
  234. package/dist/file-system-manager.js +6 -4
  235. package/dist/file-system-manager.js.map +1 -1
  236. package/dist/index.d.ts +1 -1
  237. package/dist/index.d.ts.map +1 -1
  238. package/dist/index.js +1 -1
  239. package/dist/index.js.map +1 -1
  240. package/dist/lock-service/activity-tracker.d.ts +14 -2
  241. package/dist/lock-service/activity-tracker.d.ts.map +1 -1
  242. package/dist/lock-service/activity-tracker.js +43 -6
  243. package/dist/lock-service/activity-tracker.js.map +1 -1
  244. package/dist/lock-service/index.d.ts +13 -2
  245. package/dist/lock-service/index.d.ts.map +1 -1
  246. package/dist/lock-service/index.js +130 -44
  247. package/dist/lock-service/index.js.map +1 -1
  248. package/dist/parsing/jsx.d.ts.map +1 -1
  249. package/dist/parsing/jsx.js +78 -66
  250. package/dist/parsing/jsx.js.map +1 -1
  251. package/dist/socket-manager.js +1 -1
  252. package/dist/socket-manager.js.map +1 -1
  253. package/dist/sync-service/list-dir.d.ts.map +1 -1
  254. package/dist/sync-service/list-dir.js +41 -18
  255. package/dist/sync-service/list-dir.js.map +1 -1
  256. package/dist/vite-plugin-yaml-types.d.ts.map +1 -1
  257. package/dist/vite-plugin-yaml-types.js +2 -4
  258. package/dist/vite-plugin-yaml-types.js.map +1 -1
  259. package/package.json +7 -7
  260. package/dist/ai-service/agent/subagents/apis/api-executor.d.ts.map +0 -1
  261. package/dist/ai-service/agent/subagents/apis/api-executor.js.map +0 -1
  262. package/dist/ai-service/agent/subagents/apis/context.d.ts +0 -12
  263. package/dist/ai-service/agent/subagents/apis/context.d.ts.map +0 -1
  264. package/dist/ai-service/agent/subagents/apis/context.js +0 -18
  265. package/dist/ai-service/agent/subagents/apis/context.js.map +0 -1
  266. package/dist/ai-service/agent/subagents/apis/generate-api-source.d.ts +0 -40
  267. package/dist/ai-service/agent/subagents/apis/generate-api-source.d.ts.map +0 -1
  268. package/dist/ai-service/agent/subagents/apis/generate-api-source.js +0 -516
  269. package/dist/ai-service/agent/subagents/apis/generate-api-source.js.map +0 -1
  270. package/dist/ai-service/agent/subagents/apis/state.d.ts +0 -49
  271. package/dist/ai-service/agent/subagents/apis/state.d.ts.map +0 -1
  272. package/dist/ai-service/agent/subagents/apis/state.js +0 -25
  273. package/dist/ai-service/agent/subagents/apis/state.js.map +0 -1
  274. package/dist/ai-service/agent/subagents/apis/system-prompt.d.ts +0 -3
  275. package/dist/ai-service/agent/subagents/apis/system-prompt.d.ts.map +0 -1
  276. package/dist/ai-service/agent/subagents/apis/system-prompt.js +0 -1704
  277. package/dist/ai-service/agent/subagents/apis/system-prompt.js.map +0 -1
  278. package/dist/ai-service/agent/tools/apis/finalize-api.d.ts +0 -11
  279. package/dist/ai-service/agent/tools/apis/finalize-api.d.ts.map +0 -1
  280. package/dist/ai-service/agent/tools/apis/finalize-api.js +0 -133
  281. package/dist/ai-service/agent/tools/apis/finalize-api.js.map +0 -1
  282. package/dist/ai-service/llm/middleware/retry.d.ts +0 -112
  283. package/dist/ai-service/llm/middleware/retry.d.ts.map +0 -1
  284. package/dist/ai-service/llm/middleware/retry.js +0 -239
  285. package/dist/ai-service/llm/middleware/retry.js.map +0 -1
@@ -38,6 +38,17 @@ import { getLogger } from "../../util/logger.js";
38
38
  import { databaseIntegrationTypes } from "../const.js";
39
39
  import llmobs from "../llmobs/index.js";
40
40
  import { LocalMetadataStorage } from "./metadata-storage/local.js";
41
+ /**
42
+ * TTL (Time To Live) configuration for metadata cache.
43
+ */
44
+ export const METADATA_TTL = {
45
+ /** Default TTL: 10 minutes - balances freshness with load */
46
+ DEFAULT: 10 * 60 * 1000,
47
+ /** Minimum TTL: 1 minute - for testing or high-frequency updates */
48
+ MIN: 1 * 60 * 1000,
49
+ /** Maximum TTL: 1 hour - for very stable metadata */
50
+ MAX: 60 * 60 * 1000,
51
+ };
41
52
  let IntegrationStore = (() => {
42
53
  let _instanceExtraInitializers = [];
43
54
  let _getMetadata_decorators;
@@ -124,15 +135,51 @@ let IntegrationStore = (() => {
124
135
  getHeader(id) {
125
136
  return this.integrations.find((i) => i.id === id);
126
137
  }
127
- async getMetadata(id, editorClient) {
138
+ async getMetadata(id, editorClient, options) {
139
+ const logger = getLogger();
140
+ // Force refresh bypasses everything
141
+ if (options?.forceRefresh) {
142
+ logger.info(`[integration-store] Force refresh requested for ${id}, invalidating cache`);
143
+ await this.metadataStorage.invalidate(id);
144
+ // Check for in-flight fetch to avoid duplicate requests
145
+ const pending = this.pendingMetadataFetches.get(id);
146
+ if (pending) {
147
+ logger.debug(`[integration-store] Waiting for in-flight fetch of ${id}`);
148
+ return pending;
149
+ }
150
+ // Start new fetch
151
+ const fetchPromise = this._fetchMetadata(id, editorClient);
152
+ this.pendingMetadataFetches.set(id, fetchPromise);
153
+ try {
154
+ return await fetchPromise;
155
+ }
156
+ finally {
157
+ this.pendingMetadataFetches.delete(id);
158
+ }
159
+ }
128
160
  // Check for in-flight fetch to avoid duplicate requests
129
161
  const pending = this.pendingMetadataFetches.get(id);
130
162
  if (pending) {
131
- getLogger().debug(`[integration-store] Waiting for in-flight fetch of ${id}`);
163
+ logger.debug(`[integration-store] Waiting for in-flight fetch of ${id}`);
132
164
  return pending;
133
165
  }
166
+ // Check cache age and refresh if stale (synchronous/blocking)
167
+ const cachedPath = await this.metadataStorage.loadMetadata(id);
168
+ if (cachedPath) {
169
+ const age = await this.metadataStorage.getAge(id);
170
+ const ttl = options?.ttl ?? METADATA_TTL.DEFAULT;
171
+ if (age !== null && age < ttl) {
172
+ // Cache is fresh, use it
173
+ logger.debug(`[integration-store] Using fresh cache for ${id} (age: ${Math.round(age / 1000)}s, TTL: ${Math.round(ttl / 1000)}s)`);
174
+ return { _gronPath: cachedPath };
175
+ }
176
+ // Cache is stale, fetch fresh data synchronously (blocking)
177
+ if (age !== null) {
178
+ logger.info(`[integration-store] Cache for ${id} is stale (age: ${Math.round(age / 1000)}s, TTL: ${Math.round(ttl / 1000)}s), refreshing...`);
179
+ }
180
+ }
134
181
  // Start new fetch and track it
135
- const fetchPromise = this._fetchMetadata(id, editorClient);
182
+ const fetchPromise = this._fetchMetadata(id, editorClient, cachedPath);
136
183
  this.pendingMetadataFetches.set(id, fetchPromise);
137
184
  try {
138
185
  const result = await fetchPromise;
@@ -143,7 +190,7 @@ let IntegrationStore = (() => {
143
190
  this.pendingMetadataFetches.delete(id);
144
191
  }
145
192
  }
146
- async _fetchMetadata(id, editorClient) {
193
+ async _fetchMetadata(id, editorClient, staleCache) {
147
194
  const header = this.getHeader(id);
148
195
  if (!header) {
149
196
  getLogger().warn(`[integration-store] No integration found for id ${id}`);
@@ -151,51 +198,80 @@ let IntegrationStore = (() => {
151
198
  }
152
199
  if (!editorClient) {
153
200
  getLogger().warn(`[integration-store] No editor client provided, cannot fetch metadata for integration ${id}`);
201
+ // If we have stale cache and no editor client, return stale cache
202
+ if (staleCache) {
203
+ getLogger().info(`[integration-store] Returning stale cache for ${id} (no editor client)`);
204
+ return { _gronPath: staleCache };
205
+ }
154
206
  return undefined;
155
207
  }
156
- // Check if we have it cached in filesystem
157
- const cachedPath = await this.metadataStorage.loadMetadata(id);
158
- if (cachedPath) {
159
- // Cache hit! Return metadata with special gron path marker
160
- getLogger().debug(`[integration-store] Using filesystem cache for ${id}`);
161
- return { _gronPath: cachedPath };
162
- }
163
- // Cache miss - fetch from server
164
- getLogger().info(`[integration-store] Fetching metadata for ${id}`);
165
- if (header.plugin.openApiSpecRef) {
166
- // OpenAPI integration - get the spec
167
- const spec = await this.getOpenApiSpec(header.id, editorClient);
168
- const metadata = { openApiSpec: spec };
169
- // Write cache and wait for it to complete
170
- try {
171
- await this.metadataStorage.saveMetadata(id, metadata);
172
- // Return with gron path after successful cache write
173
- const gronPath = await this.metadataStorage.loadMetadata(id);
174
- if (gronPath) {
175
- return { _gronPath: gronPath };
208
+ try {
209
+ // Check if we have it cached in filesystem
210
+ // (only check if no staleCache was passed - if staleCache exists, we're refreshing)
211
+ if (!staleCache) {
212
+ const cachedPath = await this.metadataStorage.loadMetadata(id);
213
+ if (cachedPath) {
214
+ // Cache hit! Return metadata with special gron path marker
215
+ getLogger().debug(`[integration-store] Using filesystem cache for ${id}`);
216
+ return { _gronPath: cachedPath };
176
217
  }
177
218
  }
178
- catch (err) {
179
- getLogger().error(`[integration-store] Failed to cache metadata for ${id}: ${err.message}`);
180
- // Continue anyway - return the metadata even if caching fails
219
+ // Cache miss or refresh - fetch from server
220
+ getLogger().info(`[integration-store] Fetching metadata for ${id}`);
221
+ if (header.plugin.openApiSpecRef) {
222
+ // OpenAPI integration - get the spec
223
+ const spec = await this.getOpenApiSpec(header.id, editorClient);
224
+ const metadata = { openApiSpec: spec };
225
+ // Write cache and wait for it to complete
226
+ try {
227
+ await this.metadataStorage.saveMetadata(id, metadata);
228
+ // Return with gron path after successful cache write
229
+ const gronPath = await this.metadataStorage.loadMetadata(id);
230
+ if (gronPath) {
231
+ return { _gronPath: gronPath };
232
+ }
233
+ }
234
+ catch (err) {
235
+ getLogger().error(`[integration-store] Failed to cache metadata for ${id}: ${err.message}`);
236
+ // Continue anyway - return the metadata even if caching fails
237
+ }
238
+ return metadata;
239
+ }
240
+ // Regular database integration - get metadata
241
+ const integration = await editorClient?.call.aiGetIntegration({
242
+ integrationId: id,
243
+ });
244
+ // Check if the integration has an openApiSpecRef at the top level
245
+ // This is returned by the UI when a REST API integration has a custom OpenAPI spec
246
+ if (integration.openApiSpecRef) {
247
+ const spec = await this.getOpenApiSpec(header.id, editorClient, integration.openApiSpecRef);
248
+ const metadata = {
249
+ openApiSpec: spec,
250
+ openApiSpecRef: integration.openApiSpecRef,
251
+ };
252
+ // Write cache and wait for it to complete
253
+ try {
254
+ await this.metadataStorage.saveMetadata(id, metadata);
255
+ // Return with gron path after successful cache write
256
+ const gronPath = await this.metadataStorage.loadMetadata(id);
257
+ if (gronPath) {
258
+ return { _gronPath: gronPath };
259
+ }
260
+ }
261
+ catch (err) {
262
+ getLogger().error(`[integration-store] Failed to cache metadata for ${id}: ${err.message}`);
263
+ // Continue anyway - return the metadata even if caching fails
264
+ }
265
+ return metadata;
266
+ }
267
+ if (Object.keys(integration.metadata).length === 0) {
268
+ getLogger().warn(`[integration-store] No metadata found for integration ${id}`);
269
+ return undefined;
181
270
  }
182
- return metadata;
183
- }
184
- // Regular database integration - get metadata
185
- const integration = await editorClient?.call.aiGetIntegration({
186
- integrationId: id,
187
- });
188
- // Check if the integration has an openApiSpecRef at the top level
189
- // This is returned by the UI when a REST API integration has a custom OpenAPI spec
190
- if (integration.openApiSpecRef) {
191
- const spec = await this.getOpenApiSpec(header.id, editorClient, integration.openApiSpecRef);
192
- const metadata = {
193
- openApiSpec: spec,
194
- openApiSpecRef: integration.openApiSpecRef,
195
- };
196
271
  // Write cache and wait for it to complete
197
272
  try {
198
- await this.metadataStorage.saveMetadata(id, metadata);
273
+ await this.metadataStorage.saveMetadata(id, integration.metadata);
274
+ getLogger().info(`[integration-store] Successfully cached metadata for ${id}`);
199
275
  // Return with gron path after successful cache write
200
276
  const gronPath = await this.metadataStorage.loadMetadata(id);
201
277
  if (gronPath) {
@@ -206,34 +282,25 @@ let IntegrationStore = (() => {
206
282
  getLogger().error(`[integration-store] Failed to cache metadata for ${id}: ${err.message}`);
207
283
  // Continue anyway - return the metadata even if caching fails
208
284
  }
209
- return metadata;
285
+ return integration.metadata;
210
286
  }
211
- if (Object.keys(integration.metadata).length === 0) {
212
- getLogger().warn(`[integration-store] No metadata found for integration ${id}`);
213
- return undefined;
214
- }
215
- // Write cache and wait for it to complete
216
- try {
217
- await this.metadataStorage.saveMetadata(id, integration.metadata);
218
- getLogger().info(`[integration-store] Successfully cached metadata for ${id}`);
219
- // Return with gron path after successful cache write
220
- const gronPath = await this.metadataStorage.loadMetadata(id);
221
- if (gronPath) {
222
- return { _gronPath: gronPath };
287
+ catch (fetchError) {
288
+ // Fetch failed - fall back to stale cache if available
289
+ if (staleCache) {
290
+ getLogger().warn(`[integration-store] Failed to fetch fresh metadata for ${id}: ${fetchError.message}. Falling back to stale cache.`);
291
+ return { _gronPath: staleCache };
223
292
  }
293
+ // No stale cache available - propagate error
294
+ getLogger().error(`[integration-store] Failed to fetch metadata for ${id} and no stale cache available: ${fetchError.message}`);
295
+ throw fetchError;
224
296
  }
225
- catch (err) {
226
- getLogger().error(`[integration-store] Failed to cache metadata for ${id}: ${err.message}`);
227
- // Continue anyway - return the metadata even if caching fails
228
- }
229
- return integration.metadata;
230
297
  }
231
- async getIntegration(id, editorClient) {
298
+ async getIntegration(id, editorClient, options) {
232
299
  const header = this.getHeader(id);
233
300
  if (!header) {
234
301
  return undefined;
235
302
  }
236
- const metadata = await this.getMetadata(id, editorClient);
303
+ const metadata = await this.getMetadata(id, editorClient, options);
237
304
  return {
238
305
  ...header,
239
306
  metadata: metadata || {},
@@ -1 +1 @@
1
- {"version":3,"file":"store.js","sourceRoot":"","sources":["../../../src/ai-service/integrations/store.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,OAAO,EACL,gBAAgB,EAChB,wBAAwB,EACxB,UAAU,EACV,iBAAiB,EACjB,gBAAgB,GAGjB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACjD,OAAO,EAAE,wBAAwB,EAAE,MAAM,aAAa,CAAC;AACvD,OAAO,MAAM,MAAM,oBAAoB,CAAC;AACxC,OAAO,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;IAgCtD,gBAAgB;;;;iBAAhB,gBAAgB;;;uCAoG1B,MAAM,CAAC,QAAQ,CAAC;oBACf,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE,8BAA8B;iBACrC,CAAC;0CA6JD,MAAM,CAAC,QAAQ,CAAC;oBACf,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE,iCAAiC;iBACxC,CAAC;YA/JF,oLAAM,WAAW,6DAwBhB;YAwID,6LAAM,cAAc,6DA2CnB;;;QAlTO,YAAY,IADT,mDAAgB,EACyB,EAAE,EAAC;QAC/C,cAAc,CAAiB;QAC/B,YAAY,GAAwB,EAAE,CAAC;QACvC,eAAe,CAAkB;QACjC,sBAAsB,GAG1B,IAAI,GAAG,EAAE,CAAC;QAEd,YACE,iBAAiC,iBAAiB,CAAC,KAAK,CAAC,EACzD,OAAgB,EAChB,cAAuB,EACvB,aAAsB;YAEtB,IAAI,CAAC,cAAc,GAAG,cAAc,CAAC;YACrC,IAAI,CAAC,eAAe,GAAG,IAAI,oBAAoB,CAAC;gBAC9C,OAAO,EAAE,OAAO,IAAI,OAAO,CAAC,GAAG,EAAE;gBACjC,eAAe,EAAE,cAAc;gBAC/B,eAAe,EAAE,aAAa;aAC/B,CAAC,CAAC;QACL,CAAC;QAED,KAAK,CAAC,UAAU;YACd,MAAM,IAAI,CAAC,eAAe,CAAC,UAAU,EAAE,CAAC;QAC1C,CAAC;QAED,KAAK,CAAC,sBAAsB;YAC1B,MAAM,IAAI,CAAC,eAAe,CAAC,OAAO,EAAE,CAAC;QACvC,CAAC;QAED,qBAAqB;YACnB,MAAM,SAAS,GAAG,IAAI,CAAC,YAAY,CAAC,MAAM,CACxC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,KAAK,UAAU,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,SAAS,CAChE,CAAC;YACF,SAAS,EAAE,CAAC,KAAK,CACf,yDAAyD,SAAS,CAAC,MAAM,kBAAkB,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CACnJ,CAAC;YACF,OAAO,SAAS,CAAC;QACnB,CAAC;QAED,SAAS,CAAC,QAAkB;YAC1B,OAAO,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAC3C,CAAC;QAED,uBAAuB,CACrB,WAAqC,EACrC,YAA2B;YAE3B,SAAS,EAAE,CAAC,IAAI,CACd,+CAA+C,WAAW,CAAC,EAAE,KAAK,WAAW,CAAC,IAAI,UAAU,WAAW,CAAC,IAAI,EAAE,CAC/G,CAAC;YAEF,MAAM,QAAQ,GAAG,WAAW,CAAC,IAAgB,CAAC;YAC9C,MAAM,MAAM,GAAG,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;YACjD,IAAI,CAAC,MAAM,EAAE,CAAC;gBACZ,2BAA2B;gBAC3B,SAAS,EAAE,CAAC,KAAK,CACf,wCAAwC,WAAW,CAAC,IAAI,0BAA0B,CACnF,CAAC;gBACF,OAAO;YACT,CAAC;YACD,MAAM,YAAY,GAAG;gBACnB,EAAE,EAAE,MAAM,EAAE,EAAE;gBACd,IAAI,EAAE,MAAM,CAAC,IAAI;gBACjB,cAAc,EAAE,MAAM,CAAC,cAAc;gBACrC,SAAS,EAAE,IAAI,CAAC,cAAc;qBAC3B,cAAc,EAAE;qBAChB,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;qBAChB,QAAQ,CAAC,QAAQ,CAAC;aACtB,CAAC;YACF,MAAM,MAAM,GAAG;gBACb,EAAE,EAAE,WAAW,CAAC,EAAE;gBAClB,IAAI,EAAE,WAAW,CAAC,IAAI;gBACtB,MAAM,EAAE,YAAY;aACrB,CAAC;YAEF,MAAM,aAAa,GAAG,IAAI,CAAC,YAAY,CAAC,SAAS,CAC/C,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,MAAM,CAAC,EAAE,CAC1B,CAAC;YACF,IAAI,aAAa,KAAK,CAAC,CAAC,EAAE,CAAC;gBACzB,IAAI,CAAC,YAAY,CAAC,aAAa,CAAC,GAAG,MAAM,CAAC;YAC5C,CAAC;iBAAM,CAAC;gBACN,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YACjC,CAAC;YACD,IAAI,YAAY,EAAE,CAAC;gBACjB,oBAAoB;gBACpB,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,EAAE,EAAE,YAAY,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE;oBACzD,SAAS,EAAE,CAAC,KAAK,CACf,8CAA8C,WAAW,CAAC,EAAE,KAAK,CAAC,EAAE,CACrE,CAAC;gBACJ,CAAC,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QAED,SAAS,CAAC,EAAiB;YACzB,OAAO,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;QACpD,CAAC;QAMD,KAAK,CAAC,WAAW,CACf,EAAiB,EACjB,YAA2B;YAE3B,wDAAwD;YACxD,MAAM,OAAO,GAAG,IAAI,CAAC,sBAAsB,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YACpD,IAAI,OAAO,EAAE,CAAC;gBACZ,SAAS,EAAE,CAAC,KAAK,CACf,sDAAsD,EAAE,EAAE,CAC3D,CAAC;gBACF,OAAO,OAAO,CAAC;YACjB,CAAC;YAED,+BAA+B;YAC/B,MAAM,YAAY,GAAG,IAAI,CAAC,cAAc,CAAC,EAAE,EAAE,YAAY,CAAC,CAAC;YAC3D,IAAI,CAAC,sBAAsB,CAAC,GAAG,CAAC,EAAE,EAAE,YAAY,CAAC,CAAC;YAElD,IAAI,CAAC;gBACH,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC;gBAClC,OAAO,MAAM,CAAC;YAChB,CAAC;oBAAS,CAAC;gBACT,oBAAoB;gBACpB,IAAI,CAAC,sBAAsB,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;YACzC,CAAC;QACH,CAAC;QAEO,KAAK,CAAC,cAAc,CAC1B,EAAiB,EACjB,YAA2B;YAE3B,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;YAClC,IAAI,CAAC,MAAM,EAAE,CAAC;gBACZ,SAAS,EAAE,CAAC,IAAI,CAAC,mDAAmD,EAAE,EAAE,CAAC,CAAC;gBAC1E,OAAO,SAAS,CAAC;YACnB,CAAC;YAED,IAAI,CAAC,YAAY,EAAE,CAAC;gBAClB,SAAS,EAAE,CAAC,IAAI,CACd,wFAAwF,EAAE,EAAE,CAC7F,CAAC;gBACF,OAAO,SAAS,CAAC;YACnB,CAAC;YAED,2CAA2C;YAC3C,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC;YAC/D,IAAI,UAAU,EAAE,CAAC;gBACf,2DAA2D;gBAC3D,SAAS,EAAE,CAAC,KAAK,CAAC,kDAAkD,EAAE,EAAE,CAAC,CAAC;gBAC1E,OAAO,EAAE,SAAS,EAAE,UAAU,EAAS,CAAC;YAC1C,CAAC;YAED,iCAAiC;YACjC,SAAS,EAAE,CAAC,IAAI,CAAC,6CAA6C,EAAE,EAAE,CAAC,CAAC;YAEpE,IAAI,MAAM,CAAC,MAAM,CAAC,cAAc,EAAE,CAAC;gBACjC,qCAAqC;gBACrC,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,EAAE,EAAE,YAAY,CAAC,CAAC;gBAChE,MAAM,QAAQ,GAAG,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC;gBAEvC,0CAA0C;gBAC1C,IAAI,CAAC;oBACH,MAAM,IAAI,CAAC,eAAe,CAAC,YAAY,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAC;oBACtD,qDAAqD;oBACrD,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC;oBAC7D,IAAI,QAAQ,EAAE,CAAC;wBACb,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAS,CAAC;oBACxC,CAAC;gBACH,CAAC;gBAAC,OAAO,GAAQ,EAAE,CAAC;oBAClB,SAAS,EAAE,CAAC,KAAK,CACf,oDAAoD,EAAE,KAAK,GAAG,CAAC,OAAO,EAAE,CACzE,CAAC;oBACF,8DAA8D;gBAChE,CAAC;gBAED,OAAO,QAAQ,CAAC;YAClB,CAAC;YAED,8CAA8C;YAC9C,MAAM,WAAW,GAAG,MAAM,YAAY,EAAE,IAAI,CAAC,gBAAgB,CAAC;gBAC5D,aAAa,EAAE,EAAE;aAClB,CAAC,CAAC;YAEH,kEAAkE;YAClE,mFAAmF;YACnF,IAAI,WAAW,CAAC,cAAc,EAAE,CAAC;gBAC/B,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,cAAc,CACpC,MAAM,CAAC,EAAE,EACT,YAAY,EACZ,WAAW,CAAC,cAAc,CAC3B,CAAC;gBACF,MAAM,QAAQ,GAAG;oBACf,WAAW,EAAE,IAAI;oBACjB,cAAc,EAAE,WAAW,CAAC,cAAc;iBAC3C,CAAC;gBAEF,0CAA0C;gBAC1C,IAAI,CAAC;oBACH,MAAM,IAAI,CAAC,eAAe,CAAC,YAAY,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAC;oBACtD,qDAAqD;oBACrD,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC;oBAC7D,IAAI,QAAQ,EAAE,CAAC;wBACb,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAS,CAAC;oBACxC,CAAC;gBACH,CAAC;gBAAC,OAAO,GAAQ,EAAE,CAAC;oBAClB,SAAS,EAAE,CAAC,KAAK,CACf,oDAAoD,EAAE,KAAK,GAAG,CAAC,OAAO,EAAE,CACzE,CAAC;oBACF,8DAA8D;gBAChE,CAAC;gBAED,OAAO,QAAQ,CAAC;YAClB,CAAC;YAED,IAAI,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACnD,SAAS,EAAE,CAAC,IAAI,CACd,yDAAyD,EAAE,EAAE,CAC9D,CAAC;gBACF,OAAO,SAAS,CAAC;YACnB,CAAC;YAED,0CAA0C;YAC1C,IAAI,CAAC;gBACH,MAAM,IAAI,CAAC,eAAe,CAAC,YAAY,CAAC,EAAE,EAAE,WAAW,CAAC,QAAQ,CAAC,CAAC;gBAClE,SAAS,EAAE,CAAC,IAAI,CACd,wDAAwD,EAAE,EAAE,CAC7D,CAAC;gBACF,qDAAqD;gBACrD,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC;gBAC7D,IAAI,QAAQ,EAAE,CAAC;oBACb,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAS,CAAC;gBACxC,CAAC;YACH,CAAC;YAAC,OAAO,GAAQ,EAAE,CAAC;gBAClB,SAAS,EAAE,CAAC,KAAK,CACf,oDAAoD,EAAE,KAAK,GAAG,CAAC,OAAO,EAAE,CACzE,CAAC;gBACF,8DAA8D;YAChE,CAAC;YAED,OAAO,WAAW,CAAC,QAAQ,CAAC;QAC9B,CAAC;QAEM,KAAK,CAAC,cAAc,CACzB,EAAiB,EACjB,YAA2B;YAE3B,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;YAClC,IAAI,CAAC,MAAM,EAAE,CAAC;gBACZ,OAAO,SAAS,CAAC;YACnB,CAAC;YACD,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,EAAE,EAAE,YAAY,CAAC,CAAC;YAC1D,OAAO;gBACL,GAAG,MAAM;gBACT,QAAQ,EAAE,QAAQ,IAAI,EAAE;aACzB,CAAC;QACJ,CAAC;QAMD,KAAK,CAAC,cAAc,CAClB,aAA4B,EAC5B,YAA2B,EAC3B,OAAgB;YAEhB,IAAI,IAAI,CAAC,YAAY,CAAC,aAAa,CAAC,EAAE,CAAC;gBACrC,OAAO,IAAI,CAAC,YAAY,CAAC,aAAa,CAAC,CAAC;YAC1C,CAAC;YAED,IAAI,CAAC,YAAY,EAAE,CAAC;gBAClB,MAAM,IAAI,KAAK,CAAC,eAAe,CAAC,CAAC;YACnC,CAAC;YAED,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC;YAC7C,IAAI,CAAC,MAAM,EAAE,CAAC;gBACZ,MAAM,IAAI,KAAK,CAAC,+BAA+B,aAAa,EAAE,CAAC,CAAC;YAClE,CAAC;YAED,+EAA+E;YAC/E,MAAM,YAAY,GAAG,OAAO,IAAI,MAAM,CAAC,MAAM,CAAC,cAAc,CAAC;YAE7D,IAAI,CAAC,YAAY,EAAE,CAAC;gBAClB,MAAM,IAAI,KAAK,CACb,eAAe,aAAa,gCAAgC,CAC7D,CAAC;YACJ,CAAC;YAED,oKAAoK;YACpK,iHAAiH;YACjH,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC,IAAI,CAAC,gBAAgB,CAAC;gBACtD,aAAa,EAAE,MAAM,CAAC,EAAE;gBACxB,GAAG,EAAE,YAAY;aAClB,CAAC,CAAC;YACH,IAAI,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;gBACpB,SAAS,EAAE,CAAC,IAAI,CACd,oEAAoE,EACpE,kBAAkB,aAAa,EAAE,EACjC,YAAY,YAAY,EAAE,CAC3B,CAAC;gBACF,OAAO,SAAS,CAAC;YACnB,CAAC;YACD,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC;YACtC,OAAO,MAAM,CAAC;QAChB,CAAC;QAED;;;WAGG;QACH,YAAY,CAAC,EAAiB;YAC5B,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;YAClC,IAAI,CAAC,MAAM,EAAE,CAAC;gBACZ,OAAO,SAAS,CAAC;YACnB,CAAC;YACD,OAAO,IAAI,MAAM,CAAC,IAAI,OAAO,EAAE,GAAG,CAAC;QACrC,CAAC;;;SA/TU,gBAAgB;AAkU7B,MAAM,UAAU,oBAAoB,CAAC,MAAyB;IAC5D,OAAO,MAAM,CAAC,MAAM,CAAC,cAAc,KAAK,SAAS,CAAC;AACpD,CAAC;AAED,MAAM,UAAU,uBAAuB,CAAC,MAAyB;IAC/D,OAAO,MAAM,CAAC,MAAM,CAAC,EAAE,KAAK,gBAAgB,CAAC,EAAE,CAAC;AAClD,CAAC;AAED,MAAM,UAAU,qBAAqB,CAAC,MAAyB;IAC7D,OAAO,CACL,wBAAwB,CAAC,QAAQ,CAC/B,MAAM,CAAC,MAAM,CAAC,EAAgC,CAC/C,IAAI,MAAM,CAAC,MAAM,CAAC,EAAE,KAAK,gBAAgB,CAAC,EAAE,CAC9C,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,uBAAuB,CAAC,WAAwB;IAC9D,MAAM,MAAM,GACV,WAAW,CAAC,QAAQ,EAAE,sBAAsB;QAC5C,WAAW,CAAC,QAAQ,EAAE,QAAQ;QAC9B,WAAW,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC/B,IAAI,MAAM,IAAI,MAAM,CAAC,MAAM,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC;QAC5D,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,MAAyB;IAC5D,OAAO,MAAM,CAAC,MAAM,CAAC,EAAE,KAAK,wBAAwB,CAAC,EAAE,CAAC;AAC1D,CAAC"}
1
+ {"version":3,"file":"store.js","sourceRoot":"","sources":["../../../src/ai-service/integrations/store.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,123 @@
1
+ /**
2
+ * High-level LLM client with integrated middleware support.
3
+ *
4
+ * This client provides a streamText interface that automatically handles:
5
+ * - Context management (conversation history and locking)
6
+ * - Automatic retry on transient failures (with fresh state on each retry)
7
+ * - Logging middleware (logs to artifacts)
8
+ * - Token tracking (optional)
9
+ * - LLMObs middleware (tracing and observability)
10
+ *
11
+ * The client can be used anywhere in the codebase (FSM handlers, subagents, etc.)
12
+ * and provides consistent LLM interaction patterns with proper resource management.
13
+ */
14
+ import { LLMObsTracer } from "../llmobs/tracer.js";
15
+ import { type LoggingMiddlewareOptions } from "./interaction/middlewares/logging.js";
16
+ import type { AcquireContextOptions } from "./context/context-handle.js";
17
+ import type { ContextManager } from "./context/manager.js";
18
+ import type { ContextId, ContextOptions } from "./context/types.js";
19
+ import type { StreamTextOptions, StreamTextResult, StreamTextProvider } from "./interaction/provider.js";
20
+ import type { Tool } from "../agent/tools2/types.js";
21
+ import type { AppShell } from "../app-interface/shell.js";
22
+ import type { LanguageModel, ModelMessage } from "ai";
23
+ /**
24
+ * Options for LLMClient.streamText().
25
+ */
26
+ export interface LLMClientStreamTextOptions<TOOLS extends Record<string, Tool>> extends Omit<StreamTextOptions<TOOLS>, "messages"> {
27
+ /** Language model to use */
28
+ model: LanguageModel;
29
+ /**
30
+ * Context configuration for managing conversation history.
31
+ *
32
+ * If contextId is omitted, an ephemeral context is used.
33
+ * The context is automatically acquired and released around the LLM call.
34
+ * It can be seeded with initial messages and configured with options.
35
+ */
36
+ context?: {
37
+ /** Context identifier for persistent conversation history (omit for ephemeral context) */
38
+ contextId?: ContextId;
39
+ /** Optional messages to initialize context with (useful for forking or custom history) */
40
+ messages?: ModelMessage[];
41
+ /** Owner identifier (auto-generated if not provided) */
42
+ ownerId?: string;
43
+ /** Context configuration options */
44
+ contextOptions?: ContextOptions;
45
+ /** Acquisition options (timeouts, retries) */
46
+ acquireOptions?: AcquireContextOptions;
47
+ };
48
+ /**
49
+ * Logging configuration. Set to false to disable logging.
50
+ */
51
+ logging?: {
52
+ /** Unique identifier for this conversation */
53
+ conversationId?: string;
54
+ /** Optional log reference for external access to log content */
55
+ logRef?: LoggingMiddlewareOptions["logRef"];
56
+ /** Optional additional metadata to log */
57
+ metadata?: LoggingMiddlewareOptions["metadata"];
58
+ } | false;
59
+ }
60
+ /**
61
+ * High-level LLM client with integrated middleware and context management.
62
+ *
63
+ * @example
64
+ * ```typescript
65
+ * const llmClient = new LLMClient(contextManager, appShell);
66
+ *
67
+ * // Ephemeral context (no contextId)
68
+ * await llmClient.streamText({
69
+ * model: anthropic('claude-3-5-sonnet'),
70
+ * user: { role: "user", content: "Hello!" }
71
+ * });
72
+ *
73
+ * // Ephemeral context with custom messages
74
+ * await llmClient.streamText({
75
+ * model,
76
+ * user: { role: "user", content: "Continue" },
77
+ * context: {
78
+ * messages: [
79
+ * { role: "user", content: "Previous question" },
80
+ * { role: "assistant", content: "Previous answer" }
81
+ * ]
82
+ * }
83
+ * });
84
+ *
85
+ * // Persistent context
86
+ * const result = await llmClient.streamText({
87
+ * model: anthropic('claude-3-5-sonnet'),
88
+ * user: { role: "user", content: "Hello!" },
89
+ * context: { contextId: { appId, userId, name: "main" } },
90
+ * logging: { conversationId: "conv-123", runTimestamp: Date.now().toString() }
91
+ * });
92
+ *
93
+ * for await (const text of result.textStream) {
94
+ * console.log(text);
95
+ * }
96
+ * // Context automatically released, log automatically saved
97
+ *
98
+ * // With external logRef for accessing logs during streaming
99
+ * const logRef = { content: "" };
100
+ * await llmClient.streamText({
101
+ * model,
102
+ * user: { role: "user", content: "Hello!" },
103
+ * logging: {
104
+ * conversationId: "conv-123",
105
+ * logRef // Access logs via logRef.content during streaming
106
+ * }
107
+ * });
108
+ * ```
109
+ */
110
+ export declare class LLMClient {
111
+ private readonly contextManager;
112
+ private readonly appShell;
113
+ private readonly baseProvider;
114
+ constructor(contextManager: ContextManager, appShell: AppShell, baseProvider?: StreamTextProvider);
115
+ /**
116
+ * Streams text from an LLM with automatic context and middleware management.
117
+ *
118
+ * @param options - Stream options including model, messages, tools, context config, etc.
119
+ * @returns Promise resolving to stream result
120
+ */
121
+ streamText<TOOLS extends Record<string, Tool>>(options: LLMClientStreamTextOptions<TOOLS>, logger?: import("../../util/logger.js").Logger, tracer?: LLMObsTracer): Promise<StreamTextResult<TOOLS>>;
122
+ }
123
+ //# sourceMappingURL=client.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../../src/ai-service/llm/client.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAGH,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAInD,OAAO,EAEL,KAAK,wBAAwB,EAC9B,MAAM,sCAAsC,CAAC;AAE9C,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,6BAA6B,CAAC;AACzE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,KAAK,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACpE,OAAO,KAAK,EACV,iBAAiB,EACjB,gBAAgB,EAChB,kBAAkB,EACnB,MAAM,2BAA2B,CAAC;AACnC,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,0BAA0B,CAAC;AACrD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAC;AAC1D,OAAO,KAAK,EAAE,aAAa,EAAsB,YAAY,EAAE,MAAM,IAAI,CAAC;AAE1E;;GAEG;AACH,MAAM,WAAW,0BAA0B,CAAC,KAAK,SAAS,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,CAC5E,SAAQ,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,EAAE,UAAU,CAAC;IAClD,4BAA4B;IAC5B,KAAK,EAAE,aAAa,CAAC;IAErB;;;;;;OAMG;IACH,OAAO,CAAC,EAAE;QACR,0FAA0F;QAC1F,SAAS,CAAC,EAAE,SAAS,CAAC;QACtB,0FAA0F;QAC1F,QAAQ,CAAC,EAAE,YAAY,EAAE,CAAC;QAC1B,wDAAwD;QACxD,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,oCAAoC;QACpC,cAAc,CAAC,EAAE,cAAc,CAAC;QAChC,8CAA8C;QAC9C,cAAc,CAAC,EAAE,qBAAqB,CAAC;KACxC,CAAC;IAEF;;OAEG;IACH,OAAO,CAAC,EACJ;QACE,8CAA8C;QAC9C,cAAc,CAAC,EAAE,MAAM,CAAC;QACxB,gEAAgE;QAChE,MAAM,CAAC,EAAE,wBAAwB,CAAC,QAAQ,CAAC,CAAC;QAC5C,0CAA0C;QAC1C,QAAQ,CAAC,EAAE,wBAAwB,CAAC,UAAU,CAAC,CAAC;KACjD,GACD,KAAK,CAAC;CACX;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiDG;AACH,qBAAa,SAAS;IAElB,OAAO,CAAC,QAAQ,CAAC,cAAc;IAC/B,OAAO,CAAC,QAAQ,CAAC,QAAQ;IACzB,OAAO,CAAC,QAAQ,CAAC,YAAY;gBAFZ,cAAc,EAAE,cAAc,EAC9B,QAAQ,EAAE,QAAQ,EAClB,YAAY,GAAE,kBAA2C;IAG5E;;;;;OAKG;IACG,UAAU,CAAC,KAAK,SAAS,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,EACjD,OAAO,EAAE,0BAA0B,CAAC,KAAK,CAAC,EAC1C,MAAM,wCAAc,EACpB,MAAM,eAAwB,GAC7B,OAAO,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC;CAoHpC"}
@@ -0,0 +1,168 @@
1
+ /**
2
+ * High-level LLM client with integrated middleware support.
3
+ *
4
+ * This client provides a streamText interface that automatically handles:
5
+ * - Context management (conversation history and locking)
6
+ * - Automatic retry on transient failures (with fresh state on each retry)
7
+ * - Logging middleware (logs to artifacts)
8
+ * - Token tracking (optional)
9
+ * - LLMObs middleware (tracing and observability)
10
+ *
11
+ * The client can be used anywhere in the codebase (FSM handlers, subagents, etc.)
12
+ * and provides consistent LLM interaction patterns with proper resource management.
13
+ */
14
+ import { getLogger } from "../../util/logger.js";
15
+ import { LLMObsTracer } from "../llmobs/tracer.js";
16
+ import { createVercelProvider } from "./interaction/adapters/vercel.js";
17
+ import { applyMiddleware } from "./interaction/compose.js";
18
+ import { createLLMObsMiddleware } from "./interaction/middlewares/llmobs.js";
19
+ import { createLoggingMiddleware, } from "./interaction/middlewares/logging.js";
20
+ import { createStreamRetryMiddleware } from "./interaction/middlewares/stream-retry.js";
21
+ /**
22
+ * High-level LLM client with integrated middleware and context management.
23
+ *
24
+ * @example
25
+ * ```typescript
26
+ * const llmClient = new LLMClient(contextManager, appShell);
27
+ *
28
+ * // Ephemeral context (no contextId)
29
+ * await llmClient.streamText({
30
+ * model: anthropic('claude-3-5-sonnet'),
31
+ * user: { role: "user", content: "Hello!" }
32
+ * });
33
+ *
34
+ * // Ephemeral context with custom messages
35
+ * await llmClient.streamText({
36
+ * model,
37
+ * user: { role: "user", content: "Continue" },
38
+ * context: {
39
+ * messages: [
40
+ * { role: "user", content: "Previous question" },
41
+ * { role: "assistant", content: "Previous answer" }
42
+ * ]
43
+ * }
44
+ * });
45
+ *
46
+ * // Persistent context
47
+ * const result = await llmClient.streamText({
48
+ * model: anthropic('claude-3-5-sonnet'),
49
+ * user: { role: "user", content: "Hello!" },
50
+ * context: { contextId: { appId, userId, name: "main" } },
51
+ * logging: { conversationId: "conv-123", runTimestamp: Date.now().toString() }
52
+ * });
53
+ *
54
+ * for await (const text of result.textStream) {
55
+ * console.log(text);
56
+ * }
57
+ * // Context automatically released, log automatically saved
58
+ *
59
+ * // With external logRef for accessing logs during streaming
60
+ * const logRef = { content: "" };
61
+ * await llmClient.streamText({
62
+ * model,
63
+ * user: { role: "user", content: "Hello!" },
64
+ * logging: {
65
+ * conversationId: "conv-123",
66
+ * logRef // Access logs via logRef.content during streaming
67
+ * }
68
+ * });
69
+ * ```
70
+ */
71
+ export class LLMClient {
72
+ contextManager;
73
+ appShell;
74
+ baseProvider;
75
+ constructor(contextManager, appShell, baseProvider = createVercelProvider()) {
76
+ this.contextManager = contextManager;
77
+ this.appShell = appShell;
78
+ this.baseProvider = baseProvider;
79
+ }
80
+ /**
81
+ * Streams text from an LLM with automatic context and middleware management.
82
+ *
83
+ * @param options - Stream options including model, messages, tools, context config, etc.
84
+ * @returns Promise resolving to stream result
85
+ */
86
+ async streamText(options, logger = getLogger(), tracer = LLMObsTracer.instance) {
87
+ const { model, user, system, context: contextConfig, logging: loggingConfig, prepareStep, onStepFinish, onFinish, onFinally, ...streamOptions } = options;
88
+ // Validate user is provided
89
+ if (!user) {
90
+ throw new Error("user message is required");
91
+ }
92
+ // Extract context parameters
93
+ const contextId = contextConfig?.contextId;
94
+ const ownerId = contextConfig?.ownerId ??
95
+ (contextId
96
+ ? `llmclient-${Date.now()}-${Math.random().toString(36).slice(2, 9)}`
97
+ : `ephemeral-${Date.now()}-${Math.random().toString(36).slice(2, 9)}`);
98
+ // Acquire context lock (undefined contextId creates ephemeral context)
99
+ const contextHandle = await this.contextManager.acquireContext(contextId, ownerId, {
100
+ contextOptions: contextConfig?.contextOptions,
101
+ acquireOptions: contextConfig?.acquireOptions,
102
+ });
103
+ try {
104
+ const ctx = contextHandle.context;
105
+ // Initialize context with custom messages if provided
106
+ if (contextConfig?.messages) {
107
+ ctx.initializeWith(contextConfig.messages);
108
+ }
109
+ // Set system prompt if provided (overrides any in messages array)
110
+ if (system) {
111
+ const systemMsg = {
112
+ role: "system",
113
+ content: system,
114
+ };
115
+ ctx.setSystemPrompt(systemMsg);
116
+ }
117
+ // Start turn with user message
118
+ ctx.startTurn(user);
119
+ // Build middleware stack
120
+ const middlewares = [];
121
+ if (loggingConfig !== false && loggingConfig) {
122
+ middlewares.push(createLoggingMiddleware({
123
+ conversationId: loggingConfig.conversationId,
124
+ saveArtifact: this.appShell.saveGeneratedArtifact.bind(this.appShell),
125
+ logRef: loggingConfig.logRef,
126
+ metadata: loggingConfig.metadata,
127
+ }));
128
+ }
129
+ middlewares.push(createStreamRetryMiddleware({
130
+ maxTotalRetryTimeMs: 2 * 60 * 1000, // 2 minutes
131
+ logger: getLogger(),
132
+ }));
133
+ middlewares.push(createLLMObsMiddleware({ tracer, logger }));
134
+ // Compose all middlewares
135
+ const provider = applyMiddleware(this.baseProvider, ...middlewares);
136
+ // Call streamText with injected lifecycle hooks for context management
137
+ const result = await provider.streamText({
138
+ ...streamOptions,
139
+ model,
140
+ messages: ctx.getMessages(),
141
+ prepareStep: async (step) => {
142
+ ctx.startStep();
143
+ step = { ...step, messages: ctx.getMessages() };
144
+ return prepareStep?.(step) ?? step;
145
+ },
146
+ onStepFinish: async (stepResult) => {
147
+ ctx.endStep(stepResult.response.messages, stepResult.usage);
148
+ return onStepFinish?.(stepResult);
149
+ },
150
+ onFinish: async (finalResult) => {
151
+ ctx.endTurn(finalResult.usage);
152
+ return onFinish?.(finalResult);
153
+ },
154
+ onFinally: async () => {
155
+ contextHandle.release();
156
+ return onFinally?.();
157
+ },
158
+ });
159
+ return result;
160
+ }
161
+ catch (error) {
162
+ // Release context on error before stream starts
163
+ contextHandle.release();
164
+ throw error;
165
+ }
166
+ }
167
+ }
168
+ //# sourceMappingURL=client.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../../../src/ai-service/llm/client.ts"],"names":[],"mappings":"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"}
@@ -36,8 +36,8 @@ import type { ContextId } from "./types.js";
36
36
  export declare class ContextHandle {
37
37
  /** The context instance */
38
38
  readonly context: Context;
39
- /** The ID of the context */
40
- readonly contextId: ContextId;
39
+ /** The ID of the context (undefined for ephemeral contexts) */
40
+ readonly contextId: ContextId | undefined;
41
41
  /** The owner ID holding this handle */
42
42
  readonly ownerId: string;
43
43
  /** The lock manager to release the lock */
@@ -46,8 +46,8 @@ export declare class ContextHandle {
46
46
  constructor(
47
47
  /** The context instance */
48
48
  context: Context,
49
- /** The ID of the context */
50
- contextId: ContextId,
49
+ /** The ID of the context (undefined for ephemeral contexts) */
50
+ contextId: ContextId | undefined,
51
51
  /** The owner ID holding this handle */
52
52
  ownerId: string,
53
53
  /** The lock manager to release the lock */
@@ -1 +1 @@
1
- {"version":3,"file":"context-handle.d.ts","sourceRoot":"","sources":["../../../../src/ai-service/llm/context/context-handle.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAC5D,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAC5C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAE5C;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,qBAAa,aAAa;IAItB,2BAA2B;aACX,OAAO,EAAE,OAAO;IAChC,4BAA4B;aACZ,SAAS,EAAE,SAAS;IACpC,uCAAuC;aACvB,OAAO,EAAE,MAAM;IAC/B,2CAA2C;IAC3C,OAAO,CAAC,QAAQ,CAAC,WAAW;IAV9B,OAAO,CAAC,SAAS,CAAS;;IAGxB,2BAA2B;IACX,OAAO,EAAE,OAAO;IAChC,4BAA4B;IACZ,SAAS,EAAE,SAAS;IACpC,uCAAuC;IACvB,OAAO,EAAE,MAAM;IAC/B,2CAA2C;IAC1B,WAAW,EAAE,kBAAkB;IAGlD;;OAEG;IACH,IAAI,UAAU,IAAI,OAAO,CAExB;IAED;;;;;OAKG;IACH,OAAO,IAAI,IAAI;IASf;;;;OAIG;IACH,WAAW,IAAI,IAAI;IAQnB;;;OAGG;IACG,CAAC,MAAM,CAAC,YAAY,CAAC,IAAI,OAAO,CAAC,IAAI,CAAC;IAI5C;;;OAGG;IACH,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,IAAI;CAGzB;AAED;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACpC,wDAAwD;IACxD,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,+DAA+D;IAC/D,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,+CAA+C;IAC/C,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,wDAAwD;IACxD,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAED;;;;;;;;GAQG;AACH,wBAAsB,qBAAqB,CACzC,WAAW,EAAE,kBAAkB,EAC/B,SAAS,EAAE,SAAS,EACpB,OAAO,EAAE,MAAM,EACf,OAAO,GAAE,qBAA0B,GAClC,OAAO,CAAC,OAAO,CAAC,CAsClB"}
1
+ {"version":3,"file":"context-handle.d.ts","sourceRoot":"","sources":["../../../../src/ai-service/llm/context/context-handle.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAC5D,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAC5C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAE5C;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,qBAAa,aAAa;IAItB,2BAA2B;aACX,OAAO,EAAE,OAAO;IAChC,+DAA+D;aAC/C,SAAS,EAAE,SAAS,GAAG,SAAS;IAChD,uCAAuC;aACvB,OAAO,EAAE,MAAM;IAC/B,2CAA2C;IAC3C,OAAO,CAAC,QAAQ,CAAC,WAAW;IAV9B,OAAO,CAAC,SAAS,CAAS;;IAGxB,2BAA2B;IACX,OAAO,EAAE,OAAO;IAChC,+DAA+D;IAC/C,SAAS,EAAE,SAAS,GAAG,SAAS;IAChD,uCAAuC;IACvB,OAAO,EAAE,MAAM;IAC/B,2CAA2C;IAC1B,WAAW,EAAE,kBAAkB;IAGlD;;OAEG;IACH,IAAI,UAAU,IAAI,OAAO,CAExB;IAED;;;;;OAKG;IACH,OAAO,IAAI,IAAI;IAYf;;;;OAIG;IACH,WAAW,IAAI,IAAI;IASnB;;;OAGG;IACG,CAAC,MAAM,CAAC,YAAY,CAAC,IAAI,OAAO,CAAC,IAAI,CAAC;IAI5C;;;OAGG;IACH,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,IAAI;CAGzB;AAED;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACpC,wDAAwD;IACxD,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,+DAA+D;IAC/D,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,+CAA+C;IAC/C,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,wDAAwD;IACxD,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAED;;;;;;;;GAQG;AACH,wBAAsB,qBAAqB,CACzC,WAAW,EAAE,kBAAkB,EAC/B,SAAS,EAAE,SAAS,EACpB,OAAO,EAAE,MAAM,EACf,OAAO,GAAE,qBAA0B,GAClC,OAAO,CAAC,OAAO,CAAC,CAsClB"}