mcpize 1.0.0
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/LICENSE +21 -0
- package/README.md +140 -0
- package/dist/commands/deploy.d.ts +8 -0
- package/dist/commands/deploy.d.ts.map +1 -0
- package/dist/commands/deploy.js +337 -0
- package/dist/commands/deploy.js.map +1 -0
- package/dist/commands/doctor.d.ts +7 -0
- package/dist/commands/doctor.d.ts.map +1 -0
- package/dist/commands/doctor.js +257 -0
- package/dist/commands/doctor.js.map +1 -0
- package/dist/commands/init.d.ts +9 -0
- package/dist/commands/init.d.ts.map +1 -0
- package/dist/commands/init.js +238 -0
- package/dist/commands/init.js.map +1 -0
- package/dist/commands/link.d.ts +6 -0
- package/dist/commands/link.d.ts.map +1 -0
- package/dist/commands/link.js +147 -0
- package/dist/commands/link.js.map +1 -0
- package/dist/commands/login.d.ts +2 -0
- package/dist/commands/login.d.ts.map +1 -0
- package/dist/commands/login.js +88 -0
- package/dist/commands/login.js.map +1 -0
- package/dist/commands/logout.d.ts +2 -0
- package/dist/commands/logout.d.ts.map +1 -0
- package/dist/commands/logout.js +9 -0
- package/dist/commands/logout.js.map +1 -0
- package/dist/commands/logs.d.ts +13 -0
- package/dist/commands/logs.d.ts.map +1 -0
- package/dist/commands/logs.js +173 -0
- package/dist/commands/logs.js.map +1 -0
- package/dist/commands/secrets.d.ts +16 -0
- package/dist/commands/secrets.d.ts.map +1 -0
- package/dist/commands/secrets.js +195 -0
- package/dist/commands/secrets.js.map +1 -0
- package/dist/commands/status.d.ts +7 -0
- package/dist/commands/status.d.ts.map +1 -0
- package/dist/commands/status.js +187 -0
- package/dist/commands/status.js.map +1 -0
- package/dist/index.d.ts +3 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +241 -0
- package/dist/index.js.map +1 -0
- package/dist/lib/api.d.ts +154 -0
- package/dist/lib/api.d.ts.map +1 -0
- package/dist/lib/api.js +364 -0
- package/dist/lib/api.js.map +1 -0
- package/dist/lib/auth.d.ts +20 -0
- package/dist/lib/auth.d.ts.map +1 -0
- package/dist/lib/auth.js +106 -0
- package/dist/lib/auth.js.map +1 -0
- package/dist/lib/cache.d.ts +39 -0
- package/dist/lib/cache.d.ts.map +1 -0
- package/dist/lib/cache.js +112 -0
- package/dist/lib/cache.js.map +1 -0
- package/dist/lib/config.d.ts +21 -0
- package/dist/lib/config.d.ts.map +1 -0
- package/dist/lib/config.js +90 -0
- package/dist/lib/config.js.map +1 -0
- package/dist/lib/degit.d.ts +25 -0
- package/dist/lib/degit.d.ts.map +1 -0
- package/dist/lib/degit.js +187 -0
- package/dist/lib/degit.js.map +1 -0
- package/dist/lib/git.d.ts +10 -0
- package/dist/lib/git.d.ts.map +1 -0
- package/dist/lib/git.js +43 -0
- package/dist/lib/git.js.map +1 -0
- package/dist/lib/project.d.ts +38 -0
- package/dist/lib/project.d.ts.map +1 -0
- package/dist/lib/project.js +72 -0
- package/dist/lib/project.js.map +1 -0
- package/dist/lib/tarball.d.ts +7 -0
- package/dist/lib/tarball.d.ts.map +1 -0
- package/dist/lib/tarball.js +130 -0
- package/dist/lib/tarball.js.map +1 -0
- package/package.json +56 -0
package/LICENSE
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2025 MCPize
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
package/README.md
ADDED
|
@@ -0,0 +1,140 @@
|
|
|
1
|
+
# mcpize
|
|
2
|
+
|
|
3
|
+
Deploy and monetize MCP servers in the cloud.
|
|
4
|
+
|
|
5
|
+
## Installation
|
|
6
|
+
|
|
7
|
+
```bash
|
|
8
|
+
npm install -g mcpize
|
|
9
|
+
```
|
|
10
|
+
|
|
11
|
+
## Quick Start
|
|
12
|
+
|
|
13
|
+
```bash
|
|
14
|
+
# Login to MCPize
|
|
15
|
+
mcpize login
|
|
16
|
+
|
|
17
|
+
# Create a new MCP server
|
|
18
|
+
mcpize init my-server
|
|
19
|
+
|
|
20
|
+
# Deploy to the cloud
|
|
21
|
+
cd my-server
|
|
22
|
+
mcpize deploy
|
|
23
|
+
```
|
|
24
|
+
|
|
25
|
+
## Commands
|
|
26
|
+
|
|
27
|
+
| Command | Description |
|
|
28
|
+
|---------|-------------|
|
|
29
|
+
| `mcpize login` | Authenticate with MCPize |
|
|
30
|
+
| `mcpize logout` | Log out from MCPize |
|
|
31
|
+
| `mcpize init [name]` | Create a new MCP server project |
|
|
32
|
+
| `mcpize link` | Link current directory to an existing server |
|
|
33
|
+
| `mcpize deploy` | Deploy to MCPize Cloud |
|
|
34
|
+
| `mcpize status` | Show server status and deployments |
|
|
35
|
+
| `mcpize logs` | View runtime and build logs |
|
|
36
|
+
| `mcpize secrets list` | List environment secrets |
|
|
37
|
+
| `mcpize secrets set <name>` | Set a secret |
|
|
38
|
+
| `mcpize secrets delete <name>` | Delete a secret (alias: `rm`) |
|
|
39
|
+
| `mcpize doctor` | Run pre-deploy diagnostics |
|
|
40
|
+
| `mcpize whoami` | Show current authenticated user |
|
|
41
|
+
|
|
42
|
+
## Templates
|
|
43
|
+
|
|
44
|
+
Create a new project from a template:
|
|
45
|
+
|
|
46
|
+
```bash
|
|
47
|
+
# TypeScript (default)
|
|
48
|
+
mcpize init my-server
|
|
49
|
+
|
|
50
|
+
# Generate from OpenAPI spec
|
|
51
|
+
mcpize init my-api --template openapi --from-url https://api.example.com/openapi.json
|
|
52
|
+
|
|
53
|
+
# Python
|
|
54
|
+
mcpize init my-server --template python
|
|
55
|
+
```
|
|
56
|
+
|
|
57
|
+
## Secrets Management
|
|
58
|
+
|
|
59
|
+
```bash
|
|
60
|
+
# Set a secret
|
|
61
|
+
mcpize secrets set API_KEY sk-xxx
|
|
62
|
+
|
|
63
|
+
# Set from file
|
|
64
|
+
mcpize secrets set CREDENTIALS --from-file ./credentials.json
|
|
65
|
+
|
|
66
|
+
# List secrets (names only)
|
|
67
|
+
mcpize secrets list
|
|
68
|
+
|
|
69
|
+
# Export secrets
|
|
70
|
+
mcpize secrets export --format env
|
|
71
|
+
```
|
|
72
|
+
|
|
73
|
+
## Logs
|
|
74
|
+
|
|
75
|
+
```bash
|
|
76
|
+
# View runtime logs
|
|
77
|
+
mcpize logs
|
|
78
|
+
|
|
79
|
+
# View build logs
|
|
80
|
+
mcpize logs --type build
|
|
81
|
+
|
|
82
|
+
# Follow logs in real-time
|
|
83
|
+
mcpize logs --follow
|
|
84
|
+
|
|
85
|
+
# Filter by severity
|
|
86
|
+
mcpize logs --severity ERROR
|
|
87
|
+
```
|
|
88
|
+
|
|
89
|
+
## Linking
|
|
90
|
+
|
|
91
|
+
```bash
|
|
92
|
+
# Link current directory to an existing server
|
|
93
|
+
mcpize link
|
|
94
|
+
|
|
95
|
+
# Link to a specific server
|
|
96
|
+
mcpize link --server <server-id>
|
|
97
|
+
|
|
98
|
+
# Force re-link
|
|
99
|
+
mcpize link --force
|
|
100
|
+
```
|
|
101
|
+
|
|
102
|
+
## Options
|
|
103
|
+
|
|
104
|
+
```bash
|
|
105
|
+
# Use specific server
|
|
106
|
+
mcpize status --server <server-id>
|
|
107
|
+
|
|
108
|
+
# Output as JSON
|
|
109
|
+
mcpize status --json
|
|
110
|
+
|
|
111
|
+
# Deploy without waiting
|
|
112
|
+
mcpize deploy --no-wait
|
|
113
|
+
|
|
114
|
+
# Auto-create server if not linked
|
|
115
|
+
mcpize deploy --yes
|
|
116
|
+
|
|
117
|
+
# Force refresh (ignore cache)
|
|
118
|
+
mcpize status --refresh
|
|
119
|
+
```
|
|
120
|
+
|
|
121
|
+
## Global Options
|
|
122
|
+
|
|
123
|
+
| Option | Description |
|
|
124
|
+
|--------|-------------|
|
|
125
|
+
| `--token <token>` | API token (overrides `MCPIZE_TOKEN` env and saved session) |
|
|
126
|
+
|
|
127
|
+
## Environment Variables
|
|
128
|
+
|
|
129
|
+
| Variable | Description |
|
|
130
|
+
|----------|-------------|
|
|
131
|
+
| `MCPIZE_TOKEN` | API token (alternative to `mcpize login`) |
|
|
132
|
+
|
|
133
|
+
## Links
|
|
134
|
+
|
|
135
|
+
- [Website](https://mcpize.com)
|
|
136
|
+
- [Documentation](https://docs.mcpize.com)
|
|
137
|
+
|
|
138
|
+
## License
|
|
139
|
+
|
|
140
|
+
MIT
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"deploy.d.ts","sourceRoot":"","sources":["../../src/commands/deploy.ts"],"names":[],"mappings":"AA0BA,MAAM,WAAW,aAAa;IAC5B,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,GAAG,CAAC,EAAE,OAAO,CAAC;CACf;AAUD,wBAAsB,aAAa,CAAC,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,CAiYzE"}
|
|
@@ -0,0 +1,337 @@
|
|
|
1
|
+
import chalk from "chalk";
|
|
2
|
+
import ora from "ora";
|
|
3
|
+
import Enquirer from "enquirer";
|
|
4
|
+
import path from "node:path";
|
|
5
|
+
const { prompt } = Enquirer;
|
|
6
|
+
import { getToken } from "../lib/config.js";
|
|
7
|
+
import { uploadTarball, triggerDeploy, getDeploymentStatus, listServers, findServerByRepo, createServer, } from "../lib/api.js";
|
|
8
|
+
import { createTarball, formatBytes } from "../lib/tarball.js";
|
|
9
|
+
import { getGitInfo } from "../lib/git.js";
|
|
10
|
+
import { loadProjectConfig, saveProjectConfig, hasManifest, loadManifest, loadPackageJson, } from "../lib/project.js";
|
|
11
|
+
function slugify(text) {
|
|
12
|
+
return text
|
|
13
|
+
.toLowerCase()
|
|
14
|
+
.replace(/[^a-z0-9]+/g, "-")
|
|
15
|
+
.replace(/^-+|-+$/g, "")
|
|
16
|
+
.slice(0, 50);
|
|
17
|
+
}
|
|
18
|
+
export async function deployCommand(options) {
|
|
19
|
+
const cwd = process.cwd();
|
|
20
|
+
// Check authentication
|
|
21
|
+
const token = getToken();
|
|
22
|
+
if (!token) {
|
|
23
|
+
console.error(chalk.red("Not authenticated. Run: mcpize login"));
|
|
24
|
+
process.exit(1);
|
|
25
|
+
}
|
|
26
|
+
// Check for mcpize.yaml
|
|
27
|
+
if (!hasManifest(cwd)) {
|
|
28
|
+
console.error(chalk.red("No mcpize.yaml found in current directory."));
|
|
29
|
+
console.error(chalk.dim("Create one with: mcpize init"));
|
|
30
|
+
process.exit(1);
|
|
31
|
+
}
|
|
32
|
+
const manifest = loadManifest(cwd);
|
|
33
|
+
console.log(chalk.bold("\nMCPize Deploy\n"));
|
|
34
|
+
console.log(chalk.dim(`Runtime: ${manifest?.runtime || "unknown"}`));
|
|
35
|
+
// Get git info first (needed for auto-create)
|
|
36
|
+
const gitInfo = await getGitInfo(cwd);
|
|
37
|
+
// Get or create server
|
|
38
|
+
let projectConfig = loadProjectConfig(cwd);
|
|
39
|
+
let serverId = "";
|
|
40
|
+
let serverName;
|
|
41
|
+
if (projectConfig?.serverId) {
|
|
42
|
+
// Already linked to a server
|
|
43
|
+
serverId = projectConfig.serverId;
|
|
44
|
+
serverName = projectConfig.serverName;
|
|
45
|
+
console.log(chalk.dim(`Server: ${serverName || serverId}`));
|
|
46
|
+
}
|
|
47
|
+
else {
|
|
48
|
+
// Need to find or create a server
|
|
49
|
+
console.log(chalk.yellow("Project not linked to a server.\n"));
|
|
50
|
+
let existingServer = null;
|
|
51
|
+
// Try to find server by git repo
|
|
52
|
+
if (gitInfo?.repoFullName) {
|
|
53
|
+
const spinner = ora("Checking for existing server...").start();
|
|
54
|
+
try {
|
|
55
|
+
existingServer = await findServerByRepo(gitInfo.repoFullName);
|
|
56
|
+
spinner.stop();
|
|
57
|
+
if (existingServer) {
|
|
58
|
+
console.log(chalk.green(`✓ Found existing server: ${existingServer.name}`));
|
|
59
|
+
serverId = existingServer.id;
|
|
60
|
+
serverName = existingServer.name;
|
|
61
|
+
// Save project config
|
|
62
|
+
projectConfig = {
|
|
63
|
+
serverId,
|
|
64
|
+
serverName,
|
|
65
|
+
branch: existingServer.branch,
|
|
66
|
+
};
|
|
67
|
+
saveProjectConfig(cwd, projectConfig);
|
|
68
|
+
console.log(chalk.dim(`Linked to .mcpize/project.json\n`));
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
catch (error) {
|
|
72
|
+
spinner.stop();
|
|
73
|
+
// Continue to create new server
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
if (!existingServer) {
|
|
77
|
+
// No existing server found - offer to create or select
|
|
78
|
+
// Priority chain: mcpize.yaml name → package.json name → git repo name → directory name
|
|
79
|
+
const packageJson = loadPackageJson(cwd);
|
|
80
|
+
const defaultName = manifest?.name ||
|
|
81
|
+
packageJson?.name ||
|
|
82
|
+
gitInfo?.repoFullName?.split("/")[1] ||
|
|
83
|
+
path.basename(cwd);
|
|
84
|
+
let action;
|
|
85
|
+
let serverNameToCreate = defaultName;
|
|
86
|
+
if (options.yes) {
|
|
87
|
+
// Auto-create with default name
|
|
88
|
+
action = "create";
|
|
89
|
+
console.log(chalk.dim(`Auto-creating server "${defaultName}"...\n`));
|
|
90
|
+
}
|
|
91
|
+
else {
|
|
92
|
+
const response = await prompt({
|
|
93
|
+
type: "select",
|
|
94
|
+
name: "action",
|
|
95
|
+
message: "No server found. What would you like to do?",
|
|
96
|
+
choices: [
|
|
97
|
+
{
|
|
98
|
+
name: "create",
|
|
99
|
+
message: `Create new server "${defaultName}"`,
|
|
100
|
+
},
|
|
101
|
+
{
|
|
102
|
+
name: "select",
|
|
103
|
+
message: "Link to existing server",
|
|
104
|
+
},
|
|
105
|
+
{
|
|
106
|
+
name: "cancel",
|
|
107
|
+
message: "Cancel deployment",
|
|
108
|
+
},
|
|
109
|
+
],
|
|
110
|
+
});
|
|
111
|
+
action = response.action;
|
|
112
|
+
if (action === "cancel") {
|
|
113
|
+
console.log(chalk.dim("\nDeployment cancelled."));
|
|
114
|
+
process.exit(0);
|
|
115
|
+
}
|
|
116
|
+
if (action === "create") {
|
|
117
|
+
const nameResponse = await prompt({
|
|
118
|
+
type: "input",
|
|
119
|
+
name: "name",
|
|
120
|
+
message: "Server name:",
|
|
121
|
+
initial: defaultName,
|
|
122
|
+
});
|
|
123
|
+
serverNameToCreate = nameResponse.name;
|
|
124
|
+
}
|
|
125
|
+
}
|
|
126
|
+
if (action === "create") {
|
|
127
|
+
const spinner = ora("Creating server...").start();
|
|
128
|
+
try {
|
|
129
|
+
// Priority chain: mcpize.yaml description → package.json description
|
|
130
|
+
const description = manifest?.description || packageJson?.description;
|
|
131
|
+
const newServer = await createServer({
|
|
132
|
+
name: serverNameToCreate,
|
|
133
|
+
slug: slugify(serverNameToCreate),
|
|
134
|
+
description,
|
|
135
|
+
repo_full_name: gitInfo?.repoFullName,
|
|
136
|
+
branch: gitInfo?.branch || "main",
|
|
137
|
+
});
|
|
138
|
+
spinner.succeed(`Created server: ${newServer.name}`);
|
|
139
|
+
serverId = newServer.id;
|
|
140
|
+
serverName = newServer.name;
|
|
141
|
+
// Save project config
|
|
142
|
+
projectConfig = {
|
|
143
|
+
serverId,
|
|
144
|
+
serverName,
|
|
145
|
+
branch: newServer.branch,
|
|
146
|
+
};
|
|
147
|
+
saveProjectConfig(cwd, projectConfig);
|
|
148
|
+
console.log(chalk.dim(`Saved to .mcpize/project.json\n`));
|
|
149
|
+
}
|
|
150
|
+
catch (error) {
|
|
151
|
+
spinner.fail("Failed to create server");
|
|
152
|
+
console.error(chalk.red(error instanceof Error ? error.message : String(error)));
|
|
153
|
+
process.exit(1);
|
|
154
|
+
}
|
|
155
|
+
}
|
|
156
|
+
else if (action === "select") {
|
|
157
|
+
// Select existing server
|
|
158
|
+
const spinner = ora("Fetching servers...").start();
|
|
159
|
+
let servers;
|
|
160
|
+
try {
|
|
161
|
+
servers = await listServers();
|
|
162
|
+
spinner.stop();
|
|
163
|
+
}
|
|
164
|
+
catch (error) {
|
|
165
|
+
spinner.fail("Failed to fetch servers");
|
|
166
|
+
console.error(chalk.red(error instanceof Error ? error.message : String(error)));
|
|
167
|
+
process.exit(1);
|
|
168
|
+
}
|
|
169
|
+
if (servers.length === 0) {
|
|
170
|
+
console.log(chalk.yellow("\nNo servers found. Creating a new one...\n"));
|
|
171
|
+
const nameResponse = await prompt({
|
|
172
|
+
type: "input",
|
|
173
|
+
name: "name",
|
|
174
|
+
message: "Server name:",
|
|
175
|
+
initial: defaultName,
|
|
176
|
+
});
|
|
177
|
+
const createSpinner = ora("Creating server...").start();
|
|
178
|
+
try {
|
|
179
|
+
// Priority chain: mcpize.yaml description → package.json description
|
|
180
|
+
const description = manifest?.description || packageJson?.description;
|
|
181
|
+
const newServer = await createServer({
|
|
182
|
+
name: nameResponse.name,
|
|
183
|
+
slug: slugify(nameResponse.name),
|
|
184
|
+
description,
|
|
185
|
+
repo_full_name: gitInfo?.repoFullName,
|
|
186
|
+
branch: gitInfo?.branch || "main",
|
|
187
|
+
});
|
|
188
|
+
createSpinner.succeed(`Created server: ${newServer.name}`);
|
|
189
|
+
serverId = newServer.id;
|
|
190
|
+
serverName = newServer.name;
|
|
191
|
+
projectConfig = {
|
|
192
|
+
serverId,
|
|
193
|
+
serverName,
|
|
194
|
+
branch: newServer.branch,
|
|
195
|
+
};
|
|
196
|
+
saveProjectConfig(cwd, projectConfig);
|
|
197
|
+
console.log(chalk.dim(`Saved to .mcpize/project.json\n`));
|
|
198
|
+
}
|
|
199
|
+
catch (error) {
|
|
200
|
+
createSpinner.fail("Failed to create server");
|
|
201
|
+
console.error(chalk.red(error instanceof Error ? error.message : String(error)));
|
|
202
|
+
process.exit(1);
|
|
203
|
+
}
|
|
204
|
+
}
|
|
205
|
+
else {
|
|
206
|
+
const selectResponse = await prompt({
|
|
207
|
+
type: "select",
|
|
208
|
+
name: "server",
|
|
209
|
+
message: "Select a server to deploy to:",
|
|
210
|
+
choices: servers.map((s) => ({
|
|
211
|
+
name: s.id,
|
|
212
|
+
message: `${s.name} (${s.slug})${s.repo_full_name ? ` - ${s.repo_full_name}` : ""}`,
|
|
213
|
+
value: s.id,
|
|
214
|
+
})),
|
|
215
|
+
});
|
|
216
|
+
serverId = selectResponse.server;
|
|
217
|
+
const selectedServer = servers.find((s) => s.id === serverId);
|
|
218
|
+
serverName = selectedServer?.name;
|
|
219
|
+
// Save project config
|
|
220
|
+
projectConfig = {
|
|
221
|
+
serverId,
|
|
222
|
+
serverName,
|
|
223
|
+
branch: selectedServer?.branch,
|
|
224
|
+
};
|
|
225
|
+
saveProjectConfig(cwd, projectConfig);
|
|
226
|
+
console.log(chalk.green(`\n✓ Linked to ${serverName}`));
|
|
227
|
+
console.log(chalk.dim(`Saved to .mcpize/project.json\n`));
|
|
228
|
+
}
|
|
229
|
+
}
|
|
230
|
+
}
|
|
231
|
+
}
|
|
232
|
+
// Show git info
|
|
233
|
+
if (gitInfo) {
|
|
234
|
+
console.log(chalk.dim(`Branch: ${gitInfo.branch}`));
|
|
235
|
+
console.log(chalk.dim(`Commit: ${gitInfo.sha} - ${gitInfo.message}`));
|
|
236
|
+
}
|
|
237
|
+
console.log();
|
|
238
|
+
// Create tarball
|
|
239
|
+
const tarballSpinner = ora("Creating tarball...").start();
|
|
240
|
+
let tarballBuffer;
|
|
241
|
+
try {
|
|
242
|
+
tarballBuffer = await createTarball({ cwd });
|
|
243
|
+
tarballSpinner.succeed(`Tarball created (${formatBytes(tarballBuffer.length)})`);
|
|
244
|
+
}
|
|
245
|
+
catch (error) {
|
|
246
|
+
tarballSpinner.fail("Failed to create tarball");
|
|
247
|
+
console.error(chalk.red(error instanceof Error ? error.message : String(error)));
|
|
248
|
+
process.exit(1);
|
|
249
|
+
}
|
|
250
|
+
// Check size limit (100MB)
|
|
251
|
+
const MAX_SIZE = 100 * 1024 * 1024;
|
|
252
|
+
if (tarballBuffer.length > MAX_SIZE) {
|
|
253
|
+
console.error(chalk.red(`\nTarball too large: ${formatBytes(tarballBuffer.length)}`));
|
|
254
|
+
console.error(chalk.red(`Maximum allowed: ${formatBytes(MAX_SIZE)}`));
|
|
255
|
+
console.error(chalk.dim("\nTip: Check .mcpizeignore to exclude large files"));
|
|
256
|
+
process.exit(1);
|
|
257
|
+
}
|
|
258
|
+
// Upload tarball
|
|
259
|
+
const uploadSpinner = ora("Uploading to MCPize...").start();
|
|
260
|
+
let uploadId;
|
|
261
|
+
try {
|
|
262
|
+
const uploadResult = await uploadTarball(serverId, tarballBuffer, gitInfo?.sha);
|
|
263
|
+
uploadId = uploadResult.upload_id;
|
|
264
|
+
uploadSpinner.succeed("Uploaded successfully");
|
|
265
|
+
}
|
|
266
|
+
catch (error) {
|
|
267
|
+
uploadSpinner.fail("Upload failed");
|
|
268
|
+
console.error(chalk.red(error instanceof Error ? error.message : String(error)));
|
|
269
|
+
process.exit(1);
|
|
270
|
+
}
|
|
271
|
+
// Trigger deploy
|
|
272
|
+
const deploySpinner = ora("Triggering deployment...").start();
|
|
273
|
+
try {
|
|
274
|
+
const deployResult = await triggerDeploy(serverId, uploadId, {
|
|
275
|
+
gitSha: gitInfo?.sha,
|
|
276
|
+
gitBranch: gitInfo?.branch,
|
|
277
|
+
gitAuthor: gitInfo?.author,
|
|
278
|
+
gitMessage: gitInfo?.message,
|
|
279
|
+
notes: options.notes,
|
|
280
|
+
});
|
|
281
|
+
deploySpinner.succeed("Deployment triggered");
|
|
282
|
+
console.log(chalk.bold.green("\n✓ Deployment started!\n"));
|
|
283
|
+
console.log(chalk.dim(`Deployment ID: ${deployResult.deployment_id}`));
|
|
284
|
+
console.log(chalk.dim(`Status: ${deployResult.status}`));
|
|
285
|
+
console.log(chalk.dim(`Dashboard: ${deployResult.dashboard_url}`));
|
|
286
|
+
// Wait for deployment by default, unless --no-wait is specified
|
|
287
|
+
const shouldWait = !options.noWait;
|
|
288
|
+
if (shouldWait) {
|
|
289
|
+
console.log(chalk.dim("\nWaiting for deployment to complete...\n"));
|
|
290
|
+
const waitSpinner = ora("Building...").start();
|
|
291
|
+
const deploymentId = deployResult.deployment_id;
|
|
292
|
+
let lastStatus = "";
|
|
293
|
+
while (true) {
|
|
294
|
+
await new Promise((resolve) => setTimeout(resolve, 10000)); // Poll every 10s
|
|
295
|
+
try {
|
|
296
|
+
const status = await getDeploymentStatus(deploymentId);
|
|
297
|
+
if (status.status !== lastStatus) {
|
|
298
|
+
lastStatus = status.status;
|
|
299
|
+
if (status.status === "building") {
|
|
300
|
+
waitSpinner.text = "Building Docker image...";
|
|
301
|
+
}
|
|
302
|
+
else if (status.status === "deploying") {
|
|
303
|
+
waitSpinner.text = "Deploying to Cloud Run...";
|
|
304
|
+
}
|
|
305
|
+
}
|
|
306
|
+
if (status.status === "success") {
|
|
307
|
+
waitSpinner.succeed("Deployment complete!");
|
|
308
|
+
console.log(chalk.bold.green(`\n✓ Server is live!\n`));
|
|
309
|
+
if (status.service_url) {
|
|
310
|
+
console.log(chalk.cyan(`URL: ${status.service_url}`));
|
|
311
|
+
}
|
|
312
|
+
break;
|
|
313
|
+
}
|
|
314
|
+
else if (status.status === "failed") {
|
|
315
|
+
waitSpinner.fail("Deployment failed");
|
|
316
|
+
if (status.error) {
|
|
317
|
+
console.error(chalk.red(`\nError: ${status.error}`));
|
|
318
|
+
}
|
|
319
|
+
console.log(chalk.dim(`\nCheck logs: mcpize logs --build`));
|
|
320
|
+
process.exit(1);
|
|
321
|
+
}
|
|
322
|
+
}
|
|
323
|
+
catch (error) {
|
|
324
|
+
// Continue polling on network errors
|
|
325
|
+
console.error(chalk.dim(`\nPolling error: ${error instanceof Error ? error.message : String(error)}`));
|
|
326
|
+
}
|
|
327
|
+
}
|
|
328
|
+
}
|
|
329
|
+
console.log();
|
|
330
|
+
}
|
|
331
|
+
catch (error) {
|
|
332
|
+
deploySpinner.fail("Deployment failed");
|
|
333
|
+
console.error(chalk.red(error instanceof Error ? error.message : String(error)));
|
|
334
|
+
process.exit(1);
|
|
335
|
+
}
|
|
336
|
+
}
|
|
337
|
+
//# sourceMappingURL=deploy.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"deploy.js","sourceRoot":"","sources":["../../src/commands/deploy.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"doctor.d.ts","sourceRoot":"","sources":["../../src/commands/doctor.ts"],"names":[],"mappings":"AAQA,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,GAAG,CAAC,EAAE,OAAO,CAAC;CACf;AA8RD,wBAAsB,aAAa,CAAC,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,CAoEzE"}
|