@cluesmith/codev 1.4.2 → 1.4.3
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/agent-farm/servers/dashboard-server.js +1 -5
- package/dist/agent-farm/servers/dashboard-server.js.map +1 -1
- package/dist/agent-farm/servers/tower-server.js +141 -40
- package/dist/agent-farm/servers/tower-server.js.map +1 -1
- package/dist/agent-farm/utils/port-registry.d.ts.map +1 -1
- package/dist/agent-farm/utils/port-registry.js +19 -5
- package/dist/agent-farm/utils/port-registry.js.map +1 -1
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +2 -0
- package/dist/cli.js.map +1 -1
- package/dist/commands/consult/index.d.ts +1 -0
- package/dist/commands/consult/index.d.ts.map +1 -1
- package/dist/commands/consult/index.js +56 -8
- package/dist/commands/consult/index.js.map +1 -1
- package/package.json +1 -1
- package/skeleton/resources/commands/consult.md +50 -0
- package/templates/dashboard/index.html +1 -1
- package/templates/tower.html +172 -4
- package/dist/commands/eject.d.ts +0 -18
- package/dist/commands/eject.d.ts.map +0 -1
- package/dist/commands/eject.js +0 -149
- package/dist/commands/eject.js.map +0 -1
- package/templates/dashboard-split.html +0 -4741
- package/templates/dashboard.html +0 -149
|
@@ -18,6 +18,9 @@ const BASE_PORT = 4200;
|
|
|
18
18
|
const PORT_BLOCK_SIZE = 100;
|
|
19
19
|
// Maximum allocations (4200-9999 = ~58 projects)
|
|
20
20
|
const MAX_ALLOCATIONS = 58;
|
|
21
|
+
// Port blocks to skip (base ports that conflict with system services)
|
|
22
|
+
// 5000: macOS AirPlay Receiver (ControlCenter)
|
|
23
|
+
const BLOCKED_PORT_BLOCKS = [5000];
|
|
21
24
|
/**
|
|
22
25
|
* Check if a process is still running
|
|
23
26
|
*/
|
|
@@ -90,11 +93,22 @@ export function getPortBlock(projectRoot) {
|
|
|
90
93
|
`).run(process.pid, normalizedPath);
|
|
91
94
|
return existing.base_port;
|
|
92
95
|
}
|
|
93
|
-
// Find next available port block
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
96
|
+
// Find next available port block (with gap recycling)
|
|
97
|
+
// Get all allocated ports as a Set for O(1) lookup
|
|
98
|
+
const allocated = new Set(db.prepare('SELECT base_port FROM port_allocations').all()
|
|
99
|
+
.map(row => row.base_port));
|
|
100
|
+
// Find the first available port starting from BASE_PORT
|
|
101
|
+
let nextPort = BASE_PORT;
|
|
102
|
+
const maxPossiblePort = BASE_PORT + (MAX_ALLOCATIONS * PORT_BLOCK_SIZE);
|
|
103
|
+
while (nextPort < maxPossiblePort) {
|
|
104
|
+
// Skip if already allocated or blocked
|
|
105
|
+
if (!allocated.has(nextPort) && !BLOCKED_PORT_BLOCKS.includes(nextPort)) {
|
|
106
|
+
break;
|
|
107
|
+
}
|
|
108
|
+
nextPort += PORT_BLOCK_SIZE;
|
|
109
|
+
}
|
|
110
|
+
// Ensure we found an available port
|
|
111
|
+
if (nextPort >= maxPossiblePort) {
|
|
98
112
|
throw new Error('No available port blocks. Maximum allocations reached.');
|
|
99
113
|
}
|
|
100
114
|
// Insert new allocation
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"port-registry.js","sourceRoot":"","sources":["../../../src/agent-farm/utils/port-registry.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAG5D,iCAAiC;AACjC,MAAM,SAAS,GAAG,IAAI,CAAC;AACvB,oBAAoB;AACpB,MAAM,eAAe,GAAG,GAAG,CAAC;AAC5B,iDAAiD;AACjD,MAAM,eAAe,GAAG,EAAE,CAAC;AAE3B;;GAEG;AACH,SAAS,cAAc,CAAC,GAAW;IACjC,IAAI,CAAC;QACH,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;QACrB,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED;;GAEG;AACH,SAAS,aAAa,CAAC,WAAmB;IACxC,OAAO,UAAU,CAAC,WAAW,CAAC,CAAC;AACjC,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,mBAAmB;IACjC,MAAM,EAAE,GAAG,WAAW,EAAE,CAAC;IACzB,MAAM,OAAO,GAAa,EAAE,CAAC;IAE7B,sBAAsB;IACtB,MAAM,WAAW,GAAG,EAAE,CAAC,OAAO,CAAC,gCAAgC,CAAC,CAAC,GAAG,EAAwB,CAAC;IAE7F,MAAM,OAAO,GAAG,EAAE,CAAC,WAAW,CAAC,GAAG,EAAE;QAClC,KAAK,MAAM,KAAK,IAAI,WAAW,EAAE,CAAC;YAChC,kCAAkC;YAClC,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,YAAY,CAAC,EAAE,CAAC;gBACvC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;gBACjC,EAAE,CAAC,OAAO,CAAC,qDAAqD,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;gBAC1F,SAAS;YACX,CAAC;YAED,4DAA4D;YAC5D,oEAAoE;YACpE,IAAI,KAAK,CAAC,GAAG,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC;gBAC5C,EAAE,CAAC,OAAO,CAAC,+DAA+D,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;YACtG,CAAC;QACH,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,OAAO,EAAE,CAAC;IAEV,MAAM,SAAS,GAAG,EAAE,CAAC,OAAO,CAAC,gDAAgD,CAAC,CAAC,GAAG,EAAuB,CAAC;IAE1G,OAAO;QACL,OAAO;QACP,SAAS,EAAE,SAAS,CAAC,KAAK;KAC3B,CAAC;AACJ,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,YAAY,CAAC,WAAmB;IAC9C,qCAAqC;IACrC,MAAM,cAAc,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC;IAE5C,MAAM,EAAE,GAAG,WAAW,EAAE,CAAC;IAEzB,uDAAuD;IACvD,MAAM,QAAQ,GAAG,EAAE,CAAC,WAAW,CAAC,GAAG,EAAE;QACnC,6CAA6C;QAC7C,MAAM,QAAQ,GAAG,EAAE,CAAC,OAAO,CAAC,uDAAuD,CAAC;aACjF,GAAG,CAAC,cAAc,CAAiC,CAAC;QAEvD,IAAI,QAAQ,EAAE,CAAC;YACb,qCAAqC;YACrC,EAAE,CAAC,OAAO,CAAC;;;;OAIV,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,EAAE,cAAc,CAAC,CAAC;YAEpC,OAAO,QAAQ,CAAC,SAAS,CAAC;QAC5B,CAAC;QAED,
|
|
1
|
+
{"version":3,"file":"port-registry.js","sourceRoot":"","sources":["../../../src/agent-farm/utils/port-registry.ts"],"names":[],"mappings":"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"}
|
package/dist/cli.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AAEA;;GAEG;
|
|
1
|
+
{"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AAEA;;GAEG;AA2KH;;;GAGG;AACH,wBAAsB,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAUvD"}
|
package/dist/cli.js
CHANGED
|
@@ -102,6 +102,7 @@ program
|
|
|
102
102
|
.requiredOption('-m, --model <model>', 'Model to use (gemini, codex, claude, or aliases: pro, gpt, opus)')
|
|
103
103
|
.option('-n, --dry-run', 'Show what would execute without running')
|
|
104
104
|
.option('-t, --type <type>', 'Review type: spec-review, plan-review, impl-review, pr-ready, integration-review')
|
|
105
|
+
.option('-r, --role <role>', 'Custom role from codev/roles/<name>.md (e.g., gtm-specialist, security-reviewer)')
|
|
105
106
|
.allowUnknownOption(true)
|
|
106
107
|
.action(async (subcommand, args, options) => {
|
|
107
108
|
try {
|
|
@@ -111,6 +112,7 @@ program
|
|
|
111
112
|
args,
|
|
112
113
|
dryRun: options.dryRun,
|
|
113
114
|
reviewType: options.type,
|
|
115
|
+
role: options.role,
|
|
114
116
|
});
|
|
115
117
|
}
|
|
116
118
|
catch (error) {
|
package/dist/cli.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/commands/consult/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AA+BH,UAAU,cAAc;IACtB,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/commands/consult/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AA+BH,UAAU,cAAc;IACtB,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAgeD;;GAEG;AACH,wBAAsB,OAAO,CAAC,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC,CA0GpE"}
|
|
@@ -30,6 +30,53 @@ const VALID_REVIEW_TYPES = [
|
|
|
30
30
|
'pr-ready',
|
|
31
31
|
'integration-review',
|
|
32
32
|
];
|
|
33
|
+
/**
|
|
34
|
+
* Validate role name to prevent directory traversal attacks.
|
|
35
|
+
* Only allows alphanumeric, hyphen, and underscore characters.
|
|
36
|
+
*/
|
|
37
|
+
function isValidRoleName(roleName) {
|
|
38
|
+
return /^[a-zA-Z0-9_-]+$/.test(roleName);
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* List available roles in codev/roles/
|
|
42
|
+
* Excludes non-role files like README.md, review-types/, etc.
|
|
43
|
+
*/
|
|
44
|
+
function listAvailableRoles(projectRoot) {
|
|
45
|
+
const rolesDir = path.join(projectRoot, 'codev', 'roles');
|
|
46
|
+
if (!fs.existsSync(rolesDir))
|
|
47
|
+
return [];
|
|
48
|
+
const excludePatterns = ['readme', 'review-types', 'overview', 'index'];
|
|
49
|
+
return fs.readdirSync(rolesDir)
|
|
50
|
+
.filter(f => {
|
|
51
|
+
if (!f.endsWith('.md'))
|
|
52
|
+
return false;
|
|
53
|
+
const basename = f.replace('.md', '').toLowerCase();
|
|
54
|
+
return !excludePatterns.some(pattern => basename.includes(pattern));
|
|
55
|
+
})
|
|
56
|
+
.map(f => f.replace('.md', ''));
|
|
57
|
+
}
|
|
58
|
+
/**
|
|
59
|
+
* Load a custom role from codev/roles/<name>.md
|
|
60
|
+
* Falls back to embedded skeleton if not found locally.
|
|
61
|
+
*/
|
|
62
|
+
function loadCustomRole(projectRoot, roleName) {
|
|
63
|
+
// Validate role name to prevent directory traversal
|
|
64
|
+
if (!isValidRoleName(roleName)) {
|
|
65
|
+
throw new Error(`Invalid role name: '${roleName}'\n` +
|
|
66
|
+
'Role names can only contain letters, numbers, hyphens, and underscores.');
|
|
67
|
+
}
|
|
68
|
+
// Use readCodevFile which handles local-first with skeleton fallback
|
|
69
|
+
const rolePath = `roles/${roleName}.md`;
|
|
70
|
+
const roleContent = readCodevFile(rolePath, projectRoot);
|
|
71
|
+
if (!roleContent) {
|
|
72
|
+
const available = listAvailableRoles(projectRoot);
|
|
73
|
+
const availableStr = available.length > 0
|
|
74
|
+
? `\n\nAvailable roles:\n${available.map(r => ` - ${r}`).join('\n')}`
|
|
75
|
+
: '\n\nNo custom roles found in codev/roles/';
|
|
76
|
+
throw new Error(`Role '${roleName}' not found.${availableStr}`);
|
|
77
|
+
}
|
|
78
|
+
return roleContent;
|
|
79
|
+
}
|
|
33
80
|
/**
|
|
34
81
|
* Load the consultant role.
|
|
35
82
|
* Checks local codev/roles/consultant.md first, then falls back to embedded skeleton.
|
|
@@ -162,8 +209,9 @@ function commandExists(cmd) {
|
|
|
162
209
|
/**
|
|
163
210
|
* Run the consultation
|
|
164
211
|
*/
|
|
165
|
-
async function runConsultation(model, query, projectRoot, dryRun, reviewType) {
|
|
166
|
-
|
|
212
|
+
async function runConsultation(model, query, projectRoot, dryRun, reviewType, customRole) {
|
|
213
|
+
// Use custom role if specified, otherwise use default consultant role
|
|
214
|
+
let role = customRole ? loadCustomRole(projectRoot, customRole) : loadRole(projectRoot);
|
|
167
215
|
// Append review type prompt if specified
|
|
168
216
|
if (reviewType) {
|
|
169
217
|
const typePrompt = loadReviewTypePrompt(projectRoot, reviewType);
|
|
@@ -192,10 +240,6 @@ async function runConsultation(model, query, projectRoot, dryRun, reviewType) {
|
|
|
192
240
|
tempFile = path.join(tmpdir(), `codev-role-${Date.now()}.md`);
|
|
193
241
|
fs.writeFileSync(tempFile, role);
|
|
194
242
|
env['GEMINI_SYSTEM_MD'] = tempFile;
|
|
195
|
-
// Handle GOOGLE_API_KEY vs GEMINI_API_KEY conflict
|
|
196
|
-
if (process.env['GOOGLE_API_KEY'] && process.env['GEMINI_API_KEY']) {
|
|
197
|
-
env['GEMINI_API_KEY'] = '';
|
|
198
|
-
}
|
|
199
243
|
cmd = [config.cli, ...config.args, query];
|
|
200
244
|
}
|
|
201
245
|
else if (model === 'codex') {
|
|
@@ -402,7 +446,7 @@ KEY_ISSUES: [List of critical issues if any, or "None"]`;
|
|
|
402
446
|
* Main consult entry point
|
|
403
447
|
*/
|
|
404
448
|
export async function consult(options) {
|
|
405
|
-
const { model: modelInput, subcommand, args, dryRun = false, reviewType } = options;
|
|
449
|
+
const { model: modelInput, subcommand, args, dryRun = false, reviewType, role: customRole } = options;
|
|
406
450
|
// Resolve model alias
|
|
407
451
|
const model = MODEL_ALIASES[modelInput.toLowerCase()] || modelInput.toLowerCase();
|
|
408
452
|
// Validate model
|
|
@@ -418,6 +462,10 @@ export async function consult(options) {
|
|
|
418
462
|
loadDotenv(projectRoot);
|
|
419
463
|
console.error(`[${subcommand} review]`);
|
|
420
464
|
console.error(`Model: ${model}`);
|
|
465
|
+
// Log custom role if specified
|
|
466
|
+
if (customRole) {
|
|
467
|
+
console.error(`Role: ${customRole}`);
|
|
468
|
+
}
|
|
421
469
|
let query;
|
|
422
470
|
switch (subcommand.toLowerCase()) {
|
|
423
471
|
case 'pr': {
|
|
@@ -490,6 +538,6 @@ export async function consult(options) {
|
|
|
490
538
|
console.error(`[${model.toUpperCase()}] Starting consultation...`);
|
|
491
539
|
console.error('='.repeat(60));
|
|
492
540
|
console.error('');
|
|
493
|
-
await runConsultation(model, query, projectRoot, dryRun, reviewType);
|
|
541
|
+
await runConsultation(model, query, projectRoot, dryRun, reviewType, customRole);
|
|
494
542
|
}
|
|
495
543
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/commands/consult/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/commands/consult/index.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -27,6 +27,7 @@ consult -m <model> <subcommand> [args] [options]
|
|
|
27
27
|
```
|
|
28
28
|
-n, --dry-run Show what would execute without running
|
|
29
29
|
-t, --type <type> Review type (see Review Types below)
|
|
30
|
+
-r, --role <role> Custom role from codev/roles/ (see Custom Roles below)
|
|
30
31
|
```
|
|
31
32
|
|
|
32
33
|
## Subcommands
|
|
@@ -188,6 +189,55 @@ consult -m codex pr 68 --type integration-review
|
|
|
188
189
|
|
|
189
190
|
---
|
|
190
191
|
|
|
192
|
+
## Custom Roles
|
|
193
|
+
|
|
194
|
+
Use `--role` to load a custom role instead of the default consultant:
|
|
195
|
+
|
|
196
|
+
```bash
|
|
197
|
+
consult -m gemini --role security-reviewer general "Audit this API endpoint"
|
|
198
|
+
consult -m codex --role gtm-specialist general "Review our landing page copy"
|
|
199
|
+
```
|
|
200
|
+
|
|
201
|
+
**Arguments:**
|
|
202
|
+
- `role` - Name of role file in `codev/roles/` (without `.md` extension)
|
|
203
|
+
|
|
204
|
+
**Available roles** depend on your project. Common ones include:
|
|
205
|
+
- `architect` - System design perspective
|
|
206
|
+
- `builder` - Implementation-focused review
|
|
207
|
+
- `consultant` - Default balanced review (used when no `--role` specified)
|
|
208
|
+
|
|
209
|
+
**Creating custom roles:**
|
|
210
|
+
|
|
211
|
+
1. Create a markdown file in `codev/roles/`:
|
|
212
|
+
```bash
|
|
213
|
+
# codev/roles/security-reviewer.md
|
|
214
|
+
# Role: Security Reviewer
|
|
215
|
+
|
|
216
|
+
You are a security-focused code reviewer...
|
|
217
|
+
```
|
|
218
|
+
|
|
219
|
+
2. Use it with `--role`:
|
|
220
|
+
```bash
|
|
221
|
+
consult -m gemini --role security-reviewer pr 42
|
|
222
|
+
```
|
|
223
|
+
|
|
224
|
+
**Role name restrictions:**
|
|
225
|
+
- Only letters, numbers, hyphens, and underscores
|
|
226
|
+
- No path separators (security: prevents directory traversal)
|
|
227
|
+
- Falls back to embedded skeleton if not found locally
|
|
228
|
+
|
|
229
|
+
**Example:**
|
|
230
|
+
|
|
231
|
+
```bash
|
|
232
|
+
# Use the architect role for high-level review
|
|
233
|
+
consult -m gemini --role architect general "Review this system design"
|
|
234
|
+
|
|
235
|
+
# Use a custom GTM specialist role
|
|
236
|
+
consult -m codex --role gtm-specialist general "Analyze our pricing page"
|
|
237
|
+
```
|
|
238
|
+
|
|
239
|
+
---
|
|
240
|
+
|
|
191
241
|
## Parallel Consultation (3-Way Reviews)
|
|
192
242
|
|
|
193
243
|
For thorough reviews, run multiple models in parallel:
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
<head>
|
|
4
4
|
<meta charset="UTF-8">
|
|
5
5
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
6
|
-
<title>
|
|
6
|
+
<title>AF: {{PROJECT_NAME}}</title>
|
|
7
7
|
<!-- CSS files loaded in dependency order -->
|
|
8
8
|
<link rel="stylesheet" href="/dashboard/css/variables.css">
|
|
9
9
|
<link rel="stylesheet" href="/dashboard/css/layout.css">
|
package/templates/tower.html
CHANGED
|
@@ -409,6 +409,13 @@
|
|
|
409
409
|
background: var(--bg-secondary);
|
|
410
410
|
border: 1px solid var(--border);
|
|
411
411
|
border-radius: 8px;
|
|
412
|
+
cursor: pointer;
|
|
413
|
+
transition: background 0.15s ease, border-color 0.15s ease;
|
|
414
|
+
}
|
|
415
|
+
|
|
416
|
+
.recent-item:hover {
|
|
417
|
+
background: var(--bg-tertiary);
|
|
418
|
+
border-color: #444;
|
|
412
419
|
}
|
|
413
420
|
|
|
414
421
|
.recent-info {
|
|
@@ -603,6 +610,67 @@
|
|
|
603
610
|
animation: none;
|
|
604
611
|
}
|
|
605
612
|
}
|
|
613
|
+
|
|
614
|
+
/* Dialog styles */
|
|
615
|
+
.dialog-overlay {
|
|
616
|
+
position: fixed;
|
|
617
|
+
top: 0;
|
|
618
|
+
left: 0;
|
|
619
|
+
right: 0;
|
|
620
|
+
bottom: 0;
|
|
621
|
+
background: rgba(0, 0, 0, 0.7);
|
|
622
|
+
display: flex;
|
|
623
|
+
align-items: center;
|
|
624
|
+
justify-content: center;
|
|
625
|
+
z-index: 1000;
|
|
626
|
+
}
|
|
627
|
+
|
|
628
|
+
.dialog-box {
|
|
629
|
+
background: var(--bg-secondary);
|
|
630
|
+
border: 1px solid var(--border);
|
|
631
|
+
border-radius: 8px;
|
|
632
|
+
padding: 24px;
|
|
633
|
+
min-width: 400px;
|
|
634
|
+
max-width: 500px;
|
|
635
|
+
}
|
|
636
|
+
|
|
637
|
+
.dialog-box h3 {
|
|
638
|
+
margin-bottom: 20px;
|
|
639
|
+
font-size: 18px;
|
|
640
|
+
}
|
|
641
|
+
|
|
642
|
+
.dialog-field {
|
|
643
|
+
margin-bottom: 16px;
|
|
644
|
+
}
|
|
645
|
+
|
|
646
|
+
.dialog-field label {
|
|
647
|
+
display: block;
|
|
648
|
+
margin-bottom: 6px;
|
|
649
|
+
font-size: 14px;
|
|
650
|
+
color: var(--text-secondary);
|
|
651
|
+
}
|
|
652
|
+
|
|
653
|
+
.dialog-field input {
|
|
654
|
+
width: 100%;
|
|
655
|
+
padding: 10px 14px;
|
|
656
|
+
border-radius: 6px;
|
|
657
|
+
border: 1px solid var(--border);
|
|
658
|
+
background: var(--bg-tertiary);
|
|
659
|
+
color: var(--text-primary);
|
|
660
|
+
font-size: 15px;
|
|
661
|
+
}
|
|
662
|
+
|
|
663
|
+
.dialog-field input:focus {
|
|
664
|
+
outline: none;
|
|
665
|
+
border-color: var(--accent);
|
|
666
|
+
}
|
|
667
|
+
|
|
668
|
+
.dialog-actions {
|
|
669
|
+
display: flex;
|
|
670
|
+
justify-content: flex-end;
|
|
671
|
+
gap: 12px;
|
|
672
|
+
margin-top: 24px;
|
|
673
|
+
}
|
|
606
674
|
</style>
|
|
607
675
|
</head>
|
|
608
676
|
<body>
|
|
@@ -640,7 +708,30 @@
|
|
|
640
708
|
</div>
|
|
641
709
|
<p class="launch-hint">
|
|
642
710
|
Type a path to see suggestions. Directories with <code>codev/</code> are highlighted as valid projects.
|
|
711
|
+
Non-codev directories will be initialized with <code>codev adopt</code> on first launch.
|
|
643
712
|
</p>
|
|
713
|
+
<div style="margin-top: 16px; padding-top: 16px; border-top: 1px solid var(--border);">
|
|
714
|
+
<button class="btn" onclick="showCreateProjectDialog()">Create New Project...</button>
|
|
715
|
+
</div>
|
|
716
|
+
</div>
|
|
717
|
+
|
|
718
|
+
<!-- Create Project Dialog -->
|
|
719
|
+
<div class="dialog-overlay" id="create-dialog" style="display: none;">
|
|
720
|
+
<div class="dialog-box">
|
|
721
|
+
<h3>Create New Project</h3>
|
|
722
|
+
<div class="dialog-field">
|
|
723
|
+
<label for="new-project-path">Parent Directory</label>
|
|
724
|
+
<input type="text" id="new-project-parent" placeholder="~/Development" value="" />
|
|
725
|
+
</div>
|
|
726
|
+
<div class="dialog-field">
|
|
727
|
+
<label for="new-project-name">Project Name</label>
|
|
728
|
+
<input type="text" id="new-project-name" placeholder="my-project" />
|
|
729
|
+
</div>
|
|
730
|
+
<div class="dialog-actions">
|
|
731
|
+
<button class="btn" onclick="hideCreateProjectDialog()">Cancel</button>
|
|
732
|
+
<button class="btn btn-primary" onclick="createNewProject()">Create & Launch</button>
|
|
733
|
+
</div>
|
|
734
|
+
</div>
|
|
644
735
|
</div>
|
|
645
736
|
</main>
|
|
646
737
|
|
|
@@ -782,14 +873,14 @@
|
|
|
782
873
|
const lastUsed = instance.lastUsed ? formatDate(instance.lastUsed) : 'Never';
|
|
783
874
|
|
|
784
875
|
return `
|
|
785
|
-
<div class="recent-item">
|
|
876
|
+
<div class="recent-item" onclick="launchPath('${escapeHtml(instance.projectPath)}')" title="Click to start ${escapeHtml(instance.projectName)}">
|
|
786
877
|
<div class="recent-info">
|
|
787
878
|
<span class="recent-name">${escapeHtml(instance.projectName)}</span>
|
|
788
879
|
<span class="recent-path">${escapeHtml(instance.projectPath)}</span>
|
|
789
880
|
</div>
|
|
790
881
|
<div style="display: flex; align-items: center; gap: 16px;">
|
|
791
882
|
<span class="recent-time">${lastUsed}</span>
|
|
792
|
-
<button class="btn btn-primary" onclick="launchPath('${escapeHtml(instance.projectPath)}')">Start</button>
|
|
883
|
+
<button class="btn btn-primary" onclick="event.stopPropagation(); launchPath('${escapeHtml(instance.projectPath)}')">Start</button>
|
|
793
884
|
</div>
|
|
794
885
|
</div>
|
|
795
886
|
`;
|
|
@@ -928,7 +1019,11 @@
|
|
|
928
1019
|
throw new Error(result.error || 'Launch failed');
|
|
929
1020
|
}
|
|
930
1021
|
|
|
931
|
-
|
|
1022
|
+
if (result.adopted) {
|
|
1023
|
+
showToast('Codev adopted! Instance launching...', 'success');
|
|
1024
|
+
} else {
|
|
1025
|
+
showToast('Instance launching...', 'success');
|
|
1026
|
+
}
|
|
932
1027
|
setTimeout(refresh, 2000);
|
|
933
1028
|
} catch (err) {
|
|
934
1029
|
showToast('Failed to launch: ' + err.message, 'error');
|
|
@@ -1014,7 +1109,11 @@
|
|
|
1014
1109
|
}
|
|
1015
1110
|
|
|
1016
1111
|
input.value = '';
|
|
1017
|
-
|
|
1112
|
+
if (result.adopted) {
|
|
1113
|
+
showToast('Codev adopted! Instance launching...', 'success');
|
|
1114
|
+
} else {
|
|
1115
|
+
showToast('Instance launching... Please wait a moment.', 'success');
|
|
1116
|
+
}
|
|
1018
1117
|
|
|
1019
1118
|
// Refresh after a delay to allow instance to start
|
|
1020
1119
|
setTimeout(refresh, 2000);
|
|
@@ -1084,6 +1183,75 @@
|
|
|
1084
1183
|
}, 4000);
|
|
1085
1184
|
}
|
|
1086
1185
|
|
|
1186
|
+
// Create project dialog functions
|
|
1187
|
+
function showCreateProjectDialog() {
|
|
1188
|
+
const dialog = document.getElementById('create-dialog');
|
|
1189
|
+
dialog.style.display = 'flex';
|
|
1190
|
+
// Default to ~/Development
|
|
1191
|
+
document.getElementById('new-project-parent').value = '~/Development';
|
|
1192
|
+
document.getElementById('new-project-name').value = '';
|
|
1193
|
+
document.getElementById('new-project-name').focus();
|
|
1194
|
+
}
|
|
1195
|
+
|
|
1196
|
+
function hideCreateProjectDialog() {
|
|
1197
|
+
document.getElementById('create-dialog').style.display = 'none';
|
|
1198
|
+
}
|
|
1199
|
+
|
|
1200
|
+
async function createNewProject() {
|
|
1201
|
+
const parent = document.getElementById('new-project-parent').value.trim();
|
|
1202
|
+
const name = document.getElementById('new-project-name').value.trim();
|
|
1203
|
+
|
|
1204
|
+
if (!parent) {
|
|
1205
|
+
showToast('Please enter a parent directory', 'error');
|
|
1206
|
+
return;
|
|
1207
|
+
}
|
|
1208
|
+
if (!name) {
|
|
1209
|
+
showToast('Please enter a project name', 'error');
|
|
1210
|
+
return;
|
|
1211
|
+
}
|
|
1212
|
+
|
|
1213
|
+
// Validate name (no spaces, special chars)
|
|
1214
|
+
if (!/^[a-zA-Z0-9_-]+$/.test(name)) {
|
|
1215
|
+
showToast('Project name can only contain letters, numbers, hyphens, and underscores', 'error');
|
|
1216
|
+
return;
|
|
1217
|
+
}
|
|
1218
|
+
|
|
1219
|
+
hideCreateProjectDialog();
|
|
1220
|
+
|
|
1221
|
+
try {
|
|
1222
|
+
const response = await fetch('/api/create', {
|
|
1223
|
+
method: 'POST',
|
|
1224
|
+
headers: { 'Content-Type': 'application/json' },
|
|
1225
|
+
body: JSON.stringify({ parent, name })
|
|
1226
|
+
});
|
|
1227
|
+
|
|
1228
|
+
const result = await response.json();
|
|
1229
|
+
|
|
1230
|
+
if (!result.success) {
|
|
1231
|
+
throw new Error(result.error || 'Create failed');
|
|
1232
|
+
}
|
|
1233
|
+
|
|
1234
|
+
showToast(`Project "${name}" created! Launching...`, 'success');
|
|
1235
|
+
setTimeout(refresh, 2000);
|
|
1236
|
+
} catch (err) {
|
|
1237
|
+
showToast('Failed to create project: ' + err.message, 'error');
|
|
1238
|
+
}
|
|
1239
|
+
}
|
|
1240
|
+
|
|
1241
|
+
// Close dialog on escape
|
|
1242
|
+
document.addEventListener('keydown', (e) => {
|
|
1243
|
+
if (e.key === 'Escape') {
|
|
1244
|
+
hideCreateProjectDialog();
|
|
1245
|
+
}
|
|
1246
|
+
});
|
|
1247
|
+
|
|
1248
|
+
// Close dialog on backdrop click
|
|
1249
|
+
document.getElementById('create-dialog').addEventListener('click', (e) => {
|
|
1250
|
+
if (e.target.id === 'create-dialog') {
|
|
1251
|
+
hideCreateProjectDialog();
|
|
1252
|
+
}
|
|
1253
|
+
});
|
|
1254
|
+
|
|
1087
1255
|
// Initialize
|
|
1088
1256
|
init();
|
|
1089
1257
|
</script>
|
package/dist/commands/eject.d.ts
DELETED
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* codev eject - Copy embedded skeleton files locally for customization
|
|
3
|
-
*
|
|
4
|
-
* Usage:
|
|
5
|
-
* codev eject protocols/spider
|
|
6
|
-
* codev eject roles/consultant.md
|
|
7
|
-
* codev eject --list
|
|
8
|
-
*/
|
|
9
|
-
interface EjectOptions {
|
|
10
|
-
list?: boolean;
|
|
11
|
-
force?: boolean;
|
|
12
|
-
}
|
|
13
|
-
/**
|
|
14
|
-
* Eject a file or directory from the embedded skeleton
|
|
15
|
-
*/
|
|
16
|
-
export declare function eject(targetPath?: string, options?: EjectOptions): Promise<void>;
|
|
17
|
-
export {};
|
|
18
|
-
//# sourceMappingURL=eject.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"eject.d.ts","sourceRoot":"","sources":["../../src/commands/eject.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAOH,UAAU,YAAY;IACpB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAmCD;;GAEG;AACH,wBAAsB,KAAK,CAAC,UAAU,CAAC,EAAE,MAAM,EAAE,OAAO,GAAE,YAAiB,GAAG,OAAO,CAAC,IAAI,CAAC,CAqC1F"}
|