external-subagent 0.5.1 → 0.5.2

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
@@ -16,7 +16,7 @@ independent axes:
16
16
  ## Status
17
17
 
18
18
  The package is published to the public npm registry as
19
- `external-subagent@0.5.1` for macOS arm64 and Linux x86_64. `os`/`cpu` in
19
+ `external-subagent@0.5.2` for macOS arm64 and Linux x86_64. `os`/`cpu` in
20
20
  `package.json` are independent npm arrays, so npm admits any darwin/linux +
21
21
  arm64/x64 tuple at install time; the CLI then enforces the real support at
22
22
  first use — a host outside macOS/Linux is rejected with `UNSUPPORTED_PLATFORM`
@@ -70,7 +70,7 @@ acceptance matrix is recorded in
70
70
 
71
71
  ## Versioning
72
72
 
73
- The product version has a single source: `package.json` (`0.5.1`). The CLI
73
+ The product version has a single source: `package.json` (`0.5.2`). The CLI
74
74
  constant (`cli/constants.mjs`), the daemon crates, and the native payload
75
75
  manifest all carry the same version, and `scripts/release/check-native-tarball.mjs`
76
76
  enforces payload/package agreement. The managed Codex plugin manifest
@@ -99,6 +99,34 @@ stale or missing binaries) and `postpack` runs the static tarball checks. A
99
99
  development checkout packs the same way (`npm pack` after `cargo` is
100
100
  available); see [docs/operations.md](docs/operations.md) for release checks.
101
101
 
102
+ ### Upgrade
103
+
104
+ An in-place upgrade never kills a running task. `npm install` runs a
105
+ postinstall reconcile that asks the daemon to drain and waits a bounded
106
+ 30 seconds for activation readiness; with active tasks it will time out on
107
+ purpose rather than interrupt them.
108
+
109
+ - **No active tasks**: `npm install -g external-subagent@<version>` is the
110
+ whole procedure — postinstall drains and activates automatically.
111
+ - **Active tasks you are willing to interrupt**: stop first, then install and
112
+ reconcile explicitly:
113
+
114
+ ```
115
+ external-subagent stop
116
+ npm install -g external-subagent@<version>
117
+ external-subagent update
118
+ ```
119
+
120
+ Restarting the daemon also runs startup recovery, which settles and reaps
121
+ anything the drain would have waited for.
122
+ - `external-subagent update --cancel-active --yes` asks the daemon to cancel
123
+ active tasks itself instead of waiting. It only settles tasks that are
124
+ still running; it is not a leftover-cleanup tool.
125
+
126
+ Terminal tasks whose process state cannot be proven (runtime lost, orphaned
127
+ group members) keep activation readiness false by design — the upgrade waits
128
+ rather than reaping an unproven process group.
129
+
102
130
  ## Spawn profiles
103
131
 
104
132
  A spawn profile is a named JSON preset for the spawn inputs, stored as one
package/cli/constants.mjs CHANGED
@@ -12,7 +12,7 @@ const IS_DEBUG_VARIANT = process.env.EXTERNAL_SUBAGENT_VARIANT === 'debug';
12
12
 
13
13
  export const PRODUCT_NAME = IS_DEBUG_VARIANT ? 'external-subagent-debug' : 'external-subagent';
14
14
  export const PRODUCT_ID = IS_DEBUG_VARIANT ? 'external_subagent_debug' : 'external_subagent';
15
- export const VERSION = '0.5.1';
15
+ export const VERSION = '0.5.2';
16
16
  export const LAUNCH_AGENT_LABEL = IS_DEBUG_VARIANT ? 'com.external-subagent-debug.daemon' : 'com.external-subagent.daemon';
17
17
  export const DAEMON_BIN_NAME = IS_DEBUG_VARIANT ? 'external-subagent-debugd' : 'external-subagentd';
18
18
  export const MCP_BIN_NAME = IS_DEBUG_VARIANT ? 'external-subagent-debug-mcp' : 'external-subagent-mcp';
@@ -1,20 +1,20 @@
1
1
  {
2
2
  "schema_version": 1,
3
3
  "product": "external-subagent",
4
- "version": "0.5.1",
4
+ "version": "0.5.2",
5
5
  "platform": "darwin-arm64",
6
6
  "files": [
7
7
  {
8
8
  "name": "external-subagentd",
9
- "bytes": 10075248,
9
+ "bytes": 10118624,
10
10
  "mode": "755",
11
- "sha256": "eb0b1c4ffb4ab44678adf5aa39ee96f61cf09ebdb03b74da9e12cebad2b868f5"
11
+ "sha256": "d0effa783502353dc474ab4c961b35bbe82ba8cb2f1ccbdadae3aac7e68dec7a"
12
12
  },
13
13
  {
14
14
  "name": "external-subagent-mcp",
15
- "bytes": 935888,
15
+ "bytes": 935760,
16
16
  "mode": "755",
17
- "sha256": "1dce8a0c5566af2d9b4a12a39ad43c819bcb7f395a1a7c738389e5b0bbd24346"
17
+ "sha256": "76e52e11bf1d30553c26278f34f363005714f30012a7fca14df54cd025666461"
18
18
  }
19
19
  ]
20
20
  }
@@ -1,20 +1,20 @@
1
1
  {
2
2
  "schema_version": 1,
3
3
  "product": "external-subagent",
4
- "version": "0.5.1",
4
+ "version": "0.5.2",
5
5
  "platform": "linux-x64",
6
6
  "files": [
7
7
  {
8
8
  "name": "external-subagentd",
9
- "bytes": 11452160,
9
+ "bytes": 11434656,
10
10
  "mode": "755",
11
- "sha256": "c4f410496c2f9390288cb168e447127c9ee7ec0b47c591bcd84f25f688cad3af"
11
+ "sha256": "28b3bf99d7ea6e24747044620d6a6976849d434637e18372327848fcab3d202f"
12
12
  },
13
13
  {
14
14
  "name": "external-subagent-mcp",
15
- "bytes": 1025360,
15
+ "bytes": 1025400,
16
16
  "mode": "755",
17
- "sha256": "6553125c48dcd1a21554a6dd1181a7cb55d84f874118a1bd5136b5b29e916e60"
17
+ "sha256": "115d466e4480db0d0ebd45b2930e87b1510560e9cd4a2896bd8442318a967c19"
18
18
  }
19
19
  ]
20
20
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "external-subagent",
3
- "version": "0.5.1",
3
+ "version": "0.5.2",
4
4
  "description": "Manage bounded ZCode, DeepSeek Harness (DSH), Codex, and Google Antigravity (agy) subagent tasks through a local MCP service for any local host (Codex, ZCode, or a custom MCP client)",
5
5
  "type": "module",
6
6
  "license": "MIT",