@clawstore/clawstore 1.0.0 → 1.0.2

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 (69) hide show
  1. package/clawstore-clawstore-1.0.2.tgz +0 -0
  2. package/dist/index.d.ts +24 -0
  3. package/dist/index.d.ts.map +1 -0
  4. package/dist/index.js +40 -0
  5. package/dist/index.js.map +1 -0
  6. package/dist/src/__tests__/cli-sim.test.d.ts +9 -0
  7. package/dist/src/__tests__/cli-sim.test.d.ts.map +1 -0
  8. package/dist/src/__tests__/cli-sim.test.js +275 -0
  9. package/dist/src/__tests__/cli-sim.test.js.map +1 -0
  10. package/dist/src/__tests__/e2e.test.d.ts +10 -0
  11. package/dist/src/__tests__/e2e.test.d.ts.map +1 -0
  12. package/dist/src/__tests__/e2e.test.js +159 -0
  13. package/dist/src/__tests__/e2e.test.js.map +1 -0
  14. package/dist/src/cli.d.ts +3 -0
  15. package/dist/src/cli.d.ts.map +1 -0
  16. package/dist/src/cli.js +470 -0
  17. package/dist/src/cli.js.map +1 -0
  18. package/dist/src/commands.d.ts +10 -0
  19. package/dist/src/commands.d.ts.map +1 -0
  20. package/dist/src/commands.js +208 -0
  21. package/dist/src/commands.js.map +1 -0
  22. package/dist/src/constants.d.ts +28 -0
  23. package/dist/src/constants.d.ts.map +1 -0
  24. package/dist/src/constants.js +65 -0
  25. package/dist/src/constants.js.map +1 -0
  26. package/dist/src/core/agent-manager.d.ts +34 -0
  27. package/dist/src/core/agent-manager.d.ts.map +1 -0
  28. package/dist/src/core/agent-manager.js +268 -0
  29. package/dist/src/core/agent-manager.js.map +1 -0
  30. package/dist/src/core/package-installer.d.ts +30 -0
  31. package/dist/src/core/package-installer.d.ts.map +1 -0
  32. package/dist/src/core/package-installer.js +308 -0
  33. package/dist/src/core/package-installer.js.map +1 -0
  34. package/dist/src/core/packager.d.ts +20 -0
  35. package/dist/src/core/packager.d.ts.map +1 -0
  36. package/dist/src/core/packager.js +178 -0
  37. package/dist/src/core/packager.js.map +1 -0
  38. package/dist/src/core/skill-installer.d.ts +33 -0
  39. package/dist/src/core/skill-installer.d.ts.map +1 -0
  40. package/dist/src/core/skill-installer.js +179 -0
  41. package/dist/src/core/skill-installer.js.map +1 -0
  42. package/dist/src/core/store-client.d.ts +47 -0
  43. package/dist/src/core/store-client.d.ts.map +1 -0
  44. package/dist/src/core/store-client.js +111 -0
  45. package/dist/src/core/store-client.js.map +1 -0
  46. package/dist/src/core/workspace.d.ts +29 -0
  47. package/dist/src/core/workspace.d.ts.map +1 -0
  48. package/dist/src/core/workspace.js +242 -0
  49. package/dist/src/core/workspace.js.map +1 -0
  50. package/dist/src/types.d.ts +114 -0
  51. package/dist/src/types.d.ts.map +1 -0
  52. package/dist/src/types.js +3 -0
  53. package/dist/src/types.js.map +1 -0
  54. package/dist/src/utils/checksum.d.ts +4 -0
  55. package/dist/src/utils/checksum.d.ts.map +1 -0
  56. package/dist/src/utils/checksum.js +15 -0
  57. package/dist/src/utils/checksum.js.map +1 -0
  58. package/dist/src/utils/output.d.ts +13 -0
  59. package/dist/src/utils/output.d.ts.map +1 -0
  60. package/dist/src/utils/output.js +70 -0
  61. package/dist/src/utils/output.js.map +1 -0
  62. package/dist/src/utils/zip.d.ts +13 -0
  63. package/dist/src/utils/zip.d.ts.map +1 -0
  64. package/dist/src/utils/zip.js +50 -0
  65. package/dist/src/utils/zip.js.map +1 -0
  66. package/package.json +4 -2
  67. package/src/cli.ts +29 -11
  68. package/src/commands.ts +33 -3
  69. package/src/constants.ts +1 -0
