nebula-ai 0.1.18 → 0.1.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.
- package/README.md +83 -3
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -130,7 +130,7 @@ The same surface is available from the command line:
|
|
|
130
130
|
|
|
131
131
|
- `chat` — send a message to an agent (`-a/--agent`, `-t/--task`, `--no-stream`). The old `-c/--channel <task-id>` remains a hidden alias for `--task`. Use `channels message <name> <message>` to write to a Channel.
|
|
132
132
|
- `call` — voice calls. `call start` / `call join <thread>` open the TUI's call screen (`--headless` runs the audio engine with no TUI — the edge-speakerphone mode; `--chat` joins data-only); `call list/status <thread>` inspect calls; `call chat <thread> -m "…"` pipes a one-shot typed message into a live call; `call leave/end <thread>`.
|
|
133
|
-
- `channels` (alias `spaces`) — the Channel board from the command line: `list`, `create`, `join`, `rename`, `delete`, `message`, `tasks`, `files`, `calls`, `call`, `miniapps`/`add-miniapp`/`remove-miniapp`, `model`, `
|
|
133
|
+
- `channels` (alias `spaces`) — the Channel board from the command line: `list`, `create`, `join`, `rename`, `delete`, `message`, `tasks`, `files`, `calls`, `call`, `miniapps`/`add-miniapp`/`remove-miniapp`, `model`, `appearance`, `agents`/`add-agent`/`remove-agent`, `default-model`, `default-device`, `devices`/`add-device`/`remove-device`, and for named Channels `members`/`invite`/`remove-member`/`member-role`.
|
|
134
134
|
- `tasks` — list, create, get, delete, archive, unarchive, share, update, and read a Task's messages. `tasks create --channel <name>` places a Task in that Channel; omitting it uses Home. `--space` remains an alias. Use `--workspace <slug> chat --resume <task-id>` to open a Task directly in a chosen workspace; `--json tasks status <task-id>` exposes the canonical Task work state for launchers.
|
|
135
135
|
- `agents` — list, create, update, delete, enable/disable, view logs/errors, manage triggers, and attach/detach skills.
|
|
136
136
|
- `user` — profile, account, and platform-side resources.
|
|
@@ -158,8 +158,9 @@ Every command supports `--json` for machine-readable output, `-v/--verbose` for
|
|
|
158
158
|
|
|
159
159
|
Exit codes: `0` success; `1` error (including a failed chat turn); `3` not
|
|
160
160
|
signed in or session unusable; `4` chat waiting for your decision; `5` a
|
|
161
|
-
message was sent or possibly accepted, but its outcome is
|
|
162
|
-
|
|
161
|
+
message or other write was sent or possibly accepted, but its outcome is
|
|
162
|
+
unknown. For `5`, check with the matching read command (for a chat,
|
|
163
|
+
`nebula-ai channels messages <id>`) before sending again.
|
|
163
164
|
|
|
164
165
|
With `--json`, errors are exactly one JSON line on stderr, without ANSI:
|
|
165
166
|
`{"error":{"code":"usage","message":"…"}}`. Codes are `error`, `usage`,
|
|
@@ -172,6 +173,85 @@ When `status` is `waiting`, `pending` contains `{kind, title, summary}` (title
|
|
|
172
173
|
and summary may be null); otherwise `pending` is null. Failed, waiting, and
|
|
173
174
|
incomplete chat results still print on stdout before the corresponding exit.
|
|
174
175
|
|
|
176
|
+
### Changelog: what a write prints under `--json`
|
|
177
|
+
|
|
178
|
+
Every CLI command that writes now prints `{ "ok": true }` plus the ids it was
|
|
179
|
+
given or created under `--json`, in place of the server's response body. Run
|
|
180
|
+
the matching read command for the row. `tasks share` and `files share` still
|
|
181
|
+
print their link. A write with no server answer in 30 seconds exits 5 with
|
|
182
|
+
`outcome_unknown`.
|
|
183
|
+
|
|
184
|
+
The key is `id` when a command has one id, and a snake_case name per id when
|
|
185
|
+
it has more. Without `--json`, each command prints one line built from its
|
|
186
|
+
arguments.
|
|
187
|
+
|
|
188
|
+
| Command | `--json` before | `--json` now | Text |
|
|
189
|
+
| --- | --- | --- | --- |
|
|
190
|
+
| `agents update <id>` | the agent | `{ "ok": true, "id" }` | `Updated agent: <id>` (it used to print the agent) |
|
|
191
|
+
| `agents enable <id>` | the response body | `{ "ok": true, "id" }` | `Enabled agent: <id>` |
|
|
192
|
+
| `agents disable <id>` | the response body | `{ "ok": true, "id" }` | `Disabled agent: <id>` |
|
|
193
|
+
| `agents delete <id>` | the agent id as a bare string | `{ "ok": true, "id" }` | `Deleted agent: <id>` |
|
|
194
|
+
| `channels message <channel>` | `{ "sent": true, "space" }` | `{ "ok": true }` | `Sent.` |
|
|
195
|
+
| `agents create` | the agent | `{ "ok": true, "id" }` | `Created agent: <name> (<id>)` |
|
|
196
|
+
| `agents skills detach <agent-id> <skill-name>` | the response body | `{ "ok": true, "id" }` | `Detached skill "<skill-name>" from agent <agent-id>` |
|
|
197
|
+
| `tasks create` | the Task | `{ "ok": true, "id" }` | `Started a Task: <id>` |
|
|
198
|
+
| `tasks delete <id>` | the response body | `{ "ok": true, "id" }` | `Deleted Task: <id>` |
|
|
199
|
+
| `tasks archive <id>` | the thread | `{ "ok": true, "id" }` | `Archived Task: <id>` |
|
|
200
|
+
| `tasks unarchive <id>` | the response body | `{ "ok": true, "id" }` | `Unarchived Task: <id>` |
|
|
201
|
+
| `tasks update <id>` | the response body | `{ "ok": true, "id" }` | `Updated Task: <id>` (it used to print the Task) |
|
|
202
|
+
| `user files delete <id>` | the response body | `{ "ok": true, "id" }` | `Deleted file: <id>` |
|
|
203
|
+
| `user update` | the response body | `{ "ok": true }` | `Profile updated.` |
|
|
204
|
+
| `user variables set <name> <value>` | the response body | `{ "ok": true }` | `Variable "<name>" set.` |
|
|
205
|
+
| `user variables create <name> <value>` | the response body | `{ "ok": true, "id" }` | `Variable "<name>" created (<id>).` |
|
|
206
|
+
| `user variables delete <name>` | the response body | `{ "ok": true }` | `Deleted variable: <name>` (the list of agents that used it is gone) |
|
|
207
|
+
| `profile set` | the response body | `{ "ok": true }` | `Profile updated.` |
|
|
208
|
+
| `profile set-email <address>` | the response body | `{ "ok": true }` | unchanged |
|
|
209
|
+
| `profile verify-email <code>` | the response body | `{ "ok": true }` | `Email address updated.` |
|
|
210
|
+
| `user billing auto-topup` with `--enable`, `--disable`, `--threshold` or `--amount` | the settings | `{ "ok": true }` | `Auto top-up updated.` (it used to print the settings) |
|
|
211
|
+
| `user devices start` | the response body | `{ "ok": true }` | `Device started.` |
|
|
212
|
+
| `user devices stop` | the response body | `{ "ok": true }` | `Device stopped.` |
|
|
213
|
+
| `user devices delete` | the response body | `{ "ok": true }` | `Device deleted.` |
|
|
214
|
+
| `user devices rename <name>` | the response body | `{ "ok": true }` | `Device renamed to: <name>` |
|
|
215
|
+
| `user devices visibility <public>` | the response body | `{ "ok": true }` | `Device is visible to the workspace.` or `Device is private.` |
|
|
216
|
+
| `user devices services create <name>` | the response body | `{ "ok": true }` | `Created service: <name>` |
|
|
217
|
+
| `user devices services start <name>` | the response body | `{ "ok": true }` | `Started service: <name>` |
|
|
218
|
+
| `user devices services stop <name>` | the response body | `{ "ok": true }` | `Stopped service: <name>` |
|
|
219
|
+
| `integrations disconnect <provider> [accountId]` | `{ "provider", "accountId" }` | `{ "ok": true, "id" }`, with no `id` when you passed no account | `Disconnected <provider> (<accountId>).`, or `Disconnected <provider>.` with no account |
|
|
220
|
+
| `call start` | the response body, with `thread_id`, `call_id` and the join credential | `{ "ok": true, "thread_id", "call_id" }` | `Call started: <thread_id>` |
|
|
221
|
+
| `call join <task>` | the response body, with the join credential | `{ "ok": true, "thread_id", "call_id" }` | `Joined the call: <thread_id>` |
|
|
222
|
+
| `call end <task>` | the response body | `{ "ok": true, "id" }` | `Call ended.` |
|
|
223
|
+
| `call chat <task>` | `true` | `{ "ok": true, "thread_id", "event_id" }` | `Sent.` |
|
|
224
|
+
| `call leave <task>` | `call_id`, `thread_id`, `left`, `call_ended` | `{ "ok": true, "id" }` | `Left the call.`; a Task with no live Call now exits 1 |
|
|
225
|
+
| `channels create <name>` | the Channel | `{ "ok": true, "id" }` | `Created Channel: <name> (<id>)` (it used to print the slug) |
|
|
226
|
+
| `channels call <channel>` | the response body, with `thread_id`, `call_id` and the join credential | `{ "ok": true, "thread_id", "call_id" }` | `Started a Call in <channel>: <thread_id>` |
|
|
227
|
+
| `channels join <channel>` | `{ "joined" }` | `{ "ok": true }` | `Joined Channel: <channel>` |
|
|
228
|
+
| `channels rename <channel> <new-name>` | `{ "renamed": true }` | `{ "ok": true }` | `Renamed Channel <channel> to <new-name>` |
|
|
229
|
+
| `channels delete <channel>` | `{ "deleted": true }` | `{ "ok": true }` | `Deleted Channel: <channel>` |
|
|
230
|
+
| `channels add-miniapp <channel> <miniapp>` | `{ "added" }` | `{ "ok": true }` | `Added <miniapp> to <channel>` |
|
|
231
|
+
| `channels remove-miniapp <channel> <miniapp>` | `{ "removed" }` | `{ "ok": true }` | `Removed <miniapp> from <channel>` |
|
|
232
|
+
| `channels model <channel> <model>` | `{ "model", "space" }` | `{ "ok": true }` | `Set <channel> to <model>` |
|
|
233
|
+
| `channels appearance <channel>` | `{ "space" }` | `{ "ok": true }` | `Updated <channel>` |
|
|
234
|
+
| `channels add-agent <channel> <agent>` | `{ "added": true }` | `{ "ok": true, "id" }` | `Added agent <agent> to <channel>` |
|
|
235
|
+
| `channels remove-agent <channel> <agent>` | `{ "removed": true }` | `{ "ok": true, "id" }` | `Removed agent <agent> from <channel>` |
|
|
236
|
+
| `channels default-model <channel> <model>` | `{ "model", "space" }` | `{ "ok": true }` | `New Tasks in <channel> will use <model>` |
|
|
237
|
+
| `channels add-device <channel>` | `{ "kind" }` | `{ "ok": true, "id" }` with `--local`, the id of this computer; `{ "ok": true }` for a cloud device | `Added a device to <channel>` |
|
|
238
|
+
| `channels remove-device <channel> <device>` | `{ "removed": true }` | `{ "ok": true, "id" }` | `Removed device <device> from <channel>` |
|
|
239
|
+
| `channels default-device <channel> [device]` | `{ "device" }` | `{ "ok": true, "id" }`, with no `id` when it clears the default | `New Tasks in <channel> will run on <device>` |
|
|
240
|
+
| `channels invite <channel> <member>` | `{ "invited": true }` | `{ "ok": true, "id" }` | `Invited <member> to <channel>` |
|
|
241
|
+
| `channels remove-member <channel> <member>` | `{ "removed": true }` | `{ "ok": true, "id" }` | `Removed <member> from <channel>` |
|
|
242
|
+
| `channels member-role <channel> <member> <role>` | `{ "role" }` | `{ "ok": true, "id" }` | `<member> is now a <role> in <channel>` |
|
|
243
|
+
|
|
244
|
+
`tasks share` and `user files share` print the server's answer under
|
|
245
|
+
`--json`, as before. Without `--json` they now print the link instead of the whole body.
|
|
246
|
+
|
|
247
|
+
A create prints the id of the row it made, whoever minted it. `call start`,
|
|
248
|
+
`call join` and `channels call` print the Task and Call ids and never the
|
|
249
|
+
join credential. A cloud device added with `channels add-device` prints no
|
|
250
|
+
id, because the server mints it after the command returns.
|
|
251
|
+
|
|
252
|
+
The table covers all 53 kernel writes that print the envelope. The two
|
|
253
|
+
floor commands above make 55 kernel writes in total.
|
|
254
|
+
|
|
175
255
|
|
|
176
256
|
## Privacy and telemetry
|
|
177
257
|
|