@arinova-ai/cli 0.0.4 → 0.0.6

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 (56) hide show
  1. package/dist/api.d.ts.map +1 -1
  2. package/dist/api.js +12 -4
  3. package/dist/api.js.map +1 -1
  4. package/dist/client.d.ts +13 -0
  5. package/dist/client.d.ts.map +1 -0
  6. package/dist/client.js +104 -0
  7. package/dist/client.js.map +1 -0
  8. package/dist/commands/app.d.ts +3 -0
  9. package/dist/commands/app.d.ts.map +1 -0
  10. package/dist/commands/app.js +104 -0
  11. package/dist/commands/app.js.map +1 -0
  12. package/dist/commands/auth.d.ts +3 -0
  13. package/dist/commands/auth.d.ts.map +1 -0
  14. package/dist/commands/auth.js +151 -0
  15. package/dist/commands/auth.js.map +1 -0
  16. package/dist/commands/community.d.ts +3 -0
  17. package/dist/commands/community.d.ts.map +1 -0
  18. package/dist/commands/community.js +155 -0
  19. package/dist/commands/community.js.map +1 -0
  20. package/dist/commands/expert.d.ts +3 -0
  21. package/dist/commands/expert.d.ts.map +1 -0
  22. package/dist/commands/expert.js +140 -0
  23. package/dist/commands/expert.js.map +1 -0
  24. package/dist/commands/kanban.js +3 -3
  25. package/dist/commands/kanban.js.map +1 -1
  26. package/dist/commands/list.d.ts +3 -0
  27. package/dist/commands/list.d.ts.map +1 -0
  28. package/dist/commands/list.js +93 -0
  29. package/dist/commands/list.js.map +1 -0
  30. package/dist/commands/space.d.ts +3 -0
  31. package/dist/commands/space.d.ts.map +1 -0
  32. package/dist/commands/space.js +134 -0
  33. package/dist/commands/space.js.map +1 -0
  34. package/dist/commands/stats.d.ts +3 -0
  35. package/dist/commands/stats.d.ts.map +1 -0
  36. package/dist/commands/stats.js +31 -0
  37. package/dist/commands/stats.js.map +1 -0
  38. package/dist/commands/sticker.d.ts +3 -0
  39. package/dist/commands/sticker.d.ts.map +1 -0
  40. package/dist/commands/sticker.js +142 -0
  41. package/dist/commands/sticker.js.map +1 -0
  42. package/dist/commands/theme.d.ts +3 -0
  43. package/dist/commands/theme.d.ts.map +1 -0
  44. package/dist/commands/theme.js +547 -0
  45. package/dist/commands/theme.js.map +1 -0
  46. package/dist/config.d.ts +10 -0
  47. package/dist/config.d.ts.map +1 -0
  48. package/dist/config.js +39 -0
  49. package/dist/config.js.map +1 -0
  50. package/dist/index.js +40 -4
  51. package/dist/index.js.map +1 -1
  52. package/dist/output.d.ts +10 -0
  53. package/dist/output.d.ts.map +1 -0
  54. package/dist/output.js +99 -0
  55. package/dist/output.js.map +1 -0
  56. package/package.json +2 -2
