@xpert-ai/contracts 3.11.0 → 3.12.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/index.cjs.js CHANGED
@@ -777,6 +777,8 @@ exports.FeatureEnum = void 0;
777
777
  FeatureEnum["FEATURE_ORGANIZATION_PROJECT"] = "FEATURE_ORGANIZATION_PROJECT";
778
778
  FeatureEnum["FEATURE_CONTACT"] = "FEATURE_CONTACT";
779
779
  FeatureEnum["FEATURE_USER"] = "FEATURE_USER";
780
+ FeatureEnum["FEATURE_USERS"] = "FEATURE_USERS";
781
+ FeatureEnum["FEATURE_USER_GROUPS"] = "FEATURE_USER_GROUPS";
780
782
  FeatureEnum["FEATURE_ORGANIZATIONS"] = "FEATURE_ORGANIZATIONS";
781
783
  // FEATURE_APP_INTEGRATION = 'FEATURE_APP_INTEGRATION',
782
784
  FeatureEnum["FEATURE_SETTING"] = "FEATURE_SETTING";
@@ -1120,6 +1122,7 @@ exports.AnalyticsFeatures = void 0;
1120
1122
  AnalyticsFeatures["FEATURE_STORY_CREATION"] = "FEATURE_STORY_CREATION";
1121
1123
  AnalyticsFeatures["FEATURE_STORY_VIEWER"] = "FEATURE_STORY_VIEWER";
1122
1124
  AnalyticsFeatures["FEATURE_STORY_MARKET"] = "FEATURE_STORY_MARKET";
1125
+ AnalyticsFeatures["FEATURE_DATA_SOURCE"] = "FEATURE_DATA_SOURCE";
1123
1126
  AnalyticsFeatures["FEATURE_MODEL"] = "FEATURE_MODEL";
1124
1127
  AnalyticsFeatures["FEATURE_MODEL_CREATION"] = "FEATURE_MODEL_CREATION";
1125
1128
  AnalyticsFeatures["FEATURE_MODEL_VIEWER"] = "FEATURE_MODEL_VIEWER";
@@ -2163,6 +2166,7 @@ exports.AiFeatureEnum = void 0;
2163
2166
  AiFeatureEnum["FEATURE_COPILOT"] = "FEATURE_COPILOT";
2164
2167
  AiFeatureEnum["FEATURE_COPILOT_KNOWLEDGEBASE"] = "FEATURE_COPILOT_KNOWLEDGEBASE";
2165
2168
  AiFeatureEnum["FEATURE_COPILOT_CHAT"] = "FEATURE_COPILOT_CHAT";
2169
+ AiFeatureEnum["FEATURE_COPILOT_MONITORING"] = "FEATURE_COPILOT_MONITORING";
2166
2170
  AiFeatureEnum["FEATURE_XPERT"] = "FEATURE_XPERT";
2167
2171
  AiFeatureEnum["FEATURE_XPERT_CHATBI"] = "FEATURE_XPERT_CHATBI";
2168
2172
  AiFeatureEnum["FEATURE_XPERT_CLAWXPERT"] = "FEATURE_XPERT_CLAWXPERT";
@@ -3804,6 +3808,9 @@ var Attachment_Type_Options = [
3804
3808
  }
3805
3809
  ];
3806
3810
 
3811
+ var XPERT_TASK_SCHEDULE_PROPERTY_PREFIX = "xpert_task_";
3812
+ var XPERT_TASK_SCHEDULE_IDEMPOTENCY_KEY = "__idempotency_key";
3813
+
3807
3814
  var TASK_DESCRIPTION_PREFIX = "Launch a new agent to handle complex, multi-step tasks autonomously. \n\nAvailable agent types and the tools they have access to:";
3808
3815
  var TASK_DESCRIPTION_SUFFIX = 'When using the Task tool, you must specify a subagent_type parameter to select which agent type to use.\n\nWhen to use the Agent tool:\n- When you are instructed to execute custom slash commands. Use the Agent tool with the slash command invocation as the entire prompt. The slash command can take arguments. For example: Task(description="Check the file")\n\nWhen NOT to use the Agent tool:\n- If you want to read a specific file path, use the Read or Glob tool instead of the Agent tool, to find the match more quickly\n- If you are searching for a specific term or definition within a known location, use the Glob tool instead, to find the match more quickly\n- If you are searching for content within a specific file or set of 2-3 files, use the Read tool instead of the Agent tool, to find the match more quickly\n- Other tasks that are not related to the agent descriptions above\n\n\nUsage notes:\n1. Launch multiple agents concurrently whenever possible, to maximize performance; to do that, use a single message with multiple tool uses\n2. When the agent is done, it will return a single message back to you. The result returned by the agent is not visible to the user. To show the user the result, you should send a text message back to the user with a concise summary of the result.\n3. Each agent invocation is stateless. You will not be able to send additional messages to the agent, nor will the agent be able to communicate with you outside of its final report. Therefore, your prompt should contain a highly detailed task description for the agent to perform autonomously and you should specify exactly what information the agent should return back to you in its final and only message to you.\n4. The agent\'s outputs should generally be trusted\n5. Clearly tell the agent whether you expect it to create content, perform analysis, or just do research (search, file reads, web fetches, etc.), since it is not aware of the user\'s intent\n6. If the agent description mentions that it should be used proactively, then you should try your best to use it without the user having to ask for it first. Use your judgement.\n\nExample usage:\n\n<example_agent_descriptions>\n"content-reviewer": use this agent after you are done creating significant content or documents\n"greeting-responder": use this agent when to respond to user greetings with a friendly joke\n"research-analyst": use this agent to conduct thorough research on complex topics\n</example_agent_description>\n\n<example>\nuser: "Please write a function that checks if a number is prime"\nassistant: Sure let me write a function that checks if a number is prime\nassistant: First let me use the Write tool to write a function that checks if a number is prime\nassistant: I\'m going to use the Write tool to write the following code:\n<code>\nfunction isPrime(n) {\n if (n <= 1) return false\n for (let i = 2; i * i <= n; i++) {\n if (n % i === 0) return false\n }\n return true\n}\n</code>\n<commentary>\nSince significant content was created and the task was completed, now use the content-reviewer agent to review the work\n</commentary>\nassistant: Now let me use the content-reviewer agent to review the code\nassistant: Uses the Task tool to launch with the content-reviewer agent \n</example>\n\n<example>\nuser: "Can you help me research the environmental impact of different renewable energy sources and create a comprehensive report?"\n<commentary>\nThis is a complex research task that would benefit from using the research-analyst agent to conduct thorough analysis\n</commentary>\nassistant: I\'ll help you research the environmental impact of renewable energy sources. Let me use the research-analyst agent to conduct comprehensive research on this topic.\nassistant: Uses the Task tool to launch with the research-analyst agent, providing detailed instructions about what research to conduct and what format the report should take\n</example>\n\n<example>\nuser: "Hello"\n<commentary>\nSince the user is greeting, use the greeting-responder agent to respond with a friendly joke\n</commentary>\nassistant: "I\'m going to use the Task tool to launch with the greeting-responder agent"\n</example>';
3809
3816
 
@@ -5779,6 +5786,8 @@ exports.USAGE_HOUR_FORMAT = USAGE_HOUR_FORMAT;
5779
5786
  exports.VariableOperations = VariableOperations;
