@happyvertical/smrt-profiles 0.51.38 → 0.52.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 (46) hide show
  1. package/AGENTS.md +3 -1
  2. package/README.md +33 -1
  3. package/dist/chunks/{OidcIdentity-K8V4u0CR.js → OidcIdentity-Cb1bxreM.js} +3 -3
  4. package/dist/chunks/{OidcIdentity-K8V4u0CR.js.map → OidcIdentity-Cb1bxreM.js.map} +1 -1
  5. package/dist/chunks/{OidcIdentityCollection-gnrLoF08.js → OidcIdentityCollection-TV8VdK69.js} +2 -2
  6. package/dist/chunks/{OidcIdentityCollection-gnrLoF08.js.map → OidcIdentityCollection-TV8VdK69.js.map} +1 -1
  7. package/dist/chunks/{ProfileAssetCollection-CmbeSgDi.js → ProfileAssetCollection-B9hacUJa.js} +10 -4
  8. package/dist/chunks/ProfileAssetCollection-B9hacUJa.js.map +1 -0
  9. package/dist/chunks/{ProfileCollection-DTT4KNpQ.js → ProfileCollection-DuJT7Mum.js} +52 -14
  10. package/dist/chunks/ProfileCollection-DuJT7Mum.js.map +1 -0
  11. package/dist/chunks/ProfileLinkCollection-4uNURz32.js +228 -0
  12. package/dist/chunks/ProfileLinkCollection-4uNURz32.js.map +1 -0
  13. package/dist/chunks/{ProfileMetadataCollection-DxX_BJKV.js → ProfileMetadataCollection-DQhbfEfa.js} +2 -1
  14. package/dist/chunks/ProfileMetadataCollection-DQhbfEfa.js.map +1 -0
  15. package/dist/chunks/{ProfileMetafieldCollection-CMKhVi2I.js → ProfileMetafieldCollection-CoBuM_5G.js} +2 -1
  16. package/dist/chunks/ProfileMetafieldCollection-CoBuM_5G.js.map +1 -0
  17. package/dist/chunks/{oidcProvisioningPrimitives-0-3n3D6f.js → oidcProvisioningPrimitives-D9OYu5-F.js} +3 -3
  18. package/dist/chunks/{oidcProvisioningPrimitives-0-3n3D6f.js.map → oidcProvisioningPrimitives-D9OYu5-F.js.map} +1 -1
  19. package/dist/chunks/{resolveIdentity-BrJDCjYi.js → resolveIdentity-B-PK6RwU.js} +14 -14
  20. package/dist/chunks/{resolveIdentity-BrJDCjYi.js.map → resolveIdentity-B-PK6RwU.js.map} +1 -1
  21. package/dist/collections/ProfileLinkCollection.d.ts +40 -0
  22. package/dist/collections/ProfileLinkCollection.d.ts.map +1 -0
  23. package/dist/collections/index.d.ts +1 -0
  24. package/dist/collections/index.d.ts.map +1 -1
  25. package/dist/index.d.ts +3 -0
  26. package/dist/index.d.ts.map +1 -1
  27. package/dist/index.js +14 -13
  28. package/dist/index.js.map +1 -1
  29. package/dist/internal/oidc-provisioning.js +2 -2
  30. package/dist/manifest.json +589 -13
  31. package/dist/models/Profile.d.ts +26 -0
  32. package/dist/models/Profile.d.ts.map +1 -1
  33. package/dist/models/ProfileAsset.d.ts.map +1 -1
  34. package/dist/models/ProfileLink.d.ts +54 -0
  35. package/dist/models/ProfileLink.d.ts.map +1 -0
  36. package/dist/models/ProfileMetadata.d.ts.map +1 -1
  37. package/dist/models/ProfileMetafield.d.ts.map +1 -1
  38. package/dist/models/index.d.ts +1 -0
  39. package/dist/models/index.d.ts.map +1 -1
  40. package/dist/smrt-knowledge.json +537 -7
  41. package/dist/utils.js +4 -4
  42. package/package.json +12 -12
  43. package/dist/chunks/ProfileAssetCollection-CmbeSgDi.js.map +0 -1
  44. package/dist/chunks/ProfileCollection-DTT4KNpQ.js.map +0 -1
  45. package/dist/chunks/ProfileMetadataCollection-DxX_BJKV.js.map +0 -1
  46. package/dist/chunks/ProfileMetafieldCollection-CMKhVi2I.js.map +0 -1
