@superblocksteam/vite-plugin-file-sync 2.0.96 → 2.0.97-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 (293) hide show
  1. package/dist/ai-service/agent/middleware.d.ts.map +1 -1
  2. package/dist/ai-service/agent/middleware.js +8 -2
  3. package/dist/ai-service/agent/middleware.js.map +1 -1
  4. package/dist/ai-service/agent/prompts/api-prompts.d.ts.map +1 -1
  5. package/dist/ai-service/agent/prompts/api-prompts.js +84 -91
  6. package/dist/ai-service/agent/prompts/api-prompts.js.map +1 -1
  7. package/dist/ai-service/agent/prompts/build-base-system-prompt.d.ts +1 -1
  8. package/dist/ai-service/agent/prompts/build-base-system-prompt.d.ts.map +1 -1
  9. package/dist/ai-service/agent/prompts/build-base-system-prompt.js +7 -23
  10. package/dist/ai-service/agent/prompts/build-base-system-prompt.js.map +1 -1
  11. package/dist/ai-service/agent/tool-message-utils.d.ts.map +1 -1
  12. package/dist/ai-service/agent/tool-message-utils.js +32 -0
  13. package/dist/ai-service/agent/tool-message-utils.js.map +1 -1
  14. package/dist/ai-service/agent/tools/apis/api-testing-state.d.ts +28 -0
  15. package/dist/ai-service/agent/tools/apis/api-testing-state.d.ts.map +1 -0
  16. package/dist/ai-service/agent/tools/apis/api-testing-state.js +141 -0
  17. package/dist/ai-service/agent/tools/apis/api-testing-state.js.map +1 -0
  18. package/dist/ai-service/agent/tools/apis/sdk-registry.d.ts +4 -0
  19. package/dist/ai-service/agent/tools/apis/sdk-registry.d.ts.map +1 -0
  20. package/dist/ai-service/agent/tools/apis/sdk-registry.js +23 -0
  21. package/dist/ai-service/agent/tools/apis/sdk-registry.js.map +1 -0
  22. package/dist/ai-service/agent/tools/apis/test-api.d.ts +1 -63
  23. package/dist/ai-service/agent/tools/apis/test-api.d.ts.map +1 -1
  24. package/dist/ai-service/agent/tools/apis/test-api.js +12 -5
  25. package/dist/ai-service/agent/tools/apis/test-api.js.map +1 -1
  26. package/dist/ai-service/agent/tools/apis/write-api.d.ts +2 -2
  27. package/dist/ai-service/agent/tools/build-capture-screenshot.d.ts.map +1 -1
  28. package/dist/ai-service/agent/tools/build-capture-screenshot.js +2 -0
  29. package/dist/ai-service/agent/tools/build-capture-screenshot.js.map +1 -1
  30. package/dist/ai-service/agent/tools/build-edit-file.d.ts +1 -1
  31. package/dist/ai-service/agent/tools/build-edit-file.d.ts.map +1 -1
  32. package/dist/ai-service/agent/tools/build-edit-file.js +15 -0
  33. package/dist/ai-service/agent/tools/build-edit-file.js.map +1 -1
  34. package/dist/ai-service/agent/tools/build-finalize.d.ts.map +1 -1
  35. package/dist/ai-service/agent/tools/build-finalize.js +1 -0
  36. package/dist/ai-service/agent/tools/build-finalize.js.map +1 -1
  37. package/dist/ai-service/agent/tools/build-manage-checklist.d.ts +1 -1
  38. package/dist/ai-service/agent/tools/build-multi-edit-file.d.ts +1 -1
  39. package/dist/ai-service/agent/tools/build-multi-edit-file.d.ts.map +1 -1
  40. package/dist/ai-service/agent/tools/build-multi-edit-file.js +8 -0
  41. package/dist/ai-service/agent/tools/build-multi-edit-file.js.map +1 -1
  42. package/dist/ai-service/agent/tools/build-write-file.d.ts +1 -1
  43. package/dist/ai-service/agent/tools/build-write-file.d.ts.map +1 -1
  44. package/dist/ai-service/agent/tools/build-write-file.js +8 -0
  45. package/dist/ai-service/agent/tools/build-write-file.js.map +1 -1
  46. package/dist/ai-service/agent/tools/get-logs.d.ts +2 -0
  47. package/dist/ai-service/agent/tools/get-logs.d.ts.map +1 -1
  48. package/dist/ai-service/agent/tools/get-logs.js +49 -35
  49. package/dist/ai-service/agent/tools/get-logs.js.map +1 -1
  50. package/dist/ai-service/agent/tools/integrations/execute-request.d.ts +1 -1
  51. package/dist/ai-service/agent/tools/integrations/internal.d.ts +4 -0
  52. package/dist/ai-service/agent/tools/integrations/internal.d.ts.map +1 -1
  53. package/dist/ai-service/agent/tools/integrations/internal.js +1 -1
  54. package/dist/ai-service/agent/tools/integrations/internal.js.map +1 -1
  55. package/dist/ai-service/agent/tools.d.ts.map +1 -1
  56. package/dist/ai-service/agent/tools.js +78 -21
  57. package/dist/ai-service/agent/tools.js.map +1 -1
  58. package/dist/ai-service/agent/tools2/access-control.d.ts.map +1 -1
  59. package/dist/ai-service/agent/tools2/access-control.js +0 -3
  60. package/dist/ai-service/agent/tools2/access-control.js.map +1 -1
  61. package/dist/ai-service/agent/tools2/tools/ask-multi-choice.d.ts.map +1 -1
  62. package/dist/ai-service/agent/tools2/tools/ask-multi-choice.js +1 -0
  63. package/dist/ai-service/agent/tools2/tools/ask-multi-choice.js.map +1 -1
  64. package/dist/ai-service/agent/tools2/tools/end-test-run.d.ts +2 -2
  65. package/dist/ai-service/agent/tools2/tools/git.d.ts +50 -0
  66. package/dist/ai-service/agent/tools2/tools/git.d.ts.map +1 -0
  67. package/dist/ai-service/agent/tools2/tools/git.js +465 -0
  68. package/dist/ai-service/agent/tools2/tools/git.js.map +1 -0
  69. package/dist/ai-service/agent/tools2/tools/glob.d.ts.map +1 -1
  70. package/dist/ai-service/agent/tools2/tools/glob.js +3 -1
  71. package/dist/ai-service/agent/tools2/tools/glob.js.map +1 -1
  72. package/dist/ai-service/agent/tools2/tools/grep.d.ts.map +1 -1
  73. package/dist/ai-service/agent/tools2/tools/grep.js +9 -2
  74. package/dist/ai-service/agent/tools2/tools/grep.js.map +1 -1
  75. package/dist/ai-service/agent/tools2/tools/index.d.ts +1 -7
  76. package/dist/ai-service/agent/tools2/tools/index.d.ts.map +1 -1
  77. package/dist/ai-service/agent/tools2/tools/index.js +2 -8
  78. package/dist/ai-service/agent/tools2/tools/index.js.map +1 -1
  79. package/dist/ai-service/agent/tools2/tools/ls.d.ts.map +1 -1
  80. package/dist/ai-service/agent/tools2/tools/ls.js +5 -1
  81. package/dist/ai-service/agent/tools2/tools/ls.js.map +1 -1
  82. package/dist/ai-service/agent/tools2/tools/read.d.ts +1 -1
  83. package/dist/ai-service/agent/tools2/tools/remember-knowledge.d.ts +10 -6
  84. package/dist/ai-service/agent/tools2/tools/remember-knowledge.d.ts.map +1 -1
  85. package/dist/ai-service/agent/tools2/tools/remember-knowledge.js +25 -18
  86. package/dist/ai-service/agent/tools2/tools/remember-knowledge.js.map +1 -1
  87. package/dist/ai-service/agent/tools2/tools/update-test-case-status.d.ts +2 -2
  88. package/dist/ai-service/agent/tools2/types.d.ts +6 -2
  89. package/dist/ai-service/agent/tools2/types.d.ts.map +1 -1
  90. package/dist/ai-service/agent/tools2/types.js.map +1 -1
  91. package/dist/ai-service/agent/utils.d.ts.map +1 -1
  92. package/dist/ai-service/agent/utils.js +46 -0
  93. package/dist/ai-service/agent/utils.js.map +1 -1
  94. package/dist/ai-service/app-interface/constants.d.ts +10 -3
  95. package/dist/ai-service/app-interface/constants.d.ts.map +1 -1
  96. package/dist/ai-service/app-interface/constants.js +16 -8
  97. package/dist/ai-service/app-interface/constants.js.map +1 -1
  98. package/dist/ai-service/app-interface/filesystem/handlers/skill-handler.d.ts +11 -4
  99. package/dist/ai-service/app-interface/filesystem/handlers/skill-handler.d.ts.map +1 -1
  100. package/dist/ai-service/app-interface/filesystem/handlers/skill-handler.js +152 -11
  101. package/dist/ai-service/app-interface/filesystem/handlers/skill-handler.js.map +1 -1
  102. package/dist/ai-service/app-interface/filesystem/validation.d.ts +4 -4
  103. package/dist/ai-service/app-interface/filesystem/validation.d.ts.map +1 -1
  104. package/dist/ai-service/app-interface/filesystem/validation.js +14 -11
  105. package/dist/ai-service/app-interface/filesystem/validation.js.map +1 -1
  106. package/dist/ai-service/app-interface/filesystem/virtual-file-system.d.ts +1 -0
  107. package/dist/ai-service/app-interface/filesystem/virtual-file-system.d.ts.map +1 -1
  108. package/dist/ai-service/app-interface/filesystem/virtual-file-system.js +2 -2
  109. package/dist/ai-service/app-interface/filesystem/virtual-file-system.js.map +1 -1
  110. package/dist/ai-service/app-interface/shell.d.ts +10 -1
  111. package/dist/ai-service/app-interface/shell.d.ts.map +1 -1
  112. package/dist/ai-service/app-interface/shell.js +62 -16
  113. package/dist/ai-service/app-interface/shell.js.map +1 -1
  114. package/dist/ai-service/app-skills/build-knowledge-feedback-message.d.ts +3 -0
  115. package/dist/ai-service/app-skills/build-knowledge-feedback-message.d.ts.map +1 -0
  116. package/dist/ai-service/app-skills/build-knowledge-feedback-message.js +47 -0
  117. package/dist/ai-service/app-skills/build-knowledge-feedback-message.js.map +1 -0
  118. package/dist/ai-service/app-skills/helpers.d.ts +6 -11
  119. package/dist/ai-service/app-skills/helpers.d.ts.map +1 -1
  120. package/dist/ai-service/app-skills/helpers.js +282 -75
  121. package/dist/ai-service/app-skills/helpers.js.map +1 -1
  122. package/dist/ai-service/attachment-upload.d.ts +9 -1
  123. package/dist/ai-service/attachment-upload.d.ts.map +1 -1
  124. package/dist/ai-service/attachment-upload.js +82 -62
  125. package/dist/ai-service/attachment-upload.js.map +1 -1
  126. package/dist/ai-service/attachments/store.d.ts +12 -1
  127. package/dist/ai-service/attachments/store.d.ts.map +1 -1
  128. package/dist/ai-service/attachments/store.js +35 -0
  129. package/dist/ai-service/attachments/store.js.map +1 -1
  130. package/dist/ai-service/attachments/uploaded-content-part.d.ts +28 -0
  131. package/dist/ai-service/attachments/uploaded-content-part.d.ts.map +1 -0
  132. package/dist/ai-service/attachments/uploaded-content-part.js +88 -0
  133. package/dist/ai-service/attachments/uploaded-content-part.js.map +1 -0
  134. package/dist/ai-service/chat/chat-session-store.d.ts +4 -2
  135. package/dist/ai-service/chat/chat-session-store.d.ts.map +1 -1
  136. package/dist/ai-service/chat/chat-session-store.js +150 -19
  137. package/dist/ai-service/chat/chat-session-store.js.map +1 -1
  138. package/dist/ai-service/chat/utils.d.ts +12 -0
  139. package/dist/ai-service/chat/utils.d.ts.map +1 -1
  140. package/dist/ai-service/chat/utils.js +128 -2
  141. package/dist/ai-service/chat/utils.js.map +1 -1
  142. package/dist/ai-service/clark-provider/attachment-service.d.ts +56 -0
  143. package/dist/ai-service/clark-provider/attachment-service.d.ts.map +1 -0
  144. package/dist/ai-service/clark-provider/attachment-service.js +295 -0
  145. package/dist/ai-service/clark-provider/attachment-service.js.map +1 -0
  146. package/dist/ai-service/clark-provider/clark-language-model.d.ts +3 -0
  147. package/dist/ai-service/clark-provider/clark-language-model.d.ts.map +1 -1
  148. package/dist/ai-service/clark-provider/clark-language-model.js +15 -5
  149. package/dist/ai-service/clark-provider/clark-language-model.js.map +1 -1
  150. package/dist/ai-service/clark-provider/clark-provider.d.ts +9 -0
  151. package/dist/ai-service/clark-provider/clark-provider.d.ts.map +1 -1
  152. package/dist/ai-service/clark-provider/clark-provider.js +2 -0
  153. package/dist/ai-service/clark-provider/clark-provider.js.map +1 -1
  154. package/dist/ai-service/context-upload.d.ts +2 -1
  155. package/dist/ai-service/context-upload.d.ts.map +1 -1
  156. package/dist/ai-service/context-upload.js +63 -26
  157. package/dist/ai-service/context-upload.js.map +1 -1
  158. package/dist/ai-service/features.d.ts +12 -1
  159. package/dist/ai-service/features.d.ts.map +1 -1
  160. package/dist/ai-service/features.js +12 -1
  161. package/dist/ai-service/features.js.map +1 -1
  162. package/dist/ai-service/index.d.ts +19 -2
  163. package/dist/ai-service/index.d.ts.map +1 -1
  164. package/dist/ai-service/index.js +129 -21
  165. package/dist/ai-service/index.js.map +1 -1
  166. package/dist/ai-service/judge/judge-eval-service-runner.js +1 -0
  167. package/dist/ai-service/judge/judge-eval-service-runner.js.map +1 -1
  168. package/dist/ai-service/judge/tools/playwright-action.d.ts +1 -1
  169. package/dist/ai-service/llm/impl/clark.d.ts.map +1 -1
  170. package/dist/ai-service/llm/impl/clark.js +18 -2
  171. package/dist/ai-service/llm/impl/clark.js.map +1 -1
  172. package/dist/ai-service/llm/interaction/adapters/vercel.d.ts.map +1 -1
  173. package/dist/ai-service/llm/interaction/adapters/vercel.js +4 -0
  174. package/dist/ai-service/llm/interaction/adapters/vercel.js.map +1 -1
  175. package/dist/ai-service/llm/provider.d.ts +2 -1
  176. package/dist/ai-service/llm/provider.d.ts.map +1 -1
  177. package/dist/ai-service/llm/provider.js +11 -2
  178. package/dist/ai-service/llm/provider.js.map +1 -1
  179. package/dist/ai-service/llm/stream/config.d.ts +3 -1
  180. package/dist/ai-service/llm/stream/config.d.ts.map +1 -1
  181. package/dist/ai-service/llm/stream/config.js +1 -0
  182. package/dist/ai-service/llm/stream/config.js.map +1 -1
  183. package/dist/ai-service/llm/stream/observers/logging.js +1 -1
  184. package/dist/ai-service/llm/stream/observers/logging.js.map +1 -1
  185. package/dist/ai-service/llm/stream/retry-engine.d.ts +8 -8
  186. package/dist/ai-service/llm/stream/retry-engine.d.ts.map +1 -1
  187. package/dist/ai-service/llm/stream/retry-engine.js +42 -24
  188. package/dist/ai-service/llm/stream/retry-engine.js.map +1 -1
  189. package/dist/ai-service/llm/types.d.ts +11 -0
  190. package/dist/ai-service/llm/types.d.ts.map +1 -1
  191. package/dist/ai-service/skills/system/materialized.d.ts +6 -0
  192. package/dist/ai-service/skills/system/materialized.d.ts.map +1 -0
  193. package/dist/ai-service/skills/system/materialized.js +33 -0
  194. package/dist/ai-service/skills/system/materialized.js.map +1 -0
  195. package/dist/ai-service/skills/system/superblocks-frontend/skill.generated.d.ts +1 -1
  196. package/dist/ai-service/skills/system/superblocks-frontend/skill.generated.d.ts.map +1 -1
  197. package/dist/ai-service/skills/system/superblocks-frontend/skill.generated.js +42 -54
  198. package/dist/ai-service/skills/system/superblocks-frontend/skill.generated.js.map +1 -1
  199. package/dist/ai-service/skills/system/tool-paths.d.ts +3 -0
  200. package/dist/ai-service/skills/system/tool-paths.d.ts.map +1 -0
  201. package/dist/ai-service/skills/system/tool-paths.js +16 -0
  202. package/dist/ai-service/skills/system/tool-paths.js.map +1 -0
  203. package/dist/ai-service/state-machine/clark-fsm.d.ts +29 -5
  204. package/dist/ai-service/state-machine/clark-fsm.d.ts.map +1 -1
  205. package/dist/ai-service/state-machine/clark-fsm.js +47 -1
  206. package/dist/ai-service/state-machine/clark-fsm.js.map +1 -1
  207. package/dist/ai-service/state-machine/handlers/agent-planning.d.ts.map +1 -1
  208. package/dist/ai-service/state-machine/handlers/agent-planning.js +57 -36
  209. package/dist/ai-service/state-machine/handlers/agent-planning.js.map +1 -1
  210. package/dist/ai-service/state-machine/handlers/awaiting-user.d.ts.map +1 -1
  211. package/dist/ai-service/state-machine/handlers/awaiting-user.js +21 -3
  212. package/dist/ai-service/state-machine/handlers/awaiting-user.js.map +1 -1
  213. package/dist/ai-service/state-machine/handlers/llm-generating.d.ts.map +1 -1
  214. package/dist/ai-service/state-machine/handlers/llm-generating.js +74 -27
  215. package/dist/ai-service/state-machine/handlers/llm-generating.js.map +1 -1
  216. package/dist/ai-service/transform/api-builder/to-yaml-transformer.d.ts.map +1 -1
  217. package/dist/ai-service/transform/api-builder/to-yaml-transformer.js +94 -1
  218. package/dist/ai-service/transform/api-builder/to-yaml-transformer.js.map +1 -1
  219. package/dist/ai-service/util/mode-message.d.ts.map +1 -1
  220. package/dist/ai-service/util/mode-message.js +0 -3
  221. package/dist/ai-service/util/mode-message.js.map +1 -1
  222. package/dist/file-sync-vite-plugin.d.ts.map +1 -1
  223. package/dist/file-sync-vite-plugin.js +7 -0
  224. package/dist/file-sync-vite-plugin.js.map +1 -1
  225. package/dist/git-operation-lock.d.ts +22 -0
  226. package/dist/git-operation-lock.d.ts.map +1 -0
  227. package/dist/git-operation-lock.js +25 -0
  228. package/dist/git-operation-lock.js.map +1 -0
  229. package/dist/git-service/errors.d.ts +4 -0
  230. package/dist/git-service/errors.d.ts.map +1 -1
  231. package/dist/git-service/errors.js +6 -0
  232. package/dist/git-service/errors.js.map +1 -1
  233. package/dist/git-service/github-workflow.d.ts +6 -0
  234. package/dist/git-service/github-workflow.d.ts.map +1 -0
  235. package/dist/git-service/github-workflow.js +40 -0
  236. package/dist/git-service/github-workflow.js.map +1 -0
  237. package/dist/git-service/index.d.ts +2 -2
  238. package/dist/git-service/index.d.ts.map +1 -1
  239. package/dist/git-service/index.js +54 -12
  240. package/dist/git-service/index.js.map +1 -1
  241. package/dist/git-service/live-branch.d.ts.map +1 -1
  242. package/dist/git-service/live-branch.js +81 -5
  243. package/dist/git-service/live-branch.js.map +1 -1
  244. package/dist/inject-index-vite-plugin.d.ts.map +1 -1
  245. package/dist/inject-index-vite-plugin.js +37 -6
  246. package/dist/inject-index-vite-plugin.js.map +1 -1
  247. package/dist/injected-index.d.ts.map +1 -1
  248. package/dist/injected-index.js +23 -3
  249. package/dist/injected-index.js.map +1 -1
  250. package/dist/lock-service/index.d.ts.map +1 -1
  251. package/dist/lock-service/index.js +38 -0
  252. package/dist/lock-service/index.js.map +1 -1
  253. package/dist/parsing/index.d.ts +1 -0
  254. package/dist/parsing/index.d.ts.map +1 -1
  255. package/dist/parsing/index.js +1 -0
  256. package/dist/parsing/index.js.map +1 -1
  257. package/dist/parsing/sdk-registry.d.ts +5 -0
  258. package/dist/parsing/sdk-registry.d.ts.map +1 -0
  259. package/dist/parsing/sdk-registry.js +128 -0
  260. package/dist/parsing/sdk-registry.js.map +1 -0
  261. package/dist/socket-manager.d.ts +3 -1
  262. package/dist/socket-manager.d.ts.map +1 -1
  263. package/dist/socket-manager.js +192 -45
  264. package/dist/socket-manager.js.map +1 -1
  265. package/package.json +7 -6
  266. package/dist/ai-service/agent/tools2/tools/git-commit.d.ts +0 -15
  267. package/dist/ai-service/agent/tools2/tools/git-commit.d.ts.map +0 -1
  268. package/dist/ai-service/agent/tools2/tools/git-commit.js +0 -105
  269. package/dist/ai-service/agent/tools2/tools/git-commit.js.map +0 -1
  270. package/dist/ai-service/agent/tools2/tools/git-diff.d.ts +0 -9
  271. package/dist/ai-service/agent/tools2/tools/git-diff.d.ts.map +0 -1
  272. package/dist/ai-service/agent/tools2/tools/git-diff.js +0 -23
  273. package/dist/ai-service/agent/tools2/tools/git-diff.js.map +0 -1
  274. package/dist/ai-service/agent/tools2/tools/git-log.d.ts +0 -12
  275. package/dist/ai-service/agent/tools2/tools/git-log.d.ts.map +0 -1
  276. package/dist/ai-service/agent/tools2/tools/git-log.js +0 -27
  277. package/dist/ai-service/agent/tools2/tools/git-log.js.map +0 -1
  278. package/dist/ai-service/agent/tools2/tools/git-merge-abort.d.ts +0 -7
  279. package/dist/ai-service/agent/tools2/tools/git-merge-abort.d.ts.map +0 -1
  280. package/dist/ai-service/agent/tools2/tools/git-merge-abort.js +0 -42
  281. package/dist/ai-service/agent/tools2/tools/git-merge-abort.js.map +0 -1
  282. package/dist/ai-service/agent/tools2/tools/git-pull.d.ts +0 -20
  283. package/dist/ai-service/agent/tools2/tools/git-pull.d.ts.map +0 -1
  284. package/dist/ai-service/agent/tools2/tools/git-pull.js +0 -80
  285. package/dist/ai-service/agent/tools2/tools/git-pull.js.map +0 -1
  286. package/dist/ai-service/agent/tools2/tools/git-stage.d.ts +0 -9
  287. package/dist/ai-service/agent/tools2/tools/git-stage.d.ts.map +0 -1
  288. package/dist/ai-service/agent/tools2/tools/git-stage.js +0 -34
  289. package/dist/ai-service/agent/tools2/tools/git-stage.js.map +0 -1
  290. package/dist/ai-service/agent/tools2/tools/git-status.d.ts +0 -9
  291. package/dist/ai-service/agent/tools2/tools/git-status.d.ts.map +0 -1
  292. package/dist/ai-service/agent/tools2/tools/git-status.js +0 -18
  293. package/dist/ai-service/agent/tools2/tools/git-status.js.map +0 -1
