sneakoscope 1.19.0 → 1.20.3
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 +11 -3
- 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 +53 -9
- package/dist/cli/command-registry.d.ts +4 -0
- package/dist/cli/command-registry.js +2 -0
- package/dist/cli/install-helpers.js +15 -5
- package/dist/commands/doctor.js +134 -2
- package/dist/commands/image-ux-review.d.ts +7 -0
- package/dist/commands/mad-sks.d.ts +5 -0
- package/dist/commands/ppt.d.ts +7 -0
- package/dist/commands/zellij.d.ts +4 -0
- package/dist/commands/zellij.js +111 -0
- package/dist/core/agents/agent-orchestrator.d.ts +7 -0
- package/dist/core/agents/agent-orchestrator.js +15 -2
- package/dist/core/agents/agent-proof-evidence.d.ts +9 -0
- package/dist/core/agents/agent-proof-evidence.js +9 -0
- package/dist/core/agents/fast-mode-policy.d.ts +28 -1
- package/dist/core/agents/fast-mode-policy.js +71 -3
- package/dist/core/agents/route-collaboration-ledger.d.ts +7 -0
- package/dist/core/commands/fast-mode-command.d.ts +28 -0
- package/dist/core/commands/fast-mode-command.js +81 -0
- package/dist/core/commands/image-ux-review-command.d.ts +7 -0
- package/dist/core/commands/image-ux-review-command.js +11 -0
- package/dist/core/commands/mad-sks-command.d.ts +5 -0
- package/dist/core/commands/ppt-command.d.ts +7 -0
- package/dist/core/commands/run-command.js +27 -1
- package/dist/core/commands/wiki-command.d.ts +0 -1
- package/dist/core/commands/wiki-command.js +0 -9
- package/dist/core/feature-fixtures.js +4 -0
- package/dist/core/feature-registry.js +5 -2
- package/dist/core/fsx.d.ts +1 -1
- package/dist/core/fsx.js +1 -1
- package/dist/core/image-ux-review/codex-app-generated-image-discovery.d.ts +44 -0
- package/dist/core/image-ux-review/codex-app-generated-image-discovery.js +118 -0
- package/dist/core/image-ux-review/imagegen-adapter.d.ts +1 -0
- package/dist/core/image-ux-review/imagegen-adapter.js +128 -33
- package/dist/core/imagegen/imagegen-auth-readiness.d.ts +30 -0
- package/dist/core/imagegen/imagegen-auth-readiness.js +83 -0
- package/dist/core/imagegen/imagegen-capability.d.ts +1 -0
- package/dist/core/imagegen/imagegen-capability.js +8 -0
- package/dist/core/init.js +82 -26
- package/dist/core/migration/migration-transaction-journal.d.ts +48 -0
- package/dist/core/migration/migration-transaction-journal.js +60 -0
- package/dist/core/release/gate-cache.d.ts +28 -0
- package/dist/core/release/gate-cache.js +39 -0
- package/dist/core/release/gate-manifest.d.ts +39 -0
- package/dist/core/release/gate-manifest.js +0 -0
- package/dist/core/responses-retry-policy.d.ts +33 -0
- package/dist/core/responses-retry-policy.js +46 -1
- package/dist/core/routes.d.ts +1 -1
- package/dist/core/routes.js +19 -2
- package/dist/core/safety/mutation-guard.d.ts +52 -0
- package/dist/core/safety/mutation-guard.js +158 -0
- package/dist/core/safety/mutation-ledger.d.ts +33 -0
- package/dist/core/safety/mutation-ledger.js +75 -0
- package/dist/core/safety/requested-scope-contract.d.ts +36 -0
- package/dist/core/safety/requested-scope-contract.js +0 -0
- package/dist/core/skills/core-rollout-trace.d.ts +8 -0
- package/dist/core/skills/core-rollout-trace.js +33 -0
- package/dist/core/skills/core-skill-card.d.ts +35 -0
- package/dist/core/skills/core-skill-card.js +0 -0
- package/dist/core/skills/core-skill-deployment.d.ts +36 -0
- package/dist/core/skills/core-skill-deployment.js +116 -0
- package/dist/core/skills/core-skill-epoch.d.ts +35 -0
- package/dist/core/skills/core-skill-epoch.js +75 -0
- package/dist/core/skills/core-skill-patch-apply.d.ts +7 -0
- package/dist/core/skills/core-skill-patch-apply.js +100 -0
- package/dist/core/skills/core-skill-patch.d.ts +11 -0
- package/dist/core/skills/core-skill-patch.js +113 -0
- package/dist/core/skills/core-skill-runtime.d.ts +24 -0
- package/dist/core/skills/core-skill-runtime.js +39 -0
- package/dist/core/skills/core-skill-scorer.d.ts +16 -0
- package/dist/core/skills/core-skill-scorer.js +78 -0
- package/dist/core/skills/core-skill-types.d.ts +127 -0
- package/dist/core/skills/core-skill-types.js +16 -0
- package/dist/core/skills/core-skill-validation.d.ts +21 -0
- package/dist/core/skills/core-skill-validation.js +30 -0
- package/dist/core/skills/rejected-skill-patch-buffer.d.ts +8 -0
- package/dist/core/skills/rejected-skill-patch-buffer.js +32 -0
- package/dist/core/triwiki-runtime.d.ts +37 -0
- package/dist/core/triwiki-runtime.js +91 -0
- package/dist/core/version.d.ts +1 -1
- package/dist/core/version.js +1 -1
- package/dist/core/zellij/zellij-command.d.ts +18 -0
- package/dist/core/zellij/zellij-command.js +75 -4
- package/dist/core/zellij/zellij-lane-renderer.d.ts +53 -1
- package/dist/core/zellij/zellij-lane-renderer.js +244 -29
- package/dist/core/zellij/zellij-launcher.d.ts +16 -0
- package/dist/core/zellij/zellij-launcher.js +16 -3
- package/dist/core/zellij/zellij-layout-builder.d.ts +1 -1
- package/dist/core/zellij/zellij-screen-proof.d.ts +19 -0
- package/dist/core/zellij/zellij-screen-proof.js +35 -1
- package/dist/scripts/release-parallel-check.js +26 -0
- package/package.json +29 -3
- package/schemas/skills/core-skill-card.schema.json +27 -0
- package/schemas/skills/core-skill-patch.schema.json +39 -0
package/README.md
CHANGED
|
@@ -16,7 +16,15 @@ 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.20.3** is a targeted patch for `sks --mad` / codex-lb sessions on macOS and project-local Fast mode control. SKS now supplies a short per-user `ZELLIJ_SOCKET_DIR` by default, caps generated session names safely, records `*_command_with_env` attach commands, and classifies `IPC socket path is too long` as `zellij_socket_path_too_long` instead of a generic launch failure. It also adds `sks fast-mode on|off|status|clear`, `$Fast-On`, `$Fast-Off`, and `$Fast-Mode`; saved project preferences are used only when no explicit `--fast`, `--no-fast`, or `--service-tier` flag is present.
|
|
20
|
+
|
|
21
|
+
It carries forward the **1.20.2** stabilization layer: **Mutation Guard** routes genuinely-risky global/config/permission/package mutations through the Requested-Scope Contract + Mutation Ledger (`safety:mutation-callsite-coverage` fails any unguarded, unallowlisted risky call site); `release:check:dynamic:execute` is the real **caching gate runner** (schema v2, real/heavy gates deferred to `release:real-check`, dynamic-only cannot authorize publish); the **Core Skill** deployed snapshot is read by the route runtime and recorded in `agent-proof-evidence.json` (`selected_core_skill`), with promotions written to the mutation ledger; and `sks doctor` exposes an explicit **`zellij_readiness`** block (`zellij:doctor-readiness`). See `docs/dynamic-release-pipeline.md`.
|
|
22
|
+
|
|
23
|
+
SKS **1.20.1** introduces the **SKS Core Skill Engine** — a SkillOpt-style self-evolving skill layer — while locking the harness into a deploy-ready stable build. Skills are the agent's *external, versioned state* (Core Skill Cards): an optimizer proposes **bounded** add/delete/replace edits to a single skill document under a **textual edit budget**, edits are accepted **only on strict held-out improvement**, rejected edits are buffered so they are never retried, and the **deployed snapshot is immutable**. Critically, the optimizer runs only in training/evaluation — the **deployment/inference path reads the deployed snapshot and never makes an extra model call**, and a skill patch can never mutate code/config/package/global files.
|
|
24
|
+
|
|
25
|
+
1.20.1 also adds a **Requested-Scope Contract + Mutation Ledger** so SKS performs **no side effect the user did not request** (deny-by-default; global/destructive mutations require explicit `--yes`/env opt-in and a backup or no-op reason), and a **dynamic, risk-based release pipeline** (`release:gate-planner` builds `release-gates.json`; `release:check:dynamic` runs only P0 always-on gates plus gates whose files changed; `release:gate-budget` reports the slowest gates) so unrelated heavy gates are skipped during incremental checks while publish never skips a required gate.
|
|
26
|
+
|
|
27
|
+
It carries forward the 1.19.x hardening unchanged: legacy 1.18.x/1.19.x→1.20.1 **zero-break upgrade** (user `model`/`service_tier`/`model_reasoning_effort` and user-disabled Codex App flags never overwritten; existing skill cards preserved), the **migration transaction journal** (`.sneakoscope/reports/migration-1.20.1-journal.jsonl`), **Zellij launch-command truth** + real-session **heartbeat-timeout blocker** + the redesigned **Zellij lane UI**, **packlist/publish-performance** gates, a **postinstall safe-side-effects** gate, and the **TS source-of-truth / Rust optional-accelerator** boundary (publish never compiles Rust). `sks zellij status`/`repair` inspects the Zellij runtime without auto-installing anything.
|
|
20
28
|
|
|
21
29
|
```bash
|
|
22
30
|
sks mad-sks plan --target-root <path> --json
|
|
@@ -134,7 +142,7 @@ The cleanup contract is policy-backed in `.sneakoscope/policy.json`, but the def
|
|
|
134
142
|
- Agent patch queue: [docs/agent-patch-queue.md](docs/agent-patch-queue.md)
|
|
135
143
|
- Native CLI Session Swarm: [docs/native-cli-session-swarm.md](docs/native-cli-session-swarm.md)
|
|
136
144
|
- No-subagent scaling: [docs/no-subagent-scaling.md](docs/no-subagent-scaling.md)
|
|
137
|
-
- Fast mode default: [docs/fast-mode-default.md](docs/fast-mode-default.md)
|
|
145
|
+
- Fast mode default and `$Fast-On`/`$Fast-Off` toggles: [docs/fast-mode-default.md](docs/fast-mode-default.md)
|
|
138
146
|
- Migration 1.18.7 to 1.18.8: [docs/migration-1.18.7-to-1.18.8.md](docs/migration-1.18.7-to-1.18.8.md)
|
|
139
147
|
- Codex official Goal mode: [docs/codex-official-goal-mode.md](docs/codex-official-goal-mode.md)
|
|
140
148
|
- Release parallel full coverage: [docs/release-parallel-full-coverage.md](docs/release-parallel-full-coverage.md)
|
|
@@ -725,7 +733,7 @@ npm run release:check
|
|
|
725
733
|
npm run publish:dry
|
|
726
734
|
```
|
|
727
735
|
|
|
728
|
-
`release:check` runs the 1.
|
|
736
|
+
`release:check` runs the current 1.20.x release-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/socket-dir 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.
|
|
729
737
|
|
|
730
738
|
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.
|
|
731
739
|
|
|
@@ -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.20.3"),
|
|
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.20.3",
|
|
5
|
+
"source_digest": "c76562a39aaa8ecf01128ce5cda509ad6f8883d1f8c6203c73ddad1d243e54e5",
|
|
6
|
+
"source_file_count": 1743,
|
|
7
|
+
"built_at_source_time": 1780267464746
|
|
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.20.3",
|
|
4
|
+
"package_version": "1.20.3",
|
|
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": 1018,
|
|
8
|
+
"compiled_js_count": 509,
|
|
9
|
+
"compiled_dts_count": 509,
|
|
10
|
+
"source_digest": "c76562a39aaa8ecf01128ce5cda509ad6f8883d1f8c6203c73ddad1d243e54e5",
|
|
11
|
+
"source_file_count": 1743,
|
|
12
|
+
"source_files_hash": "b1db64d16ef4e7f980de40d7c8c78b3280d95e78c5583092368dd283aeb367af",
|
|
13
|
+
"source_list_hash": "b1db64d16ef4e7f980de40d7c8c78b3280d95e78c5583092368dd283aeb367af",
|
|
14
14
|
"src_mjs_runtime_files": 0,
|
|
15
15
|
"dist_stamp_schema": "sks.dist-build-stamp.v1",
|
|
16
16
|
"files": [
|
|
@@ -186,6 +186,8 @@
|
|
|
186
186
|
"commands/wiki.js",
|
|
187
187
|
"commands/zellij-lane.d.ts",
|
|
188
188
|
"commands/zellij-lane.js",
|
|
189
|
+
"commands/zellij.d.ts",
|
|
190
|
+
"commands/zellij.js",
|
|
189
191
|
"core/agents/agent-central-ledger.d.ts",
|
|
190
192
|
"core/agents/agent-central-ledger.js",
|
|
191
193
|
"core/agents/agent-cleanup-executor.d.ts",
|
|
@@ -440,6 +442,8 @@
|
|
|
440
442
|
"core/commands/dfix-command.js",
|
|
441
443
|
"core/commands/eval-command.d.ts",
|
|
442
444
|
"core/commands/eval-command.js",
|
|
445
|
+
"core/commands/fast-mode-command.d.ts",
|
|
446
|
+
"core/commands/fast-mode-command.js",
|
|
443
447
|
"core/commands/gc-command.d.ts",
|
|
444
448
|
"core/commands/gc-command.js",
|
|
445
449
|
"core/commands/git-command.d.ts",
|
|
@@ -616,6 +620,8 @@
|
|
|
616
620
|
"core/image-ux-review.js",
|
|
617
621
|
"core/image-ux-review/callout-extraction.d.ts",
|
|
618
622
|
"core/image-ux-review/callout-extraction.js",
|
|
623
|
+
"core/image-ux-review/codex-app-generated-image-discovery.d.ts",
|
|
624
|
+
"core/image-ux-review/codex-app-generated-image-discovery.js",
|
|
619
625
|
"core/image-ux-review/fix-loop.d.ts",
|
|
620
626
|
"core/image-ux-review/fix-loop.js",
|
|
621
627
|
"core/image-ux-review/fix-task-planner.d.ts",
|
|
@@ -630,6 +636,8 @@
|
|
|
630
636
|
"core/image-ux-review/recapture.js",
|
|
631
637
|
"core/imagegen/gpt-image-2-request-validator.d.ts",
|
|
632
638
|
"core/imagegen/gpt-image-2-request-validator.js",
|
|
639
|
+
"core/imagegen/imagegen-auth-readiness.d.ts",
|
|
640
|
+
"core/imagegen/imagegen-auth-readiness.js",
|
|
633
641
|
"core/imagegen/imagegen-capability.d.ts",
|
|
634
642
|
"core/imagegen/imagegen-capability.js",
|
|
635
643
|
"core/init.d.ts",
|
|
@@ -690,6 +698,8 @@
|
|
|
690
698
|
"core/memory-governor.js",
|
|
691
699
|
"core/memory-summary.d.ts",
|
|
692
700
|
"core/memory-summary.js",
|
|
701
|
+
"core/migration/migration-transaction-journal.d.ts",
|
|
702
|
+
"core/migration/migration-transaction-journal.js",
|
|
693
703
|
"core/mission.d.ts",
|
|
694
704
|
"core/mission.js",
|
|
695
705
|
"core/mistake-memory.d.ts",
|
|
@@ -829,6 +839,10 @@
|
|
|
829
839
|
"core/recallpulse.js",
|
|
830
840
|
"core/release-parallel-full-coverage.d.ts",
|
|
831
841
|
"core/release-parallel-full-coverage.js",
|
|
842
|
+
"core/release/gate-cache.d.ts",
|
|
843
|
+
"core/release/gate-cache.js",
|
|
844
|
+
"core/release/gate-manifest.d.ts",
|
|
845
|
+
"core/release/gate-manifest.js",
|
|
832
846
|
"core/reporting/markdown-table.d.ts",
|
|
833
847
|
"core/reporting/markdown-table.js",
|
|
834
848
|
"core/research.d.ts",
|
|
@@ -841,12 +855,40 @@
|
|
|
841
855
|
"core/routes.js",
|
|
842
856
|
"core/rust-accelerator.d.ts",
|
|
843
857
|
"core/rust-accelerator.js",
|
|
858
|
+
"core/safety/mutation-guard.d.ts",
|
|
859
|
+
"core/safety/mutation-guard.js",
|
|
860
|
+
"core/safety/mutation-ledger.d.ts",
|
|
861
|
+
"core/safety/mutation-ledger.js",
|
|
862
|
+
"core/safety/requested-scope-contract.d.ts",
|
|
863
|
+
"core/safety/requested-scope-contract.js",
|
|
844
864
|
"core/secret-redaction.d.ts",
|
|
845
865
|
"core/secret-redaction.js",
|
|
846
866
|
"core/session/project-namespace.d.ts",
|
|
847
867
|
"core/session/project-namespace.js",
|
|
848
868
|
"core/skill-forge.d.ts",
|
|
849
869
|
"core/skill-forge.js",
|
|
870
|
+
"core/skills/core-rollout-trace.d.ts",
|
|
871
|
+
"core/skills/core-rollout-trace.js",
|
|
872
|
+
"core/skills/core-skill-card.d.ts",
|
|
873
|
+
"core/skills/core-skill-card.js",
|
|
874
|
+
"core/skills/core-skill-deployment.d.ts",
|
|
875
|
+
"core/skills/core-skill-deployment.js",
|
|
876
|
+
"core/skills/core-skill-epoch.d.ts",
|
|
877
|
+
"core/skills/core-skill-epoch.js",
|
|
878
|
+
"core/skills/core-skill-patch-apply.d.ts",
|
|
879
|
+
"core/skills/core-skill-patch-apply.js",
|
|
880
|
+
"core/skills/core-skill-patch.d.ts",
|
|
881
|
+
"core/skills/core-skill-patch.js",
|
|
882
|
+
"core/skills/core-skill-runtime.d.ts",
|
|
883
|
+
"core/skills/core-skill-runtime.js",
|
|
884
|
+
"core/skills/core-skill-scorer.d.ts",
|
|
885
|
+
"core/skills/core-skill-scorer.js",
|
|
886
|
+
"core/skills/core-skill-types.d.ts",
|
|
887
|
+
"core/skills/core-skill-types.js",
|
|
888
|
+
"core/skills/core-skill-validation.d.ts",
|
|
889
|
+
"core/skills/core-skill-validation.js",
|
|
890
|
+
"core/skills/rejected-skill-patch-buffer.d.ts",
|
|
891
|
+
"core/skills/rejected-skill-patch-buffer.js",
|
|
850
892
|
"core/source-intelligence/appshots-evidence.d.ts",
|
|
851
893
|
"core/source-intelligence/appshots-evidence.js",
|
|
852
894
|
"core/source-intelligence/codex-history-search.d.ts",
|
|
@@ -875,6 +917,8 @@
|
|
|
875
917
|
"core/team-review-policy.js",
|
|
876
918
|
"core/triwiki-attention.d.ts",
|
|
877
919
|
"core/triwiki-attention.js",
|
|
920
|
+
"core/triwiki-runtime.d.ts",
|
|
921
|
+
"core/triwiki-runtime.js",
|
|
878
922
|
"core/triwiki-wrongness/avoidance-rules.d.ts",
|
|
879
923
|
"core/triwiki-wrongness/avoidance-rules.js",
|
|
880
924
|
"core/triwiki-wrongness/image-wrongness.d.ts",
|
|
@@ -50,6 +50,7 @@ export declare const COMMANDS: {
|
|
|
50
50
|
hermes: CommandEntry;
|
|
51
51
|
tmux: CommandEntry;
|
|
52
52
|
'zellij-lane': CommandEntry;
|
|
53
|
+
zellij: CommandEntry;
|
|
53
54
|
mad: CommandEntry;
|
|
54
55
|
'mad-sks': CommandEntry;
|
|
55
56
|
'auto-review': CommandEntry;
|
|
@@ -57,6 +58,7 @@ export declare const COMMANDS: {
|
|
|
57
58
|
'dollar-commands': CommandEntry;
|
|
58
59
|
dollars: CommandEntry;
|
|
59
60
|
$: CommandEntry;
|
|
61
|
+
'fast-mode': CommandEntry;
|
|
60
62
|
commit: CommandEntry;
|
|
61
63
|
'commit-and-push': CommandEntry;
|
|
62
64
|
dfix: CommandEntry;
|
|
@@ -137,6 +139,7 @@ export declare const TYPED_COMMANDS: {
|
|
|
137
139
|
hermes: CommandEntry;
|
|
138
140
|
tmux: CommandEntry;
|
|
139
141
|
'zellij-lane': CommandEntry;
|
|
142
|
+
zellij: CommandEntry;
|
|
140
143
|
mad: CommandEntry;
|
|
141
144
|
'mad-sks': CommandEntry;
|
|
142
145
|
'auto-review': CommandEntry;
|
|
@@ -144,6 +147,7 @@ export declare const TYPED_COMMANDS: {
|
|
|
144
147
|
'dollar-commands': CommandEntry;
|
|
145
148
|
dollars: CommandEntry;
|
|
146
149
|
$: CommandEntry;
|
|
150
|
+
'fast-mode': CommandEntry;
|
|
147
151
|
commit: CommandEntry;
|
|
148
152
|
'commit-and-push': CommandEntry;
|
|
149
153
|
dfix: CommandEntry;
|
|
@@ -103,6 +103,7 @@ export const COMMANDS = {
|
|
|
103
103
|
hermes: entry('labs', 'Create Hermes Agent skill package', 'dist/commands/hermes.js', directCommand(() => import('../commands/hermes.js'), 'dist/commands/hermes.js')),
|
|
104
104
|
tmux: entry('beta', 'Show removed-runtime migration notice', 'dist/commands/tmux.js', directCommand(() => import('../commands/tmux.js'), 'dist/commands/tmux.js')),
|
|
105
105
|
'zellij-lane': entry('beta', 'Render a Zellij lane frame for SKS sessions', 'dist/commands/zellij-lane.js', directCommand(() => import('../commands/zellij-lane.js'), 'dist/commands/zellij-lane.js')),
|
|
106
|
+
zellij: entry('beta', 'Inspect Zellij runtime status and explain repair (no auto-install)', 'dist/commands/zellij.js', directCommand(() => import('../commands/zellij.js'), 'dist/commands/zellij.js')),
|
|
106
107
|
mad: entry('beta', 'MAD-SKS Zellij permission launcher', 'dist/commands/mad-sks.js', directCommand(() => import('../commands/mad-sks.js'), 'dist/commands/mad-sks.js')),
|
|
107
108
|
'mad-sks': entry('beta', 'MAD-SKS scoped permission modifier', 'dist/commands/mad-sks.js', directCommand(() => import('../commands/mad-sks.js'), 'dist/commands/mad-sks.js')),
|
|
108
109
|
'auto-review': entry('beta', 'Manage auto-review profile', 'dist/commands/auto-review.js', directCommand(() => import('../commands/auto-review.js'), 'dist/commands/auto-review.js')),
|
|
@@ -110,6 +111,7 @@ export const COMMANDS = {
|
|
|
110
111
|
'dollar-commands': entry('stable', 'List Codex App dollar commands', 'dist/core/commands/basic-cli.js', basicArgs('dollarCommandsCommand')),
|
|
111
112
|
dollars: entry('stable', 'Alias for dollar-commands', 'dist/core/commands/basic-cli.js', basicArgs('dollarCommandsCommand')),
|
|
112
113
|
'$': entry('stable', 'Alias for dollar-commands', 'dist/core/commands/basic-cli.js', basicArgs('dollarCommandsCommand')),
|
|
114
|
+
'fast-mode': entry('stable', 'Toggle SKS Fast mode default for dollar-command routes', 'dist/core/commands/fast-mode-command.js', argsCommand(() => import('../core/commands/fast-mode-command.js'), 'fastModeCommand', 'dist/core/commands/fast-mode-command.js')),
|
|
113
115
|
commit: entry('stable', 'Create a simple git commit', 'dist/commands/commit.js', directCommand(() => import('../commands/commit.js'), 'dist/commands/commit.js')),
|
|
114
116
|
'commit-and-push': entry('stable', 'Create a simple git commit and push', 'dist/commands/commit-and-push.js', directCommand(() => import('../commands/commit-and-push.js'), 'dist/commands/commit-and-push.js')),
|
|
115
117
|
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')),
|
|
@@ -4,6 +4,8 @@ import fsp from 'node:fs/promises';
|
|
|
4
4
|
import readline from 'node:readline/promises';
|
|
5
5
|
import { stdin as input, stdout as output } from 'node:process';
|
|
6
6
|
import { ensureDir, exists, globalSksRoot, packageRoot, PACKAGE_VERSION, readText, runProcess, tmpdir, which, writeTextAtomic } from '../core/fsx.js';
|
|
7
|
+
import { createRequestedScopeContract } from '../core/safety/requested-scope-contract.js';
|
|
8
|
+
import { guardedPackageInstall, guardContextForRoute } from '../core/safety/mutation-guard.js';
|
|
7
9
|
import { EMPTY_CODEX_INFO, getCodexInfo } from '../core/codex-adapter.js';
|
|
8
10
|
import { formatHarnessConflictReport, llmHarnessCleanupPrompt, scanHarnessConflicts } from '../core/harness-conflicts.js';
|
|
9
11
|
import { initProject, installSkills } from '../core/init.js';
|
|
@@ -2124,10 +2126,14 @@ export async function ensureCodexCliTool({ skip = false, args = [] } = {}) {
|
|
|
2124
2126
|
if (!await confirmInstallYesDefault(`Codex CLI is missing. Install latest Codex CLI with ${command}?`, args)) {
|
|
2125
2127
|
return { status: 'needs_approval', command, error: 'Codex CLI not found on PATH.' };
|
|
2126
2128
|
}
|
|
2127
|
-
|
|
2128
|
-
|
|
2129
|
-
|
|
2130
|
-
|
|
2129
|
+
// Global package install is a confirmation-required mutation: route it through
|
|
2130
|
+
// the mutation guard so it is scope-checked and recorded in the ledger. The
|
|
2131
|
+
// user already approved via confirmInstallYesDefault above (confirmed:true).
|
|
2132
|
+
const installRoot = globalSksRoot();
|
|
2133
|
+
const installContract = createRequestedScopeContract({
|
|
2134
|
+
route: 'install', userRequest: command, projectRoot: installRoot, overrides: { package_install: true }
|
|
2135
|
+
});
|
|
2136
|
+
const install = await guardedPackageInstall(guardContextForRoute(installRoot, installContract, command), '@openai/codex@latest', { confirmed: true, command: npmBin, args: ['i', '-g', '@openai/codex@latest'], timeoutMs: 120000 }).catch((err) => ({ code: 1, stdout: '', stderr: err.message }));
|
|
2131
2137
|
if (install.code !== 0) {
|
|
2132
2138
|
return { status: 'failed', error: `${install.stderr || install.stdout || 'npm i -g @openai/codex@latest failed'}`.trim() };
|
|
2133
2139
|
}
|
|
@@ -2159,7 +2165,11 @@ export async function ensureZellijCliTool(args = [], opts = {}) {
|
|
|
2159
2165
|
if (!await confirmInstallYesDefault(question, args))
|
|
2160
2166
|
return { target: 'zellij', status: 'needs_approval', command: repairCommand, error: before.blockers[0] || before.warnings[0] || null };
|
|
2161
2167
|
const brewArgs = hasInstalledZellij ? ['upgrade', 'zellij'] : ['install', 'zellij'];
|
|
2162
|
-
const
|
|
2168
|
+
const zellijRoot = globalSksRoot();
|
|
2169
|
+
const zellijContract = createRequestedScopeContract({
|
|
2170
|
+
route: 'install', userRequest: repairCommand, projectRoot: zellijRoot, overrides: { package_install: true, zellij_install: true }
|
|
2171
|
+
});
|
|
2172
|
+
const install = await guardedPackageInstall(guardContextForRoute(zellijRoot, zellijContract, repairCommand), 'zellij', { confirmed: true, command: brew, args: brewArgs, timeoutMs: 180000 }).catch((err) => ({ code: 1, stdout: '', stderr: err.message }));
|
|
2163
2173
|
if (install.code !== 0)
|
|
2164
2174
|
return { target: 'zellij', status: 'failed', command: repairCommand, error: `${install.stderr || install.stdout || repairCommand + ' failed'}`.trim() };
|
|
2165
2175
|
const after = await checkZellijCapability({ require: false, writeReport: false });
|
package/dist/commands/doctor.js
CHANGED
|
@@ -13,9 +13,14 @@ import { writeDoctorReadinessMatrix } from '../core/doctor/doctor-readiness-matr
|
|
|
13
13
|
import { runCodexDoctorBridge, compareCodexDoctorBridge } from '../core/doctor/codex-doctor-bridge.js';
|
|
14
14
|
import { checkZellijCapability } from '../core/zellij/zellij-capability.js';
|
|
15
15
|
import { inventoryCodexPermissionProfiles } from '../core/codex/codex-permission-profiles.js';
|
|
16
|
+
import { appendMigrationEvents, hashConfigText } from '../core/migration/migration-transaction-journal.js';
|
|
16
17
|
export async function run(_command, args = []) {
|
|
17
18
|
let setupRepair = null;
|
|
19
|
+
let migrationPreFix = null;
|
|
18
20
|
if (flag(args, '--fix')) {
|
|
21
|
+
// Snapshot config content before ANY mutation so the migration journal can
|
|
22
|
+
// record real before/after hashes for the whole --fix transaction.
|
|
23
|
+
migrationPreFix = await captureCodexConfigSnapshot();
|
|
19
24
|
const { setupCommand } = await import('../core/commands/basic-cli.js');
|
|
20
25
|
const installScope = installScopeFromArgs(args);
|
|
21
26
|
// Back up the existing managed project config before --force regeneration so a
|
|
@@ -44,6 +49,9 @@ export async function run(_command, args = []) {
|
|
|
44
49
|
};
|
|
45
50
|
const codexDoctorBefore = flag(args, '--fix') ? await runCodexDoctorBridge({ codexBin: codexBin || null, cwd: root, required: flag(args, '--require-actual-codex') }).catch(() => null) : null;
|
|
46
51
|
const configRepair = flag(args, '--fix') ? await repairCodexConfigEperm(root, { fix: true, ...configProbeOpts }) : null;
|
|
52
|
+
const migrationJournal = flag(args, '--fix')
|
|
53
|
+
? await writeFixMigrationJournal(root, migrationPreFix, configRepair, setupRepair).catch(() => null)
|
|
54
|
+
: null;
|
|
47
55
|
const codexConfig = configRepair?.after || await inspectCodexConfigReadability(root, configProbeOpts);
|
|
48
56
|
const codexDoctor = await runCodexDoctorBridge({ codexBin: codexBin || null, cwd: root, required: flag(args, '--require-actual-codex') });
|
|
49
57
|
const codexDoctorDiff = compareCodexDoctorBridge(codexDoctorBefore, codexDoctor);
|
|
@@ -61,6 +69,8 @@ export async function run(_command, args = []) {
|
|
|
61
69
|
const codexLb = codexLbMetrics(await readCodexLbCircuit(root).catch(() => ({})));
|
|
62
70
|
const zellij = await checkZellijCapability({ root, require: process.env.SKS_REQUIRE_ZELLIJ === '1' });
|
|
63
71
|
const permissionProfiles = await inventoryCodexPermissionProfiles(root, { writeReport: true });
|
|
72
|
+
const { detectImagegenCapability } = await import('../core/imagegen/imagegen-capability.js');
|
|
73
|
+
const imagegen = await detectImagegenCapability({ codexBin: codexBin || undefined }).catch((err) => ({ ok: false, error: err.message, auth_readiness: null }));
|
|
64
74
|
const pkgBytes = await dirSize(root).catch(() => 0);
|
|
65
75
|
const ready = await writeDoctorReadinessMatrix(root, {
|
|
66
76
|
codex,
|
|
@@ -77,6 +87,7 @@ export async function run(_command, args = []) {
|
|
|
77
87
|
...(configRepair?.operator_actions || [])
|
|
78
88
|
]
|
|
79
89
|
});
|
|
90
|
+
const zellijReadiness = buildZellijReadiness(root, zellij, ready);
|
|
80
91
|
const result = {
|
|
81
92
|
schema: 'sks.doctor-status.v1',
|
|
82
93
|
ok: ready.ready,
|
|
@@ -90,11 +101,17 @@ export async function run(_command, args = []) {
|
|
|
90
101
|
codex_doctor: codexDoctor,
|
|
91
102
|
codex_doctor_diff: codexDoctorDiff,
|
|
92
103
|
zellij,
|
|
104
|
+
zellij_readiness: zellijReadiness,
|
|
93
105
|
codex_permission_profiles: permissionProfiles,
|
|
106
|
+
imagegen: {
|
|
107
|
+
ok: imagegen.auth_readiness?.available_paths?.length > 0,
|
|
108
|
+
auth_readiness: imagegen.auth_readiness || null,
|
|
109
|
+
codex_app_builtin_available: imagegen.codex_app?.available === true
|
|
110
|
+
},
|
|
94
111
|
ready,
|
|
95
112
|
sneakoscope: { ok: await exists(`${root}/.sneakoscope`) },
|
|
96
113
|
package: { bytes: pkgBytes, human: formatBytes(pkgBytes) },
|
|
97
|
-
repair: { setup: setupRepair, codex_config: configRepair }
|
|
114
|
+
repair: { setup: setupRepair, codex_config: configRepair, migration_journal: migrationJournal }
|
|
98
115
|
};
|
|
99
116
|
if (flag(args, '--json')) {
|
|
100
117
|
printJson(result);
|
|
@@ -110,11 +127,26 @@ export async function run(_command, args = []) {
|
|
|
110
127
|
console.log('Project config:');
|
|
111
128
|
console.log(` node read: ${ready.codex_config_readable_by_node ? 'ok' : 'failed'}`);
|
|
112
129
|
console.log(` codex cli read: ${ready.codex_config_readable_by_codex_cli ? 'ok' : (actual?.status || 'failed')}`);
|
|
113
|
-
console.log(` Zellij: ${zellij.status}`);
|
|
114
130
|
console.log(` removed runtime: tmux`);
|
|
131
|
+
console.log('Zellij:');
|
|
132
|
+
console.log(` binary: ${zellijReadiness.binary} ${zellijReadiness.version || ''} ${zellijReadiness.status === 'ok' ? 'ok' : zellijReadiness.status}`);
|
|
133
|
+
console.log(` required_for: ${zellijReadiness.required_for.join(', ')}`);
|
|
134
|
+
console.log(` layout: ${zellijReadiness.layout_proof}`);
|
|
135
|
+
console.log(` pane proof: ${zellijReadiness.pane_proof}`);
|
|
136
|
+
console.log(` screen proof:${zellijReadiness.screen_proof}`);
|
|
137
|
+
console.log(` tmux: ${zellijReadiness.tmux_removed_runtime ? 'removed_runtime' : 'present'}`);
|
|
115
138
|
console.log(` codex doctor: ${codexDoctor.available ? (codexDoctor.exit_code === 0 ? 'ok' : 'warning') : 'unavailable'}`);
|
|
116
139
|
console.log(`Rust acc.: ${rust.mode || (rust.available ? 'rust_accelerated' : 'js_fallback')} ${rust.version || rust.status || ''}`);
|
|
117
140
|
console.log(`Codex App: ${ready.codex_app_ready ? 'ok' : 'optional_missing'}`);
|
|
141
|
+
const imagegenReady = imagegen.auth_readiness;
|
|
142
|
+
if (imagegenReady) {
|
|
143
|
+
const paths = imagegenReady.available_paths?.length ? imagegenReady.available_paths.join(', ') : 'none';
|
|
144
|
+
console.log(`Image Gen: auth=${imagegenReady.auth_mode} | headless_auto=${imagegenReady.headless_auto_available ? 'available' : 'unavailable'} | paths: ${paths}`);
|
|
145
|
+
if (!imagegenReady.headless_auto_available) {
|
|
146
|
+
for (const action of imagegenReady.next_actions || [])
|
|
147
|
+
console.log(` - ${action}`);
|
|
148
|
+
}
|
|
149
|
+
}
|
|
118
150
|
console.log(`codex-lb: ${codexLb.ok ? 'ok' : `warning ${codexLb.circuit?.state || 'unknown'}`}`);
|
|
119
151
|
console.log(`Permissions: config profile and permission profile are tracked separately (${permissionProfiles.codex_config_profile_field}, ${permissionProfiles.codex_permission_profile_field})`);
|
|
120
152
|
console.log('Ready:');
|
|
@@ -130,6 +162,9 @@ export async function run(_command, args = []) {
|
|
|
130
162
|
for (const action of configRepair.repair_actions)
|
|
131
163
|
console.log(` - ${action.name}: ${action.ok ? 'ok' : 'failed'}`);
|
|
132
164
|
}
|
|
165
|
+
if (migrationJournal?.journal_path) {
|
|
166
|
+
console.log(`Migration journal: ${migrationJournal.journal_path} (${migrationJournal.event_count} events, ${migrationJournal.mutations_without_rollback} without rollback)`);
|
|
167
|
+
}
|
|
133
168
|
if (!ready.ready && ready.next_actions?.length) {
|
|
134
169
|
console.log('What still needs you:');
|
|
135
170
|
for (const action of ready.next_actions)
|
|
@@ -138,6 +173,103 @@ export async function run(_command, args = []) {
|
|
|
138
173
|
if (!result.ok)
|
|
139
174
|
process.exitCode = 1;
|
|
140
175
|
}
|
|
176
|
+
// Assemble the explicit Zellij readiness block for `doctor --json` from the
|
|
177
|
+
// capability probe + readiness matrix. Proof statuses are availability-derived:
|
|
178
|
+
// `verified` is reserved for a real environment run (SKS_REQUIRE_ZELLIJ=1 gates);
|
|
179
|
+
// here they report `optional` when the binary is usable and `unavailable` when
|
|
180
|
+
// Zellij is missing/too old. Zellij missing keeps mad_ready=false while cli_ready
|
|
181
|
+
// can remain true (the matrix already enforces this).
|
|
182
|
+
function buildZellijReadiness(root, zellij, ready) {
|
|
183
|
+
const status = String(zellij?.status || 'missing');
|
|
184
|
+
const usable = status === 'ok';
|
|
185
|
+
const proofStatus = usable ? 'optional' : 'unavailable';
|
|
186
|
+
const readiness = {
|
|
187
|
+
schema: 'sks.zellij-readiness.v1',
|
|
188
|
+
binary: zellij?.bin || 'zellij',
|
|
189
|
+
status,
|
|
190
|
+
min_version: zellij?.min_version || '0.41.0',
|
|
191
|
+
version: zellij?.version || null,
|
|
192
|
+
required_for: zellij?.required_for || ['sks --mad', 'interactive lane UI'],
|
|
193
|
+
layout_proof: proofStatus,
|
|
194
|
+
pane_proof: proofStatus,
|
|
195
|
+
screen_proof: proofStatus,
|
|
196
|
+
tmux_removed_runtime: true,
|
|
197
|
+
mad_ready: ready?.mad_ready === true,
|
|
198
|
+
cli_ready: ready?.cli_ready === true,
|
|
199
|
+
ready_for_interactive_runtime: ready?.codex_config_readable_in_zellij_context === true
|
|
200
|
+
};
|
|
201
|
+
return readiness;
|
|
202
|
+
}
|
|
203
|
+
async function codexHomeConfigPath() {
|
|
204
|
+
const path = await import('node:path');
|
|
205
|
+
const os = await import('node:os');
|
|
206
|
+
const home = process.env.CODEX_HOME || path.join(process.env.HOME || os.homedir(), '.codex');
|
|
207
|
+
return path.join(home, 'config.toml');
|
|
208
|
+
}
|
|
209
|
+
async function captureCodexConfigSnapshot() {
|
|
210
|
+
const fsp = await import('node:fs/promises');
|
|
211
|
+
const path = await import('node:path');
|
|
212
|
+
const read = async (p) => {
|
|
213
|
+
if (!p)
|
|
214
|
+
return null;
|
|
215
|
+
try {
|
|
216
|
+
return await fsp.readFile(p, 'utf8');
|
|
217
|
+
}
|
|
218
|
+
catch {
|
|
219
|
+
return null;
|
|
220
|
+
}
|
|
221
|
+
};
|
|
222
|
+
const root = await projectRoot();
|
|
223
|
+
const projectPath = root ? path.join(root, '.codex', 'config.toml') : null;
|
|
224
|
+
const homePath = await codexHomeConfigPath();
|
|
225
|
+
return {
|
|
226
|
+
project_path: projectPath,
|
|
227
|
+
project_text: await read(projectPath),
|
|
228
|
+
home_path: homePath,
|
|
229
|
+
home_text: await read(homePath)
|
|
230
|
+
};
|
|
231
|
+
}
|
|
232
|
+
// Build a migration journal for the --fix transaction with real before/after
|
|
233
|
+
// content hashes and the backup paths produced by setup/structure/split repair.
|
|
234
|
+
async function writeFixMigrationJournal(root, preFix, configRepair, setupRepair) {
|
|
235
|
+
if (!preFix)
|
|
236
|
+
return null;
|
|
237
|
+
const fsp = await import('node:fs/promises');
|
|
238
|
+
const read = async (p) => {
|
|
239
|
+
if (!p)
|
|
240
|
+
return null;
|
|
241
|
+
try {
|
|
242
|
+
return await fsp.readFile(p, 'utf8');
|
|
243
|
+
}
|
|
244
|
+
catch {
|
|
245
|
+
return null;
|
|
246
|
+
}
|
|
247
|
+
};
|
|
248
|
+
const projectAfter = await read(preFix.project_path);
|
|
249
|
+
const homeAfter = await read(preFix.home_path);
|
|
250
|
+
const structureRepairs = Array.isArray(configRepair?.structure_repairs) ? configRepair.structure_repairs : [];
|
|
251
|
+
const projectStructure = structureRepairs.find((repair) => repair.scope === 'project');
|
|
252
|
+
const homeStructure = structureRepairs.find((repair) => repair.scope === 'codex_home');
|
|
253
|
+
const events = [
|
|
254
|
+
{
|
|
255
|
+
step: 'doctor_fix_project_config',
|
|
256
|
+
target: preFix.project_path || '.codex/config.toml',
|
|
257
|
+
beforeHash: preFix.project_text != null ? hashConfigText(preFix.project_text) : null,
|
|
258
|
+
afterHash: projectAfter != null ? hashConfigText(projectAfter) : null,
|
|
259
|
+
backupPath: setupRepair?.config_backup_path || projectStructure?.backup_path || configRepair?.policy?.backup_path || null
|
|
260
|
+
},
|
|
261
|
+
{
|
|
262
|
+
step: 'doctor_fix_codex_home_config',
|
|
263
|
+
target: preFix.home_path || '~/.codex/config.toml',
|
|
264
|
+
beforeHash: preFix.home_text != null ? hashConfigText(preFix.home_text) : null,
|
|
265
|
+
afterHash: homeAfter != null ? hashConfigText(homeAfter) : null,
|
|
266
|
+
backupPath: homeStructure?.backup_path || null
|
|
267
|
+
}
|
|
268
|
+
].filter((event) => event.beforeHash != null || event.afterHash != null);
|
|
269
|
+
if (!events.length)
|
|
270
|
+
return null;
|
|
271
|
+
return appendMigrationEvents(root, events);
|
|
272
|
+
}
|
|
141
273
|
async function backupProjectConfigBeforeFix() {
|
|
142
274
|
try {
|
|
143
275
|
const fsp = await import('node:fs/promises');
|
|
@@ -914,6 +914,7 @@ export declare function run(command: any, args?: any): Promise<void | {
|
|
|
914
914
|
backend: string;
|
|
915
915
|
route: string;
|
|
916
916
|
route_command: string;
|
|
917
|
+
selected_core_skill: any;
|
|
917
918
|
route_blackbox_kind: string;
|
|
918
919
|
real_route_command_used: boolean;
|
|
919
920
|
native_cli_session_proof: string | null;
|
|
@@ -1039,6 +1040,12 @@ export declare function run(command: any, args?: any): Promise<void | {
|
|
|
1039
1040
|
janitor_ok: boolean;
|
|
1040
1041
|
trust_report: string;
|
|
1041
1042
|
wrongness_records: string;
|
|
1043
|
+
triwiki_context: string;
|
|
1044
|
+
triwiki_context_consulted: boolean;
|
|
1045
|
+
context_pack_hash: any;
|
|
1046
|
+
triwiki_use_first_count: number;
|
|
1047
|
+
triwiki_hydrate_first_count: number;
|
|
1048
|
+
triwiki_claim_count: number;
|
|
1042
1049
|
changed_files_lease_checked: boolean;
|
|
1043
1050
|
dependency_collision_risk: any;
|
|
1044
1051
|
blockers: any[];
|
|
@@ -12,8 +12,13 @@ export declare function run(_command: any, args?: any): Promise<void | {
|
|
|
12
12
|
layout_artifact: string;
|
|
13
13
|
command: string[];
|
|
14
14
|
launch_command: string[];
|
|
15
|
+
launch_command_with_env: string;
|
|
15
16
|
background_command: string[];
|
|
17
|
+
background_command_with_env: string;
|
|
16
18
|
attach_command: string;
|
|
19
|
+
attach_command_with_env: string;
|
|
20
|
+
zellij_socket_dir: string | null;
|
|
21
|
+
zellij_socket_dir_source: import("../core/zellij/zellij-command.js").ZellijSocketDirSource;
|
|
17
22
|
pane_proof_path: string;
|
|
18
23
|
pane_proof: {
|
|
19
24
|
schema: string;
|
package/dist/commands/ppt.d.ts
CHANGED
|
@@ -763,6 +763,7 @@ export declare function run(command: any, args?: any): Promise<void | {
|
|
|
763
763
|
backend: string;
|
|
764
764
|
route: string;
|
|
765
765
|
route_command: string;
|
|
766
|
+
selected_core_skill: any;
|
|
766
767
|
route_blackbox_kind: string;
|
|
767
768
|
real_route_command_used: boolean;
|
|
768
769
|
native_cli_session_proof: string | null;
|
|
@@ -888,6 +889,12 @@ export declare function run(command: any, args?: any): Promise<void | {
|
|
|
888
889
|
janitor_ok: boolean;
|
|
889
890
|
trust_report: string;
|
|
890
891
|
wrongness_records: string;
|
|
892
|
+
triwiki_context: string;
|
|
893
|
+
triwiki_context_consulted: boolean;
|
|
894
|
+
context_pack_hash: any;
|
|
895
|
+
triwiki_use_first_count: number;
|
|
896
|
+
triwiki_hydrate_first_count: number;
|
|
897
|
+
triwiki_claim_count: number;
|
|
891
898
|
changed_files_lease_checked: boolean;
|
|
892
899
|
dependency_collision_risk: any;
|
|
893
900
|
blockers: any[];
|