veryfront 0.1.48 → 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 (524) 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 +1 -1
  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/generate/integration-generator.js +1 -1
  26. package/esm/cli/commands/install/types.d.ts +2 -2
  27. package/esm/cli/help/formatters.d.ts +1 -1
  28. package/esm/cli/help/formatters.d.ts.map +1 -1
  29. package/esm/cli/help/formatters.js +8 -4
  30. package/esm/cli/help/main-help.d.ts.map +1 -1
  31. package/esm/cli/help/main-help.js +2 -2
  32. package/esm/cli/mcp/server.d.ts +0 -1
  33. package/esm/cli/mcp/server.d.ts.map +1 -1
  34. package/esm/cli/mcp/server.js +2 -5
  35. package/esm/cli/mcp/tools/dev-tools.d.ts +1 -1
  36. package/esm/cli/mcp/tools/dev-tools.d.ts.map +1 -1
  37. package/esm/cli/mcp/tools/dev-tools.js +1 -2
  38. package/esm/cli/mcp/tools/scaffold-tools.d.ts +2 -2
  39. package/esm/cli/mcp/tools.d.ts +1 -2
  40. package/esm/cli/mcp/tools.d.ts.map +1 -1
  41. package/esm/cli/mcp/tools.js +1 -2
  42. package/esm/cli/shared/reserve-slug.d.ts.map +1 -1
  43. package/esm/cli/shared/reserve-slug.js +1 -3
  44. package/esm/cli/sync/ignore.d.ts +1 -1
  45. package/esm/cli/sync/ignore.d.ts.map +1 -1
  46. package/esm/cli/sync/ignore.js +22 -18
  47. package/esm/cli/ui/colors.d.ts +0 -1
  48. package/esm/cli/ui/colors.d.ts.map +1 -1
  49. package/esm/cli/ui/colors.js +0 -10
  50. package/esm/cli/ui/dot-matrix.d.ts.map +1 -1
  51. package/esm/cli/ui/dot-matrix.js +2 -5
  52. package/esm/cli/ui/tui.js +2 -3
  53. package/esm/cli/utils/index.js +1 -2
  54. package/esm/cli/utils/package-manager.d.ts.map +1 -1
  55. package/esm/cli/utils/package-manager.js +3 -4
  56. package/esm/deno.d.ts +3 -0
  57. package/esm/deno.js +22 -19
  58. package/esm/src/agent/chat-handler.d.ts.map +1 -1
  59. package/esm/src/agent/chat-handler.js +8 -23
  60. package/esm/src/agent/factory.d.ts +0 -8
  61. package/esm/src/agent/factory.d.ts.map +1 -1
  62. package/esm/src/agent/factory.js +50 -1
  63. package/esm/src/agent/index.d.ts +16 -1
  64. package/esm/src/agent/index.d.ts.map +1 -1
  65. package/esm/src/agent/index.js +16 -1
  66. package/esm/src/agent/memory/memory.d.ts +2 -2
  67. package/esm/src/agent/memory/memory.d.ts.map +1 -1
  68. package/esm/src/agent/memory/memory.js +0 -1
  69. package/esm/src/agent/react/use-chat/types.d.ts +2 -0
  70. package/esm/src/agent/react/use-chat/types.d.ts.map +1 -1
  71. package/esm/src/agent/react/use-chat/use-chat.d.ts.map +1 -1
  72. package/esm/src/agent/react/use-chat/use-chat.js +15 -9
  73. package/esm/src/agent/runtime/index.d.ts +18 -0
  74. package/esm/src/agent/runtime/index.d.ts.map +1 -1
  75. package/esm/src/agent/runtime/index.js +167 -36
  76. package/esm/src/agent/runtime/tool-helpers.d.ts +6 -1
  77. package/esm/src/agent/runtime/tool-helpers.d.ts.map +1 -1
  78. package/esm/src/agent/runtime/tool-helpers.js +10 -1
  79. package/esm/src/agent/schemas/agent.schema.d.ts +4 -4
  80. package/esm/src/agent/types.d.ts +10 -0
  81. package/esm/src/agent/types.d.ts.map +1 -1
  82. package/esm/src/ai/registry-manager.d.ts.map +1 -1
  83. package/esm/src/ai/registry-manager.js +2 -1
  84. package/esm/src/build/bundler/code-splitter/manifest-builder.d.ts +0 -2
  85. package/esm/src/build/bundler/code-splitter/manifest-builder.d.ts.map +1 -1
  86. package/esm/src/build/bundler/code-splitter/manifest-builder.js +1 -1
  87. package/esm/src/build/compiler/mdx-compiler/validator.d.ts.map +1 -1
  88. package/esm/src/build/compiler/mdx-compiler/validator.js +2 -3
  89. package/esm/src/build/compiler/mdx-to-js.d.ts +0 -2
  90. package/esm/src/build/compiler/mdx-to-js.d.ts.map +1 -1
  91. package/esm/src/build/compiler/mdx-to-js.js +0 -81
  92. package/esm/src/build/index.d.ts +0 -6
  93. package/esm/src/build/index.d.ts.map +1 -1
  94. package/esm/src/build/index.js +0 -1
  95. package/esm/src/build/production-build/build/route-collector.d.ts.map +1 -1
  96. package/esm/src/build/production-build/build/route-collector.js +2 -3
  97. package/esm/src/build/production-build/templates.d.ts +5 -9
  98. package/esm/src/build/production-build/templates.d.ts.map +1 -1
  99. package/esm/src/build/production-build/templates.js +6 -18
  100. package/esm/src/build/vendor-cache.d.ts.map +1 -1
  101. package/esm/src/build/vendor-cache.js +0 -5
  102. package/esm/src/cache/tokenizing-gateway.d.ts +0 -2
  103. package/esm/src/cache/tokenizing-gateway.d.ts.map +1 -1
  104. package/esm/src/cache/tokenizing-gateway.js +1 -3
  105. package/esm/src/chat/index.d.ts +2 -2
  106. package/esm/src/chat/index.d.ts.map +1 -1
  107. package/esm/src/chat/index.js +1 -1
  108. package/esm/src/config/define-config.d.ts.map +1 -1
  109. package/esm/src/config/define-config.js +28 -25
  110. package/esm/src/config/loader.d.ts.map +1 -1
  111. package/esm/src/config/loader.js +10 -7
  112. package/esm/src/config/schemas/config.schema.d.ts +58 -12
  113. package/esm/src/config/schemas/config.schema.d.ts.map +1 -1
  114. package/esm/src/config/schemas/config.schema.js +12 -0
  115. package/esm/src/data/data-fetcher.d.ts +1 -2
  116. package/esm/src/data/data-fetcher.d.ts.map +1 -1
  117. package/esm/src/data/data-fetcher.js +14 -15
  118. package/esm/src/data/server-data-fetcher.d.ts +0 -3
  119. package/esm/src/data/server-data-fetcher.d.ts.map +1 -1
  120. package/esm/src/data/server-data-fetcher.js +1 -8
  121. package/esm/src/data/static-data-fetcher.d.ts +1 -3
  122. package/esm/src/data/static-data-fetcher.d.ts.map +1 -1
  123. package/esm/src/data/static-data-fetcher.js +1 -3
  124. package/esm/src/discovery/discovery-engine.d.ts.map +1 -1
  125. package/esm/src/discovery/discovery-engine.js +19 -1
  126. package/esm/src/discovery/discovery-utils.d.ts +0 -4
  127. package/esm/src/discovery/discovery-utils.d.ts.map +1 -1
  128. package/esm/src/discovery/discovery-utils.js +0 -6
  129. package/esm/src/discovery/file-discovery.d.ts +3 -1
  130. package/esm/src/discovery/file-discovery.d.ts.map +1 -1
  131. package/esm/src/discovery/file-discovery.js +3 -8
  132. package/esm/src/discovery/handlers/index.d.ts +1 -0
  133. package/esm/src/discovery/handlers/index.d.ts.map +1 -1
  134. package/esm/src/discovery/handlers/index.js +1 -0
  135. package/esm/src/discovery/handlers/skill-handler.d.ts +26 -0
  136. package/esm/src/discovery/handlers/skill-handler.d.ts.map +1 -0
  137. package/esm/src/discovery/handlers/skill-handler.js +87 -0
  138. package/esm/src/discovery/handlers/task-handler.d.ts.map +1 -1
  139. package/esm/src/discovery/handlers/task-handler.js +1 -5
  140. package/esm/src/discovery/transpiler.d.ts.map +1 -1
  141. package/esm/src/discovery/transpiler.js +7 -4
  142. package/esm/src/discovery/types.d.ts +3 -0
  143. package/esm/src/discovery/types.d.ts.map +1 -1
  144. package/esm/src/embedding/resolve.d.ts.map +1 -1
  145. package/esm/src/embedding/resolve.js +1 -3
  146. package/esm/src/embedding/upload-handler.d.ts.map +1 -1
  147. package/esm/src/embedding/upload-handler.js +4 -3
  148. package/esm/src/embedding/upload-store.js +4 -4
  149. package/esm/src/errors/error-registry.d.ts +2 -1
  150. package/esm/src/errors/error-registry.d.ts.map +1 -1
  151. package/esm/src/errors/http-error.d.ts +1 -2
  152. package/esm/src/errors/http-error.d.ts.map +1 -1
  153. package/esm/src/errors/http-error.js +2 -2
  154. package/esm/src/errors/middleware/cli-error-boundary.d.ts.map +1 -1
  155. package/esm/src/errors/middleware/cli-error-boundary.js +13 -2
  156. package/esm/src/errors/middleware/wrap-unknown.d.ts +0 -7
  157. package/esm/src/errors/middleware/wrap-unknown.d.ts.map +1 -1
  158. package/esm/src/errors/middleware/wrap-unknown.js +0 -9
  159. package/esm/src/errors/veryfront-error.d.ts +0 -3
  160. package/esm/src/errors/veryfront-error.d.ts.map +1 -1
  161. package/esm/src/errors/veryfront-error.js +0 -5
  162. package/esm/src/html/schemas/html.schema.d.ts +2 -2
  163. package/esm/src/html/styles-builder/css-hash-cache.d.ts.map +1 -1
  164. package/esm/src/html/styles-builder/css-hash-cache.js +1 -2
  165. package/esm/src/html/styles-builder/plugin-loader.d.ts.map +1 -1
  166. package/esm/src/html/styles-builder/plugin-loader.js +50 -21
  167. package/esm/src/html/styles-builder/tailwind-compiler-cache.d.ts.map +1 -1
  168. package/esm/src/html/styles-builder/tailwind-compiler-cache.js +12 -4
  169. package/esm/src/html/utils.d.ts +0 -7
  170. package/esm/src/html/utils.d.ts.map +1 -1
  171. package/esm/src/html/utils.js +0 -25
  172. package/esm/src/modules/component-registry/registry.d.ts +0 -3
  173. package/esm/src/modules/component-registry/registry.d.ts.map +1 -1
  174. package/esm/src/modules/component-registry/registry.js +0 -3
  175. package/esm/src/oauth/handlers/callback-handler.d.ts +2 -0
  176. package/esm/src/oauth/handlers/callback-handler.d.ts.map +1 -1
  177. package/esm/src/oauth/handlers/callback-handler.js +10 -4
  178. package/esm/src/oauth/providers/common.d.ts.map +1 -1
  179. package/esm/src/oauth/providers/common.js +0 -23
  180. package/esm/src/observability/auto-instrument/react-instrumentation.js +2 -1
  181. package/esm/src/observability/instruments/instruments-factory.d.ts +1 -1
  182. package/esm/src/observability/instruments/instruments-factory.d.ts.map +1 -1
  183. package/esm/src/observability/instruments/instruments-factory.js +5 -4
  184. package/esm/src/observability/metrics/config.js +5 -4
  185. package/esm/src/observability/metrics/manager.js +1 -1
  186. package/esm/src/observability/tracing/span-operations.d.ts.map +1 -1
  187. package/esm/src/observability/tracing/span-operations.js +14 -8
  188. package/esm/src/platform/compat/console/node.d.ts +0 -1
  189. package/esm/src/platform/compat/console/node.d.ts.map +1 -1
  190. package/esm/src/platform/compat/console/node.js +4 -11
  191. package/esm/src/platform/compat/fs.d.ts.map +1 -1
  192. package/esm/src/platform/compat/fs.js +4 -2
  193. package/esm/src/platform/compat/opaque-deps.d.ts +4 -2
  194. package/esm/src/platform/compat/opaque-deps.d.ts.map +1 -1
  195. package/esm/src/platform/compat/opaque-deps.js +1 -1
  196. package/esm/src/platform/compat/path/basic-operations.d.ts.map +1 -1
  197. package/esm/src/platform/compat/path/basic-operations.js +8 -7
  198. package/esm/src/platform/compat/path/resolution.d.ts.map +1 -1
  199. package/esm/src/platform/compat/path/resolution.js +15 -10
  200. package/esm/src/platform/compat/path/url-conversion.d.ts.map +1 -1
  201. package/esm/src/platform/compat/path/url-conversion.js +3 -2
  202. package/esm/src/platform/compat/process.d.ts +2 -14
  203. package/esm/src/platform/compat/process.d.ts.map +1 -1
  204. package/esm/src/platform/compat/process.js +92 -70
  205. package/esm/src/provider/index.d.ts +1 -1
  206. package/esm/src/provider/index.d.ts.map +1 -1
  207. package/esm/src/provider/index.js +1 -1
  208. package/esm/src/provider/local/ai-sdk-adapter.d.ts.map +1 -1
  209. package/esm/src/provider/local/ai-sdk-adapter.js +18 -18
  210. package/esm/src/provider/local/env.d.ts.map +1 -1
  211. package/esm/src/provider/local/env.js +2 -1
  212. package/esm/src/provider/model-registry.d.ts +10 -0
  213. package/esm/src/provider/model-registry.d.ts.map +1 -1
  214. package/esm/src/provider/model-registry.js +43 -0
  215. package/esm/src/proxy/retry.d.ts +3 -3
  216. package/esm/src/proxy/retry.d.ts.map +1 -1
  217. package/esm/src/proxy/retry.js +0 -7
  218. package/esm/src/proxy/tracing.d.ts +1 -5
  219. package/esm/src/proxy/tracing.d.ts.map +1 -1
  220. package/esm/src/proxy/tracing.js +1 -7
  221. package/esm/src/react/components/ai/chat/components/code-block.js +1 -1
  222. package/esm/src/react/components/ai/chat/components/skill-badge.d.ts +12 -0
  223. package/esm/src/react/components/ai/chat/components/skill-badge.d.ts.map +1 -0
  224. package/esm/src/react/components/ai/chat/components/skill-badge.js +34 -0
  225. package/esm/src/react/components/ai/chat/components/step-indicator.js +4 -4
  226. package/esm/src/react/components/ai/chat/composition/chat-message-list.d.ts.map +1 -1
  227. package/esm/src/react/components/ai/chat/composition/chat-message-list.js +8 -2
  228. package/esm/src/react/components/ai/chat/composition/message.d.ts.map +1 -1
  229. package/esm/src/react/components/ai/chat/composition/message.js +8 -2
  230. package/esm/src/react/components/ai/chat/index.d.ts +4 -1
  231. package/esm/src/react/components/ai/chat/index.d.ts.map +1 -1
  232. package/esm/src/react/components/ai/chat/index.js +4 -3
  233. package/esm/src/react/components/ai/chat/utils/message-parts.d.ts +2 -0
  234. package/esm/src/react/components/ai/chat/utils/message-parts.d.ts.map +1 -1
  235. package/esm/src/react/components/ai/chat/utils/message-parts.js +9 -0
  236. package/esm/src/react/components/ai/chat-with-sidebar.d.ts +1 -0
  237. package/esm/src/react/components/ai/chat-with-sidebar.d.ts.map +1 -1
  238. package/esm/src/react/components/ai/chat-with-sidebar.js +1 -0
  239. package/esm/src/react/components/ai/chat.d.ts +1 -1
  240. package/esm/src/react/components/ai/chat.d.ts.map +1 -1
  241. package/esm/src/react/components/ai/chat.js +1 -1
  242. package/esm/src/rendering/cache/index.d.ts +1 -5
  243. package/esm/src/rendering/cache/index.d.ts.map +1 -1
  244. package/esm/src/rendering/cache/index.js +1 -5
  245. package/esm/src/rendering/orchestrator/pipeline.d.ts +11 -2
  246. package/esm/src/rendering/orchestrator/pipeline.d.ts.map +1 -1
  247. package/esm/src/rendering/shared/context-aware-cache.d.ts.map +1 -1
  248. package/esm/src/rendering/shared/context-aware-cache.js +0 -4
  249. package/esm/src/repositories/schemas/index.d.ts +1 -1
  250. package/esm/src/repositories/schemas/index.d.ts.map +1 -1
  251. package/esm/src/repositories/schemas/index.js +1 -1
  252. package/esm/src/repositories/schemas/repository.schema.d.ts +0 -11
  253. package/esm/src/repositories/schemas/repository.schema.d.ts.map +1 -1
  254. package/esm/src/repositories/schemas/repository.schema.js +0 -13
  255. package/esm/src/repositories/types.d.ts +1 -1
  256. package/esm/src/repositories/types.d.ts.map +1 -1
  257. package/esm/src/routing/api/module-loader/loader.d.ts.map +1 -1
  258. package/esm/src/routing/api/module-loader/loader.js +63 -7
  259. package/esm/src/routing/api/openapi/path-utils.d.ts +0 -19
  260. package/esm/src/routing/api/openapi/path-utils.d.ts.map +1 -1
  261. package/esm/src/routing/api/openapi/path-utils.js +0 -34
  262. package/esm/src/routing/api/openapi/spec-generator.d.ts.map +1 -1
  263. package/esm/src/routing/api/openapi/spec-generator.js +1 -19
  264. package/esm/src/routing/api/openapi/types.d.ts +1 -0
  265. package/esm/src/routing/api/openapi/types.d.ts.map +1 -1
  266. package/esm/src/routing/api/openapi/types.js +18 -0
  267. package/esm/src/sandbox/sandbox.d.ts +1 -0
  268. package/esm/src/sandbox/sandbox.d.ts.map +1 -1
  269. package/esm/src/sandbox/sandbox.js +7 -8
  270. package/esm/src/security/http/cors/constants.d.ts +0 -2
  271. package/esm/src/security/http/cors/constants.d.ts.map +1 -1
  272. package/esm/src/security/http/cors/constants.js +0 -2
  273. package/esm/src/security/http/response/index.d.ts +3 -4
  274. package/esm/src/security/http/response/index.d.ts.map +1 -1
  275. package/esm/src/security/http/response/index.js +2 -3
  276. package/esm/src/server/context/enriched-context.d.ts +0 -8
  277. package/esm/src/server/context/enriched-context.d.ts.map +1 -1
  278. package/esm/src/server/context/enriched-context.js +1 -12
  279. package/esm/src/server/dev-server/server.d.ts.map +1 -1
  280. package/esm/src/server/dev-server/server.js +11 -4
  281. package/esm/src/server/dev-ui/manifest.d.ts +20 -20
  282. package/esm/src/server/dev-ui/manifest.js +20 -20
  283. package/esm/src/server/handlers/dev/framework-candidates.generated.d.ts.map +1 -1
  284. package/esm/src/server/handlers/dev/framework-candidates.generated.js +426 -179
  285. package/esm/src/server/runtime-handler/index.d.ts.map +1 -1
  286. package/esm/src/server/runtime-handler/index.js +14 -24
  287. package/esm/src/server/shared/renderer/memory/pressure.d.ts +0 -7
  288. package/esm/src/server/shared/renderer/memory/pressure.d.ts.map +1 -1
  289. package/esm/src/server/shared/renderer/memory/pressure.js +1 -13
  290. package/esm/src/server/utils/domain-lookup.d.ts +0 -4
  291. package/esm/src/server/utils/domain-lookup.d.ts.map +1 -1
  292. package/esm/src/server/utils/domain-lookup.js +0 -3
  293. package/esm/src/skill/allowed-tools.d.ts +54 -0
  294. package/esm/src/skill/allowed-tools.d.ts.map +1 -0
  295. package/esm/src/skill/allowed-tools.js +87 -0
  296. package/esm/src/skill/executor.d.ts +28 -0
  297. package/esm/src/skill/executor.d.ts.map +1 -0
  298. package/esm/src/skill/executor.js +187 -0
  299. package/esm/src/skill/index.d.ts +19 -0
  300. package/esm/src/skill/index.d.ts.map +1 -0
  301. package/esm/src/skill/index.js +24 -0
  302. package/esm/src/skill/parser.d.ts +30 -0
  303. package/esm/src/skill/parser.d.ts.map +1 -0
  304. package/esm/src/skill/parser.js +162 -0
  305. package/esm/src/skill/path-safety.d.ts +22 -0
  306. package/esm/src/skill/path-safety.d.ts.map +1 -0
  307. package/esm/src/skill/path-safety.js +156 -0
  308. package/esm/src/skill/prompt-augmentation.d.ts +19 -0
  309. package/esm/src/skill/prompt-augmentation.d.ts.map +1 -0
  310. package/esm/src/skill/prompt-augmentation.js +36 -0
  311. package/esm/src/skill/registry.d.ts +25 -0
  312. package/esm/src/skill/registry.d.ts.map +1 -0
  313. package/esm/src/skill/registry.js +42 -0
  314. package/esm/src/skill/tools.d.ts +27 -0
  315. package/esm/src/skill/tools.d.ts.map +1 -0
  316. package/esm/src/skill/tools.js +149 -0
  317. package/esm/src/skill/types.d.ts +85 -0
  318. package/esm/src/skill/types.d.ts.map +1 -0
  319. package/esm/src/skill/types.js +27 -0
  320. package/esm/src/studio/bridge/bridge-bundle.generated.d.ts +1 -1
  321. package/esm/src/studio/bridge/bridge-bundle.generated.d.ts.map +1 -1
  322. package/esm/src/studio/bridge/bridge-bundle.generated.js +1 -1
  323. package/esm/src/studio/element-selector-injector.d.ts +0 -2
  324. package/esm/src/studio/element-selector-injector.d.ts.map +1 -1
  325. package/esm/src/task/runner.d.ts +6 -0
  326. package/esm/src/task/runner.d.ts.map +1 -1
  327. package/esm/src/task/runner.js +8 -8
  328. package/esm/src/tool/factory.js +31 -39
  329. package/esm/src/transforms/esm/http-cache-helpers.d.ts +0 -8
  330. package/esm/src/transforms/esm/http-cache-helpers.d.ts.map +1 -1
  331. package/esm/src/transforms/esm/http-cache-helpers.js +0 -20
  332. package/esm/src/transforms/esm/path-resolver.d.ts +0 -14
  333. package/esm/src/transforms/esm/path-resolver.d.ts.map +1 -1
  334. package/esm/src/transforms/esm/path-resolver.js +1 -92
  335. package/esm/src/transforms/esm/source-url-embed.d.ts +0 -14
  336. package/esm/src/transforms/esm/source-url-embed.d.ts.map +1 -1
  337. package/esm/src/transforms/esm/source-url-embed.js +0 -47
  338. package/esm/src/transforms/esm/transform-cache.d.ts.map +1 -1
  339. package/esm/src/transforms/esm/transform-cache.js +2 -6
  340. package/esm/src/transforms/mdx/index.d.ts +0 -1
  341. package/esm/src/transforms/mdx/index.d.ts.map +1 -1
  342. package/esm/src/transforms/mdx/index.js +0 -4
  343. package/esm/src/transforms/pipeline/context.d.ts +0 -1
  344. package/esm/src/transforms/pipeline/context.d.ts.map +1 -1
  345. package/esm/src/transforms/pipeline/context.js +0 -1
  346. package/esm/src/transforms/pipeline/index.d.ts +1 -2
  347. package/esm/src/transforms/pipeline/index.d.ts.map +1 -1
  348. package/esm/src/transforms/pipeline/index.js +0 -3
  349. package/esm/src/transforms/pipeline/stages/ssr-http-cache.d.ts.map +1 -1
  350. package/esm/src/transforms/pipeline/stages/ssr-http-cache.js +0 -1
  351. package/esm/src/types/entities/getEntityInfo.js +1 -1
  352. package/esm/src/types/index.d.ts +2 -13
  353. package/esm/src/types/index.d.ts.map +1 -1
  354. package/esm/src/types/server.d.ts +2 -1
  355. package/esm/src/types/server.d.ts.map +1 -1
  356. package/esm/src/utils/cache-file-ops.d.ts +1 -1
  357. package/esm/src/utils/cache-file-ops.d.ts.map +1 -1
  358. package/esm/src/utils/cache-file-ops.js +5 -6
  359. package/esm/src/utils/lru-wrapper.d.ts.map +1 -1
  360. package/esm/src/utils/lru-wrapper.js +2 -4
  361. package/esm/src/workflow/claude-code/event-publisher.d.ts +0 -4
  362. package/esm/src/workflow/claude-code/event-publisher.d.ts.map +1 -1
  363. package/esm/src/workflow/claude-code/event-publisher.js +2 -6
  364. package/esm/src/workflow/executor/workflow-executor.d.ts.map +1 -1
  365. package/esm/src/workflow/executor/workflow-executor.js +6 -1
  366. package/esm/src/workflow/react/use-workflow-list.d.ts.map +1 -1
  367. package/esm/src/workflow/react/use-workflow-list.js +2 -1
  368. package/esm/src/workflow/schemas/workflow.schema.d.ts +8 -8
  369. package/package.json +1 -2
  370. package/src/cli/app/components/inline-input.ts +0 -5
  371. package/src/cli/app/components/list-select.ts +0 -21
  372. package/src/cli/app/operations/project-creation.ts +4 -109
  373. package/src/cli/app/shell.ts +1 -1
  374. package/src/cli/app/utils.ts +0 -22
  375. package/src/cli/app/views/dashboard.ts +0 -17
  376. package/src/cli/app/views/startup.ts +0 -13
  377. package/src/cli/auth/login.ts +1 -2
  378. package/src/cli/auth/token-store.ts +1 -1
  379. package/src/cli/auth/utils.ts +2 -1
  380. package/src/cli/commands/generate/integration-generator.ts +1 -1
  381. package/src/cli/help/formatters.ts +11 -4
  382. package/src/cli/help/main-help.ts +2 -3
  383. package/src/cli/mcp/server.ts +2 -5
  384. package/src/cli/mcp/tools/dev-tools.ts +1 -2
  385. package/src/cli/mcp/tools.ts +8 -2
  386. package/src/cli/shared/reserve-slug.ts +1 -4
  387. package/src/cli/sync/ignore.ts +26 -21
  388. package/src/cli/ui/colors.ts +0 -12
  389. package/src/cli/ui/dot-matrix.ts +3 -6
  390. package/src/cli/ui/tui.ts +3 -3
  391. package/src/cli/utils/index.ts +1 -1
  392. package/src/cli/utils/package-manager.ts +3 -4
  393. package/src/deno.js +22 -19
  394. package/src/src/agent/chat-handler.ts +8 -23
  395. package/src/src/agent/factory.ts +58 -9
  396. package/src/src/agent/index.ts +16 -1
  397. package/src/src/agent/memory/memory.ts +0 -9
  398. package/src/src/agent/react/use-chat/types.ts +2 -0
  399. package/src/src/agent/react/use-chat/use-chat.ts +15 -9
  400. package/src/src/agent/runtime/index.ts +213 -35
  401. package/src/src/agent/runtime/tool-helpers.ts +9 -0
  402. package/src/src/agent/types.ts +10 -0
  403. package/src/src/ai/registry-manager.ts +2 -1
  404. package/src/src/build/bundler/code-splitter/manifest-builder.ts +1 -1
  405. package/src/src/build/compiler/mdx-compiler/validator.ts +3 -7
  406. package/src/src/build/compiler/mdx-to-js.ts +0 -101
  407. package/src/src/build/index.ts +0 -8
  408. package/src/src/build/production-build/build/route-collector.ts +2 -4
  409. package/src/src/build/production-build/templates.ts +9 -18
  410. package/src/src/build/vendor-cache.ts +0 -6
  411. package/src/src/cache/tokenizing-gateway.ts +1 -9
  412. package/src/src/chat/index.ts +3 -0
  413. package/src/src/config/define-config.ts +30 -29
  414. package/src/src/config/loader.ts +10 -9
  415. package/src/src/config/schemas/config.schema.ts +12 -0
  416. package/src/src/data/data-fetcher.ts +15 -21
  417. package/src/src/data/server-data-fetcher.ts +1 -8
  418. package/src/src/data/static-data-fetcher.ts +1 -6
  419. package/src/src/discovery/discovery-engine.ts +27 -0
  420. package/src/src/discovery/discovery-utils.ts +0 -7
  421. package/src/src/discovery/file-discovery.ts +3 -9
  422. package/src/src/discovery/handlers/index.ts +1 -0
  423. package/src/src/discovery/handlers/skill-handler.ts +123 -0
  424. package/src/src/discovery/handlers/task-handler.ts +1 -5
  425. package/src/src/discovery/transpiler.ts +7 -4
  426. package/src/src/discovery/types.ts +3 -0
  427. package/src/src/embedding/resolve.ts +1 -3
  428. package/src/src/embedding/upload-handler.ts +7 -3
  429. package/src/src/embedding/upload-store.ts +4 -4
  430. package/src/src/errors/error-registry.ts +2 -2
  431. package/src/src/errors/http-error.ts +7 -3
  432. package/src/src/errors/middleware/cli-error-boundary.ts +28 -2
  433. package/src/src/errors/middleware/wrap-unknown.ts +0 -10
  434. package/src/src/errors/veryfront-error.ts +0 -9
  435. package/src/src/html/styles-builder/css-hash-cache.ts +5 -2
  436. package/src/src/html/styles-builder/plugin-loader.ts +58 -21
  437. package/src/src/html/styles-builder/tailwind-compiler-cache.ts +11 -4
  438. package/src/src/html/utils.ts +0 -33
  439. package/src/src/modules/component-registry/registry.ts +0 -3
  440. package/src/src/modules/server/websocket-handler.ts +1 -1
  441. package/src/src/oauth/handlers/callback-handler.ts +17 -5
  442. package/src/src/oauth/providers/base.ts +3 -3
  443. package/src/src/oauth/providers/common.ts +0 -23
  444. package/src/src/observability/auto-instrument/react-instrumentation.ts +2 -2
  445. package/src/src/observability/instruments/instruments-factory.ts +6 -6
  446. package/src/src/observability/metrics/config.ts +5 -5
  447. package/src/src/observability/metrics/manager.ts +1 -1
  448. package/src/src/observability/tracing/span-operations.ts +14 -9
  449. package/src/src/platform/compat/console/node.ts +4 -14
  450. package/src/src/platform/compat/fs.ts +14 -3
  451. package/src/src/platform/compat/opaque-deps.ts +10 -5
  452. package/src/src/platform/compat/path/basic-operations.ts +9 -7
  453. package/src/src/platform/compat/path/resolution.ts +15 -8
  454. package/src/src/platform/compat/path/url-conversion.ts +10 -6
  455. package/src/src/platform/compat/process.ts +133 -76
  456. package/src/src/provider/index.ts +1 -0
  457. package/src/src/provider/local/ai-sdk-adapter.ts +40 -37
  458. package/src/src/provider/local/env.ts +4 -1
  459. package/src/src/provider/model-registry.ts +47 -0
  460. package/src/src/proxy/retry.ts +0 -9
  461. package/src/src/proxy/tracing.ts +1 -9
  462. package/src/src/react/components/ai/chat/components/code-block.tsx +1 -1
  463. package/src/src/react/components/ai/chat/components/skill-badge.tsx +51 -0
  464. package/src/src/react/components/ai/chat/components/step-indicator.tsx +4 -4
  465. package/src/src/react/components/ai/chat/composition/chat-message-list.tsx +9 -2
  466. package/src/src/react/components/ai/chat/composition/message.tsx +9 -2
  467. package/src/src/react/components/ai/chat/index.tsx +6 -1
  468. package/src/src/react/components/ai/chat/utils/message-parts.ts +11 -0
  469. package/src/src/react/components/ai/chat-with-sidebar.tsx +2 -0
  470. package/src/src/react/components/ai/chat.tsx +3 -0
  471. package/src/src/rendering/cache/index.ts +12 -5
  472. package/src/src/rendering/orchestrator/pipeline.ts +12 -2
  473. package/src/src/rendering/renderer.ts +1 -1
  474. package/src/src/rendering/shared/context-aware-cache.ts +0 -5
  475. package/src/src/repositories/schemas/index.ts +0 -2
  476. package/src/src/repositories/schemas/repository.schema.ts +0 -15
  477. package/src/src/repositories/types.ts +1 -6
  478. package/src/src/routing/api/module-loader/loader.ts +88 -3
  479. package/src/src/routing/api/openapi/path-utils.ts +0 -39
  480. package/src/src/routing/api/openapi/spec-generator.ts +1 -20
  481. package/src/src/routing/api/openapi/types.ts +20 -0
  482. package/src/src/sandbox/sandbox.ts +8 -8
  483. package/src/src/security/http/cors/constants.ts +0 -4
  484. package/src/src/security/http/response/index.ts +3 -9
  485. package/src/src/server/context/enriched-context.ts +1 -19
  486. package/src/src/server/dev-server/server.ts +11 -4
  487. package/src/src/server/dev-ui/manifest.js +20 -20
  488. package/src/src/server/handlers/dev/framework-candidates.generated.ts +426 -179
  489. package/src/src/server/runtime-handler/index.ts +17 -28
  490. package/src/src/server/shared/renderer/memory/pressure.ts +2 -15
  491. package/src/src/server/utils/domain-lookup.ts +0 -4
  492. package/src/src/skill/allowed-tools.ts +107 -0
  493. package/src/src/skill/executor.ts +215 -0
  494. package/src/src/skill/index.ts +60 -0
  495. package/src/src/skill/parser.ts +214 -0
  496. package/src/src/skill/path-safety.ts +203 -0
  497. package/src/src/skill/prompt-augmentation.ts +48 -0
  498. package/src/src/skill/registry.ts +51 -0
  499. package/src/src/skill/tools.ts +197 -0
  500. package/src/src/skill/types.ts +107 -0
  501. package/src/src/studio/bridge/bridge-bundle.generated.ts +1 -1
  502. package/src/src/studio/element-selector-injector.ts +0 -2
  503. package/src/src/task/runner.ts +10 -8
  504. package/src/src/tool/factory.ts +54 -54
  505. package/src/src/transforms/esm/http-cache-helpers.ts +0 -20
  506. package/src/src/transforms/esm/path-resolver.ts +1 -140
  507. package/src/src/transforms/esm/source-url-embed.ts +0 -53
  508. package/src/src/transforms/esm/transform-cache.ts +3 -7
  509. package/src/src/transforms/mdx/index.ts +0 -5
  510. package/src/src/transforms/pipeline/context.ts +0 -2
  511. package/src/src/transforms/pipeline/index.ts +0 -4
  512. package/src/src/transforms/pipeline/stages/ssr-http-cache.ts +0 -1
  513. package/src/src/types/entities/getEntityInfo.ts +1 -1
  514. package/src/src/types/index.ts +1 -20
  515. package/src/src/types/server.ts +1 -1
  516. package/src/src/utils/cache-file-ops.ts +5 -5
  517. package/src/src/utils/lru-wrapper.ts +2 -8
  518. package/src/src/workflow/claude-code/event-publisher.ts +13 -4
  519. package/src/src/workflow/executor/workflow-executor.ts +7 -2
  520. package/src/src/workflow/react/use-workflow-list.ts +3 -2
  521. package/esm/src/transforms/mdx/parser.d.ts +0 -4
  522. package/esm/src/transforms/mdx/parser.d.ts.map +0 -1
  523. package/esm/src/transforms/mdx/parser.js +0 -49
  524. package/src/src/transforms/mdx/parser.ts +0 -65
