aegiscode 3.0.8

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,47 @@
1
+ #!/usr/bin/env node
2
+ "use strict";
3
+ const { spawn } = require("child_process");
4
+ const path = require("path");
5
+ const fs = require("fs");
6
+
7
+ // Resolve the external aegiscode-gui project — sibling directory by convention,
8
+ // fall back to ~/.local/share/aegiscode-gui for installed builds.
9
+ function findGuiDir() {
10
+ const candidates = [
11
+ path.join(__dirname, "..", "..", "aegiscode-gui"), // dev: sibling
12
+ path.join(__dirname, "..", "..", "..", "aegiscode-gui"), // dev: when installed as dep
13
+ path.join(require("os").homedir(), ".local", "share", "aegiscode-gui"),
14
+ "/opt/aegiscode-gui",
15
+ ];
16
+ // Also check $HOME/aegiscode-gui (common dev setup) and AEGIS_CODE_GUI env var
17
+ const envDir = process.env.AEGIS_CODE_GUI_DIR || process.env.AEGIS_CODE_GUI;
18
+ if (envDir) candidates.unshift(envDir);
19
+ candidates.push(path.join(require("os").homedir(), "aegiscode-gui"));
20
+
21
+ for (const dir of candidates) {
22
+ const p = path.join(dir, "run-gui.cjs");
23
+ if (fs.existsSync(p)) return dir;
24
+ }
25
+ // Check if we're running inside the aegiscode-gui project itself
26
+ const self = path.resolve(__dirname);
27
+ if (fs.existsSync(path.join(self, "..", "main.js"))) return path.resolve(self, "..");
28
+ return null;
29
+ }
30
+
31
+ const guiDir = findGuiDir();
32
+ if (!guiDir) {
33
+ console.error("aegiscode-gui not found. Clone it alongside aegiscode:\n git clone https://github.com/aegisinfo/aegiscode-gui.git");
34
+ process.exit(1);
35
+ }
36
+
37
+ const electron = path.join(guiDir, "node_modules", ".bin", "electron");
38
+ if (!fs.existsSync(electron)) {
39
+ console.error("Electron not found in aegiscode-gui. Run:\n cd " + guiDir + " && npm install");
40
+ process.exit(1);
41
+ }
42
+
43
+ spawn(electron, ["."], {
44
+ cwd: guiDir,
45
+ stdio: "inherit",
46
+ env: { ...process.env, ELECTRON_IS_DEV: "1" },
47
+ }).on("exit", (code) => process.exit(code ?? 0));
package/package.json ADDED
@@ -0,0 +1,100 @@
1
+ {
2
+ "name": "aegiscode",
3
+ "version": "3.0.8",
4
+ "description": "A CLI Coding Agent inspired by Claude Code - An AI-powered coding assistant that can read, write, and execute code",
5
+ "type": "module",
6
+ "main": "dist/main.js",
7
+ "bin": {
8
+ "aegis": "./dist/main.js",
9
+ "aegis-cli": "./dist/main.js",
10
+ "aegis-gui": "./gui/run-gui.cjs"
11
+ },
12
+ "scripts": {
13
+ "dev": "NODE_NO_WARNINGS=1 tsx src/main.tsx",
14
+ "build": "node esbuild.mjs",
15
+ "publish:release": "node esbuild.mjs --publish",
16
+ "obfuscate:agent-sdk": "node scripts/obfuscate-dist-agent.mjs",
17
+ "start": "node --no-deprecation dist/main.js",
18
+ "typecheck": "tsc --noEmit",
19
+ "test:prompts": "tsx src/prompts/test.ts",
20
+ "test:tools": "tsx src/tools/test.ts",
21
+ "test:pipeline": "tsx src/tools/execution/test.ts",
22
+ "test:context": "tsx src/context/test.ts",
23
+ "test:mcp": "tsx src/mcp/test.ts",
24
+ "test:store": "tsx src/store/test.ts",
25
+ "gui": "node ./gui/run-gui.cjs",
26
+ "prepublishOnly": "node esbuild.mjs --publish && node scripts/obfuscate-dist-agent.mjs"
27
+ },
28
+ "keywords": [
29
+ "cli",
30
+ "ai",
31
+ "coding-agent",
32
+ "llm",
33
+ "openai",
34
+ "gpt",
35
+ "claude",
36
+ "copilot",
37
+ "assistant",
38
+ "terminal",
39
+ "developer-tools"
40
+ ],
41
+ "author": "Niklas Borneklint",
42
+ "license": "MIT",
43
+ "repository": {
44
+ "type": "git",
45
+ "url": "git+https://github.com/aegisinfo/aegiscode.git"
46
+ },
47
+ "homepage": "https://github.com/aegisinfo/aegiscode#readme",
48
+ "bugs": {
49
+ "url": "https://github.com/aegisinfo/aegiscode/issues"
50
+ },
51
+ "files": [
52
+ "dist/main.js",
53
+ "gui/run-gui.cjs",
54
+ "README.md",
55
+ "LICENSE"
56
+ ],
57
+ "engines": {
58
+ "node": ">=22.0.0"
59
+ },
60
+ "dependencies": {
61
+ "@modelcontextprotocol/sdk": "^1.25.3",
62
+ "@xenova/transformers": "^2.17.2",
63
+ "chalk": "^5.4.1",
64
+ "dotenv": "^17.4.2",
65
+ "fuse.js": "^7.4.1",
66
+ "glob": "^13.0.0",
67
+ "ink": "^7.0.5",
68
+ "ink-text-input": "^6.0.0",
69
+ "js-tiktoken": "^1.0.21",
70
+ "lowlight": "^3.3.0",
71
+ "minimatch": "^10.1.1",
72
+ "nanoid": "^5.1.6",
73
+ "openai": "^4.77.0",
74
+ "react": "^19.2.7",
75
+ "react-dom": "^19.2.7",
76
+ "sql.js": "^1.14.1",
77
+ "string-width": "^8.1.1",
78
+ "uuid": "^14.0.0",
79
+ "yaml": "^2.8.2",
80
+ "yargs": "^17.7.2",
81
+ "zod": "^3.24.2",
82
+ "zod-to-json-schema": "^3.25.1",
83
+ "zustand": "^5.0.14"
84
+ },
85
+ "devDependencies": {
86
+ "@types/minimatch": "^6.0.0",
87
+ "@types/node": "^22.19.19",
88
+ "@types/react": "^19.2.16",
89
+ "@types/react-dom": "^19.2.3",
90
+ "@types/sql.js": "^1.4.11",
91
+ "@types/uuid": "^11.0.0",
92
+ "@types/yargs": "^17.0.33",
93
+ "electron": "^42.4.1",
94
+ "esbuild": "^0.28.0",
95
+ "javascript-obfuscator": "^5.4.3",
96
+ "react-devtools-core": "^7.0.1",
97
+ "tsx": "^4.22.4",
98
+ "typescript": "^5.7.2"
99
+ }
100
+ }