gobananas-cli 1.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (103) hide show
  1. package/bin/gobananas-mcp.js +10 -0
  2. package/bin/gobananas.js +8 -0
  3. package/dist/commands/account.d.ts +8 -0
  4. package/dist/commands/account.d.ts.map +1 -0
  5. package/dist/commands/account.js +200 -0
  6. package/dist/commands/account.js.map +1 -0
  7. package/dist/commands/character.d.ts +8 -0
  8. package/dist/commands/character.d.ts.map +1 -0
  9. package/dist/commands/character.js +493 -0
  10. package/dist/commands/character.js.map +1 -0
  11. package/dist/commands/config.d.ts +8 -0
  12. package/dist/commands/config.d.ts.map +1 -0
  13. package/dist/commands/config.js +232 -0
  14. package/dist/commands/config.js.map +1 -0
  15. package/dist/commands/edit.d.ts +19 -0
  16. package/dist/commands/edit.d.ts.map +1 -0
  17. package/dist/commands/edit.js +279 -0
  18. package/dist/commands/edit.js.map +1 -0
  19. package/dist/commands/generate.d.ts +8 -0
  20. package/dist/commands/generate.d.ts.map +1 -0
  21. package/dist/commands/generate.js +177 -0
  22. package/dist/commands/generate.js.map +1 -0
  23. package/dist/commands/image.d.ts +8 -0
  24. package/dist/commands/image.d.ts.map +1 -0
  25. package/dist/commands/image.js +212 -0
  26. package/dist/commands/image.js.map +1 -0
  27. package/dist/commands/index.d.ts +19 -0
  28. package/dist/commands/index.d.ts.map +1 -0
  29. package/dist/commands/index.js +19 -0
  30. package/dist/commands/index.js.map +1 -0
  31. package/dist/commands/mcp-help.d.ts +8 -0
  32. package/dist/commands/mcp-help.d.ts.map +1 -0
  33. package/dist/commands/mcp-help.js +264 -0
  34. package/dist/commands/mcp-help.js.map +1 -0
  35. package/dist/commands/mcp.d.ts +9 -0
  36. package/dist/commands/mcp.d.ts.map +1 -0
  37. package/dist/commands/mcp.js +25 -0
  38. package/dist/commands/mcp.js.map +1 -0
  39. package/dist/commands/product.d.ts +8 -0
  40. package/dist/commands/product.d.ts.map +1 -0
  41. package/dist/commands/product.js +316 -0
  42. package/dist/commands/product.js.map +1 -0
  43. package/dist/commands/scene.d.ts +8 -0
  44. package/dist/commands/scene.d.ts.map +1 -0
  45. package/dist/commands/scene.js +448 -0
  46. package/dist/commands/scene.js.map +1 -0
  47. package/dist/commands/search.d.ts +8 -0
  48. package/dist/commands/search.d.ts.map +1 -0
  49. package/dist/commands/search.js +123 -0
  50. package/dist/commands/search.js.map +1 -0
  51. package/dist/commands/session.d.ts +8 -0
  52. package/dist/commands/session.d.ts.map +1 -0
  53. package/dist/commands/session.js +167 -0
  54. package/dist/commands/session.js.map +1 -0
  55. package/dist/commands/style.d.ts +8 -0
  56. package/dist/commands/style.d.ts.map +1 -0
  57. package/dist/commands/style.js +297 -0
  58. package/dist/commands/style.js.map +1 -0
  59. package/dist/commands/usage.d.ts +8 -0
  60. package/dist/commands/usage.d.ts.map +1 -0
  61. package/dist/commands/usage.js +144 -0
  62. package/dist/commands/usage.js.map +1 -0
  63. package/dist/config/config.d.ts +65 -0
  64. package/dist/config/config.d.ts.map +1 -0
  65. package/dist/config/config.js +156 -0
  66. package/dist/config/config.js.map +1 -0
  67. package/dist/index.d.ts +22 -0
  68. package/dist/index.d.ts.map +1 -0
  69. package/dist/index.js +130 -0
  70. package/dist/index.js.map +1 -0
  71. package/dist/mcp/stdio-proxy.d.ts +8 -0
  72. package/dist/mcp/stdio-proxy.d.ts.map +1 -0
  73. package/dist/mcp/stdio-proxy.js +297 -0
  74. package/dist/mcp/stdio-proxy.js.map +1 -0
  75. package/dist/mcp-stdio.d.ts +3 -0
  76. package/dist/mcp-stdio.d.ts.map +1 -0
  77. package/dist/mcp-stdio.js +8 -0
  78. package/dist/mcp-stdio.js.map +1 -0
  79. package/dist/transport/index.d.ts +29 -0
  80. package/dist/transport/index.d.ts.map +1 -0
  81. package/dist/transport/index.js +72 -0
  82. package/dist/transport/index.js.map +1 -0
  83. package/dist/transport/mcp-client.d.ts +342 -0
  84. package/dist/transport/mcp-client.d.ts.map +1 -0
  85. package/dist/transport/mcp-client.js +478 -0
  86. package/dist/transport/mcp-client.js.map +1 -0
  87. package/dist/transport/rest-client.d.ts +297 -0
  88. package/dist/transport/rest-client.d.ts.map +1 -0
  89. package/dist/transport/rest-client.js +461 -0
  90. package/dist/transport/rest-client.js.map +1 -0
  91. package/dist/types/responses.d.ts +230 -0
  92. package/dist/types/responses.d.ts.map +1 -0
  93. package/dist/types/responses.js +46 -0
  94. package/dist/types/responses.js.map +1 -0
  95. package/dist/utils/file-handler.d.ts +51 -0
  96. package/dist/utils/file-handler.d.ts.map +1 -0
  97. package/dist/utils/file-handler.js +189 -0
  98. package/dist/utils/file-handler.js.map +1 -0
  99. package/dist/utils/output.d.ts +111 -0
  100. package/dist/utils/output.d.ts.map +1 -0
  101. package/dist/utils/output.js +240 -0
  102. package/dist/utils/output.js.map +1 -0
  103. package/package.json +54 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"product.js","sourceRoot":"","sources":["../../src/commands/product.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Scene Commands
3
+ *
4
+ * Commands for managing and using saved scene presets.
5
+ */
6
+ import { Command } from 'commander';
7
+ export declare function createSceneCommand(): Command;
8
+ //# sourceMappingURL=scene.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scene.d.ts","sourceRoot":"","sources":["../../src/commands/scene.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAqBpC,wBAAgB,kBAAkB,IAAI,OAAO,CAga5C"}
@@ -0,0 +1,448 @@
1
+ /**
2
+ * Scene Commands
3
+ *
4
+ * Commands for managing and using saved scene presets.
5
+ */
6
+ import { Command } from 'commander';
7
+ import { createTransport, getTransportName } from '../transport/index.js';
8
+ import { downloadImage } from '../utils/file-handler.js';
9
+ import * as output from '../utils/output.js';
10
+ import { parseMcpTextResponse } from '../types/responses.js';
11
+ function parseCommaList(value) {
12
+ if (!value)
13
+ return undefined;
14
+ const items = value
15
+ .split(',')
16
+ .map((item) => item.trim())
17
+ .filter(Boolean);
18
+ return items.length > 0 ? items : undefined;
19
+ }
20
+ function parseIdList(value) {
21
+ const items = parseCommaList(value);
22
+ if (!items)
23
+ return undefined;
24
+ return items.map((item) => parseInt(item, 10)).filter((id) => Number.isFinite(id) && id > 0);
25
+ }
26
+ export function createSceneCommand() {
27
+ const cmd = new Command('scene')
28
+ .alias('sc')
29
+ .description('Manage saved scene presets (prompt + reference images + defaults)');
30
+ // List scenes
31
+ cmd
32
+ .command('list')
33
+ .alias('ls')
34
+ .description('List all saved scene presets')
35
+ .option('-s, --search <query>', 'Search by name or description')
36
+ .option('-l, --limit <number>', 'Maximum number to return', '50')
37
+ .option('--offset <number>', 'Pagination offset', '0')
38
+ .option('--sort <by>', 'Sort by: name, created, used, recent', 'name')
39
+ .option('--json', 'Output raw JSON response')
40
+ .action(async (options) => {
41
+ const spin = output.spinner('Loading scenes...');
42
+ try {
43
+ const transport = await createTransport();
44
+ let result;
45
+ if (transport.type === 'mcp' && transport.mcp) {
46
+ const mcpResult = await transport.mcp.listScenes({
47
+ search: options.search,
48
+ limit: parseInt(options.limit, 10),
49
+ offset: parseInt(options.offset, 10),
50
+ sortBy: options.sort,
51
+ });
52
+ result = { raw: mcpResult.content?.[0]?.text };
53
+ }
54
+ else if (transport.rest) {
55
+ const restResult = await transport.rest.listScenes({
56
+ search: options.search,
57
+ limit: parseInt(options.limit, 10),
58
+ offset: parseInt(options.offset, 10),
59
+ sortBy: options.sort,
60
+ });
61
+ result = restResult;
62
+ }
63
+ else {
64
+ throw new Error('No transport available');
65
+ }
66
+ spin.stop();
67
+ if (options.json) {
68
+ output.json(result);
69
+ }
70
+ else {
71
+ const r = result;
72
+ if (r.raw) {
73
+ console.log(r.raw);
74
+ }
75
+ else if (r.data && Array.isArray(r.data)) {
76
+ output.header(`Scenes (${r.data.length})`);
77
+ for (const scene of r.data) {
78
+ output.sceneInfo(scene);
79
+ }
80
+ if (r.pagination) {
81
+ const p = r.pagination;
82
+ if (p.total > r.data.length) {
83
+ output.newline();
84
+ output.info(`Showing ${r.data.length} of ${p.total}. Use --offset to see more.`);
85
+ }
86
+ }
87
+ }
88
+ else {
89
+ output.info('No scenes found. Use "gb scene create" to save one!');
90
+ }
91
+ }
92
+ }
93
+ catch (err) {
94
+ spin.stop();
95
+ output.error(err instanceof Error ? err.message : 'Failed to list scenes');
96
+ process.exit(1);
97
+ }
98
+ });
99
+ // Get scene details
100
+ cmd
101
+ .command('get <nameOrId>')
102
+ .description('Get details of a specific scene preset')
103
+ .option('--json', 'Output raw JSON response')
104
+ .action(async (nameOrId, options) => {
105
+ const spin = output.spinner('Loading scene...');
106
+ try {
107
+ const transport = await createTransport();
108
+ const params = isNaN(parseInt(nameOrId, 10))
109
+ ? { sceneName: nameOrId }
110
+ : { sceneId: parseInt(nameOrId, 10) };
111
+ let result;
112
+ if (transport.type === 'mcp' && transport.mcp) {
113
+ const mcpResult = await transport.mcp.getScene(params);
114
+ result = { raw: mcpResult.content?.[0]?.text };
115
+ }
116
+ else if (transport.rest) {
117
+ const restResult = await transport.rest.getScene(nameOrId);
118
+ result = restResult;
119
+ }
120
+ else {
121
+ throw new Error('No transport available');
122
+ }
123
+ spin.stop();
124
+ if (options.json) {
125
+ output.json(result);
126
+ }
127
+ else {
128
+ const r = result;
129
+ if (r.raw) {
130
+ console.log(r.raw);
131
+ }
132
+ else if (r.data) {
133
+ const scene = r.data;
134
+ output.header(`Scene: ${(scene.scene_name || scene.sceneName || scene.name)}`);
135
+ output.keyValue('ID', scene.id);
136
+ if (scene.description)
137
+ output.keyValue('Description', scene.description);
138
+ if (scene.scene_prompt)
139
+ output.keyValue('Scene Prompt', scene.scene_prompt);
140
+ if (scene.default_reference_mode) {
141
+ output.keyValue('Default Reference Mode', scene.default_reference_mode);
142
+ }
143
+ if (scene.preferred_aspect_ratio) {
144
+ output.keyValue('Preferred Aspect', scene.preferred_aspect_ratio);
145
+ }
146
+ if (scene.tags && Array.isArray(scene.tags)) {
147
+ output.keyValue('Tags', scene.tags.join(', '));
148
+ }
149
+ if (scene.reference_images && Array.isArray(scene.reference_images)) {
150
+ output.keyValue('Reference Images', scene.reference_images.length);
151
+ }
152
+ if (scene.times_used !== undefined) {
153
+ output.keyValue('Times Used', scene.times_used);
154
+ }
155
+ }
156
+ }
157
+ }
158
+ catch (err) {
159
+ spin.stop();
160
+ output.error(err instanceof Error ? err.message : 'Failed to get scene');
161
+ process.exit(1);
162
+ }
163
+ });
164
+ // Create scene
165
+ cmd
166
+ .command('create <name>')
167
+ .description('Create a new scene preset')
168
+ .option('-p, --prompt <text>', 'Scene prompt prefix describing environment/composition')
169
+ .option('-d, --description <text>', 'Short description')
170
+ .option('--refs <ids>', 'Comma-separated reference image IDs')
171
+ .option('--ref-urls <urls>', 'Comma-separated public image URLs to fetch/store as references')
172
+ .option('--default-mode <mode>', "Default reference mode ('style' or 'add')")
173
+ .option('-a, --aspect <ratio>', 'Preferred aspect ratio')
174
+ .option('--tags <tags>', 'Comma-separated tags')
175
+ .option('--json', 'Output raw JSON response')
176
+ .action(async (name, options) => {
177
+ const spin = output.spinner('Creating scene...');
178
+ try {
179
+ const transport = await createTransport();
180
+ const referenceImageIds = parseIdList(options.refs);
181
+ const referenceImageUrls = parseCommaList(options.refUrls);
182
+ const hasPrompt = Boolean(options.prompt && String(options.prompt).trim());
183
+ const hasRefs = (referenceImageIds?.length ?? 0) > 0 || (referenceImageUrls?.length ?? 0) > 0;
184
+ if (!hasPrompt && !hasRefs) {
185
+ throw new Error('Provide at least one of --prompt, --refs, or --ref-urls');
186
+ }
187
+ const params = {
188
+ sceneName: name,
189
+ description: options.description,
190
+ scenePrompt: options.prompt,
191
+ referenceImageIds,
192
+ referenceImageUrls,
193
+ defaultReferenceMode: options.defaultMode,
194
+ preferredAspectRatio: options.aspect,
195
+ tags: parseCommaList(options.tags),
196
+ };
197
+ let result;
198
+ if (transport.type === 'mcp' && transport.mcp) {
199
+ const mcpResult = await transport.mcp.createScene(params);
200
+ result = { raw: mcpResult.content?.[0]?.text };
201
+ }
202
+ else if (transport.rest) {
203
+ const restResult = await transport.rest.createScene(params);
204
+ result = restResult;
205
+ }
206
+ else {
207
+ throw new Error('No transport available');
208
+ }
209
+ spin.stop();
210
+ if (options.json) {
211
+ output.json(result);
212
+ }
213
+ else {
214
+ const r = result;
215
+ if (r.raw) {
216
+ console.log(r.raw);
217
+ }
218
+ else {
219
+ output.success(`Scene "${name}" created successfully!`);
220
+ if (r.data) {
221
+ const scene = r.data;
222
+ output.keyValue('ID', scene.id);
223
+ }
224
+ output.newline();
225
+ output.tip(`Use "gb scene use '${name}' '<prompt>'" to generate with this scene preset`);
226
+ }
227
+ }
228
+ }
229
+ catch (err) {
230
+ spin.stop();
231
+ output.error(err instanceof Error ? err.message : 'Failed to create scene');
232
+ process.exit(1);
233
+ }
234
+ });
235
+ // Update scene
236
+ cmd
237
+ .command('update <nameOrId>')
238
+ .description('Update an existing scene preset')
239
+ .option('--new-name <name>', 'New name for the scene preset')
240
+ .option('-p, --prompt <text>', 'Updated scene prompt prefix')
241
+ .option('--clear-prompt', 'Clear the scene prompt prefix')
242
+ .option('-d, --description <text>', 'Updated description')
243
+ .option('--clear-description', 'Clear the description')
244
+ .option('--refs <ids>', 'Replace reference image IDs (comma-separated)')
245
+ .option('--clear-refs', 'Clear reference image IDs (keeps prompt)')
246
+ .option('--ref-urls <urls>', 'Comma-separated public image URLs to fetch/store and add as references')
247
+ .option('--default-mode <mode>', "Default reference mode ('style' or 'add')")
248
+ .option('--clear-default-mode', 'Clear the default reference mode')
249
+ .option('-a, --aspect <ratio>', 'Updated preferred aspect ratio')
250
+ .option('--clear-aspect', 'Clear the preferred aspect ratio')
251
+ .option('--tags <tags>', 'Replace tags (comma-separated)')
252
+ .option('--clear-tags', 'Clear tags')
253
+ .option('--json', 'Output raw JSON response')
254
+ .action(async (nameOrId, options) => {
255
+ const spin = output.spinner('Updating scene...');
256
+ try {
257
+ const transport = await createTransport();
258
+ const isId = !isNaN(parseInt(nameOrId, 10));
259
+ const params = {
260
+ ...(isId ? { sceneId: parseInt(nameOrId, 10) } : { sceneName: nameOrId }),
261
+ };
262
+ if (options.newName)
263
+ params.newSceneName = options.newName;
264
+ if (options.description !== undefined)
265
+ params.description = options.description;
266
+ if (options.clearDescription)
267
+ params.description = null;
268
+ if (options.prompt !== undefined)
269
+ params.scenePrompt = options.prompt;
270
+ if (options.clearPrompt)
271
+ params.scenePrompt = null;
272
+ if (options.refs !== undefined)
273
+ params.referenceImageIds = parseIdList(options.refs) ?? [];
274
+ if (options.clearRefs)
275
+ params.referenceImageIds = [];
276
+ if (options.refUrls !== undefined)
277
+ params.referenceImageUrls = parseCommaList(options.refUrls) ?? [];
278
+ if (options.defaultMode !== undefined)
279
+ params.defaultReferenceMode = options.defaultMode;
280
+ if (options.clearDefaultMode)
281
+ params.defaultReferenceMode = null;
282
+ if (options.aspect !== undefined)
283
+ params.preferredAspectRatio = options.aspect;
284
+ if (options.clearAspect)
285
+ params.preferredAspectRatio = null;
286
+ if (options.tags !== undefined)
287
+ params.tags = parseCommaList(options.tags) ?? [];
288
+ if (options.clearTags)
289
+ params.tags = null;
290
+ let result;
291
+ if (transport.type === 'mcp' && transport.mcp) {
292
+ const mcpResult = await transport.mcp.updateScene(params);
293
+ result = { raw: mcpResult.content?.[0]?.text };
294
+ }
295
+ else if (transport.rest) {
296
+ const restResult = await transport.rest.updateScene(nameOrId, params);
297
+ result = restResult;
298
+ }
299
+ else {
300
+ throw new Error('No transport available');
301
+ }
302
+ spin.stop();
303
+ if (options.json) {
304
+ output.json(result);
305
+ }
306
+ else {
307
+ const r = result;
308
+ if (r.raw) {
309
+ console.log(r.raw);
310
+ }
311
+ else {
312
+ output.success(`Scene "${nameOrId}" updated successfully!`);
313
+ }
314
+ }
315
+ }
316
+ catch (err) {
317
+ spin.stop();
318
+ output.error(err instanceof Error ? err.message : 'Failed to update scene');
319
+ process.exit(1);
320
+ }
321
+ });
322
+ // Delete scene
323
+ cmd
324
+ .command('delete <nameOrId>')
325
+ .alias('rm')
326
+ .description('Delete a scene preset (does not delete images)')
327
+ .option('--json', 'Output raw JSON response')
328
+ .action(async (nameOrId, options) => {
329
+ const spin = output.spinner('Deleting scene...');
330
+ try {
331
+ const transport = await createTransport();
332
+ let result;
333
+ if (transport.type === 'mcp' && transport.mcp) {
334
+ const params = isNaN(parseInt(nameOrId, 10))
335
+ ? { sceneName: nameOrId }
336
+ : { sceneId: parseInt(nameOrId, 10) };
337
+ const mcpResult = await transport.mcp.deleteScene(params);
338
+ result = { raw: mcpResult.content?.[0]?.text };
339
+ }
340
+ else if (transport.rest) {
341
+ await transport.rest.deleteScene(nameOrId);
342
+ result = { data: { deleted: true } };
343
+ }
344
+ else {
345
+ throw new Error('No transport available');
346
+ }
347
+ spin.stop();
348
+ if (options.json) {
349
+ output.json(result);
350
+ }
351
+ else {
352
+ const r = result;
353
+ if (r.raw) {
354
+ console.log(r.raw);
355
+ }
356
+ else {
357
+ output.success(`Scene "${nameOrId}" deleted successfully!`);
358
+ }
359
+ }
360
+ }
361
+ catch (err) {
362
+ spin.stop();
363
+ output.error(err instanceof Error ? err.message : 'Failed to delete scene');
364
+ process.exit(1);
365
+ }
366
+ });
367
+ // Generate with scene preset
368
+ cmd
369
+ .command('use <nameOrId> <prompt>')
370
+ .alias('gen')
371
+ .description('Generate an image using a saved scene preset')
372
+ .option('-n, --count <number>', 'Number of images to generate (1-4)', '1')
373
+ .option('-a, --aspect <ratio>', 'Aspect ratio')
374
+ .option('--negative <prompt>', 'Negative prompt - what to avoid')
375
+ .option('--style <instruction>', 'Style instruction for the model')
376
+ .option('--style-preset <name>', 'Use a saved style preset by name')
377
+ .option('--style-preset-id <id>', 'Use a saved style preset by ID')
378
+ .option('--model <id>', 'Model to use (gemini-flash-image, gemini-pro-image)')
379
+ .option('-d, --download', 'Download the generated image')
380
+ .option('-o, --output <path>', 'Output path for downloaded image')
381
+ .option('--json', 'Output raw JSON response')
382
+ .action(async (nameOrId, prompt, options) => {
383
+ const spin = output.spinner('Connecting to Go Bananas...');
384
+ try {
385
+ const transport = await createTransport();
386
+ spin.text = `Connected via ${getTransportName(transport.type)}. Generating image...`;
387
+ const isId = !isNaN(parseInt(nameOrId, 10));
388
+ const generateParams = {
389
+ prompt,
390
+ n: parseInt(options.count, 10),
391
+ aspectRatio: options.aspect,
392
+ negativePrompt: options.negative,
393
+ systemInstruction: options.style,
394
+ stylePresetName: options.stylePreset,
395
+ stylePresetId: options.stylePresetId ? parseInt(options.stylePresetId, 10) : undefined,
396
+ modelId: options.model,
397
+ ...(isId ? { sceneId: parseInt(nameOrId, 10) } : { sceneName: nameOrId }),
398
+ };
399
+ let result;
400
+ if (transport.type === 'mcp' && transport.mcp) {
401
+ const mcpResult = await transport.mcp.generateImage(generateParams);
402
+ const text = mcpResult.content?.[0]?.text || '';
403
+ const parsed = parseMcpTextResponse(text);
404
+ result = { ...parsed, raw: text };
405
+ }
406
+ else if (transport.rest) {
407
+ const restResult = await transport.rest.generateImage(generateParams);
408
+ result = restResult.data;
409
+ }
410
+ else {
411
+ throw new Error('No transport available');
412
+ }
413
+ spin.stop();
414
+ if (options.json) {
415
+ output.json(result);
416
+ }
417
+ else {
418
+ output.success('Image generated successfully!');
419
+ if (result.id)
420
+ output.keyValue('ID', result.id);
421
+ if (result.fullUrl)
422
+ output.keyValue('URL', result.fullUrl);
423
+ if (options.download && result.fullUrl) {
424
+ output.newline();
425
+ const downloadSpin = output.spinner('Downloading image...');
426
+ try {
427
+ const savedPath = await downloadImage(result.fullUrl, options.output || undefined);
428
+ downloadSpin.succeed(`Saved to: ${savedPath}`);
429
+ }
430
+ catch (err) {
431
+ downloadSpin.fail(`Download failed: ${err instanceof Error ? err.message : 'Unknown error'}`);
432
+ }
433
+ }
434
+ if (result.raw && !result.fullUrl) {
435
+ output.newline();
436
+ console.log(result.raw);
437
+ }
438
+ }
439
+ }
440
+ catch (err) {
441
+ spin.stop();
442
+ output.error(err instanceof Error ? err.message : 'Failed to generate with scene');
443
+ process.exit(1);
444
+ }
445
+ });
446
+ return cmd;
447
+ }
448
+ //# sourceMappingURL=scene.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scene.js","sourceRoot":"","sources":["../../src/commands/scene.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Search Command
3
+ *
4
+ * Search across all generated images with filters.
5
+ */
6
+ import { Command } from 'commander';
7
+ export declare function createSearchCommand(): Command;
8
+ //# sourceMappingURL=search.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"search.d.ts","sourceRoot":"","sources":["../../src/commands/search.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAKpC,wBAAgB,mBAAmB,IAAI,OAAO,CAsH7C"}
@@ -0,0 +1,123 @@
1
+ /**
2
+ * Search Command
3
+ *
4
+ * Search across all generated images with filters.
5
+ */
6
+ import { Command } from 'commander';
7
+ import { createTransport, getTransportName } from '../transport/index.js';
8
+ import * as output from '../utils/output.js';
9
+ import { getSecurityWarning } from '../config/config.js';
10
+ export function createSearchCommand() {
11
+ const cmd = new Command('search')
12
+ .description('Search across all generated images')
13
+ .argument('[query]', 'Search query (searches prompt text)')
14
+ .option('-l, --limit <number>', 'Maximum results to return', '50')
15
+ .option('--offset <number>', 'Pagination offset', '0')
16
+ .option('--operation <type>', 'Filter by operation type (generate, edit)')
17
+ .option('--after <date>', 'Filter by created after date (ISO format)')
18
+ .option('--before <date>', 'Filter by created before date (ISO format)')
19
+ .option('--aspect <ratio>', 'Filter by aspect ratio')
20
+ .option('--session <id>', 'Filter by session ID')
21
+ .option('--sort <order>', 'Sort order (newest, oldest)', 'newest')
22
+ .option('--json', 'Output raw JSON response')
23
+ .action(async (query, options) => {
24
+ // Check for security warnings
25
+ const securityWarning = getSecurityWarning();
26
+ if (securityWarning) {
27
+ output.warning(securityWarning);
28
+ }
29
+ const spin = output.spinner('Searching images...');
30
+ try {
31
+ const transport = await createTransport();
32
+ spin.text = `Connected via ${getTransportName(transport.type)}. Searching...`;
33
+ // Build filters
34
+ const filters = {};
35
+ if (query) {
36
+ filters.prompt_substring = query;
37
+ }
38
+ if (options.operation) {
39
+ filters.operation_type = options.operation;
40
+ }
41
+ if (options.after) {
42
+ filters.created_after = options.after;
43
+ }
44
+ if (options.before) {
45
+ filters.created_before = options.before;
46
+ }
47
+ if (options.aspect) {
48
+ filters.aspect_ratio = options.aspect;
49
+ }
50
+ if (options.session) {
51
+ filters.session_id = options.session;
52
+ }
53
+ const params = {
54
+ limit: parseInt(options.limit, 10),
55
+ offset: parseInt(options.offset, 10),
56
+ sortOrder: options.sort,
57
+ filters: Object.keys(filters).length > 0 ? filters : undefined,
58
+ };
59
+ let result;
60
+ if (transport.type === 'mcp' && transport.mcp) {
61
+ const mcpResult = await transport.mcp.searchImages(params);
62
+ const text = mcpResult.content?.[0]?.text || '';
63
+ // Try to parse JSON from response
64
+ try {
65
+ result = JSON.parse(text);
66
+ }
67
+ catch {
68
+ result = { raw: text };
69
+ }
70
+ }
71
+ else if (transport.rest) {
72
+ const restResult = await transport.rest.searchImages(params);
73
+ result = restResult;
74
+ }
75
+ else {
76
+ throw new Error('No transport available');
77
+ }
78
+ spin.stop();
79
+ if (options.json) {
80
+ output.json(result);
81
+ }
82
+ else {
83
+ const r = result;
84
+ const images = (r.images || r.data || []);
85
+ const pagination = r.pagination;
86
+ if (images.length === 0) {
87
+ output.info('No images found matching your search criteria.');
88
+ }
89
+ else {
90
+ output.success(`Found ${images.length} image(s)`);
91
+ output.newline();
92
+ for (const img of images) {
93
+ const id = img.id;
94
+ const prompt = (img.prompt || '');
95
+ const truncatedPrompt = prompt.length > 50 ? prompt.substring(0, 50) + '...' : prompt;
96
+ const operation = (img.operation || img.operationType || 'unknown');
97
+ const createdAt = (img.createdAt || img.created_at || '');
98
+ const date = createdAt ? new Date(createdAt).toLocaleDateString() : '';
99
+ console.log(` ${output.formatBytes(0).replace('0 B', '')}${id} | ${operation.padEnd(8)} | ${date.padEnd(12)} | ${truncatedPrompt}`);
100
+ }
101
+ if (pagination) {
102
+ output.newline();
103
+ const total = pagination.total;
104
+ const limit = pagination.limit;
105
+ const offset = pagination.offset;
106
+ const hasMore = pagination.hasMore;
107
+ output.info(`Showing ${offset + 1}-${Math.min(offset + images.length, total)} of ${total} total`);
108
+ if (hasMore) {
109
+ output.tip(`Use --offset ${offset + limit} to see more results`);
110
+ }
111
+ }
112
+ }
113
+ }
114
+ }
115
+ catch (err) {
116
+ spin.stop();
117
+ output.error(err instanceof Error ? err.message : 'Search failed');
118
+ process.exit(1);
119
+ }
120
+ });
121
+ return cmd;
122
+ }
123
+ //# sourceMappingURL=search.js.map