@soku-ai/cli 0.1.0-alpha.17 → 0.1.0-alpha.19

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 (64) hide show
  1. package/README.md +33 -22
  2. package/dist/commands/auth.d.ts +1 -3
  3. package/dist/commands/auth.d.ts.map +1 -1
  4. package/dist/commands/auth.js +18 -3
  5. package/dist/commands/auth.js.map +1 -1
  6. package/dist/commands/automation.d.ts +46 -0
  7. package/dist/commands/automation.d.ts.map +1 -1
  8. package/dist/commands/automation.js +150 -0
  9. package/dist/commands/automation.js.map +1 -1
  10. package/dist/commands/brand-skill.d.ts +23 -0
  11. package/dist/commands/brand-skill.d.ts.map +1 -1
  12. package/dist/commands/brand-skill.js +82 -0
  13. package/dist/commands/brand-skill.js.map +1 -1
  14. package/dist/commands/changelog.d.ts +79 -0
  15. package/dist/commands/changelog.d.ts.map +1 -0
  16. package/dist/commands/changelog.js +123 -0
  17. package/dist/commands/changelog.js.map +1 -0
  18. package/dist/commands/context.d.ts +54 -0
  19. package/dist/commands/context.d.ts.map +1 -1
  20. package/dist/commands/context.js +362 -43
  21. package/dist/commands/context.js.map +1 -1
  22. package/dist/commands/egress.d.ts +49 -1
  23. package/dist/commands/egress.d.ts.map +1 -1
  24. package/dist/commands/egress.js +287 -33
  25. package/dist/commands/egress.js.map +1 -1
  26. package/dist/commands/generated.d.ts +8 -3
  27. package/dist/commands/generated.d.ts.map +1 -1
  28. package/dist/commands/generated.js +10 -3
  29. package/dist/commands/generated.js.map +1 -1
  30. package/dist/commands/live-surface.d.ts +15 -0
  31. package/dist/commands/live-surface.d.ts.map +1 -0
  32. package/dist/commands/live-surface.js +96 -0
  33. package/dist/commands/live-surface.js.map +1 -0
  34. package/dist/commands/workspace.d.ts +13 -0
  35. package/dist/commands/workspace.d.ts.map +1 -1
  36. package/dist/commands/workspace.js +34 -7
  37. package/dist/commands/workspace.js.map +1 -1
  38. package/dist/generated/capabilities.json +7710 -2318
  39. package/dist/generated/changelog.json +2232 -0
  40. package/dist/http/client.d.ts +17 -0
  41. package/dist/http/client.d.ts.map +1 -1
  42. package/dist/http/client.js +34 -5
  43. package/dist/http/client.js.map +1 -1
  44. package/dist/index.js +4 -0
  45. package/dist/index.js.map +1 -1
  46. package/dist/output/envelope.d.ts +2 -1
  47. package/dist/output/envelope.d.ts.map +1 -1
  48. package/dist/output/envelope.js +2 -2
  49. package/dist/output/envelope.js.map +1 -1
  50. package/dist/upload-journal.d.ts +46 -0
  51. package/dist/upload-journal.d.ts.map +1 -0
  52. package/dist/upload-journal.js +102 -0
  53. package/dist/upload-journal.js.map +1 -0
  54. package/dist/version.d.ts +1 -1
  55. package/dist/version.js +1 -1
  56. package/package.json +6 -5
  57. package/skills/soku/SKILL.md +74 -12
  58. package/skills/soku/agents/openai.yaml +4 -0
  59. package/skills/soku/references/ads-write.md +12 -6
  60. package/skills/soku/references/auth-workspace.md +27 -12
  61. package/skills/soku/references/data-capabilities.md +22 -1
  62. package/skills/soku/references/egress-security.md +63 -0
  63. package/skills/soku/references/seo-automation-files.md +67 -3
  64. package/skills/soku/references/skills-updates.md +54 -0
