sneakoscope 1.18.13 → 1.19.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 +36 -10
- package/crates/sks-core/Cargo.lock +1 -1
- package/crates/sks-core/Cargo.toml +1 -1
- package/crates/sks-core/src/main.rs +1 -1
- package/dist/.sks-build-stamp.json +4 -4
- package/dist/bin/sks.js +1 -1
- package/dist/build-manifest.json +11 -9
- package/dist/cli/command-registry.d.ts +3 -0
- package/dist/cli/command-registry.js +3 -1
- package/dist/cli/install-helpers.d.ts +148 -3
- package/dist/cli/install-helpers.js +311 -121
- package/dist/commands/codex-lb.js +77 -1
- package/dist/commands/doctor.js +24 -0
- package/dist/commands/mad-sks.d.ts +1 -0
- package/dist/commands/mad-sks.js +3 -3
- package/dist/commands/versioning.js +2 -1
- package/dist/core/agents/agent-effort-policy.d.ts +6 -0
- package/dist/core/agents/agent-effort-policy.js +42 -0
- package/dist/core/agents/agent-orchestrator.js +9 -5
- package/dist/core/agents/agent-roster.d.ts +52 -4
- package/dist/core/agents/agent-roster.js +121 -11
- package/dist/core/agents/agent-scheduler.d.ts +2 -1
- package/dist/core/agents/agent-scheduler.js +7 -5
- package/dist/core/agents/agent-schema.d.ts +5 -0
- package/dist/core/agents/agent-schema.js +5 -0
- package/dist/core/codex/codex-config-eperm-repair.d.ts +1 -0
- package/dist/core/codex/codex-config-eperm-repair.js +20 -2
- package/dist/core/codex/codex-config-readability.js +31 -1
- package/dist/core/codex/codex-project-config-policy.d.ts +23 -0
- package/dist/core/codex/codex-project-config-policy.js +191 -8
- package/dist/core/commands/basic-cli.js +22 -5
- package/dist/core/commands/mad-sks-command.d.ts +1 -0
- package/dist/core/commands/mad-sks-command.js +17 -1
- package/dist/core/commands/naruto-command.d.ts +2 -0
- package/dist/core/commands/naruto-command.js +189 -0
- package/dist/core/feature-fixtures.js +3 -0
- package/dist/core/fsx.d.ts +1 -1
- package/dist/core/fsx.js +1 -1
- package/dist/core/init.js +1 -1
- package/dist/core/preflight/parallel-preflight-engine.d.ts +1 -0
- package/dist/core/routes.js +17 -1
- package/dist/core/version-manager.js +1 -1
- package/dist/core/version.d.ts +1 -1
- package/dist/core/version.js +1 -1
- package/dist/core/zellij/zellij-launcher.js +4 -7
- package/dist/core/zellij/zellij-layout-builder.js +1 -1
- package/dist/scripts/release-parallel-check.js +5 -0
- package/package.json +8 -2
- package/scripts/codex-config-load-probe.mjs +245 -0
package/README.md
CHANGED
|
@@ -16,7 +16,7 @@ Set up this agent project with Sneakoscope Codex. Use [[mandarange/Sneakoscope-C
|
|
|
16
16
|
|
|
17
17
|
## Current Release
|
|
18
18
|
|
|
19
|
-
SKS **1.
|
|
19
|
+
SKS **1.19.0** is the MAD Zellij dependency repair release: bootstrap/deps repair and `sks --mad --yes` now install or repair required CLI tooling, including Zellij on macOS/Homebrew, before opening the interactive runtime. npm postinstall still bootstraps and reports missing tools, but it does not silently mutate Homebrew/npm global tools unless `SKS_POSTINSTALL_AUTO_INSTALL_CLI_TOOLS=1` is set. MAD and Team layouts now use Zellij's documented background-layout launch form, and launch failures surface labeled Zellij stderr/stdout tails instead of only `zellij_command_failed`.
|
|
20
20
|
|
|
21
21
|
```bash
|
|
22
22
|
sks mad-sks plan --target-root <path> --json
|
|
@@ -243,7 +243,7 @@ Install Zellij from [zellij.dev](https://zellij.dev/documentation/installation.h
|
|
|
243
243
|
brew install zellij
|
|
244
244
|
```
|
|
245
245
|
|
|
246
|
-
The default `sks` runtime checks npm for newer `sneakoscope` and `@openai/codex` versions before opening the interactive runtime. `sks --mad`
|
|
246
|
+
The default `sks` runtime checks npm for newer `sneakoscope` and `@openai/codex` versions before opening the interactive runtime. `npm i -g sneakoscope` runs a safe bootstrap/readiness pass; use `sks bootstrap --yes`, `sks deps check --yes`, or `sks --mad --yes` to install or repair Codex CLI/Zellij when Homebrew is available. `sks --mad` requires Zellij for interactive MAD/lane UI and prints the session, gate, attach command, blockers, and labeled Zellij stderr/stdout details needed to act.
|
|
247
247
|
|
|
248
248
|
## Installation
|
|
249
249
|
|
|
@@ -314,7 +314,7 @@ sks --version
|
|
|
314
314
|
|
|
315
315
|
```sh
|
|
316
316
|
sks bootstrap
|
|
317
|
-
sks deps check
|
|
317
|
+
sks deps check --yes
|
|
318
318
|
sks codex-app check
|
|
319
319
|
sks doctor --fix
|
|
320
320
|
sks fix-path
|
|
@@ -344,17 +344,24 @@ sks
|
|
|
344
344
|
|
|
345
345
|
Bare `sks` can also prompt for codex-lb auth; SKS stores the base URL/key in `~/.codex/sks-codex-lb.env`, writes the codex-lb Codex CLI / IDE Extension provider block into `~/.codex/config.toml` for Codex App routing, loads the provider env key for interactive launches, and syncs the macOS user launch environment so the Codex App can see `CODEX_LB_API_KEY` after restart. If the provider block disappears but the stored env file is still recoverable, bare `sks`, npm postinstall upgrades, `sks doctor --fix`, and `sks codex-lb repair` restore it with `env_key = "CODEX_LB_API_KEY"`, `supports_websockets = true`, and `requires_openai_auth = false`; imagegen checks may record this provider as configured codex-lb routing, but it is not accepted as official Codex App `$imagegen` evidence. If an older SKS release left the codex-lb dashboard key only in the shared Codex `auth.json` login cache, SKS migrates that key back into `~/.codex/sks-codex-lb.env` when a codex-lb provider or env base URL is already recoverable. It does not rewrite the shared Codex `auth.json` login cache by default; set `SKS_CODEX_LB_SYNC_CODEX_LOGIN=1` only if you intentionally want the old API-key login-cache behavior. When codex-lb is active, SKS opens a fresh `sks-codex-lb-*` Zellij session and sweeps older detached codex-lb sessions for the same repo before launch so stale Responses API chains are not reused. Configured launch paths run a response-chain health check. `previous_response_not_found` is treated as a stateless-LB warning and keeps codex-lb active. Hard failures are surfaced to the user; SKS only bypasses codex-lb when the user chooses OAuth fallback or `SKS_CODEX_LB_AUTOBYPASS=1` is set.
|
|
346
346
|
|
|
347
|
-
If codex-lb provider auth drifts after launch/reinstall, run `sks doctor --fix` or `sks codex-lb repair
|
|
347
|
+
If codex-lb provider auth drifts after launch/reinstall, run `sks doctor --fix` or `sks codex-lb repair`. To **swap only the API key** at any time (without re-typing the host — it reuses the stored base URL), run:
|
|
348
|
+
|
|
349
|
+
```sh
|
|
350
|
+
sks codex-lb set-key --api-key-stdin # or: sks codex-lb set-key --api-key "sk-clb-..."
|
|
351
|
+
```
|
|
348
352
|
|
|
349
|
-
|
|
353
|
+
(To also change the host, use `sks codex-lb reconfigure --host <domain> --api-key <key>`.)
|
|
350
354
|
|
|
351
|
-
|
|
355
|
+
### Switching auth mode: codex-lb ↔ ChatGPT OAuth
|
|
356
|
+
|
|
357
|
+
Switch between the codex-lb API key and your ChatGPT OAuth login at any time with intent-named commands:
|
|
352
358
|
|
|
353
359
|
```sh
|
|
354
|
-
sks codex-lb
|
|
360
|
+
sks codex-lb use-oauth # hand control back to ChatGPT OAuth
|
|
361
|
+
sks codex-lb use-codex-lb # switch back to the codex-lb API key
|
|
355
362
|
```
|
|
356
363
|
|
|
357
|
-
|
|
364
|
+
`use-oauth` restores `~/.codex/auth.chatgpt-backup.json` (written by auto-reconcile) to `~/.codex/auth.json` and unsets `model_provider = "codex-lb"` so Codex CLI/App falls back to ChatGPT OAuth; if no saved OAuth login exists it points you to `codex login`. `use-codex-lb` re-selects and re-syncs codex-lb. (The older verbs `sks codex-lb release` / `repair` remain as aliases.)
|
|
358
365
|
|
|
359
366
|
Flags:
|
|
360
367
|
|
|
@@ -423,6 +430,25 @@ Manual fan-out syntax:
|
|
|
423
430
|
|
|
424
431
|
Effort is assigned per agent. Simple read-only/docs slices can run low, ordinary tooling and lease mapping use medium, safety/DB/schema/release lanes use high, and frontier/forensic research can escalate to xhigh. If a lease conflict, schema failure, proof blocker, DB risk, or release risk appears, the parent can escalate that lane while keeping unrelated lanes cheaper and faster.
|
|
425
432
|
|
|
433
|
+
### Naruto Shadow Clone Swarm (`$Naruto`)
|
|
434
|
+
|
|
435
|
+
`$Naruto` (影分身 / Kage Bunshin no Jutsu) is a high-scale mode of the native agent kernel for broad fan-out work — codebase-wide sweeps, parallel drafting, large audits. It lifts the standard 20-agent ceiling to **up to 100 clone sessions** (only for this route; every other route keeps the 20 cap).
|
|
436
|
+
|
|
437
|
+
```sh
|
|
438
|
+
sks naruto run "sweep the codebase for TODO comments and summarize"
|
|
439
|
+
sks naruto run "draft a unit test for every module" --clones 100
|
|
440
|
+
sks naruto run "demo" --clones 24 --backend fake --json # fast, no Codex calls
|
|
441
|
+
sks naruto status
|
|
442
|
+
```
|
|
443
|
+
|
|
444
|
+
Aliases: `$ShadowClone`, `$Kagebunshin`, and the CLI flag `sks --naruto`.
|
|
445
|
+
|
|
446
|
+
- **System-aware concurrency:** `--clones N` is the total work fan-out, but `$Naruto` never spawns the whole count at once. Live concurrency is throttled to a host-safe number derived from CPU cores and free memory (heavier cap for real `codex-exec` workers, tighter packing for in-process `fake`). So `--clones 100` on a small host still processes all 100 work units while only running a safe handful at a time; the run reports when it throttles. Override with `SKS_NARUTO_MAX_CONCURRENCY=<n>`.
|
|
447
|
+
- **Dynamic per-clone effort (like Team):** truly simple / no-tool work runs at `low`, any tool use lifts a clone to `medium` (never high/xhigh), and every clone runs in fast service tier.
|
|
448
|
+
- **Safe parallel writes:** clones coordinate through the same lease-based patch-swarm (merge coordinator + conflict rebase + transaction journal) as Team.
|
|
449
|
+
|
|
450
|
+
See [docs/naruto.md](docs/naruto.md) for the full reference.
|
|
451
|
+
|
|
426
452
|
### QA, Computer Use, Goal, Research, DB, Wiki, GX
|
|
427
453
|
|
|
428
454
|
```sh
|
|
@@ -584,7 +610,7 @@ First install:
|
|
|
584
610
|
```sh
|
|
585
611
|
npm i -g sneakoscope
|
|
586
612
|
sks bootstrap
|
|
587
|
-
sks deps check
|
|
613
|
+
sks deps check --yes
|
|
588
614
|
sks codex-app check
|
|
589
615
|
sks selftest --mock
|
|
590
616
|
```
|
|
@@ -699,7 +725,7 @@ npm run release:check
|
|
|
699
725
|
npm run publish:dry
|
|
700
726
|
```
|
|
701
727
|
|
|
702
|
-
`release:check` runs the 1.
|
|
728
|
+
`release:check` runs the 1.19.0 Zellij dependency-repair closure DAG, writes a source digest stamp under `.sneakoscope/reports/`, then refreshes release readiness so publish commands can verify the same stamp. The DAG preserves the 1.18 baseline gates and adds patch swarm runtime truth, transaction journaling, serial conflict rebase, strict strategy-to-patch proof, rollback command proof, Native CLI Session Swarm 5/10/20-process proof, Real Worker Backend Router proof, Codex child overlap proof, model-authored patch-envelope separation, Zellij layout/pane/screen proof, no-subagent-scaling proof, Fast mode default/worker/Codex/MAD propagation proof, Appshots attachment provenance, MCP runtime overlap evidence, Codex 0.134/0.135 runner truth, task graph expansion, schema-bound follow-up work, actual Agent/Team/Research/QA route blackboxes, scheduler proof hardening, Source Intelligence propagation, and Goal mode propagation checks. Broader live gates remain explicit scripts such as `release:real-check`; real Codex patch smoke, real Codex parallel worker proof, and real Zellij proof are optional unless their `SKS_REQUIRE_REAL_*` or `SKS_REQUIRE_ZELLIJ=1` environment variables are set. Generate the human-readable registry with `sks features inventory --write-docs`. Plain `npm publish` uses the `latest` dist-tag. npm's `prepublishOnly` verifies the fresh release stamp instead of rerunning the full gate, and `prepack` only rebuilds `dist`; publish no longer repeats the expensive release suite during packaging. `npm run publish:dry` remains the explicit dry-run helper.
|
|
703
729
|
|
|
704
730
|
Version bumps are manual. Run `sks versioning bump` only when preparing release metadata; SKS will not create `.git/hooks/pre-commit` or auto-bump during ordinary commits.
|
|
705
731
|
|
|
@@ -4,7 +4,7 @@ use std::io::{self, Read, Seek, SeekFrom};
|
|
|
4
4
|
fn main() {
|
|
5
5
|
let mut args = std::env::args().skip(1);
|
|
6
6
|
match args.next().as_deref() {
|
|
7
|
-
Some("--version") => println!("sks-rs 1.
|
|
7
|
+
Some("--version") => println!("sks-rs 1.19.0"),
|
|
8
8
|
Some("compact-info") => {
|
|
9
9
|
let mut input = String::new();
|
|
10
10
|
let _ = io::stdin().read_to_string(&mut input);
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
{
|
|
2
2
|
"schema": "sks.dist-build-stamp.v1",
|
|
3
3
|
"package_name": "sneakoscope",
|
|
4
|
-
"package_version": "1.
|
|
5
|
-
"source_digest": "
|
|
6
|
-
"source_file_count":
|
|
7
|
-
"built_at_source_time":
|
|
4
|
+
"package_version": "1.19.0",
|
|
5
|
+
"source_digest": "5eecdb85fa4e3cd359035b49803cd3e9ea0174810596807caf55b2507fb33d18",
|
|
6
|
+
"source_file_count": 1690,
|
|
7
|
+
"built_at_source_time": 1780116105711
|
|
8
8
|
}
|
package/dist/bin/sks.js
CHANGED
package/dist/build-manifest.json
CHANGED
|
@@ -1,16 +1,16 @@
|
|
|
1
1
|
{
|
|
2
2
|
"schema": "sks.dist-build.v2",
|
|
3
|
-
"version": "1.
|
|
4
|
-
"package_version": "1.
|
|
3
|
+
"version": "1.19.0",
|
|
4
|
+
"package_version": "1.19.0",
|
|
5
5
|
"typescript": true,
|
|
6
6
|
"mjs_runtime_files": 0,
|
|
7
|
-
"compiled_file_count":
|
|
8
|
-
"compiled_js_count":
|
|
9
|
-
"compiled_dts_count":
|
|
10
|
-
"source_digest": "
|
|
11
|
-
"source_file_count":
|
|
12
|
-
"source_files_hash": "
|
|
13
|
-
"source_list_hash": "
|
|
7
|
+
"compiled_file_count": 974,
|
|
8
|
+
"compiled_js_count": 487,
|
|
9
|
+
"compiled_dts_count": 487,
|
|
10
|
+
"source_digest": "5eecdb85fa4e3cd359035b49803cd3e9ea0174810596807caf55b2507fb33d18",
|
|
11
|
+
"source_file_count": 1690,
|
|
12
|
+
"source_files_hash": "c2267339884b83e1bfed20e6979b80f8a7abc07a05860d74c249d7684cb1c92d",
|
|
13
|
+
"source_list_hash": "c2267339884b83e1bfed20e6979b80f8a7abc07a05860d74c249d7684cb1c92d",
|
|
14
14
|
"src_mjs_runtime_files": 0,
|
|
15
15
|
"dist_stamp_schema": "sks.dist-build-stamp.v1",
|
|
16
16
|
"files": [
|
|
@@ -456,6 +456,8 @@
|
|
|
456
456
|
"core/commands/image-ux-review-command.js",
|
|
457
457
|
"core/commands/mad-sks-command.d.ts",
|
|
458
458
|
"core/commands/mad-sks-command.js",
|
|
459
|
+
"core/commands/naruto-command.d.ts",
|
|
460
|
+
"core/commands/naruto-command.js",
|
|
459
461
|
"core/commands/paths-command.d.ts",
|
|
460
462
|
"core/commands/paths-command.js",
|
|
461
463
|
"core/commands/perf-command.d.ts",
|
|
@@ -62,6 +62,7 @@ export declare const COMMANDS: {
|
|
|
62
62
|
dfix: CommandEntry;
|
|
63
63
|
team: CommandEntry;
|
|
64
64
|
agent: CommandEntry;
|
|
65
|
+
naruto: CommandEntry;
|
|
65
66
|
'qa-loop': CommandEntry;
|
|
66
67
|
research: CommandEntry;
|
|
67
68
|
autoresearch: CommandEntry;
|
|
@@ -148,6 +149,7 @@ export declare const TYPED_COMMANDS: {
|
|
|
148
149
|
dfix: CommandEntry;
|
|
149
150
|
team: CommandEntry;
|
|
150
151
|
agent: CommandEntry;
|
|
152
|
+
naruto: CommandEntry;
|
|
151
153
|
'qa-loop': CommandEntry;
|
|
152
154
|
research: CommandEntry;
|
|
153
155
|
autoresearch: CommandEntry;
|
|
@@ -201,6 +203,7 @@ export declare const COMMAND_ALIASES: {
|
|
|
201
203
|
readonly '--MAD': "mad";
|
|
202
204
|
readonly '--mad-sks': "mad-sks";
|
|
203
205
|
readonly '--agent': "agent";
|
|
206
|
+
readonly '--naruto': "naruto";
|
|
204
207
|
};
|
|
205
208
|
export type CommandName = Extract<keyof typeof COMMANDS, string>;
|
|
206
209
|
export declare function commandNames(): CommandName[];
|
|
@@ -115,6 +115,7 @@ export const COMMANDS = {
|
|
|
115
115
|
dfix: entry('stable', 'Run DFix diagnose/plan/patch/verify loop', 'dist/core/commands/dfix-command.js', commandArgsCommand(() => import('../core/commands/dfix-command.js'), 'dfixCommand', 'dist/core/commands/dfix-command.js')),
|
|
116
116
|
team: entry('beta', 'Create and observe Team missions', 'dist/core/commands/team-command.js', argsCommand(() => import('../core/commands/team-command.js'), 'team', 'dist/core/commands/team-command.js')),
|
|
117
117
|
agent: entry('beta', 'Run native multi-session agent missions', 'dist/core/commands/agent-command.js', argsCommand(() => import('../core/commands/agent-command.js'), 'agentCommand', 'dist/core/commands/agent-command.js')),
|
|
118
|
+
naruto: entry('labs', 'Run $Naruto shadow-clone swarm (up to 100 parallel sessions)', 'dist/core/commands/naruto-command.js', argsCommand(() => import('../core/commands/naruto-command.js'), 'narutoCommand', 'dist/core/commands/naruto-command.js')),
|
|
118
119
|
'qa-loop': entry('beta', 'Run QA loop missions', 'dist/core/commands/qa-loop-command.js', subcommand(() => import('../core/commands/qa-loop-command.js'), 'qaLoopCommand', 'dist/core/commands/qa-loop-command.js')),
|
|
119
120
|
research: entry('labs', 'Run research missions', 'dist/core/commands/research-command.js', subcommand(() => import('../core/commands/research-command.js'), 'researchCommand', 'dist/core/commands/research-command.js')),
|
|
120
121
|
autoresearch: entry('labs', 'Alias for research/autoresearch route', 'dist/core/commands/autoresearch-command.js', subcommand(() => import('../core/commands/autoresearch-command.js'), 'autoresearchCommand', 'dist/core/commands/autoresearch-command.js', 'status')),
|
|
@@ -168,7 +169,8 @@ export const COMMAND_ALIASES = {
|
|
|
168
169
|
'--mad': 'mad',
|
|
169
170
|
'--MAD': 'mad',
|
|
170
171
|
'--mad-sks': 'mad-sks',
|
|
171
|
-
'--agent': 'agent'
|
|
172
|
+
'--agent': 'agent',
|
|
173
|
+
'--naruto': 'naruto'
|
|
172
174
|
};
|
|
173
175
|
export function commandNames() {
|
|
174
176
|
return Object.keys(COMMANDS).sort();
|
|
@@ -64,6 +64,7 @@ export type ConfigureCodexLbResult = {
|
|
|
64
64
|
config_path?: string;
|
|
65
65
|
env_path?: string;
|
|
66
66
|
metadata_path?: string;
|
|
67
|
+
backup_path?: string | null;
|
|
67
68
|
base_url?: string;
|
|
68
69
|
env_key?: string;
|
|
69
70
|
keychain?: Record<string, unknown>;
|
|
@@ -80,7 +81,7 @@ export type ConfigureCodexLbResult = {
|
|
|
80
81
|
repair?: CodexLbAuthInstallResult;
|
|
81
82
|
} & Partial<CodexLbStatusSnapshot>;
|
|
82
83
|
export type CodexLbLaunchPromptResult = ConfigureCodexLbResult;
|
|
83
|
-
export declare function postinstall({ bootstrap }: any): Promise<void>;
|
|
84
|
+
export declare function postinstall({ bootstrap, args }: any): Promise<void>;
|
|
84
85
|
export declare function postinstallBootstrapDecision(root: any): Promise<{
|
|
85
86
|
run: boolean;
|
|
86
87
|
reason: string;
|
|
@@ -283,23 +284,72 @@ export declare function maybePromptCodexLbSetupForLaunch(args?: any, opts?: any)
|
|
|
283
284
|
auth_summary: string;
|
|
284
285
|
status: string;
|
|
285
286
|
}>;
|
|
287
|
+
export declare function upsertCodexLbConfig(text: any | undefined, baseUrl: any, selectDefault?: boolean): string;
|
|
286
288
|
export declare function ensureGlobalCodexFastModeDuringInstall(opts?: any): Promise<{
|
|
287
289
|
status: string;
|
|
288
290
|
reason: string;
|
|
289
291
|
config_path?: never;
|
|
292
|
+
backup_path?: never;
|
|
293
|
+
parse_smoke?: never;
|
|
290
294
|
error?: never;
|
|
291
295
|
} | {
|
|
292
296
|
status: string;
|
|
293
297
|
config_path: any;
|
|
298
|
+
backup_path: string | null;
|
|
299
|
+
parse_smoke: {
|
|
300
|
+
ok: boolean;
|
|
301
|
+
unterminated_multiline_string: boolean;
|
|
302
|
+
invalid_table_header: string | null;
|
|
303
|
+
};
|
|
304
|
+
reason?: never;
|
|
305
|
+
error?: never;
|
|
306
|
+
} | {
|
|
307
|
+
status: string;
|
|
308
|
+
config_path: any;
|
|
309
|
+
reason?: never;
|
|
310
|
+
backup_path?: never;
|
|
311
|
+
parse_smoke?: never;
|
|
312
|
+
error?: never;
|
|
313
|
+
} | {
|
|
314
|
+
status: string;
|
|
315
|
+
config_path: any;
|
|
316
|
+
parse_smoke: {
|
|
317
|
+
ok: boolean;
|
|
318
|
+
unterminated_multiline_string: boolean;
|
|
319
|
+
invalid_table_header: string | null;
|
|
320
|
+
};
|
|
321
|
+
reason?: never;
|
|
322
|
+
backup_path?: never;
|
|
323
|
+
error?: never;
|
|
324
|
+
} | {
|
|
325
|
+
status: string;
|
|
326
|
+
config_path: any;
|
|
327
|
+
backup_path: string | null;
|
|
294
328
|
reason?: never;
|
|
329
|
+
parse_smoke?: never;
|
|
295
330
|
error?: never;
|
|
296
331
|
} | {
|
|
297
332
|
status: string;
|
|
298
333
|
config_path: any;
|
|
299
334
|
error: any;
|
|
300
335
|
reason?: never;
|
|
336
|
+
backup_path?: never;
|
|
337
|
+
parse_smoke?: never;
|
|
301
338
|
}>;
|
|
302
339
|
export declare function normalizeCodexFastModeUiConfig(text?: any): string;
|
|
340
|
+
export declare function safeWriteCodexConfigToml(configPath: string, current: string, next: string, tag?: string): Promise<{
|
|
341
|
+
ok: boolean;
|
|
342
|
+
status: string;
|
|
343
|
+
config_path: string;
|
|
344
|
+
backup_path: string | null;
|
|
345
|
+
changed?: never;
|
|
346
|
+
} | {
|
|
347
|
+
ok: boolean;
|
|
348
|
+
status: string;
|
|
349
|
+
config_path: string;
|
|
350
|
+
backup_path: string | null;
|
|
351
|
+
changed: boolean;
|
|
352
|
+
}>;
|
|
303
353
|
export declare function ensureSksCommandDuringInstall(opts?: any): Promise<SksPostinstallShimResult>;
|
|
304
354
|
export declare function selftestSksShimRepair(): Promise<{
|
|
305
355
|
ok: boolean;
|
|
@@ -346,6 +396,7 @@ export declare function ensureRelatedCliTools(args?: any): Promise<{
|
|
|
346
396
|
bin?: never;
|
|
347
397
|
version?: never;
|
|
348
398
|
error?: never;
|
|
399
|
+
command?: never;
|
|
349
400
|
hint?: never;
|
|
350
401
|
} | {
|
|
351
402
|
status: string;
|
|
@@ -353,6 +404,7 @@ export declare function ensureRelatedCliTools(args?: any): Promise<{
|
|
|
353
404
|
version: string | null;
|
|
354
405
|
reason?: never;
|
|
355
406
|
error?: never;
|
|
407
|
+
command?: never;
|
|
356
408
|
hint?: never;
|
|
357
409
|
} | {
|
|
358
410
|
status: string;
|
|
@@ -360,6 +412,15 @@ export declare function ensureRelatedCliTools(args?: any): Promise<{
|
|
|
360
412
|
reason?: never;
|
|
361
413
|
bin?: never;
|
|
362
414
|
version?: never;
|
|
415
|
+
command?: never;
|
|
416
|
+
hint?: never;
|
|
417
|
+
} | {
|
|
418
|
+
status: string;
|
|
419
|
+
command: string;
|
|
420
|
+
error: string;
|
|
421
|
+
reason?: never;
|
|
422
|
+
bin?: never;
|
|
423
|
+
version?: never;
|
|
363
424
|
hint?: never;
|
|
364
425
|
} | {
|
|
365
426
|
status: string;
|
|
@@ -368,6 +429,7 @@ export declare function ensureRelatedCliTools(args?: any): Promise<{
|
|
|
368
429
|
hint: string | null;
|
|
369
430
|
reason?: never;
|
|
370
431
|
error?: never;
|
|
432
|
+
command?: never;
|
|
371
433
|
};
|
|
372
434
|
zellij: {
|
|
373
435
|
ok: boolean;
|
|
@@ -401,15 +463,87 @@ export declare function ensureRelatedCliTools(args?: any): Promise<{
|
|
|
401
463
|
reason: string;
|
|
402
464
|
};
|
|
403
465
|
install_hint: string | null;
|
|
404
|
-
error:
|
|
466
|
+
error: any;
|
|
467
|
+
};
|
|
468
|
+
}>;
|
|
469
|
+
export declare function ensureMadLaunchDependencies(args?: any): Promise<{
|
|
470
|
+
ready: boolean;
|
|
471
|
+
actions: {
|
|
472
|
+
target: string;
|
|
473
|
+
status: string;
|
|
474
|
+
command: any;
|
|
475
|
+
error: any;
|
|
476
|
+
repair: {
|
|
477
|
+
target: string;
|
|
478
|
+
status: string;
|
|
479
|
+
bin: "zellij";
|
|
480
|
+
version: string | null;
|
|
481
|
+
command?: never;
|
|
482
|
+
error?: never;
|
|
483
|
+
} | {
|
|
484
|
+
target: string;
|
|
485
|
+
status: string;
|
|
486
|
+
command: string;
|
|
487
|
+
error: string | null;
|
|
488
|
+
bin?: never;
|
|
489
|
+
version?: never;
|
|
490
|
+
} | {
|
|
491
|
+
target: string;
|
|
492
|
+
status: string;
|
|
493
|
+
command: string;
|
|
494
|
+
bin: "zellij";
|
|
495
|
+
version: string | null;
|
|
496
|
+
error?: never;
|
|
497
|
+
} | {
|
|
498
|
+
target: string;
|
|
499
|
+
status: string;
|
|
500
|
+
reason: string;
|
|
501
|
+
};
|
|
502
|
+
}[];
|
|
503
|
+
status: {
|
|
504
|
+
zellij: {
|
|
505
|
+
ok: boolean;
|
|
506
|
+
status: "blocked" | "ok" | "missing" | "too_old";
|
|
507
|
+
version: string | null;
|
|
508
|
+
min_version: string;
|
|
509
|
+
repair: {
|
|
510
|
+
target: string;
|
|
511
|
+
status: string;
|
|
512
|
+
bin: "zellij";
|
|
513
|
+
version: string | null;
|
|
514
|
+
command?: never;
|
|
515
|
+
error?: never;
|
|
516
|
+
} | {
|
|
517
|
+
target: string;
|
|
518
|
+
status: string;
|
|
519
|
+
command: string;
|
|
520
|
+
error: string | null;
|
|
521
|
+
bin?: never;
|
|
522
|
+
version?: never;
|
|
523
|
+
} | {
|
|
524
|
+
target: string;
|
|
525
|
+
status: string;
|
|
526
|
+
command: string;
|
|
527
|
+
bin: "zellij";
|
|
528
|
+
version: string | null;
|
|
529
|
+
error?: never;
|
|
530
|
+
} | {
|
|
531
|
+
target: string;
|
|
532
|
+
status: string;
|
|
533
|
+
reason: string;
|
|
534
|
+
};
|
|
535
|
+
install_hint: string | null;
|
|
536
|
+
};
|
|
405
537
|
};
|
|
406
538
|
}>;
|
|
407
|
-
export declare function
|
|
539
|
+
export declare function formatMadLaunchDependencyAction(action?: any): string;
|
|
540
|
+
export declare function ensureCodexCliTool({ skip, args }?: any): Promise<{
|
|
408
541
|
status: string;
|
|
409
542
|
reason: string;
|
|
410
543
|
bin?: never;
|
|
411
544
|
version?: never;
|
|
412
545
|
error?: never;
|
|
546
|
+
command?: never;
|
|
413
547
|
hint?: never;
|
|
414
548
|
} | {
|
|
415
549
|
status: string;
|
|
@@ -417,6 +551,7 @@ export declare function ensureCodexCliTool({ skip }?: any): Promise<{
|
|
|
417
551
|
version: string | null;
|
|
418
552
|
reason?: never;
|
|
419
553
|
error?: never;
|
|
554
|
+
command?: never;
|
|
420
555
|
hint?: never;
|
|
421
556
|
} | {
|
|
422
557
|
status: string;
|
|
@@ -424,6 +559,15 @@ export declare function ensureCodexCliTool({ skip }?: any): Promise<{
|
|
|
424
559
|
reason?: never;
|
|
425
560
|
bin?: never;
|
|
426
561
|
version?: never;
|
|
562
|
+
command?: never;
|
|
563
|
+
hint?: never;
|
|
564
|
+
} | {
|
|
565
|
+
status: string;
|
|
566
|
+
command: string;
|
|
567
|
+
error: string;
|
|
568
|
+
reason?: never;
|
|
569
|
+
bin?: never;
|
|
570
|
+
version?: never;
|
|
427
571
|
hint?: never;
|
|
428
572
|
} | {
|
|
429
573
|
status: string;
|
|
@@ -432,6 +576,7 @@ export declare function ensureCodexCliTool({ skip }?: any): Promise<{
|
|
|
432
576
|
hint: string | null;
|
|
433
577
|
reason?: never;
|
|
434
578
|
error?: never;
|
|
579
|
+
command?: never;
|
|
435
580
|
}>;
|
|
436
581
|
export declare function ensureZellijCliTool(args?: any, opts?: any): Promise<{
|
|
437
582
|
target: string;
|