@memberjunction/core-entities 6.1.4 → 6.2.0-edge.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (54) hide show
  1. package/dist/.tsbuildinfo +1 -1
  2. package/dist/artifact-extraction/artifact-extractor.d.ts +1 -1
  3. package/dist/artifact-extraction/artifact-extractor.js +2 -2
  4. package/dist/custom/MJConversationDetailEntityExtended.d.ts +1 -1
  5. package/dist/custom/MJConversationDetailEntityExtended.js +5 -5
  6. package/dist/custom/MJTemplateEntityExtended.d.ts +2 -2
  7. package/dist/custom/MJTemplateEntityExtended.js +6 -6
  8. package/dist/custom/MJUserViewEntityExtended.d.ts +4 -4
  9. package/dist/custom/MJUserViewEntityExtended.js +22 -22
  10. package/dist/custom/MJUserViewEntityExtended.js.map +1 -1
  11. package/dist/custom/Permissions/BaseShareEntityExtended.d.ts +8 -0
  12. package/dist/custom/Permissions/BaseShareEntityExtended.d.ts.map +1 -1
  13. package/dist/custom/Permissions/BaseShareEntityExtended.js +20 -4
  14. package/dist/custom/Permissions/BaseShareEntityExtended.js.map +1 -1
  15. package/dist/custom/Permissions/MJAccessControlRuleEntityExtended.js +4 -4
  16. package/dist/custom/Permissions/MJArtifactPermissionEntityExtended.js +5 -5
  17. package/dist/custom/Permissions/MJCollectionPermissionEntityExtended.js +5 -5
  18. package/dist/custom/Permissions/MJDashboardPermissionEntityExtended.js +5 -5
  19. package/dist/custom/ResourcePermissions/MJResourcePermissionEntityExtended.js +2 -2
  20. package/dist/custom/ResourcePermissions/ResourcePermissionEngine.d.ts +2 -2
  21. package/dist/custom/ResourcePermissions/ResourcePermissionEngine.js +5 -5
  22. package/dist/engines/ApplicationSettingEngine.d.ts +1 -1
  23. package/dist/engines/ApplicationSettingEngine.js +8 -8
  24. package/dist/engines/AuditLogTypeEngine.d.ts +1 -1
  25. package/dist/engines/AuditLogTypeEngine.js +4 -4
  26. package/dist/engines/InstanceConfigEngine.d.ts +1 -1
  27. package/dist/engines/InstanceConfigEngine.js +2 -2
  28. package/dist/engines/MCPEngine.d.ts +4 -4
  29. package/dist/engines/MCPEngine.js +24 -24
  30. package/dist/engines/PermissionEngine.d.ts +2 -0
  31. package/dist/engines/PermissionEngine.d.ts.map +1 -1
  32. package/dist/engines/PermissionEngine.js +5 -1
  33. package/dist/engines/PermissionEngine.js.map +1 -1
  34. package/dist/engines/ResourceTypeEngine.d.ts +1 -1
  35. package/dist/engines/ResourceTypeEngine.js +4 -4
  36. package/dist/engines/TypeTablesCache.d.ts +1 -1
  37. package/dist/engines/TypeTablesCache.js +3 -3
  38. package/dist/engines/UserInfoEngine.d.ts +8 -8
  39. package/dist/engines/UserInfoEngine.js +48 -48
  40. package/dist/engines/UserRoutineEngine.d.ts +3 -3
  41. package/dist/engines/UserRoutineEngine.js +15 -15
  42. package/dist/engines/conversations.d.ts +183 -7
  43. package/dist/engines/conversations.d.ts.map +1 -1
  44. package/dist/engines/conversations.js +418 -57
  45. package/dist/engines/conversations.js.map +1 -1
  46. package/dist/generated/entities/__mj.d.ts +1999 -292
  47. package/dist/generated/entities/__mj.d.ts.map +1 -1
  48. package/dist/generated/entities/__mj.js +1430 -13
  49. package/dist/generated/entities/__mj.js.map +1 -1
  50. package/dist/generated/remote_operations.d.ts +100 -0
  51. package/dist/generated/remote_operations.d.ts.map +1 -1
  52. package/dist/generated/remote_operations.js +18 -0
  53. package/dist/generated/remote_operations.js.map +1 -1
  54. package/package.json +5 -5
