@koda-sl/baker-cli 0.160.0 → 0.161.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +3 -0
- package/dist/cli.js +327 -286
- package/dist/cli.js.map +1 -1
- package/package.json +1 -1
package/dist/cli.js
CHANGED
|
@@ -77,7 +77,7 @@ import {
|
|
|
77
77
|
} from "./chunk-RK67WL4O.js";
|
|
78
78
|
|
|
79
79
|
// src/cli.ts
|
|
80
|
-
import { defineCommand as
|
|
80
|
+
import { defineCommand as defineCommand187, runMain } from "citty";
|
|
81
81
|
|
|
82
82
|
// src/commands/actions/index.ts
|
|
83
83
|
import { defineCommand as defineCommand18 } from "citty";
|
|
@@ -4258,7 +4258,7 @@ Full guide: __tooling__/docs/tools/baker/actions.md`
|
|
|
4258
4258
|
});
|
|
4259
4259
|
|
|
4260
4260
|
// src/commands/ads/index.ts
|
|
4261
|
-
import { defineCommand as
|
|
4261
|
+
import { defineCommand as defineCommand86 } from "citty";
|
|
4262
4262
|
|
|
4263
4263
|
// src/commands/ads/google/index.ts
|
|
4264
4264
|
import { defineCommand as defineCommand31 } from "citty";
|
|
@@ -4798,7 +4798,7 @@ var adTextAssetSchema = z13.object({
|
|
|
4798
4798
|
text: z13.string().min(1),
|
|
4799
4799
|
pinnedField: z13.enum(PINNED_FIELDS).optional()
|
|
4800
4800
|
});
|
|
4801
|
-
var responsiveSearchAdSchema = z13.
|
|
4801
|
+
var responsiveSearchAdSchema = z13.strictObject({
|
|
4802
4802
|
format: z13.literal("responsiveSearch"),
|
|
4803
4803
|
headlines: z13.array(
|
|
4804
4804
|
adTextAssetSchema.refine(
|
|
@@ -4816,7 +4816,7 @@ var responsiveSearchAdSchema = z13.object({
|
|
|
4816
4816
|
path2: z13.string().max(GOOGLE_ADS_LIMITS.responsiveSearchAd.pathMax).optional(),
|
|
4817
4817
|
finalUrls: z13.array(httpsUrlSchema2).min(1)
|
|
4818
4818
|
});
|
|
4819
|
-
var responsiveDisplayAdSchema = z13.
|
|
4819
|
+
var responsiveDisplayAdSchema = z13.strictObject({
|
|
4820
4820
|
format: z13.literal("responsiveDisplay"),
|
|
4821
4821
|
headlines: z13.array(z13.object({ text: z13.string().min(1).max(GOOGLE_ADS_LIMITS.responsiveDisplayAd.headlineTextMax) })).min(1).max(5),
|
|
4822
4822
|
longHeadline: z13.object({ text: z13.string().min(1).max(GOOGLE_ADS_LIMITS.responsiveDisplayAd.longHeadlineTextMax) }),
|
|
@@ -4830,7 +4830,7 @@ var responsiveDisplayAdSchema = z13.object({
|
|
|
4830
4830
|
logoImageAssets: z13.array(refSchema).optional(),
|
|
4831
4831
|
finalUrls: z13.array(httpsUrlSchema2).min(1)
|
|
4832
4832
|
});
|
|
4833
|
-
var callAdSchema = z13.
|
|
4833
|
+
var callAdSchema = z13.strictObject({
|
|
4834
4834
|
format: z13.literal("call"),
|
|
4835
4835
|
countryCode: z13.string().length(2),
|
|
4836
4836
|
phoneNumber: z13.string().min(3),
|
|
@@ -4841,22 +4841,26 @@ var callAdSchema = z13.object({
|
|
|
4841
4841
|
businessName: z13.string().min(1).max(25),
|
|
4842
4842
|
finalUrls: z13.array(httpsUrlSchema2).min(1)
|
|
4843
4843
|
});
|
|
4844
|
-
var appAdSchema = z13.
|
|
4844
|
+
var appAdSchema = z13.strictObject({
|
|
4845
4845
|
format: z13.literal("app"),
|
|
4846
4846
|
headlines: z13.array(z13.object({ text: z13.string().min(1).max(30) })).min(1),
|
|
4847
4847
|
descriptions: z13.array(z13.object({ text: z13.string().min(1).max(90) })).min(1),
|
|
4848
4848
|
// An App campaign ad carries its images on its own content (`AppAdInfo.images`), not as
|
|
4849
4849
|
// campaign-level asset links — same shape as a responsive display ad's marketing images.
|
|
4850
|
-
images: z13.array(refSchema).optional()
|
|
4850
|
+
images: z13.array(refSchema).optional(),
|
|
4851
|
+
// `AppAdInfo.youtube_videos` — an App ad's videos live on its content too. Without this field
|
|
4852
|
+
// there is no way to express "keep these videos on the ad", so a content update that only
|
|
4853
|
+
// restated headlines silently left the ad's videos to whatever the mask happened to omit.
|
|
4854
|
+
youtubeVideos: z13.array(refSchema).optional()
|
|
4851
4855
|
});
|
|
4852
|
-
var videoAdSchema = z13.
|
|
4856
|
+
var videoAdSchema = z13.strictObject({
|
|
4853
4857
|
format: z13.literal("video"),
|
|
4854
4858
|
// A raw YouTube id is not a publishable Google Ads reference — the video must be staged as
|
|
4855
4859
|
// its own `google.asset.create` (type: youtubeVideo) first, then referenced here by asset ref.
|
|
4856
4860
|
videoAssets: z13.array(refSchema).min(1),
|
|
4857
4861
|
finalUrls: z13.array(httpsUrlSchema2).min(1)
|
|
4858
4862
|
});
|
|
4859
|
-
var demandGenAdSchema = z13.
|
|
4863
|
+
var demandGenAdSchema = z13.strictObject({
|
|
4860
4864
|
format: z13.literal("demandGen"),
|
|
4861
4865
|
headlines: z13.array(z13.object({ text: z13.string().min(1).max(40) })).min(1).max(5),
|
|
4862
4866
|
descriptions: z13.array(z13.object({ text: z13.string().min(1).max(90) })).min(1).max(5),
|
|
@@ -8839,6 +8843,10 @@ function appContentFromFlags(args, base) {
|
|
|
8839
8843
|
if (images) {
|
|
8840
8844
|
content.images = images;
|
|
8841
8845
|
}
|
|
8846
|
+
const videos = listFlag(args["video-assets"]);
|
|
8847
|
+
if (videos) {
|
|
8848
|
+
content.youtubeVideos = videos;
|
|
8849
|
+
}
|
|
8842
8850
|
return content;
|
|
8843
8851
|
}
|
|
8844
8852
|
function adContentFromFlags(args, format, fileContent) {
|
|
@@ -8881,7 +8889,7 @@ var adContentArgs = {
|
|
|
8881
8889
|
"logo-images": { type: "string", description: "Comma-separated logo image asset refs (responsiveDisplay)" },
|
|
8882
8890
|
"video-assets": {
|
|
8883
8891
|
type: "string",
|
|
8884
|
-
description: `Comma-separated video asset refs (video
|
|
8892
|
+
description: `Comma-separated video asset refs (video/app formats) \u2014 stage the YouTube video as an asset first (assets create --file '{"type":"youtubeVideo",\u2026}')`
|
|
8885
8893
|
},
|
|
8886
8894
|
"image-assets": { type: "string", description: "Comma-separated image asset refs (demandGen/app)" },
|
|
8887
8895
|
"square-image-assets": { type: "string", description: "Comma-separated square image asset refs (demandGen)" },
|
|
@@ -13078,7 +13086,7 @@ Full guide: __tooling__/docs/tools/baker/ads-linkedin.md`
|
|
|
13078
13086
|
});
|
|
13079
13087
|
|
|
13080
13088
|
// src/commands/ads/meta/index.ts
|
|
13081
|
-
import { defineCommand as
|
|
13089
|
+
import { defineCommand as defineCommand68 } from "citty";
|
|
13082
13090
|
|
|
13083
13091
|
// src/commands/ads/meta/account.ts
|
|
13084
13092
|
import { defineCommand as defineCommand52 } from "citty";
|
|
@@ -15364,9 +15372,40 @@ var metaMediaCommand = defineCommand64({
|
|
|
15364
15372
|
subCommands: { upload: mediaUploadCommand }
|
|
15365
15373
|
});
|
|
15366
15374
|
|
|
15367
|
-
// src/commands/ads/meta/
|
|
15375
|
+
// src/commands/ads/meta/pages.ts
|
|
15368
15376
|
import { defineCommand as defineCommand65 } from "citty";
|
|
15369
|
-
var
|
|
15377
|
+
var pagesCommand = defineCommand65({
|
|
15378
|
+
meta: {
|
|
15379
|
+
name: "pages",
|
|
15380
|
+
description: `List the Facebook Pages the connected user manages. Every Meta ad publishes from a Page, so use this to find the Page id an ad should run from instead of asking the user for it. The 'tasks' field shows what the user can do on each Page (ADVERTISE means it can back ads).
|
|
15381
|
+
|
|
15382
|
+
Examples:
|
|
15383
|
+
baker ads meta pages`
|
|
15384
|
+
},
|
|
15385
|
+
args: {
|
|
15386
|
+
"skip-cache": { type: "boolean", description: "Bypass server-side cache" },
|
|
15387
|
+
output: { type: "string", description: "Output format", default: "json" }
|
|
15388
|
+
},
|
|
15389
|
+
run: async ({ args }) => {
|
|
15390
|
+
try {
|
|
15391
|
+
const params = {};
|
|
15392
|
+
if (args["skip-cache"]) params["skip-cache"] = "true";
|
|
15393
|
+
const data = await apiGet("/api/ads/meta/pages", params);
|
|
15394
|
+
const fmt = csvOrJson(args);
|
|
15395
|
+
if (fmt !== "json") {
|
|
15396
|
+
writeAdsOutput(data, fmt);
|
|
15397
|
+
return;
|
|
15398
|
+
}
|
|
15399
|
+
writeAdsJson({ ok: true, data });
|
|
15400
|
+
} catch (err) {
|
|
15401
|
+
handleMetaError(err);
|
|
15402
|
+
}
|
|
15403
|
+
}
|
|
15404
|
+
});
|
|
15405
|
+
|
|
15406
|
+
// src/commands/ads/meta/pixels.ts
|
|
15407
|
+
import { defineCommand as defineCommand66 } from "citty";
|
|
15408
|
+
var pixelsCommand = defineCommand66({
|
|
15370
15409
|
meta: {
|
|
15371
15410
|
name: "pixels",
|
|
15372
15411
|
description: `List Meta Pixels for an ad account, or fetch firing stats for one pixel.
|
|
@@ -15437,7 +15476,7 @@ function emit(data, args) {
|
|
|
15437
15476
|
|
|
15438
15477
|
// src/commands/ads/meta/preview.ts
|
|
15439
15478
|
import { writeFileSync as writeFileSync2 } from "fs";
|
|
15440
|
-
import { defineCommand as
|
|
15479
|
+
import { defineCommand as defineCommand67 } from "citty";
|
|
15441
15480
|
var VALID_AD_FORMATS = [
|
|
15442
15481
|
"DESKTOP_FEED_STANDARD",
|
|
15443
15482
|
"MOBILE_FEED_STANDARD",
|
|
@@ -15471,7 +15510,7 @@ var VALID_AD_FORMATS = [
|
|
|
15471
15510
|
"MARKETPLACE_MOBILE",
|
|
15472
15511
|
"BIZ_DISCO_FEED_MOBILE"
|
|
15473
15512
|
];
|
|
15474
|
-
var previewCommand =
|
|
15513
|
+
var previewCommand = defineCommand67({
|
|
15475
15514
|
meta: {
|
|
15476
15515
|
name: "preview",
|
|
15477
15516
|
description: `Generate a Meta-hosted preview iframe for a creative or ad. Returns iframe HTML which you
|
|
@@ -15518,7 +15557,7 @@ Examples:
|
|
|
15518
15557
|
});
|
|
15519
15558
|
|
|
15520
15559
|
// src/commands/ads/meta/index.ts
|
|
15521
|
-
var metaCommand =
|
|
15560
|
+
var metaCommand = defineCommand68({
|
|
15522
15561
|
meta: {
|
|
15523
15562
|
name: "meta",
|
|
15524
15563
|
description: `Meta Marketing API \u2014 AI-first command surface (Facebook + Instagram ads).
|
|
@@ -15527,6 +15566,7 @@ Discovery:
|
|
|
15527
15566
|
baker ads meta accounts \u2014 accounts in this company's connected scope
|
|
15528
15567
|
baker ads meta accounts --include-all \u2014 every account the token can see
|
|
15529
15568
|
baker ads meta businesses \u2014 Business Manager IDs
|
|
15569
|
+
baker ads meta pages \u2014 Facebook Pages the user manages (an ad's identity)
|
|
15530
15570
|
|
|
15531
15571
|
Snapshot a running account (default = ACTIVE only):
|
|
15532
15572
|
baker ads meta campaigns --account-id act_123
|
|
@@ -15558,6 +15598,7 @@ Full guide: __tooling__/docs/tools/baker/ads-meta.md`
|
|
|
15558
15598
|
accounts: accountsCommand3,
|
|
15559
15599
|
account: accountCommand2,
|
|
15560
15600
|
businesses: businessesCommand,
|
|
15601
|
+
pages: pagesCommand,
|
|
15561
15602
|
campaigns: campaignsCommand3,
|
|
15562
15603
|
adsets: adsetsCommand,
|
|
15563
15604
|
ads: adsListCommand,
|
|
@@ -15573,10 +15614,10 @@ Full guide: __tooling__/docs/tools/baker/ads-meta.md`
|
|
|
15573
15614
|
});
|
|
15574
15615
|
|
|
15575
15616
|
// src/commands/ads/x/index.ts
|
|
15576
|
-
import { defineCommand as
|
|
15617
|
+
import { defineCommand as defineCommand85 } from "citty";
|
|
15577
15618
|
|
|
15578
15619
|
// src/commands/ads/x/accounts.ts
|
|
15579
|
-
import { defineCommand as
|
|
15620
|
+
import { defineCommand as defineCommand69 } from "citty";
|
|
15580
15621
|
registerSchema({
|
|
15581
15622
|
command: "ads.x.accounts",
|
|
15582
15623
|
description: "List all accessible X Ads accounts. Returns accounts with id (base36), name, approval_status, timezone, currency. Run this first to find account IDs for other commands.",
|
|
@@ -15605,7 +15646,7 @@ function handleAccountsError2(err) {
|
|
|
15605
15646
|
writeAdsJson({ ok: false, error: { code: "NETWORK_ERROR", message: "Unexpected error" } });
|
|
15606
15647
|
process.exit(1);
|
|
15607
15648
|
}
|
|
15608
|
-
var accountsCommand4 =
|
|
15649
|
+
var accountsCommand4 = defineCommand69({
|
|
15609
15650
|
meta: {
|
|
15610
15651
|
name: "accounts",
|
|
15611
15652
|
description: `List accessible X Ads accounts. Returns account IDs needed for all other commands.
|
|
@@ -15645,7 +15686,7 @@ Examples:
|
|
|
15645
15686
|
});
|
|
15646
15687
|
|
|
15647
15688
|
// src/commands/ads/x/active-entities.ts
|
|
15648
|
-
import { defineCommand as
|
|
15689
|
+
import { defineCommand as defineCommand70 } from "citty";
|
|
15649
15690
|
|
|
15650
15691
|
// src/commands/ads/x/error-parser.ts
|
|
15651
15692
|
function mapXErrorCode(message) {
|
|
@@ -15796,7 +15837,7 @@ function parseCsv(v) {
|
|
|
15796
15837
|
const parts = v.split(",").map((s) => s.trim()).filter(Boolean);
|
|
15797
15838
|
return parts.length > 0 ? parts : void 0;
|
|
15798
15839
|
}
|
|
15799
|
-
var activeEntitiesCommand =
|
|
15840
|
+
var activeEntitiesCommand = defineCommand70({
|
|
15800
15841
|
meta: {
|
|
15801
15842
|
name: "active-entities",
|
|
15802
15843
|
description: `List entities with metric activity in a time range.
|
|
@@ -15854,7 +15895,7 @@ Examples:
|
|
|
15854
15895
|
});
|
|
15855
15896
|
|
|
15856
15897
|
// src/commands/ads/x/audiences.ts
|
|
15857
|
-
import { defineCommand as
|
|
15898
|
+
import { defineCommand as defineCommand71 } from "citty";
|
|
15858
15899
|
registerSchema({
|
|
15859
15900
|
command: "ads.x.audiences",
|
|
15860
15901
|
description: "List custom audiences for an X Ads account. Returns id, name, audience_size, audience_type, targetable status. Audiences need 100+ active users in the past 90 days to be targetable.",
|
|
@@ -15864,7 +15905,7 @@ registerSchema({
|
|
|
15864
15905
|
output: { type: "string", description: "Format: json|csv|md", required: false, default: "json" }
|
|
15865
15906
|
}
|
|
15866
15907
|
});
|
|
15867
|
-
var audiencesCommand4 =
|
|
15908
|
+
var audiencesCommand4 = defineCommand71({
|
|
15868
15909
|
meta: {
|
|
15869
15910
|
name: "audiences",
|
|
15870
15911
|
description: `List X Ads custom audiences.
|
|
@@ -15913,7 +15954,7 @@ Examples:
|
|
|
15913
15954
|
});
|
|
15914
15955
|
|
|
15915
15956
|
// src/commands/ads/x/campaigns.ts
|
|
15916
|
-
import { defineCommand as
|
|
15957
|
+
import { defineCommand as defineCommand72 } from "citty";
|
|
15917
15958
|
|
|
15918
15959
|
// src/commands/ads/x/run-list.ts
|
|
15919
15960
|
function buildCleanParams(opts) {
|
|
@@ -15977,7 +16018,7 @@ registerSchema({
|
|
|
15977
16018
|
output: { type: "string", description: "Format: json|csv|md", required: false, default: "json" }
|
|
15978
16019
|
}
|
|
15979
16020
|
});
|
|
15980
|
-
var campaignsCommand4 =
|
|
16021
|
+
var campaignsCommand4 = defineCommand72({
|
|
15981
16022
|
meta: {
|
|
15982
16023
|
name: "campaigns",
|
|
15983
16024
|
description: `List X Ads campaigns. Returns budget, schedule, funding instrument, status.
|
|
@@ -16019,7 +16060,7 @@ Examples:
|
|
|
16019
16060
|
});
|
|
16020
16061
|
|
|
16021
16062
|
// src/commands/ads/x/cards.ts
|
|
16022
|
-
import { defineCommand as
|
|
16063
|
+
import { defineCommand as defineCommand73 } from "citty";
|
|
16023
16064
|
registerSchema({
|
|
16024
16065
|
command: "ads.x.cards",
|
|
16025
16066
|
description: "List website cards, video cards, and carousels for an X Ads account.",
|
|
@@ -16029,7 +16070,7 @@ registerSchema({
|
|
|
16029
16070
|
output: { type: "string", description: "Format: json|csv|md", required: false, default: "json" }
|
|
16030
16071
|
}
|
|
16031
16072
|
});
|
|
16032
|
-
var cardsCommand =
|
|
16073
|
+
var cardsCommand = defineCommand73({
|
|
16033
16074
|
meta: {
|
|
16034
16075
|
name: "cards",
|
|
16035
16076
|
description: `List X Ads cards (rich creatives).
|
|
@@ -16078,7 +16119,7 @@ Examples:
|
|
|
16078
16119
|
});
|
|
16079
16120
|
|
|
16080
16121
|
// src/commands/ads/x/funding.ts
|
|
16081
|
-
import { defineCommand as
|
|
16122
|
+
import { defineCommand as defineCommand74 } from "citty";
|
|
16082
16123
|
registerSchema({
|
|
16083
16124
|
command: "ads.x.funding",
|
|
16084
16125
|
description: "List funding instruments for an X Ads account. Returns id, type, currency, credit_limit_local_micro, funded_amount_local_micro, status. Falls back to BAKER_X_ADS_ACCOUNT_ID env var.",
|
|
@@ -16088,7 +16129,7 @@ registerSchema({
|
|
|
16088
16129
|
output: { type: "string", description: "Format: json|csv|md", required: false, default: "json" }
|
|
16089
16130
|
}
|
|
16090
16131
|
});
|
|
16091
|
-
var fundingCommand =
|
|
16132
|
+
var fundingCommand = defineCommand74({
|
|
16092
16133
|
meta: {
|
|
16093
16134
|
name: "funding",
|
|
16094
16135
|
description: `List funding instruments for an X Ads account.
|
|
@@ -16137,7 +16178,7 @@ Examples:
|
|
|
16137
16178
|
});
|
|
16138
16179
|
|
|
16139
16180
|
// src/commands/ads/x/line-items.ts
|
|
16140
|
-
import { defineCommand as
|
|
16181
|
+
import { defineCommand as defineCommand75 } from "citty";
|
|
16141
16182
|
registerSchema({
|
|
16142
16183
|
command: "ads.x.lineItems",
|
|
16143
16184
|
description: "List line items (ad groups) for an X Ads account. Returns bid, product_type, objective, placements, schedule. Filter by campaign-ids or line-item-ids (CSV).",
|
|
@@ -16149,7 +16190,7 @@ registerSchema({
|
|
|
16149
16190
|
"no-cache": { type: "boolean", description: "Skip cache", required: false }
|
|
16150
16191
|
}
|
|
16151
16192
|
});
|
|
16152
|
-
var lineItemsCommand =
|
|
16193
|
+
var lineItemsCommand = defineCommand75({
|
|
16153
16194
|
meta: {
|
|
16154
16195
|
name: "line-items",
|
|
16155
16196
|
description: `List X Ads line items (ad groups).
|
|
@@ -16190,7 +16231,7 @@ Examples:
|
|
|
16190
16231
|
});
|
|
16191
16232
|
|
|
16192
16233
|
// src/commands/ads/x/media.ts
|
|
16193
|
-
import { defineCommand as
|
|
16234
|
+
import { defineCommand as defineCommand76 } from "citty";
|
|
16194
16235
|
registerSchema({
|
|
16195
16236
|
command: "ads.x.media",
|
|
16196
16237
|
description: "List media assets in the X Ads media library (images, GIFs, videos). Filter by media-type (IMAGE, GIF, VIDEO).",
|
|
@@ -16201,7 +16242,7 @@ registerSchema({
|
|
|
16201
16242
|
output: { type: "string", description: "Format: json|csv|md", required: false, default: "json" }
|
|
16202
16243
|
}
|
|
16203
16244
|
});
|
|
16204
|
-
var mediaCommand =
|
|
16245
|
+
var mediaCommand = defineCommand76({
|
|
16205
16246
|
meta: {
|
|
16206
16247
|
name: "media",
|
|
16207
16248
|
description: `List media assets in the X Ads media library.
|
|
@@ -16253,7 +16294,7 @@ Examples:
|
|
|
16253
16294
|
});
|
|
16254
16295
|
|
|
16255
16296
|
// src/commands/ads/x/promoted-tweets.ts
|
|
16256
|
-
import { defineCommand as
|
|
16297
|
+
import { defineCommand as defineCommand77 } from "citty";
|
|
16257
16298
|
registerSchema({
|
|
16258
16299
|
command: "ads.x.promotedTweets",
|
|
16259
16300
|
description: "List promoted tweets for an X Ads account. Returns id, line_item_id, tweet_id, approval_status. Filter by line-item-ids (CSV).",
|
|
@@ -16264,7 +16305,7 @@ registerSchema({
|
|
|
16264
16305
|
"no-cache": { type: "boolean", description: "Skip cache", required: false }
|
|
16265
16306
|
}
|
|
16266
16307
|
});
|
|
16267
|
-
var promotedTweetsCommand =
|
|
16308
|
+
var promotedTweetsCommand = defineCommand77({
|
|
16268
16309
|
meta: {
|
|
16269
16310
|
name: "promoted-tweets",
|
|
16270
16311
|
description: `List X Ads promoted tweets.
|
|
@@ -16318,11 +16359,11 @@ Examples:
|
|
|
16318
16359
|
});
|
|
16319
16360
|
|
|
16320
16361
|
// src/commands/ads/x/stats/index.ts
|
|
16321
|
-
import { defineCommand as
|
|
16362
|
+
import { defineCommand as defineCommand82 } from "citty";
|
|
16322
16363
|
|
|
16323
16364
|
// src/commands/ads/x/stats/job.ts
|
|
16324
16365
|
import { gunzipSync } from "zlib";
|
|
16325
|
-
import { defineCommand as
|
|
16366
|
+
import { defineCommand as defineCommand78 } from "citty";
|
|
16326
16367
|
var POLL_INTERVAL_MS2 = 1e4;
|
|
16327
16368
|
var DEADLINE_MS = 12 * 60 * 1e3;
|
|
16328
16369
|
var RESULT_CACHE_TTL_MS = 6 * 60 * 60 * 1e3;
|
|
@@ -16392,7 +16433,7 @@ async function pollUntilDone(accountId, jobId) {
|
|
|
16392
16433
|
function buildCacheKey(body) {
|
|
16393
16434
|
return `stats-job:${JSON.stringify(body)}`;
|
|
16394
16435
|
}
|
|
16395
|
-
var statsJobCommand =
|
|
16436
|
+
var statsJobCommand = defineCommand78({
|
|
16396
16437
|
meta: {
|
|
16397
16438
|
name: "job",
|
|
16398
16439
|
description: `Async X Ads stats job, sync from the CLI's perspective. Creates \u2192 polls \u2192 downloads \u2192 returns.
|
|
@@ -16497,7 +16538,7 @@ For fine-grained control (don't wait, poll yourself), use:
|
|
|
16497
16538
|
});
|
|
16498
16539
|
|
|
16499
16540
|
// src/commands/ads/x/stats/job-create.ts
|
|
16500
|
-
import { defineCommand as
|
|
16541
|
+
import { defineCommand as defineCommand79 } from "citty";
|
|
16501
16542
|
registerSchema({
|
|
16502
16543
|
command: "ads.x.statsJobCreate",
|
|
16503
16544
|
description: "Create an asynchronous X Ads stats job (range up to 90 days non-segmented, 45 days segmented). Returns a job id; poll with `stats job-status`. Times must be ISO 8601 hour-aligned.",
|
|
@@ -16520,7 +16561,7 @@ function parseCsv3(v) {
|
|
|
16520
16561
|
const parts = v.split(",").map((s) => s.trim()).filter(Boolean);
|
|
16521
16562
|
return parts.length > 0 ? parts : void 0;
|
|
16522
16563
|
}
|
|
16523
|
-
var statsJobCreateCommand =
|
|
16564
|
+
var statsJobCreateCommand = defineCommand79({
|
|
16524
16565
|
meta: {
|
|
16525
16566
|
name: "job-create",
|
|
16526
16567
|
description: `Create an async X Ads stats job (up to 90 days, supports segmentation).
|
|
@@ -16583,7 +16624,7 @@ Examples:
|
|
|
16583
16624
|
});
|
|
16584
16625
|
|
|
16585
16626
|
// src/commands/ads/x/stats/job-status.ts
|
|
16586
|
-
import { defineCommand as
|
|
16627
|
+
import { defineCommand as defineCommand80 } from "citty";
|
|
16587
16628
|
registerSchema({
|
|
16588
16629
|
command: "ads.x.statsJobStatus",
|
|
16589
16630
|
description: "Check the status of one or more X Ads stats jobs. Returns status (PROCESSING|SUCCESS|FAILED) and a downloadable url when SUCCESS. Pass --job-id or --job-ids (CSV).",
|
|
@@ -16593,7 +16634,7 @@ registerSchema({
|
|
|
16593
16634
|
"job-ids": { type: "string", description: "CSV of job IDs", required: false }
|
|
16594
16635
|
}
|
|
16595
16636
|
});
|
|
16596
|
-
var statsJobStatusCommand =
|
|
16637
|
+
var statsJobStatusCommand = defineCommand80({
|
|
16597
16638
|
meta: {
|
|
16598
16639
|
name: "job-status",
|
|
16599
16640
|
description: `Poll the status of an async X Ads stats job.
|
|
@@ -16634,7 +16675,7 @@ Examples:
|
|
|
16634
16675
|
});
|
|
16635
16676
|
|
|
16636
16677
|
// src/commands/ads/x/stats/sync.ts
|
|
16637
|
-
import { defineCommand as
|
|
16678
|
+
import { defineCommand as defineCommand81 } from "citty";
|
|
16638
16679
|
|
|
16639
16680
|
// src/commands/ads/x/presets.ts
|
|
16640
16681
|
var X_STATS_PRESETS = [
|
|
@@ -16793,7 +16834,7 @@ async function runSync(args, q) {
|
|
|
16793
16834
|
process.exit(1);
|
|
16794
16835
|
}
|
|
16795
16836
|
}
|
|
16796
|
-
var statsSyncCommand =
|
|
16837
|
+
var statsSyncCommand = defineCommand81({
|
|
16797
16838
|
meta: {
|
|
16798
16839
|
name: "sync",
|
|
16799
16840
|
description: `Synchronous X Ads analytics (max 7-day window).
|
|
@@ -16836,7 +16877,7 @@ Examples:
|
|
|
16836
16877
|
});
|
|
16837
16878
|
|
|
16838
16879
|
// src/commands/ads/x/stats/index.ts
|
|
16839
|
-
var statsCommand =
|
|
16880
|
+
var statsCommand = defineCommand82({
|
|
16840
16881
|
meta: {
|
|
16841
16882
|
name: "stats",
|
|
16842
16883
|
description: `X Ads analytics. Sync (\u22647 days, no segmentation) or async jobs (\u226490 days, segmentable).
|
|
@@ -16864,7 +16905,7 @@ Examples:
|
|
|
16864
16905
|
});
|
|
16865
16906
|
|
|
16866
16907
|
// src/commands/ads/x/targeting-constants.ts
|
|
16867
|
-
import { defineCommand as
|
|
16908
|
+
import { defineCommand as defineCommand83 } from "citty";
|
|
16868
16909
|
var ALLOWED_CONSTANTS = [
|
|
16869
16910
|
"locations",
|
|
16870
16911
|
"interests",
|
|
@@ -16892,7 +16933,7 @@ registerSchema({
|
|
|
16892
16933
|
"no-cache": { type: "boolean", description: "Skip cache", required: false }
|
|
16893
16934
|
}
|
|
16894
16935
|
});
|
|
16895
|
-
var targetingConstantsCommand =
|
|
16936
|
+
var targetingConstantsCommand = defineCommand83({
|
|
16896
16937
|
meta: {
|
|
16897
16938
|
name: "targeting-constants",
|
|
16898
16939
|
description: `Lookup X Ads targeting constants.
|
|
@@ -16942,7 +16983,7 @@ Examples:
|
|
|
16942
16983
|
});
|
|
16943
16984
|
|
|
16944
16985
|
// src/commands/ads/x/targeting-criteria.ts
|
|
16945
|
-
import { defineCommand as
|
|
16986
|
+
import { defineCommand as defineCommand84 } from "citty";
|
|
16946
16987
|
registerSchema({
|
|
16947
16988
|
command: "ads.x.targetingCriteria",
|
|
16948
16989
|
description: "List targeting criteria attached to line items in an X Ads account. Returns targeting_type, targeting_value, name, operator_type per criterion. Filter by line-item-ids.",
|
|
@@ -16952,7 +16993,7 @@ registerSchema({
|
|
|
16952
16993
|
"no-cache": { type: "boolean", description: "Skip cache", required: false }
|
|
16953
16994
|
}
|
|
16954
16995
|
});
|
|
16955
|
-
var targetingCriteriaCommand =
|
|
16996
|
+
var targetingCriteriaCommand = defineCommand84({
|
|
16956
16997
|
meta: {
|
|
16957
16998
|
name: "targeting-criteria",
|
|
16958
16999
|
description: `List targeting criteria attached to line items.
|
|
@@ -17003,7 +17044,7 @@ Examples:
|
|
|
17003
17044
|
});
|
|
17004
17045
|
|
|
17005
17046
|
// src/commands/ads/x/index.ts
|
|
17006
|
-
var xCommand =
|
|
17047
|
+
var xCommand = defineCommand85({
|
|
17007
17048
|
meta: {
|
|
17008
17049
|
name: "x",
|
|
17009
17050
|
description: `X (Twitter) Ads commands. Read campaigns, line items, promoted tweets, creatives, audiences, and analytics.
|
|
@@ -17042,7 +17083,7 @@ Full guide: __tooling__/docs/tools/baker/ads-x.md`
|
|
|
17042
17083
|
});
|
|
17043
17084
|
|
|
17044
17085
|
// src/commands/ads/index.ts
|
|
17045
|
-
var adsCommand2 =
|
|
17086
|
+
var adsCommand2 = defineCommand86({
|
|
17046
17087
|
meta: {
|
|
17047
17088
|
name: "ads",
|
|
17048
17089
|
description: `Ad platform commands. Each platform exposes its own native command surface \u2014 no forced parity.
|
|
@@ -17073,12 +17114,12 @@ Full guides: __tooling__/docs/tools/baker/ads-<platform>.md (google|meta|linkedi
|
|
|
17073
17114
|
});
|
|
17074
17115
|
|
|
17075
17116
|
// src/commands/brand/index.ts
|
|
17076
|
-
import { defineCommand as
|
|
17117
|
+
import { defineCommand as defineCommand88 } from "citty";
|
|
17077
17118
|
|
|
17078
17119
|
// src/commands/brand/fonts.ts
|
|
17079
17120
|
import { mkdir, readFile, writeFile } from "fs/promises";
|
|
17080
17121
|
import path from "path";
|
|
17081
|
-
import { defineCommand as
|
|
17122
|
+
import { defineCommand as defineCommand87 } from "citty";
|
|
17082
17123
|
|
|
17083
17124
|
// src/engine/brand/fonts.ts
|
|
17084
17125
|
var GOOGLE_CSS2 = "https://fonts.googleapis.com/css2";
|
|
@@ -17250,7 +17291,7 @@ async function readGlobalCss() {
|
|
|
17250
17291
|
return "";
|
|
17251
17292
|
}
|
|
17252
17293
|
}
|
|
17253
|
-
var fontsCheckCommand =
|
|
17294
|
+
var fontsCheckCommand = defineCommand87({
|
|
17254
17295
|
meta: {
|
|
17255
17296
|
name: "check",
|
|
17256
17297
|
description: "Verify the brand's fonts really exist. For every family/weight src/styles/global.css requests from Google Fonts, ask Google what it actually serves and report anything missing \u2014 a weight nobody serves renders as a synthesized fallback and looks off-brand everywhere."
|
|
@@ -17294,7 +17335,7 @@ var fontsCheckCommand = defineCommand86({
|
|
|
17294
17335
|
});
|
|
17295
17336
|
}
|
|
17296
17337
|
});
|
|
17297
|
-
var fontsFetchCommand =
|
|
17338
|
+
var fontsFetchCommand = defineCommand87({
|
|
17298
17339
|
meta: {
|
|
17299
17340
|
name: "fetch",
|
|
17300
17341
|
description: "Download a Google font into src/brand/fonts/ and print the @font-face block to paste above @theme in src/styles/global.css. Use when a brand font should be self-hosted rather than requested from Google on every page load."
|
|
@@ -17376,7 +17417,7 @@ var fontsFetchCommand = defineCommand86({
|
|
|
17376
17417
|
});
|
|
17377
17418
|
}
|
|
17378
17419
|
});
|
|
17379
|
-
var fontsCommand =
|
|
17420
|
+
var fontsCommand = defineCommand87({
|
|
17380
17421
|
meta: {
|
|
17381
17422
|
name: "fonts",
|
|
17382
17423
|
description: `Verify and self-host the brand's typefaces.
|
|
@@ -17394,7 +17435,7 @@ Subcommands:
|
|
|
17394
17435
|
});
|
|
17395
17436
|
|
|
17396
17437
|
// src/commands/brand/index.ts
|
|
17397
|
-
var brandCommand =
|
|
17438
|
+
var brandCommand = defineCommand88({
|
|
17398
17439
|
meta: {
|
|
17399
17440
|
name: "brand",
|
|
17400
17441
|
description: `Brand asset verification for src/brand/.
|
|
@@ -17410,11 +17451,11 @@ Subcommands:
|
|
|
17410
17451
|
});
|
|
17411
17452
|
|
|
17412
17453
|
// src/commands/canvas/index.ts
|
|
17413
|
-
import { defineCommand as
|
|
17454
|
+
import { defineCommand as defineCommand99 } from "citty";
|
|
17414
17455
|
|
|
17415
17456
|
// src/commands/canvas/catalog.ts
|
|
17416
|
-
import { defineCommand as
|
|
17417
|
-
var catalogCommand =
|
|
17457
|
+
import { defineCommand as defineCommand89 } from "citty";
|
|
17458
|
+
var catalogCommand = defineCommand89({
|
|
17418
17459
|
meta: {
|
|
17419
17460
|
name: "catalog",
|
|
17420
17461
|
description: "Print the agent-facing node catalog (JSON Schema). Includes every registered node grouped by category."
|
|
@@ -17429,7 +17470,7 @@ var catalogCommand = defineCommand88({
|
|
|
17429
17470
|
// src/commands/canvas/critique.ts
|
|
17430
17471
|
import { readFile as readFile2 } from "fs/promises";
|
|
17431
17472
|
import path2 from "path";
|
|
17432
|
-
import { defineCommand as
|
|
17473
|
+
import { defineCommand as defineCommand90 } from "citty";
|
|
17433
17474
|
|
|
17434
17475
|
// src/engine/scaffold/lib/critique.ts
|
|
17435
17476
|
var VIBE_CUE = /\b(light|lighting|golden|moody|warm|cool|tone|grade|contrast|shadow|glow|rim|backlit|neon|soft)\b/i;
|
|
@@ -17549,7 +17590,7 @@ function critiqueCanvas(canvas) {
|
|
|
17549
17590
|
}
|
|
17550
17591
|
|
|
17551
17592
|
// src/commands/canvas/critique.ts
|
|
17552
|
-
var critiqueCommand =
|
|
17593
|
+
var critiqueCommand = defineCommand90({
|
|
17553
17594
|
meta: {
|
|
17554
17595
|
name: "critique",
|
|
17555
17596
|
description: "Pre-spend creative critic (ADVISORY \u2014 never blocks). Scores a scaffolded creative BEFORE the billed render, so weak spots get fixed for free. A VIDEO creative is scored on hook strength, sound-off first-frame legibility, retention risk, and mechanism clarity; a STATIC ad on baked-text legibility risk, identity grounding, brand-type fidelity, and mechanism clarity. Ground a video hook against `baker winning-ads hooks` for a proven pattern."
|
|
@@ -17591,9 +17632,9 @@ import { execFile } from "child_process";
|
|
|
17591
17632
|
import { readdir, readFile as readFile3, stat } from "fs/promises";
|
|
17592
17633
|
import path3 from "path";
|
|
17593
17634
|
import { promisify } from "util";
|
|
17594
|
-
import { defineCommand as
|
|
17635
|
+
import { defineCommand as defineCommand91 } from "citty";
|
|
17595
17636
|
var execFileAsync = promisify(execFile);
|
|
17596
|
-
var inspectCommand =
|
|
17637
|
+
var inspectCommand = defineCommand91({
|
|
17597
17638
|
meta: {
|
|
17598
17639
|
name: "inspect",
|
|
17599
17640
|
description: "Dump a one-page summary of a canvas run: per-node duration + cache status, list of output files in the run dir, and optionally three thumbnail frames per video output. Pass either a run_id (resolved against --outputs-dir) or an absolute run directory."
|
|
@@ -17701,12 +17742,12 @@ async function probeDuration(filePath) {
|
|
|
17701
17742
|
|
|
17702
17743
|
// src/commands/canvas/rerun.ts
|
|
17703
17744
|
import path14 from "path";
|
|
17704
|
-
import { defineCommand as
|
|
17745
|
+
import { defineCommand as defineCommand93 } from "citty";
|
|
17705
17746
|
|
|
17706
17747
|
// src/commands/canvas/run.ts
|
|
17707
17748
|
import { readFile as readFile10 } from "fs/promises";
|
|
17708
17749
|
import path13 from "path";
|
|
17709
|
-
import { defineCommand as
|
|
17750
|
+
import { defineCommand as defineCommand92 } from "citty";
|
|
17710
17751
|
|
|
17711
17752
|
// src/commands/canvas/placeholders.ts
|
|
17712
17753
|
function unsuppliedPlaceholderAssets(canvas) {
|
|
@@ -21834,7 +21875,7 @@ async function restoreRunSnapshot(manifest, targetDir, opts = {}) {
|
|
|
21834
21875
|
}
|
|
21835
21876
|
|
|
21836
21877
|
// src/commands/canvas/run.ts
|
|
21837
|
-
var runCommand =
|
|
21878
|
+
var runCommand = defineCommand92({
|
|
21838
21879
|
meta: { name: "run", description: "Validate and execute a canvas JSON file." },
|
|
21839
21880
|
args: {
|
|
21840
21881
|
file: { type: "positional", required: true, description: "Path to canvas JSON" },
|
|
@@ -22204,7 +22245,7 @@ async function postInitialRunRecord(client, payload) {
|
|
|
22204
22245
|
|
|
22205
22246
|
// src/commands/canvas/rerun.ts
|
|
22206
22247
|
var SLUG_PATTERN = /^[a-z0-9](?:[a-z0-9-]*[a-z0-9])?$/;
|
|
22207
|
-
var rerunCommand =
|
|
22248
|
+
var rerunCommand = defineCommand93({
|
|
22208
22249
|
meta: {
|
|
22209
22250
|
name: "rerun",
|
|
22210
22251
|
description: "Re-run a creative's latest recorded canvas. Restores its definition files from run history first, so it works in a fresh workspace that never had the source chat's files \u2014 an interrupted run resumes (in-flight jobs re-attach), a completed one re-renders from the cache."
|
|
@@ -22301,7 +22342,7 @@ async function fetchManifest(url) {
|
|
|
22301
22342
|
// src/commands/canvas/scaffold-static-ad.ts
|
|
22302
22343
|
import { access, mkdir as mkdir6, readFile as readFile12, writeFile as writeFile7 } from "fs/promises";
|
|
22303
22344
|
import path18 from "path";
|
|
22304
|
-
import { defineCommand as
|
|
22345
|
+
import { defineCommand as defineCommand95 } from "citty";
|
|
22305
22346
|
|
|
22306
22347
|
// src/engine/scaffold/staticAd.ts
|
|
22307
22348
|
import { z as z19 } from "zod";
|
|
@@ -22647,7 +22688,7 @@ function isValidScaffoldSlug(slug) {
|
|
|
22647
22688
|
// src/commands/canvas/sync-definition.ts
|
|
22648
22689
|
import { readdir as readdir5, readFile as readFile11, stat as stat3 } from "fs/promises";
|
|
22649
22690
|
import path17 from "path";
|
|
22650
|
-
import { defineCommand as
|
|
22691
|
+
import { defineCommand as defineCommand94 } from "citty";
|
|
22651
22692
|
|
|
22652
22693
|
// src/commands/canvas/definition-graph.ts
|
|
22653
22694
|
var MAX_NODES = 300;
|
|
@@ -22760,7 +22801,7 @@ async function resolveCanvasPath(inputPath) {
|
|
|
22760
22801
|
const chosen = (slug ? canvases.find((name) => name === `${slug}.canvas.json`) : void 0) ?? canvases[0];
|
|
22761
22802
|
return chosen ? path17.join(dir, chosen) : null;
|
|
22762
22803
|
}
|
|
22763
|
-
var syncDefinitionCommand =
|
|
22804
|
+
var syncDefinitionCommand = defineCommand94({
|
|
22764
22805
|
meta: {
|
|
22765
22806
|
name: "sync-definition",
|
|
22766
22807
|
description: "Push a creative's current node-graph + input thumbnails to the dashboard without rendering. Runs automatically when you edit a creative's canvas.json or prompt.json."
|
|
@@ -22988,7 +23029,7 @@ async function runVisionPasses(canvas) {
|
|
|
22988
23029
|
return fail3("read_outputs", e instanceof Error ? e.message : String(e));
|
|
22989
23030
|
}
|
|
22990
23031
|
}
|
|
22991
|
-
var scaffoldStaticAdCommand =
|
|
23032
|
+
var scaffoldStaticAdCommand = defineCommand95({
|
|
22992
23033
|
meta: {
|
|
22993
23034
|
name: "scaffold-static-ad",
|
|
22994
23035
|
description: "Turn a source/inspiration image into a runnable static-ad canvas. Runs billed passes \u2014 image_describe (the blueprint, baked to prompt.json as the editable 'prompt'), an AI selection of the image's MAIN identity elements, and a structured global-layout pass (the column/row grid with per-region bounds and text sizes) \u2014 then scaffolds a canvas that wires one [TODO] ingest slot per element (logo/product/subject/badge + brand font) into image_generate. By default it also fans the hero out to the platform's placement ratios (via image_aspect_adapt \u2014 the hero ratio is free, the rest are billed AI recompositions); pass --placements none for a single base ad, or a preset to pick the set. Edit prompt.json and drop the real assets, then `baker canvas run` it."
|
|
@@ -23177,7 +23218,7 @@ var scaffoldStaticAdCommand = defineCommand94({
|
|
|
23177
23218
|
import { access as access2, cp, mkdir as mkdir7, readFile as readFile15, rm as rm6, writeFile as writeFile8 } from "fs/promises";
|
|
23178
23219
|
import { tmpdir as tmpdir2 } from "os";
|
|
23179
23220
|
import path21 from "path";
|
|
23180
|
-
import { defineCommand as
|
|
23221
|
+
import { defineCommand as defineCommand96 } from "citty";
|
|
23181
23222
|
|
|
23182
23223
|
// src/engine/scaffold/lib/model-router.ts
|
|
23183
23224
|
var SEEDANCE = "bytedance/seedance-2.0";
|
|
@@ -23635,7 +23676,7 @@ async function runAnalysisPasses(deconstructCanvas, selectModel) {
|
|
|
23635
23676
|
return fail4("deconstruct", e instanceof Error ? e.message : String(e));
|
|
23636
23677
|
}
|
|
23637
23678
|
}
|
|
23638
|
-
var scaffoldVideoCommand =
|
|
23679
|
+
var scaffoldVideoCommand = defineCommand96({
|
|
23639
23680
|
meta: {
|
|
23640
23681
|
name: "scaffold-video",
|
|
23641
23682
|
description: "Turn a reference video into a runnable reproduction canvas in one command. Runs billed passes \u2014 video_deconstruct (the full scene-by-scene blueprint + transcript, baked to a split, editable blueprint: a global prompt.json plus one small scenes/sNN.json per scene) and an AI selection of the video's RECURRING identity elements (person/animal/product/logo) \u2014 then scaffolds a pipeline where every scene boundary is a static-ad-grade frame (the blueprint as target_blueprint, a reference legend, the real frame as anchor) and each recurring element gets ONE shared [TODO] ingest slot wired into every frame it appears in. The clips feed Seedance an ultra-detailed motion brief (action, camera, dialogue, transcript). Edit a scene's scenes/sNN.json (or prompt.json for global cast/palette/brand), drop the real source images, then `baker canvas run`."
|
|
@@ -23945,7 +23986,7 @@ var scaffoldVideoCommand = defineCommand95({
|
|
|
23945
23986
|
// src/commands/canvas/set-prompt.ts
|
|
23946
23987
|
import { readFile as readFile16, writeFile as writeFile9 } from "fs/promises";
|
|
23947
23988
|
import path22 from "path";
|
|
23948
|
-
import { defineCommand as
|
|
23989
|
+
import { defineCommand as defineCommand97 } from "citty";
|
|
23949
23990
|
function setNodePrompt(canvas, nodeId, text) {
|
|
23950
23991
|
const nodes = canvas?.nodes;
|
|
23951
23992
|
if (!Array.isArray(nodes)) throw new Error("canvas has no nodes array");
|
|
@@ -23960,7 +24001,7 @@ function setNodePrompt(canvas, nodeId, text) {
|
|
|
23960
24001
|
newNodes[idx] = newNode;
|
|
23961
24002
|
return { ...canvas, nodes: newNodes };
|
|
23962
24003
|
}
|
|
23963
|
-
var setPromptCommand =
|
|
24004
|
+
var setPromptCommand = defineCommand97({
|
|
23964
24005
|
meta: {
|
|
23965
24006
|
name: "set-prompt",
|
|
23966
24007
|
description: "Safely set a node's params.prompt (a frame description, motion prompt, etc.) without hand-editing the JSON. Prefer --text-file for multi-line/accented copy \u2014 it preserves UTF-8 exactly, unlike shell-quoted jq."
|
|
@@ -24020,8 +24061,8 @@ var setPromptCommand = defineCommand96({
|
|
|
24020
24061
|
// src/commands/canvas/validate.ts
|
|
24021
24062
|
import { readFile as readFile17 } from "fs/promises";
|
|
24022
24063
|
import path23 from "path";
|
|
24023
|
-
import { defineCommand as
|
|
24024
|
-
var validateCommand =
|
|
24064
|
+
import { defineCommand as defineCommand98 } from "citty";
|
|
24065
|
+
var validateCommand = defineCommand98({
|
|
24025
24066
|
meta: {
|
|
24026
24067
|
name: "validate",
|
|
24027
24068
|
description: "Validate a canvas JSON file (no execution). Includes a per-node cost preview and runs each node's deep validators (composition meta checks for hyperframe_render/_snapshot)."
|
|
@@ -24091,7 +24132,7 @@ var validateCommand = defineCommand97({
|
|
|
24091
24132
|
});
|
|
24092
24133
|
|
|
24093
24134
|
// src/commands/canvas/index.ts
|
|
24094
|
-
var canvasCommand =
|
|
24135
|
+
var canvasCommand = defineCommand99({
|
|
24095
24136
|
meta: {
|
|
24096
24137
|
name: "canvas",
|
|
24097
24138
|
description: `Run Baker creative canvas JSON files locally. Local nodes execute in-process; remote nodes POST to the Convex backend gateway.
|
|
@@ -24125,7 +24166,7 @@ Full guide: __tooling__/docs/tools/baker/canvas.md`
|
|
|
24125
24166
|
});
|
|
24126
24167
|
|
|
24127
24168
|
// src/commands/chats/index.ts
|
|
24128
|
-
import { defineCommand as
|
|
24169
|
+
import { defineCommand as defineCommand100 } from "citty";
|
|
24129
24170
|
var STATUS_GROUPS = ["active", "archived", "all"];
|
|
24130
24171
|
var REPO_SURFACES = ["knowledge", "company", "brand", "landings", "flows", "creatives"];
|
|
24131
24172
|
function parseBoundedInt(raw, name, min, max) {
|
|
@@ -24147,7 +24188,7 @@ registerSchema({
|
|
|
24147
24188
|
full: { type: "boolean", description: "Include each Session's full change list", required: false, default: false }
|
|
24148
24189
|
}
|
|
24149
24190
|
});
|
|
24150
|
-
var listCommand10 =
|
|
24191
|
+
var listCommand10 = defineCommand100({
|
|
24151
24192
|
meta: { name: "list", description: "List other Sessions on this account, newest first." },
|
|
24152
24193
|
args: {
|
|
24153
24194
|
status: { type: "string", description: "Filter: active|archived|all (default: all)", required: false },
|
|
@@ -24202,7 +24243,7 @@ registerSchema({
|
|
|
24202
24243
|
}
|
|
24203
24244
|
}
|
|
24204
24245
|
});
|
|
24205
|
-
var viewCommand =
|
|
24246
|
+
var viewCommand = defineCommand100({
|
|
24206
24247
|
meta: {
|
|
24207
24248
|
name: "view",
|
|
24208
24249
|
description: "Inspect one Session's full effects \u2014 git content + actions/tags/ads, kickoff, commits."
|
|
@@ -24246,7 +24287,7 @@ registerSchema({
|
|
|
24246
24287
|
}
|
|
24247
24288
|
}
|
|
24248
24289
|
});
|
|
24249
|
-
var transcriptCommand =
|
|
24290
|
+
var transcriptCommand = defineCommand100({
|
|
24250
24291
|
meta: { name: "transcript", description: "Read another Session's conversation." },
|
|
24251
24292
|
args: {
|
|
24252
24293
|
id: { type: "positional", description: "The Session id", required: true },
|
|
@@ -24298,7 +24339,7 @@ registerSchema({
|
|
|
24298
24339
|
}
|
|
24299
24340
|
}
|
|
24300
24341
|
});
|
|
24301
|
-
var diffCommand =
|
|
24342
|
+
var diffCommand = defineCommand100({
|
|
24302
24343
|
meta: { name: "diff", description: "See a published Session's real file-level changes." },
|
|
24303
24344
|
args: {
|
|
24304
24345
|
id: { type: "positional", description: "The Session id", required: true },
|
|
@@ -24342,7 +24383,7 @@ var diffCommand = defineCommand99({
|
|
|
24342
24383
|
}
|
|
24343
24384
|
}
|
|
24344
24385
|
});
|
|
24345
|
-
var chatsCommand =
|
|
24386
|
+
var chatsCommand = defineCommand100({
|
|
24346
24387
|
meta: {
|
|
24347
24388
|
name: "chats",
|
|
24348
24389
|
description: `Inspect other Sessions on this account (read-only): list them, view what they produced, read their conversation, and see their real file changes \u2014 so you can reuse past work for a new goal.
|
|
@@ -24357,10 +24398,10 @@ Full guide: __tooling__/docs/tools/baker/chats.md`
|
|
|
24357
24398
|
});
|
|
24358
24399
|
|
|
24359
24400
|
// src/commands/creatives/index.ts
|
|
24360
|
-
import { defineCommand as
|
|
24401
|
+
import { defineCommand as defineCommand102 } from "citty";
|
|
24361
24402
|
|
|
24362
24403
|
// src/commands/creatives/publish.ts
|
|
24363
|
-
import { defineCommand as
|
|
24404
|
+
import { defineCommand as defineCommand101 } from "citty";
|
|
24364
24405
|
|
|
24365
24406
|
// src/commands/images/api.ts
|
|
24366
24407
|
import { readFile as readFile18 } from "fs/promises";
|
|
@@ -24504,7 +24545,7 @@ async function publishCreative(args, deps = defaultImageApiDeps) {
|
|
|
24504
24545
|
chatId: chatIdFromEnv()
|
|
24505
24546
|
});
|
|
24506
24547
|
}
|
|
24507
|
-
var publishCommand =
|
|
24548
|
+
var publishCommand = defineCommand101({
|
|
24508
24549
|
meta: {
|
|
24509
24550
|
name: "publish",
|
|
24510
24551
|
description: "Publish a final static creative image to Baker Creatives and print the creative reference JSON."
|
|
@@ -24562,7 +24603,7 @@ var publishCommand = defineCommand100({
|
|
|
24562
24603
|
});
|
|
24563
24604
|
|
|
24564
24605
|
// src/commands/creatives/index.ts
|
|
24565
|
-
var creativesCommand3 =
|
|
24606
|
+
var creativesCommand3 = defineCommand102({
|
|
24566
24607
|
meta: {
|
|
24567
24608
|
name: "creatives",
|
|
24568
24609
|
description: `Publish static ad creatives as first-class Baker outputs.
|
|
@@ -24579,7 +24620,7 @@ Full guide: __tooling__/docs/tools/baker/creatives.md`
|
|
|
24579
24620
|
});
|
|
24580
24621
|
|
|
24581
24622
|
// src/commands/flows/index.ts
|
|
24582
|
-
import { defineCommand as
|
|
24623
|
+
import { defineCommand as defineCommand103 } from "citty";
|
|
24583
24624
|
|
|
24584
24625
|
// src/commands/flows/shared.ts
|
|
24585
24626
|
import { existsSync as existsSync4, readdirSync as readdirSync2, readFileSync as readFileSync9 } from "fs";
|
|
@@ -24734,7 +24775,7 @@ function displayName(slug) {
|
|
|
24734
24775
|
const name = tree.displayName;
|
|
24735
24776
|
return typeof name === "string" && name.trim() ? name.trim() : slug;
|
|
24736
24777
|
}
|
|
24737
|
-
var listCommand11 =
|
|
24778
|
+
var listCommand11 = defineCommand103({
|
|
24738
24779
|
meta: {
|
|
24739
24780
|
name: "list",
|
|
24740
24781
|
description: "List Forms in this workspace with the count of confidential fields still needing setup. Example: baker flows list"
|
|
@@ -24748,7 +24789,7 @@ var listCommand11 = defineCommand102({
|
|
|
24748
24789
|
writeJson({ ok: true, data: { flows } });
|
|
24749
24790
|
}
|
|
24750
24791
|
});
|
|
24751
|
-
var showCommand2 =
|
|
24792
|
+
var showCommand2 = defineCommand103({
|
|
24752
24793
|
meta: {
|
|
24753
24794
|
name: "show",
|
|
24754
24795
|
description: "Show a Form's confidential fields and their configuration status (never secret values). Example: baker flows show contact"
|
|
@@ -24769,7 +24810,7 @@ var showCommand2 = defineCommand102({
|
|
|
24769
24810
|
writeJson({ ok: true, data: response });
|
|
24770
24811
|
}
|
|
24771
24812
|
});
|
|
24772
|
-
var flowsCommand =
|
|
24813
|
+
var flowsCommand = defineCommand103({
|
|
24773
24814
|
meta: {
|
|
24774
24815
|
name: "flows",
|
|
24775
24816
|
description: `Read this workspace's Forms (flows) and the configuration status of their confidential fields \u2014 connection secrets, OAuth connections, and third-party field definitions (HubSpot, Calendly, HighLevel, SavvyCal).
|
|
@@ -24793,10 +24834,10 @@ Full guide: __tooling__/docs/tools/baker/flows.md`
|
|
|
24793
24834
|
});
|
|
24794
24835
|
|
|
24795
24836
|
// src/commands/ga4/index.ts
|
|
24796
|
-
import { defineCommand as
|
|
24837
|
+
import { defineCommand as defineCommand107 } from "citty";
|
|
24797
24838
|
|
|
24798
24839
|
// src/commands/ga4/audit.ts
|
|
24799
|
-
import { defineCommand as
|
|
24840
|
+
import { defineCommand as defineCommand104 } from "citty";
|
|
24800
24841
|
|
|
24801
24842
|
// src/commands/ga4/resolve.ts
|
|
24802
24843
|
async function fetchProperties(useCache = true) {
|
|
@@ -24862,7 +24903,7 @@ registerSchema({
|
|
|
24862
24903
|
"no-cache": { type: "boolean", description: "Skip cache, hit API directly", required: false }
|
|
24863
24904
|
}
|
|
24864
24905
|
});
|
|
24865
|
-
var auditCommand2 =
|
|
24906
|
+
var auditCommand2 = defineCommand104({
|
|
24866
24907
|
meta: {
|
|
24867
24908
|
name: "audit",
|
|
24868
24909
|
description: `Run all GA4 admin health checks. Returns property config with playbook warnings.
|
|
@@ -24917,7 +24958,7 @@ Examples:
|
|
|
24917
24958
|
});
|
|
24918
24959
|
|
|
24919
24960
|
// src/commands/ga4/properties.ts
|
|
24920
|
-
import { defineCommand as
|
|
24961
|
+
import { defineCommand as defineCommand105 } from "citty";
|
|
24921
24962
|
registerSchema({
|
|
24922
24963
|
command: "ga4.properties",
|
|
24923
24964
|
description: "List all accessible GA4 properties. Returns property IDs needed for query and audit commands. Run this first to find property IDs.",
|
|
@@ -24925,7 +24966,7 @@ registerSchema({
|
|
|
24925
24966
|
"no-cache": { type: "boolean", description: "Skip cache, hit API directly", required: false }
|
|
24926
24967
|
}
|
|
24927
24968
|
});
|
|
24928
|
-
var propertiesCommand =
|
|
24969
|
+
var propertiesCommand = defineCommand105({
|
|
24929
24970
|
meta: {
|
|
24930
24971
|
name: "properties",
|
|
24931
24972
|
description: `List accessible GA4 properties.
|
|
@@ -24975,7 +25016,7 @@ Examples:
|
|
|
24975
25016
|
// src/commands/ga4/query.ts
|
|
24976
25017
|
import { appendFileSync as appendFileSync2, existsSync as existsSync5, readFileSync as readFileSync10, writeFileSync as writeFileSync3 } from "fs";
|
|
24977
25018
|
import { resolve as resolve2 } from "path";
|
|
24978
|
-
import { defineCommand as
|
|
25019
|
+
import { defineCommand as defineCommand106 } from "citty";
|
|
24979
25020
|
|
|
24980
25021
|
// src/commands/ga4/presets.ts
|
|
24981
25022
|
var GA4_PRESETS = [
|
|
@@ -25110,7 +25151,7 @@ function handleError(err) {
|
|
|
25110
25151
|
});
|
|
25111
25152
|
process.exit(1);
|
|
25112
25153
|
}
|
|
25113
|
-
var queryCommand2 =
|
|
25154
|
+
var queryCommand2 = defineCommand106({
|
|
25114
25155
|
meta: {
|
|
25115
25156
|
name: "query",
|
|
25116
25157
|
description: `Run GA4 Data API reports. Preset-first with free-form escape hatch.
|
|
@@ -25181,7 +25222,7 @@ Free-form (escape hatch):
|
|
|
25181
25222
|
});
|
|
25182
25223
|
|
|
25183
25224
|
// src/commands/ga4/index.ts
|
|
25184
|
-
var ga4Command =
|
|
25225
|
+
var ga4Command = defineCommand107({
|
|
25185
25226
|
meta: {
|
|
25186
25227
|
name: "ga4",
|
|
25187
25228
|
description: `Google Analytics 4 commands. Audit property config, run playbook-aligned reports.
|
|
@@ -25205,12 +25246,12 @@ Full guide: __tooling__/docs/tools/baker/ga4.md`
|
|
|
25205
25246
|
});
|
|
25206
25247
|
|
|
25207
25248
|
// src/commands/gsc/index.ts
|
|
25208
|
-
import { defineCommand as
|
|
25249
|
+
import { defineCommand as defineCommand111 } from "citty";
|
|
25209
25250
|
|
|
25210
25251
|
// src/commands/gsc/query.ts
|
|
25211
25252
|
import { appendFileSync as appendFileSync3, existsSync as existsSync6, readFileSync as readFileSync11, writeFileSync as writeFileSync4 } from "fs";
|
|
25212
25253
|
import { resolve as resolve3 } from "path";
|
|
25213
|
-
import { defineCommand as
|
|
25254
|
+
import { defineCommand as defineCommand108 } from "citty";
|
|
25214
25255
|
|
|
25215
25256
|
// src/commands/gsc/presets.ts
|
|
25216
25257
|
var GSC_PRESETS = [
|
|
@@ -25404,7 +25445,7 @@ function handleError2(err) {
|
|
|
25404
25445
|
});
|
|
25405
25446
|
process.exit(1);
|
|
25406
25447
|
}
|
|
25407
|
-
var queryCommand3 =
|
|
25448
|
+
var queryCommand3 = defineCommand108({
|
|
25408
25449
|
meta: {
|
|
25409
25450
|
name: "query",
|
|
25410
25451
|
description: `Run GSC Search Analytics queries. Preset-first with free-form escape hatch.
|
|
@@ -25482,7 +25523,7 @@ Free-form (escape hatch):
|
|
|
25482
25523
|
});
|
|
25483
25524
|
|
|
25484
25525
|
// src/commands/gsc/sitemaps.ts
|
|
25485
|
-
import { defineCommand as
|
|
25526
|
+
import { defineCommand as defineCommand109 } from "citty";
|
|
25486
25527
|
registerSchema({
|
|
25487
25528
|
command: "gsc.sitemaps",
|
|
25488
25529
|
description: "List sitemaps for a Search Console site. Check sitemap health and errors.",
|
|
@@ -25491,7 +25532,7 @@ registerSchema({
|
|
|
25491
25532
|
"no-cache": { type: "boolean", description: "Skip cache, hit API directly", required: false }
|
|
25492
25533
|
}
|
|
25493
25534
|
});
|
|
25494
|
-
var sitemapsCommand =
|
|
25535
|
+
var sitemapsCommand = defineCommand109({
|
|
25495
25536
|
meta: {
|
|
25496
25537
|
name: "sitemaps",
|
|
25497
25538
|
description: `List sitemaps for a site. Check health and errors.
|
|
@@ -25544,7 +25585,7 @@ Examples:
|
|
|
25544
25585
|
});
|
|
25545
25586
|
|
|
25546
25587
|
// src/commands/gsc/sites.ts
|
|
25547
|
-
import { defineCommand as
|
|
25588
|
+
import { defineCommand as defineCommand110 } from "citty";
|
|
25548
25589
|
registerSchema({
|
|
25549
25590
|
command: "gsc.sites",
|
|
25550
25591
|
description: "List all verified Google Search Console sites. Returns site URLs needed for query and sitemaps commands.",
|
|
@@ -25552,7 +25593,7 @@ registerSchema({
|
|
|
25552
25593
|
"no-cache": { type: "boolean", description: "Skip cache, hit API directly", required: false }
|
|
25553
25594
|
}
|
|
25554
25595
|
});
|
|
25555
|
-
var sitesCommand =
|
|
25596
|
+
var sitesCommand = defineCommand110({
|
|
25556
25597
|
meta: {
|
|
25557
25598
|
name: "sites",
|
|
25558
25599
|
description: `List verified Search Console sites.
|
|
@@ -25600,7 +25641,7 @@ Examples:
|
|
|
25600
25641
|
});
|
|
25601
25642
|
|
|
25602
25643
|
// src/commands/gsc/index.ts
|
|
25603
|
-
var gscCommand =
|
|
25644
|
+
var gscCommand = defineCommand111({
|
|
25604
25645
|
meta: {
|
|
25605
25646
|
name: "gsc",
|
|
25606
25647
|
description: `Google Search Console commands. PPC-SEO arbitrage, brand halo analysis, negative keyword discovery.
|
|
@@ -25624,7 +25665,7 @@ Full guide: __tooling__/docs/tools/baker/gsc.md`
|
|
|
25624
25665
|
});
|
|
25625
25666
|
|
|
25626
25667
|
// src/commands/history/index.ts
|
|
25627
|
-
import { defineCommand as
|
|
25668
|
+
import { defineCommand as defineCommand112 } from "citty";
|
|
25628
25669
|
registerSchema({
|
|
25629
25670
|
command: "history.list",
|
|
25630
25671
|
description: "Start here: unified account history (audit log) \u2014 everything that changed on this account, newest first: publishes, chat lifecycle, backlog actions, team changes, setup links, tags, schedules, ad-platform writes, followed advertisers, media, creatives, reports, domains, and integrations. Use it to see what happened recently before planning work. Compact by default; add --full for raw metadata per entry.",
|
|
@@ -25679,7 +25720,7 @@ function parseBoundedInt2(raw, name, min, max) {
|
|
|
25679
25720
|
}
|
|
25680
25721
|
return value;
|
|
25681
25722
|
}
|
|
25682
|
-
var listCommand12 =
|
|
25723
|
+
var listCommand12 = defineCommand112({
|
|
25683
25724
|
meta: {
|
|
25684
25725
|
name: "list",
|
|
25685
25726
|
description: "List recent account changes (unified audit log), newest first."
|
|
@@ -25725,7 +25766,7 @@ var listCommand12 = defineCommand111({
|
|
|
25725
25766
|
}
|
|
25726
25767
|
}
|
|
25727
25768
|
});
|
|
25728
|
-
var historyCommand =
|
|
25769
|
+
var historyCommand = defineCommand112({
|
|
25729
25770
|
meta: {
|
|
25730
25771
|
name: "history",
|
|
25731
25772
|
description: `Unified account history (audit log): what changed, who did it, and when.
|
|
@@ -25735,7 +25776,7 @@ Full guide: __tooling__/docs/tools/baker/history.md`
|
|
|
25735
25776
|
});
|
|
25736
25777
|
|
|
25737
25778
|
// src/commands/hubspot/index.ts
|
|
25738
|
-
import { defineCommand as
|
|
25779
|
+
import { defineCommand as defineCommand113 } from "citty";
|
|
25739
25780
|
var EMBED_TYPES = ["legacy", "v4", "unknown"];
|
|
25740
25781
|
function failNotConnected(err) {
|
|
25741
25782
|
if (err instanceof ApiError && err.code === "NOT_FOUND" && err.message.includes("No HubSpot account is connected")) {
|
|
@@ -25817,7 +25858,7 @@ registerSchema({
|
|
|
25817
25858
|
}
|
|
25818
25859
|
}
|
|
25819
25860
|
});
|
|
25820
|
-
var formsListCommand =
|
|
25861
|
+
var formsListCommand = defineCommand113({
|
|
25821
25862
|
meta: {
|
|
25822
25863
|
name: "list",
|
|
25823
25864
|
description: "List HubSpot forms with embed type and post-submit action. Example: baker hubspot forms list --redirecting-only"
|
|
@@ -25862,7 +25903,7 @@ var formsListCommand = defineCommand112({
|
|
|
25862
25903
|
}
|
|
25863
25904
|
}
|
|
25864
25905
|
});
|
|
25865
|
-
var formsViewCommand =
|
|
25906
|
+
var formsViewCommand = defineCommand113({
|
|
25866
25907
|
meta: {
|
|
25867
25908
|
name: "view",
|
|
25868
25909
|
description: "Show one HubSpot form's fields and configuration. Example: baker hubspot forms view 1a2b3c"
|
|
@@ -25914,7 +25955,7 @@ var formsViewCommand = defineCommand112({
|
|
|
25914
25955
|
}
|
|
25915
25956
|
}
|
|
25916
25957
|
});
|
|
25917
|
-
var meetingsListCommand =
|
|
25958
|
+
var meetingsListCommand = defineCommand113({
|
|
25918
25959
|
meta: {
|
|
25919
25960
|
name: "list",
|
|
25920
25961
|
description: "List HubSpot meeting links (calendars). Example: baker hubspot meetings list"
|
|
@@ -25956,7 +25997,7 @@ var meetingsListCommand = defineCommand112({
|
|
|
25956
25997
|
}
|
|
25957
25998
|
}
|
|
25958
25999
|
});
|
|
25959
|
-
var meetingsViewCommand =
|
|
26000
|
+
var meetingsViewCommand = defineCommand113({
|
|
25960
26001
|
meta: {
|
|
25961
26002
|
name: "view",
|
|
25962
26003
|
description: "Show one HubSpot meeting link's booking fields. Example: baker hubspot meetings view discovery-call"
|
|
@@ -26000,15 +26041,15 @@ var meetingsViewCommand = defineCommand112({
|
|
|
26000
26041
|
}
|
|
26001
26042
|
}
|
|
26002
26043
|
});
|
|
26003
|
-
var formsCommand =
|
|
26044
|
+
var formsCommand = defineCommand113({
|
|
26004
26045
|
meta: { name: "forms", description: "HubSpot forms on the connected account." },
|
|
26005
26046
|
subCommands: { list: formsListCommand, view: formsViewCommand }
|
|
26006
26047
|
});
|
|
26007
|
-
var meetingsCommand =
|
|
26048
|
+
var meetingsCommand = defineCommand113({
|
|
26008
26049
|
meta: { name: "meetings", description: "HubSpot meeting links (calendars) on the connected account." },
|
|
26009
26050
|
subCommands: { list: meetingsListCommand, view: meetingsViewCommand }
|
|
26010
26051
|
});
|
|
26011
|
-
var hubspotCommand =
|
|
26052
|
+
var hubspotCommand = defineCommand113({
|
|
26012
26053
|
meta: {
|
|
26013
26054
|
name: "hubspot",
|
|
26014
26055
|
description: `Read the connected HubSpot account \u2014 forms and meeting links (calendars) \u2014 and get the blob to wire one into a Form step yourself.
|
|
@@ -26029,10 +26070,10 @@ Full guide: __tooling__/docs/tools/baker/hubspot.md`
|
|
|
26029
26070
|
});
|
|
26030
26071
|
|
|
26031
26072
|
// src/commands/images/index.ts
|
|
26032
|
-
import { defineCommand as
|
|
26073
|
+
import { defineCommand as defineCommand137 } from "citty";
|
|
26033
26074
|
|
|
26034
26075
|
// src/commands/images/crop.ts
|
|
26035
|
-
import { defineCommand as
|
|
26076
|
+
import { defineCommand as defineCommand114 } from "citty";
|
|
26036
26077
|
|
|
26037
26078
|
// src/lib/image/crop-sprite.ts
|
|
26038
26079
|
import sharp from "sharp";
|
|
@@ -26157,7 +26198,7 @@ function emitError2(err) {
|
|
|
26157
26198
|
}
|
|
26158
26199
|
process.exit(1);
|
|
26159
26200
|
}
|
|
26160
|
-
var cropCommand =
|
|
26201
|
+
var cropCommand = defineCommand114({
|
|
26161
26202
|
meta: {
|
|
26162
26203
|
name: "crop",
|
|
26163
26204
|
description: "Crop a rectangular region from an image.\n\nExample: baker images crop sprite.png --x 0 --y 0 --width 64 --height 64 --output icon.png"
|
|
@@ -26193,7 +26234,7 @@ var cropCommand = defineCommand113({
|
|
|
26193
26234
|
});
|
|
26194
26235
|
|
|
26195
26236
|
// src/commands/images/delete.ts
|
|
26196
|
-
import { defineCommand as
|
|
26237
|
+
import { defineCommand as defineCommand115 } from "citty";
|
|
26197
26238
|
registerSchema({
|
|
26198
26239
|
command: "images.delete",
|
|
26199
26240
|
description: "Delete an image by ID",
|
|
@@ -26207,7 +26248,7 @@ registerSchema({
|
|
|
26207
26248
|
}
|
|
26208
26249
|
}
|
|
26209
26250
|
});
|
|
26210
|
-
var deleteCommand =
|
|
26251
|
+
var deleteCommand = defineCommand115({
|
|
26211
26252
|
meta: {
|
|
26212
26253
|
name: "delete",
|
|
26213
26254
|
description: "Delete an image by ID. Use --dry-run to preview. Example: baker images delete j571abc123 --dry-run"
|
|
@@ -26248,7 +26289,7 @@ var deleteCommand = defineCommand114({
|
|
|
26248
26289
|
});
|
|
26249
26290
|
|
|
26250
26291
|
// src/commands/images/dimensions.ts
|
|
26251
|
-
import { defineCommand as
|
|
26292
|
+
import { defineCommand as defineCommand116 } from "citty";
|
|
26252
26293
|
|
|
26253
26294
|
// src/lib/image/dimensions.ts
|
|
26254
26295
|
import { imageSize } from "image-size";
|
|
@@ -26271,7 +26312,7 @@ registerSchema({
|
|
|
26271
26312
|
target: { type: "string", description: "Local file path or remote http(s) URL", required: true }
|
|
26272
26313
|
}
|
|
26273
26314
|
});
|
|
26274
|
-
var dimensionsCommand =
|
|
26315
|
+
var dimensionsCommand = defineCommand116({
|
|
26275
26316
|
meta: {
|
|
26276
26317
|
name: "dimensions",
|
|
26277
26318
|
description: "Read image dimensions without decoding the full file.\n\nExample: baker images dimensions ./logo.png\nExample: baker images dimensions https://acme.com/hero.png"
|
|
@@ -26315,7 +26356,7 @@ var dimensionsCommand = defineCommand115({
|
|
|
26315
26356
|
});
|
|
26316
26357
|
|
|
26317
26358
|
// src/commands/images/extract.ts
|
|
26318
|
-
import { defineCommand as
|
|
26359
|
+
import { defineCommand as defineCommand117 } from "citty";
|
|
26319
26360
|
registerSchema({
|
|
26320
26361
|
command: "images.extract",
|
|
26321
26362
|
description: "Extract images from a URL via Firecrawl (formats: images).",
|
|
@@ -26331,7 +26372,7 @@ registerSchema({
|
|
|
26331
26372
|
}
|
|
26332
26373
|
}
|
|
26333
26374
|
});
|
|
26334
|
-
var extractCommand =
|
|
26375
|
+
var extractCommand = defineCommand117({
|
|
26335
26376
|
meta: {
|
|
26336
26377
|
name: "extract",
|
|
26337
26378
|
description: "Pull every image from a single URL via Firecrawl. ~$0.001/scrape. Cap auto-ingest at 20.\n\nExample: baker images extract https://stripe.com --auto-ingest 5"
|
|
@@ -26369,7 +26410,7 @@ var extractCommand = defineCommand116({
|
|
|
26369
26410
|
});
|
|
26370
26411
|
|
|
26371
26412
|
// src/commands/images/find.ts
|
|
26372
|
-
import { defineCommand as
|
|
26413
|
+
import { defineCommand as defineCommand118 } from "citty";
|
|
26373
26414
|
registerSchema({
|
|
26374
26415
|
command: "images.find",
|
|
26375
26416
|
description: "Fanout image search: library first, then opted-in external providers.",
|
|
@@ -26401,7 +26442,7 @@ registerSchema({
|
|
|
26401
26442
|
}
|
|
26402
26443
|
}
|
|
26403
26444
|
});
|
|
26404
|
-
var findCommand =
|
|
26445
|
+
var findCommand = defineCommand118({
|
|
26405
26446
|
meta: {
|
|
26406
26447
|
name: "find",
|
|
26407
26448
|
description: "Library-first fanout image search. Opt in to providers with --sources. `--fallback` short-circuits to externals only when library is thin. With --auto-ingest, ingested external hits return Baker-owned URLs.\n\nExample: baker images find 'office' --sources library,magnific --limit 20"
|
|
@@ -26450,7 +26491,7 @@ var findCommand = defineCommand117({
|
|
|
26450
26491
|
|
|
26451
26492
|
// src/commands/images/generate.ts
|
|
26452
26493
|
import { readFile as readFile20 } from "fs/promises";
|
|
26453
|
-
import { defineCommand as
|
|
26494
|
+
import { defineCommand as defineCommand119 } from "citty";
|
|
26454
26495
|
import sharp2 from "sharp";
|
|
26455
26496
|
var GENERATE_TIMEOUT_MS = 18e4;
|
|
26456
26497
|
var REFERENCE_MAX_EDGE = 1536;
|
|
@@ -26553,7 +26594,7 @@ async function resolveReferences(spec) {
|
|
|
26553
26594
|
}
|
|
26554
26595
|
return out;
|
|
26555
26596
|
}
|
|
26556
|
-
var generateCommand =
|
|
26597
|
+
var generateCommand = defineCommand119({
|
|
26557
26598
|
meta: {
|
|
26558
26599
|
name: "generate",
|
|
26559
26600
|
description: "Generate an image with AI and store it in the library (cost-tracked per request via OpenRouter usage). Models mirror the canvas: google/gemini-3.1-flash-image-preview (Nano Banana flash \u2014 default, fast, extreme aspect ratios), google/gemini-3-pro-image-preview (Nano Banana Pro \u2014 highest fidelity), openai/gpt-image-2 (photoreal, cleanest in-image text, best for ad/landing reproduction \u2014 no --image-size, and no 4:5 / 5:4), recraft/recraft-v4.1-pro-vector (vector/SVG-style with palette control). The result is auto-ingested (describe + embed), so the next `baker images library` query finds it. Pass --reference with image URLs and/or local file paths (Pinterest, stock, brand assets, sandbox files) to ground generation in reality.\n\nExamples:\n baker images generate 'a friendly golden retriever sitting in a bright modern living room' --aspect-ratio 16:9\n baker images generate 'hero shot of a matte black water bottle on marble' --model openai/gpt-image-2 --aspect-ratio 3:2\n baker images generate 'lifestyle photo matching this mood' --reference 'https://\u2026/ref1.jpg,https://\u2026/ref2.jpg'\n baker images generate 'put this product on a marble countertop, soft daylight' --reference './src/brand/logos/product.png,./refs/kitchen-mood.jpg'\n baker images generate 'flat geometric mascot, brand palette' --model recraft/recraft-v4.1-pro-vector --rgb-colors '[[10,10,10],[255,80,0]]'"
|
|
@@ -26605,7 +26646,7 @@ var generateCommand = defineCommand118({
|
|
|
26605
26646
|
});
|
|
26606
26647
|
|
|
26607
26648
|
// src/commands/images/get.ts
|
|
26608
|
-
import { defineCommand as
|
|
26649
|
+
import { defineCommand as defineCommand120 } from "citty";
|
|
26609
26650
|
registerSchema({
|
|
26610
26651
|
command: "images.get",
|
|
26611
26652
|
description: "Get a single image by ID",
|
|
@@ -26613,7 +26654,7 @@ registerSchema({
|
|
|
26613
26654
|
id: { type: "string", description: "Image ID", required: true }
|
|
26614
26655
|
}
|
|
26615
26656
|
});
|
|
26616
|
-
var getCommand2 =
|
|
26657
|
+
var getCommand2 = defineCommand120({
|
|
26617
26658
|
meta: { name: "get", description: "Get a single image by ID. Example: baker images get j571abc123" },
|
|
26618
26659
|
args: {
|
|
26619
26660
|
id: { type: "positional", description: "Image ID", required: false },
|
|
@@ -26649,7 +26690,7 @@ var getCommand2 = defineCommand119({
|
|
|
26649
26690
|
});
|
|
26650
26691
|
|
|
26651
26692
|
// src/commands/images/gif.ts
|
|
26652
|
-
import { defineCommand as
|
|
26693
|
+
import { defineCommand as defineCommand121 } from "citty";
|
|
26653
26694
|
registerSchema({
|
|
26654
26695
|
command: "images.gif",
|
|
26655
26696
|
description: "Search Giphy for GIFs / reaction memes (paid social creative).",
|
|
@@ -26681,7 +26722,7 @@ registerSchema({
|
|
|
26681
26722
|
}
|
|
26682
26723
|
}
|
|
26683
26724
|
});
|
|
26684
|
-
var gifCommand =
|
|
26725
|
+
var gifCommand = defineCommand121({
|
|
26685
26726
|
meta: {
|
|
26686
26727
|
name: "gif",
|
|
26687
26728
|
description: "Search Giphy for GIFs / reaction memes \u2014 built for paid-social creative (Meta, TikTok, LinkedIn, X). Free API. Each hit carries WebP + GIF + MP4 URLs in providerMeta so you can pick the right format per platform.\n\nExample: baker images gif 'this is fine' --limit 10\nExample: baker images gif 'office reaction' --rating pg --auto-ingest 2\nExample: baker images gif --trending --limit 25"
|
|
@@ -26728,7 +26769,7 @@ var gifCommand = defineCommand120({
|
|
|
26728
26769
|
});
|
|
26729
26770
|
|
|
26730
26771
|
// src/commands/images/google.ts
|
|
26731
|
-
import { defineCommand as
|
|
26772
|
+
import { defineCommand as defineCommand122 } from "citty";
|
|
26732
26773
|
|
|
26733
26774
|
// src/commands/images/searchHints.ts
|
|
26734
26775
|
var FALLBACK = {
|
|
@@ -26792,7 +26833,7 @@ registerSchema({
|
|
|
26792
26833
|
}
|
|
26793
26834
|
}
|
|
26794
26835
|
});
|
|
26795
|
-
var googleCommand2 =
|
|
26836
|
+
var googleCommand2 = defineCommand122({
|
|
26796
26837
|
meta: {
|
|
26797
26838
|
name: "google",
|
|
26798
26839
|
description: "Google Images via the official Custom Search JSON API ($0.005/query, free 100/day). \u26A0 Source unverified \u2014 watermarks, low-res, mislabeled results are common. Use as last resort. With --auto-ingest, ingested hits return Baker-owned URLs.\n\nExample: baker images google 'industrial workshop' --type photo --size large --limit 20"
|
|
@@ -26848,7 +26889,7 @@ var googleCommand2 = defineCommand121({
|
|
|
26848
26889
|
});
|
|
26849
26890
|
|
|
26850
26891
|
// src/commands/images/icon.ts
|
|
26851
|
-
import { defineCommand as
|
|
26892
|
+
import { defineCommand as defineCommand123 } from "citty";
|
|
26852
26893
|
registerSchema({
|
|
26853
26894
|
command: "images.icon",
|
|
26854
26895
|
description: "Icon lookup via Iconify (200+ icon sets, free CDN).",
|
|
@@ -26874,7 +26915,7 @@ registerSchema({
|
|
|
26874
26915
|
}
|
|
26875
26916
|
}
|
|
26876
26917
|
});
|
|
26877
|
-
var iconCommand =
|
|
26918
|
+
var iconCommand = defineCommand123({
|
|
26878
26919
|
meta: {
|
|
26879
26920
|
name: "icon",
|
|
26880
26921
|
description: "Icon via Iconify (simple-icons, logos, lucide, devicon, heroicons, tabler, phosphor, material-symbols, \u2026). Free CDN, no API key.\n\nExample: baker images icon react --set devicon\nExample: baker images icon lucide:check --color '#0a0a0a'"
|
|
@@ -26914,7 +26955,7 @@ var iconCommand = defineCommand122({
|
|
|
26914
26955
|
});
|
|
26915
26956
|
|
|
26916
26957
|
// src/commands/images/ingest.ts
|
|
26917
|
-
import { defineCommand as
|
|
26958
|
+
import { defineCommand as defineCommand124 } from "citty";
|
|
26918
26959
|
registerSchema({
|
|
26919
26960
|
command: "images.ingest",
|
|
26920
26961
|
description: "Ingest a remote image URL into the library (full describe + embed).",
|
|
@@ -26926,7 +26967,7 @@ registerSchema({
|
|
|
26926
26967
|
context: { type: "string", description: "Description context hint", required: false }
|
|
26927
26968
|
}
|
|
26928
26969
|
});
|
|
26929
|
-
var ingestCommand =
|
|
26970
|
+
var ingestCommand = defineCommand124({
|
|
26930
26971
|
meta: {
|
|
26931
26972
|
name: "ingest",
|
|
26932
26973
|
description: "Download a remote URL and store it in the library. Hash-deduped on bytes + externalId.\n\nExample: baker images ingest https://img.freepik.com/free-photo/xyz.jpg --source magnific --external-id 12345"
|
|
@@ -26968,7 +27009,7 @@ var ingestCommand = defineCommand123({
|
|
|
26968
27009
|
});
|
|
26969
27010
|
|
|
26970
27011
|
// src/commands/images/library.ts
|
|
26971
|
-
import { defineCommand as
|
|
27012
|
+
import { defineCommand as defineCommand125 } from "citty";
|
|
26972
27013
|
registerSchema({
|
|
26973
27014
|
command: "images.library",
|
|
26974
27015
|
description: "Search the company image library. Returns only ready images.",
|
|
@@ -26994,7 +27035,7 @@ registerSchema({
|
|
|
26994
27035
|
}
|
|
26995
27036
|
}
|
|
26996
27037
|
});
|
|
26997
|
-
var libraryCommand =
|
|
27038
|
+
var libraryCommand = defineCommand125({
|
|
26998
27039
|
meta: {
|
|
26999
27040
|
name: "library",
|
|
27000
27041
|
description: "Search the company image library (hybrid BM25 + vector + Cohere rerank). Use this BEFORE any external provider.\n\nExample: baker images library 'hero banner' --aspect-ratio 16:9 --source magnific"
|
|
@@ -27051,7 +27092,7 @@ var libraryCommand = defineCommand124({
|
|
|
27051
27092
|
});
|
|
27052
27093
|
|
|
27053
27094
|
// src/commands/images/logo.ts
|
|
27054
|
-
import { defineCommand as
|
|
27095
|
+
import { defineCommand as defineCommand126 } from "citty";
|
|
27055
27096
|
registerSchema({
|
|
27056
27097
|
command: "images.logo",
|
|
27057
27098
|
description: "Brand logo lookup via Brandfetch CDN (fallback/404). Auto-ingests by default.",
|
|
@@ -27076,7 +27117,7 @@ registerSchema({
|
|
|
27076
27117
|
}
|
|
27077
27118
|
}
|
|
27078
27119
|
});
|
|
27079
|
-
var logoCommand =
|
|
27120
|
+
var logoCommand = defineCommand126({
|
|
27080
27121
|
meta: {
|
|
27081
27122
|
name: "logo",
|
|
27082
27123
|
description: "Brand logo via Brandfetch CDN. Returns up to 5 variants (icon, light/dark logo, light/dark symbol). Auto-ingests the first variant.\n\nExample: baker images logo stripe.com --variant logo"
|
|
@@ -27114,7 +27155,7 @@ var logoCommand = defineCommand125({
|
|
|
27114
27155
|
});
|
|
27115
27156
|
|
|
27116
27157
|
// src/commands/images/normalize.ts
|
|
27117
|
-
import { defineCommand as
|
|
27158
|
+
import { defineCommand as defineCommand127 } from "citty";
|
|
27118
27159
|
|
|
27119
27160
|
// src/lib/image/color-changer.ts
|
|
27120
27161
|
import quantize from "quantize";
|
|
@@ -27846,7 +27887,7 @@ function coerceRawArgs(args) {
|
|
|
27846
27887
|
"dry-run": bool(args["dry-run"])
|
|
27847
27888
|
};
|
|
27848
27889
|
}
|
|
27849
|
-
var normalizeCommand =
|
|
27890
|
+
var normalizeCommand = defineCommand127({
|
|
27850
27891
|
meta: {
|
|
27851
27892
|
name: "normalize",
|
|
27852
27893
|
description: `Normalize logos / images: declarative recolor + bg removal + trim + resize. Operates on local files; writes in-place by default.
|
|
@@ -27901,7 +27942,7 @@ Examples:
|
|
|
27901
27942
|
});
|
|
27902
27943
|
|
|
27903
27944
|
// src/commands/images/pinterest.ts
|
|
27904
|
-
import { defineCommand as
|
|
27945
|
+
import { defineCommand as defineCommand128 } from "citty";
|
|
27905
27946
|
registerSchema({
|
|
27906
27947
|
command: "images.pinterest",
|
|
27907
27948
|
description: "Pinterest image search via ScrapeCreators. Reference-grade real-world photography, product styling, interiors, fashion, food, and aesthetic mood boards. Inspect before placing \u2014 Pinterest is unverified, trademark-bearing web content.",
|
|
@@ -27921,7 +27962,7 @@ registerSchema({
|
|
|
27921
27962
|
}
|
|
27922
27963
|
}
|
|
27923
27964
|
});
|
|
27924
|
-
var pinterestCommand =
|
|
27965
|
+
var pinterestCommand = defineCommand128({
|
|
27925
27966
|
meta: {
|
|
27926
27967
|
name: "pinterest",
|
|
27927
27968
|
description: "Pinterest image search via ScrapeCreators ($0.00188/request). Best for photo-realistic reference imagery \u2014 lifestyle, interiors, fashion, food, product styling, and mood boards to brief AI generation against. \u26A0 Unverified, trademark-bearing web content \u2014 inspect and respect rights before placing on a customer page. Browse first; auto-ingest only the pins you commit to.\n\nExamples:\n baker images pinterest 'scandinavian living room'\n baker images pinterest 'minimalist skincare product photography' --limit 20\n baker images pinterest 'cozy coffee shop interior' --auto-ingest 2 --context 'Mood reference for hero photography'"
|
|
@@ -27961,7 +28002,7 @@ var pinterestCommand = defineCommand127({
|
|
|
27961
28002
|
});
|
|
27962
28003
|
|
|
27963
28004
|
// src/commands/images/screenshot.ts
|
|
27964
|
-
import { defineCommand as
|
|
28005
|
+
import { defineCommand as defineCommand129 } from "citty";
|
|
27965
28006
|
registerSchema({
|
|
27966
28007
|
command: "images.screenshot",
|
|
27967
28008
|
description: "Capture a website screenshot via ScreenshotOne. Auto-ingests on success.",
|
|
@@ -27977,7 +28018,7 @@ registerSchema({
|
|
|
27977
28018
|
}
|
|
27978
28019
|
}
|
|
27979
28020
|
});
|
|
27980
|
-
var screenshotCommand =
|
|
28021
|
+
var screenshotCommand = defineCommand129({
|
|
27981
28022
|
meta: {
|
|
27982
28023
|
name: "screenshot",
|
|
27983
28024
|
description: "Screenshot a URL via ScreenshotOne. $0.009/capture. Auto-ingests to library.\n\nExample: baker images screenshot https://stripe.com --full-page"
|
|
@@ -28040,7 +28081,7 @@ var screenshotCommand = defineCommand128({
|
|
|
28040
28081
|
});
|
|
28041
28082
|
|
|
28042
28083
|
// src/commands/images/search.ts
|
|
28043
|
-
import { defineCommand as
|
|
28084
|
+
import { defineCommand as defineCommand130 } from "citty";
|
|
28044
28085
|
registerSchema({
|
|
28045
28086
|
command: "images.search",
|
|
28046
28087
|
description: "Search images by text query. Only returns ready images.",
|
|
@@ -28056,7 +28097,7 @@ registerSchema({
|
|
|
28056
28097
|
tags: { type: "string", description: "Comma-separated tags to filter by", required: false }
|
|
28057
28098
|
}
|
|
28058
28099
|
});
|
|
28059
|
-
var searchCommand =
|
|
28100
|
+
var searchCommand = defineCommand130({
|
|
28060
28101
|
meta: {
|
|
28061
28102
|
name: "search",
|
|
28062
28103
|
description: "Semantic search images by text query. Uses hybrid BM25 + vector + reranking. Example: baker images search 'hero banner' --aspect-ratio 16:9 --tags logo"
|
|
@@ -28116,7 +28157,7 @@ var searchCommand = defineCommand129({
|
|
|
28116
28157
|
});
|
|
28117
28158
|
|
|
28118
28159
|
// src/commands/images/sticker.ts
|
|
28119
|
-
import { defineCommand as
|
|
28160
|
+
import { defineCommand as defineCommand131 } from "citty";
|
|
28120
28161
|
registerSchema({
|
|
28121
28162
|
command: "images.sticker",
|
|
28122
28163
|
description: "Search Giphy stickers \u2014 transparent-background overlays for ad creative.",
|
|
@@ -28148,7 +28189,7 @@ registerSchema({
|
|
|
28148
28189
|
}
|
|
28149
28190
|
}
|
|
28150
28191
|
});
|
|
28151
|
-
var stickerCommand =
|
|
28192
|
+
var stickerCommand = defineCommand131({
|
|
28152
28193
|
meta: {
|
|
28153
28194
|
name: "sticker",
|
|
28154
28195
|
description: "Search Giphy's sticker corpus \u2014 transparent-background WebPs / GIFs ideal for overlaying on ad creative (Meta, TikTok, Stories). Same Giphy free API as `baker images gif`; results carry WebP + GIF + MP4 URLs in providerMeta.\n\nExample: baker images sticker 'thumbs up' --limit 10\nExample: baker images sticker celebration --rating g --auto-ingest 3\nExample: baker images sticker --trending --limit 25"
|
|
@@ -28195,7 +28236,7 @@ var stickerCommand = defineCommand130({
|
|
|
28195
28236
|
});
|
|
28196
28237
|
|
|
28197
28238
|
// src/commands/images/stock.ts
|
|
28198
|
-
import { defineCommand as
|
|
28239
|
+
import { defineCommand as defineCommand132 } from "citty";
|
|
28199
28240
|
var STOCK_ERROR_FIX = {
|
|
28200
28241
|
action: "use_different_resource",
|
|
28201
28242
|
explanation: "Switch provider instead of retrying stock search. Stock search is one of several image sources. Run `baker images find <query> --sources library,pinterest,google` (`--sources` is required \u2014 `find` alone searches the library only) or `baker images generate` to make the asset. Never sleep-and-retry this command \u2014 the CLI already backs off on rate limits. If no image can be sourced, continue the rest of the task with a placeholder rather than aborting it."
|
|
@@ -28272,7 +28313,7 @@ function buildStockRequest(query, args) {
|
|
|
28272
28313
|
if (args.context) body.descriptionContext = args.context;
|
|
28273
28314
|
return body;
|
|
28274
28315
|
}
|
|
28275
|
-
var stockCommand =
|
|
28316
|
+
var stockCommand = defineCommand132({
|
|
28276
28317
|
meta: {
|
|
28277
28318
|
name: "stock",
|
|
28278
28319
|
description: "Stock search via Magnific \u2014 Freepik's developer API (~250M assets: photos, vectors, illustrations, icons, PSDs). $0.002/req. With --auto-ingest, ingested hits return Baker-owned URLs.\n\nExamples:\n baker images stock 'minimalist office'\n baker images stock 'flat office workers' --type vector\n baker images stock 'hero photo of a kitchen' --type photo --orientation landscape --ai exclude\n baker images stock 'brand pattern' --color '#0a0a0a' --license freemium --auto-ingest 2"
|
|
@@ -28328,7 +28369,7 @@ var stockCommand = defineCommand131({
|
|
|
28328
28369
|
});
|
|
28329
28370
|
|
|
28330
28371
|
// src/lib/tags-command.ts
|
|
28331
|
-
import { defineCommand as
|
|
28372
|
+
import { defineCommand as defineCommand133 } from "citty";
|
|
28332
28373
|
function makeTagsCommand(command, label, endpoint) {
|
|
28333
28374
|
registerSchema({
|
|
28334
28375
|
command: `${command}.tags`,
|
|
@@ -28337,7 +28378,7 @@ function makeTagsCommand(command, label, endpoint) {
|
|
|
28337
28378
|
output: { type: "string", description: "Output format: md|json", required: false, default: "md" }
|
|
28338
28379
|
}
|
|
28339
28380
|
});
|
|
28340
|
-
return
|
|
28381
|
+
return defineCommand133({
|
|
28341
28382
|
meta: {
|
|
28342
28383
|
name: "tags",
|
|
28343
28384
|
description: `List the available ${label} tag names (defaults + company custom tags). Use before filtering with --tags. Example: baker ${command} tags`
|
|
@@ -28373,7 +28414,7 @@ function makeTagsCommand(command, label, endpoint) {
|
|
|
28373
28414
|
var tagsCommand2 = makeTagsCommand("images", "image", "/api/images/tags");
|
|
28374
28415
|
|
|
28375
28416
|
// src/commands/images/upload.ts
|
|
28376
|
-
import { defineCommand as
|
|
28417
|
+
import { defineCommand as defineCommand134 } from "citty";
|
|
28377
28418
|
registerSchema({
|
|
28378
28419
|
command: "images.upload",
|
|
28379
28420
|
description: "Upload an image to the library \u2014 local file path or remote http(s) URL.",
|
|
@@ -28411,7 +28452,7 @@ registerSchema({
|
|
|
28411
28452
|
function isRemoteUrl2(value) {
|
|
28412
28453
|
return /^https?:\/\//i.test(value);
|
|
28413
28454
|
}
|
|
28414
|
-
var uploadCommand =
|
|
28455
|
+
var uploadCommand = defineCommand134({
|
|
28415
28456
|
meta: {
|
|
28416
28457
|
name: "upload",
|
|
28417
28458
|
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'"
|
|
@@ -28504,7 +28545,7 @@ async function uploadLocal(target, args) {
|
|
|
28504
28545
|
}
|
|
28505
28546
|
|
|
28506
28547
|
// src/commands/images/upscale.ts
|
|
28507
|
-
import { defineCommand as
|
|
28548
|
+
import { defineCommand as defineCommand135 } from "citty";
|
|
28508
28549
|
registerSchema({
|
|
28509
28550
|
command: "images.upscale",
|
|
28510
28551
|
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).",
|
|
@@ -28519,7 +28560,7 @@ registerSchema({
|
|
|
28519
28560
|
}
|
|
28520
28561
|
});
|
|
28521
28562
|
var POLL_INTERVAL_MS3 = 1500;
|
|
28522
|
-
var upscaleCommand =
|
|
28563
|
+
var upscaleCommand = defineCommand135({
|
|
28523
28564
|
meta: {
|
|
28524
28565
|
name: "upscale",
|
|
28525
28566
|
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"
|
|
@@ -28574,7 +28615,7 @@ var upscaleCommand = defineCommand134({
|
|
|
28574
28615
|
});
|
|
28575
28616
|
|
|
28576
28617
|
// src/commands/images/use.ts
|
|
28577
|
-
import { defineCommand as
|
|
28618
|
+
import { defineCommand as defineCommand136 } from "citty";
|
|
28578
28619
|
registerSchema({
|
|
28579
28620
|
command: "images.use",
|
|
28580
28621
|
description: "Ingest a URL and wait for the library record to be ready.",
|
|
@@ -28590,7 +28631,7 @@ registerSchema({
|
|
|
28590
28631
|
}
|
|
28591
28632
|
});
|
|
28592
28633
|
var POLL_INTERVAL_MS4 = 1500;
|
|
28593
|
-
var useCommand =
|
|
28634
|
+
var useCommand = defineCommand136({
|
|
28594
28635
|
meta: {
|
|
28595
28636
|
name: "use",
|
|
28596
28637
|
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"
|
|
@@ -28636,7 +28677,7 @@ var useCommand = defineCommand135({
|
|
|
28636
28677
|
});
|
|
28637
28678
|
|
|
28638
28679
|
// src/commands/images/index.ts
|
|
28639
|
-
var imagesCommand =
|
|
28680
|
+
var imagesCommand = defineCommand137({
|
|
28640
28681
|
meta: {
|
|
28641
28682
|
name: "images",
|
|
28642
28683
|
description: `Find, source, and normalize images. Subcommands route by provider so cost + license are explicit.
|
|
@@ -28707,12 +28748,12 @@ Full guide: __tooling__/docs/tools/baker/images.md`
|
|
|
28707
28748
|
});
|
|
28708
28749
|
|
|
28709
28750
|
// src/commands/landing/index.ts
|
|
28710
|
-
import { defineCommand as
|
|
28751
|
+
import { defineCommand as defineCommand139 } from "citty";
|
|
28711
28752
|
|
|
28712
28753
|
// src/commands/landing/critique.ts
|
|
28713
28754
|
import { readdir as readdir8, stat as stat6 } from "fs/promises";
|
|
28714
28755
|
import path27 from "path";
|
|
28715
|
-
import { defineCommand as
|
|
28756
|
+
import { defineCommand as defineCommand138 } from "citty";
|
|
28716
28757
|
|
|
28717
28758
|
// src/engine/landing/lib/brand-tokens.ts
|
|
28718
28759
|
import { readFile as readFile21 } from "fs/promises";
|
|
@@ -29970,7 +30011,7 @@ function fail5(code, message, fix) {
|
|
|
29970
30011
|
);
|
|
29971
30012
|
process.exit(2);
|
|
29972
30013
|
}
|
|
29973
|
-
var critiqueCommand2 =
|
|
30014
|
+
var critiqueCommand2 = defineCommand138({
|
|
29974
30015
|
meta: {
|
|
29975
30016
|
name: "critique",
|
|
29976
30017
|
description: "Start here: `baker landing critique <slug>` after building or editing a landing. Deterministic design-quality critic (ADVISORY \u2014 findings never fail it). Flags the known AI design tells (gradient text, overused fonts, side-tab borders, cream palettes, buzzword copy, broken images) tiered block/warn/advisory, respecting the client's BRAND.md as the allowlist. Also records the critique that publishing requires \u2014 run it before finishing a landing."
|
|
@@ -30079,7 +30120,7 @@ async function isDir(p) {
|
|
|
30079
30120
|
}
|
|
30080
30121
|
|
|
30081
30122
|
// src/commands/landing/index.ts
|
|
30082
|
-
var landingCommand =
|
|
30123
|
+
var landingCommand = defineCommand139({
|
|
30083
30124
|
meta: {
|
|
30084
30125
|
name: "landing",
|
|
30085
30126
|
description: `Design-quality tools for landing pages (src/pages/<slug>/).
|
|
@@ -30095,7 +30136,7 @@ Subcommands:
|
|
|
30095
30136
|
});
|
|
30096
30137
|
|
|
30097
30138
|
// src/commands/mcp/index.ts
|
|
30098
|
-
import { defineCommand as
|
|
30139
|
+
import { defineCommand as defineCommand140 } from "citty";
|
|
30099
30140
|
var SCOPES = ["user", "user_org", "company", "org"];
|
|
30100
30141
|
function parseScope(raw) {
|
|
30101
30142
|
const scope = raw === void 0 ? "company" : String(raw);
|
|
@@ -30148,7 +30189,7 @@ registerSchema({
|
|
|
30148
30189
|
description: "List every third-party tool this chat can reach: managed integrations (Attio, Slack, Gmail, Google Sheets, \u2026) plus custom MCP servers. Start here when the user mentions an external tool.",
|
|
30149
30190
|
args: {}
|
|
30150
30191
|
});
|
|
30151
|
-
var connectedCommand =
|
|
30192
|
+
var connectedCommand = defineCommand140({
|
|
30152
30193
|
meta: {
|
|
30153
30194
|
name: "connected",
|
|
30154
30195
|
description: `List all connected third-party tools \u2014 managed integrations plus custom MCP servers.
|
|
@@ -30201,7 +30242,7 @@ registerSchema({
|
|
|
30201
30242
|
description: "List the custom MCP servers this company's chats see (org + company + your own user scope).",
|
|
30202
30243
|
args: {}
|
|
30203
30244
|
});
|
|
30204
|
-
var listCommand13 =
|
|
30245
|
+
var listCommand13 = defineCommand140({
|
|
30205
30246
|
meta: { name: "list", description: "List custom MCP servers visible to this company's chats." },
|
|
30206
30247
|
run: async () => {
|
|
30207
30248
|
try {
|
|
@@ -30238,7 +30279,7 @@ registerSchema({
|
|
|
30238
30279
|
header: { type: "string", description: 'Auth header "Key: Value" (repeatable)', required: false }
|
|
30239
30280
|
}
|
|
30240
30281
|
});
|
|
30241
|
-
var addCommand =
|
|
30282
|
+
var addCommand = defineCommand140({
|
|
30242
30283
|
meta: {
|
|
30243
30284
|
name: "add",
|
|
30244
30285
|
description: `Register a custom MCP server. Tools appear as mcp__<name>__* on the NEXT message.
|
|
@@ -30290,7 +30331,7 @@ registerSchema({
|
|
|
30290
30331
|
description: "Remove a company custom MCP server by name.",
|
|
30291
30332
|
args: { name: { type: "string", description: "Server name to remove", required: true } }
|
|
30292
30333
|
});
|
|
30293
|
-
var removeCommand4 =
|
|
30334
|
+
var removeCommand4 = defineCommand140({
|
|
30294
30335
|
meta: {
|
|
30295
30336
|
name: "remove",
|
|
30296
30337
|
description: `Remove a company custom MCP server by name.
|
|
@@ -30312,7 +30353,7 @@ Example:
|
|
|
30312
30353
|
}
|
|
30313
30354
|
}
|
|
30314
30355
|
});
|
|
30315
|
-
var mcpCommand =
|
|
30356
|
+
var mcpCommand = defineCommand140({
|
|
30316
30357
|
meta: {
|
|
30317
30358
|
name: "mcp",
|
|
30318
30359
|
description: `Third-party tools for this company \u2014 see what's connected, register custom HTTPS MCP endpoints.
|
|
@@ -30338,10 +30379,10 @@ Full guide: __tooling__/docs/tools/baker/mcp.md`
|
|
|
30338
30379
|
});
|
|
30339
30380
|
|
|
30340
30381
|
// src/commands/research/index.ts
|
|
30341
|
-
import { defineCommand as
|
|
30382
|
+
import { defineCommand as defineCommand151 } from "citty";
|
|
30342
30383
|
|
|
30343
30384
|
// src/commands/research/advertisers.ts
|
|
30344
|
-
import { defineCommand as
|
|
30385
|
+
import { defineCommand as defineCommand141 } from "citty";
|
|
30345
30386
|
|
|
30346
30387
|
// src/commands/research/output.ts
|
|
30347
30388
|
var RESEARCH_DATA_NOTE = "Estimates based on third-party SERP data \u2014 not exact figures. Use for directional insights, not precise measurement.";
|
|
@@ -30454,7 +30495,7 @@ var FIELDS3 = {
|
|
|
30454
30495
|
etv: "Estimated traffic value (USD)",
|
|
30455
30496
|
visibility: "SERP visibility score (0-1)"
|
|
30456
30497
|
};
|
|
30457
|
-
var advertisersCommand =
|
|
30498
|
+
var advertisersCommand = defineCommand141({
|
|
30458
30499
|
meta: {
|
|
30459
30500
|
name: "advertisers",
|
|
30460
30501
|
description: `Find domains competing for a keyword in Google SERPs.
|
|
@@ -30501,7 +30542,7 @@ Examples:
|
|
|
30501
30542
|
});
|
|
30502
30543
|
|
|
30503
30544
|
// src/commands/research/autocomplete.ts
|
|
30504
|
-
import { defineCommand as
|
|
30545
|
+
import { defineCommand as defineCommand142 } from "citty";
|
|
30505
30546
|
registerSchema({
|
|
30506
30547
|
command: "research.autocomplete",
|
|
30507
30548
|
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).",
|
|
@@ -30524,7 +30565,7 @@ registerSchema({
|
|
|
30524
30565
|
var FIELDS4 = {
|
|
30525
30566
|
suggestion: "Autocomplete suggestion from Google"
|
|
30526
30567
|
};
|
|
30527
|
-
var autocompleteCommand =
|
|
30568
|
+
var autocompleteCommand = defineCommand142({
|
|
30528
30569
|
meta: {
|
|
30529
30570
|
name: "autocomplete",
|
|
30530
30571
|
description: `Get Google Autocomplete suggestions for keyword expansion.
|
|
@@ -30570,7 +30611,7 @@ Examples:
|
|
|
30570
30611
|
});
|
|
30571
30612
|
|
|
30572
30613
|
// src/commands/research/countries.ts
|
|
30573
|
-
import { defineCommand as
|
|
30614
|
+
import { defineCommand as defineCommand143 } from "citty";
|
|
30574
30615
|
registerSchema({
|
|
30575
30616
|
command: "research.countries",
|
|
30576
30617
|
description: "List all supported country codes for --location flag in research commands.",
|
|
@@ -30627,7 +30668,7 @@ var FIELDS5 = {
|
|
|
30627
30668
|
code: "Country code to pass as --location",
|
|
30628
30669
|
name: "Country name"
|
|
30629
30670
|
};
|
|
30630
|
-
var countriesCommand =
|
|
30671
|
+
var countriesCommand = defineCommand143({
|
|
30631
30672
|
meta: {
|
|
30632
30673
|
name: "countries",
|
|
30633
30674
|
description: "List all supported country codes for --location flag."
|
|
@@ -30638,7 +30679,7 @@ var countriesCommand = defineCommand142({
|
|
|
30638
30679
|
});
|
|
30639
30680
|
|
|
30640
30681
|
// src/commands/research/intent.ts
|
|
30641
|
-
import { defineCommand as
|
|
30682
|
+
import { defineCommand as defineCommand144 } from "citty";
|
|
30642
30683
|
registerSchema({
|
|
30643
30684
|
command: "research.intent",
|
|
30644
30685
|
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.",
|
|
@@ -30661,7 +30702,7 @@ var FIELDS6 = {
|
|
|
30661
30702
|
intent: "Primary Google Search intent: informational, navigational, commercial, transactional",
|
|
30662
30703
|
probability: "Confidence score 0.0-1.0"
|
|
30663
30704
|
};
|
|
30664
|
-
var intentCommand =
|
|
30705
|
+
var intentCommand = defineCommand144({
|
|
30665
30706
|
meta: {
|
|
30666
30707
|
name: "intent",
|
|
30667
30708
|
description: `Classify Google Search intent for keywords. Returns intent type and confidence.
|
|
@@ -30709,7 +30750,7 @@ Examples:
|
|
|
30709
30750
|
});
|
|
30710
30751
|
|
|
30711
30752
|
// src/commands/research/keyword-gap.ts
|
|
30712
|
-
import { defineCommand as
|
|
30753
|
+
import { defineCommand as defineCommand145 } from "citty";
|
|
30713
30754
|
registerSchema({
|
|
30714
30755
|
command: "research.keyword-gap",
|
|
30715
30756
|
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.",
|
|
@@ -30738,7 +30779,7 @@ var FIELDS7 = {
|
|
|
30738
30779
|
cpc: "Cost per click USD",
|
|
30739
30780
|
their_position: "Competitor's ranking position"
|
|
30740
30781
|
};
|
|
30741
|
-
var keywordGapCommand =
|
|
30782
|
+
var keywordGapCommand = defineCommand145({
|
|
30742
30783
|
meta: {
|
|
30743
30784
|
name: "keyword-gap",
|
|
30744
30785
|
description: `Find keywords a competitor has that you don't. Supports pagination via --offset.
|
|
@@ -30812,7 +30853,7 @@ Examples:
|
|
|
30812
30853
|
});
|
|
30813
30854
|
|
|
30814
30855
|
// src/commands/research/keywords-for-site.ts
|
|
30815
|
-
import { defineCommand as
|
|
30856
|
+
import { defineCommand as defineCommand146 } from "citty";
|
|
30816
30857
|
registerSchema({
|
|
30817
30858
|
command: "research.keywords-for-site",
|
|
30818
30859
|
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.",
|
|
@@ -30845,7 +30886,7 @@ var FIELDS8 = {
|
|
|
30845
30886
|
competition: "LOW, MEDIUM, or HIGH",
|
|
30846
30887
|
competition_index: "Competition score 0-100"
|
|
30847
30888
|
};
|
|
30848
|
-
var keywordsForSiteCommand =
|
|
30889
|
+
var keywordsForSiteCommand = defineCommand146({
|
|
30849
30890
|
meta: {
|
|
30850
30891
|
name: "keywords-for-site",
|
|
30851
30892
|
description: `Get keywords a competitor targets in Google. Use --type to filter paid/organic.
|
|
@@ -30898,7 +30939,7 @@ Examples:
|
|
|
30898
30939
|
});
|
|
30899
30940
|
|
|
30900
30941
|
// src/commands/research/languages.ts
|
|
30901
|
-
import { defineCommand as
|
|
30942
|
+
import { defineCommand as defineCommand147 } from "citty";
|
|
30902
30943
|
registerSchema({
|
|
30903
30944
|
command: "research.languages",
|
|
30904
30945
|
description: "List all supported language codes for --language flag in research commands.",
|
|
@@ -30928,7 +30969,7 @@ var FIELDS9 = {
|
|
|
30928
30969
|
code: "Language code to pass as --language",
|
|
30929
30970
|
name: "Language name (also accepted by --language)"
|
|
30930
30971
|
};
|
|
30931
|
-
var languagesCommand2 =
|
|
30972
|
+
var languagesCommand2 = defineCommand147({
|
|
30932
30973
|
meta: {
|
|
30933
30974
|
name: "languages",
|
|
30934
30975
|
description: "List all supported language codes for --language flag."
|
|
@@ -30939,7 +30980,7 @@ var languagesCommand2 = defineCommand146({
|
|
|
30939
30980
|
});
|
|
30940
30981
|
|
|
30941
30982
|
// src/commands/research/lighthouse.ts
|
|
30942
|
-
import { defineCommand as
|
|
30983
|
+
import { defineCommand as defineCommand148 } from "citty";
|
|
30943
30984
|
registerSchema({
|
|
30944
30985
|
command: "research.lighthouse",
|
|
30945
30986
|
description: "Landing page performance audit. Returns metrics that affect Google Ads Quality Score and CPC.",
|
|
@@ -30958,7 +30999,7 @@ var FIELDS10 = {
|
|
|
30958
30999
|
speed_index_ms: "Speed Index in ms (good: < 3400)",
|
|
30959
31000
|
interactive_ms: "Time to Interactive in ms (good: < 3800)"
|
|
30960
31001
|
};
|
|
30961
|
-
var lighthouseCommand =
|
|
31002
|
+
var lighthouseCommand = defineCommand148({
|
|
30962
31003
|
meta: {
|
|
30963
31004
|
name: "lighthouse",
|
|
30964
31005
|
description: `Landing page performance audit. Metrics affecting Google Ads Quality Score.
|
|
@@ -30996,7 +31037,7 @@ Examples:
|
|
|
30996
31037
|
});
|
|
30997
31038
|
|
|
30998
31039
|
// src/commands/research/relevant-pages.ts
|
|
30999
|
-
import { defineCommand as
|
|
31040
|
+
import { defineCommand as defineCommand149 } from "citty";
|
|
31000
31041
|
registerSchema({
|
|
31001
31042
|
command: "research.relevant-pages",
|
|
31002
31043
|
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).",
|
|
@@ -31022,7 +31063,7 @@ var FIELDS11 = {
|
|
|
31022
31063
|
keywords: "Total organic keywords the page ranks for",
|
|
31023
31064
|
top_10: "Keywords in positions 1-10"
|
|
31024
31065
|
};
|
|
31025
|
-
var relevantPagesCommand =
|
|
31066
|
+
var relevantPagesCommand = defineCommand149({
|
|
31026
31067
|
meta: {
|
|
31027
31068
|
name: "relevant-pages",
|
|
31028
31069
|
description: `Get the top pages of a competitor domain with traffic data.
|
|
@@ -31068,7 +31109,7 @@ Examples:
|
|
|
31068
31109
|
});
|
|
31069
31110
|
|
|
31070
31111
|
// src/commands/research/web.ts
|
|
31071
|
-
import { defineCommand as
|
|
31112
|
+
import { defineCommand as defineCommand150 } from "citty";
|
|
31072
31113
|
registerSchema({
|
|
31073
31114
|
command: "research.web",
|
|
31074
31115
|
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).",
|
|
@@ -31119,7 +31160,7 @@ async function runDeepResearch(question) {
|
|
|
31119
31160
|
}
|
|
31120
31161
|
throw new Error("Deep research timed out");
|
|
31121
31162
|
}
|
|
31122
|
-
var webCommand =
|
|
31163
|
+
var webCommand = defineCommand150({
|
|
31123
31164
|
meta: {
|
|
31124
31165
|
name: "web",
|
|
31125
31166
|
description: `Search the web with AI to answer any open-ended marketing question. Uses live internet data via Google Search.
|
|
@@ -31179,7 +31220,7 @@ Examples:
|
|
|
31179
31220
|
});
|
|
31180
31221
|
|
|
31181
31222
|
// src/commands/research/index.ts
|
|
31182
|
-
var researchCommand =
|
|
31223
|
+
var researchCommand = defineCommand151({
|
|
31183
31224
|
meta: {
|
|
31184
31225
|
name: "research",
|
|
31185
31226
|
description: `Competitive intelligence and AI-powered research commands.
|
|
@@ -31220,10 +31261,10 @@ Full guide: __tooling__/docs/tools/baker/research.md`
|
|
|
31220
31261
|
});
|
|
31221
31262
|
|
|
31222
31263
|
// src/commands/scheduled-actions/index.ts
|
|
31223
|
-
import { defineCommand as
|
|
31264
|
+
import { defineCommand as defineCommand158 } from "citty";
|
|
31224
31265
|
|
|
31225
31266
|
// src/commands/scheduled-actions/create.ts
|
|
31226
|
-
import { defineCommand as
|
|
31267
|
+
import { defineCommand as defineCommand152 } from "citty";
|
|
31227
31268
|
|
|
31228
31269
|
// src/commands/scheduled-actions/shared.ts
|
|
31229
31270
|
var TEMP_SCHEDULED_ACTION_PREFIX = "temp_sched_";
|
|
@@ -31338,7 +31379,7 @@ registerSchema({
|
|
|
31338
31379
|
prompt: { type: "string", description: "Additional prompt instructions for the spawned agent", required: false }
|
|
31339
31380
|
}
|
|
31340
31381
|
});
|
|
31341
|
-
var createCommand2 =
|
|
31382
|
+
var createCommand2 = defineCommand152({
|
|
31342
31383
|
meta: {
|
|
31343
31384
|
name: "create",
|
|
31344
31385
|
description: 'Stage a scheduled action. Example: baker scheduled-actions create --name "Weekly report" --description "..." --cron "0 9 * * MON"'
|
|
@@ -31387,7 +31428,7 @@ var createCommand2 = defineCommand151({
|
|
|
31387
31428
|
});
|
|
31388
31429
|
|
|
31389
31430
|
// src/commands/scheduled-actions/delete.ts
|
|
31390
|
-
import { defineCommand as
|
|
31431
|
+
import { defineCommand as defineCommand153 } from "citty";
|
|
31391
31432
|
registerSchema({
|
|
31392
31433
|
command: "scheduled-actions.delete",
|
|
31393
31434
|
description: "Stage deletion of a published scheduled action or cancellation of a temp_sched_* draft creation.",
|
|
@@ -31395,7 +31436,7 @@ registerSchema({
|
|
|
31395
31436
|
id: { type: "string", description: "Published scheduled action ID or temp_sched_* draft ID", required: true }
|
|
31396
31437
|
}
|
|
31397
31438
|
});
|
|
31398
|
-
var deleteCommand2 =
|
|
31439
|
+
var deleteCommand2 = defineCommand153({
|
|
31399
31440
|
meta: {
|
|
31400
31441
|
name: "delete",
|
|
31401
31442
|
description: "Stage scheduled action deletion. Example: baker scheduled-actions delete <id-or-temp_sched_id>"
|
|
@@ -31424,7 +31465,7 @@ var deleteCommand2 = defineCommand152({
|
|
|
31424
31465
|
});
|
|
31425
31466
|
|
|
31426
31467
|
// src/commands/scheduled-actions/get.ts
|
|
31427
|
-
import { defineCommand as
|
|
31468
|
+
import { defineCommand as defineCommand154 } from "citty";
|
|
31428
31469
|
registerSchema({
|
|
31429
31470
|
command: "scheduled-actions.get",
|
|
31430
31471
|
description: "Get a published scheduled action or a temp_sched_* draft-created scheduled action.",
|
|
@@ -31432,7 +31473,7 @@ registerSchema({
|
|
|
31432
31473
|
id: { type: "string", description: "Published scheduled action ID or temp_sched_* draft ID", required: true }
|
|
31433
31474
|
}
|
|
31434
31475
|
});
|
|
31435
|
-
var getCommand3 =
|
|
31476
|
+
var getCommand3 = defineCommand154({
|
|
31436
31477
|
meta: {
|
|
31437
31478
|
name: "get",
|
|
31438
31479
|
description: "Get a scheduled action. Example: baker scheduled-actions get <id-or-temp_sched_id>"
|
|
@@ -31469,13 +31510,13 @@ var getCommand3 = defineCommand153({
|
|
|
31469
31510
|
});
|
|
31470
31511
|
|
|
31471
31512
|
// src/commands/scheduled-actions/list.ts
|
|
31472
|
-
import { defineCommand as
|
|
31513
|
+
import { defineCommand as defineCommand155 } from "citty";
|
|
31473
31514
|
registerSchema({
|
|
31474
31515
|
command: "scheduled-actions.list",
|
|
31475
31516
|
description: "List published scheduled actions. Includes draft state when BAKER_CHAT_ID is set.",
|
|
31476
31517
|
args: {}
|
|
31477
31518
|
});
|
|
31478
|
-
var listCommand14 =
|
|
31519
|
+
var listCommand14 = defineCommand155({
|
|
31479
31520
|
meta: {
|
|
31480
31521
|
name: "list",
|
|
31481
31522
|
description: "List scheduled actions. Includes staged draft ops when BAKER_CHAT_ID is set."
|
|
@@ -31496,7 +31537,7 @@ var listCommand14 = defineCommand154({
|
|
|
31496
31537
|
});
|
|
31497
31538
|
|
|
31498
31539
|
// src/commands/scheduled-actions/trigger.ts
|
|
31499
|
-
import { defineCommand as
|
|
31540
|
+
import { defineCommand as defineCommand156 } from "citty";
|
|
31500
31541
|
registerSchema({
|
|
31501
31542
|
command: "scheduled-actions.trigger",
|
|
31502
31543
|
description: "Immediately trigger a published scheduled action. Does not require BAKER_CHAT_ID and rejects temp_sched_* IDs.",
|
|
@@ -31504,7 +31545,7 @@ registerSchema({
|
|
|
31504
31545
|
id: { type: "string", description: "Published scheduled action ID", required: true }
|
|
31505
31546
|
}
|
|
31506
31547
|
});
|
|
31507
|
-
var triggerCommand =
|
|
31548
|
+
var triggerCommand = defineCommand156({
|
|
31508
31549
|
meta: {
|
|
31509
31550
|
name: "trigger",
|
|
31510
31551
|
description: "Immediately trigger a published scheduled action. Example: baker scheduled-actions trigger <id>"
|
|
@@ -31541,7 +31582,7 @@ var triggerCommand = defineCommand155({
|
|
|
31541
31582
|
});
|
|
31542
31583
|
|
|
31543
31584
|
// src/commands/scheduled-actions/update.ts
|
|
31544
|
-
import { defineCommand as
|
|
31585
|
+
import { defineCommand as defineCommand157 } from "citty";
|
|
31545
31586
|
registerSchema({
|
|
31546
31587
|
command: "scheduled-actions.update",
|
|
31547
31588
|
description: "Stage an update to a published scheduled action or temp_sched_* draft-created scheduled action.",
|
|
@@ -31566,7 +31607,7 @@ registerSchema({
|
|
|
31566
31607
|
prompt: { type: "string", description: "Replacement additional spawned-agent instructions", required: false }
|
|
31567
31608
|
}
|
|
31568
31609
|
});
|
|
31569
|
-
var updateCommand2 =
|
|
31610
|
+
var updateCommand2 = defineCommand157({
|
|
31570
31611
|
meta: {
|
|
31571
31612
|
name: "update",
|
|
31572
31613
|
description: "Stage a scheduled action update. Example: baker scheduled-actions update <id> --enabled false"
|
|
@@ -31637,7 +31678,7 @@ var updateCommand2 = defineCommand156({
|
|
|
31637
31678
|
});
|
|
31638
31679
|
|
|
31639
31680
|
// src/commands/scheduled-actions/index.ts
|
|
31640
|
-
var scheduledActionsCommand =
|
|
31681
|
+
var scheduledActionsCommand = defineCommand158({
|
|
31641
31682
|
meta: {
|
|
31642
31683
|
name: "scheduled-actions",
|
|
31643
31684
|
description: `Manage Scheduled Actions. Subcommands: list, get, create, update, delete, trigger.
|
|
@@ -31664,14 +31705,14 @@ Full guide: __tooling__/docs/tools/baker/scheduled-actions.md`
|
|
|
31664
31705
|
});
|
|
31665
31706
|
|
|
31666
31707
|
// src/commands/schema.ts
|
|
31667
|
-
import { defineCommand as
|
|
31708
|
+
import { defineCommand as defineCommand159 } from "citty";
|
|
31668
31709
|
function narrowToFamily(commandName, available) {
|
|
31669
31710
|
const segments = commandName.split(".");
|
|
31670
31711
|
const prefix = segments[0] === "ads" && segments[1] ? `ads.${segments[1]}.` : `${segments[0]}.`;
|
|
31671
31712
|
const siblings = available.filter((name) => name.startsWith(prefix));
|
|
31672
31713
|
return siblings.length > 0 ? siblings : available;
|
|
31673
31714
|
}
|
|
31674
|
-
var schemaCommand =
|
|
31715
|
+
var schemaCommand = defineCommand159({
|
|
31675
31716
|
meta: {
|
|
31676
31717
|
name: "schema",
|
|
31677
31718
|
description: "Inspect command argument schemas (for AI agent introspection). Lists all commands if no argument given. Example: baker schema images.search"
|
|
@@ -31715,10 +31756,10 @@ var schemaCommand = defineCommand158({
|
|
|
31715
31756
|
});
|
|
31716
31757
|
|
|
31717
31758
|
// src/commands/tag-manager/index.ts
|
|
31718
|
-
import { defineCommand as
|
|
31759
|
+
import { defineCommand as defineCommand163 } from "citty";
|
|
31719
31760
|
|
|
31720
31761
|
// src/commands/tag-manager/draft.ts
|
|
31721
|
-
import { defineCommand as
|
|
31762
|
+
import { defineCommand as defineCommand160 } from "citty";
|
|
31722
31763
|
|
|
31723
31764
|
// src/commands/tag-manager/shared.ts
|
|
31724
31765
|
import { readFileSync as readFileSync12 } from "fs";
|
|
@@ -31774,7 +31815,7 @@ function handleError3(err) {
|
|
|
31774
31815
|
process.exit(1);
|
|
31775
31816
|
}
|
|
31776
31817
|
var STAGE_HINTS = [
|
|
31777
|
-
"Staged only \u2014 nothing has changed in Tag Manager yet. These apply when the chat completes, in dependency order, and close as a Tag Manager version
|
|
31818
|
+
"Staged only \u2014 nothing has changed in Tag Manager yet. These apply when the chat completes, in dependency order, and close as a Tag Manager version that is then published, so they do go live on the user's site. Say the changes are ready and go live when they publish \u2014 not that they are live already."
|
|
31778
31819
|
];
|
|
31779
31820
|
async function stageOp3(op) {
|
|
31780
31821
|
const chatId = requireChatId();
|
|
@@ -31840,13 +31881,13 @@ registerSchema({
|
|
|
31840
31881
|
json: { type: "boolean", description: "Print the raw JSON envelope instead of the readable list", required: false }
|
|
31841
31882
|
}
|
|
31842
31883
|
});
|
|
31843
|
-
var draftCommand3 =
|
|
31884
|
+
var draftCommand3 = defineCommand160({
|
|
31844
31885
|
meta: {
|
|
31845
31886
|
name: "draft",
|
|
31846
31887
|
description: "List, show, amend, remove, or clear staged Tag Manager changes for this chat"
|
|
31847
31888
|
},
|
|
31848
31889
|
subCommands: {
|
|
31849
|
-
list:
|
|
31890
|
+
list: defineCommand160({
|
|
31850
31891
|
meta: {
|
|
31851
31892
|
name: "list",
|
|
31852
31893
|
description: "Review everything staged on this chat (--json for the raw envelope)"
|
|
@@ -31856,7 +31897,7 @@ var draftCommand3 = defineCommand159({
|
|
|
31856
31897
|
await draftList(args.json === true);
|
|
31857
31898
|
}
|
|
31858
31899
|
}),
|
|
31859
|
-
show:
|
|
31900
|
+
show: defineCommand160({
|
|
31860
31901
|
meta: {
|
|
31861
31902
|
name: "show",
|
|
31862
31903
|
description: "Print the full staged payload for one change \u2014 the receipt to verify it looks right before publish (never truncated)."
|
|
@@ -31868,7 +31909,7 @@ var draftCommand3 = defineCommand159({
|
|
|
31868
31909
|
});
|
|
31869
31910
|
}
|
|
31870
31911
|
}),
|
|
31871
|
-
amend:
|
|
31912
|
+
amend: defineCommand160({
|
|
31872
31913
|
meta: {
|
|
31873
31914
|
name: "amend",
|
|
31874
31915
|
description: "Update a staged change in place \u2014 merges a JSON patch into its payload (objects deep-merge, null deletes a key, arrays/scalars replace) and re-validates. Use this instead of remove + re-create."
|
|
@@ -31885,7 +31926,7 @@ var draftCommand3 = defineCommand159({
|
|
|
31885
31926
|
});
|
|
31886
31927
|
}
|
|
31887
31928
|
}),
|
|
31888
|
-
remove:
|
|
31929
|
+
remove: defineCommand160({
|
|
31889
31930
|
meta: { name: "remove", description: "Remove one staged change (cascades to anything depending on it)" },
|
|
31890
31931
|
args: { ref: { type: "positional", description: "Staged ref (gtm_temp_*) or target", required: false } },
|
|
31891
31932
|
run: async ({ args }) => {
|
|
@@ -31894,7 +31935,7 @@ var draftCommand3 = defineCommand159({
|
|
|
31894
31935
|
});
|
|
31895
31936
|
}
|
|
31896
31937
|
}),
|
|
31897
|
-
clear:
|
|
31938
|
+
clear: defineCommand160({
|
|
31898
31939
|
meta: { name: "clear", description: "Discard all Tag Manager changes staged on this chat" },
|
|
31899
31940
|
run: async () => {
|
|
31900
31941
|
await draftAction2("/api/tag-manager/draft/clear", {});
|
|
@@ -31904,7 +31945,7 @@ var draftCommand3 = defineCommand159({
|
|
|
31904
31945
|
});
|
|
31905
31946
|
|
|
31906
31947
|
// src/commands/tag-manager/read.ts
|
|
31907
|
-
import { defineCommand as
|
|
31948
|
+
import { defineCommand as defineCommand161 } from "citty";
|
|
31908
31949
|
registerSchema({
|
|
31909
31950
|
command: "tagManager.containers",
|
|
31910
31951
|
description: "List the Google Tag Manager containers this company's connection can reach. The connected container is flagged. Start here to confirm which container you are managing.",
|
|
@@ -31924,7 +31965,7 @@ registerSchema({
|
|
|
31924
31965
|
full: { type: "boolean", description: "Include the raw Tag Manager object for each entity", required: false }
|
|
31925
31966
|
}
|
|
31926
31967
|
});
|
|
31927
|
-
var containersCommand =
|
|
31968
|
+
var containersCommand = defineCommand161({
|
|
31928
31969
|
meta: {
|
|
31929
31970
|
name: "containers",
|
|
31930
31971
|
description: `List Tag Manager containers reachable by this company's connection.
|
|
@@ -31941,7 +31982,7 @@ Start here:
|
|
|
31941
31982
|
}
|
|
31942
31983
|
}
|
|
31943
31984
|
});
|
|
31944
|
-
var readCommand =
|
|
31985
|
+
var readCommand = defineCommand161({
|
|
31945
31986
|
meta: {
|
|
31946
31987
|
name: "read",
|
|
31947
31988
|
description: `Read the current contents of the Tag Manager container \u2014 always do this before staging changes.
|
|
@@ -31981,7 +32022,7 @@ Examples:
|
|
|
31981
32022
|
});
|
|
31982
32023
|
|
|
31983
32024
|
// src/commands/tag-manager/write-commands.ts
|
|
31984
|
-
import { defineCommand as
|
|
32025
|
+
import { defineCommand as defineCommand162 } from "citty";
|
|
31985
32026
|
var ENTITIES = [
|
|
31986
32027
|
{
|
|
31987
32028
|
entity: "tag",
|
|
@@ -32033,10 +32074,10 @@ for (const { entity, noun, createHint } of ENTITIES) {
|
|
|
32033
32074
|
});
|
|
32034
32075
|
}
|
|
32035
32076
|
function entityCommand(entity, noun, example) {
|
|
32036
|
-
return
|
|
32077
|
+
return defineCommand162({
|
|
32037
32078
|
meta: { name: entity, description: `Stage ${noun} changes on this chat's Tag Manager draft` },
|
|
32038
32079
|
subCommands: {
|
|
32039
|
-
create:
|
|
32080
|
+
create: defineCommand162({
|
|
32040
32081
|
meta: {
|
|
32041
32082
|
name: "create",
|
|
32042
32083
|
description: `Stage a new ${noun}
|
|
@@ -32058,7 +32099,7 @@ Examples:
|
|
|
32058
32099
|
});
|
|
32059
32100
|
}
|
|
32060
32101
|
}),
|
|
32061
|
-
update:
|
|
32102
|
+
update: defineCommand162({
|
|
32062
32103
|
meta: {
|
|
32063
32104
|
name: "update",
|
|
32064
32105
|
description: `Stage an update to an existing ${noun} (pass its id or path)`
|
|
@@ -32078,7 +32119,7 @@ Examples:
|
|
|
32078
32119
|
});
|
|
32079
32120
|
}
|
|
32080
32121
|
}),
|
|
32081
|
-
delete:
|
|
32122
|
+
delete: defineCommand162({
|
|
32082
32123
|
meta: { name: "delete", description: `Stage the deletion of a ${noun} (pass its id or path)` },
|
|
32083
32124
|
args: {
|
|
32084
32125
|
id: { type: "positional", description: `${noun} id or path`, required: false },
|
|
@@ -32118,7 +32159,7 @@ function builtinTypes(args) {
|
|
|
32118
32159
|
}
|
|
32119
32160
|
return raw.split(",").map((entry) => entry.trim());
|
|
32120
32161
|
}
|
|
32121
|
-
var builtinCommand =
|
|
32162
|
+
var builtinCommand = defineCommand162({
|
|
32122
32163
|
meta: {
|
|
32123
32164
|
name: "builtin",
|
|
32124
32165
|
description: `Enable or disable built-in variables
|
|
@@ -32128,7 +32169,7 @@ Examples:
|
|
|
32128
32169
|
baker tag-manager builtin disable --types formId`
|
|
32129
32170
|
},
|
|
32130
32171
|
subCommands: {
|
|
32131
|
-
enable:
|
|
32172
|
+
enable: defineCommand162({
|
|
32132
32173
|
meta: { name: "enable", description: "Stage enabling built-in variables" },
|
|
32133
32174
|
args: {
|
|
32134
32175
|
types: { type: "string", description: "Comma-separated types", required: false },
|
|
@@ -32142,7 +32183,7 @@ Examples:
|
|
|
32142
32183
|
});
|
|
32143
32184
|
}
|
|
32144
32185
|
}),
|
|
32145
|
-
disable:
|
|
32186
|
+
disable: defineCommand162({
|
|
32146
32187
|
meta: { name: "disable", description: "Stage disabling built-in variables" },
|
|
32147
32188
|
args: {
|
|
32148
32189
|
types: { type: "string", description: "Comma-separated types", required: false },
|
|
@@ -32160,7 +32201,7 @@ Examples:
|
|
|
32160
32201
|
});
|
|
32161
32202
|
|
|
32162
32203
|
// src/commands/tag-manager/index.ts
|
|
32163
|
-
var tagManagerCommand =
|
|
32204
|
+
var tagManagerCommand = defineCommand163({
|
|
32164
32205
|
meta: {
|
|
32165
32206
|
name: "tag-manager",
|
|
32166
32207
|
description: `Read and change what lives inside the client's Google Tag Manager container \u2014 tags, triggers, variables, folders and built-in variables.
|
|
@@ -32194,7 +32235,7 @@ Full guide: __tooling__/docs/tools/baker/tag-manager.md`
|
|
|
32194
32235
|
});
|
|
32195
32236
|
|
|
32196
32237
|
// src/commands/tags/index.ts
|
|
32197
|
-
import { defineCommand as
|
|
32238
|
+
import { defineCommand as defineCommand164 } from "citty";
|
|
32198
32239
|
|
|
32199
32240
|
// src/commands/tags/shared.ts
|
|
32200
32241
|
function failApi3(err) {
|
|
@@ -32263,7 +32304,7 @@ async function listTags(json) {
|
|
|
32263
32304
|
var listArgs9 = {
|
|
32264
32305
|
json: { type: "boolean", description: "Print the raw JSON envelope instead of the readable list" }
|
|
32265
32306
|
};
|
|
32266
|
-
var listCommand15 =
|
|
32307
|
+
var listCommand15 = defineCommand164({
|
|
32267
32308
|
meta: {
|
|
32268
32309
|
name: "list",
|
|
32269
32310
|
description: "Effective tags for this chat (production + staged), with each tag's full readable config (secrets excluded) \u2014 reuse a stored value to pre-fill a change rather than asking the user. Refs printed here are what flow side-effect tagIds should use. Example: baker tags list"
|
|
@@ -32282,7 +32323,7 @@ async function listDraft3() {
|
|
|
32282
32323
|
failApi3(err);
|
|
32283
32324
|
}
|
|
32284
32325
|
}
|
|
32285
|
-
var draftCommand4 =
|
|
32326
|
+
var draftCommand4 = defineCommand164({
|
|
32286
32327
|
meta: {
|
|
32287
32328
|
name: "draft",
|
|
32288
32329
|
description: "Review the tag changes staged in this chat (read-only). Staged changes were approved via request_tag_input and apply when the chat is published; to amend or drop one, propose a follow-up change through the same tool (a delete on a tag_temp_* ref drops the staged create)."
|
|
@@ -32291,7 +32332,7 @@ var draftCommand4 = defineCommand163({
|
|
|
32291
32332
|
await listDraft3();
|
|
32292
32333
|
}
|
|
32293
32334
|
});
|
|
32294
|
-
var tagsCommand3 =
|
|
32335
|
+
var tagsCommand3 = defineCommand164({
|
|
32295
32336
|
meta: {
|
|
32296
32337
|
name: "tags",
|
|
32297
32338
|
description: `Read the client's marketing/analytics tags (Meta pixel, GA4, Google Ads, GTM, Clarity, Hotjar, \u2026) \u2014 production tags plus the changes staged in this chat.
|
|
@@ -32320,10 +32361,10 @@ Full guide: __tooling__/docs/tools/baker/tags.md`
|
|
|
32320
32361
|
});
|
|
32321
32362
|
|
|
32322
32363
|
// src/commands/testimonials/index.ts
|
|
32323
|
-
import { defineCommand as
|
|
32364
|
+
import { defineCommand as defineCommand168 } from "citty";
|
|
32324
32365
|
|
|
32325
32366
|
// src/commands/testimonials/get.ts
|
|
32326
|
-
import { defineCommand as
|
|
32367
|
+
import { defineCommand as defineCommand165 } from "citty";
|
|
32327
32368
|
registerSchema({
|
|
32328
32369
|
command: "testimonials.get",
|
|
32329
32370
|
description: "Get a single testimonial by ID",
|
|
@@ -32331,7 +32372,7 @@ registerSchema({
|
|
|
32331
32372
|
id: { type: "string", description: "Testimonial ID", required: true }
|
|
32332
32373
|
}
|
|
32333
32374
|
});
|
|
32334
|
-
var getCommand4 =
|
|
32375
|
+
var getCommand4 = defineCommand165({
|
|
32335
32376
|
meta: { name: "get", description: "Get a single testimonial by ID. Example: baker testimonials get j571abc123" },
|
|
32336
32377
|
args: {
|
|
32337
32378
|
id: { type: "positional", description: "Testimonial ID", required: false },
|
|
@@ -32368,7 +32409,7 @@ var getCommand4 = defineCommand164({
|
|
|
32368
32409
|
});
|
|
32369
32410
|
|
|
32370
32411
|
// src/commands/testimonials/list.ts
|
|
32371
|
-
import { defineCommand as
|
|
32412
|
+
import { defineCommand as defineCommand166 } from "citty";
|
|
32372
32413
|
registerSchema({
|
|
32373
32414
|
command: "testimonials.list",
|
|
32374
32415
|
description: "List testimonials with optional filters.",
|
|
@@ -32398,7 +32439,7 @@ registerSchema({
|
|
|
32398
32439
|
limit: { type: "number", description: "Max results (default 50)", required: false, default: 50 }
|
|
32399
32440
|
}
|
|
32400
32441
|
});
|
|
32401
|
-
var listCommand16 =
|
|
32442
|
+
var listCommand16 = defineCommand166({
|
|
32402
32443
|
meta: {
|
|
32403
32444
|
name: "list",
|
|
32404
32445
|
description: "List testimonials with optional filters. Example: baker testimonials list --source google --sentiment positive"
|
|
@@ -32447,7 +32488,7 @@ var listCommand16 = defineCommand165({
|
|
|
32447
32488
|
});
|
|
32448
32489
|
|
|
32449
32490
|
// src/commands/testimonials/search.ts
|
|
32450
|
-
import { defineCommand as
|
|
32491
|
+
import { defineCommand as defineCommand167 } from "citty";
|
|
32451
32492
|
function languageBiasHint(results, requestedLanguage) {
|
|
32452
32493
|
if (requestedLanguage) {
|
|
32453
32494
|
return null;
|
|
@@ -32525,7 +32566,7 @@ function buildSearchRequest(query, args) {
|
|
|
32525
32566
|
}
|
|
32526
32567
|
return body;
|
|
32527
32568
|
}
|
|
32528
|
-
var searchCommand2 =
|
|
32569
|
+
var searchCommand2 = defineCommand167({
|
|
32529
32570
|
meta: {
|
|
32530
32571
|
name: "search",
|
|
32531
32572
|
description: "Semantic search testimonials by text query. Uses hybrid BM25 + vector + reranking. Example: baker testimonials search 'great service' --rating-min 4"
|
|
@@ -32581,7 +32622,7 @@ var searchCommand2 = defineCommand166({
|
|
|
32581
32622
|
var tagsCommand4 = makeTagsCommand("testimonials", "testimonial", "/api/testimonials/tags");
|
|
32582
32623
|
|
|
32583
32624
|
// src/commands/testimonials/index.ts
|
|
32584
|
-
var testimonialsCommand =
|
|
32625
|
+
var testimonialsCommand = defineCommand168({
|
|
32585
32626
|
meta: {
|
|
32586
32627
|
name: "testimonials",
|
|
32587
32628
|
description: `Find and browse testimonials in Baker. Subcommands: search, get, list, tags.
|
|
@@ -32603,10 +32644,10 @@ Full guide: __tooling__/docs/tools/baker/testimonials.md`
|
|
|
32603
32644
|
});
|
|
32604
32645
|
|
|
32605
32646
|
// src/commands/videos/index.ts
|
|
32606
|
-
import { defineCommand as
|
|
32647
|
+
import { defineCommand as defineCommand173 } from "citty";
|
|
32607
32648
|
|
|
32608
32649
|
// src/commands/videos/delete.ts
|
|
32609
|
-
import { defineCommand as
|
|
32650
|
+
import { defineCommand as defineCommand169 } from "citty";
|
|
32610
32651
|
registerSchema({
|
|
32611
32652
|
command: "videos.delete",
|
|
32612
32653
|
description: "Delete a video by ID",
|
|
@@ -32620,7 +32661,7 @@ registerSchema({
|
|
|
32620
32661
|
}
|
|
32621
32662
|
}
|
|
32622
32663
|
});
|
|
32623
|
-
var deleteCommand3 =
|
|
32664
|
+
var deleteCommand3 = defineCommand169({
|
|
32624
32665
|
meta: {
|
|
32625
32666
|
name: "delete",
|
|
32626
32667
|
description: "Delete a video by ID. Use --dry-run to preview. Example: baker videos delete j571abc123 --dry-run"
|
|
@@ -32661,7 +32702,7 @@ var deleteCommand3 = defineCommand168({
|
|
|
32661
32702
|
});
|
|
32662
32703
|
|
|
32663
32704
|
// src/commands/videos/get.ts
|
|
32664
|
-
import { defineCommand as
|
|
32705
|
+
import { defineCommand as defineCommand170 } from "citty";
|
|
32665
32706
|
registerSchema({
|
|
32666
32707
|
command: "videos.get",
|
|
32667
32708
|
description: "Get a single video by ID",
|
|
@@ -32669,7 +32710,7 @@ registerSchema({
|
|
|
32669
32710
|
id: { type: "string", description: "Video ID", required: true }
|
|
32670
32711
|
}
|
|
32671
32712
|
});
|
|
32672
|
-
var getCommand5 =
|
|
32713
|
+
var getCommand5 = defineCommand170({
|
|
32673
32714
|
meta: { name: "get", description: "Get a single video by ID. Example: baker videos get j571abc123" },
|
|
32674
32715
|
args: {
|
|
32675
32716
|
id: { type: "positional", description: "Video ID", required: false },
|
|
@@ -32706,7 +32747,7 @@ var getCommand5 = defineCommand169({
|
|
|
32706
32747
|
});
|
|
32707
32748
|
|
|
32708
32749
|
// src/commands/videos/search.ts
|
|
32709
|
-
import { defineCommand as
|
|
32750
|
+
import { defineCommand as defineCommand171 } from "citty";
|
|
32710
32751
|
registerSchema({
|
|
32711
32752
|
command: "videos.search",
|
|
32712
32753
|
description: "Search videos by text query. Only returns ready videos.",
|
|
@@ -32716,7 +32757,7 @@ registerSchema({
|
|
|
32716
32757
|
tags: { type: "string", description: "Comma-separated tags to filter by", required: false }
|
|
32717
32758
|
}
|
|
32718
32759
|
});
|
|
32719
|
-
var searchCommand3 =
|
|
32760
|
+
var searchCommand3 = defineCommand171({
|
|
32720
32761
|
meta: {
|
|
32721
32762
|
name: "search",
|
|
32722
32763
|
description: "Semantic search videos by text query. Uses hybrid BM25 + vector + reranking. Example: baker videos search 'product demo' --tags tutorial"
|
|
@@ -32768,7 +32809,7 @@ var tagsCommand5 = makeTagsCommand("videos", "video", "/api/videos/tags");
|
|
|
32768
32809
|
// src/commands/videos/upload.ts
|
|
32769
32810
|
import { readFile as readFile23, stat as stat7 } from "fs/promises";
|
|
32770
32811
|
import { extname as extname3 } from "path";
|
|
32771
|
-
import { defineCommand as
|
|
32812
|
+
import { defineCommand as defineCommand172 } from "citty";
|
|
32772
32813
|
var MIME_MAP = {
|
|
32773
32814
|
".mp4": "video/mp4",
|
|
32774
32815
|
".mov": "video/quicktime",
|
|
@@ -32802,7 +32843,7 @@ function detectContentType(filePath) {
|
|
|
32802
32843
|
}
|
|
32803
32844
|
return mime;
|
|
32804
32845
|
}
|
|
32805
|
-
var uploadCommand2 =
|
|
32846
|
+
var uploadCommand2 = defineCommand172({
|
|
32806
32847
|
meta: {
|
|
32807
32848
|
name: "upload",
|
|
32808
32849
|
description: "Upload a video file to Baker via Mux direct upload. Auto-detects content type. Example: baker videos upload ./demo.mp4"
|
|
@@ -32856,7 +32897,7 @@ var uploadCommand2 = defineCommand171({
|
|
|
32856
32897
|
});
|
|
32857
32898
|
|
|
32858
32899
|
// src/commands/videos/index.ts
|
|
32859
|
-
var videosCommand =
|
|
32900
|
+
var videosCommand = defineCommand173({
|
|
32860
32901
|
meta: {
|
|
32861
32902
|
name: "videos",
|
|
32862
32903
|
description: `Find and manage videos in Baker. Subcommands: search, get, upload, delete, tags.
|
|
@@ -32880,10 +32921,10 @@ Full guide: __tooling__/docs/tools/baker/videos.md`
|
|
|
32880
32921
|
});
|
|
32881
32922
|
|
|
32882
32923
|
// src/commands/winning-ads/index.ts
|
|
32883
|
-
import { defineCommand as
|
|
32924
|
+
import { defineCommand as defineCommand186 } from "citty";
|
|
32884
32925
|
|
|
32885
32926
|
// src/commands/winning-ads/advertisers.ts
|
|
32886
|
-
import { defineCommand as
|
|
32927
|
+
import { defineCommand as defineCommand174 } from "citty";
|
|
32887
32928
|
|
|
32888
32929
|
// src/commands/winning-ads/shared.ts
|
|
32889
32930
|
function splitList(value) {
|
|
@@ -32936,7 +32977,7 @@ function advertiserNormalizer(record, full) {
|
|
|
32936
32977
|
last_synced_at: record.last_synced_at ?? null
|
|
32937
32978
|
};
|
|
32938
32979
|
}
|
|
32939
|
-
var advertisersCommand2 =
|
|
32980
|
+
var advertisersCommand2 = defineCommand174({
|
|
32940
32981
|
meta: {
|
|
32941
32982
|
name: "advertisers",
|
|
32942
32983
|
description: 'List corpus advertisers by name or domain. Find your own advertiser for --exclude-advertiser, or a competitor for --advertiser-id / winners. Example: baker winning-ads advertisers "Deel" --output md'
|
|
@@ -32994,7 +33035,7 @@ var advertisersCommand2 = defineCommand173({
|
|
|
32994
33035
|
});
|
|
32995
33036
|
|
|
32996
33037
|
// src/commands/winning-ads/brief.ts
|
|
32997
|
-
import { defineCommand as
|
|
33038
|
+
import { defineCommand as defineCommand175 } from "citty";
|
|
32998
33039
|
registerSchema({
|
|
32999
33040
|
command: "winning-ads.brief",
|
|
33000
33041
|
description: "Generate a creative brief grounded in strategically-similar winning ads. Optionally describe the target creative with --dna (JSON) and steer with --notes.",
|
|
@@ -33040,7 +33081,7 @@ function parseDna(raw) {
|
|
|
33040
33081
|
}
|
|
33041
33082
|
return parsed;
|
|
33042
33083
|
}
|
|
33043
|
-
var briefCommand =
|
|
33084
|
+
var briefCommand = defineCommand175({
|
|
33044
33085
|
meta: {
|
|
33045
33086
|
name: "brief",
|
|
33046
33087
|
description: `Generate a creative brief from winning references. Example: baker winning-ads brief --dna '{"angle":"cost savings"}' --notes "B2B, LinkedIn video" --k 8`
|
|
@@ -33076,7 +33117,7 @@ var briefCommand = defineCommand174({
|
|
|
33076
33117
|
});
|
|
33077
33118
|
|
|
33078
33119
|
// src/commands/winning-ads/content.ts
|
|
33079
|
-
import { defineCommand as
|
|
33120
|
+
import { defineCommand as defineCommand176 } from "citty";
|
|
33080
33121
|
registerSchema({
|
|
33081
33122
|
command: "winning-ads.content",
|
|
33082
33123
|
description: "Read what's INSIDE one winning ad: the spoken transcript, the on-screen text, and the ad copy. Use this after `search`/`winners`/`feed` return a shortlist \u2014 pass an ad_id to understand a reference before reproducing it. Add --full for speech, pacing, and soundtrack detail. Video ads carry the transcript/on-screen text; static ads carry only the copy.",
|
|
@@ -33089,7 +33130,7 @@ registerSchema({
|
|
|
33089
33130
|
}
|
|
33090
33131
|
}
|
|
33091
33132
|
});
|
|
33092
|
-
var contentCommand =
|
|
33133
|
+
var contentCommand = defineCommand176({
|
|
33093
33134
|
meta: {
|
|
33094
33135
|
name: "content",
|
|
33095
33136
|
description: "Read the transcript + on-screen text + copy of one winning ad. Example: baker winning-ads content adg_123 --platform meta --full --output md"
|
|
@@ -33138,7 +33179,7 @@ var contentCommand = defineCommand175({
|
|
|
33138
33179
|
});
|
|
33139
33180
|
|
|
33140
33181
|
// src/commands/winning-ads/feed.ts
|
|
33141
|
-
import { defineCommand as
|
|
33182
|
+
import { defineCommand as defineCommand177 } from "citty";
|
|
33142
33183
|
function buildFeedParams(input) {
|
|
33143
33184
|
const params = {};
|
|
33144
33185
|
const advertiser = splitList(input.advertiser);
|
|
@@ -33190,7 +33231,7 @@ registerSchema({
|
|
|
33190
33231
|
format: { type: "string", description: "Comma-separated formats to include (e.g. static,video)", required: false }
|
|
33191
33232
|
}
|
|
33192
33233
|
});
|
|
33193
|
-
var feedCommand =
|
|
33234
|
+
var feedCommand = defineCommand177({
|
|
33194
33235
|
meta: {
|
|
33195
33236
|
name: "feed",
|
|
33196
33237
|
description: "Winners across every brand you follow (browse, then trim per advertiser). Example: baker winning-ads feed --per-advertiser 5 --output md"
|
|
@@ -33275,7 +33316,7 @@ var feedCommand = defineCommand176({
|
|
|
33275
33316
|
});
|
|
33276
33317
|
|
|
33277
33318
|
// src/commands/winning-ads/follow.ts
|
|
33278
|
-
import { defineCommand as
|
|
33319
|
+
import { defineCommand as defineCommand178 } from "citty";
|
|
33279
33320
|
var PLATFORMS = ["meta", "linkedin"];
|
|
33280
33321
|
registerSchema({
|
|
33281
33322
|
command: "winning-ads.follow",
|
|
@@ -33290,7 +33331,7 @@ registerSchema({
|
|
|
33290
33331
|
label: { type: "string", description: "Optional display label (defaults to the resolved name)", required: false }
|
|
33291
33332
|
}
|
|
33292
33333
|
});
|
|
33293
|
-
var followCommand =
|
|
33334
|
+
var followCommand = defineCommand178({
|
|
33294
33335
|
meta: {
|
|
33295
33336
|
name: "follow",
|
|
33296
33337
|
description: 'Follow a brand to track ALL its ads \u2014 every platform and country. --platform is how we read your input, not a limit. A domain tracks both Meta + LinkedIn. Example: baker winning-ads follow "deel.com" --platform meta'
|
|
@@ -33337,7 +33378,7 @@ var followCommand = defineCommand177({
|
|
|
33337
33378
|
});
|
|
33338
33379
|
|
|
33339
33380
|
// src/commands/winning-ads/follow-competitors.ts
|
|
33340
|
-
import { defineCommand as
|
|
33381
|
+
import { defineCommand as defineCommand179 } from "citty";
|
|
33341
33382
|
var PLATFORMS2 = ["meta", "linkedin"];
|
|
33342
33383
|
var BATCH_TIMEOUT_MS = 3e5;
|
|
33343
33384
|
function buildFollowBatchBody(input) {
|
|
@@ -33370,7 +33411,7 @@ registerSchema({
|
|
|
33370
33411
|
}
|
|
33371
33412
|
}
|
|
33372
33413
|
});
|
|
33373
|
-
var followCompetitorsCommand =
|
|
33414
|
+
var followCompetitorsCommand = defineCommand179({
|
|
33374
33415
|
meta: {
|
|
33375
33416
|
name: "follow-competitors",
|
|
33376
33417
|
description: 'Follow many brands at once by domain \u2014 add every competitor in one call. Example: baker winning-ads follow-competitors "deel.com,notion.so,hubspot.com"'
|
|
@@ -33445,7 +33486,7 @@ var followCompetitorsCommand = defineCommand178({
|
|
|
33445
33486
|
});
|
|
33446
33487
|
|
|
33447
33488
|
// src/commands/winning-ads/following.ts
|
|
33448
|
-
import { defineCommand as
|
|
33489
|
+
import { defineCommand as defineCommand180 } from "citty";
|
|
33449
33490
|
registerSchema({
|
|
33450
33491
|
command: "winning-ads.following",
|
|
33451
33492
|
description: "List the brands you follow in your ad-dna library, with each one's status (ready vs still adding) and cached ad counts.",
|
|
@@ -33478,7 +33519,7 @@ function followingNormalizer(record, full) {
|
|
|
33478
33519
|
platforms: Array.isArray(record.platforms) ? record.platforms : []
|
|
33479
33520
|
};
|
|
33480
33521
|
}
|
|
33481
|
-
var followingCommand =
|
|
33522
|
+
var followingCommand = defineCommand180({
|
|
33482
33523
|
meta: {
|
|
33483
33524
|
name: "following",
|
|
33484
33525
|
description: "List brands you follow, with status (ready / adding\u2026) and cached counts. Example: baker winning-ads following --output md"
|
|
@@ -33513,7 +33554,7 @@ var followingCommand = defineCommand179({
|
|
|
33513
33554
|
});
|
|
33514
33555
|
|
|
33515
33556
|
// src/commands/winning-ads/patterns.ts
|
|
33516
|
-
import { defineCommand as
|
|
33557
|
+
import { defineCommand as defineCommand181 } from "citty";
|
|
33517
33558
|
registerSchema({
|
|
33518
33559
|
command: "winning-ads.patterns",
|
|
33519
33560
|
description: "Mine what separates two cohorts of ads: pass a comma-list of winning ad ids (--winners) and a comma-list of weaker ad ids (--duds). Returns the discriminating DNA fields.",
|
|
@@ -33552,7 +33593,7 @@ function discriminatorRow(record) {
|
|
|
33552
33593
|
top_values_duds: Array.isArray(record.top_values_b) ? record.top_values_b.join(", ") : ""
|
|
33553
33594
|
};
|
|
33554
33595
|
}
|
|
33555
|
-
var patternsCommand =
|
|
33596
|
+
var patternsCommand = defineCommand181({
|
|
33556
33597
|
meta: {
|
|
33557
33598
|
name: "patterns",
|
|
33558
33599
|
description: "Discover what separates winning ads from weak ones. Example: baker winning-ads patterns --winners a_1,a_2,a_3 --duds a_9,a_8 --output md"
|
|
@@ -33608,7 +33649,7 @@ var patternsCommand = defineCommand180({
|
|
|
33608
33649
|
});
|
|
33609
33650
|
|
|
33610
33651
|
// src/commands/winning-ads/search.ts
|
|
33611
|
-
import { defineCommand as
|
|
33652
|
+
import { defineCommand as defineCommand182 } from "citty";
|
|
33612
33653
|
registerSchema({
|
|
33613
33654
|
command: "winning-ads.search",
|
|
33614
33655
|
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.",
|
|
@@ -33716,7 +33757,7 @@ function buildSearchBody(args) {
|
|
|
33716
33757
|
}
|
|
33717
33758
|
return body;
|
|
33718
33759
|
}
|
|
33719
|
-
var searchCommand4 =
|
|
33760
|
+
var searchCommand4 = defineCommand182({
|
|
33720
33761
|
meta: {
|
|
33721
33762
|
name: "search",
|
|
33722
33763
|
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"
|
|
@@ -33831,7 +33872,7 @@ var searchCommand4 = defineCommand181({
|
|
|
33831
33872
|
});
|
|
33832
33873
|
|
|
33833
33874
|
// src/commands/winning-ads/seeds.ts
|
|
33834
|
-
import { defineCommand as
|
|
33875
|
+
import { defineCommand as defineCommand183 } from "citty";
|
|
33835
33876
|
function leanRow(r) {
|
|
33836
33877
|
return {
|
|
33837
33878
|
key: r.key,
|
|
@@ -33859,7 +33900,7 @@ function makeSeedCommand(opts) {
|
|
|
33859
33900
|
limit: { type: "number", description: "Max keys 1-100 (default 20)", required: false, default: 20 }
|
|
33860
33901
|
}
|
|
33861
33902
|
});
|
|
33862
|
-
return
|
|
33903
|
+
return defineCommand183({
|
|
33863
33904
|
meta: { name: opts.name, description: opts.description },
|
|
33864
33905
|
args: {
|
|
33865
33906
|
platform: { type: "string", description: "Single platform to segment on", required: false },
|
|
@@ -33908,7 +33949,7 @@ var formatsCommand = makeSeedCommand({
|
|
|
33908
33949
|
});
|
|
33909
33950
|
|
|
33910
33951
|
// src/commands/winning-ads/unfollow.ts
|
|
33911
|
-
import { defineCommand as
|
|
33952
|
+
import { defineCommand as defineCommand184 } from "citty";
|
|
33912
33953
|
registerSchema({
|
|
33913
33954
|
command: "winning-ads.unfollow",
|
|
33914
33955
|
description: "Stop following a brand \u2014 removes it from your ad-dna library by advertiser id.",
|
|
@@ -33916,7 +33957,7 @@ registerSchema({
|
|
|
33916
33957
|
advertiser: { type: "string", description: "Advertiser id to unfollow", required: true }
|
|
33917
33958
|
}
|
|
33918
33959
|
});
|
|
33919
|
-
var unfollowCommand =
|
|
33960
|
+
var unfollowCommand = defineCommand184({
|
|
33920
33961
|
meta: {
|
|
33921
33962
|
name: "unfollow",
|
|
33922
33963
|
description: "Stop following a brand by advertiser id. Example: baker winning-ads unfollow adv_123"
|
|
@@ -33937,7 +33978,7 @@ var unfollowCommand = defineCommand183({
|
|
|
33937
33978
|
});
|
|
33938
33979
|
|
|
33939
33980
|
// src/commands/winning-ads/winners.ts
|
|
33940
|
-
import { defineCommand as
|
|
33981
|
+
import { defineCommand as defineCommand185 } from "citty";
|
|
33941
33982
|
registerSchema({
|
|
33942
33983
|
command: "winning-ads.winners",
|
|
33943
33984
|
description: "Top winning ads for one advertiser id (from `advertisers` or `following`). Returns lean winner cards; add --full for DNA + longevity.",
|
|
@@ -33947,7 +33988,7 @@ registerSchema({
|
|
|
33947
33988
|
platform: { type: "string", description: "Filter to a single platform: meta|linkedin", required: false }
|
|
33948
33989
|
}
|
|
33949
33990
|
});
|
|
33950
|
-
var winnersCommand =
|
|
33991
|
+
var winnersCommand = defineCommand185({
|
|
33951
33992
|
meta: {
|
|
33952
33993
|
name: "winners",
|
|
33953
33994
|
description: "Top winning ads for a specific advertiser id. Example: baker winning-ads winners adv_123 --top 15 --output md"
|
|
@@ -33997,7 +34038,7 @@ var winnersCommand = defineCommand184({
|
|
|
33997
34038
|
});
|
|
33998
34039
|
|
|
33999
34040
|
// src/commands/winning-ads/index.ts
|
|
34000
|
-
var winningAdsCommand =
|
|
34041
|
+
var winningAdsCommand = defineCommand186({
|
|
34001
34042
|
meta: {
|
|
34002
34043
|
name: "winning-ads",
|
|
34003
34044
|
description: `Search the ad-dna corpus of scored "winning" ads for reference creatives to reproduce, and manage the brands your library tracks. Proxied through the Baker backend (BAKER_API_KEY) \u2014 no separate token needed.
|
|
@@ -34069,7 +34110,7 @@ function getCliVersion() {
|
|
|
34069
34110
|
}
|
|
34070
34111
|
|
|
34071
34112
|
// src/cli.ts
|
|
34072
|
-
var main =
|
|
34113
|
+
var main = defineCommand187({
|
|
34073
34114
|
meta: {
|
|
34074
34115
|
name: "baker",
|
|
34075
34116
|
version: getCliVersion(),
|