gemini-designer 0.1.8 → 0.1.10
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.
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAcpC,eAAO,MAAM,WAAW,SAoLlB,CAAC"}
|
package/dist/commands/init.js
CHANGED
|
@@ -6,7 +6,7 @@ import { Command } from 'commander';
|
|
|
6
6
|
import chalk from 'chalk';
|
|
7
7
|
import Enquirer from 'enquirer';
|
|
8
8
|
import { detectClients } from '../clients/index.js';
|
|
9
|
-
const { Select, MultiSelect, Password } = Enquirer;
|
|
9
|
+
const { Select, MultiSelect, Password, Confirm } = Enquirer;
|
|
10
10
|
const REMOTE_ENDPOINT = 'https://api.gemini-designer.dev/mcp';
|
|
11
11
|
export const initCommand = new Command('init')
|
|
12
12
|
.description('Initialize Gemini Designer MCP for your development environment')
|
|
@@ -64,6 +64,22 @@ export const initCommand = new Command('init')
|
|
|
64
64
|
console.log(chalk.yellow('\n⚠️ No client selected. Exiting.\n'));
|
|
65
65
|
return;
|
|
66
66
|
}
|
|
67
|
+
// Check if already configured
|
|
68
|
+
const existingConfig = selectedClient.getExistingConfig();
|
|
69
|
+
const isAlreadyConfigured = existingConfig && (existingConfig.mcpServers?.['gemini-designer'] ||
|
|
70
|
+
existingConfig.mcpServers?.['Gemini Designer']);
|
|
71
|
+
if (isAlreadyConfigured) {
|
|
72
|
+
console.log(chalk.yellow(`\n⚠️ Gemini Designer is already configured in ${selectedClient.displayName}.`));
|
|
73
|
+
const confirmUpdate = new Confirm({
|
|
74
|
+
name: 'update',
|
|
75
|
+
message: 'Replace existing configuration?',
|
|
76
|
+
initial: true,
|
|
77
|
+
});
|
|
78
|
+
if (!(await confirmUpdate.run())) {
|
|
79
|
+
console.log(chalk.gray('Cancelled. Existing config unchanged.\n'));
|
|
80
|
+
return;
|
|
81
|
+
}
|
|
82
|
+
}
|
|
67
83
|
const selectedClients = [selectedClient];
|
|
68
84
|
// Get API key
|
|
69
85
|
let config;
|
|
@@ -121,8 +137,16 @@ export const initCommand = new Command('init')
|
|
|
121
137
|
console.log(chalk.gray('\nConfiguring clients...'));
|
|
122
138
|
for (const client of selectedClients) {
|
|
123
139
|
try {
|
|
140
|
+
const existingConfig = client.getExistingConfig();
|
|
141
|
+
const isUpdate = existingConfig && (existingConfig.mcpServers?.['gemini-designer'] ||
|
|
142
|
+
existingConfig.mcpServers?.['Gemini Designer']);
|
|
124
143
|
client.configure(config);
|
|
125
|
-
|
|
144
|
+
if (isUpdate) {
|
|
145
|
+
console.log(chalk.green(`✓ ${client.displayName} (updated)`));
|
|
146
|
+
}
|
|
147
|
+
else {
|
|
148
|
+
console.log(chalk.green(`✓ ${client.displayName} (added)`));
|
|
149
|
+
}
|
|
126
150
|
}
|
|
127
151
|
catch (error) {
|
|
128
152
|
console.log(chalk.red(`✗ ${client.displayName}: ${error}`));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,QAAQ,MAAM,UAAU,CAAC;AAChC,OAAO,EAAE,aAAa,EAA4C,MAAM,qBAAqB,CAAC;AAE9F,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,QAAQ,EAAE,GAAG,
|
|
1
|
+
{"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
package/src/commands/init.ts
CHANGED
|
@@ -8,10 +8,11 @@ import chalk from 'chalk';
|
|
|
8
8
|
import Enquirer from 'enquirer';
|
|
9
9
|
import { detectClients, type ClientAdapter, type McpServerConfig } from '../clients/index.js';
|
|
10
10
|
|
|
11
|
-
const { Select, MultiSelect, Password } = Enquirer as unknown as {
|
|
11
|
+
const { Select, MultiSelect, Password, Confirm } = Enquirer as unknown as {
|
|
12
12
|
Select: new (options: Record<string, unknown>) => { run: () => Promise<string> };
|
|
13
13
|
MultiSelect: new (options: Record<string, unknown>) => { run: () => Promise<string[]> };
|
|
14
14
|
Password: new (options: Record<string, unknown>) => { run: () => Promise<string> };
|
|
15
|
+
Confirm: new (options: Record<string, unknown>) => { run: () => Promise<boolean> };
|
|
15
16
|
};
|
|
16
17
|
|
|
17
18
|
const REMOTE_ENDPOINT = 'https://api.gemini-designer.dev/mcp';
|
|
@@ -78,6 +79,27 @@ export const initCommand = new Command('init')
|
|
|
78
79
|
return;
|
|
79
80
|
}
|
|
80
81
|
|
|
82
|
+
// Check if already configured
|
|
83
|
+
const existingConfig = selectedClient.getExistingConfig();
|
|
84
|
+
const isAlreadyConfigured = existingConfig && (
|
|
85
|
+
(existingConfig.mcpServers as Record<string, unknown>)?.['gemini-designer'] ||
|
|
86
|
+
(existingConfig.mcpServers as Record<string, unknown>)?.['Gemini Designer']
|
|
87
|
+
);
|
|
88
|
+
|
|
89
|
+
if (isAlreadyConfigured) {
|
|
90
|
+
console.log(chalk.yellow(`\n⚠️ Gemini Designer is already configured in ${selectedClient.displayName}.`));
|
|
91
|
+
const confirmUpdate = new Confirm({
|
|
92
|
+
name: 'update',
|
|
93
|
+
message: 'Replace existing configuration?',
|
|
94
|
+
initial: true,
|
|
95
|
+
});
|
|
96
|
+
|
|
97
|
+
if (!(await confirmUpdate.run())) {
|
|
98
|
+
console.log(chalk.gray('Cancelled. Existing config unchanged.\n'));
|
|
99
|
+
return;
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
|
|
81
103
|
const selectedClients = [selectedClient];
|
|
82
104
|
|
|
83
105
|
// Get API key
|
|
@@ -145,8 +167,19 @@ export const initCommand = new Command('init')
|
|
|
145
167
|
|
|
146
168
|
for (const client of selectedClients) {
|
|
147
169
|
try {
|
|
170
|
+
const existingConfig = client.getExistingConfig();
|
|
171
|
+
const isUpdate = existingConfig && (
|
|
172
|
+
(existingConfig.mcpServers as Record<string, unknown>)?.['gemini-designer'] ||
|
|
173
|
+
(existingConfig.mcpServers as Record<string, unknown>)?.['Gemini Designer']
|
|
174
|
+
);
|
|
175
|
+
|
|
148
176
|
client.configure(config);
|
|
149
|
-
|
|
177
|
+
|
|
178
|
+
if (isUpdate) {
|
|
179
|
+
console.log(chalk.green(`✓ ${client.displayName} (updated)`));
|
|
180
|
+
} else {
|
|
181
|
+
console.log(chalk.green(`✓ ${client.displayName} (added)`));
|
|
182
|
+
}
|
|
150
183
|
} catch (error) {
|
|
151
184
|
console.log(chalk.red(`✗ ${client.displayName}: ${error}`));
|
|
152
185
|
}
|