@pagopa/io-react-native-wallet 2.2.0 → 2.3.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 (91) hide show
  1. package/README.md +4 -3
  2. package/lib/commonjs/credential/index.js +3 -1
  3. package/lib/commonjs/credential/index.js.map +1 -1
  4. package/lib/commonjs/credential/offer/01-start-flow.js +75 -0
  5. package/lib/commonjs/credential/offer/01-start-flow.js.map +1 -0
  6. package/lib/commonjs/credential/offer/02-fetch-credential-offer.js +45 -0
  7. package/lib/commonjs/credential/offer/02-fetch-credential-offer.js.map +1 -0
  8. package/lib/commonjs/credential/offer/README.md +174 -0
  9. package/lib/commonjs/credential/offer/errors.js +22 -0
  10. package/lib/commonjs/credential/offer/errors.js.map +1 -0
  11. package/lib/commonjs/credential/offer/index.js +25 -0
  12. package/lib/commonjs/credential/offer/index.js.map +1 -0
  13. package/lib/commonjs/credential/offer/types.js +51 -0
  14. package/lib/commonjs/credential/offer/types.js.map +1 -0
  15. package/lib/commonjs/credential/presentation/01-start-flow.js +1 -1
  16. package/lib/commonjs/credentials-catalogue/README.md +15 -0
  17. package/lib/commonjs/credentials-catalogue/fetch-and-parse-catalogue.js +42 -0
  18. package/lib/commonjs/credentials-catalogue/fetch-and-parse-catalogue.js.map +1 -0
  19. package/lib/commonjs/credentials-catalogue/index.js +13 -0
  20. package/lib/commonjs/credentials-catalogue/index.js.map +1 -0
  21. package/lib/commonjs/credentials-catalogue/types.js +99 -0
  22. package/lib/commonjs/credentials-catalogue/types.js.map +1 -0
  23. package/lib/commonjs/index.js +3 -1
  24. package/lib/commonjs/index.js.map +1 -1
  25. package/lib/commonjs/utils/zod.js +28 -0
  26. package/lib/commonjs/utils/zod.js.map +1 -0
  27. package/lib/module/credential/index.js +2 -1
  28. package/lib/module/credential/index.js.map +1 -1
  29. package/lib/module/credential/offer/01-start-flow.js +66 -0
  30. package/lib/module/credential/offer/01-start-flow.js.map +1 -0
  31. package/lib/module/credential/offer/02-fetch-credential-offer.js +38 -0
  32. package/lib/module/credential/offer/02-fetch-credential-offer.js.map +1 -0
  33. package/lib/module/credential/offer/README.md +174 -0
  34. package/lib/module/credential/offer/errors.js +14 -0
  35. package/lib/module/credential/offer/errors.js.map +1 -0
  36. package/lib/module/credential/offer/index.js +5 -0
  37. package/lib/module/credential/offer/index.js.map +1 -0
  38. package/lib/module/credential/offer/types.js +41 -0
  39. package/lib/module/credential/offer/types.js.map +1 -0
  40. package/lib/module/credential/presentation/01-start-flow.js +1 -1
  41. package/lib/module/credentials-catalogue/README.md +15 -0
  42. package/lib/module/credentials-catalogue/fetch-and-parse-catalogue.js +35 -0
  43. package/lib/module/credentials-catalogue/fetch-and-parse-catalogue.js.map +1 -0
  44. package/lib/module/credentials-catalogue/index.js +2 -0
  45. package/lib/module/credentials-catalogue/index.js.map +1 -0
  46. package/lib/module/credentials-catalogue/types.js +89 -0
  47. package/lib/module/credentials-catalogue/types.js.map +1 -0
  48. package/lib/module/index.js +2 -1
  49. package/lib/module/index.js.map +1 -1
  50. package/lib/module/utils/zod.js +20 -0
  51. package/lib/module/utils/zod.js.map +1 -0
  52. package/lib/typescript/credential/index.d.ts +2 -1
  53. package/lib/typescript/credential/index.d.ts.map +1 -1
  54. package/lib/typescript/credential/issuance/01-start-flow.d.ts +1 -1
  55. package/lib/typescript/credential/offer/01-start-flow.d.ts +172 -0
  56. package/lib/typescript/credential/offer/01-start-flow.d.ts.map +1 -0
  57. package/lib/typescript/credential/offer/02-fetch-credential-offer.d.ts +20 -0
  58. package/lib/typescript/credential/offer/02-fetch-credential-offer.d.ts.map +1 -0
  59. package/lib/typescript/credential/offer/errors.d.ts +10 -0
  60. package/lib/typescript/credential/offer/errors.d.ts.map +1 -0
  61. package/lib/typescript/credential/offer/index.d.ts +7 -0
  62. package/lib/typescript/credential/offer/index.d.ts.map +1 -0
  63. package/lib/typescript/credential/offer/types.d.ts +264 -0
  64. package/lib/typescript/credential/offer/types.d.ts.map +1 -0
  65. package/lib/typescript/credential/presentation/01-start-flow.d.ts +1 -1
  66. package/lib/typescript/credentials-catalogue/fetch-and-parse-catalogue.d.ts +15 -0
  67. package/lib/typescript/credentials-catalogue/fetch-and-parse-catalogue.d.ts.map +1 -0
  68. package/lib/typescript/credentials-catalogue/index.d.ts +3 -0
  69. package/lib/typescript/credentials-catalogue/index.d.ts.map +1 -0
  70. package/lib/typescript/credentials-catalogue/types.d.ts +844 -0
  71. package/lib/typescript/credentials-catalogue/types.d.ts.map +1 -0
  72. package/lib/typescript/index.d.ts +2 -1
  73. package/lib/typescript/index.d.ts.map +1 -1
  74. package/lib/typescript/utils/zod.d.ts +15 -0
  75. package/lib/typescript/utils/zod.d.ts.map +1 -0
  76. package/package.json +21 -2
  77. package/src/credential/index.ts +2 -1
  78. package/src/credential/issuance/01-start-flow.ts +1 -1
  79. package/src/credential/offer/01-start-flow.ts +89 -0
  80. package/src/credential/offer/02-fetch-credential-offer.ts +54 -0
  81. package/src/credential/offer/README.md +174 -0
  82. package/src/credential/offer/errors.ts +17 -0
  83. package/src/credential/offer/index.ts +16 -0
  84. package/src/credential/offer/types.ts +59 -0
  85. package/src/credential/presentation/01-start-flow.ts +1 -1
  86. package/src/credentials-catalogue/README.md +15 -0
  87. package/src/credentials-catalogue/fetch-and-parse-catalogue.ts +54 -0
  88. package/src/credentials-catalogue/index.ts +2 -0
  89. package/src/credentials-catalogue/types.ts +97 -0
  90. package/src/index.ts +2 -0
  91. package/src/utils/zod.ts +28 -0
