@happyvertical/smrt-facts 0.54.0 → 0.54.1
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.
- package/README.md +40 -0
- package/dist/fact.d.ts +2 -0
- package/dist/fact.d.ts.map +1 -1
- package/dist/facts.d.ts.map +1 -1
- package/dist/index.js +32 -10
- package/dist/index.js.map +1 -1
- package/dist/manifest.json +22 -5
- package/dist/smrt-knowledge.json +10 -3
- package/dist/types.d.ts +5 -0
- package/dist/types.d.ts.map +1 -1
- package/package.json +6 -6
package/dist/index.js
CHANGED
|
@@ -5,7 +5,7 @@ import { ObjectRegistry, SmrtCollection, SmrtJunction, SmrtObject, classifyDatab
|
|
|
5
5
|
import { definePrompt, resolvePrompt } from "@happyvertical/smrt-prompts";
|
|
6
6
|
import { TenantScoped, assertTenantReadAllowed, getCurrentTenant, isSuperAdminBypass, isSystemContext, isTenancyEnabled, queryGlobal, queryWithGlobals, tenantId, withTenantGlobalRead } from "@happyvertical/smrt-tenancy";
|
|
7
7
|
//#region src/__smrt-register__.ts
|
|
8
|
-
ObjectRegistry.registerPackageManifest(JSON.parse("{\"version\":\"1.0.0\",\"timestamp\":0,\"packageName\":\"@happyvertical/smrt-facts\",\"packageVersion\":\"0.54.0\",\"objects\":{\"@happyvertical/smrt-facts:FactContent\":{\"name\":\"factcontent\",\"className\":\"FactContent\",\"qualifiedName\":\"@happyvertical/smrt-facts:FactContent\",\"collection\":\"factcontents\",\"filePath\":\"/home/runner/work/smrt/smrt/packages/facts/src/fact-content.ts\",\"packageName\":\"@happyvertical/smrt-facts\",\"fields\":{\"factId\":{\"type\":\"foreignKey\",\"required\":true,\"related\":\"Fact\",\"_meta\":{\"required\":true}},\"contentId\":{\"type\":\"crossPackageRef\",\"required\":true,\"related\":\"@happyvertical/smrt-content:Content\"},\"relationship\":{\"type\":\"text\",\"required\":true,\"default\":\"extracted_from\",\"_meta\":{\"required\":true}},\"metadata\":{\"type\":\"text\",\"required\":false,\"default\":\"\"},\"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}}},\"createdAt\":{\"type\":\"datetime\",\"required\":false},\"updatedAt\":{\"type\":\"datetime\",\"required\":false}},\"methods\":{\"getRelationship\":{\"name\":\"getRelationship\",\"async\":false,\"parameters\":[],\"returnType\":\"FactContentRelationship\",\"isStatic\":false,\"isPublic\":true},\"getMetadata\":{\"name\":\"getMetadata\",\"async\":false,\"parameters\":[],\"returnType\":\"Record<string, unknown>\",\"isStatic\":false,\"isPublic\":true},\"setMetadata\":{\"name\":\"setMetadata\",\"async\":false,\"parameters\":[{\"name\":\"data\",\"type\":\"Record<string, unknown>\",\"optional\":false}],\"returnType\":\"void\",\"isStatic\":false,\"isPublic\":true},\"updateMetadata\":{\"name\":\"updateMetadata\",\"async\":false,\"parameters\":[{\"name\":\"updates\",\"type\":\"Record<string, unknown>\",\"optional\":false}],\"returnType\":\"void\",\"isStatic\":false,\"isPublic\":true},\"getFact\":{\"name\":\"getFact\",\"async\":true,\"parameters\":[],\"returnType\":\"any\",\"isStatic\":false,\"isPublic\":true}},\"decoratorConfig\":{\"conflictColumns\":[\"fact_id\",\"content_id\",\"relationship\"],\"api\":{\"include\":[\"list\",\"get\",\"create\",\"delete\"]},\"mcp\":{\"include\":[\"list\",\"get\",\"create\"]},\"cli\":{\"skipApiCheck\":true},\"tenantScoped\":{\"mode\":\"optional\"}},\"extends\":\"SmrtObject\",\"exportName\":\"FactContent\",\"collectionExportName\":\"FactContentCollection\",\"validationRules\":[{\"field\":\"factId\",\"rule\":\"required\",\"fieldType\":\"foreignKey\"},{\"field\":\"contentId\",\"rule\":\"required\",\"fieldType\":\"crossPackageRef\"},{\"field\":\"relationship\",\"rule\":\"required\",\"fieldType\":\"text\"}],\"schema\":{\"tableName\":\"fact_contents\",\"ddl\":\"CREATE TABLE IF NOT EXISTS \\\"fact_contents\\\" (\\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 \\\"fact_id\\\" UUID NOT NULL,\\n \\\"content_id\\\" UUID NOT NULL,\\n \\\"relationship\\\" TEXT NOT NULL DEFAULT 'extracted_from',\\n \\\"metadata\\\" TEXT DEFAULT '',\\n \\\"tenant_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\"},\"fact_id\":{\"type\":\"UUID\",\"referenceKind\":\"foreignKey\",\"notNull\":true,\"unique\":false,\"foreignKey\":{\"table\":\"facts\",\"column\":\"id\",\"onDelete\":\"CASCADE\",\"onUpdate\":\"CASCADE\"}},\"content_id\":{\"type\":\"UUID\",\"referenceKind\":\"crossPackageRef\",\"notNull\":true,\"unique\":false},\"relationship\":{\"type\":\"TEXT\",\"notNull\":true,\"unique\":false,\"default\":\"extracted_from\"},\"metadata\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"\"},\"tenant_id\":{\"type\":\"UUID\",\"referenceKind\":\"tenantId\",\"notNull\":false,\"unique\":false}},\"indexes\":[{\"name\":\"fact_contents_fact_id_content_id_idx\",\"columns\":[\"fact_id\",\"content_id\",\"relationship\"],\"unique\":true},{\"name\":\"fact_contents_slug_context_idx\",\"columns\":[\"slug\",\"context\"]},{\"name\":\"fact_contents_tenant_id_created_at_idx\",\"columns\":[\"tenant_id\",\"created_at\"]},{\"name\":\"fact_contents_content_id_idx\",\"columns\":[\"content_id\"]}],\"version\":\"62831c36\"},\"importPath\":\"@happyvertical/smrt-facts\"},\"@happyvertical/smrt-facts:FactContentCollection\":{\"name\":\"factcontentcollection\",\"className\":\"FactContentCollection\",\"qualifiedName\":\"@happyvertical/smrt-facts:FactContentCollection\",\"collection\":\"factcontents\",\"filePath\":\"/home/runner/work/smrt/smrt/packages/facts/src/fact-contents.ts\",\"packageName\":\"@happyvertical/smrt-facts\",\"fields\":{},\"methods\":{\"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},\"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},\"attach\":{\"name\":\"attach\",\"async\":true,\"parameters\":[{\"name\":\"leftId\",\"type\":\"string\",\"optional\":false},{\"name\":\"rightId\",\"type\":\"string\",\"optional\":false},{\"name\":\"opts\",\"type\":\"JunctionAttachOptions\",\"optional\":true}],\"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}],\"returnType\":\"Promise<void>\",\"isStatic\":false,\"isPublic\":true},\"findByTenant\":{\"name\":\"findByTenant\",\"async\":true,\"parameters\":[{\"name\":\"tenantId\",\"type\":\"string\",\"optional\":false}],\"returnType\":\"Promise<FactContent[]>\",\"isStatic\":false,\"isPublic\":true},\"findGlobal\":{\"name\":\"findGlobal\",\"async\":true,\"parameters\":[],\"returnType\":\"Promise<FactContent[]>\",\"isStatic\":false,\"isPublic\":true},\"findWithGlobals\":{\"name\":\"findWithGlobals\",\"async\":true,\"parameters\":[{\"name\":\"tenantId\",\"type\":\"string\",\"optional\":false}],\"returnType\":\"Promise<FactContent[]>\",\"isStatic\":false,\"isPublic\":true}},\"decoratorConfig\":{},\"extends\":\"SmrtJunction\",\"extendsTypeArg\":\"FactContent\",\"exportName\":\"FactContentCollection\",\"collectionExportName\":\"FactContentCollectionCollection\",\"schema\":{\"tableName\":\"fact_contents\",\"ddl\":\"CREATE TABLE IF NOT EXISTS \\\"fact_contents\\\" (\\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 \\\"fact_id\\\" UUID NOT NULL,\\n \\\"content_id\\\" UUID NOT NULL,\\n \\\"relationship\\\" TEXT NOT NULL DEFAULT 'extracted_from',\\n \\\"metadata\\\" TEXT DEFAULT '',\\n \\\"tenant_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\"},\"fact_id\":{\"type\":\"UUID\",\"referenceKind\":\"foreignKey\",\"notNull\":true,\"unique\":false,\"foreignKey\":{\"table\":\"facts\",\"column\":\"id\",\"onDelete\":\"CASCADE\",\"onUpdate\":\"CASCADE\"}},\"content_id\":{\"type\":\"UUID\",\"referenceKind\":\"crossPackageRef\",\"notNull\":true,\"unique\":false},\"relationship\":{\"type\":\"TEXT\",\"notNull\":true,\"unique\":false,\"default\":\"extracted_from\"},\"metadata\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"\"},\"tenant_id\":{\"type\":\"UUID\",\"referenceKind\":\"tenantId\",\"notNull\":false,\"unique\":false}},\"indexes\":[{\"name\":\"fact_contents_fact_id_content_id_idx\",\"columns\":[\"fact_id\",\"content_id\",\"relationship\"],\"unique\":true},{\"name\":\"fact_contents_slug_context_idx\",\"columns\":[\"slug\",\"context\"]},{\"name\":\"fact_contents_tenant_id_created_at_idx\",\"columns\":[\"tenant_id\",\"created_at\"]},{\"name\":\"fact_contents_content_id_idx\",\"columns\":[\"content_id\"]}],\"version\":\"62831c36\"},\"importPath\":\"@happyvertical/smrt-facts\"},\"@happyvertical/smrt-facts:FactEvidence\":{\"name\":\"factevidence\",\"className\":\"FactEvidence\",\"qualifiedName\":\"@happyvertical/smrt-facts:FactEvidence\",\"collection\":\"factevidences\",\"filePath\":\"/home/runner/work/smrt/smrt/packages/facts/src/fact-evidence.ts\",\"packageName\":\"@happyvertical/smrt-facts\",\"fields\":{\"factId\":{\"type\":\"foreignKey\",\"required\":true,\"related\":\"Fact\",\"_meta\":{\"required\":true}},\"evidenceKey\":{\"type\":\"text\",\"required\":true,\"default\":\"\",\"_meta\":{\"required\":true}},\"status\":{\"type\":\"text\",\"required\":true,\"default\":\"supports\",\"_meta\":{\"required\":true,\"default\":\"supports\"}},\"sourceKind\":{\"type\":\"text\",\"required\":false,\"default\":\"\"},\"sourceId\":{\"type\":\"text\",\"required\":false,\"default\":\"\"},\"sourceUrl\":{\"type\":\"text\",\"required\":false,\"default\":\"\"},\"sourceTitle\":{\"type\":\"text\",\"required\":false,\"default\":\"\"},\"quote\":{\"type\":\"text\",\"required\":false,\"default\":\"\"},\"locator\":{\"type\":\"text\",\"required\":false,\"default\":\"\"},\"extractionMethod\":{\"type\":\"text\",\"required\":false,\"default\":\"\"},\"confidence\":{\"type\":\"decimal\",\"required\":false,\"default\":0},\"metadata\":{\"type\":\"text\",\"required\":false,\"default\":\"\"},\"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}}},\"createdAt\":{\"type\":\"datetime\",\"required\":false},\"updatedAt\":{\"type\":\"datetime\",\"required\":false}},\"methods\":{\"getMetadata\":{\"name\":\"getMetadata\",\"async\":false,\"parameters\":[],\"returnType\":\"Record<string, unknown>\",\"isStatic\":false,\"isPublic\":true},\"setMetadata\":{\"name\":\"setMetadata\",\"async\":false,\"parameters\":[{\"name\":\"data\",\"type\":\"Record<string, unknown>\",\"optional\":false}],\"returnType\":\"void\",\"isStatic\":false,\"isPublic\":true},\"updateMetadata\":{\"name\":\"updateMetadata\",\"async\":false,\"parameters\":[{\"name\":\"updates\",\"type\":\"Record<string, unknown>\",\"optional\":false}],\"returnType\":\"void\",\"isStatic\":false,\"isPublic\":true}},\"decoratorConfig\":{\"tableName\":\"fact_evidences\",\"conflictColumns\":[\"fact_id\",\"evidence_key\"],\"api\":{\"include\":[\"list\",\"get\",\"create\",\"delete\"]},\"mcp\":{\"include\":[\"list\",\"get\",\"create\"]},\"cli\":{\"skipApiCheck\":true},\"tenantScoped\":{\"mode\":\"optional\"}},\"extends\":\"SmrtObject\",\"exportName\":\"FactEvidence\",\"collectionExportName\":\"FactEvidenceCollection\",\"validationRules\":[{\"field\":\"factId\",\"rule\":\"required\",\"fieldType\":\"foreignKey\"},{\"field\":\"evidenceKey\",\"rule\":\"required\",\"fieldType\":\"text\"},{\"field\":\"status\",\"rule\":\"required\",\"fieldType\":\"text\"}],\"schema\":{\"tableName\":\"fact_evidences\",\"ddl\":\"CREATE TABLE IF NOT EXISTS \\\"fact_evidences\\\" (\\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 \\\"fact_id\\\" UUID NOT NULL,\\n \\\"evidence_key\\\" TEXT NOT NULL DEFAULT '',\\n \\\"status\\\" TEXT NOT NULL DEFAULT 'supports',\\n \\\"source_kind\\\" TEXT DEFAULT '',\\n \\\"source_id\\\" TEXT DEFAULT '',\\n \\\"source_url\\\" TEXT DEFAULT '',\\n \\\"source_title\\\" TEXT DEFAULT '',\\n \\\"quote\\\" TEXT DEFAULT '',\\n \\\"locator\\\" TEXT DEFAULT '',\\n \\\"extraction_method\\\" TEXT DEFAULT '',\\n \\\"confidence\\\" REAL DEFAULT 0,\\n \\\"metadata\\\" TEXT DEFAULT '',\\n \\\"tenant_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\"},\"fact_id\":{\"type\":\"UUID\",\"referenceKind\":\"foreignKey\",\"notNull\":true,\"unique\":false,\"foreignKey\":{\"table\":\"facts\",\"column\":\"id\",\"onDelete\":\"CASCADE\",\"onUpdate\":\"CASCADE\"}},\"evidence_key\":{\"type\":\"TEXT\",\"notNull\":true,\"unique\":false,\"default\":\"\"},\"status\":{\"type\":\"TEXT\",\"notNull\":true,\"unique\":false,\"default\":\"supports\"},\"source_kind\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"\"},\"source_id\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"\"},\"source_url\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"\"},\"source_title\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"\"},\"quote\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"\"},\"locator\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"\"},\"extraction_method\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"\"},\"confidence\":{\"type\":\"REAL\",\"notNull\":false,\"unique\":false,\"default\":0},\"metadata\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"\"},\"tenant_id\":{\"type\":\"UUID\",\"referenceKind\":\"tenantId\",\"notNull\":false,\"unique\":false}},\"indexes\":[{\"name\":\"fact_evidences_fact_id_evidence_key_idx\",\"columns\":[\"fact_id\",\"evidence_key\"],\"unique\":true},{\"name\":\"fact_evidences_slug_context_idx\",\"columns\":[\"slug\",\"context\"]},{\"name\":\"fact_evidences_tenant_id_created_at_idx\",\"columns\":[\"tenant_id\",\"created_at\"]}],\"version\":\"7f1e96c4\"},\"importPath\":\"@happyvertical/smrt-facts\"},\"@happyvertical/smrt-facts:FactEvidenceCollection\":{\"name\":\"factevidencecollection\",\"className\":\"FactEvidenceCollection\",\"qualifiedName\":\"@happyvertical/smrt-facts:FactEvidenceCollection\",\"collection\":\"factevidences\",\"filePath\":\"/home/runner/work/smrt/smrt/packages/facts/src/fact-evidences.ts\",\"packageName\":\"@happyvertical/smrt-facts\",\"fields\":{},\"methods\":{\"getForFact\":{\"name\":\"getForFact\",\"async\":true,\"parameters\":[{\"name\":\"factId\",\"type\":\"string\",\"optional\":false}],\"returnType\":\"Promise<FactEvidence[]>\",\"isStatic\":false,\"isPublic\":true},\"getForSource\":{\"name\":\"getForSource\",\"async\":true,\"parameters\":[{\"name\":\"sourceKind\",\"type\":\"string\",\"optional\":false},{\"name\":\"sourceId\",\"type\":\"string\",\"optional\":false}],\"returnType\":\"Promise<FactEvidence[]>\",\"isStatic\":false,\"isPublic\":true},\"getForSources\":{\"name\":\"getForSources\",\"async\":true,\"parameters\":[{\"name\":\"sources\",\"type\":\"Array<object>\",\"optional\":false,\"memberTypes\":[\"string\"]}],\"returnType\":\"Promise<FactEvidence[]>\",\"isStatic\":false,\"isPublic\":true},\"bulkUpdateStatus\":{\"name\":\"bulkUpdateStatus\",\"async\":true,\"parameters\":[{\"name\":\"evidenceIds\",\"type\":\"string[]\",\"optional\":false},{\"name\":\"status\",\"type\":\"FactEvidenceStatus\",\"optional\":false},{\"name\":\"options\",\"type\":\"object\",\"optional\":true,\"memberTypes\":[\"string\",\"string | null\"]}],\"returnType\":\"Promise<FactEvidence[]>\",\"isStatic\":false,\"isPublic\":true},\"replaceGeneratedForSources\":{\"name\":\"replaceGeneratedForSources\",\"async\":true,\"parameters\":[{\"name\":\"sources\",\"type\":\"Array<object>\",\"optional\":false,\"memberTypes\":[\"string\"]},{\"name\":\"options\",\"type\":\"object\",\"optional\":true,\"memberTypes\":[\"string\",\"string | null\"]}],\"returnType\":\"Promise<object>\",\"isStatic\":false,\"isPublic\":true},\"upsertEvidence\":{\"name\":\"upsertEvidence\",\"async\":true,\"parameters\":[{\"name\":\"options\",\"type\":\"FactEvidenceOptions\",\"optional\":false}],\"returnType\":\"Promise<FactEvidence>\",\"isStatic\":false,\"isPublic\":true}},\"decoratorConfig\":{\"tableName\":\"fact_evidences\"},\"extends\":\"SmrtCollection\",\"extendsTypeArg\":\"FactEvidence\",\"exportName\":\"FactEvidenceCollection\",\"collectionExportName\":\"FactEvidenceCollectionCollection\",\"schema\":{\"tableName\":\"fact_evidences\",\"ddl\":\"CREATE TABLE IF NOT EXISTS \\\"fact_evidences\\\" (\\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 \\\"fact_id\\\" UUID NOT NULL,\\n \\\"evidence_key\\\" TEXT NOT NULL DEFAULT '',\\n \\\"status\\\" TEXT NOT NULL DEFAULT 'supports',\\n \\\"source_kind\\\" TEXT DEFAULT '',\\n \\\"source_id\\\" TEXT DEFAULT '',\\n \\\"source_url\\\" TEXT DEFAULT '',\\n \\\"source_title\\\" TEXT DEFAULT '',\\n \\\"quote\\\" TEXT DEFAULT '',\\n \\\"locator\\\" TEXT DEFAULT '',\\n \\\"extraction_method\\\" TEXT DEFAULT '',\\n \\\"confidence\\\" REAL DEFAULT 0,\\n \\\"metadata\\\" TEXT DEFAULT '',\\n \\\"tenant_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\"},\"fact_id\":{\"type\":\"UUID\",\"referenceKind\":\"foreignKey\",\"notNull\":true,\"unique\":false,\"foreignKey\":{\"table\":\"facts\",\"column\":\"id\",\"onDelete\":\"CASCADE\",\"onUpdate\":\"CASCADE\"}},\"evidence_key\":{\"type\":\"TEXT\",\"notNull\":true,\"unique\":false,\"default\":\"\"},\"status\":{\"type\":\"TEXT\",\"notNull\":true,\"unique\":false,\"default\":\"supports\"},\"source_kind\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"\"},\"source_id\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"\"},\"source_url\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"\"},\"source_title\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"\"},\"quote\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"\"},\"locator\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"\"},\"extraction_method\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"\"},\"confidence\":{\"type\":\"REAL\",\"notNull\":false,\"unique\":false,\"default\":0},\"metadata\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"\"},\"tenant_id\":{\"type\":\"UUID\",\"referenceKind\":\"tenantId\",\"notNull\":false,\"unique\":false}},\"indexes\":[{\"name\":\"fact_evidences_fact_id_evidence_key_idx\",\"columns\":[\"fact_id\",\"evidence_key\"],\"unique\":true},{\"name\":\"fact_evidences_slug_context_idx\",\"columns\":[\"slug\",\"context\"]},{\"name\":\"fact_evidences_tenant_id_created_at_idx\",\"columns\":[\"tenant_id\",\"created_at\"]}],\"version\":\"7f1e96c4\"},\"importPath\":\"@happyvertical/smrt-facts\"},\"@happyvertical/smrt-facts:FactSource\":{\"name\":\"factsource\",\"className\":\"FactSource\",\"qualifiedName\":\"@happyvertical/smrt-facts:FactSource\",\"collection\":\"factsources\",\"filePath\":\"/home/runner/work/smrt/smrt/packages/facts/src/fact-source.ts\",\"packageName\":\"@happyvertical/smrt-facts\",\"fields\":{\"created_at\":{\"type\":\"datetime\",\"required\":false},\"updated_at\":{\"type\":\"datetime\",\"required\":false},\"factId\":{\"type\":\"foreignKey\",\"required\":true,\"related\":\"Fact\",\"_meta\":{\"required\":true}},\"sourceType\":{\"type\":\"text\",\"required\":false,\"default\":\"\"},\"sourceUrl\":{\"type\":\"text\",\"required\":false,\"default\":\"\"},\"sourceTitle\":{\"type\":\"text\",\"required\":false,\"default\":\"\"},\"credibility\":{\"type\":\"decimal\",\"required\":false,\"default\":0},\"extractedAt\":{\"type\":\"datetime\",\"required\":false},\"metadata\":{\"type\":\"text\",\"required\":false,\"default\":\"\"},\"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}}},\"createdAt\":{\"type\":\"datetime\",\"required\":false},\"updatedAt\":{\"type\":\"datetime\",\"required\":false}},\"methods\":{\"getMetadata\":{\"name\":\"getMetadata\",\"async\":false,\"parameters\":[],\"returnType\":\"Record<string, unknown>\",\"isStatic\":false,\"isPublic\":true},\"setMetadata\":{\"name\":\"setMetadata\",\"async\":false,\"parameters\":[{\"name\":\"data\",\"type\":\"Record<string, unknown>\",\"optional\":false}],\"returnType\":\"void\",\"isStatic\":false,\"isPublic\":true},\"updateMetadata\":{\"name\":\"updateMetadata\",\"async\":false,\"parameters\":[{\"name\":\"updates\",\"type\":\"Record<string, unknown>\",\"optional\":false}],\"returnType\":\"void\",\"isStatic\":false,\"isPublic\":true},\"getFact\":{\"name\":\"getFact\",\"async\":true,\"parameters\":[],\"returnType\":\"any\",\"isStatic\":false,\"isPublic\":true}},\"decoratorConfig\":{\"tableStrategy\":\"sti\",\"api\":{\"include\":[\"list\",\"get\",\"create\",\"delete\"]},\"mcp\":{\"include\":[\"list\",\"get\",\"create\"]},\"cli\":{\"skipApiCheck\":true},\"tenantScoped\":{\"mode\":\"optional\"},\"conflictColumns\":[\"tenant_id\",\"slug\",\"context\",\"_meta_type\"]},\"extends\":\"SmrtObject\",\"exportName\":\"FactSource\",\"collectionExportName\":\"FactSourceCollection\",\"validationRules\":[{\"field\":\"factId\",\"rule\":\"required\",\"fieldType\":\"foreignKey\"}],\"schema\":{\"tableName\":\"fact_sources\",\"ddl\":\"CREATE TABLE IF NOT EXISTS \\\"fact_sources\\\" (\\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 \\\"fact_id\\\" UUID,\\n \\\"source_type\\\" TEXT DEFAULT '',\\n \\\"source_url\\\" TEXT DEFAULT '',\\n \\\"source_title\\\" TEXT DEFAULT '',\\n \\\"credibility\\\" REAL DEFAULT 0,\\n \\\"extracted_at\\\" TIMESTAMP,\\n \\\"metadata\\\" TEXT DEFAULT '',\\n \\\"tenant_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\"},\"fact_id\":{\"type\":\"UUID\",\"referenceKind\":\"foreignKey\",\"notNull\":false,\"foreignKey\":{\"table\":\"facts\",\"column\":\"id\",\"onDelete\":\"NO ACTION\",\"onUpdate\":\"CASCADE\"}},\"source_type\":{\"type\":\"TEXT\",\"notNull\":false,\"default\":\"\"},\"source_url\":{\"type\":\"TEXT\",\"notNull\":false,\"default\":\"\"},\"source_title\":{\"type\":\"TEXT\",\"notNull\":false,\"default\":\"\"},\"credibility\":{\"type\":\"REAL\",\"notNull\":false,\"default\":0},\"extracted_at\":{\"type\":\"TIMESTAMP\",\"notNull\":false},\"metadata\":{\"type\":\"TEXT\",\"notNull\":false,\"default\":\"\"},\"tenant_id\":{\"type\":\"UUID\",\"referenceKind\":\"tenantId\",\"notNull\":false}},\"indexes\":[{\"name\":\"fact_sources_slug_context_meta_type_idx\",\"columns\":[\"tenant_id\",\"slug\",\"context\",\"_meta_type\"],\"unique\":true,\"nullsNotDistinct\":true},{\"name\":\"fact_sources_meta_type_idx\",\"columns\":[\"_meta_type\"]},{\"name\":\"fact_sources_tenant_id_created_at_idx\",\"columns\":[\"tenant_id\",\"created_at\"]},{\"name\":\"fact_sources_fact_id_idx\",\"columns\":[\"fact_id\"]}],\"version\":\"9d0f874e\"},\"importPath\":\"@happyvertical/smrt-facts\"},\"@happyvertical/smrt-facts:FactSourceCollection\":{\"name\":\"factsourcecollection\",\"className\":\"FactSourceCollection\",\"qualifiedName\":\"@happyvertical/smrt-facts:FactSourceCollection\",\"collection\":\"factsources\",\"filePath\":\"/home/runner/work/smrt/smrt/packages/facts/src/fact-sources.ts\",\"packageName\":\"@happyvertical/smrt-facts\",\"fields\":{},\"methods\":{\"getForFact\":{\"name\":\"getForFact\",\"async\":true,\"parameters\":[{\"name\":\"factId\",\"type\":\"string\",\"optional\":false}],\"returnType\":\"Promise<FactSource[]>\",\"isStatic\":false,\"isPublic\":true},\"countForFact\":{\"name\":\"countForFact\",\"async\":true,\"parameters\":[{\"name\":\"factId\",\"type\":\"string\",\"optional\":false}],\"returnType\":\"Promise<number>\",\"isStatic\":false,\"isPublic\":true},\"getByType\":{\"name\":\"getByType\",\"async\":true,\"parameters\":[{\"name\":\"sourceType\",\"type\":\"string\",\"optional\":false}],\"returnType\":\"Promise<FactSource[]>\",\"isStatic\":false,\"isPublic\":true},\"getHighCredibility\":{\"name\":\"getHighCredibility\",\"async\":true,\"parameters\":[{\"name\":\"minCredibility\",\"type\":\"number\",\"optional\":true}],\"returnType\":\"Promise<FactSource[]>\",\"isStatic\":false,\"isPublic\":true},\"getAverageCredibility\":{\"name\":\"getAverageCredibility\",\"async\":true,\"parameters\":[{\"name\":\"factId\",\"type\":\"string\",\"optional\":false}],\"returnType\":\"Promise<number>\",\"isStatic\":false,\"isPublic\":true},\"findByTenant\":{\"name\":\"findByTenant\",\"async\":true,\"parameters\":[{\"name\":\"tenantId\",\"type\":\"string\",\"optional\":false}],\"returnType\":\"Promise<FactSource[]>\",\"isStatic\":false,\"isPublic\":true},\"findGlobal\":{\"name\":\"findGlobal\",\"async\":true,\"parameters\":[],\"returnType\":\"Promise<FactSource[]>\",\"isStatic\":false,\"isPublic\":true},\"findWithGlobals\":{\"name\":\"findWithGlobals\",\"async\":true,\"parameters\":[{\"name\":\"tenantId\",\"type\":\"string\",\"optional\":false}],\"returnType\":\"Promise<FactSource[]>\",\"isStatic\":false,\"isPublic\":true}},\"decoratorConfig\":{},\"extends\":\"SmrtCollection\",\"extendsTypeArg\":\"FactSource\",\"exportName\":\"FactSourceCollection\",\"collectionExportName\":\"FactSourceCollectionCollection\",\"schema\":{\"tableName\":\"fact_sources\",\"ddl\":\"CREATE TABLE IF NOT EXISTS \\\"fact_sources\\\" (\\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 \\\"fact_id\\\" UUID,\\n \\\"source_type\\\" TEXT DEFAULT '',\\n \\\"source_url\\\" TEXT DEFAULT '',\\n \\\"source_title\\\" TEXT DEFAULT '',\\n \\\"credibility\\\" REAL DEFAULT 0,\\n \\\"extracted_at\\\" TIMESTAMP,\\n \\\"metadata\\\" TEXT DEFAULT '',\\n \\\"tenant_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\"},\"fact_id\":{\"type\":\"UUID\",\"referenceKind\":\"foreignKey\",\"notNull\":false,\"foreignKey\":{\"table\":\"facts\",\"column\":\"id\",\"onDelete\":\"NO ACTION\",\"onUpdate\":\"CASCADE\"}},\"source_type\":{\"type\":\"TEXT\",\"notNull\":false,\"default\":\"\"},\"source_url\":{\"type\":\"TEXT\",\"notNull\":false,\"default\":\"\"},\"source_title\":{\"type\":\"TEXT\",\"notNull\":false,\"default\":\"\"},\"credibility\":{\"type\":\"REAL\",\"notNull\":false,\"default\":0},\"extracted_at\":{\"type\":\"TIMESTAMP\",\"notNull\":false},\"metadata\":{\"type\":\"TEXT\",\"notNull\":false,\"default\":\"\"},\"tenant_id\":{\"type\":\"UUID\",\"referenceKind\":\"tenantId\",\"notNull\":false}},\"indexes\":[{\"name\":\"fact_sources_slug_context_meta_type_idx\",\"columns\":[\"tenant_id\",\"slug\",\"context\",\"_meta_type\"],\"unique\":true,\"nullsNotDistinct\":true},{\"name\":\"fact_sources_meta_type_idx\",\"columns\":[\"_meta_type\"]},{\"name\":\"fact_sources_tenant_id_created_at_idx\",\"columns\":[\"tenant_id\",\"created_at\"]},{\"name\":\"fact_sources_fact_id_idx\",\"columns\":[\"fact_id\"]}],\"version\":\"9d0f874e\"},\"importPath\":\"@happyvertical/smrt-facts\"},\"@happyvertical/smrt-facts:FactSubject\":{\"name\":\"factsubject\",\"className\":\"FactSubject\",\"qualifiedName\":\"@happyvertical/smrt-facts:FactSubject\",\"collection\":\"factsubjects\",\"filePath\":\"/home/runner/work/smrt/smrt/packages/facts/src/fact-subject.ts\",\"packageName\":\"@happyvertical/smrt-facts\",\"fields\":{\"factId\":{\"type\":\"foreignKey\",\"required\":true,\"related\":\"Fact\",\"_meta\":{\"required\":true}},\"entityType\":{\"type\":\"text\",\"required\":true,\"default\":\"\",\"_meta\":{\"required\":true}},\"entityId\":{\"type\":\"text\",\"required\":true,\"default\":\"\",\"_meta\":{\"required\":true}},\"role\":{\"type\":\"text\",\"required\":false,\"default\":\"subject\"},\"metadata\":{\"type\":\"text\",\"required\":false,\"default\":\"\"},\"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}}},\"createdAt\":{\"type\":\"datetime\",\"required\":false},\"updatedAt\":{\"type\":\"datetime\",\"required\":false}},\"methods\":{\"getRole\":{\"name\":\"getRole\",\"async\":false,\"parameters\":[],\"returnType\":\"SubjectRole\",\"isStatic\":false,\"isPublic\":true},\"getMetadata\":{\"name\":\"getMetadata\",\"async\":false,\"parameters\":[],\"returnType\":\"Record<string, unknown>\",\"isStatic\":false,\"isPublic\":true},\"setMetadata\":{\"name\":\"setMetadata\",\"async\":false,\"parameters\":[{\"name\":\"data\",\"type\":\"Record<string, unknown>\",\"optional\":false}],\"returnType\":\"void\",\"isStatic\":false,\"isPublic\":true},\"updateMetadata\":{\"name\":\"updateMetadata\",\"async\":false,\"parameters\":[{\"name\":\"updates\",\"type\":\"Record<string, unknown>\",\"optional\":false}],\"returnType\":\"void\",\"isStatic\":false,\"isPublic\":true},\"getFact\":{\"name\":\"getFact\",\"async\":true,\"parameters\":[],\"returnType\":\"any\",\"isStatic\":false,\"isPublic\":true}},\"decoratorConfig\":{\"conflictColumns\":[\"fact_id\",\"entity_type\",\"entity_id\"],\"api\":{\"include\":[\"list\",\"get\",\"create\",\"delete\"]},\"mcp\":{\"include\":[\"list\",\"get\",\"create\"]},\"cli\":{\"skipApiCheck\":true},\"tenantScoped\":{\"mode\":\"optional\"}},\"extends\":\"SmrtObject\",\"exportName\":\"FactSubject\",\"collectionExportName\":\"FactSubjectCollection\",\"validationRules\":[{\"field\":\"factId\",\"rule\":\"required\",\"fieldType\":\"foreignKey\"},{\"field\":\"entityType\",\"rule\":\"required\",\"fieldType\":\"text\"},{\"field\":\"entityId\",\"rule\":\"required\",\"fieldType\":\"text\"}],\"schema\":{\"tableName\":\"fact_subjects\",\"ddl\":\"CREATE TABLE IF NOT EXISTS \\\"fact_subjects\\\" (\\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 \\\"fact_id\\\" UUID NOT NULL,\\n \\\"entity_type\\\" TEXT NOT NULL DEFAULT '',\\n \\\"entity_id\\\" TEXT NOT NULL DEFAULT '',\\n \\\"role\\\" TEXT DEFAULT 'subject',\\n \\\"metadata\\\" TEXT DEFAULT '',\\n \\\"tenant_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\"},\"fact_id\":{\"type\":\"UUID\",\"referenceKind\":\"foreignKey\",\"notNull\":true,\"unique\":false,\"foreignKey\":{\"table\":\"facts\",\"column\":\"id\",\"onDelete\":\"CASCADE\",\"onUpdate\":\"CASCADE\"}},\"entity_type\":{\"type\":\"TEXT\",\"notNull\":true,\"unique\":false,\"default\":\"\"},\"entity_id\":{\"type\":\"TEXT\",\"notNull\":true,\"unique\":false,\"default\":\"\"},\"role\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"subject\"},\"metadata\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"\"},\"tenant_id\":{\"type\":\"UUID\",\"referenceKind\":\"tenantId\",\"notNull\":false,\"unique\":false}},\"indexes\":[{\"name\":\"fact_subjects_fact_id_entity_type_idx\",\"columns\":[\"fact_id\",\"entity_type\",\"entity_id\"],\"unique\":true},{\"name\":\"fact_subjects_slug_context_idx\",\"columns\":[\"slug\",\"context\"]},{\"name\":\"fact_subjects_tenant_id_created_at_idx\",\"columns\":[\"tenant_id\",\"created_at\"]}],\"version\":\"cb6eca71\"},\"importPath\":\"@happyvertical/smrt-facts\"},\"@happyvertical/smrt-facts:FactSubjectCollection\":{\"name\":\"factsubjectcollection\",\"className\":\"FactSubjectCollection\",\"qualifiedName\":\"@happyvertical/smrt-facts:FactSubjectCollection\",\"collection\":\"factsubjects\",\"filePath\":\"/home/runner/work/smrt/smrt/packages/facts/src/fact-subjects.ts\",\"packageName\":\"@happyvertical/smrt-facts\",\"fields\":{},\"methods\":{\"getForFact\":{\"name\":\"getForFact\",\"async\":true,\"parameters\":[{\"name\":\"factId\",\"type\":\"string\",\"optional\":false}],\"returnType\":\"Promise<FactSubject[]>\",\"isStatic\":false,\"isPublic\":true},\"getForEntity\":{\"name\":\"getForEntity\",\"async\":true,\"parameters\":[{\"name\":\"entityType\",\"type\":\"string\",\"optional\":false},{\"name\":\"entityId\",\"type\":\"string\",\"optional\":false}],\"returnType\":\"Promise<FactSubject[]>\",\"isStatic\":false,\"isPublic\":true},\"linkEntity\":{\"name\":\"linkEntity\",\"async\":true,\"parameters\":[{\"name\":\"factId\",\"type\":\"string\",\"optional\":false},{\"name\":\"entityType\",\"type\":\"string\",\"optional\":false},{\"name\":\"entityId\",\"type\":\"string\",\"optional\":false},{\"name\":\"role\",\"type\":\"SubjectRole\",\"optional\":true,\"default\":\"subject\"}],\"returnType\":\"Promise<FactSubject>\",\"isStatic\":false,\"isPublic\":true},\"unlinkEntity\":{\"name\":\"unlinkEntity\",\"async\":true,\"parameters\":[{\"name\":\"factId\",\"type\":\"string\",\"optional\":false},{\"name\":\"entityType\",\"type\":\"string\",\"optional\":false},{\"name\":\"entityId\",\"type\":\"string\",\"optional\":false}],\"returnType\":\"Promise<void>\",\"isStatic\":false,\"isPublic\":true},\"getByRole\":{\"name\":\"getByRole\",\"async\":true,\"parameters\":[{\"name\":\"factId\",\"type\":\"string\",\"optional\":false},{\"name\":\"role\",\"type\":\"SubjectRole\",\"optional\":false}],\"returnType\":\"Promise<FactSubject[]>\",\"isStatic\":false,\"isPublic\":true},\"countForFact\":{\"name\":\"countForFact\",\"async\":true,\"parameters\":[{\"name\":\"factId\",\"type\":\"string\",\"optional\":false}],\"returnType\":\"Promise<number>\",\"isStatic\":false,\"isPublic\":true},\"findByTenant\":{\"name\":\"findByTenant\",\"async\":true,\"parameters\":[{\"name\":\"tenantId\",\"type\":\"string\",\"optional\":false}],\"returnType\":\"Promise<FactSubject[]>\",\"isStatic\":false,\"isPublic\":true},\"findGlobal\":{\"name\":\"findGlobal\",\"async\":true,\"parameters\":[],\"returnType\":\"Promise<FactSubject[]>\",\"isStatic\":false,\"isPublic\":true},\"findWithGlobals\":{\"name\":\"findWithGlobals\",\"async\":true,\"parameters\":[{\"name\":\"tenantId\",\"type\":\"string\",\"optional\":false}],\"returnType\":\"Promise<FactSubject[]>\",\"isStatic\":false,\"isPublic\":true}},\"decoratorConfig\":{},\"extends\":\"SmrtCollection\",\"extendsTypeArg\":\"FactSubject\",\"exportName\":\"FactSubjectCollection\",\"collectionExportName\":\"FactSubjectCollectionCollection\",\"schema\":{\"tableName\":\"fact_subjects\",\"ddl\":\"CREATE TABLE IF NOT EXISTS \\\"fact_subjects\\\" (\\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 \\\"fact_id\\\" UUID NOT NULL,\\n \\\"entity_type\\\" TEXT NOT NULL DEFAULT '',\\n \\\"entity_id\\\" TEXT NOT NULL DEFAULT '',\\n \\\"role\\\" TEXT DEFAULT 'subject',\\n \\\"metadata\\\" TEXT DEFAULT '',\\n \\\"tenant_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\"},\"fact_id\":{\"type\":\"UUID\",\"referenceKind\":\"foreignKey\",\"notNull\":true,\"unique\":false,\"foreignKey\":{\"table\":\"facts\",\"column\":\"id\",\"onDelete\":\"CASCADE\",\"onUpdate\":\"CASCADE\"}},\"entity_type\":{\"type\":\"TEXT\",\"notNull\":true,\"unique\":false,\"default\":\"\"},\"entity_id\":{\"type\":\"TEXT\",\"notNull\":true,\"unique\":false,\"default\":\"\"},\"role\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"subject\"},\"metadata\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"\"},\"tenant_id\":{\"type\":\"UUID\",\"referenceKind\":\"tenantId\",\"notNull\":false,\"unique\":false}},\"indexes\":[{\"name\":\"fact_subjects_fact_id_entity_type_idx\",\"columns\":[\"fact_id\",\"entity_type\",\"entity_id\"],\"unique\":true},{\"name\":\"fact_subjects_slug_context_idx\",\"columns\":[\"slug\",\"context\"]},{\"name\":\"fact_subjects_tenant_id_created_at_idx\",\"columns\":[\"tenant_id\",\"created_at\"]}],\"version\":\"cb6eca71\"},\"importPath\":\"@happyvertical/smrt-facts\"},\"@happyvertical/smrt-facts:FactTag\":{\"name\":\"facttag\",\"className\":\"FactTag\",\"qualifiedName\":\"@happyvertical/smrt-facts:FactTag\",\"collection\":\"facttags\",\"filePath\":\"/home/runner/work/smrt/smrt/packages/facts/src/fact-tag.ts\",\"packageName\":\"@happyvertical/smrt-facts\",\"fields\":{\"factId\":{\"type\":\"foreignKey\",\"required\":true,\"related\":\"Fact\",\"_meta\":{\"required\":true}},\"tagSlug\":{\"type\":\"text\",\"required\":true,\"default\":\"\",\"_meta\":{\"required\":true}},\"metadata\":{\"type\":\"text\",\"required\":false,\"default\":\"\"},\"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}}},\"createdAt\":{\"type\":\"datetime\",\"required\":false},\"updatedAt\":{\"type\":\"datetime\",\"required\":false}},\"methods\":{\"getMetadata\":{\"name\":\"getMetadata\",\"async\":false,\"parameters\":[],\"returnType\":\"Record<string, unknown>\",\"isStatic\":false,\"isPublic\":true},\"setMetadata\":{\"name\":\"setMetadata\",\"async\":false,\"parameters\":[{\"name\":\"data\",\"type\":\"Record<string, unknown>\",\"optional\":false}],\"returnType\":\"void\",\"isStatic\":false,\"isPublic\":true},\"updateMetadata\":{\"name\":\"updateMetadata\",\"async\":false,\"parameters\":[{\"name\":\"updates\",\"type\":\"Record<string, unknown>\",\"optional\":false}],\"returnType\":\"void\",\"isStatic\":false,\"isPublic\":true},\"getFact\":{\"name\":\"getFact\",\"async\":true,\"parameters\":[],\"returnType\":\"any\",\"isStatic\":false,\"isPublic\":true}},\"decoratorConfig\":{\"conflictColumns\":[\"fact_id\",\"tag_slug\"],\"api\":{\"include\":[\"list\",\"get\",\"create\",\"delete\"]},\"mcp\":{\"include\":[\"list\",\"get\",\"create\"]},\"cli\":{\"skipApiCheck\":true},\"tenantScoped\":{\"mode\":\"optional\"}},\"extends\":\"SmrtObject\",\"exportName\":\"FactTag\",\"collectionExportName\":\"FactTagCollection\",\"validationRules\":[{\"field\":\"factId\",\"rule\":\"required\",\"fieldType\":\"foreignKey\"},{\"field\":\"tagSlug\",\"rule\":\"required\",\"fieldType\":\"text\"}],\"schema\":{\"tableName\":\"fact_tags\",\"ddl\":\"CREATE TABLE IF NOT EXISTS \\\"fact_tags\\\" (\\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 \\\"fact_id\\\" UUID NOT NULL,\\n \\\"tag_slug\\\" TEXT NOT NULL DEFAULT '',\\n \\\"metadata\\\" TEXT DEFAULT '',\\n \\\"tenant_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\"},\"fact_id\":{\"type\":\"UUID\",\"referenceKind\":\"foreignKey\",\"notNull\":true,\"unique\":false,\"foreignKey\":{\"table\":\"facts\",\"column\":\"id\",\"onDelete\":\"CASCADE\",\"onUpdate\":\"CASCADE\"}},\"tag_slug\":{\"type\":\"TEXT\",\"notNull\":true,\"unique\":false,\"default\":\"\"},\"metadata\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"\"},\"tenant_id\":{\"type\":\"UUID\",\"referenceKind\":\"tenantId\",\"notNull\":false,\"unique\":false}},\"indexes\":[{\"name\":\"fact_tags_fact_id_tag_slug_idx\",\"columns\":[\"fact_id\",\"tag_slug\"],\"unique\":true},{\"name\":\"fact_tags_slug_context_idx\",\"columns\":[\"slug\",\"context\"]},{\"name\":\"fact_tags_tenant_id_created_at_idx\",\"columns\":[\"tenant_id\",\"created_at\"]}],\"version\":\"79df8b59\"},\"importPath\":\"@happyvertical/smrt-facts\"},\"@happyvertical/smrt-facts:FactTagCollection\":{\"name\":\"facttagcollection\",\"className\":\"FactTagCollection\",\"qualifiedName\":\"@happyvertical/smrt-facts:FactTagCollection\",\"collection\":\"facttags\",\"filePath\":\"/home/runner/work/smrt/smrt/packages/facts/src/fact-tags.ts\",\"packageName\":\"@happyvertical/smrt-facts\",\"fields\":{},\"methods\":{\"getForFact\":{\"name\":\"getForFact\",\"async\":true,\"parameters\":[{\"name\":\"factId\",\"type\":\"string\",\"optional\":false}],\"returnType\":\"Promise<FactTag[]>\",\"isStatic\":false,\"isPublic\":true},\"getForTag\":{\"name\":\"getForTag\",\"async\":true,\"parameters\":[{\"name\":\"tagSlug\",\"type\":\"string\",\"optional\":false}],\"returnType\":\"Promise<FactTag[]>\",\"isStatic\":false,\"isPublic\":true},\"addTag\":{\"name\":\"addTag\",\"async\":true,\"parameters\":[{\"name\":\"factId\",\"type\":\"string\",\"optional\":false},{\"name\":\"tagSlug\",\"type\":\"string\",\"optional\":false}],\"returnType\":\"Promise<FactTag>\",\"isStatic\":false,\"isPublic\":true},\"removeTag\":{\"name\":\"removeTag\",\"async\":true,\"parameters\":[{\"name\":\"factId\",\"type\":\"string\",\"optional\":false},{\"name\":\"tagSlug\",\"type\":\"string\",\"optional\":false}],\"returnType\":\"Promise<void>\",\"isStatic\":false,\"isPublic\":true},\"getTagSlugs\":{\"name\":\"getTagSlugs\",\"async\":true,\"parameters\":[{\"name\":\"factId\",\"type\":\"string\",\"optional\":false}],\"returnType\":\"Promise<string[]>\",\"isStatic\":false,\"isPublic\":true},\"findByTenant\":{\"name\":\"findByTenant\",\"async\":true,\"parameters\":[{\"name\":\"tenantId\",\"type\":\"string\",\"optional\":false}],\"returnType\":\"Promise<FactTag[]>\",\"isStatic\":false,\"isPublic\":true},\"findGlobal\":{\"name\":\"findGlobal\",\"async\":true,\"parameters\":[],\"returnType\":\"Promise<FactTag[]>\",\"isStatic\":false,\"isPublic\":true},\"findWithGlobals\":{\"name\":\"findWithGlobals\",\"async\":true,\"parameters\":[{\"name\":\"tenantId\",\"type\":\"string\",\"optional\":false}],\"returnType\":\"Promise<FactTag[]>\",\"isStatic\":false,\"isPublic\":true}},\"decoratorConfig\":{},\"extends\":\"SmrtCollection\",\"extendsTypeArg\":\"FactTag\",\"exportName\":\"FactTagCollection\",\"collectionExportName\":\"FactTagCollectionCollection\",\"schema\":{\"tableName\":\"fact_tags\",\"ddl\":\"CREATE TABLE IF NOT EXISTS \\\"fact_tags\\\" (\\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 \\\"fact_id\\\" UUID NOT NULL,\\n \\\"tag_slug\\\" TEXT NOT NULL DEFAULT '',\\n \\\"metadata\\\" TEXT DEFAULT '',\\n \\\"tenant_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\"},\"fact_id\":{\"type\":\"UUID\",\"referenceKind\":\"foreignKey\",\"notNull\":true,\"unique\":false,\"foreignKey\":{\"table\":\"facts\",\"column\":\"id\",\"onDelete\":\"CASCADE\",\"onUpdate\":\"CASCADE\"}},\"tag_slug\":{\"type\":\"TEXT\",\"notNull\":true,\"unique\":false,\"default\":\"\"},\"metadata\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"\"},\"tenant_id\":{\"type\":\"UUID\",\"referenceKind\":\"tenantId\",\"notNull\":false,\"unique\":false}},\"indexes\":[{\"name\":\"fact_tags_fact_id_tag_slug_idx\",\"columns\":[\"fact_id\",\"tag_slug\"],\"unique\":true},{\"name\":\"fact_tags_slug_context_idx\",\"columns\":[\"slug\",\"context\"]},{\"name\":\"fact_tags_tenant_id_created_at_idx\",\"columns\":[\"tenant_id\",\"created_at\"]}],\"version\":\"79df8b59\"},\"importPath\":\"@happyvertical/smrt-facts\"},\"@happyvertical/smrt-facts:Fact\":{\"name\":\"fact\",\"className\":\"Fact\",\"qualifiedName\":\"@happyvertical/smrt-facts:Fact\",\"collection\":\"facts\",\"filePath\":\"/home/runner/work/smrt/smrt/packages/facts/src/fact.ts\",\"packageName\":\"@happyvertical/smrt-facts\",\"fields\":{\"created_at\":{\"type\":\"datetime\",\"required\":false},\"updated_at\":{\"type\":\"datetime\",\"required\":false},\"textRefined\":{\"type\":\"text\",\"required\":true,\"default\":\"\",\"_meta\":{\"required\":true}},\"textRaw\":{\"type\":\"text\",\"required\":false,\"default\":\"\"},\"catalogSearch\":{\"type\":\"text\",\"required\":false,\"_meta\":{\"nullable\":true,\"readonly\":true,\"sensitive\":true},\"sensitive\":true,\"readonly\":true},\"type\":{\"type\":\"text\",\"required\":true,\"default\":\"assertion\",\"_meta\":{\"required\":true}},\"status\":{\"type\":\"text\",\"required\":true,\"default\":\"pending\",\"_meta\":{\"required\":true}},\"domain\":{\"type\":\"text\",\"required\":false,\"default\":\"\"},\"previousFactId\":{\"type\":\"foreignKey\",\"required\":false,\"related\":\"Fact\"},\"evolutionType\":{\"type\":\"text\",\"required\":false,\"default\":\"original\"},\"sourceCount\":{\"type\":\"integer\",\"required\":false,\"default\":0},\"confidence\":{\"type\":\"decimal\",\"required\":false,\"default\":0},\"metadata\":{\"type\":\"text\",\"required\":false,\"default\":\"\"},\"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}}},\"createdAt\":{\"type\":\"datetime\",\"required\":false},\"updatedAt\":{\"type\":\"datetime\",\"required\":false}},\"methods\":{\"getMetadata\":{\"name\":\"getMetadata\",\"async\":false,\"parameters\":[],\"returnType\":\"FactMetadata\",\"isStatic\":false,\"isPublic\":true},\"setMetadata\":{\"name\":\"setMetadata\",\"async\":false,\"parameters\":[{\"name\":\"data\",\"type\":\"FactMetadata\",\"optional\":false}],\"returnType\":\"void\",\"isStatic\":false,\"isPublic\":true},\"updateMetadata\":{\"name\":\"updateMetadata\",\"async\":false,\"parameters\":[{\"name\":\"updates\",\"type\":\"Partial<FactMetadata>\",\"optional\":false}],\"returnType\":\"void\",\"isStatic\":false,\"isPublic\":true},\"getType\":{\"name\":\"getType\",\"async\":false,\"parameters\":[],\"returnType\":\"FactType\",\"isStatic\":false,\"isPublic\":true},\"getStatus\":{\"name\":\"getStatus\",\"async\":false,\"parameters\":[],\"returnType\":\"FactStatus\",\"isStatic\":false,\"isPublic\":true},\"getEvolutionType\":{\"name\":\"getEvolutionType\",\"async\":false,\"parameters\":[],\"returnType\":\"EvolutionType\",\"isStatic\":false,\"isPublic\":true},\"isActive\":{\"name\":\"isActive\",\"async\":false,\"parameters\":[],\"returnType\":\"boolean\",\"isStatic\":false,\"isPublic\":true},\"isSuperseded\":{\"name\":\"isSuperseded\",\"async\":false,\"parameters\":[],\"returnType\":\"boolean\",\"isStatic\":false,\"isPublic\":true},\"hasPredecessor\":{\"name\":\"hasPredecessor\",\"async\":false,\"parameters\":[],\"returnType\":\"boolean\",\"isStatic\":false,\"isPublic\":true},\"getPredecessor\":{\"name\":\"getPredecessor\",\"async\":true,\"parameters\":[],\"returnType\":\"Promise<Fact | null>\",\"isStatic\":false,\"isPublic\":true},\"getSuccessors\":{\"name\":\"getSuccessors\",\"async\":true,\"parameters\":[],\"returnType\":\"Promise<Fact[]>\",\"isStatic\":false,\"isPublic\":true},\"getSources\":{\"name\":\"getSources\",\"async\":true,\"parameters\":[],\"returnType\":\"any\",\"isStatic\":false,\"isPublic\":true},\"getSubjects\":{\"name\":\"getSubjects\",\"async\":true,\"parameters\":[],\"returnType\":\"any\",\"isStatic\":false,\"isPublic\":true}},\"decoratorConfig\":{\"tableStrategy\":\"sti\",\"embeddings\":{\"fields\":[\"textRefined\"],\"provider\":\"auto\",\"autoGenerate\":true,\"combinedField\":{\"name\":\"full_context\",\"template\":\"{textRefined}\\n\\nType: {type}\\nDomain: {domain}\"}},\"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\":\"Fact\",\"collectionExportName\":\"FactCollection\",\"validationRules\":[{\"field\":\"textRefined\",\"rule\":\"required\",\"fieldType\":\"text\"},{\"field\":\"type\",\"rule\":\"required\",\"fieldType\":\"text\"},{\"field\":\"status\",\"rule\":\"required\",\"fieldType\":\"text\"}],\"schema\":{\"tableName\":\"facts\",\"ddl\":\"CREATE TABLE IF NOT EXISTS \\\"facts\\\" (\\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 \\\"text_refined\\\" TEXT DEFAULT '',\\n \\\"text_raw\\\" TEXT DEFAULT '',\\n \\\"catalog_search\\\" TEXT,\\n \\\"type\\\" TEXT DEFAULT 'assertion',\\n \\\"status\\\" TEXT DEFAULT 'pending',\\n \\\"domain\\\" TEXT DEFAULT '',\\n \\\"previous_fact_id\\\" UUID,\\n \\\"evolution_type\\\" TEXT DEFAULT 'original',\\n \\\"source_count\\\" INTEGER DEFAULT 0,\\n \\\"confidence\\\" REAL DEFAULT 0,\\n \\\"metadata\\\" TEXT DEFAULT '',\\n \\\"tenant_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\"},\"text_refined\":{\"type\":\"TEXT\",\"notNull\":false,\"default\":\"\"},\"text_raw\":{\"type\":\"TEXT\",\"notNull\":false,\"default\":\"\"},\"catalog_search\":{\"type\":\"TEXT\",\"notNull\":false},\"type\":{\"type\":\"TEXT\",\"notNull\":false,\"default\":\"assertion\"},\"status\":{\"type\":\"TEXT\",\"notNull\":false,\"default\":\"pending\"},\"domain\":{\"type\":\"TEXT\",\"notNull\":false,\"default\":\"\"},\"previous_fact_id\":{\"type\":\"UUID\",\"referenceKind\":\"foreignKey\",\"notNull\":false,\"foreignKey\":{\"table\":\"facts\",\"column\":\"id\",\"onDelete\":\"NO ACTION\",\"onUpdate\":\"CASCADE\"}},\"evolution_type\":{\"type\":\"TEXT\",\"notNull\":false,\"default\":\"original\"},\"source_count\":{\"type\":\"INTEGER\",\"notNull\":false,\"default\":0},\"confidence\":{\"type\":\"REAL\",\"notNull\":false,\"default\":0},\"metadata\":{\"type\":\"TEXT\",\"notNull\":false,\"default\":\"\"},\"tenant_id\":{\"type\":\"UUID\",\"referenceKind\":\"tenantId\",\"notNull\":false}},\"indexes\":[{\"name\":\"facts_slug_context_meta_type_idx\",\"columns\":[\"tenant_id\",\"slug\",\"context\",\"_meta_type\"],\"unique\":true,\"nullsNotDistinct\":true},{\"name\":\"facts_meta_type_idx\",\"columns\":[\"_meta_type\"]},{\"name\":\"facts_tenant_id_created_at_idx\",\"columns\":[\"tenant_id\",\"created_at\"]},{\"name\":\"facts_previous_fact_id_idx\",\"columns\":[\"previous_fact_id\"]}],\"version\":\"a0a442b8\"},\"importPath\":\"@happyvertical/smrt-facts\"},\"@happyvertical/smrt-facts:FactCollection\":{\"name\":\"factcollection\",\"className\":\"FactCollection\",\"qualifiedName\":\"@happyvertical/smrt-facts:FactCollection\",\"collection\":\"facts\",\"filePath\":\"/home/runner/work/smrt/smrt/packages/facts/src/facts.ts\",\"packageName\":\"@happyvertical/smrt-facts\",\"fields\":{},\"methods\":{\"getActive\":{\"name\":\"getActive\",\"async\":true,\"parameters\":[],\"returnType\":\"Promise<Fact[]>\",\"isStatic\":false,\"isPublic\":true},\"getPending\":{\"name\":\"getPending\",\"async\":true,\"parameters\":[],\"returnType\":\"Promise<Fact[]>\",\"isStatic\":false,\"isPublic\":true},\"getByType\":{\"name\":\"getByType\",\"async\":true,\"parameters\":[{\"name\":\"type\",\"type\":\"FactType\",\"optional\":false}],\"returnType\":\"Promise<Fact[]>\",\"isStatic\":false,\"isPublic\":true},\"getByDomain\":{\"name\":\"getByDomain\",\"async\":true,\"parameters\":[{\"name\":\"domain\",\"type\":\"string\",\"optional\":false}],\"returnType\":\"Promise<Fact[]>\",\"isStatic\":false,\"isPublic\":true},\"getByStatus\":{\"name\":\"getByStatus\",\"async\":true,\"parameters\":[{\"name\":\"status\",\"type\":\"FactStatus\",\"optional\":false}],\"returnType\":\"Promise<Fact[]>\",\"isStatic\":false,\"isPublic\":true},\"getSuccessors\":{\"name\":\"getSuccessors\",\"async\":true,\"parameters\":[{\"name\":\"previousFactId\",\"type\":\"string\",\"optional\":false}],\"returnType\":\"Promise<Fact[]>\",\"isStatic\":false,\"isPublic\":true},\"findByTenant\":{\"name\":\"findByTenant\",\"async\":true,\"parameters\":[{\"name\":\"tenantId\",\"type\":\"string\",\"optional\":false}],\"returnType\":\"Promise<Fact[]>\",\"isStatic\":false,\"isPublic\":true},\"findGlobal\":{\"name\":\"findGlobal\",\"async\":true,\"parameters\":[],\"returnType\":\"Promise<Fact[]>\",\"isStatic\":false,\"isPublic\":true},\"findWithGlobals\":{\"name\":\"findWithGlobals\",\"async\":true,\"parameters\":[{\"name\":\"tenantId\",\"type\":\"string\",\"optional\":false}],\"returnType\":\"Promise<Fact[]>\",\"isStatic\":false,\"isPublic\":true},\"browseCatalog\":{\"name\":\"browseCatalog\",\"async\":true,\"parameters\":[{\"name\":\"query\",\"type\":\"any\",\"optional\":true,\"default\":\"\"},{\"name\":\"options\",\"type\":\"object\",\"optional\":true,\"memberTypes\":[\"string | null\",\"number\",\"boolean\"]}],\"returnType\":\"Promise<Fact[]>\",\"isStatic\":false,\"isPublic\":true},\"backfillCatalogSearch\":{\"name\":\"backfillCatalogSearch\",\"async\":true,\"parameters\":[{\"name\":\"batchSize\",\"type\":\"any\",\"optional\":true}],\"returnType\":\"Promise<object>\",\"isStatic\":false,\"isPublic\":true},\"getForContent\":{\"name\":\"getForContent\",\"async\":true,\"parameters\":[{\"name\":\"contentId\",\"type\":\"string\",\"optional\":false},{\"name\":\"options\",\"type\":\"object\",\"optional\":true,\"memberTypes\":[\"FactContentRelationship\",\"boolean\"]}],\"returnType\":\"Promise<Fact[]>\",\"isStatic\":false,\"isPublic\":true},\"reconcile\":{\"name\":\"reconcile\",\"async\":true,\"parameters\":[{\"name\":\"options\",\"type\":\"ReconcileOptions\",\"optional\":false}],\"returnType\":\"Promise<ReconcileResult>\",\"isStatic\":false,\"isPublic\":true},\"extractCandidatesFromText\":{\"name\":\"extractCandidatesFromText\",\"async\":true,\"parameters\":[{\"name\":\"text\",\"type\":\"string\",\"optional\":false},{\"name\":\"options\",\"type\":\"FactExtractionOptions\",\"optional\":true}],\"returnType\":\"Promise<FactExtractionCandidate[]>\",\"isStatic\":false,\"isPublic\":true},\"extractArticleClaims\":{\"name\":\"extractArticleClaims\",\"async\":true,\"parameters\":[{\"name\":\"text\",\"type\":\"string\",\"optional\":false},{\"name\":\"options\",\"type\":\"FactExtractionOptions\",\"optional\":true}],\"returnType\":\"Promise<FactExtractionCandidate[]>\",\"isStatic\":false,\"isPublic\":true},\"assessClaimSupport\":{\"name\":\"assessClaimSupport\",\"async\":true,\"parameters\":[{\"name\":\"claim\",\"type\":\"string\",\"optional\":false},{\"name\":\"candidateFacts\",\"type\":\"FactClaimSupportCandidate[]\",\"optional\":false},{\"name\":\"options\",\"type\":\"FactClaimSupportOptions\",\"optional\":true}],\"returnType\":\"Promise<FactClaimSupportAssessment>\",\"isStatic\":false,\"isPublic\":true},\"branch\":{\"name\":\"branch\",\"async\":true,\"parameters\":[{\"name\":\"previousFactId\",\"type\":\"string\",\"optional\":false},{\"name\":\"data\",\"type\":\"Partial<FactOptions>\",\"optional\":false},{\"name\":\"evolutionType\",\"type\":\"EvolutionType\",\"optional\":true,\"default\":\"extension\"}],\"returnType\":\"Promise<Fact>\",\"isStatic\":false,\"isPublic\":true},\"getEvolutionChain\":{\"name\":\"getEvolutionChain\",\"async\":true,\"parameters\":[{\"name\":\"factId\",\"type\":\"string\",\"optional\":false}],\"returnType\":\"Promise<Fact[]>\",\"isStatic\":false,\"isPublic\":true},\"getLatestInChain\":{\"name\":\"getLatestInChain\",\"async\":true,\"parameters\":[{\"name\":\"factId\",\"type\":\"string\",\"optional\":false}],\"returnType\":\"Promise<Fact>\",\"isStatic\":false,\"isPublic\":true},\"getEvolutionTree\":{\"name\":\"getEvolutionTree\",\"async\":true,\"parameters\":[{\"name\":\"factId\",\"type\":\"string\",\"optional\":false}],\"returnType\":\"Promise<Fact[]>\",\"isStatic\":false,\"isPublic\":true},\"recalculateConfidence\":{\"name\":\"recalculateConfidence\",\"async\":true,\"parameters\":[{\"name\":\"factId\",\"type\":\"string\",\"optional\":false}],\"returnType\":\"Promise<number>\",\"isStatic\":false,\"isPublic\":true},\"getEntityBriefing\":{\"name\":\"getEntityBriefing\",\"async\":true,\"parameters\":[{\"name\":\"entityType\",\"type\":\"string\",\"optional\":false},{\"name\":\"entityId\",\"type\":\"string\",\"optional\":false}],\"returnType\":\"Promise<EntityBriefing>\",\"isStatic\":false,\"isPublic\":true}},\"decoratorConfig\":{},\"extends\":\"SmrtCollection\",\"extendsTypeArg\":\"Fact\",\"exportName\":\"FactCollection\",\"collectionExportName\":\"FactCollectionCollection\",\"schema\":{\"tableName\":\"facts\",\"ddl\":\"CREATE TABLE IF NOT EXISTS \\\"facts\\\" (\\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 \\\"text_refined\\\" TEXT DEFAULT '',\\n \\\"text_raw\\\" TEXT DEFAULT '',\\n \\\"catalog_search\\\" TEXT,\\n \\\"type\\\" TEXT DEFAULT 'assertion',\\n \\\"status\\\" TEXT DEFAULT 'pending',\\n \\\"domain\\\" TEXT DEFAULT '',\\n \\\"previous_fact_id\\\" UUID,\\n \\\"evolution_type\\\" TEXT DEFAULT 'original',\\n \\\"source_count\\\" INTEGER DEFAULT 0,\\n \\\"confidence\\\" REAL DEFAULT 0,\\n \\\"metadata\\\" TEXT DEFAULT '',\\n \\\"tenant_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\"},\"text_refined\":{\"type\":\"TEXT\",\"notNull\":false,\"default\":\"\"},\"text_raw\":{\"type\":\"TEXT\",\"notNull\":false,\"default\":\"\"},\"catalog_search\":{\"type\":\"TEXT\",\"notNull\":false},\"type\":{\"type\":\"TEXT\",\"notNull\":false,\"default\":\"assertion\"},\"status\":{\"type\":\"TEXT\",\"notNull\":false,\"default\":\"pending\"},\"domain\":{\"type\":\"TEXT\",\"notNull\":false,\"default\":\"\"},\"previous_fact_id\":{\"type\":\"UUID\",\"referenceKind\":\"foreignKey\",\"notNull\":false,\"foreignKey\":{\"table\":\"facts\",\"column\":\"id\",\"onDelete\":\"NO ACTION\",\"onUpdate\":\"CASCADE\"}},\"evolution_type\":{\"type\":\"TEXT\",\"notNull\":false,\"default\":\"original\"},\"source_count\":{\"type\":\"INTEGER\",\"notNull\":false,\"default\":0},\"confidence\":{\"type\":\"REAL\",\"notNull\":false,\"default\":0},\"metadata\":{\"type\":\"TEXT\",\"notNull\":false,\"default\":\"\"},\"tenant_id\":{\"type\":\"UUID\",\"referenceKind\":\"tenantId\",\"notNull\":false}},\"indexes\":[{\"name\":\"facts_slug_context_meta_type_idx\",\"columns\":[\"tenant_id\",\"slug\",\"context\",\"_meta_type\"],\"unique\":true,\"nullsNotDistinct\":true},{\"name\":\"facts_meta_type_idx\",\"columns\":[\"_meta_type\"]},{\"name\":\"facts_tenant_id_created_at_idx\",\"columns\":[\"tenant_id\",\"created_at\"]},{\"name\":\"facts_previous_fact_id_idx\",\"columns\":[\"previous_fact_id\"]}],\"version\":\"a0a442b8\"},\"importPath\":\"@happyvertical/smrt-facts\"}},\"moduleType\":\"smrt\",\"smrtDependencies\":[\"@happyvertical/smrt-core\",\"@happyvertical/smrt-prompts\",\"@happyvertical/smrt-tenancy\"]}"));
|
|
8
|
+
ObjectRegistry.registerPackageManifest(JSON.parse("{\"version\":\"1.0.0\",\"timestamp\":0,\"packageName\":\"@happyvertical/smrt-facts\",\"packageVersion\":\"0.54.1\",\"objects\":{\"@happyvertical/smrt-facts:FactContent\":{\"name\":\"factcontent\",\"className\":\"FactContent\",\"qualifiedName\":\"@happyvertical/smrt-facts:FactContent\",\"collection\":\"factcontents\",\"filePath\":\"/home/runner/work/smrt/smrt/packages/facts/src/fact-content.ts\",\"packageName\":\"@happyvertical/smrt-facts\",\"fields\":{\"factId\":{\"type\":\"foreignKey\",\"required\":true,\"related\":\"Fact\",\"_meta\":{\"required\":true}},\"contentId\":{\"type\":\"crossPackageRef\",\"required\":true,\"related\":\"@happyvertical/smrt-content:Content\"},\"relationship\":{\"type\":\"text\",\"required\":true,\"default\":\"extracted_from\",\"_meta\":{\"required\":true}},\"metadata\":{\"type\":\"text\",\"required\":false,\"default\":\"\"},\"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}}},\"createdAt\":{\"type\":\"datetime\",\"required\":false},\"updatedAt\":{\"type\":\"datetime\",\"required\":false}},\"methods\":{\"getRelationship\":{\"name\":\"getRelationship\",\"async\":false,\"parameters\":[],\"returnType\":\"FactContentRelationship\",\"isStatic\":false,\"isPublic\":true},\"getMetadata\":{\"name\":\"getMetadata\",\"async\":false,\"parameters\":[],\"returnType\":\"Record<string, unknown>\",\"isStatic\":false,\"isPublic\":true},\"setMetadata\":{\"name\":\"setMetadata\",\"async\":false,\"parameters\":[{\"name\":\"data\",\"type\":\"Record<string, unknown>\",\"optional\":false}],\"returnType\":\"void\",\"isStatic\":false,\"isPublic\":true},\"updateMetadata\":{\"name\":\"updateMetadata\",\"async\":false,\"parameters\":[{\"name\":\"updates\",\"type\":\"Record<string, unknown>\",\"optional\":false}],\"returnType\":\"void\",\"isStatic\":false,\"isPublic\":true},\"getFact\":{\"name\":\"getFact\",\"async\":true,\"parameters\":[],\"returnType\":\"any\",\"isStatic\":false,\"isPublic\":true}},\"decoratorConfig\":{\"conflictColumns\":[\"fact_id\",\"content_id\",\"relationship\"],\"api\":{\"include\":[\"list\",\"get\",\"create\",\"delete\"]},\"mcp\":{\"include\":[\"list\",\"get\",\"create\"]},\"cli\":{\"skipApiCheck\":true},\"tenantScoped\":{\"mode\":\"optional\"}},\"extends\":\"SmrtObject\",\"exportName\":\"FactContent\",\"collectionExportName\":\"FactContentCollection\",\"validationRules\":[{\"field\":\"factId\",\"rule\":\"required\",\"fieldType\":\"foreignKey\"},{\"field\":\"contentId\",\"rule\":\"required\",\"fieldType\":\"crossPackageRef\"},{\"field\":\"relationship\",\"rule\":\"required\",\"fieldType\":\"text\"}],\"schema\":{\"tableName\":\"fact_contents\",\"ddl\":\"CREATE TABLE IF NOT EXISTS \\\"fact_contents\\\" (\\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 \\\"fact_id\\\" UUID NOT NULL,\\n \\\"content_id\\\" UUID NOT NULL,\\n \\\"relationship\\\" TEXT NOT NULL DEFAULT 'extracted_from',\\n \\\"metadata\\\" TEXT DEFAULT '',\\n \\\"tenant_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\"},\"fact_id\":{\"type\":\"UUID\",\"referenceKind\":\"foreignKey\",\"notNull\":true,\"unique\":false,\"foreignKey\":{\"table\":\"facts\",\"column\":\"id\",\"onDelete\":\"CASCADE\",\"onUpdate\":\"CASCADE\"}},\"content_id\":{\"type\":\"UUID\",\"referenceKind\":\"crossPackageRef\",\"notNull\":true,\"unique\":false},\"relationship\":{\"type\":\"TEXT\",\"notNull\":true,\"unique\":false,\"default\":\"extracted_from\"},\"metadata\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"\"},\"tenant_id\":{\"type\":\"UUID\",\"referenceKind\":\"tenantId\",\"notNull\":false,\"unique\":false}},\"indexes\":[{\"name\":\"fact_contents_fact_id_content_id_idx\",\"columns\":[\"fact_id\",\"content_id\",\"relationship\"],\"unique\":true},{\"name\":\"fact_contents_slug_context_idx\",\"columns\":[\"slug\",\"context\"]},{\"name\":\"fact_contents_tenant_id_created_at_idx\",\"columns\":[\"tenant_id\",\"created_at\"]},{\"name\":\"fact_contents_content_id_idx\",\"columns\":[\"content_id\"]}],\"version\":\"62831c36\"},\"importPath\":\"@happyvertical/smrt-facts\"},\"@happyvertical/smrt-facts:FactContentCollection\":{\"name\":\"factcontentcollection\",\"className\":\"FactContentCollection\",\"qualifiedName\":\"@happyvertical/smrt-facts:FactContentCollection\",\"collection\":\"factcontents\",\"filePath\":\"/home/runner/work/smrt/smrt/packages/facts/src/fact-contents.ts\",\"packageName\":\"@happyvertical/smrt-facts\",\"fields\":{},\"methods\":{\"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},\"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},\"attach\":{\"name\":\"attach\",\"async\":true,\"parameters\":[{\"name\":\"leftId\",\"type\":\"string\",\"optional\":false},{\"name\":\"rightId\",\"type\":\"string\",\"optional\":false},{\"name\":\"opts\",\"type\":\"JunctionAttachOptions\",\"optional\":true}],\"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}],\"returnType\":\"Promise<void>\",\"isStatic\":false,\"isPublic\":true},\"findByTenant\":{\"name\":\"findByTenant\",\"async\":true,\"parameters\":[{\"name\":\"tenantId\",\"type\":\"string\",\"optional\":false}],\"returnType\":\"Promise<FactContent[]>\",\"isStatic\":false,\"isPublic\":true},\"findGlobal\":{\"name\":\"findGlobal\",\"async\":true,\"parameters\":[],\"returnType\":\"Promise<FactContent[]>\",\"isStatic\":false,\"isPublic\":true},\"findWithGlobals\":{\"name\":\"findWithGlobals\",\"async\":true,\"parameters\":[{\"name\":\"tenantId\",\"type\":\"string\",\"optional\":false}],\"returnType\":\"Promise<FactContent[]>\",\"isStatic\":false,\"isPublic\":true}},\"decoratorConfig\":{},\"extends\":\"SmrtJunction\",\"extendsTypeArg\":\"FactContent\",\"exportName\":\"FactContentCollection\",\"collectionExportName\":\"FactContentCollectionCollection\",\"schema\":{\"tableName\":\"fact_contents\",\"ddl\":\"CREATE TABLE IF NOT EXISTS \\\"fact_contents\\\" (\\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 \\\"fact_id\\\" UUID NOT NULL,\\n \\\"content_id\\\" UUID NOT NULL,\\n \\\"relationship\\\" TEXT NOT NULL DEFAULT 'extracted_from',\\n \\\"metadata\\\" TEXT DEFAULT '',\\n \\\"tenant_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\"},\"fact_id\":{\"type\":\"UUID\",\"referenceKind\":\"foreignKey\",\"notNull\":true,\"unique\":false,\"foreignKey\":{\"table\":\"facts\",\"column\":\"id\",\"onDelete\":\"CASCADE\",\"onUpdate\":\"CASCADE\"}},\"content_id\":{\"type\":\"UUID\",\"referenceKind\":\"crossPackageRef\",\"notNull\":true,\"unique\":false},\"relationship\":{\"type\":\"TEXT\",\"notNull\":true,\"unique\":false,\"default\":\"extracted_from\"},\"metadata\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"\"},\"tenant_id\":{\"type\":\"UUID\",\"referenceKind\":\"tenantId\",\"notNull\":false,\"unique\":false}},\"indexes\":[{\"name\":\"fact_contents_fact_id_content_id_idx\",\"columns\":[\"fact_id\",\"content_id\",\"relationship\"],\"unique\":true},{\"name\":\"fact_contents_slug_context_idx\",\"columns\":[\"slug\",\"context\"]},{\"name\":\"fact_contents_tenant_id_created_at_idx\",\"columns\":[\"tenant_id\",\"created_at\"]},{\"name\":\"fact_contents_content_id_idx\",\"columns\":[\"content_id\"]}],\"version\":\"62831c36\"},\"importPath\":\"@happyvertical/smrt-facts\"},\"@happyvertical/smrt-facts:FactEvidence\":{\"name\":\"factevidence\",\"className\":\"FactEvidence\",\"qualifiedName\":\"@happyvertical/smrt-facts:FactEvidence\",\"collection\":\"factevidences\",\"filePath\":\"/home/runner/work/smrt/smrt/packages/facts/src/fact-evidence.ts\",\"packageName\":\"@happyvertical/smrt-facts\",\"fields\":{\"factId\":{\"type\":\"foreignKey\",\"required\":true,\"related\":\"Fact\",\"_meta\":{\"required\":true}},\"evidenceKey\":{\"type\":\"text\",\"required\":true,\"default\":\"\",\"_meta\":{\"required\":true}},\"status\":{\"type\":\"text\",\"required\":true,\"default\":\"supports\",\"_meta\":{\"required\":true,\"default\":\"supports\"}},\"sourceKind\":{\"type\":\"text\",\"required\":false,\"default\":\"\"},\"sourceId\":{\"type\":\"text\",\"required\":false,\"default\":\"\"},\"sourceUrl\":{\"type\":\"text\",\"required\":false,\"default\":\"\"},\"sourceTitle\":{\"type\":\"text\",\"required\":false,\"default\":\"\"},\"quote\":{\"type\":\"text\",\"required\":false,\"default\":\"\"},\"locator\":{\"type\":\"text\",\"required\":false,\"default\":\"\"},\"extractionMethod\":{\"type\":\"text\",\"required\":false,\"default\":\"\"},\"confidence\":{\"type\":\"decimal\",\"required\":false,\"default\":0},\"metadata\":{\"type\":\"text\",\"required\":false,\"default\":\"\"},\"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}}},\"createdAt\":{\"type\":\"datetime\",\"required\":false},\"updatedAt\":{\"type\":\"datetime\",\"required\":false}},\"methods\":{\"getMetadata\":{\"name\":\"getMetadata\",\"async\":false,\"parameters\":[],\"returnType\":\"Record<string, unknown>\",\"isStatic\":false,\"isPublic\":true},\"setMetadata\":{\"name\":\"setMetadata\",\"async\":false,\"parameters\":[{\"name\":\"data\",\"type\":\"Record<string, unknown>\",\"optional\":false}],\"returnType\":\"void\",\"isStatic\":false,\"isPublic\":true},\"updateMetadata\":{\"name\":\"updateMetadata\",\"async\":false,\"parameters\":[{\"name\":\"updates\",\"type\":\"Record<string, unknown>\",\"optional\":false}],\"returnType\":\"void\",\"isStatic\":false,\"isPublic\":true}},\"decoratorConfig\":{\"tableName\":\"fact_evidences\",\"conflictColumns\":[\"fact_id\",\"evidence_key\"],\"api\":{\"include\":[\"list\",\"get\",\"create\",\"delete\"]},\"mcp\":{\"include\":[\"list\",\"get\",\"create\"]},\"cli\":{\"skipApiCheck\":true},\"tenantScoped\":{\"mode\":\"optional\"}},\"extends\":\"SmrtObject\",\"exportName\":\"FactEvidence\",\"collectionExportName\":\"FactEvidenceCollection\",\"validationRules\":[{\"field\":\"factId\",\"rule\":\"required\",\"fieldType\":\"foreignKey\"},{\"field\":\"evidenceKey\",\"rule\":\"required\",\"fieldType\":\"text\"},{\"field\":\"status\",\"rule\":\"required\",\"fieldType\":\"text\"}],\"schema\":{\"tableName\":\"fact_evidences\",\"ddl\":\"CREATE TABLE IF NOT EXISTS \\\"fact_evidences\\\" (\\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 \\\"fact_id\\\" UUID NOT NULL,\\n \\\"evidence_key\\\" TEXT NOT NULL DEFAULT '',\\n \\\"status\\\" TEXT NOT NULL DEFAULT 'supports',\\n \\\"source_kind\\\" TEXT DEFAULT '',\\n \\\"source_id\\\" TEXT DEFAULT '',\\n \\\"source_url\\\" TEXT DEFAULT '',\\n \\\"source_title\\\" TEXT DEFAULT '',\\n \\\"quote\\\" TEXT DEFAULT '',\\n \\\"locator\\\" TEXT DEFAULT '',\\n \\\"extraction_method\\\" TEXT DEFAULT '',\\n \\\"confidence\\\" REAL DEFAULT 0,\\n \\\"metadata\\\" TEXT DEFAULT '',\\n \\\"tenant_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\"},\"fact_id\":{\"type\":\"UUID\",\"referenceKind\":\"foreignKey\",\"notNull\":true,\"unique\":false,\"foreignKey\":{\"table\":\"facts\",\"column\":\"id\",\"onDelete\":\"CASCADE\",\"onUpdate\":\"CASCADE\"}},\"evidence_key\":{\"type\":\"TEXT\",\"notNull\":true,\"unique\":false,\"default\":\"\"},\"status\":{\"type\":\"TEXT\",\"notNull\":true,\"unique\":false,\"default\":\"supports\"},\"source_kind\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"\"},\"source_id\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"\"},\"source_url\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"\"},\"source_title\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"\"},\"quote\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"\"},\"locator\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"\"},\"extraction_method\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"\"},\"confidence\":{\"type\":\"REAL\",\"notNull\":false,\"unique\":false,\"default\":0},\"metadata\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"\"},\"tenant_id\":{\"type\":\"UUID\",\"referenceKind\":\"tenantId\",\"notNull\":false,\"unique\":false}},\"indexes\":[{\"name\":\"fact_evidences_fact_id_evidence_key_idx\",\"columns\":[\"fact_id\",\"evidence_key\"],\"unique\":true},{\"name\":\"fact_evidences_slug_context_idx\",\"columns\":[\"slug\",\"context\"]},{\"name\":\"fact_evidences_tenant_id_created_at_idx\",\"columns\":[\"tenant_id\",\"created_at\"]}],\"version\":\"7f1e96c4\"},\"importPath\":\"@happyvertical/smrt-facts\"},\"@happyvertical/smrt-facts:FactEvidenceCollection\":{\"name\":\"factevidencecollection\",\"className\":\"FactEvidenceCollection\",\"qualifiedName\":\"@happyvertical/smrt-facts:FactEvidenceCollection\",\"collection\":\"factevidences\",\"filePath\":\"/home/runner/work/smrt/smrt/packages/facts/src/fact-evidences.ts\",\"packageName\":\"@happyvertical/smrt-facts\",\"fields\":{},\"methods\":{\"getForFact\":{\"name\":\"getForFact\",\"async\":true,\"parameters\":[{\"name\":\"factId\",\"type\":\"string\",\"optional\":false}],\"returnType\":\"Promise<FactEvidence[]>\",\"isStatic\":false,\"isPublic\":true},\"getForSource\":{\"name\":\"getForSource\",\"async\":true,\"parameters\":[{\"name\":\"sourceKind\",\"type\":\"string\",\"optional\":false},{\"name\":\"sourceId\",\"type\":\"string\",\"optional\":false}],\"returnType\":\"Promise<FactEvidence[]>\",\"isStatic\":false,\"isPublic\":true},\"getForSources\":{\"name\":\"getForSources\",\"async\":true,\"parameters\":[{\"name\":\"sources\",\"type\":\"Array<object>\",\"optional\":false,\"memberTypes\":[\"string\"]}],\"returnType\":\"Promise<FactEvidence[]>\",\"isStatic\":false,\"isPublic\":true},\"bulkUpdateStatus\":{\"name\":\"bulkUpdateStatus\",\"async\":true,\"parameters\":[{\"name\":\"evidenceIds\",\"type\":\"string[]\",\"optional\":false},{\"name\":\"status\",\"type\":\"FactEvidenceStatus\",\"optional\":false},{\"name\":\"options\",\"type\":\"object\",\"optional\":true,\"memberTypes\":[\"string\",\"string | null\"]}],\"returnType\":\"Promise<FactEvidence[]>\",\"isStatic\":false,\"isPublic\":true},\"replaceGeneratedForSources\":{\"name\":\"replaceGeneratedForSources\",\"async\":true,\"parameters\":[{\"name\":\"sources\",\"type\":\"Array<object>\",\"optional\":false,\"memberTypes\":[\"string\"]},{\"name\":\"options\",\"type\":\"object\",\"optional\":true,\"memberTypes\":[\"string\",\"string | null\"]}],\"returnType\":\"Promise<object>\",\"isStatic\":false,\"isPublic\":true},\"upsertEvidence\":{\"name\":\"upsertEvidence\",\"async\":true,\"parameters\":[{\"name\":\"options\",\"type\":\"FactEvidenceOptions\",\"optional\":false}],\"returnType\":\"Promise<FactEvidence>\",\"isStatic\":false,\"isPublic\":true}},\"decoratorConfig\":{\"tableName\":\"fact_evidences\"},\"extends\":\"SmrtCollection\",\"extendsTypeArg\":\"FactEvidence\",\"exportName\":\"FactEvidenceCollection\",\"collectionExportName\":\"FactEvidenceCollectionCollection\",\"schema\":{\"tableName\":\"fact_evidences\",\"ddl\":\"CREATE TABLE IF NOT EXISTS \\\"fact_evidences\\\" (\\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 \\\"fact_id\\\" UUID NOT NULL,\\n \\\"evidence_key\\\" TEXT NOT NULL DEFAULT '',\\n \\\"status\\\" TEXT NOT NULL DEFAULT 'supports',\\n \\\"source_kind\\\" TEXT DEFAULT '',\\n \\\"source_id\\\" TEXT DEFAULT '',\\n \\\"source_url\\\" TEXT DEFAULT '',\\n \\\"source_title\\\" TEXT DEFAULT '',\\n \\\"quote\\\" TEXT DEFAULT '',\\n \\\"locator\\\" TEXT DEFAULT '',\\n \\\"extraction_method\\\" TEXT DEFAULT '',\\n \\\"confidence\\\" REAL DEFAULT 0,\\n \\\"metadata\\\" TEXT DEFAULT '',\\n \\\"tenant_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\"},\"fact_id\":{\"type\":\"UUID\",\"referenceKind\":\"foreignKey\",\"notNull\":true,\"unique\":false,\"foreignKey\":{\"table\":\"facts\",\"column\":\"id\",\"onDelete\":\"CASCADE\",\"onUpdate\":\"CASCADE\"}},\"evidence_key\":{\"type\":\"TEXT\",\"notNull\":true,\"unique\":false,\"default\":\"\"},\"status\":{\"type\":\"TEXT\",\"notNull\":true,\"unique\":false,\"default\":\"supports\"},\"source_kind\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"\"},\"source_id\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"\"},\"source_url\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"\"},\"source_title\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"\"},\"quote\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"\"},\"locator\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"\"},\"extraction_method\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"\"},\"confidence\":{\"type\":\"REAL\",\"notNull\":false,\"unique\":false,\"default\":0},\"metadata\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"\"},\"tenant_id\":{\"type\":\"UUID\",\"referenceKind\":\"tenantId\",\"notNull\":false,\"unique\":false}},\"indexes\":[{\"name\":\"fact_evidences_fact_id_evidence_key_idx\",\"columns\":[\"fact_id\",\"evidence_key\"],\"unique\":true},{\"name\":\"fact_evidences_slug_context_idx\",\"columns\":[\"slug\",\"context\"]},{\"name\":\"fact_evidences_tenant_id_created_at_idx\",\"columns\":[\"tenant_id\",\"created_at\"]}],\"version\":\"7f1e96c4\"},\"importPath\":\"@happyvertical/smrt-facts\"},\"@happyvertical/smrt-facts:FactSource\":{\"name\":\"factsource\",\"className\":\"FactSource\",\"qualifiedName\":\"@happyvertical/smrt-facts:FactSource\",\"collection\":\"factsources\",\"filePath\":\"/home/runner/work/smrt/smrt/packages/facts/src/fact-source.ts\",\"packageName\":\"@happyvertical/smrt-facts\",\"fields\":{\"created_at\":{\"type\":\"datetime\",\"required\":false},\"updated_at\":{\"type\":\"datetime\",\"required\":false},\"factId\":{\"type\":\"foreignKey\",\"required\":true,\"related\":\"Fact\",\"_meta\":{\"required\":true}},\"sourceType\":{\"type\":\"text\",\"required\":false,\"default\":\"\"},\"sourceUrl\":{\"type\":\"text\",\"required\":false,\"default\":\"\"},\"sourceTitle\":{\"type\":\"text\",\"required\":false,\"default\":\"\"},\"credibility\":{\"type\":\"decimal\",\"required\":false,\"default\":0},\"extractedAt\":{\"type\":\"datetime\",\"required\":false},\"metadata\":{\"type\":\"text\",\"required\":false,\"default\":\"\"},\"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}}},\"createdAt\":{\"type\":\"datetime\",\"required\":false},\"updatedAt\":{\"type\":\"datetime\",\"required\":false}},\"methods\":{\"getMetadata\":{\"name\":\"getMetadata\",\"async\":false,\"parameters\":[],\"returnType\":\"Record<string, unknown>\",\"isStatic\":false,\"isPublic\":true},\"setMetadata\":{\"name\":\"setMetadata\",\"async\":false,\"parameters\":[{\"name\":\"data\",\"type\":\"Record<string, unknown>\",\"optional\":false}],\"returnType\":\"void\",\"isStatic\":false,\"isPublic\":true},\"updateMetadata\":{\"name\":\"updateMetadata\",\"async\":false,\"parameters\":[{\"name\":\"updates\",\"type\":\"Record<string, unknown>\",\"optional\":false}],\"returnType\":\"void\",\"isStatic\":false,\"isPublic\":true},\"getFact\":{\"name\":\"getFact\",\"async\":true,\"parameters\":[],\"returnType\":\"any\",\"isStatic\":false,\"isPublic\":true}},\"decoratorConfig\":{\"tableStrategy\":\"sti\",\"api\":{\"include\":[\"list\",\"get\",\"create\",\"delete\"]},\"mcp\":{\"include\":[\"list\",\"get\",\"create\"]},\"cli\":{\"skipApiCheck\":true},\"tenantScoped\":{\"mode\":\"optional\"},\"conflictColumns\":[\"tenant_id\",\"slug\",\"context\",\"_meta_type\"]},\"extends\":\"SmrtObject\",\"exportName\":\"FactSource\",\"collectionExportName\":\"FactSourceCollection\",\"validationRules\":[{\"field\":\"factId\",\"rule\":\"required\",\"fieldType\":\"foreignKey\"}],\"schema\":{\"tableName\":\"fact_sources\",\"ddl\":\"CREATE TABLE IF NOT EXISTS \\\"fact_sources\\\" (\\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 \\\"fact_id\\\" UUID,\\n \\\"source_type\\\" TEXT DEFAULT '',\\n \\\"source_url\\\" TEXT DEFAULT '',\\n \\\"source_title\\\" TEXT DEFAULT '',\\n \\\"credibility\\\" REAL DEFAULT 0,\\n \\\"extracted_at\\\" TIMESTAMP,\\n \\\"metadata\\\" TEXT DEFAULT '',\\n \\\"tenant_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\"},\"fact_id\":{\"type\":\"UUID\",\"referenceKind\":\"foreignKey\",\"notNull\":false,\"foreignKey\":{\"table\":\"facts\",\"column\":\"id\",\"onDelete\":\"NO ACTION\",\"onUpdate\":\"CASCADE\"}},\"source_type\":{\"type\":\"TEXT\",\"notNull\":false,\"default\":\"\"},\"source_url\":{\"type\":\"TEXT\",\"notNull\":false,\"default\":\"\"},\"source_title\":{\"type\":\"TEXT\",\"notNull\":false,\"default\":\"\"},\"credibility\":{\"type\":\"REAL\",\"notNull\":false,\"default\":0},\"extracted_at\":{\"type\":\"TIMESTAMP\",\"notNull\":false},\"metadata\":{\"type\":\"TEXT\",\"notNull\":false,\"default\":\"\"},\"tenant_id\":{\"type\":\"UUID\",\"referenceKind\":\"tenantId\",\"notNull\":false}},\"indexes\":[{\"name\":\"fact_sources_slug_context_meta_type_idx\",\"columns\":[\"tenant_id\",\"slug\",\"context\",\"_meta_type\"],\"unique\":true,\"nullsNotDistinct\":true},{\"name\":\"fact_sources_meta_type_idx\",\"columns\":[\"_meta_type\"]},{\"name\":\"fact_sources_tenant_id_created_at_idx\",\"columns\":[\"tenant_id\",\"created_at\"]},{\"name\":\"fact_sources_fact_id_idx\",\"columns\":[\"fact_id\"]}],\"version\":\"9d0f874e\"},\"importPath\":\"@happyvertical/smrt-facts\"},\"@happyvertical/smrt-facts:FactSourceCollection\":{\"name\":\"factsourcecollection\",\"className\":\"FactSourceCollection\",\"qualifiedName\":\"@happyvertical/smrt-facts:FactSourceCollection\",\"collection\":\"factsources\",\"filePath\":\"/home/runner/work/smrt/smrt/packages/facts/src/fact-sources.ts\",\"packageName\":\"@happyvertical/smrt-facts\",\"fields\":{},\"methods\":{\"getForFact\":{\"name\":\"getForFact\",\"async\":true,\"parameters\":[{\"name\":\"factId\",\"type\":\"string\",\"optional\":false}],\"returnType\":\"Promise<FactSource[]>\",\"isStatic\":false,\"isPublic\":true},\"countForFact\":{\"name\":\"countForFact\",\"async\":true,\"parameters\":[{\"name\":\"factId\",\"type\":\"string\",\"optional\":false}],\"returnType\":\"Promise<number>\",\"isStatic\":false,\"isPublic\":true},\"getByType\":{\"name\":\"getByType\",\"async\":true,\"parameters\":[{\"name\":\"sourceType\",\"type\":\"string\",\"optional\":false}],\"returnType\":\"Promise<FactSource[]>\",\"isStatic\":false,\"isPublic\":true},\"getHighCredibility\":{\"name\":\"getHighCredibility\",\"async\":true,\"parameters\":[{\"name\":\"minCredibility\",\"type\":\"number\",\"optional\":true}],\"returnType\":\"Promise<FactSource[]>\",\"isStatic\":false,\"isPublic\":true},\"getAverageCredibility\":{\"name\":\"getAverageCredibility\",\"async\":true,\"parameters\":[{\"name\":\"factId\",\"type\":\"string\",\"optional\":false}],\"returnType\":\"Promise<number>\",\"isStatic\":false,\"isPublic\":true},\"findByTenant\":{\"name\":\"findByTenant\",\"async\":true,\"parameters\":[{\"name\":\"tenantId\",\"type\":\"string\",\"optional\":false}],\"returnType\":\"Promise<FactSource[]>\",\"isStatic\":false,\"isPublic\":true},\"findGlobal\":{\"name\":\"findGlobal\",\"async\":true,\"parameters\":[],\"returnType\":\"Promise<FactSource[]>\",\"isStatic\":false,\"isPublic\":true},\"findWithGlobals\":{\"name\":\"findWithGlobals\",\"async\":true,\"parameters\":[{\"name\":\"tenantId\",\"type\":\"string\",\"optional\":false}],\"returnType\":\"Promise<FactSource[]>\",\"isStatic\":false,\"isPublic\":true}},\"decoratorConfig\":{},\"extends\":\"SmrtCollection\",\"extendsTypeArg\":\"FactSource\",\"exportName\":\"FactSourceCollection\",\"collectionExportName\":\"FactSourceCollectionCollection\",\"schema\":{\"tableName\":\"fact_sources\",\"ddl\":\"CREATE TABLE IF NOT EXISTS \\\"fact_sources\\\" (\\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 \\\"fact_id\\\" UUID,\\n \\\"source_type\\\" TEXT DEFAULT '',\\n \\\"source_url\\\" TEXT DEFAULT '',\\n \\\"source_title\\\" TEXT DEFAULT '',\\n \\\"credibility\\\" REAL DEFAULT 0,\\n \\\"extracted_at\\\" TIMESTAMP,\\n \\\"metadata\\\" TEXT DEFAULT '',\\n \\\"tenant_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\"},\"fact_id\":{\"type\":\"UUID\",\"referenceKind\":\"foreignKey\",\"notNull\":false,\"foreignKey\":{\"table\":\"facts\",\"column\":\"id\",\"onDelete\":\"NO ACTION\",\"onUpdate\":\"CASCADE\"}},\"source_type\":{\"type\":\"TEXT\",\"notNull\":false,\"default\":\"\"},\"source_url\":{\"type\":\"TEXT\",\"notNull\":false,\"default\":\"\"},\"source_title\":{\"type\":\"TEXT\",\"notNull\":false,\"default\":\"\"},\"credibility\":{\"type\":\"REAL\",\"notNull\":false,\"default\":0},\"extracted_at\":{\"type\":\"TIMESTAMP\",\"notNull\":false},\"metadata\":{\"type\":\"TEXT\",\"notNull\":false,\"default\":\"\"},\"tenant_id\":{\"type\":\"UUID\",\"referenceKind\":\"tenantId\",\"notNull\":false}},\"indexes\":[{\"name\":\"fact_sources_slug_context_meta_type_idx\",\"columns\":[\"tenant_id\",\"slug\",\"context\",\"_meta_type\"],\"unique\":true,\"nullsNotDistinct\":true},{\"name\":\"fact_sources_meta_type_idx\",\"columns\":[\"_meta_type\"]},{\"name\":\"fact_sources_tenant_id_created_at_idx\",\"columns\":[\"tenant_id\",\"created_at\"]},{\"name\":\"fact_sources_fact_id_idx\",\"columns\":[\"fact_id\"]}],\"version\":\"9d0f874e\"},\"importPath\":\"@happyvertical/smrt-facts\"},\"@happyvertical/smrt-facts:FactSubject\":{\"name\":\"factsubject\",\"className\":\"FactSubject\",\"qualifiedName\":\"@happyvertical/smrt-facts:FactSubject\",\"collection\":\"factsubjects\",\"filePath\":\"/home/runner/work/smrt/smrt/packages/facts/src/fact-subject.ts\",\"packageName\":\"@happyvertical/smrt-facts\",\"fields\":{\"factId\":{\"type\":\"foreignKey\",\"required\":true,\"related\":\"Fact\",\"_meta\":{\"required\":true}},\"entityType\":{\"type\":\"text\",\"required\":true,\"default\":\"\",\"_meta\":{\"required\":true}},\"entityId\":{\"type\":\"text\",\"required\":true,\"default\":\"\",\"_meta\":{\"required\":true}},\"role\":{\"type\":\"text\",\"required\":false,\"default\":\"subject\"},\"metadata\":{\"type\":\"text\",\"required\":false,\"default\":\"\"},\"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}}},\"createdAt\":{\"type\":\"datetime\",\"required\":false},\"updatedAt\":{\"type\":\"datetime\",\"required\":false}},\"methods\":{\"getRole\":{\"name\":\"getRole\",\"async\":false,\"parameters\":[],\"returnType\":\"SubjectRole\",\"isStatic\":false,\"isPublic\":true},\"getMetadata\":{\"name\":\"getMetadata\",\"async\":false,\"parameters\":[],\"returnType\":\"Record<string, unknown>\",\"isStatic\":false,\"isPublic\":true},\"setMetadata\":{\"name\":\"setMetadata\",\"async\":false,\"parameters\":[{\"name\":\"data\",\"type\":\"Record<string, unknown>\",\"optional\":false}],\"returnType\":\"void\",\"isStatic\":false,\"isPublic\":true},\"updateMetadata\":{\"name\":\"updateMetadata\",\"async\":false,\"parameters\":[{\"name\":\"updates\",\"type\":\"Record<string, unknown>\",\"optional\":false}],\"returnType\":\"void\",\"isStatic\":false,\"isPublic\":true},\"getFact\":{\"name\":\"getFact\",\"async\":true,\"parameters\":[],\"returnType\":\"any\",\"isStatic\":false,\"isPublic\":true}},\"decoratorConfig\":{\"conflictColumns\":[\"fact_id\",\"entity_type\",\"entity_id\"],\"api\":{\"include\":[\"list\",\"get\",\"create\",\"delete\"]},\"mcp\":{\"include\":[\"list\",\"get\",\"create\"]},\"cli\":{\"skipApiCheck\":true},\"tenantScoped\":{\"mode\":\"optional\"}},\"extends\":\"SmrtObject\",\"exportName\":\"FactSubject\",\"collectionExportName\":\"FactSubjectCollection\",\"validationRules\":[{\"field\":\"factId\",\"rule\":\"required\",\"fieldType\":\"foreignKey\"},{\"field\":\"entityType\",\"rule\":\"required\",\"fieldType\":\"text\"},{\"field\":\"entityId\",\"rule\":\"required\",\"fieldType\":\"text\"}],\"schema\":{\"tableName\":\"fact_subjects\",\"ddl\":\"CREATE TABLE IF NOT EXISTS \\\"fact_subjects\\\" (\\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 \\\"fact_id\\\" UUID NOT NULL,\\n \\\"entity_type\\\" TEXT NOT NULL DEFAULT '',\\n \\\"entity_id\\\" TEXT NOT NULL DEFAULT '',\\n \\\"role\\\" TEXT DEFAULT 'subject',\\n \\\"metadata\\\" TEXT DEFAULT '',\\n \\\"tenant_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\"},\"fact_id\":{\"type\":\"UUID\",\"referenceKind\":\"foreignKey\",\"notNull\":true,\"unique\":false,\"foreignKey\":{\"table\":\"facts\",\"column\":\"id\",\"onDelete\":\"CASCADE\",\"onUpdate\":\"CASCADE\"}},\"entity_type\":{\"type\":\"TEXT\",\"notNull\":true,\"unique\":false,\"default\":\"\"},\"entity_id\":{\"type\":\"TEXT\",\"notNull\":true,\"unique\":false,\"default\":\"\"},\"role\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"subject\"},\"metadata\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"\"},\"tenant_id\":{\"type\":\"UUID\",\"referenceKind\":\"tenantId\",\"notNull\":false,\"unique\":false}},\"indexes\":[{\"name\":\"fact_subjects_fact_id_entity_type_idx\",\"columns\":[\"fact_id\",\"entity_type\",\"entity_id\"],\"unique\":true},{\"name\":\"fact_subjects_slug_context_idx\",\"columns\":[\"slug\",\"context\"]},{\"name\":\"fact_subjects_tenant_id_created_at_idx\",\"columns\":[\"tenant_id\",\"created_at\"]}],\"version\":\"cb6eca71\"},\"importPath\":\"@happyvertical/smrt-facts\"},\"@happyvertical/smrt-facts:FactSubjectCollection\":{\"name\":\"factsubjectcollection\",\"className\":\"FactSubjectCollection\",\"qualifiedName\":\"@happyvertical/smrt-facts:FactSubjectCollection\",\"collection\":\"factsubjects\",\"filePath\":\"/home/runner/work/smrt/smrt/packages/facts/src/fact-subjects.ts\",\"packageName\":\"@happyvertical/smrt-facts\",\"fields\":{},\"methods\":{\"getForFact\":{\"name\":\"getForFact\",\"async\":true,\"parameters\":[{\"name\":\"factId\",\"type\":\"string\",\"optional\":false}],\"returnType\":\"Promise<FactSubject[]>\",\"isStatic\":false,\"isPublic\":true},\"getForEntity\":{\"name\":\"getForEntity\",\"async\":true,\"parameters\":[{\"name\":\"entityType\",\"type\":\"string\",\"optional\":false},{\"name\":\"entityId\",\"type\":\"string\",\"optional\":false}],\"returnType\":\"Promise<FactSubject[]>\",\"isStatic\":false,\"isPublic\":true},\"linkEntity\":{\"name\":\"linkEntity\",\"async\":true,\"parameters\":[{\"name\":\"factId\",\"type\":\"string\",\"optional\":false},{\"name\":\"entityType\",\"type\":\"string\",\"optional\":false},{\"name\":\"entityId\",\"type\":\"string\",\"optional\":false},{\"name\":\"role\",\"type\":\"SubjectRole\",\"optional\":true,\"default\":\"subject\"}],\"returnType\":\"Promise<FactSubject>\",\"isStatic\":false,\"isPublic\":true},\"unlinkEntity\":{\"name\":\"unlinkEntity\",\"async\":true,\"parameters\":[{\"name\":\"factId\",\"type\":\"string\",\"optional\":false},{\"name\":\"entityType\",\"type\":\"string\",\"optional\":false},{\"name\":\"entityId\",\"type\":\"string\",\"optional\":false}],\"returnType\":\"Promise<void>\",\"isStatic\":false,\"isPublic\":true},\"getByRole\":{\"name\":\"getByRole\",\"async\":true,\"parameters\":[{\"name\":\"factId\",\"type\":\"string\",\"optional\":false},{\"name\":\"role\",\"type\":\"SubjectRole\",\"optional\":false}],\"returnType\":\"Promise<FactSubject[]>\",\"isStatic\":false,\"isPublic\":true},\"countForFact\":{\"name\":\"countForFact\",\"async\":true,\"parameters\":[{\"name\":\"factId\",\"type\":\"string\",\"optional\":false}],\"returnType\":\"Promise<number>\",\"isStatic\":false,\"isPublic\":true},\"findByTenant\":{\"name\":\"findByTenant\",\"async\":true,\"parameters\":[{\"name\":\"tenantId\",\"type\":\"string\",\"optional\":false}],\"returnType\":\"Promise<FactSubject[]>\",\"isStatic\":false,\"isPublic\":true},\"findGlobal\":{\"name\":\"findGlobal\",\"async\":true,\"parameters\":[],\"returnType\":\"Promise<FactSubject[]>\",\"isStatic\":false,\"isPublic\":true},\"findWithGlobals\":{\"name\":\"findWithGlobals\",\"async\":true,\"parameters\":[{\"name\":\"tenantId\",\"type\":\"string\",\"optional\":false}],\"returnType\":\"Promise<FactSubject[]>\",\"isStatic\":false,\"isPublic\":true}},\"decoratorConfig\":{},\"extends\":\"SmrtCollection\",\"extendsTypeArg\":\"FactSubject\",\"exportName\":\"FactSubjectCollection\",\"collectionExportName\":\"FactSubjectCollectionCollection\",\"schema\":{\"tableName\":\"fact_subjects\",\"ddl\":\"CREATE TABLE IF NOT EXISTS \\\"fact_subjects\\\" (\\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 \\\"fact_id\\\" UUID NOT NULL,\\n \\\"entity_type\\\" TEXT NOT NULL DEFAULT '',\\n \\\"entity_id\\\" TEXT NOT NULL DEFAULT '',\\n \\\"role\\\" TEXT DEFAULT 'subject',\\n \\\"metadata\\\" TEXT DEFAULT '',\\n \\\"tenant_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\"},\"fact_id\":{\"type\":\"UUID\",\"referenceKind\":\"foreignKey\",\"notNull\":true,\"unique\":false,\"foreignKey\":{\"table\":\"facts\",\"column\":\"id\",\"onDelete\":\"CASCADE\",\"onUpdate\":\"CASCADE\"}},\"entity_type\":{\"type\":\"TEXT\",\"notNull\":true,\"unique\":false,\"default\":\"\"},\"entity_id\":{\"type\":\"TEXT\",\"notNull\":true,\"unique\":false,\"default\":\"\"},\"role\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"subject\"},\"metadata\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"\"},\"tenant_id\":{\"type\":\"UUID\",\"referenceKind\":\"tenantId\",\"notNull\":false,\"unique\":false}},\"indexes\":[{\"name\":\"fact_subjects_fact_id_entity_type_idx\",\"columns\":[\"fact_id\",\"entity_type\",\"entity_id\"],\"unique\":true},{\"name\":\"fact_subjects_slug_context_idx\",\"columns\":[\"slug\",\"context\"]},{\"name\":\"fact_subjects_tenant_id_created_at_idx\",\"columns\":[\"tenant_id\",\"created_at\"]}],\"version\":\"cb6eca71\"},\"importPath\":\"@happyvertical/smrt-facts\"},\"@happyvertical/smrt-facts:FactTag\":{\"name\":\"facttag\",\"className\":\"FactTag\",\"qualifiedName\":\"@happyvertical/smrt-facts:FactTag\",\"collection\":\"facttags\",\"filePath\":\"/home/runner/work/smrt/smrt/packages/facts/src/fact-tag.ts\",\"packageName\":\"@happyvertical/smrt-facts\",\"fields\":{\"factId\":{\"type\":\"foreignKey\",\"required\":true,\"related\":\"Fact\",\"_meta\":{\"required\":true}},\"tagSlug\":{\"type\":\"text\",\"required\":true,\"default\":\"\",\"_meta\":{\"required\":true}},\"metadata\":{\"type\":\"text\",\"required\":false,\"default\":\"\"},\"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}}},\"createdAt\":{\"type\":\"datetime\",\"required\":false},\"updatedAt\":{\"type\":\"datetime\",\"required\":false}},\"methods\":{\"getMetadata\":{\"name\":\"getMetadata\",\"async\":false,\"parameters\":[],\"returnType\":\"Record<string, unknown>\",\"isStatic\":false,\"isPublic\":true},\"setMetadata\":{\"name\":\"setMetadata\",\"async\":false,\"parameters\":[{\"name\":\"data\",\"type\":\"Record<string, unknown>\",\"optional\":false}],\"returnType\":\"void\",\"isStatic\":false,\"isPublic\":true},\"updateMetadata\":{\"name\":\"updateMetadata\",\"async\":false,\"parameters\":[{\"name\":\"updates\",\"type\":\"Record<string, unknown>\",\"optional\":false}],\"returnType\":\"void\",\"isStatic\":false,\"isPublic\":true},\"getFact\":{\"name\":\"getFact\",\"async\":true,\"parameters\":[],\"returnType\":\"any\",\"isStatic\":false,\"isPublic\":true}},\"decoratorConfig\":{\"conflictColumns\":[\"fact_id\",\"tag_slug\"],\"api\":{\"include\":[\"list\",\"get\",\"create\",\"delete\"]},\"mcp\":{\"include\":[\"list\",\"get\",\"create\"]},\"cli\":{\"skipApiCheck\":true},\"tenantScoped\":{\"mode\":\"optional\"}},\"extends\":\"SmrtObject\",\"exportName\":\"FactTag\",\"collectionExportName\":\"FactTagCollection\",\"validationRules\":[{\"field\":\"factId\",\"rule\":\"required\",\"fieldType\":\"foreignKey\"},{\"field\":\"tagSlug\",\"rule\":\"required\",\"fieldType\":\"text\"}],\"schema\":{\"tableName\":\"fact_tags\",\"ddl\":\"CREATE TABLE IF NOT EXISTS \\\"fact_tags\\\" (\\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 \\\"fact_id\\\" UUID NOT NULL,\\n \\\"tag_slug\\\" TEXT NOT NULL DEFAULT '',\\n \\\"metadata\\\" TEXT DEFAULT '',\\n \\\"tenant_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\"},\"fact_id\":{\"type\":\"UUID\",\"referenceKind\":\"foreignKey\",\"notNull\":true,\"unique\":false,\"foreignKey\":{\"table\":\"facts\",\"column\":\"id\",\"onDelete\":\"CASCADE\",\"onUpdate\":\"CASCADE\"}},\"tag_slug\":{\"type\":\"TEXT\",\"notNull\":true,\"unique\":false,\"default\":\"\"},\"metadata\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"\"},\"tenant_id\":{\"type\":\"UUID\",\"referenceKind\":\"tenantId\",\"notNull\":false,\"unique\":false}},\"indexes\":[{\"name\":\"fact_tags_fact_id_tag_slug_idx\",\"columns\":[\"fact_id\",\"tag_slug\"],\"unique\":true},{\"name\":\"fact_tags_slug_context_idx\",\"columns\":[\"slug\",\"context\"]},{\"name\":\"fact_tags_tenant_id_created_at_idx\",\"columns\":[\"tenant_id\",\"created_at\"]}],\"version\":\"79df8b59\"},\"importPath\":\"@happyvertical/smrt-facts\"},\"@happyvertical/smrt-facts:FactTagCollection\":{\"name\":\"facttagcollection\",\"className\":\"FactTagCollection\",\"qualifiedName\":\"@happyvertical/smrt-facts:FactTagCollection\",\"collection\":\"facttags\",\"filePath\":\"/home/runner/work/smrt/smrt/packages/facts/src/fact-tags.ts\",\"packageName\":\"@happyvertical/smrt-facts\",\"fields\":{},\"methods\":{\"getForFact\":{\"name\":\"getForFact\",\"async\":true,\"parameters\":[{\"name\":\"factId\",\"type\":\"string\",\"optional\":false}],\"returnType\":\"Promise<FactTag[]>\",\"isStatic\":false,\"isPublic\":true},\"getForTag\":{\"name\":\"getForTag\",\"async\":true,\"parameters\":[{\"name\":\"tagSlug\",\"type\":\"string\",\"optional\":false}],\"returnType\":\"Promise<FactTag[]>\",\"isStatic\":false,\"isPublic\":true},\"addTag\":{\"name\":\"addTag\",\"async\":true,\"parameters\":[{\"name\":\"factId\",\"type\":\"string\",\"optional\":false},{\"name\":\"tagSlug\",\"type\":\"string\",\"optional\":false}],\"returnType\":\"Promise<FactTag>\",\"isStatic\":false,\"isPublic\":true},\"removeTag\":{\"name\":\"removeTag\",\"async\":true,\"parameters\":[{\"name\":\"factId\",\"type\":\"string\",\"optional\":false},{\"name\":\"tagSlug\",\"type\":\"string\",\"optional\":false}],\"returnType\":\"Promise<void>\",\"isStatic\":false,\"isPublic\":true},\"getTagSlugs\":{\"name\":\"getTagSlugs\",\"async\":true,\"parameters\":[{\"name\":\"factId\",\"type\":\"string\",\"optional\":false}],\"returnType\":\"Promise<string[]>\",\"isStatic\":false,\"isPublic\":true},\"findByTenant\":{\"name\":\"findByTenant\",\"async\":true,\"parameters\":[{\"name\":\"tenantId\",\"type\":\"string\",\"optional\":false}],\"returnType\":\"Promise<FactTag[]>\",\"isStatic\":false,\"isPublic\":true},\"findGlobal\":{\"name\":\"findGlobal\",\"async\":true,\"parameters\":[],\"returnType\":\"Promise<FactTag[]>\",\"isStatic\":false,\"isPublic\":true},\"findWithGlobals\":{\"name\":\"findWithGlobals\",\"async\":true,\"parameters\":[{\"name\":\"tenantId\",\"type\":\"string\",\"optional\":false}],\"returnType\":\"Promise<FactTag[]>\",\"isStatic\":false,\"isPublic\":true}},\"decoratorConfig\":{},\"extends\":\"SmrtCollection\",\"extendsTypeArg\":\"FactTag\",\"exportName\":\"FactTagCollection\",\"collectionExportName\":\"FactTagCollectionCollection\",\"schema\":{\"tableName\":\"fact_tags\",\"ddl\":\"CREATE TABLE IF NOT EXISTS \\\"fact_tags\\\" (\\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 \\\"fact_id\\\" UUID NOT NULL,\\n \\\"tag_slug\\\" TEXT NOT NULL DEFAULT '',\\n \\\"metadata\\\" TEXT DEFAULT '',\\n \\\"tenant_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\"},\"fact_id\":{\"type\":\"UUID\",\"referenceKind\":\"foreignKey\",\"notNull\":true,\"unique\":false,\"foreignKey\":{\"table\":\"facts\",\"column\":\"id\",\"onDelete\":\"CASCADE\",\"onUpdate\":\"CASCADE\"}},\"tag_slug\":{\"type\":\"TEXT\",\"notNull\":true,\"unique\":false,\"default\":\"\"},\"metadata\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"\"},\"tenant_id\":{\"type\":\"UUID\",\"referenceKind\":\"tenantId\",\"notNull\":false,\"unique\":false}},\"indexes\":[{\"name\":\"fact_tags_fact_id_tag_slug_idx\",\"columns\":[\"fact_id\",\"tag_slug\"],\"unique\":true},{\"name\":\"fact_tags_slug_context_idx\",\"columns\":[\"slug\",\"context\"]},{\"name\":\"fact_tags_tenant_id_created_at_idx\",\"columns\":[\"tenant_id\",\"created_at\"]}],\"version\":\"79df8b59\"},\"importPath\":\"@happyvertical/smrt-facts\"},\"@happyvertical/smrt-facts:Fact\":{\"name\":\"fact\",\"className\":\"Fact\",\"qualifiedName\":\"@happyvertical/smrt-facts:Fact\",\"collection\":\"facts\",\"filePath\":\"/home/runner/work/smrt/smrt/packages/facts/src/fact.ts\",\"packageName\":\"@happyvertical/smrt-facts\",\"fields\":{\"created_at\":{\"type\":\"datetime\",\"required\":false},\"updated_at\":{\"type\":\"datetime\",\"required\":false},\"textRefined\":{\"type\":\"text\",\"required\":true,\"default\":\"\",\"_meta\":{\"required\":true}},\"textRaw\":{\"type\":\"text\",\"required\":false,\"default\":\"\"},\"catalogSearch\":{\"type\":\"text\",\"required\":false,\"_meta\":{\"nullable\":true,\"readonly\":true,\"sensitive\":true},\"sensitive\":true,\"readonly\":true},\"type\":{\"type\":\"text\",\"required\":true,\"default\":\"assertion\",\"_meta\":{\"required\":true}},\"status\":{\"type\":\"text\",\"required\":true,\"default\":\"pending\",\"_meta\":{\"required\":true}},\"domain\":{\"type\":\"text\",\"required\":false,\"default\":\"\"},\"accessScope\":{\"type\":\"text\",\"required\":false,\"_meta\":{\"nullable\":true,\"readonly\":true},\"readonly\":true},\"previousFactId\":{\"type\":\"foreignKey\",\"required\":false,\"related\":\"Fact\"},\"evolutionType\":{\"type\":\"text\",\"required\":false,\"default\":\"original\"},\"sourceCount\":{\"type\":\"integer\",\"required\":false,\"default\":0},\"confidence\":{\"type\":\"decimal\",\"required\":false,\"default\":0},\"metadata\":{\"type\":\"text\",\"required\":false,\"default\":\"\"},\"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}}},\"createdAt\":{\"type\":\"datetime\",\"required\":false},\"updatedAt\":{\"type\":\"datetime\",\"required\":false}},\"methods\":{\"getMetadata\":{\"name\":\"getMetadata\",\"async\":false,\"parameters\":[],\"returnType\":\"FactMetadata\",\"isStatic\":false,\"isPublic\":true},\"setMetadata\":{\"name\":\"setMetadata\",\"async\":false,\"parameters\":[{\"name\":\"data\",\"type\":\"FactMetadata\",\"optional\":false}],\"returnType\":\"void\",\"isStatic\":false,\"isPublic\":true},\"updateMetadata\":{\"name\":\"updateMetadata\",\"async\":false,\"parameters\":[{\"name\":\"updates\",\"type\":\"Partial<FactMetadata>\",\"optional\":false}],\"returnType\":\"void\",\"isStatic\":false,\"isPublic\":true},\"getType\":{\"name\":\"getType\",\"async\":false,\"parameters\":[],\"returnType\":\"FactType\",\"isStatic\":false,\"isPublic\":true},\"getStatus\":{\"name\":\"getStatus\",\"async\":false,\"parameters\":[],\"returnType\":\"FactStatus\",\"isStatic\":false,\"isPublic\":true},\"getEvolutionType\":{\"name\":\"getEvolutionType\",\"async\":false,\"parameters\":[],\"returnType\":\"EvolutionType\",\"isStatic\":false,\"isPublic\":true},\"isActive\":{\"name\":\"isActive\",\"async\":false,\"parameters\":[],\"returnType\":\"boolean\",\"isStatic\":false,\"isPublic\":true},\"isSuperseded\":{\"name\":\"isSuperseded\",\"async\":false,\"parameters\":[],\"returnType\":\"boolean\",\"isStatic\":false,\"isPublic\":true},\"hasPredecessor\":{\"name\":\"hasPredecessor\",\"async\":false,\"parameters\":[],\"returnType\":\"boolean\",\"isStatic\":false,\"isPublic\":true},\"getPredecessor\":{\"name\":\"getPredecessor\",\"async\":true,\"parameters\":[],\"returnType\":\"Promise<Fact | null>\",\"isStatic\":false,\"isPublic\":true},\"getSuccessors\":{\"name\":\"getSuccessors\",\"async\":true,\"parameters\":[],\"returnType\":\"Promise<Fact[]>\",\"isStatic\":false,\"isPublic\":true},\"getSources\":{\"name\":\"getSources\",\"async\":true,\"parameters\":[],\"returnType\":\"any\",\"isStatic\":false,\"isPublic\":true},\"getSubjects\":{\"name\":\"getSubjects\",\"async\":true,\"parameters\":[],\"returnType\":\"any\",\"isStatic\":false,\"isPublic\":true}},\"decoratorConfig\":{\"tableStrategy\":\"sti\",\"embeddings\":{\"fields\":[\"textRefined\"],\"provider\":\"auto\",\"autoGenerate\":true,\"combinedField\":{\"name\":\"full_context\",\"template\":\"{textRefined}\\n\\nType: {type}\\nDomain: {domain}\"}},\"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\":\"Fact\",\"collectionExportName\":\"FactCollection\",\"validationRules\":[{\"field\":\"textRefined\",\"rule\":\"required\",\"fieldType\":\"text\"},{\"field\":\"type\",\"rule\":\"required\",\"fieldType\":\"text\"},{\"field\":\"status\",\"rule\":\"required\",\"fieldType\":\"text\"}],\"schema\":{\"tableName\":\"facts\",\"ddl\":\"CREATE TABLE IF NOT EXISTS \\\"facts\\\" (\\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 \\\"text_refined\\\" TEXT DEFAULT '',\\n \\\"text_raw\\\" TEXT DEFAULT '',\\n \\\"catalog_search\\\" TEXT,\\n \\\"type\\\" TEXT DEFAULT 'assertion',\\n \\\"status\\\" TEXT DEFAULT 'pending',\\n \\\"domain\\\" TEXT DEFAULT '',\\n \\\"access_scope\\\" TEXT,\\n \\\"previous_fact_id\\\" UUID,\\n \\\"evolution_type\\\" TEXT DEFAULT 'original',\\n \\\"source_count\\\" INTEGER DEFAULT 0,\\n \\\"confidence\\\" REAL DEFAULT 0,\\n \\\"metadata\\\" TEXT DEFAULT '',\\n \\\"tenant_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\"},\"text_refined\":{\"type\":\"TEXT\",\"notNull\":false,\"default\":\"\"},\"text_raw\":{\"type\":\"TEXT\",\"notNull\":false,\"default\":\"\"},\"catalog_search\":{\"type\":\"TEXT\",\"notNull\":false},\"type\":{\"type\":\"TEXT\",\"notNull\":false,\"default\":\"assertion\"},\"status\":{\"type\":\"TEXT\",\"notNull\":false,\"default\":\"pending\"},\"domain\":{\"type\":\"TEXT\",\"notNull\":false,\"default\":\"\"},\"access_scope\":{\"type\":\"TEXT\",\"notNull\":false},\"previous_fact_id\":{\"type\":\"UUID\",\"referenceKind\":\"foreignKey\",\"notNull\":false,\"foreignKey\":{\"table\":\"facts\",\"column\":\"id\",\"onDelete\":\"NO ACTION\",\"onUpdate\":\"CASCADE\"}},\"evolution_type\":{\"type\":\"TEXT\",\"notNull\":false,\"default\":\"original\"},\"source_count\":{\"type\":\"INTEGER\",\"notNull\":false,\"default\":0},\"confidence\":{\"type\":\"REAL\",\"notNull\":false,\"default\":0},\"metadata\":{\"type\":\"TEXT\",\"notNull\":false,\"default\":\"\"},\"tenant_id\":{\"type\":\"UUID\",\"referenceKind\":\"tenantId\",\"notNull\":false}},\"indexes\":[{\"name\":\"facts_slug_context_meta_type_idx\",\"columns\":[\"tenant_id\",\"slug\",\"context\",\"_meta_type\"],\"unique\":true,\"nullsNotDistinct\":true},{\"name\":\"facts_meta_type_idx\",\"columns\":[\"_meta_type\"]},{\"name\":\"facts_tenant_id_created_at_idx\",\"columns\":[\"tenant_id\",\"created_at\"]},{\"name\":\"facts_previous_fact_id_idx\",\"columns\":[\"previous_fact_id\"]}],\"version\":\"755f861c\"},\"importPath\":\"@happyvertical/smrt-facts\"},\"@happyvertical/smrt-facts:FactCollection\":{\"name\":\"factcollection\",\"className\":\"FactCollection\",\"qualifiedName\":\"@happyvertical/smrt-facts:FactCollection\",\"collection\":\"facts\",\"filePath\":\"/home/runner/work/smrt/smrt/packages/facts/src/facts.ts\",\"packageName\":\"@happyvertical/smrt-facts\",\"fields\":{},\"methods\":{\"getActive\":{\"name\":\"getActive\",\"async\":true,\"parameters\":[],\"returnType\":\"Promise<Fact[]>\",\"isStatic\":false,\"isPublic\":true},\"getPending\":{\"name\":\"getPending\",\"async\":true,\"parameters\":[],\"returnType\":\"Promise<Fact[]>\",\"isStatic\":false,\"isPublic\":true},\"getByType\":{\"name\":\"getByType\",\"async\":true,\"parameters\":[{\"name\":\"type\",\"type\":\"FactType\",\"optional\":false}],\"returnType\":\"Promise<Fact[]>\",\"isStatic\":false,\"isPublic\":true},\"getByDomain\":{\"name\":\"getByDomain\",\"async\":true,\"parameters\":[{\"name\":\"domain\",\"type\":\"string\",\"optional\":false}],\"returnType\":\"Promise<Fact[]>\",\"isStatic\":false,\"isPublic\":true},\"getByStatus\":{\"name\":\"getByStatus\",\"async\":true,\"parameters\":[{\"name\":\"status\",\"type\":\"FactStatus\",\"optional\":false}],\"returnType\":\"Promise<Fact[]>\",\"isStatic\":false,\"isPublic\":true},\"getSuccessors\":{\"name\":\"getSuccessors\",\"async\":true,\"parameters\":[{\"name\":\"previousFactId\",\"type\":\"string\",\"optional\":false}],\"returnType\":\"Promise<Fact[]>\",\"isStatic\":false,\"isPublic\":true},\"findByTenant\":{\"name\":\"findByTenant\",\"async\":true,\"parameters\":[{\"name\":\"tenantId\",\"type\":\"string\",\"optional\":false}],\"returnType\":\"Promise<Fact[]>\",\"isStatic\":false,\"isPublic\":true},\"findGlobal\":{\"name\":\"findGlobal\",\"async\":true,\"parameters\":[],\"returnType\":\"Promise<Fact[]>\",\"isStatic\":false,\"isPublic\":true},\"findWithGlobals\":{\"name\":\"findWithGlobals\",\"async\":true,\"parameters\":[{\"name\":\"tenantId\",\"type\":\"string\",\"optional\":false}],\"returnType\":\"Promise<Fact[]>\",\"isStatic\":false,\"isPublic\":true},\"browseCatalog\":{\"name\":\"browseCatalog\",\"async\":true,\"parameters\":[{\"name\":\"query\",\"type\":\"any\",\"optional\":true,\"default\":\"\"},{\"name\":\"options\",\"type\":\"object\",\"optional\":true,\"memberTypes\":[\"string | null\",\"number\",\"boolean\"]}],\"returnType\":\"Promise<Fact[]>\",\"isStatic\":false,\"isPublic\":true},\"backfillCatalogSearch\":{\"name\":\"backfillCatalogSearch\",\"async\":true,\"parameters\":[{\"name\":\"batchSize\",\"type\":\"any\",\"optional\":true}],\"returnType\":\"Promise<object>\",\"isStatic\":false,\"isPublic\":true},\"getForContent\":{\"name\":\"getForContent\",\"async\":true,\"parameters\":[{\"name\":\"contentId\",\"type\":\"string\",\"optional\":false},{\"name\":\"options\",\"type\":\"object\",\"optional\":true,\"memberTypes\":[\"FactContentRelationship\",\"boolean\"]}],\"returnType\":\"Promise<Fact[]>\",\"isStatic\":false,\"isPublic\":true},\"reconcile\":{\"name\":\"reconcile\",\"async\":true,\"parameters\":[{\"name\":\"options\",\"type\":\"ReconcileOptions\",\"optional\":false}],\"returnType\":\"Promise<ReconcileResult>\",\"isStatic\":false,\"isPublic\":true},\"extractCandidatesFromText\":{\"name\":\"extractCandidatesFromText\",\"async\":true,\"parameters\":[{\"name\":\"text\",\"type\":\"string\",\"optional\":false},{\"name\":\"options\",\"type\":\"FactExtractionOptions\",\"optional\":true}],\"returnType\":\"Promise<FactExtractionCandidate[]>\",\"isStatic\":false,\"isPublic\":true},\"extractArticleClaims\":{\"name\":\"extractArticleClaims\",\"async\":true,\"parameters\":[{\"name\":\"text\",\"type\":\"string\",\"optional\":false},{\"name\":\"options\",\"type\":\"FactExtractionOptions\",\"optional\":true}],\"returnType\":\"Promise<FactExtractionCandidate[]>\",\"isStatic\":false,\"isPublic\":true},\"assessClaimSupport\":{\"name\":\"assessClaimSupport\",\"async\":true,\"parameters\":[{\"name\":\"claim\",\"type\":\"string\",\"optional\":false},{\"name\":\"candidateFacts\",\"type\":\"FactClaimSupportCandidate[]\",\"optional\":false},{\"name\":\"options\",\"type\":\"FactClaimSupportOptions\",\"optional\":true}],\"returnType\":\"Promise<FactClaimSupportAssessment>\",\"isStatic\":false,\"isPublic\":true},\"branch\":{\"name\":\"branch\",\"async\":true,\"parameters\":[{\"name\":\"previousFactId\",\"type\":\"string\",\"optional\":false},{\"name\":\"data\",\"type\":\"Partial<FactOptions>\",\"optional\":false},{\"name\":\"evolutionType\",\"type\":\"EvolutionType\",\"optional\":true,\"default\":\"extension\"}],\"returnType\":\"Promise<Fact>\",\"isStatic\":false,\"isPublic\":true},\"getEvolutionChain\":{\"name\":\"getEvolutionChain\",\"async\":true,\"parameters\":[{\"name\":\"factId\",\"type\":\"string\",\"optional\":false}],\"returnType\":\"Promise<Fact[]>\",\"isStatic\":false,\"isPublic\":true},\"getLatestInChain\":{\"name\":\"getLatestInChain\",\"async\":true,\"parameters\":[{\"name\":\"factId\",\"type\":\"string\",\"optional\":false}],\"returnType\":\"Promise<Fact>\",\"isStatic\":false,\"isPublic\":true},\"getEvolutionTree\":{\"name\":\"getEvolutionTree\",\"async\":true,\"parameters\":[{\"name\":\"factId\",\"type\":\"string\",\"optional\":false}],\"returnType\":\"Promise<Fact[]>\",\"isStatic\":false,\"isPublic\":true},\"recalculateConfidence\":{\"name\":\"recalculateConfidence\",\"async\":true,\"parameters\":[{\"name\":\"factId\",\"type\":\"string\",\"optional\":false}],\"returnType\":\"Promise<number>\",\"isStatic\":false,\"isPublic\":true},\"getEntityBriefing\":{\"name\":\"getEntityBriefing\",\"async\":true,\"parameters\":[{\"name\":\"entityType\",\"type\":\"string\",\"optional\":false},{\"name\":\"entityId\",\"type\":\"string\",\"optional\":false}],\"returnType\":\"Promise<EntityBriefing>\",\"isStatic\":false,\"isPublic\":true}},\"decoratorConfig\":{},\"extends\":\"SmrtCollection\",\"extendsTypeArg\":\"Fact\",\"exportName\":\"FactCollection\",\"collectionExportName\":\"FactCollectionCollection\",\"schema\":{\"tableName\":\"facts\",\"ddl\":\"CREATE TABLE IF NOT EXISTS \\\"facts\\\" (\\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 \\\"text_refined\\\" TEXT DEFAULT '',\\n \\\"text_raw\\\" TEXT DEFAULT '',\\n \\\"catalog_search\\\" TEXT,\\n \\\"type\\\" TEXT DEFAULT 'assertion',\\n \\\"status\\\" TEXT DEFAULT 'pending',\\n \\\"domain\\\" TEXT DEFAULT '',\\n \\\"access_scope\\\" TEXT,\\n \\\"previous_fact_id\\\" UUID,\\n \\\"evolution_type\\\" TEXT DEFAULT 'original',\\n \\\"source_count\\\" INTEGER DEFAULT 0,\\n \\\"confidence\\\" REAL DEFAULT 0,\\n \\\"metadata\\\" TEXT DEFAULT '',\\n \\\"tenant_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\"},\"text_refined\":{\"type\":\"TEXT\",\"notNull\":false,\"default\":\"\"},\"text_raw\":{\"type\":\"TEXT\",\"notNull\":false,\"default\":\"\"},\"catalog_search\":{\"type\":\"TEXT\",\"notNull\":false},\"type\":{\"type\":\"TEXT\",\"notNull\":false,\"default\":\"assertion\"},\"status\":{\"type\":\"TEXT\",\"notNull\":false,\"default\":\"pending\"},\"domain\":{\"type\":\"TEXT\",\"notNull\":false,\"default\":\"\"},\"access_scope\":{\"type\":\"TEXT\",\"notNull\":false},\"previous_fact_id\":{\"type\":\"UUID\",\"referenceKind\":\"foreignKey\",\"notNull\":false,\"foreignKey\":{\"table\":\"facts\",\"column\":\"id\",\"onDelete\":\"NO ACTION\",\"onUpdate\":\"CASCADE\"}},\"evolution_type\":{\"type\":\"TEXT\",\"notNull\":false,\"default\":\"original\"},\"source_count\":{\"type\":\"INTEGER\",\"notNull\":false,\"default\":0},\"confidence\":{\"type\":\"REAL\",\"notNull\":false,\"default\":0},\"metadata\":{\"type\":\"TEXT\",\"notNull\":false,\"default\":\"\"},\"tenant_id\":{\"type\":\"UUID\",\"referenceKind\":\"tenantId\",\"notNull\":false}},\"indexes\":[{\"name\":\"facts_slug_context_meta_type_idx\",\"columns\":[\"tenant_id\",\"slug\",\"context\",\"_meta_type\"],\"unique\":true,\"nullsNotDistinct\":true},{\"name\":\"facts_meta_type_idx\",\"columns\":[\"_meta_type\"]},{\"name\":\"facts_tenant_id_created_at_idx\",\"columns\":[\"tenant_id\",\"created_at\"]},{\"name\":\"facts_previous_fact_id_idx\",\"columns\":[\"previous_fact_id\"]}],\"version\":\"755f861c\"},\"importPath\":\"@happyvertical/smrt-facts\"}},\"moduleType\":\"smrt\",\"smrtDependencies\":[\"@happyvertical/smrt-core\",\"@happyvertical/smrt-prompts\",\"@happyvertical/smrt-tenancy\"]}"));
|
|
9
9
|
//#endregion
|
|
10
10
|
//#region src/prompts.ts
|
|
11
11
|
var smrtFactsExtractCandidatesPrompt = definePrompt({
|
|
@@ -172,6 +172,7 @@ var Fact = class extends SmrtObject {
|
|
|
172
172
|
type = "assertion";
|
|
173
173
|
status = "pending";
|
|
174
174
|
domain = "";
|
|
175
|
+
accessScope = null;
|
|
175
176
|
previousFactId = "";
|
|
176
177
|
evolutionType = "original";
|
|
177
178
|
sourceCount = 0;
|
|
@@ -187,6 +188,7 @@ var Fact = class extends SmrtObject {
|
|
|
187
188
|
if (options.type !== void 0) this.type = options.type;
|
|
188
189
|
if (options.status !== void 0) this.status = options.status;
|
|
189
190
|
if (options.domain !== void 0) this.domain = options.domain;
|
|
191
|
+
if (options.accessScope !== void 0) this.accessScope = options.accessScope;
|
|
190
192
|
if (options.previousFactId !== void 0) this.previousFactId = options.previousFactId;
|
|
191
193
|
if (options.evolutionType !== void 0) this.evolutionType = options.evolutionType;
|
|
192
194
|
if (options.sourceCount !== void 0) this.sourceCount = options.sourceCount;
|
|
@@ -290,6 +292,11 @@ __decorateClass$4([field({
|
|
|
290
292
|
__decorateClass$4([field({ required: true })], Fact.prototype, "type", 2);
|
|
291
293
|
__decorateClass$4([field({ required: true })], Fact.prototype, "status", 2);
|
|
292
294
|
__decorateClass$4([field()], Fact.prototype, "domain", 2);
|
|
295
|
+
__decorateClass$4([field({
|
|
296
|
+
type: "text",
|
|
297
|
+
nullable: true,
|
|
298
|
+
readonly: true
|
|
299
|
+
})], Fact.prototype, "accessScope", 2);
|
|
293
300
|
__decorateClass$4([foreignKey("Fact")], Fact.prototype, "previousFactId", 2);
|
|
294
301
|
__decorateClass$4([field()], Fact.prototype, "evolutionType", 2);
|
|
295
302
|
__decorateClass$4([field()], Fact.prototype, "sourceCount", 2);
|
|
@@ -1282,6 +1289,7 @@ var FactCollection = class FactCollection extends SmrtCollection {
|
|
|
1282
1289
|
return (await this.list({
|
|
1283
1290
|
where: {
|
|
1284
1291
|
tenantId,
|
|
1292
|
+
accessScope: options.accessScope ?? null,
|
|
1285
1293
|
domain: options.domain ?? "",
|
|
1286
1294
|
type: options.type ?? "assertion",
|
|
1287
1295
|
status: "active"
|
|
@@ -1290,11 +1298,12 @@ var FactCollection = class FactCollection extends SmrtCollection {
|
|
|
1290
1298
|
})).find((candidate) => normalizeText(candidate.textRefined) === normalizedStatement) ?? null;
|
|
1291
1299
|
}
|
|
1292
1300
|
matchesSemanticReconciliationScope(fact, options) {
|
|
1293
|
-
return (fact.tenantId ?? null) === this.resolveReconciliationTenant(options.tenantId);
|
|
1301
|
+
return (fact.tenantId ?? null) === this.resolveReconciliationTenant(options.tenantId) && (fact.accessScope ?? null) === (options.accessScope ?? null);
|
|
1294
1302
|
}
|
|
1295
1303
|
reconciliationIdentity(options) {
|
|
1296
1304
|
return [
|
|
1297
1305
|
this.resolveReconciliationTenant(options.tenantId) ?? "__global__",
|
|
1306
|
+
options.accessScope ?? "__legacy__",
|
|
1298
1307
|
options.domain ?? "",
|
|
1299
1308
|
options.type ?? "assertion",
|
|
1300
1309
|
normalizeText(options.rawInput)
|
|
@@ -1348,6 +1357,7 @@ var FactCollection = class FactCollection extends SmrtCollection {
|
|
|
1348
1357
|
* 4. Return { action, fact, source?, similarity?, matchedFact? }
|
|
1349
1358
|
*/
|
|
1350
1359
|
async reconcile(options) {
|
|
1360
|
+
if (options.accessScope != null && (typeof options.accessScope !== "string" || !options.accessScope.trim() || options.accessScope.length > 256 || /[\uD800-\uDFFF]/u.test(options.accessScope) || [...options.accessScope].some((character) => character.charCodeAt(0) < 32 || character.charCodeAt(0) === 127))) throw new Error("accessScope must be a nonempty string of at most 256 characters without control characters or unpaired surrogates");
|
|
1351
1361
|
return this.withReconciliationQueue(options, () => this.withExactReconciliationLock(options, (collection) => collection.reconcileLocked(options)));
|
|
1352
1362
|
}
|
|
1353
1363
|
async reconcileLocked(options) {
|
|
@@ -1381,15 +1391,23 @@ var FactCollection = class FactCollection extends SmrtCollection {
|
|
|
1381
1391
|
matchedFact: exactMatch
|
|
1382
1392
|
};
|
|
1383
1393
|
}
|
|
1384
|
-
|
|
1385
|
-
|
|
1386
|
-
|
|
1387
|
-
|
|
1388
|
-
|
|
1389
|
-
|
|
1394
|
+
const scope = {
|
|
1395
|
+
tenantId: this.resolveReconciliationTenant(options.tenantId),
|
|
1396
|
+
accessScope: options.accessScope ?? null
|
|
1397
|
+
};
|
|
1398
|
+
const search = await this.semanticSearchIdsWithAvailability(rawInput, {
|
|
1399
|
+
limit: 5,
|
|
1400
|
+
minSimilarity: conflictThreshold,
|
|
1401
|
+
where: scope
|
|
1402
|
+
});
|
|
1403
|
+
const matches = [];
|
|
1404
|
+
if (search.available) for (const match of search.matches) {
|
|
1405
|
+
const fact2 = await this.get({
|
|
1406
|
+
id: match.id,
|
|
1407
|
+
...scope
|
|
1390
1408
|
});
|
|
1391
|
-
|
|
1392
|
-
}
|
|
1409
|
+
if (fact2 && this.matchesSemanticReconciliationScope(fact2, options)) matches.push(Object.assign(fact2, { _similarity: match.similarity }));
|
|
1410
|
+
}
|
|
1393
1411
|
let action;
|
|
1394
1412
|
let fact;
|
|
1395
1413
|
let matchedFact;
|
|
@@ -1400,6 +1418,7 @@ var FactCollection = class FactCollection extends SmrtCollection {
|
|
|
1400
1418
|
textRaw: rawInput,
|
|
1401
1419
|
type,
|
|
1402
1420
|
domain,
|
|
1421
|
+
accessScope: options.accessScope ?? null,
|
|
1403
1422
|
tenantId: this.resolveReconciliationTenant(options.tenantId),
|
|
1404
1423
|
status: "active",
|
|
1405
1424
|
sourceCount: source ? 1 : 0,
|
|
@@ -1435,6 +1454,7 @@ var FactCollection = class FactCollection extends SmrtCollection {
|
|
|
1435
1454
|
textRaw: rawInput,
|
|
1436
1455
|
type,
|
|
1437
1456
|
domain,
|
|
1457
|
+
accessScope: options.accessScope ?? null,
|
|
1438
1458
|
tenantId: this.resolveReconciliationTenant(options.tenantId),
|
|
1439
1459
|
status: "active",
|
|
1440
1460
|
sourceCount: source ? 1 : 0
|
|
@@ -1608,11 +1628,13 @@ var FactCollection = class FactCollection extends SmrtCollection {
|
|
|
1608
1628
|
async branch(previousFactId, data, evolutionType = "extension") {
|
|
1609
1629
|
const predecessor = await this.get({ id: previousFactId });
|
|
1610
1630
|
if (!predecessor) throw new Error(`Predecessor fact not found: ${previousFactId}`);
|
|
1631
|
+
if (data.accessScope !== void 0 && data.accessScope !== predecessor.accessScope) throw new Error("A fact branch must retain its predecessor accessScope");
|
|
1611
1632
|
const { metadata, ...rest } = data;
|
|
1612
1633
|
const createData = { ...rest };
|
|
1613
1634
|
if (metadata !== void 0) createData.metadata = typeof metadata === "string" ? metadata : JSON.stringify(metadata);
|
|
1614
1635
|
const successor = await this.create({
|
|
1615
1636
|
...createData,
|
|
1637
|
+
accessScope: predecessor.accessScope,
|
|
1616
1638
|
previousFactId,
|
|
1617
1639
|
evolutionType,
|
|
1618
1640
|
status: data.status || "active",
|