@hasna/skills 0.10.62 → 0.10.64
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 +67 -0
- package/bin/index.js +3127 -2024
- package/bin/mcp.js +1682 -723
- package/bin/migrate.js +1 -1
- package/bin/server.js +1 -1
- package/bin/worker.js +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.js +2057 -1001
- package/dist/lib/agent-discovery.d.ts +29 -2
- package/dist/lib/agent-integration.d.ts +33 -1
- package/dist/lib/codex-plugin-skill-controls.d.ts +9 -0
- package/dist/lib/codex-semantic-cache-witness.d.ts +57 -0
- package/dist/lib/codex-settings-witness.d.ts +14 -0
- package/dist/lib/retained-review-artifacts.d.ts +35 -0
- package/dist/runtime-prerequisites.js +59 -3
- package/dist/sdk/index.js +2357 -1303
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -560,6 +560,47 @@ the managed policy, so the witness is a tripwire, not a security boundary. See
|
|
|
560
560
|
A stronger witness for plugins outside receipt-backed admission is planned and
|
|
561
561
|
not yet implemented.
|
|
562
562
|
|
|
563
|
+
Captured review catalogs are immutable evidence, while configuration and plugin
|
|
564
|
+
files remain live discovery inputs. To retain a captured Codex native catalog,
|
|
565
|
+
explicitly add `reviewArtifacts` to its Codex entry in `--discovery-inputs`:
|
|
566
|
+
|
|
567
|
+
```json
|
|
568
|
+
"reviewArtifacts": [{
|
|
569
|
+
"kind": "codex-native-catalog",
|
|
570
|
+
"path": "/absolute/private/reviewed-catalog.json",
|
|
571
|
+
"sha256": "<exact original file SHA-256>"
|
|
572
|
+
}]
|
|
573
|
+
```
|
|
574
|
+
|
|
575
|
+
The same path and digest must already be a full byte witness in `sources`.
|
|
576
|
+
The normal read-only install plan validates the catalog using its owning schema;
|
|
577
|
+
apply retains its exact bytes privately under the resolved Skills data directory
|
|
578
|
+
at `agent-discovery/artifacts/<sha256>/catalog.json` before changing the policy.
|
|
579
|
+
The stored witness includes the original path, byte digest and projected catalog
|
|
580
|
+
digest. Later hooks verify the retained bytes and permissions, so removal of the
|
|
581
|
+
original scratch copy cannot break discovery. Live native roots, configuration,
|
|
582
|
+
plugin files and trust still require their original witnesses; retention does
|
|
583
|
+
not refresh or exempt them. No artifact is inferred from a filename.
|
|
584
|
+
|
|
585
|
+
For an existing reviewed policy, plan one exact legacy witness migration:
|
|
586
|
+
|
|
587
|
+
```bash
|
|
588
|
+
skills hook retain-review-artifact --kind codex-native-catalog \
|
|
589
|
+
--source /absolute/private/reviewed-catalog.json \
|
|
590
|
+
--expected-policy-sha256 <current-policy-byte-sha256> \
|
|
591
|
+
--expected-source-sha256 <original-reviewed-byte-sha256> --json
|
|
592
|
+
```
|
|
593
|
+
|
|
594
|
+
Run from the same reviewed project directory; add `--apply` to execute that
|
|
595
|
+
guarded transaction. It requires the original bytes to exist and all current
|
|
596
|
+
bridge, discovery and trust checks to pass. Missing originals need exact recovery
|
|
597
|
+
first; this command never captures a replacement catalog or rehashes a changed
|
|
598
|
+
source. Apply preserves and reads back the old policy, leaves the original source
|
|
599
|
+
and session pins intact, and records retention lineage in the transaction
|
|
600
|
+
receipt. Existing sources without an explicit declaration keep their live-path
|
|
601
|
+
semantics. Immutable files left by a compensated transaction are retained and
|
|
602
|
+
may be reused only after exact verification.
|
|
603
|
+
|
|
563
604
|
When `hook install` omits `--discovery-inputs`, it reuses an existing reviewed
|
|
564
605
|
binding only after rechecking its sources, directory membership, configuration
|
|
565
606
|
coverage, managed bridge and native trust. Unchanged reviews need no new input
|
|
@@ -2718,3 +2759,29 @@ capture as well, so the re-pinned review must bind the catalog another way, such
|
|
|
2718
2759
|
as an exact `bytes` witness, until a reviewed version of this mode covers the
|
|
2719
2760
|
key. There is no bypass, ignore list or relaxed mode. See
|
|
2720
2761
|
[marketplace plugin entry witness](docs/plugin-admission.md#marketplace-plugin-entry-witness).
|
|
2762
|
+
|
|
2763
|
+
|
|
2764
|
+
`codex-settings-v5` explicitly projects only schema-valid string vectors at the
|
|
2765
|
+
document-root `tui.status_line` field, including empty, unknown and future display
|
|
2766
|
+
IDs, additions, removal and reordering. OpenAI Codex 0.162.1 declares this field
|
|
2767
|
+
as `Option<Vec<String>>`: its UI parser displays known items and ignores/warns
|
|
2768
|
+
about unknown strings, without executing commands or loading discovery inputs.
|
|
2769
|
+
There is no ID whitelist or entry-count cap; existing whole-file and parser
|
|
2770
|
+
resource guards still apply. Malformed values, nonstrings, profile/nested fields,
|
|
2771
|
+
other TUI fields and discovery controls remain bound. This verified upstream
|
|
2772
|
+
contract does not approve a different native consumer's interpretation.
|
|
2773
|
+
V5 retains V4's availability-count contract and V3's supported ordinary local MCP
|
|
2774
|
+
projection. Existing byte/V1/V2/V3/V4 reviews retain their exact meaning.
|
|
2775
|
+
|
|
2776
|
+
Capture with `skills hook witness --kind codex-settings-v5 --path <config.toml>`.
|
|
2777
|
+
Upgrade with `skills hook rebind-settings --agent codex --codex-witness-version 5
|
|
2778
|
+
--reviewed-preimage <preserved-config.toml> --expected-policy-sha256 <policy-hash>
|
|
2779
|
+
--expected-settings-sha256 <settings-hash>`. Review before adding `--apply`. The
|
|
2780
|
+
preserved config must first match its original digest under its original mode;
|
|
2781
|
+
all changes outside V5 refuse. The guarded upgrade changes policy only, preserves
|
|
2782
|
+
native settings, other witnesses and session pins, and revalidates before apply.
|
|
2783
|
+
|
|
2784
|
+
|
|
2785
|
+
Codex cache witnesses migrate separately through `skills hook rebind-cache --agent codex`. Preview requires the exact current policy and configuration SHA-256 values. Name each reviewed remote app-only parent with `--app-only-parent`; skill-bearing parents must already have enrolled qualified-name denies and semantic capability controls. The complete cache census refuses unknown parents, cache-member aliases, new skills, direct hooks selecting cache inputs, and changed app/MCP/receipt capabilities. Reviewed whole Codex root aliases keep their existing identity/CAS guards; hook selection through either the alias or canonical cache path is refused. Commands containing the direct `plugins/cache` selector are conservatively refused, including HOME, tilde and relative spellings; no shell evaluation is performed. App-only bootstrap verifies the old full manifest and receipt sources, then explicitly reviews current app capabilities; it does not claim those app bytes were historically witnessed.
|
|
2786
|
+
|
|
2787
|
+
Review the returned semantic cache digest, then repeat with `--expected-cache-witness-sha256 <digest> --apply`. The owning apply path preserves/readbacks the original policy, recomputes the whole plan, compares policy/config/cache preimages, writes only the Skills policy, and verifies the resulting consumer. Historical directory hashes and source rows remain retained as provenance; this command cannot reconstruct an unavailable old directory tree or waive an ancestor directory containing unrelated inputs. Equivalent version materializations and inert assets then leave the new Codex-specific witness unchanged. Every other discovery source, directory, settings witness, native control and session pin stays under its existing contract. Settings and cache upgrades remain independent; neither silently repairs drift in the other.
|