@@ -0,0 +1 @@
1
+ {"version":3,"names":["fetchAndParseCatalogue"],"sourceRoot":"../../../src","sources":["credentials-catalogue/index.ts"],"mappings":"AAAA,SAASA,sBAAsB,QAAQ,6BAA6B"}
@@ -0,0 +1,89 @@
1
+ import * as z from "zod";
2
+ import { UnixTime } from "../sd-jwt/types";
3
+ const CredentialPurpose = z.object({
4
+ id: z.string(),
5
+ description: z.string(),
6
+ category: z.string(),
7
+ subcategory: z.string(),
8
+ claims_required: z.array(z.string()),
9
+ claim_recommended: z.array(z.string())
10
+ });
11
+ const CredentialIssuer = z.object({
12
+ id: z.string(),
13
+ organization_name: z.string(),
14
+ organization_code: z.string(),
15
+ organization_country: z.string(),
16
+ contacts: z.array(z.string()).optional(),
17
+ homepage_uri: z.string().optional(),
18
+ logo_uri: z.string().optional(),
19
+ policy_uri: z.string().optional(),
20
+ tos_uri: z.string().optional()
21
+ });
22
+ const AuthenticSource = z.object({
23
+ id: z.string(),
24
+ organization_name: z.string(),
25
+ organization_code: z.string(),
26
+ organization_country: z.string(),
27
+ source_type: z.enum(["public", "private"]),
28
+ contacts: z.array(z.string()).optional(),
29
+ homepage_uri: z.string().optional(),
30
+ logo_uri: z.string().optional(),
31
+ user_information: z.string().optional()
32
+ });
33
+ const CredentialFormat = z.object({
34
+ configuration_id: z.string(),
35
+ format: z.enum(["dc+sd-jwt", "mso_mdoc"]),
36
+ vct: z.string().url().optional(),
37
+ docType: z.string().optional(),
38
+ schema_uri: z.string().url().optional(),
39
+ "schema_uri#integrity": z.string().optional()
40
+ });
41
+ const Claim = z.object({
42
+ name: z.string(),
43
+ taxonomy_ref: z.string(),
44
+ display_name: z.string()
45
+ });
46
+ export const DigitalCredential = z.object({
47
+ version: z.string(),
48
+ credential_type: z.string(),
49
+ legal_type: z.string(),
50
+ name: z.string(),
51
+ description: z.string(),
52
+ validity_info: z.object({
53
+ max_validity_days: z.number(),
54
+ status_methods: z.array(z.string()),
55
+ allowed_states: z.array(z.string())
56
+ }),
57
+ authentication: z.object({
58
+ user_auth_required: z.boolean(),
59
+ min_loa: z.string(),
60
+ supported_eid_schemes: z.array(z.string())
61
+ }),
62
+ purposes: z.array(CredentialPurpose),
63
+ issuers: z.array(CredentialIssuer),
64
+ authentic_sources: z.array(AuthenticSource),
65
+ formats: z.array(CredentialFormat),
66
+ claims: z.array(Claim)
67
+ });
68
+
69
+ /**
70
+ * The Digital Credentials Catalogue published by the Trust Anchor
71
+ *
72
+ * @version 1.1.0
73
+ * @see https://italia.github.io/eid-wallet-it-docs/releases/1.1.0/en/registry-catalogue.html
74
+ */
75
+ export const DigitalCredentialsCatalogue = z.object({
76
+ header: z.object({
77
+ typ: z.string(),
78
+ alg: z.string(),
79
+ kid: z.string()
80
+ }),
81
+ payload: z.object({
82
+ catalog_version: z.string(),
83
+ taxonomy_uri: z.string().url(),
84
+ credentials: z.array(DigitalCredential),
85
+ iat: UnixTime,
86
+ exp: UnixTime
87
+ })
88
+ });
89
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["z","UnixTime","CredentialPurpose","object","id","string","description","category","subcategory","claims_required","array","claim_recommended","CredentialIssuer","organization_name","organization_code","organization_country","contacts","optional","homepage_uri","logo_uri","policy_uri","tos_uri","AuthenticSource","source_type","enum","user_information","CredentialFormat","configuration_id","format","vct","url","docType","schema_uri","Claim","name","taxonomy_ref","display_name","DigitalCredential","version","credential_type","legal_type","validity_info","max_validity_days","number","status_methods","allowed_states","authentication","user_auth_required","boolean","min_loa","supported_eid_schemes","purposes","issuers","authentic_sources","formats","claims","DigitalCredentialsCatalogue","header","typ","alg","kid","payload","catalog_version","taxonomy_uri","credentials","iat","exp"],"sourceRoot":"../../../src","sources":["credentials-catalogue/types.ts"],"mappings":"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"}
@@ -3,6 +3,7 @@ import { fixBase64EncodingOnKey } from "./utils/jwk";
3
3
  // https://github.com/facebook/react-native/issues/24428
