@hasna/skills 0.10.90 → 0.10.91

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 CHANGED
@@ -1919,6 +1919,14 @@ execution grants; selection sync does not distribute or implicitly approve them.
1919
1919
  The CLI validates the complete binding before fetching values through
1920
1920
  `@hasna/secrets`. It resolves current values for each run, checks returned keys
1921
1921
  and expiry, and injects only the declared variables into the child process.
1922
+ `@hasna/secrets` is an optional dependency: an install with access to it gets it
1923
+ automatically, and an install without that access, such as an anonymous one,
1924
+ refuses vault bindings and says to install `@hasna/secrets` with access to it.
1925
+ Skills loads it only when a binding needs it; nothing else depends on it.
1926
+ Measured with npm 11.16.0 and 11.19.0: an npm install without access to
1927
+ `@hasna/secrets` can't use `npm ci` against a lock written without that access,
1928
+ because npm leaves the refused optional package out of the lock and `npm ci`
1929
+ then refuses the lock as out of sync. Use `npm install` or bun there.
1922
1930
  Missing, extra, stale or mismatched bindings refuse execution; a failing vault
1923
1931
  read never falls back to an ambient value or a local vault. Wrapping `skills run`
1924
1932
  in `secrets exec` alone does not bind a declared variable. Runtime controls such
@@ -2014,9 +2022,10 @@ fails rather than acting as a different principal.
2014
2022
  `HASNA_SKILLS_API_KEY_REF` names a *vault item*, not a key, so it resolves in two
2015
2023
  steps: the item is fetched through the `@hasna/secrets` SDK on each call, which
2016
2024
  means a rotated item is picked up without a restart — and which means the SDK has
2017
- to be installed in the process. Every way that fetch can fail (SDK absent, vault
2018
- unreachable, item missing or empty) is terminal and exits non-zero; a pointer
2019
- never falls through to another tier, and never to the local corpus.
2025
+ to be installed in the process. It is an optional dependency that only an install
2026
+ with access to `@hasna/secrets` receives. Every way that fetch can fail (SDK
2027
+ absent, vault unreachable, item missing or empty) is terminal and exits non-zero;
2028
+ a pointer never falls through to another tier, and never to the local corpus.
2020
2029
 
2021
2030
  For a durable reference without a raw Skills key, the same
2022
2031
  `HASNA_SKILLS_API_KEY_REF` field can be stored in the owner-only canonical or