@@ -3753,6 +3753,7 @@ export declare const MJAIPromptRunSchema: z.ZodObject<{
3753
3753
  OutputUnitsUsed: z.ZodNullable<z.ZodNumber>;
3754
3754
  UsageTypeID: z.ZodNullable<z.ZodString>;
3755
3755
  ToolCallingMode: z.ZodNullable<z.ZodUnion<[z.ZodLiteral<"Envelope">, z.ZodLiteral<"Native">, z.ZodLiteral<"NativeFallback">, z.ZodLiteral<"NativeImplicit">]>>;
3756
+ UserID: z.ZodNullable<z.ZodString>;
3756
3757
  Prompt: z.ZodString;
3757
3758
  Model: z.ZodString;
3758
3759
  Vendor: z.ZodString;
@@ -3765,6 +3766,7 @@ export declare const MJAIPromptRunSchema: z.ZodObject<{
3765
3766
  ChildPrompt: z.ZodNullable<z.ZodString>;
3766
3767
  TestRun: z.ZodNullable<z.ZodString>;
3767
3768
  UsageType: z.ZodNullable<z.ZodString>;
3769
+ User: z.ZodNullable<z.ZodString>;
3768
3770
  RootParentID: z.ZodNullable<z.ZodString>;
3769
3771
  ParentIDDepth: z.ZodNullable<z.ZodNumber>;
3770
3772
  ParentIDPath: z.ZodNullable<z.ZodString>;
@@ -3786,7 +3788,9 @@ export declare const MJAIPromptRunSchema: z.ZodObject<{
3786
3788
  ParentIDChildCount?: number;
3787
3789
  Configuration?: string;
3788
3790
  ExecutionOrder?: number;
3791
+ UserID?: string;
3789
3792
  Comments?: string;
3793
+ User?: string;
3790
3794
  ModelID?: string;
3791
3795
  Model?: string;
3792
3796
  PromptID?: string;
@@ -3896,7 +3900,9 @@ export declare const MJAIPromptRunSchema: z.ZodObject<{
3896
3900
  ParentIDChildCount?: number;
3897
3901
  Configuration?: string;
3898
3902
  ExecutionOrder?: number;
3903
+ UserID?: string;
3899
3904
  Comments?: string;
3905
+ User?: string;
3900
3906
  ModelID?: string;
3901
3907
  Model?: string;
3902
3908
  PromptID?: string;
@@ -4617,6 +4623,7 @@ export declare const MJAIVendorSchema: z.ZodObject<{
4617
4623
  __mj_CreatedAt: z.ZodDate;
4618
4624
  __mj_UpdatedAt: z.ZodDate;
4619
4625
  CredentialTypeID: z.ZodNullable<z.ZodString>;
4626
+ Configuration: z.ZodNullable<z.ZodAny>;
4620
4627
  CredentialType: z.ZodNullable<z.ZodString>;
4621
4628
  }, "strip", z.ZodTypeAny, {
4622
4629
  ID?: string;
@@ -4624,6 +4631,7 @@ export declare const MJAIVendorSchema: z.ZodObject<{
4624
4631
  Description?: string;
4625
4632
  __mj_CreatedAt?: Date;
4626
4633
  __mj_UpdatedAt?: Date;
4634
+ Configuration?: any;
4627
4635
  CredentialTypeID?: string;
4628
4636
  CredentialType?: string;
4629
4637
  }, {
@@ -4632,6 +4640,7 @@ export declare const MJAIVendorSchema: z.ZodObject<{
4632
4640
  Description?: string;
4633
4641
  __mj_CreatedAt?: Date;
4634
4642
  __mj_UpdatedAt?: Date;
4643
+ Configuration?: any;
4635
4644
  CredentialTypeID?: string;
4636
4645
  CredentialType?: string;
4637
4646
  }>;
@@ -10897,10 +10906,10 @@ export declare const MJEntityDocumentSchema: z.ZodObject<{
10897
10906
  Name: z.ZodString;
10898
10907
  TypeID: z.ZodString;
10899
10908
  EntityID: z.ZodString;
10900
- VectorDatabaseID: z.ZodString;
10909
+ VectorDatabaseID: z.ZodNullable<z.ZodString>;
10901
10910
  Status: z.ZodUnion<[z.ZodLiteral<"Active">, z.ZodLiteral<"Inactive">]>;
10902
10911
  TemplateID: z.ZodString;
10903
- AIModelID: z.ZodString;
10912
+ AIModelID: z.ZodNullable<z.ZodString>;
10904
10913
  PotentialMatchThreshold: z.ZodNumber;
10905
10914
  AbsoluteMatchThreshold: z.ZodNumber;
10906
10915
  __mj_CreatedAt: z.ZodDate;
@@ -10915,9 +10924,9 @@ export declare const MJEntityDocumentSchema: z.ZodObject<{
10915
10924
  AutomationLevel: z.ZodUnion<[z.ZodLiteral<"AutoMergeAboveAbsolute">, z.ZodLiteral<"LLMGated">, z.ZodLiteral<"ReviewAll">]>;
10916
10925
  Type: z.ZodString;
10917
10926
  Entity: z.ZodString;
10918
- VectorDatabase: z.ZodString;
10927
+ VectorDatabase: z.ZodNullable<z.ZodString>;
10919
10928
  Template: z.ZodString;
10920
- AIModel: z.ZodString;
10929
+ AIModel: z.ZodNullable<z.ZodString>;
10921
10930
  VectorIndex: z.ZodNullable<z.ZodString>;
10922
10931
  ReasoningPrompt: z.ZodNullable<z.ZodString>;
10923
10932
  ReasoningAgent: z.ZodNullable<z.ZodString>;
@@ -11130,6 +11139,8 @@ export declare const MJEntityFieldSchema: z.ZodObject<{
11130
11139
  IsComputed: z.ZodBoolean;
11131
11140
  EmbeddedRecord: z.ZodNullable<z.ZodAny>;
11132
11141
  Configuration: z.ZodNullable<z.ZodAny>;
11142
+ RelatedEntityFilter: z.ZodNullable<z.ZodString>;
11143
+ RelatedEntityOrderBy: z.ZodNullable<z.ZodString>;
11133
11144
  FieldCodeName: z.ZodNullable<z.ZodString>;
11134
11145
  Entity: z.ZodString;
11135
11146
  SchemaName: z.ZodString;
@@ -11216,6 +11227,8 @@ export declare const MJEntityFieldSchema: z.ZodObject<{
11216
11227
  AutoUpdateExtendedType?: boolean;
11217
11228
  IsComputed?: boolean;
11218
11229
  EmbeddedRecord?: any;
11230
+ RelatedEntityFilter?: string;
11231
+ RelatedEntityOrderBy?: string;
11219
11232
  FieldCodeName?: string;
11220
11233
  RelatedEntity?: string;
11221
11234
  RelatedEntitySchemaName?: string;
@@ -11296,6 +11309,8 @@ export declare const MJEntityFieldSchema: z.ZodObject<{
11296
11309
  AutoUpdateExtendedType?: boolean;
11297
11310
  IsComputed?: boolean;
11298
11311
  EmbeddedRecord?: any;
11312
+ RelatedEntityFilter?: string;
11313
+ RelatedEntityOrderBy?: string;
11299
11314
  FieldCodeName?: string;
11300
11315
  RelatedEntity?: string;
11301
11316
  RelatedEntitySchemaName?: string;
@@ -12133,305 +12148,459 @@ export declare const MJExternalDataSourceSchema: z.ZodObject<{
12133
12148
  }>;
12134
12149
  export type MJExternalDataSourceEntityType = z.infer<typeof MJExternalDataSourceSchema>;
12135
12150
  /**
12136
- * zod schema definition for the entity MJ: File Categories
12151
+ * zod schema definition for the entity MJ: Feature Value Caches
12137
12152
  */
12138
- export declare const MJFileCategorySchema: z.ZodObject<{
12153
+ export declare const MJFeatureValueCacheSchema: z.ZodObject<{
12139
12154
  ID: z.ZodString;
12140
- Name: z.ZodString;
12141
- ParentID: z.ZodNullable<z.ZodString>;
12142
- Description: z.ZodNullable<z.ZodString>;
12155
+ RecordProcessID: z.ZodNullable<z.ZodString>;
12156
+ PromptID: z.ZodString;
12157
+ PromptVersionHash: z.ZodString;
12158
+ ConstraintHash: z.ZodString;
12159
+ KeyHash: z.ZodString;
12160
+ KeyDisplay: z.ZodNullable<z.ZodString>;
12161
+ KeyJSON: z.ZodString;
12162
+ OutputsJSON: z.ZodString;
12163
+ Reasoning: z.ZodNullable<z.ZodString>;
12164
+ AIPromptRunID: z.ZodNullable<z.ZodString>;
12165
+ HitCount: z.ZodNumber;
12166
+ LastHitAt: z.ZodNullable<z.ZodDate>;
12167
+ ComputedAt: z.ZodDate;
12168
+ ExpiresAt: z.ZodNullable<z.ZodDate>;
12143
12169
  __mj_CreatedAt: z.ZodDate;
12144
12170
  __mj_UpdatedAt: z.ZodDate;
12145
- Parent: z.ZodNullable<z.ZodString>;
12146
- RootParentID: z.ZodNullable<z.ZodString>;
12147
- ParentIDDepth: z.ZodNullable<z.ZodNumber>;
12148
- ParentIDPath: z.ZodNullable<z.ZodString>;
12149
- ParentIDIsLeaf: z.ZodNullable<z.ZodBoolean>;
12150
- ParentIDChildCount: z.ZodNullable<z.ZodNumber>;
12171
+ RecordProcess: z.ZodNullable<z.ZodString>;
12172
+ Prompt: z.ZodString;
12151
12173
  }, "strip", z.ZodTypeAny, {
12152
12174
  ID?: string;
12153
- Name?: string;
12154
- Description?: string;
12155
12175
  __mj_CreatedAt?: Date;
12156
12176
  __mj_UpdatedAt?: Date;
12157
- ParentID?: string;
12158
- Parent?: string;
12159
- RootParentID?: string;
12160
- ParentIDDepth?: number;
12161
- ParentIDPath?: string;
12162
- ParentIDIsLeaf?: boolean;
12163
- ParentIDChildCount?: number;
12177
+ ExpiresAt?: Date;
12178
+ PromptID?: string;
12179
+ Prompt?: string;
12180
+ AIPromptRunID?: string;
12181
+ Reasoning?: string;
12182
+ RecordProcessID?: string;
12183
+ PromptVersionHash?: string;
12184
+ ConstraintHash?: string;
12185
+ KeyHash?: string;
12186
+ KeyDisplay?: string;
12187
+ KeyJSON?: string;
12188
+ OutputsJSON?: string;
12189
+ HitCount?: number;
12190
+ LastHitAt?: Date;
12191
+ ComputedAt?: Date;
12192
+ RecordProcess?: string;
12164
12193
  }, {
12165
12194
  ID?: string;
12166
- Name?: string;
12167
- Description?: string;
12168
12195
  __mj_CreatedAt?: Date;
12169
12196
  __mj_UpdatedAt?: Date;
12170
- ParentID?: string;
12171
- Parent?: string;
12172
- RootParentID?: string;
12173
- ParentIDDepth?: number;
12174
- ParentIDPath?: string;
12175
- ParentIDIsLeaf?: boolean;
12176
- ParentIDChildCount?: number;
12197
+ ExpiresAt?: Date;
12198
+ PromptID?: string;
12199
+ Prompt?: string;
12200
+ AIPromptRunID?: string;
12201
+ Reasoning?: string;
12202
+ RecordProcessID?: string;
12203
+ PromptVersionHash?: string;
12204
+ ConstraintHash?: string;
12205
+ KeyHash?: string;
12206
+ KeyDisplay?: string;
12207
+ KeyJSON?: string;
12208
+ OutputsJSON?: string;
12209
+ HitCount?: number;
12210
+ LastHitAt?: Date;
12211
+ ComputedAt?: Date;
12212
+ RecordProcess?: string;
12177
12213
  }>;
12178
- export type MJFileCategoryEntityType = z.infer<typeof MJFileCategorySchema>;
12214
+ export type MJFeatureValueCacheEntityType = z.infer<typeof MJFeatureValueCacheSchema>;
12179
12215
  /**
12180
- * zod schema definition for the entity MJ: File Entity Record Links
12216
+ * zod schema definition for the entity MJ: Feature Values
12181
12217
  */
12182
- export declare const MJFileEntityRecordLinkSchema: z.ZodObject<{
12218
+ export declare const MJFeatureValueSchema: z.ZodObject<{
12183
12219
  ID: z.ZodString;
12184
- FileID: z.ZodString;
12220
+ RecordProcessID: z.ZodString;
12185
12221
  EntityID: z.ZodString;
12186
12222
  RecordID: z.ZodString;
12223
+ FeatureName: z.ZodString;
12224
+ ValueText: z.ZodNullable<z.ZodString>;
12225
+ ValueNumeric: z.ZodNullable<z.ZodNumber>;
12226
+ ValueDate: z.ZodNullable<z.ZodDate>;
12227
+ ValueBoolean: z.ZodNullable<z.ZodBoolean>;
12228
+ ValueJSON: z.ZodNullable<z.ZodString>;
12229
+ Reasoning: z.ZodNullable<z.ZodString>;
12230
+ Confidence: z.ZodNullable<z.ZodNumber>;
12231
+ PromptID: z.ZodNullable<z.ZodString>;
12232
+ PromptVersionHash: z.ZodNullable<z.ZodString>;
12233
+ ConstraintHash: z.ZodNullable<z.ZodString>;
12234
+ ProcessRunID: z.ZodNullable<z.ZodString>;
12235
+ ProcessRunDetailID: z.ZodNullable<z.ZodString>;
12236
+ AIPromptRunID: z.ZodNullable<z.ZodString>;
12237
+ FeatureValueCacheID: z.ZodNullable<z.ZodString>;
12238
+ ComputedAt: z.ZodDate;
12187
12239
  __mj_CreatedAt: z.ZodDate;
12188
12240
  __mj_UpdatedAt: z.ZodDate;
12189
- File: z.ZodString;
12241
+ RecordProcess: z.ZodString;
12190
12242
  Entity: z.ZodString;
12243
+ Prompt: z.ZodNullable<z.ZodString>;
12244
+ ProcessRunDetail: z.ZodNullable<z.ZodString>;
12245
+ FeatureValueCache: z.ZodNullable<z.ZodString>;
12191
12246
  }, "strip", z.ZodTypeAny, {
12192
12247
  ID?: string;
12193
12248
  __mj_CreatedAt?: Date;
12194
12249
  __mj_UpdatedAt?: Date;
12195
- FileID?: string;
12196
- File?: string;
12250
+ PromptID?: string;
12251
+ Prompt?: string;
12197
12252
  EntityID?: string;
12198
12253
  RecordID?: string;
12199
12254
  Entity?: string;
12255
+ AIPromptRunID?: string;
12256
+ Reasoning?: string;
12257
+ RecordProcessID?: string;
12258
+ PromptVersionHash?: string;
12259
+ ConstraintHash?: string;
12260
+ ComputedAt?: Date;
12261
+ RecordProcess?: string;
12262
+ FeatureName?: string;
12263
+ ValueText?: string;
12264
+ ValueNumeric?: number;
12265
+ ValueDate?: Date;
12266
+ ValueBoolean?: boolean;
12267
+ ValueJSON?: string;
12268
+ Confidence?: number;
12269
+ ProcessRunID?: string;
12270
+ ProcessRunDetailID?: string;
12271
+ FeatureValueCacheID?: string;
12272
+ ProcessRunDetail?: string;
12273
+ FeatureValueCache?: string;
12200
12274
  }, {
12201
12275
  ID?: string;
12202
12276
  __mj_CreatedAt?: Date;
12203
12277
  __mj_UpdatedAt?: Date;
12204
- FileID?: string;
12205
- File?: string;
12278
+ PromptID?: string;
12279
+ Prompt?: string;
12206
12280
  EntityID?: string;
12207
12281
  RecordID?: string;
12208
12282
  Entity?: string;
12283
+ AIPromptRunID?: string;
12284
+ Reasoning?: string;
12285
+ RecordProcessID?: string;
12286
+ PromptVersionHash?: string;
12287
+ ConstraintHash?: string;
12288
+ ComputedAt?: Date;
12289
+ RecordProcess?: string;
12290
+ FeatureName?: string;
12291
+ ValueText?: string;
12292
+ ValueNumeric?: number;
12293
+ ValueDate?: Date;
12294
+ ValueBoolean?: boolean;
12295
+ ValueJSON?: string;
12296
+ Confidence?: number;
12297
+ ProcessRunID?: string;
12298
+ ProcessRunDetailID?: string;
12299
+ FeatureValueCacheID?: string;
12300
+ ProcessRunDetail?: string;
12301
+ FeatureValueCache?: string;
12209
12302
  }>;
12210
- export type MJFileEntityRecordLinkEntityType = z.infer<typeof MJFileEntityRecordLinkSchema>;
12211
- /**
12212
- * zod schema definition for the entity MJ: File Storage Account Permissions
12213
- */
12214
- export declare const MJFileStorageAccountPermissionSchema: z.ZodObject<{
12215
- ID: z.ZodString;
12216
- FileStorageAccountID: z.ZodString;
12217
- Type: z.ZodUnion<[z.ZodLiteral<"Everyone">, z.ZodLiteral<"Role">, z.ZodLiteral<"User">]>;
12218
- UserID: z.ZodNullable<z.ZodString>;
12219
- RoleID: z.ZodNullable<z.ZodString>;
12220
- CanRead: z.ZodBoolean;
12221
- CanWrite: z.ZodBoolean;
12222
- __mj_CreatedAt: z.ZodDate;
12223
- __mj_UpdatedAt: z.ZodDate;
12224
- FileStorageAccount: z.ZodString;
12225
- User: z.ZodNullable<z.ZodString>;
12226
- Role: z.ZodNullable<z.ZodString>;
12227
- }, "strip", z.ZodTypeAny, {
12228
- ID?: string;
12229
- __mj_CreatedAt?: Date;
12230
- __mj_UpdatedAt?: Date;
12231
- Type?: "User" | "Role" | "Everyone";
12232
- UserID?: string;
12233
- User?: string;
12234
- RoleID?: string;
12235
- Role?: string;
12236
- CanRead?: boolean;
12237
- FileStorageAccountID?: string;
12238
- CanWrite?: boolean;
12239
- FileStorageAccount?: string;
12240
- }, {
12241
- ID?: string;
12242
- __mj_CreatedAt?: Date;
12243
- __mj_UpdatedAt?: Date;
12244
- Type?: "User" | "Role" | "Everyone";
12245
- UserID?: string;
12246
- User?: string;
12247
- RoleID?: string;
12248
- Role?: string;
12249
- CanRead?: boolean;
12250
- FileStorageAccountID?: string;
12251
- CanWrite?: boolean;
12252
- FileStorageAccount?: string;
12253
- }>;
12254
- export type MJFileStorageAccountPermissionEntityType = z.infer<typeof MJFileStorageAccountPermissionSchema>;
12255
- /**
12256
- * zod schema definition for the entity MJ: File Storage Accounts
12257
- */
12258
- export declare const MJFileStorageAccountSchema: z.ZodObject<{
12259
- ID: z.ZodString;
12260
- Name: z.ZodString;
12261
- Description: z.ZodNullable<z.ZodString>;
12262
- ProviderID: z.ZodString;
12263
- CredentialID: z.ZodString;
12264
- __mj_CreatedAt: z.ZodDate;
12265
- __mj_UpdatedAt: z.ZodDate;
12266
- IncludeInGlobalSearch: z.ZodBoolean;
12267
- Provider: z.ZodString;
12268
- Credential: z.ZodString;
12269
- }, "strip", z.ZodTypeAny, {
12270
- ID?: string;
12271
- Name?: string;
12272
- Description?: string;
12273
- __mj_CreatedAt?: Date;
12274
- __mj_UpdatedAt?: Date;
12275
- CredentialID?: string;
12276
- Credential?: string;
12277
- ProviderID?: string;
12278
- Provider?: string;
12279
- IncludeInGlobalSearch?: boolean;
12280
- }, {
12281
- ID?: string;
12282
- Name?: string;
12283
- Description?: string;
12284
- __mj_CreatedAt?: Date;
12285
- __mj_UpdatedAt?: Date;
12286
- CredentialID?: string;
12287
- Credential?: string;
12288
- ProviderID?: string;
12289
- Provider?: string;
12290
- IncludeInGlobalSearch?: boolean;
12291
- }>;
12292
- export type MJFileStorageAccountEntityType = z.infer<typeof MJFileStorageAccountSchema>;
12293
- /**
12294
- * zod schema definition for the entity MJ: File Storage Providers
12295
- */
12296
- export declare const MJFileStorageProviderSchema: z.ZodObject<{
12297
- ID: z.ZodString;
12298
- Name: z.ZodString;
12299
- Description: z.ZodNullable<z.ZodString>;
12300
- ServerDriverKey: z.ZodString;
12301
- ClientDriverKey: z.ZodString;
12302
- Priority: z.ZodNumber;
12303
- IsActive: z.ZodBoolean;
12304
- __mj_CreatedAt: z.ZodDate;
12305
- __mj_UpdatedAt: z.ZodDate;
12306
- SupportsSearch: z.ZodBoolean;
12307
- Configuration: z.ZodNullable<z.ZodAny>;
12308
- RequiresOAuth: z.ZodBoolean;
12309
- }, "strip", z.ZodTypeAny, {
12310
- ID?: string;
12311
- Name?: string;
12312
- Description?: string;
12313
- IsActive?: boolean;
12314
- __mj_CreatedAt?: Date;
12315
- __mj_UpdatedAt?: Date;
12316
- Priority?: number;
12317
- Configuration?: any;
12318
- ServerDriverKey?: string;
12319
- ClientDriverKey?: string;
12320
- SupportsSearch?: boolean;
12321
- RequiresOAuth?: boolean;
12322
- }, {
12323
- ID?: string;
12324
- Name?: string;
12325
- Description?: string;
12326
- IsActive?: boolean;
12327
- __mj_CreatedAt?: Date;
12328
- __mj_UpdatedAt?: Date;
12329
- Priority?: number;
12330
- Configuration?: any;
12331
- ServerDriverKey?: string;
12332
- ClientDriverKey?: string;
12333
- SupportsSearch?: boolean;
12334
- RequiresOAuth?: boolean;
12335
- }>;
12336
- export type MJFileStorageProviderEntityType = z.infer<typeof MJFileStorageProviderSchema>;
12337
- /**
12338
- * zod schema definition for the entity MJ: Files
12339
- */
12340
- export declare const MJFileSchema: z.ZodObject<{
12341
- ID: z.ZodString;
12342
- Name: z.ZodString;
12343
- Description: z.ZodNullable<z.ZodString>;
12344
- CategoryID: z.ZodNullable<z.ZodString>;
12345
- ProviderID: z.ZodString;
12346
- ContentType: z.ZodNullable<z.ZodString>;
12347
- ProviderKey: z.ZodNullable<z.ZodString>;
12348
- Status: z.ZodString;
12349
- __mj_CreatedAt: z.ZodDate;
12350
- __mj_UpdatedAt: z.ZodDate;
12351
- Category: z.ZodNullable<z.ZodString>;
12352
- Provider: z.ZodString;
12353
- }, "strip", z.ZodTypeAny, {
12354
- ID?: string;
12355
- Name?: string;
12356
- Description?: string;
12357
- __mj_CreatedAt?: Date;
12358
- __mj_UpdatedAt?: Date;
12359
- Status?: string;
12360
- ProviderID?: string;
12361
- Provider?: string;
12362
- CategoryID?: string;
12363
- Category?: string;
12364
- ContentType?: string;
12365
- ProviderKey?: string;
12366
- }, {
12367
- ID?: string;
12368
- Name?: string;
12369
- Description?: string;
12370
- __mj_CreatedAt?: Date;
12371
- __mj_UpdatedAt?: Date;
12372
- Status?: string;
12373
- ProviderID?: string;
12374
- Provider?: string;
12375
- CategoryID?: string;
12376
- Category?: string;
12377
- ContentType?: string;
12378
- ProviderKey?: string;
12379
- }>;
12380
- export type MJFileEntityType = z.infer<typeof MJFileSchema>;
12381
- /**
12382
- * zod schema definition for the entity MJ: Form Chrome Rules
12383
- */
12384
- export declare const MJFormChromeRuleSchema: z.ZodObject<{
12385
- ID: z.ZodString;
12386
- EntityID: z.ZodString;
12387
- TargetKind: z.ZodUnion<[z.ZodLiteral<"Contribution">, z.ZodLiteral<"Relationship">]>;
12388
- RelatedEntityID: z.ZodNullable<z.ZodString>;
12389
- ContributionKey: z.ZodNullable<z.ZodString>;
12390
- Inclusion: z.ZodUnion<[z.ZodLiteral<"More">, z.ZodLiteral<"None">, z.ZodLiteral<"Primary">]>;
12391
- JoinFields: z.ZodNullable<z.ZodString>;
12392
- Sequence: z.ZodNumber;
12393
- Title: z.ZodNullable<z.ZodString>;
12394
- __mj_CreatedAt: z.ZodDate;
12395
- __mj_UpdatedAt: z.ZodDate;
12396
- Entity: z.ZodString;
12397
- RelatedEntity: z.ZodNullable<z.ZodString>;
12398
- }, "strip", z.ZodTypeAny, {
12399
- ID?: string;
12400
- __mj_CreatedAt?: Date;
12401
- __mj_UpdatedAt?: Date;
12402
- Sequence?: number;
12403
- EntityID?: string;
12404
- Entity?: string;
12405
- Title?: string;
12406
- RelatedEntityID?: string;
12407
- RelatedEntity?: string;
12408
- TargetKind?: "Contribution" | "Relationship";
12409
- ContributionKey?: string;
12410
- Inclusion?: "None" | "More" | "Primary";
12411
- JoinFields?: string;
12412
- }, {
12413
- ID?: string;
12414
- __mj_CreatedAt?: Date;
12415
- __mj_UpdatedAt?: Date;
12416
- Sequence?: number;
12417
- EntityID?: string;
12418
- Entity?: string;
12419
- Title?: string;
12420
- RelatedEntityID?: string;
12421
- RelatedEntity?: string;
12422
- TargetKind?: "Contribution" | "Relationship";
12423
- ContributionKey?: string;
12424
- Inclusion?: "None" | "More" | "Primary";
12425
- JoinFields?: string;
12426
- }>;
12427
- export type MJFormChromeRuleEntityType = z.infer<typeof MJFormChromeRuleSchema>;
12303
+ export type MJFeatureValueEntityType = z.infer<typeof MJFeatureValueSchema>;
12428
12304
  /**
12429
- * zod schema definition for the entity MJ: Generated Code Categories
12305
+ * zod schema definition for the entity MJ: File Categories
12430
12306
  */
12431
- export declare const MJGeneratedCodeCategorySchema: z.ZodObject<{
12307
+ export declare const MJFileCategorySchema: z.ZodObject<{
12432
12308
  ID: z.ZodString;
12433
12309
  Name: z.ZodString;
12434
- Description: z.ZodNullable<z.ZodString>;
12310
+ ParentID: z.ZodNullable<z.ZodString>;
12311
+ Description: z.ZodNullable<z.ZodString>;
12312
+ __mj_CreatedAt: z.ZodDate;
12313
+ __mj_UpdatedAt: z.ZodDate;
12314
+ Parent: z.ZodNullable<z.ZodString>;
12315
+ RootParentID: z.ZodNullable<z.ZodString>;
12316
+ ParentIDDepth: z.ZodNullable<z.ZodNumber>;
12317
+ ParentIDPath: z.ZodNullable<z.ZodString>;
12318
+ ParentIDIsLeaf: z.ZodNullable<z.ZodBoolean>;
12319
+ ParentIDChildCount: z.ZodNullable<z.ZodNumber>;
12320
+ }, "strip", z.ZodTypeAny, {
12321
+ ID?: string;
12322
+ Name?: string;
12323
+ Description?: string;
12324
+ __mj_CreatedAt?: Date;
12325
+ __mj_UpdatedAt?: Date;
12326
+ ParentID?: string;
12327
+ Parent?: string;
12328
+ RootParentID?: string;
12329
+ ParentIDDepth?: number;
12330
+ ParentIDPath?: string;
12331
+ ParentIDIsLeaf?: boolean;
12332
+ ParentIDChildCount?: number;
12333
+ }, {
12334
+ ID?: string;
12335
+ Name?: string;
12336
+ Description?: string;
12337
+ __mj_CreatedAt?: Date;
12338
+ __mj_UpdatedAt?: Date;
12339
+ ParentID?: string;
12340
+ Parent?: string;
12341
+ RootParentID?: string;
12342
+ ParentIDDepth?: number;
12343
+ ParentIDPath?: string;
12344
+ ParentIDIsLeaf?: boolean;
12345
+ ParentIDChildCount?: number;
12346
+ }>;
12347
+ export type MJFileCategoryEntityType = z.infer<typeof MJFileCategorySchema>;
12348
+ /**
12349
+ * zod schema definition for the entity MJ: File Entity Record Links
12350
+ */
12351
+ export declare const MJFileEntityRecordLinkSchema: z.ZodObject<{
12352
+ ID: z.ZodString;
12353
+ FileID: z.ZodString;
12354
+ EntityID: z.ZodString;
12355
+ RecordID: z.ZodString;
12356
+ __mj_CreatedAt: z.ZodDate;
12357
+ __mj_UpdatedAt: z.ZodDate;
12358
+ File: z.ZodString;
12359
+ Entity: z.ZodString;
12360
+ }, "strip", z.ZodTypeAny, {
12361
+ ID?: string;
12362
+ __mj_CreatedAt?: Date;
12363
+ __mj_UpdatedAt?: Date;
12364
+ FileID?: string;
12365
+ File?: string;
12366
+ EntityID?: string;
12367
+ RecordID?: string;
12368
+ Entity?: string;
12369
+ }, {
12370
+ ID?: string;
12371
+ __mj_CreatedAt?: Date;
12372
+ __mj_UpdatedAt?: Date;
12373
+ FileID?: string;
12374
+ File?: string;
12375
+ EntityID?: string;
12376
+ RecordID?: string;
12377
+ Entity?: string;
12378
+ }>;
12379
+ export type MJFileEntityRecordLinkEntityType = z.infer<typeof MJFileEntityRecordLinkSchema>;
12380
+ /**
12381
+ * zod schema definition for the entity MJ: File Storage Account Permissions
12382
+ */
12383
+ export declare const MJFileStorageAccountPermissionSchema: z.ZodObject<{
12384
+ ID: z.ZodString;
12385
+ FileStorageAccountID: z.ZodString;
12386
+ Type: z.ZodUnion<[z.ZodLiteral<"Everyone">, z.ZodLiteral<"Role">, z.ZodLiteral<"User">]>;
12387
+ UserID: z.ZodNullable<z.ZodString>;
12388
+ RoleID: z.ZodNullable<z.ZodString>;
12389
+ CanRead: z.ZodBoolean;
12390
+ CanWrite: z.ZodBoolean;
12391
+ __mj_CreatedAt: z.ZodDate;
12392
+ __mj_UpdatedAt: z.ZodDate;
12393
+ FileStorageAccount: z.ZodString;
12394
+ User: z.ZodNullable<z.ZodString>;
12395
+ Role: z.ZodNullable<z.ZodString>;
12396
+ }, "strip", z.ZodTypeAny, {
12397
+ ID?: string;
12398
+ __mj_CreatedAt?: Date;
12399
+ __mj_UpdatedAt?: Date;
12400
+ Type?: "User" | "Role" | "Everyone";
12401
+ UserID?: string;
12402
+ User?: string;
12403
+ RoleID?: string;
12404
+ Role?: string;
12405
+ CanRead?: boolean;
12406
+ FileStorageAccountID?: string;
12407
+ CanWrite?: boolean;
12408
+ FileStorageAccount?: string;
12409
+ }, {
12410
+ ID?: string;
12411
+ __mj_CreatedAt?: Date;
12412
+ __mj_UpdatedAt?: Date;
12413
+ Type?: "User" | "Role" | "Everyone";
12414
+ UserID?: string;
12415
+ User?: string;
12416
+ RoleID?: string;
12417
+ Role?: string;
12418
+ CanRead?: boolean;
12419
+ FileStorageAccountID?: string;
12420
+ CanWrite?: boolean;
12421
+ FileStorageAccount?: string;
12422
+ }>;
12423
+ export type MJFileStorageAccountPermissionEntityType = z.infer<typeof MJFileStorageAccountPermissionSchema>;
12424
+ /**
12425
+ * zod schema definition for the entity MJ: File Storage Accounts
12426
+ */
12427
+ export declare const MJFileStorageAccountSchema: z.ZodObject<{
12428
+ ID: z.ZodString;
12429
+ Name: z.ZodString;
12430
+ Description: z.ZodNullable<z.ZodString>;
12431
+ ProviderID: z.ZodString;
12432
+ CredentialID: z.ZodString;
12433
+ __mj_CreatedAt: z.ZodDate;
12434
+ __mj_UpdatedAt: z.ZodDate;
12435
+ IncludeInGlobalSearch: z.ZodBoolean;
12436
+ Provider: z.ZodString;
12437
+ Credential: z.ZodString;
12438
+ }, "strip", z.ZodTypeAny, {
12439
+ ID?: string;
12440
+ Name?: string;
12441
+ Description?: string;
12442
+ __mj_CreatedAt?: Date;
12443
+ __mj_UpdatedAt?: Date;
12444
+ CredentialID?: string;
12445
+ Credential?: string;
12446
+ ProviderID?: string;
12447
+ Provider?: string;
12448
+ IncludeInGlobalSearch?: boolean;
12449
+ }, {
12450
+ ID?: string;
12451
+ Name?: string;
12452
+ Description?: string;
12453
+ __mj_CreatedAt?: Date;
12454
+ __mj_UpdatedAt?: Date;
12455
+ CredentialID?: string;
12456
+ Credential?: string;
12457
+ ProviderID?: string;
12458
+ Provider?: string;
12459
+ IncludeInGlobalSearch?: boolean;
12460
+ }>;
12461
+ export type MJFileStorageAccountEntityType = z.infer<typeof MJFileStorageAccountSchema>;
12462
+ /**
12463
+ * zod schema definition for the entity MJ: File Storage Providers
12464
+ */
12465
+ export declare const MJFileStorageProviderSchema: z.ZodObject<{
12466
+ ID: z.ZodString;
12467
+ Name: z.ZodString;
12468
+ Description: z.ZodNullable<z.ZodString>;
12469
+ ServerDriverKey: z.ZodString;
12470
+ ClientDriverKey: z.ZodString;
12471
+ Priority: z.ZodNumber;
12472
+ IsActive: z.ZodBoolean;
12473
+ __mj_CreatedAt: z.ZodDate;
12474
+ __mj_UpdatedAt: z.ZodDate;
12475
+ SupportsSearch: z.ZodBoolean;
12476
+ Configuration: z.ZodNullable<z.ZodAny>;
12477
+ RequiresOAuth: z.ZodBoolean;
12478
+ }, "strip", z.ZodTypeAny, {
12479
+ ID?: string;
12480
+ Name?: string;
12481
+ Description?: string;
12482
+ IsActive?: boolean;
12483
+ __mj_CreatedAt?: Date;
12484
+ __mj_UpdatedAt?: Date;
12485
+ Priority?: number;
12486
+ Configuration?: any;
12487
+ ServerDriverKey?: string;
12488
+ ClientDriverKey?: string;
12489
+ SupportsSearch?: boolean;
12490
+ RequiresOAuth?: boolean;
12491
+ }, {
12492
+ ID?: string;
12493
+ Name?: string;
12494
+ Description?: string;
12495
+ IsActive?: boolean;
12496
+ __mj_CreatedAt?: Date;
12497
+ __mj_UpdatedAt?: Date;
12498
+ Priority?: number;
12499
+ Configuration?: any;
12500
+ ServerDriverKey?: string;
12501
+ ClientDriverKey?: string;
12502
+ SupportsSearch?: boolean;
12503
+ RequiresOAuth?: boolean;
12504
+ }>;
12505
+ export type MJFileStorageProviderEntityType = z.infer<typeof MJFileStorageProviderSchema>;
12506
+ /**
12507
+ * zod schema definition for the entity MJ: Files
12508
+ */
12509
+ export declare const MJFileSchema: z.ZodObject<{
12510
+ ID: z.ZodString;
12511
+ Name: z.ZodString;
12512
+ Description: z.ZodNullable<z.ZodString>;
12513
+ CategoryID: z.ZodNullable<z.ZodString>;
12514
+ ProviderID: z.ZodString;
12515
+ ContentType: z.ZodNullable<z.ZodString>;
12516
+ ProviderKey: z.ZodNullable<z.ZodString>;
12517
+ Status: z.ZodString;
12518
+ __mj_CreatedAt: z.ZodDate;
12519
+ __mj_UpdatedAt: z.ZodDate;
12520
+ Category: z.ZodNullable<z.ZodString>;
12521
+ Provider: z.ZodString;
12522
+ }, "strip", z.ZodTypeAny, {
12523
+ ID?: string;
12524
+ Name?: string;
12525
+ Description?: string;
12526
+ __mj_CreatedAt?: Date;
12527
+ __mj_UpdatedAt?: Date;
12528
+ Status?: string;
12529
+ ProviderID?: string;
12530
+ Provider?: string;
12531
+ CategoryID?: string;
12532
+ Category?: string;
12533
+ ContentType?: string;
12534
+ ProviderKey?: string;
12535
+ }, {
12536
+ ID?: string;
12537
+ Name?: string;
12538
+ Description?: string;
12539
+ __mj_CreatedAt?: Date;
12540
+ __mj_UpdatedAt?: Date;
12541
+ Status?: string;
12542
+ ProviderID?: string;
12543
+ Provider?: string;
12544
+ CategoryID?: string;
12545
+ Category?: string;
12546
+ ContentType?: string;
12547
+ ProviderKey?: string;
12548
+ }>;
12549
+ export type MJFileEntityType = z.infer<typeof MJFileSchema>;
12550
+ /**
12551
+ * zod schema definition for the entity MJ: Form Chrome Rules
12552
+ */
12553
+ export declare const MJFormChromeRuleSchema: z.ZodObject<{
12554
+ ID: z.ZodString;
12555
+ EntityID: z.ZodString;
12556
+ TargetKind: z.ZodUnion<[z.ZodLiteral<"Contribution">, z.ZodLiteral<"Relationship">]>;
12557
+ RelatedEntityID: z.ZodNullable<z.ZodString>;
12558
+ ContributionKey: z.ZodNullable<z.ZodString>;
12559
+ Inclusion: z.ZodUnion<[z.ZodLiteral<"More">, z.ZodLiteral<"None">, z.ZodLiteral<"Primary">]>;
12560
+ JoinFields: z.ZodNullable<z.ZodString>;
12561
+ Sequence: z.ZodNumber;
12562
+ Title: z.ZodNullable<z.ZodString>;
12563
+ __mj_CreatedAt: z.ZodDate;
12564
+ __mj_UpdatedAt: z.ZodDate;
12565
+ Entity: z.ZodString;
12566
+ RelatedEntity: z.ZodNullable<z.ZodString>;
12567
+ }, "strip", z.ZodTypeAny, {
12568
+ ID?: string;
12569
+ __mj_CreatedAt?: Date;
12570
+ __mj_UpdatedAt?: Date;
12571
+ Sequence?: number;
12572
+ EntityID?: string;
12573
+ Entity?: string;
12574
+ Title?: string;
12575
+ RelatedEntityID?: string;
12576
+ RelatedEntity?: string;
12577
+ TargetKind?: "Contribution" | "Relationship";
12578
+ ContributionKey?: string;
12579
+ Inclusion?: "None" | "More" | "Primary";
12580
+ JoinFields?: string;
12581
+ }, {
12582
+ ID?: string;
12583
+ __mj_CreatedAt?: Date;
12584
+ __mj_UpdatedAt?: Date;
12585
+ Sequence?: number;
12586
+ EntityID?: string;
12587
+ Entity?: string;
12588
+ Title?: string;
12589
+ RelatedEntityID?: string;
12590
+ RelatedEntity?: string;
12591
+ TargetKind?: "Contribution" | "Relationship";
12592
+ ContributionKey?: string;
12593
+ Inclusion?: "None" | "More" | "Primary";
12594
+ JoinFields?: string;
12595
+ }>;
12596
+ export type MJFormChromeRuleEntityType = z.infer<typeof MJFormChromeRuleSchema>;
12597
+ /**
12598
+ * zod schema definition for the entity MJ: Generated Code Categories
12599
+ */
12600
+ export declare const MJGeneratedCodeCategorySchema: z.ZodObject<{
12601
+ ID: z.ZodString;
12602
+ Name: z.ZodString;
12603
+ Description: z.ZodNullable<z.ZodString>;
12435
12604
  ParentID: z.ZodNullable<z.ZodString>;
12436
12605
  __mj_CreatedAt: z.ZodDate;
12437
12606
  __mj_UpdatedAt: z.ZodDate;
@@ -13879,13 +14048,13 @@ export declare const MJMLModelScoringBindingSchema: z.ZodObject<{
13879
14048
  TargetEntityID?: string;
13880
14049
  TargetEntity?: string;
13881
14050
  Mode?: "OnDemand" | "Scheduled" | "Materialized";
13882
- MLModelID?: string;
13883
14051
  RecordProcessID?: string;
14052
+ RecordProcess?: string;
14053
+ MLModelID?: string;
13884
14054
  TargetColumn?: string;
13885
14055
  MaterializedResultID?: string;
13886
14056
  LastScoredAt?: Date;
13887
14057
  LastRowCount?: number;
13888
- RecordProcess?: string;
13889
14058
  }, {
13890
14059
  ID?: string;
13891
14060
  __mj_CreatedAt?: Date;
@@ -13893,13 +14062,13 @@ export declare const MJMLModelScoringBindingSchema: z.ZodObject<{
13893
14062
  TargetEntityID?: string;
13894
14063
  TargetEntity?: string;
13895
14064
  Mode?: "OnDemand" | "Scheduled" | "Materialized";
13896
- MLModelID?: string;
13897
14065
  RecordProcessID?: string;
14066
+ RecordProcess?: string;
14067
+ MLModelID?: string;
13898
14068
  TargetColumn?: string;
13899
14069
  MaterializedResultID?: string;
13900
14070
  LastScoredAt?: Date;
13901
14071
  LastRowCount?: number;
13902
- RecordProcess?: string;
13903
14072
  }>;
13904
14073
  export type MJMLModelScoringBindingEntityType = z.infer<typeof MJMLModelScoringBindingSchema>;
13905
14074
  /**
@@ -14990,8 +15159,8 @@ export declare const MJProcessRunDetailSchema: z.ZodObject<{
14990
15159
  Entity?: string;
14991
15160
  AIAgentRunID?: string;
14992
15161
  AIAgentRun?: string;
14993
- DurationMs?: number;
14994
15162
  ProcessRunID?: string;
15163
+ DurationMs?: number;
14995
15164
  AttemptCount?: number;
14996
15165
  ResultPayload?: string;
14997
15166
  ActionExecutionLogID?: string;
@@ -15009,8 +15178,8 @@ export declare const MJProcessRunDetailSchema: z.ZodObject<{
15009
15178
  Entity?: string;
15010
15179
  AIAgentRunID?: string;
15011
15180
  AIAgentRun?: string;
15012
- DurationMs?: number;
15013
15181
  ProcessRunID?: string;
15182
+ DurationMs?: number;
15014
15183
  AttemptCount?: number;
15015
15184
  ResultPayload?: string;
15016
15185
  ActionExecutionLogID?: string;
@@ -15129,8 +15298,10 @@ export declare const MJProjectSchema: z.ZodObject<{
15129
15298
  IsArchived: z.ZodBoolean;
15130
15299
  __mj_CreatedAt: z.ZodDate;
15131
15300
  __mj_UpdatedAt: z.ZodDate;
15301
+ OwnerUserID: z.ZodNullable<z.ZodString>;
15132
15302
  Environment: z.ZodString;
15133
15303
  Parent: z.ZodNullable<z.ZodString>;
15304
+ OwnerUser: z.ZodNullable<z.ZodString>;
15134
15305
  RootParentID: z.ZodNullable<z.ZodString>;
15135
15306
  ParentIDDepth: z.ZodNullable<z.ZodNumber>;
15136
15307
  ParentIDPath: z.ZodNullable<z.ZodString>;
@@ -15150,6 +15321,8 @@ export declare const MJProjectSchema: z.ZodObject<{
15150
15321
  ParentIDIsLeaf?: boolean;
15151
15322
  ParentIDChildCount?: number;
15152
15323
  Icon?: string;
15324
+ OwnerUserID?: string;
15325
+ OwnerUser?: string;
15153
15326
  Color?: string;
15154
15327
  EnvironmentID?: string;
15155
15328
  Environment?: string;
@@ -15168,6 +15341,8 @@ export declare const MJProjectSchema: z.ZodObject<{
15168
15341
  ParentIDIsLeaf?: boolean;
15169
15342
  ParentIDChildCount?: number;
15170
15343
  Icon?: string;
15344
+ OwnerUserID?: string;
15345
+ OwnerUser?: string;
15171
15346
  Color?: string;
15172
15347
  EnvironmentID?: string;
15173
15348
  Environment?: string;
@@ -15251,6 +15426,7 @@ export declare const MJQuerySchema: z.ZodObject<{
15251
15426
  Reusable: z.ZodBoolean;
15252
15427
  ExternalDataSourceID: z.ZodNullable<z.ZodString>;
15253
15428
  IsMaterialized: z.ZodBoolean;
15429
+ Configuration: z.ZodNullable<z.ZodAny>;
15254
15430
  Category: z.ZodNullable<z.ZodString>;
15255
15431
  EmbeddingModel: z.ZodNullable<z.ZodString>;
15256
15432
  SQLDialect: z.ZodString;
@@ -15262,6 +15438,7 @@ export declare const MJQuerySchema: z.ZodObject<{
15262
15438
  __mj_CreatedAt?: Date;
15263
15439
  __mj_UpdatedAt?: Date;
15264
15440
  Status?: "Pending" | "Approved" | "Expired" | "Rejected";
15441
+ Configuration?: any;
15265
15442
  EmbeddingVector?: string;
15266
15443
  EmbeddingModelID?: string;
15267
15444
  EmbeddingModel?: string;
@@ -15293,6 +15470,7 @@ export declare const MJQuerySchema: z.ZodObject<{
15293
15470
  __mj_CreatedAt?: Date;
15294
15471
  __mj_UpdatedAt?: Date;
15295
15472
  Status?: "Pending" | "Approved" | "Expired" | "Rejected";
15473
+ Configuration?: any;
15296
15474
  EmbeddingVector?: string;
15297
15475
  EmbeddingModelID?: string;
15298
15476
  EmbeddingModel?: string;
@@ -19298,7 +19476,7 @@ export declare const MJTestSchema: z.ZodObject<{
19298
19476
  Status: z.ZodUnion<[z.ZodLiteral<"Active">, z.ZodLiteral<"Disabled">, z.ZodLiteral<"Pending">]>;
19299
19477
  InputDefinition: z.ZodNullable<z.ZodString>;
19300
19478
  ExpectedOutcomes: z.ZodNullable<z.ZodString>;
19301
- Configuration: z.ZodNullable<z.ZodString>;
19479
+ Configuration: z.ZodNullable<z.ZodAny>;
19302
19480
  Tags: z.ZodNullable<z.ZodString>;
19303
19481
  Priority: z.ZodNullable<z.ZodNumber>;
19304
19482
  EstimatedDurationSeconds: z.ZodNullable<z.ZodNumber>;
@@ -19318,7 +19496,7 @@ export declare const MJTestSchema: z.ZodObject<{
19318
19496
  Status?: "Active" | "Pending" | "Disabled";
19319
19497
  Priority?: number;
19320
19498
  Type?: string;
19321
- Configuration?: string;
19499
+ Configuration?: any;
19322
19500
  TypeID?: string;
19323
19501
  MaxExecutionTimeMS?: number;
19324
19502
  Tags?: string;
@@ -19337,7 +19515,7 @@ export declare const MJTestSchema: z.ZodObject<{
19337
19515
  Status?: "Active" | "Pending" | "Disabled";
19338
19516
  Priority?: number;
19339
19517
  Type?: string;
19340
- Configuration?: string;
19518
+ Configuration?: any;
19341
19519
  TypeID?: string;
19342
19520
  MaxExecutionTimeMS?: number;
19343
19521
  Tags?: string;
@@ -20602,6 +20780,62 @@ export declare const MJViewTypeSchema: z.ZodObject<{
20602
20780
  SupportsConfiguration?: boolean;
20603
20781
  }>;
20604
20782
  export type MJViewTypeEntityType = z.infer<typeof MJViewTypeSchema>;
20783
+ /**
20784
+ * zod schema definition for the entity MJ: Web Search Providers
20785
+ */
20786
+ export declare const MJWebSearchProviderSchema: z.ZodObject<{
20787
+ ID: z.ZodString;
20788
+ Name: z.ZodString;
20789
+ Description: z.ZodNullable<z.ZodString>;
20790
+ DriverClass: z.ZodString;
20791
+ Status: z.ZodUnion<[z.ZodLiteral<"Active">, z.ZodLiteral<"Pending">, z.ZodLiteral<"Terminated">]>;
20792
+ Priority: z.ZodNumber;
20793
+ CredentialID: z.ZodNullable<z.ZodString>;
20794
+ ProviderConfig: z.ZodNullable<z.ZodString>;
20795
+ MaxResultsOverride: z.ZodNullable<z.ZodNumber>;
20796
+ AllowResultCaching: z.ZodBoolean;
20797
+ DisplayName: z.ZodNullable<z.ZodString>;
20798
+ Icon: z.ZodNullable<z.ZodString>;
20799
+ Comments: z.ZodNullable<z.ZodString>;
20800
+ __mj_CreatedAt: z.ZodDate;
20801
+ __mj_UpdatedAt: z.ZodDate;
20802
+ Credential: z.ZodNullable<z.ZodString>;
20803
+ }, "strip", z.ZodTypeAny, {
20804
+ ID?: string;
20805
+ Name?: string;
20806
+ Description?: string;
20807
+ __mj_CreatedAt?: Date;
20808
+ __mj_UpdatedAt?: Date;
20809
+ Status?: "Active" | "Pending" | "Terminated";
20810
+ Priority?: number;
20811
+ DisplayName?: string;
20812
+ CredentialID?: string;
20813
+ Credential?: string;
20814
+ Comments?: string;
20815
+ DriverClass?: string;
20816
+ Icon?: string;
20817
+ MaxResultsOverride?: number;
20818
+ ProviderConfig?: string;
20819
+ AllowResultCaching?: boolean;
20820
+ }, {
20821
+ ID?: string;
20822
+ Name?: string;
20823
+ Description?: string;
20824
+ __mj_CreatedAt?: Date;
20825
+ __mj_UpdatedAt?: Date;
20826
+ Status?: "Active" | "Pending" | "Terminated";
20827
+ Priority?: number;
20828
+ DisplayName?: string;
20829
+ CredentialID?: string;
20830
+ Credential?: string;
20831
+ Comments?: string;
20832
+ DriverClass?: string;
20833
+ Icon?: string;
20834
+ MaxResultsOverride?: number;
20835
+ ProviderConfig?: string;
20836
+ AllowResultCaching?: boolean;
20837
+ }>;
20838
+ export type MJWebSearchProviderEntityType = z.infer<typeof MJWebSearchProviderSchema>;
20605
20839
  /**
20606
20840
  * zod schema definition for the entity MJ: Workspace Items
20607
20841
  */
@@ -24777,6 +25011,7 @@ export declare class MJAIAgentRunStepEntity extends BaseEntity<MJAIAgentRunStepE
24777
25011
  /**
24778
25012
  * Validate() method override for MJ: AI Agent Run Steps entity. This is an auto-generated method that invokes the generated validators for this entity for the following fields:
24779
25013
  * * FinalPayloadValidationResult: The final payload validation result must be one of the approved statuses: Warn, Fail, Retry, or Pass, to ensure consistent reporting of validation outcomes.
25014
+ * * NativeToolCallCount: The native tool call count must be greater than or equal to zero, if it is specified.
24780
25015
  * * StepNumber: This rule ensures that the step number must be greater than zero.
24781
25016
  * @public
24782
25017
  * @method
@@ -24791,6 +25026,13 @@ export declare class MJAIAgentRunStepEntity extends BaseEntity<MJAIAgentRunStepE
24791
25026
  */
24792
25027
  ValidateFinalPayloadValidationResultStatus(result: ValidationResult): void;
24793
25028
  /**
25029
+ * The native tool call count must be greater than or equal to zero, if it is specified.
25030
+ * @param result - the ValidationResult object to add any errors or warnings to
25031
+ * @public
25032
+ * @method
25033
+ */
25034
+ ValidateNativeToolCallCountGreaterThanOrEqualToZero(result: ValidationResult): void;
25035
+ /**
24794
25036
  * This rule ensures that the step number must be greater than zero.
24795
25037
  * @param result - the ValidationResult object to add any errors or warnings to
24796
25038
  * @public
@@ -25333,8 +25575,8 @@ export declare class MJAIAgentRunEntity extends BaseEntity<MJAIAgentRunEntityTyp
25333
25575
  /**
25334
25576
  * * Field Name: TotalCost
25335
25577
  * * Display Name: Total Cost
25336
- * * SQL Data Type: decimal(18, 6)
25337
- * * Default Value: 0.000000
25578
+ * * SQL Data Type: decimal(19, 8)
25579
+ * * Default Value: 0.00000000
25338
25580
  * * Description: Total estimated cost for all AI model usage during this agent run
25339
25581
  */
25340
25582
  get TotalCost(): number | null;
@@ -30594,7 +30836,8 @@ export declare class MJAIModelPriceUnitTypeEntity extends BaseEntity<MJAIModelPr
30594
30836
  * Two kinds of type live here, and the distinction is the whole point of the file:
30595
30837
  *
30596
30838
  * 1. **Shared modality sections** (`MJAIModelTypeEntity_LLMConfigurationSettings`, `MJAIModelTypeEntity_RealtimeConfigurationSettings`,
30597
- * `MJAIModelTypeEntity_VisionConfigurationSettings`, `MJAIModelTypeEntity_AudioConfigurationSettings`) — what "the LLM configuration"
30839
+ * `MJAIModelTypeEntity_VisionConfigurationSettings`, `MJAIModelTypeEntity_AudioConfigurationSettings`, `MJAIModelTypeEntity_DecisionConfigurationSettings`) —
30840
+ * what "the LLM configuration"
30598
30841
  * MEANS, defined once and reused by every layer that carries a configuration bag.
30599
30842
  * 2. **Per-table outer types** (`MJAIModelTypeEntity_IAIModelConfiguration`, `MJAIModelTypeEntity_IAIPromptConfiguration`,
30600
30843
  * `MJAIModelTypeEntity_IAIPromptModelConfiguration`) — one per `JSONType`, so each table names its own type even
@@ -30603,7 +30846,8 @@ export declare class MJAIModelPriceUnitTypeEntity extends BaseEntity<MJAIModelPr
30603
30846
  * ```
30604
30847
  * MJ: AI Model Types . ModelConfiguration (type-wide default — e.g. every Realtime model)
30605
30848
  * < MJ: AI Models . ModelConfiguration (per-model)
30606
- * < MJ: AI Model Vendors . ModelConfiguration (per model-on-this-provider — the winner)
30849
+ * < MJ: AI Vendors . Configuration.ModelDefaults (host-wide default for every model this vendor serves)
30850
+ * < MJ: AI Model Vendors . ModelConfiguration (per model-on-this-provider — the tie-breaker, wins)
30607
30851
  *
30608
30852
  * MJ: AI Prompts . PromptConfiguration (per-prompt)
30609
30853
  * < MJ: AI Prompt Models . PromptConfiguration (per prompt-on-this-model — the winner)
@@ -30681,6 +30925,18 @@ export interface MJAIModelTypeEntity_LLMConfigurationSettings {
30681
30925
  * only when the gate resolves native.
30682
30926
  */
30683
30927
  NativeToolResults?: boolean | null;
30928
+ /**
30929
+ * **Catalog layers only.** Whether this serving path's prompt cache is an exact BYTE-PREFIX match:
30930
+ * it reuses a prior request only when that request's entire prompt is a prefix of the new one
30931
+ * (OpenAI's automatic cache, xAI), so per-iteration framework state must be appended, never
30932
+ * replaced. Absent or `false` means a block or segment cache (Anthropic breakpoints, Gemini
30933
+ * implicit cache, Cerebras sliding cache), where a trailing per-iteration message can be replaced
30934
+ * in place — the safe default. Set `true` under `Configuration.ModelDefaults` on the VENDOR row of a prefix-cache provider so
30935
+ * every model it serves inherits it (the vendor default beats the model's own bag); a MODEL-VENDOR
30936
+ * row overrides it for one model on that host.
30937
+ * Consumed by the loop agent's trailing runtime-state layout.
30938
+ */
30939
+ PrefixPromptCache?: boolean | null;
30684
30940
  }
30685
30941
  /**
30686
30942
  * MJ-normalized turn-detection settings for realtime (speech-to-speech) models. Every field is
@@ -30745,6 +31001,24 @@ export interface MJAIModelTypeEntity_VisionConfigurationSettings {
30745
31001
  export interface MJAIModelTypeEntity_AudioConfigurationSettings {
30746
31002
  [key: string]: unknown;
30747
31003
  }
31004
+ /**
31005
+ * Typed-decision knobs, consumed at call time by the decision runner. They declare what a decision
31006
+ * model accepts, so an oversized request can be refused with a clear message before the call,
31007
+ * instead of being truncated or rejected by the provider. Each is a limit of the model itself: set
31008
+ * it on the catalog layers (`MJ: AI Models`, `MJ: AI Model Vendors`). Absent means no limit is
31009
+ * declared. A decision always needs at least two Choice options or Score levels; that minimum
31010
+ * belongs to `BaseDecision`, not to this bag.
31011
+ */
31012
+ export interface MJAIModelTypeEntity_DecisionConfigurationSettings {
31013
+ /** The most questions one call may carry. */
31014
+ MaxQuestionsPerCall?: number | null;
31015
+ /** The most options one Choice question may list. */
31016
+ MaxChoiceOptions?: number | null;
31017
+ /** The most levels one Score question may list. */
31018
+ MaxScoreLevels?: number | null;
31019
+ /** The largest state the model reads, in tokens. */
31020
+ MaxStateTokens?: number | null;
31021
+ }
30748
31022
  /**
30749
31023
  * The `ModelConfiguration` column on the three MODEL-CATALOG entities (`MJ: AI Model Types`,
30750
31024
  * `MJ: AI Models`, `MJ: AI Model Vendors`), which form an inherit-with-override cascade. Sections
@@ -30759,6 +31033,8 @@ export interface MJAIModelTypeEntity_IAIModelConfiguration {
30759
31033
  Vision?: MJAIModelTypeEntity_VisionConfigurationSettings | null;
30760
31034
  /** Audio (TTS/STT) knobs. Reserved. */
30761
31035
  Audio?: MJAIModelTypeEntity_AudioConfigurationSettings | null;
31036
+ /** Typed-decision limits. Honored at the catalog layers. */
31037
+ Decision?: MJAIModelTypeEntity_DecisionConfigurationSettings | null;
30762
31038
  }
30763
31039
  /**
30764
31040
  * The `PromptConfiguration` column on `MJ: AI Prompts` — per-prompt call-time knobs, layered ON TOP of the
@@ -30776,6 +31052,8 @@ export interface MJAIModelTypeEntity_IAIPromptConfiguration {
30776
31052
  Vision?: MJAIModelTypeEntity_VisionConfigurationSettings | null;
30777
31053
  /** Audio knobs. Reserved. */
30778
31054
  Audio?: MJAIModelTypeEntity_AudioConfigurationSettings | null;
31055
+ /** Typed-decision limits. Reserved at this layer. */
31056
+ Decision?: MJAIModelTypeEntity_DecisionConfigurationSettings | null;
30779
31057
  }
30780
31058
  /**
30781
31059
  * The `PromptConfiguration` column on `MJ: AI Prompt Models` — the most specific layer, overriding both
@@ -30790,6 +31068,25 @@ export interface MJAIModelTypeEntity_IAIPromptModelConfiguration {
30790
31068
  Vision?: MJAIModelTypeEntity_VisionConfigurationSettings | null;
30791
31069
  /** Audio knobs. Reserved. */
30792
31070
  Audio?: MJAIModelTypeEntity_AudioConfigurationSettings | null;
31071
+ /** Typed-decision limits. Reserved at this layer. */
31072
+ Decision?: MJAIModelTypeEntity_DecisionConfigurationSettings | null;
31073
+ }
31074
+ /**
31075
+ * `MJ: AI Vendors . Configuration` — the vendor's own configuration bag. General-purpose: a vendor
31076
+ * row carries settings that describe how this host serves models, of which the first key is
31077
+ * `ModelDefaults`. Add further vendor-level sections here as they arise; do not add capability
31078
+ * columns to AIVendor per knob.
31079
+ */
31080
+ export interface MJAIModelTypeEntity_IAIVendorConfiguration {
31081
+ /**
31082
+ * The default model configuration for EVERY model this vendor serves — the vendor layer of the
31083
+ * model-configuration cascade. Resolved ABOVE the model's own bag and BELOW the model-vendor row:
31084
+ * a host's statement about how it serves models beats the model's generic description, and the
31085
+ * model-vendor row is the tie-breaker where a host diverges for one model. The merge is per key,
31086
+ * so a default here only touches the keys it actually sets. First use: `LLM.PrefixPromptCache`
31087
+ * on OpenAI and x.ai, inherited by every model they serve.
31088
+ */
31089
+ ModelDefaults?: MJAIModelTypeEntity_IAIModelConfiguration | null;
30793
31090
  }
30794
31091
  /**
30795
31092
  * MJ: AI Model Types - strongly typed entity sub-class
@@ -30922,7 +31219,8 @@ export declare class MJAIModelTypeEntity extends BaseEntity<MJAIModelTypeEntityT
30922
31219
  * Two kinds of type live here, and the distinction is the whole point of the file:
30923
31220
  *
30924
31221
  * 1. **Shared modality sections** (`MJAIModelVendorEntity_LLMConfigurationSettings`, `MJAIModelVendorEntity_RealtimeConfigurationSettings`,
30925
- * `MJAIModelVendorEntity_VisionConfigurationSettings`, `MJAIModelVendorEntity_AudioConfigurationSettings`) — what "the LLM configuration"
31222
+ * `MJAIModelVendorEntity_VisionConfigurationSettings`, `MJAIModelVendorEntity_AudioConfigurationSettings`, `MJAIModelVendorEntity_DecisionConfigurationSettings`) —
31223
+ * what "the LLM configuration"
30926
31224
  * MEANS, defined once and reused by every layer that carries a configuration bag.
30927
31225
  * 2. **Per-table outer types** (`MJAIModelVendorEntity_IAIModelConfiguration`, `MJAIModelVendorEntity_IAIPromptConfiguration`,
30928
31226
  * `MJAIModelVendorEntity_IAIPromptModelConfiguration`) — one per `JSONType`, so each table names its own type even
@@ -30931,7 +31229,8 @@ export declare class MJAIModelTypeEntity extends BaseEntity<MJAIModelTypeEntityT
30931
31229
  * ```
30932
31230
  * MJ: AI Model Types . ModelConfiguration (type-wide default — e.g. every Realtime model)
30933
31231
  * < MJ: AI Models . ModelConfiguration (per-model)
30934
- * < MJ: AI Model Vendors . ModelConfiguration (per model-on-this-provider — the winner)
31232
+ * < MJ: AI Vendors . Configuration.ModelDefaults (host-wide default for every model this vendor serves)
31233
+ * < MJ: AI Model Vendors . ModelConfiguration (per model-on-this-provider — the tie-breaker, wins)
30935
31234
  *
30936
31235
  * MJ: AI Prompts . PromptConfiguration (per-prompt)
30937
31236
  * < MJ: AI Prompt Models . PromptConfiguration (per prompt-on-this-model — the winner)
@@ -31009,6 +31308,18 @@ export interface MJAIModelVendorEntity_LLMConfigurationSettings {
31009
31308
  * only when the gate resolves native.
31010
31309
  */
31011
31310
  NativeToolResults?: boolean | null;
31311
+ /**
31312
+ * **Catalog layers only.** Whether this serving path's prompt cache is an exact BYTE-PREFIX match:
31313
+ * it reuses a prior request only when that request's entire prompt is a prefix of the new one
31314
+ * (OpenAI's automatic cache, xAI), so per-iteration framework state must be appended, never
31315
+ * replaced. Absent or `false` means a block or segment cache (Anthropic breakpoints, Gemini
31316
+ * implicit cache, Cerebras sliding cache), where a trailing per-iteration message can be replaced
31317
+ * in place — the safe default. Set `true` under `Configuration.ModelDefaults` on the VENDOR row of a prefix-cache provider so
31318
+ * every model it serves inherits it (the vendor default beats the model's own bag); a MODEL-VENDOR
31319
+ * row overrides it for one model on that host.
31320
+ * Consumed by the loop agent's trailing runtime-state layout.
31321
+ */
31322
+ PrefixPromptCache?: boolean | null;
31012
31323
  }
31013
31324
  /**
31014
31325
  * MJ-normalized turn-detection settings for realtime (speech-to-speech) models. Every field is
@@ -31073,6 +31384,24 @@ export interface MJAIModelVendorEntity_VisionConfigurationSettings {
31073
31384
  export interface MJAIModelVendorEntity_AudioConfigurationSettings {
31074
31385
  [key: string]: unknown;
31075
31386
  }
31387
+ /**
31388
+ * Typed-decision knobs, consumed at call time by the decision runner. They declare what a decision
31389
+ * model accepts, so an oversized request can be refused with a clear message before the call,
31390
+ * instead of being truncated or rejected by the provider. Each is a limit of the model itself: set
31391
+ * it on the catalog layers (`MJ: AI Models`, `MJ: AI Model Vendors`). Absent means no limit is
31392
+ * declared. A decision always needs at least two Choice options or Score levels; that minimum
31393
+ * belongs to `BaseDecision`, not to this bag.
31394
+ */
31395
+ export interface MJAIModelVendorEntity_DecisionConfigurationSettings {
31396
+ /** The most questions one call may carry. */
31397
+ MaxQuestionsPerCall?: number | null;
31398
+ /** The most options one Choice question may list. */
31399
+ MaxChoiceOptions?: number | null;
31400
+ /** The most levels one Score question may list. */
31401
+ MaxScoreLevels?: number | null;
31402
+ /** The largest state the model reads, in tokens. */
31403
+ MaxStateTokens?: number | null;
31404
+ }
31076
31405
  /**
31077
31406
  * The `ModelConfiguration` column on the three MODEL-CATALOG entities (`MJ: AI Model Types`,
31078
31407
  * `MJ: AI Models`, `MJ: AI Model Vendors`), which form an inherit-with-override cascade. Sections
@@ -31087,6 +31416,8 @@ export interface MJAIModelVendorEntity_IAIModelConfiguration {
31087
31416
  Vision?: MJAIModelVendorEntity_VisionConfigurationSettings | null;
31088
31417
  /** Audio (TTS/STT) knobs. Reserved. */
31089
31418
  Audio?: MJAIModelVendorEntity_AudioConfigurationSettings | null;
31419
+ /** Typed-decision limits. Honored at the catalog layers. */
31420
+ Decision?: MJAIModelVendorEntity_DecisionConfigurationSettings | null;
31090
31421
  }
31091
31422
  /**
31092
31423
  * The `PromptConfiguration` column on `MJ: AI Prompts` — per-prompt call-time knobs, layered ON TOP of the
@@ -31104,6 +31435,8 @@ export interface MJAIModelVendorEntity_IAIPromptConfiguration {
31104
31435
  Vision?: MJAIModelVendorEntity_VisionConfigurationSettings | null;
31105
31436
  /** Audio knobs. Reserved. */
31106
31437
  Audio?: MJAIModelVendorEntity_AudioConfigurationSettings | null;
31438
+ /** Typed-decision limits. Reserved at this layer. */
31439
+ Decision?: MJAIModelVendorEntity_DecisionConfigurationSettings | null;
31107
31440
  }
31108
31441
  /**
31109
31442
  * The `PromptConfiguration` column on `MJ: AI Prompt Models` — the most specific layer, overriding both
@@ -31118,6 +31451,25 @@ export interface MJAIModelVendorEntity_IAIPromptModelConfiguration {
31118
31451
  Vision?: MJAIModelVendorEntity_VisionConfigurationSettings | null;
31119
31452
  /** Audio knobs. Reserved. */
31120
31453
  Audio?: MJAIModelVendorEntity_AudioConfigurationSettings | null;
31454
+ /** Typed-decision limits. Reserved at this layer. */
31455
+ Decision?: MJAIModelVendorEntity_DecisionConfigurationSettings | null;
31456
+ }
31457
+ /**
31458
+ * `MJ: AI Vendors . Configuration` — the vendor's own configuration bag. General-purpose: a vendor
31459
+ * row carries settings that describe how this host serves models, of which the first key is
31460
+ * `ModelDefaults`. Add further vendor-level sections here as they arise; do not add capability
31461
+ * columns to AIVendor per knob.
31462
+ */
31463
+ export interface MJAIModelVendorEntity_IAIVendorConfiguration {
31464
+ /**
31465
+ * The default model configuration for EVERY model this vendor serves — the vendor layer of the
31466
+ * model-configuration cascade. Resolved ABOVE the model's own bag and BELOW the model-vendor row:
31467
+ * a host's statement about how it serves models beats the model's generic description, and the
31468
+ * model-vendor row is the tie-breaker where a host diverges for one model. The merge is per key,
31469
+ * so a default here only touches the keys it actually sets. First use: `LLM.PrefixPromptCache`
31470
+ * on OpenAI and x.ai, inherited by every model they serve.
31471
+ */
31472
+ ModelDefaults?: MJAIModelVendorEntity_IAIModelConfiguration | null;
31121
31473
  }
31122
31474
  /**
31123
31475
  * MJ: AI Model Vendors - strongly typed entity sub-class
@@ -31370,7 +31722,8 @@ export declare class MJAIModelVendorEntity extends BaseEntity<MJAIModelVendorEnt
31370
31722
  * Two kinds of type live here, and the distinction is the whole point of the file:
31371
31723
  *
31372
31724
  * 1. **Shared modality sections** (`MJAIModelEntity_LLMConfigurationSettings`, `MJAIModelEntity_RealtimeConfigurationSettings`,
31373
- * `MJAIModelEntity_VisionConfigurationSettings`, `MJAIModelEntity_AudioConfigurationSettings`) — what "the LLM configuration"
31725
+ * `MJAIModelEntity_VisionConfigurationSettings`, `MJAIModelEntity_AudioConfigurationSettings`, `MJAIModelEntity_DecisionConfigurationSettings`) —
31726
+ * what "the LLM configuration"
31374
31727
  * MEANS, defined once and reused by every layer that carries a configuration bag.
31375
31728
  * 2. **Per-table outer types** (`MJAIModelEntity_IAIModelConfiguration`, `MJAIModelEntity_IAIPromptConfiguration`,
31376
31729
  * `MJAIModelEntity_IAIPromptModelConfiguration`) — one per `JSONType`, so each table names its own type even
@@ -31379,7 +31732,8 @@ export declare class MJAIModelVendorEntity extends BaseEntity<MJAIModelVendorEnt
31379
31732
  * ```
31380
31733
  * MJ: AI Model Types . ModelConfiguration (type-wide default — e.g. every Realtime model)
31381
31734
  * < MJ: AI Models . ModelConfiguration (per-model)
31382
- * < MJ: AI Model Vendors . ModelConfiguration (per model-on-this-provider — the winner)
31735
+ * < MJ: AI Vendors . Configuration.ModelDefaults (host-wide default for every model this vendor serves)
31736
+ * < MJ: AI Model Vendors . ModelConfiguration (per model-on-this-provider — the tie-breaker, wins)
31383
31737
  *
31384
31738
  * MJ: AI Prompts . PromptConfiguration (per-prompt)
31385
31739
  * < MJ: AI Prompt Models . PromptConfiguration (per prompt-on-this-model — the winner)
@@ -31457,6 +31811,18 @@ export interface MJAIModelEntity_LLMConfigurationSettings {
31457
31811
  * only when the gate resolves native.
31458
31812
  */
31459
31813
  NativeToolResults?: boolean | null;
31814
+ /**
31815
+ * **Catalog layers only.** Whether this serving path's prompt cache is an exact BYTE-PREFIX match:
31816
+ * it reuses a prior request only when that request's entire prompt is a prefix of the new one
31817
+ * (OpenAI's automatic cache, xAI), so per-iteration framework state must be appended, never
31818
+ * replaced. Absent or `false` means a block or segment cache (Anthropic breakpoints, Gemini
31819
+ * implicit cache, Cerebras sliding cache), where a trailing per-iteration message can be replaced
31820
+ * in place — the safe default. Set `true` under `Configuration.ModelDefaults` on the VENDOR row of a prefix-cache provider so
31821
+ * every model it serves inherits it (the vendor default beats the model's own bag); a MODEL-VENDOR
31822
+ * row overrides it for one model on that host.
31823
+ * Consumed by the loop agent's trailing runtime-state layout.
31824
+ */
31825
+ PrefixPromptCache?: boolean | null;
31460
31826
  }
31461
31827
  /**
31462
31828
  * MJ-normalized turn-detection settings for realtime (speech-to-speech) models. Every field is
@@ -31521,6 +31887,24 @@ export interface MJAIModelEntity_VisionConfigurationSettings {
31521
31887
  export interface MJAIModelEntity_AudioConfigurationSettings {
31522
31888
  [key: string]: unknown;
31523
31889
  }
31890
+ /**
31891
+ * Typed-decision knobs, consumed at call time by the decision runner. They declare what a decision
31892
+ * model accepts, so an oversized request can be refused with a clear message before the call,
31893
+ * instead of being truncated or rejected by the provider. Each is a limit of the model itself: set
31894
+ * it on the catalog layers (`MJ: AI Models`, `MJ: AI Model Vendors`). Absent means no limit is
31895
+ * declared. A decision always needs at least two Choice options or Score levels; that minimum
31896
+ * belongs to `BaseDecision`, not to this bag.
31897
+ */
31898
+ export interface MJAIModelEntity_DecisionConfigurationSettings {
31899
+ /** The most questions one call may carry. */
31900
+ MaxQuestionsPerCall?: number | null;
31901
+ /** The most options one Choice question may list. */
31902
+ MaxChoiceOptions?: number | null;
31903
+ /** The most levels one Score question may list. */
31904
+ MaxScoreLevels?: number | null;
31905
+ /** The largest state the model reads, in tokens. */
31906
+ MaxStateTokens?: number | null;
31907
+ }
31524
31908
  /**
31525
31909
  * The `ModelConfiguration` column on the three MODEL-CATALOG entities (`MJ: AI Model Types`,
31526
31910
  * `MJ: AI Models`, `MJ: AI Model Vendors`), which form an inherit-with-override cascade. Sections
@@ -31535,6 +31919,8 @@ export interface MJAIModelEntity_IAIModelConfiguration {
31535
31919
  Vision?: MJAIModelEntity_VisionConfigurationSettings | null;
31536
31920
  /** Audio (TTS/STT) knobs. Reserved. */
31537
31921
  Audio?: MJAIModelEntity_AudioConfigurationSettings | null;
31922
+ /** Typed-decision limits. Honored at the catalog layers. */
31923
+ Decision?: MJAIModelEntity_DecisionConfigurationSettings | null;
31538
31924
  }
31539
31925
  /**
31540
31926
  * The `PromptConfiguration` column on `MJ: AI Prompts` — per-prompt call-time knobs, layered ON TOP of the
@@ -31552,6 +31938,8 @@ export interface MJAIModelEntity_IAIPromptConfiguration {
31552
31938
  Vision?: MJAIModelEntity_VisionConfigurationSettings | null;
31553
31939
  /** Audio knobs. Reserved. */
31554
31940
  Audio?: MJAIModelEntity_AudioConfigurationSettings | null;
31941
+ /** Typed-decision limits. Reserved at this layer. */
31942
+ Decision?: MJAIModelEntity_DecisionConfigurationSettings | null;
31555
31943
  }
31556
31944
  /**
31557
31945
  * The `PromptConfiguration` column on `MJ: AI Prompt Models` — the most specific layer, overriding both
@@ -31566,6 +31954,25 @@ export interface MJAIModelEntity_IAIPromptModelConfiguration {
31566
31954
  Vision?: MJAIModelEntity_VisionConfigurationSettings | null;
31567
31955
  /** Audio knobs. Reserved. */
31568
31956
  Audio?: MJAIModelEntity_AudioConfigurationSettings | null;
31957
+ /** Typed-decision limits. Reserved at this layer. */
31958
+ Decision?: MJAIModelEntity_DecisionConfigurationSettings | null;
31959
+ }
31960
+ /**
31961
+ * `MJ: AI Vendors . Configuration` — the vendor's own configuration bag. General-purpose: a vendor
31962
+ * row carries settings that describe how this host serves models, of which the first key is
31963
+ * `ModelDefaults`. Add further vendor-level sections here as they arise; do not add capability
31964
+ * columns to AIVendor per knob.
31965
+ */
31966
+ export interface MJAIModelEntity_IAIVendorConfiguration {
31967
+ /**
31968
+ * The default model configuration for EVERY model this vendor serves — the vendor layer of the
31969
+ * model-configuration cascade. Resolved ABOVE the model's own bag and BELOW the model-vendor row:
31970
+ * a host's statement about how it serves models beats the model's generic description, and the
31971
+ * model-vendor row is the tie-breaker where a host diverges for one model. The merge is per key,
31972
+ * so a default here only touches the keys it actually sets. First use: `LLM.PrefixPromptCache`
31973
+ * on OpenAI and x.ai, inherited by every model they serve.
31974
+ */
31975
+ ModelDefaults?: MJAIModelEntity_IAIModelConfiguration | null;
31569
31976
  }
31570
31977
  /**
31571
31978
  * MJ: AI Models - strongly typed entity sub-class
@@ -32278,7 +32685,8 @@ export declare class MJAIPromptCategoryEntity extends BaseEntity<MJAIPromptCateg
32278
32685
  * Two kinds of type live here, and the distinction is the whole point of the file:
32279
32686
  *
32280
32687
  * 1. **Shared modality sections** (`MJAIPromptModelEntity_LLMConfigurationSettings`, `MJAIPromptModelEntity_RealtimeConfigurationSettings`,
32281
- * `MJAIPromptModelEntity_VisionConfigurationSettings`, `MJAIPromptModelEntity_AudioConfigurationSettings`) — what "the LLM configuration"
32688
+ * `MJAIPromptModelEntity_VisionConfigurationSettings`, `MJAIPromptModelEntity_AudioConfigurationSettings`, `MJAIPromptModelEntity_DecisionConfigurationSettings`) —
32689
+ * what "the LLM configuration"
32282
32690
  * MEANS, defined once and reused by every layer that carries a configuration bag.
32283
32691
  * 2. **Per-table outer types** (`MJAIPromptModelEntity_IAIModelConfiguration`, `MJAIPromptModelEntity_IAIPromptConfiguration`,
32284
32692
  * `MJAIPromptModelEntity_IAIPromptModelConfiguration`) — one per `JSONType`, so each table names its own type even
@@ -32287,7 +32695,8 @@ export declare class MJAIPromptCategoryEntity extends BaseEntity<MJAIPromptCateg
32287
32695
  * ```
32288
32696
  * MJ: AI Model Types . ModelConfiguration (type-wide default — e.g. every Realtime model)
32289
32697
  * < MJ: AI Models . ModelConfiguration (per-model)
32290
- * < MJ: AI Model Vendors . ModelConfiguration (per model-on-this-provider — the winner)
32698
+ * < MJ: AI Vendors . Configuration.ModelDefaults (host-wide default for every model this vendor serves)
32699
+ * < MJ: AI Model Vendors . ModelConfiguration (per model-on-this-provider — the tie-breaker, wins)
32291
32700
  *
32292
32701
  * MJ: AI Prompts . PromptConfiguration (per-prompt)
32293
32702
  * < MJ: AI Prompt Models . PromptConfiguration (per prompt-on-this-model — the winner)
@@ -32365,6 +32774,18 @@ export interface MJAIPromptModelEntity_LLMConfigurationSettings {
32365
32774
  * only when the gate resolves native.
32366
32775
  */
32367
32776
  NativeToolResults?: boolean | null;
32777
+ /**
32778
+ * **Catalog layers only.** Whether this serving path's prompt cache is an exact BYTE-PREFIX match:
32779
+ * it reuses a prior request only when that request's entire prompt is a prefix of the new one
32780
+ * (OpenAI's automatic cache, xAI), so per-iteration framework state must be appended, never
32781
+ * replaced. Absent or `false` means a block or segment cache (Anthropic breakpoints, Gemini
32782
+ * implicit cache, Cerebras sliding cache), where a trailing per-iteration message can be replaced
32783
+ * in place — the safe default. Set `true` under `Configuration.ModelDefaults` on the VENDOR row of a prefix-cache provider so
32784
+ * every model it serves inherits it (the vendor default beats the model's own bag); a MODEL-VENDOR
32785
+ * row overrides it for one model on that host.
32786
+ * Consumed by the loop agent's trailing runtime-state layout.
32787
+ */
32788
+ PrefixPromptCache?: boolean | null;
32368
32789
  }
32369
32790
  /**
32370
32791
  * MJ-normalized turn-detection settings for realtime (speech-to-speech) models. Every field is
@@ -32429,6 +32850,24 @@ export interface MJAIPromptModelEntity_VisionConfigurationSettings {
32429
32850
  export interface MJAIPromptModelEntity_AudioConfigurationSettings {
32430
32851
  [key: string]: unknown;
32431
32852
  }
32853
+ /**
32854
+ * Typed-decision knobs, consumed at call time by the decision runner. They declare what a decision
32855
+ * model accepts, so an oversized request can be refused with a clear message before the call,
32856
+ * instead of being truncated or rejected by the provider. Each is a limit of the model itself: set
32857
+ * it on the catalog layers (`MJ: AI Models`, `MJ: AI Model Vendors`). Absent means no limit is
32858
+ * declared. A decision always needs at least two Choice options or Score levels; that minimum
32859
+ * belongs to `BaseDecision`, not to this bag.
32860
+ */
32861
+ export interface MJAIPromptModelEntity_DecisionConfigurationSettings {
32862
+ /** The most questions one call may carry. */
32863
+ MaxQuestionsPerCall?: number | null;
32864
+ /** The most options one Choice question may list. */
32865
+ MaxChoiceOptions?: number | null;
32866
+ /** The most levels one Score question may list. */
32867
+ MaxScoreLevels?: number | null;
32868
+ /** The largest state the model reads, in tokens. */
32869
+ MaxStateTokens?: number | null;
32870
+ }
32432
32871
  /**
32433
32872
  * The `ModelConfiguration` column on the three MODEL-CATALOG entities (`MJ: AI Model Types`,
32434
32873
  * `MJ: AI Models`, `MJ: AI Model Vendors`), which form an inherit-with-override cascade. Sections
@@ -32443,6 +32882,8 @@ export interface MJAIPromptModelEntity_IAIModelConfiguration {
32443
32882
  Vision?: MJAIPromptModelEntity_VisionConfigurationSettings | null;
32444
32883
  /** Audio (TTS/STT) knobs. Reserved. */
32445
32884
  Audio?: MJAIPromptModelEntity_AudioConfigurationSettings | null;
32885
+ /** Typed-decision limits. Honored at the catalog layers. */
32886
+ Decision?: MJAIPromptModelEntity_DecisionConfigurationSettings | null;
32446
32887
  }
32447
32888
  /**
32448
32889
  * The `PromptConfiguration` column on `MJ: AI Prompts` — per-prompt call-time knobs, layered ON TOP of the
@@ -32460,6 +32901,8 @@ export interface MJAIPromptModelEntity_IAIPromptConfiguration {
32460
32901
  Vision?: MJAIPromptModelEntity_VisionConfigurationSettings | null;
32461
32902
  /** Audio knobs. Reserved. */
32462
32903
  Audio?: MJAIPromptModelEntity_AudioConfigurationSettings | null;
32904
+ /** Typed-decision limits. Reserved at this layer. */
32905
+ Decision?: MJAIPromptModelEntity_DecisionConfigurationSettings | null;
32463
32906
  }
32464
32907
  /**
32465
32908
  * The `PromptConfiguration` column on `MJ: AI Prompt Models` — the most specific layer, overriding both
@@ -32474,6 +32917,25 @@ export interface MJAIPromptModelEntity_IAIPromptModelConfiguration {
32474
32917
  Vision?: MJAIPromptModelEntity_VisionConfigurationSettings | null;
32475
32918
  /** Audio knobs. Reserved. */
32476
32919
  Audio?: MJAIPromptModelEntity_AudioConfigurationSettings | null;
32920
+ /** Typed-decision limits. Reserved at this layer. */
32921
+ Decision?: MJAIPromptModelEntity_DecisionConfigurationSettings | null;
32922
+ }
32923
+ /**
32924
+ * `MJ: AI Vendors . Configuration` — the vendor's own configuration bag. General-purpose: a vendor
32925
+ * row carries settings that describe how this host serves models, of which the first key is
32926
+ * `ModelDefaults`. Add further vendor-level sections here as they arise; do not add capability
32927
+ * columns to AIVendor per knob.
32928
+ */
32929
+ export interface MJAIPromptModelEntity_IAIVendorConfiguration {
32930
+ /**
32931
+ * The default model configuration for EVERY model this vendor serves — the vendor layer of the
32932
+ * model-configuration cascade. Resolved ABOVE the model's own bag and BELOW the model-vendor row:
32933
+ * a host's statement about how it serves models beats the model's generic description, and the
32934
+ * model-vendor row is the tie-breaker where a host diverges for one model. The merge is per key,
32935
+ * so a default here only touches the keys it actually sets. First use: `LLM.PrefixPromptCache`
32936
+ * on OpenAI and x.ai, inherited by every model they serve.
32937
+ */
32938
+ ModelDefaults?: MJAIPromptModelEntity_IAIModelConfiguration | null;
32477
32939
  }
32478
32940
  /**
32479
32941
  * MJ: AI Prompt Models - strongly typed entity sub-class
@@ -33095,7 +33557,7 @@ export declare class MJAIPromptRunEntity extends BaseEntity<MJAIPromptRunEntityT
33095
33557
  /**
33096
33558
  * * Field Name: TotalCost
33097
33559
  * * Display Name: Total Cost
33098
- * * SQL Data Type: decimal(18, 6)
33560
+ * * SQL Data Type: decimal(19, 8)
33099
33561
  * * Description: Total cost of this prompt run including its own cost plus all descendant costs. Calculated as Cost + DescendantCost. This value is stored (not computed) for query performance. Currency is specified in CostCurrency field.
33100
33562
  */
33101
33563
  get TotalCost(): number | null;
@@ -33294,7 +33756,7 @@ export declare class MJAIPromptRunEntity extends BaseEntity<MJAIPromptRunEntityT
33294
33756
  /**
33295
33757
  * * Field Name: DescendantCost
33296
33758
  * * Display Name: Descendant Cost
33297
- * * SQL Data Type: decimal(18, 6)
33759
+ * * SQL Data Type: decimal(19, 8)
33298
33760
  * * Description: The total cost of all descendant (child and grandchild) prompt runs, excluding this run's own cost. For leaf nodes (no children), this is 0. Updated when child costs change.
33299
33761
  */
33300
33762
  get DescendantCost(): number | null;
@@ -33754,6 +34216,15 @@ export declare class MJAIPromptRunEntity extends BaseEntity<MJAIPromptRunEntityT
33754
34216
  get ToolCallingMode(): 'Envelope' | 'Native' | 'NativeFallback' | 'NativeImplicit' | null;
33755
34217
  set ToolCallingMode(value: 'Envelope' | 'Native' | 'NativeFallback' | 'NativeImplicit' | null);
33756
34218
  /**
34219
+ * * Field Name: UserID
34220
+ * * Display Name: User ID
34221
+ * * SQL Data Type: uniqueidentifier
34222
+ * * Related Entity/Foreign Key: MJ: Users (vwUsers.ID)
34223
+ * * Description: The user on whose behalf this prompt was executed, written when the run is created. NULL for automated/unauthenticated runs and for runs that pre-date this column. For an agent-driven run the agent run's user is also reachable through AIAgentRunStep.TargetLogID, which vwAIUsageFacts falls back to.
34224
+ */
34225
+ get UserID(): string | null;
34226
+ set UserID(value: string | null);
34227
+ /**
33757
34228
  * * Field Name: Prompt
33758
34229
  * * Display Name: Prompt
33759
34230
  * * SQL Data Type: nvarchar(255)
@@ -33826,6 +34297,12 @@ export declare class MJAIPromptRunEntity extends BaseEntity<MJAIPromptRunEntityT
33826
34297
  */
33827
34298
  get UsageType(): string | null;
33828
34299
  /**
34300
+ * * Field Name: User
34301
+ * * Display Name: User
34302
+ * * SQL Data Type: nvarchar(100)
34303
+ */
34304
+ get User(): string | null;
34305
+ /**
33829
34306
  * * Field Name: RootParentID
33830
34307
  * * Display Name: Root Parent
33831
34308
  * * SQL Data Type: uniqueidentifier
@@ -33923,7 +34400,8 @@ export declare class MJAIPromptTypeEntity extends BaseEntity<MJAIPromptTypeEntit
33923
34400
  * Two kinds of type live here, and the distinction is the whole point of the file:
33924
34401
  *
33925
34402
  * 1. **Shared modality sections** (`MJAIPromptEntity_LLMConfigurationSettings`, `MJAIPromptEntity_RealtimeConfigurationSettings`,
33926
- * `MJAIPromptEntity_VisionConfigurationSettings`, `MJAIPromptEntity_AudioConfigurationSettings`) — what "the LLM configuration"
34403
+ * `MJAIPromptEntity_VisionConfigurationSettings`, `MJAIPromptEntity_AudioConfigurationSettings`, `MJAIPromptEntity_DecisionConfigurationSettings`) —
34404
+ * what "the LLM configuration"
33927
34405
  * MEANS, defined once and reused by every layer that carries a configuration bag.
33928
34406
  * 2. **Per-table outer types** (`MJAIPromptEntity_IAIModelConfiguration`, `MJAIPromptEntity_IAIPromptConfiguration`,
33929
34407
  * `MJAIPromptEntity_IAIPromptModelConfiguration`) — one per `JSONType`, so each table names its own type even
@@ -33932,7 +34410,8 @@ export declare class MJAIPromptTypeEntity extends BaseEntity<MJAIPromptTypeEntit
33932
34410
  * ```
33933
34411
  * MJ: AI Model Types . ModelConfiguration (type-wide default — e.g. every Realtime model)
33934
34412
  * < MJ: AI Models . ModelConfiguration (per-model)
33935
- * < MJ: AI Model Vendors . ModelConfiguration (per model-on-this-provider — the winner)
34413
+ * < MJ: AI Vendors . Configuration.ModelDefaults (host-wide default for every model this vendor serves)
34414
+ * < MJ: AI Model Vendors . ModelConfiguration (per model-on-this-provider — the tie-breaker, wins)
33936
34415
  *
33937
34416
  * MJ: AI Prompts . PromptConfiguration (per-prompt)
33938
34417
  * < MJ: AI Prompt Models . PromptConfiguration (per prompt-on-this-model — the winner)
@@ -34010,6 +34489,18 @@ export interface MJAIPromptEntity_LLMConfigurationSettings {
34010
34489
  * only when the gate resolves native.
34011
34490
  */
34012
34491
  NativeToolResults?: boolean | null;
34492
+ /**
34493
+ * **Catalog layers only.** Whether this serving path's prompt cache is an exact BYTE-PREFIX match:
34494
+ * it reuses a prior request only when that request's entire prompt is a prefix of the new one
34495
+ * (OpenAI's automatic cache, xAI), so per-iteration framework state must be appended, never
34496
+ * replaced. Absent or `false` means a block or segment cache (Anthropic breakpoints, Gemini
34497
+ * implicit cache, Cerebras sliding cache), where a trailing per-iteration message can be replaced
34498
+ * in place — the safe default. Set `true` under `Configuration.ModelDefaults` on the VENDOR row of a prefix-cache provider so
34499
+ * every model it serves inherits it (the vendor default beats the model's own bag); a MODEL-VENDOR
34500
+ * row overrides it for one model on that host.
34501
+ * Consumed by the loop agent's trailing runtime-state layout.
34502
+ */
34503
+ PrefixPromptCache?: boolean | null;
34013
34504
  }
34014
34505
  /**
34015
34506
  * MJ-normalized turn-detection settings for realtime (speech-to-speech) models. Every field is
@@ -34074,6 +34565,24 @@ export interface MJAIPromptEntity_VisionConfigurationSettings {
34074
34565
  export interface MJAIPromptEntity_AudioConfigurationSettings {
34075
34566
  [key: string]: unknown;
34076
34567
  }
34568
+ /**
34569
+ * Typed-decision knobs, consumed at call time by the decision runner. They declare what a decision
34570
+ * model accepts, so an oversized request can be refused with a clear message before the call,
34571
+ * instead of being truncated or rejected by the provider. Each is a limit of the model itself: set
34572
+ * it on the catalog layers (`MJ: AI Models`, `MJ: AI Model Vendors`). Absent means no limit is
34573
+ * declared. A decision always needs at least two Choice options or Score levels; that minimum
34574
+ * belongs to `BaseDecision`, not to this bag.
34575
+ */
34576
+ export interface MJAIPromptEntity_DecisionConfigurationSettings {
34577
+ /** The most questions one call may carry. */
34578
+ MaxQuestionsPerCall?: number | null;
34579
+ /** The most options one Choice question may list. */
34580
+ MaxChoiceOptions?: number | null;
34581
+ /** The most levels one Score question may list. */
34582
+ MaxScoreLevels?: number | null;
34583
+ /** The largest state the model reads, in tokens. */
34584
+ MaxStateTokens?: number | null;
34585
+ }
34077
34586
  /**
34078
34587
  * The `ModelConfiguration` column on the three MODEL-CATALOG entities (`MJ: AI Model Types`,
34079
34588
  * `MJ: AI Models`, `MJ: AI Model Vendors`), which form an inherit-with-override cascade. Sections
@@ -34088,6 +34597,8 @@ export interface MJAIPromptEntity_IAIModelConfiguration {
34088
34597
  Vision?: MJAIPromptEntity_VisionConfigurationSettings | null;
34089
34598
  /** Audio (TTS/STT) knobs. Reserved. */
34090
34599
  Audio?: MJAIPromptEntity_AudioConfigurationSettings | null;
34600
+ /** Typed-decision limits. Honored at the catalog layers. */
34601
+ Decision?: MJAIPromptEntity_DecisionConfigurationSettings | null;
34091
34602
  }
34092
34603
  /**
34093
34604
  * The `PromptConfiguration` column on `MJ: AI Prompts` — per-prompt call-time knobs, layered ON TOP of the
@@ -34105,6 +34616,8 @@ export interface MJAIPromptEntity_IAIPromptConfiguration {
34105
34616
  Vision?: MJAIPromptEntity_VisionConfigurationSettings | null;
34106
34617
  /** Audio knobs. Reserved. */
34107
34618
  Audio?: MJAIPromptEntity_AudioConfigurationSettings | null;
34619
+ /** Typed-decision limits. Reserved at this layer. */
34620
+ Decision?: MJAIPromptEntity_DecisionConfigurationSettings | null;
34108
34621
  }
34109
34622
  /**
34110
34623
  * The `PromptConfiguration` column on `MJ: AI Prompt Models` — the most specific layer, overriding both
@@ -34119,6 +34632,25 @@ export interface MJAIPromptEntity_IAIPromptModelConfiguration {
34119
34632
  Vision?: MJAIPromptEntity_VisionConfigurationSettings | null;
34120
34633
  /** Audio knobs. Reserved. */
34121
34634
  Audio?: MJAIPromptEntity_AudioConfigurationSettings | null;
34635
+ /** Typed-decision limits. Reserved at this layer. */
34636
+ Decision?: MJAIPromptEntity_DecisionConfigurationSettings | null;
34637
+ }
34638
+ /**
34639
+ * `MJ: AI Vendors . Configuration` — the vendor's own configuration bag. General-purpose: a vendor
34640
+ * row carries settings that describe how this host serves models, of which the first key is
34641
+ * `ModelDefaults`. Add further vendor-level sections here as they arise; do not add capability
34642
+ * columns to AIVendor per knob.
34643
+ */
34644
+ export interface MJAIPromptEntity_IAIVendorConfiguration {
34645
+ /**
34646
+ * The default model configuration for EVERY model this vendor serves — the vendor layer of the
34647
+ * model-configuration cascade. Resolved ABOVE the model's own bag and BELOW the model-vendor row:
34648
+ * a host's statement about how it serves models beats the model's generic description, and the
34649
+ * model-vendor row is the tie-breaker where a host diverges for one model. The merge is per key,
34650
+ * so a default here only touches the keys it actually sets. First use: `LLM.PrefixPromptCache`
34651
+ * on OpenAI and x.ai, inherited by every model they serve.
34652
+ */
34653
+ ModelDefaults?: MJAIPromptEntity_IAIModelConfiguration | null;
34122
34654
  }
