1id 0.4.1 → 0.7.0

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 (57) hide show
  1. package/README.md +3 -3
  2. package/dist/auth.d.ts +21 -13
  3. package/dist/auth.d.ts.map +1 -1
  4. package/dist/auth.js +126 -19
  5. package/dist/auth.js.map +1 -1
  6. package/dist/cli.js +1 -1
  7. package/dist/client.d.ts +7 -2
  8. package/dist/client.d.ts.map +1 -1
  9. package/dist/client.js +12 -3
  10. package/dist/client.js.map +1 -1
  11. package/dist/credentials.d.ts +8 -0
  12. package/dist/credentials.d.ts.map +1 -1
  13. package/dist/credentials.js +16 -0
  14. package/dist/credentials.js.map +1 -1
  15. package/dist/devices.d.ts +76 -0
  16. package/dist/devices.d.ts.map +1 -0
  17. package/dist/devices.js +103 -0
  18. package/dist/devices.js.map +1 -0
  19. package/dist/enroll.d.ts +5 -3
  20. package/dist/enroll.d.ts.map +1 -1
  21. package/dist/enroll.js +22 -16
  22. package/dist/enroll.js.map +1 -1
  23. package/dist/exceptions.d.ts +27 -0
  24. package/dist/exceptions.d.ts.map +1 -1
  25. package/dist/exceptions.js +35 -0
  26. package/dist/exceptions.js.map +1 -1
  27. package/dist/helper.d.ts +12 -0
  28. package/dist/helper.d.ts.map +1 -1
  29. package/dist/helper.js +21 -4
  30. package/dist/helper.js.map +1 -1
  31. package/dist/identity.d.ts +9 -9
  32. package/dist/identity.d.ts.map +1 -1
  33. package/dist/identity.js +9 -10
  34. package/dist/identity.js.map +1 -1
  35. package/dist/index.d.ts +70 -4
  36. package/dist/index.d.ts.map +1 -1
  37. package/dist/index.js +93 -5
  38. package/dist/index.js.map +1 -1
  39. package/dist/test/test_declared_enrollment.js +2 -4
  40. package/dist/test/test_declared_enrollment.js.map +1 -1
  41. package/dist/test/test_peer_verification.d.ts +15 -0
  42. package/dist/test/test_peer_verification.d.ts.map +1 -0
  43. package/dist/test/test_peer_verification.js +481 -0
  44. package/dist/test/test_peer_verification.js.map +1 -0
  45. package/dist/trustRoots.d.ts +38 -0
  46. package/dist/trustRoots.d.ts.map +1 -0
  47. package/dist/trustRoots.js +145 -0
  48. package/dist/trustRoots.js.map +1 -0
  49. package/dist/verify.d.ts +71 -0
  50. package/dist/verify.d.ts.map +1 -0
  51. package/dist/verify.js +315 -0
  52. package/dist/verify.js.map +1 -0
  53. package/dist/world.d.ts +83 -0
  54. package/dist/world.d.ts.map +1 -0
  55. package/dist/world.js +122 -0
  56. package/dist/world.js.map +1 -0
  57. package/package.json +1 -1