@@ -0,0 +1,140 @@
1
+ import { get, post, patch, del, upload } from "../client.js";
2
+ import { printResult, printError, printSuccess, table } from "../output.js";
3
+ export function registerExpert(program) {
4
+ const expert = program.command("expert").description("Expert management");
5
+ expert
6
+ .command("list")
7
+ .description("List your experts")
8
+ .action(async () => {
9
+ try {
10
+ const data = await get("/api/creator/agents");
11
+ const experts = data.listings ?? data.agents ?? data;
12
+ if (Array.isArray(experts)) {
13
+ table(experts, [
14
+ { key: "id", label: "ID" },
15
+ { key: "agent_name", label: "Name" },
16
+ { key: "status", label: "Status" },
17
+ { key: "category", label: "Category" },
18
+ ]);
19
+ }
20
+ else {
21
+ printResult(data);
22
+ }
23
+ }
24
+ catch (err) {
25
+ printError(err);
26
+ }
27
+ });
28
+ expert
29
+ .command("create")
30
+ .description("Create a new expert")
31
+ .requiredOption("--name <name>", "Expert name")
32
+ .option("--description <desc>", "Description")
33
+ .option("--category <cat>", "Category", "general")
34
+ .option("--model <model>", "Model", "claude-sonnet-4-20250514")
35
+ .option("--system-prompt <prompt>", "System prompt")
36
+ .action(async (opts) => {
37
+ try {
38
+ const data = await post("/api/creator/agents/create", {
39
+ agent_name: opts.name,
40
+ description: opts.description ?? "",
41
+ category: opts.category,
42
+ model: opts.model,
43
+ system_prompt: opts.systemPrompt ?? "",
44
+ });
45
+ printResult(data);
46
+ }
47
+ catch (err) {
48
+ printError(err);
49
+ }
50
+ });
51
+ expert
52
+ .command("update <id>")
53
+ .description("Update an expert")
54
+ .option("--name <name>", "New name")
55
+ .option("--description <desc>", "New description")
56
+ .option("--category <cat>", "New category")
57
+ .option("--model <model>", "New model")
58
+ .option("--system-prompt <prompt>", "New system prompt")
59
+ .action(async (id, opts) => {
60
+ try {
61
+ const body = {};
62
+ if (opts.name)
63
+ body.agent_name = opts.name;
64
+ if (opts.description)
65
+ body.description = opts.description;
66
+ if (opts.category)
67
+ body.category = opts.category;
68
+ if (opts.model)
69
+ body.model = opts.model;
70
+ if (opts.systemPrompt)
71
+ body.system_prompt = opts.systemPrompt;
72
+ const data = await patch(`/api/creator/agents/${id}`, body);
73
+ printResult(data);
74
+ }
75
+ catch (err) {
76
+ printError(err);
77
+ }
78
+ });
79
+ expert
80
+ .command("delete <id>")
81
+ .description("Delete an expert")
82
+ .action(async (id) => {
83
+ try {
84
+ await del(`/api/creator/agents/${id}`);
85
+ printSuccess(`Expert ${id} deleted.`);
86
+ }
87
+ catch (err) {
88
+ printError(err);
89
+ }
90
+ });
91
+ expert
92
+ .command("upload-kb <expertId> <file>")
93
+ .description("Upload a knowledge base file")
94
+ .action(async (expertId, file) => {
95
+ try {
96
+ const data = await upload(`/api/creator/agents/${expertId}/knowledge-base`, file, "file");
97
+ printResult(data);
98
+ }
99
+ catch (err) {
100
+ printError(err);
101
+ }
102
+ });
103
+ expert
104
+ .command("delete-kb <expertId> <kbId>")
105
+ .description("Delete a knowledge base entry")
106
+ .action(async (expertId, kbId) => {
107
+ try {
108
+ await del(`/api/creator/agents/${expertId}/knowledge-base/${kbId}`);
109
+ printSuccess(`Knowledge base ${kbId} deleted.`);
110
+ }
111
+ catch (err) {
112
+ printError(err);
113
+ }
114
+ });
115
+ expert
116
+ .command("publish <id>")
117
+ .description("Publish an expert (set status to active)")
118
+ .action(async (id) => {
119
+ try {
120
+ const data = await patch(`/api/creator/agents/${id}`, { status: "active" });
121
+ printResult(data);
122
+ }
123
+ catch (err) {
124
+ printError(err);
125
+ }
126
+ });
127
+ expert
128
+ .command("unpublish <id>")
129
+ .description("Unpublish an expert (set status to draft)")
130
+ .action(async (id) => {
131
+ try {
132
+ const data = await patch(`/api/creator/agents/${id}`, { status: "draft" });
133
+ printResult(data);
134
+ }
135
+ catch (err) {
136
+ printError(err);
137
+ }
138
+ });
139
+ }
140
+ //# sourceMappingURL=expert.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"expert.js","sourceRoot":"","sources":["../../src/commands/expert.ts"],"names":[],"mappings":"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"}
@@ -41,13 +41,13 @@ export function registerKanbanCommands(program) {
41
41
  const { token, apiUrl } = getOpts(card);
42
42
  output(await apiCall({ method: "POST", url: `${apiUrl}/api/v1/kanban/cards/${opts.cardId}/complete`, token }));
43
43
  });
