1id 0.4.0 → 0.5.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.
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
  /**
@@ -55,7 +53,7 @@ export declare enum HSMType {
55
53
  export interface Identity {
56
54
  /** Permanent unique identifier (e.g., '1id-a7b3c9d2'). Never changes. */
57
55
  readonly internal_id: string;
58
- /** Display name (e.g., '@clawdia' or '@1id-a7b3c9d2'). */
56
+ /** Handle (e.g., '@clawdia' or '@1id-a7b3c9d2'). */
59
57
  readonly handle: string;
60
58
  /** The trust level assigned based on hardware attestation. */
61
59
  readonly trust_tier: TrustTier;
@@ -69,6 +67,10 @@ 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
+ /** Friendly name chosen by the agent (e.g., "Clawdia", "Sparky"). */
73
+ readonly display_name: string | null;
72
74
  }
73
75
  /**
74
76
  * Represents an OAuth2 access token from 1id.com / Keycloak.
@@ -1 +1 @@
1
- {"version":3,"file":"identity.d.ts","sourceRoot":"","sources":["../src/identity.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH;;;;;;;;;;GAUG;AACH,oBAAY,SAAS;IACnB,SAAS,cAAc;IACvB,kBAAkB,uBAAuB;IACzC,MAAM,WAAW;IACjB,OAAO,YAAY;IACnB,OAAO,YAAY;IACnB,QAAQ,aAAa;CACtB;AAED;;GAEG;AACH,oBAAY,YAAY;IACtB,OAAO,YAAY;IACnB,UAAU,eAAe;IACzB,UAAU,eAAe;IACzB,QAAQ,aAAa;IACrB,QAAQ,aAAa;CACtB;AAED,8DAA8D;AAC9D,eAAO,MAAM,qBAAqB,uBAAuB,CAAC;AAE1D;;GAEG;AACH,oBAAY,OAAO;IACjB,GAAG,QAAQ;IACX,OAAO,YAAY;IACnB,QAAQ,aAAa;IACrB,OAAO,YAAY;IACnB,QAAQ,aAAa;IACrB,cAAc,mBAAmB;IACjC,QAAQ,aAAa;CACtB;AAED;;;;GAIG;AACH,MAAM,WAAW,QAAQ;IACvB,yEAAyE;IACzE,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,0DAA0D;IAC1D,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,8DAA8D;IAC9D,QAAQ,CAAC,UAAU,EAAE,SAAS,CAAC;IAC/B,kEAAkE;IAClE,QAAQ,CAAC,QAAQ,EAAE,OAAO,GAAG,IAAI,CAAC;IAClC,2DAA2D;IAC3D,QAAQ,CAAC,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAC;IACzC,4CAA4C;IAC5C,QAAQ,CAAC,WAAW,EAAE,IAAI,CAAC;IAC3B,wDAAwD;IACxD,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,8DAA8D;IAC9D,QAAQ,CAAC,aAAa,EAAE,YAAY,CAAC;CACtC;AAED;;;;;GAKG;AACH,MAAM,WAAW,KAAK;IACpB,kDAAkD;IAClD,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,uBAAuB;IACvB,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,qCAAqC;IACrC,QAAQ,CAAC,UAAU,EAAE,IAAI,CAAC;IAC1B,8DAA8D;IAC9D,QAAQ,CAAC,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;CACvC;AAED;;;;;GAKG;AACH,wBAAgB,8BAA8B,CAAC,KAAK,EAAE,KAAK,GAAG,OAAO,CAEpE;AAED;;;;GAIG;AACH,wBAAgB,iCAAiC,CAAC,KAAK,EAAE,KAAK,GAAG,MAAM,CAEtE;AAED;;GAEG;AACH,wBAAgB,iCAAiC,CAAC,QAAQ,EAAE,QAAQ,GAAG,MAAM,CAE5E"}
1
+ {"version":3,"file":"identity.d.ts","sourceRoot":"","sources":["../src/identity.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH;;;;;;;;;;GAUG;AACH,oBAAY,SAAS;IACnB,SAAS,cAAc;IACvB,QAAQ,aAAa;IACrB,OAAO,YAAY;IACnB,QAAQ,aAAa;CACtB;AAED;;GAEG;AACH,oBAAY,YAAY;IACtB,OAAO,YAAY;IACnB,UAAU,eAAe;IACzB,UAAU,eAAe;IACzB,QAAQ,aAAa;IACrB,QAAQ,aAAa;CACtB;AAED,8DAA8D;AAC9D,eAAO,MAAM,qBAAqB,uBAAuB,CAAC;AAE1D;;GAEG;AACH,oBAAY,OAAO;IACjB,GAAG,QAAQ;IACX,OAAO,YAAY;IACnB,QAAQ,aAAa;IACrB,OAAO,YAAY;IACnB,QAAQ,aAAa;IACrB,cAAc,mBAAmB;IACjC,QAAQ,aAAa;CACtB;AAED;;;;GAIG;AACH,MAAM,WAAW,QAAQ;IACvB,yEAAyE;IACzE,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,oDAAoD;IACpD,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,8DAA8D;IAC9D,QAAQ,CAAC,UAAU,EAAE,SAAS,CAAC;IAC/B,kEAAkE;IAClE,QAAQ,CAAC,QAAQ,EAAE,OAAO,GAAG,IAAI,CAAC;IAClC,2DAA2D;IAC3D,QAAQ,CAAC,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAC;IACzC,4CAA4C;IAC5C,QAAQ,CAAC,WAAW,EAAE,IAAI,CAAC;IAC3B,wDAAwD;IACxD,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,8DAA8D;IAC9D,QAAQ,CAAC,aAAa,EAAE,YAAY,CAAC;IACrC,8FAA8F;IAC9F,QAAQ,CAAC,kBAAkB,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3C,qEAAqE;IACrE,QAAQ,CAAC,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;CACtC;AAED;;;;;GAKG;AACH,MAAM,WAAW,KAAK;IACpB,kDAAkD;IAClD,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,uBAAuB;IACvB,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,qCAAqC;IACrC,QAAQ,CAAC,UAAU,EAAE,IAAI,CAAC;IAC1B,8DAA8D;IAC9D,QAAQ,CAAC,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;CACvC;AAED;;;;;GAKG;AACH,wBAAgB,8BAA8B,CAAC,KAAK,EAAE,KAAK,GAAG,OAAO,CAEpE;AAED;;;;GAIG;AACH,wBAAgB,iCAAiC,CAAC,KAAK,EAAE,KAAK,GAAG,MAAM,CAEtE;AAED;;GAEG;AACH,wBAAgB,iCAAiC,CAAC,QAAQ,EAAE,QAAQ,GAAG,MAAM,CAI5E"}
package/dist/identity.js CHANGED
@@ -7,21 +7,19 @@
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 var TrustTier;
19
19
  (function (TrustTier) {
20
20
  TrustTier["SOVEREIGN"] = "sovereign";
21
- TrustTier["SOVEREIGN_PORTABLE"] = "sovereign-portable";
22
- TrustTier["LEGACY"] = "legacy";
21
+ TrustTier["PORTABLE"] = "portable";
23
22
  TrustTier["VIRTUAL"] = "virtual";
24
- TrustTier["ENCLAVE"] = "enclave";
25
23
  TrustTier["DECLARED"] = "declared";
26
24
  })(TrustTier || (TrustTier = {}));
27
25
  /**
@@ -71,6 +69,8 @@ export function format_authorization_header_value(token) {
71
69
  * Format an Identity as a human-readable string.
72
70
  */