5780
5787
  exports.WORKSPACE_PUBLIC_SKILL_REPOSITORY_NAME = WORKSPACE_PUBLIC_SKILL_REPOSITORY_NAME;
5781
5788
  exports.WORKSPACE_PUBLIC_SKILL_SOURCE_PROVIDER = WORKSPACE_PUBLIC_SKILL_SOURCE_PROVIDER;
5789
+ exports.XPERT_TASK_SCHEDULE_IDEMPOTENCY_KEY = XPERT_TASK_SCHEDULE_IDEMPOTENCY_KEY;
5790
+ exports.XPERT_TASK_SCHEDULE_PROPERTY_PREFIX = XPERT_TASK_SCHEDULE_PROPERTY_PREFIX;
5782
5791
  exports.agentLabel = agentLabel;
5783
5792
  exports.agentUniqueName = agentUniqueName;
5784
5793
  exports.allChannels = allChannels;
package/index.esm.js CHANGED
@@ -775,6 +775,8 @@ var FeatureEnum;
775
775
  FeatureEnum["FEATURE_ORGANIZATION_PROJECT"] = "FEATURE_ORGANIZATION_PROJECT";
776
776
  FeatureEnum["FEATURE_CONTACT"] = "FEATURE_CONTACT";
777
777
  FeatureEnum["FEATURE_USER"] = "FEATURE_USER";
778
+ FeatureEnum["FEATURE_USERS"] = "FEATURE_USERS";
779
+ FeatureEnum["FEATURE_USER_GROUPS"] = "FEATURE_USER_GROUPS";
778
780
  FeatureEnum["FEATURE_ORGANIZATIONS"] = "FEATURE_ORGANIZATIONS";
779
781
  // FEATURE_APP_INTEGRATION = 'FEATURE_APP_INTEGRATION',
780
782
  FeatureEnum["FEATURE_SETTING"] = "FEATURE_SETTING";
@@ -1118,6 +1120,7 @@ var AnalyticsFeatures;
1118
1120
  AnalyticsFeatures["FEATURE_STORY_CREATION"] = "FEATURE_STORY_CREATION";
1119
1121
  AnalyticsFeatures["FEATURE_STORY_VIEWER"] = "FEATURE_STORY_VIEWER";
1120
1122
  AnalyticsFeatures["FEATURE_STORY_MARKET"] = "FEATURE_STORY_MARKET";
1123
+ AnalyticsFeatures["FEATURE_DATA_SOURCE"] = "FEATURE_DATA_SOURCE";
1121
1124
  AnalyticsFeatures["FEATURE_MODEL"] = "FEATURE_MODEL";
1122
1125
  AnalyticsFeatures["FEATURE_MODEL_CREATION"] = "FEATURE_MODEL_CREATION";
1123
1126
  AnalyticsFeatures["FEATURE_MODEL_VIEWER"] = "FEATURE_MODEL_VIEWER";
@@ -2161,6 +2164,7 @@ var AiFeatureEnum;
2161
2164
  AiFeatureEnum["FEATURE_COPILOT"] = "FEATURE_COPILOT";
2162
2165
  AiFeatureEnum["FEATURE_COPILOT_KNOWLEDGEBASE"] = "FEATURE_COPILOT_KNOWLEDGEBASE";
2163
2166
  AiFeatureEnum["FEATURE_COPILOT_CHAT"] = "FEATURE_COPILOT_CHAT";
2167
+ AiFeatureEnum["FEATURE_COPILOT_MONITORING"] = "FEATURE_COPILOT_MONITORING";
2164
2168
  AiFeatureEnum["FEATURE_XPERT"] = "FEATURE_XPERT";
2165
2169
  AiFeatureEnum["FEATURE_XPERT_CHATBI"] = "FEATURE_XPERT_CHATBI";
2166
2170
  AiFeatureEnum["FEATURE_XPERT_CLAWXPERT"] = "FEATURE_XPERT_CLAWXPERT";
@@ -3802,6 +3806,9 @@ var Attachment_Type_Options = [
3802
3806
  }
3803
3807
  ];
3804
3808
 
3809
+ var XPERT_TASK_SCHEDULE_PROPERTY_PREFIX = "xpert_task_";
3810
+ var XPERT_TASK_SCHEDULE_IDEMPOTENCY_KEY = "__idempotency_key";
3811
+
3805
3812
  var TASK_DESCRIPTION_PREFIX = "Launch a new agent to handle complex, multi-step tasks autonomously. \n\nAvailable agent types and the tools they have access to:";
3806
3813
  var TASK_DESCRIPTION_SUFFIX = 'When using the Task tool, you must specify a subagent_type parameter to select which agent type to use.\n\nWhen to use the Agent tool:\n- When you are instructed to execute custom slash commands. Use the Agent tool with the slash command invocation as the entire prompt. The slash command can take arguments. For example: Task(description="Check the file")\n\nWhen NOT to use the Agent tool:\n- If you want to read a specific file path, use the Read or Glob tool instead of the Agent tool, to find the match more quickly\n- If you are searching for a specific term or definition within a known location, use the Glob tool instead, to find the match more quickly\n- If you are searching for content within a specific file or set of 2-3 files, use the Read tool instead of the Agent tool, to find the match more quickly\n- Other tasks that are not related to the agent descriptions above\n\n\nUsage notes:\n1. Launch multiple agents concurrently whenever possible, to maximize performance; to do that, use a single message with multiple tool uses\n2. When the agent is done, it will return a single message back to you. The result returned by the agent is not visible to the user. To show the user the result, you should send a text message back to the user with a concise summary of the result.\n3. Each agent invocation is stateless. You will not be able to send additional messages to the agent, nor will the agent be able to communicate with you outside of its final report. Therefore, your prompt should contain a highly detailed task description for the agent to perform autonomously and you should specify exactly what information the agent should return back to you in its final and only message to you.\n4. The agent\'s outputs should generally be trusted\n5. Clearly tell the agent whether you expect it to create content, perform analysis, or just do research (search, file reads, web fetches, etc.), since it is not aware of the user\'s intent\n6. If the agent description mentions that it should be used proactively, then you should try your best to use it without the user having to ask for it first. Use your judgement.\n\nExample usage:\n\n<example_agent_descriptions>\n"content-reviewer": use this agent after you are done creating significant content or documents\n"greeting-responder": use this agent when to respond to user greetings with a friendly joke\n"research-analyst": use this agent to conduct thorough research on complex topics\n</example_agent_description>\n\n<example>\nuser: "Please write a function that checks if a number is prime"\nassistant: Sure let me write a function that checks if a number is prime\nassistant: First let me use the Write tool to write a function that checks if a number is prime\nassistant: I\'m going to use the Write tool to write the following code:\n<code>\nfunction isPrime(n) {\n if (n <= 1) return false\n for (let i = 2; i * i <= n; i++) {\n if (n % i === 0) return false\n }\n return true\n}\n</code>\n<commentary>\nSince significant content was created and the task was completed, now use the content-reviewer agent to review the work\n</commentary>\nassistant: Now let me use the content-reviewer agent to review the code\nassistant: Uses the Task tool to launch with the content-reviewer agent \n</example>\n\n<example>\nuser: "Can you help me research the environmental impact of different renewable energy sources and create a comprehensive report?"\n<commentary>\nThis is a complex research task that would benefit from using the research-analyst agent to conduct thorough analysis\n</commentary>\nassistant: I\'ll help you research the environmental impact of renewable energy sources. Let me use the research-analyst agent to conduct comprehensive research on this topic.\nassistant: Uses the Task tool to launch with the research-analyst agent, providing detailed instructions about what research to conduct and what format the report should take\n</example>\n\n<example>\nuser: "Hello"\n<commentary>\nSince the user is greeting, use the greeting-responder agent to respond with a friendly joke\n</commentary>\nassistant: "I\'m going to use the Task tool to launch with the greeting-responder agent"\n</example>';
