@soku-ai/cli 0.1.0-alpha.12 → 0.1.0-alpha.13

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.
package/dist/index.js CHANGED
@@ -12,7 +12,6 @@ import { registerFilesCommands } from './commands/files.js';
12
12
  import { registerGeneratedCommands } from './commands/generated.js';
13
13
  import { registerMemoryCommands } from './commands/memory.js';
14
14
  import { registerOrgCommands } from './commands/org.js';
15
- import { registerResourceCommands } from './commands/resources.js';
16
15
  import { registerReviewCommands } from './commands/review.js';
17
16
  import { registerSeoHostingCommands } from './commands/seo-hosting.js';
18
17
  import { registerSkillCommand } from './commands/skill.js';
@@ -31,7 +30,6 @@ registerAutomationCommands(program);
31
30
  registerOrgCommands(program);
32
31
  registerBrandCommands(program);
33
32
  registerWorkspaceCommands(program);
34
- registerResourceCommands(program);
35
33
  registerMemoryCommands(program);
36
34
  registerGeneratedCommands(program);
37
35
  registerAdsCommands(program);
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AACA,4BAA4B;AAE5B,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAEnC,OAAO,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAA;AACvD,OAAO,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAA;AACzD,OAAO,EAAE,0BAA0B,EAAE,MAAM,0BAA0B,CAAA;AACrE,OAAO,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAA;AAC3D,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAA;AACxD,OAAO,EAAE,uBAAuB,EAAE,MAAM,uBAAuB,CAAA;AAC/D,OAAO,EAAE,sBAAsB,EAAE,MAAM,sBAAsB,CAAA;AAC7D,OAAO,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAA;AAC3D,OAAO,EAAE,yBAAyB,EAAE,MAAM,yBAAyB,CAAA;AACnE,OAAO,EAAE,sBAAsB,EAAE,MAAM,sBAAsB,CAAA;AAC7D,OAAO,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAA;AACvD,OAAO,EAAE,sBAAsB,EAAE,MAAM,sBAAsB,CAAA;AAC7D,OAAO,EAAE,0BAA0B,EAAE,MAAM,2BAA2B,CAAA;AACtE,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAA;AAC1D,OAAO,EAAE,kBAAkB,EAAE,qBAAqB,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAA;AACvG,OAAO,EAAE,yBAAyB,EAAE,MAAM,yBAAyB,CAAA;AACnE,OAAO,EAAE,iBAAiB,EAAE,0BAA0B,EAAE,MAAM,mBAAmB,CAAA;AACjF,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAA;AAC1D,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAA;AAE1C,MAAM,OAAO,GAAG,IAAI,OAAO,EAAE,CAAA;AAE7B,OAAO;KACJ,IAAI,CAAC,MAAM,CAAC;KACZ,WAAW,CAAC,yEAAyE,CAAC;KACtF,OAAO,CAAC,WAAW,CAAC,CAAA;AAEvB,oBAAoB,CAAC,OAAO,CAAC,CAAA;AAC7B,0BAA0B,CAAC,OAAO,CAAC,CAAA;AACnC,mBAAmB,CAAC,OAAO,CAAC,CAAA;AAC5B,qBAAqB,CAAC,OAAO,CAAC,CAAA;AAC9B,yBAAyB,CAAC,OAAO,CAAC,CAAA;AAClC,sBAAsB,CAAC,OAAO,CAAC,CAAA;AAC/B,yBAAyB,CAAC,OAAO,CAAC,CAAA;AAClC,mBAAmB,CAAC,OAAO,CAAC,CAAA;AAC5B,mBAAmB,CAAC,OAAO,CAAC,CAAA;AAC5B,sBAAsB,CAAC,OAAO,CAAC,CAAA;AAC/B,sBAAsB,CAAC,OAAO,CAAC,CAAA;AAC/B,0BAA0B,CAAC,OAAO,CAAC,CAAA;AACnC,uBAAuB,CAAC,OAAO,CAAC,CAAA;AAChC,qBAAqB,CAAC,OAAO,CAAC,CAAA;AAC9B,oBAAoB,CAAC,OAAO,CAAC,CAAA;AAC7B,qBAAqB,CAAC,OAAO,CAAC,CAAA;AAC9B,0BAA0B,CAAC,OAAO,CAAC,CAAA;AAEnC,SAAS,YAAY,CAAC,OAAgB;IACpC,MAAM,KAAK,GAAG,IAAI,GAAG,EAAU,CAAA;IAC/B,IAAI,OAAO,GAAmB,OAAO,CAAA;IACrC,OAAO,OAAO,EAAE,CAAC;QACf,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAA;QACzB,OAAO,GAAG,OAAO,CAAC,MAAM,IAAI,IAAI,CAAA;IAClC,CAAC;IACD,OAAO,KAAK,CAAA;AACd,CAAC;AAED,OAAO,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,EAAE,YAAY,EAAE,aAAa,EAAE,EAAE;IAC9D,MAAM,KAAK,GAAG,YAAY,CAAC,aAAa,CAAC,CAAA;IACzC,IAAI,KAAK,CAAC,GAAG,CAAC,cAAc,CAAC,IAAI,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC;QAAE,OAAM;IAC5D,MAAM,kBAAkB,EAAE,CAAA;IAC1B,IAAI,OAAO,CAAC,GAAG,CAAC,oBAAoB,KAAK,GAAG,EAAE,CAAC;QAC7C,MAAM,iBAAiB,EAAE,CAAA;IAC3B,CAAC;IACD,IAAI,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC;QAAE,OAAM;IAC9B,MAAM,qBAAqB,EAAE,CAAA;AAC/B,CAAC,CAAC,CAAA;AAEF,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,GAAY,EAAE,EAAE;IACtD,SAAS,CAAC,YAAY,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,QAAQ,CAAC,OAAO,CAAC,CAAA;AAC7F,CAAC,CAAC,CAAA"}
package/dist/version.d.ts CHANGED
@@ -1,3 +1,3 @@
1
1
  export declare const CLI_PACKAGE_NAME = "@soku-ai/cli";
