@memberjunction/core-entities 5.10.1 → 5.12.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.
@@ -463,7 +463,7 @@ export const MJActionParamSchema = z.object({
463
463
  * * Input
464
464
  * * Output
465
465
  * * Description: Specifies whether this parameter is used for Input, Output, or Both directions in the action execution flow.`),
466
- ValueType: z.union([z.literal('BaseEntity Sub-Class'), z.literal('BaseEntity Sub-Class'), z.literal('Other'), z.literal('MediaOutput'), z.literal('Other'), z.literal('Scalar'), z.literal('Scalar'), z.literal('Simple Object'), z.literal('Simple Object')]).describe(`
466
+ ValueType: z.union([z.literal('BaseEntity Sub-Class'), z.literal('BaseEntity Sub-Class'), z.literal('MediaOutput'), z.literal('Other'), z.literal('Other'), z.literal('Scalar'), z.literal('Scalar'), z.literal('Simple Object'), z.literal('Simple Object')]).describe(`
467
467
  * * Field Name: ValueType
468
468
  * * Display Name: Value Type
469
469
  * * SQL Data Type: nvarchar(30)
@@ -471,9 +471,9 @@ export const MJActionParamSchema = z.object({
471
471
  * * Possible Values
472
472
  * * BaseEntity Sub-Class
473
473
  * * BaseEntity Sub-Class
474
- * * Other
475
474
  * * MediaOutput
476
475
  * * Other
476
+ * * Other
477
477
  * * Scalar
478
478
  * * Scalar
479
479
  * * Simple Object
@@ -658,7 +658,7 @@ export const MJActionSchema = z.object({
658
658
  * * Description: If set to 1, the Action will generate code for the provided UserPrompt on the next Save even if the UserPrompt hasn't changed. This is useful to force regeneration when other candidates (such as a change in Action Inputs/Outputs) occurs or on demand by a user.`),
659
659
  RetentionPeriod: z.number().nullable().describe(`
660
660
  * * Field Name: RetentionPeriod
661
- * * Display Name: Retention Period
661
+ * * Display Name: Retention Period (Days)
662
662
  * * SQL Data Type: int
663
663
  * * Description: Number of days to retain execution logs; NULL for indefinite.`),
664
664
  Status: z.union([z.literal('Active'), z.literal('Disabled'), z.literal('Pending')]).describe(`
@@ -704,21 +704,26 @@ export const MJActionSchema = z.object({
704
704
  * * SQL Data Type: uniqueidentifier
705
705
  * * Related Entity/Foreign Key: MJ: AI Prompts (vwAIPrompts.ID)
706
706
  * * Description: Default prompt for compacting/summarizing this action's results when used by agents with CompactMode=AISummary. Action designers define how their specific results should be summarized. Can be overridden per agent in AIAgentAction.CompactPromptID.`),
707
+ Config_: z.string().nullable().describe(`
708
+ * * Field Name: Config
709
+ * * Display Name: Configuration
710
+ * * SQL Data Type: nvarchar(MAX)
711
+ * * Description: Optional JSON configuration for the action. For integration actions, contains routing info: integrationName, objectName, verb, and optional connectorConfig. Non-integration actions leave this NULL.`),
707
712
  Category: z.string().nullable().describe(`
708
713
  * * Field Name: Category
709
- * * Display Name: Category
714
+ * * Display Name: Category Name
710
715
  * * SQL Data Type: nvarchar(255)`),
711
716
  CodeApprovedByUser: z.string().nullable().describe(`
712
717
  * * Field Name: CodeApprovedByUser
713
- * * Display Name: Code Approved By User
718
+ * * Display Name: Code Approved By (User)
714
719
  * * SQL Data Type: nvarchar(100)`),
715
720
  Parent: z.string().nullable().describe(`
716
721
  * * Field Name: Parent
717
- * * Display Name: Parent
722
+ * * Display Name: Parent Name
718
723
  * * SQL Data Type: nvarchar(425)`),
719
724
  DefaultCompactPrompt: z.string().nullable().describe(`
720
725
  * * Field Name: DefaultCompactPrompt
721
- * * Display Name: Default Compact Prompt
726
+ * * Display Name: Default Compact Prompt Text
722
727
  * * SQL Data Type: nvarchar(255)`),
723
728
  RootParentID: z.string().nullable().describe(`
724
729
  * * Field Name: RootParentID
@@ -919,6 +924,67 @@ export const MJAIAgentArtifactTypeSchema = z.object({
919
924
  * * Display Name: Artifact Type
920
925
  * * SQL Data Type: nvarchar(100)`),
921
926
  });
927
+ /**
928
+ * zod schema definition for the entity MJ: AI Agent Categories
929
+ */
930
+ export const MJAIAgentCategorySchema = z.object({
931
+ ID: z.string().describe(`
932
+ * * Field Name: ID
933
+ * * Display Name: ID
934
+ * * SQL Data Type: uniqueidentifier
935
+ * * Default Value: newsequentialid()
936
+ * * Description: Primary key for the AIAgentCategory record.`),
937
+ Name: z.string().describe(`
938
+ * * Field Name: Name
939
+ * * Display Name: Name
940
+ * * SQL Data Type: nvarchar(200)
941
+ * * Description: Unique display name for the category (e.g., Research, Customer Support, Data Processing).`),
942
+ Description: z.string().nullable().describe(`
943
+ * * Field Name: Description
944
+ * * Display Name: Description
945
+ * * SQL Data Type: nvarchar(MAX)
946
+ * * Description: Optional description explaining the purpose and scope of this category.`),
947
+ ParentID: z.string().nullable().describe(`
948
+ * * Field Name: ParentID
949
+ * * Display Name: Parent
950
+ * * SQL Data Type: uniqueidentifier
951
+ * * Related Entity/Foreign Key: MJ: AI Agent Categories (vwAIAgentCategories.ID)
952
+ * * Description: Self-referencing foreign key to the parent category, forming a tree hierarchy. NULL for root categories.`),
953
+ AssignmentStrategy: z.string().nullable().describe(`
954
+ * * Field Name: AssignmentStrategy
955
+ * * Display Name: Assignment Strategy
956
+ * * SQL Data Type: nvarchar(MAX)
957
+ * * Description: JSON-serialized AgentRequestAssignmentStrategy defining who receives feedback requests for agents in this category. Inherited by child categories that do not define their own strategy.`),
958
+ Status: z.union([z.literal('Active'), z.literal('Disabled'), z.literal('Pending')]).describe(`
959
+ * * Field Name: Status
960
+ * * Display Name: Status
961
+ * * SQL Data Type: nvarchar(20)
962
+ * * Default Value: Active
963
+ * * Value List Type: List
964
+ * * Possible Values
965
+ * * Active
966
+ * * Disabled
967
+ * * Pending
968
+ * * Description: Whether this category is Active, Disabled, or Pending.`),
969
+ __mj_CreatedAt: z.date().describe(`
970
+ * * Field Name: __mj_CreatedAt
971
+ * * Display Name: Created At
972
+ * * SQL Data Type: datetimeoffset
973
+ * * Default Value: getutcdate()`),
974
+ __mj_UpdatedAt: z.date().describe(`
975
+ * * Field Name: __mj_UpdatedAt
976
+ * * Display Name: Updated At
977
+ * * SQL Data Type: datetimeoffset
978
+ * * Default Value: getutcdate()`),
979
+ Parent: z.string().nullable().describe(`
980
+ * * Field Name: Parent
981
+ * * Display Name: Parent Name
982
+ * * SQL Data Type: nvarchar(200)`),
983
+ RootParentID: z.string().nullable().describe(`
984
+ * * Field Name: RootParentID
985
+ * * Display Name: Root Parent
986
+ * * SQL Data Type: uniqueidentifier`),
987
+ });
922
988
  /**
923
989
  * zod schema definition for the entity MJ: AI Agent Configurations
924
990
  */
