@pmate/cli 0.11.0 → 0.11.1
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 +25 -0
- package/dist/agentCommandParser.js +13 -39
- package/dist/agentCommandParser.js.map +1 -1
- package/dist/commands/AgentCommandHandler.d.ts +0 -1
- package/dist/commands/AgentCommandHandler.js +4 -22
- package/dist/commands/AgentCommandHandler.js.map +1 -1
- package/dist/commands/VercelCommandHandler.d.ts +38 -0
- package/dist/commands/VercelCommandHandler.js +126 -0
- package/dist/commands/VercelCommandHandler.js.map +1 -0
- package/dist/config.d.ts +4 -0
- package/dist/config.js +11 -0
- package/dist/config.js.map +1 -1
- package/dist/index.d.ts +8 -0
- package/dist/index.js +77 -7
- package/dist/index.js.map +1 -1
- package/dist/tests/AgentCommandHandler.test.js +0 -47
- package/dist/tests/AgentCommandHandler.test.js.map +1 -1
- package/dist/tests/VercelCommandHandler.test.d.ts +1 -0
- package/dist/tests/VercelCommandHandler.test.js +84 -0
- package/dist/tests/VercelCommandHandler.test.js.map +1 -0
- package/dist/tests/agentCommandParser.test.js +1 -46
- package/dist/tests/agentCommandParser.test.js.map +1 -1
- package/dist/tests/config.test.d.ts +1 -0
- package/dist/tests/config.test.js +41 -0
- package/dist/tests/config.test.js.map +1 -0
- package/dist/tests/vercelParser.test.d.ts +1 -0
- package/dist/tests/vercelParser.test.js +39 -0
- package/dist/tests/vercelParser.test.js.map +1 -0
- package/dist/types.d.ts +17 -8
- package/dist/types.js +1 -0
- package/dist/types.js.map +1 -1
- package/package.json +11 -12
package/README.md
CHANGED
|
@@ -44,6 +44,8 @@ pmate notion view <page-id-or-url>
|
|
|
44
44
|
pmate notion create --parent <page-id-or-url> --title "Sprint Notes" --content "Initial notes"
|
|
45
45
|
pmate notion create --private --title "Private Notes" --file ./notes.md
|
|
46
46
|
pmate notion update <page-id-or-url> --file ./notes.md --append
|
|
47
|
+
pmate vercel projects
|
|
48
|
+
pmate vercel deploys --project web --last-week
|
|
47
49
|
```
|
|
48
50
|
|
|
49
51
|
Notes:
|
|
@@ -156,3 +158,26 @@ Add a Notion integration token to `~/.pmate/config.yaml`:
|
|
|
156
158
|
notion:
|
|
157
159
|
token: your_notion_integration_token
|
|
158
160
|
```
|
|
161
|
+
|
|
162
|
+
## Vercel config
|
|
163
|
+
|
|
164
|
+
Add your default Vercel scope to `~/.pmate/config.yaml`:
|
|
165
|
+
|
|
166
|
+
```yaml
|
|
167
|
+
vercel:
|
|
168
|
+
scope: pancakeswap
|
|
169
|
+
```
|
|
170
|
+
|
|
171
|
+
Usage:
|
|
172
|
+
|
|
173
|
+
```bash
|
|
174
|
+
pmate vercel projects
|
|
175
|
+
pmate vercel projects --scope another-team
|
|
176
|
+
pmate vercel deploys --project web --last-week
|
|
177
|
+
pmate vercel deploys --project web --scope pancakeswap
|
|
178
|
+
```
|
|
179
|
+
|
|
180
|
+
Notes:
|
|
181
|
+
- `pmate vercel` is a thin wrapper around the installed `vercel` CLI.
|
|
182
|
+
- v1 only supports `vercel.scope` in PMate config.
|
|
183
|
+
- `pmate vercel deploys` requires `--project <name>`.
|
|
@@ -2,12 +2,11 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.parseAgentArgs = parseAgentArgs;
|
|
4
4
|
const types_1 = require("./types");
|
|
5
|
-
const DEFAULT_AGENT_NAMESPACE = "pmate";
|
|
6
5
|
function parseAgentArgs(tokens) {
|
|
7
6
|
const rest = [...tokens];
|
|
8
7
|
const action = rest.shift();
|
|
9
8
|
if (!action) {
|
|
10
|
-
throw new Error("Missing agent action. Use: agent
|
|
9
|
+
throw new Error("Missing agent action. Use: agent list|get|create|update|delete");
|
|
11
10
|
}
|
|
12
11
|
let baseUrl;
|
|
13
12
|
let json = false;
|
|
@@ -27,15 +26,8 @@ function parseAgentArgs(tokens) {
|
|
|
27
26
|
break;
|
|
28
27
|
}
|
|
29
28
|
};
|
|
30
|
-
if (action === "namespaces") {
|
|
31
|
-
takeSharedOptions();
|
|
32
|
-
if (rest.length > 0) {
|
|
33
|
-
throw new Error(`Unknown agent namespaces option: ${rest[0]}`);
|
|
34
|
-
}
|
|
35
|
-
return { type: types_1.Command.Agent, action, baseUrl, json };
|
|
36
|
-
}
|
|
37
29
|
if (action === "list") {
|
|
38
|
-
let namespace
|
|
30
|
+
let namespace;
|
|
39
31
|
while (rest.length > 0) {
|
|
40
32
|
const token = rest.shift();
|
|
41
33
|
switch (token) {
|
|
@@ -55,19 +47,10 @@ function parseAgentArgs(tokens) {
|
|
|
55
47
|
return { type: types_1.Command.Agent, action, namespace, baseUrl, json };
|
|
56
48
|
}
|
|
57
49
|
if (action === "get" || action === "delete") {
|
|
58
|
-
const
|
|
59
|
-
const
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
if (second && !second.startsWith("-")) {
|
|
63
|
-
namespace = first;
|
|
64
|
-
name = second;
|
|
65
|
-
}
|
|
66
|
-
else if (second) {
|
|
67
|
-
rest.unshift(second);
|
|
68
|
-
}
|
|
69
|
-
if (!name) {
|
|
70
|
-
throw new Error(`Usage: agent ${action} [<namespace>] <name> [--base-url <url>] [--json]`);
|
|
50
|
+
const namespace = rest.shift();
|
|
51
|
+
const name = rest.shift();
|
|
52
|
+
if (!namespace || !name) {
|
|
53
|
+
throw new Error(`Usage: agent ${action} <namespace> <name> [--base-url <url>] [--json]`);
|
|
71
54
|
}
|
|
72
55
|
takeSharedOptions();
|
|
73
56
|
if (rest.length > 0) {
|
|
@@ -76,9 +59,9 @@ function parseAgentArgs(tokens) {
|
|
|
76
59
|
return { type: types_1.Command.Agent, action, namespace, name, baseUrl, json };
|
|
77
60
|
}
|
|
78
61
|
if (action === "create") {
|
|
79
|
-
|
|
80
|
-
if (
|
|
81
|
-
namespace
|
|
62
|
+
const namespace = rest.shift();
|
|
63
|
+
if (!namespace) {
|
|
64
|
+
throw new Error("Usage: agent create <namespace> --file <path> [--base-url <url>] [--json]");
|
|
82
65
|
}
|
|
83
66
|
let filePath;
|
|
84
67
|
while (rest.length > 0) {
|
|
@@ -103,19 +86,10 @@ function parseAgentArgs(tokens) {
|
|
|
103
86
|
return { type: types_1.Command.Agent, action, namespace, filePath, baseUrl, json };
|
|
104
87
|
}
|
|
105
88
|
if (action === "update") {
|
|
106
|
-
const
|
|
107
|
-
const
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
if (second && !second.startsWith("-")) {
|
|
111
|
-
namespace = first;
|
|
112
|
-
name = second;
|
|
113
|
-
}
|
|
114
|
-
else if (second) {
|
|
115
|
-
rest.unshift(second);
|
|
116
|
-
}
|
|
117
|
-
if (!name) {
|
|
118
|
-
throw new Error("Usage: agent update [<namespace>] <name> --file <path> [--base-url <url>] [--json]");
|
|
89
|
+
const namespace = rest.shift();
|
|
90
|
+
const name = rest.shift();
|
|
91
|
+
if (!namespace || !name) {
|
|
92
|
+
throw new Error("Usage: agent update <namespace> <name> --file <path> [--base-url <url>] [--json]");
|
|
119
93
|
}
|
|
120
94
|
let filePath;
|
|
121
95
|
while (rest.length > 0) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agentCommandParser.js","sourceRoot":"","sources":["../src/agentCommandParser.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"agentCommandParser.js","sourceRoot":"","sources":["../src/agentCommandParser.ts"],"names":[],"mappings":"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"}
|
|
@@ -12,13 +12,11 @@ class AgentCommandHandler {
|
|
|
12
12
|
const token = this.readToken();
|
|
13
13
|
const baseUrl = this.resolveBaseUrl(args.baseUrl);
|
|
14
14
|
switch (args.action) {
|
|
15
|
-
case "namespaces": {
|
|
16
|
-
const response = await this.request(baseUrl, token, "GET", "/agents/namespaces");
|
|
17
|
-
this.renderNamespaces(response.items, args.json);
|
|
18
|
-
return;
|
|
19
|
-
}
|
|
20
15
|
case "list": {
|
|
21
|
-
const
|
|
16
|
+
const query = args.namespace
|
|
17
|
+
? `?namespace=${encodeURIComponent(args.namespace)}`
|
|
18
|
+
: "";
|
|
19
|
+
const response = await this.request(baseUrl, token, "GET", `/agents${query}`);
|
|
22
20
|
this.renderList(response.items, args.json);
|
|
23
21
|
return;
|
|
24
22
|
}
|
|
@@ -125,22 +123,6 @@ class AgentCommandHandler {
|
|
|
125
123
|
}
|
|
126
124
|
cli_1.ui.plain(JSON.stringify(value, null, 2));
|
|
127
125
|
}
|
|
128
|
-
renderNamespaces(items, asJson) {
|
|
129
|
-
if (asJson) {
|
|
130
|
-
cli_1.ui.plain(JSON.stringify(items, null, 2));
|
|
131
|
-
return;
|
|
132
|
-
}
|
|
133
|
-
if (items.length === 0) {
|
|
134
|
-
cli_1.ui.warn("No namespaces found.");
|
|
135
|
-
return;
|
|
136
|
-
}
|
|
137
|
-
for (const item of items) {
|
|
138
|
-
cli_1.ui.info(item.namespace, {
|
|
139
|
-
status: item.status,
|
|
140
|
-
updatedAt: item.updatedAt,
|
|
141
|
-
});
|
|
142
|
-
}
|
|
143
|
-
}
|
|
144
126
|
}
|
|
145
127
|
exports.AgentCommandHandler = AgentCommandHandler;
|
|
146
128
|
//# sourceMappingURL=AgentCommandHandler.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AgentCommandHandler.js","sourceRoot":"","sources":["../../src/commands/AgentCommandHandler.ts"],"names":[],"mappings":";;;;AAAA,qCAAkD;AAClD,8DAAwB;AACxB,kEAA4B;AAC5B,gCAA2B;
|
|
1
|
+
{"version":3,"file":"AgentCommandHandler.js","sourceRoot":"","sources":["../../src/commands/AgentCommandHandler.ts"],"names":[],"mappings":";;;;AAAA,qCAAkD;AAClD,8DAAwB;AACxB,kEAA4B;AAC5B,gCAA2B;AAiC3B,MAAa,mBAAmB;IAC9B,KAAK,CAAC,MAAM,CAAC,IAAsB;;QACjC,MAAM,KAAK,GAAG,IAAI,CAAC,SAAS,EAAE,CAAA;QAC9B,MAAM,OAAO,GAAG,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;QAEjD,QAAQ,IAAI,CAAC,MAAM,EAAE,CAAC;YACpB,KAAK,MAAM,CAAC,CAAC,CAAC;gBACZ,MAAM,KAAK,GAAG,IAAI,CAAC,SAAS;oBAC1B,CAAC,CAAC,cAAc,kBAAkB,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE;oBACpD,CAAC,CAAC,EAAE,CAAA;gBACN,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,OAAO,CACjC,OAAO,EACP,KAAK,EACL,KAAK,EACL,UAAU,KAAK,EAAE,CAClB,CAAA;gBACD,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,CAAA;gBAC1C,OAAM;YACR,CAAC;YACD,KAAK,KAAK,CAAC,CAAC,CAAC;gBACX,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,OAAO,CAC/B,OAAO,EACP,KAAK,EACL,KAAK,EACL,WAAW,kBAAkB,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CACjF,CAAA;gBACD,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,MAAA,IAAI,CAAC,IAAI,mCAAI,IAAI,CAAC,CAAA;gBAC1C,OAAM;YACR,CAAC;YACD,KAAK,QAAQ,CAAC,CAAC,CAAC;gBACd,MAAM,OAAO,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;gBAChD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,OAAO,CAC/B,OAAO,EACP,KAAK,EACL,MAAM,EACN,WAAW,kBAAkB,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,EAC/C,OAAO,CACR,CAAA;gBACD,QAAE,CAAC,OAAO,CAAC,iBAAiB,MAAM,CAAC,EAAE,EAAE,CAAC,CAAA;gBACxC,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,CAAA;gBAClC,OAAM;YACR,CAAC;YACD,KAAK,QAAQ,CAAC,CAAC,CAAC;gBACd,MAAM,OAAO,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;gBAChD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,OAAO,CAC/B,OAAO,EACP,KAAK,EACL,KAAK,EACL,WAAW,kBAAkB,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,EAChF,OAAO,CACR,CAAA;gBACD,QAAE,CAAC,OAAO,CAAC,iBAAiB,MAAM,CAAC,EAAE,EAAE,CAAC,CAAA;gBACxC,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,CAAA;gBAClC,OAAM;YACR,CAAC;YACD,KAAK,QAAQ,CAAC,CAAC,CAAC;gBACd,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,OAAO,CAC/B,OAAO,EACP,KAAK,EACL,QAAQ,EACR,WAAW,kBAAkB,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CACjF,CAAA;gBACD,QAAE,CAAC,OAAO,CAAC,kBAAkB,MAAM,CAAC,EAAE,EAAE,CAAC,CAAA;gBACzC,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,CAAA;gBAClC,OAAM;YACR,CAAC;QACH,CAAC;IACH,CAAC;IAEO,cAAc,CAAC,OAAgB;QACrC,OAAO,CACL,OAAO;YACP,OAAO,CAAC,GAAG,CAAC,wBAAwB;YACpC,8BAA8B,CAC/B,CAAC,OAAO,CACP,MAAM,EACN,EAAE,CACH,CAAA;IACH,CAAC;IAEO,SAAS;;QACf,MAAM,WAAW,GAAG,mBAAI,CAAC,IAAI,CAAC,iBAAE,CAAC,OAAO,EAAE,EAAE,QAAQ,EAAE,cAAc,CAAC,CAAA;QACrE,IAAI,CAAC,IAAA,oBAAU,EAAC,WAAW,CAAC,EAAE,CAAC;YAC7B,MAAM,IAAI,KAAK,CAAC,2BAA2B,WAAW,4BAA4B,CAAC,CAAA;QACrF,CAAC;QACD,MAAM,GAAG,GAAG,IAAA,sBAAY,EAAC,WAAW,EAAE,MAAM,CAAC,CAAA;QAC7C,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAgB,CAAA;QAC7C,MAAM,KAAK,GAAG,MAAA,MAAM,CAAC,KAAK,0CAAE,IAAI,EAAE,CAAA;QAClC,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,MAAM,IAAI,KAAK,CAAC,oBAAoB,WAAW,4BAA4B,CAAC,CAAA;QAC9E,CAAC;QACD,OAAO,KAAK,CAAA;IACd,CAAC;IAEO,YAAY,CAAC,QAAgB;QACnC,MAAM,YAAY,GAAG,mBAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,QAAQ,CAAC,CAAA;QAC1D,IAAI,CAAC,IAAA,oBAAU,EAAC,YAAY,CAAC,EAAE,CAAC;YAC9B,MAAM,IAAI,KAAK,CAAC,wBAAwB,YAAY,EAAE,CAAC,CAAA;QACzD,CAAC;QACD,MAAM,GAAG,GAAG,IAAA,sBAAY,EAAC,YAAY,EAAE,MAAM,CAAC,CAAA;QAC9C,IAAI,CAAC;YACH,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAY,CAAA;QACnC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;YACtE,MAAM,IAAI,KAAK,CAAC,mBAAmB,YAAY,KAAK,OAAO,EAAE,CAAC,CAAA;QAChE,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,OAAO,CACnB,OAAe,EACf,KAAa,EACb,MAAyC,EACzC,QAAgB,EAChB,IAAc;QAEd,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,OAAO,GAAG,QAAQ,EAAE,EAAE;YACpD,MAAM;YACN,OAAO,EAAE;gBACP,aAAa,EAAE,UAAU,KAAK,EAAE;gBAChC,cAAc,EAAE,kBAAkB;aACnC;YACD,GAAG,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAC9D,CAAC,CAAA;QAEF,IAAI,OAAO,GAA0B,IAAI,CAAA;QACzC,IAAI,CAAC;YACH,OAAO,GAAG,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAmB,CAAA;QACrD,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,GAAG,IAAI,CAAA;QAChB,CAAC;QAED,IAAI,CAAC,QAAQ,CAAC,EAAE,IAAI,CAAC,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,OAAO,CAAA,EAAE,CAAC;YACtC,MAAM,IAAI,KAAK,CAAC,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,OAAO,KAAI,8BAA8B,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAA;QACtF,CAAC;QACD,OAAO,OAAO,CAAC,IAAI,CAAA;IACrB,CAAC;IAEO,UAAU,CAAC,KAAoB,EAAE,MAAgB;QACvD,IAAI,MAAM,EAAE,CAAC;YACX,QAAE,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAA;YACxC,OAAM;QACR,CAAC;QACD,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACvB,QAAE,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAA;YAC3B,OAAM;QACR,CAAC;QACD,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,QAAE,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,IAAI,EAAE,EAAE;gBACxC,MAAM,EAAE,IAAI,CAAC,MAAM;gBACnB,OAAO,EAAE,IAAI,CAAC,OAAO;aACtB,CAAC,CAAA;QACJ,CAAC;IACH,CAAC;IAEO,UAAU,CAAC,KAAc,EAAE,MAAgB;QACjD,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,OAAM;QACR,CAAC;QACD,QAAE,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAA;IAC1C,CAAC;CACF;AAhKD,kDAgKC"}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import { type PmateUserConfig } from "../config";
|
|
2
|
+
import { Command } from "../types";
|
|
3
|
+
import type { VercelCommandArgs } from "../types";
|
|
4
|
+
type CommandRunner = (command: string, args: string[]) => Promise<{
|
|
5
|
+
stdout: string;
|
|
6
|
+
stderr: string;
|
|
7
|
+
}>;
|
|
8
|
+
type VercelDeployment = {
|
|
9
|
+
uid?: string;
|
|
10
|
+
name?: string;
|
|
11
|
+
url?: string;
|
|
12
|
+
state?: string;
|
|
13
|
+
creator?: {
|
|
14
|
+
username?: string;
|
|
15
|
+
email?: string;
|
|
16
|
+
};
|
|
17
|
+
createdAt?: string | number;
|
|
18
|
+
readyAt?: string | number;
|
|
19
|
+
ready?: string | number;
|
|
20
|
+
target?: string | null;
|
|
21
|
+
};
|
|
22
|
+
export declare function parseDeploymentTimestamp(deployment: Pick<VercelDeployment, "createdAt" | "readyAt" | "ready">): number | null;
|
|
23
|
+
export declare function filterDeploymentsFromLastWeek<T extends Pick<VercelDeployment, "createdAt" | "readyAt">>(deployments: T[], now?: number): T[];
|
|
24
|
+
export declare class VercelCommandHandler {
|
|
25
|
+
private readonly runCommand;
|
|
26
|
+
private readonly getConfig;
|
|
27
|
+
constructor(runCommand?: CommandRunner, getConfig?: () => PmateUserConfig);
|
|
28
|
+
handle(args: VercelCommandArgs): Promise<void>;
|
|
29
|
+
private handleProjects;
|
|
30
|
+
private handleDeploys;
|
|
31
|
+
private buildScopeArgs;
|
|
32
|
+
private executeVercel;
|
|
33
|
+
private extractDeployments;
|
|
34
|
+
}
|
|
35
|
+
export declare function isVercelCommandArgs(value: {
|
|
36
|
+
type: Command;
|
|
37
|
+
} | VercelCommandArgs): value is VercelCommandArgs;
|
|
38
|
+
export {};
|
|
@@ -0,0 +1,126 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.VercelCommandHandler = void 0;
|
|
4
|
+
exports.parseDeploymentTimestamp = parseDeploymentTimestamp;
|
|
5
|
+
exports.filterDeploymentsFromLastWeek = filterDeploymentsFromLastWeek;
|
|
6
|
+
exports.isVercelCommandArgs = isVercelCommandArgs;
|
|
7
|
+
const node_child_process_1 = require("node:child_process");
|
|
8
|
+
const node_util_1 = require("node:util");
|
|
9
|
+
const cli_1 = require("../cli");
|
|
10
|
+
const config_1 = require("../config");
|
|
11
|
+
const types_1 = require("../types");
|
|
12
|
+
const execFileAsync = (0, node_util_1.promisify)(node_child_process_1.execFile);
|
|
13
|
+
function parseDeploymentTimestamp(deployment) {
|
|
14
|
+
const candidates = [deployment.createdAt, deployment.readyAt, deployment.ready];
|
|
15
|
+
for (const value of candidates) {
|
|
16
|
+
if (typeof value === "number" && Number.isFinite(value)) {
|
|
17
|
+
return value;
|
|
18
|
+
}
|
|
19
|
+
if (typeof value === "string" && value.trim()) {
|
|
20
|
+
const parsed = Date.parse(value);
|
|
21
|
+
if (Number.isFinite(parsed)) {
|
|
22
|
+
return parsed;
|
|
23
|
+
}
|
|
24
|
+
const numeric = Number(value);
|
|
25
|
+
if (Number.isFinite(numeric)) {
|
|
26
|
+
return numeric;
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
return null;
|
|
31
|
+
}
|
|
32
|
+
function filterDeploymentsFromLastWeek(deployments, now = Date.now()) {
|
|
33
|
+
const cutoff = now - 7 * 24 * 60 * 60 * 1000;
|
|
34
|
+
return deployments.filter((deployment) => {
|
|
35
|
+
const timestamp = parseDeploymentTimestamp(deployment);
|
|
36
|
+
return timestamp !== null && timestamp >= cutoff;
|
|
37
|
+
});
|
|
38
|
+
}
|
|
39
|
+
class VercelCommandHandler {
|
|
40
|
+
constructor(runCommand = async (command, args) => execFileAsync(command, args, { maxBuffer: 1024 * 1024 * 20 }), getConfig = config_1.loadPmateConfig) {
|
|
41
|
+
this.runCommand = runCommand;
|
|
42
|
+
this.getConfig = getConfig;
|
|
43
|
+
}
|
|
44
|
+
async handle(args) {
|
|
45
|
+
if (args.action === "projects") {
|
|
46
|
+
await this.handleProjects(args.scope);
|
|
47
|
+
return;
|
|
48
|
+
}
|
|
49
|
+
await this.handleDeploys(args);
|
|
50
|
+
}
|
|
51
|
+
async handleProjects(scope) {
|
|
52
|
+
const commandArgs = ["project", "list", ...this.buildScopeArgs(scope)];
|
|
53
|
+
const result = await this.executeVercel(commandArgs);
|
|
54
|
+
if (result.stderr.trim()) {
|
|
55
|
+
cli_1.ui.warn(result.stderr.trim());
|
|
56
|
+
}
|
|
57
|
+
cli_1.ui.plain(result.stdout.trim());
|
|
58
|
+
}
|
|
59
|
+
async handleDeploys(args) {
|
|
60
|
+
const commandArgs = [
|
|
61
|
+
"list",
|
|
62
|
+
args.project,
|
|
63
|
+
"--format",
|
|
64
|
+
"json",
|
|
65
|
+
...this.buildScopeArgs(args.scope),
|
|
66
|
+
];
|
|
67
|
+
const result = await this.executeVercel(commandArgs);
|
|
68
|
+
if (result.stderr.trim()) {
|
|
69
|
+
cli_1.ui.warn(result.stderr.trim());
|
|
70
|
+
}
|
|
71
|
+
let deployments;
|
|
72
|
+
try {
|
|
73
|
+
const parsed = JSON.parse(result.stdout);
|
|
74
|
+
deployments = this.extractDeployments(parsed);
|
|
75
|
+
}
|
|
76
|
+
catch (error) {
|
|
77
|
+
const message = error instanceof Error ? error.message : String(error);
|
|
78
|
+
throw new Error(`Failed to parse vercel deploy output: ${message}`);
|
|
79
|
+
}
|
|
80
|
+
const output = args.lastWeek
|
|
81
|
+
? filterDeploymentsFromLastWeek(deployments)
|
|
82
|
+
: deployments;
|
|
83
|
+
if (output.length === 0) {
|
|
84
|
+
const suffix = args.lastWeek
|
|
85
|
+
? ` in the last week for project "${args.project}"`
|
|
86
|
+
: ` for project "${args.project}"`;
|
|
87
|
+
cli_1.ui.warn(`No deploys found${suffix}.`);
|
|
88
|
+
return;
|
|
89
|
+
}
|
|
90
|
+
cli_1.ui.plain(JSON.stringify(output, null, 2));
|
|
91
|
+
}
|
|
92
|
+
buildScopeArgs(explicitScope) {
|
|
93
|
+
var _a, _b;
|
|
94
|
+
const scope = (explicitScope === null || explicitScope === void 0 ? void 0 : explicitScope.trim()) || ((_b = (_a = this.getConfig().vercel) === null || _a === void 0 ? void 0 : _a.scope) === null || _b === void 0 ? void 0 : _b.trim());
|
|
95
|
+
return scope ? ["--scope", scope] : [];
|
|
96
|
+
}
|
|
97
|
+
async executeVercel(args) {
|
|
98
|
+
try {
|
|
99
|
+
return await this.runCommand("vercel", args);
|
|
100
|
+
}
|
|
101
|
+
catch (error) {
|
|
102
|
+
const message = error instanceof Error ? error.message : String(error);
|
|
103
|
+
if ((error === null || error === void 0 ? void 0 : error.code) === "ENOENT" ||
|
|
104
|
+
/ENOENT/.test(message)) {
|
|
105
|
+
throw new Error("Missing vercel CLI. Install it and log in with the native `vercel` command first.");
|
|
106
|
+
}
|
|
107
|
+
throw new Error(`vercel command failed: ${message}`);
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
extractDeployments(parsed) {
|
|
111
|
+
if (Array.isArray(parsed)) {
|
|
112
|
+
return parsed;
|
|
113
|
+
}
|
|
114
|
+
if (parsed &&
|
|
115
|
+
typeof parsed === "object" &&
|
|
116
|
+
Array.isArray(parsed.deployments)) {
|
|
117
|
+
return parsed.deployments;
|
|
118
|
+
}
|
|
119
|
+
throw new Error("Expected a deployment array or an object with deployments.");
|
|
120
|
+
}
|
|
121
|
+
}
|
|
122
|
+
exports.VercelCommandHandler = VercelCommandHandler;
|
|
123
|
+
function isVercelCommandArgs(value) {
|
|
124
|
+
return value.type === types_1.Command.Vercel;
|
|
125
|
+
}
|
|
126
|
+
//# sourceMappingURL=VercelCommandHandler.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"VercelCommandHandler.js","sourceRoot":"","sources":["../../src/commands/VercelCommandHandler.ts"],"names":[],"mappings":"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"}
|
package/dist/config.d.ts
CHANGED
|
@@ -52,7 +52,11 @@ export type PmateUserConfig = {
|
|
|
52
52
|
test?: {
|
|
53
53
|
authKey?: string;
|
|
54
54
|
};
|
|
55
|
+
vercel?: {
|
|
56
|
+
scope?: string;
|
|
57
|
+
};
|
|
55
58
|
};
|
|
56
59
|
export declare const CONFIG: PmateUserConfig;
|
|
57
60
|
export declare function loadPmateConfig(): PmateUserConfig;
|
|
61
|
+
export declare function resetPmateConfigCache(): void;
|
|
58
62
|
export declare function loadRepoConfig(cwd: string): RepoConfig | null;
|
package/dist/config.js
CHANGED
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.CONFIG = void 0;
|
|
4
4
|
exports.loadPmateConfig = loadPmateConfig;
|
|
5
|
+
exports.resetPmateConfigCache = resetPmateConfigCache;
|
|
5
6
|
exports.loadRepoConfig = loadRepoConfig;
|
|
6
7
|
const tslib_1 = require("tslib");
|
|
7
8
|
const node_fs_1 = require("node:fs");
|
|
@@ -111,6 +112,13 @@ const PMATE_USER_CONFIG_SCHEMA = {
|
|
|
111
112
|
authKey: { type: "string" },
|
|
112
113
|
},
|
|
113
114
|
},
|
|
115
|
+
vercel: {
|
|
116
|
+
type: "object",
|
|
117
|
+
additionalProperties: false,
|
|
118
|
+
properties: {
|
|
119
|
+
scope: { type: "string" },
|
|
120
|
+
},
|
|
121
|
+
},
|
|
114
122
|
},
|
|
115
123
|
};
|
|
116
124
|
const ajv = new ajv_1.default({
|
|
@@ -140,6 +148,9 @@ function loadPmateConfig() {
|
|
|
140
148
|
cachedConfig = yamlConfig !== null && yamlConfig !== void 0 ? yamlConfig : {};
|
|
141
149
|
return cachedConfig;
|
|
142
150
|
}
|
|
151
|
+
function resetPmateConfigCache() {
|
|
152
|
+
cachedConfig = undefined;
|
|
153
|
+
}
|
|
143
154
|
function loadRepoConfig(cwd) {
|
|
144
155
|
const configPath = findRepoConfigPath(cwd);
|
|
145
156
|
if (!configPath) {
|
package/dist/config.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
package/dist/index.js
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
"use strict";
|
|
3
3
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
+
exports.parseCommandArgs = parseCommandArgs;
|
|
4
5
|
const tslib_1 = require("tslib");
|
|
5
6
|
const node_fs_1 = require("node:fs");
|
|
6
7
|
const node_path_1 = tslib_1.__importDefault(require("node:path"));
|
|
@@ -27,6 +28,7 @@ const QrcodeCommandHandler_1 = require("./commands/QrcodeCommandHandler");
|
|
|
27
28
|
const RandomCommandHandler_1 = require("./commands/RandomCommandHandler");
|
|
28
29
|
const CollectCommandHandler_1 = require("./commands/CollectCommandHandler");
|
|
29
30
|
const AgentCommandHandler_1 = require("./commands/AgentCommandHandler");
|
|
31
|
+
const VercelCommandHandler_1 = require("./commands/VercelCommandHandler");
|
|
30
32
|
const agentCommandParser_1 = require("./agentCommandParser");
|
|
31
33
|
const pkg = JSON.parse((0, node_fs_1.readFileSync)(node_path_1.default.resolve(__dirname, '..', 'package.json'), 'utf8'));
|
|
32
34
|
const HELP_TEXT = [
|
|
@@ -103,13 +105,14 @@ const HELP_TEXT = [
|
|
|
103
105
|
` ${chalk_1.default.gray(' --list [--endpoint <url>] [--json]')}`,
|
|
104
106
|
` ${chalk_1.default.gray(' --thread <name> [--endpoint <url>] [--json]')}`,
|
|
105
107
|
` ${chalk_1.default.cyan('agent')} Manage agent registry entries via agent-ui-api`,
|
|
106
|
-
` ${chalk_1.default.gray(' namespaces [--base-url <url>] [--json]')}`,
|
|
107
108
|
` ${chalk_1.default.gray(' list [--namespace <ns>] [--base-url <url>] [--json]')}`,
|
|
108
|
-
` ${chalk_1.default.gray(' get
|
|
109
|
-
` ${chalk_1.default.gray(' create
|
|
110
|
-
` ${chalk_1.default.gray(' update
|
|
111
|
-
` ${chalk_1.default.gray(' delete
|
|
112
|
-
` ${chalk_1.default.
|
|
109
|
+
` ${chalk_1.default.gray(' get <namespace> <name> [--base-url <url>] [--json]')}`,
|
|
110
|
+
` ${chalk_1.default.gray(' create <namespace> --file <path> [--base-url <url>] [--json]')}`,
|
|
111
|
+
` ${chalk_1.default.gray(' update <namespace> <name> --file <path> [--base-url <url>] [--json]')}`,
|
|
112
|
+
` ${chalk_1.default.gray(' delete <namespace> <name> [--base-url <url>] [--json]')}`,
|
|
113
|
+
` ${chalk_1.default.cyan('vercel')} Wrap common Vercel CLI inspection commands`,
|
|
114
|
+
` ${chalk_1.default.gray(' projects [--scope <scope>]')}`,
|
|
115
|
+
` ${chalk_1.default.gray(' deploys --project <name> [--last-week] [--scope <scope>]')}`,
|
|
113
116
|
].join('\n');
|
|
114
117
|
function parseArgs(argv) {
|
|
115
118
|
const result = { help: false, version: false, rest: [] };
|
|
@@ -224,8 +227,68 @@ function parseCommandArgs(args) {
|
|
|
224
227
|
if (args.rest[0] === 'agent') {
|
|
225
228
|
return (0, agentCommandParser_1.parseAgentArgs)(args.rest.slice(1));
|
|
226
229
|
}
|
|
230
|
+
if (args.rest[0] === 'vercel') {
|
|
231
|
+
return parseVercelArgs(args.rest.slice(1));
|
|
232
|
+
}
|
|
227
233
|
return { type: types_1.Command.None };
|
|
228
234
|
}
|
|
235
|
+
function parseVercelArgs(tokens) {
|
|
236
|
+
const rest = [...tokens];
|
|
237
|
+
const action = rest.shift();
|
|
238
|
+
if (!action) {
|
|
239
|
+
throw new Error('Missing vercel action. Usage: vercel projects|deploys');
|
|
240
|
+
}
|
|
241
|
+
if (action === 'projects') {
|
|
242
|
+
let scope;
|
|
243
|
+
while (rest.length > 0) {
|
|
244
|
+
const token = rest.shift();
|
|
245
|
+
switch (token) {
|
|
246
|
+
case '--scope':
|
|
247
|
+
scope = requireValue(rest, token);
|
|
248
|
+
break;
|
|
249
|
+
default:
|
|
250
|
+
throw new Error(`Unknown vercel option: ${token}`);
|
|
251
|
+
}
|
|
252
|
+
}
|
|
253
|
+
return {
|
|
254
|
+
type: types_1.Command.Vercel,
|
|
255
|
+
action: 'projects',
|
|
256
|
+
scope,
|
|
257
|
+
};
|
|
258
|
+
}
|
|
259
|
+
if (action === 'deploys') {
|
|
260
|
+
let scope;
|
|
261
|
+
let project;
|
|
262
|
+
let lastWeek = false;
|
|
263
|
+
while (rest.length > 0) {
|
|
264
|
+
const token = rest.shift();
|
|
265
|
+
switch (token) {
|
|
266
|
+
case '--scope':
|
|
267
|
+
scope = requireValue(rest, token);
|
|
268
|
+
break;
|
|
269
|
+
case '--project':
|
|
270
|
+
project = requireValue(rest, token);
|
|
271
|
+
break;
|
|
272
|
+
case '--last-week':
|
|
273
|
+
lastWeek = true;
|
|
274
|
+
break;
|
|
275
|
+
default:
|
|
276
|
+
throw new Error(`Unknown vercel option: ${token}`);
|
|
277
|
+
}
|
|
278
|
+
}
|
|
279
|
+
if (!project) {
|
|
280
|
+
throw new Error('Missing --project. Usage: vercel deploys --project <name> [--last-week].');
|
|
281
|
+
}
|
|
282
|
+
return {
|
|
283
|
+
type: types_1.Command.Vercel,
|
|
284
|
+
action: 'deploys',
|
|
285
|
+
project,
|
|
286
|
+
scope,
|
|
287
|
+
lastWeek,
|
|
288
|
+
};
|
|
289
|
+
}
|
|
290
|
+
throw new Error(`Unknown vercel action: ${action}`);
|
|
291
|
+
}
|
|
229
292
|
function parseAddDnsArgs(tokens) {
|
|
230
293
|
var _a;
|
|
231
294
|
const options = {
|
|
@@ -1545,6 +1608,11 @@ async function main() {
|
|
|
1545
1608
|
await handler.handle(commandArgs);
|
|
1546
1609
|
return;
|
|
1547
1610
|
}
|
|
1611
|
+
case types_1.Command.Vercel: {
|
|
1612
|
+
const handler = new VercelCommandHandler_1.VercelCommandHandler();
|
|
1613
|
+
await handler.handle(commandArgs);
|
|
1614
|
+
return;
|
|
1615
|
+
}
|
|
1548
1616
|
default:
|
|
1549
1617
|
showHelp();
|
|
1550
1618
|
}
|
|
@@ -1555,5 +1623,7 @@ async function main() {
|
|
|
1555
1623
|
process.exitCode = 1;
|
|
1556
1624
|
}
|
|
1557
1625
|
}
|
|
1558
|
-
|
|
1626
|
+
if (require.main === module) {
|
|
1627
|
+
void main();
|
|
1628
|
+
}
|
|
1559
1629
|
//# sourceMappingURL=index.js.map
|