@happyvertical/smrt-cli 0.53.3 → 0.53.5

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 (76) hide show
  1. package/AGENTS.md +3 -0
  2. package/README.md +64 -0
  3. package/agents/app-commands.md +118 -0
  4. package/bin/smrt-web.mjs +19 -0
  5. package/bin/smrt.js +18 -12
  6. package/dist/{ApiKey-BZmbOTnL-DchyhIPA.js → ApiKey-BZmbOTnL-BbZupUZ3.js} +2 -2
  7. package/dist/ApiKeyCollection-Bfb_nw81-DYAZwx0O.js +87 -0
  8. package/dist/AuditLogCollection-B1YonCAP-Bkj2Ezon.js +193 -0
  9. package/dist/{NostrIdentity-n70E0vck-CLGPdJ1W.js → NostrIdentity-n70E0vck-Di3_eNCq.js} +4 -4
  10. package/dist/NostrIdentityCollection-Ca74dkaL-DvjOg9Xy.js +127 -0
  11. package/dist/{OidcIdentity-Cb1bxreM-DPBTZddF.js → OidcIdentity-Cb1bxreM-LXmC7uAf.js} +2 -2
  12. package/dist/OidcIdentityCollection-TV8VdK69-Cv1ZTeuk.js +86 -0
  13. package/dist/ProfileAssetCollection-B9hacUJa-CPuaWLk4.js +101 -0
  14. package/dist/{ProfileCollection-DuJT7Mum-BUYQQ9xZ.js → ProfileCollection-DuJT7Mum-nXbHrPpX.js} +31 -31
  15. package/dist/ProfileLinkCollection-4uNURz32-CbKZYmYm.js +233 -0
  16. package/dist/ProfileMetadataCollection-DQhbfEfa-_1rQCLTR.js +108 -0
  17. package/dist/ProfileMetafieldCollection-CoBuM_5G-CPjW3l5r.js +145 -0
  18. package/dist/ProfileRelationshipCollection-DUVgaIqf-RCDqYz6O.js +161 -0
  19. package/dist/ProfileRelationshipTermCollection-DtA9OM23-BoGhQBSQ.js +107 -0
  20. package/dist/{ProfileRelationshipType-BRiRka6t-xzRfZRFG.js → ProfileRelationshipType-BRiRka6t-Dezjv5jP.js} +1 -1
  21. package/dist/ProfileRelationshipTypeCollection-BdXwd7Kf-HoTmV1q-.js +57 -0
  22. package/dist/app/cli.d.ts +51 -0
  23. package/dist/app/cli.d.ts.map +1 -0
  24. package/dist/app/errors.d.ts +55 -0
  25. package/dist/app/errors.d.ts.map +1 -0
  26. package/dist/app/identity.d.ts +24 -0
  27. package/dist/app/identity.d.ts.map +1 -0
  28. package/dist/app/index.d.ts +20 -0
  29. package/dist/app/index.d.ts.map +1 -0
  30. package/dist/app/launchers.d.ts +51 -0
  31. package/dist/app/launchers.d.ts.map +1 -0
  32. package/dist/app/operations.d.ts +30 -0
  33. package/dist/app/operations.d.ts.map +1 -0
  34. package/dist/app/portability-assets.d.ts +151 -0
  35. package/dist/app/portability-assets.d.ts.map +1 -0
  36. package/dist/app/portability.d.ts +117 -0
  37. package/dist/app/portability.d.ts.map +1 -0
  38. package/dist/app/process-record.d.ts +54 -0
  39. package/dist/app/process-record.d.ts.map +1 -0
  40. package/dist/app/runtime.d.ts +98 -0
  41. package/dist/app/runtime.d.ts.map +1 -0
  42. package/dist/app/tokens.d.ts +21 -0
  43. package/dist/app/tokens.d.ts.map +1 -0
  44. package/dist/app.d.ts +1 -0
  45. package/dist/app.js +4 -0
  46. package/dist/cli-OZsH5cdL.js +1602 -0
  47. package/dist/cli-generator.d.ts.map +1 -1
  48. package/dist/commands/init.d.ts.map +1 -1
  49. package/dist/commands/utilities.d.ts.map +1 -1
  50. package/dist/{commands-B8N38deG.js → commands-UXK2F_0j.js} +49 -336
  51. package/dist/database-environment-D_Gk1Brf.js +20 -0
  52. package/dist/database-environment.d.ts +43 -0
  53. package/dist/database-environment.d.ts.map +1 -0
  54. package/dist/dist-BVjJWjT-.js +20 -0
  55. package/dist/{dist-B62O-xH6.js → dist-C87Ib9Vx.js} +2 -2
  56. package/dist/{dist-CL9KGm1j.js → dist-DLw_E34G.js} +1654 -1748
  57. package/dist/{dist-BBQyIRsO.js → dist-GIaWaUho.js} +4 -4
  58. package/dist/{dist-C8BOgli4.js → dist-RSE5hCY4.js} +3 -3
  59. package/dist/index.js +19 -9
  60. package/dist/mcp-apps-packaging-CixRnxz_.js +286 -0
  61. package/dist/{oidcProvisioningPrimitives-D9OYu5-F-l8afZs4F.js → oidcProvisioningPrimitives-D9OYu5-F-T9KkkDCd.js} +5 -5
  62. package/dist/portability-CES1YC2m.js +859 -0
  63. package/dist/resolveIdentity-B-PK6RwU-C9ogf8YG.js +269 -0
  64. package/package.json +19 -14
  65. package/dist/ApiKeyCollection-Bfb_nw81-DR5XF_SZ.js +0 -2
  66. package/dist/AuditLogCollection-B1YonCAP-PbzALncL.js +0 -2
  67. package/dist/NostrIdentityCollection-Ca74dkaL-C2r-uDlC.js +0 -2
  68. package/dist/OidcIdentityCollection-TV8VdK69-2fZROnih.js +0 -2
  69. package/dist/ProfileAssetCollection-B9hacUJa-D33sifgF.js +0 -2
  70. package/dist/ProfileLinkCollection-4uNURz32-CHDTinax.js +0 -2
  71. package/dist/ProfileMetadataCollection-DQhbfEfa-BQTogfVX.js +0 -2
  72. package/dist/ProfileMetafieldCollection-CoBuM_5G-BXtoIP02.js +0 -2
  73. package/dist/ProfileRelationshipCollection-DUVgaIqf-CNMliUF3.js +0 -2
  74. package/dist/ProfileRelationshipTermCollection-DtA9OM23-DPOMtMr7.js +0 -2
  75. package/dist/ProfileRelationshipTypeCollection-BdXwd7Kf-Co3PdH01.js +0 -2
  76. package/dist/resolveIdentity-B-PK6RwU-B306Ch1I.js +0 -2
