@agentpowers/cli 0.5.1 → 0.6.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.
Files changed (44) hide show
  1. package/dist/banner.d.ts +2 -0
  2. package/dist/banner.js +33 -0
  3. package/dist/banner.js.map +1 -0
  4. package/dist/cli.js +14 -1
  5. package/dist/cli.js.map +1 -1
  6. package/dist/commands/detail.js +66 -33
  7. package/dist/commands/detail.js.map +1 -1
  8. package/dist/commands/install.js +26 -27
  9. package/dist/commands/install.js.map +1 -1
  10. package/dist/commands/login.js +10 -7
  11. package/dist/commands/login.js.map +1 -1
  12. package/dist/commands/logout.js +2 -1
  13. package/dist/commands/logout.js.map +1 -1
  14. package/dist/commands/profile.js +25 -16
  15. package/dist/commands/profile.js.map +1 -1
  16. package/dist/commands/prune.d.ts +4 -0
  17. package/dist/commands/prune.js +60 -0
  18. package/dist/commands/prune.js.map +1 -0
  19. package/dist/commands/publish.js +28 -19
  20. package/dist/commands/publish.js.map +1 -1
  21. package/dist/commands/republish.js +26 -18
  22. package/dist/commands/republish.js.map +1 -1
  23. package/dist/commands/scan.js +38 -28
  24. package/dist/commands/scan.js.map +1 -1
  25. package/dist/commands/search.js +5 -4
  26. package/dist/commands/search.js.map +1 -1
  27. package/dist/commands/setup.js +14 -12
  28. package/dist/commands/setup.js.map +1 -1
  29. package/dist/commands/status.js +31 -33
  30. package/dist/commands/status.js.map +1 -1
  31. package/dist/commands/uninstall.js +8 -4
  32. package/dist/commands/uninstall.js.map +1 -1
  33. package/dist/commands/unpublish.js +16 -11
  34. package/dist/commands/unpublish.js.map +1 -1
  35. package/dist/commands/update.js +89 -49
  36. package/dist/commands/update.js.map +1 -1
  37. package/dist/commands/verify.js +5 -5
  38. package/dist/commands/verify.js.map +1 -1
  39. package/dist/commands/whoami.js +11 -6
  40. package/dist/commands/whoami.js.map +1 -1
  41. package/dist/formatters.d.ts +26 -1
  42. package/dist/formatters.js +207 -37
  43. package/dist/formatters.js.map +1 -1
  44. package/package.json +2 -1
@@ -1,10 +1,34 @@
1
- /** Terminal output formatters for CLI display. */
1
+ /** Terminal output formatters for CLI display — Rich-style colored output. */
2
+ import chalk from "chalk";
3
+ // Brand teal matching Python CLI (#5fbab8)
4
+ const teal = chalk.hex("#5fbab8");
5
+ export { teal };
6
+ // ── Price ────────────────────────────────────────────────────────────
2
7
  export function formatPrice(priceCents) {
3
8
  if (priceCents === 0)
4
9
  return "Free";
5
10
  return `$${(priceCents / 100).toFixed(2)}`;
6
11
  }