44
- card.command("archive").requiredOption("--card-id <id>", "Card ID").action(async (opts) => {
44
+ card.command("delete").requiredOption("--card-id <id>", "Card ID").action(async (opts) => {
45
45
  const { token, apiUrl } = getOpts(card);
46
- output(await apiCall({ method: "POST", url: `${apiUrl}/api/v1/kanban/cards/${opts.cardId}/archive`, token }));
46
+ output(await apiCall({ method: "DELETE", url: `${apiUrl}/api/v1/kanban/cards/${opts.cardId}`, token }));
47
47
  });
48
48
  card.command("add-commit").requiredOption("--card-id <id>", "Card ID").requiredOption("--sha <sha>", "Commit SHA").requiredOption("--message <msg>", "Commit message").option("--url <url>", "Commit URL").action(async (opts) => {
49
49
  const { token, apiUrl } = getOpts(card);
50
- output(await apiCall({ method: "POST", url: `${apiUrl}/api/v1/kanban/cards/${opts.cardId}/commits`, token, body: { sha: opts.sha, message: opts.message, url: opts.url } }));
50
+ output(await apiCall({ method: "POST", url: `${apiUrl}/api/v1/kanban/cards/${opts.cardId}/commits`, token, body: { commitHash: opts.sha, message: opts.message, url: opts.url } }));
51
51
  });
52
52
  // Label commands
53
53
  const label = kanban.command("label").description("Label management");
@@ -1 +1 @@
1
- {"version":3,"file":"kanban.js","sourceRoot":"","sources":["../../src/commands/kanban.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"kanban.js","sourceRoot":"","sources":["../../src/commands/kanban.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AAErD,MAAM,UAAU,sBAAsB,CAAC,OAAgB;IACrD,MAAM,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,WAAW,CAAC,uBAAuB,CAAC,CAAC;IAE9E,iBAAiB;IACjB,MAAM,KAAK,GAAG,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,WAAW,CAAC,kBAAkB,CAAC,CAAC;IACtE,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,KAAK,IAAI,EAAE;QACtC,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC;QACzC,MAAM,CAAC,MAAM,OAAO,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,MAAM,uBAAuB,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC;IACzF,CAAC,CAAC,CAAC;IACH,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,cAAc,CAAC,eAAe,EAAE,YAAY,CAAC,CAAC,MAAM,CAAC,KAAK,EAAE,IAAsB,EAAE,EAAE;QAC5G,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC;QACzC,MAAM,CAAC,MAAM,OAAO,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,GAAG,MAAM,uBAAuB,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC;IACrH,CAAC,CAAC,CAAC;IACH,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,cAAc,CAAC,iBAAiB,EAAE,UAAU,CAAC,CAAC,cAAc,CAAC,eAAe,EAAE,UAAU,CAAC,CAAC,MAAM,CAAC,yBAAyB,EAAE,2BAA2B,CAAC,CAAC,MAAM,CAAC,KAAK,EAAE,IAAiE,EAAE,EAAE;QAClQ,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC;QACzC,MAAM,IAAI,GAA4B,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC;QAC1D,IAAI,IAAI,CAAC,eAAe,IAAI,IAAI;YAAE,IAAI,CAAC,eAAe,GAAG,QAAQ,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;QACxF,MAAM,CAAC,MAAM,OAAO,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,EAAE,GAAG,MAAM,yBAAyB,IAAI,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;IACjH,CAAC,CAAC,CAAC;IACH,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,cAAc,CAAC,iBAAiB,EAAE,UAAU,CAAC,CAAC,MAAM,CAAC,KAAK,EAAE,IAAyB,EAAE,EAAE;QAChH,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC;QACzC,MAAM,CAAC,MAAM,OAAO,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,GAAG,MAAM,yBAAyB,IAAI,CAAC,OAAO,UAAU,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC;IAClH,CAAC,CAAC,CAAC;IAEH,gBAAgB;IAChB,MAAM,IAAI,GAAG,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,WAAW,CAAC,iBAAiB,CAAC,CAAC;IACnE,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,kBAAkB,EAAE,sCAAsC,CAAC,CAAC,MAAM,CAAC,KAAK,EAAE,IAAyB,EAAE,EAAE;QACjI,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;QACxC,MAAM,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,WAAW,kBAAkB,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC3E,MAAM,CAAC,MAAM,OAAO,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,MAAM,uBAAuB,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC;IAC7F,CAAC,CAAC,CAAC;IACH,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,cAAc,CAAC,iBAAiB,EAAE,YAAY,CAAC,CAAC,MAAM,CAAC,iBAAiB,EAAE,UAAU,CAAC,CAAC,MAAM,CAAC,sBAAsB,EAAE,aAAa,CAAC,CAAC,MAAM,CAAC,sBAAsB,EAAE,aAAa,CAAC,CAAC,MAAM,CAAC,KAAK,EAAE,IAAoF,EAAE,EAAE;QAC7S,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;QACxC,MAAM,CAAC,MAAM,OAAO,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,GAAG,MAAM,sBAAsB,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;IACrG,CAAC,CAAC,CAAC;IACH,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,cAAc,CAAC,gBAAgB,EAAE,SAAS,CAAC,CAAC,MAAM,CAAC,gBAAgB,EAAE,WAAW,CAAC,CAAC,MAAM,CAAC,sBAAsB,EAAE,iBAAiB,CAAC,CAAC,MAAM,CAAC,kBAAkB,EAAE,gBAAgB,CAAC,CAAC,MAAM,CAAC,KAAK,EAAE,IAAiF,EAAE,EAAE;QACzS,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;QACxC,MAAM,CAAC,MAAM,OAAO,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,EAAE,GAAG,MAAM,wBAAwB,IAAI,CAAC,MAAM,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,WAAW,EAAE,IAAI,CAAC,WAAW,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,CAAC;IAC9L,CAAC,CAAC,CAAC;IACH,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,cAAc,CAAC,gBAAgB,EAAE,SAAS,CAAC,CAAC,MAAM,CAAC,KAAK,EAAE,IAAwB,EAAE,EAAE;QAC7G,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;QACxC,MAAM,CAAC,MAAM,OAAO,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,GAAG,MAAM,wBAAwB,IAAI,CAAC,MAAM,WAAW,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC;IACjH,CAAC,CAAC,CAAC;IACH,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,cAAc,CAAC,gBAAgB,EAAE,SAAS,CAAC,CAAC,MAAM,CAAC,KAAK,EAAE,IAAwB,EAAE,EAAE;QAC3G,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;QACxC,MAAM,CAAC,MAAM,OAAO,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,EAAE,GAAG,MAAM,wBAAwB,IAAI,CAAC,MAAM,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC;IAC1G,CAAC,CAAC,CAAC;IACH,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,cAAc,CAAC,gBAAgB,EAAE,SAAS,CAAC,CAAC,cAAc,CAAC,aAAa,EAAE,YAAY,CAAC,CAAC,cAAc,CAAC,iBAAiB,EAAE,gBAAgB,CAAC,CAAC,MAAM,CAAC,aAAa,EAAE,YAAY,CAAC,CAAC,MAAM,CAAC,KAAK,EAAE,IAAoE,EAAE,EAAE;QAC/R,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;QACxC,MAAM,CAAC,MAAM,OAAO,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,GAAG,MAAM,wBAAwB,IAAI,CAAC,MAAM,UAAU,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,UAAU,EAAE,IAAI,CAAC,GAAG,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,CAAC;IACtL,CAAC,CAAC,CAAC;IAEH,iBAAiB;IACjB,MAAM,KAAK,GAAG,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,WAAW,CAAC,kBAAkB,CAAC,CAAC;IACtE,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,cAAc,CAAC,iBAAiB,EAAE,UAAU,CAAC,CAAC,MAAM,CAAC,KAAK,EAAE,IAAyB,EAAE,EAAE;QAC7G,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC;QACzC,MAAM,CAAC,MAAM,OAAO,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,MAAM,yBAAyB,IAAI,CAAC,OAAO,SAAS,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC;IAChH,CAAC,CAAC,CAAC;IACH,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,cAAc,CAAC,iBAAiB,EAAE,UAAU,CAAC,CAAC,cAAc,CAAC,eAAe,EAAE,YAAY,CAAC,CAAC,cAAc,CAAC,iBAAiB,EAAE,WAAW,CAAC,CAAC,MAAM,CAAC,KAAK,EAAE,IAAsD,EAAE,EAAE;QACzO,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC;QACzC,MAAM,CAAC,MAAM,OAAO,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,GAAG,MAAM,yBAAyB,IAAI,CAAC,OAAO,SAAS,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC;IAC/J,CAAC,CAAC,CAAC;AACL,CAAC"}
@@ -0,0 +1,3 @@
1
+ import { Command } from "commander";
2
+ export declare function registerList(program: Command): void;
3
+ //# sourceMappingURL=list.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"list.d.ts","sourceRoot":"","sources":["../../src/commands/list.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AA0EpC,wBAAgB,YAAY,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CA4BnD"}
@@ -0,0 +1,93 @@
1
+ import { get } from "../client.js";
2
+ import { printResult, printError, table } from "../output.js";
3
+ const VALID_TYPES = ["theme", "expert", "sticker", "lounge", "community", "space"];
4
+ const TYPE_MAP = {
5
+ expert: {
6
+ endpoint: "/api/creator/agents",
7
+ extractKey: "listings",
8
+ columns: [
9
+ { key: "id", label: "ID" },
10
+ { key: "agent_name", label: "Name" },
11
+ { key: "status", label: "Status" },
12
+ { key: "category", label: "Category" },
13
+ ],
14
+ },
15
+ theme: {
16
+ endpoint: "/api/creator/themes",
17
+ extractKey: "themes",
18
+ columns: [
19
+ { key: "id", label: "ID" },
20
+ { key: "name", label: "Name" },
21
+ { key: "price", label: "Price" },
22
+ { key: "status", label: "Status" },
23
+ ],
24
+ },
25
+ sticker: {
26
+ endpoint: "/api/creator/stickers",
27
+ extractKey: "packs",
28
+ columns: [
29
+ { key: "id", label: "ID" },
30
+ { key: "name", label: "Name" },
31
+ { key: "status", label: "Status" },
32
+ { key: "sticker_count", label: "Stickers" },
33
+ ],
34
+ },
35
+ space: {
36
+ endpoint: "/api/creator/spaces",
37
+ extractKey: "spaces",
38
+ columns: [
39
+ { key: "id", label: "ID" },
40
+ { key: "name", label: "Name" },
41
+ { key: "status", label: "Status" },
42
+ ],
43
+ },
44
+ community: {
45
+ endpoint: "/api/creator/community",
46
+ extractKey: "communities",
47
+ columns: [
48
+ { key: "id", label: "ID" },
49
+ { key: "name", label: "Name" },
50
+ { key: "type", label: "Type" },
51
+ { key: "member_count", label: "Members" },
52
+ ],
53
+ },
54
+ lounge: {
55
+ endpoint: "/api/creator/community?type=lounge",
56
+ extractKey: "communities",
57
+ columns: [
58
+ { key: "id", label: "ID" },
59
+ { key: "name", label: "Name" },
60
+ { key: "member_count", label: "Members" },
61
+ ],
62
+ },
63
+ };
64
+ export function registerList(program) {
65
+ program
66
+ .command("list")
67
+ .description("List your creations by type")
68
+ .requiredOption("--type <type>", `Type: ${VALID_TYPES.join(", ")}`)
69
+ .action(async (opts) => {
70
+ const t = opts.type.toLowerCase();
71
+ if (!VALID_TYPES.includes(t)) {
72
+ printError(new Error(`Invalid type "${opts.type}". Must be one of: ${VALID_TYPES.join(", ")}`));
73
+ return;
74
+ }
75
+ const config = TYPE_MAP[t];
76
+ try {
77
+ const data = await get(config.endpoint);
78
+ const items = data[config.extractKey] ??
79
+ data.agents ??
80
+ data;
81
+ if (Array.isArray(items)) {
82
+ table(items, config.columns);
83
+ }
84
+ else {
85
+ printResult(data);
86
+ }
87
+ }
88
+ catch (err) {
89
+ printError(err);
90
+ }
91
+ });
92
+ }
93
+ //# sourceMappingURL=list.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"list.js","sourceRoot":"","sources":["../../src/commands/list.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import { Command } from "commander";
2
+ export declare function registerSpace(program: Command): void;
3
+ //# sourceMappingURL=space.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"space.d.ts","sourceRoot":"","sources":["../../src/commands/space.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAIpC,wBAAgB,aAAa,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CA8HpD"}
@@ -0,0 +1,134 @@
1
+ import { get, post, put, del, upload } from "../client.js";
2
+ import { printResult, printError, printSuccess, table } from "../output.js";
3
+ export function registerSpace(program) {
4
+ const space = program.command("space").description("Space management");
5
+ space
6
+ .command("list")
7
+ .description("List your spaces")
8
+ .action(async () => {
9
+ try {
10
+ const data = await get("/api/creator/spaces");
11
+ const spaces = data.spaces ?? data;
12
+ if (Array.isArray(spaces)) {
13
+ table(spaces, [
14
+ { key: "id", label: "ID" },
15
+ { key: "name", label: "Name" },
16
+ { key: "status", label: "Status" },
17
+ ]);
18
+ }
19
+ else {
20
+ printResult(data);
21
+ }
22
+ }
23
+ catch (err) {
24
+ printError(err);
25
+ }
26
+ });
27
+ space
28
+ .command("create")
29
+ .description("Create a new space")
30
+ .requiredOption("--name <name>", "Space name")
31
+ .option("--description <desc>", "Description")
32
+ .option("--url <iframe-url>", "Iframe URL (required for 'Play Now' button)")
33
+ .action(async (opts) => {
34
+ try {
35
+ const body = {
36
+ name: opts.name,
37
+ description: opts.description ?? "",
38
+ };
39
+ if (opts.url) {
40
+ body.definition = { iframeUrl: opts.url };
41
+ }
42
+ const data = await post("/api/spaces", body);
43
+ printResult(data);
44
+ }
45
+ catch (err) {
46
+ printError(err);
47
+ }
48
+ });
49
+ space
50
+ .command("update <id>")
51
+ .description("Update a space")
52
+ .option("--name <name>", "New name")
53
+ .option("--description <desc>", "New description")
54
+ .option("--url <iframe-url>", "Iframe URL (required for 'Play Now' button)")
55
+ .action(async (id, opts) => {
56
+ try {
57
+ const body = {};
58
+ if (opts.name)
59
+ body.name = opts.name;
60
+ if (opts.description)
61
+ body.description = opts.description;
62
+ if (opts.url)
63
+ body.definition = { iframeUrl: opts.url };
64
+ const data = await put(`/api/spaces/${id}`, body);
65
+ printResult(data);
66
+ }
67
+ catch (err) {
68
+ printError(err);
69
+ }
70
+ });
71
+ space
72
+ .command("show <id>")
73
+ .description("Show space details")
74
+ .action(async (id) => {
75
+ try {
76
+ const data = await get(`/api/spaces/${id}`);
77
+ printResult(data);
78
+ }
79
+ catch (err) {
80
+ printError(err);
81
+ }
82
+ });
83
+ space
84
+ .command("delete <id>")
85
+ .description("Delete a space")
86
+ .action(async (id) => {
87
+ try {
88
+ await del(`/api/spaces/${id}`);
89
+ printSuccess(`Space ${id} deleted.`);
90
+ }
91
+ catch (err) {
92
+ printError(err);
93
+ }
94
+ });
95
+ space
96
+ .command("publish <id>")
97
+ .description("Publish a space")
98
+ .action(async (id) => {
99
+ try {
100
+ const data = await put(`/api/spaces/${id}`, { isPublic: true });
101
+ printResult(data);
102
+ }
103
+ catch (err) {
104
+ printError(err);
105
+ }
106
+ });
107
+ space
108
+ .command("unpublish <id>")
109
+ .description("Unpublish a space")
110
+ .action(async (id) => {
111
+ try {
112
+ const data = await put(`/api/spaces/${id}`, { isPublic: false });
113
+ printResult(data);
114
+ }
115
+ catch (err) {
116
+ printError(err);
117
+ }
118
+ });
119
+ space
120
+ .command("cover <id>")
121
+ .description("Upload cover image for a space")
122
+ .requiredOption("--file <path>", "Path to image file")
123
+ .action(async (id, opts) => {
124
+ try {
125
+ const data = await upload(`/api/spaces/${id}/cover`, opts.file);
126
+ printSuccess("Cover image uploaded");
127
+ printResult(data);
128
+ }
129
+ catch (err) {
130
+ printError(err);
131
+ }
132
+ });
133
+ }
134
+ //# sourceMappingURL=space.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"space.js","sourceRoot":"","sources":["../../src/commands/space.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import { Command } from "commander";
2
+ export declare function registerStats(program: Command): void;
3
+ //# sourceMappingURL=stats.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stats.d.ts","sourceRoot":"","sources":["../../src/commands/stats.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAIpC,wBAAgB,aAAa,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CA2BpD"}
@@ -0,0 +1,31 @@
1
+ import { get } from "../client.js";
2
+ import { printResult, printError } from "../output.js";
3
+ export function registerStats(program) {
4
+ const stats = program.command("stats").description("Dashboard statistics");
5
+ stats
6
+ .command("overview")
7
+ .description("Show dashboard overview")
8
+ .action(async () => {
9
+ try {
10
+ const data = await get("/api/creator/dashboard");
11
+ printResult(data);
12
+ }
13
+ catch (err) {
14
+ printError(err);
15
+ }
16
+ });
17
+ stats
18
+ .command("revenue")
19
+ .description("Show revenue breakdown")
20
+ .option("--period <period>", "Period (7d, 30d, 90d)", "30d")
21
+ .action(async (opts) => {
22
+ try {
23
+ const data = await get(`/api/creator/revenue?period=${opts.period}`);
24
+ printResult(data);
25
+ }
26
+ catch (err) {
27
+ printError(err);
28
+ }
29
+ });
30
+ }
31
+ //# sourceMappingURL=stats.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stats.js","sourceRoot":"","sources":["../../src/commands/stats.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,GAAG,EAAE,MAAM,cAAc,CAAC;AACnC,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAEvD,MAAM,UAAU,aAAa,CAAC,OAAgB;IAC5C,MAAM,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,WAAW,CAAC,sBAAsB,CAAC,CAAC;IAE3E,KAAK;SACF,OAAO,CAAC,UAAU,CAAC;SACnB,WAAW,CAAC,yBAAyB,CAAC;SACtC,MAAM,CAAC,KAAK,IAAI,EAAE;QACjB,IAAI,CAAC;YACH,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,wBAAwB,CAAC,CAAC;YACjD,WAAW,CAAC,IAAI,CAAC,CAAC;QACpB,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,UAAU,CAAC,GAAG,CAAC,CAAC;QAClB,CAAC;IACH,CAAC,CAAC,CAAC;IAEL,KAAK;SACF,OAAO,CAAC,SAAS,CAAC;SAClB,WAAW,CAAC,wBAAwB,CAAC;SACrC,MAAM,CAAC,mBAAmB,EAAE,uBAAuB,EAAE,KAAK,CAAC;SAC3D,MAAM,CAAC,KAAK,EAAE,IAAwB,EAAE,EAAE;QACzC,IAAI,CAAC;YACH,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,+BAA+B,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;YACrE,WAAW,CAAC,IAAI,CAAC,CAAC;QACpB,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,UAAU,CAAC,GAAG,CAAC,CAAC;QAClB,CAAC;IACH,CAAC,CAAC,CAAC;AACP,CAAC"}
@@ -0,0 +1,3 @@
1
+ import { Command } from "commander";
2
+ export declare function registerSticker(program: Command): void;
3
+ //# sourceMappingURL=sticker.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sticker.d.ts","sourceRoot":"","sources":["../../src/commands/sticker.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAIpC,wBAAgB,eAAe,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAsItD"}
@@ -0,0 +1,142 @@
1
+ import { get, post, patch, del, upload } from "../client.js";
2
+ import { printResult, printError, printSuccess, table } from "../output.js";
3
+ export function registerSticker(program) {
4
+ const sticker = program.command("sticker").description("Sticker pack management");
5
+ sticker
6
+ .command("list")
7
+ .description("List your sticker packs")
8
+ .action(async () => {
9
+ try {
10
+ const data = await get("/api/creator/stickers");
11
+ const packs = data.packs ?? data;
12
+ if (Array.isArray(packs)) {
13
+ table(packs, [
14
+ { key: "id", label: "ID" },
15
+ { key: "name", label: "Name" },
16
+ { key: "status", label: "Status" },
17
+ { key: "sticker_count", label: "Stickers" },
18
+ ]);
19
+ }
20
+ else {
21
+ printResult(data);
22
+ }
23
+ }
24
+ catch (err) {
25
+ printError(err);
26
+ }
27
+ });
28
+ sticker
29
+ .command("create")
30
+ .description("Create a new sticker pack")
31
+ .requiredOption("--name <name>", "Pack name")
32
+ .option("--description <desc>", "Pack description")
33
+ .option("--price <price>", "Price in coins", "0")
34
+ .action(async (opts) => {
35
+ try {
36
+ const data = await post("/api/creator/stickers", {
37
+ name: opts.name,
38
+ description: opts.description ?? "",
39
+ price: parseInt(opts.price, 10),
40
+ });
41
+ printResult(data);
42
+ }
43
+ catch (err) {
44
+ printError(err);
45
+ }
46
+ });
47
+ sticker
48
+ .command("update <id>")
49
+ .description("Update a sticker pack")
50
+ .option("--name <name>", "New name")
51
+ .option("--description <desc>", "New description")
52
+ .option("--price <price>", "New price")
53
+ .action(async (id, opts) => {
54
+ try {
55
+ const body = {};
56
+ if (opts.name)
57
+ body.name = opts.name;
58
+ if (opts.description)
59
+ body.description = opts.description;
60
+ if (opts.price)
61
+ body.price = parseInt(opts.price, 10);
62
+ const data = await patch(`/api/creator/stickers/${id}`, body);
63
+ printResult(data);
64
+ }
65
+ catch (err) {
66
+ printError(err);
67
+ }
68
+ });
69
+ sticker
70
+ .command("delete <id>")
71
+ .description("Delete a sticker pack")
72
+ .action(async (id) => {
73
+ try {
74
+ await del(`/api/creator/stickers/${id}`);
75
+ printSuccess(`Sticker pack ${id} deleted.`);
76
+ }
77
+ catch (err) {
78
+ printError(err);
79
+ }
80
+ });
81
+ sticker
82
+ .command("upload-image <packId> <file>")
83
+ .description("Upload an image to a sticker pack")
84
+ .action(async (packId, file) => {
85
+ try {
86
+ const data = await upload(`/api/creator/stickers/${packId}/stickers`, file, "sticker");
87
+ printResult(data);
88
+ }
89
+ catch (err) {
90
+ printError(err);
91
+ }
92
+ });
93
+ sticker
94
+ .command("remove-image <packId> <stickerId>")
95
+ .description("Remove a sticker from a pack")
96
+ .action(async (packId, stickerId) => {
97
+ try {
98
+ await del(`/api/creator/stickers/${packId}/stickers/${stickerId}`);
99
+ printSuccess(`Sticker ${stickerId} removed from pack ${packId}.`);
100
+ }
101
+ catch (err) {
102
+ printError(err);
103
+ }
104
+ });
105
+ sticker
106
+ .command("submit-review <id>")
107
+ .description("Submit a sticker pack for review")
108
+ .action(async (id) => {
109
+ try {
110
+ const data = await post(`/api/creator/stickers/${id}/submit-review`);
111
+ printResult(data);
112
+ }
113
+ catch (err) {
114
+ printError(err);
115
+ }
116
+ });
117
+ sticker
118
+ .command("publish <id>")
119
+ .description("Publish a sticker pack")
120
+ .action(async (id) => {
121
+ try {
122
+ const data = await patch(`/api/creator/stickers/${id}`, { status: "published" });
123
+ printResult(data);
124
+ }
125
+ catch (err) {
126
+ printError(err);
127
+ }
128
+ });
129
+ sticker
130
+ .command("unpublish <id>")
131
+ .description("Unpublish a sticker pack")
132
+ .action(async (id) => {
133
+ try {
134
+ const data = await patch(`/api/creator/stickers/${id}`, { status: "draft" });
135
+ printResult(data);
136
+ }
137
+ catch (err) {
138
+ printError(err);
139
+ }
140
+ });
141
+ }
142
+ //# sourceMappingURL=sticker.js.map