sunpeak 0.12.11 → 0.12.12

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 (79) hide show
  1. package/bin/commands/dev.mjs +72 -64
  2. package/package.json +1 -1
  3. package/template/dist/albums/albums.json +1 -1
  4. package/template/dist/carousel/carousel.json +1 -1
  5. package/template/dist/map/map.json +1 -1
  6. package/template/dist/review/review.json +1 -1
  7. package/template/node_modules/.vite/deps/@openai_apps-sdk-ui_components_Button.js +3 -3
  8. package/template/node_modules/.vite/deps/@openai_apps-sdk-ui_components_SegmentedControl.js +1 -1
  9. package/template/node_modules/.vite/deps/@openai_apps-sdk-ui_components_Select.js +15 -15
  10. package/template/node_modules/.vite/deps/@openai_apps-sdk-ui_components_Textarea.js +3 -3
  11. package/template/node_modules/.vite/deps/_metadata.json +32 -32
  12. package/template/node_modules/{.vite-mcp/deps_temp_e6e57b12/chunk-IFPDCKUT.js → .vite/deps/chunk-24D227QE.js} +5 -5
  13. package/template/node_modules/.vite/vitest/da39a3ee5e6b4b0d3255bfef95601890afd80709/results.json +1 -1
  14. package/template/node_modules/.vite-mcp/{deps_temp_e6e57b12 → deps_temp_ed5fce0f}/@openai_apps-sdk-ui_components_Button.js +2 -2
  15. package/template/node_modules/.vite-mcp/{deps_temp_e6e57b12 → deps_temp_ed5fce0f}/@openai_apps-sdk-ui_components_Select.js +15 -15
  16. package/template/node_modules/{.vite/deps/chunk-OBBBT4IN.js → .vite-mcp/deps_temp_ed5fce0f/chunk-24D227QE.js} +7 -7
  17. package/template/node_modules/.vite/deps/{chunk-OBBBT4IN.js.map → chunk-24D227QE.js.map} +0 -0
  18. package/template/node_modules/.vite-mcp/{deps_temp_e6e57b12 → deps_temp_ed5fce0f}/@openai_apps-sdk-ui_components_Avatar.js +0 -0
  19. package/template/node_modules/.vite-mcp/{deps_temp_e6e57b12 → deps_temp_ed5fce0f}/@openai_apps-sdk-ui_components_Avatar.js.map +0 -0
  20. package/template/node_modules/.vite-mcp/{deps_temp_e6e57b12 → deps_temp_ed5fce0f}/@openai_apps-sdk-ui_components_Button.js.map +0 -0
  21. package/template/node_modules/.vite-mcp/{deps_temp_e6e57b12 → deps_temp_ed5fce0f}/@openai_apps-sdk-ui_components_Checkbox.js +0 -0
  22. package/template/node_modules/.vite-mcp/{deps_temp_e6e57b12 → deps_temp_ed5fce0f}/@openai_apps-sdk-ui_components_Checkbox.js.map +0 -0
  23. package/template/node_modules/.vite-mcp/{deps_temp_e6e57b12 → deps_temp_ed5fce0f}/@openai_apps-sdk-ui_components_Icon.js +0 -0
  24. package/template/node_modules/.vite-mcp/{deps_temp_e6e57b12 → deps_temp_ed5fce0f}/@openai_apps-sdk-ui_components_Icon.js.map +0 -0
  25. package/template/node_modules/.vite-mcp/{deps_temp_e6e57b12 → deps_temp_ed5fce0f}/@openai_apps-sdk-ui_components_Input.js +0 -0
  26. package/template/node_modules/.vite-mcp/{deps_temp_e6e57b12 → deps_temp_ed5fce0f}/@openai_apps-sdk-ui_components_Input.js.map +0 -0
  27. package/template/node_modules/.vite-mcp/{deps_temp_e6e57b12 → deps_temp_ed5fce0f}/@openai_apps-sdk-ui_components_SegmentedControl.js +4 -4
  28. /package/template/node_modules/.vite-mcp/{deps_temp_e6e57b12 → deps_temp_ed5fce0f}/@openai_apps-sdk-ui_components_SegmentedControl.js.map +0 -0
  29. /package/template/node_modules/.vite-mcp/{deps_temp_e6e57b12 → deps_temp_ed5fce0f}/@openai_apps-sdk-ui_components_Select.js.map +0 -0
  30. /package/template/node_modules/.vite-mcp/{deps_temp_e6e57b12 → deps_temp_ed5fce0f}/@openai_apps-sdk-ui_components_Textarea.js +0 -0
  31. /package/template/node_modules/.vite-mcp/{deps_temp_e6e57b12 → deps_temp_ed5fce0f}/@openai_apps-sdk-ui_components_Textarea.js.map +0 -0
  32. /package/template/node_modules/.vite-mcp/{deps_temp_e6e57b12 → deps_temp_ed5fce0f}/@openai_apps-sdk-ui_theme.js +0 -0
  33. /package/template/node_modules/.vite-mcp/{deps_temp_e6e57b12 → deps_temp_ed5fce0f}/@openai_apps-sdk-ui_theme.js.map +0 -0
  34. /package/template/node_modules/.vite-mcp/{deps_temp_e6e57b12/chunk-IFPDCKUT.js.map → deps_temp_ed5fce0f/chunk-24D227QE.js.map} +0 -0
  35. /package/template/node_modules/.vite-mcp/{deps_temp_e6e57b12 → deps_temp_ed5fce0f}/chunk-6CR5OFLH.js +0 -0
  36. /package/template/node_modules/.vite-mcp/{deps_temp_e6e57b12 → deps_temp_ed5fce0f}/chunk-6CR5OFLH.js.map +0 -0
  37. /package/template/node_modules/.vite-mcp/{deps_temp_e6e57b12 → deps_temp_ed5fce0f}/chunk-EGRHWZRV.js +0 -0
  38. /package/template/node_modules/.vite-mcp/{deps_temp_e6e57b12 → deps_temp_ed5fce0f}/chunk-EGRHWZRV.js.map +0 -0
  39. /package/template/node_modules/.vite-mcp/{deps_temp_e6e57b12 → deps_temp_ed5fce0f}/chunk-EXGLAROW.js +0 -0
  40. /package/template/node_modules/.vite-mcp/{deps_temp_e6e57b12 → deps_temp_ed5fce0f}/chunk-EXGLAROW.js.map +0 -0
  41. /package/template/node_modules/.vite-mcp/{deps_temp_e6e57b12 → deps_temp_ed5fce0f}/chunk-ILHRZGIS.js +0 -0
  42. /package/template/node_modules/.vite-mcp/{deps_temp_e6e57b12 → deps_temp_ed5fce0f}/chunk-ILHRZGIS.js.map +0 -0
  43. /package/template/node_modules/.vite-mcp/{deps_temp_e6e57b12 → deps_temp_ed5fce0f}/chunk-JSPMUVNT.js +0 -0
  44. /package/template/node_modules/.vite-mcp/{deps_temp_e6e57b12 → deps_temp_ed5fce0f}/chunk-JSPMUVNT.js.map +0 -0
  45. /package/template/node_modules/.vite-mcp/{deps_temp_e6e57b12 → deps_temp_ed5fce0f}/chunk-L2PWLFDO.js +0 -0
  46. /package/template/node_modules/.vite-mcp/{deps_temp_e6e57b12 → deps_temp_ed5fce0f}/chunk-L2PWLFDO.js.map +0 -0
  47. /package/template/node_modules/.vite-mcp/{deps_temp_e6e57b12 → deps_temp_ed5fce0f}/chunk-OMOWBQDU.js +0 -0
  48. /package/template/node_modules/.vite-mcp/{deps_temp_e6e57b12 → deps_temp_ed5fce0f}/chunk-OMOWBQDU.js.map +0 -0
  49. /package/template/node_modules/.vite-mcp/{deps_temp_e6e57b12 → deps_temp_ed5fce0f}/chunk-R3BTL4CL.js +0 -0
  50. /package/template/node_modules/.vite-mcp/{deps_temp_e6e57b12 → deps_temp_ed5fce0f}/chunk-R3BTL4CL.js.map +0 -0
  51. /package/template/node_modules/.vite-mcp/{deps_temp_e6e57b12 → deps_temp_ed5fce0f}/chunk-SPDZ46BB.js +0 -0
  52. /package/template/node_modules/.vite-mcp/{deps_temp_e6e57b12 → deps_temp_ed5fce0f}/chunk-SPDZ46BB.js.map +0 -0
  53. /package/template/node_modules/.vite-mcp/{deps_temp_e6e57b12 → deps_temp_ed5fce0f}/chunk-WSHFT23M.js +0 -0
  54. /package/template/node_modules/.vite-mcp/{deps_temp_e6e57b12 → deps_temp_ed5fce0f}/chunk-WSHFT23M.js.map +0 -0
  55. /package/template/node_modules/.vite-mcp/{deps_temp_e6e57b12 → deps_temp_ed5fce0f}/chunk-Y7UNCRGH.js +0 -0
  56. /package/template/node_modules/.vite-mcp/{deps_temp_e6e57b12 → deps_temp_ed5fce0f}/chunk-Y7UNCRGH.js.map +0 -0
  57. /package/template/node_modules/.vite-mcp/{deps_temp_e6e57b12 → deps_temp_ed5fce0f}/chunk-ZNFXUT4Q.js +0 -0
  58. /package/template/node_modules/.vite-mcp/{deps_temp_e6e57b12 → deps_temp_ed5fce0f}/chunk-ZNFXUT4Q.js.map +0 -0
  59. /package/template/node_modules/.vite-mcp/{deps_temp_e6e57b12 → deps_temp_ed5fce0f}/clsx.js +0 -0
  60. /package/template/node_modules/.vite-mcp/{deps_temp_e6e57b12 → deps_temp_ed5fce0f}/clsx.js.map +0 -0
  61. /package/template/node_modules/.vite-mcp/{deps_temp_e6e57b12 → deps_temp_ed5fce0f}/embla-carousel-react.js +0 -0
  62. /package/template/node_modules/.vite-mcp/{deps_temp_e6e57b12 → deps_temp_ed5fce0f}/embla-carousel-react.js.map +0 -0
  63. /package/template/node_modules/.vite-mcp/{deps_temp_e6e57b12 → deps_temp_ed5fce0f}/embla-carousel-wheel-gestures.js +0 -0
  64. /package/template/node_modules/.vite-mcp/{deps_temp_e6e57b12 → deps_temp_ed5fce0f}/embla-carousel-wheel-gestures.js.map +0 -0
  65. /package/template/node_modules/.vite-mcp/{deps_temp_e6e57b12 → deps_temp_ed5fce0f}/mapbox-gl.js +0 -0
  66. /package/template/node_modules/.vite-mcp/{deps_temp_e6e57b12 → deps_temp_ed5fce0f}/mapbox-gl.js.map +0 -0
  67. /package/template/node_modules/.vite-mcp/{deps_temp_e6e57b12 → deps_temp_ed5fce0f}/package.json +0 -0
  68. /package/template/node_modules/.vite-mcp/{deps_temp_e6e57b12 → deps_temp_ed5fce0f}/react-dom.js +0 -0
  69. /package/template/node_modules/.vite-mcp/{deps_temp_e6e57b12 → deps_temp_ed5fce0f}/react-dom.js.map +0 -0
  70. /package/template/node_modules/.vite-mcp/{deps_temp_e6e57b12 → deps_temp_ed5fce0f}/react-dom_client.js +0 -0
  71. /package/template/node_modules/.vite-mcp/{deps_temp_e6e57b12 → deps_temp_ed5fce0f}/react-dom_client.js.map +0 -0
  72. /package/template/node_modules/.vite-mcp/{deps_temp_e6e57b12 → deps_temp_ed5fce0f}/react.js +0 -0
  73. /package/template/node_modules/.vite-mcp/{deps_temp_e6e57b12 → deps_temp_ed5fce0f}/react.js.map +0 -0
  74. /package/template/node_modules/.vite-mcp/{deps_temp_e6e57b12 → deps_temp_ed5fce0f}/react_jsx-dev-runtime.js +0 -0
  75. /package/template/node_modules/.vite-mcp/{deps_temp_e6e57b12 → deps_temp_ed5fce0f}/react_jsx-dev-runtime.js.map +0 -0
  76. /package/template/node_modules/.vite-mcp/{deps_temp_e6e57b12 → deps_temp_ed5fce0f}/react_jsx-runtime.js +0 -0
  77. /package/template/node_modules/.vite-mcp/{deps_temp_e6e57b12 → deps_temp_ed5fce0f}/react_jsx-runtime.js.map +0 -0
  78. /package/template/node_modules/.vite-mcp/{deps_temp_e6e57b12 → deps_temp_ed5fce0f}/tailwind-merge.js +0 -0
  79. /package/template/node_modules/.vite-mcp/{deps_temp_e6e57b12 → deps_temp_ed5fce0f}/tailwind-merge.js.map +0 -0