@@ -0,0 +1,269 @@
1
+ import { t as __exportAll } from "./rolldown-runtime-8H4AJuhK.js";
2
+ import { l as withSystemContext } from "./dist-C87Ib9Vx.js";
3
+ import { n as __exportAll$1, t as NostrIdentity, u as verifyAuthEvent } from "./NostrIdentity-n70E0vck-Di3_eNCq.js";
4
+ import { t as ApiKey } from "./ApiKey-BZmbOTnL-BbZupUZ3.js";
5
+ import { t as OidcIdentity } from "./OidcIdentity-Cb1bxreM-LXmC7uAf.js";
6
+ import { c as coordinateOidcProvisioning, l as isOidcProvisioningRaceConflict, u as normalizeIdentityEmail } from "./ProfileCollection-DuJT7Mum-nXbHrPpX.js";
7
+ import { a as createOidcProvisioningPerson, o as insertOidcProvisioningIdentity } from "./oidcProvisioningPrimitives-D9OYu5-F-T9KkkDCd.js";
8
+ import { resolveDatabase } from "@happyvertical/smrt-core";
9
+ //#region ../profiles/dist/chunks/resolveIdentity-B-PK6RwU.js
10
+ var resolveIdentity_B_PK6RwU_exports = /* @__PURE__ */ __exportAll({
11
+ i: () => resolveIdentity_exports,
12
+ n: () => createProfileFromOidc,
13
+ r: () => resolveIdentity,
14
+ t: () => createProfileFromNostr
15
+ });
16
+ var resolveIdentity_exports = /* @__PURE__ */ __exportAll$1({
17
+ createProfileFromNostr: () => createProfileFromNostr,
18
+ createProfileFromOidc: () => createProfileFromOidc,
19
+ resolveIdentity: () => resolveIdentity,
20
+ reuseExistingOidcIdentityForProfile: () => reuseExistingOidcIdentityForProfile
21
+ });
22
+ async function resolveIdentity(context) {
23
+ const options = { db: context.db };
24
+ if (context.apiKey) {
25
+ const apiKey = await ApiKey.verify(context.apiKey, options);
26
+ if (apiKey) {
27
+ const profile = await apiKey.getProfile();
28
+ if (profile) return {
29
+ profile,
30
+ source: "api_key",
31
+ apiKey
32
+ };
33
+ }
34
+ }
35
+ if (context.oidcSession?.sub && context.oidcSession?.iss) {
36
+ const oidcIdentity = await OidcIdentity.findBySubject(context.oidcSession.iss, context.oidcSession.sub, options);
37
+ if (oidcIdentity) {
38
+ await oidcIdentity.recordUsage();
39
+ const profile = await oidcIdentity.getProfile();
40
+ if (profile) return {
41
+ profile,
42
+ source: "oidc",
43
+ oidcIdentity
44
+ };
45
+ }
46
+ }
47
+ if (context.nostrAuth?.event && context.nostrAuth?.challenge) {
48
+ const { event, challenge } = context.nostrAuth;
49
+ if (verifyAuthEvent(event, challenge).valid) {
50
+ const nostrIdentity = await NostrIdentity.findByPubkey(event.pubkey, options);
51
+ if (nostrIdentity) {
52
+ await nostrIdentity.recordUsage();
53
+ const profile = await nostrIdentity.getProfile();
54
+ if (profile) return {
55
+ profile,
56
+ source: "nostr",
57
+ nostrIdentity
58
+ };
59
+ }
60
+ }
61
+ }
62
+ if (context.actor) {
63
+ const profile = await findProfileByExternalId("github", context.actor, options);
64
+ if (profile) return {
65
+ profile,
66
+ source: "actor"
67
+ };
68
+ }
69
+ return {
70
+ profile: null,
71
+ source: "none"
72
+ };
73
+ }
74
+ async function findProfileByExternalId(provider, externalId, options) {
75
+ const { OidcIdentityCollection } = await import("./OidcIdentityCollection-TV8VdK69-Cv1ZTeuk.js").then((n) => n.r).then((n) => n.r);
76
+ const identities = await (await OidcIdentityCollection.create(options)).findByProvider(provider);
77
+ for (const identity of identities) if (identity.subject === externalId || identity.email?.includes(externalId)) {
78
+ const profile = await identity.getProfile();
79
+ if (profile) return profile;
80
+ }
81
+ const { ProfileCollection } = await import("./ProfileCollection-DuJT7Mum-nXbHrPpX.js").then((n) => n.o).then((n) => n.r);
82
+ const profiles = await (await ProfileCollection.create(options)).list({
83
+ where: { email: `${externalId}@users.noreply.github.com` },
84
+ limit: 1
85
+ });
86
+ if (profiles.length > 0) return profiles[0];
87
+ return null;
88
+ }
89
+ async function createProfileFromOidc(claims, provider, options) {
90
+ return coordinateProfileOidcProvisioning(claims, provider, options);
91
+ }
92
+ async function reuseExistingOidcIdentityForProfile(profileId, claims, provider, options) {
93
+ const normalizedClaims = normalizeOidcProfileClaims(claims);
94
+ return coordinateOidcProvisioning({
95
+ db: await resolveOidcProfileDatabase(options.db),
96
+ lockKeys: [`identity:${OidcIdentity.buildIdentityKey(normalizedClaims.iss, normalizedClaims.sub)}`],
97
+ isRaceConflict: isOidcProvisioningRaceConflict,
98
+ createTransactionError: (message, cause) => new Error(message, cause === void 0 ? void 0 : { cause }),
99
+ createConcurrencyError: (cause) => new Error("Concurrent exact OIDC identity reuse did not converge.", cause === void 0 ? void 0 : { cause }),
100
+ rebindRootResult: rebindOidcProfileResult,
101
+ provision: (tx) => withSystemContext(async () => {
102
+ const { OidcIdentityCollection } = await import("./OidcIdentityCollection-TV8VdK69-Cv1ZTeuk.js").then((n) => n.r).then((n) => n.r);
103
+ const identity = await (await OidcIdentityCollection.create({ db: tx })).findBySubject(normalizedClaims.iss, normalizedClaims.sub);
104
+ if (!identity) throw new Error("OidcIdentity.findOrCreate() no longer creates authentication links; use UserCollection.getOrCreateFromOidc() or createProfileFromOidc().");
105
+ if (identity.profileId !== profileId) throw new Error(`OIDC identity ${normalizedClaims.iss} subject ${normalizedClaims.sub} belongs to a different Profile.`);
106
+ const profile = await identity.getProfile();
107
+ if (!profile) throw new Error("The exact OIDC identity has no linked Profile.");
108
+ identity.provider = provider;
109
+ if (normalizedClaims.email) identity.email = normalizedClaims.email;
110
+ identity.lastUsedAt = /* @__PURE__ */ new Date();
111
+ await identity.save();
112
+ return {
113
+ profile,
114
+ oidcIdentity: identity,
115
+ created: false
116
+ };
117
+ })
118
+ });
119
+ }
120
+ async function coordinateProfileOidcProvisioning(claims, provider, options) {
121
+ const normalizedClaims = normalizeOidcProfileClaims(claims);
122
+ return coordinateOidcProvisioning({
123
+ db: await resolveOidcProfileDatabase(options.db),
124
+ lockKeys: [`identity:${OidcIdentity.buildIdentityKey(normalizedClaims.iss, normalizedClaims.sub)}`, ...normalizedClaims.email ? [`email:${normalizedClaims.email}`] : []],
125
+ isRaceConflict: isOidcProvisioningRaceConflict,
126
+ createTransactionError: (message, cause) => new Error(message, cause === void 0 ? void 0 : { cause }),
127
+ createConcurrencyError: (cause) => new Error("Concurrent OIDC Profile provisioning did not converge.", cause === void 0 ? void 0 : { cause }),
128
+ rebindRootResult: rebindOidcProfileResult,
129
+ provision: (tx) => withSystemContext(() => provisionOidcProfile(normalizedClaims, provider, {
130
+ ...options,
131
+ db: tx
132
+ }))
133
+ });
134
+ }
135
+ async function provisionOidcProfile(claims, provider, options) {
136
+ const { OidcIdentityCollection } = await import("./OidcIdentityCollection-TV8VdK69-Cv1ZTeuk.js").then((n) => n.r).then((n) => n.r);
137
+ const existingIdentity = await (await OidcIdentityCollection.create(options)).findBySubject(claims.iss, claims.sub);
138
+ if (existingIdentity) {
139
+ const profile2 = await existingIdentity.getProfile();
140
+ if (!profile2) throw new Error("The exact OIDC identity has no linked Profile.");
141
+ profile2.id = requireOidcProfileId(existingIdentity.profileId);
142
+ if (claims.email) existingIdentity.email = claims.email;
143
+ existingIdentity.lastUsedAt = /* @__PURE__ */ new Date();
144
+ await existingIdentity.save();
145
+ return {
146
+ profile: profile2,
147
+ oidcIdentity: existingIdentity,
148
+ created: false
149
+ };
150
+ }
151
+ const { ProfileCollection } = await import("./ProfileCollection-DuJT7Mum-nXbHrPpX.js").then((n) => n.o).then((n) => n.r);
152
+ const profileCollection = await ProfileCollection.create(options);
153
+ if (claims.email) {
154
+ if (await profileCollection.findUniqueGlobalPersonByEmail(claims.email)) {
155
+ if (claims.email_verified !== true) throw new Error(`OIDC email ${claims.email} is not verified and already belongs to a Profile.`);
156
+ throw new Error(`OIDC email ${claims.email} already belongs to a Profile; createProfileFromOidc() cannot prove that Profile is unowned. Use UserCollection.getOrCreateFromOidc() for owner-aware linking.`);
157
+ }
158
+ }
159
+ const profile = await createOidcProvisioningPerson(options.db, {
160
+ email: claims.email ?? "",
161
+ name: claims.name,
162
+ preferredUsername: claims.preferred_username,
163
+ subject: claims.sub
164
+ });
165
+ return {
166
+ profile,
167
+ oidcIdentity: await insertOidcProvisioningIdentity(options.db, {
168
+ email: claims.email,
169
+ issuer: claims.iss,
170
+ profileId: requireOidcProfileId(profile.id),
171
+ provider,
172
+ subject: claims.sub
173
+ }),
174
+ created: true
175
+ };
176
+ }
177
+ async function rebindOidcProfileResult(result, rootDb) {
178
+ const { OidcIdentityCollection } = await import("./OidcIdentityCollection-TV8VdK69-Cv1ZTeuk.js").then((n) => n.r).then((n) => n.r);
179
+ const { ProfileCollection } = await import("./ProfileCollection-DuJT7Mum-nXbHrPpX.js").then((n) => n.o).then((n) => n.r);
180
+ const profileId = requireOidcProfileId(result.profile.id);
181
+ const identityId = requireOidcProfileId(result.oidcIdentity.id);
182
+ const [profile, oidcIdentity] = await withSystemContext(async () => {
183
+ const profiles = await ProfileCollection.create({ db: rootDb });
184
+ const identities = await OidcIdentityCollection.create({ db: rootDb });
185
+ return [await profiles.get({ id: profileId }), await identities.get({ id: identityId })];
186
+ });
187
+ if (!profile || !oidcIdentity) throw new Error("Committed OIDC Profile provisioning result was not found.");
188
+ profile.id = profileId;
189
+ oidcIdentity.id = identityId;
190
+ oidcIdentity.profileId = profileId;
191
+ return {
192
+ ...result,
193
+ profile,
194
+ oidcIdentity
195
+ };
196
+ }
197
+ function normalizeOidcProfileClaims(claims) {
198
+ const sub = claims?.sub;
199
+ const iss = claims?.iss;
200
+ if (typeof sub !== "string" || sub.trim().length === 0 || typeof iss !== "string" || iss.trim().length === 0) throw new Error("Invalid OIDC claims: both \"sub\" and \"iss\" must be non-empty strings.");
201
+ const suppliedEmail = claims.email;
202
+ return {
203
+ ...claims,
204
+ sub,
205
+ iss,
206
+ email: typeof suppliedEmail === "string" && suppliedEmail.trim() ? normalizeIdentityEmail(suppliedEmail) : void 0
207
+ };
208
+ }
209
+ function requireOidcProfileId(value) {
210
+ if (typeof value !== "string" || !value) throw new Error("OIDC Profile provisioning did not produce an id.");
211
+ return value;
212
+ }
213
+ async function resolveOidcProfileDatabase(db) {
214
+ if (!db) throw new Error("OIDC Profile provisioning requires an initialized database.");
215
+ return resolveDatabase(db);
216
+ }
217
+ async function createProfileFromNostr(email, nostrData, options) {
218
+ const normalizedEmail = normalizeIdentityEmail(email);
219
+ const existingIdentity = await NostrIdentity.findByEmail(normalizedEmail, options);
220
+ if (existingIdentity) {
221
+ const profile2 = await existingIdentity.getProfile();
222
+ if (profile2) return {
223
+ profile: profile2,
224
+ nostrIdentity: existingIdentity,
225
+ created: false
226
+ };
227
+ }
228
+ const { Person } = await import("./oidcProvisioningPrimitives-D9OYu5-F-T9KkkDCd.js").then((n) => n.s).then((n) => n.o);
229
+ const { ProfileTypeCollection } = await import("./oidcProvisioningPrimitives-D9OYu5-F-T9KkkDCd.js").then((n) => n.s).then((n) => n.c);
230
+ let personType = await (await ProfileTypeCollection.create(options)).getBySlug("person");
231
+ if (!personType) {
232
+ const { ProfileType } = await import("./ProfileCollection-DuJT7Mum-nXbHrPpX.js").then((n) => n.o).then((n) => n.h);
233
+ personType = new ProfileType({
234
+ ...options,
235
+ slug: "person",
236
+ name: "Person",
237
+ description: "Individual person profile"
238
+ });
239
+ await personType.initialize();
240
+ await personType.save();
241
+ }
242
+ const profile = new Person({
243
+ ...options,
244
+ typeId: personType.id,
245
+ email: normalizedEmail,
246
+ name: normalizedEmail.split("@")[0]
247
+ });
248
+ await profile.initialize();
249
+ await profile.save();
250
+ const nostrIdentity = new NostrIdentity({
251
+ ...options,
252
+ profileId: profile.id,
253
+ pubkey: nostrData.pubkey,
254
+ encryptedPrivkey: nostrData.encryptedPrivkey,
255
+ encryptionIv: nostrData.encryptionIv,
256
+ encryptionTag: nostrData.encryptionTag,
257
+ email: normalizedEmail,
258
+ nip05Username: nostrData.nip05Username?.toLowerCase() || normalizedEmail.split("@")[0]
259
+ });
260
+ await nostrIdentity.initialize();
261
+ await nostrIdentity.save();
262
+ return {
263
+ profile,
264
+ nostrIdentity,
265
+ created: true
266
+ };
267
+ }
268
+ //#endregion
269
+ export { resolveIdentity_B_PK6RwU_exports as i, createProfileFromOidc as n, resolveIdentity as r, createProfileFromNostr as t };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@happyvertical/smrt-cli",
3
- "version": "0.53.3",
3
+ "version": "0.53.5",
4
4
  "description": "Developer CLI for SMRT framework - introspection, testing, and project management",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -22,22 +22,27 @@