34123
34655
  /**
34124
34656
  * MJ: AI Prompts - strongly typed entity sub-class
@@ -36067,6 +36599,264 @@ export declare class MJAIVendorTypeEntity extends BaseEntity<MJAIVendorTypeEntit
36067
36599
  */
36068
36600
  get Type(): string;
36069
36601
  }
36602
+ /**
36603
+ * The AI stack's per-modality configuration bags — ONE source of truth for every layer.
36604
+ *
36605
+ * Two kinds of type live here, and the distinction is the whole point of the file:
36606
+ *
36607
+ * 1. **Shared modality sections** (`MJAIVendorEntity_LLMConfigurationSettings`, `MJAIVendorEntity_RealtimeConfigurationSettings`,
36608
+ * `MJAIVendorEntity_VisionConfigurationSettings`, `MJAIVendorEntity_AudioConfigurationSettings`, `MJAIVendorEntity_DecisionConfigurationSettings`) —
36609
+ * what "the LLM configuration"
36610
+ * MEANS, defined once and reused by every layer that carries a configuration bag.
36611
+ * 2. **Per-table outer types** (`MJAIVendorEntity_IAIModelConfiguration`, `MJAIVendorEntity_IAIPromptConfiguration`,
36612
+ * `MJAIVendorEntity_IAIPromptModelConfiguration`) — one per `JSONType`, so each table names its own type even
36613
+ * though they compose the same sections.
36614
+ *
36615
+ * ```
36616
+ * MJ: AI Model Types . ModelConfiguration (type-wide default — e.g. every Realtime model)
36617
+ * < MJ: AI Models . ModelConfiguration (per-model)
36618
+ * < MJ: AI Vendors . Configuration.ModelDefaults (host-wide default for every model this vendor serves)
36619
+ * < MJ: AI Model Vendors . ModelConfiguration (per model-on-this-provider — the tie-breaker, wins)
36620
+ *
36621
+ * MJ: AI Prompts . PromptConfiguration (per-prompt)
36622
+ * < MJ: AI Prompt Models . PromptConfiguration (per prompt-on-this-model — the winner)
36623
+ * ```
36624
+ *
36625
+ * The catalog cascade is resolved base-first with per-key deep merge by
36626
+ * `ResolveEffectiveModelConfiguration` in `@memberjunction/ai`; the prompt cascade is resolved by
36627
+ * the prompt runner, which layers the prompt bags ON TOP of the catalog result.
36628
+ *
36629
+ * **Why one file**: `EntityField.JSONTypeDefinition` stores this text VERBATIM, and CodeGen emits
36630
+ * it inline above each entity class with every top-level name prefixed (`MJAIModelEntity_…`). It
36631
+ * therefore has to be self-contained — a definition cannot `import` a sibling, and `@file:`
36632
+ * substitutes a whole file rather than splicing one into another. Keeping every AI configuration
36633
+ * type in ONE file is what makes a shared section possible at all; the cost is that each of the
36634
+ * five entities emits the full (prefixed) set, including outer types it does not use.
36635
+ *
36636
+ * **Lockstep contract**: this file is the JSONType SOURCE; its package-side mirror is
36637
+ * `packages/AI/Core/src/generic/modelConfiguration.ts` in `@memberjunction/ai`, which runtime code
36638
+ * compiles against. Keep the two in step when adding a section or property — the same pact
36639
+ * `IAgentSettings` follows with `@memberjunction/ai-core-plus`.
36640
+ *
36641
+ * **Boundary rule**: anything the engine filters, sorts, or joins on stays a COLUMN (`PowerRank`,
36642
+ * `IsActive`, `Priority`, `Status` — SQL cannot cheaply predicate into this bag); anything a driver
36643
+ * or runner consumes at call time belongs HERE. New capability knobs go in the bag — do not add a
36644
+ * capability column per knob. A knob graduates to a real column when it needs a foreign key or
36645
+ * becomes a first-class thing the platform reasons about.
36646
+ */
36647
+ /**
36648
+ * Text-generation knobs, consumed by the LLM drivers and the prompt runner at call time.
36649
+ *
36650
+ * Every flag is TRI-STATE (`boolean | null | absent`) and the three differ: the cascade REPLACES on
36651
+ * any explicit value (including `null`) and only skips a layer that OMITS the property. So absent
36652
+ * means "inherit", while an explicit value at a higher layer overrides a lower one even when false.
36653
+ *
36654
+ * Properties are marked with the layers that HONOR them. A property set at a layer that does not
36655
+ * honor it is inert, not an error — that tolerance is deliberate, so a knob can move between layers
36656
+ * without a schema change.
36657
+ */
36658
+ export interface MJAIVendorEntity_LLMConfigurationSettings {
36659
+ /**
36660
+ * **Catalog layers only** (model type / model / model vendor). Whether this model — or this
36661
+ * vendor's serving of it — supports native tool/function calling.
36662
+ *
36663
+ * CAPABILITY flag, and a hard gate: no policy or preference at any layer can force tools onto a
36664
+ * (model, vendor) whose resolved value is not true. Set `false` only for a model or serving path
36665
+ * verified NOT to support tools; leave absent when support is unknown, because absent is the
36666
+ * honest value and it inherits.
36667
+ */
36668
+ SupportsNativeToolCalling?: boolean | null;
36669
+ /**
36670
+ * **Catalog layers only.** Whether prompts run against this model default to native tool calling
36671
+ * when they express no preference of their own. POLICY flag — subordinate to
36672
+ * {@link MJAIVendorEntity_LLMConfigurationSettings.SupportsNativeToolCalling}.
36673
+ */
36674
+ DefaultToNativeToolCalling?: boolean | null;
36675
+ /**
36676
+ * **Prompt layers only** (prompt / prompt model). Whether THIS prompt asks for native tool
36677
+ * calling. PREFERENCE — it outranks the catalog's `DefaultToNativeToolCalling`, and is still
36678
+ * subordinate to the capability gate. Absent means "no preference; fall through to the model's
36679
+ * default".
36680
+ */
36681
+ UseNativeToolCalling?: boolean | null;
36682
+ /**
36683
+ * **Catalog layers only.** How control flow is expressed when a request resolves to native tool
36684
+ * calling. `'envelope'` (the default when absent) is the hybrid: Actions are tools, everything
36685
+ * else — completion, chat, delegation, payload changes — is the JSON envelope. `'implicit'` is the
36686
+ * implicit protocol: sub-agents, `payload_change_request` and `ask_user` are tools too, a tool call
36687
+ * continues the loop, and plain text with no call ends the turn as task completion. Consulted only
36688
+ * when the gate resolves native; subordinate to {@link MJAIVendorEntity_LLMConfigurationSettings.SupportsNativeToolCalling}.
36689
+ */
36690
+ NativeControlFlow?: 'envelope' | 'implicit' | null;
36691
+ /**
36692
+ * **Catalog layers only.** Whether action results are returned to the model as native tool-result
36693
+ * turns instead of a markdown "Action results" user message. Absent means `false`. Consulted
36694
+ * only when the gate resolves native.
36695
+ */
36696
+ NativeToolResults?: boolean | null;
36697
+ /**
36698
+ * **Catalog layers only.** Whether this serving path's prompt cache is an exact BYTE-PREFIX match:
36699
+ * it reuses a prior request only when that request's entire prompt is a prefix of the new one
36700
+ * (OpenAI's automatic cache, xAI), so per-iteration framework state must be appended, never
36701
+ * replaced. Absent or `false` means a block or segment cache (Anthropic breakpoints, Gemini
36702
+ * implicit cache, Cerebras sliding cache), where a trailing per-iteration message can be replaced
36703
+ * in place — the safe default. Set `true` under `Configuration.ModelDefaults` on the VENDOR row of a prefix-cache provider so
36704
+ * every model it serves inherits it (the vendor default beats the model's own bag); a MODEL-VENDOR
36705
+ * row overrides it for one model on that host.
36706
+ * Consumed by the loop agent's trailing runtime-state layout.
36707
+ */
36708
+ PrefixPromptCache?: boolean | null;
36709
+ }
36710
+ /**
36711
+ * MJ-normalized turn-detection settings for realtime (speech-to-speech) models. Every field is
36712
+ * optional; absent fields contribute nothing. Provider profiles translate this vocabulary to their
36713
+ * native wire block, and an unsupported value is diagnostic-logged and falls back to the profile
36714
+ * default — a wrong inherited value degrades safely, it never rejects a session.
36715
+ */
36716
+ export interface MJAIVendorEntity_RealtimeTurnDetectionSettings {
36717
+ /**
36718
+ * - `'default'` — let the provider profile decide (today's behavior).
36719
+ * - `'serverVad'` — classic silence-based server VAD.
36720
+ * - `'semanticVad'` — semantic end-of-utterance detection (OpenAI `semantic_vad`).
36721
+ * - `'native'` — this model's smartest documented turn/duplex mode, whatever the profile maps it
36722
+ * to; the forward slot for full-duplex reasoning voice models.
36723
+ */
36724
+ Mode?: 'default' | 'serverVad' | 'semanticVad' | 'native' | null;
36725
+ /** Semantic-VAD aggressiveness (OpenAI `eagerness`); ignored without a mapping. */
36726
+ Eagerness?: 'low' | 'auto' | 'high' | null;
36727
+ /** Server-VAD activation threshold (0–1); ignored without a mapping. */
36728
+ Threshold?: number | null;
36729
+ /** Server-VAD trailing-silence duration in ms; ignored without a mapping. */
36730
+ SilenceDurationMs?: number | null;
36731
+ }
36732
+ /**
36733
+ * Reasoning-plane settings for realtime models — dual delegation configuration. Absent defaults to
36734
+ * `'local'`.
36735
+ */
36736
+ export interface MJAIVendorEntity_RealtimeReasoningSettings {
36737
+ /**
36738
+ * Which plane handles reasoning:
36739
+ * - `'local'` — application/agent loop (default).
36740
+ * - `'remote'` — delegated to remote model or hosted agent.
36741
+ */
36742
+ Plane?: 'local' | 'remote' | null;
36743
+ /** Remote reasoning target configuration. */
36744
+ Remote?: {
36745
+ Kind?: 'model' | 'hostedAgent' | null;
36746
+ Ref?: string | null;
36747
+ Effort?: 'none' | 'minimal' | 'low' | 'medium' | 'high' | 'xhigh' | null;
36748
+ MaxOutputTokens?: number | null;
36749
+ } | null;
36750
+ }
36751
+ /** Realtime (speech-to-speech) knobs. */
36752
+ export interface MJAIVendorEntity_RealtimeConfigurationSettings {
36753
+ /**
36754
+ * Catalog-level turn-detection default for this model. Folded into the realtime session Config
36755
+ * bag as the `turnDetection` key BELOW the agent/app config cascade
36756
+ * (`realtime.session.turnDetection`) and the runtime override — the catalog supplies the
36757
+ * default, agents/apps/callers refine it.
36758
+ */
36759
+ TurnDetection?: MJAIVendorEntity_RealtimeTurnDetectionSettings | null;
36760
+ /**
36761
+ * Reasoning plane settings — dual delegation configuration. Absent defaults to `'local'`.
36762
+ */
36763
+ Reasoning?: MJAIVendorEntity_RealtimeReasoningSettings | null;
36764
+ }
36765
+ /** Vision knobs. Reserved — no consumers yet. */
36766
+ export interface MJAIVendorEntity_VisionConfigurationSettings {
36767
+ [key: string]: unknown;
36768
+ }
36769
+ /** Audio (TTS/STT) knobs. Reserved — no consumers yet. */
36770
+ export interface MJAIVendorEntity_AudioConfigurationSettings {
36771
+ [key: string]: unknown;
36772
+ }
36773
+ /**
36774
+ * Typed-decision knobs, consumed at call time by the decision runner. They declare what a decision
36775
+ * model accepts, so an oversized request can be refused with a clear message before the call,
36776
+ * instead of being truncated or rejected by the provider. Each is a limit of the model itself: set
36777
+ * it on the catalog layers (`MJ: AI Models`, `MJ: AI Model Vendors`). Absent means no limit is
36778
+ * declared. A decision always needs at least two Choice options or Score levels; that minimum
36779
+ * belongs to `BaseDecision`, not to this bag.
36780
+ */
36781
+ export interface MJAIVendorEntity_DecisionConfigurationSettings {
36782
+ /** The most questions one call may carry. */
36783
+ MaxQuestionsPerCall?: number | null;
36784
+ /** The most options one Choice question may list. */
36785
+ MaxChoiceOptions?: number | null;
36786
+ /** The most levels one Score question may list. */
36787
+ MaxScoreLevels?: number | null;
36788
+ /** The largest state the model reads, in tokens. */
36789
+ MaxStateTokens?: number | null;
36790
+ }
36791
+ /**
36792
+ * The `ModelConfiguration` column on the three MODEL-CATALOG entities (`MJ: AI Model Types`,
36793
+ * `MJ: AI Models`, `MJ: AI Model Vendors`), which form an inherit-with-override cascade. Sections
36794
+ * are per-modality so one catalog row can configure everything its model does.
36795
+ */
36796
+ export interface MJAIVendorEntity_IAIModelConfiguration {
36797
+ /** Text-generation knobs. Honors the catalog-layer properties. */
36798
+ LLM?: MJAIVendorEntity_LLMConfigurationSettings | null;
36799
+ /** Realtime (speech-to-speech) knobs. */
36800
+ Realtime?: MJAIVendorEntity_RealtimeConfigurationSettings | null;
36801
+ /** Vision knobs. Reserved. */
36802
+ Vision?: MJAIVendorEntity_VisionConfigurationSettings | null;
36803
+ /** Audio (TTS/STT) knobs. Reserved. */
36804
+ Audio?: MJAIVendorEntity_AudioConfigurationSettings | null;
36805
+ /** Typed-decision limits. Honored at the catalog layers. */
36806
+ Decision?: MJAIVendorEntity_DecisionConfigurationSettings | null;
36807
+ }
36808
+ /**
36809
+ * The `PromptConfiguration` column on `MJ: AI Prompts` — per-prompt call-time knobs, layered ON TOP of the
36810
+ * resolved model-catalog configuration by the prompt runner.
36811
+ *
36812
+ * The same anti-widening argument that produced `ModelConfiguration` applies here with more force:
36813
+ * `AIPrompt` already carries fifty-odd columns. New per-prompt call-time knobs land here.
36814
+ */
36815
+ export interface MJAIVendorEntity_IAIPromptConfiguration {
36816
+ /** Text-generation knobs. Honors the prompt-layer properties. */
36817
+ LLM?: MJAIVendorEntity_LLMConfigurationSettings | null;
36818
+ /** Realtime knobs. Reserved at this layer. */
36819
+ Realtime?: MJAIVendorEntity_RealtimeConfigurationSettings | null;
36820
+ /** Vision knobs. Reserved. */
36821
+ Vision?: MJAIVendorEntity_VisionConfigurationSettings | null;
36822
+ /** Audio knobs. Reserved. */
36823
+ Audio?: MJAIVendorEntity_AudioConfigurationSettings | null;
36824
+ /** Typed-decision limits. Reserved at this layer. */
36825
+ Decision?: MJAIVendorEntity_DecisionConfigurationSettings | null;
36826
+ }
36827
+ /**
36828
+ * The `PromptConfiguration` column on `MJ: AI Prompt Models` — the most specific layer, overriding both
36829
+ * the prompt's own bag and the model catalog for this one (prompt, model) pairing.
36830
+ */
36831
+ export interface MJAIVendorEntity_IAIPromptModelConfiguration {
36832
+ /** Text-generation knobs. Honors the prompt-layer properties. */
36833
+ LLM?: MJAIVendorEntity_LLMConfigurationSettings | null;
36834
+ /** Realtime knobs. Reserved at this layer. */
36835
+ Realtime?: MJAIVendorEntity_RealtimeConfigurationSettings | null;
36836
+ /** Vision knobs. Reserved. */
36837
+ Vision?: MJAIVendorEntity_VisionConfigurationSettings | null;
36838
+ /** Audio knobs. Reserved. */
36839
+ Audio?: MJAIVendorEntity_AudioConfigurationSettings | null;
36840
+ /** Typed-decision limits. Reserved at this layer. */
36841
+ Decision?: MJAIVendorEntity_DecisionConfigurationSettings | null;
36842
+ }
36843
+ /**
36844
+ * `MJ: AI Vendors . Configuration` — the vendor's own configuration bag. General-purpose: a vendor
36845
+ * row carries settings that describe how this host serves models, of which the first key is
36846
+ * `ModelDefaults`. Add further vendor-level sections here as they arise; do not add capability
36847
+ * columns to AIVendor per knob.
36848
+ */
36849
+ export interface MJAIVendorEntity_IAIVendorConfiguration {
36850
+ /**
36851
+ * The default model configuration for EVERY model this vendor serves — the vendor layer of the
36852
+ * model-configuration cascade. Resolved ABOVE the model's own bag and BELOW the model-vendor row:
36853
+ * a host's statement about how it serves models beats the model's generic description, and the
36854
+ * model-vendor row is the tie-breaker where a host diverges for one model. The merge is per key,
36855
+ * so a default here only touches the keys it actually sets. First use: `LLM.PrefixPromptCache`
36856
+ * on OpenAI and x.ai, inherited by every model they serve.
36857
+ */
36858
+ ModelDefaults?: MJAIVendorEntity_IAIModelConfiguration | null;
36859
+ }
36070
36860
  /**
36071
36861
  * MJ: AI Vendors - strongly typed entity sub-class
36072
36862
  * * Schema: __mj
@@ -36139,6 +36929,23 @@ export declare class MJAIVendorEntity extends BaseEntity<MJAIVendorEntityType> {
36139
36929
  get CredentialTypeID(): string | null;
36140
36930
  set CredentialTypeID(value: string | null);
36141
36931
  /**
36932
+ * * Field Name: Configuration
36933
+ * * Display Name: Configuration
36934
+ * * SQL Data Type: nvarchar(MAX)
36935
+ * * JSON Type: MJAIVendorEntity_IAIVendorConfiguration
36936
+ * * Description: Vendor configuration bag (JSON, IAIVendorConfiguration shape). Its ModelDefaults key is an IAIModelConfiguration bag (LLM / Realtime / Vision / Audio sections) that forms the default model configuration for every model this vendor serves: the vendor layer of the ModelConfiguration cascade, above AIModelType and AIModel and below AIModelVendor, which may override it per key. NULL = contributes nothing.
36937
+ */
36938
+ get Configuration(): string | null;
36939
+ set Configuration(value: string | null);
36940
+ private _ConfigurationObject_cached;
36941
+ private _ConfigurationObject_lastRaw;
36942
+ /**
36943
+ * Typed accessor for Configuration — returns parsed JSON as MJAIVendorEntity_IAIVendorConfiguration.
36944
+ * Uses lazy parsing with cache invalidation when the underlying raw value changes.
36945
+ */
36946
+ get ConfigurationObject(): MJAIVendorEntity_IAIVendorConfiguration | null;
36947
+ set ConfigurationObject(value: MJAIVendorEntity_IAIVendorConfiguration | null);
36948
+ /**
36142
36949
  * * Field Name: CredentialType
36143
36950
  * * Display Name: Credential Type
36144
36951
  * * SQL Data Type: nvarchar(100)
@@ -52733,6 +53540,20 @@ export interface MJEntityEntity_IEntitySubtypeSelectorConfig {
52733
53540
  * reading the target subtype entity name.
52734
53541
  */
