@koda-sl/baker-cli 0.296.0 → 0.297.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 CHANGED
@@ -2142,6 +2142,7 @@ Each external source is its own subcommand. Pick the verb that matches the sourc
2142
2142
  | `baker images get <id>` | Single record | n/a |
2143
2143
  | `baker images upload <file\|url>` | Upload a local file OR remote URL to the library | always on |
2144
2144
  | `baker images delete <id>` | Delete a record | n/a |
2145
+ | `baker images describe <id>` | Correct a record's stored name / description / tags | n/a |
2145
2146
  | `baker images normalize <files>` | Local recolor + bg removal + trim + resize | n/a (operates on disk, no upload) |
2146
2147
  | `baker images upscale <imageId>` | Real-ESRGAN super-resolution via backend ($0.05/image, cost-tracked) | n/a (operates on library image) |
2147
2148
  | `baker images layerize <imageId>` | Split into editable layers — transparent cutouts per element plus baked-in copy recovered as editable text (costs credits) | n/a (operates on library image) |
@@ -2582,6 +2583,20 @@ baker images delete j571abc123def --dry-run
2582
2583
  baker images delete j571abc123def
2583
2584
  ```
2584
2585
 
2586
+ ### `baker images describe <id>`
2587
+
2588
+ Correct what the library says an image is. The stored `description` is what `baker images library` retrieves on, so an AI description that came out wrong is what makes an asset unfindable — this is the fix, rather than another query.
2589
+
2590
+ Only the flags you pass change; everything else keeps its current value. `--tags` **replaces** the whole tag set rather than adding to it, so read the current one with `baker images get <id>` first if you mean to extend it. It is repeatable (`--tags a --tags b`) as well as comma-separated — both spellings keep every value.
2591
+
2592
+ ```bash
2593
+ baker images describe j571abc123def --description "Founder on stage at SaaStr, blue backdrop, mid-gesture"
2594
+ baker images describe j571abc123def --name "SaaStr keynote" --tags event,team
2595
+ baker images describe j571abc123def --description "…" --full # also returns the whole library row
2596
+ ```
2597
+
2598
+ The semantic index rebuilds in the background, so a `library` search run immediately afterwards may still rank on the old wording. The response says so in `hints`.
2599
+
2585
2600
  ### `baker images normalize <files> [options]`
2586
2601
 
2587
2602
  Local-file image normalization for logos and brand assets. Declarative — describe the desired final state via flags and the pipeline runs the needed stages in order. Operates on files in the sandbox; pair with `baker images upload` to ship results to the library. For super-resolution, upload first then use `baker images upscale <imageId>` (runs on the Convex backend, cost-tracked).
@@ -2848,6 +2863,15 @@ Requires `yt-dlp` on `PATH` (present in the Baker Runtime). Private, age-restric
2848
2863
 
2849
2864
  Delete a video by ID.
2850
2865
 
2866
+ ### `baker videos describe <id>`
2867
+
2868
+ The same correction for a clip: fix the stored `name`, `description` or `tags` when the analysis read the video wrong. Only the flags you pass change, `--tags` replaces the whole set, and the search index rebuilds in the background.
2869
+
2870
+ ```bash
2871
+ baker videos describe j571abc123def --description "Customer explaining how onboarding cut setup from a week to a day"
2872
+ baker videos describe j571abc123def --tags testimonial
2873
+ ```
2874
+
2851
2875
  ### `baker videos tags`
2852
2876
 
2853
2877
  List the available video tag names — built-in defaults plus the company's custom tags — straight from the backend. Use it before filtering with `--tags`. Defaults to a markdown list (`--output json` for the `{ ok, data }` envelope).
@@ -5987,6 +6011,8 @@ This CLI is designed for AI agent consumption. Key patterns:
5987
6011
 
5988
6012
  - **0.217.0**: new family `baker avatars list|get|create|update|delete`, plus `--avatar <handle>` on `baker studio generate` and `baker studio animate` — company-scoped reusable presenters, typed from the shared `@baker/api` avatars contract. `--avatar` is the way to cast one: it grounds the render on the identity sheet, reuses the subject description verbatim, and records the avatar on the batch. Passing the sheet through `--reference` instead does none of those and leaves the batch unattributed, so the avatar can never show what it has appeared in; the route refuses a handle that is not `ready`, because generating a stranger is worse than an error. `get` returns the sheet URL and that description; every command's `hints` carry the next move (still building → re-check with `get`; changed `--subject` without `--regenerate-sheet` → the sheet is stale). `create` refuses `--source-image` without `--likeness-confirmed` and returns an `error.fix` telling the agent to ask the user for that permission, since only they can give it; an unknown handle returns an `error.fix` pointing at `baker avatars list`. Profile flags on `update` merge over the stored profile instead of replacing it.
5989
6013
 
6014
+ - **0.297.0**: `baker images describe <id>` and `baker videos describe <id>` correct a library asset's stored `name`, `description` or `tags`. Until now `--context` at ingest time was the only way to influence a description, so an AI description that came out wrong was unfixable by an agent — and that description is what every `baker images library` / `baker videos search` retrieves on, which made the asset quietly unfindable rather than merely mislabelled. Only the flags passed are changed; the rest keep their stored values, because the dashboard's editor always has all three in a form and an agent fixing one sentence does not. `--tags` replaces the whole set (as the dashboard's does) and is repeatable as well as comma-separated, via the shared `repeatedFlags` helper — read off `rawArgs` because citty collapses a repeated flag to its last value, which on a wholesale-replace write deletes the rest. Compact by default; `--full` returns the whole library row in the same round trip. Both re-index in the background, so the response hints that an immediate re-search may still rank on the old wording. A row that is still being analysed is refused with `CONFLICT` rather than written: the describe pass overwrites `name`/`description`/`tags` with the model's own output when it lands, so a correction made in that window disappeared minutes after the CLI reported success. The dashboard never hit it because a non-ready card is not clickable; the agent's door had no such gate. An `error` row stays writable — nothing is scheduled against it.
6015
+
5990
6016
  ## Publishing
5991
6017
 
5992
6018
  ### Auto-publish (CI)