@koda-sl/baker-cli 0.111.0-dev.94fd3a2a1 → 0.111.0-dev.b43dfb4db
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 +20 -2
- package/dist/cli.js +238 -70
- package/dist/cli.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -2520,6 +2520,24 @@ Permissions enforced server-side:
|
|
|
2520
2520
|
|
|
2521
2521
|
---
|
|
2522
2522
|
|
|
2523
|
+
### `baker mcp list | add | remove`
|
|
2524
|
+
|
|
2525
|
+
Manage **custom MCP servers** — point the agent at any remote HTTPS MCP endpoint. Registered tools appear as `mcp__<name>__*` on the next chat message.
|
|
2526
|
+
|
|
2527
|
+
```bash
|
|
2528
|
+
baker mcp list
|
|
2529
|
+
baker mcp add --name weather --url https://mcp.example.com/mcp
|
|
2530
|
+
baker mcp add --name acme --url https://acme.dev/mcp --header "Authorization: Bearer sk-…"
|
|
2531
|
+
baker mcp add --name mine --url https://my.dev/mcp --scope user
|
|
2532
|
+
baker mcp remove --name weather
|
|
2533
|
+
```
|
|
2534
|
+
|
|
2535
|
+
- `--url` must be HTTPS and public; loopback / private / cloud-metadata hosts are rejected.
|
|
2536
|
+
- `--scope company` (default) shares with every chat in the company; `--scope org` needs an admin API key; `--scope user` binds to the current message sender (requires running inside a chat turn — the bridge supplies the sender via `BAKER_ACTING_USER_ID`).
|
|
2537
|
+
- Repeat `--header "Key: Value"` for multiple auth headers. Header values are stored server-side and ride the MCP transport — `list` returns only the header keys, never the values.
|
|
2538
|
+
|
|
2539
|
+
---
|
|
2540
|
+
|
|
2523
2541
|
### `baker schema [command]`
|
|
2524
2542
|
|
|
2525
2543
|
Inspect command argument schemas for AI agent introspection.
|
|
@@ -3857,8 +3875,8 @@ The two scaffold passes are billed (the full `video_deconstruct` is the heavy on
|
|
|
3857
3875
|
|
|
3858
3876
|
Turn a source/inspiration image into a **runnable, self-validated static-ad canvas** — the static counterpart of `scaffold-video`. Like the video scaffold, this runs **billed Gemini passes** up front:
|
|
3859
3877
|
|
|
3860
|
-
1. **`image_describe`** (`~google/gemini-pro-latest`) — reverse-engineers the image into a blueprint JSON, written next to the canvas as **`prompt.json`**. This is the editable "prompt": you rewrite it by hand into the ad you want (palette, copy, claims, subjects). It feeds the generator directly — there is **no automatic brand-transform step**.
|
|
3861
|
-
2. **element selection** (`~google/gemini-flash-latest`) — picks
|
|
3878
|
+
1. **`image_describe`** (`~google/gemini-pro-latest`) — reverse-engineers the image into a blueprint JSON, written next to the canvas as **`prompt.json`**. This is the editable "prompt": you rewrite it by hand into the ad you want (palette, copy, claims, subjects). It feeds the generator directly — there is **no automatic brand-transform step**. The blueprint also names the **`winning_mechanisms`** — the special sauce that makes the ad a candidate winner, each tagged `kind` (verbal: rhyme/pun/rhythm; visual: unexpected crop, visual gag, juxtaposition, pattern interrupt, before/after; structural: hook order/reveal) with a `device` and `why_it_works` — so your rewrite rebuilds the mechanism that makes the ad win instead of adapting only the surface and losing it.
|
|
3879
|
+
2. **element selection** (`~google/gemini-flash-latest`) — picks the **main, identity-critical** elements (the brand logo, a showcased product, a trust badge) **plus any foreground/hero person or animal** — the emotional focal point — even a generic one, because a free-generated face/muzzle reads as AI and grows artifacts; the emotional hero always gets a real-reference slot. Background extras are dropped. Each is stamped back onto its blueprint entry as a `reference_image` label so the JSON self-documents which slot grounds which subject.
|
|
3862
3880
|
3. **global layout** (`~google/gemini-flash-latest`) — produces a structured `layout` block in `prompt.json`: the column/row grid, each region's `x_pct`/`y_pct` bounds, panel splits, background/shape, and every text block's relative size/weight/case/alignment. This is what gives the generator a precise composition to rebuild.
|
|
3863
3881
|
|
|
3864
3882
|
It then scaffolds a canvas that ingests `prompt.json`, wires **one `[TODO]` ingest slot per detected element** (plus an optional brand-font → type-specimen) into `image_generate`, and wires the original image in for composition only. The canvas is validated before it's written. stdout returns `{ ok, canvas_path, prompt_path, models, layout_regions, stats, checklist }` — the **checklist** lists every real asset to drop in.
|