@keygraph/shannon 1.0.0-beta.1

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.
@@ -0,0 +1,50 @@
1
+ networks:
2
+ default:
3
+ name: shannon-net
4
+
5
+ services:
6
+ temporal:
7
+ image: temporalio/temporal:latest
8
+ container_name: shannon-temporal
9
+ command: ["server", "start-dev", "--db-filename", "/home/temporal/temporal.db", "--ip", "0.0.0.0"]
10
+ ports:
11
+ - "127.0.0.1:7233:7233"
12
+ - "127.0.0.1:8233:8233"
13
+ volumes:
14
+ - temporal-data:/home/temporal
15
+ healthcheck:
16
+ test: ["CMD", "temporal", "operator", "cluster", "health", "--address", "localhost:7233"]
17
+ interval: 10s
18
+ timeout: 5s
19
+ retries: 10
20
+ start_period: 30s
21
+
22
+ router:
23
+ image: node:20-slim
24
+ container_name: shannon-router
25
+ profiles: ["router"]
26
+ command: >
27
+ sh -c "apt-get update && apt-get install -y gettext-base &&
28
+ npm install -g @musistudio/claude-code-router &&
29
+ mkdir -p /root/.claude-code-router &&
30
+ envsubst < /config/router-config.json > /root/.claude-code-router/config.json &&
31
+ ccr start"
32
+ ports:
33
+ - "127.0.0.1:3456:3456"
34
+ volumes:
35
+ - ./router-config.json:/config/router-config.json:ro
36
+ environment:
37
+ - HOST=0.0.0.0
38
+ - ANTHROPIC_API_KEY=${ANTHROPIC_API_KEY:-}
39
+ - OPENAI_API_KEY=${OPENAI_API_KEY:-}
40
+ - OPENROUTER_API_KEY=${OPENROUTER_API_KEY:-}
41
+ - ROUTER_DEFAULT=${ROUTER_DEFAULT:-openai,gpt-4o}
42
+ healthcheck:
43
+ test: ["CMD", "node", "-e", "require('http').get('http://localhost:3456/health', r => process.exit(r.statusCode === 200 ? 0 : 1)).on('error', () => process.exit(1))"]
44
+ interval: 10s
45
+ timeout: 5s
46
+ retries: 5
47
+ start_period: 30s
48
+
49
+ volumes:
50
+ temporal-data:
@@ -0,0 +1,31 @@
1
+ {
2
+ "HOST": "0.0.0.0",
3
+ "APIKEY": "shannon-router-key",
4
+ "LOG": true,
5
+ "LOG_LEVEL": "info",
6
+ "NON_INTERACTIVE_MODE": true,
7
+ "API_TIMEOUT_MS": 600000,
8
+ "Providers": [
9
+ {
10
+ "name": "openai",
11
+ "api_base_url": "https://api.openai.com/v1/chat/completions",
12
+ "api_key": "$OPENAI_API_KEY",
13
+ "models": ["gpt-5.2", "gpt-5-mini"],
14
+ "transformer": {
15
+ "use": [["maxcompletiontokens", { "max_completion_tokens": 16384 }]]
16
+ }
17
+ },
18
+ {
19
+ "name": "openrouter",
20
+ "api_base_url": "https://openrouter.ai/api/v1/chat/completions",
21
+ "api_key": "$OPENROUTER_API_KEY",
22
+ "models": ["google/gemini-3-flash-preview"],
23
+ "transformer": {
24
+ "use": ["openrouter"]
25
+ }
26
+ }
27
+ ],
28
+ "Router": {
29
+ "default": "$ROUTER_DEFAULT"
30
+ }
31
+ }
package/package.json ADDED
@@ -0,0 +1,50 @@
1
+ {
2
+ "name": "@keygraph/shannon",
3
+ "version": "1.0.0-beta.1",
4
+ "description": "Shannon - Autonomous white-box AI pentester for web applications and APIs by Keygraph",
5
+ "type": "module",
6
+ "main": "dist/index.mjs",
7
+ "bin": {
8
+ "shannon": "dist/index.mjs"
9
+ },
10
+ "files": [
11
+ "dist",
12
+ "infra"
13
+ ],
14
+ "dependencies": {
15
+ "@clack/prompts": "^1.1.0",
16
+ "chokidar": "^5.0.0",
17
+ "dotenv": "^17.3.1",
18
+ "smol-toml": "^1.6.0"
19
+ },
20
+ "keywords": [
21
+ "security",
22
+ "pentest",
23
+ "penetration-testing",
24
+ "vulnerability-assessment",
25
+ "ai",
26
+ "white-box",
27
+ "owasp",
28
+ "exploitation",
29
+ "appsec",
30
+ "keygraph"
31
+ ],
32
+ "author": "",
33
+ "license": "AGPL-3.0-only",
34
+ "repository": {
35
+ "type": "git",
36
+ "url": "git+https://github.com/KeygraphHQ/shannon.git",
37
+ "directory": "apps/cli"
38
+ },
39
+ "engines": {
40
+ "node": ">=18"
41
+ },
42
+ "devDependencies": {
43
+ "tsdown": "^0.21.2"
44
+ },
45
+ "scripts": {
46
+ "build": "tsdown",
47
+ "check": "tsc --noEmit",
48
+ "clean": "rm -rf dist"
49
+ }
50
+ }