ubid-common 0.1.0 → 0.1.2

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.
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ubidExtendedV1.schema.d.ts","sourceRoot":"","sources":["../../src/contracts/ubidExtendedV1.schema.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,289 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.UbidExtendedConsentSelectionSchema = exports.UbidExtendedV1ClaimsSchema = exports.UbidPublicProfileSchema = exports.UbidPublicServiceSchema = exports.UbidPublicContactSchema = exports.UbidAvatarReferenceSchema = exports.UbidPostalAddressSchema = exports.UbidExtendedProfileSchema = exports.UbidSocialNetworkSchema = exports.UbidAssuranceSchema = void 0;
4
+ const zod_1 = require("zod");
5
+ const ubidExtendedV1_1 = require("./ubidExtendedV1");
6
+ const isoDateTime = zod_1.z.string().datetime({ offset: true });
7
+ const did = zod_1.z.string().min(7).max(512).regex(/^did:[a-z0-9]+:[^\s]+$/);
8
+ const countryCode = zod_1.z.string().regex(/^[A-Z]{2}$/);
9
+ const locale = zod_1.z
10
+ .string()
11
+ .min(2)
12
+ .max(35)
13
+ .regex(/^[A-Za-z]{2,8}(?:-[A-Za-z0-9]{1,8})*$/);
14
+ const sha256Base64Url = zod_1.z.string().regex(/^[A-Za-z0-9_-]{43}$/);
15
+ function httpsUrl(maxLength = ubidExtendedV1_1.UBID_EXTENDED_V1_LIMITS.url) {
16
+ return zod_1.z
17
+ .string()
18
+ .max(maxLength)
19
+ .url()
20
+ .refine((value) => new URL(value).protocol === "https:", {
21
+ message: "URL must use HTTPS",
22
+ });
23
+ }
24
+ exports.UbidAssuranceSchema = zod_1.z
25
+ .object({
26
+ level: zod_1.z.enum(ubidExtendedV1_1.UBID_EXTENDED_V1_ASSURANCE_LEVELS),
27
+ method: zod_1.z.string().trim().min(1).max(120),
28
+ verified_at: isoDateTime.optional(),
29
+ asserted_at: isoDateTime.optional(),
30
+ evidence_ref: zod_1.z.string().trim().min(1).max(512).optional(),
31
+ })
32
+ .strict()
33
+ .superRefine((value, ctx) => {
34
+ if (value.level === "self_asserted" && !value.asserted_at) {
35
+ ctx.addIssue({
36
+ code: zod_1.z.ZodIssueCode.custom,
37
+ message: "self_asserted assurance requires asserted_at",
38
+ path: ["asserted_at"],
39
+ });
40
+ }
41
+ if ((value.level === "issuer_verified" ||
42
+ value.level === "document_verified") &&
43
+ !value.verified_at) {
44
+ ctx.addIssue({
45
+ code: zod_1.z.ZodIssueCode.custom,
46
+ message: `${value.level} assurance requires verified_at`,
47
+ path: ["verified_at"],
48
+ });
49
+ }
50
+ });
51
+ exports.UbidSocialNetworkSchema = zod_1.z
52
+ .object({
53
+ type: zod_1.z.enum(ubidExtendedV1_1.UBID_EXTENDED_V1_SOCIAL_NETWORK_TYPES),
54
+ url: httpsUrl(),
55
+ label: zod_1.z.string().trim().min(1).max(80).optional(),
56
+ })
57
+ .strict();
58
+ exports.UbidExtendedProfileSchema = zod_1.z
59
+ .object({
60
+ description: zod_1.z
61
+ .string()
62
+ .trim()
63
+ .min(1)
64
+ .max(ubidExtendedV1_1.UBID_EXTENDED_V1_LIMITS.description)
65
+ .optional(),
66
+ social_networks: zod_1.z
67
+ .array(exports.UbidSocialNetworkSchema)
68
+ .max(ubidExtendedV1_1.UBID_EXTENDED_V1_LIMITS.socialNetworks)
69
+ .optional(),
70
+ updated_at: isoDateTime,
71
+ assurance: exports.UbidAssuranceSchema.refine((value) => value.level === "holder_signed" &&
72
+ value.method === "hybrid_profile_signature", {
73
+ message: "profile assurance must be holder_signed with hybrid_profile_signature",
74
+ }),
75
+ })
76
+ .strict()
77
+ .superRefine((value, ctx) => {
78
+ if (!value.description && !(value.social_networks?.length)) {
79
+ ctx.addIssue({
80
+ code: zod_1.z.ZodIssueCode.custom,
81
+ message: "profile requires description or social_networks",
82
+ path: [],
83
+ });
84
+ }
85
+ });
86
+ exports.UbidPostalAddressSchema = zod_1.z
87
+ .object({
88
+ schema_version: zod_1.z.literal(1),
89
+ country_code: countryCode,
90
+ address_lines: zod_1.z
91
+ .array(zod_1.z
92
+ .string()
93
+ .trim()
94
+ .min(1)
95
+ .max(ubidExtendedV1_1.UBID_EXTENDED_V1_LIMITS.addressLine))
96
+ .min(1)
97
+ .max(ubidExtendedV1_1.UBID_EXTENDED_V1_LIMITS.addressLines),
98
+ dependent_locality: zod_1.z.string().trim().max(120).optional(),
99
+ locality: zod_1.z.string().trim().max(120).optional(),
100
+ administrative_area: zod_1.z.string().trim().max(120).optional(),
101
+ postal_code: zod_1.z.string().trim().max(32).optional(),
102
+ language_code: locale.optional(),
103
+ assurance: exports.UbidAssuranceSchema.refine((value) => value.level === "self_asserted", { message: "postal address assurance must remain self_asserted" }),
104
+ })
105
+ .strict();
106
+ exports.UbidAvatarReferenceSchema = zod_1.z
107
+ .object({
108
+ uri: httpsUrl(),
109
+ sha256: sha256Base64Url,
110
+ media_type: zod_1.z.literal("image/webp"),
111
+ width: zod_1.z.number().int().positive().max(4_096),
112
+ height: zod_1.z.number().int().positive().max(4_096),
113
+ updated_at: isoDateTime,
114
+ assurance: exports.UbidAssuranceSchema.refine((value) => value.level === "holder_provided" &&
115
+ value.method === "hash_bound_reference", {
116
+ message: "avatar assurance must be holder_provided with hash_bound_reference",
117
+ }),
118
+ })
119
+ .strict();
120
+ exports.UbidPublicContactSchema = zod_1.z
121
+ .object({
122
+ type: zod_1.z.enum(ubidExtendedV1_1.UBID_EXTENDED_V1_PUBLIC_CONTACT_TYPES),
123
+ value: zod_1.z.string().trim().min(1).max(1_000),
124
+ })
125
+ .strict()
126
+ .superRefine((value, ctx) => {
127
+ if (value.type === "website") {
128
+ const parsed = httpsUrl().safeParse(value.value);
129
+ if (!parsed.success) {
130
+ ctx.addIssue({
131
+ code: zod_1.z.ZodIssueCode.custom,
132
+ message: "website contact must be an HTTPS URL",
133
+ path: ["value"],
134
+ });
135
+ }
136
+ }
137
+ });
138
+ exports.UbidPublicServiceSchema = zod_1.z
139
+ .object({
140
+ id: zod_1.z.string().trim().min(1).max(80),
141
+ title: zod_1.z.string().trim().min(1).max(120),
142
+ description: zod_1.z.string().trim().min(1).max(500).optional(),
143
+ url: httpsUrl().optional(),
144
+ })
145
+ .strict();
146
+ exports.UbidPublicProfileSchema = zod_1.z
147
+ .object({
148
+ enabled: zod_1.z.literal(true),
149
+ display_name: zod_1.z
150
+ .string()
151
+ .trim()
152
+ .min(1)
153
+ .max(ubidExtendedV1_1.UBID_EXTENDED_V1_LIMITS.publicDisplayName),
154
+ headline: zod_1.z
155
+ .string()
156
+ .trim()
157
+ .min(1)
158
+ .max(ubidExtendedV1_1.UBID_EXTENDED_V1_LIMITS.publicHeadline)
159
+ .optional(),
160
+ about: zod_1.z
161
+ .string()
162
+ .trim()
163
+ .min(1)
164
+ .max(ubidExtendedV1_1.UBID_EXTENDED_V1_LIMITS.publicAbout)
165
+ .optional(),
166
+ location: zod_1.z
167
+ .string()
168
+ .trim()
169
+ .min(1)
170
+ .max(ubidExtendedV1_1.UBID_EXTENDED_V1_LIMITS.publicLocation)
171
+ .optional(),
172
+ locale,
173
+ theme: zod_1.z.string().trim().min(1).max(40).optional(),
174
+ business_availability: zod_1.z.boolean(),
175
+ contacts: zod_1.z
176
+ .array(exports.UbidPublicContactSchema)
177
+ .max(ubidExtendedV1_1.UBID_EXTENDED_V1_LIMITS.publicContacts),
178
+ social_networks: zod_1.z
179
+ .array(exports.UbidSocialNetworkSchema)
180
+ .max(ubidExtendedV1_1.UBID_EXTENDED_V1_LIMITS.publicSocialNetworks),
181
+ services: zod_1.z
182
+ .array(exports.UbidPublicServiceSchema)
183
+ .max(ubidExtendedV1_1.UBID_EXTENDED_V1_LIMITS.publicServices),
184
+ featured_credential_ids: zod_1.z
185
+ .array(zod_1.z
186
+ .string()
187
+ .trim()
188
+ .min(1)
189
+ .max(ubidExtendedV1_1.UBID_EXTENDED_V1_LIMITS.featuredCredentialId))
190
+ .max(ubidExtendedV1_1.UBID_EXTENDED_V1_LIMITS.featuredCredentialIds),
191
+ canonical_url: httpsUrl(),
192
+ projection_digest: sha256Base64Url,
193
+ updated_at: isoDateTime,
194
+ assurance: exports.UbidAssuranceSchema.refine((value) => value.level === "holder_signed" &&
195
+ value.method === "verified_public_projection", {
196
+ message: "public profile assurance must be holder_signed with verified_public_projection",
197
+ }),
198
+ })
199
+ .strict();
200
+ const optionalName = zod_1.z
201
+ .string()
202
+ .trim()
203
+ .min(1)
204
+ .max(ubidExtendedV1_1.UBID_EXTENDED_V1_LIMITS.name);
205
+ const phoneNumber = zod_1.z.string().regex(/^\+[1-9]\d{6,14}$/);
206
+ const stxAddress = zod_1.z.string().regex(/^S[A-Z0-9]{20,50}$/);
207
+ const btcNativeSegwitAddress = zod_1.z
208
+ .string()
209
+ .toLowerCase()
210
+ .regex(/^(?:bc1q|tb1q|bcrt1q)[02-9ac-hj-np-z]{10,87}$/);
211
+ const btcTaprootAddress = zod_1.z
212
+ .string()
213
+ .toLowerCase()
214
+ .regex(/^(?:bc1p|tb1p|bcrt1p)[02-9ac-hj-np-z]{10,87}$/);
215
+ exports.UbidExtendedV1ClaimsSchema = zod_1.z
216
+ .object({
217
+ given_name: optionalName,
218
+ family_name: optionalName,
219
+ ubid_did: did,
220
+ identity_assurance: exports.UbidAssuranceSchema,
221
+ second_surname: optionalName.optional(),
222
+ country: countryCode.optional(),
223
+ email: zod_1.z.string().trim().email().max(320).optional(),
224
+ email_assurance: exports.UbidAssuranceSchema.optional(),
225
+ phone_number: phoneNumber.optional(),
226
+ phone_assurance: exports.UbidAssuranceSchema.optional(),
227
+ profile: exports.UbidExtendedProfileSchema.optional(),
228
+ postal_address: exports.UbidPostalAddressSchema.optional(),
229
+ avatar: exports.UbidAvatarReferenceSchema.optional(),
230
+ public_profile: exports.UbidPublicProfileSchema.optional(),
231
+ stacks_did: did.optional(),
232
+ stx_address: stxAddress.optional(),
233
+ btc_native_segwit_address: btcNativeSegwitAddress.optional(),
234
+ btc_taproot_address: btcTaprootAddress.optional(),
235
+ blockchain_assurance: exports.UbidAssuranceSchema.optional(),
236
+ })
237
+ .strict()
238
+ .superRefine((value, ctx) => {
239
+ const contactPairs = [
240
+ ["email", "email_assurance"],
241
+ ["phone_number", "phone_assurance"],
242
+ ];
243
+ for (const [claim, assurance] of contactPairs) {
244
+ if (Boolean(value[claim]) !== Boolean(value[assurance])) {
245
+ ctx.addIssue({
246
+ code: zod_1.z.ZodIssueCode.custom,
247
+ message: `${claim} and ${assurance} must be disclosed together`,
248
+ path: [assurance],
249
+ });
250
+ }
251
+ }
252
+ const hasBlockchainClaim = Boolean(value.stacks_did ||
253
+ value.stx_address ||
254
+ value.btc_native_segwit_address ||
255
+ value.btc_taproot_address);
256
+ if (hasBlockchainClaim !== Boolean(value.blockchain_assurance)) {
257
+ ctx.addIssue({
258
+ code: zod_1.z.ZodIssueCode.custom,
259
+ message: "blockchain claims and blockchain_assurance must be disclosed together",
260
+ path: ["blockchain_assurance"],
261
+ });
262
+ }
263
+ });
264
+ exports.UbidExtendedConsentSelectionSchema = zod_1.z
265
+ .object({
266
+ selected_groups: zod_1.z
267
+ .array(zod_1.z.enum(ubidExtendedV1_1.UBID_EXTENDED_V1_CONSENT_GROUPS))
268
+ .min(1)
269
+ .max(ubidExtendedV1_1.UBID_EXTENDED_V1_CONSENT_GROUPS.length),
270
+ policy_version: zod_1.z.literal(ubidExtendedV1_1.UBID_EXTENDED_V1_CONSENT_POLICY_VERSION),
271
+ })
272
+ .strict()
273
+ .superRefine((value, ctx) => {
274
+ if (!value.selected_groups.includes("identity_core")) {
275
+ ctx.addIssue({
276
+ code: zod_1.z.ZodIssueCode.custom,
277
+ message: "identity_core consent is required",
278
+ path: ["selected_groups"],
279
+ });
280
+ }
281
+ if (new Set(value.selected_groups).size !== value.selected_groups.length) {
282
+ ctx.addIssue({
283
+ code: zod_1.z.ZodIssueCode.custom,
284
+ message: "selected_groups must not contain duplicates",
285
+ path: ["selected_groups"],
286
+ });
287
+ }
288
+ });
289
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidWJpZEV4dGVuZGVkVjEuc2NoZW1hLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NvbnRyYWN0cy91YmlkRXh0ZW5kZWRWMS5zY2hlbWEudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsNkJBQXdCO0FBQ3hCLHFEQU8wQjtBQUUxQixNQUFNLFdBQVcsR0FBRyxPQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsUUFBUSxDQUFDLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7QUFDMUQsTUFBTSxHQUFHLEdBQUcsT0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsS0FBSyxDQUFDLHdCQUF3QixDQUFDLENBQUM7QUFDdkUsTUFBTSxXQUFXLEdBQUcsT0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLEtBQUssQ0FBQyxZQUFZLENBQUMsQ0FBQztBQUNuRCxNQUFNLE1BQU0sR0FBRyxPQUFDO0tBQ2QsTUFBTSxFQUFFO0tBQ1IsR0FBRyxDQUFDLENBQUMsQ0FBQztLQUNOLEdBQUcsQ0FBQyxFQUFFLENBQUM7S0FDUCxLQUFLLENBQUMsdUNBQXVDLENBQUMsQ0FBQztBQUNqRCxNQUFNLGVBQWUsR0FBRyxPQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsS0FBSyxDQUFDLHFCQUFxQixDQUFDLENBQUM7QUFFaEUsU0FBUyxRQUFRLENBQUMsU0FBUyxHQUFHLHdDQUF1QixDQUFDLEdBQUc7SUFDeEQsT0FBTyxPQUFDO1NBQ04sTUFBTSxFQUFFO1NBQ1IsR0FBRyxDQUFDLFNBQVMsQ0FBQztTQUNkLEdBQUcsRUFBRTtTQUNMLE1BQU0sQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsSUFBSSxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUMsUUFBUSxLQUFLLFFBQVEsRUFBRTtRQUN4RCxPQUFPLEVBQUUsb0JBQW9CO0tBQzdCLENBQUMsQ0FB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
package/dist/index.d.ts CHANGED
@@ -16,4 +16,7 @@ export * from './interfaces';
16
16
  export * from './schemas';
