gitextract_gemcyrai/ ├── .electron_flags.sh ├── .github/ │ ├── ISSUE_TEMPLATE/ │ │ ├── bug-report.yml │ │ └── config.yml │ ├── dependabot.yml │ └── workflows/ │ ├── build.yml │ ├── lock.yml │ ├── release.yml │ ├── retry.yml │ └── test.yml ├── .gitignore ├── .node_flags.sh ├── .prettierignore ├── .prettierrc.json ├── .versionrc.json ├── CHANGELOG.md ├── CODE_OF_CONDUCT.md ├── CONTRIBUTING.md ├── LICENSE.md ├── README.md ├── SECURITY.md ├── ava.config.mjs ├── cookbook/ │ ├── jwe.mjs │ └── jws.mjs ├── docs/ │ ├── README.md │ ├── jwe/ │ │ ├── compact/ │ │ │ ├── decrypt/ │ │ │ │ ├── README.md │ │ │ │ ├── functions/ │ │ │ │ │ └── compactDecrypt.md │ │ │ │ └── interfaces/ │ │ │ │ └── CompactDecryptGetKey.md │ │ │ └── encrypt/ │ │ │ ├── README.md │ │ │ └── classes/ │ │ │ └── CompactEncrypt.md │ │ ├── flattened/ │ │ │ ├── decrypt/ │ │ │ │ ├── README.md │ │ │ │ ├── functions/ │ │ │ │ │ └── flattenedDecrypt.md │ │ │ │ └── interfaces/ │ │ │ │ └── FlattenedDecryptGetKey.md │ │ │ └── encrypt/ │ │ │ ├── README.md │ │ │ └── classes/ │ │ │ └── FlattenedEncrypt.md │ │ └── general/ │ │ ├── decrypt/ │ │ │ ├── README.md │ │ │ ├── functions/ │ │ │ │ └── generalDecrypt.md │ │ │ └── interfaces/ │ │ │ └── GeneralDecryptGetKey.md │ │ └── encrypt/ │ │ ├── README.md │ │ ├── classes/ │ │ │ └── GeneralEncrypt.md │ │ └── interfaces/ │ │ └── Recipient.md │ ├── jwk/ │ │ ├── embedded/ │ │ │ ├── README.md │ │ │ └── functions/ │ │ │ └── EmbeddedJWK.md │ │ └── thumbprint/ │ │ ├── README.md │ │ └── functions/ │ │ ├── calculateJwkThumbprint.md │ │ └── calculateJwkThumbprintUri.md │ ├── jwks/ │ │ ├── local/ │ │ │ ├── README.md │ │ │ └── functions/ │ │ │ └── createLocalJWKSet.md │ │ └── remote/ │ │ ├── README.md │ │ ├── functions/ │ │ │ └── createRemoteJWKSet.md │ │ ├── interfaces/ │ │ │ ├── ExportedJWKSCache.md │ │ │ └── RemoteJWKSetOptions.md │ │ ├── type-aliases/ │ │ │ ├── FetchImplementation.md │ │ │ └── JWKSCacheInput.md │ │ └── variables/ │ │ ├── customFetch.md │ │ └── jwksCache.md │ ├── jws/ │ │ ├── compact/ │ │ │ ├── sign/ │ │ │ │ ├── README.md │ │ │ │ └── classes/ │ │ │ │ └── CompactSign.md │ │ │ └── verify/ │ │ │ ├── README.md │ │ │ ├── functions/ │ │ │ │ └── compactVerify.md │ │ │ └── interfaces/ │ │ │ └── CompactVerifyGetKey.md │ │ ├── flattened/ │ │ │ ├── sign/ │ │ │ │ ├── README.md │ │ │ │ └── classes/ │ │ │ │ └── FlattenedSign.md │ │ │ └── verify/ │ │ │ ├── README.md │ │ │ ├── functions/ │ │ │ │ └── flattenedVerify.md │ │ │ └── interfaces/ │ │ │ └── FlattenedVerifyGetKey.md │ │ └── general/ │ │ ├── sign/ │ │ │ ├── README.md │ │ │ ├── classes/ │ │ │ │ └── GeneralSign.md │ │ │ └── interfaces/ │ │ │ └── Signature.md │ │ └── verify/ │ │ ├── README.md │ │ ├── functions/ │ │ │ └── generalVerify.md │ │ └── interfaces/ │ │ └── GeneralVerifyGetKey.md │ ├── jwt/ │ │ ├── decrypt/ │ │ │ ├── README.md │ │ │ ├── functions/ │ │ │ │ └── jwtDecrypt.md │ │ │ └── interfaces/ │ │ │ ├── JWTDecryptGetKey.md │ │ │ └── JWTDecryptOptions.md │ │ ├── encrypt/ │ │ │ ├── README.md │ │ │ └── classes/ │ │ │ └── EncryptJWT.md │ │ ├── sign/ │ │ │ ├── README.md │ │ │ └── classes/ │ │ │ └── SignJWT.md │ │ ├── unsecured/ │ │ │ ├── README.md │ │ │ ├── classes/ │ │ │ │ └── UnsecuredJWT.md │ │ │ └── interfaces/ │ │ │ └── UnsecuredResult.md │ │ └── verify/ │ │ ├── README.md │ │ ├── functions/ │ │ │ └── jwtVerify.md │ │ └── interfaces/ │ │ ├── JWTVerifyGetKey.md │ │ └── JWTVerifyOptions.md │ ├── key/ │ │ ├── export/ │ │ │ ├── README.md │ │ │ └── functions/ │ │ │ ├── exportJWK.md │ │ │ ├── exportPKCS8.md │ │ │ └── exportSPKI.md │ │ ├── generate_key_pair/ │ │ │ ├── README.md │ │ │ ├── functions/ │ │ │ │ └── generateKeyPair.md │ │ │ └── interfaces/ │ │ │ ├── GenerateKeyPairOptions.md │ │ │ └── GenerateKeyPairResult.md │ │ ├── generate_secret/ │ │ │ ├── README.md │ │ │ ├── functions/ │ │ │ │ └── generateSecret.md │ │ │ └── interfaces/ │ │ │ └── GenerateSecretOptions.md │ │ └── import/ │ │ ├── README.md │ │ ├── functions/ │ │ │ ├── importJWK.md │ │ │ ├── importPKCS8.md │ │ │ ├── importSPKI.md │ │ │ └── importX509.md │ │ └── interfaces/ │ │ └── KeyImportOptions.md │ ├── types/ │ │ ├── README.md │ │ ├── interfaces/ │ │ │ ├── CompactDecryptResult.md │ │ │ ├── CompactJWEHeaderParameters.md │ │ │ ├── CompactJWSHeaderParameters.md │ │ │ ├── CompactVerifyResult.md │ │ │ ├── CritOption.md │ │ │ ├── DecryptOptions.md │ │ │ ├── EncryptOptions.md │ │ │ ├── FlattenedDecryptResult.md │ │ │ ├── FlattenedJWE.md │ │ │ ├── FlattenedJWS.md │ │ │ ├── FlattenedJWSInput.md │ │ │ ├── FlattenedVerifyResult.md │ │ │ ├── GeneralDecryptResult.md │ │ │ ├── GeneralJWE.md │ │ │ ├── GeneralJWS.md │ │ │ ├── GeneralJWSInput.md │ │ │ ├── GeneralVerifyResult.md │ │ │ ├── GetKeyFunction.md │ │ │ ├── JSONWebKeySet.md │ │ │ ├── JWEHeaderParameters.md │ │ │ ├── JWEKeyManagementHeaderParameters.md │ │ │ ├── JWK.md │ │ │ ├── JWKParameters.md │ │ │ ├── JWK_AKP_Private.md │ │ │ ├── JWK_AKP_Public.md │ │ │ ├── JWK_EC_Private.md │ │ │ ├── JWK_EC_Public.md │ │ │ ├── JWK_OKP_Private.md │ │ │ ├── JWK_OKP_Public.md │ │ │ ├── JWK_RSA_Private.md │ │ │ ├── JWK_RSA_Public.md │ │ │ ├── JWK_oct.md │ │ │ ├── JWSHeaderParameters.md │ │ │ ├── JWTClaimVerificationOptions.md │ │ │ ├── JWTDecryptResult.md │ │ │ ├── JWTHeaderParameters.md │ │ │ ├── JWTPayload.md │ │ │ ├── JWTVerifyResult.md │ │ │ ├── JoseHeaderParameters.md │ │ │ ├── KeyObject.md │ │ │ ├── ProduceJWT.md │ │ │ ├── ResolvedKey.md │ │ │ ├── SignOptions.md │ │ │ └── VerifyOptions.md │ │ └── type-aliases/ │ │ └── CryptoKey.md │ └── util/ │ ├── base64url/ │ │ ├── README.md │ │ └── functions/ │ │ ├── decode.md │ │ └── encode.md │ ├── decode_jwt/ │ │ ├── README.md │ │ └── functions/ │ │ └── decodeJwt.md │ ├── decode_protected_header/ │ │ ├── README.md │ │ ├── functions/ │ │ │ └── decodeProtectedHeader.md │ │ └── type-aliases/ │ │ └── ProtectedHeaderParameters.md │ └── errors/ │ ├── README.md │ └── classes/ │ ├── JOSEAlgNotAllowed.md │ ├── JOSEError.md │ ├── JOSENotSupported.md │ ├── JWEDecryptionFailed.md │ ├── JWEInvalid.md │ ├── JWKInvalid.md │ ├── JWKSInvalid.md │ ├── JWKSMultipleMatchingKeys.md │ ├── JWKSNoMatchingKey.md │ ├── JWKSTimeout.md │ ├── JWSInvalid.md │ ├── JWSSignatureVerificationFailed.md │ ├── JWTClaimValidationFailed.md │ ├── JWTExpired.md │ └── JWTInvalid.md ├── jsr.json ├── package.json ├── patches/ │ ├── typedoc-plugin-markdown+4.11.0.patch │ └── typedoc-plugin-mdn-links+5.1.1.patch ├── playwright.config.ts ├── src/ │ ├── index.ts │ ├── jwe/ │ │ ├── compact/ │ │ │ ├── decrypt.ts │ │ │ └── encrypt.ts │ │ ├── flattened/ │ │ │ ├── decrypt.ts │ │ │ └── encrypt.ts │ │ └── general/ │ │ ├── decrypt.ts │ │ └── encrypt.ts │ ├── jwk/ │ │ ├── embedded.ts │ │ └── thumbprint.ts │ ├── jwks/ │ │ ├── local.ts │ │ └── remote.ts │ ├── jws/ │ │ ├── compact/ │ │ │ ├── sign.ts │ │ │ └── verify.ts │ │ ├── flattened/ │ │ │ ├── sign.ts │ │ │ └── verify.ts │ │ └── general/ │ │ ├── sign.ts │ │ └── verify.ts │ ├── jwt/ │ │ ├── decrypt.ts │ │ ├── encrypt.ts │ │ ├── sign.ts │ │ ├── unsecured.ts │ │ └── verify.ts │ ├── key/ │ │ ├── export.ts │ │ ├── generate_key_pair.ts │ │ ├── generate_secret.ts │ │ └── import.ts │ ├── lib/ │ │ ├── aesgcmkw.ts │ │ ├── aeskw.ts │ │ ├── asn1.ts │ │ ├── base64.ts │ │ ├── buffer_utils.ts │ │ ├── check_key_type.ts │ │ ├── content_encryption.ts │ │ ├── crypto_key.ts │ │ ├── deflate.ts │ │ ├── ecdhes.ts │ │ ├── helpers.ts │ │ ├── invalid_key_input.ts │ │ ├── is_key_like.ts │ │ ├── jwk_to_key.ts │ │ ├── jwt_claims_set.ts │ │ ├── key_management.ts │ │ ├── key_to_jwk.ts │ │ ├── normalize_key.ts │ │ ├── pbes2kw.ts │ │ ├── rsaes.ts │ │ ├── signing.ts │ │ ├── type_checks.ts │ │ ├── validate_algorithms.ts │ │ └── validate_crit.ts │ ├── types.d.ts │ └── util/ │ ├── base64url.ts │ ├── decode_jwt.ts │ ├── decode_protected_header.ts │ └── errors.ts ├── tap/ │ ├── .browser.ts │ ├── .browsers.sh │ ├── .bun.sh │ ├── .deno.sh │ ├── .electron.sh │ ├── .node.sh │ ├── .workerd.sh │ ├── aes.ts │ ├── aeskw.ts │ ├── cookbook.ts │ ├── ecdh.ts │ ├── encrypt.ts │ ├── env.ts │ ├── fixtures.ts │ ├── generate_options.ts │ ├── hmac.ts │ ├── jwk.ts │ ├── jwks.ts │ ├── jws.ts │ ├── keyobject-stub.ts │ ├── noop.ts │ ├── pbes2.ts │ ├── pem.ts │ ├── rsaes.ts │ ├── run-browser.ts │ ├── run-bun.ts │ ├── run-deno.ts │ ├── run-electron.ts │ ├── run-node.ts │ ├── run-workerd.ts │ ├── run.ts │ ├── sign.ts │ └── tsconfig.json ├── test/ │ ├── jwe/ │ │ ├── compact.decrypt.test.ts │ │ ├── compact.encrypt.test.ts │ │ ├── flattened.decrypt.test.ts │ │ ├── flattened.encrypt.test.ts │ │ ├── general.test.ts │ │ └── zip.test.ts │ ├── jwk/ │ │ ├── embedded.test.ts │ │ ├── issue-459.test.ts │ │ ├── jwk2key.test.ts │ │ └── thumbprint.test.ts │ ├── jwks/ │ │ ├── local.test.ts │ │ └── remote.test.ts │ ├── jws/ │ │ ├── compact.sign.test.ts │ │ ├── compact.verify.test.ts │ │ ├── crit.test.ts │ │ ├── flattened.sign.test.ts │ │ ├── flattened.verify.test.ts │ │ ├── general.test.ts │ │ ├── restrictions.test.ts │ │ └── unencoded.test.ts │ ├── jwt/ │ │ ├── decrypt.test.ts │ │ ├── encrypt.test.ts │ │ ├── sign.test.ts │ │ ├── time_setters.ts │ │ ├── unsecured.test.ts │ │ └── verify.test.ts │ ├── tsconfig.json │ ├── unit/ │ │ ├── buffer_utils.test.ts │ │ ├── cek.test.ts │ │ ├── check_iv_length.test.ts │ │ ├── check_key_type.test.ts │ │ ├── check_key_type_jwk.test.ts │ │ ├── iv.test.ts │ │ └── secs.test.ts │ └── util/ │ ├── decode_jwt.test.ts │ └── decode_protected_header.test.ts ├── tools/ │ ├── postbump.cjs │ ├── prebump.cjs │ ├── publish.cjs │ └── release-notes.cjs ├── tsconfig/ │ └── types.json ├── tsconfig.json └── typedoc.json