subconscious-cli 5.0.2 → 6.0.0
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 +7 -3
- package/bin/agents.js +1 -1
- package/bin/native/subc-tui-darwin-amd64 +0 -0
- package/bin/native/subc-tui-darwin-arm64 +0 -0
- package/bin/native/subc-tui-linux-amd64 +0 -0
- package/bin/native/subc-tui-linux-arm64 +0 -0
- package/bin/native/subc-tui-windows-amd64.exe +0 -0
- package/bin/native/subc-tui-windows-arm64.exe +0 -0
- package/bin/registry.generated.json +1 -0
- package/bin/runbook/README.md +1 -1
- package/bin/tui.js +15 -3
- package/package.json +14 -5
package/README.md
CHANGED
|
@@ -78,7 +78,7 @@ subc dsh
|
|
|
78
78
|
|
|
79
79
|
## Native Windows support
|
|
80
80
|
|
|
81
|
-
Windows has its own implementation in `
|
|
81
|
+
Windows has its own implementation in `bin/windows/`, selected only when
|
|
82
82
|
Node runs on Windows. macOS/Linux continue to use the existing, unchanged shell
|
|
83
83
|
runbooks. WSL continues to use the Linux implementation.
|
|
84
84
|
|
|
@@ -142,13 +142,13 @@ The installer requires the selected release's Windows asset and SHA-256
|
|
|
142
142
|
checksum; it reports a clear error if unavailable and never downloads a Unix
|
|
143
143
|
binary as a fallback. Windows ARM64 binaries are not currently published.
|
|
144
144
|
|
|
145
|
-
Run `npm run test:windows` from
|
|
145
|
+
Run `npm run test:windows` from the repository root for the separate Windows suite. The
|
|
146
146
|
Windows CI job also builds/tests the Go TUI. Existing Unix tests and runbooks
|
|
147
147
|
remain separate and unchanged.
|
|
148
148
|
|
|
149
149
|
## Supported agents
|
|
150
150
|
|
|
151
|
-
The packaged integrations live in `
|
|
151
|
+
The packaged integrations live in `bin/runbook`.
|
|
152
152
|
|
|
153
153
|
| Command | Behavior |
|
|
154
154
|
| --- | --- |
|
|
@@ -442,3 +442,7 @@ logging out of `default` also clears the backwards-compatible saved key.
|
|
|
442
442
|
Existing credentials and profiles under `~/.subcon` are copied into
|
|
443
443
|
`~/.subconscious` automatically on first use. The legacy files are left in
|
|
444
444
|
place so migration is recoverable.
|
|
445
|
+
|
|
446
|
+
## Contributing
|
|
447
|
+
|
|
448
|
+
Setup, commit message rules, and local checks are in [CONTRIBUTING.md](CONTRIBUTING.md). `npm install` installs the commit-message hook. Version bumps and the changelog are created by Release Please when a release pull request merges to `main`.
|
package/bin/agents.js
CHANGED
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
*
|
|
8
8
|
* There is NO hardcoded agent data here: everything is read from
|
|
9
9
|
* `registry.generated.json` (shipped under `bin/`), which is generated from the
|
|
10
|
-
* single source of truth `agents/registry.json`. Run `
|
|
10
|
+
* single source of truth `agents/registry.json`. Run `node scripts/generate-agents.js` to update.
|
|
11
11
|
*/
|
|
12
12
|
|
|
13
13
|
import { spawn, execFileSync } from 'node:child_process';
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
package/bin/runbook/README.md
CHANGED
|
@@ -6,7 +6,7 @@ Subconscious gateway.
|
|
|
6
6
|
|
|
7
7
|
`subc` reads `~/.subconscious/profiles/<name>.env` and injects those values into
|
|
8
8
|
the scripts, so users do not need a sibling `.env` file. When a script is run
|
|
9
|
-
directly, `SUBC_ENV_FILE` (or `
|
|
9
|
+
directly, `SUBC_ENV_FILE` (or `bin/runbook/.env`) can supply the same keys.
|
|
10
10
|
|
|
11
11
|
Included integrations:
|
|
12
12
|
|
package/bin/tui.js
CHANGED
|
@@ -257,6 +257,18 @@ async function raceAbort(signal, promise) {
|
|
|
257
257
|
export async function loadRemoteTuiUpdates(state, options = {}) {
|
|
258
258
|
const signal = options.signal;
|
|
259
259
|
const writePatch = options.writePatch || (async () => {});
|
|
260
|
+
// Catalog and session writes finish together. A later patch must not start
|
|
261
|
+
// until the earlier file replace has finished, or the slower write lands
|
|
262
|
+
// last and drops the other fields. Windows CI hits that race.
|
|
263
|
+
let writeQueue = Promise.resolve();
|
|
264
|
+
const enqueuePatch = (partial) => {
|
|
265
|
+
const run = writeQueue.then(() => writePatch(partial));
|
|
266
|
+
writeQueue = run.then(
|
|
267
|
+
() => {},
|
|
268
|
+
() => {},
|
|
269
|
+
);
|
|
270
|
+
return run;
|
|
271
|
+
};
|
|
260
272
|
const resolveCatalog = options.resolveCatalog || resolveModelCatalog;
|
|
261
273
|
const discover = options.discoverSessions || discoverSessions;
|
|
262
274
|
const fetchLatest = options.fetchLatestVersion || fetchLatestVersion;
|
|
@@ -280,7 +292,7 @@ export async function loadRemoteTuiUpdates(state, options = {}) {
|
|
|
280
292
|
signal,
|
|
281
293
|
});
|
|
282
294
|
if (signal?.aborted) return;
|
|
283
|
-
await
|
|
295
|
+
await enqueuePatch({
|
|
284
296
|
models: catalog.models,
|
|
285
297
|
modelError: catalog.error?.message || '',
|
|
286
298
|
modelSource: catalog.source,
|
|
@@ -300,7 +312,7 @@ export async function loadRemoteTuiUpdates(state, options = {}) {
|
|
|
300
312
|
}),
|
|
301
313
|
);
|
|
302
314
|
if (signal?.aborted) return;
|
|
303
|
-
await
|
|
315
|
+
await enqueuePatch({
|
|
304
316
|
sessions: serializeSessions(sessions),
|
|
305
317
|
sessionsLoading: false,
|
|
306
318
|
});
|
|
@@ -318,7 +330,7 @@ export async function loadRemoteTuiUpdates(state, options = {}) {
|
|
|
318
330
|
});
|
|
319
331
|
if (signal?.aborted || !latest) return;
|
|
320
332
|
if (compareVersions(latest, state.version) > 0) {
|
|
321
|
-
await
|
|
333
|
+
await enqueuePatch({ updateAvailable: true, latestVersion: latest });
|
|
322
334
|
}
|
|
323
335
|
} catch (error) {
|
|
324
336
|
if (isAbortError(error) || signal?.aborted) return;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "subconscious-cli",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "6.0.0",
|
|
4
4
|
"description": "CLI for Subconscious — run Subconscious Code, Claude Code, Codex, OpenCode, DeepSeek Harness, Cursor, Copilot, and Pi",
|
|
5
5
|
"bin": {
|
|
6
6
|
"subc": "bin/cli.js"
|
|
@@ -11,6 +11,8 @@
|
|
|
11
11
|
"test": "node --test",
|
|
12
12
|
"test:windows": "node --test test/windows.test.js test/models.test.js test/model-capabilities.test.js test/auth.test.js test/tui.test.js test/update-check.test.js test/sessions.test.js test/branding.test.js test/claude-version.test.js test/usage.test.js test/feedback.test.js test/release.test.js",
|
|
13
13
|
"test:tui": "go -C tui test ./...",
|
|
14
|
+
"generate": "node scripts/generate-agents.js",
|
|
15
|
+
"prepare": "node scripts/install-git-hooks.js",
|
|
14
16
|
"prepack": "npm run build:tui",
|
|
15
17
|
"prepublishOnly": "node scripts/require-publish-script.js"
|
|
16
18
|
},
|
|
@@ -23,8 +25,7 @@
|
|
|
23
25
|
},
|
|
24
26
|
"repository": {
|
|
25
27
|
"type": "git",
|
|
26
|
-
"url": "git+https://github.com/subconscious-systems/subconscious.git"
|
|
27
|
-
"directory": "cli"
|
|
28
|
+
"url": "git+https://github.com/subconscious-systems/subconscious.git"
|
|
28
29
|
},
|
|
29
30
|
"keywords": [
|
|
30
31
|
"subconscious",
|
|
@@ -45,5 +46,13 @@
|
|
|
45
46
|
"launcher"
|
|
46
47
|
],
|
|
47
48
|
"author": "Subconscious Systems",
|
|
48
|
-
"license": "MIT"
|
|
49
|
-
|
|
49
|
+
"license": "MIT",
|
|
50
|
+
"simple-git-hooks": {
|
|
51
|
+
"commit-msg": "npx --no-install commitlint --edit $1"
|
|
52
|
+
},
|
|
53
|
+
"devDependencies": {
|
|
54
|
+
"@commitlint/cli": "^21.2.3",
|
|
55
|
+
"@commitlint/config-conventional": "^21.2.3",
|
|
56
|
+
"simple-git-hooks": "^2.14.0"
|
|
57
|
+
}
|
|
58
|
+
}
|