3807
3814
 
@@ -5688,4 +5695,4 @@ var PLUGIN_RESOURCE_INSTALLATION_STATUS = {
5688
5695
  FAILED: "failed"
5689
5696
  };
5690
5697
 
5691
- export { AIPermissionsEnum, AI_MODEL_TYPE_VARIABLE, API_PRINCIPAL_USER_ID_HEADER, AccessEnum, AgentEventType, AgentType, AiBusinessRole, AiFeatureEnum, AiModelTypeEnum, AiProtocol, AiProvider, AiProviderRole, AlignmentOptions, AnalyticsFeatures, AnalyticsPermissionsEnum, ApiAuthType, ApiKeyBindingType, ApiProviderSchemaType, ApprovalPolicyTypesEnum, ApprovalPolicyTypesStringEnum, AssistantBindingScope, AssistantBindingSourceScope, AssistantCode, Attachment_Type_Options, AuthenticationEnum, BIInterruptMessageType, BonusTypeEnum, BusinessAreaRole, BusinessType, CHAT_EVENT_TYPE_CONVERSATION_TITLE_SUMMARY, CHAT_EVENT_TYPE_FOLLOW_UP_CONSUMED, CHAT_EVENT_TYPE_THREAD_CONTEXT_USAGE, CHAT_EVENT_TYPE_THREAD_GOAL_CLEARED, CHAT_EVENT_TYPE_THREAD_GOAL_UPDATED, CONTEXT_COMPRESSION_COMPONENT_TYPE, CONTEXT_COMPRESSION_MIDDLEWARE_NAME, CONTEXT_VARIABLE_CURRENTSTATE, ChatDashboardMessageType, ChatGatewayEvent, ChatMessageEventTypeEnum, ChatMessageFeedbackRatingEnum, ChatMessageStepCategory, ChatMessageTypeEnum, ClientFocusEnum, ConfigurateMethod, ContactOrganizationInviteStatus, ContactType, CredentialFormTypeEnum, CredentialsType, CrudActionEnum, CurrenciesEnum, CurrencyPosition, DEFAULT_CURRENCIES, DEFAULT_DATE_FORMATS, DEFAULT_INTEGRATION_PAID_FILTERS, DEFAULT_INVITE_EXPIRY_PERIOD, DEFAULT_PROFIT_BASED_BONUS, DEFAULT_REVENUE_BASED_BONUS, DEFAULT_SYSTEM_ROLES, DEFAULT_TENANT, DEFAULT_TIME_FORMATS, DEFAULT_TYPE, DEFAULT_XPERT_AGENT_RECURSION_LIMIT, DataSourceProtocolEnum, DataSourceSyntaxEnum, DataSourceTypeEnum, DefaultValueDateTypeEnum, DocumentSourceProviderCategoryEnum, DocumentTypeEnum, EmailTemplateEnum, EmailTemplateNameEnum, EmbeddingStatusEnum, FILE_VARIABLES, FeatureEnum, FeatureStatusEnum, FeedTypeEnum, FetchFrom, FileStorageProviderEnum, GRAPH_NODE_SUMMARIZE_CONVERSATION, GRAPH_NODE_TITLE_CONVERSATION, HttpStatus, IFeatureToggleTypeEnum, INTEGRATION_PROVIDERS, ImportHistoryStatusEnum, ImportTypeEnum, IndicatorDraftFields, IndicatorOptionFields, IndicatorStatusEnum, IndicatorTagEnum, IndicatorType, IntegrationEnum, IntegrationFeatureEnum, IntegrationFilterEnum, IntegrationGitHubProvider, IntegrationLarkProvider, InterruptMessageType, InvitationExpirationEnum, InvitationTypeEnum, InviteStatusEnum, IteratingIndexParameterName, IteratingItemParameterName, IteratorIndexParameterName, IteratorItemParameterName, KBDocumentCategoryEnum, KBDocumentStatusEnum, KDocumentSourceType, KDocumentWebTypeEnum, KDocumentWebTypeOptions, KNOWLEDGE_DOCUMENTS_NAME, KNOWLEDGE_FOLDER_ID_NAME, KNOWLEDGE_SOURCES_NAME, KNOWLEDGE_STAGE_NAME, KnowledgeGraphIndexJobStatus, KnowledgeGraphStatus, KnowledgeProviderEnum, KnowledgeStructureEnum, KnowledgeTask, KnowledgebaseChannel, KnowledgebasePermission, KnowledgebaseStatusEnum, KnowledgebaseTypeEnum, LEGACY_SANDBOX_COMPRESSION_MIDDLEWARE_NAME, LanguagesEnum, LanguagesMap, ListsInputTypeEnum, LocalAgentType, LongTermMemoryTypeEnum, MCPServerType, schema as MDX, MEMORY_PROFILE_PROMPT, MEMORY_QA_PROMPT, MinimumProjectSizeEnum, ModelEntityType, ModelFeature, ModelPropertyKey, ModelTypeEnum, OllamaEmbeddingsProviders, OpenAIEmbeddingsProviders, OrderTypeEnum, OrganizationContactBudgetTypeEnum, OrganizationDemoNetworkEnum, OrganizationPermissionsEnum, OrganizationProjectBudgetTypeEnum, OrganizationSelectInput, PLUGIN_COMPONENT_TYPE, PLUGIN_CONFIGURATION_STATUS, PLUGIN_LEVEL, PLUGIN_LOAD_STATUS, PLUGIN_MARKETPLACE_AUTHENTICATION_POLICY, PLUGIN_MARKETPLACE_INSTALLATION_POLICY, PLUGIN_MCP_TOOL_APPROVAL_MODE, PLUGIN_RESOURCE_INSTALLATION_STATUS, PLUGIN_RESOURCE_RUNTIME_TYPE, PLUGIN_SOURCE, ParameterType, ParameterTypeEnum, PayPeriodEnum, PermissionApprovalStatus, PermissionApprovalStatusTypesEnum, PermissionGroups, PermissionsEnum, PriceType, ProjectBillingEnum, ProjectOwnerEnum, ProjectStatusEnum, ProviderEnum, ProviderType, QueryStatusEnum, RegionsEnum, RequestMethodEnum, RequestScopeLevel, RoleTypeEnum, RolesEnum, SANDBOX_MANAGED_SERVICE_STATUSES, SANDBOX_MANAGED_SERVICE_TRANSPORT_MODES, SANDBOX_TERMINAL_NAMESPACE, SANDBOX_WORK_FOR_TYPES, SMTPSecureEnum, STANDARD_METADATA_FIELDS, STATE_SYS_AGENT_WORKSPACE_PATH, STATE_SYS_MEMORY_WORKSPACE_PATH, STATE_SYS_SESSION_WORKSPACE_PATH, STATE_SYS_SHARED_WORKSPACE_PATH, STATE_SYS_THREAD_ID, STATE_SYS_VOLUME, STATE_SYS_WORKSPACE_PATH, STATE_SYS_WORKSPACE_ROOT, STATE_SYS_WORKSPACE_URL, STATE_VARIABLE_FILES, STATE_VARIABLE_HUMAN, STATE_VARIABLE_INPUT, STATE_VARIABLE_SYS, STATE_VARIABLE_TITLE_CHANNEL, SandboxManagedServiceErrorCode, SandboxTerminalClientEvent, SandboxTerminalClosedReason, SandboxTerminalErrorCode, SandboxTerminalServerEvent, ScheduleTaskStatus, SecretTokenBindingType, SemanticModelStatusEnum, StoryStatusEnum, StoryTemplateType, SubscriptionType, TASK_DESCRIPTION_PREFIX, TASK_DESCRIPTION_SUFFIX, TENANT_AGENT_LOCAL_URL, THREAD_GOAL_STATUS_VALUES, TOOL_NAME_REGEX, TagCategoryEnum, TaskFrequency, TaskListTypeEnum, TimeGranularity, ToolParameterForm, ToolParameterType, ToolTagEnum, TranslationLanguageMap, USAGE_HOUR_FORMAT, UserType, VariableOperationEnum, VariableOperations, VectorTypeEnum, Visibility, VisitEntityEnum, VisitTypeEnum, WORKSPACE_PUBLIC_SKILL_REPOSITORY_NAME, WORKSPACE_PUBLIC_SKILL_SOURCE_PROVIDER, WeekDaysEnum, WorkflowComparisonOperator, WorkflowLogicalOperator, WorkflowNodeTypeEnum, XpertAgentExecutionStatusEnum, XpertParameterTypeEnum, XpertTableStatus, XpertToolsetCategoryEnum, XpertTypeEnum, agentLabel, agentUniqueName, allChannels, appendMessageContent, appendMessagePlainText, buildChunkTree, channelName, classificateDocumentCategory, collectTreeLeaves, configurableStoreNamespace, convertToUrlPath, createAgentConnections, createConversationTitleSummaryEvent, createFollowUpConsumedEvent, createMessageAppendContextTracker, createThreadGoalClearedEvent, createThreadGoalUpdatedEvent, createXpertGraph, createXpertNodes, embeddingCubeCollectionName, ensureAssistantBindingSkillWorkspacePreference, extractSemanticModelDraft, figureOutXpert, filterAssistantBindingDisabledSkillIds, filterAssistantBindingDisabledTools, filterMessageText, findStartNodes, genJSONParseKey, genJSONStringifyKey, genListOperatorKey, genPipelineChunkerKey, genPipelineKnowledgeBaseKey, genPipelineProcessorKey, genPipelineSourceKey, genPipelineUnderstandingKey, genVariableAggregatorKey, genXpertDBDeleteKey, genXpertDBInsertKey, genXpertDBQueryKey, genXpertDBSqlKey, genXpertDBUpdateKey, genXpertIteratorKey, genXpertMiddlewareKey, genXpertSkillKey, genXpertStartKey, genXpertTriggerKey, generateCronExpression, getAgentMiddlewareNodes, getAgentVarGroup, getAssistantBindingDisabledSkillIds, getAssistantBindingDisabledTools, getAssistantManagement, getCurrentGraph, getEnabledTools, getStoreNamespace, getSwarmPartners, getToolCallFromConfig, getToolCallIdFromConfig, getToolLabel, getVariableSchema, getWorkflowTriggers, getWorkspaceFromRunnable, getXpertAgentRecursionLimit, getXpertWorkspaceVisibility, inferMessageAppendContext, isAgentKey, isAgentWorkflowNode, isAgentWorkflowNodeType, isAssistantBindingSkillEnabled, isAssistantBindingToolEnabled, isAssistantBindingToolPreferencesEmpty, isAudioType, isContextCompressionComponentData, isDocumentSheet, isEnableTool, isImageType, isInterruptMessage, isIteratingKey, isIteratorKey, isMessageGroup, isMiddlewareToolEnabled, isRequiredMiddleware, isRouterKey, isRunnableThreadGoalStatus, isSystemManagedAssistant, isTenantSharedXpertWorkspace, isToolEnabled, isUserAddableAgentMiddleware, isUserManagedAssistant, isVideoType, isXpertNodeType, letterStartSUID, locateNodes, mapTranslationLanguage, mergeMessageContentForDisplay, messageContentText, normalizeAssistantBindingToolPreferences, normalizeMiddlewareNode, normalizeMiddlewareNodes, normalizeMiddlewareProvider, normalizeXpertAgentConfig, omitXpertRelations, replaceAgentInDraft, resolveDraftPrimaryAgent, resolveDraftRuntimeGraph, resolveI18nText, resolveMessageAppendContext, resolveRuntimeXpert, setStateVariable, shortTitle, stringifyMessageContent, transformInstallation, updateAssistantBindingSkillPreferences, updateAssistantBindingToolPreferences, uuid, workflowNodeIdentifier, xpertLabel };
5698
+ export { AIPermissionsEnum, AI_MODEL_TYPE_VARIABLE, API_PRINCIPAL_USER_ID_HEADER, AccessEnum, AgentEventType, AgentType, AiBusinessRole, AiFeatureEnum, AiModelTypeEnum, AiProtocol, AiProvider, AiProviderRole, AlignmentOptions, AnalyticsFeatures, AnalyticsPermissionsEnum, ApiAuthType, ApiKeyBindingType, ApiProviderSchemaType, ApprovalPolicyTypesEnum, ApprovalPolicyTypesStringEnum, AssistantBindingScope, AssistantBindingSourceScope, AssistantCode, Attachment_Type_Options, AuthenticationEnum, BIInterruptMessageType, BonusTypeEnum, BusinessAreaRole, BusinessType, CHAT_EVENT_TYPE_CONVERSATION_TITLE_SUMMARY, CHAT_EVENT_TYPE_FOLLOW_UP_CONSUMED, CHAT_EVENT_TYPE_THREAD_CONTEXT_USAGE, CHAT_EVENT_TYPE_THREAD_GOAL_CLEARED, CHAT_EVENT_TYPE_THREAD_GOAL_UPDATED, CONTEXT_COMPRESSION_COMPONENT_TYPE, CONTEXT_COMPRESSION_MIDDLEWARE_NAME, CONTEXT_VARIABLE_CURRENTSTATE, ChatDashboardMessageType, ChatGatewayEvent, ChatMessageEventTypeEnum, ChatMessageFeedbackRatingEnum, ChatMessageStepCategory, ChatMessageTypeEnum, ClientFocusEnum, ConfigurateMethod, ContactOrganizationInviteStatus, ContactType, CredentialFormTypeEnum, CredentialsType, CrudActionEnum, CurrenciesEnum, CurrencyPosition, DEFAULT_CURRENCIES, DEFAULT_DATE_FORMATS, DEFAULT_INTEGRATION_PAID_FILTERS, DEFAULT_INVITE_EXPIRY_PERIOD, DEFAULT_PROFIT_BASED_BONUS, DEFAULT_REVENUE_BASED_BONUS, DEFAULT_SYSTEM_ROLES, DEFAULT_TENANT, DEFAULT_TIME_FORMATS, DEFAULT_TYPE, DEFAULT_XPERT_AGENT_RECURSION_LIMIT, DataSourceProtocolEnum, DataSourceSyntaxEnum, DataSourceTypeEnum, DefaultValueDateTypeEnum, DocumentSourceProviderCategoryEnum, DocumentTypeEnum, EmailTemplateEnum, EmailTemplateNameEnum, EmbeddingStatusEnum, FILE_VARIABLES, FeatureEnum, FeatureStatusEnum, FeedTypeEnum, FetchFrom, FileStorageProviderEnum, GRAPH_NODE_SUMMARIZE_CONVERSATION, GRAPH_NODE_TITLE_CONVERSATION, HttpStatus, IFeatureToggleTypeEnum, INTEGRATION_PROVIDERS, ImportHistoryStatusEnum, ImportTypeEnum, IndicatorDraftFields, IndicatorOptionFields, IndicatorStatusEnum, IndicatorTagEnum, IndicatorType, IntegrationEnum, IntegrationFeatureEnum, IntegrationFilterEnum, IntegrationGitHubProvider, IntegrationLarkProvider, InterruptMessageType, InvitationExpirationEnum, InvitationTypeEnum, InviteStatusEnum, IteratingIndexParameterName, IteratingItemParameterName, IteratorIndexParameterName, IteratorItemParameterName, KBDocumentCategoryEnum, KBDocumentStatusEnum, KDocumentSourceType, KDocumentWebTypeEnum, KDocumentWebTypeOptions, KNOWLEDGE_DOCUMENTS_NAME, KNOWLEDGE_FOLDER_ID_NAME, KNOWLEDGE_SOURCES_NAME, KNOWLEDGE_STAGE_NAME, KnowledgeGraphIndexJobStatus, KnowledgeGraphStatus, KnowledgeProviderEnum, KnowledgeStructureEnum, KnowledgeTask, KnowledgebaseChannel, KnowledgebasePermission, KnowledgebaseStatusEnum, KnowledgebaseTypeEnum, LEGACY_SANDBOX_COMPRESSION_MIDDLEWARE_NAME, LanguagesEnum, LanguagesMap, ListsInputTypeEnum, LocalAgentType, LongTermMemoryTypeEnum, MCPServerType, schema as MDX, MEMORY_PROFILE_PROMPT, MEMORY_QA_PROMPT, MinimumProjectSizeEnum, ModelEntityType, ModelFeature, ModelPropertyKey, ModelTypeEnum, OllamaEmbeddingsProviders, OpenAIEmbeddingsProviders, OrderTypeEnum, OrganizationContactBudgetTypeEnum, OrganizationDemoNetworkEnum, OrganizationPermissionsEnum, OrganizationProjectBudgetTypeEnum, OrganizationSelectInput, PLUGIN_COMPONENT_TYPE, PLUGIN_CONFIGURATION_STATUS, PLUGIN_LEVEL, PLUGIN_LOAD_STATUS, PLUGIN_MARKETPLACE_AUTHENTICATION_POLICY, PLUGIN_MARKETPLACE_INSTALLATION_POLICY, PLUGIN_MCP_TOOL_APPROVAL_MODE, PLUGIN_RESOURCE_INSTALLATION_STATUS, PLUGIN_RESOURCE_RUNTIME_TYPE, PLUGIN_SOURCE, ParameterType, ParameterTypeEnum, PayPeriodEnum, PermissionApprovalStatus, PermissionApprovalStatusTypesEnum, PermissionGroups, PermissionsEnum, PriceType, ProjectBillingEnum, ProjectOwnerEnum, ProjectStatusEnum, ProviderEnum, ProviderType, QueryStatusEnum, RegionsEnum, RequestMethodEnum, RequestScopeLevel, RoleTypeEnum, RolesEnum, SANDBOX_MANAGED_SERVICE_STATUSES, SANDBOX_MANAGED_SERVICE_TRANSPORT_MODES, SANDBOX_TERMINAL_NAMESPACE, SANDBOX_WORK_FOR_TYPES, SMTPSecureEnum, STANDARD_METADATA_FIELDS, STATE_SYS_AGENT_WORKSPACE_PATH, STATE_SYS_MEMORY_WORKSPACE_PATH, STATE_SYS_SESSION_WORKSPACE_PATH, STATE_SYS_SHARED_WORKSPACE_PATH, STATE_SYS_THREAD_ID, STATE_SYS_VOLUME, STATE_SYS_WORKSPACE_PATH, STATE_SYS_WORKSPACE_ROOT, STATE_SYS_WORKSPACE_URL, STATE_VARIABLE_FILES, STATE_VARIABLE_HUMAN, STATE_VARIABLE_INPUT, STATE_VARIABLE_SYS, STATE_VARIABLE_TITLE_CHANNEL, SandboxManagedServiceErrorCode, SandboxTerminalClientEvent, SandboxTerminalClosedReason, SandboxTerminalErrorCode, SandboxTerminalServerEvent, ScheduleTaskStatus, SecretTokenBindingType, SemanticModelStatusEnum, StoryStatusEnum, StoryTemplateType, SubscriptionType, TASK_DESCRIPTION_PREFIX, TASK_DESCRIPTION_SUFFIX, TENANT_AGENT_LOCAL_URL, THREAD_GOAL_STATUS_VALUES, TOOL_NAME_REGEX, TagCategoryEnum, TaskFrequency, TaskListTypeEnum, TimeGranularity, ToolParameterForm, ToolParameterType, ToolTagEnum, TranslationLanguageMap, USAGE_HOUR_FORMAT, UserType, VariableOperationEnum, VariableOperations, VectorTypeEnum, Visibility, VisitEntityEnum, VisitTypeEnum, WORKSPACE_PUBLIC_SKILL_REPOSITORY_NAME, WORKSPACE_PUBLIC_SKILL_SOURCE_PROVIDER, WeekDaysEnum, WorkflowComparisonOperator, WorkflowLogicalOperator, WorkflowNodeTypeEnum, XPERT_TASK_SCHEDULE_IDEMPOTENCY_KEY, XPERT_TASK_SCHEDULE_PROPERTY_PREFIX, XpertAgentExecutionStatusEnum, XpertParameterTypeEnum, XpertTableStatus, XpertToolsetCategoryEnum, XpertTypeEnum, agentLabel, agentUniqueName, allChannels, appendMessageContent, appendMessagePlainText, buildChunkTree, channelName, classificateDocumentCategory, collectTreeLeaves, configurableStoreNamespace, convertToUrlPath, createAgentConnections, createConversationTitleSummaryEvent, createFollowUpConsumedEvent, createMessageAppendContextTracker, createThreadGoalClearedEvent, createThreadGoalUpdatedEvent, createXpertGraph, createXpertNodes, embeddingCubeCollectionName, ensureAssistantBindingSkillWorkspacePreference, extractSemanticModelDraft, figureOutXpert, filterAssistantBindingDisabledSkillIds, filterAssistantBindingDisabledTools, filterMessageText, findStartNodes, genJSONParseKey, genJSONStringifyKey, genListOperatorKey, genPipelineChunkerKey, genPipelineKnowledgeBaseKey, genPipelineProcessorKey, genPipelineSourceKey, genPipelineUnderstandingKey, genVariableAggregatorKey, genXpertDBDeleteKey, genXpertDBInsertKey, genXpertDBQueryKey, genXpertDBSqlKey, genXpertDBUpdateKey, genXpertIteratorKey, genXpertMiddlewareKey, genXpertSkillKey, genXpertStartKey, genXpertTriggerKey, generateCronExpression, getAgentMiddlewareNodes, getAgentVarGroup, getAssistantBindingDisabledSkillIds, getAssistantBindingDisabledTools, getAssistantManagement, getCurrentGraph, getEnabledTools, getStoreNamespace, getSwarmPartners, getToolCallFromConfig, getToolCallIdFromConfig, getToolLabel, getVariableSchema, getWorkflowTriggers, getWorkspaceFromRunnable, getXpertAgentRecursionLimit, getXpertWorkspaceVisibility, inferMessageAppendContext, isAgentKey, isAgentWorkflowNode, isAgentWorkflowNodeType, isAssistantBindingSkillEnabled, isAssistantBindingToolEnabled, isAssistantBindingToolPreferencesEmpty, isAudioType, isContextCompressionComponentData, isDocumentSheet, isEnableTool, isImageType, isInterruptMessage, isIteratingKey, isIteratorKey, isMessageGroup, isMiddlewareToolEnabled, isRequiredMiddleware, isRouterKey, isRunnableThreadGoalStatus, isSystemManagedAssistant, isTenantSharedXpertWorkspace, isToolEnabled, isUserAddableAgentMiddleware, isUserManagedAssistant, isVideoType, isXpertNodeType, letterStartSUID, locateNodes, mapTranslationLanguage, mergeMessageContentForDisplay, messageContentText, normalizeAssistantBindingToolPreferences, normalizeMiddlewareNode, normalizeMiddlewareNodes, normalizeMiddlewareProvider, normalizeXpertAgentConfig, omitXpertRelations, replaceAgentInDraft, resolveDraftPrimaryAgent, resolveDraftRuntimeGraph, resolveI18nText, resolveMessageAppendContext, resolveRuntimeXpert, setStateVariable, shortTitle, stringifyMessageContent, transformInstallation, updateAssistantBindingSkillPreferences, updateAssistantBindingToolPreferences, uuid, workflowNodeIdentifier, xpertLabel };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@xpert-ai/contracts",
3
- "version": "3.11.0",
3
+ "version": "3.12.1",
4
4
  "license": "AGPL-3.0",
