veryfront 0.1.149 → 0.1.151

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 (529) hide show
  1. package/esm/cli/commands/dev/command.js +3 -3
  2. package/esm/cli/commands/workflow/command-help.js +1 -1
  3. package/esm/cli/commands/workflow/command.js +2 -2
  4. package/esm/cli/shared/config.d.ts.map +1 -1
  5. package/esm/cli/shared/config.js +1 -3
  6. package/esm/deno.d.ts +5 -11
  7. package/esm/deno.js +16 -16
  8. package/esm/src/agent/ag-ui-handler.d.ts.map +1 -1
  9. package/esm/src/agent/ag-ui-handler.js +6 -0
  10. package/esm/src/agent/chat-handler.js +1 -1
  11. package/esm/src/agent/composition/composition.d.ts +1 -1
  12. package/esm/src/agent/composition/composition.d.ts.map +1 -1
  13. package/esm/src/agent/composition/composition.js +2 -2
  14. package/esm/src/agent/{ai-defaults.d.ts → defaults.d.ts} +1 -1
  15. package/esm/src/agent/defaults.d.ts.map +1 -0
  16. package/esm/src/agent/factory.js +1 -1
  17. package/esm/src/agent/react/index.d.ts +1 -1
  18. package/esm/src/agent/react/index.d.ts.map +1 -1
  19. package/esm/src/agent/react/use-chat/browser-inference/browser-engine.d.ts +5 -6
  20. package/esm/src/agent/react/use-chat/browser-inference/browser-engine.d.ts.map +1 -1
  21. package/esm/src/agent/react/use-chat/browser-inference/browser-engine.js +1 -1
  22. package/esm/src/agent/react/use-chat/index.d.ts +2 -1
  23. package/esm/src/agent/react/use-chat/index.d.ts.map +1 -1
  24. package/esm/src/agent/react/use-chat/stream-protocol.d.ts +2 -0
  25. package/esm/src/agent/react/use-chat/stream-protocol.d.ts.map +1 -0
  26. package/esm/src/agent/react/use-chat/stream-protocol.js +1 -0
  27. package/esm/src/agent/react/use-chat/streaming/parts-builder.d.ts +2 -2
  28. package/esm/src/agent/react/use-chat/streaming/parts-builder.d.ts.map +1 -1
  29. package/esm/src/agent/react/use-chat/streaming/types.d.ts +4 -4
  30. package/esm/src/agent/react/use-chat/streaming/types.d.ts.map +1 -1
  31. package/esm/src/agent/react/use-chat/types.d.ts +7 -55
  32. package/esm/src/agent/react/use-chat/types.d.ts.map +1 -1
  33. package/esm/src/agent/react/use-chat/use-chat.d.ts +4 -4
  34. package/esm/src/agent/react/use-chat/use-chat.d.ts.map +1 -1
  35. package/esm/src/agent/react/use-chat/use-chat.js +2 -2
  36. package/esm/src/agent/react/use-chat/utils.d.ts +2 -2
  37. package/esm/src/agent/react/use-chat/utils.d.ts.map +1 -1
  38. package/esm/src/agent/runtime/{ai-stream-handler.d.ts → chat-stream-handler.d.ts} +13 -13
  39. package/esm/src/agent/runtime/chat-stream-handler.d.ts.map +1 -0
  40. package/esm/src/agent/runtime/{ai-stream-handler.js → chat-stream-handler.js} +91 -89
  41. package/esm/src/agent/runtime/constants.js +1 -1
  42. package/esm/src/agent/runtime/index.d.ts +7 -5
  43. package/esm/src/agent/runtime/index.d.ts.map +1 -1
  44. package/esm/src/agent/runtime/index.js +67 -30
  45. package/esm/src/agent/runtime/model-message-converter.d.ts +7 -7
  46. package/esm/src/agent/runtime/model-message-converter.d.ts.map +1 -1
  47. package/esm/src/agent/runtime/model-message-converter.js +8 -6
  48. package/esm/src/agent/runtime/model-runtime-types.d.ts +44 -0
  49. package/esm/src/agent/runtime/model-runtime-types.d.ts.map +1 -0
  50. package/esm/src/agent/runtime/model-runtime-types.js +8 -0
  51. package/esm/src/agent/runtime/model-tool-converter.d.ts +9 -9
  52. package/esm/src/agent/runtime/model-tool-converter.d.ts.map +1 -1
  53. package/esm/src/agent/runtime/model-tool-converter.js +10 -22
  54. package/esm/src/agent/runtime/provider-native-tools.d.ts +3 -0
  55. package/esm/src/agent/runtime/provider-native-tools.d.ts.map +1 -0
  56. package/esm/src/agent/runtime/provider-native-tools.js +56 -0
  57. package/esm/src/agent/runtime/repair-tool-call.d.ts +2 -2
  58. package/esm/src/agent/runtime/repair-tool-call.d.ts.map +1 -1
  59. package/esm/src/agent/runtime/repair-tool-call.js +3 -3
  60. package/esm/src/agent/runtime/runtime-tool-builder.d.ts +48 -0
  61. package/esm/src/agent/runtime/runtime-tool-builder.d.ts.map +1 -0
  62. package/esm/src/agent/runtime/runtime-tool-builder.js +28 -0
  63. package/esm/src/agent/runtime/runtime-tool-errors.d.ts +16 -0
  64. package/esm/src/agent/runtime/runtime-tool-errors.d.ts.map +1 -0
  65. package/esm/src/agent/runtime/runtime-tool-errors.js +28 -0
  66. package/esm/src/agent/runtime/runtime-tool-types.d.ts +104 -0
  67. package/esm/src/agent/runtime/runtime-tool-types.d.ts.map +1 -0
  68. package/esm/src/agent/runtime/runtime-tool-types.js +7 -0
  69. package/esm/src/chat/index.d.ts +9 -9
  70. package/esm/src/chat/index.d.ts.map +1 -1
  71. package/esm/src/chat/index.js +7 -7
  72. package/esm/src/chat/protocol.d.ts +156 -0
  73. package/esm/src/chat/protocol.d.ts.map +1 -0
  74. package/esm/src/chat/protocol.js +7 -0
  75. package/esm/src/discovery/import-rewriter.d.ts.map +1 -1
  76. package/esm/src/discovery/import-rewriter.js +1 -14
  77. package/esm/src/discovery/index.d.ts +1 -1
  78. package/esm/src/discovery/index.d.ts.map +1 -1
  79. package/esm/src/discovery/index.js +2 -2
  80. package/esm/src/discovery/provider-config-validator.d.ts +14 -0
  81. package/esm/src/discovery/provider-config-validator.d.ts.map +1 -0
  82. package/esm/src/discovery/{config-validator.js → provider-config-validator.js} +4 -4
  83. package/esm/src/discovery/transpiler.d.ts.map +1 -1
  84. package/esm/src/discovery/transpiler.js +0 -3
  85. package/esm/src/embedding/embedding.d.ts.map +1 -1
  86. package/esm/src/embedding/embedding.js +1 -1
  87. package/esm/src/embedding/index.d.ts +3 -3
  88. package/esm/src/embedding/index.d.ts.map +1 -1
  89. package/esm/src/embedding/index.js +3 -3
  90. package/esm/src/embedding/rag-store.d.ts.map +1 -1
  91. package/esm/src/embedding/rag-store.js +1 -1
  92. package/esm/src/embedding/resolve.d.ts +5 -7
  93. package/esm/src/embedding/resolve.d.ts.map +1 -1
  94. package/esm/src/embedding/resolve.js +6 -9
  95. package/esm/src/embedding/vector-store.d.ts.map +1 -1
  96. package/esm/src/embedding/vector-store.js +1 -1
  97. package/esm/src/embedding/veryfront-cloud/provider.d.ts +2 -2
  98. package/esm/src/embedding/veryfront-cloud/provider.d.ts.map +1 -1
  99. package/esm/src/embedding/veryfront-cloud/provider.js +5 -6
  100. package/esm/src/internal-agents/ag-ui-sse.d.ts.map +1 -1
  101. package/esm/src/internal-agents/ag-ui-sse.js +12 -0
  102. package/esm/src/markdown/index.d.ts +1 -1
  103. package/esm/src/markdown/index.d.ts.map +1 -1
  104. package/esm/src/markdown/index.js +1 -1
  105. package/esm/src/modules/import-map/default-import-map.js +2 -2
  106. package/esm/src/prompt/registry.d.ts +1 -1
  107. package/esm/src/prompt/registry.d.ts.map +1 -1
  108. package/esm/src/prompt/registry.js +2 -2
  109. package/esm/src/provider/index.d.ts +7 -8
  110. package/esm/src/provider/index.d.ts.map +1 -1
  111. package/esm/src/provider/index.js +6 -8
  112. package/esm/src/provider/local/embedding-runtime-adapter.d.ts +19 -0
  113. package/esm/src/provider/local/embedding-runtime-adapter.d.ts.map +1 -0
  114. package/esm/src/provider/local/{local-embedding-adapter.js → embedding-runtime-adapter.js} +5 -5
  115. package/esm/src/provider/local/model-runtime-adapter.d.ts +18 -0
  116. package/esm/src/provider/local/model-runtime-adapter.d.ts.map +1 -0
  117. package/esm/src/provider/local/{ai-sdk-adapter.js → model-runtime-adapter.js} +10 -12
  118. package/esm/src/provider/model-registry.d.ts +11 -12
  119. package/esm/src/provider/model-registry.d.ts.map +1 -1
  120. package/esm/src/provider/model-registry.js +17 -20
  121. package/esm/src/provider/runtime-inspection.d.ts +6 -0
  122. package/esm/src/provider/runtime-inspection.d.ts.map +1 -0
  123. package/esm/src/provider/runtime-inspection.js +19 -0
  124. package/esm/src/provider/runtime-loader.d.ts +27 -0
  125. package/esm/src/provider/runtime-loader.d.ts.map +1 -0
  126. package/esm/src/provider/runtime-loader.js +1307 -0
  127. package/esm/src/provider/types.d.ts +35 -0
  128. package/esm/src/provider/types.d.ts.map +1 -0
  129. package/esm/src/provider/types.js +1 -0
  130. package/esm/src/provider/veryfront-cloud/provider.d.ts +2 -2
  131. package/esm/src/provider/veryfront-cloud/provider.d.ts.map +1 -1
  132. package/esm/src/provider/veryfront-cloud/provider.js +7 -9
  133. package/esm/src/provider/veryfront-cloud/shared.d.ts +1 -1
  134. package/esm/src/provider/veryfront-cloud/shared.js +1 -1
  135. package/esm/src/react/components/chat/agent-card.d.ts.map +1 -0
  136. package/esm/src/react/components/chat/chat/components/animations.d.ts.map +1 -0
  137. package/esm/src/react/components/chat/chat/components/attachment-pill.d.ts.map +1 -0
  138. package/esm/src/react/components/chat/chat/components/branch-picker.d.ts.map +1 -0
  139. package/esm/src/react/components/chat/chat/components/code-block.d.ts.map +1 -0
  140. package/esm/src/react/components/chat/chat/components/drop-zone.d.ts.map +1 -0
  141. package/esm/src/react/components/chat/chat/components/empty-state.d.ts.map +1 -0
  142. package/esm/src/react/components/chat/chat/components/inference-badge.d.ts.map +1 -0
  143. package/esm/src/react/components/{ai → chat}/chat/components/inference-badge.js +1 -1
  144. package/esm/src/react/components/chat/chat/components/inline-citation.d.ts.map +1 -0
  145. package/esm/src/react/components/chat/chat/components/message-actions.d.ts.map +1 -0
  146. package/esm/src/react/components/chat/chat/components/message-edit-form.d.ts.map +1 -0
  147. package/esm/src/react/components/chat/chat/components/message-feedback.d.ts.map +1 -0
  148. package/esm/src/react/components/chat/chat/components/quick-actions.d.ts.map +1 -0
  149. package/esm/src/react/components/chat/chat/components/reasoning.d.ts.map +1 -0
  150. package/esm/src/react/components/chat/chat/components/sidebar.d.ts.map +1 -0
  151. package/esm/src/react/components/{ai → chat}/chat/components/skill-badge.d.ts +3 -3
  152. package/esm/src/react/components/chat/chat/components/skill-badge.d.ts.map +1 -0
  153. package/esm/src/react/components/{ai → chat}/chat/components/skill-badge.js +1 -1
  154. package/esm/src/react/components/chat/chat/components/sources.d.ts.map +1 -0
  155. package/esm/src/react/components/chat/chat/components/step-indicator.d.ts.map +1 -0
  156. package/esm/src/react/components/chat/chat/components/tab-switcher.d.ts.map +1 -0
  157. package/esm/src/react/components/{ai → chat}/chat/components/tool-ui.d.ts +3 -3
  158. package/esm/src/react/components/chat/chat/components/tool-ui.d.ts.map +1 -0
  159. package/esm/src/react/components/{ai → chat}/chat/components/tool-ui.js +1 -1
  160. package/esm/src/react/components/chat/chat/components/upgrade-cta.d.ts.map +1 -0
  161. package/esm/src/react/components/chat/chat/components/uploads-panel.d.ts.map +1 -0
  162. package/esm/src/react/components/{ai → chat}/chat/composition/api.d.ts +1 -1
  163. package/esm/src/react/components/chat/chat/composition/api.d.ts.map +1 -0
  164. package/esm/src/react/components/{ai → chat}/chat/composition/api.js +1 -1
  165. package/esm/src/react/components/{ai → chat}/chat/composition/chat-composer.d.ts +3 -3
  166. package/esm/src/react/components/chat/chat/composition/chat-composer.d.ts.map +1 -0
  167. package/esm/src/react/components/{ai → chat}/chat/composition/chat-composer.js +1 -1
  168. package/esm/src/react/components/{ai → chat}/chat/composition/chat-empty.d.ts +1 -1
  169. package/esm/src/react/components/chat/chat/composition/chat-empty.d.ts.map +1 -0
  170. package/esm/src/react/components/{ai → chat}/chat/composition/chat-empty.js +1 -1
  171. package/esm/src/react/components/{ai → chat}/chat/composition/chat-if.d.ts +1 -1
  172. package/esm/src/react/components/chat/chat/composition/chat-if.d.ts.map +1 -0
  173. package/esm/src/react/components/{ai → chat}/chat/composition/chat-if.js +1 -1
  174. package/esm/src/react/components/{ai → chat}/chat/composition/chat-message-list.d.ts +5 -5
  175. package/esm/src/react/components/chat/chat/composition/chat-message-list.d.ts.map +1 -0
  176. package/esm/src/react/components/{ai → chat}/chat/composition/chat-message-list.js +2 -2
  177. package/esm/src/react/components/{ai → chat}/chat/composition/chat-root.d.ts +3 -3
  178. package/esm/src/react/components/chat/chat/composition/chat-root.d.ts.map +1 -0
  179. package/esm/src/react/components/{ai → chat}/chat/composition/chat-root.js +1 -1
  180. package/esm/src/react/components/{ai → chat}/chat/composition/error-banner.d.ts +1 -1
  181. package/esm/src/react/components/chat/chat/composition/error-banner.d.ts.map +1 -0
  182. package/esm/src/react/components/{ai → chat}/chat/composition/error-banner.js +1 -1
  183. package/esm/src/react/components/{ai → chat}/chat/composition/message.d.ts +4 -4
  184. package/esm/src/react/components/chat/chat/composition/message.d.ts.map +1 -0
  185. package/esm/src/react/components/{ai → chat}/chat/composition/message.js +1 -1
  186. package/esm/src/react/components/{ai → chat}/chat/composition/model-avatar.d.ts +1 -1
  187. package/esm/src/react/components/chat/chat/composition/model-avatar.d.ts.map +1 -0
  188. package/esm/src/react/components/{ai → chat}/chat/composition/model-avatar.js +1 -1
  189. package/esm/src/react/components/{ai → chat}/chat/contexts/chat-context.d.ts +3 -3
  190. package/esm/src/react/components/chat/chat/contexts/chat-context.d.ts.map +1 -0
  191. package/esm/src/react/components/{ai → chat}/chat/contexts/chat-context.js +1 -1
  192. package/esm/src/react/components/{ai → chat}/chat/contexts/composer-context.d.ts +1 -1
  193. package/esm/src/react/components/chat/chat/contexts/composer-context.d.ts.map +1 -0
  194. package/esm/src/react/components/{ai → chat}/chat/contexts/composer-context.js +1 -1
  195. package/esm/src/react/components/{ai → chat}/chat/contexts/index.d.ts +1 -1
  196. package/esm/src/react/components/chat/chat/contexts/index.d.ts.map +1 -0
  197. package/esm/src/react/components/{ai → chat}/chat/contexts/index.js +1 -1
  198. package/esm/src/react/components/{ai → chat}/chat/contexts/message-context.d.ts +3 -3
  199. package/esm/src/react/components/chat/chat/contexts/message-context.d.ts.map +1 -0
  200. package/esm/src/react/components/{ai → chat}/chat/contexts/message-context.js +1 -1
  201. package/esm/src/react/components/{ai → chat}/chat/contexts/thread-list-context.d.ts +1 -1
  202. package/esm/src/react/components/chat/chat/contexts/thread-list-context.d.ts.map +1 -0
  203. package/esm/src/react/components/{ai → chat}/chat/contexts/thread-list-context.js +1 -1
  204. package/esm/src/react/components/{ai → chat}/chat/hooks/use-threads.d.ts +2 -2
  205. package/esm/src/react/components/chat/chat/hooks/use-threads.d.ts.map +1 -0
  206. package/esm/src/react/components/{ai → chat}/chat/index.d.ts +5 -5
  207. package/esm/src/react/components/chat/chat/index.d.ts.map +1 -0
  208. package/esm/src/react/components/{ai → chat}/chat/index.js +1 -1
  209. package/esm/src/react/components/chat/chat/utils/export.d.ts +10 -0
  210. package/esm/src/react/components/chat/chat/utils/export.d.ts.map +1 -0
  211. package/esm/src/react/components/{ai → chat}/chat/utils/export.js +1 -1
  212. package/esm/src/react/components/{ai → chat}/chat/utils/message-parts.d.ts +10 -10
  213. package/esm/src/react/components/chat/chat/utils/message-parts.d.ts.map +1 -0
  214. package/esm/src/react/components/{ai → chat}/chat/utils/message-parts.js +2 -2
  215. package/esm/src/react/components/chat/chat-with-sidebar.d.ts.map +1 -0
  216. package/esm/src/react/components/{ai → chat}/chat.d.ts +1 -1
  217. package/esm/src/react/components/chat/chat.d.ts.map +1 -0
  218. package/esm/src/react/components/{ai → chat}/chat.js +1 -1
  219. package/esm/src/react/components/chat/csp-nonce.d.ts.map +1 -0
  220. package/esm/src/react/components/{ai → chat}/error-boundary.d.ts +6 -6
  221. package/esm/src/react/components/chat/error-boundary.d.ts.map +1 -0
  222. package/esm/src/react/components/{ai → chat}/error-boundary.js +5 -5
  223. package/esm/src/react/components/{ai → chat}/icons/index.d.ts +1 -1
  224. package/esm/src/react/components/chat/icons/index.d.ts.map +1 -0
  225. package/esm/src/react/components/{ai → chat}/icons/index.js +1 -1
  226. package/esm/src/react/components/chat/markdown.d.ts.map +1 -0
  227. package/esm/src/react/components/{ai → chat}/message.d.ts +8 -8
  228. package/esm/src/react/components/chat/message.d.ts.map +1 -0
  229. package/esm/src/react/components/chat/model-selector.d.ts.map +1 -0
  230. package/esm/src/react/components/chat/theme.d.ts.map +1 -0
  231. package/esm/src/react/primitives/message-list.d.ts +2 -2
  232. package/esm/src/react/primitives/message-list.d.ts.map +1 -1
  233. package/esm/src/react/primitives/tool-primitives.d.ts +3 -3
  234. package/esm/src/react/primitives/tool-primitives.d.ts.map +1 -1
  235. package/esm/src/{ai/registry-manager.d.ts → registry/project-scoped-registry-manager.d.ts} +5 -4
  236. package/esm/src/registry/project-scoped-registry-manager.d.ts.map +1 -0
  237. package/esm/src/{ai/registry-manager.js → registry/project-scoped-registry-manager.js} +5 -4
  238. package/esm/src/{ai/registry-facade.d.ts → registry/scoped-registry-facade.d.ts} +2 -2
  239. package/esm/src/registry/scoped-registry-facade.d.ts.map +1 -0
  240. package/esm/src/rendering/script-page-handling.d.ts.map +1 -1
  241. package/esm/src/rendering/script-page-handling.js +0 -2
  242. package/esm/src/resource/registry.d.ts +1 -1
  243. package/esm/src/resource/registry.d.ts.map +1 -1
  244. package/esm/src/resource/registry.js +2 -2
  245. package/esm/src/routing/api/module-loader/loader.js +3 -19
  246. package/esm/src/runtime/runtime-bridge.d.ts +82 -0
  247. package/esm/src/runtime/runtime-bridge.d.ts.map +1 -0
  248. package/esm/src/runtime/runtime-bridge.js +367 -0
  249. package/esm/src/server/dev-server/file-watch-setup.d.ts +4 -4
  250. package/esm/src/server/dev-server/file-watch-setup.d.ts.map +1 -1
  251. package/esm/src/server/dev-server/file-watch-setup.js +14 -14
  252. package/esm/src/server/dev-server/server.d.ts +2 -2
  253. package/esm/src/server/dev-server/server.d.ts.map +1 -1
  254. package/esm/src/server/dev-server/server.js +20 -18
  255. package/esm/src/server/dev-ui/manifest.d.ts +1 -1
  256. package/esm/src/server/dev-ui/manifest.js +2 -2
  257. package/esm/src/server/handlers/dev/framework-candidates.generated.d.ts.map +1 -1
  258. package/esm/src/server/handlers/dev/framework-candidates.generated.js +58 -61
  259. package/esm/src/server/handlers/request/api/api-handler-wrapper.js +1 -1
  260. package/esm/src/server/handlers/request/api/project-discovery.d.ts +1 -1
  261. package/esm/src/server/handlers/request/api/project-discovery.d.ts.map +1 -1
  262. package/esm/src/server/handlers/request/api/project-discovery.js +12 -10
  263. package/esm/src/server/production-server.js +2 -2
  264. package/esm/src/server/services/rsc/endpoints/rsc-bundles.generated.d.ts.map +1 -1
  265. package/esm/src/server/services/rsc/endpoints/rsc-bundles.generated.js +2 -2
  266. package/esm/src/skill/registry.d.ts +1 -1
  267. package/esm/src/skill/registry.d.ts.map +1 -1
  268. package/esm/src/skill/registry.js +2 -2
  269. package/esm/src/tool/registry.d.ts +1 -1
  270. package/esm/src/tool/registry.d.ts.map +1 -1
  271. package/esm/src/tool/registry.js +2 -2
  272. package/esm/src/transforms/npm-import-rewrites.d.ts +1 -1
  273. package/esm/src/transforms/npm-import-rewrites.d.ts.map +1 -1
  274. package/esm/src/transforms/npm-import-rewrites.js +5 -13
  275. package/esm/src/utils/constants/server.d.ts +4 -4
  276. package/esm/src/utils/constants/server.d.ts.map +1 -1
  277. package/esm/src/utils/constants/server.js +4 -4
  278. package/esm/src/utils/id.js +1 -1
  279. package/esm/src/utils/version-constant.d.ts +1 -1
  280. package/esm/src/utils/version-constant.js +1 -1
  281. package/esm/src/workflow/discovery/workflow-discovery.d.ts +3 -3
  282. package/esm/src/workflow/discovery/workflow-discovery.d.ts.map +1 -1
  283. package/esm/src/workflow/discovery/workflow-discovery.js +3 -3
  284. package/esm/src/workflow/registry.d.ts +1 -1
  285. package/esm/src/workflow/registry.d.ts.map +1 -1
  286. package/esm/src/workflow/registry.js +2 -2
  287. package/package.json +4 -5
  288. package/src/cli/commands/dev/command.ts +3 -3
  289. package/src/cli/commands/workflow/command-help.ts +1 -1
  290. package/src/cli/commands/workflow/command.ts +2 -2
  291. package/src/cli/shared/config.ts +1 -3
  292. package/src/deno.js +16 -16
  293. package/src/src/agent/ag-ui-handler.ts +6 -0
  294. package/src/src/agent/chat-handler.ts +1 -1
  295. package/src/src/agent/composition/composition.ts +2 -2
  296. package/src/src/agent/factory.ts +1 -1
  297. package/src/src/agent/react/index.ts +11 -9
  298. package/src/src/agent/react/use-chat/browser-inference/browser-engine.ts +9 -10
  299. package/src/src/agent/react/use-chat/index.ts +10 -9
  300. package/src/src/agent/react/use-chat/stream-protocol.ts +1 -0
  301. package/src/src/agent/react/use-chat/streaming/handler.ts +17 -17
  302. package/src/src/agent/react/use-chat/streaming/parts-builder.ts +5 -5
  303. package/src/src/agent/react/use-chat/streaming/types.ts +4 -4
  304. package/src/src/agent/react/use-chat/types.ts +27 -73
  305. package/src/src/agent/react/use-chat/use-chat.ts +13 -13
  306. package/src/src/agent/react/use-chat/utils.ts +2 -2
  307. package/src/src/agent/runtime/{ai-stream-handler.ts → chat-stream-handler.ts} +100 -96
  308. package/src/src/agent/runtime/constants.ts +1 -1
  309. package/src/src/agent/runtime/index.ts +88 -40
  310. package/src/src/agent/runtime/model-message-converter.ts +22 -33
  311. package/src/src/agent/runtime/model-runtime-types.ts +55 -0
  312. package/src/src/agent/runtime/model-tool-converter.ts +29 -26
  313. package/src/src/agent/runtime/provider-native-tools.ts +61 -0
  314. package/src/src/agent/runtime/repair-tool-call.ts +6 -9
  315. package/src/src/agent/runtime/runtime-tool-builder.ts +82 -0
  316. package/src/src/agent/runtime/runtime-tool-errors.ts +46 -0
  317. package/src/src/agent/runtime/runtime-tool-types.ts +114 -0
  318. package/src/src/chat/index.ts +22 -20
  319. package/src/src/chat/protocol.ts +210 -0
  320. package/src/src/discovery/import-rewriter.ts +1 -14
  321. package/src/src/discovery/index.ts +2 -2
  322. package/src/src/discovery/{config-validator.ts → provider-config-validator.ts} +4 -4
  323. package/src/src/discovery/transpiler.ts +0 -3
  324. package/src/src/embedding/embedding.ts +1 -1
  325. package/src/src/embedding/index.ts +3 -3
  326. package/src/src/embedding/rag-store.ts +1 -1
  327. package/src/src/embedding/resolve.ts +15 -12
  328. package/src/src/embedding/vector-store.ts +1 -1
  329. package/src/src/embedding/veryfront-cloud/provider.ts +10 -8
  330. package/src/src/internal-agents/ag-ui-sse.ts +12 -0
  331. package/src/src/markdown/index.ts +1 -1
  332. package/src/src/modules/import-map/default-import-map.ts +2 -2
  333. package/src/src/prompt/registry.ts +2 -2
  334. package/src/src/provider/index.ts +7 -8
  335. package/src/src/provider/local/{local-embedding-adapter.ts → embedding-runtime-adapter.ts} +8 -8
  336. package/src/src/provider/local/{ai-sdk-adapter.ts → model-runtime-adapter.ts} +13 -16
  337. package/src/src/provider/model-registry.ts +31 -26
  338. package/src/src/provider/runtime-inspection.ts +25 -0
  339. package/src/src/provider/runtime-loader.ts +1854 -0
  340. package/src/src/provider/types.ts +38 -0
  341. package/src/src/provider/veryfront-cloud/provider.ts +13 -11
  342. package/src/src/provider/veryfront-cloud/shared.ts +1 -1
  343. package/src/src/react/components/{ai → chat}/chat/components/inference-badge.tsx +1 -1
  344. package/src/src/react/components/{ai → chat}/chat/components/skill-badge.tsx +3 -3
  345. package/src/src/react/components/{ai → chat}/chat/components/tool-ui.tsx +3 -3
  346. package/src/src/react/components/{ai → chat}/chat/composition/api.tsx +1 -1
  347. package/src/src/react/components/{ai → chat}/chat/composition/chat-composer.tsx +3 -3
  348. package/src/src/react/components/{ai → chat}/chat/composition/chat-empty.tsx +1 -1
  349. package/src/src/react/components/{ai → chat}/chat/composition/chat-if.tsx +1 -1
  350. package/src/src/react/components/{ai → chat}/chat/composition/chat-message-list.tsx +11 -11
  351. package/src/src/react/components/{ai → chat}/chat/composition/chat-root.tsx +3 -3
  352. package/src/src/react/components/{ai → chat}/chat/composition/error-banner.tsx +1 -1
  353. package/src/src/react/components/{ai → chat}/chat/composition/message.tsx +9 -4
  354. package/src/src/react/components/{ai → chat}/chat/composition/model-avatar.tsx +1 -1
  355. package/src/src/react/components/{ai → chat}/chat/contexts/chat-context.tsx +3 -3
  356. package/src/src/react/components/{ai → chat}/chat/contexts/composer-context.tsx +1 -1
  357. package/src/src/react/components/{ai → chat}/chat/contexts/index.ts +1 -1
  358. package/src/src/react/components/{ai → chat}/chat/contexts/message-context.tsx +3 -3
  359. package/src/src/react/components/{ai → chat}/chat/contexts/thread-list-context.tsx +1 -1
  360. package/src/src/react/components/{ai → chat}/chat/hooks/use-threads.ts +2 -2
  361. package/src/src/react/components/{ai → chat}/chat/index.tsx +7 -7
  362. package/src/src/react/components/{ai → chat}/chat/utils/export.ts +4 -4
  363. package/src/src/react/components/{ai → chat}/chat/utils/message-parts.ts +13 -13
  364. package/src/src/react/components/{ai → chat}/chat.tsx +1 -1
  365. package/src/src/react/components/{ai → chat}/error-boundary.tsx +11 -11
  366. package/src/src/react/components/{ai → chat}/icons/index.ts +1 -1
  367. package/src/src/react/components/{ai → chat}/message.tsx +11 -11
  368. package/src/src/react/primitives/message-list.tsx +2 -2
  369. package/src/src/react/primitives/tool-primitives.tsx +4 -4
  370. package/src/src/{ai/registry-manager.ts → registry/project-scoped-registry-manager.ts} +5 -4
  371. package/src/src/{ai/registry-facade.ts → registry/scoped-registry-facade.ts} +1 -1
  372. package/src/src/rendering/script-page-handling.ts +0 -2
  373. package/src/src/resource/registry.ts +2 -2
  374. package/src/src/routing/api/module-loader/loader.ts +3 -19
  375. package/src/src/runtime/runtime-bridge.ts +608 -0
  376. package/src/src/server/dev-server/file-watch-setup.ts +14 -14
  377. package/src/src/server/dev-server/server.ts +20 -18
  378. package/src/src/server/dev-ui/manifest.js +2 -2
  379. package/src/src/server/handlers/dev/framework-candidates.generated.ts +58 -61
  380. package/src/src/server/handlers/request/api/api-handler-wrapper.ts +1 -1
  381. package/src/src/server/handlers/request/api/project-discovery.ts +12 -10
  382. package/src/src/server/production-server.ts +2 -2
  383. package/src/src/server/services/rsc/endpoints/rsc-bundles.generated.ts +2 -2
  384. package/src/src/skill/registry.ts +2 -2
  385. package/src/src/tool/registry.ts +2 -2
  386. package/src/src/transforms/npm-import-rewrites.ts +5 -13
  387. package/src/src/utils/constants/server.ts +4 -4
  388. package/src/src/utils/id.ts +1 -1
  389. package/src/src/utils/version-constant.ts +1 -1
  390. package/src/src/workflow/discovery/workflow-discovery.ts +4 -4
  391. package/src/src/workflow/registry.ts +2 -2
  392. package/esm/src/agent/ai-defaults.d.ts.map +0 -1
  393. package/esm/src/agent/runtime/ai-stream-handler.d.ts.map +0 -1
  394. package/esm/src/ai/registry-facade.d.ts.map +0 -1
  395. package/esm/src/ai/registry-manager.d.ts.map +0 -1
  396. package/esm/src/discovery/config-validator.d.ts +0 -14
  397. package/esm/src/discovery/config-validator.d.ts.map +0 -1
  398. package/esm/src/provider/local/ai-sdk-adapter.d.ts +0 -19
  399. package/esm/src/provider/local/ai-sdk-adapter.d.ts.map +0 -1
  400. package/esm/src/provider/local/local-embedding-adapter.d.ts +0 -19
  401. package/esm/src/provider/local/local-embedding-adapter.d.ts.map +0 -1
  402. package/esm/src/react/components/ai/agent-card.d.ts.map +0 -1
  403. package/esm/src/react/components/ai/chat/components/animations.d.ts.map +0 -1
  404. package/esm/src/react/components/ai/chat/components/attachment-pill.d.ts.map +0 -1
  405. package/esm/src/react/components/ai/chat/components/branch-picker.d.ts.map +0 -1
  406. package/esm/src/react/components/ai/chat/components/code-block.d.ts.map +0 -1
  407. package/esm/src/react/components/ai/chat/components/drop-zone.d.ts.map +0 -1
  408. package/esm/src/react/components/ai/chat/components/empty-state.d.ts.map +0 -1
  409. package/esm/src/react/components/ai/chat/components/inference-badge.d.ts.map +0 -1
  410. package/esm/src/react/components/ai/chat/components/inline-citation.d.ts.map +0 -1
  411. package/esm/src/react/components/ai/chat/components/message-actions.d.ts.map +0 -1
  412. package/esm/src/react/components/ai/chat/components/message-edit-form.d.ts.map +0 -1
  413. package/esm/src/react/components/ai/chat/components/message-feedback.d.ts.map +0 -1
  414. package/esm/src/react/components/ai/chat/components/quick-actions.d.ts.map +0 -1
  415. package/esm/src/react/components/ai/chat/components/reasoning.d.ts.map +0 -1
  416. package/esm/src/react/components/ai/chat/components/sidebar.d.ts.map +0 -1
  417. package/esm/src/react/components/ai/chat/components/skill-badge.d.ts.map +0 -1
  418. package/esm/src/react/components/ai/chat/components/sources.d.ts.map +0 -1
  419. package/esm/src/react/components/ai/chat/components/step-indicator.d.ts.map +0 -1
  420. package/esm/src/react/components/ai/chat/components/tab-switcher.d.ts.map +0 -1
  421. package/esm/src/react/components/ai/chat/components/tool-ui.d.ts.map +0 -1
  422. package/esm/src/react/components/ai/chat/components/upgrade-cta.d.ts.map +0 -1
  423. package/esm/src/react/components/ai/chat/components/uploads-panel.d.ts.map +0 -1
  424. package/esm/src/react/components/ai/chat/composition/api.d.ts.map +0 -1
  425. package/esm/src/react/components/ai/chat/composition/chat-composer.d.ts.map +0 -1
  426. package/esm/src/react/components/ai/chat/composition/chat-empty.d.ts.map +0 -1
  427. package/esm/src/react/components/ai/chat/composition/chat-if.d.ts.map +0 -1
  428. package/esm/src/react/components/ai/chat/composition/chat-message-list.d.ts.map +0 -1
  429. package/esm/src/react/components/ai/chat/composition/chat-root.d.ts.map +0 -1
  430. package/esm/src/react/components/ai/chat/composition/error-banner.d.ts.map +0 -1
  431. package/esm/src/react/components/ai/chat/composition/message.d.ts.map +0 -1
  432. package/esm/src/react/components/ai/chat/composition/model-avatar.d.ts.map +0 -1
  433. package/esm/src/react/components/ai/chat/contexts/chat-context.d.ts.map +0 -1
  434. package/esm/src/react/components/ai/chat/contexts/composer-context.d.ts.map +0 -1
  435. package/esm/src/react/components/ai/chat/contexts/index.d.ts.map +0 -1
  436. package/esm/src/react/components/ai/chat/contexts/message-context.d.ts.map +0 -1
  437. package/esm/src/react/components/ai/chat/contexts/thread-list-context.d.ts.map +0 -1
  438. package/esm/src/react/components/ai/chat/hooks/use-threads.d.ts.map +0 -1
  439. package/esm/src/react/components/ai/chat/index.d.ts.map +0 -1
  440. package/esm/src/react/components/ai/chat/utils/export.d.ts +0 -10
  441. package/esm/src/react/components/ai/chat/utils/export.d.ts.map +0 -1
  442. package/esm/src/react/components/ai/chat/utils/message-parts.d.ts.map +0 -1
  443. package/esm/src/react/components/ai/chat-with-sidebar.d.ts.map +0 -1
  444. package/esm/src/react/components/ai/chat.d.ts.map +0 -1
  445. package/esm/src/react/components/ai/csp-nonce.d.ts.map +0 -1
  446. package/esm/src/react/components/ai/error-boundary.d.ts.map +0 -1
  447. package/esm/src/react/components/ai/icons/index.d.ts.map +0 -1
  448. package/esm/src/react/components/ai/markdown.d.ts.map +0 -1
  449. package/esm/src/react/components/ai/message.d.ts.map +0 -1
  450. package/esm/src/react/components/ai/model-selector.d.ts.map +0 -1
  451. package/esm/src/react/components/ai/theme.d.ts.map +0 -1
  452. /package/esm/src/agent/{ai-defaults.js → defaults.js} +0 -0
  453. /package/esm/src/react/components/{ai → chat}/agent-card.d.ts +0 -0
  454. /package/esm/src/react/components/{ai → chat}/agent-card.js +0 -0
  455. /package/esm/src/react/components/{ai → chat}/chat/components/animations.d.ts +0 -0
  456. /package/esm/src/react/components/{ai → chat}/chat/components/animations.js +0 -0
  457. /package/esm/src/react/components/{ai → chat}/chat/components/attachment-pill.d.ts +0 -0
  458. /package/esm/src/react/components/{ai → chat}/chat/components/attachment-pill.js +0 -0
  459. /package/esm/src/react/components/{ai → chat}/chat/components/branch-picker.d.ts +0 -0
  460. /package/esm/src/react/components/{ai → chat}/chat/components/branch-picker.js +0 -0
  461. /package/esm/src/react/components/{ai → chat}/chat/components/code-block.d.ts +0 -0
  462. /package/esm/src/react/components/{ai → chat}/chat/components/code-block.js +0 -0
  463. /package/esm/src/react/components/{ai → chat}/chat/components/drop-zone.d.ts +0 -0
  464. /package/esm/src/react/components/{ai → chat}/chat/components/drop-zone.js +0 -0
  465. /package/esm/src/react/components/{ai → chat}/chat/components/empty-state.d.ts +0 -0
  466. /package/esm/src/react/components/{ai → chat}/chat/components/empty-state.js +0 -0
  467. /package/esm/src/react/components/{ai → chat}/chat/components/inference-badge.d.ts +0 -0
  468. /package/esm/src/react/components/{ai → chat}/chat/components/inline-citation.d.ts +0 -0
  469. /package/esm/src/react/components/{ai → chat}/chat/components/inline-citation.js +0 -0
  470. /package/esm/src/react/components/{ai → chat}/chat/components/message-actions.d.ts +0 -0
  471. /package/esm/src/react/components/{ai → chat}/chat/components/message-actions.js +0 -0
  472. /package/esm/src/react/components/{ai → chat}/chat/components/message-edit-form.d.ts +0 -0
  473. /package/esm/src/react/components/{ai → chat}/chat/components/message-edit-form.js +0 -0
  474. /package/esm/src/react/components/{ai → chat}/chat/components/message-feedback.d.ts +0 -0
  475. /package/esm/src/react/components/{ai → chat}/chat/components/message-feedback.js +0 -0
  476. /package/esm/src/react/components/{ai → chat}/chat/components/quick-actions.d.ts +0 -0
  477. /package/esm/src/react/components/{ai → chat}/chat/components/quick-actions.js +0 -0
  478. /package/esm/src/react/components/{ai → chat}/chat/components/reasoning.d.ts +0 -0
  479. /package/esm/src/react/components/{ai → chat}/chat/components/reasoning.js +0 -0
  480. /package/esm/src/react/components/{ai → chat}/chat/components/sidebar.d.ts +0 -0
  481. /package/esm/src/react/components/{ai → chat}/chat/components/sidebar.js +0 -0
  482. /package/esm/src/react/components/{ai → chat}/chat/components/sources.d.ts +0 -0
  483. /package/esm/src/react/components/{ai → chat}/chat/components/sources.js +0 -0
  484. /package/esm/src/react/components/{ai → chat}/chat/components/step-indicator.d.ts +0 -0
  485. /package/esm/src/react/components/{ai → chat}/chat/components/step-indicator.js +0 -0
  486. /package/esm/src/react/components/{ai → chat}/chat/components/tab-switcher.d.ts +0 -0
  487. /package/esm/src/react/components/{ai → chat}/chat/components/tab-switcher.js +0 -0
  488. /package/esm/src/react/components/{ai → chat}/chat/components/upgrade-cta.d.ts +0 -0
  489. /package/esm/src/react/components/{ai → chat}/chat/components/upgrade-cta.js +0 -0
  490. /package/esm/src/react/components/{ai → chat}/chat/components/uploads-panel.d.ts +0 -0
  491. /package/esm/src/react/components/{ai → chat}/chat/components/uploads-panel.js +0 -0
  492. /package/esm/src/react/components/{ai → chat}/chat/hooks/use-threads.js +0 -0
  493. /package/esm/src/react/components/{ai → chat}/chat-with-sidebar.d.ts +0 -0
  494. /package/esm/src/react/components/{ai → chat}/chat-with-sidebar.js +0 -0
  495. /package/esm/src/react/components/{ai → chat}/csp-nonce.d.ts +0 -0
  496. /package/esm/src/react/components/{ai → chat}/csp-nonce.js +0 -0
  497. /package/esm/src/react/components/{ai → chat}/markdown.d.ts +0 -0
  498. /package/esm/src/react/components/{ai → chat}/markdown.js +0 -0
  499. /package/esm/src/react/components/{ai → chat}/message.js +0 -0
  500. /package/esm/src/react/components/{ai → chat}/model-selector.d.ts +0 -0
  501. /package/esm/src/react/components/{ai → chat}/model-selector.js +0 -0
  502. /package/esm/src/react/components/{ai → chat}/theme.d.ts +0 -0
  503. /package/esm/src/react/components/{ai → chat}/theme.js +0 -0
  504. /package/esm/src/{ai/registry-facade.js → registry/scoped-registry-facade.js} +0 -0
  505. /package/src/src/agent/{ai-defaults.ts → defaults.ts} +0 -0
  506. /package/src/src/react/components/{ai → chat}/agent-card.tsx +0 -0
  507. /package/src/src/react/components/{ai → chat}/chat/components/animations.tsx +0 -0
  508. /package/src/src/react/components/{ai → chat}/chat/components/attachment-pill.tsx +0 -0
  509. /package/src/src/react/components/{ai → chat}/chat/components/branch-picker.tsx +0 -0
  510. /package/src/src/react/components/{ai → chat}/chat/components/code-block.tsx +0 -0
  511. /package/src/src/react/components/{ai → chat}/chat/components/drop-zone.tsx +0 -0
  512. /package/src/src/react/components/{ai → chat}/chat/components/empty-state.tsx +0 -0
  513. /package/src/src/react/components/{ai → chat}/chat/components/inline-citation.tsx +0 -0
  514. /package/src/src/react/components/{ai → chat}/chat/components/message-actions.tsx +0 -0
  515. /package/src/src/react/components/{ai → chat}/chat/components/message-edit-form.tsx +0 -0
  516. /package/src/src/react/components/{ai → chat}/chat/components/message-feedback.tsx +0 -0
  517. /package/src/src/react/components/{ai → chat}/chat/components/quick-actions.tsx +0 -0
  518. /package/src/src/react/components/{ai → chat}/chat/components/reasoning.tsx +0 -0
  519. /package/src/src/react/components/{ai → chat}/chat/components/sidebar.tsx +0 -0
  520. /package/src/src/react/components/{ai → chat}/chat/components/sources.tsx +0 -0
  521. /package/src/src/react/components/{ai → chat}/chat/components/step-indicator.tsx +0 -0
  522. /package/src/src/react/components/{ai → chat}/chat/components/tab-switcher.tsx +0 -0
  523. /package/src/src/react/components/{ai → chat}/chat/components/upgrade-cta.tsx +0 -0
  524. /package/src/src/react/components/{ai → chat}/chat/components/uploads-panel.tsx +0 -0
  525. /package/src/src/react/components/{ai → chat}/chat-with-sidebar.tsx +0 -0
  526. /package/src/src/react/components/{ai → chat}/csp-nonce.ts +0 -0
  527. /package/src/src/react/components/{ai → chat}/markdown.tsx +0 -0
  528. /package/src/src/react/components/{ai → chat}/model-selector.tsx +0 -0
  529. /package/src/src/react/components/{ai → chat}/theme.ts +0 -0
