@xpert-ai/contracts 3.10.1 → 3.12.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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";
@@ -2242,7 +2246,10 @@ exports.WorkflowNodeTypeEnum = void 0;
2242
2246
  WorkflowNodeTypeEnum["HTTP"] = "http";
2243
2247
  WorkflowNodeTypeEnum["SUBFLOW"] = "subflow";
2244
2248
  WorkflowNodeTypeEnum["TOOL"] = "tool";
2245
- WorkflowNodeTypeEnum["AGENT_TOOL"] = "agent-tool";
2249
+ WorkflowNodeTypeEnum["AGENT_WORKFLOW"] = "agent-workflow";
2250
+ /**
2251
+ * @deprecated use AGENT_WORKFLOW instead
2252
+ */ WorkflowNodeTypeEnum["AGENT_TOOL"] = "agent-tool";
2246
2253
  WorkflowNodeTypeEnum["NOTE"] = "note";
2247
2254
  /**
2248
2255
  * Task node, distribute tasks to sub-agents
@@ -2328,6 +2335,12 @@ exports.WorkflowComparisonOperator = void 0;
2328
2335
  WorkflowComparisonOperator["LIKE"] = "like";
2329
2336
  WorkflowComparisonOperator["NOT_LIKE"] = "not-like";
2330
2337
  })(exports.WorkflowComparisonOperator || (exports.WorkflowComparisonOperator = {}));
2338
+ function isAgentWorkflowNodeType(type) {
2339
+ return type === exports.WorkflowNodeTypeEnum.AGENT_WORKFLOW || type === exports.WorkflowNodeTypeEnum.AGENT_TOOL;
2340
+ }
2341
+ function isAgentWorkflowNode(node) {
2342
+ return isAgentWorkflowNodeType(node === null || node === void 0 ? void 0 : node.type);
2343
+ }
2331
2344
  function genXpertTriggerKey() {
2332
2345
  return letterStartSUID("Trigger_");
2333
2346
  }
@@ -3795,6 +3808,8 @@ var Attachment_Type_Options = [
3795
3808
  }
3796
3809
  ];
3797
3810
 
3811
+ var XPERT_TASK_SCHEDULE_RUNTIME_STATE_KEY = "xpertTaskSchedule";
3812
+
3798
3813
  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:";
3799
3814
  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>';
3800
3815
 
@@ -5646,6 +5661,40 @@ var PLUGIN_LOAD_STATUS = {
5646
5661
  LOADED: "loaded",
5647
5662
  FAILED: "failed"
5648
5663
  };
5664
+ var PLUGIN_COMPONENT_TYPE = {
5665
+ SKILL: "skill",
5666
+ MCP_SERVER: "mcp_server",
5667
+ APP: "app",
5668
+ HOOK: "hook",
5669
+ ASSET: "asset"
5670
+ };
5671
+ var PLUGIN_MARKETPLACE_INSTALLATION_POLICY = {
5672
+ AVAILABLE: "AVAILABLE",
5673
+ INSTALLED_BY_DEFAULT: "INSTALLED_BY_DEFAULT",
5674
+ NOT_AVAILABLE: "NOT_AVAILABLE"
5675
+ };
5676
+ var PLUGIN_MARKETPLACE_AUTHENTICATION_POLICY = {
5677
+ ON_INSTALL: "ON_INSTALL",
5678
+ ON_FIRST_USE: "ON_FIRST_USE",
5679
+ NONE: "NONE"
5680
+ };
5681
+ var PLUGIN_MCP_TOOL_APPROVAL_MODE = {
5682
+ PROMPT: "prompt",
5683
+ APPROVE: "approve",
5684
+ DENY: "deny"
5685
+ };
5686
+ var PLUGIN_RESOURCE_RUNTIME_TYPE = {
5687
+ SKILL_PACKAGE: "skill_package",
5688
+ TOOLSET: "toolset",
5689
+ HOOK_PROFILE: "hook_profile",
5690
+ APP_CONNECTOR: "app_connector"
5691
+ };
5692
+ var PLUGIN_RESOURCE_INSTALLATION_STATUS = {
5693
+ READY: "ready",
5694
+ PENDING_AUTH: "pending_auth",
5695
+ BLOCKED: "blocked",
5696
+ FAILED: "failed"
5697
+ };
5649
5698
 
5650
5699
  exports.AI_MODEL_TYPE_VARIABLE = AI_MODEL_TYPE_VARIABLE;
5651
5700
  exports.API_PRINCIPAL_USER_ID_HEADER = API_PRINCIPAL_USER_ID_HEADER;
@@ -5695,9 +5744,15 @@ exports.MEMORY_PROFILE_PROMPT = MEMORY_PROFILE_PROMPT;
5695
5744
  exports.MEMORY_QA_PROMPT = MEMORY_QA_PROMPT;
5696
5745
  exports.OllamaEmbeddingsProviders = OllamaEmbeddingsProviders;
5697
5746
  exports.OpenAIEmbeddingsProviders = OpenAIEmbeddingsProviders;
5747
+ exports.PLUGIN_COMPONENT_TYPE = PLUGIN_COMPONENT_TYPE;
5698
5748
  exports.PLUGIN_CONFIGURATION_STATUS = PLUGIN_CONFIGURATION_STATUS;
5699
5749
  exports.PLUGIN_LEVEL = PLUGIN_LEVEL;
5700
5750
  exports.PLUGIN_LOAD_STATUS = PLUGIN_LOAD_STATUS;
5751
+ exports.PLUGIN_MARKETPLACE_AUTHENTICATION_POLICY = PLUGIN_MARKETPLACE_AUTHENTICATION_POLICY;
5752
+ exports.PLUGIN_MARKETPLACE_INSTALLATION_POLICY = PLUGIN_MARKETPLACE_INSTALLATION_POLICY;
5753
+ exports.PLUGIN_MCP_TOOL_APPROVAL_MODE = PLUGIN_MCP_TOOL_APPROVAL_MODE;
5754
+ exports.PLUGIN_RESOURCE_INSTALLATION_STATUS = PLUGIN_RESOURCE_INSTALLATION_STATUS;
5755
+ exports.PLUGIN_RESOURCE_RUNTIME_TYPE = PLUGIN_RESOURCE_RUNTIME_TYPE;
5701
5756
  exports.PLUGIN_SOURCE = PLUGIN_SOURCE;
5702
5757
  exports.PermissionApprovalStatus = PermissionApprovalStatus;
5703
5758
  exports.PermissionGroups = PermissionGroups;
@@ -5730,6 +5785,7 @@ exports.USAGE_HOUR_FORMAT = USAGE_HOUR_FORMAT;
5730
5785
  exports.VariableOperations = VariableOperations;
5731
5786
  exports.WORKSPACE_PUBLIC_SKILL_REPOSITORY_NAME = WORKSPACE_PUBLIC_SKILL_REPOSITORY_NAME;
5732
5787
  exports.WORKSPACE_PUBLIC_SKILL_SOURCE_PROVIDER = WORKSPACE_PUBLIC_SKILL_SOURCE_PROVIDER;
5788
+ exports.XPERT_TASK_SCHEDULE_RUNTIME_STATE_KEY = XPERT_TASK_SCHEDULE_RUNTIME_STATE_KEY;
5733
5789
  exports.agentLabel = agentLabel;
5734
5790
  exports.agentUniqueName = agentUniqueName;
5735
5791
  exports.allChannels = allChannels;
@@ -5796,6 +5852,8 @@ exports.getXpertAgentRecursionLimit = getXpertAgentRecursionLimit;
5796
5852
  exports.getXpertWorkspaceVisibility = getXpertWorkspaceVisibility;
5797
5853
  exports.inferMessageAppendContext = inferMessageAppendContext;
5798
5854
  exports.isAgentKey = isAgentKey;
5855
+ exports.isAgentWorkflowNode = isAgentWorkflowNode;
5856
+ exports.isAgentWorkflowNodeType = isAgentWorkflowNodeType;
5799
5857
  exports.isAssistantBindingSkillEnabled = isAssistantBindingSkillEnabled;
5800
5858
  exports.isAssistantBindingToolEnabled = isAssistantBindingToolEnabled;
5801
5859
  exports.isAssistantBindingToolPreferencesEmpty = isAssistantBindingToolPreferencesEmpty;
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";
@@ -2240,7 +2244,10 @@ var WorkflowNodeTypeEnum;
2240
2244
  WorkflowNodeTypeEnum["HTTP"] = "http";
2241
2245
  WorkflowNodeTypeEnum["SUBFLOW"] = "subflow";
2242
2246
  WorkflowNodeTypeEnum["TOOL"] = "tool";
2243
- WorkflowNodeTypeEnum["AGENT_TOOL"] = "agent-tool";
2247
+ WorkflowNodeTypeEnum["AGENT_WORKFLOW"] = "agent-workflow";
2248
+ /**
2249
+ * @deprecated use AGENT_WORKFLOW instead
2250
+ */ WorkflowNodeTypeEnum["AGENT_TOOL"] = "agent-tool";
2244
2251
  WorkflowNodeTypeEnum["NOTE"] = "note";