@@ -0,0 +1,56 @@
1
+ import type { AutoConnectingRpcClient } from "../../server-rpc/index.js";
2
+ import type { LanguageModelV3Prompt } from "@ai-sdk/provider";
3
+ /**
4
+ * Service for resolving attachment leases, materializing file URLs to bytes,
5
+ * normalizing media types, and caching signed URLs.
6
+ *
7
+ * This service runs in the ai-service and calls the server via WebSocket RPC
8
+ * to refresh attachment leases before sending to the LLM.
9
+ */
10
+ export declare class AttachmentService {
11
+ private cache;
12
+ private rpcClient;
13
+ private superblocksBaseUrl;
14
+ private applicationId;
15
+ private getJwt;
16
+ /**
17
+ * Buffer time in milliseconds before actual expiry to trigger refresh.
18
+ * Default: 5 minutes (300000ms)
19
+ */
20
+ private readonly expiryBufferMs;
21
+ constructor(params: {
22
+ rpcClient: AutoConnectingRpcClient;
23
+ superblocksBaseUrl: string;
24
+ applicationId: string;
25
+ getJwt: () => string | undefined;
26
+ maxCacheSize?: number;
27
+ });
28
+ /**
29
+ * Prepare a prompt for sending to the LLM in a single pass:
30
+ * 1. Resolve attachment leases (batch RPC to get fresh signed URLs)
31
+ * 2. Fetch signed URLs and materialize as inline bytes
32
+ * 3. Normalize media types
33
+ */
34
+ preparePrompt(prompt: LanguageModelV3Prompt): Promise<LanguageModelV3Prompt>;
35
+ private extractUrl;
36
+ private callResolveLeases;
37
+ /**
38
+ * Clear the cache. Useful for testing or when tokens change.
39
+ */
40
+ clearCache(): void;
41
+ /**
42
+ * Get current cache size for monitoring.
43
+ */
44
+ getCacheSize(): number;
45
+ }
46
+ /**
47
+ * Factory function to create an AttachmentService.
48
+ */
49
+ export declare function createAttachmentService(params: {
50
+ rpcClient: AutoConnectingRpcClient;
51
+ superblocksBaseUrl: string;
52
+ applicationId: string;
53
+ getJwt: () => string | undefined;
54
+ maxCacheSize?: number;
55
+ }): AttachmentService;
56
+ //# sourceMappingURL=attachment-service.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"attachment-service.d.ts","sourceRoot":"","sources":["../../../src/ai-service/clark-provider/attachment-service.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AACzE,OAAO,KAAK,EACV,qBAAqB,EAEtB,MAAM,kBAAkB,CAAC;AAsJ1B;;;;;;GAMG;AACH,qBAAa,iBAAiB;IAC5B,OAAO,CAAC,KAAK,CAAwC;IACrD,OAAO,CAAC,SAAS,CAA0B;IAC3C,OAAO,CAAC,kBAAkB,CAAS;IACnC,OAAO,CAAC,aAAa,CAAS;IAC9B,OAAO,CAAC,MAAM,CAA2B;IAEzC;;;OAGG;IACH,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAiB;gBAEpC,MAAM,EAAE;QAClB,SAAS,EAAE,uBAAuB,CAAC;QACnC,kBAAkB,EAAE,MAAM,CAAC;QAC3B,aAAa,EAAE,MAAM,CAAC;QACtB,MAAM,EAAE,MAAM,MAAM,GAAG,SAAS,CAAC;QACjC,YAAY,CAAC,EAAE,MAAM,CAAC;KACvB;IAUD;;;;;OAKG;IACG,aAAa,CACjB,MAAM,EAAE,qBAAqB,GAC5B,OAAO,CAAC,qBAAqB,CAAC;IAmJjC,OAAO,CAAC,UAAU;YAkBJ,iBAAiB;IAS/B;;OAEG;IACH,UAAU,IAAI,IAAI;IAIlB;;OAEG;IACH,YAAY,IAAI,MAAM;CAGvB;AAED;;GAEG;AACH,wBAAgB,uBAAuB,CAAC,MAAM,EAAE;IAC9C,SAAS,EAAE,uBAAuB,CAAC;IACnC,kBAAkB,EAAE,MAAM,CAAC;IAC3B,aAAa,EAAE,MAAM,CAAC;IACtB,MAAM,EAAE,MAAM,MAAM,GAAG,SAAS,CAAC;IACjC,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB,GAAG,iBAAiB,CAEpB"}
@@ -0,0 +1,295 @@
1
+ import { LRUCache } from "lru-cache";
2
+ import { getCanonicalAttachmentUrl, getResolvableAttachmentUrl, } from "../attachments/uploaded-content-part.js";
3
+ import { getScopedToken } from "../util/scoped-token-utils.js";
4
+ function isLeaseResolvableFilePart(part) {
5
+ return part.type === "file";
6
+ }
7
+ function isLeaseResolvableImagePart(part) {
8
+ return part.type === "image";
9
+ }
10
+ function inferMediaTypeFromPath(pathOrName) {
11
+ if (!pathOrName) {
12
+ return "text/plain";
13
+ }
14
+ const lower = pathOrName.toLowerCase();
15
+ if (lower.endsWith(".pdf")) {
16
+ return "application/pdf";
17
+ }
18
+ if (lower.endsWith(".png")) {
19
+ return "image/png";
20
+ }
21
+ if (lower.endsWith(".jpg") || lower.endsWith(".jpeg")) {
22
+ return "image/jpeg";
23
+ }
24
+ if (lower.endsWith(".webp")) {
25
+ return "image/webp";
26
+ }
27
+ if (lower.endsWith(".gif")) {
28
+ return "image/gif";
29
+ }
30
+ return "text/plain";
31
+ }
32
+ function inferMediaTypeFromFilePart(part) {
33
+ const filename = typeof part.filename === "string" && part.filename.trim().length > 0
34
+ ? part.filename
35
+ : undefined;
36
+ if (filename) {
37
+ return inferMediaTypeFromPath(filename);
38
+ }
39
+ if (part.data instanceof URL) {
40
+ return inferMediaTypeFromPath(part.data.pathname);
41
+ }
42
+ if (typeof part.data === "string") {
43
+ try {
44
+ const parsed = new URL(part.data);
45
+ return inferMediaTypeFromPath(parsed.pathname);
46
+ }
47
+ catch {
48
+ // Ignore invalid URL strings and fall through to default.
49
+ }
50
+ }
51
+ return "text/plain";
52
+ }
53
+ function getNormalizedMediaType(part) {
54
+ const mediaType = typeof part.mediaType === "string" && part.mediaType.trim().length > 0
55
+ ? part.mediaType.trim()
56
+ : inferMediaTypeFromFilePart(part);
57
+ if (mediaType.startsWith("text/")) {
58
+ return "text/plain";
59
+ }
60
+ return mediaType;
61
+ }
62
+ function getImagePartMediaType(part) {
63
+ const metadata = part.superblocksAttachmentMetadata;
64
+ if (metadata?.mediaType?.trim()) {
65
+ return metadata.mediaType.trim();
66
+ }
67
+ if (part.image instanceof URL) {
68
+ return inferMediaTypeFromPath(part.image.pathname);
69
+ }
70
+ if (typeof part.image === "string") {
71
+ try {
72
+ return inferMediaTypeFromPath(new URL(part.image).pathname);
73
+ }
74
+ catch {
75
+ return inferMediaTypeFromPath(part.image);
76
+ }
77
+ }
78
+ return "image/png";
79
+ }
80
+ function getPartLeaseReference(part, url) {
81
+ const metadata = part.superblocksAttachmentMetadata;
82
+ if (metadata) {
83
+ return {
84
+ ...metadata,
85
+ url: getCanonicalAttachmentUrl(metadata.url),
86
+ };
87
+ }
88
+ if (part.type === "file") {
89
+ return {
90
+ url,
91
+ mediaType: getNormalizedMediaType(part),
92
+ fileName: typeof part.filename === "string" && part.filename.trim().length > 0
93
+ ? part.filename
94
+ : "attachment",
95
+ };
96
+ }
97
+ return {
98
+ url,
99
+ mediaType: getImagePartMediaType(part),
100
+ fileName: "attachment",
101
+ };
102
+ }
103
+ /**
104
+ * Service for resolving attachment leases, materializing file URLs to bytes,
105
+ * normalizing media types, and caching signed URLs.
106
+ *
107
+ * This service runs in the ai-service and calls the server via WebSocket RPC
108
+ * to refresh attachment leases before sending to the LLM.
109
+ */
110
+ export class AttachmentService {
111
+ cache;
112
+ rpcClient;
113
+ superblocksBaseUrl;
114
+ applicationId;
115
+ getJwt;
116
+ /**
117
+ * Buffer time in milliseconds before actual expiry to trigger refresh.
118
+ * Default: 5 minutes (300000ms)
119
+ */
120
+ expiryBufferMs = 5 * 60 * 1000;
121
+ constructor(params) {
122
+ this.rpcClient = params.rpcClient;
123
+ this.superblocksBaseUrl = params.superblocksBaseUrl;
124
+ this.applicationId = params.applicationId;
125
+ this.getJwt = params.getJwt;
126
+ this.cache = new LRUCache({
127
+ max: params.maxCacheSize ?? 100,
128
+ });
129
+ }
130
+ /**
131
+ * Prepare a prompt for sending to the LLM in a single pass:
132
+ * 1. Resolve attachment leases (batch RPC to get fresh signed URLs)
133
+ * 2. Fetch signed URLs and materialize as inline bytes
134
+ * 3. Normalize media types
135
+ */
136
+ async preparePrompt(prompt) {
137
+ // First pass: collect file parts with URLs that need lease resolution
138
+ const leaseRequests = [];
139
+ for (const message of prompt) {
140
+ if (message.role !== "user" || !Array.isArray(message.content)) {
141
+ continue;
142
+ }
143
+ for (const part of message.content) {
144
+ const leasePart = isLeaseResolvableFilePart(part)
145
+ ? part
146
+ : isLeaseResolvableImagePart(part)
147
+ ? part
148
+ : undefined;
149
+ if (!leasePart) {
150
+ continue;
151
+ }
152
+ const url = this.extractUrl(leasePart);
153
+ if (!url) {
154
+ continue;
155
+ }
156
+ const cached = this.cache.get(url);
157
+ if (cached && Date.now() < cached.expiresAt - this.expiryBufferMs) {
158
+ continue;
159
+ }
160
+ leaseRequests.push({ url, part: leasePart });
161
+ }
162
+ }
163
+ if (leaseRequests.length > 0) {
164
+ try {
165
+ const jwt = this.getJwt();
166
+ if (!jwt) {
167
+ throw new Error("No JWT available for scoped token");
168
+ }
169
+ const scopedToken = await getScopedToken({
170
+ applicationId: this.applicationId,
171
+ superblocksBaseUrl: this.superblocksBaseUrl,
172
+ jwt,
173
+ });
174
+ const request = {
175
+ attachments: leaseRequests.map((item) => getPartLeaseReference(item.part, item.url)),
176
+ scopedToken,
177
+ superblocksBaseUrl: this.superblocksBaseUrl,
178
+ };
179
+ const response = await this.callResolveLeases(request);
180
+ if (response?.attachments) {
181
+ for (const resolved of response.attachments) {
182
+ const expiresAt = new Date(resolved.expiresAt).getTime();
183
+ const ttl = Math.max(0, expiresAt - Date.now());
184
+ this.cache.set(resolved.url, {
185
+ url: resolved.signedUrl,
186
+ mediaType: resolved.mimeType,
187
+ expiresAt,
188
+ }, { ttl });
189
+ }
190
+ }
191
+ }
192
+ catch {
193
+ // If lease resolution fails, continue without signed URLs.
194
+ // The original URLs will be used as-is.
195
+ }
196
+ }
197
+ return Promise.all(prompt.map(async (message) => {
198
+ if (message.role !== "user" || !Array.isArray(message.content)) {
199
+ return message;
200
+ }
201
+ const preparedContent = await Promise.all(message.content.map(async (part) => {
202
+ const leasePart = isLeaseResolvableFilePart(part)
203
+ ? part
204
+ : isLeaseResolvableImagePart(part)
205
+ ? part
206
+ : undefined;
207
+ if (!leasePart) {
208
+ return part;
209
+ }
210
+ const originalUrl = this.extractUrl(leasePart);
211
+ if (!originalUrl) {
212
+ return part;
213
+ }
214
+ const cached = this.cache.get(originalUrl);
215
+ const fetchUrl = cached?.url ?? originalUrl;
216
+ if ("image" in leasePart) {
217
+ const metadata = leasePart.superblocksAttachmentMetadata;
218
+ return {
219
+ image: new URL(fetchUrl),
220
+ type: "image",
221
+ ...(metadata
222
+ ? { superblocksAttachmentMetadata: metadata }
223
+ : {}),
224
+ };
225
+ }
226
+ if (!("data" in leasePart)) {
227
+ return part;
228
+ }
229
+ // we need to used the server's media type to make sure its correct
230
+ // since sometimes the sdk liked to do image/* and infers the wrong file
231
+ // type to send to claude. but we need to make sure we try to normalize on
232
+ // the
233
+ const metadata = leasePart.superblocksAttachmentMetadata;
234
+ const filePart = {
235
+ data: new URL(fetchUrl),
236
+ filename: leasePart.filename,
237
+ mediaType: cached?.mediaType ?? leasePart.mediaType,
238
+ type: "file",
239
+ ...(metadata ? { superblocksAttachmentMetadata: metadata } : {}),
240
+ };
241
+ return {
242
+ type: "file",
243
+ data: new URL(fetchUrl),
244
+ filename: leasePart.filename,
245
+ mediaType: getNormalizedMediaType(filePart),
246
+ ...(metadata ? { superblocksAttachmentMetadata: metadata } : {}),
247
+ };
248
+ }));
249
+ return {
250
+ ...message,
251
+ content: preparedContent,
252
+ };
253
+ }));
254
+ }
255
+ extractUrl(part) {
256
+ if (part.type === "file" && typeof part.data === "string") {
257
+ return getResolvableAttachmentUrl(part.data);
258
+ }
259
+ if (part.type === "file" && part.data instanceof URL) {
260
+ return getResolvableAttachmentUrl(part.data);
261
+ }
262
+ if (part.type === "image" && typeof part.image === "string") {
263
+ return getResolvableAttachmentUrl(part.image);
264
+ }
265
+ if (part.type === "image" && part.image instanceof URL) {
266
+ return getResolvableAttachmentUrl(part.image);
267
+ }
268
+ return undefined;
269
+ }
270
+ async callResolveLeases(request) {
271
+ const response = await this.rpcClient.call(async (client) => {
272
+ return client.call.v1.ai.resolveAttachmentLeases(request);
273
+ });
274
+ return response.data;
275
+ }
276
+ /**
277
+ * Clear the cache. Useful for testing or when tokens change.
278
+ */
279
+ clearCache() {
280
+ this.cache.clear();
281
+ }
282
+ /**
283
+ * Get current cache size for monitoring.
284
+ */
285
+ getCacheSize() {
286
+ return this.cache.size;
287
+ }
288
+ }
289
+ /**
290
+ * Factory function to create an AttachmentService.
291
+ */
292
+ export function createAttachmentService(params) {
293
+ return new AttachmentService(params);
294
+ }
295
+ //# sourceMappingURL=attachment-service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"attachment-service.js","sourceRoot":"","sources":["../../../src/ai-service/clark-provider/attachment-service.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,5 @@
1
1
  import { type LanguageModelV3 } from "@ai-sdk/provider";