@@ -1,25 +1,23 @@
1
- import type { EmbeddingModel } from "ai";
2
- type EmbeddingProviderFactory = (modelId: string) => EmbeddingModel;
1
+ import type { EmbeddingRuntime } from "../provider/types.js";
2
+ type EmbeddingProviderFactory = (modelId: string) => EmbeddingRuntime;
3
3
  /**
4
4
  * Register an embedding provider factory.
5
5
  *
6
6
  * @example
7
7
  * ```ts
8
- * registerEmbeddingProvider("openai", (id) =>
9
- * createOpenAI({ apiKey })().embedding(id)
10
- * );
8
+ * registerEmbeddingProvider("openai", (id) => createOpenAIEmbeddingRuntime({ apiKey }, id));
11
9
  * ```
12
10
  */
13
11
  export declare function registerEmbeddingProvider(name: string, factory: EmbeddingProviderFactory): void;
14
12
  /**
15
- * Resolve a "provider/model" string to an AI SDK EmbeddingModel instance.
13
+ * Resolve a "provider/model" string to an embedding runtime instance.
16
14
  *
17
15
  * @example
18
16
  * ```ts
19
17
  * const model = resolveEmbeddingModel("openai/text-embedding-3-small");
20
18
  * ```
21
19
  */
22
- export declare function resolveEmbeddingModel(modelString: string): EmbeddingModel;
20
+ export declare function resolveEmbeddingModel(modelString: string): EmbeddingRuntime;
23
21
  /**
24
22
  * Clear all registered embedding providers (for testing).
25
23
  */
