@7h3/protocol 0.4.0 → 0.5.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.
Files changed (248) hide show
  1. package/README.md +6 -323
  2. package/agentAdapter.d.ts +26 -0
  3. package/auditLog.d.ts +54 -0
  4. package/capability.d.ts +67 -0
  5. package/cborCodec.d.ts +34 -0
  6. package/conformanceVectors.d.ts +20 -0
  7. package/encryption.d.ts +85 -0
  8. package/envelopeCbor.d.ts +33 -0
  9. package/frameworkAdapters.d.ts +72 -0
  10. package/gateway.d.ts +53 -0
  11. package/grpcBinding.d.ts +29 -0
  12. package/httpBinding.d.ts +50 -0
  13. package/index.d.ts +39 -0
  14. package/index.js +3662 -0
  15. package/keyInfra.d.ts +64 -0
  16. package/keyRegistry.d.ts +9 -0
  17. package/keyRotation.d.ts +20 -0
  18. package/mcpGateway.d.ts +37 -0
  19. package/mcpTransports.d.ts +62 -0
  20. package/mcpWrapper.d.ts +83 -0
  21. package/otel.d.ts +65 -0
  22. package/package.json +13 -79
  23. package/policyEnforcer.d.ts +50 -0
  24. package/policyTelemetryFeedback.d.ts +11 -0
  25. package/protocol.d.ts +66 -0
  26. package/protocolAgent.d.ts +58 -0
  27. package/protocolBinary.d.ts +8 -0
  28. package/protocolCapabilities.d.ts +24 -0
  29. package/protocolReplay.d.ts +35 -0
  30. package/protocolTransport.d.ts +73 -0
  31. package/queueBinding.d.ts +43 -0
  32. package/rateLimiter.d.ts +18 -0
  33. package/{src/redisClient.ts → redisClient.d.ts} +25 -75
  34. package/replayStores.d.ts +98 -0
  35. package/revocation.d.ts +71 -0
  36. package/routePolicy.d.ts +30 -0
  37. package/runtimePolicy.d.ts +24 -0
  38. package/runtimePolicyManager.d.ts +15 -0
  39. package/runtimePolicyPresets.d.ts +11 -0
  40. package/signedResponse.d.ts +21 -0
  41. package/stream.d.ts +59 -0
  42. package/telemetry.d.ts +79 -0
  43. package/webhookBinding.d.ts +30 -0
  44. package/wsBinding.d.ts +52 -0
  45. package/.dockerignore +0 -19
  46. package/.github/dependabot.yml +0 -32
  47. package/.github/workflows/ci.yml +0 -31
  48. package/.github/workflows/publish.yml +0 -59
  49. package/.github/workflows/scorecard.yml +0 -37
  50. package/7h3.example.yaml +0 -125
  51. package/CHANGELOG.md +0 -92
  52. package/CONTRIBUTING.md +0 -82
  53. package/Dockerfile +0 -73
  54. package/GOVERNANCE.md +0 -62
  55. package/SECURITY.md +0 -70
  56. package/bench-results/replay-cache-full-1777891033256.json +0 -10
  57. package/bench-results/replay-cache-full-1777896317488.json +0 -10
  58. package/bench-results/replay-cache-full-1777900993184.json +0 -10
  59. package/bench-results/replay-cache-full-1777901019285.json +0 -10
  60. package/bench-results/replay-cache-quick-1777870170126.json +0 -10
  61. package/bench-results/signature-profiles-quick-1775875160079.json +0 -85
  62. package/bench-results/signature-profiles-quick-1775983539716.json +0 -85
  63. package/bench-results/signature-profiles-quick-1776237913190.json +0 -85
  64. package/bench-results/wire-codecs-full-1777891019803.json +0 -93
  65. package/bench-results/wire-codecs-full-1777896260964.json +0 -93
  66. package/bench-results/wire-codecs-full-1777901004247.json +0 -93
  67. package/bench-results/wire-codecs-quick-1775972879056.json +0 -93
  68. package/bench-results/wire-codecs-quick-1775983541111.json +0 -93
  69. package/bench-results/wire-codecs-quick-1776237914299.json +0 -93
  70. package/bench-results/wire-codecs-quick-1777841285236.json +0 -93
  71. package/bench-results/wire-codecs-quick-1777841321772.json +0 -93
  72. package/bench-results/wire-codecs-quick-1777841330408.json +0 -93
  73. package/bench-results/wire-codecs-quick-1777852886082.json +0 -93
  74. package/bench-results/wire-codecs-quick-1777852988773.json +0 -93
  75. package/bench-results/wire-codecs-quick-1777870188095.json +0 -93
  76. package/bench-results/wire-codecs-quick-1777870263918.json +0 -93
  77. package/bench-results/wire-codecs-quick-1777870455034.json +0 -93
  78. package/bench-results/wire-codecs-quick-1778816163081.json +0 -93
  79. package/bench-results/wire-codecs-quick-1778843936130.json +0 -93
  80. package/bin/7h3.ts +0 -385
  81. package/conformance/7h3_v0_1.json +0 -77
  82. package/conformance/7h3_v0_1_binary.json +0 -20
  83. package/conformance/aip_v0_1_binary.json +0 -20
  84. package/docker-compose.yaml +0 -77
  85. package/docs/ADOPTION_PLAN.md +0 -120
  86. package/docs/AGENTS.md +0 -77
  87. package/docs/AIP_RFC_v0.1.md +0 -97
  88. package/docs/AI_DECISION_CARD.md +0 -122
  89. package/docs/AI_RUNTIME_POLICY.json +0 -126
  90. package/docs/AI_RUNTIME_POLICY.yaml +0 -110
  91. package/docs/BACKPRESSURE_TUNING.md +0 -65
  92. package/docs/BENCHMARK_CLAIM_MATRIX.md +0 -42
  93. package/docs/BENCHMARK_REPORT_TEMPLATE.md +0 -169
  94. package/docs/BINARY_CODEC_BENCH.md +0 -23
  95. package/docs/CLEAN_CLONE_RUNBOOK.md +0 -36
  96. package/docs/CLOCK_SKEW_POLICY.md +0 -30
  97. package/docs/DISTRIBUTED_REPLAY.md +0 -142
  98. package/docs/FUZZ_CAMPAIGN.md +0 -121
  99. package/docs/GATEWAY.md +0 -195
  100. package/docs/KEY_MANAGEMENT_POLICY.md +0 -53
  101. package/docs/KEY_REVOCATION.md +0 -69
  102. package/docs/MCP_WRAPPER.md +0 -159
  103. package/docs/MIGRATION_GUIDE.md +0 -40
  104. package/docs/OPERATORS.md +0 -184
  105. package/docs/PERF_REGRESSION_POLICY.md +0 -34
  106. package/docs/PROJECT_EXAMINATION_2026-05-31.md +0 -219
  107. package/docs/RELEASE_BENCHMARK_REPORT_2026-05-15.md +0 -135
  108. package/docs/RELEASE_GATE.md +0 -25
  109. package/docs/RELEASE_NOTES_v0.1.0.md +0 -54
  110. package/docs/SECURITY_REVIEW_2026-06-05.md +0 -165
  111. package/docs/TELEMETRY.md +0 -41
  112. package/docs/THREAT_MODEL.md +0 -89
  113. package/docs/VERSIONING_POLICY.md +0 -30
  114. package/docs/assets/banner.png +0 -0
  115. package/eslint.config.js +0 -15
  116. package/fuzz/ts/harness-decode.ts +0 -136
  117. package/fuzz/ts/harness-verify.ts +0 -121
  118. package/fuzz/ts/run.ts +0 -35
  119. package/mcp-server/README.md +0 -38
  120. package/mcp-server/package-lock.json +0 -1187
  121. package/mcp-server/package.json +0 -35
  122. package/mcp-server/src/index.ts +0 -236
  123. package/mcp-server/tsconfig.json +0 -14
  124. package/scripts/aip-framework-quickstart.ts +0 -110
  125. package/scripts/aip-mcp-gateway.ts +0 -38
  126. package/scripts/aip-mcp-wrap-demo.ts +0 -72
  127. package/scripts/aip-quickstart.ts +0 -60
  128. package/scripts/bench-diff.ts +0 -118
  129. package/scripts/bench-protocol-e2e.ts +0 -937
  130. package/scripts/bench-protocol-openloop.ts +0 -1397
  131. package/scripts/bench-replay-cache.ts +0 -76
  132. package/scripts/bench-signature-profiles.ts +0 -180
  133. package/scripts/bench-wire-codecs.ts +0 -161
  134. package/scripts/build-binary-conformance.ts +0 -36
  135. package/scripts/build-release-dashboard.ts +0 -175
  136. package/scripts/canary-rollout.ts +0 -38
  137. package/scripts/mcpGatewayCli.test.ts +0 -116
  138. package/scripts/prepare-aip-package.ts +0 -88
  139. package/scripts/regen-conformance-sigs.ts +0 -18
  140. package/scripts/release-gate.ts +0 -19
  141. package/scripts/validate-runtime-policy.ts +0 -18
  142. package/sdk/browser/index.test.ts +0 -162
  143. package/sdk/browser/index.ts +0 -257
  144. package/sdk/browser/package.json +0 -13
  145. package/sdk/go/go.mod +0 -3
  146. package/sdk/go/http.go +0 -135
  147. package/sdk/go/protocol.go +0 -324
  148. package/sdk/go/protocol_test.go +0 -334
  149. package/sdk/go/webhook.go +0 -136
  150. package/sdk/python/README.md +0 -18
  151. package/sdk/python/protocol_7h3/__init__.py +0 -46
  152. package/sdk/python/protocol_7h3/http.py +0 -212
  153. package/sdk/python/protocol_7h3/keys.py +0 -149
  154. package/sdk/python/protocol_7h3/protocol.py +0 -525
  155. package/sdk/python/protocol_7h3/queue.py +0 -118
  156. package/sdk/python/protocol_7h3/webhook.py +0 -116
  157. package/sdk/python/pyproject.toml +0 -40
  158. package/sdk/python/tests/test_conformance.py +0 -110
  159. package/sdk/python/tests/test_http.py +0 -305
  160. package/sdk/python/tests/test_keys.py +0 -417
  161. package/sdk/python/tests/test_queue.py +0 -120
  162. package/sdk/python/tests/test_webhook.py +0 -345
  163. package/sdk/rust/Cargo.lock +0 -371
  164. package/sdk/rust/Cargo.toml +0 -25
  165. package/sdk/rust/README.md +0 -31
  166. package/sdk/rust/fuzz/Cargo.toml +0 -29
  167. package/sdk/rust/fuzz/fuzz_targets/fuzz_canonicalize.rs +0 -46
  168. package/sdk/rust/fuzz/fuzz_targets/fuzz_decode.rs +0 -11
  169. package/sdk/rust/src/bin/aip_mcp_gateway.rs +0 -59
  170. package/sdk/rust/src/http.rs +0 -145
  171. package/sdk/rust/src/keys.rs +0 -161
  172. package/sdk/rust/src/lib.rs +0 -688
  173. package/sdk/rust/src/queue.rs +0 -79
  174. package/sdk/rust/src/webhook.rs +0 -86
  175. package/sdk/rust/tests/conformance.rs +0 -148
  176. package/sdk/rust/tests/gateway.rs +0 -130
  177. package/sdk/rust/tests/http_webhook_queue.rs +0 -201
  178. package/sdk/rust/tests/keys.rs +0 -189
  179. package/src/agentAdapter.test.ts +0 -48
  180. package/src/agentAdapter.ts +0 -56
  181. package/src/auditLog.test.ts +0 -145
  182. package/src/auditLog.ts +0 -147
  183. package/src/conformance.test.ts +0 -136
  184. package/src/conformanceVectors.ts +0 -99
  185. package/src/frameworkAdapters.test.ts +0 -290
  186. package/src/frameworkAdapters.ts +0 -261
  187. package/src/gateway.test.ts +0 -343
  188. package/src/gateway.ts +0 -171
  189. package/src/grpcBinding.test.ts +0 -211
  190. package/src/grpcBinding.ts +0 -103
  191. package/src/httpBinding.test.ts +0 -376
  192. package/src/httpBinding.ts +0 -163
  193. package/src/index.ts +0 -32
  194. package/src/keyInfra.test.ts +0 -278
  195. package/src/keyInfra.ts +0 -228
  196. package/src/keyRegistry.ts +0 -59
  197. package/src/keyRotation.test.ts +0 -78
  198. package/src/keyRotation.ts +0 -72
  199. package/src/mcpGateway.test.ts +0 -129
  200. package/src/mcpGateway.ts +0 -250
  201. package/src/mcpTransports.test.ts +0 -92
  202. package/src/mcpTransports.ts +0 -169
  203. package/src/mcpWrapper.test.ts +0 -179
  204. package/src/mcpWrapper.ts +0 -206
  205. package/src/policyEnforcer.test.ts +0 -99
  206. package/src/policyEnforcer.ts +0 -169
  207. package/src/policyTelemetryFeedback.test.ts +0 -25
  208. package/src/policyTelemetryFeedback.ts +0 -38
  209. package/src/protocol.bench.ts +0 -37
  210. package/src/protocol.test.ts +0 -155
  211. package/src/protocol.ts +0 -413
  212. package/src/protocolAgent.test.ts +0 -105
  213. package/src/protocolAgent.ts +0 -169
  214. package/src/protocolBinary.test.ts +0 -165
  215. package/src/protocolBinary.ts +0 -312
  216. package/src/protocolCapabilities.ts +0 -70
  217. package/src/protocolFuzz.advanced.test.ts +0 -235
  218. package/src/protocolFuzz.test.ts +0 -111
  219. package/src/protocolNegative.test.ts +0 -97
  220. package/src/protocolReplay.test.ts +0 -71
  221. package/src/protocolReplay.ts +0 -194
  222. package/src/protocolTransport.test.ts +0 -556
  223. package/src/protocolTransport.ts +0 -483
  224. package/src/queueBinding.test.ts +0 -130
  225. package/src/queueBinding.ts +0 -102
  226. package/src/rateLimiter.test.ts +0 -96
  227. package/src/rateLimiter.ts +0 -46
  228. package/src/redisIntegration.test.ts +0 -134
  229. package/src/replayStores.test.ts +0 -141
  230. package/src/replayStores.ts +0 -82
  231. package/src/revocation.test.ts +0 -98
  232. package/src/revocation.ts +0 -0
  233. package/src/routePolicy.test.ts +0 -87
  234. package/src/routePolicy.ts +0 -72
  235. package/src/runtimePolicy.test.ts +0 -49
  236. package/src/runtimePolicy.ts +0 -81
  237. package/src/runtimePolicyManager.test.ts +0 -29
  238. package/src/runtimePolicyManager.ts +0 -50
  239. package/src/runtimePolicyPresets.ts +0 -43
  240. package/src/signedResponse.test.ts +0 -111
  241. package/src/signedResponse.ts +0 -83
  242. package/src/webhookBinding.test.ts +0 -144
  243. package/src/webhookBinding.ts +0 -115
  244. package/src/wsBinding.test.ts +0 -221
  245. package/src/wsBinding.ts +0 -100
  246. package/tsconfig.json +0 -15
  247. package/tsconfig.lib.json +0 -23
  248. package/vite.lib.config.ts +0 -16
