@memberjunction/react-runtime 5.34.1 → 5.35.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.
@@ -25936,9 +25936,10 @@ var EntityFieldInfo = /*#__PURE__*/function (_BaseInfo7) {
25936
25936
  *
25937
25937
  * • **CodeGen**, when emitting the SP body (which `@params` to declare
25938
25938
  * and which columns to `INSERT`/`UPDATE`), and
25939
- * • **Runtime data providers** (`SQLServerDataProvider.generateSPParams`,
25940
- * `PostgreSQLDataProvider.getWritableFields`), when building the
25941
- * EXEC / parameter list passed to the SP.
25939
+ * • **Runtime data providers**, via the `RenderSaveCallBinding` hook
25940
+ * implemented by `SQLServerDataProvider` and `PostgreSQLDataProvider`
25941
+ * (orchestrated by `GenericDatabaseProvider.GenerateSaveSQL`), when
25942
+ * building the EXEC / parameter list passed to the SP.
25942
25943
  *
25943
25944
  * Keeping both sides on the same predicate guarantees the SP signature
25944
25945
  * and the call-site argument list always agree. Drift between them
@@ -36696,6 +36697,14 @@ var LocalCacheManager = /*#__PURE__*/function (_BaseSingleton) {
36696
36697
  // Aggregate hash (or '_' for no aggregates)
36697
36698
  userSearch || '_' // User search string (generates LIKE/FTS clauses)
36698
36699
  ];
36700
+ // Keyset (AfterKey) seek cursor MUST be part of the fingerprint. Each keyset page
36701
+ // sends a different AfterKey but otherwise-identical params; without this, sequential
36702
+ // pages collide on the same fingerprint and the dedup/linger layer hands page N+1 the
36703
+ // result of page N — freezing the cursor and looping forever. Appended only when present
36704
+ // so non-keyset fingerprints stay byte-for-byte identical (no cache invalidation).
36705
+ if (params.AfterKey) {
36706
+ parts.push("ak:".concat(params.AfterKey.ToString()));
36707
+ }
36699
36708
  // Only include connection if provided
36700
36709
  if (connection) {
36701
36710
  parts.push(connection);
@@ -54362,7 +54371,7 @@ var UserViewEngine = /*#__PURE__*/function (_BaseEngine) {
54362
54371
 
54363
54372
  /***/ },
54364
54373
 
54365
- /***/ 346
54374
+ /***/ 760
54366
54375
  (__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
54367
54376
 
54368
54377
  "use strict";
@@ -54373,7 +54382,7 @@ __webpack_require__.d(__webpack_exports__, {
54373
54382
  o1C: () => (/* reexport */ ViewInfo)
54374
54383
  });
54375
54384
 
54376
- // UNUSED EXPORTS: AIAgentPermissionProvider, AccessControlRuleProvider, ApplicationRolePermissionProvider, ArtifactExtractor, ArtifactMetadataEngine, ArtifactPermissionProvider, CollectionPermissionProvider, ConversationEngine, CreateShareNotification, DEFAULT_AGGREGATE_DISPLAY, DashboardEngine, DashboardPermissionProvider, EncryptionEngineBase, EntityPermissionProvider, EntityPermissionType, EntitySaveOptions, FileStorageEngineBase, GeoDataEngine, InstanceConfigEngine, KnowledgeHubMetadataEngine, LoadMJAccessControlRuleEntityExtended, LoadMJArtifactPermissionEntityExtended, LoadMJCollectionPermissionEntityExtended, LoadMJConversationDetailEntityExtended, LoadMJDashboardPermissionEntityExtended, LoadPermissionEntityExtensions, LoadPermissionProviders, MCPEngine, MJAIActionEntity, MJAIActionSchema, MJAIAgentActionEntity, MJAIAgentActionSchema, MJAIAgentArtifactTypeEntity, MJAIAgentArtifactTypeSchema, MJAIAgentCategoryEntity, MJAIAgentCategorySchema, MJAIAgentClientToolEntity, MJAIAgentClientToolSchema, MJAIAgentConfigurationEntity, MJAIAgentConfigurationSchema, MJAIAgentDataSourceEntity, MJAIAgentDataSourceSchema, MJAIAgentEntity, MJAIAgentExampleEntity, MJAIAgentExampleSchema, MJAIAgentLearningCycleEntity, MJAIAgentLearningCycleSchema, MJAIAgentModalityEntity, MJAIAgentModalitySchema, MJAIAgentModelEntity, MJAIAgentModelSchema, MJAIAgentNoteEntity, MJAIAgentNoteSchema, MJAIAgentNoteTypeEntity, MJAIAgentNoteTypeSchema, MJAIAgentPermissionEntity, MJAIAgentPermissionSchema, MJAIAgentPromptEntity, MJAIAgentPromptSchema, MJAIAgentRelationshipEntity, MJAIAgentRelationshipSchema, MJAIAgentRequestEntity, MJAIAgentRequestSchema, MJAIAgentRequestTypeEntity, MJAIAgentRequestTypeSchema, MJAIAgentRunEntity, MJAIAgentRunMediaEntity, MJAIAgentRunMediaSchema, MJAIAgentRunSchema, MJAIAgentRunStepEntity, MJAIAgentRunStepSchema, MJAIAgentSchema, MJAIAgentSearchScopeEntity, MJAIAgentSearchScopeSchema, MJAIAgentStepEntity, MJAIAgentStepPathEntity, MJAIAgentStepPathSchema, MJAIAgentStepSchema, MJAIAgentTypeEntity, MJAIAgentTypeSchema, MJAIArchitectureEntity, MJAIArchitectureSchema, MJAIClientToolDefinitionEntity, MJAIClientToolDefinitionSchema, MJAIConfigurationEntity, MJAIConfigurationParamEntity, MJAIConfigurationParamSchema, MJAIConfigurationSchema, MJAICredentialBindingEntity, MJAICredentialBindingSchema, MJAIModalityEntity, MJAIModalitySchema, MJAIModelActionEntity, MJAIModelActionSchema, MJAIModelArchitectureEntity, MJAIModelArchitectureSchema, MJAIModelCostEntity, MJAIModelCostSchema, MJAIModelEntity, MJAIModelModalityEntity, MJAIModelModalitySchema, MJAIModelPriceTypeEntity, MJAIModelPriceTypeSchema, MJAIModelPriceUnitTypeEntity, MJAIModelPriceUnitTypeSchema, MJAIModelSchema, MJAIModelTypeEntity, MJAIModelTypeSchema, MJAIModelVendorEntity, MJAIModelVendorSchema, MJAIPromptCategoryEntity, MJAIPromptCategorySchema, MJAIPromptEntity, MJAIPromptModelEntity, MJAIPromptModelSchema, MJAIPromptRunEntity, MJAIPromptRunMediaEntity, MJAIPromptRunMediaSchema, MJAIPromptRunSchema, MJAIPromptSchema, MJAIPromptTypeEntity, MJAIPromptTypeSchema, MJAIResultCacheEntity, MJAIResultCacheSchema, MJAIVendorEntity, MJAIVendorSchema, MJAIVendorTypeDefinitionEntity, MJAIVendorTypeDefinitionSchema, MJAIVendorTypeEntity, MJAIVendorTypeSchema, MJAPIApplicationEntity, MJAPIApplicationSchema, MJAPIApplicationScopeEntity, MJAPIApplicationScopeSchema, MJAPIKeyApplicationEntity, MJAPIKeyApplicationSchema, MJAPIKeyEntity, MJAPIKeySchema, MJAPIKeyScopeEntity, MJAPIKeyScopeSchema, MJAPIKeyUsageLogEntity, MJAPIKeyUsageLogSchema, MJAPIScopeEntity, MJAPIScopeSchema, MJAccessControlRuleEntity, MJAccessControlRuleEntityExtended, MJAccessControlRuleSchema, MJActionAuthorizationEntity, MJActionAuthorizationSchema, MJActionCategoryEntity, MJActionCategorySchema, MJActionContextEntity, MJActionContextSchema, MJActionContextTypeEntity, MJActionContextTypeSchema, MJActionEntity, MJActionExecutionLogEntity, MJActionExecutionLogSchema, MJActionFilterEntity, MJActionFilterSchema, MJActionLibraryEntity, MJActionLibrarySchema, MJActionParamEntity, MJActionParamSchema, MJActionResultCodeEntity, MJActionResultCodeSchema, MJActionSchema, MJApplicationEntity, MJApplicationEntityEntity, MJApplicationEntitySchema, MJApplicationRoleEntity, MJApplicationRoleSchema, MJApplicationSchema, MJApplicationSettingEntity, MJApplicationSettingSchema, MJArchiveConfigurationEntity, MJArchiveConfigurationEntityEntity, MJArchiveConfigurationEntitySchema, MJArchiveConfigurationSchema, MJArchiveRunDetailEntity, MJArchiveRunDetailSchema, MJArchiveRunEntity, MJArchiveRunSchema, MJArtifactEntity, MJArtifactPermissionEntity, MJArtifactPermissionEntityExtended, MJArtifactPermissionSchema, MJArtifactSchema, MJArtifactTypeEntity, MJArtifactTypeSchema, MJArtifactUseEntity, MJArtifactUseSchema, MJArtifactVersionAttributeEntity, MJArtifactVersionAttributeSchema, MJArtifactVersionEntity, MJArtifactVersionSchema, MJAuditLogEntity, MJAuditLogSchema, MJAuditLogTypeEntity, MJAuditLogTypeSchema, MJAuthorizationEntity, MJAuthorizationRoleEntity, MJAuthorizationRoleSchema, MJAuthorizationSchema, MJCollectionArtifactEntity, MJCollectionArtifactSchema, MJCollectionEntity, MJCollectionPermissionEntity, MJCollectionPermissionEntityExtended, MJCollectionPermissionSchema, MJCollectionSchema, MJCommunicationBaseMessageTypeEntity, MJCommunicationBaseMessageTypeSchema, MJCommunicationLogEntity, MJCommunicationLogSchema, MJCommunicationProviderEntity, MJCommunicationProviderMessageTypeEntity, MJCommunicationProviderMessageTypeSchema, MJCommunicationProviderSchema, MJCommunicationRunEntity, MJCommunicationRunSchema, MJCompanyEntity, MJCompanyIntegrationEntity, MJCompanyIntegrationEntityMapEntity, MJCompanyIntegrationEntityMapSchema, MJCompanyIntegrationFieldMapEntity, MJCompanyIntegrationFieldMapSchema, MJCompanyIntegrationRecordMapEntity, MJCompanyIntegrationRecordMapSchema, MJCompanyIntegrationRunAPILogEntity, MJCompanyIntegrationRunAPILogSchema, MJCompanyIntegrationRunDetailEntity, MJCompanyIntegrationRunDetailSchema, MJCompanyIntegrationRunEntity, MJCompanyIntegrationRunSchema, MJCompanyIntegrationSchema, MJCompanyIntegrationSyncWatermarkEntity, MJCompanyIntegrationSyncWatermarkSchema, MJCompanySchema, MJComponentDependencyEntity, MJComponentDependencySchema, MJComponentEntity, MJComponentEntityExtended, MJComponentLibraryEntity, MJComponentLibraryLinkEntity, MJComponentLibraryLinkSchema, MJComponentLibrarySchema, MJComponentRegistryEntity, MJComponentRegistrySchema, MJComponentSchema, MJContentFileTypeEntity, MJContentFileTypeSchema, MJContentItemAttributeEntity, MJContentItemAttributeSchema, MJContentItemDuplicateEntity, MJContentItemDuplicateSchema, MJContentItemEntity, MJContentItemSchema, MJContentItemTagEntity, MJContentItemTagSchema, MJContentProcessRunDetailEntity, MJContentProcessRunDetailSchema, MJContentProcessRunEntity, MJContentProcessRunPromptRunEntity, MJContentProcessRunPromptRunSchema, MJContentProcessRunSchema, MJContentSourceEntity, MJContentSourceParamEntity, MJContentSourceParamSchema, MJContentSourceSchema, MJContentSourceTypeEntity, MJContentSourceTypeParamEntity, MJContentSourceTypeParamSchema, MJContentSourceTypeSchema, MJContentTypeAttributeEntity, MJContentTypeAttributeSchema, MJContentTypeEntity, MJContentTypeSchema, MJConversationArtifactEntity, MJConversationArtifactPermissionEntity, MJConversationArtifactPermissionSchema, MJConversationArtifactSchema, MJConversationArtifactVersionEntity, MJConversationArtifactVersionSchema, MJConversationDetailArtifactEntity, MJConversationDetailArtifactSchema, MJConversationDetailAttachmentEntity, MJConversationDetailAttachmentSchema, MJConversationDetailEntity, MJConversationDetailEntityExtended, MJConversationDetailRatingEntity, MJConversationDetailRatingSchema, MJConversationDetailSchema, MJConversationEntity, MJConversationSchema, MJCountryEntity, MJCountrySchema, MJCredentialCategoryEntity, MJCredentialCategorySchema, MJCredentialEntity, MJCredentialSchema, MJCredentialTypeEntity, MJCredentialTypeSchema, MJDashboardCategoryEntity, MJDashboardCategoryLinkEntity, MJDashboardCategoryLinkSchema, MJDashboardCategoryPermissionEntity, MJDashboardCategoryPermissionSchema, MJDashboardCategorySchema, MJDashboardEntity, MJDashboardEntityExtended, MJDashboardPartTypeEntity, MJDashboardPartTypeSchema, MJDashboardPermissionEntity, MJDashboardPermissionEntityExtended, MJDashboardPermissionSchema, MJDashboardSchema, MJDashboardUserPreferenceEntity, MJDashboardUserPreferenceSchema, MJDashboardUserStateEntity, MJDashboardUserStateSchema, MJDataContextEntity, MJDataContextItemEntity, MJDataContextItemSchema, MJDataContextSchema, MJDatasetEntity, MJDatasetItemEntity, MJDatasetItemSchema, MJDatasetSchema, MJDuplicateRunDetailEntity, MJDuplicateRunDetailMatchEntity, MJDuplicateRunDetailMatchSchema, MJDuplicateRunDetailSchema, MJDuplicateRunEntity, MJDuplicateRunSchema, MJEmployeeCompanyIntegrationEntity, MJEmployeeCompanyIntegrationSchema, MJEmployeeEntity, MJEmployeeRoleEntity, MJEmployeeRoleSchema, MJEmployeeSchema, MJEmployeeSkillEntity, MJEmployeeSkillSchema, MJEncryptionAlgorithmEntity, MJEncryptionAlgorithmSchema, MJEncryptionKeyEntity, MJEncryptionKeySchema, MJEncryptionKeySourceEntity, MJEncryptionKeySourceSchema, MJEntityAIActionEntity, MJEntityAIActionSchema, MJEntityActionEntity, MJEntityActionFilterEntity, MJEntityActionFilterSchema, MJEntityActionInvocationEntity, MJEntityActionInvocationSchema, MJEntityActionInvocationTypeEntity, MJEntityActionInvocationTypeSchema, MJEntityActionParamEntity, MJEntityActionParamSchema, MJEntityActionSchema, MJEntityCommunicationFieldEntity, MJEntityCommunicationFieldSchema, MJEntityCommunicationMessageTypeEntity, MJEntityCommunicationMessageTypeSchema, MJEntityDocumentEntity, MJEntityDocumentRunEntity, MJEntityDocumentRunSchema, MJEntityDocumentSchema, MJEntityDocumentSettingEntity, MJEntityDocumentSettingSchema, MJEntityDocumentTypeEntity, MJEntityDocumentTypeSchema, MJEntityEntity, MJEntityEntityExtended, MJEntityFieldEntity, MJEntityFieldEntityExtended, MJEntityFieldSchema, MJEntityFieldValueEntity, MJEntityFieldValueSchema, MJEntityOrganicKeyEntity, MJEntityOrganicKeyRelatedEntityEntity, MJEntityOrganicKeyRelatedEntitySchema, MJEntityOrganicKeySchema, MJEntityPermissionEntity, MJEntityPermissionSchema, MJEntityRecordDocumentEntity, MJEntityRecordDocumentSchema, MJEntityRelationshipDisplayComponentEntity, MJEntityRelationshipDisplayComponentSchema, MJEntityRelationshipEntity, MJEntityRelationshipSchema, MJEntitySchema, MJEntitySettingEntity, MJEntitySettingSchema, MJEnvironmentEntity, MJEnvironmentEntityExtended, MJEnvironmentSchema, MJErrorLogEntity, MJErrorLogSchema, MJExplorerNavigationItemEntity, MJExplorerNavigationItemSchema, MJFileCategoryEntity, MJFileCategorySchema, MJFileEntity, MJFileEntityRecordLinkEntity, MJFileEntityRecordLinkSchema, MJFileSchema, MJFileStorageAccountEntity, MJFileStorageAccountPermissionEntity, MJFileStorageAccountPermissionSchema, MJFileStorageAccountSchema, MJFileStorageProviderEntity, MJFileStorageProviderSchema, MJGeneratedCodeCategoryEntity, MJGeneratedCodeCategorySchema, MJGeneratedCodeEntity, MJGeneratedCodeSchema, MJInstanceConfigurationEntity, MJInstanceConfigurationSchema, MJIntegrationEntity, MJIntegrationObjectEntity, MJIntegrationObjectFieldEntity, MJIntegrationObjectFieldSchema, MJIntegrationObjectSchema, MJIntegrationSchema, MJIntegrationSourceTypeEntity, MJIntegrationSourceTypeSchema, MJIntegrationURLFormatEntity, MJIntegrationURLFormatSchema, MJKnowledgeHubSavedSearchEntity, MJKnowledgeHubSavedSearchSchema, MJLibraryEntity, MJLibraryItemEntity, MJLibraryItemSchema, MJLibrarySchema, MJListCategoryEntity, MJListCategorySchema, MJListDetailEntity, MJListDetailEntityExtended, MJListDetailSchema, MJListEntity, MJListInvitationEntity, MJListInvitationSchema, MJListSchema, MJListShareEntity, MJListShareSchema, MJMCPServerConnectionEntity, MJMCPServerConnectionPermissionEntity, MJMCPServerConnectionPermissionSchema, MJMCPServerConnectionSchema, MJMCPServerConnectionToolEntity, MJMCPServerConnectionToolSchema, MJMCPServerEntity, MJMCPServerSchema, MJMCPServerToolEntity, MJMCPServerToolSchema, MJMCPToolExecutionLogEntity, MJMCPToolExecutionLogSchema, MJMCPToolFavoriteEntity, MJMCPToolFavoriteSchema, MJOAuthAuthServerMetadataCacheEntity, MJOAuthAuthServerMetadataCacheSchema, MJOAuthAuthorizationStateEntity, MJOAuthAuthorizationStateSchema, MJOAuthClientRegistrationEntity, MJOAuthClientRegistrationSchema, MJOAuthTokenEntity, MJOAuthTokenSchema, MJOpenAppDependencyEntity, MJOpenAppDependencySchema, MJOpenAppEntity, MJOpenAppInstallHistoryEntity, MJOpenAppInstallHistorySchema, MJOpenAppSchema, MJOutputDeliveryTypeEntity, MJOutputDeliveryTypeSchema, MJOutputFormatTypeEntity, MJOutputFormatTypeSchema, MJOutputTriggerTypeEntity, MJOutputTriggerTypeSchema, MJPermissionDomainEntity, MJPermissionDomainSchema, MJProjectEntity, MJProjectSchema, MJPublicLinkEntity, MJPublicLinkSchema, MJQueryCategoryEntity, MJQueryCategorySchema, MJQueryDependencyEntity, MJQueryDependencySchema, MJQueryEntity, MJQueryEntityEntity, MJQueryEntitySchema, MJQueryFieldEntity, MJQueryFieldSchema, MJQueryParameterEntity, MJQueryParameterSchema, MJQueryPermissionEntity, MJQueryPermissionSchema, MJQuerySQLEntity, MJQuerySQLSchema, MJQuerySchema, MJQueueEntity, MJQueueSchema, MJQueueTaskEntity, MJQueueTaskSchema, MJQueueTypeEntity, MJQueueTypeSchema, MJRecommendationEntity, MJRecommendationItemEntity, MJRecommendationItemSchema, MJRecommendationProviderEntity, MJRecommendationProviderSchema, MJRecommendationRunEntity, MJRecommendationRunSchema, MJRecommendationSchema, MJRecordChangeEntity, MJRecordChangeReplayRunEntity, MJRecordChangeReplayRunSchema, MJRecordChangeSchema, MJRecordGeoCodeEntity, MJRecordGeoCodeSchema, MJRecordLinkEntity, MJRecordLinkSchema, MJRecordMergeDeletionLogEntity, MJRecordMergeDeletionLogSchema, MJRecordMergeLogEntity, MJRecordMergeLogSchema, MJReportCategoryEntity, MJReportCategorySchema, MJReportEntity, MJReportSchema, MJReportSnapshotEntity, MJReportSnapshotSchema, MJReportUserStateEntity, MJReportUserStateSchema, MJReportVersionEntity, MJReportVersionSchema, MJResourceLinkEntity, MJResourceLinkSchema, MJResourcePermissionEntity, MJResourcePermissionEntityExtended, MJResourcePermissionSchema, MJResourceTypeEntity, MJResourceTypeSchema, MJRoleEntity, MJRoleSchema, MJRowLevelSecurityFilterEntity, MJRowLevelSecurityFilterSchema, MJSQLDialectEntity, MJSQLDialectSchema, MJScheduledActionEntity, MJScheduledActionEntityExtended, MJScheduledActionParamEntity, MJScheduledActionParamSchema, MJScheduledActionSchema, MJScheduledJobEntity, MJScheduledJobRunEntity, MJScheduledJobRunSchema, MJScheduledJobSchema, MJScheduledJobTypeEntity, MJScheduledJobTypeSchema, MJSchemaInfoEntity, MJSchemaInfoSchema, MJSearchExecutionLogEntity, MJSearchExecutionLogSchema, MJSearchProviderEntity, MJSearchProviderSchema, MJSearchScopeEntity, MJSearchScopeEntityEntity, MJSearchScopeEntitySchema, MJSearchScopeExternalIndexEntity, MJSearchScopeExternalIndexSchema, MJSearchScopePermissionEntity, MJSearchScopePermissionSchema, MJSearchScopeProviderEntity, MJSearchScopeProviderSchema, MJSearchScopeSchema, MJSearchScopeStorageAccountEntity, MJSearchScopeStorageAccountSchema, MJSearchScopeTestQueryEntity, MJSearchScopeTestQuerySchema, MJSkillEntity, MJSkillSchema, MJStateProvinceEntity, MJStateProvinceSchema, MJTagAuditLogEntity, MJTagAuditLogSchema, MJTagCoOccurrenceEntity, MJTagCoOccurrenceSchema, MJTagEntity, MJTagSchema, MJTagScopeEntity, MJTagScopeSchema, MJTagSuggestionEntity, MJTagSuggestionSchema, MJTagSynonymEntity, MJTagSynonymSchema, MJTaggedItemEntity, MJTaggedItemSchema, MJTaskDependencyEntity, MJTaskDependencySchema, MJTaskEntity, MJTaskSchema, MJTaskTypeEntity, MJTaskTypeSchema, MJTemplateCategoryEntity, MJTemplateCategorySchema, MJTemplateContentEntity, MJTemplateContentSchema, MJTemplateContentTypeEntity, MJTemplateContentTypeSchema, MJTemplateEntity, MJTemplateEntityExtended, MJTemplateParamEntity, MJTemplateParamSchema, MJTemplateSchema, MJTestEntity, MJTestRubricEntity, MJTestRubricSchema, MJTestRunEntity, MJTestRunFeedbackEntity, MJTestRunFeedbackSchema, MJTestRunOutputEntity, MJTestRunOutputSchema, MJTestRunOutputTypeEntity, MJTestRunOutputTypeSchema, MJTestRunSchema, MJTestSchema, MJTestSuiteEntity, MJTestSuiteRunEntity, MJTestSuiteRunSchema, MJTestSuiteSchema, MJTestSuiteTestEntity, MJTestSuiteTestSchema, MJTestTypeEntity, MJTestTypeSchema, MJUserApplicationEntity, MJUserApplicationEntityEntity, MJUserApplicationEntitySchema, MJUserApplicationSchema, MJUserEntity, MJUserFavoriteEntity, MJUserFavoriteSchema, MJUserNotificationEntity, MJUserNotificationPreferenceEntity, MJUserNotificationPreferenceSchema, MJUserNotificationSchema, MJUserNotificationTypeEntity, MJUserNotificationTypeSchema, MJUserRecordLogEntity, MJUserRecordLogSchema, MJUserRoleEntity, MJUserRoleSchema, MJUserSchema, MJUserSettingEntity, MJUserSettingSchema, MJUserViewCategoryEntity, MJUserViewCategorySchema, MJUserViewEntity, MJUserViewEntityExtended, MJUserViewRunDetailEntity, MJUserViewRunDetailSchema, MJUserViewRunEntity, MJUserViewRunSchema, MJUserViewSchema, MJVectorDatabaseEntity, MJVectorDatabaseSchema, MJVectorIndexEntity, MJVectorIndexSchema, MJVersionInstallationEntity, MJVersionInstallationSchema, MJVersionLabelEntity, MJVersionLabelItemEntity, MJVersionLabelItemSchema, MJVersionLabelRestoreEntity, MJVersionLabelRestoreSchema, MJVersionLabelSchema, MJWorkflowEngineEntity, MJWorkflowEngineSchema, MJWorkflowEntity, MJWorkflowRunEntity, MJWorkflowRunSchema, MJWorkflowSchema, MJWorkspaceEntity, MJWorkspaceItemEntity, MJWorkspaceItemSchema, MJWorkspaceSchema, PERMISSION_DOMAIN_ICONS, PERMISSION_DOMAIN_ICON_FALLBACK, PermissionEngine, QueryEngine, QueryPermissionProvider, RegisterShareNotificationHandler, ResourceData, ResourcePermissionEngine, ResourcePermissionProvider, SearchEngineBase, TypeTablesCache, UserInfoEngine, UserViewEngine, ViewColumnInfo, ViewFilterInfo, ViewFilterLogicInfo, ViewGridState, ViewSortDirectionInfo, ViewSortInfo, assertCallerMayCreateShare, buildActionsSummary, checkShareManagePermission, dispatchShareNotificationAfterSave, loadModule, parseConversationDetailComplete
54385
+ // UNUSED EXPORTS: AIAgentPermissionProvider, AccessControlRuleProvider, ApplicationRolePermissionProvider, ArtifactExtractor, ArtifactMetadataEngine, ArtifactPermissionProvider, BuildUnregisteredMimeError, CollectionPermissionProvider, ConversationEngine, CreateShareNotification, DEFAULT_AGGREGATE_DISPLAY, DashboardEngine, DashboardPermissionProvider, DecideInlineStorage, EncryptionEngineBase, EntityPermissionProvider, EntityPermissionType, EntitySaveOptions, ExtractBase64FromDataUrl, FileStorageEngineBase, FindArtifactTypeConflicts, GeoDataEngine, InstanceConfigEngine, IsTextyMime, KnowledgeHubMetadataEngine, LoadMJAccessControlRuleEntityExtended, LoadMJArtifactPermissionEntityExtended, LoadMJCollectionPermissionEntityExtended, LoadMJConversationDetailEntityExtended, LoadMJDashboardPermissionEntityExtended, LoadPermissionEntityExtensions, LoadPermissionProviders, MCPEngine, MJAIActionEntity, MJAIActionSchema, MJAIAgentActionEntity, MJAIAgentActionSchema, MJAIAgentArtifactTypeEntity, MJAIAgentArtifactTypeSchema, MJAIAgentCategoryEntity, MJAIAgentCategorySchema, MJAIAgentClientToolEntity, MJAIAgentClientToolSchema, MJAIAgentConfigurationEntity, MJAIAgentConfigurationSchema, MJAIAgentDataSourceEntity, MJAIAgentDataSourceSchema, MJAIAgentEntity, MJAIAgentExampleEntity, MJAIAgentExampleSchema, MJAIAgentLearningCycleEntity, MJAIAgentLearningCycleSchema, MJAIAgentModalityEntity, MJAIAgentModalitySchema, MJAIAgentModelEntity, MJAIAgentModelSchema, MJAIAgentNoteEntity, MJAIAgentNoteSchema, MJAIAgentNoteTypeEntity, MJAIAgentNoteTypeSchema, MJAIAgentPermissionEntity, MJAIAgentPermissionSchema, MJAIAgentPromptEntity, MJAIAgentPromptSchema, MJAIAgentRelationshipEntity, MJAIAgentRelationshipSchema, MJAIAgentRequestEntity, MJAIAgentRequestSchema, MJAIAgentRequestTypeEntity, MJAIAgentRequestTypeSchema, MJAIAgentRunEntity, MJAIAgentRunMediaEntity, MJAIAgentRunMediaSchema, MJAIAgentRunSchema, MJAIAgentRunStepEntity, MJAIAgentRunStepSchema, MJAIAgentSchema, MJAIAgentSearchScopeEntity, MJAIAgentSearchScopeSchema, MJAIAgentStepEntity, MJAIAgentStepPathEntity, MJAIAgentStepPathSchema, MJAIAgentStepSchema, MJAIAgentTypeEntity, MJAIAgentTypeSchema, MJAIArchitectureEntity, MJAIArchitectureSchema, MJAIClientToolDefinitionEntity, MJAIClientToolDefinitionSchema, MJAIConfigurationEntity, MJAIConfigurationParamEntity, MJAIConfigurationParamSchema, MJAIConfigurationSchema, MJAICredentialBindingEntity, MJAICredentialBindingSchema, MJAIModalityEntity, MJAIModalitySchema, MJAIModelActionEntity, MJAIModelActionSchema, MJAIModelArchitectureEntity, MJAIModelArchitectureSchema, MJAIModelCostEntity, MJAIModelCostSchema, MJAIModelEntity, MJAIModelModalityEntity, MJAIModelModalitySchema, MJAIModelPriceTypeEntity, MJAIModelPriceTypeSchema, MJAIModelPriceUnitTypeEntity, MJAIModelPriceUnitTypeSchema, MJAIModelSchema, MJAIModelTypeEntity, MJAIModelTypeSchema, MJAIModelVendorEntity, MJAIModelVendorSchema, MJAIPromptCategoryEntity, MJAIPromptCategorySchema, MJAIPromptEntity, MJAIPromptModelEntity, MJAIPromptModelSchema, MJAIPromptRunEntity, MJAIPromptRunMediaEntity, MJAIPromptRunMediaSchema, MJAIPromptRunSchema, MJAIPromptSchema, MJAIPromptTypeEntity, MJAIPromptTypeSchema, MJAIResultCacheEntity, MJAIResultCacheSchema, MJAIVendorEntity, MJAIVendorSchema, MJAIVendorTypeDefinitionEntity, MJAIVendorTypeDefinitionSchema, MJAIVendorTypeEntity, MJAIVendorTypeSchema, MJAPIApplicationEntity, MJAPIApplicationSchema, MJAPIApplicationScopeEntity, MJAPIApplicationScopeSchema, MJAPIKeyApplicationEntity, MJAPIKeyApplicationSchema, MJAPIKeyEntity, MJAPIKeySchema, MJAPIKeyScopeEntity, MJAPIKeyScopeSchema, MJAPIKeyUsageLogEntity, MJAPIKeyUsageLogSchema, MJAPIScopeEntity, MJAPIScopeSchema, MJAccessControlRuleEntity, MJAccessControlRuleEntityExtended, MJAccessControlRuleSchema, MJActionAuthorizationEntity, MJActionAuthorizationSchema, MJActionCategoryEntity, MJActionCategorySchema, MJActionContextEntity, MJActionContextSchema, MJActionContextTypeEntity, MJActionContextTypeSchema, MJActionEntity, MJActionExecutionLogEntity, MJActionExecutionLogSchema, MJActionFilterEntity, MJActionFilterSchema, MJActionLibraryEntity, MJActionLibrarySchema, MJActionParamEntity, MJActionParamSchema, MJActionResultCodeEntity, MJActionResultCodeSchema, MJActionSchema, MJApplicationEntity, MJApplicationEntityEntity, MJApplicationEntitySchema, MJApplicationRoleEntity, MJApplicationRoleSchema, MJApplicationSchema, MJApplicationSettingEntity, MJApplicationSettingSchema, MJArchiveConfigurationEntity, MJArchiveConfigurationEntityEntity, MJArchiveConfigurationEntitySchema, MJArchiveConfigurationSchema, MJArchiveRunDetailEntity, MJArchiveRunDetailSchema, MJArchiveRunEntity, MJArchiveRunSchema, MJArtifactEntity, MJArtifactPermissionEntity, MJArtifactPermissionEntityExtended, MJArtifactPermissionSchema, MJArtifactSchema, MJArtifactTypeEntity, MJArtifactTypeSchema, MJArtifactUseEntity, MJArtifactUseSchema, MJArtifactVersionAttributeEntity, MJArtifactVersionAttributeSchema, MJArtifactVersionEntity, MJArtifactVersionSchema, MJAuditLogEntity, MJAuditLogSchema, MJAuditLogTypeEntity, MJAuditLogTypeSchema, MJAuthorizationEntity, MJAuthorizationRoleEntity, MJAuthorizationRoleSchema, MJAuthorizationSchema, MJCollectionArtifactEntity, MJCollectionArtifactSchema, MJCollectionEntity, MJCollectionPermissionEntity, MJCollectionPermissionEntityExtended, MJCollectionPermissionSchema, MJCollectionSchema, MJCommunicationBaseMessageTypeEntity, MJCommunicationBaseMessageTypeSchema, MJCommunicationLogEntity, MJCommunicationLogSchema, MJCommunicationProviderEntity, MJCommunicationProviderMessageTypeEntity, MJCommunicationProviderMessageTypeSchema, MJCommunicationProviderSchema, MJCommunicationRunEntity, MJCommunicationRunSchema, MJCompanyEntity, MJCompanyIntegrationEntity, MJCompanyIntegrationEntityMapEntity, MJCompanyIntegrationEntityMapSchema, MJCompanyIntegrationFieldMapEntity, MJCompanyIntegrationFieldMapSchema, MJCompanyIntegrationRecordMapEntity, MJCompanyIntegrationRecordMapSchema, MJCompanyIntegrationRunAPILogEntity, MJCompanyIntegrationRunAPILogSchema, MJCompanyIntegrationRunDetailEntity, MJCompanyIntegrationRunDetailSchema, MJCompanyIntegrationRunEntity, MJCompanyIntegrationRunSchema, MJCompanyIntegrationSchema, MJCompanyIntegrationSyncWatermarkEntity, MJCompanyIntegrationSyncWatermarkSchema, MJCompanySchema, MJComponentDependencyEntity, MJComponentDependencySchema, MJComponentEntity, MJComponentEntityExtended, MJComponentLibraryEntity, MJComponentLibraryLinkEntity, MJComponentLibraryLinkSchema, MJComponentLibrarySchema, MJComponentRegistryEntity, MJComponentRegistrySchema, MJComponentSchema, MJContentFileTypeEntity, MJContentFileTypeSchema, MJContentItemAttributeEntity, MJContentItemAttributeSchema, MJContentItemDuplicateEntity, MJContentItemDuplicateSchema, MJContentItemEntity, MJContentItemSchema, MJContentItemTagEntity, MJContentItemTagSchema, MJContentProcessRunDetailEntity, MJContentProcessRunDetailSchema, MJContentProcessRunEntity, MJContentProcessRunPromptRunEntity, MJContentProcessRunPromptRunSchema, MJContentProcessRunSchema, MJContentSourceEntity, MJContentSourceParamEntity, MJContentSourceParamSchema, MJContentSourceSchema, MJContentSourceTypeEntity, MJContentSourceTypeParamEntity, MJContentSourceTypeParamSchema, MJContentSourceTypeSchema, MJContentTypeAttributeEntity, MJContentTypeAttributeSchema, MJContentTypeEntity, MJContentTypeSchema, MJConversationArtifactEntity, MJConversationArtifactPermissionEntity, MJConversationArtifactPermissionSchema, MJConversationArtifactSchema, MJConversationArtifactVersionEntity, MJConversationArtifactVersionSchema, MJConversationDetailArtifactEntity, MJConversationDetailArtifactSchema, MJConversationDetailAttachmentEntity, MJConversationDetailAttachmentSchema, MJConversationDetailEntity, MJConversationDetailEntityExtended, MJConversationDetailRatingEntity, MJConversationDetailRatingSchema, MJConversationDetailSchema, MJConversationEntity, MJConversationSchema, MJCountryEntity, MJCountrySchema, MJCredentialCategoryEntity, MJCredentialCategorySchema, MJCredentialEntity, MJCredentialSchema, MJCredentialTypeEntity, MJCredentialTypeSchema, MJDashboardCategoryEntity, MJDashboardCategoryLinkEntity, MJDashboardCategoryLinkSchema, MJDashboardCategoryPermissionEntity, MJDashboardCategoryPermissionSchema, MJDashboardCategorySchema, MJDashboardEntity, MJDashboardEntityExtended, MJDashboardPartTypeEntity, MJDashboardPartTypeSchema, MJDashboardPermissionEntity, MJDashboardPermissionEntityExtended, MJDashboardPermissionSchema, MJDashboardSchema, MJDashboardUserPreferenceEntity, MJDashboardUserPreferenceSchema, MJDashboardUserStateEntity, MJDashboardUserStateSchema, MJDataContextEntity, MJDataContextItemEntity, MJDataContextItemSchema, MJDataContextSchema, MJDatasetEntity, MJDatasetItemEntity, MJDatasetItemSchema, MJDatasetSchema, MJDuplicateRunDetailEntity, MJDuplicateRunDetailMatchEntity, MJDuplicateRunDetailMatchSchema, MJDuplicateRunDetailSchema, MJDuplicateRunEntity, MJDuplicateRunSchema, MJEmployeeCompanyIntegrationEntity, MJEmployeeCompanyIntegrationSchema, MJEmployeeEntity, MJEmployeeRoleEntity, MJEmployeeRoleSchema, MJEmployeeSchema, MJEmployeeSkillEntity, MJEmployeeSkillSchema, MJEncryptionAlgorithmEntity, MJEncryptionAlgorithmSchema, MJEncryptionKeyEntity, MJEncryptionKeySchema, MJEncryptionKeySourceEntity, MJEncryptionKeySourceSchema, MJEntityAIActionEntity, MJEntityAIActionSchema, MJEntityActionEntity, MJEntityActionFilterEntity, MJEntityActionFilterSchema, MJEntityActionInvocationEntity, MJEntityActionInvocationSchema, MJEntityActionInvocationTypeEntity, MJEntityActionInvocationTypeSchema, MJEntityActionParamEntity, MJEntityActionParamSchema, MJEntityActionSchema, MJEntityCommunicationFieldEntity, MJEntityCommunicationFieldSchema, MJEntityCommunicationMessageTypeEntity, MJEntityCommunicationMessageTypeSchema, MJEntityDocumentEntity, MJEntityDocumentRunEntity, MJEntityDocumentRunSchema, MJEntityDocumentSchema, MJEntityDocumentSettingEntity, MJEntityDocumentSettingSchema, MJEntityDocumentTypeEntity, MJEntityDocumentTypeSchema, MJEntityEntity, MJEntityEntityExtended, MJEntityFieldEntity, MJEntityFieldEntityExtended, MJEntityFieldSchema, MJEntityFieldValueEntity, MJEntityFieldValueSchema, MJEntityOrganicKeyEntity, MJEntityOrganicKeyRelatedEntityEntity, MJEntityOrganicKeyRelatedEntitySchema, MJEntityOrganicKeySchema, MJEntityPermissionEntity, MJEntityPermissionSchema, MJEntityRecordDocumentEntity, MJEntityRecordDocumentSchema, MJEntityRelationshipDisplayComponentEntity, MJEntityRelationshipDisplayComponentSchema, MJEntityRelationshipEntity, MJEntityRelationshipSchema, MJEntitySchema, MJEntitySettingEntity, MJEntitySettingSchema, MJEnvironmentEntity, MJEnvironmentEntityExtended, MJEnvironmentSchema, MJErrorLogEntity, MJErrorLogSchema, MJExplorerNavigationItemEntity, MJExplorerNavigationItemSchema, MJFileCategoryEntity, MJFileCategorySchema, MJFileEntity, MJFileEntityRecordLinkEntity, MJFileEntityRecordLinkSchema, MJFileSchema, MJFileStorageAccountEntity, MJFileStorageAccountPermissionEntity, MJFileStorageAccountPermissionSchema, MJFileStorageAccountSchema, MJFileStorageProviderEntity, MJFileStorageProviderSchema, MJGeneratedCodeCategoryEntity, MJGeneratedCodeCategorySchema, MJGeneratedCodeEntity, MJGeneratedCodeSchema, MJInstanceConfigurationEntity, MJInstanceConfigurationSchema, MJIntegrationEntity, MJIntegrationObjectEntity, MJIntegrationObjectFieldEntity, MJIntegrationObjectFieldSchema, MJIntegrationObjectSchema, MJIntegrationSchema, MJIntegrationSourceTypeEntity, MJIntegrationSourceTypeSchema, MJIntegrationURLFormatEntity, MJIntegrationURLFormatSchema, MJKnowledgeHubSavedSearchEntity, MJKnowledgeHubSavedSearchSchema, MJLibraryEntity, MJLibraryItemEntity, MJLibraryItemSchema, MJLibrarySchema, MJListCategoryEntity, MJListCategorySchema, MJListDetailEntity, MJListDetailEntityExtended, MJListDetailSchema, MJListEntity, MJListInvitationEntity, MJListInvitationSchema, MJListSchema, MJListShareEntity, MJListShareSchema, MJMCPServerConnectionEntity, MJMCPServerConnectionPermissionEntity, MJMCPServerConnectionPermissionSchema, MJMCPServerConnectionSchema, MJMCPServerConnectionToolEntity, MJMCPServerConnectionToolSchema, MJMCPServerEntity, MJMCPServerSchema, MJMCPServerToolEntity, MJMCPServerToolSchema, MJMCPToolExecutionLogEntity, MJMCPToolExecutionLogSchema, MJMCPToolFavoriteEntity, MJMCPToolFavoriteSchema, MJOAuthAuthServerMetadataCacheEntity, MJOAuthAuthServerMetadataCacheSchema, MJOAuthAuthorizationStateEntity, MJOAuthAuthorizationStateSchema, MJOAuthClientRegistrationEntity, MJOAuthClientRegistrationSchema, MJOAuthTokenEntity, MJOAuthTokenSchema, MJOpenAppDependencyEntity, MJOpenAppDependencySchema, MJOpenAppEntity, MJOpenAppInstallHistoryEntity, MJOpenAppInstallHistorySchema, MJOpenAppSchema, MJOutputDeliveryTypeEntity, MJOutputDeliveryTypeSchema, MJOutputFormatTypeEntity, MJOutputFormatTypeSchema, MJOutputTriggerTypeEntity, MJOutputTriggerTypeSchema, MJPermissionDomainEntity, MJPermissionDomainSchema, MJProjectEntity, MJProjectSchema, MJPublicLinkEntity, MJPublicLinkSchema, MJQueryCategoryEntity, MJQueryCategorySchema, MJQueryDependencyEntity, MJQueryDependencySchema, MJQueryEntity, MJQueryEntityEntity, MJQueryEntitySchema, MJQueryFieldEntity, MJQueryFieldSchema, MJQueryParameterEntity, MJQueryParameterSchema, MJQueryPermissionEntity, MJQueryPermissionSchema, MJQuerySQLEntity, MJQuerySQLSchema, MJQuerySchema, MJQueueEntity, MJQueueSchema, MJQueueTaskEntity, MJQueueTaskSchema, MJQueueTypeEntity, MJQueueTypeSchema, MJRecommendationEntity, MJRecommendationItemEntity, MJRecommendationItemSchema, MJRecommendationProviderEntity, MJRecommendationProviderSchema, MJRecommendationRunEntity, MJRecommendationRunSchema, MJRecommendationSchema, MJRecordChangeEntity, MJRecordChangeReplayRunEntity, MJRecordChangeReplayRunSchema, MJRecordChangeSchema, MJRecordGeoCodeEntity, MJRecordGeoCodeSchema, MJRecordLinkEntity, MJRecordLinkSchema, MJRecordMergeDeletionLogEntity, MJRecordMergeDeletionLogSchema, MJRecordMergeLogEntity, MJRecordMergeLogSchema, MJReportCategoryEntity, MJReportCategorySchema, MJReportEntity, MJReportSchema, MJReportSnapshotEntity, MJReportSnapshotSchema, MJReportUserStateEntity, MJReportUserStateSchema, MJReportVersionEntity, MJReportVersionSchema, MJResourceLinkEntity, MJResourceLinkSchema, MJResourcePermissionEntity, MJResourcePermissionEntityExtended, MJResourcePermissionSchema, MJResourceTypeEntity, MJResourceTypeSchema, MJRoleEntity, MJRoleSchema, MJRowLevelSecurityFilterEntity, MJRowLevelSecurityFilterSchema, MJSQLDialectEntity, MJSQLDialectSchema, MJScheduledActionEntity, MJScheduledActionEntityExtended, MJScheduledActionParamEntity, MJScheduledActionParamSchema, MJScheduledActionSchema, MJScheduledJobEntity, MJScheduledJobRunEntity, MJScheduledJobRunSchema, MJScheduledJobSchema, MJScheduledJobTypeEntity, MJScheduledJobTypeSchema, MJSchemaInfoEntity, MJSchemaInfoSchema, MJSearchExecutionLogEntity, MJSearchExecutionLogSchema, MJSearchProviderEntity, MJSearchProviderSchema, MJSearchScopeEntity, MJSearchScopeEntityEntity, MJSearchScopeEntitySchema, MJSearchScopeExternalIndexEntity, MJSearchScopeExternalIndexSchema, MJSearchScopePermissionEntity, MJSearchScopePermissionSchema, MJSearchScopeProviderEntity, MJSearchScopeProviderSchema, MJSearchScopeSchema, MJSearchScopeStorageAccountEntity, MJSearchScopeStorageAccountSchema, MJSearchScopeTestQueryEntity, MJSearchScopeTestQuerySchema, MJSkillEntity, MJSkillSchema, MJStateProvinceEntity, MJStateProvinceSchema, MJTagAuditLogEntity, MJTagAuditLogSchema, MJTagCoOccurrenceEntity, MJTagCoOccurrenceSchema, MJTagEntity, MJTagSchema, MJTagScopeEntity, MJTagScopeSchema, MJTagSuggestionEntity, MJTagSuggestionSchema, MJTagSynonymEntity, MJTagSynonymSchema, MJTaggedItemEntity, MJTaggedItemSchema, MJTaskDependencyEntity, MJTaskDependencySchema, MJTaskEntity, MJTaskSchema, MJTaskTypeEntity, MJTaskTypeSchema, MJTemplateCategoryEntity, MJTemplateCategorySchema, MJTemplateContentEntity, MJTemplateContentSchema, MJTemplateContentTypeEntity, MJTemplateContentTypeSchema, MJTemplateEntity, MJTemplateEntityExtended, MJTemplateParamEntity, MJTemplateParamSchema, MJTemplateSchema, MJTestEntity, MJTestRubricEntity, MJTestRubricSchema, MJTestRunEntity, MJTestRunFeedbackEntity, MJTestRunFeedbackSchema, MJTestRunOutputEntity, MJTestRunOutputSchema, MJTestRunOutputTypeEntity, MJTestRunOutputTypeSchema, MJTestRunSchema, MJTestSchema, MJTestSuiteEntity, MJTestSuiteRunEntity, MJTestSuiteRunSchema, MJTestSuiteSchema, MJTestSuiteTestEntity, MJTestSuiteTestSchema, MJTestTypeEntity, MJTestTypeSchema, MJUserApplicationEntity, MJUserApplicationEntityEntity, MJUserApplicationEntitySchema, MJUserApplicationSchema, MJUserEntity, MJUserFavoriteEntity, MJUserFavoriteSchema, MJUserNotificationEntity, MJUserNotificationPreferenceEntity, MJUserNotificationPreferenceSchema, MJUserNotificationSchema, MJUserNotificationTypeEntity, MJUserNotificationTypeSchema, MJUserRecordLogEntity, MJUserRecordLogSchema, MJUserRoleEntity, MJUserRoleSchema, MJUserSchema, MJUserSettingEntity, MJUserSettingSchema, MJUserViewCategoryEntity, MJUserViewCategorySchema, MJUserViewEntity, MJUserViewEntityExtended, MJUserViewRunDetailEntity, MJUserViewRunDetailSchema, MJUserViewRunEntity, MJUserViewRunSchema, MJUserViewSchema, MJVectorDatabaseEntity, MJVectorDatabaseSchema, MJVectorIndexEntity, MJVectorIndexSchema, MJVersionInstallationEntity, MJVersionInstallationSchema, MJVersionLabelEntity, MJVersionLabelItemEntity, MJVersionLabelItemSchema, MJVersionLabelRestoreEntity, MJVersionLabelRestoreSchema, MJVersionLabelSchema, MJWorkflowEngineEntity, MJWorkflowEngineSchema, MJWorkflowEntity, MJWorkflowRunEntity, MJWorkflowRunSchema, MJWorkflowSchema, MJWorkspaceEntity, MJWorkspaceItemEntity, MJWorkspaceItemSchema, MJWorkspaceSchema, PERMISSION_DOMAIN_ICONS, PERMISSION_DOMAIN_ICON_FALLBACK, PermissionEngine, QueryEngine, QueryPermissionProvider, RegisterShareNotificationHandler, ResolveArtifactTypeByMime, ResourceData, ResourcePermissionEngine, ResourcePermissionProvider, SearchEngineBase, TypeTablesCache, UserInfoEngine, UserViewEngine, ViewColumnInfo, ViewFilterInfo, ViewFilterLogicInfo, ViewGridState, ViewSortDirectionInfo, ViewSortInfo, assertCallerMayCreateShare, buildActionsSummary, checkShareManagePermission, dispatchShareNotificationAfterSave, loadModule, parseConversationDetailComplete
54377
54386
 
54378
54387
  // EXTERNAL MODULE: ../../MJCore/dist/index.js + 81 modules
54379
54388
  var dist = __webpack_require__(310);
@@ -58850,7 +58859,7 @@ function _regenerator(){/*! regenerator-runtime -- Copyright (c) 2014-present, F
58850
58859
  * zod schema definition for the entity MJ: AI Agent Run Medias
58851
58860
  */var MJAIAgentRunMediaSchema=z.object({ID:z.string().describe("\n * * Field Name: ID\n * * Display Name: ID\n * * SQL Data Type: uniqueidentifier\n * * Default Value: newsequentialid()"),AgentRunID:z.string().describe("\n * * Field Name: AgentRunID\n * * Display Name: Agent Run\n * * SQL Data Type: uniqueidentifier\n * * Related Entity/Foreign Key: MJ: AI Agent Runs (vwAIAgentRuns.ID)"),SourcePromptRunMediaID:z.string().nullable().describe("\n * * Field Name: SourcePromptRunMediaID\n * * Display Name: Source Prompt Run Media\n * * SQL Data Type: uniqueidentifier\n * * Related Entity/Foreign Key: MJ: AI Prompt Run Medias (vwAIPromptRunMedias.ID)"),ModalityID:z.string().describe("\n * * Field Name: ModalityID\n * * Display Name: Modality\n * * SQL Data Type: uniqueidentifier\n * * Related Entity/Foreign Key: MJ: AI Modalities (vwAIModalities.ID)"),MimeType:z.string().describe("\n * * Field Name: MimeType\n * * Display Name: Mime Type\n * * SQL Data Type: nvarchar(100)"),FileName:z.string().nullable().describe("\n * * Field Name: FileName\n * * Display Name: File Name\n * * SQL Data Type: nvarchar(255)"),FileSizeBytes:z.number().nullable().describe("\n * * Field Name: FileSizeBytes\n * * Display Name: File Size Bytes\n * * SQL Data Type: int"),Width:z.number().nullable().describe("\n * * Field Name: Width\n * * Display Name: Width\n * * SQL Data Type: int"),Height:z.number().nullable().describe("\n * * Field Name: Height\n * * Display Name: Height\n * * SQL Data Type: int"),DurationSeconds:z.number().nullable().describe("\n * * Field Name: DurationSeconds\n * * Display Name: Duration Seconds\n * * SQL Data Type: decimal(10, 2)"),InlineData:z.string().nullable().describe("\n * * Field Name: InlineData\n * * Display Name: Inline Data\n * * SQL Data Type: nvarchar(MAX)"),FileID:z.string().nullable().describe("\n * * Field Name: FileID\n * * Display Name: File ID\n * * SQL Data Type: uniqueidentifier\n * * Related Entity/Foreign Key: MJ: Files (vwFiles.ID)"),ThumbnailBase64:z.string().nullable().describe("\n * * Field Name: ThumbnailBase64\n * * Display Name: Thumbnail Base64\n * * SQL Data Type: nvarchar(MAX)"),Label:z.string().nullable().describe("\n * * Field Name: Label\n * * Display Name: Label\n * * SQL Data Type: nvarchar(255)"),Metadata:z.string().nullable().describe("\n * * Field Name: Metadata\n * * Display Name: Metadata\n * * SQL Data Type: nvarchar(MAX)"),DisplayOrder:z.number().describe("\n * * Field Name: DisplayOrder\n * * Display Name: Display Order\n * * SQL Data Type: int\n * * Default Value: 0"),__mj_CreatedAt:z.date().describe("\n * * Field Name: __mj_CreatedAt\n * * Display Name: Created At\n * * SQL Data Type: datetimeoffset\n * * Default Value: getutcdate()"),__mj_UpdatedAt:z.date().describe("\n * * Field Name: __mj_UpdatedAt\n * * Display Name: Updated At\n * * SQL Data Type: datetimeoffset\n * * Default Value: getutcdate()"),Description:z.string().nullable().describe("\n * * Field Name: Description\n * * Display Name: Description\n * * SQL Data Type: nvarchar(MAX)\n * * Description: Agent notes describing what this media represents. Used for internal tracking and can be displayed in UI."),AgentRun:z.string().nullable().describe("\n * * Field Name: AgentRun\n * * Display Name: Agent Run\n * * SQL Data Type: nvarchar(255)"),SourcePromptRunMedia:z.string().nullable().describe("\n * * Field Name: SourcePromptRunMedia\n * * Display Name: Source Prompt Run Media\n * * SQL Data Type: nvarchar(255)"),Modality:z.string().describe("\n * * Field Name: Modality\n * * Display Name: Modality\n * * SQL Data Type: nvarchar(50)"),File:z.string().nullable().describe("\n * * Field Name: File\n * * Display Name: File\n * * SQL Data Type: nvarchar(500)")});/**
58852
58861
  * zod schema definition for the entity MJ: AI Agent Run Steps
58853
- */var MJAIAgentRunStepSchema=z.object({ID:z.string().describe("\n * * Field Name: ID\n * * Display Name: ID\n * * SQL Data Type: uniqueidentifier\n * * Default Value: newsequentialid()\n * * Description: Unique identifier for this execution step"),AgentRunID:z.string().describe("\n * * Field Name: AgentRunID\n * * Display Name: Agent Run\n * * SQL Data Type: uniqueidentifier\n * * Related Entity/Foreign Key: MJ: AI Agent Runs (vwAIAgentRuns.ID)\n * * Description: Reference to the parent AIAgentRun that contains this step"),StepNumber:z.number().describe("\n * * Field Name: StepNumber\n * * Display Name: Step Number\n * * SQL Data Type: int\n * * Description: Sequential number of this step within the agent run, starting from 1"),StepType:z.union([z.literal('Actions'),z.literal('Chat'),z.literal('Decision'),z.literal('ForEach'),z.literal('Prompt'),z.literal('Sub-Agent'),z.literal('Validation'),z.literal('While')]).describe("\n * * Field Name: StepType\n * * Display Name: Step Type\n * * SQL Data Type: nvarchar(50)\n * * Default Value: Prompt\n * * Value List Type: List\n * * Possible Values \n * * Actions\n * * Chat\n * * Decision\n * * ForEach\n * * Prompt\n * * Sub-Agent\n * * Validation\n * * While\n * * Description: Type of execution step: Prompt, Actions, Sub-Agent, Decision, Chat, Validation"),StepName:z.string().describe("\n * * Field Name: StepName\n * * Display Name: Step Name\n * * SQL Data Type: nvarchar(255)\n * * Description: Human-readable name of what this step accomplishes"),TargetID:z.string().nullable().describe("\n * * Field Name: TargetID\n * * Display Name: Target\n * * SQL Data Type: uniqueidentifier\n * * Description: ID of the specific target being executed (AIPrompt.ID, AIAction.ID, AIAgent.ID, etc.). NULL for steps that don't target a specific entity."),Status:z.union([z.literal('Cancelled'),z.literal('Completed'),z.literal('Failed'),z.literal('Running')]).describe("\n * * Field Name: Status\n * * Display Name: Status\n * * SQL Data Type: nvarchar(50)\n * * Default Value: Running\n * * Value List Type: List\n * * Possible Values \n * * Cancelled\n * * Completed\n * * Failed\n * * Running\n * * Description: Current execution status of this step: Running, Completed, Failed, Cancelled"),StartedAt:z.date().describe("\n * * Field Name: StartedAt\n * * Display Name: Started At\n * * SQL Data Type: datetimeoffset\n * * Default Value: sysdatetimeoffset()\n * * Description: Timestamp when this step began execution"),CompletedAt:z.date().nullable().describe("\n * * Field Name: CompletedAt\n * * Display Name: Completed At\n * * SQL Data Type: datetimeoffset\n * * Description: Timestamp when this step completed. NULL while still running."),Success:z.boolean().nullable().describe("\n * * Field Name: Success\n * * Display Name: Success\n * * SQL Data Type: bit\n * * Description: Whether this step completed successfully. NULL while running, TRUE/FALSE when completed."),ErrorMessage:z.string().nullable().describe("\n * * Field Name: ErrorMessage\n * * Display Name: Error Message\n * * SQL Data Type: nvarchar(MAX)\n * * Description: Error message if this step failed. NULL for successful steps."),InputData:z.string().nullable().describe("\n * * Field Name: InputData\n * * Display Name: Input Data\n * * SQL Data Type: nvarchar(MAX)\n * * Description: JSON serialization of input data passed to this step for execution"),OutputData:z.string().nullable().describe("\n * * Field Name: OutputData\n * * Display Name: Output Data\n * * SQL Data Type: nvarchar(MAX)\n * * Description: JSON serialization of the output data produced by this step"),__mj_CreatedAt:z.date().describe("\n * * Field Name: __mj_CreatedAt\n * * Display Name: Created At\n * * SQL Data Type: datetimeoffset\n * * Default Value: getutcdate()"),__mj_UpdatedAt:z.date().describe("\n * * Field Name: __mj_UpdatedAt\n * * Display Name: Updated At\n * * SQL Data Type: datetimeoffset\n * * Default Value: getutcdate()"),TargetLogID:z.string().nullable().describe("\n * * Field Name: TargetLogID\n * * Display Name: Target Log\n * * SQL Data Type: uniqueidentifier\n * * Description: ID of the execution log/run record created for this step (ActionExecutionLog.ID for action steps, AIAgentRun.ID for subagent steps, AIPromptRun.ID for prompt steps)"),PayloadAtStart:z.string().nullable().describe("\n * * Field Name: PayloadAtStart\n * * Display Name: Payload At Start\n * * SQL Data Type: nvarchar(MAX)\n * * Description: JSON serialization of the Payload state at the start of this step"),PayloadAtEnd:z.string().nullable().describe("\n * * Field Name: PayloadAtEnd\n * * Display Name: Payload At End\n * * SQL Data Type: nvarchar(MAX)\n * * Description: JSON serialization of the Payload state at the end of this step"),FinalPayloadValidationResult:z.union([z.literal('Fail'),z.literal('Fail'),z.literal('Pass'),z.literal('Pass'),z.literal('Retry'),z.literal('Retry'),z.literal('Warn'),z.literal('Warn')]).nullable().describe("\n * * Field Name: FinalPayloadValidationResult\n * * Display Name: Validation Result\n * * SQL Data Type: nvarchar(25)\n * * Value List Type: List\n * * Possible Values \n * * Fail\n * * Fail\n * * Pass\n * * Pass\n * * Retry\n * * Retry\n * * Warn\n * * Warn\n * * Description: Result of the final payload validation for this step. Pass indicates successful\nvalidation, Retry means validation failed but will retry, Fail means validation failed\npermanently, Warn means validation failed but execution continues."),FinalPayloadValidationMessages:z.string().nullable().describe("\n * * Field Name: FinalPayloadValidationMessages\n * * Display Name: Validation Messages\n * * SQL Data Type: nvarchar(MAX)\n * * Description: Validation error messages or warnings from final payload validation. Contains\ndetailed information about what validation rules failed."),ParentID:z.string().nullable().describe("\n * * Field Name: ParentID\n * * Display Name: Parent Step\n * * SQL Data Type: uniqueidentifier\n * * Related Entity/Foreign Key: MJ: AI Agent Run Steps (vwAIAgentRunSteps.ID)\n * * Description: Optional reference to parent step for tracking hierarchical relationships like code->test->fix->code cycles"),Comments:z.string().nullable().describe("\n * * Field Name: Comments\n * * Display Name: Comments\n * * SQL Data Type: nvarchar(MAX)\n * * Description: Human-readable notes and comments about this agent run step"),AgentRun:z.string().nullable().describe("\n * * Field Name: AgentRun\n * * Display Name: Agent Run\n * * SQL Data Type: nvarchar(255)"),Parent:z.string().nullable().describe("\n * * Field Name: Parent\n * * Display Name: Parent Step\n * * SQL Data Type: nvarchar(255)"),RootParentID:z.string().nullable().describe("\n * * Field Name: RootParentID\n * * Display Name: Root Parent Step\n * * SQL Data Type: uniqueidentifier")});/**
58862
+ */var MJAIAgentRunStepSchema=z.object({ID:z.string().describe("\n * * Field Name: ID\n * * Display Name: ID\n * * SQL Data Type: uniqueidentifier\n * * Default Value: newsequentialid()\n * * Description: Unique identifier for this execution step"),AgentRunID:z.string().describe("\n * * Field Name: AgentRunID\n * * Display Name: Agent Run\n * * SQL Data Type: uniqueidentifier\n * * Related Entity/Foreign Key: MJ: AI Agent Runs (vwAIAgentRuns.ID)\n * * Description: Reference to the parent AIAgentRun that contains this step"),StepNumber:z.number().describe("\n * * Field Name: StepNumber\n * * Display Name: Step Number\n * * SQL Data Type: int\n * * Description: Sequential number of this step within the agent run, starting from 1"),StepType:z.union([z.literal('Actions'),z.literal('Chat'),z.literal('Decision'),z.literal('ForEach'),z.literal('Prompt'),z.literal('Sub-Agent'),z.literal('Tool'),z.literal('Validation'),z.literal('While')]).describe("\n * * Field Name: StepType\n * * Display Name: Step Type\n * * SQL Data Type: nvarchar(50)\n * * Default Value: Prompt\n * * Value List Type: List\n * * Possible Values \n * * Actions\n * * Chat\n * * Decision\n * * ForEach\n * * Prompt\n * * Sub-Agent\n * * Tool\n * * Validation\n * * While\n * * Description: Type of execution step: Prompt, Actions, Sub-Agent, Decision, Chat, Validation, ForEach, While, Tool"),StepName:z.string().describe("\n * * Field Name: StepName\n * * Display Name: Step Name\n * * SQL Data Type: nvarchar(255)\n * * Description: Human-readable name of what this step accomplishes"),TargetID:z.string().nullable().describe("\n * * Field Name: TargetID\n * * Display Name: Target\n * * SQL Data Type: uniqueidentifier\n * * Description: ID of the specific target being executed (AIPrompt.ID, AIAction.ID, AIAgent.ID, etc.). NULL for steps that don't target a specific entity."),Status:z.union([z.literal('Cancelled'),z.literal('Completed'),z.literal('Failed'),z.literal('Running')]).describe("\n * * Field Name: Status\n * * Display Name: Status\n * * SQL Data Type: nvarchar(50)\n * * Default Value: Running\n * * Value List Type: List\n * * Possible Values \n * * Cancelled\n * * Completed\n * * Failed\n * * Running\n * * Description: Current execution status of this step: Running, Completed, Failed, Cancelled"),StartedAt:z.date().describe("\n * * Field Name: StartedAt\n * * Display Name: Started At\n * * SQL Data Type: datetimeoffset\n * * Default Value: sysdatetimeoffset()\n * * Description: Timestamp when this step began execution"),CompletedAt:z.date().nullable().describe("\n * * Field Name: CompletedAt\n * * Display Name: Completed At\n * * SQL Data Type: datetimeoffset\n * * Description: Timestamp when this step completed. NULL while still running."),Success:z.boolean().nullable().describe("\n * * Field Name: Success\n * * Display Name: Success\n * * SQL Data Type: bit\n * * Description: Whether this step completed successfully. NULL while running, TRUE/FALSE when completed."),ErrorMessage:z.string().nullable().describe("\n * * Field Name: ErrorMessage\n * * Display Name: Error Message\n * * SQL Data Type: nvarchar(MAX)\n * * Description: Error message if this step failed. NULL for successful steps."),InputData:z.string().nullable().describe("\n * * Field Name: InputData\n * * Display Name: Input Data\n * * SQL Data Type: nvarchar(MAX)\n * * Description: JSON serialization of input data passed to this step for execution"),OutputData:z.string().nullable().describe("\n * * Field Name: OutputData\n * * Display Name: Output Data\n * * SQL Data Type: nvarchar(MAX)\n * * Description: JSON serialization of the output data produced by this step"),__mj_CreatedAt:z.date().describe("\n * * Field Name: __mj_CreatedAt\n * * Display Name: Created At\n * * SQL Data Type: datetimeoffset\n * * Default Value: getutcdate()"),__mj_UpdatedAt:z.date().describe("\n * * Field Name: __mj_UpdatedAt\n * * Display Name: Updated At\n * * SQL Data Type: datetimeoffset\n * * Default Value: getutcdate()"),TargetLogID:z.string().nullable().describe("\n * * Field Name: TargetLogID\n * * Display Name: Target Log\n * * SQL Data Type: uniqueidentifier\n * * Description: ID of the execution log/run record created for this step (ActionExecutionLog.ID for action steps, AIAgentRun.ID for subagent steps, AIPromptRun.ID for prompt steps)"),PayloadAtStart:z.string().nullable().describe("\n * * Field Name: PayloadAtStart\n * * Display Name: Payload At Start\n * * SQL Data Type: nvarchar(MAX)\n * * Description: JSON serialization of the Payload state at the start of this step"),PayloadAtEnd:z.string().nullable().describe("\n * * Field Name: PayloadAtEnd\n * * Display Name: Payload At End\n * * SQL Data Type: nvarchar(MAX)\n * * Description: JSON serialization of the Payload state at the end of this step"),FinalPayloadValidationResult:z.union([z.literal('Fail'),z.literal('Fail'),z.literal('Pass'),z.literal('Pass'),z.literal('Retry'),z.literal('Retry'),z.literal('Warn'),z.literal('Warn')]).nullable().describe("\n * * Field Name: FinalPayloadValidationResult\n * * Display Name: Validation Result\n * * SQL Data Type: nvarchar(25)\n * * Value List Type: List\n * * Possible Values \n * * Fail\n * * Fail\n * * Pass\n * * Pass\n * * Retry\n * * Retry\n * * Warn\n * * Warn\n * * Description: Result of the final payload validation for this step. Pass indicates successful\nvalidation, Retry means validation failed but will retry, Fail means validation failed\npermanently, Warn means validation failed but execution continues."),FinalPayloadValidationMessages:z.string().nullable().describe("\n * * Field Name: FinalPayloadValidationMessages\n * * Display Name: Validation Messages\n * * SQL Data Type: nvarchar(MAX)\n * * Description: Validation error messages or warnings from final payload validation. Contains\ndetailed information about what validation rules failed."),ParentID:z.string().nullable().describe("\n * * Field Name: ParentID\n * * Display Name: Parent Step\n * * SQL Data Type: uniqueidentifier\n * * Related Entity/Foreign Key: MJ: AI Agent Run Steps (vwAIAgentRunSteps.ID)\n * * Description: Optional reference to parent step for tracking hierarchical relationships like code->test->fix->code cycles"),Comments:z.string().nullable().describe("\n * * Field Name: Comments\n * * Display Name: Comments\n * * SQL Data Type: nvarchar(MAX)\n * * Description: Human-readable notes and comments about this agent run step"),AgentRun:z.string().nullable().describe("\n * * Field Name: AgentRun\n * * Display Name: Agent Run\n * * SQL Data Type: nvarchar(255)"),Parent:z.string().nullable().describe("\n * * Field Name: Parent\n * * Display Name: Parent Step\n * * SQL Data Type: nvarchar(255)"),RootParentID:z.string().nullable().describe("\n * * Field Name: RootParentID\n * * Display Name: Root Parent Step\n * * SQL Data Type: uniqueidentifier")});/**
58854
58863
  * zod schema definition for the entity MJ: AI Agent Runs
58855
58864
  */var MJAIAgentRunSchema=z.object({ID:z.string().describe("\n * * Field Name: ID\n * * Display Name: ID\n * * SQL Data Type: uniqueidentifier\n * * Default Value: newsequentialid()\n * * Description: Unique identifier for this agent run"),AgentID:z.string().describe("\n * * Field Name: AgentID\n * * Display Name: Agent\n * * SQL Data Type: uniqueidentifier\n * * Related Entity/Foreign Key: MJ: AI Agents (vwAIAgents.ID)\n * * Description: Reference to the AIAgent that is being executed in this run"),ParentRunID:z.string().nullable().describe("\n * * Field Name: ParentRunID\n * * Display Name: Parent Run\n * * SQL Data Type: uniqueidentifier\n * * Related Entity/Foreign Key: MJ: AI Agent Runs (vwAIAgentRuns.ID)\n * * Description: Reference to the parent agent run if this is a sub-agent execution. NULL for root-level agent runs. Enables hierarchical execution tracking."),Status:z.union([z.literal('AwaitingFeedback'),z.literal('Cancelled'),z.literal('Completed'),z.literal('Failed'),z.literal('Paused'),z.literal('Running')]).describe("\n * * Field Name: Status\n * * Display Name: Status\n * * SQL Data Type: nvarchar(50)\n * * Default Value: Running\n * * Value List Type: List\n * * Possible Values \n * * AwaitingFeedback\n * * Cancelled\n * * Completed\n * * Failed\n * * Paused\n * * Running\n * * Description: Current status of the agent run. Running -> Completed/Failed/Cancelled"),StartedAt:z.date().describe("\n * * Field Name: StartedAt\n * * Display Name: Started At\n * * SQL Data Type: datetimeoffset\n * * Default Value: sysdatetimeoffset()\n * * Description: Timestamp when the agent run began execution"),CompletedAt:z.date().nullable().describe("\n * * Field Name: CompletedAt\n * * Display Name: Completed At\n * * SQL Data Type: datetimeoffset\n * * Description: Timestamp when the agent run completed (successfully or with failure). NULL while running."),Success:z.boolean().nullable().describe("\n * * Field Name: Success\n * * Display Name: Success\n * * SQL Data Type: bit\n * * Description: Indicates whether the agent run completed successfully. NULL while running, TRUE/FALSE when completed."),ErrorMessage:z.string().nullable().describe("\n * * Field Name: ErrorMessage\n * * Display Name: Error Message\n * * SQL Data Type: nvarchar(MAX)\n * * Description: Error message if the agent run failed. NULL for successful runs."),ConversationID:z.string().nullable().describe("\n * * Field Name: ConversationID\n * * Display Name: Conversation\n * * SQL Data Type: uniqueidentifier\n * * Related Entity/Foreign Key: MJ: Conversations (vwConversations.ID)\n * * Description: Identifier linking multiple agent runs that are part of the same conversation or user session"),UserID:z.string().nullable().describe("\n * * Field Name: UserID\n * * Display Name: User\n * * SQL Data Type: uniqueidentifier\n * * Related Entity/Foreign Key: MJ: Users (vwUsers.ID)\n * * Description: User context identifier for authentication and permissions during the agent run"),Result:z.string().nullable().describe("\n * * Field Name: Result\n * * Display Name: Result\n * * SQL Data Type: nvarchar(MAX)\n * * Description: Final result or output from the agent execution, stored as JSON or text"),AgentState:z.string().nullable().describe("\n * * Field Name: AgentState\n * * Display Name: Agent State\n * * SQL Data Type: nvarchar(MAX)\n * * Description: JSON serialization of the complete agent state, including conversation context, variables, and execution state. Enables pause/resume functionality."),TotalTokensUsed:z.number().nullable().describe("\n * * Field Name: TotalTokensUsed\n * * Display Name: Total Tokens Used\n * * SQL Data Type: int\n * * Default Value: 0\n * * Description: Total number of tokens consumed by all LLM calls during this agent run"),TotalCost:z.number().nullable().describe("\n * * Field Name: TotalCost\n * * Display Name: Total Cost\n * * SQL Data Type: decimal(18, 6)\n * * Default Value: 0.000000\n * * Description: Total estimated cost for all AI model usage during this agent run"),__mj_CreatedAt:z.date().describe("\n * * Field Name: __mj_CreatedAt\n * * Display Name: Created At\n * * SQL Data Type: datetimeoffset\n * * Default Value: getutcdate()"),__mj_UpdatedAt:z.date().describe("\n * * Field Name: __mj_UpdatedAt\n * * Display Name: Updated At\n * * SQL Data Type: datetimeoffset\n * * Default Value: getutcdate()"),TotalPromptTokensUsed:z.number().nullable().describe("\n * * Field Name: TotalPromptTokensUsed\n * * Display Name: Total Prompt Tokens Used\n * * SQL Data Type: int\n * * Description: Total number of prompt/input tokens used across all AIPromptRun executions during this agent run. This provides a breakdown of the TotalTokensUsed field to help analyze the ratio of input vs output tokens consumed by the agent."),TotalCompletionTokensUsed:z.number().nullable().describe("\n * * Field Name: TotalCompletionTokensUsed\n * * Display Name: Total Completion Tokens Used\n * * SQL Data Type: int\n * * Description: Total number of completion/output tokens generated across all AIPromptRun executions during this agent run. This provides a breakdown of the TotalTokensUsed field to help analyze the ratio of input vs output tokens consumed by the agent."),TotalTokensUsedRollup:z.number().nullable().describe("\n * * Field Name: TotalTokensUsedRollup\n * * Display Name: Total Tokens Used (Rollup)\n * * SQL Data Type: int\n * * Description: Total tokens used including this agent run and all sub-agent runs. For leaf agents (no sub-agents), this equals TotalTokensUsed. For parent agents, this includes the sum of all descendant agent tokens. Calculated as TotalPromptTokensUsedRollup + TotalCompletionTokensUsedRollup."),TotalPromptTokensUsedRollup:z.number().nullable().describe("\n * * Field Name: TotalPromptTokensUsedRollup\n * * Display Name: Total Prompt Tokens Used (Rollup)\n * * SQL Data Type: int\n * * Description: Total prompt/input tokens including this agent run and all sub-agent runs. For leaf agents (no sub-agents), this equals TotalPromptTokensUsed. For parent agents, this includes the sum of all descendant agent prompt tokens."),TotalCompletionTokensUsedRollup:z.number().nullable().describe("\n * * Field Name: TotalCompletionTokensUsedRollup\n * * Display Name: Total Completion Tokens Used (Rollup)\n * * SQL Data Type: int\n * * Description: Total completion/output tokens including this agent run and all sub-agent runs. For leaf agents (no sub-agents), this equals TotalCompletionTokensUsed. For parent agents, this includes the sum of all descendant agent completion tokens."),TotalCostRollup:z.number().nullable().describe("\n * * Field Name: TotalCostRollup\n * * Display Name: Total Cost (Rollup)\n * * SQL Data Type: decimal(19, 8)\n * * Description: Total cost including this agent run and all sub-agent runs. For leaf agents (no sub-agents), this equals TotalCost. For parent agents, this includes the sum of all descendant agent costs. Note: This assumes all costs are in the same currency for accurate rollup."),ConversationDetailID:z.string().nullable().describe("\n * * Field Name: ConversationDetailID\n * * Display Name: Conversation Detail\n * * SQL Data Type: uniqueidentifier\n * * Related Entity/Foreign Key: MJ: Conversation Details (vwConversationDetails.ID)\n * * Description: Optional tracking of a specific conversation detail (e.g. a specific message) that spawned this agent run"),ConversationDetailSequence:z.number().nullable().describe("\n * * Field Name: ConversationDetailSequence\n * * Display Name: Conversation Detail Sequence\n * * SQL Data Type: int\n * * Description: If a conversation detail spawned multiple agent runs, tracks the order of their spawn/execution"),CancellationReason:z.union([z.literal('System'),z.literal('Timeout'),z.literal('User Request')]).nullable().describe("\n * * Field Name: CancellationReason\n * * Display Name: Cancellation Reason\n * * SQL Data Type: nvarchar(30)\n * * Value List Type: List\n * * Possible Values \n * * System\n * * Timeout\n * * User Request\n * * Description: Reason for cancellation if the agent run was cancelled"),FinalStep:z.union([z.literal('Actions'),z.literal('Chat'),z.literal('Failed'),z.literal('ForEach'),z.literal('Retry'),z.literal('Sub-Agent'),z.literal('Success'),z.literal('While')]).nullable().describe("\n * * Field Name: FinalStep\n * * Display Name: Final Step\n * * SQL Data Type: nvarchar(30)\n * * Value List Type: List\n * * Possible Values \n * * Actions\n * * Chat\n * * Failed\n * * ForEach\n * * Retry\n * * Sub-Agent\n * * Success\n * * While\n * * Description: The final step type that concluded the agent run"),FinalPayload:z.string().nullable().describe("\n * * Field Name: FinalPayload\n * * Display Name: Final Payload\n * * SQL Data Type: nvarchar(MAX)\n * * Description: JSON serialization of the final Payload state at the end of the agent run"),Message:z.string().nullable().describe("\n * * Field Name: Message\n * * Display Name: Message\n * * SQL Data Type: nvarchar(MAX)\n * * Description: Final message from the agent to the end user at the end of a run"),LastRunID:z.string().nullable().describe("\n * * Field Name: LastRunID\n * * Display Name: Last Run\n * * SQL Data Type: uniqueidentifier\n * * Related Entity/Foreign Key: MJ: AI Agent Runs (vwAIAgentRuns.ID)\n * * Description: Links to the previous run in a chain. Different from ParentRunID which is for sub-agent hierarchy."),StartingPayload:z.string().nullable().describe("\n * * Field Name: StartingPayload\n * * Display Name: Starting Payload\n * * SQL Data Type: nvarchar(MAX)\n * * Description: The initial payload provided at the start of this run. Can be populated from the FinalPayload of the LastRun."),TotalPromptIterations:z.number().describe("\n * * Field Name: TotalPromptIterations\n * * Display Name: Total Prompt Iterations\n * * SQL Data Type: int\n * * Default Value: 0\n * * Description: Total number of prompt iterations executed during this agent run. Incremented\neach time the agent processes a prompt step."),ConfigurationID:z.string().nullable().describe("\n * * Field Name: ConfigurationID\n * * Display Name: Configuration\n * * SQL Data Type: uniqueidentifier\n * * Related Entity/Foreign Key: MJ: AI Configurations (vwAIConfigurations.ID)\n * * Description: The AI Configuration used for this agent execution. When set, this configuration was used for all prompts executed by this agent and its sub-agents."),OverrideModelID:z.string().nullable().describe("\n * * Field Name: OverrideModelID\n * * Display Name: Override Model\n * * SQL Data Type: uniqueidentifier\n * * Related Entity/Foreign Key: MJ: AI Models (vwAIModels.ID)\n * * Description: Runtime model override that was used for this execution. When set, this model took precedence over all other model selection methods."),OverrideVendorID:z.string().nullable().describe("\n * * Field Name: OverrideVendorID\n * * Display Name: Override Vendor\n * * SQL Data Type: uniqueidentifier\n * * Related Entity/Foreign Key: MJ: AI Vendors (vwAIVendors.ID)\n * * Description: Runtime vendor override that was used for this execution. When set along with OverrideModelID, this vendor was used to provide the model."),Data:z.string().nullable().describe("\n * * Field Name: Data\n * * Display Name: Data\n * * SQL Data Type: nvarchar(MAX)\n * * Description: JSON serialized data that was passed for template rendering and prompt execution. This data was passed to the agent's prompt as well as all sub-agents."),Verbose:z.boolean().nullable().describe("\n * * Field Name: Verbose\n * * Display Name: Verbose Logging\n * * SQL Data Type: bit\n * * Default Value: 0\n * * Description: Indicates whether verbose logging was enabled during this agent execution. When true, detailed decision-making and execution flow was logged."),EffortLevel:z.number().nullable().describe("\n * * Field Name: EffortLevel\n * * Display Name: Effort Level\n * * SQL Data Type: int\n * * Description: Effort level that was actually used during this agent run execution (1-100, where 1=minimal effort, 100=maximum effort). This is the resolved effort level after applying the precedence hierarchy: runtime override > agent default > prompt defaults."),RunName:z.string().nullable().describe("\n * * Field Name: RunName\n * * Display Name: Run Name\n * * SQL Data Type: nvarchar(255)\n * * Description: Optional name for the agent run to help identify and tag runs for easier reference"),Comments:z.string().nullable().describe("\n * * Field Name: Comments\n * * Display Name: Comments\n * * SQL Data Type: nvarchar(MAX)\n * * Description: Human-readable notes and comments about this agent run"),ScheduledJobRunID:z.string().nullable().describe("\n * * Field Name: ScheduledJobRunID\n * * Display Name: Scheduled Job Run\n * * SQL Data Type: uniqueidentifier\n * * Related Entity/Foreign Key: MJ: Scheduled Job Runs (vwScheduledJobRuns.ID)\n * * Description: Links to the scheduled job run that triggered this agent execution. NULL for manually-triggered agent runs. Enables tracking which scheduled jobs spawned which agent executions."),TestRunID:z.string().nullable().describe("\n * * Field Name: TestRunID\n * * Display Name: Test Run\n * * SQL Data Type: uniqueidentifier\n * * Related Entity/Foreign Key: MJ: Test Runs (vwTestRuns.ID)\n * * Description: Optional Foreign Key - Links this agent run to a test run if this execution was part of a test. Allows navigation from agent execution to test context."),PrimaryScopeEntityID:z.string().nullable().describe("\n * * Field Name: PrimaryScopeEntityID\n * * Display Name: Primary Scope Entity\n * * SQL Data Type: uniqueidentifier\n * * Related Entity/Foreign Key: MJ: Entities (vwEntities.ID)\n * * Description: Foreign key to Entity table identifying which entity type is used for primary scoping (e.g., Organizations, Tenants)"),PrimaryScopeRecordID:z.string().nullable().describe("\n * * Field Name: PrimaryScopeRecordID\n * * Display Name: Primary Scope Record\n * * SQL Data Type: nvarchar(100)\n * * Description: The record ID within the primary scope entity (e.g., the specific OrganizationID). Indexed for fast multi-tenant filtering."),SecondaryScopes:z.string().nullable().describe("\n * * Field Name: SecondaryScopes\n * * Display Name: Secondary Scopes\n * * SQL Data Type: nvarchar(MAX)\n * * Description: JSON object containing additional scope dimensions beyond the primary scope. Example: {\"ContactID\":\"abc-123\",\"TeamID\":\"team-456\"}"),ExternalReferenceID:z.string().nullable().describe("\n * * Field Name: ExternalReferenceID\n * * Display Name: External Reference ID\n * * SQL Data Type: nvarchar(200)\n * * Description: Optional reference ID from an external system that initiated this agent run. Enables correlation between the caller's agent run and this execution. For example, when Skip SaaS is called via SkipProxyAgent, this stores the MJ-side Agent Run ID."),CompanyID:z.string().nullable().describe("\n * * Field Name: CompanyID\n * * Display Name: Company ID\n * * SQL Data Type: uniqueidentifier\n * * Description: Optional company scope for multi-tenant memory. When populated, Memory Manager uses this to scope extracted notes to the company. Flows from ExecuteAgentParams.companyId at agent invocation time."),Agent:z.string().nullable().describe("\n * * Field Name: Agent\n * * Display Name: Agent Name\n * * SQL Data Type: nvarchar(255)"),ParentRun:z.string().nullable().describe("\n * * Field Name: ParentRun\n * * Display Name: Parent Run Name\n * * SQL Data Type: nvarchar(255)"),Conversation:z.string().nullable().describe("\n * * Field Name: Conversation\n * * Display Name: Conversation Name\n * * SQL Data Type: nvarchar(255)"),User:z.string().nullable().describe("\n * * Field Name: User\n * * Display Name: User Name\n * * SQL Data Type: nvarchar(100)"),ConversationDetail:z.string().nullable().describe("\n * * Field Name: ConversationDetail\n * * Display Name: Conversation Detail Name\n * * SQL Data Type: nvarchar(MAX)"),LastRun:z.string().nullable().describe("\n * * Field Name: LastRun\n * * Display Name: Last Run Name\n * * SQL Data Type: nvarchar(255)"),Configuration:z.string().nullable().describe("\n * * Field Name: Configuration\n * * Display Name: Configuration Name\n * * SQL Data Type: nvarchar(100)"),OverrideModel:z.string().nullable().describe("\n * * Field Name: OverrideModel\n * * Display Name: Override Model Name\n * * SQL Data Type: nvarchar(50)"),OverrideVendor:z.string().nullable().describe("\n * * Field Name: OverrideVendor\n * * Display Name: Override Vendor Name\n * * SQL Data Type: nvarchar(50)"),ScheduledJobRun:z.string().nullable().describe("\n * * Field Name: ScheduledJobRun\n * * Display Name: Scheduled Job Run Name\n * * SQL Data Type: nvarchar(200)"),TestRun:z.string().nullable().describe("\n * * Field Name: TestRun\n * * Display Name: Test Run Name\n * * SQL Data Type: nvarchar(255)"),PrimaryScopeEntity:z.string().nullable().describe("\n * * Field Name: PrimaryScopeEntity\n * * Display Name: Primary Scope Entity Name\n * * SQL Data Type: nvarchar(255)"),RootParentRunID:z.string().nullable().describe("\n * * Field Name: RootParentRunID\n * * Display Name: Root Parent Run\n * * SQL Data Type: uniqueidentifier"),RootLastRunID:z.string().nullable().describe("\n * * Field Name: RootLastRunID\n * * Display Name: Root Last Run\n * * SQL Data Type: uniqueidentifier")});/**
58856
58865
  * zod schema definition for the entity MJ: AI Agent Search Scopes
@@ -58862,7 +58871,7 @@ function _regenerator(){/*! regenerator-runtime -- Copyright (c) 2014-present, F
58862
58871
  * zod schema definition for the entity MJ: AI Agent Types
58863
58872
  */var MJAIAgentTypeSchema=z.object({ID:z.string().describe("\n * * Field Name: ID\n * * Display Name: ID\n * * SQL Data Type: uniqueidentifier\n * * Default Value: newsequentialid()\n * * Description: Unique identifier for the agent type"),Name:z.string().describe("\n * * Field Name: Name\n * * Display Name: Name\n * * SQL Data Type: nvarchar(100)\n * * Description: Unique name of the agent type (e.g., \"Base\", \"CustomerSupport\", \"DataAnalysis\"). Used for programmatic identification and factory instantiation."),Description:z.string().nullable().describe("\n * * Field Name: Description\n * * Display Name: Description\n * * SQL Data Type: nvarchar(MAX)\n * * Description: Detailed description of the agent type, its purpose, and typical use cases"),SystemPromptID:z.string().nullable().describe("\n * * Field Name: SystemPromptID\n * * Display Name: System Prompt\n * * SQL Data Type: uniqueidentifier\n * * Related Entity/Foreign Key: MJ: AI Prompts (vwAIPrompts.ID)\n * * Description: Reference to the AI Prompt that contains the system-level instructions for all agents of this type. This prompt will be blended with individual agent prompts."),IsActive:z.boolean().describe("\n * * Field Name: IsActive\n * * Display Name: Active\n * * SQL Data Type: bit\n * * Default Value: 1\n * * Description: Indicates whether this agent type is available for use. Inactive types cannot be assigned to new agents."),__mj_CreatedAt:z.date().describe("\n * * Field Name: __mj_CreatedAt\n * * Display Name: Created At\n * * SQL Data Type: datetimeoffset\n * * Default Value: getutcdate()"),__mj_UpdatedAt:z.date().describe("\n * * Field Name: __mj_UpdatedAt\n * * Display Name: Updated At\n * * SQL Data Type: datetimeoffset\n * * Default Value: getutcdate()"),AgentPromptPlaceholder:z.string().nullable().describe("\n * * Field Name: AgentPromptPlaceholder\n * * Display Name: Agent Prompt Placeholder\n * * SQL Data Type: nvarchar(255)\n * * Description: The placeholder name used in the system prompt template where the agent prompt result should be injected. For example, if the system prompt contains \"{{ agentPrompt }}\", this field should contain \"agentPrompt\". This enables proper hierarchical prompt execution where the agent type's system prompt acts as the parent and the agent's specific prompt acts as the child."),DriverClass:z.string().nullable().describe("\n * * Field Name: DriverClass\n * * Display Name: Driver Class\n * * SQL Data Type: nvarchar(255)\n * * Description: The class name used by the MemberJunction class factory to instantiate the specific agent type implementation. For example, \"LoopAgentType\" for a looping agent pattern. If not specified, defaults to using the agent type Name for the DriverClass lookup key."),UIFormSectionKey:z.string().nullable().describe("\n * * Field Name: UIFormSectionKey\n * * Display Name: UI Form Section Key\n * * SQL Data Type: nvarchar(500)\n * * Description: Optional Angular component key name for a subclass of BaseFormSectionComponent that provides a custom form section for this agent type. When specified, this component will be dynamically loaded and displayed as the first expandable section in the AI Agent form. This allows agent types to have specialized UI elements. The class must be registered with the MemberJunction class factory via @RegisterClass"),UIFormKey:z.string().nullable().describe("\n * * Field Name: UIFormKey\n * * Display Name: UI Form Key\n * * SQL Data Type: nvarchar(500)\n * * Description: Optional Angular component key name for a subclass of BaseFormComponent that will completely overrides the default AI Agent form for this agent type. When specified, this component will be used instead of the standard AI Agent form, allowing for completely custom form implementations. The class must be registered with the MemberJunction class factory via @RegisterClass. If both UIFormClass and UIFormSectionClass are specified, UIFormClass takes precedence."),UIFormSectionExpandedByDefault:z.boolean().describe("\n * * Field Name: UIFormSectionExpandedByDefault\n * * Display Name: UI Form Section Expanded By Default\n * * SQL Data Type: bit\n * * Default Value: 1\n * * 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)."),PromptParamsSchema:z.string().nullable().describe("\n * * Field Name: PromptParamsSchema\n * * Display Name: Prompt Params Schema\n * * SQL Data Type: nvarchar(MAX)\n * * 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."),AssignmentStrategy:z.string().nullable().describe("\n * * Field Name: AssignmentStrategy\n * * Display Name: Assignment Strategy\n * * SQL Data Type: nvarchar(MAX)\n * * 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."),DefaultStorageAccountID:z.string().nullable().describe("\n * * Field Name: DefaultStorageAccountID\n * * Display Name: Default Storage Account\n * * SQL Data Type: uniqueidentifier\n * * Related Entity/Foreign Key: MJ: File Storage Accounts (vwFileStorageAccounts.ID)\n * * Description: Default file storage account for agents of this type. Lowest priority in the resolution chain (Type \u2192 Category tree \u2192 Agent \u2192 Runtime override). When set, all agents of this type use this storage account unless overridden at a more specific level. FK to FileStorageAccount."),SystemPrompt:z.string().nullable().describe("\n * * Field Name: SystemPrompt\n * * Display Name: System Prompt\n * * SQL Data Type: nvarchar(255)"),DefaultStorageAccount:z.string().nullable().describe("\n * * Field Name: DefaultStorageAccount\n * * Display Name: Default Storage Account Name\n * * SQL Data Type: nvarchar(200)")});/**
58864
58873
  * zod schema definition for the entity MJ: AI Agents
58865
- */var MJAIAgentSchema=z.object({ID:z.string().describe("\n * * Field Name: ID\n * * Display Name: ID\n * * SQL Data Type: uniqueidentifier\n * * Default Value: newsequentialid()\n * * Description: The unique identifier for each AI agent. Serves as the primary key."),Name:z.string().nullable().describe("\n * * Field Name: Name\n * * Display Name: Name\n * * SQL Data Type: nvarchar(255)\n * * Description: The name of the AI agent."),Description:z.string().nullable().describe("\n * * Field Name: Description\n * * Display Name: Description\n * * SQL Data Type: nvarchar(MAX)\n * * Description: A detailed description of the AI agent."),LogoURL:z.string().nullable().describe("\n * * Field Name: LogoURL\n * * Display Name: Logo URL\n * * SQL Data Type: nvarchar(255)\n * * Description: URL to an image file or base64 data URI (e.g., data:image/png;base64,...) for the agent logo. Takes precedence over IconClass in UI display."),__mj_CreatedAt:z.date().describe("\n * * Field Name: __mj_CreatedAt\n * * Display Name: Created At\n * * SQL Data Type: datetimeoffset\n * * Default Value: getutcdate()"),__mj_UpdatedAt:z.date().describe("\n * * Field Name: __mj_UpdatedAt\n * * Display Name: Updated At\n * * SQL Data Type: datetimeoffset\n * * Default Value: getutcdate()"),ParentID:z.string().nullable().describe("\n * * Field Name: ParentID\n * * Display Name: Parent Agent\n * * SQL Data Type: uniqueidentifier\n * * Related Entity/Foreign Key: MJ: AI Agents (vwAIAgents.ID)\n * * Description: References the parent agent in the hierarchical structure. If NULL, this is a root (top-level) agent."),ExposeAsAction:z.boolean().describe("\n * * Field Name: ExposeAsAction\n * * Display Name: Expose As Action\n * * SQL Data Type: bit\n * * Default Value: 0\n * * Description: When true, this agent can be exposed as an action for use by other agents. Only valid for root agents."),ExecutionOrder:z.number().describe("\n * * Field Name: ExecutionOrder\n * * Display Name: Execution Order\n * * SQL Data Type: int\n * * Default Value: 0\n * * Description: The order in which this agent should be executed among its siblings under the same parent."),ExecutionMode:z.union([z.literal('Parallel'),z.literal('Sequential')]).describe("\n * * Field Name: ExecutionMode\n * * Display Name: Execution Mode\n * * SQL Data Type: nvarchar(20)\n * * Default Value: Sequential\n * * Value List Type: List\n * * Possible Values \n * * Parallel\n * * Sequential\n * * Description: Controls how this agent's child agents are executed. Sequential runs children in order, Parallel runs them simultaneously."),EnableContextCompression:z.boolean().describe("\n * * Field Name: EnableContextCompression\n * * Display Name: Enable Context Compression\n * * SQL Data Type: bit\n * * Default Value: 0\n * * Description: When true, enables automatic compression of conversation context when the message threshold is reached."),ContextCompressionMessageThreshold:z.number().nullable().describe("\n * * Field Name: ContextCompressionMessageThreshold\n * * Display Name: Message Threshold\n * * SQL Data Type: int\n * * Description: Number of messages that triggers context compression when EnableContextCompression is true."),ContextCompressionPromptID:z.string().nullable().describe("\n * * Field Name: ContextCompressionPromptID\n * * Display Name: Compression Prompt\n * * SQL Data Type: uniqueidentifier\n * * Related Entity/Foreign Key: MJ: AI Prompts (vwAIPrompts.ID)"),ContextCompressionMessageRetentionCount:z.number().nullable().describe("\n * * Field Name: ContextCompressionMessageRetentionCount\n * * Display Name: Retention Count\n * * SQL Data Type: int\n * * Description: Number of recent messages to keep uncompressed when context compression is applied."),TypeID:z.string().nullable().describe("\n * * Field Name: TypeID\n * * Display Name: Agent Type\n * * SQL Data Type: uniqueidentifier\n * * Related Entity/Foreign Key: MJ: AI Agent Types (vwAIAgentTypes.ID)\n * * Description: Reference to the AIAgentType that defines the category and system-level behavior for this agent. Cannot be null."),Status:z.union([z.literal('Active'),z.literal('Disabled'),z.literal('Pending')]).describe("\n * * Field Name: Status\n * * Display Name: Status\n * * SQL Data Type: nvarchar(20)\n * * Default Value: Pending\n * * Value List Type: List\n * * Possible Values \n * * Active\n * * Disabled\n * * Pending\n * * Description: Current status of the AI agent. Active agents can be executed, Disabled agents are inactive, and Pending agents are awaiting configuration or approval. Allowed values: Active, Disabled, Pending."),DriverClass:z.string().nullable().describe("\n * * Field Name: DriverClass\n * * Display Name: Driver Class\n * * SQL Data Type: nvarchar(255)\n * * Description: Optional override for the class name used by the MemberJunction class factory to instantiate this specific agent. If specified, this overrides the agent type's DriverClass. Useful for specialized agent implementations."),IconClass:z.string().nullable().describe("\n * * Field Name: IconClass\n * * Display Name: Icon Class\n * * SQL Data Type: nvarchar(100)\n * * Description: Font Awesome icon class (e.g., fa-robot, fa-brain) for the agent. Used as fallback when LogoURL is not set or fails to load."),ModelSelectionMode:z.union([z.literal('Agent'),z.literal('Agent Type')]).describe("\n * * Field Name: ModelSelectionMode\n * * Display Name: Model Selection Mode\n * * SQL Data Type: nvarchar(50)\n * * Default Value: Agent Type\n * * Value List Type: List\n * * Possible Values \n * * Agent\n * * Agent Type\n * * Description: Controls whether model selection is driven by the Agent Type's system prompt or the Agent's specific prompt. Default is Agent Type for backward compatibility."),PayloadDownstreamPaths:z.string().describe("\n * * Field Name: PayloadDownstreamPaths\n * * Display Name: Downstream Paths\n * * SQL Data Type: nvarchar(MAX)\n * * Default Value: [\"*\"]\n * * Description: JSON array of paths that define which parts of the payload should be sent downstream to sub-agents. Use [\"*\"] to send entire payload, or specify paths like [\"customer.id\", \"campaign.*\", \"analysis.sentiment\"]"),PayloadUpstreamPaths:z.string().describe("\n * * Field Name: PayloadUpstreamPaths\n * * Display Name: Upstream Paths\n * * SQL Data Type: nvarchar(MAX)\n * * Default Value: [\"*\"]\n * * Description: JSON array of paths that define which parts of the payload sub-agents are allowed to write back upstream. Use [\"*\"] to allow all writes, or specify paths like [\"analysis.results\", \"recommendations.*\"]"),PayloadSelfReadPaths:z.string().nullable().describe("\n * * Field Name: PayloadSelfReadPaths\n * * Display Name: Self Read Paths\n * * SQL Data Type: nvarchar(MAX)\n * * Description: JSON array of paths that specify what parts of the payload the agent's own prompt can read. Controls downstream data \nflow when the agent executes its own prompt step."),PayloadSelfWritePaths:z.string().nullable().describe("\n * * Field Name: PayloadSelfWritePaths\n * * Display Name: Self Write Paths\n * * SQL Data Type: nvarchar(MAX)\n * * Description: JSON array of paths that specify what parts of the payload the agent's own prompt can write back. Controls upstream \ndata flow when the agent executes its own prompt step."),PayloadScope:z.string().nullable().describe("\n * * Field Name: PayloadScope\n * * Display Name: Payload Scope\n * * SQL Data Type: nvarchar(MAX)\n * * Description: Defines the scope/path within the parent payload that this sub-agent operates on. When set, the sub-agent receives only this portion of the payload and all change requests are relative to this scope. Format: /path/to/scope (e.g. /PropA/SubProp1)"),FinalPayloadValidation:z.string().nullable().describe("\n * * Field Name: FinalPayloadValidation\n * * Display Name: Final Payload Validation\n * * SQL Data Type: nvarchar(MAX)\n * * Description: Optional JSON schema or requirements that define the expected structure and content of the agent's final payload. Used to validate the output when the agent declares success. Similar to OutputExample in AI Prompts."),FinalPayloadValidationMode:z.union([z.literal('Fail'),z.literal('Retry'),z.literal('Warn')]).describe("\n * * Field Name: FinalPayloadValidationMode\n * * Display Name: Final Validation Mode\n * * SQL Data Type: nvarchar(25)\n * * Default Value: Retry\n * * Value List Type: List\n * * Possible Values \n * * Fail\n * * Retry\n * * Warn\n * * Description: Determines how to handle validation failures when FinalPayloadValidation is specified. Options: Retry (default) - retry the agent with validation feedback, Fail - fail the agent run immediately, Warn - log a warning but allow success."),FinalPayloadValidationMaxRetries:z.number().describe("\n * * Field Name: FinalPayloadValidationMaxRetries\n * * Display Name: Max Validation Retries\n * * SQL Data Type: int\n * * Default Value: 3\n * * Description: Maximum number of retry attempts allowed when FinalPayloadValidation fails with\nRetry mode. After reaching this limit, the validation will fail permanently."),MaxCostPerRun:z.number().nullable().describe("\n * * Field Name: MaxCostPerRun\n * * Display Name: Max Cost Per Run\n * * SQL Data Type: decimal(10, 4)\n * * Description: Maximum cost in dollars allowed for a single agent run. Run will be terminated\nif this limit is exceeded."),MaxTokensPerRun:z.number().nullable().describe("\n * * Field Name: MaxTokensPerRun\n * * Display Name: Max Tokens Per Run\n * * SQL Data Type: int\n * * Description: Maximum total tokens (input + output) allowed for a single agent run. Run will\nbe terminated if this limit is exceeded."),MaxIterationsPerRun:z.number().nullable().describe("\n * * Field Name: MaxIterationsPerRun\n * * Display Name: Max Iterations Per Run\n * * SQL Data Type: int\n * * Description: Maximum number of prompt iterations allowed for a single agent run. Run will be\nterminated if this limit is exceeded."),MaxTimePerRun:z.number().nullable().describe("\n * * Field Name: MaxTimePerRun\n * * Display Name: Max Time Per Run\n * * SQL Data Type: int\n * * Description: Maximum time in seconds allowed for a single agent run. Run will be terminated\nif this limit is exceeded."),MinExecutionsPerRun:z.number().nullable().describe("\n * * Field Name: MinExecutionsPerRun\n * * Display Name: Min Executions Per Run\n * * SQL Data Type: int\n * * Description: When acting as a sub-agent, minimum number of times this agent must be executed per parent agent run"),MaxExecutionsPerRun:z.number().nullable().describe("\n * * Field Name: MaxExecutionsPerRun\n * * Display Name: Max Executions Per Run\n * * SQL Data Type: int\n * * Description: When acting as a sub-agent, maximum number of times this agent can be executed per parent agent run"),StartingPayloadValidation:z.string().nullable().describe("\n * * Field Name: StartingPayloadValidation\n * * Display Name: Starting Payload Validation\n * * SQL Data Type: nvarchar(MAX)\n * * Description: Optional JSON schema validation to apply to the input payload before agent execution begins. Uses the same JSONValidator format as FinalPayloadValidation."),StartingPayloadValidationMode:z.union([z.literal('Fail'),z.literal('Warn')]).describe("\n * * Field Name: StartingPayloadValidationMode\n * * Display Name: Starting Validation Mode\n * * SQL Data Type: nvarchar(25)\n * * Default Value: Fail\n * * Value List Type: List\n * * Possible Values \n * * Fail\n * * Warn\n * * Description: Determines how to handle StartingPayloadValidation failures. Fail = reject invalid input, Warn = log warning but proceed."),DefaultPromptEffortLevel:z.number().nullable().describe("\n * * Field Name: DefaultPromptEffortLevel\n * * Display Name: Default Effort Level\n * * SQL Data Type: int\n * * Description: Default effort level for all prompts executed by this agent (1-100, where 1=minimal effort, 100=maximum effort). Takes precedence over individual prompt EffortLevel settings but can be overridden by runtime parameters. Inherited by sub-agents unless explicitly overridden."),ChatHandlingOption:z.union([z.literal('Failed'),z.literal('Retry'),z.literal('Success')]).nullable().describe("\n * * Field Name: ChatHandlingOption\n * * Display Name: Chat Handling Option\n * * SQL Data Type: nvarchar(30)\n * * Value List Type: List\n * * Possible Values \n * * Failed\n * * Retry\n * * Success\n * * Description: Controls how Chat next steps are handled. When null (default), Chat propagates to caller. When set to Success, Failed, or Retry, Chat steps are remapped to that value and re-validated."),DefaultArtifactTypeID:z.string().nullable().describe("\n * * Field Name: DefaultArtifactTypeID\n * * Display Name: Default Artifact Type\n * * SQL Data Type: uniqueidentifier\n * * Related Entity/Foreign Key: MJ: Artifact Types (vwArtifactTypes.ID)\n * * 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."),OwnerUserID:z.string().describe("\n * * Field Name: OwnerUserID\n * * Display Name: Owner\n * * SQL Data Type: uniqueidentifier\n * * Related Entity/Foreign Key: MJ: Users (vwUsers.ID)\n * * Default Value: ECAFCCEC-6A37-EF11-86D4-000D3A4E707E\n * * Description: The user who owns and created this AI agent. Automatically set to the current user if not specified. Owner has full permissions (view, run, edit, delete) regardless of ACL entries."),InvocationMode:z.union([z.literal('Any'),z.literal('Sub-Agent'),z.literal('Top-Level')]).describe("\n * * Field Name: InvocationMode\n * * Display Name: Invocation Mode\n * * SQL Data Type: nvarchar(20)\n * * Default Value: Any\n * * Value List Type: List\n * * Possible Values \n * * Any\n * * Sub-Agent\n * * Top-Level\n * * Description: Controls how the agent can be invoked: Any (default - can be top-level or sub-agent), Top-Level (only callable as primary agent), Sub-Agent (only callable as sub-agent). Used to filter available agents in tools like Sage."),ArtifactCreationMode:z.union([z.literal('Always'),z.literal('Never'),z.literal('System Only')]).describe("\n * * Field Name: ArtifactCreationMode\n * * Display Name: Artifact Creation Mode\n * * SQL Data Type: nvarchar(20)\n * * Default Value: Always\n * * Value List Type: List\n * * Possible Values \n * * Always\n * * Never\n * * System Only\n * * Description: Controls how artifacts are created from this agent's payloads. \"Always\" creates visible artifacts, \"Never\" skips artifact creation, \"System Only\" creates hidden system artifacts."),FunctionalRequirements:z.string().nullable().describe("\n * * Field Name: FunctionalRequirements\n * * Display Name: Functional Requirements\n * * SQL Data Type: nvarchar(MAX)\n * * Description: Detailed markdown formatted requirements that explain the business goals of the agent without specific technical implementation details."),TechnicalDesign:z.string().nullable().describe("\n * * Field Name: TechnicalDesign\n * * Display Name: Technical Design\n * * SQL Data Type: nvarchar(MAX)\n * * Description: Detailed markdown that explains the structure of the agent including agent architecture, actions, sub-agents, prompts, and payload structure."),InjectNotes:z.boolean().describe("\n * * Field Name: InjectNotes\n * * Display Name: Inject Notes\n * * SQL Data Type: bit\n * * Default Value: 1\n * * Description: When enabled, agent notes will be automatically injected into the agent context based on scoping rules."),MaxNotesToInject:z.number().describe("\n * * Field Name: MaxNotesToInject\n * * Display Name: Max Notes to Inject\n * * SQL Data Type: int\n * * Default Value: 5\n * * Description: Maximum number of notes to inject into agent context per request."),NoteInjectionStrategy:z.union([z.literal('All'),z.literal('Recent'),z.literal('Relevant')]).describe("\n * * Field Name: NoteInjectionStrategy\n * * Display Name: Note Injection Strategy\n * * SQL Data Type: nvarchar(20)\n * * Default Value: Relevant\n * * Value List Type: List\n * * Possible Values \n * * All\n * * Recent\n * * Relevant\n * * Description: Strategy for selecting which notes to inject: Relevant (semantic search), Recent (most recent first), or All (up to max limit)."),InjectExamples:z.boolean().describe("\n * * Field Name: InjectExamples\n * * Display Name: Inject Examples\n * * SQL Data Type: bit\n * * Default Value: 0\n * * Description: When enabled, agent examples will be automatically injected into the agent context based on scoping rules."),MaxExamplesToInject:z.number().describe("\n * * Field Name: MaxExamplesToInject\n * * Display Name: Max Examples to Inject\n * * SQL Data Type: int\n * * Default Value: 3\n * * Description: Maximum number of examples to inject into agent context per request."),ExampleInjectionStrategy:z.union([z.literal('Rated'),z.literal('Recent'),z.literal('Semantic')]).describe("\n * * Field Name: ExampleInjectionStrategy\n * * Display Name: Example Injection Strategy\n * * SQL Data Type: nvarchar(20)\n * * Default Value: Semantic\n * * Value List Type: List\n * * Possible Values \n * * Rated\n * * Recent\n * * Semantic\n * * Description: Strategy for selecting which examples to inject: Semantic (vector similarity), Recent (most recent first), or Rated (highest success score first)."),IsRestricted:z.boolean().describe("\n * * Field Name: IsRestricted\n * * Display Name: Is Restricted\n * * SQL Data Type: bit\n * * Default Value: 0\n * * Description: When true, agent is restricted to system/scheduled use only and hidden from user selection, Agent Manager, and MCP/A2A discovery."),MessageMode:z.union([z.literal('All'),z.literal('Bookend'),z.literal('Latest'),z.literal('None')]).describe("\n * * Field Name: MessageMode\n * * Display Name: Message Mode\n * * SQL Data Type: nvarchar(50)\n * * Default Value: None\n * * Value List Type: List\n * * Possible Values \n * * All\n * * Bookend\n * * Latest\n * * None\n * * Description: Specifies how conversation messages are passed from parent agent to this child sub-agent (when this agent is a child via ParentID). Valid values: 'None' (fresh start - only context and task message, default), 'All' (all parent conversation history), 'Latest' (most recent MaxMessages messages), 'Bookend' (first 2 messages + most recent MaxMessages-2 messages with indicator between). Stored on child agent because each child has only one parent relationship."),MaxMessages:z.number().nullable().describe("\n * * Field Name: MaxMessages\n * * Display Name: Max Messages\n * * SQL Data Type: int\n * * 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."),AttachmentStorageProviderID:z.string().nullable().describe("\n * * Field Name: AttachmentStorageProviderID\n * * Display Name: Storage Provider\n * * SQL Data Type: uniqueidentifier\n * * Related Entity/Foreign Key: MJ: File Storage Providers (vwFileStorageProviders.ID)\n * * Description: File storage provider for large attachments. Overrides the default from AIConfiguration. NULL uses system default."),AttachmentRootPath:z.string().nullable().describe("\n * * Field Name: AttachmentRootPath\n * * Display Name: Root Path\n * * SQL Data Type: nvarchar(500)\n * * 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"),InlineStorageThresholdBytes:z.number().nullable().describe("\n * * Field Name: InlineStorageThresholdBytes\n * * Display Name: Inline Storage Threshold\n * * SQL Data Type: int\n * * 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."),AgentTypePromptParams:z.string().nullable().describe("\n * * Field Name: AgentTypePromptParams\n * * Display Name: Prompt Parameters\n * * SQL Data Type: nvarchar(MAX)\n * * 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."),ScopeConfig:z.string().nullable().describe("\n * * Field Name: ScopeConfig\n * * Display Name: Scope Configuration\n * * SQL Data Type: nvarchar(MAX)\n * * 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\"}"),NoteRetentionDays:z.number().nullable().describe("\n * * Field Name: NoteRetentionDays\n * * Display Name: Note Retention Days\n * * SQL Data Type: int\n * * Default Value: 90\n * * Description: Number of days to retain notes before archiving due to inactivity. Default 90. NULL means use system default."),ExampleRetentionDays:z.number().nullable().describe("\n * * Field Name: ExampleRetentionDays\n * * Display Name: Example Retention Days\n * * SQL Data Type: int\n * * Default Value: 180\n * * Description: Number of days to retain examples before archiving due to inactivity. Default 180. NULL means use system default."),AutoArchiveEnabled:z.boolean().describe("\n * * Field Name: AutoArchiveEnabled\n * * Display Name: Auto Archive Enabled\n * * SQL Data Type: bit\n * * Default Value: 1\n * * Description: Whether automatic archival of stale notes/examples is enabled for this agent. Default true."),RerankerConfiguration:z.string().nullable().describe("\n * * Field Name: RerankerConfiguration\n * * Display Name: Reranker Configuration\n * * SQL Data Type: nvarchar(MAX)\n * * 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."),CategoryID:z.string().nullable().describe("\n * * Field Name: CategoryID\n * * Display Name: Category\n * * SQL Data Type: uniqueidentifier\n * * Related Entity/Foreign Key: MJ: AI Agent Categories (vwAIAgentCategories.ID)\n * * Description: Foreign key to AIAgentCategory. Assigns this agent to an organizational category for grouping, filtering, and inherited assignment strategy resolution."),AllowEphemeralClientTools:z.boolean().describe("\n * * Field Name: AllowEphemeralClientTools\n * * Display Name: Allow Ephemeral Tools\n * * SQL Data Type: bit\n * * Default Value: 1\n * * Description: When true (default), this agent accepts runtime-registered ephemeral client tools that are not defined in metadata. Set to false for agents that require strict tool governance."),DefaultStorageAccountID:z.string().nullable().describe("\n * * Field Name: DefaultStorageAccountID\n * * Display Name: Default Storage Account\n * * SQL Data Type: uniqueidentifier\n * * Related Entity/Foreign Key: MJ: File Storage Accounts (vwFileStorageAccounts.ID)\n * * Description: Default file storage account for this specific agent. Overrides both Type-level and Category-level defaults. Can be further overridden at runtime via ExecuteAgentParams.override.storageAccountId. FK to FileStorageAccount."),SearchScopeAccess:z.union([z.literal('All'),z.literal('Assigned'),z.literal('None')]).describe("\n * * Field Name: SearchScopeAccess\n * * Display Name: Search Scope Access\n * * SQL Data Type: nvarchar(20)\n * * Default Value: None\n * * Value List Type: List\n * * Possible Values \n * * All\n * * Assigned\n * * None\n * * Description: Controls the agent's search capability. All = may use any scope including Global; search action does not restrict. Assigned = may use ONLY scopes explicitly linked via AIAgentSearchScope; scoped search action enforces this. None = agent has no search capability; the scoped search action rejects all requests."),Parent:z.string().nullable().describe("\n * * Field Name: Parent\n * * Display Name: Parent Name\n * * SQL Data Type: nvarchar(255)"),ContextCompressionPrompt:z.string().nullable().describe("\n * * Field Name: ContextCompressionPrompt\n * * Display Name: Compression Prompt Name\n * * SQL Data Type: nvarchar(255)"),Type:z.string().nullable().describe("\n * * Field Name: Type\n * * Display Name: Type Name\n * * SQL Data Type: nvarchar(100)"),DefaultArtifactType:z.string().nullable().describe("\n * * Field Name: DefaultArtifactType\n * * Display Name: Default Artifact Type Name\n * * SQL Data Type: nvarchar(100)"),OwnerUser:z.string().describe("\n * * Field Name: OwnerUser\n * * Display Name: Owner Name\n * * SQL Data Type: nvarchar(100)"),AttachmentStorageProvider:z.string().nullable().describe("\n * * Field Name: AttachmentStorageProvider\n * * Display Name: Storage Provider Name\n * * SQL Data Type: nvarchar(50)"),Category:z.string().nullable().describe("\n * * Field Name: Category\n * * Display Name: Category Name\n * * SQL Data Type: nvarchar(200)"),DefaultStorageAccount:z.string().nullable().describe("\n * * Field Name: DefaultStorageAccount\n * * Display Name: Default Storage Account Name\n * * SQL Data Type: nvarchar(200)"),RootParentID:z.string().nullable().describe("\n * * Field Name: RootParentID\n * * Display Name: Root Parent\n * * SQL Data Type: uniqueidentifier")});/**
58874
+ */var MJAIAgentSchema=z.object({ID:z.string().describe("\n * * Field Name: ID\n * * Display Name: ID\n * * SQL Data Type: uniqueidentifier\n * * Default Value: newsequentialid()\n * * Description: The unique identifier for each AI agent. Serves as the primary key."),Name:z.string().nullable().describe("\n * * Field Name: Name\n * * Display Name: Name\n * * SQL Data Type: nvarchar(255)\n * * Description: The name of the AI agent."),Description:z.string().nullable().describe("\n * * Field Name: Description\n * * Display Name: Description\n * * SQL Data Type: nvarchar(MAX)\n * * Description: A detailed description of the AI agent."),LogoURL:z.string().nullable().describe("\n * * Field Name: LogoURL\n * * Display Name: Logo URL\n * * SQL Data Type: nvarchar(255)\n * * Description: URL to an image file or base64 data URI (e.g., data:image/png;base64,...) for the agent logo. Takes precedence over IconClass in UI display."),__mj_CreatedAt:z.date().describe("\n * * Field Name: __mj_CreatedAt\n * * Display Name: Created At\n * * SQL Data Type: datetimeoffset\n * * Default Value: getutcdate()"),__mj_UpdatedAt:z.date().describe("\n * * Field Name: __mj_UpdatedAt\n * * Display Name: Updated At\n * * SQL Data Type: datetimeoffset\n * * Default Value: getutcdate()"),ParentID:z.string().nullable().describe("\n * * Field Name: ParentID\n * * Display Name: Parent Agent\n * * SQL Data Type: uniqueidentifier\n * * Related Entity/Foreign Key: MJ: AI Agents (vwAIAgents.ID)\n * * Description: References the parent agent in the hierarchical structure. If NULL, this is a root (top-level) agent."),ExposeAsAction:z.boolean().describe("\n * * Field Name: ExposeAsAction\n * * Display Name: Expose As Action\n * * SQL Data Type: bit\n * * Default Value: 0\n * * Description: When true, this agent can be exposed as an action for use by other agents. Only valid for root agents."),ExecutionOrder:z.number().describe("\n * * Field Name: ExecutionOrder\n * * Display Name: Execution Order\n * * SQL Data Type: int\n * * Default Value: 0\n * * Description: The order in which this agent should be executed among its siblings under the same parent."),ExecutionMode:z.union([z.literal('Parallel'),z.literal('Sequential')]).describe("\n * * Field Name: ExecutionMode\n * * Display Name: Execution Mode\n * * SQL Data Type: nvarchar(20)\n * * Default Value: Sequential\n * * Value List Type: List\n * * Possible Values \n * * Parallel\n * * Sequential\n * * Description: Controls how this agent's child agents are executed. Sequential runs children in order, Parallel runs them simultaneously."),EnableContextCompression:z.boolean().describe("\n * * Field Name: EnableContextCompression\n * * Display Name: Enable Context Compression\n * * SQL Data Type: bit\n * * Default Value: 0\n * * Description: When true, enables automatic compression of conversation context when the message threshold is reached."),ContextCompressionMessageThreshold:z.number().nullable().describe("\n * * Field Name: ContextCompressionMessageThreshold\n * * Display Name: Compression Message Threshold\n * * SQL Data Type: int\n * * Description: Number of messages that triggers context compression when EnableContextCompression is true."),ContextCompressionPromptID:z.string().nullable().describe("\n * * Field Name: ContextCompressionPromptID\n * * Display Name: Compression Prompt\n * * SQL Data Type: uniqueidentifier\n * * Related Entity/Foreign Key: MJ: AI Prompts (vwAIPrompts.ID)"),ContextCompressionMessageRetentionCount:z.number().nullable().describe("\n * * Field Name: ContextCompressionMessageRetentionCount\n * * Display Name: Compression Retention Count\n * * SQL Data Type: int\n * * Description: Number of recent messages to keep uncompressed when context compression is applied."),TypeID:z.string().nullable().describe("\n * * Field Name: TypeID\n * * Display Name: Agent Type\n * * SQL Data Type: uniqueidentifier\n * * Related Entity/Foreign Key: MJ: AI Agent Types (vwAIAgentTypes.ID)\n * * Description: Reference to the AIAgentType that defines the category and system-level behavior for this agent. Cannot be null."),Status:z.union([z.literal('Active'),z.literal('Disabled'),z.literal('Pending')]).describe("\n * * Field Name: Status\n * * Display Name: Status\n * * SQL Data Type: nvarchar(20)\n * * Default Value: Pending\n * * Value List Type: List\n * * Possible Values \n * * Active\n * * Disabled\n * * Pending\n * * Description: Current status of the AI agent. Active agents can be executed, Disabled agents are inactive, and Pending agents are awaiting configuration or approval. Allowed values: Active, Disabled, Pending."),DriverClass:z.string().nullable().describe("\n * * Field Name: DriverClass\n * * Display Name: Driver Class\n * * SQL Data Type: nvarchar(255)\n * * Description: Optional override for the class name used by the MemberJunction class factory to instantiate this specific agent. If specified, this overrides the agent type's DriverClass. Useful for specialized agent implementations."),IconClass:z.string().nullable().describe("\n * * Field Name: IconClass\n * * Display Name: Icon Class\n * * SQL Data Type: nvarchar(100)\n * * Description: Font Awesome icon class (e.g., fa-robot, fa-brain) for the agent. Used as fallback when LogoURL is not set or fails to load."),ModelSelectionMode:z.union([z.literal('Agent'),z.literal('Agent Type')]).describe("\n * * Field Name: ModelSelectionMode\n * * Display Name: Model Selection Mode\n * * SQL Data Type: nvarchar(50)\n * * Default Value: Agent Type\n * * Value List Type: List\n * * Possible Values \n * * Agent\n * * Agent Type\n * * Description: Controls whether model selection is driven by the Agent Type's system prompt or the Agent's specific prompt. Default is Agent Type for backward compatibility."),PayloadDownstreamPaths:z.string().describe("\n * * Field Name: PayloadDownstreamPaths\n * * Display Name: Payload Downstream Paths\n * * SQL Data Type: nvarchar(MAX)\n * * Default Value: [\"*\"]\n * * Description: JSON array of paths that define which parts of the payload should be sent downstream to sub-agents. Use [\"*\"] to send entire payload, or specify paths like [\"customer.id\", \"campaign.*\", \"analysis.sentiment\"]"),PayloadUpstreamPaths:z.string().describe("\n * * Field Name: PayloadUpstreamPaths\n * * Display Name: Payload Upstream Paths\n * * SQL Data Type: nvarchar(MAX)\n * * Default Value: [\"*\"]\n * * Description: JSON array of paths that define which parts of the payload sub-agents are allowed to write back upstream. Use [\"*\"] to allow all writes, or specify paths like [\"analysis.results\", \"recommendations.*\"]"),PayloadSelfReadPaths:z.string().nullable().describe("\n * * Field Name: PayloadSelfReadPaths\n * * Display Name: Payload Self Read Paths\n * * SQL Data Type: nvarchar(MAX)\n * * Description: JSON array of paths that specify what parts of the payload the agent's own prompt can read. Controls downstream data \nflow when the agent executes its own prompt step."),PayloadSelfWritePaths:z.string().nullable().describe("\n * * Field Name: PayloadSelfWritePaths\n * * Display Name: Payload Self Write Paths\n * * SQL Data Type: nvarchar(MAX)\n * * Description: JSON array of paths that specify what parts of the payload the agent's own prompt can write back. Controls upstream \ndata flow when the agent executes its own prompt step."),PayloadScope:z.string().nullable().describe("\n * * Field Name: PayloadScope\n * * Display Name: Payload Scope\n * * SQL Data Type: nvarchar(MAX)\n * * Description: Defines the scope/path within the parent payload that this sub-agent operates on. When set, the sub-agent receives only this portion of the payload and all change requests are relative to this scope. Format: /path/to/scope (e.g. /PropA/SubProp1)"),FinalPayloadValidation:z.string().nullable().describe("\n * * Field Name: FinalPayloadValidation\n * * Display Name: Final Payload Validation\n * * SQL Data Type: nvarchar(MAX)\n * * Description: Optional JSON schema or requirements that define the expected structure and content of the agent's final payload. Used to validate the output when the agent declares success. Similar to OutputExample in AI Prompts."),FinalPayloadValidationMode:z.union([z.literal('Fail'),z.literal('Retry'),z.literal('Warn')]).describe("\n * * Field Name: FinalPayloadValidationMode\n * * Display Name: Final Payload Validation Mode\n * * SQL Data Type: nvarchar(25)\n * * Default Value: Retry\n * * Value List Type: List\n * * Possible Values \n * * Fail\n * * Retry\n * * Warn\n * * Description: Determines how to handle validation failures when FinalPayloadValidation is specified. Options: Retry (default) - retry the agent with validation feedback, Fail - fail the agent run immediately, Warn - log a warning but allow success."),FinalPayloadValidationMaxRetries:z.number().describe("\n * * Field Name: FinalPayloadValidationMaxRetries\n * * Display Name: Final Payload Validation Max Retries\n * * SQL Data Type: int\n * * Default Value: 3\n * * Description: Maximum number of retry attempts allowed when FinalPayloadValidation fails with\nRetry mode. After reaching this limit, the validation will fail permanently."),MaxCostPerRun:z.number().nullable().describe("\n * * Field Name: MaxCostPerRun\n * * Display Name: Max Cost Per Run\n * * SQL Data Type: decimal(10, 4)\n * * Description: Maximum cost in dollars allowed for a single agent run. Run will be terminated\nif this limit is exceeded."),MaxTokensPerRun:z.number().nullable().describe("\n * * Field Name: MaxTokensPerRun\n * * Display Name: Max Tokens Per Run\n * * SQL Data Type: int\n * * Description: Maximum total tokens (input + output) allowed for a single agent run. Run will\nbe terminated if this limit is exceeded."),MaxIterationsPerRun:z.number().nullable().describe("\n * * Field Name: MaxIterationsPerRun\n * * Display Name: Max Iterations Per Run\n * * SQL Data Type: int\n * * Description: Maximum number of prompt iterations allowed for a single agent run. Run will be\nterminated if this limit is exceeded."),MaxTimePerRun:z.number().nullable().describe("\n * * Field Name: MaxTimePerRun\n * * Display Name: Max Time Per Run\n * * SQL Data Type: int\n * * Description: Maximum time in seconds allowed for a single agent run. Run will be terminated\nif this limit is exceeded."),MinExecutionsPerRun:z.number().nullable().describe("\n * * Field Name: MinExecutionsPerRun\n * * Display Name: Min Executions Per Run\n * * SQL Data Type: int\n * * Description: When acting as a sub-agent, minimum number of times this agent must be executed per parent agent run"),MaxExecutionsPerRun:z.number().nullable().describe("\n * * Field Name: MaxExecutionsPerRun\n * * Display Name: Max Executions Per Run\n * * SQL Data Type: int\n * * Description: When acting as a sub-agent, maximum number of times this agent can be executed per parent agent run"),StartingPayloadValidation:z.string().nullable().describe("\n * * Field Name: StartingPayloadValidation\n * * Display Name: Starting Payload Validation\n * * SQL Data Type: nvarchar(MAX)\n * * Description: Optional JSON schema validation to apply to the input payload before agent execution begins. Uses the same JSONValidator format as FinalPayloadValidation."),StartingPayloadValidationMode:z.union([z.literal('Fail'),z.literal('Warn')]).describe("\n * * Field Name: StartingPayloadValidationMode\n * * Display Name: Starting Payload Validation Mode\n * * SQL Data Type: nvarchar(25)\n * * Default Value: Fail\n * * Value List Type: List\n * * Possible Values \n * * Fail\n * * Warn\n * * Description: Determines how to handle StartingPayloadValidation failures. Fail = reject invalid input, Warn = log warning but proceed."),DefaultPromptEffortLevel:z.number().nullable().describe("\n * * Field Name: DefaultPromptEffortLevel\n * * Display Name: Default Prompt Effort Level\n * * SQL Data Type: int\n * * Description: Default effort level for all prompts executed by this agent (1-100, where 1=minimal effort, 100=maximum effort). Takes precedence over individual prompt EffortLevel settings but can be overridden by runtime parameters. Inherited by sub-agents unless explicitly overridden."),ChatHandlingOption:z.union([z.literal('Failed'),z.literal('Retry'),z.literal('Success')]).nullable().describe("\n * * Field Name: ChatHandlingOption\n * * Display Name: Chat Handling Option\n * * SQL Data Type: nvarchar(30)\n * * Value List Type: List\n * * Possible Values \n * * Failed\n * * Retry\n * * Success\n * * Description: Controls how Chat next steps are handled. When null (default), Chat propagates to caller. When set to Success, Failed, or Retry, Chat steps are remapped to that value and re-validated."),DefaultArtifactTypeID:z.string().nullable().describe("\n * * Field Name: DefaultArtifactTypeID\n * * Display Name: Default Artifact Type\n * * SQL Data Type: uniqueidentifier\n * * Related Entity/Foreign Key: MJ: Artifact Types (vwArtifactTypes.ID)\n * * 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."),OwnerUserID:z.string().describe("\n * * Field Name: OwnerUserID\n * * Display Name: Owner\n * * SQL Data Type: uniqueidentifier\n * * Related Entity/Foreign Key: MJ: Users (vwUsers.ID)\n * * Default Value: ECAFCCEC-6A37-EF11-86D4-000D3A4E707E\n * * Description: The user who owns and created this AI agent. Automatically set to the current user if not specified. Owner has full permissions (view, run, edit, delete) regardless of ACL entries."),InvocationMode:z.union([z.literal('Any'),z.literal('Sub-Agent'),z.literal('Top-Level')]).describe("\n * * Field Name: InvocationMode\n * * Display Name: Invocation Mode\n * * SQL Data Type: nvarchar(20)\n * * Default Value: Any\n * * Value List Type: List\n * * Possible Values \n * * Any\n * * Sub-Agent\n * * Top-Level\n * * Description: Controls how the agent can be invoked: Any (default - can be top-level or sub-agent), Top-Level (only callable as primary agent), Sub-Agent (only callable as sub-agent). Used to filter available agents in tools like Sage."),ArtifactCreationMode:z.union([z.literal('Always'),z.literal('Never'),z.literal('System Only')]).describe("\n * * Field Name: ArtifactCreationMode\n * * Display Name: Artifact Creation Mode\n * * SQL Data Type: nvarchar(20)\n * * Default Value: Always\n * * Value List Type: List\n * * Possible Values \n * * Always\n * * Never\n * * System Only\n * * Description: Controls how artifacts are created from this agent's payloads. \"Always\" creates visible artifacts, \"Never\" skips artifact creation, \"System Only\" creates hidden system artifacts."),FunctionalRequirements:z.string().nullable().describe("\n * * Field Name: FunctionalRequirements\n * * Display Name: Functional Requirements\n * * SQL Data Type: nvarchar(MAX)\n * * Description: Detailed markdown formatted requirements that explain the business goals of the agent without specific technical implementation details."),TechnicalDesign:z.string().nullable().describe("\n * * Field Name: TechnicalDesign\n * * Display Name: Technical Design\n * * SQL Data Type: nvarchar(MAX)\n * * Description: Detailed markdown that explains the structure of the agent including agent architecture, actions, sub-agents, prompts, and payload structure."),InjectNotes:z.boolean().describe("\n * * Field Name: InjectNotes\n * * Display Name: Inject Notes\n * * SQL Data Type: bit\n * * Default Value: 1\n * * Description: When enabled, agent notes will be automatically injected into the agent context based on scoping rules."),MaxNotesToInject:z.number().describe("\n * * Field Name: MaxNotesToInject\n * * Display Name: Max Notes To Inject\n * * SQL Data Type: int\n * * Default Value: 5\n * * Description: Maximum number of notes to inject into agent context per request."),NoteInjectionStrategy:z.union([z.literal('All'),z.literal('Recent'),z.literal('Relevant')]).describe("\n * * Field Name: NoteInjectionStrategy\n * * Display Name: Note Injection Strategy\n * * SQL Data Type: nvarchar(20)\n * * Default Value: Relevant\n * * Value List Type: List\n * * Possible Values \n * * All\n * * Recent\n * * Relevant\n * * Description: Strategy for selecting which notes to inject: Relevant (semantic search), Recent (most recent first), or All (up to max limit)."),InjectExamples:z.boolean().describe("\n * * Field Name: InjectExamples\n * * Display Name: Inject Examples\n * * SQL Data Type: bit\n * * Default Value: 0\n * * Description: When enabled, agent examples will be automatically injected into the agent context based on scoping rules."),MaxExamplesToInject:z.number().describe("\n * * Field Name: MaxExamplesToInject\n * * Display Name: Max Examples To Inject\n * * SQL Data Type: int\n * * Default Value: 3\n * * Description: Maximum number of examples to inject into agent context per request."),ExampleInjectionStrategy:z.union([z.literal('Rated'),z.literal('Recent'),z.literal('Semantic')]).describe("\n * * Field Name: ExampleInjectionStrategy\n * * Display Name: Example Injection Strategy\n * * SQL Data Type: nvarchar(20)\n * * Default Value: Semantic\n * * Value List Type: List\n * * Possible Values \n * * Rated\n * * Recent\n * * Semantic\n * * Description: Strategy for selecting which examples to inject: Semantic (vector similarity), Recent (most recent first), or Rated (highest success score first)."),IsRestricted:z.boolean().describe("\n * * Field Name: IsRestricted\n * * Display Name: Is Restricted\n * * SQL Data Type: bit\n * * Default Value: 0\n * * Description: When true, agent is restricted to system/scheduled use only and hidden from user selection, Agent Manager, and MCP/A2A discovery."),MessageMode:z.union([z.literal('All'),z.literal('Bookend'),z.literal('Latest'),z.literal('None')]).describe("\n * * Field Name: MessageMode\n * * Display Name: Message Mode\n * * SQL Data Type: nvarchar(50)\n * * Default Value: None\n * * Value List Type: List\n * * Possible Values \n * * All\n * * Bookend\n * * Latest\n * * None\n * * Description: Specifies how conversation messages are passed from parent agent to this child sub-agent (when this agent is a child via ParentID). Valid values: 'None' (fresh start - only context and task message, default), 'All' (all parent conversation history), 'Latest' (most recent MaxMessages messages), 'Bookend' (first 2 messages + most recent MaxMessages-2 messages with indicator between). Stored on child agent because each child has only one parent relationship."),MaxMessages:z.number().nullable().describe("\n * * Field Name: MaxMessages\n * * Display Name: Max Messages\n * * SQL Data Type: int\n * * 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."),AttachmentStorageProviderID:z.string().nullable().describe("\n * * Field Name: AttachmentStorageProviderID\n * * Display Name: Attachment Storage Provider\n * * SQL Data Type: uniqueidentifier\n * * Related Entity/Foreign Key: MJ: File Storage Providers (vwFileStorageProviders.ID)\n * * Description: File storage provider for large attachments. Overrides the default from AIConfiguration. NULL uses system default."),AttachmentRootPath:z.string().nullable().describe("\n * * Field Name: AttachmentRootPath\n * * Display Name: Attachment Root Path\n * * SQL Data Type: nvarchar(500)\n * * 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"),InlineStorageThresholdBytes:z.number().nullable().describe("\n * * Field Name: InlineStorageThresholdBytes\n * * Display Name: Inline Storage Threshold Bytes\n * * SQL Data Type: int\n * * 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."),AgentTypePromptParams:z.string().nullable().describe("\n * * Field Name: AgentTypePromptParams\n * * Display Name: Agent Type Prompt Params\n * * SQL Data Type: nvarchar(MAX)\n * * 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."),ScopeConfig:z.string().nullable().describe("\n * * Field Name: ScopeConfig\n * * Display Name: Scope Configuration\n * * SQL Data Type: nvarchar(MAX)\n * * 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\"}"),NoteRetentionDays:z.number().nullable().describe("\n * * Field Name: NoteRetentionDays\n * * Display Name: Note Retention Days\n * * SQL Data Type: int\n * * Default Value: 90\n * * Description: Number of days to retain notes before archiving due to inactivity. Default 90. NULL means use system default."),ExampleRetentionDays:z.number().nullable().describe("\n * * Field Name: ExampleRetentionDays\n * * Display Name: Example Retention Days\n * * SQL Data Type: int\n * * Default Value: 180\n * * Description: Number of days to retain examples before archiving due to inactivity. Default 180. NULL means use system default."),AutoArchiveEnabled:z.boolean().describe("\n * * Field Name: AutoArchiveEnabled\n * * Display Name: Auto Archive Enabled\n * * SQL Data Type: bit\n * * Default Value: 1\n * * Description: Whether automatic archival of stale notes/examples is enabled for this agent. Default true."),RerankerConfiguration:z.string().nullable().describe("\n * * Field Name: RerankerConfiguration\n * * Display Name: Reranker Configuration\n * * SQL Data Type: nvarchar(MAX)\n * * 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."),CategoryID:z.string().nullable().describe("\n * * Field Name: CategoryID\n * * Display Name: Category\n * * SQL Data Type: uniqueidentifier\n * * Related Entity/Foreign Key: MJ: AI Agent Categories (vwAIAgentCategories.ID)\n * * Description: Foreign key to AIAgentCategory. Assigns this agent to an organizational category for grouping, filtering, and inherited assignment strategy resolution."),AllowEphemeralClientTools:z.boolean().describe("\n * * Field Name: AllowEphemeralClientTools\n * * Display Name: Allow Ephemeral Client Tools\n * * SQL Data Type: bit\n * * Default Value: 1\n * * Description: When true (default), this agent accepts runtime-registered ephemeral client tools that are not defined in metadata. Set to false for agents that require strict tool governance."),DefaultStorageAccountID:z.string().nullable().describe("\n * * Field Name: DefaultStorageAccountID\n * * Display Name: Default Storage Account\n * * SQL Data Type: uniqueidentifier\n * * Related Entity/Foreign Key: MJ: File Storage Accounts (vwFileStorageAccounts.ID)\n * * Description: Default file storage account for this specific agent. Overrides both Type-level and Category-level defaults. Can be further overridden at runtime via ExecuteAgentParams.override.storageAccountId. FK to FileStorageAccount."),SearchScopeAccess:z.union([z.literal('All'),z.literal('Assigned'),z.literal('None')]).describe("\n * * Field Name: SearchScopeAccess\n * * Display Name: Search Scope Access\n * * SQL Data Type: nvarchar(20)\n * * Default Value: None\n * * Value List Type: List\n * * Possible Values \n * * All\n * * Assigned\n * * None\n * * Description: Controls the agent's search capability. All = may use any scope including Global; search action does not restrict. Assigned = may use ONLY scopes explicitly linked via AIAgentSearchScope; scoped search action enforces this. None = agent has no search capability; the scoped search action rejects all requests."),AcceptUnregisteredFiles:z.boolean().describe("\n * * Field Name: AcceptUnregisteredFiles\n * * Display Name: Accept Unregistered Files\n * * SQL Data Type: bit\n * * Default Value: 0\n * * Description: Per-agent opt-in to a Generic Binary fallback for file uploads whose MIME type does not match any registered Artifact Type. When false (default), unrecognized uploads are rejected at upload time with an actionable error. When true, unrecognized uploads resolve to the Generic Binary artifact type, exposing only get_full and get_metadata tools. Scoped per agent \u2014 there is no system-wide global flag."),Parent:z.string().nullable().describe("\n * * Field Name: Parent\n * * Display Name: Parent Name\n * * SQL Data Type: nvarchar(255)"),ContextCompressionPrompt:z.string().nullable().describe("\n * * Field Name: ContextCompressionPrompt\n * * Display Name: Compression Prompt Text\n * * SQL Data Type: nvarchar(255)"),Type:z.string().nullable().describe("\n * * Field Name: Type\n * * Display Name: Type\n * * SQL Data Type: nvarchar(100)"),DefaultArtifactType:z.string().nullable().describe("\n * * Field Name: DefaultArtifactType\n * * Display Name: Default Artifact Type Name\n * * SQL Data Type: nvarchar(100)"),OwnerUser:z.string().describe("\n * * Field Name: OwnerUser\n * * Display Name: Owner Name\n * * SQL Data Type: nvarchar(100)"),AttachmentStorageProvider:z.string().nullable().describe("\n * * Field Name: AttachmentStorageProvider\n * * Display Name: Attachment Storage Provider Name\n * * SQL Data Type: nvarchar(50)"),Category:z.string().nullable().describe("\n * * Field Name: Category\n * * Display Name: Category Name\n * * SQL Data Type: nvarchar(200)"),DefaultStorageAccount:z.string().nullable().describe("\n * * Field Name: DefaultStorageAccount\n * * Display Name: Default Storage Account Name\n * * SQL Data Type: nvarchar(200)"),RootParentID:z.string().nullable().describe("\n * * Field Name: RootParentID\n * * Display Name: Root Parent\n * * SQL Data Type: uniqueidentifier")});/**
58866
58875
  * zod schema definition for the entity MJ: AI Architectures
58867
58876
  */var MJAIArchitectureSchema=z.object({ID:z.string().describe("\n * * Field Name: ID\n * * Display Name: ID\n * * SQL Data Type: uniqueidentifier\n * * Default Value: newsequentialid()"),Name:z.string().describe("\n * * Field Name: Name\n * * Display Name: Architecture Name\n * * SQL Data Type: nvarchar(100)"),Description:z.string().nullable().describe("\n * * Field Name: Description\n * * Display Name: Description\n * * SQL Data Type: nvarchar(MAX)"),Category:z.union([z.literal('Core'),z.literal('Hybrid'),z.literal('Optimization'),z.literal('Specialized')]).describe("\n * * Field Name: Category\n * * Display Name: Category\n * * SQL Data Type: nvarchar(50)\n * * Value List Type: List\n * * Possible Values \n * * Core\n * * Hybrid\n * * Optimization\n * * Specialized"),ParentArchitectureID:z.string().nullable().describe("\n * * Field Name: ParentArchitectureID\n * * Display Name: Parent Architecture ID\n * * SQL Data Type: uniqueidentifier\n * * Related Entity/Foreign Key: MJ: AI Architectures (vwAIArchitectures.ID)\n * * Description: Hierarchical relationship to parent architecture. Used for variants like Sparse Transformer being a child of Transformer."),WikipediaURL:z.string().nullable().describe("\n * * Field Name: WikipediaURL\n * * Display Name: Wikipedia URL\n * * SQL Data Type: nvarchar(500)"),YearIntroduced:z.number().nullable().describe("\n * * Field Name: YearIntroduced\n * * Display Name: Year Introduced\n * * SQL Data Type: int"),KeyPaper:z.string().nullable().describe("\n * * Field Name: KeyPaper\n * * Display Name: Key Paper\n * * SQL Data Type: nvarchar(500)"),__mj_CreatedAt:z.date().describe("\n * * Field Name: __mj_CreatedAt\n * * Display Name: Created At\n * * SQL Data Type: datetimeoffset\n * * Default Value: getutcdate()"),__mj_UpdatedAt:z.date().describe("\n * * Field Name: __mj_UpdatedAt\n * * Display Name: Updated At\n * * SQL Data Type: datetimeoffset\n * * Default Value: getutcdate()"),ParentArchitecture:z.string().nullable().describe("\n * * Field Name: ParentArchitecture\n * * Display Name: Parent Architecture\n * * SQL Data Type: nvarchar(100)"),RootParentArchitectureID:z.string().nullable().describe("\n * * Field Name: RootParentArchitectureID\n * * Display Name: Root Parent Architecture ID\n * * SQL Data Type: uniqueidentifier")});/**
58868
58877
  * zod schema definition for the entity MJ: AI Client Tool Definitions
@@ -58946,13 +58955,13 @@ function _regenerator(){/*! regenerator-runtime -- Copyright (c) 2014-present, F
58946
58955
  * zod schema definition for the entity MJ: Artifact Permissions
58947
58956
  */var MJArtifactPermissionSchema=z.object({ID:z.string().describe("\n * * Field Name: ID\n * * Display Name: ID\n * * SQL Data Type: uniqueidentifier\n * * Default Value: newsequentialid()"),ArtifactID:z.string().describe("\n * * Field Name: ArtifactID\n * * Display Name: Artifact ID\n * * SQL Data Type: uniqueidentifier\n * * Related Entity/Foreign Key: MJ: Artifacts (vwArtifacts.ID)"),UserID:z.string().describe("\n * * Field Name: UserID\n * * Display Name: User ID\n * * SQL Data Type: uniqueidentifier\n * * Related Entity/Foreign Key: MJ: Users (vwUsers.ID)"),CanRead:z.boolean().describe("\n * * Field Name: CanRead\n * * Display Name: Can Read\n * * SQL Data Type: bit\n * * Default Value: 1\n * * Description: Whether the user can view/read the artifact"),CanEdit:z.boolean().describe("\n * * Field Name: CanEdit\n * * Display Name: Can Edit\n * * SQL Data Type: bit\n * * Default Value: 0\n * * Description: Whether the user can modify the artifact or create new versions"),CanDelete:z.boolean().describe("\n * * Field Name: CanDelete\n * * Display Name: Can Delete\n * * SQL Data Type: bit\n * * Default Value: 0\n * * Description: Whether the user can delete the artifact"),CanShare:z.boolean().describe("\n * * Field Name: CanShare\n * * Display Name: Can Share\n * * SQL Data Type: bit\n * * Default Value: 0\n * * Description: Whether the user can share the artifact with other users"),SharedByUserID:z.string().nullable().describe("\n * * Field Name: SharedByUserID\n * * Display Name: Shared By User ID\n * * SQL Data Type: uniqueidentifier\n * * Related Entity/Foreign Key: MJ: Users (vwUsers.ID)\n * * Description: Foreign key to the User who shared this artifact (if shared)"),__mj_CreatedAt:z.date().describe("\n * * Field Name: __mj_CreatedAt\n * * Display Name: Created At\n * * SQL Data Type: datetimeoffset\n * * Default Value: getutcdate()"),__mj_UpdatedAt:z.date().describe("\n * * Field Name: __mj_UpdatedAt\n * * Display Name: Updated At\n * * SQL Data Type: datetimeoffset\n * * Default Value: getutcdate()"),Artifact:z.string().describe("\n * * Field Name: Artifact\n * * Display Name: Artifact\n * * SQL Data Type: nvarchar(255)"),User:z.string().describe("\n * * Field Name: User\n * * Display Name: User\n * * SQL Data Type: nvarchar(100)"),SharedByUser:z.string().nullable().describe("\n * * Field Name: SharedByUser\n * * Display Name: Shared By User\n * * SQL Data Type: nvarchar(100)")});/**
58948
58957
  * zod schema definition for the entity MJ: Artifact Types
58949
- */var MJArtifactTypeSchema=z.object({ID:z.string().describe("\n * * Field Name: ID\n * * Display Name: ID\n * * SQL Data Type: uniqueidentifier"),Name:z.string().describe("\n * * Field Name: Name\n * * Display Name: Name\n * * SQL Data Type: nvarchar(100)\n * * Description: Display name of the artifact type"),Description:z.string().nullable().describe("\n * * Field Name: Description\n * * Display Name: Description\n * * SQL Data Type: nvarchar(MAX)\n * * Description: Detailed description of the artifact type"),ContentType:z.string().describe("\n * * Field Name: ContentType\n * * Display Name: Content Type\n * * SQL Data Type: nvarchar(100)\n * * Description: MIME type or content identifier for this artifact type"),IsEnabled:z.boolean().describe("\n * * Field Name: IsEnabled\n * * Display Name: Is Enabled\n * * SQL Data Type: bit\n * * Default Value: 1\n * * Description: Indicates if this artifact type is currently available for use"),__mj_CreatedAt:z.date().describe("\n * * Field Name: __mj_CreatedAt\n * * Display Name: Created At\n * * SQL Data Type: datetimeoffset\n * * Default Value: getutcdate()"),__mj_UpdatedAt:z.date().describe("\n * * Field Name: __mj_UpdatedAt\n * * Display Name: Updated At\n * * SQL Data Type: datetimeoffset\n * * Default Value: getutcdate()"),ParentID:z.string().nullable().describe("\n * * Field Name: ParentID\n * * Display Name: Parent ID\n * * SQL Data Type: uniqueidentifier\n * * Related Entity/Foreign Key: MJ: Artifact Types (vwArtifactTypes.ID)\n * * Description: Parent artifact type ID for hierarchical artifact type organization. Child types inherit ExtractRules from parent but can override."),ExtractRules:z.string().nullable().describe("\n * * Field Name: ExtractRules\n * * Display Name: Extraction Rules\n * * SQL Data Type: nvarchar(MAX)\n * * Description: JSON array of extraction rules defining how to extract attributes from artifact content. Each rule has: name (string), description (string), type (TypeScript type), standardProperty ('name'|'description'|'displayMarkdown'|'displayHtml'|null), extractor (JavaScript code string). Child types inherit parent rules and can override by name."),DriverClass:z.string().nullable().describe("\n * * Field Name: DriverClass\n * * Display Name: Driver Class\n * * SQL Data Type: nvarchar(255)\n * * Description: Driver class name for the artifact viewer plugin. References Angular component registered with @RegisterClass decorator."),Icon:z.string().nullable().describe("\n * * Field Name: Icon\n * * Display Name: Icon\n * * SQL Data Type: nvarchar(255)\n * * Description: Font Awesome icon class name for displaying this artifact type in the UI (e.g., fa-file-code, fa-chart-line)"),ContentCategory:z.union([z.literal('File'),z.literal('Text')]).describe("\n * * Field Name: ContentCategory\n * * Display Name: Content Category\n * * SQL Data Type: nvarchar(10)\n * * Default Value: Text\n * * Value List Type: List\n * * Possible Values \n * * File\n * * Text\n * * Description: Classifies whether this artifact type stores text content ('Text', the default for all existing types) or a binary file in MJStorage ('File'). Used by AgentRunner and viewer components to route file-based artifacts correctly."),ToolLibraryClass:z.string().nullable().describe("\n * * Field Name: ToolLibraryClass\n * * Display Name: Tool Library Class\n * * SQL Data Type: nvarchar(100)\n * * Description: Class name for the BaseArtifactToolLibrary subclass that provides type-specific artifact exploration tools for agents. Resolved via ClassFactory. When NULL, ArtifactToolManager uses name-based fallback resolution."),Parent:z.string().nullable().describe("\n * * Field Name: Parent\n * * Display Name: Parent\n * * SQL Data Type: nvarchar(100)"),RootParentID:z.string().nullable().describe("\n * * Field Name: RootParentID\n * * Display Name: Root Parent ID\n * * SQL Data Type: uniqueidentifier")});/**
58958
+ */var MJArtifactTypeSchema=z.object({ID:z.string().describe("\n * * Field Name: ID\n * * Display Name: ID\n * * SQL Data Type: uniqueidentifier"),Name:z.string().describe("\n * * Field Name: Name\n * * Display Name: Name\n * * SQL Data Type: nvarchar(100)\n * * Description: Display name of the artifact type"),Description:z.string().nullable().describe("\n * * Field Name: Description\n * * Display Name: Description\n * * SQL Data Type: nvarchar(MAX)\n * * Description: Detailed description of the artifact type"),ContentType:z.string().describe("\n * * Field Name: ContentType\n * * Display Name: Content Type\n * * SQL Data Type: nvarchar(100)\n * * Description: MIME type or content identifier for this artifact type"),IsEnabled:z.boolean().describe("\n * * Field Name: IsEnabled\n * * Display Name: Is Enabled\n * * SQL Data Type: bit\n * * Default Value: 1\n * * Description: Indicates if this artifact type is currently available for use"),__mj_CreatedAt:z.date().describe("\n * * Field Name: __mj_CreatedAt\n * * Display Name: Created At\n * * SQL Data Type: datetimeoffset\n * * Default Value: getutcdate()"),__mj_UpdatedAt:z.date().describe("\n * * Field Name: __mj_UpdatedAt\n * * Display Name: Updated At\n * * SQL Data Type: datetimeoffset\n * * Default Value: getutcdate()"),ParentID:z.string().nullable().describe("\n * * Field Name: ParentID\n * * Display Name: Parent ID\n * * SQL Data Type: uniqueidentifier\n * * Related Entity/Foreign Key: MJ: Artifact Types (vwArtifactTypes.ID)\n * * Description: Parent artifact type ID for hierarchical artifact type organization. Child types inherit ExtractRules from parent but can override."),ExtractRules:z.string().nullable().describe("\n * * Field Name: ExtractRules\n * * Display Name: Extraction Rules\n * * SQL Data Type: nvarchar(MAX)\n * * Description: JSON array of extraction rules defining how to extract attributes from artifact content. Each rule has: name (string), description (string), type (TypeScript type), standardProperty ('name'|'description'|'displayMarkdown'|'displayHtml'|null), extractor (JavaScript code string). Child types inherit parent rules and can override by name."),DriverClass:z.string().nullable().describe("\n * * Field Name: DriverClass\n * * Display Name: Driver Class\n * * SQL Data Type: nvarchar(255)\n * * Description: Driver class name for the artifact viewer plugin. References Angular component registered with @RegisterClass decorator."),Icon:z.string().nullable().describe("\n * * Field Name: Icon\n * * Display Name: Icon\n * * SQL Data Type: nvarchar(255)\n * * Description: Font Awesome icon class name for displaying this artifact type in the UI (e.g., fa-file-code, fa-chart-line)"),ContentCategory:z.union([z.literal('File'),z.literal('Text')]).describe("\n * * Field Name: ContentCategory\n * * Display Name: Content Category\n * * SQL Data Type: nvarchar(10)\n * * Default Value: Text\n * * Value List Type: List\n * * Possible Values \n * * File\n * * Text\n * * Description: Classifies whether this artifact type stores text content ('Text', the default for all existing types) or a binary file in MJStorage ('File'). Used by AgentRunner and viewer components to route file-based artifacts correctly."),ToolLibraryClass:z.string().nullable().describe("\n * * Field Name: ToolLibraryClass\n * * Display Name: Tool Library Class\n * * SQL Data Type: nvarchar(100)\n * * Description: Class name for the BaseArtifactToolLibrary subclass that provides type-specific artifact exploration tools for agents. Resolved via ClassFactory. When NULL, ArtifactToolManager uses name-based fallback resolution."),Priority:z.number().describe("\n * * Field Name: Priority\n * * Display Name: Priority\n * * SQL Data Type: int\n * * Default Value: 0\n * * Description: Deterministic tiebreaker when multiple Artifact Types match the same MIME pattern. Higher values win. Within a specificity tier (exact > subtype-wildcard), the resolver sorts by Priority desc, then SystemSupplied = false beats SystemSupplied = true, then lowest ID wins."),DefaultDeliveryMode:z.union([z.literal('Inline'),z.literal('ToolsOnly')]).describe("\n * * Field Name: DefaultDeliveryMode\n * * Display Name: Default Delivery Mode\n * * SQL Data Type: nvarchar(20)\n * * Default Value: ToolsOnly\n * * Value List Type: List\n * * Possible Values \n * * Inline\n * * ToolsOnly\n * * Description: How artifacts of this type are delivered to the LLM by default. Inline: emitted as an inline content block (image_url, audio_url, small text, etc.) when the model supports the modality and the size is under the inline cap. ToolsOnly: never inlined; the agent reaches the bytes only through tool calls (get_full, library-specific tools). Per-instance override is one-way via ConversationArtifactVersion.ForceToolsOnly \u2014 an instance can opt out of inline but never opt in when the type default is ToolsOnly."),SystemSupplied:z.boolean().describe("\n * * Field Name: SystemSupplied\n * * Display Name: System Supplied\n * * SQL Data Type: bit\n * * Default Value: 0\n * * Description: True for Artifact Types shipped as part of the MemberJunction default registry (JSON, PDF, Office variants, Image/Audio/Video, Generic Text, Generic Binary). False for user/org-supplied customizations. Used as a tiebreaker in MIME pattern resolution: user customizations win over shipped defaults at equal Priority."),Parent:z.string().nullable().describe("\n * * Field Name: Parent\n * * Display Name: Parent\n * * SQL Data Type: nvarchar(100)"),RootParentID:z.string().nullable().describe("\n * * Field Name: RootParentID\n * * Display Name: Root Parent ID\n * * SQL Data Type: uniqueidentifier")});/**
58950
58959
  * zod schema definition for the entity MJ: Artifact Uses
58951
58960
  */var MJArtifactUseSchema=z.object({ID:z.string().describe("\n * * Field Name: ID\n * * Display Name: ID\n * * SQL Data Type: uniqueidentifier\n * * Default Value: newsequentialid()"),ArtifactVersionID:z.string().describe("\n * * Field Name: ArtifactVersionID\n * * Display Name: Artifact Version ID\n * * SQL Data Type: uniqueidentifier\n * * Related Entity/Foreign Key: MJ: Artifact Versions (vwArtifactVersions.ID)\n * * Description: The specific version of the artifact being used."),UserID:z.string().describe("\n * * Field Name: UserID\n * * Display Name: User ID\n * * SQL Data Type: uniqueidentifier\n * * Related Entity/Foreign Key: MJ: Users (vwUsers.ID)\n * * Description: The user performing the action."),UsageType:z.union([z.literal('Exported'),z.literal('Opened'),z.literal('Saved'),z.literal('Shared'),z.literal('Viewed')]).describe("\n * * Field Name: UsageType\n * * Display Name: Usage Type\n * * SQL Data Type: nvarchar(20)\n * * Value List Type: List\n * * Possible Values \n * * Exported\n * * Opened\n * * Saved\n * * Shared\n * * Viewed\n * * Description: Type of usage: Viewed (artifact displayed), Opened (artifact accessed), Shared (artifact shared with others), Saved (artifact bookmarked), or Exported (artifact downloaded)."),UsageContext:z.string().nullable().describe("\n * * Field Name: UsageContext\n * * Display Name: Usage Context\n * * SQL Data Type: nvarchar(MAX)\n * * Description: Optional JSON context with additional metadata about the usage event (e.g., source page, referrer, device info)."),__mj_CreatedAt:z.date().describe("\n * * Field Name: __mj_CreatedAt\n * * Display Name: Created At\n * * SQL Data Type: datetimeoffset\n * * Default Value: getutcdate()"),__mj_UpdatedAt:z.date().describe("\n * * Field Name: __mj_UpdatedAt\n * * Display Name: Updated At\n * * SQL Data Type: datetimeoffset\n * * Default Value: getutcdate()"),ArtifactVersion:z.string().nullable().describe("\n * * Field Name: ArtifactVersion\n * * Display Name: Artifact Version\n * * SQL Data Type: nvarchar(255)"),User:z.string().describe("\n * * Field Name: User\n * * Display Name: User\n * * SQL Data Type: nvarchar(100)")});/**
58952
58961
  * zod schema definition for the entity MJ: Artifact Version Attributes
58953
58962
  */var MJArtifactVersionAttributeSchema=z.object({ID:z.string().describe("\n * * Field Name: ID\n * * Display Name: ID\n * * SQL Data Type: uniqueidentifier\n * * Default Value: newsequentialid()"),ArtifactVersionID:z.string().describe("\n * * Field Name: ArtifactVersionID\n * * Display Name: Artifact Version ID\n * * SQL Data Type: uniqueidentifier\n * * Related Entity/Foreign Key: MJ: Artifact Versions (vwArtifactVersions.ID)\n * * Description: The artifact version this attribute belongs to"),Name:z.string().describe("\n * * Field Name: Name\n * * Display Name: Name\n * * SQL Data Type: nvarchar(255)\n * * Description: Name of the extracted attribute (matches ExtractRule.name)"),Type:z.string().describe("\n * * Field Name: Type\n * * Display Name: Type\n * * SQL Data Type: nvarchar(500)\n * * Description: TypeScript type definition of the value (e.g., 'string', 'number', 'Date', 'Array<{x: number, y: string}>')"),Value:z.string().nullable().describe("\n * * Field Name: Value\n * * Display Name: Value\n * * SQL Data Type: nvarchar(MAX)\n * * Description: JSON-serialized extracted value"),StandardProperty:z.union([z.literal('description'),z.literal('displayHtml'),z.literal('displayMarkdown'),z.literal('name')]).nullable().describe("\n * * Field Name: StandardProperty\n * * Display Name: Standard Property\n * * SQL Data Type: nvarchar(50)\n * * Value List Type: List\n * * Possible Values \n * * description\n * * displayHtml\n * * displayMarkdown\n * * name\n * * Description: Maps this attribute to a standard property for UI rendering: 'name', 'description', 'displayMarkdown', 'displayHtml', or NULL for custom attributes"),__mj_CreatedAt:z.date().describe("\n * * Field Name: __mj_CreatedAt\n * * Display Name: Created At\n * * SQL Data Type: datetimeoffset\n * * Default Value: getutcdate()"),__mj_UpdatedAt:z.date().describe("\n * * Field Name: __mj_UpdatedAt\n * * Display Name: Updated At\n * * SQL Data Type: datetimeoffset\n * * Default Value: getutcdate()"),ArtifactVersion:z.string().nullable().describe("\n * * Field Name: ArtifactVersion\n * * Display Name: Artifact Version\n * * SQL Data Type: nvarchar(255)")});/**
58954
58963
  * zod schema definition for the entity MJ: Artifact Versions
58955
- */var MJArtifactVersionSchema=z.object({ID:z.string().describe("\n * * Field Name: ID\n * * Display Name: ID\n * * SQL Data Type: uniqueidentifier\n * * Default Value: newsequentialid()"),ArtifactID:z.string().describe("\n * * Field Name: ArtifactID\n * * Display Name: Artifact\n * * SQL Data Type: uniqueidentifier\n * * Related Entity/Foreign Key: MJ: Artifacts (vwArtifacts.ID)"),VersionNumber:z.number().describe("\n * * Field Name: VersionNumber\n * * Display Name: Version Number\n * * SQL Data Type: int\n * * Description: Sequential version number for this artifact"),Content:z.string().nullable().describe("\n * * Field Name: Content\n * * Display Name: Content\n * * SQL Data Type: nvarchar(MAX)\n * * Description: The content of the artifact at this version"),Configuration:z.string().nullable().describe("\n * * Field Name: Configuration\n * * Display Name: Configuration\n * * SQL Data Type: nvarchar(MAX)\n * * Description: JSON configuration for this version"),Comments:z.string().nullable().describe("\n * * Field Name: Comments\n * * Display Name: Comments\n * * SQL Data Type: nvarchar(MAX)\n * * Description: User comments specific to this version"),UserID:z.string().describe("\n * * Field Name: UserID\n * * Display Name: User\n * * SQL Data Type: uniqueidentifier\n * * Related Entity/Foreign Key: MJ: Users (vwUsers.ID)"),__mj_CreatedAt:z.date().describe("\n * * Field Name: __mj_CreatedAt\n * * Display Name: Created At\n * * SQL Data Type: datetimeoffset\n * * Default Value: getutcdate()"),__mj_UpdatedAt:z.date().describe("\n * * Field Name: __mj_UpdatedAt\n * * Display Name: Updated At\n * * SQL Data Type: datetimeoffset\n * * Default Value: getutcdate()"),ContentHash:z.string().nullable().describe("\n * * Field Name: ContentHash\n * * Display Name: Content Hash\n * * SQL Data Type: nvarchar(500)\n * * Description: SHA-256 hash of the Content field for duplicate detection and version comparison"),Name:z.string().nullable().describe("\n * * Field Name: Name\n * * Display Name: Name\n * * SQL Data Type: nvarchar(255)\n * * Description: Name of this artifact version. Can differ from Artifact.Name as it may evolve with versions."),Description:z.string().nullable().describe("\n * * Field Name: Description\n * * Display Name: Description\n * * SQL Data Type: nvarchar(MAX)\n * * Description: Description of this artifact version. Can differ from Artifact.Description as it may evolve with versions."),FileID:z.string().nullable().describe("\n * * Field Name: FileID\n * * Display Name: File\n * * SQL Data Type: uniqueidentifier\n * * Related Entity/Foreign Key: MJ: Files (vwFiles.ID)\n * * Description: Foreign key to the MJ: Files entity. When ContentMode is 'File', this references the binary file stored in MJStorage. NULL when ContentMode is 'Text'."),ContentMode:z.union([z.literal('File'),z.literal('Text')]).describe("\n * * Field Name: ContentMode\n * * Display Name: Content Mode\n * * SQL Data Type: nvarchar(10)\n * * Default Value: Text\n * * Value List Type: List\n * * Possible Values \n * * File\n * * Text\n * * Description: Determines how artifact content is stored. 'Text' (default) means the Content column holds the data. 'File' means FileID references a binary file in MJStorage and Content is unused."),MimeType:z.string().nullable().describe("\n * * Field Name: MimeType\n * * Display Name: MIME Type\n * * SQL Data Type: nvarchar(200)\n * * Description: MIME type of the stored file (e.g. application/pdf). Denormalized from the File entity for display without joins. Only populated when ContentMode is 'File'."),FileName:z.string().nullable().describe("\n * * Field Name: FileName\n * * Display Name: File Name\n * * SQL Data Type: nvarchar(500)\n * * Description: Original filename of the stored file (e.g. report.pdf). Denormalized from the File entity for display without joins. Only populated when ContentMode is 'File'."),ContentSizeBytes:z.number().nullable().describe("\n * * Field Name: ContentSizeBytes\n * * Display Name: Content Size Bytes\n * * SQL Data Type: bigint\n * * Description: Size of the stored file in bytes. Denormalized for display without loading the file. Only populated when ContentMode is 'File'."),Artifact:z.string().describe("\n * * Field Name: Artifact\n * * Display Name: Artifact\n * * SQL Data Type: nvarchar(255)"),User:z.string().describe("\n * * Field Name: User\n * * Display Name: User\n * * SQL Data Type: nvarchar(100)"),File:z.string().nullable().describe("\n * * Field Name: File\n * * Display Name: File\n * * SQL Data Type: nvarchar(500)")});/**
58964
+ */var MJArtifactVersionSchema=z.object({ID:z.string().describe("\n * * Field Name: ID\n * * Display Name: ID\n * * SQL Data Type: uniqueidentifier\n * * Default Value: newsequentialid()"),ArtifactID:z.string().describe("\n * * Field Name: ArtifactID\n * * Display Name: Artifact\n * * SQL Data Type: uniqueidentifier\n * * Related Entity/Foreign Key: MJ: Artifacts (vwArtifacts.ID)"),VersionNumber:z.number().describe("\n * * Field Name: VersionNumber\n * * Display Name: Version Number\n * * SQL Data Type: int\n * * Description: Sequential version number for this artifact"),Content:z.string().nullable().describe("\n * * Field Name: Content\n * * Display Name: Content\n * * SQL Data Type: nvarchar(MAX)\n * * Description: The content of the artifact at this version"),Configuration:z.string().nullable().describe("\n * * Field Name: Configuration\n * * Display Name: Configuration\n * * SQL Data Type: nvarchar(MAX)\n * * Description: JSON configuration for this version"),Comments:z.string().nullable().describe("\n * * Field Name: Comments\n * * Display Name: Comments\n * * SQL Data Type: nvarchar(MAX)\n * * Description: User comments specific to this version"),UserID:z.string().describe("\n * * Field Name: UserID\n * * Display Name: User ID\n * * SQL Data Type: uniqueidentifier\n * * Related Entity/Foreign Key: MJ: Users (vwUsers.ID)"),__mj_CreatedAt:z.date().describe("\n * * Field Name: __mj_CreatedAt\n * * Display Name: Created At\n * * SQL Data Type: datetimeoffset\n * * Default Value: getutcdate()"),__mj_UpdatedAt:z.date().describe("\n * * Field Name: __mj_UpdatedAt\n * * Display Name: Updated At\n * * SQL Data Type: datetimeoffset\n * * Default Value: getutcdate()"),ContentHash:z.string().nullable().describe("\n * * Field Name: ContentHash\n * * Display Name: Content Hash\n * * SQL Data Type: nvarchar(500)\n * * Description: SHA-256 hash of the Content field for duplicate detection and version comparison"),Name:z.string().nullable().describe("\n * * Field Name: Name\n * * Display Name: Name\n * * SQL Data Type: nvarchar(255)\n * * Description: Name of this artifact version. Can differ from Artifact.Name as it may evolve with versions."),Description:z.string().nullable().describe("\n * * Field Name: Description\n * * Display Name: Description\n * * SQL Data Type: nvarchar(MAX)\n * * Description: Description of this artifact version. Can differ from Artifact.Description as it may evolve with versions."),FileID:z.string().nullable().describe("\n * * Field Name: FileID\n * * Display Name: File ID\n * * SQL Data Type: uniqueidentifier\n * * Related Entity/Foreign Key: MJ: Files (vwFiles.ID)\n * * Description: Foreign key to the MJ: Files entity. When ContentMode is 'File', this references the binary file stored in MJStorage. NULL when ContentMode is 'Text'."),ContentMode:z.union([z.literal('File'),z.literal('Text')]).describe("\n * * Field Name: ContentMode\n * * Display Name: Content Mode\n * * SQL Data Type: nvarchar(10)\n * * Default Value: Text\n * * Value List Type: List\n * * Possible Values \n * * File\n * * Text\n * * Description: Determines how artifact content is stored. 'Text' (default) means the Content column holds the data. 'File' means FileID references a binary file in MJStorage and Content is unused."),MimeType:z.string().nullable().describe("\n * * Field Name: MimeType\n * * Display Name: MIME Type\n * * SQL Data Type: nvarchar(200)\n * * Description: MIME type of the stored file (e.g. application/pdf). Denormalized from the File entity for display without joins. Only populated when ContentMode is 'File'."),FileName:z.string().nullable().describe("\n * * Field Name: FileName\n * * Display Name: File Name\n * * SQL Data Type: nvarchar(500)\n * * Description: Original filename of the stored file (e.g. report.pdf). Denormalized from the File entity for display without joins. Only populated when ContentMode is 'File'."),ContentSizeBytes:z.number().nullable().describe("\n * * Field Name: ContentSizeBytes\n * * Display Name: Content Size (Bytes)\n * * SQL Data Type: bigint\n * * Description: Size of the stored file in bytes. Denormalized for display without loading the file. Only populated when ContentMode is 'File'."),ForceToolsOnly:z.boolean().describe("\n * * Field Name: ForceToolsOnly\n * * Display Name: Force Tools Only\n * * SQL Data Type: bit\n * * Default Value: 0\n * * Description: One-way override that forces this artifact version to be delivered via tools regardless of the Artifact Type's DefaultDeliveryMode. When true, the resolver never emits an inline content block for this version. There is no inverse override \u2014 an instance cannot be widened from ToolsOnly to Inline. Default false."),Artifact:z.string().describe("\n * * Field Name: Artifact\n * * Display Name: Artifact\n * * SQL Data Type: nvarchar(255)"),User:z.string().describe("\n * * Field Name: User\n * * Display Name: User\n * * SQL Data Type: nvarchar(100)"),File:z.string().nullable().describe("\n * * Field Name: File\n * * Display Name: File\n * * SQL Data Type: nvarchar(500)")});/**
58956
58965
  * zod schema definition for the entity MJ: Artifacts
58957
58966
  */var MJArtifactSchema=z.object({ID:z.string().describe("\n * * Field Name: ID\n * * Display Name: ID\n * * SQL Data Type: uniqueidentifier\n * * Default Value: newsequentialid()"),EnvironmentID:z.string().describe("\n * * Field Name: EnvironmentID\n * * Display Name: Environment ID\n * * SQL Data Type: uniqueidentifier\n * * Related Entity/Foreign Key: MJ: Environments (vwEnvironments.ID)\n * * Default Value: F51358F3-9447-4176-B313-BF8025FD8D09"),Name:z.string().describe("\n * * Field Name: Name\n * * Display Name: Name\n * * SQL Data Type: nvarchar(255)\n * * Description: Display name for the artifact"),Description:z.string().nullable().describe("\n * * Field Name: Description\n * * Display Name: Description\n * * SQL Data Type: nvarchar(MAX)\n * * Description: Detailed description of the artifact contents and purpose"),TypeID:z.string().describe("\n * * Field Name: TypeID\n * * Display Name: Type ID\n * * SQL Data Type: uniqueidentifier\n * * Related Entity/Foreign Key: MJ: Artifact Types (vwArtifactTypes.ID)"),Comments:z.string().nullable().describe("\n * * Field Name: Comments\n * * Display Name: Comments\n * * SQL Data Type: nvarchar(MAX)\n * * Description: User comments about the artifact"),UserID:z.string().describe("\n * * Field Name: UserID\n * * Display Name: User ID\n * * SQL Data Type: uniqueidentifier\n * * Related Entity/Foreign Key: MJ: Users (vwUsers.ID)"),__mj_CreatedAt:z.date().describe("\n * * Field Name: __mj_CreatedAt\n * * Display Name: Created At\n * * SQL Data Type: datetimeoffset\n * * Default Value: getutcdate()"),__mj_UpdatedAt:z.date().describe("\n * * Field Name: __mj_UpdatedAt\n * * Display Name: Updated At\n * * SQL Data Type: datetimeoffset\n * * Default Value: getutcdate()"),Visibility:z.union([z.literal('Always'),z.literal('System Only')]).describe("\n * * Field Name: Visibility\n * * Display Name: Visibility\n * * SQL Data Type: nvarchar(20)\n * * Default Value: Always\n * * Value List Type: List\n * * Possible Values \n * * Always\n * * System Only\n * * Description: Controls artifact visibility in user-facing lists. \"Always\" shows in all lists, \"System Only\" hides from normal views (for system-generated artifacts like agent routing payloads)."),Environment:z.string().describe("\n * * Field Name: Environment\n * * Display Name: Environment\n * * SQL Data Type: nvarchar(255)"),Type:z.string().describe("\n * * Field Name: Type\n * * Display Name: Type\n * * SQL Data Type: nvarchar(100)"),User:z.string().describe("\n * * Field Name: User\n * * Display Name: User\n * * SQL Data Type: nvarchar(100)")});/**
58958
58967
  * zod schema definition for the entity MJ: Audit Log Types
@@ -59044,7 +59053,7 @@ function _regenerator(){/*! regenerator-runtime -- Copyright (c) 2014-present, F
59044
59053
  * zod schema definition for the entity MJ: Conversation Detail Artifacts
59045
59054
  */var MJConversationDetailArtifactSchema=z.object({ID:z.string().describe("\n * * Field Name: ID\n * * Display Name: ID\n * * SQL Data Type: uniqueidentifier\n * * Default Value: newsequentialid()"),ConversationDetailID:z.string().describe("\n * * Field Name: ConversationDetailID\n * * Display Name: Conversation Detail\n * * SQL Data Type: uniqueidentifier\n * * Related Entity/Foreign Key: MJ: Conversation Details (vwConversationDetails.ID)\n * * Description: Foreign key to ConversationDetail - the conversation message associated with this artifact"),ArtifactVersionID:z.string().describe("\n * * Field Name: ArtifactVersionID\n * * Display Name: Artifact Version\n * * SQL Data Type: uniqueidentifier\n * * Related Entity/Foreign Key: MJ: Artifact Versions (vwArtifactVersions.ID)\n * * Description: Foreign key to ArtifactVersion - the specific artifact version linked to this conversation message"),Direction:z.union([z.literal('Input'),z.literal('Output')]).describe("\n * * Field Name: Direction\n * * Display Name: Direction\n * * SQL Data Type: nvarchar(20)\n * * Default Value: Output\n * * Value List Type: List\n * * Possible Values \n * * Input\n * * Output\n * * Description: Direction of artifact flow: Input (fed to agent) or Output (produced by agent)"),__mj_CreatedAt:z.date().describe("\n * * Field Name: __mj_CreatedAt\n * * Display Name: Created At\n * * SQL Data Type: datetimeoffset\n * * Default Value: getutcdate()"),__mj_UpdatedAt:z.date().describe("\n * * Field Name: __mj_UpdatedAt\n * * Display Name: Updated At\n * * SQL Data Type: datetimeoffset\n * * Default Value: getutcdate()"),ConversationDetail:z.string().describe("\n * * Field Name: ConversationDetail\n * * Display Name: Conversation Detail Summary\n * * SQL Data Type: nvarchar(MAX)"),ArtifactVersion:z.string().nullable().describe("\n * * Field Name: ArtifactVersion\n * * Display Name: Artifact Version Summary\n * * SQL Data Type: nvarchar(255)")});/**
59046
59055
  * zod schema definition for the entity MJ: Conversation Detail Attachments
59047
- */var MJConversationDetailAttachmentSchema=z.object({ID:z.string().describe("\n * * Field Name: ID\n * * Display Name: ID\n * * SQL Data Type: uniqueidentifier\n * * Default Value: newsequentialid()"),ConversationDetailID:z.string().describe("\n * * Field Name: ConversationDetailID\n * * Display Name: Conversation Detail\n * * SQL Data Type: uniqueidentifier\n * * Related Entity/Foreign Key: MJ: Conversation Details (vwConversationDetails.ID)"),ModalityID:z.string().describe("\n * * Field Name: ModalityID\n * * Display Name: Modality\n * * SQL Data Type: uniqueidentifier\n * * Related Entity/Foreign Key: MJ: AI Modalities (vwAIModalities.ID)\n * * Description: The modality type of this attachment (Image, Audio, Video, File, etc.). References the AIModality table."),MimeType:z.string().describe("\n * * Field Name: MimeType\n * * Display Name: MIME Type\n * * SQL Data Type: nvarchar(100)\n * * Description: MIME type of the attachment (e.g., image/png, video/mp4, audio/mp3)."),FileName:z.string().nullable().describe("\n * * Field Name: FileName\n * * Display Name: File Name\n * * SQL Data Type: nvarchar(4000)\n * * Description: Original filename of the attachment. Supports long cloud storage paths up to 4000 characters."),FileSizeBytes:z.number().describe("\n * * Field Name: FileSizeBytes\n * * Display Name: File Size (Bytes)\n * * SQL Data Type: int\n * * Description: Size of the attachment in bytes."),Width:z.number().nullable().describe("\n * * Field Name: Width\n * * Display Name: Width\n * * SQL Data Type: int\n * * Description: Width in pixels for images and videos."),Height:z.number().nullable().describe("\n * * Field Name: Height\n * * Display Name: Height\n * * SQL Data Type: int\n * * Description: Height in pixels for images and videos."),DurationSeconds:z.number().nullable().describe("\n * * Field Name: DurationSeconds\n * * Display Name: Duration (Seconds)\n * * SQL Data Type: int\n * * Description: Duration in seconds for audio and video files."),InlineData:z.string().nullable().describe("\n * * Field Name: InlineData\n * * Display Name: Inline Data\n * * SQL Data Type: nvarchar(MAX)\n * * Description: Base64-encoded file data for small attachments stored inline. Mutually exclusive with FileID - exactly one must be populated."),FileID:z.string().nullable().describe("\n * * Field Name: FileID\n * * Display Name: File ID\n * * SQL Data Type: uniqueidentifier\n * * Related Entity/Foreign Key: MJ: Files (vwFiles.ID)\n * * Description: Reference to File entity for large attachments stored in MJStorage. Mutually exclusive with InlineData - exactly one must be populated."),DisplayOrder:z.number().describe("\n * * Field Name: DisplayOrder\n * * Display Name: Display Order\n * * SQL Data Type: int\n * * Default Value: 0\n * * Description: Display order for multiple attachments in a message. Lower numbers appear first."),ThumbnailBase64:z.string().nullable().describe("\n * * Field Name: ThumbnailBase64\n * * Display Name: Thumbnail\n * * SQL Data Type: nvarchar(MAX)\n * * Description: Base64-encoded thumbnail image for quick preview display. Max 200px on longest side."),__mj_CreatedAt:z.date().describe("\n * * Field Name: __mj_CreatedAt\n * * Display Name: Created At\n * * SQL Data Type: datetimeoffset\n * * Default Value: getutcdate()"),__mj_UpdatedAt:z.date().describe("\n * * Field Name: __mj_UpdatedAt\n * * Display Name: Updated At\n * * SQL Data Type: datetimeoffset\n * * Default Value: getutcdate()"),Description:z.string().nullable().describe("\n * * Field Name: Description\n * * Display Name: Description\n * * SQL Data Type: nvarchar(MAX)\n * * Description: Description of the attachment providing context about its content and purpose."),ConversationDetail:z.string().describe("\n * * Field Name: ConversationDetail\n * * Display Name: Conversation Detail\n * * SQL Data Type: nvarchar(MAX)"),Modality:z.string().describe("\n * * Field Name: Modality\n * * Display Name: Modality\n * * SQL Data Type: nvarchar(50)"),File:z.string().nullable().describe("\n * * Field Name: File\n * * Display Name: File\n * * SQL Data Type: nvarchar(500)")});/**
59056
+ */var MJConversationDetailAttachmentSchema=z.object({ID:z.string().describe("\n * * Field Name: ID\n * * Display Name: ID\n * * SQL Data Type: uniqueidentifier\n * * Default Value: newsequentialid()"),ConversationDetailID:z.string().describe("\n * * Field Name: ConversationDetailID\n * * Display Name: Conversation Detail\n * * SQL Data Type: uniqueidentifier\n * * Related Entity/Foreign Key: MJ: Conversation Details (vwConversationDetails.ID)"),ModalityID:z.string().describe("\n * * Field Name: ModalityID\n * * Display Name: Modality\n * * SQL Data Type: uniqueidentifier\n * * Related Entity/Foreign Key: MJ: AI Modalities (vwAIModalities.ID)\n * * Description: The modality type of this attachment (Image, Audio, Video, File, etc.). References the AIModality table."),MimeType:z.string().describe("\n * * Field Name: MimeType\n * * Display Name: MIME Type\n * * SQL Data Type: nvarchar(100)\n * * Description: MIME type of the attachment (e.g., image/png, video/mp4, audio/mp3)."),FileName:z.string().nullable().describe("\n * * Field Name: FileName\n * * Display Name: File Name\n * * SQL Data Type: nvarchar(4000)\n * * Description: Original filename of the attachment. Supports long cloud storage paths up to 4000 characters."),FileSizeBytes:z.number().describe("\n * * Field Name: FileSizeBytes\n * * Display Name: File Size (Bytes)\n * * SQL Data Type: int\n * * Description: Size of the attachment in bytes."),Width:z.number().nullable().describe("\n * * Field Name: Width\n * * Display Name: Width\n * * SQL Data Type: int\n * * Description: Width in pixels for images and videos."),Height:z.number().nullable().describe("\n * * Field Name: Height\n * * Display Name: Height\n * * SQL Data Type: int\n * * Description: Height in pixels for images and videos."),DurationSeconds:z.number().nullable().describe("\n * * Field Name: DurationSeconds\n * * Display Name: Duration (Seconds)\n * * SQL Data Type: int\n * * Description: Duration in seconds for audio and video files."),InlineData:z.string().nullable().describe("\n * * Field Name: InlineData\n * * Display Name: Inline Data\n * * SQL Data Type: nvarchar(MAX)\n * * Description: Base64-encoded file data for small attachments stored inline. Mutually exclusive with FileID - exactly one must be populated."),FileID:z.string().nullable().describe("\n * * Field Name: FileID\n * * Display Name: File ID\n * * SQL Data Type: uniqueidentifier\n * * Related Entity/Foreign Key: MJ: Files (vwFiles.ID)\n * * Description: Reference to File entity for large attachments stored in MJStorage. Mutually exclusive with InlineData - exactly one must be populated."),DisplayOrder:z.number().describe("\n * * Field Name: DisplayOrder\n * * Display Name: Display Order\n * * SQL Data Type: int\n * * Default Value: 0\n * * Description: Display order for multiple attachments in a message. Lower numbers appear first."),ThumbnailBase64:z.string().nullable().describe("\n * * Field Name: ThumbnailBase64\n * * Display Name: Thumbnail\n * * SQL Data Type: nvarchar(MAX)\n * * Description: Base64-encoded thumbnail image for quick preview display. Max 200px on longest side."),__mj_CreatedAt:z.date().describe("\n * * Field Name: __mj_CreatedAt\n * * Display Name: Created At\n * * SQL Data Type: datetimeoffset\n * * Default Value: getutcdate()"),__mj_UpdatedAt:z.date().describe("\n * * Field Name: __mj_UpdatedAt\n * * Display Name: Updated At\n * * SQL Data Type: datetimeoffset\n * * Default Value: getutcdate()"),Description:z.string().nullable().describe("\n * * Field Name: Description\n * * Display Name: Description\n * * SQL Data Type: nvarchar(MAX)\n * * Description: Description of the attachment providing context about its content and purpose."),ArtifactVersionID:z.string().nullable().describe("\n * * Field Name: ArtifactVersionID\n * * Display Name: Artifact Version ID\n * * SQL Data Type: uniqueidentifier\n * * Related Entity/Foreign Key: MJ: Artifact Versions (vwArtifactVersions.ID)\n * * Description: Foreign key to the ArtifactVersion created alongside this attachment by the storage-unification path. When set, the agent resolver routes via the artifact path (manifest + tool dispatch) and skips inline embedding of the attachment to avoid double-processing. NULL for pre-v5.35 attachment rows authored before storage unification."),ConversationDetail:z.string().describe("\n * * Field Name: ConversationDetail\n * * Display Name: Conversation Detail Record\n * * SQL Data Type: nvarchar(MAX)"),Modality:z.string().describe("\n * * Field Name: Modality\n * * Display Name: Modality Record\n * * SQL Data Type: nvarchar(50)"),File:z.string().nullable().describe("\n * * Field Name: File\n * * Display Name: File Record\n * * SQL Data Type: nvarchar(500)"),ArtifactVersion:z.string().nullable().describe("\n * * Field Name: ArtifactVersion\n * * Display Name: Artifact Version Record\n * * SQL Data Type: nvarchar(255)")});/**
59048
59057
  * zod schema definition for the entity MJ: Conversation Detail Ratings
59049
59058
  */var MJConversationDetailRatingSchema=z.object({ID:z.string().describe("\n * * Field Name: ID\n * * Display Name: ID\n * * SQL Data Type: uniqueidentifier\n * * Default Value: newsequentialid()"),ConversationDetailID:z.string().describe("\n * * Field Name: ConversationDetailID\n * * Display Name: Conversation Detail\n * * SQL Data Type: uniqueidentifier\n * * Related Entity/Foreign Key: MJ: Conversation Details (vwConversationDetails.ID)\n * * Description: The conversation message being rated."),UserID:z.string().describe("\n * * Field Name: UserID\n * * Display Name: User\n * * SQL Data Type: uniqueidentifier\n * * Related Entity/Foreign Key: MJ: Users (vwUsers.ID)\n * * Description: The user providing the rating."),Rating:z.number().describe("\n * * Field Name: Rating\n * * Display Name: Rating\n * * SQL Data Type: int\n * * Description: Rating on a 1-10 scale where 1 is thumbs down and 10 is thumbs up."),Comments:z.string().nullable().describe("\n * * Field Name: Comments\n * * Display Name: Comments\n * * SQL Data Type: nvarchar(MAX)\n * * Description: Optional textual feedback from the user about this message."),__mj_CreatedAt:z.date().describe("\n * * Field Name: __mj_CreatedAt\n * * Display Name: Created At\n * * SQL Data Type: datetimeoffset\n * * Default Value: getutcdate()"),__mj_UpdatedAt:z.date().describe("\n * * Field Name: __mj_UpdatedAt\n * * Display Name: Updated At\n * * SQL Data Type: datetimeoffset\n * * Default Value: getutcdate()"),ConversationDetail:z.string().describe("\n * * Field Name: ConversationDetail\n * * Display Name: Conversation Detail\n * * SQL Data Type: nvarchar(MAX)"),User:z.string().describe("\n * * Field Name: User\n * * Display Name: User\n * * SQL Data Type: nvarchar(100)")});/**
59050
59059
  * zod schema definition for the entity MJ: Conversation Details
@@ -59272,7 +59281,7 @@ function _regenerator(){/*! regenerator-runtime -- Copyright (c) 2014-present, F
59272
59281
  * zod schema definition for the entity MJ: Record Changes
59273
59282
  */var MJRecordChangeSchema=z.object({ID:z.string().describe("\n * * Field Name: ID\n * * Display Name: ID\n * * SQL Data Type: uniqueidentifier\n * * Default Value: newsequentialid()"),EntityID:z.string().describe("\n * * Field Name: EntityID\n * * Display Name: Entity ID\n * * SQL Data Type: uniqueidentifier\n * * Related Entity/Foreign Key: MJ: Entities (vwEntities.ID)"),RecordID:z.string().describe("\n * * Field Name: RecordID\n * * Display Name: Record ID\n * * SQL Data Type: nvarchar(750)\n * * Description: Field RecordID for entity Record Changes."),UserID:z.string().describe("\n * * Field Name: UserID\n * * Display Name: User ID\n * * SQL Data Type: uniqueidentifier\n * * Related Entity/Foreign Key: MJ: Users (vwUsers.ID)"),Type:z.union([z.literal('Create'),z.literal('Delete'),z.literal('Snapshot'),z.literal('Update')]).describe("\n * * Field Name: Type\n * * Display Name: Change Type\n * * SQL Data Type: nvarchar(20)\n * * Default Value: Create\n * * Value List Type: List\n * * Possible Values \n * * Create\n * * Delete\n * * Snapshot\n * * Update\n * * Description: Create, Update, or Delete"),Source:z.union([z.literal('External'),z.literal('Internal'),z.literal('Restore')]).describe("\n * * Field Name: Source\n * * Display Name: Source\n * * SQL Data Type: nvarchar(20)\n * * Default Value: Internal\n * * Value List Type: List\n * * Possible Values \n * * External\n * * Internal\n * * Restore\n * * Description: Internal or External"),ChangedAt:z.date().describe("\n * * Field Name: ChangedAt\n * * Display Name: Changed At\n * * SQL Data Type: datetimeoffset\n * * Default Value: getutcdate()\n * * Description: The date/time that the change occured."),ChangesJSON:z.string().describe("\n * * Field Name: ChangesJSON\n * * Display Name: Changes JSON\n * * SQL Data Type: nvarchar(MAX)\n * * Description: JSON structure that describes what was changed in a structured format."),ChangesDescription:z.string().describe("\n * * Field Name: ChangesDescription\n * * Display Name: Changes Description\n * * SQL Data Type: nvarchar(MAX)\n * * Description: A generated, human-readable description of what was changed."),FullRecordJSON:z.string().describe("\n * * Field Name: FullRecordJSON\n * * Display Name: Full Record JSON\n * * SQL Data Type: nvarchar(MAX)\n * * Description: A complete snapshot of the record AFTER the change was applied in a JSON format that can be parsed."),Status:z.union([z.literal('Complete'),z.literal('Error'),z.literal('Pending')]).describe("\n * * Field Name: Status\n * * Display Name: Status\n * * SQL Data Type: nvarchar(50)\n * * Default Value: Complete\n * * Value List Type: List\n * * Possible Values \n * * Complete\n * * Error\n * * Pending\n * * Description: For internal record changes generated within MJ, the status is immediately Complete. For external changes that are detected, the workflow starts off as Pending, then In Progress and finally either Complete or Error"),ErrorLog:z.string().nullable().describe("\n * * Field Name: ErrorLog\n * * Display Name: Error Log\n * * SQL Data Type: nvarchar(MAX)\n * * Description: Field ErrorLog for entity Record Changes."),ReplayRunID:z.string().nullable().describe("\n * * Field Name: ReplayRunID\n * * Display Name: Replay Run ID\n * * SQL Data Type: uniqueidentifier\n * * Related Entity/Foreign Key: MJ: Record Change Replay Runs (vwRecordChangeReplayRuns.ID)"),IntegrationID:z.string().nullable().describe("\n * * Field Name: IntegrationID\n * * Display Name: Integration ID\n * * SQL Data Type: uniqueidentifier\n * * Related Entity/Foreign Key: MJ: Integrations (vwIntegrations.ID)"),Comments:z.string().nullable().describe("\n * * Field Name: Comments\n * * Display Name: Comments\n * * SQL Data Type: nvarchar(MAX)"),CreatedAt:z.date().describe("\n * * Field Name: CreatedAt\n * * Display Name: Created At\n * * SQL Data Type: datetimeoffset\n * * Default Value: getutcdate()\n * * Description: Field CreatedAt for entity Record Changes."),UpdatedAt:z.date().describe("\n * * Field Name: UpdatedAt\n * * Display Name: Updated At\n * * SQL Data Type: datetimeoffset\n * * Default Value: getutcdate()\n * * Description: Field UpdatedAt for entity Record Changes."),RestoredFromID:z.string().nullable().describe("\n * * Field Name: RestoredFromID\n * * Display Name: Restored From ID\n * * SQL Data Type: uniqueidentifier\n * * Related Entity/Foreign Key: MJ: Record Changes (vwRecordChanges.ID)\n * * Description: When this RecordChange was produced by a restore operation, points at the historical RecordChange whose state was restored. NULL for ordinary changes. Together with Source='Restore' this builds the version-chain lineage for auditing and timeline navigation."),RestoreReason:z.string().nullable().describe("\n * * Field Name: RestoreReason\n * * Display Name: Restore Reason\n * * SQL Data Type: nvarchar(MAX)\n * * Description: Optional user-entered explanation captured at restore time. Persisted for audit purposes (regulated industries often require a reason for every reversal). NULL when the user did not enter one or when the change was not a restore."),Entity:z.string().describe("\n * * Field Name: Entity\n * * Display Name: Entity Name\n * * SQL Data Type: nvarchar(255)"),User:z.string().describe("\n * * Field Name: User\n * * Display Name: User\n * * SQL Data Type: nvarchar(100)"),ReplayRun:z.string().nullable().describe("\n * * Field Name: ReplayRun\n * * Display Name: Replay Run\n * * SQL Data Type: nvarchar(100)"),Integration:z.string().nullable().describe("\n * * Field Name: Integration\n * * Display Name: Integration\n * * SQL Data Type: nvarchar(100)"),RestoredFrom:z.string().nullable().describe("\n * * Field Name: RestoredFrom\n * * Display Name: Restored From\n * * SQL Data Type: nvarchar(750)"),RootRestoredFromID:z.string().nullable().describe("\n * * Field Name: RootRestoredFromID\n * * Display Name: Root Restored From ID\n * * SQL Data Type: uniqueidentifier")});/**
59274
59283
  * zod schema definition for the entity MJ: Record Geo Codes
59275
- */var MJRecordGeoCodeSchema=z.object({ID:z.string().describe("\n * * Field Name: ID\n * * Display Name: ID\n * * SQL Data Type: uniqueidentifier\n * * Default Value: newsequentialid()"),EntityID:z.string().describe("\n * * Field Name: EntityID\n * * Display Name: Entity\n * * SQL Data Type: uniqueidentifier\n * * Related Entity/Foreign Key: MJ: Entities (vwEntities.ID)\n * * Description: Foreign key to Entity. Identifies which entity this geocode belongs to."),RecordID:z.string().describe("\n * * Field Name: RecordID\n * * Display Name: Record\n * * SQL Data Type: nvarchar(450)\n * * Description: MJ composite primary key format string identifying the source record (e.g., \"ID|<uuid>\"). Max 450 chars for SQL Server index support."),LocationType:z.string().describe("\n * * Field Name: LocationType\n * * Display Name: Location Type\n * * SQL Data Type: nvarchar(50)\n * * Default Value: Primary\n * * Description: Discriminator for multi-location entities. Default \"Primary\" for single-address entities. Multi-address examples: \"Home\", \"Business\", \"Mailing\", \"PO Box\"."),Latitude:z.number().nullable().describe("\n * * Field Name: Latitude\n * * Display Name: Latitude\n * * SQL Data Type: decimal(10, 6)\n * * Description: Geocoded latitude coordinate. NULL when Status is \"pending\" or \"failed\"."),Longitude:z.number().nullable().describe("\n * * Field Name: Longitude\n * * Display Name: Longitude\n * * SQL Data Type: decimal(10, 6)\n * * Description: Geocoded longitude coordinate. NULL when Status is \"pending\" or \"failed\"."),Precision:z.union([z.literal('city'),z.literal('country'),z.literal('county'),z.literal('exact'),z.literal('postal_code'),z.literal('state_province')]).nullable().describe("\n * * Field Name: Precision\n * * Display Name: Precision\n * * SQL Data Type: nvarchar(20)\n * * Value List Type: List\n * * Possible Values \n * * city\n * * country\n * * county\n * * exact\n * * postal_code\n * * state_province\n * * Description: Precision level of the geocoded result: exact (street address), postal_code, city, county, state_province, or country."),CountryID:z.string().nullable().describe("\n * * Field Name: CountryID\n * * Display Name: Country\n * * SQL Data Type: uniqueidentifier\n * * Related Entity/Foreign Key: MJ: Countries (vwCountries.ID)\n * * Description: Optional FK to Country reference table. Populated alongside lat/lng to enable choropleth grouping without reverse-geocoding at render time."),StateProvinceID:z.string().nullable().describe("\n * * Field Name: StateProvinceID\n * * Display Name: State Province\n * * SQL Data Type: uniqueidentifier\n * * Related Entity/Foreign Key: MJ: State Provinces (vwStateProvinces.ID)\n * * Description: Optional FK to StateProvince reference table. Populated alongside lat/lng to enable state-level choropleth grouping."),Status:z.union([z.literal('failed'),z.literal('pending'),z.literal('success')]).describe("\n * * Field Name: Status\n * * Display Name: Status\n * * SQL Data Type: nvarchar(20)\n * * Default Value: pending\n * * Value List Type: List\n * * Possible Values \n * * failed\n * * pending\n * * success\n * * Description: Current geocoding status: \"pending\" (awaiting geocode), \"success\" (geocoded), or \"failed\" (geocoding error). Used by scheduled job for retry logic."),ErrorMessage:z.string().nullable().describe("\n * * Field Name: ErrorMessage\n * * Display Name: Error Message\n * * SQL Data Type: nvarchar(MAX)\n * * Description: Error details when Status is \"failed\". Captures API error messages, rate limit info, etc. for debugging."),RetryCount:z.number().describe("\n * * Field Name: RetryCount\n * * Display Name: Retry Count\n * * SQL Data Type: int\n * * Default Value: 0\n * * Description: Number of geocoding attempts. Used for exponential backoff in the scheduled retry job. Stops retrying at configurable maxRetries (default 3)."),SourceFieldHash:z.string().nullable().describe("\n * * Field Name: SourceFieldHash\n * * Display Name: Source Field Hash\n * * SQL Data Type: nvarchar(64)\n * * Description: SHA-256 hash of the source field values that produced this geocode. When source fields change on save, the hash won't match and re-geocoding is triggered. Format: SHA-256(concat(field1, \"|\", field2, ...))."),GeocodedAt:z.date().nullable().describe("\n * * Field Name: GeocodedAt\n * * Display Name: Geocoded At\n * * SQL Data Type: datetimeoffset\n * * Description: Timestamp of when geocoding was last attempted (success or failure)."),GeocodingSource:z.union([z.literal('google'),z.literal('ip_geolocation'),z.literal('manual'),z.literal('native'),z.literal('reference_data'),z.literal('reverse')]).nullable().describe("\n * * Field Name: GeocodingSource\n * * Display Name: Geocoding Source\n * * SQL Data Type: nvarchar(30)\n * * Value List Type: List\n * * Possible Values \n * * google\n * * ip_geolocation\n * * manual\n * * native\n * * reference_data\n * * reverse\n * * Description: How this geocode was produced: google (Google Geocoding API), reference_data (resolved via Country/StateProvince tables), manual (user-entered), ip_geolocation (IP lookup), native (copied from entity lat/lng fields), reverse (reverse geocode from coordinates)."),__mj_CreatedAt:z.date().describe("\n * * Field Name: __mj_CreatedAt\n * * Display Name: Created At\n * * SQL Data Type: datetimeoffset\n * * Default Value: getutcdate()"),__mj_UpdatedAt:z.date().describe("\n * * Field Name: __mj_UpdatedAt\n * * Display Name: Updated At\n * * SQL Data Type: datetimeoffset\n * * Default Value: getutcdate()"),Entity:z.string().describe("\n * * Field Name: Entity\n * * Display Name: Entity Name\n * * SQL Data Type: nvarchar(255)"),Country:z.string().nullable().describe("\n * * Field Name: Country\n * * Display Name: Country Name\n * * SQL Data Type: nvarchar(200)"),StateProvince:z.string().nullable().describe("\n * * Field Name: StateProvince\n * * Display Name: State Province Name\n * * SQL Data Type: nvarchar(200)")});/**
59284
+ */var MJRecordGeoCodeSchema=z.object({ID:z.string().describe("\n * * Field Name: ID\n * * Display Name: ID\n * * SQL Data Type: uniqueidentifier\n * * Default Value: newsequentialid()"),EntityID:z.string().describe("\n * * Field Name: EntityID\n * * Display Name: Entity\n * * SQL Data Type: uniqueidentifier\n * * Related Entity/Foreign Key: MJ: Entities (vwEntities.ID)\n * * Description: Foreign key to Entity. Identifies which entity this geocode belongs to."),RecordID:z.string().describe("\n * * Field Name: RecordID\n * * Display Name: Record\n * * SQL Data Type: nvarchar(450)\n * * Description: MJ composite primary key format string identifying the source record (e.g., \"ID|<uuid>\"). Max 450 chars for SQL Server index support."),LocationType:z.string().describe("\n * * Field Name: LocationType\n * * Display Name: Location Type\n * * SQL Data Type: nvarchar(50)\n * * Default Value: Primary\n * * Description: Discriminator for multi-location entities. Default \"Primary\" for single-address entities. Multi-address examples: \"Home\", \"Business\", \"Mailing\", \"PO Box\"."),Latitude:z.number().nullable().describe("\n * * Field Name: Latitude\n * * Display Name: Latitude\n * * SQL Data Type: decimal(10, 6)\n * * Description: Geocoded latitude coordinate. NULL when Status is \"pending\" or \"failed\"."),Longitude:z.number().nullable().describe("\n * * Field Name: Longitude\n * * Display Name: Longitude\n * * SQL Data Type: decimal(10, 6)\n * * Description: Geocoded longitude coordinate. NULL when Status is \"pending\" or \"failed\"."),Precision:z.union([z.literal('city'),z.literal('country'),z.literal('county'),z.literal('exact'),z.literal('postal_code'),z.literal('state_province')]).nullable().describe("\n * * Field Name: Precision\n * * Display Name: Precision\n * * SQL Data Type: nvarchar(20)\n * * Value List Type: List\n * * Possible Values \n * * city\n * * country\n * * county\n * * exact\n * * postal_code\n * * state_province\n * * Description: Precision level of the geocoded result: exact (street address), postal_code, city, county, state_province, or country."),CountryID:z.string().nullable().describe("\n * * Field Name: CountryID\n * * Display Name: Country\n * * SQL Data Type: uniqueidentifier\n * * Related Entity/Foreign Key: MJ: Countries (vwCountries.ID)\n * * Description: Optional FK to Country reference table. Populated alongside lat/lng to enable choropleth grouping without reverse-geocoding at render time."),StateProvinceID:z.string().nullable().describe("\n * * Field Name: StateProvinceID\n * * Display Name: State Province\n * * SQL Data Type: uniqueidentifier\n * * Related Entity/Foreign Key: MJ: State Provinces (vwStateProvinces.ID)\n * * Description: Optional FK to StateProvince reference table. Populated alongside lat/lng to enable state-level choropleth grouping."),Status:z.union([z.literal('failed'),z.literal('pending'),z.literal('success')]).describe("\n * * Field Name: Status\n * * Display Name: Status\n * * SQL Data Type: nvarchar(20)\n * * Default Value: pending\n * * Value List Type: List\n * * Possible Values \n * * failed\n * * pending\n * * success\n * * Description: Current geocoding status: \"pending\" (awaiting geocode), \"success\" (geocoded), or \"failed\" (geocoding error). Used by scheduled job for retry logic."),ErrorMessage:z.string().nullable().describe("\n * * Field Name: ErrorMessage\n * * Display Name: Error Message\n * * SQL Data Type: nvarchar(MAX)\n * * Description: Error details when Status is \"failed\". Captures API error messages, rate limit info, etc. for debugging."),RetryCount:z.number().describe("\n * * Field Name: RetryCount\n * * Display Name: Retry Count\n * * SQL Data Type: int\n * * Default Value: 0\n * * Description: Number of geocoding attempts. Used for exponential backoff in the scheduled retry job. Stops retrying at configurable maxRetries (default 3)."),SourceFieldHash:z.string().nullable().describe("\n * * Field Name: SourceFieldHash\n * * Display Name: Source Field Hash\n * * SQL Data Type: nvarchar(64)\n * * Description: SHA-256 hash of the source field values that produced this geocode. When source fields change on save, the hash won't match and re-geocoding is triggered. Format: SHA-256(concat(field1, \"|\", field2, ...))."),GeocodedAt:z.date().nullable().describe("\n * * Field Name: GeocodedAt\n * * Display Name: Geocoded At\n * * SQL Data Type: datetimeoffset\n * * Description: Timestamp of when geocoding was last attempted (success or failure)."),GeocodingSource:z.union([z.literal('geocodio'),z.literal('google'),z.literal('here'),z.literal('ip_geolocation'),z.literal('manual'),z.literal('native'),z.literal('reference_data'),z.literal('reverse')]).nullable().describe("\n * * Field Name: GeocodingSource\n * * Display Name: Geocoding Source\n * * SQL Data Type: nvarchar(30)\n * * Value List Type: List\n * * Possible Values \n * * geocodio\n * * google\n * * here\n * * ip_geolocation\n * * manual\n * * native\n * * reference_data\n * * reverse\n * * Description: Source that produced this geocode. One of: google, geocodio, here, reference_data, manual, ip_geolocation, native, reverse."),__mj_CreatedAt:z.date().describe("\n * * Field Name: __mj_CreatedAt\n * * Display Name: Created At\n * * SQL Data Type: datetimeoffset\n * * Default Value: getutcdate()"),__mj_UpdatedAt:z.date().describe("\n * * Field Name: __mj_UpdatedAt\n * * Display Name: Updated At\n * * SQL Data Type: datetimeoffset\n * * Default Value: getutcdate()"),Entity:z.string().describe("\n * * Field Name: Entity\n * * Display Name: Entity Name\n * * SQL Data Type: nvarchar(255)"),Country:z.string().nullable().describe("\n * * Field Name: Country\n * * Display Name: Country Name\n * * SQL Data Type: nvarchar(200)"),StateProvince:z.string().nullable().describe("\n * * Field Name: StateProvince\n * * Display Name: State Province Name\n * * SQL Data Type: nvarchar(200)")});/**
59276
59285
  * zod schema definition for the entity MJ: Record Links
59277
59286
  */var MJRecordLinkSchema=z.object({ID:z.string().describe("\n * * Field Name: ID\n * * Display Name: ID\n * * SQL Data Type: uniqueidentifier\n * * Default Value: newsequentialid()"),SourceEntityID:z.string().describe("\n * * Field Name: SourceEntityID\n * * Display Name: Source Entity ID\n * * SQL Data Type: uniqueidentifier\n * * Related Entity/Foreign Key: MJ: Entities (vwEntities.ID)"),SourceRecordID:z.string().describe("\n * * Field Name: SourceRecordID\n * * Display Name: Source Record ID\n * * SQL Data Type: nvarchar(500)\n * * Description: Primary key value(s) of the source record - scalar for simple PKs or JSON KeyValuePair array for composite PKs"),TargetEntityID:z.string().describe("\n * * Field Name: TargetEntityID\n * * Display Name: Target Entity ID\n * * SQL Data Type: uniqueidentifier\n * * Related Entity/Foreign Key: MJ: Entities (vwEntities.ID)"),TargetRecordID:z.string().describe("\n * * Field Name: TargetRecordID\n * * Display Name: Target Record ID\n * * SQL Data Type: nvarchar(500)\n * * Description: Primary key value(s) of the target record - scalar for simple PKs or JSON KeyValuePair array for composite PKs"),LinkType:z.string().nullable().describe("\n * * Field Name: LinkType\n * * Display Name: Link Type\n * * SQL Data Type: nvarchar(50)\n * * Description: Application-specific relationship type describing how the records are related"),Sequence:z.number().nullable().describe("\n * * Field Name: Sequence\n * * Display Name: Sequence\n * * SQL Data Type: int\n * * Description: Display sequence for ordering linked records in UI"),Metadata:z.string().nullable().describe("\n * * Field Name: Metadata\n * * Display Name: Metadata\n * * SQL Data Type: nvarchar(MAX)\n * * Description: JSON field for storing additional link-specific metadata"),__mj_CreatedAt:z.date().describe("\n * * Field Name: __mj_CreatedAt\n * * Display Name: Created At\n * * SQL Data Type: datetimeoffset\n * * Default Value: getutcdate()"),__mj_UpdatedAt:z.date().describe("\n * * Field Name: __mj_UpdatedAt\n * * Display Name: Updated At\n * * SQL Data Type: datetimeoffset\n * * Default Value: getutcdate()"),SourceEntity:z.string().describe("\n * * Field Name: SourceEntity\n * * Display Name: Source Entity\n * * SQL Data Type: nvarchar(255)"),TargetEntity:z.string().describe("\n * * Field Name: TargetEntity\n * * Display Name: Target Entity\n * * SQL Data Type: nvarchar(255)")});/**
59278
59287
  * zod schema definition for the entity MJ: Record Merge Deletion Logs
@@ -62591,9 +62600,10 @@ _context31.p=1;_context31.n=2;return provider.BeginTransaction();case 2:_context
62591
62600
  * * ForEach
62592
62601
  * * Prompt
62593
62602
  * * Sub-Agent
62603
+ * * Tool
62594
62604
  * * Validation
62595
62605
  * * While
62596
- * * Description: Type of execution step: Prompt, Actions, Sub-Agent, Decision, Chat, Validation
62606
+ * * Description: Type of execution step: Prompt, Actions, Sub-Agent, Decision, Chat, Validation, ForEach, While, Tool
62597
62607
  */},{key:"StepType",get:function get(){return this.Get('StepType');},set:function set(value){this.Set('StepType',value);}/**
62598
62608
  * * Field Name: StepName
62599
62609
  * * Display Name: Step Name
@@ -63755,7 +63765,7 @@ _context40.p=1;_context40.n=2;return provider.BeginTransaction();case 2:_context
63755
63765
  * * Description: When true, enables automatic compression of conversation context when the message threshold is reached.
63756
63766
  */},{key:"EnableContextCompression",get:function get(){return this.Get('EnableContextCompression');},set:function set(value){this.Set('EnableContextCompression',value);}/**
63757
63767
  * * Field Name: ContextCompressionMessageThreshold
63758
- * * Display Name: Message Threshold
63768
+ * * Display Name: Compression Message Threshold
63759
63769
  * * SQL Data Type: int
63760
63770
  * * Description: Number of messages that triggers context compression when EnableContextCompression is true.
63761
63771
  */},{key:"ContextCompressionMessageThreshold",get:function get(){return this.Get('ContextCompressionMessageThreshold');},set:function set(value){this.Set('ContextCompressionMessageThreshold',value);}/**
@@ -63765,7 +63775,7 @@ _context40.p=1;_context40.n=2;return provider.BeginTransaction();case 2:_context
63765
63775
  * * Related Entity/Foreign Key: MJ: AI Prompts (vwAIPrompts.ID)
63766
63776
  */},{key:"ContextCompressionPromptID",get:function get(){return this.Get('ContextCompressionPromptID');},set:function set(value){this.Set('ContextCompressionPromptID',value);}/**
63767
63777
  * * Field Name: ContextCompressionMessageRetentionCount
63768
- * * Display Name: Retention Count
63778
+ * * Display Name: Compression Retention Count
63769
63779
  * * SQL Data Type: int
63770
63780
  * * Description: Number of recent messages to keep uncompressed when context compression is applied.
63771
63781
  */},{key:"ContextCompressionMessageRetentionCount",get:function get(){return this.Get('ContextCompressionMessageRetentionCount');},set:function set(value){this.Set('ContextCompressionMessageRetentionCount',value);}/**
@@ -63807,25 +63817,25 @@ _context40.p=1;_context40.n=2;return provider.BeginTransaction();case 2:_context
63807
63817
  * * Description: Controls whether model selection is driven by the Agent Type's system prompt or the Agent's specific prompt. Default is Agent Type for backward compatibility.
63808
63818
  */},{key:"ModelSelectionMode",get:function get(){return this.Get('ModelSelectionMode');},set:function set(value){this.Set('ModelSelectionMode',value);}/**
63809
63819
  * * Field Name: PayloadDownstreamPaths
63810
- * * Display Name: Downstream Paths
63820
+ * * Display Name: Payload Downstream Paths
63811
63821
  * * SQL Data Type: nvarchar(MAX)
63812
63822
  * * Default Value: ["*"]
63813
63823
  * * Description: JSON array of paths that define which parts of the payload should be sent downstream to sub-agents. Use ["*"] to send entire payload, or specify paths like ["customer.id", "campaign.*", "analysis.sentiment"]
63814
63824
  */},{key:"PayloadDownstreamPaths",get:function get(){return this.Get('PayloadDownstreamPaths');},set:function set(value){this.Set('PayloadDownstreamPaths',value);}/**
63815
63825
  * * Field Name: PayloadUpstreamPaths
63816
- * * Display Name: Upstream Paths
63826
+ * * Display Name: Payload Upstream Paths
63817
63827
  * * SQL Data Type: nvarchar(MAX)
63818
63828
  * * Default Value: ["*"]
63819
63829
  * * Description: JSON array of paths that define which parts of the payload sub-agents are allowed to write back upstream. Use ["*"] to allow all writes, or specify paths like ["analysis.results", "recommendations.*"]
63820
63830
  */},{key:"PayloadUpstreamPaths",get:function get(){return this.Get('PayloadUpstreamPaths');},set:function set(value){this.Set('PayloadUpstreamPaths',value);}/**
63821
63831
  * * Field Name: PayloadSelfReadPaths
63822
- * * Display Name: Self Read Paths
63832
+ * * Display Name: Payload Self Read Paths
63823
63833
  * * SQL Data Type: nvarchar(MAX)
63824
63834
  * * Description: JSON array of paths that specify what parts of the payload the agent's own prompt can read. Controls downstream data
63825
63835
  flow when the agent executes its own prompt step.
63826
63836
  */},{key:"PayloadSelfReadPaths",get:function get(){return this.Get('PayloadSelfReadPaths');},set:function set(value){this.Set('PayloadSelfReadPaths',value);}/**
63827
63837
  * * Field Name: PayloadSelfWritePaths
63828
- * * Display Name: Self Write Paths
63838
+ * * Display Name: Payload Self Write Paths
63829
63839
  * * SQL Data Type: nvarchar(MAX)
63830
63840
  * * Description: JSON array of paths that specify what parts of the payload the agent's own prompt can write back. Controls upstream
63831
63841
  data flow when the agent executes its own prompt step.
@@ -63841,7 +63851,7 @@ data flow when the agent executes its own prompt step.
63841
63851
  * * Description: Optional JSON schema or requirements that define the expected structure and content of the agent's final payload. Used to validate the output when the agent declares success. Similar to OutputExample in AI Prompts.
63842
63852
  */},{key:"FinalPayloadValidation",get:function get(){return this.Get('FinalPayloadValidation');},set:function set(value){this.Set('FinalPayloadValidation',value);}/**
63843
63853
  * * Field Name: FinalPayloadValidationMode
63844
- * * Display Name: Final Validation Mode
63854
+ * * Display Name: Final Payload Validation Mode
63845
63855
  * * SQL Data Type: nvarchar(25)
63846
63856
  * * Default Value: Retry
63847
63857
  * * Value List Type: List
@@ -63852,7 +63862,7 @@ data flow when the agent executes its own prompt step.
63852
63862
  * * Description: Determines how to handle validation failures when FinalPayloadValidation is specified. Options: Retry (default) - retry the agent with validation feedback, Fail - fail the agent run immediately, Warn - log a warning but allow success.
63853
63863
  */},{key:"FinalPayloadValidationMode",get:function get(){return this.Get('FinalPayloadValidationMode');},set:function set(value){this.Set('FinalPayloadValidationMode',value);}/**
63854
63864
  * * Field Name: FinalPayloadValidationMaxRetries
63855
- * * Display Name: Max Validation Retries
63865
+ * * Display Name: Final Payload Validation Max Retries
63856
63866
  * * SQL Data Type: int
63857
63867
  * * Default Value: 3
63858
63868
  * * Description: Maximum number of retry attempts allowed when FinalPayloadValidation fails with
@@ -63898,7 +63908,7 @@ if this limit is exceeded.
63898
63908
  * * Description: Optional JSON schema validation to apply to the input payload before agent execution begins. Uses the same JSONValidator format as FinalPayloadValidation.
63899
63909
  */},{key:"StartingPayloadValidation",get:function get(){return this.Get('StartingPayloadValidation');},set:function set(value){this.Set('StartingPayloadValidation',value);}/**
63900
63910
  * * Field Name: StartingPayloadValidationMode
63901
- * * Display Name: Starting Validation Mode
63911
+ * * Display Name: Starting Payload Validation Mode
63902
63912
  * * SQL Data Type: nvarchar(25)
63903
63913
  * * Default Value: Fail
63904
63914
  * * Value List Type: List
@@ -63908,7 +63918,7 @@ if this limit is exceeded.
63908
63918
  * * Description: Determines how to handle StartingPayloadValidation failures. Fail = reject invalid input, Warn = log warning but proceed.
63909
63919
  */},{key:"StartingPayloadValidationMode",get:function get(){return this.Get('StartingPayloadValidationMode');},set:function set(value){this.Set('StartingPayloadValidationMode',value);}/**
63910
63920
  * * Field Name: DefaultPromptEffortLevel
63911
- * * Display Name: Default Effort Level
63921
+ * * Display Name: Default Prompt Effort Level
63912
63922
  * * SQL Data Type: int
63913
63923
  * * Description: Default effort level for all prompts executed by this agent (1-100, where 1=minimal effort, 100=maximum effort). Takes precedence over individual prompt EffortLevel settings but can be overridden by runtime parameters. Inherited by sub-agents unless explicitly overridden.
63914
63924
  */},{key:"DefaultPromptEffortLevel",get:function get(){return this.Get('DefaultPromptEffortLevel');},set:function set(value){this.Set('DefaultPromptEffortLevel',value);}/**
@@ -63974,7 +63984,7 @@ if this limit is exceeded.
63974
63984
  * * Description: When enabled, agent notes will be automatically injected into the agent context based on scoping rules.
63975
63985
  */},{key:"InjectNotes",get:function get(){return this.Get('InjectNotes');},set:function set(value){this.Set('InjectNotes',value);}/**
63976
63986
  * * Field Name: MaxNotesToInject
63977
- * * Display Name: Max Notes to Inject
63987
+ * * Display Name: Max Notes To Inject
63978
63988
  * * SQL Data Type: int
63979
63989
  * * Default Value: 5
63980
63990
  * * Description: Maximum number of notes to inject into agent context per request.
@@ -63997,7 +64007,7 @@ if this limit is exceeded.
63997
64007
  * * Description: When enabled, agent examples will be automatically injected into the agent context based on scoping rules.
63998
64008
  */},{key:"InjectExamples",get:function get(){return this.Get('InjectExamples');},set:function set(value){this.Set('InjectExamples',value);}/**
63999
64009
  * * Field Name: MaxExamplesToInject
64000
- * * Display Name: Max Examples to Inject
64010
+ * * Display Name: Max Examples To Inject
64001
64011
  * * SQL Data Type: int
64002
64012
  * * Default Value: 3
64003
64013
  * * Description: Maximum number of examples to inject into agent context per request.
@@ -64037,23 +64047,23 @@ if this limit is exceeded.
64037
64047
  * * 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.
64038
64048
  */},{key:"MaxMessages",get:function get(){return this.Get('MaxMessages');},set:function set(value){this.Set('MaxMessages',value);}/**
64039
64049
  * * Field Name: AttachmentStorageProviderID
64040
- * * Display Name: Storage Provider
64050
+ * * Display Name: Attachment Storage Provider
64041
64051
  * * SQL Data Type: uniqueidentifier
64042
64052
  * * Related Entity/Foreign Key: MJ: File Storage Providers (vwFileStorageProviders.ID)
64043
64053
  * * Description: File storage provider for large attachments. Overrides the default from AIConfiguration. NULL uses system default.
64044
64054
  */},{key:"AttachmentStorageProviderID",get:function get(){return this.Get('AttachmentStorageProviderID');},set:function set(value){this.Set('AttachmentStorageProviderID',value);}/**
64045
64055
  * * Field Name: AttachmentRootPath
64046
- * * Display Name: Root Path
64056
+ * * Display Name: Attachment Root Path
64047
64057
  * * SQL Data Type: nvarchar(500)
64048
64058
  * * 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
64049
64059
  */},{key:"AttachmentRootPath",get:function get(){return this.Get('AttachmentRootPath');},set:function set(value){this.Set('AttachmentRootPath',value);}/**
64050
64060
  * * Field Name: InlineStorageThresholdBytes
64051
- * * Display Name: Inline Storage Threshold
64061
+ * * Display Name: Inline Storage Threshold Bytes
64052
64062
  * * SQL Data Type: int
64053
64063
  * * 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.
64054
64064
  */},{key:"InlineStorageThresholdBytes",get:function get(){return this.Get('InlineStorageThresholdBytes');},set:function set(value){this.Set('InlineStorageThresholdBytes',value);}/**
64055
64065
  * * Field Name: AgentTypePromptParams
64056
- * * Display Name: Prompt Parameters
64066
+ * * Display Name: Agent Type Prompt Params
64057
64067
  * * SQL Data Type: nvarchar(MAX)
64058
64068
  * * 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.
64059
64069
  */},{key:"AgentTypePromptParams",get:function get(){return this.Get('AgentTypePromptParams');},set:function set(value){this.Set('AgentTypePromptParams',value);}/**
@@ -64092,7 +64102,7 @@ if this limit is exceeded.
64092
64102
  * * Description: Foreign key to AIAgentCategory. Assigns this agent to an organizational category for grouping, filtering, and inherited assignment strategy resolution.
64093
64103
  */},{key:"CategoryID",get:function get(){return this.Get('CategoryID');},set:function set(value){this.Set('CategoryID',value);}/**
64094
64104
  * * Field Name: AllowEphemeralClientTools
64095
- * * Display Name: Allow Ephemeral Tools
64105
+ * * Display Name: Allow Ephemeral Client Tools
64096
64106
  * * SQL Data Type: bit
64097
64107
  * * Default Value: 1
64098
64108
  * * Description: When true (default), this agent accepts runtime-registered ephemeral client tools that are not defined in metadata. Set to false for agents that require strict tool governance.
@@ -64114,16 +64124,22 @@ if this limit is exceeded.
64114
64124
  * * None
64115
64125
  * * Description: Controls the agent's search capability. All = may use any scope including Global; search action does not restrict. Assigned = may use ONLY scopes explicitly linked via AIAgentSearchScope; scoped search action enforces this. None = agent has no search capability; the scoped search action rejects all requests.
64116
64126
  */},{key:"SearchScopeAccess",get:function get(){return this.Get('SearchScopeAccess');},set:function set(value){this.Set('SearchScopeAccess',value);}/**
64127
+ * * Field Name: AcceptUnregisteredFiles
64128
+ * * Display Name: Accept Unregistered Files
64129
+ * * SQL Data Type: bit
64130
+ * * Default Value: 0
64131
+ * * Description: Per-agent opt-in to a Generic Binary fallback for file uploads whose MIME type does not match any registered Artifact Type. When false (default), unrecognized uploads are rejected at upload time with an actionable error. When true, unrecognized uploads resolve to the Generic Binary artifact type, exposing only get_full and get_metadata tools. Scoped per agent — there is no system-wide global flag.
64132
+ */},{key:"AcceptUnregisteredFiles",get:function get(){return this.Get('AcceptUnregisteredFiles');},set:function set(value){this.Set('AcceptUnregisteredFiles',value);}/**
64117
64133
  * * Field Name: Parent
64118
64134
  * * Display Name: Parent Name
64119
64135
  * * SQL Data Type: nvarchar(255)
64120
64136
  */},{key:"Parent",get:function get(){return this.Get('Parent');}/**
64121
64137
  * * Field Name: ContextCompressionPrompt
64122
- * * Display Name: Compression Prompt Name
64138
+ * * Display Name: Compression Prompt Text
64123
64139
  * * SQL Data Type: nvarchar(255)
64124
64140
  */},{key:"ContextCompressionPrompt",get:function get(){return this.Get('ContextCompressionPrompt');}/**
64125
64141
  * * Field Name: Type
64126
- * * Display Name: Type Name
64142
+ * * Display Name: Type
64127
64143
  * * SQL Data Type: nvarchar(100)
64128
64144
  */},{key:"Type",get:function get(){return this.Get('Type');}/**
64129
64145
  * * Field Name: DefaultArtifactType
@@ -64135,7 +64151,7 @@ if this limit is exceeded.
64135
64151
  * * SQL Data Type: nvarchar(100)
64136
64152
  */},{key:"OwnerUser",get:function get(){return this.Get('OwnerUser');}/**
64137
64153
  * * Field Name: AttachmentStorageProvider
64138
- * * Display Name: Storage Provider Name
64154
+ * * Display Name: Attachment Storage Provider Name
64139
64155
  * * SQL Data Type: nvarchar(50)
64140
64156
  */},{key:"AttachmentStorageProvider",get:function get(){return this.Get('AttachmentStorageProvider');}/**
64141
64157
  * * Field Name: Category
@@ -68885,6 +68901,28 @@ _context64.p=1;_context64.n=2;return provider.BeginTransaction();case 2:_context
68885
68901
  * * SQL Data Type: nvarchar(100)
68886
68902
  * * Description: Class name for the BaseArtifactToolLibrary subclass that provides type-specific artifact exploration tools for agents. Resolved via ClassFactory. When NULL, ArtifactToolManager uses name-based fallback resolution.
68887
68903
  */},{key:"ToolLibraryClass",get:function get(){return this.Get('ToolLibraryClass');},set:function set(value){this.Set('ToolLibraryClass',value);}/**
68904
+ * * Field Name: Priority
68905
+ * * Display Name: Priority
68906
+ * * SQL Data Type: int
68907
+ * * Default Value: 0
68908
+ * * Description: Deterministic tiebreaker when multiple Artifact Types match the same MIME pattern. Higher values win. Within a specificity tier (exact > subtype-wildcard), the resolver sorts by Priority desc, then SystemSupplied = false beats SystemSupplied = true, then lowest ID wins.
68909
+ */},{key:"Priority",get:function get(){return this.Get('Priority');},set:function set(value){this.Set('Priority',value);}/**
68910
+ * * Field Name: DefaultDeliveryMode
68911
+ * * Display Name: Default Delivery Mode
68912
+ * * SQL Data Type: nvarchar(20)
68913
+ * * Default Value: ToolsOnly
68914
+ * * Value List Type: List
68915
+ * * Possible Values
68916
+ * * Inline
68917
+ * * ToolsOnly
68918
+ * * Description: How artifacts of this type are delivered to the LLM by default. Inline: emitted as an inline content block (image_url, audio_url, small text, etc.) when the model supports the modality and the size is under the inline cap. ToolsOnly: never inlined; the agent reaches the bytes only through tool calls (get_full, library-specific tools). Per-instance override is one-way via ConversationArtifactVersion.ForceToolsOnly — an instance can opt out of inline but never opt in when the type default is ToolsOnly.
68919
+ */},{key:"DefaultDeliveryMode",get:function get(){return this.Get('DefaultDeliveryMode');},set:function set(value){this.Set('DefaultDeliveryMode',value);}/**
68920
+ * * Field Name: SystemSupplied
68921
+ * * Display Name: System Supplied
68922
+ * * SQL Data Type: bit
68923
+ * * Default Value: 0
68924
+ * * Description: True for Artifact Types shipped as part of the MemberJunction default registry (JSON, PDF, Office variants, Image/Audio/Video, Generic Text, Generic Binary). False for user/org-supplied customizations. Used as a tiebreaker in MIME pattern resolution: user customizations win over shipped defaults at equal Priority.
68925
+ */},{key:"SystemSupplied",get:function get(){return this.Get('SystemSupplied');},set:function set(value){this.Set('SystemSupplied',value);}/**
68888
68926
  * * Field Name: Parent
68889
68927
  * * Display Name: Parent
68890
68928
  * * SQL Data Type: nvarchar(100)
@@ -69087,7 +69125,7 @@ _context64.p=1;_context64.n=2;return provider.BeginTransaction();case 2:_context
69087
69125
  * * Description: User comments specific to this version
69088
69126
  */},{key:"Comments",get:function get(){return this.Get('Comments');},set:function set(value){this.Set('Comments',value);}/**
69089
69127
  * * Field Name: UserID
69090
- * * Display Name: User
69128
+ * * Display Name: User ID
69091
69129
  * * SQL Data Type: uniqueidentifier
69092
69130
  * * Related Entity/Foreign Key: MJ: Users (vwUsers.ID)
69093
69131
  */},{key:"UserID",get:function get(){return this.Get('UserID');},set:function set(value){this.Set('UserID',value);}/**
@@ -69117,7 +69155,7 @@ _context64.p=1;_context64.n=2;return provider.BeginTransaction();case 2:_context
69117
69155
  * * Description: Description of this artifact version. Can differ from Artifact.Description as it may evolve with versions.
69118
69156
  */},{key:"Description",get:function get(){return this.Get('Description');},set:function set(value){this.Set('Description',value);}/**
69119
69157
  * * Field Name: FileID
69120
- * * Display Name: File
69158
+ * * Display Name: File ID
69121
69159
  * * SQL Data Type: uniqueidentifier
69122
69160
  * * Related Entity/Foreign Key: MJ: Files (vwFiles.ID)
69123
69161
  * * Description: Foreign key to the MJ: Files entity. When ContentMode is 'File', this references the binary file stored in MJStorage. NULL when ContentMode is 'Text'.
@@ -69143,10 +69181,16 @@ _context64.p=1;_context64.n=2;return provider.BeginTransaction();case 2:_context
69143
69181
  * * Description: Original filename of the stored file (e.g. report.pdf). Denormalized from the File entity for display without joins. Only populated when ContentMode is 'File'.
69144
69182
  */},{key:"FileName",get:function get(){return this.Get('FileName');},set:function set(value){this.Set('FileName',value);}/**
69145
69183
  * * Field Name: ContentSizeBytes
69146
- * * Display Name: Content Size Bytes
69184
+ * * Display Name: Content Size (Bytes)
69147
69185
  * * SQL Data Type: bigint
69148
69186
  * * Description: Size of the stored file in bytes. Denormalized for display without loading the file. Only populated when ContentMode is 'File'.
69149
69187
  */},{key:"ContentSizeBytes",get:function get(){return this.Get('ContentSizeBytes');},set:function set(value){this.Set('ContentSizeBytes',value);}/**
69188
+ * * Field Name: ForceToolsOnly
69189
+ * * Display Name: Force Tools Only
69190
+ * * SQL Data Type: bit
69191
+ * * Default Value: 0
69192
+ * * Description: One-way override that forces this artifact version to be delivered via tools regardless of the Artifact Type's DefaultDeliveryMode. When true, the resolver never emits an inline content block for this version. There is no inverse override — an instance cannot be widened from ToolsOnly to Inline. Default false.
69193
+ */},{key:"ForceToolsOnly",get:function get(){return this.Get('ForceToolsOnly');},set:function set(value){this.Set('ForceToolsOnly',value);}/**
69150
69194
  * * Field Name: Artifact
69151
69195
  * * Display Name: Artifact
69152
69196
  * * SQL Data Type: nvarchar(255)
@@ -73087,6 +73131,7 @@ _context134.p=1;_context134.n=2;return provider.BeginTransaction();case 2:_conte
73087
73131
  * @extends {BaseEntity}
73088
73132
  * @class
73089
73133
  * @public
73134
+ * @deprecated This entity is deprecated and will be removed in a future version. Using it will result in console warnings.
73090
73135
  */var MJConversationDetailAttachmentEntity=/*#__PURE__*/function(_BaseEntity126){function MJConversationDetailAttachmentEntity(){_classCallCheck(this,MJConversationDetailAttachmentEntity);return _callSuper(this,MJConversationDetailAttachmentEntity,arguments);}_inherits(MJConversationDetailAttachmentEntity,_BaseEntity126);return _createClass(MJConversationDetailAttachmentEntity,[{key:"Load",value:(/**
73091
73136
  * Loads the MJ: Conversation Detail Attachments record from the database
73092
73137
  * @param ID: string - primary key value to load the MJ: Conversation Detail Attachments record.
@@ -73193,18 +73238,28 @@ if(this.InlineData==null&&this.FileID==null){result.Errors.push(new dist/* Valid
73193
73238
  * * SQL Data Type: nvarchar(MAX)
73194
73239
  * * Description: Description of the attachment providing context about its content and purpose.
73195
73240
  */},{key:"Description",get:function get(){return this.Get('Description');},set:function set(value){this.Set('Description',value);}/**
73241
+ * * Field Name: ArtifactVersionID
73242
+ * * Display Name: Artifact Version ID
73243
+ * * SQL Data Type: uniqueidentifier
73244
+ * * Related Entity/Foreign Key: MJ: Artifact Versions (vwArtifactVersions.ID)
73245
+ * * Description: Foreign key to the ArtifactVersion created alongside this attachment by the storage-unification path. When set, the agent resolver routes via the artifact path (manifest + tool dispatch) and skips inline embedding of the attachment to avoid double-processing. NULL for pre-v5.35 attachment rows authored before storage unification.
73246
+ */},{key:"ArtifactVersionID",get:function get(){return this.Get('ArtifactVersionID');},set:function set(value){this.Set('ArtifactVersionID',value);}/**
73196
73247
  * * Field Name: ConversationDetail
73197
- * * Display Name: Conversation Detail
73248
+ * * Display Name: Conversation Detail Record
73198
73249
  * * SQL Data Type: nvarchar(MAX)
73199
73250
  */},{key:"ConversationDetail",get:function get(){return this.Get('ConversationDetail');}/**
73200
73251
  * * Field Name: Modality
73201
- * * Display Name: Modality
73252
+ * * Display Name: Modality Record
73202
73253
  * * SQL Data Type: nvarchar(50)
73203
73254
  */},{key:"Modality",get:function get(){return this.Get('Modality');}/**
73204
73255
  * * Field Name: File
73205
- * * Display Name: File
73256
+ * * Display Name: File Record
73206
73257
  * * SQL Data Type: nvarchar(500)
73207
- */},{key:"File",get:function get(){return this.Get('File');}}]);}(dist/* BaseEntity */.HCJ);MJConversationDetailAttachmentEntity=__decorate([(0,MJGlobal_dist/* RegisterClass */.Y5)(dist/* BaseEntity */.HCJ,'MJ: Conversation Detail Attachments')],MJConversationDetailAttachmentEntity);/**
73258
+ */},{key:"File",get:function get(){return this.Get('File');}/**
73259
+ * * Field Name: ArtifactVersion
73260
+ * * Display Name: Artifact Version Record
73261
+ * * SQL Data Type: nvarchar(255)
73262
+ */},{key:"ArtifactVersion",get:function get(){return this.Get('ArtifactVersion');}}]);}(dist/* BaseEntity */.HCJ);MJConversationDetailAttachmentEntity=__decorate([(0,MJGlobal_dist/* RegisterClass */.Y5)(dist/* BaseEntity */.HCJ,'MJ: Conversation Detail Attachments')],MJConversationDetailAttachmentEntity);/**
73208
73263
  * MJ: Conversation Detail Ratings - strongly typed entity sub-class
73209
73264
  * * Schema: __mj
73210
73265
  * * Base Table: ConversationDetailRating
@@ -83973,13 +84028,15 @@ _context237.p=1;_context237.n=2;return provider.BeginTransaction();case 2:_conte
83973
84028
  * * SQL Data Type: nvarchar(30)
83974
84029
  * * Value List Type: List
83975
84030
  * * Possible Values
84031
+ * * geocodio
83976
84032
  * * google
84033
+ * * here
83977
84034
  * * ip_geolocation
83978
84035
  * * manual
83979
84036
  * * native
83980
84037
  * * reference_data
83981
84038
  * * reverse
83982
- * * Description: How this geocode was produced: google (Google Geocoding API), reference_data (resolved via Country/StateProvince tables), manual (user-entered), ip_geolocation (IP lookup), native (copied from entity lat/lng fields), reverse (reverse geocode from coordinates).
84039
+ * * Description: Source that produced this geocode. One of: google, geocodio, here, reference_data, manual, ip_geolocation, native, reverse.
83983
84040
  */},{key:"GeocodingSource",get:function get(){return this.Get('GeocodingSource');},set:function set(value){this.Set('GeocodingSource',value);}/**
83984
84041
  * * Field Name: __mj_CreatedAt
83985
84042
  * * Display Name: Created At
@@ -94367,8 +94424,171 @@ function LoadMJConversationDetailEntityExtended() {
94367
94424
  }
94368
94425
  // EXTERNAL MODULE: ../../../node_modules/rxjs/dist/esm5/internal/BehaviorSubject.js
94369
94426
  var BehaviorSubject = __webpack_require__(156);
94427
+ ;// ../../MJCoreEntities/dist/engines/artifact-mime-resolver.js
94428
+ function _toConsumableArray(r) { return _arrayWithoutHoles(r) || _iterableToArray(r) || artifact_mime_resolver_unsupportedIterableToArray(r) || _nonIterableSpread(); }
94429
+ function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
94430
+ function _iterableToArray(r) { if ("undefined" != typeof Symbol && null != r[Symbol.iterator] || null != r["@@iterator"]) return Array.from(r); }
94431
+ function _arrayWithoutHoles(r) { if (Array.isArray(r)) return artifact_mime_resolver_arrayLikeToArray(r); }
94432
+ function artifact_mime_resolver_createForOfIteratorHelper(r, e) { var t = "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (!t) { if (Array.isArray(r) || (t = artifact_mime_resolver_unsupportedIterableToArray(r)) || e && r && "number" == typeof r.length) { t && (r = t); var _n = 0, F = function F() {}; return { s: F, n: function n() { return _n >= r.length ? { done: !0 } : { done: !1, value: r[_n++] }; }, e: function e(r) { throw r; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var o, a = !0, u = !1; return { s: function s() { t = t.call(r); }, n: function n() { var r = t.next(); return a = r.done, r; }, e: function e(r) { u = !0, o = r; }, f: function f() { try { a || null == t.return || t.return(); } finally { if (u) throw o; } } }; }
94433
+ function artifact_mime_resolver_unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return artifact_mime_resolver_arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? artifact_mime_resolver_arrayLikeToArray(r, a) : void 0; } }
94434
+ function artifact_mime_resolver_arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
94435
+ /**
94436
+ * Pure resolver for matching an upload's MIME type (and optional file
94437
+ * extension) to a registered Artifact Type. Has no entity dependency — takes
94438
+ * a list of plain matcher records, returns the chosen ID (or undefined when
94439
+ * nothing matches).
94440
+ *
94441
+ * Resolution algorithm (per plans/artifact-attachment-unification.md §6):
94442
+ * 1. Filter to types whose ContentType pattern matches the upload MIME.
94443
+ * 2. Bucket by specificity: exact > subtype-wildcard (e.g. `image/*`).
94444
+ * 3. Within the highest-specificity bucket, sort by Priority desc.
94445
+ * 4. Tiebreaker if priorities are equal:
94446
+ * a. SystemSupplied = false beats SystemSupplied = true
94447
+ * b. otherwise lowest ID wins (deterministic).
94448
+ *
94449
+ * Octet-stream uploads also consider a file-extension hint when given.
94450
+ *
94451
+ * Conflict detection: callers can pass the same list to
94452
+ * `FindArtifactTypeConflicts` to surface ambiguous registrations at engine
94453
+ * boot, where two types share the same (ContentType, Priority, SystemSupplied)
94454
+ * triple — almost always a configuration mistake.
94455
+ */
94456
+ var SUBTYPE_WILDCARD_SUFFIX = '/*';
94457
+ function ResolveArtifactTypeByMime(matchers, mimeType, fileExtension) {
94458
+ var _ranked$;
94459
+ var normalizedMime = normalizeMime(mimeType);
94460
+ if (!normalizedMime) return undefined;
94461
+ var candidates = collectCandidates(matchers, normalizedMime, fileExtension);
94462
+ if (candidates.length === 0) return undefined;
94463
+ var ranked = rankCandidates(candidates);
94464
+ return (_ranked$ = ranked[0]) === null || _ranked$ === void 0 ? void 0 : _ranked$.matcher;
94465
+ }
94466
+ function FindArtifactTypeConflicts(matchers) {
94467
+ var groups = new Map();
94468
+ var _iterator = artifact_mime_resolver_createForOfIteratorHelper(matchers),
94469
+ _step;
94470
+ try {
94471
+ for (_iterator.s(); !(_step = _iterator.n()).done;) {
94472
+ var _normalizeMime, _groups$get;
94473
+ var m = _step.value;
94474
+ var key = "".concat((_normalizeMime = normalizeMime(m.contentType)) !== null && _normalizeMime !== void 0 ? _normalizeMime : '', "|").concat(m.priority, "|").concat(m.systemSupplied);
94475
+ var list = (_groups$get = groups.get(key)) !== null && _groups$get !== void 0 ? _groups$get : [];
94476
+ list.push(m);
94477
+ groups.set(key, list);
94478
+ }
94479
+ } catch (err) {
94480
+ _iterator.e(err);
94481
+ } finally {
94482
+ _iterator.f();
94483
+ }
94484
+ var conflicts = [];
94485
+ var _iterator2 = artifact_mime_resolver_createForOfIteratorHelper(groups.values()),
94486
+ _step2;
94487
+ try {
94488
+ for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
94489
+ var _list = _step2.value;
94490
+ if (_list.length < 2) continue;
94491
+ conflicts.push({
94492
+ contentType: _list[0].contentType,
94493
+ priority: _list[0].priority,
94494
+ systemSupplied: _list[0].systemSupplied,
94495
+ matcherIds: _list.map(function (m) {
94496
+ return m.id;
94497
+ }),
94498
+ matcherNames: _list.map(function (m) {
94499
+ return m.name;
94500
+ })
94501
+ });
94502
+ }
94503
+ } catch (err) {
94504
+ _iterator2.e(err);
94505
+ } finally {
94506
+ _iterator2.f();
94507
+ }
94508
+ return conflicts;
94509
+ }
94510
+ function collectCandidates(matchers, mime, fileExtension) {
94511
+ var out = [];
94512
+ var ext = normalizeExtension(fileExtension);
94513
+ var isOctetStream = mime === 'application/octet-stream';
94514
+ var _iterator3 = artifact_mime_resolver_createForOfIteratorHelper(matchers),
94515
+ _step3;
94516
+ try {
94517
+ for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) {
94518
+ var _m$fileExtensions;
94519
+ var m = _step3.value;
94520
+ var pattern = normalizeMime(m.contentType);
94521
+ if (!pattern) continue;
94522
+ if (pattern === mime) {
94523
+ out.push({
94524
+ matcher: m,
94525
+ specificity: 2
94526
+ });
94527
+ continue;
94528
+ }
94529
+ if (pattern.endsWith(SUBTYPE_WILDCARD_SUFFIX)) {
94530
+ var prefix = pattern.slice(0, -SUBTYPE_WILDCARD_SUFFIX.length);
94531
+ if (mime.startsWith(prefix + '/')) {
94532
+ out.push({
94533
+ matcher: m,
94534
+ specificity: 1
94535
+ });
94536
+ continue;
94537
+ }
94538
+ }
94539
+ // octet-stream extension hint: if the upload has no useful MIME but we
94540
+ // have an extension hint, allow types that registered the extension.
94541
+ if (isOctetStream && ext && (_m$fileExtensions = m.fileExtensions) !== null && _m$fileExtensions !== void 0 && _m$fileExtensions.includes(ext)) {
94542
+ out.push({
94543
+ matcher: m,
94544
+ specificity: 2
94545
+ });
94546
+ }
94547
+ }
94548
+ } catch (err) {
94549
+ _iterator3.e(err);
94550
+ } finally {
94551
+ _iterator3.f();
94552
+ }
94553
+ return out;
94554
+ }
94555
+ function rankCandidates(candidates) {
94556
+ // Highest specificity first, then Priority desc, then SystemSupplied false
94557
+ // wins over true, then lowest ID for determinism.
94558
+ var maxSpecificity = Math.max.apply(Math, _toConsumableArray(candidates.map(function (c) {
94559
+ return c.specificity;
94560
+ })));
94561
+ var topBucket = candidates.filter(function (c) {
94562
+ return c.specificity === maxSpecificity;
94563
+ });
94564
+ return _toConsumableArray(topBucket).sort(function (a, b) {
94565
+ if (b.matcher.priority !== a.matcher.priority) {
94566
+ return b.matcher.priority - a.matcher.priority;
94567
+ }
94568
+ if (a.matcher.systemSupplied !== b.matcher.systemSupplied) {
94569
+ return a.matcher.systemSupplied ? 1 : -1;
94570
+ }
94571
+ return a.matcher.id.localeCompare(b.matcher.id);
94572
+ });
94573
+ }
94574
+ function normalizeMime(value) {
94575
+ if (!value) return undefined;
94576
+ var trimmed = value.trim().toLowerCase();
94577
+ if (!trimmed) return undefined;
94578
+ // Strip any `; charset=...` parameters that browsers sometimes attach.
94579
+ var semi = trimmed.indexOf(';');
94580
+ return semi === -1 ? trimmed : trimmed.slice(0, semi).trim();
94581
+ }
94582
+ function normalizeExtension(value) {
94583
+ if (!value) return undefined;
94584
+ var trimmed = value.trim().toLowerCase().replace(/^\./, '');
94585
+ return trimmed || undefined;
94586
+ }
94370
94587
  ;// ../../MJCoreEntities/dist/engines/artifacts.js
