@blade-ai/orca 0.4.26 → 0.4.27-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
@@ -61,6 +61,12 @@ orca --resume [SESSION_ID] # resume a saved conversation
61
61
  orca --fork SESSION_ID # fork a saved conversation
62
62
  ```
63
63
 
64
+ Development builds also provide opt-in [shared ACP sessions](docs/acp-daemon.md)
65
+ on Unix (`orca daemon`, `orca attach`, and `orca acp-bridge`),
66
+ [file-defined subagents](docs/subagents.md), and
67
+ [persistent terminal output pages](docs/architecture/adr/0006-unified-exec-terminal-service.md).
68
+ These additions are available in v0.4.27 and later.
69
+
64
70
  On Windows PowerShell, set the key with `$env:DEEPSEEK_API_KEY = "sk-..."`;
65
71
  the `orca` commands are the same.
66
72
 
@@ -76,9 +82,10 @@ Orca prints the exact `orca --resume <SESSION_ID>` command for the session.
76
82
  Use `/plan` for read-only planning, `/goal` for a persistent objective, and
77
83
  `/tasks` for the unified workspace containing subagents, background commands,
78
84
  monitors, and workflow children. `/agents` is an alias for `/tasks`, while
79
- `/workflows` keeps the workflow-specific run tree. Use `/trust` to manage the
80
- current folder's sandbox permissions. Automatic project memory is enabled for
81
- recorded sessions by default; use `/remember` for explicit user or project
85
+ `/workflows` keeps the workflow-specific run tree. Use `/trust` to control
86
+ whether Orca loads project-provided configuration and instructions; it does not
87
+ enable or bypass OS sandbox enforcement. Automatic project memory is enabled
88
+ for recorded sessions by default; use `/remember` for explicit user or project
82
89
  facts. See [Memory](docs/memory.md) for capture, recall, storage, privacy, and
83
90
  deletion.
84
91
 
@@ -130,14 +137,17 @@ then defaults. Run `orca --help` or `orca exec --help` for the full command
130
137
  surface. User configuration lives at `~/.orca/config.toml`; trusted projects
131
138
  can also provide `.orca/config.toml`, `AGENTS.md`, rules, skills, and workflows.
132
139
 
133
- DeepSeek V4 thinking is enabled explicitly. Set `reasoning_effort` to `low`,
140
+ DeepSeek thinking is enabled explicitly. Set `reasoning_effort` to `low`,
134
141
  `high`, or `max` (the default) in `config.toml`, or use
135
- `ORCA_REASONING_EFFORT`. `deepseek-v4-flash`, `deepseek-v4-flash-vision-exp`,
136
- and `deepseek-v4-pro` use a 1M-token context window and allow up to 384K output
137
- tokens. JPEG, PNG, GIF, and WebP inputs are accepted from ACP clients and the
138
- TUI with every model selection. The vision model consumes images directly;
139
- `auto`, Pro, and Flash use a task-aware vision analysis before continuing with
140
- the selected coding model. In the TUI, use `Ctrl+V` to attach the current
142
+ `ORCA_REASONING_EFFORT`. `deepseek-flash` (DeepSeek-V4.1-Flash) and
143
+ `deepseek-v4-pro` use a 1M-token context window and allow up to 384K output
144
+ tokens. The retired `deepseek-v4-flash` and
145
+ `deepseek-v4-flash-vision-exp` names remain accepted and normalize to
146
+ `deepseek-flash`, including Flash pricing. JPEG, PNG, GIF, and WebP inputs are
147
+ accepted from ACP clients and the TUI with every model selection. Explicit
148
+ Flash selections consume images directly; `auto` and Pro use Flash for
149
+ task-aware visual analysis before continuing with the selected coding model.
150
+ In the TUI, use `Ctrl+V` to attach the current
141
151
  clipboard image (`Alt+V` is also available on Windows), drag or paste image
142
152
  paths and `file://` URLs, or select an image through `@file`. Each attachment
143
153
  appears as an atomic `[Image #N]` item that can be deleted, cleared, queued,
package/package.json CHANGED
@@ -1,32 +1,25 @@
1
1
  {
2
- "name": "@blade-ai/orca",
3
- "version": "0.4.26",
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
  "LICENSE"
18
8
  ],
19
9
  "repository": {
20
10
  "type": "git",
21
- "url": "git+https://github.com/echoVic/orca-agent.git",
22
- "directory": "npm/orca"
11
+ "url": "git+https://github.com/echoVic/blade-deepseek.git"
12
+ },
13
+ "engines": {
14
+ "node": ">=16"
23
15
  },