52735
53542
  Path: string;
53543
+ /**
53544
+ * Whether `BaseEntity` also walks {@link Path} for a record it LOADS, not only for one it creates,
53545
+ * so the load can fetch the named child's row directly instead of first querying every child's
53546
+ * table. Optional; `false` or absent keeps loads as they were, with the discovery query.
53547
+ *
53548
+ * On load, only hops that a loaded `BaseEngine` holds as entity objects are walked. A hop that
53549
+ * isn't cached gives no hint, never a query. Turn it on when records of a subtyped type have
53550
+ * their subtype row: a record whose type names a child it has no row for costs one extra round
53551
+ * trip per load.
53552
+ *
53553
+ * Ignored while an `EntitySubtypeResolver` is registered for the entity: the resolver owns the
53554
+ * rule, and gives load hints by overriding its `ResolveLoadHint` method.
53555
+ */
53556
+ UseForLoadedRecords?: boolean;
52736
53557
  }
52737
53558
  /**
52738
53559
  * MJ: Entities - strongly typed entity sub-class
@@ -54703,8 +55524,8 @@ export declare class MJEntityDocumentEntity extends BaseEntity<MJEntityDocumentE
54703
55524
  * * SQL Data Type: uniqueidentifier
54704
55525
  * * Related Entity/Foreign Key: MJ: Vector Databases (vwVectorDatabases.ID)
54705
55526
  */