94371
94588
  function artifacts_typeof(o) { "@babel/helpers - typeof"; return artifacts_typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, artifacts_typeof(o); }
94589
+ function artifacts_createForOfIteratorHelper(r, e) { var t = "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (!t) { if (Array.isArray(r) || (t = artifacts_unsupportedIterableToArray(r)) || e && r && "number" == typeof r.length) { t && (r = t); var _n = 0, F = function F() {}; return { s: F, n: function n() { return _n >= r.length ? { done: !0 } : { done: !1, value: r[_n++] }; }, e: function e(r) { throw r; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var o, a = !0, u = !1; return { s: function s() { t = t.call(r); }, n: function n() { var r = t.next(); return a = r.done, r; }, e: function e(r) { u = !0, o = r; }, f: function f() { try { a || null == t.return || t.return(); } finally { if (u) throw o; } } }; }
94590
+ function artifacts_unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return artifacts_arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? artifacts_arrayLikeToArray(r, a) : void 0; } }
94591
+ function artifacts_arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
94372
94592
  function artifacts_regenerator() { /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/babel/babel/blob/main/packages/babel-helpers/LICENSE */ var e, t, r = "function" == typeof Symbol ? Symbol : {}, n = r.iterator || "@@iterator", o = r.toStringTag || "@@toStringTag"; function i(r, n, o, i) { var c = n && n.prototype instanceof Generator ? n : Generator, u = Object.create(c.prototype); return artifacts_regeneratorDefine2(u, "_invoke", function (r, n, o) { var i, c, u, f = 0, p = o || [], y = !1, G = { p: 0, n: 0, v: e, a: d, f: d.bind(e, 4), d: function d(t, r) { return i = t, c = 0, u = e, G.n = r, a; } }; function d(r, n) { for (c = r, u = n, t = 0; !y && f && !o && t < p.length; t++) { var o, i = p[t], d = G.p, l = i[2]; r > 3 ? (o = l === n) && (u = i[(c = i[4]) ? 5 : (c = 3, 3)], i[4] = i[5] = e) : i[0] <= d && ((o = r < 2 && d < i[1]) ? (c = 0, G.v = n, G.n = i[1]) : d < l && (o = r < 3 || i[0] > n || n > l) && (i[4] = r, i[5] = n, G.n = l, c = 0)); } if (o || r > 1) return a; throw y = !0, n; } return function (o, p, l) { if (f > 1) throw TypeError("Generator is already running"); for (y && 1 === p && d(p, l), c = p, u = l; (t = c < 2 ? e : u) || !y;) { i || (c ? c < 3 ? (c > 1 && (G.n = -1), d(c, u)) : G.n = u : G.v = u); try { if (f = 2, i) { if (c || (o = "next"), t = i[o]) { if (!(t = t.call(i, u))) throw TypeError("iterator result is not an object"); if (!t.done) return t; u = t.value, c < 2 && (c = 0); } else 1 === c && (t = i.return) && t.call(i), c < 2 && (u = TypeError("The iterator does not provide a '" + o + "' method"), c = 1); i = e; } else if ((t = (y = G.n < 0) ? u : r.call(n, G)) !== a) break; } catch (t) { i = e, c = 1, u = t; } finally { f = 1; } } return { value: t, done: y }; }; }(r, o, i), !0), u; } var a = {}; function Generator() {} function GeneratorFunction() {} function GeneratorFunctionPrototype() {} t = Object.getPrototypeOf; var c = [][n] ? t(t([][n]())) : (artifacts_regeneratorDefine2(t = {}, n, function () { return this; }), t), u = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(c); function f(e) { return Object.setPrototypeOf ? Object.setPrototypeOf(e, GeneratorFunctionPrototype) : (e.__proto__ = GeneratorFunctionPrototype, artifacts_regeneratorDefine2(e, o, "GeneratorFunction")), e.prototype = Object.create(u), e; } return GeneratorFunction.prototype = GeneratorFunctionPrototype, artifacts_regeneratorDefine2(u, "constructor", GeneratorFunctionPrototype), artifacts_regeneratorDefine2(GeneratorFunctionPrototype, "constructor", GeneratorFunction), GeneratorFunction.displayName = "GeneratorFunction", artifacts_regeneratorDefine2(GeneratorFunctionPrototype, o, "GeneratorFunction"), artifacts_regeneratorDefine2(u), artifacts_regeneratorDefine2(u, o, "Generator"), artifacts_regeneratorDefine2(u, n, function () { return this; }), artifacts_regeneratorDefine2(u, "toString", function () { return "[object Generator]"; }), (artifacts_regenerator = function _regenerator() { return { w: i, m: f }; })(); }
