@hasna/skills 0.10.14 → 0.10.16
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 +49 -4
- package/bin/index.js +4961 -4412
- package/bin/mcp.js +664 -502
- package/bin/migrate.js +1 -1
- package/bin/server.js +1 -1
- package/bin/worker.js +1 -1
- package/dist/index.d.ts +3 -1
- package/dist/index.js +4193 -3563
- package/dist/lib/agent-discovery.d.ts +1 -1
- package/dist/lib/agent-integration.d.ts +40 -0
- package/dist/lib/claude-settings-witness.d.ts +4 -1
- package/dist/lib/codex-hook-rpc.d.ts +2 -1
- package/dist/lib/codex-native-skill-catalog.d.ts +36 -0
- package/dist/lib/codex-plugin-skill-controls.d.ts +16 -0
- package/dist/lib/codex-settings-witness.d.ts +12 -0
- package/dist/lib/hook-diagnostics.d.ts +2 -0
- package/dist/sdk/index.js +2152 -1528
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -450,6 +450,41 @@ Settings and policy are separate files: this is a guarded sequence with
|
|
|
450
450
|
compensation, not a cross-file atomic commit. A concurrent hook can fail closed
|
|
451
451
|
during installation. A successful update does not reload an existing session.
|
|
452
452
|
|
|
453
|
+
Legacy full-file settings witnesses remain strict until explicitly upgraded:
|
|
454
|
+
|
|
455
|
+
```bash
|
|
456
|
+
skills hook rebind-settings --agent codex \
|
|
457
|
+
--reviewed-preimage /private/preserved/config.toml \
|
|
458
|
+
--expected-policy-sha256 <current-policy-sha256> \
|
|
459
|
+
--expected-settings-sha256 <current-settings-sha256> --json
|
|
460
|
+
```
|
|
461
|
+
|
|
462
|
+
The plan proves the preserved original matches the old witness, permits only
|
|
463
|
+
supported preference differences, and labels the replacement witness. `--apply`
|
|
464
|
+
preserves and reads back the original policy before writing. Claude upgrades to
|
|
465
|
+
`claude-settings-v3`; Codex uses `codex-settings-v1` for typed model, effort and
|
|
466
|
+
verbosity preferences. Provider mappings, environment, hooks, plugins, skill rules
|
|
467
|
+
and all unknown settings stay bound. Runtime hooks never silently upgrade a witness.
|
|
468
|
+
|
|
469
|
+
A reviewed Codex 0.159.2 native `skills/list` receipt can be passed to `hook install`
|
|
470
|
+
with `--codex-native-catalog <file>`. Its safe shape is `{version,cwd,skills}`;
|
|
471
|
+
each skill has `{name,path,enabled,pluginId}`. The installer matches the native
|
|
472
|
+
qualified name against a bounded explicit frontmatter name and owning plugin
|
|
473
|
+
manifest. It preserves path disables and adds exact qualified name disables.
|
|
474
|
+
Known skill identities remain disabled across versioned plugin cache relocation,
|
|
475
|
+
even when their disabled bodies change. Unknown names, conflicting enables,
|
|
476
|
+
changed plugin controls, native hooks and unsupported name syntax still refuse.
|
|
477
|
+
Only manifest version metadata may vary. Reviewed app declarations use the implicit
|
|
478
|
+
`.app.json` or explicit `./.app.json`, with a bounded `apps` map containing connector
|
|
479
|
+
`id`, optional `category`, and optional boolean `required`. The entire canonical app
|
|
480
|
+
file and its presence stay bound; it preserves existing connector availability and
|
|
481
|
+
native capability hints. Changed or unknown app fields, custom references, native
|
|
482
|
+
hooks, commands and MCP controls refuse. Name controls suppress Skills, not every
|
|
483
|
+
plugin capability. No prompt hook starts an app server to obtain this receipt: native
|
|
484
|
+
startup can maintain caches. Capture it through an authorized isolated consumer.
|
|
485
|
+
Neither a receipt nor a config write proves an existing session adopted new rules;
|
|
486
|
+
use the actual native session's supported acceptance path separately.
|
|
487
|
+
|
|
453
488
|
At session start, the hook authenticates and refreshes the profile. Prompt hooks
|
|
454
489
|
select complete skill instructions from that verified cache using explicit
|
|
455
490
|
`$skill` references, profile keywords, paths and always-required selections.
|
|
@@ -461,10 +496,20 @@ receipt expires, the hook authenticates the current profile. If every loaded
|
|
|
461
496
|
selection still has identical metadata and bundle digest, it archives the old
|
|
462
497
|
receipt and advances that session to the current profile under an exact receipt
|
|
463
498
|
precondition. Unloaded selections may be added or removed. If a loaded selection
|
|
464
|
-
changed or disappeared,
|
|
465
|
-
below. A missing cache may be recovered through authenticated context.
|
|
466
|
-
|
|
467
|
-
|
|
499
|
+
changed or disappeared, no instructions are delivered until the explicit
|
|
500
|
+
reconciliation below. A missing cache may be recovered through authenticated context.
|
|
501
|
+
|
|
502
|
+
After verifying the native bridge and input, ordinary lifecycle hooks continue
|
|
503
|
+
without skill payload on typed hosted authentication/refusal/availability failures,
|
|
504
|
+
context timeouts, valid concurrent writers, context CAS conflicts, or required
|
|
505
|
+
session reconciliation. They emit a fixed warning that Skills-dependent actions
|
|
506
|
+
are unavailable; previously loaded instructions are not an authorization fallback.
|
|
507
|
+
The hook does not rewrite a session pin or remove another writer’s lock to bypass these refusals. Explicit `skills
|
|
508
|
+
load`, `skills context`, and `skills run` still refuse unavailable or unauthorized
|
|
509
|
+
instructions. Native skill tool guards still deny unmanaged payloads. Invalid
|
|
510
|
+
input/receipts, integrity or authority mismatches, unknown failures, and native
|
|
511
|
+
discovery/control violations remain blocking. No failure silently switches to a
|
|
512
|
+
local catalog, native skill or stale bundle.
|
|
468
513
|
|
|
469
514
|
An intentional change to a loaded selection or profile identity for an already
|
|
470
515
|
running session uses a separate reviewed operation. `sync` and hook
|