@memberjunction/core-entities 5.28.0 → 5.29.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -6938,6 +6938,398 @@ export const MJApplicationSchema = z.object({
6938
6938
  * * Default Value: 1
6939
6939
  * * Description: When true, Path is automatically generated from Name on save. Set to false to manually control the Path value. Defaults to true for new applications.`),
6940
6940
  });
6941
+ /**
6942
+ * zod schema definition for the entity MJ: Archive Configuration Entities
6943
+ */
6944
+ export const MJArchiveConfigurationEntitySchema = z.object({
6945
+ ID: z.string().describe(`
6946
+ * * Field Name: ID
6947
+ * * Display Name: ID
6948
+ * * SQL Data Type: uniqueidentifier
6949
+ * * Default Value: newsequentialid()`),
6950
+ ArchiveConfigurationID: z.string().describe(`
6951
+ * * Field Name: ArchiveConfigurationID
6952
+ * * Display Name: Archive Configuration
6953
+ * * SQL Data Type: uniqueidentifier
6954
+ * * Related Entity/Foreign Key: MJ: Archive Configurations (vwArchiveConfigurations.ID)
6955
+ * * Description: Foreign key to the parent ArchiveConfiguration.`),
6956
+ EntityID: z.string().describe(`
6957
+ * * Field Name: EntityID
6958
+ * * Display Name: Entity
6959
+ * * SQL Data Type: uniqueidentifier
6960
+ * * Related Entity/Foreign Key: MJ: Entities (vwEntities.ID)
6961
+ * * Description: Foreign key to the Entity being archived.`),
6962
+ Mode: z.union([z.literal('ArchiveOnly'), z.literal('HardDelete'), z.literal('StripFields')]).nullable().describe(`
6963
+ * * Field Name: Mode
6964
+ * * Display Name: Archive Mode
6965
+ * * SQL Data Type: nvarchar(20)
6966
+ * * Value List Type: List
6967
+ * * Possible Values
6968
+ * * ArchiveOnly
6969
+ * * HardDelete
6970
+ * * StripFields
6971
+ * * Description: Archive mode override for this entity. NULL inherits from the parent configuration's DefaultMode.`),
6972
+ RetentionDays: z.number().nullable().describe(`
6973
+ * * Field Name: RetentionDays
6974
+ * * Display Name: Retention Days
6975
+ * * SQL Data Type: int
6976
+ * * Description: Retention period override in days. NULL inherits from the parent configuration's DefaultRetentionDays.`),
6977
+ DateField: z.string().describe(`
6978
+ * * Field Name: DateField
6979
+ * * Display Name: Date Field
6980
+ * * SQL Data Type: nvarchar(100)
6981
+ * * Default Value: __mj_CreatedAt
6982
+ * * Description: The date field on the entity used to determine record age for retention policy evaluation. Defaults to __mj_CreatedAt.`),
6983
+ FilterExpression: z.string().nullable().describe(`
6984
+ * * Field Name: FilterExpression
6985
+ * * Display Name: Filter Expression
6986
+ * * SQL Data Type: nvarchar(MAX)
6987
+ * * Description: Optional SQL WHERE clause fragment to further filter which records are eligible for archiving (e.g., "Status = 'Closed'").`),
6988
+ BatchSize: z.number().nullable().describe(`
6989
+ * * Field Name: BatchSize
6990
+ * * Display Name: Batch Size
6991
+ * * SQL Data Type: int
6992
+ * * Description: Batch size override for this entity. NULL inherits from the parent configuration's DefaultBatchSize.`),
6993
+ Priority: z.number().describe(`
6994
+ * * Field Name: Priority
6995
+ * * Display Name: Priority
6996
+ * * SQL Data Type: int
6997
+ * * Default Value: 100
6998
+ * * Description: Processing priority — lower numbers are archived first. Default is 100.`),
6999
+ FieldConfiguration: z.string().describe(`
7000
+ * * Field Name: FieldConfiguration
7001
+ * * Display Name: Field Configuration
7002
+ * * SQL Data Type: nvarchar(MAX)
7003
+ * * Description: JSON configuration specifying which fields to include/exclude in the archive output. Required for all modes.`),
7004
+ DriverClass: z.string().nullable().describe(`
7005
+ * * Field Name: DriverClass
7006
+ * * Display Name: Driver Class
7007
+ * * SQL Data Type: nvarchar(500)
7008
+ * * Description: Optional fully-qualified class name of a custom archive driver to use for this entity, overriding the default archiver.`),
7009
+ ArchiveRelatedRecordChanges: z.boolean().nullable().describe(`
7010
+ * * Field Name: ArchiveRelatedRecordChanges
7011
+ * * Display Name: Archive Related Record Changes
7012
+ * * SQL Data Type: bit
7013
+ * * Description: Override for archiving related Record Changes. NULL inherits from the parent configuration.`),
7014
+ IsActive: z.boolean().describe(`
7015
+ * * Field Name: IsActive
7016
+ * * Display Name: Is Active
7017
+ * * SQL Data Type: bit
7018
+ * * Default Value: 1
7019
+ * * Description: Whether this entity is active within the archive configuration.`),
7020
+ __mj_CreatedAt: z.date().describe(`
7021
+ * * Field Name: __mj_CreatedAt
7022
+ * * Display Name: Created At
7023
+ * * SQL Data Type: datetimeoffset
7024
+ * * Default Value: getutcdate()`),
7025
+ __mj_UpdatedAt: z.date().describe(`
7026
+ * * Field Name: __mj_UpdatedAt
7027
+ * * Display Name: Updated At
7028
+ * * SQL Data Type: datetimeoffset
7029
+ * * Default Value: getutcdate()`),
7030
+ ArchiveConfiguration: z.string().describe(`
7031
+ * * Field Name: ArchiveConfiguration
7032
+ * * Display Name: Archive Configuration Name
7033
+ * * SQL Data Type: nvarchar(255)`),
7034
+ Entity: z.string().describe(`
7035
+ * * Field Name: Entity
7036
+ * * Display Name: Entity Name
7037
+ * * SQL Data Type: nvarchar(255)`),
7038
+ });
7039
+ /**
7040
+ * zod schema definition for the entity MJ: Archive Configurations
7041
+ */
7042
+ export const MJArchiveConfigurationSchema = z.object({
7043
+ ID: z.string().describe(`
7044
+ * * Field Name: ID
7045
+ * * Display Name: ID
7046
+ * * SQL Data Type: uniqueidentifier
7047
+ * * Default Value: newsequentialid()`),
7048
+ Name: z.string().describe(`
7049
+ * * Field Name: Name
7050
+ * * Display Name: Name
7051
+ * * SQL Data Type: nvarchar(255)
7052
+ * * Description: Human-readable name for this archive configuration.`),
7053
+ Description: z.string().nullable().describe(`
7054
+ * * Field Name: Description
7055
+ * * Display Name: Description
7056
+ * * SQL Data Type: nvarchar(MAX)`),
7057
+ StorageAccountID: z.string().nullable().describe(`
7058
+ * * Field Name: StorageAccountID
7059
+ * * Display Name: Storage Account
7060
+ * * SQL Data Type: uniqueidentifier
7061
+ * * Related Entity/Foreign Key: MJ: File Storage Accounts (vwFileStorageAccounts.ID)
7062
+ * * Description: Foreign key to FileStorageAccount — the blob/file storage target for archived data.`),
7063
+ RootPath: z.string().describe(`
7064
+ * * Field Name: RootPath
7065
+ * * Display Name: Root Path
7066
+ * * SQL Data Type: nvarchar(500)
7067
+ * * Description: Root path within the storage account where archive files are written (e.g., "archives/production/").`),
7068
+ ArchiveFormat: z.union([z.literal('CSV'), z.literal('JSON'), z.literal('Parquet')]).describe(`
7069
+ * * Field Name: ArchiveFormat
7070
+ * * Display Name: Archive Format
7071
+ * * SQL Data Type: nvarchar(20)
7072
+ * * Default Value: JSON
7073
+ * * Value List Type: List
7074
+ * * Possible Values
7075
+ * * CSV
7076
+ * * JSON
7077
+ * * Parquet
7078
+ * * Description: Output format for archived records: JSON, Parquet, or CSV.`),
7079
+ IsActive: z.boolean().describe(`
7080
+ * * Field Name: IsActive
7081
+ * * Display Name: Is Active
7082
+ * * SQL Data Type: bit
7083
+ * * Default Value: 0
7084
+ * * Description: Whether this configuration is active and eligible for scheduled archive runs.`),
7085
+ DefaultRetentionDays: z.number().describe(`
7086
+ * * Field Name: DefaultRetentionDays
7087
+ * * Display Name: Default Retention Days
7088
+ * * SQL Data Type: int
7089
+ * * Default Value: 365
7090
+ * * Description: Default number of days after which records become eligible for archiving. Can be overridden per entity.`),
7091
+ DefaultMode: z.union([z.literal('ArchiveOnly'), z.literal('HardDelete'), z.literal('StripFields')]).describe(`
7092
+ * * Field Name: DefaultMode
7093
+ * * Display Name: Default Mode
7094
+ * * SQL Data Type: nvarchar(20)
7095
+ * * Default Value: StripFields
7096
+ * * Value List Type: List
7097
+ * * Possible Values
7098
+ * * ArchiveOnly
7099
+ * * HardDelete
7100
+ * * StripFields
7101
+ * * Description: Default archive mode: StripFields (null out specified fields), HardDelete (delete from source after archiving), ArchiveOnly (copy to storage without modifying source).`),
7102
+ DefaultBatchSize: z.number().describe(`
7103
+ * * Field Name: DefaultBatchSize
7104
+ * * Display Name: Default Batch Size
7105
+ * * SQL Data Type: int
7106
+ * * Default Value: 100
7107
+ * * Description: Default number of records to process per batch during archive runs.`),
7108
+ ArchiveRelatedRecordChanges: z.boolean().describe(`
7109
+ * * Field Name: ArchiveRelatedRecordChanges
7110
+ * * Display Name: Archive Related Record Changes
7111
+ * * SQL Data Type: bit
7112
+ * * Default Value: 1
7113
+ * * Description: When enabled, related Record Changes entries are also archived alongside the source records.`),
7114
+ Status: z.union([z.literal('Disabled'), z.literal('Error'), z.literal('Idle'), z.literal('Running')]).describe(`
7115
+ * * Field Name: Status
7116
+ * * Display Name: Status
7117
+ * * SQL Data Type: nvarchar(20)
7118
+ * * Default Value: Idle
7119
+ * * Value List Type: List
7120
+ * * Possible Values
7121
+ * * Disabled
7122
+ * * Error
7123
+ * * Idle
7124
+ * * Running
7125
+ * * Description: Current operational status of this configuration: Idle, Running, Error, or Disabled.`),
7126
+ CreatedByUserID: z.string().describe(`
7127
+ * * Field Name: CreatedByUserID
7128
+ * * Display Name: Created By User ID
7129
+ * * SQL Data Type: uniqueidentifier
7130
+ * * Related Entity/Foreign Key: MJ: Users (vwUsers.ID)
7131
+ * * Description: The user who created this archive configuration.`),
7132
+ __mj_CreatedAt: z.date().describe(`
7133
+ * * Field Name: __mj_CreatedAt
7134
+ * * Display Name: Created At
7135
+ * * SQL Data Type: datetimeoffset
7136
+ * * Default Value: getutcdate()`),
7137
+ __mj_UpdatedAt: z.date().describe(`
7138
+ * * Field Name: __mj_UpdatedAt
7139
+ * * Display Name: Updated At
7140
+ * * SQL Data Type: datetimeoffset
7141
+ * * Default Value: getutcdate()`),
7142
+ StorageAccount: z.string().nullable().describe(`
7143
+ * * Field Name: StorageAccount
7144
+ * * Display Name: Storage Account Name
7145
+ * * SQL Data Type: nvarchar(200)`),
7146
+ CreatedByUser: z.string().describe(`
7147
+ * * Field Name: CreatedByUser
7148
+ * * Display Name: Created By User
7149
+ * * SQL Data Type: nvarchar(100)`),
7150
+ });
7151
+ /**
7152
+ * zod schema definition for the entity MJ: Archive Run Details
7153
+ */
7154
+ export const MJArchiveRunDetailSchema = z.object({
7155
+ ID: z.string().describe(`
7156
+ * * Field Name: ID
7157
+ * * Display Name: ID
7158
+ * * SQL Data Type: uniqueidentifier
7159
+ * * Default Value: newsequentialid()`),
7160
+ ArchiveRunID: z.string().describe(`
7161
+ * * Field Name: ArchiveRunID
7162
+ * * Display Name: Archive Run
7163
+ * * SQL Data Type: uniqueidentifier
7164
+ * * Related Entity/Foreign Key: MJ: Archive Runs (vwArchiveRuns.ID)
7165
+ * * Description: Foreign key to the parent ArchiveRun.`),
7166
+ EntityID: z.string().describe(`
7167
+ * * Field Name: EntityID
7168
+ * * Display Name: Entity Record
7169
+ * * SQL Data Type: uniqueidentifier
7170
+ * * Related Entity/Foreign Key: MJ: Entities (vwEntities.ID)
7171
+ * * Description: Foreign key to the Entity this record belongs to.`),
7172
+ RecordID: z.string().describe(`
7173
+ * * Field Name: RecordID
7174
+ * * Display Name: Record ID
7175
+ * * SQL Data Type: nvarchar(750)
7176
+ * * Description: The primary key value of the archived record (string representation to support all key types).`),
7177
+ Status: z.union([z.literal('Failed'), z.literal('Skipped'), z.literal('Success')]).describe(`
7178
+ * * Field Name: Status
7179
+ * * Display Name: Status
7180
+ * * SQL Data Type: nvarchar(50)
7181
+ * * Value List Type: List
7182
+ * * Possible Values
7183
+ * * Failed
7184
+ * * Skipped
7185
+ * * Success
7186
+ * * Description: Outcome for this record: Success, Failed, or Skipped.`),
7187
+ StoragePath: z.string().nullable().describe(`
7188
+ * * Field Name: StoragePath
7189
+ * * Display Name: Storage Path
7190
+ * * SQL Data Type: nvarchar(1000)
7191
+ * * Description: Full path to the archived file in storage (e.g., "archives/production/Users/2026/04/record-id.json").`),
7192
+ BytesArchived: z.number().describe(`
7193
+ * * Field Name: BytesArchived
7194
+ * * Display Name: Bytes Archived
7195
+ * * SQL Data Type: bigint
7196
+ * * Default Value: 0
7197
+ * * Description: Number of bytes written to storage for this record.`),
7198
+ ErrorMessage: z.string().nullable().describe(`
7199
+ * * Field Name: ErrorMessage
7200
+ * * Display Name: Error Message
7201
+ * * SQL Data Type: nvarchar(MAX)
7202
+ * * Description: Error details when Status is Failed.`),
7203
+ ArchivedAt: z.date().nullable().describe(`
7204
+ * * Field Name: ArchivedAt
7205
+ * * Display Name: Archived At
7206
+ * * SQL Data Type: datetimeoffset
7207
+ * * Description: Timestamp when this record was successfully archived.`),
7208
+ VersionStamp: z.date().nullable().describe(`
7209
+ * * Field Name: VersionStamp
7210
+ * * Display Name: Version Stamp
7211
+ * * SQL Data Type: datetimeoffset
7212
+ * * Description: The __mj_UpdatedAt timestamp of the record at the time of archiving, used for conflict detection during restore.`),
7213
+ IsRecordChangeArchive: z.boolean().describe(`
7214
+ * * Field Name: IsRecordChangeArchive
7215
+ * * Display Name: Is Record Change Archive
7216
+ * * SQL Data Type: bit
7217
+ * * Default Value: 0
7218
+ * * Description: When true, this detail row represents an archived Record Change entry rather than a primary entity record.`),
7219
+ __mj_CreatedAt: z.date().describe(`
7220
+ * * Field Name: __mj_CreatedAt
7221
+ * * Display Name: Created At
7222
+ * * SQL Data Type: datetimeoffset
7223
+ * * Default Value: getutcdate()`),
7224
+ __mj_UpdatedAt: z.date().describe(`
7225
+ * * Field Name: __mj_UpdatedAt
7226
+ * * Display Name: Updated At
7227
+ * * SQL Data Type: datetimeoffset
7228
+ * * Default Value: getutcdate()`),
7229
+ Entity: z.string().describe(`
7230
+ * * Field Name: Entity
7231
+ * * Display Name: Entity Type
7232
+ * * SQL Data Type: nvarchar(255)`),
7233
+ });
7234
+ /**
7235
+ * zod schema definition for the entity MJ: Archive Runs
7236
+ */
7237
+ export const MJArchiveRunSchema = z.object({
7238
+ ID: z.string().describe(`
7239
+ * * Field Name: ID
7240
+ * * Display Name: ID
7241
+ * * SQL Data Type: uniqueidentifier
7242
+ * * Default Value: newsequentialid()`),
7243
+ ArchiveConfigurationID: z.string().describe(`
7244
+ * * Field Name: ArchiveConfigurationID
7245
+ * * Display Name: Archive Configuration
7246
+ * * SQL Data Type: uniqueidentifier
7247
+ * * Related Entity/Foreign Key: MJ: Archive Configurations (vwArchiveConfigurations.ID)
7248
+ * * Description: Foreign key to the ArchiveConfiguration that was executed.`),
7249
+ StartedAt: z.date().describe(`
7250
+ * * Field Name: StartedAt
7251
+ * * Display Name: Started At
7252
+ * * SQL Data Type: datetimeoffset
7253
+ * * Default Value: getutcdate()
7254
+ * * Description: Timestamp when the archive run started.`),
7255
+ CompletedAt: z.date().nullable().describe(`
7256
+ * * Field Name: CompletedAt
7257
+ * * Display Name: Completed At
7258
+ * * SQL Data Type: datetimeoffset
7259
+ * * Description: Timestamp when the archive run completed (NULL while still running).`),
7260
+ Status: z.union([z.literal('Cancelled'), z.literal('Complete'), z.literal('Failed'), z.literal('PartialSuccess'), z.literal('Running')]).describe(`
7261
+ * * Field Name: Status
7262
+ * * Display Name: Status
7263
+ * * SQL Data Type: nvarchar(50)
7264
+ * * Default Value: Running
7265
+ * * Value List Type: List
7266
+ * * Possible Values
7267
+ * * Cancelled
7268
+ * * Complete
7269
+ * * Failed
7270
+ * * PartialSuccess
7271
+ * * Running
7272
+ * * Description: Current status: Running, Complete, Failed, Cancelled, or PartialSuccess.`),
7273
+ TotalRecords: z.number().describe(`
7274
+ * * Field Name: TotalRecords
7275
+ * * Display Name: Total Records
7276
+ * * SQL Data Type: int
7277
+ * * Default Value: 0
7278
+ * * Description: Total number of records identified for archiving in this run.`),
7279
+ ArchivedRecords: z.number().describe(`
7280
+ * * Field Name: ArchivedRecords
7281
+ * * Display Name: Archived Records
7282
+ * * SQL Data Type: int
7283
+ * * Default Value: 0
7284
+ * * Description: Number of records successfully archived.`),
7285
+ FailedRecords: z.number().describe(`
7286
+ * * Field Name: FailedRecords
7287
+ * * Display Name: Failed Records
7288
+ * * SQL Data Type: int
7289
+ * * Default Value: 0
7290
+ * * Description: Number of records that failed to archive.`),
7291
+ SkippedRecords: z.number().describe(`
7292
+ * * Field Name: SkippedRecords
7293
+ * * Display Name: Skipped Records
7294
+ * * SQL Data Type: int
7295
+ * * Default Value: 0
7296
+ * * Description: Number of records skipped (e.g., already archived or filtered out).`),
7297
+ TotalBytesArchived: z.number().describe(`
7298
+ * * Field Name: TotalBytesArchived
7299
+ * * Display Name: Total Bytes Archived
7300
+ * * SQL Data Type: bigint
7301
+ * * Default Value: 0
7302
+ * * Description: Total bytes written to archive storage during this run.`),
7303
+ ErrorLog: z.string().nullable().describe(`
7304
+ * * Field Name: ErrorLog
7305
+ * * Display Name: Error Log
7306
+ * * SQL Data Type: nvarchar(MAX)
7307
+ * * Description: Aggregated error log for the run. Contains error details when Status is Failed or PartialSuccess.`),
7308
+ UserID: z.string().describe(`
7309
+ * * Field Name: UserID
7310
+ * * Display Name: Initiated By
7311
+ * * SQL Data Type: uniqueidentifier
7312
+ * * Related Entity/Foreign Key: MJ: Users (vwUsers.ID)
7313
+ * * Description: The user who initiated this archive run.`),
7314
+ __mj_CreatedAt: z.date().describe(`
7315
+ * * Field Name: __mj_CreatedAt
7316
+ * * Display Name: Created At
7317
+ * * SQL Data Type: datetimeoffset
7318
+ * * Default Value: getutcdate()`),
7319
+ __mj_UpdatedAt: z.date().describe(`
7320
+ * * Field Name: __mj_UpdatedAt
7321
+ * * Display Name: Updated At
7322
+ * * SQL Data Type: datetimeoffset
7323
+ * * Default Value: getutcdate()`),
7324
+ ArchiveConfiguration: z.string().describe(`
7325
+ * * Field Name: ArchiveConfiguration
7326
+ * * Display Name: Configuration Name
7327
+ * * SQL Data Type: nvarchar(255)`),
7328
+ User: z.string().describe(`
7329
+ * * Field Name: User
7330
+ * * Display Name: User Name
7331
+ * * SQL Data Type: nvarchar(100)`),
7332
+ });
6941
7333
  /**
6942
7334
  * zod schema definition for the entity MJ: Artifact Permissions
6943
7335
  */