@@ -0,0 +1,103 @@
1
+ /**
2
+ * Device management and hardware lock for the 1id.com Node.js SDK.
3
+ *
4
+ * Provides:
5
+ * listDevices() -- List all devices (active and burned) bound to this identity
6
+ * lockHardware() -- Permanently lock identity to its single hardware device (irreversible)
7
+ *
8
+ * Usage:
9
+ * import { listDevices, lockHardware } from "1id/devices";
10
+ *
11
+ * const result = await listDevices();
12
+ * for (const d of result.devices) { console.log(`${d.device_type} [${d.device_status}]`); }
13
+ *
14
+ * const lock = await lockHardware();
15
+ * console.log(`Locked: ${lock.hardware_locked}`);
16
+ */
17
+ import { load_credentials } from "./credentials.js";
18
+ import { get_token } from "./auth.js";
19
+ import { OneIDAPIClient } from "./client.js";
20
+ import { invalidate_world_cache } from "./world.js";
21
+ /**
22
+ * List all devices (active and burned) bound to this identity.
23
+ *
24
+ * @param credentials Optional pre-loaded credentials.
25
+ * @returns DeviceListResult with all device details.
26
+ */
27
+ export async function listDevices(credentials) {
28
+ if (credentials == null) {
29
+ credentials = load_credentials();
30
+ }
31
+ const token = await get_token(false, credentials);
32
+ const api_client = new OneIDAPIClient(credentials.api_base_url);
33
+ const response_data = await api_client.make_authenticated_request("GET", "/api/v1/identity/devices", token.access_token);
34
+ const raw_devices = (response_data.devices ?? []);
35
+ return {
36
+ identity_internal_id: (response_data.identity_internal_id ?? ""),
37
+ total_device_count: (response_data.total_devices ?? 0),
38
+ active_device_count: (response_data.active_devices ?? 0),
39
+ burned_device_count: (response_data.burned_devices ?? 0),
40
+ devices: raw_devices.map((device_data) => ({
41
+ device_type: (device_data.device_type ?? ""),
42
+ device_fingerprint: (device_data.device_fingerprint ?? ""),
43
+ device_status: (device_data.device_status ?? "active"),
44
+ trust_tier: (device_data.trust_tier ?? null),
45
+ tpm_manufacturer: (device_data.tpm_manufacturer ?? null),
46
+ piv_serial: (device_data.piv_serial ?? null),
47
+ bound_at: (device_data.bound_at ?? null),
48
+ burned_at: (device_data.burned_at ?? null),
49
+ burn_reason: (device_data.burn_reason ?? null),
50
+ })),
51
+ };
52
+ }
53
+ /**
54
+ * Permanently lock this identity to its single active hardware device.
55
+ *
56
+ * This is an IRREVERSIBLE operation. Once locked:
57
+ * - No new devices can be added
58
+ * - The existing device cannot be burned
59
+ * - The identity is permanently bound to one physical chip
60
+ *
61
+ * Preconditions enforced server-side:
62
+ * - Identity must be hardware-tier (sovereign, portable, or virtual)
63
+ * - Identity must have exactly 1 active device
64
+ *
65
+ * @param credentials Optional pre-loaded credentials.
66
+ * @returns HardwareLockResult with confirmation details.
67
+ * @throws Error with code DECLARED_TIER_CANNOT_LOCK if identity is declared-tier.
68
+ * @throws Error with code ALREADY_LOCKED if already locked (idempotent-safe).
69
+ * @throws Error with code TOO_MANY_ACTIVE_DEVICES if identity has != 1 active device.
70
+ */
71
+ export async function lockHardware(credentials) {
72
+ if (credentials == null) {
73
+ credentials = load_credentials();
74
+ }
75
+ const token = await get_token(false, credentials);
76
+ const api_client = new OneIDAPIClient(credentials.api_base_url);
77
+ const lock_data = await api_client.make_authenticated_request("POST", "/api/v1/identity/lock-hardware", token.access_token, {});
78
+ invalidate_world_cache();
79
+ return {
80
+ identity_internal_id: (lock_data.identity_internal_id ?? ""),
81
+ hardware_locked: Boolean(lock_data.hardware_locked),
82
+ trust_tier: (lock_data.trust_tier ?? ""),
83
+ active_device_count: (lock_data.active_device_count ?? 1),
84
+ };
85
+ }
86
+ /**
87
+ * Register or update the human operator email for this identity.
88
+ *
89
+ * @param operator_email_address The email address to register.
90
+ * @param credentials Optional pre-loaded credentials.
91
+ * @returns True if the email was registered successfully.
92
+ */
93
+ export async function registerOperatorEmail(operator_email_address, credentials) {
94
+ if (credentials == null) {
95
+ credentials = load_credentials();
96
+ }
97
+ const token = await get_token(false, credentials);
98
+ const api_client = new OneIDAPIClient(credentials.api_base_url);
99
+ const response_data = await api_client.make_authenticated_request("PUT", "/api/v1/identity/operator-email", token.access_token, { operator_email: operator_email_address });
100
+ invalidate_world_cache();
101
+ return Boolean(response_data.operator_email_registered);
102
+ }
103
+ //# sourceMappingURL=devices.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"devices.js","sourceRoot":"","sources":["../src/devices.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAE,gBAAgB,EAA0B,MAAM,kBAAkB,CAAC;AAC5E,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AACtC,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,EAAE,sBAAsB,EAAE,MAAM,YAAY,CAAC;AA6BpD;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,WAAW,CAC/B,WAAsC;IAEtC,IAAI,WAAW,IAAI,IAAI,EAAE,CAAC;QACxB,WAAW,GAAG,gBAAgB,EAAE,CAAC;IACnC,CAAC;IAED,MAAM,KAAK,GAAG,MAAM,SAAS,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC;IAClD,MAAM,UAAU,GAAG,IAAI,cAAc,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC;IAEhE,MAAM,aAAa,GAAG,MAAM,UAAU,CAAC,0BAA0B,CAC/D,KAAK,EACL,0BAA0B,EAC1B,KAAK,CAAC,YAAY,CACnB,CAAC;IAEF,MAAM,WAAW,GAAG,CAAC,aAAa,CAAC,OAAO,IAAI,EAAE,CAA8B,CAAC;IAE/E,OAAO;QACL,oBAAoB,EAAE,CAAC,aAAa,CAAC,oBAAoB,IAAI,EAAE,CAAW;QAC1E,kBAAkB,EAAE,CAAC,aAAa,CAAC,aAAa,IAAI,CAAC,CAAW;QAChE,mBAAmB,EAAE,CAAC,aAAa,CAAC,cAAc,IAAI,CAAC,CAAW;QAClE,mBAAmB,EAAE,CAAC,aAAa,CAAC,cAAc,IAAI,CAAC,CAAW;QAClE,OAAO,EAAE,WAAW,CAAC,GAAG,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;YACzC,WAAW,EAAE,CAAC,WAAW,CAAC,WAAW,IAAI,EAAE,CAAW;YACtD,kBAAkB,EAAE,CAAC,WAAW,CAAC,kBAAkB,IAAI,EAAE,CAAW;YACpE,aAAa,EAAE,CAAC,WAAW,CAAC,aAAa,IAAI,QAAQ,CAAW;YAChE,UAAU,EAAE,CAAC,WAAW,CAAC,UAAU,IAAI,IAAI,CAAkB;YAC7D,gBAAgB,EAAE,CAAC,WAAW,CAAC,gBAAgB,IAAI,IAAI,CAAkB;YACzE,UAAU,EAAE,CAAC,WAAW,CAAC,UAAU,IAAI,IAAI,CAAkB;YAC7D,QAAQ,EAAE,CAAC,WAAW,CAAC,QAAQ,IAAI,IAAI,CAAkB;YACzD,SAAS,EAAE,CAAC,WAAW,CAAC,SAAS,IAAI,IAAI,CAAkB;YAC3D,WAAW,EAAE,CAAC,WAAW,CAAC,WAAW,IAAI,IAAI,CAAkB;SAChE,CAAC,CAAC;KACJ,CAAC;AACJ,CAAC;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,CAAC,KAAK,UAAU,YAAY,CAChC,WAAsC;IAEtC,IAAI,WAAW,IAAI,IAAI,EAAE,CAAC;QACxB,WAAW,GAAG,gBAAgB,EAAE,CAAC;IACnC,CAAC;IAED,MAAM,KAAK,GAAG,MAAM,SAAS,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC;IAClD,MAAM,UAAU,GAAG,IAAI,cAAc,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC;IAEhE,MAAM,SAAS,GAAG,MAAM,UAAU,CAAC,0BAA0B,CAC3D,MAAM,EACN,gCAAgC,EAChC,KAAK,CAAC,YAAY,EAClB,EAAE,CACH,CAAC;IAEF,sBAAsB,EAAE,CAAC;IAEzB,OAAO;QACL,oBAAoB,EAAE,CAAC,SAAS,CAAC,oBAAoB,IAAI,EAAE,CAAW;QACtE,eAAe,EAAE,OAAO,CAAC,SAAS,CAAC,eAAe,CAAC;QACnD,UAAU,EAAE,CAAC,SAAS,CAAC,UAAU,IAAI,EAAE,CAAW;QAClD,mBAAmB,EAAE,CAAC,SAAS,CAAC,mBAAmB,IAAI,CAAC,CAAW;KACpE,CAAC;AACJ,CAAC;AAED;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,qBAAqB,CACzC,sBAA8B,EAC9B,WAAsC;IAEtC,IAAI,WAAW,IAAI,IAAI,EAAE,CAAC;QACxB,WAAW,GAAG,gBAAgB,EAAE,CAAC;IACnC,CAAC;IAED,MAAM,KAAK,GAAG,MAAM,SAAS,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC;IAClD,MAAM,UAAU,GAAG,IAAI,cAAc,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC;IAEhE,MAAM,aAAa,GAAG,MAAM,UAAU,CAAC,0BAA0B,CAC/D,KAAK,EACL,iCAAiC,EACjC,KAAK,CAAC,YAAY,EAClB,EAAE,cAAc,EAAE,sBAAsB,EAAE,CAC3C,CAAC;IAEF,sBAAsB,EAAE,CAAC;IAEzB,OAAO,OAAO,CAAC,aAAa,CAAC,yBAAyB,CAAC,CAAC;AAC1D,CAAC"}
package/dist/enroll.d.ts CHANGED
@@ -1,10 +1,12 @@
1
1
  /**
2
2
  * Enrollment logic for the 1id.com Node.js SDK.
3
3
  *
4
- * Orchestrates the enrollment flow for all trust tiers:
5
- * - Declared: Pure software, generates a keypair, sends public key to server.
4
+ * Orchestrates the enrollment flow for all trust tiers
5
+ * (RFC: draft-drake-email-hardware-attestation-00 Section 3):
6
+ * - Declared: Pure software, generates a keypair, sends public key to server.
6
7
  * - Sovereign: Spawns Go binary for TPM operations, two-phase enrollment.
7
- * - Sovereign-portable: Spawns Go binary for YubiKey/PIV operations.
8
+ * - Portable: Spawns Go binary for YubiKey/PIV operations.
9
+ * - Virtual: Spawns Go binary for vTPM operations.
8
10
  *
9
11
  * When request_tier is omitted, the SDK auto-detects the best available
10
12
  * hardware and enrolls at the highest trust tier the machine supports,
@@ -1 +1 @@
1
- {"version":3,"file":"enroll.d.ts","sourceRoot":"","sources":["../src/enroll.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AASH,OAAO,EAGL,KAAK,QAAQ,EACb,YAAY,EAEb,MAAM,eAAe,CAAC;AA6BvB;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B;;;OAGG;IACH,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B;;;;;OAKG;IACH,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,oDAAoD;IACpD,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,6DAA6D;IAC7D,gBAAgB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACjC,gFAAgF;IAChF,aAAa,CAAC,EAAE,MAAM,GAAG,YAAY,GAAG,IAAI,CAAC;IAC7C,iEAAiE;IACjE,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED;;;;;;;;GAQG;AACH,wBAAsB,MAAM,CAAC,OAAO,CAAC,EAAE,aAAa,GAAG,OAAO,CAAC,QAAQ,CAAC,CA+CvE"}
1
+ {"version":3,"file":"enroll.d.ts","sourceRoot":"","sources":["../src/enroll.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AASH,OAAO,EAGL,KAAK,QAAQ,EACb,YAAY,EAEb,MAAM,eAAe,CAAC;AAwBvB;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B;;;OAGG;IACH,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B;;;;;OAKG;IACH,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,oDAAoD;IACpD,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,6DAA6D;IAC7D,gBAAgB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACjC,gFAAgF;IAChF,aAAa,CAAC,EAAE,MAAM,GAAG,YAAY,GAAG,IAAI,CAAC;IAC7C,iEAAiE;IACjE,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED;;;;;;;;GAQG;AACH,wBAAsB,MAAM,CAAC,OAAO,CAAC,EAAE,aAAa,GAAG,OAAO,CAAC,QAAQ,CAAC,CA+CvE"}
package/dist/enroll.js CHANGED
@@ -1,10 +1,12 @@
1
1
  /**
2
2
  * Enrollment logic for the 1id.com Node.js SDK.
3
3
  *
4
- * Orchestrates the enrollment flow for all trust tiers:
5
- * - Declared: Pure software, generates a keypair, sends public key to server.
4
+ * Orchestrates the enrollment flow for all trust tiers
5
+ * (RFC: draft-drake-email-hardware-attestation-00 Section 3):
6
+ * - Declared: Pure software, generates a keypair, sends public key to server.
6
7
  * - Sovereign: Spawns Go binary for TPM operations, two-phase enrollment.
7
- * - Sovereign-portable: Spawns Go binary for YubiKey/PIV operations.
8
+ * - Portable: Spawns Go binary for YubiKey/PIV operations.
9
+ * - Virtual: Spawns Go binary for vTPM operations.
8
10
  *
9
11
  * When request_tier is omitted, the SDK auto-detects the best available
10
12
  * hardware and enrolls at the highest trust tier the machine supports,
@@ -21,23 +23,18 @@ import { generate_keypair } from "./keys.js";
21
23
  /** Trust tiers that require an HSM and the Go binary. */
