sunpeak 0.12.5 → 0.12.6

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 (75) hide show
  1. package/bin/commands/dev.mjs +6 -1
  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/_metadata.json +19 -19
  8. package/template/node_modules/.vite/vitest/da39a3ee5e6b4b0d3255bfef95601890afd80709/results.json +1 -1
  9. package/template/src/styles/app.css +12 -0
  10. package/template/src/styles/globals.css +3 -9
  11. /package/template/node_modules/.vite-mcp/{deps_temp_f547ad4e → deps_temp_48e8c71a}/@openai_apps-sdk-ui_components_Avatar.js +0 -0
  12. /package/template/node_modules/.vite-mcp/{deps_temp_f547ad4e → deps_temp_48e8c71a}/@openai_apps-sdk-ui_components_Avatar.js.map +0 -0
  13. /package/template/node_modules/.vite-mcp/{deps_temp_f547ad4e → deps_temp_48e8c71a}/@openai_apps-sdk-ui_components_Button.js +0 -0
  14. /package/template/node_modules/.vite-mcp/{deps_temp_f547ad4e → deps_temp_48e8c71a}/@openai_apps-sdk-ui_components_Button.js.map +0 -0
  15. /package/template/node_modules/.vite-mcp/{deps_temp_f547ad4e → deps_temp_48e8c71a}/@openai_apps-sdk-ui_components_Checkbox.js +0 -0
  16. /package/template/node_modules/.vite-mcp/{deps_temp_f547ad4e → deps_temp_48e8c71a}/@openai_apps-sdk-ui_components_Checkbox.js.map +0 -0
  17. /package/template/node_modules/.vite-mcp/{deps_temp_f547ad4e → deps_temp_48e8c71a}/@openai_apps-sdk-ui_components_Icon.js +0 -0
  18. /package/template/node_modules/.vite-mcp/{deps_temp_f547ad4e → deps_temp_48e8c71a}/@openai_apps-sdk-ui_components_Icon.js.map +0 -0
  19. /package/template/node_modules/.vite-mcp/{deps_temp_f547ad4e → deps_temp_48e8c71a}/@openai_apps-sdk-ui_components_Input.js +0 -0
  20. /package/template/node_modules/.vite-mcp/{deps_temp_f547ad4e → deps_temp_48e8c71a}/@openai_apps-sdk-ui_components_Input.js.map +0 -0
  21. /package/template/node_modules/.vite-mcp/{deps_temp_f547ad4e → deps_temp_48e8c71a}/@openai_apps-sdk-ui_components_SegmentedControl.js +0 -0
  22. /package/template/node_modules/.vite-mcp/{deps_temp_f547ad4e → deps_temp_48e8c71a}/@openai_apps-sdk-ui_components_SegmentedControl.js.map +0 -0
  23. /package/template/node_modules/.vite-mcp/{deps_temp_f547ad4e → deps_temp_48e8c71a}/@openai_apps-sdk-ui_components_Select.js +0 -0
  24. /package/template/node_modules/.vite-mcp/{deps_temp_f547ad4e → deps_temp_48e8c71a}/@openai_apps-sdk-ui_components_Select.js.map +0 -0
  25. /package/template/node_modules/.vite-mcp/{deps_temp_f547ad4e → deps_temp_48e8c71a}/@openai_apps-sdk-ui_components_Textarea.js +0 -0
  26. /package/template/node_modules/.vite-mcp/{deps_temp_f547ad4e → deps_temp_48e8c71a}/@openai_apps-sdk-ui_components_Textarea.js.map +0 -0
  27. /package/template/node_modules/.vite-mcp/{deps_temp_f547ad4e → deps_temp_48e8c71a}/@openai_apps-sdk-ui_theme.js +0 -0
  28. /package/template/node_modules/.vite-mcp/{deps_temp_f547ad4e → deps_temp_48e8c71a}/@openai_apps-sdk-ui_theme.js.map +0 -0
  29. /package/template/node_modules/.vite-mcp/{deps_temp_f547ad4e → deps_temp_48e8c71a}/chunk-6CR5OFLH.js +0 -0
  30. /package/template/node_modules/.vite-mcp/{deps_temp_f547ad4e → deps_temp_48e8c71a}/chunk-6CR5OFLH.js.map +0 -0
  31. /package/template/node_modules/.vite-mcp/{deps_temp_f547ad4e → deps_temp_48e8c71a}/chunk-EGRHWZRV.js +0 -0
  32. /package/template/node_modules/.vite-mcp/{deps_temp_f547ad4e → deps_temp_48e8c71a}/chunk-EGRHWZRV.js.map +0 -0
  33. /package/template/node_modules/.vite-mcp/{deps_temp_f547ad4e → deps_temp_48e8c71a}/chunk-EXGLAROW.js +0 -0
  34. /package/template/node_modules/.vite-mcp/{deps_temp_f547ad4e → deps_temp_48e8c71a}/chunk-EXGLAROW.js.map +0 -0
  35. /package/template/node_modules/.vite-mcp/{deps_temp_f547ad4e → deps_temp_48e8c71a}/chunk-IFPDCKUT.js +0 -0
  36. /package/template/node_modules/.vite-mcp/{deps_temp_f547ad4e → deps_temp_48e8c71a}/chunk-IFPDCKUT.js.map +0 -0
  37. /package/template/node_modules/.vite-mcp/{deps_temp_f547ad4e → deps_temp_48e8c71a}/chunk-ILHRZGIS.js +0 -0
  38. /package/template/node_modules/.vite-mcp/{deps_temp_f547ad4e → deps_temp_48e8c71a}/chunk-ILHRZGIS.js.map +0 -0
  39. /package/template/node_modules/.vite-mcp/{deps_temp_f547ad4e → deps_temp_48e8c71a}/chunk-JSPMUVNT.js +0 -0
  40. /package/template/node_modules/.vite-mcp/{deps_temp_f547ad4e → deps_temp_48e8c71a}/chunk-JSPMUVNT.js.map +0 -0
  41. /package/template/node_modules/.vite-mcp/{deps_temp_f547ad4e → deps_temp_48e8c71a}/chunk-L2PWLFDO.js +0 -0
  42. /package/template/node_modules/.vite-mcp/{deps_temp_f547ad4e → deps_temp_48e8c71a}/chunk-L2PWLFDO.js.map +0 -0
  43. /package/template/node_modules/.vite-mcp/{deps_temp_f547ad4e → deps_temp_48e8c71a}/chunk-OMOWBQDU.js +0 -0
  44. /package/template/node_modules/.vite-mcp/{deps_temp_f547ad4e → deps_temp_48e8c71a}/chunk-OMOWBQDU.js.map +0 -0
  45. /package/template/node_modules/.vite-mcp/{deps_temp_f547ad4e → deps_temp_48e8c71a}/chunk-R3BTL4CL.js +0 -0
  46. /package/template/node_modules/.vite-mcp/{deps_temp_f547ad4e → deps_temp_48e8c71a}/chunk-R3BTL4CL.js.map +0 -0
  47. /package/template/node_modules/.vite-mcp/{deps_temp_f547ad4e → deps_temp_48e8c71a}/chunk-SPDZ46BB.js +0 -0
  48. /package/template/node_modules/.vite-mcp/{deps_temp_f547ad4e → deps_temp_48e8c71a}/chunk-SPDZ46BB.js.map +0 -0
  49. /package/template/node_modules/.vite-mcp/{deps_temp_f547ad4e → deps_temp_48e8c71a}/chunk-WSHFT23M.js +0 -0
  50. /package/template/node_modules/.vite-mcp/{deps_temp_f547ad4e → deps_temp_48e8c71a}/chunk-WSHFT23M.js.map +0 -0
  51. /package/template/node_modules/.vite-mcp/{deps_temp_f547ad4e → deps_temp_48e8c71a}/chunk-Y7UNCRGH.js +0 -0
  52. /package/template/node_modules/.vite-mcp/{deps_temp_f547ad4e → deps_temp_48e8c71a}/chunk-Y7UNCRGH.js.map +0 -0
  53. /package/template/node_modules/.vite-mcp/{deps_temp_f547ad4e → deps_temp_48e8c71a}/chunk-ZNFXUT4Q.js +0 -0
  54. /package/template/node_modules/.vite-mcp/{deps_temp_f547ad4e → deps_temp_48e8c71a}/chunk-ZNFXUT4Q.js.map +0 -0
  55. /package/template/node_modules/.vite-mcp/{deps_temp_f547ad4e → deps_temp_48e8c71a}/clsx.js +0 -0
  56. /package/template/node_modules/.vite-mcp/{deps_temp_f547ad4e → deps_temp_48e8c71a}/clsx.js.map +0 -0
  57. /package/template/node_modules/.vite-mcp/{deps_temp_f547ad4e → deps_temp_48e8c71a}/embla-carousel-react.js +0 -0
  58. /package/template/node_modules/.vite-mcp/{deps_temp_f547ad4e → deps_temp_48e8c71a}/embla-carousel-react.js.map +0 -0
  59. /package/template/node_modules/.vite-mcp/{deps_temp_f547ad4e → deps_temp_48e8c71a}/embla-carousel-wheel-gestures.js +0 -0
  60. /package/template/node_modules/.vite-mcp/{deps_temp_f547ad4e → deps_temp_48e8c71a}/embla-carousel-wheel-gestures.js.map +0 -0
  61. /package/template/node_modules/.vite-mcp/{deps_temp_f547ad4e → deps_temp_48e8c71a}/mapbox-gl.js +0 -0
  62. /package/template/node_modules/.vite-mcp/{deps_temp_f547ad4e → deps_temp_48e8c71a}/mapbox-gl.js.map +0 -0
  63. /package/template/node_modules/.vite-mcp/{deps_temp_f547ad4e → deps_temp_48e8c71a}/package.json +0 -0
  64. /package/template/node_modules/.vite-mcp/{deps_temp_f547ad4e → deps_temp_48e8c71a}/react-dom.js +0 -0
  65. /package/template/node_modules/.vite-mcp/{deps_temp_f547ad4e → deps_temp_48e8c71a}/react-dom.js.map +0 -0
  66. /package/template/node_modules/.vite-mcp/{deps_temp_f547ad4e → deps_temp_48e8c71a}/react-dom_client.js +0 -0
  67. /package/template/node_modules/.vite-mcp/{deps_temp_f547ad4e → deps_temp_48e8c71a}/react-dom_client.js.map +0 -0
  68. /package/template/node_modules/.vite-mcp/{deps_temp_f547ad4e → deps_temp_48e8c71a}/react.js +0 -0
  69. /package/template/node_modules/.vite-mcp/{deps_temp_f547ad4e → deps_temp_48e8c71a}/react.js.map +0 -0
  70. /package/template/node_modules/.vite-mcp/{deps_temp_f547ad4e → deps_temp_48e8c71a}/react_jsx-dev-runtime.js +0 -0
  71. /package/template/node_modules/.vite-mcp/{deps_temp_f547ad4e → deps_temp_48e8c71a}/react_jsx-dev-runtime.js.map +0 -0
  72. /package/template/node_modules/.vite-mcp/{deps_temp_f547ad4e → deps_temp_48e8c71a}/react_jsx-runtime.js +0 -0
  73. /package/template/node_modules/.vite-mcp/{deps_temp_f547ad4e → deps_temp_48e8c71a}/react_jsx-runtime.js.map +0 -0
  74. /package/template/node_modules/.vite-mcp/{deps_temp_f547ad4e → deps_temp_48e8c71a}/tailwind-merge.js +0 -0
  75. /package/template/node_modules/.vite-mcp/{deps_temp_f547ad4e → deps_temp_48e8c71a}/tailwind-merge.js.map +0 -0