73
71
  export function format_identity_as_display_string(identity) {
74
- return `${identity.handle} (tier: ${identity.trust_tier}, id: ${identity.internal_id})`;
72
+ const name_part = identity.display_name ? ` (${identity.display_name})` : "";
73
+ const urn_part = identity.agent_identity_urn ? `, urn: ${identity.agent_identity_urn}` : "";
74
+ return `${identity.handle}${name_part} (tier: ${identity.trust_tier}, id: ${identity.internal_id}${urn_part})`;
75
75
  }
76
76
  //# sourceMappingURL=identity.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"identity.js","sourceRoot":"","sources":["../src/identity.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH;;;;;;;;;;GAUG;AACH,MAAM,CAAN,IAAY,SAOX;AAPD,WAAY,SAAS;IACnB,oCAAuB,CAAA;IACvB,sDAAyC,CAAA;IACzC,8BAAiB,CAAA;IACjB,gCAAmB,CAAA;IACnB,gCAAmB,CAAA;IACnB,kCAAqB,CAAA;AACvB,CAAC,EAPW,SAAS,KAAT,SAAS,QAOpB;AAED;;GAEG;AACH,MAAM,CAAN,IAAY,YAMX;AAND,WAAY,YAAY;IACtB,mCAAmB,CAAA;IACnB,yCAAyB,CAAA;IACzB,yCAAyB,CAAA;IACzB,qCAAqB,CAAA;IACrB,qCAAqB,CAAA;AACvB,CAAC,EANW,YAAY,KAAZ,YAAY,QAMvB;AAED,8DAA8D;AAC9D,MAAM,CAAC,MAAM,qBAAqB,GAAG,YAAY,CAAC,OAAO,CAAC;AAE1D;;GAEG;AACH,MAAM,CAAN,IAAY,OAQX;AARD,WAAY,OAAO;IACjB,sBAAW,CAAA;IACX,8BAAmB,CAAA;IACnB,gCAAqB,CAAA;IACrB,8BAAmB,CAAA;IACnB,gCAAqB,CAAA;IACrB,4CAAiC,CAAA;IACjC,gCAAqB,CAAA;AACvB,CAAC,EARW,OAAO,KAAP,OAAO,QAQlB;AA2CD;;;;;GAKG;AACH,MAAM,UAAU,8BAA8B,CAAC,KAAY;IACzD,OAAO,IAAI,IAAI,EAAE,GAAG,KAAK,CAAC,UAAU,CAAC;AACvC,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,iCAAiC,CAAC,KAAY;IAC5D,OAAO,GAAG,KAAK,CAAC,UAAU,IAAI,KAAK,CAAC,YAAY,EAAE,CAAC;AACrD,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,iCAAiC,CAAC,QAAkB;IAClE,OAAO,GAAG,QAAQ,CAAC,MAAM,WAAW,QAAQ,CAAC,UAAU,SAAS,QAAQ,CAAC,WAAW,GAAG,CAAC;AAC1F,CAAC"}