2
- export declare const CLI_VERSION = "0.1.0-alpha.12";
2
+ export declare const CLI_VERSION = "0.1.0-alpha.13";
3
3
  //# sourceMappingURL=version.d.ts.map
package/dist/version.js CHANGED
@@ -1,3 +1,3 @@
1
1
  export const CLI_PACKAGE_NAME = '@soku-ai/cli';
2
- export const CLI_VERSION = '0.1.0-alpha.12';
2
+ export const CLI_VERSION = '0.1.0-alpha.13';
3
3
  //# sourceMappingURL=version.js.map
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@soku-ai/cli",
3
- "version": "0.1.0-alpha.12",
3
+ "version": "0.1.0-alpha.13",
4
4
  "description": "Soku CLI — call Soku ads/GA4/PostHog data capabilities from any AI agent or shell.",
5
5
  "license": "Proprietary",
6
6
  "author": "Soku",
@@ -42,7 +42,7 @@
42
42
  "build": "tsc && mkdir -p dist/generated && cp src/generated/capabilities.json dist/generated/capabilities.json",
43
43
  "typecheck": "tsc --noEmit",
44
44
  "test": "tsc -p tsconfig.test.json && find .test-build -name '*.test.js' -print | sort | xargs node --test",
45
- "gen:capabilities": "pnpm run build && node scripts/gen-capabilities.ts",
45
+ "gen:capabilities": "uv run --project ../.. python ../../scripts/gen_cli_capabilities.py",
46
46
  "clean": "rm -rf dist .test-build",
47
47
  "postinstall": "node postinstall.cjs",
48
48
  "prepublishOnly": "pnpm run clean && pnpm run build"
@@ -41,7 +41,6 @@ Business skills carry their own "Running this skill with the Soku CLI" section.
41
41
  ```bash
42
42
  soku auth status
43
43
  soku workspace status
44
- soku resources list
45
44
  ```
46
45
 
47
46
  2. If auth is missing or expired, use the agent split-flow from
@@ -129,3 +128,10 @@ When asking an AI client to invoke a business skill, write
129
128
  Soku-managed business skill recorded in `.soku-skills.json`. It also refreshes
130
129
  legacy meta-only installs that have `soku/SKILL.md` but no manifest, so older
131
130
  installations receive this `references/` directory.
131
+
132
+ `soku update cli` also silently refreshes an already-installed global `soku`
133
+ meta skill as an npm postinstall side effect. Its JSON result carries
134
+ `mustRereadMetaSkill: true` plus `metaSkillRefreshed: [<paths>]` when that
135
+ happened. After running `soku update cli`, check that field: if true, re-read
136
+ this file (and `references/`) from the listed path before continuing — do not
137
+ keep acting on this session's previously loaded copy of this skill.
@@ -9,11 +9,11 @@ and does not execute until a human approves.
9
9
  ```bash
10
10
  soku auth login --no-wait
11
11
  soku workspace status
12
- soku resources list
13
12
  soku ads list-ad-accounts --platform meta
14
13
  ```
