@koda-sl/baker-cli 0.32.0-dev.31ee8d9c → 0.34.2
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 +101 -12
- package/dist/cli.js +1 -1
- package/dist/commands/images/extract.d.ts +5 -0
- package/dist/commands/images/extract.d.ts.map +1 -1
- package/dist/commands/images/extract.js +8 -0
- package/dist/commands/images/extract.js.map +1 -1
- package/dist/commands/images/find.d.ts +5 -0
- package/dist/commands/images/find.d.ts.map +1 -1
- package/dist/commands/images/find.js +9 -1
- package/dist/commands/images/find.js.map +1 -1
- package/dist/commands/images/gif.d.ts +5 -0
- package/dist/commands/images/gif.d.ts.map +1 -1
- package/dist/commands/images/gif.js +8 -0
- package/dist/commands/images/gif.js.map +1 -1
- package/dist/commands/images/google.d.ts +5 -0
- package/dist/commands/images/google.d.ts.map +1 -1
- package/dist/commands/images/google.js +8 -0
- package/dist/commands/images/google.js.map +1 -1
- package/dist/commands/images/icon.d.ts +10 -0
- package/dist/commands/images/icon.d.ts.map +1 -1
- package/dist/commands/images/icon.js +17 -0
- package/dist/commands/images/icon.js.map +1 -1
- package/dist/commands/images/logo.d.ts +10 -0
- package/dist/commands/images/logo.d.ts.map +1 -1
- package/dist/commands/images/logo.js +24 -2
- package/dist/commands/images/logo.js.map +1 -1
- package/dist/commands/images/screenshot.d.ts +5 -0
- package/dist/commands/images/screenshot.d.ts.map +1 -1
- package/dist/commands/images/screenshot.js +8 -0
- package/dist/commands/images/screenshot.js.map +1 -1
- package/dist/commands/images/sticker.d.ts +5 -0
- package/dist/commands/images/sticker.d.ts.map +1 -1
- package/dist/commands/images/sticker.js +8 -0
- package/dist/commands/images/sticker.js.map +1 -1
- package/dist/commands/images/stock.d.ts +5 -0
- package/dist/commands/images/stock.d.ts.map +1 -1
- package/dist/commands/images/stock.js +8 -0
- package/dist/commands/images/stock.js.map +1 -1
- package/dist/commands/images/upload.d.ts +17 -2
- package/dist/commands/images/upload.d.ts.map +1 -1
- package/dist/commands/images/upload.js +95 -26
- package/dist/commands/images/upload.js.map +1 -1
- package/dist/commands/images/use.d.ts +5 -0
- package/dist/commands/images/use.d.ts.map +1 -1
- package/dist/commands/images/use.js +10 -1
- package/dist/commands/images/use.js.map +1 -1
- package/package.json +1 -1
- package/dist/commands/images/meme.d.ts +0 -28
- package/dist/commands/images/meme.d.ts.map +0 -1
- package/dist/commands/images/meme.js +0 -66
- package/dist/commands/images/meme.js.map +0 -1
|
@@ -8,7 +8,22 @@ registerSchema({
|
|
|
8
8
|
args: {
|
|
9
9
|
domain: { type: "string", description: "Brand domain (e.g. stripe.com)", required: true },
|
|
10
10
|
variant: { type: "string", description: "icon | logo | symbol", required: false },
|
|
11
|
-
"
|
|
11
|
+
"auto-ingest": {
|
|
12
|
+
type: "number",
|
|
13
|
+
description: "Ingest top N hits (0–20). Defaults to 1 (the first variant). Pass 5 to ingest every variant.",
|
|
14
|
+
required: false,
|
|
15
|
+
},
|
|
16
|
+
"no-auto-ingest": {
|
|
17
|
+
type: "boolean",
|
|
18
|
+
description: "Skip auto-ingest (equivalent to --auto-ingest 0)",
|
|
19
|
+
required: false,
|
|
20
|
+
default: false,
|
|
21
|
+
},
|
|
22
|
+
context: {
|
|
23
|
+
type: "string",
|
|
24
|
+
description: "Free-text hint applied to ingested logo variants (e.g. 'Stripe — payments integration partner', 'Acme competitor brand mark')",
|
|
25
|
+
required: false,
|
|
26
|
+
},
|
|
12
27
|
},
|
|
13
28
|
});
|
|
14
29
|
export const logoCommand = defineCommand({
|
|
@@ -19,7 +34,9 @@ export const logoCommand = defineCommand({
|
|
|
19
34
|
args: {
|
|
20
35
|
domain: { type: "positional", description: "Brand domain", required: false },
|
|
21
36
|
variant: { type: "string", description: "icon|logo|symbol", required: false },
|
|
37
|
+
"auto-ingest": { type: "string", description: "Ingest top N (0-20, default 1)", required: false },
|
|
22
38
|
"no-auto-ingest": { type: "boolean", description: "Skip auto-ingest", required: false },
|
|
39
|
+
context: { type: "string", description: "Description context hint applied to ingested logos", required: false },
|
|
23
40
|
},
|
|
24
41
|
run: async ({ args }) => {
|
|
25
42
|
try {
|
|
@@ -31,8 +48,13 @@ export const logoCommand = defineCommand({
|
|
|
31
48
|
const body = { domain };
|
|
32
49
|
if (args.variant)
|
|
33
50
|
body.variant = args.variant;
|
|
34
|
-
|
|
51
|
+
// Explicit --auto-ingest wins over --no-auto-ingest; backend default is 1.
|
|
52
|
+
if (args["auto-ingest"] !== undefined)
|
|
53
|
+
body.autoIngest = Number(args["auto-ingest"]);
|
|
54
|
+
else if (args["no-auto-ingest"])
|
|
35
55
|
body.autoIngest = 0;
|
|
56
|
+
if (args.context)
|
|
57
|
+
body.descriptionContext = args.context;
|
|
36
58
|
const data = await apiPost("/api/images/logo", body);
|
|
37
59
|
writeJson({ ok: true, data });
|
|
38
60
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"logo.js","sourceRoot":"","sources":["../../../src/commands/images/logo.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AACtC,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AACpD,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAElD,cAAc,CAAC;IACb,OAAO,EAAE,aAAa;IACtB,WAAW,EAAE,+EAA+E;IAC5F,IAAI,EAAE;QACJ,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,gCAAgC,EAAE,QAAQ,EAAE,IAAI,EAAE;QACzF,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,sBAAsB,EAAE,QAAQ,EAAE,KAAK,EAAE;QACjF,
|
|
1
|
+
{"version":3,"file":"logo.js","sourceRoot":"","sources":["../../../src/commands/images/logo.ts"],"names":[],"mappings":"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"}
|
|
@@ -19,5 +19,10 @@ export declare const screenshotCommand: import("citty").CommandDef<{
|
|
|
19
19
|
readonly description: "webp|png|jpg";
|
|
20
20
|
readonly required: false;
|
|
21
21
|
};
|
|
22
|
+
readonly context: {
|
|
23
|
+
readonly type: "string";
|
|
24
|
+
readonly description: "Description context hint";
|
|
25
|
+
readonly required: false;
|
|
26
|
+
};
|
|
22
27
|
}>;
|
|
23
28
|
//# sourceMappingURL=screenshot.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"screenshot.d.ts","sourceRoot":"","sources":["../../../src/commands/images/screenshot.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"screenshot.d.ts","sourceRoot":"","sources":["../../../src/commands/images/screenshot.ts"],"names":[],"mappings":"AAqBA,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;EAiD5B,CAAC"}
|
|
@@ -10,6 +10,11 @@ registerSchema({
|
|
|
10
10
|
"full-page": { type: "boolean", description: "Full-page capture", required: false, default: false },
|
|
11
11
|
viewport: { type: "string", description: "WxH (e.g. 1440x900)", required: false },
|
|
12
12
|
format: { type: "string", description: "webp | png | jpg", required: false, default: "webp" },
|
|
13
|
+
context: {
|
|
14
|
+
type: "string",
|
|
15
|
+
description: "Free-text hint passed to Gemini describe (e.g. 'competitor pricing page screenshot')",
|
|
16
|
+
required: false,
|
|
17
|
+
},
|
|
13
18
|
},
|
|
14
19
|
});
|
|
15
20
|
export const screenshotCommand = defineCommand({
|
|
@@ -22,6 +27,7 @@ export const screenshotCommand = defineCommand({
|
|
|
22
27
|
"full-page": { type: "boolean", description: "Full-page capture", required: false },
|
|
23
28
|
viewport: { type: "string", description: "WxH viewport (e.g. 1440x900)", required: false },
|
|
24
29
|
format: { type: "string", description: "webp|png|jpg", required: false },
|
|
30
|
+
context: { type: "string", description: "Description context hint", required: false },
|
|
25
31
|
},
|
|
26
32
|
run: async ({ args }) => {
|
|
27
33
|
try {
|
|
@@ -48,6 +54,8 @@ export const screenshotCommand = defineCommand({
|
|
|
48
54
|
body.viewportWidth = Number(match[1]);
|
|
49
55
|
body.viewportHeight = Number(match[2]);
|
|
50
56
|
}
|
|
57
|
+
if (args.context)
|
|
58
|
+
body.descriptionContext = args.context;
|
|
51
59
|
const data = await apiPost("/api/images/screenshot", body);
|
|
52
60
|
writeJson({ ok: true, data });
|
|
53
61
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"screenshot.js","sourceRoot":"","sources":["../../../src/commands/images/screenshot.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AACtC,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AACpD,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAElD,cAAc,CAAC;IACb,OAAO,EAAE,mBAAmB;IAC5B,WAAW,EAAE,0EAA0E;IACvF,IAAI,EAAE;QACJ,GAAG,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,gBAAgB,EAAE,QAAQ,EAAE,IAAI,EAAE;QACtE,WAAW,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,WAAW,EAAE,mBAAmB,EAAE,QAAQ,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE;QACnG,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,qBAAqB,EAAE,QAAQ,EAAE,KAAK,EAAE;QACjF,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,kBAAkB,EAAE,QAAQ,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE;
|
|
1
|
+
{"version":3,"file":"screenshot.js","sourceRoot":"","sources":["../../../src/commands/images/screenshot.ts"],"names":[],"mappings":"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"}
|
|
@@ -29,5 +29,10 @@ export declare const stickerCommand: import("citty").CommandDef<{
|
|
|
29
29
|
readonly description: "Auto-ingest top N";
|
|
30
30
|
readonly required: false;
|
|
31
31
|
};
|
|
32
|
+
readonly context: {
|
|
33
|
+
readonly type: "string";
|
|
34
|
+
readonly description: "Description context hint applied to ingested stickers";
|
|
35
|
+
readonly required: false;
|
|
36
|
+
};
|
|
32
37
|
}>;
|
|
33
38
|
//# sourceMappingURL=sticker.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sticker.d.ts","sourceRoot":"","sources":["../../../src/commands/images/sticker.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"sticker.d.ts","sourceRoot":"","sources":["../../../src/commands/images/sticker.ts"],"names":[],"mappings":"AAqCA,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA8CzB,CAAC"}
|
|
@@ -26,6 +26,11 @@ registerSchema({
|
|
|
26
26
|
required: false,
|
|
27
27
|
default: 0,
|
|
28
28
|
},
|
|
29
|
+
context: {
|
|
30
|
+
type: "string",
|
|
31
|
+
description: "Free-text hint applied to ingested stickers (overrides Giphy title/alt)",
|
|
32
|
+
required: false,
|
|
33
|
+
},
|
|
29
34
|
},
|
|
30
35
|
});
|
|
31
36
|
export const stickerCommand = defineCommand({
|
|
@@ -40,6 +45,7 @@ export const stickerCommand = defineCommand({
|
|
|
40
45
|
rating: { type: "string", description: "Content rating", required: false },
|
|
41
46
|
lang: { type: "string", description: "Language code", required: false },
|
|
42
47
|
"auto-ingest": { type: "string", description: "Auto-ingest top N", required: false },
|
|
48
|
+
context: { type: "string", description: "Description context hint applied to ingested stickers", required: false },
|
|
43
49
|
},
|
|
44
50
|
run: async ({ args }) => {
|
|
45
51
|
try {
|
|
@@ -65,6 +71,8 @@ export const stickerCommand = defineCommand({
|
|
|
65
71
|
body.lang = args.lang;
|
|
66
72
|
if (args["auto-ingest"])
|
|
67
73
|
body.autoIngest = Number(args["auto-ingest"]);
|
|
74
|
+
if (args.context)
|
|
75
|
+
body.descriptionContext = args.context;
|
|
68
76
|
const data = await apiPost("/api/images/sticker", body);
|
|
69
77
|
writeJson({ ok: true, data });
|
|
70
78
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sticker.js","sourceRoot":"","sources":["../../../src/commands/images/sticker.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AACtC,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AACpD,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAElD,cAAc,CAAC;IACb,OAAO,EAAE,gBAAgB;IACzB,WAAW,EAAE,0EAA0E;IACvF,IAAI,EAAE;QACJ,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,qCAAqC,EAAE,QAAQ,EAAE,KAAK,EAAE;QAC9F,QAAQ,EAAE;YACR,IAAI,EAAE,SAAS;YACf,WAAW,EAAE,8DAA8D;YAC3E,QAAQ,EAAE,KAAK;YACf,OAAO,EAAE,KAAK;SACf;QACD,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,kCAAkC,EAAE,QAAQ,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,EAAE;QACxG,MAAM,EAAE;YACN,IAAI,EAAE,QAAQ;YACd,WAAW,EAAE,iDAAiD;YAC9D,QAAQ,EAAE,KAAK;SAChB;QACD,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,sCAAsC,EAAE,QAAQ,EAAE,KAAK,EAAE;QAC9F,aAAa,EAAE;YACb,IAAI,EAAE,QAAQ;YACd,WAAW,EAAE,mDAAmD;YAChE,QAAQ,EAAE,KAAK;YACf,OAAO,EAAE,CAAC;SACX;KACF;CACF,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,cAAc,GAAG,aAAa,CAAC;IAC1C,IAAI,EAAE;QACJ,IAAI,EAAE,SAAS;QACf,WAAW,EACT,qZAAqZ;KACxZ;IACD,IAAI,EAAE;QACJ,KAAK,EAAE,EAAE,IAAI,EAAE,YAAY,EAAE,WAAW,EAAE,qCAAqC,EAAE,QAAQ,EAAE,KAAK,EAAE;QAClG,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,WAAW,EAAE,eAAe,EAAE,QAAQ,EAAE,KAAK,EAAE;QAC5E,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,aAAa,EAAE,QAAQ,EAAE,KAAK,EAAE;QACtE,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,gBAAgB,EAAE,QAAQ,EAAE,KAAK,EAAE;QAC1E,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,eAAe,EAAE,QAAQ,EAAE,KAAK,EAAE;QACvE,aAAa,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,mBAAmB,EAAE,QAAQ,EAAE,KAAK,EAAE;
|
|
1
|
+
{"version":3,"file":"sticker.js","sourceRoot":"","sources":["../../../src/commands/images/sticker.ts"],"names":[],"mappings":"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"}
|
|
@@ -54,5 +54,10 @@ export declare const stockCommand: import("citty").CommandDef<{
|
|
|
54
54
|
readonly description: "Auto-ingest top N";
|
|
55
55
|
readonly required: false;
|
|
56
56
|
};
|
|
57
|
+
readonly context: {
|
|
58
|
+
readonly type: "string";
|
|
59
|
+
readonly description: "Description context hint applied to auto-ingested hits";
|
|
60
|
+
readonly required: false;
|
|
61
|
+
};
|
|
57
62
|
}>;
|
|
58
63
|
//# sourceMappingURL=stock.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"stock.d.ts","sourceRoot":"","sources":["../../../src/commands/images/stock.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"stock.d.ts","sourceRoot":"","sources":["../../../src/commands/images/stock.ts"],"names":[],"mappings":"AA+DA,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAmDvB,CAAC"}
|
|
@@ -52,6 +52,11 @@ registerSchema({
|
|
|
52
52
|
required: false,
|
|
53
53
|
default: 0,
|
|
54
54
|
},
|
|
55
|
+
context: {
|
|
56
|
+
type: "string",
|
|
57
|
+
description: "Free-text hint applied to every auto-ingested hit (overrides Magnific title)",
|
|
58
|
+
required: false,
|
|
59
|
+
},
|
|
55
60
|
},
|
|
56
61
|
});
|
|
57
62
|
export const stockCommand = defineCommand({
|
|
@@ -71,6 +76,7 @@ export const stockCommand = defineCommand({
|
|
|
71
76
|
limit: { type: "string", description: "Max results (1-50)", required: false },
|
|
72
77
|
page: { type: "string", description: "Page number", required: false },
|
|
73
78
|
"auto-ingest": { type: "string", description: "Auto-ingest top N", required: false },
|
|
79
|
+
context: { type: "string", description: "Description context hint applied to auto-ingested hits", required: false },
|
|
74
80
|
},
|
|
75
81
|
run: async ({ args }) => {
|
|
76
82
|
try {
|
|
@@ -100,6 +106,8 @@ export const stockCommand = defineCommand({
|
|
|
100
106
|
body.page = Number(args.page);
|
|
101
107
|
if (args["auto-ingest"])
|
|
102
108
|
body.autoIngest = Number(args["auto-ingest"]);
|
|
109
|
+
if (args.context)
|
|
110
|
+
body.descriptionContext = args.context;
|
|
103
111
|
const data = await apiPost("/api/images/stock", body);
|
|
104
112
|
writeJson({ ok: true, data });
|
|
105
113
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"stock.js","sourceRoot":"","sources":["../../../src/commands/images/stock.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"stock.js","sourceRoot":"","sources":["../../../src/commands/images/stock.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
export declare const uploadCommand: import("citty").CommandDef<{
|
|
2
2
|
readonly file: {
|
|
3
3
|
readonly type: "positional";
|
|
4
|
-
readonly description: "
|
|
4
|
+
readonly description: "Local file path or remote http(s) URL";
|
|
5
5
|
readonly required: false;
|
|
6
6
|
};
|
|
7
7
|
readonly source: {
|
|
@@ -11,7 +11,17 @@ export declare const uploadCommand: import("citty").CommandDef<{
|
|
|
11
11
|
};
|
|
12
12
|
readonly "content-type": {
|
|
13
13
|
readonly type: "string";
|
|
14
|
-
readonly description: "MIME type (auto-detected if omitted)";
|
|
14
|
+
readonly description: "MIME type (local only — auto-detected if omitted)";
|
|
15
|
+
readonly required: false;
|
|
16
|
+
};
|
|
17
|
+
readonly "external-id": {
|
|
18
|
+
readonly type: "string";
|
|
19
|
+
readonly description: "Provider asset id (URL mode only)";
|
|
20
|
+
readonly required: false;
|
|
21
|
+
};
|
|
22
|
+
readonly "external-url": {
|
|
23
|
+
readonly type: "string";
|
|
24
|
+
readonly description: "Canonical page URL (URL mode only)";
|
|
15
25
|
readonly required: false;
|
|
16
26
|
};
|
|
17
27
|
readonly "dry-run": {
|
|
@@ -20,5 +30,10 @@ export declare const uploadCommand: import("citty").CommandDef<{
|
|
|
20
30
|
readonly required: false;
|
|
21
31
|
readonly default: false;
|
|
22
32
|
};
|
|
33
|
+
readonly context: {
|
|
34
|
+
readonly type: "string";
|
|
35
|
+
readonly description: "Description context hint";
|
|
36
|
+
readonly required: false;
|
|
37
|
+
};
|
|
23
38
|
}>;
|
|
24
39
|
//# sourceMappingURL=upload.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"upload.d.ts","sourceRoot":"","sources":["../../../src/commands/images/upload.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"upload.d.ts","sourceRoot":"","sources":["../../../src/commands/images/upload.ts"],"names":[],"mappings":"AAiEA,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA4CxB,CAAC"}
|
|
@@ -15,13 +15,23 @@ const MIME_MAP = {
|
|
|
15
15
|
};
|
|
16
16
|
registerSchema({
|
|
17
17
|
command: "images.upload",
|
|
18
|
-
description: "Upload an image file
|
|
18
|
+
description: "Upload an image to the library — local file path or remote http(s) URL.",
|
|
19
19
|
args: {
|
|
20
|
-
file: { type: "string", description: "
|
|
21
|
-
source: { type: "string", description: "Source identifier", required: false },
|
|
20
|
+
file: { type: "string", description: "Local file path or remote http(s) URL", required: true },
|
|
21
|
+
source: { type: "string", description: "Source identifier (default: uploaded)", required: false },
|
|
22
22
|
"content-type": {
|
|
23
23
|
type: "string",
|
|
24
|
-
description: "MIME type (auto-detected from extension if omitted)",
|
|
24
|
+
description: "MIME type (local files only — auto-detected from extension if omitted; ignored for URLs)",
|
|
25
|
+
required: false,
|
|
26
|
+
},
|
|
27
|
+
"external-id": {
|
|
28
|
+
type: "string",
|
|
29
|
+
description: "Provider asset id (URL mode only — enables per-source dedup before bytes are fetched)",
|
|
30
|
+
required: false,
|
|
31
|
+
},
|
|
32
|
+
"external-url": {
|
|
33
|
+
type: "string",
|
|
34
|
+
description: "Canonical page URL (URL mode only — parent page for scraped/Google hits, provider page for stock)",
|
|
25
35
|
required: false,
|
|
26
36
|
},
|
|
27
37
|
"dry-run": {
|
|
@@ -30,8 +40,16 @@ registerSchema({
|
|
|
30
40
|
required: false,
|
|
31
41
|
default: false,
|
|
32
42
|
},
|
|
43
|
+
context: {
|
|
44
|
+
type: "string",
|
|
45
|
+
description: "Free-text hint passed to Gemini describe to bias the generated description and tags",
|
|
46
|
+
required: false,
|
|
47
|
+
},
|
|
33
48
|
},
|
|
34
49
|
});
|
|
50
|
+
function isRemoteUrl(value) {
|
|
51
|
+
return /^https?:\/\//i.test(value);
|
|
52
|
+
}
|
|
35
53
|
function detectContentType(filePath) {
|
|
36
54
|
const ext = extname(filePath).toLowerCase();
|
|
37
55
|
const mime = MIME_MAP[ext];
|
|
@@ -43,39 +61,37 @@ function detectContentType(filePath) {
|
|
|
43
61
|
export const uploadCommand = defineCommand({
|
|
44
62
|
meta: {
|
|
45
63
|
name: "upload",
|
|
46
|
-
description: "Upload an image file to
|
|
64
|
+
description: "Upload an image to the library — 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 — enterprise tier'\n baker images upload https://acme.com/hero.png --source firecrawl --context 'Acme competitor pricing hero'",
|
|
47
65
|
},
|
|
48
66
|
args: {
|
|
49
|
-
file: { type: "positional", description: "
|
|
67
|
+
file: { type: "positional", description: "Local file path or remote http(s) URL", required: false },
|
|
50
68
|
source: { type: "string", description: "Source identifier", required: false },
|
|
51
|
-
"content-type": {
|
|
69
|
+
"content-type": {
|
|
70
|
+
type: "string",
|
|
71
|
+
description: "MIME type (local only — auto-detected if omitted)",
|
|
72
|
+
required: false,
|
|
73
|
+
},
|
|
74
|
+
"external-id": { type: "string", description: "Provider asset id (URL mode only)", required: false },
|
|
75
|
+
"external-url": { type: "string", description: "Canonical page URL (URL mode only)", required: false },
|
|
52
76
|
"dry-run": { type: "boolean", description: "Preview without executing", required: false, default: false },
|
|
77
|
+
context: { type: "string", description: "Description context hint", required: false },
|
|
53
78
|
},
|
|
54
79
|
run: async ({ args }) => {
|
|
55
80
|
try {
|
|
56
|
-
const
|
|
57
|
-
if (!
|
|
58
|
-
writeJson({ ok: false, error: { code: "VALIDATION_ERROR", message: "File path is required" } });
|
|
59
|
-
process.exit(1);
|
|
60
|
-
}
|
|
61
|
-
const contentType = args["content-type"] || detectContentType(filePath);
|
|
62
|
-
if (args["dry-run"]) {
|
|
81
|
+
const target = args.file;
|
|
82
|
+
if (!target) {
|
|
63
83
|
writeJson({
|
|
64
|
-
ok:
|
|
65
|
-
|
|
66
|
-
operation: "images.upload",
|
|
67
|
-
params: { file: filePath, contentType, source: args.source ?? null },
|
|
84
|
+
ok: false,
|
|
85
|
+
error: { code: "VALIDATION_ERROR", message: "File path or URL is required" },
|
|
68
86
|
});
|
|
69
|
-
|
|
87
|
+
process.exit(1);
|
|
70
88
|
}
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
89
|
+
if (isRemoteUrl(target)) {
|
|
90
|
+
await uploadRemote(target, args);
|
|
91
|
+
}
|
|
92
|
+
else {
|
|
93
|
+
await uploadLocal(target, args);
|
|
76
94
|
}
|
|
77
|
-
const data = await apiPost("/api/images/upload", body);
|
|
78
|
-
writeJson({ ok: true, data });
|
|
79
95
|
}
|
|
80
96
|
catch (err) {
|
|
81
97
|
if (err instanceof ApiError) {
|
|
@@ -87,4 +103,57 @@ export const uploadCommand = defineCommand({
|
|
|
87
103
|
}
|
|
88
104
|
},
|
|
89
105
|
});
|
|
106
|
+
async function uploadRemote(target, args) {
|
|
107
|
+
const source = args.source ?? "uploaded";
|
|
108
|
+
if (args["dry-run"]) {
|
|
109
|
+
writeJson({
|
|
110
|
+
ok: true,
|
|
111
|
+
dryRun: true,
|
|
112
|
+
operation: "images.upload (remote)",
|
|
113
|
+
params: {
|
|
114
|
+
url: target,
|
|
115
|
+
source,
|
|
116
|
+
externalId: args["external-id"] ?? null,
|
|
117
|
+
externalUrl: args["external-url"] ?? null,
|
|
118
|
+
descriptionContext: args.context ?? null,
|
|
119
|
+
},
|
|
120
|
+
});
|
|
121
|
+
return;
|
|
122
|
+
}
|
|
123
|
+
const body = { url: target, source };
|
|
124
|
+
if (args["external-id"])
|
|
125
|
+
body.externalId = args["external-id"];
|
|
126
|
+
if (args["external-url"])
|
|
127
|
+
body.externalUrl = args["external-url"];
|
|
128
|
+
if (args.context)
|
|
129
|
+
body.descriptionContext = args.context;
|
|
130
|
+
const data = await apiPost("/api/images/ingest", body);
|
|
131
|
+
writeJson({ ok: true, data });
|
|
132
|
+
}
|
|
133
|
+
async function uploadLocal(target, args) {
|
|
134
|
+
const contentType = args["content-type"] || detectContentType(target);
|
|
135
|
+
if (args["dry-run"]) {
|
|
136
|
+
writeJson({
|
|
137
|
+
ok: true,
|
|
138
|
+
dryRun: true,
|
|
139
|
+
operation: "images.upload (local)",
|
|
140
|
+
params: {
|
|
141
|
+
file: target,
|
|
142
|
+
contentType,
|
|
143
|
+
source: args.source ?? null,
|
|
144
|
+
descriptionContext: args.context ?? null,
|
|
145
|
+
},
|
|
146
|
+
});
|
|
147
|
+
return;
|
|
148
|
+
}
|
|
149
|
+
const fileBuffer = await readFile(target);
|
|
150
|
+
const base64 = fileBuffer.toString("base64");
|
|
151
|
+
const body = { base64, contentType };
|
|
152
|
+
if (args.source)
|
|
153
|
+
body.source = args.source;
|
|
154
|
+
if (args.context)
|
|
155
|
+
body.descriptionContext = args.context;
|
|
156
|
+
const data = await apiPost("/api/images/upload", body);
|
|
157
|
+
writeJson({ ok: true, data });
|
|
158
|
+
}
|
|
90
159
|
//# sourceMappingURL=upload.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"upload.js","sourceRoot":"","sources":["../../../src/commands/images/upload.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AACtC,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AACpD,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAElD,MAAM,QAAQ,GAA2B;IACvC,MAAM,EAAE,WAAW;IACnB,MAAM,EAAE,YAAY;IACpB,OAAO,EAAE,YAAY;IACrB,MAAM,EAAE,WAAW;IACnB,OAAO,EAAE,YAAY;IACrB,MAAM,EAAE,eAAe;IACvB,OAAO,EAAE,YAAY;CACtB,CAAC;AAEF,cAAc,CAAC;IACb,OAAO,EAAE,eAAe;IACxB,WAAW,EAAE
|
|
1
|
+
{"version":3,"file":"upload.js","sourceRoot":"","sources":["../../../src/commands/images/upload.ts"],"names":[],"mappings":"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"}
|
|
@@ -14,5 +14,10 @@ export declare const useCommand: import("citty").CommandDef<{
|
|
|
14
14
|
readonly description: "Max wait ms (default 30000)";
|
|
15
15
|
readonly required: false;
|
|
16
16
|
};
|
|
17
|
+
readonly context: {
|
|
18
|
+
readonly type: "string";
|
|
19
|
+
readonly description: "Description context hint";
|
|
20
|
+
readonly required: false;
|
|
21
|
+
};
|
|
17
22
|
}>;
|
|
18
23
|
//# sourceMappingURL=use.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use.d.ts","sourceRoot":"","sources":["../../../src/commands/images/use.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"use.d.ts","sourceRoot":"","sources":["../../../src/commands/images/use.ts"],"names":[],"mappings":"AAoCA,eAAO,MAAM,UAAU;;;;;;;;;;;;;;;;;;;;;EA8CrB,CAAC"}
|
|
@@ -9,6 +9,11 @@ registerSchema({
|
|
|
9
9
|
url: { type: "string", description: "Image URL", required: true },
|
|
10
10
|
source: { type: "string", description: "Image source enum", required: false, default: "uploaded" },
|
|
11
11
|
"max-wait": { type: "number", description: "Max wait ms", required: false, default: 30000 },
|
|
12
|
+
context: {
|
|
13
|
+
type: "string",
|
|
14
|
+
description: "Free-text hint passed to Gemini describe to bias the generated description and tags",
|
|
15
|
+
required: false,
|
|
16
|
+
},
|
|
12
17
|
},
|
|
13
18
|
});
|
|
14
19
|
const POLL_INTERVAL_MS = 1500;
|
|
@@ -21,6 +26,7 @@ export const useCommand = defineCommand({
|
|
|
21
26
|
url: { type: "positional", description: "Image URL", required: false },
|
|
22
27
|
source: { type: "string", description: "Source enum", required: false },
|
|
23
28
|
"max-wait": { type: "string", description: "Max wait ms (default 30000)", required: false },
|
|
29
|
+
context: { type: "string", description: "Description context hint", required: false },
|
|
24
30
|
},
|
|
25
31
|
run: async ({ args }) => {
|
|
26
32
|
try {
|
|
@@ -31,7 +37,10 @@ export const useCommand = defineCommand({
|
|
|
31
37
|
}
|
|
32
38
|
const source = args.source ?? "uploaded";
|
|
33
39
|
const maxWait = args["max-wait"] ? Number(args["max-wait"]) : 30000;
|
|
34
|
-
const
|
|
40
|
+
const ingestBody = { url, source };
|
|
41
|
+
if (args.context)
|
|
42
|
+
ingestBody.descriptionContext = args.context;
|
|
43
|
+
const ingestResult = await apiPost("/api/images/ingest", ingestBody);
|
|
35
44
|
const start = Date.now();
|
|
36
45
|
while (Date.now() - start < maxWait) {
|
|
37
46
|
const doc = await apiGet("/api/images/get", { id: ingestResult.imageId });
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use.js","sourceRoot":"","sources":["../../../src/commands/images/use.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AACtC,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAC5D,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAElD,cAAc,CAAC;IACb,OAAO,EAAE,YAAY;IACrB,WAAW,EAAE,2DAA2D;IACxE,IAAI,EAAE;QACJ,GAAG,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,WAAW,EAAE,QAAQ,EAAE,IAAI,EAAE;QACjE,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,mBAAmB,EAAE,QAAQ,EAAE,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE;QAClG,UAAU,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,aAAa,EAAE,QAAQ,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE;
|
|
1
|
+
{"version":3,"file":"use.js","sourceRoot":"","sources":["../../../src/commands/images/use.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
export declare const memeCommand: import("citty").CommandDef<{
|
|
2
|
-
readonly query: {
|
|
3
|
-
readonly type: "positional";
|
|
4
|
-
readonly description: "Search query";
|
|
5
|
-
readonly required: false;
|
|
6
|
-
};
|
|
7
|
-
readonly limit: {
|
|
8
|
-
readonly type: "string";
|
|
9
|
-
readonly description: "Max results";
|
|
10
|
-
readonly required: false;
|
|
11
|
-
};
|
|
12
|
-
readonly safe: {
|
|
13
|
-
readonly type: "string";
|
|
14
|
-
readonly description: "Content filter";
|
|
15
|
-
readonly required: false;
|
|
16
|
-
};
|
|
17
|
-
readonly locale: {
|
|
18
|
-
readonly type: "string";
|
|
19
|
-
readonly description: "BCP-47 locale";
|
|
20
|
-
readonly required: false;
|
|
21
|
-
};
|
|
22
|
-
readonly "auto-ingest": {
|
|
23
|
-
readonly type: "string";
|
|
24
|
-
readonly description: "Auto-ingest top N";
|
|
25
|
-
readonly required: false;
|
|
26
|
-
};
|
|
27
|
-
}>;
|
|
28
|
-
//# sourceMappingURL=meme.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"meme.d.ts","sourceRoot":"","sources":["../../../src/commands/images/meme.ts"],"names":[],"mappings":"AA0BA,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;EAqCtB,CAAC"}
|