@@ -0,0 +1,470 @@
1
+ import { existsSync } from "node:fs";
2
+ import { ensureDirs, listInstalledAgents, getInstalledAgent, enableAgent, disableAgent, unregisterAgent, backupCurrentWorkspace, removeAgentFiles, getAgentStatus, clearSessions, } from "./core/agent-manager.js";
3
+ import { installAgent, updateAgent } from "./core/package-installer.js";
4
+ import { packAgent, packCurrentAgent } from "./core/packager.js";
5
+ import { diagnose, formatDiagnosticReport, listClawstoreAgents } from "./core/workspace.js";
6
+ import { StoreClient } from "./core/store-client.js";
7
+ import { DEFAULT_API_BASE_URL, DEFAULT_AGENT, STORE_DOWNLOAD_BASE_URL } from "./constants.js";
8
+ import { agentListItem, detailBlock, searchResultItem, } from "./utils/output.js";
9
+ // Shorthand reused by every subcommand that supports --agent
10
+ const A_FLAGS = "--agent <name>";
11
+ const A_DESC = "Target OpenClaw agent (default: main)";
12
+ // ─── CLI Registration ───────────────────────────────────────────────
13
+ export function registerClawstoreCli(api) {
14
+ const rawConfig = api.pluginConfig;
15
+ const client = new StoreClient(rawConfig);
16
+ api.registerCli(({ program }) => {
17
+ const root = program
18
+ .command("clawstore")
19
+ .description("Clawstore — Agent marketplace for OpenClaw");
20
+ // ── search ──────────────────────────────────────────────────
21
+ root
22
+ .command("search [query]")
23
+ .description("Search the Clawstore marketplace for agents")
24
+ .option("--category <category>", "Filter by category")
25
+ .option("--sort <order>", "Sort order: popular|newest|rating", "popular")
26
+ .option("--limit <n>", "Max results to show", "10")
27
+ .action(async (query, opts) => {
28
+ const q = query ?? "";
29
+ try {
30
+ const results = await client.search(q, {
31
+ category: opts.category,
32
+ sort: opts.sort,
33
+ limit: Number(opts.limit) || 10,
34
+ });
35
+ if (results.total === 0) {
36
+ console.log(`\n No agents found for "${q}".\n`);
37
+ return;
38
+ }
39
+ console.log(`\n Found ${results.total} agent(s)\n`);
40
+ results.agents.forEach((a, i) => {
41
+ console.log(searchResultItem(i + 1, a.id, a.name, a.price, a.currency, a.author, a.rating));
42
+ console.log("");
43
+ });
44
+ }
45
+ catch (err) {
46
+ console.log(`\n Search failed: ${err.message}`);
47
+ console.log(` The Clawstore API may not be available yet.`);
48
+ console.log(` Run \`openclaw clawstore doctor\` to check connectivity.\n`);
49
+ }
50
+ });
51
+ // ── show ────────────────────────────────────────────────────
52
+ root
53
+ .command("show <agent-id>")
54
+ .description("Show detailed information about an agent")
55
+ .option(A_FLAGS, A_DESC, DEFAULT_AGENT)
56
+ .action(async (agentId, opts) => {
57
+ const agent = opts.agent ?? DEFAULT_AGENT;
58
+ try {
59
+ const detail = await client.getAgentDetail(agentId);
60
+ const local = await getInstalledAgent(agentId, agent);
61
+ const installStatus = local
62
+ ? `installed (v${local.version}, ${local.enabled ? "enabled" : "disabled"})`
63
+ : "not installed";
64
+ console.log(detailBlock({
65
+ Agent: detail.id,
66
+ Name: detail.name,
67
+ Version: detail.version,
68
+ Author: detail.author,
69
+ Price: detail.price === 0 ? "Free" : `$${detail.price}`,
70
+ Category: detail.category,
71
+ Rating: detail.rating?.toFixed(1),
72
+ OpenClaw: detail.openclaw_version,
73
+ Skills: detail.skills
74
+ ?.map((s) => `${s.id} ${s.version}${s.required ? " (required)" : ""}`)
75
+ .join(", ") || "none",
76
+ Status: installStatus,
77
+ ...(agent !== DEFAULT_AGENT ? { "Target agent": agent } : {}),
78
+ }));
79
+ return;
80
+ }
81
+ catch {
82
+ // Fall back to local
83
+ }
84
+ const local = await getInstalledAgent(agentId, agent);
85
+ if (!local) {
86
+ console.log(`\n Agent '${agentId}' not found (neither remote nor local).\n`);
87
+ return;
88
+ }
89
+ console.log(detailBlock({
90
+ Agent: local.id,
91
+ Name: local.name,
92
+ Version: local.version,
93
+ Author: local.author,
94
+ Category: local.category,
95
+ Status: local.enabled ? "enabled" : "disabled",
96
+ Installed: local.installed_at,
97
+ Updated: local.updated_at,
98
+ Path: local.install_path,
99
+ ...(agent !== DEFAULT_AGENT ? { "Target agent": agent } : {}),
100
+ }));
101
+ });
102
+ // ── install ─────────────────────────────────────────────────
103
+ root
104
+ .command("install <source>")
105
+ .description("Install an Agent from local path, ZIP, URL, or marketplace")
106
+ .option("-f, --force", "Force reinstall if already installed")
107
+ .option(A_FLAGS, A_DESC, DEFAULT_AGENT)
108
+ .action(async (source, opts) => {
109
+ const agent = opts.agent ?? DEFAULT_AGENT;
110
+ let packagePath = source;
111
+ const isUrl = /^https?:\/\//i.test(source);
112
+ const isRemote = !isUrl &&
113
+ !source.includes("/") &&
114
+ !source.includes("\\") &&
115
+ !source.endsWith(".zip") &&
116
+ !existsSync(source);
117
+ if (isUrl) {
118
+ const slug = source.split("/").pop()?.replace(/\.zip$/i, "") ?? "remote-agent";
119
+ try {
120
+ console.log(`\n Downloading from URL ...`);
121
+ console.log(` ${source}`);
122
+ const { downloadPackage } = await import("./core/package-installer.js");
123
+ packagePath = await downloadPackage(source, slug);
124
+ console.log(` Downloaded to: ${packagePath}\n`);
125
+ }
126
+ catch (err) {
127
+ console.log(`\n Failed to download from URL: ${err.message}`);
128
+ console.log(` URL: ${source}`);
129
+ console.log(` Try downloading manually and installing from local path.\n`);
130
+ return;
131
+ }
132
+ }
133
+ else if (isRemote) {
134
+ const downloadUrl = `${STORE_DOWNLOAD_BASE_URL}/${source}`;
135
+ try {
136
+ console.log(`\n Downloading ${source} from clawstore.pro ...`);
137
+ const { downloadPackage } = await import("./core/package-installer.js");
138
+ packagePath = await downloadPackage(downloadUrl, source);
139
+ console.log(` Downloaded to: ${packagePath}\n`);
140
+ }
141
+ catch (err) {
142
+ console.log(`\n Failed to download '${source}' from clawstore.pro: ${err.message}`);
143
+ console.log(` URL: ${downloadUrl}`);
144
+ console.log(` If this is a local path, make sure the file/directory exists.\n`);
145
+ return;
146
+ }
147
+ }
148
+ await installAgent({
149
+ packagePath,
150
+ force: opts.force === true,
151
+ agent,
152
+ log: console.log,
153
+ });
154
+ });
155
+ // ── installed ───────────────────────────────────────────────
156
+ root
157
+ .command("installed")
158
+ .description("List all installed agents")
159
+ .option("--json", "Output as JSON")
160
+ .option("--all-agents", "Show installations across all OpenClaw agents")
161
+ .option(A_FLAGS, A_DESC, DEFAULT_AGENT)
162
+ .action(async (opts) => {
163
+ const agent = opts.agent ?? DEFAULT_AGENT;
164
+ if (opts.allAgents) {
165
+ const agentNames = await listClawstoreAgents();
166
+ if (agentNames.length === 0) {
167
+ console.log("\n No agents with installed Personas found.\n");
168
+ return;
169
+ }
170
+ for (const name of agentNames) {
171
+ const personas = await listInstalledAgents(name);
172
+ if (personas.length === 0)
173
+ continue;
174
+ console.log(`\n OpenClaw agent: ${name}`);
175
+ console.log(` ${"─".repeat(40)}`);
176
+ personas.forEach((a, i) => {
177
+ console.log(agentListItem(i + 1, a.id, a.name, a.version, a.category, a.enabled));
178
+ });
179
+ }
180
+ console.log("");
181
+ return;
182
+ }
183
+ await ensureDirs(agent);
184
+ const personas = await listInstalledAgents(agent);
185
+ if (personas.length === 0) {
186
+ console.log("\n No agents installed.");
187
+ console.log(" Run `openclaw clawstore install <package>` to install one.\n");
188
+ return;
189
+ }
190
+ if (opts.json) {
191
+ console.log(JSON.stringify(personas, null, 2));
192
+ return;
193
+ }
194
+ if (agent !== DEFAULT_AGENT) {
195
+ console.log(`\n OpenClaw agent: ${agent}`);
196
+ }
197
+ console.log(`\n Installed agents: ${personas.length}\n`);
198
+ personas.forEach((a, i) => {
199
+ console.log(agentListItem(i + 1, a.id, a.name, a.version, a.category, a.enabled));
200
+ console.log(` Installed: ${a.installed_at.slice(0, 10)}`);
201
+ if (a.updated_at !== a.installed_at) {
202
+ console.log(` Updated: ${a.updated_at.slice(0, 10)}`);
203
+ }
204
+ console.log("");
205
+ });
206
+ });
207
+ // ── enable ──────────────────────────────────────────────────
208
+ root
209
+ .command("enable <agent-id>")
210
+ .description("Enable an installed agent")
211
+ .option(A_FLAGS, A_DESC, DEFAULT_AGENT)
212
+ .action(async (agentId, opts) => {
213
+ const agent = opts.agent ?? DEFAULT_AGENT;
214
+ const result = await enableAgent(agentId, agent);
215
+ if (!result) {
216
+ console.log(`\n Agent '${agentId}' is not installed.\n`);
217
+ return;
218
+ }
219
+ console.log(`\n Enabled: ${result.name} (${agentId})`);
220
+ if (agent !== DEFAULT_AGENT)
221
+ console.log(` OpenClaw agent: ${agent}`);
222
+ console.log(` Workspace files restored. Start a new chat to activate the persona.\n`);
223
+ });
224
+ // ── disable ─────────────────────────────────────────────────
225
+ root
226
+ .command("disable <agent-id>")
227
+ .description("Disable an installed agent")
228
+ .option(A_FLAGS, A_DESC, DEFAULT_AGENT)
229
+ .action(async (agentId, opts) => {
230
+ const agent = opts.agent ?? DEFAULT_AGENT;
231
+ const result = await disableAgent(agentId, agent);
232
+ if (!result) {
233
+ console.log(`\n Agent '${agentId}' is not installed.\n`);
234
+ return;
235
+ }
236
+ await clearSessions(agent);
237
+ console.log(`\n Disabled: ${result.agent.name} (${agentId})`);
238
+ if (agent !== DEFAULT_AGENT)
239
+ console.log(` OpenClaw agent: ${agent}`);
240
+ console.log(` Workspace files backed up and removed.`);
241
+ console.log(` Session history cleared — TUI will start fresh.`);
242
+ console.log(` Backup: ${result.backupPath}`);
243
+ console.log(` Use \`openclaw clawstore enable ${agentId}\` to re-activate.\n`);
244
+ });
245
+ // ── update ──────────────────────────────────────────────────
246
+ root
247
+ .command("update [agent-id]")
248
+ .description("Update an installed agent")
249
+ .option("--package <path>", "Path to updated package directory or ZIP")
250
+ .option("--all", "Update all installed agents")
251
+ .option(A_FLAGS, A_DESC, DEFAULT_AGENT)
252
+ .action(async (agentId, opts) => {
253
+ const agent = opts.agent ?? DEFAULT_AGENT;
254
+ if (opts.all) {
255
+ const personas = await listInstalledAgents(agent);
256
+ if (personas.length === 0) {
257
+ console.log("\n No agents installed.\n");
258
+ return;
259
+ }
260
+ console.log(`\n Checking updates for ${personas.length} agent(s)...\n`);
261
+ for (const a of personas) {
262
+ try {
263
+ const downloadUrl = `${STORE_DOWNLOAD_BASE_URL}/${a.id}`;
264
+ const { downloadPackage } = await import("./core/package-installer.js");
265
+ const pkgPath = await downloadPackage(downloadUrl, a.id);
266
+ await updateAgent({ agentId: a.id, packagePath: pkgPath, agent, log: console.log });
267
+ }
268
+ catch (err) {
269
+ console.log(` ${a.id}: skipped (${err.message})`);
270
+ }
271
+ }
272
+ return;
273
+ }
274
+ if (!agentId) {
275
+ console.log("\n Usage: openclaw clawstore update <agent-id> --package <path>\n");
276
+ return;
277
+ }
278
+ const packagePath = opts.package;
279
+ if (!packagePath) {
280
+ try {
281
+ const downloadUrl = `${STORE_DOWNLOAD_BASE_URL}/${agentId}`;
282
+ const { downloadPackage } = await import("./core/package-installer.js");
283
+ const dlPath = await downloadPackage(downloadUrl, agentId);
284
+ await updateAgent({ agentId, packagePath: dlPath, agent, log: console.log });
285
+ }
286
+ catch (err) {
287
+ console.log(`\n Could not fetch update from clawstore.pro: ${err.message}`);
288
+ console.log(` Provide a local package: openclaw clawstore update ${agentId} --package <path>\n`);
289
+ }
290
+ return;
291
+ }
292
+ await updateAgent({ agentId, packagePath, agent, log: console.log });
293
+ });
294
+ // ── uninstall ───────────────────────────────────────────────
295
+ root
296
+ .command("uninstall <agent-id>")
297
+ .description("Uninstall an agent")
298
+ .option("-y, --yes", "Skip confirmation")
299
+ .option(A_FLAGS, A_DESC, DEFAULT_AGENT)
300
+ .action(async (agentId, opts) => {
301
+ const agent = opts.agent ?? DEFAULT_AGENT;
302
+ await ensureDirs(agent);
303
+ const record = await getInstalledAgent(agentId, agent);
304
+ if (!record) {
305
+ console.log(`\n Agent '${agentId}' is not in the registry.`);
306
+ console.log(` Running cleanup for residual files and sessions...\n`);
307
+ console.log(" [1/2] Clearing workspace residuals ... ");
308
+ const { removeAllWorkspaceAgentFiles } = await import("./core/agent-manager.js");
309
+ const removed = await removeAllWorkspaceAgentFiles(agent);
310
+ console.log(` [1/2] Clearing workspace residuals ... OK (${removed} files removed)`);
311
+ console.log(" [2/2] Clearing session history ... ");
312
+ const cleared = await clearSessions(agent);
313
+ console.log(` [2/2] Clearing session history ... OK (${cleared} sessions cleared)`);
314
+ console.log(`\n Cleanup complete. TUI will start fresh on next launch.\n`);
315
+ return;
316
+ }
317
+ console.log(`\n Uninstalling: ${record.name} (${agentId})`);
318
+ console.log(` Version: ${record.version}`);
319
+ if (agent !== DEFAULT_AGENT)
320
+ console.log(` OpenClaw agent: ${agent}`);
321
+ console.log("");
322
+ console.log(" [1/4] Creating safety backup ... ");
323
+ const backupPath = await backupCurrentWorkspace(agentId, "uninstall", agent);
324
+ console.log(" [1/4] Creating safety backup ... OK");
325
+ console.log(" [2/4] Removing agent files ... ");
326
+ const removed = await removeAgentFiles(record, agent);
327
+ console.log(` [2/4] Removing agent files ... OK (${removed} files removed)`);
328
+ console.log(" [3/4] Updating registry ... ");
329
+ await unregisterAgent(agentId, agent);
330
+ console.log(" [3/4] Updating registry ... OK");
331
+ console.log(" [4/4] Clearing session history ... ");
332
+ const cleared = await clearSessions(agent);
333
+ console.log(` [4/4] Clearing session history ... OK (${cleared} sessions cleared)`);
334
+ console.log(`\n Uninstalled: ${record.name}`);
335
+ console.log(` Backup saved: ${backupPath}`);
336
+ console.log(` Sessions cleared — TUI will start fresh on next launch.\n`);
337
+ });
338
+ // ── status ──────────────────────────────────────────────────
339
+ root
340
+ .command("status [agent-id]")
341
+ .description("Show detailed status of an installed agent")
342
+ .option(A_FLAGS, A_DESC, DEFAULT_AGENT)
343
+ .action(async (agentId, opts) => {
344
+ const agent = opts.agent ?? DEFAULT_AGENT;
345
+ await ensureDirs(agent);
346
+ if (agentId) {
347
+ const status = await getAgentStatus(agentId, agent);
348
+ if (!status) {
349
+ console.log(`\n Agent '${agentId}' is not installed.\n`);
350
+ return;
351
+ }
352
+ printAgentStatus(status, agent);
353
+ }
354
+ else {
355
+ const personas = await listInstalledAgents(agent);
356
+ if (personas.length === 0) {
357
+ console.log("\n No agents installed.\n");
358
+ return;
359
+ }
360
+ for (const a of personas) {
361
+ const status = await getAgentStatus(a.id, agent);
362
+ if (status)
363
+ printAgentStatus(status, agent);
364
+ }
365
+ }
366
+ });
367
+ // ── pack ────────────────────────────────────────────────────
368
+ root
369
+ .command("pack [path]")
370
+ .description("Pack a package directory into a distributable ZIP")
371
+ .option("-o, --output <dir>", "Output directory for ZIP")
372
+ .option("--name <name>", "Agent name override")
373
+ .option("--category <category>", "Category override")
374
+ .action(async (packagePath, opts) => {
375
+ if (packagePath) {
376
+ await packAgent({
377
+ packagePath,
378
+ outputDir: opts.output,
379
+ name: opts.name,
380
+ category: opts.category,
381
+ log: console.log,
382
+ });
383
+ }
384
+ else {
385
+ await packCurrentAgent({
386
+ outputDir: opts.output,
387
+ name: opts.name,
388
+ category: opts.category,
389
+ log: console.log,
390
+ });
391
+ }
392
+ });
393
+ // ── doctor ──────────────────────────────────────────────────
394
+ root
395
+ .command("doctor")
396
+ .description("Diagnose environment and configuration")
397
+ .option(A_FLAGS, A_DESC, DEFAULT_AGENT)
398
+ .action(async (opts) => {
399
+ const agent = opts.agent ?? DEFAULT_AGENT;
400
+ await ensureDirs(agent);
401
+ const apiUrl = rawConfig?.apiBaseUrl ?? DEFAULT_API_BASE_URL;
402
+ const report = await diagnose(apiUrl, agent);
403
+ console.log(formatDiagnosticReport(report));
404
+ });
405
+ // ── login ───────────────────────────────────────────────────
406
+ root
407
+ .command("login")
408
+ .description("Log in to Clawstore")
409
+ .option("--email <email>", "Email address")
410
+ .option("--password <password>", "Password")
411
+ .action(async (opts) => {
412
+ if (!opts.email || !opts.password) {
413
+ console.log("\n Usage: openclaw clawstore login --email <email> --password <password>\n");
414
+ return;
415
+ }
416
+ try {
417
+ const result = await client.login(opts.email, opts.password);
418
+ client.setAuthToken(result.token);
419
+ console.log(`\n Logged in as: ${result.user.name} (${result.user.id})\n`);
420
+ }
421
+ catch (err) {
422
+ console.log(`\n Login failed: ${err.message}\n`);
423
+ }
424
+ });
425
+ // ── whoami ──────────────────────────────────────────────────
426
+ root
427
+ .command("whoami")
428
+ .description("Show current Clawstore user")
429
+ .action(async () => {
430
+ const user = await client.whoami();
431
+ if (user) {
432
+ console.log(`\n Logged in as: ${user.name} <${user.email}>\n`);
433
+ }
434
+ else {
435
+ console.log("\n Not logged in. Run `openclaw clawstore login` to authenticate.\n");
436
+ }
437
+ });
438
+ }, { commands: ["clawstore"] });
439
+ }
440
+ // ─── Helpers ────────────────────────────────────────────────────────
441
+ function printAgentStatus(status, agent = DEFAULT_AGENT) {
442
+ const { agent: record, fileHealth, skillHealth } = status;
443
+ console.log(`\n Agent: ${record.id}`);
444
+ console.log(` Name: ${record.name}`);
445
+ console.log(` Version: ${record.version}`);
446
+ console.log(` Category: ${record.category || "N/A"}`);
447
+ console.log(` Author: ${record.author || "N/A"}`);
448
+ console.log(` Status: ${record.enabled ? "enabled" : "disabled"}`);
449
+ if (agent !== DEFAULT_AGENT) {
450
+ console.log(` OC Agent: ${agent}`);
451
+ }
452
+ console.log(` Installed: ${record.installed_at}`);
453
+ console.log(` Updated: ${record.updated_at}`);
454
+ console.log(` Path: ${record.install_path}`);
455
+ console.log(` Files:`);
456
+ for (const f of fileHealth) {
457
+ console.log(` - ${f.file} [${f.exists ? "OK" : "MISSING"}]`);
458
+ }
459
+ if (skillHealth.length > 0) {
460
+ console.log(` Skills:`);
461
+ for (const s of skillHealth) {
462
+ console.log(` - ${s.skillId} [${s.installed ? "installed" : "not installed"}]`);
463
+ }
464
+ }
465
+ if (record.backup_path) {
466
+ console.log(` Backup: ${record.backup_path}`);
467
+ }
468
+ console.log("");
469
+ }
470
+ //# sourceMappingURL=cli.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../../src/cli.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,10 @@
1
+ import type { OpenClawPluginApi } from "openclaw/plugin-sdk/core";
2
+ /**
3
+ * Register the `/clawstore` slash command.
4
+ *
5
+ * Slash commands return short text and are designed for quick in-session
6
+ * operations. Use `--agent <name>` anywhere in args to target a
7
+ * non-default OpenClaw agent.
8
+ */
9
+ export declare function registerClawstoreCommand(api: OpenClawPluginApi): void;
10
+ //# sourceMappingURL=commands.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"commands.d.ts","sourceRoot":"","sources":["../../src/commands.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAalE;;;;;;GAMG;AACH,wBAAgB,wBAAwB,CAAC,GAAG,EAAE,iBAAiB,GAAG,IAAI,CAwLrE"}