vibehub-cli 1.0.0

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 (69) hide show
  1. package/dist/commands/add.d.ts +3 -0
  2. package/dist/commands/add.d.ts.map +1 -0
  3. package/dist/commands/add.js +125 -0
  4. package/dist/commands/add.js.map +1 -0
  5. package/dist/commands/capture-prompts.d.ts +3 -0
  6. package/dist/commands/capture-prompts.d.ts.map +1 -0
  7. package/dist/commands/capture-prompts.js +137 -0
  8. package/dist/commands/capture-prompts.js.map +1 -0
  9. package/dist/commands/commit.d.ts +3 -0
  10. package/dist/commands/commit.d.ts.map +1 -0
  11. package/dist/commands/commit.js +132 -0
  12. package/dist/commands/commit.js.map +1 -0
  13. package/dist/commands/init.d.ts +3 -0
  14. package/dist/commands/init.d.ts.map +1 -0
  15. package/dist/commands/init.js +113 -0
  16. package/dist/commands/init.js.map +1 -0
  17. package/dist/commands/install.d.ts +3 -0
  18. package/dist/commands/install.d.ts.map +1 -0
  19. package/dist/commands/install.js +182 -0
  20. package/dist/commands/install.js.map +1 -0
  21. package/dist/commands/pull.d.ts +3 -0
  22. package/dist/commands/pull.d.ts.map +1 -0
  23. package/dist/commands/pull.js +99 -0
  24. package/dist/commands/pull.js.map +1 -0
  25. package/dist/commands/push.d.ts +3 -0
  26. package/dist/commands/push.d.ts.map +1 -0
  27. package/dist/commands/push.js +142 -0
  28. package/dist/commands/push.js.map +1 -0
  29. package/dist/commands/session.d.ts +3 -0
  30. package/dist/commands/session.d.ts.map +1 -0
  31. package/dist/commands/session.js +179 -0
  32. package/dist/commands/session.js.map +1 -0
  33. package/dist/commands/set.d.ts +3 -0
  34. package/dist/commands/set.d.ts.map +1 -0
  35. package/dist/commands/set.js +134 -0
  36. package/dist/commands/set.js.map +1 -0
  37. package/dist/commands/status.d.ts +3 -0
  38. package/dist/commands/status.d.ts.map +1 -0
  39. package/dist/commands/status.js +79 -0
  40. package/dist/commands/status.js.map +1 -0
  41. package/dist/index.d.ts +3 -0
  42. package/dist/index.d.ts.map +1 -0
  43. package/dist/index.js +44 -0
  44. package/dist/index.js.map +1 -0
  45. package/dist/lib/ai-capture.d.ts +21 -0
  46. package/dist/lib/ai-capture.d.ts.map +1 -0
  47. package/dist/lib/ai-capture.js +242 -0
  48. package/dist/lib/ai-capture.js.map +1 -0
  49. package/dist/lib/cloud-service.d.ts +26 -0
  50. package/dist/lib/cloud-service.d.ts.map +1 -0
  51. package/dist/lib/cloud-service.js +200 -0
  52. package/dist/lib/cloud-service.js.map +1 -0
  53. package/dist/lib/cursor-conversation-capture.d.ts +10 -0
  54. package/dist/lib/cursor-conversation-capture.d.ts.map +1 -0
  55. package/dist/lib/cursor-conversation-capture.js +117 -0
  56. package/dist/lib/cursor-conversation-capture.js.map +1 -0
  57. package/dist/lib/prompt-capture-manager.d.ts +33 -0
  58. package/dist/lib/prompt-capture-manager.d.ts.map +1 -0
  59. package/dist/lib/prompt-capture-manager.js +178 -0
  60. package/dist/lib/prompt-capture-manager.js.map +1 -0
  61. package/dist/lib/vibehub-manager.d.ts +172 -0
  62. package/dist/lib/vibehub-manager.d.ts.map +1 -0
  63. package/dist/lib/vibehub-manager.js +855 -0
  64. package/dist/lib/vibehub-manager.js.map +1 -0
  65. package/dist/src/commands/set.d.ts +3 -0
  66. package/dist/src/commands/set.d.ts.map +1 -0
  67. package/dist/src/commands/set.js +125 -0
  68. package/dist/src/commands/set.js.map +1 -0
  69. package/package.json +53 -0
