sunpeak 0.12.12 → 0.12.14

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 (76) hide show
  1. package/bin/commands/dev.mjs +12 -12
  2. package/dist/chatgpt/globals.css +0 -3
  3. package/package.json +2 -2
  4. package/template/dist/albums/albums.json +1 -1
  5. package/template/dist/carousel/carousel.json +1 -1
  6. package/template/dist/map/map.json +1 -1
  7. package/template/dist/review/review.json +1 -1
  8. package/template/node_modules/.vite/deps/_metadata.json +19 -19
  9. package/template/node_modules/.vite/vitest/da39a3ee5e6b4b0d3255bfef95601890afd80709/results.json +1 -1
  10. package/template/node_modules/.vite-mcp/{deps_temp_ed5fce0f → deps_temp_f4f48826}/@openai_apps-sdk-ui_components_Button.js +2 -2
  11. package/template/node_modules/.vite-mcp/{deps_temp_ed5fce0f → deps_temp_f4f48826}/@openai_apps-sdk-ui_components_Select.js +15 -15
  12. package/template/node_modules/.vite-mcp/{deps_temp_ed5fce0f/chunk-24D227QE.js → deps_temp_f4f48826/chunk-IFPDCKUT.js} +5 -5
  13. package/template/src/styles/globals.css +9 -3
  14. package/template/src/styles/app.css +0 -12
  15. package/template/node_modules/.vite-mcp/{deps_temp_ed5fce0f → deps_temp_f4f48826}/@openai_apps-sdk-ui_components_Avatar.js +0 -0
  16. package/template/node_modules/.vite-mcp/{deps_temp_ed5fce0f → deps_temp_f4f48826}/@openai_apps-sdk-ui_components_Avatar.js.map +0 -0
  17. package/template/node_modules/.vite-mcp/{deps_temp_ed5fce0f → deps_temp_f4f48826}/@openai_apps-sdk-ui_components_Button.js.map +0 -0
  18. package/template/node_modules/.vite-mcp/{deps_temp_ed5fce0f → deps_temp_f4f48826}/@openai_apps-sdk-ui_components_Checkbox.js +0 -0
  19. package/template/node_modules/.vite-mcp/{deps_temp_ed5fce0f → deps_temp_f4f48826}/@openai_apps-sdk-ui_components_Checkbox.js.map +0 -0
  20. package/template/node_modules/.vite-mcp/{deps_temp_ed5fce0f → deps_temp_f4f48826}/@openai_apps-sdk-ui_components_Icon.js +0 -0
  21. package/template/node_modules/.vite-mcp/{deps_temp_ed5fce0f → deps_temp_f4f48826}/@openai_apps-sdk-ui_components_Icon.js.map +0 -0
  22. package/template/node_modules/.vite-mcp/{deps_temp_ed5fce0f → deps_temp_f4f48826}/@openai_apps-sdk-ui_components_Input.js +0 -0
  23. package/template/node_modules/.vite-mcp/{deps_temp_ed5fce0f → deps_temp_f4f48826}/@openai_apps-sdk-ui_components_Input.js.map +0 -0
  24. package/template/node_modules/.vite-mcp/{deps_temp_ed5fce0f → deps_temp_f4f48826}/@openai_apps-sdk-ui_components_SegmentedControl.js +4 -4
  25. /package/template/node_modules/.vite-mcp/{deps_temp_ed5fce0f → deps_temp_f4f48826}/@openai_apps-sdk-ui_components_SegmentedControl.js.map +0 -0
  26. /package/template/node_modules/.vite-mcp/{deps_temp_ed5fce0f → deps_temp_f4f48826}/@openai_apps-sdk-ui_components_Select.js.map +0 -0
  27. /package/template/node_modules/.vite-mcp/{deps_temp_ed5fce0f → deps_temp_f4f48826}/@openai_apps-sdk-ui_components_Textarea.js +0 -0
  28. /package/template/node_modules/.vite-mcp/{deps_temp_ed5fce0f → deps_temp_f4f48826}/@openai_apps-sdk-ui_components_Textarea.js.map +0 -0
  29. /package/template/node_modules/.vite-mcp/{deps_temp_ed5fce0f → deps_temp_f4f48826}/@openai_apps-sdk-ui_theme.js +0 -0
  30. /package/template/node_modules/.vite-mcp/{deps_temp_ed5fce0f → deps_temp_f4f48826}/@openai_apps-sdk-ui_theme.js.map +0 -0
  31. /package/template/node_modules/.vite-mcp/{deps_temp_ed5fce0f → deps_temp_f4f48826}/chunk-6CR5OFLH.js +0 -0
  32. /package/template/node_modules/.vite-mcp/{deps_temp_ed5fce0f → deps_temp_f4f48826}/chunk-6CR5OFLH.js.map +0 -0
  33. /package/template/node_modules/.vite-mcp/{deps_temp_ed5fce0f → deps_temp_f4f48826}/chunk-EGRHWZRV.js +0 -0
  34. /package/template/node_modules/.vite-mcp/{deps_temp_ed5fce0f → deps_temp_f4f48826}/chunk-EGRHWZRV.js.map +0 -0
  35. /package/template/node_modules/.vite-mcp/{deps_temp_ed5fce0f → deps_temp_f4f48826}/chunk-EXGLAROW.js +0 -0
  36. /package/template/node_modules/.vite-mcp/{deps_temp_ed5fce0f → deps_temp_f4f48826}/chunk-EXGLAROW.js.map +0 -0
  37. /package/template/node_modules/.vite-mcp/{deps_temp_ed5fce0f/chunk-24D227QE.js.map → deps_temp_f4f48826/chunk-IFPDCKUT.js.map} +0 -0
  38. /package/template/node_modules/.vite-mcp/{deps_temp_ed5fce0f → deps_temp_f4f48826}/chunk-ILHRZGIS.js +0 -0
  39. /package/template/node_modules/.vite-mcp/{deps_temp_ed5fce0f → deps_temp_f4f48826}/chunk-ILHRZGIS.js.map +0 -0
  40. /package/template/node_modules/.vite-mcp/{deps_temp_ed5fce0f → deps_temp_f4f48826}/chunk-JSPMUVNT.js +0 -0
  41. /package/template/node_modules/.vite-mcp/{deps_temp_ed5fce0f → deps_temp_f4f48826}/chunk-JSPMUVNT.js.map +0 -0
  42. /package/template/node_modules/.vite-mcp/{deps_temp_ed5fce0f → deps_temp_f4f48826}/chunk-L2PWLFDO.js +0 -0
  43. /package/template/node_modules/.vite-mcp/{deps_temp_ed5fce0f → deps_temp_f4f48826}/chunk-L2PWLFDO.js.map +0 -0
  44. /package/template/node_modules/.vite-mcp/{deps_temp_ed5fce0f → deps_temp_f4f48826}/chunk-OMOWBQDU.js +0 -0
  45. /package/template/node_modules/.vite-mcp/{deps_temp_ed5fce0f → deps_temp_f4f48826}/chunk-OMOWBQDU.js.map +0 -0
  46. /package/template/node_modules/.vite-mcp/{deps_temp_ed5fce0f → deps_temp_f4f48826}/chunk-R3BTL4CL.js +0 -0
  47. /package/template/node_modules/.vite-mcp/{deps_temp_ed5fce0f → deps_temp_f4f48826}/chunk-R3BTL4CL.js.map +0 -0
  48. /package/template/node_modules/.vite-mcp/{deps_temp_ed5fce0f → deps_temp_f4f48826}/chunk-SPDZ46BB.js +0 -0
  49. /package/template/node_modules/.vite-mcp/{deps_temp_ed5fce0f → deps_temp_f4f48826}/chunk-SPDZ46BB.js.map +0 -0
  50. /package/template/node_modules/.vite-mcp/{deps_temp_ed5fce0f → deps_temp_f4f48826}/chunk-WSHFT23M.js +0 -0
  51. /package/template/node_modules/.vite-mcp/{deps_temp_ed5fce0f → deps_temp_f4f48826}/chunk-WSHFT23M.js.map +0 -0
  52. /package/template/node_modules/.vite-mcp/{deps_temp_ed5fce0f → deps_temp_f4f48826}/chunk-Y7UNCRGH.js +0 -0
  53. /package/template/node_modules/.vite-mcp/{deps_temp_ed5fce0f → deps_temp_f4f48826}/chunk-Y7UNCRGH.js.map +0 -0
  54. /package/template/node_modules/.vite-mcp/{deps_temp_ed5fce0f → deps_temp_f4f48826}/chunk-ZNFXUT4Q.js +0 -0
  55. /package/template/node_modules/.vite-mcp/{deps_temp_ed5fce0f → deps_temp_f4f48826}/chunk-ZNFXUT4Q.js.map +0 -0
  56. /package/template/node_modules/.vite-mcp/{deps_temp_ed5fce0f → deps_temp_f4f48826}/clsx.js +0 -0
  57. /package/template/node_modules/.vite-mcp/{deps_temp_ed5fce0f → deps_temp_f4f48826}/clsx.js.map +0 -0
  58. /package/template/node_modules/.vite-mcp/{deps_temp_ed5fce0f → deps_temp_f4f48826}/embla-carousel-react.js +0 -0
  59. /package/template/node_modules/.vite-mcp/{deps_temp_ed5fce0f → deps_temp_f4f48826}/embla-carousel-react.js.map +0 -0
  60. /package/template/node_modules/.vite-mcp/{deps_temp_ed5fce0f → deps_temp_f4f48826}/embla-carousel-wheel-gestures.js +0 -0
  61. /package/template/node_modules/.vite-mcp/{deps_temp_ed5fce0f → deps_temp_f4f48826}/embla-carousel-wheel-gestures.js.map +0 -0
  62. /package/template/node_modules/.vite-mcp/{deps_temp_ed5fce0f → deps_temp_f4f48826}/mapbox-gl.js +0 -0
  63. /package/template/node_modules/.vite-mcp/{deps_temp_ed5fce0f → deps_temp_f4f48826}/mapbox-gl.js.map +0 -0
  64. /package/template/node_modules/.vite-mcp/{deps_temp_ed5fce0f → deps_temp_f4f48826}/package.json +0 -0
  65. /package/template/node_modules/.vite-mcp/{deps_temp_ed5fce0f → deps_temp_f4f48826}/react-dom.js +0 -0
  66. /package/template/node_modules/.vite-mcp/{deps_temp_ed5fce0f → deps_temp_f4f48826}/react-dom.js.map +0 -0
  67. /package/template/node_modules/.vite-mcp/{deps_temp_ed5fce0f → deps_temp_f4f48826}/react-dom_client.js +0 -0
  68. /package/template/node_modules/.vite-mcp/{deps_temp_ed5fce0f → deps_temp_f4f48826}/react-dom_client.js.map +0 -0
  69. /package/template/node_modules/.vite-mcp/{deps_temp_ed5fce0f → deps_temp_f4f48826}/react.js +0 -0
  70. /package/template/node_modules/.vite-mcp/{deps_temp_ed5fce0f → deps_temp_f4f48826}/react.js.map +0 -0
  71. /package/template/node_modules/.vite-mcp/{deps_temp_ed5fce0f → deps_temp_f4f48826}/react_jsx-dev-runtime.js +0 -0
  72. /package/template/node_modules/.vite-mcp/{deps_temp_ed5fce0f → deps_temp_f4f48826}/react_jsx-dev-runtime.js.map +0 -0
  73. /package/template/node_modules/.vite-mcp/{deps_temp_ed5fce0f → deps_temp_f4f48826}/react_jsx-runtime.js +0 -0
  74. /package/template/node_modules/.vite-mcp/{deps_temp_ed5fce0f → deps_temp_f4f48826}/react_jsx-runtime.js.map +0 -0
  75. /package/template/node_modules/.vite-mcp/{deps_temp_ed5fce0f → deps_temp_f4f48826}/tailwind-merge.js +0 -0
  76. /package/template/node_modules/.vite-mcp/{deps_temp_ed5fce0f → deps_temp_f4f48826}/tailwind-merge.js.map +0 -0