@@ -1 +1 @@
1
- {"version":3,"file":"resolve.d.ts","sourceRoot":"","sources":["../../../src/src/embedding/resolve.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,IAAI,CAAC;AAQzC,KAAK,wBAAwB,GAAG,CAAC,OAAO,EAAE,MAAM,KAAK,cAAc,CAAC;AAKpE;;;;;;;;;GASG;AACH,wBAAgB,yBAAyB,CACvC,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,wBAAwB,GAChC,IAAI,CAEN;AA+CD;;;;;;;GAOG;AACH,wBAAgB,qBAAqB,CAAC,WAAW,EAAE,MAAM,GAAG,cAAc,CAuCzE;AAED;;GAEG;AACH,wBAAgB,uBAAuB,IAAI,IAAI,CAG9C"}
1
+ {"version":3,"file":"resolve.d.ts","sourceRoot":"","sources":["../../../src/src/embedding/resolve.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAG7D,KAAK,wBAAwB,GAAG,CAAC,OAAO,EAAE,MAAM,KAAK,gBAAgB,CAAC;AAKtE;;;;;;;GAOG;AACH,wBAAgB,yBAAyB,CACvC,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,wBAAwB,GAChC,IAAI,CAEN;AAkDD;;;;;;;GAOG;AACH,wBAAgB,qBAAqB,CAAC,WAAW,EAAE,MAAM,GAAG,gBAAgB,CAuC3E;AAED;;GAEG;AACH,wBAAgB,uBAAuB,IAAI,IAAI,CAG9C"}
@@ -1,8 +1,7 @@
1
1
  import { createError, toError } from "../errors/veryfront-error.js";
2
- import { createOpenAI } from "@ai-sdk/openai";
3
- import { createGoogleGenerativeAI } from "@ai-sdk/google";
4
2
  import { getGoogleGenAIEnvConfig, getOpenAIEnvConfig } from "../config/env.js";
5
- import { createLocalEmbeddingModel } from "../provider/local/local-embedding-adapter.js";
3
+ import { createLocalEmbeddingModel } from "../provider/local/embedding-runtime-adapter.js";
4
+ import { createGoogleEmbeddingRuntime, createOpenAIEmbeddingRuntime, } from "../provider/runtime-loader.js";
6
5
  import { createVeryfrontCloudEmbeddingModel } from "./veryfront-cloud/provider.js";
7
6
  const providers = new Map();
8
7
  let autoInitialized = false;
@@ -11,9 +10,7 @@ let autoInitialized = false;
11
10
  *
12
11
  * @example
13
12
  * ```ts
14
- * registerEmbeddingProvider("openai", (id) =>
15
- * createOpenAI({ apiKey })().embedding(id)
16
- * );
13
+ * registerEmbeddingProvider("openai", (id) => createOpenAIEmbeddingRuntime({ apiKey }, id));
17
14
  * ```
18
15
  */
19
16
  export function registerEmbeddingProvider(name, factory) {
@@ -32,7 +29,7 @@ function autoInitializeFromEnv() {
32
29
  message: "OPENAI_API_KEY not set. Set the environment variable or register a custom provider with registerEmbeddingProvider().",
33
30
  }));
34
31
  }
