@frontmcp/uipack 0.6.1

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 (417) hide show
  1. package/CLAUDE.md +246 -0
  2. package/LICENSE +201 -0
  3. package/README.md +150 -0
  4. package/adapters/index.d.ts +13 -0
  5. package/adapters/index.d.ts.map +1 -0
  6. package/adapters/index.js +462 -0
  7. package/adapters/platform-meta.d.ts +166 -0
  8. package/adapters/platform-meta.d.ts.map +1 -0
  9. package/adapters/response-builder.d.ts +108 -0
  10. package/adapters/response-builder.d.ts.map +1 -0
  11. package/adapters/serving-mode.d.ts +107 -0
  12. package/adapters/serving-mode.d.ts.map +1 -0
  13. package/base-template/bridge.d.ts +90 -0
  14. package/base-template/bridge.d.ts.map +1 -0
  15. package/base-template/default-base-template.d.ts +92 -0
  16. package/base-template/default-base-template.d.ts.map +1 -0
  17. package/base-template/index.d.ts +15 -0
  18. package/base-template/index.d.ts.map +1 -0
  19. package/base-template/index.js +1398 -0
  20. package/base-template/polyfills.d.ts +31 -0
  21. package/base-template/polyfills.d.ts.map +1 -0
  22. package/base-template/theme-styles.d.ts +74 -0
  23. package/base-template/theme-styles.d.ts.map +1 -0
  24. package/bridge-runtime/iife-generator.d.ts +62 -0
  25. package/bridge-runtime/iife-generator.d.ts.map +1 -0
  26. package/bridge-runtime/index.d.ts +10 -0
  27. package/bridge-runtime/index.d.ts.map +1 -0
  28. package/bridge-runtime/index.js +883 -0
  29. package/build/cdn-resources.d.ts +243 -0
  30. package/build/cdn-resources.d.ts.map +1 -0
  31. package/build/index.d.ts +295 -0
  32. package/build/index.d.ts.map +1 -0
  33. package/build/index.js +6861 -0
  34. package/build/widget-manifest.d.ts +362 -0
  35. package/build/widget-manifest.d.ts.map +1 -0
  36. package/bundler/cache.d.ts +173 -0
  37. package/bundler/cache.d.ts.map +1 -0
  38. package/bundler/file-cache/component-builder.d.ts +167 -0
  39. package/bundler/file-cache/component-builder.d.ts.map +1 -0
  40. package/bundler/file-cache/hash-calculator.d.ts +155 -0
  41. package/bundler/file-cache/hash-calculator.d.ts.map +1 -0
  42. package/bundler/file-cache/index.d.ts +12 -0
  43. package/bundler/file-cache/index.d.ts.map +1 -0
  44. package/bundler/file-cache/storage/filesystem.d.ts +149 -0
  45. package/bundler/file-cache/storage/filesystem.d.ts.map +1 -0
  46. package/bundler/file-cache/storage/index.d.ts +11 -0
  47. package/bundler/file-cache/storage/index.d.ts.map +1 -0
  48. package/bundler/file-cache/storage/interface.d.ts +152 -0
  49. package/bundler/file-cache/storage/interface.d.ts.map +1 -0
  50. package/bundler/file-cache/storage/redis.d.ts +139 -0
  51. package/bundler/file-cache/storage/redis.d.ts.map +1 -0
  52. package/bundler/index.d.ts +35 -0
  53. package/bundler/index.d.ts.map +1 -0
  54. package/bundler/index.js +2947 -0
  55. package/bundler/sandbox/enclave-adapter.d.ts +121 -0
  56. package/bundler/sandbox/enclave-adapter.d.ts.map +1 -0
  57. package/bundler/sandbox/executor.d.ts +14 -0
  58. package/bundler/sandbox/executor.d.ts.map +1 -0
  59. package/bundler/sandbox/policy.d.ts +62 -0
  60. package/bundler/sandbox/policy.d.ts.map +1 -0
  61. package/bundler/types.d.ts +702 -0
  62. package/bundler/types.d.ts.map +1 -0
  63. package/dependency/cdn-registry.d.ts +98 -0
  64. package/dependency/cdn-registry.d.ts.map +1 -0
  65. package/dependency/import-map.d.ts +186 -0
  66. package/dependency/import-map.d.ts.map +1 -0
  67. package/dependency/import-parser.d.ts +82 -0
  68. package/dependency/import-parser.d.ts.map +1 -0
  69. package/dependency/index.d.ts +17 -0
  70. package/dependency/index.d.ts.map +1 -0
  71. package/dependency/index.js +3215 -0
  72. package/dependency/resolver.d.ts +164 -0
  73. package/dependency/resolver.d.ts.map +1 -0
  74. package/dependency/schemas.d.ts +486 -0
  75. package/dependency/schemas.d.ts.map +1 -0
  76. package/dependency/template-loader.d.ts +204 -0
  77. package/dependency/template-loader.d.ts.map +1 -0
  78. package/dependency/template-processor.d.ts +118 -0
  79. package/dependency/template-processor.d.ts.map +1 -0
  80. package/dependency/types.d.ts +739 -0
  81. package/dependency/types.d.ts.map +1 -0
  82. package/esm/adapters/index.d.ts +13 -0
  83. package/esm/adapters/index.d.ts.map +1 -0
  84. package/esm/adapters/index.js +427 -0
  85. package/esm/adapters/platform-meta.d.ts +166 -0
  86. package/esm/adapters/platform-meta.d.ts.map +1 -0
  87. package/esm/adapters/response-builder.d.ts +108 -0
  88. package/esm/adapters/response-builder.d.ts.map +1 -0
  89. package/esm/adapters/serving-mode.d.ts +107 -0
  90. package/esm/adapters/serving-mode.d.ts.map +1 -0
  91. package/esm/base-template/bridge.d.ts +90 -0
  92. package/esm/base-template/bridge.d.ts.map +1 -0
  93. package/esm/base-template/default-base-template.d.ts +92 -0
  94. package/esm/base-template/default-base-template.d.ts.map +1 -0
  95. package/esm/base-template/index.d.ts +15 -0
  96. package/esm/base-template/index.d.ts.map +1 -0
  97. package/esm/base-template/index.js +1364 -0
  98. package/esm/base-template/polyfills.d.ts +31 -0
  99. package/esm/base-template/polyfills.d.ts.map +1 -0
  100. package/esm/base-template/theme-styles.d.ts +74 -0
  101. package/esm/base-template/theme-styles.d.ts.map +1 -0
  102. package/esm/bridge-runtime/iife-generator.d.ts +62 -0
  103. package/esm/bridge-runtime/iife-generator.d.ts.map +1 -0
  104. package/esm/bridge-runtime/index.d.ts +10 -0
  105. package/esm/bridge-runtime/index.d.ts.map +1 -0
  106. package/esm/bridge-runtime/index.js +853 -0
  107. package/esm/build/cdn-resources.d.ts +243 -0
  108. package/esm/build/cdn-resources.d.ts.map +1 -0
  109. package/esm/build/index.d.ts +295 -0
  110. package/esm/build/index.d.ts.map +1 -0
  111. package/esm/build/index.js +6786 -0
  112. package/esm/build/widget-manifest.d.ts +362 -0
  113. package/esm/build/widget-manifest.d.ts.map +1 -0
  114. package/esm/bundler/cache.d.ts +173 -0
  115. package/esm/bundler/cache.d.ts.map +1 -0
  116. package/esm/bundler/file-cache/component-builder.d.ts +167 -0
  117. package/esm/bundler/file-cache/component-builder.d.ts.map +1 -0
  118. package/esm/bundler/file-cache/hash-calculator.d.ts +155 -0
  119. package/esm/bundler/file-cache/hash-calculator.d.ts.map +1 -0
  120. package/esm/bundler/file-cache/index.d.ts +12 -0
  121. package/esm/bundler/file-cache/index.d.ts.map +1 -0
  122. package/esm/bundler/file-cache/storage/filesystem.d.ts +149 -0
  123. package/esm/bundler/file-cache/storage/filesystem.d.ts.map +1 -0
  124. package/esm/bundler/file-cache/storage/index.d.ts +11 -0
  125. package/esm/bundler/file-cache/storage/index.d.ts.map +1 -0
  126. package/esm/bundler/file-cache/storage/interface.d.ts +152 -0
  127. package/esm/bundler/file-cache/storage/interface.d.ts.map +1 -0
  128. package/esm/bundler/file-cache/storage/redis.d.ts +139 -0
  129. package/esm/bundler/file-cache/storage/redis.d.ts.map +1 -0
  130. package/esm/bundler/index.d.ts +35 -0
  131. package/esm/bundler/index.d.ts.map +1 -0
  132. package/esm/bundler/index.js +2882 -0
  133. package/esm/bundler/sandbox/enclave-adapter.d.ts +121 -0
  134. package/esm/bundler/sandbox/enclave-adapter.d.ts.map +1 -0
  135. package/esm/bundler/sandbox/executor.d.ts +14 -0
  136. package/esm/bundler/sandbox/executor.d.ts.map +1 -0
  137. package/esm/bundler/sandbox/policy.d.ts +62 -0
  138. package/esm/bundler/sandbox/policy.d.ts.map +1 -0
  139. package/esm/bundler/types.d.ts +702 -0
  140. package/esm/bundler/types.d.ts.map +1 -0
  141. package/esm/dependency/cdn-registry.d.ts +98 -0
  142. package/esm/dependency/cdn-registry.d.ts.map +1 -0
  143. package/esm/dependency/import-map.d.ts +186 -0
  144. package/esm/dependency/import-map.d.ts.map +1 -0
  145. package/esm/dependency/import-parser.d.ts +82 -0
  146. package/esm/dependency/import-parser.d.ts.map +1 -0
  147. package/esm/dependency/index.d.ts +17 -0
  148. package/esm/dependency/index.d.ts.map +1 -0
  149. package/esm/dependency/index.js +3096 -0
  150. package/esm/dependency/resolver.d.ts +164 -0
  151. package/esm/dependency/resolver.d.ts.map +1 -0
  152. package/esm/dependency/schemas.d.ts +486 -0
  153. package/esm/dependency/schemas.d.ts.map +1 -0
  154. package/esm/dependency/template-loader.d.ts +204 -0
  155. package/esm/dependency/template-loader.d.ts.map +1 -0
  156. package/esm/dependency/template-processor.d.ts +118 -0
  157. package/esm/dependency/template-processor.d.ts.map +1 -0
  158. package/esm/dependency/types.d.ts +739 -0
  159. package/esm/dependency/types.d.ts.map +1 -0
  160. package/esm/handlebars/expression-extractor.d.ts +147 -0
  161. package/esm/handlebars/expression-extractor.d.ts.map +1 -0
  162. package/esm/handlebars/helpers.d.ts +339 -0
  163. package/esm/handlebars/helpers.d.ts.map +1 -0
  164. package/esm/handlebars/index.d.ts +195 -0
  165. package/esm/handlebars/index.d.ts.map +1 -0
  166. package/esm/handlebars/index.js +587 -0
  167. package/esm/index.d.ts +50 -0
  168. package/esm/index.d.ts.map +1 -0
  169. package/esm/index.js +12434 -0
  170. package/esm/package.json +68 -0
  171. package/esm/registry/index.d.ts +46 -0
  172. package/esm/registry/index.d.ts.map +1 -0
  173. package/esm/registry/index.js +6237 -0
  174. package/esm/registry/render-template.d.ts +91 -0
  175. package/esm/registry/render-template.d.ts.map +1 -0
  176. package/esm/registry/tool-ui.registry.d.ts +294 -0
  177. package/esm/registry/tool-ui.registry.d.ts.map +1 -0
  178. package/esm/registry/uri-utils.d.ts +56 -0
  179. package/esm/registry/uri-utils.d.ts.map +1 -0
  180. package/esm/renderers/cache.d.ts +145 -0
  181. package/esm/renderers/cache.d.ts.map +1 -0
  182. package/esm/renderers/html.renderer.d.ts +123 -0
  183. package/esm/renderers/html.renderer.d.ts.map +1 -0
  184. package/esm/renderers/index.d.ts +36 -0
  185. package/esm/renderers/index.d.ts.map +1 -0
  186. package/esm/renderers/index.js +1654 -0
  187. package/esm/renderers/mdx.renderer.d.ts +120 -0
  188. package/esm/renderers/mdx.renderer.d.ts.map +1 -0
  189. package/esm/renderers/registry.d.ts +133 -0
  190. package/esm/renderers/registry.d.ts.map +1 -0
  191. package/esm/renderers/types.d.ts +342 -0
  192. package/esm/renderers/types.d.ts.map +1 -0
  193. package/esm/renderers/utils/detect.d.ts +107 -0
  194. package/esm/renderers/utils/detect.d.ts.map +1 -0
  195. package/esm/renderers/utils/hash.d.ts +40 -0
  196. package/esm/renderers/utils/hash.d.ts.map +1 -0
  197. package/esm/renderers/utils/index.d.ts +9 -0
  198. package/esm/renderers/utils/index.d.ts.map +1 -0
  199. package/esm/renderers/utils/transpiler.d.ts +89 -0
  200. package/esm/renderers/utils/transpiler.d.ts.map +1 -0
  201. package/esm/runtime/adapters/html.adapter.d.ts +59 -0
  202. package/esm/runtime/adapters/html.adapter.d.ts.map +1 -0
  203. package/esm/runtime/adapters/index.d.ts +26 -0
  204. package/esm/runtime/adapters/index.d.ts.map +1 -0
  205. package/esm/runtime/adapters/mdx.adapter.d.ts +73 -0
  206. package/esm/runtime/adapters/mdx.adapter.d.ts.map +1 -0
  207. package/esm/runtime/adapters/types.d.ts +95 -0
  208. package/esm/runtime/adapters/types.d.ts.map +1 -0
  209. package/esm/runtime/csp.d.ts +48 -0
  210. package/esm/runtime/csp.d.ts.map +1 -0
  211. package/esm/runtime/index.d.ts +17 -0
  212. package/esm/runtime/index.d.ts.map +1 -0
  213. package/esm/runtime/index.js +4976 -0
  214. package/esm/runtime/mcp-bridge.d.ts +101 -0
  215. package/esm/runtime/mcp-bridge.d.ts.map +1 -0
  216. package/esm/runtime/renderer-runtime.d.ts +133 -0
  217. package/esm/runtime/renderer-runtime.d.ts.map +1 -0
  218. package/esm/runtime/sanitizer.d.ts +172 -0
  219. package/esm/runtime/sanitizer.d.ts.map +1 -0
  220. package/esm/runtime/types.d.ts +415 -0
  221. package/esm/runtime/types.d.ts.map +1 -0
  222. package/esm/runtime/wrapper.d.ts +421 -0
  223. package/esm/runtime/wrapper.d.ts.map +1 -0
  224. package/esm/styles/index.d.ts +8 -0
  225. package/esm/styles/index.d.ts.map +1 -0
  226. package/esm/styles/index.js +171 -0
  227. package/esm/styles/variants.d.ts +51 -0
  228. package/esm/styles/variants.d.ts.map +1 -0
  229. package/esm/theme/cdn.d.ts +195 -0
  230. package/esm/theme/cdn.d.ts.map +1 -0
  231. package/esm/theme/index.d.ts +18 -0
  232. package/esm/theme/index.d.ts.map +1 -0
  233. package/esm/theme/index.js +700 -0
  234. package/esm/theme/platforms.d.ts +107 -0
  235. package/esm/theme/platforms.d.ts.map +1 -0
  236. package/esm/theme/presets/github-openai.d.ts +50 -0
  237. package/esm/theme/presets/github-openai.d.ts.map +1 -0
  238. package/esm/theme/presets/index.d.ts +11 -0
  239. package/esm/theme/presets/index.d.ts.map +1 -0
  240. package/esm/theme/theme.d.ts +396 -0
  241. package/esm/theme/theme.d.ts.map +1 -0
  242. package/esm/tool-template/builder.d.ts +213 -0
  243. package/esm/tool-template/builder.d.ts.map +1 -0
  244. package/esm/tool-template/index.d.ts +16 -0
  245. package/esm/tool-template/index.d.ts.map +1 -0
  246. package/esm/tool-template/index.js +3518 -0
  247. package/esm/types/index.d.ts +14 -0
  248. package/esm/types/index.d.ts.map +1 -0
  249. package/esm/types/index.js +75 -0
  250. package/esm/types/ui-config.d.ts +641 -0
  251. package/esm/types/ui-config.d.ts.map +1 -0
  252. package/esm/types/ui-runtime.d.ts +1008 -0
  253. package/esm/types/ui-runtime.d.ts.map +1 -0
  254. package/esm/typings/cache/cache-adapter.d.ts +125 -0
  255. package/esm/typings/cache/cache-adapter.d.ts.map +1 -0
  256. package/esm/typings/cache/index.d.ts +10 -0
  257. package/esm/typings/cache/index.d.ts.map +1 -0
  258. package/esm/typings/cache/memory-cache.d.ts +92 -0
  259. package/esm/typings/cache/memory-cache.d.ts.map +1 -0
  260. package/esm/typings/dts-parser.d.ts +90 -0
  261. package/esm/typings/dts-parser.d.ts.map +1 -0
  262. package/esm/typings/index.d.ts +48 -0
  263. package/esm/typings/index.d.ts.map +1 -0
  264. package/esm/typings/index.js +812 -0
  265. package/esm/typings/schemas.d.ts +232 -0
  266. package/esm/typings/schemas.d.ts.map +1 -0
  267. package/esm/typings/type-fetcher.d.ts +89 -0
  268. package/esm/typings/type-fetcher.d.ts.map +1 -0
  269. package/esm/typings/types.d.ts +320 -0
  270. package/esm/typings/types.d.ts.map +1 -0
  271. package/esm/utils/escape-html.d.ts +58 -0
  272. package/esm/utils/escape-html.d.ts.map +1 -0
  273. package/esm/utils/index.d.ts +10 -0
  274. package/esm/utils/index.d.ts.map +1 -0
  275. package/esm/utils/index.js +40 -0
  276. package/esm/utils/safe-stringify.d.ts +30 -0
  277. package/esm/utils/safe-stringify.d.ts.map +1 -0
  278. package/esm/validation/error-box.d.ts +56 -0
  279. package/esm/validation/error-box.d.ts.map +1 -0
  280. package/esm/validation/index.d.ts +13 -0
  281. package/esm/validation/index.d.ts.map +1 -0
  282. package/esm/validation/index.js +542 -0
  283. package/esm/validation/schema-paths.d.ts +118 -0
  284. package/esm/validation/schema-paths.d.ts.map +1 -0
  285. package/esm/validation/template-validator.d.ts +143 -0
  286. package/esm/validation/template-validator.d.ts.map +1 -0
  287. package/esm/validation/wrapper.d.ts +97 -0
  288. package/esm/validation/wrapper.d.ts.map +1 -0
  289. package/handlebars/expression-extractor.d.ts +147 -0
  290. package/handlebars/expression-extractor.d.ts.map +1 -0
  291. package/handlebars/helpers.d.ts +339 -0
  292. package/handlebars/helpers.d.ts.map +1 -0
  293. package/handlebars/index.d.ts +195 -0
  294. package/handlebars/index.d.ts.map +1 -0
  295. package/handlebars/index.js +666 -0
  296. package/index.d.ts +50 -0
  297. package/index.d.ts.map +1 -0
  298. package/index.js +12683 -0
  299. package/package.json +66 -0
  300. package/registry/index.d.ts +46 -0
  301. package/registry/index.d.ts.map +1 -0
  302. package/registry/index.js +6280 -0
  303. package/registry/render-template.d.ts +91 -0
  304. package/registry/render-template.d.ts.map +1 -0
  305. package/registry/tool-ui.registry.d.ts +294 -0
  306. package/registry/tool-ui.registry.d.ts.map +1 -0
  307. package/registry/uri-utils.d.ts +56 -0
  308. package/registry/uri-utils.d.ts.map +1 -0
  309. package/renderers/cache.d.ts +145 -0
  310. package/renderers/cache.d.ts.map +1 -0
  311. package/renderers/html.renderer.d.ts +123 -0
  312. package/renderers/html.renderer.d.ts.map +1 -0
  313. package/renderers/index.d.ts +36 -0
  314. package/renderers/index.d.ts.map +1 -0
  315. package/renderers/index.js +1706 -0
  316. package/renderers/mdx.renderer.d.ts +120 -0
  317. package/renderers/mdx.renderer.d.ts.map +1 -0
  318. package/renderers/registry.d.ts +133 -0
  319. package/renderers/registry.d.ts.map +1 -0
  320. package/renderers/types.d.ts +342 -0
  321. package/renderers/types.d.ts.map +1 -0
  322. package/renderers/utils/detect.d.ts +107 -0
  323. package/renderers/utils/detect.d.ts.map +1 -0
  324. package/renderers/utils/hash.d.ts +40 -0
  325. package/renderers/utils/hash.d.ts.map +1 -0
  326. package/renderers/utils/index.d.ts +9 -0
  327. package/renderers/utils/index.d.ts.map +1 -0
  328. package/renderers/utils/transpiler.d.ts +89 -0
  329. package/renderers/utils/transpiler.d.ts.map +1 -0
  330. package/runtime/adapters/html.adapter.d.ts +59 -0
  331. package/runtime/adapters/html.adapter.d.ts.map +1 -0
  332. package/runtime/adapters/index.d.ts +26 -0
  333. package/runtime/adapters/index.d.ts.map +1 -0
  334. package/runtime/adapters/mdx.adapter.d.ts +73 -0
  335. package/runtime/adapters/mdx.adapter.d.ts.map +1 -0
  336. package/runtime/adapters/types.d.ts +95 -0
  337. package/runtime/adapters/types.d.ts.map +1 -0
  338. package/runtime/csp.d.ts +48 -0
  339. package/runtime/csp.d.ts.map +1 -0
  340. package/runtime/index.d.ts +17 -0
  341. package/runtime/index.d.ts.map +1 -0
  342. package/runtime/index.js +5052 -0
  343. package/runtime/mcp-bridge.d.ts +101 -0
  344. package/runtime/mcp-bridge.d.ts.map +1 -0
  345. package/runtime/renderer-runtime.d.ts +133 -0
  346. package/runtime/renderer-runtime.d.ts.map +1 -0
  347. package/runtime/sanitizer.d.ts +172 -0
  348. package/runtime/sanitizer.d.ts.map +1 -0
  349. package/runtime/types.d.ts +415 -0
  350. package/runtime/types.d.ts.map +1 -0
  351. package/runtime/wrapper.d.ts +421 -0
  352. package/runtime/wrapper.d.ts.map +1 -0
  353. package/styles/index.d.ts +8 -0
  354. package/styles/index.d.ts.map +1 -0
  355. package/styles/index.js +222 -0
  356. package/styles/variants.d.ts +51 -0
  357. package/styles/variants.d.ts.map +1 -0
  358. package/theme/cdn.d.ts +195 -0
  359. package/theme/cdn.d.ts.map +1 -0
  360. package/theme/index.d.ts +18 -0
  361. package/theme/index.d.ts.map +1 -0
  362. package/theme/index.js +757 -0
  363. package/theme/platforms.d.ts +107 -0
  364. package/theme/platforms.d.ts.map +1 -0
  365. package/theme/presets/github-openai.d.ts +50 -0
  366. package/theme/presets/github-openai.d.ts.map +1 -0
  367. package/theme/presets/index.d.ts +11 -0
  368. package/theme/presets/index.d.ts.map +1 -0
  369. package/theme/theme.d.ts +396 -0
  370. package/theme/theme.d.ts.map +1 -0
  371. package/tool-template/builder.d.ts +213 -0
  372. package/tool-template/builder.d.ts.map +1 -0
  373. package/tool-template/index.d.ts +16 -0
  374. package/tool-template/index.d.ts.map +1 -0
  375. package/tool-template/index.js +3562 -0
  376. package/types/index.d.ts +14 -0
  377. package/types/index.d.ts.map +1 -0
  378. package/types/index.js +108 -0
  379. package/types/ui-config.d.ts +641 -0
  380. package/types/ui-config.d.ts.map +1 -0
  381. package/types/ui-runtime.d.ts +1008 -0
  382. package/types/ui-runtime.d.ts.map +1 -0
  383. package/typings/cache/cache-adapter.d.ts +125 -0
  384. package/typings/cache/cache-adapter.d.ts.map +1 -0
  385. package/typings/cache/index.d.ts +10 -0
  386. package/typings/cache/index.d.ts.map +1 -0
  387. package/typings/cache/memory-cache.d.ts +92 -0
  388. package/typings/cache/memory-cache.d.ts.map +1 -0
  389. package/typings/dts-parser.d.ts +90 -0
  390. package/typings/dts-parser.d.ts.map +1 -0
  391. package/typings/index.d.ts +48 -0
  392. package/typings/index.d.ts.map +1 -0
  393. package/typings/index.js +868 -0
  394. package/typings/schemas.d.ts +232 -0
  395. package/typings/schemas.d.ts.map +1 -0
  396. package/typings/type-fetcher.d.ts +89 -0
  397. package/typings/type-fetcher.d.ts.map +1 -0
  398. package/typings/types.d.ts +320 -0
  399. package/typings/types.d.ts.map +1 -0
  400. package/utils/escape-html.d.ts +58 -0
  401. package/utils/escape-html.d.ts.map +1 -0
  402. package/utils/index.d.ts +10 -0
  403. package/utils/index.d.ts.map +1 -0
  404. package/utils/index.js +70 -0
  405. package/utils/safe-stringify.d.ts +30 -0
  406. package/utils/safe-stringify.d.ts.map +1 -0
  407. package/validation/error-box.d.ts +56 -0
  408. package/validation/error-box.d.ts.map +1 -0
  409. package/validation/index.d.ts +13 -0
  410. package/validation/index.d.ts.map +1 -0
  411. package/validation/index.js +583 -0
  412. package/validation/schema-paths.d.ts +118 -0
  413. package/validation/schema-paths.d.ts.map +1 -0
  414. package/validation/template-validator.d.ts +143 -0
  415. package/validation/template-validator.d.ts.map +1 -0
  416. package/validation/wrapper.d.ts +97 -0
  417. package/validation/wrapper.d.ts.map +1 -0
