sneakoscope 8.2.0 → 8.3.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 +46 -110
- package/crates/sks-core/Cargo.lock +1 -1
- package/crates/sks-core/Cargo.toml +1 -1
- package/dist/cli/command-manifest-lite.js +0 -2
- package/dist/cli/command-registry.js +0 -2
- package/dist/commands/codex.js +3 -3
- package/dist/commands/doctor.js +5 -157
- package/dist/config/skills-manifest.json +1 -1
- package/dist/core/codex/codex-cli-syntax-builder.js +0 -8
- package/dist/core/codex-app/codex-models-cache.js +2 -1
- package/dist/core/codex-app/menubar/constants.js +0 -7
- package/dist/core/codex-compat/codex-capability-matrix.js +7 -7
- package/dist/core/codex-compat/codex-compat-report.js +8 -12
- package/dist/core/codex-compat/codex-runtime-contract.js +62 -0
- package/dist/core/codex-compat/codex-version-policy.js +7 -7
- package/dist/core/codex-control/codex-current-app-capability.js +3 -3
- package/dist/core/codex-control/codex-current-capability.js +67 -94
- package/dist/core/codex-control/codex-current-core-capability.js +3 -3
- package/dist/core/codex-control/codex-current-core-probe-runner.js +4 -4
- package/dist/core/codex-control/codex-current-core-real-probes.js +2 -2
- package/dist/core/codex-control/codex-current-feature-capability.js +4 -4
- package/dist/core/codex-control/codex-current-image-path-real-probe.js +1 -1
- package/dist/core/codex-control/codex-current-web-search-probe.js +1 -1
- package/dist/core/codex-control/codex-sdk-capability.js +2 -2
- package/dist/core/commands/remote-command.js +2 -2
- package/dist/core/context7-client.js +5 -2
- package/dist/core/doctor/codex-current-core-probe-doctor.js +2 -2
- package/dist/core/doctor/doctor-dirty-planner.js +1 -1
- package/dist/core/doctor/doctor-readiness-matrix.js +0 -7
- package/dist/core/feature-fixtures.js +0 -4
- package/dist/core/feature-registry.js +0 -1
- package/dist/core/image-ux-review.js +3 -3
- package/dist/core/install/installed-package-smoke.js +2 -3
- package/dist/core/mad-sks/sql-plane/mcp-executor.js +4 -3
- package/dist/core/mcp/modern-protocol.js +36 -0
- package/dist/core/mcp-config/health-check.js +45 -30
- package/dist/core/perf/release-latency-slo.js +1 -2
- package/dist/core/proof/runtime-truth-matrix.js +1 -1
- package/dist/core/release/canonical-test-proof.js +1 -2
- package/dist/core/release/gate-manifest.js +5 -2
- package/dist/core/release/physical-release-gates.js +0 -26
- package/dist/core/release/release-gate-affected-selector.js +2 -1
- package/dist/core/release/release-gate-contract.js +3 -1
- package/dist/core/release/release-pack-receipt.js +0 -1
- package/dist/core/release/stage-publish.js +1 -1
- package/dist/core/version-manager.js +4 -0
- package/dist/core/version.js +1 -1
- package/dist/native/sks-menubar/Sources/AppDelegate.swift +1 -12
- package/dist/native/sks-menubar/Sources/ControlCenterWindowController.swift +2 -6
- package/dist/native/sks-menubar/Sources/RemoteCodingViewController.swift +28 -471
- package/dist/native/sks-menubar/Sources/SecureProcessEnvelope.swift +1 -43
- package/dist/scripts/codex-current-app-server-v2-check.js +9 -8
- package/dist/scripts/codex-current-binary-identity-check.js +2 -2
- package/dist/scripts/codex-current-capability-check.js +9 -7
- package/dist/scripts/codex-current-dependency-check.js +21 -0
- package/dist/scripts/docs-truthfulness-check.js +4 -19
- package/dist/scripts/fast-codex-service-tier-proof-check.js +0 -1
- package/dist/scripts/install-surface-ssot-check.js +2 -2
- package/dist/scripts/latest-version-guidance-check.js +1 -1
- package/dist/scripts/packlist-performance-check.js +0 -1
- package/dist/scripts/release-metadata-check.js +4 -1
- package/dist/scripts/release-version-truth-check.js +149 -0
- package/dist/vendor/openai-codex/latest/hooks/permission-request.command.input.schema.json +6 -0
- package/dist/vendor/openai-codex/latest/hooks/permission-request.command.output.schema.json +2 -16
- package/dist/vendor/openai-codex/latest/hooks/post-compact.command.input.schema.json +6 -0
- package/dist/vendor/openai-codex/latest/hooks/post-tool-use.command.input.schema.json +6 -0
- package/dist/vendor/openai-codex/latest/hooks/post-tool-use.command.output.schema.json +2 -16
- package/dist/vendor/openai-codex/latest/hooks/pre-compact.command.input.schema.json +6 -0
- package/dist/vendor/openai-codex/latest/hooks/pre-tool-use.command.input.schema.json +6 -0
- package/dist/vendor/openai-codex/latest/hooks/pre-tool-use.command.output.schema.json +2 -16
- package/dist/vendor/openai-codex/latest/hooks/session-start.command.output.schema.json +2 -16
- package/dist/vendor/openai-codex/latest/hooks/snapshot-metadata.json +7 -5
- package/dist/vendor/openai-codex/latest/hooks/subagent-start.command.output.schema.json +4 -18
- package/dist/vendor/openai-codex/latest/hooks/user-prompt-submit.command.input.schema.json +6 -0
- package/dist/vendor/openai-codex/latest/hooks/user-prompt-submit.command.output.schema.json +2 -16
- package/package.json +4 -7
- package/release-gates.v2.json +49 -19
- package/config/codex-releases/rust-v0.146.0.json +0 -45
- package/dist/core/agents/agent-runner-codex-exec.js +0 -177
- package/dist/core/codex-compat/codex-release-manifest.js +0 -72
- package/dist/core/commands/telegram-command.js +0 -447
- package/dist/core/telegram/access.js +0 -58
- package/dist/core/telegram/client.js +0 -157
- package/dist/core/telegram/confirmation.js +0 -37
- package/dist/core/telegram/doctor.js +0 -154
- package/dist/core/telegram/index.js +0 -9
- package/dist/core/telegram/keychain.js +0 -317
- package/dist/core/telegram/liveness.js +0 -124
- package/dist/core/telegram/poller.js +0 -90
- package/dist/core/telegram/redaction.js +0 -15
- package/dist/core/telegram/state-lock.js +0 -416
- package/dist/core/telegram/types.js +0 -1
- package/dist/native/sks-menubar/Sources/TelegramPrivateFileStore.swift +0 -498
- package/dist/native/sks-menubar/Sources/TelegramPrivateFileSupport.swift +0 -236
- package/dist/native/sks-menubar/Sources/TelegramProcessGateway.swift +0 -454
- package/dist/native/sks-menubar/Sources/TelegramRuntimeSupport.swift +0 -56
- package/dist/native/sks-menubar/Sources/TelegramStateLock.swift +0 -448
- package/dist/native/sks-menubar/Sources/TelegramSupport.swift +0 -243
- package/dist/native/sks-menubar/Sources/TelegramTransport.swift +0 -499
- package/dist/scripts/codex-current-manifest-check.js +0 -29
- package/schemas/codex/app-server-0.146/codex_app_server_protocol.v2.schemas.json +0 -19858
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "sneakoscope",
|
|
3
3
|
"displayName": "ㅅㅋㅅ",
|
|
4
|
-
"version": "8.
|
|
4
|
+
"version": "8.3.0",
|
|
5
5
|
"description": "Sneakoscope Codex (`sks`) is an open-source trust layer for Codex CLI and ChatGPT Desktop. It coordinates bounded AI coding agents, records machine-verifiable evidence, preserves project memory, and blocks release claims that are not supported by current tests or artifacts. Search visibility outcomes are measured separately; SKS does not promise rankings or traffic.",
|
|
6
6
|
"type": "module",
|
|
7
7
|
"homepage": "https://github.com/mandarange/Sneakoscope-Codex#readme",
|
|
@@ -40,7 +40,8 @@
|
|
|
40
40
|
"!dist/scripts/**",
|
|
41
41
|
"dist/scripts/canonical-test-runner.js",
|
|
42
42
|
"dist/scripts/desktop-bridge-transport-client.js",
|
|
43
|
-
"dist/scripts/
|
|
43
|
+
"dist/scripts/release-version-truth-check.js",
|
|
44
|
+
"dist/scripts/{agent-guidance-dedup-check.js,agent-message-bus-reader-check.js,all-feature-deep-completion-check.js,appshots-thread-attachment-discovery-check.js,architecture-guard-check.js,certificate-sla-check.js,check-runtime-schemas.js,cli-output-consistency-check.js,codex-current-app-server-v2-check.js,codex-current-binary-identity-check.js,codex-current-capability-check.js,codex-current-core-real-probes-check.js,codex-current-dependency-check.js,codex-current-policy-check.js,codex-current-thread-store-check.js,codex-agent-role-rich-content-check.js,codex-agent-role-sync-check.js,codex-agent-type-routing-check.js,codex-app-execution-profile-check.js,codex-app-fast-ui-preservation-check.js,codex-app-handoff-check.js,codex-app-handoff-launch-check.js,codex-config-load-probe.js,context-graph-check.js,codex-control-all-pipelines-check.js,codex-control-event-stream-ledger-check.js,codex-control-tool-output-continuity-audit-check.js,desktop-bridge-transport-check.js,desktop-bridge-latency-check.js,desktop-bridge-capabilities-check.js,desktop-bridge-real-evidence-check.js,codex-native-agent-role-content-check.js,codex-native-feature-broker-blackbox.js,codex-native-feature-broker-check.js,codex-native-harness-compat-check.js,codex-native-hook-lifecycle-proof-check.js,codex-native-runtime-e2e-fixture.js,codex-plugin-app-template-policy-check.js,codex-sdk-all-pipelines-check.js,codex-sdk-backend-router-check.js,codex-sdk-capability-check.js,codex-sdk-event-stream-ledger-check.js,codex-sdk-real-smoke-check.js,concurrent-session-collision-check.js,context7-evidence-dedupe-check.js,core-skill-card-schema-check.js,core-skill-deployment-snapshot-check.js,core-skill-heldout-validation-check.js,core-skill-no-inference-optimizer-check.js,core-skill-patch-check.js,core-skill-route-runtime-integration-check.js,current-command-surface-check.js,current-surface-update-e2e-check.js,current-upgrade-matrix-check.js,desktop-bridge-unification-check.js,dfix-fixture-check.js,dfix-patch-handoff-check.js,dfix-verification-check.js,dfix-verification-recommendation-check.js,docs-truthfulness-check.js,doctor-codex-app-harness-check.js,doctor-fix-proves-codex-read-check.js,doctor-fixes-codex-app-fast-ui-check.js,evidence-flagship-coverage-check.js,fast-codex-service-tier-proof-check.js,fixtures/fake-codex-config-loader.js,gate-policy-audit-check.js,geo-claim-evidence-check.js,geo-cli-blackbox-check.js,geo-crawler-policy-check.js,git-worktree-checkpoint-check.js,git-worktree-cross-rebase-check.js,git-worktree-diff-envelope-check.js,git-worktree-dirty-lock-check.js,git-worktree-dirty-main-detection-check.js,git-worktree-integration-primary-check.js,git-worktree-manifest-append-check.js,git-worktree-untracked-diff-check.js,goal-artifact-compat-check.js,harness-benchmark-check.js,helper-dedup-check.js,hook-latency-budget-check.js,image-artifact-path-contract-check.js,imagegen-real-smoke-check.js,init-deep-backup-retention-check.js,installed-package-smoke-check.js,lib/codex-sdk-gate-lib.js,lib/ensure-dist-fresh.js,lib/git-worktree-fixture.js,lib/valid-png-fixture.js,local-collab-all-pipelines-final-gpt-check.js,loop-directive-check-lib.js,loop-integration-finalizer-check.js,loop-worker-fixture-child.js,mad-preflight-blocks-unreadable-config-check.js,mad-sks-app-ui-no-mutation-check.js}",
|
|
44
45
|
"dist/scripts/{latest-version-guidance-check.js,mad-sks-launch-sql-plane-boundary-check.js,mad-sks-sql-plane-capability-check.js,mad-sks-sql-plane-lifecycle-hook-decision-check.js,mad-sks-sql-plane-result-lifecycle-check.js,managed-config-merge-check.js,mcp-plugin-inventory-check.js,model-call-concurrency-check.js,mutation-callsite-analysis.js,mutation-callsite-coverage-check.js,naruto-ssot-gate-aliases-check.js,naruto-ssot-pipeline-default-check.js,naruto-ssot-route-normalization-check.js,naruto-ssot-routing-check.js,naruto-worktree-coding-blackbox.js,native-capability-repair-matrix-check.js,native-image-generation-repair-check.js,official-subagent-workflow-check.js,package-published-contract-check.js,packlist-performance-check.js,pipeline-codex-native-doctor-mad-routing-check.js,pipeline-codex-native-doctor-mad-routing-real-blackbox.js,pipeline-codex-native-image-routing-check.js,pipeline-codex-native-image-routing-real-blackbox.js,pipeline-codex-native-loop-routing-check.js,pipeline-codex-native-loop-routing-real-blackbox.js,pipeline-codex-native-qa-routing-check.js,pipeline-codex-native-qa-routing-real-blackbox.js,pipeline-codex-native-research-routing-check.js,pipeline-codex-native-research-routing-real-blackbox.js,ppt-full-e2e-blackbox-check.js,ppt-real-export-adapter-check.js,ppt-real-imagegen-smoke-check.js,ppt-real-imagegen-wiring-check.js,ppt-reexport-rereview-check.js,prepublish-fast-check.js,publish-preflight.js,prepublish-release-check-or-fast.js,probe-memoization-check.js,product-design-plugin-routing-check.js,prompt-placeholder-guard-check.js,proof-root-cause-policy-check.js,provider-badge-context-check.js,python-codex-sdk-all-pipelines-check.js,qa-loop-app-handoff-capability-check.js,qa-loop-app-handoff-check.js,qa-loop-app-handoff-cli-check.js,qa-loop-app-handoff-confirmation-check.js,qa-loop-app-handoff-gate-lifecycle-check.js,qa-loop-app-handoff-launch-check.js,qa-loop-app-handoff-status-lifecycle-check.js,qa-loop-budget-policy-check.js,qa-loop-effort-escalation-check.js,qa-loop-execution-profile-routing-check.js,qa-loop-image-path-exposure-check.js,qa-loop-image-path-prompt-injection-check.js,release-affected-selector-check.js,release-aggressive-resource-governor-check.js,release-cache-glob-hashing-check.js,release-cache-input-classifier-check.js,release-cache-neutralization-report-check.js,release-cache-version-neutral-fixture-check.js,release-check-stamp.js,release-dynamic-presets-check.js,release-full-parallelism-blackbox.js,release-gate-batch-runner-check.js,release-gate-budget-check.js,release-gate-dag-runner-check.js,release-gate-dag-runner.js,release-latency-slo-check.js,release-metadata-check.js,release-pack-receipt.js,release-parallel-speed-budget-check.js,release-physical-gates-check.js,release-proof-truth-check.js,release-provenance-check.js,release-real-check.js,release-runtime-truth-matrix-check.js,release-speed-summary.js,research-blueprint-densifier-check.js,research-claim-builder-check.js,research-complete-package-fixture-check.js,research-execution-profile-routing-check.js,research-final-reviewer-blackbox.js,responses-retry-policy-centralized-check.js,runtime-proof-summary-check.js,runtime-script-pack-closure-check.js,scheduler-batch-dispatch-check.js,scheduler-parallel-proof-consistency-check.js,scheduler-utilization-integral-check.js,search-visibility-gate-lib.js,secret-preservation-check.js,seo-audit-fixture-check.js,seo-cli-blackbox-check.js,seo-geo-geo-disambiguation-check.js,seo-geo-route-identity-check.js,seo-geo-skill-rich-content-check.js,seo-no-mutation-by-default-check.js,shared-memory-fixture-check.js,side-effect-runtime-report-check.js,skill-name-canonicalizer-check.js,skill-surface-modernization-check.js,skills-manifest-continuity-check.js,sks-cli-gate-lib.js}",
|
|
45
46
|
"dist/scripts/{real-execution-check-lib.js,gate-lib.js,runtime-domain-gate-lib.js,typed-routing-gate-lib.js,codex-native-gate-lib.js,skill-fixture-check-lib.js,sks-uninstall-regression-check.js,sksd-daemon-check.js,super-search-provider-interface-check.js,triwiki-cache-key-check.js,triwiki-proof-bank-blackbox.js,triwiki-proof-bank-check.js,triwiki-proof-card-check.js,trust-fixture-check.js,type-surface-codex-app-check.js,ultra-router-auto-router-check.js,uninstall-inventory-check.js,install-surface-ssot-check.js,ux-review-extract-wires-real-extractor-check.js,ux-review-imagegen-blackbox-check.js,ux-review-patch-diff-recheck-check.js,ux-review-real-imagegen-smoke-check.js,ux-review-run-wires-imagegen-check.js,wrongness-fixture-check.js}",
|
|
46
47
|
"dist/scripts/check-publish-tag.js",
|
|
@@ -54,8 +55,6 @@
|
|
|
54
55
|
"!dist/core/proof/route-finalizer-fixtures.js",
|
|
55
56
|
"!dist/core/release/npm-stage-tarball-verifier.js",
|
|
56
57
|
"!dist/core/release/npm-stage-tarball-verifier-support.js",
|
|
57
|
-
"!dist/vendor/openai-codex/rust-v0.131.0",
|
|
58
|
-
"config/codex-releases/rust-v0.146.0.json",
|
|
59
58
|
"config/installed-public-surface-closure.v1.json",
|
|
60
59
|
"config/competitor-scorecard-baseline.json",
|
|
61
60
|
"config/architecture-budgets.v1.json",
|
|
@@ -65,8 +64,6 @@
|
|
|
65
64
|
"infra-harness-gates.json",
|
|
66
65
|
"runtime-required-scripts.json",
|
|
67
66
|
"schemas",
|
|
68
|
-
"!schemas/codex/app-server-*/**",
|
|
69
|
-
"schemas/codex/app-server-0.146/codex_app_server_protocol.v2.schemas.json",
|
|
70
67
|
"crates/sks-core/Cargo.lock",
|
|
71
68
|
"crates/sks-core/Cargo.toml",
|
|
72
69
|
"crates/sks-core/src",
|
|
@@ -202,7 +199,7 @@
|
|
|
202
199
|
"dependencies": {
|
|
203
200
|
"@modelcontextprotocol/client": "2.0.0",
|
|
204
201
|
"@modelcontextprotocol/server": "2.0.0",
|
|
205
|
-
"@openai/codex-sdk": "0.
|
|
202
|
+
"@openai/codex-sdk": "0.147.0",
|
|
206
203
|
"smol-toml": "^1.7.0",
|
|
207
204
|
"typescript": "^5.9.3"
|
|
208
205
|
},
|
package/release-gates.v2.json
CHANGED
|
@@ -703,6 +703,43 @@
|
|
|
703
703
|
],
|
|
704
704
|
"output_contract": "sks.gate-result.v2"
|
|
705
705
|
},
|
|
706
|
+
{
|
|
707
|
+
"id": "release:version-truth",
|
|
708
|
+
"command": "node ./dist/scripts/release-version-truth-check.js",
|
|
709
|
+
"deps": [],
|
|
710
|
+
"resource": [
|
|
711
|
+
"cpu-light",
|
|
712
|
+
"fs-read"
|
|
713
|
+
],
|
|
714
|
+
"side_effect": "hermetic",
|
|
715
|
+
"timeout_ms": 60000,
|
|
716
|
+
"cache": {
|
|
717
|
+
"enabled": false,
|
|
718
|
+
"inputs": [
|
|
719
|
+
"package.json",
|
|
720
|
+
"package-lock.json",
|
|
721
|
+
"plugins/sks/.codex-plugin/plugin.json",
|
|
722
|
+
"src/core/version.ts",
|
|
723
|
+
"src/core/fsx.ts",
|
|
724
|
+
"src/bin/sks.ts",
|
|
725
|
+
"crates/sks-core/Cargo.toml",
|
|
726
|
+
"crates/sks-core/Cargo.lock",
|
|
727
|
+
"dist/build-manifest.json",
|
|
728
|
+
"CHANGELOG.md",
|
|
729
|
+
"README.md",
|
|
730
|
+
"src/scripts/release-version-truth-check.ts"
|
|
731
|
+
]
|
|
732
|
+
},
|
|
733
|
+
"isolation": {
|
|
734
|
+
"home": "temp",
|
|
735
|
+
"codex_home": "temp",
|
|
736
|
+
"report_dir": "per-gate"
|
|
737
|
+
},
|
|
738
|
+
"preset": [
|
|
739
|
+
"release"
|
|
740
|
+
],
|
|
741
|
+
"output_contract": "sks.gate-result.v2"
|
|
742
|
+
},
|
|
706
743
|
{
|
|
707
744
|
"id": "install-surface:ssot",
|
|
708
745
|
"command": "node ./dist/scripts/install-surface-ssot-check.js",
|
|
@@ -714,7 +751,7 @@
|
|
|
714
751
|
"side_effect": "hermetic",
|
|
715
752
|
"timeout_ms": 60000,
|
|
716
753
|
"cache": {
|
|
717
|
-
"enabled":
|
|
754
|
+
"enabled": false,
|
|
718
755
|
"inputs": [
|
|
719
756
|
"package.json",
|
|
720
757
|
"plugins/sks/.codex-plugin/plugin.json",
|
|
@@ -727,7 +764,7 @@
|
|
|
727
764
|
"report_dir": "per-gate"
|
|
728
765
|
},
|
|
729
766
|
"preset": [
|
|
730
|
-
"
|
|
767
|
+
"release"
|
|
731
768
|
],
|
|
732
769
|
"output_contract": "sks.gate-result.v2"
|
|
733
770
|
},
|
|
@@ -1800,9 +1837,7 @@
|
|
|
1800
1837
|
"src/core/codex-compat/**",
|
|
1801
1838
|
"src/core/codex-runtime/**",
|
|
1802
1839
|
"src/core/codex-app-server/**",
|
|
1803
|
-
"
|
|
1804
|
-
"schemas/codex-*.json",
|
|
1805
|
-
"schemas/codex/**"
|
|
1840
|
+
"schemas/codex-*.json"
|
|
1806
1841
|
]
|
|
1807
1842
|
},
|
|
1808
1843
|
"isolation": {
|
|
@@ -3768,8 +3803,8 @@
|
|
|
3768
3803
|
"output_contract": "sks.gate-result.v2"
|
|
3769
3804
|
},
|
|
3770
3805
|
{
|
|
3771
|
-
"id": "codex:current:
|
|
3772
|
-
"command": "node ./dist/scripts/codex-current-
|
|
3806
|
+
"id": "codex:current:dependency-graph",
|
|
3807
|
+
"command": "node ./dist/scripts/codex-current-dependency-check.js",
|
|
3773
3808
|
"deps": [],
|
|
3774
3809
|
"resource": [
|
|
3775
3810
|
"cpu-light",
|
|
@@ -3785,9 +3820,7 @@
|
|
|
3785
3820
|
"release-gates.v2.json",
|
|
3786
3821
|
"src/core/codex-control/**",
|
|
3787
3822
|
"src/core/codex-compat/**",
|
|
3788
|
-
"src/core/codex-runtime/**"
|
|
3789
|
-
"config/codex-releases/**",
|
|
3790
|
-
"schemas/codex/**"
|
|
3823
|
+
"src/core/codex-runtime/**"
|
|
3791
3824
|
]
|
|
3792
3825
|
},
|
|
3793
3826
|
"isolation": {
|
|
@@ -3804,7 +3837,7 @@
|
|
|
3804
3837
|
"id": "codex:current:binary-identity",
|
|
3805
3838
|
"command": "node ./dist/scripts/codex-current-binary-identity-check.js",
|
|
3806
3839
|
"deps": [
|
|
3807
|
-
"codex:current:
|
|
3840
|
+
"codex:current:dependency-graph"
|
|
3808
3841
|
],
|
|
3809
3842
|
"resource": [
|
|
3810
3843
|
"cpu-light",
|
|
@@ -3837,7 +3870,7 @@
|
|
|
3837
3870
|
"id": "codex:current:policy",
|
|
3838
3871
|
"command": "node ./dist/scripts/codex-current-policy-check.js",
|
|
3839
3872
|
"deps": [
|
|
3840
|
-
"codex:current:
|
|
3873
|
+
"codex:current:dependency-graph"
|
|
3841
3874
|
],
|
|
3842
3875
|
"resource": [
|
|
3843
3876
|
"cpu-light",
|
|
@@ -3868,7 +3901,7 @@
|
|
|
3868
3901
|
"id": "codex:current:app-server-v2",
|
|
3869
3902
|
"command": "node ./dist/scripts/codex-current-app-server-v2-check.js",
|
|
3870
3903
|
"deps": [
|
|
3871
|
-
"codex:current:
|
|
3904
|
+
"codex:current:dependency-graph"
|
|
3872
3905
|
],
|
|
3873
3906
|
"resource": [
|
|
3874
3907
|
"cpu-light",
|
|
@@ -3883,7 +3916,6 @@
|
|
|
3883
3916
|
"release-gates.v2.json",
|
|
3884
3917
|
"src/core/codex-control/**",
|
|
3885
3918
|
"src/core/codex-compat/**",
|
|
3886
|
-
"schemas/codex/app-server-0.146/**",
|
|
3887
3919
|
"src/scripts/codex-current-app-server-v2-check.ts"
|
|
3888
3920
|
]
|
|
3889
3921
|
},
|
|
@@ -3901,7 +3933,7 @@
|
|
|
3901
3933
|
"id": "codex:current:thread-store",
|
|
3902
3934
|
"command": "node ./dist/scripts/codex-current-thread-store-check.js",
|
|
3903
3935
|
"deps": [
|
|
3904
|
-
"codex:current:
|
|
3936
|
+
"codex:current:dependency-graph"
|
|
3905
3937
|
],
|
|
3906
3938
|
"resource": [
|
|
3907
3939
|
"cpu-light",
|
|
@@ -3932,7 +3964,7 @@
|
|
|
3932
3964
|
"id": "codex:current:capability",
|
|
3933
3965
|
"command": "node ./dist/scripts/codex-current-capability-check.js",
|
|
3934
3966
|
"deps": [
|
|
3935
|
-
"codex:current:
|
|
3967
|
+
"codex:current:dependency-graph",
|
|
3936
3968
|
"codex:current:binary-identity",
|
|
3937
3969
|
"codex:current:app-server-v2"
|
|
3938
3970
|
],
|
|
@@ -3950,9 +3982,7 @@
|
|
|
3950
3982
|
"release-gates.v2.json",
|
|
3951
3983
|
"src/core/codex-control/**",
|
|
3952
3984
|
"src/core/codex-compat/**",
|
|
3953
|
-
"src/core/codex-runtime/**"
|
|
3954
|
-
"config/codex-releases/**",
|
|
3955
|
-
"schemas/codex/app-server-0.146/**"
|
|
3985
|
+
"src/core/codex-runtime/**"
|
|
3956
3986
|
]
|
|
3957
3987
|
},
|
|
3958
3988
|
"isolation": {
|
|
@@ -1,45 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"schema": "sks.codex-release-manifest.v1",
|
|
3
|
-
"targetTag": "rust-v0.146.0",
|
|
4
|
-
"requiredCliVersion": "0.146.0",
|
|
5
|
-
"preferredCliVersion": "0.146.0",
|
|
6
|
-
"sdkVersion": "0.146.0",
|
|
7
|
-
"minimumSupportedVersion": "0.146.0",
|
|
8
|
-
"narutoCapabilityFloorVersion": "0.146.0",
|
|
9
|
-
"protocolMode": "app-server-v2",
|
|
10
|
-
"generatedSchemaSha256": "2be4fd32103409b5b4864daaf429f6b61a5e55eb98ca5f63cd43569556b009c8",
|
|
11
|
-
"upstreamCommit": "rust-v0.146.0",
|
|
12
|
-
"featurePolicies": {
|
|
13
|
-
"multiAgentMode": "delegate",
|
|
14
|
-
"multiAgentV2": "delegate",
|
|
15
|
-
"agentsMaxConcurrentThreads": "delegate",
|
|
16
|
-
"indexedWebSearch": "probe",
|
|
17
|
-
"currentTimeRead": "wrap",
|
|
18
|
-
"threadListSearchRead": "probe",
|
|
19
|
-
"pluginCatalogRefresh": "probe",
|
|
20
|
-
"terminalSubagentErrorPropagation": "probe",
|
|
21
|
-
"execMcpTransientRecovery": "probe",
|
|
22
|
-
"remoteNativeEnvironment": "probe",
|
|
23
|
-
"rolloutTokenBudget": "probe",
|
|
24
|
-
"mcpStartupToolTimeouts": "wrap",
|
|
25
|
-
"gpt56TerraLunaSolRouting": "delegate"
|
|
26
|
-
},
|
|
27
|
-
"requiredRealProbes": [
|
|
28
|
-
"runtime_identity",
|
|
29
|
-
"protocol_schema_generation",
|
|
30
|
-
"multi_agent_mode_schema",
|
|
31
|
-
"indexed_web_search_schema",
|
|
32
|
-
"current_time_read_schema",
|
|
33
|
-
"thread_list_search_schema",
|
|
34
|
-
"terminal_error_schema",
|
|
35
|
-
"rollout_budget_schema"
|
|
36
|
-
],
|
|
37
|
-
"supportedPlatforms": [
|
|
38
|
-
"darwin-arm64",
|
|
39
|
-
"darwin-x64",
|
|
40
|
-
"linux-arm64",
|
|
41
|
-
"linux-x64",
|
|
42
|
-
"win32-arm64",
|
|
43
|
-
"win32-x64"
|
|
44
|
-
]
|
|
45
|
-
}
|
|
@@ -1,177 +0,0 @@
|
|
|
1
|
-
import path from 'node:path';
|
|
2
|
-
import { packageRoot, readJson, runProcess, writeJsonAtomic } from '../fsx.js';
|
|
3
|
-
import { managedProxyEnvForChild } from '../codex/managed-proxy-env.js';
|
|
4
|
-
import { agentWorkerEnv, validateAgentWorkerResult } from './agent-worker-pipeline.js';
|
|
5
|
-
import { fastModeEnv, resolveFastModePolicy } from './fast-mode-policy.js';
|
|
6
|
-
import { buildCodexExecArgs } from '../codex/codex-cli-syntax-builder.js';
|
|
7
|
-
import { desktopBridgeLaunchBlockedProcessResult, withDesktopBridgeCliLaunchGuard } from '../codex-control/desktop-bridge-launch-guard.js';
|
|
8
|
-
import { prepareCodexAppServerRuntimeEnv } from '../codex-control/codex-app-server-runtime-env.js';
|
|
9
|
-
export function buildCodexExecAgentArgs(agent, prompt, opts = {}) {
|
|
10
|
-
const resultFile = opts.resultFile || defaultCodexResultFile(agent, opts);
|
|
11
|
-
const sandbox = opts.workspaceWrite ? 'workspace-write' : 'read-only';
|
|
12
|
-
const noMcp = workerNoMcpDefault(agent, opts, sandbox);
|
|
13
|
-
const args = buildCodexExecArgs({
|
|
14
|
-
json: true,
|
|
15
|
-
outputSchema: opts.schemaFile || path.join(packageRoot(), 'schemas/codex/agent-result.schema.json'),
|
|
16
|
-
outputLastMessage: resultFile,
|
|
17
|
-
ephemeral: true,
|
|
18
|
-
skipGitRepoCheck: opts.skipGitRepoCheck !== false,
|
|
19
|
-
profile: opts.profile ? String(opts.profile) : null,
|
|
20
|
-
ignoreUserConfig: !opts.profile,
|
|
21
|
-
noMcp,
|
|
22
|
-
ignoreRules: true,
|
|
23
|
-
sandbox,
|
|
24
|
-
serviceTier: opts.serviceTier || (opts.fastMode === false ? 'standard' : 'fast'),
|
|
25
|
-
prompt
|
|
26
|
-
});
|
|
27
|
-
return {
|
|
28
|
-
resultFile,
|
|
29
|
-
args
|
|
30
|
-
};
|
|
31
|
-
}
|
|
32
|
-
function codexArgsIncludeServiceTier(args, serviceTier) {
|
|
33
|
-
return args.includes('-c') && args.includes(`service_tier=${serviceTier}`);
|
|
34
|
-
}
|
|
35
|
-
function defaultCodexResultFile(agent, opts = {}) {
|
|
36
|
-
const root = opts.agentRoot || opts.cwd || process.cwd();
|
|
37
|
-
const artifactDir = agent.session_artifact_dir || path.join('sessions', agent.id || agent.session_id || 'agent');
|
|
38
|
-
return path.join(root, artifactDir, 'agent-result.json');
|
|
39
|
-
}
|
|
40
|
-
export async function runCodexExecAgent(agent, slice, opts = {}) {
|
|
41
|
-
const fastPolicy = resolveFastModePolicy({ fastMode: opts.fastMode ?? agent.fast_mode, serviceTier: opts.serviceTier ?? agent.service_tier });
|
|
42
|
-
if (opts.outputSchemaSupported === false) {
|
|
43
|
-
return validateAgentWorkerResult({ mission_id: opts.missionId || opts.mission_id || '', agent_id: agent.id, session_id: agent.session_id, persona_id: agent.persona_id || agent.id, task_slice_id: slice?.id || '', status: 'blocked', backend: 'codex-exec', summary: 'Codex exec output schema support was not verified.', artifacts: [], blockers: ['codex_exec_output_schema_unsupported'], unverified: [], writes: [], source_intelligence_refs: agent.source_intelligence_refs || null, goal_mode_ref: agent.goal_mode_ref || null });
|
|
44
|
-
}
|
|
45
|
-
if (opts.dryRun !== false) {
|
|
46
|
-
const command = buildCodexExecAgentArgs(agent, opts.prompt || slice?.description || '', opts);
|
|
47
|
-
const proxyEnv = managedProxyEnvForChild({ ...process.env, ...(opts.env || {}) });
|
|
48
|
-
const report = await writeCodexProcessReport(opts.agentRoot || opts.cwd || process.cwd(), agent, {
|
|
49
|
-
project_hash: opts.projectHash || agent.project_hash || agent.root_hash || null,
|
|
50
|
-
command: [opts.codexBin || 'codex', ...command.args],
|
|
51
|
-
profile: opts.profile || null,
|
|
52
|
-
result_file: command.resultFile,
|
|
53
|
-
service_tier: fastPolicy.service_tier,
|
|
54
|
-
fast_mode: fastPolicy.fast_mode,
|
|
55
|
-
service_tier_passed_to_codex: codexArgsIncludeServiceTier(command.args, fastPolicy.service_tier),
|
|
56
|
-
service_tier_cli_override_present: codexArgsIncludeServiceTier(command.args, fastPolicy.service_tier),
|
|
57
|
-
no_mcp: command.args.includes('--no-mcp'),
|
|
58
|
-
output_schema_used: command.args.includes('--output-schema'),
|
|
59
|
-
output_last_message_path: command.resultFile,
|
|
60
|
-
agent_worker_env_injected: false,
|
|
61
|
-
recursion_guard_env: false,
|
|
62
|
-
managed_proxy_env_keys: Object.keys(proxyEnv).sort(),
|
|
63
|
-
pid: null,
|
|
64
|
-
exit_code: null,
|
|
65
|
-
stdout_log: null,
|
|
66
|
-
stderr_log: null,
|
|
67
|
-
dry_run: true
|
|
68
|
-
});
|
|
69
|
-
return validateAgentWorkerResult({ mission_id: opts.missionId || opts.mission_id || '', agent_id: agent.id, session_id: agent.session_id, persona_id: agent.persona_id || agent.id, task_slice_id: slice?.id || '', status: 'done', backend: 'codex-exec', summary: 'Codex exec command prepared for ' + agent.id + '.', findings: ['codex exec command prepared'], proposed_changes: [], changed_files: [], lease_compliance: { ok: true, violations: [] }, artifacts: [command.resultFile, report], blockers: [], confidence: 'verified_partial', handoff_notes: 'Dry-run did not launch Codex exec.', unverified: ['codex-exec dry-run command was not launched'], writes: [], source_intelligence_refs: agent.source_intelligence_refs || null, goal_mode_ref: agent.goal_mode_ref || null, verification: { status: 'dry_run', checks: ['codex-exec-args-built'] } });
|
|
70
|
-
}
|
|
71
|
-
const command = buildCodexExecAgentArgs(agent, opts.prompt || slice?.description || '', opts);
|
|
72
|
-
const logRoot = path.join(opts.agentRoot || opts.cwd || process.cwd(), agent.session_artifact_dir || path.join('sessions', agent.id));
|
|
73
|
-
const stdoutFile = path.join(logRoot, 'codex-exec.stdout.log');
|
|
74
|
-
const stderrFile = path.join(logRoot, 'codex-exec.stderr.log');
|
|
75
|
-
const allowedCommandsFile = path.join(opts.agentRoot || opts.cwd || process.cwd(), 'agent-allowed-commands.json');
|
|
76
|
-
const workerEnv = agentWorkerEnv(agent, allowedCommandsFile);
|
|
77
|
-
const effectiveEnv = { ...process.env, ...(opts.env || {}) };
|
|
78
|
-
const runtimeEnv = await prepareCodexAppServerRuntimeEnv({ env: effectiveEnv });
|
|
79
|
-
const proxyEnv = managedProxyEnvForChild(runtimeEnv);
|
|
80
|
-
const execute = opts.runProcessImpl || runProcess;
|
|
81
|
-
const guarded = await withDesktopBridgeCliLaunchGuard({
|
|
82
|
-
root: opts.cwd || process.cwd(),
|
|
83
|
-
env: runtimeEnv,
|
|
84
|
-
cliArgs: command.args.slice(0, -1)
|
|
85
|
-
}, (sanitizedEnv) => execute(opts.codexBin || 'codex', command.args, { cwd: opts.cwd || process.cwd(), env: { ...sanitizedEnv, ...proxyEnv, ...fastModeEnv(fastPolicy), ...workerEnv }, timeoutMs: opts.timeoutMs || 30 * 60 * 1000, maxOutputBytes: 256 * 1024, stdoutFile, stderrFile }));
|
|
86
|
-
const result = guarded.launched
|
|
87
|
-
? guarded.value
|
|
88
|
-
: desktopBridgeLaunchBlockedProcessResult(guarded.desktopBridgeLaunchGuard);
|
|
89
|
-
const report = await writeCodexProcessReport(opts.agentRoot || opts.cwd || process.cwd(), agent, {
|
|
90
|
-
project_hash: opts.projectHash || agent.project_hash || agent.root_hash || null,
|
|
91
|
-
command: [opts.codexBin || 'codex', ...command.args],
|
|
92
|
-
profile: opts.profile || null,
|
|
93
|
-
result_file: command.resultFile,
|
|
94
|
-
service_tier: fastPolicy.service_tier,
|
|
95
|
-
fast_mode: fastPolicy.fast_mode,
|
|
96
|
-
service_tier_passed_to_codex: codexArgsIncludeServiceTier(command.args, fastPolicy.service_tier),
|
|
97
|
-
service_tier_cli_override_present: codexArgsIncludeServiceTier(command.args, fastPolicy.service_tier),
|
|
98
|
-
no_mcp: command.args.includes('--no-mcp'),
|
|
99
|
-
output_schema_used: command.args.includes('--output-schema'),
|
|
100
|
-
output_last_message_path: command.resultFile,
|
|
101
|
-
agent_worker_env_injected: Object.keys(workerEnv).length > 0,
|
|
102
|
-
recursion_guard_env: Boolean(workerEnv.SKS_AGENT_SESSION_ID),
|
|
103
|
-
managed_proxy_env_keys: Object.keys(proxyEnv).sort(),
|
|
104
|
-
pid: result.pid || null,
|
|
105
|
-
exit_code: result.code,
|
|
106
|
-
stdout_log: path.relative(opts.agentRoot || opts.cwd || process.cwd(), stdoutFile),
|
|
107
|
-
stderr_log: path.relative(opts.agentRoot || opts.cwd || process.cwd(), stderrFile),
|
|
108
|
-
stdout_tail: result.stdout,
|
|
109
|
-
stderr_tail: result.stderr,
|
|
110
|
-
stdout_bytes: result.stdoutBytes,
|
|
111
|
-
stderr_bytes: result.stderrBytes,
|
|
112
|
-
truncated: result.truncated,
|
|
113
|
-
timed_out: result.timedOut,
|
|
114
|
-
desktop_bridge_launch_guard: guarded.desktopBridgeLaunchGuard,
|
|
115
|
-
dry_run: false
|
|
116
|
-
});
|
|
117
|
-
if (result.code === 0) {
|
|
118
|
-
const parsed = await readJson(command.resultFile, null).catch(() => null);
|
|
119
|
-
if (parsed) {
|
|
120
|
-
const validated = validateAgentWorkerResult({
|
|
121
|
-
...parsed,
|
|
122
|
-
mission_id: parsed.mission_id || opts.missionId || opts.mission_id || '',
|
|
123
|
-
agent_id: parsed.agent_id || agent.id,
|
|
124
|
-
session_id: parsed.session_id || agent.session_id,
|
|
125
|
-
persona_id: parsed.persona_id || agent.persona_id || agent.id,
|
|
126
|
-
task_slice_id: parsed.task_slice_id || slice?.id || '',
|
|
127
|
-
backend: 'codex-exec',
|
|
128
|
-
patch_envelopes: normalizeCodexRuntimePatchEnvelopes(parsed.patch_envelopes, { childPid: Number.isFinite(Number(result.pid)) ? Number(result.pid) : null, workerPid: process.pid, fastPolicy }),
|
|
129
|
-
source_intelligence_refs: parsed.source_intelligence_refs || agent.source_intelligence_refs || null,
|
|
130
|
-
goal_mode_ref: parsed.goal_mode_ref || agent.goal_mode_ref || null,
|
|
131
|
-
artifacts: [...(Array.isArray(parsed.artifacts) ? parsed.artifacts : []), command.resultFile, report],
|
|
132
|
-
verification: { status: parsed.verification?.status || 'passed', checks: [...(Array.isArray(parsed.verification?.checks) ? parsed.verification.checks : []), 'codex-exec-output-last-message', 'agent-result-schema'] }
|
|
133
|
-
});
|
|
134
|
-
if (!validated.blockers.some((blocker) => blocker.startsWith('schema_invalid:')))
|
|
135
|
-
return validated;
|
|
136
|
-
return { ...validated, status: 'blocked', blockers: [...validated.blockers, 'codex_exec_result_schema_invalid'] };
|
|
137
|
-
}
|
|
138
|
-
}
|
|
139
|
-
return validateAgentWorkerResult({ mission_id: opts.missionId || opts.mission_id || '', agent_id: agent.id, session_id: agent.session_id, persona_id: agent.persona_id || agent.id, task_slice_id: slice?.id || '', status: result.code === 0 ? 'done' : 'failed', backend: 'codex-exec', summary: result.stdout.slice(-1000) || result.stderr.slice(-1000), artifacts: [command.resultFile, report], blockers: result.code === 0 ? ['codex_exec_output_last_message_missing_or_invalid'] : [...(guarded.launched ? [] : guarded.desktopBridgeLaunchGuard.blockers), 'codex_exec_exit_' + result.code], confidence: 'verified_partial', unverified: result.code === 0 ? ['codex-exec stdout fallback; resultFile JSON missing or invalid'] : [], writes: [], source_intelligence_refs: agent.source_intelligence_refs || null, goal_mode_ref: agent.goal_mode_ref || null, codex_child_report: { desktop_bridge_launch_guard: guarded.desktopBridgeLaunchGuard }, verification: { status: result.code === 0 ? 'partial' : 'failed', checks: ['codex-exec-exit-code', 'codex-exec-process-report', 'codex-exec-output-last-message'] } });
|
|
140
|
-
}
|
|
141
|
-
function workerNoMcpDefault(agent, opts = {}, sandbox = 'read-only') {
|
|
142
|
-
if (opts.noMcp !== undefined)
|
|
143
|
-
return opts.noMcp !== false;
|
|
144
|
-
if (sandbox === 'read-only')
|
|
145
|
-
return true;
|
|
146
|
-
const roleText = [
|
|
147
|
-
agent?.role,
|
|
148
|
-
agent?.persona_id,
|
|
149
|
-
agent?.required_role,
|
|
150
|
-
agent?.kind,
|
|
151
|
-
opts.role,
|
|
152
|
-
opts.kind
|
|
153
|
-
].map((value) => String(value || '')).join(' ');
|
|
154
|
-
if (/\b(?:verify|verifier|verification|review|reviewer|qa|audit|read[-_ ]?only)\b/i.test(roleText))
|
|
155
|
-
return true;
|
|
156
|
-
const safeList = Array.isArray(opts.workerSafeMcpServers)
|
|
157
|
-
? opts.workerSafeMcpServers
|
|
158
|
-
: String(process.env.SKS_WORKER_SAFE_MCP_SERVERS || '').split(',').map((item) => item.trim()).filter(Boolean);
|
|
159
|
-
return !(opts.allowWorkerMcp === true && safeList.length > 0);
|
|
160
|
-
}
|
|
161
|
-
async function writeCodexProcessReport(root, agent, report) {
|
|
162
|
-
const rel = path.join(agent.session_artifact_dir || path.join('sessions', agent.id), 'agent-process-report.json');
|
|
163
|
-
await writeJsonAtomic(path.join(root, rel), { schema: 'sks.agent-process-report.v1', backend: 'codex-exec', agent_id: agent.id, session_id: agent.session_id, service_tier: report.service_tier || agent.service_tier || 'fast', fast_mode: report.fast_mode !== false, ...report });
|
|
164
|
-
return rel;
|
|
165
|
-
}
|
|
166
|
-
function normalizeCodexRuntimePatchEnvelopes(envelopes, input) {
|
|
167
|
-
if (!Array.isArray(envelopes))
|
|
168
|
-
return envelopes;
|
|
169
|
-
return envelopes.map((envelope) => ({
|
|
170
|
-
...envelope,
|
|
171
|
-
source: 'model_authored',
|
|
172
|
-
...(Number.isFinite(Number(input.childPid)) ? { backend_child_process_id: Number(input.childPid) } : {}),
|
|
173
|
-
...(Number.isFinite(Number(input.workerPid)) ? { worker_process_id: Number(input.workerPid), native_cli_process_id: Number(input.workerPid) } : {}),
|
|
174
|
-
fast_mode: input.fastPolicy.fast_mode,
|
|
175
|
-
service_tier: input.fastPolicy.service_tier
|
|
176
|
-
}));
|
|
177
|
-
}
|
|
@@ -1,72 +0,0 @@
|
|
|
1
|
-
import path from 'node:path';
|
|
2
|
-
import { packageRoot, readJson, readText, sha256 } from '../fsx.js';
|
|
3
|
-
export const CODEX_RELEASE_MANIFEST_SCHEMA = 'sks.codex-release-manifest.v1';
|
|
4
|
-
export const CURRENT_CODEX_RELEASE_MANIFEST = {
|
|
5
|
-
schema: CODEX_RELEASE_MANIFEST_SCHEMA,
|
|
6
|
-
targetTag: 'rust-v0.146.0',
|
|
7
|
-
requiredCliVersion: '0.146.0',
|
|
8
|
-
preferredCliVersion: '0.146.0',
|
|
9
|
-
sdkVersion: '0.146.0',
|
|
10
|
-
minimumSupportedVersion: '0.146.0',
|
|
11
|
-
narutoCapabilityFloorVersion: '0.146.0',
|
|
12
|
-
protocolMode: 'app-server-v2',
|
|
13
|
-
generatedSchemaSha256: '2be4fd32103409b5b4864daaf429f6b61a5e55eb98ca5f63cd43569556b009c8',
|
|
14
|
-
upstreamCommit: 'rust-v0.146.0',
|
|
15
|
-
featurePolicies: {
|
|
16
|
-
multiAgentMode: 'delegate',
|
|
17
|
-
multiAgentV2: 'delegate',
|
|
18
|
-
agentsMaxConcurrentThreads: 'delegate',
|
|
19
|
-
indexedWebSearch: 'probe',
|
|
20
|
-
currentTimeRead: 'wrap',
|
|
21
|
-
threadListSearchRead: 'probe',
|
|
22
|
-
pluginCatalogRefresh: 'probe',
|
|
23
|
-
terminalSubagentErrorPropagation: 'probe',
|
|
24
|
-
execMcpTransientRecovery: 'probe',
|
|
25
|
-
remoteNativeEnvironment: 'probe',
|
|
26
|
-
rolloutTokenBudget: 'probe',
|
|
27
|
-
mcpStartupToolTimeouts: 'wrap',
|
|
28
|
-
gpt56TerraLunaSolRouting: 'delegate'
|
|
29
|
-
},
|
|
30
|
-
requiredRealProbes: [
|
|
31
|
-
'runtime_identity',
|
|
32
|
-
'protocol_schema_generation',
|
|
33
|
-
'multi_agent_mode_schema',
|
|
34
|
-
'indexed_web_search_schema',
|
|
35
|
-
'current_time_read_schema',
|
|
36
|
-
'thread_list_search_schema',
|
|
37
|
-
'terminal_error_schema',
|
|
38
|
-
'rollout_budget_schema'
|
|
39
|
-
],
|
|
40
|
-
supportedPlatforms: [
|
|
41
|
-
'darwin-arm64',
|
|
42
|
-
'darwin-x64',
|
|
43
|
-
'linux-arm64',
|
|
44
|
-
'linux-x64',
|
|
45
|
-
'win32-arm64',
|
|
46
|
-
'win32-x64'
|
|
47
|
-
]
|
|
48
|
-
};
|
|
49
|
-
export const NARUTO_REQUIRED_CODEX_VERSION = CURRENT_CODEX_RELEASE_MANIFEST.narutoCapabilityFloorVersion;
|
|
50
|
-
export function currentCodexReleaseManifestPath(root = packageRoot()) {
|
|
51
|
-
return path.join(root, 'config', 'codex-releases', `${CURRENT_CODEX_RELEASE_MANIFEST.targetTag}.json`);
|
|
52
|
-
}
|
|
53
|
-
export async function loadCurrentCodexReleaseManifest(root = packageRoot()) {
|
|
54
|
-
return await readJson(currentCodexReleaseManifestPath(root));
|
|
55
|
-
}
|
|
56
|
-
export async function codexReleaseManifestParity(root = packageRoot()) {
|
|
57
|
-
const file = await loadCurrentCodexReleaseManifest(root);
|
|
58
|
-
const mismatches = [];
|
|
59
|
-
for (const key of Object.keys(CURRENT_CODEX_RELEASE_MANIFEST)) {
|
|
60
|
-
if (JSON.stringify(file[key]) !== JSON.stringify(CURRENT_CODEX_RELEASE_MANIFEST[key])) {
|
|
61
|
-
mismatches.push(String(key));
|
|
62
|
-
}
|
|
63
|
-
}
|
|
64
|
-
const text = await readText(currentCodexReleaseManifestPath(root));
|
|
65
|
-
return {
|
|
66
|
-
ok: mismatches.length === 0,
|
|
67
|
-
mismatches,
|
|
68
|
-
manifest: file,
|
|
69
|
-
manifest_path: currentCodexReleaseManifestPath(root),
|
|
70
|
-
manifest_sha256: sha256(text)
|
|
71
|
-
};
|
|
72
|
-
}
|