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,240 @@
1
+ /**
2
+ * Output Utilities for Go Bananas CLI
3
+ *
4
+ * Provides formatted console output with colors and spinners.
5
+ */
6
+ import chalk from 'chalk';
7
+ import ora from 'ora';
8
+ /**
9
+ * Print success message
10
+ */
11
+ export function success(message) {
12
+ console.log(chalk.green('✓'), message);
13
+ }
14
+ /**
15
+ * Print error message
16
+ */
17
+ export function error(message) {
18
+ console.error(chalk.red('✗'), message);
19
+ }
20
+ /**
21
+ * Print warning message
22
+ */
23
+ export function warn(message) {
24
+ console.log(chalk.yellow('⚠'), message);
25
+ }
26
+ /**
27
+ * Alias for warn
28
+ */
29
+ export const warning = warn;
30
+ /**
31
+ * Print info message
32
+ */
33
+ export function info(message) {
34
+ console.log(chalk.blue('ℹ'), message);
35
+ }
36
+ /**
37
+ * Print a section header
38
+ */
39
+ export function header(title) {
40
+ console.log();
41
+ console.log(chalk.bold.cyan(title));
42
+ console.log(chalk.gray('─'.repeat(title.length)));
43
+ }
44
+ /**
45
+ * Print a key-value pair
46
+ */
47
+ export function keyValue(key, value) {
48
+ const displayValue = value === null || value === undefined ? chalk.gray('(none)') : String(value);
49
+ console.log(` ${chalk.gray(key + ':')} ${displayValue}`);
50
+ }
51
+ /**
52
+ * Print a table row
53
+ */
54
+ export function tableRow(...columns) {
55
+ console.log(' ' + columns.map(String).join(' '));
56
+ }
57
+ /**
58
+ * Print a list item
59
+ */
60
+ export function listItem(text, indent = 0) {
61
+ const prefix = ' '.repeat(indent) + '•';
62
+ console.log(`${prefix} ${text}`);
63
+ }
64
+ /**
65
+ * Print a numbered list item
66
+ */
67
+ export function numberedItem(index, text) {
68
+ console.log(` ${chalk.gray(`${index}.`)} ${text}`);
69
+ }
70
+ /**
71
+ * Create a loading spinner
72
+ */
73
+ export function spinner(text) {
74
+ return ora({
75
+ text,
76
+ color: 'cyan',
77
+ }).start();
78
+ }
79
+ /**
80
+ * Print an image result
81
+ */
82
+ export function imageResult(result) {
83
+ const url = result.url || result.fullUrl || '';
84
+ const id = result.id || 'unknown';
85
+ success(`Image generated successfully!`);
86
+ keyValue('ID', id);
87
+ if (url) {
88
+ keyValue('URL', chalk.underline(url));
89
+ }
90
+ if (result.width && result.height) {
91
+ keyValue('Size', `${result.width}x${result.height}`);
92
+ }
93
+ if (result.sizeBytes) {
94
+ keyValue('File Size', formatBytes(result.sizeBytes));
95
+ }
96
+ }
97
+ /**
98
+ * Print character info
99
+ */
100
+ export function characterInfo(char) {
101
+ const name = (char.characterName || char.name || 'Unnamed');
102
+ const id = char.id;
103
+ console.log(` ${chalk.bold(name)} ${chalk.gray(`(ID: ${id ?? '?'})`)}`);
104
+ if (char.description) {
105
+ console.log(` ${chalk.gray(char.description)}`);
106
+ }
107
+ const timesUsed = char.timesUsed;
108
+ const referenceImageCount = char.referenceImageCount;
109
+ if (timesUsed !== undefined || referenceImageCount !== undefined) {
110
+ const stats = [];
111
+ if (timesUsed !== undefined)
112
+ stats.push(`${timesUsed} uses`);
113
+ if (referenceImageCount !== undefined)
114
+ stats.push(`${referenceImageCount} refs`);
115
+ console.log(` ${chalk.gray(stats.join(' | '))}`);
116
+ }
117
+ }
118
+ /**
119
+ * Print product info
120
+ */
121
+ export function productInfo(product) {
122
+ const name = (product.productName || product.name || 'Unnamed');
123
+ const id = product.id;
124
+ console.log(` ${chalk.bold(name)} ${chalk.gray(`(ID: ${id ?? '?'})`)}`);
125
+ const desc = (product.productDescription || product.description);
126
+ if (desc) {
127
+ console.log(` ${chalk.gray(desc)}`);
128
+ }
129
+ if (product.timesUsed !== undefined) {
130
+ console.log(` ${chalk.gray(`${product.timesUsed} uses`)}`);
131
+ }
132
+ if (product.tags) {
133
+ const tagList = Array.isArray(product.tags) ? product.tags.join(', ') : product.tags;
134
+ if (tagList) {
135
+ console.log(` ${chalk.gray(`Tags: ${tagList}`)}`);
136
+ }
137
+ }
138
+ }
139
+ /**
140
+ * Print scene preset info
141
+ */
142
+ export function sceneInfo(scene) {
143
+ const name = (scene.sceneName ||
144
+ scene.scene_name ||
145
+ scene.name ||
146
+ 'Unnamed');
147
+ const id = scene.id;
148
+ console.log(` ${chalk.bold(name)} ${chalk.gray(`(ID: ${id ?? '?'})`)}`);
149
+ if (scene.description) {
150
+ console.log(` ${chalk.gray(scene.description)}`);
151
+ }
152
+ const timesUsed = (scene.timesUsed ?? scene.times_used);
153
+ const imageCount = (scene.imageCount ?? scene.image_count);
154
+ const defaultMode = (scene.defaultReferenceMode ?? scene.default_reference_mode);
155
+ const preferredAspect = (scene.preferredAspectRatio ?? scene.preferred_aspect_ratio);
156
+ const stats = [];
157
+ if (imageCount !== undefined)
158
+ stats.push(`${imageCount} refs`);
159
+ if (timesUsed !== undefined)
160
+ stats.push(`${timesUsed} uses`);
161
+ if (defaultMode)
162
+ stats.push(`mode: ${defaultMode}`);
163
+ if (preferredAspect)
164
+ stats.push(`aspect: ${preferredAspect}`);
165
+ if (stats.length > 0) {
166
+ console.log(` ${chalk.gray(stats.join(' | '))}`);
167
+ }
168
+ }
169
+ /**
170
+ * Print style preset info
171
+ */
172
+ export function stylePresetInfo(preset) {
173
+ console.log(` ${chalk.bold(preset.name)} ${chalk.gray(`(ID: ${preset.id})`)}`);
174
+ if (preset.prompt) {
175
+ const truncated = preset.prompt.length > 60 ? preset.prompt.substring(0, 60) + '...' : preset.prompt;
176
+ console.log(` ${chalk.gray(truncated)}`);
177
+ }
178
+ if (preset.aspectRatio) {
179
+ console.log(` ${chalk.gray(`Aspect: ${preset.aspectRatio}`)}`);
180
+ }
181
+ }
182
+ /**
183
+ * Format bytes to human-readable
184
+ */
185
+ export function formatBytes(bytes) {
186
+ if (!Number.isFinite(bytes) || bytes < 0)
187
+ return '0 B';
188
+ const units = ['B', 'KB', 'MB', 'GB'];
189
+ let size = bytes;
190
+ let unitIndex = 0;
191
+ while (size >= 1024 && unitIndex < units.length - 1) {
192
+ size /= 1024;
193
+ unitIndex++;
194
+ }
195
+ return `${size.toFixed(unitIndex > 0 ? 1 : 0)} ${units[unitIndex]}`;
196
+ }
197
+ /**
198
+ * Format duration in milliseconds to human-readable
199
+ */
200
+ export function formatDuration(ms) {
201
+ if (!Number.isFinite(ms) || ms < 0)
202
+ return 'n/a';
203
+ if (ms < 1000)
204
+ return `${Math.round(ms)}ms`;
205
+ if (ms < 60000)
206
+ return `${(ms / 1000).toFixed(1)}s`;
207
+ return `${(ms / 60000).toFixed(1)}m`;
208
+ }
209
+ /**
210
+ * Print JSON data (for debugging or raw output)
211
+ */
212
+ export function json(data) {
213
+ console.log(JSON.stringify(data, null, 2));
214
+ }
215
+ /**
216
+ * Print empty line
217
+ */
218
+ export function newline() {
219
+ console.log();
220
+ }
221
+ /**
222
+ * Print a horizontal rule
223
+ */
224
+ export function hr() {
225
+ console.log(chalk.gray('─'.repeat(40)));
226
+ }
227
+ /**
228
+ * Print connection info
229
+ */
230
+ export function connectionInfo(type, serverUrl) {
231
+ const typeName = type === 'mcp' ? 'MCP Protocol' : 'REST API';
232
+ info(`Connected via ${chalk.bold(typeName)} to ${chalk.underline(serverUrl)}`);
233
+ }
234
+ /**
235
+ * Print a tip or hint
236
+ */
237
+ export function tip(message) {
238
+ console.log(chalk.gray('💡 Tip:'), message);
239
+ }
240
+ //# sourceMappingURL=output.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"output.js","sourceRoot":"","sources":["../../src/utils/output.ts"],"names":[],"mappings":"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"}
package/package.json ADDED
@@ -0,0 +1,54 @@
1
+ {
2
+ "name": "gobananas-cli",
3
+ "version": "1.0.1",
4
+ "description": "Command-line interface for Go Bananas! AI Image Generation",
5
+ "type": "module",
6
+ "main": "dist/index.js",
7
+ "bin": {
8
+ "gobananas": "./bin/gobananas.js",
9
+ "gb": "./bin/gobananas.js",
10
+ "gobananas-cli": "./bin/gobananas.js",
11
+ "gobananas-mcp": "./bin/gobananas-mcp.js"
12
+ },
13
+ "files": [
14
+ "dist/",
15
+ "bin/"
16
+ ],
17
+ "scripts": {
18
+ "build": "tsc",
19
+ "dev": "tsc --watch",
20
+ "start": "node dist/index.js",
21
+ "typecheck": "tsc --noEmit",
22
+ "prepare": "npm run build",
23
+ "prepublishOnly": "npm run build",
24
+ "test": "echo \"No tests yet\""
25
+ },
26
+ "keywords": [
27
+ "ai",
28
+ "image-generation",
29
+ "gemini",
30
+ "mcp",
31
+ "cli"
32
+ ],
33
+ "author": "",
34
+ "license": "MIT",
35
+ "publishConfig": {
36
+ "access": "public"
37
+ },
38
+ "engines": {
39
+ "node": ">=18.0.0"
40
+ },
41
+ "dependencies": {
42
+ "@modelcontextprotocol/sdk": "^1.0.0",
43
+ "chalk": "^5.3.0",
44
+ "commander": "^12.1.0",
45
+ "conf": "^13.0.1",
46
+ "eventsource": "^2.0.2",
47
+ "ora": "^8.1.0"
48
+ },
49
+ "devDependencies": {
50
+ "@types/eventsource": "^1.1.15",
51
+ "@types/node": "^20.11.0",
52
+ "typescript": "^5.5.2"
53
+ }
54
+ }