@blade-ai/orca 0.4.7 → 0.4.8-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
@@ -73,11 +73,14 @@ compatibility alias for `/new`. `Ctrl+L` clears only the displayed transcript
73
73
  and terminal scrollback, keeping the current conversation context. On exit,
74
74
  Orca prints the exact `orca --resume <SESSION_ID>` command for the session.
75
75
 
76
- Use `/plan` for read-only planning, `/goal` for a persistent objective,
77
- `/workflows` for background work, and `/trust` to manage the current folder's
78
- sandbox permissions. Automatic project memory is enabled for recorded sessions
79
- by default; use `/remember` for explicit user or project facts. See
80
- [Memory](docs/memory.md) for capture, recall, storage, privacy, and deletion.
76
+ Use `/plan` for read-only planning, `/goal` for a persistent objective, and
77
+ `/tasks` for the unified workspace containing subagents, background commands,
78
+ 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
82
+ facts. See [Memory](docs/memory.md) for capture, recall, storage, privacy, and
83
+ deletion.
81
84
 
82
85
  ## What it does
83
86
 
@@ -103,6 +106,10 @@ by default; use `/remember` for explicit user or project facts. See
103
106
  a new prompt to the same durable child conversation. Task/status output on
104
107
  TUI, ACP, JSONL, and headless surfaces includes the current attempt,
105
108
  checkpoint, resumable, and indeterminate state.
109
+ - Keeps up to four active child summaries visible in the conversation and up to
110
+ eight durable activity entries per child. `/tasks` opens live transcripts and
111
+ exposes only controls the selected child can safely perform: stop, resume,
112
+ retry, or a revision-fenced follow-up.
106
113
  - Learns a bounded set of durable project facts after successfully committed
107
114
  turns and retrieves only prompt-relevant facts on later turns.
108
115
  - Runs with no implicit turn ceiling; optional `[budget]` limits
@@ -166,6 +173,9 @@ More detail:
166
173
  status.
167
174
  - Cancelling a foreground turn also stops the subagent task tree it owns;
168
175
  unrelated detached work is left alone.
176
+ - Escape-driven cancellation commits one terminal child state and ignores late
177
+ activity from the cancelled attempt, so a stopped subagent cannot flood the
178
+ terminal while its parent returns to an interactive prompt.
169
179
  - Continuation recovery is deliberately fail-closed. Orca restores only a
170
180
  digest-verified conversation checkpoint, never a Rust future or process
171
181
  stack. A tool admitted with unknown external side effects makes the
package/package.json CHANGED
@@ -1,32 +1,25 @@
1
1
  {
2
- "name": "@blade-ai/orca",
3
- "version": "0.4.7",
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.7-darwin-arm64",
26
- "@blade-ai/orca-darwin-x64": "npm:@blade-ai/orca@0.4.7-darwin-x64",
27
- "@blade-ai/orca-linux-arm64": "npm:@blade-ai/orca@0.4.7-linux-arm64",
28
- "@blade-ai/orca-linux-x64": "npm:@blade-ai/orca@0.4.7-linux-x64",
29
- "@blade-ai/orca-win32-arm64": "npm:@blade-ai/orca@0.4.7-win32-arm64",
30
- "@blade-ai/orca-win32-x64": "npm:@blade-ai/orca@0.4.7-win32-x64"
31
- }
16
+ "name": "@blade-ai/orca",
17
+ "version": "0.4.8-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
- }