35
- return createOpenAI({ apiKey: config.apiKey, baseURL: config.baseURL }).embedding(id);
32
+ return createOpenAIEmbeddingRuntime({ apiKey: config.apiKey, baseURL: config.baseURL }, id);
36
33
  });
37
34
  }
38
35
  if (!providers.has("google")) {
@@ -44,7 +41,7 @@ function autoInitializeFromEnv() {
44
41
  message: "GOOGLE_API_KEY (or GOOGLE_GENERATIVE_AI_API_KEY) not set. Set the environment variable or register a custom provider with registerEmbeddingProvider().",
45
42
  }));
46
43
  }
47
- return createGoogleGenerativeAI({ apiKey: config.apiKey }).textEmbeddingModel(id);
44
+ return createGoogleEmbeddingRuntime({ apiKey: config.apiKey }, id);
48
45
  });
49
46
  }
50
47
  if (!providers.has("local")) {
@@ -55,7 +52,7 @@ function autoInitializeFromEnv() {
55
52
  }
56
53
  }
57
54
  /**
58
- * Resolve a "provider/model" string to an AI SDK EmbeddingModel instance.
55
+ * Resolve a "provider/model" string to an embedding runtime instance.
59
56
  *
60
57
  * @example
61
58
  * ```ts
@@ -1 +1 @@
1
- {"version":3,"file":"vector-store.d.ts","sourceRoot":"","sources":["../../../src/src/embedding/vector-store.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAIV,WAAW,EACX,iBAAiB,EAClB,MAAM,YAAY,CAAC;AAQpB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,wBAAgB,WAAW,CAAC,MAAM,EAAE,iBAAiB,GAAG,WAAW,CA8DlE"}
1
+ {"version":3,"file":"vector-store.d.ts","sourceRoot":"","sources":["../../../src/src/embedding/vector-store.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAIV,WAAW,EACX,iBAAiB,EAClB,MAAM,YAAY,CAAC;AASpB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,wBAAgB,WAAW,CAAC,MAAM,EAAE,iBAAiB,GAAG,WAAW,CA8DlE"}
@@ -1,4 +1,4 @@
1
- import { cosineSimilarity } from "ai";
1
+ import { cosineSimilarity } from "../runtime/runtime-bridge.js";
2
2
  /**
3
3
  * Creates an in-memory vector store with integrated embedding and similarity search.
4
4
  *
@@ -1,3 +1,3 @@
1
- import type { EmbeddingModel } from "ai";
2
- export declare function createVeryfrontCloudEmbeddingModel(modelId: string): EmbeddingModel;
1
+ import type { EmbeddingRuntime } from "../../provider/types.js";
2
+ export declare function createVeryfrontCloudEmbeddingModel(modelId: string): EmbeddingRuntime;
3
3
  //# sourceMappingURL=provider.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"provider.d.ts","sourceRoot":"","sources":["../../../../src/src/embedding/veryfront-cloud/provider.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,IAAI,CAAC;AAWzC,wBAAgB,kCAAkC,CAAC,OAAO,EAAE,MAAM,GAAG,cAAc,CA8BlF"}
1
+ {"version":3,"file":"provider.d.ts","sourceRoot":"","sources":["../../../../src/src/embedding/veryfront-cloud/provider.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAQhE,wBAAgB,kCAAkC,CAAC,OAAO,EAAE,MAAM,GAAG,gBAAgB,CA8BpF"}
@@ -1,6 +1,5 @@
1
- import { createGoogleGenerativeAI } from "@ai-sdk/google";
2
- import { createOpenAI } from "@ai-sdk/openai";
3
1
  import { createError, toError } from "../../errors/veryfront-error.js";
2
+ import { createGoogleEmbeddingRuntime, createOpenAIEmbeddingRuntime, } from "../../provider/runtime-loader.js";
4
3
  import { createVeryfrontCloudFetch, getVeryfrontCloudGatewayBaseUrl, parseVeryfrontCloudModelId, requireVeryfrontCloudBootstrap, } from "../../provider/veryfront-cloud/shared.js";
5
4
  export function createVeryfrontCloudEmbeddingModel(modelId) {
6
5
  const { provider, modelId: upstreamModelId } = parseVeryfrontCloudModelId(modelId, "embedding");
@@ -9,19 +8,19 @@ export function createVeryfrontCloudEmbeddingModel(modelId) {
9
8
  const fetch = createVeryfrontCloudFetch(apiToken);
10
9
  switch (provider) {
11
10
  case "openai":
12
- return createOpenAI({
11
+ return createOpenAIEmbeddingRuntime({
13
12
  apiKey: apiToken,
14
13
  baseURL,
15
14
  name: "veryfront-cloud",
16
15
  fetch,
17
- }).embedding(upstreamModelId);
16
+ }, upstreamModelId);
18
17
  case "google":
19
- return createGoogleGenerativeAI({
18
+ return createGoogleEmbeddingRuntime({
20
19
  apiKey: apiToken,
21
20
  baseURL,
22
21
  name: "veryfront-cloud",
23
22
  fetch,
24
- }).textEmbeddingModel(upstreamModelId);
23
+ }, upstreamModelId);
25
24
  }
26
25
  throw toError(createError({
27
26
  type: "config",
@@ -1 +1 @@
1
- {"version":3,"file":"ag-ui-sse.d.ts","sourceRoot":"","sources":["../../../src/src/internal-agents/ag-ui-sse.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAOvD,KAAK,gBAAgB,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC;AAEnE,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,oBAAoB;IACnC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,QAAQ,EAAE,OAAO,CAAC;IAClB,gBAAgB,EAAE,OAAO,CAAC;IAC1B,gBAAgB,EAAE,OAAO,CAAC;IAC1B,QAAQ,EAAE,mBAAmB,CAAC;CAC/B;AAED,wBAAgB,0BAA0B,IAAI,oBAAoB,CAQjE;AAqDD,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,UAAU,CAI3F;AAED,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,MAAM,GAAG;IACjD,MAAM,EAAE,gBAAgB,EAAE,CAAC;IAC3B,SAAS,EAAE,MAAM,CAAC;CACnB,CAyBA;AAkDD,wBAAgB,qBAAqB,CACnC,KAAK,EAAE,oBAAoB,EAC3B,KAAK,EAAE,gBAAgB,GACtB,KAAK,CAAC;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAAE,CAAC,CAoH5D;AAED,wBAAgB,iBAAiB,CAC/B,KAAK,EAAE,oBAAoB,EAC3B,QAAQ,EAAE,aAAa,GAAG,IAAI,GAC7B,KAAK,CAAC;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAAE,CAAC,CAmC5D"}
1
+ {"version":3,"file":"ag-ui-sse.d.ts","sourceRoot":"","sources":["../../../src/src/internal-agents/ag-ui-sse.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAOvD,KAAK,gBAAgB,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC;AAEnE,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,oBAAoB;IACnC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,QAAQ,EAAE,OAAO,CAAC;IAClB,gBAAgB,EAAE,OAAO,CAAC;IAC1B,gBAAgB,EAAE,OAAO,CAAC;IAC1B,QAAQ,EAAE,mBAAmB,CAAC;CAC/B;AAED,wBAAgB,0BAA0B,IAAI,oBAAoB,CAQjE;AAiED,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,UAAU,CAI3F;AAED,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,MAAM,GAAG;IACjD,MAAM,EAAE,gBAAgB,EAAE,CAAC;IAC3B,SAAS,EAAE,MAAM,CAAC;CACnB,CAyBA;AAkDD,wBAAgB,qBAAqB,CACnC,KAAK,EAAE,oBAAoB,EAC3B,KAAK,EAAE,gBAAgB,GACtB,KAAK,CAAC;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAAE,CAAC,CAoH5D;AAED,wBAAgB,iBAAiB,CAC/B,KAAK,EAAE,oBAAoB,EAC3B,QAAQ,EAAE,aAAa,GAAG,IAAI,GAC7B,KAAK,CAAC;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAAE,CAAC,CAmC5D"}
@@ -18,6 +18,18 @@ const agUiEventPayloadSchemas = {
18
18
  threadId: z.string().min(1),
19
19
  agentId: z.string().min(1),
20
20
  }),
21
+ StateSnapshot: z.object({
22
+ snapshot: z.record(z.string(), z.unknown()),
23
+ }),
24
+ MessagesSnapshot: z.object({
25
+ messages: z.array(z.object({
26
+ id: z.string().min(1),
27
+ role: z.enum(["user", "assistant", "system", "tool"]),
28
+ parts: z.array(z.record(z.string(), z.unknown())),
29
+ metadata: z.record(z.string(), z.unknown()).optional(),
30
+ createdAt: z.string().optional(),
31
+ })),
32
+ }),
21
33
  TextMessageStart: z.object({
22
34
  messageId: z.string().min(1),
23
35
  role: z.literal("assistant"),
@@ -11,5 +11,5 @@
11
11
  * ```
12
12
  */
