@jelou/cli 1.3.0 → 1.5.0
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/README.md +122 -66
- package/package.json +6 -6
package/README.md
CHANGED
|
@@ -132,75 +132,107 @@ Opt out of auto-install during login with `jelou login --skip-skills`.
|
|
|
132
132
|
|
|
133
133
|
## Commands
|
|
134
134
|
|
|
135
|
-
| Group
|
|
136
|
-
|
|
|
137
|
-
| **Auth**
|
|
138
|
-
|
|
|
139
|
-
|
|
|
140
|
-
|
|
|
141
|
-
|
|
|
142
|
-
|
|
|
143
|
-
| **Workflow**
|
|
144
|
-
|
|
|
145
|
-
|
|
|
146
|
-
|
|
|
147
|
-
|
|
|
148
|
-
| **Manage**
|
|
149
|
-
|
|
|
150
|
-
|
|
|
151
|
-
|
|
|
152
|
-
|
|
|
153
|
-
| **Brain**
|
|
154
|
-
|
|
|
155
|
-
|
|
|
156
|
-
|
|
|
157
|
-
|
|
|
158
|
-
|
|
|
159
|
-
|
|
|
160
|
-
|
|
|
161
|
-
| **WhatsApp**
|
|
162
|
-
|
|
|
163
|
-
|
|
|
164
|
-
|
|
|
165
|
-
|
|
|
166
|
-
|
|
|
167
|
-
|
|
|
168
|
-
| **Datum**
|
|
169
|
-
|
|
|
170
|
-
|
|
|
171
|
-
|
|
|
172
|
-
|
|
|
173
|
-
|
|
|
174
|
-
|
|
|
175
|
-
|
|
|
176
|
-
|
|
|
177
|
-
|
|
|
178
|
-
|
|
|
179
|
-
|
|
|
180
|
-
|
|
|
181
|
-
|
|
|
182
|
-
|
|
|
183
|
-
|
|
|
184
|
-
|
|
|
185
|
-
| **Marketplace**
|
|
186
|
-
|
|
|
187
|
-
|
|
|
188
|
-
| **Secrets**
|
|
189
|
-
|
|
|
190
|
-
|
|
|
191
|
-
| **Channels**
|
|
192
|
-
|
|
|
193
|
-
|
|
|
194
|
-
|
|
|
195
|
-
| **Setup**
|
|
196
|
-
| **Campaigns**
|
|
197
|
-
|
|
|
198
|
-
|
|
|
199
|
-
|
|
|
200
|
-
|
|
|
135
|
+
| Group | Command | Description |
|
|
136
|
+
| ----------------- | -------------------------------------------- | ---------------------------------------------- |
|
|
137
|
+
| **Auth** | `jelou login` | Authenticate with your access token |
|
|
138
|
+
| | `jelou logout` | Remove stored credentials |
|
|
139
|
+
| | `jelou whoami` | Show current identity and scopes |
|
|
140
|
+
| | `jelou auth list` | List saved profiles |
|
|
141
|
+
| | `jelou auth switch` | Switch active profile |
|
|
142
|
+
| | `jelou auth remove` | Remove a saved profile |
|
|
143
|
+
| **Workflow** | `jelou functions init` | Scaffold a new function project |
|
|
144
|
+
| | `jelou functions dev` | Local dev server with hot reload |
|
|
145
|
+
| | `jelou functions deploy` | Deploy to production |
|
|
146
|
+
| | `jelou functions rollback` | Roll back to a previous deployment |
|
|
147
|
+
| | `jelou functions logs` | Stream or fetch function logs |
|
|
148
|
+
| **Manage** | `jelou functions deployments` | List, inspect, download deployments |
|
|
149
|
+
| | `jelou functions` | List, create, delete functions |
|
|
150
|
+
| | `jelou functions secrets` | Manage environment secrets |
|
|
151
|
+
| | `jelou functions tokens` | Manage access tokens |
|
|
152
|
+
| | `jelou functions cron` | View cron schedules |
|
|
153
|
+
| **Brain** | `jelou brain list` | List all brains |
|
|
154
|
+
| | `jelou brain show` | View brain details |
|
|
155
|
+
| | `jelou brain create` | Create brain (full setup) |
|
|
156
|
+
| | `jelou brain update` | Update brain name/description |
|
|
157
|
+
| | `jelou brain delete` | Delete a brain |
|
|
158
|
+
| | `jelou brain knowledge list` | List knowledge files |
|
|
159
|
+
| | `jelou brain knowledge upload` | Upload a file (max 2MB) |
|
|
160
|
+
| | `jelou brain knowledge delete` | Remove a knowledge file |
|
|
161
|
+
| **WhatsApp** | `jelou bot list` | List WhatsApp bots for the company |
|
|
162
|
+
| | `jelou template list` | List HSM templates for a bot |
|
|
163
|
+
| | `jelou template get <id>` | Show an HSM template by id |
|
|
164
|
+
| | `jelou template create` | Create a new HSM template |
|
|
165
|
+
| | `jelou template update <id>` | Update a template (APPROVED/REJECTED only) |
|
|
166
|
+
| | `jelou template delete <id>` | Delete a template |
|
|
167
|
+
| | `jelou template upload-media <f>` | Upload media and get a CDN URL |
|
|
168
|
+
| **Datum** | `jelou datum databases list` | List all databases |
|
|
169
|
+
| | `jelou datum databases create` | Create a new database |
|
|
170
|
+
| | `jelou datum databases show <id>` | Show database details |
|
|
171
|
+
| | `jelou datum databases update <id>` | Update a database |
|
|
172
|
+
| | `jelou datum databases delete <id>` | Delete a database |
|
|
173
|
+
| | `jelou datum api-keys list <db>` | List API keys for a database |
|
|
174
|
+
| | `jelou datum api-keys create <db>` | Create an API key |
|
|
175
|
+
| | `jelou datum api-keys delete` | Delete an API key |
|
|
176
|
+
| | `jelou datum api-keys regenerate` | Regenerate an API key |
|
|
177
|
+
| | `jelou datum triggers list <db>` | List triggers for a database |
|
|
178
|
+
| | `jelou datum triggers create <db>` | Create a trigger |
|
|
179
|
+
| | `jelou datum triggers show` | Show trigger details |
|
|
180
|
+
| | `jelou datum triggers update` | Update a trigger |
|
|
181
|
+
| | `jelou datum triggers delete` | Delete a trigger |
|
|
182
|
+
| | `jelou datum triggers pause` | Pause a trigger |
|
|
183
|
+
| | `jelou datum triggers resume` | Resume a trigger |
|
|
184
|
+
| | `jelou datum plans list` | List available plans |
|
|
185
|
+
| **Marketplace** | `jelou marketplace list` | Browse available apps |
|
|
186
|
+
| | `jelou marketplace install <slug>` | Install an app (OAuth flow) |
|
|
187
|
+
| | `jelou marketplace installed` | List installed apps |
|
|
188
|
+
| **Secrets** | `jelou secret list` | List organization secrets |
|
|
189
|
+
| | `jelou secret set <NAME>` | Set or update a secret |
|
|
190
|
+
| | `jelou secret delete <NAME>` | Delete a secret |
|
|
191
|
+
| **Channels** | `jelou channel list --brain <id>` | List channels for a brain |
|
|
192
|
+
| | `jelou channel create --brain <id>` | Create a channel |
|
|
193
|
+
| | `jelou channel connect <id> --brain <id>` | Connect to bot/agent |
|
|
194
|
+
| | `jelou channel disconnect <id> --brain <id>` | Disconnect channel |
|
|
195
|
+
| **Setup** | `jelou agent install` | Install Jelou skills into AI coding agents |
|
|
196
|
+
| **Campaigns** | `jelou campaign list` | List bulk WhatsApp campaigns |
|
|
197
|
+
| | `jelou campaign get <id>` | Show a campaign by id |
|
|
198
|
+
| | `jelou campaign create` | Create a bulk campaign from config + CSV |
|
|
199
|
+
| | `jelou campaign cancel <id>` | Cancel a scheduled or in-progress campaign |
|
|
200
|
+
| | `jelou campaign reschedule <id>` | Reschedule a campaign to a new time |
|
|
201
|
+
| **Workflow sync** | `jelou link` | Bind a directory to a brain |
|
|
202
|
+
| | `jelou pull` | Fetch all workflows for the linked brain |
|
|
203
|
+
| | `jelou status` | Local-vs-lockfile diff (with incoming overlay) |
|
|
204
|
+
| | `jelou push` | Send dirty workflows back to the brain |
|
|
205
|
+
| | `jelou incoming list` | List unresolved incoming artifacts |
|
|
206
|
+
| | `jelou incoming diff` | Show local-vs-server diff for an artifact |
|
|
207
|
+
| | `jelou incoming accept-server` | Adopt fresh server (re-fetched), drop local |
|
|
208
|
+
| | `jelou incoming accept-local` | Push local with force-with-lease CAS check |
|
|
209
|
+
| | `jelou incoming mark-resolved` | Clear an artifact without applying either |
|
|
201
210
|
|
|
202
211
|
Run `jelou <command> --help` for flags and usage details.
|
|
203
212
|
|
|
213
|
+
### Reconciliation
|
|
214
|
+
|
|
215
|
+
When `jelou pull` detects that your local workflow file diverged from the
|
|
216
|
+
lockfile AND the remote moved, it preserves the server snapshot under
|
|
217
|
+
`.jelou/incoming/<organization>/<brain>/<workflowId>.<channel>.incoming.json`
|
|
218
|
+
(plus a sidecar `.meta.json`) — your local file is untouched. Pull exits 7,
|
|
219
|
+
`jelou status` flags the row as `incoming_pending` and exits 9, and `jelou
|
|
220
|
+
push`
|
|
221
|
+
refuses to write to that workflow with `UNRESOLVED_INCOMING` until the artifact
|
|
222
|
+
is gone.
|
|
223
|
+
|
|
224
|
+
Three resolution paths via `jelou incoming`:
|
|
225
|
+
|
|
226
|
+
| Subcommand | Semantics |
|
|
227
|
+
| --------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
|
|
228
|
+
| `accept-server` | Re-fetch fresh server, overwrite local, refresh lockfile, delete artifact. Always uses latest server (does NOT blindly apply the stored snapshot). Local edits lost. |
|
|
229
|
+
| `accept-local` | `git push --force-with-lease`: re-fetch server, refuse with `NEW_REMOTE_DRIFT` if it moved past the recorded snapshot; on match, push local + delete artifact. On push failure, exit `PUSH_FAILED`, keep artifact. |
|
|
230
|
+
| `mark-resolved` | Just delete the artifact + meta. For when you've manually merged or want to re-pull from scratch. |
|
|
231
|
+
|
|
232
|
+
If more than one workflow has an unresolved artifact, the action subcommands
|
|
233
|
+
require `--workflow <id>` (and optionally `--channel <CHANNEL>`) — they refuse
|
|
234
|
+
with `AMBIGUOUS_TARGET` rather than guessing.
|
|
235
|
+
|
|
204
236
|
## Profiles
|
|
205
237
|
|
|
206
238
|
Multiple accounts (or environments) can coexist as named profiles. No more
|
|
@@ -260,6 +292,30 @@ jelou functions deploy --no-confirm --json | jq '.data.url'
|
|
|
260
292
|
not a TTY)
|
|
261
293
|
- `--json` outputs `{ "ok": true, "data": ... }` to stdout
|
|
262
294
|
|
|
295
|
+
### Composite mode (`--agent`)
|
|
296
|
+
|
|
297
|
+
For AI coding agents and automation that want one switch instead of three, the
|
|
298
|
+
`--agent` flag flips a coherent set of "machine consumer" defaults. It implies
|
|
299
|
+
`--json --no-input --compact` and sets `NO_COLOR=1`, `JELOU_NO_INPUT=1`,
|
|
300
|
+
`JELOU_NO_SPINNERS=1` for downstream child processes. Explicit per-component env
|
|
301
|
+
vars override the composite — set `NO_COLOR=0` to opt back in to a single
|
|
302
|
+
dimension while keeping the rest of the agent profile.
|
|
303
|
+
|
|
304
|
+
| Env var | When `--agent` is set | When unset |
|
|
305
|
+
| ------------------- | --------------------- | ------------- |
|
|
306
|
+
| `JELOU_NO_INPUT` | implies `1` | default unset |
|
|
307
|
+
| `NO_COLOR` | implies `1` | default unset |
|
|
308
|
+
| `JELOU_NO_SPINNERS` | implies `1` | default unset |
|
|
309
|
+
|
|
310
|
+
Composite mode is **output behavior only** — it never bypasses safety nets.
|
|
311
|
+
`.jelou/incoming/` preservation, `UNRESOLVED_INCOMING` push refusal, validation,
|
|
312
|
+
and dirty-state checks always run regardless of the mode flag. See
|
|
313
|
+
`docs/best-practices/mode-flags-vs-safety.md` for the full policy.
|
|
314
|
+
|
|
315
|
+
> **Note:** Earlier versions accepted a `JELOU_CLI_MODE=agent` env var as an
|
|
316
|
+
> alternate entry point. That surface was removed; use the `--agent` flag (or
|
|
317
|
+
> `alias jelou='jelou --agent'` in your shell) for the same effect.
|
|
318
|
+
|
|
263
319
|
See the [full CI reference](../../docs/cli.md#ci--non-interactive-mode) for
|
|
264
320
|
per-command flags and GitHub Actions examples.
|
|
265
321
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@jelou/cli",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.5.0",
|
|
4
4
|
"description": "Jelou CLI — manage functions, brains, channels, and more",
|
|
5
5
|
"license": "SEE LICENSE IN LICENSE",
|
|
6
6
|
"repository": {
|
|
@@ -17,11 +17,11 @@
|
|
|
17
17
|
"LICENSE"
|
|
18
18
|
],
|
|
19
19
|
"optionalDependencies": {
|
|
20
|
-
"@jelou/cli-darwin-arm64": "1.
|
|
21
|
-
"@jelou/cli-darwin-x64": "1.
|
|
22
|
-
"@jelou/cli-linux-x64": "1.
|
|
23
|
-
"@jelou/cli-linux-arm64": "1.
|
|
24
|
-
"@jelou/cli-win32-x64": "1.
|
|
20
|
+
"@jelou/cli-darwin-arm64": "1.5.0",
|
|
21
|
+
"@jelou/cli-darwin-x64": "1.5.0",
|
|
22
|
+
"@jelou/cli-linux-x64": "1.5.0",
|
|
23
|
+
"@jelou/cli-linux-arm64": "1.5.0",
|
|
24
|
+
"@jelou/cli-win32-x64": "1.5.0"
|
|
25
25
|
},
|
|
26
26
|
"keywords": [
|
|
27
27
|
"jelou",
|