@koda-sl/baker-cli 0.95.0 → 0.95.1
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 -0
- package/dist/cli.js +147 -81
- package/dist/cli.js.map +1 -1
- package/package.json +1 -1
package/dist/cli.js
CHANGED
|
@@ -12,7 +12,7 @@ import {
|
|
|
12
12
|
} from "./chunk-RCPMJKI7.js";
|
|
13
13
|
|
|
14
14
|
// src/cli.ts
|
|
15
|
-
import { defineCommand as
|
|
15
|
+
import { defineCommand as defineCommand144, runMain } from "citty";
|
|
16
16
|
|
|
17
17
|
// src/commands/actions/index.ts
|
|
18
18
|
import { defineCommand as defineCommand13 } from "citty";
|
|
@@ -853,7 +853,7 @@ var linkCommand = defineCommand7({
|
|
|
853
853
|
import { defineCommand as defineCommand8 } from "citty";
|
|
854
854
|
registerSchema({
|
|
855
855
|
command: "actions.list",
|
|
856
|
-
description: "List actions for the current company. Default: pre-bucketed (claimable/myClaims/blocked/claimedByOthers/completed/discarded). Set --bucketed=false for a flat list filterable by --status.",
|
|
856
|
+
description: "List actions for the current company. Default: pre-bucketed (claimable/myClaims/blocked/claimedByOthers/completed/discarded), each bucket ordered do-first (blockers before blocked, then highest-leverage). Set --bucketed=false for a flat list filterable by --status and orderable by --sort.",
|
|
857
857
|
args: {
|
|
858
858
|
bucketed: {
|
|
859
859
|
type: "boolean",
|
|
@@ -865,6 +865,11 @@ registerSchema({
|
|
|
865
865
|
type: "string",
|
|
866
866
|
description: "Filter by status (only with --bucketed=false): pending|in_progress|completed|discarded",
|
|
867
867
|
required: false
|
|
868
|
+
},
|
|
869
|
+
sort: {
|
|
870
|
+
type: "string",
|
|
871
|
+
description: "Order a flat list (only with --bucketed=false): priority (do-first: blockers before blocked, then highest-leverage) | recent. Default: priority.",
|
|
872
|
+
required: false
|
|
868
873
|
}
|
|
869
874
|
}
|
|
870
875
|
});
|
|
@@ -875,7 +880,8 @@ var listCommand2 = defineCommand8({
|
|
|
875
880
|
},
|
|
876
881
|
args: {
|
|
877
882
|
bucketed: { type: "boolean", description: "Pre-bucket by chat", required: false, default: true },
|
|
878
|
-
status: { type: "string", description: "Status filter (raw mode)", required: false }
|
|
883
|
+
status: { type: "string", description: "Status filter (raw mode)", required: false },
|
|
884
|
+
sort: { type: "string", description: "Order (raw mode): priority|recent", required: false }
|
|
879
885
|
},
|
|
880
886
|
run: async ({ args }) => {
|
|
881
887
|
try {
|
|
@@ -889,6 +895,7 @@ var listCommand2 = defineCommand8({
|
|
|
889
895
|
if (args.status) {
|
|
890
896
|
body.status = args.status;
|
|
891
897
|
}
|
|
898
|
+
body.sort = args.sort === "recent" ? "recent" : "priority";
|
|
892
899
|
}
|
|
893
900
|
const response = await apiPost("/api/actions/list", body);
|
|
894
901
|
writeJson(response);
|
|
@@ -12160,7 +12167,7 @@ Examples:
|
|
|
12160
12167
|
});
|
|
12161
12168
|
|
|
12162
12169
|
// src/commands/images/index.ts
|
|
12163
|
-
import { defineCommand as
|
|
12170
|
+
import { defineCommand as defineCommand112 } from "citty";
|
|
12164
12171
|
|
|
12165
12172
|
// src/commands/images/crop.ts
|
|
12166
12173
|
import { defineCommand as defineCommand89 } from "citty";
|
|
@@ -14381,10 +14388,55 @@ var stockCommand = defineCommand107({
|
|
|
14381
14388
|
}
|
|
14382
14389
|
});
|
|
14383
14390
|
|
|
14391
|
+
// src/lib/tags-command.ts
|
|
14392
|
+
import { defineCommand as defineCommand108 } from "citty";
|
|
14393
|
+
function makeTagsCommand(command, label, endpoint) {
|
|
14394
|
+
registerSchema({
|
|
14395
|
+
command: `${command}.tags`,
|
|
14396
|
+
description: `List the available ${label} tag taxonomy (built-in defaults + this company's custom tags).`,
|
|
14397
|
+
args: {
|
|
14398
|
+
output: { type: "string", description: "Output format: md|json", required: false, default: "md" }
|
|
14399
|
+
}
|
|
14400
|
+
});
|
|
14401
|
+
return defineCommand108({
|
|
14402
|
+
meta: {
|
|
14403
|
+
name: "tags",
|
|
14404
|
+
description: `List the available ${label} tag names (defaults + company custom tags). Use before filtering with --tags. Example: baker ${command} tags`
|
|
14405
|
+
},
|
|
14406
|
+
args: {
|
|
14407
|
+
output: { type: "string", description: "Output format: md|json", required: false, default: "md" }
|
|
14408
|
+
},
|
|
14409
|
+
run: async ({ args }) => {
|
|
14410
|
+
try {
|
|
14411
|
+
const { markdown } = await apiGet(endpoint);
|
|
14412
|
+
if (args.output === "json") {
|
|
14413
|
+
writeJson({ ok: true, data: { markdown } });
|
|
14414
|
+
return;
|
|
14415
|
+
}
|
|
14416
|
+
process.stdout.write(`${markdown.trimEnd()}
|
|
14417
|
+
`);
|
|
14418
|
+
} catch (err) {
|
|
14419
|
+
const code = err instanceof ApiError ? err.code : "INTERNAL_ERROR";
|
|
14420
|
+
const message = err instanceof ApiError ? err.message : "Unexpected error";
|
|
14421
|
+
if (args.output === "json") {
|
|
14422
|
+
writeJson({ ok: false, error: { code, message } });
|
|
14423
|
+
} else {
|
|
14424
|
+
process.stderr.write(`Error: ${message}
|
|
14425
|
+
`);
|
|
14426
|
+
}
|
|
14427
|
+
process.exit(1);
|
|
14428
|
+
}
|
|
14429
|
+
}
|
|
14430
|
+
});
|
|
14431
|
+
}
|
|
14432
|
+
|
|
14433
|
+
// src/commands/images/tags.ts
|
|
14434
|
+
var tagsCommand = makeTagsCommand("images", "image", "/api/images/tags");
|
|
14435
|
+
|
|
14384
14436
|
// src/commands/images/upload.ts
|
|
14385
14437
|
import { readFile as readFile9 } from "fs/promises";
|
|
14386
14438
|
import { extname as extname2 } from "path";
|
|
14387
|
-
import { defineCommand as
|
|
14439
|
+
import { defineCommand as defineCommand109 } from "citty";
|
|
14388
14440
|
var MIME_MAP = {
|
|
14389
14441
|
".png": "image/png",
|
|
14390
14442
|
".jpg": "image/jpeg",
|
|
@@ -14439,7 +14491,7 @@ function detectContentType(filePath) {
|
|
|
14439
14491
|
}
|
|
14440
14492
|
return mime;
|
|
14441
14493
|
}
|
|
14442
|
-
var uploadCommand =
|
|
14494
|
+
var uploadCommand = defineCommand109({
|
|
14443
14495
|
meta: {
|
|
14444
14496
|
name: "upload",
|
|
14445
14497
|
description: "Upload an image to the library \u2014 accepts a local file path OR a remote http(s) URL.\n\nLocal: reads bytes, sends to /api/images/upload, content-type auto-detected from extension.\nRemote: dispatches to /api/images/ingest with hash-dedup on bytes + externalId.\n\nExamples:\n baker images upload ./logo.png --source uploaded\n baker images upload ./cert.png --context 'ISO 27001 badge \u2014 enterprise tier'\n baker images upload https://acme.com/hero.png --source firecrawl --context 'Acme competitor pricing hero'"
|
|
@@ -14532,7 +14584,7 @@ async function uploadLocal(target, args) {
|
|
|
14532
14584
|
}
|
|
14533
14585
|
|
|
14534
14586
|
// src/commands/images/upscale.ts
|
|
14535
|
-
import { defineCommand as
|
|
14587
|
+
import { defineCommand as defineCommand110 } from "citty";
|
|
14536
14588
|
registerSchema({
|
|
14537
14589
|
command: "images.upscale",
|
|
14538
14590
|
description: "Upscale a library image via the backend (Replicate, cost-tracked). Waits for completion by default. The image must be status 'ready' and raster (not SVG/AVIF).",
|
|
@@ -14547,7 +14599,7 @@ registerSchema({
|
|
|
14547
14599
|
}
|
|
14548
14600
|
});
|
|
14549
14601
|
var POLL_INTERVAL_MS3 = 1500;
|
|
14550
|
-
var upscaleCommand =
|
|
14602
|
+
var upscaleCommand = defineCommand110({
|
|
14551
14603
|
meta: {
|
|
14552
14604
|
name: "upscale",
|
|
14553
14605
|
description: "Upscale a library image via the Convex backend (Replicate, cost-tracked at $0.05/image). Waits for completion by default.\n\nExample: baker images upscale j571abc123def\nExample: baker images upscale j571abc123def --max-wait 0 # fire-and-forget"
|
|
@@ -14602,7 +14654,7 @@ var upscaleCommand = defineCommand109({
|
|
|
14602
14654
|
});
|
|
14603
14655
|
|
|
14604
14656
|
// src/commands/images/use.ts
|
|
14605
|
-
import { defineCommand as
|
|
14657
|
+
import { defineCommand as defineCommand111 } from "citty";
|
|
14606
14658
|
registerSchema({
|
|
14607
14659
|
command: "images.use",
|
|
14608
14660
|
description: "Ingest a URL and wait for the library record to be ready.",
|
|
@@ -14618,7 +14670,7 @@ registerSchema({
|
|
|
14618
14670
|
}
|
|
14619
14671
|
});
|
|
14620
14672
|
var POLL_INTERVAL_MS4 = 1500;
|
|
14621
|
-
var useCommand =
|
|
14673
|
+
var useCommand = defineCommand111({
|
|
14622
14674
|
meta: {
|
|
14623
14675
|
name: "use",
|
|
14624
14676
|
description: "Sugar over `ingest`: download \u2192 store \u2192 wait until describe + embed complete \u2192 return ready library record.\n\nExample: baker images use https://cdn.example.com/hero.png --source uploaded"
|
|
@@ -14664,7 +14716,7 @@ var useCommand = defineCommand110({
|
|
|
14664
14716
|
});
|
|
14665
14717
|
|
|
14666
14718
|
// src/commands/images/index.ts
|
|
14667
|
-
var imagesCommand =
|
|
14719
|
+
var imagesCommand = defineCommand112({
|
|
14668
14720
|
meta: {
|
|
14669
14721
|
name: "images",
|
|
14670
14722
|
description: `Find, source, and normalize images. Subcommands route by provider so cost + license are explicit.
|
|
@@ -14700,6 +14752,9 @@ Local transforms (operate on files in the sandbox, before upload):
|
|
|
14700
14752
|
Coordinate-based rectangular extract
|
|
14701
14753
|
baker images dimensions <file-or-url> Width / height / aspect / format without decoding the full image
|
|
14702
14754
|
|
|
14755
|
+
Taxonomy:
|
|
14756
|
+
baker images tags List available image tag names (defaults + company custom tags)
|
|
14757
|
+
|
|
14703
14758
|
Paid transforms (run on the Convex backend, cost-tracked):
|
|
14704
14759
|
baker images upscale <imageId> Real-ESRGAN super-resolution ($0.05/image, waits for completion)`
|
|
14705
14760
|
},
|
|
@@ -14725,15 +14780,16 @@ Paid transforms (run on the Convex backend, cost-tracked):
|
|
|
14725
14780
|
normalize: normalizeCommand,
|
|
14726
14781
|
crop: cropCommand,
|
|
14727
14782
|
dimensions: dimensionsCommand,
|
|
14728
|
-
upscale: upscaleCommand
|
|
14783
|
+
upscale: upscaleCommand,
|
|
14784
|
+
tags: tagsCommand
|
|
14729
14785
|
}
|
|
14730
14786
|
});
|
|
14731
14787
|
|
|
14732
14788
|
// src/commands/research/index.ts
|
|
14733
|
-
import { defineCommand as
|
|
14789
|
+
import { defineCommand as defineCommand123 } from "citty";
|
|
14734
14790
|
|
|
14735
14791
|
// src/commands/research/advertisers.ts
|
|
14736
|
-
import { defineCommand as
|
|
14792
|
+
import { defineCommand as defineCommand113 } from "citty";
|
|
14737
14793
|
|
|
14738
14794
|
// src/commands/research/output.ts
|
|
14739
14795
|
var RESEARCH_DATA_NOTE = "Estimates based on third-party SERP data \u2014 not exact figures. Use for directional insights, not precise measurement.";
|
|
@@ -14846,7 +14902,7 @@ var FIELDS3 = {
|
|
|
14846
14902
|
etv: "Estimated traffic value (USD)",
|
|
14847
14903
|
visibility: "SERP visibility score (0-1)"
|
|
14848
14904
|
};
|
|
14849
|
-
var advertisersCommand =
|
|
14905
|
+
var advertisersCommand = defineCommand113({
|
|
14850
14906
|
meta: {
|
|
14851
14907
|
name: "advertisers",
|
|
14852
14908
|
description: `Find domains competing for a keyword in Google SERPs.
|
|
@@ -14893,7 +14949,7 @@ Examples:
|
|
|
14893
14949
|
});
|
|
14894
14950
|
|
|
14895
14951
|
// src/commands/research/autocomplete.ts
|
|
14896
|
-
import { defineCommand as
|
|
14952
|
+
import { defineCommand as defineCommand114 } from "citty";
|
|
14897
14953
|
registerSchema({
|
|
14898
14954
|
command: "research.autocomplete",
|
|
14899
14955
|
description: "Get Google Autocomplete suggestions for a seed keyword. Useful for keyword expansion and discovering what people actually search for. IMPORTANT: If --location and --language are omitted, defaults to United States (us) and English (en).",
|
|
@@ -14916,7 +14972,7 @@ registerSchema({
|
|
|
14916
14972
|
var FIELDS4 = {
|
|
14917
14973
|
suggestion: "Autocomplete suggestion from Google"
|
|
14918
14974
|
};
|
|
14919
|
-
var autocompleteCommand =
|
|
14975
|
+
var autocompleteCommand = defineCommand114({
|
|
14920
14976
|
meta: {
|
|
14921
14977
|
name: "autocomplete",
|
|
14922
14978
|
description: `Get Google Autocomplete suggestions for keyword expansion.
|
|
@@ -14962,7 +15018,7 @@ Examples:
|
|
|
14962
15018
|
});
|
|
14963
15019
|
|
|
14964
15020
|
// src/commands/research/countries.ts
|
|
14965
|
-
import { defineCommand as
|
|
15021
|
+
import { defineCommand as defineCommand115 } from "citty";
|
|
14966
15022
|
registerSchema({
|
|
14967
15023
|
command: "research.countries",
|
|
14968
15024
|
description: "List all supported country codes for --location flag in research commands.",
|
|
@@ -15019,7 +15075,7 @@ var FIELDS5 = {
|
|
|
15019
15075
|
code: "Country code to pass as --location",
|
|
15020
15076
|
name: "Country name"
|
|
15021
15077
|
};
|
|
15022
|
-
var countriesCommand =
|
|
15078
|
+
var countriesCommand = defineCommand115({
|
|
15023
15079
|
meta: {
|
|
15024
15080
|
name: "countries",
|
|
15025
15081
|
description: "List all supported country codes for --location flag."
|
|
@@ -15030,7 +15086,7 @@ var countriesCommand = defineCommand114({
|
|
|
15030
15086
|
});
|
|
15031
15087
|
|
|
15032
15088
|
// src/commands/research/intent.ts
|
|
15033
|
-
import { defineCommand as
|
|
15089
|
+
import { defineCommand as defineCommand116 } from "citty";
|
|
15034
15090
|
registerSchema({
|
|
15035
15091
|
command: "research.intent",
|
|
15036
15092
|
description: "Classify Google Search intent for keywords. Determines if someone searching is looking to buy, research, or navigate. IMPORTANT: If --language is omitted, defaults to English (en). The response includes a query_context object showing which language was used.",
|
|
@@ -15053,7 +15109,7 @@ var FIELDS6 = {
|
|
|
15053
15109
|
intent: "Primary Google Search intent: informational, navigational, commercial, transactional",
|
|
15054
15110
|
probability: "Confidence score 0.0-1.0"
|
|
15055
15111
|
};
|
|
15056
|
-
var intentCommand =
|
|
15112
|
+
var intentCommand = defineCommand116({
|
|
15057
15113
|
meta: {
|
|
15058
15114
|
name: "intent",
|
|
15059
15115
|
description: `Classify Google Search intent for keywords. Returns intent type and confidence.
|
|
@@ -15101,7 +15157,7 @@ Examples:
|
|
|
15101
15157
|
});
|
|
15102
15158
|
|
|
15103
15159
|
// src/commands/research/keyword-gap.ts
|
|
15104
|
-
import { defineCommand as
|
|
15160
|
+
import { defineCommand as defineCommand117 } from "citty";
|
|
15105
15161
|
registerSchema({
|
|
15106
15162
|
command: "research.keyword-gap",
|
|
15107
15163
|
description: "Find keywords a competitor ranks for (organic or paid) that you don't. Discovers expansion opportunities. IMPORTANT: If --location and --language are omitted, defaults to United States (us) and English (en). The response includes a query_context object showing which location/language were used.",
|
|
@@ -15130,7 +15186,7 @@ var FIELDS7 = {
|
|
|
15130
15186
|
cpc: "Cost per click USD",
|
|
15131
15187
|
their_position: "Competitor's ranking position"
|
|
15132
15188
|
};
|
|
15133
|
-
var keywordGapCommand =
|
|
15189
|
+
var keywordGapCommand = defineCommand117({
|
|
15134
15190
|
meta: {
|
|
15135
15191
|
name: "keyword-gap",
|
|
15136
15192
|
description: `Find keywords a competitor has that you don't. Supports pagination via --offset.
|
|
@@ -15204,7 +15260,7 @@ Examples:
|
|
|
15204
15260
|
});
|
|
15205
15261
|
|
|
15206
15262
|
// src/commands/research/keywords-for-site.ts
|
|
15207
|
-
import { defineCommand as
|
|
15263
|
+
import { defineCommand as defineCommand118 } from "citty";
|
|
15208
15264
|
registerSchema({
|
|
15209
15265
|
command: "research.keywords-for-site",
|
|
15210
15266
|
description: "Get keywords a competitor targets in Google. Use --type paid to see only paid keywords, --type organic for organic only. IMPORTANT: If --location and --language are omitted, defaults to United States (us) and English (en). The response includes a query_context object showing which location/language were used.",
|
|
@@ -15237,7 +15293,7 @@ var FIELDS8 = {
|
|
|
15237
15293
|
competition: "LOW, MEDIUM, or HIGH",
|
|
15238
15294
|
competition_index: "Competition score 0-100"
|
|
15239
15295
|
};
|
|
15240
|
-
var keywordsForSiteCommand =
|
|
15296
|
+
var keywordsForSiteCommand = defineCommand118({
|
|
15241
15297
|
meta: {
|
|
15242
15298
|
name: "keywords-for-site",
|
|
15243
15299
|
description: `Get keywords a competitor targets in Google. Use --type to filter paid/organic.
|
|
@@ -15290,7 +15346,7 @@ Examples:
|
|
|
15290
15346
|
});
|
|
15291
15347
|
|
|
15292
15348
|
// src/commands/research/languages.ts
|
|
15293
|
-
import { defineCommand as
|
|
15349
|
+
import { defineCommand as defineCommand119 } from "citty";
|
|
15294
15350
|
registerSchema({
|
|
15295
15351
|
command: "research.languages",
|
|
15296
15352
|
description: "List all supported language codes for --language flag in research commands.",
|
|
@@ -15320,7 +15376,7 @@ var FIELDS9 = {
|
|
|
15320
15376
|
code: "Language code to pass as --language",
|
|
15321
15377
|
name: "Language name (also accepted by --language)"
|
|
15322
15378
|
};
|
|
15323
|
-
var languagesCommand2 =
|
|
15379
|
+
var languagesCommand2 = defineCommand119({
|
|
15324
15380
|
meta: {
|
|
15325
15381
|
name: "languages",
|
|
15326
15382
|
description: "List all supported language codes for --language flag."
|
|
@@ -15331,7 +15387,7 @@ var languagesCommand2 = defineCommand118({
|
|
|
15331
15387
|
});
|
|
15332
15388
|
|
|
15333
15389
|
// src/commands/research/lighthouse.ts
|
|
15334
|
-
import { defineCommand as
|
|
15390
|
+
import { defineCommand as defineCommand120 } from "citty";
|
|
15335
15391
|
registerSchema({
|
|
15336
15392
|
command: "research.lighthouse",
|
|
15337
15393
|
description: "Landing page performance audit. Returns metrics that affect Google Ads Quality Score and CPC.",
|
|
@@ -15350,7 +15406,7 @@ var FIELDS10 = {
|
|
|
15350
15406
|
speed_index_ms: "Speed Index in ms (good: < 3400)",
|
|
15351
15407
|
interactive_ms: "Time to Interactive in ms (good: < 3800)"
|
|
15352
15408
|
};
|
|
15353
|
-
var lighthouseCommand =
|
|
15409
|
+
var lighthouseCommand = defineCommand120({
|
|
15354
15410
|
meta: {
|
|
15355
15411
|
name: "lighthouse",
|
|
15356
15412
|
description: `Landing page performance audit. Metrics affecting Google Ads Quality Score.
|
|
@@ -15388,7 +15444,7 @@ Examples:
|
|
|
15388
15444
|
});
|
|
15389
15445
|
|
|
15390
15446
|
// src/commands/research/relevant-pages.ts
|
|
15391
|
-
import { defineCommand as
|
|
15447
|
+
import { defineCommand as defineCommand121 } from "citty";
|
|
15392
15448
|
registerSchema({
|
|
15393
15449
|
command: "research.relevant-pages",
|
|
15394
15450
|
description: "Get the top pages of a competitor domain with organic traffic and ranking data. Shows which pages drive the most traffic. IMPORTANT: If --location and --language are omitted, defaults to United States (us) and English (en).",
|
|
@@ -15414,7 +15470,7 @@ var FIELDS11 = {
|
|
|
15414
15470
|
keywords: "Total organic keywords the page ranks for",
|
|
15415
15471
|
top_10: "Keywords in positions 1-10"
|
|
15416
15472
|
};
|
|
15417
|
-
var relevantPagesCommand =
|
|
15473
|
+
var relevantPagesCommand = defineCommand121({
|
|
15418
15474
|
meta: {
|
|
15419
15475
|
name: "relevant-pages",
|
|
15420
15476
|
description: `Get the top pages of a competitor domain with traffic data.
|
|
@@ -15460,7 +15516,7 @@ Examples:
|
|
|
15460
15516
|
});
|
|
15461
15517
|
|
|
15462
15518
|
// src/commands/research/web.ts
|
|
15463
|
-
import { defineCommand as
|
|
15519
|
+
import { defineCommand as defineCommand122 } from "citty";
|
|
15464
15520
|
registerSchema({
|
|
15465
15521
|
command: "research.web",
|
|
15466
15522
|
description: "Search the web with AI to answer marketing questions \u2014 competitors, ICP, pricing, pain points, market trends. Three depth levels: medium (quick, default), high (thorough), xhigh (exhaustive deep research).",
|
|
@@ -15511,7 +15567,7 @@ async function runDeepResearch(question) {
|
|
|
15511
15567
|
}
|
|
15512
15568
|
throw new Error("Deep research timed out");
|
|
15513
15569
|
}
|
|
15514
|
-
var webCommand =
|
|
15570
|
+
var webCommand = defineCommand122({
|
|
15515
15571
|
meta: {
|
|
15516
15572
|
name: "web",
|
|
15517
15573
|
description: `Search the web with AI to answer any open-ended marketing question. Uses live internet data via Google Search.
|
|
@@ -15571,7 +15627,7 @@ Examples:
|
|
|
15571
15627
|
});
|
|
15572
15628
|
|
|
15573
15629
|
// src/commands/research/index.ts
|
|
15574
|
-
var researchCommand =
|
|
15630
|
+
var researchCommand = defineCommand123({
|
|
15575
15631
|
meta: {
|
|
15576
15632
|
name: "research",
|
|
15577
15633
|
description: `Competitive intelligence and AI-powered research commands.
|
|
@@ -15611,10 +15667,10 @@ Examples:
|
|
|
15611
15667
|
});
|
|
15612
15668
|
|
|
15613
15669
|
// src/commands/scheduled-actions/index.ts
|
|
15614
|
-
import { defineCommand as
|
|
15670
|
+
import { defineCommand as defineCommand130 } from "citty";
|
|
15615
15671
|
|
|
15616
15672
|
// src/commands/scheduled-actions/create.ts
|
|
15617
|
-
import { defineCommand as
|
|
15673
|
+
import { defineCommand as defineCommand124 } from "citty";
|
|
15618
15674
|
|
|
15619
15675
|
// src/commands/scheduled-actions/shared.ts
|
|
15620
15676
|
var TEMP_SCHEDULED_ACTION_PREFIX = "temp_sched_";
|
|
@@ -15719,7 +15775,7 @@ registerSchema({
|
|
|
15719
15775
|
prompt: { type: "string", description: "Additional prompt instructions for the spawned agent", required: false }
|
|
15720
15776
|
}
|
|
15721
15777
|
});
|
|
15722
|
-
var createCommand2 =
|
|
15778
|
+
var createCommand2 = defineCommand124({
|
|
15723
15779
|
meta: {
|
|
15724
15780
|
name: "create",
|
|
15725
15781
|
description: 'Stage a scheduled action. Example: baker scheduled-actions create --name "Weekly report" --description "..." --cron "0 9 * * MON"'
|
|
@@ -15767,7 +15823,7 @@ var createCommand2 = defineCommand123({
|
|
|
15767
15823
|
});
|
|
15768
15824
|
|
|
15769
15825
|
// src/commands/scheduled-actions/delete.ts
|
|
15770
|
-
import { defineCommand as
|
|
15826
|
+
import { defineCommand as defineCommand125 } from "citty";
|
|
15771
15827
|
registerSchema({
|
|
15772
15828
|
command: "scheduled-actions.delete",
|
|
15773
15829
|
description: "Stage deletion of a published scheduled action or cancellation of a temp_sched_* draft creation.",
|
|
@@ -15775,7 +15831,7 @@ registerSchema({
|
|
|
15775
15831
|
id: { type: "string", description: "Published scheduled action ID or temp_sched_* draft ID", required: true }
|
|
15776
15832
|
}
|
|
15777
15833
|
});
|
|
15778
|
-
var deleteCommand2 =
|
|
15834
|
+
var deleteCommand2 = defineCommand125({
|
|
15779
15835
|
meta: {
|
|
15780
15836
|
name: "delete",
|
|
15781
15837
|
description: "Stage scheduled action deletion. Example: baker scheduled-actions delete <id-or-temp_sched_id>"
|
|
@@ -15804,7 +15860,7 @@ var deleteCommand2 = defineCommand124({
|
|
|
15804
15860
|
});
|
|
15805
15861
|
|
|
15806
15862
|
// src/commands/scheduled-actions/get.ts
|
|
15807
|
-
import { defineCommand as
|
|
15863
|
+
import { defineCommand as defineCommand126 } from "citty";
|
|
15808
15864
|
registerSchema({
|
|
15809
15865
|
command: "scheduled-actions.get",
|
|
15810
15866
|
description: "Get a published scheduled action or a temp_sched_* draft-created scheduled action.",
|
|
@@ -15812,7 +15868,7 @@ registerSchema({
|
|
|
15812
15868
|
id: { type: "string", description: "Published scheduled action ID or temp_sched_* draft ID", required: true }
|
|
15813
15869
|
}
|
|
15814
15870
|
});
|
|
15815
|
-
var getCommand3 =
|
|
15871
|
+
var getCommand3 = defineCommand126({
|
|
15816
15872
|
meta: {
|
|
15817
15873
|
name: "get",
|
|
15818
15874
|
description: "Get a scheduled action. Example: baker scheduled-actions get <id-or-temp_sched_id>"
|
|
@@ -15849,13 +15905,13 @@ var getCommand3 = defineCommand125({
|
|
|
15849
15905
|
});
|
|
15850
15906
|
|
|
15851
15907
|
// src/commands/scheduled-actions/list.ts
|
|
15852
|
-
import { defineCommand as
|
|
15908
|
+
import { defineCommand as defineCommand127 } from "citty";
|
|
15853
15909
|
registerSchema({
|
|
15854
15910
|
command: "scheduled-actions.list",
|
|
15855
15911
|
description: "List published scheduled actions. Includes draft state when BAKER_CHAT_ID is set.",
|
|
15856
15912
|
args: {}
|
|
15857
15913
|
});
|
|
15858
|
-
var listCommand3 =
|
|
15914
|
+
var listCommand3 = defineCommand127({
|
|
15859
15915
|
meta: {
|
|
15860
15916
|
name: "list",
|
|
15861
15917
|
description: "List scheduled actions. Includes staged draft ops when BAKER_CHAT_ID is set."
|
|
@@ -15876,7 +15932,7 @@ var listCommand3 = defineCommand126({
|
|
|
15876
15932
|
});
|
|
15877
15933
|
|
|
15878
15934
|
// src/commands/scheduled-actions/trigger.ts
|
|
15879
|
-
import { defineCommand as
|
|
15935
|
+
import { defineCommand as defineCommand128 } from "citty";
|
|
15880
15936
|
registerSchema({
|
|
15881
15937
|
command: "scheduled-actions.trigger",
|
|
15882
15938
|
description: "Immediately trigger a published scheduled action. Does not require BAKER_CHAT_ID and rejects temp_sched_* IDs.",
|
|
@@ -15884,7 +15940,7 @@ registerSchema({
|
|
|
15884
15940
|
id: { type: "string", description: "Published scheduled action ID", required: true }
|
|
15885
15941
|
}
|
|
15886
15942
|
});
|
|
15887
|
-
var triggerCommand =
|
|
15943
|
+
var triggerCommand = defineCommand128({
|
|
15888
15944
|
meta: {
|
|
15889
15945
|
name: "trigger",
|
|
15890
15946
|
description: "Immediately trigger a published scheduled action. Example: baker scheduled-actions trigger <id>"
|
|
@@ -15921,7 +15977,7 @@ var triggerCommand = defineCommand127({
|
|
|
15921
15977
|
});
|
|
15922
15978
|
|
|
15923
15979
|
// src/commands/scheduled-actions/update.ts
|
|
15924
|
-
import { defineCommand as
|
|
15980
|
+
import { defineCommand as defineCommand129 } from "citty";
|
|
15925
15981
|
registerSchema({
|
|
15926
15982
|
command: "scheduled-actions.update",
|
|
15927
15983
|
description: "Stage an update to a published scheduled action or temp_sched_* draft-created scheduled action.",
|
|
@@ -15946,7 +16002,7 @@ registerSchema({
|
|
|
15946
16002
|
prompt: { type: "string", description: "Replacement additional spawned-agent instructions", required: false }
|
|
15947
16003
|
}
|
|
15948
16004
|
});
|
|
15949
|
-
var updateCommand2 =
|
|
16005
|
+
var updateCommand2 = defineCommand129({
|
|
15950
16006
|
meta: {
|
|
15951
16007
|
name: "update",
|
|
15952
16008
|
description: "Stage a scheduled action update. Example: baker scheduled-actions update <id> --enabled false"
|
|
@@ -16016,7 +16072,7 @@ var updateCommand2 = defineCommand128({
|
|
|
16016
16072
|
});
|
|
16017
16073
|
|
|
16018
16074
|
// src/commands/scheduled-actions/index.ts
|
|
16019
|
-
var scheduledActionsCommand =
|
|
16075
|
+
var scheduledActionsCommand = defineCommand130({
|
|
16020
16076
|
meta: {
|
|
16021
16077
|
name: "scheduled-actions",
|
|
16022
16078
|
description: `Manage Scheduled Actions. Subcommands: list, get, create, update, delete, trigger.
|
|
@@ -16042,8 +16098,8 @@ Examples:
|
|
|
16042
16098
|
});
|
|
16043
16099
|
|
|
16044
16100
|
// src/commands/schema.ts
|
|
16045
|
-
import { defineCommand as
|
|
16046
|
-
var schemaCommand =
|
|
16101
|
+
import { defineCommand as defineCommand131 } from "citty";
|
|
16102
|
+
var schemaCommand = defineCommand131({
|
|
16047
16103
|
meta: {
|
|
16048
16104
|
name: "schema",
|
|
16049
16105
|
description: "Inspect command argument schemas (for AI agent introspection). Lists all commands if no argument given. Example: baker schema images.search"
|
|
@@ -16079,10 +16135,10 @@ var schemaCommand = defineCommand130({
|
|
|
16079
16135
|
});
|
|
16080
16136
|
|
|
16081
16137
|
// src/commands/testimonials/index.ts
|
|
16082
|
-
import { defineCommand as
|
|
16138
|
+
import { defineCommand as defineCommand135 } from "citty";
|
|
16083
16139
|
|
|
16084
16140
|
// src/commands/testimonials/get.ts
|
|
16085
|
-
import { defineCommand as
|
|
16141
|
+
import { defineCommand as defineCommand132 } from "citty";
|
|
16086
16142
|
registerSchema({
|
|
16087
16143
|
command: "testimonials.get",
|
|
16088
16144
|
description: "Get a single testimonial by ID",
|
|
@@ -16090,7 +16146,7 @@ registerSchema({
|
|
|
16090
16146
|
id: { type: "string", description: "Testimonial ID", required: true }
|
|
16091
16147
|
}
|
|
16092
16148
|
});
|
|
16093
|
-
var getCommand4 =
|
|
16149
|
+
var getCommand4 = defineCommand132({
|
|
16094
16150
|
meta: { name: "get", description: "Get a single testimonial by ID. Example: baker testimonials get j571abc123" },
|
|
16095
16151
|
args: {
|
|
16096
16152
|
id: { type: "positional", description: "Testimonial ID", required: false },
|
|
@@ -16127,7 +16183,7 @@ var getCommand4 = defineCommand131({
|
|
|
16127
16183
|
});
|
|
16128
16184
|
|
|
16129
16185
|
// src/commands/testimonials/list.ts
|
|
16130
|
-
import { defineCommand as
|
|
16186
|
+
import { defineCommand as defineCommand133 } from "citty";
|
|
16131
16187
|
registerSchema({
|
|
16132
16188
|
command: "testimonials.list",
|
|
16133
16189
|
description: "List testimonials with optional filters.",
|
|
@@ -16157,7 +16213,7 @@ registerSchema({
|
|
|
16157
16213
|
limit: { type: "number", description: "Max results (default 50)", required: false, default: 50 }
|
|
16158
16214
|
}
|
|
16159
16215
|
});
|
|
16160
|
-
var listCommand4 =
|
|
16216
|
+
var listCommand4 = defineCommand133({
|
|
16161
16217
|
meta: {
|
|
16162
16218
|
name: "list",
|
|
16163
16219
|
description: "List testimonials with optional filters. Example: baker testimonials list --source google --sentiment positive"
|
|
@@ -16206,7 +16262,7 @@ var listCommand4 = defineCommand132({
|
|
|
16206
16262
|
});
|
|
16207
16263
|
|
|
16208
16264
|
// src/commands/testimonials/search.ts
|
|
16209
|
-
import { defineCommand as
|
|
16265
|
+
import { defineCommand as defineCommand134 } from "citty";
|
|
16210
16266
|
registerSchema({
|
|
16211
16267
|
command: "testimonials.search",
|
|
16212
16268
|
description: "Search testimonials by text query. Uses hybrid BM25 + vector + reranking.",
|
|
@@ -16237,7 +16293,7 @@ registerSchema({
|
|
|
16237
16293
|
tags: { type: "string", description: "Comma-separated tags to filter by", required: false }
|
|
16238
16294
|
}
|
|
16239
16295
|
});
|
|
16240
|
-
var searchCommand2 =
|
|
16296
|
+
var searchCommand2 = defineCommand134({
|
|
16241
16297
|
meta: {
|
|
16242
16298
|
name: "search",
|
|
16243
16299
|
description: "Semantic search testimonials by text query. Uses hybrid BM25 + vector + reranking. Example: baker testimonials search 'great service' --rating-min 4"
|
|
@@ -16307,30 +16363,35 @@ var searchCommand2 = defineCommand133({
|
|
|
16307
16363
|
}
|
|
16308
16364
|
});
|
|
16309
16365
|
|
|
16366
|
+
// src/commands/testimonials/tags.ts
|
|
16367
|
+
var tagsCommand2 = makeTagsCommand("testimonials", "testimonial", "/api/testimonials/tags");
|
|
16368
|
+
|
|
16310
16369
|
// src/commands/testimonials/index.ts
|
|
16311
|
-
var testimonialsCommand =
|
|
16370
|
+
var testimonialsCommand = defineCommand135({
|
|
16312
16371
|
meta: {
|
|
16313
16372
|
name: "testimonials",
|
|
16314
|
-
description: `Find and browse testimonials in Baker. Subcommands: search, get, list.
|
|
16373
|
+
description: `Find and browse testimonials in Baker. Subcommands: search, get, list, tags.
|
|
16315
16374
|
|
|
16316
16375
|
Examples:
|
|
16317
16376
|
baker testimonials search "great customer service" --limit 5
|
|
16318
16377
|
baker testimonials search "value for money" --rating-min 4
|
|
16319
16378
|
baker testimonials get <testimonial-id>
|
|
16320
|
-
baker testimonials list --source google --sentiment positive
|
|
16379
|
+
baker testimonials list --source google --sentiment positive
|
|
16380
|
+
baker testimonials tags`
|
|
16321
16381
|
},
|
|
16322
16382
|
subCommands: {
|
|
16323
16383
|
get: getCommand4,
|
|
16324
16384
|
search: searchCommand2,
|
|
16325
|
-
list: listCommand4
|
|
16385
|
+
list: listCommand4,
|
|
16386
|
+
tags: tagsCommand2
|
|
16326
16387
|
}
|
|
16327
16388
|
});
|
|
16328
16389
|
|
|
16329
16390
|
// src/commands/videos/index.ts
|
|
16330
|
-
import { defineCommand as
|
|
16391
|
+
import { defineCommand as defineCommand140 } from "citty";
|
|
16331
16392
|
|
|
16332
16393
|
// src/commands/videos/delete.ts
|
|
16333
|
-
import { defineCommand as
|
|
16394
|
+
import { defineCommand as defineCommand136 } from "citty";
|
|
16334
16395
|
registerSchema({
|
|
16335
16396
|
command: "videos.delete",
|
|
16336
16397
|
description: "Delete a video by ID",
|
|
@@ -16344,7 +16405,7 @@ registerSchema({
|
|
|
16344
16405
|
}
|
|
16345
16406
|
}
|
|
16346
16407
|
});
|
|
16347
|
-
var deleteCommand3 =
|
|
16408
|
+
var deleteCommand3 = defineCommand136({
|
|
16348
16409
|
meta: {
|
|
16349
16410
|
name: "delete",
|
|
16350
16411
|
description: "Delete a video by ID. Use --dry-run to preview. Example: baker videos delete j571abc123 --dry-run"
|
|
@@ -16385,7 +16446,7 @@ var deleteCommand3 = defineCommand135({
|
|
|
16385
16446
|
});
|
|
16386
16447
|
|
|
16387
16448
|
// src/commands/videos/get.ts
|
|
16388
|
-
import { defineCommand as
|
|
16449
|
+
import { defineCommand as defineCommand137 } from "citty";
|
|
16389
16450
|
registerSchema({
|
|
16390
16451
|
command: "videos.get",
|
|
16391
16452
|
description: "Get a single video by ID",
|
|
@@ -16393,7 +16454,7 @@ registerSchema({
|
|
|
16393
16454
|
id: { type: "string", description: "Video ID", required: true }
|
|
16394
16455
|
}
|
|
16395
16456
|
});
|
|
16396
|
-
var getCommand5 =
|
|
16457
|
+
var getCommand5 = defineCommand137({
|
|
16397
16458
|
meta: { name: "get", description: "Get a single video by ID. Example: baker videos get j571abc123" },
|
|
16398
16459
|
args: {
|
|
16399
16460
|
id: { type: "positional", description: "Video ID", required: false },
|
|
@@ -16430,7 +16491,7 @@ var getCommand5 = defineCommand136({
|
|
|
16430
16491
|
});
|
|
16431
16492
|
|
|
16432
16493
|
// src/commands/videos/search.ts
|
|
16433
|
-
import { defineCommand as
|
|
16494
|
+
import { defineCommand as defineCommand138 } from "citty";
|
|
16434
16495
|
registerSchema({
|
|
16435
16496
|
command: "videos.search",
|
|
16436
16497
|
description: "Search videos by text query. Only returns ready videos.",
|
|
@@ -16440,7 +16501,7 @@ registerSchema({
|
|
|
16440
16501
|
tags: { type: "string", description: "Comma-separated tags to filter by", required: false }
|
|
16441
16502
|
}
|
|
16442
16503
|
});
|
|
16443
|
-
var searchCommand3 =
|
|
16504
|
+
var searchCommand3 = defineCommand138({
|
|
16444
16505
|
meta: {
|
|
16445
16506
|
name: "search",
|
|
16446
16507
|
description: "Semantic search videos by text query. Uses hybrid BM25 + vector + reranking. Example: baker videos search 'product demo' --tags tutorial"
|
|
@@ -16486,10 +16547,13 @@ var searchCommand3 = defineCommand137({
|
|
|
16486
16547
|
}
|
|
16487
16548
|
});
|
|
16488
16549
|
|
|
16550
|
+
// src/commands/videos/tags.ts
|
|
16551
|
+
var tagsCommand3 = makeTagsCommand("videos", "video", "/api/videos/tags");
|
|
16552
|
+
|
|
16489
16553
|
// src/commands/videos/upload.ts
|
|
16490
16554
|
import { readFile as readFile10, stat as stat3 } from "fs/promises";
|
|
16491
16555
|
import { extname as extname3 } from "path";
|
|
16492
|
-
import { defineCommand as
|
|
16556
|
+
import { defineCommand as defineCommand139 } from "citty";
|
|
16493
16557
|
var MIME_MAP2 = {
|
|
16494
16558
|
".mp4": "video/mp4",
|
|
16495
16559
|
".mov": "video/quicktime",
|
|
@@ -16523,7 +16587,7 @@ function detectContentType2(filePath) {
|
|
|
16523
16587
|
}
|
|
16524
16588
|
return mime;
|
|
16525
16589
|
}
|
|
16526
|
-
var uploadCommand2 =
|
|
16590
|
+
var uploadCommand2 = defineCommand139({
|
|
16527
16591
|
meta: {
|
|
16528
16592
|
name: "upload",
|
|
16529
16593
|
description: "Upload a video file to Baker via Mux direct upload. Auto-detects content type. Example: baker videos upload ./demo.mp4"
|
|
@@ -16577,31 +16641,33 @@ var uploadCommand2 = defineCommand138({
|
|
|
16577
16641
|
});
|
|
16578
16642
|
|
|
16579
16643
|
// src/commands/videos/index.ts
|
|
16580
|
-
var videosCommand =
|
|
16644
|
+
var videosCommand = defineCommand140({
|
|
16581
16645
|
meta: {
|
|
16582
16646
|
name: "videos",
|
|
16583
|
-
description: `Find and manage videos in Baker. Subcommands: search, get, upload, delete.
|
|
16647
|
+
description: `Find and manage videos in Baker. Subcommands: search, get, upload, delete, tags.
|
|
16584
16648
|
|
|
16585
16649
|
Examples:
|
|
16586
16650
|
baker videos search "product demo" --limit 5
|
|
16587
16651
|
baker videos search "tutorial" --tags explainer
|
|
16588
16652
|
baker videos get <video-id>
|
|
16589
16653
|
baker videos upload ./demo.mp4
|
|
16590
|
-
baker videos delete <video-id> --dry-run
|
|
16654
|
+
baker videos delete <video-id> --dry-run
|
|
16655
|
+
baker videos tags`
|
|
16591
16656
|
},
|
|
16592
16657
|
subCommands: {
|
|
16593
16658
|
get: getCommand5,
|
|
16594
16659
|
search: searchCommand3,
|
|
16595
16660
|
upload: uploadCommand2,
|
|
16596
|
-
delete: deleteCommand3
|
|
16661
|
+
delete: deleteCommand3,
|
|
16662
|
+
tags: tagsCommand3
|
|
16597
16663
|
}
|
|
16598
16664
|
});
|
|
16599
16665
|
|
|
16600
16666
|
// src/commands/winning-ads/index.ts
|
|
16601
|
-
import { defineCommand as
|
|
16667
|
+
import { defineCommand as defineCommand143 } from "citty";
|
|
16602
16668
|
|
|
16603
16669
|
// src/commands/winning-ads/advertisers.ts
|
|
16604
|
-
import { defineCommand as
|
|
16670
|
+
import { defineCommand as defineCommand141 } from "citty";
|
|
16605
16671
|
registerSchema({
|
|
16606
16672
|
command: "winning-ads.advertisers",
|
|
16607
16673
|
description: "Resolve a brand name to advertiser_id(s) in the ad-dna corpus \u2014 to find your OWN advertiser (to --exclude-advertiser) or a competitor (to --advertiser-id).",
|
|
@@ -16614,7 +16680,7 @@ registerSchema({
|
|
|
16614
16680
|
function identity(record) {
|
|
16615
16681
|
return record;
|
|
16616
16682
|
}
|
|
16617
|
-
var advertisersCommand2 =
|
|
16683
|
+
var advertisersCommand2 = defineCommand141({
|
|
16618
16684
|
meta: {
|
|
16619
16685
|
name: "advertisers",
|
|
16620
16686
|
description: 'Resolve a brand name to advertiser_id(s). Use it to find your own advertiser for --exclude-advertiser, or a competitor for --advertiser-id. Example: baker winning-ads advertisers "Deel" --output md'
|
|
@@ -16665,7 +16731,7 @@ var advertisersCommand2 = defineCommand140({
|
|
|
16665
16731
|
});
|
|
16666
16732
|
|
|
16667
16733
|
// src/commands/winning-ads/search.ts
|
|
16668
|
-
import { defineCommand as
|
|
16734
|
+
import { defineCommand as defineCommand142 } from "citty";
|
|
16669
16735
|
registerSchema({
|
|
16670
16736
|
command: "winning-ads.search",
|
|
16671
16737
|
description: "Search the ad-dna corpus of scored winning ads. Returns a lean shortlist (advertiser, summary, scores, media_url) to pick a reference to reproduce.",
|
|
@@ -16773,7 +16839,7 @@ function buildSearchBody(args) {
|
|
|
16773
16839
|
}
|
|
16774
16840
|
return body;
|
|
16775
16841
|
}
|
|
16776
|
-
var searchCommand4 =
|
|
16842
|
+
var searchCommand4 = defineCommand142({
|
|
16777
16843
|
meta: {
|
|
16778
16844
|
name: "search",
|
|
16779
16845
|
description: "Search winning reference ads. Example: baker winning-ads search 'B2B SaaS before/after AI automation' --platform meta --format static --winner-category winner --exclude-advertiser adv_123 --output md"
|
|
@@ -16885,7 +16951,7 @@ var searchCommand4 = defineCommand141({
|
|
|
16885
16951
|
});
|
|
16886
16952
|
|
|
16887
16953
|
// src/commands/winning-ads/index.ts
|
|
16888
|
-
var winningAdsCommand =
|
|
16954
|
+
var winningAdsCommand = defineCommand143({
|
|
16889
16955
|
meta: {
|
|
16890
16956
|
name: "winning-ads",
|
|
16891
16957
|
description: `Search the ad-dna corpus of scored "winning" ads for reference creatives to reproduce. Proxied through the Baker backend (BAKER_API_KEY) \u2014 no separate token needed.
|
|
@@ -16925,7 +16991,7 @@ function getCliVersion() {
|
|
|
16925
16991
|
}
|
|
16926
16992
|
|
|
16927
16993
|
// src/cli.ts
|
|
16928
|
-
var main =
|
|
16994
|
+
var main = defineCommand144({
|
|
16929
16995
|
meta: {
|
|
16930
16996
|
name: "baker",
|
|
16931
16997
|
version: getCliVersion(),
|