@phenixstar/talon 1.0.2 → 1.0.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/bin/talon.js +5 -1
- package/dist/cli/doctor.js +29 -26
- package/dist/cli/doctor.js.map +1 -1
- package/dist/cli/repo-commands.d.ts +2 -0
- package/dist/cli/repo-commands.d.ts.map +1 -0
- package/dist/cli/repo-commands.js +151 -0
- package/dist/cli/repo-commands.js.map +1 -0
- package/dist/cli/setup-renderer.d.ts +1 -1
- package/dist/cli/setup-renderer.d.ts.map +1 -1
- package/dist/cli/setup-renderer.js +3 -3
- package/dist/cli/setup-renderer.js.map +1 -1
- package/dist/cli/setup.js +11 -8
- package/dist/cli/setup.js.map +1 -1
- package/dist/cli/talon-home.d.ts +47 -0
- package/dist/cli/talon-home.d.ts.map +1 -0
- package/dist/cli/talon-home.js +167 -0
- package/dist/cli/talon-home.js.map +1 -0
- package/docker-compose.yml +6 -6
- package/package.json +1 -1
- package/talon +70 -11
package/bin/talon.js
CHANGED
|
@@ -18,6 +18,7 @@ const [,, command, ...args] = process.argv;
|
|
|
18
18
|
const COMMANDS = {
|
|
19
19
|
setup: 'dist/cli/setup.js',
|
|
20
20
|
doctor: 'dist/cli/doctor.js',
|
|
21
|
+
repo: 'dist/cli/repo-commands.js',
|
|
21
22
|
help: null,
|
|
22
23
|
start: null,
|
|
23
24
|
stop: null,
|
|
@@ -34,6 +35,9 @@ Talon — AI Penetration Testing Framework
|
|
|
34
35
|
Usage:
|
|
35
36
|
talon setup Interactive setup wizard
|
|
36
37
|
talon doctor Validate configuration and dependencies
|
|
38
|
+
talon repo add <url> [name] Clone a target repo to ~/.talon/repos/
|
|
39
|
+
talon repo list List available repos
|
|
40
|
+
talon repo remove <name> Remove a repo
|
|
37
41
|
talon start URL=<url> REPO=<name> Start a pentest workflow
|
|
38
42
|
talon stop Stop all containers
|
|
39
43
|
talon stop CLEAN=true Stop + remove volumes
|
|
@@ -44,7 +48,7 @@ Usage:
|
|
|
44
48
|
talon help Show this help
|
|
45
49
|
|
|
46
50
|
Options for 'start':
|
|
47
|
-
REPO=<name>
|
|
51
|
+
REPO=<name> Repo name (checks ./repos/ then ~/.talon/repos/)
|
|
48
52
|
CONFIG=<path> YAML config file
|
|
49
53
|
OUTPUT=<path> Output directory (default: ./audit-logs/)
|
|
50
54
|
WORKSPACE=<name> Named workspace (auto-resume)
|
package/dist/cli/doctor.js
CHANGED
|
@@ -16,13 +16,16 @@ import { execSync } from 'node:child_process';
|
|
|
16
16
|
import { showBanner, showDependencyTable } from './setup-renderer.js';
|
|
17
17
|
import { readEnvFile } from './env-configurator.js';
|
|
18
18
|
import { checkAllDependencies, isDockerRunning, checkDiskSpaceGb } from './dependency-checker.js';
|
|
19
|
+
import { getTalonHome, resolveEnvPath, listRepos, commandPrefix, isProjectMode, } from './talon-home.js';
|
|
19
20
|
function checkEnvFile() {
|
|
20
|
-
|
|
21
|
-
|
|
21
|
+
const envPath = resolveEnvPath();
|
|
22
|
+
const cmd = commandPrefix();
|
|
23
|
+
if (!fs.existsSync(envPath)) {
|
|
24
|
+
return { name: '.env file', ok: false, message: `Not found — run ${cmd} setup` };
|
|
22
25
|
}
|
|
23
|
-
const env = readEnvFile(
|
|
26
|
+
const env = readEnvFile(envPath);
|
|
24
27
|
if (env.size === 0) {
|
|
25
|
-
return { name: '.env file', ok: false, message:
|
|
28
|
+
return { name: '.env file', ok: false, message: `Empty — run ${cmd} setup` };
|
|
26
29
|
}
|
|
27
30
|
const hasAuth = env.has('ANTHROPIC_API_KEY')
|
|
28
31
|
|| env.has('CLAUDE_CODE_OAUTH_TOKEN')
|
|
@@ -30,9 +33,10 @@ function checkEnvFile() {
|
|
|
30
33
|
|| env.get('CLAUDE_CODE_USE_VERTEX') === '1'
|
|
31
34
|
|| env.get('ROUTER') === 'true';
|
|
32
35
|
if (!hasAuth) {
|
|
33
|
-
return { name: '.env file', ok: false, message:
|
|
36
|
+
return { name: '.env file', ok: false, message: `No auth credentials configured — run ${cmd} setup` };
|
|
34
37
|
}
|
|
35
|
-
|
|
38
|
+
const location = isProjectMode() ? '.env' : envPath;
|
|
39
|
+
return { name: '.env file', ok: true, message: `${env.size} variables configured (${location})` };
|
|
36
40
|
}
|
|
37
41
|
function checkDockerDaemon() {
|
|
38
42
|
if (!isDockerRunning()) {
|
|
@@ -41,6 +45,7 @@ function checkDockerDaemon() {
|
|
|
41
45
|
return { name: 'Docker daemon', ok: true, message: 'Running' };
|
|
42
46
|
}
|
|
43
47
|
function checkDockerImages() {
|
|
48
|
+
const cmd = commandPrefix();
|
|
44
49
|
try {
|
|
45
50
|
const output = execSync('docker compose images 2>/dev/null', {
|
|
46
51
|
encoding: 'utf-8',
|
|
@@ -48,34 +53,27 @@ function checkDockerImages() {
|
|
|
48
53
|
timeout: 10_000,
|
|
49
54
|
});
|
|
50
55
|
const lines = output.trim().split('\n').filter(l => l.trim().length > 0);
|
|
51
|
-
// First line is header
|
|
52
56
|
const imageCount = Math.max(0, lines.length - 1);
|
|
53
57
|
if (imageCount === 0) {
|
|
54
|
-
return { name: 'Docker images', ok: false, message:
|
|
58
|
+
return { name: 'Docker images', ok: false, message: `Not built — will build on first ${cmd} start` };
|
|
55
59
|
}
|
|
56
60
|
return { name: 'Docker images', ok: true, message: `${imageCount} images built` };
|
|
57
61
|
}
|
|
58
62
|
catch {
|
|
59
|
-
return { name: 'Docker images', ok: false, message:
|
|
63
|
+
return { name: 'Docker images', ok: false, message: `Not built — will build on first ${cmd} start` };
|
|
60
64
|
}
|
|
61
65
|
}
|
|
62
66
|
function checkReposDir() {
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
const entries = fs.readdirSync('repos').filter(e => {
|
|
68
|
-
const stat = fs.statSync(`repos/${e}`);
|
|
69
|
-
return stat.isDirectory();
|
|
70
|
-
});
|
|
71
|
-
if (entries.length === 0) {
|
|
72
|
-
return { name: 'repos/ directory', ok: false, message: 'Empty — clone a target repo into repos/' };
|
|
73
|
-
}
|
|
74
|
-
return { name: 'repos/ directory', ok: true, message: `${entries.length} repo(s): ${entries.join(', ')}` };
|
|
75
|
-
}
|
|
76
|
-
catch {
|
|
77
|
-
return { name: 'repos/ directory', ok: false, message: 'Cannot read — check permissions' };
|
|
67
|
+
const repos = listRepos();
|
|
68
|
+
if (repos.length === 0) {
|
|
69
|
+
const cmd = commandPrefix();
|
|
70
|
+
return { name: 'repos', ok: false, message: `No repos found — run ${cmd} repo add <url> or clone into repos/` };
|
|
78
71
|
}
|
|
72
|
+
const labels = repos.map(r => {
|
|
73
|
+
const tag = r.source === 'home' ? chalk.dim(' (~/.talon)') : '';
|
|
74
|
+
return `${r.name}${tag}`;
|
|
75
|
+
});
|
|
76
|
+
return { name: 'repos', ok: true, message: `${repos.length} repo(s): ${labels.join(', ')}` };
|
|
79
77
|
}
|
|
80
78
|
function checkDiskSpace() {
|
|
81
79
|
const gb = checkDiskSpaceGb();
|
|
@@ -113,13 +111,18 @@ function main() {
|
|
|
113
111
|
// 3. Summary
|
|
114
112
|
const depFailures = deps.filter(d => d.required && (!d.installed || !d.versionOk));
|
|
115
113
|
const totalIssues = depFailures.length + checks.filter(c => !c.ok).length;
|
|
114
|
+
// 4. Talon home info
|
|
115
|
+
const home = getTalonHome();
|
|
116
|
+
const homeExists = fs.existsSync(home);
|
|
117
|
+
console.log(chalk.dim(`\n Talon home: ${home} ${homeExists ? '(exists)' : '(not created yet)'}`));
|
|
118
|
+
const cmd = commandPrefix();
|
|
116
119
|
console.log();
|
|
117
120
|
if (totalIssues === 0) {
|
|
118
121
|
console.log(chalk.green(' All checks passed. Ready to run:\n'));
|
|
119
|
-
console.log(chalk.cyan(
|
|
122
|
+
console.log(chalk.cyan(` ${cmd} start URL=<url> REPO=<name>\n`));
|
|
120
123
|
}
|
|
121
124
|
else {
|
|
122
|
-
console.log(chalk.yellow(` ${totalIssues} issue(s) found. Fix them and run
|
|
125
|
+
console.log(chalk.yellow(` ${totalIssues} issue(s) found. Fix them and run ${cmd} doctor again.\n`));
|
|
123
126
|
}
|
|
124
127
|
process.exit(hasFailure || depFailures.length > 0 ? 1 : 0);
|
|
125
128
|
}
|
package/dist/cli/doctor.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"doctor.js","sourceRoot":"","sources":["../../src/cli/doctor.ts"],"names":[],"mappings":"AAAA,+CAA+C;AAC/C,EAAE;AACF,uEAAuE;AACvE,wEAAwE;AACxE,gDAAgD;AAEhD;;;;;;GAMG;AAEH,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC9C,OAAO,EAAE,UAAU,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AACtE,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACpD,OAAO,EAAE,oBAAoB,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;
|
|
1
|
+
{"version":3,"file":"doctor.js","sourceRoot":"","sources":["../../src/cli/doctor.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"repo-commands.d.ts","sourceRoot":"","sources":["../../src/cli/repo-commands.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,151 @@
|
|
|
1
|
+
// Copyright (C) 2025 PhenixStar (Alaa Qweider)
|
|
2
|
+
//
|
|
3
|
+
// This program is free software: you can redistribute it and/or modify
|
|
4
|
+
// it under the terms of the GNU Affero General Public License version 3
|
|
5
|
+
// as published by the Free Software Foundation.
|
|
6
|
+
/**
|
|
7
|
+
* Talon Repo Commands — manage target repositories in ~/.talon/repos/.
|
|
8
|
+
*
|
|
9
|
+
* Commands: add, list, remove.
|
|
10
|
+
* Invoked via `talon repo <subcommand>`.
|
|
11
|
+
*/
|
|
12
|
+
import { execSync, spawnSync } from 'node:child_process';
|
|
13
|
+
import fs from 'node:fs';
|
|
14
|
+
import path from 'node:path';
|
|
15
|
+
import chalk from 'chalk';
|
|
16
|
+
import { getTalonHome, ensureHome, listRepos } from './talon-home.js';
|
|
17
|
+
function inferRepoName(url) {
|
|
18
|
+
const cleaned = url.replace(/\.git$/, '').replace(/\/$/, '');
|
|
19
|
+
const lastSegment = cleaned.split('/').pop();
|
|
20
|
+
return lastSegment || 'repo';
|
|
21
|
+
}
|
|
22
|
+
function validateName(name) {
|
|
23
|
+
if (name.includes('..') || name.includes('/') || name.includes('\\'))
|
|
24
|
+
return false;
|
|
25
|
+
if (name.startsWith('.') || name.length === 0)
|
|
26
|
+
return false;
|
|
27
|
+
return /^[a-zA-Z0-9._-]+$/.test(name);
|
|
28
|
+
}
|
|
29
|
+
function repoAdd(url, name) {
|
|
30
|
+
ensureHome();
|
|
31
|
+
const repoName = name || inferRepoName(url);
|
|
32
|
+
if (!validateName(repoName)) {
|
|
33
|
+
console.error(chalk.red(` ✗ Invalid repo name: ${repoName}`));
|
|
34
|
+
process.exit(1);
|
|
35
|
+
}
|
|
36
|
+
const reposDir = path.join(getTalonHome(), 'repos');
|
|
37
|
+
const targetPath = path.join(reposDir, repoName);
|
|
38
|
+
if (fs.existsSync(targetPath)) {
|
|
39
|
+
console.error(chalk.red(` ✗ Repo already exists: ${targetPath}`));
|
|
40
|
+
process.exit(1);
|
|
41
|
+
}
|
|
42
|
+
// Verify git is installed
|
|
43
|
+
try {
|
|
44
|
+
execSync('git --version', { stdio: 'pipe' });
|
|
45
|
+
}
|
|
46
|
+
catch {
|
|
47
|
+
console.error(chalk.red(' ✗ git is not installed. Install git and try again.'));
|
|
48
|
+
process.exit(1);
|
|
49
|
+
}
|
|
50
|
+
console.log(chalk.cyan(` Cloning ${url} → ${targetPath}\n`));
|
|
51
|
+
const result = spawnSync('git', ['clone', url, targetPath], { stdio: 'inherit' });
|
|
52
|
+
if (result.status !== 0) {
|
|
53
|
+
console.error(chalk.red('\n ✗ Clone failed.'));
|
|
54
|
+
process.exit(1);
|
|
55
|
+
}
|
|
56
|
+
// Create deliverables dir for the repo
|
|
57
|
+
const delivDir = path.join(targetPath, 'deliverables');
|
|
58
|
+
if (!fs.existsSync(delivDir)) {
|
|
59
|
+
fs.mkdirSync(delivDir, { recursive: true });
|
|
60
|
+
}
|
|
61
|
+
console.log(chalk.green(`\n ✓ Repo added: ${repoName}`));
|
|
62
|
+
console.log(chalk.dim(` Path: ${targetPath}`));
|
|
63
|
+
console.log(chalk.dim(` Use: talon start URL=<url> REPO=${repoName}\n`));
|
|
64
|
+
}
|
|
65
|
+
function repoList() {
|
|
66
|
+
const repos = listRepos();
|
|
67
|
+
if (repos.length === 0) {
|
|
68
|
+
console.log(chalk.yellow(' No repos found.\n'));
|
|
69
|
+
console.log(chalk.dim(' Add one with: talon repo add <git-url>\n'));
|
|
70
|
+
return;
|
|
71
|
+
}
|
|
72
|
+
console.log(chalk.bold('\n Repositories:\n'));
|
|
73
|
+
for (const repo of repos) {
|
|
74
|
+
const source = repo.source === 'home'
|
|
75
|
+
? chalk.dim(' (home)')
|
|
76
|
+
: chalk.dim(' (local)');
|
|
77
|
+
console.log(` ${chalk.green('•')} ${chalk.bold(repo.name)}${source}`);
|
|
78
|
+
console.log(chalk.dim(` ${repo.path}`));
|
|
79
|
+
}
|
|
80
|
+
console.log();
|
|
81
|
+
}
|
|
82
|
+
function repoRemove(name) {
|
|
83
|
+
if (!validateName(name)) {
|
|
84
|
+
console.error(chalk.red(` ✗ Invalid repo name: ${name}`));
|
|
85
|
+
process.exit(1);
|
|
86
|
+
}
|
|
87
|
+
const repoPath = path.join(getTalonHome(), 'repos', name);
|
|
88
|
+
if (!fs.existsSync(repoPath)) {
|
|
89
|
+
console.error(chalk.red(` ✗ Repo not found in ~/.talon/repos/: ${name}`));
|
|
90
|
+
process.exit(1);
|
|
91
|
+
}
|
|
92
|
+
// Simple confirmation via stdin
|
|
93
|
+
process.stdout.write(chalk.yellow(` Remove ${repoPath}? [y/N] `));
|
|
94
|
+
// NOTE: Using sync readline for simplicity — this is a destructive CLI command
|
|
95
|
+
const fd = fs.openSync('/dev/stdin', 'rs');
|
|
96
|
+
const buf = Buffer.alloc(256);
|
|
97
|
+
const bytesRead = fs.readSync(fd, buf, 0, 256, null);
|
|
98
|
+
fs.closeSync(fd);
|
|
99
|
+
const answer = buf.subarray(0, bytesRead).toString().trim().toLowerCase();
|
|
100
|
+
if (answer !== 'y' && answer !== 'yes') {
|
|
101
|
+
console.log(chalk.dim(' Cancelled.\n'));
|
|
102
|
+
return;
|
|
103
|
+
}
|
|
104
|
+
fs.rmSync(repoPath, { recursive: true, force: true });
|
|
105
|
+
console.log(chalk.green(` ✓ Removed: ${name}\n`));
|
|
106
|
+
}
|
|
107
|
+
function showHelp() {
|
|
108
|
+
console.log(`
|
|
109
|
+
Usage: talon repo <command> [args]
|
|
110
|
+
|
|
111
|
+
Commands:
|
|
112
|
+
add <url> [name] Clone a repo to ~/.talon/repos/
|
|
113
|
+
list List all available repos
|
|
114
|
+
remove <name> Remove a repo from ~/.talon/repos/
|
|
115
|
+
|
|
116
|
+
Examples:
|
|
117
|
+
talon repo add https://github.com/org/app.git
|
|
118
|
+
talon repo add https://github.com/org/app.git my-app
|
|
119
|
+
talon repo list
|
|
120
|
+
talon repo remove my-app
|
|
121
|
+
`);
|
|
122
|
+
}
|
|
123
|
+
// === CLI Entry ===
|
|
124
|
+
const [subcommand, ...args] = process.argv.slice(2);
|
|
125
|
+
switch (subcommand) {
|
|
126
|
+
case 'add': {
|
|
127
|
+
if (args.length === 0) {
|
|
128
|
+
console.error(chalk.red(' ✗ URL required: talon repo add <url> [name]'));
|
|
129
|
+
process.exit(1);
|
|
130
|
+
}
|
|
131
|
+
repoAdd(args[0], args[1]);
|
|
132
|
+
break;
|
|
133
|
+
}
|
|
134
|
+
case 'list':
|
|
135
|
+
case 'ls':
|
|
136
|
+
repoList();
|
|
137
|
+
break;
|
|
138
|
+
case 'remove':
|
|
139
|
+
case 'rm': {
|
|
140
|
+
if (args.length === 0) {
|
|
141
|
+
console.error(chalk.red(' ✗ Name required: talon repo remove <name>'));
|
|
142
|
+
process.exit(1);
|
|
143
|
+
}
|
|
144
|
+
repoRemove(args[0]);
|
|
145
|
+
break;
|
|
146
|
+
}
|
|
147
|
+
default:
|
|
148
|
+
showHelp();
|
|
149
|
+
break;
|
|
150
|
+
}
|
|
151
|
+
//# sourceMappingURL=repo-commands.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"repo-commands.js","sourceRoot":"","sources":["../../src/cli/repo-commands.ts"],"names":[],"mappings":"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"}
|
|
@@ -10,7 +10,7 @@ export interface SummaryConfig {
|
|
|
10
10
|
}>;
|
|
11
11
|
}
|
|
12
12
|
export declare function showSummary(config: SummaryConfig): void;
|
|
13
|
-
export declare function showSuccess(envPath: string): void;
|
|
13
|
+
export declare function showSuccess(envPath: string, cmd?: string): void;
|
|
14
14
|
export declare function showError(message: string): void;
|
|
15
15
|
export interface DepStatus {
|
|
16
16
|
name: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"setup-renderer.d.ts","sourceRoot":"","sources":["../../src/cli/setup-renderer.ts"],"names":[],"mappings":"AAaA,wBAAgB,UAAU,IAAI,IAAI,CAIjC;AAED,MAAM,WAAW,aAAa;IAC5B,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,KAAK,CAAC;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,OAAO,CAAA;KAAE,CAAC,CAAC;CACjE;AAED,wBAAgB,WAAW,CAAC,MAAM,EAAE,aAAa,GAAG,IAAI,CAkBvD;AAOD,wBAAgB,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,
|
|
1
|
+
{"version":3,"file":"setup-renderer.d.ts","sourceRoot":"","sources":["../../src/cli/setup-renderer.ts"],"names":[],"mappings":"AAaA,wBAAgB,UAAU,IAAI,IAAI,CAIjC;AAED,MAAM,WAAW,aAAa;IAC5B,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,KAAK,CAAC;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,OAAO,CAAA;KAAE,CAAC,CAAC;CACjE;AAED,wBAAgB,WAAW,CAAC,MAAM,EAAE,aAAa,GAAG,IAAI,CAkBvD;AAOD,wBAAgB,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,SAAU,GAAG,IAAI,CAShE;AAED,wBAAgB,SAAS,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAE/C;AAED,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,OAAO,CAAC;IACnB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,SAAS,EAAE,OAAO,CAAC;IACnB,QAAQ,EAAE,OAAO,CAAC;CACnB;AAED,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,SAAS,SAAS,EAAE,GAAG,IAAI,CAqBpE"}
|
|
@@ -36,13 +36,13 @@ function maskValue(value) {
|
|
|
36
36
|
return '••••••••';
|
|
37
37
|
return value.slice(0, 4) + '••••' + value.slice(-4);
|
|
38
38
|
}
|
|
39
|
-
export function showSuccess(envPath) {
|
|
39
|
+
export function showSuccess(envPath, cmd = 'talon') {
|
|
40
40
|
console.log();
|
|
41
41
|
console.log(chalk.green(' ✓ Configuration saved to ') + chalk.bold(envPath));
|
|
42
42
|
console.log();
|
|
43
43
|
console.log(chalk.bold(' Next steps:'));
|
|
44
|
-
console.log(chalk.dim(' 1.') + '
|
|
45
|
-
console.log(chalk.dim(' 2.') + ' Run a pentest: ' + chalk.cyan(
|
|
44
|
+
console.log(chalk.dim(' 1.') + ' Add a target repo: ' + chalk.cyan(`${cmd} repo add <url>`));
|
|
45
|
+
console.log(chalk.dim(' 2.') + ' Run a pentest: ' + chalk.cyan(`${cmd} start URL=<url> REPO=<name>`));
|
|
46
46
|
console.log(chalk.dim(' 3.') + ' Monitor progress: ' + chalk.cyan('http://localhost:8233'));
|
|
47
47
|
console.log();
|
|
48
48
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"setup-renderer.js","sourceRoot":"","sources":["../../src/cli/setup-renderer.ts"],"names":[],"mappings":"AAAA,+CAA+C;AAC/C,EAAE;AACF,uEAAuE;AACvE,wEAAwE;AACxE,gDAAgD;AAEhD,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,QAAQ,MAAM,iBAAiB,CAAC;AACvC,OAAO,MAAM,MAAM,QAAQ,CAAC;AAE5B,MAAM,cAAc,GAAG,QAAQ,CAAC,CAAC,SAAS,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC,CAAC;AAEnE,MAAM,UAAU,UAAU;IACxB,MAAM,KAAK,GAAG,MAAM,CAAC,QAAQ,CAAC,OAAO,EAAE,EAAE,IAAI,EAAE,aAAa,EAAE,CAAC,CAAC;IAChE,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,CAAC;IACnC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,qDAAqD,CAAC,CAAC,CAAC;AAChF,CAAC;AASD,MAAM,UAAU,WAAW,CAAC,MAAqB;IAC/C,MAAM,KAAK,GAAG;QACZ,GAAG,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,MAAM,CAAC,QAAQ,EAAE;QAChD,GAAG,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,MAAM,CAAC,OAAO,EAAE;QAC/C,EAAE;QACF,KAAK,CAAC,IAAI,CAAC,wBAAwB,CAAC;QACpC,GAAG,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE;YAC9C,MAAM,OAAO,GAAG,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;YAClD,OAAO,KAAK,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,OAAO,EAAE,CAAC;QAC3C,CAAC,CAAC;KACH,CAAC;IAEF,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;QAClC,KAAK,EAAE,uBAAuB;QAC9B,OAAO,EAAE,CAAC;QACV,WAAW,EAAE,MAAM;QACnB,WAAW,EAAE,OAAO;KACrB,CAAC,CAAC,CAAC;AACN,CAAC;AAED,SAAS,SAAS,CAAC,KAAa;IAC9B,IAAI,KAAK,CAAC,MAAM,IAAI,CAAC;QAAE,OAAO,UAAU,CAAC;IACzC,OAAO,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,MAAM,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;AACtD,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,OAAe;
|
|
1
|
+
{"version":3,"file":"setup-renderer.js","sourceRoot":"","sources":["../../src/cli/setup-renderer.ts"],"names":[],"mappings":"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"}
|
package/dist/cli/setup.js
CHANGED
|
@@ -15,7 +15,7 @@ import { showBanner, showSummary, showSuccess, showError, showDependencyTable, }
|
|
|
15
15
|
import { readEnvFile, mergeEnv, backupEnvFile, writeEnvFile, validateEnv, } from './env-configurator.js';
|
|
16
16
|
import { checkAllDependencies, detectRunMode, isDockerRunning, checkDiskSpaceGb, } from './dependency-checker.js';
|
|
17
17
|
import { detectAllCredentials } from './credential-detector.js';
|
|
18
|
-
|
|
18
|
+
import { ensureHome, resolveEnvPath, commandPrefix } from './talon-home.js';
|
|
19
19
|
// === Auth Mode Prompts ===
|
|
20
20
|
async function promptApiKey() {
|
|
21
21
|
const key = await password({
|
|
@@ -241,8 +241,11 @@ async function promptManualAuth(hint, existingEnv) {
|
|
|
241
241
|
// === Main Wizard ===
|
|
242
242
|
async function main() {
|
|
243
243
|
showBanner();
|
|
244
|
-
// 1.
|
|
245
|
-
|
|
244
|
+
// 1. Ensure ~/.talon/ exists
|
|
245
|
+
ensureHome();
|
|
246
|
+
const envPath = resolveEnvPath();
|
|
247
|
+
// 2. Check existing .env
|
|
248
|
+
const existingEnv = readEnvFile(envPath);
|
|
246
249
|
if (existingEnv.size > 0) {
|
|
247
250
|
const action = await select({
|
|
248
251
|
message: `Found existing .env with ${existingEnv.size} values. What would you like to do?`,
|
|
@@ -290,7 +293,7 @@ async function main() {
|
|
|
290
293
|
default: false,
|
|
291
294
|
});
|
|
292
295
|
if (!proceed) {
|
|
293
|
-
showError(
|
|
296
|
+
showError(`Install missing dependencies and run ${commandPrefix()} setup again.`);
|
|
294
297
|
process.exit(1);
|
|
295
298
|
}
|
|
296
299
|
}
|
|
@@ -406,7 +409,7 @@ async function main() {
|
|
|
406
409
|
};
|
|
407
410
|
const summaryConfig = {
|
|
408
411
|
authMode: authModeLabels[authMode],
|
|
409
|
-
envPath
|
|
412
|
+
envPath,
|
|
410
413
|
runMode: runMode === 'docker' ? 'Docker' : 'Bare Metal',
|
|
411
414
|
values: newEntries.map(({ key, value }) => ({
|
|
412
415
|
key,
|
|
@@ -427,12 +430,12 @@ async function main() {
|
|
|
427
430
|
process.exit(1);
|
|
428
431
|
}
|
|
429
432
|
// 8. Write
|
|
430
|
-
const backupPath = backupEnvFile(
|
|
433
|
+
const backupPath = backupEnvFile(envPath);
|
|
431
434
|
if (backupPath) {
|
|
432
435
|
console.log(chalk.dim(` Backed up existing .env to ${backupPath}`));
|
|
433
436
|
}
|
|
434
|
-
writeEnvFile(
|
|
435
|
-
showSuccess(
|
|
437
|
+
writeEnvFile(envPath, merged);
|
|
438
|
+
showSuccess(envPath, commandPrefix());
|
|
436
439
|
}
|
|
437
440
|
main().catch((error) => {
|
|
438
441
|
// Handle Ctrl+C gracefully
|
package/dist/cli/setup.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"setup.js","sourceRoot":"","sources":["../../src/cli/setup.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"setup.js","sourceRoot":"","sources":["../../src/cli/setup.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
export interface TalonPaths {
|
|
2
|
+
readonly home: string;
|
|
3
|
+
readonly env: string;
|
|
4
|
+
readonly repos: string;
|
|
5
|
+
readonly configs: string;
|
|
6
|
+
readonly prompts: string;
|
|
7
|
+
readonly skills: string;
|
|
8
|
+
readonly auditLogs: string;
|
|
9
|
+
readonly credentials: string;
|
|
10
|
+
}
|
|
11
|
+
export interface RepoEntry {
|
|
12
|
+
readonly name: string;
|
|
13
|
+
readonly path: string;
|
|
14
|
+
readonly source: 'local' | 'home';
|
|
15
|
+
}
|
|
16
|
+
/** Resolve ~/.talon/ path. Respects TALON_HOME env override. */
|
|
17
|
+
export declare function getTalonHome(): string;
|
|
18
|
+
/** Get the package root (where package.json, prompts/, configs/ live). */
|
|
19
|
+
export declare function getPackageRoot(): string;
|
|
20
|
+
/** Create ~/.talon/ directory structure if it doesn't exist. */
|
|
21
|
+
export declare function ensureHome(): void;
|
|
22
|
+
/**
|
|
23
|
+
* Detect whether CWD is a Talon source checkout (has docker-compose.yml + talon script).
|
|
24
|
+
* Used to adapt CLI messaging: `./talon` vs `talon`.
|
|
25
|
+
*/
|
|
26
|
+
export declare function isProjectMode(): boolean;
|
|
27
|
+
/** Command prefix for user-facing messages. */
|
|
28
|
+
export declare function commandPrefix(): string;
|
|
29
|
+
/** Resolve .env path: CWD → ~/.talon/ */
|
|
30
|
+
export declare function resolveEnvPath(): string;
|
|
31
|
+
/** Resolve repos directory: CWD/repos → ~/.talon/repos */
|
|
32
|
+
export declare function resolveReposDir(): string;
|
|
33
|
+
/** Resolve a specific repo by name. Returns absolute path or null if not found. */
|
|
34
|
+
export declare function resolveRepo(name: string): string | null;
|
|
35
|
+
/** Resolve configs directory: CWD/configs → ~/.talon/configs → package configs */
|
|
36
|
+
export declare function resolveConfigsDir(): string;
|
|
37
|
+
/** Resolve prompts directory: CWD/prompts → package prompts (always read-only). */
|
|
38
|
+
export declare function resolvePromptsDir(): string;
|
|
39
|
+
/** Resolve audit-logs directory: CWD/audit-logs → ~/.talon/audit-logs */
|
|
40
|
+
export declare function resolveAuditLogsDir(): string;
|
|
41
|
+
/** Resolve credentials directory: CWD/credentials → ~/.talon/credentials */
|
|
42
|
+
export declare function resolveCredentialsDir(): string;
|
|
43
|
+
/** Aggregate all resolved paths. */
|
|
44
|
+
export declare function resolvePaths(): TalonPaths;
|
|
45
|
+
/** List repos from both CWD and ~/.talon/, deduplicated by name (CWD wins). */
|
|
46
|
+
export declare function listRepos(): RepoEntry[];
|
|
47
|
+
//# sourceMappingURL=talon-home.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"talon-home.d.ts","sourceRoot":"","sources":["../../src/cli/talon-home.ts"],"names":[],"mappings":"AAmBA,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;CAC9B;AAED,MAAM,WAAW,SAAS;IACxB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,MAAM,EAAE,OAAO,GAAG,MAAM,CAAC;CACnC;AAID,gEAAgE;AAChE,wBAAgB,YAAY,IAAI,MAAM,CAIrC;AAED,0EAA0E;AAC1E,wBAAgB,cAAc,IAAI,MAAM,CAIvC;AAED,gEAAgE;AAChE,wBAAgB,UAAU,IAAI,IAAI,CAajC;AAED;;;GAGG;AACH,wBAAgB,aAAa,IAAI,OAAO,CAKvC;AAED,+CAA+C;AAC/C,wBAAgB,aAAa,IAAI,MAAM,CAEtC;AAID,yCAAyC;AACzC,wBAAgB,cAAc,IAAI,MAAM,CAKvC;AAED,0DAA0D;AAC1D,wBAAgB,eAAe,IAAI,MAAM,CAKxC;AAED,mFAAmF;AACnF,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAUvD;AAED,kFAAkF;AAClF,wBAAgB,iBAAiB,IAAI,MAAM,CAQ1C;AAED,mFAAmF;AACnF,wBAAgB,iBAAiB,IAAI,MAAM,CAK1C;AAED,yEAAyE;AACzE,wBAAgB,mBAAmB,IAAI,MAAM,CAK5C;AAED,4EAA4E;AAC5E,wBAAgB,qBAAqB,IAAI,MAAM,CAK9C;AAED,oCAAoC;AACpC,wBAAgB,YAAY,IAAI,UAAU,CAWzC;AAED,+EAA+E;AAC/E,wBAAgB,SAAS,IAAI,SAAS,EAAE,CAwBvC"}
|
|
@@ -0,0 +1,167 @@
|
|
|
1
|
+
// Copyright (C) 2025 PhenixStar (Alaa Qweider)
|
|
2
|
+
//
|
|
3
|
+
// This program is free software: you can redistribute it and/or modify
|
|
4
|
+
// it under the terms of the GNU Affero General Public License version 3
|
|
5
|
+
// as published by the Free Software Foundation.
|
|
6
|
+
/**
|
|
7
|
+
* Talon Home Directory — path resolution for ~/.talon/.
|
|
8
|
+
*
|
|
9
|
+
* Layered resolution: CLI flag → CWD-local → ~/.talon/ → package defaults.
|
|
10
|
+
* Source-checkout users see no change (CWD-local wins). npm-global users
|
|
11
|
+
* get ~/.talon/ as persistent home.
|
|
12
|
+
*/
|
|
13
|
+
import fs from 'node:fs';
|
|
14
|
+
import path from 'node:path';
|
|
15
|
+
import os from 'node:os';
|
|
16
|
+
import { fileURLToPath } from 'node:url';
|
|
17
|
+
const HOME_SUBDIRS = ['repos', 'configs', 'skills', 'audit-logs', 'credentials'];
|
|
18
|
+
/** Resolve ~/.talon/ path. Respects TALON_HOME env override. */
|
|
19
|
+
export function getTalonHome() {
|
|
20
|
+
const envOverride = process.env['TALON_HOME'];
|
|
21
|
+
if (envOverride && envOverride.trim().length > 0)
|
|
22
|
+
return envOverride.trim();
|
|
23
|
+
return path.join(os.homedir(), '.talon');
|
|
24
|
+
}
|
|
25
|
+
/** Get the package root (where package.json, prompts/, configs/ live). */
|
|
26
|
+
export function getPackageRoot() {
|
|
27
|
+
const thisFile = fileURLToPath(import.meta.url);
|
|
28
|
+
// Compiled: dist/cli/talon-home.js → ../../
|
|
29
|
+
return path.resolve(path.dirname(thisFile), '..', '..');
|
|
30
|
+
}
|
|
31
|
+
/** Create ~/.talon/ directory structure if it doesn't exist. */
|
|
32
|
+
export function ensureHome() {
|
|
33
|
+
const home = getTalonHome();
|
|
34
|
+
if (!fs.existsSync(home)) {
|
|
35
|
+
fs.mkdirSync(home, { recursive: true, mode: 0o700 });
|
|
36
|
+
}
|
|
37
|
+
for (const sub of HOME_SUBDIRS) {
|
|
38
|
+
const dirPath = path.join(home, sub);
|
|
39
|
+
if (!fs.existsSync(dirPath)) {
|
|
40
|
+
fs.mkdirSync(dirPath, { recursive: true, mode: 0o700 });
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
/**
|
|
45
|
+
* Detect whether CWD is a Talon source checkout (has docker-compose.yml + talon script).
|
|
46
|
+
* Used to adapt CLI messaging: `./talon` vs `talon`.
|
|
47
|
+
*/
|
|
48
|
+
export function isProjectMode() {
|
|
49
|
+
const cwd = process.cwd();
|
|
50
|
+
return fs.existsSync(path.join(cwd, 'docker-compose.yml'))
|
|
51
|
+
&& fs.existsSync(path.join(cwd, 'talon'))
|
|
52
|
+
&& fs.existsSync(path.join(cwd, 'src'));
|
|
53
|
+
}
|
|
54
|
+
/** Command prefix for user-facing messages. */
|
|
55
|
+
export function commandPrefix() {
|
|
56
|
+
return isProjectMode() ? './talon' : 'talon';
|
|
57
|
+
}
|
|
58
|
+
// === Resource Resolvers ===
|
|
59
|
+
/** Resolve .env path: CWD → ~/.talon/ */
|
|
60
|
+
export function resolveEnvPath() {
|
|
61
|
+
const cwdEnv = path.join(process.cwd(), '.env');
|
|
62
|
+
if (fs.existsSync(cwdEnv))
|
|
63
|
+
return cwdEnv;
|
|
64
|
+
return path.join(getTalonHome(), '.env');
|
|
65
|
+
}
|
|
66
|
+
/** Resolve repos directory: CWD/repos → ~/.talon/repos */
|
|
67
|
+
export function resolveReposDir() {
|
|
68
|
+
const cwdRepos = path.join(process.cwd(), 'repos');
|
|
69
|
+
if (fs.existsSync(cwdRepos))
|
|
70
|
+
return cwdRepos;
|
|
71
|
+
return path.join(getTalonHome(), 'repos');
|
|
72
|
+
}
|
|
73
|
+
/** Resolve a specific repo by name. Returns absolute path or null if not found. */
|
|
74
|
+
export function resolveRepo(name) {
|
|
75
|
+
if (name.includes('..') || path.isAbsolute(name))
|
|
76
|
+
return null;
|
|
77
|
+
const cwdRepo = path.join(process.cwd(), 'repos', name);
|
|
78
|
+
if (fs.existsSync(cwdRepo))
|
|
79
|
+
return cwdRepo;
|
|
80
|
+
const homeRepo = path.join(getTalonHome(), 'repos', name);
|
|
81
|
+
if (fs.existsSync(homeRepo))
|
|
82
|
+
return homeRepo;
|
|
83
|
+
return null;
|
|
84
|
+
}
|
|
85
|
+
/** Resolve configs directory: CWD/configs → ~/.talon/configs → package configs */
|
|
86
|
+
export function resolveConfigsDir() {
|
|
87
|
+
const cwdConfigs = path.join(process.cwd(), 'configs');
|
|
88
|
+
if (fs.existsSync(cwdConfigs))
|
|
89
|
+
return cwdConfigs;
|
|
90
|
+
const homeConfigs = path.join(getTalonHome(), 'configs');
|
|
91
|
+
if (fs.existsSync(homeConfigs) && fs.readdirSync(homeConfigs).length > 0)
|
|
92
|
+
return homeConfigs;
|
|
93
|
+
return path.join(getPackageRoot(), 'configs');
|
|
94
|
+
}
|
|
95
|
+
/** Resolve prompts directory: CWD/prompts → package prompts (always read-only). */
|
|
96
|
+
export function resolvePromptsDir() {
|
|
97
|
+
const cwdPrompts = path.join(process.cwd(), 'prompts');
|
|
98
|
+
if (fs.existsSync(cwdPrompts))
|
|
99
|
+
return cwdPrompts;
|
|
100
|
+
return path.join(getPackageRoot(), 'prompts');
|
|
101
|
+
}
|
|
102
|
+
/** Resolve audit-logs directory: CWD/audit-logs → ~/.talon/audit-logs */
|
|
103
|
+
export function resolveAuditLogsDir() {
|
|
104
|
+
const cwdAudit = path.join(process.cwd(), 'audit-logs');
|
|
105
|
+
if (fs.existsSync(cwdAudit))
|
|
106
|
+
return cwdAudit;
|
|
107
|
+
return path.join(getTalonHome(), 'audit-logs');
|
|
108
|
+
}
|
|
109
|
+
/** Resolve credentials directory: CWD/credentials → ~/.talon/credentials */
|
|
110
|
+
export function resolveCredentialsDir() {
|
|
111
|
+
const cwdCreds = path.join(process.cwd(), 'credentials');
|
|
112
|
+
if (fs.existsSync(cwdCreds))
|
|
113
|
+
return cwdCreds;
|
|
114
|
+
return path.join(getTalonHome(), 'credentials');
|
|
115
|
+
}
|
|
116
|
+
/** Aggregate all resolved paths. */
|
|
117
|
+
export function resolvePaths() {
|
|
118
|
+
return {
|
|
119
|
+
home: getTalonHome(),
|
|
120
|
+
env: resolveEnvPath(),
|
|
121
|
+
repos: resolveReposDir(),
|
|
122
|
+
configs: resolveConfigsDir(),
|
|
123
|
+
prompts: resolvePromptsDir(),
|
|
124
|
+
skills: path.join(getTalonHome(), 'skills'),
|
|
125
|
+
auditLogs: resolveAuditLogsDir(),
|
|
126
|
+
credentials: resolveCredentialsDir(),
|
|
127
|
+
};
|
|
128
|
+
}
|
|
129
|
+
/** List repos from both CWD and ~/.talon/, deduplicated by name (CWD wins). */
|
|
130
|
+
export function listRepos() {
|
|
131
|
+
const repos = [];
|
|
132
|
+
const seen = new Set();
|
|
133
|
+
// CWD repos first (higher priority)
|
|
134
|
+
const cwdRepos = path.join(process.cwd(), 'repos');
|
|
135
|
+
if (fs.existsSync(cwdRepos)) {
|
|
136
|
+
for (const entry of readDirs(cwdRepos)) {
|
|
137
|
+
repos.push({ name: entry, path: path.join(cwdRepos, entry), source: 'local' });
|
|
138
|
+
seen.add(entry);
|
|
139
|
+
}
|
|
140
|
+
}
|
|
141
|
+
// Home repos (lower priority, skip duplicates)
|
|
142
|
+
const homeRepos = path.join(getTalonHome(), 'repos');
|
|
143
|
+
if (fs.existsSync(homeRepos)) {
|
|
144
|
+
for (const entry of readDirs(homeRepos)) {
|
|
145
|
+
if (!seen.has(entry)) {
|
|
146
|
+
repos.push({ name: entry, path: path.join(homeRepos, entry), source: 'home' });
|
|
147
|
+
}
|
|
148
|
+
}
|
|
149
|
+
}
|
|
150
|
+
return repos;
|
|
151
|
+
}
|
|
152
|
+
function readDirs(dirPath) {
|
|
153
|
+
try {
|
|
154
|
+
return fs.readdirSync(dirPath).filter(e => {
|
|
155
|
+
try {
|
|
156
|
+
return fs.statSync(path.join(dirPath, e)).isDirectory();
|
|
157
|
+
}
|
|
158
|
+
catch {
|
|
159
|
+
return false;
|
|
160
|
+
}
|
|
161
|
+
});
|
|
162
|
+
}
|
|
163
|
+
catch {
|
|
164
|
+
return [];
|
|
165
|
+
}
|
|
166
|
+
}
|
|
167
|
+
//# sourceMappingURL=talon-home.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"talon-home.js","sourceRoot":"","sources":["../../src/cli/talon-home.ts"],"names":[],"mappings":"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"}
|
package/docker-compose.yml
CHANGED
|
@@ -41,12 +41,12 @@ services:
|
|
|
41
41
|
temporal:
|
|
42
42
|
condition: service_healthy
|
|
43
43
|
volumes:
|
|
44
|
-
-
|
|
45
|
-
-
|
|
46
|
-
-
|
|
44
|
+
- ${TALON_CONFIGS_DIR:-./configs}:/app/configs
|
|
45
|
+
- ${TALON_PROMPTS_DIR:-./prompts}:/app/prompts
|
|
46
|
+
- ${TALON_AUDIT_DIR:-./audit-logs}:/app/audit-logs
|
|
47
47
|
- ${OUTPUT_DIR:-./audit-logs}:/app/output
|
|
48
|
-
-
|
|
49
|
-
-
|
|
48
|
+
- ${TALON_CREDENTIALS_DIR:-./credentials}:/app/credentials:ro
|
|
49
|
+
- ${TALON_REPOS_DIR:-./repos}:/repos
|
|
50
50
|
- ${BENCHMARKS_BASE:-.}:/benchmarks
|
|
51
51
|
read_only: true
|
|
52
52
|
tmpfs:
|
|
@@ -72,7 +72,7 @@ services:
|
|
|
72
72
|
ports:
|
|
73
73
|
- "127.0.0.1:3456:3456"
|
|
74
74
|
volumes:
|
|
75
|
-
-
|
|
75
|
+
- ${TALON_CONFIGS_DIR:-./configs}/router-config.json:/config/router-config.json:ro
|
|
76
76
|
environment:
|
|
77
77
|
- HOST=0.0.0.0
|
|
78
78
|
- ANTHROPIC_API_KEY=${ANTHROPIC_API_KEY:-}
|
package/package.json
CHANGED
package/talon
CHANGED
|
@@ -20,13 +20,45 @@ else
|
|
|
20
20
|
fi
|
|
21
21
|
COMPOSE_FILE="$COMPOSE_BASE"
|
|
22
22
|
|
|
23
|
-
#
|
|
23
|
+
# Talon home directory
|
|
24
|
+
TALON_HOME="${TALON_HOME:-$HOME/.talon}"
|
|
25
|
+
|
|
26
|
+
# Load .env — check CWD first, then ~/.talon/
|
|
24
27
|
if [ -f .env ]; then
|
|
25
28
|
set -a
|
|
26
29
|
source .env
|
|
27
30
|
set +a
|
|
31
|
+
elif [ -f "$TALON_HOME/.env" ]; then
|
|
32
|
+
set -a
|
|
33
|
+
source "$TALON_HOME/.env"
|
|
34
|
+
set +a
|
|
28
35
|
fi
|
|
29
36
|
|
|
37
|
+
# Resolve host paths for Docker volume mounts.
|
|
38
|
+
# CWD-local takes priority over ~/.talon/ (project mode vs global mode).
|
|
39
|
+
resolve_talon_paths() {
|
|
40
|
+
if [ -d "./configs" ]; then TALON_CONFIGS_DIR="$(pwd)/configs"
|
|
41
|
+
elif [ -d "$TALON_HOME/configs" ]; then TALON_CONFIGS_DIR="$TALON_HOME/configs"
|
|
42
|
+
else TALON_CONFIGS_DIR="$(pwd)/configs"; fi
|
|
43
|
+
|
|
44
|
+
if [ -d "./prompts" ]; then TALON_PROMPTS_DIR="$(pwd)/prompts"
|
|
45
|
+
else TALON_PROMPTS_DIR="$(cd "$(dirname "$0")" && pwd)/prompts"; fi
|
|
46
|
+
|
|
47
|
+
if [ -d "./audit-logs" ]; then TALON_AUDIT_DIR="$(pwd)/audit-logs"
|
|
48
|
+
elif [ -d "$TALON_HOME/audit-logs" ]; then TALON_AUDIT_DIR="$TALON_HOME/audit-logs"
|
|
49
|
+
else TALON_AUDIT_DIR="$TALON_HOME/audit-logs"; fi
|
|
50
|
+
|
|
51
|
+
if [ -d "./credentials" ]; then TALON_CREDENTIALS_DIR="$(pwd)/credentials"
|
|
52
|
+
elif [ -d "$TALON_HOME/credentials" ]; then TALON_CREDENTIALS_DIR="$TALON_HOME/credentials"
|
|
53
|
+
else TALON_CREDENTIALS_DIR="$TALON_HOME/credentials"; fi
|
|
54
|
+
|
|
55
|
+
if [ -d "./repos" ]; then TALON_REPOS_DIR="$(pwd)/repos"
|
|
56
|
+
elif [ -d "$TALON_HOME/repos" ]; then TALON_REPOS_DIR="$TALON_HOME/repos"
|
|
57
|
+
else TALON_REPOS_DIR="$(pwd)/repos"; fi
|
|
58
|
+
|
|
59
|
+
export TALON_CONFIGS_DIR TALON_PROMPTS_DIR TALON_AUDIT_DIR TALON_CREDENTIALS_DIR TALON_REPOS_DIR
|
|
60
|
+
}
|
|
61
|
+
|
|
30
62
|
show_help() {
|
|
31
63
|
cat << 'EOF'
|
|
32
64
|
|
|
@@ -145,6 +177,9 @@ cmd_start() {
|
|
|
145
177
|
exit 1
|
|
146
178
|
fi
|
|
147
179
|
|
|
180
|
+
# Resolve all host paths for Docker mounts
|
|
181
|
+
resolve_talon_paths
|
|
182
|
+
|
|
148
183
|
# Check for API key (Bedrock and router modes can bypass this)
|
|
149
184
|
if [ -z "$ANTHROPIC_API_KEY" ] && [ -z "$CLAUDE_CODE_OAUTH_TOKEN" ]; then
|
|
150
185
|
if [ "$CLAUDE_CODE_USE_BEDROCK" = "1" ]; then
|
|
@@ -197,16 +232,19 @@ cmd_start() {
|
|
|
197
232
|
|
|
198
233
|
# Determine container path for REPO
|
|
199
234
|
# - If REPO is already a container path (/benchmarks/*, /repos/*), use as-is
|
|
200
|
-
# - Otherwise,
|
|
235
|
+
# - Otherwise, check resolved repos dir (CWD/repos/ then ~/.talon/repos/)
|
|
201
236
|
case "$REPO" in
|
|
202
237
|
/benchmarks/*|/repos/*)
|
|
203
238
|
CONTAINER_REPO="$REPO"
|
|
204
239
|
;;
|
|
205
240
|
*)
|
|
206
|
-
if [ ! -d "
|
|
207
|
-
echo "ERROR: Repository not found
|
|
241
|
+
if [ ! -d "$TALON_REPOS_DIR/$REPO" ]; then
|
|
242
|
+
echo "ERROR: Repository not found"
|
|
243
|
+
echo " Checked: ./repos/$REPO"
|
|
244
|
+
echo " Checked: $TALON_HOME/repos/$REPO"
|
|
208
245
|
echo ""
|
|
209
|
-
echo "
|
|
246
|
+
echo "Add a repo: talon repo add <git-url>"
|
|
247
|
+
echo "Or clone: git clone <url> $TALON_REPOS_DIR/$REPO"
|
|
210
248
|
exit 1
|
|
211
249
|
fi
|
|
212
250
|
CONTAINER_REPO="/repos/$REPO"
|
|
@@ -234,16 +272,21 @@ cmd_start() {
|
|
|
234
272
|
export ANTHROPIC_AUTH_TOKEN="$TALON_ROUTER_KEY"
|
|
235
273
|
fi
|
|
236
274
|
|
|
237
|
-
# Ensure
|
|
238
|
-
mkdir -p
|
|
239
|
-
chmod 777
|
|
275
|
+
# Ensure directories exist with write permissions for container user (UID 1001)
|
|
276
|
+
mkdir -p "$TALON_AUDIT_DIR" "$TALON_CREDENTIALS_DIR"
|
|
277
|
+
chmod 777 "$TALON_AUDIT_DIR" # 777 required: container UID 1001 differs from host UID
|
|
240
278
|
|
|
241
279
|
# Ensure repo deliverables directory is writable by container user (UID 1001)
|
|
242
|
-
if [ -d "
|
|
243
|
-
mkdir -p "
|
|
244
|
-
chmod 777 "
|
|
280
|
+
if [ -d "$TALON_REPOS_DIR/$REPO" ]; then
|
|
281
|
+
mkdir -p "$TALON_REPOS_DIR/$REPO/deliverables"
|
|
282
|
+
chmod 777 "$TALON_REPOS_DIR/$REPO/deliverables" # 777 required: container UID 1001 differs from host UID
|
|
245
283
|
fi
|
|
246
284
|
|
|
285
|
+
# Log resolved paths
|
|
286
|
+
echo "Repos: $TALON_REPOS_DIR"
|
|
287
|
+
echo "Configs: $TALON_CONFIGS_DIR"
|
|
288
|
+
echo "Audit logs: $TALON_AUDIT_DIR"
|
|
289
|
+
|
|
247
290
|
# Start router BEFORE main containers so worker can reach it on boot
|
|
248
291
|
if [ "$ROUTER" = "true" ]; then
|
|
249
292
|
if [ -z "$OPENAI_API_KEY" ] && [ -z "$OPENROUTER_API_KEY" ]; then
|
|
@@ -409,6 +452,18 @@ cmd_doctor() {
|
|
|
409
452
|
node dist/cli/doctor.js "$@"
|
|
410
453
|
}
|
|
411
454
|
|
|
455
|
+
cmd_repo() {
|
|
456
|
+
if ! command -v node &>/dev/null; then
|
|
457
|
+
echo "Node.js is required. Install: https://nodejs.org/en/download"
|
|
458
|
+
exit 1
|
|
459
|
+
fi
|
|
460
|
+
if [ ! -f "dist/cli/repo-commands.js" ]; then
|
|
461
|
+
echo "Building Talon..."
|
|
462
|
+
npm install --silent && npm run build
|
|
463
|
+
fi
|
|
464
|
+
node dist/cli/repo-commands.js "$@"
|
|
465
|
+
}
|
|
466
|
+
|
|
412
467
|
cmd_stop() {
|
|
413
468
|
parse_args "$@"
|
|
414
469
|
|
|
@@ -429,6 +484,10 @@ case "${1:-help}" in
|
|
|
429
484
|
shift
|
|
430
485
|
cmd_doctor "$@"
|
|
431
486
|
;;
|
|
487
|
+
repo)
|
|
488
|
+
shift
|
|
489
|
+
cmd_repo "$@"
|
|
490
|
+
;;
|
|
432
491
|
start)
|
|
433
492
|
shift
|
|
434
493
|
cmd_start "$@"
|