@fgv/ts-web-extras-webauthn 5.1.0-55 → 5.1.0-56

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 (2) hide show
  1. package/CAPABILITIES.md +61 -0
  2. package/package.json +13 -12
@@ -0,0 +1,61 @@
1
+ # `@fgv/ts-extras-webauthn` + `@fgv/ts-web-extras-webauthn` — WebAuthn Result boundary
2
+
3
+ > **This file is authoritative for what ``@fgv/ts-web-extras-webauthn`` provides and what not to hand-roll.**
4
+ > `README.md`, where present, is getting-started material. The always-loaded index at
5
+ > [`.ai/instructions/LIBRARY_CAPABILITIES.md`](../../.ai/instructions/LIBRARY_CAPABILITIES.md)
6
+ > routes here; it never duplicates this content.
7
+
8
+
9
+ ---
10
+
11
+ [libraries/ts-extras-webauthn](https://github.com/ErikFortune/fgv/tree/release/libraries/ts-extras-webauthn)
12
+ [libraries/ts-web-extras-webauthn](https://github.com/ErikFortune/fgv/tree/release/libraries/ts-web-extras-webauthn)
13
+
14
+ **These packages are a Result-integration boundary over `@simplewebauthn/server` and `@simplewebauthn/browser` — not an opinionated WebAuthn helper.** The upstream libraries are excellent; these packages add exactly one thing: converting `@simplewebauthn`'s throw-on-failure interface into `Promise<Result<T>>`.
15
+
16
+ **Six primitive operations. Nothing else.**
17
+
18
+ | Package | Function | Return |
19
+ |---|---|---|
20
+ | `@fgv/ts-extras-webauthn` | `generateRegistrationOptions(opts)` | `Promise<Result<PublicKeyCredentialCreationOptionsJSON>>` |
21
+ | `@fgv/ts-extras-webauthn` | `verifyRegistrationResponse(opts)` | `Promise<Result<VerifiedRegistrationResponse>>` |
22
+ | `@fgv/ts-extras-webauthn` | `generateAuthenticationOptions(opts)` | `Promise<Result<PublicKeyCredentialRequestOptionsJSON>>` |
23
+ | `@fgv/ts-extras-webauthn` | `verifyAuthenticationResponse(opts)` | `Promise<Result<VerifiedAuthenticationResponse>>` |
24
+ | `@fgv/ts-web-extras-webauthn` | `startRegistration(opts)` | `Promise<Result<RegistrationResponseJSON>>` |
25
+ | `@fgv/ts-web-extras-webauthn` | `startAuthentication(opts)` | `Promise<Result<AuthenticationResponseJSON>>` |
26
+
27
+ **Explicitly NOT in scope (these were considered and explicitly rejected):**
28
+ - Challenge generator helpers
29
+ - PRF salt helper / Uint8Array conversion helpers
30
+ - `browserAutofillInput` validator / `autocomplete` attribute helpers
31
+ - `WebAuthnCredential` builder from verification output
32
+ - Attestation policy presets
33
+ - Algorithm allowlist presets
34
+ - Challenge state management or challenge stores
35
+ - Session token issuance
36
+ - Registration or authentication ceremony orchestration
37
+ - Credential / user database abstractions
38
+
39
+ For anything not in the table above, **use `@simplewebauthn/server` or `@simplewebauthn/browser` directly** (with `captureAsyncResult` for your own Result wrapping). These packages are a thin boundary layer; build your opinionated ceremony orchestration on top.
40
+
41
+ **Version:** `^13.0.0` for both upstream packages.
42
+
43
+ ---
44
+
45
+ ---
46
+
47
+ ## Decision shortcuts
48
+
49
+ - **Need to start a WebAuthn ceremony in the browser?** → `startRegistration` / `startAuthentication` from `@fgv/ts-web-extras-webauthn`. Wraps `@simplewebauthn/browser`.
50
+
51
+ ---
52
+
53
+ ## Recent additions
54
+
55
+ *Newest first. **Generated** — see the repo index; do not hand-edit inside the markers.*
56
+
57
+ <!-- BEGIN GENERATED: recent-additions -->
58
+
59
+ *No stream has recorded a `sourceLine` against this package yet.*
60
+
61
+ <!-- END GENERATED: recent-additions -->
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fgv/ts-web-extras-webauthn",
3
- "version": "5.1.0-55",
3
+ "version": "5.1.0-56",
4
4
  "description": "Result-integration boundary over @simplewebauthn/browser",
5
5
  "main": "lib/index.js",
6
6
  "types": "dist/ts-web-extras-webauthn.d.ts",
@@ -22,6 +22,7 @@
22
22
  "dist",
23
23
  "CHANGELOG.json",
24
24
  "README.md",
25
+ "CAPABILITIES.md",
25
26
  "LICENSE",
26
27
  "!lib/test",
27
28
  "!dist/test",
@@ -51,11 +52,11 @@
51
52
  "devDependencies": {
52
53
  "@microsoft/api-extractor": "^7.55.2",
53
54
  "@rushstack/eslint-config": "4.6.4",
54
- "@rushstack/heft": "1.2.7",
55
- "@rushstack/heft-jest-plugin": "1.2.6",
56
- "@rushstack/heft-node-rig": "2.11.27",
55
+ "@rushstack/heft": "1.3.0",
56
+ "@rushstack/heft-jest-plugin": "2.0.17",
57
+ "@rushstack/heft-node-rig": "2.11.50",
57
58
  "@types/heft-jest": "1.0.6",
58
- "@types/jest": "^29.5.14",
59
+ "@types/jest": "^30.0.0",
59
60
  "@types/node": "^20.14.9",
60
61
  "@typescript-eslint/eslint-plugin": "^8.52.0",
61
62
  "@typescript-eslint/parser": "^8.52.0",
@@ -65,18 +66,18 @@
65
66
  "eslint-plugin-node": "^11.1.0",
66
67
  "eslint-plugin-promise": "^7.2.1",
67
68
  "eslint-plugin-tsdoc": "~0.5.2",
68
- "jest": "^29.7.0",
69
- "jest-environment-jsdom": "^29.7.0",
69
+ "jest": "^30.5.2",
70
+ "jest-environment-jsdom": "^30.5.2",
70
71
  "rimraf": "^6.1.2",
71
- "ts-jest": "^29.4.6",
72
+ "ts-jest": "^29.4.12",
72
73
  "ts-node": "^10.9.2",
73
74
  "typescript": "5.9.3",
74
- "@fgv/heft-dual-rig": "5.1.0-55",
75
- "@fgv/ts-utils": "5.1.0-55",
76
- "@fgv/ts-utils-jest": "5.1.0-55"
75
+ "@fgv/heft-dual-rig": "5.1.0-56",
76
+ "@fgv/ts-utils-jest": "5.1.0-56",
77
+ "@fgv/ts-utils": "5.1.0-56"
77
78
  },
78
79
  "peerDependencies": {
79
- "@fgv/ts-utils": "5.1.0-55"
80
+ "@fgv/ts-utils": "5.1.0-56"
80
81
  },
81
82
  "scripts": {
82
83
  "build": "NODE_OPTIONS=--disable-warning=DEP0040 heft test --clean",