54706
- get VectorDatabaseID(): string;
54707
- set VectorDatabaseID(value: string);
55527
+ get VectorDatabaseID(): string | null;
55528
+ set VectorDatabaseID(value: string | null);
54708
55529
  /**
54709
55530
  * * Field Name: Status
54710
55531
  * * Display Name: Status
@@ -54731,8 +55552,8 @@ export declare class MJEntityDocumentEntity extends BaseEntity<MJEntityDocumentE
54731
55552
  * * SQL Data Type: uniqueidentifier
54732
55553
  * * Related Entity/Foreign Key: MJ: AI Models (vwAIModels.ID)
54733
55554
  */
54734
- get AIModelID(): string;
54735
- set AIModelID(value: string);
55555
+ get AIModelID(): string | null;
55556
+ set AIModelID(value: string | null);
54736
55557
  /**
54737
55558
  * * Field Name: PotentialMatchThreshold
54738
55559
  * * Display Name: Potential Match Threshold
@@ -54861,7 +55682,7 @@ export declare class MJEntityDocumentEntity extends BaseEntity<MJEntityDocumentE
54861
55682
  * * Display Name: Vector Database Name
54862
55683
  * * SQL Data Type: nvarchar(100)
54863
55684
  */
54864
- get VectorDatabase(): string;
55685
+ get VectorDatabase(): string | null;
54865
55686
  /**
54866
55687
  * * Field Name: Template
54867
55688
  * * Display Name: Template Name
@@ -54873,7 +55694,7 @@ export declare class MJEntityDocumentEntity extends BaseEntity<MJEntityDocumentE
54873
55694
  * * Display Name: AI Model Name
54874
55695
  * * SQL Data Type: nvarchar(50)
54875
55696
  */
