@adonis-agora/agent 0.74.1 → 0.75.0

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 (103) hide show
  1. package/CHANGELOG.md +29 -0
  2. package/dist/src/channels/handler.d.ts.map +1 -1
  3. package/dist/src/channels/handler.js +10 -0
  4. package/dist/src/channels/handler.js.map +1 -1
  5. package/dist/src/channels/texts.d.ts +2 -0
  6. package/dist/src/channels/texts.d.ts.map +1 -1
  7. package/dist/src/channels/texts.js.map +1 -1
  8. package/dist/src/genui/catalog.d.ts.map +1 -1
  9. package/dist/src/genui/catalog.js +3 -1
  10. package/dist/src/genui/catalog.js.map +1 -1
  11. package/dist/src/genui/channels.d.ts +32 -5
  12. package/dist/src/genui/channels.d.ts.map +1 -1
  13. package/dist/src/genui/channels.js +20 -9
  14. package/dist/src/genui/channels.js.map +1 -1
  15. package/dist/src/genui/index.d.ts.map +1 -1
  16. package/dist/src/genui/index.js +7 -7
  17. package/dist/src/genui/index.js.map +1 -1
  18. package/dist/src/genui/kit/bundle.d.ts +12 -0
  19. package/dist/src/genui/kit/bundle.d.ts.map +1 -1
  20. package/dist/src/genui/kit/bundle.js +124 -133
  21. package/dist/src/genui/kit/bundle.js.map +1 -1
  22. package/dist/src/genui/kit/discover.d.ts +8 -5
  23. package/dist/src/genui/kit/discover.d.ts.map +1 -1
  24. package/dist/src/genui/kit/discover.js +45 -18
  25. package/dist/src/genui/kit/discover.js.map +1 -1
  26. package/dist/src/genui/kit/docs.d.ts +3 -1
  27. package/dist/src/genui/kit/docs.d.ts.map +1 -1
  28. package/dist/src/genui/kit/docs.js +22 -5
  29. package/dist/src/genui/kit/docs.js.map +1 -1
  30. package/dist/src/genui/kit/files.d.ts +22 -10
  31. package/dist/src/genui/kit/files.d.ts.map +1 -1
  32. package/dist/src/genui/kit/files.js +117 -19
  33. package/dist/src/genui/kit/files.js.map +1 -1
  34. package/dist/src/genui/kit/index.d.ts +5 -3
  35. package/dist/src/genui/kit/index.d.ts.map +1 -1
  36. package/dist/src/genui/kit/index.js +4 -2
  37. package/dist/src/genui/kit/index.js.map +1 -1
  38. package/dist/src/genui/kit/plugin.d.ts +17 -9
  39. package/dist/src/genui/kit/plugin.d.ts.map +1 -1
  40. package/dist/src/genui/kit/plugin.js +196 -129
  41. package/dist/src/genui/kit/plugin.js.map +1 -1
  42. package/dist/src/genui/kit/styles.d.ts +83 -0
  43. package/dist/src/genui/kit/styles.d.ts.map +1 -0
  44. package/dist/src/genui/kit/styles.js +406 -0
  45. package/dist/src/genui/kit/styles.js.map +1 -0
  46. package/dist/src/genui/kit/vite-build.d.ts +33 -0
  47. package/dist/src/genui/kit/vite-build.d.ts.map +1 -0
  48. package/dist/src/genui/kit/vite-build.js +195 -0
  49. package/dist/src/genui/kit/vite-build.js.map +1 -0
  50. package/dist/src/genui/kit/write.d.ts +20 -8
  51. package/dist/src/genui/kit/write.d.ts.map +1 -1
  52. package/dist/src/genui/kit/write.js +54 -16
  53. package/dist/src/genui/kit/write.js.map +1 -1
  54. package/dist/src/genui/public.d.ts +5 -4
  55. package/dist/src/genui/public.d.ts.map +1 -1
  56. package/dist/src/genui/public.js +4 -3
  57. package/dist/src/genui/public.js.map +1 -1
  58. package/dist/src/genui/sandbox-jsx-frame-generated.d.ts +2 -0
  59. package/dist/src/genui/sandbox-jsx-frame-generated.d.ts.map +1 -0
  60. package/dist/src/genui/sandbox-jsx-frame-generated.js +4 -0
  61. package/dist/src/genui/sandbox-jsx-frame-generated.js.map +1 -0
  62. package/dist/src/genui/sandbox-kit.d.ts +50 -17
  63. package/dist/src/genui/sandbox-kit.d.ts.map +1 -1
  64. package/dist/src/genui/sandbox-kit.js +20 -10
  65. package/dist/src/genui/sandbox-kit.js.map +1 -1
  66. package/dist/src/genui/sandbox-styles.d.ts +113 -0
  67. package/dist/src/genui/sandbox-styles.d.ts.map +1 -0
  68. package/dist/src/genui/sandbox-styles.js +487 -0
  69. package/dist/src/genui/sandbox-styles.js.map +1 -0
  70. package/dist/src/genui/sandbox-theme.d.ts +13 -9
  71. package/dist/src/genui/sandbox-theme.d.ts.map +1 -1
  72. package/dist/src/genui/sandbox-theme.js +52 -60
  73. package/dist/src/genui/sandbox-theme.js.map +1 -1
  74. package/dist/src/genui/sandbox.d.ts +14 -15
  75. package/dist/src/genui/sandbox.d.ts.map +1 -1
  76. package/dist/src/genui/sandbox.js +55 -13
  77. package/dist/src/genui/sandbox.js.map +1 -1
  78. package/dist/src/genui/tools.d.ts +20 -0
  79. package/dist/src/genui/tools.d.ts.map +1 -1
  80. package/dist/src/genui/tools.js +19 -4
  81. package/dist/src/genui/tools.js.map +1 -1
  82. package/dist/src/hooks/genui_kit.d.ts +6 -2
  83. package/dist/src/hooks/genui_kit.d.ts.map +1 -1
  84. package/dist/src/hooks/genui_kit.js +21 -9
  85. package/dist/src/hooks/genui_kit.js.map +1 -1
  86. package/dist/src/index.d.ts +1 -1
  87. package/dist/src/index.js +1 -1
  88. package/dist/src/negotiated-tool-ui.d.ts.map +1 -1
  89. package/dist/src/negotiated-tool-ui.js +4 -0
  90. package/dist/src/negotiated-tool-ui.js.map +1 -1
  91. package/dist/src/react/core/genui/sandbox-assets.d.ts +4 -1
  92. package/dist/src/react/core/genui/sandbox-assets.d.ts.map +1 -1
  93. package/dist/src/react/core/genui/sandbox-assets.js +17 -5
  94. package/dist/src/react/core/genui/sandbox-assets.js.map +1 -1
  95. package/dist/src/react/core/genui/sandbox.d.ts +1 -1
  96. package/dist/src/react/core/genui/sandbox.d.ts.map +1 -1
  97. package/dist/src/react/core/genui/sandbox.js +20 -4
  98. package/dist/src/react/core/genui/sandbox.js.map +1 -1
  99. package/dist/src/vite/index.d.ts +10 -7
  100. package/dist/src/vite/index.d.ts.map +1 -1
  101. package/dist/src/vite/index.js +10 -7
  102. package/dist/src/vite/index.js.map +1 -1
  103. package/package.json +13 -2
