@ai-ecoverse/wasi-fnox 1.45.0-2 → 1.46.0-2

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
@@ -1,6 +1,6 @@
1
1
  # @ai-ecoverse/wasi-fnox
2
2
 
3
- [fnox](https://fnox.jdx.dev) 1.45 for [slicc](https://github.com/ai-ecoverse/slicc)'s kernel: a WASI preview1 command, `fnox`, built from upstream jdx/fnox v1.45.0 with [homescoop's patch series](https://github.com/ai-ecoverse/homescoop/tree/main/packages/wasi-fnox) (`NNNN-*.patch`, listed in `recipe.yaml`). The patches are carried by homescoop, not upstreamed.
3
+ [fnox](https://fnox.jdx.dev) 1.46 for [slicc](https://github.com/ai-ecoverse/slicc)'s kernel: a WASI preview1 command, `fnox`, built from upstream jdx/fnox v1.46.0 with [homescoop's patch series](https://github.com/ai-ecoverse/homescoop/tree/main/packages/wasi-fnox) (`NNNN-*.patch`, listed in `recipe.yaml`). The patches are carried by homescoop, not upstreamed.
4
4
 
5
5
  ## In seven
6
6
 
@@ -22,11 +22,11 @@ Seven's vault holds the secret values, and fnox keeps only placeholders. The vau
22
22
  - **`fnox proxy rules --json`:** prints a project's rules as proposals.
23
23
  - **`fnox check`:** asks the vault about each sealed record.
24
24
  - **`fnox deactivate`:** removes the shell hooks and the `fnox` function even if the binary is gone (since 1.42.1), as upstream.
25
- - **Refused:** `as_file` secrets, `sync`, `reencrypt`, `fnox edit`, `fnox files`, and `fnox set|get --file` (use `fnox set` / `fnox get`).
25
+ - **Refused:** `as_file` secrets, `sync`, `reencrypt`, `fnox edit`, `fnox files`, `fnox set|get --file` (use `fnox set` / `fnox get`), and since 1.46.0 proxy rules that name a `lease` (native short-lived credentials).
26
26
  - **age:** decrypting an age secret isn't supported yet (slicc-vault#2). Encrypting to age recipients works.
27
27
  - **Other providers:** only `sealed`, `age` and `plain` are built. Values from `plain` are passed on with a warning.
28
28
  - **Templates:** a secret's `default` and a provider's string fields can use `{{ fnox.profile }}` and `{{ fnox.profiles }}` (Tera, since 1.41), as upstream. A sealed secret's `value`, its placeholder, is never rendered.
29
- - **Not in this build:** leases (including managed identity for `azure-token`), the daemon, the TUI, the MCP server (including `request_secret`), secret-file write paths, and Lua provider plugins (`fnox plugin`).
29
+ - **Not in this build:** leases (including managed identity for `azure-token`), `fnox push` and push targets (since 1.46.0), the daemon, the TUI, the MCP server (including `request_secret`), secret-file write paths, and Lua provider plugins (`fnox plugin`).
30
30
 
31
31
  It needs slicc-kernel 1.175.0 or later (`engines`): `/dev/sealed` arrived in slicc-kernel 1.68.0 (KS-2), the exec tickets that `fnox exec` redeems in slicc-kernel 1.83.0 (KS-8), and the `ask` op that the vault dialog of `fnox set` uses in slicc-kernel 1.175.0. On an older kernel the dialog fails with `seven: /dev/sealed refused ask: EINVAL`, and a piped `fnox set` still works.
32
32
 
@@ -36,7 +36,7 @@ Without `/dev/sealed`, every sealed operation fails with `not running in seven:
36
36
 
37
37
  fnox is MIT (see `LICENSE`). `THIRD-PARTY-NOTICES.md` lists the crates, Rust's standard library and wasi-libc that `bin/fnox.wasm` links.
38
38
 
39
- ## WASI support for fnox 1.45
39
+ ## WASI support for fnox 1.46
40
40
 
41
41
  `fnox exec --only` and `--except` retain upstream filtering: excluded providers are not resolved, dependencies are resolved without being exported, and excluded configured values are not injected. Inherited environment variables retain their original values unless the child plan replaces or removes them; these flags do not clear the environment. The WASI child starts from the environment captured before resolution, so a resolved interpolation dependency cannot enter it through process-environment mutation. Sealed selections still use the kernel ticket path.
42
42
 
@@ -45,3 +45,5 @@ Exec output redaction uses helper threads upstream. This WASI build refuses `--r
45
45
  The new OAuth2, GitLab, Tailscale and Kubernetes lease backends are compiled out with the existing lease backends. `audit`, `scan --values` and `set --generate` retain upstream behavior: audit records names, scan sees sealed placeholders, and generated secrets are created inside fnox before storage (`--show` explicitly prints generated values). Staged scanning and hook installation use native process execution and are unavailable on WASI.
46
46
 
47
47
  Since 1.45.0, upstream secret files (`[files]`, `fnox files`, `set|get|edit --file`) and the MCP `request_secret` one-time page need native HTTP, tempfile and editor paths. This build refuses those commands and flags before they run; the MCP module and the native proxy HTTP stack stay compiled out.
48
+
49
+ Since 1.46.0, upstream `fnox push` (CI and hosting secret stores), proxy lease credentials, and the `[files]` sync cache need native HTTP, CLIs and helper threads. This build compiles `push` and `push_targets` out, refuses proxy rules that name a `lease`, and keeps `sync` refused; port-specific `allow_private` entries still validate in the WASI proxy stub.
@@ -53952,7 +53952,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
53952
53952
  THE SOFTWARE.
53953
53953
  ```
53954
53954
 
53955
- ## usage-argv 7.1.3 (MIT)
53955
+ ## usage-argv 7.1.4 (MIT)
53956
53956
 
53957
53957
  ```text
53958
53958
  # Third-party notices
@@ -54176,7 +54176,7 @@ The Apache-2.0 option is available upstream at
54176
54176
  <https://github.com/withoutboats/heck/blob/master/LICENSE-APACHE>.
54177
54177
  ```
54178
54178
 
54179
- ## usage-config 7.1.3 (MIT)
54179
+ ## usage-config 7.1.4 (MIT)
54180
54180
 
54181
54181
  ```text
54182
54182
  # Third-party notices
@@ -54400,7 +54400,7 @@ The Apache-2.0 option is available upstream at
54400
54400
  <https://github.com/withoutboats/heck/blob/master/LICENSE-APACHE>.
54401
54401
  ```
54402
54402
 
54403
- ## usage-derive 7.1.3 (MIT)
54403
+ ## usage-derive 7.1.4 (MIT)
54404
54404
 
54405
54405
  ```text
54406
54406
  # Third-party notices
@@ -54624,7 +54624,7 @@ The Apache-2.0 option is available upstream at
54624
54624
  <https://github.com/withoutboats/heck/blob/master/LICENSE-APACHE>.
54625
54625
  ```
54626
54626
 
54627
- ## usage-rs 7.1.3 (MIT)
54627
+ ## usage-rs 7.1.4 (MIT)
54628
54628
 
54629
54629
  ```text
54630
54630
  # Third-party notices
@@ -58513,7 +58513,7 @@ See the License for the specific language governing permissions and
58513
58513
  limitations under the License.
58514
58514
  ```
58515
58515
 
58516
- ## usage-test 7.1.3 (MIT)
58516
+ ## usage-test 7.1.4 (MIT)
58517
58517
 
58518
58518
  ```text
58519
58519
  Copyright (c) 2025 Jeff Dickey
package/bin/fnox.wasm CHANGED
Binary file
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ai-ecoverse/wasi-fnox",
3
- "version": "1.45.0-2",
3
+ "version": "1.46.0-2",
4
4
  "description": "fnox, a secrets manager that keeps values in SLICC's sealed store and hands commands placeholders.",
5
5
  "license": "MIT",
6
6
  "repository": {
@@ -31,7 +31,7 @@
31
31
  },
32
32
  "homescoop": {
33
33
  "recipe": "wasi-fnox",
34
- "upstream": "1.45.0"
34
+ "upstream": "1.46.0"
35
35
  },
36
36
  "slicc": {
37
37
  "abi": "wasi",