free-antigravity-cli 1.0.4 → 1.0.6

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,33 @@
1
+ name: Test Suite
2
+
3
+ on:
4
+ push:
5
+ branches: [ master, main ]
6
+ pull_request:
7
+ branches: [ master, main ]
8
+
9
+ jobs:
10
+ test:
11
+ runs-on: ${{ matrix.os }}
12
+ strategy:
13
+ matrix:
14
+ os: [ubuntu-latest, macos-latest, windows-latest]
15
+ node-version: [18.x, 20.x]
16
+
17
+ steps:
18
+ - uses: actions/checkout@v4
19
+
20
+ - name: Use Node.js ${{ matrix.node-version }}
21
+ uses: actions/setup-node@v4
22
+ with:
23
+ node-version: ${{ matrix.node-version }}
24
+ cache: 'npm'
25
+
26
+ - name: Install dependencies
27
+ run: npm install
28
+
29
+ - name: Run tests
30
+ run: npm test
31
+
32
+ - name: Run build
33
+ run: npm run build
package/README.md CHANGED
@@ -1,4 +1,4 @@
1
- # 🚀 Free Antigravity CLI
1
+ # Free Antigravity CLI
2
2
 
3
3
  [![npm version](https://img.shields.io/npm/v/free-antigravity-cli.svg?style=flat-edge)](https://www.npmjs.com/package/free-antigravity-cli)
4
4
  [![license](https://img.shields.io/github/license/vahapogut/free-antigravity-cli.svg?style=flat-edge)](LICENSE)
@@ -10,23 +10,24 @@ Use **OpenAI, Anthropic, Ollama, OpenRouter, Google AI Studio, and any OpenAI-co
10
10
 
11
11
  ---
12
12
 
13
- ## 📌 Quick Links
14
-
15
- * [How It Works](#-how-it-works)
16
- * [Quick Start](#-quick-start)
17
- * [Prerequisites](#-prerequisites)
18
- * [Commands](#-commands)
19
- * [Supported Providers](#-supported-providers)
20
- * [Installation](#-installation)
21
- * [Configuration](#-configuration)
22
- * [Technical Details](#%EF%B8%8F-technical-details)
23
- * [Comparison](#-comparison)
24
- * [Contributing](#-contributing)
25
- * [License](#-license)
13
+ ## Quick Links
14
+
15
+ * [How It Works](#how-it-works)
16
+ * [Quick Start](#quick-start)
17
+ * [Prerequisites](#prerequisites)
18
+ * [Commands](#commands)
19
+ * [Supported Providers](#supported-providers)
20
+ * [Installation](#installation)
21
+ * [Configuration](#configuration)
22
+ * [Technical Details](#technical-details)
23
+ * [Testing](#testing)
24
+ * [Comparison](#comparison)
25
+ * [Contributing](#contributing)
26
+ * [License](#license)
26
27
 
27
28
  ---
28
29
 
29
- ## 🔍 How It Works
30
+ ## How It Works
30
31
 
31
32
  ```
32
33
  antigravity
@@ -41,7 +42,7 @@ The CLI is a thin wrapper: it starts a local HTTP proxy that intercepts `fetchAv
41
42
 
42
43
  ---
43
44
 
44
- ## Quick Start
45
+ ## Quick Start
45
46
 
46
47
  ```bash
47
48
  # 1. Install official Antigravity CLI first
@@ -59,14 +60,21 @@ antigravity
59
60
 
60
61
  ---
61
62
 
62
- ## 📋 Prerequisites
63
+ ## Prerequisites
63
64
 
64
65
  * **Node.js** >= 18
65
- * **Official Antigravity CLI** (`agy`) installed at `%LOCALAPPDATA%\agy\bin\agy.exe`
66
+ * **Official Antigravity CLI** (`agy`) installed at one of the default locations:
67
+ * **Windows**: `%LOCALAPPDATA%\agy\bin\agy.exe`
68
+ * **macOS**: `~/Library/Application Support/agy/bin/agy` or `~/.local/share/agy/bin/agy`
69
+ * **Linux**: `~/.local/share/agy/bin/agy`
70
+ * **Custom Binary Path**: If you installed `agy` in a custom location, you can set the path using the `AGY_BIN` environment variable:
71
+ ```bash
72
+ export AGY_BIN="/path/to/custom/agy"
73
+ ```
66
74
 
67
75
  ---
68
76
 
69
- ## 💻 Commands
77
+ ## Commands
70
78
 
71
79
  ```
72
80
  antigravity Start interactive chat (proxy + agy)
@@ -80,11 +88,14 @@ antigravity version Show version
80
88
  antigravity help Show this help
81
89
  ```
82
90
 
91
+ ### Options
92
+ * **`--verbose` / `--debug`**: Can be passed to any command to enable proxy request/response logging for troubleshooting.
93
+
83
94
  Any arguments not listed above are passed directly to `agy` CLI.
84
95
 
85
96
  ---
86
97
 
87
- ## 🌐 Supported Providers
98
+ ## Supported Providers
88
99
 
89
100
  | Provider | CLI Value | Auth |
90
101
  |---|---|---|
@@ -97,7 +108,7 @@ Any arguments not listed above are passed directly to `agy` CLI.
97
108
 
98
109
  ---
99
110
 
100
- ## ⚙️ Installation
111
+ ## Installation
101
112
 
102
113
  ### npm (Recommended)
103
114
 
@@ -119,7 +130,7 @@ antigravity
119
130
 
120
131
  ---
121
132
 
122
- ## 🔧 Configuration
133
+ ## Configuration
123
134
 
124
135
  Models are stored in `~/.free-antigravity/models.json`:
125
136
 
@@ -160,15 +171,15 @@ Models are stored in `~/.free-antigravity/models.json`:
160
171
  antigravity models import
161
172
  ```
162
173
 
163
- > ⚠️ **NOTE:** API keys from the desktop app are encrypted with Electron's `safeStorage` and cannot be decrypted by the CLI. After importing, re-enter your API keys via `antigravity models add`.
174
+ > **NOTE:** API keys from the desktop app are encrypted with Electron's `safeStorage` and cannot be decrypted by the CLI. After importing, re-enter your API keys via `antigravity models add`.
164
175
 
165
176
  ---
166
177
 
167
- ## 🛠️ Technical Details
178
+ ## Technical Details
168
179
 
169
180
  ### Binary Patching
170
181
 
171
- On first run, the CLI automatically patches `agy.exe` to replace the hardcoded Google API URL:
182
+ On first run, the CLI automatically patches `agy` to replace the hardcoded Google API URL:
172
183
 
173
184
  ```
174
185
  https://daily-cloudcode-pa.googleapis.com
@@ -177,7 +188,10 @@ https://daily-cloudcode-pa.googleapis.com
177
188
 
178
189
  This forces `agy` to route its `fetchAvailableModels` calls through the local proxy, where custom model definitions are injected.
179
190
 
180
- The original binary is backed up at `agy.exe.bak`.
191
+ The original binary is backed up at `agy.exe.bak` (or `agy.bak` on macOS/Linux).
192
+
193
+ #### macOS Code Signing and Quarantine
194
+ On macOS, patching the binary invalidates its code signature. The CLI automatically runs ad-hoc self-signing via `codesign` and clears macOS quarantine flags via `xattr` to ensure the patched binary runs without OS security alerts.
181
195
 
182
196
  ### Proxy Server
183
197
 
@@ -201,7 +215,18 @@ The proxy runs on `http://127.0.0.1:50999` and:
201
215
 
202
216
  ---
203
217
 
204
- ## 📊 Comparison
218
+ ## Testing
219
+
220
+ A comprehensive unit and integration test suite is provided using Jest to verify translation mechanics and proxy interception.
221
+
222
+ ```bash
223
+ # Run tests
224
+ npm test
225
+ ```
226
+
227
+ ---
228
+
229
+ ## Comparison
205
230
 
206
231
  | Feature | Free Antigravity CLI | Google agy CLI |
207
232
  |---|---|---|
@@ -216,18 +241,18 @@ The proxy runs on `http://127.0.0.1:50999` and:
216
241
 
217
242
  ---
218
243
 
219
- ## 🤝 Contributing
244
+ ## Contributing
220
245
 
221
246
  Pull requests welcome at [github.com/vahapogut/free-antigravity-cli](https://github.com/vahapogut/free-antigravity-cli).
222
247
 
223
248
  ---
224
249
 
225
- ## 📄 License
250
+ ## License
226
251
 
227
252
  Apache License 2.0 - see [LICENSE](LICENSE).
228
253
 
229
254
  ---
230
255
 
231
- ## 👥 Author
256
+ ## Author
232
257
 
233
258
  **Developed By [Abdulvahap Ogut](https://www.linkedin.com/in/abdulvahap-ogut-343992398/)**
package/dist/cli.js CHANGED
@@ -45,15 +45,47 @@ const os = __importStar(require("os"));
45
45
  const config_1 = require("./config");
46
46
  const proxy_1 = require("./proxy");
47
47
  const crypto_1 = require("./crypto");
48
+ function searchInPath() {
49
+ try {
50
+ const cmd = os.platform() === 'win32' ? 'where agy' : 'which agy';
51
+ const out = (0, child_process_1.execSync)(cmd, { stdio: 'pipe' }).toString().trim().split('\r\n')[0].split('\n')[0];
52
+ if (out && fs.existsSync(out))
53
+ return out;
54
+ }
55
+ catch { /* ignore */ }
56
+ return null;
57
+ }
48
58
  function getAgyBin() {
59
+ // 1. User Override
60
+ if (process.env.AGY_BIN && fs.existsSync(process.env.AGY_BIN)) {
61
+ return process.env.AGY_BIN;
62
+ }
63
+ // 2. PATH Search
64
+ const pathBin = searchInPath();
65
+ if (pathBin)
66
+ return pathBin;
67
+ // 3. OS-specific defaults
68
+ const isWin = os.platform() === 'win32';
69
+ const binName = isWin ? 'agy.exe' : 'agy';
49
70
  const locations = [
50
- path.join(os.homedir(), 'AppData', 'Local', 'agy', 'bin', 'agy.exe'),
71
+ // Windows default
72
+ path.join(os.homedir(), 'AppData', 'Local', 'agy', 'bin', binName),
73
+ // macOS default Application Support
74
+ path.join(os.homedir(), 'Library', 'Application Support', 'agy', 'bin', binName),
75
+ // macOS/Linux local share
76
+ path.join(os.homedir(), '.local', 'share', 'agy', 'bin', binName),
77
+ // macOS/Linux local bin fallback
78
+ path.join(os.homedir(), '.local', 'bin', binName),
51
79
  ];
52
80
  for (const loc of locations) {
53
81
  if (fs.existsSync(loc))
54
82
  return loc;
55
83
  }
56
- return path.join(os.homedir(), 'AppData', 'Local', 'agy', 'bin', 'agy.exe');
84
+ // 4. Default fallback based on platform
85
+ if (isWin) {
86
+ return path.join(os.homedir(), 'AppData', 'Local', 'agy', 'bin', 'agy.exe');
87
+ }
88
+ return path.join(os.homedir(), '.local', 'share', 'agy', 'bin', 'agy');
57
89
  }
58
90
  async function ensureProxy() {
59
91
  try {
@@ -68,11 +100,11 @@ function getVersion() {
68
100
  const pkgPath = path.join(__dirname, '..', 'package.json');
69
101
  if (fs.existsSync(pkgPath)) {
70
102
  const pkg = JSON.parse(fs.readFileSync(pkgPath, 'utf-8'));
71
- return pkg.version || '1.0.3';
103
+ return pkg.version || '1.0.4';
72
104
  }
73
105
  }
74
106
  catch { /* ignore */ }
75
- return '1.0.3';
107
+ return '1.0.4';
76
108
  }
77
109
  function ensureAgyPatched(binPath) {
78
110
  if (!fs.existsSync(binPath))
@@ -93,6 +125,18 @@ function ensureAgyPatched(binPath) {
93
125
  replacement.copy(buf, idx);
94
126
  fs.writeFileSync(binPath, buf);
95
127
  console.log('[ok] agy binary patched for custom model support.');
128
+ // macOS platform specific adjustments
129
+ if (os.platform() === 'darwin') {
130
+ try {
131
+ console.log('Re-signing patched binary and removing macOS quarantine flags...');
132
+ (0, child_process_1.execSync)(`codesign --force --sign - "${binPath}"`, { stdio: 'ignore' });
133
+ (0, child_process_1.execSync)(`xattr -d com.apple.quarantine "${binPath}"`, { stdio: 'ignore' });
134
+ console.log('[ok] macOS binary prepared successfully.');
135
+ }
136
+ catch (err) {
137
+ console.warn('[warning] Failed to re-sign or remove quarantine flags from agy. It may fail to execute.');
138
+ }
139
+ }
96
140
  }
97
141
  catch { /* ignore */ }
98
142
  }
@@ -100,8 +144,11 @@ async function startAndDelegate(agyArgs) {
100
144
  // agy starts interactive mode by default when no flags are given
101
145
  const agyBin = getAgyBin();
102
146
  if (!fs.existsSync(agyBin)) {
103
- console.error(`\nagy CLI not found at: ${agyBin}`);
104
- console.error('Install: curl -fsSL https://antigravity.google/cli/install.cmd | cmd');
147
+ console.error(`\n[Error] agy CLI not found!`);
148
+ console.error(`Search location checked: ${agyBin}`);
149
+ console.error('\nPlease install the official Antigravity CLI first.');
150
+ console.error('If installed in a custom location, set the AGY_BIN environment variable:');
151
+ console.error(' export AGY_BIN=/path/to/agy\n');
105
152
  process.exit(1);
106
153
  }
107
154
  ensureAgyPatched(agyBin);
@@ -113,7 +160,13 @@ async function startAndDelegate(agyArgs) {
113
160
  process.on('SIGINT', async () => { child.kill(); await (0, proxy_1.stopProxy)(); process.exit(0); });
114
161
  }
115
162
  async function main() {
116
- const args = process.argv.slice(2);
163
+ let args = process.argv.slice(2);
164
+ // Parse and strip verbose/debug flags
165
+ const isDebug = args.includes('--verbose') || args.includes('--debug') || process.env.ANTIGRAVITY_DEBUG === 'true';
166
+ if (isDebug) {
167
+ process.env.ANTIGRAVITY_DEBUG = 'true';
168
+ }
169
+ args = args.filter(a => a !== '--verbose' && a !== '--debug');
117
170
  const cmd = args[0];
118
171
  // --- Model management ---
119
172
  if (cmd === 'models') {
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":"logger.d.ts","sourceRoot":"","sources":["../src/logger.ts"],"names":[],"mappings":"AAAA,KAAK,KAAK,GAAG,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,IAAI,CAAC;AAE3D,eAAO,MAAM,GAAG;UACO,KAAK;UACJ,KAAK;WACH,KAAK;WACL,KAAK;CAC9B,CAAC"}
1
+ {"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../src/logger.ts"],"names":[],"mappings":"AAAA,KAAK,KAAK,GAAG,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,IAAI,CAAC;AAI3D,eAAO,MAAM,GAAG;UAGR,KAAK;UAIL,KAAK;WAIL,KAAK;WAGL,KAAK;CACZ,CAAC"}
package/dist/logger.js CHANGED
@@ -1,10 +1,23 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.log = void 0;
4
+ const isDebug = () => process.env.ANTIGRAVITY_DEBUG === 'true';
4
5
  exports.log = {
5
- info: console.log,
6
- warn: console.warn,
7
- error: console.error,
8
- debug: console.debug,
6
+ info: ((message, ...args) => {
7
+ if (isDebug())
8
+ console.log(`[INFO] ${message}`, ...args);
9
+ }),
10
+ warn: ((message, ...args) => {
11
+ // Warnings are kept visible but styled
12
+ console.warn(`[WARN] ${message}`, ...args);
13
+ }),
14
+ error: ((message, ...args) => {
15
+ // Errors are always critical and visible
16
+ console.error(`[ERROR] ${message}`, ...args);
17
+ }),
18
+ debug: ((message, ...args) => {
19
+ if (isDebug())
20
+ console.debug(`[DEBUG] ${message}`, ...args);
21
+ }),
9
22
  };
10
23
  //# sourceMappingURL=logger.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"logger.js","sourceRoot":"","sources":["../src/logger.ts"],"names":[],"mappings":";;;AAEa,QAAA,GAAG,GAAG;IACjB,IAAI,EAAE,OAAO,CAAC,GAAY;IAC1B,IAAI,EAAE,OAAO,CAAC,IAAa;IAC3B,KAAK,EAAE,OAAO,CAAC,KAAc;IAC7B,KAAK,EAAE,OAAO,CAAC,KAAc;CAC9B,CAAC"}
1
+ {"version":3,"file":"logger.js","sourceRoot":"","sources":["../src/logger.ts"],"names":[],"mappings":";;;AAEA,MAAM,OAAO,GAAG,GAAG,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,iBAAiB,KAAK,MAAM,CAAC;AAElD,QAAA,GAAG,GAAG;IACjB,IAAI,EAAE,CAAC,CAAC,OAAe,EAAE,GAAG,IAAe,EAAE,EAAE;QAC7C,IAAI,OAAO,EAAE;YAAE,OAAO,CAAC,GAAG,CAAC,UAAU,OAAO,EAAE,EAAE,GAAG,IAAI,CAAC,CAAC;IAC3D,CAAC,CAAU;IACX,IAAI,EAAE,CAAC,CAAC,OAAe,EAAE,GAAG,IAAe,EAAE,EAAE;QAC7C,uCAAuC;QACvC,OAAO,CAAC,IAAI,CAAC,UAAU,OAAO,EAAE,EAAE,GAAG,IAAI,CAAC,CAAC;IAC7C,CAAC,CAAU;IACX,KAAK,EAAE,CAAC,CAAC,OAAe,EAAE,GAAG,IAAe,EAAE,EAAE;QAC9C,yCAAyC;QACzC,OAAO,CAAC,KAAK,CAAC,WAAW,OAAO,EAAE,EAAE,GAAG,IAAI,CAAC,CAAC;IAC/C,CAAC,CAAU;IACX,KAAK,EAAE,CAAC,CAAC,OAAe,EAAE,GAAG,IAAe,EAAE,EAAE;QAC9C,IAAI,OAAO,EAAE;YAAE,OAAO,CAAC,KAAK,CAAC,WAAW,OAAO,EAAE,EAAE,GAAG,IAAI,CAAC,CAAC;IAC9D,CAAC,CAAU;CACZ,CAAC"}
package/dist/proxy.d.ts CHANGED
@@ -16,7 +16,7 @@ export declare function generateModelPlaceholderId(model: CustomModel): string;
16
16
  export declare function getCustomModelsPath(): string;
17
17
  export declare function toSlug(model: CustomModel): string;
18
18
  export declare function loadCustomModels(): CustomModel[];
19
- export declare function startProxy(): Promise<number>;
19
+ export declare function startProxy(port?: number): Promise<number>;
20
20
  export declare function stopProxy(): Promise<void>;
21
21
  export declare function getProxyPort(): number;
22
22
  //# sourceMappingURL=proxy.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"proxy.d.ts","sourceRoot":"","sources":["../src/proxy.ts"],"names":[],"mappings":"AAcA,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,iBAAiB,EAAE,MAAM,CAAC;IAC1B,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AA6BD,wBAAgB,0BAA0B,CAAC,KAAK,EAAE,WAAW,GAAG,MAAM,CASrE;AAED,wBAAgB,mBAAmB,IAAI,MAAM,CAG5C;AAED,wBAAgB,MAAM,CAAC,KAAK,EAAE,WAAW,GAAG,MAAM,CASjD;AAID,wBAAgB,gBAAgB,IAAI,WAAW,EAAE,CAyDhD;AAkZD,wBAAgB,UAAU,IAAI,OAAO,CAAC,MAAM,CAAC,CAiB5C;AAED,wBAAgB,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC,CAKzC;AAED,wBAAgB,YAAY,IAAI,MAAM,CAAsB"}
1
+ {"version":3,"file":"proxy.d.ts","sourceRoot":"","sources":["../src/proxy.ts"],"names":[],"mappings":"AAcA,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,iBAAiB,EAAE,MAAM,CAAC;IAC1B,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AA6BD,wBAAgB,0BAA0B,CAAC,KAAK,EAAE,WAAW,GAAG,MAAM,CASrE;AAED,wBAAgB,mBAAmB,IAAI,MAAM,CAG5C;AAED,wBAAgB,MAAM,CAAC,KAAK,EAAE,WAAW,GAAG,MAAM,CASjD;AAID,wBAAgB,gBAAgB,IAAI,WAAW,EAAE,CAyDhD;AAkZD,wBAAgB,UAAU,CAAC,IAAI,SAAQ,GAAG,OAAO,CAAC,MAAM,CAAC,CAiBxD;AAED,wBAAgB,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC,CAKzC;AAED,wBAAgB,YAAY,IAAI,MAAM,CAAsB"}
package/dist/proxy.js CHANGED
@@ -539,19 +539,19 @@ function handleRequest(req, res) {
539
539
  });
540
540
  }
541
541
  // --- Server Start/Stop ---
542
- function startProxy() {
542
+ function startProxy(port = 50999) {
543
543
  return new Promise((resolve, reject) => {
544
544
  server = http.createServer(handleRequest);
545
- server.listen(50999, '127.0.0.1', () => {
545
+ server.listen(port, '127.0.0.1', () => {
546
546
  proxyPort = server.address().port;
547
547
  logger_1.log.info(`[Proxy] Listening on http://127.0.0.1:${proxyPort}`);
548
548
  resolve(proxyPort);
549
549
  });
550
550
  server.on('error', (err) => {
551
551
  if (err.code === 'EADDRINUSE') {
552
- logger_1.log.error('[Proxy] Port 50999 is already in use by another application.');
553
- console.error('\n[Error] Port 50999 is already in use.');
554
- console.error('Please close the process occupying port 50999 and try again.\n');
552
+ logger_1.log.error(`[Proxy] Port ${port} is already in use by another application.`);
553
+ console.error(`\n[Error] Port ${port} is already in use.`);
554
+ console.error(`Please close the process occupying port ${port} and try again.\n`);
555
555
  process.exit(1);
556
556
  }
557
557
  else {
package/dist/proxy.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"proxy.js","sourceRoot":"","sources":["../src/proxy.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"proxy.js","sourceRoot":"","sources":["../src/proxy.ts"],"names":[],"mappings":"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"}
package/jest.config.js ADDED
@@ -0,0 +1,6 @@
1
+ module.exports = {
2
+ preset: 'ts-jest',
3
+ testEnvironment: 'node',
4
+ testMatch: ['**/tests/**/*.test.ts'],
5
+ verbose: true,
6
+ };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "free-antigravity-cli",
3
- "version": "1.0.4",
3
+ "version": "1.0.6",
4
4
  "description": "Open-source community CLI for Antigravity - supports custom AI models (OpenAI, Anthropic, Ollama, OpenRouter, Google AI Studio) alongside Gemini",
5
5
  "homepage": "https://github.com/vahapogut/free-antigravity-cli",
6
6
  "author": {
@@ -17,7 +17,8 @@
17
17
  "build": "npx tsc",
18
18
  "dev": "npx ts-node src/cli.ts",
19
19
  "start": "node dist/cli.js",
20
- "prepublishOnly": "npm run build"
20
+ "prepublishOnly": "npm run build",
21
+ "test": "jest"
21
22
  },
22
23
  "keywords": [
23
24
  "antigravity",
@@ -40,7 +41,12 @@
40
41
  },
41
42
  "devDependencies": {
42
43
  "@types/inquirer": "^8.2.10",
44
+ "@types/jest": "^30.0.0",
43
45
  "@types/node": "^20.14.0",
46
+ "@types/supertest": "^7.2.0",
47
+ "jest": "^30.4.2",
48
+ "supertest": "^7.2.2",
49
+ "ts-jest": "^29.4.11",
44
50
  "typescript": "^5.5.0"
45
51
  }
46
52
  }
package/src/cli.ts CHANGED
@@ -3,7 +3,7 @@
3
3
  * Free Antigravity CLI - Community Edition
4
4
  * Wraps the official agy CLI with custom model support via a local proxy.
5
5
  */
6
- import { spawn } from 'child_process';
6
+ import { spawn, execSync } from 'child_process';
7
7
  import * as path from 'path';
8
8
  import * as fs from 'fs';
9
9
  import * as os from 'os';
@@ -11,14 +11,48 @@ import { addModel, removeModel, listModels, ensureConfigDir, CustomModelEntry }
11
11
  import { startProxy, getProxyPort, stopProxy } from './proxy';
12
12
  import { backupFile } from './crypto';
13
13
 
14
+ function searchInPath(): string | null {
15
+ try {
16
+ const cmd = os.platform() === 'win32' ? 'where agy' : 'which agy';
17
+ const out = execSync(cmd, { stdio: 'pipe' }).toString().trim().split('\r\n')[0].split('\n')[0];
18
+ if (out && fs.existsSync(out)) return out;
19
+ } catch { /* ignore */ }
20
+ return null;
21
+ }
22
+
14
23
  function getAgyBin(): string {
24
+ // 1. User Override
25
+ if (process.env.AGY_BIN && fs.existsSync(process.env.AGY_BIN)) {
26
+ return process.env.AGY_BIN;
27
+ }
28
+
29
+ // 2. PATH Search
30
+ const pathBin = searchInPath();
31
+ if (pathBin) return pathBin;
32
+
33
+ // 3. OS-specific defaults
34
+ const isWin = os.platform() === 'win32';
35
+ const binName = isWin ? 'agy.exe' : 'agy';
15
36
  const locations = [
16
- path.join(os.homedir(), 'AppData', 'Local', 'agy', 'bin', 'agy.exe'),
37
+ // Windows default
38
+ path.join(os.homedir(), 'AppData', 'Local', 'agy', 'bin', binName),
39
+ // macOS default Application Support
40
+ path.join(os.homedir(), 'Library', 'Application Support', 'agy', 'bin', binName),
41
+ // macOS/Linux local share
42
+ path.join(os.homedir(), '.local', 'share', 'agy', 'bin', binName),
43
+ // macOS/Linux local bin fallback
44
+ path.join(os.homedir(), '.local', 'bin', binName),
17
45
  ];
46
+
18
47
  for (const loc of locations) {
19
48
  if (fs.existsSync(loc)) return loc;
20
49
  }
21
- return path.join(os.homedir(), 'AppData', 'Local', 'agy', 'bin', 'agy.exe');
50
+
51
+ // 4. Default fallback based on platform
52
+ if (isWin) {
53
+ return path.join(os.homedir(), 'AppData', 'Local', 'agy', 'bin', 'agy.exe');
54
+ }
55
+ return path.join(os.homedir(), '.local', 'share', 'agy', 'bin', 'agy');
22
56
  }
23
57
 
24
58
  async function ensureProxy(): Promise<number> {
@@ -31,10 +65,10 @@ function getVersion(): string {
31
65
  const pkgPath = path.join(__dirname, '..', 'package.json');
32
66
  if (fs.existsSync(pkgPath)) {
33
67
  const pkg = JSON.parse(fs.readFileSync(pkgPath, 'utf-8'));
34
- return pkg.version || '1.0.3';
68
+ return pkg.version || '1.0.4';
35
69
  }
36
70
  } catch { /* ignore */ }
37
- return '1.0.3';
71
+ return '1.0.4';
38
72
  }
39
73
 
40
74
  function ensureAgyPatched(binPath: string): void {
@@ -52,6 +86,18 @@ function ensureAgyPatched(binPath: string): void {
52
86
  replacement.copy(buf, idx);
53
87
  fs.writeFileSync(binPath, buf);
54
88
  console.log('[ok] agy binary patched for custom model support.');
89
+
90
+ // macOS platform specific adjustments
91
+ if (os.platform() === 'darwin') {
92
+ try {
93
+ console.log('Re-signing patched binary and removing macOS quarantine flags...');
94
+ execSync(`codesign --force --sign - "${binPath}"`, { stdio: 'ignore' });
95
+ execSync(`xattr -d com.apple.quarantine "${binPath}"`, { stdio: 'ignore' });
96
+ console.log('[ok] macOS binary prepared successfully.');
97
+ } catch (err) {
98
+ console.warn('[warning] Failed to re-sign or remove quarantine flags from agy. It may fail to execute.');
99
+ }
100
+ }
55
101
  } catch { /* ignore */ }
56
102
  }
57
103
 
@@ -60,8 +106,11 @@ async function startAndDelegate(agyArgs: string[]): Promise<void> {
60
106
  const agyBin = getAgyBin();
61
107
 
62
108
  if (!fs.existsSync(agyBin)) {
63
- console.error(`\nagy CLI not found at: ${agyBin}`);
64
- console.error('Install: curl -fsSL https://antigravity.google/cli/install.cmd | cmd');
109
+ console.error(`\n[Error] agy CLI not found!`);
110
+ console.error(`Search location checked: ${agyBin}`);
111
+ console.error('\nPlease install the official Antigravity CLI first.');
112
+ console.error('If installed in a custom location, set the AGY_BIN environment variable:');
113
+ console.error(' export AGY_BIN=/path/to/agy\n');
65
114
  process.exit(1);
66
115
  }
67
116
 
@@ -76,7 +125,15 @@ async function startAndDelegate(agyArgs: string[]): Promise<void> {
76
125
  }
77
126
 
78
127
  async function main(): Promise<void> {
79
- const args = process.argv.slice(2);
128
+ let args = process.argv.slice(2);
129
+
130
+ // Parse and strip verbose/debug flags
131
+ const isDebug = args.includes('--verbose') || args.includes('--debug') || process.env.ANTIGRAVITY_DEBUG === 'true';
132
+ if (isDebug) {
133
+ process.env.ANTIGRAVITY_DEBUG = 'true';
134
+ }
135
+ args = args.filter(a => a !== '--verbose' && a !== '--debug');
136
+
80
137
  const cmd = args[0];
81
138
 
82
139
  // --- Model management ---
package/src/logger.ts CHANGED
@@ -1,8 +1,20 @@
1
1
  type LogFn = (message: string, ...args: unknown[]) => void;
2
2
 
3
+ const isDebug = () => process.env.ANTIGRAVITY_DEBUG === 'true';
4
+
3
5
  export const log = {
4
- info: console.log as LogFn,
5
- warn: console.warn as LogFn,
6
- error: console.error as LogFn,
7
- debug: console.debug as LogFn,
6
+ info: ((message: string, ...args: unknown[]) => {
7
+ if (isDebug()) console.log(`[INFO] ${message}`, ...args);
8
+ }) as LogFn,
9
+ warn: ((message: string, ...args: unknown[]) => {
10
+ // Warnings are kept visible but styled
11
+ console.warn(`[WARN] ${message}`, ...args);
12
+ }) as LogFn,
13
+ error: ((message: string, ...args: unknown[]) => {
14
+ // Errors are always critical and visible
15
+ console.error(`[ERROR] ${message}`, ...args);
16
+ }) as LogFn,
17
+ debug: ((message: string, ...args: unknown[]) => {
18
+ if (isDebug()) console.debug(`[DEBUG] ${message}`, ...args);
19
+ }) as LogFn,
8
20
  };
package/src/proxy.ts CHANGED
@@ -542,19 +542,19 @@ function handleRequest(req: http.IncomingMessage, res: http.ServerResponse): voi
542
542
 
543
543
  // --- Server Start/Stop ---
544
544
 
545
- export function startProxy(): Promise<number> {
545
+ export function startProxy(port = 50999): Promise<number> {
546
546
  return new Promise((resolve, reject) => {
547
547
  server = http.createServer(handleRequest);
548
- server.listen(50999, '127.0.0.1', () => {
548
+ server.listen(port, '127.0.0.1', () => {
549
549
  proxyPort = (server!.address() as import('net').AddressInfo).port;
550
550
  log.info(`[Proxy] Listening on http://127.0.0.1:${proxyPort}`);
551
551
  resolve(proxyPort);
552
552
  });
553
553
  server.on('error', (err: NodeJS.ErrnoException) => {
554
554
  if (err.code === 'EADDRINUSE') {
555
- log.error('[Proxy] Port 50999 is already in use by another application.');
556
- console.error('\n[Error] Port 50999 is already in use.');
557
- console.error('Please close the process occupying port 50999 and try again.\n');
555
+ log.error(`[Proxy] Port ${port} is already in use by another application.`);
556
+ console.error(`\n[Error] Port ${port} is already in use.`);
557
+ console.error(`Please close the process occupying port ${port} and try again.\n`);
558
558
  process.exit(1);
559
559
  } else { reject(err); }
560
560
  });
@@ -0,0 +1,107 @@
1
+ import * as path from 'path';
2
+ import * as os from 'os';
3
+ import supertest from 'supertest';
4
+
5
+ // Mock FS before importing proxy
6
+ jest.mock('fs', () => {
7
+ const originalFs = jest.requireActual('fs');
8
+ return {
9
+ ...originalFs,
10
+ existsSync: jest.fn((p) => {
11
+ if (typeof p === 'string' && (p.endsWith('models.json') || p.includes('.free-antigravity'))) return true;
12
+ return originalFs.existsSync(p);
13
+ }),
14
+ readFileSync: jest.fn((p, encoding) => {
15
+ if (typeof p === 'string' && p.endsWith('models.json')) {
16
+ return JSON.stringify({
17
+ models: [
18
+ {
19
+ name: 'models/custom-test-model',
20
+ displayName: 'Custom Test Model',
21
+ provider: 'openai',
22
+ apiKey: 'enc:dGVzdC1rZXk=', // already encrypted format to bypass migration
23
+ encrypted: true,
24
+ apiUrl: 'https://api.openai.com/v1/chat/completions',
25
+ externalModelName: 'gpt-4o'
26
+ }
27
+ ]
28
+ });
29
+ }
30
+ return originalFs.readFileSync(p, encoding);
31
+ }),
32
+ writeFileSync: jest.fn((p, data, encoding) => {
33
+ if (typeof p === 'string' && p.endsWith('models.json')) return;
34
+ return originalFs.writeFileSync(p, data, encoding);
35
+ }),
36
+ mkdirSync: jest.fn((p, options) => {
37
+ if (typeof p === 'string' && p.includes('.free-antigravity')) return;
38
+ return originalFs.mkdirSync(p, options);
39
+ })
40
+ };
41
+ });
42
+
43
+ // Mock HTTPS before importing proxy
44
+ jest.mock('https', () => {
45
+ const originalHttps = jest.requireActual('https');
46
+ return {
47
+ ...originalHttps,
48
+ request: jest.fn((url: any, options: any, callback?: any) => {
49
+ const mockResponse = {
50
+ statusCode: 200,
51
+ headers: { 'content-type': 'application/json' },
52
+ on: (event: string, handler: any) => {
53
+ if (event === 'data') {
54
+ setImmediate(() => handler(Buffer.from(JSON.stringify({ models: [] }))));
55
+ }
56
+ if (event === 'end') {
57
+ setImmediate(() => handler());
58
+ }
59
+ }
60
+ };
61
+ if (callback) {
62
+ setImmediate(() => callback(mockResponse));
63
+ }
64
+ return {
65
+ on: () => {},
66
+ write: () => {},
67
+ end: () => {},
68
+ setTimeout: () => {},
69
+ destroy: () => {}
70
+ };
71
+ })
72
+ };
73
+ });
74
+
75
+ import { startProxy, stopProxy } from '../src/proxy';
76
+ import { stopCleanupInterval } from '../src/proxy/shared';
77
+
78
+ describe('Proxy Server Integration', () => {
79
+ let request: any;
80
+
81
+ beforeAll(async () => {
82
+ // Start proxy
83
+ const port = await startProxy(0);
84
+ request = supertest(`http://127.0.0.1:${port}`);
85
+ });
86
+
87
+ afterAll(async () => {
88
+ await stopProxy();
89
+ stopCleanupInterval();
90
+ });
91
+
92
+ test('Health check endpoint returns status ok', async () => {
93
+ const res = await request.get('/health');
94
+ expect(res.status).toBe(200);
95
+ expect(res.body.status).toBe('ok');
96
+ });
97
+
98
+ test('Intercepts fetchAvailableModels and injects custom models', async () => {
99
+ const res = await request.post('/v1internal:fetchAvailableModels');
100
+ expect(res.status).toBe(200);
101
+
102
+ // Expect the custom model to be merged in the output
103
+ const models = res.body.models || [];
104
+ const customExists = models.some((m: any) => m.displayName === 'Custom Test Model');
105
+ expect(customExists).toBe(true);
106
+ });
107
+ });
@@ -0,0 +1,85 @@
1
+ import * as path from 'path';
2
+ import { mapGeminiToOpenAI, mapOpenAIToGemini } from '../src/proxy/translators/openai';
3
+ import { mapGeminiToAnthropic, mapAnthropicToGemini } from '../src/proxy/translators/anthropic';
4
+ import { translateToolCallToNative, normalizeToolArgs } from '../src/proxy/translators/utils';
5
+ import { stopCleanupInterval } from '../src/proxy/shared';
6
+
7
+ describe('OpenAI Translator', () => {
8
+ test('mapGeminiToOpenAI converts simple chat request', () => {
9
+ const geminiBody = {
10
+ contents: [
11
+ { role: 'user', parts: [{ text: 'Hello' }] }
12
+ ]
13
+ };
14
+ const result = mapGeminiToOpenAI(geminiBody, 'gpt-4o');
15
+ expect(result.model).toBe('gpt-4o');
16
+ expect(result.messages).toHaveLength(1);
17
+ expect(result.messages[0]).toEqual({ role: 'user', content: 'Hello' });
18
+ });
19
+
20
+ test('mapOpenAIToGemini converts simple chat response', () => {
21
+ const openaiRes = {
22
+ choices: [
23
+ {
24
+ message: { content: 'Hi there!' },
25
+ finish_reason: 'stop'
26
+ }
27
+ ],
28
+ usage: { prompt_tokens: 5, completion_tokens: 5, total_tokens: 10 }
29
+ };
30
+ const result = mapOpenAIToGemini(openaiRes, 'gpt-4o');
31
+ expect(result.candidates).toHaveLength(1);
32
+ expect(result.candidates[0].content.parts[0].text).toBe('Hi there!');
33
+ expect(result.candidates[0].finishReason).toBe('STOP');
34
+ expect(result.usageMetadata?.totalTokenCount).toBe(10);
35
+ });
36
+ });
37
+
38
+ describe('Anthropic Translator', () => {
39
+ test('mapGeminiToAnthropic converts simple chat request', () => {
40
+ const geminiBody = {
41
+ contents: [
42
+ { role: 'user', parts: [{ text: 'Hello Claude' }] }
43
+ ],
44
+ generationConfig: { maxOutputTokens: 100 }
45
+ };
46
+ const result = mapGeminiToAnthropic(geminiBody, 'claude-3-5-sonnet');
47
+ expect(result.model).toBe('claude-3-5-sonnet');
48
+ expect(result.messages[0].role).toBe('user');
49
+ expect(result.messages[0].content).toBe('Hello Claude');
50
+ expect(result.max_tokens).toBe(100);
51
+ });
52
+
53
+ test('mapAnthropicToGemini converts simple chat response', () => {
54
+ const anthRes = {
55
+ content: [{ type: 'text', text: 'Hello human!' } as any],
56
+ stop_reason: 'end_turn',
57
+ usage: { input_tokens: 10, output_tokens: 10 }
58
+ };
59
+ const result = mapAnthropicToGemini(anthRes, 'claude-3-5-sonnet');
60
+ expect(result.candidates[0].content.parts[0].text).toBe('Hello human!');
61
+ expect(result.candidates[0].finishReason).toBe('STOP');
62
+ });
63
+ });
64
+
65
+ describe('Tool & Args Utilities', () => {
66
+ test('normalizeToolArgs maps snake_case parameters to PascalCase', () => {
67
+ const rawArgs = { absolute_path: '/some/file.txt' };
68
+ const normalized = normalizeToolArgs('view_file', rawArgs);
69
+ expect(normalized).toEqual({ AbsolutePath: '/some/file.txt' });
70
+ });
71
+
72
+ test('translateToolCallToNative maps bash commands to native tools', () => {
73
+ const resultCat = translateToolCallToNative('run_command', { CommandLine: 'cat memo.txt', Cwd: '/home' });
74
+ expect(resultCat.name).toBe('view_file');
75
+ expect(resultCat.args).toEqual({ AbsolutePath: path.resolve('/home', 'memo.txt') });
76
+
77
+ const resultLs = translateToolCallToNative('run_command', { CommandLine: 'ls subdir', Cwd: '/home' });
78
+ expect(resultLs.name).toBe('list_dir');
79
+ expect(resultLs.args).toEqual({ DirectoryPath: path.resolve('/home', 'subdir') });
80
+ });
81
+
82
+ afterAll(() => {
83
+ stopCleanupInterval();
84
+ });
85
+ });