@memberjunction/core-entities 5.49.0 → 5.50.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.
Files changed (34) hide show
  1. package/dist/custom/MJListEntityExtended.d.ts +27 -0
  2. package/dist/custom/MJListEntityExtended.d.ts.map +1 -0
  3. package/dist/custom/MJListEntityExtended.js +52 -0
  4. package/dist/custom/MJListEntityExtended.js.map +1 -0
  5. package/dist/custom/Permissions/BaseShareEntityExtended.d.ts.map +1 -1
  6. package/dist/custom/Permissions/BaseShareEntityExtended.js +6 -1
  7. package/dist/custom/Permissions/BaseShareEntityExtended.js.map +1 -1
  8. package/dist/custom/Permissions/MJArtifactPermissionEntityExtended.d.ts.map +1 -1
  9. package/dist/custom/Permissions/MJArtifactPermissionEntityExtended.js +6 -4
  10. package/dist/custom/Permissions/MJArtifactPermissionEntityExtended.js.map +1 -1
  11. package/dist/custom/Permissions/MJCollectionPermissionEntityExtended.d.ts.map +1 -1
  12. package/dist/custom/Permissions/MJCollectionPermissionEntityExtended.js +4 -2
  13. package/dist/custom/Permissions/MJCollectionPermissionEntityExtended.js.map +1 -1
  14. package/dist/engines/UserInfoEngine.d.ts +13 -0
  15. package/dist/engines/UserInfoEngine.d.ts.map +1 -1
  16. package/dist/engines/UserInfoEngine.js +23 -5
  17. package/dist/engines/UserInfoEngine.js.map +1 -1
  18. package/dist/engines/artifacts.d.ts +87 -12
  19. package/dist/engines/artifacts.d.ts.map +1 -1
  20. package/dist/engines/artifacts.js +140 -35
  21. package/dist/engines/artifacts.js.map +1 -1
  22. package/dist/engines/knowledgeHubMetadata.d.ts +26 -4
  23. package/dist/engines/knowledgeHubMetadata.d.ts.map +1 -1
  24. package/dist/engines/knowledgeHubMetadata.js +70 -16
  25. package/dist/engines/knowledgeHubMetadata.js.map +1 -1
  26. package/dist/generated/entity_subclasses.d.ts +1202 -78
  27. package/dist/generated/entity_subclasses.d.ts.map +1 -1
  28. package/dist/generated/entity_subclasses.js +1521 -243
  29. package/dist/generated/entity_subclasses.js.map +1 -1
  30. package/dist/index.d.ts +1 -0
  31. package/dist/index.d.ts.map +1 -1
  32. package/dist/index.js +1 -0
  33. package/dist/index.js.map +1 -1
  34. package/package.json +6 -6