15
14
 
16
- Restricted tokens need `data-infra,ads-write`.
15
+ A default login can reach ads writes (no resource needed); each
16
+ delivery-changing write still returns a pending review for a human to approve.
17
17
 
18
18
  ## Meta Account Helpers
19
19
 
@@ -21,19 +21,15 @@ soku auth login --device-code <device_code>
21
21
 
22
22
  For CI or headless contexts, use `SOKU_TOKEN`; do not echo it.
23
23
 
24
- ## Restricted Tokens
24
+ ## Resources
25
25
 
26
- Default agent login requests the CLI's known self-grantable resources. Only use
27
- `--resource` when the user explicitly wants a narrower token. Common resources:
28
-
29
- - `data-infra` for ads, GA4, and PostHog reads.
30
- - `ads-write` for Meta/Google Ads write commands.
31
- - `conversion-groups-write` for conversion group writes.
32
- - `seo-hosting` for SEO Hosting content and domain commands.
33
- - `automation` for automation management.
34
- - `context-hub` for Context Hub files.
35
- - `asset-publish` for temporary public file URLs.
36
- - `brand-skills` for brand skill management.
26
+ The CLI resource model has been retired `--resource` is **no longer needed
27
+ for anything**. A default `soku auth login` reaches the entire CLI surface: all
28
+ data commands (`soku ads / ga4 / posthog / call ...`) **and** every sub-command
29
+ (`soku seo-hosting / automation / files / context / brand skill ...`). Writes
30
+ still return a HITL review the user approves; that is the only gate left
31
+ (besides the active org/brand). The `--resource` flag and the `soku resources`
32
+ command have been removed from the CLI.
37
33
 
38
34
  ## Workspace
39
35
 
@@ -43,7 +39,6 @@ Never infer Soku workspace state from the local shell directory.
43
39
  soku workspace status
44
40
  soku workspace resolve <brand>
45
41
  soku workspace use-brand <brand>
46
- soku resources list
47
42
  ```
48
43
 
49
44
  If `resolve` is ambiguous, show the candidates and ask the user which exact
@@ -4,15 +4,16 @@ Use this discover -> inspect -> run loop for data capabilities. `--help` is the
4
4
  authoritative runtime surface for command names, flags, required params, and
5
5
  usage notes.
6
6
 
7
- ## 1. Confirm Grants
7
+ ## 1. Confirm Workspace
8
8
 
9
9
  ```bash
10
- soku resources list
10
+ soku auth status
11
+ soku workspace status
11
12
  ```
12
13
 
13
- If the needed resource is missing, re-authenticate with the resource requested
14
- by the relevant reference file. Default agent login asks for the CLI's known
15
- self-grantable resources; restricted tokens need explicit resources.
14
+ A default `soku auth login` reaches the entire CLI surface — there is no
15
+ resource model to grant or check (writes are still HITL-approved). Just make
16
+ sure you are signed in and pointed at the right org/brand.
16
17
 
17
18
  ## 2. Discover Namespaces
18
19
 
@@ -31,6 +31,22 @@ soku ads query-multi-dimension \
31
31
  Use `query-single-dimension` for CPA, ROAS, conversion group fan-out, or one
32
32
  dimension. Use `query-multi-dimension` for raw multi-dimensional breakdowns.
33
33
 
34
+ `--platform` accepts `google`, `meta`, `tiktok`, or `chatgpt_ads`:
35
+
36
+ ```bash
37
+ soku ads list-ad-accounts --platform chatgpt_ads
38
+ soku ads query-single-dimension \
39
+ --platform chatgpt_ads \
40
+ --account-id <account_id> \
41
+ --dimension campaign \
42
+ --date-start 2026-05-01 \
43
+ --date-end 2026-05-07
44
+ ```
45
+
46
+ ChatGPT Ads is synced reporting only — no campaign/ad write actions, and
47
+ `query-multi-dimension` does not support it (use `query-single-dimension`
48
+ instead).
49
+
34
50
  ## Google Ads GAQL Fallback
35
51
 
36
52
  Use GAQL only when cached actions cannot answer the request:
@@ -4,7 +4,6 @@ These commands operate on the active Soku workspace. Confirm workspace first:
4
4
 
5
5
  ```bash
6
6
  soku workspace status