@@ -1,77 +1,12 @@
1
1
  import { replaceSpecifiers } from "./lexer.js";
2
- import { rendererLogger } from "../../utils/index.js";
3
- import { stat } from "../../platform/compat/fs.js";
4
- import { withSpan, withSpanSync } from "../../observability/tracing/otlp-setup.js";
2
+ import { withSpanSync } from "../../observability/tracing/otlp-setup.js";
5
3
  import {
6
4
  isCrossProjectImport,
7
5
  parseCrossProjectImport,
8
6
  } from "../shared/cross-project-import.js";
9
7
 
10
- const logger = rendererLogger.component("cross-project-import");
11
-
12
- export interface BlockExternalUrlResult {
13
- code: string;
14
- blockedUrls: string[];
15
- }
16
-
17
8
  export { isCrossProjectImport, parseCrossProjectImport };
18
9
 
19
- export interface CrossProjectImportOptions {
20
- apiBaseUrl?: string;
21
- ssr?: boolean;
22
- }
23
-
24
- export function resolveCrossProjectImports(
25
- code: string,
26
- options: CrossProjectImportOptions,
27
- ): Promise<string> {
28
- return Promise.resolve(
29
- withSpanSync(
30
- "transforms.esm.resolveCrossProjectImports",
31
- () => {
32
- if (options.ssr ?? false) return code;
33
-
34
- return replaceSpecifiers(code, (specifier) => {
35
- const parsed = parseCrossProjectImport(specifier);
36
- if (!parsed) return null;
37
-
38
- const { projectSlug, version, path } = parsed;
39
-
40
- const modulePath = /\.(js|mjs|jsx|ts|tsx|mdx)$/.test(path) ? path : `${path}.tsx`;
41
- const projectRef = version === "latest" ? projectSlug : `${projectSlug}@${version}`;
42
- const moduleServerUrl = `/_vf_modules/_cross/${projectRef}/@/${modulePath}`;
43
-
44
- logger.debug("Rewriting", { from: specifier, to: moduleServerUrl });
45
-
46
- return moduleServerUrl;
47
- });
48
- },
49
- { "transforms.ssr": options.ssr ?? false },
50
- ),
51
- );
52
- }
53
-
54
- export function blockExternalUrlImports(
55
- code: string,
56
- _filePath: string,
57
- ): Promise<BlockExternalUrlResult> {
58
- return Promise.resolve({ code, blockedUrls: [] });
59
- }
60
-
61
- export function resolveVeryfrontSubpathImports(code: string, ssr = false): Promise<string> {
62
- if (ssr) return Promise.resolve(code);
63
-
64
- return Promise.resolve(
65
- replaceSpecifiers(code, (specifier) => {
66
- if (!specifier.startsWith("#veryfront/")) return null;
67
-
68
- const path = specifier.substring("#veryfront/".length);
69
- const normalizedPath = path.replace(/\.(tsx?|jsx)$/, ".js");
70
- return `/_vf_modules/_veryfront/${normalizedPath}`;
71
- }),
72
- );
73
- }
74
-
75
10
  function getRelativeFilePath(filePath: string, normalizedProjectDir: string): string {
76
11
  if (filePath.startsWith(normalizedProjectDir)) {
77
12
  return filePath.substring(normalizedProjectDir.length + 1);
@@ -177,77 +112,3 @@ function resolvePath(baseParts: string[], relativePath: string): string[] {
177
112
 
178
113
  return resolvedParts;
179
114
  }
180
-
181
- export function resolveRelativeImportsToAbsolute(
182
- code: string,
183
- filePath: string,
184
- _projectDir: string,
185
- ): Promise<string> {
186
- return withSpan(
187
- "transforms.esm.resolveRelativeImportsToAbsolute",
188
- async () => {
189
- const normalizedFilePath = filePath.replace(/\\/g, "/");
190
- const fileDir = normalizedFilePath.substring(0, normalizedFilePath.lastIndexOf("/"));
191
-
192
- const specifiersToResolve: string[] = [];
193
- await replaceSpecifiers(code, (specifier) => {
194
- if (specifier.startsWith("./") || specifier.startsWith("../")) {
195
- specifiersToResolve.push(specifier);
196
- }
197
- return null;
198
- });
199
-
200
- const resolvedImports = new Map<string, string>();
201
- for (const specifier of specifiersToResolve) {
202
- const absolutePath = resolveAbsolutePath(fileDir, specifier);
203
- const resolvedPath = await findFileWithExtension(absolutePath);
204
- resolvedImports.set(specifier, `file://${resolvedPath}`);
205
- }
206
-
207
- return replaceSpecifiers(code, (specifier) => resolvedImports.get(specifier) ?? null);
208
- },
209
- { "transforms.specifiers_count": 0 },
210
- );
211
- }
212
-
213
- async function findFileWithExtension(basePath: string): Promise<string> {
214
- if (/\.(tsx?|jsx?|mjs|cjs|mdx)$/.test(basePath)) return basePath;
215
-
216
- const extensions = [".tsx", ".ts", ".jsx", ".js", ".mdx"];
217
- for (const ext of extensions) {
218
- const fullPath = basePath + ext;
219
- try {
220
- const fileStat = await stat(fullPath);
221
- if (fileStat.isFile) return fullPath;
222
- } catch {
223
- // ignore
224
- }
225
- }
226
-
227
- return basePath + ".ts";
228
- }
229
-
230
- export function resolveRelativeImportsForNodeSSR(code: string): Promise<string> {
231
- return Promise.resolve(
232
- replaceSpecifiers(code, (specifier) => {
233
- if (!specifier.startsWith("./") && !specifier.startsWith("../")) return null;
234
- return specifier.replace(/\.(tsx|ts|jsx)$/, ".js");
235
- }),
236
- );
237
- }
238
-
239
- export function resolveRelativeImportsForSSR(code: string): Promise<string> {
240
- return Promise.resolve(
241
- replaceSpecifiers(code, (specifier) => {
242
- if (!specifier.startsWith("./") && !specifier.startsWith("../")) return null;
243
- if (/\.(js|mjs|cjs)$/.test(specifier)) return null;
244
-
245
- const withoutExt = specifier.replace(/\.(tsx?|jsx|mdx)$/, "");
246
- return `${withoutExt}.js`;
247
- }),
248
- );
249
- }
250
-
251
- function resolveAbsolutePath(baseDir: string, relativePath: string): string {
252
- return `/${resolvePath(baseDir.split("/").filter(Boolean), relativePath).join("/")}`;
253
- }
@@ -7,11 +7,6 @@
7
7
  * @module transforms/esm/source-url-embed
8
8
  */
9
9
 
10
- import { gunzipSync } from "node:zlib";
11
- import { rendererLogger } from "../../utils/index.js";
12
-
13
- const logger = rendererLogger.component("http-cache");
14
-
15
10
  /** Preserved comment format that survives minification */
16
11
  export const VF_SOURCE_PREFIX = "/*! @vf-source: ";
17
12
  export const VF_SOURCE_SUFFIX = " */\n";
@@ -34,51 +29,3 @@ export function extractSourceUrl(code: string): string | null {
34
29
  if (endIndex === -1) return null;
35
30
  return code.slice(VF_SOURCE_PREFIX.length, endIndex).trim();
36
31
  }
37
-
38
- /**
39
- * Check if code has an embedded source URL.
40
- */
41
- export function _hasEmbeddedSourceUrl(code: string): boolean {
42
- return code.startsWith(VF_SOURCE_PREFIX);
43
- }
44
-
45
- /**
46
- * Decode gzip-compressed cache content.
47
- * Returns the decompressed string, or null if decompression fails.
48
- */
49
- export function decodeGzipContent(content: string): string | null {
50
- const base64Data = content.startsWith("gz:")
51
- ? content.slice(3)
52
- : content.startsWith("gzip:")
53
- ? content.slice(5)
54
- : null;
55
-
56
- if (!base64Data) return null;
57
-
58
- try {
59
- const binaryString = atob(base64Data);
60
- const bytes = new Uint8Array(binaryString.length);
61
- for (let i = 0; i < binaryString.length; i++) {
62
- bytes[i] = binaryString.charCodeAt(i);
63
- }
64
-
65
- const decompressed = gunzipSync(bytes);
66
- return new TextDecoder().decode(decompressed);
67
- } catch (error) {
68
- logger.debug("Failed to decode gzip content", { error });
69
- return null;
70
- }
71
- }
72
-
73
- /**
74
- * Try to decode content if it's gzip-encoded, otherwise return as-is.
75
- * Returns [decodedContent, wasGzipped] tuple.
76
- */
77
- export function _maybeDecodeGzip(content: string): [string, boolean] {
78
- if (!content.startsWith("gz:") && !content.startsWith("gzip:")) return [content, false];
79
-
80
- const decoded = decodeGzipContent(content);
81
- if (decoded) return [decoded, true];
82
-
83
- return [content, false];
84
- }
@@ -61,12 +61,6 @@ function getEffectiveCacheGateway(): TokenizingCacheGateway | CacheBackend | nul
61
61
  return injectedCacheGateway !== undefined ? injectedCacheGateway : cacheGateway;
62
62
  }
63
63
 
64
- // Backward compatibility: provide CacheBackend interface
65
- function _getEffectiveCacheBackend(): CacheBackend | null {
66
- const gateway = getEffectiveCacheGateway();
67
- return gateway as CacheBackend | null;
68
- }
69
-
70
64
  /**
71
65
  * Inject custom caches for testing.
72
66
  * Call with null to restore default behavior.
@@ -438,7 +432,9 @@ export async function prewarmProjectTransforms(
438
432
  for (const filePath of filePaths) {
439
433
  try {
440
434
  const pattern = `v*:${projectId}:${filePath}:*:ssr`;
441
- const scan = (gateway as any).scan;
435
+ const scan =
436
+ (gateway as unknown as { scan?: (pattern: string, count: number) => Promise<string[]> })
437
+ .scan;
442
438
  if (typeof scan !== "function") continue;
443
439
 
444
440
  const keys = await scan.call(gateway, pattern, 10);
@@ -9,7 +9,6 @@ import { LRUCache } from "../../utils/lru-wrapper.js";
9
9
  import { MDX_RENDERER_MAX_ENTRIES, MDX_RENDERER_TTL_MS } from "../../utils/constants/cache.js";
10
10
  import React from "react";
11
11
  import { type ESMLoaderContext, loadModuleESM } from "./esm-module-loader/index.js";
12
- import { type ParsedMDX, parseMDXCode } from "./parser.js";
13
12
  import type { MDXComponents, MDXFrontmatter, MDXGlobals, MDXModule } from "./types.js";
14
13
 
15
14
  export interface MDXRenderOptions {
@@ -75,10 +74,6 @@ export class MDXRenderer {
75
74
  React.createElement("code", {}, "await mdxRenderer.loadModuleESM(compiledCode)"),
76
75
  );
77
76
  }
78
-
79
- private parseMDXCode(compiledCode: string): ParsedMDX {
80
- return parseMDXCode(compiledCode);
81
- }
82
77
  }
83
78
 
84
79
  let mdxRendererInstance: MDXRenderer | undefined;
@@ -122,5 +122,3 @@ export function isMDX(ctx: TransformContext): boolean {
122
122
  export function isTypeScript(ctx: TransformContext): boolean {
123
123
  return ctx.filePath.endsWith(".ts") || ctx.filePath.endsWith(".tsx");
124
124
  }
125
-
126
- export { getExtension } from "../../utils/path-utils.js";
@@ -366,10 +366,6 @@ function buildReadFile(adapter: unknown, projectDir: string): (path: string) =>
366
366
  };
367
367
  }
368
368
 
369
- export function getDefaultPlugins(ssr: boolean): TransformPlugin[] {
370
- return ssr ? [...SSR_PIPELINE] : [...BROWSER_PIPELINE];
371
- }
372
-
373
369
  export type {
374
370
  PipelineConfig,
375
371
  TransformContext,
@@ -20,7 +20,6 @@ const LOG_PREFIX = "[SSR-HTTP-CACHE]";
20
20
  export const ssrHttpCachePlugin: TransformPlugin = {
21
21
  name: "ssr-http-cache",
22
22
  stage: TransformStage.FINALIZE - 1, // Run just before finalize
23
- condition: () => true,
24
23
 
25
24
  async transform(ctx) {
26
25
  const cachedMap = ctx.metadata.get("importMap") as ImportMapConfig | undefined;
@@ -436,7 +436,7 @@ export async function getLayoutEntity(
436
436
  function getSlugFromPath(filePath: string): string {
437
437
  const parts = filePath.split(pathHelper.sep);
438
438
  const fileName = parts[parts.length - 1] ?? "";
439
- const slug = fileName.replace(/\.(mdx?|tsx?|jsx?|ts)$/, "");
439
+ const slug = fileName.replace(/\.(mdx?|tsx?|jsx?)$/, "");
440
440
  if (slug !== "index") return slug;
441
441
 
442
442
  const parentDir = parts[parts.length - 2];
@@ -1,6 +1,6 @@
1
1
  /**
2
2
  * Shared type definitions — server/handler types, branded IDs, React component
3
- * contracts, page/request contexts, bundler config, and cache entry shapes.
3
+ * contracts, page/request contexts, and bundler config.
4
4
  *
5
5
  * @module types
6
6
  */
@@ -23,7 +23,6 @@ export type {
23
23
  HandlerMetadata,
24
24
  HandlerResult,
25
25
  MiddlewareFunction,
26
- MiddlewareFunction as ServerMiddlewareFunction,
27
26
  ParsedDomain,
28
27
  RouteHandlerModule,
29
28
  RoutePattern,
@@ -119,18 +118,8 @@ export interface RequestContext {
119
118
  headers?: dntShim.Headers;
120
119
  }
121
120
 
122
- export interface CacheEntry<T = unknown> {
123
- value: T;
124
- ttl?: number;
125
- timestamp?: number;
126
- }
127
-
128
121
  export type MaybePromise<T> = T | Promise<T>;
129
122
 
130
- export type DeepPartial<T> = {
131
- [P in keyof T]?: T[P] extends object ? DeepPartial<T[P]> : T[P];
132
- };
133
-
134
123
  export interface MdxBundle {
135
124
  compiledCode: string;
136
125
  frontmatter?: MDXFrontmatter;
@@ -177,14 +166,6 @@ export interface ScriptPageModule {
177
166
  generateMetadata?: (ctx: PageContext) => MaybePromise<Record<string, unknown>>;
178
167
  }
179
168
 
180
- export interface Bundler {
181
- bundleTsxSourceToComponent?: (
182
- content: string,
183
- filePath: string,
184
- projectDir: string,
185
- ) => Promise<React.ComponentType>;
186
- }
187
-
188
169
  export interface RenderMetadata {
189
170
  title?: string;
190
171
  description?: string;
@@ -145,7 +145,7 @@ export interface RouteRegistryConfig {
145
145
  enableMetrics?: boolean;
146
146
  }
147
147
 
148
- export type RouteHandler = (
148
+ type RouteHandler = (
149
149
  req: dntShim.Request,
150
150
  ctx: { params: Record<string, string | string[]> },
151
151
  ) => Promise<dntShim.Response> | dntShim.Response;
@@ -80,8 +80,7 @@ export async function writeCacheFile(
80
80
  export async function verifyCacheFileExists(
81
81
  fs: FileSystem,
82
82
  path: string,
83
- // deno-lint-ignore no-unused-vars
84
- label = "cache",
83
+ _label = "cache",
85
84
  ): Promise<boolean> {
86
85
  try {
87
86
  const stat = await fs.stat(path);
@@ -96,14 +95,15 @@ export async function verifyCacheFileExists(
96
95
  * (directory removed between mkdir and write).
97
96
  */
98
97
  export function isCacheWriteRaceError(error: unknown): boolean {
99
- const code = (error as { code?: string } | null | undefined)?.code;
100
- if (code === "ENOENT") return true;
98
+ if (error == null || typeof error !== "object") return false;
99
+
100
+ if ("code" in error && (error as Record<string, unknown>).code === "ENOENT") return true;
101
101
 
102
102
  // Deno-specific NotFound
103
103
  if (typeof dntShim.Deno !== "undefined" && error instanceof dntShim.Deno.errors.NotFound) return true;
104
104
 
105
105
  // os error 22 (EINVAL) on some platforms when path component is gone
106
- if (error instanceof TypeError && String(error.message).includes("os error 22")) return true;
106
+ if (error instanceof TypeError && error.message.includes("os error 22")) return true;
107
107
 
108
108
  return false;
109
109
  }
@@ -33,10 +33,7 @@ export class LRUCache<K, V> {
33
33
  }
34
34
 
35
35
  private startPeriodicCleanup(): void {
36
- if (shouldDisableInterval()) {
37
- return;
38
- }
39
-
36
+ if (shouldDisableInterval()) return;
40
37
  this.stopCleanupTimer();
41
38
 
42
39
  this.cleanupTimer = dntShim.setInterval(() => {
@@ -48,10 +45,7 @@ export class LRUCache<K, V> {
48
45
  }
49
46
 
50
47
  private stopCleanupTimer(): void {
51
- if (!this.cleanupTimer) {
52
- return;
53
- }
54
-
48
+ if (!this.cleanupTimer) return;
55
49
  clearInterval(this.cleanupTimer);
56
50
  this.cleanupTimer = undefined;
57
51
  }
@@ -86,10 +86,19 @@ export interface RedisEventPublisherConfig {
86
86
  * Redis-based event publisher for distributed streaming
87
87
  * Uses Redis Pub/Sub for real-time event delivery
88
88
  */
89
+ /** Minimal structural type for a Redis Pub/Sub client */
90
+ interface RedisClient {
91
+ connect(): Promise<void>;
92
+ publish(channel: string, message: string): Promise<number>;
93
+ subscribe(channel: string, listener: (message: string) => void): Promise<void>;
94
+ unsubscribe(channel: string): Promise<void>;
95
+ quit(): Promise<void>;
96
+ }
97
+
89
98
  export class RedisEventPublisher implements ClaudeCodeEventPublisher, ClaudeCodeEventSubscriber {
90
99
  private config: Required<RedisEventPublisherConfig>;
91
- private publishClient: any;
92
- private subscribeClient: any;
100
+ private publishClient: RedisClient | null = null;
101
+ private subscribeClient: RedisClient | null = null;
93
102
  private initialized = false;
94
103
 
95
104
  constructor(config: RedisEventPublisherConfig) {
@@ -106,8 +115,8 @@ export class RedisEventPublisher implements ClaudeCodeEventPublisher, ClaudeCode
106
115
  // Dynamic import to avoid loading Redis if not used
107
116
  const { createClient } = await import("redis");
108
117
 
109
- this.publishClient = createClient({ url: this.config.url });
110
- this.subscribeClient = createClient({ url: this.config.url });
118
+ this.publishClient = createClient({ url: this.config.url }) as unknown as RedisClient;
119
+ this.subscribeClient = createClient({ url: this.config.url }) as unknown as RedisClient;
111
120
 
112
121
  await Promise.all([this.publishClient.connect(), this.subscribeClient.connect()]);
113
122
 
@@ -123,10 +123,15 @@ export class WorkflowExecutor {
123
123
  if (!bs) return;
124
124
 
125
125
  const resolveIfBlob = <T>(
126
- ref: any,
126
+ ref: unknown,
127
127
  fn: (id: string) => Promise<T>,
128
128
  fallback: T,
129
- ): Promise<T> => (ref?.__kind === "blob" ? fn(ref.id) : Promise.resolve(fallback));
129
+ ): Promise<T> => {
130
+ const blob = ref as Record<string, unknown> | null | undefined;
131
+ return blob?.__kind === "blob" && typeof blob.id === "string"
132
+ ? fn(blob.id)
133
+ : Promise.resolve(fallback);
134
+ };
130
135
 
131
136
  this.blobResolver = {
132
137
  getText: (ref) => resolveIfBlob(ref, (id) => bs.getText(id), null),
@@ -87,8 +87,9 @@ export function useWorkflowList(options: UseWorkflowListOptions = {}): UseWorkfl
87
87
 
88
88
  if (!response.ok) throw new Error(`Failed to fetch runs: ${response.status}`);
89
89
 
90
- const data: any = await response.json();
91
- const fetchedRuns: WorkflowRun[] = data.runs ?? data;
90
+ const data: { runs?: WorkflowRun[]; cursor?: string; totalCount?: number } = await response
91
+ .json();
92
+ const fetchedRuns: WorkflowRun[] = data.runs ?? (data as unknown as WorkflowRun[]);
92
93
  const nextCursor: string | undefined = data.cursor;
93
94
  const total: number | undefined = data.totalCount;
94
95
 
@@ -1,4 +0,0 @@
1
- import type { ParsedMDX } from "./types.js";
2
- export type { ParsedMDX };
3
- export declare function parseMDXCode(compiledCode: string): ParsedMDX;
4
- //# sourceMappingURL=parser.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"parser.d.ts","sourceRoot":"","sources":["../../../../src/src/transforms/mdx/parser.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAA6B,SAAS,EAAE,MAAM,YAAY,CAAC;AAGvE,YAAY,EAAE,SAAS,EAAE,CAAC;AAE1B,wBAAgB,YAAY,CAAC,YAAY,EAAE,MAAM,GAAG,SAAS,CA0D5D"}
@@ -1,49 +0,0 @@
1
- import { rendererLogger as logger } from "../../utils/index.js";
2
- import { extractFrontmatter, extractMetadata } from "./esm-module-loader/metadata/index.js";
3
- export function parseMDXCode(compiledCode) {
4
- logger.debug("Parsing MDX code, first 200 chars:", compiledCode.substring(0, 200));
5
- const importRegex = /^\s*import\s+(?:{([^}]+)}|(\w+))\s+from\s+['"]([^'"]+)['"]\s*;?\s*$/gm;
6
- const imports = new Map();
7
- for (const match of compiledCode.matchAll(importRegex)) {
8
- const path = match[3];
9
- if (!path)
10
- continue;
11
- const namedImports = match[1];
12
- if (namedImports) {
13
- for (const name of namedImports.split(",").map((n) => n.trim())) {
14
- imports.set(name, { name, path, isDefault: false });
15
- }
16
- continue;
17
- }
18
- const defaultImport = match[2];
19
- if (!defaultImport)
20
- continue;
21
- imports.set(defaultImport, { name: defaultImport, path, isDefault: true });
22
- }
23
- const cleanedCode = compiledCode
24
- .replace(importRegex, "")
25
- .replace(/^\s*export\s+\{[\s\S]*?\};?\s*$/gm, "")
26
- .replace(/^\s*export\s+default\s+function/gm, "function")
27
- .replace(/^\s*export\s+default\s+/gm, "")
28
- .replace(/^\s*export\s+(const|function)\s+/gm, "$1 ")
29
- .replace(/^\s*import\s+React\s+from.*?;?\s*$/gm, "")
30
- .replace(/^\s*const\s+(React|Fragment|Fragment2|jsx|jsx2|jsxs|jsxs2)\s*=.*?;?\s*$/gm, "");
31
- if (cleanedCode.includes("import React")) {
32
- logger.warn("Import React still in cleaned code");
33
- }
34
- if (cleanedCode.includes("const React") || cleanedCode.includes("var React")) {
35
- logger.warn("React declaration found in cleaned code");
36
- logger.debug("Code snippet:", cleanedCode.substring(0, 200));
37
- }
38
- const exports = {};
39
- const frontmatter = extractFrontmatter(cleanedCode);
40
- if (frontmatter)
41
- exports.frontmatter = frontmatter;
42
- const metadata = extractMetadata(cleanedCode);
43
- for (const [key, value] of Object.entries(metadata)) {
44
- if (value === undefined)
45
- continue;
46
- exports[key] = value;
47
- }
48
- return { code: cleanedCode, imports, exports };
49
- }
@@ -1,65 +0,0 @@
1
- import { rendererLogger as logger } from "../../utils/index.js";
2
- import type { MDXExports, MDXImportInfo, ParsedMDX } from "./types.js";
3
- import { extractFrontmatter, extractMetadata } from "./esm-module-loader/metadata/index.js";
4
-
5
- export type { ParsedMDX };
6
-
7
- export function parseMDXCode(compiledCode: string): ParsedMDX {
8
- logger.debug("Parsing MDX code, first 200 chars:", compiledCode.substring(0, 200));
9
-
10
- const importRegex = /^\s*import\s+(?:{([^}]+)}|(\w+))\s+from\s+['"]([^'"]+)['"]\s*;?\s*$/gm;
11
-
12
- const imports = new Map<string, MDXImportInfo>();
13
-
14
- for (const match of compiledCode.matchAll(importRegex)) {
15
- const path = match[3];
16
- if (!path) continue;
17
-
18
- const namedImports = match[1];
19
- if (namedImports) {
20
- for (const name of namedImports.split(",").map((n) => n.trim())) {
21
- imports.set(name, { name, path, isDefault: false });
22
- }
23
- continue;
24
- }
25
-
26
- const defaultImport = match[2];
27
- if (!defaultImport) continue;
28
-
29
- imports.set(defaultImport, { name: defaultImport, path, isDefault: true });
30
- }
31
-
32
- const cleanedCode = compiledCode
33
- .replace(importRegex, "")
34
- .replace(/^\s*export\s+\{[\s\S]*?\};?\s*$/gm, "")
35
- .replace(/^\s*export\s+default\s+function/gm, "function")
36
- .replace(/^\s*export\s+default\s+/gm, "")
37
- .replace(/^\s*export\s+(const|function)\s+/gm, "$1 ")
38
- .replace(/^\s*import\s+React\s+from.*?;?\s*$/gm, "")
39
- .replace(
40
- /^\s*const\s+(React|Fragment|Fragment2|jsx|jsx2|jsxs|jsxs2)\s*=.*?;?\s*$/gm,
41
- "",
42
- );
43
-
44
- if (cleanedCode.includes("import React")) {
45
- logger.warn("Import React still in cleaned code");
46
- }
47
-
48
- if (cleanedCode.includes("const React") || cleanedCode.includes("var React")) {
49
- logger.warn("React declaration found in cleaned code");
50
- logger.debug("Code snippet:", cleanedCode.substring(0, 200));
51
- }
52
-
53
- const exports: MDXExports = {};
54
-
55
- const frontmatter = extractFrontmatter(cleanedCode);
56
- if (frontmatter) exports.frontmatter = frontmatter;
57
-
58
- const metadata = extractMetadata(cleanedCode);
59
- for (const [key, value] of Object.entries(metadata)) {
60
- if (value === undefined) continue;
61
- (exports as Record<string, unknown>)[key] = value;
62
- }
63
-
64
- return { code: cleanedCode, imports, exports };
65
- }