54876
- get AIModel(): string;
55697
+ get AIModel(): string | null;
54877
55698
  /**
54878
55699
  * * Field Name: VectorIndex
54879
55700
  * * Display Name: Vector Index Name
@@ -55864,6 +56685,22 @@ export declare class MJEntityFieldEntity extends BaseEntity<MJEntityFieldEntityT
55864
56685
  get ConfigurationObject(): MJEntityFieldEntity_IEntityFieldConfiguration | null;
55865
56686
  set ConfigurationObject(value: MJEntityFieldEntity_IEntityFieldConfiguration | null);
55866
56687
  /**
56688
+ * * Field Name: RelatedEntityFilter
56689
+ * * Display Name: Related Entity Filter
56690
+ * * SQL Data Type: nvarchar(MAX)
56691
+ * * Description: Optional SQL WHERE fragment applied to every lookup on this foreign key (e.g. Status = 'Active'), AND-ed with whatever the user types, on both the browse list and the search path. Lets a picker be scoped from metadata rather than from every form template that renders the field. Authored by hand — CodeGen never derives or overwrites it. NULL means no filter, which is the pre-feature behaviour.
56692
+ */
56693
+ get RelatedEntityFilter(): string | null;
56694
+ set RelatedEntityFilter(value: string | null);
56695
+ /**
56696
+ * * Field Name: RelatedEntityOrderBy
56697
+ * * Display Name: Related Entity Order By
56698
+ * * SQL Data Type: nvarchar(500)
56699
+ * * Description: Optional ORDER BY fragment for the empty-query browse list on this foreign key, e.g. [Name] or [LastActivityDate] DESC. Does not affect the typed-query path, which is ordered by search relevance. Authored by hand — CodeGen never derives or overwrites it. NULL means order by the related entity's name field.
56700
+ */
56701
+ get RelatedEntityOrderBy(): string | null;
56702
+ set RelatedEntityOrderBy(value: string | null);
56703
+ /**
55867
56704
  * * Field Name: FieldCodeName
55868
56705
  * * Display Name: Field Code Name
55869
56706
  * * SQL Data Type: nvarchar(MAX)
@@ -58499,6 +59336,423 @@ export declare class MJExternalDataSourceEntity extends BaseEntity<MJExternalDat
58499
59336
  */
58500
59337
  get Credential(): string | null;
58501
59338
  }