24
- "optionalDependencies": {
25
- "@blade-ai/orca-darwin-arm64": "npm:@blade-ai/orca@0.4.26-darwin-arm64",
26
- "@blade-ai/orca-darwin-x64": "npm:@blade-ai/orca@0.4.26-darwin-x64",
27
- "@blade-ai/orca-linux-arm64": "npm:@blade-ai/orca@0.4.26-linux-arm64",
28
- "@blade-ai/orca-linux-x64": "npm:@blade-ai/orca@0.4.26-linux-x64",
29
- "@blade-ai/orca-win32-arm64": "npm:@blade-ai/orca@0.4.26-win32-arm64",
30
- "@blade-ai/orca-win32-x64": "npm:@blade-ai/orca@0.4.26-win32-x64"
31
- }
16
+ "name": "@blade-ai/orca",
17
+ "version": "0.4.27-darwin-arm64",
18
+ "description": "Native Orca binary for darwin/arm64.",
19
+ "os": [
20
+ "darwin"
21
+ ],
22
+ "cpu": [
23
+ "arm64"
24
+ ]
32
25
  }
package/bin/orca.js DELETED
@@ -1,118 +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
- binaryName: "orca"
18
- },
19
- "darwin:x64": {
20
- packageName: "@blade-ai/orca-darwin-x64",
21
- targetTriple: "x86_64-apple-darwin",
22
- binaryName: "orca"
23
- },
24
- "linux:arm64": {
25
- packageName: "@blade-ai/orca-linux-arm64",
26
- targetTriple: "aarch64-unknown-linux-gnu",
27
- binaryName: "orca"
28
- },
29
- "linux:x64": {
30
- packageName: "@blade-ai/orca-linux-x64",
31
- targetTriple: "x86_64-unknown-linux-gnu",
32
- binaryName: "orca"
33
- },
34
- "win32:arm64": {
35
- packageName: "@blade-ai/orca-win32-arm64",
36
- targetTriple: "aarch64-pc-windows-msvc",
37
- binaryName: "orca.exe"
38
- },
39
- "win32:x64": {
40
- packageName: "@blade-ai/orca-win32-x64",
41
- targetTriple: "x86_64-pc-windows-msvc",
42
- binaryName: "orca.exe"
43
- }
44
- };
45
-
46
- const target = TARGETS[`${process.platform}:${process.arch}`];
47
- if (!target) {
48
- throw new Error(`Unsupported platform: ${process.platform} (${process.arch})`);
49
- }
50
-
51
- function findExecutable() {
52
- let vendorRoot;
53
- try {
54
- const packageJsonPath = require.resolve(`${target.packageName}/package.json`);
55
- vendorRoot = path.join(path.dirname(packageJsonPath), "vendor");
56
- } catch {
57
- vendorRoot = path.join(__dirname, "..", "vendor");
58
- }
59
-
60
- const executable = path.join(vendorRoot, target.targetTriple, "bin", target.binaryName);
61
- if (existsSync(executable)) {
62
- return executable;
63
- }
64
-
65
- throw new Error(
66
- `Missing optional dependency ${target.packageName}. Reinstall with: npm install -g @blade-ai/orca`
67
- );
68
- }
69
-
70
- const binaryPath = findExecutable();
71
- const env = {
72
- ...process.env,
73
- ORCA_MANAGED_BY_NPM: "1",
74
- ORCA_MANAGED_PACKAGE_ROOT: realpathSync(path.join(__dirname, "..")),
75
- ORCA_NODE_PATH: process.env.ORCA_NODE_PATH || process.execPath
76
- };
77
-
78
- const child = spawn(binaryPath, process.argv.slice(2), {
79
- stdio: "inherit",
80
- env
81
- });
82
-
83
- child.on("error", (error) => {
84
- console.error(error);
85
- process.exit(1);
86
- });
87
-
88
- const handledSignals = process.platform === "win32"
89
- ? ["SIGINT", "SIGTERM"]
90
- : ["SIGINT", "SIGTERM", "SIGHUP"];
91
- const forwardSignal = (signal) => {
92
- if (!child.killed) {
93
- child.kill(signal);
94
- }
95
- };
96
-
97
- for (const signal of handledSignals) {
98
- process.on(signal, () => forwardSignal(signal));
99
- }
100
-
101
- const result = await new Promise((resolve) => {
102
- child.on("exit", (code, signal) => {
103
- if (signal) {
104
- resolve({ type: "signal", signal });
105
- } else {
106
- resolve({ type: "code", exitCode: code ?? 1 });
107
- }
108
- });
109
- });
110
-
111
- if (result.type === "signal") {
112
- for (const signal of handledSignals) {
113
- process.removeAllListeners(signal);
114
- }
115
- process.kill(process.pid, result.signal);
116
- } else {
117
- process.exit(result.exitCode);
118
- }