@happyvertical/smrt-facts 0.53.4 → 0.54.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +3 -0
- package/dist/fact-evidences.d.ts +1 -0
- package/dist/fact-evidences.d.ts.map +1 -1
- package/dist/facts.d.ts +8 -0
- package/dist/facts.d.ts.map +1 -1
- package/dist/index.js +99 -6
- package/dist/index.js.map +1 -1
- package/dist/manifest.json +1 -1
- package/dist/smrt-knowledge.json +3 -3
- package/package.json +10 -10
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.53.4\",\"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.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\"]}"));
|
|
9
9
|
//#endregion
|
|
10
10
|
//#region src/prompts.ts
|
|
11
11
|
var smrtFactsExtractCandidatesPrompt = definePrompt({
|
|
@@ -680,6 +680,7 @@ var FactEvidenceCollection = class extends SmrtCollection {
|
|
|
680
680
|
const metadata = entry.getMetadata();
|
|
681
681
|
if (options.generatedBy && metadata.generatedBy !== options.generatedBy) continue;
|
|
682
682
|
if (options.contentId && metadata.contentId !== options.contentId) continue;
|
|
683
|
+
if (options.retainAuditRunId && metadata.auditRunId === options.retainAuditRunId) continue;
|
|
683
684
|
if (typeof entry.id === "string") deletedEvidenceIds.push(entry.id);
|
|
684
685
|
await entry.delete();
|
|
685
686
|
}
|
|
@@ -978,8 +979,9 @@ function promptMessageOptions(ai) {
|
|
|
978
979
|
function asMessageCapableAi(ai) {
|
|
979
980
|
return ai && typeof ai.message === "function" ? ai : null;
|
|
980
981
|
}
|
|
981
|
-
var FactCollection = class extends SmrtCollection {
|
|
982
|
+
var FactCollection = class FactCollection extends SmrtCollection {
|
|
982
983
|
static _itemClass = Fact;
|
|
984
|
+
reconciliationQueues = /* @__PURE__ */ new Map();
|
|
983
985
|
/**
|
|
984
986
|
* Fetch one catalog page in SQL. The recursive branch walk may inspect more
|
|
985
987
|
* rows inside the database, but the outer query only materializes the page.
|
|
@@ -1271,6 +1273,65 @@ var FactCollection = class extends SmrtCollection {
|
|
|
1271
1273
|
const latestFacts = await Promise.all(filtered.map((fact) => this.getLatestInChain(fact.id)));
|
|
1272
1274
|
return [...new Map(latestFacts.map((fact) => [fact.id, fact])).values()];
|
|
1273
1275
|
}
|
|
1276
|
+
resolveReconciliationTenant(tenantId) {
|
|
1277
|
+
return tenantId !== void 0 ? tenantId : getCurrentTenant()?.tenantId ?? null;
|
|
1278
|
+
}
|
|
1279
|
+
async findExactReconciliationMatch(options) {
|
|
1280
|
+
const normalizedStatement = normalizeText(options.rawInput);
|
|
1281
|
+
const tenantId = this.resolveReconciliationTenant(options.tenantId);
|
|
1282
|
+
return (await this.list({
|
|
1283
|
+
where: {
|
|
1284
|
+
tenantId,
|
|
1285
|
+
domain: options.domain ?? "",
|
|
1286
|
+
type: options.type ?? "assertion",
|
|
1287
|
+
status: "active"
|
|
1288
|
+
},
|
|
1289
|
+
orderBy: "created_at ASC"
|
|
1290
|
+
})).find((candidate) => normalizeText(candidate.textRefined) === normalizedStatement) ?? null;
|
|
1291
|
+
}
|
|
1292
|
+
matchesSemanticReconciliationScope(fact, options) {
|
|
1293
|
+
return (fact.tenantId ?? null) === this.resolveReconciliationTenant(options.tenantId);
|
|
1294
|
+
}
|
|
1295
|
+
reconciliationIdentity(options) {
|
|
1296
|
+
return [
|
|
1297
|
+
this.resolveReconciliationTenant(options.tenantId) ?? "__global__",
|
|
1298
|
+
options.domain ?? "",
|
|
1299
|
+
options.type ?? "assertion",
|
|
1300
|
+
normalizeText(options.rawInput)
|
|
1301
|
+
].join("");
|
|
1302
|
+
}
|
|
1303
|
+
async withReconciliationQueue(options, operation) {
|
|
1304
|
+
const identity = this.reconciliationIdentity(options);
|
|
1305
|
+
const previous = this.reconciliationQueues.get(identity) ?? Promise.resolve();
|
|
1306
|
+
let release = () => void 0;
|
|
1307
|
+
const current = new Promise((resolve) => {
|
|
1308
|
+
release = resolve;
|
|
1309
|
+
});
|
|
1310
|
+
this.reconciliationQueues.set(identity, current);
|
|
1311
|
+
await previous;
|
|
1312
|
+
try {
|
|
1313
|
+
return await operation();
|
|
1314
|
+
} finally {
|
|
1315
|
+
release();
|
|
1316
|
+
if (this.reconciliationQueues.get(identity) === current) this.reconciliationQueues.delete(identity);
|
|
1317
|
+
}
|
|
1318
|
+
}
|
|
1319
|
+
async withExactReconciliationLock(options, operation) {
|
|
1320
|
+
const database = this.db;
|
|
1321
|
+
const lockKey = this.reconciliationIdentity(options);
|
|
1322
|
+
const run = async (collection) => {
|
|
1323
|
+
if (isPostgresDatabase(collection.db)) await collection.db.query("SELECT pg_advisory_xact_lock(hashtext($1), hashtext($2))", "smrt-facts.reconcile", lockKey);
|
|
1324
|
+
return operation(collection);
|
|
1325
|
+
};
|
|
1326
|
+
if (!isPostgresDatabase(database) || !database.transaction) return run(this);
|
|
1327
|
+
return database.transaction(async (transaction) => {
|
|
1328
|
+
const transactionCollection = await FactCollection.create({
|
|
1329
|
+
...this.options,
|
|
1330
|
+
db: transaction
|
|
1331
|
+
});
|
|
1332
|
+
return run(transactionCollection);
|
|
1333
|
+
});
|
|
1334
|
+
}
|
|
1274
1335
|
/**
|
|
1275
1336
|
* Reconcile raw input against existing facts using semantic search + AI.
|
|
1276
1337
|
* Determines whether to create, merge, or branch.
|
|
@@ -1287,15 +1348,47 @@ var FactCollection = class extends SmrtCollection {
|
|
|
1287
1348
|
* 4. Return { action, fact, source?, similarity?, matchedFact? }
|
|
1288
1349
|
*/
|
|
1289
1350
|
async reconcile(options) {
|
|
1351
|
+
return this.withReconciliationQueue(options, () => this.withExactReconciliationLock(options, (collection) => collection.reconcileLocked(options)));
|
|
1352
|
+
}
|
|
1353
|
+
async reconcileLocked(options) {
|
|
1290
1354
|
const { rawInput, similarityThreshold = .85, conflictThreshold = .6, type = "assertion", domain = "", source } = options;
|
|
1291
1355
|
const decisionMergeProbabilityThreshold = options.decisionMergeProbabilityThreshold ?? .75;
|
|
1292
1356
|
if (!Number.isFinite(decisionMergeProbabilityThreshold) || decisionMergeProbabilityThreshold < 0 || decisionMergeProbabilityThreshold > 1) throw new Error("Decision merge probability threshold must be a finite number in [0, 1].");
|
|
1357
|
+
const exactMatch = await this.findExactReconciliationMatch(options);
|
|
1358
|
+
if (exactMatch) {
|
|
1359
|
+
exactMatch.textRaw = rawInput;
|
|
1360
|
+
await exactMatch.save();
|
|
1361
|
+
let sourceRecord2;
|
|
1362
|
+
if (source) {
|
|
1363
|
+
sourceRecord2 = await (await FactSourceCollection.create(this.options)).create({
|
|
1364
|
+
factId: exactMatch.id,
|
|
1365
|
+
sourceType: source.sourceType || "",
|
|
1366
|
+
sourceUrl: source.sourceUrl || "",
|
|
1367
|
+
sourceTitle: source.sourceTitle || "",
|
|
1368
|
+
credibility: source.credibility ?? .5,
|
|
1369
|
+
metadata: source.metadata === void 0 ? void 0 : typeof source.metadata === "string" ? source.metadata : JSON.stringify(source.metadata),
|
|
1370
|
+
tenantId: this.resolveReconciliationTenant(options.tenantId)
|
|
1371
|
+
});
|
|
1372
|
+
await this.recalculateConfidence(exactMatch.id);
|
|
1373
|
+
}
|
|
1374
|
+
let fact2 = exactMatch;
|
|
1375
|
+
if (sourceRecord2) fact2 = await this.get({ id: exactMatch.id }) ?? exactMatch;
|
|
1376
|
+
return {
|
|
1377
|
+
action: "merged",
|
|
1378
|
+
fact: fact2,
|
|
1379
|
+
source: sourceRecord2,
|
|
1380
|
+
similarity: 1,
|
|
1381
|
+
matchedFact: exactMatch
|
|
1382
|
+
};
|
|
1383
|
+
}
|
|
1293
1384
|
let matches = [];
|
|
1294
1385
|
try {
|
|
1295
1386
|
matches = await this.semanticSearch(rawInput, {
|
|
1296
1387
|
limit: 5,
|
|
1297
|
-
minSimilarity: conflictThreshold
|
|
1388
|
+
minSimilarity: conflictThreshold,
|
|
1389
|
+
where: { tenantId: this.resolveReconciliationTenant(options.tenantId) }
|
|
1298
1390
|
});
|
|
1391
|
+
matches = matches.filter((match) => this.matchesSemanticReconciliationScope(match, options));
|
|
1299
1392
|
} catch {}
|
|
1300
1393
|
let action;
|
|
1301
1394
|
let fact;
|
|
@@ -1307,7 +1400,7 @@ var FactCollection = class extends SmrtCollection {
|
|
|
1307
1400
|
textRaw: rawInput,
|
|
1308
1401
|
type,
|
|
1309
1402
|
domain,
|
|
1310
|
-
tenantId: options.tenantId
|
|
1403
|
+
tenantId: this.resolveReconciliationTenant(options.tenantId),
|
|
1311
1404
|
status: "active",
|
|
1312
1405
|
sourceCount: source ? 1 : 0,
|
|
1313
1406
|
confidence: calculateConfidence({
|
|
@@ -1342,7 +1435,7 @@ var FactCollection = class extends SmrtCollection {
|
|
|
1342
1435
|
textRaw: rawInput,
|
|
1343
1436
|
type,
|
|
1344
1437
|
domain,
|
|
1345
|
-
tenantId: options.tenantId
|
|
1438
|
+
tenantId: this.resolveReconciliationTenant(options.tenantId),
|
|
1346
1439
|
status: "active",
|
|
1347
1440
|
sourceCount: source ? 1 : 0
|
|
1348
1441
|
}, "correction");
|
|
@@ -1357,7 +1450,7 @@ var FactCollection = class extends SmrtCollection {
|
|
|
1357
1450
|
sourceTitle: source.sourceTitle || "",
|
|
1358
1451
|
credibility: source.credibility ?? .5,
|
|
1359
1452
|
metadata: source.metadata === void 0 ? void 0 : typeof source.metadata === "string" ? source.metadata : JSON.stringify(source.metadata),
|
|
1360
|
-
tenantId: options.tenantId
|
|
1453
|
+
tenantId: this.resolveReconciliationTenant(options.tenantId)
|
|
1361
1454
|
});
|
|
1362
1455
|
if (action === "merged" && sourceRecord) try {
|
|
1363
1456
|
await this.recalculateConfidence(fact.id);
|