22
24
  const TIERS_REQUIRING_HSM = new Set([
23
25
  TrustTier.SOVEREIGN,
24
- TrustTier.SOVEREIGN_PORTABLE,
25
- TrustTier.LEGACY,
26
+ TrustTier.PORTABLE,
26
27
  TrustTier.VIRTUAL,
27
- TrustTier.ENCLAVE,
28
28
  ]);
29
29
  /** HSM type preferences by tier. */
30
30
  const TIER_TO_HSM_TYPE_PREFERENCES = {
31
31
  [TrustTier.SOVEREIGN]: ["tpm"],
32
- [TrustTier.SOVEREIGN_PORTABLE]: ["yubikey", "nitrokey", "feitian", "solokeys"],
33
- [TrustTier.LEGACY]: ["tpm", "yubikey", "nitrokey", "feitian"],
32
+ [TrustTier.PORTABLE]: ["yubikey", "nitrokey", "feitian", "solokeys"],
34
33
  [TrustTier.VIRTUAL]: ["tpm"],
35
- [TrustTier.ENCLAVE]: ["secure_enclave"],
36
34
  };
37
35
  const AUTO_DETECT_TIER_PREFERENCE_ORDER = [
38
36
  TrustTier.SOVEREIGN,
39
- TrustTier.SOVEREIGN_PORTABLE,
40
- TrustTier.ENCLAVE,
37
+ TrustTier.PORTABLE,
41
38
  TrustTier.VIRTUAL,
42
39
  TrustTier.DECLARED,
43
40
  ];