@@ -1 +1 @@
1
- {"version":3,"file":"plugin.d.ts","sourceRoot":"","sources":["../../../../src/genui/kit/plugin.ts"],"names":[],"mappings":"AAeA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,MAAM,CAAC;AACnC,OAAO,KAAK,EAA0B,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAItF,OAAO,EAGL,KAAK,uBAAuB,EAC7B,MAAM,YAAY,CAAC;AAEpB,MAAM,WAAW,sBAAuB,SAAQ,uBAAuB;IACrE,6FAA6F;IAC7F,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,sEAAsE;IACtE,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,mFAAmF;IACnF,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,iGAAiG;IACjG,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,4CAA4C;IAC5C,OAAO,CAAC,EAAE,OAAO,EAAE,CAAC;IACpB;;;;OAIG;IACH,WAAW,CAAC,EAAE,MAAM,GAAG,SAAS,MAAM,EAAE,CAAC;CAC1C;AAED,qEAAqE;AACrE,MAAM,WAAW,uBAAuB;IACtC,8DAA8D;IAC9D,UAAU,EAAE,MAAM,CAAC;IACnB,qFAAqF;IACrF,cAAc,EAAE,MAAM,CAAC;CACxB;AAED,8CAA8C;AAC9C,eAAO,MAAM,sBAAsB,wBAAwB,CAAC;AAC5D,yDAAyD;AACzD,eAAO,MAAM,yBAAyB;aACpC,GAAG,EAAE,sBAAsB;aAC3B,QAAQ,EAAE,2BAA2B;aACrC,UAAU,EAAE,wBAAwB;CAC5B,CAAC;AACX,wEAAwE;AACxE,eAAO,MAAM,wBAAwB,6BAA6B,CAAC;AAEnE,+EAA+E;AAC/E,MAAM,WAAW,kBAAkB;IACjC,kEAAkE;IAClE,UAAU,IAAI,oBAAoB,GAAG,IAAI,CAAC;IAC1C,6CAA6C;IAC7C,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CACxB;AAyDD,6CAA6C;AAC7C,qFAAqF;AACrF,MAAM,MAAM,qBAAqB,GAAG,MAAM,GAAG;IAAE,GAAG,EAAE,kBAAkB,CAAA;CAAE,CAAC;AAEzE,wBAAgB,2BAA2B,CACzC,OAAO,EAAE,sBAAsB,EAC/B,QAAQ,EAAE,uBAAuB,GAChC,qBAAqB,CAmRvB"}
1
+ {"version":3,"file":"plugin.d.ts","sourceRoot":"","sources":["../../../../src/genui/kit/plugin.ts"],"names":[],"mappings":"AAuBA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,MAAM,CAAC;AACnC,OAAO,KAAK,EAA0B,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAItF,OAAO,EAIL,KAAK,uBAAuB,EAC7B,MAAM,YAAY,CAAC;AAYpB,MAAM,WAAW,sBAAuB,SAAQ,uBAAuB;IACrE;;;;;OAKG;IACH,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,MAAM,EAAE,CAAC;IACpC,uFAAuF;IACvF,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,sEAAsE;IACtE,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,mFAAmF;IACnF,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,iGAAiG;IACjG,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB;;;OAGG;IACH,OAAO,CAAC,EAAE,OAAO,EAAE,CAAC;IACpB,yHAAyH;IACzH,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,mEAAmE;IACnE,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC5B;AAED,qEAAqE;AACrE,MAAM,WAAW,uBAAuB;IACtC,8DAA8D;IAC9D,UAAU,EAAE,MAAM,CAAC;IACnB,qFAAqF;IACrF,cAAc,EAAE,MAAM,CAAC;CACxB;AAED,8CAA8C;AAC9C,eAAO,MAAM,sBAAsB,wBAAwB,CAAC;AAC5D,yDAAyD;AACzD,eAAO,MAAM,yBAAyB;aACpC,GAAG,EAAE,sBAAsB;aAC3B,GAAG,EAAE,uBAAuB;aAC5B,QAAQ,EAAE,2BAA2B;aACrC,UAAU,EAAE,wBAAwB;CAC5B,CAAC;AACX,wEAAwE;AACxE,eAAO,MAAM,wBAAwB,6BAA6B,CAAC;AAEnE,+EAA+E;AAC/E,MAAM,WAAW,kBAAkB;IACjC,kEAAkE;IAClE,UAAU,IAAI,oBAAoB,GAAG,IAAI,CAAC;IAC1C,6CAA6C;IAC7C,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CACxB;AAkCD,qFAAqF;AACrF,MAAM,MAAM,qBAAqB,GAAG,MAAM,GAAG;IAAE,GAAG,EAAE,kBAAkB,CAAA;CAAE,CAAC;AAkBzE,wBAAgB,2BAA2B,CACzC,OAAO,EAAE,sBAAsB,EAC/B,QAAQ,EAAE,uBAAuB,GAChC,qBAAqB,CAkWvB"}
@@ -1,26 +1,36 @@
1
1
  /**
2
- * `genuiSandboxKit()` — the Vite plugin that makes the app's design system available to the
3
- * sandbox, with no command to run by hand:
2
+ * `genuiSandboxKit()` — the Vite plugin that puts the app's design system in the sandbox, whatever
3
+ * its stack, with no command to run by hand:
4
4
  *
5
- * - dev: builds the kit bundle (the app's components + React as one IIFE) and serves it, with the
6
- * Tailwind runtime, under `/@genui-sandbox-kit/`; writes the descriptor (docs + urls) for the
7
- * server; rebuilds when a kit file changes and tells open pages, whose sandboxes reload (HMR);
8
- * - build: emits both as hashed assets plus `genui-sandbox-kit.json` (the docs and their urls), and
9
- * lists the three in the Vite manifest — where the server finds them, as it finds any asset;
10
- * - collects the theme's custom properties from the app's own CSS, for the prompt.
5
+ * - `styles`: the app's style entries, compiled with Vite's own CSS pipeline (Sass, Less, PostCSS,
6
+ * CSS modules, Tailwind…), fonts and images inlined — the frame stays network-less. Tailwind is
7
+ * detected: the frame then runs Tailwind's browser runtime with the app's theme, variants and
8
+ * utilities; any other CSS is described to the model by its class vocabulary;
9
+ * - `components`: modules exporting React components, bundled with React as one IIFE and documented
10
+ * from their TypeScript types (names and propTypes in a JavaScript project);
11
+ * - `wrapper`: a module whose default export wraps the model's App (theme providers, baselines);
12
+ * - dev: builds and serves all of it under `/@genui-sandbox-kit/`, writes the descriptor (docs + urls)
13
+ * for the server, rebuilds when a kit or style file changes and tells open pages (HMR);
14
+ * - build: emits it all as hashed assets plus `genui-sandbox-kit.json`, listed in the Vite manifest.
15
+ *
16
+ * Zero-config: without `styles`, the style entries are found from the app's Vite entrypoints
17
+ * (`build.rollupOptions.input` — where the AdonisJS plugin puts its `entrypoints` — or `index.html`);
18
+ * without `components`, the first `components/ui` folder.
11
19
  */