4
4
  import "react-native-url-polyfill/auto";
5
5
  import * as Credential from "./credential";
6
+ import * as CredentialsCatalogue from "./credentials-catalogue";
6
7
  import * as PID from "./pid";
7
8
  import * as SdJwt from "./sd-jwt";
8
9
  import * as Mdoc from "./mdoc";
@@ -13,5 +14,5 @@ import * as WalletInstance from "./wallet-instance";
13
14
  import * as Logging from "./utils/logging";
14
15
  import { AuthorizationDetail, AuthorizationDetails } from "./utils/par";
15
16
  import { createCryptoContextFor } from "./utils/crypto";
16
- export { SdJwt, Mdoc, PID, Credential, WalletInstanceAttestation, WalletInstance, Errors, Trust, createCryptoContextFor, AuthorizationDetail, AuthorizationDetails, fixBase64EncodingOnKey, Logging };
17
+ export { SdJwt, Mdoc, PID, Credential, CredentialsCatalogue, WalletInstanceAttestation, WalletInstance, Errors, Trust, createCryptoContextFor, AuthorizationDetail, AuthorizationDetails, fixBase64EncodingOnKey, Logging };
17
18
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["fixBase64EncodingOnKey","Credential","PID","SdJwt","Mdoc","Errors","WalletInstanceAttestation","Trust","WalletInstance","Logging","AuthorizationDetail","AuthorizationDetails","createCryptoContextFor"],"sourceRoot":"../../src","sources":["index.ts"],"mappings":"AACA,SAASA,sBAAsB,QAAQ,aAAa;AACpD;AACA;AACA,OAAO,gCAAgC;AAEvC,OAAO,KAAKC,UAAU,MAAM,cAAc;AAC1C,OAAO,KAAKC,GAAG,MAAM,OAAO;AAC5B,OAAO,KAAKC,KAAK,MAAM,UAAU;AACjC,OAAO,KAAKC,IAAI,MAAM,QAAQ;AAC9B,OAAO,KAAKC,MAAM,MAAM,gBAAgB;AACxC,OAAO,KAAKC,yBAAyB,MAAM,+BAA+B;AAC1E,OAAO,KAAKC,KAAK,MAAM,SAAS;AAChC,OAAO,KAAKC,cAAc,MAAM,mBAAmB;AACnD,OAAO,KAAKC,OAAO,MAAM,iBAAiB;AAC1C,SAASC,mBAAmB,EAAEC,oBAAoB,QAAQ,aAAa;AACvE,SAASC,sBAAsB,QAAQ,gBAAgB;AAGvD,SACET,KAAK,EACLC,IAAI,EACJF,GAAG,EACHD,UAAU,EACVK,yBAAyB,EACzBE,cAAc,EACdH,MAAM,EACNE,KAAK,EACLK,sBAAsB,EACtBF,mBAAmB,EACnBC,oBAAoB,EACpBX,sBAAsB,EACtBS,OAAO"}
1
+ {"version":3,"names":["fixBase64EncodingOnKey","Credential","CredentialsCatalogue","PID","SdJwt","Mdoc","Errors","WalletInstanceAttestation","Trust","WalletInstance","Logging","AuthorizationDetail","AuthorizationDetails","createCryptoContextFor"],"sourceRoot":"../../src","sources":["index.ts"],"mappings":"AACA,SAASA,sBAAsB,QAAQ,aAAa;AACpD;AACA;AACA,OAAO,gCAAgC;AAEvC,OAAO,KAAKC,UAAU,MAAM,cAAc;AAC1C,OAAO,KAAKC,oBAAoB,MAAM,yBAAyB;AAC/D,OAAO,KAAKC,GAAG,MAAM,OAAO;AAC5B,OAAO,KAAKC,KAAK,MAAM,UAAU;AACjC,OAAO,KAAKC,IAAI,MAAM,QAAQ;AAC9B,OAAO,KAAKC,MAAM,MAAM,gBAAgB;AACxC,OAAO,KAAKC,yBAAyB,MAAM,+BAA+B;AAC1E,OAAO,KAAKC,KAAK,MAAM,SAAS;AAChC,OAAO,KAAKC,cAAc,MAAM,mBAAmB;AACnD,OAAO,KAAKC,OAAO,MAAM,iBAAiB;AAC1C,SAASC,mBAAmB,EAAEC,oBAAoB,QAAQ,aAAa;AACvE,SAASC,sBAAsB,QAAQ,gBAAgB;AAGvD,SACET,KAAK,EACLC,IAAI,EACJF,GAAG,EACHF,UAAU,EACVC,oBAAoB,EACpBK,yBAAyB,EACzBE,cAAc,EACdH,MAAM,EACNE,KAAK,EACLK,sBAAsB,EACtBF,mBAAmB,EACnBC,oBAAoB,EACpBZ,sBAAsB,EACtBU,OAAO"}
@@ -0,0 +1,20 @@
1
+ /**
2
+ * @see https://github.com/JacobWeisenburger/zod_utilz/blob/main/src/stringToJSON.ts
3
+ */
4
+
5
+ import { z } from "zod";
6
+ const literalSchema = z.union([z.string(), z.number(), z.boolean(), z.null()]);
7
+ const jsonSchema = z.lazy(() => z.union([literalSchema, z.array(jsonSchema), z.record(jsonSchema)]));
8
+ export const json = () => jsonSchema;
9
+ export const stringToJSONSchema = z.string().transform((str, ctx) => {
10
+ try {
11
+ return JSON.parse(str);
12
+ } catch (e) {
13
+ ctx.addIssue({
14
+ code: "custom",
15
+ message: "Invalid JSON"
16
+ });
17
+ return z.NEVER;
18
+ }
19
+ });
20
+ //# sourceMappingURL=zod.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["z","literalSchema","union","string","number","boolean","null","jsonSchema","lazy","array","record","json","stringToJSONSchema","transform","str","ctx","JSON","parse","e","addIssue","code","message","NEVER"],"sourceRoot":"../../../src","sources":["utils/zod.ts"],"mappings":"AAAA;AACA;AACA;;AAEA,SAASA,CAAC,QAAQ,KAAK;AAEvB,MAAMC,aAAa,GAAGD,CAAC,CAACE,KAAK,CAAC,CAACF,CAAC,CAACG,MAAM,CAAC,CAAC,EAAEH,CAAC,CAACI,MAAM,CAAC,CAAC,EAAEJ,CAAC,CAACK,OAAO,CAAC,CAAC,EAAEL,CAAC,CAACM,IAAI,CAAC,CAAC,CAAC,CAAC;AAM9E,MAAMC,UAA2B,GAAGP,CAAC,CAACQ,IAAI,CAAC,MACzCR,CAAC,CAACE,KAAK,CAAC,CAACD,aAAa,EAAED,CAAC,CAACS,KAAK,CAACF,UAAU,CAAC,EAAEP,CAAC,CAACU,MAAM,CAACH,UAAU,CAAC,CAAC,CACpE,CAAC;AAED,OAAO,MAAMI,IAAI,GAAGA,CAAA,KAAMJ,UAAU;AAEpC,OAAO,MAAMK,kBAAkB,GAAGZ,CAAC,CAChCG,MAAM,CAAC,CAAC,CACRU,SAAS,CAAC,CAACC,GAAG,EAAEC,GAAG,KAAuC;EACzD,IAAI;IACF,OAAOC,IAAI,CAACC,KAAK,CAACH,GAAG,CAAC;EACxB,CAAC,CAAC,OAAOI,CAAC,EAAE;IACVH,GAAG,CAACI,QAAQ,CAAC;MAAEC,IAAI,EAAE,QAAQ;MAAEC,OAAO,EAAE;IAAe,CAAC,CAAC;IACzD,OAAOrB,CAAC,CAACsB,KAAK;EAChB;AACF,CAAC,CAAC"}
@@ -2,5 +2,6 @@ import * as Issuance from "./issuance";
2
2
  import * as Presentation from "./presentation";