59339
+ /**
59340
+ * MJ: Feature Value Caches - strongly typed entity sub-class
59341
+ * * Schema: __mj
59342
+ * * Base Table: FeatureValueCache
59343
+ * * Base View: vwFeatureValueCaches
59344
+ * * @description Dedup dictionary table for Feature Pipelines. Caches computed outputs by canonical input key hash, prompt version, and constraint hash. Distinct input strings (e.g. unique job titles) are computed once and reused across all matching records.
59345
+ * * Primary Key: ID
59346
+ * @extends {BaseEntity}
59347
+ * @class
59348
+ * @public
59349
+ */
59350
+ export declare class MJFeatureValueCacheEntity extends BaseEntity<MJFeatureValueCacheEntityType> {
59351
+ /**
59352
+ * Loads the MJ: Feature Value Caches record from the database
59353
+ * @param ID: string - primary key value to load the MJ: Feature Value Caches record.
59354
+ * @param EntityRelationshipsToLoad - (optional) the relationships to load
59355
+ * @returns {Promise<boolean>} - true if successful, false otherwise
59356
+ * @public
59357
+ * @async
59358
+ * @memberof MJFeatureValueCacheEntity
59359
+ * @method
59360
+ * @override
59361
+ */
59362
+ Load(ID: string, EntityRelationshipsToLoad?: string[]): Promise<boolean>;
59363
+ /**
59364
+ * * Field Name: ID
59365
+ * * Display Name: ID
59366
+ * * SQL Data Type: uniqueidentifier
59367
+ * * Default Value: newsequentialid()
59368
+ * * Description: Unique identifier for this feature value cache entry.
59369
+ */
59370
+ get ID(): string;
59371
+ set ID(value: string);
59372
+ /**
59373
+ * * Field Name: RecordProcessID
59374
+ * * Display Name: Record Process
59375
+ * * SQL Data Type: uniqueidentifier
59376
+ * * Related Entity/Foreign Key: MJ: Record Processes (vwRecordProcesses.ID)
59377
+ * * Description: Optional reference to the RecordProcess that produced this cache entry. When NULL, the cached result is scoped by PromptID only and shared across pipelines using the same prompt.
59378
+ */
59379
+ get RecordProcessID(): string | null;
59380
+ set RecordProcessID(value: string | null);
59381
+ /**
59382
+ * * Field Name: PromptID
59383
+ * * Display Name: Prompt
59384
+ * * SQL Data Type: uniqueidentifier
59385
+ * * Related Entity/Foreign Key: MJ: AI Prompts (vwAIPrompts.ID)
59386
+ * * Description: Reference to the AI Prompt used to compute this cached entry.
59387
+ */
59388
+ get PromptID(): string;
59389
+ set PromptID(value: string);
59390
+ /**
59391
+ * * Field Name: PromptVersionHash
59392
+ * * Display Name: Prompt Version Hash
59393
+ * * SQL Data Type: nvarchar(64)
59394
+ * * Description: SHA-256 content hash of the rendered prompt template, output schema, and constraint instructions at execution time.
59395
+ */
59396
+ get PromptVersionHash(): string;
59397
+ set PromptVersionHash(value: string);
59398
+ /**
59399
+ * * Field Name: ConstraintHash
59400
+ * * Display Name: Constraint Hash
59401
+ * * SQL Data Type: nvarchar(64)
59402
+ * * Description: SHA-256 hash of the output value constraint definitions. Changes to allowed enum values or ranges invalidate cached results.
59403
+ */
59404
+ get ConstraintHash(): string;
59405
+ set ConstraintHash(value: string);
59406
+ /**
59407
+ * * Field Name: KeyHash
59408
+ * * Display Name: Key Hash
59409
+ * * SQL Data Type: nvarchar(64)
59410
+ * * Description: SHA-256 hash over the canonicalized JSON key field values. The primary lookup key.
59411
+ */
59412
+ get KeyHash(): string;
59413
+ set KeyHash(value: string);
59414
+ /**
59415
+ * * Field Name: KeyDisplay
59416
+ * * Display Name: Key Display
59417
+ * * SQL Data Type: nvarchar(500)
59418
+ * * Description: Human-readable plain text display of the key (e.g. "Senior Director, Field Marketing"). Makes this table legible as reference data.
59419
+ */
59420
+ get KeyDisplay(): string | null;
59421
+ set KeyDisplay(value: string | null);
59422
+ /**
59423
+ * * Field Name: KeyJSON
59424
+ * * Display Name: Key JSON
59425
+ * * SQL Data Type: nvarchar(MAX)
59426
+ * * Description: Full JSON representation of the input key fields and their values.
59427
+ */
59428
+ get KeyJSON(): string;
59429
+ set KeyJSON(value: string);
59430
+ /**
59431
+ * * Field Name: OutputsJSON
59432
+ * * Display Name: Outputs JSON
59433
+ * * SQL Data Type: nvarchar(MAX)
59434
+ * * Description: Cached computed outputs JSON fragment. Stored directly so archival of AI Prompt Runs does not lose cached values.
59435
+ */
59436
+ get OutputsJSON(): string;
59437
+ set OutputsJSON(value: string);
59438
+ /**
59439
+ * * Field Name: Reasoning
59440
+ * * Display Name: Reasoning
59441
+ * * SQL Data Type: nvarchar(MAX)
59442
+ * * Description: Optional model reasoning or rationale captured from the prompt execution.
59443
+ */
59444
+ get Reasoning(): string | null;
59445
+ set Reasoning(value: string | null);
59446
+ /**
59447
+ * * Field Name: AIPromptRunID
59448
+ * * Display Name: AI Prompt Run
59449
+ * * SQL Data Type: uniqueidentifier
59450
+ * * Description: Soft reference to the AI Prompt Run that first computed and populated this cached result.
59451
+ */
59452
+ get AIPromptRunID(): string | null;
59453
+ set AIPromptRunID(value: string | null);
59454
+ /**
59455
+ * * Field Name: HitCount
59456
+ * * Display Name: Hit Count
59457
+ * * SQL Data Type: int
59458
+ * * Default Value: 0
59459
+ * * Description: Total number of times this cached result has been served to skip an LLM invocation.
59460
+ */
59461
+ get HitCount(): number;
59462
+ set HitCount(value: number);
59463
+ /**
59464
+ * * Field Name: LastHitAt
59465
+ * * Display Name: Last Hit At
59466
+ * * SQL Data Type: datetimeoffset
59467
+ * * Description: Timestamp when this cached entry was last read and served.
59468
+ */
59469
+ get LastHitAt(): Date | null;
59470
+ set LastHitAt(value: Date | null);
59471
+ /**
59472
+ * * Field Name: ComputedAt
59473
+ * * Display Name: Computed At
59474
+ * * SQL Data Type: datetimeoffset
59475
+ * * Default Value: sysdatetimeoffset()
59476
+ * * Description: Timestamp when this cached entry was originally computed.
59477
+ */
59478
+ get ComputedAt(): Date;
59479
+ set ComputedAt(value: Date);
59480
+ /**
59481
+ * * Field Name: ExpiresAt
59482
+ * * Display Name: Expires At
59483
+ * * SQL Data Type: datetimeoffset
59484
+ * * Description: Optional expiration timestamp for time-to-live invalidation. NULL means no expiration.
59485
+ */
59486
+ get ExpiresAt(): Date | null;
59487
+ set ExpiresAt(value: Date | null);
59488
+ /**
59489
+ * * Field Name: __mj_CreatedAt
59490
+ * * Display Name: Created At
59491
+ * * SQL Data Type: datetimeoffset
59492
+ * * Default Value: getutcdate()
59493
+ * * Description: Timestamp when this record was created.
59494
+ */
59495
+ get __mj_CreatedAt(): Date;
59496
+ /**
59497
+ * * Field Name: __mj_UpdatedAt
59498
+ * * Display Name: Updated At
59499
+ * * SQL Data Type: datetimeoffset
59500
+ * * Default Value: getutcdate()
59501
+ * * Description: Timestamp when this record was last updated.
59502
+ */
59503
+ get __mj_UpdatedAt(): Date;
59504
+ /**
59505
+ * * Field Name: RecordProcess
59506
+ * * Display Name: Record Process Name
59507
+ * * SQL Data Type: nvarchar(255)
59508
+ */
59509
+ get RecordProcess(): string | null;
59510
+ /**
59511
+ * * Field Name: Prompt
59512
+ * * Display Name: Prompt Name
59513
+ * * SQL Data Type: nvarchar(255)
59514
+ */
59515
+ get Prompt(): string;
59516
+ }
59517
+ /**
59518
+ * MJ: Feature Values - strongly typed entity sub-class
59519
+ * * Schema: __mj
59520
+ * * Base Table: FeatureValue
59521
+ * * Base View: vwFeatureValues
59522
+ * * @description Complete historical audit table for Feature Pipelines. Records every feature value ever computed per entity record, with full provenance, model reasoning, and run back-links.
59523
+ * * Primary Key: ID
59524
+ * @extends {BaseEntity}
59525
+ * @class
59526
+ * @public
59527
+ */
59528
+ export declare class MJFeatureValueEntity extends BaseEntity<MJFeatureValueEntityType> {
59529
+ /**
59530
+ * Loads the MJ: Feature Values record from the database
59531
+ * @param ID: string - primary key value to load the MJ: Feature Values record.
59532
+ * @param EntityRelationshipsToLoad - (optional) the relationships to load
59533
+ * @returns {Promise<boolean>} - true if successful, false otherwise
59534
+ * @public
59535
+ * @async
59536
+ * @memberof MJFeatureValueEntity
59537
+ * @method
59538
+ * @override
59539
+ */
59540
+ Load(ID: string, EntityRelationshipsToLoad?: string[]): Promise<boolean>;
59541
+ /**
59542
+ * * Field Name: ID
59543
+ * * Display Name: ID
59544
+ * * SQL Data Type: uniqueidentifier
59545
+ * * Default Value: newsequentialid()
59546
+ * * Description: Unique identifier for this feature value history record.
59547
+ */
59548
+ get ID(): string;
59549
+ set ID(value: string);
59550
+ /**
59551
+ * * Field Name: RecordProcessID
59552
+ * * Display Name: Record Process
59553
+ * * SQL Data Type: uniqueidentifier
59554
+ * * Related Entity/Foreign Key: MJ: Record Processes (vwRecordProcesses.ID)
59555
+ * * Description: The Record Process (Feature Pipeline) that computed this feature value.
59556
+ */
59557
+ get RecordProcessID(): string;
59558
+ set RecordProcessID(value: string);
59559
+ /**
59560
+ * * Field Name: EntityID
59561
+ * * Display Name: Entity
59562
+ * * SQL Data Type: uniqueidentifier
59563
+ * * Related Entity/Foreign Key: MJ: Entities (vwEntities.ID)
59564
+ * * Description: The entity of the record this feature was computed for.
59565
+ */
59566
+ get EntityID(): string;
59567
+ set EntityID(value: string);
59568
+ /**
59569
+ * * Field Name: RecordID
59570
+ * * Display Name: Record ID
59571
+ * * SQL Data Type: nvarchar(900)
59572
+ * * Description: Serialized primary key of the record this feature was computed for. Matches ProcessRunDetail.RecordID.
59573
+ */
59574
+ get RecordID(): string;
59575
+ set RecordID(value: string);
59576
+ /**
59577
+ * * Field Name: FeatureName
59578
+ * * Display Name: Feature Name
59579
+ * * SQL Data Type: nvarchar(255)
59580
+ * * Description: Name of the feature, matching DataFeatureOutput.Name.
59581
+ */
59582
+ get FeatureName(): string;
59583
+ set FeatureName(value: string);
59584
+ /**
59585
+ * * Field Name: ValueText
59586
+ * * Display Name: Value (Text)
59587
+ * * SQL Data Type: nvarchar(MAX)
59588
+ * * Description: Computed value as text, for text and categorical features.
59589
+ */
59590
+ get ValueText(): string | null;
59591
+ set ValueText(value: string | null);
59592
+ /**
59593
+ * * Field Name: ValueNumeric
59594
+ * * Display Name: Value (Numeric)
59595
+ * * SQL Data Type: float(53)
59596
+ * * Description: Computed value as floating-point numeric, for numeric and score features.
59597
+ */
59598
+ get ValueNumeric(): number | null;
59599
+ set ValueNumeric(value: number | null);
59600
+ /**
59601
+ * * Field Name: ValueDate
59602
+ * * Display Name: Value (Date)
59603
+ * * SQL Data Type: datetimeoffset
59604
+ * * Description: Computed value as datetimeoffset, for date and timestamp features.
59605
+ */
59606
+ get ValueDate(): Date | null;
59607
+ set ValueDate(value: Date | null);
59608
+ /**
59609
+ * * Field Name: ValueBoolean
59610
+ * * Display Name: Value (Boolean)
59611
+ * * SQL Data Type: bit
59612
+ * * Description: Computed value as boolean bit flag.
59613
+ */
59614
+ get ValueBoolean(): boolean | null;
59615
+ set ValueBoolean(value: boolean | null);
59616
+ /**
59617
+ * * Field Name: ValueJSON
59618
+ * * Display Name: Value (JSON)
59619
+ * * SQL Data Type: nvarchar(MAX)
59620
+ * * Description: Computed value as raw JSON string, for array or complex object features.
59621
+ */
59622
+ get ValueJSON(): string | null;
59623
+ set ValueJSON(value: string | null);
59624
+ /**
59625
+ * * Field Name: Reasoning
59626
+ * * Display Name: Reasoning
59627
+ * * SQL Data Type: nvarchar(MAX)
59628
+ * * Description: Optional model reasoning or rationale captured from the prompt execution.
59629
+ */
59630
+ get Reasoning(): string | null;
59631
+ set Reasoning(value: string | null);
59632
+ /**
59633
+ * * Field Name: Confidence
59634
+ * * Display Name: Confidence
59635
+ * * SQL Data Type: float(53)
59636
+ * * Description: Optional confidence score associated with this computed value.
59637
+ */
59638
+ get Confidence(): number | null;
59639
+ set Confidence(value: number | null);
59640
+ /**
59641
+ * * Field Name: PromptID
59642
+ * * Display Name: Prompt
59643
+ * * SQL Data Type: uniqueidentifier
59644
+ * * Related Entity/Foreign Key: MJ: AI Prompts (vwAIPrompts.ID)
59645
+ * * Description: Reference to the AI Prompt used to compute this feature value.
59646
+ */
59647
+ get PromptID(): string | null;
59648
+ set PromptID(value: string | null);
59649
+ /**
59650
+ * * Field Name: PromptVersionHash
59651
+ * * Display Name: Prompt Version Hash
59652
+ * * SQL Data Type: nvarchar(64)
59653
+ * * Description: SHA-256 content hash of the rendered prompt template and instructions at execution time.
59654
+ */
59655
+ get PromptVersionHash(): string | null;
59656
+ set PromptVersionHash(value: string | null);
59657
+ /**
59658
+ * * Field Name: ConstraintHash
59659
+ * * Display Name: Constraint Hash
59660
+ * * SQL Data Type: nvarchar(64)
59661
+ * * Description: SHA-256 hash of the value constraint definitions in effect when this feature was computed.
59662
+ */
59663
+ get ConstraintHash(): string | null;
59664
+ set ConstraintHash(value: string | null);
59665
+ /**
59666
+ * * Field Name: ProcessRunID
59667
+ * * Display Name: Process Run
59668
+ * * SQL Data Type: uniqueidentifier
59669
+ * * Related Entity/Foreign Key: MJ: Process Runs (vwProcessRuns.ID)
59670
+ * * Description: Reference to the Process Run during which this feature was computed.
59671
+ */
59672
+ get ProcessRunID(): string | null;
59673
+ set ProcessRunID(value: string | null);
59674
+ /**
59675
+ * * Field Name: ProcessRunDetailID
59676
+ * * Display Name: Process Run Detail
59677
+ * * SQL Data Type: uniqueidentifier
59678
+ * * Related Entity/Foreign Key: MJ: Process Run Details (vwProcessRunDetails.ID)
59679
+ * * Description: Reference to the specific Process Run Detail row for this record execution.
59680
+ */
59681
+ get ProcessRunDetailID(): string | null;
59682
+ set ProcessRunDetailID(value: string | null);
59683
+ /**
59684
+ * * Field Name: AIPromptRunID
59685
+ * * Display Name: AI Prompt Run
59686
+ * * SQL Data Type: uniqueidentifier
59687
+ * * Description: Soft reference to the AI Prompt Run that computed this value.
59688
+ */
59689
+ get AIPromptRunID(): string | null;
59690
+ set AIPromptRunID(value: string | null);
59691
+ /**
59692
+ * * Field Name: FeatureValueCacheID
59693
+ * * Display Name: Feature Value Cache
59694
+ * * SQL Data Type: uniqueidentifier
59695
+ * * Related Entity/Foreign Key: MJ: Feature Value Caches (vwFeatureValueCaches.ID)
59696
+ * * Description: Optional reference to the FeatureValueCache entry if this value was served from cache.
59697
+ */
59698
+ get FeatureValueCacheID(): string | null;
59699
+ set FeatureValueCacheID(value: string | null);
59700
+ /**
59701
+ * * Field Name: ComputedAt
59702
+ * * Display Name: Computed At
59703
+ * * SQL Data Type: datetimeoffset
59704
+ * * Default Value: sysdatetimeoffset()
59705
+ * * Description: Timestamp when this feature value was computed.
59706
+ */
59707
+ get ComputedAt(): Date;
59708
+ set ComputedAt(value: Date);
59709
+ /**
59710
+ * * Field Name: __mj_CreatedAt
59711
+ * * Display Name: Created At
59712
+ * * SQL Data Type: datetimeoffset
59713
+ * * Default Value: getutcdate()
59714
+ * * Description: Timestamp when this record was created.
59715
+ */
59716
+ get __mj_CreatedAt(): Date;
59717
+ /**
59718
+ * * Field Name: __mj_UpdatedAt
59719
+ * * Display Name: Updated At
59720
+ * * SQL Data Type: datetimeoffset
59721
+ * * Default Value: getutcdate()
59722
+ * * Description: Timestamp when this record was last updated.
59723
+ */
59724
+ get __mj_UpdatedAt(): Date;
59725
+ /**
59726
+ * * Field Name: RecordProcess
59727
+ * * Display Name: Record Process
59728
+ * * SQL Data Type: nvarchar(255)
59729
+ */
59730
+ get RecordProcess(): string;
59731
+ /**
59732
+ * * Field Name: Entity
59733
+ * * Display Name: Entity
59734
+ * * SQL Data Type: nvarchar(255)
59735
+ */
59736
+ get Entity(): string;
59737
+ /**
59738
+ * * Field Name: Prompt
59739
+ * * Display Name: Prompt
59740
+ * * SQL Data Type: nvarchar(255)
59741
+ */
59742
+ get Prompt(): string | null;
59743
+ /**
59744
+ * * Field Name: ProcessRunDetail
59745
+ * * Display Name: Process Run Detail
59746
+ * * SQL Data Type: nvarchar(450)
59747
+ */
59748
+ get ProcessRunDetail(): string | null;
59749
+ /**
59750
+ * * Field Name: FeatureValueCache
59751
+ * * Display Name: Feature Value Cache
59752
+ * * SQL Data Type: nvarchar(500)
59753
+ */
59754
+ get FeatureValueCache(): string | null;
59755
+ }
58502
59756
  /**
58503
59757
  * MJ: File Categories - strongly typed entity sub-class
58504
59758
  * * Schema: __mj
@@ -66981,6 +68235,15 @@ export declare class MJProjectEntity extends BaseEntity<MJProjectEntityType> {
66981
68235
  */
66982
68236
  get __mj_UpdatedAt(): Date;
66983
68237
  /**
68238
+ * * Field Name: OwnerUserID
68239
+ * * Display Name: Owner User ID
68240
+ * * SQL Data Type: uniqueidentifier
68241
+ * * Related Entity/Foreign Key: MJ: Users (vwUsers.ID)
68242
+ * * Description: The user who owns this folder, or NULL when the folder is shared with the whole environment. NULL (the value every pre-existing folder carries) means SHARED: visible to anyone who can read projects in the environment, which was the only possible behaviour before this column existed. A set value means PERSONAL: the folder belongs to that user and consumers filter it to them, so it stays out of other people's sidebars. Personal is opt-in at create time; nothing is migrated.
68243
+ */
68244
+ get OwnerUserID(): string | null;
68245
+ set OwnerUserID(value: string | null);
68246
+ /**
66984
68247
  * * Field Name: Environment
66985
68248
  * * Display Name: Environment
66986
68249
  * * SQL Data Type: nvarchar(255)
@@ -66993,6 +68256,12 @@ export declare class MJProjectEntity extends BaseEntity<MJProjectEntityType> {
66993
68256
  */
66994
68257
  get Parent(): string | null;
66995
68258
  /**
68259
+ * * Field Name: OwnerUser
68260
+ * * Display Name: Owner User
68261
+ * * SQL Data Type: nvarchar(100)
68262
+ */
68263
+ get OwnerUser(): string | null;
68264
+ /**
66996
68265
  * * Field Name: RootParentID
66997
68266
  * * Display Name: Root Parent ID
66998
68267
  * * SQL Data Type: uniqueidentifier
@@ -67154,6 +68423,61 @@ export declare class MJPublicLinkEntity extends BaseEntity<MJPublicLinkEntityTyp
67154
68423
  */
67155
68424
  get User(): string;
67156
68425
  }