package/Dockerfile DELETED
@@ -1,73 +0,0 @@
1
- # ---------------------------------------------------------------------------
2
- # Stage 1 — builder
3
- # Install all dependencies (including devDeps for the build step) and
4
- # compile TypeScript sources. The compiled output ends up in /app/dist.
5
- # ---------------------------------------------------------------------------
6
- FROM node:22-alpine AS builder
7
-
8
- WORKDIR /app
9
-
10
- # Copy manifests first so Docker can cache the install layer separately
11
- # from source changes.
12
- COPY package.json package-lock.json ./
13
-
14
- # Install all deps (dev + prod) needed to build
15
- RUN npm ci --prefer-offline
16
-
17
- # Copy the full source tree
18
- COPY src/ src/
19
- COPY bin/ bin/
20
- COPY tsconfig.json tsconfig.lib.json ./
21
- COPY vite.lib.config.ts ./
22
-
23
- # Run the build script if it exists; swallow the error gracefully so that
24
- # repositories that haven't wired up the build step yet still produce a
25
- # working image. The runtime stage uses tsx to execute TypeScript directly,
26
- # so a missing dist/ is not fatal.
27
- RUN npm run build:protocol 2>/dev/null || true
28
-
29
- # ---------------------------------------------------------------------------
30
- # Stage 2 — runtime
31
- # Lean image with only production dependencies.
32
- # tsx executes TypeScript directly, so we don't strictly need dist/; the
33
- # builder stage is kept separate to avoid polluting the final image with
34
- # devDependencies and intermediate build artefacts.
35
- # ---------------------------------------------------------------------------
36
- FROM node:22-alpine
37
-
38
- # Install tsx globally so the ENTRYPOINT can invoke TypeScript files.
39
- # Pinning via the package.json range is intentional — renovate will keep
40
- # this in sync with the devDependency version.
41
- RUN npm install -g tsx
42
-
43
- WORKDIR /app
44
-
45
- # Copy manifests for production install
46
- COPY package.json package-lock.json ./
47
-
48
- # Production-only install; omits devDependencies such as vitest and vite
49
- RUN npm ci --omit=dev --prefer-offline
50
-
51
- # Copy the source files required at runtime
52
- COPY src/ src/
53
- COPY bin/ bin/
54
-
55
- # Copy compiled output from the builder stage (used when tsx is not
56
- # available or when --no-tsx mode is added in future).
57
- COPY --from=builder /app/dist/ dist/
58
-
59
- # The gateway listens on this port by default.
60
- EXPOSE 8080
61
-
62
- # Lightweight health check: wget is present on node:alpine; curl is not.
63
- # This probe hits the /health route which, per the example config, is
64
- # policy-exempt (require: none) and will pass through to the upstream.
65
- HEALTHCHECK --interval=30s --timeout=5s --start-period=10s --retries=3 \
66
- CMD wget -qO- http://localhost:8080/health || exit 1
67
-
68
- # Run the gateway sub-command of the 7h3 CLI.
69
- ENTRYPOINT ["tsx", "bin/7h3.ts", "gateway"]
70
-
71
- # Default arguments — overridden at runtime via docker-compose environment
72
- # variables or explicit docker run arguments.
73
- CMD ["--port", "8080", "--upstream", "http://upstream:3000", "--require", "ed25519"]
package/GOVERNANCE.md DELETED
@@ -1,62 +0,0 @@
1
- # Governance
2
-
3
- ## Current Stage
4
-
5
- This project is in single-maintainer, pre-community stage. There is one
6
- maintainer ([@IceMasterT](https://github.com/IceMasterT)), no formal governance
7
- board, and no steering committee. That is appropriate for the project's current
8
- size and maturity, and it is stated clearly here so contributors know what to
9
- expect.
10
-
11
- ## Decision Making
12
-
13
- The maintainer makes all final decisions about direction, API shape, release
14
- timing, and whether to accept a contribution.
15
-
16
- For significant changes -- anything that touches the wire format, the
17
- conformance fixture set, or the project's positioning relative to MCP/A2A --
18
- the maintainer will open a GitHub Issue before deciding, to give the community
19
- a window to raise concerns or provide context. That window will be at least
20
- seven days for non-urgent changes.
21
-
22
- Day-to-day decisions (bug fixes, documentation, minor SDK improvements) do not
23
- require community input first.
24
-
25
- ## Versioning Policy
26
-
27
- The wire version `aip/0.1` is frozen. Interoperating implementations can rely
28
- on it not changing. A new wire version designation (e.g. `aip/0.2`) would be
29
- introduced in a new package major version and coexist with `aip/0.1` for a
30
- migration period.
31
-
32
- The TypeScript API is pre-1.0. Minor version bumps may include breaking API
33
- changes. Breaking changes will be documented in the changelog with migration
34
- notes. The `1.0.0` release will signal API stability.
35
-
36
- The Python and Rust SDKs track the TypeScript wire behavior. Their own version
37
- numbers are independent of the npm package version.
38
-
39
- ## Path to Co-Maintainership
40
-
41
- There is no automatic path to co-maintainership based on contribution count.
42
- The relevant factors are:
43
-
44
- - Sustained engagement over multiple months
45
- - Demonstrated familiarity with the threat model (replay attacks, malleability,
46
- cross-runtime canonicalization edge cases)
47
- - Good judgment in the review of other contributors' PRs
48
- - Willingness to own the security disclosure process
49
-
50
- If you are interested, open a conversation in Discussions rather than raising
51
- it in a PR.
52
-
53
- ## Standards Body Adoption
54
-
55
- If this project is accepted into a standards body or foundation, this governance
56
- document will be replaced by whatever governance model that body requires.
57
- Community input will be sought before any such transition.
58
-
59
- ---
60
-
61
- Last reviewed: 2026-06-05
62
- Maintainer: [@IceMasterT](https://github.com/IceMasterT) / tech@mysms.promo
package/SECURITY.md DELETED
@@ -1,70 +0,0 @@
1
- # Security Policy
2
-
3
- ## Reporting a Vulnerability
4
-
5
- Please do not open a GitHub Issue for security findings. Use coordinated disclosure instead.
6
-
7
- **Send private reports to:** tech@mysms.promo
8
- **Subject line:** `[AIP Security] <brief description>`
9
-
10
- ### What to include
11
-
12
- A useful report contains:
13
-
14
- - A clear description of the vulnerability and which component it affects
15
- - Steps to reproduce, ideally as a minimal test case or fixture
16
- - Your assessment of the impact (confidentiality, integrity, availability, scope)
17
- - The affected versions (check `package.json` version and the wire version `aip/0.1`)
18
- - Any suggested fix or mitigation you have in mind (optional but appreciated)
19
-
20
- Reports that include a conformance vector demonstrating the issue are especially
21
- helpful and make the triage process faster.
22
-
23
- ## Response Timeline
24
-
25
- | Event | Target |
26
- |---|---|
27
- | Acknowledgement | 48 hours |
28
- | Triage and severity assignment | 5 business days |
29
- | Patch for critical/high severity | 14 days from confirmation |
30
- | Patch for medium/low severity | 60 days from confirmation |
31
- | Public disclosure | After patch is released and verified |
32
-
33
- We ask that reporters hold off on public disclosure until a patch is available.
34
- If the 14-day critical window is going to slip, we will contact you to agree on
35
- an extended timeline or coordinated partial disclosure.
36
-
37
- ## Scope
38
-
39
- The following are in scope:
40
-
41
- - Envelope signing and verification (`src/aip/`)
42
- - Canonicalization logic and determinism guarantees
43
- - Replay-safety (nonce and timestamp validation)
44
- - Wire format parsing in all three runtimes (TypeScript, Python, Rust)
45
- - Intent vocabulary validation
46
-
47
- Out of scope: third-party dependencies (report those upstream), benchmark
48
- scripts, and documentation typos.
49
-
50
- ## Audit Status
51
-
52
- No independent third-party security audit has been performed on this codebase
53
- as of the current release. The protocol design has been reviewed by the
54
- maintainer against known attack classes for signed messaging systems, but that
55
- is not a substitute for a formal audit. Reproductions of conformance vectors
56
- that reveal edge-case signing or deserialization behavior are welcome and
57
- treated as high-value contributions.
58
-
59
- ## Hall of Thanks
60
-
61
- Researchers who report valid, confirmed vulnerabilities will be acknowledged
62
- here (with their permission).
63
-
64
- _No entries yet._
65
-
66
- ---
67
-
68
- Maintainer: [@IceMasterT](https://github.com/IceMasterT)
69
- Package: `@7h3/protocol`
70
- License: MIT
@@ -1,10 +0,0 @@
1
- {
2
- "generatedAt": "2026-05-04T10:37:13.242Z",
3
- "profile": "full",
4
- "iterations": 500000,
5
- "batchSize": 128,
6
- "singleOpsPerSecond": 2046707.947,
7
- "batchOpsPerSecond": 1936866.811,
8
- "singleUsPerOp": 0.489,
9
- "batchUsPerOp": 0.516
10
- }
@@ -1,10 +0,0 @@
1
- {
2
- "generatedAt": "2026-05-04T12:05:17.474Z",
3
- "profile": "full",
4
- "iterations": 500000,
5
- "batchSize": 128,
6
- "singleOpsPerSecond": 2196802.03,
7
- "batchOpsPerSecond": 2513299.501,
8
- "singleUsPerOp": 0.455,
9
- "batchUsPerOp": 0.398
10
- }
@@ -1,10 +0,0 @@
1
- {
2
- "generatedAt": "2026-05-04T13:23:13.169Z",
3
- "profile": "full",
4
- "iterations": 500000,
5
- "batchSize": 128,
6
- "singleOpsPerSecond": 1943753.028,
7
- "batchOpsPerSecond": 2330929.665,
8
- "singleUsPerOp": 0.514,
9
- "batchUsPerOp": 0.429
10
- }
@@ -1,10 +0,0 @@
1
- {
2
- "generatedAt": "2026-05-04T13:23:39.285Z",
3
- "profile": "full",
4
- "iterations": 500000,
5
- "batchSize": 128,
6
- "singleOpsPerSecond": 1650105.21,
7
- "batchOpsPerSecond": 2241347.099,
8
- "singleUsPerOp": 0.606,
9
- "batchUsPerOp": 0.446
10
- }
@@ -1,10 +0,0 @@
1
- {
2
- "generatedAt": "2026-05-04T04:49:30.121Z",
3
- "profile": "quick",
4
- "iterations": 50000,
5
- "batchSize": 32,
6
- "singleOpsPerSecond": 520177.319,
7
- "batchOpsPerSecond": 140227.322,
8
- "singleUsPerOp": 1.922,
9
- "batchUsPerOp": 7.131
10
- }
@@ -1,85 +0,0 @@
1
- {
2
- "generatedAt": "2026-04-11T02:39:20.079Z",
3
- "profile": "quick",
4
- "iterations": 2000,
5
- "payloadSizes": [
6
- 256,
7
- 1024,
8
- 4096,
9
- 16384
10
- ],
11
- "results": [
12
- {
13
- "profile": "quick",
14
- "payloadBytes": 256,
15
- "algorithm": "HS256",
16
- "signUsPerOp": 16.5,
17
- "verifyUsPerOp": 14.176,
18
- "signOpsPerSecond": 60606.367,
19
- "verifyOpsPerSecond": 70539.362
20
- },
21
- {
22
- "profile": "quick",
23
- "payloadBytes": 256,
24
- "algorithm": "ED25519",
25
- "signUsPerOp": 45.6,
26
- "verifyUsPerOp": 119.231,
27
- "signOpsPerSecond": 21929.753,
28
- "verifyOpsPerSecond": 8387.068
29
- },
30
- {
31
- "profile": "quick",
32
- "payloadBytes": 1024,
33
- "algorithm": "HS256",
34
- "signUsPerOp": 23.745,
35
- "verifyUsPerOp": 18.396,
36
- "signOpsPerSecond": 42113.324,
37
- "verifyOpsPerSecond": 54360.747
38
- },
39
- {
40
- "profile": "quick",
41
- "payloadBytes": 1024,
42
- "algorithm": "ED25519",
43
- "signUsPerOp": 51.284,
44
- "verifyUsPerOp": 106.092,
45
- "signOpsPerSecond": 19499.138,
46
- "verifyOpsPerSecond": 9425.777
47
- },
48
- {
49
- "profile": "quick",
50
- "payloadBytes": 4096,
51
- "algorithm": "HS256",
52
- "signUsPerOp": 18.235,
53
- "verifyUsPerOp": 20.365,
54
- "signOpsPerSecond": 54839.636,
55
- "verifyOpsPerSecond": 49103.017
56
- },
57
- {
58
- "profile": "quick",
59
- "payloadBytes": 4096,
60
- "algorithm": "ED25519",
61
- "signUsPerOp": 53.216,
62
- "verifyUsPerOp": 101.756,
63
- "signOpsPerSecond": 18791.24,
64
- "verifyOpsPerSecond": 9827.469
65
- },
66
- {
67
- "profile": "quick",
68
- "payloadBytes": 16384,
69
- "algorithm": "HS256",
70
- "signUsPerOp": 33.59,
71
- "verifyUsPerOp": 32.805,
72
- "signOpsPerSecond": 29770.829,
73
- "verifyOpsPerSecond": 30483.215
74
- },
75
- {
76
- "profile": "quick",
77
- "payloadBytes": 16384,
78
- "algorithm": "ED25519",
79
- "signUsPerOp": 96.924,
80
- "verifyUsPerOp": 141.141,
81
- "signOpsPerSecond": 10317.338,
82
- "verifyOpsPerSecond": 7085.133
83
- }
84
- ]
85
- }
@@ -1,85 +0,0 @@
1
- {
2
- "generatedAt": "2026-04-12T08:45:39.716Z",
3
- "profile": "quick",
4
- "iterations": 2000,
5
- "payloadSizes": [
6
- 256,
7
- 1024,
8
- 4096,
9
- 16384
10
- ],
11
- "results": [
12
- {
13
- "profile": "quick",
14
- "payloadBytes": 256,
15
- "algorithm": "HS256",
16
- "signUsPerOp": 17.09,
17
- "verifyUsPerOp": 16.676,
18
- "signOpsPerSecond": 58514.475,
19
- "verifyOpsPerSecond": 59965.552
20
- },
21
- {
22
- "profile": "quick",
23
- "payloadBytes": 256,
24
- "algorithm": "ED25519",
25
- "signUsPerOp": 48.942,
26
- "verifyUsPerOp": 129.521,
27
- "signOpsPerSecond": 20432.528,
28
- "verifyOpsPerSecond": 7720.783
29
- },
30
- {
31
- "profile": "quick",
32
- "payloadBytes": 1024,
33
- "algorithm": "HS256",
34
- "signUsPerOp": 16.402,
35
- "verifyUsPerOp": 13.4,
36
- "signOpsPerSecond": 60968.249,
37
- "verifyOpsPerSecond": 74629.015
38
- },
39
- {
40
- "profile": "quick",
41
- "payloadBytes": 1024,
42
- "algorithm": "ED25519",
43
- "signUsPerOp": 41.484,
44
- "verifyUsPerOp": 106.096,
45
- "signOpsPerSecond": 24105.829,
46
- "verifyOpsPerSecond": 9425.432
47
- },
48
- {
49
- "profile": "quick",
50
- "payloadBytes": 4096,
51
- "algorithm": "HS256",
52
- "signUsPerOp": 41.471,
53
- "verifyUsPerOp": 21.896,
54
- "signOpsPerSecond": 24113.328,
55
- "verifyOpsPerSecond": 45669.707
56
- },
57
- {
58
- "profile": "quick",
59
- "payloadBytes": 4096,
60
- "algorithm": "ED25519",
61
- "signUsPerOp": 53.73,
62
- "verifyUsPerOp": 118.702,
63
- "signOpsPerSecond": 18611.446,
64
- "verifyOpsPerSecond": 8424.459
65
- },
66
- {
67
- "profile": "quick",
68
- "payloadBytes": 16384,
69
- "algorithm": "HS256",
70
- "signUsPerOp": 37.261,
71
- "verifyUsPerOp": 39.437,
72
- "signOpsPerSecond": 26837.366,
73
- "verifyOpsPerSecond": 25356.841
74
- },
75
- {
76
- "profile": "quick",
77
- "payloadBytes": 16384,
78
- "algorithm": "ED25519",
79
- "signUsPerOp": 120.929,
80
- "verifyUsPerOp": 163.363,
81
- "signOpsPerSecond": 8269.337,
82
- "verifyOpsPerSecond": 6121.336
83
- }
84
- ]
85
- }
@@ -1,85 +0,0 @@
1
- {
2
- "generatedAt": "2026-04-15T07:25:13.190Z",
3
- "profile": "quick",
4
- "iterations": 2000,
5
- "payloadSizes": [
6
- 256,
7
- 1024,
8
- 4096,
9
- 16384
10
- ],
11
- "results": [
12
- {
13
- "profile": "quick",
14
- "payloadBytes": 256,
15
- "algorithm": "HS256",
16
- "signUsPerOp": 22.028,
17
- "verifyUsPerOp": 16.82,
18
- "signOpsPerSecond": 45396.554,
19
- "verifyOpsPerSecond": 59452.295
20
- },
21
- {
22
- "profile": "quick",
23
- "payloadBytes": 256,
24
- "algorithm": "ED25519",
25
- "signUsPerOp": 46.164,
26
- "verifyUsPerOp": 103.618,
27
- "signOpsPerSecond": 21662.042,
28
- "verifyOpsPerSecond": 9650.834
29
- },
30
- {
31
- "profile": "quick",
32
- "payloadBytes": 1024,
33
- "algorithm": "HS256",
34
- "signUsPerOp": 12.433,
35
- "verifyUsPerOp": 12.785,
36
- "signOpsPerSecond": 80430.499,
37
- "verifyOpsPerSecond": 78216.853
38
- },
39
- {
40
- "profile": "quick",
41
- "payloadBytes": 1024,
42
- "algorithm": "ED25519",
43
- "signUsPerOp": 37.853,
44
- "verifyUsPerOp": 98.984,
45
- "signOpsPerSecond": 26417.71,
46
- "verifyOpsPerSecond": 10102.674
47
- },
48
- {
49
- "profile": "quick",
50
- "payloadBytes": 4096,
51
- "algorithm": "HS256",
52
- "signUsPerOp": 31.288,
53
- "verifyUsPerOp": 21.144,
54
- "signOpsPerSecond": 31961.127,
55
- "verifyOpsPerSecond": 47295.763
56
- },
57
- {
58
- "profile": "quick",
59
- "payloadBytes": 4096,
60
- "algorithm": "ED25519",
61
- "signUsPerOp": 52.753,
62
- "verifyUsPerOp": 108.71,
63
- "signOpsPerSecond": 18956.391,
64
- "verifyOpsPerSecond": 9198.782
65
- },
66
- {
67
- "profile": "quick",
68
- "payloadBytes": 16384,
69
- "algorithm": "HS256",
70
- "signUsPerOp": 36.642,
71
- "verifyUsPerOp": 32.576,
72
- "signOpsPerSecond": 27290.862,
73
- "verifyOpsPerSecond": 30697.597
74
- },
75
- {
76
- "profile": "quick",
77
- "payloadBytes": 16384,
78
- "algorithm": "ED25519",
79
- "signUsPerOp": 93.648,
80
- "verifyUsPerOp": 140.267,
81
- "signOpsPerSecond": 10678.28,
82
- "verifyOpsPerSecond": 7129.262
83
- }
84
- ]
85
- }
@@ -1,93 +0,0 @@
1
- {
2
- "generatedAt": "2026-05-04T10:36:59.803Z",
3
- "profile": "full",
4
- "iterations": 100000,
5
- "payloadSizes": [
6
- 256,
7
- 1024,
8
- 4096,
9
- 16384
10
- ],
11
- "results": [
12
- {
13
- "profile": "full",
14
- "payloadBytes": 256,
15
- "format": "compact-json",
16
- "encodedBytes": 498,
17
- "encodeUsPerOp": 0.871,
18
- "decodeUsPerOp": 0.846,
19
- "encodeOpsPerSecond": 1147888.7,
20
- "decodeOpsPerSecond": 1182094.018
21
- },
22
- {
23
- "profile": "full",
24
- "payloadBytes": 256,
25
- "format": "binary",
26
- "encodedBytes": 426,
27
- "encodeUsPerOp": 6.03,
28
- "decodeUsPerOp": 2.594,
29
- "encodeOpsPerSecond": 165840.776,
30
- "decodeOpsPerSecond": 385485.005
31
- },
32
- {
33
- "profile": "full",
34
- "payloadBytes": 1024,
35
- "format": "compact-json",
36
- "encodedBytes": 1269,
37
- "encodeUsPerOp": 1.011,
38
- "decodeUsPerOp": 0.979,
39
- "encodeOpsPerSecond": 989524.233,
40
- "decodeOpsPerSecond": 1021032.577
41
- },
42
- {
43
- "profile": "full",
44
- "payloadBytes": 1024,
45
- "format": "binary",
46
- "encodedBytes": 1197,
47
- "encodeUsPerOp": 7.83,
48
- "decodeUsPerOp": 2.143,
49
- "encodeOpsPerSecond": 127710.375,
50
- "decodeOpsPerSecond": 466610.385
51
- },
52
- {
53
- "profile": "full",
54
- "payloadBytes": 4096,
55
- "format": "compact-json",
56
- "encodedBytes": 4341,
57
- "encodeUsPerOp": 2.405,
58
- "decodeUsPerOp": 1.454,
59
- "encodeOpsPerSecond": 415830.048,
60
- "decodeOpsPerSecond": 687659.376
61
- },
62
- {
63
- "profile": "full",
64
- "payloadBytes": 4096,
65
- "format": "binary",
66
- "encodedBytes": 4269,
67
- "encodeUsPerOp": 8.232,
68
- "decodeUsPerOp": 3.499,
69
- "encodeOpsPerSecond": 121470.1,
70
- "decodeOpsPerSecond": 285787.277
71
- },
72
- {
73
- "profile": "full",
74
- "payloadBytes": 16384,
75
- "format": "compact-json",
76
- "encodedBytes": 16632,
77
- "encodeUsPerOp": 7.041,
78
- "decodeUsPerOp": 6.088,
79
- "encodeOpsPerSecond": 142021.041,
80
- "decodeOpsPerSecond": 164249.051
81
- },
82
- {
83
- "profile": "full",
84
- "payloadBytes": 16384,
85
- "format": "binary",
86
- "encodedBytes": 16560,
87
- "encodeUsPerOp": 12.829,
88
- "decodeUsPerOp": 4.781,
89
- "encodeOpsPerSecond": 77948.266,
90
- "decodeOpsPerSecond": 209141.901
91
- }
92
- ]
93
- }