2245
2252
  /**
2246
2253
  * Task node, distribute tasks to sub-agents
@@ -2326,6 +2333,12 @@ var WorkflowComparisonOperator;
2326
2333
  WorkflowComparisonOperator["LIKE"] = "like";
2327
2334
  WorkflowComparisonOperator["NOT_LIKE"] = "not-like";
2328
2335
  })(WorkflowComparisonOperator || (WorkflowComparisonOperator = {}));
2336
+ function isAgentWorkflowNodeType(type) {
2337
+ return type === WorkflowNodeTypeEnum.AGENT_WORKFLOW || type === WorkflowNodeTypeEnum.AGENT_TOOL;
2338
+ }
2339
+ function isAgentWorkflowNode(node) {
2340
+ return isAgentWorkflowNodeType(node === null || node === void 0 ? void 0 : node.type);
2341
+ }
2329
2342
  function genXpertTriggerKey() {
2330
2343
  return letterStartSUID("Trigger_");
2331
2344
  }
@@ -3793,6 +3806,8 @@ var Attachment_Type_Options = [
3793
3806
  }
3794
3807
  ];
3795
3808
 
3809
+ var XPERT_TASK_SCHEDULE_RUNTIME_STATE_KEY = "xpertTaskSchedule";
3810
+
3796
3811
  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:";
3797
3812
  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>';
3798
3813
 
@@ -5644,5 +5659,39 @@ var PLUGIN_LOAD_STATUS = {
5644
5659
  LOADED: "loaded",
5645
5660
  FAILED: "failed"
5646
5661
  };
5662
+ var PLUGIN_COMPONENT_TYPE = {
5663
+ SKILL: "skill",
5664
+ MCP_SERVER: "mcp_server",
5665
+ APP: "app",
5666
+ HOOK: "hook",
5667
+ ASSET: "asset"
5668
+ };
5669
+ var PLUGIN_MARKETPLACE_INSTALLATION_POLICY = {
5670
+ AVAILABLE: "AVAILABLE",
5671
+ INSTALLED_BY_DEFAULT: "INSTALLED_BY_DEFAULT",
5672
+ NOT_AVAILABLE: "NOT_AVAILABLE"
5673
+ };
5674
+ var PLUGIN_MARKETPLACE_AUTHENTICATION_POLICY = {
5675
+ ON_INSTALL: "ON_INSTALL",
5676
+ ON_FIRST_USE: "ON_FIRST_USE",
5677
+ NONE: "NONE"
5678
+ };
5679
+ var PLUGIN_MCP_TOOL_APPROVAL_MODE = {
5680
+ PROMPT: "prompt",
5681
+ APPROVE: "approve",
5682
+ DENY: "deny"
5683
+ };
5684
+ var PLUGIN_RESOURCE_RUNTIME_TYPE = {
5685
+ SKILL_PACKAGE: "skill_package",
5686
+ TOOLSET: "toolset",
5687
+ HOOK_PROFILE: "hook_profile",
5688
+ APP_CONNECTOR: "app_connector"
5689
+ };
5690
+ var PLUGIN_RESOURCE_INSTALLATION_STATUS = {
5691
+ READY: "ready",
5692
+ PENDING_AUTH: "pending_auth",
5693
+ BLOCKED: "blocked",
5694
+ FAILED: "failed"
5695
+ };
5647
5696
 
5648
- 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_CONFIGURATION_STATUS, PLUGIN_LEVEL, PLUGIN_LOAD_STATUS, 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, 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 };
5697
+ 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_RUNTIME_STATE_KEY, 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.10.1",
3
+ "version": "3.12.0",
4
4
  "license": "AGPL-3.0",
5
5
  "repository": {
6
6
  "type": "git",
@@ -19,7 +19,7 @@
19
19
  "module": "./index.esm.js",
20
20
  "main": "./index.cjs.js",
21
21
  "dependencies": {
22
- "@xpert-ai/chatkit-types": "~0.3.12"
22
+ "@xpert-ai/chatkit-types": "~0.3.13"
23
23
  },
24
24
  "types": "./index.d.ts"
25
25
  }
@@ -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",
@@ -1,6 +1,6 @@
1
- import type { ThreadGoalStatus } from '@xpert-ai/chatkit-types';
1
+ import type { ThreadGoalSpec, ThreadGoalStatus } from '@xpert-ai/chatkit-types';
2
2
  import { IBasePerTenantAndOrganizationEntityModel } from '../base-entity.model';
3
- export type { ThreadGoalStatus } from '@xpert-ai/chatkit-types';
3
+ export type { ThreadGoalSpec, ThreadGoalStatus } from '@xpert-ai/chatkit-types';
4
4
  export declare const THREAD_GOAL_STATUS_VALUES: readonly ["active", "paused", "blocked", "usage_limited", "budget_limited", "complete"];
5
5
  export type ThreadGoalUserStatus = Extract<ThreadGoalStatus, 'active' | 'paused'>;
6
6
  export type ThreadGoalModelStatus = Extract<ThreadGoalStatus, 'complete' | 'blocked'>;
@@ -8,6 +8,7 @@ export interface IThreadGoal extends IBasePerTenantAndOrganizationEntityModel {
8
8
  conversationId: string;
9
9
  threadId: string;
10
10
  objective: string;
11
+ goalSpec?: ThreadGoalSpec | null;
11
12
  status: ThreadGoalStatus;
12
13
  tokensUsed: number;
13
14
  elapsedSeconds: number;
@@ -1,7 +1,23 @@
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_RUNTIME_STATE_KEY = "xpertTaskSchedule";
8
+ export type TXpertTaskScheduleCapabilities = {
9
+ xpertId: string;
10
+ agentKey?: string;
11
+ stateVariables: {
12
+ name: string;
13
+ type?: string;
14
+ description?: unknown;
15
+ }[];
16
+ stateSchema?: JsonSchemaObjectType;
17
+ };
18
+ export type TXpertTaskScheduleRuntimeState = {
19
+ idempotencyKey?: string;
20
+ };
5
21
  /**
6
22
  * Tools for Xpert
7
23
  */
