veryfront 0.1.47 → 0.1.49

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 (813) hide show
  1. package/esm/cli/app/components/inline-input.d.ts +1 -4
  2. package/esm/cli/app/components/inline-input.d.ts.map +1 -1
  3. package/esm/cli/app/components/inline-input.js +1 -1
  4. package/esm/cli/app/components/list-select.d.ts +0 -8
  5. package/esm/cli/app/components/list-select.d.ts.map +1 -1
  6. package/esm/cli/app/components/list-select.js +0 -13
  7. package/esm/cli/app/operations/project-creation.d.ts +2 -14
  8. package/esm/cli/app/operations/project-creation.d.ts.map +1 -1
  9. package/esm/cli/app/operations/project-creation.js +3 -68
  10. package/esm/cli/app/shell.js +2 -2
  11. package/esm/cli/app/utils.d.ts +1 -2
  12. package/esm/cli/app/utils.d.ts.map +1 -1
  13. package/esm/cli/app/utils.js +1 -17
  14. package/esm/cli/app/views/dashboard.d.ts +0 -4
  15. package/esm/cli/app/views/dashboard.d.ts.map +1 -1
  16. package/esm/cli/app/views/dashboard.js +0 -15
  17. package/esm/cli/app/views/startup.d.ts +0 -4
  18. package/esm/cli/app/views/startup.d.ts.map +1 -1
  19. package/esm/cli/app/views/startup.js +0 -7
  20. package/esm/cli/auth/login.d.ts.map +1 -1
  21. package/esm/cli/auth/login.js +1 -2
  22. package/esm/cli/auth/token-store.js +1 -1
  23. package/esm/cli/auth/utils.d.ts +2 -1
  24. package/esm/cli/auth/utils.d.ts.map +1 -1
  25. package/esm/cli/commands/build/handler.d.ts +1 -1
  26. package/esm/cli/commands/generate/integration-generator.js +1 -1
  27. package/esm/cli/commands/init/catalog.js +3 -3
  28. package/esm/cli/commands/init/command-help.js +2 -2
  29. package/esm/cli/commands/init/config-generator.d.ts.map +1 -1
  30. package/esm/cli/commands/init/config-generator.js +8 -0
  31. package/esm/cli/commands/init/types.d.ts +1 -1
  32. package/esm/cli/commands/init/types.d.ts.map +1 -1
  33. package/esm/cli/commands/install/types.d.ts +2 -2
  34. package/esm/cli/commands/merge/command.d.ts +1 -1
  35. package/esm/cli/help/formatters.d.ts +1 -1
  36. package/esm/cli/help/formatters.d.ts.map +1 -1
  37. package/esm/cli/help/formatters.js +8 -4
  38. package/esm/cli/help/main-help.d.ts.map +1 -1
  39. package/esm/cli/help/main-help.js +2 -2
  40. package/esm/cli/help/tips.js +1 -1
  41. package/esm/cli/mcp/remote-file-tools.js +1 -1
  42. package/esm/cli/mcp/server.d.ts +0 -1
  43. package/esm/cli/mcp/server.d.ts.map +1 -1
  44. package/esm/cli/mcp/server.js +2 -5
  45. package/esm/cli/mcp/tools/catalog-tools.d.ts +3 -3
  46. package/esm/cli/mcp/tools/catalog-tools.js +3 -3
  47. package/esm/cli/mcp/tools/dev-tools.d.ts +1 -1
  48. package/esm/cli/mcp/tools/dev-tools.d.ts.map +1 -1
  49. package/esm/cli/mcp/tools/dev-tools.js +1 -2
  50. package/esm/cli/mcp/tools/scaffold-tools.d.ts +2 -2
  51. package/esm/cli/mcp/tools.d.ts +1 -2
  52. package/esm/cli/mcp/tools.d.ts.map +1 -1
  53. package/esm/cli/mcp/tools.js +1 -2
  54. package/esm/cli/shared/reserve-slug.d.ts.map +1 -1
  55. package/esm/cli/shared/reserve-slug.js +1 -3
  56. package/esm/cli/sync/ignore.d.ts +1 -1
  57. package/esm/cli/sync/ignore.d.ts.map +1 -1
  58. package/esm/cli/sync/ignore.js +22 -18
  59. package/esm/cli/templates/index.js +2 -2
  60. package/esm/cli/templates/manifest.d.ts +10 -8
  61. package/esm/cli/templates/manifest.js +15 -13
  62. package/esm/cli/templates/types.d.ts +1 -1
  63. package/esm/cli/templates/types.d.ts.map +1 -1
  64. package/esm/cli/ui/colors.d.ts +0 -1
  65. package/esm/cli/ui/colors.d.ts.map +1 -1
  66. package/esm/cli/ui/colors.js +0 -10
  67. package/esm/cli/ui/dot-matrix.d.ts.map +1 -1
  68. package/esm/cli/ui/dot-matrix.js +2 -5
  69. package/esm/cli/ui/tui.js +2 -3
  70. package/esm/cli/utils/index.js +1 -2
  71. package/esm/cli/utils/package-manager.d.ts.map +1 -1
  72. package/esm/cli/utils/package-manager.js +3 -4
  73. package/esm/deno.d.ts +10 -0
  74. package/esm/deno.js +30 -20
  75. package/esm/src/agent/chat-handler.d.ts +22 -0
  76. package/esm/src/agent/chat-handler.d.ts.map +1 -1
  77. package/esm/src/agent/chat-handler.js +88 -28
  78. package/esm/src/agent/factory.d.ts +0 -8
  79. package/esm/src/agent/factory.d.ts.map +1 -1
  80. package/esm/src/agent/factory.js +50 -1
  81. package/esm/src/agent/index.d.ts +17 -2
  82. package/esm/src/agent/index.d.ts.map +1 -1
  83. package/esm/src/agent/index.js +17 -2
  84. package/esm/src/agent/memory/memory.d.ts +2 -2
  85. package/esm/src/agent/memory/memory.d.ts.map +1 -1
  86. package/esm/src/agent/memory/memory.js +0 -1
  87. package/esm/src/agent/react/index.d.ts +1 -1
  88. package/esm/src/agent/react/index.d.ts.map +1 -1
  89. package/esm/src/agent/react/use-chat/index.d.ts +1 -1
  90. package/esm/src/agent/react/use-chat/index.d.ts.map +1 -1
  91. package/esm/src/agent/react/use-chat/streaming/handler.d.ts.map +1 -1
  92. package/esm/src/agent/react/use-chat/streaming/handler.js +42 -4
  93. package/esm/src/agent/react/use-chat/streaming/parts-builder.d.ts +2 -2
  94. package/esm/src/agent/react/use-chat/streaming/parts-builder.d.ts.map +1 -1
  95. package/esm/src/agent/react/use-chat/streaming/parts-builder.js +14 -1
  96. package/esm/src/agent/react/use-chat/streaming/types.d.ts +5 -0
  97. package/esm/src/agent/react/use-chat/streaming/types.d.ts.map +1 -1
  98. package/esm/src/agent/react/use-chat/types.d.ts +23 -1
  99. package/esm/src/agent/react/use-chat/types.d.ts.map +1 -1
  100. package/esm/src/agent/react/use-chat/use-chat.d.ts +15 -1
  101. package/esm/src/agent/react/use-chat/use-chat.d.ts.map +1 -1
  102. package/esm/src/agent/react/use-chat/use-chat.js +187 -35
  103. package/esm/src/agent/runtime/index.d.ts +18 -0
  104. package/esm/src/agent/runtime/index.d.ts.map +1 -1
  105. package/esm/src/agent/runtime/index.js +167 -36
  106. package/esm/src/agent/runtime/tool-helpers.d.ts +6 -1
  107. package/esm/src/agent/runtime/tool-helpers.d.ts.map +1 -1
  108. package/esm/src/agent/runtime/tool-helpers.js +10 -1
  109. package/esm/src/agent/schemas/agent.schema.d.ts +4 -4
  110. package/esm/src/agent/types.d.ts +10 -0
  111. package/esm/src/agent/types.d.ts.map +1 -1
  112. package/esm/src/ai/registry-manager.d.ts.map +1 -1
  113. package/esm/src/ai/registry-manager.js +2 -1
  114. package/esm/src/build/bundler/code-splitter/manifest-builder.d.ts +0 -2
  115. package/esm/src/build/bundler/code-splitter/manifest-builder.d.ts.map +1 -1
  116. package/esm/src/build/bundler/code-splitter/manifest-builder.js +1 -1
  117. package/esm/src/build/compiler/mdx-compiler/validator.d.ts.map +1 -1
  118. package/esm/src/build/compiler/mdx-compiler/validator.js +2 -3
  119. package/esm/src/build/compiler/mdx-to-js.d.ts +0 -2
  120. package/esm/src/build/compiler/mdx-to-js.d.ts.map +1 -1
  121. package/esm/src/build/compiler/mdx-to-js.js +0 -81
  122. package/esm/src/build/index.d.ts +0 -6
  123. package/esm/src/build/index.d.ts.map +1 -1
  124. package/esm/src/build/index.js +0 -1
  125. package/esm/src/build/production-build/build/route-collector.d.ts.map +1 -1
  126. package/esm/src/build/production-build/build/route-collector.js +2 -3
  127. package/esm/src/build/production-build/client-runtime.d.ts +7 -3
  128. package/esm/src/build/production-build/client-runtime.d.ts.map +1 -1
  129. package/esm/src/build/production-build/client-runtime.js +9 -9
  130. package/esm/src/build/production-build/templates.d.ts +5 -9
  131. package/esm/src/build/production-build/templates.d.ts.map +1 -1
  132. package/esm/src/build/production-build/templates.js +6 -18
  133. package/esm/src/build/vendor-cache.d.ts.map +1 -1
  134. package/esm/src/build/vendor-cache.js +0 -5
  135. package/esm/src/cache/tokenizing-gateway.d.ts +0 -2
  136. package/esm/src/cache/tokenizing-gateway.d.ts.map +1 -1
  137. package/esm/src/cache/tokenizing-gateway.js +1 -3
  138. package/esm/src/chat/index.d.ts +33 -24
  139. package/esm/src/chat/index.d.ts.map +1 -1
  140. package/esm/src/chat/index.js +40 -26
  141. package/esm/src/config/define-config.d.ts.map +1 -1
  142. package/esm/src/config/define-config.js +28 -25
  143. package/esm/src/config/loader.d.ts.map +1 -1
  144. package/esm/src/config/loader.js +10 -7
  145. package/esm/src/config/schemas/config.schema.d.ts +58 -12
  146. package/esm/src/config/schemas/config.schema.d.ts.map +1 -1
  147. package/esm/src/config/schemas/config.schema.js +12 -0
  148. package/esm/src/data/data-fetcher.d.ts +1 -2
  149. package/esm/src/data/data-fetcher.d.ts.map +1 -1
  150. package/esm/src/data/data-fetcher.js +14 -15
  151. package/esm/src/data/server-data-fetcher.d.ts +0 -3
  152. package/esm/src/data/server-data-fetcher.d.ts.map +1 -1
  153. package/esm/src/data/server-data-fetcher.js +1 -8
  154. package/esm/src/data/static-data-fetcher.d.ts +1 -3
  155. package/esm/src/data/static-data-fetcher.d.ts.map +1 -1
  156. package/esm/src/data/static-data-fetcher.js +1 -3
  157. package/esm/src/discovery/discovery-engine.d.ts.map +1 -1
  158. package/esm/src/discovery/discovery-engine.js +19 -1
  159. package/esm/src/discovery/discovery-utils.d.ts +0 -4
  160. package/esm/src/discovery/discovery-utils.d.ts.map +1 -1
  161. package/esm/src/discovery/discovery-utils.js +0 -6
  162. package/esm/src/discovery/file-discovery.d.ts +3 -1
  163. package/esm/src/discovery/file-discovery.d.ts.map +1 -1
  164. package/esm/src/discovery/file-discovery.js +3 -8
  165. package/esm/src/discovery/handlers/index.d.ts +1 -0
  166. package/esm/src/discovery/handlers/index.d.ts.map +1 -1
  167. package/esm/src/discovery/handlers/index.js +1 -0
  168. package/esm/src/discovery/handlers/skill-handler.d.ts +26 -0
  169. package/esm/src/discovery/handlers/skill-handler.d.ts.map +1 -0
  170. package/esm/src/discovery/handlers/skill-handler.js +87 -0
  171. package/esm/src/discovery/handlers/task-handler.d.ts.map +1 -1
  172. package/esm/src/discovery/handlers/task-handler.js +1 -5
  173. package/esm/src/discovery/transpiler.d.ts.map +1 -1
  174. package/esm/src/discovery/transpiler.js +7 -2
  175. package/esm/src/discovery/types.d.ts +3 -0
  176. package/esm/src/discovery/types.d.ts.map +1 -1
  177. package/esm/src/embedding/chunk.d.ts +18 -0
  178. package/esm/src/embedding/chunk.d.ts.map +1 -0
  179. package/esm/src/embedding/chunk.js +48 -0
  180. package/esm/src/embedding/embedding.d.ts +23 -0
  181. package/esm/src/embedding/embedding.d.ts.map +1 -0
  182. package/esm/src/embedding/embedding.js +54 -0
  183. package/esm/src/embedding/index.d.ts +29 -0
  184. package/esm/src/embedding/index.d.ts.map +1 -0
  185. package/esm/src/embedding/index.js +26 -0
  186. package/esm/src/embedding/react/use-uploads.d.ts +31 -0
  187. package/esm/src/embedding/react/use-uploads.d.ts.map +1 -0
  188. package/esm/src/embedding/react/use-uploads.js +71 -0
  189. package/esm/src/embedding/resolve.d.ts +27 -0
  190. package/esm/src/embedding/resolve.d.ts.map +1 -0
  191. package/esm/src/embedding/resolve.js +94 -0
  192. package/esm/src/embedding/types.d.ts +90 -0
  193. package/esm/src/embedding/types.d.ts.map +1 -0
  194. package/esm/src/embedding/types.js +1 -0
  195. package/esm/src/embedding/upload-handler.d.ts +43 -0
  196. package/esm/src/embedding/upload-handler.d.ts.map +1 -0
  197. package/esm/src/embedding/upload-handler.js +144 -0
  198. package/esm/src/embedding/upload-loader.d.ts +14 -0
  199. package/esm/src/embedding/upload-loader.d.ts.map +1 -0
  200. package/esm/src/embedding/upload-loader.js +70 -0
  201. package/esm/src/embedding/upload-store.d.ts +27 -0
  202. package/esm/src/embedding/upload-store.d.ts.map +1 -0
  203. package/esm/src/embedding/upload-store.js +244 -0
  204. package/esm/src/embedding/vector-store.d.ts +33 -0
  205. package/esm/src/embedding/vector-store.d.ts.map +1 -0
  206. package/esm/src/embedding/vector-store.js +215 -0
  207. package/esm/src/errors/error-registry.d.ts +2 -1
  208. package/esm/src/errors/error-registry.d.ts.map +1 -1
  209. package/esm/src/errors/http-error.d.ts +1 -2
  210. package/esm/src/errors/http-error.d.ts.map +1 -1
  211. package/esm/src/errors/http-error.js +2 -2
  212. package/esm/src/errors/middleware/cli-error-boundary.d.ts.map +1 -1
  213. package/esm/src/errors/middleware/cli-error-boundary.js +13 -2
  214. package/esm/src/errors/middleware/wrap-unknown.d.ts +0 -7
  215. package/esm/src/errors/middleware/wrap-unknown.d.ts.map +1 -1
  216. package/esm/src/errors/middleware/wrap-unknown.js +0 -9
  217. package/esm/src/errors/veryfront-error.d.ts +0 -3
  218. package/esm/src/errors/veryfront-error.d.ts.map +1 -1
  219. package/esm/src/errors/veryfront-error.js +0 -5
  220. package/esm/src/html/schemas/html.schema.d.ts +2 -2
  221. package/esm/src/html/styles-builder/css-hash-cache.d.ts.map +1 -1
  222. package/esm/src/html/styles-builder/css-hash-cache.js +1 -2
  223. package/esm/src/html/styles-builder/plugin-loader.d.ts.map +1 -1
  224. package/esm/src/html/styles-builder/plugin-loader.js +50 -21
  225. package/esm/src/html/styles-builder/tailwind-compiler-cache.d.ts.map +1 -1
  226. package/esm/src/html/styles-builder/tailwind-compiler-cache.js +12 -4
  227. package/esm/src/html/utils.d.ts +0 -7
  228. package/esm/src/html/utils.d.ts.map +1 -1
  229. package/esm/src/html/utils.js +0 -25
  230. package/esm/src/modules/component-registry/registry.d.ts +0 -3
  231. package/esm/src/modules/component-registry/registry.d.ts.map +1 -1
  232. package/esm/src/modules/component-registry/registry.js +0 -3
  233. package/esm/src/modules/import-map/default-import-map.d.ts.map +1 -1
  234. package/esm/src/modules/import-map/default-import-map.js +8 -0
  235. package/esm/src/modules/react-loader/component-loader.d.ts.map +1 -1
  236. package/esm/src/modules/react-loader/component-loader.js +1 -0
  237. package/esm/src/modules/react-loader/ssr-module-loader/loader.d.ts.map +1 -1
  238. package/esm/src/modules/react-loader/ssr-module-loader/loader.js +10 -1
  239. package/esm/src/modules/react-loader/ssr-module-loader/types.d.ts +2 -0
  240. package/esm/src/modules/react-loader/ssr-module-loader/types.d.ts.map +1 -1
  241. package/esm/src/modules/react-loader/types.d.ts +2 -0
  242. package/esm/src/modules/react-loader/types.d.ts.map +1 -1
  243. package/esm/src/modules/server/module-server.d.ts +2 -0
  244. package/esm/src/modules/server/module-server.d.ts.map +1 -1
  245. package/esm/src/modules/server/module-server.js +2 -1
  246. package/esm/src/oauth/handlers/callback-handler.d.ts +2 -0
  247. package/esm/src/oauth/handlers/callback-handler.d.ts.map +1 -1
  248. package/esm/src/oauth/handlers/callback-handler.js +10 -4
  249. package/esm/src/oauth/providers/common.d.ts.map +1 -1
  250. package/esm/src/oauth/providers/common.js +0 -23
  251. package/esm/src/observability/auto-instrument/react-instrumentation.js +2 -1
  252. package/esm/src/observability/instruments/instruments-factory.d.ts +1 -1
  253. package/esm/src/observability/instruments/instruments-factory.d.ts.map +1 -1
  254. package/esm/src/observability/instruments/instruments-factory.js +5 -4
  255. package/esm/src/observability/metrics/config.js +5 -4
  256. package/esm/src/observability/metrics/manager.js +1 -1
  257. package/esm/src/observability/tracing/span-operations.d.ts.map +1 -1
  258. package/esm/src/observability/tracing/span-operations.js +14 -8
  259. package/esm/src/platform/compat/console/node.d.ts +0 -1
  260. package/esm/src/platform/compat/console/node.d.ts.map +1 -1
  261. package/esm/src/platform/compat/console/node.js +4 -11
  262. package/esm/src/platform/compat/fs.d.ts.map +1 -1
  263. package/esm/src/platform/compat/fs.js +4 -2
  264. package/esm/src/platform/compat/opaque-deps.d.ts +18 -2
  265. package/esm/src/platform/compat/opaque-deps.d.ts.map +1 -1
  266. package/esm/src/platform/compat/opaque-deps.js +19 -0
  267. package/esm/src/platform/compat/path/basic-operations.d.ts.map +1 -1
  268. package/esm/src/platform/compat/path/basic-operations.js +17 -10
  269. package/esm/src/platform/compat/path/resolution.d.ts.map +1 -1
  270. package/esm/src/platform/compat/path/resolution.js +65 -20
  271. package/esm/src/platform/compat/path/url-conversion.d.ts.map +1 -1
  272. package/esm/src/platform/compat/path/url-conversion.js +3 -2
  273. package/esm/src/platform/compat/process.d.ts +2 -14
  274. package/esm/src/platform/compat/process.d.ts.map +1 -1
  275. package/esm/src/platform/compat/process.js +92 -70
  276. package/esm/src/provider/index.d.ts +1 -1
  277. package/esm/src/provider/index.d.ts.map +1 -1
  278. package/esm/src/provider/index.js +1 -1
  279. package/esm/src/provider/local/ai-sdk-adapter.d.ts.map +1 -1
  280. package/esm/src/provider/local/ai-sdk-adapter.js +18 -18
  281. package/esm/src/provider/local/env.d.ts.map +1 -1
  282. package/esm/src/provider/local/env.js +2 -1
  283. package/esm/src/provider/local/local-embedding-adapter.d.ts +19 -0
  284. package/esm/src/provider/local/local-embedding-adapter.d.ts.map +1 -0
  285. package/esm/src/provider/local/local-embedding-adapter.js +32 -0
  286. package/esm/src/provider/local/local-embedding-engine.d.ts +17 -0
  287. package/esm/src/provider/local/local-embedding-engine.d.ts.map +1 -0
  288. package/esm/src/provider/local/local-embedding-engine.js +63 -0
  289. package/esm/src/provider/local/local-engine.d.ts +7 -0
  290. package/esm/src/provider/local/local-engine.d.ts.map +1 -1
  291. package/esm/src/provider/local/local-engine.js +1 -1
  292. package/esm/src/provider/local/model-catalog.d.ts +10 -1
  293. package/esm/src/provider/local/model-catalog.d.ts.map +1 -1
  294. package/esm/src/provider/local/model-catalog.js +61 -0
  295. package/esm/src/provider/model-registry.d.ts +10 -0
  296. package/esm/src/provider/model-registry.d.ts.map +1 -1
  297. package/esm/src/provider/model-registry.js +43 -0
  298. package/esm/src/proxy/retry.d.ts +3 -3
  299. package/esm/src/proxy/retry.d.ts.map +1 -1
  300. package/esm/src/proxy/retry.js +0 -7
  301. package/esm/src/proxy/tracing.d.ts +1 -5
  302. package/esm/src/proxy/tracing.d.ts.map +1 -1
  303. package/esm/src/proxy/tracing.js +1 -7
  304. package/esm/src/react/components/ai/agent-card.js +13 -13
  305. package/esm/src/react/components/ai/chat/components/animations.d.ts +5 -0
  306. package/esm/src/react/components/ai/chat/components/animations.d.ts.map +1 -1
  307. package/esm/src/react/components/ai/chat/components/animations.js +13 -1
  308. package/esm/src/react/components/ai/chat/components/attachment-pill.d.ts +15 -0
  309. package/esm/src/react/components/ai/chat/components/attachment-pill.d.ts.map +1 -0
  310. package/esm/src/react/components/ai/chat/components/attachment-pill.js +40 -0
  311. package/esm/src/react/components/ai/chat/components/branch-picker.d.ts +9 -0
  312. package/esm/src/react/components/ai/chat/components/branch-picker.d.ts.map +1 -0
  313. package/esm/src/react/components/ai/chat/components/branch-picker.js +17 -0
  314. package/esm/src/react/components/ai/chat/components/code-block.d.ts +8 -0
  315. package/esm/src/react/components/ai/chat/components/code-block.d.ts.map +1 -0
  316. package/esm/src/react/components/ai/chat/components/code-block.js +38 -0
  317. package/esm/src/react/components/ai/chat/components/drop-zone.d.ts +7 -0
  318. package/esm/src/react/components/ai/chat/components/drop-zone.d.ts.map +1 -0
  319. package/esm/src/react/components/ai/chat/components/drop-zone.js +14 -0
  320. package/esm/src/react/components/ai/chat/components/empty-state.d.ts.map +1 -1
  321. package/esm/src/react/components/ai/chat/components/empty-state.js +10 -8
  322. package/esm/src/react/components/ai/chat/components/inference-badge.js +1 -1
  323. package/esm/src/react/components/ai/chat/components/inline-citation.d.ts +10 -0
  324. package/esm/src/react/components/ai/chat/components/inline-citation.d.ts.map +1 -0
  325. package/esm/src/react/components/ai/chat/components/inline-citation.js +59 -0
  326. package/esm/src/react/components/ai/chat/components/message-actions.d.ts +3 -2
  327. package/esm/src/react/components/ai/chat/components/message-actions.d.ts.map +1 -1
  328. package/esm/src/react/components/ai/chat/components/message-actions.js +10 -10
  329. package/esm/src/react/components/ai/chat/components/message-edit-form.d.ts +8 -0
  330. package/esm/src/react/components/ai/chat/components/message-edit-form.d.ts.map +1 -0
  331. package/esm/src/react/components/ai/chat/components/message-edit-form.js +46 -0
  332. package/esm/src/react/components/ai/chat/components/message-feedback.d.ts +9 -0
  333. package/esm/src/react/components/ai/chat/components/message-feedback.d.ts.map +1 -0
  334. package/esm/src/react/components/ai/chat/components/message-feedback.js +19 -0
  335. package/esm/src/react/components/ai/chat/components/quick-actions.d.ts +14 -0
  336. package/esm/src/react/components/ai/chat/components/quick-actions.d.ts.map +1 -0
  337. package/esm/src/react/components/ai/chat/components/quick-actions.js +7 -0
  338. package/esm/src/react/components/ai/chat/components/reasoning.d.ts +3 -4
  339. package/esm/src/react/components/ai/chat/components/reasoning.d.ts.map +1 -1
  340. package/esm/src/react/components/ai/chat/components/reasoning.js +11 -6
  341. package/esm/src/react/components/ai/chat/components/sidebar.d.ts +14 -0
  342. package/esm/src/react/components/ai/chat/components/sidebar.d.ts.map +1 -0
  343. package/esm/src/react/components/ai/chat/components/sidebar.js +92 -0
  344. package/esm/src/react/components/ai/chat/components/skill-badge.d.ts +12 -0
  345. package/esm/src/react/components/ai/chat/components/skill-badge.d.ts.map +1 -0
  346. package/esm/src/react/components/ai/chat/components/skill-badge.js +34 -0
  347. package/esm/src/react/components/ai/chat/components/sources.d.ts +13 -0
  348. package/esm/src/react/components/ai/chat/components/sources.d.ts.map +1 -0
  349. package/esm/src/react/components/ai/chat/components/sources.js +28 -0
  350. package/esm/src/react/components/ai/chat/components/step-indicator.d.ts +8 -0
  351. package/esm/src/react/components/ai/chat/components/step-indicator.d.ts.map +1 -0
  352. package/esm/src/react/components/ai/chat/components/step-indicator.js +15 -0
  353. package/esm/src/react/components/ai/chat/components/tab-switcher.d.ts +16 -0
  354. package/esm/src/react/components/ai/chat/components/tab-switcher.d.ts.map +1 -0
  355. package/esm/src/react/components/ai/chat/components/tab-switcher.js +28 -0
  356. package/esm/src/react/components/ai/chat/components/tool-ui.d.ts.map +1 -1
  357. package/esm/src/react/components/ai/chat/components/tool-ui.js +23 -21
  358. package/esm/src/react/components/ai/chat/components/upgrade-cta.d.ts.map +1 -1
  359. package/esm/src/react/components/ai/chat/components/upgrade-cta.js +3 -3
  360. package/esm/src/react/components/ai/chat/components/uploads-panel.d.ts +16 -0
  361. package/esm/src/react/components/ai/chat/components/uploads-panel.d.ts.map +1 -0
  362. package/esm/src/react/components/ai/chat/components/uploads-panel.js +46 -0
  363. package/esm/src/react/components/ai/chat/composition/api.d.ts +10 -5
  364. package/esm/src/react/components/ai/chat/composition/api.d.ts.map +1 -1
  365. package/esm/src/react/components/ai/chat/composition/api.js +12 -20
  366. package/esm/src/react/components/ai/chat/composition/chat-composer.d.ts +35 -0
  367. package/esm/src/react/components/ai/chat/composition/chat-composer.d.ts.map +1 -0
  368. package/esm/src/react/components/ai/chat/composition/chat-composer.js +53 -0
  369. package/esm/src/react/components/ai/chat/composition/chat-empty.d.ts +20 -0
  370. package/esm/src/react/components/ai/chat/composition/chat-empty.d.ts.map +1 -0
  371. package/esm/src/react/components/ai/chat/composition/chat-empty.js +23 -0
  372. package/esm/src/react/components/ai/chat/composition/chat-if.d.ts +14 -0
  373. package/esm/src/react/components/ai/chat/composition/chat-if.d.ts.map +1 -0
  374. package/esm/src/react/components/ai/chat/composition/chat-if.js +11 -0
  375. package/esm/src/react/components/ai/chat/composition/chat-message-list.d.ts +36 -0
  376. package/esm/src/react/components/ai/chat/composition/chat-message-list.d.ts.map +1 -0
  377. package/esm/src/react/components/ai/chat/composition/chat-message-list.js +113 -0
  378. package/esm/src/react/components/ai/chat/composition/chat-root.d.ts +43 -0
  379. package/esm/src/react/components/ai/chat/composition/chat-root.d.ts.map +1 -0
  380. package/esm/src/react/components/ai/chat/composition/chat-root.js +78 -0
  381. package/esm/src/react/components/ai/chat/composition/error-banner.d.ts +12 -0
  382. package/esm/src/react/components/ai/chat/composition/error-banner.d.ts.map +1 -0
  383. package/esm/src/react/components/ai/chat/composition/error-banner.js +17 -0
  384. package/esm/src/react/components/ai/chat/composition/message.d.ts +54 -0
  385. package/esm/src/react/components/ai/chat/composition/message.d.ts.map +1 -0
  386. package/esm/src/react/components/ai/chat/composition/message.js +175 -0
  387. package/esm/src/react/components/ai/chat/composition/model-avatar.d.ts +14 -0
  388. package/esm/src/react/components/ai/chat/composition/model-avatar.d.ts.map +1 -0
  389. package/esm/src/react/components/ai/chat/composition/model-avatar.js +60 -0
  390. package/esm/src/react/components/ai/chat/contexts/chat-context.d.ts +45 -0
  391. package/esm/src/react/components/ai/chat/contexts/chat-context.d.ts.map +1 -0
  392. package/esm/src/react/components/ai/chat/contexts/chat-context.js +20 -0
  393. package/esm/src/react/components/ai/chat/contexts/composer-context.d.ts +34 -0
  394. package/esm/src/react/components/ai/chat/contexts/composer-context.d.ts.map +1 -0
  395. package/esm/src/react/components/ai/chat/contexts/composer-context.js +21 -0
  396. package/esm/src/react/components/ai/chat/contexts/index.d.ts +13 -0
  397. package/esm/src/react/components/ai/chat/contexts/index.d.ts.map +1 -0
  398. package/esm/src/react/components/ai/chat/contexts/index.js +12 -0
  399. package/esm/src/react/components/ai/chat/contexts/message-context.d.ts +30 -0
  400. package/esm/src/react/components/ai/chat/contexts/message-context.d.ts.map +1 -0
  401. package/esm/src/react/components/ai/chat/contexts/message-context.js +21 -0
  402. package/esm/src/react/components/ai/chat/contexts/thread-list-context.d.ts +23 -0
  403. package/esm/src/react/components/ai/chat/contexts/thread-list-context.d.ts.map +1 -0
  404. package/esm/src/react/components/ai/chat/contexts/thread-list-context.js +21 -0
  405. package/esm/src/react/components/ai/chat/hooks/use-threads.d.ts +24 -0
  406. package/esm/src/react/components/ai/chat/hooks/use-threads.d.ts.map +1 -0
  407. package/esm/src/react/components/ai/chat/hooks/use-threads.js +151 -0
  408. package/esm/src/react/components/ai/chat/index.d.ts +102 -17
  409. package/esm/src/react/components/ai/chat/index.d.ts.map +1 -1
  410. package/esm/src/react/components/ai/chat/index.js +164 -95
  411. package/esm/src/react/components/ai/chat/utils/export.d.ts +10 -0
  412. package/esm/src/react/components/ai/chat/utils/export.d.ts.map +1 -0
  413. package/esm/src/react/components/ai/chat/utils/export.js +64 -0
  414. package/esm/src/react/components/ai/chat/utils/message-parts.d.ts +12 -0
  415. package/esm/src/react/components/ai/chat/utils/message-parts.d.ts.map +1 -1
  416. package/esm/src/react/components/ai/chat/utils/message-parts.js +55 -0
  417. package/esm/src/react/components/ai/chat-with-sidebar.d.ts +98 -0
  418. package/esm/src/react/components/ai/chat-with-sidebar.d.ts.map +1 -0
  419. package/esm/src/react/components/ai/chat-with-sidebar.js +165 -0
  420. package/esm/src/react/components/ai/chat.d.ts +10 -1
  421. package/esm/src/react/components/ai/chat.d.ts.map +1 -1
  422. package/esm/src/react/components/ai/chat.js +25 -1
  423. package/esm/src/react/components/ai/error-boundary.js +6 -6
  424. package/esm/src/react/components/ai/icons/index.d.ts +9 -0
  425. package/esm/src/react/components/ai/icons/index.d.ts.map +1 -1
  426. package/esm/src/react/components/ai/icons/index.js +82 -0
  427. package/esm/src/react/components/ai/markdown.d.ts.map +1 -1
  428. package/esm/src/react/components/ai/markdown.js +12 -12
  429. package/esm/src/react/components/ai/model-selector.d.ts +10 -2
  430. package/esm/src/react/components/ai/model-selector.d.ts.map +1 -1
  431. package/esm/src/react/components/ai/model-selector.js +138 -4
  432. package/esm/src/react/components/ai/theme.d.ts +96 -13
  433. package/esm/src/react/components/ai/theme.d.ts.map +1 -1
  434. package/esm/src/react/components/ai/theme.js +177 -21
  435. package/esm/src/react/primitives/input-box.d.ts.map +1 -1
  436. package/esm/src/react/primitives/input-box.js +16 -3
  437. package/esm/src/rendering/cache/index.d.ts +1 -5
  438. package/esm/src/rendering/cache/index.d.ts.map +1 -1
  439. package/esm/src/rendering/cache/index.js +1 -5
  440. package/esm/src/rendering/component-handling.d.ts +2 -0
  441. package/esm/src/rendering/component-handling.d.ts.map +1 -1
  442. package/esm/src/rendering/component-handling.js +7 -9
  443. package/esm/src/rendering/orchestrator/pipeline.d.ts +11 -2
  444. package/esm/src/rendering/orchestrator/pipeline.d.ts.map +1 -1
  445. package/esm/src/rendering/page-renderer.d.ts.map +1 -1
  446. package/esm/src/rendering/page-renderer.js +1 -0
  447. package/esm/src/rendering/shared/context-aware-cache.d.ts.map +1 -1
  448. package/esm/src/rendering/shared/context-aware-cache.js +0 -4
  449. package/esm/src/repositories/schemas/index.d.ts +1 -1
  450. package/esm/src/repositories/schemas/index.d.ts.map +1 -1
  451. package/esm/src/repositories/schemas/index.js +1 -1
  452. package/esm/src/repositories/schemas/repository.schema.d.ts +0 -11
  453. package/esm/src/repositories/schemas/repository.schema.d.ts.map +1 -1
  454. package/esm/src/repositories/schemas/repository.schema.js +0 -13
  455. package/esm/src/repositories/types.d.ts +1 -1
  456. package/esm/src/repositories/types.d.ts.map +1 -1
  457. package/esm/src/routing/api/module-loader/esbuild-plugin.d.ts.map +1 -1
  458. package/esm/src/routing/api/module-loader/esbuild-plugin.js +11 -24
  459. package/esm/src/routing/api/module-loader/loader.d.ts +1 -0
  460. package/esm/src/routing/api/module-loader/loader.d.ts.map +1 -1
  461. package/esm/src/routing/api/module-loader/loader.js +347 -27
  462. package/esm/src/routing/api/openapi/path-utils.d.ts +0 -19
  463. package/esm/src/routing/api/openapi/path-utils.d.ts.map +1 -1
  464. package/esm/src/routing/api/openapi/path-utils.js +0 -34
  465. package/esm/src/routing/api/openapi/spec-generator.d.ts.map +1 -1
  466. package/esm/src/routing/api/openapi/spec-generator.js +1 -19
  467. package/esm/src/routing/api/openapi/types.d.ts +1 -0
  468. package/esm/src/routing/api/openapi/types.d.ts.map +1 -1
  469. package/esm/src/routing/api/openapi/types.js +18 -0
  470. package/esm/src/sandbox/sandbox.d.ts +1 -0
  471. package/esm/src/sandbox/sandbox.d.ts.map +1 -1
  472. package/esm/src/sandbox/sandbox.js +7 -8
  473. package/esm/src/security/http/cors/constants.d.ts +0 -2
  474. package/esm/src/security/http/cors/constants.d.ts.map +1 -1
  475. package/esm/src/security/http/cors/constants.js +0 -2
  476. package/esm/src/security/http/response/index.d.ts +3 -4
  477. package/esm/src/security/http/response/index.d.ts.map +1 -1
  478. package/esm/src/security/http/response/index.js +2 -3
  479. package/esm/src/server/context/enriched-context.d.ts +0 -8
  480. package/esm/src/server/context/enriched-context.d.ts.map +1 -1
  481. package/esm/src/server/context/enriched-context.js +1 -12
  482. package/esm/src/server/dev-server/server.d.ts.map +1 -1
  483. package/esm/src/server/dev-server/server.js +11 -4
  484. package/esm/src/server/dev-ui/manifest.d.ts +20 -20
  485. package/esm/src/server/dev-ui/manifest.js +20 -20
  486. package/esm/src/server/handlers/dev/framework-candidates.generated.d.ts +9 -0
  487. package/esm/src/server/handlers/dev/framework-candidates.generated.d.ts.map +1 -0
  488. package/esm/src/server/handlers/dev/framework-candidates.generated.js +5187 -0
  489. package/esm/src/server/handlers/dev/styles-candidate-scanner.d.ts.map +1 -1
  490. package/esm/src/server/handlers/dev/styles-candidate-scanner.js +3 -190
  491. package/esm/src/server/handlers/request/module/module-server-handler.d.ts.map +1 -1
  492. package/esm/src/server/handlers/request/module/module-server-handler.js +1 -0
  493. package/esm/src/server/runtime-handler/index.d.ts.map +1 -1
  494. package/esm/src/server/runtime-handler/index.js +14 -24
  495. package/esm/src/server/shared/renderer/memory/pressure.d.ts +0 -7
  496. package/esm/src/server/shared/renderer/memory/pressure.d.ts.map +1 -1
  497. package/esm/src/server/shared/renderer/memory/pressure.js +1 -13
  498. package/esm/src/server/utils/domain-lookup.d.ts +0 -4
  499. package/esm/src/server/utils/domain-lookup.d.ts.map +1 -1
  500. package/esm/src/server/utils/domain-lookup.js +0 -3
  501. package/esm/src/skill/allowed-tools.d.ts +54 -0
  502. package/esm/src/skill/allowed-tools.d.ts.map +1 -0
  503. package/esm/src/skill/allowed-tools.js +87 -0
  504. package/esm/src/skill/executor.d.ts +28 -0
  505. package/esm/src/skill/executor.d.ts.map +1 -0
  506. package/esm/src/skill/executor.js +187 -0
  507. package/esm/src/skill/index.d.ts +19 -0
  508. package/esm/src/skill/index.d.ts.map +1 -0
  509. package/esm/src/skill/index.js +24 -0
  510. package/esm/src/skill/parser.d.ts +30 -0
  511. package/esm/src/skill/parser.d.ts.map +1 -0
  512. package/esm/src/skill/parser.js +162 -0
  513. package/esm/src/skill/path-safety.d.ts +22 -0
  514. package/esm/src/skill/path-safety.d.ts.map +1 -0
  515. package/esm/src/skill/path-safety.js +156 -0
  516. package/esm/src/skill/prompt-augmentation.d.ts +19 -0
  517. package/esm/src/skill/prompt-augmentation.d.ts.map +1 -0
  518. package/esm/src/skill/prompt-augmentation.js +36 -0
  519. package/esm/src/skill/registry.d.ts +25 -0
  520. package/esm/src/skill/registry.d.ts.map +1 -0
  521. package/esm/src/skill/registry.js +42 -0
  522. package/esm/src/skill/tools.d.ts +27 -0
  523. package/esm/src/skill/tools.d.ts.map +1 -0
  524. package/esm/src/skill/tools.js +149 -0
  525. package/esm/src/skill/types.d.ts +85 -0
  526. package/esm/src/skill/types.d.ts.map +1 -0
  527. package/esm/src/skill/types.js +27 -0
  528. package/esm/src/studio/bridge/bridge-bundle.generated.d.ts +1 -1
  529. package/esm/src/studio/bridge/bridge-bundle.generated.d.ts.map +1 -1
  530. package/esm/src/studio/bridge/bridge-bundle.generated.js +1 -1
  531. package/esm/src/studio/element-selector-injector.d.ts +0 -2
  532. package/esm/src/studio/element-selector-injector.d.ts.map +1 -1
  533. package/esm/src/task/runner.d.ts +6 -0
  534. package/esm/src/task/runner.d.ts.map +1 -1
  535. package/esm/src/task/runner.js +8 -8
  536. package/esm/src/tool/factory.js +31 -39
  537. package/esm/src/transforms/esm/http-cache-helpers.d.ts +0 -8
  538. package/esm/src/transforms/esm/http-cache-helpers.d.ts.map +1 -1
  539. package/esm/src/transforms/esm/http-cache-helpers.js +0 -20
  540. package/esm/src/transforms/esm/path-resolver.d.ts +0 -14
  541. package/esm/src/transforms/esm/path-resolver.d.ts.map +1 -1
  542. package/esm/src/transforms/esm/path-resolver.js +1 -92
  543. package/esm/src/transforms/esm/source-url-embed.d.ts +0 -14
  544. package/esm/src/transforms/esm/source-url-embed.d.ts.map +1 -1
  545. package/esm/src/transforms/esm/source-url-embed.js +0 -47
  546. package/esm/src/transforms/esm/transform-cache.d.ts.map +1 -1
  547. package/esm/src/transforms/esm/transform-cache.js +2 -6
  548. package/esm/src/transforms/mdx/index.d.ts +0 -1
  549. package/esm/src/transforms/mdx/index.d.ts.map +1 -1
  550. package/esm/src/transforms/mdx/index.js +0 -4
  551. package/esm/src/transforms/pipeline/context.d.ts +0 -1
  552. package/esm/src/transforms/pipeline/context.d.ts.map +1 -1
  553. package/esm/src/transforms/pipeline/context.js +0 -1
  554. package/esm/src/transforms/pipeline/index.d.ts +1 -2
  555. package/esm/src/transforms/pipeline/index.d.ts.map +1 -1
  556. package/esm/src/transforms/pipeline/index.js +0 -3
  557. package/esm/src/transforms/pipeline/stages/ssr-http-cache.d.ts.map +1 -1
  558. package/esm/src/transforms/pipeline/stages/ssr-http-cache.js +0 -1
  559. package/esm/src/transforms/plugins/rehype-node-positions.d.ts.map +1 -1
  560. package/esm/src/transforms/plugins/rehype-node-positions.js +1 -0
  561. package/esm/src/types/entities/getEntityInfo.js +1 -1
  562. package/esm/src/types/index.d.ts +2 -13
  563. package/esm/src/types/index.d.ts.map +1 -1
  564. package/esm/src/types/server.d.ts +2 -1
  565. package/esm/src/types/server.d.ts.map +1 -1
  566. package/esm/src/utils/cache-file-ops.d.ts +1 -1
  567. package/esm/src/utils/cache-file-ops.d.ts.map +1 -1
  568. package/esm/src/utils/cache-file-ops.js +5 -6
  569. package/esm/src/utils/lru-wrapper.d.ts.map +1 -1
  570. package/esm/src/utils/lru-wrapper.js +2 -4
  571. package/esm/src/workflow/claude-code/event-publisher.d.ts +0 -4
  572. package/esm/src/workflow/claude-code/event-publisher.d.ts.map +1 -1
  573. package/esm/src/workflow/claude-code/event-publisher.js +2 -6
  574. package/esm/src/workflow/executor/workflow-executor.d.ts.map +1 -1
  575. package/esm/src/workflow/executor/workflow-executor.js +6 -1
  576. package/esm/src/workflow/react/use-workflow-list.d.ts.map +1 -1
  577. package/esm/src/workflow/react/use-workflow-list.js +2 -1
  578. package/esm/src/workflow/schemas/workflow.schema.d.ts +8 -8
  579. package/package.json +10 -3
  580. package/src/cli/app/components/inline-input.ts +0 -5
  581. package/src/cli/app/components/list-select.ts +0 -21
  582. package/src/cli/app/operations/project-creation.ts +4 -109
  583. package/src/cli/app/shell.ts +2 -2
  584. package/src/cli/app/utils.ts +0 -22
  585. package/src/cli/app/views/dashboard.ts +0 -17
  586. package/src/cli/app/views/startup.ts +0 -13
  587. package/src/cli/auth/login.ts +1 -2
  588. package/src/cli/auth/token-store.ts +1 -1
  589. package/src/cli/auth/utils.ts +2 -1
  590. package/src/cli/commands/generate/integration-generator.ts +1 -1
  591. package/src/cli/commands/init/catalog.ts +3 -3
  592. package/src/cli/commands/init/command-help.ts +2 -2
  593. package/src/cli/commands/init/config-generator.ts +9 -0
  594. package/src/cli/commands/init/types.ts +1 -1
  595. package/src/cli/help/formatters.ts +11 -4
  596. package/src/cli/help/main-help.ts +2 -3
  597. package/src/cli/help/tips.ts +1 -1
  598. package/src/cli/mcp/remote-file-tools.ts +1 -1
  599. package/src/cli/mcp/server.ts +2 -5
  600. package/src/cli/mcp/tools/catalog-tools.ts +3 -3
  601. package/src/cli/mcp/tools/dev-tools.ts +1 -2
  602. package/src/cli/mcp/tools.ts +8 -2
  603. package/src/cli/shared/reserve-slug.ts +1 -4
  604. package/src/cli/sync/ignore.ts +26 -21
  605. package/src/cli/templates/index.ts +2 -2
  606. package/src/cli/templates/manifest.js +15 -13
  607. package/src/cli/templates/types.ts +1 -1
  608. package/src/cli/ui/colors.ts +0 -12
  609. package/src/cli/ui/dot-matrix.ts +3 -6
  610. package/src/cli/ui/tui.ts +3 -3
  611. package/src/cli/utils/index.ts +1 -1
  612. package/src/cli/utils/package-manager.ts +3 -4
  613. package/src/deno.js +30 -20
  614. package/src/src/agent/chat-handler.ts +138 -28
  615. package/src/src/agent/factory.ts +58 -9
  616. package/src/src/agent/index.ts +24 -2
  617. package/src/src/agent/memory/memory.ts +0 -9
  618. package/src/src/agent/react/index.ts +2 -0
  619. package/src/src/agent/react/use-chat/index.ts +2 -0
  620. package/src/src/agent/react/use-chat/streaming/handler.ts +66 -5
  621. package/src/src/agent/react/use-chat/streaming/parts-builder.ts +18 -1
  622. package/src/src/agent/react/use-chat/streaming/types.ts +6 -0
  623. package/src/src/agent/react/use-chat/types.ts +26 -1
  624. package/src/src/agent/react/use-chat/use-chat.ts +245 -36
  625. package/src/src/agent/runtime/index.ts +213 -35
  626. package/src/src/agent/runtime/tool-helpers.ts +9 -0
  627. package/src/src/agent/types.ts +10 -0
  628. package/src/src/ai/registry-manager.ts +2 -1
  629. package/src/src/build/bundler/code-splitter/manifest-builder.ts +1 -1
  630. package/src/src/build/compiler/mdx-compiler/validator.ts +3 -7
  631. package/src/src/build/compiler/mdx-to-js.ts +0 -101
  632. package/src/src/build/index.ts +0 -8
  633. package/src/src/build/production-build/build/route-collector.ts +2 -4
  634. package/src/src/build/production-build/client-runtime.ts +21 -5
  635. package/src/src/build/production-build/templates.ts +9 -18
  636. package/src/src/build/vendor-cache.ts +0 -6
  637. package/src/src/cache/tokenizing-gateway.ts +1 -9
  638. package/src/src/chat/index.ts +169 -34
  639. package/src/src/config/define-config.ts +30 -29
  640. package/src/src/config/loader.ts +10 -9
  641. package/src/src/config/schemas/config.schema.ts +12 -0
  642. package/src/src/data/data-fetcher.ts +15 -21
  643. package/src/src/data/server-data-fetcher.ts +1 -8
  644. package/src/src/data/static-data-fetcher.ts +1 -6
  645. package/src/src/discovery/discovery-engine.ts +27 -0
  646. package/src/src/discovery/discovery-utils.ts +0 -7
  647. package/src/src/discovery/file-discovery.ts +3 -9
  648. package/src/src/discovery/handlers/index.ts +1 -0
  649. package/src/src/discovery/handlers/skill-handler.ts +123 -0
  650. package/src/src/discovery/handlers/task-handler.ts +1 -5
  651. package/src/src/discovery/transpiler.ts +7 -2
  652. package/src/src/discovery/types.ts +3 -0
  653. package/src/src/embedding/chunk.ts +60 -0
  654. package/src/src/embedding/embedding.ts +62 -0
  655. package/src/src/embedding/index.ts +49 -0
  656. package/src/src/embedding/react/use-uploads.ts +101 -0
  657. package/src/src/embedding/resolve.ts +126 -0
  658. package/src/src/embedding/types.ts +103 -0
  659. package/src/src/embedding/upload-handler.ts +180 -0
  660. package/src/src/embedding/upload-loader.ts +76 -0
  661. package/src/src/embedding/upload-store.ts +299 -0
  662. package/src/src/embedding/vector-store.ts +282 -0
  663. package/src/src/errors/error-registry.ts +2 -2
  664. package/src/src/errors/http-error.ts +7 -3
  665. package/src/src/errors/middleware/cli-error-boundary.ts +28 -2
  666. package/src/src/errors/middleware/wrap-unknown.ts +0 -10
  667. package/src/src/errors/veryfront-error.ts +0 -9
  668. package/src/src/html/styles-builder/css-hash-cache.ts +5 -2
  669. package/src/src/html/styles-builder/plugin-loader.ts +58 -21
  670. package/src/src/html/styles-builder/tailwind-compiler-cache.ts +11 -4
  671. package/src/src/html/utils.ts +0 -33
  672. package/src/src/modules/component-registry/registry.ts +0 -3
  673. package/src/src/modules/import-map/default-import-map.ts +10 -0
  674. package/src/src/modules/react-loader/component-loader.ts +1 -0
  675. package/src/src/modules/react-loader/ssr-module-loader/loader.ts +12 -1
  676. package/src/src/modules/react-loader/ssr-module-loader/types.ts +2 -0
  677. package/src/src/modules/react-loader/types.ts +2 -0
  678. package/src/src/modules/server/module-server.ts +4 -1
  679. package/src/src/modules/server/websocket-handler.ts +1 -1
  680. package/src/src/oauth/handlers/callback-handler.ts +17 -5
  681. package/src/src/oauth/providers/base.ts +3 -3
  682. package/src/src/oauth/providers/common.ts +0 -23
  683. package/src/src/observability/auto-instrument/react-instrumentation.ts +2 -2
  684. package/src/src/observability/instruments/instruments-factory.ts +6 -6
  685. package/src/src/observability/metrics/config.ts +5 -5
  686. package/src/src/observability/metrics/manager.ts +1 -1
  687. package/src/src/observability/tracing/span-operations.ts +14 -9
  688. package/src/src/platform/compat/console/node.ts +4 -14
  689. package/src/src/platform/compat/fs.ts +14 -3
  690. package/src/src/platform/compat/opaque-deps.ts +32 -2
  691. package/src/src/platform/compat/path/basic-operations.ts +19 -10
  692. package/src/src/platform/compat/path/resolution.ts +69 -18
  693. package/src/src/platform/compat/path/url-conversion.ts +10 -6
  694. package/src/src/platform/compat/process.ts +133 -76
  695. package/src/src/provider/index.ts +1 -0
  696. package/src/src/provider/local/ai-sdk-adapter.ts +40 -37
  697. package/src/src/provider/local/env.ts +4 -1
  698. package/src/src/provider/local/local-embedding-adapter.ts +37 -0
  699. package/src/src/provider/local/local-embedding-engine.ts +88 -0
  700. package/src/src/provider/local/local-engine.ts +1 -1
  701. package/src/src/provider/local/model-catalog.ts +67 -1
  702. package/src/src/provider/model-registry.ts +47 -0
  703. package/src/src/proxy/retry.ts +0 -9
  704. package/src/src/proxy/tracing.ts +1 -9
  705. package/src/src/react/components/ai/agent-card.tsx +13 -13
  706. package/src/src/react/components/ai/chat/components/animations.tsx +31 -1
  707. package/src/src/react/components/ai/chat/components/attachment-pill.tsx +110 -0
  708. package/src/src/react/components/ai/chat/components/branch-picker.tsx +70 -0
  709. package/src/src/react/components/ai/chat/components/code-block.tsx +82 -0
  710. package/src/src/react/components/ai/chat/components/drop-zone.tsx +49 -0
  711. package/src/src/react/components/ai/chat/components/empty-state.tsx +20 -8
  712. package/src/src/react/components/ai/chat/components/inference-badge.tsx +1 -1
  713. package/src/src/react/components/ai/chat/components/inline-citation.tsx +150 -0
  714. package/src/src/react/components/ai/chat/components/message-actions.tsx +73 -51
  715. package/src/src/react/components/ai/chat/components/message-edit-form.tsx +95 -0
  716. package/src/src/react/components/ai/chat/components/message-feedback.tsx +72 -0
  717. package/src/src/react/components/ai/chat/components/quick-actions.tsx +38 -0
  718. package/src/src/react/components/ai/chat/components/reasoning.tsx +40 -35
  719. package/src/src/react/components/ai/chat/components/sidebar.tsx +204 -0
  720. package/src/src/react/components/ai/chat/components/skill-badge.tsx +51 -0
  721. package/src/src/react/components/ai/chat/components/sources.tsx +99 -0
  722. package/src/src/react/components/ai/chat/components/step-indicator.tsx +33 -0
  723. package/src/src/react/components/ai/chat/components/tab-switcher.tsx +69 -0
  724. package/src/src/react/components/ai/chat/components/tool-ui.tsx +31 -29
  725. package/src/src/react/components/ai/chat/components/upgrade-cta.tsx +3 -4
  726. package/src/src/react/components/ai/chat/components/uploads-panel.tsx +129 -0
  727. package/src/src/react/components/ai/chat/composition/api.tsx +12 -62
  728. package/src/src/react/components/ai/chat/composition/chat-composer.tsx +205 -0
  729. package/src/src/react/components/ai/chat/composition/chat-empty.tsx +77 -0
  730. package/src/src/react/components/ai/chat/composition/chat-if.tsx +25 -0
  731. package/src/src/react/components/ai/chat/composition/chat-message-list.tsx +356 -0
  732. package/src/src/react/components/ai/chat/composition/chat-root.tsx +181 -0
  733. package/src/src/react/components/ai/chat/composition/error-banner.tsx +38 -0
  734. package/src/src/react/components/ai/chat/composition/message.tsx +337 -0
  735. package/src/src/react/components/ai/chat/composition/model-avatar.tsx +103 -0
  736. package/src/src/react/components/ai/chat/contexts/chat-context.tsx +78 -0
  737. package/src/src/react/components/ai/chat/contexts/composer-context.tsx +59 -0
  738. package/src/src/react/components/ai/chat/contexts/index.ts +36 -0
  739. package/src/src/react/components/ai/chat/contexts/message-context.tsx +49 -0
  740. package/src/src/react/components/ai/chat/contexts/thread-list-context.tsx +40 -0
  741. package/src/src/react/components/ai/chat/hooks/use-threads.ts +208 -0
  742. package/src/src/react/components/ai/chat/index.tsx +389 -230
  743. package/src/src/react/components/ai/chat/utils/export.ts +77 -0
  744. package/src/src/react/components/ai/chat/utils/message-parts.ts +63 -1
  745. package/src/src/react/components/ai/chat-with-sidebar.tsx +371 -0
  746. package/src/src/react/components/ai/chat.tsx +122 -7
  747. package/src/src/react/components/ai/error-boundary.tsx +6 -6
  748. package/src/src/react/components/ai/icons/index.ts +100 -0
  749. package/src/src/react/components/ai/markdown.tsx +12 -15
  750. package/src/src/react/components/ai/model-selector.tsx +223 -15
  751. package/src/src/react/components/ai/theme.ts +205 -39
  752. package/src/src/react/primitives/input-box.tsx +27 -4
  753. package/src/src/rendering/cache/index.ts +12 -5
  754. package/src/src/rendering/component-handling.ts +9 -9
  755. package/src/src/rendering/orchestrator/pipeline.ts +12 -2
  756. package/src/src/rendering/page-renderer.ts +1 -0
  757. package/src/src/rendering/renderer.ts +1 -1
  758. package/src/src/rendering/shared/context-aware-cache.ts +0 -5
  759. package/src/src/repositories/schemas/index.ts +0 -2
  760. package/src/src/repositories/schemas/repository.schema.ts +0 -15
  761. package/src/src/repositories/types.ts +1 -6
  762. package/src/src/routing/api/module-loader/esbuild-plugin.ts +11 -25
  763. package/src/src/routing/api/module-loader/loader.ts +421 -17
  764. package/src/src/routing/api/openapi/path-utils.ts +0 -39
  765. package/src/src/routing/api/openapi/spec-generator.ts +1 -20
  766. package/src/src/routing/api/openapi/types.ts +20 -0
  767. package/src/src/sandbox/sandbox.ts +8 -8
  768. package/src/src/security/http/cors/constants.ts +0 -4
  769. package/src/src/security/http/response/index.ts +3 -9
  770. package/src/src/server/context/enriched-context.ts +1 -19
  771. package/src/src/server/dev-server/server.ts +11 -4
  772. package/src/src/server/dev-ui/manifest.js +20 -20
  773. package/src/src/server/handlers/dev/framework-candidates.generated.ts +5188 -0
  774. package/src/src/server/handlers/dev/styles-candidate-scanner.ts +3 -191
  775. package/src/src/server/handlers/request/module/module-server-handler.ts +1 -0
  776. package/src/src/server/runtime-handler/index.ts +17 -28
  777. package/src/src/server/shared/renderer/memory/pressure.ts +2 -15
  778. package/src/src/server/utils/domain-lookup.ts +0 -4
  779. package/src/src/skill/allowed-tools.ts +107 -0
  780. package/src/src/skill/executor.ts +215 -0
  781. package/src/src/skill/index.ts +60 -0
  782. package/src/src/skill/parser.ts +214 -0
  783. package/src/src/skill/path-safety.ts +203 -0
  784. package/src/src/skill/prompt-augmentation.ts +48 -0
  785. package/src/src/skill/registry.ts +51 -0
  786. package/src/src/skill/tools.ts +197 -0
  787. package/src/src/skill/types.ts +107 -0
  788. package/src/src/studio/bridge/bridge-bundle.generated.ts +1 -1
  789. package/src/src/studio/element-selector-injector.ts +0 -2
  790. package/src/src/task/runner.ts +10 -8
  791. package/src/src/tool/factory.ts +54 -54
  792. package/src/src/transforms/esm/http-cache-helpers.ts +0 -20
  793. package/src/src/transforms/esm/path-resolver.ts +1 -140
  794. package/src/src/transforms/esm/source-url-embed.ts +0 -53
  795. package/src/src/transforms/esm/transform-cache.ts +3 -7
  796. package/src/src/transforms/mdx/index.ts +0 -5
  797. package/src/src/transforms/pipeline/context.ts +0 -2
  798. package/src/src/transforms/pipeline/index.ts +0 -4
  799. package/src/src/transforms/pipeline/stages/ssr-http-cache.ts +0 -1
  800. package/src/src/transforms/plugins/rehype-node-positions.ts +1 -0
  801. package/src/src/types/entities/getEntityInfo.ts +1 -1
  802. package/src/src/types/index.ts +1 -20
  803. package/src/src/types/server.ts +1 -1
  804. package/src/src/utils/cache-file-ops.ts +5 -5
  805. package/src/src/utils/logger/logger.ts +2 -2
  806. package/src/src/utils/lru-wrapper.ts +2 -8
  807. package/src/src/workflow/claude-code/event-publisher.ts +13 -4
  808. package/src/src/workflow/executor/workflow-executor.ts +7 -2
  809. package/src/src/workflow/react/use-workflow-list.ts +3 -2
  810. package/esm/src/transforms/mdx/parser.d.ts +0 -4
  811. package/esm/src/transforms/mdx/parser.d.ts.map +0 -1
  812. package/esm/src/transforms/mdx/parser.js +0 -49
  813. package/src/src/transforms/mdx/parser.ts +0 -65