12
- import { existsSync, mkdirSync, readFileSync, writeFileSync } from 'node:fs';
20
+ import { existsSync, mkdirSync, readFileSync, realpathSync, writeFileSync } from 'node:fs';
13
21
  import { createRequire } from 'node:module';
14
22
  import { dirname, join, resolve } from 'node:path';
15
- import { tailwindDirectivesFromCss, themeVarsFromCss } from '../sandbox-theme.js';
16
- import { buildSandboxKitBundle } from './bundle.js';
23
+ import { themeVarsFromCss } from '../sandbox-theme.js';
24
+ import { buildSandboxKitBundle, kitDocsFromBundle } from './bundle.js';
17
25
  import { generateSandboxKitDocs } from './docs.js';
18
- import { resolveSandboxKitFiles, } from './files.js';
26
+ import { assertNoLegacyKitOptions, resolveSandboxKitFiles, } from './files.js';
27
+ import { buildSandboxKitStyles, discoverStyleEntries, readStylesGuide, resolveStyleEntries, STYLE_EXTENSIONS, stylesDocs, tailwindVitePluginFor, } from './styles.js';
19
28
  /** Where the dev server serves the assets. */
20
29
  export const SANDBOX_KIT_DEV_PREFIX = '@genui-sandbox-kit/';
21
30
  /** The Vite manifest keys the build lists them under. */
22
31
  export const SANDBOX_KIT_MANIFEST_KEYS = {
23
32
  kit: 'genui-sandbox-kit.js',
33
+ css: 'genui-sandbox-kit.css',
24
34
  tailwind: 'genui-sandbox-tailwind.js',
25
35
  descriptor: 'genui-sandbox-kit.json',
26
36
  };
@@ -35,68 +45,77 @@ function tailwindRuntimePath() {
35
45
  return null;
36
46
  }
37
47
  }
38
- /** The Tailwind directives of `tailwindCss`, read now (they may change in dev). */
39
- function tailwindCssOf(root, specs) {
40
- if (specs === undefined)
41
- return undefined;
42
- const require = createRequire(resolve(root, 'package.json'));
43
- const parts = [];
44
- for (const spec of typeof specs === 'string' ? [specs] : specs) {
45
- let path = resolve(root, spec);
46
- if (!existsSync(path)) {
47
- try {
48
- path = require.resolve(spec);
49
- }
50
- catch {
51
- continue;
52
- }
53
- }
54
- try {
55
- parts.push(tailwindDirectivesFromCss(readFileSync(path, 'utf8')));
56
- }
57
- catch {
58
- /* unreadable: skipped */
59
- }
60
- }
61
- const css = parts.filter((part) => part !== '').join('\n');
62
- return css === '' ? undefined : css;
63
- }
64
- function fallbackDocs(bundle) {
65
- return (bundle?.exports ?? []).map((name) => ({ name, props: [] }));
66
- }
67
48
  const HMR_BRIDGE = `
68
49
  if (import.meta.hot && typeof window !== 'undefined' && !window.__genuiSandboxKitHmr) {
69
50
  window.__genuiSandboxKitHmr = true;
70
51
  import.meta.hot.on(${JSON.stringify(SANDBOX_KIT_UPDATE_EVENT)}, (data) => window.dispatchEvent(new CustomEvent(${JSON.stringify(SANDBOX_KIT_UPDATE_EVENT)}, { detail: data })));
71
52
  }`;
