@atep/core 0.1.0-alpha.2 → 0.1.0-alpha.4
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 +20 -5
- package/dist/wasm/atep_wasm_bg.wasm +0 -0
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -4,7 +4,7 @@ ATEP is a quantum-safe trust layer for robots and AI agents. Every signature and
|
|
|
4
4
|
|
|
5
5
|
> **Experimental alpha. Do not rely on this to protect anything of value.** There has been no independent security audit. The wire format may change between releases (the COSE labels are private-use values and the media types are unregistered), and the post-quantum crates underneath are young. "Quantum-safe" means finalized NIST algorithms (FIPS 203 and FIPS 204) in a hybrid construction; it does not mean audited or proven.
|
|
6
6
|
|
|
7
|
-
`@atep/core` is the ATEP reference core (Draft
|
|
7
|
+
`@atep/core` is the ATEP reference core (Draft 08, `ATEP-1` suite, including `retired`, `successor`, anchors and domain binding) for JavaScript: the Rust
|
|
8
8
|
`atep-core` crate compiled to WebAssembly, with a TypeScript API. One ESM
|
|
9
9
|
package for Node, Bun, Deno and browsers, no framework and no runtime
|
|
10
10
|
dependencies.
|
|
@@ -183,9 +183,23 @@ Types are in `dist/index.d.ts`.
|
|
|
183
183
|
|
|
184
184
|
### Runtimes
|
|
185
185
|
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
186
|
+
What was run, on one Linux development machine (Ubuntu 20.04 under WSL) on 3 October 2026, against the built `dist/` with the same vector checks and the roundtrip tests:
|
|
187
|
+
|
|
188
|
+
| Runtime | How | Result |
|
|
189
|
+
| --- | --- | --- |
|
|
190
|
+
| Node 25 | `npm test` | 442 tests: 437 pass, 5 skipped by name (the 4 `log-admission` and 1 `monitor` vectors) |
|
|
191
|
+
| Deno 2.9.7 | `deno test -A test/` | all vector checks (432 pass, 5 skipped by name) and the 5 roundtrip tests pass |
|
|
192
|
+
| Bun 1.4.2 | `bun test test/` | 442 tests: 437 pass, 5 skipped by name, 0 fail |
|
|
193
|
+
| Chromium 131 (headless shell, Playwright) | `node scripts/browser-vectors.mjs` (needs `playwright-core`, see the header of the script) | the vector checks run in the page: 432 pass, 5 skipped by name, 0 fail |
|
|
194
|
+
|
|
195
|
+
These runs were made on the 437 vectors of that date. The suite now has 446; only Node was re-run on it (451 tests: 446 pass, 5 skipped by name).
|
|
196
|
+
|
|
197
|
+
Notes:
|
|
198
|
+
|
|
199
|
+
* Node: 18 or later is the intended range, and only Node 25 was run here. `init()` reads the wasm next to `index.js`.
|
|
200
|
+
* Browsers: `init()` fetches `new URL("./wasm/atep_wasm_bg.wasm", import.meta.url)`; serve `.wasm` as `application/wasm`. Or pass your own source: `await init(fetch("/path/atep.wasm"))`, a `URL`, or bytes. The fetch and streaming-instantiate path ran in the Chromium run above and in the hosted demo. Not run: Firefox, Safari, mobile browsers, or any other version of the runtimes above. The plain-JS page `examples/smoke.html` (`npm run smoke`) was not opened by hand; the Chromium run uses the same `init()` path.
|
|
201
|
+
* Bun and Deno: the package uses only standard ESM, `WebAssembly`, `fetch`, `crypto.getRandomValues` (through wasm-bindgen) and `node:fs/promises`.
|
|
202
|
+
* Not run anywhere: constrained devices, or any embedded or flight hardware.
|
|
189
203
|
* Bundlers: the wasm is referenced via `new URL(..., import.meta.url)`; the export `@atep/core/atep_core_bg.wasm` points at the binary.
|
|
190
204
|
|
|
191
205
|
## Secrets and their limits
|
|
@@ -232,7 +246,7 @@ Node 25 on the development machine (WSL2), average over 50 to 100 calls after wa
|
|
|
232
246
|
|
|
233
247
|
`npm test` (node:test) runs, under Node, through the built package:
|
|
234
248
|
|
|
235
|
-
* `test/vectors.test.mjs`: every vector listed in `../vectors/manifest.json`: **
|
|
249
|
+
* `test/vectors.test.mjs`: every vector listed in `../vectors/manifest.json`: **441 passed + 5 skipped = 446**.
|
|
236
250
|
The first 200 (identity, signing, encryption, verify-positive/negative, attestation, chain-positive/negative,
|
|
237
251
|
srl, log, atep-r-positive/negative, retired-positive/negative, successor-positive/negative, srl-context,
|
|
238
252
|
log-admission, monitor) and the 236 of Draft 05: checkpoint-hash 9, anchor-record 36, chain-id 30,
|
|
@@ -255,6 +269,7 @@ js/
|
|
|
255
269
|
scripts/build.mjs cargo -> wasm-bindgen -> tsc
|
|
256
270
|
scripts/bench.mjs timings
|
|
257
271
|
scripts/serve.mjs static server for the smoke page
|
|
272
|
+
scripts/browser-vectors.mjs the vector checks in headless Chromium (needs playwright-core; not part of CI)
|
|
258
273
|
examples/smoke.html browser smoke page, plain JS
|
|
259
274
|
test/ node:test suites
|
|
260
275
|
rust/atep-wasm/ the wasm-bindgen wrapper crate (workspace member)
|
|
Binary file
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@atep/core",
|
|
3
|
-
"version": "0.1.0-alpha.
|
|
3
|
+
"version": "0.1.0-alpha.4",
|
|
4
4
|
"description": "ATEP (Autonomy Trust Envelope Protocol) core: the Rust atep-core compiled to WebAssembly, with a TypeScript API for Node, Bun, Deno and browsers.",
|
|
5
5
|
"license": "Apache-2.0",
|
|
6
6
|
"type": "module",
|