@@ -18,11 +18,6 @@ export declare function getEnvString(key: string, fallback: string): string;
18
18
  export declare function getEnvNumber(key: string): number | undefined;
19
19
  export declare function getEnvNumber(key: string, fallback: number): number;
20
20
  export declare function getEnvBoolean(key: string, fallback?: boolean, options?: EnvBooleanOptions): boolean;
21
- /**
22
- * Get an environment variable or throw if not set
23
- * @throws Error if the environment variable is not set
24
- */
25
- export declare function requireEnv(key: string): string;
26
21
  export declare function setEnv(key: string, value: string): void;
27
22
  export declare function deleteEnv(key: string): void;
28
23
  type EnvOverlayStorage = {
@@ -36,7 +31,6 @@ type EnvOverlayStorage = {
36
31
  */
37
32
  export declare function getEnvOverlayStorage(): EnvOverlayStorage | null;
38
33
  export declare function pid(): number;
39
- export declare function ppid(): number;
40
34
  export declare function memoryUsage(): {
41
35
  rss: number;
42
36
  heapTotal: number;
@@ -59,14 +53,6 @@ export declare function getTerminalSize(): {
59
53
  columns: number;
60
54
  rows: number;
61
55
  };
62
- /**
63
- * Get network interfaces
64
- */
65
- export declare function getNetworkInterfaces(): Promise<Array<{
66
- name: string;
67
- address: string;
68
- family: "IPv4" | "IPv6";
69
- }>>;
70
56
  /**
71
57
  * Get runtime version string
72
58
  */
@@ -150,6 +136,8 @@ export interface CommandOptions {
150
136
  inherit?: boolean;
151
137
  /** Use shell to run the command (needed for .cmd files on Windows) */
152
138
  shell?: boolean;
139
+ /** Kill the command if it exceeds this duration (milliseconds) */
140
+ timeoutMs?: number;
153
141
  }
154
142
  /**
155
143
  * Run a command and return the result.
@@ -1 +1 @@
1
- {"version":3,"file":"process.d.ts","sourceRoot":"","sources":["../../../../src/src/platform/compat/process.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"process.d.ts","sourceRoot":"","sources":["../../../../src/src/platform/compat/process.ts"],"names":[],"mappings":"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"}
@@ -137,16 +137,6 @@ export function getEnvBoolean(key, fallback = false, options = {}) {
137
137
  }
138
138
  return fallback;
139
139
  }
140
- /**
141
- * Get an environment variable or throw if not set
142
- * @throws Error if the environment variable is not set
143
- */
144
- export function requireEnv(key) {
145
- const value = getEnv(key);
146
- if (value === undefined)
147
- throw new Error(`Required environment variable "${key}" is not set`);
148
- return value;
149
- }
150
140
  export function setEnv(key, value) {
151
141
  if (IS_DENO) {
152
142
  dntShim.Deno.env.set(key, value);
@@ -189,13 +179,6 @@ export function pid() {
189
179
  return nodeProcess.pid;
190
180
  return 0;
191
181
  }
192
- export function ppid() {
193
- if (IS_DENO && "ppid" in dntShim.Deno)
194
- return dntShim.Deno.ppid || 0;
195
- if (hasNodeProcess)
196
- return nodeProcess.ppid || 0;
197
- return 0;
198
- }
199
182
  export function memoryUsage() {
200
183
  if (IS_DENO) {
201
184
  const { rss, heapTotal, heapUsed, external } = dntShim.Deno.memoryUsage();
@@ -249,38 +232,6 @@ export function getTerminalSize() {
249
232
  return { columns, rows };
250
233
  return defaultSize;
251
234
  }
252
- /**
253
- * Get network interfaces
254
- */
255
- export async function getNetworkInterfaces() {
256
- if (IS_DENO) {
257
- return dntShim.Deno.networkInterfaces().map((iface) => ({
258
- name: iface.name,
259
- address: iface.address,
260
- family: iface.family,
261
- }));
262
- }
263
- // Bun and Node.js both support node:os
264
- if (!hasNodeProcess && !IS_BUN) {
265
- throw new Error("networkInterfaces() is not supported in this runtime");
266
- }
267
- // Use dynamicImport to avoid static analysis by bundlers
268
- const os = await dynamicImport("node:os");
269
- const interfaces = os.networkInterfaces();
270
- const result = [];
271
- for (const [name, addrs] of Object.entries(interfaces)) {
272
- if (!addrs)
273
- continue;
274
- for (const addr of addrs) {
275
- result.push({
276
- name,
277
- address: addr.address,
278
- family: addr.family,
279
- });
280
- }
281
- }
282
- return result;
283
- }
284
235
  /**
285
236
  * Get runtime version string
286
237
  */
@@ -472,15 +423,60 @@ export function readStdinByteSync() {
472
423
  }
473
424
  if (IS_BUN) {
474
425
  // Bun: read one byte from the file descriptor directly
475
- // deno-lint-ignore no-explicit-any
476
- const Bun = dntShim.dntGlobalThis.Bun;
477
- const chunk = Bun?.stdin?.read?.(1);
478
- if (chunk && chunk.length > 0)
479
- return chunk[0];
426
+ const BunGlobal = dntShim.dntGlobalThis
427
+ .Bun;
428
+ const chunk = BunGlobal?.stdin?.read?.(1);
429
+ if (chunk && chunk.length > 0) {
430
+ const first = chunk.at(0);
431
+ return first ?? null;
432
+ }
480
433
  return null;
481
434
  }
482
435
  return null;
483
436
  }
437
+ const COMMAND_TIMEOUT_EXIT_CODE = 124;
438
+ const FORCE_KILL_GRACE_MS = 250;
439
+ function createTimeoutResult(timeoutMs, stdout, stderr) {
440
+ return {
441
+ success: false,
442
+ code: COMMAND_TIMEOUT_EXIT_CODE,
443
+ stdout,
444
+ stderr: `${stderr ?? ""}\nCommand timed out after ${timeoutMs}ms`.trim(),
445
+ };
446
+ }
447
+ function createProcessTimeout(timeoutMs, terminate, forceTerminate) {
448
+ let timedOut = false;
449
+ let timeoutId;
450
+ let forceKillId;
451
+ if (timeoutMs && timeoutMs > 0) {
452
+ timeoutId = dntShim.setTimeout(() => {
453
+ timedOut = true;
454
+ try {
455
+ terminate();
456
+ }
457
+ catch {
458
+ // Best-effort terminate.
459
+ }
460
+ forceKillId = dntShim.setTimeout(() => {
461
+ try {
462
+ forceTerminate();
463
+ }
464
+ catch {
465
+ // Best-effort force terminate.
466
+ }
467
+ }, FORCE_KILL_GRACE_MS);
468
+ }, timeoutMs);
469
+ }
470
+ return {
471
+ hasTimedOut: () => timedOut,
472
+ clear: () => {
473
+ if (timeoutId)
474
+ clearTimeout(timeoutId);
475
+ if (forceKillId)
476
+ clearTimeout(forceKillId);
477
+ },
478
+ };
479
+ }
484
480
  async function readStreamToString(stream) {
485
481
  const reader = stream.getReader();
486
482
  const chunks = [];
@@ -511,7 +507,8 @@ async function readStreamToString(stream) {
511
507
  * @param options.shell - Use shell to run command (needed for .cmd on Windows)
512
508
  */
513
509
  export async function runCommand(cmd, options = {}) {
514
- const { args = [], cwd: cmdCwd, env: cmdEnv, capture = false, inherit = false, shell = false } = options;
510
+ const { args = [], cwd: cmdCwd, env: cmdEnv, capture = false, inherit = false, shell = false, timeoutMs, } = options;
511
+ const effectiveTimeoutMs = timeoutMs && timeoutMs > 0 ? Math.floor(timeoutMs) : undefined;
515
512
  // Determine stdio mode: inherit > capture > null
516
513
  const stdioMode = inherit ? "inherit" : capture ? "piped" : "null";
517
514
  if (IS_DENO) {
@@ -523,14 +520,26 @@ export async function runCommand(cmd, options = {}) {
523
520
  stdout: stdioMode,
524
521
  stderr: stdioMode,
525
522
  });
526
- const output = await command.output();
527
- const decoder = new TextDecoder();
528
- return {
529
- success: output.success,
530
- code: output.code,
531
- stdout: capture ? decoder.decode(output.stdout) : undefined,
532
- stderr: capture ? decoder.decode(output.stderr) : undefined,
533
- };
523
+ const child = command.spawn();
524
+ const timeout = createProcessTimeout(effectiveTimeoutMs, () => child.kill("SIGTERM"), () => child.kill("SIGKILL"));
525
+ try {
526
+ const [status, stdout, stderr] = await Promise.all([
527
+ child.status,
528
+ capture && child.stdout ? readStreamToString(child.stdout) : Promise.resolve(undefined),
529
+ capture && child.stderr ? readStreamToString(child.stderr) : Promise.resolve(undefined),
530
+ ]);
531
+ if (timeout.hasTimedOut())
532
+ return createTimeoutResult(effectiveTimeoutMs, stdout, stderr);
533
+ return {
534
+ success: status.success,
535
+ code: status.code,
536
+ stdout,
537
+ stderr,
538
+ };
539
+ }
540
+ finally {
541
+ timeout.clear();
542
+ }
534
543
  }
535
544
  if (IS_BUN) {
536
545
  const bunGlobal = dntShim.dntGlobalThis;
@@ -550,14 +559,20 @@ export async function runCommand(cmd, options = {}) {
550
559
  stdout: bunStdio,
551
560
  stderr: bunStdio,
552
561
  });
553
- const code = await proc.exited;
554
- let stdout;
555
- let stderr;
556
- if (capture) {
557
- stdout = proc.stdout ? await readStreamToString(proc.stdout) : undefined;
558
- stderr = proc.stderr ? await readStreamToString(proc.stderr) : undefined;
562
+ const timeout = createProcessTimeout(effectiveTimeoutMs, () => proc.kill?.("SIGTERM"), () => proc.kill?.("SIGKILL"));
563
+ try {
564
+ const [code, stdout, stderr] = await Promise.all([
565
+ proc.exited,
566
+ capture && proc.stdout ? readStreamToString(proc.stdout) : Promise.resolve(undefined),
567
+ capture && proc.stderr ? readStreamToString(proc.stderr) : Promise.resolve(undefined),
568
+ ]);
569
+ if (timeout.hasTimedOut())
570
+ return createTimeoutResult(effectiveTimeoutMs, stdout, stderr);
571
+ return { success: code === 0, code, stdout, stderr };
572
+ }
573
+ finally {
574
+ timeout.clear();
559
575
  }
560
- return { success: code === 0, code, stdout, stderr };
561
576
  }
562
577
  if (!hasNodeProcess)
563
578
  return { success: false, code: 1 };
@@ -577,6 +592,7 @@ export async function runCommand(cmd, options = {}) {
577
592
  let stdout = "";
578
593
  let stderr = "";
579
594
  const decoder = new TextDecoder();
595
+ const timeout = createProcessTimeout(effectiveTimeoutMs, () => child.kill("SIGTERM"), () => child.kill("SIGKILL"));
580
596
  if (capture) {
581
597
  child.stdout?.on("data", (data) => {
582
598
  stdout += decoder.decode(data);
@@ -586,6 +602,11 @@ export async function runCommand(cmd, options = {}) {
586
602
  });
587
603
  }
588
604
  child.on("close", (code) => {
605
+ timeout.clear();
606
+ if (timeout.hasTimedOut()) {
607
+ resolve(createTimeoutResult(effectiveTimeoutMs, capture ? stdout : undefined, capture ? stderr : undefined));
608
+ return;
609
+ }
589
610
  resolve({
590
611
  success: code === 0,
591
612
  code: code ?? 1,
@@ -594,6 +615,7 @@ export async function runCommand(cmd, options = {}) {
594
615
  });
595
616
  });
596
617
  child.on("error", () => {
618
+ timeout.clear();
597
619
  resolve({ success: false, code: 1 });
598
620
  });
599
621
  });
@@ -16,6 +16,6 @@
16
16
  * ```
17
17
  */
18
18
  import "../../_dnt.polyfills.js";
19
- export { clearModelProviders, ensureModelReady, getRegisteredModelProviders, hasModelProvider, registerModelProvider, resolveModel, } from "./model-registry.js";
19
+ export { clearModelProviders, ensureModelReady, findAvailableCloudModel, getRegisteredModelProviders, hasModelProvider, registerModelProvider, resolveModel, } from "./model-registry.js";
20
20
  export type { ModelProviderFactory } from "./model-registry.js";
21
21
  //# 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,2BAA2B,EAC3B,gBAAgB,EAChB,qBAAqB,EACrB,YAAY,GACb,MAAM,qBAAqB,CAAC;AAC7B,YAAY,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC"}
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"}
@@ -16,4 +16,4 @@
16
16
  * ```
17
17
  */
18
18
  import "../../_dnt.polyfills.js";
19
- export { clearModelProviders, ensureModelReady, getRegisteredModelProviders, hasModelProvider, registerModelProvider, resolveModel, } from "./model-registry.js";
19
+ export { clearModelProviders, ensureModelReady, findAvailableCloudModel, getRegisteredModelProviders, hasModelProvider, registerModelProvider, resolveModel, } from "./model-registry.js";
@@ -1 +1 @@
1
- {"version":3,"file":"ai-sdk-adapter.d.ts","sourceRoot":"","sources":["../../../../src/src/provider/local/ai-sdk-adapter.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,IAAI,CAAC;AA+CxC;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,aAAa,CA8IhE"}
1
+ {"version":3,"file":"ai-sdk-adapter.d.ts","sourceRoot":"","sources":["../../../../src/src/provider/local/ai-sdk-adapter.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,IAAI,CAAC;AA4ExC;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,aAAa,CAoHhE"}
@@ -19,15 +19,17 @@ const logger = serverLogger.component("local-llm");
19
19
  * The AI SDK prompt is an array of message objects with role and content arrays.
20
20
  * We extract text content for the local model.
21
21
  */
22
- // deno-lint-ignore no-explicit-any
23
22
  function convertPrompt(prompt) {
24
23
  const messages = [];
25
24
  for (const msg of prompt) {
26
- const role = msg.role;
27
25
  // Skip tool messages — local models don't support tool calling
28
- if (role === "tool")
26
+ if (msg.role === "tool")
29
27
  continue;
30
- const mappedRole = role === "system" ? "system" : role === "user" ? "user" : "assistant";
28
+ const mappedRole = msg.role === "system"
29
+ ? "system"
30
+ : msg.role === "user"
31
+ ? "user"
32
+ : "assistant";
31
33
  // Extract text content from content array
32
34
  let text = "";
33
35
  if (typeof msg.content === "string") {
@@ -46,6 +48,16 @@ function convertPrompt(prompt) {
46
48
  }
47
49
  return messages;
48
50
  }
51
+ /** Map AI SDK generation options to local engine GenerateOptions. */
52
+ function toGenerateOptions(options) {
53
+ return {
54
+ maxNewTokens: options.maxOutputTokens ?? 512,
55
+ temperature: options.temperature ?? 0.7,
56
+ topP: options.topP,
57
+ topK: options.topK,
58
+ stopSequences: options.stopSequences,
59
+ };
60
+ }
49
61
  /**
50
62
  * Create a local AI SDK LanguageModel for the given model ID.
51
63
  *
@@ -65,13 +77,7 @@ export function createLocalModel(modelId) {
65
77
  supportedUrls: {},
66
78
  async doGenerate(options) {
67
79
  const messages = convertPrompt(options.prompt);
68
- const genOptions = {
69
- maxNewTokens: options.maxOutputTokens ?? 512,
70
- temperature: options.temperature ?? 0.7,
71
- topP: options.topP,
72
- topK: options.topK,
73
- stopSequences: options.stopSequences,
74
- };
80
+ const genOptions = toGenerateOptions(options);
75
81
  logger.debug(`[local] doGenerate: ${messages.length} messages → ${resolvedId}`);
76
82
  const text = await generate(resolvedId, messages, genOptions);
77
83
  return {
@@ -98,13 +104,7 @@ export function createLocalModel(modelId) {
98
104
  }));
99
105
  }
100
106
  const messages = convertPrompt(options.prompt);
101
- const genOptions = {
102
- maxNewTokens: options.maxOutputTokens ?? 512,
103
- temperature: options.temperature ?? 0.7,
104
- topP: options.topP,
105
- topK: options.topK,
106
- stopSequences: options.stopSequences,
107
- };
107
+ const genOptions = toGenerateOptions(options);
108
108
  logger.debug(`[local] doStream: ${messages.length} messages → ${resolvedId}`);
109
109
  const textId = `text-${Date.now()}`;
110
110
  const stream = new ReadableStream({
@@ -1 +1 @@
1
- {"version":3,"file":"env.d.ts","sourceRoot":"","sources":["../../../../src/src/provider/local/env.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAQH,wBAAgB,iBAAiB,IAAI,OAAO,CAU3C"}
1
+ {"version":3,"file":"env.d.ts","sourceRoot":"","sources":["../../../../src/src/provider/local/env.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAQH,wBAAgB,iBAAiB,IAAI,OAAO,CAa3C"}
@@ -16,7 +16,8 @@ export function isLocalAIDisabled() {
16
16
  const denoVal = dntShim.dntGlobalThis.Deno?.env?.get?.("VERYFRONT_DISABLE_LOCAL_AI");
17
17
  if (denoVal === "1")
18
18
  return true;
19
- if (typeof process !== "undefined" && process.env?.VERYFRONT_DISABLE_LOCAL_AI === "1") {
19
+ if (typeof process !== "undefined" &&
20
+ process.env?.VERYFRONT_DISABLE_LOCAL_AI === "1") {
20
21
  return true;
21
22
  }
22
23
  return false;
@@ -0,0 +1,19 @@
1
+ /**
2
+ * AI SDK Adapter for Local Embedding Models
3
+ *
4
+ * Bridges `@huggingface/transformers` local embedding inference to the
5
+ * AI SDK `EmbeddingModel` interface. This allows `embed()` and
6
+ * `embedMany()` to work with local models seamlessly.
7
+ *
8
+ * @module provider/local
9
+ */
10
+ import type { EmbeddingModel } from "ai";
11
+ /**
12
+ * Create a local AI SDK EmbeddingModel for the given model ID.
13
+ *
14
+ * The returned object implements the EmbeddingModelV2 interface, making it
15
+ * compatible with all AI SDK embedding functions and the VeryFront
16
+ * embedding/RAG primitives.
17
+ */
18
+ export declare function createLocalEmbeddingModel(modelId?: string): EmbeddingModel;
19
+ //# sourceMappingURL=local-embedding-adapter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"local-embedding-adapter.d.ts","sourceRoot":"","sources":["../../../../src/src/provider/local/local-embedding-adapter.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,IAAI,CAAC;AAIzC;;;;;;GAMG;AACH,wBAAgB,yBAAyB,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,cAAc,CAe1E"}
@@ -0,0 +1,32 @@
1
+ /**
2
+ * AI SDK Adapter for Local Embedding Models
3
+ *
4
+ * Bridges `@huggingface/transformers` local embedding inference to the
5
+ * AI SDK `EmbeddingModel` interface. This allows `embed()` and
6
+ * `embedMany()` to work with local models seamlessly.
7
+ *
8
+ * @module provider/local
9
+ */
10
+ import { embedTexts } from "./local-embedding-engine.js";
11
+ import { DEFAULT_LOCAL_EMBEDDING_MODEL } from "./model-catalog.js";
12
+ /**
13
+ * Create a local AI SDK EmbeddingModel for the given model ID.
14
+ *
15
+ * The returned object implements the EmbeddingModelV2 interface, making it
16
+ * compatible with all AI SDK embedding functions and the VeryFront
17
+ * embedding/RAG primitives.
18
+ */
19
+ export function createLocalEmbeddingModel(modelId) {
20
+ const resolvedId = modelId || DEFAULT_LOCAL_EMBEDDING_MODEL;
21
+ return {
22
+ specificationVersion: "v2",
23
+ provider: "local",
24
+ modelId: `local/${resolvedId}`,
25
+ maxEmbeddingsPerCall: undefined,
26
+ supportsParallelCalls: false,
27
+ async doEmbed({ values }) {
28
+ const embeddings = await embedTexts(resolvedId, values);
29
+ return { embeddings, usage: { tokens: 0 }, rawResponse: undefined, warnings: [] };
30
+ },
31
+ };
32
+ }
@@ -0,0 +1,17 @@
1
+ /**
2
+ * Local Embedding Engine
3
+ *
4
+ * Singleton wrapper around `@huggingface/transformers` for server-side
5
+ * local embedding generation. Uses the `feature-extraction` pipeline
6
+ * with mean pooling and normalization.
7
+ *
8
+ * @module provider/local
9
+ */
10
+ /**
11
+ * Generate embeddings for an array of texts using a local model.
12
+ *
13
+ * Uses mean pooling and L2 normalization to produce unit vectors,
14
+ * matching the behavior of cloud embedding APIs.
15
+ */
16
+ export declare function embedTexts(modelId: string, texts: string[]): Promise<number[][]>;
17
+ //# sourceMappingURL=local-embedding-engine.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"local-embedding-engine.d.ts","sourceRoot":"","sources":["../../../../src/src/provider/local/local-embedding-engine.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AA8DH;;;;;GAKG;AACH,wBAAsB,UAAU,CAC9B,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,MAAM,EAAE,GACd,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAQrB"}
@@ -0,0 +1,63 @@
1
+ /**
2
+ * Local Embedding Engine
3
+ *
4
+ * Singleton wrapper around `@huggingface/transformers` for server-side
5
+ * local embedding generation. Uses the `feature-extraction` pipeline
6
+ * with mean pooling and normalization.
7
+ *
8
+ * @module provider/local
9
+ */
10
+ import { serverLogger } from "../../utils/index.js";
11
+ import { resolveLocalEmbeddingModel } from "./model-catalog.js";
12
+ import { getTransformers } from "./local-engine.js";
13
+ const logger = serverLogger.component("local-embedding");
14
+ /** Cached pipeline instances keyed by HuggingFace model ID */
15
+ const pipelineCache = new Map();
16
+ /** Whether a model is currently being loaded (prevents concurrent loads) */
17
+ const loadingLocks = new Map();
18
+ /**
19
+ * Load a feature-extraction pipeline for the given model.
20
+ * Returns a cached pipeline if already loaded.
21
+ */
22
+ async function loadPipeline(modelInfo) {
23
+ const cacheKey = modelInfo.hfId;
24
+ const cached = pipelineCache.get(cacheKey);
25
+ if (cached)
26
+ return cached;
27
+ const existingLock = loadingLocks.get(cacheKey);
28
+ if (existingLock)
29
+ return existingLock;
30
+ const loadPromise = (async () => {
31
+ const transformers = await getTransformers();
32
+ logger.info(`Loading local embedding model: ${modelInfo.hfId} (${modelInfo.dtype}, ~${modelInfo.sizeMB}MB)...`);
33
+ const pipe = await transformers.pipeline("feature-extraction", modelInfo.hfId, {
34
+ dtype: modelInfo.dtype,
35
+ device: "cpu",
36
+ });
37
+ logger.info(`Embedding model loaded: ${modelInfo.hfId}`);
38
+ pipelineCache.set(cacheKey, pipe);
39
+ loadingLocks.delete(cacheKey);
40
+ return pipe;
41
+ })();
42
+ loadingLocks.set(cacheKey, loadPromise);
43
+ try {
44
+ return await loadPromise;
45
+ }
46
+ catch (error) {
47
+ loadingLocks.delete(cacheKey);
48
+ throw error;
49
+ }
50
+ }
51
+ /**
52
+ * Generate embeddings for an array of texts using a local model.
53
+ *
54
+ * Uses mean pooling and L2 normalization to produce unit vectors,
55
+ * matching the behavior of cloud embedding APIs.
56
+ */
57
+ export async function embedTexts(modelId, texts) {
58
+ const modelInfo = resolveLocalEmbeddingModel(modelId);
59
+ const pipe = await loadPipeline(modelInfo);
60
+ const pooling = modelInfo.pooling ?? "mean";
61
+ const output = await pipe(texts, { pooling, normalize: true });
62
+ return output.tolist();
63
+ }
@@ -23,6 +23,12 @@ export interface GenerateOptions {
23
23
  topK?: number;
24
24
  stopSequences?: string[];
25
25
  }
26
+ type TransformersModule = any;
27
+ /**
28
+ * Lazily import @huggingface/transformers.
29
+ * Only loads when actually needed, keeping startup fast when API keys are present.
30
+ */
31
+ export declare function getTransformers(): Promise<TransformersModule>;
26
32
  /**
27
33
  * Eagerly verify that the local AI runtime (@huggingface/transformers + ONNX)
28
34
  * is available by loading the default model pipeline.
@@ -58,4 +64,5 @@ export declare function preloadModel(modelId: string): Promise<void>;
58
64
  * Check if a model is currently loaded in memory.
59
65
  */
60
66
  export declare function isModelLoaded(modelId: string): boolean;
67
+ export {};
61
68
  //# sourceMappingURL=local-engine.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"local-engine.d.ts","sourceRoot":"","sources":["../../../../src/src/provider/local/local-engine.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAUH,sDAAsD;AACtD,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,QAAQ,GAAG,MAAM,GAAG,WAAW,CAAC;IACtC,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,kCAAkC;AAClC,MAAM,WAAW,eAAe;IAC9B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;CAC1B;AA6HD;;;;;;;;;;;;;;;GAeG;AACH,wBAAsB,kBAAkB,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAGxE;AAED;;;;GAIG;AACH,wBAAuB,cAAc,CACnC,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,WAAW,EAAE,EACvB,OAAO,GAAE,eAAoB,GAC5B,cAAc,CAAC,MAAM,EAAE,IAAI,EAAE,SAAS,CAAC,CAoEzC;AAED;;GAEG;AACH,wBAAsB,QAAQ,CAC5B,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,WAAW,EAAE,EACvB,OAAO,GAAE,eAAoB,GAC5B,OAAO,CAAC,MAAM,CAAC,CAMjB;AAED;;GAEG;AACH,wBAAsB,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAGjE;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAGtD"}
1
+ {"version":3,"file":"local-engine.d.ts","sourceRoot":"","sources":["../../../../src/src/provider/local/local-engine.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAUH,sDAAsD;AACtD,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,QAAQ,GAAG,MAAM,GAAG,WAAW,CAAC;IACtC,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,kCAAkC;AAClC,MAAM,WAAW,eAAe;IAC9B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;CAC1B;AAGD,KAAK,kBAAkB,GAAG,GAAG,CAAC;AAa9B;;;GAGG;AACH,wBAAsB,eAAe,IAAI,OAAO,CAAC,kBAAkB,CAAC,CAkCnE;AAuED;;;;;;;;;;;;;;;GAeG;AACH,wBAAsB,kBAAkB,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAGxE;AAED;;;;GAIG;AACH,wBAAuB,cAAc,CACnC,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,WAAW,EAAE,EACvB,OAAO,GAAE,eAAoB,GAC5B,cAAc,CAAC,MAAM,EAAE,IAAI,EAAE,SAAS,CAAC,CAoEzC;AAED;;GAEG;AACH,wBAAsB,QAAQ,CAC5B,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,WAAW,EAAE,EACvB,OAAO,GAAE,eAAoB,GAC5B,OAAO,CAAC,MAAM,CAAC,CAMjB;AAED;;GAEG;AACH,wBAAsB,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAGjE;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAGtD"}
@@ -26,7 +26,7 @@ let transformersModule = null;
26
26
  * Lazily import @huggingface/transformers.
27
27
  * Only loads when actually needed, keeping startup fast when API keys are present.
28
28
  */
29
- async function getTransformers() {
29
+ export async function getTransformers() {
30
30
  if (transformersModule)
31
31
  return transformersModule;
32
32
  if (isLocalAIDisabled()) {
@@ -10,14 +10,23 @@ export interface ModelInfo {
10
10
  /** HuggingFace model repository ID */
11
11
  hfId: string;
12
12
  /** Quantization dtype for ONNX Runtime */
13
- dtype: "q4" | "q8" | "fp32";
13
+ dtype: "q4" | "q8" | "fp16" | "fp32";
14
14
  /** Approximate download size in MB */
15
15
  sizeMB: number;
16
16
  /** Human-readable description */
17
17
  description: string;
18
+ /** Pooling strategy for embedding models (default: "mean") */
19
+ pooling?: "mean" | "last_token";
18
20
  }
19
21
  /** Default model used when no specific model ID is provided */
20
22
  export declare const DEFAULT_LOCAL_MODEL = "smollm2-135m";
23
+ /** Default embedding model used when no specific model ID is provided */
24
+ export declare const DEFAULT_LOCAL_EMBEDDING_MODEL = "all-MiniLM-L6-v2";
25
+ /**
26
+ * Resolve a friendly embedding model ID to its HuggingFace model info.
27
+ * Falls back to treating the ID as a raw HuggingFace repository ID.
28
+ */
29
+ export declare function resolveLocalEmbeddingModel(modelId: string): ModelInfo;
21
30
  /**
22
31
  * Resolve a friendly model ID to its HuggingFace model info.
23
32
  * Falls back to treating the ID as a raw HuggingFace repository ID.
@@ -1 +1 @@
1
- {"version":3,"file":"model-catalog.d.ts","sourceRoot":"","sources":["../../../../src/src/provider/local/model-catalog.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,MAAM,WAAW,SAAS;IACxB,sCAAsC;IACtC,IAAI,EAAE,MAAM,CAAC;IACb,0CAA0C;IAC1C,KAAK,EAAE,IAAI,GAAG,IAAI,GAAG,MAAM,CAAC;IAC5B,sCAAsC;IACtC,MAAM,EAAE,MAAM,CAAC;IACf,iCAAiC;IACjC,WAAW,EAAE,MAAM,CAAC;CACrB;AA6BD,+DAA+D;AAC/D,eAAO,MAAM,mBAAmB,iBAAiB,CAAC;AAElD;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,MAAM,GAAG,SAAS,CAW5D;AAED;;GAEG;AACH,wBAAgB,gBAAgB,IAAI,MAAM,EAAE,CAE3C"}
1
+ {"version":3,"file":"model-catalog.d.ts","sourceRoot":"","sources":["../../../../src/src/provider/local/model-catalog.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,MAAM,WAAW,SAAS;IACxB,sCAAsC;IACtC,IAAI,EAAE,MAAM,CAAC;IACb,0CAA0C;IAC1C,KAAK,EAAE,IAAI,GAAG,IAAI,GAAG,MAAM,GAAG,MAAM,CAAC;IACrC,sCAAsC;IACtC,MAAM,EAAE,MAAM,CAAC;IACf,iCAAiC;IACjC,WAAW,EAAE,MAAM,CAAC;IACpB,8DAA8D;IAC9D,OAAO,CAAC,EAAE,MAAM,GAAG,YAAY,CAAC;CACjC;AAyCD,+DAA+D;AAC/D,eAAO,MAAM,mBAAmB,iBAAiB,CAAC;AAmClD,yEAAyE;AACzE,eAAO,MAAM,6BAA6B,qBAAqB,CAAC;AAEhE;;;GAGG;AACH,wBAAgB,0BAA0B,CAAC,OAAO,EAAE,MAAM,GAAG,SAAS,CAUrE;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,MAAM,GAAG,SAAS,CAW5D;AAED;;GAEG;AACH,wBAAgB,gBAAgB,IAAI,MAAM,EAAE,CAE3C"}