22
22
  ".": {
23
23
  "types": "./dist/index.d.ts",
24
24
  "import": "./dist/index.js"
25
+ },
26
+ "./app": {
27
+ "types": "./dist/app.d.ts",
28
+ "import": "./dist/app.js"
25
29
  }
26
30
  },
27
31
  "dependencies": {
28
- "@happyvertical/ai": "^0.98.0",
29
- "@happyvertical/files": "^0.98.0",
30
- "@happyvertical/logger": "^0.98.0",
31
- "@happyvertical/smrt-agents": "0.53.3",
32
- "@happyvertical/smrt-config": "0.53.3",
33
- "@happyvertical/smrt-core": "0.53.3",
34
- "@happyvertical/smrt-dev-mcp": "0.53.3",
35
- "@happyvertical/smrt-ledgers": "0.53.3",
36
- "@happyvertical/smrt-playground": "0.53.3",
37
- "@happyvertical/smrt-types": "0.53.3",
38
- "@happyvertical/smrt-users": "0.53.3",
39
- "@happyvertical/sql": "^0.98.0",
40
- "@happyvertical/utils": "^0.98.0",
32
+ "@happyvertical/ai": "^0.100.3",
33
+ "@happyvertical/files": "^0.100.3",
34
+ "@happyvertical/logger": "^0.100.3",
35
+ "@happyvertical/smrt-agents": "0.53.5",
36
+ "@happyvertical/smrt-app-runtime": "0.53.5",
37
+ "@happyvertical/smrt-config": "0.53.5",
38
+ "@happyvertical/smrt-core": "0.53.5",
39
+ "@happyvertical/smrt-dev-mcp": "0.53.5",
40
+ "@happyvertical/smrt-ledgers": "0.53.5",
41
+ "@happyvertical/smrt-playground": "0.53.5",
42
+ "@happyvertical/smrt-types": "0.53.5",
43
+ "@happyvertical/smrt-users": "0.53.5",
44
+ "@happyvertical/sql": "^0.100.3",
45
+ "@happyvertical/utils": "^0.100.3",
41
46
  "acorn": "^8.18.0",
42
47
  "fast-glob": "3.3.3",
43
48
  "tar": "^7.5.22",
@@ -1,2 +0,0 @@
1
- import { L as ApiKeyCollection_exports } from "./dist-CL9KGm1j.js";
2
- export { ApiKeyCollection_exports as n };
@@ -1,2 +0,0 @@
1
- import { F as AuditLogCollection_exports } from "./dist-CL9KGm1j.js";
2
- export { AuditLogCollection_exports as n };
@@ -1,2 +0,0 @@
1
- import { M as NostrIdentityCollection_exports } from "./dist-CL9KGm1j.js";
2
- export { NostrIdentityCollection_exports as n };
@@ -1,2 +0,0 @@
1
- import { A as OidcIdentityCollection_exports } from "./dist-CL9KGm1j.js";
2
- export { OidcIdentityCollection_exports as r };
@@ -1,2 +0,0 @@
1
- import { D as ProfileAssetCollection_exports } from "./dist-CL9KGm1j.js";
2
- export { ProfileAssetCollection_exports as n };
@@ -1,2 +0,0 @@
1
- import { S as ProfileLinkCollection_exports } from "./dist-CL9KGm1j.js";
2
- export { ProfileLinkCollection_exports as r };
@@ -1,2 +0,0 @@
1
- import { v as ProfileMetadataCollection_exports } from "./dist-CL9KGm1j.js";
2
- export { ProfileMetadataCollection_exports as n };
@@ -1,2 +0,0 @@
1
- import { h as ProfileMetafieldCollection_exports } from "./dist-CL9KGm1j.js";
2
- export { ProfileMetafieldCollection_exports as n };
@@ -1,2 +0,0 @@
1
- import { f as ProfileRelationshipCollection_exports } from "./dist-CL9KGm1j.js";
2
- export { ProfileRelationshipCollection_exports as n };
@@ -1,2 +0,0 @@
1
- import { l as ProfileRelationshipTermCollection_exports } from "./dist-CL9KGm1j.js";
2
- export { ProfileRelationshipTermCollection_exports as n };
@@ -1,2 +0,0 @@
1
- import { o as ProfileRelationshipTypeCollection_exports } from "./dist-CL9KGm1j.js";
2
- export { ProfileRelationshipTypeCollection_exports as n };
@@ -1,2 +0,0 @@
1
- import { i as resolveIdentity_exports } from "./dist-CL9KGm1j.js";
2
- export { resolveIdentity_exports as i };