@@ -7057,7 +7449,7 @@ export const MJArtifactTypeSchema = z.object({
7057
7449
  * * Description: Parent artifact type ID for hierarchical artifact type organization. Child types inherit ExtractRules from parent but can override.`),
7058
7450
  ExtractRules: z.string().nullable().describe(`
7059
7451
  * * Field Name: ExtractRules
7060
- * * Display Name: Extract Rules
7452
+ * * Display Name: Extraction Rules
7061
7453
  * * SQL Data Type: nvarchar(MAX)
7062
7454
  * * Description: JSON array of extraction rules defining how to extract attributes from artifact content. Each rule has: name (string), description (string), type (TypeScript type), standardProperty ('name'|'description'|'displayMarkdown'|'displayHtml'|null), extractor (JavaScript code string). Child types inherit parent rules and can override by name.`),
7063
7455
  DriverClass: z.string().nullable().describe(`
@@ -7080,6 +7472,11 @@ export const MJArtifactTypeSchema = z.object({
7080
7472
  * * File
7081
7473
  * * Text
7082
7474
  * * Description: Classifies whether this artifact type stores text content ('Text', the default for all existing types) or a binary file in MJStorage ('File'). Used by AgentRunner and viewer components to route file-based artifacts correctly.`),
7475
+ ToolLibraryClass: z.string().nullable().describe(`
7476
+ * * Field Name: ToolLibraryClass
7477
+ * * Display Name: Tool Library Class
7478
+ * * SQL Data Type: nvarchar(100)
7479
+ * * Description: Class name for the BaseArtifactToolLibrary subclass that provides type-specific artifact exploration tools for agents. Resolved via ClassFactory. When NULL, ArtifactToolManager uses name-based fallback resolution.`),
7083
7480
  Parent: z.string().nullable().describe(`
7084
7481
  * * Field Name: Parent
7085
7482
  * * Display Name: Parent
@@ -15679,7 +16076,7 @@ export const MJIntegrationObjectFieldSchema = z.object({
15679
16076
  * * Description: Foreign key to the IntegrationObject this field belongs to`),
15680
16077
  Name: z.string().describe(`
15681
16078
  * * Field Name: Name
15682
- * * Display Name: Name
16079
+ * * Display Name: Field Name
15683
16080
  * * SQL Data Type: nvarchar(255)
15684
16081
  * * Description: Field name as returned by the external API`),
15685
16082
  DisplayName: z.string().nullable().describe(`
@@ -15754,7 +16151,7 @@ export const MJIntegrationObjectFieldSchema = z.object({
15754
16151
  * * Description: Whether this field is required for create/update operations`),
15755
16152
  RelatedIntegrationObjectID: z.string().nullable().describe(`
15756
16153
  * * Field Name: RelatedIntegrationObjectID
15757
- * * Display Name: Related Integration Object ID
16154
+ * * Display Name: Related Integration Object
15758
16155
  * * SQL Data Type: uniqueidentifier
15759
16156
  * * Related Entity/Foreign Key: MJ: Integration Objects (vwIntegrationObjects.ID)
15760
16157
  * * Description: Foreign key to another IntegrationObject, establishing a relationship. Used for DAG-based dependency ordering and template variable resolution in parent APIPath patterns.`),
@@ -15822,7 +16219,7 @@ export const MJIntegrationObjectSchema = z.object({
15822
16219
  * * Description: Primary key`),
15823
16220
  IntegrationID: z.string().describe(`
15824
16221
  * * Field Name: IntegrationID
15825
- * * Display Name: Integration
16222
+ * * Display Name: Integration ID
15826
16223
  * * SQL Data Type: uniqueidentifier
15827
16224
  * * Related Entity/Foreign Key: MJ: Integrations (vwIntegrations.ID)
15828
16225
  * * Description: Foreign key to the Integration that owns this object`),
@@ -15894,7 +16291,7 @@ export const MJIntegrationObjectSchema = z.object({
15894
16291
  * * Description: Whether data can be pushed back to this object via the API`),
15895
16292
  DefaultQueryParams: z.string().nullable().describe(`
15896
16293
  * * Field Name: DefaultQueryParams
15897
- * * Display Name: Default Query Parameters
16294
+ * * Display Name: Default Query Params
15898
16295
  * * SQL Data Type: nvarchar(MAX)
15899
16296
  * * Description: JSON object of default query parameters to include with every API request for this object`),
15900
16297
  Configuration: z.string().nullable().describe(`
@@ -15954,7 +16351,7 @@ export const MJIntegrationObjectSchema = z.object({
15954
16351
  * * Description: When true, this object was dynamically discovered by IntrospectSchema and is not defined in static connector metadata.`),
15955
16352
  Integration: z.string().describe(`
15956
16353
  * * Field Name: Integration
15957
- * * Display Name: Integration Name
16354
+ * * Display Name: Integration
15958
16355
  * * SQL Data Type: nvarchar(100)`),
15959
16356
  });
15960
16357
  /**
@@ -17146,6 +17543,44 @@ export const MJMCPToolExecutionLogSchema = z.object({
17146
17543
  * * Display Name: User
17147
17544
  * * SQL Data Type: nvarchar(100)`),
17148
17545
  });
17546
+ /**
17547
+ * zod schema definition for the entity MJ: MCP Tool Favorites
17548
+ */
17549
+ export const MJMCPToolFavoriteSchema = z.object({
17550
+ ID: z.string().describe(`
17551
+ * * Field Name: ID
17552
+ * * Display Name: ID
17553
+ * * SQL Data Type: uniqueidentifier
17554
+ * * Default Value: newsequentialid()`),
17555
+ UserID: z.string().describe(`
17556
+ * * Field Name: UserID
17557
+ * * Display Name: User ID
17558
+ * * SQL Data Type: uniqueidentifier
17559
+ * * Related Entity/Foreign Key: MJ: Users (vwUsers.ID)`),
17560
+ MCPServerToolID: z.string().describe(`
17561
+ * * Field Name: MCPServerToolID
17562
+ * * Display Name: MCP Server Tool ID
17563
+ * * SQL Data Type: uniqueidentifier
17564
+ * * Related Entity/Foreign Key: MJ: MCP Server Tools (vwMCPServerTools.ID)`),
17565
+ __mj_CreatedAt: z.date().describe(`
17566
+ * * Field Name: __mj_CreatedAt
17567
+ * * Display Name: Created At
17568
+ * * SQL Data Type: datetimeoffset
17569
+ * * Default Value: getutcdate()`),
17570
+ __mj_UpdatedAt: z.date().describe(`
17571
+ * * Field Name: __mj_UpdatedAt
17572
+ * * Display Name: Updated At
17573
+ * * SQL Data Type: datetimeoffset
17574
+ * * Default Value: getutcdate()`),
17575
+ User: z.string().describe(`
17576
+ * * Field Name: User
17577
+ * * Display Name: User
17578
+ * * SQL Data Type: nvarchar(100)`),
17579
+ MCPServerTool: z.string().nullable().describe(`
17580
+ * * Field Name: MCPServerTool
17581
+ * * Display Name: MCP Server Tool
17582
+ * * SQL Data Type: nvarchar(255)`),
17583
+ });
17149
17584
  /**
17150
17585
  * zod schema definition for the entity MJ: O Auth Auth Server Metadata Caches
17151
17586
  */
@@ -42087,6 +42522,913 @@ MJApplicationEntity = __decorate([
42087
42522
  RegisterClass(BaseEntity, 'MJ: Applications')
42088
42523
  ], MJApplicationEntity);
42089
42524
  export { MJApplicationEntity };
42525
+ /**
42526
+ * MJ: Archive Configuration Entities - strongly typed entity sub-class
42527
+ * * Schema: __mj
42528
+ * * Base Table: ArchiveConfigurationEntity
42529
+ * * Base View: vwArchiveConfigurationEntities
42530
+ * * @description Per-entity configuration within an archive pipeline. Allows overriding the parent configuration's defaults for mode, retention, batch size, and filtering on a per-entity basis.
42531
+ * * Primary Key: ID
42532
+ * @extends {BaseEntity}
42533
+ * @class
42534
+ * @public
42535
+ */
42536
+ let MJArchiveConfigurationEntityEntity = class MJArchiveConfigurationEntityEntity extends BaseEntity {
42537
+ /**
42538
+ * Loads the MJ: Archive Configuration Entities record from the database
42539
+ * @param ID: string - primary key value to load the MJ: Archive Configuration Entities record.
42540
+ * @param EntityRelationshipsToLoad - (optional) the relationships to load
42541
+ * @returns {Promise<boolean>} - true if successful, false otherwise
42542
+ * @public
42543
+ * @async
42544
+ * @memberof MJArchiveConfigurationEntityEntity
42545
+ * @method
42546
+ * @override
42547
+ */
42548
+ async Load(ID, EntityRelationshipsToLoad) {
42549
+ const compositeKey = new CompositeKey();
42550
+ compositeKey.KeyValuePairs.push({ FieldName: 'ID', Value: ID });
42551
+ return await super.InnerLoad(compositeKey, EntityRelationshipsToLoad);
42552
+ }
42553
+ /**
42554
+ * * Field Name: ID
42555
+ * * Display Name: ID
42556
+ * * SQL Data Type: uniqueidentifier
42557
+ * * Default Value: newsequentialid()
42558
+ */
42559
+ get ID() {
42560
+ return this.Get('ID');
42561
+ }
42562
+ set ID(value) {
42563
+ this.Set('ID', value);
42564
+ }
42565
+ /**
42566
+ * * Field Name: ArchiveConfigurationID
42567
+ * * Display Name: Archive Configuration
42568
+ * * SQL Data Type: uniqueidentifier
42569
+ * * Related Entity/Foreign Key: MJ: Archive Configurations (vwArchiveConfigurations.ID)
42570
+ * * Description: Foreign key to the parent ArchiveConfiguration.
42571
+ */
42572
+ get ArchiveConfigurationID() {
42573
+ return this.Get('ArchiveConfigurationID');
42574
+ }
42575
+ set ArchiveConfigurationID(value) {
42576
+ this.Set('ArchiveConfigurationID', value);
42577
+ }
42578
+ /**
42579
+ * * Field Name: EntityID
42580
+ * * Display Name: Entity
42581
+ * * SQL Data Type: uniqueidentifier
42582
+ * * Related Entity/Foreign Key: MJ: Entities (vwEntities.ID)
42583
+ * * Description: Foreign key to the Entity being archived.
42584
+ */
42585
+ get EntityID() {
42586
+ return this.Get('EntityID');
42587
+ }
42588
+ set EntityID(value) {
42589
+ this.Set('EntityID', value);
42590
+ }
42591
+ /**
42592
+ * * Field Name: Mode
42593
+ * * Display Name: Archive Mode
42594
+ * * SQL Data Type: nvarchar(20)
42595
+ * * Value List Type: List
42596
+ * * Possible Values
42597
+ * * ArchiveOnly
42598
+ * * HardDelete
42599
+ * * StripFields
42600
+ * * Description: Archive mode override for this entity. NULL inherits from the parent configuration's DefaultMode.
42601
+ */
42602
+ get Mode() {
42603
+ return this.Get('Mode');
42604
+ }
42605
+ set Mode(value) {
42606
+ this.Set('Mode', value);
42607
+ }
42608
+ /**
42609
+ * * Field Name: RetentionDays
42610
+ * * Display Name: Retention Days
42611
+ * * SQL Data Type: int
42612
+ * * Description: Retention period override in days. NULL inherits from the parent configuration's DefaultRetentionDays.
42613
+ */
42614
+ get RetentionDays() {
42615
+ return this.Get('RetentionDays');
42616
+ }
42617
+ set RetentionDays(value) {
42618
+ this.Set('RetentionDays', value);
42619
+ }
42620
+ /**
42621
+ * * Field Name: DateField
42622
+ * * Display Name: Date Field
42623
+ * * SQL Data Type: nvarchar(100)
42624
+ * * Default Value: __mj_CreatedAt
42625
+ * * Description: The date field on the entity used to determine record age for retention policy evaluation. Defaults to __mj_CreatedAt.
42626
+ */
42627
+ get DateField() {
42628
+ return this.Get('DateField');
42629
+ }
42630
+ set DateField(value) {
42631
+ this.Set('DateField', value);
42632
+ }
42633
+ /**
42634
+ * * Field Name: FilterExpression
42635
+ * * Display Name: Filter Expression
42636
+ * * SQL Data Type: nvarchar(MAX)
42637
+ * * Description: Optional SQL WHERE clause fragment to further filter which records are eligible for archiving (e.g., "Status = 'Closed'").
42638
+ */
42639
+ get FilterExpression() {
42640
+ return this.Get('FilterExpression');
42641
+ }
42642
+ set FilterExpression(value) {
42643
+ this.Set('FilterExpression', value);
42644
+ }
42645
+ /**
42646
+ * * Field Name: BatchSize
42647
+ * * Display Name: Batch Size
42648
+ * * SQL Data Type: int
42649
+ * * Description: Batch size override for this entity. NULL inherits from the parent configuration's DefaultBatchSize.
42650
+ */
42651
+ get BatchSize() {
42652
+ return this.Get('BatchSize');
42653
+ }
42654
+ set BatchSize(value) {
42655
+ this.Set('BatchSize', value);
42656
+ }
42657
+ /**
42658
+ * * Field Name: Priority
42659
+ * * Display Name: Priority
42660
+ * * SQL Data Type: int
42661
+ * * Default Value: 100
42662
+ * * Description: Processing priority — lower numbers are archived first. Default is 100.
42663
+ */
42664
+ get Priority() {
42665
+ return this.Get('Priority');
42666
+ }
42667
+ set Priority(value) {
42668
+ this.Set('Priority', value);
42669
+ }
42670
+ /**
42671
+ * * Field Name: FieldConfiguration
42672
+ * * Display Name: Field Configuration
42673
+ * * SQL Data Type: nvarchar(MAX)
42674
+ * * Description: JSON configuration specifying which fields to include/exclude in the archive output. Required for all modes.
42675
+ */
42676
+ get FieldConfiguration() {
42677
+ return this.Get('FieldConfiguration');
42678
+ }
42679
+ set FieldConfiguration(value) {
42680
+ this.Set('FieldConfiguration', value);
42681
+ }
42682
+ /**
42683
+ * * Field Name: DriverClass
42684
+ * * Display Name: Driver Class
42685
+ * * SQL Data Type: nvarchar(500)
42686
+ * * Description: Optional fully-qualified class name of a custom archive driver to use for this entity, overriding the default archiver.
42687
+ */
42688
+ get DriverClass() {
42689
+ return this.Get('DriverClass');
42690
+ }
42691
+ set DriverClass(value) {
42692
+ this.Set('DriverClass', value);
42693
+ }
42694
+ /**
42695
+ * * Field Name: ArchiveRelatedRecordChanges
42696
+ * * Display Name: Archive Related Record Changes
42697
+ * * SQL Data Type: bit
42698
+ * * Description: Override for archiving related Record Changes. NULL inherits from the parent configuration.
42699
+ */
42700
+ get ArchiveRelatedRecordChanges() {
42701
+ return this.Get('ArchiveRelatedRecordChanges');
42702
+ }
42703
+ set ArchiveRelatedRecordChanges(value) {
42704
+ this.Set('ArchiveRelatedRecordChanges', value);
42705
+ }
42706
+ /**
42707
+ * * Field Name: IsActive
42708
+ * * Display Name: Is Active
42709
+ * * SQL Data Type: bit
42710
+ * * Default Value: 1
42711
+ * * Description: Whether this entity is active within the archive configuration.
42712
+ */
42713
+ get IsActive() {
42714
+ return this.Get('IsActive');
42715
+ }
42716
+ set IsActive(value) {
42717
+ this.Set('IsActive', value);
42718
+ }
42719
+ /**
42720
+ * * Field Name: __mj_CreatedAt
42721
+ * * Display Name: Created At
42722
+ * * SQL Data Type: datetimeoffset
42723
+ * * Default Value: getutcdate()
42724
+ */
42725
+ get __mj_CreatedAt() {
42726
+ return this.Get('__mj_CreatedAt');
42727
+ }
42728
+ /**
42729
+ * * Field Name: __mj_UpdatedAt
42730
+ * * Display Name: Updated At
42731
+ * * SQL Data Type: datetimeoffset
42732
+ * * Default Value: getutcdate()
42733
+ */
42734
+ get __mj_UpdatedAt() {
42735
+ return this.Get('__mj_UpdatedAt');
42736
+ }
42737
+ /**
42738
+ * * Field Name: ArchiveConfiguration
42739
+ * * Display Name: Archive Configuration Name
42740
+ * * SQL Data Type: nvarchar(255)
42741
+ */
42742
+ get ArchiveConfiguration() {
42743
+ return this.Get('ArchiveConfiguration');
42744
+ }
42745
+ /**
42746
+ * * Field Name: Entity
42747
+ * * Display Name: Entity Name
42748
+ * * SQL Data Type: nvarchar(255)
42749
+ */
42750
+ get Entity() {
42751
+ return this.Get('Entity');
42752
+ }
42753
+ };
42754
+ MJArchiveConfigurationEntityEntity = __decorate([
42755
+ RegisterClass(BaseEntity, 'MJ: Archive Configuration Entities')
42756
+ ], MJArchiveConfigurationEntityEntity);
42757
+ export { MJArchiveConfigurationEntityEntity };
42758
+ /**
42759
+ * MJ: Archive Configurations - strongly typed entity sub-class
42760
+ * * Schema: __mj
42761
+ * * Base Table: ArchiveConfiguration
42762
+ * * Base View: vwArchiveConfigurations
42763
+ * * @description Top-level configuration for an archive pipeline. Defines the storage target, default retention policy, archive format, and operational mode for archiving entity records.
42764
+ * * Primary Key: ID
42765
+ * @extends {BaseEntity}
42766
+ * @class
42767
+ * @public
42768
+ */
42769
+ let MJArchiveConfigurationEntity = class MJArchiveConfigurationEntity extends BaseEntity {
42770
+ /**
42771
+ * Loads the MJ: Archive Configurations record from the database
42772
+ * @param ID: string - primary key value to load the MJ: Archive Configurations record.
42773
+ * @param EntityRelationshipsToLoad - (optional) the relationships to load
42774
+ * @returns {Promise<boolean>} - true if successful, false otherwise
42775
+ * @public
42776
+ * @async
42777
+ * @memberof MJArchiveConfigurationEntity
42778
+ * @method
42779
+ * @override
42780
+ */
42781
+ async Load(ID, EntityRelationshipsToLoad) {
42782
+ const compositeKey = new CompositeKey();
42783
+ compositeKey.KeyValuePairs.push({ FieldName: 'ID', Value: ID });
42784
+ return await super.InnerLoad(compositeKey, EntityRelationshipsToLoad);
42785
+ }
42786
+ /**
42787
+ * * Field Name: ID
42788
+ * * Display Name: ID
42789
+ * * SQL Data Type: uniqueidentifier
42790
+ * * Default Value: newsequentialid()
42791
+ */
42792
+ get ID() {
42793
+ return this.Get('ID');
42794
+ }
42795
+ set ID(value) {
42796
+ this.Set('ID', value);
42797
+ }
42798
+ /**
42799
+ * * Field Name: Name
42800
+ * * Display Name: Name
42801
+ * * SQL Data Type: nvarchar(255)
42802
+ * * Description: Human-readable name for this archive configuration.
42803
+ */
42804
+ get Name() {
42805
+ return this.Get('Name');
42806
+ }
42807
+ set Name(value) {
42808
+ this.Set('Name', value);
42809
+ }
42810
+ /**
42811
+ * * Field Name: Description
42812
+ * * Display Name: Description
42813
+ * * SQL Data Type: nvarchar(MAX)
42814
+ */
42815
+ get Description() {
42816
+ return this.Get('Description');
42817
+ }
42818
+ set Description(value) {
42819
+ this.Set('Description', value);
42820
+ }
42821
+ /**
42822
+ * * Field Name: StorageAccountID
42823
+ * * Display Name: Storage Account
42824
+ * * SQL Data Type: uniqueidentifier
42825
+ * * Related Entity/Foreign Key: MJ: File Storage Accounts (vwFileStorageAccounts.ID)
42826
+ * * Description: Foreign key to FileStorageAccount — the blob/file storage target for archived data.
42827
+ */
42828
+ get StorageAccountID() {
42829
+ return this.Get('StorageAccountID');
42830
+ }
42831
+ set StorageAccountID(value) {
42832
+ this.Set('StorageAccountID', value);
42833
+ }
42834
+ /**
42835
+ * * Field Name: RootPath
42836
+ * * Display Name: Root Path
42837
+ * * SQL Data Type: nvarchar(500)
42838
+ * * Description: Root path within the storage account where archive files are written (e.g., "archives/production/").
42839
+ */
42840
+ get RootPath() {
42841
+ return this.Get('RootPath');
42842
+ }
42843
+ set RootPath(value) {
42844
+ this.Set('RootPath', value);
42845
+ }
42846
+ /**
42847
+ * * Field Name: ArchiveFormat
42848
+ * * Display Name: Archive Format
42849
+ * * SQL Data Type: nvarchar(20)
42850
+ * * Default Value: JSON
42851
+ * * Value List Type: List
42852
+ * * Possible Values
42853
+ * * CSV
42854
+ * * JSON
42855
+ * * Parquet
42856
+ * * Description: Output format for archived records: JSON, Parquet, or CSV.
42857
+ */
42858
+ get ArchiveFormat() {
42859
+ return this.Get('ArchiveFormat');
42860
+ }
42861
+ set ArchiveFormat(value) {
42862
+ this.Set('ArchiveFormat', value);
42863
+ }
42864
+ /**
42865
+ * * Field Name: IsActive
42866
+ * * Display Name: Is Active
42867
+ * * SQL Data Type: bit
42868
+ * * Default Value: 0
42869
+ * * Description: Whether this configuration is active and eligible for scheduled archive runs.
42870
+ */
42871
+ get IsActive() {
42872
+ return this.Get('IsActive');
42873
+ }
42874
+ set IsActive(value) {
42875
+ this.Set('IsActive', value);
42876
+ }
42877
+ /**
42878
+ * * Field Name: DefaultRetentionDays
42879
+ * * Display Name: Default Retention Days
42880
+ * * SQL Data Type: int
42881
+ * * Default Value: 365
42882
+ * * Description: Default number of days after which records become eligible for archiving. Can be overridden per entity.
42883
+ */
42884
+ get DefaultRetentionDays() {
42885
+ return this.Get('DefaultRetentionDays');
42886
+ }
42887
+ set DefaultRetentionDays(value) {
42888
+ this.Set('DefaultRetentionDays', value);
42889
+ }
42890
+ /**
42891
+ * * Field Name: DefaultMode
42892
+ * * Display Name: Default Mode
42893
+ * * SQL Data Type: nvarchar(20)
42894
+ * * Default Value: StripFields
42895
+ * * Value List Type: List
42896
+ * * Possible Values
42897
+ * * ArchiveOnly
42898
+ * * HardDelete
42899
+ * * StripFields
42900
+ * * Description: Default archive mode: StripFields (null out specified fields), HardDelete (delete from source after archiving), ArchiveOnly (copy to storage without modifying source).
42901
+ */
42902
+ get DefaultMode() {
42903
+ return this.Get('DefaultMode');
42904
+ }
42905
+ set DefaultMode(value) {
42906
+ this.Set('DefaultMode', value);
42907
+ }
42908
+ /**
42909
+ * * Field Name: DefaultBatchSize
42910
+ * * Display Name: Default Batch Size
42911
+ * * SQL Data Type: int
42912
+ * * Default Value: 100
42913
+ * * Description: Default number of records to process per batch during archive runs.
42914
+ */
42915
+ get DefaultBatchSize() {
42916
+ return this.Get('DefaultBatchSize');
42917
+ }
42918
+ set DefaultBatchSize(value) {
42919
+ this.Set('DefaultBatchSize', value);
42920
+ }
42921
+ /**
42922
+ * * Field Name: ArchiveRelatedRecordChanges
42923
+ * * Display Name: Archive Related Record Changes
42924
+ * * SQL Data Type: bit
42925
+ * * Default Value: 1
42926
+ * * Description: When enabled, related Record Changes entries are also archived alongside the source records.
42927
+ */
42928
+ get ArchiveRelatedRecordChanges() {
42929
+ return this.Get('ArchiveRelatedRecordChanges');
42930
+ }
42931
+ set ArchiveRelatedRecordChanges(value) {
42932
+ this.Set('ArchiveRelatedRecordChanges', value);
42933
+ }
42934
+ /**
42935
+ * * Field Name: Status
42936
+ * * Display Name: Status
42937
+ * * SQL Data Type: nvarchar(20)
42938
+ * * Default Value: Idle
42939
+ * * Value List Type: List
42940
+ * * Possible Values
42941
+ * * Disabled
42942
+ * * Error
42943
+ * * Idle
42944
+ * * Running
42945
+ * * Description: Current operational status of this configuration: Idle, Running, Error, or Disabled.
42946
+ */
42947
+ get Status() {
42948
+ return this.Get('Status');
42949
+ }
42950
+ set Status(value) {
42951
+ this.Set('Status', value);
42952
+ }
42953
+ /**
42954
+ * * Field Name: CreatedByUserID
42955
+ * * Display Name: Created By User ID
42956
+ * * SQL Data Type: uniqueidentifier
42957
+ * * Related Entity/Foreign Key: MJ: Users (vwUsers.ID)
42958
+ * * Description: The user who created this archive configuration.
42959
+ */
42960
+ get CreatedByUserID() {
42961
+ return this.Get('CreatedByUserID');
42962
+ }
42963
+ set CreatedByUserID(value) {
42964
+ this.Set('CreatedByUserID', value);
42965
+ }
42966
+ /**
42967
+ * * Field Name: __mj_CreatedAt
42968
+ * * Display Name: Created At
42969
+ * * SQL Data Type: datetimeoffset
42970
+ * * Default Value: getutcdate()
42971
+ */
42972
+ get __mj_CreatedAt() {
42973
+ return this.Get('__mj_CreatedAt');
42974
+ }
42975
+ /**
42976
+ * * Field Name: __mj_UpdatedAt
42977
+ * * Display Name: Updated At
42978
+ * * SQL Data Type: datetimeoffset
42979
+ * * Default Value: getutcdate()
42980
+ */
42981
+ get __mj_UpdatedAt() {
42982
+ return this.Get('__mj_UpdatedAt');
42983
+ }
42984
+ /**
42985
+ * * Field Name: StorageAccount
42986
+ * * Display Name: Storage Account Name
42987
+ * * SQL Data Type: nvarchar(200)
42988
+ */
42989
+ get StorageAccount() {
42990
+ return this.Get('StorageAccount');
42991
+ }
42992
+ /**
42993
+ * * Field Name: CreatedByUser
42994
+ * * Display Name: Created By User
42995
+ * * SQL Data Type: nvarchar(100)
42996
+ */
42997
+ get CreatedByUser() {
42998
+ return this.Get('CreatedByUser');
42999
+ }
43000
+ };
43001
+ MJArchiveConfigurationEntity = __decorate([
43002
+ RegisterClass(BaseEntity, 'MJ: Archive Configurations')
43003
+ ], MJArchiveConfigurationEntity);
43004
+ export { MJArchiveConfigurationEntity };
43005
+ /**
43006
+ * MJ: Archive Run Details - strongly typed entity sub-class
43007
+ * * Schema: __mj
43008
+ * * Base Table: ArchiveRunDetail
43009
+ * * Base View: vwArchiveRunDetails
43010
+ * * @description Per-record detail for each archive run. Tracks the outcome, storage location, and error information for each individual record processed.
43011
+ * * Primary Key: ID
43012
+ * @extends {BaseEntity}
43013
+ * @class
43014
+ * @public
43015
+ */
43016
+ let MJArchiveRunDetailEntity = class MJArchiveRunDetailEntity extends BaseEntity {
43017
+ /**
43018
+ * Loads the MJ: Archive Run Details record from the database
43019
+ * @param ID: string - primary key value to load the MJ: Archive Run Details record.
43020
+ * @param EntityRelationshipsToLoad - (optional) the relationships to load
43021
+ * @returns {Promise<boolean>} - true if successful, false otherwise
43022
+ * @public
43023
+ * @async
43024
+ * @memberof MJArchiveRunDetailEntity
43025
+ * @method
43026
+ * @override
43027
+ */
43028
+ async Load(ID, EntityRelationshipsToLoad) {
43029
+ const compositeKey = new CompositeKey();
43030
+ compositeKey.KeyValuePairs.push({ FieldName: 'ID', Value: ID });
43031
+ return await super.InnerLoad(compositeKey, EntityRelationshipsToLoad);
43032
+ }
43033
+ /**
43034
+ * * Field Name: ID
43035
+ * * Display Name: ID
43036
+ * * SQL Data Type: uniqueidentifier
43037
+ * * Default Value: newsequentialid()
43038
+ */
43039
+ get ID() {
43040
+ return this.Get('ID');
43041
+ }
43042
+ set ID(value) {
43043
+ this.Set('ID', value);
43044
+ }
43045
+ /**
43046
+ * * Field Name: ArchiveRunID
43047
+ * * Display Name: Archive Run
43048
+ * * SQL Data Type: uniqueidentifier
43049
+ * * Related Entity/Foreign Key: MJ: Archive Runs (vwArchiveRuns.ID)
43050
+ * * Description: Foreign key to the parent ArchiveRun.
43051
+ */
43052
+ get ArchiveRunID() {
43053
+ return this.Get('ArchiveRunID');
43054
+ }
43055
+ set ArchiveRunID(value) {
43056
+ this.Set('ArchiveRunID', value);
43057
+ }
43058
+ /**
43059
+ * * Field Name: EntityID
43060
+ * * Display Name: Entity Record
43061
+ * * SQL Data Type: uniqueidentifier
43062
+ * * Related Entity/Foreign Key: MJ: Entities (vwEntities.ID)
43063
+ * * Description: Foreign key to the Entity this record belongs to.
43064
+ */
43065
+ get EntityID() {
43066
+ return this.Get('EntityID');
43067
+ }
43068
+ set EntityID(value) {
43069
+ this.Set('EntityID', value);
43070
+ }
43071
+ /**
43072
+ * * Field Name: RecordID
43073
+ * * Display Name: Record ID
43074
+ * * SQL Data Type: nvarchar(750)
43075
+ * * Description: The primary key value of the archived record (string representation to support all key types).
43076
+ */
43077
+ get RecordID() {
43078
+ return this.Get('RecordID');
43079
+ }
43080
+ set RecordID(value) {
43081
+ this.Set('RecordID', value);
43082
+ }
43083
+ /**
43084
+ * * Field Name: Status
43085
+ * * Display Name: Status
43086
+ * * SQL Data Type: nvarchar(50)
43087
+ * * Value List Type: List
43088
+ * * Possible Values
43089
+ * * Failed
43090
+ * * Skipped
43091
+ * * Success
43092
+ * * Description: Outcome for this record: Success, Failed, or Skipped.
43093
+ */
43094
+ get Status() {
43095
+ return this.Get('Status');
43096
+ }
43097
+ set Status(value) {
43098
+ this.Set('Status', value);
43099
+ }
43100
+ /**
43101
+ * * Field Name: StoragePath
43102
+ * * Display Name: Storage Path
43103
+ * * SQL Data Type: nvarchar(1000)
43104
+ * * Description: Full path to the archived file in storage (e.g., "archives/production/Users/2026/04/record-id.json").
43105
+ */
43106
+ get StoragePath() {
43107
+ return this.Get('StoragePath');
43108
+ }
43109
+ set StoragePath(value) {
43110
+ this.Set('StoragePath', value);
43111
+ }
43112
+ /**
43113
+ * * Field Name: BytesArchived
43114
+ * * Display Name: Bytes Archived
43115
+ * * SQL Data Type: bigint
43116
+ * * Default Value: 0
43117
+ * * Description: Number of bytes written to storage for this record.
43118
+ */
43119
+ get BytesArchived() {
43120
+ return this.Get('BytesArchived');
43121
+ }
43122
+ set BytesArchived(value) {
43123
+ this.Set('BytesArchived', value);
43124
+ }
43125
+ /**
43126
+ * * Field Name: ErrorMessage
43127
+ * * Display Name: Error Message
43128
+ * * SQL Data Type: nvarchar(MAX)
43129
+ * * Description: Error details when Status is Failed.
43130
+ */
43131
+ get ErrorMessage() {
43132
+ return this.Get('ErrorMessage');
43133
+ }
43134
+ set ErrorMessage(value) {
43135
+ this.Set('ErrorMessage', value);
43136
+ }
43137
+ /**
43138
+ * * Field Name: ArchivedAt
43139
+ * * Display Name: Archived At
43140
+ * * SQL Data Type: datetimeoffset
43141
+ * * Description: Timestamp when this record was successfully archived.
43142
+ */
43143
+ get ArchivedAt() {
43144
+ return this.Get('ArchivedAt');
43145
+ }
43146
+ set ArchivedAt(value) {
43147
+ this.Set('ArchivedAt', value);
43148
+ }
43149
+ /**
43150
+ * * Field Name: VersionStamp
43151
+ * * Display Name: Version Stamp
43152
+ * * SQL Data Type: datetimeoffset
43153
+ * * Description: The __mj_UpdatedAt timestamp of the record at the time of archiving, used for conflict detection during restore.
43154
+ */
43155
+ get VersionStamp() {
43156
+ return this.Get('VersionStamp');
43157
+ }
43158
+ set VersionStamp(value) {
43159
+ this.Set('VersionStamp', value);
43160
+ }
43161
+ /**
43162
+ * * Field Name: IsRecordChangeArchive
43163
+ * * Display Name: Is Record Change Archive
43164
+ * * SQL Data Type: bit
43165
+ * * Default Value: 0
43166
+ * * Description: When true, this detail row represents an archived Record Change entry rather than a primary entity record.
43167
+ */
43168
+ get IsRecordChangeArchive() {
43169
+ return this.Get('IsRecordChangeArchive');
43170
+ }
43171
+ set IsRecordChangeArchive(value) {
43172
+ this.Set('IsRecordChangeArchive', value);
43173
+ }
43174
+ /**
43175
+ * * Field Name: __mj_CreatedAt
43176
+ * * Display Name: Created At
43177
+ * * SQL Data Type: datetimeoffset
43178
+ * * Default Value: getutcdate()
43179
+ */
43180
+ get __mj_CreatedAt() {
43181
+ return this.Get('__mj_CreatedAt');
43182
+ }
43183
+ /**
43184
+ * * Field Name: __mj_UpdatedAt
43185
+ * * Display Name: Updated At
43186
+ * * SQL Data Type: datetimeoffset
43187
+ * * Default Value: getutcdate()
43188
+ */
43189
+ get __mj_UpdatedAt() {
43190
+ return this.Get('__mj_UpdatedAt');
43191
+ }
43192
+ /**
43193
+ * * Field Name: Entity
43194
+ * * Display Name: Entity Type
43195
+ * * SQL Data Type: nvarchar(255)
43196
+ */
43197
+ get Entity() {
43198
+ return this.Get('Entity');
43199
+ }
43200
+ };
43201
+ MJArchiveRunDetailEntity = __decorate([
43202
+ RegisterClass(BaseEntity, 'MJ: Archive Run Details')
43203
+ ], MJArchiveRunDetailEntity);
43204
+ export { MJArchiveRunDetailEntity };
43205
+ /**
43206
+ * MJ: Archive Runs - strongly typed entity sub-class
43207
+ * * Schema: __mj
43208
+ * * Base Table: ArchiveRun
43209
+ * * Base View: vwArchiveRuns
43210
+ * * @description Tracks each execution of an archive configuration, including timing, aggregate statistics, and overall status.
43211
+ * * Primary Key: ID
43212
+ * @extends {BaseEntity}
43213
+ * @class
43214
+ * @public
43215
+ */
43216
+ let MJArchiveRunEntity = class MJArchiveRunEntity extends BaseEntity {
43217
+ /**
43218
+ * Loads the MJ: Archive Runs record from the database
43219
+ * @param ID: string - primary key value to load the MJ: Archive Runs record.
43220
+ * @param EntityRelationshipsToLoad - (optional) the relationships to load
43221
+ * @returns {Promise<boolean>} - true if successful, false otherwise
43222
+ * @public
43223
+ * @async
43224
+ * @memberof MJArchiveRunEntity
43225
+ * @method
43226
+ * @override
43227
+ */
43228
+ async Load(ID, EntityRelationshipsToLoad) {
43229
+ const compositeKey = new CompositeKey();
43230
+ compositeKey.KeyValuePairs.push({ FieldName: 'ID', Value: ID });
43231
+ return await super.InnerLoad(compositeKey, EntityRelationshipsToLoad);
43232
+ }
43233
+ /**
43234
+ * * Field Name: ID
43235
+ * * Display Name: ID
43236
+ * * SQL Data Type: uniqueidentifier
43237
+ * * Default Value: newsequentialid()
43238
+ */
43239
+ get ID() {
43240
+ return this.Get('ID');
43241
+ }
43242
+ set ID(value) {
43243
+ this.Set('ID', value);
43244
+ }
43245
+ /**
43246
+ * * Field Name: ArchiveConfigurationID
43247
+ * * Display Name: Archive Configuration
43248
+ * * SQL Data Type: uniqueidentifier
43249
+ * * Related Entity/Foreign Key: MJ: Archive Configurations (vwArchiveConfigurations.ID)
43250
+ * * Description: Foreign key to the ArchiveConfiguration that was executed.
43251
+ */
43252
+ get ArchiveConfigurationID() {
43253
+ return this.Get('ArchiveConfigurationID');
43254
+ }
43255
+ set ArchiveConfigurationID(value) {
43256
+ this.Set('ArchiveConfigurationID', value);
43257
+ }
43258
+ /**
43259
+ * * Field Name: StartedAt
43260
+ * * Display Name: Started At
43261
+ * * SQL Data Type: datetimeoffset
43262
+ * * Default Value: getutcdate()
43263
+ * * Description: Timestamp when the archive run started.
43264
+ */
43265
+ get StartedAt() {
43266
+ return this.Get('StartedAt');
43267
+ }
43268
+ set StartedAt(value) {
43269
+ this.Set('StartedAt', value);
43270
+ }
43271
+ /**
43272
+ * * Field Name: CompletedAt
43273
+ * * Display Name: Completed At
43274
+ * * SQL Data Type: datetimeoffset
43275
+ * * Description: Timestamp when the archive run completed (NULL while still running).
43276
+ */
43277
+ get CompletedAt() {
43278
+ return this.Get('CompletedAt');
43279
+ }
43280
+ set CompletedAt(value) {
43281
+ this.Set('CompletedAt', value);
43282
+ }
43283
+ /**
43284
+ * * Field Name: Status
43285
+ * * Display Name: Status
43286
+ * * SQL Data Type: nvarchar(50)
43287
+ * * Default Value: Running
43288
+ * * Value List Type: List
43289
+ * * Possible Values
43290
+ * * Cancelled
43291
+ * * Complete
43292
+ * * Failed
43293
+ * * PartialSuccess
43294
+ * * Running
43295
+ * * Description: Current status: Running, Complete, Failed, Cancelled, or PartialSuccess.
43296
+ */
43297
+ get Status() {
43298
+ return this.Get('Status');
43299
+ }
43300
+ set Status(value) {
43301
+ this.Set('Status', value);
43302
+ }
43303
+ /**
43304
+ * * Field Name: TotalRecords
43305
+ * * Display Name: Total Records
43306
+ * * SQL Data Type: int
43307
+ * * Default Value: 0
43308
+ * * Description: Total number of records identified for archiving in this run.
43309
+ */
43310
+ get TotalRecords() {
43311
+ return this.Get('TotalRecords');
43312
+ }
43313
+ set TotalRecords(value) {
43314
+ this.Set('TotalRecords', value);
43315
+ }
43316
+ /**
43317
+ * * Field Name: ArchivedRecords
43318
+ * * Display Name: Archived Records
43319
+ * * SQL Data Type: int
43320
+ * * Default Value: 0
43321
+ * * Description: Number of records successfully archived.
43322
+ */
43323
+ get ArchivedRecords() {
43324
+ return this.Get('ArchivedRecords');
43325
+ }
43326
+ set ArchivedRecords(value) {
43327
+ this.Set('ArchivedRecords', value);
43328
+ }
43329
+ /**
43330
+ * * Field Name: FailedRecords
43331
+ * * Display Name: Failed Records
43332
+ * * SQL Data Type: int
43333
+ * * Default Value: 0
43334
+ * * Description: Number of records that failed to archive.
43335
+ */
43336
+ get FailedRecords() {
43337
+ return this.Get('FailedRecords');
43338
+ }
43339
+ set FailedRecords(value) {
43340
+ this.Set('FailedRecords', value);
43341
+ }
43342
+ /**
43343
+ * * Field Name: SkippedRecords
43344
+ * * Display Name: Skipped Records
43345
+ * * SQL Data Type: int
43346
+ * * Default Value: 0
43347
+ * * Description: Number of records skipped (e.g., already archived or filtered out).
43348
+ */
43349
+ get SkippedRecords() {
43350
+ return this.Get('SkippedRecords');
43351
+ }
43352
+ set SkippedRecords(value) {
43353
+ this.Set('SkippedRecords', value);
43354
+ }
43355
+ /**
43356
+ * * Field Name: TotalBytesArchived
43357
+ * * Display Name: Total Bytes Archived
43358
+ * * SQL Data Type: bigint
43359
+ * * Default Value: 0
43360
+ * * Description: Total bytes written to archive storage during this run.
43361
+ */
43362
+ get TotalBytesArchived() {
43363
+ return this.Get('TotalBytesArchived');
43364
+ }
43365
+ set TotalBytesArchived(value) {
43366
+ this.Set('TotalBytesArchived', value);
43367
+ }
43368
+ /**
43369
+ * * Field Name: ErrorLog
43370
+ * * Display Name: Error Log
43371
+ * * SQL Data Type: nvarchar(MAX)
43372
+ * * Description: Aggregated error log for the run. Contains error details when Status is Failed or PartialSuccess.
43373
+ */
43374
+ get ErrorLog() {
43375
+ return this.Get('ErrorLog');
43376
+ }
43377
+ set ErrorLog(value) {
43378
+ this.Set('ErrorLog', value);
43379
+ }
43380
+ /**
43381
+ * * Field Name: UserID
43382
+ * * Display Name: Initiated By
43383
+ * * SQL Data Type: uniqueidentifier
43384
+ * * Related Entity/Foreign Key: MJ: Users (vwUsers.ID)
43385
+ * * Description: The user who initiated this archive run.
43386
+ */
43387
+ get UserID() {
43388
+ return this.Get('UserID');
43389
+ }
43390
+ set UserID(value) {
43391
+ this.Set('UserID', value);
43392
+ }
43393
+ /**
43394
+ * * Field Name: __mj_CreatedAt
43395
+ * * Display Name: Created At
43396
+ * * SQL Data Type: datetimeoffset
43397
+ * * Default Value: getutcdate()
43398
+ */
43399
+ get __mj_CreatedAt() {
43400
+ return this.Get('__mj_CreatedAt');
43401
+ }
43402
+ /**
43403
+ * * Field Name: __mj_UpdatedAt
43404
+ * * Display Name: Updated At
43405
+ * * SQL Data Type: datetimeoffset
43406
+ * * Default Value: getutcdate()
43407
+ */
43408
+ get __mj_UpdatedAt() {
43409
+ return this.Get('__mj_UpdatedAt');
43410
+ }
43411
+ /**
43412
+ * * Field Name: ArchiveConfiguration
43413
+ * * Display Name: Configuration Name
43414
+ * * SQL Data Type: nvarchar(255)
43415
+ */
43416
+ get ArchiveConfiguration() {
43417
+ return this.Get('ArchiveConfiguration');
43418
+ }
43419
+ /**
43420
+ * * Field Name: User
43421
+ * * Display Name: User Name
43422
+ * * SQL Data Type: nvarchar(100)
43423
+ */
43424
+ get User() {
43425
+ return this.Get('User');
43426
+ }
43427
+ };
43428
+ MJArchiveRunEntity = __decorate([
43429
+ RegisterClass(BaseEntity, 'MJ: Archive Runs')
43430
+ ], MJArchiveRunEntity);
43431
+ export { MJArchiveRunEntity };
42090
43432
  /**
42091
43433
  * MJ: Artifact Permissions - strongly typed entity sub-class
42092
43434
  * * Schema: __mj
@@ -42384,7 +43726,7 @@ let MJArtifactTypeEntity = class MJArtifactTypeEntity extends BaseEntity {
42384
43726
  }
42385
43727
  /**
42386
43728
  * * Field Name: ExtractRules
42387
- * * Display Name: Extract Rules
43729
+ * * Display Name: Extraction Rules
42388
43730
  * * SQL Data Type: nvarchar(MAX)
42389
43731
  * * Description: JSON array of extraction rules defining how to extract attributes from artifact content. Each rule has: name (string), description (string), type (TypeScript type), standardProperty ('name'|'description'|'displayMarkdown'|'displayHtml'|null), extractor (JavaScript code string). Child types inherit parent rules and can override by name.
42390
43732
  */
@@ -42436,6 +43778,18 @@ let MJArtifactTypeEntity = class MJArtifactTypeEntity extends BaseEntity {
42436
43778
  this.Set('ContentCategory', value);
42437
43779
  }
42438
43780
  /**
43781
+ * * Field Name: ToolLibraryClass
43782
+ * * Display Name: Tool Library Class
43783
+ * * SQL Data Type: nvarchar(100)
43784
+ * * Description: Class name for the BaseArtifactToolLibrary subclass that provides type-specific artifact exploration tools for agents. Resolved via ClassFactory. When NULL, ArtifactToolManager uses name-based fallback resolution.
43785
+ */
43786
+ get ToolLibraryClass() {
43787
+ return this.Get('ToolLibraryClass');
43788
+ }
43789
+ set ToolLibraryClass(value) {
43790
+ this.Set('ToolLibraryClass', value);
43791
+ }
43792
+ /**
42439
43793
  * * Field Name: Parent
42440
43794
  * * Display Name: Parent
42441
43795
  * * SQL Data Type: nvarchar(100)
@@ -63814,7 +65168,7 @@ let MJIntegrationObjectFieldEntity = class MJIntegrationObjectFieldEntity extend
63814
65168
  }
63815
65169
  /**
63816
65170
  * * Field Name: Name
63817
- * * Display Name: Name
65171
+ * * Display Name: Field Name
63818
65172
  * * SQL Data Type: nvarchar(255)
63819
65173
  * * Description: Field name as returned by the external API
63820
65174
  */
@@ -63987,7 +65341,7 @@ let MJIntegrationObjectFieldEntity = class MJIntegrationObjectFieldEntity extend
63987
65341
  }
63988
65342
  /**
63989
65343
  * * Field Name: RelatedIntegrationObjectID
63990
- * * Display Name: Related Integration Object ID
65344
+ * * Display Name: Related Integration Object
63991
65345
  * * SQL Data Type: uniqueidentifier
63992
65346
  * * Related Entity/Foreign Key: MJ: Integration Objects (vwIntegrationObjects.ID)
63993
65347
  * * Description: Foreign key to another IntegrationObject, establishing a relationship. Used for DAG-based dependency ordering and template variable resolution in parent APIPath patterns.
@@ -64148,7 +65502,7 @@ let MJIntegrationObjectEntity = class MJIntegrationObjectEntity extends BaseEnti
64148
65502
  }
64149
65503
  /**
64150
65504
  * * Field Name: IntegrationID
64151
- * * Display Name: Integration
65505
+ * * Display Name: Integration ID
64152
65506
  * * SQL Data Type: uniqueidentifier
64153
65507
  * * Related Entity/Foreign Key: MJ: Integrations (vwIntegrations.ID)
64154
65508
  * * Description: Foreign key to the Integration that owns this object
@@ -64304,7 +65658,7 @@ let MJIntegrationObjectEntity = class MJIntegrationObjectEntity extends BaseEnti
64304
65658
  }
64305
65659
  /**
64306
65660
  * * Field Name: DefaultQueryParams
64307
- * * Display Name: Default Query Parameters
65661
+ * * Display Name: Default Query Params
64308
65662
  * * SQL Data Type: nvarchar(MAX)
64309
65663
  * * Description: JSON object of default query parameters to include with every API request for this object
64310
65664
  */
@@ -64428,7 +65782,7 @@ let MJIntegrationObjectEntity = class MJIntegrationObjectEntity extends BaseEnti
64428
65782
  }
64429
65783
  /**
64430
65784
  * * Field Name: Integration
64431
- * * Display Name: Integration Name
65785
+ * * Display Name: Integration
64432
65786
  * * SQL Data Type: nvarchar(100)
64433
65787
  */
64434
65788
  get Integration() {
@@ -67441,6 +68795,109 @@ MJMCPToolExecutionLogEntity = __decorate([
67441
68795
  RegisterClass(BaseEntity, 'MJ: MCP Tool Execution Logs')
67442
68796
  ], MJMCPToolExecutionLogEntity);
67443
68797
  export { MJMCPToolExecutionLogEntity };
68798
+ /**
68799
+ * MJ: MCP Tool Favorites - strongly typed entity sub-class
68800
+ * * Schema: __mj
68801
+ * * Base Table: MCPToolFavorite
68802
+ * * Base View: vwMCPToolFavorites
68803
+ * * @description Per-user favorite marker for an MCP Server Tool. Lets users star tools for quick access in the MCP Dashboard and Test dialog.
68804
+ * * Primary Key: ID
68805
+ * @extends {BaseEntity}
68806
+ * @class
68807
+ * @public
68808
+ */
68809
+ let MJMCPToolFavoriteEntity = class MJMCPToolFavoriteEntity extends BaseEntity {
68810
+ /**
68811
+ * Loads the MJ: MCP Tool Favorites record from the database
68812
+ * @param ID: string - primary key value to load the MJ: MCP Tool Favorites record.
68813
+ * @param EntityRelationshipsToLoad - (optional) the relationships to load
68814
+ * @returns {Promise<boolean>} - true if successful, false otherwise
68815
+ * @public
68816
+ * @async
68817
+ * @memberof MJMCPToolFavoriteEntity
68818
+ * @method
68819
+ * @override
68820
+ */
68821
+ async Load(ID, EntityRelationshipsToLoad) {
68822
+ const compositeKey = new CompositeKey();
68823
+ compositeKey.KeyValuePairs.push({ FieldName: 'ID', Value: ID });
68824
+ return await super.InnerLoad(compositeKey, EntityRelationshipsToLoad);
68825
+ }
68826
+ /**
68827
+ * * Field Name: ID
68828
+ * * Display Name: ID
68829
+ * * SQL Data Type: uniqueidentifier
68830
+ * * Default Value: newsequentialid()
68831
+ */
68832
+ get ID() {
68833
+ return this.Get('ID');
68834
+ }
68835
+ set ID(value) {
68836
+ this.Set('ID', value);
68837
+ }
68838
+ /**
68839
+ * * Field Name: UserID
68840
+ * * Display Name: User ID
68841
+ * * SQL Data Type: uniqueidentifier
68842
+ * * Related Entity/Foreign Key: MJ: Users (vwUsers.ID)
68843
+ */
68844
+ get UserID() {
68845
+ return this.Get('UserID');
68846
+ }
68847
+ set UserID(value) {
68848
+ this.Set('UserID', value);
68849
+ }
68850
+ /**
68851
+ * * Field Name: MCPServerToolID
68852
+ * * Display Name: MCP Server Tool ID
68853
+ * * SQL Data Type: uniqueidentifier
68854
+ * * Related Entity/Foreign Key: MJ: MCP Server Tools (vwMCPServerTools.ID)
68855
+ */
68856
+ get MCPServerToolID() {
68857
+ return this.Get('MCPServerToolID');
68858
+ }
68859
+ set MCPServerToolID(value) {
68860
+ this.Set('MCPServerToolID', value);
68861
+ }
68862
+ /**
68863
+ * * Field Name: __mj_CreatedAt
68864
+ * * Display Name: Created At
68865
+ * * SQL Data Type: datetimeoffset
68866
+ * * Default Value: getutcdate()
68867
+ */
68868
+ get __mj_CreatedAt() {
68869
+ return this.Get('__mj_CreatedAt');
68870
+ }
68871
+ /**
68872
+ * * Field Name: __mj_UpdatedAt
68873
+ * * Display Name: Updated At
68874
+ * * SQL Data Type: datetimeoffset
68875
+ * * Default Value: getutcdate()
68876
+ */
68877
+ get __mj_UpdatedAt() {
68878
+ return this.Get('__mj_UpdatedAt');
68879
+ }
68880
+ /**
68881
+ * * Field Name: User
68882
+ * * Display Name: User
68883
+ * * SQL Data Type: nvarchar(100)
68884
+ */
68885
+ get User() {
68886
+ return this.Get('User');
68887
+ }
68888
+ /**
68889
+ * * Field Name: MCPServerTool
68890
+ * * Display Name: MCP Server Tool
68891
+ * * SQL Data Type: nvarchar(255)
68892
+ */
68893
+ get MCPServerTool() {
68894
+ return this.Get('MCPServerTool');
68895
+ }
68896
+ };
68897
+ MJMCPToolFavoriteEntity = __decorate([
68898
+ RegisterClass(BaseEntity, 'MJ: MCP Tool Favorites')
68899
+ ], MJMCPToolFavoriteEntity);
68900
+ export { MJMCPToolFavoriteEntity };
67444
68901
  /**
67445
68902
  * MJ: O Auth Auth Server Metadata Caches - strongly typed entity sub-class
67446
68903
  * * Schema: __mj