@@ -0,0 +1,182 @@
1
+ import { Command } from 'commander';
2
+ import chalk from 'chalk';
3
+ import fs from 'fs-extra';
4
+ import path from 'path';
5
+ import { execSync } from 'child_process';
6
+ export const installCommand = new Command('install')
7
+ .description('Install VibeHub CLI globally')
8
+ .option('-f, --force', 'Force reinstallation even if already installed')
9
+ .option('--skip-build', 'Skip building the CLI (use existing build)')
10
+ .action(async (options) => {
11
+ let tempDir = null;
12
+ try {
13
+ console.log(chalk.blue('šŸš€ Installing VibeHub CLI...\n'));
14
+ // Check if Node.js is installed
15
+ try {
16
+ execSync('node --version', { stdio: 'pipe' });
17
+ }
18
+ catch {
19
+ console.error(chalk.red('āŒ Node.js is not installed. Please install Node.js first.'));
20
+ process.exit(1);
21
+ }
22
+ // Check if npm is installed
23
+ try {
24
+ execSync('npm --version', { stdio: 'pipe' });
25
+ }
26
+ catch {
27
+ console.error(chalk.red('āŒ npm is not installed. Please install npm first.'));
28
+ process.exit(1);
29
+ }
30
+ // Check if git is installed
31
+ try {
32
+ execSync('git --version', { stdio: 'pipe' });
33
+ }
34
+ catch {
35
+ console.error(chalk.red('āŒ git is not installed. Please install git first.'));
36
+ process.exit(1);
37
+ }
38
+ // Check if already installed
39
+ try {
40
+ execSync('vibe --version', { stdio: 'pipe' });
41
+ if (!options.force) {
42
+ console.log(chalk.yellow('āš ļø VibeHub CLI is already installed.'));
43
+ console.log(chalk.blue('Use --force to reinstall.'));
44
+ return;
45
+ }
46
+ console.log(chalk.blue('šŸ”„ Reinstalling VibeHub CLI...'));
47
+ }
48
+ catch {
49
+ // Not installed, continue with installation
50
+ }
51
+ // For global installation, we need to clone the repository to a temporary location
52
+ console.log(chalk.blue('šŸ“„ Downloading VibeHub CLI...'));
53
+ const vibehubRepoUrl = 'https://github.com/Anandakumar-D/vibehub.git';
54
+ // Create temporary directory in a safe location
55
+ tempDir = path.join(process.env.TMPDIR || '/tmp', `vibe-install-${Date.now()}`);
56
+ await fs.ensureDir(tempDir);
57
+ // Clone the repository to temporary directory
58
+ console.log(chalk.blue('šŸ“¦ Cloning repository to temporary location...'));
59
+ execSync(`git clone ${vibehubRepoUrl} .`, {
60
+ stdio: 'inherit',
61
+ cwd: tempDir
62
+ });
63
+ const projectRoot = tempDir;
64
+ const packageJsonPath = path.join(projectRoot, 'package.json');
65
+ if (!await fs.pathExists(packageJsonPath)) {
66
+ throw new Error('Failed to clone repository');
67
+ }
68
+ // Install dependencies
69
+ console.log(chalk.blue('šŸ“¦ Installing dependencies...'));
70
+ execSync('npm install', {
71
+ stdio: 'inherit',
72
+ cwd: projectRoot
73
+ });
74
+ // Build the CLI if not skipped
75
+ if (!options.skipBuild) {
76
+ console.log(chalk.blue('šŸ“¦ Building VibeHub CLI...'));
77
+ try {
78
+ execSync('npm run build:cli', {
79
+ stdio: 'inherit',
80
+ cwd: projectRoot
81
+ });
82
+ }
83
+ catch (error) {
84
+ console.error(chalk.red('āŒ Failed to build CLI'));
85
+ process.exit(1);
86
+ }
87
+ }
88
+ // Check if dist/cli/index.js exists
89
+ const cliPath = path.join(projectRoot, 'dist', 'cli', 'index.js');
90
+ if (!await fs.pathExists(cliPath)) {
91
+ console.error(chalk.red('āŒ CLI build not found.'));
92
+ console.log(chalk.blue('Please run "npm run build:cli" first.'));
93
+ process.exit(1);
94
+ }
95
+ // Make the CLI executable
96
+ console.log(chalk.blue('šŸ”§ Making CLI executable...'));
97
+ try {
98
+ await fs.chmod(cliPath, 0o755);
99
+ }
100
+ catch (error) {
101
+ console.error(chalk.red('āŒ Failed to make CLI executable:'), error);
102
+ process.exit(1);
103
+ }
104
+ // Install globally using npm link
105
+ console.log(chalk.blue('🌐 Installing VibeHub CLI globally...'));
106
+ try {
107
+ execSync('npm link', {
108
+ stdio: 'inherit',
109
+ cwd: projectRoot
110
+ });
111
+ }
112
+ catch (error) {
113
+ console.error(chalk.red('āŒ Failed to install CLI globally'));
114
+ console.log(chalk.blue('Try running with sudo if you encounter permission issues:'));
115
+ console.log(chalk.gray(' sudo vibe install'));
116
+ process.exit(1);
117
+ }
118
+ // Test the installation
119
+ console.log(chalk.blue('🧪 Testing CLI installation...'));
120
+ try {
121
+ const version = execSync('vibe --version', {
122
+ stdio: 'pipe',
123
+ encoding: 'utf8'
124
+ }).trim();
125
+ console.log(chalk.green('āœ… VibeHub CLI installed successfully!'));
126
+ console.log(chalk.cyan(`šŸ“¦ Version: ${version}`));
127
+ console.log(chalk.blue('\nšŸ“š Available commands:'));
128
+ console.log(chalk.gray(' vibe init - Initialize a new VibeHub repository'));
129
+ console.log(chalk.gray(' vibe status - Show repository status'));
130
+ console.log(chalk.gray(' vibe add - Add files to staging'));
131
+ console.log(chalk.gray(' vibe commit - Create a commit'));
132
+ console.log(chalk.gray(' vibe push - Push to VibeHub cloud'));
133
+ console.log(chalk.gray(' vibe pull - Pull from VibeHub cloud'));
134
+ console.log(chalk.gray(' vibe set - Connect to existing project'));
135
+ console.log(chalk.gray(' vibe --help - Show all commands'));
136
+ console.log(chalk.green('\nšŸŽ‰ You can now use "vibe" commands in any directory!'));
137
+ // Show installation path
138
+ try {
139
+ const whichOutput = execSync('which vibe', {
140
+ stdio: 'pipe',
141
+ encoding: 'utf8'
142
+ }).trim();
143
+ console.log(chalk.gray(`šŸ“ Installed at: ${whichOutput}`));
144
+ }
145
+ catch {
146
+ // Ignore if which command fails
147
+ }
148
+ }
149
+ catch (error) {
150
+ console.error(chalk.red('āŒ CLI installation test failed'));
151
+ console.log(chalk.blue('The CLI was installed but may not be in your PATH.'));
152
+ console.log(chalk.blue('Try restarting your terminal or adding the npm global bin to your PATH.'));
153
+ process.exit(1);
154
+ }
155
+ // Clean up temporary directory
156
+ console.log(chalk.blue('🧹 Cleaning up temporary files...'));
157
+ if (tempDir) {
158
+ try {
159
+ await fs.remove(tempDir);
160
+ }
161
+ catch (error) {
162
+ console.log(chalk.yellow('āš ļø Could not clean up temporary directory:'), tempDir);
163
+ }
164
+ }
165
+ }
166
+ catch (error) {
167
+ // Clean up on error
168
+ if (tempDir) {
169
+ try {
170
+ await fs.remove(tempDir);
171
+ }
172
+ catch {
173
+ // Ignore cleanup errors
174
+ }
175
+ }
176
+ console.error(chalk.red('āŒ Installation failed:'), error);
177
+ console.log(chalk.blue('Try running with sudo if you encounter permission issues:'));
178
+ console.log(chalk.gray(' sudo vibe install'));
179
+ process.exit(1);
180
+ }
181
+ });
182
+ //# sourceMappingURL=install.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"install.js","sourceRoot":"","sources":["../../src/commands/install.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import { Command } from 'commander';
2
+ export declare const pullCommand: Command;
3
+ //# sourceMappingURL=pull.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pull.d.ts","sourceRoot":"","sources":["../../src/commands/pull.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAKpC,eAAO,MAAM,WAAW,SA8GpB,CAAC"}
@@ -0,0 +1,99 @@
1
+ import { Command } from 'commander';
2
+ import chalk from 'chalk';
3
+ import { VibeHubManager } from '../lib/vibehub-manager.js';
4
+ import { CloudService } from '../lib/cloud-service.js';
5
+ export const pullCommand = new Command('pull')
6
+ .description('Pull updates from VibeHub cloud')
7
+ .option('-f, --force', 'Force pull and overwrite local changes')
8
+ .option('-d, --dry-run', 'Show what would be pulled without actually pulling')
9
+ .option('-p, --project-id <id>', 'Project ID (if not in config)')
10
+ .action(async (options) => {
11
+ const cwd = process.cwd();
12
+ const vibehubManager = new VibeHubManager(cwd);
13
+ try {
14
+ const status = await vibehubManager.getStatus();
15
+ if (!status.initialized) {
16
+ console.log(chalk.red('āŒ Not a VibeHub repository'));
17
+ console.log(chalk.blue('Run ') + chalk.cyan('vibe init') + chalk.blue(' to initialize a new repository'));
18
+ return;
19
+ }
20
+ const config = status.config;
21
+ if (!config.config?.autoSync) {
22
+ console.log(chalk.yellow('āš ļø Auto-sync is disabled for this repository'));
23
+ console.log(chalk.blue('Enable it in the config to use push/pull commands'));
24
+ return;
25
+ }
26
+ // Get project ID
27
+ const projectId = options.projectId || config.projectId;
28
+ if (!projectId) {
29
+ console.log(chalk.red('āŒ Project ID not found'));
30
+ console.log(chalk.blue('Please specify project ID with --project-id or update config'));
31
+ return;
32
+ }
33
+ // Initialize cloud service using config
34
+ const cloudConfig = config.cloud;
35
+ if (!cloudConfig) {
36
+ console.log(chalk.red('āŒ Cloud configuration not found'));
37
+ console.log(chalk.blue('Please run ') + chalk.cyan('vibe set <project-url>') + chalk.blue(' to connect to a cloud project'));
38
+ return;
39
+ }
40
+ const cloudService = new CloudService({
41
+ apiUrl: cloudConfig.apiUrl,
42
+ token: cloudConfig.token || process.env.VIBEHUB_TOKEN
43
+ });
44
+ // Test connection
45
+ const isConnected = await cloudService.testConnection();
46
+ if (!isConnected) {
47
+ console.log(chalk.red('āŒ Cannot connect to VibeHub cloud'));
48
+ console.log(chalk.blue('Please check your API URL and authentication'));
49
+ return;
50
+ }
51
+ console.log(chalk.blue('šŸ“„ Pulling from VibeHub cloud...\n'));
52
+ // Get last sync time from local config
53
+ const lastSync = config.lastSync;
54
+ if (options.dryRun) {
55
+ // Get sync status for dry run
56
+ const syncStatus = await cloudService.getSyncStatus(projectId);
57
+ console.log(chalk.blue('šŸ“‹ Dry run - would pull:'));
58
+ console.log(chalk.white(' Total commits: ') + chalk.cyan(syncStatus.totalCommits));
59
+ console.log(chalk.white(' Total sessions: ') + chalk.cyan(syncStatus.totalSessions));
60
+ console.log(chalk.white(' Last activity: ') + chalk.gray(syncStatus.lastActivity));
61
+ return;
62
+ }
63
+ // Pull from cloud
64
+ const result = await cloudService.pull(projectId, lastSync, options.force);
65
+ console.log(chalk.green('āœ… Successfully pulled from VibeHub cloud!'));
66
+ console.log(chalk.white(' New commits: ') + chalk.cyan(result.commits.length));
67
+ console.log(chalk.white(' New sessions: ') + chalk.cyan(result.sessions.length));
68
+ // Save pulled data locally
69
+ if (result.commits.length > 0 || result.sessions.length > 0) {
70
+ for (const commit of result.commits) {
71
+ await vibehubManager.createCommit({
72
+ message: commit.message,
73
+ author: commit.author,
74
+ sessionId: commit.sessionId,
75
+ files: commit.files || [],
76
+ changes: commit.changes || {}
77
+ });
78
+ }
79
+ for (const session of result.sessions) {
80
+ await vibehubManager.createSession({
81
+ prompt: session.prompt,
82
+ response: session.response,
83
+ files: session.files || [],
84
+ metadata: session.metadata || {}
85
+ });
86
+ }
87
+ // Update last sync time
88
+ await vibehubManager.updateConfig({
89
+ lastSync: result.lastSync
90
+ });
91
+ console.log(chalk.blue(' Data saved locally'));
92
+ }
93
+ }
94
+ catch (error) {
95
+ console.error(chalk.red('Failed to pull from VibeHub cloud:'), error);
96
+ process.exit(1);
97
+ }
98
+ });
99
+ //# sourceMappingURL=pull.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pull.js","sourceRoot":"","sources":["../../src/commands/pull.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import { Command } from 'commander';
2
+ export declare const pushCommand: Command;
3
+ //# sourceMappingURL=push.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"push.d.ts","sourceRoot":"","sources":["../../src/commands/push.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAOpC,eAAO,MAAM,WAAW,SAmKpB,CAAC"}
@@ -0,0 +1,142 @@
1
+ import { Command } from 'commander';
2
+ import chalk from 'chalk';
3
+ import { VibeHubManager } from '../lib/vibehub-manager.js';
4
+ import { CloudService } from '../lib/cloud-service.js';
5
+ export const pushCommand = new Command('push')
6
+ .description('Push local commits and sessions to VibeHub cloud')
7
+ .option('-f, --force', 'Force push even if there are conflicts')
8
+ .option('-d, --dry-run', 'Show what would be pushed without actually pushing')
9
+ .option('-p, --project-id <id>', 'Project ID (if not in config)')
10
+ .action(async (options) => {
11
+ const cwd = process.cwd();
12
+ const vibehubManager = new VibeHubManager(cwd);
13
+ try {
14
+ const status = await vibehubManager.getStatus();
15
+ if (!status.initialized) {
16
+ console.log(chalk.red('āŒ Not a VibeHub repository'));
17
+ console.log(chalk.blue('Run ') + chalk.cyan('vibe init') + chalk.blue(' to initialize a new repository'));
18
+ return;
19
+ }
20
+ const config = status.config;
21
+ if (!config.config?.autoSync) {
22
+ console.log(chalk.yellow('āš ļø Auto-sync is disabled for this repository'));
23
+ console.log(chalk.blue('Enable it in the config to use push/pull commands'));
24
+ return;
25
+ }
26
+ // Get project ID
27
+ const projectId = options.projectId || config.projectId;
28
+ if (!projectId) {
29
+ console.log(chalk.red('āŒ Project ID not found'));
30
+ console.log(chalk.blue('Please specify project ID with --project-id or update config'));
31
+ return;
32
+ }
33
+ // Initialize cloud service using config
34
+ const cloudConfig = config.cloud;
35
+ if (!cloudConfig) {
36
+ console.log(chalk.red('āŒ Cloud configuration not found'));
37
+ console.log(chalk.blue('Please run ') + chalk.cyan('vibe set <project-url>') + chalk.blue(' to connect to a cloud project'));
38
+ return;
39
+ }
40
+ // Check email authentication
41
+ if (!config.author?.email || !cloudConfig.userEmail) {
42
+ console.log(chalk.red('āŒ Email authentication not configured'));
43
+ console.log(chalk.blue('Please run ') + chalk.cyan('vibe init') + chalk.blue(' and ') + chalk.cyan('vibe set <project-url>') + chalk.blue(' to configure authentication'));
44
+ return;
45
+ }
46
+ if (config.author.email !== cloudConfig.userEmail) {
47
+ console.log(chalk.red('āŒ Email authentication failed'));
48
+ console.log(chalk.white('Local author email: ') + chalk.cyan(config.author.email));
49
+ console.log(chalk.white('Cloud user email: ') + chalk.cyan(cloudConfig.userEmail));
50
+ console.log(chalk.blue('Emails must match for authentication. Please update your configuration.'));
51
+ return;
52
+ }
53
+ console.log(chalk.green('āœ… Email authentication successful'));
54
+ console.log(chalk.white('Authenticated as: ') + chalk.cyan(config.author.email));
55
+ const cloudService = new CloudService({
56
+ apiUrl: cloudConfig.apiUrl,
57
+ token: cloudConfig.token || process.env.VIBEHUB_TOKEN
58
+ });
59
+ // Test connection
60
+ const isConnected = await cloudService.testConnection();
61
+ if (!isConnected) {
62
+ console.log(chalk.red('āŒ Cannot connect to VibeHub cloud'));
63
+ console.log(chalk.blue('Please check your API URL and authentication'));
64
+ return;
65
+ }
66
+ console.log(chalk.blue('šŸš€ Pushing to VibeHub cloud...\n'));
67
+ // Get local data
68
+ const commits = await vibehubManager.getAllCommits();
69
+ const sessions = await vibehubManager.getAllSessions();
70
+ if (options.dryRun) {
71
+ console.log(chalk.blue('šŸ“‹ Dry run - would push:'));
72
+ console.log(chalk.white(' Commits: ') + chalk.cyan(commits.length));
73
+ console.log(chalk.white(' Sessions: ') + chalk.cyan(sessions.length));
74
+ if (commits.length > 0) {
75
+ console.log(chalk.white('\nšŸ“ Recent commits:'));
76
+ commits.slice(0, 5).forEach(commit => {
77
+ console.log(chalk.gray(` ${commit.id.substring(0, 8)} - ${commit.message}`));
78
+ });
79
+ }
80
+ if (sessions.length > 0) {
81
+ console.log(chalk.white('\nšŸ¤– Recent sessions:'));
82
+ sessions.slice(0, 3).forEach(session => {
83
+ console.log(chalk.gray(` ${session.id.substring(0, 8)} - ${session.prompt.substring(0, 50)}...`));
84
+ });
85
+ }
86
+ return;
87
+ }
88
+ // Get existing commits from cloud to avoid duplicates
89
+ console.log(chalk.blue('šŸ“” Checking existing commits...'));
90
+ const existingCommits = await cloudService.getCommits(projectId, 1000, 0);
91
+ const existingCommitIds = new Set(existingCommits.map((c) => c.id));
92
+ // Filter out commits that already exist
93
+ const newCommits = commits.filter(commit => !existingCommitIds.has(commit.id));
94
+ if (newCommits.length === 0) {
95
+ console.log(chalk.yellow('āš ļø No new commits to push'));
96
+ return;
97
+ }
98
+ console.log(chalk.blue(`šŸ“ Found ${newCommits.length} new commits to push`));
99
+ // Convert local data to cloud format (only new commits)
100
+ const cloudCommits = newCommits.map(commit => ({
101
+ id: commit.id,
102
+ message: commit.message,
103
+ author: commit.author,
104
+ sessionId: commit.sessionId,
105
+ files: commit.files || [],
106
+ changes: commit.changes || {},
107
+ timestamp: commit.timestamp,
108
+ hash: commit.id, // Use commit ID as hash for now
109
+ parentHash: undefined,
110
+ branch: 'main',
111
+ tags: []
112
+ }));
113
+ const cloudSessions = sessions.map(session => ({
114
+ id: session.id,
115
+ prompt: session.prompt,
116
+ response: session.response,
117
+ files: session.files || [],
118
+ metadata: session.metadata || {},
119
+ timestamp: session.timestamp,
120
+ duration: undefined,
121
+ model: undefined,
122
+ tokens: undefined
123
+ }));
124
+ // Push to cloud
125
+ const result = await cloudService.push(projectId, cloudCommits, cloudSessions, options.force);
126
+ console.log(chalk.green('āœ… Successfully pushed to VibeHub cloud!'));
127
+ console.log(chalk.white(' Commits pushed: ') + chalk.cyan(result.commits.length));
128
+ console.log(chalk.white(' Sessions pushed: ') + chalk.cyan(result.sessions.length));
129
+ if (result.conflicts && result.conflicts.length > 0) {
130
+ console.log(chalk.yellow(' Conflicts: ') + chalk.cyan(result.conflicts.length));
131
+ result.conflicts.forEach((conflict) => {
132
+ console.log(chalk.gray(` ${conflict.type}: ${conflict.id} - ${conflict.reason}`));
133
+ });
134
+ }
135
+ console.log(chalk.blue('\nVisit ') + chalk.cyan('https://vibehub.dev') + chalk.blue(' to view your project'));
136
+ }
137
+ catch (error) {
138
+ console.error(chalk.red('Failed to push to VibeHub cloud:'), error);
139
+ process.exit(1);
140
+ }
141
+ });
142
+ //# sourceMappingURL=push.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"push.js","sourceRoot":"","sources":["../../src/commands/push.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import { Command } from 'commander';
2
+ export declare const sessionCommand: Command;
3
+ //# sourceMappingURL=session.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../../src/commands/session.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAKpC,eAAO,MAAM,cAAc,SAmCvB,CAAC"}