@phenixstar/talon 1.0.0
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/.env.example +72 -0
- package/Dockerfile +161 -0
- package/Dockerfile.router +16 -0
- package/LICENSE +661 -0
- package/README.md +709 -0
- package/bin/talon.js +96 -0
- package/bin/talon.mjs +96 -0
- package/configs/config-schema.json +160 -0
- package/configs/example-config.yaml +50 -0
- package/configs/mcp-allowlist.json +47 -0
- package/configs/model-routing.yaml +39 -0
- package/configs/router-config.json +73 -0
- package/configs/talon-seccomp.json +89 -0
- package/dist/cli/dependency-checker.d.ts +25 -0
- package/dist/cli/dependency-checker.d.ts.map +1 -0
- package/dist/cli/dependency-checker.js +165 -0
- package/dist/cli/dependency-checker.js.map +1 -0
- package/dist/cli/doctor.d.ts +2 -0
- package/dist/cli/doctor.d.ts.map +1 -0
- package/dist/cli/doctor.js +127 -0
- package/dist/cli/doctor.js.map +1 -0
- package/dist/cli/env-configurator.d.ts +27 -0
- package/dist/cli/env-configurator.d.ts.map +1 -0
- package/dist/cli/env-configurator.js +115 -0
- package/dist/cli/env-configurator.js.map +1 -0
- package/dist/cli/setup-renderer.d.ts +23 -0
- package/dist/cli/setup-renderer.d.ts.map +1 -0
- package/dist/cli/setup-renderer.js +71 -0
- package/dist/cli/setup-renderer.js.map +1 -0
- package/dist/cli/setup.d.ts +2 -0
- package/dist/cli/setup.d.ts.map +1 -0
- package/dist/cli/setup.js +302 -0
- package/dist/cli/setup.js.map +1 -0
- package/dist/types/activity-logger.d.ts +10 -0
- package/dist/types/activity-logger.d.ts.map +1 -0
- package/dist/types/activity-logger.js +7 -0
- package/dist/types/activity-logger.js.map +1 -0
- package/dist/types/agents.d.ts +39 -0
- package/dist/types/agents.d.ts.map +1 -0
- package/dist/types/agents.js +28 -0
- package/dist/types/agents.js.map +1 -0
- package/dist/types/audit.d.ts +28 -0
- package/dist/types/audit.d.ts.map +1 -0
- package/dist/types/audit.js +7 -0
- package/dist/types/audit.js.map +1 -0
- package/dist/types/backtesting.d.ts +45 -0
- package/dist/types/backtesting.d.ts.map +1 -0
- package/dist/types/backtesting.js +3 -0
- package/dist/types/backtesting.js.map +1 -0
- package/dist/types/config.d.ts +48 -0
- package/dist/types/config.d.ts.map +1 -0
- package/dist/types/config.js +7 -0
- package/dist/types/config.js.map +1 -0
- package/dist/types/errors.d.ts +55 -0
- package/dist/types/errors.d.ts.map +1 -0
- package/dist/types/errors.js +41 -0
- package/dist/types/errors.js.map +1 -0
- package/dist/types/evolution.d.ts +36 -0
- package/dist/types/evolution.d.ts.map +1 -0
- package/dist/types/evolution.js +14 -0
- package/dist/types/evolution.js.map +1 -0
- package/dist/types/index.d.ts +11 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/index.js +16 -0
- package/dist/types/index.js.map +1 -0
- package/dist/types/metrics.d.ts +13 -0
- package/dist/types/metrics.d.ts.map +1 -0
- package/dist/types/metrics.js +7 -0
- package/dist/types/metrics.js.map +1 -0
- package/dist/types/resilience.d.ts +30 -0
- package/dist/types/resilience.d.ts.map +1 -0
- package/dist/types/resilience.js +7 -0
- package/dist/types/resilience.js.map +1 -0
- package/dist/types/result.d.ts +42 -0
- package/dist/types/result.d.ts.map +1 -0
- package/dist/types/result.js +30 -0
- package/dist/types/result.js.map +1 -0
- package/docker-compose.yml +91 -0
- package/package.json +75 -0
- package/prompts/exploit-auth.txt +423 -0
- package/prompts/exploit-authz.txt +425 -0
- package/prompts/exploit-injection.txt +452 -0
- package/prompts/exploit-ssrf.txt +502 -0
- package/prompts/exploit-xss.txt +442 -0
- package/prompts/pipeline-testing/exploit-auth.txt +31 -0
- package/prompts/pipeline-testing/exploit-authz.txt +31 -0
- package/prompts/pipeline-testing/exploit-injection.txt +31 -0
- package/prompts/pipeline-testing/exploit-ssrf.txt +31 -0
- package/prompts/pipeline-testing/exploit-xss.txt +31 -0
- package/prompts/pipeline-testing/pre-recon-code.txt +1 -0
- package/prompts/pipeline-testing/recon.txt +1 -0
- package/prompts/pipeline-testing/report-executive.txt +1 -0
- package/prompts/pipeline-testing/vuln-auth.txt +13 -0
- package/prompts/pipeline-testing/vuln-authz.txt +13 -0
- package/prompts/pipeline-testing/vuln-injection.txt +13 -0
- package/prompts/pipeline-testing/vuln-ssrf.txt +13 -0
- package/prompts/pipeline-testing/vuln-xss.txt +13 -0
- package/prompts/pre-recon-code.txt +403 -0
- package/prompts/recon.txt +382 -0
- package/prompts/report-executive.txt +126 -0
- package/prompts/shared/_exploit-scope.txt +14 -0
- package/prompts/shared/_rules.txt +2 -0
- package/prompts/shared/_target.txt +1 -0
- package/prompts/shared/_vuln-scope.txt +1 -0
- package/prompts/shared/login-instructions.txt +82 -0
- package/prompts/vuln-auth.txt +268 -0
- package/prompts/vuln-authz.txt +373 -0
- package/prompts/vuln-injection.txt +380 -0
- package/prompts/vuln-ssrf.txt +315 -0
- package/prompts/vuln-xss.txt +304 -0
- package/talon +459 -0
- package/talon.ps1 +348 -0
|
@@ -0,0 +1,302 @@
|
|
|
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 Interactive Setup Wizard
|
|
8
|
+
*
|
|
9
|
+
* Guides users through dependency checking, auth configuration,
|
|
10
|
+
* and .env generation. Invoked via `./talon setup`.
|
|
11
|
+
*/
|
|
12
|
+
import { select, input, password, confirm, checkbox } from '@inquirer/prompts';
|
|
13
|
+
import chalk from 'chalk';
|
|
14
|
+
import { showBanner, showSummary, showSuccess, showError, showDependencyTable, } from './setup-renderer.js';
|
|
15
|
+
import { readEnvFile, mergeEnv, backupEnvFile, writeEnvFile, validateEnv, } from './env-configurator.js';
|
|
16
|
+
import { checkAllDependencies, detectRunMode, isDockerRunning, checkDiskSpaceGb, } from './dependency-checker.js';
|
|
17
|
+
const ENV_PATH = '.env';
|
|
18
|
+
// === Auth Mode Prompts ===
|
|
19
|
+
async function promptApiKey() {
|
|
20
|
+
const key = await password({
|
|
21
|
+
message: 'Anthropic API Key (sk-ant-...):',
|
|
22
|
+
mask: '*',
|
|
23
|
+
validate: (v) => {
|
|
24
|
+
if (!v || v.trim().length === 0)
|
|
25
|
+
return 'API key is required';
|
|
26
|
+
return true;
|
|
27
|
+
},
|
|
28
|
+
});
|
|
29
|
+
return [{ key: 'ANTHROPIC_API_KEY', value: key }];
|
|
30
|
+
}
|
|
31
|
+
async function promptOAuth() {
|
|
32
|
+
const token = await password({
|
|
33
|
+
message: 'Claude Code OAuth Token (sk-ant-oat01-...):',
|
|
34
|
+
mask: '*',
|
|
35
|
+
validate: (v) => {
|
|
36
|
+
if (!v || v.trim().length === 0)
|
|
37
|
+
return 'OAuth token is required';
|
|
38
|
+
return true;
|
|
39
|
+
},
|
|
40
|
+
});
|
|
41
|
+
return [{ key: 'CLAUDE_CODE_OAUTH_TOKEN', value: token }];
|
|
42
|
+
}
|
|
43
|
+
async function promptBedrock() {
|
|
44
|
+
const region = await input({ message: 'AWS Region (e.g. us-east-1):' });
|
|
45
|
+
const bearerToken = await password({ message: 'AWS Bearer Token:', mask: '*' });
|
|
46
|
+
const small = await input({ message: 'Small model ID:', default: 'us.anthropic.claude-haiku-4-5-20251001-v1:0' });
|
|
47
|
+
const medium = await input({ message: 'Medium model ID:', default: 'us.anthropic.claude-sonnet-4-6-20250514-v1:0' });
|
|
48
|
+
const large = await input({ message: 'Large model ID:', default: 'us.anthropic.claude-opus-4-6-20250610-v1:0' });
|
|
49
|
+
return [
|
|
50
|
+
{ key: 'CLAUDE_CODE_USE_BEDROCK', value: '1' },
|
|
51
|
+
{ key: 'AWS_REGION', value: region },
|
|
52
|
+
{ key: 'AWS_BEARER_TOKEN_BEDROCK', value: bearerToken },
|
|
53
|
+
{ key: 'ANTHROPIC_SMALL_MODEL', value: small },
|
|
54
|
+
{ key: 'ANTHROPIC_MEDIUM_MODEL', value: medium },
|
|
55
|
+
{ key: 'ANTHROPIC_LARGE_MODEL', value: large },
|
|
56
|
+
];
|
|
57
|
+
}
|
|
58
|
+
async function promptVertex() {
|
|
59
|
+
const region = await input({ message: 'Cloud ML Region (e.g. us-central1):' });
|
|
60
|
+
const projectId = await input({ message: 'Vertex Project ID:' });
|
|
61
|
+
const credPath = await input({
|
|
62
|
+
message: 'Service account key path (place in ./credentials/):',
|
|
63
|
+
default: './credentials/gcp-sa-key.json',
|
|
64
|
+
});
|
|
65
|
+
const small = await input({ message: 'Small model ID:', default: 'claude-haiku-4-5-20251001' });
|
|
66
|
+
const medium = await input({ message: 'Medium model ID:', default: 'claude-sonnet-4-6-20250514' });
|
|
67
|
+
const large = await input({ message: 'Large model ID:', default: 'claude-opus-4-6-20250610' });
|
|
68
|
+
return [
|
|
69
|
+
{ key: 'CLAUDE_CODE_USE_VERTEX', value: '1' },
|
|
70
|
+
{ key: 'CLOUD_ML_REGION', value: region },
|
|
71
|
+
{ key: 'ANTHROPIC_VERTEX_PROJECT_ID', value: projectId },
|
|
72
|
+
{ key: 'GOOGLE_APPLICATION_CREDENTIALS', value: credPath },
|
|
73
|
+
{ key: 'ANTHROPIC_SMALL_MODEL', value: small },
|
|
74
|
+
{ key: 'ANTHROPIC_MEDIUM_MODEL', value: medium },
|
|
75
|
+
{ key: 'ANTHROPIC_LARGE_MODEL', value: large },
|
|
76
|
+
];
|
|
77
|
+
}
|
|
78
|
+
const ROUTER_PROVIDERS = [
|
|
79
|
+
{ name: 'OpenRouter', value: 'OPENROUTER_API_KEY' },
|
|
80
|
+
{ name: 'OpenAI', value: 'OPENAI_API_KEY' },
|
|
81
|
+
{ name: 'Groq', value: 'GROQ_API_KEY' },
|
|
82
|
+
{ name: 'xAI (Grok)', value: 'XAI_API_KEY' },
|
|
83
|
+
{ name: 'Kimi (Moonshot)', value: 'KIMI_API_KEY' },
|
|
84
|
+
{ name: 'MiniMax', value: 'MINIMAX_HIGHSPEED_API_KEY' },
|
|
85
|
+
{ name: 'Z-AI (GLM)', value: 'ZAI_CODING_PLAN_API_KEY' },
|
|
86
|
+
];
|
|
87
|
+
async function promptRouter() {
|
|
88
|
+
const entries = [{ key: 'ROUTER', value: 'true' }];
|
|
89
|
+
// Check if user also has an Anthropic key (recommended for best results)
|
|
90
|
+
const hasAnthropic = await confirm({
|
|
91
|
+
message: 'Do you also have an Anthropic API key? (recommended for best results)',
|
|
92
|
+
default: true,
|
|
93
|
+
});
|
|
94
|
+
if (hasAnthropic) {
|
|
95
|
+
const key = await password({ message: 'Anthropic API Key:', mask: '*' });
|
|
96
|
+
entries.push({ key: 'ANTHROPIC_API_KEY', value: key });
|
|
97
|
+
}
|
|
98
|
+
else {
|
|
99
|
+
entries.push({ key: 'ANTHROPIC_API_KEY', value: 'router-mode' });
|
|
100
|
+
}
|
|
101
|
+
// Select which providers to configure
|
|
102
|
+
const selected = await checkbox({
|
|
103
|
+
message: 'Select additional LLM providers to configure:',
|
|
104
|
+
choices: ROUTER_PROVIDERS.map(p => ({ name: p.name, value: p.value })),
|
|
105
|
+
required: true,
|
|
106
|
+
});
|
|
107
|
+
// Capture API key for each selected provider
|
|
108
|
+
for (const envKey of selected) {
|
|
109
|
+
const provider = ROUTER_PROVIDERS.find(p => p.value === envKey);
|
|
110
|
+
const key = await password({
|
|
111
|
+
message: `${provider?.name ?? envKey} API Key:`,
|
|
112
|
+
mask: '*',
|
|
113
|
+
});
|
|
114
|
+
entries.push({ key: envKey, value: key });
|
|
115
|
+
}
|
|
116
|
+
return entries;
|
|
117
|
+
}
|
|
118
|
+
// === Main Wizard ===
|
|
119
|
+
async function main() {
|
|
120
|
+
showBanner();
|
|
121
|
+
// 1. Check existing .env
|
|
122
|
+
const existingEnv = readEnvFile(ENV_PATH);
|
|
123
|
+
if (existingEnv.size > 0) {
|
|
124
|
+
const action = await select({
|
|
125
|
+
message: `Found existing .env with ${existingEnv.size} values. What would you like to do?`,
|
|
126
|
+
choices: [
|
|
127
|
+
{ name: 'Reconfigure (merge — keeps existing values not overwritten)', value: 'merge' },
|
|
128
|
+
{ name: 'Start fresh (backup existing, create new)', value: 'fresh' },
|
|
129
|
+
{ name: 'Cancel', value: 'cancel' },
|
|
130
|
+
],
|
|
131
|
+
});
|
|
132
|
+
if (action === 'cancel') {
|
|
133
|
+
console.log(chalk.dim(' Setup cancelled.\n'));
|
|
134
|
+
return;
|
|
135
|
+
}
|
|
136
|
+
if (action === 'fresh') {
|
|
137
|
+
existingEnv.clear();
|
|
138
|
+
}
|
|
139
|
+
}
|
|
140
|
+
// 2. Dependency check + run mode
|
|
141
|
+
const recommended = detectRunMode();
|
|
142
|
+
const runMode = await select({
|
|
143
|
+
message: 'How will you run Talon?',
|
|
144
|
+
choices: [
|
|
145
|
+
{
|
|
146
|
+
name: `Docker (recommended${recommended === 'docker' ? ' — Docker detected' : ''})`,
|
|
147
|
+
value: 'docker',
|
|
148
|
+
},
|
|
149
|
+
{
|
|
150
|
+
name: 'Bare metal (Node.js direct, no Docker)',
|
|
151
|
+
value: 'bare-metal',
|
|
152
|
+
},
|
|
153
|
+
],
|
|
154
|
+
default: recommended,
|
|
155
|
+
});
|
|
156
|
+
const deps = checkAllDependencies(runMode);
|
|
157
|
+
showDependencyTable(deps);
|
|
158
|
+
const missingRequired = deps.filter(d => d.required && (!d.installed || !d.versionOk));
|
|
159
|
+
if (missingRequired.length > 0) {
|
|
160
|
+
console.log(chalk.yellow(' Missing required dependencies:\n'));
|
|
161
|
+
for (const dep of missingRequired) {
|
|
162
|
+
console.log(chalk.yellow(` ${dep.name}: ${dep.installHint}`));
|
|
163
|
+
}
|
|
164
|
+
console.log();
|
|
165
|
+
const proceed = await confirm({
|
|
166
|
+
message: 'Continue setup anyway? (you can install them later)',
|
|
167
|
+
default: false,
|
|
168
|
+
});
|
|
169
|
+
if (!proceed) {
|
|
170
|
+
showError('Install missing dependencies and run ./talon setup again.');
|
|
171
|
+
process.exit(1);
|
|
172
|
+
}
|
|
173
|
+
}
|
|
174
|
+
// Docker daemon check
|
|
175
|
+
if (runMode === 'docker') {
|
|
176
|
+
const dockerDep = deps.find(d => d.name === 'Docker');
|
|
177
|
+
if (dockerDep?.installed && !isDockerRunning()) {
|
|
178
|
+
console.log(chalk.yellow(' ⚠ Docker is installed but the daemon is not running.'));
|
|
179
|
+
console.log(chalk.dim(' Start it with: sudo systemctl start docker'));
|
|
180
|
+
console.log();
|
|
181
|
+
}
|
|
182
|
+
}
|
|
183
|
+
// Disk space check
|
|
184
|
+
const diskGb = checkDiskSpaceGb();
|
|
185
|
+
if (diskGb !== null && diskGb < 10) {
|
|
186
|
+
console.log(chalk.yellow(` ⚠ Low disk space: ${diskGb}GB available (10GB recommended)\n`));
|
|
187
|
+
}
|
|
188
|
+
// 3. Auth mode
|
|
189
|
+
const authMode = await select({
|
|
190
|
+
message: 'How do you want to authenticate with Claude?',
|
|
191
|
+
choices: [
|
|
192
|
+
{ name: 'Anthropic API Key (recommended)', value: 'api-key' },
|
|
193
|
+
{ name: 'Claude Code OAuth Token (Max plan)', value: 'oauth' },
|
|
194
|
+
{ name: 'AWS Bedrock', value: 'bedrock' },
|
|
195
|
+
{ name: 'Google Vertex AI', value: 'vertex' },
|
|
196
|
+
{ name: 'Multi-LLM Router (multiple providers)', value: 'router' },
|
|
197
|
+
],
|
|
198
|
+
});
|
|
199
|
+
// 4. Collect credentials
|
|
200
|
+
let newEntries;
|
|
201
|
+
switch (authMode) {
|
|
202
|
+
case 'api-key':
|
|
203
|
+
newEntries = await promptApiKey();
|
|
204
|
+
break;
|
|
205
|
+
case 'oauth':
|
|
206
|
+
newEntries = await promptOAuth();
|
|
207
|
+
break;
|
|
208
|
+
case 'bedrock':
|
|
209
|
+
newEntries = await promptBedrock();
|
|
210
|
+
break;
|
|
211
|
+
case 'vertex':
|
|
212
|
+
newEntries = await promptVertex();
|
|
213
|
+
break;
|
|
214
|
+
case 'router':
|
|
215
|
+
newEntries = await promptRouter();
|
|
216
|
+
break;
|
|
217
|
+
}
|
|
218
|
+
// 5. Optional settings
|
|
219
|
+
const configureOptional = await confirm({
|
|
220
|
+
message: 'Configure optional settings? (output dir, model routing, testing mode)',
|
|
221
|
+
default: false,
|
|
222
|
+
});
|
|
223
|
+
if (configureOptional) {
|
|
224
|
+
const pipelineTesting = await confirm({
|
|
225
|
+
message: 'Enable pipeline testing mode? (minimal prompts, fast retries — for dev/CI)',
|
|
226
|
+
default: false,
|
|
227
|
+
});
|
|
228
|
+
if (pipelineTesting) {
|
|
229
|
+
newEntries.push({ key: 'PIPELINE_TESTING', value: 'true' });
|
|
230
|
+
}
|
|
231
|
+
const customTokens = await confirm({
|
|
232
|
+
message: 'Set custom max output tokens? (default: 64000)',
|
|
233
|
+
default: false,
|
|
234
|
+
});
|
|
235
|
+
if (customTokens) {
|
|
236
|
+
const tokens = await input({ message: 'Max output tokens:', default: '64000' });
|
|
237
|
+
newEntries.push({ key: 'CLAUDE_CODE_MAX_OUTPUT_TOKENS', value: tokens });
|
|
238
|
+
}
|
|
239
|
+
const customTurns = await confirm({
|
|
240
|
+
message: 'Set custom max agent turns? (default: 500)',
|
|
241
|
+
default: false,
|
|
242
|
+
});
|
|
243
|
+
if (customTurns) {
|
|
244
|
+
const turns = await input({ message: 'Max turns per agent:', default: '500' });
|
|
245
|
+
newEntries.push({ key: 'TALON_MAX_TURNS', value: turns });
|
|
246
|
+
}
|
|
247
|
+
}
|
|
248
|
+
// 6. Summary
|
|
249
|
+
const merged = mergeEnv(existingEnv, newEntries);
|
|
250
|
+
const sensitiveKeys = new Set([
|
|
251
|
+
'ANTHROPIC_API_KEY', 'CLAUDE_CODE_OAUTH_TOKEN', 'AWS_BEARER_TOKEN_BEDROCK',
|
|
252
|
+
'OPENAI_API_KEY', 'OPENROUTER_API_KEY', 'GROQ_API_KEY', 'XAI_API_KEY',
|
|
253
|
+
'KIMI_API_KEY', 'MINIMAX_HIGHSPEED_API_KEY', 'ZAI_CODING_PLAN_API_KEY',
|
|
254
|
+
'TALON_ROUTER_KEY',
|
|
255
|
+
]);
|
|
256
|
+
const authModeLabels = {
|
|
257
|
+
'api-key': 'Anthropic API Key',
|
|
258
|
+
'oauth': 'Claude Code OAuth',
|
|
259
|
+
'bedrock': 'AWS Bedrock',
|
|
260
|
+
'vertex': 'Google Vertex AI',
|
|
261
|
+
'router': 'Multi-LLM Router',
|
|
262
|
+
};
|
|
263
|
+
const summaryConfig = {
|
|
264
|
+
authMode: authModeLabels[authMode],
|
|
265
|
+
envPath: ENV_PATH,
|
|
266
|
+
runMode: runMode === 'docker' ? 'Docker' : 'Bare Metal',
|
|
267
|
+
values: newEntries.map(({ key, value }) => ({
|
|
268
|
+
key,
|
|
269
|
+
value,
|
|
270
|
+
masked: sensitiveKeys.has(key),
|
|
271
|
+
})),
|
|
272
|
+
};
|
|
273
|
+
showSummary(summaryConfig);
|
|
274
|
+
const proceed = await confirm({ message: 'Save this configuration?', default: true });
|
|
275
|
+
if (!proceed) {
|
|
276
|
+
console.log(chalk.dim(' Setup cancelled.\n'));
|
|
277
|
+
return;
|
|
278
|
+
}
|
|
279
|
+
// 7. Validate
|
|
280
|
+
const missing = validateEnv(merged, authMode);
|
|
281
|
+
if (missing.length > 0) {
|
|
282
|
+
showError(`Missing required values: ${missing.join(', ')}`);
|
|
283
|
+
process.exit(1);
|
|
284
|
+
}
|
|
285
|
+
// 8. Write
|
|
286
|
+
const backupPath = backupEnvFile(ENV_PATH);
|
|
287
|
+
if (backupPath) {
|
|
288
|
+
console.log(chalk.dim(` Backed up existing .env to ${backupPath}`));
|
|
289
|
+
}
|
|
290
|
+
writeEnvFile(ENV_PATH, merged);
|
|
291
|
+
showSuccess(ENV_PATH);
|
|
292
|
+
}
|
|
293
|
+
main().catch((error) => {
|
|
294
|
+
// Handle Ctrl+C gracefully
|
|
295
|
+
if (error instanceof Error && error.message.includes('User force closed')) {
|
|
296
|
+
console.log(chalk.dim('\n Setup cancelled.\n'));
|
|
297
|
+
process.exit(0);
|
|
298
|
+
}
|
|
299
|
+
showError(error instanceof Error ? error.message : String(error));
|
|
300
|
+
process.exit(1);
|
|
301
|
+
});
|
|
302
|
+
//# sourceMappingURL=setup.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"setup.js","sourceRoot":"","sources":["../../src/cli/setup.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Logger interface for services called from Temporal activities.
|
|
3
|
+
* Keeps services Temporal-agnostic while providing structured logging.
|
|
4
|
+
*/
|
|
5
|
+
export interface ActivityLogger {
|
|
6
|
+
info(message: string, attrs?: Record<string, unknown>): void;
|
|
7
|
+
warn(message: string, attrs?: Record<string, unknown>): void;
|
|
8
|
+
error(message: string, attrs?: Record<string, unknown>): void;
|
|
9
|
+
}
|
|
10
|
+
//# sourceMappingURL=activity-logger.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"activity-logger.d.ts","sourceRoot":"","sources":["../../src/types/activity-logger.ts"],"names":[],"mappings":"AAMA;;;GAGG;AACH,MAAM,WAAW,cAAc;IAC7B,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;IAC7D,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;IAC7D,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;CAC/D"}
|
|
@@ -0,0 +1,7 @@
|
|
|
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
|
+
export {};
|
|
7
|
+
//# sourceMappingURL=activity-logger.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"activity-logger.js","sourceRoot":"","sources":["../../src/types/activity-logger.ts"],"names":[],"mappings":"AAAA,+CAA+C;AAC/C,EAAE;AACF,uEAAuE;AACvE,wEAAwE;AACxE,gDAAgD"}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Agent type definitions
|
|
3
|
+
*/
|
|
4
|
+
/**
|
|
5
|
+
* List of all agents in execution order.
|
|
6
|
+
* Used for iteration during resume state checking.
|
|
7
|
+
*/
|
|
8
|
+
export declare const ALL_AGENTS: readonly ["pre-recon", "recon", "injection-vuln", "xss-vuln", "auth-vuln", "ssrf-vuln", "authz-vuln", "injection-exploit", "xss-exploit", "auth-exploit", "ssrf-exploit", "authz-exploit", "report"];
|
|
9
|
+
/**
|
|
10
|
+
* Agent name type derived from ALL_AGENTS.
|
|
11
|
+
* This ensures type safety and prevents drift between type and array.
|
|
12
|
+
*/
|
|
13
|
+
export type AgentName = typeof ALL_AGENTS[number];
|
|
14
|
+
export type PlaywrightAgent = 'playwright-agent1' | 'playwright-agent2' | 'playwright-agent3' | 'playwright-agent4' | 'playwright-agent5';
|
|
15
|
+
import type { ActivityLogger } from './activity-logger.js';
|
|
16
|
+
export type AgentValidator = (sourceDir: string, logger: ActivityLogger) => Promise<boolean>;
|
|
17
|
+
export type AgentStatus = 'pending' | 'in_progress' | 'completed' | 'failed' | 'rolled-back';
|
|
18
|
+
export interface AgentDefinition {
|
|
19
|
+
name: AgentName;
|
|
20
|
+
displayName: string;
|
|
21
|
+
prerequisites: AgentName[];
|
|
22
|
+
promptTemplate: string;
|
|
23
|
+
deliverableFilename: string;
|
|
24
|
+
modelTier?: 'small' | 'medium' | 'large';
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* Vulnerability types supported by the pipeline.
|
|
28
|
+
*/
|
|
29
|
+
export type VulnType = 'injection' | 'xss' | 'auth' | 'ssrf' | 'authz';
|
|
30
|
+
/**
|
|
31
|
+
* Decision returned by queue validation for exploitation phase.
|
|
32
|
+
*/
|
|
33
|
+
export interface ExploitationDecision {
|
|
34
|
+
shouldExploit: boolean;
|
|
35
|
+
shouldRetry: boolean;
|
|
36
|
+
vulnerabilityCount: number;
|
|
37
|
+
vulnType: VulnType;
|
|
38
|
+
}
|
|
39
|
+
//# sourceMappingURL=agents.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"agents.d.ts","sourceRoot":"","sources":["../../src/types/agents.ts"],"names":[],"mappings":"AAMA;;GAEG;AAEH;;;GAGG;AACH,eAAO,MAAM,UAAU,sMAcb,CAAC;AAEX;;;GAGG;AACH,MAAM,MAAM,SAAS,GAAG,OAAO,UAAU,CAAC,MAAM,CAAC,CAAC;AAElD,MAAM,MAAM,eAAe,GACvB,mBAAmB,GACnB,mBAAmB,GACnB,mBAAmB,GACnB,mBAAmB,GACnB,mBAAmB,CAAC;AAExB,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAE3D,MAAM,MAAM,cAAc,GAAG,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,cAAc,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;AAE7F,MAAM,MAAM,WAAW,GACnB,SAAS,GACT,aAAa,GACb,WAAW,GACX,QAAQ,GACR,aAAa,CAAC;AAElB,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,SAAS,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,aAAa,EAAE,SAAS,EAAE,CAAC;IAC3B,cAAc,EAAE,MAAM,CAAC;IACvB,mBAAmB,EAAE,MAAM,CAAC;IAC5B,SAAS,CAAC,EAAE,OAAO,GAAG,QAAQ,GAAG,OAAO,CAAC;CAC1C;AAED;;GAEG;AACH,MAAM,MAAM,QAAQ,GAAG,WAAW,GAAG,KAAK,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC;AAEvE;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,aAAa,EAAE,OAAO,CAAC;IACvB,WAAW,EAAE,OAAO,CAAC;IACrB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,QAAQ,EAAE,QAAQ,CAAC;CACpB"}
|
|
@@ -0,0 +1,28 @@
|
|
|
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
|
+
* Agent type definitions
|
|
8
|
+
*/
|
|
9
|
+
/**
|
|
10
|
+
* List of all agents in execution order.
|
|
11
|
+
* Used for iteration during resume state checking.
|
|
12
|
+
*/
|
|
13
|
+
export const ALL_AGENTS = [
|
|
14
|
+
'pre-recon',
|
|
15
|
+
'recon',
|
|
16
|
+
'injection-vuln',
|
|
17
|
+
'xss-vuln',
|
|
18
|
+
'auth-vuln',
|
|
19
|
+
'ssrf-vuln',
|
|
20
|
+
'authz-vuln',
|
|
21
|
+
'injection-exploit',
|
|
22
|
+
'xss-exploit',
|
|
23
|
+
'auth-exploit',
|
|
24
|
+
'ssrf-exploit',
|
|
25
|
+
'authz-exploit',
|
|
26
|
+
'report',
|
|
27
|
+
];
|
|
28
|
+
//# sourceMappingURL=agents.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"agents.js","sourceRoot":"","sources":["../../src/types/agents.ts"],"names":[],"mappings":"AAAA,+CAA+C;AAC/C,EAAE;AACF,uEAAuE;AACvE,wEAAwE;AACxE,gDAAgD;AAEhD;;GAEG;AAEH;;;GAGG;AACH,MAAM,CAAC,MAAM,UAAU,GAAG;IACxB,WAAW;IACX,OAAO;IACP,gBAAgB;IAChB,UAAU;IACV,WAAW;IACX,WAAW;IACX,YAAY;IACZ,mBAAmB;IACnB,aAAa;IACb,cAAc;IACd,cAAc;IACd,eAAe;IACf,QAAQ;CACA,CAAC"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Audit system type definitions
|
|
3
|
+
*/
|
|
4
|
+
/**
|
|
5
|
+
* Cross-cutting session metadata used by services, temporal, and audit.
|
|
6
|
+
*/
|
|
7
|
+
export interface SessionMetadata {
|
|
8
|
+
id: string;
|
|
9
|
+
webUrl: string;
|
|
10
|
+
repoPath?: string;
|
|
11
|
+
outputPath?: string;
|
|
12
|
+
[key: string]: unknown;
|
|
13
|
+
}
|
|
14
|
+
/**
|
|
15
|
+
* Result data passed to audit system when an agent execution ends.
|
|
16
|
+
* Used by both AuditSession and MetricsTracker.
|
|
17
|
+
*/
|
|
18
|
+
export interface AgentEndResult {
|
|
19
|
+
attemptNumber: number;
|
|
20
|
+
duration_ms: number;
|
|
21
|
+
cost_usd: number;
|
|
22
|
+
success: boolean;
|
|
23
|
+
model?: string | undefined;
|
|
24
|
+
error?: string | undefined;
|
|
25
|
+
checkpoint?: string | undefined;
|
|
26
|
+
isFinalAttempt?: boolean | undefined;
|
|
27
|
+
}
|
|
28
|
+
//# sourceMappingURL=audit.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"audit.d.ts","sourceRoot":"","sources":["../../src/types/audit.ts"],"names":[],"mappings":"AAMA;;GAEG;AAEH;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED;;;GAGG;AACH,MAAM,WAAW,cAAc;IAC7B,aAAa,EAAE,MAAM,CAAC;IACtB,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3B,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3B,UAAU,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAChC,cAAc,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;CACtC"}
|
|
@@ -0,0 +1,7 @@
|
|
|
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
|
+
export {};
|
|
7
|
+
//# sourceMappingURL=audit.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"audit.js","sourceRoot":"","sources":["../../src/types/audit.ts"],"names":[],"mappings":"AAAA,+CAA+C;AAC/C,EAAE;AACF,uEAAuE;AACvE,wEAAwE;AACxE,gDAAgD"}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
/** Types for the backtesting subsystem. */
|
|
2
|
+
export interface Finding {
|
|
3
|
+
id: string;
|
|
4
|
+
cwe: string;
|
|
5
|
+
endpoint: string;
|
|
6
|
+
severity: 'critical' | 'high' | 'medium' | 'low' | 'info';
|
|
7
|
+
confidence: number;
|
|
8
|
+
description: string;
|
|
9
|
+
}
|
|
10
|
+
export interface GroundTruth {
|
|
11
|
+
testCaseId: string;
|
|
12
|
+
cwe: string;
|
|
13
|
+
endpoint: string;
|
|
14
|
+
isVulnerable: boolean;
|
|
15
|
+
}
|
|
16
|
+
export interface MetricsResult {
|
|
17
|
+
truePositives: number;
|
|
18
|
+
falsePositives: number;
|
|
19
|
+
falseNegatives: number;
|
|
20
|
+
trueNegatives: number;
|
|
21
|
+
precision: number;
|
|
22
|
+
recall: number;
|
|
23
|
+
f1Score: number;
|
|
24
|
+
specificity: number;
|
|
25
|
+
}
|
|
26
|
+
export interface CategoryMetrics {
|
|
27
|
+
category: string;
|
|
28
|
+
metrics: MetricsResult;
|
|
29
|
+
findings: number;
|
|
30
|
+
}
|
|
31
|
+
export interface BenchmarkRun {
|
|
32
|
+
runId: string;
|
|
33
|
+
timestamp: number;
|
|
34
|
+
target: string;
|
|
35
|
+
overallMetrics: MetricsResult;
|
|
36
|
+
categoryBreakdown: CategoryMetrics[];
|
|
37
|
+
duration_ms: number;
|
|
38
|
+
}
|
|
39
|
+
export interface RegressionAlert {
|
|
40
|
+
category: string;
|
|
41
|
+
previousF1: number;
|
|
42
|
+
currentF1: number;
|
|
43
|
+
delta: number;
|
|
44
|
+
}
|
|
45
|
+
//# sourceMappingURL=backtesting.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"backtesting.d.ts","sourceRoot":"","sources":["../../src/types/backtesting.ts"],"names":[],"mappings":"AAAA,2CAA2C;AAE3C,MAAM,WAAW,OAAO;IACtB,EAAE,EAAE,MAAM,CAAC;IACX,GAAG,EAAE,MAAM,CAAC;IACZ,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,UAAU,GAAG,MAAM,GAAG,QAAQ,GAAG,KAAK,GAAG,MAAM,CAAC;IAC1D,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,WAAW;IAC1B,UAAU,EAAE,MAAM,CAAC;IACnB,GAAG,EAAE,MAAM,CAAC;IACZ,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,OAAO,CAAC;CACvB;AAED,MAAM,WAAW,aAAa;IAC5B,aAAa,EAAE,MAAM,CAAC;IACtB,cAAc,EAAE,MAAM,CAAC;IACvB,cAAc,EAAE,MAAM,CAAC;IACvB,aAAa,EAAE,MAAM,CAAC;IACtB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,eAAe;IAC9B,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,aAAa,CAAC;IACvB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,cAAc,EAAE,aAAa,CAAC;IAC9B,iBAAiB,EAAE,eAAe,EAAE,CAAC;IACrC,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,eAAe;IAC9B,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;CACf"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"backtesting.js","sourceRoot":"","sources":["../../src/types/backtesting.ts"],"names":[],"mappings":"AAAA,2CAA2C"}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Configuration type definitions
|
|
3
|
+
*/
|
|
4
|
+
export type RuleType = 'path' | 'subdomain' | 'domain' | 'method' | 'header' | 'parameter';
|
|
5
|
+
export interface Rule {
|
|
6
|
+
description: string;
|
|
7
|
+
type: RuleType;
|
|
8
|
+
url_path: string;
|
|
9
|
+
}
|
|
10
|
+
export interface Rules {
|
|
11
|
+
avoid?: Rule[];
|
|
12
|
+
focus?: Rule[];
|
|
13
|
+
}
|
|
14
|
+
export type LoginType = 'form' | 'sso' | 'api' | 'basic';
|
|
15
|
+
export interface SuccessCondition {
|
|
16
|
+
type: 'url' | 'cookie' | 'element' | 'redirect';
|
|
17
|
+
value: string;
|
|
18
|
+
}
|
|
19
|
+
export interface Credentials {
|
|
20
|
+
username: string;
|
|
21
|
+
password: string;
|
|
22
|
+
totp_secret?: string;
|
|
23
|
+
}
|
|
24
|
+
export interface Authentication {
|
|
25
|
+
login_type: LoginType;
|
|
26
|
+
login_url: string;
|
|
27
|
+
credentials: Credentials;
|
|
28
|
+
login_flow: string[];
|
|
29
|
+
success_condition: SuccessCondition;
|
|
30
|
+
}
|
|
31
|
+
export interface Config {
|
|
32
|
+
rules?: Rules;
|
|
33
|
+
authentication?: Authentication;
|
|
34
|
+
pipeline?: PipelineConfig;
|
|
35
|
+
}
|
|
36
|
+
export type RetryPreset = 'default' | 'subscription';
|
|
37
|
+
export interface PipelineConfig {
|
|
38
|
+
retry_preset?: RetryPreset;
|
|
39
|
+
max_concurrent_pipelines?: number;
|
|
40
|
+
/** Enable V2 phases (zero-day analysis, evolution cycle). Defaults to true. */
|
|
41
|
+
v2Features?: boolean;
|
|
42
|
+
}
|
|
43
|
+
export interface DistributedConfig {
|
|
44
|
+
avoid: Rule[];
|
|
45
|
+
focus: Rule[];
|
|
46
|
+
authentication: Authentication | null;
|
|
47
|
+
}
|
|
48
|
+
//# sourceMappingURL=config.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/types/config.ts"],"names":[],"mappings":"AAMA;;GAEG;AAEH,MAAM,MAAM,QAAQ,GAChB,MAAM,GACN,WAAW,GACX,QAAQ,GACR,QAAQ,GACR,QAAQ,GACR,WAAW,CAAC;AAEhB,MAAM,WAAW,IAAI;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE,QAAQ,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,KAAK;IACpB,KAAK,CAAC,EAAE,IAAI,EAAE,CAAC;IACf,KAAK,CAAC,EAAE,IAAI,EAAE,CAAC;CAChB;AAED,MAAM,MAAM,SAAS,GAAG,MAAM,GAAG,KAAK,GAAG,KAAK,GAAG,OAAO,CAAC;AAEzD,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,KAAK,GAAG,QAAQ,GAAG,SAAS,GAAG,UAAU,CAAC;IAChD,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,WAAW;IAC1B,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,cAAc;IAC7B,UAAU,EAAE,SAAS,CAAC;IACtB,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,WAAW,CAAC;IACzB,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,iBAAiB,EAAE,gBAAgB,CAAC;CACrC;AAED,MAAM,WAAW,MAAM;IACrB,KAAK,CAAC,EAAE,KAAK,CAAC;IACd,cAAc,CAAC,EAAE,cAAc,CAAC;IAChC,QAAQ,CAAC,EAAE,cAAc,CAAC;CAC3B;AAED,MAAM,MAAM,WAAW,GAAG,SAAS,GAAG,cAAc,CAAC;AAErD,MAAM,WAAW,cAAc;IAC7B,YAAY,CAAC,EAAE,WAAW,CAAC;IAC3B,wBAAwB,CAAC,EAAE,MAAM,CAAC;IAClC,+EAA+E;IAC/E,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AAED,MAAM,WAAW,iBAAiB;IAChC,KAAK,EAAE,IAAI,EAAE,CAAC;IACd,KAAK,EAAE,IAAI,EAAE,CAAC;IACd,cAAc,EAAE,cAAc,GAAG,IAAI,CAAC;CACvC"}
|
|
@@ -0,0 +1,7 @@
|
|
|
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
|
+
export {};
|
|
7
|
+
//# sourceMappingURL=config.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/types/config.ts"],"names":[],"mappings":"AAAA,+CAA+C;AAC/C,EAAE;AACF,uEAAuE;AACvE,wEAAwE;AACxE,gDAAgD"}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Error type definitions
|
|
3
|
+
*/
|
|
4
|
+
/**
|
|
5
|
+
* Specific error codes for reliable classification.
|
|
6
|
+
*
|
|
7
|
+
* ErrorCode provides precision within the coarse 8-category PentestErrorType.
|
|
8
|
+
* Used by classifyErrorForTemporal for code-based classification (preferred)
|
|
9
|
+
* with string matching as fallback for external errors.
|
|
10
|
+
*/
|
|
11
|
+
export declare enum ErrorCode {
|
|
12
|
+
CONFIG_NOT_FOUND = "CONFIG_NOT_FOUND",
|
|
13
|
+
CONFIG_VALIDATION_FAILED = "CONFIG_VALIDATION_FAILED",
|
|
14
|
+
CONFIG_PARSE_ERROR = "CONFIG_PARSE_ERROR",
|
|
15
|
+
AGENT_EXECUTION_FAILED = "AGENT_EXECUTION_FAILED",
|
|
16
|
+
OUTPUT_VALIDATION_FAILED = "OUTPUT_VALIDATION_FAILED",
|
|
17
|
+
API_RATE_LIMITED = "API_RATE_LIMITED",
|
|
18
|
+
SPENDING_CAP_REACHED = "SPENDING_CAP_REACHED",
|
|
19
|
+
INSUFFICIENT_CREDITS = "INSUFFICIENT_CREDITS",
|
|
20
|
+
GIT_CHECKPOINT_FAILED = "GIT_CHECKPOINT_FAILED",
|
|
21
|
+
GIT_ROLLBACK_FAILED = "GIT_ROLLBACK_FAILED",
|
|
22
|
+
PROMPT_LOAD_FAILED = "PROMPT_LOAD_FAILED",
|
|
23
|
+
DELIVERABLE_NOT_FOUND = "DELIVERABLE_NOT_FOUND",
|
|
24
|
+
REPO_NOT_FOUND = "REPO_NOT_FOUND",
|
|
25
|
+
AUTH_FAILED = "AUTH_FAILED",
|
|
26
|
+
BILLING_ERROR = "BILLING_ERROR"
|
|
27
|
+
}
|
|
28
|
+
export type PentestErrorType = 'config' | 'network' | 'tool' | 'prompt' | 'filesystem' | 'validation' | 'billing' | 'unknown';
|
|
29
|
+
export interface PentestErrorContext {
|
|
30
|
+
[key: string]: unknown;
|
|
31
|
+
}
|
|
32
|
+
export interface LogEntry {
|
|
33
|
+
timestamp: string;
|
|
34
|
+
context: string;
|
|
35
|
+
error: {
|
|
36
|
+
name: string;
|
|
37
|
+
message: string;
|
|
38
|
+
type: PentestErrorType;
|
|
39
|
+
retryable: boolean;
|
|
40
|
+
stack?: string;
|
|
41
|
+
};
|
|
42
|
+
}
|
|
43
|
+
export interface ToolErrorResult {
|
|
44
|
+
tool: string;
|
|
45
|
+
output: string;
|
|
46
|
+
status: 'error';
|
|
47
|
+
duration: number;
|
|
48
|
+
success: false;
|
|
49
|
+
error: Error;
|
|
50
|
+
}
|
|
51
|
+
export interface PromptErrorResult {
|
|
52
|
+
success: false;
|
|
53
|
+
error: Error;
|
|
54
|
+
}
|
|
55
|
+
//# sourceMappingURL=errors.d.ts.map
|