@blade-ai/orca 0.2.56 → 0.3.0-darwin-arm64
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/README.md +27 -5
- package/package.json +15 -20
- package/vendor/aarch64-apple-darwin/bin/orca +0 -0
- package/bin/orca.js +0 -102
package/README.md
CHANGED
|
@@ -9,7 +9,7 @@ runs locally, and is MIT licensed.
|
|
|
9
9
|
|
|
10
10
|
[English](README.md) · [简体中文](README.zh-CN.md) · [日本語](README.ja-JP.md) · [Tiếng Việt](README.vi.md) · [한국어](README.ko-KR.md) · [Español](README.es-419.md) · [Português](README.pt-BR.md)
|
|
11
11
|
|
|
12
|
-
[Website](https://orcaagent.dev/) · [Changelog](https://orcaagent.dev/changelog/) · [Releases](https://github.com/echoVic/
|
|
12
|
+
[Website](https://orcaagent.dev/) · [Changelog](https://orcaagent.dev/changelog/) · [Releases](https://github.com/echoVic/orca-agent/releases/latest) · [npm](https://www.npmjs.com/package/@blade-ai/orca)
|
|
13
13
|
|
|
14
14
|
## Install
|
|
15
15
|
|
|
@@ -23,8 +23,27 @@ Or install the native binary directly:
|
|
|
23
23
|
curl -fsSL https://orcaagent.dev/install.sh | sh
|
|
24
24
|
```
|
|
25
25
|
|
|
26
|
-
|
|
27
|
-
|
|
26
|
+
On Windows PowerShell:
|
|
27
|
+
|
|
28
|
+
```powershell
|
|
29
|
+
irm https://orcaagent.dev/install.ps1 | iex
|
|
30
|
+
```
|
|
31
|
+
|
|
32
|
+
From a project directory, provision its restricted sandbox capability with:
|
|
33
|
+
|
|
34
|
+
```powershell
|
|
35
|
+
& ([scriptblock]::Create((irm https://orcaagent.dev/install.ps1))) -SetupSandbox
|
|
36
|
+
```
|
|
37
|
+
|
|
38
|
+
The npm package supports macOS, Linux, and Windows on ARM64 and x64. Prebuilt
|
|
39
|
+
archives are also available from [GitHub Releases](https://github.com/echoVic/orca-agent/releases/latest).
|
|
40
|
+
|
|
41
|
+
On Windows, Orca prefers PowerShell 7 and detects its standard installation
|
|
42
|
+
path even when it is absent from `PATH`. Restricted sessions fall back to
|
|
43
|
+
`cmd.exe` when PowerShell 7 is unavailable. Windows PowerShell 5.1 remains an
|
|
44
|
+
explicit option only for modes that do not require AppContainer isolation.
|
|
45
|
+
Protocol command arrays are launched as native Windows argv without shell
|
|
46
|
+
re-parsing; legacy string commands use the resolved shell dialect.
|
|
28
47
|
|
|
29
48
|
## Use
|
|
30
49
|
|
|
@@ -37,6 +56,9 @@ orca exec --verifier "cargo test" "fix it" # verify before finishing
|
|
|
37
56
|
orca --mode=acp # connect an ACP client
|
|
38
57
|
```
|
|
39
58
|
|
|
59
|
+
On Windows PowerShell, set the key with `$env:DEEPSEEK_API_KEY = "sk-..."`;
|
|
60
|
+
the `orca` commands are the same.
|
|
61
|
+
|
|
40
62
|
In the TUI, `@` searches files, skills, plugins, and MCP resources. Use
|
|
41
63
|
`/plan` for read-only planning, `/goal` for a persistent objective,
|
|
42
64
|
`/workflows` for background work, and `/trust` to manage the current folder's
|
|
@@ -81,8 +103,8 @@ More detail:
|
|
|
81
103
|
Read [CONTRIBUTING.md](CONTRIBUTING.md) before contributing. Open an issue first
|
|
82
104
|
for large or compatibility-sensitive changes.
|
|
83
105
|
|
|
84
|
-
- [Report a bug](https://github.com/echoVic/
|
|
85
|
-
- [Request a feature](https://github.com/echoVic/
|
|
106
|
+
- [Report a bug](https://github.com/echoVic/orca-agent/issues/new?template=bug_report.yml)
|
|
107
|
+
- [Request a feature](https://github.com/echoVic/orca-agent/issues/new?template=feature_request.yml)
|
|
86
108
|
- [Ask for help](SUPPORT.md)
|
|
87
109
|
- [Report a vulnerability](SECURITY.md)
|
|
88
110
|
|
package/package.json
CHANGED
|
@@ -1,30 +1,25 @@
|
|
|
1
1
|
{
|
|
2
|
-
"name": "@blade-ai/orca",
|
|
3
|
-
"version": "0.2.56",
|
|
4
|
-
"description": "Orca CLI: a DeepSeek-native coding agent.",
|
|
5
|
-
"homepage": "https://orcaagent.dev/",
|
|
6
2
|
"license": "MIT",
|
|
7
|
-
"
|
|
8
|
-
"orca": "bin/orca.js"
|
|
9
|
-
},
|
|
10
|
-
"type": "module",
|
|
11
|
-
"engines": {
|
|
12
|
-
"node": ">=16"
|
|
13
|
-
},
|
|
3
|
+
"homepage": "https://orcaagent.dev/",
|
|
14
4
|
"files": [
|
|
15
|
-
"
|
|
5
|
+
"vendor",
|
|
16
6
|
"README.md",
|
|
17
7
|
"LICENSE"
|
|
18
8
|
],
|
|
19
9
|
"repository": {
|
|
20
10
|
"type": "git",
|
|
21
|
-
"url": "git+https://github.com/echoVic/blade-deepseek.git"
|
|
22
|
-
|
|
11
|
+
"url": "git+https://github.com/echoVic/blade-deepseek.git"
|
|
12
|
+
},
|
|
13
|
+
"engines": {
|
|
14
|
+
"node": ">=16"
|
|
23
15
|
},
|
|
24
|
-
"
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
"
|
|
29
|
-
|
|
16
|
+
"name": "@blade-ai/orca",
|
|
17
|
+
"version": "0.3.0-darwin-arm64",
|
|
18
|
+
"description": "Native Orca binary for darwin/arm64.",
|
|
19
|
+
"os": [
|
|
20
|
+
"darwin"
|
|
21
|
+
],
|
|
22
|
+
"cpu": [
|
|
23
|
+
"arm64"
|
|
24
|
+
]
|
|
30
25
|
}
|
|
Binary file
|
package/bin/orca.js
DELETED
|
@@ -1,102 +0,0 @@
|
|
|
1
|
-
#!/usr/bin/env node
|
|
2
|
-
|
|
3
|
-
import { spawn } from "node:child_process";
|
|
4
|
-
import { existsSync, realpathSync } from "node:fs";
|
|
5
|
-
import { createRequire } from "node:module";
|
|
6
|
-
import path from "node:path";
|
|
7
|
-
import { fileURLToPath } from "node:url";
|
|
8
|
-
|
|
9
|
-
const __filename = fileURLToPath(import.meta.url);
|
|
10
|
-
const __dirname = path.dirname(__filename);
|
|
11
|
-
const require = createRequire(import.meta.url);
|
|
12
|
-
|
|
13
|
-
const TARGETS = {
|
|
14
|
-
"darwin:arm64": {
|
|
15
|
-
packageName: "@blade-ai/orca-darwin-arm64",
|
|
16
|
-
targetTriple: "aarch64-apple-darwin"
|
|
17
|
-
},
|
|
18
|
-
"darwin:x64": {
|
|
19
|
-
packageName: "@blade-ai/orca-darwin-x64",
|
|
20
|
-
targetTriple: "x86_64-apple-darwin"
|
|
21
|
-
},
|
|
22
|
-
"linux:arm64": {
|
|
23
|
-
packageName: "@blade-ai/orca-linux-arm64",
|
|
24
|
-
targetTriple: "aarch64-unknown-linux-gnu"
|
|
25
|
-
},
|
|
26
|
-
"linux:x64": {
|
|
27
|
-
packageName: "@blade-ai/orca-linux-x64",
|
|
28
|
-
targetTriple: "x86_64-unknown-linux-gnu"
|
|
29
|
-
}
|
|
30
|
-
};
|
|
31
|
-
|
|
32
|
-
const target = TARGETS[`${process.platform}:${process.arch}`];
|
|
33
|
-
if (!target) {
|
|
34
|
-
throw new Error(`Unsupported platform: ${process.platform} (${process.arch})`);
|
|
35
|
-
}
|
|
36
|
-
|
|
37
|
-
function findExecutable() {
|
|
38
|
-
let vendorRoot;
|
|
39
|
-
try {
|
|
40
|
-
const packageJsonPath = require.resolve(`${target.packageName}/package.json`);
|
|
41
|
-
vendorRoot = path.join(path.dirname(packageJsonPath), "vendor");
|
|
42
|
-
} catch {
|
|
43
|
-
vendorRoot = path.join(__dirname, "..", "vendor");
|
|
44
|
-
}
|
|
45
|
-
|
|
46
|
-
const executable = path.join(vendorRoot, target.targetTriple, "bin", "orca");
|
|
47
|
-
if (existsSync(executable)) {
|
|
48
|
-
return executable;
|
|
49
|
-
}
|
|
50
|
-
|
|
51
|
-
throw new Error(
|
|
52
|
-
`Missing optional dependency ${target.packageName}. Reinstall with: npm install -g @blade-ai/orca`
|
|
53
|
-
);
|
|
54
|
-
}
|
|
55
|
-
|
|
56
|
-
const binaryPath = findExecutable();
|
|
57
|
-
const env = {
|
|
58
|
-
...process.env,
|
|
59
|
-
ORCA_MANAGED_BY_NPM: "1",
|
|
60
|
-
ORCA_MANAGED_PACKAGE_ROOT: realpathSync(path.join(__dirname, "..")),
|
|
61
|
-
ORCA_NODE_PATH: process.env.ORCA_NODE_PATH || process.execPath
|
|
62
|
-
};
|
|
63
|
-
|
|
64
|
-
const child = spawn(binaryPath, process.argv.slice(2), {
|
|
65
|
-
stdio: "inherit",
|
|
66
|
-
env
|
|
67
|
-
});
|
|
68
|
-
|
|
69
|
-
child.on("error", (error) => {
|
|
70
|
-
console.error(error);
|
|
71
|
-
process.exit(1);
|
|
72
|
-
});
|
|
73
|
-
|
|
74
|
-
const handledSignals = ["SIGINT", "SIGTERM", "SIGHUP"];
|
|
75
|
-
const forwardSignal = (signal) => {
|
|
76
|
-
if (!child.killed) {
|
|
77
|
-
child.kill(signal);
|
|
78
|
-
}
|
|
79
|
-
};
|
|
80
|
-
|
|
81
|
-
for (const signal of handledSignals) {
|
|
82
|
-
process.on(signal, () => forwardSignal(signal));
|
|
83
|
-
}
|
|
84
|
-
|
|
85
|
-
const result = await new Promise((resolve) => {
|
|
86
|
-
child.on("exit", (code, signal) => {
|
|
87
|
-
if (signal) {
|
|
88
|
-
resolve({ type: "signal", signal });
|
|
89
|
-
} else {
|
|
90
|
-
resolve({ type: "code", exitCode: code ?? 1 });
|
|
91
|
-
}
|
|
92
|
-
});
|
|
93
|
-
});
|
|
94
|
-
|
|
95
|
-
if (result.type === "signal") {
|
|
96
|
-
for (const signal of handledSignals) {
|
|
97
|
-
process.removeAllListeners(signal);
|
|
98
|
-
}
|
|
99
|
-
process.kill(process.pid, result.signal);
|
|
100
|
-
} else {
|
|
101
|
-
process.exit(result.exitCode);
|
|
102
|
-
}
|