@@ -1974,6 +2040,63 @@ export const MJAIAgentRelationshipSchema = z.object({
1974
2040
  * * Display Name: Sub Agent
1975
2041
  * * SQL Data Type: nvarchar(255)`),
1976
2042
  });
2043
+ /**
2044
+ * zod schema definition for the entity MJ: AI Agent Request Types
2045
+ */
2046
+ export const MJAIAgentRequestTypeSchema = z.object({
2047
+ ID: z.string().describe(`
2048
+ * * Field Name: ID
2049
+ * * Display Name: ID
2050
+ * * SQL Data Type: uniqueidentifier
2051
+ * * Default Value: newsequentialid()
2052
+ * * Description: Primary key for the AIAgentRequestType record.`),
2053
+ Name: z.string().describe(`
2054
+ * * Field Name: Name
2055
+ * * Display Name: Name
2056
+ * * SQL Data Type: nvarchar(100)
2057
+ * * Description: Unique display name for the request type (e.g., Approval, Information, Choice).`),
2058
+ Description: z.string().nullable().describe(`
2059
+ * * Field Name: Description
2060
+ * * Display Name: Description
2061
+ * * SQL Data Type: nvarchar(MAX)
2062
+ * * Description: Explains when and how this request type should be used by agents.`),
2063
+ Icon: z.string().nullable().describe(`
2064
+ * * Field Name: Icon
2065
+ * * Display Name: Icon
2066
+ * * SQL Data Type: nvarchar(100)
2067
+ * * Description: Font Awesome icon class for UI rendering of this request type.`),
2068
+ __mj_CreatedAt: z.date().describe(`
2069
+ * * Field Name: __mj_CreatedAt
2070
+ * * Display Name: Created At
2071
+ * * SQL Data Type: datetimeoffset
2072
+ * * Default Value: getutcdate()`),
2073
+ __mj_UpdatedAt: z.date().describe(`
2074
+ * * Field Name: __mj_UpdatedAt
2075
+ * * Display Name: Updated At
2076
+ * * SQL Data Type: datetimeoffset
2077
+ * * Default Value: getutcdate()`),
2078
+ DefaultAssignmentStrategy: z.string().nullable().describe(`
2079
+ * * Field Name: DefaultAssignmentStrategy
2080
+ * * Display Name: Default Assignment Strategy
2081
+ * * SQL Data Type: nvarchar(MAX)
2082
+ * * Description: JSON-serialized AgentRequestAssignmentStrategy defining the default assignment strategy for requests of this type. Used as the lowest-priority fallback in the resolution chain.`),
2083
+ DefaultPriority: z.number().nullable().describe(`
2084
+ * * Field Name: DefaultPriority
2085
+ * * Display Name: Default Priority
2086
+ * * SQL Data Type: int
2087
+ * * Description: Default priority (1-100) for requests of this type when no explicit priority is provided. NULL means use the system default of 50.`),
2088
+ DefaultExpirationMinutes: z.number().nullable().describe(`
2089
+ * * Field Name: DefaultExpirationMinutes
2090
+ * * Display Name: Default Expiration (Minutes)
2091
+ * * SQL Data Type: int
2092
+ * * Description: Default expiration time in minutes for requests of this type. NULL means requests do not expire by default.`),
2093
+ RequiresResponse: z.boolean().describe(`
2094
+ * * Field Name: RequiresResponse
2095
+ * * Display Name: Requires Response
2096
+ * * SQL Data Type: bit
2097
+ * * Default Value: 1
2098
+ * * Description: Whether requests of this type require a structured response from the human before the agent can resume. When 0, the agent may proceed with just an acknowledgment.`),
2099
+ });
1977
2100
  /**
1978
2101
  * zod schema definition for the entity MJ: AI Agent Requests
1979
2102
  */
@@ -2001,7 +2124,7 @@ export const MJAIAgentRequestSchema = z.object({
2001
2124
  * * SQL Data Type: uniqueidentifier
2002
2125
  * * Related Entity/Foreign Key: MJ: Users (vwUsers.ID)
2003
2126
  * * Description: Optional, a user that the AI specifically is directing the request to, if null intended for general system owner.`),
2004
- Status: z.union([z.literal('Approved'), z.literal('Canceled'), z.literal('Rejected'), z.literal('Requested')]).describe(`
2127
+ Status: z.union([z.literal('Approved'), z.literal('Canceled'), z.literal('Expired'), z.literal('Rejected'), z.literal('Requested'), z.literal('Responded')]).describe(`
2005
2128
  * * Field Name: Status
2006
2129
  * * Display Name: Status
2007
2130
  * * SQL Data Type: nvarchar(20)
@@ -2009,8 +2132,10 @@ export const MJAIAgentRequestSchema = z.object({
2009
2132
  * * Possible Values
2010
2133
  * * Approved
2011
2134
  * * Canceled
2135
+ * * Expired
2012
2136
  * * Rejected
2013
2137
  * * Requested
2138
+ * * Responded
2014
2139
  * * Description: Current status of the request (Requested, Approved, Rejected, Canceled).`),
2015
2140
  Request: z.string().describe(`
2016
2141
  * * Field Name: Request
@@ -2048,18 +2173,89 @@ export const MJAIAgentRequestSchema = z.object({
2048
2173
  * * Display Name: Updated At
2049
2174
  * * SQL Data Type: datetimeoffset
2050
2175
  * * Default Value: getutcdate()`),
2176
+ RequestTypeID: z.string().nullable().describe(`
2177
+ * * Field Name: RequestTypeID
2178
+ * * Display Name: Request Type
2179
+ * * SQL Data Type: uniqueidentifier
2180
+ * * Related Entity/Foreign Key: MJ: AI Agent Request Types (vwAIAgentRequestTypes.ID)
2181
+ * * Description: Foreign key to AIAgentRequestType. Categorizes the purpose of this request (Approval, Information, Choice, Review, Custom).`),
2182
+ ResponseSchema: z.string().nullable().describe(`
2183
+ * * Field Name: ResponseSchema
2184
+ * * Display Name: Response Schema
2185
+ * * SQL Data Type: nvarchar(MAX)
2186
+ * * Description: JSON-serialized AgentResponseForm defining the structured input form the agent presents to the human. Uses the same form types as ConversationDetail.ResponseForm.`),
2187
+ ResponseData: z.string().nullable().describe(`
2188
+ * * Field Name: ResponseData
2189
+ * * Display Name: Response Data
2190
+ * * SQL Data Type: nvarchar(MAX)
2191
+ * * Description: JSON structured response data provided by the human, conforming to the ResponseSchema definition.`),
2192
+ Priority: z.number().describe(`
2193
+ * * Field Name: Priority
2194
+ * * Display Name: Priority
2195
+ * * SQL Data Type: int
2196
+ * * Default Value: 50
2197
+ * * Description: Urgency level of the request as an integer from 1 (lowest) to 100 (highest). Default is 50. Suggested ranges: 1-25 Low, 26-50 Normal, 51-75 High, 76-100 Critical. Used for notification routing and dashboard sorting.`),
2198
+ ExpiresAt: z.date().nullable().describe(`
2199
+ * * Field Name: ExpiresAt
2200
+ * * Display Name: Expires At
2201
+ * * SQL Data Type: datetimeoffset
2202
+ * * Description: Optional deadline for the human to respond. After this time the request may be marked Expired by a background process.`),
2203
+ OriginatingAgentRunID: z.string().nullable().describe(`
2204
+ * * Field Name: OriginatingAgentRunID
2205
+ * * Display Name: Originating Agent Run
2206
+ * * SQL Data Type: uniqueidentifier
2207
+ * * Related Entity/Foreign Key: MJ: AI Agent Runs (vwAIAgentRuns.ID)
2208
+ * * Description: Foreign key to AIAgentRun. The agent run that created this request. Used to trace request origin in run chains.`),
2209
+ OriginatingAgentRunStepID: z.string().nullable().describe(`
2210
+ * * Field Name: OriginatingAgentRunStepID
2211
+ * * Display Name: Originating Agent Run Step
2212
+ * * SQL Data Type: uniqueidentifier
2213
+ * * Related Entity/Foreign Key: MJ: AI Agent Run Steps (vwAIAgentRunSteps.ID)
2214
+ * * Description: Foreign key to AIAgentRunStep. The specific execution step that triggered this request.`),
2215
+ ResumingAgentRunID: z.string().nullable().describe(`
2216
+ * * Field Name: ResumingAgentRunID
2217
+ * * Display Name: Resuming Agent Run
2218
+ * * SQL Data Type: uniqueidentifier
2219
+ * * Related Entity/Foreign Key: MJ: AI Agent Runs (vwAIAgentRuns.ID)
2220
+ * * Description: Foreign key to AIAgentRun. The new agent run spawned after the human responds. NULL until a response triggers a resuming run.`),
2221
+ ResponseSource: z.union([z.literal('API'), z.literal('Conversation'), z.literal('Dashboard')]).nullable().describe(`
2222
+ * * Field Name: ResponseSource
2223
+ * * Display Name: Response Source
2224
+ * * SQL Data Type: nvarchar(20)
2225
+ * * Value List Type: List
2226
+ * * Possible Values
2227
+ * * API
2228
+ * * Conversation
2229
+ * * Dashboard
2230
+ * * Description: Identifies where the response originated: Conversation (handled by chat resolver), Dashboard (slide-in panel), or API (external integration). Used by the server-side entity subclass to determine whether agent resumption is needed.`),
2051
2231
  Agent: z.string().nullable().describe(`
2052
2232
  * * Field Name: Agent
2053
- * * Display Name: Agent
2233
+ * * Display Name: Agent Name
2054
2234
  * * SQL Data Type: nvarchar(255)`),
2055
2235
  RequestForUser: z.string().nullable().describe(`
2056
2236
  * * Field Name: RequestForUser
2057
- * * Display Name: Request For User
2237
+ * * Display Name: Request For User Name
2058
2238
  * * SQL Data Type: nvarchar(100)`),
2059
2239
  ResponseByUser: z.string().nullable().describe(`
2060
2240
  * * Field Name: ResponseByUser
2061
- * * Display Name: Response By User
2241
+ * * Display Name: Response By User Name
2062
2242
  * * SQL Data Type: nvarchar(100)`),
2243
+ RequestType: z.string().nullable().describe(`
2244
+ * * Field Name: RequestType
2245
+ * * Display Name: Request Type Name
2246
+ * * SQL Data Type: nvarchar(100)`),
2247
+ OriginatingAgentRun: z.string().nullable().describe(`
2248
+ * * Field Name: OriginatingAgentRun
2249
+ * * Display Name: Originating Agent Run Name
2250
+ * * SQL Data Type: nvarchar(255)`),
2251
+ OriginatingAgentRunStep: z.string().nullable().describe(`
2252
+ * * Field Name: OriginatingAgentRunStep
2253
+ * * Display Name: Originating Agent Run Step Name
2254
+ * * SQL Data Type: nvarchar(255)`),
2255
+ ResumingAgentRun: z.string().nullable().describe(`
2256
+ * * Field Name: ResumingAgentRun
2257
+ * * Display Name: Resuming Agent Run Name
2258
+ * * SQL Data Type: nvarchar(255)`),
2063
2259
  });
2064
2260
  /**
2065
2261
  * zod schema definition for the entity MJ: AI Agent Run Medias
@@ -2351,13 +2547,14 @@ export const MJAIAgentRunSchema = z.object({
2351
2547
  * * SQL Data Type: uniqueidentifier
2352
2548
  * * Related Entity/Foreign Key: MJ: AI Agent Runs (vwAIAgentRuns.ID)
2353
2549
  * * Description: Reference to the parent agent run if this is a sub-agent execution. NULL for root-level agent runs. Enables hierarchical execution tracking.`),
2354
- Status: z.union([z.literal('Cancelled'), z.literal('Completed'), z.literal('Failed'), z.literal('Paused'), z.literal('Running')]).describe(`
2550
+ Status: z.union([z.literal('AwaitingFeedback'), z.literal('Cancelled'), z.literal('Completed'), z.literal('Failed'), z.literal('Paused'), z.literal('Running')]).describe(`
2355
2551
  * * Field Name: Status
2356
2552
  * * Display Name: Status
2357
2553
  * * SQL Data Type: nvarchar(50)
2358
2554
  * * Default Value: Running
2359
2555
  * * Value List Type: List
2360
2556
  * * Possible Values
2557
+ * * AwaitingFeedback
2361
2558
  * * Cancelled
2362
2559
  * * Completed
2363
2560
  * * Failed
@@ -2942,12 +3139,17 @@ export const MJAIAgentTypeSchema = z.object({
2942
3139
  * * Description: Determines whether the custom form section (specified by UIFormSectionClass) should be expanded by default when the AI Agent form loads. True means the section starts expanded, False means it starts collapsed. Only applies when UIFormSectionClass is specified. Defaults to 1 (expanded).`),
2943
3140
  PromptParamsSchema: z.string().nullable().describe(`
2944
3141
  * * Field Name: PromptParamsSchema
2945
- * * Display Name: Prompt Params Schema
3142
+ * * Display Name: Prompt Parameters Schema
2946
3143
  * * SQL Data Type: nvarchar(MAX)
2947
3144
  * * Description: JSON Schema defining the available prompt parameters for this agent type. Includes property definitions with types, defaults, and descriptions. Used by agents of this type to customize which prompt sections are included in the system prompt. The schema follows JSON Schema draft-07 format.`),
3145
+ AssignmentStrategy: z.string().nullable().describe(`
3146
+ * * Field Name: AssignmentStrategy
3147
+ * * Display Name: Assignment Strategy
3148
+ * * SQL Data Type: nvarchar(MAX)
3149
+ * * Description: JSON-serialized AgentRequestAssignmentStrategy defining the default assignment strategy for all agents of this type. Overridden by per-invocation or category-level strategies in the resolution chain.`),
2948
3150
  SystemPrompt: z.string().nullable().describe(`
2949
3151
  * * Field Name: SystemPrompt
2950
- * * Display Name: System Prompt
3152
+ * * Display Name: System Prompt Text
2951
3153
  * * SQL Data Type: nvarchar(255)`),
2952
3154
  });
2953
3155
  /**
@@ -3021,17 +3223,17 @@ export const MJAIAgentSchema = z.object({
3021
3223
  * * Description: When true, enables automatic compression of conversation context when the message threshold is reached.`),
3022
3224
  ContextCompressionMessageThreshold: z.number().nullable().describe(`
3023
3225
  * * Field Name: ContextCompressionMessageThreshold
3024
- * * Display Name: Context Compression Message Threshold
3226
+ * * Display Name: Compression Message Threshold
3025
3227
  * * SQL Data Type: int
3026
3228
  * * Description: Number of messages that triggers context compression when EnableContextCompression is true.`),
3027
3229
  ContextCompressionPromptID: z.string().nullable().describe(`
3028
3230
  * * Field Name: ContextCompressionPromptID
3029
- * * Display Name: Context Compression Prompt ID
3231
+ * * Display Name: Context Compression Prompt
3030
3232
  * * SQL Data Type: uniqueidentifier
3031
3233
  * * Related Entity/Foreign Key: MJ: AI Prompts (vwAIPrompts.ID)`),
3032
3234
  ContextCompressionMessageRetentionCount: z.number().nullable().describe(`
3033
3235
  * * Field Name: ContextCompressionMessageRetentionCount
3034
- * * Display Name: Context Compression Message Retention Count
3236
+ * * Display Name: Compression Message Retention Count
3035
3237
  * * SQL Data Type: int
3036
3238
  * * Description: Number of recent messages to keep uncompressed when context compression is applied.`),
3037
3239
  TypeID: z.string().nullable().describe(`
@@ -3195,7 +3397,7 @@ if this limit is exceeded.`),
3195
3397
  * * Description: Default artifact type produced by this agent. This is the primary artifact type; additional artifact types can be linked via AIAgentArtifactType junction table. Can be NULL if agent does not produce artifacts by default.`),
3196
3398
  OwnerUserID: z.string().describe(`
3197
3399
  * * Field Name: OwnerUserID
3198
- * * Display Name: Owner User ID
3400
+ * * Display Name: Owner
3199
3401
  * * SQL Data Type: uniqueidentifier
3200
3402
  * * Related Entity/Foreign Key: MJ: Users (vwUsers.ID)
3201
3403
  * * Default Value: ECAFCCEC-6A37-EF11-86D4-000D3A4E707E
@@ -3303,7 +3505,7 @@ if this limit is exceeded.`),
3303
3505
  * * Description: Maximum number of conversation messages to include when MessageMode is 'Latest' or 'Bookend'. NULL means no limit (ignored for 'None' and 'All' modes). Must be greater than 0 if specified. For 'Latest': keeps most recent N messages. For 'Bookend': keeps first 2 + most recent (N-2) messages.`),
3304
3506
  AttachmentStorageProviderID: z.string().nullable().describe(`
3305
3507
  * * Field Name: AttachmentStorageProviderID
3306
- * * Display Name: Attachment Storage Provider ID
3508
+ * * Display Name: Attachment Storage Provider
3307
3509
  * * SQL Data Type: uniqueidentifier
3308
3510
  * * Related Entity/Foreign Key: MJ: File Storage Providers (vwFileStorageProviders.ID)
3309
3511
  * * Description: File storage provider for large attachments. Overrides the default from AIConfiguration. NULL uses system default.`),
@@ -3314,7 +3516,7 @@ if this limit is exceeded.`),
3314
3516
  * * Description: Base path within the storage provider for this agent's attachments. Agent run ID and sequence number are appended to create unique paths. Format: /folder/subfolder`),
3315
3517
  InlineStorageThresholdBytes: z.number().nullable().describe(`
3316
3518
  * * Field Name: InlineStorageThresholdBytes
3317
- * * Display Name: Inline Storage Threshold Bytes
3519
+ * * Display Name: Inline Storage Threshold (Bytes)
3318
3520
  * * SQL Data Type: int
3319
3521
  * * Description: File size threshold for inline storage. Files <= this size are stored as base64 inline, larger files use MJStorage. NULL uses system default (1MB). Set to 0 to always use MJStorage.`),
3320
3522
  AgentTypePromptParams: z.string().nullable().describe(`
@@ -3324,18 +3526,18 @@ if this limit is exceeded.`),
3324
3526
  * * Description: JSON object containing parameter values that customize how this agent's type-level system prompt is rendered. The schema is defined by the agent type's PromptParamsSchema field. Allows per-agent control over which prompt sections are included, enabling token savings by excluding unused documentation.`),
3325
3527
  ScopeConfig: z.string().nullable().describe(`
3326
3528
  * * Field Name: ScopeConfig
3327
- * * Display Name: Scope Config
3529
+ * * Display Name: Scope Configuration
3328
3530
  * * SQL Data Type: nvarchar(MAX)
3329
3531
  * * Description: JSON configuration defining scope dimensions for multi-tenant deployments. Example: {"dimensions":[{"name":"OrganizationID","entityId":"...","isPrimary":true,"required":true},{"name":"ContactID","entityId":"...","isPrimary":false,"required":false}],"inheritanceMode":"cascading"}`),
3330
3532
  NoteRetentionDays: z.number().nullable().describe(`
3331
3533
  * * Field Name: NoteRetentionDays
3332
- * * Display Name: Note Retention Days
3534
+ * * Display Name: Note Retention (Days)
3333
3535
  * * SQL Data Type: int
3334
3536
  * * Default Value: 90
3335
3537
  * * Description: Number of days to retain notes before archiving due to inactivity. Default 90. NULL means use system default.`),
3336
3538
  ExampleRetentionDays: z.number().nullable().describe(`
3337
3539
  * * Field Name: ExampleRetentionDays
3338
- * * Display Name: Example Retention Days
3540
+ * * Display Name: Example Retention (Days)
3339
3541
  * * SQL Data Type: int
3340
3542
  * * Default Value: 180
3341
3543
  * * Description: Number of days to retain examples before archiving due to inactivity. Default 180. NULL means use system default.`),
@@ -3350,33 +3552,43 @@ if this limit is exceeded.`),
3350
3552
  * * Display Name: Reranker Configuration
3351
3553
  * * SQL Data Type: nvarchar(MAX)
3352
3554
  * * Description: JSON configuration for optional reranking of retrieved memory items. Schema: { enabled: boolean, rerankerModelId: string, retrievalMultiplier: number (default 3), minRelevanceThreshold: number (default 0.5), rerankPromptId?: string, contextFields?: string[], fallbackOnError: boolean (default true) }. When null or disabled, vector search results are used directly without reranking.`),
3555
+ CategoryID: z.string().nullable().describe(`
3556
+ * * Field Name: CategoryID
3557
+ * * Display Name: Category
3558
+ * * SQL Data Type: uniqueidentifier
3559
+ * * Related Entity/Foreign Key: MJ: AI Agent Categories (vwAIAgentCategories.ID)
3560
+ * * Description: Foreign key to AIAgentCategory. Assigns this agent to an organizational category for grouping, filtering, and inherited assignment strategy resolution.`),
3353
3561
  Parent: z.string().nullable().describe(`
3354
3562
  * * Field Name: Parent
3355
- * * Display Name: Parent
3563
+ * * Display Name: Parent Name
3356
3564
  * * SQL Data Type: nvarchar(255)`),
3357
3565
  ContextCompressionPrompt: z.string().nullable().describe(`
3358
3566
  * * Field Name: ContextCompressionPrompt
3359
- * * Display Name: Context Compression Prompt
3567
+ * * Display Name: Context Compression Prompt Name
3360
3568
  * * SQL Data Type: nvarchar(255)`),
3361
3569
  Type: z.string().nullable().describe(`
3362
3570
  * * Field Name: Type
3363
- * * Display Name: Type
3571
+ * * Display Name: Type Name
3364
3572
  * * SQL Data Type: nvarchar(100)`),
3365
3573
  DefaultArtifactType: z.string().nullable().describe(`
3366
3574
  * * Field Name: DefaultArtifactType
3367
- * * Display Name: Default Artifact Type
3575
+ * * Display Name: Default Artifact Type Name
3368
3576
  * * SQL Data Type: nvarchar(100)`),
3369
3577
  OwnerUser: z.string().describe(`
3370
3578
  * * Field Name: OwnerUser
3371
- * * Display Name: Owner User
3579
+ * * Display Name: Owner Name
3372
3580
  * * SQL Data Type: nvarchar(100)`),
3373
3581
  AttachmentStorageProvider: z.string().nullable().describe(`
3374
3582
  * * Field Name: AttachmentStorageProvider
3375
- * * Display Name: Attachment Storage Provider
3583
+ * * Display Name: Attachment Storage Provider Name
3376
3584
  * * SQL Data Type: nvarchar(50)`),
3585
+ Category: z.string().nullable().describe(`
3586
+ * * Field Name: Category
3587
+ * * Display Name: Category Name
3588
+ * * SQL Data Type: nvarchar(200)`),
3377
3589
  RootParentID: z.string().nullable().describe(`
3378
3590
  * * Field Name: RootParentID
3379
- * * Display Name: Root Parent ID
3591
+ * * Display Name: Root Parent
3380
3592
  * * SQL Data Type: uniqueidentifier`),
3381
3593
  });
3382
3594
  /**
@@ -14308,7 +14520,7 @@ export const MJIntegrationObjectSchema = z.object({
14308
14520
  * * Description: Foreign key to the Integration that owns this object`),
14309
14521
  Name: z.string().describe(`
14310
14522
  * * Field Name: Name
14311
- * * Display Name: Internal Name
14523
+ * * Display Name: Name
14312
14524
  * * SQL Data Type: nvarchar(255)
14313
14525
  * * Description: Internal/programmatic name of the external object (e.g., Members, Events)`),
14314
14526
  DisplayName: z.string().nullable().describe(`
@@ -14409,6 +14621,23 @@ export const MJIntegrationObjectSchema = z.object({
14409
14621
  * * Display Name: Updated At
14410
14622
  * * SQL Data Type: datetimeoffset
14411
14623
  * * Default Value: getutcdate()`),
14624
+ WriteAPIPath: z.string().nullable().describe(`
14625
+ * * Field Name: WriteAPIPath
14626
+ * * Display Name: Write API Path
14627
+ * * SQL Data Type: nvarchar(500)
14628
+ * * Description: API path for create/update operations when different from the read APIPath. If NULL, the read APIPath is used for writes as well.`),
14629
+ WriteMethod: z.string().nullable().describe(`
14630
+ * * Field Name: WriteMethod
14631
+ * * Display Name: Write Method
14632
+ * * SQL Data Type: nvarchar(10)
14633
+ * * Default Value: POST
14634
+ * * Description: HTTP method for create operations. Defaults to POST.`),
14635
+ DeleteMethod: z.string().nullable().describe(`
14636
+ * * Field Name: DeleteMethod
14637
+ * * Display Name: Delete Method
14638
+ * * SQL Data Type: nvarchar(10)
14639
+ * * Default Value: DELETE
14640
+ * * Description: HTTP method for delete operations. Defaults to DELETE.`),
14412
14641
  Integration: z.string().describe(`
14413
14642
  * * Field Name: Integration
14414
14643
  * * Display Name: Integration Name
@@ -14574,6 +14803,11 @@ export const MJIntegrationSchema = z.object({
14574
14803
  * * SQL Data Type: uniqueidentifier
14575
14804
  * * Related Entity/Foreign Key: MJ: Credential Types (vwCredentialTypes.ID)
14576
14805
  * * Description: Optional link to the credential type required by this integration. Used by the UI to pre-select the credential type when creating new credentials and to filter existing credentials.`),
14806
+ Icon: z.string().nullable().describe(`
14807
+ * * Field Name: Icon
14808
+ * * Display Name: Icon
14809
+ * * SQL Data Type: nvarchar(MAX)
14810
+ * * Description: Icon for the integration. Supports Font Awesome CSS classes, image URLs, or base64 data URIs.`),
14577
14811
  CredentialType: z.string().nullable().describe(`
14578
14812
  * * Field Name: CredentialType
14579
14813
  * * Display Name: Credential Type Name
@@ -16547,6 +16781,12 @@ export const MJQuerySchema = z.object({
16547
16781
  * * Related Entity/Foreign Key: MJ: SQL Dialects (vwSQLDialects.ID)
16548
16782
  * * Default Value: 1F203987-A37B-4BC1-85B3-BA50DC33C3E0
16549
16783
  * * Description: The SQL dialect that the SQL column is written in. Defaults to T-SQL for backward compatibility.`),
16784
+ Reusable: z.boolean().describe(`
16785
+ * * Field Name: Reusable
16786
+ * * Display Name: Is Reusable
16787
+ * * SQL Data Type: bit
16788
+ * * Default Value: 0
16789
+ * * Description: When true, this query can be referenced by other queries using composition syntax. Only queries that are both Reusable and Approved can be composed into other queries.`),
16550
16790
  Category: z.string().nullable().describe(`
16551
16791
  * * Field Name: Category
16552
16792
  * * Display Name: Category Name
@@ -16632,6 +16872,71 @@ export const MJQueryCategorySchema = z.object({
16632
16872
  * * Display Name: Root Parent ID
16633
16873
  * * SQL Data Type: uniqueidentifier`),
16634
16874
  });
16875
+ /**
16876
+ * zod schema definition for the entity MJ: Query Dependencies
16877
+ */
16878
+ export const MJQueryDependencySchema = z.object({
16879
+ ID: z.string().describe(`
16880
+ * * Field Name: ID
16881
+ * * Display Name: ID
16882
+ * * SQL Data Type: uniqueidentifier
16883
+ * * Default Value: newsequentialid()`),
16884
+ QueryID: z.string().describe(`
16885
+ * * Field Name: QueryID
16886
+ * * Display Name: Query
16887
+ * * SQL Data Type: uniqueidentifier
16888
+ * * Related Entity/Foreign Key: MJ: Queries (vwQueries.ID)
16889
+ * * Description: Foreign key to the query that contains the composition reference.`),
16890
+ DependsOnQueryID: z.string().describe(`
16891
+ * * Field Name: DependsOnQueryID
16892
+ * * Display Name: Depends On Query
16893
+ * * SQL Data Type: uniqueidentifier
16894
+ * * Related Entity/Foreign Key: MJ: Queries (vwQueries.ID)
16895
+ * * Description: Foreign key to the referenced (depended-upon) query.`),
16896
+ ReferencePath: z.string().describe(`
16897
+ * * Field Name: ReferencePath
16898
+ * * Display Name: Reference Path
16899
+ * * SQL Data Type: nvarchar(500)
16900
+ * * Description: The full composition reference path as written in the SQL.`),
16901
+ Alias: z.string().nullable().describe(`
16902
+ * * Field Name: Alias
16903
+ * * Display Name: Alias
16904
+ * * SQL Data Type: nvarchar(100)
16905
+ * * Description: SQL alias used for the composed CTE in the referencing query.`),
16906
+ ParameterMapping: z.string().nullable().describe(`
16907
+ * * Field Name: ParameterMapping
16908
+ * * Display Name: Parameter Mapping
16909
+ * * SQL Data Type: nvarchar(MAX)
16910
+ * * Description: JSON object mapping parameter names to values or pass-through parameter names.`),
16911
+ DetectionMethod: z.union([z.literal('Auto'), z.literal('Manual')]).describe(`
16912
+ * * Field Name: DetectionMethod
16913
+ * * Display Name: Detection Method
16914
+ * * SQL Data Type: nvarchar(20)
16915
+ * * Default Value: Auto
16916
+ * * Value List Type: List
16917
+ * * Possible Values
16918
+ * * Auto
16919
+ * * Manual
16920
+ * * Description: How the dependency was detected: Auto (parsed from SQL) or Manual (user-specified).`),
16921
+ __mj_CreatedAt: z.date().describe(`
16922
+ * * Field Name: __mj_CreatedAt
16923
+ * * Display Name: Created At
16924
+ * * SQL Data Type: datetimeoffset
16925
+ * * Default Value: getutcdate()`),
16926
+ __mj_UpdatedAt: z.date().describe(`
16927
+ * * Field Name: __mj_UpdatedAt
16928
+ * * Display Name: Updated At
16929
+ * * SQL Data Type: datetimeoffset
16930
+ * * Default Value: getutcdate()`),
16931
+ Query: z.string().describe(`
16932
+ * * Field Name: Query
16933
+ * * Display Name: Source Query Name
16934
+ * * SQL Data Type: nvarchar(255)`),
16935
+ DependsOnQuery: z.string().describe(`
16936
+ * * Field Name: DependsOnQuery
16937
+ * * Display Name: Target Query Name
16938
+ * * SQL Data Type: nvarchar(255)`),
16939
+ });
16635
16940
  /**
16636
16941
  * zod schema definition for the entity MJ: Query Entities
16637
16942
  */
@@ -23309,9 +23614,9 @@ let MJActionParamEntity = class MJActionParamEntity extends BaseEntity {
23309
23614
  * * Possible Values
23310
23615
  * * BaseEntity Sub-Class
23311
23616
  * * BaseEntity Sub-Class
23312
- * * Other
23313
23617
  * * MediaOutput
23314
23618
  * * Other
23619
+ * * Other
23315
23620
  * * Scalar
23316
23621
  * * Scalar
23317
23622
  * * Simple Object
@@ -23786,7 +24091,7 @@ let MJActionEntity = class MJActionEntity extends BaseEntity {
23786
24091
  }
23787
24092
  /**
23788
24093
  * * Field Name: RetentionPeriod
23789
- * * Display Name: Retention Period
24094
+ * * Display Name: Retention Period (Days)
23790
24095
  * * SQL Data Type: int
23791
24096
  * * Description: Number of days to retain execution logs; NULL for indefinite.
23792
24097
  */
@@ -23883,8 +24188,21 @@ let MJActionEntity = class MJActionEntity extends BaseEntity {
23883
24188
  this.Set('DefaultCompactPromptID', value);
23884
24189
  }
23885
24190
  /**
24191
+ * * Field Name: Config
24192
+ * * Display Name: Configuration
24193
+ * * SQL Data Type: nvarchar(MAX)
24194
+ * * Description: Optional JSON configuration for the action. For integration actions, contains routing info: integrationName, objectName, verb, and optional connectorConfig. Non-integration actions leave this NULL.
24195
+ * * NOTE: Property renamed to `Config_` to avoid conflict with BaseEntity.Config
24196
+ */
24197
+ get Config_() {
24198
+ return this.Get('Config');
24199
+ }
24200
+ set Config_(value) {
24201
+ this.Set('Config', value);
24202
+ }
24203
+ /**
23886
24204
  * * Field Name: Category
23887
- * * Display Name: Category
24205
+ * * Display Name: Category Name
23888
24206
  * * SQL Data Type: nvarchar(255)
23889
24207
  */
23890
24208
  get Category() {
@@ -23892,7 +24210,7 @@ let MJActionEntity = class MJActionEntity extends BaseEntity {
23892
24210
  }
23893
24211
  /**
23894
24212
  * * Field Name: CodeApprovedByUser
23895
- * * Display Name: Code Approved By User
24213
+ * * Display Name: Code Approved By (User)
23896
24214
  * * SQL Data Type: nvarchar(100)
23897
24215
  */
23898
24216
  get CodeApprovedByUser() {
@@ -23900,7 +24218,7 @@ let MJActionEntity = class MJActionEntity extends BaseEntity {
23900
24218
  }
23901
24219
  /**
23902
24220
  * * Field Name: Parent
23903
- * * Display Name: Parent
24221
+ * * Display Name: Parent Name
23904
24222
  * * SQL Data Type: nvarchar(425)
23905
24223
  */
23906
24224
  get Parent() {
@@ -23908,7 +24226,7 @@ let MJActionEntity = class MJActionEntity extends BaseEntity {
23908
24226
  }
23909
24227
  /**
23910
24228
  * * Field Name: DefaultCompactPrompt
23911
- * * Display Name: Default Compact Prompt
24229
+ * * Display Name: Default Compact Prompt Text
23912
24230
  * * SQL Data Type: nvarchar(255)
23913
24231
  */
23914
24232
  get DefaultCompactPrompt() {
@@ -24532,6 +24850,153 @@ MJAIAgentArtifactTypeEntity = __decorate([
24532
24850
  RegisterClass(BaseEntity, 'MJ: AI Agent Artifact Types')
24533
24851
  ], MJAIAgentArtifactTypeEntity);
24534
24852
  export { MJAIAgentArtifactTypeEntity };
24853
+ /**
24854
+ * MJ: AI Agent Categories - strongly typed entity sub-class
24855
+ * * Schema: __mj
24856
+ * * Base Table: AIAgentCategory
24857
+ * * Base View: vwAIAgentCategories
24858
+ * * @description Hierarchical organizational grouping for AI agents. Categories form a tree via the ParentID self-referencing foreign key and can carry inherited assignment strategies.
24859
+ * * Primary Key: ID
24860
+ * @extends {BaseEntity}
24861
+ * @class
24862
+ * @public
24863
+ */
24864
+ let MJAIAgentCategoryEntity = class MJAIAgentCategoryEntity extends BaseEntity {
24865
+ /**
24866
+ * Loads the MJ: AI Agent Categories record from the database
24867
+ * @param ID: string - primary key value to load the MJ: AI Agent Categories record.
24868
+ * @param EntityRelationshipsToLoad - (optional) the relationships to load
24869
+ * @returns {Promise<boolean>} - true if successful, false otherwise
24870
+ * @public
24871
+ * @async
24872
+ * @memberof MJAIAgentCategoryEntity
24873
+ * @method
24874
+ * @override
24875
+ */
24876
+ async Load(ID, EntityRelationshipsToLoad) {
24877
+ const compositeKey = new CompositeKey();
24878
+ compositeKey.KeyValuePairs.push({ FieldName: 'ID', Value: ID });
24879
+ return await super.InnerLoad(compositeKey, EntityRelationshipsToLoad);
24880
+ }
24881
+ /**
24882
+ * * Field Name: ID
24883
+ * * Display Name: ID
24884
+ * * SQL Data Type: uniqueidentifier
24885
+ * * Default Value: newsequentialid()
24886
+ * * Description: Primary key for the AIAgentCategory record.
24887
+ */
24888
+ get ID() {
24889
+ return this.Get('ID');
24890
+ }
24891
+ set ID(value) {
24892
+ this.Set('ID', value);
24893
+ }
24894
+ /**
24895
+ * * Field Name: Name
24896
+ * * Display Name: Name
24897
+ * * SQL Data Type: nvarchar(200)
24898
+ * * Description: Unique display name for the category (e.g., Research, Customer Support, Data Processing).
24899
+ */
24900
+ get Name() {
24901
+ return this.Get('Name');
24902
+ }
24903
+ set Name(value) {
24904
+ this.Set('Name', value);
24905
+ }
24906
+ /**
24907
+ * * Field Name: Description
24908
+ * * Display Name: Description
24909
+ * * SQL Data Type: nvarchar(MAX)
24910
+ * * Description: Optional description explaining the purpose and scope of this category.
24911
+ */
24912
+ get Description() {
24913
+ return this.Get('Description');
24914
+ }
24915
+ set Description(value) {
24916
+ this.Set('Description', value);
24917
+ }
24918
+ /**
24919
+ * * Field Name: ParentID
24920
+ * * Display Name: Parent
24921
+ * * SQL Data Type: uniqueidentifier
24922
+ * * Related Entity/Foreign Key: MJ: AI Agent Categories (vwAIAgentCategories.ID)
24923
+ * * Description: Self-referencing foreign key to the parent category, forming a tree hierarchy. NULL for root categories.
24924
+ */
24925
+ get ParentID() {
24926
+ return this.Get('ParentID');
24927
+ }
24928
+ set ParentID(value) {
24929
+ this.Set('ParentID', value);
24930
+ }
24931
+ /**
24932
+ * * Field Name: AssignmentStrategy
24933
+ * * Display Name: Assignment Strategy
24934
+ * * SQL Data Type: nvarchar(MAX)
24935
+ * * Description: JSON-serialized AgentRequestAssignmentStrategy defining who receives feedback requests for agents in this category. Inherited by child categories that do not define their own strategy.
24936
+ */
24937
+ get AssignmentStrategy() {
24938
+ return this.Get('AssignmentStrategy');
24939
+ }
24940
+ set AssignmentStrategy(value) {
24941
+ this.Set('AssignmentStrategy', value);
24942
+ }
24943
+ /**
24944
+ * * Field Name: Status
24945
+ * * Display Name: Status
24946
+ * * SQL Data Type: nvarchar(20)
24947
+ * * Default Value: Active
24948
+ * * Value List Type: List
24949
+ * * Possible Values
24950
+ * * Active
24951
+ * * Disabled
24952
+ * * Pending
24953
+ * * Description: Whether this category is Active, Disabled, or Pending.
24954
+ */
24955
+ get Status() {
24956
+ return this.Get('Status');
24957
+ }
24958
+ set Status(value) {
24959
+ this.Set('Status', value);
24960
+ }
24961
+ /**
24962
+ * * Field Name: __mj_CreatedAt
24963
+ * * Display Name: Created At
24964
+ * * SQL Data Type: datetimeoffset
24965
+ * * Default Value: getutcdate()
24966
+ */
24967
+ get __mj_CreatedAt() {
24968
+ return this.Get('__mj_CreatedAt');
24969
+ }
24970
+ /**
24971
+ * * Field Name: __mj_UpdatedAt
24972
+ * * Display Name: Updated At
24973
+ * * SQL Data Type: datetimeoffset
24974
+ * * Default Value: getutcdate()
24975
+ */
24976
+ get __mj_UpdatedAt() {
24977
+ return this.Get('__mj_UpdatedAt');
24978
+ }
24979
+ /**
24980
+ * * Field Name: Parent
24981
+ * * Display Name: Parent Name
24982
+ * * SQL Data Type: nvarchar(200)
24983
+ */
24984
+ get Parent() {
24985
+ return this.Get('Parent');
24986
+ }
24987
+ /**
24988
+ * * Field Name: RootParentID
24989
+ * * Display Name: Root Parent
24990
+ * * SQL Data Type: uniqueidentifier
24991
+ */
24992
+ get RootParentID() {
24993
+ return this.Get('RootParentID');
24994
+ }
24995
+ };
24996
+ MJAIAgentCategoryEntity = __decorate([
24997
+ RegisterClass(BaseEntity, 'MJ: AI Agent Categories')
24998
+ ], MJAIAgentCategoryEntity);
24999
+ export { MJAIAgentCategoryEntity };
24535
25000
  /**
24536
25001
  * MJ: AI Agent Configurations - strongly typed entity sub-class
24537
25002
  * * Schema: __mj
@@ -27108,6 +27573,155 @@ MJAIAgentRelationshipEntity = __decorate([
27108
27573
  RegisterClass(BaseEntity, 'MJ: AI Agent Relationships')
27109
27574
  ], MJAIAgentRelationshipEntity);
27110
27575
  export { MJAIAgentRelationshipEntity };
27576
+ /**
27577
+ * MJ: AI Agent Request Types - strongly typed entity sub-class
27578
+ * * Schema: __mj
27579
+ * * Base Table: AIAgentRequestType
27580
+ * * Base View: vwAIAgentRequestTypes
27581
+ * * @description Lookup table categorizing the types of requests an agent can make to a human (e.g., Approval, Information, Choice, Review, Custom).
27582
+ * * Primary Key: ID
27583
+ * @extends {BaseEntity}
27584
+ * @class
27585
+ * @public
27586
+ */
27587
+ let MJAIAgentRequestTypeEntity = class MJAIAgentRequestTypeEntity extends BaseEntity {
27588
+ /**
27589
+ * Loads the MJ: AI Agent Request Types record from the database
27590
+ * @param ID: string - primary key value to load the MJ: AI Agent Request Types record.
27591
+ * @param EntityRelationshipsToLoad - (optional) the relationships to load
27592
+ * @returns {Promise<boolean>} - true if successful, false otherwise
27593
+ * @public
27594
+ * @async
27595
+ * @memberof MJAIAgentRequestTypeEntity
27596
+ * @method
27597
+ * @override
27598
+ */
27599
+ async Load(ID, EntityRelationshipsToLoad) {
27600
+ const compositeKey = new CompositeKey();
27601
+ compositeKey.KeyValuePairs.push({ FieldName: 'ID', Value: ID });
27602
+ return await super.InnerLoad(compositeKey, EntityRelationshipsToLoad);
27603
+ }
27604
+ /**
27605
+ * * Field Name: ID
27606
+ * * Display Name: ID
27607
+ * * SQL Data Type: uniqueidentifier
27608
+ * * Default Value: newsequentialid()
27609
+ * * Description: Primary key for the AIAgentRequestType record.
27610
+ */
27611
+ get ID() {
27612
+ return this.Get('ID');
27613
+ }
27614
+ set ID(value) {
27615
+ this.Set('ID', value);
27616
+ }
27617
+ /**
27618
+ * * Field Name: Name
27619
+ * * Display Name: Name
27620
+ * * SQL Data Type: nvarchar(100)
27621
+ * * Description: Unique display name for the request type (e.g., Approval, Information, Choice).
27622
+ */
27623
+ get Name() {
27624
+ return this.Get('Name');
27625
+ }
27626
+ set Name(value) {
27627
+ this.Set('Name', value);
27628
+ }
27629
+ /**
27630
+ * * Field Name: Description
27631
+ * * Display Name: Description
27632
+ * * SQL Data Type: nvarchar(MAX)
27633
+ * * Description: Explains when and how this request type should be used by agents.
27634
+ */
27635
+ get Description() {
27636
+ return this.Get('Description');
27637
+ }
27638
+ set Description(value) {
27639
+ this.Set('Description', value);
27640
+ }
27641
+ /**
27642
+ * * Field Name: Icon
27643
+ * * Display Name: Icon
27644
+ * * SQL Data Type: nvarchar(100)
27645
+ * * Description: Font Awesome icon class for UI rendering of this request type.
27646
+ */
27647
+ get Icon() {
27648
+ return this.Get('Icon');
27649
+ }
27650
+ set Icon(value) {
27651
+ this.Set('Icon', value);
27652
+ }
27653
+ /**
27654
+ * * Field Name: __mj_CreatedAt
27655
+ * * Display Name: Created At
27656
+ * * SQL Data Type: datetimeoffset
27657
+ * * Default Value: getutcdate()
27658
+ */
27659
+ get __mj_CreatedAt() {
27660
+ return this.Get('__mj_CreatedAt');
27661
+ }
27662
+ /**
27663
+ * * Field Name: __mj_UpdatedAt
27664
+ * * Display Name: Updated At
27665
+ * * SQL Data Type: datetimeoffset
27666
+ * * Default Value: getutcdate()
27667
+ */
27668
+ get __mj_UpdatedAt() {
27669
+ return this.Get('__mj_UpdatedAt');
27670
+ }
27671
+ /**
27672
+ * * Field Name: DefaultAssignmentStrategy
27673
+ * * Display Name: Default Assignment Strategy
27674
+ * * SQL Data Type: nvarchar(MAX)
27675
+ * * Description: JSON-serialized AgentRequestAssignmentStrategy defining the default assignment strategy for requests of this type. Used as the lowest-priority fallback in the resolution chain.
27676
+ */
27677
+ get DefaultAssignmentStrategy() {
27678
+ return this.Get('DefaultAssignmentStrategy');
27679
+ }
27680
+ set DefaultAssignmentStrategy(value) {
27681
+ this.Set('DefaultAssignmentStrategy', value);
27682
+ }
27683
+ /**
27684
+ * * Field Name: DefaultPriority
27685
+ * * Display Name: Default Priority
27686
+ * * SQL Data Type: int
27687
+ * * Description: Default priority (1-100) for requests of this type when no explicit priority is provided. NULL means use the system default of 50.
27688
+ */
27689
+ get DefaultPriority() {
27690
+ return this.Get('DefaultPriority');
27691
+ }
27692
+ set DefaultPriority(value) {
27693
+ this.Set('DefaultPriority', value);
27694
+ }
27695
+ /**
27696
+ * * Field Name: DefaultExpirationMinutes
27697
+ * * Display Name: Default Expiration (Minutes)
27698
+ * * SQL Data Type: int
27699
+ * * Description: Default expiration time in minutes for requests of this type. NULL means requests do not expire by default.
27700
+ */
27701
+ get DefaultExpirationMinutes() {
27702
+ return this.Get('DefaultExpirationMinutes');
27703
+ }
27704
+ set DefaultExpirationMinutes(value) {
27705
+ this.Set('DefaultExpirationMinutes', value);
27706
+ }
27707
+ /**
27708
+ * * Field Name: RequiresResponse
27709
+ * * Display Name: Requires Response
27710
+ * * SQL Data Type: bit
27711
+ * * Default Value: 1
27712
+ * * Description: Whether requests of this type require a structured response from the human before the agent can resume. When 0, the agent may proceed with just an acknowledgment.
27713
+ */
27714
+ get RequiresResponse() {
27715
+ return this.Get('RequiresResponse');
27716
+ }
27717
+ set RequiresResponse(value) {
27718
+ this.Set('RequiresResponse', value);
27719
+ }
27720
+ };
27721
+ MJAIAgentRequestTypeEntity = __decorate([
27722
+ RegisterClass(BaseEntity, 'MJ: AI Agent Request Types')
27723
+ ], MJAIAgentRequestTypeEntity);
27724
+ export { MJAIAgentRequestTypeEntity };
27111
27725
  /**
27112
27726
  * MJ: AI Agent Requests - strongly typed entity sub-class
27113
27727
  * * Schema: __mj
@@ -27137,6 +27751,31 @@ let MJAIAgentRequestEntity = class MJAIAgentRequestEntity extends BaseEntity {
27137
27751
  return await super.InnerLoad(compositeKey, EntityRelationshipsToLoad);
27138
27752
  }
27139
27753
  /**
27754
+ * Validate() method override for MJ: AI Agent Requests entity. This is an auto-generated method that invokes the generated validators for this entity for the following fields:
27755
+ * * Priority: Priority must be between 1 and 100 to ensure requests are correctly ranked and processed within the allowed range.
27756
+ * @public
27757
+ * @method
27758
+ * @override
27759
+ */
27760
+ Validate() {
27761
+ const result = super.Validate();
27762
+ this.ValidatePriorityRange(result);
27763
+ result.Success = result.Success && (result.Errors.length === 0);
27764
+ return result;
27765
+ }
27766
+ /**
27767
+ * Priority must be between 1 and 100 to ensure requests are correctly ranked and processed within the allowed range.
27768
+ * @param result - the ValidationResult object to add any errors or warnings to
27769
+ * @public
27770
+ * @method
27771
+ */
27772
+ ValidatePriorityRange(result) {
27773
+ // Check if Priority is within the allowed range of 1 to 100
27774
+ if (this.Priority != null && (this.Priority < 1 || this.Priority > 100)) {
27775
+ result.Errors.push(new ValidationErrorInfo("Priority", "Priority must be between 1 and 100.", this.Priority, ValidationErrorType.Failure));
27776
+ }
27777
+ }
27778
+ /**
27140
27779
  * * Field Name: ID
27141
27780
  * * Display Name: ID
27142
27781
  * * SQL Data Type: uniqueidentifier
@@ -27195,8 +27834,10 @@ let MJAIAgentRequestEntity = class MJAIAgentRequestEntity extends BaseEntity {
27195
27834
  * * Possible Values
27196
27835
  * * Approved
27197
27836
  * * Canceled
27837
+ * * Expired
27198
27838
  * * Rejected
27199
27839
  * * Requested
27840
+ * * Responded
27200
27841
  * * Description: Current status of the request (Requested, Approved, Rejected, Canceled).
27201
27842
  */
27202
27843
  get Status() {
@@ -27285,8 +27926,126 @@ let MJAIAgentRequestEntity = class MJAIAgentRequestEntity extends BaseEntity {
27285
27926
  return this.Get('__mj_UpdatedAt');
27286
27927
  }
27287
27928
  /**
27929
+ * * Field Name: RequestTypeID
27930
+ * * Display Name: Request Type
27931
+ * * SQL Data Type: uniqueidentifier
27932
+ * * Related Entity/Foreign Key: MJ: AI Agent Request Types (vwAIAgentRequestTypes.ID)
27933
+ * * Description: Foreign key to AIAgentRequestType. Categorizes the purpose of this request (Approval, Information, Choice, Review, Custom).
27934
+ */
27935
+ get RequestTypeID() {
27936
+ return this.Get('RequestTypeID');
27937
+ }
27938
+ set RequestTypeID(value) {
27939
+ this.Set('RequestTypeID', value);
27940
+ }
27941
+ /**
27942
+ * * Field Name: ResponseSchema
27943
+ * * Display Name: Response Schema
27944
+ * * SQL Data Type: nvarchar(MAX)
27945
+ * * Description: JSON-serialized AgentResponseForm defining the structured input form the agent presents to the human. Uses the same form types as ConversationDetail.ResponseForm.
27946
+ */
27947
+ get ResponseSchema() {
27948
+ return this.Get('ResponseSchema');
27949
+ }
27950
+ set ResponseSchema(value) {
27951
+ this.Set('ResponseSchema', value);
27952
+ }
27953
+ /**
27954
+ * * Field Name: ResponseData
27955
+ * * Display Name: Response Data
27956
+ * * SQL Data Type: nvarchar(MAX)
27957
+ * * Description: JSON structured response data provided by the human, conforming to the ResponseSchema definition.
27958
+ */
27959
+ get ResponseData() {
27960
+ return this.Get('ResponseData');
27961
+ }
27962
+ set ResponseData(value) {
27963
+ this.Set('ResponseData', value);
27964
+ }
27965
+ /**
27966
+ * * Field Name: Priority
27967
+ * * Display Name: Priority
27968
+ * * SQL Data Type: int
27969
+ * * Default Value: 50
27970
+ * * Description: Urgency level of the request as an integer from 1 (lowest) to 100 (highest). Default is 50. Suggested ranges: 1-25 Low, 26-50 Normal, 51-75 High, 76-100 Critical. Used for notification routing and dashboard sorting.
27971
+ */
27972
+ get Priority() {
27973
+ return this.Get('Priority');
27974
+ }
27975
+ set Priority(value) {
27976
+ this.Set('Priority', value);
27977
+ }
27978
+ /**
27979
+ * * Field Name: ExpiresAt
27980
+ * * Display Name: Expires At
27981
+ * * SQL Data Type: datetimeoffset
27982
+ * * Description: Optional deadline for the human to respond. After this time the request may be marked Expired by a background process.
27983
+ */
27984
+ get ExpiresAt() {
27985
+ return this.Get('ExpiresAt');
27986
+ }
27987
+ set ExpiresAt(value) {
27988
+ this.Set('ExpiresAt', value);
27989
+ }
27990
+ /**
27991
+ * * Field Name: OriginatingAgentRunID
27992
+ * * Display Name: Originating Agent Run
27993
+ * * SQL Data Type: uniqueidentifier
27994
+ * * Related Entity/Foreign Key: MJ: AI Agent Runs (vwAIAgentRuns.ID)
27995
+ * * Description: Foreign key to AIAgentRun. The agent run that created this request. Used to trace request origin in run chains.
27996
+ */
27997
+ get OriginatingAgentRunID() {
27998
+ return this.Get('OriginatingAgentRunID');
27999
+ }
28000
+ set OriginatingAgentRunID(value) {
28001
+ this.Set('OriginatingAgentRunID', value);
28002
+ }
28003
+ /**
28004
+ * * Field Name: OriginatingAgentRunStepID
28005
+ * * Display Name: Originating Agent Run Step
28006
+ * * SQL Data Type: uniqueidentifier
28007
+ * * Related Entity/Foreign Key: MJ: AI Agent Run Steps (vwAIAgentRunSteps.ID)
28008
+ * * Description: Foreign key to AIAgentRunStep. The specific execution step that triggered this request.
28009
+ */
28010
+ get OriginatingAgentRunStepID() {
28011
+ return this.Get('OriginatingAgentRunStepID');
28012
+ }
28013
+ set OriginatingAgentRunStepID(value) {
28014
+ this.Set('OriginatingAgentRunStepID', value);
28015
+ }
28016
+ /**
28017
+ * * Field Name: ResumingAgentRunID
28018
+ * * Display Name: Resuming Agent Run
28019
+ * * SQL Data Type: uniqueidentifier
28020
+ * * Related Entity/Foreign Key: MJ: AI Agent Runs (vwAIAgentRuns.ID)
28021
+ * * Description: Foreign key to AIAgentRun. The new agent run spawned after the human responds. NULL until a response triggers a resuming run.
28022
+ */
28023
+ get ResumingAgentRunID() {
28024
+ return this.Get('ResumingAgentRunID');
28025
+ }
28026
+ set ResumingAgentRunID(value) {
28027
+ this.Set('ResumingAgentRunID', value);
28028
+ }
28029
+ /**
28030
+ * * Field Name: ResponseSource
28031
+ * * Display Name: Response Source
28032
+ * * SQL Data Type: nvarchar(20)
28033
+ * * Value List Type: List
28034
+ * * Possible Values
28035
+ * * API
28036
+ * * Conversation
28037
+ * * Dashboard
28038
+ * * Description: Identifies where the response originated: Conversation (handled by chat resolver), Dashboard (slide-in panel), or API (external integration). Used by the server-side entity subclass to determine whether agent resumption is needed.
28039
+ */
28040
+ get ResponseSource() {
28041
+ return this.Get('ResponseSource');
28042
+ }
28043
+ set ResponseSource(value) {
28044
+ this.Set('ResponseSource', value);
28045
+ }
28046
+ /**
27288
28047
  * * Field Name: Agent
27289
- * * Display Name: Agent
28048
+ * * Display Name: Agent Name
27290
28049
  * * SQL Data Type: nvarchar(255)
27291
28050
  */
27292
28051
  get Agent() {
@@ -27294,7 +28053,7 @@ let MJAIAgentRequestEntity = class MJAIAgentRequestEntity extends BaseEntity {
27294
28053
  }
27295
28054
  /**
27296
28055
  * * Field Name: RequestForUser
27297
- * * Display Name: Request For User
28056
+ * * Display Name: Request For User Name
27298
28057
  * * SQL Data Type: nvarchar(100)
27299
28058
  */
27300
28059
  get RequestForUser() {
@@ -27302,12 +28061,44 @@ let MJAIAgentRequestEntity = class MJAIAgentRequestEntity extends BaseEntity {
27302
28061
  }
27303
28062
  /**
27304
28063
  * * Field Name: ResponseByUser
27305
- * * Display Name: Response By User
28064
+ * * Display Name: Response By User Name
27306
28065
  * * SQL Data Type: nvarchar(100)
27307
28066
  */
27308
28067
  get ResponseByUser() {
27309
28068
  return this.Get('ResponseByUser');
27310
28069
  }
28070
+ /**
28071
+ * * Field Name: RequestType
28072
+ * * Display Name: Request Type Name
28073
+ * * SQL Data Type: nvarchar(100)
28074
+ */
28075
+ get RequestType() {
28076
+ return this.Get('RequestType');
28077
+ }
28078
+ /**
28079
+ * * Field Name: OriginatingAgentRun
28080
+ * * Display Name: Originating Agent Run Name
28081
+ * * SQL Data Type: nvarchar(255)
28082
+ */
28083
+ get OriginatingAgentRun() {
28084
+ return this.Get('OriginatingAgentRun');
28085
+ }
28086
+ /**
28087
+ * * Field Name: OriginatingAgentRunStep
28088
+ * * Display Name: Originating Agent Run Step Name
28089
+ * * SQL Data Type: nvarchar(255)
28090
+ */
28091
+ get OriginatingAgentRunStep() {
28092
+ return this.Get('OriginatingAgentRunStep');
28093
+ }
28094
+ /**
28095
+ * * Field Name: ResumingAgentRun
28096
+ * * Display Name: Resuming Agent Run Name
28097
+ * * SQL Data Type: nvarchar(255)
28098
+ */
28099
+ get ResumingAgentRun() {
28100
+ return this.Get('ResumingAgentRun');
28101
+ }
27311
28102
  };
27312
28103
  MJAIAgentRequestEntity = __decorate([
27313
28104
  RegisterClass(BaseEntity, 'MJ: AI Agent Requests')
@@ -28165,6 +28956,7 @@ let MJAIAgentRunEntity = class MJAIAgentRunEntity extends BaseEntity {
28165
28956
  * * Default Value: Running
28166
28957
  * * Value List Type: List
28167
28958
  * * Possible Values
28959
+ * * AwaitingFeedback
28168
28960
  * * Cancelled
28169
28961
  * * Completed
28170
28962
  * * Failed
@@ -29588,7 +30380,7 @@ let MJAIAgentTypeEntity = class MJAIAgentTypeEntity extends BaseEntity {
29588
30380
  }
29589
30381
  /**
29590
30382
  * * Field Name: PromptParamsSchema
29591
- * * Display Name: Prompt Params Schema
30383
+ * * Display Name: Prompt Parameters Schema
29592
30384
  * * SQL Data Type: nvarchar(MAX)
29593
30385
  * * Description: JSON Schema defining the available prompt parameters for this agent type. Includes property definitions with types, defaults, and descriptions. Used by agents of this type to customize which prompt sections are included in the system prompt. The schema follows JSON Schema draft-07 format.
29594
30386
  */
@@ -29599,8 +30391,20 @@ let MJAIAgentTypeEntity = class MJAIAgentTypeEntity extends BaseEntity {
29599
30391
  this.Set('PromptParamsSchema', value);
29600
30392
  }
29601
30393
  /**
30394
+ * * Field Name: AssignmentStrategy
30395
+ * * Display Name: Assignment Strategy
30396
+ * * SQL Data Type: nvarchar(MAX)
30397
+ * * Description: JSON-serialized AgentRequestAssignmentStrategy defining the default assignment strategy for all agents of this type. Overridden by per-invocation or category-level strategies in the resolution chain.
30398
+ */
30399
+ get AssignmentStrategy() {
30400
+ return this.Get('AssignmentStrategy');
30401
+ }
30402
+ set AssignmentStrategy(value) {
30403
+ this.Set('AssignmentStrategy', value);
30404
+ }
30405
+ /**
29602
30406
  * * Field Name: SystemPrompt
29603
- * * Display Name: System Prompt
30407
+ * * Display Name: System Prompt Text
29604
30408
  * * SQL Data Type: nvarchar(255)
29605
30409
  */
29606
30410
  get SystemPrompt() {
@@ -29924,7 +30728,7 @@ let MJAIAgentEntity = class MJAIAgentEntity extends BaseEntity {
29924
30728
  }
29925
30729
  /**
29926
30730
  * * Field Name: ContextCompressionMessageThreshold
29927
- * * Display Name: Context Compression Message Threshold
30731
+ * * Display Name: Compression Message Threshold
29928
30732
  * * SQL Data Type: int
29929
30733
  * * Description: Number of messages that triggers context compression when EnableContextCompression is true.
29930
30734
  */
@@ -29936,7 +30740,7 @@ let MJAIAgentEntity = class MJAIAgentEntity extends BaseEntity {
29936
30740
  }
29937
30741
  /**
29938
30742
  * * Field Name: ContextCompressionPromptID
29939
- * * Display Name: Context Compression Prompt ID
30743
+ * * Display Name: Context Compression Prompt
29940
30744
  * * SQL Data Type: uniqueidentifier
29941
30745
  * * Related Entity/Foreign Key: MJ: AI Prompts (vwAIPrompts.ID)
29942
30746
  */
@@ -29948,7 +30752,7 @@ let MJAIAgentEntity = class MJAIAgentEntity extends BaseEntity {
29948
30752
  }
29949
30753
  /**
29950
30754
  * * Field Name: ContextCompressionMessageRetentionCount
29951
- * * Display Name: Context Compression Message Retention Count
30755
+ * * Display Name: Compression Message Retention Count
29952
30756
  * * SQL Data Type: int
29953
30757
  * * Description: Number of recent messages to keep uncompressed when context compression is applied.
29954
30758
  */
@@ -30287,7 +31091,7 @@ if this limit is exceeded.
30287
31091
  }
30288
31092
  /**
30289
31093
  * * Field Name: OwnerUserID
30290
- * * Display Name: Owner User ID
31094
+ * * Display Name: Owner
30291
31095
  * * SQL Data Type: uniqueidentifier
30292
31096
  * * Related Entity/Foreign Key: MJ: Users (vwUsers.ID)
30293
31097
  * * Default Value: ECAFCCEC-6A37-EF11-86D4-000D3A4E707E
@@ -30493,7 +31297,7 @@ if this limit is exceeded.
30493
31297
  }
30494
31298
  /**
30495
31299
  * * Field Name: AttachmentStorageProviderID
30496
- * * Display Name: Attachment Storage Provider ID
31300
+ * * Display Name: Attachment Storage Provider
30497
31301
  * * SQL Data Type: uniqueidentifier
30498
31302
  * * Related Entity/Foreign Key: MJ: File Storage Providers (vwFileStorageProviders.ID)
30499
31303
  * * Description: File storage provider for large attachments. Overrides the default from AIConfiguration. NULL uses system default.
@@ -30518,7 +31322,7 @@ if this limit is exceeded.
30518
31322
  }
30519
31323
  /**
30520
31324
  * * Field Name: InlineStorageThresholdBytes
30521
- * * Display Name: Inline Storage Threshold Bytes
31325
+ * * Display Name: Inline Storage Threshold (Bytes)
30522
31326
  * * SQL Data Type: int
30523
31327
  * * Description: File size threshold for inline storage. Files <= this size are stored as base64 inline, larger files use MJStorage. NULL uses system default (1MB). Set to 0 to always use MJStorage.
30524
31328
  */
@@ -30542,7 +31346,7 @@ if this limit is exceeded.
30542
31346
  }
30543
31347
  /**
30544
31348
  * * Field Name: ScopeConfig
30545
- * * Display Name: Scope Config
31349
+ * * Display Name: Scope Configuration
30546
31350
  * * SQL Data Type: nvarchar(MAX)
30547
31351
  * * Description: JSON configuration defining scope dimensions for multi-tenant deployments. Example: {"dimensions":[{"name":"OrganizationID","entityId":"...","isPrimary":true,"required":true},{"name":"ContactID","entityId":"...","isPrimary":false,"required":false}],"inheritanceMode":"cascading"}
30548
31352
  */
@@ -30554,7 +31358,7 @@ if this limit is exceeded.
30554
31358
  }
30555
31359
  /**
30556
31360
  * * Field Name: NoteRetentionDays
30557
- * * Display Name: Note Retention Days
31361
+ * * Display Name: Note Retention (Days)
30558
31362
  * * SQL Data Type: int
30559
31363
  * * Default Value: 90
30560
31364
  * * Description: Number of days to retain notes before archiving due to inactivity. Default 90. NULL means use system default.
@@ -30567,7 +31371,7 @@ if this limit is exceeded.
30567
31371
  }
30568
31372
  /**
30569
31373
  * * Field Name: ExampleRetentionDays
30570
- * * Display Name: Example Retention Days
31374
+ * * Display Name: Example Retention (Days)
30571
31375
  * * SQL Data Type: int
30572
31376
  * * Default Value: 180
30573
31377
  * * Description: Number of days to retain examples before archiving due to inactivity. Default 180. NULL means use system default.
@@ -30604,8 +31408,21 @@ if this limit is exceeded.
30604
31408
  this.Set('RerankerConfiguration', value);
30605
31409
  }
30606
31410
  /**
31411
+ * * Field Name: CategoryID
31412
+ * * Display Name: Category
31413
+ * * SQL Data Type: uniqueidentifier
31414
+ * * Related Entity/Foreign Key: MJ: AI Agent Categories (vwAIAgentCategories.ID)
31415
+ * * Description: Foreign key to AIAgentCategory. Assigns this agent to an organizational category for grouping, filtering, and inherited assignment strategy resolution.
31416
+ */
31417
+ get CategoryID() {
31418
+ return this.Get('CategoryID');
31419
+ }
31420
+ set CategoryID(value) {
31421
+ this.Set('CategoryID', value);
31422
+ }
31423
+ /**
30607
31424
  * * Field Name: Parent
30608
- * * Display Name: Parent
31425
+ * * Display Name: Parent Name
30609
31426
  * * SQL Data Type: nvarchar(255)
30610
31427
  */
30611
31428
  get Parent() {
@@ -30613,7 +31430,7 @@ if this limit is exceeded.
30613
31430
  }
30614
31431
  /**
30615
31432
  * * Field Name: ContextCompressionPrompt
30616
- * * Display Name: Context Compression Prompt
31433
+ * * Display Name: Context Compression Prompt Name
30617
31434
  * * SQL Data Type: nvarchar(255)
30618
31435
  */
30619
31436
  get ContextCompressionPrompt() {
@@ -30621,7 +31438,7 @@ if this limit is exceeded.
30621
31438
  }
30622
31439
  /**
30623
31440
  * * Field Name: Type
30624
- * * Display Name: Type
31441
+ * * Display Name: Type Name
30625
31442
  * * SQL Data Type: nvarchar(100)
30626
31443
  */
30627
31444
  get Type() {
@@ -30629,7 +31446,7 @@ if this limit is exceeded.
30629
31446
  }
30630
31447
  /**
30631
31448
  * * Field Name: DefaultArtifactType
30632
- * * Display Name: Default Artifact Type
31449
+ * * Display Name: Default Artifact Type Name
30633
31450
  * * SQL Data Type: nvarchar(100)
30634
31451
  */
30635
31452
  get DefaultArtifactType() {
@@ -30637,7 +31454,7 @@ if this limit is exceeded.
30637
31454
  }
30638
31455
  /**
30639
31456
  * * Field Name: OwnerUser
30640
- * * Display Name: Owner User
31457
+ * * Display Name: Owner Name
30641
31458
  * * SQL Data Type: nvarchar(100)
30642
31459
  */
30643
31460
  get OwnerUser() {
@@ -30645,15 +31462,23 @@ if this limit is exceeded.
30645
31462
  }
30646
31463
  /**
30647
31464
  * * Field Name: AttachmentStorageProvider
30648
- * * Display Name: Attachment Storage Provider
31465
+ * * Display Name: Attachment Storage Provider Name
30649
31466
  * * SQL Data Type: nvarchar(50)
30650
31467
  */
30651
31468
  get AttachmentStorageProvider() {
30652
31469
  return this.Get('AttachmentStorageProvider');
30653
31470
  }
30654
31471
  /**
31472
+ * * Field Name: Category
31473
+ * * Display Name: Category Name
31474
+ * * SQL Data Type: nvarchar(200)
31475
+ */
31476
+ get Category() {
31477
+ return this.Get('Category');
31478
+ }
31479
+ /**
30655
31480
  * * Field Name: RootParentID
30656
- * * Display Name: Root Parent ID
31481
+ * * Display Name: Root Parent
30657
31482
  * * SQL Data Type: uniqueidentifier
30658
31483
  */
30659
31484
  get RootParentID() {
@@ -58279,7 +59104,7 @@ let MJIntegrationObjectEntity = class MJIntegrationObjectEntity extends BaseEnti
58279
59104
  }
58280
59105
  /**
58281
59106
  * * Field Name: Name
58282
- * * Display Name: Internal Name
59107
+ * * Display Name: Name
58283
59108
  * * SQL Data Type: nvarchar(255)
58284
59109
  * * Description: Internal/programmatic name of the external object (e.g., Members, Events)
58285
59110
  */
@@ -58494,6 +59319,44 @@ let MJIntegrationObjectEntity = class MJIntegrationObjectEntity extends BaseEnti
58494
59319
  return this.Get('__mj_UpdatedAt');
58495
59320
  }
58496
59321
  /**
59322
+ * * Field Name: WriteAPIPath
59323
+ * * Display Name: Write API Path
59324
+ * * SQL Data Type: nvarchar(500)
59325
+ * * Description: API path for create/update operations when different from the read APIPath. If NULL, the read APIPath is used for writes as well.
59326
+ */
59327
+ get WriteAPIPath() {
59328
+ return this.Get('WriteAPIPath');
59329
+ }
59330
+ set WriteAPIPath(value) {
59331
+ this.Set('WriteAPIPath', value);
59332
+ }
59333
+ /**
59334
+ * * Field Name: WriteMethod
59335
+ * * Display Name: Write Method
59336
+ * * SQL Data Type: nvarchar(10)
59337
+ * * Default Value: POST
59338
+ * * Description: HTTP method for create operations. Defaults to POST.
59339
+ */
59340
+ get WriteMethod() {
59341
+ return this.Get('WriteMethod');
59342
+ }
59343
+ set WriteMethod(value) {
59344
+ this.Set('WriteMethod', value);
59345
+ }
59346
+ /**
59347
+ * * Field Name: DeleteMethod
59348
+ * * Display Name: Delete Method
59349
+ * * SQL Data Type: nvarchar(10)
59350
+ * * Default Value: DELETE
59351
+ * * Description: HTTP method for delete operations. Defaults to DELETE.
59352
+ */
59353
+ get DeleteMethod() {
59354
+ return this.Get('DeleteMethod');
59355
+ }
59356
+ set DeleteMethod(value) {
59357
+ this.Set('DeleteMethod', value);
59358
+ }
59359
+ /**
58497
59360
  * * Field Name: Integration
58498
59361
  * * Display Name: Integration Name
58499
59362
  * * SQL Data Type: nvarchar(100)
@@ -58923,6 +59786,18 @@ let MJIntegrationEntity = class MJIntegrationEntity extends BaseEntity {
58923
59786
  this.Set('CredentialTypeID', value);
58924
59787
  }
58925
59788
  /**
59789
+ * * Field Name: Icon
59790
+ * * Display Name: Icon
59791
+ * * SQL Data Type: nvarchar(MAX)
59792
+ * * Description: Icon for the integration. Supports Font Awesome CSS classes, image URLs, or base64 data URIs.
59793
+ */
59794
+ get Icon() {
59795
+ return this.Get('Icon');
59796
+ }
59797
+ set Icon(value) {
59798
+ this.Set('Icon', value);
59799
+ }
59800
+ /**
58926
59801
  * * Field Name: CredentialType
58927
59802
  * * Display Name: Credential Type Name
58928
59803
  * * SQL Data Type: nvarchar(100)
@@ -63946,6 +64821,19 @@ let MJQueryEntity = class MJQueryEntity extends BaseEntity {
63946
64821
  this.Set('SQLDialectID', value);
63947
64822
  }
63948
64823
  /**
64824
+ * * Field Name: Reusable
64825
+ * * Display Name: Is Reusable
64826
+ * * SQL Data Type: bit
64827
+ * * Default Value: 0
64828
+ * * Description: When true, this query can be referenced by other queries using composition syntax. Only queries that are both Reusable and Approved can be composed into other queries.
64829
+ */
64830
+ get Reusable() {
64831
+ return this.Get('Reusable');
64832
+ }
64833
+ set Reusable(value) {
64834
+ this.Set('Reusable', value);
64835
+ }
64836
+ /**
63949
64837
  * * Field Name: Category
63950
64838
  * * Display Name: Category Name
63951
64839
  * * SQL Data Type: nvarchar(50)
@@ -64157,6 +65045,164 @@ MJQueryCategoryEntity = __decorate([
64157
65045
  RegisterClass(BaseEntity, 'MJ: Query Categories')
64158
65046
  ], MJQueryCategoryEntity);
64159
65047
  export { MJQueryCategoryEntity };
65048
+ /**
65049
+ * MJ: Query Dependencies - strongly typed entity sub-class
65050
+ * * Schema: __mj
65051
+ * * Base Table: QueryDependency
65052
+ * * Base View: vwQueryDependencies
65053
+ * * @description Tracks which queries reference other queries via composition syntax. Auto-populated by the query save pipeline.
65054
+ * * Primary Key: ID
65055
+ * @extends {BaseEntity}
65056
+ * @class
65057
+ * @public
65058
+ */
65059
+ let MJQueryDependencyEntity = class MJQueryDependencyEntity extends BaseEntity {
65060
+ /**
65061
+ * Loads the MJ: Query Dependencies record from the database
65062
+ * @param ID: string - primary key value to load the MJ: Query Dependencies record.
65063
+ * @param EntityRelationshipsToLoad - (optional) the relationships to load
65064
+ * @returns {Promise<boolean>} - true if successful, false otherwise
65065
+ * @public
65066
+ * @async
65067
+ * @memberof MJQueryDependencyEntity
65068
+ * @method
65069
+ * @override
65070
+ */
65071
+ async Load(ID, EntityRelationshipsToLoad) {
65072
+ const compositeKey = new CompositeKey();
65073
+ compositeKey.KeyValuePairs.push({ FieldName: 'ID', Value: ID });
65074
+ return await super.InnerLoad(compositeKey, EntityRelationshipsToLoad);
65075
+ }
65076
+ /**
65077
+ * * Field Name: ID
65078
+ * * Display Name: ID
65079
+ * * SQL Data Type: uniqueidentifier
65080
+ * * Default Value: newsequentialid()
65081
+ */
65082
+ get ID() {
65083
+ return this.Get('ID');
65084
+ }
65085
+ set ID(value) {
65086
+ this.Set('ID', value);
65087
+ }
65088
+ /**
65089
+ * * Field Name: QueryID
65090
+ * * Display Name: Query
65091
+ * * SQL Data Type: uniqueidentifier
65092
+ * * Related Entity/Foreign Key: MJ: Queries (vwQueries.ID)
65093
+ * * Description: Foreign key to the query that contains the composition reference.
65094
+ */
65095
+ get QueryID() {
65096
+ return this.Get('QueryID');
65097
+ }
65098
+ set QueryID(value) {
65099
+ this.Set('QueryID', value);
65100
+ }
65101
+ /**
65102
+ * * Field Name: DependsOnQueryID
65103
+ * * Display Name: Depends On Query
65104
+ * * SQL Data Type: uniqueidentifier
65105
+ * * Related Entity/Foreign Key: MJ: Queries (vwQueries.ID)
65106
+ * * Description: Foreign key to the referenced (depended-upon) query.
65107
+ */
65108
+ get DependsOnQueryID() {
65109
+ return this.Get('DependsOnQueryID');
65110
+ }
65111
+ set DependsOnQueryID(value) {
65112
+ this.Set('DependsOnQueryID', value);
65113
+ }
65114
+ /**
65115
+ * * Field Name: ReferencePath
65116
+ * * Display Name: Reference Path
65117
+ * * SQL Data Type: nvarchar(500)
65118
+ * * Description: The full composition reference path as written in the SQL.
65119
+ */
65120
+ get ReferencePath() {
65121
+ return this.Get('ReferencePath');
65122
+ }
65123
+ set ReferencePath(value) {
65124
+ this.Set('ReferencePath', value);
65125
+ }
65126
+ /**
65127
+ * * Field Name: Alias
65128
+ * * Display Name: Alias
65129
+ * * SQL Data Type: nvarchar(100)
65130
+ * * Description: SQL alias used for the composed CTE in the referencing query.
65131
+ */
65132
+ get Alias() {
65133
+ return this.Get('Alias');
65134
+ }
65135
+ set Alias(value) {
65136
+ this.Set('Alias', value);
65137
+ }
65138
+ /**
65139
+ * * Field Name: ParameterMapping
65140
+ * * Display Name: Parameter Mapping
65141
+ * * SQL Data Type: nvarchar(MAX)
65142
+ * * Description: JSON object mapping parameter names to values or pass-through parameter names.
65143
+ */
65144
+ get ParameterMapping() {
65145
+ return this.Get('ParameterMapping');
65146
+ }
65147
+ set ParameterMapping(value) {
65148
+ this.Set('ParameterMapping', value);
65149
+ }
65150
+ /**
65151
+ * * Field Name: DetectionMethod
65152
+ * * Display Name: Detection Method
65153
+ * * SQL Data Type: nvarchar(20)
65154
+ * * Default Value: Auto
65155
+ * * Value List Type: List
65156
+ * * Possible Values
65157
+ * * Auto
65158
+ * * Manual
65159
+ * * Description: How the dependency was detected: Auto (parsed from SQL) or Manual (user-specified).
65160
+ */
65161
+ get DetectionMethod() {
65162
+ return this.Get('DetectionMethod');
65163
+ }
65164
+ set DetectionMethod(value) {
65165
+ this.Set('DetectionMethod', value);
65166
+ }
65167
+ /**
65168
+ * * Field Name: __mj_CreatedAt
65169
+ * * Display Name: Created At
65170
+ * * SQL Data Type: datetimeoffset
65171
+ * * Default Value: getutcdate()
65172
+ */
65173
+ get __mj_CreatedAt() {
65174
+ return this.Get('__mj_CreatedAt');
65175
+ }
65176
+ /**
65177
+ * * Field Name: __mj_UpdatedAt
65178
+ * * Display Name: Updated At
65179
+ * * SQL Data Type: datetimeoffset
65180
+ * * Default Value: getutcdate()
65181
+ */
65182
+ get __mj_UpdatedAt() {
65183
+ return this.Get('__mj_UpdatedAt');
65184
+ }
65185
+ /**
65186
+ * * Field Name: Query
65187
+ * * Display Name: Source Query Name
65188
+ * * SQL Data Type: nvarchar(255)
65189
+ */
65190
+ get Query() {
65191
+ return this.Get('Query');
65192
+ }
65193
+ /**
65194
+ * * Field Name: DependsOnQuery
65195
+ * * Display Name: Target Query Name
65196
+ * * SQL Data Type: nvarchar(255)
65197
+ */
65198
+ get DependsOnQuery() {
65199
+ return this.Get('DependsOnQuery');
65200
+ }
65201
+ };
65202
+ MJQueryDependencyEntity = __decorate([
65203
+ RegisterClass(BaseEntity, 'MJ: Query Dependencies')
65204
+ ], MJQueryDependencyEntity);
65205
+ export { MJQueryDependencyEntity };
64160
65206
  /**
64161
65207
  * MJ: Query Entities - strongly typed entity sub-class
64162
65208
  * * Schema: __mj