@koda-sl/baker-cli 0.105.1 → 0.106.0-dev.2a665c873
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 +19 -1
- package/dist/{chunk-3JVYU72O.js → chunk-26K7V346.js} +4 -4
- package/dist/chunk-26K7V346.js.map +1 -0
- package/dist/cli.js +230 -80
- package/dist/cli.js.map +1 -1
- package/dist/engine/index.js +1 -1
- package/package.json +1 -1
- package/dist/chunk-3JVYU72O.js.map +0 -1
package/dist/cli.js
CHANGED
|
@@ -9,10 +9,10 @@ import {
|
|
|
9
9
|
defaultRegistry,
|
|
10
10
|
generateCatalog,
|
|
11
11
|
validateCanvasDeep
|
|
12
|
-
} from "./chunk-
|
|
12
|
+
} from "./chunk-26K7V346.js";
|
|
13
13
|
|
|
14
14
|
// src/cli.ts
|
|
15
|
-
import { defineCommand as
|
|
15
|
+
import { defineCommand as defineCommand153, runMain } from "citty";
|
|
16
16
|
|
|
17
17
|
// src/commands/actions/index.ts
|
|
18
18
|
import { defineCommand as defineCommand18 } from "citty";
|
|
@@ -31,6 +31,7 @@ function getEnv() {
|
|
|
31
31
|
BAKER_API_KEY: z.string().startsWith("bk_", "API key must start with 'bk_'"),
|
|
32
32
|
BAKER_API_URL: z.url("BAKER_API_URL must be a valid URL"),
|
|
33
33
|
BAKER_CHAT_ID: z.string().optional(),
|
|
34
|
+
BAKER_ACTING_USER_ID: z.string().optional(),
|
|
34
35
|
BAKER_GOOGLE_ADS_CUSTOMER_ID: z.string().regex(/^\d{10}$/).optional(),
|
|
35
36
|
BAKER_GA4_PROPERTY_ID: z.string().optional(),
|
|
36
37
|
BAKER_GSC_SITE_URL: z.string().optional(),
|
|
@@ -2623,12 +2624,12 @@ function buildCommand(query, ctx) {
|
|
|
2623
2624
|
return `baker ads google query "${query}" --customer-id ${ctx.customerId}`;
|
|
2624
2625
|
}
|
|
2625
2626
|
var CORRECTION_RULES = [
|
|
2626
|
-
// 1.
|
|
2627
|
+
// 1. keyword.text → ad_group_criterion.keyword.text
|
|
2627
2628
|
{
|
|
2628
|
-
matchQuery:
|
|
2629
|
+
matchQuery: /\bkeyword\.text\b/,
|
|
2629
2630
|
matchApiError: /keyword\.text/i,
|
|
2630
2631
|
fix: (ctx) => {
|
|
2631
|
-
const corrected = ctx.originalQuery.replace(
|
|
2632
|
+
const corrected = ctx.originalQuery.replace(/\bkeyword\.text\b/g, "ad_group_criterion.keyword.text");
|
|
2632
2633
|
return {
|
|
2633
2634
|
action: "retry_with_modified_query",
|
|
2634
2635
|
correctedCommand: buildCommand(corrected, ctx),
|
|
@@ -2636,15 +2637,12 @@ var CORRECTION_RULES = [
|
|
|
2636
2637
|
};
|
|
2637
2638
|
}
|
|
2638
2639
|
},
|
|
2639
|
-
// 2.
|
|
2640
|
+
// 2. keyword.match_type → ad_group_criterion.keyword.match_type
|
|
2640
2641
|
{
|
|
2641
|
-
matchQuery:
|
|
2642
|
+
matchQuery: /\bkeyword\.match_type\b/,
|
|
2642
2643
|
matchApiError: /keyword\.match_type/i,
|
|
2643
2644
|
fix: (ctx) => {
|
|
2644
|
-
const corrected = ctx.originalQuery.replace(
|
|
2645
|
-
/(?<![\w.])keyword\.match_type\b/g,
|
|
2646
|
-
"ad_group_criterion.keyword.match_type"
|
|
2647
|
-
);
|
|
2645
|
+
const corrected = ctx.originalQuery.replace(/\bkeyword\.match_type\b/g, "ad_group_criterion.keyword.match_type");
|
|
2648
2646
|
return {
|
|
2649
2647
|
action: "retry_with_modified_query",
|
|
2650
2648
|
correctedCommand: buildCommand(corrected, ctx),
|
|
@@ -3996,12 +3994,12 @@ function buildCommand2(query, customerId) {
|
|
|
3996
3994
|
function applyAutoFixes(query, limit) {
|
|
3997
3995
|
let corrected = query;
|
|
3998
3996
|
const warnings = [];
|
|
3999
|
-
if (
|
|
4000
|
-
corrected = corrected.replace(
|
|
3997
|
+
if (/\bkeyword\.text\b/.test(corrected) && !/ad_group_criterion\.keyword\.text/.test(corrected)) {
|
|
3998
|
+
corrected = corrected.replace(/\bkeyword\.text\b/g, "ad_group_criterion.keyword.text");
|
|
4001
3999
|
warnings.push({ code: "FIELD_RENAMED", message: "keyword.text \u2192 ad_group_criterion.keyword.text" });
|
|
4002
4000
|
}
|
|
4003
|
-
if (
|
|
4004
|
-
corrected = corrected.replace(
|
|
4001
|
+
if (/\bkeyword\.match_type\b/.test(corrected) && !/ad_group_criterion\.keyword\.match_type/.test(corrected)) {
|
|
4002
|
+
corrected = corrected.replace(/\bkeyword\.match_type\b/g, "ad_group_criterion.keyword.match_type");
|
|
4005
4003
|
warnings.push({ code: "FIELD_RENAMED", message: "keyword.match_type \u2192 ad_group_criterion.keyword.match_type" });
|
|
4006
4004
|
}
|
|
4007
4005
|
if (/shopping_performance_view\.product_\w+/.test(corrected)) {
|
|
@@ -16392,11 +16390,162 @@ Paid transforms (run on the Convex backend, cost-tracked):
|
|
|
16392
16390
|
}
|
|
16393
16391
|
});
|
|
16394
16392
|
|
|
16393
|
+
// src/commands/mcp/index.ts
|
|
16394
|
+
import { defineCommand as defineCommand121 } from "citty";
|
|
16395
|
+
var SCOPES = ["user", "company", "org"];
|
|
16396
|
+
function parseScope(raw) {
|
|
16397
|
+
const scope = raw === void 0 ? "company" : String(raw);
|
|
16398
|
+
if (!SCOPES.includes(scope)) {
|
|
16399
|
+
throw new ApiError("VALIDATION_ERROR", `Invalid --scope "${scope}". Use user | company | org.`);
|
|
16400
|
+
}
|
|
16401
|
+
return scope;
|
|
16402
|
+
}
|
|
16403
|
+
function actingUserId() {
|
|
16404
|
+
return getEnv().BAKER_ACTING_USER_ID;
|
|
16405
|
+
}
|
|
16406
|
+
function parseHeaders(raw) {
|
|
16407
|
+
const list = raw === void 0 ? [] : Array.isArray(raw) ? raw : [raw];
|
|
16408
|
+
const headers = {};
|
|
16409
|
+
for (const entry of list) {
|
|
16410
|
+
const text = String(entry);
|
|
16411
|
+
const sep = text.indexOf(":") >= 0 && (text.indexOf(":") < text.indexOf("=") || text.indexOf("=") < 0) ? ":" : "=";
|
|
16412
|
+
const at = text.indexOf(sep);
|
|
16413
|
+
if (at <= 0) {
|
|
16414
|
+
throw new ApiError("VALIDATION_ERROR", `Invalid header "${text}". Use "Key: Value".`);
|
|
16415
|
+
}
|
|
16416
|
+
headers[text.slice(0, at).trim()] = text.slice(at + 1).trim();
|
|
16417
|
+
}
|
|
16418
|
+
return Object.keys(headers).length > 0 ? headers : void 0;
|
|
16419
|
+
}
|
|
16420
|
+
function fail3(err) {
|
|
16421
|
+
if (err instanceof ApiError) {
|
|
16422
|
+
writeJson({ ok: false, error: { code: err.code, message: err.message } });
|
|
16423
|
+
process.exit(1);
|
|
16424
|
+
}
|
|
16425
|
+
writeJson({ ok: false, error: { code: "NETWORK_ERROR", message: "Unexpected error" } });
|
|
16426
|
+
process.exit(1);
|
|
16427
|
+
}
|
|
16428
|
+
registerSchema({
|
|
16429
|
+
command: "mcp.list",
|
|
16430
|
+
description: "List the custom MCP servers this company's chats see (org + company + your own user scope).",
|
|
16431
|
+
args: {}
|
|
16432
|
+
});
|
|
16433
|
+
var listCommand3 = defineCommand121({
|
|
16434
|
+
meta: { name: "list", description: "List custom MCP servers visible to this company's chats." },
|
|
16435
|
+
run: async () => {
|
|
16436
|
+
try {
|
|
16437
|
+
const user = actingUserId();
|
|
16438
|
+
const data = await apiGet(
|
|
16439
|
+
"/api/mcp/custom",
|
|
16440
|
+
user ? { actingUserId: user } : void 0
|
|
16441
|
+
);
|
|
16442
|
+
writeJson({ ok: true, data: data.servers });
|
|
16443
|
+
} catch (err) {
|
|
16444
|
+
fail3(err);
|
|
16445
|
+
}
|
|
16446
|
+
}
|
|
16447
|
+
});
|
|
16448
|
+
registerSchema({
|
|
16449
|
+
command: "mcp.add",
|
|
16450
|
+
description: "Register a custom MCP server. Tools appear as mcp__<name>__* on the next message. URL must be HTTPS. Scope: company (default, all chats) | org (org admin key) | user (only the current sender).",
|
|
16451
|
+
args: {
|
|
16452
|
+
name: { type: "string", description: "Server name \u2192 tools appear as mcp__<name>__*", required: true },
|
|
16453
|
+
url: { type: "string", description: "HTTPS MCP endpoint", required: true },
|
|
16454
|
+
scope: { type: "string", description: "user | company | org (default company)", required: false },
|
|
16455
|
+
header: { type: "string", description: 'Auth header "Key: Value" (repeatable)', required: false }
|
|
16456
|
+
}
|
|
16457
|
+
});
|
|
16458
|
+
var addCommand = defineCommand121({
|
|
16459
|
+
meta: {
|
|
16460
|
+
name: "add",
|
|
16461
|
+
description: `Register a custom MCP server. Tools appear as mcp__<name>__* on the NEXT message.
|
|
16462
|
+
|
|
16463
|
+
Scope: company (default \u2014 every chat in the company) | org (all companies in the org; needs an admin key) | user (only the current message sender).
|
|
16464
|
+
|
|
16465
|
+
Examples:
|
|
16466
|
+
baker mcp add --name weather --url https://mcp.example.com/mcp
|
|
16467
|
+
baker mcp add --name acme --url https://acme.dev/mcp --header "Authorization: Bearer sk-\u2026"
|
|
16468
|
+
baker mcp add --name mine --url https://my.dev/mcp --scope user`
|
|
16469
|
+
},
|
|
16470
|
+
args: {
|
|
16471
|
+
name: { type: "string", description: "Server name (mcp__<name>__*)", required: true },
|
|
16472
|
+
url: { type: "string", description: "HTTPS MCP endpoint", required: true },
|
|
16473
|
+
scope: { type: "string", description: "user | company | org (default company)", required: false },
|
|
16474
|
+
header: { type: "string", description: 'Auth header "Key: Value" (repeatable)', required: false }
|
|
16475
|
+
},
|
|
16476
|
+
run: async ({ args }) => {
|
|
16477
|
+
try {
|
|
16478
|
+
const scope = parseScope(args.scope);
|
|
16479
|
+
const user = actingUserId();
|
|
16480
|
+
const headers = parseHeaders(args.header);
|
|
16481
|
+
const data = await apiPost("/api/mcp/custom", {
|
|
16482
|
+
name: args.name,
|
|
16483
|
+
url: args.url,
|
|
16484
|
+
scope,
|
|
16485
|
+
...user ? { actingUserId: user } : {},
|
|
16486
|
+
...headers ? { headers } : {}
|
|
16487
|
+
});
|
|
16488
|
+
writeJson({ ok: true, data });
|
|
16489
|
+
} catch (err) {
|
|
16490
|
+
fail3(err);
|
|
16491
|
+
}
|
|
16492
|
+
}
|
|
16493
|
+
});
|
|
16494
|
+
registerSchema({
|
|
16495
|
+
command: "mcp.remove",
|
|
16496
|
+
description: "Remove a company custom MCP server by name.",
|
|
16497
|
+
args: { name: { type: "string", description: "Server name to remove", required: true } }
|
|
16498
|
+
});
|
|
16499
|
+
var removeCommand2 = defineCommand121({
|
|
16500
|
+
meta: {
|
|
16501
|
+
name: "remove",
|
|
16502
|
+
description: `Remove a company custom MCP server by name.
|
|
16503
|
+
|
|
16504
|
+
Example:
|
|
16505
|
+
baker mcp remove --name weather`
|
|
16506
|
+
},
|
|
16507
|
+
args: { name: { type: "string", description: "Server name to remove", required: true } },
|
|
16508
|
+
run: async ({ args }) => {
|
|
16509
|
+
try {
|
|
16510
|
+
const user = actingUserId();
|
|
16511
|
+
const data = await apiPost("/api/mcp/custom/remove", {
|
|
16512
|
+
name: args.name,
|
|
16513
|
+
...user ? { actingUserId: user } : {}
|
|
16514
|
+
});
|
|
16515
|
+
writeJson({ ok: true, data });
|
|
16516
|
+
} catch (err) {
|
|
16517
|
+
fail3(err);
|
|
16518
|
+
}
|
|
16519
|
+
}
|
|
16520
|
+
});
|
|
16521
|
+
var mcpCommand = defineCommand121({
|
|
16522
|
+
meta: {
|
|
16523
|
+
name: "mcp",
|
|
16524
|
+
description: `Custom MCP servers for this company \u2014 point the agent at any HTTPS MCP endpoint.
|
|
16525
|
+
|
|
16526
|
+
Tools from a registered server appear as mcp__<name>__* on the next message.
|
|
16527
|
+
Managed here are **company-scoped** servers; user- and org-scoped servers are managed in the dashboard.
|
|
16528
|
+
|
|
16529
|
+
Start here:
|
|
16530
|
+
baker mcp list
|
|
16531
|
+
|
|
16532
|
+
Examples:
|
|
16533
|
+
baker mcp add --name weather --url https://mcp.example.com/mcp
|
|
16534
|
+
baker mcp add --name acme --url https://acme.dev/mcp --header "Authorization: Bearer sk-\u2026"
|
|
16535
|
+
baker mcp remove --name weather`
|
|
16536
|
+
},
|
|
16537
|
+
subCommands: {
|
|
16538
|
+
list: listCommand3,
|
|
16539
|
+
add: addCommand,
|
|
16540
|
+
remove: removeCommand2
|
|
16541
|
+
}
|
|
16542
|
+
});
|
|
16543
|
+
|
|
16395
16544
|
// src/commands/research/index.ts
|
|
16396
|
-
import { defineCommand as
|
|
16545
|
+
import { defineCommand as defineCommand132 } from "citty";
|
|
16397
16546
|
|
|
16398
16547
|
// src/commands/research/advertisers.ts
|
|
16399
|
-
import { defineCommand as
|
|
16548
|
+
import { defineCommand as defineCommand122 } from "citty";
|
|
16400
16549
|
|
|
16401
16550
|
// src/commands/research/output.ts
|
|
16402
16551
|
var RESEARCH_DATA_NOTE = "Estimates based on third-party SERP data \u2014 not exact figures. Use for directional insights, not precise measurement.";
|
|
@@ -16509,7 +16658,7 @@ var FIELDS3 = {
|
|
|
16509
16658
|
etv: "Estimated traffic value (USD)",
|
|
16510
16659
|
visibility: "SERP visibility score (0-1)"
|
|
16511
16660
|
};
|
|
16512
|
-
var advertisersCommand =
|
|
16661
|
+
var advertisersCommand = defineCommand122({
|
|
16513
16662
|
meta: {
|
|
16514
16663
|
name: "advertisers",
|
|
16515
16664
|
description: `Find domains competing for a keyword in Google SERPs.
|
|
@@ -16556,7 +16705,7 @@ Examples:
|
|
|
16556
16705
|
});
|
|
16557
16706
|
|
|
16558
16707
|
// src/commands/research/autocomplete.ts
|
|
16559
|
-
import { defineCommand as
|
|
16708
|
+
import { defineCommand as defineCommand123 } from "citty";
|
|
16560
16709
|
registerSchema({
|
|
16561
16710
|
command: "research.autocomplete",
|
|
16562
16711
|
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).",
|
|
@@ -16579,7 +16728,7 @@ registerSchema({
|
|
|
16579
16728
|
var FIELDS4 = {
|
|
16580
16729
|
suggestion: "Autocomplete suggestion from Google"
|
|
16581
16730
|
};
|
|
16582
|
-
var autocompleteCommand =
|
|
16731
|
+
var autocompleteCommand = defineCommand123({
|
|
16583
16732
|
meta: {
|
|
16584
16733
|
name: "autocomplete",
|
|
16585
16734
|
description: `Get Google Autocomplete suggestions for keyword expansion.
|
|
@@ -16625,7 +16774,7 @@ Examples:
|
|
|
16625
16774
|
});
|
|
16626
16775
|
|
|
16627
16776
|
// src/commands/research/countries.ts
|
|
16628
|
-
import { defineCommand as
|
|
16777
|
+
import { defineCommand as defineCommand124 } from "citty";
|
|
16629
16778
|
registerSchema({
|
|
16630
16779
|
command: "research.countries",
|
|
16631
16780
|
description: "List all supported country codes for --location flag in research commands.",
|
|
@@ -16682,7 +16831,7 @@ var FIELDS5 = {
|
|
|
16682
16831
|
code: "Country code to pass as --location",
|
|
16683
16832
|
name: "Country name"
|
|
16684
16833
|
};
|
|
16685
|
-
var countriesCommand =
|
|
16834
|
+
var countriesCommand = defineCommand124({
|
|
16686
16835
|
meta: {
|
|
16687
16836
|
name: "countries",
|
|
16688
16837
|
description: "List all supported country codes for --location flag."
|
|
@@ -16693,7 +16842,7 @@ var countriesCommand = defineCommand123({
|
|
|
16693
16842
|
});
|
|
16694
16843
|
|
|
16695
16844
|
// src/commands/research/intent.ts
|
|
16696
|
-
import { defineCommand as
|
|
16845
|
+
import { defineCommand as defineCommand125 } from "citty";
|
|
16697
16846
|
registerSchema({
|
|
16698
16847
|
command: "research.intent",
|
|
16699
16848
|
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.",
|
|
@@ -16716,7 +16865,7 @@ var FIELDS6 = {
|
|
|
16716
16865
|
intent: "Primary Google Search intent: informational, navigational, commercial, transactional",
|
|
16717
16866
|
probability: "Confidence score 0.0-1.0"
|
|
16718
16867
|
};
|
|
16719
|
-
var intentCommand =
|
|
16868
|
+
var intentCommand = defineCommand125({
|
|
16720
16869
|
meta: {
|
|
16721
16870
|
name: "intent",
|
|
16722
16871
|
description: `Classify Google Search intent for keywords. Returns intent type and confidence.
|
|
@@ -16764,7 +16913,7 @@ Examples:
|
|
|
16764
16913
|
});
|
|
16765
16914
|
|
|
16766
16915
|
// src/commands/research/keyword-gap.ts
|
|
16767
|
-
import { defineCommand as
|
|
16916
|
+
import { defineCommand as defineCommand126 } from "citty";
|
|
16768
16917
|
registerSchema({
|
|
16769
16918
|
command: "research.keyword-gap",
|
|
16770
16919
|
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.",
|
|
@@ -16793,7 +16942,7 @@ var FIELDS7 = {
|
|
|
16793
16942
|
cpc: "Cost per click USD",
|
|
16794
16943
|
their_position: "Competitor's ranking position"
|
|
16795
16944
|
};
|
|
16796
|
-
var keywordGapCommand =
|
|
16945
|
+
var keywordGapCommand = defineCommand126({
|
|
16797
16946
|
meta: {
|
|
16798
16947
|
name: "keyword-gap",
|
|
16799
16948
|
description: `Find keywords a competitor has that you don't. Supports pagination via --offset.
|
|
@@ -16867,7 +17016,7 @@ Examples:
|
|
|
16867
17016
|
});
|
|
16868
17017
|
|
|
16869
17018
|
// src/commands/research/keywords-for-site.ts
|
|
16870
|
-
import { defineCommand as
|
|
17019
|
+
import { defineCommand as defineCommand127 } from "citty";
|
|
16871
17020
|
registerSchema({
|
|
16872
17021
|
command: "research.keywords-for-site",
|
|
16873
17022
|
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.",
|
|
@@ -16900,7 +17049,7 @@ var FIELDS8 = {
|
|
|
16900
17049
|
competition: "LOW, MEDIUM, or HIGH",
|
|
16901
17050
|
competition_index: "Competition score 0-100"
|
|
16902
17051
|
};
|
|
16903
|
-
var keywordsForSiteCommand =
|
|
17052
|
+
var keywordsForSiteCommand = defineCommand127({
|
|
16904
17053
|
meta: {
|
|
16905
17054
|
name: "keywords-for-site",
|
|
16906
17055
|
description: `Get keywords a competitor targets in Google. Use --type to filter paid/organic.
|
|
@@ -16953,7 +17102,7 @@ Examples:
|
|
|
16953
17102
|
});
|
|
16954
17103
|
|
|
16955
17104
|
// src/commands/research/languages.ts
|
|
16956
|
-
import { defineCommand as
|
|
17105
|
+
import { defineCommand as defineCommand128 } from "citty";
|
|
16957
17106
|
registerSchema({
|
|
16958
17107
|
command: "research.languages",
|
|
16959
17108
|
description: "List all supported language codes for --language flag in research commands.",
|
|
@@ -16983,7 +17132,7 @@ var FIELDS9 = {
|
|
|
16983
17132
|
code: "Language code to pass as --language",
|
|
16984
17133
|
name: "Language name (also accepted by --language)"
|
|
16985
17134
|
};
|
|
16986
|
-
var languagesCommand2 =
|
|
17135
|
+
var languagesCommand2 = defineCommand128({
|
|
16987
17136
|
meta: {
|
|
16988
17137
|
name: "languages",
|
|
16989
17138
|
description: "List all supported language codes for --language flag."
|
|
@@ -16994,7 +17143,7 @@ var languagesCommand2 = defineCommand127({
|
|
|
16994
17143
|
});
|
|
16995
17144
|
|
|
16996
17145
|
// src/commands/research/lighthouse.ts
|
|
16997
|
-
import { defineCommand as
|
|
17146
|
+
import { defineCommand as defineCommand129 } from "citty";
|
|
16998
17147
|
registerSchema({
|
|
16999
17148
|
command: "research.lighthouse",
|
|
17000
17149
|
description: "Landing page performance audit. Returns metrics that affect Google Ads Quality Score and CPC.",
|
|
@@ -17013,7 +17162,7 @@ var FIELDS10 = {
|
|
|
17013
17162
|
speed_index_ms: "Speed Index in ms (good: < 3400)",
|
|
17014
17163
|
interactive_ms: "Time to Interactive in ms (good: < 3800)"
|
|
17015
17164
|
};
|
|
17016
|
-
var lighthouseCommand =
|
|
17165
|
+
var lighthouseCommand = defineCommand129({
|
|
17017
17166
|
meta: {
|
|
17018
17167
|
name: "lighthouse",
|
|
17019
17168
|
description: `Landing page performance audit. Metrics affecting Google Ads Quality Score.
|
|
@@ -17051,7 +17200,7 @@ Examples:
|
|
|
17051
17200
|
});
|
|
17052
17201
|
|
|
17053
17202
|
// src/commands/research/relevant-pages.ts
|
|
17054
|
-
import { defineCommand as
|
|
17203
|
+
import { defineCommand as defineCommand130 } from "citty";
|
|
17055
17204
|
registerSchema({
|
|
17056
17205
|
command: "research.relevant-pages",
|
|
17057
17206
|
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).",
|
|
@@ -17077,7 +17226,7 @@ var FIELDS11 = {
|
|
|
17077
17226
|
keywords: "Total organic keywords the page ranks for",
|
|
17078
17227
|
top_10: "Keywords in positions 1-10"
|
|
17079
17228
|
};
|
|
17080
|
-
var relevantPagesCommand =
|
|
17229
|
+
var relevantPagesCommand = defineCommand130({
|
|
17081
17230
|
meta: {
|
|
17082
17231
|
name: "relevant-pages",
|
|
17083
17232
|
description: `Get the top pages of a competitor domain with traffic data.
|
|
@@ -17123,7 +17272,7 @@ Examples:
|
|
|
17123
17272
|
});
|
|
17124
17273
|
|
|
17125
17274
|
// src/commands/research/web.ts
|
|
17126
|
-
import { defineCommand as
|
|
17275
|
+
import { defineCommand as defineCommand131 } from "citty";
|
|
17127
17276
|
registerSchema({
|
|
17128
17277
|
command: "research.web",
|
|
17129
17278
|
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).",
|
|
@@ -17174,7 +17323,7 @@ async function runDeepResearch(question) {
|
|
|
17174
17323
|
}
|
|
17175
17324
|
throw new Error("Deep research timed out");
|
|
17176
17325
|
}
|
|
17177
|
-
var webCommand =
|
|
17326
|
+
var webCommand = defineCommand131({
|
|
17178
17327
|
meta: {
|
|
17179
17328
|
name: "web",
|
|
17180
17329
|
description: `Search the web with AI to answer any open-ended marketing question. Uses live internet data via Google Search.
|
|
@@ -17234,7 +17383,7 @@ Examples:
|
|
|
17234
17383
|
});
|
|
17235
17384
|
|
|
17236
17385
|
// src/commands/research/index.ts
|
|
17237
|
-
var researchCommand =
|
|
17386
|
+
var researchCommand = defineCommand132({
|
|
17238
17387
|
meta: {
|
|
17239
17388
|
name: "research",
|
|
17240
17389
|
description: `Competitive intelligence and AI-powered research commands.
|
|
@@ -17274,10 +17423,10 @@ Examples:
|
|
|
17274
17423
|
});
|
|
17275
17424
|
|
|
17276
17425
|
// src/commands/scheduled-actions/index.ts
|
|
17277
|
-
import { defineCommand as
|
|
17426
|
+
import { defineCommand as defineCommand139 } from "citty";
|
|
17278
17427
|
|
|
17279
17428
|
// src/commands/scheduled-actions/create.ts
|
|
17280
|
-
import { defineCommand as
|
|
17429
|
+
import { defineCommand as defineCommand133 } from "citty";
|
|
17281
17430
|
|
|
17282
17431
|
// src/commands/scheduled-actions/shared.ts
|
|
17283
17432
|
var TEMP_SCHEDULED_ACTION_PREFIX = "temp_sched_";
|
|
@@ -17392,7 +17541,7 @@ registerSchema({
|
|
|
17392
17541
|
prompt: { type: "string", description: "Additional prompt instructions for the spawned agent", required: false }
|
|
17393
17542
|
}
|
|
17394
17543
|
});
|
|
17395
|
-
var createCommand2 =
|
|
17544
|
+
var createCommand2 = defineCommand133({
|
|
17396
17545
|
meta: {
|
|
17397
17546
|
name: "create",
|
|
17398
17547
|
description: 'Stage a scheduled action. Example: baker scheduled-actions create --name "Weekly report" --description "..." --cron "0 9 * * MON"'
|
|
@@ -17441,7 +17590,7 @@ var createCommand2 = defineCommand132({
|
|
|
17441
17590
|
});
|
|
17442
17591
|
|
|
17443
17592
|
// src/commands/scheduled-actions/delete.ts
|
|
17444
|
-
import { defineCommand as
|
|
17593
|
+
import { defineCommand as defineCommand134 } from "citty";
|
|
17445
17594
|
registerSchema({
|
|
17446
17595
|
command: "scheduled-actions.delete",
|
|
17447
17596
|
description: "Stage deletion of a published scheduled action or cancellation of a temp_sched_* draft creation.",
|
|
@@ -17449,7 +17598,7 @@ registerSchema({
|
|
|
17449
17598
|
id: { type: "string", description: "Published scheduled action ID or temp_sched_* draft ID", required: true }
|
|
17450
17599
|
}
|
|
17451
17600
|
});
|
|
17452
|
-
var deleteCommand2 =
|
|
17601
|
+
var deleteCommand2 = defineCommand134({
|
|
17453
17602
|
meta: {
|
|
17454
17603
|
name: "delete",
|
|
17455
17604
|
description: "Stage scheduled action deletion. Example: baker scheduled-actions delete <id-or-temp_sched_id>"
|
|
@@ -17478,7 +17627,7 @@ var deleteCommand2 = defineCommand133({
|
|
|
17478
17627
|
});
|
|
17479
17628
|
|
|
17480
17629
|
// src/commands/scheduled-actions/get.ts
|
|
17481
|
-
import { defineCommand as
|
|
17630
|
+
import { defineCommand as defineCommand135 } from "citty";
|
|
17482
17631
|
registerSchema({
|
|
17483
17632
|
command: "scheduled-actions.get",
|
|
17484
17633
|
description: "Get a published scheduled action or a temp_sched_* draft-created scheduled action.",
|
|
@@ -17486,7 +17635,7 @@ registerSchema({
|
|
|
17486
17635
|
id: { type: "string", description: "Published scheduled action ID or temp_sched_* draft ID", required: true }
|
|
17487
17636
|
}
|
|
17488
17637
|
});
|
|
17489
|
-
var getCommand3 =
|
|
17638
|
+
var getCommand3 = defineCommand135({
|
|
17490
17639
|
meta: {
|
|
17491
17640
|
name: "get",
|
|
17492
17641
|
description: "Get a scheduled action. Example: baker scheduled-actions get <id-or-temp_sched_id>"
|
|
@@ -17523,13 +17672,13 @@ var getCommand3 = defineCommand134({
|
|
|
17523
17672
|
});
|
|
17524
17673
|
|
|
17525
17674
|
// src/commands/scheduled-actions/list.ts
|
|
17526
|
-
import { defineCommand as
|
|
17675
|
+
import { defineCommand as defineCommand136 } from "citty";
|
|
17527
17676
|
registerSchema({
|
|
17528
17677
|
command: "scheduled-actions.list",
|
|
17529
17678
|
description: "List published scheduled actions. Includes draft state when BAKER_CHAT_ID is set.",
|
|
17530
17679
|
args: {}
|
|
17531
17680
|
});
|
|
17532
|
-
var
|
|
17681
|
+
var listCommand4 = defineCommand136({
|
|
17533
17682
|
meta: {
|
|
17534
17683
|
name: "list",
|
|
17535
17684
|
description: "List scheduled actions. Includes staged draft ops when BAKER_CHAT_ID is set."
|
|
@@ -17550,7 +17699,7 @@ var listCommand3 = defineCommand135({
|
|
|
17550
17699
|
});
|
|
17551
17700
|
|
|
17552
17701
|
// src/commands/scheduled-actions/trigger.ts
|
|
17553
|
-
import { defineCommand as
|
|
17702
|
+
import { defineCommand as defineCommand137 } from "citty";
|
|
17554
17703
|
registerSchema({
|
|
17555
17704
|
command: "scheduled-actions.trigger",
|
|
17556
17705
|
description: "Immediately trigger a published scheduled action. Does not require BAKER_CHAT_ID and rejects temp_sched_* IDs.",
|
|
@@ -17558,7 +17707,7 @@ registerSchema({
|
|
|
17558
17707
|
id: { type: "string", description: "Published scheduled action ID", required: true }
|
|
17559
17708
|
}
|
|
17560
17709
|
});
|
|
17561
|
-
var triggerCommand =
|
|
17710
|
+
var triggerCommand = defineCommand137({
|
|
17562
17711
|
meta: {
|
|
17563
17712
|
name: "trigger",
|
|
17564
17713
|
description: "Immediately trigger a published scheduled action. Example: baker scheduled-actions trigger <id>"
|
|
@@ -17595,7 +17744,7 @@ var triggerCommand = defineCommand136({
|
|
|
17595
17744
|
});
|
|
17596
17745
|
|
|
17597
17746
|
// src/commands/scheduled-actions/update.ts
|
|
17598
|
-
import { defineCommand as
|
|
17747
|
+
import { defineCommand as defineCommand138 } from "citty";
|
|
17599
17748
|
registerSchema({
|
|
17600
17749
|
command: "scheduled-actions.update",
|
|
17601
17750
|
description: "Stage an update to a published scheduled action or temp_sched_* draft-created scheduled action.",
|
|
@@ -17620,7 +17769,7 @@ registerSchema({
|
|
|
17620
17769
|
prompt: { type: "string", description: "Replacement additional spawned-agent instructions", required: false }
|
|
17621
17770
|
}
|
|
17622
17771
|
});
|
|
17623
|
-
var updateCommand2 =
|
|
17772
|
+
var updateCommand2 = defineCommand138({
|
|
17624
17773
|
meta: {
|
|
17625
17774
|
name: "update",
|
|
17626
17775
|
description: "Stage a scheduled action update. Example: baker scheduled-actions update <id> --enabled false"
|
|
@@ -17691,7 +17840,7 @@ var updateCommand2 = defineCommand137({
|
|
|
17691
17840
|
});
|
|
17692
17841
|
|
|
17693
17842
|
// src/commands/scheduled-actions/index.ts
|
|
17694
|
-
var scheduledActionsCommand =
|
|
17843
|
+
var scheduledActionsCommand = defineCommand139({
|
|
17695
17844
|
meta: {
|
|
17696
17845
|
name: "scheduled-actions",
|
|
17697
17846
|
description: `Manage Scheduled Actions. Subcommands: list, get, create, update, delete, trigger.
|
|
@@ -17707,7 +17856,7 @@ Examples:
|
|
|
17707
17856
|
baker scheduled-actions trigger <id>`
|
|
17708
17857
|
},
|
|
17709
17858
|
subCommands: {
|
|
17710
|
-
list:
|
|
17859
|
+
list: listCommand4,
|
|
17711
17860
|
get: getCommand3,
|
|
17712
17861
|
create: createCommand2,
|
|
17713
17862
|
update: updateCommand2,
|
|
@@ -17717,8 +17866,8 @@ Examples:
|
|
|
17717
17866
|
});
|
|
17718
17867
|
|
|
17719
17868
|
// src/commands/schema.ts
|
|
17720
|
-
import { defineCommand as
|
|
17721
|
-
var schemaCommand =
|
|
17869
|
+
import { defineCommand as defineCommand140 } from "citty";
|
|
17870
|
+
var schemaCommand = defineCommand140({
|
|
17722
17871
|
meta: {
|
|
17723
17872
|
name: "schema",
|
|
17724
17873
|
description: "Inspect command argument schemas (for AI agent introspection). Lists all commands if no argument given. Example: baker schema images.search"
|
|
@@ -17754,10 +17903,10 @@ var schemaCommand = defineCommand139({
|
|
|
17754
17903
|
});
|
|
17755
17904
|
|
|
17756
17905
|
// src/commands/testimonials/index.ts
|
|
17757
|
-
import { defineCommand as
|
|
17906
|
+
import { defineCommand as defineCommand144 } from "citty";
|
|
17758
17907
|
|
|
17759
17908
|
// src/commands/testimonials/get.ts
|
|
17760
|
-
import { defineCommand as
|
|
17909
|
+
import { defineCommand as defineCommand141 } from "citty";
|
|
17761
17910
|
registerSchema({
|
|
17762
17911
|
command: "testimonials.get",
|
|
17763
17912
|
description: "Get a single testimonial by ID",
|
|
@@ -17765,7 +17914,7 @@ registerSchema({
|
|
|
17765
17914
|
id: { type: "string", description: "Testimonial ID", required: true }
|
|
17766
17915
|
}
|
|
17767
17916
|
});
|
|
17768
|
-
var getCommand4 =
|
|
17917
|
+
var getCommand4 = defineCommand141({
|
|
17769
17918
|
meta: { name: "get", description: "Get a single testimonial by ID. Example: baker testimonials get j571abc123" },
|
|
17770
17919
|
args: {
|
|
17771
17920
|
id: { type: "positional", description: "Testimonial ID", required: false },
|
|
@@ -17802,7 +17951,7 @@ var getCommand4 = defineCommand140({
|
|
|
17802
17951
|
});
|
|
17803
17952
|
|
|
17804
17953
|
// src/commands/testimonials/list.ts
|
|
17805
|
-
import { defineCommand as
|
|
17954
|
+
import { defineCommand as defineCommand142 } from "citty";
|
|
17806
17955
|
registerSchema({
|
|
17807
17956
|
command: "testimonials.list",
|
|
17808
17957
|
description: "List testimonials with optional filters.",
|
|
@@ -17832,7 +17981,7 @@ registerSchema({
|
|
|
17832
17981
|
limit: { type: "number", description: "Max results (default 50)", required: false, default: 50 }
|
|
17833
17982
|
}
|
|
17834
17983
|
});
|
|
17835
|
-
var
|
|
17984
|
+
var listCommand5 = defineCommand142({
|
|
17836
17985
|
meta: {
|
|
17837
17986
|
name: "list",
|
|
17838
17987
|
description: "List testimonials with optional filters. Example: baker testimonials list --source google --sentiment positive"
|
|
@@ -17881,7 +18030,7 @@ var listCommand4 = defineCommand141({
|
|
|
17881
18030
|
});
|
|
17882
18031
|
|
|
17883
18032
|
// src/commands/testimonials/search.ts
|
|
17884
|
-
import { defineCommand as
|
|
18033
|
+
import { defineCommand as defineCommand143 } from "citty";
|
|
17885
18034
|
registerSchema({
|
|
17886
18035
|
command: "testimonials.search",
|
|
17887
18036
|
description: "Search testimonials by text query. Uses hybrid BM25 + vector + reranking.",
|
|
@@ -17912,7 +18061,7 @@ registerSchema({
|
|
|
17912
18061
|
tags: { type: "string", description: "Comma-separated tags to filter by", required: false }
|
|
17913
18062
|
}
|
|
17914
18063
|
});
|
|
17915
|
-
var searchCommand2 =
|
|
18064
|
+
var searchCommand2 = defineCommand143({
|
|
17916
18065
|
meta: {
|
|
17917
18066
|
name: "search",
|
|
17918
18067
|
description: "Semantic search testimonials by text query. Uses hybrid BM25 + vector + reranking. Example: baker testimonials search 'great service' --rating-min 4"
|
|
@@ -17986,7 +18135,7 @@ var searchCommand2 = defineCommand142({
|
|
|
17986
18135
|
var tagsCommand3 = makeTagsCommand("testimonials", "testimonial", "/api/testimonials/tags");
|
|
17987
18136
|
|
|
17988
18137
|
// src/commands/testimonials/index.ts
|
|
17989
|
-
var testimonialsCommand =
|
|
18138
|
+
var testimonialsCommand = defineCommand144({
|
|
17990
18139
|
meta: {
|
|
17991
18140
|
name: "testimonials",
|
|
17992
18141
|
description: `Find and browse testimonials in Baker. Subcommands: search, get, list, tags.
|
|
@@ -18001,16 +18150,16 @@ Examples:
|
|
|
18001
18150
|
subCommands: {
|
|
18002
18151
|
get: getCommand4,
|
|
18003
18152
|
search: searchCommand2,
|
|
18004
|
-
list:
|
|
18153
|
+
list: listCommand5,
|
|
18005
18154
|
tags: tagsCommand3
|
|
18006
18155
|
}
|
|
18007
18156
|
});
|
|
18008
18157
|
|
|
18009
18158
|
// src/commands/videos/index.ts
|
|
18010
|
-
import { defineCommand as
|
|
18159
|
+
import { defineCommand as defineCommand149 } from "citty";
|
|
18011
18160
|
|
|
18012
18161
|
// src/commands/videos/delete.ts
|
|
18013
|
-
import { defineCommand as
|
|
18162
|
+
import { defineCommand as defineCommand145 } from "citty";
|
|
18014
18163
|
registerSchema({
|
|
18015
18164
|
command: "videos.delete",
|
|
18016
18165
|
description: "Delete a video by ID",
|
|
@@ -18024,7 +18173,7 @@ registerSchema({
|
|
|
18024
18173
|
}
|
|
18025
18174
|
}
|
|
18026
18175
|
});
|
|
18027
|
-
var deleteCommand3 =
|
|
18176
|
+
var deleteCommand3 = defineCommand145({
|
|
18028
18177
|
meta: {
|
|
18029
18178
|
name: "delete",
|
|
18030
18179
|
description: "Delete a video by ID. Use --dry-run to preview. Example: baker videos delete j571abc123 --dry-run"
|
|
@@ -18065,7 +18214,7 @@ var deleteCommand3 = defineCommand144({
|
|
|
18065
18214
|
});
|
|
18066
18215
|
|
|
18067
18216
|
// src/commands/videos/get.ts
|
|
18068
|
-
import { defineCommand as
|
|
18217
|
+
import { defineCommand as defineCommand146 } from "citty";
|
|
18069
18218
|
registerSchema({
|
|
18070
18219
|
command: "videos.get",
|
|
18071
18220
|
description: "Get a single video by ID",
|
|
@@ -18073,7 +18222,7 @@ registerSchema({
|
|
|
18073
18222
|
id: { type: "string", description: "Video ID", required: true }
|
|
18074
18223
|
}
|
|
18075
18224
|
});
|
|
18076
|
-
var getCommand5 =
|
|
18225
|
+
var getCommand5 = defineCommand146({
|
|
18077
18226
|
meta: { name: "get", description: "Get a single video by ID. Example: baker videos get j571abc123" },
|
|
18078
18227
|
args: {
|
|
18079
18228
|
id: { type: "positional", description: "Video ID", required: false },
|
|
@@ -18110,7 +18259,7 @@ var getCommand5 = defineCommand145({
|
|
|
18110
18259
|
});
|
|
18111
18260
|
|
|
18112
18261
|
// src/commands/videos/search.ts
|
|
18113
|
-
import { defineCommand as
|
|
18262
|
+
import { defineCommand as defineCommand147 } from "citty";
|
|
18114
18263
|
registerSchema({
|
|
18115
18264
|
command: "videos.search",
|
|
18116
18265
|
description: "Search videos by text query. Only returns ready videos.",
|
|
@@ -18120,7 +18269,7 @@ registerSchema({
|
|
|
18120
18269
|
tags: { type: "string", description: "Comma-separated tags to filter by", required: false }
|
|
18121
18270
|
}
|
|
18122
18271
|
});
|
|
18123
|
-
var searchCommand3 =
|
|
18272
|
+
var searchCommand3 = defineCommand147({
|
|
18124
18273
|
meta: {
|
|
18125
18274
|
name: "search",
|
|
18126
18275
|
description: "Semantic search videos by text query. Uses hybrid BM25 + vector + reranking. Example: baker videos search 'product demo' --tags tutorial"
|
|
@@ -18172,7 +18321,7 @@ var tagsCommand4 = makeTagsCommand("videos", "video", "/api/videos/tags");
|
|
|
18172
18321
|
// src/commands/videos/upload.ts
|
|
18173
18322
|
import { readFile as readFile12, stat as stat3 } from "fs/promises";
|
|
18174
18323
|
import { extname as extname3 } from "path";
|
|
18175
|
-
import { defineCommand as
|
|
18324
|
+
import { defineCommand as defineCommand148 } from "citty";
|
|
18176
18325
|
var MIME_MAP = {
|
|
18177
18326
|
".mp4": "video/mp4",
|
|
18178
18327
|
".mov": "video/quicktime",
|
|
@@ -18206,7 +18355,7 @@ function detectContentType(filePath) {
|
|
|
18206
18355
|
}
|
|
18207
18356
|
return mime;
|
|
18208
18357
|
}
|
|
18209
|
-
var uploadCommand2 =
|
|
18358
|
+
var uploadCommand2 = defineCommand148({
|
|
18210
18359
|
meta: {
|
|
18211
18360
|
name: "upload",
|
|
18212
18361
|
description: "Upload a video file to Baker via Mux direct upload. Auto-detects content type. Example: baker videos upload ./demo.mp4"
|
|
@@ -18260,7 +18409,7 @@ var uploadCommand2 = defineCommand147({
|
|
|
18260
18409
|
});
|
|
18261
18410
|
|
|
18262
18411
|
// src/commands/videos/index.ts
|
|
18263
|
-
var videosCommand =
|
|
18412
|
+
var videosCommand = defineCommand149({
|
|
18264
18413
|
meta: {
|
|
18265
18414
|
name: "videos",
|
|
18266
18415
|
description: `Find and manage videos in Baker. Subcommands: search, get, upload, delete, tags.
|
|
@@ -18283,10 +18432,10 @@ Examples:
|
|
|
18283
18432
|
});
|
|
18284
18433
|
|
|
18285
18434
|
// src/commands/winning-ads/index.ts
|
|
18286
|
-
import { defineCommand as
|
|
18435
|
+
import { defineCommand as defineCommand152 } from "citty";
|
|
18287
18436
|
|
|
18288
18437
|
// src/commands/winning-ads/advertisers.ts
|
|
18289
|
-
import { defineCommand as
|
|
18438
|
+
import { defineCommand as defineCommand150 } from "citty";
|
|
18290
18439
|
registerSchema({
|
|
18291
18440
|
command: "winning-ads.advertisers",
|
|
18292
18441
|
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).",
|
|
@@ -18299,7 +18448,7 @@ registerSchema({
|
|
|
18299
18448
|
function identity(record) {
|
|
18300
18449
|
return record;
|
|
18301
18450
|
}
|
|
18302
|
-
var advertisersCommand2 =
|
|
18451
|
+
var advertisersCommand2 = defineCommand150({
|
|
18303
18452
|
meta: {
|
|
18304
18453
|
name: "advertisers",
|
|
18305
18454
|
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'
|
|
@@ -18350,7 +18499,7 @@ var advertisersCommand2 = defineCommand149({
|
|
|
18350
18499
|
});
|
|
18351
18500
|
|
|
18352
18501
|
// src/commands/winning-ads/search.ts
|
|
18353
|
-
import { defineCommand as
|
|
18502
|
+
import { defineCommand as defineCommand151 } from "citty";
|
|
18354
18503
|
registerSchema({
|
|
18355
18504
|
command: "winning-ads.search",
|
|
18356
18505
|
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.",
|
|
@@ -18458,7 +18607,7 @@ function buildSearchBody(args) {
|
|
|
18458
18607
|
}
|
|
18459
18608
|
return body;
|
|
18460
18609
|
}
|
|
18461
|
-
var searchCommand4 =
|
|
18610
|
+
var searchCommand4 = defineCommand151({
|
|
18462
18611
|
meta: {
|
|
18463
18612
|
name: "search",
|
|
18464
18613
|
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"
|
|
@@ -18570,7 +18719,7 @@ var searchCommand4 = defineCommand150({
|
|
|
18570
18719
|
});
|
|
18571
18720
|
|
|
18572
18721
|
// src/commands/winning-ads/index.ts
|
|
18573
|
-
var winningAdsCommand =
|
|
18722
|
+
var winningAdsCommand = defineCommand152({
|
|
18574
18723
|
meta: {
|
|
18575
18724
|
name: "winning-ads",
|
|
18576
18725
|
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.
|
|
@@ -18610,7 +18759,7 @@ function getCliVersion() {
|
|
|
18610
18759
|
}
|
|
18611
18760
|
|
|
18612
18761
|
// src/cli.ts
|
|
18613
|
-
var main =
|
|
18762
|
+
var main = defineCommand153({
|
|
18614
18763
|
meta: {
|
|
18615
18764
|
name: "baker",
|
|
18616
18765
|
version: getCliVersion(),
|
|
@@ -18635,6 +18784,7 @@ Introspection: Run 'baker schema <command>' to inspect argument schemas.`
|
|
|
18635
18784
|
testimonials: testimonialsCommand,
|
|
18636
18785
|
canvas: canvasCommand,
|
|
18637
18786
|
"winning-ads": winningAdsCommand,
|
|
18787
|
+
mcp: mcpCommand,
|
|
18638
18788
|
schema: schemaCommand
|
|
18639
18789
|
}
|
|
18640
18790
|
});
|