68426
+ /**
68427
+ * Optional per-query configuration bag.
68428
+ *
68429
+ * Stored as JSON in `MJ: Queries.Configuration`. CodeGen emits a typed
68430
+ * `ConfigurationObject` accessor on `MJQueryEntity` that returns
68431
+ * `MJQueryEntity_IQueryConfiguration | null`.
68432
+ *
68433
+ * Expand by adding a property here — no schema migration. Anything the engine
68434
+ * filters, sorts, or joins on stays a column on `Query`. Semantic layer options,
68435
+ * execution logging policies, and AI agent bounds belong in this bag.
68436
+ */
68437
+ export interface MJQueryEntity_IQueryConfiguration {
68438
+ /**
68439
+ * Relative ranking / ground-truth priority for semantic query selection (1-100).
68440
+ * High values (e.g. 90-100) mark authoritative, enterprise-certified ground truth queries
68441
+ * that should be preferred when multiple similar queries match an agent's request.
68442
+ * Default: 50.
68443
+ */
68444
+ Priority?: number;
68445
+ /**
68446
+ * Controls execution logging for this query.
68447
+ * When true (default), executions are logged to `MJ: Query Execution Logs`.
68448
+ * Set to false to opt out of execution logging (useful for high-frequency health checks,
68449
+ * internal pollers, or sensitive data queries).
68450
+ * Default: true.
68451
+ */
68452
+ LogExecution?: boolean;
68453
+ /**
68454
+ * Explicit flag indicating this query is an enterprise ground-truth / canonical query
68455
+ * for its domain or question type. Agents can filter or prioritize canonical queries.
68456
+ * Default: false.
68457
+ */
68458
+ IsCanonical?: boolean;
68459
+ /**
68460
+ * Alternative questions, natural language phrasings, and query aliases.
68461
+ * Included in composite embeddings and semantic search indexing to boost vector recall
68462
+ * across varied phrasing without diluting the primary description.
68463
+ */
68464
+ AlternativeQuestions?: string[];
68465
+ /**
68466
+ * Usage guidance for AI agents and callers. Provides prescriptive context on when
68467
+ * this query should be chosen and how its results should be interpreted.
68468
+ */
68469
+ UsageGuidance?: string;
68470
+ /**
68471
+ * Explicit negative bounding / anti-patterns for AI agents.
68472
+ * E.g. "Do NOT use for unbilled orders; use 'Unbilled Orders by Region' instead."
68473
+ */
68474
+ WhenNotToUse?: string;
68475
+ /**
68476
+ * Operational domain or persona scopes where this query applies
68477
+ * (e.g. ['Sales', 'Finance', 'Executive']).
68478
+ */
68479
+ DomainScope?: string[];
68480
+ }
67157
68481
  /**
67158
68482
  * MJ: Queries - strongly typed entity sub-class
67159
68483
  * * Schema: __mj
@@ -67408,6 +68732,23 @@ export declare class MJQueryEntity extends BaseEntity<MJQueryEntityType> {
67408
68732
  get IsMaterialized(): boolean;
67409
68733
  set IsMaterialized(value: boolean);
67410
68734
  /**
68735
+ * * Field Name: Configuration
68736
+ * * Display Name: Configuration
68737
+ * * SQL Data Type: nvarchar(MAX)
68738
+ * * JSON Type: MJQueryEntity_IQueryConfiguration
68739
+ * * Description: Optional JSON configuration bag defining query-level policies and semantic capabilities (shape = IQueryConfiguration). Includes Priority (1-100) for ground-truth ranking in the semantic layer, LogExecution to control query execution logging, AlternativeQuestions for multi-phrasing vector recall, UsageGuidance and WhenNotToUse bounds for AI agents, and DomainScope.
68740
+ */
68741
+ get Configuration(): string | null;
68742
+ set Configuration(value: string | null);
68743
+ private _ConfigurationObject_cached;
68744
+ private _ConfigurationObject_lastRaw;
68745
+ /**
68746
+ * Typed accessor for Configuration — returns parsed JSON as MJQueryEntity_IQueryConfiguration.
68747
+ * Uses lazy parsing with cache invalidation when the underlying raw value changes.
68748
+ */
68749
+ get ConfigurationObject(): MJQueryEntity_IQueryConfiguration | null;
68750
+ set ConfigurationObject(value: MJQueryEntity_IQueryConfiguration | null);
68751
+ /**
67411
68752
  * * Field Name: Category
67412
68753
  * * Display Name: Category Name
67413
68754
  * * SQL Data Type: nvarchar(50)
@@ -78902,6 +80243,182 @@ export declare class MJTestTypeEntity extends BaseEntity<MJTestTypeEntityType> {
78902
80243
  get VariablesSchema(): string | null;
78903
80244
  set VariablesSchema(value: string | null);
78904
80245
  }
80246
+ /**
80247
+ * Shape of the `Configuration` column on `MJ: Tests`.
80248
+ *
80249
+ * The column is shared by every test type, and each driver parses its own shape
80250
+ * out of it — so the named properties here are the ones the *framework*
80251
+ * understands and the index signature carries the rest through untouched. Adding
80252
+ * a framework-level option is an edit to this interface plus `mj sync push`,
80253
+ * never a migration.
80254
+ *
80255
+ * @see plans/regression-testing/dom-selection-and-replay-design.md
80256
+ */
80257
+ export interface MJTestEntity_ITestConfiguration {
80258
+ /**
80259
+ * The recorded, replayable trajectory for this test — written by a passing
80260
+ * agent-driven run, replayed by later runs with no model calls. Absent until
80261
+ * the first run records one. Held structurally identical to `ComputerUseTrace`
80262
+ * by compile-time assertions in `@memberjunction/computer-use-engine`.
80263
+ */
80264
+ ReplayScript?: MJTestEntity_IReplayScript;
80265
+ /**
80266
+ * A newly recorded script awaiting review, written when a run re-derives a
80267
+ * test that already had a {@link ReplayScript}. Replay always uses the
80268
+ * promoted script, never this one, so a UI change never takes effect until
80269
+ * someone has seen the diff and promoted it (`mj test scripts`).
80270
+ *
80271
+ * A test's *first* script skips this and lands in {@link ReplayScript}
80272
+ * directly — there is no baseline to diff it against, and the run that
80273
+ * produced it already passed the judge and every gating oracle.
80274
+ */
80275
+ PendingReplayScript?: MJTestEntity_IReplayScript;
80276
+ /**
80277
+ * Whether a failed replay may fall back to the agent and re-derive the goal.
80278
+ * Defaults to **true**. Set `false` to pin a test to deterministic execution,
80279
+ * wherever a silent re-derivation could paper over the regression the test
80280
+ * exists to catch.
80281
+ *
80282
+ * A green fallback records to {@link PendingReplayScript}, not
80283
+ * {@link ReplayScript} — replacing a promoted script is always a reviewed act.
80284
+ * This governs the whole goal; to stop a single STEP being repaired during
80285
+ * replay, use the driver's `replayHeal`.
80286
+ */
80287
+ AllowLLMFallback?: boolean;
80288
+ /** Driver-specific configuration, passed through untouched. */
80289
+ [key: string]: unknown;
80290
+ }
80291
+ /**
80292
+ * A recorded, replayable trajectory for one test. An exact `AppBuildHash` match
80293
+ * replays with no healing expected; any mismatch replays with healing; a changed
80294
+ * `GoalHash` falls back to the agent, the script no longer describing what the
80295
+ * test asks for.
80296
+ */
80297
+ export interface MJTestEntity_IReplayScript {
80298
+ /** Stable per-test identifier the script is keyed by. */
80299
+ TestId: string;
80300
+ /** Opaque build identity at record time. Compared, never parsed; empty when unknown. */
80301
+ AppBuildHash: string;
80302
+ /** Opaque app/package version at record time. Compared, never parsed. */
80303
+ AppVersion: string;
80304
+ /** Hash of the frozen goal text — a goal edit invalidates the script. */
80305
+ GoalHash: string;
80306
+ /** ISO-8601 timestamp when this script was recorded. */
80307
+ RecordedAt: string;
80308
+ /** Viewport at record time; replay must match it for coordinate-era guards. */
80309
+ Viewport: MJTestEntity_IReplayScriptViewport;
80310
+ /**
80311
+ * Names of the variables the test declares. Values are never stored: recording
80312
+ * leaves `%name%` tokens in step text and URLs, and replay substitutes fresh
80313
+ * values in.
80314
+ */
80315
+ Variables: string[];
80316
+ /** The resolved, ordered replay steps. */
80317
+ Steps: MJTestEntity_IReplayScriptStep[];
80318
+ /** Final goal-level deterministic assertions. */
80319
+ GoalPostconditions: MJTestEntity_IReplayScriptGoalPostcondition[];
80320
+ }
80321
+ /** Viewport at record time. */
80322
+ export interface MJTestEntity_IReplayScriptViewport {
80323
+ Width: number;
80324
+ Height: number;
80325
+ }
80326
+ /** One recorded, replayable step. */
80327
+ export interface MJTestEntity_IReplayScriptStep {
80328
+ /** Human-readable intent, carried from the agent's own reasoning. */
80329
+ Instruction: string;
80330
+ /** Normalized URL at the start of this step. */
80331
+ UrlBefore: string;
80332
+ Action: MJTestEntity_IReplayScriptAction;
80333
+ Precondition: MJTestEntity_IReplayScriptPrecondition;
80334
+ Postcondition?: MJTestEntity_IReplayScriptPostcondition;
80335
+ }
80336
+ /** The deterministic subset of browser actions a step can record — elements, never pixels. */
80337
+ export type MJTestEntity_IReplayScriptActionMethod = 'click' | 'type' | 'navigate' | 'keypress' | 'scroll' | 'wait' | 'goBack' | 'goForward' | 'refresh';
80338
+ /** Only the fields relevant to {@link MJTestEntity_IReplayScriptAction.Method} are populated. */
80339
+ export interface MJTestEntity_IReplayScriptAction {
80340
+ Method: MJTestEntity_IReplayScriptActionMethod;
80341
+ /** Target for click / type / scroll actions. */
80342
+ Target?: MJTestEntity_IReplayScriptTarget;
80343
+ /** Text to type, possibly with `%placeholder%` variable tokens. */
80344
+ Text?: string;
80345
+ /** Key or chord to press. */
80346
+ Key?: string;
80347
+ /** Destination, normalized and variable-tokenized. */
80348
+ Url?: string;
80349
+ /** Press Enter after typing. */
80350
+ PressEnter?: boolean;
80351
+ /** 1 = single click, 2 = double. */
80352
+ ClickCount?: number;
80353
+ Button?: 'left' | 'right' | 'middle';
80354
+ /** Wait duration in ms. */
80355
+ DurationMs?: number;
80356
+ }
80357
+ /**
80358
+ * A multi-signal locator. `Selector` is primary; `Role` + `Name` are the heal
80359
+ * fallback, re-resolved from a fresh element list when the selector stops
80360
+ * matching; `Scope` disambiguates same-named twins by the region they live in;
80361
+ * `BoundingBox` is weakest, kept only for pre-grounding recordings.
80362
+ */
80363
+ export interface MJTestEntity_IReplayScriptTarget {
80364
+ Role?: string;
80365
+ Name?: string;
80366
+ Selector?: string;
80367
+ /**
80368
+ * Nearest labeled ancestor region as `role:name` (e.g.
80369
+ * `group:All applications`). Role + name are not always a unique identity —
80370
+ * an app launcher lists each app under both a usage-ordered "Recent" grid
80371
+ * and an alphabetical "All" grid — and the region is what tells the twins
80372
+ * apart. Absent on recordings made before regions were captured.
80373
+ */
80374
+ Scope?: string;
80375
+ BoundingBox?: MJTestEntity_IReplayScriptBoundingBox;
80376
+ }
80377
+ /** Rendered position of a target at record time. */
80378
+ export interface MJTestEntity_IReplayScriptBoundingBox {
80379
+ XMin: number;
80380
+ YMin: number;
80381
+ XMax: number;
80382
+ YMax: number;
80383
+ }
80384
+ /**
80385
+ * Guard evaluated BEFORE a step. Fail-fast by contract: a target that never becomes
80386
+ * attached and visible fails the step — replay never proceeds anyway.
80387
+ */
80388
+ export interface MJTestEntity_IReplayScriptPrecondition {
80389
+ /** Wait for the action's target to be attached and visible before acting. */
80390
+ WaitForTarget: boolean;
80391
+ /** Expected normalized URL pattern at the start of this step. */
80392
+ UrlPattern?: string;
80393
+ /** Require the app's readiness beacon before acting. */
80394
+ ReadyBeacon: boolean;
80395
+ }
80396
+ /**
80397
+ * Guard evaluated AFTER a step, confirming it advanced the page as the recording
80398
+ * did. Failing one marks the step diverged and starts the heal ladder.
80399
+ */
80400
+ export interface MJTestEntity_IReplayScriptPostcondition {
80401
+ /** Expected normalized URL pattern after the step's action ran. */
80402
+ UrlPattern?: string;
80403
+ /** An element expected to be visible after the step. */
80404
+ ExpectVisible?: MJTestEntity_IReplayScriptTarget;
80405
+ }
80406
+ /**
80407
+ * A goal-level assertion distilled from a passing run. Replay scores by executing
80408
+ * these, so the model-based judge runs only on the agent tier.
80409
+ */
80410
+ export interface MJTestEntity_IReplayScriptGoalPostcondition {
80411
+ /**
80412
+ * - `'url'` — the final URL matches `UrlPattern`.
80413
+ * - `'visible'` — `Target` is present in the end state.
80414
+ * - `'absent'` — `Target` is not present (no error toast, say).
80415
+ */
80416
+ Kind: 'url' | 'visible' | 'absent';
80417
+ UrlPattern?: string;
80418
+ Target?: MJTestEntity_IReplayScriptTarget;
80419
+ /** Provenance — the validation criterion this was distilled from. */
80420
+ Description?: string;
80421
+ }
78905
80422
  /**
78906
80423
  * MJ: Tests - strongly typed entity sub-class
78907
80424
  * * Schema: __mj
@@ -79008,10 +80525,19 @@ export declare class MJTestEntity extends BaseEntity<MJTestEntityType> {
79008
80525
  * * Field Name: Configuration
79009
80526
  * * Display Name: Configuration
79010
80527
  * * SQL Data Type: nvarchar(MAX)
80528
+ * * JSON Type: MJTestEntity_ITestConfiguration
79011
80529
  * * Description: JSON object for test-specific configuration (e.g., oracles to use, rubrics, retry policies, timeout settings)
79012
80530
  */
79013
80531
  get Configuration(): string | null;
79014
80532
  set Configuration(value: string | null);
80533
+ private _ConfigurationObject_cached;
80534
+ private _ConfigurationObject_lastRaw;
80535
+ /**
80536
+ * Typed accessor for Configuration — returns parsed JSON as MJTestEntity_ITestConfiguration.
80537
+ * Uses lazy parsing with cache invalidation when the underlying raw value changes.
80538
+ */
80539
+ get ConfigurationObject(): MJTestEntity_ITestConfiguration | null;
80540
+ set ConfigurationObject(value: MJTestEntity_ITestConfiguration | null);
79015
80541
  /**
79016
80542
  * * Field Name: Tags
79017
80543
  * * Display Name: Tags
@@ -82922,6 +84448,187 @@ export declare class MJViewTypeEntity extends BaseEntity<MJViewTypeEntityType> {
82922
84448
  */
82923
84449
  get __mj_UpdatedAt(): Date;
82924
84450
  }
84451
+ /**
84452
+ * MJ: Web Search Providers - strongly typed entity sub-class
84453
+ * * Schema: __mj
84454
+ * * Base Table: WebSearchProvider
84455
+ * * Base View: vwWebSearchProviders
84456
+ * * @description Registry of external web search vendors available to @memberjunction/web-search-engine. Each row configures one driver: whether it is active, its position in the failover order, and where its credential lives. Provider capabilities (answer synthesis, domain filtering, freshness) are declared by the driver class, not stored here.
84457
+ * * Primary Key: ID
84458
+ * @extends {BaseEntity}
84459
+ * @class
84460
+ * @public
84461
+ */
84462
+ export declare class MJWebSearchProviderEntity extends BaseEntity<MJWebSearchProviderEntityType> {
84463
+ /**
84464
+ * Loads the MJ: Web Search Providers record from the database
84465
+ * @param ID: string - primary key value to load the MJ: Web Search Providers record.
84466
+ * @param EntityRelationshipsToLoad - (optional) the relationships to load
84467
+ * @returns {Promise<boolean>} - true if successful, false otherwise
84468
+ * @public
84469
+ * @async
84470
+ * @memberof MJWebSearchProviderEntity
84471
+ * @method
84472
+ * @override
84473
+ */
84474
+ Load(ID: string, EntityRelationshipsToLoad?: string[]): Promise<boolean>;
84475
+ /**
84476
+ * Validate() method override for MJ: Web Search Providers entity. This is an auto-generated method that invokes the generated validators for this entity for the following fields:
84477
+ * * MaxResultsOverride: The maximum results override must be greater than 0 if it is specified.
84478
+ * * Priority: The priority value must be a non-negative number (0 or greater) to ensure correct ordering and scheduling.
84479
+ * @public
84480
+ * @method
84481
+ * @override
84482
+ */
84483
+ Validate(): ValidationResult;
84484
+ /**
84485
+ * The maximum results override must be greater than 0 if it is specified.
84486
+ * @param result - the ValidationResult object to add any errors or warnings to
84487
+ * @public
84488
+ * @method
84489
+ */
84490
+ ValidateMaxResultsOverrideGreaterThanZero(result: ValidationResult): void;
84491
+ /**
84492
+ * The priority value must be a non-negative number (0 or greater) to ensure correct ordering and scheduling.
84493
+ * @param result - the ValidationResult object to add any errors or warnings to
84494
+ * @public
84495
+ * @method
84496
+ */
84497
+ ValidatePriorityMinVal(result: ValidationResult): void;
84498
+ /**
84499
+ * * Field Name: ID
84500
+ * * Display Name: ID
84501
+ * * SQL Data Type: uniqueidentifier
84502
+ * * Default Value: newsequentialid()
84503
+ */
84504
+ get ID(): string;
84505
+ set ID(value: string);
84506
+ /**
84507
+ * * Field Name: Name
84508
+ * * Display Name: Name
84509
+ * * SQL Data Type: nvarchar(200)
84510
+ * * Description: Administrator-facing name for this provider, e.g. "Brave" or "Tavily". Unique, and usable as the Provider value when a caller pins a search to one vendor.
84511
+ */
84512
+ get Name(): string;
84513
+ set Name(value: string);
84514
+ /**
84515
+ * * Field Name: Description
84516
+ * * Display Name: Description
84517
+ * * SQL Data Type: nvarchar(MAX)
84518
+ * * Description: What this provider searches, what it costs, and when it is the right choice.
84519
+ */
84520
+ get Description(): string | null;
84521
+ set Description(value: string | null);
84522
+ /**
84523
+ * * Field Name: DriverClass
84524
+ * * Display Name: Driver Class
84525
+ * * SQL Data Type: nvarchar(500)
84526
+ * * Description: ClassFactory key used with @RegisterClass(BaseWebSearchProvider, DriverClass) to instantiate the driver at runtime, e.g. "BraveWebSearchProvider". A value with no matching registration leaves the provider unavailable and is logged at engine startup.
84527
+ */
84528
+ get DriverClass(): string;
84529
+ set DriverClass(value: string);
84530
+ /**
84531
+ * * Field Name: Status
84532
+ * * Display Name: Status
84533
+ * * SQL Data Type: nvarchar(20)
84534
+ * * Default Value: Active
84535
+ * * Value List Type: List
84536
+ * * Possible Values
84537
+ * * Active
84538
+ * * Pending
84539
+ * * Terminated
84540
+ * * Description: Provider lifecycle status: Pending (configured but not yet in use), Active (participates in searches), Terminated (disabled). Only Active providers are loaded. Matches the vocabulary used by SearchProvider.
84541
+ */
84542
+ get Status(): 'Active' | 'Pending' | 'Terminated';
84543
+ set Status(value: 'Active' | 'Pending' | 'Terminated');
84544
+ /**
84545
+ * * Field Name: Priority
84546
+ * * Display Name: Priority
84547
+ * * SQL Data Type: int
84548
+ * * Default Value: 0
84549
+ * * Description: Failover order: LOWER values are tried FIRST. The engine serves a search from the first available provider in this order, moving on only when one fails transiently. Must be >= 0.
84550
+ */
84551
+ get Priority(): number;
84552
+ set Priority(value: number);
84553
+ /**
84554
+ * * Field Name: CredentialID
84555
+ * * Display Name: Credential ID
84556
+ * * SQL Data Type: uniqueidentifier
84557
+ * * Related Entity/Foreign Key: MJ: Credentials (vwCredentials.ID)
84558
+ * * Description: Optional FK to the Credential record holding this provider's API key. When NULL the driver falls back to its documented environment variable, so a host that has not yet migrated its secrets into the Credential store keeps working.
84559
+ */
84560
+ get CredentialID(): string | null;
84561
+ set CredentialID(value: string | null);
84562
+ /**
84563
+ * * Field Name: ProviderConfig
84564
+ * * Display Name: Provider Config
84565
+ * * SQL Data Type: nvarchar(MAX)
84566
+ * * Description: Optional JSON blob of non-secret, driver-specific settings (endpoint overrides, tier flags, answer model). Schema is defined by each driver; invalid JSON is logged and ignored rather than disabling the provider.
84567
+ */
84568
+ get ProviderConfig(): string | null;
84569
+ set ProviderConfig(value: string | null);
84570
+ /**
84571
+ * * Field Name: MaxResultsOverride
84572
+ * * Display Name: Max Results Override
84573
+ * * SQL Data Type: int
84574
+ * * Description: Optional per-provider cap on results per request, for pay-per-query vendors. The effective cap is the smallest of the caller's request, this value, and the vendor's own hard limit. NULL means the driver's own limit applies.
84575
+ */
84576
+ get MaxResultsOverride(): number | null;
84577
+ set MaxResultsOverride(value: number | null);
84578
+ /**
84579
+ * * Field Name: AllowResultCaching
84580
+ * * Display Name: Allow Result Caching
84581
+ * * SQL Data Type: bit
84582
+ * * Default Value: 0
84583
+ * * Description: Whether this vendor's terms permit storing returned results. Defaults to 0 (deny), because caching rights differ sharply between vendors and violating them is silent: some sell storage rights as a plan tier, others forbid persistent caching outright. Nothing in the engine caches today; this column exists so the first caching layer reads a per-provider gate instead of inventing one.
84584
+ */
84585
+ get AllowResultCaching(): boolean;
84586
+ set AllowResultCaching(value: boolean);
84587
+ /**
84588
+ * * Field Name: DisplayName
84589
+ * * Display Name: Display Name
84590
+ * * SQL Data Type: nvarchar(200)
84591
+ * * Description: UI display name shown in admin surfaces and result attribution. When NULL, falls back to the Name column.
84592
+ */
84593
+ get DisplayName(): string | null;
84594
+ set DisplayName(value: string | null);
84595
+ /**
84596
+ * * Field Name: Icon
84597
+ * * Display Name: Icon
84598
+ * * SQL Data Type: nvarchar(200)
84599
+ * * Description: CSS icon class for UI display, e.g. "fa-brands fa-brave". Supports any CSS-based icon library. When NULL a default icon is used.
84600
+ */
84601
+ get Icon(): string | null;
84602
+ set Icon(value: string | null);
84603
+ /**
84604
+ * * Field Name: Comments
84605
+ * * Display Name: Comments
84606
+ * * SQL Data Type: nvarchar(MAX)
84607
+ * * Description: Free-form administrator notes, e.g. contract terms, billing owner, or why this provider sits at its priority.
84608
+ */
84609
+ get Comments(): string | null;
84610
+ set Comments(value: string | null);
84611
+ /**
84612
+ * * Field Name: __mj_CreatedAt
84613
+ * * Display Name: Created At
84614
+ * * SQL Data Type: datetimeoffset
84615
+ * * Default Value: getutcdate()
84616
+ */
84617
+ get __mj_CreatedAt(): Date;
84618
+ /**
84619
+ * * Field Name: __mj_UpdatedAt
84620
+ * * Display Name: Updated At
84621
+ * * SQL Data Type: datetimeoffset
84622
+ * * Default Value: getutcdate()
84623
+ */
84624
+ get __mj_UpdatedAt(): Date;
84625
+ /**
84626
+ * * Field Name: Credential
84627
+ * * Display Name: Credential
84628
+ * * SQL Data Type: nvarchar(200)
84629
+ */
84630
+ get Credential(): string | null;
84631
+ }
82925
84632
  /**
82926
84633
  * MJ: Workspace Items - strongly typed entity sub-class
82927
84634
  * * Schema: __mj