3
3
  import * as Status from "./status";
4
4
  import * as Trustmark from "./trustmark";
5
- export { Issuance, Presentation, Status, Trustmark };
5
+ import * as Offer from "./offer";
6
+ export { Issuance, Presentation, Status, Trustmark, Offer };
6
7
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/credential/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,QAAQ,MAAM,YAAY,CAAC;AACvC,OAAO,KAAK,YAAY,MAAM,gBAAgB,CAAC;AAC/C,OAAO,KAAK,MAAM,MAAM,UAAU,CAAC;AACnC,OAAO,KAAK,SAAS,MAAM,aAAa,CAAC;AAEzC,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/credential/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,QAAQ,MAAM,YAAY,CAAC;AACvC,OAAO,KAAK,YAAY,MAAM,gBAAgB,CAAC;AAC/C,OAAO,KAAK,MAAM,MAAM,UAAU,CAAC;AACnC,OAAO,KAAK,SAAS,MAAM,aAAa,CAAC;AACzC,OAAO,KAAK,KAAK,MAAM,SAAS,CAAC;AAEjC,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC"}
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * WARNING: This is the first function to be called in the issuing flow. The next function to be called is {@link evaluateIssuerTrust}.
3
3
  * The beginning of the issuing flow.
4
- * To be implemented accordind to the user touchpoint
4
+ * To be implemented according to the user touchpoint
5
5
  *
