@memberjunction/core-entities 6.1.0-edge.1 → 6.1.0-edge.2

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.
@@ -305,7 +305,7 @@ export const MJActionExecutionLogSchema = z.object({
305
305
  * * Description: Timestamp when the action execution ended (timezone-aware)`),
306
306
  Params: z.string().nullable().describe(`
307
307
  * * Field Name: Params
308
- * * Display Name: Params
308
+ * * Display Name: Input Parameters
309
309
  * * SQL Data Type: nvarchar(MAX)
310
310
  * * Description: JSON-formatted input parameters AS THE ACTION WAS CALLED, captured once when execution starts and never overwritten. Custom and Generated actions mutate their parameter array in place, so this is the only durable record of the values actually passed in; the final state lives in ResultParams. Parameter values may be redacted per ActionParam.LogValue / EntityActionParam.LogValue, and whole-record value types are never written - see the parameter's own documentation.`),
311
311
  ResultCode: z.string().nullable().describe(`
@@ -320,7 +320,7 @@ export const MJActionExecutionLogSchema = z.object({
320
320
  * * Related Entity/Foreign Key: MJ: Users (vwUsers.ID)`),
321
321
  RetentionPeriod: z.number().nullable().describe(`
322
322
  * * Field Name: RetentionPeriod
323
- * * Display Name: Retention Period
323
+ * * Display Name: Retention Period (Days)
324
324
  * * SQL Data Type: int
325
325
  * * Description: Number of days to retain the log; NULL for indefinite retention.`),
326
326
  __mj_CreatedAt: z.date().describe(`
@@ -346,7 +346,7 @@ export const MJActionExecutionLogSchema = z.object({
346
346
  * * Description: Optional. The Entity Action binding that caused this run. NULL when the action was invoked directly - from a resolver, a script, an agent step or a scheduled action.`),
347
347
  EntityActionInvocationTypeID: z.string().nullable().describe(`
348
348
  * * Field Name: EntityActionInvocationTypeID
349
- * * Display Name: Entity Action Invocation Type ID
349
+ * * Display Name: Invocation Type ID
350
350
  * * SQL Data Type: uniqueidentifier
351
351
  * * Related Entity/Foreign Key: MJ: Entity Action Invocation Types (vwEntityActionInvocationTypes.ID)
352
352
  * * Description: Optional. Which lifecycle event fired the binding - AfterUpdate, Validate, List and so on. Recorded separately from EntityActionID because one binding may be attached to several invocation types, and telling a Validate refusal apart from an AfterUpdate side effect is the first question anyone asks of this log.`),
@@ -363,24 +363,20 @@ export const MJActionExecutionLogSchema = z.object({
363
363
  * * Description: Optional. The primary key of the record this run operated on, as text, paired with TargetEntityID. For multi-record invocation types (List, View) one log row is written per record, so this is always a single record.`),
364
364
  ResultParams: z.string().nullable().describe(`
365
365
  * * Field Name: ResultParams
366
- * * Display Name: Result Params
366
+ * * Display Name: Result Parameters
367
367
  * * SQL Data Type: nvarchar(MAX)
368
368
  * * Description: JSON-formatted FINAL parameter set captured when the action finished - the inputs as the action left them, plus any output parameters it produced. Written on FAILURE exactly as on success, under the same redaction rules: a failed run's partially-mutated inputs are usually the most diagnostic thing available, and an audit trail that records only successes is not an audit trail. Distinct from Params, which holds the values the action was called with and is never overwritten. NULL means one thing only - the run never finished (process died, host killed) - so it is a signal rather than an absence, and must not be backfilled.`),
369
369
  Action: z.string().describe(`
370
370
  * * Field Name: Action
371
- * * Display Name: Action
371
+ * * Display Name: Action Name
372
372
  * * SQL Data Type: nvarchar(425)`),
373
373
  User: z.string().describe(`
374
374
  * * Field Name: User
375
- * * Display Name: User
375
+ * * Display Name: User Name
376
376
  * * SQL Data Type: nvarchar(100)`),
377
- EntityAction: z.string().nullable().describe(`
378
- * * Field Name: EntityAction
379
- * * Display Name: Entity Action
380
- * * SQL Data Type: nvarchar(425)`),
381
377
  EntityActionInvocationType: z.string().nullable().describe(`
382
378
  * * Field Name: EntityActionInvocationType
383
- * * Display Name: Entity Action Invocation Type
379
+ * * Display Name: Invocation Type
384
380
  * * SQL Data Type: nvarchar(255)`),
385
381
  TargetEntity: z.string().nullable().describe(`
386
382
  * * Field Name: TargetEntity
@@ -2637,7 +2633,7 @@ export const MJAIAgentRequestSchema = z.object({
2637
2633
  * * Description: Current status of the request (Requested, Approved, Rejected, Canceled).`),
2638
2634
  Request: z.string().describe(`
2639
2635
  * * Field Name: Request
2640
- * * Display Name: Request
2636
+ * * Display Name: Request Details
2641
2637
  * * SQL Data Type: nvarchar(MAX)
2642
2638
  * * Description: Details of what the AI Agent is requesting.`),
2643
2639
  Response: z.string().nullable().describe(`
@@ -2647,7 +2643,7 @@ export const MJAIAgentRequestSchema = z.object({
2647
2643
  * * Description: Response provided by the human to the agent request.`),
2648
2644
  ResponseByUserID: z.string().nullable().describe(`
2649
2645
  * * Field Name: ResponseByUserID
2650
- * * Display Name: Response By User
2646
+ * * Display Name: Responded By User
2651
2647
  * * SQL Data Type: uniqueidentifier
2652
2648
  * * Related Entity/Foreign Key: MJ: Users (vwUsers.ID)
2653
2649
  * * Description: Populated when a user responds indicating which user responded to the request.`),
@@ -2726,17 +2722,23 @@ export const MJAIAgentRequestSchema = z.object({
2726
2722
  * * Conversation
2727
2723
  * * Dashboard
2728
2724
  * * 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.`),
2725
+ OriginatingTaskID: z.string().nullable().describe(`
2726
+ * * Field Name: OriginatingTaskID
2727
+ * * Display Name: Originating Task
2728
+ * * SQL Data Type: uniqueidentifier
2729
+ * * Related Entity/Foreign Key: MJ: Tasks (vwTasks.ID)
2730
+ * * Description: The workflow step (MJ: Tasks row) waiting on this request, when it came from a task graph rather than from a running agent. Distinct from OriginatingAgentRunStepID: a task graph outlives the agent run that submitted it, so the task — not the run — is what resumes when a person answers. NULL for requests raised by a run directly.`),
2729
2731
  Agent: z.string().nullable().describe(`
2730
2732
  * * Field Name: Agent
2731
2733
  * * Display Name: Agent Name
2732
2734
  * * SQL Data Type: nvarchar(255)`),
2733
2735
  RequestForUser: z.string().nullable().describe(`
2734
2736
  * * Field Name: RequestForUser
2735
- * * Display Name: Request For User Name
2737
+ * * Display Name: Target User
2736
2738
  * * SQL Data Type: nvarchar(100)`),
2737
2739
  ResponseByUser: z.string().nullable().describe(`
2738
2740
  * * Field Name: ResponseByUser
2739
- * * Display Name: Response By User Name
2741
+ * * Display Name: Responded By
2740
2742
  * * SQL Data Type: nvarchar(100)`),
2741
2743
  RequestType: z.string().nullable().describe(`
2742
2744
  * * Field Name: RequestType
@@ -2754,6 +2756,10 @@ export const MJAIAgentRequestSchema = z.object({
2754
2756
  * * Field Name: ResumingAgentRun
2755
2757
  * * Display Name: Resuming Agent Run Name
2756
2758
  * * SQL Data Type: nvarchar(255)`),
2759
+ OriginatingTask: z.string().nullable().describe(`
2760
+ * * Field Name: OriginatingTask
2761
+ * * Display Name: Originating Task Name
2762
+ * * SQL Data Type: nvarchar(255)`),
2757
2763
  });
2758
2764
  /**
2759
2765
  * zod schema definition for the entity MJ: AI Agent Run Medias
@@ -4061,7 +4067,7 @@ export const MJAIAgentStepSchema = z.object({
4061
4067
  * * Field Name: Description
4062
4068
  * * Display Name: Description
4063
4069
  * * SQL Data Type: nvarchar(MAX)`),
4064
- StepType: z.union([z.literal('Action'), z.literal('ForEach'), z.literal('Prompt'), z.literal('Sub-Agent'), z.literal('While')]).describe(`
4070
+ StepType: z.union([z.literal('Action'), z.literal('ForEach'), z.literal('Human'), z.literal('Prompt'), z.literal('Sub-Agent'), z.literal('While')]).describe(`
4065
4071
  * * Field Name: StepType
4066
4072
  * * Display Name: Step Type
4067
4073
  * * SQL Data Type: nvarchar(20)
@@ -4069,6 +4075,7 @@ export const MJAIAgentStepSchema = z.object({
4069
4075
  * * Possible Values
4070
4076
  * * Action
4071
4077
  * * ForEach
4078
+ * * Human
4072
4079
  * * Prompt
4073
4080
  * * Sub-Agent
4074
4081
  * * While
@@ -5971,6 +5978,12 @@ export const MJAIModelTypeSchema = z.object({
5971
5978
  * * Display Name: Prefill Fallback Text
5972
5979
  * * SQL Data Type: nvarchar(MAX)
5973
5980
  * * Description: Default fallback instruction text used when PrefillFallbackMode is SystemInstruction and the provider does not support native prefill. Use {{prefill}} as a placeholder for the actual prefill text. Example: "IMPORTANT: You must begin your response with exactly: {{prefill}}". Individual AI Model Vendor records can override this. If null, a generic fallback is used.`),
5981
+ ModelConfiguration: z.any().nullable().describe(`
5982
+ * * Field Name: ModelConfiguration
5983
+ * * Display Name: Model Configuration
5984
+ * * SQL Data Type: nvarchar(MAX)
5985
+ * * JSON Type: MJAIModelTypeEntity_IAIModelConfiguration
5986
+ * * Description: Type-wide default of the per-modality model-configuration bag (JSON, IAIModelConfiguration shape: LLM / Realtime / Vision / Audio sections). Base layer of the ModelConfiguration cascade — AIModel and AIModelVendor rows inherit from it per key and may override. NULL = contributes nothing.`),
5974
5987
  DefaultInputModality: z.string().describe(`
5975
5988
  * * Field Name: DefaultInputModality
5976
5989
  * * Display Name: Default Input Modality Name
@@ -6072,7 +6085,7 @@ export const MJAIModelVendorSchema = z.object({
6072
6085
  * * Default Value: getutcdate()`),
6073
6086
  TypeID: z.string().describe(`
6074
6087
  * * Field Name: TypeID
6075
- * * Display Name: Type
6088
+ * * Display Name: Vendor Type
6076
6089
  * * SQL Data Type: uniqueidentifier
6077
6090
  * * Related Entity/Foreign Key: MJ: AI Vendor Type Definitions (vwAIVendorTypeDefinitions.ID)
6078
6091
  * * Description: References the type/role of the vendor for this model (e.g., model developer, inference provider)`),
@@ -6086,6 +6099,12 @@ export const MJAIModelVendorSchema = z.object({
6086
6099
  * * Display Name: Prefill Fallback Text
6087
6100
  * * SQL Data Type: nvarchar(MAX)
6088
6101
  * * Description: Model-specific fallback instruction text used when PrefillFallbackMode is SystemInstruction and the provider does not support native prefill. Overrides the AI Model Type default. Use {{prefill}} as a placeholder. Allows tuning the fallback instruction per model since different models respond better to different phrasing.`),
6102
+ ModelConfiguration: z.any().nullable().describe(`
6103
+ * * Field Name: ModelConfiguration
6104
+ * * Display Name: Model Configuration
6105
+ * * SQL Data Type: nvarchar(MAX)
6106
+ * * JSON Type: MJAIModelVendorEntity_IAIModelConfiguration
6107
+ * * Description: Most-specific layer of the per-modality model-configuration bag (JSON, IAIModelConfiguration shape) — configuration for THIS model on THIS provider. Deep-merges per key over the model and type layers. NULL = inherit the merged model/type configuration unchanged.`),
6089
6108
  Model: z.string().describe(`
6090
6109
  * * Field Name: Model
6091
6110
  * * Display Name: Model Name
@@ -6096,7 +6115,7 @@ export const MJAIModelVendorSchema = z.object({
6096
6115
  * * SQL Data Type: nvarchar(50)`),
6097
6116
  Type: z.string().describe(`
6098
6117
  * * Field Name: Type
6099
- * * Display Name: Type Name
6118
+ * * Display Name: Type
6100
6119
  * * SQL Data Type: nvarchar(50)`),
6101
6120
  });
6102
6121
  /**
@@ -6118,7 +6137,7 @@ export const MJAIModelSchema = z.object({
6118
6137
  * * SQL Data Type: nvarchar(MAX)`),
6119
6138
  AIModelTypeID: z.string().describe(`
6120
6139
  * * Field Name: AIModelTypeID
6121
- * * Display Name: AI Model Type
6140
+ * * Display Name: AI Model Type ID
6122
6141
  * * SQL Data Type: uniqueidentifier
6123
6142
  * * Related Entity/Foreign Key: MJ: AI Model Types (vwAIModelTypes.ID)`),
6124
6143
  PowerRank: z.number().nullable().describe(`
@@ -6129,7 +6148,7 @@ export const MJAIModelSchema = z.object({
6129
6148
  * * Description: Optional column that ranks the power of the AI model. Default is 0 and should be non-negative.`),
6130
6149
  IsActive: z.boolean().describe(`
6131
6150
  * * Field Name: IsActive
6132
- * * Display Name: Active
6151
+ * * Display Name: Is Active
6133
6152
  * * SQL Data Type: bit
6134
6153
  * * Default Value: 1
6135
6154
  * * Description: Controls whether this AI model is available for use in the system.`),
@@ -6182,9 +6201,15 @@ export const MJAIModelSchema = z.object({
6182
6201
  * * Display Name: Prefill Fallback Text
6183
6202
  * * SQL Data Type: nvarchar(MAX)
6184
6203
  * * Description: Model-level fallback instruction text used when PrefillFallbackMode is SystemInstruction and the provider does not support native prefill. Overrides the AI Model Type default, can be further overridden per-vendor in AI Model Vendor. Use {{prefill}} as a placeholder.`),
6204
+ ModelConfiguration: z.any().nullable().describe(`
6205
+ * * Field Name: ModelConfiguration
6206
+ * * Display Name: Model Configuration
6207
+ * * SQL Data Type: nvarchar(MAX)
6208
+ * * JSON Type: MJAIModelEntity_IAIModelConfiguration
6209
+ * * Description: Per-model layer of the per-modality model-configuration bag (JSON, IAIModelConfiguration shape). Deep-merges per key over the AIModelType default; AIModelVendor rows may override per key on top. NULL = inherit the type default unchanged.`),
6185
6210
  AIModelType: z.string().describe(`
6186
6211
  * * Field Name: AIModelType
6187
- * * Display Name: Model Type Name
6212
+ * * Display Name: AI Model Type
6188
6213
  * * SQL Data Type: nvarchar(50)`),
6189
6214
  Vendor: z.string().nullable().describe(`
6190
6215
  * * Field Name: Vendor
@@ -16290,10 +16315,6 @@ export const MJEntityActionFilterSchema = z.object({
16290
16315
  * * Display Name: Updated At
16291
16316
  * * SQL Data Type: datetimeoffset
16292
16317
  * * Default Value: getutcdate()`),
16293
- EntityAction: z.string().describe(`
16294
- * * Field Name: EntityAction
16295
- * * Display Name: Entity Action Name
16296
- * * SQL Data Type: nvarchar(425)`),
16297
16318
  ActionFilter: z.string().describe(`
16298
16319
  * * Field Name: ActionFilter
16299
16320
  * * Display Name: Action Filter Name
@@ -16380,10 +16401,6 @@ export const MJEntityActionInvocationSchema = z.object({
16380
16401
  * * Display Name: Runtime UX Driver Class
16381
16402
  * * SQL Data Type: nvarchar(255)
16382
16403
  * * Description: Optional class name of a registered runtime-UX driver component (a BaseEntityActionRuntimeUX subclass resolved via MJGlobal.ClassFactory) that owns this invocation's interaction — parameter collection, dry-run preview, confirmation, and progress. NULL invokes the action directly with no custom UX. This lets any action opt into a richer, reusable runtime experience while the grid/toolbar stays operation-agnostic.`),
16383
- EntityAction: z.string().describe(`
16384
- * * Field Name: EntityAction
16385
- * * Display Name: Entity Action Name
16386
- * * SQL Data Type: nvarchar(425)`),
16387
16404
  InvocationType: z.string().describe(`
16388
16405
  * * Field Name: InvocationType
16389
16406
  * * Display Name: Invocation Type Name
@@ -16400,12 +16417,12 @@ export const MJEntityActionParamSchema = z.object({
16400
16417
  * * Default Value: newsequentialid()`),
16401
16418
  EntityActionID: z.string().describe(`
16402
16419
  * * Field Name: EntityActionID
16403
- * * Display Name: Entity Action ID
16420
+ * * Display Name: Entity Action
16404
16421
  * * SQL Data Type: uniqueidentifier
16405
16422
  * * Related Entity/Foreign Key: MJ: Entity Actions (vwEntityActions.ID)`),
16406
16423
  ActionParamID: z.string().describe(`
16407
16424
  * * Field Name: ActionParamID
16408
- * * Display Name: Action Parameter ID
16425
+ * * Display Name: Action Parameter
16409
16426
  * * SQL Data Type: uniqueidentifier
16410
16427
  * * Related Entity/Foreign Key: MJ: Action Params (vwActionParams.ID)`),
16411
16428
  ValueType: z.union([z.literal('Entity Field'), z.literal('Entity Object'), z.literal('Entity Object Data'), z.literal('Script'), z.literal('Static')]).describe(`
@@ -16445,13 +16462,9 @@ export const MJEntityActionParamSchema = z.object({
16445
16462
  * * Display Name: Log Value
16446
16463
  * * SQL Data Type: bit
16447
16464
  * * Description: Optional per-binding override of ActionParam.LogValue. NULL (the default) inherits the parameter definition. Set to 0 when this particular binding passes something sensitive through a parameter that is ordinarily safe to log - a message body through a generic Text parameter, for instance. Cannot re-enable logging for a value type the hard rule suppresses.`),
16448
- EntityAction: z.string().describe(`
16449
- * * Field Name: EntityAction
16450
- * * Display Name: Entity Action
16451
- * * SQL Data Type: nvarchar(425)`),
16452
16465
  ActionParam: z.string().describe(`
16453
16466
  * * Field Name: ActionParam
16454
- * * Display Name: Action Parameter
16467
+ * * Display Name: Action Parameter Name
16455
16468
  * * SQL Data Type: nvarchar(255)`),
16456
16469
  });
16457
16470
  /**
@@ -16460,12 +16473,12 @@ export const MJEntityActionParamSchema = z.object({
16460
16473
  export const MJEntityActionSchema = z.object({
16461
16474
  EntityID: z.string().describe(`
16462
16475
  * * Field Name: EntityID
16463
- * * Display Name: Entity ID
16476
+ * * Display Name: Entity
16464
16477
  * * SQL Data Type: uniqueidentifier
16465
16478
  * * Related Entity/Foreign Key: MJ: Entities (vwEntities.ID)`),
16466
16479
  ActionID: z.string().describe(`
16467
16480
  * * Field Name: ActionID
16468
- * * Display Name: Action ID
16481
+ * * Display Name: Action
16469
16482
  * * SQL Data Type: uniqueidentifier
16470
16483
  * * Related Entity/Foreign Key: MJ: Actions (vwActions.ID)`),
16471
16484
  Status: z.union([z.literal('Active'), z.literal('Disabled'), z.literal('Pending')]).describe(`
@@ -16481,12 +16494,12 @@ export const MJEntityActionSchema = z.object({
16481
16494
  * * Description: Status of the entity action (Pending, Active, Disabled).`),
16482
16495
  __mj_CreatedAt: z.date().describe(`
16483
16496
  * * Field Name: __mj_CreatedAt
16484
- * * Display Name: __mj _Created At
16497
+ * * Display Name: Created At
16485
16498
  * * SQL Data Type: datetimeoffset
16486
16499
  * * Default Value: getutcdate()`),
16487
16500
  __mj_UpdatedAt: z.date().describe(`
16488
16501
  * * Field Name: __mj_UpdatedAt
16489
- * * Display Name: __mj _Updated At
16502
+ * * Display Name: Updated At
16490
16503
  * * SQL Data Type: datetimeoffset
16491
16504
  * * Default Value: getutcdate()`),
16492
16505
  ID: z.string().describe(`
@@ -16522,17 +16535,27 @@ export const MJEntityActionSchema = z.object({
16522
16535
  * * FailuresOnly
16523
16536
  * * None
16524
16537
  * * Description: How much of this binding's activity reaches ActionExecutionLog. All (default) writes a row per invocation. FailuresOnly writes only runs that did not succeed - the right setting for a high-frequency binding on a busy entity, where the successful runs are noise. None disables logging for the binding entirely and should be rare, because it also removes the failure record.`),
16538
+ RunMode: z.union([z.literal('Durable'), z.literal('Inline')]).describe(`
16539
+ * * Field Name: RunMode
16540
+ * * Display Name: Run Mode
16541
+ * * SQL Data Type: nvarchar(20)
16542
+ * * Default Value: Inline
16543
+ * * Value List Type: List
16544
+ * * Possible Values
16545
+ * * Durable
16546
+ * * Inline
16547
+ * * Description: How an After* dispatch of this binding executes. Inline (the default) runs it fire-and-forget in the saving process, which is fast but lost if that process dies. Durable submits a single-node task graph instead, so the work survives a restart and is reclaimed by the dispatcher — at the cost of a Task row, a dispatcher hop of latency, and the action's parameters being persisted (redacted) at rest. Ignored for Validate and Before* invocations, which run inside the save and cannot be deferred without changing whether the save succeeds.`),
16525
16548
  Entity: z.string().describe(`
16526
16549
  * * Field Name: Entity
16527
- * * Display Name: Entity
16550
+ * * Display Name: Entity Name
16528
16551
  * * SQL Data Type: nvarchar(255)`),
16529
16552
  Action: z.string().describe(`
16530
16553
  * * Field Name: Action
16531
- * * Display Name: Action
16554
+ * * Display Name: Action Name
16532
16555
  * * SQL Data Type: nvarchar(425)`),
16533
16556
  ScopeEntity: z.string().nullable().describe(`
16534
16557
  * * Field Name: ScopeEntity
16535
- * * Display Name: Scope Entity
16558
+ * * Display Name: Scope Entity Name
16536
16559
  * * SQL Data Type: nvarchar(255)`),
16537
16560
  });
16538
16561
  /**
@@ -28194,7 +28217,7 @@ export const MJTaskDependencySchema = z.object({
28194
28217
  * * Related Entity/Foreign Key: MJ: Tasks (vwTasks.ID)`),
28195
28218
  DependsOnTaskID: z.string().describe(`
28196
28219
  * * Field Name: DependsOnTaskID
28197
- * * Display Name: Depends On Task
28220
+ * * Display Name: Depends On Task ID
28198
28221
  * * SQL Data Type: uniqueidentifier
28199
28222
  * * Related Entity/Foreign Key: MJ: Tasks (vwTasks.ID)`),
28200
28223
  DependencyType: z.union([z.literal('Corequisite'), z.literal('Optional'), z.literal('Prerequisite')]).describe(`
@@ -28223,6 +28246,23 @@ export const MJTaskDependencySchema = z.object({
28223
28246
  * * Display Name: Condition
28224
28247
  * * SQL Data Type: nvarchar(MAX)
28225
28248
  * * Description: Optional boolean expression gating this dependency edge. NULL (the default, and the value every pre-existing row carries) means the edge is unconditional, so adding this column changes the meaning of no existing graph. When present it is evaluated by the shared GraphTraversalEngine against the same context a design-time AIAgentStepPath.Condition sees, which is what lets a runtime task graph and a flow-editor graph be the same graph. A condition that evaluates false skips the edge; one that fails to evaluate ALSO skips it, but is reported distinctly so a graph stalled by a malformed expression cannot be mistaken for one that finished normally.`),
28249
+ Priority: z.number().describe(`
28250
+ * * Field Name: Priority
28251
+ * * Display Name: Priority
28252
+ * * SQL Data Type: int
28253
+ * * Default Value: 0
28254
+ * * Description: Ordering within an exclusive group — higher wins. Mirrors AIAgentStepPath.Priority so a compiled workflow chooses the same branch the flow editor shows. Ignored for edges that are not part of an ExclusiveGroup.`),
28255
+ Sequence: z.number().describe(`
28256
+ * * Field Name: Sequence
28257
+ * * Display Name: Sequence
28258
+ * * SQL Data Type: int
28259
+ * * Default Value: 0
28260
+ * * Description: Deterministic tiebreak when two edges in an ExclusiveGroup share a Priority, applied ascending. Load-bearing rather than cosmetic: compiled dependencies get fresh UUIDs and Priority defaults to 0, so without a stored ordinal a tie would resolve by row order and the same workflow could take a different branch on a different machine.`),
28261
+ ExclusiveGroup: z.string().nullable().describe(`
28262
+ * * Field Name: ExclusiveGroup
28263
+ * * Display Name: Exclusive Group
28264
+ * * SQL Data Type: nvarchar(255)
28265
+ * * Description: XOR group key: sibling edges leaving the same origin that share a non-null ExclusiveGroup are an exclusive fan-out. The highest-Priority satisfied edge wins, ties broken by ascending Sequence; the rest are Skipped. NULL (the default) means an ordinary dependency, so existing graphs are unaffected. An unevaluable condition anywhere in the group holds the whole group rather than firing every branch.`),
28226
28266
  Task: z.string().describe(`
28227
28267
  * * Field Name: Task
28228
28268
  * * Display Name: Task Name
@@ -28309,15 +28349,15 @@ export const MJTaskSchema = z.object({
28309
28349
  * * Related Entity/Foreign Key: MJ: Conversation Details (vwConversationDetails.ID)`),
28310
28350
  UserID: z.string().nullable().describe(`
28311
28351
  * * Field Name: UserID
28312
- * * Display Name: User
28352
+ * * Display Name: Assigned User
28313
28353
  * * SQL Data Type: uniqueidentifier
28314
28354
  * * Related Entity/Foreign Key: MJ: Users (vwUsers.ID)`),
28315
28355
  AgentID: z.string().nullable().describe(`
28316
28356
  * * Field Name: AgentID
28317
- * * Display Name: Agent
28357
+ * * Display Name: Assigned Agent
28318
28358
  * * SQL Data Type: uniqueidentifier
28319
28359
  * * Related Entity/Foreign Key: MJ: AI Agents (vwAIAgents.ID)`),
28320
- Status: z.union([z.literal('Blocked'), z.literal('Cancelled'), z.literal('Complete'), z.literal('Deferred'), z.literal('Failed'), z.literal('In Progress'), z.literal('Pending')]).describe(`
28360
+ Status: z.union([z.literal('Blocked'), z.literal('Cancelled'), z.literal('Complete'), z.literal('Deferred'), z.literal('Failed'), z.literal('In Progress'), z.literal('Pending'), z.literal('Skipped')]).describe(`
28321
28361
  * * Field Name: Status
28322
28362
  * * Display Name: Status
28323
28363
  * * SQL Data Type: nvarchar(50)
@@ -28331,7 +28371,8 @@ export const MJTaskSchema = z.object({
28331
28371
  * * Failed
28332
28372
  * * In Progress
28333
28373
  * * Pending
28334
- * * Description: Current status of the task (Pending, In Progress, Complete, Cancelled, Failed, Blocked, Deferred)`),
28374
+ * * Skipped
28375
+ * * Description: Lifecycle state. Pending awaits prerequisites; In Progress is claimed and running; Complete succeeded; Failed did not; Blocked can never run because a prerequisite is unsatisfiable; Cancelled was stopped deliberately; Deferred is waiting on a schedule. Skipped is a branch that was NOT TAKEN at an exclusive fan-out — a normal outcome, not a failure: it satisfies dependents (so a join downstream of a fork still runs) and is invisible to failure precedence when the parent rolls up.`),
28335
28376
  PercentComplete: z.number().nullable().describe(`
28336
28377
  * * Field Name: PercentComplete
28337
28378
  * * Display Name: Percent Complete
@@ -28394,41 +28435,80 @@ export const MJTaskSchema = z.object({
28394
28435
  * * Display Name: Claim Expires At
28395
28436
  * * SQL Data Type: datetimeoffset
28396
28437
  * * Description: When the current dispatcher claim lapses. Long-running tasks extend it by heartbeat; reconciliation treats an expired claim as an orphaned task and returns it to Pending.`),
28438
+ ActionID: z.string().nullable().describe(`
28439
+ * * Field Name: ActionID
28440
+ * * Display Name: Action ID
28441
+ * * SQL Data Type: uniqueidentifier
28442
+ * * Related Entity/Foreign Key: MJ: Actions (vwActions.ID)
28443
+ * * Description: The Action this task executes, when the node is action-assigned rather than agent-assigned or awaiting a person. Mutually exclusive with UserID and AgentID (CK_Task_Assignment). Set by durable entity-action dispatch, where a single-node graph carries one action to run with restart recovery.`),
28444
+ StepType: z.union([z.literal('Action'), z.literal('Agent'), z.literal('External'), z.literal('ForEach'), z.literal('Human'), z.literal('Prompt'), z.literal('While')]).nullable().describe(`
28445
+ * * Field Name: StepType
28446
+ * * Display Name: Step Type
28447
+ * * SQL Data Type: nvarchar(20)
28448
+ * * Value List Type: List
28449
+ * * Possible Values
28450
+ * * Action
28451
+ * * Agent
28452
+ * * External
28453
+ * * ForEach
28454
+ * * Human
28455
+ * * Prompt
28456
+ * * While
28457
+ * * Description: Which kind of workflow step this task represents. NULL for a task that is not part of a workflow, such as a hand-authored to-do. Determines which of AgentID/ActionID/PromptID/UserID is meaningful and how Configuration is read. This is the executable vocabulary and is deliberately not the same value list as AIAgentStep.StepType, which describes a step at design time.`),
28458
+ PromptID: z.string().nullable().describe(`
28459
+ * * Field Name: PromptID
28460
+ * * Display Name: Prompt ID
28461
+ * * SQL Data Type: uniqueidentifier
28462
+ * * Related Entity/Foreign Key: MJ: AI Prompts (vwAIPrompts.ID)`),
28463
+ Configuration: z.any().nullable().describe(`
28464
+ * * Field Name: Configuration
28465
+ * * Display Name: Configuration
28466
+ * * SQL Data Type: nvarchar(MAX)
28467
+ * * JSON Type: MJTaskEntity_ITaskStepConfiguration
28468
+ * * Description: Everything about this step that has no column of its own, as JSON: the loop definition for a ForEach or While step, an agent step's message and template parameters, the mappings that move data between this step and the workflow payload, and the execution policy (timeout, retries, what to do on failure). Typed by ITaskStepConfiguration.`),
28397
28469
  Parent: z.string().nullable().describe(`
28398
28470
  * * Field Name: Parent
28399
- * * Display Name: Parent Name
28471
+ * * Display Name: Parent
28400
28472
  * * SQL Data Type: nvarchar(255)`),
28401
28473
  Type: z.string().describe(`
28402
28474
  * * Field Name: Type
28403
- * * Display Name: Task Type Name
28475
+ * * Display Name: Type
28404
28476
  * * SQL Data Type: nvarchar(255)`),
28405
28477
  Environment: z.string().describe(`
28406
28478
  * * Field Name: Environment
28407
- * * Display Name: Environment Name
28479
+ * * Display Name: Environment
28408
28480
  * * SQL Data Type: nvarchar(255)`),
28409
28481
  Project: z.string().nullable().describe(`
28410
28482
  * * Field Name: Project
28411
- * * Display Name: Project Name
28483
+ * * Display Name: Project
28412
28484
  * * SQL Data Type: nvarchar(255)`),
28413
28485
  ConversationDetail: z.string().nullable().describe(`
28414
28486
  * * Field Name: ConversationDetail
28415
- * * Display Name: Conversation
28487
+ * * Display Name: Conversation Detail
28416
28488
  * * SQL Data Type: nvarchar(100)`),
28417
28489
  User: z.string().nullable().describe(`
28418
28490
  * * Field Name: User
28419
- * * Display Name: User Name
28491
+ * * Display Name: User
28420
28492
  * * SQL Data Type: nvarchar(100)`),
28421
28493
  Agent: z.string().nullable().describe(`
28422
28494
  * * Field Name: Agent
28423
- * * Display Name: Agent Name
28495
+ * * Display Name: Agent
28424
28496
  * * SQL Data Type: nvarchar(255)`),
28425
28497
  AgentRun: z.string().nullable().describe(`
28426
28498
  * * Field Name: AgentRun
28427
28499
  * * Display Name: Agent Run
28428
28500
  * * SQL Data Type: nvarchar(255)`),
28501
+ Action: z.string().nullable().describe(`
28502
+ * * Field Name: Action
28503
+ * * Display Name: Action
28504
+ * * SQL Data Type: nvarchar(425)`),
28505
+ Prompt: z.string().nullable().describe(`
28506
+ * * Field Name: Prompt
28507
+ * * Display Name: Prompt
28508
+ * * SQL Data Type: nvarchar(255)`),
28429
28509
  RootParentID: z.string().nullable().describe(`
28430
28510
  * * Field Name: RootParentID
28431
- * * Display Name: Root Task
28511
+ * * Display Name: Root Parent ID
28432
28512
  * * SQL Data Type: uniqueidentifier`),
28433
28513
  });
28434
28514
  /**
@@ -32421,7 +32501,7 @@ let MJActionExecutionLogEntity = class MJActionExecutionLogEntity extends BaseEn
32421
32501
  }
32422
32502
  /**
32423
32503
  * * Field Name: Params
32424
- * * Display Name: Params
32504
+ * * Display Name: Input Parameters
32425
32505
  * * SQL Data Type: nvarchar(MAX)
32426
32506
  * * Description: JSON-formatted input parameters AS THE ACTION WAS CALLED, captured once when execution starts and never overwritten. Custom and Generated actions mutate their parameter array in place, so this is the only durable record of the values actually passed in; the final state lives in ResultParams. Parameter values may be redacted per ActionParam.LogValue / EntityActionParam.LogValue, and whole-record value types are never written - see the parameter's own documentation.
32427
32507
  */
@@ -32457,7 +32537,7 @@ let MJActionExecutionLogEntity = class MJActionExecutionLogEntity extends BaseEn
32457
32537
  }
32458
32538
  /**
32459
32539
  * * Field Name: RetentionPeriod
32460
- * * Display Name: Retention Period
32540
+ * * Display Name: Retention Period (Days)
32461
32541
  * * SQL Data Type: int
32462
32542
  * * Description: Number of days to retain the log; NULL for indefinite retention.
32463
32543
  */
@@ -32512,7 +32592,7 @@ let MJActionExecutionLogEntity = class MJActionExecutionLogEntity extends BaseEn
32512
32592
  }
32513
32593
  /**
32514
32594
  * * Field Name: EntityActionInvocationTypeID
32515
- * * Display Name: Entity Action Invocation Type ID
32595
+ * * Display Name: Invocation Type ID
32516
32596
  * * SQL Data Type: uniqueidentifier
32517
32597
  * * Related Entity/Foreign Key: MJ: Entity Action Invocation Types (vwEntityActionInvocationTypes.ID)
32518
32598
  * * Description: Optional. Which lifecycle event fired the binding - AfterUpdate, Validate, List and so on. Recorded separately from EntityActionID because one binding may be attached to several invocation types, and telling a Validate refusal apart from an AfterUpdate side effect is the first question anyone asks of this log.
@@ -32550,7 +32630,7 @@ let MJActionExecutionLogEntity = class MJActionExecutionLogEntity extends BaseEn
32550
32630
  }
32551
32631
  /**
32552
32632
  * * Field Name: ResultParams
32553
- * * Display Name: Result Params
32633
+ * * Display Name: Result Parameters
32554
32634
  * * SQL Data Type: nvarchar(MAX)
32555
32635
  * * Description: JSON-formatted FINAL parameter set captured when the action finished - the inputs as the action left them, plus any output parameters it produced. Written on FAILURE exactly as on success, under the same redaction rules: a failed run's partially-mutated inputs are usually the most diagnostic thing available, and an audit trail that records only successes is not an audit trail. Distinct from Params, which holds the values the action was called with and is never overwritten. NULL means one thing only - the run never finished (process died, host killed) - so it is a signal rather than an absence, and must not be backfilled.
32556
32636
  */
@@ -32562,7 +32642,7 @@ let MJActionExecutionLogEntity = class MJActionExecutionLogEntity extends BaseEn
32562
32642
  }
32563
32643
  /**
32564
32644
  * * Field Name: Action
32565
- * * Display Name: Action
32645
+ * * Display Name: Action Name
32566
32646
  * * SQL Data Type: nvarchar(425)
32567
32647
  */
32568
32648
  get Action() {
@@ -32570,23 +32650,15 @@ let MJActionExecutionLogEntity = class MJActionExecutionLogEntity extends BaseEn
32570
32650
  }
32571
32651
  /**
32572
32652
  * * Field Name: User
32573
- * * Display Name: User
32653
+ * * Display Name: User Name
32574
32654
  * * SQL Data Type: nvarchar(100)
32575
32655
  */
32576
32656
  get User() {
32577
32657
  return this.Get('User');
32578
32658
  }
32579
32659
  /**
32580
- * * Field Name: EntityAction
32581
- * * Display Name: Entity Action
32582
- * * SQL Data Type: nvarchar(425)
32583
- */
32584
- get EntityAction() {
32585
- return this.Get('EntityAction');
32586
- }
32587
- /**
32588
32660
  * * Field Name: EntityActionInvocationType
32589
- * * Display Name: Entity Action Invocation Type
32661
+ * * Display Name: Invocation Type
32590
32662
  * * SQL Data Type: nvarchar(255)
32591
32663
  */
32592
32664
  get EntityActionInvocationType() {
@@ -38426,7 +38498,7 @@ let MJAIAgentRequestEntity = class MJAIAgentRequestEntity extends BaseEntity {
38426
38498
  }
38427
38499
  /**
38428
38500
  * * Field Name: Request
38429
- * * Display Name: Request
38501
+ * * Display Name: Request Details
38430
38502
  * * SQL Data Type: nvarchar(MAX)
38431
38503
  * * Description: Details of what the AI Agent is requesting.
38432
38504
  */
@@ -38450,7 +38522,7 @@ let MJAIAgentRequestEntity = class MJAIAgentRequestEntity extends BaseEntity {
38450
38522
  }
38451
38523
  /**
38452
38524
  * * Field Name: ResponseByUserID
38453
- * * Display Name: Response By User
38525
+ * * Display Name: Responded By User
38454
38526
  * * SQL Data Type: uniqueidentifier
38455
38527
  * * Related Entity/Foreign Key: MJ: Users (vwUsers.ID)
38456
38528
  * * Description: Populated when a user responds indicating which user responded to the request.
@@ -38622,6 +38694,19 @@ let MJAIAgentRequestEntity = class MJAIAgentRequestEntity extends BaseEntity {
38622
38694
  this.Set('ResponseSource', value);
38623
38695
  }
38624
38696
  /**
38697
+ * * Field Name: OriginatingTaskID
38698
+ * * Display Name: Originating Task
38699
+ * * SQL Data Type: uniqueidentifier
38700
+ * * Related Entity/Foreign Key: MJ: Tasks (vwTasks.ID)
38701
+ * * Description: The workflow step (MJ: Tasks row) waiting on this request, when it came from a task graph rather than from a running agent. Distinct from OriginatingAgentRunStepID: a task graph outlives the agent run that submitted it, so the task — not the run — is what resumes when a person answers. NULL for requests raised by a run directly.
38702
+ */
38703
+ get OriginatingTaskID() {
38704
+ return this.Get('OriginatingTaskID');
38705
+ }
38706
+ set OriginatingTaskID(value) {
38707
+ this.Set('OriginatingTaskID', value);
38708
+ }
38709
+ /**
38625
38710
  * * Field Name: Agent
38626
38711
  * * Display Name: Agent Name
38627
38712
  * * SQL Data Type: nvarchar(255)
@@ -38631,7 +38716,7 @@ let MJAIAgentRequestEntity = class MJAIAgentRequestEntity extends BaseEntity {
38631
38716
  }
38632
38717
  /**
38633
38718
  * * Field Name: RequestForUser
38634
- * * Display Name: Request For User Name
38719
+ * * Display Name: Target User
38635
38720
  * * SQL Data Type: nvarchar(100)
38636
38721
  */
38637
38722
  get RequestForUser() {
@@ -38639,7 +38724,7 @@ let MJAIAgentRequestEntity = class MJAIAgentRequestEntity extends BaseEntity {
38639
38724
  }
38640
38725
  /**
38641
38726
  * * Field Name: ResponseByUser
38642
- * * Display Name: Response By User Name
38727
+ * * Display Name: Responded By
38643
38728
  * * SQL Data Type: nvarchar(100)
38644
38729
  */
38645
38730
  get ResponseByUser() {
@@ -38677,6 +38762,14 @@ let MJAIAgentRequestEntity = class MJAIAgentRequestEntity extends BaseEntity {
38677
38762
  get ResumingAgentRun() {
38678
38763
  return this.Get('ResumingAgentRun');
38679
38764
  }
38765
+ /**
38766
+ * * Field Name: OriginatingTask
38767
+ * * Display Name: Originating Task Name
38768
+ * * SQL Data Type: nvarchar(255)
38769
+ */
38770
+ get OriginatingTask() {
38771
+ return this.Get('OriginatingTask');
38772
+ }
38680
38773
  };
38681
38774
  MJAIAgentRequestEntity = __decorate([
38682
38775
  RegisterClass(BaseEntity, 'MJ: AI Agent Requests')
@@ -42025,6 +42118,7 @@ let MJAIAgentStepEntity = class MJAIAgentStepEntity extends BaseEntity {
42025
42118
  * * Possible Values
42026
42119
  * * Action
42027
42120
  * * ForEach
42121
+ * * Human
42028
42122
  * * Prompt
42029
42123
  * * Sub-Agent
42030
42124
  * * While
@@ -46936,6 +47030,11 @@ export { MJAIModelPriceUnitTypeEntity };
46936
47030
  * @public
46937
47031
  */
46938
47032
  let MJAIModelTypeEntity = class MJAIModelTypeEntity extends BaseEntity {
47033
+ constructor() {
47034
+ super(...arguments);
47035
+ this._ModelConfigurationObject_cached = undefined;
47036
+ this._ModelConfigurationObject_lastRaw = null;
47037
+ }
46939
47038
  /**
46940
47039
  * Loads the MJ: AI Model Types record from the database
46941
47040
  * @param ID: string - primary key value to load the MJ: AI Model Types record.
@@ -47056,6 +47155,37 @@ let MJAIModelTypeEntity = class MJAIModelTypeEntity extends BaseEntity {
47056
47155
  this.Set('PrefillFallbackText', value);
47057
47156
  }
47058
47157
  /**
47158
+ * * Field Name: ModelConfiguration
47159
+ * * Display Name: Model Configuration
47160
+ * * SQL Data Type: nvarchar(MAX)
47161
+ * * JSON Type: MJAIModelTypeEntity_IAIModelConfiguration
47162
+ * * Description: Type-wide default of the per-modality model-configuration bag (JSON, IAIModelConfiguration shape: LLM / Realtime / Vision / Audio sections). Base layer of the ModelConfiguration cascade — AIModel and AIModelVendor rows inherit from it per key and may override. NULL = contributes nothing.
47163
+ */
47164
+ get ModelConfiguration() {
47165
+ return this.Get('ModelConfiguration');
47166
+ }
47167
+ set ModelConfiguration(value) {
47168
+ this.Set('ModelConfiguration', value);
47169
+ }
47170
+ /**
47171
+ * Typed accessor for ModelConfiguration — returns parsed JSON as MJAIModelTypeEntity_IAIModelConfiguration.
47172
+ * Uses lazy parsing with cache invalidation when the underlying raw value changes.
47173
+ */
47174
+ get ModelConfigurationObject() {
47175
+ const raw = this.ModelConfiguration;
47176
+ if (raw !== this._ModelConfigurationObject_lastRaw) {
47177
+ this._ModelConfigurationObject_cached = raw ? JSON.parse(raw) : null;
47178
+ this._ModelConfigurationObject_lastRaw = raw;
47179
+ }
47180
+ return this._ModelConfigurationObject_cached;
47181
+ }
47182
+ set ModelConfigurationObject(value) {
47183
+ const raw = value ? JSON.stringify(value) : null;
47184
+ this.ModelConfiguration = raw;
47185
+ this._ModelConfigurationObject_cached = value;
47186
+ this._ModelConfigurationObject_lastRaw = raw;
47187
+ }
47188
+ /**
47059
47189
  * * Field Name: DefaultInputModality
47060
47190
  * * Display Name: Default Input Modality Name
47061
47191
  * * SQL Data Type: nvarchar(50)
@@ -47088,6 +47218,11 @@ export { MJAIModelTypeEntity };
47088
47218
  * @public
47089
47219
  */
47090
47220
  let MJAIModelVendorEntity = class MJAIModelVendorEntity extends BaseEntity {
47221
+ constructor() {
47222
+ super(...arguments);
47223
+ this._ModelConfigurationObject_cached = undefined;
47224
+ this._ModelConfigurationObject_lastRaw = null;
47225
+ }
47091
47226
  /**
47092
47227
  * Loads the MJ: AI Model Vendors record from the database
47093
47228
  * @param ID: string - primary key value to load the MJ: AI Model Vendors record.
@@ -47341,7 +47476,7 @@ let MJAIModelVendorEntity = class MJAIModelVendorEntity extends BaseEntity {
47341
47476
  }
47342
47477
  /**
47343
47478
  * * Field Name: TypeID
47344
- * * Display Name: Type
47479
+ * * Display Name: Vendor Type
47345
47480
  * * SQL Data Type: uniqueidentifier
47346
47481
  * * Related Entity/Foreign Key: MJ: AI Vendor Type Definitions (vwAIVendorTypeDefinitions.ID)
47347
47482
  * * Description: References the type/role of the vendor for this model (e.g., model developer, inference provider)
@@ -47377,6 +47512,37 @@ let MJAIModelVendorEntity = class MJAIModelVendorEntity extends BaseEntity {
47377
47512
  this.Set('PrefillFallbackText', value);
47378
47513
  }
47379
47514
  /**
47515
+ * * Field Name: ModelConfiguration
47516
+ * * Display Name: Model Configuration
47517
+ * * SQL Data Type: nvarchar(MAX)
47518
+ * * JSON Type: MJAIModelVendorEntity_IAIModelConfiguration
47519
+ * * Description: Most-specific layer of the per-modality model-configuration bag (JSON, IAIModelConfiguration shape) — configuration for THIS model on THIS provider. Deep-merges per key over the model and type layers. NULL = inherit the merged model/type configuration unchanged.
47520
+ */
47521
+ get ModelConfiguration() {
47522
+ return this.Get('ModelConfiguration');
47523
+ }
47524
+ set ModelConfiguration(value) {
47525
+ this.Set('ModelConfiguration', value);
47526
+ }
47527
+ /**
47528
+ * Typed accessor for ModelConfiguration — returns parsed JSON as MJAIModelVendorEntity_IAIModelConfiguration.
47529
+ * Uses lazy parsing with cache invalidation when the underlying raw value changes.
47530
+ */
47531
+ get ModelConfigurationObject() {
47532
+ const raw = this.ModelConfiguration;
47533
+ if (raw !== this._ModelConfigurationObject_lastRaw) {
47534
+ this._ModelConfigurationObject_cached = raw ? JSON.parse(raw) : null;
47535
+ this._ModelConfigurationObject_lastRaw = raw;
47536
+ }
47537
+ return this._ModelConfigurationObject_cached;
47538
+ }
47539
+ set ModelConfigurationObject(value) {
47540
+ const raw = value ? JSON.stringify(value) : null;
47541
+ this.ModelConfiguration = raw;
47542
+ this._ModelConfigurationObject_cached = value;
47543
+ this._ModelConfigurationObject_lastRaw = raw;
47544
+ }
47545
+ /**
47380
47546
  * * Field Name: Model
47381
47547
  * * Display Name: Model Name
47382
47548
  * * SQL Data Type: nvarchar(50)
@@ -47394,7 +47560,7 @@ let MJAIModelVendorEntity = class MJAIModelVendorEntity extends BaseEntity {
47394
47560
  }
47395
47561
  /**
47396
47562
  * * Field Name: Type
47397
- * * Display Name: Type Name
47563
+ * * Display Name: Type
47398
47564
  * * SQL Data Type: nvarchar(50)
47399
47565
  */
47400
47566
  get Type() {
@@ -47417,6 +47583,11 @@ export { MJAIModelVendorEntity };
47417
47583
  * @public
47418
47584
  */
47419
47585
  let MJAIModelEntity = class MJAIModelEntity extends BaseEntity {
47586
+ constructor() {
47587
+ super(...arguments);
47588
+ this._ModelConfigurationObject_cached = undefined;
47589
+ this._ModelConfigurationObject_lastRaw = null;
47590
+ }
47420
47591
  /**
47421
47592
  * Loads the MJ: AI Models record from the database
47422
47593
  * @param ID: string - primary key value to load the MJ: AI Models record.
@@ -47519,7 +47690,7 @@ let MJAIModelEntity = class MJAIModelEntity extends BaseEntity {
47519
47690
  }
47520
47691
  /**
47521
47692
  * * Field Name: AIModelTypeID
47522
- * * Display Name: AI Model Type
47693
+ * * Display Name: AI Model Type ID
47523
47694
  * * SQL Data Type: uniqueidentifier
47524
47695
  * * Related Entity/Foreign Key: MJ: AI Model Types (vwAIModelTypes.ID)
47525
47696
  */
@@ -47544,7 +47715,7 @@ let MJAIModelEntity = class MJAIModelEntity extends BaseEntity {
47544
47715
  }
47545
47716
  /**
47546
47717
  * * Field Name: IsActive
47547
- * * Display Name: Active
47718
+ * * Display Name: Is Active
47548
47719
  * * SQL Data Type: bit
47549
47720
  * * Default Value: 1
47550
47721
  * * Description: Controls whether this AI model is available for use in the system.
@@ -47662,8 +47833,39 @@ let MJAIModelEntity = class MJAIModelEntity extends BaseEntity {
47662
47833
  this.Set('PrefillFallbackText', value);
47663
47834
  }
47664
47835
  /**
47836
+ * * Field Name: ModelConfiguration
47837
+ * * Display Name: Model Configuration
47838
+ * * SQL Data Type: nvarchar(MAX)
47839
+ * * JSON Type: MJAIModelEntity_IAIModelConfiguration
47840
+ * * Description: Per-model layer of the per-modality model-configuration bag (JSON, IAIModelConfiguration shape). Deep-merges per key over the AIModelType default; AIModelVendor rows may override per key on top. NULL = inherit the type default unchanged.
47841
+ */
47842
+ get ModelConfiguration() {
47843
+ return this.Get('ModelConfiguration');
47844
+ }
47845
+ set ModelConfiguration(value) {
47846
+ this.Set('ModelConfiguration', value);
47847
+ }
47848
+ /**
47849
+ * Typed accessor for ModelConfiguration — returns parsed JSON as MJAIModelEntity_IAIModelConfiguration.
47850
+ * Uses lazy parsing with cache invalidation when the underlying raw value changes.
47851
+ */
47852
+ get ModelConfigurationObject() {
47853
+ const raw = this.ModelConfiguration;
47854
+ if (raw !== this._ModelConfigurationObject_lastRaw) {
47855
+ this._ModelConfigurationObject_cached = raw ? JSON.parse(raw) : null;
47856
+ this._ModelConfigurationObject_lastRaw = raw;
47857
+ }
47858
+ return this._ModelConfigurationObject_cached;
47859
+ }
47860
+ set ModelConfigurationObject(value) {
47861
+ const raw = value ? JSON.stringify(value) : null;
47862
+ this.ModelConfiguration = raw;
47863
+ this._ModelConfigurationObject_cached = value;
47864
+ this._ModelConfigurationObject_lastRaw = raw;
47865
+ }
47866
+ /**
47665
47867
  * * Field Name: AIModelType
47666
- * * Display Name: Model Type Name
47868
+ * * Display Name: AI Model Type
47667
47869
  * * SQL Data Type: nvarchar(50)
47668
47870
  */
47669
47871
  get AIModelType() {
@@ -72932,14 +73134,6 @@ let MJEntityActionFilterEntity = class MJEntityActionFilterEntity extends BaseEn
72932
73134
  return this.Get('__mj_UpdatedAt');
72933
73135
  }
72934
73136
  /**
72935
- * * Field Name: EntityAction
72936
- * * Display Name: Entity Action Name
72937
- * * SQL Data Type: nvarchar(425)
72938
- */
72939
- get EntityAction() {
72940
- return this.Get('EntityAction');
72941
- }
72942
- /**
72943
73137
  * * Field Name: ActionFilter
72944
73138
  * * Display Name: Action Filter Name
72945
73139
  * * SQL Data Type: nvarchar(MAX)
@@ -73165,14 +73359,6 @@ let MJEntityActionInvocationEntity = class MJEntityActionInvocationEntity extend
73165
73359
  this.Set('RuntimeUXDriverClass', value);
73166
73360
  }
73167
73361
  /**
73168
- * * Field Name: EntityAction
73169
- * * Display Name: Entity Action Name
73170
- * * SQL Data Type: nvarchar(425)
73171
- */
73172
- get EntityAction() {
73173
- return this.Get('EntityAction');
73174
- }
73175
- /**
73176
73362
  * * Field Name: InvocationType
73177
73363
  * * Display Name: Invocation Type Name
73178
73364
  * * SQL Data Type: nvarchar(255)
@@ -73227,7 +73413,7 @@ let MJEntityActionParamEntity = class MJEntityActionParamEntity extends BaseEnti
73227
73413
  }
73228
73414
  /**
73229
73415
  * * Field Name: EntityActionID
73230
- * * Display Name: Entity Action ID
73416
+ * * Display Name: Entity Action
73231
73417
  * * SQL Data Type: uniqueidentifier
73232
73418
  * * Related Entity/Foreign Key: MJ: Entity Actions (vwEntityActions.ID)
73233
73419
  */
@@ -73239,7 +73425,7 @@ let MJEntityActionParamEntity = class MJEntityActionParamEntity extends BaseEnti
73239
73425
  }
73240
73426
  /**
73241
73427
  * * Field Name: ActionParamID
73242
- * * Display Name: Action Parameter ID
73428
+ * * Display Name: Action Parameter
73243
73429
  * * SQL Data Type: uniqueidentifier
73244
73430
  * * Related Entity/Foreign Key: MJ: Action Params (vwActionParams.ID)
73245
73431
  */
@@ -73323,16 +73509,8 @@ let MJEntityActionParamEntity = class MJEntityActionParamEntity extends BaseEnti
73323
73509
  this.Set('LogValue', value);
73324
73510
  }
73325
73511
  /**
73326
- * * Field Name: EntityAction
73327
- * * Display Name: Entity Action
73328
- * * SQL Data Type: nvarchar(425)
73329
- */
73330
- get EntityAction() {
73331
- return this.Get('EntityAction');
73332
- }
73333
- /**
73334
73512
  * * Field Name: ActionParam
73335
- * * Display Name: Action Parameter
73513
+ * * Display Name: Action Parameter Name
73336
73514
  * * SQL Data Type: nvarchar(255)
73337
73515
  */
73338
73516
  get ActionParam() {
@@ -73397,7 +73575,7 @@ let MJEntityActionEntity = class MJEntityActionEntity extends BaseEntity {
73397
73575
  }
73398
73576
  /**
73399
73577
  * * Field Name: EntityID
73400
- * * Display Name: Entity ID
73578
+ * * Display Name: Entity
73401
73579
  * * SQL Data Type: uniqueidentifier
73402
73580
  * * Related Entity/Foreign Key: MJ: Entities (vwEntities.ID)
73403
73581
  */
@@ -73409,7 +73587,7 @@ let MJEntityActionEntity = class MJEntityActionEntity extends BaseEntity {
73409
73587
  }
73410
73588
  /**
73411
73589
  * * Field Name: ActionID
73412
- * * Display Name: Action ID
73590
+ * * Display Name: Action
73413
73591
  * * SQL Data Type: uniqueidentifier
73414
73592
  * * Related Entity/Foreign Key: MJ: Actions (vwActions.ID)
73415
73593
  */
@@ -73439,7 +73617,7 @@ let MJEntityActionEntity = class MJEntityActionEntity extends BaseEntity {
73439
73617
  }
73440
73618
  /**
73441
73619
  * * Field Name: __mj_CreatedAt
73442
- * * Display Name: __mj _Created At
73620
+ * * Display Name: Created At
73443
73621
  * * SQL Data Type: datetimeoffset
73444
73622
  * * Default Value: getutcdate()
73445
73623
  */
@@ -73448,7 +73626,7 @@ let MJEntityActionEntity = class MJEntityActionEntity extends BaseEntity {
73448
73626
  }
73449
73627
  /**
73450
73628
  * * Field Name: __mj_UpdatedAt
73451
- * * Display Name: __mj _Updated At
73629
+ * * Display Name: Updated At
73452
73630
  * * SQL Data Type: datetimeoffset
73453
73631
  * * Default Value: getutcdate()
73454
73632
  */
@@ -73524,8 +73702,25 @@ let MJEntityActionEntity = class MJEntityActionEntity extends BaseEntity {
73524
73702
  this.Set('LoggingMode', value);
73525
73703
  }
73526
73704
  /**
73705
+ * * Field Name: RunMode
73706
+ * * Display Name: Run Mode
73707
+ * * SQL Data Type: nvarchar(20)
73708
+ * * Default Value: Inline
73709
+ * * Value List Type: List
73710
+ * * Possible Values
73711
+ * * Durable
73712
+ * * Inline
73713
+ * * Description: How an After* dispatch of this binding executes. Inline (the default) runs it fire-and-forget in the saving process, which is fast but lost if that process dies. Durable submits a single-node task graph instead, so the work survives a restart and is reclaimed by the dispatcher — at the cost of a Task row, a dispatcher hop of latency, and the action's parameters being persisted (redacted) at rest. Ignored for Validate and Before* invocations, which run inside the save and cannot be deferred without changing whether the save succeeds.
73714
+ */
73715
+ get RunMode() {
73716
+ return this.Get('RunMode');
73717
+ }
73718
+ set RunMode(value) {
73719
+ this.Set('RunMode', value);
73720
+ }
73721
+ /**
73527
73722
  * * Field Name: Entity
73528
- * * Display Name: Entity
73723
+ * * Display Name: Entity Name
73529
73724
  * * SQL Data Type: nvarchar(255)
73530
73725
  */
73531
73726
  get Entity() {
@@ -73533,7 +73728,7 @@ let MJEntityActionEntity = class MJEntityActionEntity extends BaseEntity {
73533
73728
  }
73534
73729
  /**
73535
73730
  * * Field Name: Action
73536
- * * Display Name: Action
73731
+ * * Display Name: Action Name
73537
73732
  * * SQL Data Type: nvarchar(425)
73538
73733
  */
73539
73734
  get Action() {
@@ -73541,7 +73736,7 @@ let MJEntityActionEntity = class MJEntityActionEntity extends BaseEntity {
73541
73736
  }
73542
73737
  /**
73543
73738
  * * Field Name: ScopeEntity
73544
- * * Display Name: Scope Entity
73739
+ * * Display Name: Scope Entity Name
73545
73740
  * * SQL Data Type: nvarchar(255)
73546
73741
  */
73547
73742
  get ScopeEntity() {
@@ -102313,7 +102508,7 @@ let MJTaskDependencyEntity = class MJTaskDependencyEntity extends BaseEntity {
102313
102508
  }
102314
102509
  /**
102315
102510
  * * Field Name: DependsOnTaskID
102316
- * * Display Name: Depends On Task
102511
+ * * Display Name: Depends On Task ID
102317
102512
  * * SQL Data Type: uniqueidentifier
102318
102513
  * * Related Entity/Foreign Key: MJ: Tasks (vwTasks.ID)
102319
102514
  */
@@ -102372,6 +102567,44 @@ let MJTaskDependencyEntity = class MJTaskDependencyEntity extends BaseEntity {
102372
102567
  this.Set('Condition', value);
102373
102568
  }
102374
102569
  /**
102570
+ * * Field Name: Priority
102571
+ * * Display Name: Priority
102572
+ * * SQL Data Type: int
102573
+ * * Default Value: 0
102574
+ * * Description: Ordering within an exclusive group — higher wins. Mirrors AIAgentStepPath.Priority so a compiled workflow chooses the same branch the flow editor shows. Ignored for edges that are not part of an ExclusiveGroup.
102575
+ */
102576
+ get Priority() {
102577
+ return this.Get('Priority');
102578
+ }
102579
+ set Priority(value) {
102580
+ this.Set('Priority', value);
102581
+ }
102582
+ /**
102583
+ * * Field Name: Sequence
102584
+ * * Display Name: Sequence
102585
+ * * SQL Data Type: int
102586
+ * * Default Value: 0
102587
+ * * Description: Deterministic tiebreak when two edges in an ExclusiveGroup share a Priority, applied ascending. Load-bearing rather than cosmetic: compiled dependencies get fresh UUIDs and Priority defaults to 0, so without a stored ordinal a tie would resolve by row order and the same workflow could take a different branch on a different machine.
102588
+ */
102589
+ get Sequence() {
102590
+ return this.Get('Sequence');
102591
+ }
102592
+ set Sequence(value) {
102593
+ this.Set('Sequence', value);
102594
+ }
102595
+ /**
102596
+ * * Field Name: ExclusiveGroup
102597
+ * * Display Name: Exclusive Group
102598
+ * * SQL Data Type: nvarchar(255)
102599
+ * * Description: XOR group key: sibling edges leaving the same origin that share a non-null ExclusiveGroup are an exclusive fan-out. The highest-Priority satisfied edge wins, ties broken by ascending Sequence; the rest are Skipped. NULL (the default) means an ordinary dependency, so existing graphs are unaffected. An unevaluable condition anywhere in the group holds the whole group rather than firing every branch.
102600
+ */
102601
+ get ExclusiveGroup() {
102602
+ return this.Get('ExclusiveGroup');
102603
+ }
102604
+ set ExclusiveGroup(value) {
102605
+ this.Set('ExclusiveGroup', value);
102606
+ }
102607
+ /**
102375
102608
  * * Field Name: Task
102376
102609
  * * Display Name: Task Name
102377
102610
  * * SQL Data Type: nvarchar(255)
@@ -102491,6 +102724,11 @@ export { MJTaskTypeEntity };
102491
102724
  * @public
102492
102725
  */
102493
102726
  let MJTaskEntity = class MJTaskEntity extends BaseEntity {
102727
+ constructor() {
102728
+ super(...arguments);
102729
+ this._ConfigurationObject_cached = undefined;
102730
+ this._ConfigurationObject_lastRaw = null;
102731
+ }
102494
102732
  /**
102495
102733
  * Loads the MJ: Tasks record from the database
102496
102734
  * @param ID: string - primary key value to load the MJ: Tasks record.
@@ -102510,7 +102748,7 @@ let MJTaskEntity = class MJTaskEntity extends BaseEntity {
102510
102748
  /**
102511
102749
  * Validate() method override for MJ: Tasks entity. This is an auto-generated method that invokes the generated validators for this entity for the following fields:
102512
102750
  * * PercentComplete: This rule ensures that if a percent complete value is provided, it must be between 0 and 100 inclusive.
102513
- * * Table-Level: This rule ensures that for each record, either UserID or AgentID can be set, or both can be left empty, but not both can be filled in at the same time.
102751
+ * * Table-Level: A record can be associated with at most one context: either a User, an Agent, an Action, or a Prompt. Specifying more than one of these references is not allowed.
102514
102752
  * @public
102515
102753
  * @method
102516
102754
  * @override
@@ -102518,7 +102756,7 @@ let MJTaskEntity = class MJTaskEntity extends BaseEntity {
102518
102756
  Validate() {
102519
102757
  const result = super.Validate();
102520
102758
  this.ValidatePercentCompleteWithinZeroAndOneHundred(result);
102521
- this.ValidateUserIDAndAgentIDMutualExclusivity(result);
102759
+ this.ValidateAtMostOneContextField(result);
102522
102760
  result.Success = result.Success && (result.Errors.length === 0);
102523
102761
  return result;
102524
102762
  }
@@ -102534,14 +102772,27 @@ let MJTaskEntity = class MJTaskEntity extends BaseEntity {
102534
102772
  }
102535
102773
  }
102536
102774
  /**
102537
- * This rule ensures that for each record, either UserID or AgentID can be set, or both can be left empty, but not both can be filled in at the same time.
102775
+ * A record can be associated with at most one context: either a User, an Agent, an Action, or a Prompt. Specifying more than one of these references is not allowed.
102538
102776
  * @param result - the ValidationResult object to add any errors or warnings to
102539
102777
  * @public
102540
102778
  * @method
102541
102779
  */
102542
- ValidateUserIDAndAgentIDMutualExclusivity(result) {
102543
- if (this.UserID != null && this.AgentID != null) {
102544
- result.Errors.push(new ValidationErrorInfo("UserID", "UserID and AgentID cannot both have values at the same time. Only one or neither may be set.", this.UserID, ValidationErrorType.Failure));
102780
+ ValidateAtMostOneContextField(result) {
102781
+ let count = 0;
102782
+ if (this.UserID != null) {
102783
+ count++;
102784
+ }
102785
+ if (this.AgentID != null) {
102786
+ count++;
102787
+ }
102788
+ if (this.ActionID != null) {
102789
+ count++;
102790
+ }
102791
+ if (this.PromptID != null) {
102792
+ count++;
102793
+ }
102794
+ if (count > 1) {
102795
+ result.Errors.push(new ValidationErrorInfo("UserID", "Only one of UserID, AgentID, ActionID, or PromptID can be specified for a single record.", this.UserID, ValidationErrorType.Failure));
102545
102796
  }
102546
102797
  }
102547
102798
  /**
@@ -102643,7 +102894,7 @@ let MJTaskEntity = class MJTaskEntity extends BaseEntity {
102643
102894
  }
102644
102895
  /**
102645
102896
  * * Field Name: UserID
102646
- * * Display Name: User
102897
+ * * Display Name: Assigned User
102647
102898
  * * SQL Data Type: uniqueidentifier
102648
102899
  * * Related Entity/Foreign Key: MJ: Users (vwUsers.ID)
102649
102900
  */
@@ -102655,7 +102906,7 @@ let MJTaskEntity = class MJTaskEntity extends BaseEntity {
102655
102906
  }
102656
102907
  /**
102657
102908
  * * Field Name: AgentID
102658
- * * Display Name: Agent
102909
+ * * Display Name: Assigned Agent
102659
102910
  * * SQL Data Type: uniqueidentifier
102660
102911
  * * Related Entity/Foreign Key: MJ: AI Agents (vwAIAgents.ID)
102661
102912
  */
@@ -102679,7 +102930,8 @@ let MJTaskEntity = class MJTaskEntity extends BaseEntity {
102679
102930
  * * Failed
102680
102931
  * * In Progress
102681
102932
  * * Pending
102682
- * * Description: Current status of the task (Pending, In Progress, Complete, Cancelled, Failed, Blocked, Deferred)
102933
+ * * Skipped
102934
+ * * Description: Lifecycle state. Pending awaits prerequisites; In Progress is claimed and running; Complete succeeded; Failed did not; Blocked can never run because a prerequisite is unsatisfiable; Cancelled was stopped deliberately; Deferred is waiting on a schedule. Skipped is a branch that was NOT TAKEN at an exclusive fan-out — a normal outcome, not a failure: it satisfies dependents (so a join downstream of a fork still runs) and is invisible to failure precedence when the parent rolls up.
102683
102935
  */
102684
102936
  get Status() {
102685
102937
  return this.Get('Status');
@@ -102828,8 +103080,85 @@ let MJTaskEntity = class MJTaskEntity extends BaseEntity {
102828
103080
  this.Set('ClaimExpiresAt', value);
102829
103081
  }
102830
103082
  /**
103083
+ * * Field Name: ActionID
103084
+ * * Display Name: Action ID
103085
+ * * SQL Data Type: uniqueidentifier
103086
+ * * Related Entity/Foreign Key: MJ: Actions (vwActions.ID)
103087
+ * * Description: The Action this task executes, when the node is action-assigned rather than agent-assigned or awaiting a person. Mutually exclusive with UserID and AgentID (CK_Task_Assignment). Set by durable entity-action dispatch, where a single-node graph carries one action to run with restart recovery.
103088
+ */
103089
+ get ActionID() {
103090
+ return this.Get('ActionID');
103091
+ }
103092
+ set ActionID(value) {
103093
+ this.Set('ActionID', value);
103094
+ }
103095
+ /**
103096
+ * * Field Name: StepType
103097
+ * * Display Name: Step Type
103098
+ * * SQL Data Type: nvarchar(20)
103099
+ * * Value List Type: List
103100
+ * * Possible Values
103101
+ * * Action
103102
+ * * Agent
103103
+ * * External
103104
+ * * ForEach
103105
+ * * Human
103106
+ * * Prompt
103107
+ * * While
103108
+ * * Description: Which kind of workflow step this task represents. NULL for a task that is not part of a workflow, such as a hand-authored to-do. Determines which of AgentID/ActionID/PromptID/UserID is meaningful and how Configuration is read. This is the executable vocabulary and is deliberately not the same value list as AIAgentStep.StepType, which describes a step at design time.
103109
+ */
103110
+ get StepType() {
103111
+ return this.Get('StepType');
103112
+ }
103113
+ set StepType(value) {
103114
+ this.Set('StepType', value);
103115
+ }
103116
+ /**
103117
+ * * Field Name: PromptID
103118
+ * * Display Name: Prompt ID
103119
+ * * SQL Data Type: uniqueidentifier
103120
+ * * Related Entity/Foreign Key: MJ: AI Prompts (vwAIPrompts.ID)
103121
+ */
103122
+ get PromptID() {
103123
+ return this.Get('PromptID');
103124
+ }
103125
+ set PromptID(value) {
103126
+ this.Set('PromptID', value);
103127
+ }
103128
+ /**
103129
+ * * Field Name: Configuration
103130
+ * * Display Name: Configuration
103131
+ * * SQL Data Type: nvarchar(MAX)
103132
+ * * JSON Type: MJTaskEntity_ITaskStepConfiguration
103133
+ * * Description: Everything about this step that has no column of its own, as JSON: the loop definition for a ForEach or While step, an agent step's message and template parameters, the mappings that move data between this step and the workflow payload, and the execution policy (timeout, retries, what to do on failure). Typed by ITaskStepConfiguration.
103134
+ */
103135
+ get Configuration() {
103136
+ return this.Get('Configuration');
103137
+ }
103138
+ set Configuration(value) {
103139
+ this.Set('Configuration', value);
103140
+ }
103141
+ /**
103142
+ * Typed accessor for Configuration — returns parsed JSON as MJTaskEntity_ITaskStepConfiguration.
103143
+ * Uses lazy parsing with cache invalidation when the underlying raw value changes.
103144
+ */
103145
+ get ConfigurationObject() {
103146
+ const raw = this.Configuration;
103147
+ if (raw !== this._ConfigurationObject_lastRaw) {
103148
+ this._ConfigurationObject_cached = raw ? JSON.parse(raw) : null;
103149
+ this._ConfigurationObject_lastRaw = raw;
103150
+ }
103151
+ return this._ConfigurationObject_cached;
103152
+ }
103153
+ set ConfigurationObject(value) {
103154
+ const raw = value ? JSON.stringify(value) : null;
103155
+ this.Configuration = raw;
103156
+ this._ConfigurationObject_cached = value;
103157
+ this._ConfigurationObject_lastRaw = raw;
103158
+ }
103159
+ /**
102831
103160
  * * Field Name: Parent
102832
- * * Display Name: Parent Name
103161
+ * * Display Name: Parent
102833
103162
  * * SQL Data Type: nvarchar(255)
102834
103163
  */
102835
103164
  get Parent() {
@@ -102837,7 +103166,7 @@ let MJTaskEntity = class MJTaskEntity extends BaseEntity {
102837
103166
  }
102838
103167
  /**
102839
103168
  * * Field Name: Type
102840
- * * Display Name: Task Type Name
103169
+ * * Display Name: Type
102841
103170
  * * SQL Data Type: nvarchar(255)
102842
103171
  */
102843
103172
  get Type() {
@@ -102845,7 +103174,7 @@ let MJTaskEntity = class MJTaskEntity extends BaseEntity {
102845
103174
  }
102846
103175
  /**
102847
103176
  * * Field Name: Environment
102848
- * * Display Name: Environment Name
103177
+ * * Display Name: Environment
102849
103178
  * * SQL Data Type: nvarchar(255)
102850
103179
  */
102851
103180
  get Environment() {
@@ -102853,7 +103182,7 @@ let MJTaskEntity = class MJTaskEntity extends BaseEntity {
102853
103182
  }
102854
103183
  /**
102855
103184
  * * Field Name: Project
102856
- * * Display Name: Project Name
103185
+ * * Display Name: Project
102857
103186
  * * SQL Data Type: nvarchar(255)
102858
103187
  */
102859
103188
  get Project() {
@@ -102861,7 +103190,7 @@ let MJTaskEntity = class MJTaskEntity extends BaseEntity {
102861
103190
  }
102862
103191
  /**
102863
103192
  * * Field Name: ConversationDetail
102864
- * * Display Name: Conversation
103193
+ * * Display Name: Conversation Detail
102865
103194
  * * SQL Data Type: nvarchar(100)
102866
103195
  */
102867
103196
  get ConversationDetail() {
@@ -102869,7 +103198,7 @@ let MJTaskEntity = class MJTaskEntity extends BaseEntity {
102869
103198
  }
102870
103199
  /**
102871
103200
  * * Field Name: User
102872
- * * Display Name: User Name
103201
+ * * Display Name: User
102873
103202
  * * SQL Data Type: nvarchar(100)
102874
103203
  */
102875
103204
  get User() {
@@ -102877,7 +103206,7 @@ let MJTaskEntity = class MJTaskEntity extends BaseEntity {
102877
103206
  }
102878
103207
  /**
102879
103208
  * * Field Name: Agent
102880
- * * Display Name: Agent Name
103209
+ * * Display Name: Agent
102881
103210
  * * SQL Data Type: nvarchar(255)
102882
103211
  */
102883
103212
  get Agent() {
@@ -102892,8 +103221,24 @@ let MJTaskEntity = class MJTaskEntity extends BaseEntity {
102892
103221
  return this.Get('AgentRun');
102893
103222
  }
102894
103223
  /**
103224
+ * * Field Name: Action
103225
+ * * Display Name: Action
103226
+ * * SQL Data Type: nvarchar(425)
103227
+ */
103228
+ get Action() {
103229
+ return this.Get('Action');
103230
+ }
103231
+ /**
103232
+ * * Field Name: Prompt
103233
+ * * Display Name: Prompt
103234
+ * * SQL Data Type: nvarchar(255)
103235
+ */
103236
+ get Prompt() {
103237
+ return this.Get('Prompt');
103238
+ }
103239
+ /**
102895
103240
  * * Field Name: RootParentID
102896
- * * Display Name: Root Task
103241
+ * * Display Name: Root Parent ID
102897
103242
  * * SQL Data Type: uniqueidentifier
102898
103243
  */
102899
103244
  get RootParentID() {