@soku-ai/cli 0.1.0-alpha.16 → 0.1.0-alpha.18
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/commands/ads.d.ts +3 -0
- package/dist/commands/ads.d.ts.map +1 -1
- package/dist/commands/ads.js +373 -10
- package/dist/commands/ads.js.map +1 -1
- package/dist/commands/auth.d.ts +1 -3
- package/dist/commands/auth.d.ts.map +1 -1
- package/dist/commands/auth.js +18 -3
- package/dist/commands/auth.js.map +1 -1
- package/dist/commands/automation.d.ts +46 -0
- package/dist/commands/automation.d.ts.map +1 -1
- package/dist/commands/automation.js +150 -0
- package/dist/commands/automation.js.map +1 -1
- package/dist/commands/changelog.d.ts +79 -0
- package/dist/commands/changelog.d.ts.map +1 -0
- package/dist/commands/changelog.js +123 -0
- package/dist/commands/changelog.js.map +1 -0
- package/dist/commands/context.d.ts +54 -0
- package/dist/commands/context.d.ts.map +1 -1
- package/dist/commands/context.js +362 -43
- package/dist/commands/context.js.map +1 -1
- package/dist/commands/egress.d.ts +49 -1
- package/dist/commands/egress.d.ts.map +1 -1
- package/dist/commands/egress.js +222 -33
- package/dist/commands/egress.js.map +1 -1
- package/dist/commands/workspace.d.ts +13 -0
- package/dist/commands/workspace.d.ts.map +1 -1
- package/dist/commands/workspace.js +34 -7
- package/dist/commands/workspace.js.map +1 -1
- package/dist/generated/capabilities.json +4829 -1680
- package/dist/generated/changelog.json +1448 -0
- package/dist/http/client.d.ts +16 -0
- package/dist/http/client.d.ts.map +1 -1
- package/dist/http/client.js +25 -5
- package/dist/http/client.js.map +1 -1
- package/dist/index.js +2 -0
- package/dist/index.js.map +1 -1
- package/dist/upload-journal.d.ts +46 -0
- package/dist/upload-journal.d.ts.map +1 -0
- package/dist/upload-journal.js +102 -0
- package/dist/upload-journal.js.map +1 -0
- package/dist/version.d.ts +1 -1
- package/dist/version.js +1 -1
- package/package.json +3 -3
- package/skills/soku/SKILL.md +17 -2
- package/skills/soku/references/ads-write.md +48 -19
- package/skills/soku/references/auth-workspace.md +27 -12
- package/skills/soku/references/egress-security.md +44 -0
- package/skills/soku/references/seo-automation-files.md +67 -3
- package/skills/soku/references/skills-updates.md +23 -0
|
@@ -1,11 +1,17 @@
|
|
|
1
1
|
# SEO Hosting, Automations, And Files
|
|
2
2
|
|
|
3
|
-
These commands
|
|
3
|
+
These commands all write to the **active** Soku workspace. Confirm the brand in
|
|
4
|
+
the same turn as the write, and read the result back afterwards:
|
|
4
5
|
|
|
5
6
|
```bash
|
|
6
7
|
soku workspace status
|
|
7
8
|
```
|
|
8
9
|
|
|
10
|
+
The CLI keeps whatever brand was selected last and does not follow the brand the
|
|
11
|
+
user has open in the web app. A write into the wrong brand succeeds and looks
|
|
12
|
+
exactly like a correct one, so the confirmation has to be immediate, not
|
|
13
|
+
something done earlier in the session.
|
|
14
|
+
|
|
9
15
|
## SEO Hosting Pages
|
|
10
16
|
|
|
11
17
|
SEO Hosting pages are complete HTML documents, not Markdown. They are addressed
|
|
@@ -57,7 +63,13 @@ risk.
|
|
|
57
63
|
|
|
58
64
|
```bash
|
|
59
65
|
soku automation list
|
|
66
|
+
soku automation get <automation_id>
|
|
60
67
|
soku automation create --name "Fast check" --prompt "Check account health" --cron "* * * * *" --timezone UTC
|
|
68
|
+
soku automation update <automation_id> --prompt "Check account health and budget"
|
|
69
|
+
soku automation pause <automation_id>
|
|
70
|
+
soku automation resume <automation_id>
|
|
71
|
+
soku automation delete <automation_id> --confirm
|
|
72
|
+
soku automation deps <automation_id>
|
|
61
73
|
soku automation trigger <automation_id>
|
|
62
74
|
soku automation runs <automation_id>
|
|
63
75
|
```
|
|
@@ -68,8 +80,31 @@ soku automation runs <automation_id>
|
|
|
68
80
|
- `--interval-seconds <seconds>`; at least 3600 and divisible by 60.
|
|
69
81
|
- `--once-at <iso>` for a one-time UTC instant.
|
|
70
82
|
|
|
71
|
-
`
|
|
72
|
-
|
|
83
|
+
`update` sends only the flags you pass; everything else keeps its stored value.
|
|
84
|
+
It takes the same schedule flags as `create` (at most one), plus `--name`,
|
|
85
|
+
`--prompt`, and `--status`. `--timezone` is only accepted together with
|
|
86
|
+
`--cron`, because the server rebuilds the schedule from a whole contract and a
|
|
87
|
+
lone timezone would be silently dropped.
|
|
88
|
+
|
|
89
|
+
**Do not rebuild an automation to change it.** `update` edits the existing row
|
|
90
|
+
and keeps its id, run history, and schedule version. Rebuilding loses all three,
|
|
91
|
+
and leaves the original still scheduled unless you also pause or delete it.
|
|
92
|
+
|
|
93
|
+
`pause` stops an automation and clears its next run; `resume` puts it back to
|
|
94
|
+
active and recomputes the next run. Both are `update --status` underneath.
|
|
95
|
+
|
|
96
|
+
`deps` reports whether the automation's saved dependencies still resolve:
|
|
97
|
+
|
|
98
|
+
- **attachments** are looked up for real, so a deleted or cross-brand file shows
|
|
99
|
+
as `missing` before the automation next fires.
|
|
100
|
+
- **context references** are classified, not verified. A reference marked
|
|
101
|
+
`brand-pinned` (ad account, campaign, ad set, ad, report) names a row inside
|
|
102
|
+
the current brand: copying the automation into another brand carries the id
|
|
103
|
+
across but not the thing it points at, so those must be re-picked there. A
|
|
104
|
+
`portable` reference (skill, integration) does not have that problem.
|
|
105
|
+
|
|
106
|
+
Run `deps` before migrating an automation between brands, and after any change
|
|
107
|
+
that may have deleted a referenced file.
|
|
73
108
|
|
|
74
109
|
## Context Hub
|
|
75
110
|
|
|
@@ -83,6 +118,35 @@ soku context rm research/brief.pdf
|
|
|
83
118
|
|
|
84
119
|
Paths are context-relative. Do not include a `context/` prefix.
|
|
85
120
|
|
|
121
|
+
### Bulk uploads
|
|
122
|
+
|
|
123
|
+
`upload` takes directories (recursing and preserving structure under `--dir`)
|
|
124
|
+
and runs files concurrently. For a large migration:
|
|
125
|
+
|
|
126
|
+
```bash
|
|
127
|
+
soku context upload ./assets --dir assets --concurrency 8 --verify
|
|
128
|
+
soku context uploads # runs with unfinished files
|
|
129
|
+
soku context upload --resume <run_id> # finish one of them
|
|
130
|
+
soku context verify ./assets --dir assets # reconcile without uploading
|
|
131
|
+
```
|
|
132
|
+
|
|
133
|
+
- Each file is retried on transient failures (no response, HTTP 408/429/5xx)
|
|
134
|
+
before the run gives up on it; `--retries <n>` changes the attempt count. A
|
|
135
|
+
permanent failure such as 403 is not retried.
|
|
136
|
+
- Every run records a resumable run id. If any file is still unfinished when the
|
|
137
|
+
run ends, the output carries `resume_command` — run it to re-upload only the
|
|
138
|
+
files that never landed. Finished runs leave no record behind.
|
|
139
|
+
- `--resume` refuses to run if the active brand is not the one the recorded run
|
|
140
|
+
targeted. Switch back with `soku workspace use-brand` rather than forcing it:
|
|
141
|
+
the files would otherwise land, in the wrong brand, and look successful.
|
|
142
|
+
- `--verify` (and the standalone `soku context verify`) reconciles against the
|
|
143
|
+
server by size **and** checksum. A file the server reports no checksum for is
|
|
144
|
+
reported as `unverified`, not `ok` — a missing hash is not proof of a good
|
|
145
|
+
upload. Both `upload --verify` and `verify` exit non-zero if anything is
|
|
146
|
+
missing, mismatched, or unverified, so a script can gate on them.
|
|
147
|
+
|
|
148
|
+
Do not hand-count files to check a migration. `verify` is the reconciliation.
|
|
149
|
+
|
|
86
150
|
## Temporary Public File URLs
|
|
87
151
|
|
|
88
152
|
```bash
|
|
@@ -87,3 +87,26 @@ soku skill remove soku
|
|
|
87
87
|
|
|
88
88
|
Removing the last Soku-managed skill removes the local `.soku-skills.json`
|
|
89
89
|
manifest.
|
|
90
|
+
|
|
91
|
+
## After Upgrading The CLI
|
|
92
|
+
|
|
93
|
+
An upgrade can add, change, or retire capabilities, which invalidates whatever
|
|
94
|
+
this session believed the CLI could do. Ask the CLI itself rather than guessing:
|
|
95
|
+
|
|
96
|
+
```bash
|
|
97
|
+
soku changelog --since <the version you upgraded from> --summary
|
|
98
|
+
soku changelog --since <the version you upgraded from>
|
|
99
|
+
```
|
|
100
|
+
|
|
101
|
+
`--summary` gives counts per version; without it, each entry lists the actions
|
|
102
|
+
that were added or removed and, for a surviving action, which fields changed.
|
|
103
|
+
Output is the usual JSON envelope in a non-TTY context, so it can be parsed.
|
|
104
|
+
|
|
105
|
+
The changelog is bundled with the installed CLI, so it always describes the
|
|
106
|
+
binary that is running and needs no network call. It cannot speak for versions
|
|
107
|
+
older than its `historyStartsAt`; when `--since` reaches past that, the response
|
|
108
|
+
sets `truncated: true` and says so rather than implying nothing changed.
|
|
109
|
+
|
|
110
|
+
This skill's frontmatter records the CLI release it was written against under
|
|
111
|
+
`metadata.cliVersion`. If the installed CLI is newer, run the command above
|
|
112
|
+
before relying on details in these reference files.
|