@blade-ai/orca 0.3.26 → 0.4.0-darwin-x64

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
@@ -125,10 +125,29 @@ can also provide `.orca/config.toml`, `AGENTS.md`, rules, skills, and workflows.
125
125
 
126
126
  DeepSeek V4 thinking is enabled explicitly. Set `reasoning_effort` to `low`,
127
127
  `high`, or `max` (the default) in `config.toml`, or use
128
- `ORCA_REASONING_EFFORT`. Both `deepseek-v4-flash` and `deepseek-v4-pro` use a
129
- 1M-token context window and allow up to 384K output tokens. Orca keeps the
130
- Chat Completions transport and fully replays any returned `reasoning_content`
131
- across tool turns as required by DeepSeek.
128
+ `ORCA_REASONING_EFFORT`. `deepseek-v4-flash`, `deepseek-v4-flash-vision-exp`,
129
+ and `deepseek-v4-pro` use a 1M-token context window and allow up to 384K output
130
+ tokens. JPEG, PNG, GIF, and WebP inputs are accepted from ACP clients and the
131
+ TUI with every model selection. The vision model consumes images directly;
132
+ `auto`, Pro, and Flash use a task-aware vision analysis before continuing with
133
+ the selected coding model. In the TUI, use `Ctrl+V` to attach the current
134
+ clipboard image (`Alt+V` is also available on Windows), drag or paste image
135
+ paths and `file://` URLs, or select an image through `@file`. Each attachment
136
+ appears as an atomic `[Image #N]` item that can be deleted, cleared, queued,
137
+ edited, and restored after a rejected submission. `Cmd+V` works when the
138
+ terminal forwards it as `Super+V`; terminals that consume `Cmd+V` should use
139
+ `Ctrl+V`. Clipboard reads run in the background, and pressing Enter while one
140
+ is pending waits for the image before submitting. Place the cursor on an image
141
+ item and press Enter to open its preview; submitted images also render in the
142
+ message area and can be clicked. The viewer supports `+`/`-` zoom, arrow-key
143
+ panning, `0` to fit, and Esc to close. Kitty and Ghostty use the Kitty graphics
144
+ protocol for native-pixel previews; iTerm2 and WezTerm use the inline-image
145
+ protocol. Terminals without an image protocol, including Apple Terminal, fall
146
+ back to low-resolution true-color cells. SSH sessions without a graphical
147
+ clipboard should paste or mention a path on the remote host. Inline attachments
148
+ share a 5 MiB total limit. Orca keeps the Chat Completions transport and fully
149
+ replays any returned `reasoning_content` across tool turns as required by
150
+ DeepSeek.
132
151
 
133
152
  More detail:
134
153
 
package/package.json CHANGED
@@ -1,32 +1,25 @@
1
1
  {
2
- "name": "@blade-ai/orca",
3
- "version": "0.3.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.3.26-darwin-arm64",
26
- "@blade-ai/orca-darwin-x64": "npm:@blade-ai/orca@0.3.26-darwin-x64",
27
- "@blade-ai/orca-linux-arm64": "npm:@blade-ai/orca@0.3.26-linux-arm64",
28
- "@blade-ai/orca-linux-x64": "npm:@blade-ai/orca@0.3.26-linux-x64",
29
- "@blade-ai/orca-win32-arm64": "npm:@blade-ai/orca@0.3.26-win32-arm64",
30
- "@blade-ai/orca-win32-x64": "npm:@blade-ai/orca@0.3.26-win32-x64"
31
- }
16
+ "name": "@blade-ai/orca",
17
+ "version": "0.4.0-darwin-x64",
18
+ "description": "Native Orca binary for darwin/x64.",
19
+ "os": [
20
+ "darwin"
21
+ ],
22
+ "cpu": [
23
+ "x64"
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
- }