sunpeak 0.8.5 → 0.8.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.
- package/bin/sunpeak.js +6 -6
- package/package.json +1 -1
- package/template/dist/albums.json +1 -1
- package/template/dist/carousel.json +1 -1
- package/template/dist/counter.json +1 -1
- package/template/dist/map.json +1 -1
- package/template/dist/{confirmation.js → review.js} +2 -2
- package/template/dist/{confirmation.json → review.json} +4 -4
- package/template/node_modules/.vite/deps/@openai_apps-sdk-ui_components_Button.js +3 -3
- package/template/node_modules/.vite/deps/@openai_apps-sdk-ui_components_SegmentedControl.js +4 -4
- package/template/node_modules/.vite/deps/@openai_apps-sdk-ui_components_Select.js +20 -20
- package/template/node_modules/.vite/deps/@openai_apps-sdk-ui_components_Textarea.js +3 -3
- package/template/node_modules/.vite/deps/_metadata.json +35 -35
- package/template/node_modules/.vite/deps/{chunk-N6DVYEXK.js → chunk-SPYXUHEY.js} +8 -8
- package/template/node_modules/.vite/vitest/da39a3ee5e6b4b0d3255bfef95601890afd80709/results.json +1 -1
- package/template/src/resources/{confirmation-resource.json → review-resource.json} +3 -3
- package/template/src/resources/{confirmation-resource.tsx → review-resource.tsx} +20 -20
- package/template/src/simulations/{confirmation-diff-simulation.json → review-diff-simulation.json} +4 -4
- package/template/src/simulations/{confirmation-post-simulation.json → review-post-simulation.json} +4 -4
- package/template/src/simulations/{confirmation-purchase-simulation.json → review-purchase-simulation.json} +4 -4
- /package/template/node_modules/.vite/deps/{chunk-N6DVYEXK.js.map → chunk-SPYXUHEY.js.map} +0 -0
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
|
-
"name": "
|
|
3
|
-
"title": "
|
|
4
|
-
"description": "Visualize and
|
|
2
|
+
"name": "review",
|
|
3
|
+
"title": "Review",
|
|
4
|
+
"description": "Visualize and review a proposed set of changes or actions",
|
|
5
5
|
"mimeType": "text/html+skybridge",
|
|
6
6
|
"_meta": {
|
|
7
7
|
"openai/widgetDomain": "https://sunpeak.ai",
|
|
@@ -12,5 +12,5 @@
|
|
|
12
12
|
]
|
|
13
13
|
}
|
|
14
14
|
},
|
|
15
|
-
"uri": "ui://
|
|
15
|
+
"uri": "ui://review-mjt2f5f3"
|
|
16
16
|
}
|
|
@@ -2,13 +2,13 @@ import {
|
|
|
2
2
|
Button,
|
|
3
3
|
ButtonLink,
|
|
4
4
|
CopyButton
|
|
5
|
-
} from "./chunk-
|
|
5
|
+
} from "./chunk-SPYXUHEY.js";
|
|
6
|
+
import "./chunk-UM3ZGDFR.js";
|
|
6
7
|
import "./chunk-JAGHY6H6.js";
|
|
7
|
-
import "./chunk-QPJAV452.js";
|
|
8
8
|
import "./chunk-DYQDWJMS.js";
|
|
9
|
+
import "./chunk-QPJAV452.js";
|
|
9
10
|
import "./chunk-EGRHWZRV.js";
|
|
10
11
|
import "./chunk-CNYJBM5F.js";
|
|
11
|
-
import "./chunk-UM3ZGDFR.js";
|
|
12
12
|
import "./chunk-JGVISENQ.js";
|
|
13
13
|
import "./chunk-BUOVMFCD.js";
|
|
14
14
|
import "./chunk-ILHRZGIS.js";
|
|
@@ -1,3 +1,7 @@
|
|
|
1
|
+
import {
|
|
2
|
+
dist_exports4 as dist_exports
|
|
3
|
+
} from "./chunk-TSEQUROC.js";
|
|
4
|
+
import "./chunk-XZTIOEPG.js";
|
|
1
5
|
import {
|
|
2
6
|
useResizeObserver
|
|
3
7
|
} from "./chunk-JAGHY6H6.js";
|
|
@@ -6,10 +10,6 @@ import {
|
|
|
6
10
|
waitForAnimationFrame
|
|
7
11
|
} from "./chunk-DYQDWJMS.js";
|
|
8
12
|
import "./chunk-EGRHWZRV.js";
|
|
9
|
-
import {
|
|
10
|
-
dist_exports4 as dist_exports
|
|
11
|
-
} from "./chunk-TSEQUROC.js";
|
|
12
|
-
import "./chunk-XZTIOEPG.js";
|
|
13
13
|
import {
|
|
14
14
|
clsx_default
|
|
15
15
|
} from "./chunk-CNYJBM5F.js";
|
|
@@ -1,41 +1,41 @@
|
|
|
1
1
|
import {
|
|
2
|
-
|
|
3
|
-
|
|
2
|
+
dist_exports,
|
|
3
|
+
dist_exports3 as dist_exports2,
|
|
4
|
+
dist_exports5 as dist_exports3
|
|
5
|
+
} from "./chunk-TSEQUROC.js";
|
|
6
|
+
import "./chunk-XZTIOEPG.js";
|
|
4
7
|
import {
|
|
5
8
|
Button,
|
|
6
9
|
LoadingIndicator,
|
|
7
10
|
TransitionGroup
|
|
8
|
-
} from "./chunk-
|
|
11
|
+
} from "./chunk-SPYXUHEY.js";
|
|
12
|
+
import {
|
|
13
|
+
Check_default,
|
|
14
|
+
ChevronDownVector_default,
|
|
15
|
+
DropdownVector_default,
|
|
16
|
+
Info_default,
|
|
17
|
+
Search_default,
|
|
18
|
+
X_default
|
|
19
|
+
} from "./chunk-UM3ZGDFR.js";
|
|
9
20
|
import {
|
|
10
21
|
useTimeout
|
|
11
22
|
} from "./chunk-JAGHY6H6.js";
|
|
12
|
-
import {
|
|
13
|
-
o
|
|
14
|
-
} from "./chunk-QPJAV452.js";
|
|
15
23
|
import {
|
|
16
24
|
handlePressableMouseEnter,
|
|
17
25
|
preventDefaultHandler,
|
|
18
26
|
toCssVariables,
|
|
19
27
|
waitForAnimationFrame
|
|
20
28
|
} from "./chunk-DYQDWJMS.js";
|
|
21
|
-
import "./chunk-EGRHWZRV.js";
|
|
22
29
|
import {
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
30
|
+
Input
|
|
31
|
+
} from "./chunk-2DZGWGIP.js";
|
|
32
|
+
import {
|
|
33
|
+
o
|
|
34
|
+
} from "./chunk-QPJAV452.js";
|
|
35
|
+
import "./chunk-EGRHWZRV.js";
|
|
28
36
|
import {
|
|
29
37
|
clsx_default
|
|
30
38
|
} from "./chunk-CNYJBM5F.js";
|
|
31
|
-
import {
|
|
32
|
-
Check_default,
|
|
33
|
-
ChevronDownVector_default,
|
|
34
|
-
DropdownVector_default,
|
|
35
|
-
Info_default,
|
|
36
|
-
Search_default,
|
|
37
|
-
X_default
|
|
38
|
-
} from "./chunk-UM3ZGDFR.js";
|
|
39
39
|
import {
|
|
40
40
|
require_jsx_runtime
|
|
41
41
|
} from "./chunk-JGVISENQ.js";
|
|
@@ -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": "
|
|
10
|
+
"fileHash": "c4294f84",
|
|
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": "
|
|
16
|
+
"fileHash": "146a1adb",
|
|
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": "
|
|
22
|
+
"fileHash": "fcc76c2e",
|
|
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": "
|
|
28
|
+
"fileHash": "dff7cd13",
|
|
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.7__@types+react@19._90324f97b7190ccfdbe40a9e8bef3385/node_modules/@openai/apps-sdk-ui/dist/es/components/Avatar/index.js",
|
|
33
33
|
"file": "@openai_apps-sdk-ui_components_Avatar.js",
|
|
34
|
-
"fileHash": "
|
|
34
|
+
"fileHash": "90549264",
|
|
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.7__@types+react@19._90324f97b7190ccfdbe40a9e8bef3385/node_modules/@openai/apps-sdk-ui/dist/es/components/Button/index.js",
|
|
39
39
|
"file": "@openai_apps-sdk-ui_components_Button.js",
|
|
40
|
-
"fileHash": "
|
|
40
|
+
"fileHash": "1682d230",
|
|
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.7__@types+react@19._90324f97b7190ccfdbe40a9e8bef3385/node_modules/@openai/apps-sdk-ui/dist/es/components/Checkbox/index.js",
|
|
45
45
|
"file": "@openai_apps-sdk-ui_components_Checkbox.js",
|
|
46
|
-
"fileHash": "
|
|
46
|
+
"fileHash": "29d0dea7",
|
|
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.7__@types+react@19._90324f97b7190ccfdbe40a9e8bef3385/node_modules/@openai/apps-sdk-ui/dist/es/components/Icon/index.js",
|
|
51
51
|
"file": "@openai_apps-sdk-ui_components_Icon.js",
|
|
52
|
-
"fileHash": "
|
|
52
|
+
"fileHash": "95e0a6a4",
|
|
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.7__@types+react@19._90324f97b7190ccfdbe40a9e8bef3385/node_modules/@openai/apps-sdk-ui/dist/es/components/Input/index.js",
|
|
57
57
|
"file": "@openai_apps-sdk-ui_components_Input.js",
|
|
58
|
-
"fileHash": "
|
|
58
|
+
"fileHash": "2ee1f0e9",
|
|
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.7__@types+react@19._90324f97b7190ccfdbe40a9e8bef3385/node_modules/@openai/apps-sdk-ui/dist/es/components/SegmentedControl/index.js",
|
|
63
63
|
"file": "@openai_apps-sdk-ui_components_SegmentedControl.js",
|
|
64
|
-
"fileHash": "
|
|
64
|
+
"fileHash": "dc2c1206",
|
|
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.7__@types+react@19._90324f97b7190ccfdbe40a9e8bef3385/node_modules/@openai/apps-sdk-ui/dist/es/components/Select/index.js",
|
|
69
69
|
"file": "@openai_apps-sdk-ui_components_Select.js",
|
|
70
|
-
"fileHash": "
|
|
70
|
+
"fileHash": "a47ecdc0",
|
|
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.7__@types+react@19._90324f97b7190ccfdbe40a9e8bef3385/node_modules/@openai/apps-sdk-ui/dist/es/components/Textarea/index.js",
|
|
75
75
|
"file": "@openai_apps-sdk-ui_components_Textarea.js",
|
|
76
|
-
"fileHash": "
|
|
76
|
+
"fileHash": "f4d46402",
|
|
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.7__@types+react@19._90324f97b7190ccfdbe40a9e8bef3385/node_modules/@openai/apps-sdk-ui/dist/es/lib/theme.js",
|
|
81
81
|
"file": "@openai_apps-sdk-ui_theme.js",
|
|
82
|
-
"fileHash": "
|
|
82
|
+
"fileHash": "dcdfa91c",
|
|
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": "
|
|
88
|
+
"fileHash": "0fcca76e",
|
|
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": "
|
|
94
|
+
"fileHash": "067c2552",
|
|
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": "
|
|
100
|
+
"fileHash": "e04a6e93",
|
|
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": "
|
|
106
|
+
"fileHash": "d775d38f",
|
|
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": "
|
|
112
|
+
"fileHash": "f7f59ced",
|
|
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": "
|
|
118
|
+
"fileHash": "7c57bcda",
|
|
119
119
|
"needsInterop": false
|
|
120
120
|
}
|
|
121
121
|
},
|
|
122
122
|
"chunks": {
|
|
123
|
-
"chunk-
|
|
124
|
-
"file": "chunk-
|
|
123
|
+
"chunk-TSEQUROC": {
|
|
124
|
+
"file": "chunk-TSEQUROC.js"
|
|
125
|
+
},
|
|
126
|
+
"chunk-XZTIOEPG": {
|
|
127
|
+
"file": "chunk-XZTIOEPG.js"
|
|
125
128
|
},
|
|
126
|
-
"chunk-
|
|
127
|
-
"file": "chunk-
|
|
129
|
+
"chunk-SPYXUHEY": {
|
|
130
|
+
"file": "chunk-SPYXUHEY.js"
|
|
131
|
+
},
|
|
132
|
+
"chunk-UM3ZGDFR": {
|
|
133
|
+
"file": "chunk-UM3ZGDFR.js"
|
|
128
134
|
},
|
|
129
135
|
"chunk-JAGHY6H6": {
|
|
130
136
|
"file": "chunk-JAGHY6H6.js"
|
|
131
137
|
},
|
|
132
|
-
"chunk-QPJAV452": {
|
|
133
|
-
"file": "chunk-QPJAV452.js"
|
|
134
|
-
},
|
|
135
138
|
"chunk-DYQDWJMS": {
|
|
136
139
|
"file": "chunk-DYQDWJMS.js"
|
|
137
140
|
},
|
|
138
|
-
"chunk-
|
|
139
|
-
"file": "chunk-
|
|
141
|
+
"chunk-2DZGWGIP": {
|
|
142
|
+
"file": "chunk-2DZGWGIP.js"
|
|
140
143
|
},
|
|
141
|
-
"chunk-
|
|
142
|
-
"file": "chunk-
|
|
144
|
+
"chunk-QPJAV452": {
|
|
145
|
+
"file": "chunk-QPJAV452.js"
|
|
143
146
|
},
|
|
144
|
-
"chunk-
|
|
145
|
-
"file": "chunk-
|
|
147
|
+
"chunk-EGRHWZRV": {
|
|
148
|
+
"file": "chunk-EGRHWZRV.js"
|
|
146
149
|
},
|
|
147
150
|
"chunk-CNYJBM5F": {
|
|
148
151
|
"file": "chunk-CNYJBM5F.js"
|
|
149
152
|
},
|
|
150
|
-
"chunk-UM3ZGDFR": {
|
|
151
|
-
"file": "chunk-UM3ZGDFR.js"
|
|
152
|
-
},
|
|
153
153
|
"chunk-JGVISENQ": {
|
|
154
154
|
"file": "chunk-JGVISENQ.js"
|
|
155
155
|
},
|
|
@@ -1,9 +1,10 @@
|
|
|
1
|
+
import {
|
|
2
|
+
Check_default,
|
|
3
|
+
Copy_default
|
|
4
|
+
} from "./chunk-UM3ZGDFR.js";
|
|
1
5
|
import {
|
|
2
6
|
useTimeout
|
|
3
7
|
} from "./chunk-JAGHY6H6.js";
|
|
4
|
-
import {
|
|
5
|
-
o
|
|
6
|
-
} from "./chunk-QPJAV452.js";
|
|
7
8
|
import {
|
|
8
9
|
handlePressableMouseEnter,
|
|
9
10
|
isDev,
|
|
@@ -15,13 +16,12 @@ import {
|
|
|
15
16
|
toTransformProperty,
|
|
16
17
|
waitForAnimationFrame
|
|
17
18
|
} from "./chunk-DYQDWJMS.js";
|
|
19
|
+
import {
|
|
20
|
+
o
|
|
21
|
+
} from "./chunk-QPJAV452.js";
|
|
18
22
|
import {
|
|
19
23
|
clsx_default
|
|
20
24
|
} from "./chunk-CNYJBM5F.js";
|
|
21
|
-
import {
|
|
22
|
-
Check_default,
|
|
23
|
-
Copy_default
|
|
24
|
-
} from "./chunk-UM3ZGDFR.js";
|
|
25
25
|
import {
|
|
26
26
|
require_jsx_runtime
|
|
27
27
|
} from "./chunk-JGVISENQ.js";
|
|
@@ -625,4 +625,4 @@ export {
|
|
|
625
625
|
ButtonLink,
|
|
626
626
|
CopyButton
|
|
627
627
|
};
|
|
628
|
-
//# sourceMappingURL=chunk-
|
|
628
|
+
//# sourceMappingURL=chunk-SPYXUHEY.js.map
|
package/template/node_modules/.vite/vitest/da39a3ee5e6b4b0d3255bfef95601890afd80709/results.json
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":"4.0.16","results":[[":src/
|
|
1
|
+
{"version":"4.0.16","results":[[":src/resources/carousel-resource.test.tsx",{"duration":296.55490899999995,"failed":false}],[":src/components/album/albums.test.tsx",{"duration":458.741951,"failed":false}],[":src/resources/counter-resource.test.tsx",{"duration":277.258836,"failed":false}],[":src/components/map/map-view.test.tsx",{"duration":81.79789200000005,"failed":false}],[":src/components/map/place-inspector.test.tsx",{"duration":410.6831910000001,"failed":false}],[":src/components/album/fullscreen-viewer.test.tsx",{"duration":288.4420110000001,"failed":false}],[":src/components/map/place-list.test.tsx",{"duration":146.148862,"failed":false}],[":src/components/map/place-card.test.tsx",{"duration":344.8966650000002,"failed":false}],[":src/components/map/place-carousel.test.tsx",{"duration":427.75209400000017,"failed":false}],[":src/components/album/album-carousel.test.tsx",{"duration":73.333216,"failed":false}],[":src/components/carousel/carousel.test.tsx",{"duration":69.63533200000006,"failed":false}],[":src/resources/albums-resource.test.tsx",{"duration":241.26836400000002,"failed":false}],[":src/components/album/film-strip.test.tsx",{"duration":446.91730400000006,"failed":false}],[":src/components/album/album-card.test.tsx",{"duration":284.9094,"failed":false}],[":src/components/carousel/card.test.tsx",{"duration":71.40019499999994,"failed":false}]]}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
|
-
"name": "
|
|
3
|
-
"title": "
|
|
4
|
-
"description": "Visualize and
|
|
2
|
+
"name": "review",
|
|
3
|
+
"title": "Review",
|
|
4
|
+
"description": "Visualize and review a proposed set of changes or actions",
|
|
5
5
|
"mimeType": "text/html+skybridge",
|
|
6
6
|
"_meta": {
|
|
7
7
|
"openai/widgetDomain": "https://sunpeak.ai",
|
|
@@ -12,14 +12,14 @@ import { Button } from '@openai/apps-sdk-ui/components/Button';
|
|
|
12
12
|
import { ExpandLg } from '@openai/apps-sdk-ui/components/Icon';
|
|
13
13
|
|
|
14
14
|
/**
|
|
15
|
-
* Production-ready
|
|
15
|
+
* Production-ready Review Resource
|
|
16
16
|
*
|
|
17
|
-
* A flexible
|
|
18
|
-
* - Purchase
|
|
19
|
-
* - Code change
|
|
20
|
-
* - Social media post
|
|
21
|
-
* - Booking
|
|
22
|
-
* - Generic action
|
|
17
|
+
* A flexible review dialog that adapts to various use cases:
|
|
18
|
+
* - Purchase reviews (items, totals, payment)
|
|
19
|
+
* - Code change reviews (file changes with diffs)
|
|
20
|
+
* - Social media post reviews (content preview)
|
|
21
|
+
* - Booking reviews (details, dates, prices)
|
|
22
|
+
* - Generic action reviews (simple approve/reject)
|
|
23
23
|
*/
|
|
24
24
|
|
|
25
25
|
// ============================================================================
|
|
@@ -75,15 +75,15 @@ interface Section {
|
|
|
75
75
|
content: Detail[] | Item[] | Change[] | string;
|
|
76
76
|
}
|
|
77
77
|
|
|
78
|
-
/** Tool call configuration for domain-specific
|
|
79
|
-
interface
|
|
78
|
+
/** Tool call configuration for domain-specific review actions */
|
|
79
|
+
interface ReviewTool {
|
|
80
80
|
/** Tool name to call (e.g., "complete_purchase", "publish_post") */
|
|
81
81
|
name: string;
|
|
82
82
|
/** Additional arguments to pass to the tool */
|
|
83
83
|
arguments?: Record<string, unknown>;
|
|
84
84
|
}
|
|
85
85
|
|
|
86
|
-
interface
|
|
86
|
+
interface ReviewData extends Record<string, unknown> {
|
|
87
87
|
/** Main title */
|
|
88
88
|
title: string;
|
|
89
89
|
/** Optional description below title */
|
|
@@ -102,11 +102,11 @@ interface ConfirmationData extends Record<string, unknown> {
|
|
|
102
102
|
acceptedMessage?: string;
|
|
103
103
|
/** Message shown after rejecting */
|
|
104
104
|
rejectedMessage?: string;
|
|
105
|
-
/** Domain-specific tool to call on
|
|
106
|
-
|
|
105
|
+
/** Domain-specific tool to call on review */
|
|
106
|
+
reviewTool?: ReviewTool;
|
|
107
107
|
}
|
|
108
108
|
|
|
109
|
-
interface
|
|
109
|
+
interface ReviewState extends Record<string, unknown> {
|
|
110
110
|
decision?: 'accepted' | 'rejected' | null;
|
|
111
111
|
decidedAt?: string | null;
|
|
112
112
|
}
|
|
@@ -306,13 +306,13 @@ function AlertBanner({ alert }: { alert: Alert }) {
|
|
|
306
306
|
// Main Component
|
|
307
307
|
// ============================================================================
|
|
308
308
|
|
|
309
|
-
export const
|
|
310
|
-
const data = useWidgetProps<
|
|
311
|
-
title: '
|
|
309
|
+
export const ReviewResource = React.forwardRef<HTMLDivElement>((_props, ref) => {
|
|
310
|
+
const data = useWidgetProps<ReviewData>(() => ({
|
|
311
|
+
title: 'Review',
|
|
312
312
|
sections: [],
|
|
313
313
|
}));
|
|
314
314
|
|
|
315
|
-
const [widgetState, setWidgetState] = useWidgetState<
|
|
315
|
+
const [widgetState, setWidgetState] = useWidgetState<ReviewState>(() => ({
|
|
316
316
|
decision: null,
|
|
317
317
|
decidedAt: null,
|
|
318
318
|
}));
|
|
@@ -338,7 +338,7 @@ export const ConfirmationResource = React.forwardRef<HTMLDivElement>((_props, re
|
|
|
338
338
|
decidedAt,
|
|
339
339
|
});
|
|
340
340
|
|
|
341
|
-
const tool = data.
|
|
341
|
+
const tool = data.reviewTool;
|
|
342
342
|
if (tool) {
|
|
343
343
|
console.log('callTool', {
|
|
344
344
|
name: tool.name,
|
|
@@ -358,7 +358,7 @@ export const ConfirmationResource = React.forwardRef<HTMLDivElement>((_props, re
|
|
|
358
358
|
decidedAt,
|
|
359
359
|
});
|
|
360
360
|
|
|
361
|
-
const tool = data.
|
|
361
|
+
const tool = data.reviewTool;
|
|
362
362
|
if (tool) {
|
|
363
363
|
console.log('callTool', {
|
|
364
364
|
name: tool.name,
|
|
@@ -476,4 +476,4 @@ export const ConfirmationResource = React.forwardRef<HTMLDivElement>((_props, re
|
|
|
476
476
|
</div>
|
|
477
477
|
);
|
|
478
478
|
});
|
|
479
|
-
|
|
479
|
+
ReviewResource.displayName = 'ReviewResource';
|
package/template/src/simulations/{confirmation-diff-simulation.json → review-diff-simulation.json}
RENAMED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
{
|
|
2
2
|
"userMessage": "I'd like to refactor the authentication module",
|
|
3
3
|
"tool": {
|
|
4
|
-
"name": "diff-
|
|
5
|
-
"description": "Show a
|
|
4
|
+
"name": "diff-review",
|
|
5
|
+
"description": "Show a review dialog for a proposed code diff",
|
|
6
6
|
"inputSchema": { "type": "object", "properties": {}, "additionalProperties": false },
|
|
7
|
-
"title": "Diff
|
|
7
|
+
"title": "Diff Review",
|
|
8
8
|
"annotations": { "readOnlyHint": false },
|
|
9
9
|
"_meta": {
|
|
10
10
|
"openai/toolInvocation/invoking": "Preparing changes",
|
|
@@ -62,7 +62,7 @@
|
|
|
62
62
|
"rejectLabel": "Cancel",
|
|
63
63
|
"acceptedMessage": "Changes applied",
|
|
64
64
|
"rejectedMessage": "Changes cancelled",
|
|
65
|
-
"
|
|
65
|
+
"reviewTool": {
|
|
66
66
|
"name": "apply_changes",
|
|
67
67
|
"arguments": {
|
|
68
68
|
"changesetId": "cs_789",
|
package/template/src/simulations/{confirmation-post-simulation.json → review-post-simulation.json}
RENAMED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
{
|
|
2
2
|
"userMessage": "Post this to my social media",
|
|
3
3
|
"tool": {
|
|
4
|
-
"name": "
|
|
5
|
-
"description": "
|
|
4
|
+
"name": "review-post",
|
|
5
|
+
"description": "Review a social media post before publishing",
|
|
6
6
|
"inputSchema": { "type": "object", "properties": {}, "additionalProperties": false },
|
|
7
|
-
"title": "
|
|
7
|
+
"title": "Review Post",
|
|
8
8
|
"annotations": { "readOnlyHint": false },
|
|
9
9
|
"_meta": {
|
|
10
10
|
"openai/toolInvocation/invoking": "Preparing post",
|
|
@@ -43,7 +43,7 @@
|
|
|
43
43
|
"rejectLabel": "Cancel",
|
|
44
44
|
"acceptedMessage": "Post published!",
|
|
45
45
|
"rejectedMessage": "Post cancelled",
|
|
46
|
-
"
|
|
46
|
+
"reviewTool": {
|
|
47
47
|
"name": "publish_post",
|
|
48
48
|
"arguments": {
|
|
49
49
|
"postId": "draft_456",
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
{
|
|
2
2
|
"userMessage": "I want to buy these items",
|
|
3
3
|
"tool": {
|
|
4
|
-
"name": "
|
|
5
|
-
"description": "
|
|
4
|
+
"name": "review-purchase",
|
|
5
|
+
"description": "Review a purchase before completing the transaction",
|
|
6
6
|
"inputSchema": { "type": "object", "properties": {}, "additionalProperties": false },
|
|
7
|
-
"title": "
|
|
7
|
+
"title": "Review Purchase",
|
|
8
8
|
"annotations": { "readOnlyHint": false },
|
|
9
9
|
"_meta": {
|
|
10
10
|
"openai/toolInvocation/invoking": "Preparing order",
|
|
@@ -74,7 +74,7 @@
|
|
|
74
74
|
"rejectLabel": "Cancel",
|
|
75
75
|
"acceptedMessage": "Order placed!",
|
|
76
76
|
"rejectedMessage": "Order cancelled",
|
|
77
|
-
"
|
|
77
|
+
"reviewTool": {
|
|
78
78
|
"name": "complete_purchase",
|
|
79
79
|
"arguments": {
|
|
80
80
|
"orderId": "order_123",
|
|
File without changes
|