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 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/src/server/runtime-handler/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,OAAO,KAAK,OAAO,MAAM,wBAAwB,CAAC;AAQlD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AACtE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAwF7D,OAAO,EAAE,qBAAqB,EAAE,KAAK,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAMtF,MAAM,WAAW,qBAAqB;IACpC,UAAU,EAAE,MAAM,CAAC;IACnB,kDAAkD;IAClD,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,wEAAwE;IACxE,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,0DAA0D;IAC1D,MAAM,CAAC,EAAE,eAAe,CAAC;IACzB,oFAAoF;IACpF,aAAa,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACvC,sFAAsF;IACtF,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,oFAAoF;IACpF,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,uGAAuG;IACvG,kBAAkB,CAAC,EAAE,SAAS,GAAG,YAAY,CAAC;CAC/C;AAED,wBAAgB,sBAAsB,CACpC,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,cAAc,EACvB,IAAI,GAAE,qBAAsC,GAC3C,CAAC,CAAC,GAAG,EAAE,OAAO,CAAC,OAAO,KAAK,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,GAAG;IAAE,KAAK,CAAC,EAAE,OAAO,CAAC,IAAI,CAAC,CAAA;CAAE,CAkbnF;AAGD,YAAY,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAC;AAChE,OAAO,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/src/server/runtime-handler/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,OAAO,KAAK,OAAO,MAAM,wBAAwB,CAAC;AAQlD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AACtE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAwF7D,OAAO,EAAE,qBAAqB,EAAE,KAAK,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAMtF,MAAM,WAAW,qBAAqB;IACpC,UAAU,EAAE,MAAM,CAAC;IACnB,kDAAkD;IAClD,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,wEAAwE;IACxE,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,0DAA0D;IAC1D,MAAM,CAAC,EAAE,eAAe,CAAC;IACzB,oFAAoF;IACpF,aAAa,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACvC,sFAAsF;IACtF,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,oFAAoF;IACpF,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,uGAAuG;IACvG,kBAAkB,CAAC,EAAE,SAAS,GAAG,YAAY,CAAC;CAC/C;AAED,wBAAgB,sBAAsB,CACpC,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,cAAc,EACvB,IAAI,GAAE,qBAAsC,GAC3C,CAAC,CAAC,GAAG,EAAE,OAAO,CAAC,OAAO,KAAK,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,GAAG;IAAE,KAAK,CAAC,EAAE,OAAO,CAAC,IAAI,CAAC,CAAA;CAAE,CAuanF;AAGD,YAAY,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAC;AAChE,OAAO,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC"}
@@ -210,31 +210,24 @@ export function createVeryfrontHandler(projectDir, adapter, opts = { projectDir
210
210
  // proceeding would cause cryptic 500s deep in the rendering pipeline.
211
211
  if (isProxyMode && !isLightweightPath(url.pathname) && !isWebSocketPath(url.pathname)) {
212
212
  const token = req.headers.get("x-token");
213
- if (!headers.projectSlug) {
214
- logger.error("Missing required x-project-slug header in proxy mode", {
215
- pathname: url.pathname,
216
- domain,
217
- host: req.headers.get("host"),
218
- forwardedHost: req.headers.get("x-forwarded-host"),
219
- });
220
- endContentMetrics({
221
- requestId: lifecycle.requestId,
222
- pathname: url.pathname,
223
- mode: "proxy",
224
- });
225
- completeRequestTracking(lifecycle.requestId, 502, false);
226
- completeIsolatedRequest(headers.projectSlug, lifecycle.shouldCheckIsolation, false);
227
- endRequestTracing(spanInfo.span, 502);
228
- return new dntShim.Response(JSON.stringify({
213
+ const missingHeader = !headers.projectSlug
214
+ ? {
229
215
  error: "Missing project context",
230
216
  detail: "x-project-slug header is required in proxy mode",
231
- }), { status: 502, headers: { "Content-Type": "application/json" } });
232
- }
233
- if (!token) {
234
- logger.error("Missing required x-token header in proxy mode", {
217
+ }
218
+ : !token
219
+ ? {
220
+ error: "Missing authentication context",
221
+ detail: "x-token header is required in proxy mode",
222
+ }
223
+ : null;
224
+ if (missingHeader) {
225
+ logger.error(missingHeader.detail, {
235
226
  pathname: url.pathname,
236
227
  domain,
237
228
  projectSlug: headers.projectSlug,
229
+ host: req.headers.get("host"),
230
+ forwardedHost: req.headers.get("x-forwarded-host"),
238
231
  });
239
232
  endContentMetrics({
240
233
  requestId: lifecycle.requestId,
@@ -244,10 +237,7 @@ export function createVeryfrontHandler(projectDir, adapter, opts = { projectDir
244
237
  completeRequestTracking(lifecycle.requestId, 502, false);
245
238
  completeIsolatedRequest(headers.projectSlug, lifecycle.shouldCheckIsolation, false);
246
239
  endRequestTracing(spanInfo.span, 502);
247
- return new dntShim.Response(JSON.stringify({
248
- error: "Missing authentication context",
249
- detail: "x-token header is required in proxy mode",
250
- }), { status: 502, headers: { "Content-Type": "application/json" } });
240
+ return new dntShim.Response(JSON.stringify(missingHeader), { status: 502, headers: { "Content-Type": "application/json" } });
251
241
  }
252
242
  }
253
243
  const executeHandler = async () => {
@@ -13,12 +13,5 @@
13
13
  *
14
14
  * @module server/shared/renderer/memory/pressure
15
15
  */
16
- export type MemoryPressureLevel = "normal" | "warning" | "high" | "critical";
17
- export declare function getMemoryPressure(): {
18
- level: MemoryPressureLevel;
19
- heapUsedPercent: number;
20
- };
21
16
  export declare function shouldRejectDueToMemory(): boolean;
22
- export declare function getCacheTTLMultiplier(): number;
23
- export declare function shouldEvictAggressively(): boolean;
24
17
  //# sourceMappingURL=pressure.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"pressure.d.ts","sourceRoot":"","sources":["../../../../../../src/src/server/shared/renderer/memory/pressure.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AASH,MAAM,MAAM,mBAAmB,GAAG,QAAQ,GAAG,SAAS,GAAG,MAAM,GAAG,UAAU,CAAC;AAqB7E,wBAAgB,iBAAiB,IAAI;IAAE,KAAK,EAAE,mBAAmB,CAAC;IAAC,eAAe,EAAE,MAAM,CAAA;CAAE,CAQ3F;AAED,wBAAgB,uBAAuB,IAAI,OAAO,CAMjD;AAED,wBAAgB,qBAAqB,IAAI,MAAM,CAM9C;AAED,wBAAgB,uBAAuB,IAAI,OAAO,CAGjD"}
1
+ {"version":3,"file":"pressure.d.ts","sourceRoot":"","sources":["../../../../../../src/src/server/shared/renderer/memory/pressure.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAwCH,wBAAgB,uBAAuB,IAAI,OAAO,CAMjD"}
@@ -34,7 +34,7 @@ const THRESHOLDS = {
34
34
  HIGH: parseEnvThreshold("MEMORY_HIGH_THRESHOLD", 75),
35
35
  CRITICAL: parseEnvThreshold("MEMORY_CRITICAL_THRESHOLD", 80),
36
36
  };
37
- export function getMemoryPressure() {
37
+ function getMemoryPressure() {
38
38
  const { heapUsedPercent } = getHeapStats();
39
39
  if (heapUsedPercent >= THRESHOLDS.CRITICAL)
40
40
  return { level: "critical", heapUsedPercent };
@@ -51,15 +51,3 @@ export function shouldRejectDueToMemory() {
51
51
  rendererLog.warn("Rejecting request - memory critical", { heapUsedPercent });
52
52
  return true;
53
53
  }
54
- export function getCacheTTLMultiplier() {
55
- const { level } = getMemoryPressure();
56
- if (level === "warning")
57
- return 0.5;
58
- if (level === "high" || level === "critical")
59
- return 0.25;
60
- return 1.0;
61
- }
62
- export function shouldEvictAggressively() {
63
- const { level } = getMemoryPressure();
64
- return level === "high" || level === "critical";
65
- }
@@ -15,10 +15,6 @@ export interface DomainLookupConfig {
15
15
  }
16
16
  export declare function lookupProjectByDomain(domain: string, config: DomainLookupConfig): Promise<DomainLookupResult | null>;
17
17
  export declare function clearDomainCache(): void;
18
- export declare function getDomainCacheStats(): {
19
- size: number;
20
- maxSize: number;
21
- };
22
18
  /**
23
19
  * Inject a CacheRepository for testing or distributed caching.
24
20
  * Call with null to restore default Map-based caching.
@@ -1 +1 @@
1
- {"version":3,"file":"domain-lookup.d.ts","sourceRoot":"","sources":["../../../../src/src/server/utils/domain-lookup.ts"],"names":[],"mappings":"AAaA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAMnE,MAAM,WAAW,kBAAkB;IACjC,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC;IACjD,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;CAC3B;AAED,MAAM,WAAW,kBAAkB;IACjC,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAmED,wBAAgB,qBAAqB,CACnC,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,kBAAkB,GACzB,OAAO,CAAC,kBAAkB,GAAG,IAAI,CAAC,CA4BpC;AA4FD,wBAAgB,gBAAgB,IAAI,IAAI,CAOvC;AAED,wBAAgB,mBAAmB,IAAI;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAEvE;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,qBAAqB,CAAC,SAAS,EAAE,eAAe,CAAC,MAAM,CAAC,GAAG,IAAI,GAAG,IAAI,CAErF;AAED,wBAAgB,kBAAkB,CAChC,MAAM,EAAE,kBAAkB,GAAG,IAAI,GAChC,SAAS,GAAG,YAAY,GAAG,SAAS,CAatC"}
1
+ {"version":3,"file":"domain-lookup.d.ts","sourceRoot":"","sources":["../../../../src/src/server/utils/domain-lookup.ts"],"names":[],"mappings":"AAaA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAMnE,MAAM,WAAW,kBAAkB;IACjC,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC;IACjD,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;CAC3B;AAED,MAAM,WAAW,kBAAkB;IACjC,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAmED,wBAAgB,qBAAqB,CACnC,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,kBAAkB,GACzB,OAAO,CAAC,kBAAkB,GAAG,IAAI,CAAC,CA4BpC;AA4FD,wBAAgB,gBAAgB,IAAI,IAAI,CAOvC;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,qBAAqB,CAAC,SAAS,EAAE,eAAe,CAAC,MAAM,CAAC,GAAG,IAAI,GAAG,IAAI,CAErF;AAED,wBAAgB,kBAAkB,CAChC,MAAM,EAAE,kBAAkB,GAAG,IAAI,GAChC,SAAS,GAAG,YAAY,GAAG,SAAS,CAatC"}
@@ -144,9 +144,6 @@ export function clearDomainCache() {
144
144
  void injectedCacheRepo.clear();
145
145
  logger.debug("Cache cleared");
146
146
  }
147
- export function getDomainCacheStats() {
148
- return { size: domainCache.size, maxSize: DOMAIN_CACHE_MAX_ENTRIES };
149
- }
150
147
  /**
151
148
  * Inject a CacheRepository for testing or distributed caching.
152
149
  * Call with null to restore default Map-based caching.
@@ -0,0 +1,54 @@
1
+ /**
2
+ * Allowed-Tools Enforcement
3
+ *
4
+ * Dual-layer enforcement for skill tool access restrictions.
5
+ * Layer 1: Filter tool definitions before sending to model (planning-time)
6
+ * Layer 2: Check individual tool calls at execution time
7
+ *
8
+ * @module
9
+ */
10
+ /**
11
+ * Check if a tool name matches a single allowed-tools pattern.
12
+ *
13
+ * Supports:
14
+ * - Exact match: "Read" matches "Read"
15
+ * - Prefix wildcard: "api:*" matches "api:list-users"
16
+ */
17
+ export declare function matchesAllowedTool(toolName: string, pattern: string): boolean;
18
+ /** Minimal tool definition shape for filtering */
19
+ export interface FilterableToolDefinition {
20
+ name: string;
21
+ description: string;
22
+ parameters: unknown;
23
+ }
24
+ /**
25
+ * Layer 1: Filter tool definitions before sending to model.
26
+ *
27
+ * Removes tools not in the allowed list. Always-allowed tools
28
+ * (skill system tools) pass through regardless.
29
+ *
30
+ * @param tools - Full list of tool definitions
31
+ * @param allowedTools - Allowed tool patterns, or undefined for no restrictions
32
+ * @returns Filtered tool definitions
33
+ */
34
+ export declare function filterToolsForSkill<T extends FilterableToolDefinition>(tools: T[], allowedTools: string[] | undefined): T[];
35
+ /**
36
+ * Layer 2: Check if a specific tool call is allowed at execution time.
37
+ *
38
+ * @param toolName - Name of the tool being called
39
+ * @param allowedTools - Allowed tool patterns, or undefined for no restrictions
40
+ * @returns true if the tool call is allowed
41
+ */
42
+ export declare function isToolAllowedBySkill(toolName: string, allowedTools: string[] | undefined): boolean;
43
+ /**
44
+ * Validate allowed-tool patterns at parse time.
45
+ *
46
+ * Ensures each pattern matches the expected format.
47
+ * Rejects unsupported patterns with a descriptive error (fail closed).
48
+ *
49
+ * @param patterns - Array of tool patterns to validate
50
+ * @returns Validated patterns (same array if all valid)
51
+ * @throws If any pattern is invalid
52
+ */
53
+ export declare function validateAllowedToolPatterns(patterns: string[]): string[];
54
+ //# sourceMappingURL=allowed-tools.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"allowed-tools.d.ts","sourceRoot":"","sources":["../../../src/src/skill/allowed-tools.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAKH;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAc7E;AAED,kDAAkD;AAClD,MAAM,WAAW,wBAAwB;IACvC,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,OAAO,CAAC;CACrB;AAED;;;;;;;;;GASG;AACH,wBAAgB,mBAAmB,CAAC,CAAC,SAAS,wBAAwB,EACpE,KAAK,EAAE,CAAC,EAAE,EACV,YAAY,EAAE,MAAM,EAAE,GAAG,SAAS,GACjC,CAAC,EAAE,CASL;AAED;;;;;;GAMG;AACH,wBAAgB,oBAAoB,CAClC,QAAQ,EAAE,MAAM,EAChB,YAAY,EAAE,MAAM,EAAE,GAAG,SAAS,GACjC,OAAO,CAIT;AAED;;;;;;;;;GASG;AACH,wBAAgB,2BAA2B,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,MAAM,EAAE,CAaxE"}
@@ -0,0 +1,87 @@
1
+ /**
2
+ * Allowed-Tools Enforcement
3
+ *
4
+ * Dual-layer enforcement for skill tool access restrictions.
5
+ * Layer 1: Filter tool definitions before sending to model (planning-time)
6
+ * Layer 2: Check individual tool calls at execution time
7
+ *
8
+ * @module
9
+ */
10
+ import { SKILL_ALLOWED_TOOL_PATTERN_REGEX, SKILL_TOOL_IDS } from "./types.js";
11
+ import { createError, toError } from "../errors/veryfront-error.js";
12
+ /**
13
+ * Check if a tool name matches a single allowed-tools pattern.
14
+ *
15
+ * Supports:
16
+ * - Exact match: "Read" matches "Read"
17
+ * - Prefix wildcard: "api:*" matches "api:list-users"
18
+ */
19
+ export function matchesAllowedTool(toolName, pattern) {
20
+ // Invalid patterns always fail (fail closed)
21
+ if (!SKILL_ALLOWED_TOOL_PATTERN_REGEX.test(pattern)) {
22
+ return false;
23
+ }
24
+ // Prefix wildcard
25
+ if (pattern.endsWith(":*")) {
26
+ const prefix = pattern.slice(0, -1); // keep the colon: "api:"
27
+ return toolName.startsWith(prefix);
28
+ }
29
+ // Exact match
30
+ return toolName === pattern;
31
+ }
32
+ /**
33
+ * Layer 1: Filter tool definitions before sending to model.
34
+ *
35
+ * Removes tools not in the allowed list. Always-allowed tools
36
+ * (skill system tools) pass through regardless.
37
+ *
38
+ * @param tools - Full list of tool definitions
39
+ * @param allowedTools - Allowed tool patterns, or undefined for no restrictions
40
+ * @returns Filtered tool definitions
41
+ */
42
+ export function filterToolsForSkill(tools, allowedTools) {
43
+ if (allowedTools === undefined) {
44
+ return tools;
45
+ }
46
+ return tools.filter((tool) => {
47
+ if (SKILL_TOOL_IDS.has(tool.name))
48
+ return true;
49
+ return allowedTools.some((pattern) => matchesAllowedTool(tool.name, pattern));
50
+ });
51
+ }
52
+ /**
53
+ * Layer 2: Check if a specific tool call is allowed at execution time.
54
+ *
55
+ * @param toolName - Name of the tool being called
56
+ * @param allowedTools - Allowed tool patterns, or undefined for no restrictions
57
+ * @returns true if the tool call is allowed
58
+ */
59
+ export function isToolAllowedBySkill(toolName, allowedTools) {
60
+ if (allowedTools === undefined)
61
+ return true;
62
+ if (SKILL_TOOL_IDS.has(toolName))
63
+ return true;
64
+ return allowedTools.some((pattern) => matchesAllowedTool(toolName, pattern));
65
+ }
66
+ /**
67
+ * Validate allowed-tool patterns at parse time.
68
+ *
69
+ * Ensures each pattern matches the expected format.
70
+ * Rejects unsupported patterns with a descriptive error (fail closed).
71
+ *
72
+ * @param patterns - Array of tool patterns to validate
73
+ * @returns Validated patterns (same array if all valid)
74
+ * @throws If any pattern is invalid
75
+ */
76
+ export function validateAllowedToolPatterns(patterns) {
77
+ for (const pattern of patterns) {
78
+ if (!SKILL_ALLOWED_TOOL_PATTERN_REGEX.test(pattern)) {
79
+ throw toError(createError({
80
+ type: "agent",
81
+ message: `Invalid allowed-tools pattern "${pattern}". ` +
82
+ `Only exact tool IDs (e.g. "Read") and prefix wildcards (e.g. "api:*") are supported.`,
83
+ }));
84
+ }
85
+ }
86
+ return patterns;
87
+ }
@@ -0,0 +1,28 @@
1
+ import type { SkillScriptExecutor, SkillScriptExecutorInput, SkillScriptResult } from "./types.js";
2
+ /**
3
+ * Detect the runtime command for a script based on file extension.
4
+ */
5
+ export declare function detectRuntime(scriptPath: string): {
6
+ command: string;
7
+ args: string[];
8
+ };
9
+ /**
10
+ * Local script executor using runCommand() from the compat layer.
11
+ */
12
+ export declare class LocalScriptExecutor implements SkillScriptExecutor {
13
+ execute(input: SkillScriptExecutorInput): Promise<SkillScriptResult>;
14
+ }
15
+ /**
16
+ * Cloud script executor using sandbox.
17
+ * Requires SANDBOX_AUTH_TOKEN environment variable.
18
+ */
19
+ export declare class CloudScriptExecutor implements SkillScriptExecutor {
20
+ execute(input: SkillScriptExecutorInput): Promise<SkillScriptResult>;
21
+ }
22
+ /**
23
+ * Get the appropriate script executor.
24
+ * Checks SANDBOX_AUTH_TOKEN on every call so request-scoped env overlays
25
+ * (e.g. project-env AsyncLocalStorage) are respected.
26
+ */
27
+ export declare function getSkillScriptExecutor(): SkillScriptExecutor;
28
+ //# sourceMappingURL=executor.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"executor.d.ts","sourceRoot":"","sources":["../../../src/src/skill/executor.ts"],"names":[],"mappings":"AAeA,OAAO,KAAK,EAAE,mBAAmB,EAAE,wBAAwB,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAoEnG;;GAEG;AACH,wBAAgB,aAAa,CAAC,UAAU,EAAE,MAAM,GAAG;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,EAAE,CAAA;CAAE,CAqBrF;AAED;;GAEG;AACH,qBAAa,mBAAoB,YAAW,mBAAmB;IACvD,OAAO,CAAC,KAAK,EAAE,wBAAwB,GAAG,OAAO,CAAC,iBAAiB,CAAC;CAsB3E;AAED;;;GAGG;AACH,qBAAa,mBAAoB,YAAW,mBAAmB;IACvD,OAAO,CAAC,KAAK,EAAE,wBAAwB,GAAG,OAAO,CAAC,iBAAiB,CAAC;CA+D3E;AAED;;;;GAIG;AACH,wBAAgB,sBAAsB,IAAI,mBAAmB,CAE5D"}
@@ -0,0 +1,187 @@
1
+ /**
2
+ * Skill Script Executor
3
+ *
4
+ * Executes skill scripts using cross-runtime subprocess execution.
5
+ *
6
+ * @module
7
+ */
8
+ import * as dntShim from "../../_dnt.shims.js";
9
+ import { getEnv, runCommand } from "../platform/compat/process.js";
10
+ import { isDeno } from "../platform/compat/runtime.js";
11
+ import { extname } from "../platform/compat/path/index.js";
12
+ import { readTextFile } from "../platform/compat/fs.js";
13
+ import { createError, toError } from "../errors/veryfront-error.js";
14
+ const DEFAULT_SCRIPT_TIMEOUT_MS = 60_000;
15
+ const MAX_SCRIPT_TIMEOUT_MS = 300_000;
16
+ const TIMEOUT_EXIT_CODE = 124;
17
+ const ENV_KEY_REGEX = /^[A-Za-z_][A-Za-z0-9_]*$/;
18
+ const TIMEOUT_SENTINEL = Symbol("skill-script-timeout");
19
+ function resolveTimeoutMs(timeoutMs) {
20
+ if (timeoutMs === undefined || !Number.isFinite(timeoutMs) || timeoutMs <= 0) {
21
+ return DEFAULT_SCRIPT_TIMEOUT_MS;
22
+ }
23
+ return Math.min(Math.floor(timeoutMs), MAX_SCRIPT_TIMEOUT_MS);
24
+ }
25
+ async function withTimeout(promise, timeoutMs) {
26
+ let timeoutId;
27
+ const timeoutPromise = new Promise((resolve) => {
28
+ timeoutId = dntShim.setTimeout(() => resolve(TIMEOUT_SENTINEL), timeoutMs);
29
+ });
30
+ try {
31
+ return await Promise.race([promise, timeoutPromise]);
32
+ }
33
+ finally {
34
+ if (timeoutId)
35
+ clearTimeout(timeoutId);
36
+ }
37
+ }
38
+ function timeoutResult(timeoutMs) {
39
+ return {
40
+ stdout: "",
41
+ stderr: `Script execution timed out after ${timeoutMs}ms`,
42
+ exitCode: TIMEOUT_EXIT_CODE,
43
+ };
44
+ }
45
+ function shellEscapeArg(value) {
46
+ return `'${value.replaceAll("'", "'\"'\"'")}'`;
47
+ }
48
+ function buildShellCommand(parts) {
49
+ return parts.map(shellEscapeArg).join(" ");
50
+ }
51
+ function formatEnvAssignments(env) {
52
+ if (!env)
53
+ return [];
54
+ return Object.entries(env).map(([key, value]) => {
55
+ if (!ENV_KEY_REGEX.test(key)) {
56
+ throw toError(createError({
57
+ type: "agent",
58
+ message: `Invalid environment variable name: "${key}"`,
59
+ }));
60
+ }
61
+ return `${key}=${value}`;
62
+ });
63
+ }
64
+ function createSandboxScriptPath(scriptPath) {
65
+ const ext = extname(scriptPath) || ".sh";
66
+ const suffix = Math.random().toString(36).slice(2, 10);
67
+ return `/tmp/veryfront-skill-script-${Date.now()}-${suffix}${ext}`;
68
+ }
69
+ /**
70
+ * Detect the runtime command for a script based on file extension.
71
+ */
72
+ export function detectRuntime(scriptPath) {
73
+ const ext = extname(scriptPath).toLowerCase();
74
+ switch (ext) {
75
+ case ".py":
76
+ return { command: "python3", args: [scriptPath] };
77
+ case ".sh":
78
+ return { command: "bash", args: [scriptPath] };
79
+ case ".js":
80
+ return { command: "node", args: [scriptPath] };
81
+ case ".ts":
82
+ if (isDeno) {
83
+ return {
84
+ command: "deno",
85
+ args: ["run", "--allow-read", "--allow-env", "--allow-net", "--allow-write", scriptPath],
86
+ };
87
+ }
88
+ return { command: "npx", args: ["tsx", scriptPath] };
89
+ default:
90
+ return { command: scriptPath, args: [] };
91
+ }
92
+ }
93
+ /**
94
+ * Local script executor using runCommand() from the compat layer.
95
+ */
96
+ export class LocalScriptExecutor {
97
+ async execute(input) {
98
+ const timeoutMs = resolveTimeoutMs(input.timeoutMs);
99
+ const { command, args: runtimeArgs } = detectRuntime(input.scriptPath);
100
+ const allArgs = [...runtimeArgs, ...(input.args ?? [])];
101
+ // Remove the script path from args if it's already the command
102
+ const finalArgs = command === input.scriptPath ? (input.args ?? []) : allArgs;
103
+ const result = await runCommand(command, {
104
+ args: finalArgs,
105
+ cwd: input.cwd,
106
+ env: input.env,
107
+ capture: true,
108
+ timeoutMs,
109
+ });
110
+ return {
111
+ stdout: result.stdout ?? "",
112
+ stderr: result.stderr ?? "",
113
+ exitCode: result.code,
114
+ };
115
+ }
116
+ }
117
+ /**
118
+ * Cloud script executor using sandbox.
119
+ * Requires SANDBOX_AUTH_TOKEN environment variable.
120
+ */
121
+ export class CloudScriptExecutor {
122
+ async execute(input) {
123
+ const timeoutMs = resolveTimeoutMs(input.timeoutMs);
124
+ // NOTE: In SSR contexts, getEnv() reads through the project-env overlay
125
+ // (AsyncLocalStorage-backed). If the token is set at host level only,
126
+ // the overlay may not surface it. Ensure SANDBOX_AUTH_TOKEN is available
127
+ // in the request-scoped environment when running under SSR.
128
+ const authToken = getEnv("SANDBOX_AUTH_TOKEN");
129
+ if (!authToken) {
130
+ throw toError(createError({
131
+ type: "agent",
132
+ message: "Cloud script execution requires SANDBOX_AUTH_TOKEN environment variable",
133
+ }));
134
+ }
135
+ // Lazy import to avoid bundling sandbox in non-cloud environments
136
+ const { Sandbox } = await import("../sandbox/index.js");
137
+ const sandbox = await Sandbox.create({ authToken });
138
+ try {
139
+ const sandboxScriptPath = createSandboxScriptPath(input.scriptPath);
140
+ const scriptContent = input.scriptContent ?? await readTextFile(input.scriptPath);
141
+ await sandbox.writeFiles([{ path: sandboxScriptPath, content: scriptContent }]);
142
+ await sandbox.executeCommand(buildShellCommand(["chmod", "+x", sandboxScriptPath]));
143
+ const { command, args: runtimeArgs } = detectRuntime(sandboxScriptPath);
144
+ const allArgs = [...runtimeArgs, ...(input.args ?? [])];
145
+ const finalArgs = command === sandboxScriptPath ? (input.args ?? []) : allArgs;
146
+ const envAssignments = formatEnvAssignments(input.env);
147
+ const commandParts = envAssignments.length > 0
148
+ ? ["env", ...envAssignments, command, ...finalArgs]
149
+ : [command, ...finalArgs];
150
+ const cmdString = buildShellCommand(commandParts);
151
+ const commandPromise = sandbox.executeCommand(cmdString);
152
+ const result = await withTimeout(commandPromise, timeoutMs);
153
+ if (result === TIMEOUT_SENTINEL) {
154
+ // Kill any running processes before returning — withTimeout only
155
+ // races the timer, it doesn't terminate the sandbox command.
156
+ try {
157
+ await sandbox.executeCommand("kill -9 -1 2>/dev/null || true");
158
+ }
159
+ catch {
160
+ // Best-effort kill; sandbox.close() in finally will clean up.
161
+ }
162
+ return timeoutResult(timeoutMs);
163
+ }
164
+ return {
165
+ stdout: result.stdout,
166
+ stderr: result.stderr,
167
+ exitCode: result.exitCode,
168
+ };
169
+ }
170
+ finally {
171
+ try {
172
+ await sandbox.close();
173
+ }
174
+ catch {
175
+ // Best-effort cleanup.
176
+ }
177
+ }
178
+ }
179
+ }
180
+ /**
181
+ * Get the appropriate script executor.
182
+ * Checks SANDBOX_AUTH_TOKEN on every call so request-scoped env overlays
183
+ * (e.g. project-env AsyncLocalStorage) are respected.
184
+ */
185
+ export function getSkillScriptExecutor() {
186
+ return getEnv("SANDBOX_AUTH_TOKEN") ? new CloudScriptExecutor() : new LocalScriptExecutor();
187
+ }
@@ -0,0 +1,19 @@
1
+ /**
2
+ * Agent Skills
3
+ *
4
+ * Public API for the agent skills system.
5
+ * Skills are project-level capabilities defined as SKILL.md files
6
+ * following the agentskills.io specification.
7
+ *
8
+ * @module
9
+ */
10
+ export type { ActiveSkillContext, Skill, SkillContent, SkillMetadata, SkillScriptExecutor, SkillScriptExecutorInput, SkillScriptResult, } from "./types.js";
11
+ export { SKILL_ALLOWED_TOOL_PATTERN_REGEX, SKILL_ASSETS_DIR, SKILL_DESCRIPTION_MAX_LENGTH, SKILL_MD_FILENAME, SKILL_NAME_REGEX, SKILL_REFERENCES_DIR, SKILL_SCRIPTS_DIR, SKILL_TOOL_IDS, } from "./types.js";
12
+ export { getAllSkills, getSkill, registerSkill, skillRegistry } from "./registry.js";
13
+ export { parseSkillFrontmatter, validateSkillMetadata } from "./parser.js";
14
+ export { listSkillSubdir, validateSkillPath } from "./path-safety.js";
15
+ export { createExecuteSkillScriptTool, createLoadSkillReferenceTool, createLoadSkillTool, } from "./tools.js";
16
+ export { getSkillScriptExecutor } from "./executor.js";
17
+ export { buildSkillManifestPrompt } from "./prompt-augmentation.js";
18
+ export { filterToolsForSkill, isToolAllowedBySkill, validateAllowedToolPatterns, } from "./allowed-tools.js";
19
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/src/skill/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAGH,YAAY,EACV,kBAAkB,EAClB,KAAK,EACL,YAAY,EACZ,aAAa,EACb,mBAAmB,EACnB,wBAAwB,EACxB,iBAAiB,GAClB,MAAM,YAAY,CAAC;AAEpB,OAAO,EACL,gCAAgC,EAChC,gBAAgB,EAChB,4BAA4B,EAC5B,iBAAiB,EACjB,gBAAgB,EAChB,oBAAoB,EACpB,iBAAiB,EACjB,cAAc,GACf,MAAM,YAAY,CAAC;AAGpB,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAGrF,OAAO,EAAE,qBAAqB,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AAG3E,OAAO,EAAE,eAAe,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAGtE,OAAO,EACL,4BAA4B,EAC5B,4BAA4B,EAC5B,mBAAmB,GACpB,MAAM,YAAY,CAAC;AAGpB,OAAO,EAAE,sBAAsB,EAAE,MAAM,eAAe,CAAC;AAGvD,OAAO,EAAE,wBAAwB,EAAE,MAAM,0BAA0B,CAAC;AAGpE,OAAO,EACL,mBAAmB,EACnB,oBAAoB,EACpB,2BAA2B,GAC5B,MAAM,oBAAoB,CAAC"}
@@ -0,0 +1,24 @@
1
+ /**
2
+ * Agent Skills
3
+ *
4
+ * Public API for the agent skills system.
5
+ * Skills are project-level capabilities defined as SKILL.md files
6
+ * following the agentskills.io specification.
7
+ *
8
+ * @module
9
+ */
10
+ export { SKILL_ALLOWED_TOOL_PATTERN_REGEX, SKILL_ASSETS_DIR, SKILL_DESCRIPTION_MAX_LENGTH, SKILL_MD_FILENAME, SKILL_NAME_REGEX, SKILL_REFERENCES_DIR, SKILL_SCRIPTS_DIR, SKILL_TOOL_IDS, } from "./types.js";
11
+ // Registry
12
+ export { getAllSkills, getSkill, registerSkill, skillRegistry } from "./registry.js";
13
+ // Parser
14
+ export { parseSkillFrontmatter, validateSkillMetadata } from "./parser.js";
15
+ // Path Safety
16
+ export { listSkillSubdir, validateSkillPath } from "./path-safety.js";
17
+ // Tools
18
+ export { createExecuteSkillScriptTool, createLoadSkillReferenceTool, createLoadSkillTool, } from "./tools.js";
19
+ // Executor
20
+ export { getSkillScriptExecutor } from "./executor.js";
21
+ // Prompt
22
+ export { buildSkillManifestPrompt } from "./prompt-augmentation.js";
23
+ // Allowed-Tools
24
+ export { filterToolsForSkill, isToolAllowedBySkill, validateAllowedToolPatterns, } from "./allowed-tools.js";
@@ -0,0 +1,30 @@
1
+ /**
2
+ * Skill frontmatter parser
3
+ *
4
+ * Parses SKILL.md files with YAML frontmatter.
5
+ * Primary parser: gray-matter shim (#std/front-matter/yaml.ts)
6
+ * Fallback: regex + line-by-line parser
7
+ *
8
+ * @module
9
+ */
10
+ import { type SkillMetadata } from "./types.js";
11
+ /** Result of parsing a SKILL.md file */
12
+ export interface ParsedSkillContent {
13
+ frontmatter: Record<string, unknown>;
14
+ body: string;
15
+ }
16
+ /**
17
+ * Parse SKILL.md content into frontmatter + body.
18
+ *
19
+ * Uses gray-matter shim as primary parser with a regex fallback
20
+ * for environments where gray-matter is not available.
21
+ */
22
+ export declare function parseSkillFrontmatter(content: string): Promise<ParsedSkillContent>;
23
+ /**
24
+ * Validate and normalize parsed frontmatter into SkillMetadata.
25
+ *
26
+ * @param frontmatter - Parsed frontmatter object
27
+ * @param directoryName - Directory name used as fallback for skill name
28
+ */
29
+ export declare function validateSkillMetadata(frontmatter: Record<string, unknown>, directoryName: string): SkillMetadata;
30
+ //# sourceMappingURL=parser.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"parser.d.ts","sourceRoot":"","sources":["../../../src/src/skill/parser.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAGH,OAAO,EAIL,KAAK,aAAa,EACnB,MAAM,YAAY,CAAC;AAEpB,wCAAwC;AACxC,MAAM,WAAW,kBAAkB;IACjC,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACrC,IAAI,EAAE,MAAM,CAAC;CACd;AAED;;;;;GAKG;AACH,wBAAsB,qBAAqB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAYxF;AA+BD;;;;;GAKG;AACH,wBAAgB,qBAAqB,CACnC,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACpC,aAAa,EAAE,MAAM,GACpB,aAAa,CAiDf"}