genbox 1.0.249 → 1.0.250
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/dist/ai/execute-session.d.ts.map +1 -1
- package/dist/ai/execute-session.js +50 -15
- package/dist/ai/execute-session.js.map +1 -1
- package/dist/commands/init.d.ts.map +1 -1
- package/dist/commands/init.js +133 -10
- package/dist/commands/init.js.map +1 -1
- package/dist/commands/provider-command.d.ts.map +1 -1
- package/dist/commands/provider-command.js +232 -17
- package/dist/commands/provider-command.js.map +1 -1
- package/dist/commands/session/index.d.ts.map +1 -1
- package/dist/commands/session/index.js +2 -0
- package/dist/commands/session/index.js.map +1 -1
- package/dist/commands/session/new.d.ts +23 -0
- package/dist/commands/session/new.d.ts.map +1 -0
- package/dist/commands/session/new.js +1417 -0
- package/dist/commands/session/new.js.map +1 -0
- package/dist/lib/genbox-progress.d.ts +9 -0
- package/dist/lib/genbox-progress.d.ts.map +1 -1
- package/dist/lib/genbox-progress.js +135 -0
- package/dist/lib/genbox-progress.js.map +1 -1
- package/dist/utils/theme-utils.d.ts +4 -0
- package/dist/utils/theme-utils.d.ts.map +1 -1
- package/dist/utils/theme-utils.js +30 -10
- package/dist/utils/theme-utils.js.map +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"execute-session.d.ts","sourceRoot":"","sources":["../../src/ai/execute-session.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AASH,OAAO,KAAK,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"execute-session.d.ts","sourceRoot":"","sources":["../../src/ai/execute-session.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AASH,OAAO,KAAK,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAgK/D;;;GAGG;AACH,wBAAsB,0BAA0B,CAC9C,OAAO,EAAE,aAAa,EACtB,OAAO,GAAE,aAAkB,GAC1B,OAAO,CAAC,IAAI,CAAC,CAqDf;AAgFD;;;GAGG;AACH,wBAAsB,sBAAsB,CAC1C,OAAO,EAAE,aAAa,EACtB,OAAO,GAAE,aAAa,GAAG;IAAE,UAAU,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAA;CAAO,GACvE,OAAO,CAAC;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC,CAkE/C;AAED,eAAe,0BAA0B,CAAC"}
|
|
@@ -92,34 +92,69 @@ ${context.files.workspaceConfig.packages ? `- **Packages**: ${context.files.work
|
|
|
92
92
|
- **Remote**: ${context.git.remote || 'Not detected'}
|
|
93
93
|
- **Branch**: ${context.git.branch || 'main'}
|
|
94
94
|
`);
|
|
95
|
-
// Instructions
|
|
95
|
+
// Instructions - Interactive mode with confirmation
|
|
96
96
|
sections.push(`---
|
|
97
97
|
|
|
98
98
|
## Your Task
|
|
99
99
|
|
|
100
|
-
|
|
100
|
+
**IMPORTANT: Before creating any files, you MUST confirm with the user.**
|
|
101
101
|
|
|
102
|
-
### 1
|
|
102
|
+
### Step 1: Present your findings
|
|
103
103
|
|
|
104
|
-
|
|
105
|
-
-
|
|
106
|
-
- Infrastructure from docker-compose
|
|
107
|
-
-
|
|
108
|
-
|
|
104
|
+
List what you detected:
|
|
105
|
+
- Apps (with type, framework, suggested runner)
|
|
106
|
+
- Infrastructure services (from docker-compose)
|
|
107
|
+
- Suggested profiles
|
|
108
|
+
|
|
109
|
+
Example format:
|
|
110
|
+
\`\`\`
|
|
111
|
+
I detected the following:
|
|
112
|
+
|
|
113
|
+
**Apps:**
|
|
114
|
+
1. api - NestJS backend (pm2)
|
|
115
|
+
2. web - Next.js frontend (pm2)
|
|
116
|
+
3. admin - React app (pm2)
|
|
109
117
|
|
|
110
|
-
|
|
118
|
+
**Infrastructure:**
|
|
119
|
+
- mongodb (from docker-compose)
|
|
120
|
+
- redis (from docker-compose)
|
|
121
|
+
|
|
122
|
+
**Suggested Profiles:**
|
|
123
|
+
- default: All apps + all infrastructure
|
|
124
|
+
- frontend-only: web + admin only
|
|
125
|
+
- backend-only: api + infrastructure
|
|
126
|
+
|
|
127
|
+
Would you like me to proceed with all of these, or would you like to remove any apps/services?
|
|
128
|
+
\`\`\`
|
|
129
|
+
|
|
130
|
+
### Step 2: Wait for user confirmation
|
|
131
|
+
|
|
132
|
+
Let the user tell you which items to include/exclude. They might say:
|
|
133
|
+
- "Remove the admin app"
|
|
134
|
+
- "I don't need the frontend-only profile"
|
|
135
|
+
- "Looks good, proceed"
|
|
136
|
+
|
|
137
|
+
### Step 3: Create files
|
|
138
|
+
|
|
139
|
+
Only after confirmation, create:
|
|
140
|
+
|
|
141
|
+
**genbox.yaml** with:
|
|
142
|
+
- Only the confirmed apps
|
|
143
|
+
- Only the confirmed infrastructure
|
|
144
|
+
- Only the confirmed profiles
|
|
145
|
+
- Proper \`connects_to\` dependencies
|
|
111
146
|
|
|
112
|
-
|
|
147
|
+
**.env.genbox** with:
|
|
113
148
|
- \`# === GLOBAL ===\` for shared vars
|
|
114
|
-
- \`# === APP_NAME ===\` for app
|
|
149
|
+
- \`# === APP_NAME ===\` for each confirmed app
|
|
115
150
|
- Use \`HOST_*\` and \`DOCKER_*\` prefixes for infrastructure URLs
|
|
116
151
|
- Use placeholders like \`your-secret\` for sensitive values
|
|
117
152
|
|
|
118
|
-
|
|
119
|
-
- What profiles were created and when to use each
|
|
120
|
-
- Any warnings or suggestions
|
|
153
|
+
### Step 4: Summary
|
|
121
154
|
|
|
122
|
-
|
|
155
|
+
After creating files, give a brief summary and let the user know they can:
|
|
156
|
+
- Run \`gb create <name>\` to spin up a genbox
|
|
157
|
+
- Ask you to fix any issues if they paste errors
|
|
123
158
|
`);
|
|
124
159
|
return sections.join('\n');
|
|
125
160
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"execute-session.js","sourceRoot":"","sources":["../../src/ai/execute-session.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"execute-session.js","sourceRoot":"","sources":["../../src/ai/execute-session.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AA8zFpC,eAAO,MAAM,WAAW,SA8PpB,CAAC"}
|
package/dist/commands/init.js
CHANGED
|
@@ -2221,19 +2221,142 @@ async function runAIInit(rootDir, options) {
|
|
|
2221
2221
|
spinner.succeed('AI analysis complete');
|
|
2222
2222
|
// Check if files were created
|
|
2223
2223
|
const configCreated = fs.existsSync(configPath);
|
|
2224
|
-
|
|
2225
|
-
|
|
2224
|
+
if (configCreated) {
|
|
2225
|
+
// Parse the generated config for selection
|
|
2226
|
+
let generatedConfig;
|
|
2227
|
+
try {
|
|
2228
|
+
const configContent = fs.readFileSync(configPath, 'utf8');
|
|
2229
|
+
generatedConfig = yaml.load(configContent);
|
|
2230
|
+
}
|
|
2231
|
+
catch (parseError) {
|
|
2232
|
+
console.log(chalk.yellow(`\nCould not parse generated config: ${parseError.message}`));
|
|
2233
|
+
console.log(chalk.dim('You can manually edit the files.'));
|
|
2234
|
+
return;
|
|
2235
|
+
}
|
|
2236
|
+
// Extract apps and profiles for selection
|
|
2237
|
+
const apps = Object.keys(generatedConfig.apps || {});
|
|
2238
|
+
const profiles = Object.keys(generatedConfig.profiles || {});
|
|
2239
|
+
const provides = Object.keys(generatedConfig.provides || {});
|
|
2240
|
+
console.log('');
|
|
2241
|
+
console.log(chalk.blue('AI generated the following configuration:\n'));
|
|
2242
|
+
// Show what was detected
|
|
2243
|
+
if (apps.length > 0) {
|
|
2244
|
+
console.log(chalk.cyan('Apps:'));
|
|
2245
|
+
apps.forEach(app => {
|
|
2246
|
+
const appConfig = generatedConfig.apps[app];
|
|
2247
|
+
console.log(chalk.dim(` - ${app} (${appConfig.type || 'unknown'}, runner: ${appConfig.runner || 'pm2'})`));
|
|
2248
|
+
});
|
|
2249
|
+
}
|
|
2250
|
+
if (provides.length > 0) {
|
|
2251
|
+
console.log(chalk.cyan('\nInfrastructure:'));
|
|
2252
|
+
provides.forEach(p => console.log(chalk.dim(` - ${p}`)));
|
|
2253
|
+
}
|
|
2254
|
+
if (profiles.length > 0) {
|
|
2255
|
+
console.log(chalk.cyan('\nProfiles:'));
|
|
2256
|
+
profiles.forEach(p => console.log(chalk.dim(` - ${p}`)));
|
|
2257
|
+
}
|
|
2258
|
+
console.log('');
|
|
2259
|
+
// Ask if user wants to customize
|
|
2260
|
+
const customize = await prompts.confirm({
|
|
2261
|
+
message: 'Would you like to customize which apps/profiles to include?',
|
|
2262
|
+
default: false,
|
|
2263
|
+
});
|
|
2264
|
+
if (customize) {
|
|
2265
|
+
// Select apps
|
|
2266
|
+
let selectedApps = apps;
|
|
2267
|
+
if (apps.length > 1) {
|
|
2268
|
+
selectedApps = await prompts.checkbox({
|
|
2269
|
+
message: 'Select apps to include:',
|
|
2270
|
+
choices: apps.map(app => ({
|
|
2271
|
+
name: app,
|
|
2272
|
+
value: app,
|
|
2273
|
+
checked: true,
|
|
2274
|
+
})),
|
|
2275
|
+
});
|
|
2276
|
+
}
|
|
2277
|
+
// Select profiles
|
|
2278
|
+
let selectedProfiles = profiles;
|
|
2279
|
+
if (profiles.length > 1) {
|
|
2280
|
+
selectedProfiles = await prompts.checkbox({
|
|
2281
|
+
message: 'Select profiles to include:',
|
|
2282
|
+
choices: profiles.map(p => ({
|
|
2283
|
+
name: p,
|
|
2284
|
+
value: p,
|
|
2285
|
+
checked: true,
|
|
2286
|
+
})),
|
|
2287
|
+
});
|
|
2288
|
+
}
|
|
2289
|
+
// Select infrastructure
|
|
2290
|
+
let selectedProvides = provides;
|
|
2291
|
+
if (provides.length > 1) {
|
|
2292
|
+
selectedProvides = await prompts.checkbox({
|
|
2293
|
+
message: 'Select infrastructure to include:',
|
|
2294
|
+
choices: provides.map(p => ({
|
|
2295
|
+
name: p,
|
|
2296
|
+
value: p,
|
|
2297
|
+
checked: true,
|
|
2298
|
+
})),
|
|
2299
|
+
});
|
|
2300
|
+
}
|
|
2301
|
+
// Filter the config
|
|
2302
|
+
const filteredConfig = {
|
|
2303
|
+
...generatedConfig,
|
|
2304
|
+
apps: {},
|
|
2305
|
+
profiles: {},
|
|
2306
|
+
provides: {},
|
|
2307
|
+
};
|
|
2308
|
+
// Keep selected apps
|
|
2309
|
+
selectedApps.forEach(app => {
|
|
2310
|
+
if (generatedConfig.apps?.[app]) {
|
|
2311
|
+
filteredConfig.apps[app] = generatedConfig.apps[app];
|
|
2312
|
+
}
|
|
2313
|
+
});
|
|
2314
|
+
// Keep selected profiles (and filter their apps)
|
|
2315
|
+
selectedProfiles.forEach(profile => {
|
|
2316
|
+
if (generatedConfig.profiles?.[profile]) {
|
|
2317
|
+
const profileConfig = { ...generatedConfig.profiles[profile] };
|
|
2318
|
+
// Filter apps in profile
|
|
2319
|
+
if (profileConfig.apps) {
|
|
2320
|
+
profileConfig.apps = profileConfig.apps.filter(a => selectedApps.includes(a));
|
|
2321
|
+
}
|
|
2322
|
+
filteredConfig.profiles[profile] = profileConfig;
|
|
2323
|
+
}
|
|
2324
|
+
});
|
|
2325
|
+
// Keep selected provides
|
|
2326
|
+
selectedProvides.forEach(p => {
|
|
2327
|
+
if (generatedConfig.provides?.[p]) {
|
|
2328
|
+
filteredConfig.provides[p] = generatedConfig.provides[p];
|
|
2329
|
+
}
|
|
2330
|
+
});
|
|
2331
|
+
// Also filter connects_to in apps (it's a Record<string, ConnectionConfig>)
|
|
2332
|
+
Object.keys(filteredConfig.apps).forEach(appName => {
|
|
2333
|
+
const app = filteredConfig.apps[appName];
|
|
2334
|
+
if (app.connects_to) {
|
|
2335
|
+
const filteredConnections = {};
|
|
2336
|
+
Object.keys(app.connects_to).forEach(connName => {
|
|
2337
|
+
if (selectedProvides.includes(connName)) {
|
|
2338
|
+
filteredConnections[connName] = app.connects_to[connName];
|
|
2339
|
+
}
|
|
2340
|
+
});
|
|
2341
|
+
app.connects_to = filteredConnections;
|
|
2342
|
+
}
|
|
2343
|
+
});
|
|
2344
|
+
// Write filtered config
|
|
2345
|
+
const yamlContent = yaml.dump(filteredConfig, {
|
|
2346
|
+
indent: 2,
|
|
2347
|
+
lineWidth: -1,
|
|
2348
|
+
noRefs: true,
|
|
2349
|
+
sortKeys: false,
|
|
2350
|
+
});
|
|
2351
|
+
fs.writeFileSync(configPath, yamlContent, 'utf8');
|
|
2352
|
+
console.log('');
|
|
2353
|
+
console.log(chalk.green('✓ Configuration updated with your selections.'));
|
|
2354
|
+
}
|
|
2226
2355
|
console.log('');
|
|
2227
2356
|
console.log(chalk.green('✓ Files created:'));
|
|
2228
|
-
|
|
2229
|
-
|
|
2230
|
-
if (envCreated)
|
|
2357
|
+
console.log(chalk.dim(` - ${CONFIG_FILENAME}`));
|
|
2358
|
+
if (fs.existsSync(envPath)) {
|
|
2231
2359
|
console.log(chalk.dim(` - ${ENV_FILENAME}`));
|
|
2232
|
-
// Show AI summary if available
|
|
2233
|
-
if (result.output) {
|
|
2234
|
-
console.log('');
|
|
2235
|
-
console.log(chalk.blue('AI Summary:'));
|
|
2236
|
-
console.log(chalk.dim(result.output.trim()));
|
|
2237
2360
|
}
|
|
2238
2361
|
console.log('');
|
|
2239
2362
|
console.log(chalk.bold('Next steps:'));
|