5
5
  "repository": {
6
6
  "type": "git",
@@ -2,6 +2,7 @@ export declare enum AiFeatureEnum {
2
2
  FEATURE_COPILOT = "FEATURE_COPILOT",
3
3
  FEATURE_COPILOT_KNOWLEDGEBASE = "FEATURE_COPILOT_KNOWLEDGEBASE",
4
4
  FEATURE_COPILOT_CHAT = "FEATURE_COPILOT_CHAT",
5
+ FEATURE_COPILOT_MONITORING = "FEATURE_COPILOT_MONITORING",
5
6
  FEATURE_XPERT = "FEATURE_XPERT",
6
7
  FEATURE_XPERT_CHATBI = "FEATURE_XPERT_CHATBI",
7
8
  FEATURE_XPERT_CLAWXPERT = "FEATURE_XPERT_CLAWXPERT",
package/src/ai/index.d.ts CHANGED
@@ -57,3 +57,4 @@ export * from './middleware.model';
57
57
  export * from './context-compression.model';
58
58
  export * from './sandbox';
59
59
  export * from './message-content.utils';
60
+ export * from './mobile.model';
@@ -0,0 +1,79 @@
1
+ import type { AssistantBindingScope, AssistantBindingSourceScope, AssistantCode, IResolvedAssistantBinding } from './assistant-binding.model';
2
+ import type { SANDBOX_TERMINAL_NAMESPACE } from './sandbox-terminal.model';
3
+ import type { TAvatar } from '../types';
4
+ import type { LanguagesEnum } from '../user.model';
5
+ import type { XpertTypeEnum } from './xpert.model';
6
+ export interface XpertMobileDeploymentConfig {
7
+ apiBaseUrl?: string | null;
8
+ apiBasePath: '/api';
9
+ aiApiPath: '/api/ai';
10
+ chatkitFrameUrl: string;
11
+ viewHostsPath: '/api/view-hosts';
12
+ socketNamespaces: {
13
+ sandboxTerminal: typeof SANDBOX_TERMINAL_NAMESPACE;
14
+ };
15
+ capabilities: {
16
+ chatkit: boolean;
17
+ extensionViews: boolean;
18
+ scheduledTasks: boolean;
19
+ fileMemory: boolean;
20
+ sandboxTerminal: boolean;
21
+ publicChatkitSessions: boolean;
22
+ };
23
+ }
24
+ export interface XpertMobileUserSummary {
25
+ id: string;
26
+ tenantId?: string | null;
27
+ email?: string | null;
28
+ name?: string | null;
29
+ firstName?: string | null;
30
+ lastName?: string | null;
31
+ fullName?: string | null;
32
+ imageUrl?: string | null;
33
+ preferredLanguage?: LanguagesEnum | string | null;
34
+ }
35
+ export interface XpertMobileOrganizationSummary {
36
+ id: string;
37
+ tenantId?: string | null;
38
+ name: string;
39
+ imageUrl?: string | null;
40
+ isDefault: boolean;
41
+ isActive: boolean;
42
+ timeZone?: string | null;
43
+ preferredLanguage?: LanguagesEnum | string | null;
44
+ }
45
+ export interface XpertMobileAssistantBindingSummary extends Pick<IResolvedAssistantBinding, 'assistantId' | 'enabled' | 'tenantId' | 'organizationId' | 'userId'> {
46
+ code: AssistantCode;
47
+ scope: AssistantBindingScope;
48
+ sourceScope: AssistantBindingSourceScope;
49
+ }
50
+ export interface XpertMobileBootstrap {
51
+ deployment: XpertMobileDeploymentConfig;
52
+ user: XpertMobileUserSummary;
53
+ organizations: XpertMobileOrganizationSummary[];
54
+ activeOrganizationId?: string | null;
55
+ defaultOrganizationId?: string | null;
56
+ assistantBindings: XpertMobileAssistantBindingSummary[];
57
+ }
58
+ export interface XpertMobileXpertSummary {
59
+ id: string;
60
+ slug: string;
61
+ name: string;
62
+ type: XpertTypeEnum | string;
63
+ title?: string | null;
64
+ titleCN?: string | null;
65
+ description?: string | null;
66
+ avatar?: TAvatar | null;
67
+ version?: string | null;
68
+ latest?: boolean | null;
69
+ workspaceId?: string | null;
70
+ organizationId?: string | null;
71
+ publishAt?: Date | string | null;
72
+ starters?: string[] | null;
73
+ }
74
+ export interface XpertMobileXpertsResponse {
75
+ items: XpertMobileXpertSummary[];
76
+ total: number;
77
+ limit: number;
78
+ offset: number;
79
+ }
@@ -1,7 +1,24 @@
1
1
  import { IBasePerTenantAndOrganizationEntityModel } from '../base-entity.model';
2
2
  import { ScheduleTaskStatus, TScheduleOptions } from '../schedule';
3
+ import type { TXpertChatState } from '@xpert-ai/chatkit-types';
3
4
  import { IChatConversation } from './chat.model';
5
+ import { JsonSchemaObjectType } from './types';
4
6
  import { IXpert } from './xpert.model';
7
+ export declare const XPERT_TASK_SCHEDULE_PROPERTY_PREFIX = "xpert_task_";
8
+ export declare const XPERT_TASK_SCHEDULE_IDEMPOTENCY_KEY = "__idempotency_key";
9
+ export type TXpertTaskScheduleCapabilities = {
10
+ xpertId: string;
11
+ agentKey?: string;
12
+ stateVariables: {
13
+ name: string;
14
+ type?: string;
15
+ description?: unknown;
16
+ }[];
17
+ stateSchema?: JsonSchemaObjectType;
18
+ };
19
+ export type TXpertTaskScheduleRuntimeState = {
20
+ [XPERT_TASK_SCHEDULE_IDEMPOTENCY_KEY]?: string;
21
+ };
5
22
  /**
6
23
  * Tools for Xpert
7
24
  */
@@ -14,6 +31,7 @@ export type XpertTaskType = {
14
31
  timeZone?: string;
15
32
  prompt?: string;
16
33
  status?: ScheduleTaskStatus;
34
+ runtimeState?: TXpertChatState | null;
17
35
  xpert?: IXpert;
18
36
  xpertId?: string;
19
37
  agentKey?: string;
@@ -11,6 +11,7 @@ export declare enum AnalyticsFeatures {
11
11
  FEATURE_STORY_CREATION = "FEATURE_STORY_CREATION",
12
12
  FEATURE_STORY_VIEWER = "FEATURE_STORY_VIEWER",
13
13
  FEATURE_STORY_MARKET = "FEATURE_STORY_MARKET",
14
+ FEATURE_DATA_SOURCE = "FEATURE_DATA_SOURCE",
14
15
  FEATURE_MODEL = "FEATURE_MODEL",
15
16
  FEATURE_MODEL_CREATION = "FEATURE_MODEL_CREATION",
16
17
  FEATURE_MODEL_VIEWER = "FEATURE_MODEL_VIEWER",
@@ -81,6 +81,8 @@ export declare enum FeatureEnum {
81
81
  FEATURE_ORGANIZATION_PROJECT = "FEATURE_ORGANIZATION_PROJECT",
82
82
  FEATURE_CONTACT = "FEATURE_CONTACT",
83
83
  FEATURE_USER = "FEATURE_USER",
84
+ FEATURE_USERS = "FEATURE_USERS",
85
+ FEATURE_USER_GROUPS = "FEATURE_USER_GROUPS",
84
86
  FEATURE_ORGANIZATIONS = "FEATURE_ORGANIZATIONS",
85
87
  FEATURE_SETTING = "FEATURE_SETTING",
86
88
  FEATURE_EMAIL_HISTORY = "FEATURE_EMAIL_HISTORY",
@@ -88,5 +88,27 @@ export type TIntegrationProvider = {
88
88
  schema?: TParameterSchema;
89
89
  features?: IntegrationFeatureEnum[];
90
90
  helpUrl?: string;
91
+ /**
92
+ * Declarative setup hints consumed by the host integration configuration UI.
93
+ *
94
+ * Plugins can use this to ask the host to run `validateConfig` automatically
95
+ * and display returned setup artifacts, such as webhook/callback URLs or
96
+ * authorization links, without the host hard-coding provider names.
97
+ */
98
+ setup?: {
99
+ /**
100
+ * When true, the host runs the provider's `validateConfig` after an
101
+ * existing integration is loaded and after save/upsert succeeds. Use this
102
+ * for providers whose setup information is computed by validation.
103
+ */
104
+ autoValidateOnLoad?: boolean;
105
+ authorization?: {
106
+ /**
107
+ * When true, the host can show a generic hint that authorization is
108
+ * available only after the integration has been saved and has an id.
109
+ */
110
+ requiresSavedIntegration?: boolean;
111
+ };
112
+ };
91
113
  pro?: boolean;
92
114
  };
package/src/plugin.d.ts CHANGED
@@ -191,8 +191,11 @@ export interface PluginMarketplaceContribution {
191
191
  tags?: string[];
192
192
  metadata?: Record<string, unknown>;
193
193
  }
194
+ export type PluginMarketplaceCategory = 'featured' | 'business-operations' | 'communication' | 'creativity' | 'data-analytics' | 'developer-tools' | 'education-research' | 'finance' | 'productivity' | 'research' | 'security' | 'travel' | 'sales' | 'other';
194
195
  export interface PluginTargetAppMarketplaceMetadata {
195
196
  contents?: PluginMarketplaceContribution[];
197
+ category?: PluginMarketplaceCategory;
198
+ subcategory?: string;
196
199
  featured?: boolean;
197
200
  screenshots?: string[];
198
201
  readme?: string;
@@ -265,6 +268,141 @@ export interface PluginMeta {
265
268
  author: string;
266
269
  homepage?: string;
267
270
  }
271
+ export type PluginMarketplaceSourceType = 'url' | 'github' | 'git';
272
+ export type PluginMarketplaceSourceResponseType = PluginMarketplaceSourceType | 'platform';
273
+ export type PluginMarketplaceRegistrySection = 'marketplace' | 'official' | 'partner' | 'community';
274
+ export type PluginMarketplaceRegistryDownloadStatus = 'idle' | 'success' | 'failed';
275
+ export type PluginMarketplaceItemSourceType = 'marketplace' | 'github' | 'git' | 'url' | 'npm' | 'website' | 'other' | (string & {});
276
+ export interface PluginMarketplaceSourceInput {
277
+ name?: string;
278
+ type?: PluginMarketplaceSourceType;
279
+ url?: string;
280
+ ref?: string | null;
281
+ sparsePath?: string | null;
282
+ enabled?: boolean;
283
+ priority?: number;
284
+ }
285
+ export interface PluginMarketplaceSourceResponse {
286
+ id: string;
287
+ name: string;
288
+ type: PluginMarketplaceSourceResponseType;
289
+ url: string;
290
+ ref?: string | null;
291
+ sparsePath?: string | null;
292
+ enabled: boolean;
293
+ priority: number;
294
+ lastIndexStatus?: string | null;
295
+ lastIndexedAt?: Date | string | null;
296
+ lastIndexError?: string | null;
297
+ builtin?: boolean;
298
+ }
299
+ export interface PluginMarketplaceRegistryItem {
300
+ id: string;
301
+ packageName: string;
302
+ version?: string | null;
303
+ displayName: string;
304
+ description: string;
305
+ category: string;
306
+ author: string;
307
+ icon?: IconDefinition | null;
308
+ keywords: string[];
309
+ homepage?: string | null;
310
+ repository?: JSONValue | null;
311
+ targetApps: PluginTargetApp[];
312
+ targetAppMeta: PluginTargetAppMeta;
313
+ enabled: boolean;
314
+ priority: number;
315
+ section: PluginMarketplaceRegistrySection;
316
+ downloads?: PluginMarketplaceDownloads | null;
317
+ downloadsStatus?: PluginMarketplaceRegistryDownloadStatus | string | null;
318
+ downloadsUpdatedAt?: Date | string | null;
319
+ downloadsError?: string | null;
320
+ createdAt?: Date | string | null;
321
+ updatedAt?: Date | string | null;
322
+ }
323
+ export type PluginMarketplaceRegistryItemResponse = PluginMarketplaceRegistryItem;
324
+ export interface PluginMarketplaceRegistryItemInput {
325
+ packageName?: string;
326
+ version?: string | null;
327
+ displayName?: string;
328
+ description?: string;
329
+ category?: string;
330
+ author?: string;
331
+ icon?: IconDefinition | null;
332
+ keywords?: string[];
333
+ homepage?: string | null;
334
+ repository?: JSONValue | null;
335
+ targetApps?: PluginTargetApp[];
336
+ targetAppMeta?: PluginTargetAppMeta | null;
337
+ enabled?: boolean;
338
+ priority?: number;
339
+ section?: PluginMarketplaceRegistrySection;
340
+ }
341
+ export interface PluginMarketplaceAuthor {
342
+ name?: string | null;
343
+ displayName?: string | null;
344
+ url?: string | null;
345
+ homepage?: string | null;
346
+ }
347
+ export interface PluginMarketplaceDownloads {
348
+ lastWeek?: number;
349
+ lastMonth?: number;
350
+ lastYear?: number;
351
+ [key: string]: JSONValue | undefined;
352
+ }
353
+ export interface PluginMarketplaceOperationSummary {
354
+ total: number;
355
+ read: number;
356
+ write: number;
357
+ admin: number;
358
+ }
359
+ export interface PluginMarketplaceItemSource {
360
+ type?: PluginMarketplaceItemSourceType;
361
+ url?: string | null;
362
+ path?: string | null;
363
+ ref?: string | null;
364
+ packageName?: string | null;
365
+ }
366
+ export interface PluginMarketplaceItem {
367
+ name: string;
368
+ packageName?: string | null;
369
+ displayName?: I18nObject | string;
370
+ description?: I18nObject | string;
371
+ version?: string | null;
372
+ level?: PluginLevel;
373
+ deprecated?: boolean;
374
+ deprecationMessage?: I18nObject | string | null;
375
+ category?: PluginMeta['category'] | string;
376
+ icon?: IconDefinition | null;
377
+ author?: PluginMarketplaceAuthor | string | null;
378
+ source?: PluginMarketplaceItemSource | null;
379
+ keywords?: string[];
380
+ downloads?: PluginMarketplaceDownloads | null;
381
+ sourceId?: string | null;
382
+ sourceName?: string | null;
383
+ sourceNameI18nKey?: string | null;
384
+ installed?: boolean;
385
+ contributions?: PluginMarketplaceContribution[];
386
+ operationSummary?: PluginMarketplaceOperationSummary;
387
+ targetApps?: PluginTargetApp[];
388
+ targetAppMeta?: PluginTargetAppMeta | null;
389
+ marketplacePlugin?: JSONValue | null;
390
+ section?: PluginMarketplaceRegistrySection | string;
391
+ }
392
+ export interface PluginMarketplaceResponse {
393
+ updatedAt: string | null;
394
+ total: number;
395
+ items: PluginMarketplaceItem[];
396
+ sources: PluginMarketplaceSourceResponse[];
397
+ official?: string[];
398
+ partner?: string[];
399
+ community?: string[];
400
+ errors?: Array<{
401
+ sourceId: string;
402
+ sourceName: string;
403
+ message: string;
404
+ }>;
405
+ }
268
406
  export interface IPlugin extends IBasePerTenantAndOrganizationEntityModel {
269
407
  pluginName: string;
270
408
  packageName: string;
@@ -38,6 +38,9 @@ export interface XpertViewSlot {
38
38
  title?: I18nObject;
39
39
  mode: XpertViewSlotMode;
40
40
  order?: number;
41
+ manifestPolicy?: {
42
+ requireFeatureActivation?: boolean;
43
+ };
41
44
  }
42
45
  export interface XpertViewSource {
43
46
  provider: string;
@@ -224,24 +227,92 @@ export interface XpertViewClientCommandDefinition {
224
227
  description?: I18nObject;
225
228
  permissions?: string[];
226
229
  }
230
+ /**
231
+ * Action a host should take when a view host event matches a manifest subscription.
232
+ */
227
233
  export type XpertViewHostEventSubscriptionActionType = 'refresh' | 'forward' | 'refresh-and-forward';
234
+ /**
235
+ * Declarative host event subscription owned by a view manifest.
236
+ */
228
237
  export interface XpertViewHostEventSubscription {
238
+ /** Stable subscription key used for de-duping and diagnostics. */
229
239
  key: string;
240
+ /** Machine-readable event type, for example `assistant.tool.completed`. */
230
241
  event: string;
231
242
  filter?: {
243
+ /** Optional event source allow-list, for example `chatkit`. */
232
244
  sources?: string[];
245
+ /** Optional tool name allow-list for assistant tool completion events. */
233
246
  toolNames?: string[];
247
+ /** Optional remote view key allow-list for visualization events. */
234
248
  viewKeys?: string[];
249
+ /** Optional visualization type allow-list. */
235
250
  visualizationTypes?: string[];
236
251
  };
237
252
  action?: {
253
+ /** Defaults to `refresh` when omitted. */
238
254
  type?: XpertViewHostEventSubscriptionActionType;
255
+ /** Suppresses repeated matching events with the same debounce key for this duration. */
239
256
  debounceMs?: number;
240
257
  };
241
258
  }
259
+ /**
260
+ * Host event subscriptions declared by a remote view manifest.
261
+ */
242
262
  export interface XpertViewHostEvents {
243
263
  subscriptions?: XpertViewHostEventSubscription[];
244
264
  }
265
+ /**
266
+ * Optional visualization metadata attached to a host event.
267
+ */
268
+ export interface XpertViewHostEventVisualization {
269
+ /** Visualization renderer/type discriminator. */
270
+ type?: string;
271
+ /** Remote view key associated with the emitted visualization. */
272
+ viewKey?: string;
273
+ /** Human-readable visualization title. */
274
+ title?: string;
275
+ /** Host slot that should receive the visualization. */
276
+ slotKey?: string;
277
+ /** Parameter key associated with this visualization payload. */
278
+ parameterKey?: string;
279
+ }
280
+ /**
281
+ * Event payload forwarded to remote components. Keep this shape host-agnostic so
282
+ * the same plugin can run in xpert and data-xpert.
283
+ */
284
+ export interface XpertRemoteViewHostEventMessage {
285
+ /** Stable event id for diagnostics and de-duping. */
286
+ id: string;
287
+ /** Machine-readable event type, for example `assistant.tool.completed`. */
288
+ type: string;
289
+ /** Event source, for example `chatkit`. */
290
+ source: string;
291
+ /** ISO timestamp captured when the host normalized the event. */
292
+ receivedAt: string;
293
+ /** Conversation or execution thread id when available. */
294
+ threadId?: string;
295
+ /** Tool name for assistant tool events. */
296
+ toolName?: string;
297
+ /** Tool call id when provided by the runtime. */
298
+ toolCallId?: string;
299
+ /** Runtime run id when provided by the runtime. */
300
+ runId?: string;
301
+ /** Tool duration in milliseconds when provided by the runtime. */
302
+ durationMs?: number;
303
+ /** Opaque event data. Plugin-specific ids stay inside this payload. */
304
+ data?: Record<string, unknown>;
305
+ /** Optional visualization metadata used by manifest filters and remote views. */
306
+ visualization?: XpertViewHostEventVisualization;
307
+ }
308
+ /**
309
+ * Host-internal event message. `hostType` and `hostId` are routing fields and
310
+ * must be stripped before forwarding to remote components.
311
+ */
312
+ export interface XpertViewHostEventMessage extends XpertRemoteViewHostEventMessage {
313
+ hostType?: string;
314
+ hostId?: string;
315
+ }
245
316
  export interface XpertExtensionViewManifest {
246
317
  key: string;
247
318
  title: I18nObject;