@ai-ecoverse/wasi-fnox 1.45.0-2 → 1.46.0-1
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 +6 -4
- package/THIRD-PARTY-NOTICES.md +5 -5
- package/bin/fnox.wasm +0 -0
- package/package.json +2 -2
package/README.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# @ai-ecoverse/wasi-fnox
|
|
2
2
|
|
|
3
|
-
[fnox](https://fnox.jdx.dev) 1.
|
|
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`,
|
|
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.
|
|
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.
|
package/THIRD-PARTY-NOTICES.md
CHANGED
|
@@ -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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
3
|
+
"version": "1.46.0-1",
|
|
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.
|
|
34
|
+
"upstream": "1.46.0"
|
|
35
35
|
},
|
|
36
36
|
"slicc": {
|
|
37
37
|
"abi": "wasi",
|