@blade-ai/orca 0.2.19 → 0.2.20-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 CHANGED
@@ -33,7 +33,7 @@ Set `INSTALL_DIR` to choose a destination and `ORCA_VERSION` to pin a version:
33
33
 
34
34
  ```bash
35
35
  curl -fsSL https://orcaagent.dev/install.sh | \
36
- INSTALL_DIR=/usr/local/bin ORCA_VERSION=0.2.19 sh
36
+ INSTALL_DIR=/usr/local/bin ORCA_VERSION=0.2.20 sh
37
37
  ```
38
38
 
39
39
  ### GitHub Releases
@@ -60,6 +60,23 @@ orca exec --model deepseek-v4-pro "explain this codebase"
60
60
  orca exec --verifier "cargo test" "fix the failing test"
61
61
  ```
62
62
 
63
+ ## Terminal UI
64
+
65
+ The interactive TUI keeps long-running sessions compact without changing the
66
+ content sent to the model:
67
+
68
+ - Pastes over 1,000 characters appear as `[Pasted Content N chars]` in the
69
+ composer and expand only for submission. Long submitted messages remain a
70
+ bounded transcript preview.
71
+ - Goal objectives, task-plan steps, tool targets, and Goal status notices are
72
+ shortened by terminal display width with a visible ellipsis.
73
+ - Approval dialogs keep the decision options visible when commands or previews
74
+ are long, and slash/file candidate menus scroll with the current selection.
75
+ - The status line preserves permission mode and context pressure first on narrow
76
+ terminals, then adds token, cost, and shortcut metadata as space permits.
77
+ - Permission modes use semantic colors: `suggest` blue, `auto-edit` violet,
78
+ `full-auto` red, and `plan` teal.
79
+
63
80
  ## Configuration
64
81
 
65
82
  Priority chain (highest wins): Environment variables > CLI arguments > Config file > Defaults.
package/package.json CHANGED
@@ -1,29 +1,24 @@
1
1
  {
2
- "name": "@blade-ai/orca",
3
- "version": "0.2.19",
4
- "description": "Orca CLI: a DeepSeek-native coding agent.",
5
- "homepage": "https://orcaagent.dev/",
6
2
  "license": "MIT",
7
- "bin": {
8
- "orca": "bin/orca.js"
9
- },
10
- "type": "module",
11
- "engines": {
12
- "node": ">=16"
13
- },
3
+ "homepage": "https://orcaagent.dev/",
14
4
  "files": [
15
- "bin/orca.js",
5
+ "vendor",
16
6
  "README.md"
17
7
  ],
18
8
  "repository": {
19
9
  "type": "git",
20
- "url": "git+https://github.com/echoVic/blade-deepseek.git",
21
- "directory": "npm/orca"
10
+ "url": "git+https://github.com/echoVic/blade-deepseek.git"
11
+ },
12
+ "engines": {
13
+ "node": ">=16"
22
14
  },
23
- "optionalDependencies": {
24
- "@blade-ai/orca-darwin-arm64": "npm:@blade-ai/orca@0.2.19-darwin-arm64",
25
- "@blade-ai/orca-darwin-x64": "npm:@blade-ai/orca@0.2.19-darwin-x64",
26
- "@blade-ai/orca-linux-arm64": "npm:@blade-ai/orca@0.2.19-linux-arm64",
27
- "@blade-ai/orca-linux-x64": "npm:@blade-ai/orca@0.2.19-linux-x64"
28
- }
15
+ "name": "@blade-ai/orca",
16
+ "version": "0.2.20-darwin-arm64",
17
+ "description": "Native Orca binary for darwin/arm64.",
18
+ "os": [
19
+ "darwin"
20
+ ],
21
+ "cpu": [
22
+ "arm64"
23
+ ]
29
24
  }
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
- }