replicas-cli 0.2.25 → 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.
Files changed (125) hide show
  1. package/dist/index.js +2874 -313
  2. package/package.json +4 -3
  3. package/dist/commands/claude-auth.d.ts +0 -5
  4. package/dist/commands/claude-auth.d.ts.map +0 -1
  5. package/dist/commands/claude-auth.js +0 -52
  6. package/dist/commands/claude-auth.js.map +0 -1
  7. package/dist/commands/code.d.ts +0 -4
  8. package/dist/commands/code.d.ts.map +0 -1
  9. package/dist/commands/code.js +0 -67
  10. package/dist/commands/code.js.map +0 -1
  11. package/dist/commands/codex-auth.d.ts +0 -5
  12. package/dist/commands/codex-auth.d.ts.map +0 -1
  13. package/dist/commands/codex-auth.js +0 -52
  14. package/dist/commands/codex-auth.js.map +0 -1
  15. package/dist/commands/config.d.ts +0 -4
  16. package/dist/commands/config.d.ts.map +0 -1
  17. package/dist/commands/config.js +0 -74
  18. package/dist/commands/config.js.map +0 -1
  19. package/dist/commands/connect.d.ts +0 -4
  20. package/dist/commands/connect.d.ts.map +0 -1
  21. package/dist/commands/connect.js +0 -40
  22. package/dist/commands/connect.js.map +0 -1
  23. package/dist/commands/dev-sync.d.ts +0 -2
  24. package/dist/commands/dev-sync.d.ts.map +0 -1
  25. package/dist/commands/dev-sync.js +0 -78
  26. package/dist/commands/dev-sync.js.map +0 -1
  27. package/dist/commands/init.d.ts +0 -4
  28. package/dist/commands/init.d.ts.map +0 -1
  29. package/dist/commands/init.js +0 -45
  30. package/dist/commands/init.js.map +0 -1
  31. package/dist/commands/login.d.ts +0 -2
  32. package/dist/commands/login.d.ts.map +0 -1
  33. package/dist/commands/login.js +0 -203
  34. package/dist/commands/login.js.map +0 -1
  35. package/dist/commands/logout.d.ts +0 -2
  36. package/dist/commands/logout.d.ts.map +0 -1
  37. package/dist/commands/logout.js +0 -17
  38. package/dist/commands/logout.js.map +0 -1
  39. package/dist/commands/org.d.ts +0 -3
  40. package/dist/commands/org.d.ts.map +0 -1
  41. package/dist/commands/org.js +0 -83
  42. package/dist/commands/org.js.map +0 -1
  43. package/dist/commands/replica.d.ts +0 -23
  44. package/dist/commands/replica.d.ts.map +0 -1
  45. package/dist/commands/replica.js +0 -448
  46. package/dist/commands/replica.js.map +0 -1
  47. package/dist/commands/repositories.d.ts +0 -2
  48. package/dist/commands/repositories.d.ts.map +0 -1
  49. package/dist/commands/repositories.js +0 -41
  50. package/dist/commands/repositories.js.map +0 -1
  51. package/dist/commands/tools.d.ts +0 -2
  52. package/dist/commands/tools.d.ts.map +0 -1
  53. package/dist/commands/tools.js +0 -70
  54. package/dist/commands/tools.js.map +0 -1
  55. package/dist/commands/whoami.d.ts +0 -2
  56. package/dist/commands/whoami.d.ts.map +0 -1
  57. package/dist/commands/whoami.js +0 -31
  58. package/dist/commands/whoami.js.map +0 -1
  59. package/dist/index.d.ts +0 -4
  60. package/dist/index.d.ts.map +0 -1
  61. package/dist/index.js.map +0 -1
  62. package/dist/lib/api.d.ts +0 -7
  63. package/dist/lib/api.d.ts.map +0 -1
  64. package/dist/lib/api.js +0 -81
  65. package/dist/lib/api.js.map +0 -1
  66. package/dist/lib/auth.d.ts +0 -4
  67. package/dist/lib/auth.d.ts.map +0 -1
  68. package/dist/lib/auth.js +0 -62
  69. package/dist/lib/auth.js.map +0 -1
  70. package/dist/lib/claude-oauth.d.ts +0 -10
  71. package/dist/lib/claude-oauth.d.ts.map +0 -1
  72. package/dist/lib/claude-oauth.js +0 -131
  73. package/dist/lib/claude-oauth.js.map +0 -1
  74. package/dist/lib/codex-oauth.d.ts +0 -11
  75. package/dist/lib/codex-oauth.d.ts.map +0 -1
  76. package/dist/lib/codex-oauth.js +0 -183
  77. package/dist/lib/codex-oauth.js.map +0 -1
  78. package/dist/lib/config.d.ts +0 -12
  79. package/dist/lib/config.d.ts.map +0 -1
  80. package/dist/lib/config.js +0 -84
  81. package/dist/lib/config.js.map +0 -1
  82. package/dist/lib/git.d.ts +0 -4
  83. package/dist/lib/git.d.ts.map +0 -1
  84. package/dist/lib/git.js +0 -39
  85. package/dist/lib/git.js.map +0 -1
  86. package/dist/lib/organization.d.ts +0 -5
  87. package/dist/lib/organization.d.ts.map +0 -1
  88. package/dist/lib/organization.js +0 -29
  89. package/dist/lib/organization.js.map +0 -1
  90. package/dist/lib/pkce.d.ts +0 -14
  91. package/dist/lib/pkce.d.ts.map +0 -1
  92. package/dist/lib/pkce.js +0 -37
  93. package/dist/lib/pkce.js.map +0 -1
  94. package/dist/lib/ports.d.ts +0 -3
  95. package/dist/lib/ports.d.ts.map +0 -1
  96. package/dist/lib/ports.js +0 -44
  97. package/dist/lib/ports.js.map +0 -1
  98. package/dist/lib/replicas-config.d.ts +0 -8
  99. package/dist/lib/replicas-config.d.ts.map +0 -1
  100. package/dist/lib/replicas-config.js +0 -64
  101. package/dist/lib/replicas-config.js.map +0 -1
  102. package/dist/lib/ssh-config.d.ts +0 -12
  103. package/dist/lib/ssh-config.d.ts.map +0 -1
  104. package/dist/lib/ssh-config.js +0 -122
  105. package/dist/lib/ssh-config.js.map +0 -1
  106. package/dist/lib/ssh.d.ts +0 -5
  107. package/dist/lib/ssh.d.ts.map +0 -1
  108. package/dist/lib/ssh.js +0 -82
  109. package/dist/lib/ssh.js.map +0 -1
  110. package/dist/lib/supabase.d.ts +0 -5
  111. package/dist/lib/supabase.d.ts.map +0 -1
  112. package/dist/lib/supabase.js +0 -15
  113. package/dist/lib/supabase.js.map +0 -1
  114. package/dist/lib/version-check.d.ts +0 -2
  115. package/dist/lib/version-check.d.ts.map +0 -1
  116. package/dist/lib/version-check.js +0 -44
  117. package/dist/lib/version-check.js.map +0 -1
  118. package/dist/lib/workspace-connection.d.ts +0 -11
  119. package/dist/lib/workspace-connection.d.ts.map +0 -1
  120. package/dist/lib/workspace-connection.js +0 -132
  121. package/dist/lib/workspace-connection.js.map +0 -1
  122. package/dist/types/index.d.ts +0 -52
  123. package/dist/types/index.d.ts.map +0 -1
  124. package/dist/types/index.js +0 -3
  125. package/dist/types/index.js.map +0 -1
