@frontmcp/uipack 0.6.1 → 0.6.2

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 (315) hide show
  1. package/CLAUDE.md +88 -105
  2. package/README.md +1 -0
  3. package/adapters/index.d.ts +1 -1
  4. package/adapters/index.d.ts.map +1 -1
  5. package/adapters/index.js +35 -2
  6. package/adapters/platform-meta.d.ts +29 -0
  7. package/adapters/platform-meta.d.ts.map +1 -1
  8. package/base-template/default-base-template.d.ts +0 -1
  9. package/base-template/default-base-template.d.ts.map +1 -1
  10. package/base-template/index.js +32 -37
  11. package/build/builders/base-builder.d.ts +122 -0
  12. package/build/builders/base-builder.d.ts.map +1 -0
  13. package/build/builders/esbuild-config.d.ts +94 -0
  14. package/build/builders/esbuild-config.d.ts.map +1 -0
  15. package/build/builders/hybrid-builder.d.ts +93 -0
  16. package/build/builders/hybrid-builder.d.ts.map +1 -0
  17. package/build/builders/index.d.ts +17 -0
  18. package/build/builders/index.d.ts.map +1 -0
  19. package/build/builders/inline-builder.d.ts +83 -0
  20. package/build/builders/inline-builder.d.ts.map +1 -0
  21. package/build/builders/static-builder.d.ts +78 -0
  22. package/build/builders/static-builder.d.ts.map +1 -0
  23. package/build/builders/types.d.ts +341 -0
  24. package/build/builders/types.d.ts.map +1 -0
  25. package/build/cdn-resources.d.ts +3 -2
  26. package/build/cdn-resources.d.ts.map +1 -1
  27. package/build/hybrid-data.d.ts +127 -0
  28. package/build/hybrid-data.d.ts.map +1 -0
  29. package/build/index.d.ts +4 -0
  30. package/build/index.d.ts.map +1 -1
  31. package/build/index.js +1885 -171
  32. package/build/ui-components-browser.d.ts +64 -0
  33. package/build/ui-components-browser.d.ts.map +1 -0
  34. package/build/widget-manifest.d.ts.map +1 -1
  35. package/bundler/file-cache/component-builder.d.ts.map +1 -1
  36. package/bundler/file-cache/storage/redis.d.ts.map +1 -1
  37. package/bundler/index.js +6 -4
  38. package/dependency/cdn-registry.d.ts +1 -1
  39. package/dependency/cdn-registry.d.ts.map +1 -1
  40. package/dependency/import-map.d.ts.map +1 -1
  41. package/dependency/index.js +93 -121
  42. package/dependency/resolver.d.ts.map +1 -1
  43. package/esm/adapters/{index.js → index.mjs} +34 -2
  44. package/esm/base-template/{index.js → index.mjs} +32 -37
  45. package/esm/build/{index.js → index.mjs} +1855 -170
  46. package/esm/bundler/{index.js → index.mjs} +6 -4
  47. package/esm/dependency/{index.js → index.mjs} +93 -121
  48. package/esm/handlebars/{index.js → index.mjs} +0 -1
  49. package/esm/{index.js → index.mjs} +2516 -830
  50. package/esm/package.json +7 -6
  51. package/esm/registry/{index.js → index.mjs} +196 -264
  52. package/esm/renderers/{index.js → index.mjs} +106 -200
  53. package/esm/runtime/{index.js → index.mjs} +44 -35
  54. package/esm/styles/{index.js → index.mjs} +6 -6
  55. package/esm/theme/{index.js → index.mjs} +90 -42
  56. package/esm/tool-template/{index.js → index.mjs} +35 -28
  57. package/esm/typings/{index.js → index.mjs} +157 -1
  58. package/esm/utils/{index.js → index.mjs} +24 -0
  59. package/esm/validation/{index.js → index.mjs} +0 -1
  60. package/handlebars/expression-extractor.d.ts.map +1 -1
  61. package/handlebars/index.d.ts.map +1 -1
  62. package/handlebars/index.js +0 -1
  63. package/index.d.ts +2 -1
  64. package/index.d.ts.map +1 -1
  65. package/index.js +2545 -835
  66. package/package.json +7 -6
  67. package/preview/claude-preview.d.ts +67 -0
  68. package/preview/claude-preview.d.ts.map +1 -0
  69. package/preview/generic-preview.d.ts +67 -0
  70. package/preview/generic-preview.d.ts.map +1 -0
  71. package/preview/index.d.ts +36 -0
  72. package/preview/index.d.ts.map +1 -0
  73. package/preview/openai-preview.d.ts +70 -0
  74. package/preview/openai-preview.d.ts.map +1 -0
  75. package/preview/types.d.ts +185 -0
  76. package/preview/types.d.ts.map +1 -0
  77. package/registry/index.js +196 -264
  78. package/registry/render-template.d.ts.map +1 -1
  79. package/renderers/index.d.ts +2 -2
  80. package/renderers/index.d.ts.map +1 -1
  81. package/renderers/index.js +110 -204
  82. package/renderers/mdx-client.renderer.d.ts +124 -0
  83. package/renderers/mdx-client.renderer.d.ts.map +1 -0
  84. package/renderers/registry.d.ts +2 -2
  85. package/renderers/registry.d.ts.map +1 -1
  86. package/renderers/types.d.ts +3 -2
  87. package/renderers/types.d.ts.map +1 -1
  88. package/renderers/utils/transpiler.d.ts +8 -27
  89. package/renderers/utils/transpiler.d.ts.map +1 -1
  90. package/runtime/index.js +44 -35
  91. package/runtime/mcp-bridge.d.ts.map +1 -1
  92. package/runtime/renderer-runtime.d.ts.map +1 -1
  93. package/runtime/wrapper.d.ts.map +1 -1
  94. package/styles/index.js +6 -6
  95. package/styles/variants.d.ts +1 -1
  96. package/styles/variants.d.ts.map +1 -1
  97. package/theme/cdn.d.ts.map +1 -1
  98. package/theme/css-to-theme.d.ts +91 -0
  99. package/theme/css-to-theme.d.ts.map +1 -0
  100. package/theme/index.d.ts +2 -1
  101. package/theme/index.d.ts.map +1 -1
  102. package/theme/index.js +92 -43
  103. package/theme/platforms.d.ts +1 -6
  104. package/theme/platforms.d.ts.map +1 -1
  105. package/theme/theme.d.ts.map +1 -1
  106. package/tool-template/builder.d.ts.map +1 -1
  107. package/tool-template/index.js +35 -28
  108. package/typings/index.d.ts +4 -4
  109. package/typings/index.d.ts.map +1 -1
  110. package/typings/index.js +162 -1
  111. package/typings/schemas.d.ts +30 -0
  112. package/typings/schemas.d.ts.map +1 -1
  113. package/typings/type-fetcher.d.ts +74 -1
  114. package/typings/type-fetcher.d.ts.map +1 -1
  115. package/typings/types.d.ts +72 -1
  116. package/typings/types.d.ts.map +1 -1
  117. package/utils/escape-html.d.ts +44 -0
  118. package/utils/escape-html.d.ts.map +1 -1
  119. package/utils/index.d.ts +1 -1
  120. package/utils/index.d.ts.map +1 -1
  121. package/utils/index.js +26 -0
  122. package/validation/index.js +0 -1
  123. package/validation/template-validator.d.ts.map +1 -1
  124. package/esm/adapters/index.d.ts +0 -13
  125. package/esm/adapters/index.d.ts.map +0 -1
  126. package/esm/adapters/platform-meta.d.ts +0 -166
  127. package/esm/adapters/platform-meta.d.ts.map +0 -1
  128. package/esm/adapters/response-builder.d.ts +0 -108
  129. package/esm/adapters/response-builder.d.ts.map +0 -1
  130. package/esm/adapters/serving-mode.d.ts +0 -107
  131. package/esm/adapters/serving-mode.d.ts.map +0 -1
  132. package/esm/base-template/bridge.d.ts +0 -90
  133. package/esm/base-template/bridge.d.ts.map +0 -1
  134. package/esm/base-template/default-base-template.d.ts +0 -92
  135. package/esm/base-template/default-base-template.d.ts.map +0 -1
  136. package/esm/base-template/index.d.ts +0 -15
  137. package/esm/base-template/index.d.ts.map +0 -1
  138. package/esm/base-template/polyfills.d.ts +0 -31
  139. package/esm/base-template/polyfills.d.ts.map +0 -1
  140. package/esm/base-template/theme-styles.d.ts +0 -74
  141. package/esm/base-template/theme-styles.d.ts.map +0 -1
  142. package/esm/bridge-runtime/iife-generator.d.ts +0 -62
  143. package/esm/bridge-runtime/iife-generator.d.ts.map +0 -1
  144. package/esm/bridge-runtime/index.d.ts +0 -10
  145. package/esm/bridge-runtime/index.d.ts.map +0 -1
  146. package/esm/build/cdn-resources.d.ts +0 -243
  147. package/esm/build/cdn-resources.d.ts.map +0 -1
  148. package/esm/build/index.d.ts +0 -295
  149. package/esm/build/index.d.ts.map +0 -1
  150. package/esm/build/widget-manifest.d.ts +0 -362
  151. package/esm/build/widget-manifest.d.ts.map +0 -1
  152. package/esm/bundler/cache.d.ts +0 -173
  153. package/esm/bundler/cache.d.ts.map +0 -1
  154. package/esm/bundler/file-cache/component-builder.d.ts +0 -167
  155. package/esm/bundler/file-cache/component-builder.d.ts.map +0 -1
  156. package/esm/bundler/file-cache/hash-calculator.d.ts +0 -155
  157. package/esm/bundler/file-cache/hash-calculator.d.ts.map +0 -1
  158. package/esm/bundler/file-cache/index.d.ts +0 -12
  159. package/esm/bundler/file-cache/index.d.ts.map +0 -1
  160. package/esm/bundler/file-cache/storage/filesystem.d.ts +0 -149
  161. package/esm/bundler/file-cache/storage/filesystem.d.ts.map +0 -1
  162. package/esm/bundler/file-cache/storage/index.d.ts +0 -11
  163. package/esm/bundler/file-cache/storage/index.d.ts.map +0 -1
  164. package/esm/bundler/file-cache/storage/interface.d.ts +0 -152
  165. package/esm/bundler/file-cache/storage/interface.d.ts.map +0 -1
  166. package/esm/bundler/file-cache/storage/redis.d.ts +0 -139
  167. package/esm/bundler/file-cache/storage/redis.d.ts.map +0 -1
  168. package/esm/bundler/index.d.ts +0 -35
  169. package/esm/bundler/index.d.ts.map +0 -1
  170. package/esm/bundler/sandbox/enclave-adapter.d.ts +0 -121
  171. package/esm/bundler/sandbox/enclave-adapter.d.ts.map +0 -1
  172. package/esm/bundler/sandbox/executor.d.ts +0 -14
  173. package/esm/bundler/sandbox/executor.d.ts.map +0 -1
  174. package/esm/bundler/sandbox/policy.d.ts +0 -62
  175. package/esm/bundler/sandbox/policy.d.ts.map +0 -1
  176. package/esm/bundler/types.d.ts +0 -702
  177. package/esm/bundler/types.d.ts.map +0 -1
  178. package/esm/dependency/cdn-registry.d.ts +0 -98
  179. package/esm/dependency/cdn-registry.d.ts.map +0 -1
  180. package/esm/dependency/import-map.d.ts +0 -186
  181. package/esm/dependency/import-map.d.ts.map +0 -1
  182. package/esm/dependency/import-parser.d.ts +0 -82
  183. package/esm/dependency/import-parser.d.ts.map +0 -1
  184. package/esm/dependency/index.d.ts +0 -17
  185. package/esm/dependency/index.d.ts.map +0 -1
  186. package/esm/dependency/resolver.d.ts +0 -164
  187. package/esm/dependency/resolver.d.ts.map +0 -1
  188. package/esm/dependency/schemas.d.ts +0 -486
  189. package/esm/dependency/schemas.d.ts.map +0 -1
  190. package/esm/dependency/template-loader.d.ts +0 -204
  191. package/esm/dependency/template-loader.d.ts.map +0 -1
  192. package/esm/dependency/template-processor.d.ts +0 -118
  193. package/esm/dependency/template-processor.d.ts.map +0 -1
  194. package/esm/dependency/types.d.ts +0 -739
  195. package/esm/dependency/types.d.ts.map +0 -1
  196. package/esm/handlebars/expression-extractor.d.ts +0 -147
  197. package/esm/handlebars/expression-extractor.d.ts.map +0 -1
  198. package/esm/handlebars/helpers.d.ts +0 -339
  199. package/esm/handlebars/helpers.d.ts.map +0 -1
  200. package/esm/handlebars/index.d.ts +0 -195
  201. package/esm/handlebars/index.d.ts.map +0 -1
  202. package/esm/index.d.ts +0 -50
  203. package/esm/index.d.ts.map +0 -1
  204. package/esm/registry/index.d.ts +0 -46
  205. package/esm/registry/index.d.ts.map +0 -1
  206. package/esm/registry/render-template.d.ts +0 -91
  207. package/esm/registry/render-template.d.ts.map +0 -1
  208. package/esm/registry/tool-ui.registry.d.ts +0 -294
  209. package/esm/registry/tool-ui.registry.d.ts.map +0 -1
  210. package/esm/registry/uri-utils.d.ts +0 -56
  211. package/esm/registry/uri-utils.d.ts.map +0 -1
  212. package/esm/renderers/cache.d.ts +0 -145
  213. package/esm/renderers/cache.d.ts.map +0 -1
  214. package/esm/renderers/html.renderer.d.ts +0 -123
  215. package/esm/renderers/html.renderer.d.ts.map +0 -1
  216. package/esm/renderers/index.d.ts +0 -36
  217. package/esm/renderers/index.d.ts.map +0 -1
  218. package/esm/renderers/mdx.renderer.d.ts +0 -120
  219. package/esm/renderers/mdx.renderer.d.ts.map +0 -1
  220. package/esm/renderers/registry.d.ts +0 -133
  221. package/esm/renderers/registry.d.ts.map +0 -1
  222. package/esm/renderers/types.d.ts +0 -342
  223. package/esm/renderers/types.d.ts.map +0 -1
  224. package/esm/renderers/utils/detect.d.ts +0 -107
  225. package/esm/renderers/utils/detect.d.ts.map +0 -1
  226. package/esm/renderers/utils/hash.d.ts +0 -40
  227. package/esm/renderers/utils/hash.d.ts.map +0 -1
  228. package/esm/renderers/utils/index.d.ts +0 -9
  229. package/esm/renderers/utils/index.d.ts.map +0 -1
  230. package/esm/renderers/utils/transpiler.d.ts +0 -89
  231. package/esm/renderers/utils/transpiler.d.ts.map +0 -1
  232. package/esm/runtime/adapters/html.adapter.d.ts +0 -59
  233. package/esm/runtime/adapters/html.adapter.d.ts.map +0 -1
  234. package/esm/runtime/adapters/index.d.ts +0 -26
  235. package/esm/runtime/adapters/index.d.ts.map +0 -1
  236. package/esm/runtime/adapters/mdx.adapter.d.ts +0 -73
  237. package/esm/runtime/adapters/mdx.adapter.d.ts.map +0 -1
  238. package/esm/runtime/adapters/types.d.ts +0 -95
  239. package/esm/runtime/adapters/types.d.ts.map +0 -1
  240. package/esm/runtime/csp.d.ts +0 -48
  241. package/esm/runtime/csp.d.ts.map +0 -1
  242. package/esm/runtime/index.d.ts +0 -17
  243. package/esm/runtime/index.d.ts.map +0 -1
  244. package/esm/runtime/mcp-bridge.d.ts +0 -101
  245. package/esm/runtime/mcp-bridge.d.ts.map +0 -1
  246. package/esm/runtime/renderer-runtime.d.ts +0 -133
  247. package/esm/runtime/renderer-runtime.d.ts.map +0 -1
  248. package/esm/runtime/sanitizer.d.ts +0 -172
  249. package/esm/runtime/sanitizer.d.ts.map +0 -1
  250. package/esm/runtime/types.d.ts +0 -415
  251. package/esm/runtime/types.d.ts.map +0 -1
  252. package/esm/runtime/wrapper.d.ts +0 -421
  253. package/esm/runtime/wrapper.d.ts.map +0 -1
  254. package/esm/styles/index.d.ts +0 -8
  255. package/esm/styles/index.d.ts.map +0 -1
  256. package/esm/styles/variants.d.ts +0 -51
  257. package/esm/styles/variants.d.ts.map +0 -1
  258. package/esm/theme/cdn.d.ts +0 -195
  259. package/esm/theme/cdn.d.ts.map +0 -1
  260. package/esm/theme/index.d.ts +0 -18
  261. package/esm/theme/index.d.ts.map +0 -1
  262. package/esm/theme/platforms.d.ts +0 -107
  263. package/esm/theme/platforms.d.ts.map +0 -1
  264. package/esm/theme/presets/github-openai.d.ts +0 -50
  265. package/esm/theme/presets/github-openai.d.ts.map +0 -1
  266. package/esm/theme/presets/index.d.ts +0 -11
  267. package/esm/theme/presets/index.d.ts.map +0 -1
  268. package/esm/theme/theme.d.ts +0 -396
  269. package/esm/theme/theme.d.ts.map +0 -1
  270. package/esm/tool-template/builder.d.ts +0 -213
  271. package/esm/tool-template/builder.d.ts.map +0 -1
  272. package/esm/tool-template/index.d.ts +0 -16
  273. package/esm/tool-template/index.d.ts.map +0 -1
  274. package/esm/types/index.d.ts +0 -14
  275. package/esm/types/index.d.ts.map +0 -1
  276. package/esm/types/ui-config.d.ts +0 -641
  277. package/esm/types/ui-config.d.ts.map +0 -1
  278. package/esm/types/ui-runtime.d.ts +0 -1008
  279. package/esm/types/ui-runtime.d.ts.map +0 -1
  280. package/esm/typings/cache/cache-adapter.d.ts +0 -125
  281. package/esm/typings/cache/cache-adapter.d.ts.map +0 -1
  282. package/esm/typings/cache/index.d.ts +0 -10
  283. package/esm/typings/cache/index.d.ts.map +0 -1
  284. package/esm/typings/cache/memory-cache.d.ts +0 -92
  285. package/esm/typings/cache/memory-cache.d.ts.map +0 -1
  286. package/esm/typings/dts-parser.d.ts +0 -90
  287. package/esm/typings/dts-parser.d.ts.map +0 -1
  288. package/esm/typings/index.d.ts +0 -48
  289. package/esm/typings/index.d.ts.map +0 -1
  290. package/esm/typings/schemas.d.ts +0 -232
  291. package/esm/typings/schemas.d.ts.map +0 -1
  292. package/esm/typings/type-fetcher.d.ts +0 -89
  293. package/esm/typings/type-fetcher.d.ts.map +0 -1
  294. package/esm/typings/types.d.ts +0 -320
  295. package/esm/typings/types.d.ts.map +0 -1
  296. package/esm/utils/escape-html.d.ts +0 -58
  297. package/esm/utils/escape-html.d.ts.map +0 -1
  298. package/esm/utils/index.d.ts +0 -10
  299. package/esm/utils/index.d.ts.map +0 -1
  300. package/esm/utils/safe-stringify.d.ts +0 -30
  301. package/esm/utils/safe-stringify.d.ts.map +0 -1
  302. package/esm/validation/error-box.d.ts +0 -56
  303. package/esm/validation/error-box.d.ts.map +0 -1
  304. package/esm/validation/index.d.ts +0 -13
  305. package/esm/validation/index.d.ts.map +0 -1
  306. package/esm/validation/schema-paths.d.ts +0 -118
  307. package/esm/validation/schema-paths.d.ts.map +0 -1
  308. package/esm/validation/template-validator.d.ts +0 -143
  309. package/esm/validation/template-validator.d.ts.map +0 -1
  310. package/esm/validation/wrapper.d.ts +0 -97
  311. package/esm/validation/wrapper.d.ts.map +0 -1
  312. package/renderers/mdx.renderer.d.ts +0 -120
  313. package/renderers/mdx.renderer.d.ts.map +0 -1
  314. /package/esm/bridge-runtime/{index.js → index.mjs} +0 -0
  315. /package/esm/types/{index.js → index.mjs} +0 -0
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/bundler/file-cache/storage/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAGH,OAAO,EACL,KAAK,iBAAiB,EACtB,KAAK,cAAc,EACnB,KAAK,UAAU,EACf,KAAK,kBAAkB,EACvB,uBAAuB,EACvB,qBAAqB,GACtB,MAAM,aAAa,CAAC;AAGrB,OAAO,EAAE,iBAAiB,EAAE,uBAAuB,EAAE,KAAK,wBAAwB,EAAE,MAAM,cAAc,CAAC;AAGzG,OAAO,EAAE,YAAY,EAAE,kBAAkB,EAAE,KAAK,mBAAmB,EAAE,KAAK,WAAW,EAAE,MAAM,SAAS,CAAC"}
@@ -1,152 +0,0 @@
1
- /**
2
- * Build Cache Storage Interface
3
- *
4
- * Abstract interface for storing and retrieving component build manifests.
5
- * Implementations include filesystem (development) and Redis (production).
6
- *
7
- * @packageDocumentation
8
- */
9
- import type { ComponentBuildManifest, CacheStats } from '../../../dependency/types';
10
- /**
11
- * Options for storage initialization.
12
- */
13
- export interface StorageOptions {
14
- /**
15
- * Maximum number of entries to store.
16
- * @default 1000
17
- */
18
- maxEntries?: number;
19
- /**
20
- * Maximum total size in bytes.
21
- * @default 104857600 (100MB)
22
- */
23
- maxSize?: number;
24
- /**
25
- * Default TTL in seconds.
26
- * @default 86400 (24 hours)
27
- */
28
- defaultTtl?: number;
29
- /**
30
- * Whether to compress stored data.
31
- * @default false
32
- */
33
- compress?: boolean;
34
- }
35
- /**
36
- * Abstract interface for build cache storage.
37
- *
38
- * Implementations should handle:
39
- * - Key-value storage of ComponentBuildManifest
40
- * - TTL-based expiration
41
- * - Size-based eviction
42
- * - Concurrent access safety
43
- */
44
- export interface BuildCacheStorage {
45
- /**
46
- * Storage identifier for logging/debugging.
47
- */
48
- readonly type: string;
49
- /**
50
- * Initialize the storage backend.
51
- * Must be called before other operations.
52
- */
53
- initialize(): Promise<void>;
54
- /**
55
- * Retrieve a cached build manifest by key.
56
- *
57
- * @param key - Cache key (typically content hash)
58
- * @returns Cached manifest or undefined if not found/expired
59
- */
60
- get(key: string): Promise<ComponentBuildManifest | undefined>;
61
- /**
62
- * Store a build manifest in cache.
63
- *
64
- * @param key - Cache key
65
- * @param manifest - Build manifest to store
66
- * @param ttl - Optional TTL in seconds (overrides default)
67
- */
68
- set(key: string, manifest: ComponentBuildManifest, ttl?: number): Promise<void>;
69
- /**
70
- * Check if a key exists in cache (and is not expired).
71
- *
72
- * @param key - Cache key to check
73
- * @returns true if key exists and is valid
74
- */
75
- has(key: string): Promise<boolean>;
76
- /**
77
- * Delete a cached entry.
78
- *
79
- * @param key - Cache key to delete
80
- * @returns true if entry was deleted, false if not found
81
- */
82
- delete(key: string): Promise<boolean>;
83
- /**
84
- * Clear all cached entries.
85
- */
86
- clear(): Promise<void>;
87
- /**
88
- * Get cache statistics.
89
- */
90
- getStats(): Promise<CacheStats>;
91
- /**
92
- * Clean up expired entries.
93
- * Returns number of entries removed.
94
- */
95
- cleanup(): Promise<number>;
96
- /**
97
- * Close the storage connection.
98
- * Should be called when the application shuts down.
99
- */
100
- close(): Promise<void>;
101
- }
102
- /**
103
- * Metadata for a cached entry.
104
- */
105
- export interface CacheEntryMetadata {
106
- /**
107
- * Cache key.
108
- */
109
- key: string;
110
- /**
111
- * Size of the cached data in bytes.
112
- */
113
- size: number;
114
- /**
115
- * Timestamp when entry was created (ms since epoch).
116
- */
117
- createdAt: number;
118
- /**
119
- * Timestamp when entry expires (ms since epoch).
120
- */
121
- expiresAt: number;
122
- /**
123
- * Last access timestamp (ms since epoch).
124
- */
125
- lastAccessedAt: number;
126
- /**
127
- * Number of times the entry has been accessed.
128
- */
129
- accessCount: number;
130
- }
131
- /**
132
- * Wrapper around cached data with metadata.
133
- */
134
- export interface CacheEntry<T = ComponentBuildManifest> {
135
- /**
136
- * The cached data.
137
- */
138
- data: T;
139
- /**
140
- * Entry metadata.
141
- */
142
- metadata: CacheEntryMetadata;
143
- }
144
- /**
145
- * Default storage options.
146
- */
147
- export declare const DEFAULT_STORAGE_OPTIONS: Required<StorageOptions>;
148
- /**
149
- * Calculate the size of a manifest in bytes.
150
- */
151
- export declare function calculateManifestSize(manifest: ComponentBuildManifest): number;
152
- //# sourceMappingURL=interface.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"interface.d.ts","sourceRoot":"","sources":["../../../../../src/bundler/file-cache/storage/interface.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,sBAAsB,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AAEpF;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B;;;OAGG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB;;;OAGG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB;;;OAGG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB;;;OAGG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED;;;;;;;;GAQG;AACH,MAAM,WAAW,iBAAiB;IAChC;;OAEG;IACH,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAEtB;;;OAGG;IACH,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAE5B;;;;;OAKG;IACH,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,sBAAsB,GAAG,SAAS,CAAC,CAAC;IAE9D;;;;;;OAMG;IACH,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,sBAAsB,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAEhF;;;;;OAKG;IACH,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAEnC;;;;;OAKG;IACH,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAEtC;;OAEG;IACH,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAEvB;;OAEG;IACH,QAAQ,IAAI,OAAO,CAAC,UAAU,CAAC,CAAC;IAEhC;;;OAGG;IACH,OAAO,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC;IAE3B;;;OAGG;IACH,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CACxB;AAED;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC;;OAEG;IACH,GAAG,EAAE,MAAM,CAAC;IAEZ;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;IAEb;;OAEG;IACH,SAAS,EAAE,MAAM,CAAC;IAElB;;OAEG;IACH,SAAS,EAAE,MAAM,CAAC;IAElB;;OAEG;IACH,cAAc,EAAE,MAAM,CAAC;IAEvB;;OAEG;IACH,WAAW,EAAE,MAAM,CAAC;CACrB;AAED;;GAEG;AACH,MAAM,WAAW,UAAU,CAAC,CAAC,GAAG,sBAAsB;IACpD;;OAEG;IACH,IAAI,EAAE,CAAC,CAAC;IAER;;OAEG;IACH,QAAQ,EAAE,kBAAkB,CAAC;CAC9B;AAED;;GAEG;AACH,eAAO,MAAM,uBAAuB,EAAE,QAAQ,CAAC,cAAc,CAK5D,CAAC;AAEF;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE,sBAAsB,GAAG,MAAM,CAQ9E"}
@@ -1,139 +0,0 @@
1
- /**
2
- * Redis Build Cache Storage
3
- *
4
- * Redis-based cache storage for production environments.
5
- * Uses Redis TTL for expiration and optional compression.
6
- *
7
- * @packageDocumentation
8
- */
9
- import type { ComponentBuildManifest, CacheStats } from '../../../dependency/types';
10
- import type { BuildCacheStorage, StorageOptions } from './interface';
11
- /**
12
- * Redis client interface (compatible with ioredis and redis packages).
13
- */
14
- export interface RedisClient {
15
- get(key: string): Promise<string | null>;
16
- set(key: string, value: string, mode?: string, duration?: number): Promise<unknown>;
17
- setex(key: string, seconds: number, value: string): Promise<unknown>;
18
- del(key: string | string[]): Promise<number>;
19
- exists(key: string | string[]): Promise<number>;
20
- keys(pattern: string): Promise<string[]>;
21
- ttl(key: string): Promise<number>;
22
- expire(key: string, seconds: number): Promise<number>;
23
- quit(): Promise<unknown>;
24
- ping(): Promise<string>;
25
- }
26
- /**
27
- * Options specific to Redis storage.
28
- */
29
- export interface RedisStorageOptions extends StorageOptions {
30
- /**
31
- * Redis client instance.
32
- * Must be provided.
33
- */
34
- client: RedisClient;
35
- /**
36
- * Key prefix for cache entries.
37
- * @default 'frontmcp:ui:build:'
38
- */
39
- keyPrefix?: string;
40
- /**
41
- * Whether to use JSON.stringify/parse (vs raw storage).
42
- * @default true
43
- */
44
- json?: boolean;
45
- }
46
- /**
47
- * Redis-based build cache storage.
48
- *
49
- * Stores build manifests in Redis with automatic TTL expiration.
50
- * Suitable for production environments with multiple server instances.
51
- *
52
- * @example
53
- * ```typescript
54
- * import Redis from 'ioredis';
55
- *
56
- * const redis = new Redis(process.env.REDIS_URL);
57
- * const storage = new RedisStorage({
58
- * client: redis,
59
- * keyPrefix: 'myapp:builds:',
60
- * defaultTtl: 3600, // 1 hour
61
- * });
62
- *
63
- * await storage.initialize();
64
- * await storage.set('abc123', manifest);
65
- * ```
66
- */
67
- export declare class RedisStorage implements BuildCacheStorage {
68
- readonly type = "redis";
69
- private readonly options;
70
- private initialized;
71
- private localStats;
72
- constructor(options: RedisStorageOptions);
73
- /**
74
- * Initialize the Redis connection.
75
- */
76
- initialize(): Promise<void>;
77
- /**
78
- * Get a cached manifest.
79
- */
80
- get(key: string): Promise<ComponentBuildManifest | undefined>;
81
- /**
82
- * Store a manifest in cache.
83
- */
84
- set(key: string, manifest: ComponentBuildManifest, ttl?: number): Promise<void>;
85
- /**
86
- * Check if a key exists.
87
- */
88
- has(key: string): Promise<boolean>;
89
- /**
90
- * Delete a cached entry.
91
- */
92
- delete(key: string): Promise<boolean>;
93
- /**
94
- * Clear all cached entries.
95
- */
96
- clear(): Promise<void>;
97
- /**
98
- * Get cache statistics.
99
- */
100
- getStats(): Promise<CacheStats>;
101
- /**
102
- * Clean up expired entries.
103
- * Redis handles TTL expiration automatically, so this just refreshes stats.
104
- */
105
- cleanup(): Promise<number>;
106
- /**
107
- * Close the Redis connection.
108
- */
109
- close(): Promise<void>;
110
- /**
111
- * Get the Redis key for a cache key.
112
- */
113
- private getRedisKey;
114
- /**
115
- * Get the Redis key for stats.
116
- */
117
- private getStatsKey;
118
- /**
119
- * Ensure the storage is initialized.
120
- */
121
- private ensureInitialized;
122
- /**
123
- * Load stats from Redis.
124
- */
125
- private loadStats;
126
- /**
127
- * Persist stats to Redis.
128
- */
129
- private persistStats;
130
- /**
131
- * Update hit rate statistic.
132
- */
133
- private updateHitRate;
134
- }
135
- /**
136
- * Create a Redis storage instance.
137
- */
138
- export declare function createRedisStorage(options: RedisStorageOptions): RedisStorage;
139
- //# sourceMappingURL=redis.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"redis.d.ts","sourceRoot":"","sources":["../../../../../src/bundler/file-cache/storage/redis.ts"],"names":[],"mappings":"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"}
@@ -1,35 +0,0 @@
1
- /**
2
- * In-Memory Bundler Module
3
- *
4
- * Provides caching, security validation, and sandboxing for UI component builds.
5
- * Used for building widget templates at both build-time and runtime.
6
- *
7
- * Features:
8
- * - Content-addressable caching
9
- * - Security validation and sandboxing
10
- * - File-based component caching (filesystem and Redis)
11
- *
12
- * Note: The main InMemoryBundler with SSR support is in @frontmcp/ui package
13
- * as it requires React for server-side rendering.
14
- *
15
- * @example
16
- * ```typescript
17
- * import { ComponentBuilder, createFilesystemBuilder } from '@frontmcp/uipack/bundler';
18
- *
19
- * const builder = createFilesystemBuilder({ cacheDir: '.cache' });
20
- * const result = await builder.buildComponent(options);
21
- * ```
22
- *
23
- * @packageDocumentation
24
- */
25
- export { SecurityError } from './sandbox/policy';
26
- export { ExecutionError } from './sandbox/executor';
27
- export type { SourceType, OutputFormat, BundleOptions, SSRBundleOptions, BundlerOptions, EsbuildTransformOptions, BundleResult, SSRResult, BundleMetrics, SecurityPolicy, SecurityViolation, CacheEntry, TransformContext, TargetPlatform, StaticHTMLExternalConfig, StaticHTMLOptions, StaticHTMLResult, } from './types';
28
- export { DEFAULT_SECURITY_POLICY, DEFAULT_BUNDLE_OPTIONS, DEFAULT_BUNDLER_OPTIONS, DEFAULT_STATIC_HTML_OPTIONS, STATIC_HTML_CDN, getCdnTypeForPlatform, } from './types';
29
- export { BundlerCache, hashContent, createCacheKey } from './cache';
30
- export type { CacheOptions, CacheStats } from './cache';
31
- export { validateSource, validateImports, validateSize, mergePolicy, throwOnViolations } from './sandbox/policy';
32
- export { executeCode, executeDefault, isExecutionError } from './sandbox/executor';
33
- export type { ExecutionContext, ExecutionResult } from './sandbox/executor';
34
- export { type BuildCacheStorage, type StorageOptions, type CacheEntry as FileCacheEntry, type CacheEntryMetadata, DEFAULT_STORAGE_OPTIONS, calculateManifestSize, FilesystemStorage, createFilesystemStorage, type FilesystemStorageOptions, RedisStorage, createRedisStorage, type RedisStorageOptions, type RedisClient, sha256, sha256Buffer, hashFile, hashFiles, calculateComponentHash, calculateQuickHash, generateBuildId, buildIdFromHash, type ComponentHashOptions, type ComponentHashResult, ComponentBuilder, createFilesystemBuilder, createRedisBuilder, type ComponentBuildOptions, type ComponentBuildResult, } from './file-cache';
35
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/bundler/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAQH,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAMpD,YAAY,EAEV,UAAU,EACV,YAAY,EAEZ,aAAa,EACb,gBAAgB,EAChB,cAAc,EACd,uBAAuB,EAEvB,YAAY,EACZ,SAAS,EACT,aAAa,EAEb,cAAc,EACd,iBAAiB,EAEjB,UAAU,EAEV,gBAAgB,EAEhB,cAAc,EACd,wBAAwB,EACxB,iBAAiB,EACjB,gBAAgB,GACjB,MAAM,SAAS,CAAC;AAEjB,OAAO,EAEL,uBAAuB,EACvB,sBAAsB,EACtB,uBAAuB,EAEvB,2BAA2B,EAC3B,eAAe,EACf,qBAAqB,GACtB,MAAM,SAAS,CAAC;AAMjB,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAEpE,YAAY,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAMxD,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,YAAY,EAAE,WAAW,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAMjH,OAAO,EAAE,WAAW,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAEnF,YAAY,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAM5E,OAAO,EAEL,KAAK,iBAAiB,EACtB,KAAK,cAAc,EACnB,KAAK,UAAU,IAAI,cAAc,EACjC,KAAK,kBAAkB,EACvB,uBAAuB,EACvB,qBAAqB,EAErB,iBAAiB,EACjB,uBAAuB,EACvB,KAAK,wBAAwB,EAE7B,YAAY,EACZ,kBAAkB,EAClB,KAAK,mBAAmB,EACxB,KAAK,WAAW,EAEhB,MAAM,EACN,YAAY,EACZ,QAAQ,EACR,SAAS,EACT,sBAAsB,EACtB,kBAAkB,EAClB,eAAe,EACf,eAAe,EACf,KAAK,oBAAoB,EACzB,KAAK,mBAAmB,EAExB,gBAAgB,EAChB,uBAAuB,EACvB,kBAAkB,EAClB,KAAK,qBAAqB,EAC1B,KAAK,oBAAoB,GAC1B,MAAM,cAAc,CAAC"}
@@ -1,121 +0,0 @@
1
- /**
2
- * Enclave-VM Secure Code Executor
3
- *
4
- * Executes bundled code in a secure sandbox using enclave-vm.
5
- * Provides defense-in-depth security with:
6
- * - AST-based validation (81+ blocked attack vectors)
7
- * - Timeout enforcement (default 5000ms)
8
- * - Resource limits (maxIterations, maxToolCalls)
9
- * - Six security layers
10
- *
11
- * @packageDocumentation
12
- */
13
- import type { SecurityPolicy } from '../types';
14
- /**
15
- * Context for code execution.
16
- */
17
- export interface ExecutionContext {
18
- /**
19
- * React module to inject.
20
- */
21
- React?: unknown;
22
- /**
23
- * ReactDOM module to inject.
24
- */
25
- ReactDOM?: unknown;
26
- /**
27
- * Additional modules to inject.
28
- */
29
- modules?: Record<string, unknown>;
30
- /**
31
- * Additional global variables.
32
- */
33
- globals?: Record<string, unknown>;
34
- /**
35
- * Security policy to enforce.
36
- */
37
- security?: SecurityPolicy;
38
- /**
39
- * Execution timeout in milliseconds.
40
- * @default 5000
41
- */
42
- timeout?: number;
43
- /**
44
- * Maximum loop iterations allowed.
45
- * @default 10000
46
- */
47
- maxIterations?: number;
48
- }
49
- /**
50
- * Result of code execution.
51
- */
52
- export interface ExecutionResult<T = unknown> {
53
- /**
54
- * Exported value from the code.
55
- */
56
- exports: T;
57
- /**
58
- * Execution time in ms.
59
- */
60
- executionTime: number;
61
- /**
62
- * Console output captured during execution.
63
- */
64
- consoleOutput?: string[];
65
- }
66
- /**
67
- * Execute bundled code in a secure enclave-vm sandbox.
68
- *
69
- * Provides a sandboxed execution context with:
70
- * - AST-based code validation (81+ attack vectors blocked)
71
- * - Timeout enforcement (default 5000ms)
72
- * - Resource limits (maxIterations)
73
- * - Six security layers (defense-in-depth)
74
- *
75
- * @param code - Bundled JavaScript code
76
- * @param context - Execution context
77
- * @returns Execution result with exports
78
- *
79
- * @example
80
- * ```typescript
81
- * const code = `
82
- * const React = require('react');
83
- * function Widget({ data }) {
84
- * return React.createElement('div', null, data.message);
85
- * }
86
- * module.exports = Widget;
87
- * `;
88
- *
89
- * const result = await executeCode(code, {
90
- * React: require('react'),
91
- * timeout: 3000,
92
- * });
93
- *
94
- * console.log(result.exports); // Widget function
95
- * ```
96
- */
97
- export declare function executeCode<T = unknown>(code: string, context?: ExecutionContext): Promise<ExecutionResult<T>>;
98
- /**
99
- * Execute bundled code and extract the default export.
100
- *
101
- * Convenience wrapper around executeCode that extracts
102
- * the default export.
103
- *
104
- * @param code - Bundled JavaScript code
105
- * @param context - Execution context
106
- * @returns Default export from the code
107
- */
108
- export declare function executeDefault<T = unknown>(code: string, context?: ExecutionContext): Promise<T>;
109
- /**
110
- * Error thrown during code execution.
111
- */
112
- export declare class ExecutionError extends Error {
113
- /** Error code for categorization */
114
- code?: string;
115
- constructor(message: string, cause?: unknown);
116
- }
117
- /**
118
- * Check if an error is an ExecutionError.
119
- */
120
- export declare function isExecutionError(error: unknown): error is ExecutionError;
121
- //# sourceMappingURL=enclave-adapter.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"enclave-adapter.d.ts","sourceRoot":"","sources":["../../../../src/bundler/sandbox/enclave-adapter.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAGH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAE/C;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B;;OAEG;IACH,KAAK,CAAC,EAAE,OAAO,CAAC;IAEhB;;OAEG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IAEnB;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAElC;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAElC;;OAEG;IACH,QAAQ,CAAC,EAAE,cAAc,CAAC;IAE1B;;;OAGG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB;;;OAGG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED;;GAEG;AACH,MAAM,WAAW,eAAe,CAAC,CAAC,GAAG,OAAO;IAC1C;;OAEG;IACH,OAAO,EAAE,CAAC,CAAC;IAEX;;OAEG;IACH,aAAa,EAAE,MAAM,CAAC;IAEtB;;OAEG;IACH,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;CAC1B;AA6LD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,wBAAsB,WAAW,CAAC,CAAC,GAAG,OAAO,EAC3C,IAAI,EAAE,MAAM,EACZ,OAAO,GAAE,gBAAqB,GAC7B,OAAO,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,CAqH7B;AAED;;;;;;;;;GASG;AACH,wBAAsB,cAAc,CAAC,CAAC,GAAG,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,GAAE,gBAAqB,GAAG,OAAO,CAAC,CAAC,CAAC,CAuB1G;AAED;;GAEG;AACH,qBAAa,cAAe,SAAQ,KAAK;IACvC,oCAAoC;IACpC,IAAI,CAAC,EAAE,MAAM,CAAC;gBAEF,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,OAAO;CAS7C;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,cAAc,CAExE"}
@@ -1,14 +0,0 @@
1
- /**
2
- * Secure Code Executor
3
- *
4
- * Executes bundled code in a secure sandbox using enclave-vm.
5
- * Provides defense-in-depth security with:
6
- * - AST-based validation (81+ blocked attack vectors)
7
- * - Timeout enforcement (default 5000ms)
8
- * - Resource limits (maxIterations)
9
- * - Six security layers
10
- *
11
- * @packageDocumentation
12
- */
13
- export { executeCode, executeDefault, ExecutionError, isExecutionError, type ExecutionContext, type ExecutionResult, } from './enclave-adapter';
14
- //# sourceMappingURL=executor.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"executor.d.ts","sourceRoot":"","sources":["../../../../src/bundler/sandbox/executor.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAGH,OAAO,EACL,WAAW,EACX,cAAc,EACd,cAAc,EACd,gBAAgB,EAChB,KAAK,gBAAgB,EACrB,KAAK,eAAe,GACrB,MAAM,mBAAmB,CAAC"}
@@ -1,62 +0,0 @@
1
- /**
2
- * Sandbox Security Policy
3
- *
4
- * Defines and validates security policies for bundler execution.
5
- *
6
- * @packageDocumentation
7
- */
8
- import type { SecurityPolicy, SecurityViolation } from '../types';
9
- /**
10
- * Validate source code against a security policy.
11
- *
12
- * @param source - Source code to validate
13
- * @param policy - Security policy to enforce
14
- * @returns Array of security violations (empty if valid)
15
- *
16
- * @example
17
- * ```typescript
18
- * const violations = validateSource(code, DEFAULT_SECURITY_POLICY);
19
- * if (violations.length > 0) {
20
- * throw new Error(`Security violations: ${violations.map(v => v.message).join(', ')}`);
21
- * }
22
- * ```
23
- */
24
- export declare function validateSource(source: string, policy?: SecurityPolicy): SecurityViolation[];
25
- /**
26
- * Validate import statements against policy.
27
- *
28
- * @param source - Source code to check
29
- * @param policy - Security policy
30
- * @returns Array of import violations
31
- */
32
- export declare function validateImports(source: string, policy?: SecurityPolicy): SecurityViolation[];
33
- /**
34
- * Validate bundle size against policy.
35
- *
36
- * @param size - Bundle size in bytes
37
- * @param policy - Security policy
38
- * @returns Violation if size exceeds limit, undefined otherwise
39
- */
40
- export declare function validateSize(size: number, policy?: SecurityPolicy): SecurityViolation | undefined;
41
- /**
42
- * Create a merged security policy with defaults.
43
- *
44
- * @param userPolicy - User-provided policy overrides
45
- * @returns Merged policy with defaults
46
- */
47
- export declare function mergePolicy(userPolicy?: Partial<SecurityPolicy>): SecurityPolicy;
48
- /**
49
- * Security error thrown when policy is violated.
50
- */
51
- export declare class SecurityError extends Error {
52
- readonly violations: SecurityViolation[];
53
- constructor(message: string, violations: SecurityViolation[]);
54
- }
55
- /**
56
- * Throw if any violations exist.
57
- *
58
- * @param violations - Array of violations to check
59
- * @throws SecurityError if violations exist
60
- */
61
- export declare function throwOnViolations(violations: SecurityViolation[]): void;
62
- //# sourceMappingURL=policy.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"policy.d.ts","sourceRoot":"","sources":["../../../../src/bundler/sandbox/policy.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAoBlE;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,GAAE,cAAwC,GAAG,iBAAiB,EAAE,CAyDpH;AAED;;;;;;GAMG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,GAAE,cAAwC,GAAG,iBAAiB,EAAE,CAqDrH;AAED;;;;;;GAMG;AACH,wBAAgB,YAAY,CAC1B,IAAI,EAAE,MAAM,EACZ,MAAM,GAAE,cAAwC,GAC/C,iBAAiB,GAAG,SAAS,CAY/B;AAED;;;;;GAKG;AACH,wBAAgB,WAAW,CAAC,UAAU,CAAC,EAAE,OAAO,CAAC,cAAc,CAAC,GAAG,cAAc,CAehF;AAsBD;;GAEG;AACH,qBAAa,aAAc,SAAQ,KAAK;IACtC,QAAQ,CAAC,UAAU,EAAE,iBAAiB,EAAE,CAAC;gBAE7B,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,iBAAiB,EAAE;CAK7D;AAED;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,UAAU,EAAE,iBAAiB,EAAE,GAAG,IAAI,CAKvE"}