package/README.md CHANGED
@@ -1,25 +1,15 @@
1
- <div align="center">
2
- <a href="https://soku.ai">
3
- <img src="./assets/soku-mark.svg" alt="Soku" width="104" />
4
- </a>
5
- <h1>Soku CLI</h1>
6
- <p><strong>Give any AI agent a secure command line to your growth stack.</strong></p>
7
- <p>
8
- Query marketing data, manage campaigns, publish SEO content, and automate<br />
9
- recurring work from Claude Code, Codex, Cursor, or any terminal.
10
- </p>
11
- <p>
12
- <a href="https://www.npmjs.com/package/@soku-ai/cli"><img src="https://img.shields.io/npm/v/@soku-ai/cli?color=ff6b00&amp;label=npm" alt="npm version" /></a>
13
- <a href="https://nodejs.org/"><img src="https://img.shields.io/badge/Node.js-%3E%3D20-339933?logo=node.js&amp;logoColor=white" alt="Node.js 20 or newer" /></a>
14
- <a href="./LICENSE"><img src="https://img.shields.io/badge/license-MIT-black.svg" alt="MIT license" /></a>
15
- </p>
16
- <p>
17
- <a href="https://soku.ai">Website</a> ·
18
- <a href="https://soku.ai/cli/skill.md">Agent guide</a> ·
19
- <a href="https://www.npmjs.com/package/@soku-ai/cli">npm</a> ·
20
- <a href="./CONTRIBUTING.md">Contributing</a>
21
- </p>
22
- </div>
1
+ # Soku CLI
2
+
3
+ **Give any AI agent a secure command line to your growth stack.**
4
+
5
+ Query marketing data, manage campaigns, publish SEO content, and automate
6
+ recurring work from Claude Code, Codex, Cursor, or any terminal.
7
+
8
+ [![npm version](https://img.shields.io/npm/v/@soku-ai/cli?color=ff6b00&label=npm)](https://www.npmjs.com/package/@soku-ai/cli)
9
+ [![Node.js 20 or newer](https://img.shields.io/badge/Node.js-%3E%3D20-339933?logo=node.js&logoColor=white)](https://nodejs.org/)
10
+ [![MIT license](https://img.shields.io/badge/license-MIT-black.svg)](./LICENSE)
11
+
12
+ [Website](https://soku.ai) · [Agent guide](https://soku.ai/cli/skill.md) · [npm](https://www.npmjs.com/package/@soku-ai/cli) · [Contributing](./CONTRIBUTING.md)
23
13
 
24
14
  ---
25
15
 
@@ -77,6 +67,27 @@ soku --help
77
67
 
78
68
  No global install needed? Start with `npx @soku-ai/cli --help`.
79
69
 
70
+ ### Install as a plugin
71
+
72
+ This repository is also a marketplace plugin for Claude Code, Cursor, and Codex.
73
+ The plugin teaches the agent how to install, sign in to, and use the Soku CLI;
74
+ it does not bundle the CLI itself, so `npm install -g @soku-ai/cli` still runs on
75
+ your machine (the plugin's skill walks the agent through it).
76
+
77
+ ```bash
78
+ # Claude Code
79
+ claude plugin marketplace add About-Intelligence/soku-cli
80
+ claude plugin install soku@soku
81
+ ```
82
+
83
+ - **Claude Cowork**: the Claude plugin also registers Soku's remote MCP server (`https://api.soku.ai/mcp`), so hosts without a shell can still read, research and prepare review-gated changes. Sign in when Cowork asks to authorize the `soku` connector.
84
+ - **Cursor**: open **Customize → Plugins**, import `https://github.com/About-Intelligence/soku-cli`, and install `soku` at user or project scope.
85
+ - **Codex / ChatGPT**: clone this repository; its `.agents/plugins/marketplace.json` registers the `soku` plugin in the local Plugins Directory.
86
+
87
+ Business skills (`soku-ads-report`, `soku-google-ads`, …) are not part of the
88
+ plugin. Install them on demand with `soku skill install <slug>`; `soku update
89
+ skills` keeps them current.
90
+
80
91
  ## What can you do with it?
81
92
 
82
93
  ### Turn ad data into answers
@@ -2,12 +2,10 @@
2
2
  import { Command } from 'commander';
3
3
  import { type TokenWorkspace } from '../auth/device.js';
4
4
  export declare function registerAuthCommands(program: Command): void;
5
- /** `/api/cli/me` response. `is_platform_admin` is optional so the CLI stays
6
- * compatible with servers that predate the field. */
5
+ /** `/api/cli/me` response. */
7
6
  export interface AuthStatusMe {
8
7
  owner_id: string;
9
8
  scope_type: string;
10
- is_platform_admin?: boolean;
11
9
  }
12
10
  /** JSON envelope payload for `auth status`; passes server fields through. */
13
11
  export declare function authStatusPayload(me: AuthStatusMe): {
@@ -1 +1 @@
1
- {"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../../src/commands/auth.ts"],"names":[],"mappings":"AAAA,0CAA0C;AAE1C,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAInC,OAAO,EAIL,KAAK,cAAc,EACpB,MAAM,mBAAmB,CAAA;AAM1B,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CA2F3D;AAED;qDACqD;AACrD,MAAM,WAAW,YAAY;IAC3B,QAAQ,EAAE,MAAM,CAAA;IAChB,UAAU,EAAE,MAAM,CAAA;IAClB,iBAAiB,CAAC,EAAE,OAAO,CAAA;CAC5B;AAED,6EAA6E;AAC7E,wBAAgB,iBAAiB,CAAC,EAAE,EAAE,YAAY,GAAG;IAAE,SAAS,EAAE,IAAI,CAAA;CAAE,GAAG,YAAY,CAEtF;AAED,8CAA8C;AAC9C,wBAAgB,gBAAgB,CAAC,CAAC,EAAE,YAAY,GAAG,MAAM,CAGxD;AAsCD,wBAAgB,mBAAmB,CAAC,SAAS,EAAE,cAAc,GAAG,SAAS,GAAG,OAAO,CAOlF"}
1
+ {"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../../src/commands/auth.ts"],"names":[],"mappings":"AAAA,0CAA0C;AAE1C,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAInC,OAAO,EAIL,KAAK,cAAc,EACpB,MAAM,mBAAmB,CAAA;AAM1B,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CA2F3D;AAED,8BAA8B;AAC9B,MAAM,WAAW,YAAY;IAC3B,QAAQ,EAAE,MAAM,CAAA;IAChB,UAAU,EAAE,MAAM,CAAA;CACnB;AAED,6EAA6E;AAC7E,wBAAgB,iBAAiB,CAAC,EAAE,EAAE,YAAY,GAAG;IAAE,SAAS,EAAE,IAAI,CAAA;CAAE,GAAG,YAAY,CAEtF;AAED,8CAA8C;AAC9C,wBAAgB,gBAAgB,CAAC,CAAC,EAAE,YAAY,GAAG,MAAM,CAMxD;AAkDD,wBAAgB,mBAAmB,CAAC,SAAS,EAAE,cAAc,GAAG,SAAS,GAAG,OAAO,CAOlF"}
@@ -94,8 +94,11 @@ export function authStatusPayload(me) {
94
94
  }
95
95
  /** Human (TTY) renderer for `auth status`. */
96
96
  export function renderAuthStatus(d) {
97
- const scope = d.is_platform_admin ? `${d.scope_type} — platform admin` : d.scope_type;
98
- return `${green('✓')} Signed in ${dim(`(${scope})`)}\n owner: ${cyan(d.owner_id)}`;
97
+ return [
98
+ `${green('✓')} Signed in ${dim(`(${d.scope_type})`)}`,
99
+ ` owner: ${cyan(d.owner_id)}`,
100
+ dim(' Reaches every brand this account can access; `soku brand list` shows them.'),
101
+ ].join('\n');
99
102
  }
100
103
  async function pollAndStore(opts) {
101
104
  const outcome = await pollForToken(opts);
@@ -114,7 +117,19 @@ async function pollAndStore(opts) {
114
117
  scope: outcome.token.scope,
115
118
  workspace_configured: workspaceConfigured,
116
119
  workspace: outcome.token.workspace ?? null,
117
- }, () => `${green('✓')} Signed in ${dim(`(token valid ~${days} days)`)}\n ${dim(workspaceConfigured ? 'Next: soku ads list-ad-accounts' : 'Next: soku org list')}`);
120
+ // The brand picked during approval is a starting point, not a grant
121
+ // boundary. Stating it here is the cheapest place to stop the reading
122
+ // that "I authorized one brand, so why can I see others?".
123
+ brand_scope: 'session',
124
+ }, () => [
125
+ `${green('✓')} Signed in ${dim(`(token valid ~${days} days)`)}`,
126
+ workspaceConfigured
127
+ ? dim(' The brand you picked is where the CLI starts, not the limit of this session.')
128
+ : '',
129
+ ` ${dim(workspaceConfigured ? 'Next: soku ads list-ad-accounts' : 'Next: soku org list')}`,
130
+ ]
131
+ .filter(Boolean)
132
+ .join('\n'));
118
133
  }
119
134
  export function storeTokenWorkspace(workspace) {
120
135
  if (!workspace?.organization_id || !workspace?.brand_id)
@@ -1 +1 @@
1
- {"version":3,"file":"auth.js","sourceRoot":"","sources":["../../src/commands/auth.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"auth.js","sourceRoot":"","sources":["../../src/commands/auth.ts"],"names":[],"mappings":"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"}
@@ -22,6 +22,50 @@ interface AutomationCreateOptions {
22
22
  onceAt?: string;
23
23
  timezone?: string;
24
24
  }
25
+ /** Every field is optional: an update sends only what the caller passed, so an
26
+ * omitted field keeps its stored value instead of being reset. */
27
+ interface AutomationUpdateOptions {
28
+ name?: string;
29
+ prompt?: string;
30
+ cron?: string;
31
+ intervalSeconds?: string;
32
+ onceAt?: string;
33
+ timezone?: string;
34
+ status?: string;
35
+ }
36
+ export interface AutomationUpdatePayload {
37
+ name?: string;
38
+ prompt?: string;
39
+ status?: AutomationStatus;
40
+ scheduleContract?: ScheduleContract;
41
+ }
42
+ export type AutomationStatus = 'active' | 'paused' | 'completed';
43
+ export interface AutomationDeleteResponse {
44
+ deleted: boolean;
45
+ automationId: string;
46
+ }
47
+ export interface AutomationAttachmentDependency {
48
+ id: string;
49
+ status: 'ok' | 'missing';
50
+ name?: string | null;
51
+ sizeBytes?: number | null;
52
+ contentType?: string | null;
53
+ }
54
+ export interface AutomationContextReferenceDependency {
55
+ id: string;
56
+ type: string;
57
+ name?: string | null;
58
+ brandPinned: boolean;
59
+ }
60
+ export interface AutomationDependencies {
61
+ automationId: string;
62
+ brandId: string;
63
+ attachments: AutomationAttachmentDependency[];
64
+ contextReferences: AutomationContextReferenceDependency[];
65
+ missingAttachmentCount: number;
66
+ brandPinnedReferenceCount: number;
67
+ ready: boolean;
68
+ }
25
69
  export interface AutomationCreatePayload {
26
70
  name: string;
27
71
  prompt: string;
@@ -71,8 +115,10 @@ export declare function automationRunsPath(automationId: string, opts: {
71
115
  export declare function resolveWebBase(): string;
72
116
  export declare function conversationUrl(path?: string | null, base?: string): string | null;
73
117
  export declare function buildAutomationCreatePayload(opts: AutomationCreateOptions): AutomationCreatePayload;
118
+ export declare function buildAutomationUpdatePayload(opts: AutomationUpdateOptions): AutomationUpdatePayload;
74
119
  export declare function renderAutomations(data: AutomationListResponse): string;
75
120
  export declare function renderAutomation(item: AutomationItem): string;
121
+ export declare function renderAutomationDependencies(data: AutomationDependencies): string;
76
122
  export declare function runsWithConversationUrls(data: AutomationRunsResponse): AutomationRunsResponse;
77
123
  export declare function renderAutomationRuns(data: AutomationRunsResponse): string;
78
124
  export declare function registerAutomationCommands(program: Command): void;
@@ -1 +1 @@
1
- {"version":3,"file":"automation.d.ts","sourceRoot":"","sources":["../../src/commands/automation.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"automation.d.ts","sourceRoot":"","sources":["../../src/commands/automation.ts"],"names":[],"mappings":"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"}
@@ -3,6 +3,7 @@ import { apiRequest } from '../http/client.js';
3
3
  import { bold, cyan, dim, emitError, emitSuccess, ExitCode, table } from '../output/envelope.js';
4
4
  const AUTOMATIONS_PATH = '/api/cli/automations';
5
5
  const DEFAULT_WEB_BASE = 'https://app.soku.ai';
6
+ const AUTOMATION_STATUSES = ['active', 'paused', 'completed'];
6
7
  export class AutomationUsageError extends Error {
7
8
  hint;
8
9
  constructor(message, hint) {
@@ -46,6 +47,37 @@ export function buildAutomationCreatePayload(opts) {
46
47
  scheduleContract: buildScheduleContract(opts),
47
48
  };
48
49
  }
50
+ export function buildAutomationUpdatePayload(opts) {
51
+ const scheduleSources = [opts.cron, opts.intervalSeconds, opts.onceAt].filter((value) => value !== undefined);
52
+ if (scheduleSources.length > 1) {
53
+ throw new AutomationUsageError('Provide at most one schedule option.', 'Use --cron, --interval-seconds, or --once-at.');
54
+ }
55
+ // --timezone alone cannot be honored: the server rebuilds the stored schedule
56
+ // from a whole contract, so a lone timezone would silently do nothing.
57
+ if (opts.timezone !== undefined && opts.cron === undefined) {
58
+ throw new AutomationUsageError('--timezone only applies together with --cron.', 'Re-send the cron expression: --cron "<expr>" --timezone <iana>.');
59
+ }
60
+ const payload = {};
61
+ if (opts.name !== undefined)
62
+ payload.name = requiredText(opts.name, '--name');
63
+ if (opts.prompt !== undefined)
64
+ payload.prompt = requiredText(opts.prompt, '--prompt');
65
+ if (opts.status !== undefined)
66
+ payload.status = parseStatus(opts.status);
67
+ if (scheduleSources.length === 1)
68
+ payload.scheduleContract = buildScheduleContract(opts);
69
+ if (Object.keys(payload).length === 0) {
70
+ throw new AutomationUsageError('Nothing to update.', 'Pass at least one of --name, --prompt, --status, --cron, --interval-seconds, --once-at.');
71
+ }
72
+ return payload;
73
+ }
74
+ function parseStatus(raw) {
75
+ const value = raw.trim();
76
+ if (!AUTOMATION_STATUSES.includes(value)) {
77
+ throw new AutomationUsageError(`--status must be one of: ${AUTOMATION_STATUSES.join(', ')}.`);
78
+ }
79
+ return value;
80
+ }
49
81
  function buildScheduleContract(opts) {
50
82
  if (opts.cron !== undefined) {
51
83
  const timezone = (opts.timezone || 'UTC').trim();
@@ -118,6 +150,47 @@ export function renderAutomation(item) {
118
150
  `${bold('Timezone')}: ${item.timezone ?? '-'}`,
119
151
  ].join('\n');
120
152
  }
153
+ export function renderAutomationDependencies(data) {
154
+ const lines = [
155
+ `${bold('Automation')}: ${cyan(data.automationId)}`,
156
+ `${bold('Dependencies')}: ${data.ready ? 'all attachments resolve' : `${data.missingAttachmentCount} missing`}`,
157
+ ];
158
+ lines.push('');
159
+ lines.push(bold('Attachments'));
160
+ lines.push(data.attachments.length === 0
161
+ ? dim(' (none)')
162
+ : table(data.attachments.map((item) => ({
163
+ status: item.status,
164
+ id: item.id,
165
+ name: item.name ?? '',
166
+ size: item.sizeBytes ?? '',
167
+ })), [
168
+ { key: 'status', header: 'STATUS' },
169
+ { key: 'id', header: 'ID' },
170
+ { key: 'name', header: 'NAME' },
171
+ { key: 'size', header: 'BYTES' },
172
+ ]));
173
+ lines.push('');
174
+ lines.push(bold('Context references'));
175
+ lines.push(data.contextReferences.length === 0
176
+ ? dim(' (none)')
177
+ : table(data.contextReferences.map((item) => ({
178
+ scope: item.brandPinned ? 'brand-pinned' : 'portable',
179
+ type: item.type,
180
+ id: item.id,
181
+ name: item.name ?? '',
182
+ })), [
183
+ { key: 'scope', header: 'SCOPE' },
184
+ { key: 'type', header: 'TYPE' },
185
+ { key: 'id', header: 'ID' },
186
+ { key: 'name', header: 'NAME' },
187
+ ]));
188
+ if (data.brandPinnedReferenceCount > 0) {
189
+ lines.push('');
190
+ lines.push(dim(`${data.brandPinnedReferenceCount} reference(s) point at rows inside this brand and must be re-picked if this automation is recreated elsewhere.`));
191
+ }
192
+ return lines.join('\n');
193
+ }
121
194
  export function runsWithConversationUrls(data) {
122
195
  return {
123
196
  ...data,
@@ -187,6 +260,83 @@ export function registerAutomationCommands(program) {
187
260
  });
188
261
  emitSuccess(data, renderAutomation);
189
262
  });
263
+ automation
264
+ .command('get <automation_id>')
265
+ .description('Show one automation in the active brand')
266
+ .action(async (automationId) => {
267
+ const data = await apiRequest(automationPath(automationId), {
268
+ workspace: true,
269
+ });
270
+ emitSuccess(data, renderAutomation);
271
+ });
272
+ automation
273
+ .command('update <automation_id>')
274
+ .description('Edit an existing automation in place (name, prompt, schedule, or status)')
275
+ .option('--name <name>', 'New automation name')
276
+ .option('--prompt <prompt>', 'New prompt')
277
+ .option('--cron <expr>', 'Five-field cron expression, e.g. "* * * * *"')
278
+ .option('--interval-seconds <seconds>', 'Interval schedule in seconds (>= 3600 and divisible by 60)')
279
+ .option('--once-at <iso>', 'Run once at this UTC ISO timestamp')
280
+ .option('--timezone <tz>', 'IANA timezone; only valid together with --cron')
281
+ .option(`--status <status>`, `One of: ${AUTOMATION_STATUSES.join(', ')}`)
282
+ .action(async (automationId, opts) => {
283
+ let payload;
284
+ try {
285
+ payload = buildAutomationUpdatePayload(opts);
286
+ }
287
+ catch (err) {
288
+ usageError(err);
289
+ }
290
+ const data = await apiRequest(automationPath(automationId), {
291
+ method: 'PATCH',
292
+ workspace: true,
293
+ body: payload,
294
+ });
295
+ emitSuccess(data, renderAutomation);
296
+ });
297
+ automation
298
+ .command('pause <automation_id>')
299
+ .description('Pause an automation without deleting it (clears its next run)')
300
+ .action(async (automationId) => {
301
+ const data = await apiRequest(automationPath(automationId), {
302
+ method: 'PATCH',
303
+ workspace: true,
304
+ body: { status: 'paused' },
305
+ });
306
+ emitSuccess(data, renderAutomation);
307
+ });
308
+ automation
309
+ .command('resume <automation_id>')
310
+ .description('Resume a paused automation and recompute its next run')
311
+ .action(async (automationId) => {
312
+ const data = await apiRequest(automationPath(automationId), {
313
+ method: 'PATCH',
314
+ workspace: true,
315
+ body: { status: 'active' },
316
+ });
317
+ emitSuccess(data, renderAutomation);
318
+ });
319
+ automation
320
+ .command('delete <automation_id>')
321
+ .description('Delete an automation from the active brand')
322
+ .option('--confirm', 'Confirm the delete')
323
+ .action(async (automationId, opts) => {
324
+ if (!opts.confirm) {
325
+ emitError('confirmation_required', 'Delete requires explicit confirmation.', ExitCode.USAGE, 'Re-run with --confirm.');
326
+ }
327
+ const data = await apiRequest(automationPath(automationId), {
328
+ method: 'DELETE',
329
+ workspace: true,
330
+ });
331
+ emitSuccess(data, (d) => `${bold('Deleted')}: ${cyan(d.automationId)}`);
332
+ });
333
+ automation
334
+ .command('deps <automation_id>')
335
+ .description('Check whether this automation\'s attachments and references still resolve')
336
+ .action(async (automationId) => {
337
+ const data = await apiRequest(automationPath(automationId, 'dependencies'), { workspace: true });
338
+ emitSuccess(data, renderAutomationDependencies);
339
+ });
190
340
  automation
191
341
  .command('trigger <automation_id>')
192
342
  .description('Trigger one manual run for an automation')
@@ -1 +1 @@
1
- {"version":3,"file":"automation.js","sourceRoot":"","sources":["../../src/commands/automation.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"automation.js","sourceRoot":"","sources":["../../src/commands/automation.ts"],"names":[],"mappings":"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"}
@@ -40,6 +40,29 @@ interface CatalogSkill {
40
40
  installed: boolean;
41
41
  modified: boolean;
42
42
  }
43
+ interface CommunitySkill {
44
+ slug: string;
45
+ name: string;
46
+ version: string;
47
+ publisher_org_name: string;
48
+ status: string;
49
+ price_credits: number;
50
+ entitlement: string | null;
51
+ installed_version: string | null;
52
+ update_available: boolean;
53
+ pending_version?: {
54
+ version: string;
55
+ review_status: string;
56
+ review_note?: string | null;
57
+ } | null;
58
+ }
59
+ interface CommunitySkillListResponse {
60
+ brand_id: string;
61
+ skills: CommunitySkill[];
62
+ count: number;
63
+ total: number;
64
+ }
65
+ export declare function renderCommunitySkills(data: CommunitySkillListResponse): string;
43
66
  interface BrandSkillListResponse {
44
67
  brand_id: string;
45
68
  installed: InstalledSkill[];
@@ -1 +1 @@
1
- {"version":3,"file":"brand-skill.d.ts","sourceRoot":"","sources":["../../src/commands/brand-skill.ts"],"names":[],"mappings":"AAAA,4EAA4E;AAY5E,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AASnC,UAAU,cAAc;IACtB,IAAI,EAAE,MAAM,CAAA;IACZ,OAAO,EAAE,MAAM,CAAA;IACf,YAAY,EAAE,MAAM,CAAA;IACpB,UAAU,EAAE,MAAM,CAAA;IAClB,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAC9B,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAC9B,QAAQ,EAAE,OAAO,CAAA;CAClB;AAED,UAAU,iBAAiB;IACzB,IAAI,EAAE,MAAM,CAAA;IACZ,WAAW,EAAE,MAAM,CAAA;IACnB,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACvB,IAAI,EAAE,MAAM,EAAE,CAAA;CACf;AAED,UAAU,aAAa;IACrB,IAAI,EAAE,MAAM,CAAA;IACZ,WAAW,EAAE,MAAM,CAAA;IACnB,WAAW,EAAE,MAAM,CAAA;IACnB,iBAAiB,EAAE,MAAM,CAAA;IACzB,UAAU,EAAE,MAAM,CAAA;IAClB,SAAS,EAAE,MAAM,CAAA;IACjB,UAAU,EAAE,MAAM,CAAA;IAClB,UAAU,EAAE,iBAAiB,CAAA;IAC7B,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAC9B,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAC9B,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;CACvB;AAED,UAAU,YAAY;IACpB,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE,MAAM,CAAA;IACZ,WAAW,EAAE,MAAM,CAAA;IACnB,OAAO,EAAE,MAAM,CAAA;IACf,SAAS,EAAE,MAAM,EAAE,CAAA;IACnB,IAAI,EAAE,MAAM,EAAE,CAAA;IACd,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACxB,KAAK,EAAE,WAAW,GAAG,aAAa,GAAG,iBAAiB,CAAA;IACtD,SAAS,EAAE,OAAO,CAAA;IAClB,QAAQ,EAAE,OAAO,CAAA;CAClB;AAED,UAAU,sBAAsB;IAC9B,QAAQ,EAAE,MAAM,CAAA;IAChB,SAAS,EAAE,cAAc,EAAE,CAAA;IAC3B,QAAQ,EAAE,aAAa,EAAE,CAAA;IACzB,KAAK,EAAE,MAAM,CAAA;CACd;AAED,UAAU,yBAAyB;IACjC,QAAQ,EAAE,MAAM,CAAA;IAChB,MAAM,EAAE,YAAY,EAAE,CAAA;IACtB,KAAK,EAAE,MAAM,CAAA;CACd;AA8DD,UAAU,cAAc;IACtB,IAAI,EAAE,MAAM,CAAA;IACZ,UAAU,EAAE,MAAM,CAAA;IAClB,QAAQ,EAAE,MAAM,CAAA;CACjB;AAED,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,CAGxE;AAED,wBAAgB,gBAAgB,CAAC,SAAS,EAAE,MAAM,GAAG;IAAE,KAAK,EAAE,UAAU,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,CA6B3F;AAED,wBAAgB,wBAAwB,CACtC,KAAK,EAAE,KAAK,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,CAAC,EACjD,SAAS,EAAE,MAAM,EACjB,KAAK,UAAQ,GACZ,cAAc,EAAE,CAclB;AAED,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,sBAAsB,GAAG,MAAM,CAyBzE;AAED,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,yBAAyB,GAAG,MAAM,CAmB/E;AA6GD,wBAAgB,0BAA0B,CAAC,KAAK,EAAE,OAAO,GAAG,IAAI,CAsM/D"}
1
+ {"version":3,"file":"brand-skill.d.ts","sourceRoot":"","sources":["../../src/commands/brand-skill.ts"],"names":[],"mappings":"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"}
@@ -1,11 +1,42 @@
1
1
  /** `soku brand skill ...` — manage skills in the active brand workspace. */
2
2
  import { existsSync, lstatSync, mkdirSync, readFileSync, readdirSync, writeFileSync, } from 'node:fs';
3
3
  import { basename, dirname, isAbsolute, join, relative, resolve, sep } from 'node:path';
4
+ import { InvalidArgumentError, Option } from 'commander';
4
5
  import { zipSync } from 'fflate';
5
6
  import { apiRequest } from '../http/client.js';
6
7
  import { bold, cyan, dim, emitError, emitSuccess, ExitCode, green, table } from '../output/envelope.js';
7
8
  import { isSafeSlug } from './skill.js';
8
9
  const BRAND_SKILLS_PATH = '/api/cli/brand-skills';
10
+ function integerOption(min, max = Number.MAX_SAFE_INTEGER) {
11
+ return (raw) => {
12
+ const value = Number(raw);
13
+ if (!/^\d+$/.test(raw) || !Number.isSafeInteger(value) || value < min || value > max) {
14
+ throw new InvalidArgumentError(`Expected an integer from ${min} to ${max}.`);
15
+ }
16
+ return value;
17
+ };
18
+ }
19
+ export function renderCommunitySkills(data) {
20
+ return `${table(data.skills.map((skill) => ({
21
+ slug: skill.slug,
22
+ name: skill.name,
23
+ version: skill.version,
24
+ publisher: skill.publisher_org_name,
25
+ credits: skill.price_credits,
26
+ entitlement: skill.entitlement ?? 'purchase required',
27
+ installed: skill.installed_version ?? '',
28
+ update: skill.update_available ? 'available' : '',
29
+ })), [
30
+ { key: 'slug', header: 'SLUG' },
31
+ { key: 'name', header: 'NAME' },
32
+ { key: 'version', header: 'VERSION' },
33
+ { key: 'publisher', header: 'PUBLISHER' },
34
+ { key: 'credits', header: 'CREDITS' },
35
+ { key: 'entitlement', header: 'ENTITLEMENT' },
36
+ { key: 'installed', header: 'INSTALLED' },
37
+ { key: 'update', header: 'UPDATE' },
38
+ ])}\nShowing ${data.count} of ${data.total}; use --offset to see more.`;
39
+ }
9
40
  export function brandSkillFilePath(slug, relPath) {
10
41
  validateSkillRelPath(relPath);
11
42
  return `${BRAND_SKILLS_PATH}/uploaded/${encodeURIComponent(slug)}/files/${encodeSkillPath(relPath)}`;
@@ -192,6 +223,57 @@ export function registerBrandSkillCommands(brand) {
192
223
  const skill = brand
193
224
  .command('skill')
194
225
  .description('Manage skills in the active brand workspace (requires brand-skills)');
226
+ const community = skill.command('community').description('Browse and install community skills');
227
+ community.command('list')
228
+ .description('List community skills with prices, purchase eligibility, and brand install state')
229
+ .option('--query <text>', 'Search name and description')
230
+ .option('--category <slug>', 'Filter by category')
231
+ .addOption(new Option('--sort <order>', 'Sort order').choices(['recent', 'installs']).default('recent'))
232
+ .option('--limit <n>', 'Page size (1-100)', integerOption(1, 100), 30)
233
+ .option('--offset <n>', 'Pagination offset', integerOption(0), 0)
234
+ .action(async (opts) => {
235
+ const query = new URLSearchParams({ sort: opts.sort, limit: String(opts.limit), offset: String(opts.offset) });
236
+ if (opts.query !== undefined)
237
+ query.set('q', opts.query);
238
+ if (opts.category !== undefined)
239
+ query.set('category', opts.category);
240
+ const data = await apiRequest(`${BRAND_SKILLS_PATH}/community?${query}`, { workspace: true });
241
+ emitSuccess(data, renderCommunitySkills);
242
+ });
243
+ community.command('install <slug>')
244
+ .description('Install or upgrade a community skill; a paid purchase requires an explicitly agreed price')
245
+ .option('--expected-price-credits <credits>', 'Authorize this one-time purchase at the exact agreed price', integerOption(0))
246
+ .action(async (slug, opts) => {
247
+ validateSlug(slug);
248
+ const data = await apiRequest(`${BRAND_SKILLS_PATH}/community/${encodeURIComponent(slug)}/install`, {
249
+ method: 'POST', workspace: true,
250
+ body: opts.expectedPriceCredits === undefined ? undefined : { expected_price_credits: opts.expectedPriceCredits },
251
+ });
252
+ emitSuccess(data, (result) => `${renderMutation(result)} (${result.upgraded ? 'upgraded' : 'installed'})`);
253
+ });
254
+ skill.command('publish <slug>')
255
+ .description('Publish an uploaded private skill; paid versions require review before going live')
256
+ .option('--categories <slugs>', 'Comma-separated listing categories (at most 4)')
257
+ .option('--price-credits <credits>', '0 for free or 100-20000; omit to preserve the listing price', (raw) => {
258
+ const value = integerOption(0, 20000)(raw);
259
+ if (value > 0 && value < 100)
260
+ throw new InvalidArgumentError('Price must be 0 or at least 100 credits.');
261
+ return value;
262
+ })
263
+ .action(async (slug, opts) => {
264
+ validateSlug(slug);
265
+ const body = {};
266
+ if (opts.categories !== undefined) {
267
+ body.categories = [...new Set(opts.categories.split(',').map((value) => value.trim().toLowerCase()))];
268
+ if (body.categories.length > 4 || body.categories.some((value) => !/^[a-z][a-z0-9_-]{0,63}$/.test(value))) {
269
+ emitError('usage', 'Provide one to four lowercase category slugs.', ExitCode.USAGE);
270
+ }
271
+ }
272
+ if (opts.priceCredits !== undefined)
273
+ body.price_credits = opts.priceCredits;
274
+ const data = await apiRequest(`${BRAND_SKILLS_PATH}/uploaded/${encodeURIComponent(slug)}/publish`, { method: 'POST', workspace: true, body });
275
+ emitSuccess(data);
276
+ });
195
277
  skill
196
278
  .command('list')
197
279
  .description('List installed catalog skills and uploaded private skills')