sunpeak 0.13.12 → 0.14.3
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/README.md +22 -25
- package/bin/commands/dev.mjs +2 -2
- package/bin/sunpeak.js +1 -53
- package/dist/cli/commands.test.new.d.ts +1 -0
- package/dist/mcp/favicon.d.ts +1 -1
- package/dist/mcp/index.cjs +5 -5
- package/dist/mcp/index.cjs.map +1 -1
- package/dist/mcp/index.js +5 -5
- package/dist/mcp/index.js.map +1 -1
- package/package.json +2 -2
- package/template/README.md +10 -8
- package/bin/commands/deploy.mjs +0 -141
- package/bin/commands/login.mjs +0 -235
- package/bin/commands/logout.mjs +0 -101
- package/bin/commands/pull.mjs +0 -279
- package/bin/commands/push.mjs +0 -465
package/README.md
CHANGED
|
@@ -1,20 +1,20 @@
|
|
|
1
1
|
<div align="center">
|
|
2
2
|
<a href="https://sunpeak.ai">
|
|
3
3
|
<picture>
|
|
4
|
-
<img alt="Sunpeak logo" src="https://cdn.sunpeak.ai/sunpeak-github.
|
|
4
|
+
<img alt="Sunpeak logo" src="https://cdn.sunpeak.ai/sunpeak-github.png">
|
|
5
5
|
</picture>
|
|
6
6
|
</a>
|
|
7
7
|
</div>
|
|
8
8
|
|
|
9
9
|
# sunpeak
|
|
10
10
|
|
|
11
|
-
[](https://www.npmjs.com/package/sunpeak)
|
|
12
|
+
[](https://www.npmjs.com/package/sunpeak)
|
|
13
|
+
[](https://github.com/Sunpeak-AI/sunpeak)
|
|
14
|
+
[](https://github.com/Sunpeak-AI/sunpeak/actions)
|
|
15
|
+
[](https://github.com/Sunpeak-AI/sunpeak/blob/main/LICENSE)
|
|
16
|
+
[](https://www.typescriptlang.org/)
|
|
17
|
+
[](https://reactjs.org/)
|
|
18
18
|
|
|
19
19
|
Local-first MCP Apps framework.
|
|
20
20
|
|
|
@@ -24,8 +24,7 @@ Quickstart, build, test, and ship your Claude or ChatGPT App!
|
|
|
24
24
|
[Demo (Video)](https://cdn.sunpeak.ai/sunpeak-demo-prod.mp4) ~
|
|
25
25
|
[Discord (NEW)](https://discord.gg/FB2QNXqRnw) ~
|
|
26
26
|
[Documentation](https://docs.sunpeak.ai/) ~
|
|
27
|
-
[GitHub](https://github.com/Sunpeak-AI/sunpeak)
|
|
28
|
-
[Resource Repository](https://app.sunpeak.ai/)
|
|
27
|
+
[GitHub](https://github.com/Sunpeak-AI/sunpeak)
|
|
29
28
|
|
|
30
29
|
<div align="center">
|
|
31
30
|
<a href="https://docs.sunpeak.ai/library/chatgpt-simulator">
|
|
@@ -80,22 +79,12 @@ my-app/
|
|
|
80
79
|
|
|
81
80
|
### The `sunpeak` CLI
|
|
82
81
|
|
|
83
|
-
Commands for managing MCP Apps
|
|
82
|
+
Commands for managing MCP Apps:
|
|
84
83
|
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
<picture>
|
|
90
|
-
<img alt="ChatGPT Resource Repository" src="https://cdn.sunpeak.ai/blog/storybook-for-chatgpt-apps.png">
|
|
91
|
-
</picture>
|
|
92
|
-
</a>
|
|
93
|
-
</div>
|
|
94
|
-
|
|
95
|
-
1. Tag your app builds with version numbers and environment names (like `v1.0.0` and `prod`)
|
|
96
|
-
2. `sunpeak push` built Apps to a central location
|
|
97
|
-
3. `sunpeak pull` built Apps to be run in different environments, like your production MCP server.
|
|
98
|
-
4. Share your fully-functional demo Apps with teammates, prospects, and strangers!
|
|
84
|
+
- `sunpeak new [name] [resources]` - Create a new project
|
|
85
|
+
- `sunpeak dev` - Start dev server with MCP endpoint and live simulator
|
|
86
|
+
- `sunpeak build` - Build resources for production
|
|
87
|
+
- `sunpeak upgrade` - Upgrade sunpeak to latest version
|
|
99
88
|
|
|
100
89
|
## Example App
|
|
101
90
|
|
|
@@ -214,6 +203,14 @@ test.describe('Review Resource', () => {
|
|
|
214
203
|
});
|
|
215
204
|
```
|
|
216
205
|
|
|
206
|
+
## Coding Agent Skill
|
|
207
|
+
|
|
208
|
+
Install the `create-sunpeak-app` skill to give your coding agent (Claude Code, Cursor, etc.) built-in knowledge of sunpeak patterns, hooks, simulation files, and testing conventions:
|
|
209
|
+
|
|
210
|
+
```bash
|
|
211
|
+
npx skills add Sunpeak-AI/sunpeak@create-sunpeak-app
|
|
212
|
+
```
|
|
213
|
+
|
|
217
214
|
## Resources
|
|
218
215
|
|
|
219
216
|
- [MCP Apps](https://github.com/modelcontextprotocol/ext-apps)
|
package/bin/commands/dev.mjs
CHANGED
|
@@ -77,7 +77,7 @@ export async function dev(projectRoot = process.cwd(), args = []) {
|
|
|
77
77
|
const tailwindcss = tailwindPlugin.default;
|
|
78
78
|
|
|
79
79
|
// Parse port from args or use default
|
|
80
|
-
let port = parseInt(process.env.PORT || '
|
|
80
|
+
let port = parseInt(process.env.PORT || '3000');
|
|
81
81
|
const portArgIndex = args.findIndex(arg => arg === '--port' || arg === '-p');
|
|
82
82
|
if (portArgIndex !== -1 && args[portArgIndex + 1]) {
|
|
83
83
|
port = parseInt(args[portArgIndex + 1]);
|
|
@@ -285,7 +285,7 @@ if (import.meta.hot) {
|
|
|
285
285
|
name: pkg.name || 'Sunpeak',
|
|
286
286
|
version: pkg.version || '0.1.0',
|
|
287
287
|
simulations,
|
|
288
|
-
port:
|
|
288
|
+
port: 8000,
|
|
289
289
|
...(mcpViteServer && { viteServer: mcpViteServer }),
|
|
290
290
|
});
|
|
291
291
|
|
package/bin/sunpeak.js
CHANGED
|
@@ -37,17 +37,7 @@ function getVersion() {
|
|
|
37
37
|
}
|
|
38
38
|
|
|
39
39
|
// Commands that don't require a package.json
|
|
40
|
-
const standaloneCommands = [
|
|
41
|
-
'new',
|
|
42
|
-
'login',
|
|
43
|
-
'logout',
|
|
44
|
-
'push',
|
|
45
|
-
'pull',
|
|
46
|
-
'deploy',
|
|
47
|
-
'upgrade',
|
|
48
|
-
'help',
|
|
49
|
-
undefined,
|
|
50
|
-
];
|
|
40
|
+
const standaloneCommands = ['new', 'upgrade', 'help', undefined];
|
|
51
41
|
|
|
52
42
|
if (command && !standaloneCommands.includes(command)) {
|
|
53
43
|
checkPackageJson();
|
|
@@ -75,41 +65,6 @@ function getVersion() {
|
|
|
75
65
|
}
|
|
76
66
|
break;
|
|
77
67
|
|
|
78
|
-
case 'login':
|
|
79
|
-
{
|
|
80
|
-
const { login } = await import(join(COMMANDS_DIR, 'login.mjs'));
|
|
81
|
-
await login();
|
|
82
|
-
}
|
|
83
|
-
break;
|
|
84
|
-
|
|
85
|
-
case 'logout':
|
|
86
|
-
{
|
|
87
|
-
const { logout } = await import(join(COMMANDS_DIR, 'logout.mjs'));
|
|
88
|
-
await logout();
|
|
89
|
-
}
|
|
90
|
-
break;
|
|
91
|
-
|
|
92
|
-
case 'push':
|
|
93
|
-
{
|
|
94
|
-
const { push, parseArgs } = await import(join(COMMANDS_DIR, 'push.mjs'));
|
|
95
|
-
await push(process.cwd(), parseArgs(args));
|
|
96
|
-
}
|
|
97
|
-
break;
|
|
98
|
-
|
|
99
|
-
case 'pull':
|
|
100
|
-
{
|
|
101
|
-
const { pull, parseArgs } = await import(join(COMMANDS_DIR, 'pull.mjs'));
|
|
102
|
-
await pull(process.cwd(), parseArgs(args));
|
|
103
|
-
}
|
|
104
|
-
break;
|
|
105
|
-
|
|
106
|
-
case 'deploy':
|
|
107
|
-
{
|
|
108
|
-
const { deploy, parseArgs } = await import(join(COMMANDS_DIR, 'deploy.mjs'));
|
|
109
|
-
await deploy(process.cwd(), parseArgs(args));
|
|
110
|
-
}
|
|
111
|
-
break;
|
|
112
|
-
|
|
113
68
|
case 'upgrade':
|
|
114
69
|
{
|
|
115
70
|
const { upgrade } = await import(join(COMMANDS_DIR, 'upgrade.mjs'));
|
|
@@ -136,18 +91,11 @@ Usage:
|
|
|
136
91
|
sunpeak dev Start dev server + MCP endpoint
|
|
137
92
|
--no-begging Suppress GitHub star message
|
|
138
93
|
sunpeak build Build resources
|
|
139
|
-
sunpeak login Log in to Sunpeak
|
|
140
|
-
sunpeak logout Log out of Sunpeak
|
|
141
|
-
sunpeak push Push resources to repository
|
|
142
|
-
sunpeak pull Pull resources from repository
|
|
143
|
-
sunpeak deploy Push resources with "prod" tag
|
|
144
94
|
sunpeak upgrade Upgrade sunpeak to latest version
|
|
145
95
|
sunpeak --version Show version number
|
|
146
96
|
|
|
147
97
|
Resources: ${resources.join(', ')} (comma/space separated)
|
|
148
98
|
Example: sunpeak new my-app "${resources.slice(0, 2).join(',')}"
|
|
149
|
-
|
|
150
|
-
For more information, visit: https://sunpeak.ai/
|
|
151
99
|
`);
|
|
152
100
|
}
|
|
153
101
|
break;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
package/dist/mcp/favicon.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export declare const FAVICON_BASE64 = "
|
|
1
|
+
export declare const FAVICON_BASE64 = "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";
|
|
2
2
|
export declare const FAVICON_BUFFER: Buffer<ArrayBuffer>;
|
package/dist/mcp/index.cjs
CHANGED
|
@@ -8,7 +8,7 @@ const protocol = require("../protocol-CL4_Npj5.cjs");
|
|
|
8
8
|
const _commonjsHelpers = require("../_commonjsHelpers-Bc2YnDe1.cjs");
|
|
9
9
|
const zod = require("zod");
|
|
10
10
|
const sse_js = require("@modelcontextprotocol/sdk/server/sse.js");
|
|
11
|
-
const FAVICON_BASE64 = "
|
|
11
|
+
const FAVICON_BASE64 = "iVBORw0KGgoAAAANSUhEUgAAAIAAAACACAYAAADDPmHLAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAiLSURBVHgB7Z1NbBNHGIZfJ4GWJIAjfhKBKDYglaolGBAqUAncqNAbTTijErhUaiVIqFROJIWeeiiEnsoFEokzGE4VVJDmAFSU4oRDW/Fji6qIIFAMJKD84X7fOg5pEnt3s/Z6x/M9MPbYXhOy37vz887sjA+W2OwDZvuBl/VAyVbgdQhIBgCfH4IHSCYoFlHKxCl1AeURoJ/eu5k0+6Yv+8cceA706H56bpSAK0U7UHoUeDsOdGYUQhYBhKuAgRbKNEFQGN+RVPptWhFkEMCHQSrmL1MmAKEYiFPVXUciiE3+YBoBSPCLlPh0IpgkAAl+kROfLIIJAghTfuA+iiz4vikZiySNv8VIHBheD0T7+EXZm/f7W+ksBaAwvrEHf8UoAjWDCAVfYXn1oJH8lSMILB6i51HjWH72V4wY+cRAGRL9pak0kErxR2/hweO3EO+l9Hg2ovfKUz9EfWEEgFncuG/mF2PXxSYq+kfvQzHSAQ9QgMNr+rG19jnCtS+M17mGRRK9N8cQQtfteejsmWsIJamsGkop5tfjYwLYeJoeGqEA6aBzoHdu6kP9lkReAm4FFsGFa1XovD3XEIZiYjgB3GiiUxkic2dWHzyOb0LQG3c8HS++vQJXFT9GqhEhQcR7Z6sgBnIKh4N0Wjc20ovT8ChcnzfueILPNvdhGwlABc5f86Pj4iISg+eN070+Lxf/6eDzs4pwSdB+aSG8S0k7C+AW5UIQdCRaAjF9dCbAApARPn3xl0DQmjIUiGBNYfruXiTRX4Y+ciELgesC4P78gfpeHP/iAYQU7CHsOxZEZ/dc121m7gW49jOryH8/23LHMHSEqRw5s4TSUldFQOXO0m/hAsGaIVw9/idCK19CmB6+MObTRXLx5ny4hSslwLpVr3D28J2CefaqweMKdYdWu9IuyLsAWNVnW+96zrv3OtwuqPtmteEm5pO8C6Bx+1MIM4ODzyOO+cTVRqDgPcQI0hwRgOaIADQnZ04gT9UKrxWDJ9/wPMRbd8uRK3ImgNbdDyn9CyH/cPfwSo56BzmpAvZufyLBd5FTX8cMWz0XOBZAsHoILXT1C+7BjiqPqeQCxwJooStfLF73YYe1ueERnOLICGqkov/UwRiEwsANwvVffeDILnYkgNCKl+O3WgmFgYPP4wYzRaxgzREjSHNEAJojAtAc205gw0cJ+Mul4edFovfLceveHFvfsdUIZNPnfkc3BG/CAlj35fu2vmOrCmgRu9fTcLf8Y5szri0LIEBXPxs/grexe5FaFkC49jkE78MWsZ3b6S3fF3DqYBw1VcMQvM/gsA+dPfMsHWu5ESgDPmph1R4WK1hzxAjSHBGA5ogANMfUCm7YklB2lS7d4YmjZpNFTBuBsY4e6QEoyolz1Wg6+U7WY7JWATzbR4KvLmstrMWQVQDsLQvqEnIsAFnNQ2mMZfNNSvCsjcCta14ovBy6wIRWvsrqCooTqDniA2iOCEBzRACak7URaHejLcF7mDXwMgpApoAVB88GSnGcHMFMZBHAoNzzXwQkTAQgbYAix2wgTwSgOSIAzTGdFCp2sNrM2Apm2ApWZcNmYXpORKqNLWgykVUAPJtExgPUpsNk8+qsbYBsyhHUwGzLmZLsX66EoC68ZIwZWQXAkwl5NElQEysluGkvIHK1CssXD0FQj/NXzTeGFytYc8QI0hwRgOaIADTH8lKxPvGElcHO7XyWBcB71MhCEWpw/pofbedqLB1rWQDd9ypklrAiHDmz1PKxltsAEQt9SqHwxMi8s7PjuGUBsK14xeLqk0LhOHpmia3jbfUC7P7jgruwdc/OrR1sbRjBRctpk+FFoXD0UCltd+xGrGDNESNIc0QAmiMC0Bzbu4ZNRiziwuJ0FTdHAmiq78WBhl4IhaPh6CpHczcdCaD9l4XYTwIIynKyBYG75E4n7jpqA/AdxPt+CEJwH75z++BPy+AUx41ANofaItZGnoTcwNX+ru9WkenjuAmXm15AMynx1t1y4z8mKf+JLflc3bORMyeQF5Vq3P4UQn5hq7cty6JPdhErWHPECNIcEYDmiAA0x3k/wgTf+INgFzc268i7AFp3PzS2NBcN2KOvvwwHTy5De54n4FjePXymsFHkoz+80oiIwBoc/LpD7+Ln3+cj3+RdAAyL4Bn9Up9ueCajhyawxbul+T389c8cuIGrPgDvQnb28F0Ea2TwaDqudM/DvmMBy1u/5wLXjSB2DC9//3dqOzMpDVIkU4s5NZvs8pkPCuYE1suexOPwer52bubIJWIFa44YQZrDAkhA0JUECyAOQVfi5AT6uqkZGoIH4Uaiv3JESTs5beO62aWbAVESQLKTMnvgQXjyQ/2WPnz+yVOEa58rYSJx3BNmenVcWoDz16q8LoBf6ZSG/MCsGL3w9AIAqW3sHmLbmhdG3ktiSI49dPbMw4XrfrRfXJCT+Xr5Z7hq7DRubKOHA1CEMI0r7OGVzMfEwNWD27qYGPSu27ONfnyh+vIz5DRwY9/YedsUAEZjUBC2l1kQOzcljLy/YiT1QQ5FkRx/SNXpnRTwLgp85Op8Ra706SgNAtfjE87RhuPUK2yC4rAIeNvb0IqXqOX8oiEEaOxhXBgWMdZJpro8Gptj3HdvBL67UuGA/w8q8W80c2aCALgtMPsPknrR3unB1YW/cjSjBZ3eYs3jDTeH+KikL19PlZfh/0wqJbkqeH25mEWgNxz8kjou+tPvTLKC+YPkrtSBQnHBMeXYvgm+8e70B0tJUFxMvfLTZBgM4gOHqJ54zd1DGS1UF45dW6rOnxp8xkJPyegituKNWyjTOLyNYUZSilBX72imwKexEcww9RIG6imzjdJaSgF43D3UCA54nAr0KJXaXUBFJN3KN+M/cngKDJvF2pMAAAAASUVORK5CYII=";
|
|
12
12
|
const FAVICON_BUFFER = Buffer.from(FAVICON_BASE64, "base64");
|
|
13
13
|
var ajv = { exports: {} };
|
|
14
14
|
var core$1 = {};
|
|
@@ -14213,7 +14213,7 @@ function readResourceHtmlProd(distPath) {
|
|
|
14213
14213
|
function getViteResourceHtml(srcPath) {
|
|
14214
14214
|
const fileName = srcPath.split("/").pop()?.replace(/-resource\.tsx$/, "") ?? "";
|
|
14215
14215
|
const componentName = fileName.split("-").map((part) => part.charAt(0).toUpperCase() + part.slice(1)).join("") + "Resource";
|
|
14216
|
-
const devServerUrl = "http://localhost:
|
|
14216
|
+
const devServerUrl = "http://localhost:8000";
|
|
14217
14217
|
const entryParams = new URLSearchParams({ src: srcPath, component: componentName });
|
|
14218
14218
|
const virtualModuleUrl = `${devServerUrl}/@id/virtual:sunpeak-entry?${entryParams.toString()}`;
|
|
14219
14219
|
return `<!DOCTYPE html>
|
|
@@ -14258,7 +14258,7 @@ function getResourceHtml(simulation, viteMode) {
|
|
|
14258
14258
|
}
|
|
14259
14259
|
return readResourceHtmlProd(simulation.distPath);
|
|
14260
14260
|
}
|
|
14261
|
-
const DEV_SERVER_URL = "http://localhost:
|
|
14261
|
+
const DEV_SERVER_URL = "http://localhost:8000";
|
|
14262
14262
|
const HMR_WS_URL = "ws://localhost:24678";
|
|
14263
14263
|
function injectViteCSP(existingMeta) {
|
|
14264
14264
|
const meta = existingMeta ?? {};
|
|
@@ -14433,8 +14433,8 @@ async function handlePostMessage(req, res, url) {
|
|
|
14433
14433
|
}
|
|
14434
14434
|
}
|
|
14435
14435
|
function runMCPServer(config) {
|
|
14436
|
-
const portEnv = Number(process.env.PORT ??
|
|
14437
|
-
const port = config.port ?? (Number.isFinite(portEnv) ? portEnv :
|
|
14436
|
+
const portEnv = Number(process.env.PORT ?? 8e3);
|
|
14437
|
+
const port = config.port ?? (Number.isFinite(portEnv) ? portEnv : 8e3);
|
|
14438
14438
|
const { simulations } = config;
|
|
14439
14439
|
const viteServer = config.viteServer;
|
|
14440
14440
|
const viteMode = !!viteServer;
|