13
13
  import "../../_dnt.polyfills.js";
14
- export { type CodeBlockProps, Markdown, type MarkdownProps, } from "../react/components/ai/markdown.js";
14
+ export { type CodeBlockProps, Markdown, type MarkdownProps, } from "../react/components/chat/markdown.js";
15
15
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/src/markdown/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AACH,OAAO,yBAAyB,CAAC;AAGjC,OAAO,EACL,KAAK,cAAc,EACnB,QAAQ,EACR,KAAK,aAAa,GACnB,MAAM,oCAAoC,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/src/markdown/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AACH,OAAO,yBAAyB,CAAC;AAGjC,OAAO,EACL,KAAK,cAAc,EACnB,QAAQ,EACR,KAAK,aAAa,GACnB,MAAM,sCAAsC,CAAC"}
@@ -11,4 +11,4 @@
11
11
  * ```
12
12
  */
13
13
  import "../../_dnt.polyfills.js";
14
- export { Markdown, } from "../react/components/ai/markdown.js";
14
+ export { Markdown, } from "../react/components/chat/markdown.js";
@@ -26,8 +26,8 @@ function getVeryfrontSsrImportMap() {
26
26
  // veryfront/react is a barrel that re-exports all browser-side modules.
27
27
  const react = `${base}/react/public.js${ssr}`;
28
28
  // Map veryfront/embedding to the React hooks submodule for SSR.
29
- // The full embedding/index.ts imports heavy server-side code (vectorStore, ragStore,
30
- // AI SDK) that fails to transform. SSR only needs the React hook (useUploads).
29
+ // The full embedding/index.ts imports heavy server-side code (vectorStore, ragStore)
30
+ // that fails to transform. SSR only needs the React hook (useUploads).
31
31
  const embedding = `${base}/embedding/react/index.js${ssr}`;
32
32
  return {
33
33
  "veryfront/react": react,
@@ -1,5 +1,5 @@
1
1
  import type { Prompt } from "./types.js";
2
- import { ScopedRegistryFacade } from "../ai/registry-facade.js";
2
+ import { ScopedRegistryFacade } from "../registry/scoped-registry-facade.js";
3
3
  declare class PromptRegistryClass extends ScopedRegistryFacade<Prompt> {
4
4
  getContent(id: string, variables?: Record<string, unknown>): Promise<string>;
5
5
  list(): string[];
@@ -1 +1 @@
1
- {"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../../src/src/prompt/registry.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC;AAGzC,OAAO,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AAahE,cAAM,mBAAoB,SAAQ,oBAAoB,CAAC,MAAM,CAAC;IAC5D,UAAU,CAAC,EAAE,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC;IAM5E,IAAI,IAAI,MAAM,EAAE;CAGjB;AAED,eAAO,MAAM,cAAc,qBAAiD,CAAC"}
1
+ {"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../../src/src/prompt/registry.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC;AAEzC,OAAO,EAAE,oBAAoB,EAAE,MAAM,uCAAuC,CAAC;AAc7E,cAAM,mBAAoB,SAAQ,oBAAoB,CAAC,MAAM,CAAC;IAC5D,UAAU,CAAC,EAAE,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC;IAM5E,IAAI,IAAI,MAAM,EAAE;CAGjB;AAED,eAAO,MAAM,cAAc,qBAAiD,CAAC"}
@@ -1,6 +1,6 @@
1
1
  import { createError, toError } from "../errors/veryfront-error.js";
2
- import { ProjectScopedRegistryManager } from "../ai/registry-manager.js";
3
- import { ScopedRegistryFacade } from "../ai/registry-facade.js";
2
+ import { ScopedRegistryFacade } from "../registry/scoped-registry-facade.js";
3
+ import { ProjectScopedRegistryManager } from "../registry/project-scoped-registry-manager.js";
4
4
  const promptRegistryManager = new ProjectScopedRegistryManager("prompt");
5
5
  function createMissingPromptError(id) {
6
6
  return toError(createError({
@@ -1,23 +1,22 @@
1
1
  /**
2
- * AI SDK model provider registry.
2
+ * Provider registry.
3
3
  *
4
- * Maps "provider/model" strings to AI SDK LanguageModel instances.
5
- * Auto-initializes providers from environment variables on first use.
4
+ * Maps "provider/model" strings to framework-compatible model runtimes.
5
+ * Auto-initializes built-in providers from environment variables on first use.
6
6
  *
7
7
  * @module provider
8
8
  *
9
- * @example Register and resolve a model
9
+ * @example Resolve a model
10
10
  * ```ts