1
+ {"version":3,"file":"identity.js","sourceRoot":"","sources":["../src/identity.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH;;;;;;;;;;GAUG;AACH,MAAM,CAAN,IAAY,SAKX;AALD,WAAY,SAAS;IACnB,oCAAuB,CAAA;IACvB,kCAAqB,CAAA;IACrB,gCAAmB,CAAA;IACnB,kCAAqB,CAAA;AACvB,CAAC,EALW,SAAS,KAAT,SAAS,QAKpB;AAED;;GAEG;AACH,MAAM,CAAN,IAAY,YAMX;AAND,WAAY,YAAY;IACtB,mCAAmB,CAAA;IACnB,yCAAyB,CAAA;IACzB,yCAAyB,CAAA;IACzB,qCAAqB,CAAA;IACrB,qCAAqB,CAAA;AACvB,CAAC,EANW,YAAY,KAAZ,YAAY,QAMvB;AAED,8DAA8D;AAC9D,MAAM,CAAC,MAAM,qBAAqB,GAAG,YAAY,CAAC,OAAO,CAAC;AAE1D;;GAEG;AACH,MAAM,CAAN,IAAY,OAQX;AARD,WAAY,OAAO;IACjB,sBAAW,CAAA;IACX,8BAAmB,CAAA;IACnB,gCAAqB,CAAA;IACrB,8BAAmB,CAAA;IACnB,gCAAqB,CAAA;IACrB,4CAAiC,CAAA;IACjC,gCAAqB,CAAA;AACvB,CAAC,EARW,OAAO,KAAP,OAAO,QAQlB;AA+CD;;;;;GAKG;AACH,MAAM,UAAU,8BAA8B,CAAC,KAAY;IACzD,OAAO,IAAI,IAAI,EAAE,GAAG,KAAK,CAAC,UAAU,CAAC;AACvC,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,iCAAiC,CAAC,KAAY;IAC5D,OAAO,GAAG,KAAK,CAAC,UAAU,IAAI,KAAK,CAAC,YAAY,EAAE,CAAC;AACrD,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,iCAAiC,CAAC,QAAkB;IAClE,MAAM,SAAS,GAAG,QAAQ,CAAC,YAAY,CAAC,CAAC,CAAC,KAAK,QAAQ,CAAC,YAAY,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;IAC7E,MAAM,QAAQ,GAAG,QAAQ,CAAC,kBAAkB,CAAC,CAAC,CAAC,UAAU,QAAQ,CAAC,kBAAkB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IAC5F,OAAO,GAAG,QAAQ,CAAC,MAAM,GAAG,SAAS,WAAW,QAAQ,CAAC,UAAU,SAAS,QAAQ,CAAC,WAAW,GAAG,QAAQ,GAAG,CAAC;AACjH,CAAC"}
package/dist/index.d.ts CHANGED
@@ -1,39 +1,30 @@
1
1
  /**
2
2
  * 1id.com SDK -- Hardware-anchored identity for AI agents.
3
3
  *
4
- * Quick start:
4
+ * Quick start (recommended):
5
5
  *
6
6
  * import oneid from "1id";
7
7
  *
8
- * // Enroll at declared tier (no HSM, always works)
9
- * const identity = await oneid.enroll({ request_tier: "declared" });
10
- * console.log(`Enrolled as ${identity.handle}`);
8
+ * // Get or create your identity -- the simplest path
9
+ * const identity = await oneid.getOrCreateIdentity({ display_name: "Sparky" });
10
+ * console.log(`I am ${oneid.format_identity_as_display_string(identity)}`);
11
11
  *
12
- * // Get an OAuth2 token for authentication
12
+ * // Get an OAuth2 Bearer token for API calls
13
13
  * const token = await oneid.getToken();
14
- * console.log(`Bearer ${token.access_token}`);
14
+ * // Use token.access_token in Authorization headers
15
15
  *
16
- * // Check current identity
17
- * const me = oneid.whoami();
18
- *
19
- * Trust tiers (request_tier parameter):
20
- * 'sovereign' -- TPM hardware, manufacturer-attested
21
- * 'sovereign-portable' -- YubiKey/Nitrokey, manufacturer-attested
22
- * 'declared' -- Software keys, no hardware proof
23
- *
24
- * CRITICAL: request_tier is a REQUIREMENT, not a preference.
25
- * You get exactly what you ask for, or an exception. No fallbacks.
16
+ * The SDK auto-detects your hardware (TPM, YubiKey, Secure Enclave)
17
+ * and enrolls at the highest available trust tier.
26
18
  */
27
19
  import { clear_cached_token, get_token, authenticate_with_tpm } from "./auth.js";
28
20
  import { credentials_exist } from "./credentials.js";
29
21
  import { enroll, type EnrollOptions } from "./enroll.js";
30
22
  import { sign_challenge_with_private_key } from "./keys.js";
31
23
  import { DEFAULT_KEY_ALGORITHM, HSMType, type Identity, KeyAlgorithm, type Token, TrustTier, this_token_has_not_yet_expired, format_authorization_header_value, format_identity_as_display_string } from "./identity.js";
32
- export { OneIDError, EnrollmentError, NoHSMError, UACDeniedError, HSMAccessError, AlreadyEnrolledError, HandleTakenError, HandleInvalidError, HandleRetiredError, AuthenticationError, NetworkError, NotEnrolledError, BinaryNotFoundError, RateLimitExceededError, } from "./exceptions.js";
24
+ export { OneIDError, EnrollmentError, NoHSMError, UACDeniedError, HSMAccessError, TPMSetupRequiredError, AlreadyEnrolledError, HandleTakenError, HandleInvalidError, HandleRetiredError, AuthenticationError, NetworkError, NotEnrolledError, BinaryNotFoundError, RateLimitExceededError, } from "./exceptions.js";
33
25
  export { TrustTier, KeyAlgorithm, HSMType, DEFAULT_KEY_ALGORITHM, type Identity, type Token, type EnrollOptions, this_token_has_not_yet_expired, format_authorization_header_value, format_identity_as_display_string, };
34
- export { enroll, get_token as getToken, get_token, clear_cached_token, authenticate_with_tpm, credentials_exist, sign_challenge_with_private_key, };
35
26
  /** SDK version string. */
36
- export declare const VERSION = "0.1.0";
27
+ export declare const VERSION = "0.5.0";
37
28
  /**
38
29
  * Check the current enrolled identity.
39
30
  *
@@ -43,6 +34,22 @@ export declare const VERSION = "0.1.0";
43
34
  * @throws NotEnrolledError if no credentials exist.
44
35
  */
45
36
  export declare function whoami(): Identity;
37
+ export interface GetOrCreateIdentityOptions {
38
+ display_name?: string | null;
39
+ operator_email?: string | null;
40
+ requested_handle?: string | null;
41
+ api_base_url?: string;
42
+ }
43
+ /**
44
+ * Get your existing 1ID identity, or create one if you don't have one yet.
45
+ *
46
+ * This is the simplest way to ensure you have a working identity:
47
+ * const id = await oneid.getOrCreateIdentity({ display_name: "Sparky" });
48
+ *
49
+ * If you've already enrolled, returns your existing identity instantly
50
+ * (no network call). If not, enrolls at the best available trust tier.
51
+ */
52
+ export declare function getOrCreateIdentity(options?: GetOrCreateIdentityOptions): Promise<Identity>;
46
53
  /**
47
54
  * Force-refresh the cached OAuth2 token.
48
55
  *
@@ -50,16 +57,46 @@ export declare function whoami(): Identity;
50
57
  * on the next getToken() call.
51
58
  */
52
59
  export declare function refresh(): void;
60
+ /**
61
+ * One-time setup: grant TBS access to non-admin users (Windows only).
62
+ *
63
+ * Sets a Windows registry key so that all future TPM operations work
64
+ * without administrator privileges. Triggers a UAC prompt on Windows.
65
+ * No-op on other platforms.
66
+ *
67
+ * Call this when you catch TPMSetupRequiredError during enrollment.
68
+ *
69
+ * @returns True if setup succeeded (or was already done).
70
+ * @throws UACDeniedError if the user denied the UAC prompt.
71
+ * @throws HSMAccessError if the registry key could not be set.
72
+ */
73
+ export declare function setup_tbs(): Promise<boolean>;
74
+ /**
75
+ * Record the user's privacy consent choice in the credentials file.
76
+ *
77
+ * After the calling application shows a privacy warning and the user
78
+ * consents, call this to persist their preferred attestation mode.
79
+ *
80
+ * @param mode The user's chosen attestation mode: 'sd-jwt' or 'direct'.
81
+ * @throws NotEnrolledError if no credentials file exists yet.
82
+ * @throws Error if mode is not 'sd-jwt' or 'direct'.
83
+ */
84
+ export declare function record_privacy_consent(mode?: string): void;
85
+ export { enroll, get_token as getToken, get_token, clear_cached_token, authenticate_with_tpm, credentials_exist, sign_challenge_with_private_key, };
53
86
  declare const oneid: {
54
87
  enroll: typeof enroll;
88
+ getOrCreateIdentity: typeof getOrCreateIdentity;
55
89
  getToken: typeof get_token;
56
90
  get_token: typeof get_token;
57
91
  whoami: typeof whoami;
58
92
  refresh: typeof refresh;
93
+ setup_tbs: typeof setup_tbs;
94
+ record_privacy_consent: typeof record_privacy_consent;
59
95
  credentials_exist: typeof credentials_exist;
60
96
  authenticate_with_tpm: typeof authenticate_with_tpm;
61
97
  sign_challenge_with_private_key: typeof sign_challenge_with_private_key;
62
98
  clear_cached_token: typeof clear_cached_token;
99
+ format_identity_as_display_string: typeof format_identity_as_display_string;
63
100
  VERSION: string;
64
101
  TrustTier: typeof TrustTier;
65
102
  KeyAlgorithm: typeof KeyAlgorithm;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAEH,OAAO,EAAE,kBAAkB,EAAE,SAAS,EAAE,qBAAqB,EAAE,MAAM,WAAW,CAAC;AACjF,OAAO,EAAE,iBAAiB,EAAoB,MAAM,kBAAkB,CAAC;AACvE,OAAO,EAAE,MAAM,EAAE,KAAK,aAAa,EAAE,MAAM,aAAa,CAAC;AACzD,OAAO,EAAE,+BAA+B,EAAE,MAAM,WAAW,CAAC;AAC5D,OAAO,EACL,qBAAqB,EACrB,OAAO,EACP,KAAK,QAAQ,EACb,YAAY,EACZ,KAAK,KAAK,EACV,SAAS,EACT,8BAA8B,EAC9B,iCAAiC,EACjC,iCAAiC,EAClC,MAAM,eAAe,CAAC;AAGvB,OAAO,EACL,UAAU,EACV,eAAe,EACf,UAAU,EACV,cAAc,EACd,cAAc,EACd,oBAAoB,EACpB,gBAAgB,EAChB,kBAAkB,EAClB,kBAAkB,EAClB,mBAAmB,EACnB,YAAY,EACZ,gBAAgB,EAChB,mBAAmB,EACnB,sBAAsB,GACvB,MAAM,iBAAiB,CAAC;AAGzB,OAAO,EACL,SAAS,EACT,YAAY,EACZ,OAAO,EACP,qBAAqB,EACrB,KAAK,QAAQ,EACb,KAAK,KAAK,EACV,KAAK,aAAa,EAClB,8BAA8B,EAC9B,iCAAiC,EACjC,iCAAiC,GAClC,CAAC;AAGF,OAAO,EACL,MAAM,EACN,SAAS,IAAI,QAAQ,EACrB,SAAS,EACT,kBAAkB,EAClB,qBAAqB,EACrB,iBAAiB,EACjB,+BAA+B,GAChC,CAAC;AAEF,0BAA0B;AAC1B,eAAO,MAAM,OAAO,UAAU,CAAC;AAE/B;;;;;;;GAOG;AACH,wBAAgB,MAAM,IAAI,QAAQ,CAkDjC;AAED;;;;;GAKG;AACH,wBAAgB,OAAO,IAAI,IAAI,CAE9B;AAGD,QAAA,MAAM,KAAK;;;;;;;;;;;;;;;CAeV,CAAC;AAEF,eAAe,KAAK,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH,OAAO,EAAE,kBAAkB,EAAE,SAAS,EAAE,qBAAqB,EAAE,MAAM,WAAW,CAAC;AACjF,OAAO,EAAE,iBAAiB,EAAsC,MAAM,kBAAkB,CAAC;AACzF,OAAO,EAAE,MAAM,EAAE,KAAK,aAAa,EAAE,MAAM,aAAa,CAAC;AACzD,OAAO,EAAE,+BAA+B,EAAE,MAAM,WAAW,CAAC;AAC5D,OAAO,EACL,qBAAqB,EACrB,OAAO,EACP,KAAK,QAAQ,EACb,YAAY,EACZ,KAAK,KAAK,EACV,SAAS,EACT,8BAA8B,EAC9B,iCAAiC,EACjC,iCAAiC,EAClC,MAAM,eAAe,CAAC;AAGvB,OAAO,EACL,UAAU,EACV,eAAe,EACf,UAAU,EACV,cAAc,EACd,cAAc,EACd,qBAAqB,EACrB,oBAAoB,EACpB,gBAAgB,EAChB,kBAAkB,EAClB,kBAAkB,EAClB,mBAAmB,EACnB,YAAY,EACZ,gBAAgB,EAChB,mBAAmB,EACnB,sBAAsB,GACvB,MAAM,iBAAiB,CAAC;AAGzB,OAAO,EACL,SAAS,EACT,YAAY,EACZ,OAAO,EACP,qBAAqB,EACrB,KAAK,QAAQ,EACb,KAAK,KAAK,EACV,KAAK,aAAa,EAClB,8BAA8B,EAC9B,iCAAiC,EACjC,iCAAiC,GAClC,CAAC;AAEF,0BAA0B;AAC1B,eAAO,MAAM,OAAO,UAAU,CAAC;AAE/B;;;;;;;GAOG;AACH,wBAAgB,MAAM,IAAI,QAAQ,CAoDjC;AAED,MAAM,WAAW,0BAA0B;IACzC,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,gBAAgB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACjC,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED;;;;;;;;GAQG;AACH,wBAAsB,mBAAmB,CACvC,OAAO,CAAC,EAAE,0BAA0B,GACnC,OAAO,CAAC,QAAQ,CAAC,CAUnB;AAED;;;;;GAKG;AACH,wBAAgB,OAAO,IAAI,IAAI,CAE9B;AAED;;;;;;;;;;;;GAYG;AACH,wBAAsB,SAAS,IAAI,OAAO,CAAC,OAAO,CAAC,CAIlD;AAED;;;;;;;;;GASG;AACH,wBAAgB,sBAAsB,CAAC,IAAI,GAAE,MAAiB,GAAG,IAAI,CASpE;AAGD,OAAO,EACL,MAAM,EACN,SAAS,IAAI,QAAQ,EACrB,SAAS,EACT,kBAAkB,EAClB,qBAAqB,EACrB,iBAAiB,EACjB,+BAA+B,GAChC,CAAC;AAEF,QAAA,MAAM,KAAK;;;;;;;;;;;;;;;;;;;CAmBV,CAAC;AAEF,eAAe,KAAK,CAAC"}
package/dist/index.js CHANGED
@@ -1,42 +1,32 @@
1
1
  /**
2
2
  * 1id.com SDK -- Hardware-anchored identity for AI agents.
3
3
  *
4
- * Quick start:
4
+ * Quick start (recommended):
5
5
  *
6
6
  * import oneid from "1id";
7
7
  *
8
- * // Enroll at declared tier (no HSM, always works)
9
- * const identity = await oneid.enroll({ request_tier: "declared" });
10
- * console.log(`Enrolled as ${identity.handle}`);
8
+ * // Get or create your identity -- the simplest path
9
+ * const identity = await oneid.getOrCreateIdentity({ display_name: "Sparky" });
10
+ * console.log(`I am ${oneid.format_identity_as_display_string(identity)}`);
11
11
  *
12
- * // Get an OAuth2 token for authentication
12
+ * // Get an OAuth2 Bearer token for API calls
13
13
  * const token = await oneid.getToken();
14
- * console.log(`Bearer ${token.access_token}`);
14
+ * // Use token.access_token in Authorization headers
15
15
  *
16
- * // Check current identity
17
- * const me = oneid.whoami();
18
- *
19
- * Trust tiers (request_tier parameter):
20
- * 'sovereign' -- TPM hardware, manufacturer-attested
21
- * 'sovereign-portable' -- YubiKey/Nitrokey, manufacturer-attested
22
- * 'declared' -- Software keys, no hardware proof
23
- *
24
- * CRITICAL: request_tier is a REQUIREMENT, not a preference.
25
- * You get exactly what you ask for, or an exception. No fallbacks.
16
+ * The SDK auto-detects your hardware (TPM, YubiKey, Secure Enclave)
17
+ * and enrolls at the highest available trust tier.
26
18
  */
27
19
  import { clear_cached_token, get_token, authenticate_with_tpm } from "./auth.js";
28
- import { credentials_exist, load_credentials } from "./credentials.js";
20
+ import { credentials_exist, load_credentials, save_credentials } from "./credentials.js";
29
21
  import { enroll } from "./enroll.js";
30
22
  import { sign_challenge_with_private_key } from "./keys.js";
31
23
  import { DEFAULT_KEY_ALGORITHM, HSMType, KeyAlgorithm, TrustTier, this_token_has_not_yet_expired, format_authorization_header_value, format_identity_as_display_string, } from "./identity.js";
32
24
  // Re-export all exception classes
33
- export { OneIDError, EnrollmentError, NoHSMError, UACDeniedError, HSMAccessError, AlreadyEnrolledError, HandleTakenError, HandleInvalidError, HandleRetiredError, AuthenticationError, NetworkError, NotEnrolledError, BinaryNotFoundError, RateLimitExceededError, } from "./exceptions.js";
25
+ export { OneIDError, EnrollmentError, NoHSMError, UACDeniedError, HSMAccessError, TPMSetupRequiredError, AlreadyEnrolledError, HandleTakenError, HandleInvalidError, HandleRetiredError, AuthenticationError, NetworkError, NotEnrolledError, BinaryNotFoundError, RateLimitExceededError, } from "./exceptions.js";
34
26
  // Re-export types and enums
35
27
  export { TrustTier, KeyAlgorithm, HSMType, DEFAULT_KEY_ALGORITHM, this_token_has_not_yet_expired, format_authorization_header_value, format_identity_as_display_string, };
36
- // Re-export core functions
37
- export { enroll, get_token as getToken, get_token, clear_cached_token, authenticate_with_tpm, credentials_exist, sign_challenge_with_private_key, };
38
28
  /** SDK version string. */
39
- export const VERSION = "0.1.0";
29
+ export const VERSION = "0.5.0";
40
30
  /**
41
31
  * Check the current enrolled identity.
42
32
  *
@@ -92,8 +82,30 @@ export function whoami() {
92
82
  enrolled_at,
93
83
  device_count: creds.hsm_key_reference ? 1 : 0,
94
84
  key_algorithm,
85
+ agent_identity_urn: creds.agent_identity_urn ?? null,
86
+ display_name: creds.display_name ?? null,
95
87
  };
96
88
  }
89
+ /**
90
+ * Get your existing 1ID identity, or create one if you don't have one yet.
91
+ *
92
+ * This is the simplest way to ensure you have a working identity:
93
+ * const id = await oneid.getOrCreateIdentity({ display_name: "Sparky" });
94
+ *
95
+ * If you've already enrolled, returns your existing identity instantly
96
+ * (no network call). If not, enrolls at the best available trust tier.
97
+ */
98
+ export async function getOrCreateIdentity(options) {
99
+ if (credentials_exist()) {
100
+ return whoami();
101
+ }
102
+ return enroll({
103
+ display_name: options?.display_name ?? null,
104
+ operator_email: options?.operator_email ?? null,
105
+ requested_handle: options?.requested_handle ?? null,
106
+ api_base_url: options?.api_base_url,
107
+ });
108
+ }
97
109
  /**
98
110
  * Force-refresh the cached OAuth2 token.
99
111
  *
@@ -103,17 +115,59 @@ export function whoami() {
103
115
  export function refresh() {
104
116
  clear_cached_token();
105
117
  }
106
- // -- Default export for convenience --
118
+ /**
119
+ * One-time setup: grant TBS access to non-admin users (Windows only).
120
+ *
121
+ * Sets a Windows registry key so that all future TPM operations work
122
+ * without administrator privileges. Triggers a UAC prompt on Windows.
123
+ * No-op on other platforms.
124
+ *
125
+ * Call this when you catch TPMSetupRequiredError during enrollment.
126
+ *
127
+ * @returns True if setup succeeded (or was already done).
128
+ * @throws UACDeniedError if the user denied the UAC prompt.
129
+ * @throws HSMAccessError if the registry key could not be set.
130
+ */
131
+ export async function setup_tbs() {
132
+ const { setup_tbs_for_non_admin_tpm_access } = await import("./helper.js");
133
+ const result = await setup_tbs_for_non_admin_tpm_access();
134
+ return result.ok ?? false;
135
+ }
136
+ /**
137
+ * Record the user's privacy consent choice in the credentials file.
138
+ *
139
+ * After the calling application shows a privacy warning and the user
140
+ * consents, call this to persist their preferred attestation mode.
141
+ *
142
+ * @param mode The user's chosen attestation mode: 'sd-jwt' or 'direct'.
143
+ * @throws NotEnrolledError if no credentials file exists yet.
144
+ * @throws Error if mode is not 'sd-jwt' or 'direct'.
145
+ */
146
+ export function record_privacy_consent(mode = "sd-jwt") {
147
+ if (mode !== "sd-jwt" && mode !== "direct") {
148
+ throw new Error(`Invalid attestation mode '${mode}'. Must be 'sd-jwt' or 'direct'.`);
149
+ }
150
+ const creds = load_credentials();
151
+ creds.privacy_consent_given_at = new Date().toISOString();
152
+ creds.default_attestation_mode = mode;
153
+ save_credentials(creds);
154
+ }
155
+ // Re-export core functions
156
+ export { enroll, get_token as getToken, get_token, clear_cached_token, authenticate_with_tpm, credentials_exist, sign_challenge_with_private_key, };
107
157
  const oneid = {
108
158
  enroll,
159
+ getOrCreateIdentity,
109
160
  getToken: get_token,
110
161
  get_token,
111
162
  whoami,
112
163
  refresh,
164
+ setup_tbs,
165
+ record_privacy_consent,
113
166
  credentials_exist,
114
167
  authenticate_with_tpm,
115
168
  sign_challenge_with_private_key,
116
169
  clear_cached_token,
170
+ format_identity_as_display_string,
117
171
  VERSION,
118
172
  TrustTier,
119
173
  KeyAlgorithm,
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -161,14 +161,12 @@ describe("Exception hierarchy (offline)", () => {
161
161
  });
162
162
  describe("SDK version and types (offline)", () => {
163
163
  it("should report correct SDK version", () => {
164
- assert.equal(VERSION, "0.1.0");
164
+ assert.equal(VERSION, "0.5.0");
165
165
  });
166
166
  it("should have all trust tiers", () => {
167
167
  assert.equal(TrustTier.SOVEREIGN, "sovereign");
168
- assert.equal(TrustTier.SOVEREIGN_PORTABLE, "sovereign-portable");
169
- assert.equal(TrustTier.LEGACY, "legacy");
168
+ assert.equal(TrustTier.PORTABLE, "portable");
170
169
  assert.equal(TrustTier.VIRTUAL, "virtual");
171
- assert.equal(TrustTier.ENCLAVE, "enclave");
172
170
  assert.equal(TrustTier.DECLARED, "declared");
173
171
  });
174
172
  it("should have all key algorithms", () => {
@@ -1 +1 @@
1
- {"version":3,"file":"test_declared_enrollment.js","sourceRoot":"","sources":["../../src/test/test_declared_enrollment.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,WAAW,CAAC;AACxD,OAAO,KAAK,MAAM,MAAM,oBAAoB,CAAC;AAC7C,OAAO,KAAK,EAAE,MAAM,SAAS,CAAC;AAC9B,OAAO,KAAK,MAAM,MAAM,aAAa,CAAC;AAEtC,OAAO,EACL,MAAM,EACN,MAAM,EACN,iBAAiB,EACjB,SAAS,EACT,YAAY,EACZ,OAAO,EACP,OAAO,EACP,UAAU,EACV,eAAe,EACf,UAAU,EACV,YAAY,EACZ,gBAAgB,EAChB,+BAA+B,GAChC,MAAM,aAAa,CAAC;AACrB,OAAO,EACL,yBAAyB,EACzB,kBAAkB,EAClB,gBAAgB,EAChB,gBAAgB,GAEjB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAE9C,2BAA2B;AAC3B,MAAM,aAAa,GAAG,cAAc,CAAC;AAErC,wEAAwE;AACxE,2CAA2C;AAC3C,wEAAwE;AAExE,QAAQ,CAAC,0BAA0B,EAAE,GAAG,EAAE;IACxC,EAAE,CAAC,iCAAiC,EAAE,GAAG,EAAE;QACzC,MAAM,EAAE,GAAG,gBAAgB,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;QAClD,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,eAAe,CAAC,QAAQ,CAAC,mBAAmB,CAAC,EAAE,uCAAuC,CAAC,CAAC;QACrG,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,cAAc,CAAC,QAAQ,CAAC,kBAAkB,CAAC,EAAE,sCAAsC,CAAC,CAAC;IACpG,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,qCAAqC,EAAE,GAAG,EAAE;QAC7C,MAAM,EAAE,GAAG,gBAAgB,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC;QACrD,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,eAAe,CAAC,QAAQ,CAAC,mBAAmB,CAAC,CAAC,CAAC;QAC5D,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,cAAc,CAAC,QAAQ,CAAC,kBAAkB,CAAC,CAAC,CAAC;IAC5D,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,qCAAqC,EAAE,GAAG,EAAE;QAC7C,MAAM,EAAE,GAAG,gBAAgB,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC;QACrD,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,eAAe,CAAC,QAAQ,CAAC,mBAAmB,CAAC,CAAC,CAAC;QAC5D,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,cAAc,CAAC,QAAQ,CAAC,kBAAkB,CAAC,CAAC,CAAC;IAC5D,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,kCAAkC,EAAE,GAAG,EAAE;QAC1C,MAAM,EAAE,GAAG,gBAAgB,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;QACnD,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,eAAe,CAAC,QAAQ,CAAC,mBAAmB,CAAC,CAAC,CAAC;QAC5D,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,cAAc,CAAC,QAAQ,CAAC,kBAAkB,CAAC,CAAC,CAAC;IAC5D,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,kCAAkC,EAAE,GAAG,EAAE;QAC1C,MAAM,EAAE,GAAG,gBAAgB,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;QACnD,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,eAAe,CAAC,QAAQ,CAAC,mBAAmB,CAAC,CAAC,CAAC;QAC5D,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,cAAc,CAAC,QAAQ,CAAC,kBAAkB,CAAC,CAAC,CAAC;IAC5D,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,6BAA6B,EAAE,GAAG,EAAE;IAC3C,EAAE,CAAC,qCAAqC,EAAE,GAAG,EAAE;QAC7C,MAAM,EAAE,GAAG,gBAAgB,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;QAClD,MAAM,SAAS,GAAG,MAAM,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;QACzC,MAAM,SAAS,GAAG,+BAA+B,CAAC,EAAE,CAAC,eAAe,EAAE,SAAS,CAAC,CAAC;QACjF,MAAM,CAAC,EAAE,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,+BAA+B,CAAC,CAAC;QAEjE,4CAA4C;QAC5C,MAAM,UAAU,GAAG,MAAM,CAAC,eAAe,CAAC,EAAE,CAAC,cAAc,CAAC,CAAC;QAC7D,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,CAAC,CAAC;QACvE,MAAM,CAAC,EAAE,CAAC,QAAQ,EAAE,2CAA2C,CAAC,CAAC;IACnE,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,yCAAyC,EAAE,GAAG,EAAE;QACjD,MAAM,EAAE,GAAG,gBAAgB,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC;QACrD,MAAM,SAAS,GAAG,MAAM,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;QACzC,MAAM,SAAS,GAAG,+BAA+B,CAAC,EAAE,CAAC,eAAe,EAAE,SAAS,CAAC,CAAC;QACjF,MAAM,CAAC,EAAE,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QAEhC,MAAM,UAAU,GAAG,MAAM,CAAC,eAAe,CAAC,EAAE,CAAC,cAAc,CAAC,CAAC;QAC7D,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,CAAC,CAAC;QAC3E,MAAM,CAAC,EAAE,CAAC,QAAQ,EAAE,+CAA+C,CAAC,CAAC;IACvE,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,sCAAsC,EAAE,GAAG,EAAE;QAC9C,MAAM,EAAE,GAAG,gBAAgB,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;QACnD,MAAM,SAAS,GAAG,MAAM,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;QACzC,MAAM,SAAS,GAAG,+BAA+B,CAAC,EAAE,CAAC,eAAe,EAAE,SAAS,CAAC,CAAC;QACjF,MAAM,CAAC,EAAE,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QAEhC,MAAM,UAAU,GAAG,MAAM,CAAC,eAAe,CAAC,EAAE,CAAC,cAAc,CAAC,CAAC;QAC7D,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE,SAAS,EAAE;YAClD,GAAG,EAAE,UAAU;YACf,OAAO,EAAE,MAAM,CAAC,SAAS,CAAC,iBAAiB;SAC5C,EAAE,SAAS,CAAC,CAAC;QACd,MAAM,CAAC,EAAE,CAAC,QAAQ,EAAE,4CAA4C,CAAC,CAAC;IACpE,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,8BAA8B,EAAE,GAAG,EAAE;IAC5C,MAAM,qBAAqB,GAAG,yBAAyB,EAAE,CAAC;IAC1D,MAAM,WAAW,GAAG,qBAAqB,GAAG,mBAAmB,CAAC;IAChE,IAAI,wBAAwB,GAAG,KAAK,CAAC;IAErC,MAAM,CAAC,GAAG,EAAE;QACV,IAAI,EAAE,CAAC,UAAU,CAAC,qBAAqB,CAAC,EAAE,CAAC;YACzC,EAAE,CAAC,YAAY,CAAC,qBAAqB,EAAE,WAAW,CAAC,CAAC;YACpD,wBAAwB,GAAG,IAAI,CAAC;YAChC,EAAE,CAAC,UAAU,CAAC,qBAAqB,CAAC,CAAC;QACvC,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,KAAK,CAAC,GAAG,EAAE;QACT,+BAA+B;QAC/B,IAAI,wBAAwB,IAAI,EAAE,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC;YAC3D,IAAI,EAAE,CAAC,UAAU,CAAC,qBAAqB,CAAC,EAAE,CAAC;gBACzC,EAAE,CAAC,UAAU,CAAC,qBAAqB,CAAC,CAAC;YACvC,CAAC;YACD,EAAE,CAAC,UAAU,CAAC,WAAW,EAAE,qBAAqB,CAAC,CAAC;QACpD,CAAC;aAAM,IAAI,EAAE,CAAC,UAAU,CAAC,qBAAqB,CAAC,EAAE,CAAC;YAChD,4BAA4B;YAC5B,EAAE,CAAC,UAAU,CAAC,qBAAqB,CAAC,CAAC;QACvC,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,kCAAkC,EAAE,GAAG,EAAE;QAC1C,MAAM,gBAAgB,GAAsB;YAC1C,SAAS,EAAE,cAAc;YACzB,aAAa,EAAE,eAAe;YAC9B,cAAc,EAAE,6DAA6D;YAC7E,YAAY,EAAE,iBAAiB;YAC/B,UAAU,EAAE,UAAU;YACtB,aAAa,EAAE,SAAS;YACxB,eAAe,EAAE,8DAA8D;YAC/E,WAAW,EAAE,sBAAsB;SACpC,CAAC;QAEF,gBAAgB,CAAC,gBAAgB,CAAC,CAAC;QACnC,MAAM,CAAC,EAAE,CAAC,iBAAiB,EAAE,EAAE,qCAAqC,CAAC,CAAC;QAEtE,MAAM,MAAM,GAAG,gBAAgB,EAAE,CAAC;QAClC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,SAAS,EAAE,cAAc,CAAC,CAAC;QAC/C,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,aAAa,EAAE,eAAe,CAAC,CAAC;QACpD,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;QAC5C,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,aAAa,EAAE,SAAS,CAAC,CAAC;QAC9C,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,eAAe,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC;IACtD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,+CAA+C,EAAE,GAAG,EAAE;QACvD,oDAAoD;QACpD,MAAM,QAAQ,GAAG,MAAM,EAAE,CAAC;QAC1B,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,WAAW,EAAE,cAAc,CAAC,CAAC;QACnD,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;QAC/C,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,UAAU,EAAE,SAAS,CAAC,QAAQ,CAAC,CAAC;QACtD,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC;QAClD,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,aAAa,EAAE,YAAY,CAAC,OAAO,CAAC,CAAC;IAC7D,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,yDAAyD,EAAE,GAAG,EAAE;QACjE,kBAAkB,EAAE,CAAC;QACrB,MAAM,CAAC,MAAM,CACX,GAAG,EAAE,CAAC,MAAM,EAAE,EACd,CAAC,KAAY,EAAE,EAAE;YACf,MAAM,CAAC,EAAE,CAAC,KAAK,YAAY,gBAAgB,CAAC,CAAC;YAC7C,OAAO,IAAI,CAAC;QACd,CAAC,CACF,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,+BAA+B,EAAE,GAAG,EAAE;IAC7C,EAAE,CAAC,uCAAuC,EAAE,GAAG,EAAE;QAC/C,MAAM,gBAAgB,GAAG,IAAI,eAAe,CAAC,MAAM,CAAC,CAAC;QACrD,MAAM,CAAC,EAAE,CAAC,gBAAgB,YAAY,UAAU,EAAE,0CAA0C,CAAC,CAAC;QAC9F,MAAM,CAAC,EAAE,CAAC,gBAAgB,YAAY,KAAK,EAAE,qCAAqC,CAAC,CAAC;QAEpF,MAAM,YAAY,GAAG,IAAI,UAAU,CAAC,MAAM,CAAC,CAAC;QAC5C,MAAM,CAAC,EAAE,CAAC,YAAY,YAAY,eAAe,EAAE,0CAA0C,CAAC,CAAC;QAC/F,MAAM,CAAC,EAAE,CAAC,YAAY,YAAY,UAAU,EAAE,qCAAqC,CAAC,CAAC;QAErF,MAAM,aAAa,GAAG,IAAI,YAAY,CAAC,MAAM,CAAC,CAAC;QAC/C,MAAM,CAAC,EAAE,CAAC,aAAa,YAAY,UAAU,EAAE,uCAAuC,CAAC,CAAC;QACxF,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,aAAa,YAAY,eAAe,CAAC,EAAE,gDAAgD,CAAC,CAAC;IAC3G,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,6BAA6B,EAAE,GAAG,EAAE;QACrC,MAAM,KAAK,GAAG,IAAI,UAAU,CAAC,cAAc,CAAC,CAAC;QAC7C,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,UAAU,EAAE,cAAc,CAAC,CAAC;QAC/C,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,EAAE,cAAc,CAAC,CAAC;QAC5C,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;IACzC,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,iCAAiC,EAAE,GAAG,EAAE;IAC/C,EAAE,CAAC,mCAAmC,EAAE,GAAG,EAAE;QAC3C,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IACjC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,6BAA6B,EAAE,GAAG,EAAE;QACrC,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC;QAC/C,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,kBAAkB,EAAE,oBAAoB,CAAC,CAAC;QACjE,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;QACzC,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;QAC3C,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;QAC3C,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;IAC/C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,gCAAgC,EAAE,GAAG,EAAE;QACxC,MAAM,CAAC,KAAK,CAAC,YAAY,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;QAC9C,MAAM,CAAC,KAAK,CAAC,YAAY,CAAC,UAAU,EAAE,YAAY,CAAC,CAAC;QACpD,MAAM,CAAC,KAAK,CAAC,YAAY,CAAC,UAAU,EAAE,YAAY,CAAC,CAAC;QACpD,MAAM,CAAC,KAAK,CAAC,YAAY,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;QAChD,MAAM,CAAC,KAAK,CAAC,YAAY,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;IAClD,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,4BAA4B,EAAE,GAAG,EAAE;IAC1C,EAAE,CAAC,kCAAkC,EAAE,KAAK,IAAI,EAAE;QAChD,MAAM,MAAM,CAAC,OAAO,CAClB,GAAG,EAAE,CAAC,MAAM,CAAC,EAAE,YAAY,EAAE,kBAAkB,EAAE,CAAC,EAClD,CAAC,KAAY,EAAE,EAAE;YACf,MAAM,CAAC,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAAC,CAAC,CAAC;YACxD,OAAO,IAAI,CAAC;QACd,CAAC,CACF,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,qCAAqC,EAAE,KAAK,IAAI,EAAE;QACnD,MAAM,MAAM,CAAC,OAAO,CAClB,GAAG,EAAE,CAAC,MAAM,CAAC,EAAE,YAAY,EAAE,UAAU,EAAE,aAAa,EAAE,YAAY,EAAE,CAAC,EACvE,CAAC,KAAY,EAAE,EAAE;YACf,MAAM,CAAC,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,uBAAuB,CAAC,CAAC,CAAC;YAC3D,OAAO,IAAI,CAAC;QACd,CAAC,CACF,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,wEAAwE;AACxE,2DAA2D;AAC3D,wEAAwE;AAExE,QAAQ,CAAC,iDAAiD,EAAE,GAAG,EAAE;IAC/D,IAAI,2BAA2B,GAAG,KAAK,CAAC;IACxC,MAAM,qBAAqB,GAAG,yBAAyB,EAAE,CAAC;IAC1D,MAAM,WAAW,GAAG,qBAAqB,GAAG,aAAa,CAAC;IAE1D,MAAM,CAAC,GAAG,EAAE;QACV,IAAI,EAAE,CAAC,UAAU,CAAC,qBAAqB,CAAC,EAAE,CAAC;YACzC,EAAE,CAAC,YAAY,CAAC,qBAAqB,EAAE,WAAW,CAAC,CAAC;YACpD,2BAA2B,GAAG,IAAI,CAAC;YACnC,EAAE,CAAC,UAAU,CAAC,qBAAqB,CAAC,CAAC;QACvC,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,KAAK,CAAC,GAAG,EAAE;QACT,IAAI,2BAA2B,IAAI,EAAE,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC;YAC9D,IAAI,EAAE,CAAC,UAAU,CAAC,qBAAqB,CAAC,EAAE,CAAC;gBACzC,EAAE,CAAC,UAAU,CAAC,qBAAqB,CAAC,CAAC;YACvC,CAAC;YACD,EAAE,CAAC,UAAU,CAAC,WAAW,EAAE,qBAAqB,CAAC,CAAC;QACpD,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,iDAAiD,EAAE,KAAK,IAAI,EAAE;QAC/D,IAAI,iBAAiB,EAAE,EAAE,CAAC;YACxB,kBAAkB,EAAE,CAAC;QACvB,CAAC;QAED,IAAI,QAAQ,CAAC;QACb,IAAI,CAAC;YACH,QAAQ,GAAG,MAAM,MAAM,CAAC;gBACtB,YAAY,EAAE,UAAU;gBACxB,aAAa,EAAE,SAAS;aACzB,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,KAAK,YAAY,YAAY,IAAI,CAAC,KAAK,YAAY,KAAK,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC;gBAC/F,OAAO,CAAC,GAAG,CAAC,0FAA0F,CAAC,CAAC;gBACxG,OAAO,CAAC,uBAAuB;YACjC,CAAC;YACD,MAAM,KAAK,CAAC;QACd,CAAC;QAED,6BAA6B;QAC7B,MAAM,CAAC,EAAE,CAAC,QAAQ,CAAC,WAAW,EAAE,iCAAiC,CAAC,CAAC;QACnE,MAAM,CAAC,EAAE,CAAC,QAAQ,CAAC,WAAW,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,8CAA8C,QAAQ,CAAC,WAAW,EAAE,CAAC,CAAC;QACzH,MAAM,CAAC,EAAE,CAAC,QAAQ,CAAC,MAAM,EAAE,4BAA4B,CAAC,CAAC;QACzD,MAAM,CAAC,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,sCAAsC,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC;QACpG,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,UAAU,EAAE,SAAS,CAAC,QAAQ,CAAC,CAAC;QACtD,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC;QAClD,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,aAAa,EAAE,YAAY,CAAC,OAAO,CAAC,CAAC;QAC3D,MAAM,CAAC,EAAE,CAAC,QAAQ,CAAC,WAAW,YAAY,IAAI,EAAE,8BAA8B,CAAC,CAAC;QAChF,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,YAAY,EAAE,CAAC,EAAE,0CAA0C,CAAC,CAAC;QAEnF,OAAO,CAAC,GAAG,CAAC,eAAe,QAAQ,CAAC,MAAM,KAAK,QAAQ,CAAC,WAAW,GAAG,CAAC,CAAC;QACxE,OAAO,CAAC,GAAG,CAAC,iBAAiB,QAAQ,CAAC,UAAU,EAAE,CAAC,CAAC;QACpD,OAAO,CAAC,GAAG,CAAC,oBAAoB,QAAQ,CAAC,aAAa,EAAE,CAAC,CAAC;QAE1D,+CAA+C;QAC/C,MAAM,EAAE,GAAG,MAAM,EAAE,CAAC;QACpB,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,WAAW,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC;QAC7C,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,UAAU,EAAE,SAAS,CAAC,QAAQ,CAAC,CAAC;QAChD,OAAO,CAAC,GAAG,CAAC,eAAe,EAAE,CAAC,MAAM,EAAE,CAAC,CAAC;IAC1C,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"test_declared_enrollment.js","sourceRoot":"","sources":["../../src/test/test_declared_enrollment.ts"],"names":[],"mappings":"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"}