2
+ import type { AttachmentService } from "./attachment-service.js";
2
3
  import type { ClarkChatModelId } from "./clark-chat-settings.js";
3
4
  import type { FetchFunction } from "@ai-sdk/provider-utils";
4
5
  type ClarkChatConfig = {
@@ -6,6 +7,7 @@ type ClarkChatConfig = {
6
7
  baseURL: string;
7
8
  headers: () => Record<string, string | undefined>;
8
9
  fetch?: FetchFunction;
10
+ attachmentService?: AttachmentService;
9
11
  };
10
12
  export declare class ClarkChatLanguageModel implements LanguageModelV3 {
11
13
  readonly specificationVersion = "v3";
@@ -17,6 +19,7 @@ export declare class ClarkChatLanguageModel implements LanguageModelV3 {
17
19
  constructor(modelId: ClarkChatModelId, config: ClarkChatConfig);
18
20
  get provider(): string;
19
21
  supportsUrl(url: URL): boolean;
22
+ private preparePrompt;
20
23
  private getArgs;
21
24
  doGenerate(options: Parameters<LanguageModelV3["doGenerate"]>[0]): Promise<Awaited<ReturnType<LanguageModelV3["doGenerate"]>>>;
22
25
  doStream(options: Parameters<LanguageModelV3["doStream"]>[0]): Promise<Awaited<ReturnType<LanguageModelV3["doStream"]>>>;
@@ -1 +1 @@
1
- {"version":3,"file":"clark-language-model.d.ts","sourceRoot":"","sources":["../../../src/ai-service/clark-provider/clark-language-model.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,KAAK,eAAe,EAMrB,MAAM,kBAAkB,CAAC;AAW1B,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AACjE,OAAO,KAAK,EACV,aAAa,EAGd,MAAM,wBAAwB,CAAC;AAIhC,KAAK,eAAe,GAAG;IACrB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAAC;IAClD,KAAK,CAAC,EAAE,aAAa,CAAC;CACvB,CAAC;AA8DF,qBAAa,sBAAuB,YAAW,eAAe;IAC5D,QAAQ,CAAC,oBAAoB,QAAQ;IACrC,QAAQ,CAAC,2BAA2B,UAAU;IAC9C,QAAQ,CAAC,iBAAiB,SAAS;IACnC,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAA6B;IAE7E,QAAQ,CAAC,OAAO,EAAE,gBAAgB,CAAC;IAEnC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAkB;gBAE7B,OAAO,EAAE,gBAAgB,EAAE,MAAM,EAAE,eAAe;IAK9D,IAAI,QAAQ,IAAI,MAAM,CAErB;IAED,WAAW,CAAC,GAAG,EAAE,GAAG,GAAG,OAAO;IAI9B,OAAO,CAAC,OAAO;IA8GT,UAAU,CACd,OAAO,EAAE,UAAU,CAAC,eAAe,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,GACpD,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,eAAe,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;IA6ExD,QAAQ,CACZ,OAAO,EAAE,UAAU,CAAC,eAAe,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,GAClD,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,eAAe,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;CAsK7D"}
1
+ {"version":3,"file":"clark-language-model.d.ts","sourceRoot":"","sources":["../../../src/ai-service/clark-provider/clark-language-model.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,KAAK,eAAe,EAOrB,MAAM,kBAAkB,CAAC;AAW1B,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AACjE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AACjE,OAAO,KAAK,EACV,aAAa,EAGd,MAAM,wBAAwB,CAAC;AAIhC,KAAK,eAAe,GAAG;IACrB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAAC;IAClD,KAAK,CAAC,EAAE,aAAa,CAAC;IACtB,iBAAiB,CAAC,EAAE,iBAAiB,CAAC;CACvC,CAAC;AA8DF,qBAAa,sBAAuB,YAAW,eAAe;IAC5D,QAAQ,CAAC,oBAAoB,QAAQ;IACrC,QAAQ,CAAC,2BAA2B,UAAU;IAC9C,QAAQ,CAAC,iBAAiB,SAAS;IAGnC,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAwB;IAExE,QAAQ,CAAC,OAAO,EAAE,gBAAgB,CAAC;IAEnC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAkB;gBAE7B,OAAO,EAAE,gBAAgB,EAAE,MAAM,EAAE,eAAe;IAK9D,IAAI,QAAQ,IAAI,MAAM,CAErB;IAED,WAAW,CAAC,GAAG,EAAE,GAAG,GAAG,OAAO;YAIhB,aAAa;YASb,OAAO;IAiHf,UAAU,CACd,OAAO,EAAE,UAAU,CAAC,eAAe,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,GACpD,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,eAAe,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;IA6ExD,QAAQ,CACZ,OAAO,EAAE,UAAU,CAAC,eAAe,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,GAClD,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,eAAe,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;CAsK7D"}
@@ -41,7 +41,9 @@ export class ClarkChatLanguageModel {
41
41
  specificationVersion = "v3";
42
42
  defaultObjectGenerationMode = "json";
43
43
  supportsImageUrls = false;
44
- supportedUrls = { "https:": [/^https:/] };
44
+ // AI SDK's URL support map is keyed by media type (or '*'), not URL protocol.
45
+ // Using '*' avoids SDK-side URL downloads and lets the Clark proxy resolve leases.
46
+ supportedUrls = { "*": [/^https:/] };
45
47
  modelId;
46
48
  config;
47
49
  constructor(modelId, config) {
@@ -54,7 +56,13 @@ export class ClarkChatLanguageModel {
54
56
  supportsUrl(url) {
55
57
  return url.protocol === "https:";
56
58
  }
57
- getArgs({ prompt, maxOutputTokens, temperature, topP, topK, frequencyPenalty, presencePenalty, stopSequences, responseFormat, seed, tools, toolChoice, providerOptions, }) {
59
+ async preparePrompt(prompt) {
60
+ if (!this.config.attachmentService) {
61
+ return prompt;
62
+ }
63
+ return this.config.attachmentService.preparePrompt(prompt);
64
+ }
65
+ async getArgs({ prompt, maxOutputTokens, temperature, topP, topK, frequencyPenalty, presencePenalty, stopSequences, responseFormat, seed, tools, toolChoice, providerOptions, }) {
58
66
  const warnings = [];
59
67
  // v5: unsupported settings warnings
60
68
  if (topP != null) {
@@ -109,10 +117,12 @@ export class ClarkChatLanguageModel {
109
117
  });
110
118
  }
111
119
  const unifiedOptions = providerOptions?.unified;
120
+ // Resolve attachment leases and normalize media types
121
+ const normalizedPrompt = await this.preparePrompt(prompt);
112
122
  const baseArgs = {
113
123
  model: this.modelId,
114
124
  max_tokens: maxOutputTokens,
115
- messages: prompt,
125
+ messages: normalizedPrompt,
116
126
  temperature: temperature,
117
127
  providerOptions,
118
128
  // Fallback control options
@@ -136,7 +146,7 @@ export class ClarkChatLanguageModel {
136
146
  };
137
147
  }
138
148
  async doGenerate(options) {
139
- const { args } = this.getArgs(options);
149
+ const { args } = await this.getArgs(options);
140
150
  const optionsWithMetadata = options;
141
151
  const { value } = await postJsonToApi({
142
152
  url: `${this.config.baseURL}/generate`,
@@ -203,7 +213,7 @@ export class ClarkChatLanguageModel {
203
213
  };
204
214
  }
205
215
  async doStream(options) {
206
- const { args } = this.getArgs(options);
216
+ const { args } = await this.getArgs(options);
207
217
  const optionsWithMetadata = options;
208
218
  const body = {
209
219
  ...args,
@@ -1 +1 @@
1
- {"version":3,"file":"clark-language-model.js","sourceRoot":"","sources":["../../../src/ai-service/clark-provider/clark-language-model.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"clark-language-model.js","sourceRoot":"","sources":["../../../src/ai-service/clark-provider/clark-language-model.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,sBAAsB,EACtB,cAAc,GAQf,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EACL,cAAc,EACd,sBAAsB,EACtB,aAAa,GACd,MAAM,wBAAwB,CAAC;AAChC,OAAO,EACL,uBAAuB,GAExB,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAE,0BAA0B,EAAE,MAAM,0BAA0B,CAAC;AAuBtE,SAAS,cAAc,CACrB,eAAmC;IAEnC,MAAM,UAAU,GACd,eAAe,KAAK,MAAM;QAC1B,eAAe,KAAK,QAAQ;QAC5B,eAAe,KAAK,gBAAgB;QACpC,eAAe,KAAK,YAAY;QAChC,eAAe,KAAK,OAAO;QAC3B,eAAe,KAAK,OAAO;QACzB,CAAC,CAAC,eAAe;QACjB,CAAC,CAAC,OAAO,CAAC;IAEd,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,GAAG,EAAE,eAAe,EAAE,CAAC;AACvD,CAAC;AAED,SAAS,OAAO,CAAC,SAYhB;IACC,MAAM,UAAU,GAAG,SAAS,EAAE,WAAW,IAAI,SAAS,EAAE,YAAY,CAAC;IACrE,MAAM,SAAS,GACb,SAAS,EAAE,iBAAiB,EAAE,eAAe;QAC7C,SAAS,EAAE,iBAAiB,CAAC;IAC/B,MAAM,UAAU,GAAG,SAAS,EAAE,iBAAiB,EAAE,gBAAgB,CAAC;IAClE,MAAM,YAAY,GAChB,SAAS,EAAE,iBAAiB,EAAE,aAAa;QAC3C,CAAC,UAAU,KAAK,SAAS;YACvB,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,UAAU,GAAG,CAAC,SAAS,IAAI,CAAC,CAAC,GAAG,CAAC,UAAU,IAAI,CAAC,CAAC,CAAC;YAChE,CAAC,CAAC,SAAS,CAAC,CAAC;IACjB,MAAM,WAAW,GAAG,SAAS,EAAE,YAAY,IAAI,SAAS,EAAE,gBAAgB,CAAC;IAE3E,OAAO;QACL,WAAW,EAAE;YACX,KAAK,EAAE,UAAU;YACjB,OAAO,EAAE,YAAY;YACrB,SAAS,EAAE,SAAS;YACpB,UAAU,EAAE,UAAU;SACvB;QACD,YAAY,EAAE;YACZ,KAAK,EAAE,WAAW;YAClB,IAAI,EAAE,WAAW;YACjB,SAAS,EAAE,SAAS;SACrB;KACF,CAAC;AACJ,CAAC;AAED,MAAM,OAAO,sBAAsB;IACxB,oBAAoB,GAAG,IAAI,CAAC;IAC5B,2BAA2B,GAAG,MAAM,CAAC;IACrC,iBAAiB,GAAG,KAAK,CAAC;IACnC,8EAA8E;IAC9E,mFAAmF;IAC1E,aAAa,GAA6B,EAAE,GAAG,EAAE,CAAC,SAAS,CAAC,EAAE,CAAC;IAE/D,OAAO,CAAmB;IAElB,MAAM,CAAkB;IAEzC,YAAY,OAAyB,EAAE,MAAuB;QAC5D,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACvB,CAAC;IAED,IAAI,QAAQ;QACV,OAAO,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC;IAC9B,CAAC;IAED,WAAW,CAAC,GAAQ;QAClB,OAAO,GAAG,CAAC,QAAQ,KAAK,QAAQ,CAAC;IACnC,CAAC;IAEO,KAAK,CAAC,aAAa,CACzB,MAA6B;QAE7B,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,iBAAiB,EAAE,CAAC;YACnC,OAAO,MAAM,CAAC;QAChB,CAAC;QACD,OAAO,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;IAC7D,CAAC;IAEO,KAAK,CAAC,OAAO,CAAC,EACpB,MAAM,EACN,eAAe,EACf,WAAW,EACX,IAAI,EACJ,IAAI,EACJ,gBAAgB,EAChB,eAAe,EACf,aAAa,EACb,cAAc,EACd,IAAI,EACJ,KAAK,EACL,UAAU,EACV,eAAe,GACY;QAC3B,MAAM,QAAQ,GAAsB,EAAE,CAAC;QAEvC,oCAAoC;QAEpC,IAAI,IAAI,IAAI,IAAI,EAAE,CAAC;YACjB,QAAQ,CAAC,IAAI,CAAC;gBACZ,IAAI,EAAE,aAAa;gBACnB,OAAO,EAAE,MAAM;aAChB,CAAC,CAAC;QACL,CAAC;QAED,IAAI,IAAI,IAAI,IAAI,EAAE,CAAC;YACjB,QAAQ,CAAC,IAAI,CAAC;gBACZ,IAAI,EAAE,aAAa;gBACnB,OAAO,EAAE,MAAM;aAChB,CAAC,CAAC;QACL,CAAC;QAED,IAAI,gBAAgB,IAAI,IAAI,EAAE,CAAC;YAC7B,QAAQ,CAAC,IAAI,CAAC;gBACZ,IAAI,EAAE,aAAa;gBACnB,OAAO,EAAE,kBAAkB;aAC5B,CAAC,CAAC;QACL,CAAC;QAED,IAAI,eAAe,IAAI,IAAI,EAAE,CAAC;YAC5B,QAAQ,CAAC,IAAI,CAAC;gBACZ,IAAI,EAAE,aAAa;gBACnB,OAAO,EAAE,iBAAiB;aAC3B,CAAC,CAAC;QACL,CAAC;QAED,IAAI,aAAa,IAAI,IAAI,EAAE,CAAC;YAC1B,QAAQ,CAAC,IAAI,CAAC;gBACZ,IAAI,EAAE,aAAa;gBACnB,OAAO,EAAE,eAAe;aACzB,CAAC,CAAC;QACL,CAAC;QAED,+DAA+D;QAC/D,IAAI,YAAY,GAAG,SAAS,CAAC;QAC7B,IAAI,cAAc,IAAI,IAAI,EAAE,CAAC;YAC3B,IAAI,cAAc,CAAC,IAAI,KAAK,MAAM,IAAI,cAAc,CAAC,MAAM,EAAE,CAAC;gBAC5D,uEAAuE;gBACvE,YAAY,GAAG,cAAc,CAAC,MAAM,CAAC;YACvC,CAAC;iBAAM,CAAC;gBACN,QAAQ,CAAC,IAAI,CAAC;oBACZ,IAAI,EAAE,aAAa;oBACnB,OAAO,EAAE,gBAAgB;oBACzB,OAAO,EAAE,oDAAoD;iBAC9D,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QAED,IAAI,IAAI,IAAI,IAAI,EAAE,CAAC;YACjB,QAAQ,CAAC,IAAI,CAAC;gBACZ,IAAI,EAAE,aAAa;gBACnB,OAAO,EAAE,MAAM;aAChB,CAAC,CAAC;QACL,CAAC;QAED,MAAM,cAAc,GAAG,eAAe,EAAE,OAE3B,CAAC;QAEd,sDAAsD;QACtD,MAAM,gBAAgB,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;QAE1D,MAAM,QAAQ,GAAG;YACf,KAAK,EAAE,IAAI,CAAC,OAAO;YACnB,UAAU,EAAE,eAAe;YAC3B,QAAQ,EAAE,gBAAgB;YAC1B,WAAW,EAAE,WAAW;YACxB,eAAe;YACf,2BAA2B;YAC3B,GAAG,CAAC,cAAc,EAAE,aAAa,IAAI;gBACnC,aAAa,EAAE,cAAc,CAAC,aAAa;aAC5C,CAAC;YACF,GAAG,CAAC,cAAc,EAAE,SAAS,IAAI,EAAE,SAAS,EAAE,cAAc,CAAC,SAAS,EAAE,CAAC;SAC1E,CAAC;QAEF,MAAM,SAAS,GAAQ;YACrB,GAAG,QAAQ;YACX,KAAK;YACL,UAAU;SACX,CAAC;QAEF,sDAAsD;QACtD,IAAI,YAAY,KAAK,SAAS,EAAE,CAAC;YAC/B,SAAS,CAAC,YAAY,GAAG,YAAY,CAAC;QACxC,CAAC;QAED,OAAO;YACL,IAAI,EAAE,SAAS;YACf,QAAQ;SACT,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,UAAU,CACd,OAAqD;QAErD,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QAC7C,MAAM,mBAAmB,GACvB,OAAiD,CAAC;QAEpD,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,aAAa,CAAC;YACpC,GAAG,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,WAAW;YACtC,OAAO,EAAE,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,EAAE,OAAO,CAAC,OAAO,CAAC;YAC/D,IAAI,EAAE;gBACJ,GAAG,IAAI;gBACP,UAAU,EAAE,mBAAmB,CAAC,UAAU;aAC3C;YACD,qBAAqB,EAAE,0BAA0B;YACjD,yBAAyB,EAAE,wBAAwB;YACnD,WAAW,EAAE,OAAO,CAAC,WAAW;YAChC,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,KAAK;SACzB,CAAC,CAAC;QAEH,MAAM,OAAO,GAAU,EAAE,CAAC;QAE1B,IAAI,KAAK,CAAC,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,IAAI,KAAK,EAAE,EAAE,CAAC;YAC5C,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;QACnD,CAAC;aAAM,IAAI,KAAK,CAAC,MAAM,IAAI,IAAI,EAAE,CAAC;YAChC,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QACrE,CAAC;QAED,IAAI,KAAK,CAAC,OAAO,CAAE,KAAa,CAAC,KAAK,CAAC,EAAE,CAAC;YACxC,KAAK,MAAM,IAAI,IAAK,KAAa,CAAC,KAAK,EAAE,CAAC;gBACxC,OAAO,CAAC,IAAI,CAAC;oBACX,IAAI,EAAE,MAAM;oBACZ,SAAS,EAAG,IAAY,CAAC,QAAQ;oBACjC,IAAI,EAAE,IAAI,CAAC,MAAM;iBAClB,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QAED,IAAI,KAAK,CAAC,OAAO,CAAE,KAAa,CAAC,SAAS,CAAC,EAAE,CAAC;YAC5C,KAAK,MAAM,QAAQ,IAAK,KAAa,CAAC,SAAS,EAAE,CAAC;gBAChD,OAAO,CAAC,IAAI,CAAC;oBACX,IAAI,EAAE,WAAW;oBACjB,UAAU,EAAE,QAAQ,CAAC,UAAU;oBAC/B,QAAQ,EAAE,QAAQ,CAAC,QAAQ;oBAC3B,KAAK,EAAE,IAAI,CAAC,SAAS,CAAE,QAAgB,CAAC,IAAI,IAAI,EAAE,CAAC;iBACpD,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QAED,IAAI,KAAK,CAAC,OAAO,CAAE,KAAa,CAAC,OAAO,CAAC,EAAE,CAAC;YAC1C,KAAK,MAAM,MAAM,IAAK,KAAa,CAAC,OAAO,EAAE,CAAC;gBAC5C,OAAO,CAAC,IAAI,CAAC;oBACX,IAAI,EAAE,QAAQ;oBACd,GAAI,MAAkC;iBACvC,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QAED,kEAAkE;QAClE,MAAM,yBAAyB,GAAG,KAAK,CAAC,gBAAgB;YACtD,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC;YACpD,CAAC,CAAC,SAAS,CAAC;QAEd,OAAO;YACL,OAAO;YAEP,YAAY,EAAE,cAAc,CAAC,KAAK,CAAC,YAAY,CAAC;YAChD,KAAK,EAAE,OAAO,CAAE,KAAa,CAAC,KAAK,CAAC;YACpC,gBAAgB,EAAE,yBAAyB;YAC3C,QAAQ,EAAE;gBACR,OAAO,EAAE,KAAK,CAAC,QAAQ,EAAE,OAAO;aACjC;YACD,OAAO,EAAE;gBACP,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;aAC3B;YACD,QAAQ,EAAG,KAAa,CAAC,QAAQ,IAAI,EAAE;SACxC,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,QAAQ,CACZ,OAAmD;QAEnD,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QAC7C,MAAM,mBAAmB,GACvB,OAAiD,CAAC;QAEpD,MAAM,IAAI,GAAG;YACX,GAAG,IAAI;YACP,MAAM,EAAE,IAAI;YACZ,UAAU,EAAE,mBAAmB,CAAC,UAAU;SAC3C,CAAC;QACF,MAAM,EAAE,eAAe,EAAE,KAAK,EAAE,QAAQ,EAAE,GAAG,MAAM,aAAa,CAAC;YAC/D,GAAG,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,SAAS;YACpC,OAAO,EAAE,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,EAAE,OAAO,CAAC,OAAO,CAAC;YAC/D,IAAI;YACJ,qBAAqB,EAAE,0BAA0B;YACjD,yBAAyB,EAAE,0BAA0B;YACrD,WAAW,EAAE,OAAO,CAAC,WAAW;YAChC,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,KAAK;SACzB,CAAC,CAAC;QAEH,IAAI,YAAY,GAAG,cAAc,CAAC,SAAS,CAAC,CAAC;QAC7C,IAAI,KAAK,GAAG,OAAO,EAAE,CAAC;QAEtB,OAAO;YACL,MAAM,EAAE,QAAQ,CAAC,WAAW,CAC1B,IAAI,eAAe,CAA8C;gBAC/D,SAAS,CAAC,KAAK,EAAE,UAAU;oBACzB,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;wBAClB,QAAQ,KAAK,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;4BACzB,KAAK,YAAY,CAAC,CAAC,CAAC;gCAClB,UAAU,CAAC,OAAO,CAAC;oCACjB,IAAI,EAAE,YAAY;oCAClB,EAAE,EAAE,KAAK,CAAC,KAAK,CAAC,EAAE;iCACnB,CAAC,CAAC;gCACH,MAAM;4BACR,CAAC;4BACD,KAAK,YAAY,CAAC,CAAC,CAAC;gCAClB,UAAU,CAAC,OAAO,CAAC;oCACjB,IAAI,EAAE,YAAY;oCAClB,EAAE,EAAE,KAAK,CAAC,KAAK,CAAC,EAAE;oCAClB,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,IAAI;iCACxB,CAAC,CAAC;gCACH,MAAM;4BACR,CAAC;4BACD,KAAK,iBAAiB,CAAC,CAAC,CAAC;gCACvB,UAAU,CAAC,OAAO,CAAC;oCACjB,IAAI,EAAE,iBAAiB;oCACvB,EAAE,EAAE,KAAK,CAAC,KAAK,CAAC,EAAE;oCAClB,gBAAgB,EAAE,KAAK,CAAC,KAAK,CAAC,gBAAgB;iCAC/C,CAAC,CAAC;gCACH,MAAM;4BACR,CAAC;4BACD,KAAK,iBAAiB,CAAC,CAAC,CAAC;gCACvB,UAAU,CAAC,OAAO,CAAC;oCACjB,IAAI,EAAE,iBAAiB;oCACvB,EAAE,EAAE,KAAK,CAAC,KAAK,CAAC,EAAE;oCAClB,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,IAAI,IAAI,EAAE;oCAC7B,gBAAgB,EAAE,KAAK,CAAC,KAAK,CAAC,gBAAgB;iCAC/C,CAAC,CAAC;gCACH,MAAM;4BACR,CAAC;4BACD,KAAK,eAAe,CAAC,CAAC,CAAC;gCACrB,UAAU,CAAC,OAAO,CAAC;oCACjB,IAAI,EAAE,eAAe;oCACrB,EAAE,EAAE,KAAK,CAAC,KAAK,CAAC,EAAE;oCAClB,gBAAgB,EAAE,KAAK,CAAC,KAAK,CAAC,gBAAgB;iCAC/C,CAAC,CAAC;gCACH,MAAM;4BACR,CAAC;4BACD,KAAK,kBAAkB,CAAC,CAAC,CAAC;gCACxB,UAAU,CAAC,OAAO,CAAC;oCACjB,IAAI,EAAE,kBAAkB;oCACxB,EAAE,EAAE,KAAK,CAAC,KAAK,CAAC,UAAU;oCAC1B,QAAQ,EAAE,KAAK,CAAC,KAAK,CAAC,QAAQ;iCAC/B,CAAC,CAAC;gCACH,MAAM;4BACR,CAAC;4BACD,KAAK,kBAAkB,CAAC,CAAC,CAAC;gCACxB,UAAU,CAAC,OAAO,CAAC;oCACjB,IAAI,EAAE,kBAAkB;oCACxB,EAAE,EAAE,KAAK,CAAC,KAAK,CAAC,UAAU;oCAC1B,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,KAAK;iCACzB,CAAC,CAAC;gCACH,MAAM;4BACR,CAAC;4BACD,KAAK,gBAAgB,CAAC,CAAC,CAAC;gCACtB,UAAU,CAAC,OAAO,CAAC;oCACjB,IAAI,EAAE,gBAAgB;oCACtB,EAAE,EAAE,KAAK,CAAC,KAAK,CAAC,UAAU;iCAC3B,CAAC,CAAC;gCACH,MAAM;4BACR,CAAC;4BACD,KAAK,WAAW,CAAC,CAAC,CAAC;gCACjB,UAAU,CAAC,OAAO,CAAC;oCACjB,IAAI,EAAE,WAAW;oCACjB,UAAU,EAAE,KAAK,CAAC,KAAK,CAAC,UAAU;oCAClC,QAAQ,EAAE,KAAK,CAAC,KAAK,CAAC,QAAQ;oCAC9B,KAAK,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC;iCACzC,CAAC,CAAC;gCACH,MAAM;4BACR,CAAC;4BACD,KAAK,MAAM,CAAC,CAAC,CAAC;gCACZ,UAAU,CAAC,OAAO,CAAC;oCACjB,IAAI,EAAE,MAAM;oCACZ,SAAS,EAAE,KAAK,CAAC,KAAK,CAAC,QAAQ;oCAC/B,IAAI,EAAE,KAAK,CAAC,KAAK,CAAC,MAAM;iCACzB,CAAC,CAAC;gCACH,MAAM;4BACR,CAAC;4BACD,KAAK,QAAQ,CAAC,CAAC,CAAC;gCACd,UAAU,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC;gCAC9D,MAAM;4BACR,CAAC;4BACD,KAAK,UAAU,CAAC,CAAC,CAAC;gCAChB,UAAU,CAAC,OAAO,CAAC;oCACjB,IAAI,EAAE,UAAU;oCAChB,EAAE,EAAE,KAAK,CAAC,KAAK,CAAC,EAAE;iCACnB,CAAC,CAAC;gCACH,MAAM;4BACR,CAAC;4BACD,KAAK,QAAQ,CAAC,CAAC,CAAC;gCACd,YAAY,GAAG,cAAc,CAAC,KAAK,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;gCACxD,MAAM,SAAS,GAAG,KAAK,CAAC,KAAK,CAAC,KAAK,IAAI,KAAK,CAAC,KAAK,CAAC,UAAU,CAAC;gCAC9D,KAAK,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC;gCAC3B,MAAM;4BACR,CAAC;4BACD,KAAK,aAAa,CAAC,CAAC,CAAC;gCACnB,YAAY,GAAG,cAAc,CAAC,KAAK,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;gCACxD,MAAM,SAAS,GAAG,KAAK,CAAC,KAAK,CAAC,KAAK,IAAI,KAAK,CAAC,KAAK,CAAC,UAAU,CAAC;gCAC9D,KAAK,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC;gCAC3B,MAAM;4BACR,CAAC;4BACD,KAAK,OAAO,CAAC,CAAC,CAAC;gCACb,UAAU,CAAC,OAAO,CAAC;oCACjB,IAAI,EAAE,OAAO;oCACb,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,KAAK;iCACzB,CAAC,CAAC;gCACH,MAAM;4BACR,CAAC;4BACD,KAAK,QAAQ,CAAC,CAAC,CAAC;gCACd,UAAU,CAAC,OAAO,CAAC;oCACjB,IAAI,EAAE,YAAY;oCAClB,EAAE,EAAE,KAAK,CAAC,KAAK,CAAC,EAAE;oCAClB,KAAK,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC;iCAC1C,CAAC,CAAC;gCACH,MAAM;4BACR,CAAC;4BACD,KAAK,aAAa,CAAC,CAAC,CAAC;gCACnB,6JAA6J;gCAC7J,iGAAiG;gCACjG,MAAM;4BACR,CAAC;wBACH,CAAC;oBACH,CAAC;yBAAM,CAAC;wBACN,UAAU,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC;oBAC5D,CAAC;gBACH,CAAC;gBACD,KAAK,CAAC,UAAU;oBACd,UAAU,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,YAAY,EAAE,KAAK,EAAE,CAAC,CAAC;gBAC9D,CAAC;aACF,CAAC,CACH;YACD,QAAQ,EAAE,EAAE,OAAO,EAAE,eAAe,EAAE;YACtC,OAAO,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE;SACxC,CAAC;IACJ,CAAC;CACF;AAED,MAAM,wBAAwB,GAE1B,KAAK,EAAE,EAAE,QAAQ,EAA0B,EAAE,EAAE;IACjD,MAAM,eAAe,GAAG,sBAAsB,CAAC,QAAQ,CAAC,CAAC;IACzD,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;IACnC,OAAO;QACL,eAAe;QACf,KAAK,EAAE,IAAI;QACX,QAAQ,EAAE,IAAI;KACf,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,0BAA0B,GAE5B,KAAK,EAAE,EAAE,QAAQ,EAA0B,EAAE,EAAE;IACjD,MAAM,eAAe,GAAG,sBAAsB,CAAC,QAAQ,CAAC,CAAC;IAEzD,IAAI,QAAQ,CAAC,IAAI,IAAI,IAAI,EAAE,CAAC;QAC1B,MAAM,IAAI,sBAAsB,CAAC,EAAE,CAAC,CAAC;IACvC,CAAC;IAED,OAAO;QACL,eAAe;QACf,KAAK,EAAE,QAAQ,CAAC,IAAI;aACjB,WAAW,CAAC,IAAI,iBAAiB,EAAE,CAAC;aACpC,WAAW,CAAC,IAAI,uBAAuB,EAAE,CAAC;aAC1C,WAAW,CACV,IAAI,eAAe,CAAuC;YACxD,KAAK,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,EAAE,UAAU;gBAClC,IAAI,CAAC;oBACH,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;oBAC9B,UAAU,CAAC,OAAO,CAAC;wBACjB,OAAO,EAAE,IAAI;wBACb,KAAK,EAAE,IAAI;wBACX,QAAQ,EAAE,IAAI;qBACf,CAAC,CAAC;gBACL,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,UAAU,CAAC,OAAO,CAAC;wBACjB,OAAO,EAAE,KAAK;wBACd,KAAK,EAAE,cAAc,CAAC,UAAU,CAAC,KAAK,CAAC;4BACrC,CAAC,CAAC,KAAK;4BACP,CAAC,CAAC,IAAI,cAAc,CAAC;gCACjB,IAAI,EAAE,IAAI;gCACV,KAAK,EAAE,KAAK;6BACb,CAAC;wBACN,QAAQ,EAAE,IAAI;qBACf,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;SACF,CAAC,CACH;KACJ,CAAC;AACJ,CAAC,CAAC"}
@@ -1,3 +1,4 @@
1
+ import type { AttachmentService } from "./attachment-service.js";
1
2
  import type { ClarkChatModelId } from "./clark-chat-settings.js";
2
3
  import type { LanguageModelV3, ProviderV3 } from "@ai-sdk/provider";
3
4
  import type { FetchFunction } from "@ai-sdk/provider-utils";
@@ -33,6 +34,12 @@ export interface ClarkProviderSettings {
33
34
  */
34
35
  upstreamProvider?: "vertex" | "bedrock" | "unified";
35
36
  path?: string;
37
+ /**
38
+ * Service for resolving attachment leases and caching signed URLs.
39
+ * If provided, the provider will resolve attachment leases via WebSocket RPC
40
+ * before sending requests to the LLM.
41
+ */
42
+ attachmentService?: AttachmentService;
36
43
  }
37
44
  /**
38
45
  Create a Clark AI provider instance.
@@ -42,4 +49,6 @@ export declare function createClark(options?: ClarkProviderSettings): ClarkProvi
42
49
  Default Clark provider instance.
43
50
  */
44
51
  export declare const clark: ClarkProvider;
52
+ export type { AttachmentService } from "./attachment-service.js";
53
+ export { createAttachmentService } from "./attachment-service.js";
45
54
  //# sourceMappingURL=clark-provider.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"clark-provider.d.ts","sourceRoot":"","sources":["../../../src/ai-service/clark-provider/clark-provider.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AACjE,OAAO,KAAK,EAAE,eAAe,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AACpE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAE5D,MAAM,WAAW,aAAc,SAAQ,UAAU;IAC/C,CAAC,OAAO,EAAE,gBAAgB,GAAG,eAAe,CAAC;IAE7C;;IAEA;IACA,aAAa,CAAC,OAAO,EAAE,gBAAgB,GAAG,eAAe,CAAC;IAE1D;;IAEA;IACA,IAAI,CAAC,OAAO,EAAE,gBAAgB,GAAG,eAAe,CAAC;CAClD;AAED,MAAM,WAAW,qBAAqB;IACpC;;;OAGG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB;;SAEK;IACL,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAEjC;;;QAGI;IACJ,KAAK,CAAC,EAAE,aAAa,CAAC;IAEtB;;;OAGG;IACH,gBAAgB,CAAC,EAAE,QAAQ,GAAG,SAAS,GAAG,SAAS,CAAC;IAEpD,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED;;GAEG;AACH,wBAAgB,WAAW,CACzB,OAAO,GAAE,qBAER,GACA,aAAa,CAmDf;AAED;;GAEG;AACH,eAAO,MAAM,KAAK,eAAgB,CAAC"}
1
+ {"version":3,"file":"clark-provider.d.ts","sourceRoot":"","sources":["../../../src/ai-service/clark-provider/clark-provider.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AACjE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AACjE,OAAO,KAAK,EAAE,eAAe,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AACpE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAE5D,MAAM,WAAW,aAAc,SAAQ,UAAU;IAC/C,CAAC,OAAO,EAAE,gBAAgB,GAAG,eAAe,CAAC;IAE7C;;IAEA;IACA,aAAa,CAAC,OAAO,EAAE,gBAAgB,GAAG,eAAe,CAAC;IAE1D;;IAEA;IACA,IAAI,CAAC,OAAO,EAAE,gBAAgB,GAAG,eAAe,CAAC;CAClD;AAED,MAAM,WAAW,qBAAqB;IACpC;;;OAGG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB;;SAEK;IACL,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAEjC;;;QAGI;IACJ,KAAK,CAAC,EAAE,aAAa,CAAC;IAEtB;;;OAGG;IACH,gBAAgB,CAAC,EAAE,QAAQ,GAAG,SAAS,GAAG,SAAS,CAAC;IAEpD,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd;;;;OAIG;IACH,iBAAiB,CAAC,EAAE,iBAAiB,CAAC;CACvC;AAED;;GAEG;AACH,wBAAgB,WAAW,CACzB,OAAO,GAAE,qBAER,GACA,aAAa,CAoDf;AAED;;GAEG;AACH,eAAO,MAAM,KAAK,eAAgB,CAAC;AAGnC,YAAY,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AACjE,OAAO,EAAE,uBAAuB,EAAE,MAAM,yBAAyB,CAAC"}
@@ -21,6 +21,7 @@ export function createClark(options = {
21
21
  baseURL: `${baseURL}/${options.upstreamProvider}`,
22
22
  headers: getHeaders,
23
23
  fetch: options.fetch,
24
+ attachmentService: options.attachmentService,
24
25
  });
25
26
  const provider = function (modelId) {
26
27
  if (new.target) {
@@ -47,4 +48,5 @@ export function createClark(options = {
47
48
  Default Clark provider instance.
48
49
  */
49
50
  export const clark = createClark();
51
+ export { createAttachmentService } from "./attachment-service.js";
50
52
  //# sourceMappingURL=clark-provider.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"clark-provider.js","sourceRoot":"","sources":["../../../src/ai-service/clark-provider/clark-provider.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,EAAE,sBAAsB,EAAE,MAAM,2BAA2B,CAAC;AA8CnE;;GAEG;AACH,MAAM,UAAU,WAAW,CACzB,UAAiC;IAC/B,gBAAgB,EAAE,SAAS;CAC5B;IAED,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;IAC1B,IAAI,OAAO,GACT,oBAAoB,CAAC,OAAO,CAAC,OAAO,CAAC;QACrC,iDAAiD,CAAC;IAEpD,IAAI,IAAI,EAAE,CAAC;QACT,MAAM,SAAS,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC;QAC3D,OAAO,GAAG,GAAG,OAAO,GAAG,oBAAoB,CAAC,SAAS,CAAC,EAAE,CAAC;IAC3D,CAAC;IAED,MAAM,UAAU,GAAG,GAAG,EAAE,CAAC,CAAC;QACxB,GAAG,OAAO,CAAC,OAAO;KACnB,CAAC,CAAC;IAEH,MAAM,eAAe,GAAG,CAAC,OAAyB,EAAE,EAAE,CACpD,IAAI,sBAAsB,CAAC,OAAO,EAAE;QAClC,QAAQ,EAAE,YAAY;QACtB,OAAO,EAAE,GAAG,OAAO,IAAI,OAAO,CAAC,gBAAgB,EAAE;QACjD,OAAO,EAAE,UAAU;QACnB,KAAK,EAAE,OAAO,CAAC,KAAK;KACrB,CAAC,CAAC;IAEL,MAAM,QAAQ,GAAG,UAAU,OAAyB;QAClD,IAAI,GAAG,CAAC,MAAM,EAAE,CAAC;YACf,MAAM,IAAI,KAAK,CACb,iEAAiE,CAClE,CAAC;QACJ,CAAC;QAED,OAAO,eAAe,CAAC,OAAO,CAAC,CAAC;IAClC,CAAC,CAAC;IAEF,QAAQ,CAAC,aAAa,GAAG,eAAe,CAAC;IACzC,QAAQ,CAAC,IAAI,GAAG,eAAe,CAAC;IAChC,QAAQ,CAAC,oBAAoB,GAAG,IAAa,CAAC;IAE9C,MAAM,cAAc,GAAG,GAAG,EAAE;QAC1B,MAAM,IAAI,KAAK,CAAC,sCAAsC,CAAC,CAAC;IAC1D,CAAC,CAAC;IAEF,QAAQ,CAAC,SAAS,GAAG,cAAc,CAAC;IACpC,QAAQ,CAAC,cAAc,GAAG,cAAc,CAAC;IACzC,QAAQ,CAAC,kBAAkB,GAAG,cAAc,CAAC;IAE7C,MAAM,UAAU,GAAG,GAAG,EAAE;QACtB,MAAM,IAAI,KAAK,CAAC,6CAA6C,CAAC,CAAC;IACjE,CAAC,CAAC;IACF,QAAQ,CAAC,UAAU,GAAG,UAAU,CAAC;IAEjC,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,MAAM,KAAK,GAAG,WAAW,EAAE,CAAC"}
1
+ {"version":3,"file":"clark-provider.js","sourceRoot":"","sources":["../../../src/ai-service/clark-provider/clark-provider.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,EAAE,sBAAsB,EAAE,MAAM,2BAA2B,CAAC;AAsDnE;;GAEG;AACH,MAAM,UAAU,WAAW,CACzB,UAAiC;IAC/B,gBAAgB,EAAE,SAAS;CAC5B;IAED,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;IAC1B,IAAI,OAAO,GACT,oBAAoB,CAAC,OAAO,CAAC,OAAO,CAAC;QACrC,iDAAiD,CAAC;IAEpD,IAAI,IAAI,EAAE,CAAC;QACT,MAAM,SAAS,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC;QAC3D,OAAO,GAAG,GAAG,OAAO,GAAG,oBAAoB,CAAC,SAAS,CAAC,EAAE,CAAC;IAC3D,CAAC;IAED,MAAM,UAAU,GAAG,GAAG,EAAE,CAAC,CAAC;QACxB,GAAG,OAAO,CAAC,OAAO;KACnB,CAAC,CAAC;IAEH,MAAM,eAAe,GAAG,CAAC,OAAyB,EAAE,EAAE,CACpD,IAAI,sBAAsB,CAAC,OAAO,EAAE;QAClC,QAAQ,EAAE,YAAY;QACtB,OAAO,EAAE,GAAG,OAAO,IAAI,OAAO,CAAC,gBAAgB,EAAE;QACjD,OAAO,EAAE,UAAU;QACnB,KAAK,EAAE,OAAO,CAAC,KAAK;QACpB,iBAAiB,EAAE,OAAO,CAAC,iBAAiB;KAC7C,CAAC,CAAC;IAEL,MAAM,QAAQ,GAAG,UAAU,OAAyB;QAClD,IAAI,GAAG,CAAC,MAAM,EAAE,CAAC;YACf,MAAM,IAAI,KAAK,CACb,iEAAiE,CAClE,CAAC;QACJ,CAAC;QAED,OAAO,eAAe,CAAC,OAAO,CAAC,CAAC;IAClC,CAAC,CAAC;IAEF,QAAQ,CAAC,aAAa,GAAG,eAAe,CAAC;IACzC,QAAQ,CAAC,IAAI,GAAG,eAAe,CAAC;IAChC,QAAQ,CAAC,oBAAoB,GAAG,IAAa,CAAC;IAE9C,MAAM,cAAc,GAAG,GAAG,EAAE;QAC1B,MAAM,IAAI,KAAK,CAAC,sCAAsC,CAAC,CAAC;IAC1D,CAAC,CAAC;IAEF,QAAQ,CAAC,SAAS,GAAG,cAAc,CAAC;IACpC,QAAQ,CAAC,cAAc,GAAG,cAAc,CAAC;IACzC,QAAQ,CAAC,kBAAkB,GAAG,cAAc,CAAC;IAE7C,MAAM,UAAU,GAAG,GAAG,EAAE;QACtB,MAAM,IAAI,KAAK,CAAC,6CAA6C,CAAC,CAAC;IACjE,CAAC,CAAC;IACF,QAAQ,CAAC,UAAU,GAAG,UAAU,CAAC;IAEjC,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,MAAM,KAAK,GAAG,WAAW,EAAE,CAAC;AAInC,OAAO,EAAE,uBAAuB,EAAE,MAAM,yBAAyB,CAAC"}
@@ -4,12 +4,13 @@ import type { Logger } from "../util/logger.js";
4
4
  * Reads all files from .superblocks/context/{userId}/ and uploads them
5
5
  * Dynamically detects MIME types for any file type
6
6
  */
7
- export declare function uploadContextToBucketeer({ applicationId, commitId, branchName, appRootDirPath, userId, superblocksBaseUrl, logger, jwt, }: {
7
+ export declare function uploadContextToBucketeer({ applicationId, commitId, branchName, appRootDirPath, userId, useServerUpload, superblocksBaseUrl, logger, jwt, }: {
8
8
  applicationId: string;
9
9
  commitId: string;
10
10
  branchName: string;
11
11
  appRootDirPath: string;
12
12
  userId: string;
13
+ useServerUpload?: boolean;
13
14
  superblocksBaseUrl: string;
14
15
  logger: Logger;
15
16
  jwt: string;
@@ -1 +1 @@
1
- {"version":3,"file":"context-upload.d.ts","sourceRoot":"","sources":["../../src/ai-service/context-upload.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAEhD;;;;GAIG;AACH,wBAAsB,wBAAwB,CAAC,EAC7C,aAAa,EACb,QAAQ,EACR,UAAU,EACV,cAAc,EACd,MAAM,EACN,kBAAkB,EAClB,MAAM,EACN,GAAG,GACJ,EAAE;IACD,aAAa,EAAE,MAAM,CAAC;IACtB,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,cAAc,EAAE,MAAM,CAAC;IACvB,MAAM,EAAE,MAAM,CAAC;IACf,kBAAkB,EAAE,MAAM,CAAC;IAC3B,MAAM,EAAE,MAAM,CAAC;IACf,GAAG,EAAE,MAAM,CAAC;CACb,GAAG,OAAO,CAAC,IAAI,CAAC,CAyHhB"}
1
+ {"version":3,"file":"context-upload.d.ts","sourceRoot":"","sources":["../../src/ai-service/context-upload.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAEhD;;;;GAIG;AACH,wBAAsB,wBAAwB,CAAC,EAC7C,aAAa,EACb,QAAQ,EACR,UAAU,EACV,cAAc,EACd,MAAM,EACN,eAAuB,EACvB,kBAAkB,EAClB,MAAM,EACN,GAAG,GACJ,EAAE;IACD,aAAa,EAAE,MAAM,CAAC;IACtB,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,cAAc,EAAE,MAAM,CAAC;IACvB,MAAM,EAAE,MAAM,CAAC;IACf,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,kBAAkB,EAAE,MAAM,CAAC;IAC3B,MAAM,EAAE,MAAM,CAAC;IACf,GAAG,EAAE,MAAM,CAAC;CACb,GAAG,OAAO,CAAC,IAAI,CAAC,CAuKhB"}