11
- * import { registerModelProvider, resolveModel } from "veryfront/provider";
12
- * import { createOpenAI } from "@ai-sdk/openai";
11
+ * import { resolveModel } from "veryfront/provider";
13
12
  *
14
- * registerModelProvider("openai", (id) => createOpenAI({ apiKey })(id));
15
- * const model = resolveModel("openai/gpt-4o");
13
+ * const model = resolveModel("veryfront-cloud/openai/gpt-5.2");
16
14
  * ```
17
15
  */
18
16
  import "../../_dnt.polyfills.js";
19
17
  export { clearModelProviders, ensureModelReady, findAvailableCloudModel, getRegisteredModelProviders, hasModelProvider, registerModelProvider, resolveModel, } from "./model-registry.js";
20
18
  export type { ModelProviderFactory } from "./model-registry.js";
19
+ export type { ModelRuntime } from "./types.js";
21
20
  export { runWithVeryfrontCloudContext, runWithVeryfrontCloudContextAsync, } from "./veryfront-cloud/context.js";
22
21
  export type { VeryfrontCloudContext } from "./veryfront-cloud/context.js";
23
22
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/src/provider/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AACH,OAAO,yBAAyB,CAAC;AAGjC,OAAO,EACL,mBAAmB,EACnB,gBAAgB,EAChB,uBAAuB,EACvB,2BAA2B,EAC3B,gBAAgB,EAChB,qBAAqB,EACrB,YAAY,GACb,MAAM,qBAAqB,CAAC;AAC7B,YAAY,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAChE,OAAO,EACL,4BAA4B,EAC5B,iCAAiC,GAClC,MAAM,8BAA8B,CAAC;AACtC,YAAY,EAAE,qBAAqB,EAAE,MAAM,8BAA8B,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/src/provider/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AACH,OAAO,yBAAyB,CAAC;AAGjC,OAAO,EACL,mBAAmB,EACnB,gBAAgB,EAChB,uBAAuB,EACvB,2BAA2B,EAC3B,gBAAgB,EAChB,qBAAqB,EACrB,YAAY,GACb,MAAM,qBAAqB,CAAC;AAC7B,YAAY,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAChE,YAAY,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAC/C,OAAO,EACL,4BAA4B,EAC5B,iCAAiC,GAClC,MAAM,8BAA8B,CAAC;AACtC,YAAY,EAAE,qBAAqB,EAAE,MAAM,8BAA8B,CAAC"}
@@ -1,18 +1,16 @@
1
1
  /**
2
- * AI SDK model provider registry.
2
+ * Provider registry.
3
3
  *
4
- * Maps "provider/model" strings to AI SDK LanguageModel instances.
5
- * Auto-initializes providers from environment variables on first use.
4
+ * Maps "provider/model" strings to framework-compatible model runtimes.
5
+ * Auto-initializes built-in providers from environment variables on first use.
6
6
  *
7
7
  * @module provider
8
8
  *
9
- * @example Register and resolve a model
9
+ * @example Resolve a model
10
10
  * ```ts
