@blade-ai/orca 0.2.49 → 0.2.50-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
@@ -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.49 sh
36
+ INSTALL_DIR=/usr/local/bin ORCA_VERSION=0.2.50 sh
37
37
  ```
38
38
 
39
39
  ### GitHub Releases
@@ -298,7 +298,7 @@ TUI sessions support persistent goals with `/goal`. A goal is stored by session
298
298
  /goal clear # delete the goal for this session
299
299
  ```
300
300
 
301
- While a goal is active, Orca automatically starts another turn after a successful turn and injects goal-mode instructions as pinned context. The loop stops when the goal is paused, cleared, blocked, completed, budget-limited, interrupted, or reaches the continuation cap. Goal turns expose `get_goal`, `create_goal`, and `update_goal`; the model can only use `update_goal` to mark the active goal `complete` or `blocked`, while `/goal` commands own pause, resume, edit, and clear.
301
+ While a goal is active, Orca automatically starts another turn after a successful turn and injects goal-mode instructions as pinned context. There is no fixed turn or continuation limit. The loop stops when the goal is paused, cleared, blocked, completed, budget-limited, interrupted, waiting on an interaction or workflow, or repeatedly makes no progress. Goal turns expose `get_goal`, `create_goal`, and `update_goal`; the model can only use `update_goal` to request a verified `complete` or `blocked` terminal state, while `/goal` commands own pause, resume, edit, and clear.
302
302
 
303
303
  The running timer for an active Goal is cumulative: Orca displays persisted time from completed Goal turns plus the elapsed time of the current turn. Time between turns, while the Goal is paused, or while Orca is closed is excluded. `/goal resume` preserves the elapsed time, tokens used, token budget, objective, and original creation timestamp instead of starting the Goal's accounting over.
304
304
 
package/package.json CHANGED
@@ -1,30 +1,25 @@
1
1
  {
2
- "name": "@blade-ai/orca",
3
- "version": "0.2.49",
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/blade-deepseek.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.2.49-darwin-arm64",
26
- "@blade-ai/orca-darwin-x64": "npm:@blade-ai/orca@0.2.49-darwin-x64",
27
- "@blade-ai/orca-linux-arm64": "npm:@blade-ai/orca@0.2.49-linux-arm64",
28
- "@blade-ai/orca-linux-x64": "npm:@blade-ai/orca@0.2.49-linux-x64"
29
- }
16
+ "name": "@blade-ai/orca",
17
+ "version": "0.2.50-darwin-x64",
18
+ "description": "Native Orca binary for darwin/x64.",
19
+ "os": [
20
+ "darwin"
21
+ ],
22
+ "cpu": [
23
+ "x64"
24
+ ]
30
25
  }
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
- }