@humanu/orchestra 0.5.23 → 0.5.25

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/install.js CHANGED
@@ -111,7 +111,23 @@ function linkCompatibilityBinary(binaryPath) {
111
111
  function installPrebuiltBinary() {
112
112
  const platform = getPlatformKey();
113
113
  const source = path.join(prebuiltDir, platform, BINARY_NAME);
114
+
114
115
  if (!fs.existsSync(source)) {
116
+ console.log(`⚠️ No prebuilt binary found for ${platform}`);
117
+
118
+ // Check if we have binaries for other platforms (for debugging)
119
+ if (fs.existsSync(prebuiltDir)) {
120
+ const availablePlatforms = fs.readdirSync(prebuiltDir).filter(item => {
121
+ const platformPath = path.join(prebuiltDir, item);
122
+ return fs.statSync(platformPath).isDirectory() &&
123
+ fs.existsSync(path.join(platformPath, BINARY_NAME));
124
+ });
125
+
126
+ if (availablePlatforms.length > 0) {
127
+ console.log(` Available platforms: ${availablePlatforms.join(', ')}`);
128
+ }
129
+ }
130
+
115
131
  return false;
116
132
  }
117
133
 
@@ -124,24 +140,61 @@ function installPrebuiltBinary() {
124
140
 
125
141
  function buildFromSource() {
126
142
  if (!hasLocalSource) {
127
- console.error('No prebuilt binary available and source tree not found.');
128
- console.error('Clone the repository and run `cargo build --release` to build locally.');
143
+ console.error('No prebuilt binary available and source tree not found.');
144
+ console.error('');
145
+ console.error('This usually happens when:');
146
+ console.error('1. The npm package was built on a different platform (e.g., macOS vs Linux)');
147
+ console.error('2. The binary for your platform is missing from the package');
148
+ console.error('');
149
+ console.error('Solutions:');
150
+ console.error('1. Install from source (requires Rust toolchain):');
151
+ console.error(' git clone https://github.com/humanunsupervised/orchestra.git');
152
+ console.error(' cd orchestra');
153
+ console.error(' cargo build --release');
154
+ console.error('');
155
+ console.error('2. Use a pre-built release:');
156
+ console.error(' Download from: https://github.com/humanunsupervised/orchestra/releases');
157
+ console.error('');
158
+ console.error('3. Install Rust and build locally:');
159
+ console.error(' curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh');
160
+ console.error(' source ~/.cargo/env');
161
+ console.error(' cargo build --release');
129
162
  process.exit(1);
130
163
  }
131
164
 
132
165
  try {
133
166
  execSync('cargo --version', { stdio: 'ignore' });
134
167
  } catch (error) {
135
- console.error('Rust toolchain not found. Install Rust from https://rustup.rs/.');
168
+ console.error('Rust toolchain not found.');
169
+ console.error('');
170
+ console.error('Install Rust from https://rustup.rs/');
171
+ console.error('Then run: curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh');
136
172
  process.exit(1);
137
173
  }
138
174
 
139
- console.log('Building from source...');
140
- execSync('cargo build --release', { stdio: 'inherit', cwd: path.join(projectRoot, 'gw-tui') });
175
+ console.log('🔨 Building from source... (this may take a few minutes)');
176
+ console.log(' Working directory:', path.join(projectRoot, 'gw-tui'));
177
+
178
+ try {
179
+ execSync('cargo build --release', { stdio: 'inherit', cwd: path.join(projectRoot, 'gw-tui') });
180
+ } catch (error) {
181
+ console.error('❌ Build failed.');
182
+ console.error('');
183
+ console.error('Common issues:');
184
+ console.error('- Missing system dependencies (openssl, pkg-config, etc.)');
185
+ console.error('- Network issues during dependency download');
186
+ console.error('');
187
+ console.error('Try installing dependencies:');
188
+ console.error('- Ubuntu/Debian: sudo apt-get install libssl-dev pkg-config');
189
+ console.error('- macOS: brew install openssl pkg-config');
190
+ console.error('- Fedora: sudo dnf install openssl-devel pkgconfig');
191
+ process.exit(1);
192
+ }
141
193
 
142
194
  const builtBinary = path.join(projectRoot, 'gw-tui', 'target', 'release', 'gw-tui');
143
195
  if (!fs.existsSync(builtBinary)) {
144
- console.error('Build finished but gw-tui binary was not produced.');
196
+ console.error('Build finished but gw-tui binary was not produced.');
197
+ console.error(' Expected location:', builtBinary);
145
198
  process.exit(1);
146
199
  }
147
200
 
@@ -149,6 +202,8 @@ function buildFromSource() {
149
202
  fs.copyFileSync(builtBinary, destination);
150
203
  fs.chmodSync(destination, 0o755);
151
204
  linkCompatibilityBinary(destination);
205
+
206
+ console.log('✅ Successfully built from source!');
152
207
  }
153
208
 
154
209
  function assetsReady() {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@humanu/orchestra",
3
- "version": "0.5.23",
3
+ "version": "0.5.25",
4
4
  "description": "AI-powered Git worktree and tmux session manager with modern TUI",
5
5
  "keywords": [
6
6
  "git",