@@ -0,0 +1,739 @@
1
+ /**
2
+ * Dependency Resolution Types
3
+ *
4
+ * Type definitions for CDN dependency resolution, import mapping,
5
+ * and file-based component bundling.
6
+ *
7
+ * @packageDocumentation
8
+ */
9
+ import type { ZodTypeAny } from 'zod';
10
+ /**
11
+ * Supported CDN providers for external library hosting.
12
+ *
13
+ * - `cloudflare`: cdnjs.cloudflare.com (REQUIRED for Claude compatibility)
14
+ * - `jsdelivr`: cdn.jsdelivr.net
15
+ * - `unpkg`: unpkg.com
16
+ * - `esm.sh`: esm.sh (ES modules)
17
+ * - `skypack`: cdn.skypack.dev (deprecated, fallback only)
18
+ * - `custom`: User-defined CDN override (for explicit dependency configuration)
19
+ */
20
+ export type CDNProvider = 'cloudflare' | 'jsdelivr' | 'unpkg' | 'esm.sh' | 'skypack' | 'custom';
21
+ /**
22
+ * Platform types that affect CDN selection.
23
+ *
24
+ * - `claude`: Only allows cdnjs.cloudflare.com (blocked network)
25
+ * - `openai`: Can use any CDN
26
+ * - `cursor`: Can use any CDN
27
+ * - `gemini`: Can use any CDN
28
+ * - `unknown`: Defaults to cloudflare for maximum compatibility
29
+ */
30
+ export type CDNPlatformType = 'claude' | 'openai' | 'cursor' | 'gemini' | 'continue' | 'cody' | 'unknown';
31
+ /**
32
+ * Configuration for a single CDN dependency.
33
+ *
34
+ * Specifies how to load an external library from a CDN.
35
+ *
36
+ * @example
37
+ * ```typescript
38
+ * const chartJsDependency: CDNDependency = {
39
+ * url: 'https://cdnjs.cloudflare.com/ajax/libs/Chart.js/4.4.1/chart.umd.min.js',
40
+ * integrity: 'sha512-...',
41
+ * global: 'Chart',
42
+ * esm: false,
43
+ * };
44
+ * ```
45
+ */
46
+ export interface CDNDependency {
47
+ /**
48
+ * CDN URL for the library.
49
+ * MUST be HTTPS.
50
+ *
51
+ * @example 'https://cdnjs.cloudflare.com/ajax/libs/Chart.js/4.4.1/chart.umd.min.js'
52
+ */
53
+ url: string;
54
+ /**
55
+ * Subresource Integrity (SRI) hash for security.
56
+ * Format: `sha256-...`, `sha384-...`, or `sha512-...`
57
+ *
58
+ * @see https://developer.mozilla.org/en-US/docs/Web/Security/Subresource_Integrity
59
+ * @example 'sha384-abc123...'
60
+ */
61
+ integrity?: string;
62
+ /**
63
+ * Global variable name exposed by the library (for UMD builds).
64
+ * Used to map imports to window globals in the browser.
65
+ *
66
+ * @example 'Chart' for Chart.js, 'React' for React
67
+ */
68
+ global?: string;
69
+ /**
70
+ * Named exports to expose from the library.
71
+ * If not specified, defaults to the default export or global.
72
+ *
73
+ * @example ['Chart', 'registerables'] for Chart.js
74
+ */
75
+ exports?: string[];
76
+ /**
77
+ * Whether this is an ES module (ESM) build.
78
+ * ESM builds use `import` statements; UMD uses globals.
79
+ *
80
+ * @default false
81
+ */
82
+ esm?: boolean;
83
+ /**
84
+ * Cross-origin attribute for the script tag.
85
+ *
86
+ * @default 'anonymous'
87
+ */
88
+ crossorigin?: 'anonymous' | 'use-credentials';
89
+ /**
90
+ * Dependencies that must be loaded before this library.
91
+ * Specified as npm package names (e.g., 'react' for react-dom).
92
+ *
93
+ * @example ['react'] for react-dom
94
+ */
95
+ peerDependencies?: string[];
96
+ }
97
+ /**
98
+ * CDN configuration per provider for a package.
99
+ * Allows different URLs/configurations for different CDN providers.
100
+ */
101
+ export type CDNProviderConfig = Partial<Record<CDNProvider, CDNDependency>>;
102
+ /**
103
+ * Target JavaScript version for bundling.
104
+ */
105
+ export type BundleTarget = 'es2018' | 'es2019' | 'es2020' | 'es2021' | 'es2022' | 'esnext';
106
+ /**
107
+ * Configuration options for bundling file-based components.
108
+ *
109
+ * @example
110
+ * ```typescript
111
+ * const devOptions: FileBundleOptions = {
112
+ * minify: false,
113
+ * sourceMaps: true,
114
+ * target: 'esnext',
115
+ * };
116
+ * ```
117
+ */
118
+ export interface FileBundleOptions {
119
+ /**
120
+ * Minify the bundled output.
121
+ *
122
+ * @default true in production, false in development
123
+ */
124
+ minify?: boolean;
125
+ /**
126
+ * Generate source maps for debugging.
127
+ *
128
+ * @default false
129
+ */
130
+ sourceMaps?: boolean;
131
+ /**
132
+ * Target JavaScript version.
133
+ *
134
+ * @default 'es2020'
135
+ */
136
+ target?: BundleTarget;
137
+ /**
138
+ * Enable tree shaking to remove unused code.
139
+ *
140
+ * @default true
141
+ */
142
+ treeShake?: boolean;
143
+ /**
144
+ * JSX factory function.
145
+ *
146
+ * @default 'React.createElement'
147
+ */
148
+ jsxFactory?: string;
149
+ /**
150
+ * JSX fragment factory.
151
+ *
152
+ * @default 'React.Fragment'
153
+ */
154
+ jsxFragment?: string;
155
+ /**
156
+ * JSX import source for automatic runtime.
157
+ *
158
+ * @default 'react'
159
+ */
160
+ jsxImportSource?: string;
161
+ }
162
+ /**
163
+ * Extended UI template configuration with file-based template support.
164
+ *
165
+ * Extends the base UITemplateConfig to support:
166
+ * - File paths as templates (e.g., './chart-widget.tsx')
167
+ * - External library dependencies via CDN
168
+ * - Custom bundle options
169
+ *
170
+ * @example
171
+ * ```typescript
172
+ * const uiConfig: FileTemplateConfig = {
173
+ * template: './widgets/chart-widget.tsx',
174
+ * externals: ['chart.js', 'react-chartjs-2'],
175
+ * dependencies: {
176
+ * 'chart.js': {
177
+ * url: 'https://cdnjs.cloudflare.com/ajax/libs/Chart.js/4.4.1/chart.umd.min.js',
178
+ * integrity: 'sha512-...',
179
+ * global: 'Chart',
180
+ * },
181
+ * },
182
+ * bundleOptions: {
183
+ * minify: true,
184
+ * target: 'es2020',
185
+ * },
186
+ * };
187
+ * ```
188
+ */
189
+ export interface FileTemplateConfig {
190
+ /**
191
+ * Packages to load from CDN instead of bundling.
192
+ * These packages will be excluded from the bundle and loaded
193
+ * via import maps at runtime.
194
+ *
195
+ * Package names should match npm package names.
196
+ *
197
+ * @example ['chart.js', 'react-chartjs-2', 'd3']
198
+ */
199
+ externals?: string[];
200
+ /**
201
+ * Explicit CDN dependency overrides.
202
+ * Use this to specify custom CDN URLs or override the default
203
+ * CDN registry entries for specific packages.
204
+ *
205
+ * Keys are npm package names.
206
+ */
207
+ dependencies?: Record<string, CDNDependency>;
208
+ /**
209
+ * Bundle options for file-based templates.
210
+ */
211
+ bundleOptions?: FileBundleOptions;
212
+ }
213
+ /**
214
+ * Browser import map structure.
215
+ * @see https://developer.mozilla.org/en-US/docs/Web/HTML/Element/script/type/importmap
216
+ */
217
+ export interface ImportMap {
218
+ /**
219
+ * Module specifier to URL mappings.
220
+ *
221
+ * @example { 'chart.js': 'https://cdnjs.cloudflare.com/ajax/libs/Chart.js/4.4.1/chart.umd.min.js' }
222
+ */
223
+ imports: Record<string, string>;
224
+ /**
225
+ * Scoped mappings for specific paths.
226
+ */
227
+ scopes?: Record<string, Record<string, string>>;
228
+ /**
229
+ * Integrity hashes for imported modules.
230
+ * Maps URLs to their SRI hashes.
231
+ */
232
+ integrity?: Record<string, string>;
233
+ }
234
+ /**
235
+ * Entry for a resolved dependency.
236
+ */
237
+ export interface ResolvedDependency {
238
+ /**
239
+ * NPM package name.
240
+ */
241
+ packageName: string;
242
+ /**
243
+ * Resolved version string.
244
+ */
245
+ version: string;
246
+ /**
247
+ * CDN URL for the package.
248
+ */
249
+ cdnUrl: string;
250
+ /**
251
+ * SRI integrity hash (if available).
252
+ */
253
+ integrity?: string;
254
+ /**
255
+ * Global variable name (for UMD).
256
+ */
257
+ global?: string;
258
+ /**
259
+ * Whether this is an ES module.
260
+ */
261
+ esm: boolean;
262
+ /**
263
+ * CDN provider used.
264
+ */
265
+ provider: CDNProvider;
266
+ }
267
+ /**
268
+ * Build manifest for a compiled file-based component.
269
+ * Stored in cache for incremental builds.
270
+ */
271
+ export interface ComponentBuildManifest {
272
+ /**
273
+ * Manifest format version.
274
+ */
275
+ version: '1.0';
276
+ /**
277
+ * Unique build identifier.
278
+ */
279
+ buildId: string;
280
+ /**
281
+ * Tool name this component belongs to.
282
+ */
283
+ toolName: string;
284
+ /**
285
+ * Original entry file path (relative to project root).
286
+ */
287
+ entryPath: string;
288
+ /**
289
+ * SHA-256 hash of entry file + dependencies + options.
290
+ * Used as cache key for incremental builds.
291
+ */
292
+ contentHash: string;
293
+ /**
294
+ * Resolved external dependencies.
295
+ */
296
+ dependencies: ResolvedDependency[];
297
+ /**
298
+ * Build outputs.
299
+ */
300
+ outputs: {
301
+ /**
302
+ * Bundled JavaScript code.
303
+ */
304
+ code: string;
305
+ /**
306
+ * Source map (if generated).
307
+ */
308
+ sourceMap?: string;
309
+ /**
310
+ * Pre-rendered HTML (if SSR was performed).
311
+ */
312
+ ssrHtml?: string;
313
+ };
314
+ /**
315
+ * Generated import map for this component.
316
+ */
317
+ importMap: ImportMap;
318
+ /**
319
+ * Build metadata.
320
+ */
321
+ metadata: {
322
+ /**
323
+ * ISO timestamp of when the build was created.
324
+ */
325
+ createdAt: string;
326
+ /**
327
+ * Build time in milliseconds.
328
+ */
329
+ buildTimeMs: number;
330
+ /**
331
+ * Total size of bundled output in bytes.
332
+ */
333
+ totalSize: number;
334
+ /**
335
+ * esbuild/bundler version used.
336
+ */
337
+ bundlerVersion?: string;
338
+ };
339
+ }
340
+ /**
341
+ * Abstract interface for build cache storage.
342
+ * Implementations include filesystem (dev) and Redis (prod).
343
+ */
344
+ export interface BuildCacheStorage {
345
+ /**
346
+ * Get a cached build manifest by key.
347
+ *
348
+ * @param key - Cache key (typically the content hash)
349
+ * @returns The cached manifest or undefined if not found
350
+ */
351
+ get(key: string): Promise<ComponentBuildManifest | undefined>;
352
+ /**
353
+ * Store a build manifest in cache.
354
+ *
355
+ * @param key - Cache key
356
+ * @param manifest - Build manifest to store
357
+ * @param ttl - Optional TTL in seconds
358
+ */
359
+ set(key: string, manifest: ComponentBuildManifest, ttl?: number): Promise<void>;
360
+ /**
361
+ * Check if a key exists in cache.
362
+ *
363
+ * @param key - Cache key to check
364
+ * @returns true if the key exists
365
+ */
366
+ has(key: string): Promise<boolean>;
367
+ /**
368
+ * Delete a cached entry.
369
+ *
370
+ * @param key - Cache key to delete
371
+ * @returns true if the entry was deleted
372
+ */
373
+ delete(key: string): Promise<boolean>;
374
+ /**
375
+ * Clear all cached entries.
376
+ */
377
+ clear(): Promise<void>;
378
+ /**
379
+ * Get cache statistics.
380
+ */
381
+ getStats(): Promise<CacheStats>;
382
+ }
383
+ /**
384
+ * Cache statistics.
385
+ */
386
+ export interface CacheStats {
387
+ /**
388
+ * Number of entries in cache.
389
+ */
390
+ entries: number;
391
+ /**
392
+ * Total size of cached data in bytes.
393
+ */
394
+ totalSize: number;
395
+ /**
396
+ * Number of cache hits.
397
+ */
398
+ hits: number;
399
+ /**
400
+ * Number of cache misses.
401
+ */
402
+ misses: number;
403
+ /**
404
+ * Cache hit rate (0-1).
405
+ */
406
+ hitRate: number;
407
+ }
408
+ /**
409
+ * Entry in the CDN registry for a known package.
410
+ */
411
+ export interface CDNRegistryEntry {
412
+ /**
413
+ * NPM package name.
414
+ */
415
+ packageName: string;
416
+ /**
417
+ * Default/recommended version.
418
+ */
419
+ defaultVersion: string;
420
+ /**
421
+ * CDN configurations per provider.
422
+ */
423
+ providers: CDNProviderConfig;
424
+ /**
425
+ * Preferred CDN provider order.
426
+ * First available provider is used.
427
+ *
428
+ * @default ['cloudflare', 'jsdelivr', 'unpkg', 'esm.sh']
429
+ */
430
+ preferredProviders?: CDNProvider[];
431
+ /**
432
+ * Package metadata.
433
+ */
434
+ metadata?: {
435
+ /**
436
+ * Human-readable description.
437
+ */
438
+ description?: string;
439
+ /**
440
+ * Homepage URL.
441
+ */
442
+ homepage?: string;
443
+ /**
444
+ * License identifier.
445
+ */
446
+ license?: string;
447
+ };
448
+ }
449
+ /**
450
+ * The full CDN registry mapping package names to their CDN configurations.
451
+ */
452
+ export type CDNRegistry = Record<string, CDNRegistryEntry>;
453
+ /**
454
+ * Options for resolving dependencies.
455
+ */
456
+ export interface DependencyResolverOptions {
457
+ /**
458
+ * Target platform for CDN selection.
459
+ * Affects which CDN provider is used.
460
+ *
461
+ * @default 'unknown'
462
+ */
463
+ platform?: CDNPlatformType;
464
+ /**
465
+ * Preferred CDN providers in order of preference.
466
+ * If not specified, uses platform-specific defaults.
467
+ */
468
+ preferredProviders?: CDNProvider[];
469
+ /**
470
+ * Custom CDN registry to merge with defaults.
471
+ */
472
+ customRegistry?: CDNRegistry;
473
+ /**
474
+ * Whether to fail on unresolved dependencies.
475
+ * If false, unresolved deps are bundled instead.
476
+ *
477
+ * @default true
478
+ */
479
+ strictMode?: boolean;
480
+ /**
481
+ * Whether to require SRI integrity hashes.
482
+ *
483
+ * @default false
484
+ */
485
+ requireIntegrity?: boolean;
486
+ }
487
+ /**
488
+ * A parsed import statement from source code.
489
+ */
490
+ export interface ParsedImport {
491
+ /**
492
+ * Full import statement as it appears in source.
493
+ *
494
+ * @example "import { Chart } from 'chart.js'"
495
+ */
496
+ statement: string;
497
+ /**
498
+ * Module specifier (package name or path).
499
+ *
500
+ * @example 'chart.js', './utils', '@org/package'
501
+ */
502
+ specifier: string;
503
+ /**
504
+ * Import type.
505
+ */
506
+ type: 'named' | 'default' | 'namespace' | 'side-effect' | 'dynamic';
507
+ /**
508
+ * Named imports (for named import type).
509
+ *
510
+ * @example ['Chart', 'registerables']
511
+ */
512
+ namedImports?: string[];
513
+ /**
514
+ * Default import name (for default import type).
515
+ *
516
+ * @example 'React'
517
+ */
518
+ defaultImport?: string;
519
+ /**
520
+ * Namespace import name (for namespace import type).
521
+ *
522
+ * @example 'd3' for `import * as d3 from 'd3'`
523
+ */
524
+ namespaceImport?: string;
525
+ /**
526
+ * Line number in source (1-indexed).
527
+ */
528
+ line: number;
529
+ /**
530
+ * Column number in source (0-indexed).
531
+ */
532
+ column: number;
533
+ }
534
+ /**
535
+ * Result of parsing imports from a source file.
536
+ */
537
+ export interface ParsedImportResult {
538
+ /**
539
+ * All parsed imports.
540
+ */
541
+ imports: ParsedImport[];
542
+ /**
543
+ * External package imports (npm packages).
544
+ */
545
+ externalImports: ParsedImport[];
546
+ /**
547
+ * Relative imports (local files).
548
+ */
549
+ relativeImports: ParsedImport[];
550
+ /**
551
+ * Unique external package names.
552
+ */
553
+ externalPackages: string[];
554
+ }
555
+ /**
556
+ * Detected template mode for a UI configuration.
557
+ */
558
+ export type TemplateMode = 'inline-function' | 'inline-string' | 'file-path' | 'url';
559
+ /**
560
+ * Detect the template mode from a template value.
561
+ *
562
+ * @param template - The template value from UITemplateConfig
563
+ * @returns The detected template mode
564
+ */
565
+ export declare function detectTemplateMode(template: unknown): TemplateMode;
566
+ /**
567
+ * Template format detected from file extension or content.
568
+ *
569
+ * - `react`: .tsx/.jsx files (React components, bundled with esbuild)
570
+ * - `mdx`: .mdx files (Markdown + JSX, Handlebars → MDX Renderer)
571
+ * - `markdown`: .md files (Markdown, Handlebars → marked)
572
+ * - `html`: .html files or inline strings (Handlebars only)
573
+ */
574
+ export type TemplateFormat = 'react' | 'mdx' | 'markdown' | 'html';
575
+ /**
576
+ * Template source discriminated union.
577
+ * Represents where the template content comes from.
578
+ */
579
+ export type TemplateSource = {
580
+ type: 'inline';
581
+ content: string;
582
+ } | {
583
+ type: 'file';
584
+ path: string;
585
+ } | {
586
+ type: 'url';
587
+ url: string;
588
+ };
589
+ /**
590
+ * Result of fetching a template from a URL.
591
+ */
592
+ export interface UrlFetchResult {
593
+ /**
594
+ * Fetched template content.
595
+ */
596
+ content: string;
597
+ /**
598
+ * ETag header for cache validation.
599
+ */
600
+ etag?: string;
601
+ /**
602
+ * Content-Type header.
603
+ */
604
+ contentType?: string;
605
+ /**
606
+ * ISO timestamp when the content was fetched.
607
+ */
608
+ fetchedAt: string;
609
+ }
610
+ /**
611
+ * A resolved template ready for processing.
612
+ * Contains the raw content and metadata about the source.
613
+ */
614
+ export interface ResolvedTemplate {
615
+ /**
616
+ * Original template source.
617
+ */
618
+ source: TemplateSource;
619
+ /**
620
+ * Detected template format.
621
+ */
622
+ format: TemplateFormat;
623
+ /**
624
+ * Raw template content (fetched/read from source).
625
+ */
626
+ content: string;
627
+ /**
628
+ * SHA-256 hash of the content for caching.
629
+ */
630
+ hash: string;
631
+ /**
632
+ * Additional metadata depending on source type.
633
+ */
634
+ metadata?: {
635
+ /**
636
+ * ISO timestamp when URL content was fetched.
637
+ */
638
+ fetchedAt?: string;
639
+ /**
640
+ * ETag for URL cache validation.
641
+ */
642
+ etag?: string;
643
+ /**
644
+ * Content-Type from URL response.
645
+ */
646
+ contentType?: string;
647
+ /**
648
+ * Original file path (resolved absolute path).
649
+ */
650
+ resolvedPath?: string;
651
+ };
652
+ }
653
+ /**
654
+ * Options for processing a resolved template.
655
+ */
656
+ export interface TemplateProcessingOptions {
657
+ /**
658
+ * Context data for Handlebars/React rendering.
659
+ */
660
+ context: {
661
+ /**
662
+ * Tool input arguments.
663
+ */
664
+ input: unknown;
665
+ /**
666
+ * Tool output/result.
667
+ */
668
+ output: unknown;
669
+ /**
670
+ * Parsed structured content (optional).
671
+ */
672
+ structuredContent?: unknown;
673
+ };
674
+ /**
675
+ * Target platform for CDN selection.
676
+ */
677
+ platform?: CDNPlatformType;
678
+ /**
679
+ * Custom Handlebars helpers.
680
+ */
681
+ handlebarsHelpers?: Record<string, (...args: unknown[]) => unknown>;
682
+ /**
683
+ * Base path for resolving relative file paths.
684
+ */
685
+ basePath?: string;
686
+ /**
687
+ * Zod schema for output validation.
688
+ *
689
+ * When provided in development mode (NODE_ENV !== 'production'),
690
+ * the template will be validated against this schema to catch
691
+ * Handlebars expressions referencing non-existent fields.
692
+ */
693
+ outputSchema?: ZodTypeAny;
694
+ /**
695
+ * Zod schema for input validation.
696
+ *
697
+ * When provided in development mode (NODE_ENV !== 'production'),
698
+ * the template will also validate {{input.*}} expressions.
699
+ */
700
+ inputSchema?: ZodTypeAny;
701
+ /**
702
+ * Tool name for validation error messages.
703
+ */
704
+ toolName?: string;
705
+ }
706
+ /**
707
+ * Result of processing a template.
708
+ */
709
+ export type ProcessedTemplate = {
710
+ /**
711
+ * Rendered HTML output (for html, markdown, mdx formats).
712
+ */
713
+ html: string;
714
+ /**
715
+ * Template format that was processed.
716
+ */
717
+ format: 'html' | 'markdown' | 'mdx';
718
+ } | {
719
+ /**
720
+ * Bundled JavaScript code (for react format).
721
+ */
722
+ code: string;
723
+ /**
724
+ * Template format.
725
+ */
726
+ format: 'react';
727
+ /**
728
+ * Indicates React templates need bundling.
729
+ */
730
+ needsBundling: true;
731
+ };
732
+ /**
733
+ * Detect template format from a file path or URL.
734
+ *
735
+ * @param pathOrUrl - File path or URL to detect format from
736
+ * @returns The detected template format
737
+ */
738
+ export declare function detectFormatFromPath(pathOrUrl: string): TemplateFormat;
739
+ //# sourceMappingURL=types.d.ts.map