@koda-sl/baker-cli 0.349.0 → 0.351.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/dist/cli.js CHANGED
@@ -23,6 +23,7 @@ import {
23
23
  YtDlpError,
24
24
  bestSupportedQuality,
25
25
  canonicalUrl,
26
+ catalogView,
26
27
  clipAudioMode,
27
28
  clipDurationsFor,
28
29
  clipParamRecipe,
@@ -67,7 +68,7 @@ import {
67
68
  validateCanvasDeep,
68
69
  withoutCastName,
69
70
  ytDlpBlockSignal
70
- } from "./chunk-YBD3W4M7.js";
71
+ } from "./chunk-4HRJQGVW.js";
71
72
  import {
72
73
  csvOrJson,
73
74
  daysAgoIso,
@@ -35525,15 +35526,38 @@ import { defineCommand as defineCommand119 } from "citty";
35525
35526
 
35526
35527
  // src/commands/canvas/catalog.ts
35527
35528
  import { defineCommand as defineCommand108 } from "citty";
35528
- var catalogCommand = defineCommand108({
35529
- meta: {
35530
- name: "catalog",
35531
- description: "Print the agent-facing node catalog (JSON Schema). Includes every registered node grouped by category."
35529
+ var DESCRIPTION = "The canvas node catalog. Start here: `baker canvas catalog` lists every node by category with one line each (a few KB). Then `--node video_generate` prints that node's full JSON Schema \u2014 params, inputs, outputs, models, when to use it. `--category image` narrows the list; add `--full` for that category's schemas. `--full` alone prints every schema (~160 KB) \u2014 prefer `--node`.";
35530
+ var ARGS = {
35531
+ node: {
35532
+ type: "string",
35533
+ required: false,
35534
+ description: "Node id(s) whose full schema to print, comma-separated. Example: --node video_generate,tts"
35532
35535
  },
35533
- async run() {
35534
- const cat = await generateCatalog(defaultRegistry());
35535
- process.stdout.write(`${JSON.stringify(cat, null, 2)}
35536
+ category: {
35537
+ type: "string",
35538
+ required: false,
35539
+ description: "Only this category (audio, video, image, \u2026). Listed with one line per node unless --full."
35540
+ },
35541
+ full: {
35542
+ type: "boolean",
35543
+ required: false,
35544
+ default: false,
35545
+ description: "Print full JSON Schemas instead of the one-line index (every node, or the --category)."
35546
+ }
35547
+ };
35548
+ registerSchema({ command: "canvas.catalog", description: DESCRIPTION, args: ARGS });
35549
+ var catalogCommand = defineCommand108({
35550
+ meta: { name: "catalog", description: DESCRIPTION },
35551
+ args: ARGS,
35552
+ async run({ args: args5 }) {
35553
+ const view = catalogView(generateCatalog(defaultRegistry()), {
35554
+ node: typeof args5.node === "string" ? args5.node : void 0,
35555
+ category: typeof args5.category === "string" ? args5.category : void 0,
35556
+ full: args5.full === true
35557
+ });
35558
+ process.stdout.write(`${JSON.stringify(view, null, 2)}
35536
35559
  `);
35560
+ if (!view.ok) process.exit(1);
35537
35561
  }
35538
35562
  });
35539
35563
 
@@ -43135,7 +43159,7 @@ var scaffoldAdCommand = defineCommand115({
43135
43159
  "video-model": {
43136
43160
  type: "string",
43137
43161
  required: false,
43138
- description: "Which curated video model renders the shots. Defaults to the one the lane picks; pass this only to compare models on the same brief, because mixing models across a campaign changes how the same face reads. `baker canvas catalog` lists what each one takes."
43162
+ description: "Which curated video model renders the shots. Defaults to the one the lane picks; pass this only to compare models on the same brief, because mixing models across a campaign changes how the same face reads. `baker canvas catalog --node video_generate` lists what each one takes."
43139
43163
  },
43140
43164
  "no-brand": {
43141
43165
  type: "boolean",
@@ -44501,7 +44525,7 @@ Subcommands:
44501
44525
  baker canvas run <file.json> \u2014 execute the canvas, write outputs to ./canvas/<run_id>/
44502
44526
  baker canvas rerun <slug> \u2014 restore a creative's latest recorded canvas from run history and run it (works in a fresh workspace)
44503
44527
  baker canvas sync-definition <path> \u2014 push a creative's current node-graph + input thumbnails to the dashboard without rendering (runs automatically on canvas/prompt edits)
44504
- baker canvas catalog \u2014 print the agent-facing node + composition catalog (JSON Schema)
44528
+ baker canvas catalog \u2014 one line per node; --node <id> for its full schema
44505
44529
  baker canvas inspect <run_id> \u2014 one-page summary of a completed run
44506
44530
  baker canvas scaffold-ad --spec <spec.json> \u2014 DEFAULT for a new ad: write beats (one spoken line + one shot each), get the whole runnable canvas
44507
44531
  baker canvas scaffold-video <video> \u2014 reproduce a video the USER gave you (an ad you found is inspiration, not a copy target)
@@ -63837,10 +63861,10 @@ var getCommand5 = defineCommand208({
63837
63861
 
63838
63862
  // src/commands/studio/improve.ts
63839
63863
  import { defineCommand as defineCommand209 } from "citty";
63840
- var DESCRIPTION = "Sharpen a rough brief into directed art direction \u2014 the same rewrite the client gets from the wand in the Studio prompt bar. Reach for it when you are relaying the CLIENT's own words and want them shaped without substituting your voice; when you are writing the art direction yourself, just write it, because you will do a better job than this does.";
63864
+ var DESCRIPTION2 = "Sharpen a rough brief into directed art direction \u2014 the same rewrite the client gets from the wand in the Studio prompt bar. Reach for it when you are relaying the CLIENT's own words and want them shaped without substituting your voice; when you are writing the art direction yourself, just write it, because you will do a better job than this does.";
63841
63865
  registerSchema({
63842
63866
  command: "studio.improve",
63843
- description: DESCRIPTION,
63867
+ description: DESCRIPTION2,
63844
63868
  args: {
63845
63869
  prompt: { type: "string", description: "The rough brief to sharpen", required: true },
63846
63870
  kind: {
@@ -63864,7 +63888,7 @@ registerSchema({
63864
63888
  var improveCommand = defineCommand209({
63865
63889
  meta: {
63866
63890
  name: "improve",
63867
- description: `${DESCRIPTION}
63891
+ description: `${DESCRIPTION2}
63868
63892
 
63869
63893
  Both the rewrite and the original come back, so you can show the client what changed rather than silently replacing their words. Nothing is generated \u2014 feed the result to \`baker studio generate\` yourself.
63870
63894
 
@@ -64012,10 +64036,10 @@ var listCommand18 = defineCommand211({
64012
64036
 
64013
64037
  // src/commands/studio/models.ts
64014
64038
  import { defineCommand as defineCommand212 } from "citty";
64015
- var DESCRIPTION2 = "What each Studio model actually accepts: its shapes, resolutions, clip lengths, prompt character cap, how many reference images it takes, and which knobs it has. Read this before a batch you care about \u2014 the models disagree far more than they look like they do, and a setting the chosen model does not have is REFUSED, not ignored.";
64039
+ var DESCRIPTION3 = "What each Studio model actually accepts: its shapes, resolutions, clip lengths, prompt character cap, how many reference images it takes, and which knobs it has. Read this before a batch you care about \u2014 the models disagree far more than they look like they do, and a setting the chosen model does not have is REFUSED, not ignored.";
64016
64040
  registerSchema({
64017
64041
  command: "studio.models",
64018
- description: DESCRIPTION2,
64042
+ description: DESCRIPTION3,
64019
64043
  args: {
64020
64044
  kind: {
64021
64045
  type: "string",
@@ -64101,7 +64125,7 @@ function buildModelCards(kind, model) {
64101
64125
  var modelsCommand = defineCommand212({
64102
64126
  meta: {
64103
64127
  name: "models",
64104
- description: `${DESCRIPTION2}
64128
+ description: `${DESCRIPTION3}
64105
64129
 
64106
64130
  Everything here is read from the same table the backend validates against, so it cannot drift from what a request will actually be allowed to do.
64107
64131