@@ -86,6 +86,9 @@ export async function dev(projectRoot = process.cwd(), args = []) {
86
86
  // Parse --no-begging flag
87
87
  const noBegging = args.includes('--no-begging');
88
88
 
89
+ // Parse --prod-mcp flag (serve production build files over MCP instead of Vite HMR)
90
+ const prodMcp = args.includes('--prod-mcp');
91
+
89
92
  console.log(`Starting Vite dev server on port ${port}...`);
90
93
 
91
94
  // Check if we're in the sunpeak workspace (directory is named "template")
@@ -177,37 +180,41 @@ export async function dev(projectRoot = process.cwd(), args = []) {
177
180
  }
178
181
  }
179
182
 
180
- // Start MCP server with its own Vite instance
183
+ // Start MCP server with its own Vite instance (unless --prod-mcp is set)
181
184
  if (simulations.length > 0) {
182
- console.log(`\nStarting MCP server with ${simulations.length} simulation(s)...`);
183
-
184
- // Virtual entry module plugin for MCP
185
- // For internal dev (template): Import sunpeak styles directly via JS to avoid CSS @import
186
- // alias issues with Lightning CSS, then import app.css for user customizations.
187
- // For external users: Import OpenAI SDK CSS directly (ensures Tailwind processes @theme static),
188
- // then import globals.css for user's Tailwind config and custom styles.
189
- const styleImports = isTemplate
190
- ? `import '${parentSrc}/style.css';\nimport '/src/styles/app.css';`
191
- : `import '@openai/apps-sdk-ui/css';\nimport '/src/styles/globals.css';`;
192
-
193
- const sunpeakEntryPlugin = () => ({
194
- name: 'sunpeak-entry',
195
- resolveId(id) {
196
- if (id.startsWith('virtual:sunpeak-entry')) {
197
- return id;
198
- }
199
- },
200
- load(id) {
201
- if (id.startsWith('virtual:sunpeak-entry')) {
202
- const url = new URL(id.replace('virtual:sunpeak-entry', 'http://x'));
203
- const srcPath = url.searchParams.get('src');
204
- const componentName = url.searchParams.get('component');
205
-
206
- if (!srcPath || !componentName) {
207
- return 'console.error("Missing src or component param");';
185
+ const mcpMode = prodMcp ? 'production build' : 'Vite HMR';
186
+ console.log(`\nStarting MCP server with ${simulations.length} simulation(s) (${mcpMode})...`);
187
+
188
+ let mcpViteServer = null;
189
+
190
+ if (!prodMcp) {
191
+ // Virtual entry module plugin for MCP
192
+ // For internal dev (template): Import sunpeak styles directly via JS to avoid CSS @import
193
+ // alias issues with Lightning CSS, then import app.css for user customizations.
194
+ // For external users: Import OpenAI SDK CSS directly (ensures Tailwind processes @theme static),
195
+ // then import globals.css for user's Tailwind config and custom styles.
196
+ const styleImports = isTemplate
197
+ ? `import '${parentSrc}/style.css';\nimport '/src/styles/app.css';`
198
+ : `import '@openai/apps-sdk-ui/css';\nimport '/src/styles/globals.css';`;
199
+
200
+ const sunpeakEntryPlugin = () => ({
201
+ name: 'sunpeak-entry',
202
+ resolveId(id) {
203
+ if (id.startsWith('virtual:sunpeak-entry')) {
204
+ return id;
208
205
  }
206
+ },
207
+ load(id) {
208
+ if (id.startsWith('virtual:sunpeak-entry')) {
209
+ const url = new URL(id.replace('virtual:sunpeak-entry', 'http://x'));
210
+ const srcPath = url.searchParams.get('src');
211
+ const componentName = url.searchParams.get('component');
212
+
213
+ if (!srcPath || !componentName) {
214
+ return 'console.error("Missing src or component param");';
215
+ }
209
216
 
210
- return `
217
+ return `
211
218
  import { createElement } from 'react';
212
219
  import { createRoot } from 'react-dom/client';
213
220
  ${styleImports}
@@ -220,43 +227,44 @@ if (!Component) {
220
227
  createRoot(document.getElementById('root')).render(createElement(Component));
221
228
  }
222
229
  `;
223
- }
224
- },
225
- });
230
+ }
231
+ },
232
+ });
226
233
 
227
- // Create Vite dev server in middleware mode for MCP
228
- // Use separate cache directory to avoid conflicts with main dev server
229
- const mcpViteServer = await createServer({
230
- root: projectRoot,
231
- cacheDir: 'node_modules/.vite-mcp',
232
- plugins: [react(), tailwindcss(), sunpeakEntryPlugin()],
233
- resolve: {
234
- alias: {
235
- ...(isTemplate && {
236
- sunpeak: parentSrc,
237
- }),
234
+ // Create Vite dev server in middleware mode for MCP
235
+ // Use separate cache directory to avoid conflicts with main dev server
236
+ mcpViteServer = await createServer({
237
+ root: projectRoot,
238
+ cacheDir: 'node_modules/.vite-mcp',
239
+ plugins: [react(), tailwindcss(), sunpeakEntryPlugin()],
240
+ resolve: {
241
+ alias: {
242
+ ...(isTemplate && {
243
+ sunpeak: parentSrc,
244
+ }),
245
+ },
238
246
  },
239
- },
240
- server: {
241
- middlewareMode: true,
242
- allowedHosts: true,
243
- watch: {
244
- // Only watch files that affect the UI bundle (not JSON, tests, etc.)
245
- // MCP resources reload on next tool call, not on file change
246
- ignored: (filePath) => {
247
- if (!filePath.includes('.')) return false; // Watch directories
248
- if (/\.(tsx?|css)$/.test(filePath)) {
249
- return /\.(test|spec)\.tsx?$/.test(filePath); // Ignore tests
250
- }
251
- return true; // Ignore everything else
247
+ server: {
248
+ middlewareMode: true,
249
+ allowedHosts: true,
250
+ watch: {
251
+ // Only watch files that affect the UI bundle (not JSON, tests, etc.)
252
+ // MCP resources reload on next tool call, not on file change
253
+ ignored: (filePath) => {
254
+ if (!filePath.includes('.')) return false; // Watch directories
255
+ if (/\.(tsx?|css)$/.test(filePath)) {
256
+ return /\.(test|spec)\.tsx?$/.test(filePath); // Ignore tests
257
+ }
258
+ return true; // Ignore everything else
259
+ },
252
260
  },
253
261
  },
254
- },
255
- optimizeDeps: {
256
- include: ['react', 'react-dom/client'],
257
- },
258
- appType: 'custom',
259
- });
262
+ optimizeDeps: {
263
+ include: ['react', 'react-dom/client'],
264
+ },
265
+ appType: 'custom',
266
+ });
267
+ }
260
268
 
261
269
  const pkg = JSON.parse(readFileSync(pkgJsonPath, 'utf-8'));
262
270
  runMCPServer({
@@ -264,18 +272,18 @@ if (!Component) {
264
272
  version: pkg.version || '0.1.0',
265
273
  simulations,
266
274
  port: 6766,
267
- viteServer: mcpViteServer,
275
+ ...(mcpViteServer && { viteServer: mcpViteServer }),
268
276
  });
269
277
 
270
278
  // Handle signals - close both servers
271
279
  process.on('SIGINT', async () => {
272
- await mcpViteServer.close();
280
+ if (mcpViteServer) await mcpViteServer.close();
273
281
  await server.close();
274
282
  process.exit(0);
275
283
  });
276
284
 
277
285
  process.on('SIGTERM', async () => {
278
- await mcpViteServer.close();
286
+ if (mcpViteServer) await mcpViteServer.close();
279
287
  await server.close();
280
288
  process.exit(0);
281
289
  });
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "sunpeak",
3
- "version": "0.12.11",
3
+ "version": "0.12.12",
4
4
  "description": "The ChatGPT App framework. Quickstart, build, & test your ChatGPT App locally!",
5
5
  "type": "module",
6
6
  "main": "./dist/index.cjs",
@@ -12,5 +12,5 @@
12
12
  ]
13
13
  }
14
14
  },
15
- "uri": "ui://albums-mko50k13"
15
+ "uri": "ui://albums-mkpwujia"
16
16
  }
@@ -12,5 +12,5 @@
12
12
  ]
13
13
  }
14
14
  },
15
- "uri": "ui://carousel-mko50k13"
15
+ "uri": "ui://carousel-mkpwujia"
16
16
  }
@@ -18,5 +18,5 @@
18
18
  ]
19
19
  }
20
20
  },
21
- "uri": "ui://map-mko50k13"
21
+ "uri": "ui://map-mkpwujia"
22
22
  }
@@ -12,5 +12,5 @@
12
12
  ]
13
13
  }
14
14
  },
15
- "uri": "ui://review-mko50k13"
15
+ "uri": "ui://review-mkpwujia"
16
16
  }
@@ -2,13 +2,13 @@ import {
2
2
  Button,
3
3
  ButtonLink,
4
4
  CopyButton
5
- } from "./chunk-OBBBT4IN.js";
5
+ } from "./chunk-24D227QE.js";
6
6
  import "./chunk-EXGLAROW.js";
7
- import "./chunk-ZNFXUT4Q.js";
8
- import "./chunk-OMOWBQDU.js";
9
7
  import "./chunk-SPDZ46BB.js";
8
+ import "./chunk-OMOWBQDU.js";
10
9
  import "./chunk-EGRHWZRV.js";
11
10
  import "./chunk-WSHFT23M.js";
11
+ import "./chunk-ZNFXUT4Q.js";
12
12
  import "./chunk-Y7UNCRGH.js";
13
13
  import "./chunk-6CR5OFLH.js";
14
14
  import "./chunk-ILHRZGIS.js";
@@ -5,11 +5,11 @@ import {
5
5
  handlePressableMouseEnter,
6
6
  waitForAnimationFrame
7
7
  } from "./chunk-OMOWBQDU.js";
8
+ import "./chunk-EGRHWZRV.js";
8
9
  import {
9
10
  dist_exports4 as dist_exports
10
11
  } from "./chunk-L2PWLFDO.js";
11
12
  import "./chunk-JSPMUVNT.js";
12
- import "./chunk-EGRHWZRV.js";
13
13
  import {
14
14
  clsx_default
15
15
  } from "./chunk-WSHFT23M.js";
@@ -1,41 +1,41 @@
1
+ import {
2
+ Input
3
+ } from "./chunk-R3BTL4CL.js";
1
4
  import {
2
5
  Button,
3
6
  LoadingIndicator,
4
7
  TransitionGroup
5
- } from "./chunk-OBBBT4IN.js";
8
+ } from "./chunk-24D227QE.js";
6
9
  import {
7
10
  useTimeout
8
11
  } from "./chunk-EXGLAROW.js";
9
12
  import {
10
- Check_default,
11
- ChevronDownVector_default,
12
- DropdownVector_default,
13
- Info_default,
14
- Search_default,
15
- X_default
16
- } from "./chunk-ZNFXUT4Q.js";
13
+ o
14
+ } from "./chunk-SPDZ46BB.js";
17
15
  import {
18
16
  handlePressableMouseEnter,
19
17
  preventDefaultHandler,
20
18
  toCssVariables,
21
19
  waitForAnimationFrame
22
20
  } from "./chunk-OMOWBQDU.js";
21
+ import "./chunk-EGRHWZRV.js";
23
22
  import {
24
23
  dist_exports,
25
24
  dist_exports3 as dist_exports2,
26
25
  dist_exports5 as dist_exports3
27
26
  } from "./chunk-L2PWLFDO.js";
28
27
  import "./chunk-JSPMUVNT.js";
29
- import {
30
- Input
31
- } from "./chunk-R3BTL4CL.js";
32
- import {
33
- o
34
- } from "./chunk-SPDZ46BB.js";
35
- import "./chunk-EGRHWZRV.js";
36
28
  import {
37
29
  clsx_default
38
30
  } from "./chunk-WSHFT23M.js";
31
+ import {
32
+ Check_default,
33
+ ChevronDownVector_default,
34
+ DropdownVector_default,
35
+ Info_default,
36
+ Search_default,
37
+ X_default
38
+ } from "./chunk-ZNFXUT4Q.js";
39
39
  import {
40
40
  require_jsx_runtime
41
41
  } from "./chunk-Y7UNCRGH.js";
@@ -1,9 +1,9 @@
1
- import {
2
- toCssVariables
3
- } from "./chunk-OMOWBQDU.js";
4
1
  import {
5
2
  o
6
3
  } from "./chunk-SPDZ46BB.js";
4
+ import {
5
+ toCssVariables
6
+ } from "./chunk-OMOWBQDU.js";
7
7
  import "./chunk-EGRHWZRV.js";
8
8
  import {
9
9
  clsx_default
@@ -7,149 +7,149 @@
7
7
  "react": {
8
8
  "src": "../../../../../../node_modules/.pnpm/react@19.2.3/node_modules/react/index.js",
9
9
  "file": "react.js",
10
- "fileHash": "629c41fc",
10
+ "fileHash": "c6fd219f",
11
11
  "needsInterop": true
12
12
  },
13
13
  "react-dom": {
14
14
  "src": "../../../../../../node_modules/.pnpm/react-dom@19.2.3_react@19.2.3/node_modules/react-dom/index.js",
15
15
  "file": "react-dom.js",
16
- "fileHash": "abb9f37f",
16
+ "fileHash": "dec1054e",
17
17
  "needsInterop": true
18
18
  },
19
19
  "react/jsx-dev-runtime": {
20
20
  "src": "../../../../../../node_modules/.pnpm/react@19.2.3/node_modules/react/jsx-dev-runtime.js",
21
21
  "file": "react_jsx-dev-runtime.js",
22
- "fileHash": "05449757",
22
+ "fileHash": "8f27232a",
23
23
  "needsInterop": true
24
24
  },
25
25
  "react/jsx-runtime": {
26
26
  "src": "../../../../../../node_modules/.pnpm/react@19.2.3/node_modules/react/jsx-runtime.js",
27
27
  "file": "react_jsx-runtime.js",
28
- "fileHash": "cbd5f982",
28
+ "fileHash": "46530c75",
29
29
  "needsInterop": true
30
30
  },
31
31
  "@openai/apps-sdk-ui/components/Avatar": {
32
32
  "src": "../../../../../../node_modules/.pnpm/@openai+apps-sdk-ui@0.2.1_@types+react-dom@19.2.3_@types+react@19.2.8__@types+react@19._10810175a7ab45acace17e46639bb69b/node_modules/@openai/apps-sdk-ui/dist/es/components/Avatar/index.js",
33
33
  "file": "@openai_apps-sdk-ui_components_Avatar.js",
34
- "fileHash": "c36372b2",
34
+ "fileHash": "0942257c",
35
35
  "needsInterop": false
36
36
  },
37
37
  "@openai/apps-sdk-ui/components/Button": {
38
38
  "src": "../../../../../../node_modules/.pnpm/@openai+apps-sdk-ui@0.2.1_@types+react-dom@19.2.3_@types+react@19.2.8__@types+react@19._10810175a7ab45acace17e46639bb69b/node_modules/@openai/apps-sdk-ui/dist/es/components/Button/index.js",
39
39
  "file": "@openai_apps-sdk-ui_components_Button.js",
40
- "fileHash": "ae624730",
40
+ "fileHash": "009a464a",
41
41
  "needsInterop": false
42
42
  },
43
43
  "@openai/apps-sdk-ui/components/Checkbox": {
44
44
  "src": "../../../../../../node_modules/.pnpm/@openai+apps-sdk-ui@0.2.1_@types+react-dom@19.2.3_@types+react@19.2.8__@types+react@19._10810175a7ab45acace17e46639bb69b/node_modules/@openai/apps-sdk-ui/dist/es/components/Checkbox/index.js",
45
45
  "file": "@openai_apps-sdk-ui_components_Checkbox.js",
46
- "fileHash": "5fbfa8f1",
46
+ "fileHash": "e1440349",
47
47
  "needsInterop": false
48
48
  },
49
49
  "@openai/apps-sdk-ui/components/Icon": {
50
50
  "src": "../../../../../../node_modules/.pnpm/@openai+apps-sdk-ui@0.2.1_@types+react-dom@19.2.3_@types+react@19.2.8__@types+react@19._10810175a7ab45acace17e46639bb69b/node_modules/@openai/apps-sdk-ui/dist/es/components/Icon/index.js",
51
51
  "file": "@openai_apps-sdk-ui_components_Icon.js",
52
- "fileHash": "bdc36e34",
52
+ "fileHash": "2b92d872",
53
53
  "needsInterop": false
54
54
  },
55
55
  "@openai/apps-sdk-ui/components/Input": {
56
56
  "src": "../../../../../../node_modules/.pnpm/@openai+apps-sdk-ui@0.2.1_@types+react-dom@19.2.3_@types+react@19.2.8__@types+react@19._10810175a7ab45acace17e46639bb69b/node_modules/@openai/apps-sdk-ui/dist/es/components/Input/index.js",
57
57
  "file": "@openai_apps-sdk-ui_components_Input.js",
58
- "fileHash": "aaf5ae7a",
58
+ "fileHash": "d2d49d4b",
59
59
  "needsInterop": false
60
60
  },
61
61
  "@openai/apps-sdk-ui/components/SegmentedControl": {
62
62
  "src": "../../../../../../node_modules/.pnpm/@openai+apps-sdk-ui@0.2.1_@types+react-dom@19.2.3_@types+react@19.2.8__@types+react@19._10810175a7ab45acace17e46639bb69b/node_modules/@openai/apps-sdk-ui/dist/es/components/SegmentedControl/index.js",
63
63
  "file": "@openai_apps-sdk-ui_components_SegmentedControl.js",
64
- "fileHash": "a7a818bb",
64
+ "fileHash": "949654d1",
65
65
  "needsInterop": false
66
66
  },
67
67
  "@openai/apps-sdk-ui/components/Select": {
68
68
  "src": "../../../../../../node_modules/.pnpm/@openai+apps-sdk-ui@0.2.1_@types+react-dom@19.2.3_@types+react@19.2.8__@types+react@19._10810175a7ab45acace17e46639bb69b/node_modules/@openai/apps-sdk-ui/dist/es/components/Select/index.js",
69
69
  "file": "@openai_apps-sdk-ui_components_Select.js",
70
- "fileHash": "bd3b38ea",
70
+ "fileHash": "1731fa3f",
71
71
  "needsInterop": false
72
72
  },
73
73
  "@openai/apps-sdk-ui/components/Textarea": {
74
74
  "src": "../../../../../../node_modules/.pnpm/@openai+apps-sdk-ui@0.2.1_@types+react-dom@19.2.3_@types+react@19.2.8__@types+react@19._10810175a7ab45acace17e46639bb69b/node_modules/@openai/apps-sdk-ui/dist/es/components/Textarea/index.js",
75
75
  "file": "@openai_apps-sdk-ui_components_Textarea.js",
76
- "fileHash": "a47608b2",
76
+ "fileHash": "4ccaab3c",
77
77
  "needsInterop": false
78
78
  },
79
79
  "@openai/apps-sdk-ui/theme": {
80
80
  "src": "../../../../../../node_modules/.pnpm/@openai+apps-sdk-ui@0.2.1_@types+react-dom@19.2.3_@types+react@19.2.8__@types+react@19._10810175a7ab45acace17e46639bb69b/node_modules/@openai/apps-sdk-ui/dist/es/lib/theme.js",
81
81
  "file": "@openai_apps-sdk-ui_theme.js",
82
- "fileHash": "5ca1faa0",
82
+ "fileHash": "31dd5f41",
83
83
  "needsInterop": false
84
84
  },
85
85
  "clsx": {
86
86
  "src": "../../../../../../node_modules/.pnpm/clsx@2.1.1/node_modules/clsx/dist/clsx.mjs",
87
87
  "file": "clsx.js",
88
- "fileHash": "199ee8ce",
88
+ "fileHash": "c77b32d2",
89
89
  "needsInterop": false
90
90
  },
91
91
  "embla-carousel-react": {
92
92
  "src": "../../../../../../node_modules/.pnpm/embla-carousel-react@8.6.0_react@19.2.3/node_modules/embla-carousel-react/esm/embla-carousel-react.esm.js",
93
93
  "file": "embla-carousel-react.js",
94
- "fileHash": "669202e6",
94
+ "fileHash": "b9f860a6",
95
95
  "needsInterop": false
96
96
  },
97
97
  "embla-carousel-wheel-gestures": {
98
98
  "src": "../../../../../../node_modules/.pnpm/embla-carousel-wheel-gestures@8.1.0_embla-carousel@8.6.0/node_modules/embla-carousel-wheel-gestures/dist/embla-carousel-wheel-gestures.esm.js",
99
99
  "file": "embla-carousel-wheel-gestures.js",
100
- "fileHash": "7813bd51",
100
+ "fileHash": "1aea54bf",
101
101
  "needsInterop": false
102
102
  },
103
103
  "mapbox-gl": {
104
104
  "src": "../../../../../../node_modules/.pnpm/mapbox-gl@3.17.0/node_modules/mapbox-gl/dist/mapbox-gl.js",
105
105
  "file": "mapbox-gl.js",
106
- "fileHash": "36081ddd",
106
+ "fileHash": "09d9e458",
107
107
  "needsInterop": true
108
108
  },
109
109
  "react-dom/client": {
110
110
  "src": "../../../../../../node_modules/.pnpm/react-dom@19.2.3_react@19.2.3/node_modules/react-dom/client.js",
111
111
  "file": "react-dom_client.js",
112
- "fileHash": "f1745f48",
112
+ "fileHash": "98459218",
113
113
  "needsInterop": true
114
114
  },
115
115
  "tailwind-merge": {
116
116
  "src": "../../../../../../node_modules/.pnpm/tailwind-merge@3.4.0/node_modules/tailwind-merge/dist/bundle-mjs.mjs",
117
117
  "file": "tailwind-merge.js",
118
- "fileHash": "e2b1b86b",
118
+ "fileHash": "f872c2d1",
119
119
  "needsInterop": false
120
120
  }
121
121
  },
122
122
  "chunks": {
123
- "chunk-OBBBT4IN": {
124
- "file": "chunk-OBBBT4IN.js"
123
+ "chunk-R3BTL4CL": {
124
+ "file": "chunk-R3BTL4CL.js"
125
+ },
126
+ "chunk-24D227QE": {
127
+ "file": "chunk-24D227QE.js"
125
128
  },
126
129
  "chunk-EXGLAROW": {
127
130
  "file": "chunk-EXGLAROW.js"
128
131
  },
129
- "chunk-ZNFXUT4Q": {
130
- "file": "chunk-ZNFXUT4Q.js"
132
+ "chunk-SPDZ46BB": {
133
+ "file": "chunk-SPDZ46BB.js"
131
134
  },
132
135
  "chunk-OMOWBQDU": {
133
136
  "file": "chunk-OMOWBQDU.js"
134
137
  },
138
+ "chunk-EGRHWZRV": {
139
+ "file": "chunk-EGRHWZRV.js"
140
+ },
135
141
  "chunk-L2PWLFDO": {
136
142
  "file": "chunk-L2PWLFDO.js"
137
143
  },
138
144
  "chunk-JSPMUVNT": {
139
145
  "file": "chunk-JSPMUVNT.js"
140
146
  },
141
- "chunk-R3BTL4CL": {
142
- "file": "chunk-R3BTL4CL.js"
143
- },
144
- "chunk-SPDZ46BB": {
145
- "file": "chunk-SPDZ46BB.js"
146
- },
147
- "chunk-EGRHWZRV": {
148
- "file": "chunk-EGRHWZRV.js"
149
- },
150
147
  "chunk-WSHFT23M": {
151
148
  "file": "chunk-WSHFT23M.js"
152
149
  },
150
+ "chunk-ZNFXUT4Q": {
151
+ "file": "chunk-ZNFXUT4Q.js"
152
+ },
153
153
  "chunk-Y7UNCRGH": {
154
154
  "file": "chunk-Y7UNCRGH.js"
155
155
  },
@@ -1,7 +1,3 @@
1
- import {
2
- Check_default,
3
- Copy_default
4
- } from "./chunk-ZNFXUT4Q.js";
5
1
  import {
6
2
  useTimeout
7
3
  } from "./chunk-EXGLAROW.js";
@@ -22,6 +18,10 @@ import {
22
18
  import {
23
19
  clsx_default
24
20
  } from "./chunk-WSHFT23M.js";
21
+ import {
22
+ Check_default,
23
+ Copy_default
24
+ } from "./chunk-ZNFXUT4Q.js";
25
25
  import {
26
26
  require_jsx_runtime
27
27
  } from "./chunk-Y7UNCRGH.js";
@@ -625,4 +625,4 @@ export {
625
625
  ButtonLink,
626
626
  CopyButton
627
627
  };
628
- //# sourceMappingURL=chunk-IFPDCKUT.js.map
628
+ //# sourceMappingURL=chunk-24D227QE.js.map
@@ -1 +1 @@
1
- {"version":"4.0.17","results":[[":src/resources/carousel/carousel-resource.test.tsx",{"duration":266.726488,"failed":false}],[":src/resources/review/review-resource.test.tsx",{"duration":487.17742699999985,"failed":false}],[":src/resources/albums/components/albums.test.tsx",{"duration":306.3141599999999,"failed":false}],[":src/resources/map/components/map-view.test.tsx",{"duration":103.33578599999987,"failed":false}],[":src/resources/map/components/place-inspector.test.tsx",{"duration":392.3076980000001,"failed":false}],[":src/resources/albums/components/fullscreen-viewer.test.tsx",{"duration":271.73823100000027,"failed":false}],[":src/resources/map/components/place-list.test.tsx",{"duration":163.52411200000006,"failed":false}],[":src/resources/map/components/place-card.test.tsx",{"duration":308.0361889999999,"failed":false}],[":src/resources/map/components/place-carousel.test.tsx",{"duration":384.4120569999998,"failed":false}],[":src/resources/albums/components/album-carousel.test.tsx",{"duration":87.76491399999986,"failed":false}],[":src/resources/carousel/components/carousel.test.tsx",{"duration":71.014813,"failed":false}],[":src/resources/map/map-resource.test.tsx",{"duration":281.7631550000001,"failed":false}],[":src/resources/albums/albums-resource.test.tsx",{"duration":244.24904700000002,"failed":false}],[":src/resources/albums/components/film-strip.test.tsx",{"duration":383.1823750000001,"failed":false}],[":src/resources/albums/components/album-card.test.tsx",{"duration":293.7807170000003,"failed":false}],[":src/resources/carousel/components/card.test.tsx",{"duration":85.11133100000006,"failed":false}]]}
1
+ {"version":"4.0.17","results":[[":src/resources/albums/components/albums.test.tsx",{"duration":295.423669,"failed":false}],[":src/resources/carousel/carousel-resource.test.tsx",{"duration":290.7618030000001,"failed":false}],[":src/resources/review/review-resource.test.tsx",{"duration":519.2370700000001,"failed":false}],[":src/resources/map/components/map-view.test.tsx",{"duration":86.074523,"failed":false}],[":src/resources/map/components/place-inspector.test.tsx",{"duration":392.8848829999997,"failed":false}],[":src/resources/albums/components/fullscreen-viewer.test.tsx",{"duration":258.2971010000001,"failed":false}],[":src/resources/map/components/place-list.test.tsx",{"duration":168.3002120000001,"failed":false}],[":src/resources/map/components/place-card.test.tsx",{"duration":315.314216,"failed":false}],[":src/resources/map/components/place-carousel.test.tsx",{"duration":414.6321270000001,"failed":false}],[":src/resources/albums/components/album-carousel.test.tsx",{"duration":79.72683899999993,"failed":false}],[":src/resources/carousel/components/carousel.test.tsx",{"duration":89.35028800000009,"failed":false}],[":src/resources/map/map-resource.test.tsx",{"duration":279.4671189999999,"failed":false}],[":src/resources/albums/albums-resource.test.tsx",{"duration":284.00268000000005,"failed":false}],[":src/resources/albums/components/film-strip.test.tsx",{"duration":373.6241500000001,"failed":false}],[":src/resources/albums/components/album-card.test.tsx",{"duration":289.40934400000015,"failed":false}],[":src/resources/carousel/components/card.test.tsx",{"duration":68.34203400000001,"failed":false}]]}
@@ -2,13 +2,13 @@ import {
2
2
  Button,
3
3
  ButtonLink,
4
4
  CopyButton
5
- } from "./chunk-IFPDCKUT.js";
6
- import "./chunk-ZNFXUT4Q.js";
5
+ } from "./chunk-24D227QE.js";
7
6
  import "./chunk-EXGLAROW.js";
8
7
  import "./chunk-SPDZ46BB.js";
9
8
  import "./chunk-OMOWBQDU.js";
10
9
  import "./chunk-EGRHWZRV.js";
11
10
  import "./chunk-WSHFT23M.js";
11
+ import "./chunk-ZNFXUT4Q.js";
12
12
  import "./chunk-Y7UNCRGH.js";
13
13
  import "./chunk-6CR5OFLH.js";
14
14
  import "./chunk-ILHRZGIS.js";
@@ -1,19 +1,17 @@
1
1
  import {
2
2
  Input
3
3
  } from "./chunk-R3BTL4CL.js";
4
+ import {
5
+ dist_exports,
6
+ dist_exports3 as dist_exports2,
7
+ dist_exports5 as dist_exports3
8
+ } from "./chunk-L2PWLFDO.js";
9
+ import "./chunk-JSPMUVNT.js";
4
10
  import {
5
11
  Button,
6
12
  LoadingIndicator,
7
13
  TransitionGroup
8
- } from "./chunk-IFPDCKUT.js";
9
- import {
10
- Check_default,
11
- ChevronDownVector_default,
12
- DropdownVector_default,
13
- Info_default,
14
- Search_default,
15
- X_default
16
- } from "./chunk-ZNFXUT4Q.js";
14
+ } from "./chunk-24D227QE.js";
17
15
  import {
18
16
  useTimeout
19
17
  } from "./chunk-EXGLAROW.js";
@@ -27,15 +25,17 @@ import {
27
25
  waitForAnimationFrame
28
26
  } from "./chunk-OMOWBQDU.js";
29
27
  import "./chunk-EGRHWZRV.js";
30
- import {
31
- dist_exports,
32
- dist_exports3 as dist_exports2,
33
- dist_exports5 as dist_exports3
34
- } from "./chunk-L2PWLFDO.js";
35
- import "./chunk-JSPMUVNT.js";
36
28
  import {
37
29
  clsx_default
38
30
  } from "./chunk-WSHFT23M.js";
31
+ import {
32
+ Check_default,
33
+ ChevronDownVector_default,
34
+ DropdownVector_default,
35
+ Info_default,
36
+ Search_default,
37
+ X_default
38
+ } from "./chunk-ZNFXUT4Q.js";
39
39
  import {
40
40
  require_jsx_runtime
41
41
  } from "./chunk-Y7UNCRGH.js";
@@ -2,9 +2,8 @@ import {
2
2
  useTimeout
3
3
  } from "./chunk-EXGLAROW.js";
4
4
  import {
5
- Check_default,
6
- Copy_default
7
- } from "./chunk-ZNFXUT4Q.js";
5
+ o
6
+ } from "./chunk-SPDZ46BB.js";
8
7
  import {
9
8
  handlePressableMouseEnter,
10
9
  isDev,
@@ -16,12 +15,13 @@ import {
16
15
  toTransformProperty,
17
16
  waitForAnimationFrame
18
17
  } from "./chunk-OMOWBQDU.js";
19
- import {
20
- o
21
- } from "./chunk-SPDZ46BB.js";
22
18
  import {
23
19
  clsx_default
24
20
  } from "./chunk-WSHFT23M.js";
21
+ import {
22
+ Check_default,
23
+ Copy_default
24
+ } from "./chunk-ZNFXUT4Q.js";
25
25
  import {
26
26
  require_jsx_runtime
27
27
  } from "./chunk-Y7UNCRGH.js";
@@ -625,4 +625,4 @@ export {
625
625
  ButtonLink,
626
626
  CopyButton
627
627
  };
628
- //# sourceMappingURL=chunk-OBBBT4IN.js.map
628
+ //# sourceMappingURL=chunk-24D227QE.js.map
@@ -1,3 +1,7 @@
1
+ import {
2
+ dist_exports4 as dist_exports
3
+ } from "./chunk-L2PWLFDO.js";
4
+ import "./chunk-JSPMUVNT.js";
1
5
  import {
2
6
  useResizeObserver
3
7
  } from "./chunk-EXGLAROW.js";
@@ -6,10 +10,6 @@ import {
6
10
  waitForAnimationFrame
7
11
  } from "./chunk-OMOWBQDU.js";
8
12
  import "./chunk-EGRHWZRV.js";
9
- import {
10
- dist_exports4 as dist_exports
11
- } from "./chunk-L2PWLFDO.js";
12
- import "./chunk-JSPMUVNT.js";
13
13
  import {
14
14
  clsx_default
15
15
  } from "./chunk-WSHFT23M.js";