veryfront 0.1.128 → 0.1.129

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 (382) hide show
  1. package/esm/cli/router.d.ts +0 -5
  2. package/esm/cli/router.d.ts.map +1 -1
  3. package/esm/cli/router.js +30 -2
  4. package/esm/cli/shared/update-check.d.ts +4 -0
  5. package/esm/cli/shared/update-check.d.ts.map +1 -0
  6. package/esm/cli/shared/update-check.js +97 -0
  7. package/esm/deno.d.ts +5 -0
  8. package/esm/deno.js +13 -8
  9. package/esm/src/channels/control-plane.d.ts.map +1 -1
  10. package/esm/src/channels/control-plane.js +5 -5
  11. package/esm/src/channels/invoke.d.ts +1 -1
  12. package/esm/src/channels/invoke.d.ts.map +1 -1
  13. package/esm/src/channels/invoke.js +6 -6
  14. package/esm/src/chat/index.d.ts +12 -24
  15. package/esm/src/chat/index.d.ts.map +1 -1
  16. package/esm/src/chat/index.js +5 -25
  17. package/esm/src/config/env.d.ts.map +1 -1
  18. package/esm/src/config/env.js +18 -10
  19. package/esm/src/data/static-data-fetcher.d.ts +3 -0
  20. package/esm/src/data/static-data-fetcher.d.ts.map +1 -1
  21. package/esm/src/data/static-data-fetcher.js +29 -25
  22. package/esm/src/data/static-paths-fetcher.d.ts.map +1 -1
  23. package/esm/src/data/static-paths-fetcher.js +3 -2
  24. package/esm/src/errors/logging.d.ts.map +1 -1
  25. package/esm/src/errors/logging.js +16 -7
  26. package/esm/src/errors/user-friendly/error-formatter.d.ts.map +1 -1
  27. package/esm/src/errors/user-friendly/error-formatter.js +9 -25
  28. package/esm/src/fs/index.d.ts +11 -12
  29. package/esm/src/fs/index.d.ts.map +1 -1
  30. package/esm/src/fs/index.js +11 -24
  31. package/esm/src/html/dev-scripts.d.ts.map +1 -1
  32. package/esm/src/html/dev-scripts.js +5 -8
  33. package/esm/src/html/html-escape.d.ts +1 -0
  34. package/esm/src/html/html-escape.d.ts.map +1 -1
  35. package/esm/src/html/html-escape.js +3 -0
  36. package/esm/src/html/html-injection.js +2 -2
  37. package/esm/src/html/html-shell-generator.d.ts +5 -2
  38. package/esm/src/html/html-shell-generator.d.ts.map +1 -1
  39. package/esm/src/html/html-shell-generator.js +41 -30
  40. package/esm/src/html/hydration-script-builder/dev-client-renderer.js +2 -2
  41. package/esm/src/html/hydration-script-builder/dev-component-manifest.js +2 -2
  42. package/esm/src/html/hydration-script-builder/dev-error-logger.d.ts.map +1 -1
  43. package/esm/src/html/hydration-script-builder/dev-error-logger.js +2 -6
  44. package/esm/src/html/hydration-script-builder/dev-scripts.js +2 -2
  45. package/esm/src/html/hydration-script-builder/hydration-data-generator.d.ts +3 -1
  46. package/esm/src/html/hydration-script-builder/hydration-data-generator.d.ts.map +1 -1
  47. package/esm/src/html/hydration-script-builder/hydration-data-generator.js +2 -2
  48. package/esm/src/html/hydration-script-builder/index.d.ts +1 -1
  49. package/esm/src/html/hydration-script-builder/index.d.ts.map +1 -1
  50. package/esm/src/html/hydration-script-builder/index.js +1 -1
  51. package/esm/src/html/hydration-script-builder/prod-hydration.js +2 -2
  52. package/esm/src/html/hydration-script-builder/prod-scripts.d.ts +2 -0
  53. package/esm/src/html/hydration-script-builder/prod-scripts.d.ts.map +1 -1
  54. package/esm/src/html/hydration-script-builder/prod-scripts.js +14 -14
  55. package/esm/src/html/schemas/html.schema.d.ts +2 -0
  56. package/esm/src/html/schemas/html.schema.d.ts.map +1 -1
  57. package/esm/src/html/schemas/html.schema.js +2 -0
  58. package/esm/src/html/styles-builder/css-pregeneration.d.ts +17 -1
  59. package/esm/src/html/styles-builder/css-pregeneration.d.ts.map +1 -1
  60. package/esm/src/html/styles-builder/css-pregeneration.js +103 -1
  61. package/esm/src/html/styles-builder/dev-styles.js +2 -2
  62. package/esm/src/html/utils.d.ts +2 -0
  63. package/esm/src/html/utils.d.ts.map +1 -1
  64. package/esm/src/html/utils.js +49 -28
  65. package/esm/src/integrations/remote-tools.d.ts.map +1 -1
  66. package/esm/src/integrations/remote-tools.js +32 -39
  67. package/esm/src/internal-agents/ag-ui-sse.d.ts +0 -1
  68. package/esm/src/internal-agents/ag-ui-sse.d.ts.map +1 -1
  69. package/esm/src/internal-agents/ag-ui-sse.js +2 -16
  70. package/esm/src/internal-agents/control-plane-auth.d.ts.map +1 -1
  71. package/esm/src/internal-agents/control-plane-auth.js +5 -3
  72. package/esm/src/internal-agents/request-body.d.ts.map +1 -1
  73. package/esm/src/internal-agents/request-body.js +6 -3
  74. package/esm/src/internal-agents/session-manager.d.ts +1 -0
  75. package/esm/src/internal-agents/session-manager.d.ts.map +1 -1
  76. package/esm/src/internal-agents/session-manager.js +12 -18
  77. package/esm/src/issues/core.d.ts.map +1 -1
  78. package/esm/src/issues/core.js +24 -23
  79. package/esm/src/issues/schemas/issue.schema.d.ts.map +1 -1
  80. package/esm/src/issues/schemas/issue.schema.js +2 -1
  81. package/esm/src/jobs/runtime-env.d.ts.map +1 -1
  82. package/esm/src/jobs/runtime-env.js +21 -44
  83. package/esm/src/markdown/index.d.ts +1 -2
  84. package/esm/src/markdown/index.d.ts.map +1 -1
  85. package/esm/src/markdown/index.js +1 -6
  86. package/esm/src/mcp/server.d.ts +0 -1
  87. package/esm/src/mcp/server.d.ts.map +1 -1
  88. package/esm/src/mcp/server.js +40 -41
  89. package/esm/src/mdx/index.d.ts +3 -2
  90. package/esm/src/mdx/index.d.ts.map +1 -1
  91. package/esm/src/mdx/index.js +3 -5
  92. package/esm/src/middleware/builtin/logger.d.ts.map +1 -1
  93. package/esm/src/middleware/builtin/logger.js +31 -28
  94. package/esm/src/middleware/builtin/security/rate-limit.d.ts.map +1 -1
  95. package/esm/src/middleware/builtin/security/rate-limit.js +17 -12
  96. package/esm/src/middleware/builtin/timeout.d.ts.map +1 -1
  97. package/esm/src/middleware/builtin/timeout.js +17 -10
  98. package/esm/src/modules/import-map/default-import-map.d.ts.map +1 -1
  99. package/esm/src/modules/import-map/default-import-map.js +4 -3
  100. package/esm/src/oauth/handlers/callback-handler.d.ts +0 -5
  101. package/esm/src/oauth/handlers/callback-handler.d.ts.map +1 -1
  102. package/esm/src/oauth/handlers/callback-handler.js +9 -14
  103. package/esm/src/oauth/handlers/index.d.ts +1 -1
  104. package/esm/src/oauth/handlers/index.js +1 -1
  105. package/esm/src/oauth/handlers/init-handler.d.ts.map +1 -1
  106. package/esm/src/oauth/handlers/init-handler.js +32 -20
  107. package/esm/src/oauth/providers/index.d.ts +1 -1
  108. package/esm/src/oauth/providers/index.js +1 -1
  109. package/esm/src/oauth/schemas/index.d.ts +1 -1
  110. package/esm/src/oauth/schemas/index.js +1 -1
  111. package/esm/src/oauth/token-store/index.d.ts +1 -1
  112. package/esm/src/oauth/token-store/index.js +1 -1
  113. package/esm/src/oauth/token-store/memory.d.ts +1 -1
  114. package/esm/src/oauth/token-store/memory.d.ts.map +1 -1
  115. package/esm/src/oauth/token-store/memory.js +8 -8
  116. package/esm/src/observability/request-profiler.d.ts +31 -0
  117. package/esm/src/observability/request-profiler.d.ts.map +1 -0
  118. package/esm/src/observability/request-profiler.js +94 -0
  119. package/esm/src/observability/tracing/otlp-setup.d.ts.map +1 -1
  120. package/esm/src/observability/tracing/otlp-setup.js +16 -21
  121. package/esm/src/prompt/factory.d.ts.map +1 -1
  122. package/esm/src/prompt/factory.js +10 -12
  123. package/esm/src/prompt/registry.d.ts.map +1 -1
  124. package/esm/src/prompt/registry.js +12 -10
  125. package/esm/src/prompt/schemas/prompt.schema.d.ts.map +1 -1
  126. package/esm/src/prompt/schemas/prompt.schema.js +0 -2
  127. package/esm/src/prompt/types.d.ts +1 -1
  128. package/esm/src/prompt/types.d.ts.map +1 -1
  129. package/esm/src/provider/local/ai-sdk-adapter.d.ts.map +1 -1
  130. package/esm/src/provider/local/ai-sdk-adapter.js +3 -8
  131. package/esm/src/provider/local/env.d.ts +4 -6
  132. package/esm/src/provider/local/env.d.ts.map +1 -1
  133. package/esm/src/provider/local/env.js +14 -1
  134. package/esm/src/provider/local/local-engine.d.ts.map +1 -1
  135. package/esm/src/provider/local/local-engine.js +2 -7
  136. package/esm/src/provider/model-registry.d.ts.map +1 -1
  137. package/esm/src/provider/model-registry.js +2 -7
  138. package/esm/src/provider/veryfront-cloud/provider.d.ts.map +1 -1
  139. package/esm/src/provider/veryfront-cloud/provider.js +1 -7
  140. package/esm/src/provider/veryfront-cloud/shared.d.ts.map +1 -1
  141. package/esm/src/provider/veryfront-cloud/shared.js +9 -11
  142. package/esm/src/proxy/handler.d.ts.map +1 -1
  143. package/esm/src/proxy/handler.js +56 -57
  144. package/esm/src/react/compat/hooks-adapter.d.ts +1 -7
  145. package/esm/src/react/compat/hooks-adapter.d.ts.map +1 -1
  146. package/esm/src/react/compat/hooks-adapter.js +35 -40
  147. package/esm/src/react/components/Head.d.ts +1 -26
  148. package/esm/src/react/components/Head.d.ts.map +1 -1
  149. package/esm/src/react/components/Head.js +1 -172
  150. package/esm/src/react/context/index.d.ts +2 -46
  151. package/esm/src/react/context/index.d.ts.map +1 -1
  152. package/esm/src/react/context/index.js +1 -44
  153. package/esm/src/react/head-collector.d.ts +1 -10
  154. package/esm/src/react/head-collector.d.ts.map +1 -1
  155. package/esm/src/react/head-collector.js +4 -0
  156. package/esm/src/react/router/index.d.ts +2 -45
  157. package/esm/src/react/router/index.d.ts.map +1 -1
  158. package/esm/src/react/router/index.js +1 -49
  159. package/esm/src/react/runtime/core.d.ts +49 -0
  160. package/esm/src/react/runtime/core.d.ts.map +1 -0
  161. package/esm/src/react/runtime/core.js +200 -0
  162. package/esm/src/rendering/orchestrator/html.d.ts +2 -0
  163. package/esm/src/rendering/orchestrator/html.d.ts.map +1 -1
  164. package/esm/src/rendering/orchestrator/html.js +69 -12
  165. package/esm/src/rendering/orchestrator/ssr-orchestrator.d.ts.map +1 -1
  166. package/esm/src/rendering/orchestrator/ssr-orchestrator.js +4 -0
  167. package/esm/src/rendering/orchestrator/types.d.ts +4 -0
  168. package/esm/src/rendering/orchestrator/types.d.ts.map +1 -1
  169. package/esm/src/repositories/types.d.ts.map +1 -1
  170. package/esm/src/resource/factory.d.ts.map +1 -1
  171. package/esm/src/resource/factory.js +12 -9
  172. package/esm/src/resource/registry.d.ts +3 -3
  173. package/esm/src/resource/registry.d.ts.map +1 -1
  174. package/esm/src/resource/registry.js +7 -7
  175. package/esm/src/schemas/common.d.ts.map +1 -1
  176. package/esm/src/schemas/common.js +7 -4
  177. package/esm/src/security/http/config.d.ts +0 -1
  178. package/esm/src/security/http/config.d.ts.map +1 -1
  179. package/esm/src/security/http/config.js +3 -16
  180. package/esm/src/security/http/response/security-handler.d.ts +1 -0
  181. package/esm/src/security/http/response/security-handler.d.ts.map +1 -1
  182. package/esm/src/security/http/response/security-handler.js +17 -12
  183. package/esm/src/security/index.d.ts +4 -2
  184. package/esm/src/security/index.d.ts.map +1 -1
  185. package/esm/src/security/index.js +3 -1
  186. package/esm/src/server/handlers/dev/styles-css.handler.d.ts.map +1 -1
  187. package/esm/src/server/handlers/dev/styles-css.handler.js +8 -7
  188. package/esm/src/server/handlers/monitoring/metrics.handler.d.ts.map +1 -1
  189. package/esm/src/server/handlers/monitoring/metrics.handler.js +3 -1
  190. package/esm/src/server/handlers/request/module/module-server-handler.d.ts.map +1 -1
  191. package/esm/src/server/handlers/request/module/module-server-handler.js +18 -15
  192. package/esm/src/server/handlers/request/prod-hydration-module.handler.d.ts +8 -0
  193. package/esm/src/server/handlers/request/prod-hydration-module.handler.d.ts.map +1 -0
  194. package/esm/src/server/handlers/request/prod-hydration-module.handler.js +41 -0
  195. package/esm/src/server/handlers/request/ssr/ssr.handler.d.ts.map +1 -1
  196. package/esm/src/server/handlers/request/ssr/ssr.handler.js +3 -0
  197. package/esm/src/server/production-server.d.ts.map +1 -1
  198. package/esm/src/server/production-server.js +65 -0
  199. package/esm/src/server/runtime-handler/handler-context-builder.d.ts +1 -1
  200. package/esm/src/server/runtime-handler/handler-context-builder.d.ts.map +1 -1
  201. package/esm/src/server/runtime-handler/index.d.ts +1 -1
  202. package/esm/src/server/runtime-handler/index.d.ts.map +1 -1
  203. package/esm/src/server/runtime-handler/index.js +36 -11
  204. package/esm/src/server/runtime-handler/request-utils.d.ts +7 -0
  205. package/esm/src/server/runtime-handler/request-utils.d.ts.map +1 -1
  206. package/esm/src/server/runtime-handler/request-utils.js +10 -0
  207. package/esm/src/server/services/rendering/ssr.service.d.ts +1 -0
  208. package/esm/src/server/services/rendering/ssr.service.d.ts.map +1 -1
  209. package/esm/src/server/services/rendering/ssr.service.js +12 -5
  210. package/esm/src/server/services/rsc/endpoints/rsc-bundles.generated.js +1 -1
  211. package/esm/src/skill/allowed-tools.d.ts +3 -8
  212. package/esm/src/skill/allowed-tools.d.ts.map +1 -1
  213. package/esm/src/skill/executor.js +2 -2
  214. package/esm/src/skill/parser.d.ts.map +1 -1
  215. package/esm/src/skill/parser.js +12 -12
  216. package/esm/src/skill/path-safety.js +1 -1
  217. package/esm/src/skill/tools.d.ts.map +1 -1
  218. package/esm/src/skill/tools.js +18 -11
  219. package/esm/src/studio/bridge/bridge-bundle.generated.d.ts.map +1 -1
  220. package/esm/src/studio/bridge/bridge-bundle.generated.js +1 -1
  221. package/esm/src/task/discovery.d.ts.map +1 -1
  222. package/esm/src/task/discovery.js +73 -95
  223. package/esm/src/tool/executor.d.ts.map +1 -1
  224. package/esm/src/tool/executor.js +8 -7
  225. package/esm/src/tool/factory.d.ts.map +1 -1
  226. package/esm/src/tool/factory.js +13 -16
  227. package/esm/src/transforms/esm/package-registry.d.ts +4 -0
  228. package/esm/src/transforms/esm/package-registry.d.ts.map +1 -1
  229. package/esm/src/transforms/esm/package-registry.js +34 -17
  230. package/esm/src/transforms/import-rewriter/strategies/veryfront-strategy.d.ts.map +1 -1
  231. package/esm/src/transforms/import-rewriter/strategies/veryfront-strategy.js +2 -1
  232. package/esm/src/transforms/mdx/esm-module-loader/cache-format.d.ts.map +1 -1
  233. package/esm/src/transforms/mdx/esm-module-loader/cache-format.js +26 -1
  234. package/esm/src/transforms/mdx/esm-module-loader/module-fetcher/index.d.ts +1 -1
  235. package/esm/src/transforms/mdx/esm-module-loader/module-fetcher/index.d.ts.map +1 -1
  236. package/esm/src/transforms/mdx/esm-module-loader/module-fetcher/index.js +1 -1
  237. package/esm/src/transforms/mdx/esm-module-loader/module-fetcher/render-sessions.d.ts +1 -0
  238. package/esm/src/transforms/mdx/esm-module-loader/module-fetcher/render-sessions.d.ts.map +1 -1
  239. package/esm/src/transforms/mdx/esm-module-loader/module-fetcher/render-sessions.js +3 -0
  240. package/esm/src/transforms/pipeline/stages/ssr-vf-modules/index.d.ts +1 -1
  241. package/esm/src/transforms/pipeline/stages/ssr-vf-modules/index.js +1 -1
  242. package/esm/src/transforms/veryfront-module-urls.d.ts.map +1 -1
  243. package/esm/src/transforms/veryfront-module-urls.js +7 -3
  244. package/esm/src/types/entities/getEntityInfo.d.ts.map +1 -1
  245. package/esm/src/types/entities/getEntityInfo.js +79 -127
  246. package/esm/src/utils/path-utils.d.ts +1 -1
  247. package/esm/src/utils/path-utils.d.ts.map +1 -1
  248. package/esm/src/utils/path-utils.js +16 -7
  249. package/esm/src/utils/version-constant.d.ts +1 -1
  250. package/esm/src/utils/version-constant.js +1 -1
  251. package/esm/src/utils/version.d.ts.map +1 -1
  252. package/esm/src/utils/version.js +0 -1
  253. package/esm/src/workflow/worker/dynamic-job-entrypoint.d.ts.map +1 -1
  254. package/esm/src/workflow/worker/dynamic-job-entrypoint.js +5 -72
  255. package/esm/src/workflow/worker/job-entrypoint.d.ts.map +1 -1
  256. package/esm/src/workflow/worker/job-entrypoint.js +5 -72
  257. package/esm/src/workflow/worker/shared.d.ts +18 -0
  258. package/esm/src/workflow/worker/shared.d.ts.map +1 -0
  259. package/esm/src/workflow/worker/shared.js +77 -0
  260. package/package.json +1 -1
  261. package/src/cli/router.ts +41 -2
  262. package/src/cli/shared/update-check.ts +110 -0
  263. package/src/deno.js +13 -8
  264. package/src/src/channels/control-plane.ts +6 -10
  265. package/src/src/channels/invoke.ts +7 -7
  266. package/src/src/chat/index.ts +96 -132
  267. package/src/src/config/env.ts +24 -11
  268. package/src/src/data/static-data-fetcher.ts +59 -34
  269. package/src/src/data/static-paths-fetcher.ts +4 -2
  270. package/src/src/errors/logging.ts +21 -7
  271. package/src/src/errors/user-friendly/error-formatter.ts +14 -29
  272. package/src/src/fs/index.ts +21 -30
  273. package/src/src/html/dev-scripts.ts +5 -9
  274. package/src/src/html/html-escape.ts +4 -0
  275. package/src/src/html/html-injection.ts +2 -2
  276. package/src/src/html/html-shell-generator.ts +60 -26
  277. package/src/src/html/hydration-script-builder/dev-client-renderer.ts +2 -2
  278. package/src/src/html/hydration-script-builder/dev-component-manifest.ts +2 -2
  279. package/src/src/html/hydration-script-builder/dev-error-logger.ts +2 -8
  280. package/src/src/html/hydration-script-builder/dev-scripts.ts +2 -2
  281. package/src/src/html/hydration-script-builder/hydration-data-generator.ts +2 -1
  282. package/src/src/html/hydration-script-builder/index.ts +5 -1
  283. package/src/src/html/hydration-script-builder/prod-hydration.ts +2 -2
  284. package/src/src/html/hydration-script-builder/prod-scripts.ts +16 -15
  285. package/src/src/html/schemas/html.schema.ts +2 -0
  286. package/src/src/html/styles-builder/css-pregeneration.ts +133 -1
  287. package/src/src/html/styles-builder/dev-styles.ts +2 -2
  288. package/src/src/html/utils.ts +62 -29
  289. package/src/src/integrations/remote-tools.ts +39 -37
  290. package/src/src/internal-agents/ag-ui-sse.ts +2 -17
  291. package/src/src/internal-agents/control-plane-auth.ts +8 -6
  292. package/src/src/internal-agents/request-body.ts +7 -5
  293. package/src/src/internal-agents/session-manager.ts +16 -20
  294. package/src/src/issues/core.ts +24 -27
  295. package/src/src/issues/schemas/issue.schema.ts +3 -1
  296. package/src/src/jobs/runtime-env.ts +24 -50
  297. package/src/src/markdown/index.ts +5 -8
  298. package/src/src/mcp/server.ts +50 -53
  299. package/src/src/mdx/index.ts +7 -8
  300. package/src/src/middleware/builtin/logger.ts +44 -29
  301. package/src/src/middleware/builtin/security/rate-limit.ts +20 -11
  302. package/src/src/middleware/builtin/timeout.ts +22 -13
  303. package/src/src/modules/import-map/default-import-map.ts +4 -3
  304. package/src/src/oauth/handlers/callback-handler.ts +9 -16
  305. package/src/src/oauth/handlers/index.ts +1 -1
  306. package/src/src/oauth/handlers/init-handler.ts +56 -27
  307. package/src/src/oauth/providers/index.ts +1 -1
  308. package/src/src/oauth/schemas/index.ts +1 -1
  309. package/src/src/oauth/token-store/index.ts +1 -1
  310. package/src/src/oauth/token-store/memory.ts +8 -8
  311. package/src/src/observability/request-profiler.ts +140 -0
  312. package/src/src/observability/tracing/otlp-setup.ts +16 -22
  313. package/src/src/prompt/factory.ts +16 -14
  314. package/src/src/prompt/registry.ts +14 -13
  315. package/src/src/prompt/schemas/prompt.schema.ts +0 -4
  316. package/src/src/prompt/types.ts +1 -2
  317. package/src/src/provider/local/ai-sdk-adapter.ts +3 -10
  318. package/src/src/provider/local/env.ts +22 -2
  319. package/src/src/provider/local/local-engine.ts +2 -9
  320. package/src/src/provider/model-registry.ts +2 -9
  321. package/src/src/provider/veryfront-cloud/provider.ts +1 -8
  322. package/src/src/provider/veryfront-cloud/shared.ts +12 -15
  323. package/src/src/proxy/handler.ts +90 -74
  324. package/src/src/react/compat/hooks-adapter.ts +43 -44
  325. package/src/src/react/components/Head.tsx +1 -181
  326. package/src/src/react/context/index.tsx +2 -83
  327. package/src/src/react/head-collector.ts +9 -0
  328. package/src/src/react/router/index.tsx +2 -100
  329. package/src/src/react/runtime/core.ts +303 -0
  330. package/src/src/rendering/orchestrator/html.ts +122 -18
  331. package/src/src/rendering/orchestrator/ssr-orchestrator.ts +8 -0
  332. package/src/src/rendering/orchestrator/types.ts +4 -0
  333. package/src/src/repositories/types.ts +0 -4
  334. package/src/src/resource/factory.ts +15 -11
  335. package/src/src/resource/registry.ts +7 -7
  336. package/src/src/schemas/common.ts +8 -5
  337. package/src/src/security/http/config.ts +3 -19
  338. package/src/src/security/http/response/security-handler.ts +22 -13
  339. package/src/src/security/index.ts +4 -7
  340. package/src/src/server/handlers/dev/styles-css.handler.ts +32 -14
  341. package/src/src/server/handlers/monitoring/metrics.handler.ts +3 -1
  342. package/src/src/server/handlers/request/module/module-server-handler.ts +24 -17
  343. package/src/src/server/handlers/request/prod-hydration-module.handler.ts +61 -0
  344. package/src/src/server/handlers/request/ssr/ssr.handler.ts +3 -0
  345. package/src/src/server/production-server.ts +84 -0
  346. package/src/src/server/runtime-handler/handler-context-builder.ts +1 -1
  347. package/src/src/server/runtime-handler/index.ts +44 -13
  348. package/src/src/server/runtime-handler/request-utils.ts +11 -0
  349. package/src/src/server/services/rendering/ssr.service.ts +31 -18
  350. package/src/src/server/services/rsc/endpoints/rsc-bundles.generated.ts +1 -1
  351. package/src/src/skill/allowed-tools.ts +1 -8
  352. package/src/src/skill/executor.ts +2 -2
  353. package/src/src/skill/parser.ts +13 -20
  354. package/src/src/skill/path-safety.ts +1 -1
  355. package/src/src/skill/tools.ts +27 -20
  356. package/src/src/studio/bridge/bridge-bundle.generated.ts +1 -1
  357. package/src/src/task/discovery.ts +97 -97
  358. package/src/src/tool/executor.ts +10 -8
  359. package/src/src/tool/factory.ts +21 -22
  360. package/src/src/tool/types.ts +0 -17
  361. package/src/src/transforms/esm/package-registry.ts +52 -20
  362. package/src/src/transforms/import-rewriter/strategies/veryfront-strategy.ts +2 -1
  363. package/src/src/transforms/mdx/esm-module-loader/cache-format.ts +34 -1
  364. package/src/src/transforms/mdx/esm-module-loader/module-fetcher/index.ts +1 -1
  365. package/src/src/transforms/mdx/esm-module-loader/module-fetcher/render-sessions.ts +4 -0
  366. package/src/src/transforms/pipeline/stages/ssr-vf-modules/index.ts +1 -1
  367. package/src/src/transforms/veryfront-module-urls.ts +6 -2
  368. package/src/src/types/entities/getEntityInfo.ts +131 -152
  369. package/src/src/utils/path-utils.ts +16 -7
  370. package/src/src/utils/version-constant.ts +1 -1
  371. package/src/src/utils/version.ts +0 -1
  372. package/src/src/workflow/worker/dynamic-job-entrypoint.ts +18 -84
  373. package/src/src/workflow/worker/job-entrypoint.ts +18 -85
  374. package/src/src/workflow/worker/shared.ts +127 -0
  375. package/esm/src/prompt/schemas/index.d.ts +0 -7
  376. package/esm/src/prompt/schemas/index.d.ts.map +0 -1
  377. package/esm/src/prompt/schemas/index.js +0 -6
  378. package/esm/src/security/http/handlers-index.d.ts +0 -5
  379. package/esm/src/security/http/handlers-index.d.ts.map +0 -1
  380. package/esm/src/security/http/handlers-index.js +0 -3
  381. package/src/src/prompt/schemas/index.ts +0 -7
  382. package/src/src/security/http/handlers-index.ts +0 -4
