gravity-core 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/README.md +109 -38
- package/SETUP.md +193 -346
- package/dist/cli-utils.d.ts +63 -0
- package/dist/cli-utils.d.ts.map +1 -0
- package/dist/cli-utils.js +238 -0
- package/dist/cli-utils.js.map +1 -0
- package/dist/cli.d.ts +7 -4
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +246 -253
- package/dist/cli.js.map +1 -1
- package/dist/mcp-server.d.ts +10 -0
- package/dist/mcp-server.d.ts.map +1 -0
- package/dist/mcp-server.js +223 -0
- package/dist/mcp-server.js.map +1 -0
- package/native-host/devtools-bridge-host.bat +11 -0
- package/native-host/manifest.json +9 -0
- package/package.json +2 -1
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* CLI Utilities for Gravity setup and diagnostics
|
|
3
|
+
*/
|
|
4
|
+
/**
|
|
5
|
+
* Prompt user for yes/no confirmation
|
|
6
|
+
*/
|
|
7
|
+
export declare function promptConfirm(question: string): Promise<boolean>;
|
|
8
|
+
/**
|
|
9
|
+
* Get the Gravity extension directory in user home
|
|
10
|
+
*/
|
|
11
|
+
export declare function getGravityExtensionDir(): string;
|
|
12
|
+
/**
|
|
13
|
+
* Get the Gravity native host directory in user home
|
|
14
|
+
*/
|
|
15
|
+
export declare function getGravityHostDir(): string;
|
|
16
|
+
/**
|
|
17
|
+
* Get Chrome extensions directory
|
|
18
|
+
*/
|
|
19
|
+
export declare function getChromeExtensionsDir(): string;
|
|
20
|
+
/**
|
|
21
|
+
* Detect Gravity extension ID by scanning Chrome extensions directory
|
|
22
|
+
*/
|
|
23
|
+
export declare function detectGravityExtensionId(): string | null;
|
|
24
|
+
/**
|
|
25
|
+
* Patch manifest.json with extension ID and path
|
|
26
|
+
*/
|
|
27
|
+
export declare function patchManifest(manifestPath: string, extensionId: string, hostPath: string): void;
|
|
28
|
+
/**
|
|
29
|
+
* Write Windows registry key for native messaging host
|
|
30
|
+
*/
|
|
31
|
+
export declare function writeRegistryKey(hostName: string, manifestPath: string): void;
|
|
32
|
+
/**
|
|
33
|
+
* Check if registry key exists
|
|
34
|
+
*/
|
|
35
|
+
export declare function registryKeyExists(hostName: string): boolean;
|
|
36
|
+
/**
|
|
37
|
+
* Get registry key value
|
|
38
|
+
*/
|
|
39
|
+
export declare function getRegistryKeyValue(hostName: string): string | null;
|
|
40
|
+
/**
|
|
41
|
+
* Check if Chrome is running
|
|
42
|
+
*/
|
|
43
|
+
export declare function isChromeRunning(): boolean;
|
|
44
|
+
/**
|
|
45
|
+
* Prompt user to restart Chrome
|
|
46
|
+
*/
|
|
47
|
+
export declare function promptRestartChrome(): Promise<void>;
|
|
48
|
+
/**
|
|
49
|
+
* Validate manifest file
|
|
50
|
+
*/
|
|
51
|
+
export declare function validateManifest(manifestPath: string): {
|
|
52
|
+
valid: boolean;
|
|
53
|
+
errors: string[];
|
|
54
|
+
};
|
|
55
|
+
/**
|
|
56
|
+
* Check if native host executable exists
|
|
57
|
+
*/
|
|
58
|
+
export declare function nativeHostExists(hostPath: string): boolean;
|
|
59
|
+
/**
|
|
60
|
+
* Test WebSocket connection to extension
|
|
61
|
+
*/
|
|
62
|
+
export declare function testWebSocketConnection(port?: number): Promise<boolean>;
|
|
63
|
+
//# sourceMappingURL=cli-utils.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cli-utils.d.ts","sourceRoot":"","sources":["../src/cli-utils.ts"],"names":[],"mappings":"AAAA;;GAEG;AAQH;;GAEG;AACH,wBAAsB,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAYtE;AAED;;GAEG;AACH,wBAAgB,sBAAsB,IAAI,MAAM,CAE/C;AAED;;GAEG;AACH,wBAAgB,iBAAiB,IAAI,MAAM,CAE1C;AAED;;GAEG;AACH,wBAAgB,sBAAsB,IAAI,MAAM,CAW/C;AAED;;GAEG;AACH,wBAAgB,wBAAwB,IAAI,MAAM,GAAG,IAAI,CAsCxD;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,YAAY,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI,CAO/F;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG,IAAI,CAe7E;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAa3D;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAcnE;AAED;;GAEG;AACH,wBAAgB,eAAe,IAAI,OAAO,CAWzC;AAED;;GAEG;AACH,wBAAsB,mBAAmB,IAAI,OAAO,CAAC,IAAI,CAAC,CAiBzD;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,YAAY,EAAE,MAAM,GAAG;IAAE,KAAK,EAAE,OAAO,CAAC;IAAC,MAAM,EAAE,MAAM,EAAE,CAAA;CAAE,CA0B3F;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAE1D;AAED;;GAEG;AACH,wBAAsB,uBAAuB,CAAC,IAAI,GAAE,MAAa,GAAG,OAAO,CAAC,OAAO,CAAC,CAyBnF"}
|
|
@@ -0,0 +1,238 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* CLI Utilities for Gravity setup and diagnostics
|
|
3
|
+
*/
|
|
4
|
+
import { existsSync, readFileSync, writeFileSync } from 'fs';
|
|
5
|
+
import { join } from 'path';
|
|
6
|
+
import { homedir, platform } from 'os';
|
|
7
|
+
import { execSync } from 'child_process';
|
|
8
|
+
import * as readline from 'readline';
|
|
9
|
+
/**
|
|
10
|
+
* Prompt user for yes/no confirmation
|
|
11
|
+
*/
|
|
12
|
+
export async function promptConfirm(question) {
|
|
13
|
+
return new Promise((resolve) => {
|
|
14
|
+
const rl = readline.createInterface({
|
|
15
|
+
input: process.stdin,
|
|
16
|
+
output: process.stderr,
|
|
17
|
+
});
|
|
18
|
+
rl.question(`${question} (y/n) `, (answer) => {
|
|
19
|
+
rl.close();
|
|
20
|
+
resolve(answer.toLowerCase() === 'y' || answer.toLowerCase() === 'yes');
|
|
21
|
+
});
|
|
22
|
+
});
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* Get the Gravity extension directory in user home
|
|
26
|
+
*/
|
|
27
|
+
export function getGravityExtensionDir() {
|
|
28
|
+
return join(homedir(), '.gravity-extension');
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* Get the Gravity native host directory in user home
|
|
32
|
+
*/
|
|
33
|
+
export function getGravityHostDir() {
|
|
34
|
+
return join(homedir(), '.gravity-host');
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* Get Chrome extensions directory
|
|
38
|
+
*/
|
|
39
|
+
export function getChromeExtensionsDir() {
|
|
40
|
+
if (platform() !== 'win32') {
|
|
41
|
+
throw new Error('Chrome extension detection only supported on Windows');
|
|
42
|
+
}
|
|
43
|
+
const localAppData = process.env.LOCALAPPDATA;
|
|
44
|
+
if (!localAppData) {
|
|
45
|
+
throw new Error('LOCALAPPDATA environment variable not found');
|
|
46
|
+
}
|
|
47
|
+
return join(localAppData, 'Google', 'Chrome', 'User Data', 'Default', 'Extensions');
|
|
48
|
+
}
|
|
49
|
+
/**
|
|
50
|
+
* Detect Gravity extension ID by scanning Chrome extensions directory
|
|
51
|
+
*/
|
|
52
|
+
export function detectGravityExtensionId() {
|
|
53
|
+
try {
|
|
54
|
+
const extensionsDir = getChromeExtensionsDir();
|
|
55
|
+
if (!existsSync(extensionsDir)) {
|
|
56
|
+
return null;
|
|
57
|
+
}
|
|
58
|
+
const extensionFolders = require('fs').readdirSync(extensionsDir);
|
|
59
|
+
for (const folder of extensionFolders) {
|
|
60
|
+
const folderPath = join(extensionsDir, folder);
|
|
61
|
+
const stats = require('fs').statSync(folderPath);
|
|
62
|
+
if (!stats.isDirectory())
|
|
63
|
+
continue;
|
|
64
|
+
// Look for manifest.json in the latest version folder
|
|
65
|
+
const versionFolders = require('fs').readdirSync(folderPath);
|
|
66
|
+
for (const versionFolder of versionFolders) {
|
|
67
|
+
const manifestPath = join(folderPath, versionFolder, 'manifest.json');
|
|
68
|
+
if (existsSync(manifestPath)) {
|
|
69
|
+
try {
|
|
70
|
+
const manifest = JSON.parse(readFileSync(manifestPath, 'utf-8'));
|
|
71
|
+
if (manifest.name === 'DevTools Bridge' || manifest.name === 'Gravity') {
|
|
72
|
+
return folder;
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
catch {
|
|
76
|
+
// Skip invalid manifests
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
return null;
|
|
82
|
+
}
|
|
83
|
+
catch (error) {
|
|
84
|
+
return null;
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
/**
|
|
88
|
+
* Patch manifest.json with extension ID and path
|
|
89
|
+
*/
|
|
90
|
+
export function patchManifest(manifestPath, extensionId, hostPath) {
|
|
91
|
+
const manifest = JSON.parse(readFileSync(manifestPath, 'utf-8'));
|
|
92
|
+
manifest.allowed_origins = [`chrome-extension://${extensionId}/`];
|
|
93
|
+
manifest.path = hostPath;
|
|
94
|
+
writeFileSync(manifestPath, JSON.stringify(manifest, null, 2));
|
|
95
|
+
}
|
|
96
|
+
/**
|
|
97
|
+
* Write Windows registry key for native messaging host
|
|
98
|
+
*/
|
|
99
|
+
export function writeRegistryKey(hostName, manifestPath) {
|
|
100
|
+
if (platform() !== 'win32') {
|
|
101
|
+
throw new Error('Registry operations only supported on Windows');
|
|
102
|
+
}
|
|
103
|
+
const regPath = `HKCU\\Software\\Google\\Chrome\\NativeMessagingHosts\\${hostName}`;
|
|
104
|
+
const escapedPath = manifestPath.replace(/\\/g, '\\\\');
|
|
105
|
+
try {
|
|
106
|
+
execSync(`reg add "${regPath}" /ve /d "${escapedPath}" /f`, {
|
|
107
|
+
stdio: 'pipe',
|
|
108
|
+
});
|
|
109
|
+
}
|
|
110
|
+
catch (error) {
|
|
111
|
+
throw new Error(`Failed to write registry key: ${error.message}`);
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
/**
|
|
115
|
+
* Check if registry key exists
|
|
116
|
+
*/
|
|
117
|
+
export function registryKeyExists(hostName) {
|
|
118
|
+
if (platform() !== 'win32') {
|
|
119
|
+
return false;
|
|
120
|
+
}
|
|
121
|
+
const regPath = `HKCU\\Software\\Google\\Chrome\\NativeMessagingHosts\\${hostName}`;
|
|
122
|
+
try {
|
|
123
|
+
execSync(`reg query "${regPath}"`, { stdio: 'pipe' });
|
|
124
|
+
return true;
|
|
125
|
+
}
|
|
126
|
+
catch {
|
|
127
|
+
return false;
|
|
128
|
+
}
|
|
129
|
+
}
|
|
130
|
+
/**
|
|
131
|
+
* Get registry key value
|
|
132
|
+
*/
|
|
133
|
+
export function getRegistryKeyValue(hostName) {
|
|
134
|
+
if (platform() !== 'win32') {
|
|
135
|
+
return null;
|
|
136
|
+
}
|
|
137
|
+
const regPath = `HKCU\\Software\\Google\\Chrome\\NativeMessagingHosts\\${hostName}`;
|
|
138
|
+
try {
|
|
139
|
+
const output = execSync(`reg query "${regPath}" /ve`, { encoding: 'utf-8' });
|
|
140
|
+
const match = output.match(/REG_SZ\s+(.+)/);
|
|
141
|
+
return match ? match[1].trim() : null;
|
|
142
|
+
}
|
|
143
|
+
catch {
|
|
144
|
+
return null;
|
|
145
|
+
}
|
|
146
|
+
}
|
|
147
|
+
/**
|
|
148
|
+
* Check if Chrome is running
|
|
149
|
+
*/
|
|
150
|
+
export function isChromeRunning() {
|
|
151
|
+
if (platform() !== 'win32') {
|
|
152
|
+
return false;
|
|
153
|
+
}
|
|
154
|
+
try {
|
|
155
|
+
execSync('tasklist | find /i "chrome.exe"', { stdio: 'pipe' });
|
|
156
|
+
return true;
|
|
157
|
+
}
|
|
158
|
+
catch {
|
|
159
|
+
return false;
|
|
160
|
+
}
|
|
161
|
+
}
|
|
162
|
+
/**
|
|
163
|
+
* Prompt user to restart Chrome
|
|
164
|
+
*/
|
|
165
|
+
export async function promptRestartChrome() {
|
|
166
|
+
if (!isChromeRunning()) {
|
|
167
|
+
return;
|
|
168
|
+
}
|
|
169
|
+
const shouldRestart = await promptConfirm('\n⚠️ Chrome is currently running. Restart Chrome for changes to take effect?');
|
|
170
|
+
if (shouldRestart) {
|
|
171
|
+
try {
|
|
172
|
+
execSync('taskkill /IM chrome.exe /F', { stdio: 'pipe' });
|
|
173
|
+
console.error('✅ Chrome closed. Please restart it manually.');
|
|
174
|
+
}
|
|
175
|
+
catch {
|
|
176
|
+
console.error('⚠️ Could not close Chrome automatically. Please restart it manually.');
|
|
177
|
+
}
|
|
178
|
+
}
|
|
179
|
+
}
|
|
180
|
+
/**
|
|
181
|
+
* Validate manifest file
|
|
182
|
+
*/
|
|
183
|
+
export function validateManifest(manifestPath) {
|
|
184
|
+
const errors = [];
|
|
185
|
+
if (!existsSync(manifestPath)) {
|
|
186
|
+
return { valid: false, errors: ['Manifest file not found'] };
|
|
187
|
+
}
|
|
188
|
+
try {
|
|
189
|
+
const manifest = JSON.parse(readFileSync(manifestPath, 'utf-8'));
|
|
190
|
+
if (!manifest.name) {
|
|
191
|
+
errors.push('Missing "name" field');
|
|
192
|
+
}
|
|
193
|
+
if (!manifest.path) {
|
|
194
|
+
errors.push('Missing "path" field');
|
|
195
|
+
}
|
|
196
|
+
if (!manifest.allowed_origins || !Array.isArray(manifest.allowed_origins)) {
|
|
197
|
+
errors.push('Missing or invalid "allowed_origins" field');
|
|
198
|
+
}
|
|
199
|
+
return { valid: errors.length === 0, errors };
|
|
200
|
+
}
|
|
201
|
+
catch (error) {
|
|
202
|
+
return { valid: false, errors: [`Invalid JSON: ${error.message}`] };
|
|
203
|
+
}
|
|
204
|
+
}
|
|
205
|
+
/**
|
|
206
|
+
* Check if native host executable exists
|
|
207
|
+
*/
|
|
208
|
+
export function nativeHostExists(hostPath) {
|
|
209
|
+
return existsSync(hostPath);
|
|
210
|
+
}
|
|
211
|
+
/**
|
|
212
|
+
* Test WebSocket connection to extension
|
|
213
|
+
*/
|
|
214
|
+
export async function testWebSocketConnection(port = 9224) {
|
|
215
|
+
return new Promise((resolve) => {
|
|
216
|
+
const timeout = setTimeout(() => {
|
|
217
|
+
resolve(false);
|
|
218
|
+
}, 3000);
|
|
219
|
+
try {
|
|
220
|
+
const ws = require('ws');
|
|
221
|
+
const socket = new ws(`ws://localhost:${port}`);
|
|
222
|
+
socket.on('open', () => {
|
|
223
|
+
clearTimeout(timeout);
|
|
224
|
+
socket.close();
|
|
225
|
+
resolve(true);
|
|
226
|
+
});
|
|
227
|
+
socket.on('error', () => {
|
|
228
|
+
clearTimeout(timeout);
|
|
229
|
+
resolve(false);
|
|
230
|
+
});
|
|
231
|
+
}
|
|
232
|
+
catch {
|
|
233
|
+
clearTimeout(timeout);
|
|
234
|
+
resolve(false);
|
|
235
|
+
}
|
|
236
|
+
});
|
|
237
|
+
}
|
|
238
|
+
//# sourceMappingURL=cli-utils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cli-utils.js","sourceRoot":"","sources":["../src/cli-utils.ts"],"names":[],"mappings":"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"}
|
package/dist/cli.d.ts
CHANGED
|
@@ -1,10 +1,13 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
/**
|
|
3
|
-
* Gravity
|
|
3
|
+
* Gravity CLI
|
|
4
4
|
*
|
|
5
|
-
*
|
|
6
|
-
*
|
|
7
|
-
*
|
|
5
|
+
* Commands:
|
|
6
|
+
* - gravity setup-extension Extract and setup Chrome extension
|
|
7
|
+
* - gravity setup-native-host Setup native messaging host
|
|
8
|
+
* - gravity test-connection Test connection to extension
|
|
9
|
+
* - gravity Start MCP server
|
|
10
|
+
* - gravity --help Show help
|
|
8
11
|
*/
|
|
9
12
|
export {};
|
|
10
13
|
//# sourceMappingURL=cli.d.ts.map
|
package/dist/cli.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AAEA
|
|
1
|
+
{"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AAEA;;;;;;;;;GASG"}
|