@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,12 +1,14 @@
1
1
  /** Profile command — view or edit user profile. */
2
2
  import { createInterface } from "node:readline/promises";
3
3
  import { stdin, stdout } from "node:process";
4
+ import chalk from "chalk";
4
5
  import { apiGet, apiPatch, APIError, formatAPIError, NetworkError } from "../api-client.js";
5
6
  import { loadAuthToken } from "../auth.js";
7
+ import { formatError, formatSuccess, writeStatus, clearStatus } from "../formatters.js";
6
8
  export async function profileCommand(options = {}) {
7
9
  const token = loadAuthToken();
8
10
  if (!token) {
9
- console.error("Error: Not logged in. Run `npx @agentpowers/cli login` first.");
11
+ console.error(formatError("Not logged in. Run `npx @agentpowers/cli login` first."));
10
12
  process.exitCode = 1;
11
13
  return;
12
14
  }
@@ -19,16 +21,17 @@ export async function profileCommand(options = {}) {
19
21
  }
20
22
  }
21
23
  catch (err) {
24
+ clearStatus();
22
25
  if (err instanceof APIError && err.statusCode === 401) {
23
- console.error("Error: Not logged in. Run `npx @agentpowers/cli login` first.");
26
+ console.error(formatError("Not logged in. Run `npx @agentpowers/cli login` first."));
24
27
  process.exitCode = 1;
25
28
  }
26
29
  else if (err instanceof APIError) {
27
- console.error(`Error: ${formatAPIError(err)}`);
30
+ console.error(formatError(formatAPIError(err)));
28
31
  process.exitCode = 1;
29
32
  }
30
33
  else if (err instanceof NetworkError) {
31
- console.error(`Error: ${err.message}`);
34
+ console.error(formatError(err.message));
32
35
  process.exitCode = 1;
33
36
  }
34
37
  else {
@@ -37,24 +40,28 @@ export async function profileCommand(options = {}) {
37
40
  }
38
41
  }
39
42
  async function viewProfile(token) {
43
+ writeStatus("Fetching profile...");
40
44
  const profile = await apiGet("/v1/users/profile", {}, token);
45
+ clearStatus();
41
46
  console.log("");
42
- console.log(" Your Profile");
43
- console.log(" ────────────");
47
+ console.log(chalk.bold(" Your Profile"));
48
+ console.log(` ${"─".repeat(12)}`);
44
49
  console.log("");
45
- console.log(` Display Name: ${profile.display_name || "(not set)"}`);
46
- console.log(` Email: ${profile.email || "(not set)"}`);
47
- console.log(` Bio: ${profile.bio || "(not set)"}`);
48
- console.log(` Created: ${profile.created_at || "-"}`);
50
+ console.log(` ${chalk.bold("Display Name:")} ${profile.display_name || chalk.dim("(not set)")}`);
51
+ console.log(` ${chalk.bold("Email:")} ${profile.email || chalk.dim("(not set)")}`);
52
+ console.log(` ${chalk.bold("Bio:")} ${profile.bio || chalk.dim("(not set)")}`);
53
+ console.log(` ${chalk.bold("Created:")} ${profile.created_at || "-"}`);
49
54
  console.log("");
50
55
  if (!profile.display_name) {
51
- console.log(" Tip: Set your display name with: npx @agentpowers/cli profile --set");
56
+ console.log(chalk.dim(" Tip: Set your display name with: npx @agentpowers/cli profile --set"));
52
57
  console.log("");
53
58
  }
54
59
  }
55
60
  async function editProfile(token) {
56
61
  // Fetch current profile to show defaults
62
+ writeStatus("Fetching profile...");
57
63
  const current = await apiGet("/v1/users/profile", {}, token);
64
+ clearStatus();
58
65
  const rl = createInterface({ input: stdin, output: stdout });
59
66
  try {
60
67
  const defaultName = current.display_name || "";
@@ -76,16 +83,18 @@ async function editProfile(token) {
76
83
  }
77
84
  if (Object.keys(body).length === 0) {
78
85
  console.log("");
79
- console.log(" No changes made.");
86
+ console.log(chalk.dim(" No changes made."));
80
87
  return;
81
88
  }
89
+ writeStatus("Saving profile...");
82
90
  const updated = await apiPatch("/v1/users/profile", body, token);
91
+ clearStatus();
83
92
  console.log("");
84
- console.log(" Profile updated!");
93
+ console.log(formatSuccess(" Profile updated!"));
85
94
  console.log("");
86
- console.log(` Display Name: ${updated.display_name || "(not set)"}`);
87
- console.log(` Email: ${updated.email || "(not set)"}`);
88
- console.log(` Bio: ${updated.bio || "(not set)"}`);
95
+ console.log(` ${chalk.bold("Display Name:")} ${updated.display_name || chalk.dim("(not set)")}`);
96
+ console.log(` ${chalk.bold("Email:")} ${updated.email || chalk.dim("(not set)")}`);
97
+ console.log(` ${chalk.bold("Bio:")} ${updated.bio || chalk.dim("(not set)")}`);
89
98
  console.log("");
90
99
  }
91
100
  finally {
@@ -1 +1 @@
1
- {"version":3,"file":"profile.js","sourceRoot":"","sources":["../../src/commands/profile.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"profile.js","sourceRoot":"","sources":["../../src/commands/profile.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ /** Prune command — remove stale pins whose install directories no longer exist. */
2
+ export declare function pruneCommand(options?: {
3
+ dryRun?: boolean;
4
+ }): Promise<void>;
@@ -0,0 +1,60 @@
1
+ /** Prune command — remove stale pins whose install directories no longer exist. */
2
+ import chalk from "chalk";
3
+ import { loadPins, removePin, isDirectory } from "@agentpowers/core";
4
+ import { getInstallDir, validateSlug } from "../installer.js";
5
+ import { formatSuccess } from "../formatters.js";
6
+ /** Normalize pin.type to "skill" | "agent". Garbage values default to "skill". */
7
+ function normalizePinType(raw) {
8
+ if (raw === "agent")
9
+ return "agent";
10
+ return "skill";
11
+ }
12
+ export async function pruneCommand(options) {
13
+ const dryRun = options?.dryRun ?? false;
14
+ const pins = loadPins();
15
+ const slugs = Object.keys(pins);
16
+ if (slugs.length === 0) {
17
+ console.log("No pins found -- nothing to prune.");
18
+ return;
19
+ }
20
+ const stale = [];
21
+ for (const slug of slugs) {
22
+ // Skip pins with invalid slugs (path traversal protection)
23
+ if (!validateSlug(slug)) {
24
+ stale.push(slug);
25
+ continue;
26
+ }
27
+ const pin = pins[slug];
28
+ const type = normalizePinType(pin.type);
29
+ const installDir = getInstallDir(slug, type);
30
+ if (!isDirectory(installDir)) {
31
+ stale.push(slug);
32
+ }
33
+ }
34
+ if (stale.length === 0) {
35
+ console.log(chalk.green("All pins are valid -- nothing to prune."));
36
+ return;
37
+ }
38
+ if (dryRun) {
39
+ console.log(`Would remove ${stale.length} stale pin(s):`);
40
+ for (const slug of stale) {
41
+ console.log(` ${chalk.dim("-")} ${chalk.cyan(slug)}`);
42
+ }
43
+ return;
44
+ }
45
+ let removed = 0;
46
+ for (const slug of stale) {
47
+ if (removePin(slug)) {
48
+ removed++;
49
+ console.log(` ${chalk.red("x")} Removed stale pin: ${chalk.cyan(slug)}`);
50
+ }
51
+ }
52
+ if (removed > 0) {
53
+ console.log("");
54
+ console.log(formatSuccess(`Pruned ${removed} stale pin(s).`));
55
+ }
56
+ else {
57
+ console.log(chalk.dim("Pins were already cleaned up -- nothing to remove."));
58
+ }
59
+ }
60
+ //# sourceMappingURL=prune.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"prune.js","sourceRoot":"","sources":["../../src/commands/prune.ts"],"names":[],"mappings":"AAAA,mFAAmF;AAEnF,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AACrE,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC9D,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAEjD,kFAAkF;AAClF,SAAS,gBAAgB,CAAC,GAAuB;IAC/C,IAAI,GAAG,KAAK,OAAO;QAAE,OAAO,OAAO,CAAC;IACpC,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,YAAY,CAAC,OAA8B;IAC/D,MAAM,MAAM,GAAG,OAAO,EAAE,MAAM,IAAI,KAAK,CAAC;IACxC,MAAM,IAAI,GAAG,QAAQ,EAAE,CAAC;IACxB,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAEhC,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACvB,OAAO,CAAC,GAAG,CAAC,oCAAoC,CAAC,CAAC;QAClD,OAAO;IACT,CAAC;IAED,MAAM,KAAK,GAAa,EAAE,CAAC;IAE3B,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,2DAA2D;QAC3D,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE,CAAC;YACxB,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACjB,SAAS;QACX,CAAC;QAED,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC;QACvB,MAAM,IAAI,GAAG,gBAAgB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACxC,MAAM,UAAU,GAAG,aAAa,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QAE7C,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,EAAE,CAAC;YAC7B,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACnB,CAAC;IACH,CAAC;IAED,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACvB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,yCAAyC,CAAC,CAAC,CAAC;QACpE,OAAO;IACT,CAAC;IAED,IAAI,MAAM,EAAE,CAAC;QACX,OAAO,CAAC,GAAG,CAAC,gBAAgB,KAAK,CAAC,MAAM,gBAAgB,CAAC,CAAC;QAC1D,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,OAAO,CAAC,GAAG,CAAC,KAAK,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACzD,CAAC;QACD,OAAO;IACT,CAAC;IAED,IAAI,OAAO,GAAG,CAAC,CAAC;IAChB,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,IAAI,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC;YACpB,OAAO,EAAE,CAAC;YACV,OAAO,CAAC,GAAG,CAAC,KAAK,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,uBAAuB,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAC5E,CAAC;IACH,CAAC;IAED,IAAI,OAAO,GAAG,CAAC,EAAE,CAAC;QAChB,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAChB,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,UAAU,OAAO,gBAAgB,CAAC,CAAC,CAAC;IAChE,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,oDAAoD,CAAC,CAAC,CAAC;IAC/E,CAAC;AACH,CAAC"}
@@ -2,8 +2,10 @@
2
2
  import { readFileSync } from "node:fs";
3
3
  import { join } from "node:path";
4
4
  import { execSync } from "node:child_process";
5
+ import chalk from "chalk";
5
6
  import { loadAuthToken } from "../auth.js";
6
7
  import { apiPost, apiPatch, apiUpload, APIError, formatAPIError, NetworkError, } from "../api-client.js";
8
+ import { formatError, formatSuccess, writeStatus, clearStatus } from "../formatters.js";
7
9
  /** Parse YAML-like frontmatter from SKILL.md content. */
8
10
  function parseFrontmatter(content) {
9
11
  const match = content.match(/^---\n([\s\S]*?)\n---/);
@@ -61,7 +63,7 @@ export async function publishCommand(options) {
61
63
  if (options.version &&
62
64
  options.bump &&
63
65
  options.bump !== "patch") {
64
- console.error("Error: --version and --bump are mutually exclusive. Use one or the other.");
66
+ console.error(formatError("--version and --bump are mutually exclusive. Use one or the other."));
65
67
  process.exitCode = 1;
66
68
  return;
67
69
  }
@@ -69,7 +71,7 @@ export async function publishCommand(options) {
69
71
  if (options.price !== undefined) {
70
72
  const priceNum = parseFloat(options.price);
71
73
  if (isNaN(priceNum) || priceNum < 0) {
72
- console.error("Error: Price must be a non-negative number (e.g. '9.99' or '0').");
74
+ console.error(formatError("Price must be a non-negative number (e.g. '9.99' or '0')."));
73
75
  process.exitCode = 1;
74
76
  return;
75
77
  }
@@ -77,7 +79,7 @@ export async function publishCommand(options) {
77
79
  // Auth check
78
80
  const token = loadAuthToken();
79
81
  if (!token) {
80
- console.error("Error: Authentication required. Run `npx @agentpowers/cli login` first.");
82
+ console.error(formatError("Authentication required. Run `npx @agentpowers/cli login` first."));
81
83
  process.exitCode = 1;
82
84
  return;
83
85
  }
@@ -88,7 +90,7 @@ export async function publishCommand(options) {
88
90
  skillContent = readFileSync(join(dir, "SKILL.md"), "utf-8");
89
91
  }
90
92
  catch {
91
- console.error(`Error: No SKILL.md found in "${dir}". Create one with name/description frontmatter.`);
93
+ console.error(formatError(`No SKILL.md found in "${dir}". Create one with name/description frontmatter.`));
92
94
  process.exitCode = 1;
93
95
  return;
94
96
  }
@@ -97,7 +99,7 @@ export async function publishCommand(options) {
97
99
  frontmatter = parseFrontmatter(skillContent);
98
100
  }
99
101
  catch (err) {
100
- console.error(`Error: ${err.message}`);
102
+ console.error(formatError(err.message));
101
103
  process.exitCode = 1;
102
104
  return;
103
105
  }
@@ -107,7 +109,7 @@ export async function publishCommand(options) {
107
109
  ? Math.round(parseFloat(options.price) * 100)
108
110
  : 0;
109
111
  const bump = options.bump || "patch";
110
- console.log(`Publishing "${frontmatter.name}" (${slug})...`);
112
+ writeStatus(`Publishing "${frontmatter.name}" (${slug})...`);
111
113
  try {
112
114
  // Step 1: Create or update the skill listing
113
115
  let isUpdate = false;
@@ -121,6 +123,7 @@ export async function publishCommand(options) {
121
123
  price_cents: priceCents,
122
124
  };
123
125
  await apiPost("/v1/skills", payload, token);
126
+ clearStatus();
124
127
  console.log("Created new skill listing.");
125
128
  }
126
129
  catch (err) {
@@ -132,7 +135,7 @@ export async function publishCommand(options) {
132
135
  err.statusCode === 400 &&
133
136
  err.code === "DISPLAY_NAME_REQUIRED") {
134
137
  // Need to set display name first
135
- console.log("Setting up your author profile...");
138
+ writeStatus("Setting up your author profile...");
136
139
  const displayName = frontmatter.name.split("-")[0] || "Author";
137
140
  await apiPatch("/v1/users/profile", { display_name: displayName }, token);
138
141
  // Retry skill creation
@@ -145,6 +148,7 @@ export async function publishCommand(options) {
145
148
  price_cents: priceCents,
146
149
  };
147
150
  await apiPost("/v1/skills", payload, token);
151
+ clearStatus();
148
152
  console.log("Created new skill listing.");
149
153
  }
150
154
  else {
@@ -153,7 +157,8 @@ export async function publishCommand(options) {
153
157
  }
154
158
  // Step 2: If updating, PATCH the skill metadata and bump version
155
159
  if (isUpdate) {
156
- console.log("Skill already exists. Updating...");
160
+ clearStatus();
161
+ writeStatus("Updating skill metadata...");
157
162
  const patchPayload = {
158
163
  description: frontmatter.description,
159
164
  category,
@@ -171,39 +176,43 @@ export async function publishCommand(options) {
171
176
  versionPayload.bump = bump;
172
177
  }
173
178
  await apiPost(`/v1/skills/${encodeURIComponent(slug)}/versions`, versionPayload, token);
179
+ clearStatus();
174
180
  console.log("Updated skill metadata and bumped version.");
175
181
  }
176
182
  // Step 3: Package and upload
177
- console.log("Packaging...");
183
+ writeStatus("Packaging...");
178
184
  const zipBuffer = createZipBuffer(dir);
179
- console.log(`Package size: ${(zipBuffer.length / 1024).toFixed(1)} KB`);
180
- console.log("Uploading...");
185
+ clearStatus();
186
+ console.log(chalk.dim(`Package size: ${(zipBuffer.length / 1024).toFixed(1)} KB`));
187
+ writeStatus("Uploading...");
181
188
  await apiUpload(`/v1/skills/${encodeURIComponent(slug)}/upload`, zipBuffer, "package.zip", undefined, token);
189
+ clearStatus();
182
190
  console.log("");
183
- console.log(`Published ${frontmatter.name} (${slug}) successfully.`);
184
- console.log(`View: https://agentpowers.ai/skills/${encodeURIComponent(slug)}`);
185
- console.log(`Install: npx @agentpowers/cli install ${slug}`);
191
+ console.log(formatSuccess(`Published ${frontmatter.name} (${slug}) successfully.`));
192
+ console.log(`${chalk.bold("View:")} https://agentpowers.ai/skills/${encodeURIComponent(slug)}`);
193
+ console.log(`${chalk.bold("Install:")} npx @agentpowers/cli install ${slug}`);
186
194
  console.log("");
187
195
  }
188
196
  catch (err) {
197
+ clearStatus();
189
198
  if (err instanceof APIError) {
190
199
  if (err.statusCode === 401) {
191
- console.error("Error: Authentication expired. Run `npx @agentpowers/cli login` to refresh.");
200
+ console.error(formatError("Authentication expired. Run `npx @agentpowers/cli login` to refresh."));
192
201
  }
193
202
  else if (err.statusCode === 403) {
194
- console.error("Error: You are not the author of this skill. Only the original author can update it.");
203
+ console.error(formatError("You are not the author of this skill. Only the original author can update it."));
195
204
  }
196
205
  else {
197
- console.error(`Error: ${formatAPIError(err)}`);
206
+ console.error(formatError(formatAPIError(err)));
198
207
  }
199
208
  process.exitCode = 1;
200
209
  }
201
210
  else if (err instanceof NetworkError) {
202
- console.error(`Error: ${err.message}`);
211
+ console.error(formatError(err.message));
203
212
  process.exitCode = 1;
204
213
  }
205
214
  else if (err instanceof Error) {
206
- console.error(`Error: ${err.message}`);
215
+ console.error(formatError(err.message));
207
216
  process.exitCode = 1;
208
217
  }
209
218
  else {
@@ -1 +1 @@
1
- {"version":3,"file":"publish.js","sourceRoot":"","sources":["../../src/commands/publish.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"publish.js","sourceRoot":"","sources":["../../src/commands/publish.ts"],"names":[],"mappings":"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"}
@@ -1,38 +1,43 @@
1
1
  /** Republish command — restore an archived skill to the marketplace. */
2
2
  import { createInterface } from "node:readline";
3
+ import chalk from "chalk";
3
4
  import { loadAuthToken } from "../auth.js";
4
5
  import { apiGet, apiPost, APIError, formatAPIError, NetworkError, } from "../api-client.js";
5
6
  import { validateSlug } from "../installer.js";
7
+ import { formatError, formatSuccess, writeStatus, clearStatus } from "../formatters.js";
6
8
  export async function republishCommand(slug, options = {}) {
7
9
  if (!validateSlug(slug)) {
8
- console.error(`Error: Invalid slug "${slug}". Slugs must be lowercase alphanumeric with hyphens only.`);
10
+ console.error(formatError(`Invalid slug "${slug}". Slugs must be lowercase alphanumeric with hyphens only.`));
9
11
  process.exitCode = 1;
10
12
  return;
11
13
  }
12
14
  const token = loadAuthToken();
13
15
  if (!token) {
14
- console.error("Not logged in. Run `npx @agentpowers/cli login` first.");
16
+ console.error(formatError("Not logged in. Run `npx @agentpowers/cli login` first."));
15
17
  process.exitCode = 1;
16
18
  return;
17
19
  }
18
20
  // Pre-flight: fetch skill detail to show info before confirming
19
21
  let detail;
20
22
  try {
23
+ writeStatus(`Fetching ${slug}...`);
21
24
  detail = await apiGet(`/v1/detail/${encodeURIComponent(slug)}`);
25
+ clearStatus();
22
26
  }
23
27
  catch (err) {
28
+ clearStatus();
24
29
  if (err instanceof APIError && err.statusCode === 404) {
25
- console.error(`Skill '${slug}' not found.`);
30
+ console.error(formatError(`Skill '${slug}' not found.`));
26
31
  process.exitCode = 1;
27
32
  return;
28
33
  }
29
34
  else if (err instanceof APIError) {
30
- console.error(`Error: ${formatAPIError(err)}`);
35
+ console.error(formatError(formatAPIError(err)));
31
36
  process.exitCode = 1;
32
37
  return;
33
38
  }
34
39
  else if (err instanceof NetworkError) {
35
- console.error(`Error: ${err.message}`);
40
+ console.error(formatError(err.message));
36
41
  process.exitCode = 1;
37
42
  return;
38
43
  }
@@ -40,50 +45,53 @@ export async function republishCommand(slug, options = {}) {
40
45
  }
41
46
  // Display skill info
42
47
  const title = detail.title || slug;
43
- const status = detail.archived_at ? "archived" : "published";
48
+ const status = detail.archived_at ? chalk.yellow("archived") : chalk.green("published");
44
49
  const version = detail.version || "-";
45
50
  console.log("");
46
- console.log(` Skill: ${title}`);
47
- console.log(` Status: ${status}`);
48
- console.log(` Version: ${version}`);
51
+ console.log(` ${chalk.bold("Skill:")} ${title}`);
52
+ console.log(` ${chalk.bold("Status:")} ${status}`);
53
+ console.log(` ${chalk.bold("Version:")} ${version}`);
49
54
  console.log("");
50
55
  // Confirm unless --force
51
56
  if (!options.force) {
52
57
  const confirmed = await confirm(`Are you sure you want to republish '${slug}'? (y/N)`);
53
58
  if (!confirmed) {
54
- console.log("Aborted.");
59
+ console.log(chalk.dim("Aborted."));
55
60
  return;
56
61
  }
57
62
  }
58
63
  try {
64
+ writeStatus("Republishing...");
59
65
  await apiPost(`/v1/skills/${encodeURIComponent(slug)}/republish`, {}, token);
60
- console.log(`Successfully republished '${slug}'. It is now live on the marketplace.`);
66
+ clearStatus();
67
+ console.log(formatSuccess(`Successfully republished '${slug}'. It is now live on the marketplace.`));
61
68
  }
62
69
  catch (err) {
70
+ clearStatus();
63
71
  if (err instanceof APIError) {
64
72
  switch (err.statusCode) {
65
73
  case 401:
66
- console.error("Not logged in. Run `npx @agentpowers/cli login` first.");
74
+ console.error(formatError("Not logged in. Run `npx @agentpowers/cli login` first."));
67
75
  break;
68
76
  case 403:
69
- console.error(`You are not the owner/author of '${slug}'.`);
77
+ console.error(formatError(`You are not the owner/author of '${slug}'.`));
70
78
  break;
71
79
  case 404:
72
- console.error(`Skill '${slug}' not found.`);
80
+ console.error(formatError(`Skill '${slug}' not found.`));
73
81
  break;
74
82
  case 409:
75
- console.error(`Skill '${slug}' is not archived. It is already published.`);
83
+ console.error(chalk.yellow(`Skill '${slug}' is not archived. It is already published.`));
76
84
  break;
77
85
  case 429:
78
- console.error("Too many requests. Please try again in a few moments.");
86
+ console.error(chalk.yellow("Too many requests. Please try again in a few moments."));
79
87
  break;
80
88
  default:
81
- console.error(`Error: ${formatAPIError(err)}`);
89
+ console.error(formatError(formatAPIError(err)));
82
90
  }
83
91
  process.exitCode = 1;
84
92
  }
85
93
  else if (err instanceof NetworkError) {
86
- console.error(`Error: ${err.message}`);
94
+ console.error(formatError(err.message));
87
95
  process.exitCode = 1;
88
96
  }
89
97
  else {
@@ -1 +1 @@
1
- {"version":3,"file":"republish.js","sourceRoot":"","sources":["../../src/commands/republish.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"republish.js","sourceRoot":"","sources":["../../src/commands/republish.ts"],"names":[],"mappings":"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"}