Add phased knowledge layer: comments and semantic linking pipeline

This commit is contained in:
phyroslam
2026-04-11 11:40:01 -07:00
parent baf3997fb6
commit df183230d8
16 changed files with 1020 additions and 1 deletions

View File

@@ -9,6 +9,7 @@ import { FieldDefinition } from '../models/field-definition.model';
import { User } from '../models/user.model';
import { ObjectMetadata } from './models/dynamic-model.factory';
import { MeilisearchService } from '../search/meilisearch.service';
import { SemanticOrchestratorService } from '../knowledge/services/semantic-orchestrator.service';
type SearchFilter = {
field: string;
@@ -39,6 +40,7 @@ export class ObjectService {
private modelService: ModelService,
private authService: AuthorizationService,
private meilisearchService: MeilisearchService,
private semanticOrchestratorService: SemanticOrchestratorService,
) {}
// Setup endpoints - Object metadata management
@@ -1128,6 +1130,13 @@ export class ObjectService {
);
const record = await boundModel.query().insert(normalizedRecordData);
await this.indexRecord(resolvedTenantId, objectApiName, objectDefModel.fields, record);
await this.semanticOrchestratorService.refreshRecord(
resolvedTenantId,
objectApiName,
record.id,
userId,
'record_created',
);
return record;
}
@@ -1197,6 +1206,13 @@ export class ObjectService {
await boundModel.query().patch(normalizedEditableData).where({ id: recordId });
const record = await boundModel.query().where({ id: recordId }).first();
await this.indexRecord(resolvedTenantId, objectApiName, objectDefModel.fields, record);
await this.semanticOrchestratorService.refreshRecord(
resolvedTenantId,
objectApiName,
recordId,
userId,
'record_updated',
);
return record;
}