94373
94593
  function artifacts_regeneratorDefine2(e, r, n, t) { var i = Object.defineProperty; try { i({}, "", {}); } catch (e) { i = 0; } artifacts_regeneratorDefine2 = function _regeneratorDefine(e, r, n, t) { function o(r, n) { artifacts_regeneratorDefine2(e, r, function (e) { return this._invoke(r, n, e); }); } r ? i ? i(e, r, { value: n, enumerable: !t, configurable: !t, writable: !t }) : e[r] = n : (o("next", 0), o("throw", 1), o("return", 2)); }, artifacts_regeneratorDefine2(e, r, n, t); }
94374
94594
  function artifacts_asyncGeneratorStep(n, t, e, r, o, a, c) { try { var i = n[a](c), u = i.value; } catch (n) { return void e(n); } i.done ? t(u) : Promise.resolve(u).then(r, o); }
@@ -94389,6 +94609,7 @@ function artifacts_getPrototypeOf(t) { return artifacts_getPrototypeOf = Object.
94389
94609
  function artifacts_inherits(t, e) { if ("function" != typeof e && null !== e) throw new TypeError("Super expression must either be null or a function"); t.prototype = Object.create(e && e.prototype, { constructor: { value: t, writable: !0, configurable: !0 } }), Object.defineProperty(t, "prototype", { writable: !1 }), e && artifacts_setPrototypeOf(t, e); }
94390
94610
  function artifacts_setPrototypeOf(t, e) { return artifacts_setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function (t, e) { return t.__proto__ = e, t; }, artifacts_setPrototypeOf(t, e); }
94391
94611
 
94612
+
94392
94613
  /**
94393
94614
  * Caching of metadata for artifacts, artifact versions, and artifact types.
94394
94615
  */
@@ -94524,18 +94745,59 @@ var ArtifactMetadataEngine = /*#__PURE__*/function (_BaseEngine) {
94524
94745
  return (version === null || version === void 0 ? void 0 : version.ContentMode) === 'File';
94525
94746
  }
94526
94747
  /**
94527
- * Finds the artifact type whose ContentType (MIME type) matches the given
94528
- * mimeType string (case-insensitive). Used by AgentRunner to resolve the
94529
- * correct ArtifactType for file outputs such as PDFs and spreadsheets.
94748
+ * Resolves an upload's MIME type (and optional file extension) to the
94749
+ * highest-priority registered Artifact Type. Supports exact matches and
94750
+ * subtype wildcards (e.g. `text/*`, `image/*`), with deterministic
94751
+ * tiebreaking via Priority → SystemSupplied → ID. See
94752
+ * `artifact-mime-resolver.ts` for the full algorithm.
94530
94753
  */
94531
94754
  }, {
94532
94755
  key: "GetArtifactTypeByMimeType",
94533
- value: function GetArtifactTypeByMimeType(mimeType) {
94534
- if (!mimeType) return undefined;
94535
- var lower = mimeType.trim().toLowerCase();
94536
- return this._artifactTypes.find(function (t) {
94537
- return t.ContentType.trim().toLowerCase() === lower;
94756
+ value: function GetArtifactTypeByMimeType(mimeType, fileExtension) {
94757
+ var _this2 = this;
94758
+ var matchers = this._artifactTypes.map(function (t) {
94759
+ return _this2.toMatcher(t);
94538
94760
  });
94761
+ var found = ResolveArtifactTypeByMime(matchers, mimeType, fileExtension);
94762
+ return found ? this.FindArtifactTypeByID(found.id) : undefined;
94763
+ }
94764
+ /**
94765
+ * Logs WARN for any pair of registered Artifact Types that share an
94766
+ * identical (ContentType, Priority, SystemSupplied) triple — almost always
94767
+ * a configuration mistake, and the ID-tiebreaker would otherwise hide it.
94768
+ * Call after Config() to surface registry ambiguity at boot.
94769
+ */
94770
+ }, {
94771
+ key: "LogArtifactTypeRegistryConflicts",
94772
+ value: function LogArtifactTypeRegistryConflicts() {
94773
+ var _this3 = this;
94774
+ var matchers = this._artifactTypes.map(function (t) {
94775
+ return _this3.toMatcher(t);
94776
+ });
94777
+ var conflicts = FindArtifactTypeConflicts(matchers);
94778
+ var _iterator = artifacts_createForOfIteratorHelper(conflicts),
94779
+ _step;
94780
+ try {
94781
+ for (_iterator.s(); !(_step = _iterator.n()).done;) {
94782
+ var c = _step.value;
94783
+ (0,dist/* LogStatus */.b09)("WARN ArtifactMetadataEngine: ".concat(c.matcherNames.length, " Artifact Types share (ContentType=").concat(c.contentType, ", Priority=").concat(c.priority, ", SystemSupplied=").concat(c.systemSupplied, "): ").concat(c.matcherNames.join(', '), ". Resolution will use lowest-ID tiebreaker \u2014 set Priority explicitly to disambiguate."));
94784
+ }
94785
+ } catch (err) {
94786
+ _iterator.e(err);
94787
+ } finally {
94788
+ _iterator.f();
94789
+ }
94790
+ }
94791
+ }, {
94792
+ key: "toMatcher",
94793
+ value: function toMatcher(t) {
94794
+ return {
94795
+ id: t.ID,
94796
+ name: t.Name,
94797
+ contentType: t.ContentType,
94798
+ priority: t.Priority,
94799
+ systemSupplied: t.SystemSupplied
94800
+ };
94539
94801
  }
94540
94802
  }], [{
94541
94803
  key: "Instance",
@@ -94550,10 +94812,10 @@ function _slicedToArray(r, e) { return _arrayWithHoles(r) || _iterableToArrayLim
94550
94812
  function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
94551
94813
  function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t.return && (u = t.return(), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
94552
94814
  function _arrayWithHoles(r) { if (Array.isArray(r)) return r; }
94553
- function _toConsumableArray(r) { return _arrayWithoutHoles(r) || _iterableToArray(r) || conversations_unsupportedIterableToArray(r) || _nonIterableSpread(); }
94554
- function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
94555
- function _iterableToArray(r) { if ("undefined" != typeof Symbol && null != r[Symbol.iterator] || null != r["@@iterator"]) return Array.from(r); }
94556
- function _arrayWithoutHoles(r) { if (Array.isArray(r)) return conversations_arrayLikeToArray(r); }
94815
+ function conversations_toConsumableArray(r) { return conversations_arrayWithoutHoles(r) || conversations_iterableToArray(r) || conversations_unsupportedIterableToArray(r) || conversations_nonIterableSpread(); }
94816
+ function conversations_nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
94817
+ function conversations_iterableToArray(r) { if ("undefined" != typeof Symbol && null != r[Symbol.iterator] || null != r["@@iterator"]) return Array.from(r); }
94818
+ function conversations_arrayWithoutHoles(r) { if (Array.isArray(r)) return conversations_arrayLikeToArray(r); }
94557
94819
  function conversations_createForOfIteratorHelper(r, e) { var t = "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (!t) { if (Array.isArray(r) || (t = conversations_unsupportedIterableToArray(r)) || e && r && "number" == typeof r.length) { t && (r = t); var _n = 0, F = function F() {}; return { s: F, n: function n() { return _n >= r.length ? { done: !0 } : { done: !1, value: r[_n++] }; }, e: function e(r) { throw r; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var o, a = !0, u = !1; return { s: function s() { t = t.call(r); }, n: function n() { var r = t.next(); return a = r.done, r; }, e: function e(r) { u = !0, o = r; }, f: function f() { try { a || null == t.return || t.return(); } finally { if (u) throw o; } } }; }
94558
94820
  function conversations_unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return conversations_arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? conversations_arrayLikeToArray(r, a) : void 0; } }
94559
94821
  function conversations_arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
@@ -94940,7 +95202,7 @@ var ConversationEngine = /*#__PURE__*/function (_BaseEngine) {
94940
95202
  throw new Error(((_conversation$LatestR = conversation.LatestResult) === null || _conversation$LatestR === void 0 ? void 0 : _conversation$LatestR.Message) || 'Failed to create conversation');
94941
95203
  case 3:
94942
95204
  // Prepend to the list and emit
94943
- updated = [conversation].concat(_toConsumableArray(this._conversations$.value));
95205
+ updated = [conversation].concat(conversations_toConsumableArray(this._conversations$.value));
94944
95206
  this._conversations$.next(updated);
94945
95207
  return _context4.a(2, conversation);
94946
95208
  }
@@ -95008,7 +95270,7 @@ var ConversationEngine = /*#__PURE__*/function (_BaseEngine) {
95008
95270
  }
95009
95271
  // Delete failed — restore to list
95010
95272
  current = this._conversations$.value;
95011
- this._conversations$.next([conversation].concat(_toConsumableArray(current)));
95273
+ this._conversations$.next([conversation].concat(conversations_toConsumableArray(current)));
95012
95274
  throw new Error(((_conversation$LatestR2 = conversation.LatestResult) === null || _conversation$LatestR2 === void 0 ? void 0 : _conversation$LatestR2.Message) || 'Failed to delete conversation');
95013
95275
  case 6:
95014
95276
  _context5.p = 6;
@@ -95174,7 +95436,7 @@ var ConversationEngine = /*#__PURE__*/function (_BaseEngine) {
95174
95436
  return _context8.f(6);
95175
95437
  case 7:
95176
95438
  // Re-emit the list so subscribers see the update
95177
- this._conversations$.next(_toConsumableArray(this._conversations$.value));
95439
+ this._conversations$.next(conversations_toConsumableArray(this._conversations$.value));
95178
95440
  return _context8.a(2, true);
95179
95441
  }
95180
95442
  }, _callee8, this, [[4,, 6, 7]]);
@@ -96201,7 +96463,7 @@ var ConversationEngine = /*#__PURE__*/function (_BaseEngine) {
96201
96463
  var existing = this.GetConversation(id);
96202
96464
  if (existing) {
96203
96465
  this.mergeDataOntoRecord(existing, data);
96204
- this._conversations$.next(_toConsumableArray(this._conversations$.value));
96466
+ this._conversations$.next(conversations_toConsumableArray(this._conversations$.value));
96205
96467
  }
96206
96468
  } else if (action === 'delete') {
96207
96469
  var _existing = this.GetConversation(id);
@@ -96427,7 +96689,7 @@ var ConversationEngine = /*#__PURE__*/function (_BaseEngine) {
96427
96689
  }, {
96428
96690
  key: "sortConversations",
96429
96691
  value: function sortConversations(conversations) {
96430
- return _toConsumableArray(conversations).sort(function (a, b) {
96692
+ return conversations_toConsumableArray(conversations).sort(function (a, b) {
96431
96693
  var _a$__mj_UpdatedAt$get, _a$__mj_UpdatedAt, _b$__mj_UpdatedAt$get, _b$__mj_UpdatedAt;
96432
96694
  // Pinned conversations first
96433
96695
  if (a.IsPinned && !b.IsPinned) return -1;
@@ -97632,6 +97894,70 @@ var TypeTablesCache = /*#__PURE__*/(/* unused pure expression or super */ null &
97632
97894
  }
97633
97895
  }]);
97634
97896
  }(BaseEngine)));
97897
+ ;// ../../MJCoreEntities/dist/engines/artifact-content-storage.js
97898
+ /**
97899
+ * Pure helpers for how artifact content is stored and unwrapped across the
97900
+ * upload, gather, and resolver paths. Living in MJCoreEntities so both the
97901
+ * server-side entity hook (MJConversationDetailAttachmentEntityServer) and
97902
+ * the agent runtime (AgentRunner.gatherConversationArtifacts) share a single
97903
+ * source of truth — and so they're unit-testable without mounting either
97904
+ * the entity stack or the agent runtime.
97905
+ */
97906
+ var TEXTY_NON_TEXT_PREFIXED_MIMES = new Set(['application/json', 'application/xml', 'application/javascript', 'application/typescript', 'application/sql', 'application/csv']);
97907
+ /**
97908
+ * Returns true when bytes for this MIME should be stored as raw UTF-8 text
97909
+ * (so artifact tool libraries can JSON.parse / split-by-line directly).
97910
+ * Returns false for binary types whose tools work with the data-URL wrapper
97911
+ * or a FileID reference.
97912
+ */
97913
+ function IsTextyMime(mime) {
97914
+ var lower = mime.toLowerCase();
97915
+ if (lower.startsWith('text/')) return true;
97916
+ return TEXTY_NON_TEXT_PREFIXED_MIMES.has(lower);
97917
+ }
97918
+ /**
97919
+ * Decides how to store inline content on the paired ArtifactVersion for a
97920
+ * given MIME + base64 InlineData input. Text-y MIMEs get decoded to UTF-8
97921
+ * so artifact tool libraries can parse directly; binary MIMEs keep the
97922
+ * `data:<mime>;base64,…` wrapper so the resolver can recognize media for
97923
+ * inline routing and the gather path can re-decode to a Buffer for binary
97924
+ * tool libraries (xlsx, docx, pdf).
97925
+ */
97926
+ function DecideInlineStorage(mime, inlineData) {
97927
+ if (!inlineData) return {
97928
+ contentMode: 'Text',
97929
+ content: ''
97930
+ };
97931
+ if (IsTextyMime(mime)) {
97932
+ return {
97933
+ contentMode: 'Text',
97934
+ content: Buffer.from(inlineData, 'base64').toString('utf-8')
97935
+ };
97936
+ }
97937
+ return {
97938
+ contentMode: 'Text',
97939
+ content: "data:".concat(mime, ";base64,").concat(inlineData)
97940
+ };
97941
+ }
97942
+ /**
97943
+ * Builds the user-facing error string returned when an attachment's MIME
97944
+ * isn't registered with any ArtifactType.
97945
+ */
97946
+ function BuildUnregisteredMimeError(fileName, _mime) {
97947
+ var safeName = fileName !== null && fileName !== void 0 ? fileName : 'this file';
97948
+ return "\"".concat(safeName, "\" can't be attached \u2014 its file type isn't supported here. Try a PDF, Word, Excel, image, audio, video, JSON, CSV, XML, or plain-text file.");
97949
+ }
97950
+ /**
97951
+ * Decodes a `data:<mime>;base64,<payload>` URL into a raw Buffer when the
97952
+ * input matches that shape. Returns the input unchanged otherwise. Used by
97953
+ * the AgentRunner gather path so binary tool libraries (xlsx, docx, pdf)
97954
+ * receive a parseable Buffer instead of the wrapped data URL string.
97955
+ */
97956
+ function ExtractBase64FromDataUrl(input) {
97957
+ var match = /^data:[^;]+;base64,([^]*)$/.exec(input);
97958
+ if (!match) return input;
97959
+ return Buffer.from(match[1], 'base64');
97960
+ }
97635
97961
  ;// ../../MJCoreEntities/dist/engines/EncryptionEngineBase.js
97636
97962
  function EncryptionEngineBase_regenerator() { /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/babel/babel/blob/main/packages/babel-helpers/LICENSE */ var e, t, r = "function" == typeof Symbol ? Symbol : {}, n = r.iterator || "@@iterator", o = r.toStringTag || "@@toStringTag"; function i(r, n, o, i) { var c = n && n.prototype instanceof Generator ? n : Generator, u = Object.create(c.prototype); return EncryptionEngineBase_regeneratorDefine2(u, "_invoke", function (r, n, o) { var i, c, u, f = 0, p = o || [], y = !1, G = { p: 0, n: 0, v: e, a: d, f: d.bind(e, 4), d: function d(t, r) { return i = t, c = 0, u = e, G.n = r, a; } }; function d(r, n) { for (c = r, u = n, t = 0; !y && f && !o && t < p.length; t++) { var o, i = p[t], d = G.p, l = i[2]; r > 3 ? (o = l === n) && (u = i[(c = i[4]) ? 5 : (c = 3, 3)], i[4] = i[5] = e) : i[0] <= d && ((o = r < 2 && d < i[1]) ? (c = 0, G.v = n, G.n = i[1]) : d < l && (o = r < 3 || i[0] > n || n > l) && (i[4] = r, i[5] = n, G.n = l, c = 0)); } if (o || r > 1) return a; throw y = !0, n; } return function (o, p, l) { if (f > 1) throw TypeError("Generator is already running"); for (y && 1 === p && d(p, l), c = p, u = l; (t = c < 2 ? e : u) || !y;) { i || (c ? c < 3 ? (c > 1 && (G.n = -1), d(c, u)) : G.n = u : G.v = u); try { if (f = 2, i) { if (c || (o = "next"), t = i[o]) { if (!(t = t.call(i, u))) throw TypeError("iterator result is not an object"); if (!t.done) return t; u = t.value, c < 2 && (c = 0); } else 1 === c && (t = i.return) && t.call(i), c < 2 && (u = TypeError("The iterator does not provide a '" + o + "' method"), c = 1); i = e; } else if ((t = (y = G.n < 0) ? u : r.call(n, G)) !== a) break; } catch (t) { i = e, c = 1, u = t; } finally { f = 1; } } return { value: t, done: y }; }; }(r, o, i), !0), u; } var a = {}; function Generator() {} function GeneratorFunction() {} function GeneratorFunctionPrototype() {} t = Object.getPrototypeOf; var c = [][n] ? t(t([][n]())) : (EncryptionEngineBase_regeneratorDefine2(t = {}, n, function () { return this; }), t), u = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(c); function f(e) { return Object.setPrototypeOf ? Object.setPrototypeOf(e, GeneratorFunctionPrototype) : (e.__proto__ = GeneratorFunctionPrototype, EncryptionEngineBase_regeneratorDefine2(e, o, "GeneratorFunction")), e.prototype = Object.create(u), e; } return GeneratorFunction.prototype = GeneratorFunctionPrototype, EncryptionEngineBase_regeneratorDefine2(u, "constructor", GeneratorFunctionPrototype), EncryptionEngineBase_regeneratorDefine2(GeneratorFunctionPrototype, "constructor", GeneratorFunction), GeneratorFunction.displayName = "GeneratorFunction", EncryptionEngineBase_regeneratorDefine2(GeneratorFunctionPrototype, o, "GeneratorFunction"), EncryptionEngineBase_regeneratorDefine2(u), EncryptionEngineBase_regeneratorDefine2(u, o, "Generator"), EncryptionEngineBase_regeneratorDefine2(u, n, function () { return this; }), EncryptionEngineBase_regeneratorDefine2(u, "toString", function () { return "[object Generator]"; }), (EncryptionEngineBase_regenerator = function _regenerator() { return { w: i, m: f }; })(); }
97637
97963
  function EncryptionEngineBase_regeneratorDefine2(e, r, n, t) { var i = Object.defineProperty; try { i({}, "", {}); } catch (e) { i = 0; } EncryptionEngineBase_regeneratorDefine2 = function _regeneratorDefine(e, r, n, t) { function o(r, n) { EncryptionEngineBase_regeneratorDefine2(e, r, function (e) { return this._invoke(r, n, e); }); } r ? i ? i(e, r, { value: n, enumerable: !t, configurable: !t, writable: !t }) : e[r] = n : (o("next", 0), o("throw", 1), o("return", 2)); }, EncryptionEngineBase_regeneratorDefine2(e, r, n, t); }
@@ -107787,6 +108113,8 @@ function LoadPermissionEntityExtensions() {
107787
108113
 
107788
108114
 
107789
108115
 
108116
+
108117
+
107790
108118
 
107791
108119
 
107792
108120
 
@@ -107844,7 +108172,8 @@ var MJEventType = {
107844
108172
  LoginFailed: 'LoginFailed',
107845
108173
  LogoutFailed: 'LogoutFailed',
107846
108174
  ManualResizeRequest: 'ManualResizeRequest',
107847
- DisplaySimpleNotificationRequest: 'DisplaySimpleNotificationRequest'
108175
+ DisplaySimpleNotificationRequest: 'DisplaySimpleNotificationRequest',
108176
+ TenantChanged: 'TenantChanged'
107848
108177
  };
107849
108178
  // EXTERNAL MODULE: ../../../node_modules/uuid/dist/v4.js + 3 modules
107850
108179
  var v4 = __webpack_require__(718);
@@ -117092,8 +117421,8 @@ var ComponentRegistry = /*#__PURE__*/function () {
117092
117421
  var dist = __webpack_require__(310);
117093
117422
  // EXTERNAL MODULE: ../../MJGlobal/dist/index.js + 17 modules
117094
117423
  var MJGlobal_dist = __webpack_require__(232);
117095
- // EXTERNAL MODULE: ../../MJCoreEntities/dist/index.js + 47 modules
117096
- var MJCoreEntities_dist = __webpack_require__(346);
117424
+ // EXTERNAL MODULE: ../../MJCoreEntities/dist/index.js + 49 modules
117425
+ var MJCoreEntities_dist = __webpack_require__(760);
117097
117426
  ;// ./dist/registry/component-registry-service.js
117098
117427
  function component_registry_service_typeof(o) { "@babel/helpers - typeof"; return component_registry_service_typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, component_registry_service_typeof(o); }
117099
117428
  var _ComponentRegistryService;