6
6
  * @returns The configuration ID of the Credential to be issued and the url of the Issuer
7
7
  */
@@ -0,0 +1,172 @@
1
+ import * as z from "zod";
2
+ declare const CredentialOfferParams: z.ZodUnion<[z.ZodObject<{
3
+ credential_offer: z.ZodPipeline<z.ZodEffects<z.ZodString, string | number | boolean | {
4
+ [key: string]: string | number | boolean | any | (string | number | boolean | any | (string | number | boolean | any | (string | number | boolean | any | (string | number | boolean | any | (string | number | boolean | any | (string | number | boolean | any | (string | number | boolean | any | (string | number | boolean | any | (string | number | boolean | any | (string | number | boolean | any | (string | number | boolean | any | any | null)[] | null)[] | null)[] | null)[] | null)[] | null)[] | null)[] | null)[] | null)[] | null)[] | null)[] | null;
5
+ } | (string | number | boolean | any | (string | number | boolean | any | (string | number | boolean | any | (string | number | boolean | any | (string | number | boolean | any | (string | number | boolean | any | (string | number | boolean | any | (string | number | boolean | any | (string | number | boolean | any | (string | number | boolean | any | (string | number | boolean | any | any | null)[] | null)[] | null)[] | null)[] | null)[] | null)[] | null)[] | null)[] | null)[] | null)[] | null)[] | null, string>, z.ZodObject<{
6
+ credential_issuer: z.ZodString;
7
+ credential_configuration_ids: z.ZodArray<z.ZodString, "many">;
8
+ grants: z.ZodOptional<z.ZodObject<{
9
+ authorization_code: z.ZodOptional<z.ZodObject<{
10
+ issuer_state: z.ZodOptional<z.ZodString>;
11
+ authorization_server: z.ZodOptional<z.ZodString>;
12
+ }, "strip", z.ZodTypeAny, {
13
+ issuer_state?: string | undefined;
14
+ authorization_server?: string | undefined;
15
+ }, {
16
+ issuer_state?: string | undefined;
17
+ authorization_server?: string | undefined;
18
+ }>>;
19
+ "urn:ietf:params:oauth:grant-type:pre-authorized_code": z.ZodOptional<z.ZodObject<{
20
+ "pre-authorized_code": z.ZodString;
21
+ tx_code: z.ZodOptional<z.ZodObject<{
22
+ input_mode: z.ZodOptional<z.ZodEnum<["numeric", "text"]>>;
23
+ length: z.ZodOptional<z.ZodNumber>;
24
+ description: z.ZodOptional<z.ZodString>;
25
+ }, "strip", z.ZodTypeAny, {
26
+ input_mode?: "numeric" | "text" | undefined;
27
+ length?: number | undefined;
28
+ description?: string | undefined;
29
+ }, {
30
+ input_mode?: "numeric" | "text" | undefined;
31
+ length?: number | undefined;
32
+ description?: string | undefined;
33
+ }>>;
34
+ authorization_server: z.ZodOptional<z.ZodString>;
35
+ }, "strip", z.ZodTypeAny, {
36
+ "pre-authorized_code": string;
37
+ tx_code?: {
38
+ input_mode?: "numeric" | "text" | undefined;
39
+ length?: number | undefined;
40
+ description?: string | undefined;
41
+ } | undefined;
42
+ authorization_server?: string | undefined;
43
+ }, {
44
+ "pre-authorized_code": string;
45
+ tx_code?: {
46
+ input_mode?: "numeric" | "text" | undefined;
47
+ length?: number | undefined;
48
+ description?: string | undefined;
49
+ } | undefined;
50
+ authorization_server?: string | undefined;
51
+ }>>;
52
+ }, "strip", z.ZodTypeAny, {
53
+ authorization_code?: {
54
+ issuer_state?: string | undefined;
55
+ authorization_server?: string | undefined;
56
+ } | undefined;
57
+ "urn:ietf:params:oauth:grant-type:pre-authorized_code"?: {
58
+ "pre-authorized_code": string;
59
+ tx_code?: {
60
+ input_mode?: "numeric" | "text" | undefined;
61
+ length?: number | undefined;
62
+ description?: string | undefined;
63
+ } | undefined;
64
+ authorization_server?: string | undefined;
65
+ } | undefined;
66
+ }, {
67
+ authorization_code?: {
68
+ issuer_state?: string | undefined;
69
+ authorization_server?: string | undefined;
70
+ } | undefined;
71
+ "urn:ietf:params:oauth:grant-type:pre-authorized_code"?: {
72
+ "pre-authorized_code": string;
73
+ tx_code?: {
74
+ input_mode?: "numeric" | "text" | undefined;
75
+ length?: number | undefined;
76
+ description?: string | undefined;
77
+ } | undefined;
78
+ authorization_server?: string | undefined;
79
+ } | undefined;
80
+ }>>;
81
+ }, "strip", z.ZodTypeAny, {
82
+ credential_issuer: string;
83
+ credential_configuration_ids: string[];
84
+ grants?: {
85
+ authorization_code?: {
86
+ issuer_state?: string | undefined;
87
+ authorization_server?: string | undefined;
88
+ } | undefined;
89
+ "urn:ietf:params:oauth:grant-type:pre-authorized_code"?: {
90
+ "pre-authorized_code": string;
91
+ tx_code?: {
92
+ input_mode?: "numeric" | "text" | undefined;
93
+ length?: number | undefined;
94
+ description?: string | undefined;
95
+ } | undefined;
96
+ authorization_server?: string | undefined;
97
+ } | undefined;
98
+ } | undefined;
99
+ }, {
100
+ credential_issuer: string;
101
+ credential_configuration_ids: string[];
102
+ grants?: {
103
+ authorization_code?: {
104
+ issuer_state?: string | undefined;
105
+ authorization_server?: string | undefined;
106
+ } | undefined;
107
+ "urn:ietf:params:oauth:grant-type:pre-authorized_code"?: {
108
+ "pre-authorized_code": string;
109
+ tx_code?: {
110
+ input_mode?: "numeric" | "text" | undefined;
111
+ length?: number | undefined;
112
+ description?: string | undefined;
113
+ } | undefined;
114
+ authorization_server?: string | undefined;
115
+ } | undefined;
116
+ } | undefined;
117
+ }>>;
118
+ credential_offer_uri: z.ZodUndefined;
119
+ }, "strip", z.ZodTypeAny, {
120
+ credential_offer: {
121
+ credential_issuer: string;
122
+ credential_configuration_ids: string[];
123
+ grants?: {
124
+ authorization_code?: {
125
+ issuer_state?: string | undefined;
126
+ authorization_server?: string | undefined;
127
+ } | undefined;
128
+ "urn:ietf:params:oauth:grant-type:pre-authorized_code"?: {
129
+ "pre-authorized_code": string;
130
+ tx_code?: {
131
+ input_mode?: "numeric" | "text" | undefined;
132
+ length?: number | undefined;
133
+ description?: string | undefined;
134
+ } | undefined;
135
+ authorization_server?: string | undefined;
136
+ } | undefined;
137
+ } | undefined;
138
+ };
139
+ credential_offer_uri?: undefined;
140
+ }, {
141
+ credential_offer: string;
142
+ credential_offer_uri?: undefined;
143
+ }>, z.ZodObject<{
144
+ credential_offer: z.ZodUndefined;
145
+ credential_offer_uri: z.ZodString;
146
+ }, "strip", z.ZodTypeAny, {
147
+ credential_offer_uri: string;
148
+ credential_offer?: undefined;
149
+ }, {
150
+ credential_offer_uri: string;
151
+ credential_offer?: undefined;
152
+ }>]>;
153
+ type CredentialOfferParams = z.infer<typeof CredentialOfferParams>;
154
+ /**
155
+ * The beginning of the credential offer flow.
156
+ * To be implemented according to the user touchpoint
157
+ *
158
+ * @param params Credential offer encoded url
159
+ * @returns Object containing the credential offer by reference or by value
160
+ */
161
+ export type StartFlow = (encodedUrl: string) => CredentialOfferParams;
162
+ /**
163
+ * Start a credential offer flow by validating and parse an encoded url
164
+ * extracted from a QR code or a deep link.
165
+ *
166
+ * @param params The encoded url to be validated and parsed
167
+ * @returns Object containing the credential offer by reference or by value
168
+ * @throws If the provided encoded url is not valid
169
+ */
170
+ export declare const startFlowFromQR: StartFlow;
171
+ export {};
172
+ //# sourceMappingURL=01-start-flow.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"01-start-flow.d.ts","sourceRoot":"","sources":["../../../../src/credential/offer/01-start-flow.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,KAAK,CAAC;AAUzB,QAAA,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IASzB,CAAC;AACH,KAAK,qBAAqB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC;AAEnE;;;;;;GAMG;AACH,MAAM,MAAM,SAAS,GAAG,CAAC,UAAU,EAAE,MAAM,KAAK,qBAAqB,CAAC;AAEtE;;;;;;;GAOG;AACH,eAAO,MAAM,eAAe,EAAE,SAiD7B,CAAC"}
@@ -0,0 +1,20 @@
1
+ import type { CredentialOffer } from "./types";
2
+ export type GetCredentialOffer = (credentialOfferUri: string, context: {
3
+ appFetch?: GlobalFetch["fetch"];
4
+ }) => Promise<CredentialOffer>;
5
+ /**
6
+ * Fetches and validates a credential offer from a given URI.
7
+ *
8
+ * This function performs an HTTP GET request to the specified `credentialOfferUri`,
9
+ * expecting a JSON response that matches the `CredentialOfferSchema`. If the response
10
+ * is invalid or does not conform to the schema, an error is logged and an
11
+ * `InvalidCredentialOfferError` is thrown.
12
+ *
13
+ * @param credentialOfferUri - The URI from which to fetch the credential offer.
14
+ * @param context - Optional context object that may provide a custom `appFetch` implementation.
15
+ * @returns The validated credential offer data.
16
+ * @throws {IssuerResponseError} If the HTTP response status is not 200.
17
+ * @throws {InvalidCredentialOfferError} If the response does not match the expected schema.
18
+ */
19
+ export declare const fetchCredentialOffer: GetCredentialOffer;
20
+ //# sourceMappingURL=02-fetch-credential-offer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"02-fetch-credential-offer.d.ts","sourceRoot":"","sources":["../../../../src/credential/offer/02-fetch-credential-offer.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAG/C,MAAM,MAAM,kBAAkB,GAAG,CAC/B,kBAAkB,EAAE,MAAM,EAC1B,OAAO,EAAE;IACP,QAAQ,CAAC,EAAE,WAAW,CAAC,OAAO,CAAC,CAAC;CACjC,KACE,OAAO,CAAC,eAAe,CAAC,CAAC;AAE9B;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,oBAAoB,EAAE,kBAyBlC,CAAC"}
@@ -0,0 +1,10 @@
1
+ import { IoWalletError } from "../../utils/errors";
2
+ export declare class InvalidCredentialOfferError extends IoWalletError {
3
+ code: string;
4
+ constructor(message?: string);
5
+ }
6
+ export declare class InvalidQRCodeError extends IoWalletError {
7
+ code: string;
8
+ constructor(message?: string);
9
+ }
10
+ //# sourceMappingURL=errors.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../../../src/credential/offer/errors.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAEnD,qBAAa,2BAA4B,SAAQ,aAAa;IAC5D,IAAI,SAAkC;gBAE1B,OAAO,CAAC,EAAE,MAAM;CAG7B;AAED,qBAAa,kBAAmB,SAAQ,aAAa;IACnD,IAAI,SAAyB;gBAEjB,OAAO,CAAC,EAAE,MAAM;CAG7B"}
@@ -0,0 +1,7 @@
1
+ import { startFlowFromQR, type StartFlow } from "./01-start-flow";
2
+ import { fetchCredentialOffer, type GetCredentialOffer } from "./02-fetch-credential-offer";
3
+ import * as Errors from "./errors";
4
+ export type { CredentialOffer, Grants, AuthorizationCodeGrant, PreAuthorizedCodeGrant, TransactionCode, } from "./types";
5
+ export { Errors, fetchCredentialOffer, startFlowFromQR };
6
+ export type { GetCredentialOffer, StartFlow };
7
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/credential/offer/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,KAAK,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAClE,OAAO,EACL,oBAAoB,EACpB,KAAK,kBAAkB,EACxB,MAAM,6BAA6B,CAAC;AACrC,OAAO,KAAK,MAAM,MAAM,UAAU,CAAC;AACnC,YAAY,EACV,eAAe,EACf,MAAM,EACN,sBAAsB,EACtB,sBAAsB,EACtB,eAAe,GAChB,MAAM,SAAS,CAAC;AAEjB,OAAO,EAAE,MAAM,EAAE,oBAAoB,EAAE,eAAe,EAAE,CAAC;AACzD,YAAY,EAAE,kBAAkB,EAAE,SAAS,EAAE,CAAC"}