replicas-cli 0.2.23 → 0.2.26
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/dist/index.js +2877 -300
- package/package.json +4 -2
- package/dist/commands/claude-auth.d.ts +0 -5
- package/dist/commands/claude-auth.d.ts.map +0 -1
- package/dist/commands/claude-auth.js +0 -52
- package/dist/commands/claude-auth.js.map +0 -1
- package/dist/commands/code.d.ts +0 -4
- package/dist/commands/code.d.ts.map +0 -1
- package/dist/commands/code.js +0 -67
- package/dist/commands/code.js.map +0 -1
- package/dist/commands/codex-auth.d.ts +0 -5
- package/dist/commands/codex-auth.d.ts.map +0 -1
- package/dist/commands/codex-auth.js +0 -52
- package/dist/commands/codex-auth.js.map +0 -1
- package/dist/commands/config.d.ts +0 -4
- package/dist/commands/config.d.ts.map +0 -1
- package/dist/commands/config.js +0 -74
- package/dist/commands/config.js.map +0 -1
- package/dist/commands/connect.d.ts +0 -4
- package/dist/commands/connect.d.ts.map +0 -1
- package/dist/commands/connect.js +0 -40
- package/dist/commands/connect.js.map +0 -1
- package/dist/commands/dev-sync.d.ts +0 -2
- package/dist/commands/dev-sync.d.ts.map +0 -1
- package/dist/commands/dev-sync.js +0 -78
- package/dist/commands/dev-sync.js.map +0 -1
- package/dist/commands/init.d.ts +0 -4
- package/dist/commands/init.d.ts.map +0 -1
- package/dist/commands/init.js +0 -45
- package/dist/commands/init.js.map +0 -1
- package/dist/commands/login.d.ts +0 -2
- package/dist/commands/login.d.ts.map +0 -1
- package/dist/commands/login.js +0 -203
- package/dist/commands/login.js.map +0 -1
- package/dist/commands/logout.d.ts +0 -2
- package/dist/commands/logout.d.ts.map +0 -1
- package/dist/commands/logout.js +0 -17
- package/dist/commands/logout.js.map +0 -1
- package/dist/commands/org.d.ts +0 -3
- package/dist/commands/org.d.ts.map +0 -1
- package/dist/commands/org.js +0 -83
- package/dist/commands/org.js.map +0 -1
- package/dist/commands/replica.d.ts +0 -19
- package/dist/commands/replica.d.ts.map +0 -1
- package/dist/commands/replica.js +0 -289
- package/dist/commands/replica.js.map +0 -1
- package/dist/commands/repositories.d.ts +0 -2
- package/dist/commands/repositories.d.ts.map +0 -1
- package/dist/commands/repositories.js +0 -41
- package/dist/commands/repositories.js.map +0 -1
- package/dist/commands/tools.d.ts +0 -2
- package/dist/commands/tools.d.ts.map +0 -1
- package/dist/commands/tools.js +0 -70
- package/dist/commands/tools.js.map +0 -1
- package/dist/commands/whoami.d.ts +0 -2
- package/dist/commands/whoami.d.ts.map +0 -1
- package/dist/commands/whoami.js +0 -31
- package/dist/commands/whoami.js.map +0 -1
- package/dist/index.d.ts +0 -4
- package/dist/index.d.ts.map +0 -1
- package/dist/index.js.map +0 -1
- package/dist/lib/api.d.ts +0 -7
- package/dist/lib/api.d.ts.map +0 -1
- package/dist/lib/api.js +0 -81
- package/dist/lib/api.js.map +0 -1
- package/dist/lib/auth.d.ts +0 -4
- package/dist/lib/auth.d.ts.map +0 -1
- package/dist/lib/auth.js +0 -62
- package/dist/lib/auth.js.map +0 -1
- package/dist/lib/claude-oauth.d.ts +0 -10
- package/dist/lib/claude-oauth.d.ts.map +0 -1
- package/dist/lib/claude-oauth.js +0 -131
- package/dist/lib/claude-oauth.js.map +0 -1
- package/dist/lib/codex-oauth.d.ts +0 -11
- package/dist/lib/codex-oauth.d.ts.map +0 -1
- package/dist/lib/codex-oauth.js +0 -183
- package/dist/lib/codex-oauth.js.map +0 -1
- package/dist/lib/config.d.ts +0 -12
- package/dist/lib/config.d.ts.map +0 -1
- package/dist/lib/config.js +0 -84
- package/dist/lib/config.js.map +0 -1
- package/dist/lib/git.d.ts +0 -4
- package/dist/lib/git.d.ts.map +0 -1
- package/dist/lib/git.js +0 -39
- package/dist/lib/git.js.map +0 -1
- package/dist/lib/organization.d.ts +0 -5
- package/dist/lib/organization.d.ts.map +0 -1
- package/dist/lib/organization.js +0 -29
- package/dist/lib/organization.js.map +0 -1
- package/dist/lib/pkce.d.ts +0 -14
- package/dist/lib/pkce.d.ts.map +0 -1
- package/dist/lib/pkce.js +0 -37
- package/dist/lib/pkce.js.map +0 -1
- package/dist/lib/ports.d.ts +0 -3
- package/dist/lib/ports.d.ts.map +0 -1
- package/dist/lib/ports.js +0 -44
- package/dist/lib/ports.js.map +0 -1
- package/dist/lib/replicas-config.d.ts +0 -8
- package/dist/lib/replicas-config.d.ts.map +0 -1
- package/dist/lib/replicas-config.js +0 -64
- package/dist/lib/replicas-config.js.map +0 -1
- package/dist/lib/ssh-config.d.ts +0 -12
- package/dist/lib/ssh-config.d.ts.map +0 -1
- package/dist/lib/ssh-config.js +0 -122
- package/dist/lib/ssh-config.js.map +0 -1
- package/dist/lib/ssh.d.ts +0 -5
- package/dist/lib/ssh.d.ts.map +0 -1
- package/dist/lib/ssh.js +0 -82
- package/dist/lib/ssh.js.map +0 -1
- package/dist/lib/supabase.d.ts +0 -5
- package/dist/lib/supabase.d.ts.map +0 -1
- package/dist/lib/supabase.js +0 -15
- package/dist/lib/supabase.js.map +0 -1
- package/dist/lib/version-check.d.ts +0 -2
- package/dist/lib/version-check.d.ts.map +0 -1
- package/dist/lib/version-check.js +0 -44
- package/dist/lib/version-check.js.map +0 -1
- package/dist/lib/workspace-connection.d.ts +0 -11
- package/dist/lib/workspace-connection.d.ts.map +0 -1
- package/dist/lib/workspace-connection.js +0 -132
- package/dist/lib/workspace-connection.js.map +0 -1
- package/dist/types/index.d.ts +0 -52
- package/dist/types/index.d.ts.map +0 -1
- package/dist/types/index.js +0 -3
- package/dist/types/index.js.map +0 -1
package/dist/lib/codex-oauth.js
DELETED
|
@@ -1,183 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.runCodexOAuthFlow = runCodexOAuthFlow;
|
|
7
|
-
const http_1 = __importDefault(require("http"));
|
|
8
|
-
const url_1 = require("url");
|
|
9
|
-
const open_1 = __importDefault(require("open"));
|
|
10
|
-
const pkce_1 = require("./pkce");
|
|
11
|
-
const CODEX_OAUTH_CLIENT_ID = 'app_EMoamEEZ73f0CkXaXp7hrann';
|
|
12
|
-
const AUTHORIZATION_ENDPOINT = 'https://auth.openai.com/oauth/authorize';
|
|
13
|
-
const TOKEN_ENDPOINT = 'https://auth.openai.com/oauth/token';
|
|
14
|
-
const CALLBACK_PORT = 1455;
|
|
15
|
-
const CALLBACK_PATH = '/auth/callback';
|
|
16
|
-
const WEB_APP_URL = process.env.REPLICAS_WEB_URL || 'https://replicas.dev';
|
|
17
|
-
/**
|
|
18
|
-
* Build OAuth authorization URL with PKCE
|
|
19
|
-
*/
|
|
20
|
-
function buildAuthorizationUrl(codeChallenge, state) {
|
|
21
|
-
const redirectUri = `http://localhost:${CALLBACK_PORT}${CALLBACK_PATH}`;
|
|
22
|
-
const params = new URLSearchParams({
|
|
23
|
-
response_type: 'code',
|
|
24
|
-
client_id: CODEX_OAUTH_CLIENT_ID,
|
|
25
|
-
redirect_uri: redirectUri,
|
|
26
|
-
scope: 'openid profile email offline_access',
|
|
27
|
-
code_challenge: codeChallenge,
|
|
28
|
-
code_challenge_method: 'S256',
|
|
29
|
-
id_token_add_organizations: 'true',
|
|
30
|
-
codex_cli_simplified_flow: 'true',
|
|
31
|
-
state: state,
|
|
32
|
-
originator: 'codex_cli_rs',
|
|
33
|
-
});
|
|
34
|
-
return `${AUTHORIZATION_ENDPOINT}?${params.toString()}`;
|
|
35
|
-
}
|
|
36
|
-
/**
|
|
37
|
-
* Exchange authorization code for tokens
|
|
38
|
-
*/
|
|
39
|
-
async function exchangeCodeForTokens(code, codeVerifier) {
|
|
40
|
-
const redirectUri = `http://localhost:${CALLBACK_PORT}${CALLBACK_PATH}`;
|
|
41
|
-
const params = new URLSearchParams({
|
|
42
|
-
grant_type: 'authorization_code',
|
|
43
|
-
code: code,
|
|
44
|
-
redirect_uri: redirectUri,
|
|
45
|
-
client_id: CODEX_OAUTH_CLIENT_ID,
|
|
46
|
-
code_verifier: codeVerifier,
|
|
47
|
-
});
|
|
48
|
-
const response = await fetch(TOKEN_ENDPOINT, {
|
|
49
|
-
method: 'POST',
|
|
50
|
-
headers: {
|
|
51
|
-
'Content-Type': 'application/x-www-form-urlencoded',
|
|
52
|
-
},
|
|
53
|
-
body: params.toString(),
|
|
54
|
-
});
|
|
55
|
-
if (!response.ok) {
|
|
56
|
-
const errorText = await response.text();
|
|
57
|
-
throw new Error(`Failed to exchange code for tokens: ${response.status} ${errorText}`);
|
|
58
|
-
}
|
|
59
|
-
const data = await response.json();
|
|
60
|
-
return {
|
|
61
|
-
idToken: data.id_token,
|
|
62
|
-
accessToken: data.access_token,
|
|
63
|
-
refreshToken: data.refresh_token,
|
|
64
|
-
};
|
|
65
|
-
}
|
|
66
|
-
/**
|
|
67
|
-
* Start local HTTP server to receive OAuth callback
|
|
68
|
-
*/
|
|
69
|
-
function startCallbackServer(expectedState, codeVerifier) {
|
|
70
|
-
return new Promise((resolve, reject) => {
|
|
71
|
-
const server = http_1.default.createServer(async (req, res) => {
|
|
72
|
-
try {
|
|
73
|
-
if (!req.url) {
|
|
74
|
-
res.writeHead(400);
|
|
75
|
-
res.end('Bad Request');
|
|
76
|
-
return;
|
|
77
|
-
}
|
|
78
|
-
const url = new url_1.URL(req.url, `http://127.0.0.1:${CALLBACK_PORT}`);
|
|
79
|
-
// Handle callback
|
|
80
|
-
if (url.pathname === CALLBACK_PATH) {
|
|
81
|
-
const code = url.searchParams.get('code');
|
|
82
|
-
const state = url.searchParams.get('state');
|
|
83
|
-
const error = url.searchParams.get('error');
|
|
84
|
-
const errorDescription = url.searchParams.get('error_description');
|
|
85
|
-
// Check for errors from OAuth provider
|
|
86
|
-
if (error) {
|
|
87
|
-
const errorMessage = encodeURIComponent(`${error}: ${errorDescription || 'Unknown error'}`);
|
|
88
|
-
res.writeHead(302, { 'Location': `${WEB_APP_URL}/codex/oauth/error?message=${errorMessage}` });
|
|
89
|
-
res.end();
|
|
90
|
-
server.close();
|
|
91
|
-
reject(new Error(`OAuth error: ${error} - ${errorDescription}`));
|
|
92
|
-
return;
|
|
93
|
-
}
|
|
94
|
-
// Validate state (CSRF protection)
|
|
95
|
-
if (state !== expectedState) {
|
|
96
|
-
const errorMessage = encodeURIComponent('State parameter mismatch. Possible CSRF attack.');
|
|
97
|
-
res.writeHead(302, { 'Location': `${WEB_APP_URL}/codex/oauth/error?message=${errorMessage}` });
|
|
98
|
-
res.end();
|
|
99
|
-
server.close();
|
|
100
|
-
reject(new Error('State mismatch - possible CSRF attack'));
|
|
101
|
-
return;
|
|
102
|
-
}
|
|
103
|
-
// Validate code
|
|
104
|
-
if (!code) {
|
|
105
|
-
const errorMessage = encodeURIComponent('No authorization code received.');
|
|
106
|
-
res.writeHead(302, { 'Location': `${WEB_APP_URL}/codex/oauth/error?message=${errorMessage}` });
|
|
107
|
-
res.end();
|
|
108
|
-
server.close();
|
|
109
|
-
reject(new Error('No authorization code received'));
|
|
110
|
-
return;
|
|
111
|
-
}
|
|
112
|
-
// Exchange code for tokens
|
|
113
|
-
try {
|
|
114
|
-
const tokens = await exchangeCodeForTokens(code, codeVerifier);
|
|
115
|
-
res.writeHead(302, { 'Location': `${WEB_APP_URL}/codex/oauth/success` });
|
|
116
|
-
res.end();
|
|
117
|
-
server.close();
|
|
118
|
-
resolve(tokens);
|
|
119
|
-
}
|
|
120
|
-
catch (tokenError) {
|
|
121
|
-
const errorMessage = encodeURIComponent(tokenError instanceof Error ? tokenError.message : 'Unknown error');
|
|
122
|
-
res.writeHead(302, { 'Location': `${WEB_APP_URL}/codex/oauth/error?message=${errorMessage}` });
|
|
123
|
-
res.end();
|
|
124
|
-
server.close();
|
|
125
|
-
reject(tokenError);
|
|
126
|
-
}
|
|
127
|
-
}
|
|
128
|
-
else {
|
|
129
|
-
res.writeHead(404);
|
|
130
|
-
res.end('Not Found');
|
|
131
|
-
}
|
|
132
|
-
}
|
|
133
|
-
catch (serverError) {
|
|
134
|
-
res.writeHead(500);
|
|
135
|
-
res.end('Internal Server Error');
|
|
136
|
-
server.close();
|
|
137
|
-
reject(serverError);
|
|
138
|
-
}
|
|
139
|
-
});
|
|
140
|
-
// Handle server errors
|
|
141
|
-
server.on('error', (err) => {
|
|
142
|
-
if (err.code === 'EADDRINUSE') {
|
|
143
|
-
reject(new Error(`Port ${CALLBACK_PORT} is already in use. Please close any other OAuth flows and try again.`));
|
|
144
|
-
}
|
|
145
|
-
else {
|
|
146
|
-
reject(err);
|
|
147
|
-
}
|
|
148
|
-
});
|
|
149
|
-
// Start server
|
|
150
|
-
server.listen(CALLBACK_PORT, '127.0.0.1');
|
|
151
|
-
});
|
|
152
|
-
}
|
|
153
|
-
/**
|
|
154
|
-
* Run the complete OAuth flow
|
|
155
|
-
* Opens browser, starts local server, waits for callback, exchanges code for tokens
|
|
156
|
-
*/
|
|
157
|
-
async function runCodexOAuthFlow() {
|
|
158
|
-
// Generate PKCE codes and state
|
|
159
|
-
const pkce = (0, pkce_1.generatePkceCodes)();
|
|
160
|
-
const state = (0, pkce_1.generateState)();
|
|
161
|
-
// Build authorization URL
|
|
162
|
-
const authUrl = buildAuthorizationUrl(pkce.codeChallenge, state);
|
|
163
|
-
// Start callback server (non-blocking)
|
|
164
|
-
const tokensPromise = startCallbackServer(state, pkce.codeVerifier);
|
|
165
|
-
// Wait a moment for server to start
|
|
166
|
-
await new Promise(resolve => setTimeout(resolve, 500));
|
|
167
|
-
console.log('If the browser does not open automatically, visit:');
|
|
168
|
-
console.log(authUrl);
|
|
169
|
-
console.log();
|
|
170
|
-
// Open browser
|
|
171
|
-
try {
|
|
172
|
-
await (0, open_1.default)(authUrl);
|
|
173
|
-
}
|
|
174
|
-
catch (openError) {
|
|
175
|
-
console.warn('Failed to open browser automatically. Please open the URL manually.');
|
|
176
|
-
}
|
|
177
|
-
console.log('Waiting for authentication...');
|
|
178
|
-
// Wait for callback and token exchange
|
|
179
|
-
const tokens = await tokensPromise;
|
|
180
|
-
console.log('✓ Successfully obtained Codex credentials');
|
|
181
|
-
return tokens;
|
|
182
|
-
}
|
|
183
|
-
//# sourceMappingURL=codex-oauth.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"codex-oauth.js","sourceRoot":"","sources":["../../src/lib/codex-oauth.ts"],"names":[],"mappings":"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"}
|
package/dist/lib/config.d.ts
DELETED
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
import { Config } from '../types';
|
|
2
|
-
declare const CONFIG_DIR: string;
|
|
3
|
-
export declare function readConfig(): Config | null;
|
|
4
|
-
export declare function writeConfig(config: Config): void;
|
|
5
|
-
export declare function deleteConfig(): void;
|
|
6
|
-
export declare function isAuthenticated(): boolean;
|
|
7
|
-
export declare function setOrganizationId(organizationId: string): void;
|
|
8
|
-
export declare function getOrganizationId(): string | null;
|
|
9
|
-
export declare function setIdeCommand(ideCommand: string): void;
|
|
10
|
-
export declare function getIdeCommand(): string;
|
|
11
|
-
export { CONFIG_DIR };
|
|
12
|
-
//# sourceMappingURL=config.d.ts.map
|
package/dist/lib/config.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/lib/config.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAElC,QAAA,MAAM,UAAU,QAAuC,CAAC;AASxD,wBAAgB,UAAU,IAAI,MAAM,GAAG,IAAI,CAY1C;AAED,wBAAgB,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAWhD;AAED,wBAAgB,YAAY,IAAI,IAAI,CAInC;AAED,wBAAgB,eAAe,IAAI,OAAO,CAGzC;AAED,wBAAgB,iBAAiB,CAAC,cAAc,EAAE,MAAM,GAAG,IAAI,CAQ9D;AAED,wBAAgB,iBAAiB,IAAI,MAAM,GAAG,IAAI,CAGjD;AAED,wBAAgB,aAAa,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI,CAQtD;AAED,wBAAgB,aAAa,IAAI,MAAM,CAGtC;AAED,OAAO,EAAE,UAAU,EAAE,CAAC"}
|
package/dist/lib/config.js
DELETED
|
@@ -1,84 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.CONFIG_DIR = void 0;
|
|
7
|
-
exports.readConfig = readConfig;
|
|
8
|
-
exports.writeConfig = writeConfig;
|
|
9
|
-
exports.deleteConfig = deleteConfig;
|
|
10
|
-
exports.isAuthenticated = isAuthenticated;
|
|
11
|
-
exports.setOrganizationId = setOrganizationId;
|
|
12
|
-
exports.getOrganizationId = getOrganizationId;
|
|
13
|
-
exports.setIdeCommand = setIdeCommand;
|
|
14
|
-
exports.getIdeCommand = getIdeCommand;
|
|
15
|
-
const fs_1 = __importDefault(require("fs"));
|
|
16
|
-
const path_1 = __importDefault(require("path"));
|
|
17
|
-
const os_1 = __importDefault(require("os"));
|
|
18
|
-
const CONFIG_DIR = path_1.default.join(os_1.default.homedir(), '.replicas');
|
|
19
|
-
exports.CONFIG_DIR = CONFIG_DIR;
|
|
20
|
-
const CONFIG_FILE = path_1.default.join(CONFIG_DIR, 'config.json');
|
|
21
|
-
function ensureConfigDir() {
|
|
22
|
-
if (!fs_1.default.existsSync(CONFIG_DIR)) {
|
|
23
|
-
fs_1.default.mkdirSync(CONFIG_DIR, { recursive: true, mode: 0o700 });
|
|
24
|
-
}
|
|
25
|
-
}
|
|
26
|
-
function readConfig() {
|
|
27
|
-
if (!fs_1.default.existsSync(CONFIG_FILE)) {
|
|
28
|
-
return null;
|
|
29
|
-
}
|
|
30
|
-
try {
|
|
31
|
-
const data = fs_1.default.readFileSync(CONFIG_FILE, 'utf-8');
|
|
32
|
-
return JSON.parse(data);
|
|
33
|
-
}
|
|
34
|
-
catch (error) {
|
|
35
|
-
console.error('Error reading config file:', error);
|
|
36
|
-
return null;
|
|
37
|
-
}
|
|
38
|
-
}
|
|
39
|
-
function writeConfig(config) {
|
|
40
|
-
ensureConfigDir();
|
|
41
|
-
try {
|
|
42
|
-
fs_1.default.writeFileSync(CONFIG_FILE, JSON.stringify(config, null, 2), {
|
|
43
|
-
mode: 0o600, // Only owner can read/write
|
|
44
|
-
});
|
|
45
|
-
}
|
|
46
|
-
catch (error) {
|
|
47
|
-
console.error('Error writing config file:', error);
|
|
48
|
-
throw error;
|
|
49
|
-
}
|
|
50
|
-
}
|
|
51
|
-
function deleteConfig() {
|
|
52
|
-
if (fs_1.default.existsSync(CONFIG_FILE)) {
|
|
53
|
-
fs_1.default.unlinkSync(CONFIG_FILE);
|
|
54
|
-
}
|
|
55
|
-
}
|
|
56
|
-
function isAuthenticated() {
|
|
57
|
-
const config = readConfig();
|
|
58
|
-
return config !== null && !!config.access_token;
|
|
59
|
-
}
|
|
60
|
-
function setOrganizationId(organizationId) {
|
|
61
|
-
const config = readConfig();
|
|
62
|
-
if (!config) {
|
|
63
|
-
throw new Error('No config file found. Please login first.');
|
|
64
|
-
}
|
|
65
|
-
config.organization_id = organizationId;
|
|
66
|
-
writeConfig(config);
|
|
67
|
-
}
|
|
68
|
-
function getOrganizationId() {
|
|
69
|
-
const config = readConfig();
|
|
70
|
-
return config?.organization_id || null;
|
|
71
|
-
}
|
|
72
|
-
function setIdeCommand(ideCommand) {
|
|
73
|
-
const config = readConfig();
|
|
74
|
-
if (!config) {
|
|
75
|
-
throw new Error('No config file found. Please login first.');
|
|
76
|
-
}
|
|
77
|
-
config.ide_command = ideCommand;
|
|
78
|
-
writeConfig(config);
|
|
79
|
-
}
|
|
80
|
-
function getIdeCommand() {
|
|
81
|
-
const config = readConfig();
|
|
82
|
-
return config?.ide_command || 'code';
|
|
83
|
-
}
|
|
84
|
-
//# sourceMappingURL=config.js.map
|
package/dist/lib/config.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/lib/config.ts"],"names":[],"mappings":";;;;;;AAcA,gCAYC;AAED,kCAWC;AAED,oCAIC;AAED,0CAGC;AAED,8CAQC;AAED,8CAGC;AAED,sCAQC;AAED,sCAGC;AAhFD,4CAAoB;AACpB,gDAAwB;AACxB,4CAAoB;AAGpB,MAAM,UAAU,GAAG,cAAI,CAAC,IAAI,CAAC,YAAE,CAAC,OAAO,EAAE,EAAE,WAAW,CAAC,CAAC;AA6E/C,gCAAU;AA5EnB,MAAM,WAAW,GAAG,cAAI,CAAC,IAAI,CAAC,UAAU,EAAE,aAAa,CAAC,CAAC;AAEzD,SAAS,eAAe;IACtB,IAAI,CAAC,YAAE,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;QAC/B,YAAE,CAAC,SAAS,CAAC,UAAU,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;IAC7D,CAAC;AACH,CAAC;AAED,SAAgB,UAAU;IACxB,IAAI,CAAC,YAAE,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC;QAChC,OAAO,IAAI,CAAC;IACd,CAAC;IAED,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,YAAE,CAAC,YAAY,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;QACnD,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAW,CAAC;IACpC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CAAC,4BAA4B,EAAE,KAAK,CAAC,CAAC;QACnD,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED,SAAgB,WAAW,CAAC,MAAc;IACxC,eAAe,EAAE,CAAC;IAElB,IAAI,CAAC;QACH,YAAE,CAAC,aAAa,CAAC,WAAW,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE;YAC7D,IAAI,EAAE,KAAK,EAAE,4BAA4B;SAC1C,CAAC,CAAC;IACL,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CAAC,4BAA4B,EAAE,KAAK,CAAC,CAAC;QACnD,MAAM,KAAK,CAAC;IACd,CAAC;AACH,CAAC;AAED,SAAgB,YAAY;IAC1B,IAAI,YAAE,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC;QAC/B,YAAE,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC;IAC7B,CAAC;AACH,CAAC;AAED,SAAgB,eAAe;IAC7B,MAAM,MAAM,GAAG,UAAU,EAAE,CAAC;IAC5B,OAAO,MAAM,KAAK,IAAI,IAAI,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC;AAClD,CAAC;AAED,SAAgB,iBAAiB,CAAC,cAAsB;IACtD,MAAM,MAAM,GAAG,UAAU,EAAE,CAAC;IAC5B,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,MAAM,IAAI,KAAK,CAAC,2CAA2C,CAAC,CAAC;IAC/D,CAAC;IAED,MAAM,CAAC,eAAe,GAAG,cAAc,CAAC;IACxC,WAAW,CAAC,MAAM,CAAC,CAAC;AACtB,CAAC;AAED,SAAgB,iBAAiB;IAC/B,MAAM,MAAM,GAAG,UAAU,EAAE,CAAC;IAC5B,OAAO,MAAM,EAAE,eAAe,IAAI,IAAI,CAAC;AACzC,CAAC;AAED,SAAgB,aAAa,CAAC,UAAkB;IAC9C,MAAM,MAAM,GAAG,UAAU,EAAE,CAAC;IAC5B,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,MAAM,IAAI,KAAK,CAAC,2CAA2C,CAAC,CAAC;IAC/D,CAAC;IAED,MAAM,CAAC,WAAW,GAAG,UAAU,CAAC;IAChC,WAAW,CAAC,MAAM,CAAC,CAAC;AACtB,CAAC;AAED,SAAgB,aAAa;IAC3B,MAAM,MAAM,GAAG,UAAU,EAAE,CAAC;IAC5B,OAAO,MAAM,EAAE,WAAW,IAAI,MAAM,CAAC;AACvC,CAAC"}
|
package/dist/lib/git.d.ts
DELETED
package/dist/lib/git.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"git.d.ts","sourceRoot":"","sources":["../../src/lib/git.ts"],"names":[],"mappings":"AAGA,wBAAgB,UAAU,IAAI,MAAM,CAUnC;AAED,wBAAgB,cAAc,IAAI,MAAM,CAGvC;AAED,wBAAgB,eAAe,IAAI,OAAO,CAUzC"}
|
package/dist/lib/git.js
DELETED
|
@@ -1,39 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.getGitRoot = getGitRoot;
|
|
7
|
-
exports.getGitRepoName = getGitRepoName;
|
|
8
|
-
exports.isInsideGitRepo = isInsideGitRepo;
|
|
9
|
-
const child_process_1 = require("child_process");
|
|
10
|
-
const path_1 = __importDefault(require("path"));
|
|
11
|
-
function getGitRoot() {
|
|
12
|
-
try {
|
|
13
|
-
const root = (0, child_process_1.execSync)('git rev-parse --show-toplevel', {
|
|
14
|
-
encoding: 'utf-8',
|
|
15
|
-
stdio: ['pipe', 'pipe', 'pipe'],
|
|
16
|
-
}).trim();
|
|
17
|
-
return root;
|
|
18
|
-
}
|
|
19
|
-
catch (error) {
|
|
20
|
-
throw new Error('Not inside a git repository');
|
|
21
|
-
}
|
|
22
|
-
}
|
|
23
|
-
function getGitRepoName() {
|
|
24
|
-
const root = getGitRoot();
|
|
25
|
-
return path_1.default.basename(root);
|
|
26
|
-
}
|
|
27
|
-
function isInsideGitRepo() {
|
|
28
|
-
try {
|
|
29
|
-
(0, child_process_1.execSync)('git rev-parse --is-inside-work-tree', {
|
|
30
|
-
encoding: 'utf-8',
|
|
31
|
-
stdio: ['pipe', 'pipe', 'pipe'],
|
|
32
|
-
});
|
|
33
|
-
return true;
|
|
34
|
-
}
|
|
35
|
-
catch {
|
|
36
|
-
return false;
|
|
37
|
-
}
|
|
38
|
-
}
|
|
39
|
-
//# sourceMappingURL=git.js.map
|
package/dist/lib/git.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"git.js","sourceRoot":"","sources":["../../src/lib/git.ts"],"names":[],"mappings":";;;;;AAGA,gCAUC;AAED,wCAGC;AAED,0CAUC;AA9BD,iDAAyC;AACzC,gDAAwB;AAExB,SAAgB,UAAU;IACxB,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,IAAA,wBAAQ,EAAC,+BAA+B,EAAE;YACrD,QAAQ,EAAE,OAAO;YACjB,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC;SAChC,CAAC,CAAC,IAAI,EAAE,CAAC;QACV,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAC;IACjD,CAAC;AACH,CAAC;AAED,SAAgB,cAAc;IAC5B,MAAM,IAAI,GAAG,UAAU,EAAE,CAAC;IAC1B,OAAO,cAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;AAC7B,CAAC;AAED,SAAgB,eAAe;IAC7B,IAAI,CAAC;QACH,IAAA,wBAAQ,EAAC,qCAAqC,EAAE;YAC9C,QAAQ,EAAE,OAAO;YACjB,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC;SAChC,CAAC,CAAC;QACH,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC"}
|
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
import { Organization } from '../types';
|
|
2
|
-
export declare function fetchOrganizations(): Promise<Organization[]>;
|
|
3
|
-
export declare function setActiveOrganization(organizationId: string): Promise<void>;
|
|
4
|
-
export declare function ensureOrganization(): Promise<string>;
|
|
5
|
-
//# sourceMappingURL=organization.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"organization.d.ts","sourceRoot":"","sources":["../../src/lib/organization.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAQxC,wBAAsB,kBAAkB,IAAI,OAAO,CAAC,YAAY,EAAE,CAAC,CAKlE;AAED,wBAAsB,qBAAqB,CAAC,cAAc,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CASjF;AAED,wBAAsB,kBAAkB,IAAI,OAAO,CAAC,MAAM,CAAC,CAW1D"}
|
package/dist/lib/organization.js
DELETED
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.fetchOrganizations = fetchOrganizations;
|
|
4
|
-
exports.setActiveOrganization = setActiveOrganization;
|
|
5
|
-
exports.ensureOrganization = ensureOrganization;
|
|
6
|
-
const api_1 = require("./api");
|
|
7
|
-
const config_1 = require("./config");
|
|
8
|
-
async function fetchOrganizations() {
|
|
9
|
-
const response = await (0, api_1.authenticatedFetch)('/v1/user/organizations');
|
|
10
|
-
return response.organizations;
|
|
11
|
-
}
|
|
12
|
-
async function setActiveOrganization(organizationId) {
|
|
13
|
-
const organizations = await fetchOrganizations();
|
|
14
|
-
const organization = organizations.find(org => org.id === organizationId);
|
|
15
|
-
if (!organization) {
|
|
16
|
-
throw new Error(`Organization with ID ${organizationId} not found or you don't have access to it.`);
|
|
17
|
-
}
|
|
18
|
-
(0, config_1.setOrganizationId)(organizationId);
|
|
19
|
-
}
|
|
20
|
-
async function ensureOrganization() {
|
|
21
|
-
const organizations = await fetchOrganizations();
|
|
22
|
-
if (organizations.length === 0) {
|
|
23
|
-
throw new Error('You are not a member of any organization. Please contact support.');
|
|
24
|
-
}
|
|
25
|
-
const defaultOrg = organizations[0];
|
|
26
|
-
(0, config_1.setOrganizationId)(defaultOrg.id);
|
|
27
|
-
return defaultOrg.id;
|
|
28
|
-
}
|
|
29
|
-
//# sourceMappingURL=organization.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"organization.js","sourceRoot":"","sources":["../../src/lib/organization.ts"],"names":[],"mappings":";;AAQA,gDAKC;AAED,sDASC;AAED,gDAWC;AApCD,+BAA2C;AAC3C,qCAAwE;AAMjE,KAAK,UAAU,kBAAkB;IACtC,MAAM,QAAQ,GAAG,MAAM,IAAA,wBAAkB,EACvC,wBAAwB,CACzB,CAAC;IACF,OAAO,QAAQ,CAAC,aAAa,CAAC;AAChC,CAAC;AAEM,KAAK,UAAU,qBAAqB,CAAC,cAAsB;IAChE,MAAM,aAAa,GAAG,MAAM,kBAAkB,EAAE,CAAC;IACjD,MAAM,YAAY,GAAG,aAAa,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,KAAK,cAAc,CAAC,CAAC;IAE1E,IAAI,CAAC,YAAY,EAAE,CAAC;QAClB,MAAM,IAAI,KAAK,CAAC,wBAAwB,cAAc,4CAA4C,CAAC,CAAC;IACtG,CAAC;IAED,IAAA,0BAAuB,EAAC,cAAc,CAAC,CAAC;AAC1C,CAAC;AAEM,KAAK,UAAU,kBAAkB;IACtC,MAAM,aAAa,GAAG,MAAM,kBAAkB,EAAE,CAAC;IAEjD,IAAI,aAAa,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC/B,MAAM,IAAI,KAAK,CAAC,mEAAmE,CAAC,CAAC;IACvF,CAAC;IAED,MAAM,UAAU,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC;IACpC,IAAA,0BAAuB,EAAC,UAAU,CAAC,EAAE,CAAC,CAAC;IAEvC,OAAO,UAAU,CAAC,EAAE,CAAC;AACvB,CAAC"}
|
package/dist/lib/pkce.d.ts
DELETED
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
export interface PkceCodes {
|
|
2
|
-
codeVerifier: string;
|
|
3
|
-
codeChallenge: string;
|
|
4
|
-
}
|
|
5
|
-
/**
|
|
6
|
-
* Generate PKCE (Proof Key for Code Exchange) codes for OAuth flow
|
|
7
|
-
* Implements RFC 7636 for enhanced security
|
|
8
|
-
*/
|
|
9
|
-
export declare function generatePkceCodes(): PkceCodes;
|
|
10
|
-
/**
|
|
11
|
-
* Generate random state for OAuth flow
|
|
12
|
-
*/
|
|
13
|
-
export declare function generateState(): string;
|
|
14
|
-
//# sourceMappingURL=pkce.d.ts.map
|
package/dist/lib/pkce.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"pkce.d.ts","sourceRoot":"","sources":["../../src/lib/pkce.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,SAAS;IACxB,YAAY,EAAE,MAAM,CAAC;IACrB,aAAa,EAAE,MAAM,CAAC;CACvB;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,IAAI,SAAS,CAsB7C;AAED;;GAEG;AACH,wBAAgB,aAAa,IAAI,MAAM,CAEtC"}
|
package/dist/lib/pkce.js
DELETED
|
@@ -1,37 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.generatePkceCodes = generatePkceCodes;
|
|
4
|
-
exports.generateState = generateState;
|
|
5
|
-
const crypto_1 = require("crypto");
|
|
6
|
-
/**
|
|
7
|
-
* Generate PKCE (Proof Key for Code Exchange) codes for OAuth flow
|
|
8
|
-
* Implements RFC 7636 for enhanced security
|
|
9
|
-
*/
|
|
10
|
-
function generatePkceCodes() {
|
|
11
|
-
// Generate 32 random bytes for code verifier
|
|
12
|
-
const verifierBytes = (0, crypto_1.randomBytes)(32);
|
|
13
|
-
const codeVerifier = verifierBytes
|
|
14
|
-
.toString('base64')
|
|
15
|
-
.replace(/\+/g, '-')
|
|
16
|
-
.replace(/\//g, '_')
|
|
17
|
-
.replace(/=+$/, '');
|
|
18
|
-
// Create SHA256 hash for code challenge
|
|
19
|
-
const hash = (0, crypto_1.createHash)('sha256');
|
|
20
|
-
hash.update(codeVerifier);
|
|
21
|
-
const codeChallenge = hash
|
|
22
|
-
.digest('base64')
|
|
23
|
-
.replace(/\+/g, '-')
|
|
24
|
-
.replace(/\//g, '_')
|
|
25
|
-
.replace(/=+$/, '');
|
|
26
|
-
return {
|
|
27
|
-
codeVerifier,
|
|
28
|
-
codeChallenge,
|
|
29
|
-
};
|
|
30
|
-
}
|
|
31
|
-
/**
|
|
32
|
-
* Generate random state for OAuth flow
|
|
33
|
-
*/
|
|
34
|
-
function generateState() {
|
|
35
|
-
return (0, crypto_1.randomBytes)(16).toString('hex');
|
|
36
|
-
}
|
|
37
|
-
//# sourceMappingURL=pkce.js.map
|
package/dist/lib/pkce.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"pkce.js","sourceRoot":"","sources":["../../src/lib/pkce.ts"],"names":[],"mappings":";;AAWA,8CAsBC;AAKD,sCAEC;AAxCD,mCAAiD;AAOjD;;;GAGG;AACH,SAAgB,iBAAiB;IAC/B,6CAA6C;IAC7C,MAAM,aAAa,GAAG,IAAA,oBAAW,EAAC,EAAE,CAAC,CAAC;IACtC,MAAM,YAAY,GAAG,aAAa;SAC/B,QAAQ,CAAC,QAAQ,CAAC;SAClB,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC;SACnB,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC;SACnB,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;IAEtB,wCAAwC;IACxC,MAAM,IAAI,GAAG,IAAA,mBAAU,EAAC,QAAQ,CAAC,CAAC;IAClC,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;IAC1B,MAAM,aAAa,GAAG,IAAI;SACvB,MAAM,CAAC,QAAQ,CAAC;SAChB,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC;SACnB,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC;SACnB,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;IAEtB,OAAO;QACL,YAAY;QACZ,aAAa;KACd,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,SAAgB,aAAa;IAC3B,OAAO,IAAA,oBAAW,EAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;AACzC,CAAC"}
|
package/dist/lib/ports.d.ts
DELETED
package/dist/lib/ports.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ports.d.ts","sourceRoot":"","sources":["../../src/lib/ports.ts"],"names":[],"mappings":"AAqBA,wBAAsB,iBAAiB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAe5E;AAED,wBAAsB,eAAe,CAAC,WAAW,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CASzF"}
|
package/dist/lib/ports.js
DELETED
|
@@ -1,44 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.findAvailablePort = findAvailablePort;
|
|
4
|
-
exports.mapPortsToLocal = mapPortsToLocal;
|
|
5
|
-
const child_process_1 = require("child_process");
|
|
6
|
-
async function isPortAvailable(port) {
|
|
7
|
-
try {
|
|
8
|
-
// Use lsof to check if anything is listening on this port
|
|
9
|
-
// -i :PORT - show network files on this port
|
|
10
|
-
// -P - show port numbers (not service names)
|
|
11
|
-
// -n - don't resolve hostnames
|
|
12
|
-
(0, child_process_1.execSync)(`lsof -i :${port} -P -n | grep LISTEN`, {
|
|
13
|
-
encoding: 'utf-8',
|
|
14
|
-
stdio: ['pipe', 'pipe', 'pipe'],
|
|
15
|
-
});
|
|
16
|
-
return false;
|
|
17
|
-
}
|
|
18
|
-
catch (error) {
|
|
19
|
-
// lsof returns exit code 1 if nothing found, which throws an error
|
|
20
|
-
// This means the port is available
|
|
21
|
-
return true;
|
|
22
|
-
}
|
|
23
|
-
}
|
|
24
|
-
async function findAvailablePort(desiredPort) {
|
|
25
|
-
const baseHundred = Math.floor(desiredPort / 100) * 100;
|
|
26
|
-
const maxPort = desiredPort >= baseHundred && desiredPort < baseHundred + 100
|
|
27
|
-
? baseHundred + 99
|
|
28
|
-
: desiredPort + 100;
|
|
29
|
-
for (let port = desiredPort; port <= maxPort; port++) {
|
|
30
|
-
if (await isPortAvailable(port)) {
|
|
31
|
-
return port;
|
|
32
|
-
}
|
|
33
|
-
}
|
|
34
|
-
throw new Error(`Could not find available port in range ${desiredPort}-${maxPort}`);
|
|
35
|
-
}
|
|
36
|
-
async function mapPortsToLocal(remotePorts) {
|
|
37
|
-
const portMap = new Map();
|
|
38
|
-
for (const remotePort of remotePorts) {
|
|
39
|
-
const localPort = await findAvailablePort(remotePort);
|
|
40
|
-
portMap.set(remotePort, localPort);
|
|
41
|
-
}
|
|
42
|
-
return portMap;
|
|
43
|
-
}
|
|
44
|
-
//# sourceMappingURL=ports.js.map
|
package/dist/lib/ports.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ports.js","sourceRoot":"","sources":["../../src/lib/ports.ts"],"names":[],"mappings":";;AAqBA,8CAeC;AAED,0CASC;AA/CD,iDAAyC;AAEzC,KAAK,UAAU,eAAe,CAAC,IAAY;IACzC,IAAI,CAAC;QACH,0DAA0D;QAC1D,6CAA6C;QAC7C,6CAA6C;QAC7C,+BAA+B;QAC/B,IAAA,wBAAQ,EAAC,YAAY,IAAI,sBAAsB,EAAE;YAC/C,QAAQ,EAAE,OAAO;YACjB,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC;SAChC,CAAC,CAAC;QAEH,OAAO,KAAK,CAAC;IACf,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,mEAAmE;QACnE,mCAAmC;QACnC,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAEM,KAAK,UAAU,iBAAiB,CAAC,WAAmB;IACzD,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,WAAW,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC;IACxD,MAAM,OAAO,GAAG,WAAW,IAAI,WAAW,IAAI,WAAW,GAAG,WAAW,GAAG,GAAG;QAC3E,CAAC,CAAC,WAAW,GAAG,EAAE;QAClB,CAAC,CAAC,WAAW,GAAG,GAAG,CAAC;IAEtB,KAAK,IAAI,IAAI,GAAG,WAAW,EAAE,IAAI,IAAI,OAAO,EAAE,IAAI,EAAE,EAAE,CAAC;QACrD,IAAI,MAAM,eAAe,CAAC,IAAI,CAAC,EAAE,CAAC;YAChC,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;IAED,MAAM,IAAI,KAAK,CACb,0CAA0C,WAAW,IAAI,OAAO,EAAE,CACnE,CAAC;AACJ,CAAC;AAEM,KAAK,UAAU,eAAe,CAAC,WAAqB;IACzD,MAAM,OAAO,GAAG,IAAI,GAAG,EAAkB,CAAC;IAE1C,KAAK,MAAM,UAAU,IAAI,WAAW,EAAE,CAAC;QACrC,MAAM,SAAS,GAAG,MAAM,iBAAiB,CAAC,UAAU,CAAC,CAAC;QACtD,OAAO,CAAC,GAAG,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC;IACrC,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC"}
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
import { ReplicasConfig } from '../types';
|
|
2
|
-
export declare function readReplicasConfig(): ReplicasConfig | null;
|
|
3
|
-
export declare function validateCopyFiles(copyFiles: string[]): {
|
|
4
|
-
valid: string[];
|
|
5
|
-
invalid: string[];
|
|
6
|
-
};
|
|
7
|
-
export declare function getAbsoluteCopyPath(relativePath: string): string;
|
|
8
|
-
//# sourceMappingURL=replicas-config.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"replicas-config.d.ts","sourceRoot":"","sources":["../../src/lib/replicas-config.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAG1C,wBAAgB,kBAAkB,IAAI,cAAc,GAAG,IAAI,CAuC1D;AAED,wBAAgB,iBAAiB,CAAC,SAAS,EAAE,MAAM,EAAE,GAAG;IAAE,KAAK,EAAE,MAAM,EAAE,CAAC;IAAC,OAAO,EAAE,MAAM,EAAE,CAAA;CAAE,CAe7F;AAED,wBAAgB,mBAAmB,CAAC,YAAY,EAAE,MAAM,GAAG,MAAM,CAGhE"}
|
|
@@ -1,64 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.readReplicasConfig = readReplicasConfig;
|
|
7
|
-
exports.validateCopyFiles = validateCopyFiles;
|
|
8
|
-
exports.getAbsoluteCopyPath = getAbsoluteCopyPath;
|
|
9
|
-
const fs_1 = __importDefault(require("fs"));
|
|
10
|
-
const path_1 = __importDefault(require("path"));
|
|
11
|
-
const git_1 = require("./git");
|
|
12
|
-
function readReplicasConfig() {
|
|
13
|
-
try {
|
|
14
|
-
const gitRoot = (0, git_1.getGitRoot)();
|
|
15
|
-
const configPath = path_1.default.join(gitRoot, 'replicas.json');
|
|
16
|
-
if (!fs_1.default.existsSync(configPath)) {
|
|
17
|
-
return null;
|
|
18
|
-
}
|
|
19
|
-
const data = fs_1.default.readFileSync(configPath, 'utf-8');
|
|
20
|
-
const config = JSON.parse(data);
|
|
21
|
-
if (config.copy && !Array.isArray(config.copy)) {
|
|
22
|
-
throw new Error('Invalid replicas.json: "copy" must be an array of file paths');
|
|
23
|
-
}
|
|
24
|
-
if (config.ports && !Array.isArray(config.ports)) {
|
|
25
|
-
throw new Error('Invalid replicas.json: "ports" must be an array of port numbers');
|
|
26
|
-
}
|
|
27
|
-
if (config.ports && !config.ports.every(p => typeof p === 'number')) {
|
|
28
|
-
throw new Error('Invalid replicas.json: all ports must be numbers');
|
|
29
|
-
}
|
|
30
|
-
if (config.organizationId && typeof config.organizationId !== 'string') {
|
|
31
|
-
throw new Error('Invalid replicas.json: "organizationId" must be a string');
|
|
32
|
-
}
|
|
33
|
-
if (config.systemPrompt && typeof config.systemPrompt !== 'string') {
|
|
34
|
-
throw new Error('Invalid replicas.json: "systemPrompt" must be a string');
|
|
35
|
-
}
|
|
36
|
-
return config;
|
|
37
|
-
}
|
|
38
|
-
catch (error) {
|
|
39
|
-
if (error instanceof Error) {
|
|
40
|
-
throw error;
|
|
41
|
-
}
|
|
42
|
-
throw new Error('Failed to read replicas.json');
|
|
43
|
-
}
|
|
44
|
-
}
|
|
45
|
-
function validateCopyFiles(copyFiles) {
|
|
46
|
-
const gitRoot = (0, git_1.getGitRoot)();
|
|
47
|
-
const valid = [];
|
|
48
|
-
const invalid = [];
|
|
49
|
-
for (const file of copyFiles) {
|
|
50
|
-
const fullPath = path_1.default.join(gitRoot, file);
|
|
51
|
-
if (fs_1.default.existsSync(fullPath)) {
|
|
52
|
-
valid.push(file);
|
|
53
|
-
}
|
|
54
|
-
else {
|
|
55
|
-
invalid.push(file);
|
|
56
|
-
}
|
|
57
|
-
}
|
|
58
|
-
return { valid, invalid };
|
|
59
|
-
}
|
|
60
|
-
function getAbsoluteCopyPath(relativePath) {
|
|
61
|
-
const gitRoot = (0, git_1.getGitRoot)();
|
|
62
|
-
return path_1.default.join(gitRoot, relativePath);
|
|
63
|
-
}
|
|
64
|
-
//# sourceMappingURL=replicas-config.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"replicas-config.js","sourceRoot":"","sources":["../../src/lib/replicas-config.ts"],"names":[],"mappings":";;;;;AAKA,gDAuCC;AAED,8CAeC;AAED,kDAGC;AAlED,4CAAoB;AACpB,gDAAwB;AAExB,+BAAmC;AAEnC,SAAgB,kBAAkB;IAChC,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,IAAA,gBAAU,GAAE,CAAC;QAC7B,MAAM,UAAU,GAAG,cAAI,CAAC,IAAI,CAAC,OAAO,EAAE,eAAe,CAAC,CAAC;QAEvD,IAAI,CAAC,YAAE,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;YAC/B,OAAO,IAAI,CAAC;QACd,CAAC;QAED,MAAM,IAAI,GAAG,YAAE,CAAC,YAAY,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;QAClD,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAmB,CAAC;QAElD,IAAI,MAAM,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC;YAC/C,MAAM,IAAI,KAAK,CAAC,8DAA8D,CAAC,CAAC;QAClF,CAAC;QAED,IAAI,MAAM,CAAC,KAAK,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;YACjD,MAAM,IAAI,KAAK,CAAC,iEAAiE,CAAC,CAAC;QACrF,CAAC;QAED,IAAI,MAAM,CAAC,KAAK,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC,EAAE,CAAC;YACpE,MAAM,IAAI,KAAK,CAAC,kDAAkD,CAAC,CAAC;QACtE,CAAC;QAED,IAAI,MAAM,CAAC,cAAc,IAAI,OAAO,MAAM,CAAC,cAAc,KAAK,QAAQ,EAAE,CAAC;YACvE,MAAM,IAAI,KAAK,CAAC,0DAA0D,CAAC,CAAC;QAC9E,CAAC;QAED,IAAI,MAAM,CAAC,YAAY,IAAI,OAAO,MAAM,CAAC,YAAY,KAAK,QAAQ,EAAE,CAAC;YACnE,MAAM,IAAI,KAAK,CAAC,wDAAwD,CAAC,CAAC;QAC5E,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,KAAK,YAAY,KAAK,EAAE,CAAC;YAC3B,MAAM,KAAK,CAAC;QACd,CAAC;QACD,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAC;IAClD,CAAC;AACH,CAAC;AAED,SAAgB,iBAAiB,CAAC,SAAmB;IACnD,MAAM,OAAO,GAAG,IAAA,gBAAU,GAAE,CAAC;IAC7B,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,MAAM,OAAO,GAAa,EAAE,CAAC;IAE7B,KAAK,MAAM,IAAI,IAAI,SAAS,EAAE,CAAC;QAC7B,MAAM,QAAQ,GAAG,cAAI,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;QAC1C,IAAI,YAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC5B,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACnB,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACrB,CAAC;IACH,CAAC;IAED,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC;AAC5B,CAAC;AAED,SAAgB,mBAAmB,CAAC,YAAoB;IACtD,MAAM,OAAO,GAAG,IAAA,gBAAU,GAAE,CAAC;IAC7B,OAAO,cAAI,CAAC,IAAI,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;AAC1C,CAAC"}
|
package/dist/lib/ssh-config.d.ts
DELETED
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
interface SSHConfigEntry {
|
|
2
|
-
host: string;
|
|
3
|
-
hostname: string;
|
|
4
|
-
user: string;
|
|
5
|
-
identityFile: string;
|
|
6
|
-
portForwards?: Map<number, number>;
|
|
7
|
-
}
|
|
8
|
-
export declare function removeSSHConfigEntry(host: string): void;
|
|
9
|
-
export declare function addOrUpdateSSHConfigEntry(entry: SSHConfigEntry): void;
|
|
10
|
-
export declare function getWorkspaceHostAlias(workspaceName: string): string;
|
|
11
|
-
export {};
|
|
12
|
-
//# sourceMappingURL=ssh-config.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ssh-config.d.ts","sourceRoot":"","sources":["../../src/lib/ssh-config.ts"],"names":[],"mappings":"AAQA,UAAU,cAAc;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACpC;AA8CD,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAmCvD;AAED,wBAAgB,yBAAyB,CAAC,KAAK,EAAE,cAAc,GAAG,IAAI,CA8CrE;AAED,wBAAgB,qBAAqB,CAAC,aAAa,EAAE,MAAM,GAAG,MAAM,CAEnE"}
|