@@ -14,6 +30,7 @@ export type XpertTaskType = {
14
30
  timeZone?: string;
15
31
  prompt?: string;
16
32
  status?: ScheduleTaskStatus;
33
+ runtimeState?: TXpertChatState | null;
17
34
  xpert?: IXpert;
18
35
  xpertId?: string;
19
36
  agentKey?: string;
@@ -3,7 +3,7 @@ import { IconDefinition, TAvatar } from '../types';
3
3
  import { TCopilotModel } from './copilot-model.model';
4
4
  import { MCPServerType, TMCPServer } from './xpert-tool-mcp.model';
5
5
  import { XpertTypeEnum } from './xpert.model';
6
- import { PluginTargetApp, PluginTargetAppMeta } from '../plugin';
6
+ import { PluginTargetApp, PluginTargetAppMeta, XpertTemplatePluginDependencies } from '../plugin';
7
7
  export interface IXpertTemplate extends IBasePerTenantEntityModel {
8
8
  key: string;
9
9
  name?: string;
@@ -93,6 +93,7 @@ export type TTemplate = {
93
93
  startPrompts?: string[];
94
94
  releaseNotes?: string;
95
95
  xpertName?: string;
96
+ dependencies?: XpertTemplatePluginDependencies;
96
97
  };
97
98
  export type TXpertTemplate = TTemplate & {
98
99
  avatar: TAvatar;
@@ -1,12 +1,13 @@
1
- import { I18nObject, IconDefinition } from "../types";
2
- import { ICopilotModel } from "./copilot-model.model";
3
- import { TKBRecallParams } from "./knowledgebase.model";
4
- import { ApiAuthType, JsonSchemaObjectType, TErrorHandling, TXpertRefParameter } from "./types";
5
- import { TKBRetrievalSettings, TStateVariable, TXpertParameter } from "./xpert.model";
1
+ import { I18nObject, IconDefinition } from '../types';
2
+ import { ICopilotModel } from './copilot-model.model';
3
+ import { TKBRecallParams } from './knowledgebase.model';
4
+ import { ApiAuthType, JsonSchemaObjectType, TErrorHandling, TXpertRefParameter } from './types';
5
+ import { TKBRetrievalSettings, TStateVariable, TXpertParameter } from './xpert.model';
6
6
  export type TWorkflowNodeMeta = {
7
7
  name: string;
8
8
  label: I18nObject;
9
9
  icon: IconDefinition;
10
+ deprecated?: boolean;
10
11
  configSchema: JsonSchemaObjectType;
11
12
  };
12
13
  export type TWorkflowTriggerMeta = TWorkflowNodeMeta;
@@ -35,6 +36,10 @@ export declare enum WorkflowNodeTypeEnum {
35
36
  HTTP = "http",
36
37
  SUBFLOW = "subflow",
37
38
  TOOL = "tool",
39
+ AGENT_WORKFLOW = "agent-workflow",
40
+ /**
41
+ * @deprecated use AGENT_WORKFLOW instead
42
+ */
38
43
  AGENT_TOOL = "agent-tool",
39
44
  NOTE = "note",
40
45
  /**
@@ -393,11 +398,27 @@ export interface IWFNTool extends IWorkflowNode {
393
398
  export interface IWFNNote extends IWorkflowNode {
394
399
  content: string;
395
400
  }
396
- export interface IWFNAgentTool extends IWorkflowNode {
397
- type: WorkflowNodeTypeEnum.AGENT_TOOL;
401
+ export type TAgentToolReturnSource = {
402
+ type: 'last_message';
403
+ } | {
404
+ type: 'variable';
405
+ variableSelector: string;
406
+ } | {
407
+ type: 'template';
408
+ template: string;
409
+ };
410
+ export type TAgentWorkflowNodeType = WorkflowNodeTypeEnum.AGENT_WORKFLOW | WorkflowNodeTypeEnum.AGENT_TOOL;
411
+ export declare function isAgentWorkflowNodeType(type: WorkflowNodeTypeEnum | string | null | undefined): type is TAgentWorkflowNodeType;
412
+ export interface IWFNAgentWorkflow extends IWorkflowNode {
413
+ type: TAgentWorkflowNodeType;
398
414
  toolName: string;
399
415
  toolDescription?: string;
400
416
  toolParameters?: TXpertParameter[];
417
+ /**
418
+ * Source used to build the ToolMessage returned to the caller agent.
419
+ * Empty means the last message in the workflow state, for backward compatibility.
420
+ */
421
+ returnSource?: TAgentToolReturnSource;
401
422
  /**
402
423
  * End point tool
403
424
  */
@@ -408,6 +429,10 @@ export interface IWFNAgentTool extends IWorkflowNode {
408
429
  */
409
430
  errorHandling?: TErrorHandling;
410
431
  }
432
+ export declare function isAgentWorkflowNode(node: IWorkflowNode | null | undefined): node is IWFNAgentWorkflow;
433
+ export interface IWFNAgentTool extends IWFNAgentWorkflow {
434
+ type: WorkflowNodeTypeEnum.AGENT_TOOL;
435
+ }
411
436
  export interface IWFNTrigger extends IWorkflowNode {
412
437
  type: WorkflowNodeTypeEnum.TRIGGER;
413
438
  from: 'chat' | 'integration' | 'scheduler';
@@ -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",
@@ -1,7 +1,7 @@
1
1
  import { IStorageFile } from './storage-file.model';
2
2
  export type FileAssetStatus = 'success' | 'partial_success' | 'failed';
3
3
  export type FileAssetDestinationKind = 'storage' | 'volume' | 'sandbox';
4
- export type FileAssetSourceKind = 'multipart' | 'storage_file' | 'local_file';
4
+ export type FileAssetSourceKind = 'multipart' | 'storage_file' | 'local_file' | 'buffer';
5
5
  export type FileUploadVolumeCatalog = 'projects' | 'users' | 'knowledges' | 'skills' | 'xperts';
6
6
  export type FileUploadSandboxMode = 'mounted_workspace' | 'backend_upload';
7
7
  export interface IFileAssetSource {
@@ -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
@@ -1,5 +1,7 @@
1
1
  import { IBasePerTenantAndOrganizationEntityModel } from './base-entity.model';
2
2
  import { JsonSchemaObjectType } from './ai/types';
3
+ import type { IXpert } from './ai/xpert.model';
4
+ import type { JSONValue } from './core.model';
3
5
  import { IconDefinition, I18nObject } from './types';
4
6
  export type PluginName = string;
5
7
  export declare const PLUGIN_LEVEL: {
@@ -23,6 +25,40 @@ export declare const PLUGIN_LOAD_STATUS: {
23
25
  readonly LOADED: "loaded";
24
26
  readonly FAILED: "failed";
25
27
  };
28
+ export declare const PLUGIN_COMPONENT_TYPE: {
29
+ readonly SKILL: "skill";
30
+ readonly MCP_SERVER: "mcp_server";
31
+ readonly APP: "app";
32
+ readonly HOOK: "hook";
33
+ readonly ASSET: "asset";
34
+ };
35
+ export declare const PLUGIN_MARKETPLACE_INSTALLATION_POLICY: {
36
+ readonly AVAILABLE: "AVAILABLE";
37
+ readonly INSTALLED_BY_DEFAULT: "INSTALLED_BY_DEFAULT";
38
+ readonly NOT_AVAILABLE: "NOT_AVAILABLE";
39
+ };
40
+ export declare const PLUGIN_MARKETPLACE_AUTHENTICATION_POLICY: {
41
+ readonly ON_INSTALL: "ON_INSTALL";
42
+ readonly ON_FIRST_USE: "ON_FIRST_USE";
43
+ readonly NONE: "NONE";
44
+ };
45
+ export declare const PLUGIN_MCP_TOOL_APPROVAL_MODE: {
46
+ readonly PROMPT: "prompt";
47
+ readonly APPROVE: "approve";
48
+ readonly DENY: "deny";
49
+ };
50
+ export declare const PLUGIN_RESOURCE_RUNTIME_TYPE: {
51
+ readonly SKILL_PACKAGE: "skill_package";
52
+ readonly TOOLSET: "toolset";
53
+ readonly HOOK_PROFILE: "hook_profile";
54
+ readonly APP_CONNECTOR: "app_connector";
55
+ };
56
+ export declare const PLUGIN_RESOURCE_INSTALLATION_STATUS: {
57
+ readonly READY: "ready";
58
+ readonly PENDING_AUTH: "pending_auth";
59
+ readonly BLOCKED: "blocked";
60
+ readonly FAILED: "failed";
61
+ };
26
62
  /**
27
63
  * Classifies plugin scope and governance.
28
64
  * - `system`: built-in/platform-managed plugin that users cannot install/uninstall from org APIs.
@@ -32,6 +68,12 @@ export type PluginLevel = (typeof PLUGIN_LEVEL)[keyof typeof PLUGIN_LEVEL];
32
68
  export type PluginSource = (typeof PLUGIN_SOURCE)[keyof typeof PLUGIN_SOURCE];
33
69
  export type PluginConfigurationStatus = (typeof PLUGIN_CONFIGURATION_STATUS)[keyof typeof PLUGIN_CONFIGURATION_STATUS];
34
70
  export type PluginLoadStatus = (typeof PLUGIN_LOAD_STATUS)[keyof typeof PLUGIN_LOAD_STATUS];
71
+ export type PluginComponentType = (typeof PLUGIN_COMPONENT_TYPE)[keyof typeof PLUGIN_COMPONENT_TYPE];
72
+ export type PluginMarketplaceInstallationPolicy = (typeof PLUGIN_MARKETPLACE_INSTALLATION_POLICY)[keyof typeof PLUGIN_MARKETPLACE_INSTALLATION_POLICY];
73
+ export type PluginMarketplaceAuthenticationPolicy = (typeof PLUGIN_MARKETPLACE_AUTHENTICATION_POLICY)[keyof typeof PLUGIN_MARKETPLACE_AUTHENTICATION_POLICY];
74
+ export type PluginMcpToolApprovalMode = (typeof PLUGIN_MCP_TOOL_APPROVAL_MODE)[keyof typeof PLUGIN_MCP_TOOL_APPROVAL_MODE];
75
+ export type PluginResourceRuntimeType = (typeof PLUGIN_RESOURCE_RUNTIME_TYPE)[keyof typeof PLUGIN_RESOURCE_RUNTIME_TYPE];
76
+ export type PluginResourceInstallationStatus = (typeof PLUGIN_RESOURCE_INSTALLATION_STATUS)[keyof typeof PLUGIN_RESOURCE_INSTALLATION_STATUS];
35
77
  export type PluginScopeRelation = 'none' | 'overrides-global' | 'shadowed-by-organization';
36
78
  export type PluginTargetApp = 'xpert' | 'data-xpert' | (string & {});
37
79
  export type PluginSdkCompatibilityWarningCode = 'plugin-sdk-peer-dependency-missing' | 'plugin-sdk-peer-range-invalid' | 'plugin-sdk-peer-range-incompatible' | 'plugin-sdk-peer-range-spans-major';
@@ -44,6 +86,100 @@ export interface PluginMarketplaceOperation {
44
86
  access?: PluginMarketplaceOperationAccess;
45
87
  tags?: string[];
46
88
  }
89
+ export interface XpertPluginMarketplacePolicy {
90
+ installation?: PluginMarketplaceInstallationPolicy;
91
+ authentication?: PluginMarketplaceAuthenticationPolicy;
92
+ pluginSharing?: boolean;
93
+ }
94
+ export interface XpertPluginMarketplaceSource {
95
+ source?: 'local' | 'url' | 'git-subdir' | 'github' | 'git' | 'npm' | 'marketplace' | (string & {});
96
+ path?: string;
97
+ url?: string;
98
+ ref?: string;
99
+ sha?: string;
100
+ sparsePath?: string;
101
+ packageName?: string;
102
+ }
103
+ export interface XpertPluginInstallInterface {
104
+ displayName?: string;
105
+ shortDescription?: string;
106
+ longDescription?: string;
107
+ developerName?: string;
108
+ category?: string;
109
+ capabilities?: string[];
110
+ websiteURL?: string;
111
+ privacyPolicyURL?: string;
112
+ termsOfServiceURL?: string;
113
+ defaultPrompt?: string[];
114
+ brandColor?: string;
115
+ composerIcon?: string;
116
+ logo?: string;
117
+ screenshots?: string[];
118
+ }
119
+ export interface XpertPluginMcpServerPolicy {
120
+ enabled?: boolean;
121
+ defaultToolsApprovalMode?: PluginMcpToolApprovalMode;
122
+ enabledTools?: string[];
123
+ tools?: {
124
+ [toolName: string]: {
125
+ approvalMode?: PluginMcpToolApprovalMode;
126
+ };
127
+ };
128
+ }
129
+ export interface XpertPluginBundleManifest {
130
+ name: string;
131
+ version?: string;
132
+ description?: string;
133
+ author?: string;
134
+ homepage?: string;
135
+ repository?: JSONValue;
136
+ license?: string;
137
+ keywords?: string[];
138
+ skills?: string | string[];
139
+ mcpServers?: string | string[] | JSONValue;
140
+ apps?: string | string[] | JSONValue;
141
+ connectors?: string | string[] | JSONValue;
142
+ hooks?: string | string[] | JSONValue | JSONValue[];
143
+ interface?: XpertPluginInstallInterface;
144
+ policy?: XpertPluginMarketplacePolicy;
145
+ source?: XpertPluginMarketplaceSource;
146
+ assets?: {
147
+ composerIcon?: string;
148
+ logo?: string;
149
+ screenshots?: string[];
150
+ };
151
+ targetApps?: PluginTargetApp[];
152
+ targetAppMeta?: PluginTargetAppMeta;
153
+ }
154
+ export interface XpertTemplatePluginSkillDependency {
155
+ pluginName?: PluginName;
156
+ componentKey: string;
157
+ targetAgentKey?: string;
158
+ }
159
+ export interface XpertTemplatePluginMcpServerDependency {
160
+ pluginName?: PluginName;
161
+ componentKey: string;
162
+ targetAgentKey?: string;
163
+ policyOverrides?: XpertPluginMcpServerPolicy;
164
+ }
165
+ export interface XpertTemplatePluginHookDependency {
166
+ pluginName?: PluginName;
167
+ componentKey: string;
168
+ targetAgentKey?: string;
169
+ events?: string[];
170
+ }
171
+ export interface XpertTemplatePluginAppDependency {
172
+ pluginName?: PluginName;
173
+ componentKey: string;
174
+ auth?: 'on_install' | 'on_first_use';
175
+ }
176
+ export interface XpertTemplatePluginDependencies {
177
+ plugins?: PluginName[];
178
+ skills?: XpertTemplatePluginSkillDependency[];
179
+ mcpServers?: XpertTemplatePluginMcpServerDependency[];
180
+ hooks?: XpertTemplatePluginHookDependency[];
181
+ apps?: XpertTemplatePluginAppDependency[];
182
+ }
47
183
  export interface PluginMarketplaceContribution {
48
184
  id?: string;
49
185
  type: PluginMarketplaceContributionType;
@@ -55,8 +191,11 @@ export interface PluginMarketplaceContribution {
55
191
  tags?: string[];
56
192
  metadata?: Record<string, unknown>;
57
193
  }
194
+ export type PluginMarketplaceCategory = 'featured' | 'business-operations' | 'communication' | 'creativity' | 'data-analytics' | 'developer-tools' | 'education-research' | 'finance' | 'productivity' | 'research' | 'security' | 'travel' | 'sales' | 'other';
58
195
  export interface PluginTargetAppMarketplaceMetadata {
59
196
  contents?: PluginMarketplaceContribution[];
197
+ category?: PluginMarketplaceCategory;
198
+ subcategory?: string;
60
199
  featured?: boolean;
61
200
  screenshots?: string[];
62
201
  readme?: string;
@@ -129,6 +268,141 @@ export interface PluginMeta {
129
268
  author: string;
130
269
  homepage?: string;
131
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
+ }
132
406
  export interface IPlugin extends IBasePerTenantAndOrganizationEntityModel {
133
407
  pluginName: string;
134
408
  packageName: string;
@@ -182,6 +456,7 @@ export interface IPluginDescriptor {
182
456
  loadError?: string | null;
183
457
  effectiveInCurrentScope: boolean;
184
458
  scopeRelation?: PluginScopeRelation;
459
+ componentSummary?: PluginComponentSummary;
185
460
  }
186
461
  export interface IPluginLatestVersionStatus {
187
462
  organizationId?: string;
@@ -197,3 +472,76 @@ export interface IPluginConfiguration<TConfig extends Record<string, any> = Reco
197
472
  configurationStatus?: PluginConfigurationStatus | null;
198
473
  configurationError?: string | null;
199
474
  }
475
+ export interface PluginComponentSummary {
476
+ total: number;
477
+ skills: number;
478
+ mcpServers: number;
479
+ apps: number;
480
+ hooks: number;
481
+ }
482
+ export interface IPluginComponentDefinition {
483
+ componentType: PluginComponentType;
484
+ componentKey: string;
485
+ sourcePath?: string | null;
486
+ config?: JSONValue | null;
487
+ metadata?: JSONValue | null;
488
+ definitionHash: string;
489
+ }
490
+ export interface IPluginResourceComponentState {
491
+ componentType: PluginComponentType;
492
+ componentKey: string;
493
+ installed: boolean;
494
+ staleDefinition: boolean;
495
+ runtimeType?: PluginResourceRuntimeType | null;
496
+ runtimeId?: string | null;
497
+ status?: PluginResourceInstallationStatus | null;
498
+ installation?: IPluginResourceInstallation | null;
499
+ }
500
+ export interface PluginResourceComponentSelector {
501
+ componentType?: PluginComponentType;
502
+ componentKey: string;
503
+ pluginName?: PluginName;
504
+ targetAgentKey?: string;
505
+ policyOverrides?: XpertPluginMcpServerPolicy;
506
+ events?: string[];
507
+ auth?: 'on_install' | 'on_first_use';
508
+ }
509
+ export interface IPluginResourceInstallation extends IBasePerTenantAndOrganizationEntityModel {
510
+ pluginName: PluginName;
511
+ componentType: PluginComponentType;
512
+ componentKey: string;
513
+ workspaceId: string;
514
+ xpertId?: string | null;
515
+ agentKey?: string | null;
516
+ runtimeType: PluginResourceRuntimeType;
517
+ runtimeId?: string | null;
518
+ runtimeNodeKey?: string | null;
519
+ definitionHash: string;
520
+ status: PluginResourceInstallationStatus;
521
+ config?: JSONValue | null;
522
+ enabled: boolean;
523
+ }
524
+ export interface IPluginResourceInstallResult {
525
+ installations: IPluginResourceInstallation[];
526
+ pendingAuth: IPluginResourceInstallation[];
527
+ xpert?: IXpert;
528
+ }
529
+ export interface PluginResourceInstallWorkspaceInput {
530
+ workspaceId: string;
531
+ components?: PluginResourceComponentSelector[];
532
+ }
533
+ export interface PluginResourceInstallXpertInput {
534
+ xpertId: string;
535
+ components?: PluginResourceComponentSelector[];
536
+ agentKey?: string;
537
+ }
538
+ export interface XpertTemplateInstallInput {
539
+ workspaceId: string;
540
+ basic?: {
541
+ name?: string;
542
+ title?: string;
543
+ description?: string;
544
+ avatar?: JSONValue | null;
545
+ copilotModel?: JSONValue | null;
546
+ };
547
+ }