17
17
  export * from './utils';
18
18
  export * from './functions';
19
+ export * from './contracts/ubidExtendedV1';
20
+ export * from './contracts/ubidExtendedV1.schema';
21
+ export * from './contracts/ubidExtendedV1.fixtures';
19
22
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAE5B,cAAc,iBAAiB,CAAC;AAChC,cAAc,oCAAoC,CAAC;AACnD,cAAc,oCAAoC,CAAC;AAEnD,cAAc,mBAAmB,CAAC;AAClC,cAAc,wCAAwC,CAAC;AACvD,cAAc,wCAAwC,CAAC;AAEvD,cAAc,2BAA2B,CAAC;AAC1C,cAAc,qBAAqB,CAAC;AACpC,cAAc,gCAAgC,CAAC;AAC/C,cAAc,kCAAkC,CAAC;AACjD,cAAc,yBAAyB,CAAC;AACxC,cAAc,uBAAuB,CAAC;AACtC,cAAc,0BAA0B,CAAC;AAEzC,cAAc,cAAc,CAAC;AAE7B,cAAc,WAAW,CAAC;AAE1B,cAAc,SAAS,CAAC;AAExB,cAAc,aAAa,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAE5B,cAAc,iBAAiB,CAAC;AAChC,cAAc,oCAAoC,CAAC;AACnD,cAAc,oCAAoC,CAAC;AAEnD,cAAc,mBAAmB,CAAC;AAClC,cAAc,wCAAwC,CAAC;AACvD,cAAc,wCAAwC,CAAC;AAEvD,cAAc,2BAA2B,CAAC;AAC1C,cAAc,qBAAqB,CAAC;AACpC,cAAc,gCAAgC,CAAC;AAC/C,cAAc,kCAAkC,CAAC;AACjD,cAAc,yBAAyB,CAAC;AACxC,cAAc,uBAAuB,CAAC;AACtC,cAAc,0BAA0B,CAAC;AAEzC,cAAc,cAAc,CAAC;AAE7B,cAAc,WAAW,CAAC;AAE1B,cAAc,SAAS,CAAC;AAExB,cAAc,aAAa,CAAC;AAE5B,cAAc,4BAA4B,CAAC;AAC3C,cAAc,mCAAmC,CAAC;AAClD,cAAc,qCAAqC,CAAC"}
package/dist/index.js CHANGED
@@ -32,4 +32,7 @@ __exportStar(require("./interfaces"), exports);
32
32
  __exportStar(require("./schemas"), exports);