11
- * import { registerModelProvider, resolveModel } from "veryfront/provider";
12
- * import { createOpenAI } from "@ai-sdk/openai";
11
+ * import { resolveModel } from "veryfront/provider";
13
12
  *
14
- * registerModelProvider("openai", (id) => createOpenAI({ apiKey })(id));
15
- * const model = resolveModel("openai/gpt-4o");
13
+ * const model = resolveModel("veryfront-cloud/openai/gpt-5.2");
16
14
  * ```
17
15
  */
18
16
  import "../../_dnt.polyfills.js";
@@ -0,0 +1,19 @@
1
+ /**
2
+ * Local Embedding Runtime Adapter
3
+ *
4
+ * Bridges `@huggingface/transformers` local embedding inference to the
5
+ * framework's current embedding runtime interface. This allows `embed()` and
6
+ * `embedMany()` to work with local models seamlessly.
7
+ *
8
+ * @module provider/local
9
+ */
10
+ import type { EmbeddingRuntime } from "../types.js";
11
+ /**
12
+ * Create a local embedding runtime for the given model ID.
13
+ *
14
+ * The returned object implements the current embedding runtime interface, making it
15
+ * compatible with all framework embedding functions and the Veryfront
16
+ * embedding/RAG primitives.
17
+ */
18
+ export declare function createLocalEmbeddingModel(modelId?: string): EmbeddingRuntime;
19
+ //# sourceMappingURL=embedding-runtime-adapter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"embedding-runtime-adapter.d.ts","sourceRoot":"","sources":["../../../../src/src/provider/local/embedding-runtime-adapter.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAIH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAEpD;;;;;;GAMG;AACH,wBAAgB,yBAAyB,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,gBAAgB,CAe5E"}
@@ -1,8 +1,8 @@
1
1
  /**
2
- * AI SDK Adapter for Local Embedding Models
2
+ * Local Embedding Runtime Adapter
3
3
  *
4
4
  * Bridges `@huggingface/transformers` local embedding inference to the
5
- * AI SDK `EmbeddingModel` interface. This allows `embed()` and
5
+ * framework's current embedding runtime interface. This allows `embed()` and
6
6
  * `embedMany()` to work with local models seamlessly.
7
7
  *
8
8
  * @module provider/local
@@ -10,10 +10,10 @@
10
10
  import { embedTexts } from "./local-embedding-engine.js";
11
11
  import { DEFAULT_LOCAL_EMBEDDING_MODEL } from "./model-catalog.js";
12
12
  /**
13
- * Create a local AI SDK EmbeddingModel for the given model ID.
13
+ * Create a local embedding runtime for the given model ID.
14
14
  *
15
- * The returned object implements the EmbeddingModelV2 interface, making it
16
- * compatible with all AI SDK embedding functions and the VeryFront
15
+ * The returned object implements the current embedding runtime interface, making it
16
+ * compatible with all framework embedding functions and the Veryfront
17
17
  * embedding/RAG primitives.
18
18
  */
19
19
  export function createLocalEmbeddingModel(modelId) {
@@ -0,0 +1,18 @@
1
+ /**
2
+ * Local Model Runtime Adapter
3
+ *
4
+ * Bridges `@huggingface/transformers` local inference to the framework's
5
+ * current model runtime substrate. This allows `streamText()` and
6
+ * `generateText()` to work with local models seamlessly.
7
+ *
8
+ * @module provider/local
9
+ */
10
+ import type { ModelRuntime } from "../types.js";
11
+ /**
12
+ * Create a local model runtime for the given model ID.
13
+ *
14
+ * The returned object implements the current runtime interface, making it
15
+ * compatible with the framework execution path and related hooks.
16
+ */
17
+ export declare function createLocalModel(modelId?: string): ModelRuntime;
18
+ //# sourceMappingURL=model-runtime-adapter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"model-runtime-adapter.d.ts","sourceRoot":"","sources":["../../../../src/src/provider/local/model-runtime-adapter.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAQH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAwEhD;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,YAAY,CA2G/D"}
@@ -1,8 +1,8 @@
1
1
  /**
2
- * AI SDK Adapter for Local Models
2
+ * Local Model Runtime Adapter
3
3
  *
4
- * Bridges `@huggingface/transformers` local inference to the AI SDK
5
- * `LanguageModelV2` interface. This allows `streamText()` and
4
+ * Bridges `@huggingface/transformers` local inference to the framework's
5
+ * current model runtime substrate. This allows `streamText()` and
6
6
  * `generateText()` to work with local models seamlessly.
7
7
  *
8
8
  * @module provider/local
@@ -16,9 +16,9 @@ const logger = serverLogger.component("local-llm");
16
16
  /** Default maximum new tokens for local model generation */
17
17
  const DEFAULT_MAX_NEW_TOKENS = 512;
18
18
  /**
19
- * Convert AI SDK LanguageModelV2 prompt format to simple ChatMessage array.
19
+ * Convert model-runtime prompt format to simple ChatMessage array.
20
20
  *
21
- * The AI SDK prompt is an array of message objects with role and content arrays.
21
+ * The prompt is an array of message objects with role and content arrays.
22
22
  * We extract text content for the local model.
23
23
  */
24
24
  function convertPrompt(prompt) {
@@ -50,7 +50,7 @@ function convertPrompt(prompt) {
50
50
  }
51
51
  return messages;
52
52
  }
53
- /** Map AI SDK generation options to local engine GenerateOptions. */
53
+ /** Map model-runtime generation options to local engine GenerateOptions. */
54
54
  function toGenerateOptions(options) {
55
55
  return {
56
56
  maxNewTokens: options.maxOutputTokens ?? DEFAULT_MAX_NEW_TOKENS,
@@ -61,15 +61,14 @@ function toGenerateOptions(options) {
61
61
  };
62
62
  }
63
63
  /**
64
- * Create a local AI SDK LanguageModel for the given model ID.
64
+ * Create a local model runtime for the given model ID.
65
65
  *
66
- * The returned object implements the LanguageModelV2 interface, making it
67
- * compatible with all AI SDK functions (`streamText`, `generateText`, etc.)
68
- * and all VeryFront hooks (`useChat`).
66
+ * The returned object implements the current runtime interface, making it
67
+ * compatible with the framework execution path and related hooks.
69
68
  */
70
69
  export function createLocalModel(modelId) {
71
70
  const resolvedId = modelId || DEFAULT_LOCAL_MODEL;
72
- const model = {
71
+ return {
73
72
  /** Marker so ensureModelReady() can distinguish real local-engine models
74
73
  * from mock/custom providers that happen to use provider:"local". */
75
74
  _isVfLocalModel: true,
@@ -157,5 +156,4 @@ export function createLocalModel(modelId) {
157
156
  return { stream };
158
157
  },
159
158
  };
160
- return model;
161
159
  }
@@ -1,9 +1,9 @@
1
1
  /**
2
- * Model Registry - AI SDK Provider Adapter Layer
2
+ * Model Registry - Provider Adapter Layer
3
3
  *
4
- * Maps "provider/model" strings to AI SDK LanguageModel instances.
5
- * Thin abstraction that delegates to AI SDK provider packages
6
- * while maintaining control over the API surface.
4
+ * Maps "provider/model" strings to framework-compatible model runtimes.
5
+ * The current implementation delegates to provider adapters while maintaining
6
+ * control over the public API surface.
7
7
  *
8
8
  * Project-scoped: each project gets its own provider namespace.
9
9
  * Auto-initialized providers from env vars are shared across all projects
@@ -12,15 +12,14 @@
12
12
  *
13
13
  * @module
14
14
  */
15
- import type { LanguageModel } from "ai";
16
- export type ModelProviderFactory = (modelId: string) => LanguageModel;
15
+ import type { ModelRuntime } from "./types.js";
16
+ export type ModelProviderFactory = (modelId: string) => ModelRuntime;
17
17
  /**
18
- * Register an AI SDK model provider factory for the current project.
18
+ * Register a custom model provider factory for the current project.
19
19
  *
20
20
  * @example
21
21
  * ```ts
22
- * import { createOpenAI } from "@ai-sdk/openai";
23
- * registerModelProvider("openai", (id) => createOpenAI({ apiKey })(id));
22
+ * registerModelProvider("custom", (id) => createCustomRuntime(id));
24
23
  * ```
25
24
  */
26
25
  export declare function registerModelProvider(name: string, factory: ModelProviderFactory): void;
@@ -35,7 +34,7 @@ export declare function registerModelProvider(name: string, factory: ModelProvid
35
34
  */
36
35
  export declare function findAvailableCloudModel(): string | null;
37
36
  /**
38
- * Resolve a "provider/model" string to an AI SDK LanguageModel instance.
37
+ * Resolve a "provider/model" string to a framework-compatible model runtime.
39
38
  *
40
39
  * Auto-initializes providers from environment on first call.
41
40
  *
@@ -44,7 +43,7 @@ export declare function findAvailableCloudModel(): string | null;
44
43
  * const model = resolveModel("openai/gpt-4o");
45
44
  * ```
46
45
  */
47
- export declare function resolveModel(modelString: string): LanguageModel;
46
+ export declare function resolveModel(modelString: string): ModelRuntime;
48
47
  /**
49
48
  * Check if a model provider is registered (project-scoped or shared).
50
49
  */