@@ -2,7 +2,7 @@ import { logger as baseLogger } from "../utils/index.js";
2
2
  const logger = baseLogger.component("job-runtime-env");
3
3
  export const INJECTED_TASK_ENV_JSON = "VERYFRONT_TASK_ENV_JSON";
4
4
  const UNSAFE_INJECTED_ENV_KEYS = new Set(["__proto__", "constructor", "prototype"]);
5
- const HIDDEN_TASK_CONTEXT_ENV_KEYS = new Set([
5
+ const RESERVED_TASK_ENV_KEYS = new Set([
6
6
  "VERYFRONT_API_TOKEN",
7
7
  "VERYFRONT_API_URL",
8
8
  "VERYFRONT_PROJECT_API_URL",
@@ -15,30 +15,14 @@ const HIDDEN_TASK_CONTEXT_ENV_KEYS = new Set([
15
15
  "VERYFRONT_JOB_RESULT_PATH",
16
16
  INJECTED_TASK_ENV_JSON,
17
17
  ]);
18
- const DISALLOWED_INJECTED_ENV_KEYS = new Set([
19
- "VERYFRONT_API_TOKEN",
20
- "VERYFRONT_API_URL",
21
- "VERYFRONT_PROJECT_API_URL",
22
- "VERYFRONT_API_BASE_URL",
23
- "VERYFRONT_PROJECT_ID",
24
- "VERYFRONT_PROJECT_SLUG",
25
- "VERYFRONT_BRANCH_REF",
26
- "VERYFRONT_API_USER",
27
- "VERYFRONT_API_PASS",
28
- "VERYFRONT_JOB_RESULT_PATH",
29
- INJECTED_TASK_ENV_JSON,
30
- ]);
31
- function isHiddenTaskContextEnvKey(key) {
32
- return key.startsWith("TENANT_") || HIDDEN_TASK_CONTEXT_ENV_KEYS.has(key);
33
- }
34
- function isDisallowedInjectedEnvKey(key) {
35
- return key.startsWith("TENANT_") || DISALLOWED_INJECTED_ENV_KEYS.has(key);
18
+ function isReservedTaskEnvKey(key) {
19
+ return key.startsWith("TENANT_") || RESERVED_TASK_ENV_KEYS.has(key);
36
20
  }
37
- function filterExistingProjectEnv(env) {
21
+ function filterSafeWorkflowEnv(env) {
38
22
  const filtered = {};
39
23
  for (const [key, value] of Object.entries(env ?? {})) {
40
24
  if (UNSAFE_INJECTED_ENV_KEYS.has(key) ||
41
- isDisallowedInjectedEnvKey(key) ||
25
+ isReservedTaskEnvKey(key) ||
42
26
  typeof value !== "string") {
43
27
  continue;
44
28
  }
@@ -47,25 +31,18 @@ function filterExistingProjectEnv(env) {
47
31
  return filtered;
48
32
  }
49
33
  export function readInjectedProjectEnv(allEnv) {
50
- const raw = allEnv[INJECTED_TASK_ENV_JSON];
51
- if (!raw) {
34
+ const rawInjectedEnv = allEnv[INJECTED_TASK_ENV_JSON];
35
+ if (!rawInjectedEnv) {
52
36
  return {};
53
37
  }
54
38
  try {
55
- const parsed = JSON.parse(raw);
56
- if (!parsed || typeof parsed !== "object" || Array.isArray(parsed)) {
39
+ const parsedInjectedEnv = JSON.parse(rawInjectedEnv);
40
+ if (!parsedInjectedEnv ||
41
+ typeof parsedInjectedEnv !== "object" ||
42
+ Array.isArray(parsedInjectedEnv)) {
57
43
  return {};
58
44
  }
59
- const injectedEnv = Object.create(null);
60
- for (const [key, value] of Object.entries(parsed)) {
61
- if (UNSAFE_INJECTED_ENV_KEYS.has(key) ||
62
- isDisallowedInjectedEnvKey(key) ||
63
- typeof value !== "string") {
64
- continue;
65
- }
66
- injectedEnv[key] = value;
67
- }
68
- return injectedEnv;
45
+ return filterSafeWorkflowEnv(parsedInjectedEnv);
69
46
  }
70
47
  catch {
71
48
  logger.warn(`Ignoring invalid ${INJECTED_TASK_ENV_JSON}`);
@@ -73,28 +50,28 @@ export function readInjectedProjectEnv(allEnv) {
73
50
  }
74
51
  }
75
52
  export function buildTaskContextEnv(allEnv, envAllowlist) {
76
- const allowlistedEnvKeys = envAllowlist ? new Set(envAllowlist) : null;
77
- const env = {};
53
+ const allowedEnvKeys = envAllowlist ? new Set(envAllowlist) : null;
54
+ const taskContextEnv = {};
78
55
  for (const [key, value] of Object.entries(allEnv)) {
79
- if (isHiddenTaskContextEnvKey(key)) {
56
+ if (isReservedTaskEnvKey(key)) {
80
57
  continue;
81
58
  }
82
- if (allowlistedEnvKeys && !allowlistedEnvKeys.has(key)) {
59
+ if (allowedEnvKeys && !allowedEnvKeys.has(key)) {
83
60
  continue;
84
61
  }
85
- env[key] = value;
62
+ taskContextEnv[key] = value;
86
63
  }
87
64
  for (const [key, value] of Object.entries(readInjectedProjectEnv(allEnv))) {
88
- if (allowlistedEnvKeys && !allowlistedEnvKeys.has(key)) {
65
+ if (allowedEnvKeys && !allowedEnvKeys.has(key)) {
89
66
  continue;
90
67
  }
91
- env[key] = value;
68
+ taskContextEnv[key] = value;
92
69
  }
93
- return env;
70
+ return taskContextEnv;
94
71
  }
95
72
  export function mergeInjectedWorkflowEnv(existingEnv, allEnv) {
96
73
  const mergedEnv = {
97
- ...filterExistingProjectEnv(existingEnv),
74
+ ...filterSafeWorkflowEnv(existingEnv),
98
75
  ...readInjectedProjectEnv(allEnv),
99
76
  };
100
77
  return Object.keys(mergedEnv).length > 0 ? mergedEnv : undefined;
@@ -11,6 +11,5 @@
11
11
  * ```
12
12
  */
13
13
  import "../../_dnt.polyfills.js";
14
- export { Markdown } from "../react/components/ai/markdown.js";
15
- export type { CodeBlockProps, MarkdownProps } from "../react/components/ai/markdown.js";
14
+ export { type CodeBlockProps, Markdown, type MarkdownProps, } from "../react/components/ai/markdown.js";
16
15
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/src/markdown/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAOH,OAAO,yBAAyB,CAAC;AAGjC,OAAO,EAAE,QAAQ,EAAE,MAAM,oCAAoC,CAAC;AAC9D,YAAY,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,oCAAoC,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/src/markdown/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AACH,OAAO,yBAAyB,CAAC;AAGjC,OAAO,EACL,KAAK,cAAc,EACnB,QAAQ,EACR,KAAK,aAAa,GACnB,MAAM,oCAAoC,CAAC"}
@@ -10,10 +10,5 @@
10
10
  * <Markdown># Hello{"\n\n"}Some **bold** text with `code`.</Markdown>
11
11
  * ```
12
12
  */
13
- // veryfront/markdown — Markdown rendering component
14
- //
15
- // Renders markdown strings at runtime with syntax highlighting and
16
- // Mermaid diagram support. Used for displaying AI-generated content.
17
- // For MDX page customization, use veryfront/mdx instead.
18
13
  import "../../_dnt.polyfills.js";
19
- export { Markdown } from "../react/components/ai/markdown.js";
14
+ export { Markdown, } from "../react/components/ai/markdown.js";
@@ -49,7 +49,6 @@ export declare class MCPServer {
49
49
  createHTTPHandler(): (request: dntShim.Request) => Promise<dntShim.Response>;
50
50
  private extractRequestContext;
51
51
  private validateAuth;
52
- private handleCORS;
53
52
  private getCORSHeaders;
54
53
  private loadRemoteIntegrationTools;
55
54
  }
@@ -1 +1 @@
1
- {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../../src/src/mcp/server.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,OAAO,MAAM,qBAAqB,CAAC;AAG/C,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AAI7D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAMlD,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,0BAA0B,CAAC;AAOzE,KAAK,aAAa,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,EAAE,CAAC;AAOzD,UAAU,cAAc;IACtB,OAAO,EAAE,KAAK,CAAC;IACf,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACrB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,aAAa,CAAC;CACxB;AAED,UAAU,eAAe;IACvB,OAAO,EAAE,KAAK,CAAC;IACf,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACrB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE;QACN,IAAI,EAAE,MAAM,CAAC;QACb,OAAO,EAAE,MAAM,CAAC;QAChB,IAAI,CAAC,EAAE,OAAO,CAAC;KAChB,CAAC;CACH;AAED,MAAM,WAAW,uBAAuB;IACtC,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,wBAAwB,GAAG,SAAS,CAAC,CAAC;IACnE,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,qBAAa,SAAS;IACpB,OAAO,CAAC,MAAM,CAAkB;IAChC,OAAO,CAAC,iBAAiB,CAAC,CAA0B;IACpD,OAAO,CAAC,kBAAkB,CAAS;gBAEvB,MAAM,EAAE,eAAe;IAQnC;;;;;;OAMG;IACH,oBAAoB,CAAC,MAAM,EAAE,uBAAuB,GAAG,IAAI;IAK3D,aAAa,CAAC,OAAO,EAAE,cAAc,EAAE,OAAO,CAAC,EAAE,oBAAoB,GAAG,OAAO,CAAC,eAAe,CAAC;IAsBhG,OAAO,CAAC,QAAQ;IA8BhB,OAAO,CAAC,UAAU;YAYJ,SAAS;IA0BvB,OAAO,CAAC,QAAQ;IAmChB,OAAO,CAAC,aAAa;IAgBrB,OAAO,CAAC,YAAY;IA6CpB,OAAO,CAAC,WAAW;IAcnB,OAAO,CAAC,SAAS;IAuCjB,iBAAiB,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,OAAO,KAAK,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC;IA+E5E,OAAO,CAAC,qBAAqB;YAkBf,YAAY;IAsB1B,OAAO,CAAC,UAAU;IAIlB,OAAO,CAAC,cAAc;YAqBR,0BAA0B;CAqBzC;AAED,wBAAgB,eAAe,CAAC,MAAM,EAAE,eAAe,GAAG,SAAS,CAElE"}
1
+ {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../../src/src/mcp/server.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,OAAO,MAAM,qBAAqB,CAAC;AAG/C,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AAI7D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAMlD,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,0BAA0B,CAAC;AAWzE,KAAK,aAAa,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,EAAE,CAAC;AAoCzD,UAAU,cAAc;IACtB,OAAO,EAAE,KAAK,CAAC;IACf,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACrB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,aAAa,CAAC;CACxB;AAED,UAAU,eAAe;IACvB,OAAO,EAAE,KAAK,CAAC;IACf,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACrB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE;QACN,IAAI,EAAE,MAAM,CAAC;QACb,OAAO,EAAE,MAAM,CAAC;QAChB,IAAI,CAAC,EAAE,OAAO,CAAC;KAChB,CAAC;CACH;AAED,MAAM,WAAW,uBAAuB;IACtC,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,wBAAwB,GAAG,SAAS,CAAC,CAAC;IACnE,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,qBAAa,SAAS;IACpB,OAAO,CAAC,MAAM,CAAkB;IAChC,OAAO,CAAC,iBAAiB,CAAC,CAA0B;IACpD,OAAO,CAAC,kBAAkB,CAAS;gBAEvB,MAAM,EAAE,eAAe;IAQnC;;;;;;OAMG;IACH,oBAAoB,CAAC,MAAM,EAAE,uBAAuB,GAAG,IAAI;IAK3D,aAAa,CAAC,OAAO,EAAE,cAAc,EAAE,OAAO,CAAC,EAAE,oBAAoB,GAAG,OAAO,CAAC,eAAe,CAAC;IAsBhG,OAAO,CAAC,QAAQ;IA8BhB,OAAO,CAAC,UAAU;YAYJ,SAAS;IA0BvB,OAAO,CAAC,QAAQ;IAmChB,OAAO,CAAC,aAAa;IAgBrB,OAAO,CAAC,YAAY;IA6CpB,OAAO,CAAC,WAAW;IAcnB,OAAO,CAAC,SAAS;IAuCjB,iBAAiB,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,OAAO,KAAK,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC;IAiD5E,OAAO,CAAC,qBAAqB;YAgBf,YAAY;IAsB1B,OAAO,CAAC,cAAc;YAqBR,0BAA0B;CAqBzC;AAED,wBAAgB,eAAe,CAAC,MAAM,EAAE,eAAe,GAAG,SAAS,CAElE"}
@@ -12,11 +12,34 @@ import { VeryfrontError } from "../security/input-validation/errors.js";
12
12
  import { logger as baseLogger } from "../utils/index.js";
13
13
  const logger = baseLogger.component("mcp-server");
14
14
  const MAX_REQUEST_BODY_SIZE = 1_048_576; // 1 MB
15
- function asParamsRecord(params) {
15
+ const MAX_CONTEXT_HEADER_LENGTH = 255;
16
+ const JSON_CONTENT_TYPE = "application/json";
17
+ const END_USER_ID_PATTERN = /^[a-zA-Z0-9._@-]+$/;
18
+ const PROJECT_ID_PATTERN = /^[a-zA-Z0-9._-]+$/;
19
+ function toParamsRecord(params) {
16
20
  if (!params || Array.isArray(params))
17
21
  return {};
18
22
  return params;
19
23
  }
24
+ function createJSONResponse(body, init) {
25
+ const headers = new dntShim.Headers(init?.headers);
26
+ headers.set("Content-Type", JSON_CONTENT_TYPE);
27
+ return new dntShim.Response(JSON.stringify(body), { ...init, headers });
28
+ }
29
+ function createJSONRPCErrorResponse(status, code, message) {
30
+ return createJSONResponse({
31
+ jsonrpc: "2.0",
32
+ id: null,
33
+ error: { code, message },
34
+ }, { status });
35
+ }
36
+ function readAllowedHeader(request, headerName, pattern) {
37
+ const value = request.headers.get(headerName);
38
+ if (!value || value.length > MAX_CONTEXT_HEADER_LENGTH || !pattern.test(value)) {
39
+ return undefined;
40
+ }
41
+ return value;
42
+ }
20
43
  export class MCPServer {
21
44
  config;
22
45
  integrationLoader;
@@ -114,7 +137,7 @@ export class MCPServer {
114
137
  return { tools };
115
138
  }
116
139
  callTool(params, context) {
117
- const { name, arguments: args } = asParamsRecord(params);
140
+ const { name, arguments: args } = toParamsRecord(params);
118
141
  if (!name) {
119
142
  throw toError(createError({
120
143
  type: "agent",
@@ -148,7 +171,7 @@ export class MCPServer {
148
171
  return Promise.resolve({ resources });
149
172
  }
150
173
  readResource(params) {
151
- const { uri } = asParamsRecord(params);
174
+ const { uri } = toParamsRecord(params);
152
175
  if (!uri) {
153
176
  throw toError(createError({
154
177
  type: "agent",
@@ -189,7 +212,7 @@ export class MCPServer {
189
212
  return Promise.resolve({ prompts });
190
213
  }
191
214
  getPrompt(params) {
192
- const { name, arguments: args } = asParamsRecord(params);
215
+ const { name, arguments: args } = toParamsRecord(params);
193
216
  if (!name) {
194
217
  throw toError(createError({
195
218
  type: "agent",
@@ -216,8 +239,9 @@ export class MCPServer {
216
239
  createHTTPHandler() {
217
240
  return async (request) => {
218
241
  const requestOrigin = request.headers.get("Origin");
219
- if (request.method === "OPTIONS")
220
- return this.handleCORS(requestOrigin);
242
+ if (request.method === "OPTIONS") {
243
+ return new dntShim.Response(null, { status: 204, headers: this.getCORSHeaders(requestOrigin) });
244
+ }
221
245
  if (this.config.auth?.type && this.config.auth.type !== "none") {
222
246
  const authorized = await this.validateAuth(request);
223
247
  if (!authorized)
@@ -226,52 +250,32 @@ export class MCPServer {
226
250
  // Enforce request body size limit (fast path via Content-Length header)
227
251
  const contentLength = request.headers.get("content-length");
228
252
  if (contentLength && Number(contentLength) > MAX_REQUEST_BODY_SIZE) {
229
- return new dntShim.Response(JSON.stringify({
230
- jsonrpc: "2.0",
231
- id: null,
232
- error: { code: -32600, message: "Request body too large" },
233
- }), { status: 413, headers: { "Content-Type": "application/json" } });
253
+ return createJSONRPCErrorResponse(413, -32600, "Request body too large");
234
254
  }
235
255
  try {
236
- validateContentType(request, "application/json");
256
+ validateContentType(request, JSON_CONTENT_TYPE);
237
257
  }
238
258
  catch (error) {
239
259
  const message = error instanceof VeryfrontError ? error.message : "Invalid Content-Type";
240
- return new dntShim.Response(JSON.stringify({
241
- jsonrpc: "2.0",
242
- id: null,
243
- error: { code: -32700, message },
244
- }), { status: 400, headers: { "Content-Type": "application/json" } });
260
+ return createJSONRPCErrorResponse(400, -32700, message);
245
261
  }
246
262
  let rpcRequest;
247
263
  try {
248
264
  const bodyText = await request.text();
249
265
  if (bodyText.length > MAX_REQUEST_BODY_SIZE) {
250
- return new dntShim.Response(JSON.stringify({
251
- jsonrpc: "2.0",
252
- id: null,
253
- error: { code: -32600, message: "Request body too large" },
254
- }), { status: 413, headers: { "Content-Type": "application/json" } });
266
+ return createJSONRPCErrorResponse(413, -32600, "Request body too large");
255
267
  }
256
268
  rpcRequest = JSON.parse(bodyText);
257
269
  }
258
270
  catch (_) {
259
271
  // expected: malformed JSON in request body
260
- return new dntShim.Response(JSON.stringify({
261
- jsonrpc: "2.0",
262
- id: null,
263
- error: { code: -32700, message: "Parse error" },
264
- }), {
265
- status: 400,
266
- headers: { "Content-Type": "application/json" },
267
- });
272
+ return createJSONRPCErrorResponse(400, -32700, "Parse error");
268
273
  }
269
274
  // Extract end-user identity from request headers for per-user token flows
270
275
  const context = this.extractRequestContext(request);
271
276
  const rpcResponse = await this.handleRequest(rpcRequest, context);
272
- return new dntShim.Response(JSON.stringify(rpcResponse), {
277
+ return createJSONResponse(rpcResponse, {
273
278
  headers: {
274
- "Content-Type": "application/json",
275
279
  ...this.getCORSHeaders(requestOrigin),
276
280
  },
277
281
  });
@@ -279,14 +283,12 @@ export class MCPServer {
279
283
  }
280
284
  extractRequestContext(request) {
281
285
  const context = {};
282
- const endUserId = request.headers.get("x-end-user-id");
283
- // Allowlist: alphanumeric, hyphens, underscores, dots, @ (for email-style IDs)
284
- if (endUserId && endUserId.length <= 255 && /^[a-zA-Z0-9._@-]+$/.test(endUserId)) {
286
+ const endUserId = readAllowedHeader(request, "x-end-user-id", END_USER_ID_PATTERN);
287
+ if (endUserId) {
285
288
  context.endUserId = endUserId;
286
289
  }
287
- const projectId = request.headers.get("x-project-id");
288
- // Keep project IDs strict but compatible with UUID/slug formats.
289
- if (projectId && projectId.length <= 255 && /^[a-zA-Z0-9._-]+$/.test(projectId)) {
290
+ const projectId = readAllowedHeader(request, "x-project-id", PROJECT_ID_PATTERN);
291
+ if (projectId) {
290
292
  context.projectId = projectId;
291
293
  }
292
294
  return Object.keys(context).length > 0 ? context : undefined;
@@ -310,9 +312,6 @@ export class MCPServer {
310
312
  const validate = auth.validate;
311
313
  return await validate(token);
312
314
  }
313
- handleCORS(requestOrigin) {
314
- return new dntShim.Response(null, { status: 204, headers: this.getCORSHeaders(requestOrigin) });
315
- }
316
315
  getCORSHeaders(requestOrigin) {
317
316
  if (!this.config.cors?.enabled)
318
317
  return {};
@@ -11,8 +11,9 @@
11
11
  * {children}
12
12
  * </MDXProvider>
13
13
  * ```
14
+ *
15
+ * For runtime markdown string rendering, use `veryfront/markdown` instead.
14
16
  */
15
17
  import "../../_dnt.polyfills.js";
16
- export { MDXProvider, useMDXComponents } from "../react/components/MDXProvider.js";
17
- export type { MDXProviderProps } from "../react/components/MDXProvider.js";
18
+ export { MDXProvider, type MDXProviderProps, useMDXComponents, } from "../react/components/MDXProvider.js";
18
19
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/src/mdx/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAMH,OAAO,yBAAyB,CAAC;AAGjC,OAAO,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,oCAAoC,CAAC;AACnF,YAAY,EAAE,gBAAgB,EAAE,MAAM,oCAAoC,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/src/mdx/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AACH,OAAO,yBAAyB,CAAC;AAEjC,OAAO,EACL,WAAW,EACX,KAAK,gBAAgB,EACrB,gBAAgB,GACjB,MAAM,oCAAoC,CAAC"}
@@ -11,10 +11,8 @@
11
11
  * {children}
12
12
  * </MDXProvider>
13
13
  * ```
14
+ *
15
+ * For runtime markdown string rendering, use `veryfront/markdown` instead.
14
16
  */
15
- // veryfront/mdx — MDX provider and component overrides
16
- //
17
- // For customizing how .mdx pages render components.
18
- // For runtime markdown string rendering, use veryfront/markdown instead.
19
17
  import "../../_dnt.polyfills.js";
20
- export { MDXProvider, useMDXComponents } from "../react/components/MDXProvider.js";
18
+ export { MDXProvider, useMDXComponents, } from "../react/components/MDXProvider.js";
@@ -1 +1 @@
1
- {"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../../../../src/src/middleware/builtin/logger.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,OAAO,MAAM,wBAAwB,CAAC;AAClD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAY7C,MAAM,MAAM,SAAS,GAAG,UAAU,GAAG,QAAQ,GAAG,KAAK,GAAG,OAAO,GAAG,MAAM,GAAG,MAAM,CAAC;AAElF,MAAM,WAAW,aAAa;IAC5B,MAAM,CAAC,EAAE,SAAS,CAAC;IACnB,IAAI,CAAC,EAAE,CAAC,GAAG,EAAE,OAAO,CAAC,OAAO,KAAK,OAAO,CAAC;IACzC,GAAG,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;CACjC;AAiID,wBAAgB,MAAM,CAAC,OAAO,CAAC,EAAE,aAAa,GAAG,UAAU,CAsD1D;AAED,wBAAgB,SAAS,IAAI,UAAU,CAEtC;AAED,wBAAgB,UAAU,IAAI,UAAU,CAEvC"}
1
+ {"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../../../../src/src/middleware/builtin/logger.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,OAAO,MAAM,wBAAwB,CAAC;AAClD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAY7C,MAAM,MAAM,SAAS,GAAG,UAAU,GAAG,QAAQ,GAAG,KAAK,GAAG,OAAO,GAAG,MAAM,GAAG,MAAM,CAAC;AAElF,MAAM,WAAW,aAAa;IAC5B,MAAM,CAAC,EAAE,SAAS,CAAC;IACnB,IAAI,CAAC,EAAE,CAAC,GAAG,EAAE,OAAO,CAAC,OAAO,KAAK,OAAO,CAAC;IACzC,GAAG,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;CACjC;AAoJD,wBAAgB,MAAM,CAAC,OAAO,CAAC,EAAE,aAAa,GAAG,UAAU,CAkD1D;AAED,wBAAgB,SAAS,IAAI,UAAU,CAEtC;AAED,wBAAgB,UAAU,IAAI,UAAU,CAEvC"}
@@ -41,6 +41,18 @@ function getTimestamp() {
41
41
  function getRemoteAddr(req) {
42
42
  return req.headers.get("x-forwarded-for") ?? req.headers.get("x-real-ip") ?? "-";
43
43
  }
44
+ function getRequestLogDetails(req) {
45
+ return {
46
+ method: req.method,
47
+ pathname: new URL(req.url).pathname,
48
+ remoteAddr: getRemoteAddr(req),
49
+ referer: req.headers.get("referer") ?? undefined,
50
+ requestId: req.headers.get("x-request-id") ?? undefined,
51
+ traceId: req.headers.get("x-trace-id") ?? req.headers.get("traceparent") ?? undefined,
52
+ projectSlug: req.headers.get("x-project-slug") ?? undefined,
53
+ userAgent: req.headers.get("user-agent") ?? undefined,
54
+ };
55
+ }
44
56
  function getLogLevel(status) {
45
57
  if (status >= HTTP_STATUS_SERVER_ERROR_MIN)
46
58
  return "error";
@@ -49,29 +61,24 @@ function getLogLevel(status) {
49
61
  return "info";
50
62
  }
51
63
  function formatJsonLog(req, status, duration) {
52
- const { pathname } = new URL(req.url);
53
- const userAgent = req.headers.get("user-agent");
54
- const referer = req.headers.get("referer");
55
- const requestId = req.headers.get("x-request-id");
56
- const traceId = req.headers.get("x-trace-id") ?? req.headers.get("traceparent");
57
- const projectSlug = req.headers.get("x-project-slug");
64
+ const details = getRequestLogDetails(req);
58
65
  const entry = {
59
66
  timestamp: new Date().toISOString(),
60
67
  level: getLogLevel(status),
61
68
  service: "server",
62
- message: `${req.method} ${pathname} ${status}`,
69
+ message: `${details.method} ${details.pathname} ${status}`,
63
70
  http: {
64
- method: req.method,
65
- path: pathname,
71
+ method: details.method,
72
+ path: details.pathname,
66
73
  status,
67
74
  durationMs: Math.round(duration),
68
- remoteAddr: getRemoteAddr(req),
69
- ...(userAgent && userAgent !== "-" ? { userAgent } : {}),
70
- ...(referer && referer !== "-" ? { referer } : {}),
75
+ remoteAddr: details.remoteAddr,
76
+ ...(details.userAgent && details.userAgent !== "-" ? { userAgent: details.userAgent } : {}),
77
+ ...(details.referer && details.referer !== "-" ? { referer: details.referer } : {}),
71
78
  },
72
- ...(requestId ? { requestId } : {}),
73
- ...(traceId ? { traceId } : {}),
74
- ...(projectSlug ? { projectSlug } : {}),
79
+ ...(details.requestId ? { requestId: details.requestId } : {}),
80
+ ...(details.traceId ? { traceId: details.traceId } : {}),
81
+ ...(details.projectSlug ? { projectSlug: details.projectSlug } : {}),
75
82
  };
76
83
  return JSON.stringify(entry);
77
84
  }
@@ -117,21 +124,17 @@ export function logger(options) {
117
124
  serverLogger.info(formatLog(format, req, status, duration));
118
125
  return;
119
126
  }
120
- const { pathname } = new URL(req.url);
121
- const requestId = req.headers.get("x-request-id") ?? undefined;
122
- const traceId = req.headers.get("x-trace-id") ?? req.headers.get("traceparent") ?? undefined;
123
- const projectSlug = req.headers.get("x-project-slug") ?? undefined;
124
- const userAgent = req.headers.get("user-agent") ?? undefined;
125
- serverLogger.info(`${req.method} ${pathname} ${status}`, {
126
- requestId,
127
- traceId,
128
- project_slug: projectSlug,
129
- request_url: pathname,
127
+ const details = getRequestLogDetails(req);
128
+ serverLogger.info(`${details.method} ${details.pathname} ${status}`, {
129
+ requestId: details.requestId,
130
+ traceId: details.traceId,
131
+ project_slug: details.projectSlug,
132
+ request_url: details.pathname,
130
133
  durationMs: Math.round(duration),
131
- method: req.method,
134
+ method: details.method,
132
135
  statusCode: status,
133
- remoteAddr: getRemoteAddr(req),
134
- ...(userAgent ? { userAgent } : {}),
136
+ remoteAddr: details.remoteAddr,
137
+ ...(details.userAgent ? { userAgent: details.userAgent } : {}),
135
138
  });
136
139
  }
137
140
  return async (ctx, next) => {
@@ -1 +1 @@
1
- {"version":3,"file":"rate-limit.d.ts","sourceRoot":"","sources":["../../../../../src/src/middleware/builtin/security/rate-limit.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,OAAO,MAAM,2BAA2B,CAAC;AACrD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAE9C,OAAO,KAAK,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAYjE,qBAAa,oBAAqB,YAAW,cAAc;IACzD,OAAO,CAAC,MAAM,CAAqC;IACnD,OAAO,CAAC,eAAe,CAAC,CAAyC;gBAErD,QAAQ,EAAE,MAAM;IAgB5B,SAAS,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC;IAcjE,KAAK,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAKjC,OAAO,IAAI,IAAI;CAIhB;AAED,MAAM,WAAW,gBAAgB;IAC/B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,cAAc,CAAC;IACvB,YAAY,CAAC,EAAE,CAAC,GAAG,EAAE,OAAO,CAAC,OAAO,KAAK,MAAM,CAAC;CACjD;AAED,wBAAgB,SAAS,CACvB,oBAAoB,CAAC,EAAE,MAAM,GAAG,gBAAgB,EAChD,WAAW,CAAC,EAAE,MAAM,GACnB,UAAU,CAkCZ;AAED,8EAA8E;AAC9E,wBAAgB,aAAa,CAAC,KAAK,CAAC,EAAE,cAAc,GAAG,UAAU,CAMhE"}
1
+ {"version":3,"file":"rate-limit.d.ts","sourceRoot":"","sources":["../../../../../src/src/middleware/builtin/security/rate-limit.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,OAAO,MAAM,2BAA2B,CAAC;AACrD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAE9C,OAAO,KAAK,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AA4BjE,qBAAa,oBAAqB,YAAW,cAAc;IACzD,OAAO,CAAC,MAAM,CAAqC;IACnD,OAAO,CAAC,eAAe,CAAC,CAAyC;gBAErD,QAAQ,EAAE,MAAM;IAgB5B,SAAS,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC;IAcjE,KAAK,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAKjC,OAAO,IAAI,IAAI;CAKhB;AAED,MAAM,WAAW,gBAAgB;IAC/B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,cAAc,CAAC;IACvB,YAAY,CAAC,EAAE,CAAC,GAAG,EAAE,OAAO,CAAC,OAAO,KAAK,MAAM,CAAC;CACjD;AAED,wBAAgB,SAAS,CACvB,oBAAoB,CAAC,EAAE,MAAM,GAAG,gBAAgB,EAChD,WAAW,CAAC,EAAE,MAAM,GACnB,UAAU,CA0BZ;AAED,8EAA8E;AAC9E,wBAAgB,aAAa,CAAC,KAAK,CAAC,EAAE,cAAc,GAAG,UAAU,CAMhE"}
@@ -5,6 +5,19 @@ import { CLEANUP_INTERVAL_MULTIPLIER } from "../../../utils/constants/cache.js";
5
5
  import { unrefTimer } from "../../../platform/compat/process.js";
6
6
  const DEFAULT_RATE_LIMIT_REQUESTS = 100;
7
7
  const DEFAULT_RATE_LIMIT_WINDOW_MS = MS_PER_MINUTE;
8
+ function createRateLimitEntry(windowMs) {
9
+ return { count: 1, resetAt: Date.now() + windowMs };
10
+ }
11
+ function getRightmostForwardedIp(req) {
12
+ const forwarded = req.headers.get("x-forwarded-for");
13
+ if (!forwarded)
14
+ return undefined;
15
+ const parts = forwarded.split(",").map((value) => value.trim()).filter(Boolean);
16
+ return parts.at(-1);
17
+ }
18
+ function defaultKeyGenerator(req) {
19
+ return getRightmostForwardedIp(req) ?? "anonymous";
20
+ }
8
21
  export class MemoryRateLimitStore {
9
22
  counts = new Map();
10
23
  cleanupInterval;
@@ -22,10 +35,10 @@ export class MemoryRateLimitStore {
22
35
  unrefTimer(this.cleanupInterval);
23
36
  }
24
37
  increment(key, windowMs) {
25
- const now = Date.now();
26
38
  const existing = this.counts.get(key);
39
+ const now = Date.now();
27
40
  if (!existing || existing.resetAt < now) {
28
- const entry = { count: 1, resetAt: now + windowMs };
41
+ const entry = createRateLimitEntry(windowMs);
29
42
  this.counts.set(key, entry);
30
43
  return Promise.resolve(entry);
31
44
  }
@@ -40,6 +53,7 @@ export class MemoryRateLimitStore {
40
53
  if (!this.cleanupInterval)
41
54
  return;
42
55
  clearInterval(this.cleanupInterval);
56
+ this.cleanupInterval = undefined;
43
57
  }
44
58
  }
45
59
  export function rateLimit(optionsOrMaxRequests, windowMsArg) {
@@ -49,16 +63,7 @@ export function rateLimit(optionsOrMaxRequests, windowMsArg) {
49
63
  const maxRequests = options.maxRequests ?? DEFAULT_RATE_LIMIT_REQUESTS;
50
64
  const windowMs = options.windowMs ?? DEFAULT_RATE_LIMIT_WINDOW_MS;
51
65
  const store = options.store ?? new MemoryRateLimitStore(windowMs);
52
- const keyGenerator = options.keyGenerator ?? ((req) => {
53
- const forwarded = req.headers.get("x-forwarded-for");
54
- if (forwarded) {
55
- const parts = forwarded.split(",").map((s) => s.trim()).filter(Boolean);
56
- // Use rightmost IP — added by nearest trusted proxy, not spoofable by clients
57
- if (parts.length > 0)
58
- return parts[parts.length - 1];
59
- }
60
- return "anonymous";
61
- });
66
+ const keyGenerator = options.keyGenerator ?? defaultKeyGenerator;
62
67
  return async (ctx, next) => {
63
68
  const req = getRequest(ctx);
64
69
  const key = keyGenerator(req);
@@ -1 +1 @@
1
- {"version":3,"file":"timeout.d.ts","sourceRoot":"","sources":["../../../../src/src/middleware/builtin/timeout.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAG7C,OAAO,EACL,KAAK,iBAAiB,EAEvB,MAAM,oCAAoC,CAAC;AAQ5C,MAAM,WAAW,cAAc;IAC7B,+CAA+C;IAC/C,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB,0CAA0C;IAC1C,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB,0DAA0D;IAC1D,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;CACpB;AAED;;;;;GAKG;AACH,wBAAgB,OAAO,CAAC,OAAO,CAAC,EAAE,cAAc,GAAG,UAAU,CA6C5D;AAED;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,GAAG,GAAE,iBAA0C,GAAG,MAAM,CAGzF;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,OAAO,CAAC,EAAE,IAAI,CAAC,cAAc,EAAE,WAAW,CAAC,GAAG,UAAU,CAEtF"}
1
+ {"version":3,"file":"timeout.d.ts","sourceRoot":"","sources":["../../../../src/src/middleware/builtin/timeout.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAG7C,OAAO,EACL,KAAK,iBAAiB,EAEvB,MAAM,oCAAoC,CAAC;AAS5C,MAAM,WAAW,cAAc;IAC7B,+CAA+C;IAC/C,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB,0CAA0C;IAC1C,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB,0DAA0D;IAC1D,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;CACpB;AAoBD;;;;;GAKG;AACH,wBAAgB,OAAO,CAAC,OAAO,CAAC,EAAE,cAAc,GAAG,UAAU,CAmC5D;AAED;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,GAAG,GAAE,iBAA0C,GAAG,MAAM,CAGzF;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,OAAO,CAAC,EAAE,IAAI,CAAC,cAAc,EAAE,WAAW,CAAC,GAAG,UAAU,CAEtF"}
@@ -6,6 +6,20 @@ import { HTTP_GATEWAY_TIMEOUT } from "../../utils/constants/http.js";
6
6
  const logger = serverLogger.component("timeout");
7
7
  const DEFAULT_TIMEOUT_MS = 60_000;
8
8
  const TIMEOUT_SENTINEL = Symbol("timeout");
9
+ const DEFAULT_EXCLUDE_PATHS = ["/healthz", "/readyz", "/_health"];
10
+ function isExcludedPath(pathname, exclude) {
11
+ return exclude.some((path) => pathname === path || pathname.startsWith(path));
12
+ }
13
+ function timeoutResponse(pathname, timeoutMs, message) {
14
+ return new dntShim.Response(JSON.stringify({
15
+ error: message,
16
+ timeoutMs,
17
+ path: pathname,
18
+ }), {
19
+ status: HTTP_GATEWAY_TIMEOUT,
20
+ headers: { "Content-Type": "application/json" },
21
+ });
22
+ }
9
23
  /**
10
24
  * Creates a middleware that enforces request timeouts.
11
25
  *
@@ -15,11 +29,11 @@ const TIMEOUT_SENTINEL = Symbol("timeout");
15
29
  export function timeout(options) {
16
30
  const timeoutMs = options?.timeoutMs ?? DEFAULT_TIMEOUT_MS;
17
31
  const message = options?.message ?? "Request timeout";
18
- const exclude = options?.exclude ?? ["/healthz", "/readyz", "/_health"];
32
+ const exclude = options?.exclude ?? DEFAULT_EXCLUDE_PATHS;
19
33
  return async (ctx, next) => {
20
34
  const req = getRequest(ctx);
21
35
  const { pathname } = new URL(req.url);
22
- if (exclude.some((path) => pathname === path || pathname.startsWith(path))) {
36
+ if (isExcludedPath(pathname, exclude)) {
23
37
  return next();
24
38
  }
25
39
  let timeoutId;
@@ -37,14 +51,7 @@ export function timeout(options) {
37
51
  method: req.method,
38
52
  timeoutMs,
39
53
  });
40
- return new dntShim.Response(JSON.stringify({
41
- error: message,
42
- timeoutMs,
43
- path: pathname,
44
- }), {
45
- status: HTTP_GATEWAY_TIMEOUT,
46
- headers: { "Content-Type": "application/json" },
47
- });
54
+ return timeoutResponse(pathname, timeoutMs, message);
48
55
  }
49
56
  finally {
50
57
  if (timeoutId)
@@ -1 +1 @@
1
- {"version":3,"file":"default-import-map.d.ts","sourceRoot":"","sources":["../../../../src/src/modules/import-map/default-import-map.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAwDlD,wBAAgB,mBAAmB,IAAI,eAAe,CAIrD"}
1
+ {"version":3,"file":"default-import-map.d.ts","sourceRoot":"","sources":["../../../../src/src/modules/import-map/default-import-map.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAyDlD,wBAAgB,mBAAmB,IAAI,eAAe,CAIrD"}
@@ -10,9 +10,10 @@ import { getReactImportMap } from "../../transforms/esm/package-registry.js";
10
10
  function getVeryfrontSsrImportMap() {
11
11
  const base = "/_vf_modules/_veryfront";
12
12
  const ssr = "?ssr=true";
13
- const head = `${base}/react/components/Head.js${ssr}`;
14
- const router = `${base}/react/router/index.js${ssr}`;
15
- const context = `${base}/react/context/index.js${ssr}`;
13
+ const coreReact = `${base}/react/runtime/core.js${ssr}`;
14
+ const head = coreReact;
15
+ const router = coreReact;
16
+ const context = coreReact;
16
17
  const fonts = `${base}/react/fonts/index.js${ssr}`;
17
18
  const markdown = `${base}/markdown/index.js${ssr}`;
18
19
  const chat = `${base}/chat/index.js${ssr}`;
@@ -1,8 +1,3 @@
1
- /**************************************************
2
- * OAuth Callback Handler
3
- *
4
- * Reusable handler for OAuth callback routes.
5
- **************************************************/
6
1
  import * as dntShim from "../../../_dnt.shims.js";
7
2
  import { type EnvironmentConfig } from "../../config/environment-config.js";
8
3
  import { type EnvReader } from "../providers/base.js";
@@ -1 +1 @@
1
- {"version":3,"file":"callback-handler.d.ts","sourceRoot":"","sources":["../../../../src/src/oauth/handlers/callback-handler.ts"],"names":[],"mappings":"AAAA;;;;oDAIoD;AACpD,OAAO,KAAK,OAAO,MAAM,wBAAwB,CAAC;AAKlD,OAAO,EACL,KAAK,iBAAiB,EAEvB,MAAM,oCAAoC,CAAC;AAC5C,OAAO,EAAE,KAAK,SAAS,EAAgB,MAAM,sBAAsB,CAAC;AAEpE,OAAO,KAAK,EAAE,kBAAkB,EAAc,UAAU,EAAE,MAAM,aAAa,CAAC;AAI9E,MAAM,WAAW,2BAA2B;IAC1C,oDAAoD;IACpD,UAAU,CAAC,EAAE,UAAU,CAAC;IAExB,gEAAgE;IAChE,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB,4BAA4B;IAC5B,eAAe,CAAC,EAAE,MAAM,CAAC;IAEzB,0BAA0B;IAC1B,aAAa,CAAC,EAAE,MAAM,CAAC;IAEvB,8BAA8B;IAC9B,SAAS,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAEzE,4BAA4B;IAC5B,OAAO,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAErE,kEAAkE;IAClE,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAE9B,gFAAgF;IAChF,GAAG,CAAC,EAAE,iBAAiB,CAAC;IAExB,0DAA0D;IAC1D,SAAS,CAAC,EAAE,SAAS,CAAC;CACvB;AAED,wBAAgB,0BAA0B,CACxC,MAAM,EAAE,kBAAkB,EAC1B,OAAO,GAAE,2BAAgC,GACxC,CAAC,OAAO,EAAE,OAAO,CAAC,OAAO,KAAK,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,CAkHzD"}
1
+ {"version":3,"file":"callback-handler.d.ts","sourceRoot":"","sources":["../../../../src/src/oauth/handlers/callback-handler.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,OAAO,MAAM,wBAAwB,CAAC;AAGlD,OAAO,EACL,KAAK,iBAAiB,EAEvB,MAAM,oCAAoC,CAAC;AAC5C,OAAO,EAAE,KAAK,SAAS,EAAgB,MAAM,sBAAsB,CAAC;AAEpE,OAAO,KAAK,EAAE,kBAAkB,EAAc,UAAU,EAAE,MAAM,aAAa,CAAC;AAI9E,MAAM,WAAW,2BAA2B;IAC1C,oDAAoD;IACpD,UAAU,CAAC,EAAE,UAAU,CAAC;IAExB,gEAAgE;IAChE,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB,4BAA4B;IAC5B,eAAe,CAAC,EAAE,MAAM,CAAC;IAEzB,0BAA0B;IAC1B,aAAa,CAAC,EAAE,MAAM,CAAC;IAEvB,8BAA8B;IAC9B,SAAS,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAEzE,4BAA4B;IAC5B,OAAO,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAErE,kEAAkE;IAClE,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAE9B,gFAAgF;IAChF,GAAG,CAAC,EAAE,iBAAiB,CAAC;IAExB,0DAA0D;IAC1D,SAAS,CAAC,EAAE,SAAS,CAAC;CACvB;AAED,wBAAgB,0BAA0B,CACxC,MAAM,EAAE,kBAAkB,EAC1B,OAAO,GAAE,2BAAgC,GACxC,CAAC,OAAO,EAAE,OAAO,CAAC,OAAO,KAAK,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,CAkHzD"}