53
+ /** A stylesheet under node_modules that is a workspace package (a symlink out of node_modules). */
54
+ function WORKSPACE_LINKED(path) {
55
+ if (!path.includes('/node_modules/'))
56
+ return false;
57
+ try {
58
+ return !realpathSync(path).includes('/node_modules/');
59
+ }
60
+ catch {
61
+ return false;
62
+ }
63
+ }
64
+ /** A file a change to which may change the compiled styles. */
65
+ const STYLE_CHANGE = new RegExp(`(${STYLE_EXTENSIONS.map((ext) => ext.replace('.', '\\.')).join('|')}|tailwind\\.config\\.[cm]?[jt]s)$`, 'i');
72
66
  export function createGenuiSandboxKitPlugin(options, defaults) {
67
+ assertNoLegacyKitOptions(options, 'genuiSandboxKit');
73
68
  let config;
74
69
  let files = null;
75
70
  let bundle = null;
71
+ let styles = null;
76
72
  let docs = [];
77
- const themeVars = {};
73
+ const scannedVars = {};
78
74
  let descriptor = null;
79
75
  let firstBuild;
80
76
  let onReady;
81
77
  const ready = new Promise((resolveReady) => {
82
78
  onReady = resolveReady;
83
79
  });
84
- let warnedDocs = false;
85
- const tailwindOn = options.tailwind !== false;
80
+ const warned = new Set();
81
+ const warn = (message) => {
82
+ if (warned.has(message))
83
+ return;
84
+ warned.add(message);
85
+ config?.logger.warn(`[genui-sandbox-kit] ${message}`);
86
+ };
86
87
  const devUrl = (name, hash) => `${config?.base ?? '/'}${SANDBOX_KIT_DEV_PREFIX}${name}${hash ? `?v=${hash}` : ''}`;
87
- const describeDev = () => ({
88
- version: 1,
89
- components: docs,
90
- ...(Object.keys(themeVars).length > 0 ? { theme: { vars: { ...themeVars } } } : {}),
91
- kit: bundle === null ? null : { url: devUrl('kit.js', bundle.hash), hash: bundle.hash },
92
- tailwind: tailwindOn && tailwindRuntimePath() !== null
93
- ? {
94
- url: devUrl('tailwind.js'),
95
- ...withCss(tailwindCssOf(config?.root ?? process.cwd(), options.tailwindCss)),
96
- }
97
- : null,
88
+ /** The descriptor, given where each asset is (`null`: none). */
89
+ const describe = (urls) => {
90
+ const vars = styles !== null && Object.keys(styles.vars).length > 0 ? styles.vars : scannedVars;
91
+ const guide = readStylesGuide(config?.root ?? process.cwd(), options.stylesDocs);
92
+ return {
93
+ version: 2,
94
+ components: docs,
95
+ jsx: bundle !== null,
96
+ ...(files?.wrapper !== undefined && bundle !== null ? { wrapper: true } : {}),
97
+ ...(Object.keys(vars).length > 0 ? { theme: { vars: { ...vars } } } : {}),
98
+ ...stylesDocs(styles),
99
+ ...(guide !== undefined ? { guide } : {}),
100
+ assets: {
101
+ kit: bundle !== null && urls.kit !== null ? { url: urls.kit, hash: bundle.hash } : null,
102
+ css: styles !== null && styles.css !== '' && urls.css !== null
103
+ ? { url: urls.css, hash: styles.hash }
104
+ : null,
105
+ tailwind: styles?.tailwind !== undefined && urls.tailwind !== null
106
+ ? {
107
+ url: urls.tailwind,
108
+ ...(styles.tailwind.directives !== '' ? { css: styles.tailwind.directives } : {}),
109
+ }
110
+ : null,
111
+ },
112
+ };
113
+ };
114
+ const describeDev = () => describe({
115
+ kit: bundle === null ? null : devUrl('kit.js', bundle.hash),
116
+ css: styles === null ? null : devUrl('styles.css', styles.hash),
117
+ tailwind: tailwindRuntimePath() === null ? null : devUrl('tailwind.js'),
98
118
  });
99
- const withCss = (css) => (css === undefined ? {} : { css });
100
119
  const writeDescriptor = () => {
101
120
  if (config === undefined)
102
121
  return;
@@ -107,40 +126,85 @@ export function createGenuiSandboxKitPlugin(options, defaults) {
107
126
  writeFileSync(path, `${JSON.stringify(descriptor, null, 2)}\n`);
108
127
  }
109
128
  catch (error) {
110
- config.logger.warn(`[genui-sandbox-kit] could not write ${path}: ${error instanceof Error ? error.message : String(error)}`);
129
+ warn(`could not write ${path}: ${error instanceof Error ? error.message : String(error)}`);
111
130
  }
112
131
  };
132
+ const styleEntries = () => {
133
+ if (config === undefined)
134
+ return [];
135
+ if (options.styles === undefined) {
136
+ return discoverStyleEntries(config.root, {
137
+ input: config.build.rolldownOptions?.input ?? config.build.rollupOptions?.input,
138
+ });
139
+ }
140
+ const found = resolveStyleEntries(config.root, options.styles);
141
+ for (const spec of found.missing)
142
+ warn(`styles: "${spec}" matched no file`);
143
+ return found.files;
144
+ };
113
145
  const buildAll = async () => {
114
146
  if (config === undefined)
115
147
  return;
116
- files = resolveSandboxKitFiles(config.root, options);
117
- if (files === null) {
118
- bundle = null;
119
- docs = [];
120
- return;
148
+ const root = config.root;
149
+ try {
150
+ files = resolveSandboxKitFiles(root, options);
121
151
  }
122
- const [built, generated] = await Promise.all([
123
- buildSandboxKitBundle({
124
- root: config.root,
125
- files,
126
- resolve: config.resolve,
127
- ...(options.plugins !== undefined ? { plugins: options.plugins } : {}),
128
- }),
129
- generateSandboxKitDocs({
130
- root: config.root,
131
- files,
132
- ...(options.tsconfig !== undefined ? { tsconfig: options.tsconfig } : {}),
133
- ...(options.typescript !== undefined ? { typescript: options.typescript } : {}),
152
+ catch (error) {
153
+ warn(error instanceof Error ? error.message : String(error));
154
+ files = null;
155
+ }
156
+ for (const spec of files?.missing ?? [])
157
+ warn(`components: "${spec}" matched no module`);
158
+ const plugins = [
159
+ ...(options.plugins ?? []),
160
+ ...(await tailwindVitePluginFor(root, config.plugins ?? [], options.plugins ?? [])),
161
+ ];
162
+ const shared = {
163
+ root,
164
+ resolve: config.resolve,
165
+ ...(config.css !== undefined ? { css: config.css } : {}),
166
+ plugins,
167
+ ...(options.inlineAssetLimit !== undefined
168
+ ? { inlineAssetLimit: options.inlineAssetLimit }
169
+ : {}),
170
+ ...(options.inlineAssetBudget !== undefined
171
+ ? { inlineAssetBudget: options.inlineAssetBudget }
172
+ : {}),
173
+ warn,
174
+ };
175
+ const current = files;
176
+ const [builtStyles, built, generated] = await Promise.all([
177
+ buildSandboxKitStyles({
178
+ ...shared,
179
+ entries: styleEntries(),
180
+ ...(config.publicDir !== undefined ? { publicDir: config.publicDir } : {}),
134
181
  }).catch((error) => {
135
- if (!warnedDocs) {
136
- warnedDocs = true;
137
- config?.logger.warn(`[genui-sandbox-kit] kit docs from names only: ${error instanceof Error ? error.message : String(error)}`);
138
- }
182
+ warn(`the styles did not compile: ${error instanceof Error ? error.message : String(error)}`);
139
183
  return null;
140
184
  }),
185
+ current === null
186
+ ? Promise.resolve(null)
187
+ : buildSandboxKitBundle({ ...shared, files: current }).catch((error) => {
188
+ warn(`the kit did not build: ${error instanceof Error ? error.message : String(error)}`);
189
+ return null;
190
+ }),
191
+ current === null || (current.files.length === 0 && current.packages.length === 0)
192
+ ? Promise.resolve([])
193
+ : generateSandboxKitDocs({
194
+ root,
195
+ files: current,
196
+ ...(options.tsconfig !== undefined ? { tsconfig: options.tsconfig } : {}),
197
+ ...(options.typescript !== undefined ? { typescript: options.typescript } : {}),
198
+ }).catch((error) => {
199
+ warn(`kit docs from names (and propTypes) only: ${error instanceof Error ? error.message : String(error)}`);
200
+ return null;
201
+ }),
141
202
  ]);
203
+ styles = builtStyles;
142
204
  bundle = built;
143
- docs = generated ?? fallbackDocs(built);
205
+ docs = generated ?? (built === null ? [] : kitDocsFromBundle(built.code));
206
+ if (generated === null && docs.length === 0 && built !== null)
207
+ docs = built.exports.map((name) => ({ name, props: [] }));
144
208
  };
145
209
  let rebuildTimer;
146
210
  const plugin = {
@@ -155,16 +219,22 @@ export function createGenuiSandboxKitPlugin(options, defaults) {
155
219
  },
156
220
  transform(code, id) {
157
221
  const path = id.split('?')[0] ?? id;
158
- if (path.endsWith('.css') && !path.includes('/node_modules/')) {
159
- const found = themeVarsFromCss(code);
222
+ // The app's own CSS — workspace packages pnpm injects under node_modules (`file:` deps) too —
223
+ // never a third-party library's.
224
+ const appCss = !path.includes('/node_modules/') ||
225
+ /\/node_modules\/\.pnpm\/[^/]*@file\+/.test(path) ||
226
+ WORKSPACE_LINKED(path);
227
+ if (path.endsWith('.css') && appCss) {
228
+ // The theme's variables as the app's CSS declares them — used when there are no styles.
229
+ const found = themeVarsFromCss(code, { rootOnly: true });
160
230
  let changed = false;
161
231
  for (const [name, value] of Object.entries(found)) {
162
- if (themeVars[name] === undefined) {
163
- themeVars[name] = value;
232
+ if (scannedVars[name] === undefined) {
233
+ scannedVars[name] = value;
164
234
  changed = true;
165
235
  }
166
236
  }
167
- if (changed && config?.command === 'serve' && firstBuild !== undefined)
237
+ if (changed && styles === null && config?.command === 'serve' && firstBuild !== undefined)
168
238
  writeDescriptor();
169
239
  return null;
170
240
  }
@@ -177,14 +247,18 @@ export function createGenuiSandboxKitPlugin(options, defaults) {
177
247
  return null;
178
248
  },
179
249
  configureServer(server) {
250
+ const watchAll = () => {
251
+ const paths = [...(files?.dirs ?? []), ...(styles?.files ?? [])];
252
+ if (paths.length > 0)
253
+ server.watcher.add?.(paths);
254
+ };
180
255
  firstBuild = buildAll()
181
256
  .catch((error) => {
182
- config?.logger.warn(`[genui-sandbox-kit] the kit did not build: ${error instanceof Error ? error.message : String(error)}`);
257
+ warn(`the kit did not build: ${error instanceof Error ? error.message : String(error)}`);
183
258
  })
184
259
  .finally(() => {
185
260
  writeDescriptor();
186
- if (files !== null)
187
- server.watcher.add?.(files.dirs);
261
+ watchAll();
188
262
  onReady();
189
263
  });
190
264
  server.middlewares.use((req, res, next) => {
@@ -199,7 +273,11 @@ export function createGenuiSandboxKitPlugin(options, defaults) {
199
273
  let type = 'text/javascript; charset=utf-8';
200
274
  if (name === 'kit.js')
201
275
  body = bundle?.code ?? null;
202
- else if (name === 'tailwind.js' && tailwindOn) {
276
+ else if (name === 'styles.css') {
277
+ body = styles?.css ?? null;
278
+ type = 'text/css; charset=utf-8';
279
+ }
280
+ else if (name === 'tailwind.js' && styles?.tailwind !== undefined) {
203
281
  const path = tailwindRuntimePath();
204
282
  body = path === null ? null : readFileSync(path, 'utf8');
205
283
  }
@@ -220,24 +298,36 @@ export function createGenuiSandboxKitPlugin(options, defaults) {
220
298
  const changed = (file) => {
221
299
  if (config === undefined)
222
300
  return;
301
+ // Under node_modules only what the kit itself read (an injected workspace package).
302
+ if (file.includes('/node_modules/') &&
303
+ styles?.files.includes(file) !== true &&
304
+ bundle?.modules.includes(file) !== true)
305
+ return;
223
306
  const inKit = files?.dirs.some((dir) => file.startsWith(dir)) === true ||
224
- bundle?.modules.includes(file) === true;
225
- if (!inKit)
307
+ bundle?.modules.includes(file) === true ||
308
+ files?.wrapper === file;
309
+ const inStyles = styles?.files.includes(file) === true || STYLE_CHANGE.test(file);
310
+ if (!inKit && !inStyles)
226
311
  return;
227
312
  clearTimeout(rebuildTimer);
228
313
  rebuildTimer = setTimeout(() => {
229
314
  firstBuild = buildAll()
230
315
  .then(() => {
231
316
  writeDescriptor();
317
+ watchAll();
232
318
  server.ws.send({
233
319
  type: 'custom',
234
320
  event: SANDBOX_KIT_UPDATE_EVENT,
235
- data: { hash: bundle?.hash ?? null, url: descriptor?.kit?.url ?? null },
321
+ data: {
322
+ hash: bundle?.hash ?? null,
323
+ url: descriptor?.assets.kit?.url ?? null,
324
+ css: descriptor?.assets.css?.url ?? null,
325
+ },
236
326
  });
237
327
  config?.logger.info('[genui-sandbox-kit] kit rebuilt');
238
328
  })
239
329
  .catch((error) => {
240
- config?.logger.warn(`[genui-sandbox-kit] the kit did not rebuild: ${error instanceof Error ? error.message : String(error)}`);
330
+ warn(`the kit did not rebuild: ${error instanceof Error ? error.message : String(error)}`);
241
331
  });
242
332
  }, 150);
243
333
  };
@@ -250,48 +340,25 @@ export function createGenuiSandboxKitPlugin(options, defaults) {
250
340
  return;
251
341
  await buildAll();
252
342
  const base = config.base ?? '/';
253
- let kit = null;
254
- if (bundle !== null) {
343
+ const emit = (key, source) => {
255
344
  const ref = this.emitFile({
256
345
  type: 'asset',
257
- name: SANDBOX_KIT_MANIFEST_KEYS.kit,
258
- originalFileName: SANDBOX_KIT_MANIFEST_KEYS.kit,
259
- source: bundle.code,
346
+ name: SANDBOX_KIT_MANIFEST_KEYS[key],
347
+ originalFileName: SANDBOX_KIT_MANIFEST_KEYS[key],
348
+ source,
260
349
  });
261
- kit = { url: `${base}${this.getFileName(ref)}`, hash: bundle.hash };
262
- emitted.kit = this.getFileName(ref);
263
- }
264
- let tailwind = null;
265
- const runtime = tailwindOn ? tailwindRuntimePath() : null;
266
- if (runtime !== null) {
267
- const ref = this.emitFile({
268
- type: 'asset',
269
- name: SANDBOX_KIT_MANIFEST_KEYS.tailwind,
270
- originalFileName: SANDBOX_KIT_MANIFEST_KEYS.tailwind,
271
- source: readFileSync(runtime, 'utf8'),
272
- });
273
- tailwind = {
274
- url: `${base}${this.getFileName(ref)}`,
275
- ...withCss(tailwindCssOf(config.root, options.tailwindCss)),
276
- };
277
- emitted.tailwind = this.getFileName(ref);
278
- }
279
- descriptor = {
280
- version: 1,
281
- components: docs,
282
- ...(Object.keys(themeVars).length > 0 ? { theme: { vars: { ...themeVars } } } : {}),
283
- kit,
284
- tailwind,
350
+ const fileName = this.getFileName(ref);
351
+ emitted[key] = fileName;
352
+ return `${base}${fileName}`;
285
353
  };
286
- const ref = this.emitFile({
287
- type: 'asset',
288
- name: SANDBOX_KIT_MANIFEST_KEYS.descriptor,
289
- originalFileName: SANDBOX_KIT_MANIFEST_KEYS.descriptor,
290
- source: JSON.stringify(descriptor),
291
- });
292
- emitted.descriptor = this.getFileName(ref);
354
+ const kitUrl = bundle !== null ? emit('kit', bundle.code) : null;
355
+ const cssUrl = styles !== null && styles.css !== '' ? emit('css', styles.css) : null;
356
+ const runtime = styles?.tailwind !== undefined ? tailwindRuntimePath() : null;
357
+ const tailwindUrl = runtime !== null ? emit('tailwind', readFileSync(runtime, 'utf8')) : null;
358
+ descriptor = describe({ kit: kitUrl, css: cssUrl, tailwind: tailwindUrl });
359
+ emit('descriptor', JSON.stringify(descriptor));
293
360
  },
294
- /** The manifest lists the three by their names, whatever Vite's own manifest did with them. */
361
+ /** The manifest lists them by their names, whatever Vite's own manifest did with them. */
295
362
  writeBundle() {
296
363
  if (config?.command !== 'build' || config.build.manifest === false)
297
364
  return;
@@ -1 +1 @@
1
- {"version":3,"file":"plugin.js","sourceRoot":"","sources":["../../../../src/genui/kit/plugin.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AACH,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAE7E,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAGnD,OAAO,EAAE,yBAAyB,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAClF,OAAO,EAAE,qBAAqB,EAAyB,MAAM,aAAa,CAAC;AAC3E,OAAO,EAAE,sBAAsB,EAAE,MAAM,WAAW,CAAC;AACnD,OAAO,EACL,sBAAsB,GAGvB,MAAM,YAAY,CAAC;AA6BpB,8CAA8C;AAC9C,MAAM,CAAC,MAAM,sBAAsB,GAAG,qBAAqB,CAAC;AAC5D,yDAAyD;AACzD,MAAM,CAAC,MAAM,yBAAyB,GAAG;IACvC,GAAG,EAAE,sBAAsB;IAC3B,QAAQ,EAAE,2BAA2B;IACrC,UAAU,EAAE,wBAAwB;CAC5B,CAAC;AACX,wEAAwE;AACxE,MAAM,CAAC,MAAM,wBAAwB,GAAG,0BAA0B,CAAC;AAUnE,SAAS,mBAAmB;IAC1B,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,aAAa,CAAC,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC;QAC/C,OAAO,OAAO,CAAC,OAAO,CAAC,sBAAsB,CAAC,CAAC;IACjD,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED,mFAAmF;AACnF,SAAS,aAAa,CACpB,IAAY,EACZ,KAA6C;IAE7C,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO,SAAS,CAAC;IAC1C,MAAM,OAAO,GAAG,aAAa,CAAC,OAAO,CAAC,IAAI,EAAE,cAAc,CAAC,CAAC,CAAC;IAC7D,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,KAAK,MAAM,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC;QAC/D,IAAI,IAAI,GAAG,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QAC/B,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;YACtB,IAAI,CAAC;gBACH,IAAI,GAAG,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;YAC/B,CAAC;YAAC,MAAM,CAAC;gBACP,SAAS;YACX,CAAC;QACH,CAAC;QACD,IAAI,CAAC;YACH,KAAK,CAAC,IAAI,CAAC,yBAAyB,CAAC,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC;QACpE,CAAC;QAAC,MAAM,CAAC;YACP,yBAAyB;QAC3B,CAAC;IACH,CAAC;IACD,MAAM,GAAG,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,KAAK,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC3D,OAAO,GAAG,KAAK,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC;AACtC,CAAC;AAED,SAAS,YAAY,CAAC,MAA+B;IACnD,OAAO,CAAC,MAAM,EAAE,OAAO,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;AACtE,CAAC;AAED,MAAM,UAAU,GAAG;;;uBAGI,IAAI,CAAC,SAAS,CAAC,wBAAwB,CAAC,oDAAoD,IAAI,CAAC,SAAS,CAAC,wBAAwB,CAAC;EACzJ,CAAC;AAeH,MAAM,UAAU,2BAA2B,CACzC,OAA+B,EAC/B,QAAiC;IAEjC,IAAI,MAAkC,CAAC;IACvC,IAAI,KAAK,GAA2B,IAAI,CAAC;IACzC,IAAI,MAAM,GAA4B,IAAI,CAAC;IAC3C,IAAI,IAAI,GAA6B,EAAE,CAAC;IACxC,MAAM,SAAS,GAA2B,EAAE,CAAC;IAC7C,IAAI,UAAU,GAAgC,IAAI,CAAC;IACnD,IAAI,UAAqC,CAAC;IAC1C,IAAI,OAAoB,CAAC;IACzB,MAAM,KAAK,GAAG,IAAI,OAAO,CAAO,CAAC,YAAY,EAAE,EAAE;QAC/C,OAAO,GAAG,YAAY,CAAC;IACzB,CAAC,CAAC,CAAC;IACH,IAAI,UAAU,GAAG,KAAK,CAAC;IACvB,MAAM,UAAU,GAAG,OAAO,CAAC,QAAQ,KAAK,KAAK,CAAC;IAE9C,MAAM,MAAM,GAAG,CAAC,IAAY,EAAE,IAAa,EAAE,EAAE,CAC7C,GAAG,MAAM,EAAE,IAAI,IAAI,GAAG,GAAG,sBAAsB,GAAG,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;IAEtF,MAAM,WAAW,GAAG,GAAyB,EAAE,CAAC,CAAC;QAC/C,OAAO,EAAE,CAAC;QACV,UAAU,EAAE,IAAI;QAChB,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,EAAE,GAAG,SAAS,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACnF,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE;QACvF,QAAQ,EACN,UAAU,IAAI,mBAAmB,EAAE,KAAK,IAAI;YAC1C,CAAC,CAAC;gBACE,GAAG,EAAE,MAAM,CAAC,aAAa,CAAC;gBAC1B,GAAG,OAAO,CAAC,aAAa,CAAC,MAAM,EAAE,IAAI,IAAI,OAAO,CAAC,GAAG,EAAE,EAAE,OAAO,CAAC,WAAW,CAAC,CAAC;aAC9E;YACH,CAAC,CAAC,IAAI;KACX,CAAC,CAAC;IACH,MAAM,OAAO,GAAG,CAAC,GAAuB,EAAE,EAAE,CAAC,CAAC,GAAG,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC;IAEhF,MAAM,eAAe,GAAG,GAAG,EAAE;QAC3B,IAAI,MAAM,KAAK,SAAS;YAAE,OAAO;QACjC,UAAU,GAAG,WAAW,EAAE,CAAC;QAC3B,MAAM,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,UAAU,IAAI,QAAQ,CAAC,UAAU,CAAC,CAAC;QAC7E,IAAI,CAAC;YACH,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;YAC9C,aAAa,CAAC,IAAI,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,UAAU,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC;QAClE,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,CAAC,MAAM,CAAC,IAAI,CAChB,uCAAuC,IAAI,KAAK,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CACzG,CAAC;QACJ,CAAC;IACH,CAAC,CAAC;IAEF,MAAM,QAAQ,GAAG,KAAK,IAAmB,EAAE;QACzC,IAAI,MAAM,KAAK,SAAS;YAAE,OAAO;QACjC,KAAK,GAAG,sBAAsB,CAAC,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QACrD,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;YACnB,MAAM,GAAG,IAAI,CAAC;YACd,IAAI,GAAG,EAAE,CAAC;YACV,OAAO;QACT,CAAC;QACD,MAAM,CAAC,KAAK,EAAE,SAAS,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;YAC3C,qBAAqB,CAAC;gBACpB,IAAI,EAAE,MAAM,CAAC,IAAI;gBACjB,KAAK;gBACL,OAAO,EAAE,MAAM,CAAC,OAAO;gBACvB,GAAG,CAAC,OAAO,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aACvE,CAAC;YACF,sBAAsB,CAAC;gBACrB,IAAI,EAAE,MAAM,CAAC,IAAI;gBACjB,KAAK;gBACL,GAAG,CAAC,OAAO,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACzE,GAAG,CAAC,OAAO,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,OAAO,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aAChF,CAAC,CAAC,KAAK,CAAC,CAAC,KAAc,EAAE,EAAE;gBAC1B,IAAI,CAAC,UAAU,EAAE,CAAC;oBAChB,UAAU,GAAG,IAAI,CAAC;oBAClB,MAAM,EAAE,MAAM,CAAC,IAAI,CACjB,iDAAiD,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAC1G,CAAC;gBACJ,CAAC;gBACD,OAAO,IAAI,CAAC;YACd,CAAC,CAAC;SACH,CAAC,CAAC;QACH,MAAM,GAAG,KAAK,CAAC;QACf,IAAI,GAAG,SAAS,IAAI,YAAY,CAAC,KAAK,CAAC,CAAC;IAC1C,CAAC,CAAC;IAEF,IAAI,YAAuD,CAAC;IAE5D,MAAM,MAAM,GAAG;QACb,IAAI,EAAE,mBAAmB;QACzB,OAAO,EAAE,KAAc;QACvB,GAAG,EAAE;YACH,UAAU,EAAE,GAAG,EAAE,CAAC,UAAU;YAC5B,KAAK,EAAE,GAAG,EAAE,CAAC,KAAK;SACU;QAE9B,cAAc,CAAC,QAAwB;YACrC,MAAM,GAAG,QAAQ,CAAC;QACpB,CAAC;QAED,SAAS,CAAC,IAAY,EAAE,EAAU;YAChC,MAAM,IAAI,GAAG,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;YACpC,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,EAAE,CAAC;gBAC9D,MAAM,KAAK,GAAG,gBAAgB,CAAC,IAAI,CAAC,CAAC;gBACrC,IAAI,OAAO,GAAG,KAAK,CAAC;gBACpB,KAAK,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;oBAClD,IAAI,SAAS,CAAC,IAAI,CAAC,KAAK,SAAS,EAAE,CAAC;wBAClC,SAAS,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC;wBACxB,OAAO,GAAG,IAAI,CAAC;oBACjB,CAAC;gBACH,CAAC;gBACD,IAAI,OAAO,IAAI,MAAM,EAAE,OAAO,KAAK,OAAO,IAAI,UAAU,KAAK,SAAS;oBAAE,eAAe,EAAE,CAAC;gBAC1F,OAAO,IAAI,CAAC;YACd,CAAC;YACD,IACE,MAAM,EAAE,OAAO,KAAK,OAAO;gBAC3B,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC;gBAC5B,CAAC,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC;gBAChC,QAAQ,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,EAClC,CAAC;gBACD,OAAO,EAAE,IAAI,EAAE,GAAG,IAAI,KAAK,UAAU,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC;YACvD,CAAC;YACD,OAAO,IAAI,CAAC;QACd,CAAC;QAED,eAAe,CAAC,MASf;YACC,UAAU,GAAG,QAAQ,EAAE;iBACpB,KAAK,CAAC,CAAC,KAAc,EAAE,EAAE;gBACxB,MAAM,EAAE,MAAM,CAAC,IAAI,CACjB,8CAA8C,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CACvG,CAAC;YACJ,CAAC,CAAC;iBACD,OAAO,CAAC,GAAG,EAAE;gBACZ,eAAe,EAAE,CAAC;gBAClB,IAAI,KAAK,KAAK,IAAI;oBAAE,MAAM,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;gBACrD,OAAO,EAAE,CAAC;YACZ,CAAC,CAAC,CAAC;YACL,MAAM,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE;gBACxC,MAAM,GAAG,GAAG,MAAM,CAAC,GAAG,CAAC,GAAG,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;gBACtD,MAAM,MAAM,GAAG,GAAG,MAAM,EAAE,IAAI,IAAI,GAAG,GAAG,sBAAsB,EAAE,CAAC;gBACjE,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,sBAAsB,EAAE,CAAC;oBAAE,OAAO,IAAI,EAAE,CAAC;gBAC5F,MAAM,IAAI,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;gBACjD,KAAK,CAAC,KAAK,IAAI,EAAE;oBACf,MAAM,UAAU,CAAC;oBACjB,IAAI,IAAI,GAAkB,IAAI,CAAC;oBAC/B,IAAI,IAAI,GAAG,gCAAgC,CAAC;oBAC5C,IAAI,IAAI,KAAK,QAAQ;wBAAE,IAAI,GAAG,MAAM,EAAE,IAAI,IAAI,IAAI,CAAC;yBAC9C,IAAI,IAAI,KAAK,aAAa,IAAI,UAAU,EAAE,CAAC;wBAC9C,MAAM,IAAI,GAAG,mBAAmB,EAAE,CAAC;wBACnC,IAAI,GAAG,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;oBAC3D,CAAC;yBAAM,IAAI,IAAI,KAAK,iBAAiB,EAAE,CAAC;wBACtC,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;wBAClC,IAAI,GAAG,kBAAkB,CAAC;oBAC5B,CAAC;oBACD,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;wBAClB,GAAG,CAAC,UAAU,GAAG,GAAG,CAAC;wBACrB,GAAG,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;wBACrB,OAAO;oBACT,CAAC;oBACD,GAAG,CAAC,SAAS,CAAC,cAAc,EAAE,IAAI,CAAC,CAAC;oBACpC,GAAG,CAAC,SAAS,CAAC,eAAe,EAAE,UAAU,CAAC,CAAC;oBAC3C,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;gBAChB,CAAC,CAAC,EAAE,CAAC;YACP,CAAC,CAAC,CAAC;YACH,MAAM,OAAO,GAAG,CAAC,IAAY,EAAE,EAAE;gBAC/B,IAAI,MAAM,KAAK,SAAS;oBAAE,OAAO;gBACjC,MAAM,KAAK,GACT,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,KAAK,IAAI;oBACxD,MAAM,EAAE,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC;gBAC1C,IAAI,CAAC,KAAK;oBAAE,OAAO;gBACnB,YAAY,CAAC,YAAY,CAAC,CAAC;gBAC3B,YAAY,GAAG,UAAU,CAAC,GAAG,EAAE;oBAC7B,UAAU,GAAG,QAAQ,EAAE;yBACpB,IAAI,CAAC,GAAG,EAAE;wBACT,eAAe,EAAE,CAAC;wBAClB,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC;4BACb,IAAI,EAAE,QAAQ;4BACd,KAAK,EAAE,wBAAwB;4BAC/B,IAAI,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,IAAI,IAAI,EAAE,GAAG,EAAE,UAAU,EAAE,GAAG,EAAE,GAAG,IAAI,IAAI,EAAE;yBACxE,CAAC,CAAC;wBACH,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC,iCAAiC,CAAC,CAAC;oBACzD,CAAC,CAAC;yBACD,KAAK,CAAC,CAAC,KAAc,EAAE,EAAE;wBACxB,MAAM,EAAE,MAAM,CAAC,IAAI,CACjB,gDAAgD,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CACzG,CAAC;oBACJ,CAAC,CAAC,CAAC;gBACP,CAAC,EAAE,GAAG,CAAC,CAAC;YACV,CAAC,CAAC;YACF,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;YACrC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;YAClC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QACvC,CAAC;QAED,KAAK,CAAC,cAAc;YAUlB,IAAI,MAAM,EAAE,OAAO,KAAK,OAAO;gBAAE,OAAO;YACxC,MAAM,QAAQ,EAAE,CAAC;YACjB,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,IAAI,GAAG,CAAC;YAChC,IAAI,GAAG,GAAgC,IAAI,CAAC;YAC5C,IAAI,MAAM,KAAK,IAAI,EAAE,CAAC;gBACpB,MAAM,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC;oBACxB,IAAI,EAAE,OAAO;oBACb,IAAI,EAAE,yBAAyB,CAAC,GAAG;oBACnC,gBAAgB,EAAE,yBAAyB,CAAC,GAAG;oBAC/C,MAAM,EAAE,MAAM,CAAC,IAAI;iBACpB,CAAC,CAAC;gBACH,GAAG,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,EAAE,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,CAAC;gBACpE,OAAO,CAAC,GAAG,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;YACtC,CAAC;YACD,IAAI,QAAQ,GAAqC,IAAI,CAAC;YACtD,MAAM,OAAO,GAAG,UAAU,CAAC,CAAC,CAAC,mBAAmB,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;YAC1D,IAAI,OAAO,KAAK,IAAI,EAAE,CAAC;gBACrB,MAAM,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC;oBACxB,IAAI,EAAE,OAAO;oBACb,IAAI,EAAE,yBAAyB,CAAC,QAAQ;oBACxC,gBAAgB,EAAE,yBAAyB,CAAC,QAAQ;oBACpD,MAAM,EAAE,YAAY,CAAC,OAAO,EAAE,MAAM,CAAC;iBACtC,CAAC,CAAC;gBACH,QAAQ,GAAG;oBACT,GAAG,EAAE,GAAG,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,EAAE;oBACtC,GAAG,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,WAAW,CAAC,CAAC;iBAC5D,CAAC;gBACF,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;YAC3C,CAAC;YACD,UAAU,GAAG;gBACX,OAAO,EAAE,CAAC;gBACV,UAAU,EAAE,IAAI;gBAChB,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,EAAE,GAAG,SAAS,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACnF,GAAG;gBACH,QAAQ;aACT,CAAC;YACF,MAAM,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC;gBACxB,IAAI,EAAE,OAAO;gBACb,IAAI,EAAE,yBAAyB,CAAC,UAAU;gBAC1C,gBAAgB,EAAE,yBAAyB,CAAC,UAAU;gBACtD,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC;aACnC,CAAC,CAAC;YACH,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;QAC7C,CAAC;QAED,+FAA+F;QAC/F,WAAW;YACT,IAAI,MAAM,EAAE,OAAO,KAAK,OAAO,IAAI,MAAM,CAAC,KAAK,CAAC,QAAQ,KAAK,KAAK;gBAAE,OAAO;YAC3E,MAAM,YAAY,GAAG,IAAI,CACvB,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,EACzC,OAAO,MAAM,CAAC,KAAK,CAAC,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,qBAAqB,CAC1F,CAAC;YACF,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC;gBAAE,OAAO;YACtC,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,YAAY,EAAE,MAAM,CAAC,CAA4B,CAAC;YAC3F,KAAK,MAAM,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,CAG7C,EAAE,CAAC;gBACJ,IAAI,IAAI,KAAK,SAAS;oBAAE,SAAS;gBACjC,MAAM,IAAI,GAAG,yBAAyB,CAAC,GAAG,CAAC,CAAC;gBAC5C,QAAQ,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC;YACvC,CAAC;YACD,aAAa,CAAC,YAAY,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;QACjE,CAAC;KACF,CAAC;IACF,MAAM,OAAO,GAA6D,EAAE,CAAC;IAC7E,OAAO,MAA0C,CAAC;AACpD,CAAC"}
1
+ {"version":3,"file":"plugin.js","sourceRoot":"","sources":["../../../../src/genui/kit/plugin.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,83 @@
1
+ import type { SandboxKitDocs } from '../sandbox-kit.js';
2
+ import { type CssVocabulary, type TailwindTokens } from '../sandbox-styles.js';
3
+ /** Extensions a style entry may have. */
4
+ export declare const STYLE_EXTENSIONS: string[];
5
+ /**
6
+ * A stylesheet import as CSS resolves it: relative, absolute, an alias of the app's Vite config, or
7
+ * a package (`bootstrap/dist/css/bootstrap.css`, `shadcn/tailwind.css`, `@fontsource-variable/geist`
8
+ * — its `exports` under the `style` condition, its `style` field).
9
+ */
10
+ export declare function resolveStyleImport(spec: string, fromDir: string, alias?: Record<string, string>): string | undefined;
11
+ /** One stylesheet the app's styles are made of, as written. */
12
+ export interface StyleSource {
13
+ file: string;
14
+ text: string;
15
+ }
16
+ /**
17
+ * The style entries and every stylesheet they `@import` (plain CSS imports are followed through
18
+ * packages; Sass/Less partials are read for detection only). The `tailwindcss` package itself is
19
+ * not read (the frame brings its own runtime).
20
+ */
21
+ export declare function collectStyleSources(entries: readonly string[], options?: {
22
+ alias?: Record<string, string>;
23
+ }): StyleSource[];
24
+ /** The `styles` option as files: paths and globs relative to the root, or package stylesheets. */
25
+ export declare function resolveStyleEntries(root: string, styles: string | readonly string[]): {
26
+ files: string[];
27
+ missing: string[];
28
+ };
29
+ /**
30
+ * The app's style entries, found from its Vite setup — what `genuiSandboxKit()` uses without
31
+ * `styles`: the stylesheets among `build.rollupOptions.input` (the AdonisJS plugin puts its
32
+ * `entrypoints` there) or linked from `index.html`, and those the script entries import directly
33
+ * (`import './app.css'`). CSS modules are left out.
34
+ */
35
+ export declare function discoverStyleEntries(root: string, options?: {
36
+ input?: unknown;
37
+ }): string[];
38
+ /** The app's styles, compiled and understood. */
39
+ export interface SandboxKitStyles {
40
+ /** Compiled CSS (fonts and images inlined). */
41
+ css: string;
42
+ hash: string;
43
+ /** The files the styles are made of (entries and what they import) — what to watch. */
44
+ files: string[];
45
+ tailwind?: {
46
+ version: 3 | 4;
47
+ tokens: TailwindTokens;
48
+ directives: string;
49
+ };
50
+ vocabulary?: CssVocabulary;
51
+ /** Custom properties on the styles' root. */
52
+ vars: Record<string, string>;
53
+ }
54
+ export interface BuildSandboxKitStylesOptions {
55
+ root: string;
56
+ entries: readonly string[];
57
+ resolve?: Record<string, unknown>;
58
+ css?: Record<string, unknown>;
59
+ publicDir?: string | false;
60
+ plugins?: unknown[];
61
+ inlineAssetLimit?: number;
62
+ inlineAssetBudget?: number;
63
+ warn?: (message: string) => void;
64
+ /** Compile with Vite. Default true; false reads the files as they are (plain CSS only). */
65
+ compile?: boolean;
66
+ }
67
+ /** Aliases of a resolved Vite `resolve` (object or array form) as `find → replacement` strings. */
68
+ export declare function stringAliases(resolveOptions: Record<string, unknown> | undefined): Record<string, string>;
69
+ /**
70
+ * Compile the style entries with the app's Vite CSS pipeline and work out what they are: Tailwind
71
+ * (its version, tokens, and the directives the frame's runtime needs — v3's config theme mapped to
72
+ * v4), or plain CSS (its class vocabulary). `null` with no entries.
73
+ */
74
+ export declare function buildSandboxKitStyles(options: BuildSandboxKitStylesOptions): Promise<SandboxKitStyles | null>;
75
+ /** The docs half of compiled styles (what the model is told). */
76
+ export declare function stylesDocs(styles: SandboxKitStyles | null): Pick<SandboxKitDocs, 'tailwind' | 'vocabulary'>;
77
+ /** `stylesDocs`: a file (markdown, text) relative to the root, or the guidance itself. */
78
+ export declare function readStylesGuide(root: string, stylesDocs: string | undefined): string | undefined;
79
+ /** A fresh instance of the app's Tailwind Vite plugin, when the app has one and the kit has none. */
80
+ export declare function tailwindVitePluginFor(root: string, appPlugins: readonly {
81
+ name?: string;
82
+ }[], given: readonly unknown[]): Promise<unknown[]>;
83
+ //# sourceMappingURL=styles.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"styles.d.ts","sourceRoot":"","sources":["../../../../src/genui/kit/styles.ts"],"names":[],"mappings":"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"}