@@ -66,7 +65,7 @@ export declare function getRegisteredModelProviders(): string[];
66
65
  * distinguish real local-engine models from mock/custom providers that
67
66
  * happen to use `provider: "local"`.
68
67
  */
69
- export declare function ensureModelReady(model: LanguageModel): Promise<void>;
68
+ export declare function ensureModelReady(model: ModelRuntime): Promise<void>;
70
69
  /**
71
70
  * Clear all registered model providers (for testing).
72
71
  */
@@ -1 +1 @@
1
- {"version":3,"file":"model-registry.d.ts","sourceRoot":"","sources":["../../../src/src/provider/model-registry.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,IAAI,CAAC;AAwBxC,MAAM,MAAM,oBAAoB,GAAG,CAAC,OAAO,EAAE,MAAM,KAAK,aAAa,CAAC;AAOtE;;;;;;;;GAQG;AACH,wBAAgB,qBAAqB,CACnC,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,oBAAoB,GAC5B,IAAI,CAEN;AAoID;;;;;;;;GAQG;AACH,wBAAgB,uBAAuB,IAAI,MAAM,GAAG,IAAI,CASvD;AAED;;;;;;;;;GASG;AACH,wBAAgB,YAAY,CAAC,WAAW,EAAE,MAAM,GAAG,aAAa,CA6D/D;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAGtD;AAED;;GAEG;AACH,wBAAgB,2BAA2B,IAAI,MAAM,EAAE,CAGtD;AAED;;;;;;;;;;;;GAYG;AACH,wBAAsB,gBAAgB,CACpC,KAAK,EAAE,aAAa,GACnB,OAAO,CAAC,IAAI,CAAC,CAMf;AAED;;GAEG;AACH,wBAAgB,mBAAmB,IAAI,IAAI,CAG1C"}
1
+ {"version":3,"file":"model-registry.d.ts","sourceRoot":"","sources":["../../../src/src/provider/model-registry.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAyBH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAI/C,MAAM,MAAM,oBAAoB,GAAG,CAAC,OAAO,EAAE,MAAM,KAAK,YAAY,CAAC;AAOrE;;;;;;;GAOG;AACH,wBAAgB,qBAAqB,CACnC,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,oBAAoB,GAC5B,IAAI,CAEN;AAwID;;;;;;;;GAQG;AACH,wBAAgB,uBAAuB,IAAI,MAAM,GAAG,IAAI,CASvD;AAED;;;;;;;;;GASG;AACH,wBAAgB,YAAY,CAAC,WAAW,EAAE,MAAM,GAAG,YAAY,CA6D9D;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAGtD;AAED;;GAEG;AACH,wBAAgB,2BAA2B,IAAI,MAAM,EAAE,CAGtD;AAED;;;;;;;;;;;;GAYG;AACH,wBAAsB,gBAAgB,CACpC,KAAK,EAAE,YAAY,GAClB,OAAO,CAAC,IAAI,CAAC,CAKf;AAED;;GAEG;AACH,wBAAgB,mBAAmB,IAAI,IAAI,CAG1C"}
@@ -1,9 +1,9 @@
1
1
  /**
2
- * Model Registry - AI SDK Provider Adapter Layer
2
+ * Model Registry - Provider Adapter Layer
3
3
  *
4
- * Maps "provider/model" strings to AI SDK LanguageModel instances.
5
- * Thin abstraction that delegates to AI SDK provider packages
6
- * while maintaining control over the API surface.
4
+ * Maps "provider/model" strings to framework-compatible model runtimes.
5
+ * The current implementation delegates to provider adapters while maintaining
6
+ * control over the public API surface.
7
7
  *
8
8
  * Project-scoped: each project gets its own provider namespace.
9
9
  * Auto-initialized providers from env vars are shared across all projects
@@ -13,28 +13,26 @@
13
13
  * @module
14
14
  */
15
15
  import { createError, fromError, toError } from "../errors/veryfront-error.js";
16
- import { createOpenAI } from "@ai-sdk/openai";
17
- import { createAnthropic } from "@ai-sdk/anthropic";
18
- import { createGoogleGenerativeAI } from "@ai-sdk/google";
19
16
  import { getAnthropicEnvConfig, getGoogleGenAIEnvConfig, getOpenAIEnvConfig, } from "../config/env.js";
20
- import { ProjectScopedRegistryManager } from "../ai/registry-manager.js";
17
+ import { ProjectScopedRegistryManager } from "../registry/project-scoped-registry-manager.js";
21
18
  import { serverLogger } from "../utils/index.js";
22
19
  import { DEFAULT_LOCAL_MODEL } from "./local/model-catalog.js";
23
- import { createLocalModel } from "./local/ai-sdk-adapter.js";
20
+ import { createLocalModel } from "./local/model-runtime-adapter.js";
24
21
  import { throwIfLocalAIDisabled } from "./local/env.js";
25
22
  import { verifyLocalRuntime } from "./local/local-engine.js";
26
23
  import { getDefaultVeryfrontCloudModel, isVeryfrontCloudEnabled, } from "../platform/cloud/resolver.js";
24
+ import { createAnthropicModelRuntime, createGoogleModelRuntime, createOpenAIModelRuntime, } from "./runtime-loader.js";
27
25
  import { createVeryfrontCloudModel } from "./veryfront-cloud/provider.js";
26
+ import { getModelRuntimeId, hasLocalModelRuntimeMarker } from "./runtime-inspection.js";
28
27
  const localLogger = serverLogger.component("local-llm");
29
28
  const manager = new ProjectScopedRegistryManager("model-provider");
30
29
  let autoInitialized = false;
31
30
  /**
32
- * Register an AI SDK model provider factory for the current project.
31
+ * Register a custom model provider factory for the current project.
33
32
  *
34
33
  * @example
35
34
  * ```ts
36
- * import { createOpenAI } from "@ai-sdk/openai";
37
- * registerModelProvider("openai", (id) => createOpenAI({ apiKey })(id));
35
+ * registerModelProvider("custom", (id) => createCustomRuntime(id));
38
36
  * ```
39
37
  */
40
38
  export function registerModelProvider(name, factory) {
@@ -66,7 +64,7 @@ function autoInitializeFromEnv() {
66
64
  message: "OPENAI_API_KEY not set. Set the environment variable or register a custom provider with registerModelProvider().",
67
65
  }));
68
66
  }
69
- return createOpenAI({ apiKey: config.apiKey, baseURL: config.baseURL })(id);
67
+ return createOpenAIModelRuntime({ apiKey: config.apiKey, baseURL: config.baseURL }, id);
70
68
  });
71
69
  }
72
70
  if (!manager.has("anthropic")) {
@@ -78,10 +76,10 @@ function autoInitializeFromEnv() {
78
76
  message: "ANTHROPIC_API_KEY not set. Set the environment variable or register a custom provider with registerModelProvider().",
79
77
  }));
80
78
  }
81
- return createAnthropic({
79
+ return createAnthropicModelRuntime({
82
80
  apiKey: config.apiKey,
83
81
  baseURL: config.baseURL,
84
- })(id);
82
+ }, id);
85
83
  });
86
84
  }
87
85
  if (!manager.has("google")) {
@@ -93,7 +91,7 @@ function autoInitializeFromEnv() {
93
91
  message: "GOOGLE_API_KEY (or GOOGLE_GENERATIVE_AI_API_KEY) not set. Set the environment variable or register a custom provider with registerModelProvider().",
94
92
  }));
95
93
  }
96
- return createGoogleGenerativeAI({ apiKey: config.apiKey })(id);
94
+ return createGoogleModelRuntime({ apiKey: config.apiKey }, id);
97
95
  });
98
96
  }
99
97
  // Register the local provider (always available, no API key needed).
@@ -169,7 +167,7 @@ export function findAvailableCloudModel() {
169
167
  return null;
170
168
  }
171
169
  /**
172
- * Resolve a "provider/model" string to an AI SDK LanguageModel instance.
170
+ * Resolve a "provider/model" string to a framework-compatible model runtime.
173
171
  *
174
172
  * Auto-initializes providers from environment on first call.
175
173
  *
@@ -251,11 +249,10 @@ export function getRegisteredModelProviders() {
251
249
  * happen to use `provider: "local"`.
252
250
  */
253
251
  export async function ensureModelReady(model) {
254
- const m = model;
255
- if (!m._isVfLocalModel)
252
+ if (!hasLocalModelRuntimeMarker(model))
256
253
  return;
257
254
  // modelId is "local/<id>" — strip the prefix to get the catalog id.
258
- const catalogId = typeof m.modelId === "string" ? m.modelId.replace(/^local\//, "") : undefined;
255
+ const catalogId = getModelRuntimeId(model)?.replace(/^local\//, "");
259
256
  await verifyLocalRuntime(catalogId);
260
257
  }
261
258
  /**
@@ -0,0 +1,6 @@
1
+ import type { ModelRuntime } from "./types.js";
2
+ export declare function getModelRuntimeId(model: ModelRuntime): string | undefined;
3
+ export declare function getModelRuntimeProvider(model: ModelRuntime): string | undefined;
4
+ export declare function hasLocalModelRuntimeMarker(model: ModelRuntime): boolean;
5
+ export declare function isLocalModelRuntime(model: ModelRuntime): boolean;
6
+ //# sourceMappingURL=runtime-inspection.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"runtime-inspection.d.ts","sourceRoot":"","sources":["../../../src/src/provider/runtime-inspection.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAM/C,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,YAAY,GAAG,MAAM,GAAG,SAAS,CAGzE;AAED,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,YAAY,GAAG,MAAM,GAAG,SAAS,CAG/E;AAED,wBAAgB,0BAA0B,CAAC,KAAK,EAAE,YAAY,GAAG,OAAO,CAEvE;AAED,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,YAAY,GAAG,OAAO,CAIhE"}
@@ -0,0 +1,19 @@
1
+ function toRuntimeRecord(model) {
2
+ return model;
3
+ }
4
+ export function getModelRuntimeId(model) {
5
+ const runtimeRecord = toRuntimeRecord(model);
6
+ return typeof runtimeRecord.modelId === "string" ? runtimeRecord.modelId : undefined;
7
+ }
8
+ export function getModelRuntimeProvider(model) {
9
+ const runtimeRecord = toRuntimeRecord(model);
10
+ return typeof runtimeRecord.provider === "string" ? runtimeRecord.provider : undefined;
11
+ }
12
+ export function hasLocalModelRuntimeMarker(model) {
13
+ return toRuntimeRecord(model)._isVfLocalModel === true;
14
+ }
15
+ export function isLocalModelRuntime(model) {
16
+ return hasLocalModelRuntimeMarker(model) ||
17
+ getModelRuntimeProvider(model) === "local" ||
18
+ (getModelRuntimeId(model)?.startsWith("local/") ?? false);
19
+ }