@happyvertical/smrt-facts 0.54.2 → 0.54.4
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/dist/chunks/{fact-sources-DRuY7BXx.js → fact-sources-DTJop3NA.js} +9 -1
- package/dist/chunks/fact-sources-DTJop3NA.js.map +1 -0
- package/dist/chunks/{fact-subjects-C0cRW1Uo.js → fact-subjects-CkjRMka0.js} +9 -1
- package/dist/chunks/fact-subjects-CkjRMka0.js.map +1 -0
- package/dist/fact-content.d.ts +2 -2
- package/dist/fact-content.d.ts.map +1 -1
- package/dist/fact-contents.d.ts +1 -1
- package/dist/fact-contents.d.ts.map +1 -1
- package/dist/fact-evidence.d.ts +1 -1
- package/dist/fact-evidence.d.ts.map +1 -1
- package/dist/fact-evidences.d.ts +2 -2
- package/dist/fact-evidences.d.ts.map +1 -1
- package/dist/fact-source.d.ts +2 -2
- package/dist/fact-source.d.ts.map +1 -1
- package/dist/fact-sources.d.ts +1 -1
- package/dist/fact-sources.d.ts.map +1 -1
- package/dist/fact-subject.d.ts +2 -2
- package/dist/fact-subject.d.ts.map +1 -1
- package/dist/fact-subjects.d.ts +2 -2
- package/dist/fact-subjects.d.ts.map +1 -1
- package/dist/fact-tag.d.ts +2 -2
- package/dist/fact-tag.d.ts.map +1 -1
- package/dist/fact-tags.d.ts +1 -1
- package/dist/fact-tags.d.ts.map +1 -1
- package/dist/fact.d.ts +3 -3
- package/dist/fact.d.ts.map +1 -1
- package/dist/facts.d.ts +2 -2
- package/dist/facts.d.ts.map +1 -1
- package/dist/index.d.ts +15 -15
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +41 -8
- package/dist/index.js.map +1 -1
- package/dist/manifest.json +9 -8
- package/dist/smrt-knowledge.json +31 -31
- package/dist/types.d.ts +4 -4
- package/dist/types.d.ts.map +1 -1
- package/package.json +10 -10
- package/dist/chunks/fact-sources-DRuY7BXx.js.map +0 -1
- package/dist/chunks/fact-subjects-C0cRW1Uo.js.map +0 -1
package/dist/manifest.json
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"version": "1.0.0",
|
|
3
3
|
"timestamp": 0,
|
|
4
4
|
"packageName": "@happyvertical/smrt-facts",
|
|
5
|
-
"packageVersion": "0.54.
|
|
5
|
+
"packageVersion": "0.54.4",
|
|
6
6
|
"objects": {
|
|
7
7
|
"@happyvertical/smrt-facts:FactContent": {
|
|
8
8
|
"name": "factcontent",
|
|
@@ -277,12 +277,12 @@
|
|
|
277
277
|
"packageName": "@happyvertical/smrt-facts",
|
|
278
278
|
"fields": {},
|
|
279
279
|
"methods": {
|
|
280
|
-
"
|
|
281
|
-
"name": "
|
|
280
|
+
"byRight": {
|
|
281
|
+
"name": "byRight",
|
|
282
282
|
"async": true,
|
|
283
283
|
"parameters": [
|
|
284
284
|
{
|
|
285
|
-
"name": "
|
|
285
|
+
"name": "rightId",
|
|
286
286
|
"type": "string",
|
|
287
287
|
"optional": false
|
|
288
288
|
},
|
|
@@ -296,12 +296,12 @@
|
|
|
296
296
|
"isStatic": false,
|
|
297
297
|
"isPublic": true
|
|
298
298
|
},
|
|
299
|
-
"
|
|
300
|
-
"name": "
|
|
299
|
+
"byLeft": {
|
|
300
|
+
"name": "byLeft",
|
|
301
301
|
"async": true,
|
|
302
302
|
"parameters": [
|
|
303
303
|
{
|
|
304
|
-
"name": "
|
|
304
|
+
"name": "leftId",
|
|
305
305
|
"type": "string",
|
|
306
306
|
"optional": false
|
|
307
307
|
},
|
|
@@ -3616,5 +3616,6 @@
|
|
|
3616
3616
|
"@happyvertical/smrt-core",
|
|
3617
3617
|
"@happyvertical/smrt-prompts",
|
|
3618
3618
|
"@happyvertical/smrt-tenancy"
|
|
3619
|
-
]
|
|
3619
|
+
],
|
|
3620
|
+
"stampsConstructors": true
|
|
3620
3621
|
}
|
package/dist/smrt-knowledge.json
CHANGED
|
@@ -3,12 +3,12 @@
|
|
|
3
3
|
"sensitiveFieldsExcluded": true,
|
|
4
4
|
"generatedAt": "1970-01-01T00:00:00.000Z",
|
|
5
5
|
"packageName": "@happyvertical/smrt-facts",
|
|
6
|
-
"packageVersion": "0.54.
|
|
6
|
+
"packageVersion": "0.54.4",
|
|
7
7
|
"sourceManifestPath": "dist/manifest.json",
|
|
8
8
|
"agentDocPath": "AGENTS.md",
|
|
9
9
|
"sourceHashes": {
|
|
10
|
-
"manifest": "
|
|
11
|
-
"packageJson": "
|
|
10
|
+
"manifest": "8ae5b8610a492b0815b612e4ae3bf711c847278ccbfa5ffba6c12a7fdaf01f0d",
|
|
11
|
+
"packageJson": "f78cec4c21932191dd869a9ca1c0d8927113d6cd8114524183c27f38b2ad8f25",
|
|
12
12
|
"agents": "3dff097c8282b094889f06247bdab664e75e54c85c4025219c82007f57b3a1bd"
|
|
13
13
|
},
|
|
14
14
|
"exports": [
|
|
@@ -427,18 +427,18 @@
|
|
|
427
427
|
"surfaces": [
|
|
428
428
|
{
|
|
429
429
|
"kind": "api",
|
|
430
|
-
"name": "factcontents.
|
|
431
|
-
"operation": "
|
|
430
|
+
"name": "factcontents.byRight",
|
|
431
|
+
"operation": "byRight",
|
|
432
432
|
"objectName": "@happyvertical/smrt-facts:FactContentCollection",
|
|
433
|
-
"path": "/factcontents/
|
|
433
|
+
"path": "/factcontents/byRight",
|
|
434
434
|
"method": "POST"
|
|
435
435
|
},
|
|
436
436
|
{
|
|
437
437
|
"kind": "api",
|
|
438
|
-
"name": "factcontents.
|
|
439
|
-
"operation": "
|
|
438
|
+
"name": "factcontents.byLeft",
|
|
439
|
+
"operation": "byLeft",
|
|
440
440
|
"objectName": "@happyvertical/smrt-facts:FactContentCollection",
|
|
441
|
-
"path": "/factcontents/
|
|
441
|
+
"path": "/factcontents/byLeft",
|
|
442
442
|
"method": "POST"
|
|
443
443
|
},
|
|
444
444
|
{
|
|
@@ -491,14 +491,14 @@
|
|
|
491
491
|
},
|
|
492
492
|
{
|
|
493
493
|
"kind": "cli",
|
|
494
|
-
"name": "
|
|
495
|
-
"operation": "
|
|
494
|
+
"name": "factcontentcollection_byRight",
|
|
495
|
+
"operation": "byRight",
|
|
496
496
|
"objectName": "@happyvertical/smrt-facts:FactContentCollection"
|
|
497
497
|
},
|
|
498
498
|
{
|
|
499
499
|
"kind": "cli",
|
|
500
|
-
"name": "
|
|
501
|
-
"operation": "
|
|
500
|
+
"name": "factcontentcollection_byLeft",
|
|
501
|
+
"operation": "byLeft",
|
|
502
502
|
"objectName": "@happyvertical/smrt-facts:FactContentCollection"
|
|
503
503
|
},
|
|
504
504
|
{
|
|
@@ -539,14 +539,14 @@
|
|
|
539
539
|
},
|
|
540
540
|
{
|
|
541
541
|
"kind": "mcp",
|
|
542
|
-
"name": "
|
|
543
|
-
"operation": "
|
|
542
|
+
"name": "factcontentcollection_byright",
|
|
543
|
+
"operation": "byRight",
|
|
544
544
|
"objectName": "@happyvertical/smrt-facts:FactContentCollection"
|
|
545
545
|
},
|
|
546
546
|
{
|
|
547
547
|
"kind": "mcp",
|
|
548
|
-
"name": "
|
|
549
|
-
"operation": "
|
|
548
|
+
"name": "factcontentcollection_byleft",
|
|
549
|
+
"operation": "byLeft",
|
|
550
550
|
"objectName": "@happyvertical/smrt-facts:FactContentCollection"
|
|
551
551
|
},
|
|
552
552
|
{
|
|
@@ -3922,18 +3922,18 @@
|
|
|
3922
3922
|
},
|
|
3923
3923
|
{
|
|
3924
3924
|
"kind": "api",
|
|
3925
|
-
"name": "factcontents.
|
|
3926
|
-
"operation": "
|
|
3925
|
+
"name": "factcontents.byRight",
|
|
3926
|
+
"operation": "byRight",
|
|
3927
3927
|
"objectName": "@happyvertical/smrt-facts:FactContentCollection",
|
|
3928
|
-
"path": "/factcontents/
|
|
3928
|
+
"path": "/factcontents/byRight",
|
|
3929
3929
|
"method": "POST"
|
|
3930
3930
|
},
|
|
3931
3931
|
{
|
|
3932
3932
|
"kind": "api",
|
|
3933
|
-
"name": "factcontents.
|
|
3934
|
-
"operation": "
|
|
3933
|
+
"name": "factcontents.byLeft",
|
|
3934
|
+
"operation": "byLeft",
|
|
3935
3935
|
"objectName": "@happyvertical/smrt-facts:FactContentCollection",
|
|
3936
|
-
"path": "/factcontents/
|
|
3936
|
+
"path": "/factcontents/byLeft",
|
|
3937
3937
|
"method": "POST"
|
|
3938
3938
|
},
|
|
3939
3939
|
{
|
|
@@ -3986,14 +3986,14 @@
|
|
|
3986
3986
|
},
|
|
3987
3987
|
{
|
|
3988
3988
|
"kind": "cli",
|
|
3989
|
-
"name": "
|
|
3990
|
-
"operation": "
|
|
3989
|
+
"name": "factcontentcollection_byRight",
|
|
3990
|
+
"operation": "byRight",
|
|
3991
3991
|
"objectName": "@happyvertical/smrt-facts:FactContentCollection"
|
|
3992
3992
|
},
|
|
3993
3993
|
{
|
|
3994
3994
|
"kind": "cli",
|
|
3995
|
-
"name": "
|
|
3996
|
-
"operation": "
|
|
3995
|
+
"name": "factcontentcollection_byLeft",
|
|
3996
|
+
"operation": "byLeft",
|
|
3997
3997
|
"objectName": "@happyvertical/smrt-facts:FactContentCollection"
|
|
3998
3998
|
},
|
|
3999
3999
|
{
|
|
@@ -4034,14 +4034,14 @@
|
|
|
4034
4034
|
},
|
|
4035
4035
|
{
|
|
4036
4036
|
"kind": "mcp",
|
|
4037
|
-
"name": "
|
|
4038
|
-
"operation": "
|
|
4037
|
+
"name": "factcontentcollection_byright",
|
|
4038
|
+
"operation": "byRight",
|
|
4039
4039
|
"objectName": "@happyvertical/smrt-facts:FactContentCollection"
|
|
4040
4040
|
},
|
|
4041
4041
|
{
|
|
4042
4042
|
"kind": "mcp",
|
|
4043
|
-
"name": "
|
|
4044
|
-
"operation": "
|
|
4043
|
+
"name": "factcontentcollection_byleft",
|
|
4044
|
+
"operation": "byLeft",
|
|
4045
4045
|
"objectName": "@happyvertical/smrt-facts:FactContentCollection"
|
|
4046
4046
|
},
|
|
4047
4047
|
{
|
package/dist/types.d.ts
CHANGED
|
@@ -224,13 +224,13 @@ export interface ReconcileResult {
|
|
|
224
224
|
/** Action taken: created, merged, or branched */
|
|
225
225
|
action: ReconcileAction;
|
|
226
226
|
/** The resulting fact (created, updated, or branched) */
|
|
227
|
-
fact: import(
|
|
227
|
+
fact: import("./fact.js").Fact;
|
|
228
228
|
/** Source record if source metadata was provided */
|
|
229
|
-
source?: import(
|
|
229
|
+
source?: import("./fact-source.js").FactSource;
|
|
230
230
|
/** Cosine similarity score of the best match */
|
|
231
231
|
similarity?: number;
|
|
232
232
|
/** The existing fact that was matched (for merge/branch) */
|
|
233
|
-
matchedFact?: import(
|
|
233
|
+
matchedFact?: import("./fact.js").Fact;
|
|
234
234
|
}
|
|
235
235
|
/**
|
|
236
236
|
* Entity briefing - summary of all facts about an entity
|
|
@@ -238,7 +238,7 @@ export interface ReconcileResult {
|
|
|
238
238
|
export interface EntityBriefing {
|
|
239
239
|
entityType: string;
|
|
240
240
|
entityId: string;
|
|
241
|
-
facts: import(
|
|
241
|
+
facts: import("./fact.js").Fact[];
|
|
242
242
|
totalCount: number;
|
|
243
243
|
byType: Record<string, number>;
|
|
244
244
|
byStatus: Record<string, number>;
|
package/dist/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@happyvertical/smrt-facts",
|
|
3
|
-
"version": "0.54.
|
|
3
|
+
"version": "0.54.4",
|
|
4
4
|
"description": "Distributed memory and knowledge management with provenance tracking for SMRT framework",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/index.js",
|
|
@@ -19,17 +19,17 @@
|
|
|
19
19
|
"./manifest.json": "./dist/manifest.json"
|
|
20
20
|
},
|
|
21
21
|
"dependencies": {
|
|
22
|
-
"@happyvertical/ai": "^0.
|
|
23
|
-
"@happyvertical/files": "^0.
|
|
24
|
-
"@happyvertical/logger": "^0.
|
|
25
|
-
"@happyvertical/smrt-core": "0.54.
|
|
26
|
-
"@happyvertical/smrt-prompts": "0.54.
|
|
27
|
-
"@happyvertical/smrt-tenancy": "0.54.
|
|
28
|
-
"@happyvertical/sql": "^0.
|
|
29
|
-
"@happyvertical/utils": "^0.
|
|
22
|
+
"@happyvertical/ai": "^0.102.1",
|
|
23
|
+
"@happyvertical/files": "^0.102.1",
|
|
24
|
+
"@happyvertical/logger": "^0.102.1",
|
|
25
|
+
"@happyvertical/smrt-core": "0.54.4",
|
|
26
|
+
"@happyvertical/smrt-prompts": "0.54.4",
|
|
27
|
+
"@happyvertical/smrt-tenancy": "0.54.4",
|
|
28
|
+
"@happyvertical/sql": "^0.102.1",
|
|
29
|
+
"@happyvertical/utils": "^0.102.1"
|
|
30
30
|
},
|
|
31
31
|
"devDependencies": {
|
|
32
|
-
"@happyvertical/smrt-vitest": "0.54.
|
|
32
|
+
"@happyvertical/smrt-vitest": "0.54.4",
|
|
33
33
|
"@types/node": "24.13.6",
|
|
34
34
|
"typescript": "6.0.3",
|
|
35
35
|
"vite": "8.1.4",
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"fact-sources-DRuY7BXx.js","names":[],"sources":["../../src/fact-source.ts","../../src/fact-sources.ts"],"sourcesContent":["/**\n * FactSource model - Provenance tracking for facts\n *\n * Records where a fact came from, including source URL, type,\n * credibility, and extraction timestamp.\n */\n\nimport { field, foreignKey, SmrtObject, smrt } from '@happyvertical/smrt-core';\nimport { TenantScoped, tenantId } from '@happyvertical/smrt-tenancy';\nimport type { FactSourceOptions } from './types';\n\n@TenantScoped({ mode: 'optional' })\n@smrt({\n tableStrategy: 'sti',\n api: { include: ['list', 'get', 'create', 'delete'] },\n mcp: { include: ['list', 'get', 'create'] },\n cli: { skipApiCheck: true },\n})\nexport class FactSource extends SmrtObject {\n @foreignKey('Fact', { required: true })\n factId: string = '';\n\n @field()\n sourceType: string = '';\n @field()\n sourceUrl: string = '';\n @field()\n sourceTitle: string = '';\n @field()\n credibility: number = 0.0;\n @field()\n extractedAt: Date = new Date();\n @field()\n metadata: string = '';\n\n @tenantId({ nullable: true })\n tenantId: string | null = null;\n\n @field()\n createdAt: Date = new Date();\n @field()\n updatedAt: Date = new Date();\n\n constructor(options: FactSourceOptions = {}) {\n super(options);\n if (options.factId) this.factId = options.factId;\n if (options.sourceType !== undefined) this.sourceType = options.sourceType;\n if (options.sourceUrl !== undefined) this.sourceUrl = options.sourceUrl;\n if (options.sourceTitle !== undefined)\n this.sourceTitle = options.sourceTitle;\n if (options.credibility !== undefined)\n this.credibility = options.credibility;\n if (options.extractedAt) this.extractedAt = options.extractedAt;\n\n if (options.metadata !== undefined) {\n if (typeof options.metadata === 'string') {\n this.metadata = options.metadata;\n } else {\n this.metadata = JSON.stringify(options.metadata);\n }\n }\n }\n\n getMetadata(): Record<string, unknown> {\n const raw = this.metadata;\n if (!raw) return {};\n if (typeof raw === 'object')\n return raw as unknown as Record<string, unknown>;\n try {\n return JSON.parse(String(raw));\n } catch {\n return {};\n }\n }\n\n setMetadata(data: Record<string, unknown>): void {\n this.metadata = JSON.stringify(data);\n }\n\n updateMetadata(updates: Record<string, unknown>): void {\n const current = this.getMetadata();\n this.metadata = JSON.stringify({ ...current, ...updates });\n }\n\n /**\n * Get the fact this source belongs to\n */\n async getFact(): Promise<import('./fact').Fact | null> {\n if (!this.factId) return null;\n\n const { FactCollection } = await import('./facts');\n const collection = await FactCollection.create(this.options);\n return await collection.get({ id: this.factId });\n }\n}\n","/**\n * FactSourceCollection - Collection manager for FactSource objects\n *\n * Provides queries for sources by fact, type, and credibility.\n */\n\nimport { SmrtCollection } from '@happyvertical/smrt-core';\nimport { queryGlobal, queryWithGlobals } from '@happyvertical/smrt-tenancy';\nimport { FactSource } from './fact-source';\n\nexport class FactSourceCollection extends SmrtCollection<FactSource> {\n static readonly _itemClass = FactSource;\n\n /**\n * Get all sources for a given fact\n */\n async getForFact(factId: string): Promise<FactSource[]> {\n return this.list({ where: { factId } });\n }\n\n /**\n * Count sources for a given fact\n */\n async countForFact(factId: string): Promise<number> {\n const sources = await this.getForFact(factId);\n return sources.length;\n }\n\n /**\n * Get sources by type\n */\n async getByType(sourceType: string): Promise<FactSource[]> {\n return this.list({ where: { sourceType } });\n }\n\n /**\n * Get sources with credibility above a threshold\n */\n async getHighCredibility(\n minCredibility: number = 0.7,\n ): Promise<FactSource[]> {\n return this.list({ where: { 'credibility >=': minCredibility } });\n }\n\n /**\n * Get average credibility for a fact's sources\n */\n async getAverageCredibility(factId: string): Promise<number> {\n const sources = await this.getForFact(factId);\n if (sources.length === 0) return 0;\n const total = sources.reduce((sum, s) => sum + s.credibility, 0);\n return total / sources.length;\n }\n\n // =========================================================================\n // Tenant Helper Methods\n // =========================================================================\n\n /**\n * Find all sources belonging to a specific tenant\n */\n async findByTenant(tenantId: string): Promise<FactSource[]> {\n return this.list({ where: { tenantId } });\n }\n\n /**\n * Find all global (tenant-less) sources.\n *\n * Routes through the shared tenant-global helper so it does not throw under\n * an active tenant context (an explicit `tenant_id IS NULL` filter would be\n * flagged as an isolation violation). (#1600)\n */\n async findGlobal(): Promise<FactSource[]> {\n return queryGlobal<FactSource>(this);\n }\n\n /**\n * Find sources for a tenant including global sources.\n *\n * Fails closed if an active tenant context requests a different tenant's\n * rows; the admin/system path keeps the cross-tenant capability. (#1600)\n */\n async findWithGlobals(tenantId: string): Promise<FactSource[]> {\n return queryWithGlobals<FactSource>(\n this,\n tenantId,\n 'FactSource.findWithGlobals',\n );\n }\n}\n"],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"fact-subjects-C0cRW1Uo.js","names":[],"sources":["../../src/fact-subject.ts","../../src/fact-subjects.ts"],"sourcesContent":["/**\n * FactSubject model - Polymorphic entity linking for facts\n *\n * Links facts to any entity type (profiles, places, events, etc.)\n * using polymorphic entityType + entityId with role classification.\n */\n\nimport { field, foreignKey, SmrtObject, smrt } from '@happyvertical/smrt-core';\nimport { TenantScoped, tenantId } from '@happyvertical/smrt-tenancy';\nimport type { FactSubjectOptions, SubjectRole } from './types';\n\n@TenantScoped({ mode: 'optional' })\n@smrt({\n conflictColumns: ['fact_id', 'entity_type', 'entity_id'],\n api: { include: ['list', 'get', 'create', 'delete'] },\n mcp: { include: ['list', 'get', 'create'] },\n cli: { skipApiCheck: true },\n})\nexport class FactSubject extends SmrtObject {\n @foreignKey('Fact', { required: true })\n factId: string = '';\n\n @field({ required: true })\n entityType: string = '';\n\n @field({ required: true })\n entityId: string = '';\n\n @field()\n role: string = 'subject';\n @field()\n metadata: string = '';\n\n @tenantId({ nullable: true })\n tenantId: string | null = null;\n\n @field()\n createdAt: Date = new Date();\n @field()\n updatedAt: Date = new Date();\n\n constructor(options: FactSubjectOptions = {}) {\n super(options);\n if (options.factId) this.factId = options.factId;\n if (options.entityType) this.entityType = options.entityType;\n if (options.entityId) this.entityId = options.entityId;\n if (options.role !== undefined) this.role = options.role;\n\n if (options.metadata !== undefined) {\n if (typeof options.metadata === 'string') {\n this.metadata = options.metadata;\n } else {\n this.metadata = JSON.stringify(options.metadata);\n }\n }\n }\n\n getRole(): SubjectRole {\n return this.role as SubjectRole;\n }\n\n getMetadata(): Record<string, unknown> {\n const raw = this.metadata;\n if (!raw) return {};\n if (typeof raw === 'object')\n return raw as unknown as Record<string, unknown>;\n try {\n return JSON.parse(String(raw));\n } catch {\n return {};\n }\n }\n\n setMetadata(data: Record<string, unknown>): void {\n this.metadata = JSON.stringify(data);\n }\n\n updateMetadata(updates: Record<string, unknown>): void {\n const current = this.getMetadata();\n this.metadata = JSON.stringify({ ...current, ...updates });\n }\n\n /**\n * Get the fact this subject is linked to\n */\n async getFact(): Promise<import('./fact').Fact | null> {\n if (!this.factId) return null;\n\n const { FactCollection } = await import('./facts');\n const collection = await FactCollection.create(this.options);\n return await collection.get({ id: this.factId });\n }\n}\n","/**\n * FactSubjectCollection - Collection manager for FactSubject objects\n *\n * Provides queries for polymorphic entity linking, including\n * link/unlink operations and entity-centric lookups.\n */\n\nimport { SmrtCollection } from '@happyvertical/smrt-core';\nimport { queryGlobal, queryWithGlobals } from '@happyvertical/smrt-tenancy';\nimport { FactSubject } from './fact-subject';\nimport type { SubjectRole } from './types';\n\nexport class FactSubjectCollection extends SmrtCollection<FactSubject> {\n static readonly _itemClass = FactSubject;\n\n /**\n * Get all subjects linked to a fact\n */\n async getForFact(factId: string): Promise<FactSubject[]> {\n return this.list({ where: { factId } });\n }\n\n /**\n * Get all fact-subject links for a given entity\n */\n async getForEntity(\n entityType: string,\n entityId: string,\n ): Promise<FactSubject[]> {\n return this.list({ where: { entityType, entityId } });\n }\n\n /**\n * Link an entity to a fact\n */\n async linkEntity(\n factId: string,\n entityType: string,\n entityId: string,\n role: SubjectRole = 'subject',\n ): Promise<FactSubject> {\n return this.create({\n factId,\n entityType,\n entityId,\n role,\n });\n }\n\n /**\n * Unlink an entity from a fact\n */\n async unlinkEntity(\n factId: string,\n entityType: string,\n entityId: string,\n ): Promise<void> {\n const links = await this.list({\n where: { factId, entityType, entityId },\n });\n for (const link of links) {\n await link.delete();\n }\n }\n\n /**\n * Get subjects by role for a fact\n */\n async getByRole(factId: string, role: SubjectRole): Promise<FactSubject[]> {\n return this.list({ where: { factId, role } });\n }\n\n /**\n * Count entities linked to a fact\n */\n async countForFact(factId: string): Promise<number> {\n const subjects = await this.getForFact(factId);\n return subjects.length;\n }\n\n // =========================================================================\n // Tenant Helper Methods\n // =========================================================================\n\n /**\n * Find all subjects belonging to a specific tenant\n */\n async findByTenant(tenantId: string): Promise<FactSubject[]> {\n return this.list({ where: { tenantId } });\n }\n\n /**\n * Find all global (tenant-less) subjects.\n *\n * Routes through the shared tenant-global helper so it does not throw under\n * an active tenant context (an explicit `tenant_id IS NULL` filter would be\n * flagged as an isolation violation). (#1600)\n */\n async findGlobal(): Promise<FactSubject[]> {\n return queryGlobal<FactSubject>(this);\n }\n\n /**\n * Find subjects for a tenant including global subjects.\n *\n * Fails closed if an active tenant context requests a different tenant's\n * rows; the admin/system path keeps the cross-tenant capability. (#1600)\n */\n async findWithGlobals(tenantId: string): Promise<FactSubject[]> {\n return queryWithGlobals<FactSubject>(\n this,\n tenantId,\n 'FactSubject.findWithGlobals',\n );\n }\n}\n"],"mappings":"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"}
|