@@ -6,10 +6,12 @@
6
6
  */
7
7
  import type { Asset } from '@happyvertical/smrt-assets';
8
8
  import { SmrtObject, type SmrtObjectOptions } from '@happyvertical/smrt-core';
9
+ import type { ProfileLinkInput } from '../collections/ProfileLinkCollection';
9
10
  import type { ApiKey, GenerateKeyResult } from './ApiKey';
10
11
  import type { AuditLog } from './AuditLog';
11
12
  import type { NostrIdentity } from './NostrIdentity';
12
13
  import type { OidcIdentity } from './OidcIdentity';
14
+ import type { ProfileLink } from './ProfileLink';
13
15
  import type { ProfileMetadata } from './ProfileMetadata';
14
16
  import type { ProfileRelationship } from './ProfileRelationship';
15
17
  export interface ProfileOptions extends SmrtObjectOptions {
@@ -17,6 +19,7 @@ export interface ProfileOptions extends SmrtObjectOptions {
17
19
  email?: string;
18
20
  name?: string;
19
21
  description?: string;
22
+ isPublic?: boolean;
20
23
  tenantId?: string | null;
21
24
  }
22
25
  export declare class Profile extends SmrtObject {
@@ -27,6 +30,13 @@ export declare class Profile extends SmrtObject {
27
30
  emailKey: string | null;
28
31
  name: string;
29
32
  description?: string;
33
+ /**
34
+ * Public-figure flag: the person or organization is publicly known (an
35
+ * elected official, a public body), so an application may show their
36
+ * contact details and links to everyone. Defaults to private. The flag only
37
+ * records the fact; each application decides what it reveals.
38
+ */
39
+ isPublic: boolean;
30
40
  metadata: ProfileMetadata[];
31
41
  relationshipsFrom: ProfileRelationship[];
32
42
  relationshipsTo: ProfileRelationship[];
@@ -71,6 +81,22 @@ export declare class Profile extends SmrtObject {
71
81
  * @param metafieldSlug - The slug of the metafield to remove
72
82
  */
73
83
  removeMetadata(metafieldSlug: string): Promise<void>;
84
+ /**
85
+ * The metafield a slug names for this profile: the profile tenant's own
86
+ * definition first, then a global (NULL-tenant) one. A profile never takes
87
+ * another tenant's definition, which a super-admin or system read would
88
+ * otherwise return. A tenant-less profile falls back to the active tenant
89
+ * context's own definition only (none under system context).
90
+ */
91
+ private resolveMetafield;
92
+ private getProfileLinkCollection;
93
+ /** This profile's web links in display order. */
94
+ getLinks(): Promise<ProfileLink[]>;
95
+ /**
96
+ * Replaces this profile's web links with `links`, in that order, in one
97
+ * transaction (see `ProfileLinkCollection.replaceForProfile`).
98
+ */
99
+ setLinks(links: readonly ProfileLinkInput[]): Promise<ProfileLink[]>;
74
100
  private getProfileAssetCollection;
75
101
  getAssets(relationship?: string): Promise<Asset[]>;
76
102
  addAsset(asset: Asset, relationship?: string, sortOrder?: number): Promise<void>;
@@ -1 +1 @@
1
- {"version":3,"file":"Profile.d.ts","sourceRoot":"","sources":["../../src/models/Profile.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Profile.d.ts","sourceRoot":"","sources":["../../src/models/Profile.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"ProfileAsset.d.ts","sourceRoot":"","sources":["../../src/models/ProfileAsset.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAClE,OAAO,EAIL,UAAU,EAEX,MAAM,0BAA0B,CAAC;AAGlC,MAAM,WAAW,mBAAoB,SAAQ,iBAAiB;IAC5D,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC1B;AAED,qBAQa,YAAa,SAAQ,UAAU;IAE1C,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAQ;IAG/B,SAAS,SAAM;IAGf,OAAO,SAAM;IAGb,YAAY,SAAgB;IAG5B,SAAS,SAAK;gBAEF,OAAO,GAAE,mBAAwB;CAQ9C"}
1
+ {"version":3,"file":"ProfileAsset.d.ts","sourceRoot":"","sources":["../../src/models/ProfileAsset.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAClE,OAAO,EAIL,UAAU,EAEX,MAAM,0BAA0B,CAAC;AAGlC,MAAM,WAAW,mBAAoB,SAAQ,iBAAiB;IAC5D,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC1B;AAED,qBAQa,YAAa,SAAQ,UAAU;IAE1C,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAQ;IAG/B,SAAS,SAAM;IAMf,OAAO,SAAM;IAGb,YAAY,SAAgB;IAG5B,SAAS,SAAK;gBAEF,OAAO,GAAE,mBAAwB;CAQ9C"}
@@ -0,0 +1,54 @@
1
+ /**
2
+ * ProfileLink model - An ordered web link on a profile
3
+ *
4
+ * A profile's social accounts and websites: one row per link, ordered by
5
+ * `sortOrder`, several links per platform allowed ("Website", "Other").
6
+ * Links belong to their profile's tenant and are removed with the profile.
7
+ */
8
+ import { SmrtObject, type SmrtObjectOptions } from '@happyvertical/smrt-core';
9
+ /** Where a profile link points. `website` and `other` accept any web address. */
10
+ export declare const PROFILE_LINK_PLATFORMS: readonly ["facebook", "instagram", "x", "linkedin", "youtube", "tiktok", "website", "other"];
11
+ export type ProfileLinkPlatform = (typeof PROFILE_LINK_PLATFORMS)[number];
12
+ /** Longest address a link may hold. */
13
+ export declare const PROFILE_LINK_MAX_URL_LENGTH = 2048;
14
+ /** Longest label a link may hold. */
15
+ export declare const PROFILE_LINK_MAX_LABEL_LENGTH = 200;
16
+ export declare function isProfileLinkPlatform(value: unknown): value is ProfileLinkPlatform;
17
+ /**
18
+ * The address as a normalized http(s) URL. Throws for anything else: other
19
+ * schemes (`javascript:`, `data:`, `mailto:`), embedded credentials, blanks,
20
+ * whitespace, or over-long values.
21
+ */
22
+ export declare function normalizeProfileLinkUrl(raw: string): string;
23
+ export interface ProfileLinkOptions extends SmrtObjectOptions {
24
+ profileId?: string;
25
+ platform?: ProfileLinkPlatform;
26
+ url?: string;
27
+ label?: string | null;
28
+ sortOrder?: number;
29
+ tenantId?: string | null;
30
+ }
31
+ export declare class ProfileLink extends SmrtObject {
32
+ tenantId: string | null;
33
+ profileId: string;
34
+ /** One of {@link PROFILE_LINK_PLATFORMS}. */
35
+ platform: ProfileLinkPlatform;
36
+ /** A normalized http(s) address. */
37
+ url: string;
38
+ /** Optional words shown instead of the address ("Campaign site"). */
39
+ label: string | null;
40
+ /** Position in the profile's list, from 0. */
41
+ sortOrder: number;
42
+ constructor(options?: ProfileLinkOptions);
43
+ /**
44
+ * A link's address and label are not its identity: two people can link the
45
+ * same page, and one person can relabel a link. Without an explicit slug
46
+ * the default (label-derived) slug would make a new link adopt another row
47
+ * through the (tenant, slug, context) natural key, so a link's default slug
48
+ * is its id.
49
+ */
50
+ getSlug(): Promise<string | null | undefined>;
51
+ /** Validates and normalizes the link before it is written. */
52
+ save(...args: Parameters<SmrtObject['save']>): Promise<this>;
53
+ }
54
+ //# sourceMappingURL=ProfileLink.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ProfileLink.d.ts","sourceRoot":"","sources":["../../src/models/ProfileLink.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAGL,UAAU,EACV,KAAK,iBAAiB,EAEvB,MAAM,0BAA0B,CAAC;AAGlC,iFAAiF;AACjF,eAAO,MAAM,sBAAsB,8FASzB,CAAC;AAEX,MAAM,MAAM,mBAAmB,GAAG,CAAC,OAAO,sBAAsB,CAAC,CAAC,MAAM,CAAC,CAAC;AAE1E,uCAAuC;AACvC,eAAO,MAAM,2BAA2B,OAAO,CAAC;AAEhD,qCAAqC;AACrC,eAAO,MAAM,6BAA6B,MAAM,CAAC;AAEjD,wBAAgB,qBAAqB,CACnC,KAAK,EAAE,OAAO,GACb,KAAK,IAAI,mBAAmB,CAK9B;AAED;;;;GAIG;AACH,wBAAgB,uBAAuB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAoB3D;AAED,MAAM,WAAW,kBAAmB,SAAQ,iBAAiB;IAC3D,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,mBAAmB,CAAC;IAC/B,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC1B;AAED,qBAOa,WAAY,SAAQ,UAAU;IAEzC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAQ;IAG/B,SAAS,SAAM;IAEf,6CAA6C;IAE7C,QAAQ,EAAE,mBAAmB,CAAa;IAE1C,oCAAoC;IAEpC,GAAG,SAAM;IAET,qEAAqE;IAErE,KAAK,EAAE,MAAM,GAAG,IAAI,CAAQ;IAE5B,8CAA8C;IAE9C,SAAS,SAAK;gBAEF,OAAO,GAAE,kBAAuB;IAU5C;;;;;;OAMG;IACY,OAAO,IAAI,OAAO,CAAC,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;IAK5D,8DAA8D;IAC/C,IAAI,CAAC,GAAG,IAAI,EAAE,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;CAgB5E"}
@@ -1 +1 @@
1
- {"version":3,"file":"ProfileMetadata.d.ts","sourceRoot":"","sources":["../../src/models/ProfileMetadata.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAGL,UAAU,EACV,KAAK,iBAAiB,EAEvB,MAAM,0BAA0B,CAAC;AAGlC,MAAM,WAAW,sBAAuB,SAAQ,iBAAiB;IAC/D,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC1B;AAED,qBAOa,eAAgB,SAAQ,UAAU;IAE7C,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAQ;IAI/B,SAAS,CAAC,EAAE,MAAM,CAAC;IAGnB,WAAW,CAAC,EAAE,MAAM,CAAC;IAGrB,KAAK,EAAE,MAAM,CAAM;gBAEP,OAAO,GAAE,sBAA2B;IAQhD;;;;OAIG;IACG,QAAQ,IAAI,OAAO,CAAC,OAAO,CAAC;IASlC;;;;OAIG;IACG,gBAAgB,IAAI,OAAO,CAAC,MAAM,CAAC;CAI1C"}
1
+ {"version":3,"file":"ProfileMetadata.d.ts","sourceRoot":"","sources":["../../src/models/ProfileMetadata.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAGL,UAAU,EACV,KAAK,iBAAiB,EAEvB,MAAM,0BAA0B,CAAC;AAGlC,MAAM,WAAW,sBAAuB,SAAQ,iBAAiB;IAC/D,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC1B;AAED,qBAOa,eAAgB,SAAQ,UAAU;IAE7C,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAQ;IAI/B,SAAS,CAAC,EAAE,MAAM,CAAC;IAGnB,WAAW,CAAC,EAAE,MAAM,CAAC;IAGrB,KAAK,EAAE,MAAM,CAAM;gBAEP,OAAO,GAAE,sBAA2B;IAWhD;;;;OAIG;IACG,QAAQ,IAAI,OAAO,CAAC,OAAO,CAAC;IASlC;;;;OAIG;IACG,gBAAgB,IAAI,OAAO,CAAC,MAAM,CAAC;CAI1C"}
@@ -1 +1 @@
1
- {"version":3,"file":"ProfileMetafield.d.ts","sourceRoot":"","sources":["../../src/models/ProfileMetafield.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAEL,UAAU,EACV,KAAK,iBAAiB,EAEvB,MAAM,0BAA0B,CAAC;AAElC,OAAO,KAAK,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAEpE,MAAM,WAAW,uBAAwB,SAAQ,iBAAiB;IAChE,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,gBAAgB,CAAC;IAC9B,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC1B;AAED;;;;;;;GAOG;AACH,OAAO,CAAC,MAAM,CAAC;IAEb,IAAI,gCAAgC,EAChC,GAAG,CAAC,MAAM,EAAE,iBAAiB,CAAC,GAC9B,SAAS,CAAC;CACf;AAeD,qBAOa,gBAAiB,SAAQ,UAAU;IAE9C,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAQ;IAK/B,IAAI,EAAE,MAAM,CAAM;IAElB,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB,UAAU,CAAC,EAAE,gBAAgB,CAAC;gBAElB,OAAO,GAAE,uBAA4B;IAQjD;;;;;OAKG;WACU,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,GAAG,IAAI,CAAC;IAKvE;;;;;OAKG;IACH,MAAM,CAAC,iBAAiB,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,iBAAiB,GAAG,IAAI;IAI1E;;;;;OAKG;IACH,MAAM,CAAC,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,iBAAiB,GAAG,SAAS;IAIhE;;;;;OAKG;IACG,aAAa,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;CAqFtD"}
1
+ {"version":3,"file":"ProfileMetafield.d.ts","sourceRoot":"","sources":["../../src/models/ProfileMetafield.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAEL,UAAU,EACV,KAAK,iBAAiB,EAEvB,MAAM,0BAA0B,CAAC;AAElC,OAAO,KAAK,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAEpE,MAAM,WAAW,uBAAwB,SAAQ,iBAAiB;IAChE,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,gBAAgB,CAAC;IAC9B,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC1B;AAED;;;;;;;GAOG;AACH,OAAO,CAAC,MAAM,CAAC;IAEb,IAAI,gCAAgC,EAChC,GAAG,CAAC,MAAM,EAAE,iBAAiB,CAAC,GAC9B,SAAS,CAAC;CACf;AAeD,qBAOa,gBAAiB,SAAQ,UAAU;IAE9C,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAQ;IAK/B,IAAI,EAAE,MAAM,CAAM;IAElB,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB,UAAU,CAAC,EAAE,gBAAgB,CAAC;gBAElB,OAAO,GAAE,uBAA4B;IAWjD;;;;;OAKG;WACU,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,GAAG,IAAI,CAAC;IAKvE;;;;;OAKG;IACH,MAAM,CAAC,iBAAiB,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,iBAAiB,GAAG,IAAI;IAI1E;;;;;OAKG;IACH,MAAM,CAAC,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,iBAAiB,GAAG,SAAS;IAIhE;;;;;OAKG;IACG,aAAa,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;CAqFtD"}
@@ -8,6 +8,7 @@ export { NostrIdentity, type NostrIdentityOptions } from './NostrIdentity';
8
8
  export { OidcIdentity, type OidcIdentityOptions } from './OidcIdentity';
9
9
  export { OidcProfileEmailReservation, type OidcProfileEmailReservationOptions, } from './OidcProfileEmailReservation';
10
10
  export { Profile } from './Profile';
11
+ export { isProfileLinkPlatform, normalizeProfileLinkUrl, PROFILE_LINK_MAX_LABEL_LENGTH, PROFILE_LINK_MAX_URL_LENGTH, PROFILE_LINK_PLATFORMS, ProfileLink, type ProfileLinkOptions, type ProfileLinkPlatform, } from './ProfileLink';
11
12
  export { ProfileMetadata } from './ProfileMetadata';
12
13
  export { ProfileMetafield } from './ProfileMetafield';
13
14
  export { ProfileRelationship } from './ProfileRelationship';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/models/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,EAAE,MAAM,EAAE,KAAK,aAAa,EAAE,KAAK,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAC9E,OAAO,EAAE,QAAQ,EAAE,KAAK,eAAe,EAAE,KAAK,WAAW,EAAE,MAAM,YAAY,CAAC;AAC9E,OAAO,EACL,KAAK,mBAAmB,EACxB,cAAc,EACd,KAAK,qBAAqB,GAC3B,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,aAAa,EAAE,KAAK,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AAC3E,OAAO,EAAE,YAAY,EAAE,KAAK,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AACxE,OAAO,EACL,2BAA2B,EAC3B,KAAK,kCAAkC,GACxC,MAAM,+BAA+B,CAAC;AACvC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AACpE,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AACpE,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAE5C,OAAO,EAAE,GAAG,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/models/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,EAAE,MAAM,EAAE,KAAK,aAAa,EAAE,KAAK,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAC9E,OAAO,EAAE,QAAQ,EAAE,KAAK,eAAe,EAAE,KAAK,WAAW,EAAE,MAAM,YAAY,CAAC;AAC9E,OAAO,EACL,KAAK,mBAAmB,EACxB,cAAc,EACd,KAAK,qBAAqB,GAC3B,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,aAAa,EAAE,KAAK,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AAC3E,OAAO,EAAE,YAAY,EAAE,KAAK,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AACxE,OAAO,EACL,2BAA2B,EAC3B,KAAK,kCAAkC,GACxC,MAAM,+BAA+B,CAAC;AACvC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EACL,qBAAqB,EACrB,uBAAuB,EACvB,6BAA6B,EAC7B,2BAA2B,EAC3B,sBAAsB,EACtB,WAAW,EACX,KAAK,kBAAkB,EACvB,KAAK,mBAAmB,GACzB,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AACpE,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AACpE,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAE5C,OAAO,EAAE,GAAG,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC"}