@@ -3760,7 +3760,6 @@ export declare const MJAIPromptRunSchema: z.ZodObject<{
3760
3760
  ParentID: z.ZodNullable<z.ZodString>;
3761
3761
  RunType: z.ZodUnion<[z.ZodLiteral<"ParallelChild">, z.ZodLiteral<"ParallelParent">, z.ZodLiteral<"ResultSelector">, z.ZodLiteral<"Single">]>;
3762
3762
  ExecutionOrder: z.ZodNullable<z.ZodNumber>;
3763
- AgentRunID: z.ZodNullable<z.ZodString>;
3764
3763
  Cost: z.ZodNullable<z.ZodNumber>;
3765
3764
  CostCurrency: z.ZodNullable<z.ZodString>;
3766
3765
  TokensUsedRollup: z.ZodNullable<z.ZodNumber>;
@@ -3833,7 +3832,6 @@ export declare const MJAIPromptRunSchema: z.ZodObject<{
3833
3832
  Agent: z.ZodNullable<z.ZodString>;
3834
3833
  Configuration: z.ZodNullable<z.ZodString>;
3835
3834
  Parent: z.ZodNullable<z.ZodString>;
3836
- AgentRun: z.ZodNullable<z.ZodString>;
3837
3835
  OriginalModel: z.ZodNullable<z.ZodString>;
3838
3836
  RerunFromPromptRun: z.ZodNullable<z.ZodString>;
3839
3837
  Judge: z.ZodNullable<z.ZodString>;
@@ -3859,8 +3857,6 @@ export declare const MJAIPromptRunSchema: z.ZodObject<{
3859
3857
  PromptID?: string;
3860
3858
  ConfigurationID?: string;
3861
3859
  Prompt?: string;
3862
- AgentRunID?: string;
3863
- AgentRun?: string;
3864
3860
  Cancelled?: boolean;
3865
3861
  CompletedAt?: Date;
3866
3862
  Success?: boolean;
@@ -3963,8 +3959,6 @@ export declare const MJAIPromptRunSchema: z.ZodObject<{
3963
3959
  PromptID?: string;
3964
3960
  ConfigurationID?: string;
3965
3961
  Prompt?: string;
3966
- AgentRunID?: string;
3967
- AgentRun?: string;
3968
3962
  Cancelled?: boolean;
3969
3963
  CompletedAt?: Date;
3970
3964
  Success?: boolean;
@@ -4456,6 +4450,50 @@ export declare const MJAISkillPermissionSchema: z.ZodObject<{
4456
4450
  SkillID?: string;
4457
4451
  }>;
4458
4452
  export type MJAISkillPermissionEntityType = z.infer<typeof MJAISkillPermissionSchema>;
4453
+ /**
4454
+ * zod schema definition for the entity MJ: AI Skill Search Scopes
4455
+ */
4456
+ export declare const MJAISkillSearchScopeSchema: z.ZodObject<{
4457
+ ID: z.ZodString;
4458
+ SkillID: z.ZodString;
4459
+ SearchScopeID: z.ZodString;
4460
+ Status: z.ZodUnion<[z.ZodLiteral<"Active">, z.ZodLiteral<"Inactive">]>;
4461
+ StartAt: z.ZodNullable<z.ZodDate>;
4462
+ EndAt: z.ZodNullable<z.ZodDate>;
4463
+ Priority: z.ZodNullable<z.ZodNumber>;
4464
+ IsDefault: z.ZodBoolean;
4465
+ __mj_CreatedAt: z.ZodDate;
4466
+ __mj_UpdatedAt: z.ZodDate;
4467
+ Skill: z.ZodString;
4468
+ SearchScope: z.ZodString;
4469
+ }, "strip", z.ZodTypeAny, {
4470
+ ID?: string;
4471
+ __mj_CreatedAt?: Date;
4472
+ __mj_UpdatedAt?: Date;
4473
+ Status?: "Active" | "Inactive";
4474
+ Priority?: number;
4475
+ IsDefault?: boolean;
4476
+ Skill?: string;
4477
+ SearchScopeID?: string;
4478
+ StartAt?: Date;
4479
+ EndAt?: Date;
4480
+ SearchScope?: string;
4481
+ SkillID?: string;
4482
+ }, {
4483
+ ID?: string;
4484
+ __mj_CreatedAt?: Date;
4485
+ __mj_UpdatedAt?: Date;
4486
+ Status?: "Active" | "Inactive";
4487
+ Priority?: number;
4488
+ IsDefault?: boolean;
4489
+ Skill?: string;
4490
+ SearchScopeID?: string;
4491
+ StartAt?: Date;
4492
+ EndAt?: Date;
4493
+ SearchScope?: string;
4494
+ SkillID?: string;
4495
+ }>;
4496
+ export type MJAISkillSearchScopeEntityType = z.infer<typeof MJAISkillSearchScopeSchema>;
4459
4497
  /**
4460
4498
  * zod schema definition for the entity MJ: AI Skill Sub Agents
4461
4499
  */
@@ -4501,6 +4539,7 @@ export declare const MJAISkillSchema: z.ZodObject<{
4501
4539
  __mj_CreatedAt: z.ZodDate;
4502
4540
  __mj_UpdatedAt: z.ZodDate;
4503
4541
  ActivationMode: z.ZodUnion<[z.ZodLiteral<"Auto">, z.ZodLiteral<"RequestedOnly">]>;
4542
+ SearchScopeAccess: z.ZodNullable<z.ZodUnion<[z.ZodLiteral<"All">, z.ZodLiteral<"Assigned">, z.ZodLiteral<"None">]>>;
4504
4543
  CreatedByUser: z.ZodString;
4505
4544
  }, "strip", z.ZodTypeAny, {
4506
4545
  ID?: string;
@@ -4511,6 +4550,7 @@ export declare const MJAISkillSchema: z.ZodObject<{
4511
4550
  Status?: "Active" | "Pending" | "Deprecated";
4512
4551
  IconClass?: string;
4513
4552
  Category?: string;
4553
+ SearchScopeAccess?: "None" | "All" | "Assigned";
4514
4554
  Instructions?: string;
4515
4555
  Color?: string;
4516
4556
  CreatedByUserID?: string;
@@ -4525,6 +4565,7 @@ export declare const MJAISkillSchema: z.ZodObject<{
4525
4565
  Status?: "Active" | "Pending" | "Deprecated";
4526
4566
  IconClass?: string;
4527
4567
  Category?: string;
4568
+ SearchScopeAccess?: "None" | "All" | "Assigned";
4528
4569
  Instructions?: string;
4529
4570
  Color?: string;
4530
4571
  CreatedByUserID?: string;
@@ -6992,6 +7033,92 @@ export declare const MJContentItemAttributeSchema: z.ZodObject<{
6992
7033
  ContentItem?: string;
6993
7034
  }>;
6994
7035
  export type MJContentItemAttributeEntityType = z.infer<typeof MJContentItemAttributeSchema>;
7036
+ /**
7037
+ * zod schema definition for the entity MJ: Content Item Chunks
7038
+ */
7039
+ export declare const MJContentItemChunkSchema: z.ZodObject<{
7040
+ ID: z.ZodString;
7041
+ ContentItemID: z.ZodString;
7042
+ Sequence: z.ZodNumber;
7043
+ Text: z.ZodNullable<z.ZodString>;
7044
+ VectorRecordID: z.ZodNullable<z.ZodString>;
7045
+ EmbeddingStatus: z.ZodUnion<[z.ZodLiteral<"Active">, z.ZodLiteral<"Complete">, z.ZodLiteral<"Failed">, z.ZodLiteral<"Pending">, z.ZodLiteral<"Processed">, z.ZodLiteral<"Processing">, z.ZodLiteral<"Skipped">]>;
7046
+ TaggingStatus: z.ZodUnion<[z.ZodLiteral<"Active">, z.ZodLiteral<"Complete">, z.ZodLiteral<"Failed">, z.ZodLiteral<"Pending">, z.ZodLiteral<"Processed">, z.ZodLiteral<"Processing">, z.ZodLiteral<"Skipped">]>;
7047
+ DeleteStatus: z.ZodNullable<z.ZodUnion<[z.ZodLiteral<"Deleted">, z.ZodLiteral<"Pending">]>>;
7048
+ LastEmbeddedAt: z.ZodNullable<z.ZodDate>;
7049
+ LastTaggedAt: z.ZodNullable<z.ZodDate>;
7050
+ LastDeletedAt: z.ZodNullable<z.ZodDate>;
7051
+ __mj_CreatedAt: z.ZodDate;
7052
+ __mj_UpdatedAt: z.ZodDate;
7053
+ Modality: z.ZodUnion<[z.ZodLiteral<"audio">, z.ZodLiteral<"image">, z.ZodLiteral<"multimodal">, z.ZodLiteral<"text">, z.ZodLiteral<"video">]>;
7054
+ StartOffset: z.ZodNullable<z.ZodNumber>;
7055
+ EndOffset: z.ZodNullable<z.ZodNumber>;
7056
+ StartMs: z.ZodNullable<z.ZodNumber>;
7057
+ EndMs: z.ZodNullable<z.ZodNumber>;
7058
+ PageNumber: z.ZodNullable<z.ZodNumber>;
7059
+ SegmentTitle: z.ZodNullable<z.ZodString>;
7060
+ Description: z.ZodNullable<z.ZodString>;
7061
+ Transcript: z.ZodNullable<z.ZodString>;
7062
+ SegmenterKey: z.ZodNullable<z.ZodString>;
7063
+ ParentChunkID: z.ZodNullable<z.ZodString>;
7064
+ ContentItem: z.ZodNullable<z.ZodString>;
7065
+ RootParentChunkID: z.ZodNullable<z.ZodString>;
7066
+ }, "strip", z.ZodTypeAny, {
7067
+ ID?: string;
7068
+ __mj_CreatedAt?: Date;
7069
+ __mj_UpdatedAt?: Date;
7070
+ Description?: string;
7071
+ Sequence?: number;
7072
+ Modality?: "text" | "audio" | "image" | "multimodal" | "video";
7073
+ Text?: string;
7074
+ ContentItemID?: string;
7075
+ ContentItem?: string;
7076
+ VectorRecordID?: string;
7077
+ EmbeddingStatus?: "Active" | "Pending" | "Complete" | "Failed" | "Skipped" | "Processed" | "Processing";
7078
+ TaggingStatus?: "Active" | "Pending" | "Complete" | "Failed" | "Skipped" | "Processed" | "Processing";
7079
+ DeleteStatus?: "Pending" | "Deleted";
7080
+ LastEmbeddedAt?: Date;
7081
+ LastTaggedAt?: Date;
7082
+ LastDeletedAt?: Date;
7083
+ StartOffset?: number;
7084
+ EndOffset?: number;
7085
+ StartMs?: number;
7086
+ EndMs?: number;
7087
+ PageNumber?: number;
7088
+ SegmentTitle?: string;
7089
+ Transcript?: string;
7090
+ SegmenterKey?: string;
7091
+ ParentChunkID?: string;
7092
+ RootParentChunkID?: string;
7093
+ }, {
7094
+ ID?: string;
7095
+ __mj_CreatedAt?: Date;
7096
+ __mj_UpdatedAt?: Date;
7097
+ Description?: string;
7098
+ Sequence?: number;
7099
+ Modality?: "text" | "audio" | "image" | "multimodal" | "video";
7100
+ Text?: string;
7101
+ ContentItemID?: string;
7102
+ ContentItem?: string;
7103
+ VectorRecordID?: string;
7104
+ EmbeddingStatus?: "Active" | "Pending" | "Complete" | "Failed" | "Skipped" | "Processed" | "Processing";
7105
+ TaggingStatus?: "Active" | "Pending" | "Complete" | "Failed" | "Skipped" | "Processed" | "Processing";
7106
+ DeleteStatus?: "Pending" | "Deleted";
7107
+ LastEmbeddedAt?: Date;
7108
+ LastTaggedAt?: Date;
7109
+ LastDeletedAt?: Date;
7110
+ StartOffset?: number;
7111
+ EndOffset?: number;
7112
+ StartMs?: number;
7113
+ EndMs?: number;
7114
+ PageNumber?: number;
7115
+ SegmentTitle?: string;
7116
+ Transcript?: string;
7117
+ SegmenterKey?: string;
7118
+ ParentChunkID?: string;
7119
+ RootParentChunkID?: string;
7120
+ }>;
7121
+ export type MJContentItemChunkEntityType = z.infer<typeof MJContentItemChunkSchema>;
6995
7122
  /**
6996
7123
  * zod schema definition for the entity MJ: Content Item Duplicates
6997
7124
  */
@@ -7108,33 +7235,43 @@ export declare const MJContentItemSchema: z.ZodObject<{
7108
7235
  EmbeddingModelID: z.ZodNullable<z.ZodString>;
7109
7236
  TaggingStatus: z.ZodUnion<[z.ZodLiteral<"Complete">, z.ZodLiteral<"Failed">, z.ZodLiteral<"Pending">, z.ZodLiteral<"Processing">, z.ZodLiteral<"Skipped">]>;
7110
7237
  LastTaggedAt: z.ZodNullable<z.ZodDate>;
7238
+ VectorRecordID: z.ZodNullable<z.ZodString>;
7239
+ ParentID: z.ZodNullable<z.ZodString>;
7240
+ DisplayLink: z.ZodNullable<z.ZodString>;
7111
7241
  ContentSource: z.ZodNullable<z.ZodString>;
7112
7242
  ContentType: z.ZodString;
7113
7243
  ContentSourceType: z.ZodString;
7114
7244
  ContentFileType: z.ZodString;
7115
7245
  EntityRecordDocument: z.ZodNullable<z.ZodString>;
7116
7246
  EmbeddingModel: z.ZodNullable<z.ZodString>;
7247
+ Parent: z.ZodNullable<z.ZodString>;
7248
+ RootParentID: z.ZodNullable<z.ZodString>;
7117
7249
  }, "strip", z.ZodTypeAny, {
7118
7250
  ID?: string;
7119
7251
  __mj_CreatedAt?: Date;
7120
7252
  __mj_UpdatedAt?: Date;
7121
7253
  Name?: string;
7122
7254
  Description?: string;
7255
+ ParentID?: string;
7256
+ Parent?: string;
7257
+ RootParentID?: string;
7123
7258
  EmbeddingModelID?: string;
7124
7259
  EmbeddingModel?: string;
7125
7260
  Text?: string;
7126
7261
  ContentType?: string;
7127
7262
  URL?: string;
7263
+ VectorRecordID?: string;
7264
+ EmbeddingStatus?: "Pending" | "Complete" | "Failed" | "Skipped" | "Processing";
7265
+ TaggingStatus?: "Pending" | "Complete" | "Failed" | "Skipped" | "Processing";
7266
+ LastEmbeddedAt?: Date;
7267
+ LastTaggedAt?: Date;
7128
7268
  Checksum?: string;
7129
7269
  ContentSourceID?: string;
7130
7270
  ContentTypeID?: string;
7131
7271
  ContentSourceTypeID?: string;
7132
7272
  ContentFileTypeID?: string;
7133
7273
  EntityRecordDocumentID?: string;
7134
- EmbeddingStatus?: "Pending" | "Complete" | "Failed" | "Skipped" | "Processing";
7135
- LastEmbeddedAt?: Date;
7136
- TaggingStatus?: "Pending" | "Complete" | "Failed" | "Skipped" | "Processing";
7137
- LastTaggedAt?: Date;
7274
+ DisplayLink?: string;
7138
7275
  ContentSource?: string;
7139
7276
  ContentSourceType?: string;
7140
7277
  ContentFileType?: string;
@@ -7145,21 +7282,26 @@ export declare const MJContentItemSchema: z.ZodObject<{
7145
7282
  __mj_UpdatedAt?: Date;
7146
7283
  Name?: string;
7147
7284
  Description?: string;
7285
+ ParentID?: string;
7286
+ Parent?: string;
7287
+ RootParentID?: string;
7148
7288
  EmbeddingModelID?: string;
7149
7289
  EmbeddingModel?: string;
7150
7290
  Text?: string;
7151
7291
  ContentType?: string;
7152
7292
  URL?: string;
7293
+ VectorRecordID?: string;
7294
+ EmbeddingStatus?: "Pending" | "Complete" | "Failed" | "Skipped" | "Processing";
7295
+ TaggingStatus?: "Pending" | "Complete" | "Failed" | "Skipped" | "Processing";
7296
+ LastEmbeddedAt?: Date;
7297
+ LastTaggedAt?: Date;
7153
7298
  Checksum?: string;
7154
7299
  ContentSourceID?: string;
7155
7300
  ContentTypeID?: string;
7156
7301
  ContentSourceTypeID?: string;
7157
7302
  ContentFileTypeID?: string;
7158
7303
  EntityRecordDocumentID?: string;
7159
- EmbeddingStatus?: "Pending" | "Complete" | "Failed" | "Skipped" | "Processing";
7160
- LastEmbeddedAt?: Date;
7161
- TaggingStatus?: "Pending" | "Complete" | "Failed" | "Skipped" | "Processing";
7162
- LastTaggedAt?: Date;
7304
+ DisplayLink?: string;
7163
7305
  ContentSource?: string;
7164
7306
  ContentSourceType?: string;
7165
7307
  ContentFileType?: string;
@@ -7430,6 +7572,8 @@ export declare const MJContentSourceSchema: z.ZodObject<{
7430
7572
  EntityID: z.ZodNullable<z.ZodString>;
7431
7573
  EntityDocumentID: z.ZodNullable<z.ZodString>;
7432
7574
  ScheduledActionID: z.ZodNullable<z.ZodString>;
7575
+ SegmenterKey: z.ZodNullable<z.ZodString>;
7576
+ CleanerKey: z.ZodNullable<z.ZodString>;
7433
7577
  ContentType: z.ZodString;
7434
7578
  ContentSourceType: z.ZodString;
7435
7579
  ContentFileType: z.ZodString;
@@ -7450,6 +7594,7 @@ export declare const MJContentSourceSchema: z.ZodObject<{
7450
7594
  EmbeddingModel?: string;
7451
7595
  ContentType?: string;
7452
7596
  URL?: string;
7597
+ SegmenterKey?: string;
7453
7598
  ContentTypeID?: string;
7454
7599
  ContentSourceTypeID?: string;
7455
7600
  ContentFileTypeID?: string;
@@ -7458,6 +7603,7 @@ export declare const MJContentSourceSchema: z.ZodObject<{
7458
7603
  VectorIndexID?: string;
7459
7604
  EntityDocumentID?: string;
7460
7605
  ScheduledActionID?: string;
7606
+ CleanerKey?: string;
7461
7607
  VectorIndex?: string;
7462
7608
  EntityDocument?: string;
7463
7609
  ScheduledAction?: string;
@@ -7473,6 +7619,7 @@ export declare const MJContentSourceSchema: z.ZodObject<{
7473
7619
  EmbeddingModel?: string;
7474
7620
  ContentType?: string;
7475
7621
  URL?: string;
7622
+ SegmenterKey?: string;
7476
7623
  ContentTypeID?: string;
7477
7624
  ContentSourceTypeID?: string;
7478
7625
  ContentFileTypeID?: string;
@@ -7481,6 +7628,7 @@ export declare const MJContentSourceSchema: z.ZodObject<{
7481
7628
  VectorIndexID?: string;
7482
7629
  EntityDocumentID?: string;
7483
7630
  ScheduledActionID?: string;
7631
+ CleanerKey?: string;
7484
7632
  VectorIndex?: string;
7485
7633
  EntityDocument?: string;
7486
7634
  ScheduledAction?: string;
@@ -7530,6 +7678,8 @@ export declare const MJContentTypeSchema: z.ZodObject<{
7530
7678
  EmbeddingModelID: z.ZodNullable<z.ZodString>;
7531
7679
  VectorIndexID: z.ZodNullable<z.ZodString>;
7532
7680
  Configuration: z.ZodNullable<z.ZodAny>;
7681
+ SegmenterKey: z.ZodNullable<z.ZodString>;
7682
+ CleanerKey: z.ZodNullable<z.ZodString>;
7533
7683
  AIModel: z.ZodString;
7534
7684
  EmbeddingModel: z.ZodNullable<z.ZodString>;
7535
7685
  VectorIndex: z.ZodNullable<z.ZodString>;
@@ -7544,7 +7694,9 @@ export declare const MJContentTypeSchema: z.ZodObject<{
7544
7694
  EmbeddingModel?: string;
7545
7695
  AIModelID?: string;
7546
7696
  AIModel?: string;
7697
+ SegmenterKey?: string;
7547
7698
  VectorIndexID?: string;
7699
+ CleanerKey?: string;
7548
7700
  VectorIndex?: string;
7549
7701
  MinTags?: number;
7550
7702
  MaxTags?: number;
@@ -7559,7 +7711,9 @@ export declare const MJContentTypeSchema: z.ZodObject<{
7559
7711
  EmbeddingModel?: string;
7560
7712
  AIModelID?: string;
7561
7713
  AIModel?: string;
7714
+ SegmenterKey?: string;
7562
7715
  VectorIndexID?: string;
7716
+ CleanerKey?: string;
7563
7717
  VectorIndex?: string;
7564
7718
  MinTags?: number;
7565
7719
  MaxTags?: number;
@@ -7670,6 +7824,35 @@ export declare const MJConversationArtifactSchema: z.ZodObject<{
7670
7824
  SharingScope?: "Everyone" | "Public" | "None" | "SpecificUsers";
7671
7825
  }>;
7672
7826
  export type MJConversationArtifactEntityType = z.infer<typeof MJConversationArtifactSchema>;
7827
+ /**
7828
+ * zod schema definition for the entity MJ: Conversation Compaction Runs
7829
+ */
7830
+ export declare const MJConversationCompactionRunSchema: z.ZodObject<{
7831
+ ID: z.ZodString;
7832
+ ConversationDetailID: z.ZodString;
7833
+ PromptRunID: z.ZodString;
7834
+ __mj_CreatedAt: z.ZodDate;
7835
+ __mj_UpdatedAt: z.ZodDate;
7836
+ ConversationDetail: z.ZodNullable<z.ZodString>;
7837
+ PromptRun: z.ZodNullable<z.ZodString>;
7838
+ }, "strip", z.ZodTypeAny, {
7839
+ ID?: string;
7840
+ __mj_CreatedAt?: Date;
7841
+ __mj_UpdatedAt?: Date;
7842
+ ConversationDetailID?: string;
7843
+ ConversationDetail?: string;
7844
+ PromptRunID?: string;
7845
+ PromptRun?: string;
7846
+ }, {
7847
+ ID?: string;
7848
+ __mj_CreatedAt?: Date;
7849
+ __mj_UpdatedAt?: Date;
7850
+ ConversationDetailID?: string;
7851
+ ConversationDetail?: string;
7852
+ PromptRunID?: string;
7853
+ PromptRun?: string;
7854
+ }>;
7855
+ export type MJConversationCompactionRunEntityType = z.infer<typeof MJConversationCompactionRunSchema>;
7673
7856
  /**
7674
7857
  * zod schema definition for the entity MJ: Conversation Detail Artifacts
7675
7858
  */
@@ -7845,7 +8028,6 @@ export declare const MJConversationDetailSchema: z.ZodObject<{
7845
8028
  UtteranceEndMs: z.ZodNullable<z.ZodNumber>;
7846
8029
  MediaType: z.ZodNullable<z.ZodUnion<[z.ZodLiteral<"Audio">, z.ZodLiteral<"Text">, z.ZodLiteral<"Video">]>>;
7847
8030
  Sequence: z.ZodNumber;
7848
- SummaryPromptRunID: z.ZodNullable<z.ZodString>;
7849
8031
  Conversation: z.ZodNullable<z.ZodString>;
7850
8032
  User: z.ZodNullable<z.ZodString>;
7851
8033
  Artifact: z.ZodNullable<z.ZodString>;
@@ -7853,7 +8035,6 @@ export declare const MJConversationDetailSchema: z.ZodObject<{
7853
8035
  Parent: z.ZodNullable<z.ZodString>;
7854
8036
  Agent: z.ZodNullable<z.ZodString>;
7855
8037
  TestRun: z.ZodNullable<z.ZodString>;
7856
- SummaryPromptRun: z.ZodNullable<z.ZodString>;
7857
8038
  RootParentID: z.ZodNullable<z.ZodString>;
7858
8039
  }, "strip", z.ZodTypeAny, {
7859
8040
  ID?: string;
@@ -7897,8 +8078,6 @@ export declare const MJConversationDetailSchema: z.ZodObject<{
7897
8078
  UtteranceStartMs?: number;
7898
8079
  UtteranceEndMs?: number;
7899
8080
  MediaType?: "Audio" | "Video" | "Text";
7900
- SummaryPromptRunID?: string;
7901
- SummaryPromptRun?: string;
7902
8081
  }, {
7903
8082
  ID?: string;
7904
8083
  Role?: "User" | "Error" | "AI";
@@ -7941,8 +8120,6 @@ export declare const MJConversationDetailSchema: z.ZodObject<{
7941
8120
  UtteranceStartMs?: number;
7942
8121
  UtteranceEndMs?: number;
7943
8122
  MediaType?: "Audio" | "Video" | "Text";
7944
- SummaryPromptRunID?: string;
7945
- SummaryPromptRun?: string;
7946
8123
  }>;
7947
8124
  export type MJConversationDetailEntityType = z.infer<typeof MJConversationDetailSchema>;
7948
8125
  /**
@@ -11630,7 +11807,7 @@ export declare const MJIntegrationObjectSchema: z.ZodObject<{
11630
11807
  ResponseDataKey?: string;
11631
11808
  DefaultPageSize?: number;
11632
11809
  SupportsPagination?: boolean;
11633
- PaginationType?: "None" | "Cursor" | "Offset" | "PageNumber";
11810
+ PaginationType?: "None" | "Cursor" | "PageNumber" | "Offset";
11634
11811
  SupportsIncrementalSync?: boolean;
11635
11812
  SupportsWrite?: boolean;
11636
11813
  DefaultQueryParams?: string;
@@ -11675,7 +11852,7 @@ export declare const MJIntegrationObjectSchema: z.ZodObject<{
11675
11852
  ResponseDataKey?: string;
11676
11853
  DefaultPageSize?: number;
11677
11854
  SupportsPagination?: boolean;
11678
- PaginationType?: "None" | "Cursor" | "Offset" | "PageNumber";
11855
+ PaginationType?: "None" | "Cursor" | "PageNumber" | "Offset";
11679
11856
  SupportsIncrementalSync?: boolean;
11680
11857
  SupportsWrite?: boolean;
11681
11858
  DefaultQueryParams?: string;
@@ -16164,9 +16341,13 @@ export declare const MJSearchExecutionLogSchema: z.ZodObject<{
16164
16341
  ProvidersJSON: z.ZodNullable<z.ZodString>;
16165
16342
  __mj_CreatedAt: z.ZodDate;
16166
16343
  __mj_UpdatedAt: z.ZodDate;
16344
+ AISkillID: z.ZodNullable<z.ZodString>;
16345
+ PrimaryScopeRecordID: z.ZodNullable<z.ZodString>;
16346
+ ScopeDecisionJSON: z.ZodNullable<z.ZodString>;
16167
16347
  SearchScope: z.ZodNullable<z.ZodString>;
16168
16348
  User: z.ZodNullable<z.ZodString>;
16169
16349
  AIAgent: z.ZodNullable<z.ZodString>;
16350
+ AISkill: z.ZodNullable<z.ZodString>;
16170
16351
  }, "strip", z.ZodTypeAny, {
16171
16352
  ID?: string;
16172
16353
  User?: string;
@@ -16174,6 +16355,7 @@ export declare const MJSearchExecutionLogSchema: z.ZodObject<{
16174
16355
  __mj_UpdatedAt?: Date;
16175
16356
  Status?: "Success" | "Failure" | "Forbidden";
16176
16357
  UserID?: string;
16358
+ PrimaryScopeRecordID?: string;
16177
16359
  SearchScopeID?: string;
16178
16360
  SearchScope?: string;
16179
16361
  Query?: string;
@@ -16184,7 +16366,10 @@ export declare const MJSearchExecutionLogSchema: z.ZodObject<{
16184
16366
  RerankerCostCents?: number;
16185
16367
  FailureReason?: string;
16186
16368
  ProvidersJSON?: string;
16369
+ AISkillID?: string;
16370
+ ScopeDecisionJSON?: string;
16187
16371
  AIAgent?: string;
16372
+ AISkill?: string;
16188
16373
  }, {
16189
16374
  ID?: string;
16190
16375
  User?: string;
@@ -16192,6 +16377,7 @@ export declare const MJSearchExecutionLogSchema: z.ZodObject<{
16192
16377
  __mj_UpdatedAt?: Date;
16193
16378
  Status?: "Success" | "Failure" | "Forbidden";
16194
16379
  UserID?: string;
16380
+ PrimaryScopeRecordID?: string;
16195
16381
  SearchScopeID?: string;
16196
16382
  SearchScope?: string;
16197
16383
  Query?: string;
@@ -16202,7 +16388,10 @@ export declare const MJSearchExecutionLogSchema: z.ZodObject<{
16202
16388
  RerankerCostCents?: number;
16203
16389
  FailureReason?: string;
16204
16390
  ProvidersJSON?: string;
16391
+ AISkillID?: string;
16392
+ ScopeDecisionJSON?: string;
16205
16393
  AIAgent?: string;
16394
+ AISkill?: string;
16206
16395
  }>;
16207
16396
  export type MJSearchExecutionLogEntityType = z.infer<typeof MJSearchExecutionLogSchema>;
16208
16397
  /**
@@ -16272,6 +16461,7 @@ export declare const MJSearchScopeEntitySchema: z.ZodObject<{
16272
16461
  UserSearchString: z.ZodNullable<z.ZodString>;
16273
16462
  __mj_CreatedAt: z.ZodDate;
16274
16463
  __mj_UpdatedAt: z.ZodDate;
16464
+ RequiredMetadataKeys: z.ZodNullable<z.ZodString>;
16275
16465
  SearchScope: z.ZodString;
16276
16466
  Entity: z.ZodString;
16277
16467
  }, "strip", z.ZodTypeAny, {
@@ -16284,6 +16474,7 @@ export declare const MJSearchScopeEntitySchema: z.ZodObject<{
16284
16474
  SearchScopeID?: string;
16285
16475
  SearchScope?: string;
16286
16476
  UserSearchString?: string;
16477
+ RequiredMetadataKeys?: string;
16287
16478
  }, {
16288
16479
  ID?: string;
16289
16480
  EntityID?: string;
@@ -16294,6 +16485,7 @@ export declare const MJSearchScopeEntitySchema: z.ZodObject<{
16294
16485
  SearchScopeID?: string;
16295
16486
  SearchScope?: string;
16296
16487
  UserSearchString?: string;
16488
+ RequiredMetadataKeys?: string;
16297
16489
  }>;
16298
16490
  export type MJSearchScopeEntityEntityType = z.infer<typeof MJSearchScopeEntitySchema>;
16299
16491
  /**
@@ -16309,6 +16501,7 @@ export declare const MJSearchScopeExternalIndexSchema: z.ZodObject<{
16309
16501
  MetadataFilter: z.ZodNullable<z.ZodString>;
16310
16502
  __mj_CreatedAt: z.ZodDate;
16311
16503
  __mj_UpdatedAt: z.ZodDate;
16504
+ RequiredMetadataKeys: z.ZodNullable<z.ZodString>;
16312
16505
  SearchScope: z.ZodString;
16313
16506
  VectorIndex: z.ZodNullable<z.ZodString>;
16314
16507
  }, "strip", z.ZodTypeAny, {
@@ -16319,6 +16512,7 @@ export declare const MJSearchScopeExternalIndexSchema: z.ZodObject<{
16319
16512
  SearchScope?: string;
16320
16513
  VectorIndexID?: string;
16321
16514
  VectorIndex?: string;
16515
+ RequiredMetadataKeys?: string;
16322
16516
  IndexType?: "Other" | "Vector" | "AzureAISearch" | "Elasticsearch" | "OpenSearch" | "Typesense";
16323
16517
  ExternalIndexName?: string;
16324
16518
  ExternalIndexConfig?: string;
@@ -16331,6 +16525,7 @@ export declare const MJSearchScopeExternalIndexSchema: z.ZodObject<{
16331
16525
  SearchScope?: string;
16332
16526
  VectorIndexID?: string;
16333
16527
  VectorIndex?: string;
16528
+ RequiredMetadataKeys?: string;
16334
16529
  IndexType?: "Other" | "Vector" | "AzureAISearch" | "Elasticsearch" | "OpenSearch" | "Typesense";
16335
16530
  ExternalIndexName?: string;
16336
16531
  ExternalIndexConfig?: string;
@@ -16348,6 +16543,9 @@ export declare const MJSearchScopePermissionSchema: z.ZodObject<{
16348
16543
  PermissionLevel: z.ZodUnion<[z.ZodLiteral<"Manage">, z.ZodLiteral<"None">, z.ZodLiteral<"Read">, z.ZodLiteral<"Search">]>;
16349
16544
  __mj_CreatedAt: z.ZodDate;
16350
16545
  __mj_UpdatedAt: z.ZodDate;
16546
+ StartAt: z.ZodNullable<z.ZodDate>;
16547
+ EndAt: z.ZodNullable<z.ZodDate>;
16548
+ PrimaryScopeRecordID: z.ZodNullable<z.ZodString>;
16351
16549
  SearchScope: z.ZodString;
16352
16550
  User: z.ZodNullable<z.ZodString>;
16353
16551
  Role: z.ZodNullable<z.ZodString>;
@@ -16358,8 +16556,11 @@ export declare const MJSearchScopePermissionSchema: z.ZodObject<{
16358
16556
  __mj_CreatedAt?: Date;
16359
16557
  __mj_UpdatedAt?: Date;
16360
16558
  UserID?: string;
16559
+ PrimaryScopeRecordID?: string;
16361
16560
  RoleID?: string;
16362
16561
  SearchScopeID?: string;
16562
+ StartAt?: Date;
16563
+ EndAt?: Date;
16363
16564
  SearchScope?: string;
16364
16565
  PermissionLevel?: "None" | "Search" | "Read" | "Manage";
16365
16566
  }, {
@@ -16369,8 +16570,11 @@ export declare const MJSearchScopePermissionSchema: z.ZodObject<{
16369
16570
  __mj_CreatedAt?: Date;
16370
16571
  __mj_UpdatedAt?: Date;
16371
16572
  UserID?: string;
16573
+ PrimaryScopeRecordID?: string;
16372
16574
  RoleID?: string;
16373
16575
  SearchScopeID?: string;
16576
+ StartAt?: Date;
16577
+ EndAt?: Date;
16374
16578
  SearchScope?: string;
16375
16579
  PermissionLevel?: "None" | "Search" | "Read" | "Manage";
16376
16580
  }>;
@@ -16951,7 +17155,7 @@ export declare const MJTagAuditLogSchema: z.ZodObject<{
16951
17155
  ID?: string;
16952
17156
  __mj_CreatedAt?: Date;
16953
17157
  __mj_UpdatedAt?: Date;
16954
- Action?: "Deprecated" | "Merged" | "Created" | "Deleted" | "DescriptionChanged" | "Moved" | "Reactivated" | "Renamed" | "Split";
17158
+ Action?: "Deprecated" | "Deleted" | "Merged" | "Created" | "DescriptionChanged" | "Moved" | "Reactivated" | "Renamed" | "Split";
16955
17159
  Details?: string;
16956
17160
  Tag?: string;
16957
17161
  TagID?: string;
@@ -16963,7 +17167,7 @@ export declare const MJTagAuditLogSchema: z.ZodObject<{
16963
17167
  ID?: string;
16964
17168
  __mj_CreatedAt?: Date;
16965
17169
  __mj_UpdatedAt?: Date;
16966
- Action?: "Deprecated" | "Merged" | "Created" | "Deleted" | "DescriptionChanged" | "Moved" | "Reactivated" | "Renamed" | "Split";
17170
+ Action?: "Deprecated" | "Deleted" | "Merged" | "Created" | "DescriptionChanged" | "Moved" | "Reactivated" | "Renamed" | "Split";
16967
17171
  Details?: string;
16968
17172
  Tag?: string;
16969
17173
  TagID?: string;
@@ -17215,7 +17419,7 @@ export declare const MJTagSchema: z.ZodObject<{
17215
17419
  Name?: string;
17216
17420
  Description?: string;
17217
17421
  ParentID?: string;
17218
- Status?: "Active" | "Deprecated" | "Merged" | "Deleted";
17422
+ Status?: "Active" | "Deprecated" | "Deleted" | "Merged";
17219
17423
  Parent?: string;
17220
17424
  RootParentID?: string;
17221
17425
  DisplayName?: string;
@@ -17239,7 +17443,7 @@ export declare const MJTagSchema: z.ZodObject<{
17239
17443
  Name?: string;
17240
17444
  Description?: string;
17241
17445
  ParentID?: string;
17242
- Status?: "Active" | "Deprecated" | "Merged" | "Deleted";
17446
+ Status?: "Active" | "Deprecated" | "Deleted" | "Merged";
17243
17447
  Parent?: string;
17244
17448
  RootParentID?: string;
17245
17449
  DisplayName?: string;
@@ -26907,6 +27111,45 @@ export declare class MJAIAgentTypeEntity extends BaseEntity<MJAIAgentTypeEntityT
26907
27111
  */
26908
27112
  Load(ID: string, EntityRelationshipsToLoad?: string[]): Promise<boolean>;
26909
27113
  /**
27114
+ * Validate() method override for MJ: AI Agent Types entity. This is an auto-generated method that invokes the generated validators for this entity for the following fields:
27115
+ * * CompactionTargetPercent: The compaction target percentage must be a value between 1 and 100 percent.
27116
+ * * CompactionTriggerPercent: The compaction trigger percentage must be a value between 1 and 100 percent.
27117
+ * * ContextWindowMaxTokens: The maximum tokens for the context window must be a positive number greater than 0.
27118
+ * * Table-Level: The compaction target percentage must be less than the compaction trigger percentage to ensure that compaction successfully reduces the resource usage below the trigger threshold.
27119
+ * @public
27120
+ * @method
27121
+ * @override
27122
+ */
27123
+ Validate(): ValidationResult;
27124
+ /**
27125
+ * The compaction target percentage must be a value between 1 and 100 percent.
27126
+ * @param result - the ValidationResult object to add any errors or warnings to
27127
+ * @public
27128
+ * @method
27129
+ */
27130
+ ValidateCompactionTargetPercentRange(result: ValidationResult): void;
27131
+ /**
27132
+ * The compaction trigger percentage must be a value between 1 and 100 percent.
27133
+ * @param result - the ValidationResult object to add any errors or warnings to
27134
+ * @public
27135
+ * @method
27136
+ */
27137
+ ValidateCompactionTriggerPercentRange(result: ValidationResult): void;
27138
+ /**
27139
+ * The maximum tokens for the context window must be a positive number greater than 0.
27140
+ * @param result - the ValidationResult object to add any errors or warnings to
27141
+ * @public
27142
+ * @method
27143
+ */
27144
+ ValidateContextWindowMaxTokensGreaterThanZero(result: ValidationResult): void;
27145
+ /**
27146
+ * The compaction target percentage must be less than the compaction trigger percentage to ensure that compaction successfully reduces the resource usage below the trigger threshold.
27147
+ * @param result - the ValidationResult object to add any errors or warnings to
27148
+ * @public
27149
+ * @method
27150
+ */
27151
+ ValidateCompactionTargetPercentLessThanTriggerPercent(result: ValidationResult): void;
27152
+ /**
26910
27153
  * * Field Name: ID
26911
27154
  * * Display Name: ID
26912
27155
  * * SQL Data Type: uniqueidentifier
@@ -27166,6 +27409,9 @@ export declare class MJAIAgentEntity extends BaseEntity<MJAIAgentEntityType> {
27166
27409
  Delete(options?: EntityDeleteOptions): Promise<boolean>;
27167
27410
  /**
27168
27411
  * Validate() method override for MJ: AI Agents entity. This is an auto-generated method that invokes the generated validators for this entity for the following fields:
27412
+ * * CompactionTargetPercent: The compaction target percentage must be between 1 and 100 percent.
27413
+ * * CompactionTriggerPercent: The compaction trigger percentage must be a value between 1 and 100.
27414
+ * * ContextWindowMaxTokens: The maximum tokens for the context window must be a positive number greater than zero.
27169
27415
  * * DefaultPromptEffortLevel: This rule ensures that if a default prompt effort level is specified, it must be a number between 1 and 100, inclusive.
27170
27416
  * * MaxExecutionsPerRun: This rule ensures that if 'MaxExecutionsPerRun' is provided, it must be a value greater than zero. If it is left blank, that's acceptable.
27171
27417
  * * MaxMessages: This rule ensures that the maximum number of messages, if specified, must be greater than zero.
@@ -27179,6 +27425,27 @@ export declare class MJAIAgentEntity extends BaseEntity<MJAIAgentEntityType> {
27179
27425
  */
27180
27426
  Validate(): ValidationResult;
27181
27427
  /**
27428
+ * The compaction target percentage must be between 1 and 100 percent.
27429
+ * @param result - the ValidationResult object to add any errors or warnings to
27430
+ * @public
27431
+ * @method
27432
+ */
27433
+ ValidateCompactionTargetPercentRange(result: ValidationResult): void;
27434
+ /**
27435
+ * The compaction trigger percentage must be a value between 1 and 100.
27436
+ * @param result - the ValidationResult object to add any errors or warnings to
27437
+ * @public
27438
+ * @method
27439
+ */
27440
+ ValidateCompactionTriggerPercentRange(result: ValidationResult): void;
27441
+ /**
27442
+ * The maximum tokens for the context window must be a positive number greater than zero.
27443
+ * @param result - the ValidationResult object to add any errors or warnings to
27444
+ * @public
27445
+ * @method
27446
+ */
27447
+ ValidateContextWindowMaxTokensGreaterThanZero(result: ValidationResult): void;
27448
+ /**
27182
27449
  * This rule ensures that if a default prompt effort level is specified, it must be a number between 1 and 100, inclusive.
27183
27450
  * @param result - the ValidationResult object to add any errors or warnings to
27184
27451
  * @public
@@ -31313,15 +31580,6 @@ export declare class MJAIPromptRunEntity extends BaseEntity<MJAIPromptRunEntityT
31313
31580
  get ExecutionOrder(): number | null;
31314
31581
  set ExecutionOrder(value: number | null);
31315
31582
  /**
31316
- * * Field Name: AgentRunID
31317
- * * Display Name: Agent Run
31318
- * * SQL Data Type: uniqueidentifier
31319
- * * Related Entity/Foreign Key: MJ: AI Agent Runs (vwAIAgentRuns.ID)
31320
- * * Description: Optional reference to the AIAgentRun that initiated this prompt execution. Links prompt runs to their parent agent runs for comprehensive execution tracking.
31321
- */
31322
- get AgentRunID(): string | null;
31323
- set AgentRunID(value: string | null);
31324
- /**
31325
31583
  * * Field Name: Cost
31326
31584
  * * Display Name: Cost
31327
31585
  * * SQL Data Type: decimal(19, 8)
@@ -31909,12 +32167,6 @@ export declare class MJAIPromptRunEntity extends BaseEntity<MJAIPromptRunEntityT
31909
32167
  */
31910
32168
  get Parent(): string | null;
31911
32169
  /**
31912
- * * Field Name: AgentRun
31913
- * * Display Name: Agent Run
31914
- * * SQL Data Type: nvarchar(255)
31915
- */
31916
- get AgentRun(): string | null;
31917
- /**
31918
32170
  * * Field Name: OriginalModel
31919
32171
  * * Display Name: Original Model
31920
32172
  * * SQL Data Type: nvarchar(50)
@@ -33327,6 +33579,129 @@ export declare class MJAISkillPermissionEntity extends BaseEntity<MJAISkillPermi
33327
33579
  */
33328
33580
  get User(): string | null;
33329
33581
  }
33582
+ /**
33583
+ * MJ: AI Skill Search Scopes - strongly typed entity sub-class
33584
+ * * Schema: __mj
33585
+ * * Base Table: AISkillSearchScope
33586
+ * * Base View: vwAISkillSearchScopes
33587
+ * * @description Search Scopes an AI Skill may reach when activated, honoured when AISkill.SearchScopeAccess = 'Assigned'. Mirrors AIAgentSearchScope: Status plus an optional StartAt/EndAt window time-box a grant, and Priority/IsDefault pick among several. An empty table means no skill grants any scope - the pre-migration behaviour.
33588
+ * * Primary Key: ID
33589
+ * @extends {BaseEntity}
33590
+ * @class
33591
+ * @public
33592
+ */
33593
+ export declare class MJAISkillSearchScopeEntity extends BaseEntity<MJAISkillSearchScopeEntityType> {
33594
+ /**
33595
+ * Loads the MJ: AI Skill Search Scopes record from the database
33596
+ * @param ID: string - primary key value to load the MJ: AI Skill Search Scopes record.
33597
+ * @param EntityRelationshipsToLoad - (optional) the relationships to load
33598
+ * @returns {Promise<boolean>} - true if successful, false otherwise
33599
+ * @public
33600
+ * @async
33601
+ * @memberof MJAISkillSearchScopeEntity
33602
+ * @method
33603
+ * @override
33604
+ */
33605
+ Load(ID: string, EntityRelationshipsToLoad?: string[]): Promise<boolean>;
33606
+ /**
33607
+ * * Field Name: ID
33608
+ * * Display Name: ID
33609
+ * * SQL Data Type: uniqueidentifier
33610
+ * * Default Value: newsequentialid()
33611
+ */
33612
+ get ID(): string;
33613
+ set ID(value: string);
33614
+ /**
33615
+ * * Field Name: SkillID
33616
+ * * Display Name: Skill ID
33617
+ * * SQL Data Type: uniqueidentifier
33618
+ * * Related Entity/Foreign Key: MJ: AI Skills (vwAISkills.ID)
33619
+ * * Description: The skill this grant belongs to.
33620
+ */
33621
+ get SkillID(): string;
33622
+ set SkillID(value: string);
33623
+ /**
33624
+ * * Field Name: SearchScopeID
33625
+ * * Display Name: Search Scope ID
33626
+ * * SQL Data Type: uniqueidentifier
33627
+ * * Related Entity/Foreign Key: MJ: Search Scopes (vwSearchScopes.ID)
33628
+ * * Description: The Search Scope this skill may reach.
33629
+ */
33630
+ get SearchScopeID(): string;
33631
+ set SearchScopeID(value: string);
33632
+ /**
33633
+ * * Field Name: Status
33634
+ * * Display Name: Status
33635
+ * * SQL Data Type: nvarchar(20)
33636
+ * * Default Value: Active
33637
+ * * Value List Type: List
33638
+ * * Possible Values
33639
+ * * Active
33640
+ * * Inactive
33641
+ * * Description: Active or Inactive. Inactive rows are ignored during resolution.
33642
+ */
33643
+ get Status(): 'Active' | 'Inactive';
33644
+ set Status(value: 'Active' | 'Inactive');
33645
+ /**
33646
+ * * Field Name: StartAt
33647
+ * * Display Name: Start At
33648
+ * * SQL Data Type: datetimeoffset
33649
+ * * Description: Optional start of the window in which this grant is honoured. NULL = no lower bound. Evaluated against the current time on every resolution, so a window opening or closing needs no cache invalidation.
33650
+ */
33651
+ get StartAt(): Date | null;
33652
+ set StartAt(value: Date | null);
33653
+ /**
33654
+ * * Field Name: EndAt
33655
+ * * Display Name: End At
33656
+ * * SQL Data Type: datetimeoffset
33657
+ * * Description: Optional end of the window in which this grant is honoured. NULL = no upper bound.
33658
+ */
33659
+ get EndAt(): Date | null;
33660
+ set EndAt(value: Date | null);
33661
+ /**
33662
+ * * Field Name: Priority
33663
+ * * Display Name: Priority
33664
+ * * SQL Data Type: int
33665
+ * * Description: Lower numbers win when several granted scopes are candidates and none is marked IsDefault.
33666
+ */
33667
+ get Priority(): number | null;
33668
+ set Priority(value: number | null);
33669
+ /**
33670
+ * * Field Name: IsDefault
33671
+ * * Display Name: Is Default
33672
+ * * SQL Data Type: bit
33673
+ * * Default Value: 0
33674
+ * * Description: When set, this scope is chosen for the skill ahead of Priority ordering.
33675
+ */
33676
+ get IsDefault(): boolean;
33677
+ set IsDefault(value: boolean);
33678
+ /**
33679
+ * * Field Name: __mj_CreatedAt
33680
+ * * Display Name: Created At
33681
+ * * SQL Data Type: datetimeoffset
33682
+ * * Default Value: getutcdate()
33683
+ */
33684
+ get __mj_CreatedAt(): Date;
33685
+ /**
33686
+ * * Field Name: __mj_UpdatedAt
33687
+ * * Display Name: Updated At
33688
+ * * SQL Data Type: datetimeoffset
33689
+ * * Default Value: getutcdate()
33690
+ */
33691
+ get __mj_UpdatedAt(): Date;
33692
+ /**
33693
+ * * Field Name: Skill
33694
+ * * Display Name: Skill
33695
+ * * SQL Data Type: nvarchar(255)
33696
+ */
33697
+ get Skill(): string;
33698
+ /**
33699
+ * * Field Name: SearchScope
33700
+ * * Display Name: Search Scope
33701
+ * * SQL Data Type: nvarchar(200)
33702
+ */
33703
+ get SearchScope(): string;
33704
+ }
33330
33705
  /**
33331
33706
  * MJ: AI Skill Sub Agents - strongly typed entity sub-class
33332
33707
  * * Schema: __mj
@@ -33533,6 +33908,19 @@ export declare class MJAISkillEntity extends BaseEntity<MJAISkillEntityType> {
33533
33908
  get ActivationMode(): 'Auto' | 'RequestedOnly';
33534
33909
  set ActivationMode(value: 'Auto' | 'RequestedOnly');
33535
33910
  /**
33911
+ * * Field Name: SearchScopeAccess
33912
+ * * Display Name: Search Scope Access
33913
+ * * SQL Data Type: nvarchar(20)
33914
+ * * Value List Type: List
33915
+ * * Possible Values
33916
+ * * All
33917
+ * * Assigned
33918
+ * * None
33919
+ * * Description: Which Search Scopes this skill may reach when activated. None = grants no retrieval scope; Assigned = only scopes listed in AISkillSearchScope; All = any active scope. NULL behaves as None so existing skills are unaffected. Mirrors AIAgent.SearchScopeAccess so a skill and an agent are interchangeable principals to SearchScopePermissionResolver.
33920
+ */
33921
+ get SearchScopeAccess(): 'All' | 'Assigned' | 'None' | null;
33922
+ set SearchScopeAccess(value: 'All' | 'Assigned' | 'None' | null);
33923
+ /**
33536
33924
  * * Field Name: CreatedByUser
33537
33925
  * * Display Name: Created By User
33538
33926
  * * SQL Data Type: nvarchar(100)
@@ -40504,6 +40892,266 @@ export declare class MJContentItemAttributeEntity extends BaseEntity<MJContentIt
40504
40892
  */
40505
40893
  get ContentItem(): string | null;
40506
40894
  }
40895
+ /**
40896
+ * MJ: Content Item Chunks - strongly typed entity sub-class
40897
+ * * Schema: __mj
40898
+ * * Base Table: ContentItemChunk
40899
+ * * Base View: vwContentItemChunks
40900
+ * * @description Represents an individual chunk of a Content Item's text that was embedded as a distinct vector. When a Content Item is too large to embed as a single vector it is split into ordered chunks; each chunk becomes one row here, linking the stored vector back to the specific portion of the parent Content Item it represents.
40901
+ * * Primary Key: ID
40902
+ * @extends {BaseEntity}
40903
+ * @class
40904
+ * @public
40905
+ */
40906
+ export declare class MJContentItemChunkEntity extends BaseEntity<MJContentItemChunkEntityType> {
40907
+ /**
40908
+ * Loads the MJ: Content Item Chunks record from the database
40909
+ * @param ID: string - primary key value to load the MJ: Content Item Chunks record.
40910
+ * @param EntityRelationshipsToLoad - (optional) the relationships to load
40911
+ * @returns {Promise<boolean>} - true if successful, false otherwise
40912
+ * @public
40913
+ * @async
40914
+ * @memberof MJContentItemChunkEntity
40915
+ * @method
40916
+ * @override
40917
+ */
40918
+ Load(ID: string, EntityRelationshipsToLoad?: string[]): Promise<boolean>;
40919
+ /**
40920
+ * * Field Name: ID
40921
+ * * Display Name: ID
40922
+ * * SQL Data Type: uniqueidentifier
40923
+ * * Default Value: newsequentialid()
40924
+ */
40925
+ get ID(): string;
40926
+ set ID(value: string);
40927
+ /**
40928
+ * * Field Name: ContentItemID
40929
+ * * Display Name: Content Item
40930
+ * * SQL Data Type: uniqueidentifier
40931
+ * * Related Entity/Foreign Key: MJ: Content Items (vwContentItems.ID)
40932
+ */
40933
+ get ContentItemID(): string;
40934
+ set ContentItemID(value: string);
40935
+ /**
40936
+ * * Field Name: Sequence
40937
+ * * Display Name: Sequence
40938
+ * * SQL Data Type: int
40939
+ * * Description: Zero-based ordinal position of this chunk within the parent Content Item, preserving the original order in which the text was split.
40940
+ */
40941
+ get Sequence(): number;
40942
+ set Sequence(value: number);
40943
+ /**
40944
+ * * Field Name: Text
40945
+ * * Display Name: Text
40946
+ * * SQL Data Type: nvarchar(MAX)
40947
+ * * Description: The chunk of extracted text (from the parent Content Item) that was embedded to produce this chunk's vector. NULL for media-only segments (for example an image, or a video window with no transcript), where the embedded payload is the media itself and any readable representation lives in Description/Transcript.
40948
+ */
40949
+ get Text(): string | null;
40950
+ set Text(value: string | null);
40951
+ /**
40952
+ * * Field Name: VectorRecordID
40953
+ * * Display Name: Vector Record ID
40954
+ * * SQL Data Type: nvarchar(100)
40955
+ * * Description: The identifier of this chunk's vector record in the vector database (e.g. Pinecone) — the deterministic key MemberJunction assigns and upserts the chunk's embedding under. Provides traceability from the chunk back to its stored vector.
40956
+ */
40957
+ get VectorRecordID(): string | null;
40958
+ set VectorRecordID(value: string | null);
40959
+ /**
40960
+ * * Field Name: EmbeddingStatus
40961
+ * * Display Name: Embedding Status
40962
+ * * SQL Data Type: nvarchar(20)
40963
+ * * Default Value: Pending
40964
+ * * Value List Type: List
40965
+ * * Possible Values
40966
+ * * Active
40967
+ * * Complete
40968
+ * * Failed
40969
+ * * Pending
40970
+ * * Processed
40971
+ * * Processing
40972
+ * * Skipped
40973
+ * * Description: Embedding lifecycle state of this chunk: Pending (default), Processing, Active, Complete, Processed, Failed, or Skipped.
40974
+ */
40975
+ get EmbeddingStatus(): 'Active' | 'Complete' | 'Failed' | 'Pending' | 'Processed' | 'Processing' | 'Skipped';
40976
+ set EmbeddingStatus(value: 'Active' | 'Complete' | 'Failed' | 'Pending' | 'Processed' | 'Processing' | 'Skipped');
40977
+ /**
40978
+ * * Field Name: TaggingStatus
40979
+ * * Display Name: Tagging Status
40980
+ * * SQL Data Type: nvarchar(20)
40981
+ * * Default Value: Pending
40982
+ * * Value List Type: List
40983
+ * * Possible Values
40984
+ * * Active
40985
+ * * Complete
40986
+ * * Failed
40987
+ * * Pending
40988
+ * * Processed
40989
+ * * Processing
40990
+ * * Skipped
40991
+ * * Description: Tagging lifecycle state of this chunk: Pending (default), Processing, Active, Complete, Processed, Failed, or Skipped.
40992
+ */
40993
+ get TaggingStatus(): 'Active' | 'Complete' | 'Failed' | 'Pending' | 'Processed' | 'Processing' | 'Skipped';
40994
+ set TaggingStatus(value: 'Active' | 'Complete' | 'Failed' | 'Pending' | 'Processed' | 'Processing' | 'Skipped');
40995
+ /**
40996
+ * * Field Name: DeleteStatus
40997
+ * * Display Name: Delete Status
40998
+ * * SQL Data Type: nvarchar(20)
40999
+ * * Value List Type: List
41000
+ * * Possible Values
41001
+ * * Deleted
41002
+ * * Pending
41003
+ * * Description: Deletion lifecycle state of this chunk's vector: NULL when not slated for deletion, Pending when vector removal is queued, or Deleted once the vector has been removed from the vector database.
41004
+ */
41005
+ get DeleteStatus(): 'Deleted' | 'Pending' | null;
41006
+ set DeleteStatus(value: 'Deleted' | 'Pending' | null);
41007
+ /**
41008
+ * * Field Name: LastEmbeddedAt
41009
+ * * Display Name: Last Embedded At
41010
+ * * SQL Data Type: datetimeoffset
41011
+ * * Description: Timestamp of the last successful embedding of this chunk.
41012
+ */
41013
+ get LastEmbeddedAt(): Date | null;
41014
+ set LastEmbeddedAt(value: Date | null);
41015
+ /**
41016
+ * * Field Name: LastTaggedAt
41017
+ * * Display Name: Last Tagged At
41018
+ * * SQL Data Type: datetimeoffset
41019
+ * * Description: Timestamp of the last successful tagging of this chunk.
41020
+ */
41021
+ get LastTaggedAt(): Date | null;
41022
+ set LastTaggedAt(value: Date | null);
41023
+ /**
41024
+ * * Field Name: LastDeletedAt
41025
+ * * Display Name: Last Deleted At
41026
+ * * SQL Data Type: datetimeoffset
41027
+ * * Description: Timestamp of the last successful deletion of this chunk's vector from the vector database.
41028
+ */
41029
+ get LastDeletedAt(): Date | null;
41030
+ set LastDeletedAt(value: Date | null);
41031
+ /**
41032
+ * * Field Name: __mj_CreatedAt
41033
+ * * Display Name: Created At
41034
+ * * SQL Data Type: datetimeoffset
41035
+ * * Default Value: getutcdate()
41036
+ */
41037
+ get __mj_CreatedAt(): Date;
41038
+ /**
41039
+ * * Field Name: __mj_UpdatedAt
41040
+ * * Display Name: Updated At
41041
+ * * SQL Data Type: datetimeoffset
41042
+ * * Default Value: getutcdate()
41043
+ */
41044
+ get __mj_UpdatedAt(): Date;
41045
+ /**
41046
+ * * Field Name: Modality
41047
+ * * Display Name: Modality
41048
+ * * SQL Data Type: nvarchar(20)
41049
+ * * Default Value: text
41050
+ * * Value List Type: List
41051
+ * * Possible Values
41052
+ * * audio
41053
+ * * image
41054
+ * * multimodal
41055
+ * * text
41056
+ * * video
41057
+ * * Description: The modality of this chunk's embedded payload: text (default), image, audio, video, or multimodal (text and media fused into a single vector). Determines which vector index the chunk's embedding belongs to, since a multimodal embedding model produces vectors of a different dimension than a text model, and is used at retrieval time to merge results per modality rather than taking a single global top-k.
41058
+ */
41059
+ get Modality(): 'audio' | 'image' | 'multimodal' | 'text' | 'video';
41060
+ set Modality(value: 'audio' | 'image' | 'multimodal' | 'text' | 'video');
41061
+ /**
41062
+ * * Field Name: StartOffset
41063
+ * * Display Name: Start Offset
41064
+ * * SQL Data Type: int
41065
+ * * Description: Inclusive character offset where this chunk begins within the parent Content Item's extracted text. Together with EndOffset this is the provenance link that resolves a search hit back to the exact passage in the source document. NULL for media segments, which are positioned by StartMs/EndMs instead.
41066
+ */
41067
+ get StartOffset(): number | null;
41068
+ set StartOffset(value: number | null);
41069
+ /**
41070
+ * * Field Name: EndOffset
41071
+ * * Display Name: End Offset
41072
+ * * SQL Data Type: int
41073
+ * * Description: Exclusive character offset where this chunk ends within the parent Content Item's extracted text. See StartOffset. NULL for media segments.
41074
+ */
41075
+ get EndOffset(): number | null;
41076
+ set EndOffset(value: number | null);
41077
+ /**
41078
+ * * Field Name: StartMs
41079
+ * * Display Name: Start (ms)
41080
+ * * SQL Data Type: int
41081
+ * * Description: Start of this chunk's time window, in milliseconds from the beginning of the parent audio or video asset. Set by transcript- or window-based segmentation; enables time-windowed playback deep-links from a search result (for example 14:22-15:05 of a session recording). NULL for text segments.
41082
+ */
41083
+ get StartMs(): number | null;
41084
+ set StartMs(value: number | null);
41085
+ /**
41086
+ * * Field Name: EndMs
41087
+ * * Display Name: End (ms)
41088
+ * * SQL Data Type: int
41089
+ * * Description: End of this chunk's time window, in milliseconds from the beginning of the parent audio or video asset. See StartMs. NULL for text segments.
41090
+ */
41091
+ get EndMs(): number | null;
41092
+ set EndMs(value: number | null);
41093
+ /**
41094
+ * * Field Name: PageNumber
41095
+ * * Display Name: Page Number
41096
+ * * SQL Data Type: int
41097
+ * * Description: One-based page number this chunk came from, for paginated sources such as PDFs or slide decks. Provides citation-grade provenance alongside the character offsets. NULL when the source is not paginated.
41098
+ */
41099
+ get PageNumber(): number | null;
41100
+ set PageNumber(value: number | null);
41101
+ /**
41102
+ * * Field Name: SegmentTitle
41103
+ * * Display Name: Segment Title
41104
+ * * SQL Data Type: nvarchar(500)
41105
+ * * Description: Human-readable label for this segment — a document heading for structure-based segmentation, or a generated chapter title for topic- and transcript-based segmentation. Displayed with search results and prepended to the embedded text so a chunk's vector carries its own topic.
41106
+ */
41107
+ get SegmentTitle(): string | null;
41108
+ set SegmentTitle(value: string | null);
41109
+ /**
41110
+ * * Field Name: Description
41111
+ * * Display Name: Description
41112
+ * * SQL Data Type: nvarchar(MAX)
41113
+ * * Description: An AI-generated description of this chunk's content, primarily for non-text segments. Retrieval of a media chunk otherwise yields only a pointer (an asset and a time window) that an agent cannot reason over; this column is the readable representation that an agent reads, a cross-encoder reranks, and lexical search matches. A short summary of it may be mirrored into the vector record's metadata for display and filtering, but the full text belongs here.
41114
+ */
41115
+ get Description(): string | null;
41116
+ set Description(value: string | null);
41117
+ /**
41118
+ * * Field Name: Transcript
41119
+ * * Display Name: Transcript
41120
+ * * SQL Data Type: nvarchar(MAX)
41121
+ * * Description: The verbatim transcript covering this chunk's time window, for audio and video segments, including speaker labels where the source provides them. Distinct from Description, which is a generated summary: this is what was actually said, and it is what makes a recording findable by lexical search.
41122
+ */
41123
+ get Transcript(): string | null;
41124
+ set Transcript(value: string | null);
41125
+ /**
41126
+ * * Field Name: SegmenterKey
41127
+ * * Display Name: Segmenter Key
41128
+ * * SQL Data Type: nvarchar(100)
41129
+ * * Description: Registration key of the segmentation strategy that produced this chunk (for example StructuralText, SemanticText, Transcript, or FixedWindow). Provenance: when a Content Source's configured strategy changes, this identifies which chunks were produced by the previous strategy and therefore need re-chunking.
41130
+ */
41131
+ get SegmenterKey(): string | null;
41132
+ set SegmenterKey(value: string | null);
41133
+ /**
41134
+ * * Field Name: ParentChunkID
41135
+ * * Display Name: Parent Chunk
41136
+ * * SQL Data Type: uniqueidentifier
41137
+ * * Related Entity/Foreign Key: MJ: Content Item Chunks (vwContentItemChunks.ID)
41138
+ * * Description: Optional self-reference to another chunk of the same Content Item that is the parent of this one, expressing a chapter to sub-chapter hierarchy — for example a five-minute chapter of a recording and the individual speaker turns within it, or a document section and its subsections. NULL for top-level segments.
41139
+ */
41140
+ get ParentChunkID(): string | null;
41141
+ set ParentChunkID(value: string | null);
41142
+ /**
41143
+ * * Field Name: ContentItem
41144
+ * * Display Name: Content Item
41145
+ * * SQL Data Type: nvarchar(250)
41146
+ */
41147
+ get ContentItem(): string | null;
41148
+ /**
41149
+ * * Field Name: RootParentChunkID
41150
+ * * Display Name: Root Parent Chunk
41151
+ * * SQL Data Type: uniqueidentifier
41152
+ */
41153
+ get RootParentChunkID(): string | null;
41154
+ }
40507
41155
  /**
40508
41156
  * MJ: Content Item Duplicates - strongly typed entity sub-class
40509
41157
  * * Schema: __mj
@@ -40802,7 +41450,7 @@ export declare class MJContentItemEntity extends BaseEntity<MJContentItemEntityT
40802
41450
  set ID(value: string);
40803
41451
  /**
40804
41452
  * * Field Name: ContentSourceID
40805
- * * Display Name: Content Source ID
41453
+ * * Display Name: Content Source
40806
41454
  * * SQL Data Type: uniqueidentifier
40807
41455
  * * Related Entity/Foreign Key: MJ: Content Sources (vwContentSources.ID)
40808
41456
  */
@@ -40824,7 +41472,7 @@ export declare class MJContentItemEntity extends BaseEntity<MJContentItemEntityT
40824
41472
  set Description(value: string | null);
40825
41473
  /**
40826
41474
  * * Field Name: ContentTypeID
40827
- * * Display Name: Content Type ID
41475
+ * * Display Name: Content Type
40828
41476
  * * SQL Data Type: uniqueidentifier
40829
41477
  * * Related Entity/Foreign Key: MJ: Content Types (vwContentTypes.ID)
40830
41478
  */
@@ -40832,7 +41480,7 @@ export declare class MJContentItemEntity extends BaseEntity<MJContentItemEntityT
40832
41480
  set ContentTypeID(value: string);
40833
41481
  /**
40834
41482
  * * Field Name: ContentSourceTypeID
40835
- * * Display Name: Content Source Type ID
41483
+ * * Display Name: Content Source Type
40836
41484
  * * SQL Data Type: uniqueidentifier
40837
41485
  * * Related Entity/Foreign Key: MJ: Content Source Types (vwContentSourceTypes.ID)
40838
41486
  */
@@ -40840,7 +41488,7 @@ export declare class MJContentItemEntity extends BaseEntity<MJContentItemEntityT
40840
41488
  set ContentSourceTypeID(value: string);
40841
41489
  /**
40842
41490
  * * Field Name: ContentFileTypeID
40843
- * * Display Name: Content File Type ID
41491
+ * * Display Name: Content File Type
40844
41492
  * * SQL Data Type: uniqueidentifier
40845
41493
  * * Related Entity/Foreign Key: MJ: Content File Types (vwContentFileTypes.ID)
40846
41494
  */
@@ -40864,7 +41512,7 @@ export declare class MJContentItemEntity extends BaseEntity<MJContentItemEntityT
40864
41512
  set URL(value: string);
40865
41513
  /**
40866
41514
  * * Field Name: Text
40867
- * * Display Name: Text
41515
+ * * Display Name: Extracted Text
40868
41516
  * * SQL Data Type: nvarchar(MAX)
40869
41517
  * * Description: The extracted text content from the source document or file.
40870
41518
  */
@@ -40886,7 +41534,7 @@ export declare class MJContentItemEntity extends BaseEntity<MJContentItemEntityT
40886
41534
  get __mj_UpdatedAt(): Date;
40887
41535
  /**
40888
41536
  * * Field Name: EntityRecordDocumentID
40889
- * * Display Name: Entity Record Document ID
41537
+ * * Display Name: Entity Record Document
40890
41538
  * * SQL Data Type: uniqueidentifier
40891
41539
  * * Related Entity/Foreign Key: MJ: Entity Record Documents (vwEntityRecordDocuments.ID)
40892
41540
  * * Description: For entity-sourced content items, links to the Entity Record Document snapshot that was rendered for this item. Provides traceability back to the source entity record via ERD.EntityID + ERD.RecordID. NULL for non-entity sources.
@@ -40919,7 +41567,7 @@ export declare class MJContentItemEntity extends BaseEntity<MJContentItemEntityT
40919
41567
  set LastEmbeddedAt(value: Date | null);
40920
41568
  /**
40921
41569
  * * Field Name: EmbeddingModelID
40922
- * * Display Name: Embedding Model ID
41570
+ * * Display Name: Embedding Model
40923
41571
  * * SQL Data Type: uniqueidentifier
40924
41572
  * * Related Entity/Foreign Key: MJ: AI Models (vwAIModels.ID)
40925
41573
  * * Description: The AI model used to generate the most recent embedding for this content item.
@@ -40951,41 +41599,78 @@ export declare class MJContentItemEntity extends BaseEntity<MJContentItemEntityT
40951
41599
  get LastTaggedAt(): Date | null;
40952
41600
  set LastTaggedAt(value: Date | null);
40953
41601
  /**
41602
+ * * Field Name: VectorRecordID
41603
+ * * Display Name: Vector Record ID
41604
+ * * SQL Data Type: nvarchar(100)
41605
+ * * Description: The identifier of this Content Item's vector record in the vector database (e.g. Pinecone) — the deterministic key MemberJunction assigns and upserts the embedding under when the item is embedded as a single vector. Provides traceability from the Content Item back to its stored vector. For chunked items, per-chunk identifiers are tracked on the ContentItemChunk entity instead.
41606
+ */
41607
+ get VectorRecordID(): string | null;
41608
+ set VectorRecordID(value: string | null);
41609
+ /**
41610
+ * * Field Name: ParentID
41611
+ * * Display Name: Parent Content
41612
+ * * SQL Data Type: uniqueidentifier
41613
+ * * Related Entity/Foreign Key: MJ: Content Items (vwContentItems.ID)
41614
+ * * Description: Optional self-reference to another Content Item that is the parent of this one, enabling a content-item hierarchy (e.g. a document and its sub-pages, or a site and its crawled pages). NULL for top-level items.
41615
+ */
41616
+ get ParentID(): string | null;
41617
+ set ParentID(value: string | null);
41618
+ /**
41619
+ * * Field Name: DisplayLink
41620
+ * * Display Name: Display Link
41621
+ * * SQL Data Type: nvarchar(2000)
41622
+ * * Description: Optional display/clickable URL for this Content Item (e.g. a canonical or human-facing link), distinct from the source URL used for ingestion.
41623
+ */
41624
+ get DisplayLink(): string | null;
41625
+ set DisplayLink(value: string | null);
41626
+ /**
40954
41627
  * * Field Name: ContentSource
40955
- * * Display Name: Content Source
41628
+ * * Display Name: Content Source Name
40956
41629
  * * SQL Data Type: nvarchar(255)
40957
41630
  */
40958
41631
  get ContentSource(): string | null;
40959
41632
  /**
40960
41633
  * * Field Name: ContentType
40961
- * * Display Name: Content Type
41634
+ * * Display Name: Content Type Name
40962
41635
  * * SQL Data Type: nvarchar(255)
40963
41636
  */
40964
41637
  get ContentType(): string;
40965
41638
  /**
40966
41639
  * * Field Name: ContentSourceType
40967
- * * Display Name: Content Source Type
41640
+ * * Display Name: Content Source Type Name
40968
41641
  * * SQL Data Type: nvarchar(255)
40969
41642
  */
40970
41643
  get ContentSourceType(): string;
40971
41644
  /**
40972
41645
  * * Field Name: ContentFileType
40973
- * * Display Name: Content File Type
41646
+ * * Display Name: Content File Type Name
40974
41647
  * * SQL Data Type: nvarchar(255)
40975
41648
  */
40976
41649
  get ContentFileType(): string;
40977
41650
  /**
40978
41651
  * * Field Name: EntityRecordDocument
40979
- * * Display Name: Entity Record Document
41652
+ * * Display Name: Entity Record Document Name
40980
41653
  * * SQL Data Type: nvarchar(450)
40981
41654
  */
40982
41655
  get EntityRecordDocument(): string | null;
40983
41656
  /**
40984
41657
  * * Field Name: EmbeddingModel
40985
- * * Display Name: Embedding Model
41658
+ * * Display Name: Embedding Model Name
40986
41659
  * * SQL Data Type: nvarchar(50)
40987
41660
  */
40988
41661
  get EmbeddingModel(): string | null;
41662
+ /**
41663
+ * * Field Name: Parent
41664
+ * * Display Name: Parent Content Name
41665
+ * * SQL Data Type: nvarchar(250)
41666
+ */
41667
+ get Parent(): string | null;
41668
+ /**
41669
+ * * Field Name: RootParentID
41670
+ * * Display Name: Root Parent Content
41671
+ * * SQL Data Type: uniqueidentifier
41672
+ */
41673
+ get RootParentID(): string | null;
40989
41674
  }
40990
41675
  /**
40991
41676
  * MJ: Content Process Run Details - strongly typed entity sub-class
@@ -41788,6 +42473,19 @@ export declare class MJContentSourceTypeEntity extends BaseEntity<MJContentSourc
41788
42473
  * The keys match the RequiredFields defined on the parent ContentSourceType's Configuration.
41789
42474
  */
41790
42475
  export interface MJContentSourceEntity_IContentSourceConfiguration {
42476
+ /**
42477
+ * Options passed to the segmentation strategy named by SegmenterKey.
42478
+ *
42479
+ * Sizing note: TargetTokens should be driven by the shape of your QUERIES, not by the
42480
+ * embedding model's context window. The window is an upper bound; a good chunk is about
42481
+ * as much content as a good answer, so that a matching chunk is mostly signal.
42482
+ */
42483
+ SegmentationOptions?: MJContentSourceEntity_IContentSegmentationOptions;
42484
+ /**
42485
+ * Options passed to the cleaning strategy named by CleanerKey. Selector rules are
42486
+ * per-source because the right selector is a property of the site's template.
42487
+ */
42488
+ CleaningOptions?: MJContentSourceEntity_IContentCleaningOptions;
41791
42489
  /** Tag taxonomy matching mode: constrained (only match within subtree), auto-grow (match or create within subtree), free-flow (match or create anywhere) */
41792
42490
  TagTaxonomyMode?: 'constrained' | 'auto-grow' | 'free-flow';
41793
42491
  /** Root Tag ID for constrained/auto-grow modes — limits taxonomy operations to this subtree */
@@ -41798,6 +42496,33 @@ export interface MJContentSourceEntity_IContentSourceConfiguration {
41798
42496
  ShareTaxonomyWithLLM?: boolean;
41799
42497
  /** Enable vectorization for this source. Default true */
41800
42498
  EnableVectorization?: boolean;
42499
+ /**
42500
+ * Vector-database record-id strategy for this source's chunks. Default 'recordId'.
42501
+ * - 'recordId' (default, recommended): each ContentItemChunk's unique RecordID is used as its
42502
+ * vector-DB record id. Safe with the soft-delete + PurgeDeletedChunks flow — a re-chunk mints
42503
+ * new rows with new ids, so a superseded (soft-deleted) chunk and its replacement never share
42504
+ * a vector id, and purging the old one can't orphan the live chunk's vector.
42505
+ * - 'hash': a deterministic hash of the parent content item id (5.49 EntityDocument parity).
42506
+ * NOT safe with re-chunking + purge — a replacement chunk reuses the superseded chunk's id,
42507
+ * so purging the old chunk would delete the live chunk's vector. Use only for sources that
42508
+ * are never re-chunked or purged.
42509
+ */
42510
+ VectorIDStrategy?: 'hash' | 'recordId';
42511
+ /**
42512
+ * How chunk text + vectors are stored for this source. Default 'alwaysChunk'.
42513
+ * - 'alwaysChunk' (default): every content item gets at least one ContentItemChunk row holding
42514
+ * its text — even items small enough to fit in a single chunk — and ContentItem.VectorRecordID
42515
+ * is never set. The ContentItemChunk table is always the single source of truth for vectors.
42516
+ * - 'mixed': items that fit in a single chunk keep their text and vector id on the ContentItem
42517
+ * (no chunk row); only larger items are split into ContentItemChunk rows.
42518
+ */
42519
+ ChunkTextStorage?: 'mixed' | 'alwaysChunk';
42520
+ /**
42521
+ * Controls what goes into each vector's metadata. Vector-store metadata has real storage +
42522
+ * performance cost, so this lets a source keep it minimal. Falls back to the ContentType's
42523
+ * default, then 'default'.
42524
+ */
42525
+ VectorMetadata?: MJContentSourceEntity_IContentSourceVectorMetadataConfig;
41801
42526
  /**
41802
42527
  * Lower confidence band (0.0-1.0) that routes a semantic match into the human-in-the-loop
41803
42528
  * `MJ:Tag Suggestions` queue instead of auto-applying or auto-creating. A score `s` is
@@ -41865,6 +42590,64 @@ export interface MJContentSourceEntity_IContentSourceConfiguration {
41865
42590
  */
41866
42591
  Website?: MJContentSourceEntity_IContentSourceWebsiteConfiguration;
41867
42592
  }
42593
+ /**
42594
+ * Controls which keys land in a content vector's metadata. Vector metadata is expensive in a
42595
+ * vector database (storage + query performance). This mirrors the entity-vectorization pipeline's
42596
+ * metadata-control structure (field strategy, per-field overrides, storage-type coercion,
42597
+ * truncation, opt-out toggles), adapted to content-item vectors.
42598
+ *
42599
+ * Field values are read from the parent ContentItem. The identity keys (Entity + RecordID, plus
42600
+ * ContentItemID / Sequence for chunk vectors) are managed as system keys — see FieldStrategy.
42601
+ */
42602
+ export interface MJContentSourceEntity_IContentSourceVectorMetadataConfig {
42603
+ /**
42604
+ * Which ContentItem fields go into metadata. Mirrors the entity pipeline's field strategy.
42605
+ * When UNSET, the standard curated content set is used (the historical default): the identity
42606
+ * keys + ContentSourceID / ContentSourceTypeID + Title / Description / URL + Tags. When set:
42607
+ * - 'all': every eligible ContentItem field (non-PK, non-uniqueidentifier, non-binary,
42608
+ * non-system) plus the toggle-driven keys below.
42609
+ * - 'include': ONLY the ContentItem fields marked `Included: true` in `Fields` (explicit
42610
+ * inclusion wins over the eligibility heuristics — a uniqueidentifier / PK / __mj_* field
42611
+ * can be included by name; only genuinely unstorable binary types are refused).
42612
+ * - 'exclude': all eligible fields EXCEPT those marked `Included: false` in `Fields`.
42613
+ * - 'explicit': EXACTLY the fields in `Fields` — no system keys except `Entity` (always kept so
42614
+ * content search results stay correctly labeled), and the toggles flip to opt-in (default
42615
+ * false). Keeps metadata minimal. NOTE: under 'explicit' a search hit's record id is
42616
+ * recoverable only when VectorIDStrategy='recordId' (the default), where the vector's own id
42617
+ * is the chunk id; with 'hash' the id would need to be kept explicitly.
42618
+ */
42619
+ FieldStrategy?: 'all' | 'include' | 'exclude' | 'explicit';
42620
+ /** Per-field overrides keyed by ContentItem field name (see {@link MJContentSourceEntity_IContentSourceVectorMetadataFieldConfig}). */
42621
+ Fields?: Record<string, MJContentSourceEntity_IContentSourceVectorMetadataFieldConfig>;
42622
+ /** Global default truncation limit (characters) for large string fields. Default 1000. */
42623
+ DefaultTruncationLimit?: number;
42624
+ /** Include the content entity's icon. Default true under a set strategy; opt-in under 'explicit'. */
42625
+ IncludeEntityIcon?: boolean;
42626
+ /** Include __mj_UpdatedAt for recency sorting. Default true under a set strategy; opt-in under 'explicit'. */
42627
+ IncludeUpdatedAt?: boolean;
42628
+ /** Include the item's Tags array. Default true (and under the curated default); opt-in under 'explicit'. */
42629
+ IncludeTags?: boolean;
42630
+ /**
42631
+ * When true, include the embedded text in metadata under the 'Text' key (which surfaces as the
42632
+ * search snippet). Default false — external hydrators read the authoritative text from the
42633
+ * ContentItem / ContentItemChunk row, so the copy is usually unnecessary storage. Honored under
42634
+ * every strategy (including the curated default).
42635
+ */
42636
+ IncludeText?: boolean;
42637
+ }
42638
+ /** Per-field metadata override, keyed by ContentItem field name. Mirrors the entity pipeline. */
42639
+ export interface MJContentSourceEntity_IContentSourceVectorMetadataFieldConfig {
42640
+ /** Include this field under 'include'/'explicit', or exclude it (false) under 'all'/'exclude'. */
42641
+ Included?: boolean;
42642
+ /** Override the truncation limit (characters) for this field. */
42643
+ TruncationLimit?: number;
42644
+ /**
42645
+ * How to store this field's value: 'string' (default, truncated), 'number', 'boolean',
42646
+ * 'epochSeconds' / 'epochMilliseconds' (parse a date to Unix epoch for numeric range filters).
42647
+ * SQL numeric column types store as numbers automatically without setting this.
42648
+ */
42649
+ StoreAs?: 'string' | 'number' | 'boolean' | 'epochSeconds' | 'epochMilliseconds';
42650
+ }
41868
42651
  /**
41869
42652
  * Per-source crawl/discovery settings specific to AutotagWebsite. All optional with
41870
42653
  * runtime defaults; an empty object is valid and produces the standard behavior
@@ -41899,6 +42682,61 @@ export interface MJContentSourceEntity_IContentSourceWebsiteConfiguration {
41899
42682
  */
41900
42683
  RootURL?: string;
41901
42684
  }
42685
+ /**
42686
+ * Options for the segmentation strategy. All optional; each segmenter ignores options
42687
+ * that don't apply to it.
42688
+ */
42689
+ export interface MJContentSourceEntity_IContentSegmentationOptions {
42690
+ /** Hard ceiling on tokens per segment. Segments larger than this are split. */
42691
+ MaxSegmentTokens?: number;
42692
+ /** Overlap tokens applied when an oversized segment must be split. */
42693
+ OverlapTokens?: number;
42694
+ /** Merge adjacent text segments estimating below this many tokens. */
42695
+ MinSegmentTokens?: number;
42696
+ /** AdaptiveBoundary: desired segment size — size this to your queries, not to the model. */
42697
+ TargetTokens?: number;
42698
+ /** AdaptiveBoundary: percent below target at which a paragraph break is accepted. */
42699
+ UndershootPercent?: number;
42700
+ /** AdaptiveBoundary: percent above target to keep looking for a sentence/word break. */
42701
+ OvershootPercent?: number;
42702
+ /** AdaptiveBoundary: if the whole text is within this percent of target, don't split at all. */
42703
+ NoSplitPercent?: number;
42704
+ /** Transcript: maximum wall-clock length of one chapter, in milliseconds. */
42705
+ MaxChapterMs?: number;
42706
+ /** Transcript: a silence gap at least this long starts a new chapter. */
42707
+ BoundaryGapMs?: number;
42708
+ /** Transcript: also emit one child segment per speaker turn within each chapter. */
42709
+ EmitSubChapters?: boolean;
42710
+ /** FixedWindow: window length in milliseconds for audio/video with no transcript. */
42711
+ WindowMs?: number;
42712
+ /** SemanticText: skip the LLM boundary pass for documents below this token count. */
42713
+ MinTokensForLLM?: number;
42714
+ }
42715
+ /**
42716
+ * Options for the content-cleaning strategy that runs before segmentation.
42717
+ *
42718
+ * Garbage that survives cleaning is expensive: it gets embedded, stored, retrieved, and
42719
+ * shown to a user or an agent. Navigation chrome repeated across a thousand pages produces
42720
+ * a thousand near-identical vectors that crowd out real answers.
42721
+ */
42722
+ export interface MJContentSourceEntity_IContentCleaningOptions {
42723
+ /**
42724
+ * CSS selectors whose content is the ONLY content to keep. The highest-leverage knob:
42725
+ * naming the element that holds the article (e.g. '.article-body', 'main') discards
42726
+ * navigation, sidebars, and advertising without enumerating what to drop.
42727
+ */
42728
+ IncludeSelectors?: string[];
42729
+ /** CSS selectors to remove, applied after IncludeSelectors (inline ad slots, share widgets). */
42730
+ ExcludeSelectors?: string[];
42731
+ /** Collapse runs of whitespace and blank lines. Default true. */
42732
+ NormalizeWhitespace?: boolean;
42733
+ /** Maximum characters to retain after cleaning. */
42734
+ MaxLength?: number;
42735
+ /** Html cleaner: replace the built-in exclusion list rather than appending to it. */
42736
+ ReplaceDefaultExcludes?: boolean;
42737
+ /** Html cleaner: keep `alt` text from images as content. */
42738
+ IncludeImageAltText?: boolean;
42739
+ }
41902
42740
  /**
41903
42741
  * MJ: Content Sources - strongly typed entity sub-class
41904
42742
  * * Schema: __mj
@@ -42047,50 +42885,66 @@ export declare class MJContentSourceEntity extends BaseEntity<MJContentSourceEnt
42047
42885
  get ScheduledActionID(): string | null;
42048
42886
  set ScheduledActionID(value: string | null);
42049
42887
  /**
42888
+ * * Field Name: SegmenterKey
42889
+ * * Display Name: Segmenter Strategy
42890
+ * * SQL Data Type: nvarchar(100)
42891
+ * * Description: Registration key of the segmentation strategy used to split this source's content into embeddable chunks — for example StructuralText (document headings), AdaptiveBoundary (target size closing on the nearest natural break), SemanticText (LLM-detected topic boundaries), Transcript (audio/video chapters), PagedContent (one segment per page), or FixedWindow (uniform windows). NULL falls back to the Content Type's value, then to a built-in default.
42892
+ */
42893
+ get SegmenterKey(): string | null;
42894
+ set SegmenterKey(value: string | null);
42895
+ /**
42896
+ * * Field Name: CleanerKey
42897
+ * * Display Name: Cleaner Strategy
42898
+ * * SQL Data Type: nvarchar(100)
42899
+ * * Description: Registration key of the content-cleaning strategy applied to this source before segmentation — for example Html (CSS-selector-driven extraction that drops navigation, sidebars, and advertising) or PlainText (whitespace normalization only). Cleaning is separate from segmentation because the two change for different reasons: a new site template needs new selectors, not a new chunking strategy. NULL falls back to the Content Type's value, then to a default inferred from the content's mime type.
42900
+ */
42901
+ get CleanerKey(): string | null;
42902
+ set CleanerKey(value: string | null);
42903
+ /**
42050
42904
  * * Field Name: ContentType
42051
- * * Display Name: Content Type
42905
+ * * Display Name: Content Type Name
42052
42906
  * * SQL Data Type: nvarchar(255)
42053
42907
  */
42054
42908
  get ContentType(): string;
42055
42909
  /**
42056
42910
  * * Field Name: ContentSourceType
42057
- * * Display Name: Content Source Type
42911
+ * * Display Name: Content Source Type Name
42058
42912
  * * SQL Data Type: nvarchar(255)
42059
42913
  */
42060
42914
  get ContentSourceType(): string;
42061
42915
  /**
42062
42916
  * * Field Name: ContentFileType
42063
- * * Display Name: Content File Type
42917
+ * * Display Name: Content File Type Name
42064
42918
  * * SQL Data Type: nvarchar(255)
42065
42919
  */
42066
42920
  get ContentFileType(): string;
42067
42921
  /**
42068
42922
  * * Field Name: EmbeddingModel
42069
- * * Display Name: Embedding Model
42923
+ * * Display Name: Embedding Model Name
42070
42924
  * * SQL Data Type: nvarchar(50)
42071
42925
  */
42072
42926
  get EmbeddingModel(): string | null;
42073
42927
  /**
42074
42928
  * * Field Name: VectorIndex
42075
- * * Display Name: Vector Index
42929
+ * * Display Name: Vector Index Name
42076
42930
  * * SQL Data Type: nvarchar(255)
42077
42931
  */
42078
42932
  get VectorIndex(): string | null;
42079
42933
  /**
42080
42934
  * * Field Name: Entity
42081
- * * Display Name: Entity
42935
+ * * Display Name: Entity Name
42082
42936
  * * SQL Data Type: nvarchar(255)
42083
42937
  */
42084
42938
  get Entity(): string | null;
42085
42939
  /**
42086
42940
  * * Field Name: EntityDocument
42087
- * * Display Name: Entity Document
42941
+ * * Display Name: Entity Document Name
42088
42942
  * * SQL Data Type: nvarchar(250)
42089
42943
  */
42090
42944
  get EntityDocument(): string | null;
42091
42945
  /**
42092
42946
  * * Field Name: ScheduledAction
42093
- * * Display Name: Scheduled Action
42947
+ * * Display Name: Scheduled Action Name
42094
42948
  * * SQL Data Type: nvarchar(255)
42095
42949
  */
42096
42950
  get ScheduledAction(): string | null;
@@ -42181,10 +43035,132 @@ export declare class MJContentTypeAttributeEntity extends BaseEntity<MJContentTy
42181
43035
  * their own {@link IContentSourceConfiguration}.
42182
43036
  */
42183
43037
  export interface MJContentTypeEntity_IContentTypeConfiguration {
43038
+ /**
43039
+ * Options passed to the segmentation strategy named by SegmenterKey.
43040
+ *
43041
+ * Sizing note: TargetTokens should be driven by the shape of your QUERIES, not by the
43042
+ * embedding model's context window. The window is an upper bound; a good chunk is about
43043
+ * as much content as a good answer, so that a matching chunk is mostly signal.
43044
+ */
43045
+ SegmentationOptions?: MJContentTypeEntity_IContentSegmentationOptions;
43046
+ /**
43047
+ * Options passed to the cleaning strategy named by CleanerKey. Selector rules are
43048
+ * per-source because the right selector is a property of the site's template.
43049
+ */
43050
+ CleaningOptions?: MJContentTypeEntity_IContentCleaningOptions;
42184
43051
  /** Whether to share tag taxonomy with LLM by default for all sources of this type. Can be overridden per source. Default true */
42185
43052
  ShareTaxonomyWithLLM?: boolean;
42186
43053
  /** Default tag taxonomy mode for sources of this type. Can be overridden per source */
42187
43054
  DefaultTagTaxonomyMode?: 'constrained' | 'auto-grow' | 'free-flow';
43055
+ /**
43056
+ * Default vector-database record-id strategy for sources of this type. Overridable per source
43057
+ * via {@link IContentSourceConfiguration.VectorIDStrategy}. Default 'recordId' (the safe,
43058
+ * purge-compatible strategy); 'hash' is legacy parity and unsafe with re-chunk + purge.
43059
+ */
43060
+ VectorIDStrategy?: 'hash' | 'recordId';
43061
+ /**
43062
+ * Default chunk text/vector storage mode for sources of this type. Overridable per source via
43063
+ * {@link IContentSourceConfiguration.ChunkTextStorage}. Default 'alwaysChunk' — every item gets
43064
+ * a ContentItemChunk row and ContentItem.VectorRecordID is never set; 'mixed' keeps
43065
+ * single-chunk items' text/vector on the ContentItem.
43066
+ */
43067
+ ChunkTextStorage?: 'mixed' | 'alwaysChunk';
43068
+ /**
43069
+ * Default vector-metadata configuration for sources of this type. Overridable per source via
43070
+ * {@link IContentSourceConfiguration.VectorMetadata}. Controls how minimal each vector's
43071
+ * metadata is kept.
43072
+ */
43073
+ VectorMetadata?: MJContentTypeEntity_IContentTypeVectorMetadataConfig;
43074
+ }
43075
+ /**
43076
+ * Content-type-level default for vector metadata shape. Structurally identical to
43077
+ * {@link IContentSourceConfiguration.VectorMetadata}; a source's own setting overrides it.
43078
+ */
43079
+ export interface MJContentTypeEntity_IContentTypeVectorMetadataConfig {
43080
+ /**
43081
+ * Which ContentItem fields go into metadata (mirrors the entity pipeline). Unset ⇒ the curated
43082
+ * default (identity + ContentSourceID/Type + Title / Description / URL + Tags).
43083
+ * - 'all': every eligible ContentItem field. - 'include': only `Fields` marked Included.
43084
+ * - 'exclude': all eligible except `Fields` marked Included:false. - 'explicit': exactly
43085
+ * `Fields`, no system keys except Entity, toggles opt-in.
43086
+ */
43087
+ FieldStrategy?: 'all' | 'include' | 'exclude' | 'explicit';
43088
+ /** Per-field overrides keyed by ContentItem field name. */
43089
+ Fields?: Record<string, MJContentTypeEntity_IContentTypeVectorMetadataFieldConfig>;
43090
+ /** Global default truncation limit (characters) for large string fields. Default 1000. */
43091
+ DefaultTruncationLimit?: number;
43092
+ /** Include the content entity's icon. Default true under a set strategy; opt-in under 'explicit'. */
43093
+ IncludeEntityIcon?: boolean;
43094
+ /** Include __mj_UpdatedAt for recency sorting. Default true under a set strategy; opt-in under 'explicit'. */
43095
+ IncludeUpdatedAt?: boolean;
43096
+ /** Include the item's Tags array. Default true (and under the curated default); opt-in under 'explicit'. */
43097
+ IncludeTags?: boolean;
43098
+ /** Include the embedded text under the 'Text' key. Default false. Honored under every strategy. */
43099
+ IncludeText?: boolean;
43100
+ }
43101
+ /** Per-field metadata override, keyed by ContentItem field name. Mirrors the entity pipeline. */
43102
+ export interface MJContentTypeEntity_IContentTypeVectorMetadataFieldConfig {
43103
+ /** Include this field under 'include'/'explicit', or exclude it (false) under 'all'/'exclude'. */
43104
+ Included?: boolean;
43105
+ /** Override the truncation limit (characters) for this field. */
43106
+ TruncationLimit?: number;
43107
+ /** How to store this field's value ('string' default, 'number', 'boolean', 'epochSeconds', 'epochMilliseconds'). */
43108
+ StoreAs?: 'string' | 'number' | 'boolean' | 'epochSeconds' | 'epochMilliseconds';
43109
+ }
43110
+ /**
43111
+ * Options for the segmentation strategy. All optional; each segmenter ignores options
43112
+ * that don't apply to it.
43113
+ */
43114
+ export interface MJContentTypeEntity_IContentSegmentationOptions {
43115
+ /** Hard ceiling on tokens per segment. Segments larger than this are split. */
43116
+ MaxSegmentTokens?: number;
43117
+ /** Overlap tokens applied when an oversized segment must be split. */
43118
+ OverlapTokens?: number;
43119
+ /** Merge adjacent text segments estimating below this many tokens. */
43120
+ MinSegmentTokens?: number;
43121
+ /** AdaptiveBoundary: desired segment size — size this to your queries, not to the model. */
43122
+ TargetTokens?: number;
43123
+ /** AdaptiveBoundary: percent below target at which a paragraph break is accepted. */
43124
+ UndershootPercent?: number;
43125
+ /** AdaptiveBoundary: percent above target to keep looking for a sentence/word break. */
43126
+ OvershootPercent?: number;
43127
+ /** AdaptiveBoundary: if the whole text is within this percent of target, don't split at all. */
43128
+ NoSplitPercent?: number;
43129
+ /** Transcript: maximum wall-clock length of one chapter, in milliseconds. */
43130
+ MaxChapterMs?: number;
43131
+ /** Transcript: a silence gap at least this long starts a new chapter. */
43132
+ BoundaryGapMs?: number;
43133
+ /** Transcript: also emit one child segment per speaker turn within each chapter. */
43134
+ EmitSubChapters?: boolean;
43135
+ /** FixedWindow: window length in milliseconds for audio/video with no transcript. */
43136
+ WindowMs?: number;
43137
+ /** SemanticText: skip the LLM boundary pass for documents below this token count. */
43138
+ MinTokensForLLM?: number;
43139
+ }
43140
+ /**
43141
+ * Options for the content-cleaning strategy that runs before segmentation.
43142
+ *
43143
+ * Garbage that survives cleaning is expensive: it gets embedded, stored, retrieved, and
43144
+ * shown to a user or an agent. Navigation chrome repeated across a thousand pages produces
43145
+ * a thousand near-identical vectors that crowd out real answers.
43146
+ */
43147
+ export interface MJContentTypeEntity_IContentCleaningOptions {
43148
+ /**
43149
+ * CSS selectors whose content is the ONLY content to keep. The highest-leverage knob:
43150
+ * naming the element that holds the article (e.g. '.article-body', 'main') discards
43151
+ * navigation, sidebars, and advertising without enumerating what to drop.
43152
+ */
43153
+ IncludeSelectors?: string[];
43154
+ /** CSS selectors to remove, applied after IncludeSelectors (inline ad slots, share widgets). */
43155
+ ExcludeSelectors?: string[];
43156
+ /** Collapse runs of whitespace and blank lines. Default true. */
43157
+ NormalizeWhitespace?: boolean;
43158
+ /** Maximum characters to retain after cleaning. */
43159
+ MaxLength?: number;
43160
+ /** Html cleaner: replace the built-in exclusion list rather than appending to it. */
43161
+ ReplaceDefaultExcludes?: boolean;
43162
+ /** Html cleaner: keep `alt` text from images as content. */
43163
+ IncludeImageAltText?: boolean;
42188
43164
  }
42189
43165
  /**
42190
43166
  * MJ: Content Types - strongly typed entity sub-class
@@ -42306,6 +43282,22 @@ export declare class MJContentTypeEntity extends BaseEntity<MJContentTypeEntityT
42306
43282
  get ConfigurationObject(): MJContentTypeEntity_IContentTypeConfiguration | null;
42307
43283
  set ConfigurationObject(value: MJContentTypeEntity_IContentTypeConfiguration | null);
42308
43284
  /**
43285
+ * * Field Name: SegmenterKey
43286
+ * * Display Name: Segmenter Strategy
43287
+ * * SQL Data Type: nvarchar(100)
43288
+ * * Description: Default segmentation strategy for content of this type, used when a Content Source does not specify its own SegmenterKey. See ContentSource.SegmenterKey for the available strategies.
43289
+ */
43290
+ get SegmenterKey(): string | null;
43291
+ set SegmenterKey(value: string | null);
43292
+ /**
43293
+ * * Field Name: CleanerKey
43294
+ * * Display Name: Cleaner Strategy
43295
+ * * SQL Data Type: nvarchar(100)
43296
+ * * Description: Default content-cleaning strategy for content of this type, used when a Content Source does not specify its own CleanerKey. See ContentSource.CleanerKey.
43297
+ */
43298
+ get CleanerKey(): string | null;
43299
+ set CleanerKey(value: string | null);
43300
+ /**
42309
43301
  * * Field Name: AIModel
42310
43302
  * * Display Name: AI Model Name
42311
43303
  * * SQL Data Type: nvarchar(50)
@@ -42654,6 +43646,83 @@ export declare class MJConversationArtifactEntity extends BaseEntity<MJConversat
42654
43646
  */
42655
43647
  get ArtifactType(): string;
42656
43648
  }
43649
+ /**
43650
+ * MJ: Conversation Compaction Runs - strongly typed entity sub-class
43651
+ * * Schema: __mj
43652
+ * * Base Table: ConversationCompactionRun
43653
+ * * Base View: vwConversationCompactionRuns
43654
+ * * @description Links a conversation detail boundary row to the AI Prompt Run that produced its compaction summary. Audit-only join table replacing the former ConversationDetail.SummaryPromptRunID FK to break the CodeGen cycle.
43655
+ * * Primary Key: ID
43656
+ * @extends {BaseEntity}
43657
+ * @class
43658
+ * @public
43659
+ */
43660
+ export declare class MJConversationCompactionRunEntity extends BaseEntity<MJConversationCompactionRunEntityType> {
43661
+ /**
43662
+ * Loads the MJ: Conversation Compaction Runs record from the database
43663
+ * @param ID: string - primary key value to load the MJ: Conversation Compaction Runs record.
43664
+ * @param EntityRelationshipsToLoad - (optional) the relationships to load
43665
+ * @returns {Promise<boolean>} - true if successful, false otherwise
43666
+ * @public
43667
+ * @async
43668
+ * @memberof MJConversationCompactionRunEntity
43669
+ * @method
43670
+ * @override
43671
+ */
43672
+ Load(ID: string, EntityRelationshipsToLoad?: string[]): Promise<boolean>;
43673
+ /**
43674
+ * * Field Name: ID
43675
+ * * Display Name: ID
43676
+ * * SQL Data Type: uniqueidentifier
43677
+ * * Default Value: newsequentialid()
43678
+ */
43679
+ get ID(): string;
43680
+ set ID(value: string);
43681
+ /**
43682
+ * * Field Name: ConversationDetailID
43683
+ * * Display Name: Conversation Detail
43684
+ * * SQL Data Type: uniqueidentifier
43685
+ * * Related Entity/Foreign Key: MJ: Conversation Details (vwConversationDetails.ID)
43686
+ * * Description: The conversation detail row whose SummaryOfEarlierConversation was produced by this compaction run.
43687
+ */
43688
+ get ConversationDetailID(): string;
43689
+ set ConversationDetailID(value: string);
43690
+ /**
43691
+ * * Field Name: PromptRunID
43692
+ * * Display Name: Prompt Run
43693
+ * * SQL Data Type: uniqueidentifier
43694
+ * * Related Entity/Foreign Key: MJ: AI Prompt Runs (vwAIPromptRuns.ID)
43695
+ * * Description: The AI Prompt Run that generated the compaction summary (model, tokens, cost, prompt version).
43696
+ */
43697
+ get PromptRunID(): string;
43698
+ set PromptRunID(value: string);
43699
+ /**
43700
+ * * Field Name: __mj_CreatedAt
43701
+ * * Display Name: Created At
43702
+ * * SQL Data Type: datetimeoffset
43703
+ * * Default Value: getutcdate()
43704
+ */
43705
+ get __mj_CreatedAt(): Date;
43706
+ /**
43707
+ * * Field Name: __mj_UpdatedAt
43708
+ * * Display Name: Updated At
43709
+ * * SQL Data Type: datetimeoffset
43710
+ * * Default Value: getutcdate()
43711
+ */
43712
+ get __mj_UpdatedAt(): Date;
43713
+ /**
43714
+ * * Field Name: ConversationDetail
43715
+ * * Display Name: Conversation Detail Name
43716
+ * * SQL Data Type: nvarchar(100)
43717
+ */
43718
+ get ConversationDetail(): string | null;
43719
+ /**
43720
+ * * Field Name: PromptRun
43721
+ * * Display Name: Prompt Run Name
43722
+ * * SQL Data Type: nvarchar(255)
43723
+ */
43724
+ get PromptRun(): string | null;
43725
+ }
42657
43726
  /**
42658
43727
  * MJ: Conversation Detail Artifacts - strongly typed entity sub-class
42659
43728
  * * Schema: __mj
@@ -43396,16 +44465,6 @@ export declare class MJConversationDetailEntity extends BaseEntity<MJConversatio
43396
44465
  * * Description: Monotonic, per-conversation ordinal assigned on insert (1-based). Provides a stable symbolic handle used by conversation-history retrieval tools and by the sequence markers embedded in compaction summaries. A summary stored in SummaryOfEarlierConversation on a given row covers all rows with a lower Sequence in the same conversation.
43397
44466
  */
43398
44467
  get Sequence(): number;
43399
- set Sequence(value: number);
43400
- /**
43401
- * * Field Name: SummaryPromptRunID
43402
- * * Display Name: Summary Prompt Run
43403
- * * SQL Data Type: uniqueidentifier
43404
- * * Related Entity/Foreign Key: MJ: AI Prompt Runs (vwAIPromptRuns.ID)
43405
- * * Description: When SummaryOfEarlierConversation is populated by a cross-turn compaction, this links to the AIPromptRun that produced it (model, tokens, cost, prompt version). Null for ordinary (non-summary) rows.
43406
- */
43407
- get SummaryPromptRunID(): string | null;
43408
- set SummaryPromptRunID(value: string | null);
43409
44468
  /**
43410
44469
  * * Field Name: Conversation
43411
44470
  * * Display Name: Conversation
@@ -43449,12 +44508,6 @@ export declare class MJConversationDetailEntity extends BaseEntity<MJConversatio
43449
44508
  */
43450
44509
  get TestRun(): string | null;
43451
44510
  /**
43452
- * * Field Name: SummaryPromptRun
43453
- * * Display Name: Summary Prompt Run
43454
- * * SQL Data Type: nvarchar(255)
43455
- */
43456
- get SummaryPromptRun(): string | null;
43457
- /**
43458
44511
  * * Field Name: RootParentID
43459
44512
  * * Display Name: Root Parent
43460
44513
  * * SQL Data Type: uniqueidentifier
@@ -66680,6 +67733,31 @@ export declare class MJSearchExecutionLogEntity extends BaseEntity<MJSearchExecu
66680
67733
  */
66681
67734
  get __mj_UpdatedAt(): Date;
66682
67735
  /**
67736
+ * * Field Name: AISkillID
67737
+ * * Display Name: AI Skill ID
67738
+ * * SQL Data Type: uniqueidentifier
67739
+ * * Related Entity/Foreign Key: MJ: AI Skills (vwAISkills.ID)
67740
+ * * Description: The AI Skill on whose behalf this search ran, or NULL for a search with no active skill. Mirrors AIAgentID: since a skill is a search principal in its own right (AISkill.SearchScopeAccess plus MJ: AI Skill Search Scopes rows can reach a scope the user's own roles do not grant), the log must record which skill was active or the entitlement decision cannot be reconstructed.
67741
+ */
67742
+ get AISkillID(): string | null;
67743
+ set AISkillID(value: string | null);
67744
+ /**
67745
+ * * Field Name: PrimaryScopeRecordID
67746
+ * * Display Name: Primary Scope Record ID
67747
+ * * SQL Data Type: uniqueidentifier
67748
+ * * Description: The tenant this search ran for, taken from SearchContext.PrimaryScopeRecordID. Lets a multi-tenant deployment partition, filter and retain search audit history per customer. NULL for untenanted searches. Named for the existing primary-scope concept rather than OrganizationID because a scope's primary scope may be a Company, Client or Practice.
67749
+ */
67750
+ get PrimaryScopeRecordID(): string | null;
67751
+ set PrimaryScopeRecordID(value: string | null);
67752
+ /**
67753
+ * * Field Name: ScopeDecisionJSON
67754
+ * * Display Name: Scope Decision JSON
67755
+ * * SQL Data Type: nvarchar(MAX)
67756
+ * * Description: Serialized ScopeExplanation recording WHY this search could reach what it reached: the entitlement decision and the grant that produced it, every dimension with its provenance (CallerSupplied / ServerDerived / Default / DiscardedCaller / Absent), and each lane's rendered filter with its active-or-skipped status and reason. Identical in shape to the value returned by SearchEngine.ExplainScope(), so the dry-run an administrator previews before running a search is the same structure the audit log stores afterwards. NULL when the engine did not capture a decision (older writers, or a failure before scope resolution).
67757
+ */
67758
+ get ScopeDecisionJSON(): string | null;
67759
+ set ScopeDecisionJSON(value: string | null);
67760
+ /**
66683
67761
  * * Field Name: SearchScope
66684
67762
  * * Display Name: Search Scope Name
66685
67763
  * * SQL Data Type: nvarchar(200)
@@ -66697,6 +67775,12 @@ export declare class MJSearchExecutionLogEntity extends BaseEntity<MJSearchExecu
66697
67775
  * * SQL Data Type: nvarchar(255)
66698
67776
  */
66699
67777
  get AIAgent(): string | null;
67778
+ /**
67779
+ * * Field Name: AISkill
67780
+ * * Display Name: AI Skill
67781
+ * * SQL Data Type: nvarchar(255)
67782
+ */
67783
+ get AISkill(): string | null;
66700
67784
  }
66701
67785
  /**
66702
67786
  * MJ: Search Providers - strongly typed entity sub-class
@@ -66949,6 +68033,14 @@ export declare class MJSearchScopeEntityEntity extends BaseEntity<MJSearchScopeE
66949
68033
  */
66950
68034
  get __mj_UpdatedAt(): Date;
66951
68035
  /**
68036
+ * * Field Name: RequiredMetadataKeys
68037
+ * * Display Name: Required Metadata Keys
68038
+ * * SQL Data Type: nvarchar(MAX)
68039
+ * * Description: JSON array of column or alias names the rendered ExtraFilter MUST reference for this lane to be considered safe, e.g. ["OrganizationID","ContentSourceID"]. Checked against the RENDERED filter at search time: if one is missing the lane is SKIPPED rather than queried, because a partially-rendered filter (an {% if %} clause dropped when its dimension was absent or discarded) is still valid SQL and silently widens the search. Same concept and same engine check as SearchScopeExternalIndex.RequiredMetadataKeys, applied to the SQL lane. NULL = no contract declared, which is the pre-migration behaviour.
68040
+ */
68041
+ get RequiredMetadataKeys(): string | null;
68042
+ set RequiredMetadataKeys(value: string | null);
68043
+ /**
66952
68044
  * * Field Name: SearchScope
66953
68045
  * * Display Name: Search Scope
66954
68046
  * * SQL Data Type: nvarchar(200)
@@ -67081,6 +68173,14 @@ export declare class MJSearchScopeExternalIndexEntity extends BaseEntity<MJSearc
67081
68173
  */
67082
68174
  get __mj_UpdatedAt(): Date;
67083
68175
  /**
68176
+ * * Field Name: RequiredMetadataKeys
68177
+ * * Display Name: Required Metadata Keys
68178
+ * * SQL Data Type: nvarchar(MAX)
68179
+ * * Description: JSON array of metadata key names the rendered MetadataFilter MUST constrain on for this lane to be considered safe, e.g. ["OrganizationID","ContentSourceID"]. Checked against the RENDERED filter at search time: if a key is missing the lane is SKIPPED rather than queried, because a partially-rendered filter silently widens the search. This also documents the ingest contract — these are the labels the writer must stamp on every document in the index, since a filter on a key that was never written either matches nothing or (on providers that ignore unknown keys) matches everything. NULL = no contract declared, which is the pre-migration behaviour.
68180
+ */
68181
+ get RequiredMetadataKeys(): string | null;
68182
+ set RequiredMetadataKeys(value: string | null);
68183
+ /**
67084
68184
  * * Field Name: SearchScope
67085
68185
  * * Display Name: Search Scope
67086
68186
  * * SQL Data Type: nvarchar(200)
@@ -67197,6 +68297,30 @@ export declare class MJSearchScopePermissionEntity extends BaseEntity<MJSearchSc
67197
68297
  */
67198
68298
  get __mj_UpdatedAt(): Date;
67199
68299
  /**
68300
+ * * Field Name: StartAt
68301
+ * * Display Name: Start At
68302
+ * * SQL Data Type: datetimeoffset
68303
+ * * Description: Optional start of the window in which this grant applies. NULL = no lower bound. SearchScopePermission was the only member of this family without a time window, so temporary grants previously needed a bespoke mechanism.
68304
+ */
68305
+ get StartAt(): Date | null;
68306
+ set StartAt(value: Date | null);
68307
+ /**
68308
+ * * Field Name: EndAt
68309
+ * * Display Name: End At
68310
+ * * SQL Data Type: datetimeoffset
68311
+ * * Description: Optional end of the window in which this grant applies. NULL = no upper bound.
68312
+ */
68313
+ get EndAt(): Date | null;
68314
+ set EndAt(value: Date | null);
68315
+ /**
68316
+ * * Field Name: PrimaryScopeRecordID
68317
+ * * Display Name: Primary Scope Record ID
68318
+ * * SQL Data Type: uniqueidentifier
68319
+ * * Description: Optional tenant this grant is limited to, matched against SearchContext.PrimaryScopeRecordID at search time and type-checkable against the scope's own PrimaryScopeEntityID. NULL = applies to every tenant, which is the pre-migration behaviour for all existing rows. Deliberately NOT called OrganizationID: MJ is domain-agnostic and a scope's primary scope may be a Company, Client or Practice, so this reuses the existing primary-scope concept rather than inventing a parallel tenancy column.
68320
+ */
68321
+ get PrimaryScopeRecordID(): string | null;
68322
+ set PrimaryScopeRecordID(value: string | null);
68323
+ /**
67200
68324
  * * Field Name: SearchScope
67201
68325
  * * Display Name: Search Scope Name
67202
68326
  * * SQL Data Type: nvarchar(200)