@happyvertical/smrt-cli 0.60.9 → 0.60.10

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 (47) hide show
  1. package/AGENTS.md +17 -53
  2. package/agents/db-drop-framework-base-tables.md +49 -0
  3. package/agents/db-migrate-concurrency.md +11 -0
  4. package/dist/{AuditLogCollection-BBbvr8Qc-CoDs0BaX.js → AuditLogCollection-BBbvr8Qc-DU-QXhH5.js} +1 -1
  5. package/dist/{OidcIdentity-COeMidoC-B-cVovG3.js → OidcIdentity-COeMidoC-BDr8b6iW.js} +2 -2
  6. package/dist/{OidcIdentityCollection-D4DIZv0K-CexIL7No.js → OidcIdentityCollection-D4DIZv0K-BvsaDTZY.js} +1 -1
  7. package/dist/{PasswordCredentialService-DHJNKEeJ-DQlR62e-.js → PasswordCredentialService-BSSP_kyT-DlxlWy6b.js} +40 -22
  8. package/dist/{ProfileAssetCollection-D5-tG9Mm-Bmn4-Urc.js → ProfileAssetCollection-D5-tG9Mm-Be7hQJJq.js} +3 -3
  9. package/dist/{ProfileCollection-CmRaiE9U-52qjwbhJ.js → ProfileCollection-CmRaiE9U-n8apgXIh.js} +17 -17
  10. package/dist/{ProfileLinkCollection-pvPTsysg-ocN3hj_M.js → ProfileLinkCollection-pvPTsysg-DCmnAd7m.js} +2 -2
  11. package/dist/{ProfileMetadataCollection-CAgJyjze-FX20yKjY.js → ProfileMetadataCollection-CAgJyjze-BKpcvrnf.js} +1 -1
  12. package/dist/{ProfileMetafieldCollection-19ae6Lpf-qg7eMcJk.js → ProfileMetafieldCollection-19ae6Lpf-BuTJKzmz.js} +1 -1
  13. package/dist/{ProfileRelationshipCollection-BFSlTQ7J-DlDILj3m.js → ProfileRelationshipCollection-BFSlTQ7J-DBbNdauk.js} +1 -1
  14. package/dist/{ProfileTypeCollection-BRLK8cHS-QVwjfqe8.js → ProfileTypeCollection-BRLK8cHS-COCy6yqF.js} +2 -2
  15. package/dist/commands/docs-claude.d.ts +1 -0
  16. package/dist/commands/docs-claude.d.ts.map +1 -1
  17. package/dist/commands/docs-knowledge-bundle.d.ts +87 -0
  18. package/dist/commands/docs-knowledge-bundle.d.ts.map +1 -0
  19. package/dist/{commands-DNssH5Dv.js → commands-CGfM14Uj.js} +265 -6
  20. package/dist/{dist-BJABhykg.js → dist-B00KCyNE.js} +2 -2
  21. package/dist/{dist-D25iWIXX.js → dist-BGEMcSs-.js} +5 -5
  22. package/dist/dist-D7vejSNK.js +1854 -0
  23. package/dist/dist-DEKj_L2B.js +1908 -0
  24. package/dist/index.js +11 -11
  25. package/dist/knowledge/intents/audit-trail.md +63 -0
  26. package/dist/knowledge/intents/auth-and-users.md +67 -0
  27. package/dist/knowledge/intents/background-work.md +72 -0
  28. package/dist/knowledge/intents/feature-flags-and-entitlements.md +60 -0
  29. package/dist/knowledge/intents/file-and-asset-storage.md +71 -0
  30. package/dist/knowledge/intents/human-approvals.md +56 -0
  31. package/dist/knowledge/intents/index.md +41 -0
  32. package/dist/knowledge/intents/money-and-rates.md +65 -0
  33. package/dist/knowledge/intents/outbound-messages.md +67 -0
  34. package/dist/knowledge/intents/prompts-and-ai-operations.md +72 -0
  35. package/dist/knowledge/intents/relationships-and-trees.md +56 -0
  36. package/dist/knowledge/intents/scheduled-runs.md +61 -0
  37. package/dist/knowledge/intents/search-facts-knowledge.md +68 -0
  38. package/dist/knowledge/intents/secrets-and-config.md +66 -0
  39. package/dist/knowledge/intents/tenant-scoping.md +63 -0
  40. package/dist/knowledge/intents/webhooks-and-events.md +71 -0
  41. package/dist/{oidcProvisioningPrimitives-KpIiLmG4-CnRTofeV.js → oidcProvisioningPrimitives-KpIiLmG4-Csnh1ENp.js} +3 -3
  42. package/dist/{operator-fwao3Y1j.js → operator-DCwooIiI.js} +2 -2
  43. package/dist/{resolveIdentity-j2WFuKDT-C9XtigVZ.js → resolveIdentity-j2WFuKDT-DZTwcb-u.js} +14 -14
  44. package/dist/smrt-knowledge.okf.md +57 -0
  45. package/package.json +15 -15
  46. package/dist/dist-B3gpMpBj.js +0 -1908
  47. package/dist/dist-BQI8s_yA.js +0 -1854
@@ -1,24 +1,24 @@
1
1
  import { t as __exportAll$1 } from "./rolldown-runtime-8H4AJuhK.js";
2
- import { c as runTenantHierarchyReadScope, m as withSystemContext, u as getCurrentTenant } from "./dist-BJABhykg.js";
2
+ import { c as runTenantHierarchyReadScope, m as withSystemContext, u as getCurrentTenant } from "./dist-B00KCyNE.js";
3
3
  import { n as __exportAll$2 } from "./NostrIdentity-RJaATTCt-BbRHWyee.js";
4
4
  import "./ApiKey-9YuYcpWy-BdrXOe-N.js";
5
5
  import "./ApiKeyCollection-BrJT9vo_-C2ELjR8-.js";
6
- import "./AuditLogCollection-BBbvr8Qc-CoDs0BaX.js";
6
+ import "./AuditLogCollection-BBbvr8Qc-DU-QXhH5.js";
7
7
  import "./NostrIdentityCollection-BPNgPOBE-ChIk8KoC.js";
8
- import { t as OidcIdentity } from "./OidcIdentity-COeMidoC-B-cVovG3.js";
9
- import { n as OidcIdentityCollection, t as AmbiguousOidcIdentityError } from "./OidcIdentityCollection-D4DIZv0K-CexIL7No.js";
10
- import "./ProfileAssetCollection-D5-tG9Mm-Bmn4-Urc.js";
11
- import { c as normalizeIdentityEmail, l as saveOidcRaceArbiter, o as coordinateOidcProvisioning, r as ProfileCollection, s as isOidcProvisioningRaceConflict, t as CanonicalPersonProfileError } from "./ProfileCollection-CmRaiE9U-52qjwbhJ.js";
12
- import "./ProfileLinkCollection-pvPTsysg-ocN3hj_M.js";
13
- import "./ProfileMetadataCollection-CAgJyjze-FX20yKjY.js";
14
- import "./ProfileMetafieldCollection-19ae6Lpf-qg7eMcJk.js";
15
- import "./ProfileRelationshipCollection-BFSlTQ7J-DlDILj3m.js";
8
+ import { t as OidcIdentity } from "./OidcIdentity-COeMidoC-BDr8b6iW.js";
9
+ import { n as OidcIdentityCollection, t as AmbiguousOidcIdentityError } from "./OidcIdentityCollection-D4DIZv0K-BvsaDTZY.js";
10
+ import "./ProfileAssetCollection-D5-tG9Mm-Be7hQJJq.js";
11
+ import { c as normalizeIdentityEmail, l as saveOidcRaceArbiter, o as coordinateOidcProvisioning, r as ProfileCollection, s as isOidcProvisioningRaceConflict, t as CanonicalPersonProfileError } from "./ProfileCollection-CmRaiE9U-n8apgXIh.js";
12
+ import "./ProfileLinkCollection-pvPTsysg-DCmnAd7m.js";
13
+ import "./ProfileMetadataCollection-CAgJyjze-BKpcvrnf.js";
14
+ import "./ProfileMetafieldCollection-19ae6Lpf-BuTJKzmz.js";
15
+ import "./ProfileRelationshipCollection-BFSlTQ7J-DBbNdauk.js";
16
16
  import "./ProfileRelationshipTermCollection-OluL8BGP-n4626fEI.js";
17
17
  import "./ProfileRelationshipType-Cevy-vaF-G82Gg40q.js";
18
18
  import "./ProfileRelationshipTypeCollection-BRBpX00F-D78l9V1y.js";
19
- import "./ProfileTypeCollection-BRLK8cHS-QVwjfqe8.js";
20
- import { n as insertOidcProvisioningIdentity$1, t as createOidcProvisioningPerson$1 } from "./oidcProvisioningPrimitives-KpIiLmG4-CnRTofeV.js";
21
- import "./resolveIdentity-j2WFuKDT-C9XtigVZ.js";
19
+ import "./ProfileTypeCollection-BRLK8cHS-COCy6yqF.js";
20
+ import { n as insertOidcProvisioningIdentity$1, t as createOidcProvisioningPerson$1 } from "./oidcProvisioningPrimitives-KpIiLmG4-Csnh1ENp.js";
21
+ import "./resolveIdentity-j2WFuKDT-DZTwcb-u.js";
22
22
  import { IN_LIST_CHUNK_SIZE, ObjectRegistry, SmrtCollection, SmrtObject, bumpChangeFeed, chunkArray, crossPackageRef, field, findManifestEntryByQualifiedName, foreignKey, inheritedCollectionSurface, isEmbeddedDatabase, isPostgresDatabase, resolveOperationPermissionAlias, smrt, withEmbeddedWriteTransaction } from "@happyvertical/smrt-core";
23
23
  import { createHash, randomBytes, randomUUID, scrypt, timingSafeEqual } from "node:crypto";
24
24
  import { createLogger } from "@happyvertical/logger";
@@ -37,7 +37,7 @@ var dist_exports = /* @__PURE__ */ __exportAll$1({
37
37
  PROFILE_LINK_MAX_URL_LENGTH: () => PROFILE_LINK_MAX_URL_LENGTH,
38
38
  ProfileCollection: () => ProfileCollection
39
39
  });
40
- ObjectRegistry.registerPackageManifest(JSON.parse(`{"version":"1.0.0","timestamp":0,"packageName":"@happyvertical/smrt-profiles","packageVersion":"0.60.9","objects":{"@happyvertical/smrt-profiles:ApiKeyCollection":{"name":"apikeycollection","className":"ApiKeyCollection","qualifiedName":"@happyvertical/smrt-profiles:ApiKeyCollection","collection":"apikeys","filePath":"/home/runner/work/smrt/smrt/packages/profiles/src/collections/ApiKeyCollection.ts","packageName":"@happyvertical/smrt-profiles","fields":{},"methods":{"findByProfile":{"name":"findByProfile","async":true,"parameters":[{"name":"profileId","type":"string","optional":false}],"returnType":"Promise<ApiKey[]>","isStatic":false,"isPublic":true},"findActiveByProfile":{"name":"findActiveByProfile","async":true,"parameters":[{"name":"profileId","type":"string","optional":false}],"returnType":"Promise<ApiKey[]>","isStatic":false,"isPublic":true},"findByHash":{"name":"findByHash","async":true,"parameters":[{"name":"keyHash","type":"string","optional":false}],"returnType":"Promise<ApiKey | null>","isStatic":false,"isPublic":true},"verify":{"name":"verify","async":true,"parameters":[{"name":"key","type":"string","optional":false}],"returnType":"Promise<ApiKey | null>","isStatic":false,"isPublic":true},"generateForProfile":{"name":"generateForProfile","async":true,"parameters":[{"name":"profile","type":"Profile","optional":false},{"name":"options","type":"object","optional":false,"memberTypes":["string","string[]","Date | null"]}],"returnType":"Promise<GenerateKeyResult>","isStatic":false,"isPublic":true},"revokeAllForProfile":{"name":"revokeAllForProfile","async":true,"parameters":[{"name":"profileId","type":"string","optional":false}],"returnType":"Promise<number>","isStatic":false,"isPublic":true},"revokeByPrefix":{"name":"revokeByPrefix","async":true,"parameters":[{"name":"keyPrefix","type":"string","optional":false}],"returnType":"Promise<boolean>","isStatic":false,"isPublic":true},"cleanupExpired":{"name":"cleanupExpired","async":true,"parameters":[],"returnType":"Promise<number>","isStatic":false,"isPublic":true}},"decoratorConfig":{"tableName":"api_keys","api":{"include":["list","get"]},"mcp":{"include":["list","get"]},"cli":{"include":["list","get","create"],"skipApiCheck":true}},"extends":"SmrtCollection","extendsTypeArg":"ApiKey","exportName":"ApiKeyCollection","collectionExportName":"ApiKeyCollectionCollection","collectionOf":"@happyvertical/smrt-profiles:ApiKey","inheritedExposure":["api","mcp","cli"],"schema":{"tableName":"api_keys","ddl":"CREATE TABLE IF NOT EXISTS \\"api_keys\\" (\\n \\"id\\" UUID PRIMARY KEY NOT NULL,\\n \\"slug\\" TEXT NOT NULL,\\n \\"context\\" TEXT NOT NULL DEFAULT '',\\n \\"created_at\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\"updated_at\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\"profile_id\\" UUID NOT NULL,\\n \\"key_hash\\" TEXT DEFAULT '',\\n \\"key_prefix\\" TEXT DEFAULT '',\\n \\"name\\" TEXT DEFAULT '',\\n \\"scopes\\" JSON DEFAULT '[]',\\n \\"last_used_at\\" TIMESTAMP,\\n \\"expires_at\\" TIMESTAMP,\\n \\"revoked_at\\" TIMESTAMP\\n);","columns":{"id":{"type":"UUID","primaryKey":true,"referenceKind":"id","notNull":true},"slug":{"type":"TEXT","notNull":true},"context":{"type":"TEXT","notNull":true,"default":""},"created_at":{"type":"TIMESTAMP","notNull":true,"default":"current_timestamp"},"updated_at":{"type":"TIMESTAMP","notNull":true,"default":"current_timestamp"},"profile_id":{"type":"UUID","referenceKind":"foreignKey","notNull":true,"unique":false,"foreignKey":{"table":"profiles","column":"id","onDelete":"NO ACTION","onUpdate":"CASCADE"}},"key_hash":{"type":"TEXT","notNull":false,"unique":false,"default":""},"key_prefix":{"type":"TEXT","notNull":false,"unique":false,"default":""},"name":{"type":"TEXT","notNull":false,"unique":false,"default":""},"scopes":{"type":"JSON","notNull":false,"unique":false,"default":[]},"last_used_at":{"type":"TIMESTAMP","notNull":false,"unique":false},"expires_at":{"type":"TIMESTAMP","notNull":false,"unique":false},"revoked_at":{"type":"TIMESTAMP","notNull":false,"unique":false}},"indexes":[{"name":"api_keys_slug_context_idx","columns":["slug","context"],"unique":true},{"name":"api_keys_key_hash_idx","columns":["key_hash"]},{"name":"api_keys_created_at_idx","columns":["created_at"]},{"name":"api_keys_profile_id_idx","columns":["profile_id"]}],"version":"9b0d49e8"},"importPath":"@happyvertical/smrt-profiles"},"@happyvertical/smrt-profiles:AuditLogCollection":{"name":"auditlogcollection","className":"AuditLogCollection","qualifiedName":"@happyvertical/smrt-profiles:AuditLogCollection","collection":"auditlogs","filePath":"/home/runner/work/smrt/smrt/packages/profiles/src/collections/AuditLogCollection.ts","packageName":"@happyvertical/smrt-profiles","fields":{},"methods":{"findByProfile":{"name":"findByProfile","async":true,"parameters":[{"name":"profileId","type":"string","optional":false}],"returnType":"Promise<AuditLog[]>","isStatic":false,"isPublic":true},"findByResource":{"name":"findByResource","async":true,"parameters":[{"name":"resourceType","type":"string","optional":false},{"name":"resourceId","type":"string","optional":false}],"returnType":"Promise<AuditLog[]>","isStatic":false,"isPublic":true},"findByAction":{"name":"findByAction","async":true,"parameters":[{"name":"action","type":"string","optional":false}],"returnType":"Promise<AuditLog[]>","isStatic":false,"isPublic":true},"findBySource":{"name":"findBySource","async":true,"parameters":[{"name":"source","type":"AuditSource","optional":false}],"returnType":"Promise<AuditLog[]>","isStatic":false,"isPublic":true},"findOnBehalfOf":{"name":"findOnBehalfOf","async":true,"parameters":[{"name":"profileId","type":"string","optional":false}],"returnType":"Promise<AuditLog[]>","isStatic":false,"isPublic":true},"record":{"name":"record","async":true,"parameters":[{"name":"options","type":"object","optional":false,"memberTypes":["Profile","string","AuditSource","Record<string, unknown>","Profile | null","Record<string, AuditChange>"]}],"returnType":"Promise<AuditLog>","isStatic":false,"isPublic":true},"getRecentActivity":{"name":"getRecentActivity","async":true,"parameters":[{"name":"profileId","type":"string","optional":false},{"name":"limit","type":"number","optional":true}],"returnType":"Promise<AuditLog[]>","isStatic":false,"isPublic":true},"getResourceTimeline":{"name":"getResourceTimeline","async":true,"parameters":[{"name":"resourceType","type":"string","optional":false},{"name":"resourceId","type":"string","optional":false}],"returnType":"Promise<AuditLog[]>","isStatic":false,"isPublic":true}},"decoratorConfig":{"tableName":"audit_logs","api":false,"mcp":false,"cli":false},"extends":"SmrtCollection","extendsTypeArg":"AuditLog","exportName":"AuditLogCollection","collectionExportName":"AuditLogCollectionCollection","collectionOf":"@happyvertical/smrt-profiles:AuditLog","inheritedExposure":["api","mcp","cli"],"schema":{"tableName":"audit_logs","ddl":"CREATE TABLE IF NOT EXISTS \\"audit_logs\\" (\\n \\"id\\" UUID PRIMARY KEY NOT NULL,\\n \\"slug\\" TEXT NOT NULL,\\n \\"context\\" TEXT NOT NULL DEFAULT '',\\n \\"created_at\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\"updated_at\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\"tenant_id\\" UUID,\\n \\"profile_id\\" UUID NOT NULL,\\n \\"action\\" TEXT DEFAULT '',\\n \\"reason\\" TEXT DEFAULT '',\\n \\"changes\\" JSON DEFAULT '{}',\\n \\"resource_type\\" TEXT DEFAULT '',\\n \\"resource_id\\" TEXT DEFAULT '',\\n \\"occurred_at\\" TIMESTAMP DEFAULT current_timestamp,\\n \\"source\\" TEXT DEFAULT 'web',\\n \\"metadata\\" JSON DEFAULT '{}',\\n \\"on_behalf_of_id\\" UUID\\n);","columns":{"id":{"type":"UUID","primaryKey":true,"referenceKind":"id","notNull":true},"slug":{"type":"TEXT","notNull":true},"context":{"type":"TEXT","notNull":true,"default":""},"created_at":{"type":"TIMESTAMP","notNull":true,"default":"current_timestamp"},"updated_at":{"type":"TIMESTAMP","notNull":true,"default":"current_timestamp"},"tenant_id":{"type":"UUID","referenceKind":"tenantId","notNull":false,"unique":false},"profile_id":{"type":"UUID","referenceKind":"foreignKey","notNull":true,"unique":false,"foreignKey":{"table":"profiles","column":"id","onDelete":"NO ACTION","onUpdate":"CASCADE"}},"action":{"type":"TEXT","notNull":false,"unique":false,"default":""},"reason":{"type":"TEXT","notNull":false,"unique":false,"default":""},"changes":{"type":"JSON","notNull":false,"unique":false,"default":{}},"resource_type":{"type":"TEXT","notNull":false,"unique":false,"default":""},"resource_id":{"type":"TEXT","notNull":false,"unique":false,"default":""},"occurred_at":{"type":"TIMESTAMP","notNull":false,"unique":false,"default":"current_timestamp"},"source":{"type":"TEXT","notNull":false,"unique":false,"default":"web"},"metadata":{"type":"JSON","notNull":false,"unique":false,"default":{}},"on_behalf_of_id":{"type":"UUID","referenceKind":"foreignKey","notNull":false,"unique":false,"foreignKey":{"table":"profiles","column":"id","onDelete":"NO ACTION","onUpdate":"CASCADE"}}},"indexes":[{"name":"audit_logs_slug_context_idx","columns":["tenant_id","slug","context"],"unique":true,"nullsNotDistinct":true},{"name":"audit_logs_resource_type_idx","columns":["resource_type"]},{"name":"audit_logs_resource_id_idx","columns":["resource_id"]},{"name":"audit_logs_occurred_at_idx","columns":["occurred_at"]},{"name":"audit_logs_tenant_id_created_at_idx","columns":["tenant_id","created_at"]},{"name":"audit_logs_profile_id_idx","columns":["profile_id"]},{"name":"audit_logs_on_behalf_of_id_idx","columns":["on_behalf_of_id"]}],"version":"769bd855"},"importPath":"@happyvertical/smrt-profiles"},"@happyvertical/smrt-profiles:MagicLinkTokenCollection":{"name":"magiclinktokencollection","className":"MagicLinkTokenCollection","qualifiedName":"@happyvertical/smrt-profiles:MagicLinkTokenCollection","collection":"magiclinktokens","filePath":"/home/runner/work/smrt/smrt/packages/profiles/src/collections/MagicLinkTokenCollection.ts","packageName":"@happyvertical/smrt-profiles","fields":{},"methods":{"findByTokenHash":{"name":"findByTokenHash","async":true,"parameters":[{"name":"tokenHash","type":"string","optional":false}],"returnType":"Promise<MagicLinkToken | null>","isStatic":false,"isPublic":true},"findActiveForEmail":{"name":"findActiveForEmail","async":true,"parameters":[{"name":"email","type":"string","optional":false}],"returnType":"Promise<MagicLinkToken[]>","isStatic":false,"isPublic":true},"findByIdentity":{"name":"findByIdentity","async":true,"parameters":[{"name":"nostrIdentityId","type":"string","optional":false}],"returnType":"Promise<MagicLinkToken[]>","isStatic":false,"isPublic":true},"countRecentByEmail":{"name":"countRecentByEmail","async":true,"parameters":[{"name":"email","type":"string","optional":false},{"name":"withinMinutes","type":"number","optional":false}],"returnType":"Promise<number>","isStatic":false,"isPublic":true},"countRecentByIp":{"name":"countRecentByIp","async":true,"parameters":[{"name":"ip","type":"string","optional":false},{"name":"withinMinutes","type":"number","optional":false}],"returnType":"Promise<number>","isStatic":false,"isPublic":true},"verify":{"name":"verify","async":true,"parameters":[{"name":"token","type":"string","optional":false}],"returnType":"Promise<MagicLinkToken | null>","isStatic":false,"isPublic":true},"cleanupExpired":{"name":"cleanupExpired","async":true,"parameters":[],"returnType":"Promise<number>","isStatic":false,"isPublic":true},"revokeForIdentity":{"name":"revokeForIdentity","async":true,"parameters":[{"name":"nostrIdentityId","type":"string","optional":false}],"returnType":"Promise<number>","isStatic":false,"isPublic":true},"isRateLimitedByEmail":{"name":"isRateLimitedByEmail","async":true,"parameters":[{"name":"email","type":"string","optional":false},{"name":"maxPerHour","type":"number","optional":true}],"returnType":"Promise<boolean>","isStatic":false,"isPublic":true},"isRateLimitedByIp":{"name":"isRateLimitedByIp","async":true,"parameters":[{"name":"ip","type":"string","optional":false},{"name":"maxPerHour","type":"number","optional":true}],"returnType":"Promise<boolean>","isStatic":false,"isPublic":true}},"decoratorConfig":{"tableName":"magic_link_tokens","api":{"include":[]},"mcp":{"include":[]},"cli":{"include":["list"],"skipApiCheck":["list"]}},"extends":"SmrtCollection","extendsTypeArg":"MagicLinkToken","exportName":"MagicLinkTokenCollection","collectionExportName":"MagicLinkTokenCollectionCollection","collectionOf":"@happyvertical/smrt-profiles:MagicLinkToken","inheritedExposure":["api","mcp","cli"],"schema":{"tableName":"magic_link_tokens","ddl":"CREATE TABLE IF NOT EXISTS \\"magic_link_tokens\\" (\\n \\"id\\" UUID PRIMARY KEY NOT NULL,\\n \\"slug\\" TEXT NOT NULL,\\n \\"context\\" TEXT NOT NULL DEFAULT '',\\n \\"created_at\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\"updated_at\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\"nostr_identity_id\\" UUID NOT NULL,\\n \\"token_hash\\" TEXT DEFAULT '',\\n \\"email\\" TEXT DEFAULT '',\\n \\"expires_at\\" TIMESTAMP,\\n \\"used_at\\" TIMESTAMP,\\n \\"requested_from_ip\\" TEXT DEFAULT ''\\n);","columns":{"id":{"type":"UUID","primaryKey":true,"referenceKind":"id","notNull":true},"slug":{"type":"TEXT","notNull":true},"context":{"type":"TEXT","notNull":true,"default":""},"created_at":{"type":"TIMESTAMP","notNull":true,"default":"current_timestamp"},"updated_at":{"type":"TIMESTAMP","notNull":true,"default":"current_timestamp"},"nostr_identity_id":{"type":"UUID","referenceKind":"foreignKey","notNull":true,"unique":false,"foreignKey":{"table":"nostr_identities","column":"id","onDelete":"NO ACTION","onUpdate":"CASCADE"}},"token_hash":{"type":"TEXT","notNull":false,"unique":false,"default":""},"email":{"type":"TEXT","notNull":false,"unique":false,"default":""},"expires_at":{"type":"TIMESTAMP","notNull":false,"unique":false},"used_at":{"type":"TIMESTAMP","notNull":false,"unique":false},"requested_from_ip":{"type":"TEXT","notNull":false,"unique":false,"default":""}},"indexes":[{"name":"magic_link_tokens_slug_context_idx","columns":["slug","context"],"unique":true},{"name":"magic_link_tokens_token_hash_idx","columns":["token_hash"]},{"name":"magic_link_tokens_created_at_idx","columns":["created_at"]},{"name":"magic_link_tokens_nostr_identity_id_idx","columns":["nostr_identity_id"]}],"version":"d60748fe"},"importPath":"@happyvertical/smrt-profiles"},"@happyvertical/smrt-profiles:NostrIdentityCollection":{"name":"nostridentitycollection","className":"NostrIdentityCollection","qualifiedName":"@happyvertical/smrt-profiles:NostrIdentityCollection","collection":"nostridentities","filePath":"/home/runner/work/smrt/smrt/packages/profiles/src/collections/NostrIdentityCollection.ts","packageName":"@happyvertical/smrt-profiles","fields":{},"methods":{"findByProfile":{"name":"findByProfile","async":true,"parameters":[{"name":"profileId","type":"string","optional":false}],"returnType":"Promise<NostrIdentity[]>","isStatic":false,"isPublic":true},"findByPubkey":{"name":"findByPubkey","async":true,"parameters":[{"name":"pubkey","type":"string","optional":false}],"returnType":"Promise<NostrIdentity | null>","isStatic":false,"isPublic":true},"findByEmail":{"name":"findByEmail","async":true,"parameters":[{"name":"email","type":"string","optional":false}],"returnType":"Promise<NostrIdentity | null>","isStatic":false,"isPublic":true},"findByNip05":{"name":"findByNip05","async":true,"parameters":[{"name":"username","type":"string","optional":false}],"returnType":"Promise<NostrIdentity | null>","isStatic":false,"isPublic":true},"createForProfile":{"name":"createForProfile","async":true,"parameters":[{"name":"profile","type":"Profile","optional":false},{"name":"email","type":"string","optional":false},{"name":"masterSecret","type":"string","optional":false},{"name":"nip05Username","type":"string","optional":true}],"returnType":"Promise<NostrIdentity>","isStatic":false,"isPublic":true},"linkToProfile":{"name":"linkToProfile","async":true,"parameters":[{"name":"profile","type":"Profile","optional":false},{"name":"nostrData","type":"object","optional":false,"memberTypes":["string"]}],"returnType":"Promise<NostrIdentity>","isStatic":false,"isPublic":true},"unlinkFromProfile":{"name":"unlinkFromProfile","async":true,"parameters":[{"name":"profileId","type":"string","optional":false},{"name":"pubkey","type":"string","optional":false}],"returnType":"Promise<boolean>","isStatic":false,"isPublic":true},"getNip05Response":{"name":"getNip05Response","async":true,"parameters":[{"name":"username","type":"string","optional":true}],"returnType":"Promise<Nip05Response>","isStatic":false,"isPublic":true},"isNip05Available":{"name":"isNip05Available","async":true,"parameters":[{"name":"username","type":"string","optional":false}],"returnType":"Promise<boolean>","isStatic":false,"isPublic":true},"updateNip05Username":{"name":"updateNip05Username","async":true,"parameters":[{"name":"identity","type":"NostrIdentity","optional":false},{"name":"newUsername","type":"string","optional":false}],"returnType":"Promise<NostrIdentity>","isStatic":false,"isPublic":true}},"decoratorConfig":{"tableName":"nostr_identities","api":{"include":["list","get"]},"mcp":{"include":["list","get"]},"cli":{"include":["list","get"]}},"extends":"SmrtCollection","extendsTypeArg":"NostrIdentity","exportName":"NostrIdentityCollection","collectionExportName":"NostrIdentityCollectionCollection","collectionOf":"@happyvertical/smrt-profiles:NostrIdentity","inheritedExposure":["api","mcp","cli"],"schema":{"tableName":"nostr_identities","ddl":"CREATE TABLE IF NOT EXISTS \\"nostr_identities\\" (\\n \\"id\\" UUID PRIMARY KEY NOT NULL,\\n \\"slug\\" TEXT NOT NULL,\\n \\"context\\" TEXT NOT NULL DEFAULT '',\\n \\"created_at\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\"updated_at\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\"profile_id\\" UUID NOT NULL,\\n \\"pubkey\\" TEXT DEFAULT '',\\n \\"encrypted_privkey\\" TEXT DEFAULT '',\\n \\"encryption_iv\\" TEXT DEFAULT '',\\n \\"encryption_tag\\" TEXT DEFAULT '',\\n \\"email\\" TEXT DEFAULT '',\\n \\"nip05_username\\" TEXT DEFAULT '',\\n \\"last_used_at\\" TIMESTAMP,\\n \\"verified_at\\" TIMESTAMP\\n);","columns":{"id":{"type":"UUID","primaryKey":true,"referenceKind":"id","notNull":true},"slug":{"type":"TEXT","notNull":true},"context":{"type":"TEXT","notNull":true,"default":""},"created_at":{"type":"TIMESTAMP","notNull":true,"default":"current_timestamp"},"updated_at":{"type":"TIMESTAMP","notNull":true,"default":"current_timestamp"},"profile_id":{"type":"UUID","referenceKind":"foreignKey","notNull":true,"unique":false,"foreignKey":{"table":"profiles","column":"id","onDelete":"NO ACTION","onUpdate":"CASCADE"}},"pubkey":{"type":"TEXT","notNull":false,"unique":false,"default":""},"encrypted_privkey":{"type":"TEXT","notNull":false,"unique":false,"default":""},"encryption_iv":{"type":"TEXT","notNull":false,"unique":false,"default":""},"encryption_tag":{"type":"TEXT","notNull":false,"unique":false,"default":""},"email":{"type":"TEXT","notNull":false,"unique":false,"default":""},"nip05_username":{"type":"TEXT","notNull":false,"unique":false,"default":""},"last_used_at":{"type":"TIMESTAMP","notNull":false,"unique":false},"verified_at":{"type":"TIMESTAMP","notNull":false,"unique":false}},"indexes":[{"name":"nostr_identities_slug_context_idx","columns":["slug","context"],"unique":true},{"name":"nostr_identities_pubkey_idx","columns":["pubkey"]},{"name":"nostr_identities_created_at_idx","columns":["created_at"]},{"name":"nostr_identities_profile_id_idx","columns":["profile_id"]}],"version":"92eda375"},"importPath":"@happyvertical/smrt-profiles"},"@happyvertical/smrt-profiles:OidcIdentityCollection":{"name":"oidcidentitycollection","className":"OidcIdentityCollection","qualifiedName":"@happyvertical/smrt-profiles:OidcIdentityCollection","collection":"oidcidentities","filePath":"/home/runner/work/smrt/smrt/packages/profiles/src/collections/OidcIdentityCollection.ts","packageName":"@happyvertical/smrt-profiles","fields":{},"methods":{"findByProfile":{"name":"findByProfile","async":true,"parameters":[{"name":"profileId","type":"string","optional":false}],"returnType":"Promise<OidcIdentity[]>","isStatic":false,"isPublic":true},"findBySubject":{"name":"findBySubject","async":true,"parameters":[{"name":"issuer","type":"string","optional":false},{"name":"subject","type":"string","optional":false}],"returnType":"Promise<OidcIdentity | null>","isStatic":false,"isPublic":true},"findByProvider":{"name":"findByProvider","async":true,"parameters":[{"name":"provider","type":"string","optional":false}],"returnType":"Promise<OidcIdentity[]>","isStatic":false,"isPublic":true},"linkToProfile":{"name":"linkToProfile","async":true,"parameters":[{"name":"profile","type":"Profile","optional":false},{"name":"oidcData","type":"object","optional":false,"memberTypes":["string"]}],"returnType":"Promise<OidcIdentity>","isStatic":false,"isPublic":true},"unlinkFromProfile":{"name":"unlinkFromProfile","async":true,"parameters":[{"name":"profileId","type":"string","optional":false},{"name":"issuer","type":"string","optional":false},{"name":"subject","type":"string","optional":false}],"returnType":"Promise<boolean>","isStatic":false,"isPublic":true}},"decoratorConfig":{"tableName":"oidc_identities","api":{"include":["list","get"]},"mcp":{"include":["list","get"]},"cli":{"include":["list","get"]}},"extends":"SmrtCollection","extendsTypeArg":"OidcIdentity","exportName":"OidcIdentityCollection","collectionExportName":"OidcIdentityCollectionCollection","collectionOf":"@happyvertical/smrt-profiles:OidcIdentity","inheritedExposure":["api","mcp","cli"],"schema":{"tableName":"oidc_identities","ddl":"CREATE TABLE IF NOT EXISTS \\"oidc_identities\\" (\\n \\"id\\" UUID PRIMARY KEY NOT NULL,\\n \\"slug\\" TEXT NOT NULL,\\n \\"context\\" TEXT NOT NULL DEFAULT '',\\n \\"created_at\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\"updated_at\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\"profile_id\\" UUID NOT NULL,\\n \\"provider\\" TEXT,\\n \\"issuer\\" TEXT,\\n \\"subject\\" TEXT,\\n \\"identity_key\\" TEXT UNIQUE,\\n \\"email\\" TEXT,\\n \\"last_used_at\\" TIMESTAMP\\n);","columns":{"id":{"type":"UUID","primaryKey":true,"referenceKind":"id","notNull":true},"slug":{"type":"TEXT","notNull":true},"context":{"type":"TEXT","notNull":true,"default":""},"created_at":{"type":"TIMESTAMP","notNull":true,"default":"current_timestamp"},"updated_at":{"type":"TIMESTAMP","notNull":true,"default":"current_timestamp"},"profile_id":{"type":"UUID","referenceKind":"foreignKey","notNull":true,"unique":false,"foreignKey":{"table":"profiles","column":"id","onDelete":"NO ACTION","onUpdate":"CASCADE"}},"provider":{"type":"TEXT","notNull":false,"unique":false},"issuer":{"type":"TEXT","notNull":false,"unique":false},"subject":{"type":"TEXT","notNull":false,"unique":false},"identity_key":{"type":"TEXT","notNull":false,"unique":true},"email":{"type":"TEXT","notNull":false,"unique":false},"last_used_at":{"type":"TIMESTAMP","notNull":false,"unique":false}},"indexes":[{"name":"oidc_identities_slug_context_idx","columns":["slug","context"],"unique":true},{"name":"oidc_identities_issuer_idx","columns":["issuer"]},{"name":"oidc_identities_subject_idx","columns":["subject"]},{"name":"oidc_identities_created_at_idx","columns":["created_at"]},{"name":"oidc_identities_profile_id_idx","columns":["profile_id"]}],"version":"925387ea"},"importPath":"@happyvertical/smrt-profiles"},"@happyvertical/smrt-profiles:OidcProfileEmailReservationCollection":{"name":"oidcprofileemailreservationcollection","className":"OidcProfileEmailReservationCollection","qualifiedName":"@happyvertical/smrt-profiles:OidcProfileEmailReservationCollection","collection":"oidcprofileemailreservations","description":"Internal collection for canonical OIDC email reservations.","filePath":"/home/runner/work/smrt/smrt/packages/profiles/src/collections/OidcProfileEmailReservationCollection.ts","packageName":"@happyvertical/smrt-profiles","fields":{},"methods":{},"decoratorConfig":{"tableName":"oidc_profile_email_reservations","api":false,"mcp":false,"cli":false},"extends":"SmrtCollection","extendsTypeArg":"OidcProfileEmailReservation","exportName":"OidcProfileEmailReservationCollection","collectionExportName":"OidcProfileEmailReservationCollectionCollection","collectionOf":"@happyvertical/smrt-profiles:OidcProfileEmailReservation","inheritedExposure":["api","mcp","cli"],"schema":{"tableName":"oidc_profile_email_reservations","ddl":"CREATE TABLE IF NOT EXISTS \\"oidc_profile_email_reservations\\" (\\n \\"id\\" UUID PRIMARY KEY NOT NULL,\\n \\"slug\\" TEXT NOT NULL,\\n \\"context\\" TEXT NOT NULL DEFAULT '',\\n \\"created_at\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\"updated_at\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\"profile_id\\" UUID NOT NULL UNIQUE,\\n \\"email_key\\" TEXT NOT NULL UNIQUE\\n);","columns":{"id":{"type":"UUID","primaryKey":true,"referenceKind":"id","notNull":true},"slug":{"type":"TEXT","notNull":true},"context":{"type":"TEXT","notNull":true,"default":""},"created_at":{"type":"TIMESTAMP","notNull":true,"default":"current_timestamp"},"updated_at":{"type":"TIMESTAMP","notNull":true,"default":"current_timestamp"},"profile_id":{"type":"UUID","referenceKind":"foreignKey","notNull":true,"unique":true,"foreignKey":{"table":"profiles","column":"id","onDelete":"NO ACTION","onUpdate":"CASCADE"}},"email_key":{"type":"TEXT","notNull":true,"unique":true}},"indexes":[{"name":"oidc_profile_email_reservations_slug_context_idx","columns":["slug","context"],"unique":true},{"name":"oidc_profile_email_reservations_created_at_idx","columns":["created_at"]}],"version":"01586e67"},"importPath":"@happyvertical/smrt-profiles"},"@happyvertical/smrt-profiles:ProfileAssetCollection":{"name":"profileassetcollection","className":"ProfileAssetCollection","qualifiedName":"@happyvertical/smrt-profiles:ProfileAssetCollection","collection":"profileassets","filePath":"/home/runner/work/smrt/smrt/packages/profiles/src/collections/ProfileAssetCollection.ts","packageName":"@happyvertical/smrt-profiles","fields":{},"methods":{"byRight":{"name":"byRight","async":true,"parameters":[{"name":"rightId","type":"string","optional":false},{"name":"opts","type":"JunctionFilterOptions","optional":true}],"returnType":"Promise<TItem[]>","isStatic":false,"isPublic":true},"byLeft":{"name":"byLeft","async":true,"parameters":[{"name":"leftId","type":"string","optional":false},{"name":"opts","type":"JunctionFilterOptions","optional":true}],"returnType":"Promise<TItem[]>","isStatic":false,"isPublic":true},"attach":{"name":"attach","async":true,"parameters":[{"name":"leftId","type":"string","optional":false},{"name":"rightId","type":"string","optional":false},{"name":"opts","type":"JunctionAttachOptions","optional":true,"resolvedType":"Record<string, unknown>"}],"returnType":"Promise<TItem>","isStatic":false,"isPublic":true},"detach":{"name":"detach","async":true,"parameters":[{"name":"leftId","type":"string","optional":false},{"name":"rightId","type":"string","optional":false},{"name":"opts","type":"JunctionFilterOptions","optional":true}],"returnType":"Promise<void>","isStatic":false,"isPublic":true},"setLinks":{"name":"setLinks","async":true,"parameters":[{"name":"leftId","type":"string","optional":false},{"name":"rightIds","type":"string[]","optional":false},{"name":"opts","type":"JunctionAttachOptions","optional":true,"resolvedType":"Record<string, unknown>"}],"returnType":"Promise<void>","isStatic":false,"isPublic":true},"getAssets":{"name":"getAssets","async":true,"parameters":[{"name":"profileId","type":"string","optional":false},{"name":"relationship","type":"string","optional":true}],"returnType":"Promise<Asset[]>","isStatic":false,"isPublic":true},"addAsset":{"name":"addAsset","async":true,"parameters":[{"name":"profileId","type":"string","optional":false},{"name":"asset","type":"Asset","optional":false},{"name":"relationship","type":"any","optional":true,"default":"attachment"},{"name":"sortOrder","type":"any","optional":true}],"returnType":"Promise<void>","isStatic":false,"isPublic":true},"removeAsset":{"name":"removeAsset","async":true,"parameters":[{"name":"profileId","type":"string","optional":false},{"name":"assetId","type":"string","optional":false},{"name":"relationship","type":"string","optional":true}],"returnType":"Promise<void>","isStatic":false,"isPublic":true}},"decoratorConfig":{"api":false,"mcp":false,"cli":false,"tableName":"profile_assets"},"extends":"SmrtJunction","extendsTypeArg":"ProfileAsset","exportName":"ProfileAssetCollection","collectionExportName":"ProfileAssetCollectionCollection","collectionOf":"@happyvertical/smrt-profiles:ProfileAsset","schema":{"tableName":"profile_assets","ddl":"CREATE TABLE IF NOT EXISTS \\"profile_assets\\" (\\n \\"id\\" UUID PRIMARY KEY NOT NULL,\\n \\"slug\\" TEXT NOT NULL,\\n \\"context\\" TEXT NOT NULL DEFAULT '',\\n \\"created_at\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\"updated_at\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\"tenant_id\\" UUID,\\n \\"profile_id\\" UUID NOT NULL,\\n \\"asset_id\\" UUID NOT NULL,\\n \\"relationship\\" TEXT NOT NULL,\\n \\"sort_order\\" INTEGER NOT NULL DEFAULT 0\\n);","columns":{"id":{"type":"UUID","primaryKey":true,"referenceKind":"id","notNull":true},"slug":{"type":"TEXT","notNull":true},"context":{"type":"TEXT","notNull":true,"default":""},"created_at":{"type":"TIMESTAMP","notNull":true,"default":"current_timestamp"},"updated_at":{"type":"TIMESTAMP","notNull":true,"default":"current_timestamp"},"tenant_id":{"type":"UUID","referenceKind":"tenantId","notNull":false,"unique":false},"profile_id":{"type":"UUID","referenceKind":"foreignKey","notNull":true,"unique":false,"foreignKey":{"table":"profiles","column":"id","onDelete":"CASCADE","onUpdate":"CASCADE"}},"asset_id":{"type":"UUID","referenceKind":"crossPackageRef","notNull":true,"unique":false},"relationship":{"type":"TEXT","notNull":true,"unique":false},"sort_order":{"type":"INTEGER","notNull":true,"unique":false,"default":0}},"indexes":[{"name":"profile_assets_profile_id_asset_id_idx","columns":["profile_id","asset_id","relationship"],"unique":true},{"name":"profile_assets_slug_context_idx","columns":["slug","context"]},{"name":"profile_assets_tenant_id_created_at_idx","columns":["tenant_id","created_at"]},{"name":"profile_assets_asset_id_idx","columns":["asset_id"]}],"version":"d0d7c2a2"},"importPath":"@happyvertical/smrt-profiles"},"@happyvertical/smrt-profiles:ProfileCollection":{"name":"profilecollection","className":"ProfileCollection","qualifiedName":"@happyvertical/smrt-profiles:ProfileCollection","collection":"profiles","filePath":"/home/runner/work/smrt/smrt/packages/profiles/src/collections/ProfileCollection.ts","packageName":"@happyvertical/smrt-profiles","fields":{},"methods":{"findByEmail":{"name":"findByEmail","async":true,"parameters":[{"name":"email","type":"string","optional":false}],"returnType":"Promise<Profile | null>","isStatic":false,"isPublic":true},"findUniqueGlobalPersonByEmail":{"name":"findUniqueGlobalPersonByEmail","async":true,"parameters":[{"name":"email","type":"string","optional":false}],"returnType":"Promise<Profile | null>","isStatic":false,"isPublic":true},"requireCanonicalGlobalPerson":{"name":"requireCanonicalGlobalPerson","async":true,"parameters":[{"name":"profileId","type":"string","optional":false},{"name":"email","type":"string","optional":true}],"returnType":"Promise<Profile>","isStatic":false,"isPublic":true},"reserveCanonicalIdentityEmail":{"name":"reserveCanonicalIdentityEmail","async":true,"parameters":[{"name":"profileId","type":"string","optional":false},{"name":"email","type":"string","optional":true}],"returnType":"Promise<Profile>","isStatic":false,"isPublic":true},"findByType":{"name":"findByType","async":true,"parameters":[{"name":"typeSlug","type":"string","optional":false}],"returnType":"Promise<Profile[]>","isStatic":false,"isPublic":true},"batchGetMetadata":{"name":"batchGetMetadata","async":true,"parameters":[{"name":"profileIds","type":"string[]","optional":false}],"returnType":"Promise<Map<string, Record<string, string>>>","isStatic":false,"isPublic":true},"batchUpdateMetadata":{"name":"batchUpdateMetadata","async":true,"parameters":[{"name":"updates","type":"Array<object>","optional":false,"memberTypes":["string","Record<string, unknown>"]}],"returnType":"Promise<void>","isStatic":false,"isPublic":true},"findRelated":{"name":"findRelated","async":true,"parameters":[{"name":"profileId","type":"string","optional":false},{"name":"relationshipSlug","type":"string","optional":true}],"returnType":"Promise<Profile[]>","isStatic":false,"isPublic":true},"getAssets":{"name":"getAssets","async":true,"parameters":[{"name":"profileId","type":"string","optional":false},{"name":"relationship","type":"string","optional":true}],"returnType":"Promise<Asset[]>","isStatic":false,"isPublic":true},"addAsset":{"name":"addAsset","async":true,"parameters":[{"name":"profileId","type":"string","optional":false},{"name":"asset","type":"Asset","optional":false},{"name":"relationship","type":"any","optional":true,"default":"attachment"},{"name":"sortOrder","type":"any","optional":true}],"returnType":"Promise<void>","isStatic":false,"isPublic":true},"removeAsset":{"name":"removeAsset","async":true,"parameters":[{"name":"profileId","type":"string","optional":false},{"name":"assetId","type":"string","optional":false},{"name":"relationship","type":"string","optional":true}],"returnType":"Promise<void>","isStatic":false,"isPublic":true},"getRelationshipNetwork":{"name":"getRelationshipNetwork","async":true,"parameters":[{"name":"profileId","type":"string","optional":false},{"name":"options","type":"object","optional":true,"memberTypes":["number"]}],"returnType":"Promise<Map<string, number>>","isStatic":false,"isPublic":true},"findByTenant":{"name":"findByTenant","async":true,"parameters":[{"name":"tenantId","type":"string","optional":false}],"returnType":"Promise<Profile[]>","isStatic":false,"isPublic":true},"findGlobal":{"name":"findGlobal","async":true,"parameters":[],"returnType":"Promise<Profile[]>","isStatic":false,"isPublic":true},"findWithGlobals":{"name":"findWithGlobals","async":true,"parameters":[{"name":"tenantId","type":"string","optional":false}],"returnType":"Promise<Profile[]>","isStatic":false,"isPublic":true}},"decoratorConfig":{"api":{"include":["list","get","create","update","delete"]},"mcp":{"include":["list","get","create","update"]}},"extends":"SmrtCollection","extendsTypeArg":"Profile","exportName":"ProfileCollection","collectionExportName":"ProfileCollectionCollection","collectionOf":"@happyvertical/smrt-profiles:Profile","inheritedExposure":["api","mcp"],"schema":{"tableName":"profiles","ddl":"CREATE TABLE IF NOT EXISTS \\"profiles\\" (\\n \\"id\\" UUID PRIMARY KEY NOT NULL,\\n \\"slug\\" TEXT NOT NULL,\\n \\"context\\" TEXT NOT NULL DEFAULT '',\\n \\"_meta_type\\" TEXT NOT NULL,\\n \\"_meta_data\\" JSON,\\n \\"created_at\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\"updated_at\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\"tenant_id\\" UUID,\\n \\"type_id\\" UUID,\\n \\"email\\" TEXT,\\n \\"email_key\\" TEXT,\\n \\"name\\" TEXT DEFAULT '',\\n \\"description\\" TEXT,\\n \\"is_public\\" BOOLEAN DEFAULT FALSE\\n);","columns":{"id":{"type":"UUID","primaryKey":true,"referenceKind":"id","notNull":true},"slug":{"type":"TEXT","notNull":true},"context":{"type":"TEXT","notNull":true,"default":""},"_meta_type":{"type":"TEXT","notNull":true},"_meta_data":{"type":"JSON","notNull":false},"created_at":{"type":"TIMESTAMP","notNull":true,"default":"current_timestamp"},"updated_at":{"type":"TIMESTAMP","notNull":true,"default":"current_timestamp"},"tenant_id":{"type":"UUID","referenceKind":"tenantId","notNull":false},"type_id":{"type":"UUID","referenceKind":"foreignKey","notNull":false,"foreignKey":{"table":"profile_types","column":"id","onDelete":"NO ACTION","onUpdate":"CASCADE"}},"email":{"type":"TEXT","notNull":false},"email_key":{"type":"TEXT","notNull":false},"name":{"type":"TEXT","notNull":false,"default":""},"description":{"type":"TEXT","notNull":false},"is_public":{"type":"BOOLEAN","notNull":false,"default":false}},"indexes":[{"name":"profiles_slug_context_meta_type_idx","columns":["tenant_id","slug","context","_meta_type"],"unique":true,"nullsNotDistinct":true},{"name":"profiles_meta_type_idx","columns":["_meta_type"]},{"name":"profiles_email_key_idx","columns":["email_key"]},{"name":"profiles_tenant_id_created_at_idx","columns":["tenant_id","created_at"]},{"name":"profiles_type_id_idx","columns":["type_id"]}],"version":"f4a7b632"},"importPath":"@happyvertical/smrt-profiles"},"@happyvertical/smrt-profiles:ProfileLinkCollection":{"name":"profilelinkcollection","className":"ProfileLinkCollection","qualifiedName":"@happyvertical/smrt-profiles:ProfileLinkCollection","collection":"profilelinks","filePath":"/home/runner/work/smrt/smrt/packages/profiles/src/collections/ProfileLinkCollection.ts","packageName":"@happyvertical/smrt-profiles","fields":{},"methods":{"listForProfile":{"name":"listForProfile","async":true,"parameters":[{"name":"profileId","type":"string","optional":false}],"returnType":"Promise<ProfileLink[]>","isStatic":false,"isPublic":true},"replaceForProfile":{"name":"replaceForProfile","async":true,"parameters":[{"name":"profileId","type":"string","optional":false},{"name":"links","type":"any","optional":false,"typeUnresolved":true}],"returnType":"Promise<ProfileLink[]>","isStatic":false,"isPublic":true},"reorder":{"name":"reorder","async":true,"parameters":[{"name":"profileId","type":"string","optional":false},{"name":"linkIds","type":"any","optional":false,"typeUnresolved":true}],"returnType":"Promise<ProfileLink[]>","isStatic":false,"isPublic":true}},"decoratorConfig":{"tableName":"profile_links","api":false,"mcp":false,"cli":false},"extends":"SmrtCollection","extendsTypeArg":"ProfileLink","exportName":"ProfileLinkCollection","collectionExportName":"ProfileLinkCollectionCollection","collectionOf":"@happyvertical/smrt-profiles:ProfileLink","inheritedExposure":["api","mcp","cli"],"schema":{"tableName":"profile_links","ddl":"CREATE TABLE IF NOT EXISTS \\"profile_links\\" (\\n \\"id\\" UUID PRIMARY KEY NOT NULL,\\n \\"slug\\" TEXT NOT NULL,\\n \\"context\\" TEXT NOT NULL DEFAULT '',\\n \\"created_at\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\"updated_at\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\"tenant_id\\" UUID,\\n \\"profile_id\\" UUID NOT NULL,\\n \\"platform\\" TEXT NOT NULL DEFAULT 'website',\\n \\"url\\" TEXT NOT NULL,\\n \\"label\\" TEXT,\\n \\"sort_order\\" INTEGER NOT NULL DEFAULT 0\\n);","columns":{"id":{"type":"UUID","primaryKey":true,"referenceKind":"id","notNull":true},"slug":{"type":"TEXT","notNull":true},"context":{"type":"TEXT","notNull":true,"default":""},"created_at":{"type":"TIMESTAMP","notNull":true,"default":"current_timestamp"},"updated_at":{"type":"TIMESTAMP","notNull":true,"default":"current_timestamp"},"tenant_id":{"type":"UUID","referenceKind":"tenantId","notNull":false,"unique":false},"profile_id":{"type":"UUID","referenceKind":"foreignKey","notNull":true,"unique":false,"foreignKey":{"table":"profiles","column":"id","onDelete":"CASCADE","onUpdate":"CASCADE"}},"platform":{"type":"TEXT","notNull":true,"unique":false,"default":"website"},"url":{"type":"TEXT","notNull":true,"unique":false},"label":{"type":"TEXT","notNull":false,"unique":false},"sort_order":{"type":"INTEGER","notNull":true,"unique":false,"default":0}},"indexes":[{"name":"profile_links_slug_context_idx","columns":["tenant_id","slug","context"],"unique":true,"nullsNotDistinct":true},{"name":"profile_links_tenant_id_created_at_idx","columns":["tenant_id","created_at"]},{"name":"profile_links_profile_id_idx","columns":["profile_id"]}],"version":"847fd648"},"importPath":"@happyvertical/smrt-profiles"},"@happyvertical/smrt-profiles:ProfileMetadataCollection":{"name":"profilemetadatacollection","className":"ProfileMetadataCollection","qualifiedName":"@happyvertical/smrt-profiles:ProfileMetadataCollection","collection":"profilemetadatas","filePath":"/home/runner/work/smrt/smrt/packages/profiles/src/collections/ProfileMetadataCollection.ts","packageName":"@happyvertical/smrt-profiles","fields":{},"methods":{"getByProfile":{"name":"getByProfile","async":true,"parameters":[{"name":"profileId","type":"string","optional":false}],"returnType":"Promise<ProfileMetadata[]>","isStatic":false,"isPublic":true},"getMetadataObject":{"name":"getMetadataObject","async":true,"parameters":[{"name":"profileId","type":"string","optional":false}],"returnType":"Promise<Record<string, string>>","isStatic":false,"isPublic":true},"findProfilesByMetadata":{"name":"findProfilesByMetadata","async":true,"parameters":[{"name":"metafieldId","type":"string","optional":false},{"name":"value","type":"unknown","optional":false}],"returnType":"Promise<string[]>","isStatic":false,"isPublic":true}},"decoratorConfig":{"api":{"include":["list","get","create","update","delete"]},"mcp":{"include":["list","get"]}},"extends":"SmrtCollection","extendsTypeArg":"ProfileMetadata","exportName":"ProfileMetadataCollection","collectionExportName":"ProfileMetadataCollectionCollection","collectionOf":"@happyvertical/smrt-profiles:ProfileMetadata","inheritedExposure":["api","mcp"],"schema":{"tableName":"profile_metadata","ddl":"CREATE TABLE IF NOT EXISTS \\"profile_metadata\\" (\\n \\"id\\" UUID PRIMARY KEY NOT NULL,\\n \\"slug\\" TEXT NOT NULL,\\n \\"context\\" TEXT NOT NULL DEFAULT '',\\n \\"_meta_type\\" TEXT NOT NULL,\\n \\"_meta_data\\" JSON,\\n \\"created_at\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\"updated_at\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\"tenant_id\\" UUID,\\n \\"profile_id\\" UUID,\\n \\"metafield_id\\" UUID,\\n \\"value\\" TEXT DEFAULT ''\\n);","columns":{"id":{"type":"UUID","primaryKey":true,"referenceKind":"id","notNull":true},"slug":{"type":"TEXT","notNull":true},"context":{"type":"TEXT","notNull":true,"default":""},"_meta_type":{"type":"TEXT","notNull":true},"_meta_data":{"type":"JSON","notNull":false},"created_at":{"type":"TIMESTAMP","notNull":true,"default":"current_timestamp"},"updated_at":{"type":"TIMESTAMP","notNull":true,"default":"current_timestamp"},"tenant_id":{"type":"UUID","referenceKind":"tenantId","notNull":false},"profile_id":{"type":"UUID","referenceKind":"foreignKey","notNull":false,"foreignKey":{"table":"profiles","column":"id","onDelete":"NO ACTION","onUpdate":"CASCADE"}},"metafield_id":{"type":"UUID","referenceKind":"foreignKey","notNull":false,"foreignKey":{"table":"profile_metafields","column":"id","onDelete":"NO ACTION","onUpdate":"CASCADE"}},"value":{"type":"TEXT","notNull":false,"default":""}},"indexes":[{"name":"profile_metadata_slug_context_meta_type_idx","columns":["tenant_id","slug","context","_meta_type"],"unique":true,"nullsNotDistinct":true},{"name":"profile_metadata_meta_type_idx","columns":["_meta_type"]},{"name":"profile_metadata_tenant_id_created_at_idx","columns":["tenant_id","created_at"]},{"name":"profile_metadata_profile_id_idx","columns":["profile_id"]},{"name":"profile_metadata_metafield_id_idx","columns":["metafield_id"]}],"version":"d3ab1b70"},"importPath":"@happyvertical/smrt-profiles"},"@happyvertical/smrt-profiles:ProfileMetafieldCollection":{"name":"profilemetafieldcollection","className":"ProfileMetafieldCollection","qualifiedName":"@happyvertical/smrt-profiles:ProfileMetafieldCollection","collection":"profilemetafields","filePath":"/home/runner/work/smrt/smrt/packages/profiles/src/collections/ProfileMetafieldCollection.ts","packageName":"@happyvertical/smrt-profiles","fields":{},"methods":{"getBySlug":{"name":"getBySlug","async":true,"parameters":[{"name":"slug","type":"string","optional":false}],"returnType":"Promise<ProfileMetafield | null>","isStatic":false,"isPublic":true},"getOrCreateBySlug":{"name":"getOrCreateBySlug","async":true,"parameters":[{"name":"slug","type":"string","optional":false},{"name":"defaults","type":"object","optional":false,"memberTypes":["string","ValidationSchema"]}],"returnType":"Promise<ProfileMetafield>","isStatic":false,"isPublic":true}},"decoratorConfig":{"api":{"include":["list","get","create","update"]},"mcp":{"include":["list","get"]}},"extends":"SmrtCollection","extendsTypeArg":"ProfileMetafield","exportName":"ProfileMetafieldCollection","collectionExportName":"ProfileMetafieldCollectionCollection","collectionOf":"@happyvertical/smrt-profiles:ProfileMetafield","inheritedExposure":["api","mcp"],"schema":{"tableName":"profile_metafields","ddl":"CREATE TABLE IF NOT EXISTS \\"profile_metafields\\" (\\n \\"id\\" UUID PRIMARY KEY NOT NULL,\\n \\"slug\\" TEXT NOT NULL,\\n \\"context\\" TEXT NOT NULL DEFAULT '',\\n \\"_meta_type\\" TEXT NOT NULL,\\n \\"_meta_data\\" JSON,\\n \\"created_at\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\"updated_at\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\"tenant_id\\" UUID,\\n \\"name\\" TEXT DEFAULT '',\\n \\"description\\" TEXT,\\n \\"validation\\" JSON\\n);","columns":{"id":{"type":"UUID","primaryKey":true,"referenceKind":"id","notNull":true},"slug":{"type":"TEXT","notNull":true},"context":{"type":"TEXT","notNull":true,"default":""},"_meta_type":{"type":"TEXT","notNull":true},"_meta_data":{"type":"JSON","notNull":false},"created_at":{"type":"TIMESTAMP","notNull":true,"default":"current_timestamp"},"updated_at":{"type":"TIMESTAMP","notNull":true,"default":"current_timestamp"},"tenant_id":{"type":"UUID","referenceKind":"tenantId","notNull":false},"name":{"type":"TEXT","notNull":false,"default":""},"description":{"type":"TEXT","notNull":false},"validation":{"type":"JSON","notNull":false}},"indexes":[{"name":"profile_metafields_slug_context_meta_type_idx","columns":["tenant_id","slug","context","_meta_type"],"unique":true,"nullsNotDistinct":true},{"name":"profile_metafields_meta_type_idx","columns":["_meta_type"]},{"name":"profile_metafields_tenant_id_created_at_idx","columns":["tenant_id","created_at"]}],"version":"afe420df"},"importPath":"@happyvertical/smrt-profiles"},"@happyvertical/smrt-profiles:ProfileRelationshipCollection":{"name":"profilerelationshipcollection","className":"ProfileRelationshipCollection","qualifiedName":"@happyvertical/smrt-profiles:ProfileRelationshipCollection","collection":"profilerelationships","filePath":"/home/runner/work/smrt/smrt/packages/profiles/src/collections/ProfileRelationshipCollection.ts","packageName":"@happyvertical/smrt-profiles","fields":{},"methods":{"getFromProfile":{"name":"getFromProfile","async":true,"parameters":[{"name":"fromProfileId","type":"string","optional":false},{"name":"typeId","type":"string","optional":true}],"returnType":"Promise<ProfileRelationship[]>","isStatic":false,"isPublic":true},"getToProfile":{"name":"getToProfile","async":true,"parameters":[{"name":"toProfileId","type":"string","optional":false},{"name":"typeId","type":"string","optional":true}],"returnType":"Promise<ProfileRelationship[]>","isStatic":false,"isPublic":true},"getForProfile":{"name":"getForProfile","async":true,"parameters":[{"name":"profileId","type":"string","optional":false},{"name":"typeId","type":"string","optional":true}],"returnType":"Promise<ProfileRelationship[]>","isStatic":false,"isPublic":true},"exists":{"name":"exists","async":true,"parameters":[{"name":"fromProfileId","type":"string","optional":false},{"name":"toProfileId","type":"string","optional":false},{"name":"typeId","type":"string","optional":false}],"returnType":"Promise<boolean>","isStatic":false,"isPublic":true}},"decoratorConfig":{"api":{"include":["list","get","create","delete"]},"mcp":{"include":["list","get"]}},"extends":"SmrtCollection","extendsTypeArg":"ProfileRelationship","exportName":"ProfileRelationshipCollection","collectionExportName":"ProfileRelationshipCollectionCollection","collectionOf":"@happyvertical/smrt-profiles:ProfileRelationship","inheritedExposure":["api","mcp"],"schema":{"tableName":"profile_relationships","ddl":"CREATE TABLE IF NOT EXISTS \\"profile_relationships\\" (\\n \\"id\\" UUID PRIMARY KEY NOT NULL,\\n \\"slug\\" TEXT NOT NULL,\\n \\"context\\" TEXT NOT NULL DEFAULT '',\\n \\"_meta_type\\" TEXT NOT NULL,\\n \\"_meta_data\\" JSON,\\n \\"created_at\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\"updated_at\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\"tenant_id\\" UUID,\\n \\"from_profile_id\\" UUID,\\n \\"to_profile_id\\" UUID,\\n \\"type_id\\" UUID,\\n \\"context_profile_id\\" UUID\\n);","columns":{"id":{"type":"UUID","primaryKey":true,"referenceKind":"id","notNull":true},"slug":{"type":"TEXT","notNull":true},"context":{"type":"TEXT","notNull":true,"default":""},"_meta_type":{"type":"TEXT","notNull":true},"_meta_data":{"type":"JSON","notNull":false},"created_at":{"type":"TIMESTAMP","notNull":true,"default":"current_timestamp"},"updated_at":{"type":"TIMESTAMP","notNull":true,"default":"current_timestamp"},"tenant_id":{"type":"UUID","referenceKind":"tenantId","notNull":false},"from_profile_id":{"type":"UUID","referenceKind":"foreignKey","notNull":false,"foreignKey":{"table":"profiles","column":"id","onDelete":"NO ACTION","onUpdate":"CASCADE"}},"to_profile_id":{"type":"UUID","referenceKind":"foreignKey","notNull":false,"foreignKey":{"table":"profiles","column":"id","onDelete":"NO ACTION","onUpdate":"CASCADE"}},"type_id":{"type":"UUID","referenceKind":"foreignKey","notNull":false,"foreignKey":{"table":"profile_relationship_types","column":"id","onDelete":"NO ACTION","onUpdate":"CASCADE"}},"context_profile_id":{"type":"UUID","referenceKind":"foreignKey","notNull":false,"foreignKey":{"table":"profiles","column":"id","onDelete":"NO ACTION","onUpdate":"CASCADE"}}},"indexes":[{"name":"profile_relationships_slug_context_meta_type_idx","columns":["tenant_id","slug","context","_meta_type"],"unique":true,"nullsNotDistinct":true},{"name":"profile_relationships_meta_type_idx","columns":["_meta_type"]},{"name":"profile_relationships_tenant_id_created_at_idx","columns":["tenant_id","created_at"]},{"name":"profile_relationships_from_profile_id_idx","columns":["from_profile_id"]},{"name":"profile_relationships_to_profile_id_idx","columns":["to_profile_id"]},{"name":"profile_relationships_type_id_idx","columns":["type_id"]},{"name":"profile_relationships_context_profile_id_idx","columns":["context_profile_id"]}],"version":"48878dba"},"importPath":"@happyvertical/smrt-profiles"},"@happyvertical/smrt-profiles:ProfileRelationshipTermCollection":{"name":"profilerelationshiptermcollection","className":"ProfileRelationshipTermCollection","qualifiedName":"@happyvertical/smrt-profiles:ProfileRelationshipTermCollection","collection":"profilerelationshipterms","filePath":"/home/runner/work/smrt/smrt/packages/profiles/src/collections/ProfileRelationshipTermCollection.ts","packageName":"@happyvertical/smrt-profiles","fields":{},"methods":{"getByRelationship":{"name":"getByRelationship","async":true,"parameters":[{"name":"relationshipId","type":"string","optional":false}],"returnType":"Promise<ProfileRelationshipTerm[]>","isStatic":false,"isPublic":true},"getActiveTerm":{"name":"getActiveTerm","async":true,"parameters":[{"name":"relationshipId","type":"string","optional":false}],"returnType":"Promise<ProfileRelationshipTerm | null>","isStatic":false,"isPublic":true},"getHistoricalTerms":{"name":"getHistoricalTerms","async":true,"parameters":[{"name":"relationshipId","type":"string","optional":false}],"returnType":"Promise<ProfileRelationshipTerm[]>","isStatic":false,"isPublic":true}},"decoratorConfig":{"api":{"include":["list","get","create","update","delete"]},"mcp":{"include":["list","get"]}},"extends":"SmrtCollection","extendsTypeArg":"ProfileRelationshipTerm","exportName":"ProfileRelationshipTermCollection","collectionExportName":"ProfileRelationshipTermCollectionCollection","collectionOf":"@happyvertical/smrt-profiles:ProfileRelationshipTerm","inheritedExposure":["api","mcp"],"schema":{"tableName":"profile_relationship_terms","ddl":"CREATE TABLE IF NOT EXISTS \\"profile_relationship_terms\\" (\\n \\"id\\" UUID PRIMARY KEY NOT NULL,\\n \\"slug\\" TEXT NOT NULL,\\n \\"context\\" TEXT NOT NULL DEFAULT '',\\n \\"_meta_type\\" TEXT NOT NULL,\\n \\"_meta_data\\" JSON,\\n \\"created_at\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\"updated_at\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\"relationship_id\\" UUID,\\n \\"started_at\\" TIMESTAMP,\\n \\"ended_at\\" TIMESTAMP\\n);","columns":{"id":{"type":"UUID","primaryKey":true,"referenceKind":"id","notNull":true},"slug":{"type":"TEXT","notNull":true},"context":{"type":"TEXT","notNull":true,"default":""},"_meta_type":{"type":"TEXT","notNull":true},"_meta_data":{"type":"JSON","notNull":false},"created_at":{"type":"TIMESTAMP","notNull":true,"default":"current_timestamp"},"updated_at":{"type":"TIMESTAMP","notNull":true,"default":"current_timestamp"},"relationship_id":{"type":"UUID","referenceKind":"foreignKey","notNull":false,"foreignKey":{"table":"profile_relationships","column":"id","onDelete":"NO ACTION","onUpdate":"CASCADE"}},"started_at":{"type":"TIMESTAMP","notNull":false},"ended_at":{"type":"TIMESTAMP","notNull":false}},"indexes":[{"name":"profile_relationship_terms_slug_context_meta_type_idx","columns":["slug","context","_meta_type"],"unique":true},{"name":"profile_relationship_terms_meta_type_idx","columns":["_meta_type"]},{"name":"profile_relationship_terms_created_at_idx","columns":["created_at"]},{"name":"profile_relationship_terms_relationship_id_idx","columns":["relationship_id"]}],"version":"ef299102"},"importPath":"@happyvertical/smrt-profiles"},"@happyvertical/smrt-profiles:ProfileRelationshipTypeCollection":{"name":"profilerelationshiptypecollection","className":"ProfileRelationshipTypeCollection","qualifiedName":"@happyvertical/smrt-profiles:ProfileRelationshipTypeCollection","collection":"profilerelationshiptypes","filePath":"/home/runner/work/smrt/smrt/packages/profiles/src/collections/ProfileRelationshipTypeCollection.ts","packageName":"@happyvertical/smrt-profiles","fields":{},"methods":{"getBySlug":{"name":"getBySlug","async":true,"parameters":[{"name":"slug","type":"string","optional":false}],"returnType":"Promise<ProfileRelationshipType | null>","isStatic":false,"isPublic":true},"getOrCreateBySlug":{"name":"getOrCreateBySlug","async":true,"parameters":[{"name":"slug","type":"string","optional":false},{"name":"defaults","type":"object","optional":false,"memberTypes":["string","boolean"]}],"returnType":"Promise<ProfileRelationshipType>","isStatic":false,"isPublic":true},"getReciprocal":{"name":"getReciprocal","async":true,"parameters":[],"returnType":"Promise<ProfileRelationshipType[]>","isStatic":false,"isPublic":true},"getDirectional":{"name":"getDirectional","async":true,"parameters":[],"returnType":"Promise<ProfileRelationshipType[]>","isStatic":false,"isPublic":true}},"decoratorConfig":{"api":{"include":["list","get","create","update"]},"mcp":{"include":["list","get"]}},"extends":"SmrtCollection","extendsTypeArg":"ProfileRelationshipType","exportName":"ProfileRelationshipTypeCollection","collectionExportName":"ProfileRelationshipTypeCollectionCollection","collectionOf":"@happyvertical/smrt-profiles:ProfileRelationshipType","inheritedExposure":["api","mcp"],"schema":{"tableName":"profile_relationship_types","ddl":"CREATE TABLE IF NOT EXISTS \\"profile_relationship_types\\" (\\n \\"id\\" UUID PRIMARY KEY NOT NULL,\\n \\"slug\\" TEXT NOT NULL,\\n \\"context\\" TEXT NOT NULL DEFAULT '',\\n \\"_meta_type\\" TEXT NOT NULL,\\n \\"_meta_data\\" JSON,\\n \\"created_at\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\"updated_at\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\"name\\" TEXT DEFAULT '',\\n \\"reciprocal\\" BOOLEAN DEFAULT TRUE\\n);","columns":{"id":{"type":"UUID","primaryKey":true,"referenceKind":"id","notNull":true},"slug":{"type":"TEXT","notNull":true},"context":{"type":"TEXT","notNull":true,"default":""},"_meta_type":{"type":"TEXT","notNull":true},"_meta_data":{"type":"JSON","notNull":false},"created_at":{"type":"TIMESTAMP","notNull":true,"default":"current_timestamp"},"updated_at":{"type":"TIMESTAMP","notNull":true,"default":"current_timestamp"},"name":{"type":"TEXT","notNull":false,"default":""},"reciprocal":{"type":"BOOLEAN","notNull":false,"default":true}},"indexes":[{"name":"profile_relationship_types_slug_context_meta_type_idx","columns":["slug","context","_meta_type"],"unique":true},{"name":"profile_relationship_types_meta_type_idx","columns":["_meta_type"]},{"name":"profile_relationship_types_created_at_idx","columns":["created_at"]}],"version":"719fe0d9"},"importPath":"@happyvertical/smrt-profiles"},"@happyvertical/smrt-profiles:ProfileTypeCollection":{"name":"profiletypecollection","className":"ProfileTypeCollection","qualifiedName":"@happyvertical/smrt-profiles:ProfileTypeCollection","collection":"profiletypes","filePath":"/home/runner/work/smrt/smrt/packages/profiles/src/collections/ProfileTypeCollection.ts","packageName":"@happyvertical/smrt-profiles","fields":{},"methods":{"getBySlug":{"name":"getBySlug","async":true,"parameters":[{"name":"slug","type":"string","optional":false}],"returnType":"Promise<ProfileType | null>","isStatic":false,"isPublic":true},"getAvailableById":{"name":"getAvailableById","async":true,"parameters":[{"name":"id","type":"string","optional":false},{"name":"tenantId","type":"string","optional":false}],"returnType":"Promise<ProfileType | null>","isStatic":false,"isPublic":true},"getOrCreateBySlug":{"name":"getOrCreateBySlug","async":true,"parameters":[{"name":"slug","type":"string","optional":false},{"name":"defaults","type":"object","optional":false,"memberTypes":["string"]}],"returnType":"Promise<ProfileType>","isStatic":false,"isPublic":true},"getOrCreateGlobalBySlug":{"name":"getOrCreateGlobalBySlug","async":true,"parameters":[{"name":"slug","type":"string","optional":false},{"name":"defaults","type":"object","optional":false,"memberTypes":["string"]}],"returnType":"Promise<ProfileType>","isStatic":false,"isPublic":true}},"decoratorConfig":{"api":{"include":["list","get","create","update"]},"mcp":{"include":["list","get"]}},"extends":"SmrtCollection","extendsTypeArg":"ProfileType","exportName":"ProfileTypeCollection","collectionExportName":"ProfileTypeCollectionCollection","collectionOf":"@happyvertical/smrt-profiles:ProfileType","inheritedExposure":["api","mcp"],"schema":{"tableName":"profile_types","ddl":"CREATE TABLE IF NOT EXISTS \\"profile_types\\" (\\n \\"id\\" UUID PRIMARY KEY NOT NULL,\\n \\"slug\\" TEXT NOT NULL,\\n \\"context\\" TEXT NOT NULL DEFAULT '',\\n \\"_meta_type\\" TEXT NOT NULL,\\n \\"_meta_data\\" JSON,\\n \\"created_at\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\"updated_at\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\"tenant_id\\" UUID,\\n \\"name\\" TEXT DEFAULT '',\\n \\"description\\" TEXT\\n);","columns":{"id":{"type":"UUID","primaryKey":true,"referenceKind":"id","notNull":true},"slug":{"type":"TEXT","notNull":true},"context":{"type":"TEXT","notNull":true,"default":""},"_meta_type":{"type":"TEXT","notNull":true},"_meta_data":{"type":"JSON","notNull":false},"created_at":{"type":"TIMESTAMP","notNull":true,"default":"current_timestamp"},"updated_at":{"type":"TIMESTAMP","notNull":true,"default":"current_timestamp"},"tenant_id":{"type":"UUID","referenceKind":"tenantId","notNull":false},"name":{"type":"TEXT","notNull":false,"default":""},"description":{"type":"TEXT","notNull":false}},"indexes":[{"name":"profile_types_slug_context_meta_type_idx","columns":["tenant_id","slug","context","_meta_type"],"unique":true,"nullsNotDistinct":true},{"name":"profile_types_meta_type_idx","columns":["_meta_type"]},{"name":"profile_types_tenant_id_created_at_idx","columns":["tenant_id","created_at"]}],"version":"0fb37aeb"},"importPath":"@happyvertical/smrt-profiles"},"@happyvertical/smrt-profiles:ApiKey":{"name":"apikey","className":"ApiKey","qualifiedName":"@happyvertical/smrt-profiles:ApiKey","collection":"apikeys","filePath":"/home/runner/work/smrt/smrt/packages/profiles/src/models/ApiKey.ts","packageName":"@happyvertical/smrt-profiles","fields":{"profileId":{"type":"foreignKey","required":true,"related":"Profile","_meta":{"required":true}},"keyHash":{"type":"text","required":false,"default":"","_meta":{"indexed":true}},"keyPrefix":{"type":"text","required":false,"default":""},"name":{"type":"text","required":false,"default":""},"scopes":{"type":"json","required":false,"default":[]},"lastUsedAt":{"type":"datetime","required":false},"expiresAt":{"type":"datetime","required":false},"revokedAt":{"type":"datetime","required":false}},"methods":{"getProfile":{"name":"getProfile","async":true,"parameters":[],"returnType":"Promise<Profile | null>","isStatic":false,"isPublic":true},"isValid":{"name":"isValid","async":false,"parameters":[],"returnType":"boolean","isStatic":false,"isPublic":true},"hasScope":{"name":"hasScope","async":false,"parameters":[{"name":"scope","type":"string","optional":false}],"returnType":"boolean","isStatic":false,"isPublic":true},"revoke":{"name":"revoke","async":true,"parameters":[],"returnType":"Promise<void>","isStatic":false,"isPublic":true},"recordUsage":{"name":"recordUsage","async":true,"parameters":[],"returnType":"Promise<void>","isStatic":false,"isPublic":true},"hashKey":{"name":"hashKey","async":false,"parameters":[{"name":"key","type":"string","optional":false}],"returnType":"string","isStatic":true,"isPublic":true},"generate":{"name":"generate","async":true,"parameters":[{"name":"profile","type":"Profile","optional":false},{"name":"options","type":"object","optional":false,"typeUnresolved":true,"memberTypes":["string","string[]","Date | null"]}],"returnType":"Promise<GenerateKeyResult>","isStatic":true,"isPublic":true},"verify":{"name":"verify","async":true,"parameters":[{"name":"key","type":"string","optional":false},{"name":"options","type":"SmrtObjectOptions","optional":true}],"returnType":"Promise<ApiKey | null>","isStatic":true,"isPublic":true}},"decoratorConfig":{"tableName":"api_keys","sensitive":true,"api":{"include":["list","get"]},"mcp":{"include":["list","get"]},"cli":{"include":["list","get","create","revoke"],"skipApiCheck":true}},"extends":"SmrtObject","exportName":"ApiKey","collectionExportName":"ApiKeyCollection","displayLabelField":"name","validationRules":[{"field":"profileId","rule":"required","fieldType":"foreignKey"}],"schema":{"tableName":"api_keys","ddl":"CREATE TABLE IF NOT EXISTS \\"api_keys\\" (\\n \\"id\\" UUID PRIMARY KEY NOT NULL,\\n \\"slug\\" TEXT NOT NULL,\\n \\"context\\" TEXT NOT NULL DEFAULT '',\\n \\"created_at\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\"updated_at\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\"profile_id\\" UUID NOT NULL,\\n \\"key_hash\\" TEXT DEFAULT '',\\n \\"key_prefix\\" TEXT DEFAULT '',\\n \\"name\\" TEXT DEFAULT '',\\n \\"scopes\\" JSON DEFAULT '[]',\\n \\"last_used_at\\" TIMESTAMP,\\n \\"expires_at\\" TIMESTAMP,\\n \\"revoked_at\\" TIMESTAMP\\n);","columns":{"id":{"type":"UUID","primaryKey":true,"referenceKind":"id","notNull":true},"slug":{"type":"TEXT","notNull":true},"context":{"type":"TEXT","notNull":true,"default":""},"created_at":{"type":"TIMESTAMP","notNull":true,"default":"current_timestamp"},"updated_at":{"type":"TIMESTAMP","notNull":true,"default":"current_timestamp"},"profile_id":{"type":"UUID","referenceKind":"foreignKey","notNull":true,"unique":false,"foreignKey":{"table":"profiles","column":"id","onDelete":"NO ACTION","onUpdate":"CASCADE"}},"key_hash":{"type":"TEXT","notNull":false,"unique":false,"default":""},"key_prefix":{"type":"TEXT","notNull":false,"unique":false,"default":""},"name":{"type":"TEXT","notNull":false,"unique":false,"default":""},"scopes":{"type":"JSON","notNull":false,"unique":false,"default":[]},"last_used_at":{"type":"TIMESTAMP","notNull":false,"unique":false},"expires_at":{"type":"TIMESTAMP","notNull":false,"unique":false},"revoked_at":{"type":"TIMESTAMP","notNull":false,"unique":false}},"indexes":[{"name":"api_keys_slug_context_idx","columns":["slug","context"],"unique":true},{"name":"api_keys_key_hash_idx","columns":["key_hash"]},{"name":"api_keys_created_at_idx","columns":["created_at"]},{"name":"api_keys_profile_id_idx","columns":["profile_id"]}],"version":"9b0d49e8"},"importPath":"@happyvertical/smrt-profiles"},"@happyvertical/smrt-profiles:AuditLog":{"name":"auditlog","className":"AuditLog","qualifiedName":"@happyvertical/smrt-profiles:AuditLog","collection":"auditlogs","filePath":"/home/runner/work/smrt/smrt/packages/profiles/src/models/AuditLog.ts","packageName":"@happyvertical/smrt-profiles","fields":{"tenantId":{"type":"text","required":false,"_meta":{"sqlType":"UUID","nullable":true,"__tenancy":{"isTenantIdField":true,"autoFilter":true,"required":false,"autoPopulate":true,"nullable":true,"mode":"optional","field":"tenantId","allowSuperAdminBypass":true}}},"profileId":{"type":"foreignKey","required":true,"related":"Profile","_meta":{"required":true}},"action":{"type":"text","required":false,"default":""},"reason":{"type":"text","required":false,"default":""},"changes":{"type":"json","required":false,"default":{}},"resourceType":{"type":"text","required":false,"default":"","_meta":{"indexed":true}},"resourceId":{"type":"text","required":false,"default":"","_meta":{"indexed":true}},"occurredAt":{"type":"datetime","required":false,"default":"current_timestamp","_meta":{"indexed":true,"default":"current_timestamp"}},"source":{"type":"text","required":false,"default":"web","enum":["web","cli","ci","webhook","mcp"]},"metadata":{"type":"json","required":false,"default":{}},"onBehalfOfId":{"type":"foreignKey","required":false,"related":"Profile","_meta":{"nullable":true}}},"methods":{"getProfile":{"name":"getProfile","async":true,"parameters":[],"returnType":"Promise<Profile | null>","isStatic":false,"isPublic":true},"getOnBehalfOf":{"name":"getOnBehalfOf","async":true,"parameters":[],"returnType":"Promise<Profile | null>","isStatic":false,"isPublic":true},"getEffectiveActor":{"name":"getEffectiveActor","async":true,"parameters":[],"returnType":"Promise<Profile | null>","isStatic":false,"isPublic":true},"record":{"name":"record","async":true,"parameters":[{"name":"options","type":"any","optional":false,"typeUnresolved":true}],"returnType":"Promise<AuditLog>","isStatic":true,"isPublic":true}},"decoratorConfig":{"tableName":"audit_logs","sensitive":true,"api":false,"mcp":false,"cli":false,"tenantScoped":{"mode":"optional","allowSuperAdminBypass":true},"conflictColumns":["tenant_id","slug","context"]},"extends":"SmrtObject","exportName":"AuditLog","collectionExportName":"AuditLogCollection","validationRules":[{"field":"profileId","rule":"required","fieldType":"foreignKey"}],"schema":{"tableName":"audit_logs","ddl":"CREATE TABLE IF NOT EXISTS \\"audit_logs\\" (\\n \\"id\\" UUID PRIMARY KEY NOT NULL,\\n \\"slug\\" TEXT NOT NULL,\\n \\"context\\" TEXT NOT NULL DEFAULT '',\\n \\"created_at\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\"updated_at\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\"tenant_id\\" UUID,\\n \\"profile_id\\" UUID NOT NULL,\\n \\"action\\" TEXT DEFAULT '',\\n \\"reason\\" TEXT DEFAULT '',\\n \\"changes\\" JSON DEFAULT '{}',\\n \\"resource_type\\" TEXT DEFAULT '',\\n \\"resource_id\\" TEXT DEFAULT '',\\n \\"occurred_at\\" TIMESTAMP DEFAULT current_timestamp,\\n \\"source\\" TEXT DEFAULT 'web',\\n \\"metadata\\" JSON DEFAULT '{}',\\n \\"on_behalf_of_id\\" UUID\\n);","columns":{"id":{"type":"UUID","primaryKey":true,"referenceKind":"id","notNull":true},"slug":{"type":"TEXT","notNull":true},"context":{"type":"TEXT","notNull":true,"default":""},"created_at":{"type":"TIMESTAMP","notNull":true,"default":"current_timestamp"},"updated_at":{"type":"TIMESTAMP","notNull":true,"default":"current_timestamp"},"tenant_id":{"type":"UUID","referenceKind":"tenantId","notNull":false,"unique":false},"profile_id":{"type":"UUID","referenceKind":"foreignKey","notNull":true,"unique":false,"foreignKey":{"table":"profiles","column":"id","onDelete":"NO ACTION","onUpdate":"CASCADE"}},"action":{"type":"TEXT","notNull":false,"unique":false,"default":""},"reason":{"type":"TEXT","notNull":false,"unique":false,"default":""},"changes":{"type":"JSON","notNull":false,"unique":false,"default":{}},"resource_type":{"type":"TEXT","notNull":false,"unique":false,"default":""},"resource_id":{"type":"TEXT","notNull":false,"unique":false,"default":""},"occurred_at":{"type":"TIMESTAMP","notNull":false,"unique":false,"default":"current_timestamp"},"source":{"type":"TEXT","notNull":false,"unique":false,"default":"web"},"metadata":{"type":"JSON","notNull":false,"unique":false,"default":{}},"on_behalf_of_id":{"type":"UUID","referenceKind":"foreignKey","notNull":false,"unique":false,"foreignKey":{"table":"profiles","column":"id","onDelete":"NO ACTION","onUpdate":"CASCADE"}}},"indexes":[{"name":"audit_logs_slug_context_idx","columns":["tenant_id","slug","context"],"unique":true,"nullsNotDistinct":true},{"name":"audit_logs_resource_type_idx","columns":["resource_type"]},{"name":"audit_logs_resource_id_idx","columns":["resource_id"]},{"name":"audit_logs_occurred_at_idx","columns":["occurred_at"]},{"name":"audit_logs_tenant_id_created_at_idx","columns":["tenant_id","created_at"]},{"name":"audit_logs_profile_id_idx","columns":["profile_id"]},{"name":"audit_logs_on_behalf_of_id_idx","columns":["on_behalf_of_id"]}],"version":"769bd855"},"importPath":"@happyvertical/smrt-profiles"},"@happyvertical/smrt-profiles:MagicLinkToken":{"name":"magiclinktoken","className":"MagicLinkToken","qualifiedName":"@happyvertical/smrt-profiles:MagicLinkToken","collection":"magiclinktokens","filePath":"/home/runner/work/smrt/smrt/packages/profiles/src/models/MagicLinkToken.ts","packageName":"@happyvertical/smrt-profiles","fields":{"nostrIdentityId":{"type":"foreignKey","required":true,"related":"NostrIdentity","_meta":{"required":true}},"tokenHash":{"type":"text","required":false,"default":"","_meta":{"indexed":true}},"email":{"type":"text","required":false,"default":""},"expiresAt":{"type":"datetime","required":false},"usedAt":{"type":"datetime","required":false},"requestedFromIp":{"type":"text","required":false,"default":""},"createdAt":{"type":"datetime","required":false}},"methods":{"hashToken":{"name":"hashToken","async":false,"parameters":[{"name":"token","type":"string","optional":false}],"returnType":"string","isStatic":true,"isPublic":true},"generate":{"name":"generate","async":true,"parameters":[{"name":"nostrIdentity","type":"NostrIdentity","optional":false},{"name":"email","type":"string","optional":false},{"name":"options","type":"object","optional":true,"typeUnresolved":true,"memberTypes":["number","string"]}],"returnType":"Promise<GenerateTokenResult>","isStatic":true,"isPublic":true},"verify":{"name":"verify","async":true,"parameters":[{"name":"token","type":"string","optional":false},{"name":"options","type":"SmrtObjectOptions","optional":true}],"returnType":"Promise<MagicLinkToken | null>","isStatic":true,"isPublic":true},"isValid":{"name":"isValid","async":false,"parameters":[],"returnType":"boolean","isStatic":false,"isPublic":true},"isExpired":{"name":"isExpired","async":false,"parameters":[],"returnType":"boolean","isStatic":false,"isPublic":true},"isUsed":{"name":"isUsed","async":false,"parameters":[],"returnType":"boolean","isStatic":false,"isPublic":true},"markUsed":{"name":"markUsed","async":true,"parameters":[],"returnType":"Promise<void>","isStatic":false,"isPublic":true},"getNostrIdentity":{"name":"getNostrIdentity","async":true,"parameters":[],"returnType":"Promise<NostrIdentity | null>","isStatic":false,"isPublic":true},"getTimeRemainingSeconds":{"name":"getTimeRemainingSeconds","async":false,"parameters":[],"returnType":"number","isStatic":false,"isPublic":true}},"decoratorConfig":{"tableName":"magic_link_tokens","sensitive":true,"api":{"include":[]},"mcp":{"include":[]},"cli":{"include":["list"],"skipApiCheck":["list"]}},"extends":"SmrtObject","exportName":"MagicLinkToken","collectionExportName":"MagicLinkTokenCollection","validationRules":[{"field":"nostrIdentityId","rule":"required","fieldType":"foreignKey"}],"schema":{"tableName":"magic_link_tokens","ddl":"CREATE TABLE IF NOT EXISTS \\"magic_link_tokens\\" (\\n \\"id\\" UUID PRIMARY KEY NOT NULL,\\n \\"slug\\" TEXT NOT NULL,\\n \\"context\\" TEXT NOT NULL DEFAULT '',\\n \\"created_at\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\"updated_at\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\"nostr_identity_id\\" UUID NOT NULL,\\n \\"token_hash\\" TEXT DEFAULT '',\\n \\"email\\" TEXT DEFAULT '',\\n \\"expires_at\\" TIMESTAMP,\\n \\"used_at\\" TIMESTAMP,\\n \\"requested_from_ip\\" TEXT DEFAULT ''\\n);","columns":{"id":{"type":"UUID","primaryKey":true,"referenceKind":"id","notNull":true},"slug":{"type":"TEXT","notNull":true},"context":{"type":"TEXT","notNull":true,"default":""},"created_at":{"type":"TIMESTAMP","notNull":true,"default":"current_timestamp"},"updated_at":{"type":"TIMESTAMP","notNull":true,"default":"current_timestamp"},"nostr_identity_id":{"type":"UUID","referenceKind":"foreignKey","notNull":true,"unique":false,"foreignKey":{"table":"nostr_identities","column":"id","onDelete":"NO ACTION","onUpdate":"CASCADE"}},"token_hash":{"type":"TEXT","notNull":false,"unique":false,"default":""},"email":{"type":"TEXT","notNull":false,"unique":false,"default":""},"expires_at":{"type":"TIMESTAMP","notNull":false,"unique":false},"used_at":{"type":"TIMESTAMP","notNull":false,"unique":false},"requested_from_ip":{"type":"TEXT","notNull":false,"unique":false,"default":""}},"indexes":[{"name":"magic_link_tokens_slug_context_idx","columns":["slug","context"],"unique":true},{"name":"magic_link_tokens_token_hash_idx","columns":["token_hash"]},{"name":"magic_link_tokens_created_at_idx","columns":["created_at"]},{"name":"magic_link_tokens_nostr_identity_id_idx","columns":["nostr_identity_id"]}],"version":"d60748fe"},"importPath":"@happyvertical/smrt-profiles"},"@happyvertical/smrt-profiles:NostrIdentity":{"name":"nostridentity","className":"NostrIdentity","qualifiedName":"@happyvertical/smrt-profiles:NostrIdentity","collection":"nostridentities","filePath":"/home/runner/work/smrt/smrt/packages/profiles/src/models/NostrIdentity.ts","packageName":"@happyvertical/smrt-profiles","fields":{"profileId":{"type":"foreignKey","required":true,"related":"Profile","_meta":{"required":true}},"pubkey":{"type":"text","required":false,"default":"","_meta":{"indexed":true}},"encryptedPrivkey":{"type":"text","required":false,"default":""},"encryptionIv":{"type":"text","required":false,"default":""},"encryptionTag":{"type":"text","required":false,"default":""},"email":{"type":"text","required":false,"default":""},"nip05Username":{"type":"text","required":false,"default":""},"lastUsedAt":{"type":"datetime","required":false},"verifiedAt":{"type":"datetime","required":false}},"methods":{"getProfile":{"name":"getProfile","async":true,"parameters":[],"returnType":"Promise<Profile | null>","isStatic":false,"isPublic":true},"findByPubkey":{"name":"findByPubkey","async":true,"parameters":[{"name":"pubkey","type":"string","optional":false},{"name":"options","type":"SmrtObjectOptions","optional":true}],"returnType":"Promise<NostrIdentity | null>","isStatic":true,"isPublic":true},"findByEmail":{"name":"findByEmail","async":true,"parameters":[{"name":"email","type":"string","optional":false},{"name":"options","type":"SmrtObjectOptions","optional":true}],"returnType":"Promise<NostrIdentity | null>","isStatic":true,"isPublic":true},"findByNip05":{"name":"findByNip05","async":true,"parameters":[{"name":"username","type":"string","optional":false},{"name":"options","type":"SmrtObjectOptions","optional":true}],"returnType":"Promise<NostrIdentity | null>","isStatic":true,"isPublic":true},"decryptPrivkey":{"name":"decryptPrivkey","async":false,"parameters":[{"name":"masterSecret","type":"string","optional":false}],"returnType":"string","isStatic":false,"isPublic":true},"getKeypair":{"name":"getKeypair","async":false,"parameters":[{"name":"masterSecret","type":"string","optional":false}],"returnType":"object","isStatic":false,"isPublic":true},"recordUsage":{"name":"recordUsage","async":true,"parameters":[],"returnType":"Promise<void>","isStatic":false,"isPublic":true},"markVerified":{"name":"markVerified","async":true,"parameters":[],"returnType":"Promise<void>","isStatic":false,"isPublic":true},"isVerified":{"name":"isVerified","async":false,"parameters":[],"returnType":"boolean","isStatic":false,"isPublic":true},"getNip05Identifier":{"name":"getNip05Identifier","async":false,"parameters":[{"name":"domain","type":"string","optional":false}],"returnType":"string","isStatic":false,"isPublic":true}},"decoratorConfig":{"tableName":"nostr_identities","sensitive":true,"api":{"include":["list","get"]},"mcp":{"include":["list","get"]},"cli":{"include":["list","get"]}},"extends":"SmrtObject","exportName":"NostrIdentity","collectionExportName":"NostrIdentityCollection","validationRules":[{"field":"profileId","rule":"required","fieldType":"foreignKey"}],"schema":{"tableName":"nostr_identities","ddl":"CREATE TABLE IF NOT EXISTS \\"nostr_identities\\" (\\n \\"id\\" UUID PRIMARY KEY NOT NULL,\\n \\"slug\\" TEXT NOT NULL,\\n \\"context\\" TEXT NOT NULL DEFAULT '',\\n \\"created_at\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\"updated_at\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\"profile_id\\" UUID NOT NULL,\\n \\"pubkey\\" TEXT DEFAULT '',\\n \\"encrypted_privkey\\" TEXT DEFAULT '',\\n \\"encryption_iv\\" TEXT DEFAULT '',\\n \\"encryption_tag\\" TEXT DEFAULT '',\\n \\"email\\" TEXT DEFAULT '',\\n \\"nip05_username\\" TEXT DEFAULT '',\\n \\"last_used_at\\" TIMESTAMP,\\n \\"verified_at\\" TIMESTAMP\\n);","columns":{"id":{"type":"UUID","primaryKey":true,"referenceKind":"id","notNull":true},"slug":{"type":"TEXT","notNull":true},"context":{"type":"TEXT","notNull":true,"default":""},"created_at":{"type":"TIMESTAMP","notNull":true,"default":"current_timestamp"},"updated_at":{"type":"TIMESTAMP","notNull":true,"default":"current_timestamp"},"profile_id":{"type":"UUID","referenceKind":"foreignKey","notNull":true,"unique":false,"foreignKey":{"table":"profiles","column":"id","onDelete":"NO ACTION","onUpdate":"CASCADE"}},"pubkey":{"type":"TEXT","notNull":false,"unique":false,"default":""},"encrypted_privkey":{"type":"TEXT","notNull":false,"unique":false,"default":""},"encryption_iv":{"type":"TEXT","notNull":false,"unique":false,"default":""},"encryption_tag":{"type":"TEXT","notNull":false,"unique":false,"default":""},"email":{"type":"TEXT","notNull":false,"unique":false,"default":""},"nip05_username":{"type":"TEXT","notNull":false,"unique":false,"default":""},"last_used_at":{"type":"TIMESTAMP","notNull":false,"unique":false},"verified_at":{"type":"TIMESTAMP","notNull":false,"unique":false}},"indexes":[{"name":"nostr_identities_slug_context_idx","columns":["slug","context"],"unique":true},{"name":"nostr_identities_pubkey_idx","columns":["pubkey"]},{"name":"nostr_identities_created_at_idx","columns":["created_at"]},{"name":"nostr_identities_profile_id_idx","columns":["profile_id"]}],"version":"92eda375"},"importPath":"@happyvertical/smrt-profiles"},"@happyvertical/smrt-profiles:OidcIdentity":{"name":"oidcidentity","className":"OidcIdentity","qualifiedName":"@happyvertical/smrt-profiles:OidcIdentity","collection":"oidcidentities","filePath":"/home/runner/work/smrt/smrt/packages/profiles/src/models/OidcIdentity.ts","packageName":"@happyvertical/smrt-profiles","fields":{"profileId":{"type":"foreignKey","required":true,"related":"Profile","_meta":{"required":true}},"provider":{"type":"text","required":false,"_meta":{}},"issuer":{"type":"text","required":false,"_meta":{"indexed":true}},"subject":{"type":"text","required":false,"_meta":{"indexed":true}},"identityKey":{"type":"text","required":false,"_meta":{"nullable":true,"unique":true,"readonly":true},"readonly":true},"email":{"type":"text","required":false,"_meta":{}},"lastUsedAt":{"type":"datetime","required":false,"_meta":{"nullable":true}}},"methods":{"getProfile":{"name":"getProfile","async":true,"parameters":[],"returnType":"Promise<Profile | null>","isStatic":false,"isPublic":true},"findBySubject":{"name":"findBySubject","async":true,"parameters":[{"name":"issuer","type":"string","optional":false},{"name":"subject","type":"string","optional":false},{"name":"options","type":"SmrtObjectOptions","optional":true}],"returnType":"Promise<OidcIdentity | null>","isStatic":true,"isPublic":true},"buildIdentityKey":{"name":"buildIdentityKey","async":false,"parameters":[{"name":"issuer","type":"string","optional":false},{"name":"subject","type":"string","optional":false}],"returnType":"string","isStatic":true,"isPublic":true},"save":{"name":"save","async":true,"parameters":[{"name":"options","type":"SmrtSaveOptions","optional":true}],"returnType":"Promise<this>","isStatic":false,"isPublic":true},"findOrCreate":{"name":"findOrCreate","async":true,"parameters":[{"name":"profile","type":"Profile","optional":false},{"name":"oidcData","type":"object","optional":false,"memberTypes":["string"]},{"name":"options","type":"SmrtObjectOptions","optional":true}],"returnType":"Promise<OidcIdentity>","isStatic":true,"isPublic":true},"recordUsage":{"name":"recordUsage","async":true,"parameters":[],"returnType":"Promise<void>","isStatic":false,"isPublic":true}},"decoratorConfig":{"tableName":"oidc_identities","api":{"include":["list","get"]},"mcp":{"include":["list","get"]},"cli":{"include":["list","get"]}},"extends":"SmrtObject","exportName":"OidcIdentity","collectionExportName":"OidcIdentityCollection","validationRules":[{"field":"profileId","rule":"required","fieldType":"foreignKey"}],"schema":{"tableName":"oidc_identities","ddl":"CREATE TABLE IF NOT EXISTS \\"oidc_identities\\" (\\n \\"id\\" UUID PRIMARY KEY NOT NULL,\\n \\"slug\\" TEXT NOT NULL,\\n \\"context\\" TEXT NOT NULL DEFAULT '',\\n \\"created_at\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\"updated_at\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\"profile_id\\" UUID NOT NULL,\\n \\"provider\\" TEXT,\\n \\"issuer\\" TEXT,\\n \\"subject\\" TEXT,\\n \\"identity_key\\" TEXT UNIQUE,\\n \\"email\\" TEXT,\\n \\"last_used_at\\" TIMESTAMP\\n);","columns":{"id":{"type":"UUID","primaryKey":true,"referenceKind":"id","notNull":true},"slug":{"type":"TEXT","notNull":true},"context":{"type":"TEXT","notNull":true,"default":""},"created_at":{"type":"TIMESTAMP","notNull":true,"default":"current_timestamp"},"updated_at":{"type":"TIMESTAMP","notNull":true,"default":"current_timestamp"},"profile_id":{"type":"UUID","referenceKind":"foreignKey","notNull":true,"unique":false,"foreignKey":{"table":"profiles","column":"id","onDelete":"NO ACTION","onUpdate":"CASCADE"}},"provider":{"type":"TEXT","notNull":false,"unique":false},"issuer":{"type":"TEXT","notNull":false,"unique":false},"subject":{"type":"TEXT","notNull":false,"unique":false},"identity_key":{"type":"TEXT","notNull":false,"unique":true},"email":{"type":"TEXT","notNull":false,"unique":false},"last_used_at":{"type":"TIMESTAMP","notNull":false,"unique":false}},"indexes":[{"name":"oidc_identities_slug_context_idx","columns":["slug","context"],"unique":true},{"name":"oidc_identities_issuer_idx","columns":["issuer"]},{"name":"oidc_identities_subject_idx","columns":["subject"]},{"name":"oidc_identities_created_at_idx","columns":["created_at"]},{"name":"oidc_identities_profile_id_idx","columns":["profile_id"]}],"version":"925387ea"},"importPath":"@happyvertical/smrt-profiles"},"@happyvertical/smrt-profiles:OidcProfileEmailReservation":{"name":"oidcprofileemailreservation","className":"OidcProfileEmailReservation","qualifiedName":"@happyvertical/smrt-profiles:OidcProfileEmailReservation","collection":"oidcprofileemailreservations","description":"Private database arbiter for canonical OIDC email provisioning races.","filePath":"/home/runner/work/smrt/smrt/packages/profiles/src/models/OidcProfileEmailReservation.ts","packageName":"@happyvertical/smrt-profiles","fields":{"profileId":{"type":"foreignKey","required":true,"related":"Profile","_meta":{"required":true,"unique":true}},"emailKey":{"type":"text","required":true,"_meta":{"required":true,"unique":true,"readonly":true},"readonly":true}},"methods":{},"decoratorConfig":{"tableName":"oidc_profile_email_reservations","api":false,"mcp":false,"cli":false},"extends":"SmrtObject","exportName":"OidcProfileEmailReservation","collectionExportName":"OidcProfileEmailReservationCollection","validationRules":[{"field":"profileId","rule":"required","fieldType":"foreignKey"},{"field":"emailKey","rule":"required","fieldType":"text"}],"schema":{"tableName":"oidc_profile_email_reservations","ddl":"CREATE TABLE IF NOT EXISTS \\"oidc_profile_email_reservations\\" (\\n \\"id\\" UUID PRIMARY KEY NOT NULL,\\n \\"slug\\" TEXT NOT NULL,\\n \\"context\\" TEXT NOT NULL DEFAULT '',\\n \\"created_at\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\"updated_at\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\"profile_id\\" UUID NOT NULL UNIQUE,\\n \\"email_key\\" TEXT NOT NULL UNIQUE\\n);","columns":{"id":{"type":"UUID","primaryKey":true,"referenceKind":"id","notNull":true},"slug":{"type":"TEXT","notNull":true},"context":{"type":"TEXT","notNull":true,"default":""},"created_at":{"type":"TIMESTAMP","notNull":true,"default":"current_timestamp"},"updated_at":{"type":"TIMESTAMP","notNull":true,"default":"current_timestamp"},"profile_id":{"type":"UUID","referenceKind":"foreignKey","notNull":true,"unique":true,"foreignKey":{"table":"profiles","column":"id","onDelete":"NO ACTION","onUpdate":"CASCADE"}},"email_key":{"type":"TEXT","notNull":true,"unique":true}},"indexes":[{"name":"oidc_profile_email_reservations_slug_context_idx","columns":["slug","context"],"unique":true},{"name":"oidc_profile_email_reservations_created_at_idx","columns":["created_at"]}],"version":"01586e67"},"importPath":"@happyvertical/smrt-profiles"},"@happyvertical/smrt-profiles:Profile":{"name":"profile","className":"Profile","qualifiedName":"@happyvertical/smrt-profiles:Profile","collection":"profiles","filePath":"/home/runner/work/smrt/smrt/packages/profiles/src/models/Profile.ts","packageName":"@happyvertical/smrt-profiles","fields":{"created_at":{"type":"datetime","required":false},"updated_at":{"type":"datetime","required":false},"tenantId":{"type":"text","required":false,"_meta":{"sqlType":"UUID","nullable":true,"__tenancy":{"isTenantIdField":true,"autoFilter":true,"required":false,"autoPopulate":true,"nullable":true,"mode":"optional","field":"tenantId","allowSuperAdminBypass":false}}},"typeId":{"type":"foreignKey","required":true,"related":"ProfileType","_meta":{"required":true}},"email":{"type":"text","required":false},"emailKey":{"type":"text","required":false,"_meta":{"nullable":true,"indexed":true,"readonly":true},"readonly":true},"name":{"type":"text","required":true,"default":"","_meta":{"required":true}},"description":{"type":"text","required":false},"isPublic":{"type":"boolean","required":false,"default":false,"_meta":{"default":false}},"metadata":{"type":"oneToMany","required":false,"related":"ProfileMetadata"},"relationshipsFrom":{"type":"oneToMany","required":false,"related":"ProfileRelationship","_meta":{"foreignKey":"fromProfileId"}},"relationshipsTo":{"type":"oneToMany","required":false,"related":"ProfileRelationship","_meta":{"foreignKey":"toProfileId"}}},"methods":{"save":{"name":"save","async":true,"parameters":[{"name":"options","type":"SmrtSaveOptions","optional":true}],"returnType":"Promise<this>","isStatic":false,"isPublic":true},"getTypeSlug":{"name":"getTypeSlug","async":true,"parameters":[],"returnType":"Promise<string>","isStatic":false,"isPublic":true},"setTypeBySlug":{"name":"setTypeBySlug","async":true,"parameters":[{"name":"slug","type":"string","optional":false}],"returnType":"Promise<void>","isStatic":false,"isPublic":true},"addMetadata":{"name":"addMetadata","async":true,"parameters":[{"name":"metafieldSlug","type":"string","optional":false},{"name":"value","type":"unknown","optional":false}],"returnType":"Promise<void>","isStatic":false,"isPublic":true},"getMetadata":{"name":"getMetadata","async":true,"parameters":[],"returnType":"Promise<Record<string, string>>","isStatic":false,"isPublic":true},"updateMetadata":{"name":"updateMetadata","async":true,"parameters":[{"name":"metadata","type":"Record<string, unknown>","optional":false}],"returnType":"Promise<void>","isStatic":false,"isPublic":true},"removeMetadata":{"name":"removeMetadata","async":true,"parameters":[{"name":"metafieldSlug","type":"string","optional":false}],"returnType":"Promise<void>","isStatic":false,"isPublic":true},"getLinks":{"name":"getLinks","async":true,"parameters":[],"returnType":"Promise<ProfileLink[]>","isStatic":false,"isPublic":true},"setLinks":{"name":"setLinks","async":true,"parameters":[{"name":"links","type":"any","optional":false,"typeUnresolved":true}],"returnType":"Promise<ProfileLink[]>","isStatic":false,"isPublic":true},"getAssets":{"name":"getAssets","async":true,"parameters":[{"name":"relationship","type":"string","optional":true}],"returnType":"Promise<Asset[]>","isStatic":false,"isPublic":true},"addAsset":{"name":"addAsset","async":true,"parameters":[{"name":"asset","type":"Asset","optional":false},{"name":"relationship","type":"any","optional":true,"default":"attachment"},{"name":"sortOrder","type":"any","optional":true}],"returnType":"Promise<void>","isStatic":false,"isPublic":true},"removeAsset":{"name":"removeAsset","async":true,"parameters":[{"name":"assetId","type":"string","optional":false},{"name":"relationship","type":"string","optional":true}],"returnType":"Promise<void>","isStatic":false,"isPublic":true},"addRelationship":{"name":"addRelationship","async":true,"parameters":[{"name":"toProfile","type":"Profile","optional":false},{"name":"relationshipSlug","type":"string","optional":false},{"name":"contextProfile","type":"Profile","optional":true}],"returnType":"Promise<void>","isStatic":false,"isPublic":true},"getRelationships":{"name":"getRelationships","async":true,"parameters":[{"name":"options","type":"object","optional":true,"memberTypes":["string","'from' | 'to' | 'all'"]}],"returnType":"Promise<ProfileRelationship[]>","isStatic":false,"isPublic":true},"getRelatedProfiles":{"name":"getRelatedProfiles","async":true,"parameters":[{"name":"relationshipSlug","type":"string","optional":true}],"returnType":"Promise<Profile[]>","isStatic":false,"isPublic":true},"removeRelationship":{"name":"removeRelationship","async":true,"parameters":[{"name":"toProfile","type":"Profile","optional":false},{"name":"relationshipSlug","type":"string","optional":false}],"returnType":"Promise<void>","isStatic":false,"isPublic":true},"generateBio":{"name":"generateBio","async":true,"parameters":[],"returnType":"Promise<string>","isStatic":false,"isPublic":true},"matches":{"name":"matches","async":true,"parameters":[{"name":"criteria","type":"string","optional":false}],"returnType":"Promise<boolean>","isStatic":false,"isPublic":true},"findByMetadata":{"name":"findByMetadata","async":true,"parameters":[{"name":"_metafieldSlug","type":"string","optional":false},{"name":"_value","type":"unknown","optional":false}],"returnType":"Promise<Profile[]>","isStatic":true,"isPublic":true},"findByType":{"name":"findByType","async":true,"parameters":[{"name":"_typeSlug","type":"string","optional":false}],"returnType":"Promise<Profile[]>","isStatic":true,"isPublic":true},"findRelated":{"name":"findRelated","async":true,"parameters":[{"name":"_profileId","type":"string","optional":false},{"name":"_relationshipSlug","type":"string","optional":true}],"returnType":"Promise<Profile[]>","isStatic":true,"isPublic":true},"searchByEmail":{"name":"searchByEmail","async":true,"parameters":[{"name":"_email","type":"string","optional":false}],"returnType":"Promise<Profile | null>","isStatic":true,"isPublic":true},"getApiKeys":{"name":"getApiKeys","async":true,"parameters":[],"returnType":"Promise<ApiKey[]>","isStatic":false,"isPublic":true},"getActiveApiKeys":{"name":"getActiveApiKeys","async":true,"parameters":[],"returnType":"Promise<ApiKey[]>","isStatic":false,"isPublic":true},"generateApiKey":{"name":"generateApiKey","async":true,"parameters":[{"name":"options","type":"object","optional":false,"memberTypes":["string","string[]","Date | null"]}],"returnType":"Promise<GenerateKeyResult>","isStatic":false,"isPublic":true},"getOidcIdentities":{"name":"getOidcIdentities","async":true,"parameters":[],"returnType":"Promise<OidcIdentity[]>","isStatic":false,"isPublic":true},"linkOidcIdentity":{"name":"linkOidcIdentity","async":true,"parameters":[{"name":"oidcData","type":"object","optional":false,"memberTypes":["string"]}],"returnType":"Promise<OidcIdentity>","isStatic":false,"isPublic":true},"getNostrIdentities":{"name":"getNostrIdentities","async":true,"parameters":[],"returnType":"Promise<NostrIdentity[]>","isStatic":false,"isPublic":true},"linkNostrIdentity":{"name":"linkNostrIdentity","async":true,"parameters":[{"name":"nostrData","type":"object","optional":false,"memberTypes":["string"]}],"returnType":"Promise<NostrIdentity>","isStatic":false,"isPublic":true},"getAuditLogs":{"name":"getAuditLogs","async":true,"parameters":[{"name":"limit","type":"number","optional":true}],"returnType":"Promise<AuditLog[]>","isStatic":false,"isPublic":true},"recordAction":{"name":"recordAction","async":true,"parameters":[{"name":"options","type":"object","optional":false,"typeUnresolved":true,"memberTypes":["string","'web' | 'cli' | 'ci' | 'webhook' | 'mcp'","Record<string, unknown>","Profile | null"]}],"returnType":"Promise<AuditLog>","isStatic":false,"isPublic":true}},"decoratorConfig":{"tableStrategy":"sti","api":{"include":["list","get","create","update","delete"]},"mcp":{"include":["list","get","create","update"]},"cli":{"skipApiCheck":true},"tenantScoped":{"mode":"optional"},"conflictColumns":["tenant_id","slug","context","_meta_type"]},"extends":"SmrtObject","exportName":"Profile","collectionExportName":"ProfileCollection","displayLabelField":"name","validationRules":[{"field":"typeId","rule":"required","fieldType":"foreignKey"},{"field":"name","rule":"required","fieldType":"text"}],"schema":{"tableName":"profiles","ddl":"CREATE TABLE IF NOT EXISTS \\"profiles\\" (\\n \\"id\\" UUID PRIMARY KEY NOT NULL,\\n \\"slug\\" TEXT NOT NULL,\\n \\"context\\" TEXT NOT NULL DEFAULT '',\\n \\"_meta_type\\" TEXT NOT NULL,\\n \\"_meta_data\\" JSON,\\n \\"created_at\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\"updated_at\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\"tenant_id\\" UUID,\\n \\"type_id\\" UUID,\\n \\"email\\" TEXT,\\n \\"email_key\\" TEXT,\\n \\"name\\" TEXT DEFAULT '',\\n \\"description\\" TEXT,\\n \\"is_public\\" BOOLEAN DEFAULT FALSE\\n);","columns":{"id":{"type":"UUID","primaryKey":true,"referenceKind":"id","notNull":true},"slug":{"type":"TEXT","notNull":true},"context":{"type":"TEXT","notNull":true,"default":""},"_meta_type":{"type":"TEXT","notNull":true},"_meta_data":{"type":"JSON","notNull":false},"created_at":{"type":"TIMESTAMP","notNull":true,"default":"current_timestamp"},"updated_at":{"type":"TIMESTAMP","notNull":true,"default":"current_timestamp"},"tenant_id":{"type":"UUID","referenceKind":"tenantId","notNull":false},"type_id":{"type":"UUID","referenceKind":"foreignKey","notNull":false,"foreignKey":{"table":"profile_types","column":"id","onDelete":"NO ACTION","onUpdate":"CASCADE"}},"email":{"type":"TEXT","notNull":false},"email_key":{"type":"TEXT","notNull":false},"name":{"type":"TEXT","notNull":false,"default":""},"description":{"type":"TEXT","notNull":false},"is_public":{"type":"BOOLEAN","notNull":false,"default":false}},"indexes":[{"name":"profiles_slug_context_meta_type_idx","columns":["tenant_id","slug","context","_meta_type"],"unique":true,"nullsNotDistinct":true},{"name":"profiles_meta_type_idx","columns":["_meta_type"]},{"name":"profiles_email_key_idx","columns":["email_key"]},{"name":"profiles_tenant_id_created_at_idx","columns":["tenant_id","created_at"]},{"name":"profiles_type_id_idx","columns":["type_id"]}],"version":"f4a7b632"},"importPath":"@happyvertical/smrt-profiles"},"@happyvertical/smrt-profiles:ProfileAsset":{"name":"profileasset","className":"ProfileAsset","qualifiedName":"@happyvertical/smrt-profiles:ProfileAsset","collection":"profileassets","filePath":"/home/runner/work/smrt/smrt/packages/profiles/src/models/ProfileAsset.ts","packageName":"@happyvertical/smrt-profiles","fields":{"tenantId":{"type":"text","required":false,"_meta":{"sqlType":"UUID","nullable":true,"__tenancy":{"isTenantIdField":true,"autoFilter":true,"required":false,"autoPopulate":true,"nullable":true,"mode":"optional","field":"tenantId","allowSuperAdminBypass":false}}},"profileId":{"type":"foreignKey","required":true,"related":"Profile","_meta":{"required":true,"onDelete":"CASCADE"}},"assetId":{"type":"crossPackageRef","required":true,"related":"@happyvertical/smrt-assets:Asset","_meta":{"onDelete":"CASCADE"}},"relationship":{"type":"text","required":true,"_meta":{"required":true}},"sortOrder":{"type":"integer","required":true,"default":0}},"methods":{},"decoratorConfig":{"tableName":"profile_assets","conflictColumns":["profile_id","asset_id","relationship"],"api":false,"mcp":false,"cli":false,"tenantScoped":{"mode":"optional"}},"extends":"SmrtObject","exportName":"ProfileAsset","collectionExportName":"ProfileAssetCollection","validationRules":[{"field":"profileId","rule":"required","fieldType":"foreignKey"},{"field":"assetId","rule":"required","fieldType":"crossPackageRef"},{"field":"relationship","rule":"required","fieldType":"text"},{"field":"sortOrder","rule":"required","fieldType":"integer"}],"schema":{"tableName":"profile_assets","ddl":"CREATE TABLE IF NOT EXISTS \\"profile_assets\\" (\\n \\"id\\" UUID PRIMARY KEY NOT NULL,\\n \\"slug\\" TEXT NOT NULL,\\n \\"context\\" TEXT NOT NULL DEFAULT '',\\n \\"created_at\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\"updated_at\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\"tenant_id\\" UUID,\\n \\"profile_id\\" UUID NOT NULL,\\n \\"asset_id\\" UUID NOT NULL,\\n \\"relationship\\" TEXT NOT NULL,\\n \\"sort_order\\" INTEGER NOT NULL DEFAULT 0\\n);","columns":{"id":{"type":"UUID","primaryKey":true,"referenceKind":"id","notNull":true},"slug":{"type":"TEXT","notNull":true},"context":{"type":"TEXT","notNull":true,"default":""},"created_at":{"type":"TIMESTAMP","notNull":true,"default":"current_timestamp"},"updated_at":{"type":"TIMESTAMP","notNull":true,"default":"current_timestamp"},"tenant_id":{"type":"UUID","referenceKind":"tenantId","notNull":false,"unique":false},"profile_id":{"type":"UUID","referenceKind":"foreignKey","notNull":true,"unique":false,"foreignKey":{"table":"profiles","column":"id","onDelete":"CASCADE","onUpdate":"CASCADE"}},"asset_id":{"type":"UUID","referenceKind":"crossPackageRef","notNull":true,"unique":false},"relationship":{"type":"TEXT","notNull":true,"unique":false},"sort_order":{"type":"INTEGER","notNull":true,"unique":false,"default":0}},"indexes":[{"name":"profile_assets_profile_id_asset_id_idx","columns":["profile_id","asset_id","relationship"],"unique":true},{"name":"profile_assets_slug_context_idx","columns":["slug","context"]},{"name":"profile_assets_tenant_id_created_at_idx","columns":["tenant_id","created_at"]},{"name":"profile_assets_asset_id_idx","columns":["asset_id"]}],"version":"d0d7c2a2"},"importPath":"@happyvertical/smrt-profiles"},"@happyvertical/smrt-profiles:ProfileLink":{"name":"profilelink","className":"ProfileLink","qualifiedName":"@happyvertical/smrt-profiles:ProfileLink","collection":"profilelinks","filePath":"/home/runner/work/smrt/smrt/packages/profiles/src/models/ProfileLink.ts","packageName":"@happyvertical/smrt-profiles","fields":{"tenantId":{"type":"text","required":false,"_meta":{"sqlType":"UUID","nullable":true,"__tenancy":{"isTenantIdField":true,"autoFilter":true,"required":false,"autoPopulate":true,"nullable":true,"mode":"optional","field":"tenantId","allowSuperAdminBypass":false}}},"profileId":{"type":"foreignKey","required":true,"related":"Profile","_meta":{"required":true,"onDelete":"CASCADE"}},"platform":{"type":"text","required":true,"default":"website","maxLength":32,"_meta":{"required":true,"maxLength":32}},"url":{"type":"text","required":true,"maxLength":2048,"_meta":{"required":true,"maxLength":2048}},"label":{"type":"text","required":false,"maxLength":200,"_meta":{"nullable":true,"maxLength":200}},"sortOrder":{"type":"integer","required":true,"default":0}},"methods":{"getSlug":{"name":"getSlug","async":true,"parameters":[],"returnType":"Promise<string | null | undefined>","isStatic":false,"isPublic":true},"save":{"name":"save","async":true,"parameters":[{"name":"...args","type":"any","optional":true,"typeUnresolved":true}],"returnType":"Promise<this>","isStatic":false,"isPublic":true}},"decoratorConfig":{"tableName":"profile_links","api":false,"mcp":false,"cli":false,"tenantScoped":{"mode":"optional"},"conflictColumns":["tenant_id","slug","context"]},"extends":"SmrtObject","exportName":"ProfileLink","collectionExportName":"ProfileLinkCollection","displayLabelField":"label","validationRules":[{"field":"profileId","rule":"required","fieldType":"foreignKey"},{"field":"platform","rule":"required","fieldType":"text"},{"field":"platform","rule":"maxLength","value":32,"fieldType":"text"},{"field":"url","rule":"required","fieldType":"text"},{"field":"url","rule":"maxLength","value":2048,"fieldType":"text"},{"field":"label","rule":"maxLength","value":200,"fieldType":"text"},{"field":"sortOrder","rule":"required","fieldType":"integer"}],"schema":{"tableName":"profile_links","ddl":"CREATE TABLE IF NOT EXISTS \\"profile_links\\" (\\n \\"id\\" UUID PRIMARY KEY NOT NULL,\\n \\"slug\\" TEXT NOT NULL,\\n \\"context\\" TEXT NOT NULL DEFAULT '',\\n \\"created_at\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\"updated_at\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\"tenant_id\\" UUID,\\n \\"profile_id\\" UUID NOT NULL,\\n \\"platform\\" TEXT NOT NULL DEFAULT 'website',\\n \\"url\\" TEXT NOT NULL,\\n \\"label\\" TEXT,\\n \\"sort_order\\" INTEGER NOT NULL DEFAULT 0\\n);","columns":{"id":{"type":"UUID","primaryKey":true,"referenceKind":"id","notNull":true},"slug":{"type":"TEXT","notNull":true},"context":{"type":"TEXT","notNull":true,"default":""},"created_at":{"type":"TIMESTAMP","notNull":true,"default":"current_timestamp"},"updated_at":{"type":"TIMESTAMP","notNull":true,"default":"current_timestamp"},"tenant_id":{"type":"UUID","referenceKind":"tenantId","notNull":false,"unique":false},"profile_id":{"type":"UUID","referenceKind":"foreignKey","notNull":true,"unique":false,"foreignKey":{"table":"profiles","column":"id","onDelete":"CASCADE","onUpdate":"CASCADE"}},"platform":{"type":"TEXT","notNull":true,"unique":false,"default":"website"},"url":{"type":"TEXT","notNull":true,"unique":false},"label":{"type":"TEXT","notNull":false,"unique":false},"sort_order":{"type":"INTEGER","notNull":true,"unique":false,"default":0}},"indexes":[{"name":"profile_links_slug_context_idx","columns":["tenant_id","slug","context"],"unique":true,"nullsNotDistinct":true},{"name":"profile_links_tenant_id_created_at_idx","columns":["tenant_id","created_at"]},{"name":"profile_links_profile_id_idx","columns":["profile_id"]}],"version":"847fd648"},"importPath":"@happyvertical/smrt-profiles"},"@happyvertical/smrt-profiles:ProfileMetadata":{"name":"profilemetadata","className":"ProfileMetadata","qualifiedName":"@happyvertical/smrt-profiles:ProfileMetadata","collection":"profilemetadatas","filePath":"/home/runner/work/smrt/smrt/packages/profiles/src/models/ProfileMetadata.ts","packageName":"@happyvertical/smrt-profiles","fields":{"created_at":{"type":"datetime","required":false},"updated_at":{"type":"datetime","required":false},"tenantId":{"type":"text","required":false,"_meta":{"sqlType":"UUID","nullable":true,"__tenancy":{"isTenantIdField":true,"autoFilter":true,"required":false,"autoPopulate":true,"nullable":true,"mode":"optional","field":"tenantId","allowSuperAdminBypass":false}}},"profileId":{"type":"foreignKey","required":true,"related":"Profile","_meta":{"required":true}},"metafieldId":{"type":"foreignKey","required":true,"related":"ProfileMetafield","_meta":{"required":true}},"value":{"type":"text","required":true,"default":"","_meta":{"required":true}}},"methods":{"validate":{"name":"validate","async":true,"parameters":[],"returnType":"Promise<boolean>","isStatic":false,"isPublic":true},"getMetafieldSlug":{"name":"getMetafieldSlug","async":true,"parameters":[],"returnType":"Promise<string>","isStatic":false,"isPublic":true}},"decoratorConfig":{"tableStrategy":"sti","api":{"include":["list","get","create","update","delete"]},"mcp":{"include":["list","get"]},"cli":{"skipApiCheck":true},"tenantScoped":{"mode":"optional"},"conflictColumns":["tenant_id","slug","context","_meta_type"]},"extends":"SmrtObject","exportName":"ProfileMetadata","collectionExportName":"ProfileMetadataCollection","validationRules":[{"field":"profileId","rule":"required","fieldType":"foreignKey"},{"field":"metafieldId","rule":"required","fieldType":"foreignKey"},{"field":"value","rule":"required","fieldType":"text"}],"schema":{"tableName":"profile_metadata","ddl":"CREATE TABLE IF NOT EXISTS \\"profile_metadata\\" (\\n \\"id\\" UUID PRIMARY KEY NOT NULL,\\n \\"slug\\" TEXT NOT NULL,\\n \\"context\\" TEXT NOT NULL DEFAULT '',\\n \\"_meta_type\\" TEXT NOT NULL,\\n \\"_meta_data\\" JSON,\\n \\"created_at\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\"updated_at\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\"tenant_id\\" UUID,\\n \\"profile_id\\" UUID,\\n \\"metafield_id\\" UUID,\\n \\"value\\" TEXT DEFAULT ''\\n);","columns":{"id":{"type":"UUID","primaryKey":true,"referenceKind":"id","notNull":true},"slug":{"type":"TEXT","notNull":true},"context":{"type":"TEXT","notNull":true,"default":""},"_meta_type":{"type":"TEXT","notNull":true},"_meta_data":{"type":"JSON","notNull":false},"created_at":{"type":"TIMESTAMP","notNull":true,"default":"current_timestamp"},"updated_at":{"type":"TIMESTAMP","notNull":true,"default":"current_timestamp"},"tenant_id":{"type":"UUID","referenceKind":"tenantId","notNull":false},"profile_id":{"type":"UUID","referenceKind":"foreignKey","notNull":false,"foreignKey":{"table":"profiles","column":"id","onDelete":"NO ACTION","onUpdate":"CASCADE"}},"metafield_id":{"type":"UUID","referenceKind":"foreignKey","notNull":false,"foreignKey":{"table":"profile_metafields","column":"id","onDelete":"NO ACTION","onUpdate":"CASCADE"}},"value":{"type":"TEXT","notNull":false,"default":""}},"indexes":[{"name":"profile_metadata_slug_context_meta_type_idx","columns":["tenant_id","slug","context","_meta_type"],"unique":true,"nullsNotDistinct":true},{"name":"profile_metadata_meta_type_idx","columns":["_meta_type"]},{"name":"profile_metadata_tenant_id_created_at_idx","columns":["tenant_id","created_at"]},{"name":"profile_metadata_profile_id_idx","columns":["profile_id"]},{"name":"profile_metadata_metafield_id_idx","columns":["metafield_id"]}],"version":"d3ab1b70"},"importPath":"@happyvertical/smrt-profiles"},"@happyvertical/smrt-profiles:ProfileMetafield":{"name":"profilemetafield","className":"ProfileMetafield","qualifiedName":"@happyvertical/smrt-profiles:ProfileMetafield","collection":"profilemetafields","filePath":"/home/runner/work/smrt/smrt/packages/profiles/src/models/ProfileMetafield.ts","packageName":"@happyvertical/smrt-profiles","fields":{"created_at":{"type":"datetime","required":false},"updated_at":{"type":"datetime","required":false},"tenantId":{"type":"text","required":false,"_meta":{"sqlType":"UUID","nullable":true,"__tenancy":{"isTenantIdField":true,"autoFilter":true,"required":false,"autoPopulate":true,"nullable":true,"mode":"optional","field":"tenantId","allowSuperAdminBypass":false}}},"name":{"type":"text","required":true,"default":"","_meta":{"required":true}},"description":{"type":"text","required":false},"validation":{"type":"json","required":false}},"methods":{"getBySlug":{"name":"getBySlug","async":true,"parameters":[{"name":"_slug","type":"string","optional":false}],"returnType":"Promise<ProfileMetafield | null>","isStatic":true,"isPublic":true},"registerValidator":{"name":"registerValidator","async":false,"parameters":[{"name":"name","type":"string","optional":false},{"name":"validator","type":"ValidatorFunction","optional":false}],"returnType":"void","isStatic":true,"isPublic":true},"getValidator":{"name":"getValidator","async":false,"parameters":[{"name":"name","type":"string","optional":false}],"returnType":"ValidatorFunction | undefined","isStatic":true,"isPublic":true},"validateValue":{"name":"validateValue","async":true,"parameters":[{"name":"value","type":"unknown","optional":false}],"returnType":"Promise<boolean>","isStatic":false,"isPublic":true}},"decoratorConfig":{"tableStrategy":"sti","api":{"include":["list","get","create","update"]},"mcp":{"include":["list","get"]},"cli":{"skipApiCheck":true},"tenantScoped":{"mode":"optional"},"conflictColumns":["tenant_id","slug","context","_meta_type"]},"extends":"SmrtObject","exportName":"ProfileMetafield","collectionExportName":"ProfileMetafieldCollection","displayLabelField":"name","validationRules":[{"field":"name","rule":"required","fieldType":"text"}],"schema":{"tableName":"profile_metafields","ddl":"CREATE TABLE IF NOT EXISTS \\"profile_metafields\\" (\\n \\"id\\" UUID PRIMARY KEY NOT NULL,\\n \\"slug\\" TEXT NOT NULL,\\n \\"context\\" TEXT NOT NULL DEFAULT '',\\n \\"_meta_type\\" TEXT NOT NULL,\\n \\"_meta_data\\" JSON,\\n \\"created_at\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\"updated_at\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\"tenant_id\\" UUID,\\n \\"name\\" TEXT DEFAULT '',\\n \\"description\\" TEXT,\\n \\"validation\\" JSON\\n);","columns":{"id":{"type":"UUID","primaryKey":true,"referenceKind":"id","notNull":true},"slug":{"type":"TEXT","notNull":true},"context":{"type":"TEXT","notNull":true,"default":""},"_meta_type":{"type":"TEXT","notNull":true},"_meta_data":{"type":"JSON","notNull":false},"created_at":{"type":"TIMESTAMP","notNull":true,"default":"current_timestamp"},"updated_at":{"type":"TIMESTAMP","notNull":true,"default":"current_timestamp"},"tenant_id":{"type":"UUID","referenceKind":"tenantId","notNull":false},"name":{"type":"TEXT","notNull":false,"default":""},"description":{"type":"TEXT","notNull":false},"validation":{"type":"JSON","notNull":false}},"indexes":[{"name":"profile_metafields_slug_context_meta_type_idx","columns":["tenant_id","slug","context","_meta_type"],"unique":true,"nullsNotDistinct":true},{"name":"profile_metafields_meta_type_idx","columns":["_meta_type"]},{"name":"profile_metafields_tenant_id_created_at_idx","columns":["tenant_id","created_at"]}],"version":"afe420df"},"importPath":"@happyvertical/smrt-profiles"},"@happyvertical/smrt-profiles:ProfileRelationship":{"name":"profilerelationship","className":"ProfileRelationship","qualifiedName":"@happyvertical/smrt-profiles:ProfileRelationship","collection":"profilerelationships","filePath":"/home/runner/work/smrt/smrt/packages/profiles/src/models/ProfileRelationship.ts","packageName":"@happyvertical/smrt-profiles","fields":{"created_at":{"type":"datetime","required":false},"updated_at":{"type":"datetime","required":false},"tenantId":{"type":"text","required":false,"_meta":{"sqlType":"UUID","nullable":true,"__tenancy":{"isTenantIdField":true,"autoFilter":true,"required":false,"autoPopulate":true,"nullable":true,"mode":"optional","field":"tenantId","allowSuperAdminBypass":false}}},"fromProfileId":{"type":"foreignKey","required":true,"related":"Profile","_meta":{"required":true}},"toProfileId":{"type":"foreignKey","required":true,"related":"Profile","_meta":{"required":true}},"typeId":{"type":"foreignKey","required":true,"related":"ProfileRelationshipType","_meta":{"required":true}},"contextProfileId":{"type":"foreignKey","required":false,"related":"Profile"},"terms":{"type":"oneToMany","required":false,"related":"ProfileRelationshipTerm"}},"methods":{"getTypeSlug":{"name":"getTypeSlug","async":true,"parameters":[],"returnType":"Promise<string>","isStatic":false,"isPublic":true},"addTerm":{"name":"addTerm","async":true,"parameters":[{"name":"startedAt","type":"Date","optional":false},{"name":"endedAt","type":"Date","optional":true}],"returnType":"Promise<void>","isStatic":false,"isPublic":true},"endCurrentTerm":{"name":"endCurrentTerm","async":true,"parameters":[{"name":"endedAt","type":"Date","optional":false}],"returnType":"Promise<void>","isStatic":false,"isPublic":true},"getTerms":{"name":"getTerms","async":true,"parameters":[],"returnType":"Promise<ProfileRelationshipTerm[]>","isStatic":false,"isPublic":true},"getActiveTerm":{"name":"getActiveTerm","async":true,"parameters":[],"returnType":"Promise<ProfileRelationshipTerm | null>","isStatic":false,"isPublic":true}},"decoratorConfig":{"tableStrategy":"sti","api":{"include":["list","get","create","delete"]},"mcp":{"include":["list","get"]},"cli":{"skipApiCheck":true},"tenantScoped":{"mode":"optional"},"conflictColumns":["tenant_id","slug","context","_meta_type"]},"extends":"SmrtObject","exportName":"ProfileRelationship","collectionExportName":"ProfileRelationshipCollection","validationRules":[{"field":"fromProfileId","rule":"required","fieldType":"foreignKey"},{"field":"toProfileId","rule":"required","fieldType":"foreignKey"},{"field":"typeId","rule":"required","fieldType":"foreignKey"}],"schema":{"tableName":"profile_relationships","ddl":"CREATE TABLE IF NOT EXISTS \\"profile_relationships\\" (\\n \\"id\\" UUID PRIMARY KEY NOT NULL,\\n \\"slug\\" TEXT NOT NULL,\\n \\"context\\" TEXT NOT NULL DEFAULT '',\\n \\"_meta_type\\" TEXT NOT NULL,\\n \\"_meta_data\\" JSON,\\n \\"created_at\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\"updated_at\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\"tenant_id\\" UUID,\\n \\"from_profile_id\\" UUID,\\n \\"to_profile_id\\" UUID,\\n \\"type_id\\" UUID,\\n \\"context_profile_id\\" UUID\\n);","columns":{"id":{"type":"UUID","primaryKey":true,"referenceKind":"id","notNull":true},"slug":{"type":"TEXT","notNull":true},"context":{"type":"TEXT","notNull":true,"default":""},"_meta_type":{"type":"TEXT","notNull":true},"_meta_data":{"type":"JSON","notNull":false},"created_at":{"type":"TIMESTAMP","notNull":true,"default":"current_timestamp"},"updated_at":{"type":"TIMESTAMP","notNull":true,"default":"current_timestamp"},"tenant_id":{"type":"UUID","referenceKind":"tenantId","notNull":false},"from_profile_id":{"type":"UUID","referenceKind":"foreignKey","notNull":false,"foreignKey":{"table":"profiles","column":"id","onDelete":"NO ACTION","onUpdate":"CASCADE"}},"to_profile_id":{"type":"UUID","referenceKind":"foreignKey","notNull":false,"foreignKey":{"table":"profiles","column":"id","onDelete":"NO ACTION","onUpdate":"CASCADE"}},"type_id":{"type":"UUID","referenceKind":"foreignKey","notNull":false,"foreignKey":{"table":"profile_relationship_types","column":"id","onDelete":"NO ACTION","onUpdate":"CASCADE"}},"context_profile_id":{"type":"UUID","referenceKind":"foreignKey","notNull":false,"foreignKey":{"table":"profiles","column":"id","onDelete":"NO ACTION","onUpdate":"CASCADE"}}},"indexes":[{"name":"profile_relationships_slug_context_meta_type_idx","columns":["tenant_id","slug","context","_meta_type"],"unique":true,"nullsNotDistinct":true},{"name":"profile_relationships_meta_type_idx","columns":["_meta_type"]},{"name":"profile_relationships_tenant_id_created_at_idx","columns":["tenant_id","created_at"]},{"name":"profile_relationships_from_profile_id_idx","columns":["from_profile_id"]},{"name":"profile_relationships_to_profile_id_idx","columns":["to_profile_id"]},{"name":"profile_relationships_type_id_idx","columns":["type_id"]},{"name":"profile_relationships_context_profile_id_idx","columns":["context_profile_id"]}],"version":"48878dba"},"importPath":"@happyvertical/smrt-profiles"},"@happyvertical/smrt-profiles:ProfileRelationshipTerm":{"name":"profilerelationshipterm","className":"ProfileRelationshipTerm","qualifiedName":"@happyvertical/smrt-profiles:ProfileRelationshipTerm","collection":"profilerelationshipterms","filePath":"/home/runner/work/smrt/smrt/packages/profiles/src/models/ProfileRelationshipTerm.ts","packageName":"@happyvertical/smrt-profiles","fields":{"created_at":{"type":"datetime","required":false},"updated_at":{"type":"datetime","required":false},"relationshipId":{"type":"foreignKey","required":true,"related":"ProfileRelationship","_meta":{"required":true}},"startedAt":{"type":"datetime","required":true,"_meta":{"required":true}},"endedAt":{"type":"datetime","required":false}},"methods":{"isActive":{"name":"isActive","async":false,"parameters":[],"returnType":"boolean","isStatic":false,"isPublic":true},"end":{"name":"end","async":true,"parameters":[{"name":"endedAt","type":"Date","optional":true}],"returnType":"Promise<void>","isStatic":false,"isPublic":true},"getDurationDays":{"name":"getDurationDays","async":false,"parameters":[],"returnType":"number","isStatic":false,"isPublic":true}},"decoratorConfig":{"tableStrategy":"sti","api":{"include":["list","get","create","update","delete"]},"mcp":{"include":["list","get"]},"cli":{"skipApiCheck":true}},"extends":"SmrtObject","exportName":"ProfileRelationshipTerm","collectionExportName":"ProfileRelationshipTermCollection","validationRules":[{"field":"relationshipId","rule":"required","fieldType":"foreignKey"},{"field":"startedAt","rule":"required","fieldType":"datetime"}],"schema":{"tableName":"profile_relationship_terms","ddl":"CREATE TABLE IF NOT EXISTS \\"profile_relationship_terms\\" (\\n \\"id\\" UUID PRIMARY KEY NOT NULL,\\n \\"slug\\" TEXT NOT NULL,\\n \\"context\\" TEXT NOT NULL DEFAULT '',\\n \\"_meta_type\\" TEXT NOT NULL,\\n \\"_meta_data\\" JSON,\\n \\"created_at\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\"updated_at\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\"relationship_id\\" UUID,\\n \\"started_at\\" TIMESTAMP,\\n \\"ended_at\\" TIMESTAMP\\n);","columns":{"id":{"type":"UUID","primaryKey":true,"referenceKind":"id","notNull":true},"slug":{"type":"TEXT","notNull":true},"context":{"type":"TEXT","notNull":true,"default":""},"_meta_type":{"type":"TEXT","notNull":true},"_meta_data":{"type":"JSON","notNull":false},"created_at":{"type":"TIMESTAMP","notNull":true,"default":"current_timestamp"},"updated_at":{"type":"TIMESTAMP","notNull":true,"default":"current_timestamp"},"relationship_id":{"type":"UUID","referenceKind":"foreignKey","notNull":false,"foreignKey":{"table":"profile_relationships","column":"id","onDelete":"NO ACTION","onUpdate":"CASCADE"}},"started_at":{"type":"TIMESTAMP","notNull":false},"ended_at":{"type":"TIMESTAMP","notNull":false}},"indexes":[{"name":"profile_relationship_terms_slug_context_meta_type_idx","columns":["slug","context","_meta_type"],"unique":true},{"name":"profile_relationship_terms_meta_type_idx","columns":["_meta_type"]},{"name":"profile_relationship_terms_created_at_idx","columns":["created_at"]},{"name":"profile_relationship_terms_relationship_id_idx","columns":["relationship_id"]}],"version":"ef299102"},"importPath":"@happyvertical/smrt-profiles"},"@happyvertical/smrt-profiles:ProfileRelationshipType":{"name":"profilerelationshiptype","className":"ProfileRelationshipType","qualifiedName":"@happyvertical/smrt-profiles:ProfileRelationshipType","collection":"profilerelationshiptypes","filePath":"/home/runner/work/smrt/smrt/packages/profiles/src/models/ProfileRelationshipType.ts","packageName":"@happyvertical/smrt-profiles","fields":{"created_at":{"type":"datetime","required":false},"updated_at":{"type":"datetime","required":false},"name":{"type":"text","required":true,"default":"","_meta":{"required":true}},"reciprocal":{"type":"boolean","required":false,"default":true}},"methods":{"getBySlug":{"name":"getBySlug","async":true,"parameters":[{"name":"_slug","type":"string","optional":false}],"returnType":"Promise<ProfileRelationshipType | null>","isStatic":true,"isPublic":true},"registerReciprocalHandler":{"name":"registerReciprocalHandler","async":false,"parameters":[{"name":"slug","type":"string","optional":false},{"name":"handler","type":"ReciprocalHandler","optional":false}],"returnType":"void","isStatic":true,"isPublic":true},"getReciprocalHandler":{"name":"getReciprocalHandler","async":false,"parameters":[{"name":"slug","type":"string","optional":false}],"returnType":"ReciprocalHandler | undefined","isStatic":true,"isPublic":true},"isReciprocal":{"name":"isReciprocal","async":true,"parameters":[{"name":"slug","type":"string","optional":false}],"returnType":"Promise<boolean>","isStatic":true,"isPublic":true}},"decoratorConfig":{"tableStrategy":"sti","api":{"include":["list","get","create","update"]},"mcp":{"include":["list","get"]},"cli":{"skipApiCheck":true}},"extends":"SmrtObject","exportName":"ProfileRelationshipType","collectionExportName":"ProfileRelationshipTypeCollection","displayLabelField":"name","validationRules":[{"field":"name","rule":"required","fieldType":"text"}],"schema":{"tableName":"profile_relationship_types","ddl":"CREATE TABLE IF NOT EXISTS \\"profile_relationship_types\\" (\\n \\"id\\" UUID PRIMARY KEY NOT NULL,\\n \\"slug\\" TEXT NOT NULL,\\n \\"context\\" TEXT NOT NULL DEFAULT '',\\n \\"_meta_type\\" TEXT NOT NULL,\\n \\"_meta_data\\" JSON,\\n \\"created_at\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\"updated_at\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\"name\\" TEXT DEFAULT '',\\n \\"reciprocal\\" BOOLEAN DEFAULT TRUE\\n);","columns":{"id":{"type":"UUID","primaryKey":true,"referenceKind":"id","notNull":true},"slug":{"type":"TEXT","notNull":true},"context":{"type":"TEXT","notNull":true,"default":""},"_meta_type":{"type":"TEXT","notNull":true},"_meta_data":{"type":"JSON","notNull":false},"created_at":{"type":"TIMESTAMP","notNull":true,"default":"current_timestamp"},"updated_at":{"type":"TIMESTAMP","notNull":true,"default":"current_timestamp"},"name":{"type":"TEXT","notNull":false,"default":""},"reciprocal":{"type":"BOOLEAN","notNull":false,"default":true}},"indexes":[{"name":"profile_relationship_types_slug_context_meta_type_idx","columns":["slug","context","_meta_type"],"unique":true},{"name":"profile_relationship_types_meta_type_idx","columns":["_meta_type"]},{"name":"profile_relationship_types_created_at_idx","columns":["created_at"]}],"version":"719fe0d9"},"importPath":"@happyvertical/smrt-profiles"},"@happyvertical/smrt-profiles:ProfileType":{"name":"profiletype","className":"ProfileType","qualifiedName":"@happyvertical/smrt-profiles:ProfileType","collection":"profiletypes","filePath":"/home/runner/work/smrt/smrt/packages/profiles/src/models/ProfileType.ts","packageName":"@happyvertical/smrt-profiles","fields":{"created_at":{"type":"datetime","required":false},"updated_at":{"type":"datetime","required":false},"tenantId":{"type":"text","required":false,"_meta":{"sqlType":"UUID","nullable":true,"__tenancy":{"isTenantIdField":true,"autoFilter":true,"required":false,"autoPopulate":true,"nullable":true,"mode":"optional","field":"tenantId","allowSuperAdminBypass":false}}},"name":{"type":"text","required":true,"default":"","_meta":{"required":true}},"description":{"type":"text","required":false}},"methods":{"getBySlug":{"name":"getBySlug","async":true,"parameters":[{"name":"_slug","type":"string","optional":false}],"returnType":"Promise<ProfileType | null>","isStatic":true,"isPublic":true}},"decoratorConfig":{"tableStrategy":"sti","api":{"include":["list","get","create","update"]},"mcp":{"include":["list","get"]},"cli":{"skipApiCheck":true},"tenantScoped":{"mode":"optional"},"conflictColumns":["tenant_id","slug","context","_meta_type"]},"extends":"SmrtObject","exportName":"ProfileType","collectionExportName":"ProfileTypeCollection","displayLabelField":"name","validationRules":[{"field":"name","rule":"required","fieldType":"text"}],"schema":{"tableName":"profile_types","ddl":"CREATE TABLE IF NOT EXISTS \\"profile_types\\" (\\n \\"id\\" UUID PRIMARY KEY NOT NULL,\\n \\"slug\\" TEXT NOT NULL,\\n \\"context\\" TEXT NOT NULL DEFAULT '',\\n \\"_meta_type\\" TEXT NOT NULL,\\n \\"_meta_data\\" JSON,\\n \\"created_at\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\"updated_at\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\"tenant_id\\" UUID,\\n \\"name\\" TEXT DEFAULT '',\\n \\"description\\" TEXT\\n);","columns":{"id":{"type":"UUID","primaryKey":true,"referenceKind":"id","notNull":true},"slug":{"type":"TEXT","notNull":true},"context":{"type":"TEXT","notNull":true,"default":""},"_meta_type":{"type":"TEXT","notNull":true},"_meta_data":{"type":"JSON","notNull":false},"created_at":{"type":"TIMESTAMP","notNull":true,"default":"current_timestamp"},"updated_at":{"type":"TIMESTAMP","notNull":true,"default":"current_timestamp"},"tenant_id":{"type":"UUID","referenceKind":"tenantId","notNull":false},"name":{"type":"TEXT","notNull":false,"default":""},"description":{"type":"TEXT","notNull":false}},"indexes":[{"name":"profile_types_slug_context_meta_type_idx","columns":["tenant_id","slug","context","_meta_type"],"unique":true,"nullsNotDistinct":true},{"name":"profile_types_meta_type_idx","columns":["_meta_type"]},{"name":"profile_types_tenant_id_created_at_idx","columns":["tenant_id","created_at"]}],"version":"0fb37aeb"},"importPath":"@happyvertical/smrt-profiles"},"@happyvertical/smrt-profiles:Person":{"name":"person","className":"Person","qualifiedName":"@happyvertical/smrt-profiles:Person","collection":"profiles","description":"Person profile type","filePath":"/home/runner/work/smrt/smrt/packages/profiles/src/models/ProfileTypes.ts","packageName":"@happyvertical/smrt-profiles","fields":{"created_at":{"type":"datetime","required":false},"updated_at":{"type":"datetime","required":false},"tenantId":{"type":"text","required":false,"_meta":{"sqlType":"UUID","nullable":true,"__tenancy":{"isTenantIdField":true,"autoFilter":true,"required":false,"autoPopulate":true,"nullable":true}}},"typeId":{"type":"foreignKey","required":true,"related":"ProfileType","_meta":{"required":true}},"email":{"type":"text","required":false},"emailKey":{"type":"text","required":false,"_meta":{"nullable":true,"indexed":true,"readonly":true},"readonly":true},"name":{"type":"text","required":true,"default":"","_meta":{"required":true}},"description":{"type":"text","required":false},"isPublic":{"type":"boolean","required":false,"default":false,"_meta":{"default":false}},"metadata":{"type":"oneToMany","required":false,"related":"ProfileMetadata"},"relationshipsFrom":{"type":"oneToMany","required":false,"related":"ProfileRelationship","_meta":{"foreignKey":"fromProfileId"}},"relationshipsTo":{"type":"oneToMany","required":false,"related":"ProfileRelationship","_meta":{"foreignKey":"toProfileId"}}},"methods":{"save":{"name":"save","async":true,"parameters":[{"name":"options","type":"SmrtSaveOptions","optional":true}],"returnType":"Promise<this>","isStatic":false,"isPublic":true},"getTypeSlug":{"name":"getTypeSlug","async":true,"parameters":[],"returnType":"Promise<string>","isStatic":false,"isPublic":true},"setTypeBySlug":{"name":"setTypeBySlug","async":true,"parameters":[{"name":"slug","type":"string","optional":false}],"returnType":"Promise<void>","isStatic":false,"isPublic":true},"addMetadata":{"name":"addMetadata","async":true,"parameters":[{"name":"metafieldSlug","type":"string","optional":false},{"name":"value","type":"unknown","optional":false}],"returnType":"Promise<void>","isStatic":false,"isPublic":true},"getMetadata":{"name":"getMetadata","async":true,"parameters":[],"returnType":"Promise<Record<string, string>>","isStatic":false,"isPublic":true},"updateMetadata":{"name":"updateMetadata","async":true,"parameters":[{"name":"metadata","type":"Record<string, unknown>","optional":false}],"returnType":"Promise<void>","isStatic":false,"isPublic":true},"removeMetadata":{"name":"removeMetadata","async":true,"parameters":[{"name":"metafieldSlug","type":"string","optional":false}],"returnType":"Promise<void>","isStatic":false,"isPublic":true},"getLinks":{"name":"getLinks","async":true,"parameters":[],"returnType":"Promise<ProfileLink[]>","isStatic":false,"isPublic":true},"setLinks":{"name":"setLinks","async":true,"parameters":[{"name":"links","type":"any","optional":false,"typeUnresolved":true}],"returnType":"Promise<ProfileLink[]>","isStatic":false,"isPublic":true},"getAssets":{"name":"getAssets","async":true,"parameters":[{"name":"relationship","type":"string","optional":true}],"returnType":"Promise<Asset[]>","isStatic":false,"isPublic":true},"addAsset":{"name":"addAsset","async":true,"parameters":[{"name":"asset","type":"Asset","optional":false},{"name":"relationship","type":"any","optional":true,"default":"attachment"},{"name":"sortOrder","type":"any","optional":true}],"returnType":"Promise<void>","isStatic":false,"isPublic":true},"removeAsset":{"name":"removeAsset","async":true,"parameters":[{"name":"assetId","type":"string","optional":false},{"name":"relationship","type":"string","optional":true}],"returnType":"Promise<void>","isStatic":false,"isPublic":true},"addRelationship":{"name":"addRelationship","async":true,"parameters":[{"name":"toProfile","type":"Profile","optional":false},{"name":"relationshipSlug","type":"string","optional":false},{"name":"contextProfile","type":"Profile","optional":true}],"returnType":"Promise<void>","isStatic":false,"isPublic":true},"getRelationships":{"name":"getRelationships","async":true,"parameters":[{"name":"options","type":"object","optional":true,"memberTypes":["string","'from' | 'to' | 'all'"]}],"returnType":"Promise<ProfileRelationship[]>","isStatic":false,"isPublic":true},"getRelatedProfiles":{"name":"getRelatedProfiles","async":true,"parameters":[{"name":"relationshipSlug","type":"string","optional":true}],"returnType":"Promise<Profile[]>","isStatic":false,"isPublic":true},"removeRelationship":{"name":"removeRelationship","async":true,"parameters":[{"name":"toProfile","type":"Profile","optional":false},{"name":"relationshipSlug","type":"string","optional":false}],"returnType":"Promise<void>","isStatic":false,"isPublic":true},"generateBio":{"name":"generateBio","async":true,"parameters":[],"returnType":"Promise<string>","isStatic":false,"isPublic":true},"matches":{"name":"matches","async":true,"parameters":[{"name":"criteria","type":"string","optional":false}],"returnType":"Promise<boolean>","isStatic":false,"isPublic":true},"findByMetadata":{"name":"findByMetadata","async":true,"parameters":[{"name":"_metafieldSlug","type":"string","optional":false},{"name":"_value","type":"unknown","optional":false}],"returnType":"Promise<Profile[]>","isStatic":true,"isPublic":true},"findByType":{"name":"findByType","async":true,"parameters":[{"name":"_typeSlug","type":"string","optional":false}],"returnType":"Promise<Profile[]>","isStatic":true,"isPublic":true},"findRelated":{"name":"findRelated","async":true,"parameters":[{"name":"_profileId","type":"string","optional":false},{"name":"_relationshipSlug","type":"string","optional":true}],"returnType":"Promise<Profile[]>","isStatic":true,"isPublic":true},"searchByEmail":{"name":"searchByEmail","async":true,"parameters":[{"name":"_email","type":"string","optional":false}],"returnType":"Promise<Profile | null>","isStatic":true,"isPublic":true},"getApiKeys":{"name":"getApiKeys","async":true,"parameters":[],"returnType":"Promise<ApiKey[]>","isStatic":false,"isPublic":true},"getActiveApiKeys":{"name":"getActiveApiKeys","async":true,"parameters":[],"returnType":"Promise<ApiKey[]>","isStatic":false,"isPublic":true},"generateApiKey":{"name":"generateApiKey","async":true,"parameters":[{"name":"options","type":"object","optional":false,"memberTypes":["string","string[]","Date | null"]}],"returnType":"Promise<GenerateKeyResult>","isStatic":false,"isPublic":true},"getOidcIdentities":{"name":"getOidcIdentities","async":true,"parameters":[],"returnType":"Promise<OidcIdentity[]>","isStatic":false,"isPublic":true},"linkOidcIdentity":{"name":"linkOidcIdentity","async":true,"parameters":[{"name":"oidcData","type":"object","optional":false,"memberTypes":["string"]}],"returnType":"Promise<OidcIdentity>","isStatic":false,"isPublic":true},"getNostrIdentities":{"name":"getNostrIdentities","async":true,"parameters":[],"returnType":"Promise<NostrIdentity[]>","isStatic":false,"isPublic":true},"linkNostrIdentity":{"name":"linkNostrIdentity","async":true,"parameters":[{"name":"nostrData","type":"object","optional":false,"memberTypes":["string"]}],"returnType":"Promise<NostrIdentity>","isStatic":false,"isPublic":true},"getAuditLogs":{"name":"getAuditLogs","async":true,"parameters":[{"name":"limit","type":"number","optional":true}],"returnType":"Promise<AuditLog[]>","isStatic":false,"isPublic":true},"recordAction":{"name":"recordAction","async":true,"parameters":[{"name":"options","type":"object","optional":false,"typeUnresolved":true,"memberTypes":["string","'web' | 'cli' | 'ci' | 'webhook' | 'mcp'","Record<string, unknown>","Profile | null"]}],"returnType":"Promise<AuditLog>","isStatic":false,"isPublic":true}},"decoratorConfig":{"tableStrategy":"sti","tableName":"profiles","api":{"include":["list","get","create","update","delete"]},"mcp":{"include":["list","get","create","update"]},"cli":{"skipApiCheck":true}},"extends":"Profile","exportName":"Person","collectionExportName":"PersonCollection","displayLabelField":"name","validationRules":[{"field":"typeId","rule":"required","fieldType":"foreignKey"},{"field":"name","rule":"required","fieldType":"text"}],"schema":{"tableName":"profiles","ddl":"CREATE TABLE IF NOT EXISTS \\"profiles\\" (\\n \\"id\\" UUID PRIMARY KEY NOT NULL,\\n \\"slug\\" TEXT NOT NULL,\\n \\"context\\" TEXT NOT NULL DEFAULT '',\\n \\"_meta_type\\" TEXT NOT NULL,\\n \\"_meta_data\\" JSON,\\n \\"created_at\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\"updated_at\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\"tenant_id\\" UUID,\\n \\"type_id\\" UUID,\\n \\"email\\" TEXT,\\n \\"email_key\\" TEXT,\\n \\"name\\" TEXT DEFAULT '',\\n \\"description\\" TEXT,\\n \\"is_public\\" BOOLEAN DEFAULT FALSE\\n);","columns":{"id":{"type":"UUID","primaryKey":true,"referenceKind":"id","notNull":true},"slug":{"type":"TEXT","notNull":true},"context":{"type":"TEXT","notNull":true,"default":""},"_meta_type":{"type":"TEXT","notNull":true},"_meta_data":{"type":"JSON","notNull":false},"created_at":{"type":"TIMESTAMP","notNull":true,"default":"current_timestamp"},"updated_at":{"type":"TIMESTAMP","notNull":true,"default":"current_timestamp"},"tenant_id":{"type":"UUID","referenceKind":"tenantId","notNull":false},"type_id":{"type":"UUID","referenceKind":"foreignKey","notNull":false,"foreignKey":{"table":"profile_types","column":"id","onDelete":"NO ACTION","onUpdate":"CASCADE"}},"email":{"type":"TEXT","notNull":false},"email_key":{"type":"TEXT","notNull":false},"name":{"type":"TEXT","notNull":false,"default":""},"description":{"type":"TEXT","notNull":false},"is_public":{"type":"BOOLEAN","notNull":false,"default":false}},"indexes":[{"name":"profiles_slug_context_meta_type_idx","columns":["tenant_id","slug","context","_meta_type"],"unique":true,"nullsNotDistinct":true},{"name":"profiles_meta_type_idx","columns":["_meta_type"]},{"name":"profiles_email_key_idx","columns":["email_key"]},{"name":"profiles_tenant_id_created_at_idx","columns":["tenant_id","created_at"]},{"name":"profiles_type_id_idx","columns":["type_id"]}],"version":"2043b736"},"importPath":"@happyvertical/smrt-profiles"},"@happyvertical/smrt-profiles:Organization":{"name":"organization","className":"Organization","qualifiedName":"@happyvertical/smrt-profiles:Organization","collection":"profiles","description":"Organization profile type","filePath":"/home/runner/work/smrt/smrt/packages/profiles/src/models/ProfileTypes.ts","packageName":"@happyvertical/smrt-profiles","fields":{"created_at":{"type":"datetime","required":false},"updated_at":{"type":"datetime","required":false},"tenantId":{"type":"text","required":false,"_meta":{"sqlType":"UUID","nullable":true,"__tenancy":{"isTenantIdField":true,"autoFilter":true,"required":false,"autoPopulate":true,"nullable":true}}},"typeId":{"type":"foreignKey","required":true,"related":"ProfileType","_meta":{"required":true}},"email":{"type":"text","required":false},"emailKey":{"type":"text","required":false,"_meta":{"nullable":true,"indexed":true,"readonly":true},"readonly":true},"name":{"type":"text","required":true,"default":"","_meta":{"required":true}},"description":{"type":"text","required":false},"isPublic":{"type":"boolean","required":false,"default":false,"_meta":{"default":false}},"metadata":{"type":"oneToMany","required":false,"related":"ProfileMetadata"},"relationshipsFrom":{"type":"oneToMany","required":false,"related":"ProfileRelationship","_meta":{"foreignKey":"fromProfileId"}},"relationshipsTo":{"type":"oneToMany","required":false,"related":"ProfileRelationship","_meta":{"foreignKey":"toProfileId"}}},"methods":{"save":{"name":"save","async":true,"parameters":[{"name":"options","type":"SmrtSaveOptions","optional":true}],"returnType":"Promise<this>","isStatic":false,"isPublic":true},"getTypeSlug":{"name":"getTypeSlug","async":true,"parameters":[],"returnType":"Promise<string>","isStatic":false,"isPublic":true},"setTypeBySlug":{"name":"setTypeBySlug","async":true,"parameters":[{"name":"slug","type":"string","optional":false}],"returnType":"Promise<void>","isStatic":false,"isPublic":true},"addMetadata":{"name":"addMetadata","async":true,"parameters":[{"name":"metafieldSlug","type":"string","optional":false},{"name":"value","type":"unknown","optional":false}],"returnType":"Promise<void>","isStatic":false,"isPublic":true},"getMetadata":{"name":"getMetadata","async":true,"parameters":[],"returnType":"Promise<Record<string, string>>","isStatic":false,"isPublic":true},"updateMetadata":{"name":"updateMetadata","async":true,"parameters":[{"name":"metadata","type":"Record<string, unknown>","optional":false}],"returnType":"Promise<void>","isStatic":false,"isPublic":true},"removeMetadata":{"name":"removeMetadata","async":true,"parameters":[{"name":"metafieldSlug","type":"string","optional":false}],"returnType":"Promise<void>","isStatic":false,"isPublic":true},"getLinks":{"name":"getLinks","async":true,"parameters":[],"returnType":"Promise<ProfileLink[]>","isStatic":false,"isPublic":true},"setLinks":{"name":"setLinks","async":true,"parameters":[{"name":"links","type":"any","optional":false,"typeUnresolved":true}],"returnType":"Promise<ProfileLink[]>","isStatic":false,"isPublic":true},"getAssets":{"name":"getAssets","async":true,"parameters":[{"name":"relationship","type":"string","optional":true}],"returnType":"Promise<Asset[]>","isStatic":false,"isPublic":true},"addAsset":{"name":"addAsset","async":true,"parameters":[{"name":"asset","type":"Asset","optional":false},{"name":"relationship","type":"any","optional":true,"default":"attachment"},{"name":"sortOrder","type":"any","optional":true}],"returnType":"Promise<void>","isStatic":false,"isPublic":true},"removeAsset":{"name":"removeAsset","async":true,"parameters":[{"name":"assetId","type":"string","optional":false},{"name":"relationship","type":"string","optional":true}],"returnType":"Promise<void>","isStatic":false,"isPublic":true},"addRelationship":{"name":"addRelationship","async":true,"parameters":[{"name":"toProfile","type":"Profile","optional":false},{"name":"relationshipSlug","type":"string","optional":false},{"name":"contextProfile","type":"Profile","optional":true}],"returnType":"Promise<void>","isStatic":false,"isPublic":true},"getRelationships":{"name":"getRelationships","async":true,"parameters":[{"name":"options","type":"object","optional":true,"memberTypes":["string","'from' | 'to' | 'all'"]}],"returnType":"Promise<ProfileRelationship[]>","isStatic":false,"isPublic":true},"getRelatedProfiles":{"name":"getRelatedProfiles","async":true,"parameters":[{"name":"relationshipSlug","type":"string","optional":true}],"returnType":"Promise<Profile[]>","isStatic":false,"isPublic":true},"removeRelationship":{"name":"removeRelationship","async":true,"parameters":[{"name":"toProfile","type":"Profile","optional":false},{"name":"relationshipSlug","type":"string","optional":false}],"returnType":"Promise<void>","isStatic":false,"isPublic":true},"generateBio":{"name":"generateBio","async":true,"parameters":[],"returnType":"Promise<string>","isStatic":false,"isPublic":true},"matches":{"name":"matches","async":true,"parameters":[{"name":"criteria","type":"string","optional":false}],"returnType":"Promise<boolean>","isStatic":false,"isPublic":true},"findByMetadata":{"name":"findByMetadata","async":true,"parameters":[{"name":"_metafieldSlug","type":"string","optional":false},{"name":"_value","type":"unknown","optional":false}],"returnType":"Promise<Profile[]>","isStatic":true,"isPublic":true},"findByType":{"name":"findByType","async":true,"parameters":[{"name":"_typeSlug","type":"string","optional":false}],"returnType":"Promise<Profile[]>","isStatic":true,"isPublic":true},"findRelated":{"name":"findRelated","async":true,"parameters":[{"name":"_profileId","type":"string","optional":false},{"name":"_relationshipSlug","type":"string","optional":true}],"returnType":"Promise<Profile[]>","isStatic":true,"isPublic":true},"searchByEmail":{"name":"searchByEmail","async":true,"parameters":[{"name":"_email","type":"string","optional":false}],"returnType":"Promise<Profile | null>","isStatic":true,"isPublic":true},"getApiKeys":{"name":"getApiKeys","async":true,"parameters":[],"returnType":"Promise<ApiKey[]>","isStatic":false,"isPublic":true},"getActiveApiKeys":{"name":"getActiveApiKeys","async":true,"parameters":[],"returnType":"Promise<ApiKey[]>","isStatic":false,"isPublic":true},"generateApiKey":{"name":"generateApiKey","async":true,"parameters":[{"name":"options","type":"object","optional":false,"memberTypes":["string","string[]","Date | null"]}],"returnType":"Promise<GenerateKeyResult>","isStatic":false,"isPublic":true},"getOidcIdentities":{"name":"getOidcIdentities","async":true,"parameters":[],"returnType":"Promise<OidcIdentity[]>","isStatic":false,"isPublic":true},"linkOidcIdentity":{"name":"linkOidcIdentity","async":true,"parameters":[{"name":"oidcData","type":"object","optional":false,"memberTypes":["string"]}],"returnType":"Promise<OidcIdentity>","isStatic":false,"isPublic":true},"getNostrIdentities":{"name":"getNostrIdentities","async":true,"parameters":[],"returnType":"Promise<NostrIdentity[]>","isStatic":false,"isPublic":true},"linkNostrIdentity":{"name":"linkNostrIdentity","async":true,"parameters":[{"name":"nostrData","type":"object","optional":false,"memberTypes":["string"]}],"returnType":"Promise<NostrIdentity>","isStatic":false,"isPublic":true},"getAuditLogs":{"name":"getAuditLogs","async":true,"parameters":[{"name":"limit","type":"number","optional":true}],"returnType":"Promise<AuditLog[]>","isStatic":false,"isPublic":true},"recordAction":{"name":"recordAction","async":true,"parameters":[{"name":"options","type":"object","optional":false,"typeUnresolved":true,"memberTypes":["string","'web' | 'cli' | 'ci' | 'webhook' | 'mcp'","Record<string, unknown>","Profile | null"]}],"returnType":"Promise<AuditLog>","isStatic":false,"isPublic":true}},"decoratorConfig":{"tableStrategy":"sti","tableName":"profiles","api":{"include":["list","get","create","update","delete"]},"mcp":{"include":["list","get","create","update"]},"cli":{"skipApiCheck":true}},"extends":"Profile","exportName":"Organization","collectionExportName":"OrganizationCollection","displayLabelField":"name","validationRules":[{"field":"typeId","rule":"required","fieldType":"foreignKey"},{"field":"name","rule":"required","fieldType":"text"}],"schema":{"tableName":"profiles","ddl":"CREATE TABLE IF NOT EXISTS \\"profiles\\" (\\n \\"id\\" UUID PRIMARY KEY NOT NULL,\\n \\"slug\\" TEXT NOT NULL,\\n \\"context\\" TEXT NOT NULL DEFAULT '',\\n \\"_meta_type\\" TEXT NOT NULL,\\n \\"_meta_data\\" JSON,\\n \\"created_at\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\"updated_at\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\"tenant_id\\" UUID,\\n \\"type_id\\" UUID,\\n \\"email\\" TEXT,\\n \\"email_key\\" TEXT,\\n \\"name\\" TEXT DEFAULT '',\\n \\"description\\" TEXT,\\n \\"is_public\\" BOOLEAN DEFAULT FALSE\\n);","columns":{"id":{"type":"UUID","primaryKey":true,"referenceKind":"id","notNull":true},"slug":{"type":"TEXT","notNull":true},"context":{"type":"TEXT","notNull":true,"default":""},"_meta_type":{"type":"TEXT","notNull":true},"_meta_data":{"type":"JSON","notNull":false},"created_at":{"type":"TIMESTAMP","notNull":true,"default":"current_timestamp"},"updated_at":{"type":"TIMESTAMP","notNull":true,"default":"current_timestamp"},"tenant_id":{"type":"UUID","referenceKind":"tenantId","notNull":false},"type_id":{"type":"UUID","referenceKind":"foreignKey","notNull":false,"foreignKey":{"table":"profile_types","column":"id","onDelete":"NO ACTION","onUpdate":"CASCADE"}},"email":{"type":"TEXT","notNull":false},"email_key":{"type":"TEXT","notNull":false},"name":{"type":"TEXT","notNull":false,"default":""},"description":{"type":"TEXT","notNull":false},"is_public":{"type":"BOOLEAN","notNull":false,"default":false}},"indexes":[{"name":"profiles_slug_context_meta_type_idx","columns":["tenant_id","slug","context","_meta_type"],"unique":true,"nullsNotDistinct":true},{"name":"profiles_meta_type_idx","columns":["_meta_type"]},{"name":"profiles_email_key_idx","columns":["email_key"]},{"name":"profiles_tenant_id_created_at_idx","columns":["tenant_id","created_at"]},{"name":"profiles_type_id_idx","columns":["type_id"]}],"version":"573ebccc"},"importPath":"@happyvertical/smrt-profiles"},"@happyvertical/smrt-profiles:Bot":{"name":"bot","className":"Bot","qualifiedName":"@happyvertical/smrt-profiles:Bot","collection":"profiles","description":"Bot profile type","filePath":"/home/runner/work/smrt/smrt/packages/profiles/src/models/ProfileTypes.ts","packageName":"@happyvertical/smrt-profiles","fields":{"created_at":{"type":"datetime","required":false},"updated_at":{"type":"datetime","required":false},"tenantId":{"type":"text","required":false,"_meta":{"sqlType":"UUID","nullable":true,"__tenancy":{"isTenantIdField":true,"autoFilter":true,"required":false,"autoPopulate":true,"nullable":true}}},"typeId":{"type":"foreignKey","required":true,"related":"ProfileType","_meta":{"required":true}},"email":{"type":"text","required":false},"emailKey":{"type":"text","required":false,"_meta":{"nullable":true,"indexed":true,"readonly":true},"readonly":true},"name":{"type":"text","required":true,"default":"","_meta":{"required":true}},"description":{"type":"text","required":false},"isPublic":{"type":"boolean","required":false,"default":false,"_meta":{"default":false}},"metadata":{"type":"oneToMany","required":false,"related":"ProfileMetadata"},"relationshipsFrom":{"type":"oneToMany","required":false,"related":"ProfileRelationship","_meta":{"foreignKey":"fromProfileId"}},"relationshipsTo":{"type":"oneToMany","required":false,"related":"ProfileRelationship","_meta":{"foreignKey":"toProfileId"}}},"methods":{"save":{"name":"save","async":true,"parameters":[{"name":"options","type":"SmrtSaveOptions","optional":true}],"returnType":"Promise<this>","isStatic":false,"isPublic":true},"getTypeSlug":{"name":"getTypeSlug","async":true,"parameters":[],"returnType":"Promise<string>","isStatic":false,"isPublic":true},"setTypeBySlug":{"name":"setTypeBySlug","async":true,"parameters":[{"name":"slug","type":"string","optional":false}],"returnType":"Promise<void>","isStatic":false,"isPublic":true},"addMetadata":{"name":"addMetadata","async":true,"parameters":[{"name":"metafieldSlug","type":"string","optional":false},{"name":"value","type":"unknown","optional":false}],"returnType":"Promise<void>","isStatic":false,"isPublic":true},"getMetadata":{"name":"getMetadata","async":true,"parameters":[],"returnType":"Promise<Record<string, string>>","isStatic":false,"isPublic":true},"updateMetadata":{"name":"updateMetadata","async":true,"parameters":[{"name":"metadata","type":"Record<string, unknown>","optional":false}],"returnType":"Promise<void>","isStatic":false,"isPublic":true},"removeMetadata":{"name":"removeMetadata","async":true,"parameters":[{"name":"metafieldSlug","type":"string","optional":false}],"returnType":"Promise<void>","isStatic":false,"isPublic":true},"getLinks":{"name":"getLinks","async":true,"parameters":[],"returnType":"Promise<ProfileLink[]>","isStatic":false,"isPublic":true},"setLinks":{"name":"setLinks","async":true,"parameters":[{"name":"links","type":"any","optional":false,"typeUnresolved":true}],"returnType":"Promise<ProfileLink[]>","isStatic":false,"isPublic":true},"getAssets":{"name":"getAssets","async":true,"parameters":[{"name":"relationship","type":"string","optional":true}],"returnType":"Promise<Asset[]>","isStatic":false,"isPublic":true},"addAsset":{"name":"addAsset","async":true,"parameters":[{"name":"asset","type":"Asset","optional":false},{"name":"relationship","type":"any","optional":true,"default":"attachment"},{"name":"sortOrder","type":"any","optional":true}],"returnType":"Promise<void>","isStatic":false,"isPublic":true},"removeAsset":{"name":"removeAsset","async":true,"parameters":[{"name":"assetId","type":"string","optional":false},{"name":"relationship","type":"string","optional":true}],"returnType":"Promise<void>","isStatic":false,"isPublic":true},"addRelationship":{"name":"addRelationship","async":true,"parameters":[{"name":"toProfile","type":"Profile","optional":false},{"name":"relationshipSlug","type":"string","optional":false},{"name":"contextProfile","type":"Profile","optional":true}],"returnType":"Promise<void>","isStatic":false,"isPublic":true},"getRelationships":{"name":"getRelationships","async":true,"parameters":[{"name":"options","type":"object","optional":true,"memberTypes":["string","'from' | 'to' | 'all'"]}],"returnType":"Promise<ProfileRelationship[]>","isStatic":false,"isPublic":true},"getRelatedProfiles":{"name":"getRelatedProfiles","async":true,"parameters":[{"name":"relationshipSlug","type":"string","optional":true}],"returnType":"Promise<Profile[]>","isStatic":false,"isPublic":true},"removeRelationship":{"name":"removeRelationship","async":true,"parameters":[{"name":"toProfile","type":"Profile","optional":false},{"name":"relationshipSlug","type":"string","optional":false}],"returnType":"Promise<void>","isStatic":false,"isPublic":true},"generateBio":{"name":"generateBio","async":true,"parameters":[],"returnType":"Promise<string>","isStatic":false,"isPublic":true},"matches":{"name":"matches","async":true,"parameters":[{"name":"criteria","type":"string","optional":false}],"returnType":"Promise<boolean>","isStatic":false,"isPublic":true},"findByMetadata":{"name":"findByMetadata","async":true,"parameters":[{"name":"_metafieldSlug","type":"string","optional":false},{"name":"_value","type":"unknown","optional":false}],"returnType":"Promise<Profile[]>","isStatic":true,"isPublic":true},"findByType":{"name":"findByType","async":true,"parameters":[{"name":"_typeSlug","type":"string","optional":false}],"returnType":"Promise<Profile[]>","isStatic":true,"isPublic":true},"findRelated":{"name":"findRelated","async":true,"parameters":[{"name":"_profileId","type":"string","optional":false},{"name":"_relationshipSlug","type":"string","optional":true}],"returnType":"Promise<Profile[]>","isStatic":true,"isPublic":true},"searchByEmail":{"name":"searchByEmail","async":true,"parameters":[{"name":"_email","type":"string","optional":false}],"returnType":"Promise<Profile | null>","isStatic":true,"isPublic":true},"getApiKeys":{"name":"getApiKeys","async":true,"parameters":[],"returnType":"Promise<ApiKey[]>","isStatic":false,"isPublic":true},"getActiveApiKeys":{"name":"getActiveApiKeys","async":true,"parameters":[],"returnType":"Promise<ApiKey[]>","isStatic":false,"isPublic":true},"generateApiKey":{"name":"generateApiKey","async":true,"parameters":[{"name":"options","type":"object","optional":false,"memberTypes":["string","string[]","Date | null"]}],"returnType":"Promise<GenerateKeyResult>","isStatic":false,"isPublic":true},"getOidcIdentities":{"name":"getOidcIdentities","async":true,"parameters":[],"returnType":"Promise<OidcIdentity[]>","isStatic":false,"isPublic":true},"linkOidcIdentity":{"name":"linkOidcIdentity","async":true,"parameters":[{"name":"oidcData","type":"object","optional":false,"memberTypes":["string"]}],"returnType":"Promise<OidcIdentity>","isStatic":false,"isPublic":true},"getNostrIdentities":{"name":"getNostrIdentities","async":true,"parameters":[],"returnType":"Promise<NostrIdentity[]>","isStatic":false,"isPublic":true},"linkNostrIdentity":{"name":"linkNostrIdentity","async":true,"parameters":[{"name":"nostrData","type":"object","optional":false,"memberTypes":["string"]}],"returnType":"Promise<NostrIdentity>","isStatic":false,"isPublic":true},"getAuditLogs":{"name":"getAuditLogs","async":true,"parameters":[{"name":"limit","type":"number","optional":true}],"returnType":"Promise<AuditLog[]>","isStatic":false,"isPublic":true},"recordAction":{"name":"recordAction","async":true,"parameters":[{"name":"options","type":"object","optional":false,"typeUnresolved":true,"memberTypes":["string","'web' | 'cli' | 'ci' | 'webhook' | 'mcp'","Record<string, unknown>","Profile | null"]}],"returnType":"Promise<AuditLog>","isStatic":false,"isPublic":true}},"decoratorConfig":{"tableStrategy":"sti","tableName":"profiles","api":{"include":["list","get","create","update","delete"]},"mcp":{"include":["list","get","create","update"]},"cli":{"skipApiCheck":true}},"extends":"Profile","exportName":"Bot","collectionExportName":"BotCollection","displayLabelField":"name","validationRules":[{"field":"typeId","rule":"required","fieldType":"foreignKey"},{"field":"name","rule":"required","fieldType":"text"}],"schema":{"tableName":"profiles","ddl":"CREATE TABLE IF NOT EXISTS \\"profiles\\" (\\n \\"id\\" UUID PRIMARY KEY NOT NULL,\\n \\"slug\\" TEXT NOT NULL,\\n \\"context\\" TEXT NOT NULL DEFAULT '',\\n \\"_meta_type\\" TEXT NOT NULL,\\n \\"_meta_data\\" JSON,\\n \\"created_at\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\"updated_at\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\"tenant_id\\" UUID,\\n \\"type_id\\" UUID,\\n \\"email\\" TEXT,\\n \\"email_key\\" TEXT,\\n \\"name\\" TEXT DEFAULT '',\\n \\"description\\" TEXT,\\n \\"is_public\\" BOOLEAN DEFAULT FALSE\\n);","columns":{"id":{"type":"UUID","primaryKey":true,"referenceKind":"id","notNull":true},"slug":{"type":"TEXT","notNull":true},"context":{"type":"TEXT","notNull":true,"default":""},"_meta_type":{"type":"TEXT","notNull":true},"_meta_data":{"type":"JSON","notNull":false},"created_at":{"type":"TIMESTAMP","notNull":true,"default":"current_timestamp"},"updated_at":{"type":"TIMESTAMP","notNull":true,"default":"current_timestamp"},"tenant_id":{"type":"UUID","referenceKind":"tenantId","notNull":false},"type_id":{"type":"UUID","referenceKind":"foreignKey","notNull":false,"foreignKey":{"table":"profile_types","column":"id","onDelete":"NO ACTION","onUpdate":"CASCADE"}},"email":{"type":"TEXT","notNull":false},"email_key":{"type":"TEXT","notNull":false},"name":{"type":"TEXT","notNull":false,"default":""},"description":{"type":"TEXT","notNull":false},"is_public":{"type":"BOOLEAN","notNull":false,"default":false}},"indexes":[{"name":"profiles_slug_context_meta_type_idx","columns":["tenant_id","slug","context","_meta_type"],"unique":true,"nullsNotDistinct":true},{"name":"profiles_meta_type_idx","columns":["_meta_type"]},{"name":"profiles_email_key_idx","columns":["email_key"]},{"name":"profiles_tenant_id_created_at_idx","columns":["tenant_id","created_at"]},{"name":"profiles_type_id_idx","columns":["type_id"]}],"version":"2a1c7716"},"importPath":"@happyvertical/smrt-profiles"}},"moduleType":"smrt","recipes":[{"id":"profiles.audit-log","className":"AuditLogRecipe","label":"Activity log","summary":"Review who changed a record and when.","synonyms":["audit trail","record history","activity"],"models":["@happyvertical/smrt-profiles:AuditLog"],"nav":[],"requires":[],"group":{"id":"activity","label":"Activity","summary":"Review authorized record history independently of messaging."},"section":{"id":"activity","label":"Activity","icon":"book","description":"See who changed records and why."},"help":{"markdown":"## Activity log\\nReview changes to records you are authorized to inspect. Each activity shows the actor, action, time, and recorded reason or resource.\\nOpen the related record when your application provides a link.\\n\\n## Record history\\nThe application enables auditing on selected models and authorizes audit reads. Only recorded events appear; enabling auditing does not reconstruct earlier changes.\\nSensitive audit details are available only through the application's authorized history service.\\n","fieldRefs":[]},"surfaces":[{"kind":"route","path":"/activity","export":"@happyvertical/smrt-svelte#ActivityList","label":"Activity log"}],"providers":[{"id":"audit-trail","kind":"activity","options":["audit-log"],"required":true}],"runtime":"both","demoSeed":{"data":{"entries":[{"id":"demo-audit","title":"Demo colleague \xB7 updated","detail":"Approved a fictional record.","occurredAt":"2026-01-01T12:00:00Z","href":null}]}},"demo":{"mode":"server","reasons":["Needs a server because its package does not build for a browser: node:crypto in root; core migrations (node:os); and its package depends on @happyvertical/smrt-tenancy, which do not build for a browser (#3617, #3624, #3626)."]}}],"smrtDependencies":["@happyvertical/smrt-assets","@happyvertical/smrt-core","@happyvertical/smrt-prompts","@happyvertical/smrt-tenancy"],"browser":{"status":"server-only","issues":["#3617","#3624","#3626"],"reason":"node:crypto in root; core migrations (node:os)","via":["@happyvertical/smrt-tenancy"]},"stampsConstructors":true}`));
40
+ ObjectRegistry.registerPackageManifest(JSON.parse(`{"version":"1.0.0","timestamp":0,"packageName":"@happyvertical/smrt-profiles","packageVersion":"0.60.10","objects":{"@happyvertical/smrt-profiles:ApiKeyCollection":{"name":"apikeycollection","className":"ApiKeyCollection","qualifiedName":"@happyvertical/smrt-profiles:ApiKeyCollection","collection":"apikeys","filePath":"/home/runner/work/smrt/smrt/packages/profiles/src/collections/ApiKeyCollection.ts","packageName":"@happyvertical/smrt-profiles","fields":{},"methods":{"findByProfile":{"name":"findByProfile","async":true,"parameters":[{"name":"profileId","type":"string","optional":false}],"returnType":"Promise<ApiKey[]>","isStatic":false,"isPublic":true},"findActiveByProfile":{"name":"findActiveByProfile","async":true,"parameters":[{"name":"profileId","type":"string","optional":false}],"returnType":"Promise<ApiKey[]>","isStatic":false,"isPublic":true},"findByHash":{"name":"findByHash","async":true,"parameters":[{"name":"keyHash","type":"string","optional":false}],"returnType":"Promise<ApiKey | null>","isStatic":false,"isPublic":true},"verify":{"name":"verify","async":true,"parameters":[{"name":"key","type":"string","optional":false}],"returnType":"Promise<ApiKey | null>","isStatic":false,"isPublic":true},"generateForProfile":{"name":"generateForProfile","async":true,"parameters":[{"name":"profile","type":"Profile","optional":false},{"name":"options","type":"object","optional":false,"memberTypes":["string","string[]","Date | null"]}],"returnType":"Promise<GenerateKeyResult>","isStatic":false,"isPublic":true},"revokeAllForProfile":{"name":"revokeAllForProfile","async":true,"parameters":[{"name":"profileId","type":"string","optional":false}],"returnType":"Promise<number>","isStatic":false,"isPublic":true},"revokeByPrefix":{"name":"revokeByPrefix","async":true,"parameters":[{"name":"keyPrefix","type":"string","optional":false}],"returnType":"Promise<boolean>","isStatic":false,"isPublic":true},"cleanupExpired":{"name":"cleanupExpired","async":true,"parameters":[],"returnType":"Promise<number>","isStatic":false,"isPublic":true}},"decoratorConfig":{"tableName":"api_keys","api":{"include":["list","get"]},"mcp":{"include":["list","get"]},"cli":{"include":["list","get","create"],"skipApiCheck":true}},"extends":"SmrtCollection","extendsTypeArg":"ApiKey","exportName":"ApiKeyCollection","collectionExportName":"ApiKeyCollectionCollection","collectionOf":"@happyvertical/smrt-profiles:ApiKey","inheritedExposure":["api","mcp","cli"],"schema":{"tableName":"api_keys","ddl":"CREATE TABLE IF NOT EXISTS \\"api_keys\\" (\\n \\"_sync_origin_device_id\\" TEXT,\\n \\"_sync_revision\\" INTEGER,\\n \\"id\\" UUID PRIMARY KEY NOT NULL,\\n \\"slug\\" TEXT NOT NULL,\\n \\"context\\" TEXT NOT NULL DEFAULT '',\\n \\"created_at\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\"updated_at\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\"profile_id\\" UUID NOT NULL,\\n \\"key_hash\\" TEXT DEFAULT '',\\n \\"key_prefix\\" TEXT DEFAULT '',\\n \\"name\\" TEXT DEFAULT '',\\n \\"scopes\\" JSON DEFAULT '[]',\\n \\"last_used_at\\" TIMESTAMP,\\n \\"expires_at\\" TIMESTAMP,\\n \\"revoked_at\\" TIMESTAMP\\n);","columns":{"_sync_origin_device_id":{"type":"TEXT"},"_sync_revision":{"type":"INTEGER"},"id":{"type":"UUID","primaryKey":true,"referenceKind":"id","notNull":true},"slug":{"type":"TEXT","notNull":true},"context":{"type":"TEXT","notNull":true,"default":""},"created_at":{"type":"TIMESTAMP","notNull":true,"default":"current_timestamp"},"updated_at":{"type":"TIMESTAMP","notNull":true,"default":"current_timestamp"},"profile_id":{"type":"UUID","referenceKind":"foreignKey","notNull":true,"unique":false,"foreignKey":{"table":"profiles","column":"id","onDelete":"NO ACTION","onUpdate":"CASCADE"}},"key_hash":{"type":"TEXT","notNull":false,"unique":false,"default":""},"key_prefix":{"type":"TEXT","notNull":false,"unique":false,"default":""},"name":{"type":"TEXT","notNull":false,"unique":false,"default":""},"scopes":{"type":"JSON","notNull":false,"unique":false,"default":[]},"last_used_at":{"type":"TIMESTAMP","notNull":false,"unique":false},"expires_at":{"type":"TIMESTAMP","notNull":false,"unique":false},"revoked_at":{"type":"TIMESTAMP","notNull":false,"unique":false}},"indexes":[{"name":"api_keys_slug_context_idx","columns":["slug","context"],"unique":true},{"name":"api_keys_key_hash_idx","columns":["key_hash"]},{"name":"api_keys_created_at_idx","columns":["created_at"]},{"name":"api_keys_profile_id_idx","columns":["profile_id"]}],"version":"755ad4c6"},"importPath":"@happyvertical/smrt-profiles"},"@happyvertical/smrt-profiles:AuditLogCollection":{"name":"auditlogcollection","className":"AuditLogCollection","qualifiedName":"@happyvertical/smrt-profiles:AuditLogCollection","collection":"auditlogs","filePath":"/home/runner/work/smrt/smrt/packages/profiles/src/collections/AuditLogCollection.ts","packageName":"@happyvertical/smrt-profiles","fields":{},"methods":{"findByProfile":{"name":"findByProfile","async":true,"parameters":[{"name":"profileId","type":"string","optional":false}],"returnType":"Promise<AuditLog[]>","isStatic":false,"isPublic":true},"findByResource":{"name":"findByResource","async":true,"parameters":[{"name":"resourceType","type":"string","optional":false},{"name":"resourceId","type":"string","optional":false}],"returnType":"Promise<AuditLog[]>","isStatic":false,"isPublic":true},"findByAction":{"name":"findByAction","async":true,"parameters":[{"name":"action","type":"string","optional":false}],"returnType":"Promise<AuditLog[]>","isStatic":false,"isPublic":true},"findBySource":{"name":"findBySource","async":true,"parameters":[{"name":"source","type":"AuditSource","optional":false}],"returnType":"Promise<AuditLog[]>","isStatic":false,"isPublic":true},"findOnBehalfOf":{"name":"findOnBehalfOf","async":true,"parameters":[{"name":"profileId","type":"string","optional":false}],"returnType":"Promise<AuditLog[]>","isStatic":false,"isPublic":true},"record":{"name":"record","async":true,"parameters":[{"name":"options","type":"object","optional":false,"memberTypes":["Profile","string","AuditSource","Record<string, unknown>","Profile | null","Record<string, AuditChange>"]}],"returnType":"Promise<AuditLog>","isStatic":false,"isPublic":true},"getRecentActivity":{"name":"getRecentActivity","async":true,"parameters":[{"name":"profileId","type":"string","optional":false},{"name":"limit","type":"number","optional":true}],"returnType":"Promise<AuditLog[]>","isStatic":false,"isPublic":true},"getResourceTimeline":{"name":"getResourceTimeline","async":true,"parameters":[{"name":"resourceType","type":"string","optional":false},{"name":"resourceId","type":"string","optional":false}],"returnType":"Promise<AuditLog[]>","isStatic":false,"isPublic":true}},"decoratorConfig":{"tableName":"audit_logs","api":false,"mcp":false,"cli":false},"extends":"SmrtCollection","extendsTypeArg":"AuditLog","exportName":"AuditLogCollection","collectionExportName":"AuditLogCollectionCollection","collectionOf":"@happyvertical/smrt-profiles:AuditLog","inheritedExposure":["api","mcp","cli"],"schema":{"tableName":"audit_logs","ddl":"CREATE TABLE IF NOT EXISTS \\"audit_logs\\" (\\n \\"_sync_origin_device_id\\" TEXT,\\n \\"_sync_revision\\" INTEGER,\\n \\"id\\" UUID PRIMARY KEY NOT NULL,\\n \\"slug\\" TEXT NOT NULL,\\n \\"context\\" TEXT NOT NULL DEFAULT '',\\n \\"created_at\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\"updated_at\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\"tenant_id\\" UUID,\\n \\"profile_id\\" UUID NOT NULL,\\n \\"action\\" TEXT DEFAULT '',\\n \\"reason\\" TEXT DEFAULT '',\\n \\"changes\\" JSON DEFAULT '{}',\\n \\"resource_type\\" TEXT DEFAULT '',\\n \\"resource_id\\" TEXT DEFAULT '',\\n \\"occurred_at\\" TIMESTAMP DEFAULT current_timestamp,\\n \\"source\\" TEXT DEFAULT 'web',\\n \\"metadata\\" JSON DEFAULT '{}',\\n \\"on_behalf_of_id\\" UUID\\n);","columns":{"_sync_origin_device_id":{"type":"TEXT"},"_sync_revision":{"type":"INTEGER"},"id":{"type":"UUID","primaryKey":true,"referenceKind":"id","notNull":true},"slug":{"type":"TEXT","notNull":true},"context":{"type":"TEXT","notNull":true,"default":""},"created_at":{"type":"TIMESTAMP","notNull":true,"default":"current_timestamp"},"updated_at":{"type":"TIMESTAMP","notNull":true,"default":"current_timestamp"},"tenant_id":{"type":"UUID","referenceKind":"tenantId","notNull":false,"unique":false},"profile_id":{"type":"UUID","referenceKind":"foreignKey","notNull":true,"unique":false,"foreignKey":{"table":"profiles","column":"id","onDelete":"NO ACTION","onUpdate":"CASCADE"}},"action":{"type":"TEXT","notNull":false,"unique":false,"default":""},"reason":{"type":"TEXT","notNull":false,"unique":false,"default":""},"changes":{"type":"JSON","notNull":false,"unique":false,"default":{}},"resource_type":{"type":"TEXT","notNull":false,"unique":false,"default":""},"resource_id":{"type":"TEXT","notNull":false,"unique":false,"default":""},"occurred_at":{"type":"TIMESTAMP","notNull":false,"unique":false,"default":"current_timestamp"},"source":{"type":"TEXT","notNull":false,"unique":false,"default":"web"},"metadata":{"type":"JSON","notNull":false,"unique":false,"default":{}},"on_behalf_of_id":{"type":"UUID","referenceKind":"foreignKey","notNull":false,"unique":false,"foreignKey":{"table":"profiles","column":"id","onDelete":"NO ACTION","onUpdate":"CASCADE"}}},"indexes":[{"name":"audit_logs_slug_context_idx","columns":["tenant_id","slug","context"],"unique":true,"nullsNotDistinct":true},{"name":"audit_logs_resource_type_idx","columns":["resource_type"]},{"name":"audit_logs_resource_id_idx","columns":["resource_id"]},{"name":"audit_logs_occurred_at_idx","columns":["occurred_at"]},{"name":"audit_logs_tenant_id_created_at_idx","columns":["tenant_id","created_at"]},{"name":"audit_logs_profile_id_idx","columns":["profile_id"]},{"name":"audit_logs_on_behalf_of_id_idx","columns":["on_behalf_of_id"]}],"version":"fdd88969"},"importPath":"@happyvertical/smrt-profiles"},"@happyvertical/smrt-profiles:MagicLinkTokenCollection":{"name":"magiclinktokencollection","className":"MagicLinkTokenCollection","qualifiedName":"@happyvertical/smrt-profiles:MagicLinkTokenCollection","collection":"magiclinktokens","filePath":"/home/runner/work/smrt/smrt/packages/profiles/src/collections/MagicLinkTokenCollection.ts","packageName":"@happyvertical/smrt-profiles","fields":{},"methods":{"findByTokenHash":{"name":"findByTokenHash","async":true,"parameters":[{"name":"tokenHash","type":"string","optional":false}],"returnType":"Promise<MagicLinkToken | null>","isStatic":false,"isPublic":true},"findActiveForEmail":{"name":"findActiveForEmail","async":true,"parameters":[{"name":"email","type":"string","optional":false}],"returnType":"Promise<MagicLinkToken[]>","isStatic":false,"isPublic":true},"findByIdentity":{"name":"findByIdentity","async":true,"parameters":[{"name":"nostrIdentityId","type":"string","optional":false}],"returnType":"Promise<MagicLinkToken[]>","isStatic":false,"isPublic":true},"countRecentByEmail":{"name":"countRecentByEmail","async":true,"parameters":[{"name":"email","type":"string","optional":false},{"name":"withinMinutes","type":"number","optional":false}],"returnType":"Promise<number>","isStatic":false,"isPublic":true},"countRecentByIp":{"name":"countRecentByIp","async":true,"parameters":[{"name":"ip","type":"string","optional":false},{"name":"withinMinutes","type":"number","optional":false}],"returnType":"Promise<number>","isStatic":false,"isPublic":true},"verify":{"name":"verify","async":true,"parameters":[{"name":"token","type":"string","optional":false}],"returnType":"Promise<MagicLinkToken | null>","isStatic":false,"isPublic":true},"cleanupExpired":{"name":"cleanupExpired","async":true,"parameters":[],"returnType":"Promise<number>","isStatic":false,"isPublic":true},"revokeForIdentity":{"name":"revokeForIdentity","async":true,"parameters":[{"name":"nostrIdentityId","type":"string","optional":false}],"returnType":"Promise<number>","isStatic":false,"isPublic":true},"isRateLimitedByEmail":{"name":"isRateLimitedByEmail","async":true,"parameters":[{"name":"email","type":"string","optional":false},{"name":"maxPerHour","type":"number","optional":true}],"returnType":"Promise<boolean>","isStatic":false,"isPublic":true},"isRateLimitedByIp":{"name":"isRateLimitedByIp","async":true,"parameters":[{"name":"ip","type":"string","optional":false},{"name":"maxPerHour","type":"number","optional":true}],"returnType":"Promise<boolean>","isStatic":false,"isPublic":true}},"decoratorConfig":{"tableName":"magic_link_tokens","api":{"include":[]},"mcp":{"include":[]},"cli":{"include":["list"],"skipApiCheck":["list"]}},"extends":"SmrtCollection","extendsTypeArg":"MagicLinkToken","exportName":"MagicLinkTokenCollection","collectionExportName":"MagicLinkTokenCollectionCollection","collectionOf":"@happyvertical/smrt-profiles:MagicLinkToken","inheritedExposure":["api","mcp","cli"],"schema":{"tableName":"magic_link_tokens","ddl":"CREATE TABLE IF NOT EXISTS \\"magic_link_tokens\\" (\\n \\"_sync_origin_device_id\\" TEXT,\\n \\"_sync_revision\\" INTEGER,\\n \\"id\\" UUID PRIMARY KEY NOT NULL,\\n \\"slug\\" TEXT NOT NULL,\\n \\"context\\" TEXT NOT NULL DEFAULT '',\\n \\"created_at\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\"updated_at\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\"nostr_identity_id\\" UUID NOT NULL,\\n \\"token_hash\\" TEXT DEFAULT '',\\n \\"email\\" TEXT DEFAULT '',\\n \\"expires_at\\" TIMESTAMP,\\n \\"used_at\\" TIMESTAMP,\\n \\"requested_from_ip\\" TEXT DEFAULT ''\\n);","columns":{"_sync_origin_device_id":{"type":"TEXT"},"_sync_revision":{"type":"INTEGER"},"id":{"type":"UUID","primaryKey":true,"referenceKind":"id","notNull":true},"slug":{"type":"TEXT","notNull":true},"context":{"type":"TEXT","notNull":true,"default":""},"created_at":{"type":"TIMESTAMP","notNull":true,"default":"current_timestamp"},"updated_at":{"type":"TIMESTAMP","notNull":true,"default":"current_timestamp"},"nostr_identity_id":{"type":"UUID","referenceKind":"foreignKey","notNull":true,"unique":false,"foreignKey":{"table":"nostr_identities","column":"id","onDelete":"NO ACTION","onUpdate":"CASCADE"}},"token_hash":{"type":"TEXT","notNull":false,"unique":false,"default":""},"email":{"type":"TEXT","notNull":false,"unique":false,"default":""},"expires_at":{"type":"TIMESTAMP","notNull":false,"unique":false},"used_at":{"type":"TIMESTAMP","notNull":false,"unique":false},"requested_from_ip":{"type":"TEXT","notNull":false,"unique":false,"default":""}},"indexes":[{"name":"magic_link_tokens_slug_context_idx","columns":["slug","context"],"unique":true},{"name":"magic_link_tokens_token_hash_idx","columns":["token_hash"]},{"name":"magic_link_tokens_created_at_idx","columns":["created_at"]},{"name":"magic_link_tokens_nostr_identity_id_idx","columns":["nostr_identity_id"]}],"version":"50f2a845"},"importPath":"@happyvertical/smrt-profiles"},"@happyvertical/smrt-profiles:NostrIdentityCollection":{"name":"nostridentitycollection","className":"NostrIdentityCollection","qualifiedName":"@happyvertical/smrt-profiles:NostrIdentityCollection","collection":"nostridentities","filePath":"/home/runner/work/smrt/smrt/packages/profiles/src/collections/NostrIdentityCollection.ts","packageName":"@happyvertical/smrt-profiles","fields":{},"methods":{"findByProfile":{"name":"findByProfile","async":true,"parameters":[{"name":"profileId","type":"string","optional":false}],"returnType":"Promise<NostrIdentity[]>","isStatic":false,"isPublic":true},"findByPubkey":{"name":"findByPubkey","async":true,"parameters":[{"name":"pubkey","type":"string","optional":false}],"returnType":"Promise<NostrIdentity | null>","isStatic":false,"isPublic":true},"findByEmail":{"name":"findByEmail","async":true,"parameters":[{"name":"email","type":"string","optional":false}],"returnType":"Promise<NostrIdentity | null>","isStatic":false,"isPublic":true},"findByNip05":{"name":"findByNip05","async":true,"parameters":[{"name":"username","type":"string","optional":false}],"returnType":"Promise<NostrIdentity | null>","isStatic":false,"isPublic":true},"createForProfile":{"name":"createForProfile","async":true,"parameters":[{"name":"profile","type":"Profile","optional":false},{"name":"email","type":"string","optional":false},{"name":"masterSecret","type":"string","optional":false},{"name":"nip05Username","type":"string","optional":true}],"returnType":"Promise<NostrIdentity>","isStatic":false,"isPublic":true},"linkToProfile":{"name":"linkToProfile","async":true,"parameters":[{"name":"profile","type":"Profile","optional":false},{"name":"nostrData","type":"object","optional":false,"memberTypes":["string"]}],"returnType":"Promise<NostrIdentity>","isStatic":false,"isPublic":true},"unlinkFromProfile":{"name":"unlinkFromProfile","async":true,"parameters":[{"name":"profileId","type":"string","optional":false},{"name":"pubkey","type":"string","optional":false}],"returnType":"Promise<boolean>","isStatic":false,"isPublic":true},"getNip05Response":{"name":"getNip05Response","async":true,"parameters":[{"name":"username","type":"string","optional":true}],"returnType":"Promise<Nip05Response>","isStatic":false,"isPublic":true},"isNip05Available":{"name":"isNip05Available","async":true,"parameters":[{"name":"username","type":"string","optional":false}],"returnType":"Promise<boolean>","isStatic":false,"isPublic":true},"updateNip05Username":{"name":"updateNip05Username","async":true,"parameters":[{"name":"identity","type":"NostrIdentity","optional":false},{"name":"newUsername","type":"string","optional":false}],"returnType":"Promise<NostrIdentity>","isStatic":false,"isPublic":true}},"decoratorConfig":{"tableName":"nostr_identities","api":{"include":["list","get"]},"mcp":{"include":["list","get"]},"cli":{"include":["list","get"]}},"extends":"SmrtCollection","extendsTypeArg":"NostrIdentity","exportName":"NostrIdentityCollection","collectionExportName":"NostrIdentityCollectionCollection","collectionOf":"@happyvertical/smrt-profiles:NostrIdentity","inheritedExposure":["api","mcp","cli"],"schema":{"tableName":"nostr_identities","ddl":"CREATE TABLE IF NOT EXISTS \\"nostr_identities\\" (\\n \\"_sync_origin_device_id\\" TEXT,\\n \\"_sync_revision\\" INTEGER,\\n \\"id\\" UUID PRIMARY KEY NOT NULL,\\n \\"slug\\" TEXT NOT NULL,\\n \\"context\\" TEXT NOT NULL DEFAULT '',\\n \\"created_at\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\"updated_at\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\"profile_id\\" UUID NOT NULL,\\n \\"pubkey\\" TEXT DEFAULT '',\\n \\"encrypted_privkey\\" TEXT DEFAULT '',\\n \\"encryption_iv\\" TEXT DEFAULT '',\\n \\"encryption_tag\\" TEXT DEFAULT '',\\n \\"email\\" TEXT DEFAULT '',\\n \\"nip05_username\\" TEXT DEFAULT '',\\n \\"last_used_at\\" TIMESTAMP,\\n \\"verified_at\\" TIMESTAMP\\n);","columns":{"_sync_origin_device_id":{"type":"TEXT"},"_sync_revision":{"type":"INTEGER"},"id":{"type":"UUID","primaryKey":true,"referenceKind":"id","notNull":true},"slug":{"type":"TEXT","notNull":true},"context":{"type":"TEXT","notNull":true,"default":""},"created_at":{"type":"TIMESTAMP","notNull":true,"default":"current_timestamp"},"updated_at":{"type":"TIMESTAMP","notNull":true,"default":"current_timestamp"},"profile_id":{"type":"UUID","referenceKind":"foreignKey","notNull":true,"unique":false,"foreignKey":{"table":"profiles","column":"id","onDelete":"NO ACTION","onUpdate":"CASCADE"}},"pubkey":{"type":"TEXT","notNull":false,"unique":false,"default":""},"encrypted_privkey":{"type":"TEXT","notNull":false,"unique":false,"default":""},"encryption_iv":{"type":"TEXT","notNull":false,"unique":false,"default":""},"encryption_tag":{"type":"TEXT","notNull":false,"unique":false,"default":""},"email":{"type":"TEXT","notNull":false,"unique":false,"default":""},"nip05_username":{"type":"TEXT","notNull":false,"unique":false,"default":""},"last_used_at":{"type":"TIMESTAMP","notNull":false,"unique":false},"verified_at":{"type":"TIMESTAMP","notNull":false,"unique":false}},"indexes":[{"name":"nostr_identities_slug_context_idx","columns":["slug","context"],"unique":true},{"name":"nostr_identities_pubkey_idx","columns":["pubkey"]},{"name":"nostr_identities_created_at_idx","columns":["created_at"]},{"name":"nostr_identities_profile_id_idx","columns":["profile_id"]}],"version":"925bb86c"},"importPath":"@happyvertical/smrt-profiles"},"@happyvertical/smrt-profiles:OidcIdentityCollection":{"name":"oidcidentitycollection","className":"OidcIdentityCollection","qualifiedName":"@happyvertical/smrt-profiles:OidcIdentityCollection","collection":"oidcidentities","filePath":"/home/runner/work/smrt/smrt/packages/profiles/src/collections/OidcIdentityCollection.ts","packageName":"@happyvertical/smrt-profiles","fields":{},"methods":{"findByProfile":{"name":"findByProfile","async":true,"parameters":[{"name":"profileId","type":"string","optional":false}],"returnType":"Promise<OidcIdentity[]>","isStatic":false,"isPublic":true},"findBySubject":{"name":"findBySubject","async":true,"parameters":[{"name":"issuer","type":"string","optional":false},{"name":"subject","type":"string","optional":false}],"returnType":"Promise<OidcIdentity | null>","isStatic":false,"isPublic":true},"findByProvider":{"name":"findByProvider","async":true,"parameters":[{"name":"provider","type":"string","optional":false}],"returnType":"Promise<OidcIdentity[]>","isStatic":false,"isPublic":true},"linkToProfile":{"name":"linkToProfile","async":true,"parameters":[{"name":"profile","type":"Profile","optional":false},{"name":"oidcData","type":"object","optional":false,"memberTypes":["string"]}],"returnType":"Promise<OidcIdentity>","isStatic":false,"isPublic":true},"unlinkFromProfile":{"name":"unlinkFromProfile","async":true,"parameters":[{"name":"profileId","type":"string","optional":false},{"name":"issuer","type":"string","optional":false},{"name":"subject","type":"string","optional":false}],"returnType":"Promise<boolean>","isStatic":false,"isPublic":true}},"decoratorConfig":{"tableName":"oidc_identities","api":{"include":["list","get"]},"mcp":{"include":["list","get"]},"cli":{"include":["list","get"]}},"extends":"SmrtCollection","extendsTypeArg":"OidcIdentity","exportName":"OidcIdentityCollection","collectionExportName":"OidcIdentityCollectionCollection","collectionOf":"@happyvertical/smrt-profiles:OidcIdentity","inheritedExposure":["api","mcp","cli"],"schema":{"tableName":"oidc_identities","ddl":"CREATE TABLE IF NOT EXISTS \\"oidc_identities\\" (\\n \\"_sync_origin_device_id\\" TEXT,\\n \\"_sync_revision\\" INTEGER,\\n \\"id\\" UUID PRIMARY KEY NOT NULL,\\n \\"slug\\" TEXT NOT NULL,\\n \\"context\\" TEXT NOT NULL DEFAULT '',\\n \\"created_at\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\"updated_at\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\"profile_id\\" UUID NOT NULL,\\n \\"provider\\" TEXT,\\n \\"issuer\\" TEXT,\\n \\"subject\\" TEXT,\\n \\"identity_key\\" TEXT UNIQUE,\\n \\"email\\" TEXT,\\n \\"last_used_at\\" TIMESTAMP\\n);","columns":{"_sync_origin_device_id":{"type":"TEXT"},"_sync_revision":{"type":"INTEGER"},"id":{"type":"UUID","primaryKey":true,"referenceKind":"id","notNull":true},"slug":{"type":"TEXT","notNull":true},"context":{"type":"TEXT","notNull":true,"default":""},"created_at":{"type":"TIMESTAMP","notNull":true,"default":"current_timestamp"},"updated_at":{"type":"TIMESTAMP","notNull":true,"default":"current_timestamp"},"profile_id":{"type":"UUID","referenceKind":"foreignKey","notNull":true,"unique":false,"foreignKey":{"table":"profiles","column":"id","onDelete":"NO ACTION","onUpdate":"CASCADE"}},"provider":{"type":"TEXT","notNull":false,"unique":false},"issuer":{"type":"TEXT","notNull":false,"unique":false},"subject":{"type":"TEXT","notNull":false,"unique":false},"identity_key":{"type":"TEXT","notNull":false,"unique":true},"email":{"type":"TEXT","notNull":false,"unique":false},"last_used_at":{"type":"TIMESTAMP","notNull":false,"unique":false}},"indexes":[{"name":"oidc_identities_slug_context_idx","columns":["slug","context"],"unique":true},{"name":"oidc_identities_issuer_idx","columns":["issuer"]},{"name":"oidc_identities_subject_idx","columns":["subject"]},{"name":"oidc_identities_created_at_idx","columns":["created_at"]},{"name":"oidc_identities_profile_id_idx","columns":["profile_id"]}],"version":"d5516503"},"importPath":"@happyvertical/smrt-profiles"},"@happyvertical/smrt-profiles:OidcProfileEmailReservationCollection":{"name":"oidcprofileemailreservationcollection","className":"OidcProfileEmailReservationCollection","qualifiedName":"@happyvertical/smrt-profiles:OidcProfileEmailReservationCollection","collection":"oidcprofileemailreservations","description":"Internal collection for canonical OIDC email reservations.","filePath":"/home/runner/work/smrt/smrt/packages/profiles/src/collections/OidcProfileEmailReservationCollection.ts","packageName":"@happyvertical/smrt-profiles","fields":{},"methods":{},"decoratorConfig":{"tableName":"oidc_profile_email_reservations","api":false,"mcp":false,"cli":false},"extends":"SmrtCollection","extendsTypeArg":"OidcProfileEmailReservation","exportName":"OidcProfileEmailReservationCollection","collectionExportName":"OidcProfileEmailReservationCollectionCollection","collectionOf":"@happyvertical/smrt-profiles:OidcProfileEmailReservation","inheritedExposure":["api","mcp","cli"],"schema":{"tableName":"oidc_profile_email_reservations","ddl":"CREATE TABLE IF NOT EXISTS \\"oidc_profile_email_reservations\\" (\\n \\"_sync_origin_device_id\\" TEXT,\\n \\"_sync_revision\\" INTEGER,\\n \\"id\\" UUID PRIMARY KEY NOT NULL,\\n \\"slug\\" TEXT NOT NULL,\\n \\"context\\" TEXT NOT NULL DEFAULT '',\\n \\"created_at\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\"updated_at\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\"profile_id\\" UUID NOT NULL UNIQUE,\\n \\"email_key\\" TEXT NOT NULL UNIQUE\\n);","columns":{"_sync_origin_device_id":{"type":"TEXT"},"_sync_revision":{"type":"INTEGER"},"id":{"type":"UUID","primaryKey":true,"referenceKind":"id","notNull":true},"slug":{"type":"TEXT","notNull":true},"context":{"type":"TEXT","notNull":true,"default":""},"created_at":{"type":"TIMESTAMP","notNull":true,"default":"current_timestamp"},"updated_at":{"type":"TIMESTAMP","notNull":true,"default":"current_timestamp"},"profile_id":{"type":"UUID","referenceKind":"foreignKey","notNull":true,"unique":true,"foreignKey":{"table":"profiles","column":"id","onDelete":"NO ACTION","onUpdate":"CASCADE"}},"email_key":{"type":"TEXT","notNull":true,"unique":true}},"indexes":[{"name":"oidc_profile_email_reservations_slug_context_idx","columns":["slug","context"],"unique":true},{"name":"oidc_profile_email_reservations_created_at_idx","columns":["created_at"]}],"version":"425d67ae"},"importPath":"@happyvertical/smrt-profiles"},"@happyvertical/smrt-profiles:ProfileAssetCollection":{"name":"profileassetcollection","className":"ProfileAssetCollection","qualifiedName":"@happyvertical/smrt-profiles:ProfileAssetCollection","collection":"profileassets","filePath":"/home/runner/work/smrt/smrt/packages/profiles/src/collections/ProfileAssetCollection.ts","packageName":"@happyvertical/smrt-profiles","fields":{},"methods":{"byRight":{"name":"byRight","async":true,"parameters":[{"name":"rightId","type":"string","optional":false},{"name":"opts","type":"JunctionFilterOptions","optional":true}],"returnType":"Promise<TItem[]>","isStatic":false,"isPublic":true},"byLeft":{"name":"byLeft","async":true,"parameters":[{"name":"leftId","type":"string","optional":false},{"name":"opts","type":"JunctionFilterOptions","optional":true}],"returnType":"Promise<TItem[]>","isStatic":false,"isPublic":true},"attach":{"name":"attach","async":true,"parameters":[{"name":"leftId","type":"string","optional":false},{"name":"rightId","type":"string","optional":false},{"name":"opts","type":"JunctionAttachOptions","optional":true,"resolvedType":"Record<string, unknown>"}],"returnType":"Promise<TItem>","isStatic":false,"isPublic":true},"detach":{"name":"detach","async":true,"parameters":[{"name":"leftId","type":"string","optional":false},{"name":"rightId","type":"string","optional":false},{"name":"opts","type":"JunctionFilterOptions","optional":true}],"returnType":"Promise<void>","isStatic":false,"isPublic":true},"setLinks":{"name":"setLinks","async":true,"parameters":[{"name":"leftId","type":"string","optional":false},{"name":"rightIds","type":"string[]","optional":false},{"name":"opts","type":"JunctionAttachOptions","optional":true,"resolvedType":"Record<string, unknown>"}],"returnType":"Promise<void>","isStatic":false,"isPublic":true},"getAssets":{"name":"getAssets","async":true,"parameters":[{"name":"profileId","type":"string","optional":false},{"name":"relationship","type":"string","optional":true}],"returnType":"Promise<Asset[]>","isStatic":false,"isPublic":true},"addAsset":{"name":"addAsset","async":true,"parameters":[{"name":"profileId","type":"string","optional":false},{"name":"asset","type":"Asset","optional":false},{"name":"relationship","type":"any","optional":true,"default":"attachment"},{"name":"sortOrder","type":"any","optional":true}],"returnType":"Promise<void>","isStatic":false,"isPublic":true},"removeAsset":{"name":"removeAsset","async":true,"parameters":[{"name":"profileId","type":"string","optional":false},{"name":"assetId","type":"string","optional":false},{"name":"relationship","type":"string","optional":true}],"returnType":"Promise<void>","isStatic":false,"isPublic":true}},"decoratorConfig":{"api":false,"mcp":false,"cli":false,"tableName":"profile_assets"},"extends":"SmrtJunction","extendsTypeArg":"ProfileAsset","exportName":"ProfileAssetCollection","collectionExportName":"ProfileAssetCollectionCollection","collectionOf":"@happyvertical/smrt-profiles:ProfileAsset","schema":{"tableName":"profile_assets","ddl":"CREATE TABLE IF NOT EXISTS \\"profile_assets\\" (\\n \\"_sync_origin_device_id\\" TEXT,\\n \\"_sync_revision\\" INTEGER,\\n \\"id\\" UUID PRIMARY KEY NOT NULL,\\n \\"slug\\" TEXT NOT NULL,\\n \\"context\\" TEXT NOT NULL DEFAULT '',\\n \\"created_at\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\"updated_at\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\"tenant_id\\" UUID,\\n \\"profile_id\\" UUID NOT NULL,\\n \\"asset_id\\" UUID NOT NULL,\\n \\"relationship\\" TEXT NOT NULL,\\n \\"sort_order\\" INTEGER NOT NULL DEFAULT 0\\n);","columns":{"_sync_origin_device_id":{"type":"TEXT"},"_sync_revision":{"type":"INTEGER"},"id":{"type":"UUID","primaryKey":true,"referenceKind":"id","notNull":true},"slug":{"type":"TEXT","notNull":true},"context":{"type":"TEXT","notNull":true,"default":""},"created_at":{"type":"TIMESTAMP","notNull":true,"default":"current_timestamp"},"updated_at":{"type":"TIMESTAMP","notNull":true,"default":"current_timestamp"},"tenant_id":{"type":"UUID","referenceKind":"tenantId","notNull":false,"unique":false},"profile_id":{"type":"UUID","referenceKind":"foreignKey","notNull":true,"unique":false,"foreignKey":{"table":"profiles","column":"id","onDelete":"CASCADE","onUpdate":"CASCADE"}},"asset_id":{"type":"UUID","referenceKind":"crossPackageRef","notNull":true,"unique":false},"relationship":{"type":"TEXT","notNull":true,"unique":false},"sort_order":{"type":"INTEGER","notNull":true,"unique":false,"default":0}},"indexes":[{"name":"profile_assets_profile_id_asset_id_idx","columns":["profile_id","asset_id","relationship"],"unique":true},{"name":"profile_assets_slug_context_idx","columns":["slug","context"]},{"name":"profile_assets_tenant_id_created_at_idx","columns":["tenant_id","created_at"]},{"name":"profile_assets_asset_id_idx","columns":["asset_id"]}],"version":"86c00d61"},"importPath":"@happyvertical/smrt-profiles"},"@happyvertical/smrt-profiles:ProfileCollection":{"name":"profilecollection","className":"ProfileCollection","qualifiedName":"@happyvertical/smrt-profiles:ProfileCollection","collection":"profiles","filePath":"/home/runner/work/smrt/smrt/packages/profiles/src/collections/ProfileCollection.ts","packageName":"@happyvertical/smrt-profiles","fields":{},"methods":{"findByEmail":{"name":"findByEmail","async":true,"parameters":[{"name":"email","type":"string","optional":false}],"returnType":"Promise<Profile | null>","isStatic":false,"isPublic":true},"findUniqueGlobalPersonByEmail":{"name":"findUniqueGlobalPersonByEmail","async":true,"parameters":[{"name":"email","type":"string","optional":false}],"returnType":"Promise<Profile | null>","isStatic":false,"isPublic":true},"requireCanonicalGlobalPerson":{"name":"requireCanonicalGlobalPerson","async":true,"parameters":[{"name":"profileId","type":"string","optional":false},{"name":"email","type":"string","optional":true}],"returnType":"Promise<Profile>","isStatic":false,"isPublic":true},"reserveCanonicalIdentityEmail":{"name":"reserveCanonicalIdentityEmail","async":true,"parameters":[{"name":"profileId","type":"string","optional":false},{"name":"email","type":"string","optional":true}],"returnType":"Promise<Profile>","isStatic":false,"isPublic":true},"findByType":{"name":"findByType","async":true,"parameters":[{"name":"typeSlug","type":"string","optional":false}],"returnType":"Promise<Profile[]>","isStatic":false,"isPublic":true},"batchGetMetadata":{"name":"batchGetMetadata","async":true,"parameters":[{"name":"profileIds","type":"string[]","optional":false}],"returnType":"Promise<Map<string, Record<string, string>>>","isStatic":false,"isPublic":true},"batchUpdateMetadata":{"name":"batchUpdateMetadata","async":true,"parameters":[{"name":"updates","type":"Array<object>","optional":false,"memberTypes":["string","Record<string, unknown>"]}],"returnType":"Promise<void>","isStatic":false,"isPublic":true},"findRelated":{"name":"findRelated","async":true,"parameters":[{"name":"profileId","type":"string","optional":false},{"name":"relationshipSlug","type":"string","optional":true}],"returnType":"Promise<Profile[]>","isStatic":false,"isPublic":true},"getAssets":{"name":"getAssets","async":true,"parameters":[{"name":"profileId","type":"string","optional":false},{"name":"relationship","type":"string","optional":true}],"returnType":"Promise<Asset[]>","isStatic":false,"isPublic":true},"addAsset":{"name":"addAsset","async":true,"parameters":[{"name":"profileId","type":"string","optional":false},{"name":"asset","type":"Asset","optional":false},{"name":"relationship","type":"any","optional":true,"default":"attachment"},{"name":"sortOrder","type":"any","optional":true}],"returnType":"Promise<void>","isStatic":false,"isPublic":true},"removeAsset":{"name":"removeAsset","async":true,"parameters":[{"name":"profileId","type":"string","optional":false},{"name":"assetId","type":"string","optional":false},{"name":"relationship","type":"string","optional":true}],"returnType":"Promise<void>","isStatic":false,"isPublic":true},"getRelationshipNetwork":{"name":"getRelationshipNetwork","async":true,"parameters":[{"name":"profileId","type":"string","optional":false},{"name":"options","type":"object","optional":true,"memberTypes":["number"]}],"returnType":"Promise<Map<string, number>>","isStatic":false,"isPublic":true},"findByTenant":{"name":"findByTenant","async":true,"parameters":[{"name":"tenantId","type":"string","optional":false}],"returnType":"Promise<Profile[]>","isStatic":false,"isPublic":true},"findGlobal":{"name":"findGlobal","async":true,"parameters":[],"returnType":"Promise<Profile[]>","isStatic":false,"isPublic":true},"findWithGlobals":{"name":"findWithGlobals","async":true,"parameters":[{"name":"tenantId","type":"string","optional":false}],"returnType":"Promise<Profile[]>","isStatic":false,"isPublic":true}},"decoratorConfig":{"api":{"include":["list","get","create","update","delete"]},"mcp":{"include":["list","get","create","update"]}},"extends":"SmrtCollection","extendsTypeArg":"Profile","exportName":"ProfileCollection","collectionExportName":"ProfileCollectionCollection","collectionOf":"@happyvertical/smrt-profiles:Profile","inheritedExposure":["api","mcp"],"schema":{"tableName":"profiles","ddl":"CREATE TABLE IF NOT EXISTS \\"profiles\\" (\\n \\"_sync_origin_device_id\\" TEXT,\\n \\"_sync_revision\\" INTEGER,\\n \\"id\\" UUID PRIMARY KEY NOT NULL,\\n \\"slug\\" TEXT NOT NULL,\\n \\"context\\" TEXT NOT NULL DEFAULT '',\\n \\"_meta_type\\" TEXT NOT NULL,\\n \\"_meta_data\\" JSON,\\n \\"created_at\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\"updated_at\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\"tenant_id\\" UUID,\\n \\"type_id\\" UUID,\\n \\"email\\" TEXT,\\n \\"email_key\\" TEXT,\\n \\"name\\" TEXT DEFAULT '',\\n \\"description\\" TEXT,\\n \\"is_public\\" BOOLEAN DEFAULT FALSE\\n);","columns":{"_sync_origin_device_id":{"type":"TEXT"},"_sync_revision":{"type":"INTEGER"},"id":{"type":"UUID","primaryKey":true,"referenceKind":"id","notNull":true},"slug":{"type":"TEXT","notNull":true},"context":{"type":"TEXT","notNull":true,"default":""},"_meta_type":{"type":"TEXT","notNull":true},"_meta_data":{"type":"JSON","notNull":false},"created_at":{"type":"TIMESTAMP","notNull":true,"default":"current_timestamp"},"updated_at":{"type":"TIMESTAMP","notNull":true,"default":"current_timestamp"},"tenant_id":{"type":"UUID","referenceKind":"tenantId","notNull":false},"type_id":{"type":"UUID","referenceKind":"foreignKey","notNull":false,"foreignKey":{"table":"profile_types","column":"id","onDelete":"NO ACTION","onUpdate":"CASCADE"}},"email":{"type":"TEXT","notNull":false},"email_key":{"type":"TEXT","notNull":false},"name":{"type":"TEXT","notNull":false,"default":""},"description":{"type":"TEXT","notNull":false},"is_public":{"type":"BOOLEAN","notNull":false,"default":false}},"indexes":[{"name":"profiles_slug_context_meta_type_idx","columns":["tenant_id","slug","context","_meta_type"],"unique":true,"nullsNotDistinct":true},{"name":"profiles_meta_type_idx","columns":["_meta_type"]},{"name":"profiles_email_key_idx","columns":["email_key"]},{"name":"profiles_tenant_id_created_at_idx","columns":["tenant_id","created_at"]},{"name":"profiles_type_id_idx","columns":["type_id"]}],"version":"c8216570"},"importPath":"@happyvertical/smrt-profiles"},"@happyvertical/smrt-profiles:ProfileLinkCollection":{"name":"profilelinkcollection","className":"ProfileLinkCollection","qualifiedName":"@happyvertical/smrt-profiles:ProfileLinkCollection","collection":"profilelinks","filePath":"/home/runner/work/smrt/smrt/packages/profiles/src/collections/ProfileLinkCollection.ts","packageName":"@happyvertical/smrt-profiles","fields":{},"methods":{"listForProfile":{"name":"listForProfile","async":true,"parameters":[{"name":"profileId","type":"string","optional":false}],"returnType":"Promise<ProfileLink[]>","isStatic":false,"isPublic":true},"replaceForProfile":{"name":"replaceForProfile","async":true,"parameters":[{"name":"profileId","type":"string","optional":false},{"name":"links","type":"any","optional":false,"typeUnresolved":true}],"returnType":"Promise<ProfileLink[]>","isStatic":false,"isPublic":true},"reorder":{"name":"reorder","async":true,"parameters":[{"name":"profileId","type":"string","optional":false},{"name":"linkIds","type":"any","optional":false,"typeUnresolved":true}],"returnType":"Promise<ProfileLink[]>","isStatic":false,"isPublic":true}},"decoratorConfig":{"tableName":"profile_links","api":false,"mcp":false,"cli":false},"extends":"SmrtCollection","extendsTypeArg":"ProfileLink","exportName":"ProfileLinkCollection","collectionExportName":"ProfileLinkCollectionCollection","collectionOf":"@happyvertical/smrt-profiles:ProfileLink","inheritedExposure":["api","mcp","cli"],"schema":{"tableName":"profile_links","ddl":"CREATE TABLE IF NOT EXISTS \\"profile_links\\" (\\n \\"_sync_origin_device_id\\" TEXT,\\n \\"_sync_revision\\" INTEGER,\\n \\"id\\" UUID PRIMARY KEY NOT NULL,\\n \\"slug\\" TEXT NOT NULL,\\n \\"context\\" TEXT NOT NULL DEFAULT '',\\n \\"created_at\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\"updated_at\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\"tenant_id\\" UUID,\\n \\"profile_id\\" UUID NOT NULL,\\n \\"platform\\" TEXT NOT NULL DEFAULT 'website',\\n \\"url\\" TEXT NOT NULL,\\n \\"label\\" TEXT,\\n \\"sort_order\\" INTEGER NOT NULL DEFAULT 0\\n);","columns":{"_sync_origin_device_id":{"type":"TEXT"},"_sync_revision":{"type":"INTEGER"},"id":{"type":"UUID","primaryKey":true,"referenceKind":"id","notNull":true},"slug":{"type":"TEXT","notNull":true},"context":{"type":"TEXT","notNull":true,"default":""},"created_at":{"type":"TIMESTAMP","notNull":true,"default":"current_timestamp"},"updated_at":{"type":"TIMESTAMP","notNull":true,"default":"current_timestamp"},"tenant_id":{"type":"UUID","referenceKind":"tenantId","notNull":false,"unique":false},"profile_id":{"type":"UUID","referenceKind":"foreignKey","notNull":true,"unique":false,"foreignKey":{"table":"profiles","column":"id","onDelete":"CASCADE","onUpdate":"CASCADE"}},"platform":{"type":"TEXT","notNull":true,"unique":false,"default":"website"},"url":{"type":"TEXT","notNull":true,"unique":false},"label":{"type":"TEXT","notNull":false,"unique":false},"sort_order":{"type":"INTEGER","notNull":true,"unique":false,"default":0}},"indexes":[{"name":"profile_links_slug_context_idx","columns":["tenant_id","slug","context"],"unique":true,"nullsNotDistinct":true},{"name":"profile_links_tenant_id_created_at_idx","columns":["tenant_id","created_at"]},{"name":"profile_links_profile_id_idx","columns":["profile_id"]}],"version":"bf0b368b"},"importPath":"@happyvertical/smrt-profiles"},"@happyvertical/smrt-profiles:ProfileMetadataCollection":{"name":"profilemetadatacollection","className":"ProfileMetadataCollection","qualifiedName":"@happyvertical/smrt-profiles:ProfileMetadataCollection","collection":"profilemetadatas","filePath":"/home/runner/work/smrt/smrt/packages/profiles/src/collections/ProfileMetadataCollection.ts","packageName":"@happyvertical/smrt-profiles","fields":{},"methods":{"getByProfile":{"name":"getByProfile","async":true,"parameters":[{"name":"profileId","type":"string","optional":false}],"returnType":"Promise<ProfileMetadata[]>","isStatic":false,"isPublic":true},"getMetadataObject":{"name":"getMetadataObject","async":true,"parameters":[{"name":"profileId","type":"string","optional":false}],"returnType":"Promise<Record<string, string>>","isStatic":false,"isPublic":true},"findProfilesByMetadata":{"name":"findProfilesByMetadata","async":true,"parameters":[{"name":"metafieldId","type":"string","optional":false},{"name":"value","type":"unknown","optional":false}],"returnType":"Promise<string[]>","isStatic":false,"isPublic":true}},"decoratorConfig":{"api":{"include":["list","get","create","update","delete"]},"mcp":{"include":["list","get"]}},"extends":"SmrtCollection","extendsTypeArg":"ProfileMetadata","exportName":"ProfileMetadataCollection","collectionExportName":"ProfileMetadataCollectionCollection","collectionOf":"@happyvertical/smrt-profiles:ProfileMetadata","inheritedExposure":["api","mcp"],"schema":{"tableName":"profile_metadata","ddl":"CREATE TABLE IF NOT EXISTS \\"profile_metadata\\" (\\n \\"_sync_origin_device_id\\" TEXT,\\n \\"_sync_revision\\" INTEGER,\\n \\"id\\" UUID PRIMARY KEY NOT NULL,\\n \\"slug\\" TEXT NOT NULL,\\n \\"context\\" TEXT NOT NULL DEFAULT '',\\n \\"_meta_type\\" TEXT NOT NULL,\\n \\"_meta_data\\" JSON,\\n \\"created_at\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\"updated_at\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\"tenant_id\\" UUID,\\n \\"profile_id\\" UUID,\\n \\"metafield_id\\" UUID,\\n \\"value\\" TEXT DEFAULT ''\\n);","columns":{"_sync_origin_device_id":{"type":"TEXT"},"_sync_revision":{"type":"INTEGER"},"id":{"type":"UUID","primaryKey":true,"referenceKind":"id","notNull":true},"slug":{"type":"TEXT","notNull":true},"context":{"type":"TEXT","notNull":true,"default":""},"_meta_type":{"type":"TEXT","notNull":true},"_meta_data":{"type":"JSON","notNull":false},"created_at":{"type":"TIMESTAMP","notNull":true,"default":"current_timestamp"},"updated_at":{"type":"TIMESTAMP","notNull":true,"default":"current_timestamp"},"tenant_id":{"type":"UUID","referenceKind":"tenantId","notNull":false},"profile_id":{"type":"UUID","referenceKind":"foreignKey","notNull":false,"foreignKey":{"table":"profiles","column":"id","onDelete":"NO ACTION","onUpdate":"CASCADE"}},"metafield_id":{"type":"UUID","referenceKind":"foreignKey","notNull":false,"foreignKey":{"table":"profile_metafields","column":"id","onDelete":"NO ACTION","onUpdate":"CASCADE"}},"value":{"type":"TEXT","notNull":false,"default":""}},"indexes":[{"name":"profile_metadata_slug_context_meta_type_idx","columns":["tenant_id","slug","context","_meta_type"],"unique":true,"nullsNotDistinct":true},{"name":"profile_metadata_meta_type_idx","columns":["_meta_type"]},{"name":"profile_metadata_tenant_id_created_at_idx","columns":["tenant_id","created_at"]},{"name":"profile_metadata_profile_id_idx","columns":["profile_id"]},{"name":"profile_metadata_metafield_id_idx","columns":["metafield_id"]}],"version":"fdb0f02d"},"importPath":"@happyvertical/smrt-profiles"},"@happyvertical/smrt-profiles:ProfileMetafieldCollection":{"name":"profilemetafieldcollection","className":"ProfileMetafieldCollection","qualifiedName":"@happyvertical/smrt-profiles:ProfileMetafieldCollection","collection":"profilemetafields","filePath":"/home/runner/work/smrt/smrt/packages/profiles/src/collections/ProfileMetafieldCollection.ts","packageName":"@happyvertical/smrt-profiles","fields":{},"methods":{"getBySlug":{"name":"getBySlug","async":true,"parameters":[{"name":"slug","type":"string","optional":false}],"returnType":"Promise<ProfileMetafield | null>","isStatic":false,"isPublic":true},"getOrCreateBySlug":{"name":"getOrCreateBySlug","async":true,"parameters":[{"name":"slug","type":"string","optional":false},{"name":"defaults","type":"object","optional":false,"memberTypes":["string","ValidationSchema"]}],"returnType":"Promise<ProfileMetafield>","isStatic":false,"isPublic":true}},"decoratorConfig":{"api":{"include":["list","get","create","update"]},"mcp":{"include":["list","get"]}},"extends":"SmrtCollection","extendsTypeArg":"ProfileMetafield","exportName":"ProfileMetafieldCollection","collectionExportName":"ProfileMetafieldCollectionCollection","collectionOf":"@happyvertical/smrt-profiles:ProfileMetafield","inheritedExposure":["api","mcp"],"schema":{"tableName":"profile_metafields","ddl":"CREATE TABLE IF NOT EXISTS \\"profile_metafields\\" (\\n \\"_sync_origin_device_id\\" TEXT,\\n \\"_sync_revision\\" INTEGER,\\n \\"id\\" UUID PRIMARY KEY NOT NULL,\\n \\"slug\\" TEXT NOT NULL,\\n \\"context\\" TEXT NOT NULL DEFAULT '',\\n \\"_meta_type\\" TEXT NOT NULL,\\n \\"_meta_data\\" JSON,\\n \\"created_at\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\"updated_at\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\"tenant_id\\" UUID,\\n \\"name\\" TEXT DEFAULT '',\\n \\"description\\" TEXT,\\n \\"validation\\" JSON\\n);","columns":{"_sync_origin_device_id":{"type":"TEXT"},"_sync_revision":{"type":"INTEGER"},"id":{"type":"UUID","primaryKey":true,"referenceKind":"id","notNull":true},"slug":{"type":"TEXT","notNull":true},"context":{"type":"TEXT","notNull":true,"default":""},"_meta_type":{"type":"TEXT","notNull":true},"_meta_data":{"type":"JSON","notNull":false},"created_at":{"type":"TIMESTAMP","notNull":true,"default":"current_timestamp"},"updated_at":{"type":"TIMESTAMP","notNull":true,"default":"current_timestamp"},"tenant_id":{"type":"UUID","referenceKind":"tenantId","notNull":false},"name":{"type":"TEXT","notNull":false,"default":""},"description":{"type":"TEXT","notNull":false},"validation":{"type":"JSON","notNull":false}},"indexes":[{"name":"profile_metafields_slug_context_meta_type_idx","columns":["tenant_id","slug","context","_meta_type"],"unique":true,"nullsNotDistinct":true},{"name":"profile_metafields_meta_type_idx","columns":["_meta_type"]},{"name":"profile_metafields_tenant_id_created_at_idx","columns":["tenant_id","created_at"]}],"version":"6de23b1a"},"importPath":"@happyvertical/smrt-profiles"},"@happyvertical/smrt-profiles:ProfileRelationshipCollection":{"name":"profilerelationshipcollection","className":"ProfileRelationshipCollection","qualifiedName":"@happyvertical/smrt-profiles:ProfileRelationshipCollection","collection":"profilerelationships","filePath":"/home/runner/work/smrt/smrt/packages/profiles/src/collections/ProfileRelationshipCollection.ts","packageName":"@happyvertical/smrt-profiles","fields":{},"methods":{"getFromProfile":{"name":"getFromProfile","async":true,"parameters":[{"name":"fromProfileId","type":"string","optional":false},{"name":"typeId","type":"string","optional":true}],"returnType":"Promise<ProfileRelationship[]>","isStatic":false,"isPublic":true},"getToProfile":{"name":"getToProfile","async":true,"parameters":[{"name":"toProfileId","type":"string","optional":false},{"name":"typeId","type":"string","optional":true}],"returnType":"Promise<ProfileRelationship[]>","isStatic":false,"isPublic":true},"getForProfile":{"name":"getForProfile","async":true,"parameters":[{"name":"profileId","type":"string","optional":false},{"name":"typeId","type":"string","optional":true}],"returnType":"Promise<ProfileRelationship[]>","isStatic":false,"isPublic":true},"exists":{"name":"exists","async":true,"parameters":[{"name":"fromProfileId","type":"string","optional":false},{"name":"toProfileId","type":"string","optional":false},{"name":"typeId","type":"string","optional":false}],"returnType":"Promise<boolean>","isStatic":false,"isPublic":true}},"decoratorConfig":{"api":{"include":["list","get","create","delete"]},"mcp":{"include":["list","get"]}},"extends":"SmrtCollection","extendsTypeArg":"ProfileRelationship","exportName":"ProfileRelationshipCollection","collectionExportName":"ProfileRelationshipCollectionCollection","collectionOf":"@happyvertical/smrt-profiles:ProfileRelationship","inheritedExposure":["api","mcp"],"schema":{"tableName":"profile_relationships","ddl":"CREATE TABLE IF NOT EXISTS \\"profile_relationships\\" (\\n \\"_sync_origin_device_id\\" TEXT,\\n \\"_sync_revision\\" INTEGER,\\n \\"id\\" UUID PRIMARY KEY NOT NULL,\\n \\"slug\\" TEXT NOT NULL,\\n \\"context\\" TEXT NOT NULL DEFAULT '',\\n \\"_meta_type\\" TEXT NOT NULL,\\n \\"_meta_data\\" JSON,\\n \\"created_at\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\"updated_at\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\"tenant_id\\" UUID,\\n \\"from_profile_id\\" UUID,\\n \\"to_profile_id\\" UUID,\\n \\"type_id\\" UUID,\\n \\"context_profile_id\\" UUID\\n);","columns":{"_sync_origin_device_id":{"type":"TEXT"},"_sync_revision":{"type":"INTEGER"},"id":{"type":"UUID","primaryKey":true,"referenceKind":"id","notNull":true},"slug":{"type":"TEXT","notNull":true},"context":{"type":"TEXT","notNull":true,"default":""},"_meta_type":{"type":"TEXT","notNull":true},"_meta_data":{"type":"JSON","notNull":false},"created_at":{"type":"TIMESTAMP","notNull":true,"default":"current_timestamp"},"updated_at":{"type":"TIMESTAMP","notNull":true,"default":"current_timestamp"},"tenant_id":{"type":"UUID","referenceKind":"tenantId","notNull":false},"from_profile_id":{"type":"UUID","referenceKind":"foreignKey","notNull":false,"foreignKey":{"table":"profiles","column":"id","onDelete":"NO ACTION","onUpdate":"CASCADE"}},"to_profile_id":{"type":"UUID","referenceKind":"foreignKey","notNull":false,"foreignKey":{"table":"profiles","column":"id","onDelete":"NO ACTION","onUpdate":"CASCADE"}},"type_id":{"type":"UUID","referenceKind":"foreignKey","notNull":false,"foreignKey":{"table":"profile_relationship_types","column":"id","onDelete":"NO ACTION","onUpdate":"CASCADE"}},"context_profile_id":{"type":"UUID","referenceKind":"foreignKey","notNull":false,"foreignKey":{"table":"profiles","column":"id","onDelete":"NO ACTION","onUpdate":"CASCADE"}}},"indexes":[{"name":"profile_relationships_slug_context_meta_type_idx","columns":["tenant_id","slug","context","_meta_type"],"unique":true,"nullsNotDistinct":true},{"name":"profile_relationships_meta_type_idx","columns":["_meta_type"]},{"name":"profile_relationships_tenant_id_created_at_idx","columns":["tenant_id","created_at"]},{"name":"profile_relationships_from_profile_id_idx","columns":["from_profile_id"]},{"name":"profile_relationships_to_profile_id_idx","columns":["to_profile_id"]},{"name":"profile_relationships_type_id_idx","columns":["type_id"]},{"name":"profile_relationships_context_profile_id_idx","columns":["context_profile_id"]}],"version":"633f2a58"},"importPath":"@happyvertical/smrt-profiles"},"@happyvertical/smrt-profiles:ProfileRelationshipTermCollection":{"name":"profilerelationshiptermcollection","className":"ProfileRelationshipTermCollection","qualifiedName":"@happyvertical/smrt-profiles:ProfileRelationshipTermCollection","collection":"profilerelationshipterms","filePath":"/home/runner/work/smrt/smrt/packages/profiles/src/collections/ProfileRelationshipTermCollection.ts","packageName":"@happyvertical/smrt-profiles","fields":{},"methods":{"getByRelationship":{"name":"getByRelationship","async":true,"parameters":[{"name":"relationshipId","type":"string","optional":false}],"returnType":"Promise<ProfileRelationshipTerm[]>","isStatic":false,"isPublic":true},"getActiveTerm":{"name":"getActiveTerm","async":true,"parameters":[{"name":"relationshipId","type":"string","optional":false}],"returnType":"Promise<ProfileRelationshipTerm | null>","isStatic":false,"isPublic":true},"getHistoricalTerms":{"name":"getHistoricalTerms","async":true,"parameters":[{"name":"relationshipId","type":"string","optional":false}],"returnType":"Promise<ProfileRelationshipTerm[]>","isStatic":false,"isPublic":true}},"decoratorConfig":{"api":{"include":["list","get","create","update","delete"]},"mcp":{"include":["list","get"]}},"extends":"SmrtCollection","extendsTypeArg":"ProfileRelationshipTerm","exportName":"ProfileRelationshipTermCollection","collectionExportName":"ProfileRelationshipTermCollectionCollection","collectionOf":"@happyvertical/smrt-profiles:ProfileRelationshipTerm","inheritedExposure":["api","mcp"],"schema":{"tableName":"profile_relationship_terms","ddl":"CREATE TABLE IF NOT EXISTS \\"profile_relationship_terms\\" (\\n \\"_sync_origin_device_id\\" TEXT,\\n \\"_sync_revision\\" INTEGER,\\n \\"id\\" UUID PRIMARY KEY NOT NULL,\\n \\"slug\\" TEXT NOT NULL,\\n \\"context\\" TEXT NOT NULL DEFAULT '',\\n \\"_meta_type\\" TEXT NOT NULL,\\n \\"_meta_data\\" JSON,\\n \\"created_at\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\"updated_at\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\"relationship_id\\" UUID,\\n \\"started_at\\" TIMESTAMP,\\n \\"ended_at\\" TIMESTAMP\\n);","columns":{"_sync_origin_device_id":{"type":"TEXT"},"_sync_revision":{"type":"INTEGER"},"id":{"type":"UUID","primaryKey":true,"referenceKind":"id","notNull":true},"slug":{"type":"TEXT","notNull":true},"context":{"type":"TEXT","notNull":true,"default":""},"_meta_type":{"type":"TEXT","notNull":true},"_meta_data":{"type":"JSON","notNull":false},"created_at":{"type":"TIMESTAMP","notNull":true,"default":"current_timestamp"},"updated_at":{"type":"TIMESTAMP","notNull":true,"default":"current_timestamp"},"relationship_id":{"type":"UUID","referenceKind":"foreignKey","notNull":false,"foreignKey":{"table":"profile_relationships","column":"id","onDelete":"NO ACTION","onUpdate":"CASCADE"}},"started_at":{"type":"TIMESTAMP","notNull":false},"ended_at":{"type":"TIMESTAMP","notNull":false}},"indexes":[{"name":"profile_relationship_terms_slug_context_meta_type_idx","columns":["slug","context","_meta_type"],"unique":true},{"name":"profile_relationship_terms_meta_type_idx","columns":["_meta_type"]},{"name":"profile_relationship_terms_created_at_idx","columns":["created_at"]},{"name":"profile_relationship_terms_relationship_id_idx","columns":["relationship_id"]}],"version":"0c52b81b"},"importPath":"@happyvertical/smrt-profiles"},"@happyvertical/smrt-profiles:ProfileRelationshipTypeCollection":{"name":"profilerelationshiptypecollection","className":"ProfileRelationshipTypeCollection","qualifiedName":"@happyvertical/smrt-profiles:ProfileRelationshipTypeCollection","collection":"profilerelationshiptypes","filePath":"/home/runner/work/smrt/smrt/packages/profiles/src/collections/ProfileRelationshipTypeCollection.ts","packageName":"@happyvertical/smrt-profiles","fields":{},"methods":{"getBySlug":{"name":"getBySlug","async":true,"parameters":[{"name":"slug","type":"string","optional":false}],"returnType":"Promise<ProfileRelationshipType | null>","isStatic":false,"isPublic":true},"getOrCreateBySlug":{"name":"getOrCreateBySlug","async":true,"parameters":[{"name":"slug","type":"string","optional":false},{"name":"defaults","type":"object","optional":false,"memberTypes":["string","boolean"]}],"returnType":"Promise<ProfileRelationshipType>","isStatic":false,"isPublic":true},"getReciprocal":{"name":"getReciprocal","async":true,"parameters":[],"returnType":"Promise<ProfileRelationshipType[]>","isStatic":false,"isPublic":true},"getDirectional":{"name":"getDirectional","async":true,"parameters":[],"returnType":"Promise<ProfileRelationshipType[]>","isStatic":false,"isPublic":true}},"decoratorConfig":{"api":{"include":["list","get","create","update"]},"mcp":{"include":["list","get"]}},"extends":"SmrtCollection","extendsTypeArg":"ProfileRelationshipType","exportName":"ProfileRelationshipTypeCollection","collectionExportName":"ProfileRelationshipTypeCollectionCollection","collectionOf":"@happyvertical/smrt-profiles:ProfileRelationshipType","inheritedExposure":["api","mcp"],"schema":{"tableName":"profile_relationship_types","ddl":"CREATE TABLE IF NOT EXISTS \\"profile_relationship_types\\" (\\n \\"_sync_origin_device_id\\" TEXT,\\n \\"_sync_revision\\" INTEGER,\\n \\"id\\" UUID PRIMARY KEY NOT NULL,\\n \\"slug\\" TEXT NOT NULL,\\n \\"context\\" TEXT NOT NULL DEFAULT '',\\n \\"_meta_type\\" TEXT NOT NULL,\\n \\"_meta_data\\" JSON,\\n \\"created_at\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\"updated_at\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\"name\\" TEXT DEFAULT '',\\n \\"reciprocal\\" BOOLEAN DEFAULT TRUE\\n);","columns":{"_sync_origin_device_id":{"type":"TEXT"},"_sync_revision":{"type":"INTEGER"},"id":{"type":"UUID","primaryKey":true,"referenceKind":"id","notNull":true},"slug":{"type":"TEXT","notNull":true},"context":{"type":"TEXT","notNull":true,"default":""},"_meta_type":{"type":"TEXT","notNull":true},"_meta_data":{"type":"JSON","notNull":false},"created_at":{"type":"TIMESTAMP","notNull":true,"default":"current_timestamp"},"updated_at":{"type":"TIMESTAMP","notNull":true,"default":"current_timestamp"},"name":{"type":"TEXT","notNull":false,"default":""},"reciprocal":{"type":"BOOLEAN","notNull":false,"default":true}},"indexes":[{"name":"profile_relationship_types_slug_context_meta_type_idx","columns":["slug","context","_meta_type"],"unique":true},{"name":"profile_relationship_types_meta_type_idx","columns":["_meta_type"]},{"name":"profile_relationship_types_created_at_idx","columns":["created_at"]}],"version":"686c1b2b"},"importPath":"@happyvertical/smrt-profiles"},"@happyvertical/smrt-profiles:ProfileTypeCollection":{"name":"profiletypecollection","className":"ProfileTypeCollection","qualifiedName":"@happyvertical/smrt-profiles:ProfileTypeCollection","collection":"profiletypes","filePath":"/home/runner/work/smrt/smrt/packages/profiles/src/collections/ProfileTypeCollection.ts","packageName":"@happyvertical/smrt-profiles","fields":{},"methods":{"getBySlug":{"name":"getBySlug","async":true,"parameters":[{"name":"slug","type":"string","optional":false}],"returnType":"Promise<ProfileType | null>","isStatic":false,"isPublic":true},"getAvailableById":{"name":"getAvailableById","async":true,"parameters":[{"name":"id","type":"string","optional":false},{"name":"tenantId","type":"string","optional":false}],"returnType":"Promise<ProfileType | null>","isStatic":false,"isPublic":true},"getOrCreateBySlug":{"name":"getOrCreateBySlug","async":true,"parameters":[{"name":"slug","type":"string","optional":false},{"name":"defaults","type":"object","optional":false,"memberTypes":["string"]}],"returnType":"Promise<ProfileType>","isStatic":false,"isPublic":true},"getOrCreateGlobalBySlug":{"name":"getOrCreateGlobalBySlug","async":true,"parameters":[{"name":"slug","type":"string","optional":false},{"name":"defaults","type":"object","optional":false,"memberTypes":["string"]}],"returnType":"Promise<ProfileType>","isStatic":false,"isPublic":true}},"decoratorConfig":{"api":{"include":["list","get","create","update"]},"mcp":{"include":["list","get"]}},"extends":"SmrtCollection","extendsTypeArg":"ProfileType","exportName":"ProfileTypeCollection","collectionExportName":"ProfileTypeCollectionCollection","collectionOf":"@happyvertical/smrt-profiles:ProfileType","inheritedExposure":["api","mcp"],"schema":{"tableName":"profile_types","ddl":"CREATE TABLE IF NOT EXISTS \\"profile_types\\" (\\n \\"_sync_origin_device_id\\" TEXT,\\n \\"_sync_revision\\" INTEGER,\\n \\"id\\" UUID PRIMARY KEY NOT NULL,\\n \\"slug\\" TEXT NOT NULL,\\n \\"context\\" TEXT NOT NULL DEFAULT '',\\n \\"_meta_type\\" TEXT NOT NULL,\\n \\"_meta_data\\" JSON,\\n \\"created_at\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\"updated_at\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\"tenant_id\\" UUID,\\n \\"name\\" TEXT DEFAULT '',\\n \\"description\\" TEXT\\n);","columns":{"_sync_origin_device_id":{"type":"TEXT"},"_sync_revision":{"type":"INTEGER"},"id":{"type":"UUID","primaryKey":true,"referenceKind":"id","notNull":true},"slug":{"type":"TEXT","notNull":true},"context":{"type":"TEXT","notNull":true,"default":""},"_meta_type":{"type":"TEXT","notNull":true},"_meta_data":{"type":"JSON","notNull":false},"created_at":{"type":"TIMESTAMP","notNull":true,"default":"current_timestamp"},"updated_at":{"type":"TIMESTAMP","notNull":true,"default":"current_timestamp"},"tenant_id":{"type":"UUID","referenceKind":"tenantId","notNull":false},"name":{"type":"TEXT","notNull":false,"default":""},"description":{"type":"TEXT","notNull":false}},"indexes":[{"name":"profile_types_slug_context_meta_type_idx","columns":["tenant_id","slug","context","_meta_type"],"unique":true,"nullsNotDistinct":true},{"name":"profile_types_meta_type_idx","columns":["_meta_type"]},{"name":"profile_types_tenant_id_created_at_idx","columns":["tenant_id","created_at"]}],"version":"2f3f9baf"},"importPath":"@happyvertical/smrt-profiles"},"@happyvertical/smrt-profiles:ApiKey":{"name":"apikey","className":"ApiKey","qualifiedName":"@happyvertical/smrt-profiles:ApiKey","collection":"apikeys","filePath":"/home/runner/work/smrt/smrt/packages/profiles/src/models/ApiKey.ts","packageName":"@happyvertical/smrt-profiles","fields":{"profileId":{"type":"foreignKey","required":true,"related":"Profile","_meta":{"required":true}},"keyHash":{"type":"text","required":false,"default":"","_meta":{"indexed":true}},"keyPrefix":{"type":"text","required":false,"default":""},"name":{"type":"text","required":false,"default":""},"scopes":{"type":"json","required":false,"default":[]},"lastUsedAt":{"type":"datetime","required":false},"expiresAt":{"type":"datetime","required":false},"revokedAt":{"type":"datetime","required":false}},"methods":{"getProfile":{"name":"getProfile","async":true,"parameters":[],"returnType":"Promise<Profile | null>","isStatic":false,"isPublic":true},"isValid":{"name":"isValid","async":false,"parameters":[],"returnType":"boolean","isStatic":false,"isPublic":true},"hasScope":{"name":"hasScope","async":false,"parameters":[{"name":"scope","type":"string","optional":false}],"returnType":"boolean","isStatic":false,"isPublic":true},"revoke":{"name":"revoke","async":true,"parameters":[],"returnType":"Promise<void>","isStatic":false,"isPublic":true},"recordUsage":{"name":"recordUsage","async":true,"parameters":[],"returnType":"Promise<void>","isStatic":false,"isPublic":true},"hashKey":{"name":"hashKey","async":false,"parameters":[{"name":"key","type":"string","optional":false}],"returnType":"string","isStatic":true,"isPublic":true},"generate":{"name":"generate","async":true,"parameters":[{"name":"profile","type":"Profile","optional":false},{"name":"options","type":"object","optional":false,"typeUnresolved":true,"memberTypes":["string","string[]","Date | null"]}],"returnType":"Promise<GenerateKeyResult>","isStatic":true,"isPublic":true},"verify":{"name":"verify","async":true,"parameters":[{"name":"key","type":"string","optional":false},{"name":"options","type":"SmrtObjectOptions","optional":true}],"returnType":"Promise<ApiKey | null>","isStatic":true,"isPublic":true}},"decoratorConfig":{"tableName":"api_keys","sensitive":true,"api":{"include":["list","get"]},"mcp":{"include":["list","get"]},"cli":{"include":["list","get","create","revoke"],"skipApiCheck":true}},"extends":"SmrtObject","exportName":"ApiKey","collectionExportName":"ApiKeyCollection","displayLabelField":"name","validationRules":[{"field":"profileId","rule":"required","fieldType":"foreignKey"}],"schema":{"tableName":"api_keys","ddl":"CREATE TABLE IF NOT EXISTS \\"api_keys\\" (\\n \\"_sync_origin_device_id\\" TEXT,\\n \\"_sync_revision\\" INTEGER,\\n \\"id\\" UUID PRIMARY KEY NOT NULL,\\n \\"slug\\" TEXT NOT NULL,\\n \\"context\\" TEXT NOT NULL DEFAULT '',\\n \\"created_at\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\"updated_at\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\"profile_id\\" UUID NOT NULL,\\n \\"key_hash\\" TEXT DEFAULT '',\\n \\"key_prefix\\" TEXT DEFAULT '',\\n \\"name\\" TEXT DEFAULT '',\\n \\"scopes\\" JSON DEFAULT '[]',\\n \\"last_used_at\\" TIMESTAMP,\\n \\"expires_at\\" TIMESTAMP,\\n \\"revoked_at\\" TIMESTAMP\\n);","columns":{"_sync_origin_device_id":{"type":"TEXT"},"_sync_revision":{"type":"INTEGER"},"id":{"type":"UUID","primaryKey":true,"referenceKind":"id","notNull":true},"slug":{"type":"TEXT","notNull":true},"context":{"type":"TEXT","notNull":true,"default":""},"created_at":{"type":"TIMESTAMP","notNull":true,"default":"current_timestamp"},"updated_at":{"type":"TIMESTAMP","notNull":true,"default":"current_timestamp"},"profile_id":{"type":"UUID","referenceKind":"foreignKey","notNull":true,"unique":false,"foreignKey":{"table":"profiles","column":"id","onDelete":"NO ACTION","onUpdate":"CASCADE"}},"key_hash":{"type":"TEXT","notNull":false,"unique":false,"default":""},"key_prefix":{"type":"TEXT","notNull":false,"unique":false,"default":""},"name":{"type":"TEXT","notNull":false,"unique":false,"default":""},"scopes":{"type":"JSON","notNull":false,"unique":false,"default":[]},"last_used_at":{"type":"TIMESTAMP","notNull":false,"unique":false},"expires_at":{"type":"TIMESTAMP","notNull":false,"unique":false},"revoked_at":{"type":"TIMESTAMP","notNull":false,"unique":false}},"indexes":[{"name":"api_keys_slug_context_idx","columns":["slug","context"],"unique":true},{"name":"api_keys_key_hash_idx","columns":["key_hash"]},{"name":"api_keys_created_at_idx","columns":["created_at"]},{"name":"api_keys_profile_id_idx","columns":["profile_id"]}],"version":"755ad4c6"},"importPath":"@happyvertical/smrt-profiles"},"@happyvertical/smrt-profiles:AuditLog":{"name":"auditlog","className":"AuditLog","qualifiedName":"@happyvertical/smrt-profiles:AuditLog","collection":"auditlogs","filePath":"/home/runner/work/smrt/smrt/packages/profiles/src/models/AuditLog.ts","packageName":"@happyvertical/smrt-profiles","fields":{"tenantId":{"type":"text","required":false,"_meta":{"sqlType":"UUID","nullable":true,"__tenancy":{"isTenantIdField":true,"autoFilter":true,"required":false,"autoPopulate":true,"nullable":true,"mode":"optional","field":"tenantId","allowSuperAdminBypass":true}}},"profileId":{"type":"foreignKey","required":true,"related":"Profile","_meta":{"required":true}},"action":{"type":"text","required":false,"default":""},"reason":{"type":"text","required":false,"default":""},"changes":{"type":"json","required":false,"default":{}},"resourceType":{"type":"text","required":false,"default":"","_meta":{"indexed":true}},"resourceId":{"type":"text","required":false,"default":"","_meta":{"indexed":true}},"occurredAt":{"type":"datetime","required":false,"default":"current_timestamp","_meta":{"indexed":true,"default":"current_timestamp"}},"source":{"type":"text","required":false,"default":"web","enum":["web","cli","ci","webhook","mcp"]},"metadata":{"type":"json","required":false,"default":{}},"onBehalfOfId":{"type":"foreignKey","required":false,"related":"Profile","_meta":{"nullable":true}}},"methods":{"getProfile":{"name":"getProfile","async":true,"parameters":[],"returnType":"Promise<Profile | null>","isStatic":false,"isPublic":true},"getOnBehalfOf":{"name":"getOnBehalfOf","async":true,"parameters":[],"returnType":"Promise<Profile | null>","isStatic":false,"isPublic":true},"getEffectiveActor":{"name":"getEffectiveActor","async":true,"parameters":[],"returnType":"Promise<Profile | null>","isStatic":false,"isPublic":true},"record":{"name":"record","async":true,"parameters":[{"name":"options","type":"any","optional":false,"typeUnresolved":true}],"returnType":"Promise<AuditLog>","isStatic":true,"isPublic":true}},"decoratorConfig":{"tableName":"audit_logs","sensitive":true,"api":false,"mcp":false,"cli":false,"tenantScoped":{"mode":"optional","allowSuperAdminBypass":true},"conflictColumns":["tenant_id","slug","context"]},"extends":"SmrtObject","exportName":"AuditLog","collectionExportName":"AuditLogCollection","validationRules":[{"field":"profileId","rule":"required","fieldType":"foreignKey"}],"schema":{"tableName":"audit_logs","ddl":"CREATE TABLE IF NOT EXISTS \\"audit_logs\\" (\\n \\"_sync_origin_device_id\\" TEXT,\\n \\"_sync_revision\\" INTEGER,\\n \\"id\\" UUID PRIMARY KEY NOT NULL,\\n \\"slug\\" TEXT NOT NULL,\\n \\"context\\" TEXT NOT NULL DEFAULT '',\\n \\"created_at\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\"updated_at\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\"tenant_id\\" UUID,\\n \\"profile_id\\" UUID NOT NULL,\\n \\"action\\" TEXT DEFAULT '',\\n \\"reason\\" TEXT DEFAULT '',\\n \\"changes\\" JSON DEFAULT '{}',\\n \\"resource_type\\" TEXT DEFAULT '',\\n \\"resource_id\\" TEXT DEFAULT '',\\n \\"occurred_at\\" TIMESTAMP DEFAULT current_timestamp,\\n \\"source\\" TEXT DEFAULT 'web',\\n \\"metadata\\" JSON DEFAULT '{}',\\n \\"on_behalf_of_id\\" UUID\\n);","columns":{"_sync_origin_device_id":{"type":"TEXT"},"_sync_revision":{"type":"INTEGER"},"id":{"type":"UUID","primaryKey":true,"referenceKind":"id","notNull":true},"slug":{"type":"TEXT","notNull":true},"context":{"type":"TEXT","notNull":true,"default":""},"created_at":{"type":"TIMESTAMP","notNull":true,"default":"current_timestamp"},"updated_at":{"type":"TIMESTAMP","notNull":true,"default":"current_timestamp"},"tenant_id":{"type":"UUID","referenceKind":"tenantId","notNull":false,"unique":false},"profile_id":{"type":"UUID","referenceKind":"foreignKey","notNull":true,"unique":false,"foreignKey":{"table":"profiles","column":"id","onDelete":"NO ACTION","onUpdate":"CASCADE"}},"action":{"type":"TEXT","notNull":false,"unique":false,"default":""},"reason":{"type":"TEXT","notNull":false,"unique":false,"default":""},"changes":{"type":"JSON","notNull":false,"unique":false,"default":{}},"resource_type":{"type":"TEXT","notNull":false,"unique":false,"default":""},"resource_id":{"type":"TEXT","notNull":false,"unique":false,"default":""},"occurred_at":{"type":"TIMESTAMP","notNull":false,"unique":false,"default":"current_timestamp"},"source":{"type":"TEXT","notNull":false,"unique":false,"default":"web"},"metadata":{"type":"JSON","notNull":false,"unique":false,"default":{}},"on_behalf_of_id":{"type":"UUID","referenceKind":"foreignKey","notNull":false,"unique":false,"foreignKey":{"table":"profiles","column":"id","onDelete":"NO ACTION","onUpdate":"CASCADE"}}},"indexes":[{"name":"audit_logs_slug_context_idx","columns":["tenant_id","slug","context"],"unique":true,"nullsNotDistinct":true},{"name":"audit_logs_resource_type_idx","columns":["resource_type"]},{"name":"audit_logs_resource_id_idx","columns":["resource_id"]},{"name":"audit_logs_occurred_at_idx","columns":["occurred_at"]},{"name":"audit_logs_tenant_id_created_at_idx","columns":["tenant_id","created_at"]},{"name":"audit_logs_profile_id_idx","columns":["profile_id"]},{"name":"audit_logs_on_behalf_of_id_idx","columns":["on_behalf_of_id"]}],"version":"fdd88969"},"importPath":"@happyvertical/smrt-profiles"},"@happyvertical/smrt-profiles:MagicLinkToken":{"name":"magiclinktoken","className":"MagicLinkToken","qualifiedName":"@happyvertical/smrt-profiles:MagicLinkToken","collection":"magiclinktokens","filePath":"/home/runner/work/smrt/smrt/packages/profiles/src/models/MagicLinkToken.ts","packageName":"@happyvertical/smrt-profiles","fields":{"nostrIdentityId":{"type":"foreignKey","required":true,"related":"NostrIdentity","_meta":{"required":true}},"tokenHash":{"type":"text","required":false,"default":"","_meta":{"indexed":true}},"email":{"type":"text","required":false,"default":""},"expiresAt":{"type":"datetime","required":false},"usedAt":{"type":"datetime","required":false},"requestedFromIp":{"type":"text","required":false,"default":""},"createdAt":{"type":"datetime","required":false}},"methods":{"hashToken":{"name":"hashToken","async":false,"parameters":[{"name":"token","type":"string","optional":false}],"returnType":"string","isStatic":true,"isPublic":true},"generate":{"name":"generate","async":true,"parameters":[{"name":"nostrIdentity","type":"NostrIdentity","optional":false},{"name":"email","type":"string","optional":false},{"name":"options","type":"object","optional":true,"typeUnresolved":true,"memberTypes":["number","string"]}],"returnType":"Promise<GenerateTokenResult>","isStatic":true,"isPublic":true},"verify":{"name":"verify","async":true,"parameters":[{"name":"token","type":"string","optional":false},{"name":"options","type":"SmrtObjectOptions","optional":true}],"returnType":"Promise<MagicLinkToken | null>","isStatic":true,"isPublic":true},"isValid":{"name":"isValid","async":false,"parameters":[],"returnType":"boolean","isStatic":false,"isPublic":true},"isExpired":{"name":"isExpired","async":false,"parameters":[],"returnType":"boolean","isStatic":false,"isPublic":true},"isUsed":{"name":"isUsed","async":false,"parameters":[],"returnType":"boolean","isStatic":false,"isPublic":true},"markUsed":{"name":"markUsed","async":true,"parameters":[],"returnType":"Promise<void>","isStatic":false,"isPublic":true},"getNostrIdentity":{"name":"getNostrIdentity","async":true,"parameters":[],"returnType":"Promise<NostrIdentity | null>","isStatic":false,"isPublic":true},"getTimeRemainingSeconds":{"name":"getTimeRemainingSeconds","async":false,"parameters":[],"returnType":"number","isStatic":false,"isPublic":true}},"decoratorConfig":{"tableName":"magic_link_tokens","sensitive":true,"api":{"include":[]},"mcp":{"include":[]},"cli":{"include":["list"],"skipApiCheck":["list"]}},"extends":"SmrtObject","exportName":"MagicLinkToken","collectionExportName":"MagicLinkTokenCollection","validationRules":[{"field":"nostrIdentityId","rule":"required","fieldType":"foreignKey"}],"schema":{"tableName":"magic_link_tokens","ddl":"CREATE TABLE IF NOT EXISTS \\"magic_link_tokens\\" (\\n \\"_sync_origin_device_id\\" TEXT,\\n \\"_sync_revision\\" INTEGER,\\n \\"id\\" UUID PRIMARY KEY NOT NULL,\\n \\"slug\\" TEXT NOT NULL,\\n \\"context\\" TEXT NOT NULL DEFAULT '',\\n \\"created_at\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\"updated_at\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\"nostr_identity_id\\" UUID NOT NULL,\\n \\"token_hash\\" TEXT DEFAULT '',\\n \\"email\\" TEXT DEFAULT '',\\n \\"expires_at\\" TIMESTAMP,\\n \\"used_at\\" TIMESTAMP,\\n \\"requested_from_ip\\" TEXT DEFAULT ''\\n);","columns":{"_sync_origin_device_id":{"type":"TEXT"},"_sync_revision":{"type":"INTEGER"},"id":{"type":"UUID","primaryKey":true,"referenceKind":"id","notNull":true},"slug":{"type":"TEXT","notNull":true},"context":{"type":"TEXT","notNull":true,"default":""},"created_at":{"type":"TIMESTAMP","notNull":true,"default":"current_timestamp"},"updated_at":{"type":"TIMESTAMP","notNull":true,"default":"current_timestamp"},"nostr_identity_id":{"type":"UUID","referenceKind":"foreignKey","notNull":true,"unique":false,"foreignKey":{"table":"nostr_identities","column":"id","onDelete":"NO ACTION","onUpdate":"CASCADE"}},"token_hash":{"type":"TEXT","notNull":false,"unique":false,"default":""},"email":{"type":"TEXT","notNull":false,"unique":false,"default":""},"expires_at":{"type":"TIMESTAMP","notNull":false,"unique":false},"used_at":{"type":"TIMESTAMP","notNull":false,"unique":false},"requested_from_ip":{"type":"TEXT","notNull":false,"unique":false,"default":""}},"indexes":[{"name":"magic_link_tokens_slug_context_idx","columns":["slug","context"],"unique":true},{"name":"magic_link_tokens_token_hash_idx","columns":["token_hash"]},{"name":"magic_link_tokens_created_at_idx","columns":["created_at"]},{"name":"magic_link_tokens_nostr_identity_id_idx","columns":["nostr_identity_id"]}],"version":"50f2a845"},"importPath":"@happyvertical/smrt-profiles"},"@happyvertical/smrt-profiles:NostrIdentity":{"name":"nostridentity","className":"NostrIdentity","qualifiedName":"@happyvertical/smrt-profiles:NostrIdentity","collection":"nostridentities","filePath":"/home/runner/work/smrt/smrt/packages/profiles/src/models/NostrIdentity.ts","packageName":"@happyvertical/smrt-profiles","fields":{"profileId":{"type":"foreignKey","required":true,"related":"Profile","_meta":{"required":true}},"pubkey":{"type":"text","required":false,"default":"","_meta":{"indexed":true}},"encryptedPrivkey":{"type":"text","required":false,"default":""},"encryptionIv":{"type":"text","required":false,"default":""},"encryptionTag":{"type":"text","required":false,"default":""},"email":{"type":"text","required":false,"default":""},"nip05Username":{"type":"text","required":false,"default":""},"lastUsedAt":{"type":"datetime","required":false},"verifiedAt":{"type":"datetime","required":false}},"methods":{"getProfile":{"name":"getProfile","async":true,"parameters":[],"returnType":"Promise<Profile | null>","isStatic":false,"isPublic":true},"findByPubkey":{"name":"findByPubkey","async":true,"parameters":[{"name":"pubkey","type":"string","optional":false},{"name":"options","type":"SmrtObjectOptions","optional":true}],"returnType":"Promise<NostrIdentity | null>","isStatic":true,"isPublic":true},"findByEmail":{"name":"findByEmail","async":true,"parameters":[{"name":"email","type":"string","optional":false},{"name":"options","type":"SmrtObjectOptions","optional":true}],"returnType":"Promise<NostrIdentity | null>","isStatic":true,"isPublic":true},"findByNip05":{"name":"findByNip05","async":true,"parameters":[{"name":"username","type":"string","optional":false},{"name":"options","type":"SmrtObjectOptions","optional":true}],"returnType":"Promise<NostrIdentity | null>","isStatic":true,"isPublic":true},"decryptPrivkey":{"name":"decryptPrivkey","async":false,"parameters":[{"name":"masterSecret","type":"string","optional":false}],"returnType":"string","isStatic":false,"isPublic":true},"getKeypair":{"name":"getKeypair","async":false,"parameters":[{"name":"masterSecret","type":"string","optional":false}],"returnType":"object","isStatic":false,"isPublic":true},"recordUsage":{"name":"recordUsage","async":true,"parameters":[],"returnType":"Promise<void>","isStatic":false,"isPublic":true},"markVerified":{"name":"markVerified","async":true,"parameters":[],"returnType":"Promise<void>","isStatic":false,"isPublic":true},"isVerified":{"name":"isVerified","async":false,"parameters":[],"returnType":"boolean","isStatic":false,"isPublic":true},"getNip05Identifier":{"name":"getNip05Identifier","async":false,"parameters":[{"name":"domain","type":"string","optional":false}],"returnType":"string","isStatic":false,"isPublic":true}},"decoratorConfig":{"tableName":"nostr_identities","sensitive":true,"api":{"include":["list","get"]},"mcp":{"include":["list","get"]},"cli":{"include":["list","get"]}},"extends":"SmrtObject","exportName":"NostrIdentity","collectionExportName":"NostrIdentityCollection","validationRules":[{"field":"profileId","rule":"required","fieldType":"foreignKey"}],"schema":{"tableName":"nostr_identities","ddl":"CREATE TABLE IF NOT EXISTS \\"nostr_identities\\" (\\n \\"_sync_origin_device_id\\" TEXT,\\n \\"_sync_revision\\" INTEGER,\\n \\"id\\" UUID PRIMARY KEY NOT NULL,\\n \\"slug\\" TEXT NOT NULL,\\n \\"context\\" TEXT NOT NULL DEFAULT '',\\n \\"created_at\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\"updated_at\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\"profile_id\\" UUID NOT NULL,\\n \\"pubkey\\" TEXT DEFAULT '',\\n \\"encrypted_privkey\\" TEXT DEFAULT '',\\n \\"encryption_iv\\" TEXT DEFAULT '',\\n \\"encryption_tag\\" TEXT DEFAULT '',\\n \\"email\\" TEXT DEFAULT '',\\n \\"nip05_username\\" TEXT DEFAULT '',\\n \\"last_used_at\\" TIMESTAMP,\\n \\"verified_at\\" TIMESTAMP\\n);","columns":{"_sync_origin_device_id":{"type":"TEXT"},"_sync_revision":{"type":"INTEGER"},"id":{"type":"UUID","primaryKey":true,"referenceKind":"id","notNull":true},"slug":{"type":"TEXT","notNull":true},"context":{"type":"TEXT","notNull":true,"default":""},"created_at":{"type":"TIMESTAMP","notNull":true,"default":"current_timestamp"},"updated_at":{"type":"TIMESTAMP","notNull":true,"default":"current_timestamp"},"profile_id":{"type":"UUID","referenceKind":"foreignKey","notNull":true,"unique":false,"foreignKey":{"table":"profiles","column":"id","onDelete":"NO ACTION","onUpdate":"CASCADE"}},"pubkey":{"type":"TEXT","notNull":false,"unique":false,"default":""},"encrypted_privkey":{"type":"TEXT","notNull":false,"unique":false,"default":""},"encryption_iv":{"type":"TEXT","notNull":false,"unique":false,"default":""},"encryption_tag":{"type":"TEXT","notNull":false,"unique":false,"default":""},"email":{"type":"TEXT","notNull":false,"unique":false,"default":""},"nip05_username":{"type":"TEXT","notNull":false,"unique":false,"default":""},"last_used_at":{"type":"TIMESTAMP","notNull":false,"unique":false},"verified_at":{"type":"TIMESTAMP","notNull":false,"unique":false}},"indexes":[{"name":"nostr_identities_slug_context_idx","columns":["slug","context"],"unique":true},{"name":"nostr_identities_pubkey_idx","columns":["pubkey"]},{"name":"nostr_identities_created_at_idx","columns":["created_at"]},{"name":"nostr_identities_profile_id_idx","columns":["profile_id"]}],"version":"925bb86c"},"importPath":"@happyvertical/smrt-profiles"},"@happyvertical/smrt-profiles:OidcIdentity":{"name":"oidcidentity","className":"OidcIdentity","qualifiedName":"@happyvertical/smrt-profiles:OidcIdentity","collection":"oidcidentities","filePath":"/home/runner/work/smrt/smrt/packages/profiles/src/models/OidcIdentity.ts","packageName":"@happyvertical/smrt-profiles","fields":{"profileId":{"type":"foreignKey","required":true,"related":"Profile","_meta":{"required":true}},"provider":{"type":"text","required":false,"_meta":{}},"issuer":{"type":"text","required":false,"_meta":{"indexed":true}},"subject":{"type":"text","required":false,"_meta":{"indexed":true}},"identityKey":{"type":"text","required":false,"_meta":{"nullable":true,"unique":true,"readonly":true},"readonly":true},"email":{"type":"text","required":false,"_meta":{}},"lastUsedAt":{"type":"datetime","required":false,"_meta":{"nullable":true}}},"methods":{"getProfile":{"name":"getProfile","async":true,"parameters":[],"returnType":"Promise<Profile | null>","isStatic":false,"isPublic":true},"findBySubject":{"name":"findBySubject","async":true,"parameters":[{"name":"issuer","type":"string","optional":false},{"name":"subject","type":"string","optional":false},{"name":"options","type":"SmrtObjectOptions","optional":true}],"returnType":"Promise<OidcIdentity | null>","isStatic":true,"isPublic":true},"buildIdentityKey":{"name":"buildIdentityKey","async":false,"parameters":[{"name":"issuer","type":"string","optional":false},{"name":"subject","type":"string","optional":false}],"returnType":"string","isStatic":true,"isPublic":true},"save":{"name":"save","async":true,"parameters":[{"name":"options","type":"SmrtSaveOptions","optional":true}],"returnType":"Promise<this>","isStatic":false,"isPublic":true},"findOrCreate":{"name":"findOrCreate","async":true,"parameters":[{"name":"profile","type":"Profile","optional":false},{"name":"oidcData","type":"object","optional":false,"memberTypes":["string"]},{"name":"options","type":"SmrtObjectOptions","optional":true}],"returnType":"Promise<OidcIdentity>","isStatic":true,"isPublic":true},"recordUsage":{"name":"recordUsage","async":true,"parameters":[],"returnType":"Promise<void>","isStatic":false,"isPublic":true}},"decoratorConfig":{"tableName":"oidc_identities","api":{"include":["list","get"]},"mcp":{"include":["list","get"]},"cli":{"include":["list","get"]}},"extends":"SmrtObject","exportName":"OidcIdentity","collectionExportName":"OidcIdentityCollection","validationRules":[{"field":"profileId","rule":"required","fieldType":"foreignKey"}],"schema":{"tableName":"oidc_identities","ddl":"CREATE TABLE IF NOT EXISTS \\"oidc_identities\\" (\\n \\"_sync_origin_device_id\\" TEXT,\\n \\"_sync_revision\\" INTEGER,\\n \\"id\\" UUID PRIMARY KEY NOT NULL,\\n \\"slug\\" TEXT NOT NULL,\\n \\"context\\" TEXT NOT NULL DEFAULT '',\\n \\"created_at\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\"updated_at\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\"profile_id\\" UUID NOT NULL,\\n \\"provider\\" TEXT,\\n \\"issuer\\" TEXT,\\n \\"subject\\" TEXT,\\n \\"identity_key\\" TEXT UNIQUE,\\n \\"email\\" TEXT,\\n \\"last_used_at\\" TIMESTAMP\\n);","columns":{"_sync_origin_device_id":{"type":"TEXT"},"_sync_revision":{"type":"INTEGER"},"id":{"type":"UUID","primaryKey":true,"referenceKind":"id","notNull":true},"slug":{"type":"TEXT","notNull":true},"context":{"type":"TEXT","notNull":true,"default":""},"created_at":{"type":"TIMESTAMP","notNull":true,"default":"current_timestamp"},"updated_at":{"type":"TIMESTAMP","notNull":true,"default":"current_timestamp"},"profile_id":{"type":"UUID","referenceKind":"foreignKey","notNull":true,"unique":false,"foreignKey":{"table":"profiles","column":"id","onDelete":"NO ACTION","onUpdate":"CASCADE"}},"provider":{"type":"TEXT","notNull":false,"unique":false},"issuer":{"type":"TEXT","notNull":false,"unique":false},"subject":{"type":"TEXT","notNull":false,"unique":false},"identity_key":{"type":"TEXT","notNull":false,"unique":true},"email":{"type":"TEXT","notNull":false,"unique":false},"last_used_at":{"type":"TIMESTAMP","notNull":false,"unique":false}},"indexes":[{"name":"oidc_identities_slug_context_idx","columns":["slug","context"],"unique":true},{"name":"oidc_identities_issuer_idx","columns":["issuer"]},{"name":"oidc_identities_subject_idx","columns":["subject"]},{"name":"oidc_identities_created_at_idx","columns":["created_at"]},{"name":"oidc_identities_profile_id_idx","columns":["profile_id"]}],"version":"d5516503"},"importPath":"@happyvertical/smrt-profiles"},"@happyvertical/smrt-profiles:OidcProfileEmailReservation":{"name":"oidcprofileemailreservation","className":"OidcProfileEmailReservation","qualifiedName":"@happyvertical/smrt-profiles:OidcProfileEmailReservation","collection":"oidcprofileemailreservations","description":"Private database arbiter for canonical OIDC email provisioning races.","filePath":"/home/runner/work/smrt/smrt/packages/profiles/src/models/OidcProfileEmailReservation.ts","packageName":"@happyvertical/smrt-profiles","fields":{"profileId":{"type":"foreignKey","required":true,"related":"Profile","_meta":{"required":true,"unique":true}},"emailKey":{"type":"text","required":true,"_meta":{"required":true,"unique":true,"readonly":true},"readonly":true}},"methods":{},"decoratorConfig":{"tableName":"oidc_profile_email_reservations","api":false,"mcp":false,"cli":false},"extends":"SmrtObject","exportName":"OidcProfileEmailReservation","collectionExportName":"OidcProfileEmailReservationCollection","validationRules":[{"field":"profileId","rule":"required","fieldType":"foreignKey"},{"field":"emailKey","rule":"required","fieldType":"text"}],"schema":{"tableName":"oidc_profile_email_reservations","ddl":"CREATE TABLE IF NOT EXISTS \\"oidc_profile_email_reservations\\" (\\n \\"_sync_origin_device_id\\" TEXT,\\n \\"_sync_revision\\" INTEGER,\\n \\"id\\" UUID PRIMARY KEY NOT NULL,\\n \\"slug\\" TEXT NOT NULL,\\n \\"context\\" TEXT NOT NULL DEFAULT '',\\n \\"created_at\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\"updated_at\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\"profile_id\\" UUID NOT NULL UNIQUE,\\n \\"email_key\\" TEXT NOT NULL UNIQUE\\n);","columns":{"_sync_origin_device_id":{"type":"TEXT"},"_sync_revision":{"type":"INTEGER"},"id":{"type":"UUID","primaryKey":true,"referenceKind":"id","notNull":true},"slug":{"type":"TEXT","notNull":true},"context":{"type":"TEXT","notNull":true,"default":""},"created_at":{"type":"TIMESTAMP","notNull":true,"default":"current_timestamp"},"updated_at":{"type":"TIMESTAMP","notNull":true,"default":"current_timestamp"},"profile_id":{"type":"UUID","referenceKind":"foreignKey","notNull":true,"unique":true,"foreignKey":{"table":"profiles","column":"id","onDelete":"NO ACTION","onUpdate":"CASCADE"}},"email_key":{"type":"TEXT","notNull":true,"unique":true}},"indexes":[{"name":"oidc_profile_email_reservations_slug_context_idx","columns":["slug","context"],"unique":true},{"name":"oidc_profile_email_reservations_created_at_idx","columns":["created_at"]}],"version":"425d67ae"},"importPath":"@happyvertical/smrt-profiles"},"@happyvertical/smrt-profiles:Profile":{"name":"profile","className":"Profile","qualifiedName":"@happyvertical/smrt-profiles:Profile","collection":"profiles","filePath":"/home/runner/work/smrt/smrt/packages/profiles/src/models/Profile.ts","packageName":"@happyvertical/smrt-profiles","fields":{"created_at":{"type":"datetime","required":false},"updated_at":{"type":"datetime","required":false},"tenantId":{"type":"text","required":false,"_meta":{"sqlType":"UUID","nullable":true,"__tenancy":{"isTenantIdField":true,"autoFilter":true,"required":false,"autoPopulate":true,"nullable":true,"mode":"optional","field":"tenantId","allowSuperAdminBypass":false}}},"typeId":{"type":"foreignKey","required":true,"related":"ProfileType","_meta":{"required":true}},"email":{"type":"text","required":false},"emailKey":{"type":"text","required":false,"_meta":{"nullable":true,"indexed":true,"readonly":true},"readonly":true},"name":{"type":"text","required":true,"default":"","_meta":{"required":true}},"description":{"type":"text","required":false},"isPublic":{"type":"boolean","required":false,"default":false,"_meta":{"default":false}},"metadata":{"type":"oneToMany","required":false,"related":"ProfileMetadata"},"relationshipsFrom":{"type":"oneToMany","required":false,"related":"ProfileRelationship","_meta":{"foreignKey":"fromProfileId"}},"relationshipsTo":{"type":"oneToMany","required":false,"related":"ProfileRelationship","_meta":{"foreignKey":"toProfileId"}}},"methods":{"save":{"name":"save","async":true,"parameters":[{"name":"options","type":"SmrtSaveOptions","optional":true}],"returnType":"Promise<this>","isStatic":false,"isPublic":true},"getTypeSlug":{"name":"getTypeSlug","async":true,"parameters":[],"returnType":"Promise<string>","isStatic":false,"isPublic":true},"setTypeBySlug":{"name":"setTypeBySlug","async":true,"parameters":[{"name":"slug","type":"string","optional":false}],"returnType":"Promise<void>","isStatic":false,"isPublic":true},"addMetadata":{"name":"addMetadata","async":true,"parameters":[{"name":"metafieldSlug","type":"string","optional":false},{"name":"value","type":"unknown","optional":false}],"returnType":"Promise<void>","isStatic":false,"isPublic":true},"getMetadata":{"name":"getMetadata","async":true,"parameters":[],"returnType":"Promise<Record<string, string>>","isStatic":false,"isPublic":true},"updateMetadata":{"name":"updateMetadata","async":true,"parameters":[{"name":"metadata","type":"Record<string, unknown>","optional":false}],"returnType":"Promise<void>","isStatic":false,"isPublic":true},"removeMetadata":{"name":"removeMetadata","async":true,"parameters":[{"name":"metafieldSlug","type":"string","optional":false}],"returnType":"Promise<void>","isStatic":false,"isPublic":true},"getLinks":{"name":"getLinks","async":true,"parameters":[],"returnType":"Promise<ProfileLink[]>","isStatic":false,"isPublic":true},"setLinks":{"name":"setLinks","async":true,"parameters":[{"name":"links","type":"any","optional":false,"typeUnresolved":true}],"returnType":"Promise<ProfileLink[]>","isStatic":false,"isPublic":true},"getAssets":{"name":"getAssets","async":true,"parameters":[{"name":"relationship","type":"string","optional":true}],"returnType":"Promise<Asset[]>","isStatic":false,"isPublic":true},"addAsset":{"name":"addAsset","async":true,"parameters":[{"name":"asset","type":"Asset","optional":false},{"name":"relationship","type":"any","optional":true,"default":"attachment"},{"name":"sortOrder","type":"any","optional":true}],"returnType":"Promise<void>","isStatic":false,"isPublic":true},"removeAsset":{"name":"removeAsset","async":true,"parameters":[{"name":"assetId","type":"string","optional":false},{"name":"relationship","type":"string","optional":true}],"returnType":"Promise<void>","isStatic":false,"isPublic":true},"addRelationship":{"name":"addRelationship","async":true,"parameters":[{"name":"toProfile","type":"Profile","optional":false},{"name":"relationshipSlug","type":"string","optional":false},{"name":"contextProfile","type":"Profile","optional":true}],"returnType":"Promise<void>","isStatic":false,"isPublic":true},"getRelationships":{"name":"getRelationships","async":true,"parameters":[{"name":"options","type":"object","optional":true,"memberTypes":["string","'from' | 'to' | 'all'"]}],"returnType":"Promise<ProfileRelationship[]>","isStatic":false,"isPublic":true},"getRelatedProfiles":{"name":"getRelatedProfiles","async":true,"parameters":[{"name":"relationshipSlug","type":"string","optional":true}],"returnType":"Promise<Profile[]>","isStatic":false,"isPublic":true},"removeRelationship":{"name":"removeRelationship","async":true,"parameters":[{"name":"toProfile","type":"Profile","optional":false},{"name":"relationshipSlug","type":"string","optional":false}],"returnType":"Promise<void>","isStatic":false,"isPublic":true},"generateBio":{"name":"generateBio","async":true,"parameters":[],"returnType":"Promise<string>","isStatic":false,"isPublic":true},"matches":{"name":"matches","async":true,"parameters":[{"name":"criteria","type":"string","optional":false}],"returnType":"Promise<boolean>","isStatic":false,"isPublic":true},"findByMetadata":{"name":"findByMetadata","async":true,"parameters":[{"name":"_metafieldSlug","type":"string","optional":false},{"name":"_value","type":"unknown","optional":false}],"returnType":"Promise<Profile[]>","isStatic":true,"isPublic":true},"findByType":{"name":"findByType","async":true,"parameters":[{"name":"_typeSlug","type":"string","optional":false}],"returnType":"Promise<Profile[]>","isStatic":true,"isPublic":true},"findRelated":{"name":"findRelated","async":true,"parameters":[{"name":"_profileId","type":"string","optional":false},{"name":"_relationshipSlug","type":"string","optional":true}],"returnType":"Promise<Profile[]>","isStatic":true,"isPublic":true},"searchByEmail":{"name":"searchByEmail","async":true,"parameters":[{"name":"_email","type":"string","optional":false}],"returnType":"Promise<Profile | null>","isStatic":true,"isPublic":true},"getApiKeys":{"name":"getApiKeys","async":true,"parameters":[],"returnType":"Promise<ApiKey[]>","isStatic":false,"isPublic":true},"getActiveApiKeys":{"name":"getActiveApiKeys","async":true,"parameters":[],"returnType":"Promise<ApiKey[]>","isStatic":false,"isPublic":true},"generateApiKey":{"name":"generateApiKey","async":true,"parameters":[{"name":"options","type":"object","optional":false,"memberTypes":["string","string[]","Date | null"]}],"returnType":"Promise<GenerateKeyResult>","isStatic":false,"isPublic":true},"getOidcIdentities":{"name":"getOidcIdentities","async":true,"parameters":[],"returnType":"Promise<OidcIdentity[]>","isStatic":false,"isPublic":true},"linkOidcIdentity":{"name":"linkOidcIdentity","async":true,"parameters":[{"name":"oidcData","type":"object","optional":false,"memberTypes":["string"]}],"returnType":"Promise<OidcIdentity>","isStatic":false,"isPublic":true},"getNostrIdentities":{"name":"getNostrIdentities","async":true,"parameters":[],"returnType":"Promise<NostrIdentity[]>","isStatic":false,"isPublic":true},"linkNostrIdentity":{"name":"linkNostrIdentity","async":true,"parameters":[{"name":"nostrData","type":"object","optional":false,"memberTypes":["string"]}],"returnType":"Promise<NostrIdentity>","isStatic":false,"isPublic":true},"getAuditLogs":{"name":"getAuditLogs","async":true,"parameters":[{"name":"limit","type":"number","optional":true}],"returnType":"Promise<AuditLog[]>","isStatic":false,"isPublic":true},"recordAction":{"name":"recordAction","async":true,"parameters":[{"name":"options","type":"object","optional":false,"typeUnresolved":true,"memberTypes":["string","'web' | 'cli' | 'ci' | 'webhook' | 'mcp'","Record<string, unknown>","Profile | null"]}],"returnType":"Promise<AuditLog>","isStatic":false,"isPublic":true}},"decoratorConfig":{"tableStrategy":"sti","api":{"include":["list","get","create","update","delete"]},"mcp":{"include":["list","get","create","update"]},"cli":{"skipApiCheck":true},"tenantScoped":{"mode":"optional"},"conflictColumns":["tenant_id","slug","context","_meta_type"]},"extends":"SmrtObject","exportName":"Profile","collectionExportName":"ProfileCollection","displayLabelField":"name","validationRules":[{"field":"typeId","rule":"required","fieldType":"foreignKey"},{"field":"name","rule":"required","fieldType":"text"}],"schema":{"tableName":"profiles","ddl":"CREATE TABLE IF NOT EXISTS \\"profiles\\" (\\n \\"_sync_origin_device_id\\" TEXT,\\n \\"_sync_revision\\" INTEGER,\\n \\"id\\" UUID PRIMARY KEY NOT NULL,\\n \\"slug\\" TEXT NOT NULL,\\n \\"context\\" TEXT NOT NULL DEFAULT '',\\n \\"_meta_type\\" TEXT NOT NULL,\\n \\"_meta_data\\" JSON,\\n \\"created_at\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\"updated_at\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\"tenant_id\\" UUID,\\n \\"type_id\\" UUID,\\n \\"email\\" TEXT,\\n \\"email_key\\" TEXT,\\n \\"name\\" TEXT DEFAULT '',\\n \\"description\\" TEXT,\\n \\"is_public\\" BOOLEAN DEFAULT FALSE\\n);","columns":{"_sync_origin_device_id":{"type":"TEXT"},"_sync_revision":{"type":"INTEGER"},"id":{"type":"UUID","primaryKey":true,"referenceKind":"id","notNull":true},"slug":{"type":"TEXT","notNull":true},"context":{"type":"TEXT","notNull":true,"default":""},"_meta_type":{"type":"TEXT","notNull":true},"_meta_data":{"type":"JSON","notNull":false},"created_at":{"type":"TIMESTAMP","notNull":true,"default":"current_timestamp"},"updated_at":{"type":"TIMESTAMP","notNull":true,"default":"current_timestamp"},"tenant_id":{"type":"UUID","referenceKind":"tenantId","notNull":false},"type_id":{"type":"UUID","referenceKind":"foreignKey","notNull":false,"foreignKey":{"table":"profile_types","column":"id","onDelete":"NO ACTION","onUpdate":"CASCADE"}},"email":{"type":"TEXT","notNull":false},"email_key":{"type":"TEXT","notNull":false},"name":{"type":"TEXT","notNull":false,"default":""},"description":{"type":"TEXT","notNull":false},"is_public":{"type":"BOOLEAN","notNull":false,"default":false}},"indexes":[{"name":"profiles_slug_context_meta_type_idx","columns":["tenant_id","slug","context","_meta_type"],"unique":true,"nullsNotDistinct":true},{"name":"profiles_meta_type_idx","columns":["_meta_type"]},{"name":"profiles_email_key_idx","columns":["email_key"]},{"name":"profiles_tenant_id_created_at_idx","columns":["tenant_id","created_at"]},{"name":"profiles_type_id_idx","columns":["type_id"]}],"version":"c8216570"},"importPath":"@happyvertical/smrt-profiles"},"@happyvertical/smrt-profiles:ProfileAsset":{"name":"profileasset","className":"ProfileAsset","qualifiedName":"@happyvertical/smrt-profiles:ProfileAsset","collection":"profileassets","filePath":"/home/runner/work/smrt/smrt/packages/profiles/src/models/ProfileAsset.ts","packageName":"@happyvertical/smrt-profiles","fields":{"tenantId":{"type":"text","required":false,"_meta":{"sqlType":"UUID","nullable":true,"__tenancy":{"isTenantIdField":true,"autoFilter":true,"required":false,"autoPopulate":true,"nullable":true,"mode":"optional","field":"tenantId","allowSuperAdminBypass":false}}},"profileId":{"type":"foreignKey","required":true,"related":"Profile","_meta":{"required":true,"onDelete":"CASCADE"}},"assetId":{"type":"crossPackageRef","required":true,"related":"@happyvertical/smrt-assets:Asset","_meta":{"onDelete":"CASCADE"}},"relationship":{"type":"text","required":true,"_meta":{"required":true}},"sortOrder":{"type":"integer","required":true,"default":0}},"methods":{},"decoratorConfig":{"tableName":"profile_assets","conflictColumns":["profile_id","asset_id","relationship"],"api":false,"mcp":false,"cli":false,"tenantScoped":{"mode":"optional"}},"extends":"SmrtObject","exportName":"ProfileAsset","collectionExportName":"ProfileAssetCollection","validationRules":[{"field":"profileId","rule":"required","fieldType":"foreignKey"},{"field":"assetId","rule":"required","fieldType":"crossPackageRef"},{"field":"relationship","rule":"required","fieldType":"text"},{"field":"sortOrder","rule":"required","fieldType":"integer"}],"schema":{"tableName":"profile_assets","ddl":"CREATE TABLE IF NOT EXISTS \\"profile_assets\\" (\\n \\"_sync_origin_device_id\\" TEXT,\\n \\"_sync_revision\\" INTEGER,\\n \\"id\\" UUID PRIMARY KEY NOT NULL,\\n \\"slug\\" TEXT NOT NULL,\\n \\"context\\" TEXT NOT NULL DEFAULT '',\\n \\"created_at\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\"updated_at\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\"tenant_id\\" UUID,\\n \\"profile_id\\" UUID NOT NULL,\\n \\"asset_id\\" UUID NOT NULL,\\n \\"relationship\\" TEXT NOT NULL,\\n \\"sort_order\\" INTEGER NOT NULL DEFAULT 0\\n);","columns":{"_sync_origin_device_id":{"type":"TEXT"},"_sync_revision":{"type":"INTEGER"},"id":{"type":"UUID","primaryKey":true,"referenceKind":"id","notNull":true},"slug":{"type":"TEXT","notNull":true},"context":{"type":"TEXT","notNull":true,"default":""},"created_at":{"type":"TIMESTAMP","notNull":true,"default":"current_timestamp"},"updated_at":{"type":"TIMESTAMP","notNull":true,"default":"current_timestamp"},"tenant_id":{"type":"UUID","referenceKind":"tenantId","notNull":false,"unique":false},"profile_id":{"type":"UUID","referenceKind":"foreignKey","notNull":true,"unique":false,"foreignKey":{"table":"profiles","column":"id","onDelete":"CASCADE","onUpdate":"CASCADE"}},"asset_id":{"type":"UUID","referenceKind":"crossPackageRef","notNull":true,"unique":false},"relationship":{"type":"TEXT","notNull":true,"unique":false},"sort_order":{"type":"INTEGER","notNull":true,"unique":false,"default":0}},"indexes":[{"name":"profile_assets_profile_id_asset_id_idx","columns":["profile_id","asset_id","relationship"],"unique":true},{"name":"profile_assets_slug_context_idx","columns":["slug","context"]},{"name":"profile_assets_tenant_id_created_at_idx","columns":["tenant_id","created_at"]},{"name":"profile_assets_asset_id_idx","columns":["asset_id"]}],"version":"86c00d61"},"importPath":"@happyvertical/smrt-profiles"},"@happyvertical/smrt-profiles:ProfileLink":{"name":"profilelink","className":"ProfileLink","qualifiedName":"@happyvertical/smrt-profiles:ProfileLink","collection":"profilelinks","filePath":"/home/runner/work/smrt/smrt/packages/profiles/src/models/ProfileLink.ts","packageName":"@happyvertical/smrt-profiles","fields":{"tenantId":{"type":"text","required":false,"_meta":{"sqlType":"UUID","nullable":true,"__tenancy":{"isTenantIdField":true,"autoFilter":true,"required":false,"autoPopulate":true,"nullable":true,"mode":"optional","field":"tenantId","allowSuperAdminBypass":false}}},"profileId":{"type":"foreignKey","required":true,"related":"Profile","_meta":{"required":true,"onDelete":"CASCADE"}},"platform":{"type":"text","required":true,"default":"website","maxLength":32,"_meta":{"required":true,"maxLength":32}},"url":{"type":"text","required":true,"maxLength":2048,"_meta":{"required":true,"maxLength":2048}},"label":{"type":"text","required":false,"maxLength":200,"_meta":{"nullable":true,"maxLength":200}},"sortOrder":{"type":"integer","required":true,"default":0}},"methods":{"getSlug":{"name":"getSlug","async":true,"parameters":[],"returnType":"Promise<string | null | undefined>","isStatic":false,"isPublic":true},"save":{"name":"save","async":true,"parameters":[{"name":"...args","type":"any","optional":true,"typeUnresolved":true}],"returnType":"Promise<this>","isStatic":false,"isPublic":true}},"decoratorConfig":{"tableName":"profile_links","api":false,"mcp":false,"cli":false,"tenantScoped":{"mode":"optional"},"conflictColumns":["tenant_id","slug","context"]},"extends":"SmrtObject","exportName":"ProfileLink","collectionExportName":"ProfileLinkCollection","displayLabelField":"label","validationRules":[{"field":"profileId","rule":"required","fieldType":"foreignKey"},{"field":"platform","rule":"required","fieldType":"text"},{"field":"platform","rule":"maxLength","value":32,"fieldType":"text"},{"field":"url","rule":"required","fieldType":"text"},{"field":"url","rule":"maxLength","value":2048,"fieldType":"text"},{"field":"label","rule":"maxLength","value":200,"fieldType":"text"},{"field":"sortOrder","rule":"required","fieldType":"integer"}],"schema":{"tableName":"profile_links","ddl":"CREATE TABLE IF NOT EXISTS \\"profile_links\\" (\\n \\"_sync_origin_device_id\\" TEXT,\\n \\"_sync_revision\\" INTEGER,\\n \\"id\\" UUID PRIMARY KEY NOT NULL,\\n \\"slug\\" TEXT NOT NULL,\\n \\"context\\" TEXT NOT NULL DEFAULT '',\\n \\"created_at\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\"updated_at\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\"tenant_id\\" UUID,\\n \\"profile_id\\" UUID NOT NULL,\\n \\"platform\\" TEXT NOT NULL DEFAULT 'website',\\n \\"url\\" TEXT NOT NULL,\\n \\"label\\" TEXT,\\n \\"sort_order\\" INTEGER NOT NULL DEFAULT 0\\n);","columns":{"_sync_origin_device_id":{"type":"TEXT"},"_sync_revision":{"type":"INTEGER"},"id":{"type":"UUID","primaryKey":true,"referenceKind":"id","notNull":true},"slug":{"type":"TEXT","notNull":true},"context":{"type":"TEXT","notNull":true,"default":""},"created_at":{"type":"TIMESTAMP","notNull":true,"default":"current_timestamp"},"updated_at":{"type":"TIMESTAMP","notNull":true,"default":"current_timestamp"},"tenant_id":{"type":"UUID","referenceKind":"tenantId","notNull":false,"unique":false},"profile_id":{"type":"UUID","referenceKind":"foreignKey","notNull":true,"unique":false,"foreignKey":{"table":"profiles","column":"id","onDelete":"CASCADE","onUpdate":"CASCADE"}},"platform":{"type":"TEXT","notNull":true,"unique":false,"default":"website"},"url":{"type":"TEXT","notNull":true,"unique":false},"label":{"type":"TEXT","notNull":false,"unique":false},"sort_order":{"type":"INTEGER","notNull":true,"unique":false,"default":0}},"indexes":[{"name":"profile_links_slug_context_idx","columns":["tenant_id","slug","context"],"unique":true,"nullsNotDistinct":true},{"name":"profile_links_tenant_id_created_at_idx","columns":["tenant_id","created_at"]},{"name":"profile_links_profile_id_idx","columns":["profile_id"]}],"version":"bf0b368b"},"importPath":"@happyvertical/smrt-profiles"},"@happyvertical/smrt-profiles:ProfileMetadata":{"name":"profilemetadata","className":"ProfileMetadata","qualifiedName":"@happyvertical/smrt-profiles:ProfileMetadata","collection":"profilemetadatas","filePath":"/home/runner/work/smrt/smrt/packages/profiles/src/models/ProfileMetadata.ts","packageName":"@happyvertical/smrt-profiles","fields":{"created_at":{"type":"datetime","required":false},"updated_at":{"type":"datetime","required":false},"tenantId":{"type":"text","required":false,"_meta":{"sqlType":"UUID","nullable":true,"__tenancy":{"isTenantIdField":true,"autoFilter":true,"required":false,"autoPopulate":true,"nullable":true,"mode":"optional","field":"tenantId","allowSuperAdminBypass":false}}},"profileId":{"type":"foreignKey","required":true,"related":"Profile","_meta":{"required":true}},"metafieldId":{"type":"foreignKey","required":true,"related":"ProfileMetafield","_meta":{"required":true}},"value":{"type":"text","required":true,"default":"","_meta":{"required":true}}},"methods":{"validate":{"name":"validate","async":true,"parameters":[],"returnType":"Promise<boolean>","isStatic":false,"isPublic":true},"getMetafieldSlug":{"name":"getMetafieldSlug","async":true,"parameters":[],"returnType":"Promise<string>","isStatic":false,"isPublic":true}},"decoratorConfig":{"tableStrategy":"sti","api":{"include":["list","get","create","update","delete"]},"mcp":{"include":["list","get"]},"cli":{"skipApiCheck":true},"tenantScoped":{"mode":"optional"},"conflictColumns":["tenant_id","slug","context","_meta_type"]},"extends":"SmrtObject","exportName":"ProfileMetadata","collectionExportName":"ProfileMetadataCollection","validationRules":[{"field":"profileId","rule":"required","fieldType":"foreignKey"},{"field":"metafieldId","rule":"required","fieldType":"foreignKey"},{"field":"value","rule":"required","fieldType":"text"}],"schema":{"tableName":"profile_metadata","ddl":"CREATE TABLE IF NOT EXISTS \\"profile_metadata\\" (\\n \\"_sync_origin_device_id\\" TEXT,\\n \\"_sync_revision\\" INTEGER,\\n \\"id\\" UUID PRIMARY KEY NOT NULL,\\n \\"slug\\" TEXT NOT NULL,\\n \\"context\\" TEXT NOT NULL DEFAULT '',\\n \\"_meta_type\\" TEXT NOT NULL,\\n \\"_meta_data\\" JSON,\\n \\"created_at\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\"updated_at\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\"tenant_id\\" UUID,\\n \\"profile_id\\" UUID,\\n \\"metafield_id\\" UUID,\\n \\"value\\" TEXT DEFAULT ''\\n);","columns":{"_sync_origin_device_id":{"type":"TEXT"},"_sync_revision":{"type":"INTEGER"},"id":{"type":"UUID","primaryKey":true,"referenceKind":"id","notNull":true},"slug":{"type":"TEXT","notNull":true},"context":{"type":"TEXT","notNull":true,"default":""},"_meta_type":{"type":"TEXT","notNull":true},"_meta_data":{"type":"JSON","notNull":false},"created_at":{"type":"TIMESTAMP","notNull":true,"default":"current_timestamp"},"updated_at":{"type":"TIMESTAMP","notNull":true,"default":"current_timestamp"},"tenant_id":{"type":"UUID","referenceKind":"tenantId","notNull":false},"profile_id":{"type":"UUID","referenceKind":"foreignKey","notNull":false,"foreignKey":{"table":"profiles","column":"id","onDelete":"NO ACTION","onUpdate":"CASCADE"}},"metafield_id":{"type":"UUID","referenceKind":"foreignKey","notNull":false,"foreignKey":{"table":"profile_metafields","column":"id","onDelete":"NO ACTION","onUpdate":"CASCADE"}},"value":{"type":"TEXT","notNull":false,"default":""}},"indexes":[{"name":"profile_metadata_slug_context_meta_type_idx","columns":["tenant_id","slug","context","_meta_type"],"unique":true,"nullsNotDistinct":true},{"name":"profile_metadata_meta_type_idx","columns":["_meta_type"]},{"name":"profile_metadata_tenant_id_created_at_idx","columns":["tenant_id","created_at"]},{"name":"profile_metadata_profile_id_idx","columns":["profile_id"]},{"name":"profile_metadata_metafield_id_idx","columns":["metafield_id"]}],"version":"fdb0f02d"},"importPath":"@happyvertical/smrt-profiles"},"@happyvertical/smrt-profiles:ProfileMetafield":{"name":"profilemetafield","className":"ProfileMetafield","qualifiedName":"@happyvertical/smrt-profiles:ProfileMetafield","collection":"profilemetafields","filePath":"/home/runner/work/smrt/smrt/packages/profiles/src/models/ProfileMetafield.ts","packageName":"@happyvertical/smrt-profiles","fields":{"created_at":{"type":"datetime","required":false},"updated_at":{"type":"datetime","required":false},"tenantId":{"type":"text","required":false,"_meta":{"sqlType":"UUID","nullable":true,"__tenancy":{"isTenantIdField":true,"autoFilter":true,"required":false,"autoPopulate":true,"nullable":true,"mode":"optional","field":"tenantId","allowSuperAdminBypass":false}}},"name":{"type":"text","required":true,"default":"","_meta":{"required":true}},"description":{"type":"text","required":false},"validation":{"type":"json","required":false}},"methods":{"getBySlug":{"name":"getBySlug","async":true,"parameters":[{"name":"_slug","type":"string","optional":false}],"returnType":"Promise<ProfileMetafield | null>","isStatic":true,"isPublic":true},"registerValidator":{"name":"registerValidator","async":false,"parameters":[{"name":"name","type":"string","optional":false},{"name":"validator","type":"ValidatorFunction","optional":false}],"returnType":"void","isStatic":true,"isPublic":true},"getValidator":{"name":"getValidator","async":false,"parameters":[{"name":"name","type":"string","optional":false}],"returnType":"ValidatorFunction | undefined","isStatic":true,"isPublic":true},"validateValue":{"name":"validateValue","async":true,"parameters":[{"name":"value","type":"unknown","optional":false}],"returnType":"Promise<boolean>","isStatic":false,"isPublic":true}},"decoratorConfig":{"tableStrategy":"sti","api":{"include":["list","get","create","update"]},"mcp":{"include":["list","get"]},"cli":{"skipApiCheck":true},"tenantScoped":{"mode":"optional"},"conflictColumns":["tenant_id","slug","context","_meta_type"]},"extends":"SmrtObject","exportName":"ProfileMetafield","collectionExportName":"ProfileMetafieldCollection","displayLabelField":"name","validationRules":[{"field":"name","rule":"required","fieldType":"text"}],"schema":{"tableName":"profile_metafields","ddl":"CREATE TABLE IF NOT EXISTS \\"profile_metafields\\" (\\n \\"_sync_origin_device_id\\" TEXT,\\n \\"_sync_revision\\" INTEGER,\\n \\"id\\" UUID PRIMARY KEY NOT NULL,\\n \\"slug\\" TEXT NOT NULL,\\n \\"context\\" TEXT NOT NULL DEFAULT '',\\n \\"_meta_type\\" TEXT NOT NULL,\\n \\"_meta_data\\" JSON,\\n \\"created_at\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\"updated_at\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\"tenant_id\\" UUID,\\n \\"name\\" TEXT DEFAULT '',\\n \\"description\\" TEXT,\\n \\"validation\\" JSON\\n);","columns":{"_sync_origin_device_id":{"type":"TEXT"},"_sync_revision":{"type":"INTEGER"},"id":{"type":"UUID","primaryKey":true,"referenceKind":"id","notNull":true},"slug":{"type":"TEXT","notNull":true},"context":{"type":"TEXT","notNull":true,"default":""},"_meta_type":{"type":"TEXT","notNull":true},"_meta_data":{"type":"JSON","notNull":false},"created_at":{"type":"TIMESTAMP","notNull":true,"default":"current_timestamp"},"updated_at":{"type":"TIMESTAMP","notNull":true,"default":"current_timestamp"},"tenant_id":{"type":"UUID","referenceKind":"tenantId","notNull":false},"name":{"type":"TEXT","notNull":false,"default":""},"description":{"type":"TEXT","notNull":false},"validation":{"type":"JSON","notNull":false}},"indexes":[{"name":"profile_metafields_slug_context_meta_type_idx","columns":["tenant_id","slug","context","_meta_type"],"unique":true,"nullsNotDistinct":true},{"name":"profile_metafields_meta_type_idx","columns":["_meta_type"]},{"name":"profile_metafields_tenant_id_created_at_idx","columns":["tenant_id","created_at"]}],"version":"6de23b1a"},"importPath":"@happyvertical/smrt-profiles"},"@happyvertical/smrt-profiles:ProfileRelationship":{"name":"profilerelationship","className":"ProfileRelationship","qualifiedName":"@happyvertical/smrt-profiles:ProfileRelationship","collection":"profilerelationships","filePath":"/home/runner/work/smrt/smrt/packages/profiles/src/models/ProfileRelationship.ts","packageName":"@happyvertical/smrt-profiles","fields":{"created_at":{"type":"datetime","required":false},"updated_at":{"type":"datetime","required":false},"tenantId":{"type":"text","required":false,"_meta":{"sqlType":"UUID","nullable":true,"__tenancy":{"isTenantIdField":true,"autoFilter":true,"required":false,"autoPopulate":true,"nullable":true,"mode":"optional","field":"tenantId","allowSuperAdminBypass":false}}},"fromProfileId":{"type":"foreignKey","required":true,"related":"Profile","_meta":{"required":true}},"toProfileId":{"type":"foreignKey","required":true,"related":"Profile","_meta":{"required":true}},"typeId":{"type":"foreignKey","required":true,"related":"ProfileRelationshipType","_meta":{"required":true}},"contextProfileId":{"type":"foreignKey","required":false,"related":"Profile"},"terms":{"type":"oneToMany","required":false,"related":"ProfileRelationshipTerm"}},"methods":{"getTypeSlug":{"name":"getTypeSlug","async":true,"parameters":[],"returnType":"Promise<string>","isStatic":false,"isPublic":true},"addTerm":{"name":"addTerm","async":true,"parameters":[{"name":"startedAt","type":"Date","optional":false},{"name":"endedAt","type":"Date","optional":true}],"returnType":"Promise<void>","isStatic":false,"isPublic":true},"endCurrentTerm":{"name":"endCurrentTerm","async":true,"parameters":[{"name":"endedAt","type":"Date","optional":false}],"returnType":"Promise<void>","isStatic":false,"isPublic":true},"getTerms":{"name":"getTerms","async":true,"parameters":[],"returnType":"Promise<ProfileRelationshipTerm[]>","isStatic":false,"isPublic":true},"getActiveTerm":{"name":"getActiveTerm","async":true,"parameters":[],"returnType":"Promise<ProfileRelationshipTerm | null>","isStatic":false,"isPublic":true}},"decoratorConfig":{"tableStrategy":"sti","api":{"include":["list","get","create","delete"]},"mcp":{"include":["list","get"]},"cli":{"skipApiCheck":true},"tenantScoped":{"mode":"optional"},"conflictColumns":["tenant_id","slug","context","_meta_type"]},"extends":"SmrtObject","exportName":"ProfileRelationship","collectionExportName":"ProfileRelationshipCollection","validationRules":[{"field":"fromProfileId","rule":"required","fieldType":"foreignKey"},{"field":"toProfileId","rule":"required","fieldType":"foreignKey"},{"field":"typeId","rule":"required","fieldType":"foreignKey"}],"schema":{"tableName":"profile_relationships","ddl":"CREATE TABLE IF NOT EXISTS \\"profile_relationships\\" (\\n \\"_sync_origin_device_id\\" TEXT,\\n \\"_sync_revision\\" INTEGER,\\n \\"id\\" UUID PRIMARY KEY NOT NULL,\\n \\"slug\\" TEXT NOT NULL,\\n \\"context\\" TEXT NOT NULL DEFAULT '',\\n \\"_meta_type\\" TEXT NOT NULL,\\n \\"_meta_data\\" JSON,\\n \\"created_at\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\"updated_at\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\"tenant_id\\" UUID,\\n \\"from_profile_id\\" UUID,\\n \\"to_profile_id\\" UUID,\\n \\"type_id\\" UUID,\\n \\"context_profile_id\\" UUID\\n);","columns":{"_sync_origin_device_id":{"type":"TEXT"},"_sync_revision":{"type":"INTEGER"},"id":{"type":"UUID","primaryKey":true,"referenceKind":"id","notNull":true},"slug":{"type":"TEXT","notNull":true},"context":{"type":"TEXT","notNull":true,"default":""},"_meta_type":{"type":"TEXT","notNull":true},"_meta_data":{"type":"JSON","notNull":false},"created_at":{"type":"TIMESTAMP","notNull":true,"default":"current_timestamp"},"updated_at":{"type":"TIMESTAMP","notNull":true,"default":"current_timestamp"},"tenant_id":{"type":"UUID","referenceKind":"tenantId","notNull":false},"from_profile_id":{"type":"UUID","referenceKind":"foreignKey","notNull":false,"foreignKey":{"table":"profiles","column":"id","onDelete":"NO ACTION","onUpdate":"CASCADE"}},"to_profile_id":{"type":"UUID","referenceKind":"foreignKey","notNull":false,"foreignKey":{"table":"profiles","column":"id","onDelete":"NO ACTION","onUpdate":"CASCADE"}},"type_id":{"type":"UUID","referenceKind":"foreignKey","notNull":false,"foreignKey":{"table":"profile_relationship_types","column":"id","onDelete":"NO ACTION","onUpdate":"CASCADE"}},"context_profile_id":{"type":"UUID","referenceKind":"foreignKey","notNull":false,"foreignKey":{"table":"profiles","column":"id","onDelete":"NO ACTION","onUpdate":"CASCADE"}}},"indexes":[{"name":"profile_relationships_slug_context_meta_type_idx","columns":["tenant_id","slug","context","_meta_type"],"unique":true,"nullsNotDistinct":true},{"name":"profile_relationships_meta_type_idx","columns":["_meta_type"]},{"name":"profile_relationships_tenant_id_created_at_idx","columns":["tenant_id","created_at"]},{"name":"profile_relationships_from_profile_id_idx","columns":["from_profile_id"]},{"name":"profile_relationships_to_profile_id_idx","columns":["to_profile_id"]},{"name":"profile_relationships_type_id_idx","columns":["type_id"]},{"name":"profile_relationships_context_profile_id_idx","columns":["context_profile_id"]}],"version":"633f2a58"},"importPath":"@happyvertical/smrt-profiles"},"@happyvertical/smrt-profiles:ProfileRelationshipTerm":{"name":"profilerelationshipterm","className":"ProfileRelationshipTerm","qualifiedName":"@happyvertical/smrt-profiles:ProfileRelationshipTerm","collection":"profilerelationshipterms","filePath":"/home/runner/work/smrt/smrt/packages/profiles/src/models/ProfileRelationshipTerm.ts","packageName":"@happyvertical/smrt-profiles","fields":{"created_at":{"type":"datetime","required":false},"updated_at":{"type":"datetime","required":false},"relationshipId":{"type":"foreignKey","required":true,"related":"ProfileRelationship","_meta":{"required":true}},"startedAt":{"type":"datetime","required":true,"_meta":{"required":true}},"endedAt":{"type":"datetime","required":false}},"methods":{"isActive":{"name":"isActive","async":false,"parameters":[],"returnType":"boolean","isStatic":false,"isPublic":true},"end":{"name":"end","async":true,"parameters":[{"name":"endedAt","type":"Date","optional":true}],"returnType":"Promise<void>","isStatic":false,"isPublic":true},"getDurationDays":{"name":"getDurationDays","async":false,"parameters":[],"returnType":"number","isStatic":false,"isPublic":true}},"decoratorConfig":{"tableStrategy":"sti","api":{"include":["list","get","create","update","delete"]},"mcp":{"include":["list","get"]},"cli":{"skipApiCheck":true}},"extends":"SmrtObject","exportName":"ProfileRelationshipTerm","collectionExportName":"ProfileRelationshipTermCollection","validationRules":[{"field":"relationshipId","rule":"required","fieldType":"foreignKey"},{"field":"startedAt","rule":"required","fieldType":"datetime"}],"schema":{"tableName":"profile_relationship_terms","ddl":"CREATE TABLE IF NOT EXISTS \\"profile_relationship_terms\\" (\\n \\"_sync_origin_device_id\\" TEXT,\\n \\"_sync_revision\\" INTEGER,\\n \\"id\\" UUID PRIMARY KEY NOT NULL,\\n \\"slug\\" TEXT NOT NULL,\\n \\"context\\" TEXT NOT NULL DEFAULT '',\\n \\"_meta_type\\" TEXT NOT NULL,\\n \\"_meta_data\\" JSON,\\n \\"created_at\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\"updated_at\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\"relationship_id\\" UUID,\\n \\"started_at\\" TIMESTAMP,\\n \\"ended_at\\" TIMESTAMP\\n);","columns":{"_sync_origin_device_id":{"type":"TEXT"},"_sync_revision":{"type":"INTEGER"},"id":{"type":"UUID","primaryKey":true,"referenceKind":"id","notNull":true},"slug":{"type":"TEXT","notNull":true},"context":{"type":"TEXT","notNull":true,"default":""},"_meta_type":{"type":"TEXT","notNull":true},"_meta_data":{"type":"JSON","notNull":false},"created_at":{"type":"TIMESTAMP","notNull":true,"default":"current_timestamp"},"updated_at":{"type":"TIMESTAMP","notNull":true,"default":"current_timestamp"},"relationship_id":{"type":"UUID","referenceKind":"foreignKey","notNull":false,"foreignKey":{"table":"profile_relationships","column":"id","onDelete":"NO ACTION","onUpdate":"CASCADE"}},"started_at":{"type":"TIMESTAMP","notNull":false},"ended_at":{"type":"TIMESTAMP","notNull":false}},"indexes":[{"name":"profile_relationship_terms_slug_context_meta_type_idx","columns":["slug","context","_meta_type"],"unique":true},{"name":"profile_relationship_terms_meta_type_idx","columns":["_meta_type"]},{"name":"profile_relationship_terms_created_at_idx","columns":["created_at"]},{"name":"profile_relationship_terms_relationship_id_idx","columns":["relationship_id"]}],"version":"0c52b81b"},"importPath":"@happyvertical/smrt-profiles"},"@happyvertical/smrt-profiles:ProfileRelationshipType":{"name":"profilerelationshiptype","className":"ProfileRelationshipType","qualifiedName":"@happyvertical/smrt-profiles:ProfileRelationshipType","collection":"profilerelationshiptypes","filePath":"/home/runner/work/smrt/smrt/packages/profiles/src/models/ProfileRelationshipType.ts","packageName":"@happyvertical/smrt-profiles","fields":{"created_at":{"type":"datetime","required":false},"updated_at":{"type":"datetime","required":false},"name":{"type":"text","required":true,"default":"","_meta":{"required":true}},"reciprocal":{"type":"boolean","required":false,"default":true}},"methods":{"getBySlug":{"name":"getBySlug","async":true,"parameters":[{"name":"_slug","type":"string","optional":false}],"returnType":"Promise<ProfileRelationshipType | null>","isStatic":true,"isPublic":true},"registerReciprocalHandler":{"name":"registerReciprocalHandler","async":false,"parameters":[{"name":"slug","type":"string","optional":false},{"name":"handler","type":"ReciprocalHandler","optional":false}],"returnType":"void","isStatic":true,"isPublic":true},"getReciprocalHandler":{"name":"getReciprocalHandler","async":false,"parameters":[{"name":"slug","type":"string","optional":false}],"returnType":"ReciprocalHandler | undefined","isStatic":true,"isPublic":true},"isReciprocal":{"name":"isReciprocal","async":true,"parameters":[{"name":"slug","type":"string","optional":false}],"returnType":"Promise<boolean>","isStatic":true,"isPublic":true}},"decoratorConfig":{"tableStrategy":"sti","api":{"include":["list","get","create","update"]},"mcp":{"include":["list","get"]},"cli":{"skipApiCheck":true}},"extends":"SmrtObject","exportName":"ProfileRelationshipType","collectionExportName":"ProfileRelationshipTypeCollection","displayLabelField":"name","validationRules":[{"field":"name","rule":"required","fieldType":"text"}],"schema":{"tableName":"profile_relationship_types","ddl":"CREATE TABLE IF NOT EXISTS \\"profile_relationship_types\\" (\\n \\"_sync_origin_device_id\\" TEXT,\\n \\"_sync_revision\\" INTEGER,\\n \\"id\\" UUID PRIMARY KEY NOT NULL,\\n \\"slug\\" TEXT NOT NULL,\\n \\"context\\" TEXT NOT NULL DEFAULT '',\\n \\"_meta_type\\" TEXT NOT NULL,\\n \\"_meta_data\\" JSON,\\n \\"created_at\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\"updated_at\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\"name\\" TEXT DEFAULT '',\\n \\"reciprocal\\" BOOLEAN DEFAULT TRUE\\n);","columns":{"_sync_origin_device_id":{"type":"TEXT"},"_sync_revision":{"type":"INTEGER"},"id":{"type":"UUID","primaryKey":true,"referenceKind":"id","notNull":true},"slug":{"type":"TEXT","notNull":true},"context":{"type":"TEXT","notNull":true,"default":""},"_meta_type":{"type":"TEXT","notNull":true},"_meta_data":{"type":"JSON","notNull":false},"created_at":{"type":"TIMESTAMP","notNull":true,"default":"current_timestamp"},"updated_at":{"type":"TIMESTAMP","notNull":true,"default":"current_timestamp"},"name":{"type":"TEXT","notNull":false,"default":""},"reciprocal":{"type":"BOOLEAN","notNull":false,"default":true}},"indexes":[{"name":"profile_relationship_types_slug_context_meta_type_idx","columns":["slug","context","_meta_type"],"unique":true},{"name":"profile_relationship_types_meta_type_idx","columns":["_meta_type"]},{"name":"profile_relationship_types_created_at_idx","columns":["created_at"]}],"version":"686c1b2b"},"importPath":"@happyvertical/smrt-profiles"},"@happyvertical/smrt-profiles:ProfileType":{"name":"profiletype","className":"ProfileType","qualifiedName":"@happyvertical/smrt-profiles:ProfileType","collection":"profiletypes","filePath":"/home/runner/work/smrt/smrt/packages/profiles/src/models/ProfileType.ts","packageName":"@happyvertical/smrt-profiles","fields":{"created_at":{"type":"datetime","required":false},"updated_at":{"type":"datetime","required":false},"tenantId":{"type":"text","required":false,"_meta":{"sqlType":"UUID","nullable":true,"__tenancy":{"isTenantIdField":true,"autoFilter":true,"required":false,"autoPopulate":true,"nullable":true,"mode":"optional","field":"tenantId","allowSuperAdminBypass":false}}},"name":{"type":"text","required":true,"default":"","_meta":{"required":true}},"description":{"type":"text","required":false}},"methods":{"getBySlug":{"name":"getBySlug","async":true,"parameters":[{"name":"_slug","type":"string","optional":false}],"returnType":"Promise<ProfileType | null>","isStatic":true,"isPublic":true}},"decoratorConfig":{"tableStrategy":"sti","api":{"include":["list","get","create","update"]},"mcp":{"include":["list","get"]},"cli":{"skipApiCheck":true},"tenantScoped":{"mode":"optional"},"conflictColumns":["tenant_id","slug","context","_meta_type"]},"extends":"SmrtObject","exportName":"ProfileType","collectionExportName":"ProfileTypeCollection","displayLabelField":"name","validationRules":[{"field":"name","rule":"required","fieldType":"text"}],"schema":{"tableName":"profile_types","ddl":"CREATE TABLE IF NOT EXISTS \\"profile_types\\" (\\n \\"_sync_origin_device_id\\" TEXT,\\n \\"_sync_revision\\" INTEGER,\\n \\"id\\" UUID PRIMARY KEY NOT NULL,\\n \\"slug\\" TEXT NOT NULL,\\n \\"context\\" TEXT NOT NULL DEFAULT '',\\n \\"_meta_type\\" TEXT NOT NULL,\\n \\"_meta_data\\" JSON,\\n \\"created_at\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\"updated_at\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\"tenant_id\\" UUID,\\n \\"name\\" TEXT DEFAULT '',\\n \\"description\\" TEXT\\n);","columns":{"_sync_origin_device_id":{"type":"TEXT"},"_sync_revision":{"type":"INTEGER"},"id":{"type":"UUID","primaryKey":true,"referenceKind":"id","notNull":true},"slug":{"type":"TEXT","notNull":true},"context":{"type":"TEXT","notNull":true,"default":""},"_meta_type":{"type":"TEXT","notNull":true},"_meta_data":{"type":"JSON","notNull":false},"created_at":{"type":"TIMESTAMP","notNull":true,"default":"current_timestamp"},"updated_at":{"type":"TIMESTAMP","notNull":true,"default":"current_timestamp"},"tenant_id":{"type":"UUID","referenceKind":"tenantId","notNull":false},"name":{"type":"TEXT","notNull":false,"default":""},"description":{"type":"TEXT","notNull":false}},"indexes":[{"name":"profile_types_slug_context_meta_type_idx","columns":["tenant_id","slug","context","_meta_type"],"unique":true,"nullsNotDistinct":true},{"name":"profile_types_meta_type_idx","columns":["_meta_type"]},{"name":"profile_types_tenant_id_created_at_idx","columns":["tenant_id","created_at"]}],"version":"2f3f9baf"},"importPath":"@happyvertical/smrt-profiles"},"@happyvertical/smrt-profiles:Person":{"name":"person","className":"Person","qualifiedName":"@happyvertical/smrt-profiles:Person","collection":"profiles","description":"Person profile type","filePath":"/home/runner/work/smrt/smrt/packages/profiles/src/models/ProfileTypes.ts","packageName":"@happyvertical/smrt-profiles","fields":{"created_at":{"type":"datetime","required":false},"updated_at":{"type":"datetime","required":false},"tenantId":{"type":"text","required":false,"_meta":{"sqlType":"UUID","nullable":true,"__tenancy":{"isTenantIdField":true,"autoFilter":true,"required":false,"autoPopulate":true,"nullable":true}}},"typeId":{"type":"foreignKey","required":true,"related":"ProfileType","_meta":{"required":true}},"email":{"type":"text","required":false},"emailKey":{"type":"text","required":false,"_meta":{"nullable":true,"indexed":true,"readonly":true},"readonly":true},"name":{"type":"text","required":true,"default":"","_meta":{"required":true}},"description":{"type":"text","required":false},"isPublic":{"type":"boolean","required":false,"default":false,"_meta":{"default":false}},"metadata":{"type":"oneToMany","required":false,"related":"ProfileMetadata"},"relationshipsFrom":{"type":"oneToMany","required":false,"related":"ProfileRelationship","_meta":{"foreignKey":"fromProfileId"}},"relationshipsTo":{"type":"oneToMany","required":false,"related":"ProfileRelationship","_meta":{"foreignKey":"toProfileId"}}},"methods":{"save":{"name":"save","async":true,"parameters":[{"name":"options","type":"SmrtSaveOptions","optional":true}],"returnType":"Promise<this>","isStatic":false,"isPublic":true},"getTypeSlug":{"name":"getTypeSlug","async":true,"parameters":[],"returnType":"Promise<string>","isStatic":false,"isPublic":true},"setTypeBySlug":{"name":"setTypeBySlug","async":true,"parameters":[{"name":"slug","type":"string","optional":false}],"returnType":"Promise<void>","isStatic":false,"isPublic":true},"addMetadata":{"name":"addMetadata","async":true,"parameters":[{"name":"metafieldSlug","type":"string","optional":false},{"name":"value","type":"unknown","optional":false}],"returnType":"Promise<void>","isStatic":false,"isPublic":true},"getMetadata":{"name":"getMetadata","async":true,"parameters":[],"returnType":"Promise<Record<string, string>>","isStatic":false,"isPublic":true},"updateMetadata":{"name":"updateMetadata","async":true,"parameters":[{"name":"metadata","type":"Record<string, unknown>","optional":false}],"returnType":"Promise<void>","isStatic":false,"isPublic":true},"removeMetadata":{"name":"removeMetadata","async":true,"parameters":[{"name":"metafieldSlug","type":"string","optional":false}],"returnType":"Promise<void>","isStatic":false,"isPublic":true},"getLinks":{"name":"getLinks","async":true,"parameters":[],"returnType":"Promise<ProfileLink[]>","isStatic":false,"isPublic":true},"setLinks":{"name":"setLinks","async":true,"parameters":[{"name":"links","type":"any","optional":false,"typeUnresolved":true}],"returnType":"Promise<ProfileLink[]>","isStatic":false,"isPublic":true},"getAssets":{"name":"getAssets","async":true,"parameters":[{"name":"relationship","type":"string","optional":true}],"returnType":"Promise<Asset[]>","isStatic":false,"isPublic":true},"addAsset":{"name":"addAsset","async":true,"parameters":[{"name":"asset","type":"Asset","optional":false},{"name":"relationship","type":"any","optional":true,"default":"attachment"},{"name":"sortOrder","type":"any","optional":true}],"returnType":"Promise<void>","isStatic":false,"isPublic":true},"removeAsset":{"name":"removeAsset","async":true,"parameters":[{"name":"assetId","type":"string","optional":false},{"name":"relationship","type":"string","optional":true}],"returnType":"Promise<void>","isStatic":false,"isPublic":true},"addRelationship":{"name":"addRelationship","async":true,"parameters":[{"name":"toProfile","type":"Profile","optional":false},{"name":"relationshipSlug","type":"string","optional":false},{"name":"contextProfile","type":"Profile","optional":true}],"returnType":"Promise<void>","isStatic":false,"isPublic":true},"getRelationships":{"name":"getRelationships","async":true,"parameters":[{"name":"options","type":"object","optional":true,"memberTypes":["string","'from' | 'to' | 'all'"]}],"returnType":"Promise<ProfileRelationship[]>","isStatic":false,"isPublic":true},"getRelatedProfiles":{"name":"getRelatedProfiles","async":true,"parameters":[{"name":"relationshipSlug","type":"string","optional":true}],"returnType":"Promise<Profile[]>","isStatic":false,"isPublic":true},"removeRelationship":{"name":"removeRelationship","async":true,"parameters":[{"name":"toProfile","type":"Profile","optional":false},{"name":"relationshipSlug","type":"string","optional":false}],"returnType":"Promise<void>","isStatic":false,"isPublic":true},"generateBio":{"name":"generateBio","async":true,"parameters":[],"returnType":"Promise<string>","isStatic":false,"isPublic":true},"matches":{"name":"matches","async":true,"parameters":[{"name":"criteria","type":"string","optional":false}],"returnType":"Promise<boolean>","isStatic":false,"isPublic":true},"findByMetadata":{"name":"findByMetadata","async":true,"parameters":[{"name":"_metafieldSlug","type":"string","optional":false},{"name":"_value","type":"unknown","optional":false}],"returnType":"Promise<Profile[]>","isStatic":true,"isPublic":true},"findByType":{"name":"findByType","async":true,"parameters":[{"name":"_typeSlug","type":"string","optional":false}],"returnType":"Promise<Profile[]>","isStatic":true,"isPublic":true},"findRelated":{"name":"findRelated","async":true,"parameters":[{"name":"_profileId","type":"string","optional":false},{"name":"_relationshipSlug","type":"string","optional":true}],"returnType":"Promise<Profile[]>","isStatic":true,"isPublic":true},"searchByEmail":{"name":"searchByEmail","async":true,"parameters":[{"name":"_email","type":"string","optional":false}],"returnType":"Promise<Profile | null>","isStatic":true,"isPublic":true},"getApiKeys":{"name":"getApiKeys","async":true,"parameters":[],"returnType":"Promise<ApiKey[]>","isStatic":false,"isPublic":true},"getActiveApiKeys":{"name":"getActiveApiKeys","async":true,"parameters":[],"returnType":"Promise<ApiKey[]>","isStatic":false,"isPublic":true},"generateApiKey":{"name":"generateApiKey","async":true,"parameters":[{"name":"options","type":"object","optional":false,"memberTypes":["string","string[]","Date | null"]}],"returnType":"Promise<GenerateKeyResult>","isStatic":false,"isPublic":true},"getOidcIdentities":{"name":"getOidcIdentities","async":true,"parameters":[],"returnType":"Promise<OidcIdentity[]>","isStatic":false,"isPublic":true},"linkOidcIdentity":{"name":"linkOidcIdentity","async":true,"parameters":[{"name":"oidcData","type":"object","optional":false,"memberTypes":["string"]}],"returnType":"Promise<OidcIdentity>","isStatic":false,"isPublic":true},"getNostrIdentities":{"name":"getNostrIdentities","async":true,"parameters":[],"returnType":"Promise<NostrIdentity[]>","isStatic":false,"isPublic":true},"linkNostrIdentity":{"name":"linkNostrIdentity","async":true,"parameters":[{"name":"nostrData","type":"object","optional":false,"memberTypes":["string"]}],"returnType":"Promise<NostrIdentity>","isStatic":false,"isPublic":true},"getAuditLogs":{"name":"getAuditLogs","async":true,"parameters":[{"name":"limit","type":"number","optional":true}],"returnType":"Promise<AuditLog[]>","isStatic":false,"isPublic":true},"recordAction":{"name":"recordAction","async":true,"parameters":[{"name":"options","type":"object","optional":false,"typeUnresolved":true,"memberTypes":["string","'web' | 'cli' | 'ci' | 'webhook' | 'mcp'","Record<string, unknown>","Profile | null"]}],"returnType":"Promise<AuditLog>","isStatic":false,"isPublic":true}},"decoratorConfig":{"tableStrategy":"sti","tableName":"profiles","api":{"include":["list","get","create","update","delete"]},"mcp":{"include":["list","get","create","update"]},"cli":{"skipApiCheck":true}},"extends":"Profile","exportName":"Person","collectionExportName":"PersonCollection","displayLabelField":"name","validationRules":[{"field":"typeId","rule":"required","fieldType":"foreignKey"},{"field":"name","rule":"required","fieldType":"text"}],"schema":{"tableName":"profiles","ddl":"CREATE TABLE IF NOT EXISTS \\"profiles\\" (\\n \\"_sync_origin_device_id\\" TEXT,\\n \\"_sync_revision\\" INTEGER,\\n \\"id\\" UUID PRIMARY KEY NOT NULL,\\n \\"slug\\" TEXT NOT NULL,\\n \\"context\\" TEXT NOT NULL DEFAULT '',\\n \\"_meta_type\\" TEXT NOT NULL,\\n \\"_meta_data\\" JSON,\\n \\"created_at\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\"updated_at\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\"tenant_id\\" UUID,\\n \\"type_id\\" UUID,\\n \\"email\\" TEXT,\\n \\"email_key\\" TEXT,\\n \\"name\\" TEXT DEFAULT '',\\n \\"description\\" TEXT,\\n \\"is_public\\" BOOLEAN DEFAULT FALSE\\n);","columns":{"_sync_origin_device_id":{"type":"TEXT"},"_sync_revision":{"type":"INTEGER"},"id":{"type":"UUID","primaryKey":true,"referenceKind":"id","notNull":true},"slug":{"type":"TEXT","notNull":true},"context":{"type":"TEXT","notNull":true,"default":""},"_meta_type":{"type":"TEXT","notNull":true},"_meta_data":{"type":"JSON","notNull":false},"created_at":{"type":"TIMESTAMP","notNull":true,"default":"current_timestamp"},"updated_at":{"type":"TIMESTAMP","notNull":true,"default":"current_timestamp"},"tenant_id":{"type":"UUID","referenceKind":"tenantId","notNull":false},"type_id":{"type":"UUID","referenceKind":"foreignKey","notNull":false,"foreignKey":{"table":"profile_types","column":"id","onDelete":"NO ACTION","onUpdate":"CASCADE"}},"email":{"type":"TEXT","notNull":false},"email_key":{"type":"TEXT","notNull":false},"name":{"type":"TEXT","notNull":false,"default":""},"description":{"type":"TEXT","notNull":false},"is_public":{"type":"BOOLEAN","notNull":false,"default":false}},"indexes":[{"name":"profiles_slug_context_meta_type_idx","columns":["tenant_id","slug","context","_meta_type"],"unique":true,"nullsNotDistinct":true},{"name":"profiles_meta_type_idx","columns":["_meta_type"]},{"name":"profiles_email_key_idx","columns":["email_key"]},{"name":"profiles_tenant_id_created_at_idx","columns":["tenant_id","created_at"]},{"name":"profiles_type_id_idx","columns":["type_id"]}],"version":"964046a6"},"importPath":"@happyvertical/smrt-profiles"},"@happyvertical/smrt-profiles:Organization":{"name":"organization","className":"Organization","qualifiedName":"@happyvertical/smrt-profiles:Organization","collection":"profiles","description":"Organization profile type","filePath":"/home/runner/work/smrt/smrt/packages/profiles/src/models/ProfileTypes.ts","packageName":"@happyvertical/smrt-profiles","fields":{"created_at":{"type":"datetime","required":false},"updated_at":{"type":"datetime","required":false},"tenantId":{"type":"text","required":false,"_meta":{"sqlType":"UUID","nullable":true,"__tenancy":{"isTenantIdField":true,"autoFilter":true,"required":false,"autoPopulate":true,"nullable":true}}},"typeId":{"type":"foreignKey","required":true,"related":"ProfileType","_meta":{"required":true}},"email":{"type":"text","required":false},"emailKey":{"type":"text","required":false,"_meta":{"nullable":true,"indexed":true,"readonly":true},"readonly":true},"name":{"type":"text","required":true,"default":"","_meta":{"required":true}},"description":{"type":"text","required":false},"isPublic":{"type":"boolean","required":false,"default":false,"_meta":{"default":false}},"metadata":{"type":"oneToMany","required":false,"related":"ProfileMetadata"},"relationshipsFrom":{"type":"oneToMany","required":false,"related":"ProfileRelationship","_meta":{"foreignKey":"fromProfileId"}},"relationshipsTo":{"type":"oneToMany","required":false,"related":"ProfileRelationship","_meta":{"foreignKey":"toProfileId"}}},"methods":{"save":{"name":"save","async":true,"parameters":[{"name":"options","type":"SmrtSaveOptions","optional":true}],"returnType":"Promise<this>","isStatic":false,"isPublic":true},"getTypeSlug":{"name":"getTypeSlug","async":true,"parameters":[],"returnType":"Promise<string>","isStatic":false,"isPublic":true},"setTypeBySlug":{"name":"setTypeBySlug","async":true,"parameters":[{"name":"slug","type":"string","optional":false}],"returnType":"Promise<void>","isStatic":false,"isPublic":true},"addMetadata":{"name":"addMetadata","async":true,"parameters":[{"name":"metafieldSlug","type":"string","optional":false},{"name":"value","type":"unknown","optional":false}],"returnType":"Promise<void>","isStatic":false,"isPublic":true},"getMetadata":{"name":"getMetadata","async":true,"parameters":[],"returnType":"Promise<Record<string, string>>","isStatic":false,"isPublic":true},"updateMetadata":{"name":"updateMetadata","async":true,"parameters":[{"name":"metadata","type":"Record<string, unknown>","optional":false}],"returnType":"Promise<void>","isStatic":false,"isPublic":true},"removeMetadata":{"name":"removeMetadata","async":true,"parameters":[{"name":"metafieldSlug","type":"string","optional":false}],"returnType":"Promise<void>","isStatic":false,"isPublic":true},"getLinks":{"name":"getLinks","async":true,"parameters":[],"returnType":"Promise<ProfileLink[]>","isStatic":false,"isPublic":true},"setLinks":{"name":"setLinks","async":true,"parameters":[{"name":"links","type":"any","optional":false,"typeUnresolved":true}],"returnType":"Promise<ProfileLink[]>","isStatic":false,"isPublic":true},"getAssets":{"name":"getAssets","async":true,"parameters":[{"name":"relationship","type":"string","optional":true}],"returnType":"Promise<Asset[]>","isStatic":false,"isPublic":true},"addAsset":{"name":"addAsset","async":true,"parameters":[{"name":"asset","type":"Asset","optional":false},{"name":"relationship","type":"any","optional":true,"default":"attachment"},{"name":"sortOrder","type":"any","optional":true}],"returnType":"Promise<void>","isStatic":false,"isPublic":true},"removeAsset":{"name":"removeAsset","async":true,"parameters":[{"name":"assetId","type":"string","optional":false},{"name":"relationship","type":"string","optional":true}],"returnType":"Promise<void>","isStatic":false,"isPublic":true},"addRelationship":{"name":"addRelationship","async":true,"parameters":[{"name":"toProfile","type":"Profile","optional":false},{"name":"relationshipSlug","type":"string","optional":false},{"name":"contextProfile","type":"Profile","optional":true}],"returnType":"Promise<void>","isStatic":false,"isPublic":true},"getRelationships":{"name":"getRelationships","async":true,"parameters":[{"name":"options","type":"object","optional":true,"memberTypes":["string","'from' | 'to' | 'all'"]}],"returnType":"Promise<ProfileRelationship[]>","isStatic":false,"isPublic":true},"getRelatedProfiles":{"name":"getRelatedProfiles","async":true,"parameters":[{"name":"relationshipSlug","type":"string","optional":true}],"returnType":"Promise<Profile[]>","isStatic":false,"isPublic":true},"removeRelationship":{"name":"removeRelationship","async":true,"parameters":[{"name":"toProfile","type":"Profile","optional":false},{"name":"relationshipSlug","type":"string","optional":false}],"returnType":"Promise<void>","isStatic":false,"isPublic":true},"generateBio":{"name":"generateBio","async":true,"parameters":[],"returnType":"Promise<string>","isStatic":false,"isPublic":true},"matches":{"name":"matches","async":true,"parameters":[{"name":"criteria","type":"string","optional":false}],"returnType":"Promise<boolean>","isStatic":false,"isPublic":true},"findByMetadata":{"name":"findByMetadata","async":true,"parameters":[{"name":"_metafieldSlug","type":"string","optional":false},{"name":"_value","type":"unknown","optional":false}],"returnType":"Promise<Profile[]>","isStatic":true,"isPublic":true},"findByType":{"name":"findByType","async":true,"parameters":[{"name":"_typeSlug","type":"string","optional":false}],"returnType":"Promise<Profile[]>","isStatic":true,"isPublic":true},"findRelated":{"name":"findRelated","async":true,"parameters":[{"name":"_profileId","type":"string","optional":false},{"name":"_relationshipSlug","type":"string","optional":true}],"returnType":"Promise<Profile[]>","isStatic":true,"isPublic":true},"searchByEmail":{"name":"searchByEmail","async":true,"parameters":[{"name":"_email","type":"string","optional":false}],"returnType":"Promise<Profile | null>","isStatic":true,"isPublic":true},"getApiKeys":{"name":"getApiKeys","async":true,"parameters":[],"returnType":"Promise<ApiKey[]>","isStatic":false,"isPublic":true},"getActiveApiKeys":{"name":"getActiveApiKeys","async":true,"parameters":[],"returnType":"Promise<ApiKey[]>","isStatic":false,"isPublic":true},"generateApiKey":{"name":"generateApiKey","async":true,"parameters":[{"name":"options","type":"object","optional":false,"memberTypes":["string","string[]","Date | null"]}],"returnType":"Promise<GenerateKeyResult>","isStatic":false,"isPublic":true},"getOidcIdentities":{"name":"getOidcIdentities","async":true,"parameters":[],"returnType":"Promise<OidcIdentity[]>","isStatic":false,"isPublic":true},"linkOidcIdentity":{"name":"linkOidcIdentity","async":true,"parameters":[{"name":"oidcData","type":"object","optional":false,"memberTypes":["string"]}],"returnType":"Promise<OidcIdentity>","isStatic":false,"isPublic":true},"getNostrIdentities":{"name":"getNostrIdentities","async":true,"parameters":[],"returnType":"Promise<NostrIdentity[]>","isStatic":false,"isPublic":true},"linkNostrIdentity":{"name":"linkNostrIdentity","async":true,"parameters":[{"name":"nostrData","type":"object","optional":false,"memberTypes":["string"]}],"returnType":"Promise<NostrIdentity>","isStatic":false,"isPublic":true},"getAuditLogs":{"name":"getAuditLogs","async":true,"parameters":[{"name":"limit","type":"number","optional":true}],"returnType":"Promise<AuditLog[]>","isStatic":false,"isPublic":true},"recordAction":{"name":"recordAction","async":true,"parameters":[{"name":"options","type":"object","optional":false,"typeUnresolved":true,"memberTypes":["string","'web' | 'cli' | 'ci' | 'webhook' | 'mcp'","Record<string, unknown>","Profile | null"]}],"returnType":"Promise<AuditLog>","isStatic":false,"isPublic":true}},"decoratorConfig":{"tableStrategy":"sti","tableName":"profiles","api":{"include":["list","get","create","update","delete"]},"mcp":{"include":["list","get","create","update"]},"cli":{"skipApiCheck":true}},"extends":"Profile","exportName":"Organization","collectionExportName":"OrganizationCollection","displayLabelField":"name","validationRules":[{"field":"typeId","rule":"required","fieldType":"foreignKey"},{"field":"name","rule":"required","fieldType":"text"}],"schema":{"tableName":"profiles","ddl":"CREATE TABLE IF NOT EXISTS \\"profiles\\" (\\n \\"_sync_origin_device_id\\" TEXT,\\n \\"_sync_revision\\" INTEGER,\\n \\"id\\" UUID PRIMARY KEY NOT NULL,\\n \\"slug\\" TEXT NOT NULL,\\n \\"context\\" TEXT NOT NULL DEFAULT '',\\n \\"_meta_type\\" TEXT NOT NULL,\\n \\"_meta_data\\" JSON,\\n \\"created_at\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\"updated_at\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\"tenant_id\\" UUID,\\n \\"type_id\\" UUID,\\n \\"email\\" TEXT,\\n \\"email_key\\" TEXT,\\n \\"name\\" TEXT DEFAULT '',\\n \\"description\\" TEXT,\\n \\"is_public\\" BOOLEAN DEFAULT FALSE\\n);","columns":{"_sync_origin_device_id":{"type":"TEXT"},"_sync_revision":{"type":"INTEGER"},"id":{"type":"UUID","primaryKey":true,"referenceKind":"id","notNull":true},"slug":{"type":"TEXT","notNull":true},"context":{"type":"TEXT","notNull":true,"default":""},"_meta_type":{"type":"TEXT","notNull":true},"_meta_data":{"type":"JSON","notNull":false},"created_at":{"type":"TIMESTAMP","notNull":true,"default":"current_timestamp"},"updated_at":{"type":"TIMESTAMP","notNull":true,"default":"current_timestamp"},"tenant_id":{"type":"UUID","referenceKind":"tenantId","notNull":false},"type_id":{"type":"UUID","referenceKind":"foreignKey","notNull":false,"foreignKey":{"table":"profile_types","column":"id","onDelete":"NO ACTION","onUpdate":"CASCADE"}},"email":{"type":"TEXT","notNull":false},"email_key":{"type":"TEXT","notNull":false},"name":{"type":"TEXT","notNull":false,"default":""},"description":{"type":"TEXT","notNull":false},"is_public":{"type":"BOOLEAN","notNull":false,"default":false}},"indexes":[{"name":"profiles_slug_context_meta_type_idx","columns":["tenant_id","slug","context","_meta_type"],"unique":true,"nullsNotDistinct":true},{"name":"profiles_meta_type_idx","columns":["_meta_type"]},{"name":"profiles_email_key_idx","columns":["email_key"]},{"name":"profiles_tenant_id_created_at_idx","columns":["tenant_id","created_at"]},{"name":"profiles_type_id_idx","columns":["type_id"]}],"version":"7bb0ffe9"},"importPath":"@happyvertical/smrt-profiles"},"@happyvertical/smrt-profiles:Bot":{"name":"bot","className":"Bot","qualifiedName":"@happyvertical/smrt-profiles:Bot","collection":"profiles","description":"Bot profile type","filePath":"/home/runner/work/smrt/smrt/packages/profiles/src/models/ProfileTypes.ts","packageName":"@happyvertical/smrt-profiles","fields":{"created_at":{"type":"datetime","required":false},"updated_at":{"type":"datetime","required":false},"tenantId":{"type":"text","required":false,"_meta":{"sqlType":"UUID","nullable":true,"__tenancy":{"isTenantIdField":true,"autoFilter":true,"required":false,"autoPopulate":true,"nullable":true}}},"typeId":{"type":"foreignKey","required":true,"related":"ProfileType","_meta":{"required":true}},"email":{"type":"text","required":false},"emailKey":{"type":"text","required":false,"_meta":{"nullable":true,"indexed":true,"readonly":true},"readonly":true},"name":{"type":"text","required":true,"default":"","_meta":{"required":true}},"description":{"type":"text","required":false},"isPublic":{"type":"boolean","required":false,"default":false,"_meta":{"default":false}},"metadata":{"type":"oneToMany","required":false,"related":"ProfileMetadata"},"relationshipsFrom":{"type":"oneToMany","required":false,"related":"ProfileRelationship","_meta":{"foreignKey":"fromProfileId"}},"relationshipsTo":{"type":"oneToMany","required":false,"related":"ProfileRelationship","_meta":{"foreignKey":"toProfileId"}}},"methods":{"save":{"name":"save","async":true,"parameters":[{"name":"options","type":"SmrtSaveOptions","optional":true}],"returnType":"Promise<this>","isStatic":false,"isPublic":true},"getTypeSlug":{"name":"getTypeSlug","async":true,"parameters":[],"returnType":"Promise<string>","isStatic":false,"isPublic":true},"setTypeBySlug":{"name":"setTypeBySlug","async":true,"parameters":[{"name":"slug","type":"string","optional":false}],"returnType":"Promise<void>","isStatic":false,"isPublic":true},"addMetadata":{"name":"addMetadata","async":true,"parameters":[{"name":"metafieldSlug","type":"string","optional":false},{"name":"value","type":"unknown","optional":false}],"returnType":"Promise<void>","isStatic":false,"isPublic":true},"getMetadata":{"name":"getMetadata","async":true,"parameters":[],"returnType":"Promise<Record<string, string>>","isStatic":false,"isPublic":true},"updateMetadata":{"name":"updateMetadata","async":true,"parameters":[{"name":"metadata","type":"Record<string, unknown>","optional":false}],"returnType":"Promise<void>","isStatic":false,"isPublic":true},"removeMetadata":{"name":"removeMetadata","async":true,"parameters":[{"name":"metafieldSlug","type":"string","optional":false}],"returnType":"Promise<void>","isStatic":false,"isPublic":true},"getLinks":{"name":"getLinks","async":true,"parameters":[],"returnType":"Promise<ProfileLink[]>","isStatic":false,"isPublic":true},"setLinks":{"name":"setLinks","async":true,"parameters":[{"name":"links","type":"any","optional":false,"typeUnresolved":true}],"returnType":"Promise<ProfileLink[]>","isStatic":false,"isPublic":true},"getAssets":{"name":"getAssets","async":true,"parameters":[{"name":"relationship","type":"string","optional":true}],"returnType":"Promise<Asset[]>","isStatic":false,"isPublic":true},"addAsset":{"name":"addAsset","async":true,"parameters":[{"name":"asset","type":"Asset","optional":false},{"name":"relationship","type":"any","optional":true,"default":"attachment"},{"name":"sortOrder","type":"any","optional":true}],"returnType":"Promise<void>","isStatic":false,"isPublic":true},"removeAsset":{"name":"removeAsset","async":true,"parameters":[{"name":"assetId","type":"string","optional":false},{"name":"relationship","type":"string","optional":true}],"returnType":"Promise<void>","isStatic":false,"isPublic":true},"addRelationship":{"name":"addRelationship","async":true,"parameters":[{"name":"toProfile","type":"Profile","optional":false},{"name":"relationshipSlug","type":"string","optional":false},{"name":"contextProfile","type":"Profile","optional":true}],"returnType":"Promise<void>","isStatic":false,"isPublic":true},"getRelationships":{"name":"getRelationships","async":true,"parameters":[{"name":"options","type":"object","optional":true,"memberTypes":["string","'from' | 'to' | 'all'"]}],"returnType":"Promise<ProfileRelationship[]>","isStatic":false,"isPublic":true},"getRelatedProfiles":{"name":"getRelatedProfiles","async":true,"parameters":[{"name":"relationshipSlug","type":"string","optional":true}],"returnType":"Promise<Profile[]>","isStatic":false,"isPublic":true},"removeRelationship":{"name":"removeRelationship","async":true,"parameters":[{"name":"toProfile","type":"Profile","optional":false},{"name":"relationshipSlug","type":"string","optional":false}],"returnType":"Promise<void>","isStatic":false,"isPublic":true},"generateBio":{"name":"generateBio","async":true,"parameters":[],"returnType":"Promise<string>","isStatic":false,"isPublic":true},"matches":{"name":"matches","async":true,"parameters":[{"name":"criteria","type":"string","optional":false}],"returnType":"Promise<boolean>","isStatic":false,"isPublic":true},"findByMetadata":{"name":"findByMetadata","async":true,"parameters":[{"name":"_metafieldSlug","type":"string","optional":false},{"name":"_value","type":"unknown","optional":false}],"returnType":"Promise<Profile[]>","isStatic":true,"isPublic":true},"findByType":{"name":"findByType","async":true,"parameters":[{"name":"_typeSlug","type":"string","optional":false}],"returnType":"Promise<Profile[]>","isStatic":true,"isPublic":true},"findRelated":{"name":"findRelated","async":true,"parameters":[{"name":"_profileId","type":"string","optional":false},{"name":"_relationshipSlug","type":"string","optional":true}],"returnType":"Promise<Profile[]>","isStatic":true,"isPublic":true},"searchByEmail":{"name":"searchByEmail","async":true,"parameters":[{"name":"_email","type":"string","optional":false}],"returnType":"Promise<Profile | null>","isStatic":true,"isPublic":true},"getApiKeys":{"name":"getApiKeys","async":true,"parameters":[],"returnType":"Promise<ApiKey[]>","isStatic":false,"isPublic":true},"getActiveApiKeys":{"name":"getActiveApiKeys","async":true,"parameters":[],"returnType":"Promise<ApiKey[]>","isStatic":false,"isPublic":true},"generateApiKey":{"name":"generateApiKey","async":true,"parameters":[{"name":"options","type":"object","optional":false,"memberTypes":["string","string[]","Date | null"]}],"returnType":"Promise<GenerateKeyResult>","isStatic":false,"isPublic":true},"getOidcIdentities":{"name":"getOidcIdentities","async":true,"parameters":[],"returnType":"Promise<OidcIdentity[]>","isStatic":false,"isPublic":true},"linkOidcIdentity":{"name":"linkOidcIdentity","async":true,"parameters":[{"name":"oidcData","type":"object","optional":false,"memberTypes":["string"]}],"returnType":"Promise<OidcIdentity>","isStatic":false,"isPublic":true},"getNostrIdentities":{"name":"getNostrIdentities","async":true,"parameters":[],"returnType":"Promise<NostrIdentity[]>","isStatic":false,"isPublic":true},"linkNostrIdentity":{"name":"linkNostrIdentity","async":true,"parameters":[{"name":"nostrData","type":"object","optional":false,"memberTypes":["string"]}],"returnType":"Promise<NostrIdentity>","isStatic":false,"isPublic":true},"getAuditLogs":{"name":"getAuditLogs","async":true,"parameters":[{"name":"limit","type":"number","optional":true}],"returnType":"Promise<AuditLog[]>","isStatic":false,"isPublic":true},"recordAction":{"name":"recordAction","async":true,"parameters":[{"name":"options","type":"object","optional":false,"typeUnresolved":true,"memberTypes":["string","'web' | 'cli' | 'ci' | 'webhook' | 'mcp'","Record<string, unknown>","Profile | null"]}],"returnType":"Promise<AuditLog>","isStatic":false,"isPublic":true}},"decoratorConfig":{"tableStrategy":"sti","tableName":"profiles","api":{"include":["list","get","create","update","delete"]},"mcp":{"include":["list","get","create","update"]},"cli":{"skipApiCheck":true}},"extends":"Profile","exportName":"Bot","collectionExportName":"BotCollection","displayLabelField":"name","validationRules":[{"field":"typeId","rule":"required","fieldType":"foreignKey"},{"field":"name","rule":"required","fieldType":"text"}],"schema":{"tableName":"profiles","ddl":"CREATE TABLE IF NOT EXISTS \\"profiles\\" (\\n \\"_sync_origin_device_id\\" TEXT,\\n \\"_sync_revision\\" INTEGER,\\n \\"id\\" UUID PRIMARY KEY NOT NULL,\\n \\"slug\\" TEXT NOT NULL,\\n \\"context\\" TEXT NOT NULL DEFAULT '',\\n \\"_meta_type\\" TEXT NOT NULL,\\n \\"_meta_data\\" JSON,\\n \\"created_at\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\"updated_at\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\"tenant_id\\" UUID,\\n \\"type_id\\" UUID,\\n \\"email\\" TEXT,\\n \\"email_key\\" TEXT,\\n \\"name\\" TEXT DEFAULT '',\\n \\"description\\" TEXT,\\n \\"is_public\\" BOOLEAN DEFAULT FALSE\\n);","columns":{"_sync_origin_device_id":{"type":"TEXT"},"_sync_revision":{"type":"INTEGER"},"id":{"type":"UUID","primaryKey":true,"referenceKind":"id","notNull":true},"slug":{"type":"TEXT","notNull":true},"context":{"type":"TEXT","notNull":true,"default":""},"_meta_type":{"type":"TEXT","notNull":true},"_meta_data":{"type":"JSON","notNull":false},"created_at":{"type":"TIMESTAMP","notNull":true,"default":"current_timestamp"},"updated_at":{"type":"TIMESTAMP","notNull":true,"default":"current_timestamp"},"tenant_id":{"type":"UUID","referenceKind":"tenantId","notNull":false},"type_id":{"type":"UUID","referenceKind":"foreignKey","notNull":false,"foreignKey":{"table":"profile_types","column":"id","onDelete":"NO ACTION","onUpdate":"CASCADE"}},"email":{"type":"TEXT","notNull":false},"email_key":{"type":"TEXT","notNull":false},"name":{"type":"TEXT","notNull":false,"default":""},"description":{"type":"TEXT","notNull":false},"is_public":{"type":"BOOLEAN","notNull":false,"default":false}},"indexes":[{"name":"profiles_slug_context_meta_type_idx","columns":["tenant_id","slug","context","_meta_type"],"unique":true,"nullsNotDistinct":true},{"name":"profiles_meta_type_idx","columns":["_meta_type"]},{"name":"profiles_email_key_idx","columns":["email_key"]},{"name":"profiles_tenant_id_created_at_idx","columns":["tenant_id","created_at"]},{"name":"profiles_type_id_idx","columns":["type_id"]}],"version":"53dec38e"},"importPath":"@happyvertical/smrt-profiles"}},"moduleType":"smrt","recipes":[{"id":"profiles.audit-log","className":"AuditLogRecipe","label":"Activity log","summary":"Review who changed a record and when.","synonyms":["audit trail","record history","activity"],"models":["@happyvertical/smrt-profiles:AuditLog"],"nav":[],"requires":[],"group":{"id":"activity","label":"Activity","summary":"Review authorized record history independently of messaging."},"section":{"id":"activity","label":"Activity","icon":"book","description":"See who changed records and why."},"help":{"markdown":"## Activity log\\nReview changes to records you are authorized to inspect. Each activity shows the actor, action, time, and recorded reason or resource.\\nOpen the related record when your application provides a link.\\n\\n## Record history\\nThe application enables auditing on selected models and authorizes audit reads. Only recorded events appear; enabling auditing does not reconstruct earlier changes.\\nSensitive audit details are available only through the application's authorized history service.\\n","fieldRefs":[]},"surfaces":[{"kind":"route","path":"/activity","export":"@happyvertical/smrt-svelte#ActivityList","label":"Activity log"}],"providers":[{"id":"audit-trail","kind":"activity","options":["audit-log"],"required":true}],"runtime":"both","demoSeed":{"data":{"entries":[{"id":"demo-audit","title":"Demo colleague \xB7 updated","detail":"Approved a fictional record.","occurredAt":"2026-01-01T12:00:00Z","href":null}]}},"demo":{"mode":"server","reasons":["Needs a server because its package does not build for a browser: node:crypto in root; core migrations (node:os); and its package depends on @happyvertical/smrt-tenancy, which do not build for a browser (#3617, #3624, #3626)."]}}],"smrtDependencies":["@happyvertical/smrt-assets","@happyvertical/smrt-core","@happyvertical/smrt-prompts","@happyvertical/smrt-tenancy"],"browser":{"status":"server-only","issues":["#3617","#3624","#3626"],"reason":"node:crypto in root; core migrations (node:os)","via":["@happyvertical/smrt-tenancy"]},"stampsConstructors":true}`));
41
41
  var __defProp$16 = Object.defineProperty;
42
42
  var __getOwnPropDesc$15 = Object.getOwnPropertyDescriptor;
43
43
  var __defNormalProp$15 = (obj, key, value) => key in obj ? __defProp$16(obj, key, {
@@ -286,7 +286,7 @@ var MagicLinkTokenCollection = class extends SmrtCollection {
286
286
  }
287
287
  };
288
288
  //#endregion
289
- //#region ../users/dist/chunks/types-DFqeph0R.js
289
+ //#region ../users/dist/chunks/types-DqUZxluX.js
290
290
  var DEFAULT_ROLE_SLUGS = {
291
291
  OWNER: "owner",
292
292
  ADMIN: "admin",
@@ -296,21 +296,25 @@ var DEFAULT_ROLE_SLUGS = {
296
296
  var DEFAULT_ROLES = [
297
297
  {
298
298
  slug: DEFAULT_ROLE_SLUGS.OWNER,
299
+ id: "566aef94-1328-4876-b291-b7cf18d4df01",
299
300
  name: "Owner",
300
301
  description: "Full access to all resources"
301
302
  },
302
303
  {
303
304
  slug: DEFAULT_ROLE_SLUGS.ADMIN,
305
+ id: "566aef94-1328-4876-b291-b7cf18d4df02",
304
306
  name: "Administrator",
305
307
  description: "Manage users and settings"
306
308
  },
307
309
  {
308
310
  slug: DEFAULT_ROLE_SLUGS.MEMBER,
311
+ id: "566aef94-1328-4876-b291-b7cf18d4df03",
309
312
  name: "Member",
310
313
  description: "Standard access"
311
314
  },
312
315
  {
313
316
  slug: DEFAULT_ROLE_SLUGS.VIEWER,
317
+ id: "566aef94-1328-4876-b291-b7cf18d4df04",
314
318
  name: "Viewer",
315
319
  description: "Read-only access"
316
320
  }
@@ -324,7 +328,7 @@ async function insertOidcProvisioningIdentity(db, input) {
324
328
  return await insertOidcProvisioningIdentity$1(db, input);
325
329
  }
326
330
  //#endregion
327
- //#region ../users/dist/chunks/PasswordCredentialService-DHJNKEeJ.js
331
+ //#region ../users/dist/chunks/PasswordCredentialService-BSSP_kyT.js
328
332
  var __defProp$15 = Object.defineProperty;
329
333
  var __exportAll = (all, no_symbols) => {
330
334
  let target = {};
@@ -2261,11 +2265,13 @@ var RoleCollection = class RoleCollection extends SmrtCollection {
2261
2265
  }
2262
2266
  /** Find a built-in system role only; tenant slug collisions never match. */
2263
2267
  async findSystemRoleBySlug(slug) {
2268
+ const builtIn = DEFAULT_ROLES.find((role) => role.slug === slug);
2264
2269
  return (await this.list({
2265
2270
  where: {
2266
2271
  slug,
2267
2272
  tenantId: null,
2268
- isSystem: true
2273
+ isSystem: true,
2274
+ ...builtIn && { id: builtIn.id }
2269
2275
  },
2270
2276
  limit: 1
2271
2277
  }))[0] ?? null;
@@ -2279,9 +2285,17 @@ var RoleCollection = class RoleCollection extends SmrtCollection {
2279
2285
  const knownSlugs = new Set(DEFAULT_ROLES.map((def) => def.slug));
2280
2286
  for (const slug of inheritableSlugs) if (!knownSlugs.has(slug)) throw new Error(`Unknown system role slug '${slug}' in inheritsToDescendants. Valid slugs: ${[...knownSlugs].join(", ")}.`);
2281
2287
  const seed = async (writer) => {
2288
+ const existingRoles = /* @__PURE__ */ new Map();
2289
+ const globalRoles = await writer.findSystemRoles();
2290
+ for (const roleDef of DEFAULT_ROLES) {
2291
+ const matches = globalRoles.filter(({ slug }) => slug === roleDef.slug);
2292
+ const [existing] = matches;
2293
+ if (matches.length > 1 || existing && (!existing.isSystem || existing.id !== roleDef.id) || !existing && await writer.count({ where: { id: roleDef.id } }) > 0) throw new Error(`System role identity collision for '${roleDef.slug}'`);
2294
+ if (existing) existingRoles.set(roleDef.slug, existing);
2295
+ }
2282
2296
  for (const roleDef of DEFAULT_ROLES) {
2283
2297
  const inheritable = inheritableSlugs.has(roleDef.slug);
2284
- const existing = await writer.findBySlug(roleDef.slug);
2298
+ const existing = existingRoles.get(roleDef.slug);
2285
2299
  if (existing) {
2286
2300
  if (inheritable && !existing.inheritsToDescendants) {
2287
2301
  existing.inheritsToDescendants = true;
@@ -2291,6 +2305,8 @@ var RoleCollection = class RoleCollection extends SmrtCollection {
2291
2305
  continue;
2292
2306
  }
2293
2307
  const role = await writer.create({
2308
+ id: roleDef.id,
2309
+ _insertOnly: true,
2294
2310
  slug: roleDef.slug,
2295
2311
  name: roleDef.name,
2296
2312
  description: roleDef.description,
@@ -2301,9 +2317,11 @@ var RoleCollection = class RoleCollection extends SmrtCollection {
2301
2317
  roles.push(role);
2302
2318
  }
2303
2319
  };
2304
- if (isPostgresDatabase(this.db)) {
2305
- await withEmbeddedWriteTransaction(this.db, false, async (db) => {
2306
- await db.query("SELECT pg_advisory_xact_lock(3329, 1)");
2320
+ const postgres = isPostgresDatabase(this.db);
2321
+ const embedded = isEmbeddedDatabase(this.db);
2322
+ if (postgres || embedded) {
2323
+ await withEmbeddedWriteTransaction(this.db, embedded, async (db) => {
2324
+ if (postgres) await db.query("SELECT pg_advisory_xact_lock(3329, 1)");
2307
2325
  await seed(await RoleCollection.create({
2308
2326
  ...this.options,
2309
2327
  db
@@ -2311,7 +2329,7 @@ var RoleCollection = class RoleCollection extends SmrtCollection {
2311
2329
  }, true);
2312
2330
  roles.length = 0;
2313
2331
  for (const roleDef of DEFAULT_ROLES) {
2314
- const role = await this.findBySlug(roleDef.slug);
2332
+ const role = await this.findSystemRoleBySlug(roleDef.slug);
2315
2333
  if (role) roles.push(role);
2316
2334
  }
2317
2335
  } else await seed(this);