@@ -1,5 +0,0 @@
1
- import { SupabaseClient } from '@supabase/supabase-js';
2
- declare const supabaseUrl: string;
3
- export declare const supabase: SupabaseClient;
4
- export { supabaseUrl };
5
- //# sourceMappingURL=supabase.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"supabase.d.ts","sourceRoot":"","sources":["../../src/lib/supabase.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgB,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAErE,QAAA,MAAM,WAAW,QAAkF,CAAC;AAIpG,eAAO,MAAM,QAAQ,EAAE,cAKrB,CAAC;AAEH,OAAO,EAAE,WAAW,EAAE,CAAC"}
@@ -1,15 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.supabaseUrl = exports.supabase = void 0;
4
- const supabase_js_1 = require("@supabase/supabase-js");
5
- const supabaseUrl = process.env.REPLICAS_SUPABASE_URL || 'https://mxeqiomwgdgaesecwtct.supabase.co';
6
- exports.supabaseUrl = supabaseUrl;
7
- const supabaseAnonKey = process.env.REPLICAS_SUPABASE_ANON_KEY ||
8
- 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJzdXBhYmFzZSIsInJlZiI6Im14ZXFpb213Z2RnYWVzZWN3dGN0Iiwicm9sZSI6ImFub24iLCJpYXQiOjE3NTk4OTk2ODAsImV4cCI6MjA3NTQ3NTY4MH0.zLRoK4r9Zep-WaLNkvWcb7DXlJBZFH26QXWO1ljMctM';
9
- exports.supabase = (0, supabase_js_1.createClient)(supabaseUrl, supabaseAnonKey, {
10
- auth: {
11
- persistSession: false,
12
- autoRefreshToken: false,
13
- },
14
- });
15
- //# sourceMappingURL=supabase.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"supabase.js","sourceRoot":"","sources":["../../src/lib/supabase.ts"],"names":[],"mappings":";;;AAAA,uDAAqE;AAErE,MAAM,WAAW,GAAG,OAAO,CAAC,GAAG,CAAC,qBAAqB,IAAI,0CAA0C,CAAC;AAW3F,kCAAW;AAVpB,MAAM,eAAe,GAAG,OAAO,CAAC,GAAG,CAAC,0BAA0B;IAC5D,kNAAkN,CAAC;AAExM,QAAA,QAAQ,GAAmB,IAAA,0BAAY,EAAC,WAAW,EAAE,eAAe,EAAE;IACjF,IAAI,EAAE;QACJ,cAAc,EAAE,KAAK;QACrB,gBAAgB,EAAE,KAAK;KACxB;CACF,CAAC,CAAC"}
@@ -1,2 +0,0 @@
1
- export declare function checkForUpdates(currentVersion: string): Promise<void>;
2
- //# sourceMappingURL=version-check.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"version-check.d.ts","sourceRoot":"","sources":["../../src/lib/version-check.ts"],"names":[],"mappings":"AAwBA,wBAAsB,eAAe,CAAC,cAAc,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAuB3E"}
@@ -1,44 +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.checkForUpdates = checkForUpdates;
7
- const chalk_1 = __importDefault(require("chalk"));
8
- const MONOLITH_URL = process.env.REPLICAS_MONOLITH_URL || 'https://api.replicas.dev';
9
- const VERSION_CHECK_TIMEOUT = 2000;
10
- function compareVersions(v1, v2) {
11
- const parts1 = v1.split('.').map(Number);
12
- const parts2 = v2.split('.').map(Number);
13
- for (let i = 0; i < Math.max(parts1.length, parts2.length); i++) {
14
- const num1 = parts1[i] || 0;
15
- const num2 = parts2[i] || 0;
16
- if (num1 > num2)
17
- return 1;
18
- if (num1 < num2)
19
- return -1;
20
- }
21
- return 0;
22
- }
23
- async function checkForUpdates(currentVersion) {
24
- try {
25
- const controller = new AbortController();
26
- const timeoutId = setTimeout(() => controller.abort(), VERSION_CHECK_TIMEOUT);
27
- const response = await fetch(`${MONOLITH_URL}/v1/cli/version`, {
28
- signal: controller.signal,
29
- });
30
- clearTimeout(timeoutId);
31
- if (!response.ok)
32
- return;
33
- const data = (await response.json());
34
- const latestVersion = data.version;
35
- if (compareVersions(latestVersion, currentVersion) > 0) {
36
- console.error(chalk_1.default.gray(`\nUpdate available: ${currentVersion} → ${latestVersion}`));
37
- console.error(chalk_1.default.gray(`Run: npm i -g replicas-cli@latest\n`));
38
- }
39
- }
40
- catch {
41
- // Silently fail
42
- }
43
- }
44
- //# sourceMappingURL=version-check.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"version-check.js","sourceRoot":"","sources":["../../src/lib/version-check.ts"],"names":[],"mappings":";;;;;AAwBA,0CAuBC;AA/CD,kDAA0B;AAE1B,MAAM,YAAY,GAAG,OAAO,CAAC,GAAG,CAAC,qBAAqB,IAAI,0BAA0B,CAAC;AACrF,MAAM,qBAAqB,GAAG,IAAI,CAAC;AAMnC,SAAS,eAAe,CAAC,EAAU,EAAE,EAAU;IAC7C,MAAM,MAAM,GAAG,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IACzC,MAAM,MAAM,GAAG,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IAEzC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;QAChE,MAAM,IAAI,GAAG,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QAC5B,MAAM,IAAI,GAAG,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QAE5B,IAAI,IAAI,GAAG,IAAI;YAAE,OAAO,CAAC,CAAC;QAC1B,IAAI,IAAI,GAAG,IAAI;YAAE,OAAO,CAAC,CAAC,CAAC;IAC7B,CAAC;IAED,OAAO,CAAC,CAAC;AACX,CAAC;AAEM,KAAK,UAAU,eAAe,CAAC,cAAsB;IAC1D,IAAI,CAAC;QACH,MAAM,UAAU,GAAG,IAAI,eAAe,EAAE,CAAC;QACzC,MAAM,SAAS,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,UAAU,CAAC,KAAK,EAAE,EAAE,qBAAqB,CAAC,CAAC;QAE9E,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,YAAY,iBAAiB,EAAE;YAC7D,MAAM,EAAE,UAAU,CAAC,MAAM;SAC1B,CAAC,CAAC;QAEH,YAAY,CAAC,SAAS,CAAC,CAAC;QAExB,IAAI,CAAC,QAAQ,CAAC,EAAE;YAAE,OAAO;QAEzB,MAAM,IAAI,GAAG,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAoB,CAAC;QACxD,MAAM,aAAa,GAAG,IAAI,CAAC,OAAO,CAAC;QAEnC,IAAI,eAAe,CAAC,aAAa,EAAE,cAAc,CAAC,GAAG,CAAC,EAAE,CAAC;YACvD,OAAO,CAAC,KAAK,CAAC,eAAK,CAAC,IAAI,CAAC,uBAAuB,cAAc,MAAM,aAAa,EAAE,CAAC,CAAC,CAAC;YACtF,OAAO,CAAC,KAAK,CAAC,eAAK,CAAC,IAAI,CAAC,qCAAqC,CAAC,CAAC,CAAC;QACnE,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,gBAAgB;IAClB,CAAC;AACH,CAAC"}
@@ -1,11 +0,0 @@
1
- import { Workspace } from '../types';
2
- export interface WorkspaceConnectionInfo {
3
- workspace: Workspace;
4
- sshKeyPath: string;
5
- portMappings: Map<number, number>;
6
- repoName: string | null;
7
- }
8
- export declare function prepareWorkspaceConnection(workspaceName: string, options: {
9
- copy?: boolean;
10
- }): Promise<WorkspaceConnectionInfo>;
11
- //# sourceMappingURL=workspace-connection.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"workspace-connection.d.ts","sourceRoot":"","sources":["../../src/lib/workspace-connection.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAcrC,MAAM,WAAW,uBAAuB;IACtC,SAAS,EAAE,SAAS,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAClC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;CACzB;AAED,wBAAsB,0BAA0B,CAC9C,aAAa,EAAE,MAAM,EACrB,OAAO,EAAE;IAAE,IAAI,CAAC,EAAE,OAAO,CAAA;CAAE,GAC1B,OAAO,CAAC,uBAAuB,CAAC,CA8IlC"}
@@ -1,132 +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.prepareWorkspaceConnection = prepareWorkspaceConnection;
7
- const chalk_1 = __importDefault(require("chalk"));
8
- const prompts_1 = __importDefault(require("prompts"));
9
- const path_1 = __importDefault(require("path"));
10
- const fs_1 = __importDefault(require("fs"));
11
- const config_1 = require("./config");
12
- const api_1 = require("./api");
13
- const ssh_1 = require("./ssh");
14
- const git_1 = require("./git");
15
- const replicas_config_1 = require("./replicas-config");
16
- const ports_1 = require("./ports");
17
- async function prepareWorkspaceConnection(workspaceName, options) {
18
- const orgId = (0, config_1.getOrganizationId)();
19
- if (!orgId) {
20
- throw new Error('No organization selected. Please run "replicas org switch" first.');
21
- }
22
- // Step 1: Query workspaces by name
23
- console.log(chalk_1.default.blue(`\nSearching for workspace: ${workspaceName}...`));
24
- const response = await (0, api_1.orgAuthenticatedFetch)(`/v1/workspaces?name=${encodeURIComponent(workspaceName)}`);
25
- if (response.workspaces.length === 0) {
26
- throw new Error(`No workspaces found with name matching "${workspaceName}".`);
27
- }
28
- // Step 2: If multiple workspaces, prompt user to select one
29
- let selectedWorkspace;
30
- if (response.workspaces.length === 1) {
31
- selectedWorkspace = response.workspaces[0];
32
- }
33
- else {
34
- console.log(chalk_1.default.yellow(`\nFound ${response.workspaces.length} workspaces matching "${workspaceName}":`));
35
- const selectResponse = await (0, prompts_1.default)({
36
- type: 'select',
37
- name: 'workspaceId',
38
- message: 'Select a workspace:',
39
- choices: response.workspaces.map(ws => ({
40
- title: `${ws.name} (${ws.status || 'unknown'})`,
41
- value: ws.id,
42
- description: `IP: ${ws.ipv4_address || 'N/A'} | Instance: ${ws.instance_type || 'N/A'}`,
43
- })),
44
- });
45
- if (!selectResponse.workspaceId) {
46
- throw new Error('Workspace selection cancelled.');
47
- }
48
- selectedWorkspace = response.workspaces.find(ws => ws.id === selectResponse.workspaceId);
49
- }
50
- console.log(chalk_1.default.green(`\n✓ Selected workspace: ${selectedWorkspace.name}`));
51
- console.log(chalk_1.default.gray(` IP: ${selectedWorkspace.ipv4_address}`));
52
- console.log(chalk_1.default.gray(` Status: ${selectedWorkspace.status || 'unknown'}`));
53
- // Check if workspace is sleeping
54
- if (selectedWorkspace.status === 'sleeping') {
55
- throw new Error('Workspace is currently sleeping. Please wake it up in the dashboard at https://replicas.dev before connecting.');
56
- }
57
- if (!selectedWorkspace.ipv4_address) {
58
- throw new Error('Workspace does not have an IP address. It may not be running yet.');
59
- }
60
- // Step 3: Get SSH key
61
- console.log(chalk_1.default.blue('\nRetrieving SSH key...'));
62
- const privateKey = await (0, ssh_1.getSSHKey)(selectedWorkspace.ssh_key_id);
63
- // Write key to a temporary file for SSH
64
- const keyPath = path_1.default.join(config_1.CONFIG_DIR, 'keys', `${selectedWorkspace.ssh_key_id}.pem`);
65
- fs_1.default.writeFileSync(keyPath, privateKey, { mode: 0o600 });
66
- console.log(chalk_1.default.green('✓ SSH key ready'));
67
- // Step 4: Handle --copy flag
68
- let repoName = null;
69
- if (options.copy) {
70
- if (!(0, git_1.isInsideGitRepo)()) {
71
- console.log(chalk_1.default.yellow('\nWarning: Not inside a git repository. Skipping file copy.'));
72
- }
73
- else {
74
- repoName = (0, git_1.getGitRepoName)();
75
- const replicasConfig = (0, replicas_config_1.readReplicasConfig)();
76
- if (!replicasConfig || !replicasConfig.copy || replicasConfig.copy.length === 0) {
77
- console.log(chalk_1.default.yellow('\nNo files to copy (replicas.json not found or empty).'));
78
- }
79
- else {
80
- console.log(chalk_1.default.blue(`\nCopying files to workspace (repo: ${repoName})...`));
81
- const { valid, invalid } = (0, replicas_config_1.validateCopyFiles)(replicasConfig.copy);
82
- if (invalid.length > 0) {
83
- console.log(chalk_1.default.yellow(`\nWarning: ${invalid.length} file(s) not found locally:`));
84
- invalid.forEach(file => console.log(chalk_1.default.gray(` - ${file}`)));
85
- }
86
- for (const file of valid) {
87
- const localPath = (0, replicas_config_1.getAbsoluteCopyPath)(file);
88
- const remotePath = `/home/ubuntu/workspaces/${repoName}/${file}`;
89
- console.log(chalk_1.default.gray(` Copying ${file}...`));
90
- try {
91
- await (0, ssh_1.scpCopyFile)(keyPath, localPath, remotePath, selectedWorkspace.ipv4_address);
92
- console.log(chalk_1.default.green(` ✓ ${file}`));
93
- }
94
- catch (error) {
95
- console.log(chalk_1.default.red(` ✗ Failed to copy ${file}: ${error instanceof Error ? error.message : 'Unknown error'}`));
96
- }
97
- }
98
- console.log(chalk_1.default.green(`\n✓ File copy complete (${valid.length} files)`));
99
- }
100
- }
101
- }
102
- if (!repoName && (0, git_1.isInsideGitRepo)()) {
103
- try {
104
- repoName = (0, git_1.getGitRepoName)();
105
- }
106
- catch {
107
- // Ignore errors, repo name is optional
108
- }
109
- }
110
- // Step 6: Handle port forwarding
111
- const portMappings = new Map();
112
- // Add ports from replicas.json if inside a git repo
113
- console.log(chalk_1.default.blue('\nSetting up port forwarding...'));
114
- if ((0, git_1.isInsideGitRepo)()) {
115
- const replicasConfig = (0, replicas_config_1.readReplicasConfig)();
116
- if (replicasConfig && replicasConfig.ports && replicasConfig.ports.length > 0) {
117
- const mappings = await (0, ports_1.mapPortsToLocal)(replicasConfig.ports);
118
- for (const [remotePort, localPort] of mappings) {
119
- portMappings.set(remotePort, localPort);
120
- console.log(chalk_1.default.gray(` Forwarding localhost:${localPort} -> workspace:${remotePort}`));
121
- }
122
- }
123
- }
124
- console.log(chalk_1.default.green('✓ Port forwarding configured'));
125
- return {
126
- workspace: selectedWorkspace,
127
- sshKeyPath: keyPath,
128
- portMappings,
129
- repoName,
130
- };
131
- }
132
- //# sourceMappingURL=workspace-connection.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"workspace-connection.js","sourceRoot":"","sources":["../../src/lib/workspace-connection.ts"],"names":[],"mappings":"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"}
@@ -1,52 +0,0 @@
1
- export interface Config {
2
- access_token: string;
3
- refresh_token: string;
4
- expires_at: number;
5
- organization_id?: string;
6
- ide_command?: string;
7
- }
8
- export interface User {
9
- id: string;
10
- email: string;
11
- }
12
- export interface Organization {
13
- id: string;
14
- name: string;
15
- created_at: string;
16
- }
17
- export interface Workspace {
18
- id: string;
19
- user_id: string;
20
- organization_id: string;
21
- name: string;
22
- aws_instance_id: string;
23
- ssh_key_id: string;
24
- ssh_key_name: string | null;
25
- instance_type: string | null;
26
- ipv4_address: string | null;
27
- ipv6_address: string | null;
28
- region: string;
29
- created_at: string;
30
- status?: string;
31
- }
32
- export interface SSHKey {
33
- id: string;
34
- organization_id: string;
35
- name: string;
36
- aws_key_name: string;
37
- public_key: string;
38
- private_key_secret_id: string | null;
39
- created_at: string;
40
- }
41
- export interface StartHookConfig {
42
- timeout?: number;
43
- commands: string[];
44
- }
45
- export interface ReplicasConfig {
46
- organizationId?: string;
47
- copy?: string[];
48
- ports?: number[];
49
- systemPrompt?: string;
50
- startHook?: StartHookConfig;
51
- }
52
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,MAAM;IACrB,YAAY,EAAE,MAAM,CAAC;IACrB,aAAa,EAAE,MAAM,CAAC;IACtB,UAAU,EAAE,MAAM,CAAC;IACnB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,IAAI;IACnB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,YAAY;IAC3B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,SAAS;IACxB,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,MAAM,CAAC;IAChB,eAAe,EAAE,MAAM,CAAC;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,eAAe,EAAE,MAAM,CAAC;IACxB,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,MAAM;IACrB,EAAE,EAAE,MAAM,CAAC;IACX,eAAe,EAAE,MAAM,CAAC;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,qBAAqB,EAAE,MAAM,GAAG,IAAI,CAAC;IACrC,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,eAAe;IAC9B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,EAAE,CAAC;CACpB;AAED,MAAM,WAAW,cAAc;IAC7B,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IACjB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,SAAS,CAAC,EAAE,eAAe,CAAC;CAC7B"}
@@ -1,3 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":""}