@@ -182,6 +182,10 @@ export async function dev(projectRoot = process.cwd(), args = []) {
182
182
  console.log(`\nStarting MCP server with ${simulations.length} simulation(s)...`);
183
183
 
184
184
  // Virtual entry module plugin for MCP
185
+ // Import sunpeak styles directly via JS to avoid CSS @import alias issues with Lightning CSS.
186
+ // Then import app.css for user's @source directives and custom styles (no sunpeak import).
187
+ const sunpeakStylePath = isTemplate ? `${parentSrc}/style.css` : 'sunpeak/style.css';
188
+
185
189
  const sunpeakEntryPlugin = () => ({
186
190
  name: 'sunpeak-entry',
187
191
  resolveId(id) {
@@ -202,7 +206,8 @@ export async function dev(projectRoot = process.cwd(), args = []) {
202
206
  return `
203
207
  import { createElement } from 'react';
204
208
  import { createRoot } from 'react-dom/client';
205
- import '/src/styles/globals.css';
209
+ import '${sunpeakStylePath}';
210
+ import '/src/styles/app.css';
206
211
  import * as ResourceModule from '${srcPath}';
207
212
 
208
213
  const Component = ResourceModule.default || ResourceModule['${componentName}'];
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "sunpeak",
3
- "version": "0.12.5",
3
+ "version": "0.12.6",
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-mkls9m5s"
15
+ "uri": "ui://albums-mklu15cn"
16
16
  }
@@ -12,5 +12,5 @@
12
12
  ]
13
13
  }
14
14
  },
15
- "uri": "ui://carousel-mkls9m5s"
15
+ "uri": "ui://carousel-mklu15cn"
16
16
  }
@@ -18,5 +18,5 @@
18
18
  ]
19
19
  }
20
20
  },
21
- "uri": "ui://map-mkls9m5s"
21
+ "uri": "ui://map-mklu15cn"
22
22
  }
@@ -12,5 +12,5 @@
12
12
  ]
13
13
  }
14
14
  },
15
- "uri": "ui://review-mkls9m5s"
15
+ "uri": "ui://review-mklu15cn"
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": "7454f8b5",
10
+ "fileHash": "2d3e614d",
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": "38ae4acc",
16
+ "fileHash": "64a9bce9",
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": "ec491f2c",
22
+ "fileHash": "1585c8e1",
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": "7e737008",
28
+ "fileHash": "0cac3bfe",
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": "351c9543",
34
+ "fileHash": "ee988656",
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": "cfdc91cd",
40
+ "fileHash": "3f81f32d",
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": "414831a8",
46
+ "fileHash": "d9f17f66",
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": "70c13d50",
52
+ "fileHash": "a9e12398",
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": "a7e29248",
58
+ "fileHash": "01701689",
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": "27b4c4f7",
64
+ "fileHash": "530135b9",
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": "f62d959e",
70
+ "fileHash": "087afc9b",
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": "3f32510a",
76
+ "fileHash": "8b1a7246",
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": "53da4341",
82
+ "fileHash": "a74f1a27",
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": "4a3d3258",
88
+ "fileHash": "5fbcfbd6",
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": "994a2681",
94
+ "fileHash": "e3d405a1",
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": "2980a2c0",
100
+ "fileHash": "8fa2e39c",
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": "01365499",
106
+ "fileHash": "9fe61aee",
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": "d42241f8",
112
+ "fileHash": "9b3062b5",
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": "75d8d307",
118
+ "fileHash": "36a64166",
119
119
  "needsInterop": false
120
120
  }
121
121
  },
@@ -1 +1 @@
1
- {"version":"4.0.17","results":[[":src/resources/albums/components/albums.test.tsx",{"duration":280.2579269999999,"failed":false}],[":src/resources/review/review-resource.test.tsx",{"duration":555.1973849999999,"failed":false}],[":src/resources/carousel/carousel-resource.test.tsx",{"duration":246.35541899999998,"failed":false}],[":src/resources/map/components/map-view.test.tsx",{"duration":87.52636399999983,"failed":false}],[":src/resources/map/components/place-inspector.test.tsx",{"duration":405.08604900000046,"failed":false}],[":src/resources/albums/components/fullscreen-viewer.test.tsx",{"duration":274.5886740000001,"failed":false}],[":src/resources/map/components/place-list.test.tsx",{"duration":165.77518899999995,"failed":false}],[":src/resources/map/components/place-card.test.tsx",{"duration":324.0438609999999,"failed":false}],[":src/resources/map/components/place-carousel.test.tsx",{"duration":410.7097430000001,"failed":false}],[":src/resources/albums/components/album-carousel.test.tsx",{"duration":89.19724999999971,"failed":false}],[":src/resources/carousel/components/carousel.test.tsx",{"duration":86.8330289999999,"failed":false}],[":src/resources/map/map-resource.test.tsx",{"duration":295.75197500000013,"failed":false}],[":src/resources/albums/albums-resource.test.tsx",{"duration":267.73186899999996,"failed":false}],[":src/resources/albums/components/film-strip.test.tsx",{"duration":354.9482449999998,"failed":false}],[":src/resources/albums/components/album-card.test.tsx",{"duration":334.6352619999998,"failed":false}],[":src/resources/carousel/components/card.test.tsx",{"duration":65.94643700000006,"failed":false}]]}
1
+ {"version":"4.0.17","results":[[":src/resources/albums/components/albums.test.tsx",{"duration":293.1135629999999,"failed":false}],[":src/resources/carousel/carousel-resource.test.tsx",{"duration":245.7196939999999,"failed":false}],[":src/resources/review/review-resource.test.tsx",{"duration":503.8595849999999,"failed":false}],[":src/resources/map/components/map-view.test.tsx",{"duration":73.40496200000007,"failed":false}],[":src/resources/map/components/place-inspector.test.tsx",{"duration":427.93922999999995,"failed":false}],[":src/resources/albums/components/fullscreen-viewer.test.tsx",{"duration":257.09176100000013,"failed":false}],[":src/resources/map/components/place-list.test.tsx",{"duration":128.982528,"failed":false}],[":src/resources/map/components/place-card.test.tsx",{"duration":310.63125100000025,"failed":false}],[":src/resources/map/components/place-carousel.test.tsx",{"duration":435.226844,"failed":false}],[":src/resources/albums/components/album-carousel.test.tsx",{"duration":89.13493199999994,"failed":false}],[":src/resources/carousel/components/carousel.test.tsx",{"duration":73.44270699999993,"failed":false}],[":src/resources/map/map-resource.test.tsx",{"duration":243.26033099999995,"failed":false}],[":src/resources/albums/albums-resource.test.tsx",{"duration":269.594881,"failed":false}],[":src/resources/albums/components/film-strip.test.tsx",{"duration":377.1749520000003,"failed":false}],[":src/resources/albums/components/album-card.test.tsx",{"duration":278.11962800000015,"failed":false}],[":src/resources/carousel/components/card.test.tsx",{"duration":63.54608200000007,"failed":false}]]}
@@ -0,0 +1,12 @@
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,11 +1,5 @@
1
- /* sunpeak/style.css handles tailwindcss and @openai/apps-sdk-ui/css imports */
1
+ /* Base styles: Tailwind CSS + OpenAI Apps SDK UI */
2
2
  @import "sunpeak/style.css";
3
3
 
4
- /* Scan app-specific source files for Tailwind classes */
5
- @source "../**/*.{ts,tsx}";
6
-
7
- /* Required for Tailwind to find class references in Apps SDK UI components. */
8
- @source "../../node_modules/@openai/apps-sdk-ui";
9
-
10
- /* Configure dark mode to use data-theme attribute (OpenAI SDK standard) */
11
- @custom-variant dark (&:where([data-theme="dark"], [data-theme="dark"] *));
4
+ /* App-specific configuration and custom styles */
5
+ @import "./app.css";