7
- soku resources list
8
7
  ```
9
8
 
10
9
  ## SEO Hosting Pages
@@ -56,8 +55,6 @@ risk.
56
55
 
57
56
  ## Automations
58
57
 
59
- Restricted tokens need `automation`.
60
-
61
58
  ```bash
62
59
  soku automation list
63
60
  soku automation create --name "Fast check" --prompt "Check account health" --cron "* * * * *" --timezone UTC
@@ -76,8 +73,6 @@ conversation content.
76
73
 
77
74
  ## Context Hub
78
75
 
79
- Restricted tokens need `context-hub`.
80
-
81
76
  ```bash
82
77
  soku context list
83
78
  soku context upload ./brief.pdf --dir research
@@ -90,8 +85,6 @@ Paths are context-relative. Do not include a `context/` prefix.
90
85
 
91
86
  ## Temporary Public File URLs
92
87
 
93
- Restricted tokens need `asset-publish`.
94
-
95
88
  ```bash
96
89
  soku files publish ./creative.png
97
90
  ```
@@ -73,6 +73,11 @@ Global `npm i -g @soku-ai/cli` also refreshes already-installed global meta
73
73
  skills after npm finishes installing. It does not install new business skills
74
74
  and does not scan project-local directories.
75
75
 
76
+ `soku update cli` runs that same global `npm i -g` under the hood, so its JSON
77
+ result includes `mustRereadMetaSkill` and `metaSkillRefreshed: [<paths>]`. When
78
+ `mustRereadMetaSkill` is true, re-read this skill from the listed path(s)
79
+ before continuing — the on-disk copy just changed underneath this session.
80
+
76
81
  ## Remove
77
82
 
78
83
  ```bash
@@ -1,4 +0,0 @@
1
- /** `soku resources list` — show the external resources granted to this session. */
2
- import { Command } from 'commander';
3
- export declare function registerResourceCommands(program: Command): void;
4
- //# sourceMappingURL=resources.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"resources.d.ts","sourceRoot":"","sources":["../../src/commands/resources.ts"],"names":[],"mappings":"AAAA,mFAAmF;AAEnF,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAYnC,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CA0B/D"}
@@ -1,22 +0,0 @@
1
- /** `soku resources list` — show the external resources granted to this session. */
2
- import { Command } from 'commander';
3
- import { apiRequest } from '../http/client.js';
4
- import { emitSuccess, table } from '../output/envelope.js';
5
- export function registerResourceCommands(program) {
6
- program
7
- .command('resources')
8
- .description('List external resources granted to this session')
9
- .addCommand(new Command('list').action(async () => {
10
- const data = await apiRequest('/api/cli/resources', { workspace: true });
11
- emitSuccess(data, (d) => table(d.resources.map((r) => ({
12
- id: r.id,
13
- label: r.label ?? '',
14
- description: r.description ?? '',
15
- })), [
16
- { key: 'id', header: 'RESOURCE' },
17
- { key: 'label', header: 'LABEL' },
18
- { key: 'description', header: 'DESCRIPTION' },
19
- ]));
20
- }));
21
- }
22
- //# sourceMappingURL=resources.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"resources.js","sourceRoot":"","sources":["../../src/commands/resources.ts"],"names":[],"mappings":"AAAA,mFAAmF;AAEnF,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAEnC,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAA;AAC9C,OAAO,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAA;AAS1D,MAAM,UAAU,wBAAwB,CAAC,OAAgB;IACvD,OAAO;SACJ,OAAO,CAAC,WAAW,CAAC;SACpB,WAAW,CAAC,iDAAiD,CAAC;SAC9D,UAAU,CACT,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,KAAK,IAAI,EAAE;QACpC,MAAM,IAAI,GAAG,MAAM,UAAU,CAC3B,oBAAoB,EACpB,EAAE,SAAS,EAAE,IAAI,EAAE,CACpB,CAAA;QACD,WAAW,CAAC,IAAI,EAAE,CAAC,CAAC,EAAE,EAAE,CACtB,KAAK,CACH,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YACtB,EAAE,EAAE,CAAC,CAAC,EAAE;YACR,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE;YACpB,WAAW,EAAE,CAAC,CAAC,WAAW,IAAI,EAAE;SACjC,CAAC,CAAC,EACH;YACE,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE;YACjC,EAAE,GAAG,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE;YACjC,EAAE,GAAG,EAAE,aAAa,EAAE,MAAM,EAAE,aAAa,EAAE;SAC9C,CACF,CACF,CAAA;IACH,CAAC,CAAC,CACH,CAAA;AACL,CAAC"}