@@ -98,9 +98,17 @@ export async function dev(projectRoot = process.cwd(), args = []) {
98
98
  // Import sunpeak modules (MCP server and discovery utilities)
99
99
  let sunpeakMcp, sunpeak;
100
100
  if (isTemplate) {
101
- // In workspace dev mode, import from local dist folder
102
- sunpeakMcp = await import(pathToFileURL(resolve(projectRoot, '../dist/mcp/index.js')).href);
103
- sunpeak = await import(pathToFileURL(resolve(projectRoot, '../dist/index.js')).href);
101
+ // In workspace dev mode, use Vite to load TypeScript source directly
102
+ // Import from specific modules to avoid pulling in React components
103
+ const loaderServer = await createServer({
104
+ root: resolve(projectRoot, '..'),
105
+ server: { middlewareMode: true },
106
+ appType: 'custom',
107
+ logLevel: 'silent',
108
+ });
109
+ sunpeakMcp = await loaderServer.ssrLoadModule('./src/mcp/index.ts');
110
+ sunpeak = await loaderServer.ssrLoadModule('./src/lib/index.ts');
111
+ await loaderServer.close();
104
112
  } else {
105
113
  // Import from installed sunpeak package
106
114
  const sunpeakBase = require.resolve('sunpeak').replace(/dist\/index\.(c)?js$/, '');
@@ -189,14 +197,6 @@ export async function dev(projectRoot = process.cwd(), args = []) {
189
197
 
190
198
  if (!prodMcp) {
191
199
  // 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
200
  const sunpeakEntryPlugin = () => ({
201
201
  name: 'sunpeak-entry',
202
202
  resolveId(id) {
@@ -217,7 +217,7 @@ export async function dev(projectRoot = process.cwd(), args = []) {
217
217
  return `
218
218
  import { createElement } from 'react';
219
219
  import { createRoot } from 'react-dom/client';
220
- ${styleImports}
220
+ import '/src/styles/globals.css';
221
221
  import * as ResourceModule from '${srcPath}';
222
222
 
223
223
  const Component = ResourceModule.default || ResourceModule['${componentName}'];
@@ -4,9 +4,6 @@
4
4
  /* Scan simulator source files for Tailwind classes */
5
5
  @source "./**/*.{ts,tsx}";
6
6
 
7
- /* Required for Tailwind to find class references in Apps SDK UI components. */
8
- @source "../node_modules/@openai/apps-sdk-ui";
9
-
10
7
  /* Configure dark mode to use data-theme attribute (OpenAI SDK standard) */
11
8
  @custom-variant dark (&:where([data-theme="dark"], [data-theme="dark"] *));
12
9
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "sunpeak",
3
- "version": "0.12.12",
3
+ "version": "0.12.14",
4
4
  "description": "The ChatGPT App framework. Quickstart, build, & test your ChatGPT App locally!",
5
5
  "type": "module",
6
6
  "main": "./dist/index.cjs",
@@ -110,7 +110,7 @@
110
110
  "homepage": "https://sunpeak.ai/",
111
111
  "scripts": {
112
112
  "build": "vite build",
113
- "dev": "pnpm --filter my-sunpeak-app dev",
113
+ "dev": "pnpm -C template dev",
114
114
  "format": "prettier --write --list-different \"**/*.{ts,tsx,js,jsx,json,md}\"",
115
115
  "lint": "eslint . --ext .ts,.tsx --fix",
116
116
  "typecheck": "tsc --noEmit",
@@ -12,5 +12,5 @@
12
12
  ]
13
13
  }
14
14
  },
15
- "uri": "ui://albums-mkpwujia"
15
+ "uri": "ui://albums-mkq2ag7l"
16
16
  }
@@ -12,5 +12,5 @@
12
12
  ]
13
13
  }
14
14
  },
15
- "uri": "ui://carousel-mkpwujia"
15
+ "uri": "ui://carousel-mkq2ag7l"
16
16
  }
@@ -18,5 +18,5 @@
18
18
  ]
19
19
  }
20
20
  },
21
- "uri": "ui://map-mkpwujia"
21
+ "uri": "ui://map-mkq2ag7l"
22
22
  }
@@ -12,5 +12,5 @@
12
12
  ]
13
13
  }
14
14
  },
15
- "uri": "ui://review-mkpwujia"
15
+ "uri": "ui://review-mkq2ag7l"
16
16
  }
@@ -7,115 +7,115 @@
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": "c6fd219f",
10
+ "fileHash": "facc7903",
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": "dec1054e",
16
+ "fileHash": "841f417e",
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": "8f27232a",
22
+ "fileHash": "44b262af",
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": "46530c75",
28
+ "fileHash": "f7769ced",
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": "0942257c",
34
+ "fileHash": "263c9a42",
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": "009a464a",
40
+ "fileHash": "0d457d3b",
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": "e1440349",
46
+ "fileHash": "5ba895ea",
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": "2b92d872",
52
+ "fileHash": "0803922e",
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": "d2d49d4b",
58
+ "fileHash": "ef04262d",
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": "949654d1",
64
+ "fileHash": "1213ba52",
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": "1731fa3f",
70
+ "fileHash": "03446e4b",
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": "4ccaab3c",
76
+ "fileHash": "42d221f8",
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": "31dd5f41",
82
+ "fileHash": "852c81fe",
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": "c77b32d2",
88
+ "fileHash": "67029af0",
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": "b9f860a6",
94
+ "fileHash": "82bf6e8d",
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": "1aea54bf",
100
+ "fileHash": "8affe2a3",
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": "09d9e458",
106
+ "fileHash": "ed749476",
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": "98459218",
112
+ "fileHash": "77686724",
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": "f872c2d1",
118
+ "fileHash": "5bb21a84",
119
119
  "needsInterop": false
120
120
  }
121
121
  },
@@ -1 +1 @@
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}]]}
1
+ {"version":"4.0.17","results":[[":src/resources/albums/components/albums.test.tsx",{"duration":282.58957899999996,"failed":false}],[":src/resources/review/review-resource.test.tsx",{"duration":511.08176800000024,"failed":false}],[":src/resources/carousel/carousel-resource.test.tsx",{"duration":269.01163599999995,"failed":false}],[":src/resources/map/components/map-view.test.tsx",{"duration":66.55626900000016,"failed":false}],[":src/resources/map/components/place-inspector.test.tsx",{"duration":429.2572359999999,"failed":false}],[":src/resources/albums/components/fullscreen-viewer.test.tsx",{"duration":252.02407799999992,"failed":false}],[":src/resources/map/components/place-list.test.tsx",{"duration":130.8322159999998,"failed":false}],[":src/resources/map/components/place-card.test.tsx",{"duration":318.12354300000015,"failed":false}],[":src/resources/map/components/place-carousel.test.tsx",{"duration":399.29690200000005,"failed":false}],[":src/resources/albums/components/album-carousel.test.tsx",{"duration":84.66767200000004,"failed":false}],[":src/resources/carousel/components/carousel.test.tsx",{"duration":92.64764500000001,"failed":false}],[":src/resources/map/map-resource.test.tsx",{"duration":298.5781800000002,"failed":false}],[":src/resources/albums/albums-resource.test.tsx",{"duration":239.366215,"failed":false}],[":src/resources/albums/components/film-strip.test.tsx",{"duration":328.40491299999985,"failed":false}],[":src/resources/albums/components/album-card.test.tsx",{"duration":304.01273900000024,"failed":false}],[":src/resources/carousel/components/card.test.tsx",{"duration":86.74167299999999,"failed":false}]]}
@@ -2,13 +2,13 @@ import {
2
2
  Button,
3
3
  ButtonLink,
4
4
  CopyButton
5
- } from "./chunk-24D227QE.js";
5
+ } from "./chunk-IFPDCKUT.js";
6
+ import "./chunk-ZNFXUT4Q.js";
6
7
  import "./chunk-EXGLAROW.js";
7
8
  import "./chunk-SPDZ46BB.js";
8
9
  import "./chunk-OMOWBQDU.js";
9
10
  import "./chunk-EGRHWZRV.js";
10
11
  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,17 +1,19 @@
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";
10
4
  import {
11
5
  Button,
12
6
  LoadingIndicator,
13
7
  TransitionGroup
14
- } from "./chunk-24D227QE.js";
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";
15
17
  import {
16
18
  useTimeout
17
19
  } from "./chunk-EXGLAROW.js";
@@ -25,17 +27,15 @@ import {
25
27
  waitForAnimationFrame
26
28
  } from "./chunk-OMOWBQDU.js";
27
29
  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";
28
36
  import {
29
37
  clsx_default
30
38
  } 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,3 +1,7 @@
1
+ import {
2
+ Check_default,
3
+ Copy_default
4
+ } from "./chunk-ZNFXUT4Q.js";
1
5
  import {
2
6
  useTimeout
3
7
  } from "./chunk-EXGLAROW.js";
@@ -18,10 +22,6 @@ import {
18
22
  import {
19
23
  clsx_default
20
24
  } 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-24D227QE.js.map
628
+ //# sourceMappingURL=chunk-IFPDCKUT.js.map
@@ -1,5 +1,11 @@
1
1
  /* Base styles: Tailwind CSS + OpenAI Apps SDK UI */
2
- @import "sunpeak/style.css";
2
+ @import "sunpeak/chatgpt/globals.css";
3
3
 
4
- /* App-specific configuration and custom styles */
5
- @import "./app.css";
4
+ /* Scan app-specific source files for Tailwind classes */
5
+ @source "../**/*.{ts,tsx}";
6
+
7
+ /* Required for Tailwind to find class references in sunpeak simulator and SDK UI components. */
8
+ @source "../../node_modules/sunpeak";
9
+ @source "../../node_modules/@openai/apps-sdk-ui";
10
+
11
+ /* Add your custom styles below */
@@ -1,12 +0,0 @@
1
- /* User-specific Tailwind configuration and custom styles */
2
-
3
- /* Scan app-specific source files for Tailwind classes */
4
- @source "../**/*.{ts,tsx}";
5
-
6
- /* Required for Tailwind to find class references in Apps SDK UI components. */
7
- @source "../../node_modules/@openai/apps-sdk-ui";
8
-
9
- /* Configure dark mode to use data-theme attribute (OpenAI SDK standard) */
10
- @custom-variant dark (&:where([data-theme="dark"], [data-theme="dark"] *));
11
-
12
- /* Add your custom styles below */
@@ -1,7 +1,3 @@
1
- import {
2
- dist_exports4 as dist_exports
3
- } from "./chunk-L2PWLFDO.js";
4
- import "./chunk-JSPMUVNT.js";
5
1
  import {
6
2
  useResizeObserver
7
3
  } from "./chunk-EXGLAROW.js";
@@ -10,6 +6,10 @@ import {
10
6
  waitForAnimationFrame
11
7
  } from "./chunk-OMOWBQDU.js";
12
8
  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";