33
33
  __exportStar(require("./utils"), exports);
34
34
  __exportStar(require("./functions"), exports);
35
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLDhDQUE0QjtBQUU1QixrREFBZ0M7QUFDaEMscUVBQW1EO0FBQ25ELHFFQUFtRDtBQUVuRCxvREFBa0M7QUFDbEMseUVBQXVEO0FBQ3ZELHlFQUF1RDtBQUV2RCw0REFBMEM7QUFDMUMsc0RBQW9DO0FBQ3BDLGlFQUErQztBQUMvQyxtRUFBaUQ7QUFDakQsMERBQXdDO0FBQ3hDLHdEQUFzQztBQUN0QywyREFBeUM7QUFFekMsK0NBQTZCO0FBRTdCLDRDQUEwQjtBQUUxQiwwQ0FBd0I7QUFFeEIsOENBQTRCIn0=
35
+ __exportStar(require("./contracts/ubidExtendedV1"), exports);
36
+ __exportStar(require("./contracts/ubidExtendedV1.schema"), exports);
37
+ __exportStar(require("./contracts/ubidExtendedV1.fixtures"), exports);
38
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLDhDQUE0QjtBQUU1QixrREFBZ0M7QUFDaEMscUVBQW1EO0FBQ25ELHFFQUFtRDtBQUVuRCxvREFBa0M7QUFDbEMseUVBQXVEO0FBQ3ZELHlFQUF1RDtBQUV2RCw0REFBMEM7QUFDMUMsc0RBQW9DO0FBQ3BDLGlFQUErQztBQUMvQyxtRUFBaUQ7QUFDakQsMERBQXdDO0FBQ3hDLHdEQUFzQztBQUN0QywyREFBeUM7QUFFekMsK0NBQTZCO0FBRTdCLDRDQUEwQjtBQUUxQiwwQ0FBd0I7QUFFeEIsOENBQTRCO0FBRTVCLDZEQUEyQztBQUMzQyxvRUFBa0Q7QUFDbEQsc0VBQW9EIn0=
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ubid-common",
3
- "version": "0.1.0",
3
+ "version": "0.1.2",
4
4
  "description": "Shared credential parsing, rendering, verification, trust, and cryptographic utility components for the UbID ecosystem.",
5
5
  "keywords": [
6
6
  "ubid",
@@ -22,6 +22,11 @@
22
22
  "types": "./dist/index.d.ts",
23
23
  "require": "./dist/index.js",
24
24
  "default": "./dist/index.js"
25
+ },
26
+ "./dist/*": {
27
+ "types": "./dist/*.d.ts",
28
+ "require": "./dist/*.js",
29
+ "default": "./dist/*.js"
25
30
  }
26
31
  },
27
32
  "files": [