ente-cli 0.4.88 → 0.4.90

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 CHANGED
@@ -86,8 +86,9 @@ ENTE_PROFILE=mail-operator ente agent mail threads --unread
86
86
 
87
87
  Agent keys use scoped REST calls and signed CLI JWTs carrying the agent and
88
88
  credential IDs. Content calls recheck the live key and agent policy, including
89
- cached JWT calls. Human-only settings and administration stay in the web app;
90
- there is no unrestricted account-key fallback. CLI pairing without `--agent`
89
+ cached JWT calls. Human-only settings stay in the web app; administration uses
90
+ a separate platform key (see Admin access). There is no unrestricted account-key
91
+ fallback. CLI pairing without `--agent`
91
92
  creates a named connection agent. MCP authorization creates a connection agent
92
93
  named for the client.
93
94
 
@@ -138,7 +139,8 @@ Every command supports `--json`. Run `ente --help` or `ente <group> --help`.
138
139
  | `list` | `create` (`--column`, `--pin`), `add` (`--key` upsert), `update` (`--attr`, `--title`), `import` (JSONL upsert by `--key`, `--dry-run`), `show` (`--all`, `--cursor`, `--where`, `--view`), `column add`, `column remove` |
139
140
  | `pins` | `list` |
140
141
  | `space` | `members` |
141
- | `recording` | `list`, `show`, `inspect`, `rerun` (admin only) |
142
+ | `recording` | `list`, `show`, `inspect`, `rerun`, `orphans`, `backups` (platform key) |
143
+ | `admin` | `tables`, `get`, `page` — read-only inspector over any table (platform key) |
142
144
  | `canvas` | `boards`, `html list`, `html get`, `html create`, `html update`, `html delete` |
143
145
  | `notification` | `send` (emails only your own Ente account address; optional HTML, file attachments, and CID inline images) |
144
146
  | `agent` | `list`, `threads`, `show`, `new`, `send`, `config show`, `config set-prompt`, `schedules configure` |
@@ -404,9 +406,38 @@ Published conversations remain durable after provider cache expiry/disconnect.
404
406
  Their individual messages appear in entity activity feeds; activity content reads
405
407
  return bounded, read-only email blocks with continuation cursors.
406
408
 
409
+ ### Admin access (platform key)
410
+
411
+ Admin commands (`recording …`, `users …`, `health page`, `admin …`) use the
412
+ platform key of a global admin, never the agent key. Issue it in the web app
413
+ under Admin → Platform keys, then store it once:
414
+
415
+ ```bash
416
+ ente auth platform login --url <convex-site-url> --key-stdin # verifies the exchange first
417
+ ente auth platform status [--json]
418
+ ente auth platform logout
419
+ ```
420
+
421
+ It lives in `platform.toml` next to the profiles (or the env pair
422
+ `ENTE_PLATFORM_API_URL`/`ENTE_PLATFORM_API_KEY`) and reaches every admin
423
+ function, including `users reset-password` and `users set-admin`, but no user,
424
+ space or agent command. Without it admin commands fail; they never fall back.
425
+
426
+ `ENTE_PLATFORM_PROFILE` selects a named file in `platform-profiles/<name>.toml`.
427
+ Agent profiles keep their existing `profiles/<name>.toml` paths.
428
+
429
+ ```bash
430
+ ente admin tables # every inspectable table
431
+ ente admin get <table> <id> [--json] # one document, secrets "[redacted]"
432
+ ente admin page <table> [--limit 20] [--cursor <c>] [--order asc|desc] [--json]
433
+ ```
434
+
435
+ The inspector is read-only, reads any user's data, and includes `_storage` and
436
+ `_scheduled_functions`; Convex Auth's own tables are not inspectable.
437
+
407
438
  ### Guardian health (global admin)
408
439
 
409
- `ente health page --profile default --source toolMessages --since <epoch-ms> --until <epoch-ms> --json`
440
+ `ente health page --source toolMessages --since <epoch-ms> --until <epoch-ms> --json`
410
441
  reads one content-free aggregate page. Use `--source threads --status idle|running|error`
411
442
  or `--source recordings --status pending|transcribing|structuring|reflecting|done|error`
412
443
  for current job counts. Use `--since 0` for active jobs; terminal recording statuses require a positive
@@ -414,10 +445,10 @@ for current job counts. Use `--since 0` for active jobs; terminal recording stat
414
445
  timestamps are outside that coverage.
415
446
  `--stale-after-ms` defaults to 1800000; `--limit` accepts 1–100. Follow
416
447
  `data.continueCursor` with `--cursor` and unchanged arguments until `data.isDone`.
417
- Counts are page-local. Tool windows are at most seven days. This is a human-only
418
- global administration endpoint. Agent-bound CLI credentials cannot call it,
419
- including credentials sponsored by an administrator. Use the web administration
420
- interface for these operations; creating a broader agent key does not grant access.
448
+ Counts are page-local. Tool windows are at most seven days. This is a global
449
+ administration endpoint: it uses the platform key (see Admin access), never an
450
+ agent-bound credential, even one sponsored by an administrator. Creating a broader
451
+ agent key does not grant access.
421
452
  No customer content or record IDs are returned. Unknown tool names become `other`.
