@digitalpresence/cliclaw 0.4.2 → 0.5.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/.turbo/turbo-build.log +4 -0
- package/dist/__tests__/vercel.integration.test.d.ts +2 -0
- package/dist/__tests__/vercel.integration.test.d.ts.map +1 -0
- package/dist/__tests__/vercel.integration.test.js +111 -0
- package/dist/__tests__/vercel.integration.test.js.map +1 -0
- package/dist/cli.js +3 -1
- package/dist/cli.js.map +1 -1
- package/dist/commands/vercel.d.ts +6 -0
- package/dist/commands/vercel.d.ts.map +1 -0
- package/dist/commands/vercel.js +200 -0
- package/dist/commands/vercel.js.map +1 -0
- package/dist/vercel/api.d.ts +5 -0
- package/dist/vercel/api.d.ts.map +1 -0
- package/dist/vercel/api.js +68 -0
- package/dist/vercel/api.js.map +1 -0
- package/dist/vercel/handlers.d.ts +23 -0
- package/dist/vercel/handlers.d.ts.map +1 -0
- package/dist/vercel/handlers.js +253 -0
- package/dist/vercel/handlers.js.map +1 -0
- package/package.json +11 -11
- package/src/__tests__/vercel.integration.test.ts +164 -0
- package/src/cli.ts +3 -1
- package/src/commands/vercel.ts +236 -0
- package/src/vercel/api.ts +89 -0
- package/src/vercel/handlers.ts +369 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"vercel.integration.test.d.ts","sourceRoot":"","sources":["../../src/__tests__/vercel.integration.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,111 @@
|
|
|
1
|
+
import { execFile } from "child_process";
|
|
2
|
+
import { promisify } from "util";
|
|
3
|
+
import { join } from "path";
|
|
4
|
+
import { describe, it, expect, afterAll } from "vitest";
|
|
5
|
+
const execFileAsync = promisify(execFile);
|
|
6
|
+
const CLI = join(import.meta.dirname, "../../dist/cli.js");
|
|
7
|
+
async function run(...args) {
|
|
8
|
+
try {
|
|
9
|
+
const { stdout, stderr } = await execFileAsync("node", [CLI, ...args], {
|
|
10
|
+
timeout: 30000,
|
|
11
|
+
});
|
|
12
|
+
return { stdout, stderr, exitCode: 0 };
|
|
13
|
+
}
|
|
14
|
+
catch (err) {
|
|
15
|
+
return {
|
|
16
|
+
stdout: err.stdout ?? "",
|
|
17
|
+
stderr: err.stderr ?? "",
|
|
18
|
+
exitCode: err.code ?? 1,
|
|
19
|
+
};
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
function parseJson(result) {
|
|
23
|
+
return JSON.parse(result.stdout);
|
|
24
|
+
}
|
|
25
|
+
describe.sequential("Vercel CLI integration", () => {
|
|
26
|
+
const testProjectName = `cliclaw-test-${Date.now()}`;
|
|
27
|
+
let testProjectId;
|
|
28
|
+
let testEnvId;
|
|
29
|
+
afterAll(async () => {
|
|
30
|
+
if (testProjectId) {
|
|
31
|
+
await run("vercel", "project-delete", "--project", testProjectId);
|
|
32
|
+
}
|
|
33
|
+
});
|
|
34
|
+
it("whoami — returns authenticated user info", async () => {
|
|
35
|
+
const result = await run("vercel", "whoami");
|
|
36
|
+
expect(result.exitCode).toBe(0);
|
|
37
|
+
const data = parseJson(result);
|
|
38
|
+
expect(data).toHaveProperty("user");
|
|
39
|
+
expect(data.user).toHaveProperty("email");
|
|
40
|
+
});
|
|
41
|
+
it("projects — returns a list of projects", async () => {
|
|
42
|
+
const result = await run("vercel", "projects", "--max-results", "5");
|
|
43
|
+
expect(result.exitCode).toBe(0);
|
|
44
|
+
const data = parseJson(result);
|
|
45
|
+
expect(Array.isArray(data)).toBe(true);
|
|
46
|
+
});
|
|
47
|
+
it("project-create — creates a test project", async () => {
|
|
48
|
+
const result = await run("vercel", "project-create", "--name", testProjectName);
|
|
49
|
+
expect(result.exitCode).toBe(0);
|
|
50
|
+
const data = parseJson(result);
|
|
51
|
+
expect(data).toHaveProperty("id");
|
|
52
|
+
expect(data.name).toBe(testProjectName);
|
|
53
|
+
testProjectId = data.id;
|
|
54
|
+
});
|
|
55
|
+
it("project — gets the test project by ID", async () => {
|
|
56
|
+
const result = await run("vercel", "project", "--project", testProjectId);
|
|
57
|
+
expect(result.exitCode).toBe(0);
|
|
58
|
+
const data = parseJson(result);
|
|
59
|
+
expect(data.id).toBe(testProjectId);
|
|
60
|
+
expect(data.name).toBe(testProjectName);
|
|
61
|
+
});
|
|
62
|
+
it("env-create — creates an env var on the test project", async () => {
|
|
63
|
+
const result = await run("vercel", "env-create", "--project", testProjectId, "--key", "CLICLAW_TEST_VAR", "--value", "test-value", "--target", "development,preview", "--type", "plain");
|
|
64
|
+
expect(result.exitCode).toBe(0);
|
|
65
|
+
const data = parseJson(result);
|
|
66
|
+
expect(data).toHaveProperty("id");
|
|
67
|
+
testEnvId = data.id;
|
|
68
|
+
});
|
|
69
|
+
it("envs — lists env vars for the test project", async () => {
|
|
70
|
+
const result = await run("vercel", "envs", "--project", testProjectId);
|
|
71
|
+
expect(result.exitCode).toBe(0);
|
|
72
|
+
const data = parseJson(result);
|
|
73
|
+
expect(Array.isArray(data)).toBe(true);
|
|
74
|
+
const ids = data.map((e) => e.id);
|
|
75
|
+
expect(ids).toContain(testEnvId);
|
|
76
|
+
});
|
|
77
|
+
it("env — gets the created env var", async () => {
|
|
78
|
+
const result = await run("vercel", "env", "--project", testProjectId, "--env-id", testEnvId);
|
|
79
|
+
expect(result.exitCode).toBe(0);
|
|
80
|
+
const data = parseJson(result);
|
|
81
|
+
expect(data.key).toBe("CLICLAW_TEST_VAR");
|
|
82
|
+
});
|
|
83
|
+
it("env-update — updates the env var value", async () => {
|
|
84
|
+
const result = await run("vercel", "env-update", "--project", testProjectId, "--env-id", testEnvId, "--value", "updated-value");
|
|
85
|
+
expect(result.exitCode).toBe(0);
|
|
86
|
+
const data = parseJson(result);
|
|
87
|
+
expect(data).toHaveProperty("id");
|
|
88
|
+
});
|
|
89
|
+
it("env-delete — deletes the env var", async () => {
|
|
90
|
+
const result = await run("vercel", "env-delete", "--project", testProjectId, "--env-id", testEnvId);
|
|
91
|
+
expect(result.exitCode).toBe(0);
|
|
92
|
+
});
|
|
93
|
+
it("deployments — lists deployments", async () => {
|
|
94
|
+
const result = await run("vercel", "deployments", "--max-results", "5");
|
|
95
|
+
expect(result.exitCode).toBe(0);
|
|
96
|
+
const data = parseJson(result);
|
|
97
|
+
expect(Array.isArray(data)).toBe(true);
|
|
98
|
+
});
|
|
99
|
+
it("domains — lists domains", async () => {
|
|
100
|
+
const result = await run("vercel", "domains", "--max-results", "5");
|
|
101
|
+
expect(result.exitCode).toBe(0);
|
|
102
|
+
const data = parseJson(result);
|
|
103
|
+
expect(Array.isArray(data)).toBe(true);
|
|
104
|
+
});
|
|
105
|
+
it("project-delete — deletes the test project", async () => {
|
|
106
|
+
const result = await run("vercel", "project-delete", "--project", testProjectId);
|
|
107
|
+
expect(result.exitCode).toBe(0);
|
|
108
|
+
testProjectId = ""; // prevent afterAll cleanup
|
|
109
|
+
});
|
|
110
|
+
});
|
|
111
|
+
//# sourceMappingURL=vercel.integration.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"vercel.integration.test.js","sourceRoot":"","sources":["../../src/__tests__/vercel.integration.test.ts"],"names":[],"mappings":"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"}
|
package/dist/cli.js
CHANGED
|
@@ -11,6 +11,7 @@ import { registerFormsCommands } from "./commands/forms.js";
|
|
|
11
11
|
import { registerAgentCommands } from "./commands/agent.js";
|
|
12
12
|
import { registerCronCommands } from "./commands/cron.js";
|
|
13
13
|
import { registerGithubCommands } from "./commands/github.js";
|
|
14
|
+
import { registerVercelCommands } from "./commands/vercel.js";
|
|
14
15
|
import { registerInitCommand } from "./commands/init.js";
|
|
15
16
|
import { outputError } from "./lib/output.js";
|
|
16
17
|
function getClientManager() {
|
|
@@ -23,7 +24,7 @@ function getClientManager() {
|
|
|
23
24
|
const program = new Command();
|
|
24
25
|
program
|
|
25
26
|
.name("cliclaw")
|
|
26
|
-
.description("CLI tool for Gmail, Google Drive, Google Slides, Google Sheets, Google Calendar, Google Forms, and
|
|
27
|
+
.description("CLI tool for Gmail, Google Drive, Google Slides, Google Sheets, Google Calendar, Google Forms, GitHub, and Vercel operations")
|
|
27
28
|
.version("0.1.0");
|
|
28
29
|
registerGmailCommands(program, getClientManager);
|
|
29
30
|
registerGDriveCommands(program, getClientManager);
|
|
@@ -32,6 +33,7 @@ registerSheetsCommands(program, getClientManager);
|
|
|
32
33
|
registerCalendarCommands(program, getClientManager);
|
|
33
34
|
registerFormsCommands(program, getClientManager);
|
|
34
35
|
registerGithubCommands(program, () => new TokenStore(getTokensPath()));
|
|
36
|
+
registerVercelCommands(program, () => new TokenStore(getTokensPath()));
|
|
35
37
|
registerAgentCommands(program, () => new AgentStore(getAgentsDir()));
|
|
36
38
|
registerCronCommands(program, () => new AgentStore(getAgentsDir()));
|
|
37
39
|
registerInitCommand(program);
|
package/dist/cli.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,UAAU,EAAE,kBAAkB,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AACzG,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAC5D,OAAO,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AAC5D,OAAO,EAAE,sBAAsB,EAAE,MAAM,sBAAsB,CAAC;AAC9D,OAAO,EAAE,uBAAuB,EAAE,MAAM,uBAAuB,CAAC;AAChE,OAAO,EAAE,sBAAsB,EAAE,MAAM,sBAAsB,CAAC;AAC9D,OAAO,EAAE,wBAAwB,EAAE,MAAM,wBAAwB,CAAC;AAClE,OAAO,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AAC5D,OAAO,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AAC5D,OAAO,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAC1D,OAAO,EAAE,sBAAsB,EAAE,MAAM,sBAAsB,CAAC;AAC9D,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AACzD,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAE9C,SAAS,gBAAgB;IACvB,MAAM,MAAM,GAAG,UAAU,EAAE,CAAC;IAC5B,MAAM,UAAU,GAAG,IAAI,UAAU,CAAC,aAAa,EAAE,CAAC,CAAC;IACnD,MAAM,WAAW,GAAG,oBAAoB,MAAM,CAAC,UAAU,iBAAiB,CAAC;IAC3E,MAAM,aAAa,GAAG,IAAI,kBAAkB,CAAC,MAAM,CAAC,kBAAkB,EAAE,WAAW,EAAE,UAAU,CAAC,CAAC;IACjG,OAAO,EAAE,aAAa,EAAE,IAAI,EAAE,MAAM,CAAC,UAAU,EAAE,CAAC;AACpD,CAAC;AAED,MAAM,OAAO,GAAG,IAAI,OAAO,EAAE,CAAC;AAE9B,OAAO;KACJ,IAAI,CAAC,SAAS,CAAC;KACf,WAAW,CAAC,
|
|
1
|
+
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,UAAU,EAAE,kBAAkB,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AACzG,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAC5D,OAAO,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AAC5D,OAAO,EAAE,sBAAsB,EAAE,MAAM,sBAAsB,CAAC;AAC9D,OAAO,EAAE,uBAAuB,EAAE,MAAM,uBAAuB,CAAC;AAChE,OAAO,EAAE,sBAAsB,EAAE,MAAM,sBAAsB,CAAC;AAC9D,OAAO,EAAE,wBAAwB,EAAE,MAAM,wBAAwB,CAAC;AAClE,OAAO,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AAC5D,OAAO,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AAC5D,OAAO,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAC1D,OAAO,EAAE,sBAAsB,EAAE,MAAM,sBAAsB,CAAC;AAC9D,OAAO,EAAE,sBAAsB,EAAE,MAAM,sBAAsB,CAAC;AAC9D,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AACzD,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAE9C,SAAS,gBAAgB;IACvB,MAAM,MAAM,GAAG,UAAU,EAAE,CAAC;IAC5B,MAAM,UAAU,GAAG,IAAI,UAAU,CAAC,aAAa,EAAE,CAAC,CAAC;IACnD,MAAM,WAAW,GAAG,oBAAoB,MAAM,CAAC,UAAU,iBAAiB,CAAC;IAC3E,MAAM,aAAa,GAAG,IAAI,kBAAkB,CAAC,MAAM,CAAC,kBAAkB,EAAE,WAAW,EAAE,UAAU,CAAC,CAAC;IACjG,OAAO,EAAE,aAAa,EAAE,IAAI,EAAE,MAAM,CAAC,UAAU,EAAE,CAAC;AACpD,CAAC;AAED,MAAM,OAAO,GAAG,IAAI,OAAO,EAAE,CAAC;AAE9B,OAAO;KACJ,IAAI,CAAC,SAAS,CAAC;KACf,WAAW,CAAC,8HAA8H,CAAC;KAC3I,OAAO,CAAC,OAAO,CAAC,CAAC;AAEpB,qBAAqB,CAAC,OAAO,EAAE,gBAAgB,CAAC,CAAC;AACjD,sBAAsB,CAAC,OAAO,EAAE,gBAAgB,CAAC,CAAC;AAClD,uBAAuB,CAAC,OAAO,EAAE,gBAAgB,CAAC,CAAC;AACnD,sBAAsB,CAAC,OAAO,EAAE,gBAAgB,CAAC,CAAC;AAClD,wBAAwB,CAAC,OAAO,EAAE,gBAAgB,CAAC,CAAC;AACpD,qBAAqB,CAAC,OAAO,EAAE,gBAAgB,CAAC,CAAC;AACjD,sBAAsB,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,IAAI,UAAU,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC;AACvE,sBAAsB,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,IAAI,UAAU,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC;AACvE,qBAAqB,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,IAAI,UAAU,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC;AACrE,oBAAoB,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,IAAI,UAAU,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC;AACpE,mBAAmB,CAAC,OAAO,CAAC,CAAC;AAE7B,OAAO,CAAC,UAAU,EAAE,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;IACjC,WAAW,CAAC,WAAW,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;AAC7E,CAAC,CAAC,CAAC"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { Command } from "commander";
|
|
2
|
+
import { TokenStore } from "@digitalpresence/cliclaw-auth";
|
|
3
|
+
type TokenStoreFactory = () => TokenStore;
|
|
4
|
+
export declare function registerVercelCommands(program: Command, getTokenStore: TokenStoreFactory): void;
|
|
5
|
+
export {};
|
|
6
|
+
//# sourceMappingURL=vercel.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"vercel.d.ts","sourceRoot":"","sources":["../../src/commands/vercel.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAS3D,KAAK,iBAAiB,GAAG,MAAM,UAAU,CAAC;AAE1C,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,OAAO,EAAE,aAAa,EAAE,iBAAiB,GAAG,IAAI,CA+N/F"}
|
|
@@ -0,0 +1,200 @@
|
|
|
1
|
+
import { handleWhoami, handleProjects, handleProject, handleProjectCreate, handleProjectDelete, handleDeployments, handleDeployment, handleRedeploy, handlePromote, handleDeploymentDelete, handleBuildLogs, handleDomains, handleDomain, handleDomainAdd, handleDomainRemove, handleDomainVerify, handleEnvs, handleEnvGet, handleEnvCreate, handleEnvUpdate, handleEnvDelete, } from "../vercel/handlers.js";
|
|
2
|
+
export function registerVercelCommands(program, getTokenStore) {
|
|
3
|
+
let cached = null;
|
|
4
|
+
function resolve() {
|
|
5
|
+
if (!cached)
|
|
6
|
+
cached = getTokenStore();
|
|
7
|
+
return cached;
|
|
8
|
+
}
|
|
9
|
+
const vercel = program.command("vercel").description("Vercel commands");
|
|
10
|
+
// --- Account ---
|
|
11
|
+
vercel
|
|
12
|
+
.command("whoami")
|
|
13
|
+
.description("Show authenticated user info")
|
|
14
|
+
.option("--account <name>", "Account name", "default")
|
|
15
|
+
.action(async (opts) => {
|
|
16
|
+
await handleWhoami(resolve(), opts.account);
|
|
17
|
+
});
|
|
18
|
+
// --- Projects ---
|
|
19
|
+
vercel
|
|
20
|
+
.command("projects")
|
|
21
|
+
.description("List projects")
|
|
22
|
+
.option("--max-results <n>", "Maximum projects to return", "20")
|
|
23
|
+
.option("--account <name>", "Account name", "default")
|
|
24
|
+
.action(async (opts) => {
|
|
25
|
+
await handleProjects(resolve(), opts.account, parseInt(opts.maxResults));
|
|
26
|
+
});
|
|
27
|
+
vercel
|
|
28
|
+
.command("project")
|
|
29
|
+
.description("Get project details")
|
|
30
|
+
.requiredOption("--project <id>", "Project ID")
|
|
31
|
+
.option("--account <name>", "Account name", "default")
|
|
32
|
+
.action(async (opts) => {
|
|
33
|
+
await handleProject(resolve(), opts.account, opts.project);
|
|
34
|
+
});
|
|
35
|
+
vercel
|
|
36
|
+
.command("project-create")
|
|
37
|
+
.description("Create a project")
|
|
38
|
+
.requiredOption("--name <name>", "Project name")
|
|
39
|
+
.option("--framework <framework>", "Framework preset")
|
|
40
|
+
.option("--git-repo <owner/repo>", "Git repository (owner/repo)")
|
|
41
|
+
.option("--account <name>", "Account name", "default")
|
|
42
|
+
.action(async (opts) => {
|
|
43
|
+
await handleProjectCreate(resolve(), opts.account, opts.name, opts.framework, opts.gitRepo);
|
|
44
|
+
});
|
|
45
|
+
vercel
|
|
46
|
+
.command("project-delete")
|
|
47
|
+
.description("Delete a project")
|
|
48
|
+
.requiredOption("--project <id>", "Project ID")
|
|
49
|
+
.option("--account <name>", "Account name", "default")
|
|
50
|
+
.action(async (opts) => {
|
|
51
|
+
await handleProjectDelete(resolve(), opts.account, opts.project);
|
|
52
|
+
});
|
|
53
|
+
// --- Deployments ---
|
|
54
|
+
vercel
|
|
55
|
+
.command("deployments")
|
|
56
|
+
.description("List deployments")
|
|
57
|
+
.option("--project <id>", "Project ID")
|
|
58
|
+
.option("--max-results <n>", "Maximum deployments to return", "20")
|
|
59
|
+
.option("--account <name>", "Account name", "default")
|
|
60
|
+
.action(async (opts) => {
|
|
61
|
+
await handleDeployments(resolve(), opts.account, opts.project, parseInt(opts.maxResults));
|
|
62
|
+
});
|
|
63
|
+
vercel
|
|
64
|
+
.command("deployment")
|
|
65
|
+
.description("Get deployment details")
|
|
66
|
+
.requiredOption("--deployment-id <id>", "Deployment ID")
|
|
67
|
+
.option("--account <name>", "Account name", "default")
|
|
68
|
+
.action(async (opts) => {
|
|
69
|
+
await handleDeployment(resolve(), opts.account, opts.deploymentId);
|
|
70
|
+
});
|
|
71
|
+
vercel
|
|
72
|
+
.command("redeploy")
|
|
73
|
+
.description("Redeploy an existing deployment")
|
|
74
|
+
.requiredOption("--deployment-id <id>", "Deployment ID")
|
|
75
|
+
.option("--target <target>", "Deployment target (production/preview)")
|
|
76
|
+
.option("--account <name>", "Account name", "default")
|
|
77
|
+
.action(async (opts) => {
|
|
78
|
+
await handleRedeploy(resolve(), opts.account, opts.deploymentId, opts.target);
|
|
79
|
+
});
|
|
80
|
+
vercel
|
|
81
|
+
.command("promote")
|
|
82
|
+
.description("Promote deployment to production")
|
|
83
|
+
.requiredOption("--project <id>", "Project ID")
|
|
84
|
+
.requiredOption("--deployment-id <id>", "Deployment ID")
|
|
85
|
+
.option("--account <name>", "Account name", "default")
|
|
86
|
+
.action(async (opts) => {
|
|
87
|
+
await handlePromote(resolve(), opts.account, opts.project, opts.deploymentId);
|
|
88
|
+
});
|
|
89
|
+
vercel
|
|
90
|
+
.command("deployment-delete")
|
|
91
|
+
.description("Delete a deployment")
|
|
92
|
+
.requiredOption("--deployment-id <id>", "Deployment ID")
|
|
93
|
+
.option("--account <name>", "Account name", "default")
|
|
94
|
+
.action(async (opts) => {
|
|
95
|
+
await handleDeploymentDelete(resolve(), opts.account, opts.deploymentId);
|
|
96
|
+
});
|
|
97
|
+
vercel
|
|
98
|
+
.command("build-logs")
|
|
99
|
+
.description("Get build logs for a deployment")
|
|
100
|
+
.requiredOption("--deployment-id <id>", "Deployment ID")
|
|
101
|
+
.option("--account <name>", "Account name", "default")
|
|
102
|
+
.action(async (opts) => {
|
|
103
|
+
await handleBuildLogs(resolve(), opts.account, opts.deploymentId);
|
|
104
|
+
});
|
|
105
|
+
// --- Domains ---
|
|
106
|
+
vercel
|
|
107
|
+
.command("domains")
|
|
108
|
+
.description("List domains")
|
|
109
|
+
.option("--max-results <n>", "Maximum domains to return", "20")
|
|
110
|
+
.option("--account <name>", "Account name", "default")
|
|
111
|
+
.action(async (opts) => {
|
|
112
|
+
await handleDomains(resolve(), opts.account, parseInt(opts.maxResults));
|
|
113
|
+
});
|
|
114
|
+
vercel
|
|
115
|
+
.command("domain")
|
|
116
|
+
.description("Get domain details")
|
|
117
|
+
.requiredOption("--domain <domain>", "Domain name")
|
|
118
|
+
.option("--account <name>", "Account name", "default")
|
|
119
|
+
.action(async (opts) => {
|
|
120
|
+
await handleDomain(resolve(), opts.account, opts.domain);
|
|
121
|
+
});
|
|
122
|
+
vercel
|
|
123
|
+
.command("domain-add")
|
|
124
|
+
.description("Add domain to project")
|
|
125
|
+
.requiredOption("--project <id>", "Project ID")
|
|
126
|
+
.requiredOption("--domain <domain>", "Domain name")
|
|
127
|
+
.option("--account <name>", "Account name", "default")
|
|
128
|
+
.action(async (opts) => {
|
|
129
|
+
await handleDomainAdd(resolve(), opts.account, opts.project, opts.domain);
|
|
130
|
+
});
|
|
131
|
+
vercel
|
|
132
|
+
.command("domain-remove")
|
|
133
|
+
.description("Remove domain from project")
|
|
134
|
+
.requiredOption("--project <id>", "Project ID")
|
|
135
|
+
.requiredOption("--domain <domain>", "Domain name")
|
|
136
|
+
.option("--account <name>", "Account name", "default")
|
|
137
|
+
.action(async (opts) => {
|
|
138
|
+
await handleDomainRemove(resolve(), opts.account, opts.project, opts.domain);
|
|
139
|
+
});
|
|
140
|
+
vercel
|
|
141
|
+
.command("domain-verify")
|
|
142
|
+
.description("Verify domain on project")
|
|
143
|
+
.requiredOption("--project <id>", "Project ID")
|
|
144
|
+
.requiredOption("--domain <domain>", "Domain name")
|
|
145
|
+
.option("--account <name>", "Account name", "default")
|
|
146
|
+
.action(async (opts) => {
|
|
147
|
+
await handleDomainVerify(resolve(), opts.account, opts.project, opts.domain);
|
|
148
|
+
});
|
|
149
|
+
// --- Environment Variables ---
|
|
150
|
+
vercel
|
|
151
|
+
.command("envs")
|
|
152
|
+
.description("List environment variables")
|
|
153
|
+
.requiredOption("--project <id>", "Project ID")
|
|
154
|
+
.option("--account <name>", "Account name", "default")
|
|
155
|
+
.action(async (opts) => {
|
|
156
|
+
await handleEnvs(resolve(), opts.account, opts.project);
|
|
157
|
+
});
|
|
158
|
+
vercel
|
|
159
|
+
.command("env")
|
|
160
|
+
.description("Get environment variable")
|
|
161
|
+
.requiredOption("--project <id>", "Project ID")
|
|
162
|
+
.requiredOption("--env-id <id>", "Environment variable ID")
|
|
163
|
+
.option("--account <name>", "Account name", "default")
|
|
164
|
+
.action(async (opts) => {
|
|
165
|
+
await handleEnvGet(resolve(), opts.account, opts.project, opts.envId);
|
|
166
|
+
});
|
|
167
|
+
vercel
|
|
168
|
+
.command("env-create")
|
|
169
|
+
.description("Create environment variable")
|
|
170
|
+
.requiredOption("--project <id>", "Project ID")
|
|
171
|
+
.requiredOption("--key <key>", "Variable key")
|
|
172
|
+
.requiredOption("--value <value>", "Variable value")
|
|
173
|
+
.requiredOption("--target <targets>", "Comma-separated deployment targets")
|
|
174
|
+
.option("--type <type>", "Variable type", "encrypted")
|
|
175
|
+
.option("--account <name>", "Account name", "default")
|
|
176
|
+
.action(async (opts) => {
|
|
177
|
+
const target = opts.target.split(",").map((t) => t.trim());
|
|
178
|
+
await handleEnvCreate(resolve(), opts.account, opts.project, opts.key, opts.value, target, opts.type);
|
|
179
|
+
});
|
|
180
|
+
vercel
|
|
181
|
+
.command("env-update")
|
|
182
|
+
.description("Update environment variable value")
|
|
183
|
+
.requiredOption("--project <id>", "Project ID")
|
|
184
|
+
.requiredOption("--env-id <id>", "Environment variable ID")
|
|
185
|
+
.requiredOption("--value <value>", "New variable value")
|
|
186
|
+
.option("--account <name>", "Account name", "default")
|
|
187
|
+
.action(async (opts) => {
|
|
188
|
+
await handleEnvUpdate(resolve(), opts.account, opts.project, opts.envId, opts.value);
|
|
189
|
+
});
|
|
190
|
+
vercel
|
|
191
|
+
.command("env-delete")
|
|
192
|
+
.description("Delete environment variable")
|
|
193
|
+
.requiredOption("--project <id>", "Project ID")
|
|
194
|
+
.requiredOption("--env-id <id>", "Environment variable ID")
|
|
195
|
+
.option("--account <name>", "Account name", "default")
|
|
196
|
+
.action(async (opts) => {
|
|
197
|
+
await handleEnvDelete(resolve(), opts.account, opts.project, opts.envId);
|
|
198
|
+
});
|
|
199
|
+
}
|
|
200
|
+
//# sourceMappingURL=vercel.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"vercel.js","sourceRoot":"","sources":["../../src/commands/vercel.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { TokenStore } from "@digitalpresence/cliclaw-auth";
|
|
2
|
+
export declare function getToken(tokenStore: TokenStore, account: string): string;
|
|
3
|
+
export declare function vercelFetch(token: string, path: string, options?: RequestInit, teamId?: string): Promise<unknown>;
|
|
4
|
+
export declare function vercelFetchPaginated(token: string, path: string, arrayKey: string, maxResults: number, teamId?: string): Promise<unknown[]>;
|
|
5
|
+
//# sourceMappingURL=api.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../../src/vercel/api.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAK3D,wBAAgB,QAAQ,CAAC,UAAU,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,CAOxE;AAED,wBAAsB,WAAW,CAC/B,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,MAAM,EACZ,OAAO,GAAE,WAAgB,EACzB,MAAM,CAAC,EAAE,MAAM,GACd,OAAO,CAAC,OAAO,CAAC,CAqBlB;AAED,wBAAsB,oBAAoB,CACxC,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,MAAM,EAChB,UAAU,EAAE,MAAM,EAClB,MAAM,CAAC,EAAE,MAAM,GACd,OAAO,CAAC,OAAO,EAAE,CAAC,CAwCpB"}
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
import { outputAuthRequired, outputError } from "../lib/output.js";
|
|
2
|
+
const VERCEL_API = "https://api.vercel.com";
|
|
3
|
+
export function getToken(tokenStore, account) {
|
|
4
|
+
const tokenKey = `vercel:${account}`;
|
|
5
|
+
const creds = tokenStore.get(tokenKey);
|
|
6
|
+
if (!creds?.access_token) {
|
|
7
|
+
outputAuthRequired("vercel");
|
|
8
|
+
}
|
|
9
|
+
return creds.access_token;
|
|
10
|
+
}
|
|
11
|
+
export async function vercelFetch(token, path, options = {}, teamId) {
|
|
12
|
+
let url = path.startsWith("http") ? path : `${VERCEL_API}${path}`;
|
|
13
|
+
if (teamId) {
|
|
14
|
+
const separator = url.includes("?") ? "&" : "?";
|
|
15
|
+
url = `${url}${separator}teamId=${teamId}`;
|
|
16
|
+
}
|
|
17
|
+
const res = await fetch(url, {
|
|
18
|
+
...options,
|
|
19
|
+
headers: {
|
|
20
|
+
Authorization: `Bearer ${token}`,
|
|
21
|
+
Accept: "application/json",
|
|
22
|
+
...options.headers,
|
|
23
|
+
},
|
|
24
|
+
});
|
|
25
|
+
if (!res.ok) {
|
|
26
|
+
const body = await res.text().catch(() => "");
|
|
27
|
+
outputError("vercel_api_error", `${res.status} ${res.statusText}: ${body}`);
|
|
28
|
+
}
|
|
29
|
+
return res.json();
|
|
30
|
+
}
|
|
31
|
+
export async function vercelFetchPaginated(token, path, arrayKey, maxResults, teamId) {
|
|
32
|
+
const results = [];
|
|
33
|
+
const separator = path.includes("?") ? "&" : "?";
|
|
34
|
+
let url = `${path}${separator}limit=${Math.min(maxResults, 100)}`;
|
|
35
|
+
while (url && results.length < maxResults) {
|
|
36
|
+
let fullUrl = url.startsWith("http") ? url : `${VERCEL_API}${url}`;
|
|
37
|
+
if (teamId) {
|
|
38
|
+
const sep = fullUrl.includes("?") ? "&" : "?";
|
|
39
|
+
fullUrl = `${fullUrl}${sep}teamId=${teamId}`;
|
|
40
|
+
}
|
|
41
|
+
const res = await fetch(fullUrl, {
|
|
42
|
+
headers: {
|
|
43
|
+
Authorization: `Bearer ${token}`,
|
|
44
|
+
Accept: "application/json",
|
|
45
|
+
},
|
|
46
|
+
});
|
|
47
|
+
if (!res.ok) {
|
|
48
|
+
const body = await res.text().catch(() => "");
|
|
49
|
+
outputError("vercel_api_error", `${res.status} ${res.statusText}: ${body}`);
|
|
50
|
+
}
|
|
51
|
+
const data = (await res.json());
|
|
52
|
+
const items = data[arrayKey];
|
|
53
|
+
results.push(...(Array.isArray(items) ? items : []));
|
|
54
|
+
const pagination = data.pagination;
|
|
55
|
+
if (pagination?.next) {
|
|
56
|
+
const basePath = url.split("?")[0];
|
|
57
|
+
const existingParams = url.includes("?") ? url.split("?")[1] : "";
|
|
58
|
+
const params = new URLSearchParams(existingParams);
|
|
59
|
+
params.set("until", String(pagination.next));
|
|
60
|
+
url = `${basePath}?${params.toString()}`;
|
|
61
|
+
}
|
|
62
|
+
else {
|
|
63
|
+
url = null;
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
return results.slice(0, maxResults);
|
|
67
|
+
}
|
|
68
|
+
//# sourceMappingURL=api.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"api.js","sourceRoot":"","sources":["../../src/vercel/api.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import type { TokenStore } from "@digitalpresence/cliclaw-auth";
|
|
2
|
+
export declare function handleWhoami(tokenStore: TokenStore, account: string): Promise<void>;
|
|
3
|
+
export declare function handleProjects(tokenStore: TokenStore, account: string, maxResults: number): Promise<void>;
|
|
4
|
+
export declare function handleProject(tokenStore: TokenStore, account: string, projectId: string): Promise<void>;
|
|
5
|
+
export declare function handleProjectCreate(tokenStore: TokenStore, account: string, name: string, framework?: string, gitRepo?: string): Promise<void>;
|
|
6
|
+
export declare function handleProjectDelete(tokenStore: TokenStore, account: string, projectId: string): Promise<void>;
|
|
7
|
+
export declare function handleDeployments(tokenStore: TokenStore, account: string, projectId?: string, maxResults?: number): Promise<void>;
|
|
8
|
+
export declare function handleDeployment(tokenStore: TokenStore, account: string, deploymentId: string): Promise<void>;
|
|
9
|
+
export declare function handleRedeploy(tokenStore: TokenStore, account: string, deploymentId: string, target?: string): Promise<void>;
|
|
10
|
+
export declare function handlePromote(tokenStore: TokenStore, account: string, projectId: string, deploymentId: string): Promise<void>;
|
|
11
|
+
export declare function handleDeploymentDelete(tokenStore: TokenStore, account: string, deploymentId: string): Promise<void>;
|
|
12
|
+
export declare function handleBuildLogs(tokenStore: TokenStore, account: string, deploymentId: string): Promise<void>;
|
|
13
|
+
export declare function handleDomains(tokenStore: TokenStore, account: string, maxResults?: number): Promise<void>;
|
|
14
|
+
export declare function handleDomain(tokenStore: TokenStore, account: string, domain: string): Promise<void>;
|
|
15
|
+
export declare function handleDomainAdd(tokenStore: TokenStore, account: string, projectId: string, domain: string): Promise<void>;
|
|
16
|
+
export declare function handleDomainRemove(tokenStore: TokenStore, account: string, projectId: string, domain: string): Promise<void>;
|
|
17
|
+
export declare function handleDomainVerify(tokenStore: TokenStore, account: string, projectId: string, domain: string): Promise<void>;
|
|
18
|
+
export declare function handleEnvs(tokenStore: TokenStore, account: string, projectId: string): Promise<void>;
|
|
19
|
+
export declare function handleEnvGet(tokenStore: TokenStore, account: string, projectId: string, envId: string): Promise<void>;
|
|
20
|
+
export declare function handleEnvCreate(tokenStore: TokenStore, account: string, projectId: string, key: string, value: string, target: string[], type?: string): Promise<void>;
|
|
21
|
+
export declare function handleEnvUpdate(tokenStore: TokenStore, account: string, projectId: string, envId: string, value: string): Promise<void>;
|
|
22
|
+
export declare function handleEnvDelete(tokenStore: TokenStore, account: string, projectId: string, envId: string): Promise<void>;
|
|
23
|
+
//# sourceMappingURL=handlers.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"handlers.d.ts","sourceRoot":"","sources":["../../src/vercel/handlers.ts"],"names":[],"mappings":"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"}
|