@@ -83,7 +80,7 @@ async function enroll_at_specific_tier(tier, display_name, operator_email, reque
83
80
  if (tier === TrustTier.DECLARED) {
84
81
  return enroll_declared_tier(operator_email, requested_handle, display_name, key_algorithm, api_base_url);
85
82
  }
86
- else if (tier === TrustTier.SOVEREIGN_PORTABLE) {
83
+ else if (tier === TrustTier.PORTABLE) {
87
84
  return enroll_piv_tier(tier, operator_email, requested_handle, display_name, api_base_url);
88
85
  }
89
86
  else if (TIERS_REQUIRING_HSM.has(tier)) {
@@ -129,7 +126,8 @@ async function enroll_declared_tier(operator_email, requested_handle, display_na
129
126
  // Step 3: Parse server response
130
127
  const identity_data = (server_response.identity ?? {});
131
128
  const credentials_data = (server_response.credentials ?? {});
132
- const internal_id = identity_data.internal_id ?? "";
129
+ const internal_id = identity_data.agent_id ?? identity_data.internal_id ?? "";
130
+ const agent_identity_urn = identity_data.agent_identity_urn ?? "";
133
131
  const handle = identity_data.handle ?? `@${internal_id.slice(0, 12)}`;
134
132
  const enrolled_at_str = identity_data.registered_at ?? new Date().toISOString();
135
133
  // Step 4: Store credentials locally
@@ -144,6 +142,7 @@ async function enroll_declared_tier(operator_email, requested_handle, display_na
144
142
  private_key_pem,
145
143
  enrolled_at: enrolled_at_str,
146
144
  display_name,
145
+ agent_identity_urn: agent_identity_urn || null,
147
146
  };
148
147
  const credentials_file_path = save_credentials(stored_credentials);
149
148
  console.log(`[oneid] Credentials saved to ${credentials_file_path}`);
@@ -163,11 +162,12 @@ async function enroll_declared_tier(operator_email, requested_handle, display_na
163
162
  enrolled_at,
164
163
  device_count: 0,
165
164
  key_algorithm,
165
+ agent_identity_urn: agent_identity_urn || null,
166
166
  display_name,
167
167
  };
168
168
  }
169
169
  /**
170
- * Enroll at the sovereign-portable tier using a PIV device (YubiKey).
170
+ * Enroll at the portable tier using a PIV device (YubiKey/Nitrokey/Feitian).
171
171
  *
172
172
  * This uses the Go binary (oneid-enroll) to:
173
173
  * 1. Detect available HSMs and select a PIV device
@@ -200,7 +200,8 @@ async function enroll_piv_tier(request_tier, operator_email, requested_handle, d
200
200
  const activate_response = await api_client.enroll_activate(begin_response.enrollment_session_id, signed_nonce_b64);
201
201
  const identity_data = (activate_response.identity ?? {});
202
202
  const credentials_data = (activate_response.credentials ?? {});
203
- const internal_id = identity_data.internal_id ?? "";
203
+ const internal_id = identity_data.agent_id ?? identity_data.internal_id ?? "";
204
+ const agent_identity_urn = identity_data.agent_identity_urn ?? "";
204
205
  const handle = identity_data.handle ?? `@${internal_id.slice(0, 12)}`;
205
206
  const trust_tier_str = identity_data.trust_tier ?? request_tier;
206
207
  const enrolled_at_str = identity_data.registered_at ?? new Date().toISOString();
@@ -215,6 +216,7 @@ async function enroll_piv_tier(request_tier, operator_email, requested_handle, d
215
216
  hsm_key_reference: "piv-slot-9a",
216
217
  enrolled_at: enrolled_at_str,
217
218
  display_name,
219
+ agent_identity_urn: agent_identity_urn || null,
218
220
  };
219
221
  save_credentials(stored_credentials);
220
222
  let enrolled_at;
@@ -250,6 +252,7 @@ async function enroll_piv_tier(request_tier, operator_email, requested_handle, d
250
252
  enrolled_at,
251
253
  device_count: identity_data.device_count ?? 1,
252
254
  key_algorithm: KeyAlgorithm.ECDSA_P256,
255
+ agent_identity_urn: agent_identity_urn || null,
253
256
  display_name,
254
257
  };
255
258
  }
@@ -279,7 +282,8 @@ async function enroll_hsm_tier(request_tier, operator_email, requested_handle, d
279
282
  // Step 7: Store credentials and return Identity
280
283
  const identity_data = (activate_response.identity ?? {});
281
284
  const credentials_data = (activate_response.credentials ?? {});
282
- const internal_id = identity_data.internal_id ?? "";
285
+ const internal_id = identity_data.agent_id ?? identity_data.internal_id ?? "";
286
+ const agent_identity_urn = identity_data.agent_identity_urn ?? "";
283
287
  const handle = identity_data.handle ?? `@${internal_id.slice(0, 12)}`;
284
288
  const trust_tier_str = identity_data.trust_tier ?? request_tier;
285
289
  const enrolled_at_str = identity_data.registered_at ?? new Date().toISOString();
@@ -294,6 +298,7 @@ async function enroll_hsm_tier(request_tier, operator_email, requested_handle, d
294
298
  hsm_key_reference: attestation_data.ak_handle ?? null,
295
299
  enrolled_at: enrolled_at_str,
296
300
  display_name,
301
+ agent_identity_urn: agent_identity_urn || null,
297
302
  };
298
303
  save_credentials(stored_credentials);
299
304
  let enrolled_at;
@@ -329,6 +334,7 @@ async function enroll_hsm_tier(request_tier, operator_email, requested_handle, d
329
334
  enrolled_at,
330
335
  device_count: identity_data.device_count ?? 1,
331
336
  key_algorithm: KeyAlgorithm.RSA_2048,
337
+ agent_identity_urn: agent_identity_urn || null,
332
338
  display_name,
333
339
  };
334
340
  }
@@ -1 +1 @@
1
- {"version":3,"file":"enroll.js","sourceRoot":"","sources":["../src/enroll.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"enroll.js","sourceRoot":"","sources":["../src/enroll.ts"],"names":[],"mappings":"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"}
@@ -48,6 +48,19 @@ export declare class UACDeniedError extends EnrollmentError {
48
48
  export declare class HSMAccessError extends EnrollmentError {
49
49
  constructor(message?: string);
50
50
  }
51
+ /**
52
+ * TPM is present but TBS (TPM Base Services) access is not configured.
53
+ *
54
+ * On Windows, non-admin users cannot access the TPM unless a one-time
55
+ * registry key is set. This exception signals that the calling application
56
+ * should display a privacy warning, call oneid.setup_tbs() if the user
57
+ * consents, call oneid.record_privacy_consent(), and retry enrollment.
58
+ *
59
+ * Distinct from NoHSMError (no TPM) and HSMAccessError (TPM broken/locked).
60
+ */
61
+ export declare class TPMSetupRequiredError extends EnrollmentError {
62
+ constructor(message?: string);
63
+ }
51
64
  /**
52
65
  * This HSM is already enrolled with a different identity.
53
66
  */
@@ -78,6 +91,20 @@ export declare class HandleRetiredError extends EnrollmentError {
78
91
  export declare class AuthenticationError extends OneIDError {
79
92
  constructor(message?: string);
80
93
  }
94
+ /**
95
+ * Hardware device required for authentication but not detected or not responding.
96
+ *
97
+ * Raised by get_token() when the identity's trust_tier is hardware-backed
98
+ * (sovereign, portable, virtual) but the physical TPM or PIV device is
99
+ * absent, inaccessible, or the challenge-response signing failed.
100
+ *
101
+ * This is an intentional security property: credentials.json for a
102
+ * hardware-tier identity is useless without the physical device.
103
+ * get_token() never falls back to bare client_credentials for hardware tiers.
104
+ */
105
+ export declare class HardwareDeviceNotPresentError extends AuthenticationError {
106
+ constructor(message?: string);
107
+ }
81
108
  /**
82
109
  * Could not reach the 1id.com API server.
83
110
  */
@@ -1 +1 @@
1
- {"version":3,"file":"exceptions.d.ts","sourceRoot":"","sources":["../src/exceptions.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAEH;;GAEG;AACH,qBAAa,UAAW,SAAQ,KAAK;IACnC,SAAgB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;gBAE9B,OAAO,GAAE,MAA2C,EAAE,UAAU,GAAE,MAAM,GAAG,IAAW;CAOnG;AAED;;GAEG;AACH,qBAAa,eAAgB,SAAQ,UAAU;gBACjC,OAAO,GAAE,MAA4B,EAAE,UAAU,GAAE,MAAM,GAAG,IAAW;CAIpF;AAED;;GAEG;AACH,qBAAa,UAAW,SAAQ,eAAe;gBACjC,OAAO,GAAE,MAA4C;CAIlE;AAED;;GAEG;AACH,qBAAa,cAAe,SAAQ,eAAe;gBACrC,OAAO,GAAE,MAAuC;CAI7D;AAED;;GAEG;AACH,qBAAa,cAAe,SAAQ,eAAe;gBACrC,OAAO,GAAE,MAAsC;CAI5D;AAED;;GAEG;AACH,qBAAa,oBAAqB,SAAQ,eAAe;gBAC3C,OAAO,GAAE,MAAiE;CAIvF;AAED;;GAEG;AACH,qBAAa,gBAAiB,SAAQ,eAAe;gBACvC,OAAO,GAAE,MAA6C;CAInE;AAED;;GAEG;AACH,qBAAa,kBAAmB,SAAQ,eAAe;gBACzC,OAAO,GAAE,MAAiD;CAIvE;AAED;;GAEG;AACH,qBAAa,kBAAmB,SAAQ,eAAe;gBACzC,OAAO,GAAE,MAAgE;CAItF;AAED;;GAEG;AACH,qBAAa,mBAAoB,SAAQ,UAAU;gBACrC,OAAO,GAAE,MAAgC;CAItD;AAED;;GAEG;AACH,qBAAa,YAAa,SAAQ,UAAU;gBAC9B,OAAO,GAAE,MAAkC;CAIxD;AAED;;GAEG;AACH,qBAAa,gBAAiB,SAAQ,UAAU;gBAClC,OAAO,GAAE,MAAoD;CAI1E;AAED;;GAEG;AACH,qBAAa,mBAAoB,SAAQ,UAAU;gBACrC,OAAO,GAAE,MAAoE;CAI1F;AAED;;GAEG;AACH,qBAAa,sBAAuB,SAAQ,eAAe;gBAC7C,OAAO,GAAE,MAA8D;CAIpF;AAcD;;GAEG;AACH,wBAAgB,gCAAgC,CAAC,UAAU,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,GAAG,KAAK,CAGjG"}
1
+ {"version":3,"file":"exceptions.d.ts","sourceRoot":"","sources":["../src/exceptions.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAEH;;GAEG;AACH,qBAAa,UAAW,SAAQ,KAAK;IACnC,SAAgB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;gBAE9B,OAAO,GAAE,MAA2C,EAAE,UAAU,GAAE,MAAM,GAAG,IAAW;CAOnG;AAED;;GAEG;AACH,qBAAa,eAAgB,SAAQ,UAAU;gBACjC,OAAO,GAAE,MAA4B,EAAE,UAAU,GAAE,MAAM,GAAG,IAAW;CAIpF;AAED;;GAEG;AACH,qBAAa,UAAW,SAAQ,eAAe;gBACjC,OAAO,GAAE,MAA4C;CAIlE;AAED;;GAEG;AACH,qBAAa,cAAe,SAAQ,eAAe;gBACrC,OAAO,GAAE,MAAuC;CAI7D;AAED;;GAEG;AACH,qBAAa,cAAe,SAAQ,eAAe;gBACrC,OAAO,GAAE,MAAsC;CAI5D;AAED;;;;;;;;;GASG;AACH,qBAAa,qBAAsB,SAAQ,eAAe;gBAC5C,OAAO,GAAE,MAA2D;CAIjF;AAED;;GAEG;AACH,qBAAa,oBAAqB,SAAQ,eAAe;gBAC3C,OAAO,GAAE,MAAiE;CAIvF;AAED;;GAEG;AACH,qBAAa,gBAAiB,SAAQ,eAAe;gBACvC,OAAO,GAAE,MAA6C;CAInE;AAED;;GAEG;AACH,qBAAa,kBAAmB,SAAQ,eAAe;gBACzC,OAAO,GAAE,MAAiD;CAIvE;AAED;;GAEG;AACH,qBAAa,kBAAmB,SAAQ,eAAe;gBACzC,OAAO,GAAE,MAAgE;CAItF;AAED;;GAEG;AACH,qBAAa,mBAAoB,SAAQ,UAAU;gBACrC,OAAO,GAAE,MAAgC;CAItD;AAED;;;;;;;;;;GAUG;AACH,qBAAa,6BAA8B,SAAQ,mBAAmB;gBACxD,OAAO,GAAE,MAAqE;CAK3F;AAED;;GAEG;AACH,qBAAa,YAAa,SAAQ,UAAU;gBAC9B,OAAO,GAAE,MAAkC;CAIxD;AAED;;GAEG;AACH,qBAAa,gBAAiB,SAAQ,UAAU;gBAClC,OAAO,GAAE,MAAoD;CAI1E;AAED;;GAEG;AACH,qBAAa,mBAAoB,SAAQ,UAAU;gBACrC,OAAO,GAAE,MAAoE;CAI1F;AAED;;GAEG;AACH,qBAAa,sBAAuB,SAAQ,eAAe;gBAC7C,OAAO,GAAE,MAA8D;CAIpF;AAeD;;GAEG;AACH,wBAAgB,gCAAgC,CAAC,UAAU,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,GAAG,KAAK,CAGjG"}
@@ -66,6 +66,22 @@ export class HSMAccessError extends EnrollmentError {
66
66
  this.name = "HSMAccessError";
67
67
  }
68
68
  }
69
+ /**
70
+ * TPM is present but TBS (TPM Base Services) access is not configured.
71
+ *
72
+ * On Windows, non-admin users cannot access the TPM unless a one-time
73
+ * registry key is set. This exception signals that the calling application
74
+ * should display a privacy warning, call oneid.setup_tbs() if the user
75
+ * consents, call oneid.record_privacy_consent(), and retry enrollment.
76
+ *
77
+ * Distinct from NoHSMError (no TPM) and HSMAccessError (TPM broken/locked).
78
+ */
79
+ export class TPMSetupRequiredError extends EnrollmentError {
80
+ constructor(message = "TPM found but TBS access requires one-time setup") {
81
+ super(message, "TBS_ACCESS_DENIED");
82
+ this.name = "TPMSetupRequiredError";
83
+ }
84
+ }
69
85
  /**
70
86
  * This HSM is already enrolled with a different identity.
71
87
  */
@@ -111,6 +127,24 @@ export class AuthenticationError extends OneIDError {
111
127
  this.name = "AuthenticationError";
112
128
  }
113
129
  }
130
+ /**
131
+ * Hardware device required for authentication but not detected or not responding.
132
+ *
133
+ * Raised by get_token() when the identity's trust_tier is hardware-backed
134
+ * (sovereign, portable, virtual) but the physical TPM or PIV device is
135
+ * absent, inaccessible, or the challenge-response signing failed.
136
+ *
137
+ * This is an intentional security property: credentials.json for a
138
+ * hardware-tier identity is useless without the physical device.
139
+ * get_token() never falls back to bare client_credentials for hardware tiers.
140
+ */
141
+ export class HardwareDeviceNotPresentError extends AuthenticationError {
142
+ constructor(message = "Hardware device required but not present or not responding") {
143
+ super(message);
144
+ this.name = "HardwareDeviceNotPresentError";
145
+ this.error_code = "HARDWARE_DEVICE_NOT_PRESENT";
146
+ }
147
+ }
114
148
  /**
115
149
  * Could not reach the 1id.com API server.
116
150
  */
@@ -157,6 +191,7 @@ const SERVER_ERROR_CODE_TO_EXCEPTION_CLASS = {
157
191
  "HANDLE_RETIRED": HandleRetiredError,
158
192
  "RATE_LIMIT_EXCEEDED": RateLimitExceededError,
159
193
  "RATE_LIMITED": RateLimitExceededError,
194
+ "HARDWARE_PROOF_REQUIRED": HardwareDeviceNotPresentError,
160
195
  };
161
196
  /**
162
197
  * Raise the appropriate exception for a server error response.
@@ -1 +1 @@
1
- {"version":3,"file":"exceptions.js","sourceRoot":"","sources":["../src/exceptions.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"exceptions.js","sourceRoot":"","sources":["../src/exceptions.ts"],"names":[],"mappings":"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"}
package/dist/helper.d.ts CHANGED
@@ -48,6 +48,18 @@ export declare function extract_attestation_data(hsm: Record<string, unknown>):
48
48
  * Decrypt a credential activation challenge via the HSM (requires elevation).
49
49
  */
50
50
  export declare function activate_credential(_hsm: Record<string, unknown>, credential_blob_b64: string, encrypted_secret_b64: string, ak_handle: string): Promise<string>;
51
+ /**
52
+ * Run the one-time TBS access setup via the Go binary.
53
+ *
54
+ * Calls 'oneid-enroll setup-tbs --elevated --json' which sets a Windows
55
+ * registry key to allow non-admin users to access TPM Base Services.
56
+ * Triggers a UAC prompt on Windows. No-op on other platforms.
57
+ *
58
+ * @returns Object with ok, already_set, and optionally platform fields.
59
+ * @throws UACDeniedError if the user denied the UAC prompt.
60
+ * @throws HSMAccessError if the registry key could not be set.
61
+ */
62
+ export declare function setup_tbs_for_non_admin_tpm_access(): Promise<Record<string, unknown>>;
51
63
  /**
52
64
  * Sign a challenge nonce using the PIV key in slot 9a -- NO ELEVATION NEEDED.
53
65
  *
@@ -1 +1 @@
1
- {"version":3,"file":"helper.d.ts","sourceRoot":"","sources":["../src/helper.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAmEH;;;;;;;;;GASG;AACH,wBAAgB,WAAW,IAAI,MAAM,GAAG,IAAI,CAyC3C;AAsJD;;;;;GAKG;AACH,wBAAsB,uBAAuB,IAAI,OAAO,CAAC,MAAM,CAAC,CAqB/D;AAED;;GAEG;AACH,wBAAsB,kBAAkB,CACtC,OAAO,EAAE,MAAM,EACf,IAAI,CAAC,EAAE,MAAM,EAAE,EACf,SAAS,GAAE,OAAc,EACzB,oBAAoB,GAAE,MAAe,GACpC,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAgElC;AAED;;;;GAIG;AACH,wBAAsB,qBAAqB,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAAC,CAShF;AAED;;GAEG;AACH,wBAAsB,wBAAwB,CAC5C,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC3B,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAGlC;AAED;;GAEG;AACH,wBAAsB,mBAAmB,CACvC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7B,mBAAmB,EAAE,MAAM,EAC3B,oBAAoB,EAAE,MAAM,EAC5B,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,MAAM,CAAC,CAQjB;AAED;;;;;;;;GAQG;AACH,wBAAsB,uBAAuB,CAC3C,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAKlC;AAED;;;;GAIG;AACH,wBAAsB,uBAAuB,CAC3C,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAKlC"}
1
+ {"version":3,"file":"helper.d.ts","sourceRoot":"","sources":["../src/helper.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAoEH;;;;;;;;;GASG;AACH,wBAAgB,WAAW,IAAI,MAAM,GAAG,IAAI,CAyC3C;AAsJD;;;;;GAKG;AACH,wBAAsB,uBAAuB,IAAI,OAAO,CAAC,MAAM,CAAC,CAqB/D;AAED;;GAEG;AACH,wBAAsB,kBAAkB,CACtC,OAAO,EAAE,MAAM,EACf,IAAI,CAAC,EAAE,MAAM,EAAE,EACf,SAAS,GAAE,OAAc,EACzB,oBAAoB,GAAE,MAAe,GACpC,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAkElC;AAED;;;;GAIG;AACH,wBAAsB,qBAAqB,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAAC,CAShF;AAED;;GAEG;AACH,wBAAsB,wBAAwB,CAC5C,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC3B,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAGlC;AAED;;GAEG;AACH,wBAAsB,mBAAmB,CACvC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7B,mBAAmB,EAAE,MAAM,EAC3B,oBAAoB,EAAE,MAAM,EAC5B,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,MAAM,CAAC,CAQjB;AAED;;;;;;;;;;GAUG;AACH,wBAAsB,kCAAkC,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAE3F;AAED;;;;;;;;GAQG;AACH,wBAAsB,uBAAuB,CAC3C,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAKlC;AAED;;;;GAIG;AACH,wBAAsB,uBAAuB,CAC3C,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAKlC"}
package/dist/helper.js CHANGED
@@ -19,7 +19,7 @@ import * as https from "node:https";
19
19
  import * as http from "node:http";
20
20
  import * as os from "node:os";
21
21
  import * as path from "node:path";
22
- import { BinaryNotFoundError, HSMAccessError, NoHSMError, UACDeniedError, } from "./exceptions.js";
22
+ import { BinaryNotFoundError, HSMAccessError, NoHSMError, TPMSetupRequiredError, UACDeniedError, } from "./exceptions.js";
23
23
  // -- GitHub release URL for auto-download --
24
24
  const GITHUB_RELEASE_DOWNLOAD_URL_TEMPLATE = "https://github.com/1id-com/oneid-enroll/releases/latest/download/{binary_name}";
25
25
  // -- Binary naming convention --
@@ -126,7 +126,7 @@ function download_file_to_path(url, destination, max_redirects = 5) {
126
126
  return;
127
127
  }
128
128
  const transport = url.startsWith("https:") ? https : http;
129
- transport.get(url, { headers: { "User-Agent": "oneid-sdk-node/0.3.0" } }, (res) => {
129
+ transport.get(url, { headers: { "User-Agent": "oneid-sdk-node/0.5.0" } }, (res) => {
130
130
  // Handle redirects (GitHub releases redirect to S3)
131
131
  if (res.statusCode && res.statusCode >= 300 && res.statusCode < 400 && res.headers.location) {
132
132
  download_file_to_path(res.headers.location, destination, max_redirects - 1)
@@ -162,7 +162,7 @@ function download_text_from_url(url, max_redirects = 5) {
162
162
  return;
163
163
  }
164
164
  const transport = url.startsWith("https:") ? https : http;
165
- transport.get(url, { headers: { "User-Agent": "oneid-sdk-node/0.3.0" } }, (res) => {
165
+ transport.get(url, { headers: { "User-Agent": "oneid-sdk-node/0.5.0" } }, (res) => {
166
166
  if (res.statusCode && res.statusCode >= 300 && res.statusCode < 400 && res.headers.location) {
167
167
  download_text_from_url(res.headers.location, max_redirects - 1)
168
168
  .then(resolve)
@@ -315,7 +315,10 @@ export async function run_binary_command(command, args, json_mode = true, timeou
315
315
  if (exit_code !== 0) {
316
316
  const error_code = output.error_code ?? "UNKNOWN";
317
317
  const error_message = output.error ?? (stderr_data.trim() || `Exit code ${exit_code}`);
318
- if (error_code === "NO_HSM_FOUND" || /no.*hsm/i.test(error_message) || /no.*tpm/i.test(error_message)) {
318
+ if (error_code === "TBS_ACCESS_DENIED" || error_code === "TBS_ACCESS_NOT_CONFIGURED") {
319
+ reject(new TPMSetupRequiredError(error_message));
320
+ }
321
+ else if (error_code === "NO_HSM_FOUND" || /no.*hsm/i.test(error_message) || /no.*tpm/i.test(error_message)) {
319
322
  reject(new NoHSMError(error_message));
320
323
  }
321
324
  else if (error_code === "UAC_DENIED" || /denied/i.test(error_message)) {
@@ -372,6 +375,20 @@ export async function activate_credential(_hsm, credential_blob_b64, encrypted_s
372
375
  ]);
373
376
  return output.decrypted_credential ?? "";
374
377
  }
378
+ /**
379
+ * Run the one-time TBS access setup via the Go binary.
380
+ *
381
+ * Calls 'oneid-enroll setup-tbs --elevated --json' which sets a Windows
382
+ * registry key to allow non-admin users to access TPM Base Services.
383
+ * Triggers a UAC prompt on Windows. No-op on other platforms.
384
+ *
385
+ * @returns Object with ok, already_set, and optionally platform fields.
386
+ * @throws UACDeniedError if the user denied the UAC prompt.
387
+ * @throws HSMAccessError if the registry key could not be set.
388
+ */
389
+ export async function setup_tbs_for_non_admin_tpm_access() {
390
+ return run_binary_command("setup-tbs", ["--elevated"]);
391
+ }
375
392
  /**
376
393
  * Sign a challenge nonce using the PIV key in slot 9a -- NO ELEVATION NEEDED.
377
394
  *
@@ -1 +1 @@
1
- {"version":3,"file":"helper.js","sourceRoot":"","sources":["../src/helper.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"helper.js","sourceRoot":"","sources":["../src/helper.ts"],"names":[],"mappings":"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"}
@@ -7,20 +7,18 @@
7
7
  /**
8
8
  * Trust tiers assigned by 1id.com based on hardware attestation.
9
9
  *
10
+ * RFC: draft-drake-email-hardware-attestation-00 Section 3.
11
+ *
10
12
  * Ordered from highest to lowest Sybil resistance:
11
- * - sovereign: Non-portable hardware (TPM), manufacturer-attested, current cert
12
- * - sovereign-portable: Portable hardware (YubiKey/Nitrokey), manufacturer-attested
13
- * - legacy: Was sovereign/sovereign-portable, but manufacturer cert expired
14
- * - virtual: Virtual TPM (VMware/Hyper-V), hypervisor-attested
15
- * - enclave: Apple Secure Enclave, TOFU (no attestation PKI)
16
- * - declared: Software-only, no hardware proof, self-asserted
13
+ * - sovereign (TPM): Non-portable discrete/firmware TPM, manufacturer CA chain verifiable
14
+ * - portable (PIV): Portable PIV device (YubiKey/Nitrokey/Feitian), manufacturer-attested
15
+ * - virtual (VRT): Hypervisor vTPM (VMware/Hyper-V/QEMU), hypervisor-attested
16
+ * - declared (SFT): Software-only, no hardware proof, works everywhere
17
17
  */
18
18
  export declare enum TrustTier {
19
19
  SOVEREIGN = "sovereign",
20
- SOVEREIGN_PORTABLE = "sovereign-portable",
21
- LEGACY = "legacy",
20
+ PORTABLE = "portable",
22
21
  VIRTUAL = "virtual",
23
- ENCLAVE = "enclave",
24
22
  DECLARED = "declared"
25
23
  }
26
24
  /**
@@ -69,6 +67,8 @@ export interface Identity {
69
67
  readonly device_count: number;
70
68
  /** The key algorithm used for this identity's signing key. */
71
69
  readonly key_algorithm: KeyAlgorithm;
70
+ /** Agent Identity URN (e.g., 'urn:aid:1id.com:1id-a7b3c9d2'), or null if not yet assigned. */
71
+ readonly agent_identity_urn: string | null;
72
72
  /** Friendly name chosen by the agent (e.g., "Clawdia", "Sparky"). */
73
73
  readonly display_name: string | null;
74
74
  }