12
+ // ── Security status ──────────────────────────────────────────────────
13
+ /** Format security status with color (for terminal display). */
7
14
  export function formatSecurityStatus(status) {
15
+ switch (status.toUpperCase()) {
16
+ case "PASS":
17
+ return chalk.green("pass");
18
+ case "WARN":
19
+ return chalk.yellow("warn");
20
+ case "BLOCK":
21
+ return chalk.red("block");
22
+ case "NOT_APPLICABLE":
23
+ return chalk.dim("N/A");
24
+ case "SKIP":
25
+ return chalk.dim("skipped");
26
+ default:
27
+ return status;
28
+ }
29
+ }
30
+ /** Format security status without color (for plain text / tests). */
31
+ export function formatSecurityStatusPlain(status) {
8
32
  switch (status.toUpperCase()) {
9
33
  case "PASS":
10
34
  return "Passed";
@@ -20,29 +44,172 @@ export function formatSecurityStatus(status) {
20
44
  return status;
21
45
  }
22
46
  }
23
- function formatNativeItem(item, index) {
47
+ // ── Severity ─────────────────────────────────────────────────────────
48
+ export function formatSeverity(severity) {
49
+ const s = severity.toUpperCase();
50
+ if (s === "HIGH")
51
+ return chalk.bold.red(s);
52
+ if (s === "MEDIUM")
53
+ return chalk.bold.yellow(s);
54
+ if (s === "LOW")
55
+ return chalk.dim.yellow(s);
56
+ return chalk.dim(s);
57
+ }
58
+ // ── Installed status ─────────────────────────────────────────────────
59
+ export function formatInstalled(state) {
60
+ if (state === "edited")
61
+ return chalk.yellow("Edited");
62
+ if (state !== null)
63
+ return chalk.greenBright("Yes");
64
+ return "No";
65
+ }
66
+ /** Strip ANSI escape codes and other terminal control sequences. */
67
+ // Matches SGR, OSC, CSI, and other escape sequences
68
+ // eslint-disable-next-line no-control-regex
69
+ const ANSI_RE = /[\x1b\x9b][[()#;?]*(?:[0-9]{1,4}(?:;[0-9]{0,4})*)?[0-9A-ORZcf-nqry=><~]/g;
70
+ // eslint-disable-next-line no-control-regex
71
+ const CONTROL_RE = /[\x00-\x08\x0b\x0c\x0e-\x1a]/g;
72
+ export function stripAnsi(str) {
73
+ return str.replace(ANSI_RE, "").replace(CONTROL_RE, "");
74
+ }
75
+ /** Sanitize a string for safe terminal display (removes newlines, control chars). */
76
+ export function sanitizeForTerminal(str) {
77
+ return str.replace(/[\r\n]/g, " ").replace(CONTROL_RE, "").slice(0, 500);
78
+ }
79
+ function visibleLength(str) {
80
+ return stripAnsi(str).length;
81
+ }
82
+ function padCell(str, width, align = "left") {
83
+ const visible = visibleLength(str);
84
+ const padding = Math.max(0, width - visible);
85
+ if (align === "right")
86
+ return " ".repeat(padding) + str;
87
+ return str + " ".repeat(padding);
88
+ }
89
+ export function renderTable(columns, rows, title) {
90
+ // Compute column widths: max of header and all cell visible lengths
91
+ const widths = columns.map((col, i) => {
92
+ const headerLen = col.header.length;
93
+ const maxCell = rows.reduce((max, row) => {
94
+ const cellLen = visibleLength(row[i] || "");
95
+ return Math.max(max, cellLen);
96
+ }, 0);
97
+ return col.width ?? Math.max(headerLen, maxCell);
98
+ });
99
+ const lines = [];
100
+ // Title
101
+ if (title) {
102
+ lines.push(chalk.bold(title));
103
+ }
104
+ // Header row
105
+ const headerLine = columns
106
+ .map((col, i) => padCell(chalk.bold(col.header), widths[i]))
107
+ .join(" ");
108
+ lines.push(` ${headerLine}`);
109
+ // Separator
110
+ const sepLine = widths.map((w) => "─".repeat(w)).join("──");
111
+ lines.push(` ${sepLine}`);
112
+ // Data rows
113
+ for (const row of rows) {
114
+ const cells = columns.map((col, i) => {
115
+ let val = row[i] || "";
116
+ if (col.style)
117
+ val = col.style(val);
118
+ return padCell(val, widths[i], col.align);
119
+ });
120
+ lines.push(` ${cells.join(" ")}`);
121
+ }
122
+ return lines.join("\n");
123
+ }
124
+ // ── Panel (box) ──────────────────────────────────────────────────────
125
+ export function renderPanel(content, title, borderColor = "cyan") {
126
+ const colorFn = borderColor === "cyan" ? chalk.cyan :
127
+ borderColor === "green" ? chalk.green :
128
+ borderColor === "yellow" ? chalk.yellow :
129
+ chalk.red;
130
+ const contentLines = content.split("\n");
131
+ const maxLen = Math.max(...contentLines.map((l) => visibleLength(l)), title ? visibleLength(title) + 4 : 0, 40);
132
+ const width = maxLen + 4; // 2 padding each side
133
+ const lines = [];
134
+ // Top border
135
+ if (title) {
136
+ const titleStr = ` ${title} `;
137
+ const remaining = width - 2 - visibleLength(titleStr);
138
+ const left = Math.max(1, Math.floor(remaining / 2));
139
+ const right = Math.max(1, remaining - left);
140
+ lines.push(colorFn(`╭${"─".repeat(left)}${titleStr}${"─".repeat(right)}╮`));
141
+ }
142
+ else {
143
+ lines.push(colorFn(`╭${"─".repeat(width - 2)}╮`));
144
+ }
145
+ // Content with padding
146
+ lines.push(colorFn("│") + " ".repeat(width - 2) + colorFn("│"));
147
+ for (const line of contentLines) {
148
+ const pad = width - 4 - visibleLength(line);
149
+ lines.push(colorFn("│") + ` ${line}${" ".repeat(Math.max(0, pad))} ` + colorFn("│"));
150
+ }
151
+ lines.push(colorFn("│") + " ".repeat(width - 2) + colorFn("│"));
152
+ // Bottom border
153
+ lines.push(colorFn(`╰${"─".repeat(width - 2)}╯`));
154
+ return lines.join("\n");
155
+ }
156
+ // ── Spinner simulation ───────────────────────────────────────────────
157
+ /** Write a status message to stderr (same line, overwritten). */
158
+ export function writeStatus(message) {
159
+ if (process.stderr.isTTY) {
160
+ process.stderr.write(`\r${chalk.dim(message)}${" ".repeat(20)}\r`);
161
+ }
162
+ }
163
+ export function clearStatus() {
164
+ if (process.stderr.isTTY) {
165
+ process.stderr.write("\r" + " ".repeat(80) + "\r");
166
+ }
167
+ }
168
+ // ── Error formatting ─────────────────────────────────────────────────
169
+ export function formatError(message) {
170
+ return `${chalk.red("Error:")} ${message}`;
171
+ }
172
+ export function formatSuccess(message) {
173
+ return chalk.green(message);
174
+ }
175
+ export function formatWarning(message) {
176
+ return chalk.yellow(message);
177
+ }
178
+ export function formatDim(message) {
179
+ return chalk.dim(message);
180
+ }
181
+ // ── Search results ───────────────────────────────────────────────────
182
+ function formatNativeSearchRow(item) {
24
183
  const author = item.author
25
- ? item.author.display_name || item.author.github_username || "Unknown"
184
+ ? sanitizeForTerminal(item.author.display_name || item.author.github_username || "Unknown")
26
185
  : "Unknown";
27
- const lines = [
28
- ` ${index}. ${item.title} (${item.slug})`,
29
- ` ${item.description}`,
30
- ` ${formatPrice(item.price_cents)} | v${item.version} | ${formatSecurityStatus(item.security_status)} | ${item.download_count} downloads | by ${author}`,
31
- "",
186
+ const dl = item.download_count ?? 0;
187
+ return [
188
+ sanitizeForTerminal(item.slug),
189
+ `${sanitizeForTerminal(item.title)} (${dl}, ${author})`,
190
+ "agentpowers",
191
+ item.type || "skill",
192
+ formatPrice(item.price_cents),
193
+ formatSecurityStatus(item.security_status),
32
194
  ];
33
- return lines.join("\n");
34
195
  }
35
- function formatExternalItem(item, index) {
36
- const security = item.ap_security_status
37
- ? formatSecurityStatus(item.ap_security_status)
38
- : "Not scanned";
39
- const lines = [
40
- ` ${index}. ${item.title} (${item.slug})`,
41
- ` ${item.description}`,
42
- ` ${formatPrice(item.price_cents)} | ${security} | by ${item.author}`,
43
- "",
196
+ function formatExternalSearchRow(item, source) {
197
+ const installs = item.source_installs ?? 0;
198
+ const rating = item.source_rating ?? 0;
199
+ return [
200
+ sanitizeForTerminal(item.slug),
201
+ `${sanitizeForTerminal(item.title)} (${installs}, ${rating})`,
202
+ sanitizeForTerminal(item.source || source),
203
+ "skill",
204
+ formatPrice(item.price_cents),
205
+ item.ap_security_status
206
+ ? formatSecurityStatus(item.ap_security_status)
207
+ : chalk.dim("not scanned"),
44
208
  ];
45
- return lines.join("\n");
209
+ }
210
+ /** Sort key: paid items first. */
211
+ function sortKey(row) {
212
+ return row[4] === "Free" ? 1 : 0;
46
213
  }
47
214
  export function formatSearchResults(data) {
48
215
  const native = data.agentpowers;
@@ -52,29 +219,32 @@ export function formatSearchResults(data) {
52
219
  if (totalResults === 0) {
53
220
  return "No results found.";
54
221
  }
55
- const sections = [];
56
- let globalIndex = 1;
57
- // Native AgentPowers results
58
- if (native.items.length > 0) {
59
- const lines = [`AgentPowers Marketplace (${native.total} result${native.total === 1 ? "" : "s"})`, ""];
60
- for (const item of native.items) {
61
- lines.push(formatNativeItem(item, globalIndex++));
62
- }
63
- sections.push(lines.join("\n"));
222
+ const nativeRows = [];
223
+ const externalRows = [];
224
+ // Native rows (displayed first)
225
+ for (const item of native.items) {
226
+ nativeRows.push(formatNativeSearchRow(item));
64
227
  }
65
- // External source results
228
+ // External rows (displayed after native)
66
229
  for (const source of externalSources) {
67
230
  const section = data[source];
68
- if (section.items.length > 0) {
69
- const label = source.charAt(0).toUpperCase() + source.slice(1);
70
- const lines = [`${label} (${section.total} result${section.total === 1 ? "" : "s"})`, ""];
71
- for (const item of section.items) {
72
- lines.push(formatExternalItem(item, globalIndex++));
73
- }
74
- sections.push(lines.join("\n"));
231
+ for (const item of section.items) {
232
+ externalRows.push(formatExternalSearchRow(item, source));
75
233
  }
76
234
  }
235
+ // Sort within each group: paid first
236
+ nativeRows.sort((a, b) => sortKey(a) - sortKey(b));
237
+ externalRows.sort((a, b) => sortKey(a) - sortKey(b));
238
+ const rows = [...nativeRows, ...externalRows];
239
+ const columns = [
240
+ { header: "Slug", style: (v) => chalk.cyan(v) },
241
+ { header: "Title (Installs, Stars)" },
242
+ { header: "Source", style: (v) => chalk.yellow(v) },
243
+ { header: "Type" },
244
+ { header: "Price", align: "right" },
245
+ { header: "Security" },
246
+ ];
77
247
  const header = `Found ${totalResults} result${totalResults === 1 ? "" : "s"}:\n`;
78
- return header + sections.join("\n");
248
+ return header + renderTable(columns, rows);
79
249
  }
80
250
  //# sourceMappingURL=formatters.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"formatters.js","sourceRoot":"","sources":["../src/formatters.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"formatters.js","sourceRoot":"","sources":["../src/formatters.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@agentpowers/cli",
3
- "version": "0.5.1",
3
+ "version": "0.6.0",
4
4
  "description": "CLI for the AgentPowers marketplace — search, install, and manage Claude Code skills.",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -45,6 +45,7 @@
45
45
  },
46
46
  "dependencies": {
47
47
  "@agentpowers/core": "^0.1.0",
48
+ "chalk": "^5.6.2",
48
49
  "commander": "^13.0.0"
49
50
  },
50
51
  "devDependencies": {