orchestrai 0.1.2 → 0.1.4

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 (2) hide show
  1. package/bin/orchestrai.js +20 -0
  2. package/package.json +4 -4
package/bin/orchestrai.js CHANGED
@@ -24,6 +24,7 @@
24
24
 
25
25
  const path = require("path")
26
26
  const { spawnSync } = require("child_process")
27
+ const { chmodSync } = require("fs")
27
28
 
28
29
  // One fixed platform package per supported platform+arch — mirrors
29
30
  // npm-package/*/package.json's own "os"/"cpu" restrictions exactly.
@@ -71,6 +72,25 @@ function main() {
71
72
  process.exit(1)
72
73
  }
73
74
 
75
+ // Defensive, not decorative: found live that orchestrai-linux-x64@0.1.1
76
+ // and orchestrai-darwin-arm64@0.1.1 were both published from a Windows
77
+ // machine, where NTFS has no Unix executable bit — npm/tar faithfully
78
+ // preserved that absence, so a fresh install landed the binary as
79
+ // `-rw-r--r--` and every install failed with EACCES on first launch.
80
+ // Re-asserting the bit here at run time fixes existing (and any future)
81
+ // published tarballs without needing a republish of the multi-hundred-MB
82
+ // platform packages. Windows binaries don't have this concept at all, so
83
+ // this is skipped there; failures are swallowed; spawnSync's own error
84
+ // handling below still catches a genuinely unusable binary.
85
+ if (process.platform !== "win32") {
86
+ try {
87
+ chmodSync(binPath, 0o755)
88
+ } catch {
89
+ // Best-effort — if this fails (e.g. a read-only filesystem), the
90
+ // spawnSync below will surface whatever the real problem is.
91
+ }
92
+ }
93
+
74
94
  const result = spawnSync(binPath, process.argv.slice(2), { stdio: "inherit" })
75
95
  if (result.error) {
76
96
  console.error(`orchestrai: failed to launch the platform binary: ${result.error.message}`)
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "orchestrai",
3
- "version": "0.1.2",
3
+ "version": "0.1.4",
4
4
  "description": "OrchestrAI — run the standalone orchestrai binary via bunx/npx with nothing pre-installed. The right platform binary is installed automatically as an optional dependency; no network download at runtime.",
5
5
  "license": "MIT",
6
6
  "bin": {
@@ -11,9 +11,9 @@
11
11
  "README.md"
12
12
  ],
13
13
  "optionalDependencies": {
14
- "orchestrai-windows-x64": "0.1.2",
15
- "orchestrai-linux-x64": "0.1.1",
16
- "orchestrai-darwin-arm64": "0.1.1"
14
+ "orchestrai-windows-x64": "0.1.4",
15
+ "orchestrai-linux-x64": "0.1.4",
16
+ "orchestrai-darwin-arm64": "0.1.4"
17
17
  },
18
18
  "engines": {
19
19
  "node": ">=18"