422
453
  See `docs/admin-health-monitoring.md` for collector continuity and limits.
423
454
 
@@ -475,7 +506,7 @@ across pages. Results put aggregates and continuation under `data.page`, with
475
506
  window/observation/coverage alongside. Read every page before claiming complete
476
507
  counts; terminal recording history excludes missing progress timestamps. No
477
508
  message bodies or customer identifiers. The legacy `health page` remains a
478
- separate human-admin JWT surface and never serves as a fallback.
509
+ separate platform-key admin surface and never serves as a fallback.
479
510
 
480
511
  Diagnostics is unavailable inside Ente-hosted chats, recordings and automations.
481
512
  Use the external operator command. Whole-history panel sharing does not grant
package/dist/SKILL.md CHANGED
@@ -424,6 +424,35 @@ ente models web-search on|off # Linkup web search f
424
424
  ente users set-plan <email> own_models # admin: move a user onto the plan
425
425
  ```
426
426
 
427
+ ### Admin access (platform key)
428
+
429
+ Admin commands (`recording …`, `users …`, `health page`, `admin …`) use the
430
+ platform key of a global admin, never the agent key. Issue it in the web app
431
+ under Admin → Platform keys, then store it once:
432
+
433
+ ```bash
434
+ ente auth platform login --url <convex-site-url> --key-stdin # verifies the exchange first
435
+ ente auth platform status [--json]
436
+ ente auth platform logout
437
+ ```
438
+
439
+ It lives in `platform.toml` next to the profiles (or the env pair
440
+ `ENTE_PLATFORM_API_URL`/`ENTE_PLATFORM_API_KEY`) and reaches every admin
441
+ function, including `users reset-password` and `users set-admin`, but no user,
442
+ space or agent command. Without it admin commands fail; they never fall back.
443
+
444
+ `ENTE_PLATFORM_PROFILE` selects a named file in `platform-profiles/<name>.toml`.
445
+ Agent profiles keep their existing `profiles/<name>.toml` paths.
446
+
447
+ ```bash
448
+ ente admin tables # every inspectable table
449
+ ente admin get <table> <id> [--json] # one document, secrets "[redacted]"
450
+ ente admin page <table> [--limit 20] [--cursor <c>] [--order asc|desc] [--json]
451
+ ```
452
+
453
+ The inspector is read-only, reads any user's data, and includes `_storage` and
454
+ `_scheduled_functions`; Convex Auth's own tables are not inspectable.
455
+
427
456
  ### Recordings (admin — debug a failing recording)
428
457
 
429
458
  ```bash
@@ -435,7 +464,7 @@ ente recording backups [--state failed|joining|capturing] [--user <email|id>] [-
435
464
  ente recording backups join <backupId> [--now] # retry a failed join; --now joins one still waiting for its device
436
465
  ```
437
466
 
438
- - Admin-only (`api.admin.recordings.*`); the ordinary `recordings.*` API is creator-scoped.
467
+ - Admin-only (`api.admin.recordings.*`, platform key); the ordinary `recordings.*` API is creator-scoped.
439
468
  - `rerun` never modifies or deletes the stored audio; `--wait` polls to `done`/`error` and exits non-zero on failure.
440
469
  - `--status` scans newest-first and says so when the sweep is capped.
441
470
  - A backup in `failed` holds the only server copy of audio whose device never came back; read `error`, fix the cause, then `backups join`.
@@ -601,7 +630,7 @@ Prepare a new review for remaining contents. Cancel only before execution.
601
630
 
602
631
  ### Guardian health (global admin)
603
632
 
604
- `ente health page --profile default --source toolMessages --since <epoch-ms> --until <epoch-ms> --json`
633
+ `ente health page --source toolMessages --since <epoch-ms> --until <epoch-ms> --json`
605
634
  reads one content-free aggregate page. Use `--source threads --status idle|running|error`
606
635
  or `--source recordings --status pending|transcribing|structuring|reflecting|done|error`
607
636
  for current job counts. Use `--since 0` for active jobs; terminal recording statuses require a positive
@@ -609,10 +638,10 @@ for current job counts. Use `--since 0` for active jobs; terminal recording stat
609
638
  timestamps are outside that coverage.
610
639
  `--stale-after-ms` defaults to 1800000; `--limit` accepts 1–100. Follow
611
640
  `data.continueCursor` with `--cursor` and unchanged arguments until `data.isDone`.
612
- Counts are page-local. Tool windows are at most seven days. This is a human-only
613
- global administration endpoint. Agent-bound CLI credentials cannot call it,
614
- including credentials sponsored by an administrator. Use the web administration
615
- interface for these operations; creating a broader agent key does not grant access.
641
+ Counts are page-local. Tool windows are at most seven days. This is a global
642
+ administration endpoint: it uses the platform key (see Admin access), never an
643
+ agent-bound credential, even one sponsored by an administrator. Creating a broader
644
+ agent key does not grant access.
616
645
  No customer content or record IDs are returned. Unknown tool names become `other`.
617
646
  See `docs/admin-health-monitoring.md` for collector continuity and limits.
618
647