@metad/contracts 3.6.7 → 3.7.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/README.md +2 -2
- package/index.cjs.d.ts +1 -0
- package/index.cjs.js +4029 -5
- package/index.esm.d.ts +1 -0
- package/index.esm.js +3909 -0
- package/package.json +1 -1
- package/src/agent/{ai-model.ts → ai-model.d.ts} +2 -2
- package/src/agent/graph.d.ts +151 -0
- package/src/agent/index.d.ts +5 -0
- package/src/agent/token.d.ts +21 -0
- package/src/agent/utils.d.ts +19 -0
- package/src/agent/variables.d.ts +16 -0
- package/src/ai/ai-model.model.d.ts +198 -0
- package/src/ai/ai-provider.model.d.ts +43 -0
- package/src/ai/ai.model.d.ts +82 -0
- package/src/ai/chat-message-feedback.model.d.ts +24 -0
- package/src/ai/chat-message.model.d.ts +222 -0
- package/src/ai/chat.model.d.ts +189 -0
- package/src/ai/copilot-checkpoint.model.d.ts +23 -0
- package/src/ai/copilot-example.model.d.ts +19 -0
- package/src/ai/copilot-model.model.d.ts +26 -0
- package/src/ai/copilot-organization.model.d.ts +17 -0
- package/src/ai/copilot-provider.model.d.ts +31 -0
- package/src/ai/copilot-role.model.d.ts +43 -0
- package/src/ai/copilot-store.model.d.ts +29 -0
- package/src/ai/copilot-user.model.d.ts +20 -0
- package/src/ai/copilot.model.d.ts +36 -0
- package/src/ai/{environment.model.ts → environment.model.d.ts} +10 -12
- package/src/ai/feature.model.d.ts +6 -0
- package/src/ai/index.d.ts +42 -0
- package/src/ai/knowledge-doc-chunk.model.d.ts +61 -0
- package/src/ai/knowledge-doc-page.model.d.ts +15 -0
- package/src/ai/knowledge-doc.model.d.ts +222 -0
- package/src/ai/knowledge-pipeline.d.ts +107 -0
- package/src/ai/knowledge-retrieval-log.model.d.ts +10 -0
- package/src/ai/knowledgebase-task.model.d.ts +39 -0
- package/src/ai/knowledgebase.model.d.ts +174 -0
- package/src/ai/middleware.model.d.ts +18 -0
- package/src/ai/rag-web.d.ts +26 -0
- package/src/ai/rag.d.ts +24 -0
- package/src/ai/role-permissions.d.ts +13 -0
- package/src/ai/skill.model.d.ts +181 -0
- package/src/ai/types.d.ts +71 -0
- package/src/ai/xpert-agent-execution.model.d.ts +96 -0
- package/src/ai/xpert-agent.model.d.ts +204 -0
- package/src/ai/xpert-project.model.d.ts +86 -0
- package/src/ai/xpert-table.model.d.ts +84 -0
- package/src/ai/xpert-task.model.d.ts +26 -0
- package/src/ai/xpert-template.model.d.ts +47 -0
- package/src/ai/xpert-tool-mcp.model.d.ts +72 -0
- package/src/ai/xpert-tool.model.d.ts +154 -0
- package/src/ai/xpert-toolset.model.d.ts +200 -0
- package/src/ai/xpert-workflow-task.prompt.d.ts +2 -0
- package/src/ai/xpert-workflow.model.d.ts +401 -0
- package/src/ai/xpert-workspace.model.d.ts +32 -0
- package/src/ai/xpert.model.d.ts +551 -0
- package/src/ai/xpert.utils.d.ts +77 -0
- package/src/analytics/ai.d.ts +73 -0
- package/src/analytics/approval-policy.model.d.ts +30 -0
- package/src/analytics/business-area-user.model.d.ts +35 -0
- package/src/analytics/business-area.d.ts +17 -0
- package/src/analytics/certification.model.d.ts +11 -0
- package/src/analytics/chatbi-conversation.model.d.ts +15 -0
- package/src/analytics/chatbi-model.model.d.ts +18 -0
- package/src/analytics/collection.model.d.ts +6 -0
- package/src/analytics/comment.model.d.ts +10 -0
- package/src/analytics/data-source-type.d.ts +16 -0
- package/src/analytics/data-source.d.ts +62 -0
- package/src/analytics/favorite.d.ts +14 -0
- package/src/analytics/features.d.ts +19 -0
- package/src/analytics/feed-model.d.ts +13 -0
- package/src/analytics/gateway.d.ts +28 -0
- package/src/analytics/index.d.ts +38 -0
- package/src/analytics/indicator-app.d.ts +44 -0
- package/src/analytics/{indicator-market.ts → indicator-market.d.ts} +2 -6
- package/src/analytics/indicator.d.ts +105 -0
- package/src/analytics/model-query-log.model.d.ts +41 -0
- package/src/analytics/model-query.d.ts +21 -0
- package/src/analytics/{notification-destination.ts → notification-destination.d.ts} +5 -9
- package/src/analytics/{permission-approval-user.model.ts → permission-approval-user.model.d.ts} +8 -10
- package/src/analytics/permission-approval.model.d.ts +47 -0
- package/src/analytics/project.model.d.ts +50 -0
- package/src/analytics/role-permissions.d.ts +25 -0
- package/src/analytics/schema.d.ts +262 -0
- package/src/analytics/screenshot.model.d.ts +25 -0
- package/src/analytics/semantic-model-entity.d.ts +38 -0
- package/src/analytics/semantic-model-member.d.ts +27 -0
- package/src/analytics/semantic-model.d.ts +183 -0
- package/src/analytics/{story-point.ts → story-point.d.ts} +6 -11
- package/src/analytics/story-template.model.d.ts +28 -0
- package/src/analytics/story-widget.d.ts +12 -0
- package/src/analytics/story.d.ts +93 -0
- package/src/analytics/subscription.d.ts +38 -0
- package/src/analytics/visit.model.d.ts +34 -0
- package/src/analytics/webSocket.d.ts +48 -0
- package/src/api-key.model.d.ts +10 -0
- package/src/base-entity.model.d.ts +27 -0
- package/src/contact.model.d.ts +41 -0
- package/src/core.model.d.ts +97 -0
- package/src/{country.model.ts → country.model.d.ts} +2 -3
- package/src/currency.model.d.ts +579 -0
- package/src/{custom-smtp.model.ts → custom-smtp.model.d.ts} +17 -21
- package/src/date-picker.model.d.ts +5 -0
- package/src/email-template.model.d.ts +39 -0
- package/src/email.model.d.ts +36 -0
- package/src/employee.model.d.ts +128 -0
- package/src/entity-with-members.model.d.ts +13 -0
- package/src/feature.model.d.ts +93 -0
- package/src/file-provider.d.ts +33 -0
- package/src/help-center-article.model.d.ts +0 -0
- package/src/help-center.model.d.ts +0 -0
- package/src/http-status.enum.d.ts +57 -0
- package/src/import-export.model.d.ts +36 -0
- package/src/index.d.ts +48 -0
- package/src/integration/dify.d.ts +0 -0
- package/src/integration/dingtalk.d.ts +2 -0
- package/src/integration/fastgpt.d.ts +0 -0
- package/src/integration/firecrawl.d.ts +2 -0
- package/src/integration/github.d.ts +69 -0
- package/src/integration/index.d.ts +4 -0
- package/src/integration/lark.d.ts +11 -0
- package/src/integration/wecom.d.ts +2 -0
- package/src/integration.model.d.ts +90 -0
- package/src/invite.model.d.ts +123 -0
- package/src/language.model.d.ts +19 -0
- package/src/organization-contact.model.d.ts +73 -0
- package/src/{organization-department.model.ts → organization-department.model.d.ts} +10 -16
- package/src/organization-language.model.d.ts +18 -0
- package/src/organization-projects.model.d.ts +80 -0
- package/src/organization-team-employee-model.d.ts +12 -0
- package/src/organization-team-model.d.ts +19 -0
- package/src/organization.model.d.ts +239 -0
- package/src/{password-reset.model.ts → password-reset.model.d.ts} +10 -14
- package/src/{plain-object.model.ts → plain-object.model.d.ts} +1 -1
- package/src/plugin.d.ts +13 -0
- package/src/role-permission.model.d.ts +61 -0
- package/src/role.model.d.ts +26 -0
- package/src/schedule.d.ts +27 -0
- package/src/secret-token.model.d.ts +11 -0
- package/src/seed.model.d.ts +37 -0
- package/src/storage-file.model.d.ts +40 -0
- package/src/tag-entity.model.d.ts +20 -0
- package/src/tenant.model.d.ts +40 -0
- package/src/tools/index.d.ts +1 -0
- package/src/tools/sandbox.d.ts +5 -0
- package/src/translation.model.d.ts +26 -0
- package/src/types.d.ts +245 -0
- package/src/user-organization.model.d.ts +24 -0
- package/src/user.model.d.ts +131 -0
- package/src/visibility.model.d.ts +6 -0
- package/.babelrc +0 -5
- package/.eslintrc.json +0 -18
- package/babel.config.json +0 -1
- package/jest.config.ts +0 -16
- package/project.json +0 -53
- package/src/agent/graph.ts +0 -275
- package/src/agent/index.ts +0 -5
- package/src/agent/token.ts +0 -23
- package/src/agent/utils.spec.ts +0 -283
- package/src/agent/utils.ts +0 -122
- package/src/agent/variables.ts +0 -66
- package/src/ai/ai-model.model.ts +0 -232
- package/src/ai/ai-provider.model.ts +0 -53
- package/src/ai/ai.model.ts +0 -87
- package/src/ai/chat-message-feedback.model.ts +0 -31
- package/src/ai/chat-message.model.ts +0 -277
- package/src/ai/chat.model.ts +0 -207
- package/src/ai/copilot-checkpoint.model.ts +0 -25
- package/src/ai/copilot-example.model.ts +0 -23
- package/src/ai/copilot-model.model.ts +0 -31
- package/src/ai/copilot-organization.model.ts +0 -21
- package/src/ai/copilot-provider.model.ts +0 -46
- package/src/ai/copilot-role.model.ts +0 -48
- package/src/ai/copilot-store.model.ts +0 -34
- package/src/ai/copilot-user.model.ts +0 -24
- package/src/ai/copilot.model.ts +0 -47
- package/src/ai/feature.model.ts +0 -6
- package/src/ai/index.ts +0 -40
- package/src/ai/knowledge-doc-chunk.model.ts +0 -123
- package/src/ai/knowledge-doc-chunk.spec.ts +0 -47
- package/src/ai/knowledge-doc-page.model.ts +0 -20
- package/src/ai/knowledge-doc.model.ts +0 -364
- package/src/ai/knowledge-pipeline.ts +0 -138
- package/src/ai/knowledge-retrieval-log.model.ts +0 -19
- package/src/ai/knowledgebase-task.model.ts +0 -46
- package/src/ai/knowledgebase.model.ts +0 -205
- package/src/ai/rag-web.ts +0 -54
- package/src/ai/rag.ts +0 -24
- package/src/ai/role-permissions.ts +0 -13
- package/src/ai/types.ts +0 -83
- package/src/ai/xpert-agent-execution.model.ts +0 -115
- package/src/ai/xpert-agent.model.ts +0 -264
- package/src/ai/xpert-project.model.ts +0 -103
- package/src/ai/xpert-table.model.ts +0 -100
- package/src/ai/xpert-task.model.ts +0 -32
- package/src/ai/xpert-template.model.ts +0 -53
- package/src/ai/xpert-tool-mcp.model.ts +0 -77
- package/src/ai/xpert-tool.model.ts +0 -216
- package/src/ai/xpert-toolset.model.ts +0 -220
- package/src/ai/xpert-workflow-task.prompt.ts +0 -71
- package/src/ai/xpert-workflow.model.ts +0 -502
- package/src/ai/xpert-workspace.model.ts +0 -42
- package/src/ai/xpert.model.ts +0 -637
- package/src/ai/xpert.utils.ts +0 -214
- package/src/analytics/ai.ts +0 -79
- package/src/analytics/approval-policy.model.ts +0 -40
- package/src/analytics/business-area-user.model.ts +0 -43
- package/src/analytics/business-area.ts +0 -20
- package/src/analytics/certification.model.ts +0 -12
- package/src/analytics/chatbi-conversation.model.ts +0 -16
- package/src/analytics/chatbi-model.model.ts +0 -22
- package/src/analytics/collection.model.ts +0 -8
- package/src/analytics/comment.model.ts +0 -14
- package/src/analytics/data-source-type.ts +0 -19
- package/src/analytics/data-source.ts +0 -72
- package/src/analytics/favorite.ts +0 -18
- package/src/analytics/features.ts +0 -19
- package/src/analytics/feed-model.ts +0 -15
- package/src/analytics/gateway.ts +0 -31
- package/src/analytics/index.ts +0 -39
- package/src/analytics/indicator-app.ts +0 -49
- package/src/analytics/indicator.ts +0 -143
- package/src/analytics/model-query-log.model.ts +0 -45
- package/src/analytics/model-query.ts +0 -22
- package/src/analytics/permission-approval.model.ts +0 -58
- package/src/analytics/project.model.ts +0 -56
- package/src/analytics/role-permissions.ts +0 -36
- package/src/analytics/schema.ts +0 -300
- package/src/analytics/screenshot.model.ts +0 -28
- package/src/analytics/semantic-model-entity.ts +0 -50
- package/src/analytics/semantic-model-member.ts +0 -49
- package/src/analytics/semantic-model.ts +0 -237
- package/src/analytics/story-template.model.ts +0 -34
- package/src/analytics/story-widget.ts +0 -15
- package/src/analytics/story.ts +0 -109
- package/src/analytics/subscription.ts +0 -43
- package/src/analytics/visit.model.ts +0 -39
- package/src/analytics/webSocket.ts +0 -53
- package/src/api-key.model.ts +0 -11
- package/src/base-entity.model.ts +0 -34
- package/src/contact.model.ts +0 -45
- package/src/core.model.ts +0 -103
- package/src/currency.model.ts +0 -582
- package/src/date-picker.model.ts +0 -5
- package/src/email-template.model.ts +0 -50
- package/src/email.model.ts +0 -46
- package/src/employee.model.ts +0 -199
- package/src/entity-with-members.model.ts +0 -16
- package/src/feature.model.ts +0 -108
- package/src/file-provider.ts +0 -37
- package/src/help-center-article.model.ts +0 -35
- package/src/help-center.model.ts +0 -33
- package/src/http-status.enum.ts +0 -58
- package/src/import-export.model.ts +0 -42
- package/src/index.ts +0 -60
- package/src/integration/dify.ts +0 -31
- package/src/integration/dingtalk.ts +0 -16
- package/src/integration/fastgpt.ts +0 -32
- package/src/integration/firecrawl.ts +0 -46
- package/src/integration/github.ts +0 -149
- package/src/integration/index.ts +0 -15
- package/src/integration/lark.ts +0 -79
- package/src/integration/wecom.ts +0 -16
- package/src/integration.model.ts +0 -119
- package/src/invite.model.ts +0 -144
- package/src/language.model.ts +0 -22
- package/src/organization-contact.model.ts +0 -84
- package/src/organization-language.model.ts +0 -24
- package/src/organization-projects.model.ts +0 -99
- package/src/organization-team-employee-model.ts +0 -14
- package/src/organization-team-model.ts +0 -25
- package/src/organization.model.ts +0 -266
- package/src/plugin.ts +0 -15
- package/src/role-permission.model.ts +0 -123
- package/src/role.model.ts +0 -31
- package/src/schedule.ts +0 -71
- package/src/secret-token.model.ts +0 -15
- package/src/seed.model.ts +0 -50
- package/src/storage-file.model.ts +0 -46
- package/src/tag-entity.model.ts +0 -23
- package/src/tenant.model.ts +0 -52
- package/src/tools/index.ts +0 -1
- package/src/tools/sandbox.ts +0 -5
- package/src/translation.model.ts +0 -37
- package/src/types.ts +0 -277
- package/src/user-organization.model.ts +0 -31
- package/src/user.model.ts +0 -151
- package/src/visibility.model.ts +0 -6
- package/tsconfig.json +0 -22
- package/tsconfig.lib.json +0 -10
- package/tsconfig.spec.json +0 -9
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
import { IWorkflowNode, WorkflowNodeTypeEnum } from './xpert-workflow.model';
|
|
2
|
+
import { IBasePerWorkspaceEntityModel } from './xpert-workspace.model';
|
|
3
|
+
/**
|
|
4
|
+
* Table status
|
|
5
|
+
*/
|
|
6
|
+
export declare enum XpertTableStatus {
|
|
7
|
+
DRAFT = "draft",
|
|
8
|
+
READY = "ready",
|
|
9
|
+
PENDING_ACTIVATION = "pendingActivation",
|
|
10
|
+
ACTIVE = "active",
|
|
11
|
+
NEEDS_MIGRATION = "needsMigration",
|
|
12
|
+
DEPRECATED = "deprecated",
|
|
13
|
+
ERROR = "error"
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* Custom Table for Xpert
|
|
17
|
+
*/
|
|
18
|
+
export interface IXpertTable extends IBasePerWorkspaceEntityModel, TXpertTable {
|
|
19
|
+
}
|
|
20
|
+
export type TXpertTable = {
|
|
21
|
+
name: string;
|
|
22
|
+
description?: string;
|
|
23
|
+
database?: string;
|
|
24
|
+
schema?: string;
|
|
25
|
+
columns?: TXpertTableColumn[];
|
|
26
|
+
status: XpertTableStatus;
|
|
27
|
+
version?: number;
|
|
28
|
+
activatedAt?: Date;
|
|
29
|
+
message?: string;
|
|
30
|
+
};
|
|
31
|
+
/**
|
|
32
|
+
* Union type for all supported database types
|
|
33
|
+
* Used when database type is not yet determined or needs to support multiple databases
|
|
34
|
+
*/
|
|
35
|
+
export type DatabaseDataType = string;
|
|
36
|
+
export type TXpertTableColumn = {
|
|
37
|
+
name: string;
|
|
38
|
+
type: DatabaseDataType;
|
|
39
|
+
label?: string;
|
|
40
|
+
required?: boolean;
|
|
41
|
+
isPrimaryKey?: boolean;
|
|
42
|
+
isUnique?: boolean;
|
|
43
|
+
autoIncrement?: boolean;
|
|
44
|
+
defaultValue?: string;
|
|
45
|
+
length?: number;
|
|
46
|
+
precision?: number;
|
|
47
|
+
scale?: number;
|
|
48
|
+
enumValues?: string[];
|
|
49
|
+
setValues?: string[];
|
|
50
|
+
};
|
|
51
|
+
export interface IWorkflowNodeDBOperation extends IWorkflowNode {
|
|
52
|
+
tableId: string;
|
|
53
|
+
}
|
|
54
|
+
export interface IWFNDBInsert extends IWorkflowNodeDBOperation {
|
|
55
|
+
type: WorkflowNodeTypeEnum.DB_INSERT;
|
|
56
|
+
columns?: Record<string, {
|
|
57
|
+
type: DatabaseDataType;
|
|
58
|
+
value?: any;
|
|
59
|
+
valueSelector?: string;
|
|
60
|
+
}>;
|
|
61
|
+
}
|
|
62
|
+
export declare function genXpertDBInsertKey(): string;
|
|
63
|
+
export interface IWFNDBUpdate extends IWorkflowNodeDBOperation {
|
|
64
|
+
type: WorkflowNodeTypeEnum.DB_UPDATE;
|
|
65
|
+
columns?: Record<string, {
|
|
66
|
+
type: DatabaseDataType;
|
|
67
|
+
value?: any;
|
|
68
|
+
valueSelector?: string;
|
|
69
|
+
}>;
|
|
70
|
+
}
|
|
71
|
+
export declare function genXpertDBUpdateKey(): string;
|
|
72
|
+
export interface IWFNDBDelete extends IWorkflowNodeDBOperation {
|
|
73
|
+
type: WorkflowNodeTypeEnum.DB_DELETE;
|
|
74
|
+
}
|
|
75
|
+
export declare function genXpertDBDeleteKey(): string;
|
|
76
|
+
export interface IWFNDBQuery extends IWorkflowNodeDBOperation {
|
|
77
|
+
type: WorkflowNodeTypeEnum.DB_QUERY;
|
|
78
|
+
}
|
|
79
|
+
export declare function genXpertDBQueryKey(): string;
|
|
80
|
+
export interface IWFNDBSql extends IWorkflowNodeDBOperation {
|
|
81
|
+
type: WorkflowNodeTypeEnum.DB_SQL;
|
|
82
|
+
sqlTemplate?: string;
|
|
83
|
+
}
|
|
84
|
+
export declare function genXpertDBSqlKey(): string;
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { IBasePerTenantAndOrganizationEntityModel } from '../base-entity.model';
|
|
2
|
+
import { ScheduleTaskStatus, TScheduleOptions } from '../schedule';
|
|
3
|
+
import { IChatConversation } from './chat.model';
|
|
4
|
+
import { IXpert } from './xpert.model';
|
|
5
|
+
/**
|
|
6
|
+
* Tools for Xpert
|
|
7
|
+
*/
|
|
8
|
+
export interface IXpertTask extends IBasePerTenantAndOrganizationEntityModel, XpertTaskType {
|
|
9
|
+
}
|
|
10
|
+
export type XpertTaskType = {
|
|
11
|
+
name?: string;
|
|
12
|
+
schedule?: string;
|
|
13
|
+
options?: TScheduleOptions;
|
|
14
|
+
timeZone?: string;
|
|
15
|
+
prompt?: string;
|
|
16
|
+
status?: ScheduleTaskStatus;
|
|
17
|
+
xpert?: IXpert;
|
|
18
|
+
xpertId?: string;
|
|
19
|
+
agentKey?: string;
|
|
20
|
+
conversations?: IChatConversation[];
|
|
21
|
+
job?: any;
|
|
22
|
+
scheduleDescription?: string;
|
|
23
|
+
executionCount?: number;
|
|
24
|
+
errorCount?: number;
|
|
25
|
+
successCount?: number;
|
|
26
|
+
};
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import { IBasePerTenantEntityModel } from '../base-entity.model';
|
|
2
|
+
import { IconDefinition, TAvatar } from '../types';
|
|
3
|
+
import { TCopilotModel } from './copilot-model.model';
|
|
4
|
+
import { MCPServerType, TMCPServer } from './xpert-tool-mcp.model';
|
|
5
|
+
import { XpertTypeEnum } from './xpert.model';
|
|
6
|
+
export interface IXpertTemplate extends IBasePerTenantEntityModel {
|
|
7
|
+
key: string;
|
|
8
|
+
name?: string;
|
|
9
|
+
visitCount: number;
|
|
10
|
+
lastVisitedAt?: Date;
|
|
11
|
+
}
|
|
12
|
+
export type TTemplate = {
|
|
13
|
+
id: string;
|
|
14
|
+
name: string;
|
|
15
|
+
title: string;
|
|
16
|
+
description: string;
|
|
17
|
+
category: string;
|
|
18
|
+
copyright: string;
|
|
19
|
+
privacyPolicy?: string;
|
|
20
|
+
export_data: string;
|
|
21
|
+
};
|
|
22
|
+
export type TXpertTemplate = TTemplate & {
|
|
23
|
+
avatar: TAvatar;
|
|
24
|
+
type: XpertTypeEnum | 'project';
|
|
25
|
+
copilotModel?: Partial<TCopilotModel>;
|
|
26
|
+
};
|
|
27
|
+
export interface IXpertMCPTemplate extends TTemplate {
|
|
28
|
+
/**
|
|
29
|
+
* string is the backward compatible image file URL format
|
|
30
|
+
*/
|
|
31
|
+
icon: IconDefinition | string;
|
|
32
|
+
type: MCPServerType;
|
|
33
|
+
author: string;
|
|
34
|
+
transport: MCPServerType;
|
|
35
|
+
explore: string;
|
|
36
|
+
tags?: string[];
|
|
37
|
+
visitCount?: number;
|
|
38
|
+
server: TMCPServer;
|
|
39
|
+
options?: any;
|
|
40
|
+
}
|
|
41
|
+
export type TKnowledgePipelineTemplate = TTemplate & {
|
|
42
|
+
icon: IconDefinition;
|
|
43
|
+
author: string;
|
|
44
|
+
explore: string;
|
|
45
|
+
tags?: string[];
|
|
46
|
+
visitCount?: number;
|
|
47
|
+
};
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
export declare enum MCPServerType {
|
|
2
|
+
SSE = "sse",
|
|
3
|
+
STDIO = "stdio",
|
|
4
|
+
CODE = "code"
|
|
5
|
+
}
|
|
6
|
+
/**
|
|
7
|
+
* Configuration for stdio transport connection
|
|
8
|
+
*/
|
|
9
|
+
export interface StdioConnection {
|
|
10
|
+
transport: "stdio";
|
|
11
|
+
command: string;
|
|
12
|
+
args: string[];
|
|
13
|
+
env?: Record<string, string>;
|
|
14
|
+
encoding?: string;
|
|
15
|
+
encodingErrorHandler?: "strict" | "ignore" | "replace";
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* Configuration for SSE transport connection
|
|
19
|
+
*/
|
|
20
|
+
export interface SSEConnection {
|
|
21
|
+
transport: "sse";
|
|
22
|
+
url: string;
|
|
23
|
+
headers?: Record<string, string>;
|
|
24
|
+
useNodeEventSource?: boolean;
|
|
25
|
+
}
|
|
26
|
+
export type TMCPServerReconnect = {
|
|
27
|
+
/**
|
|
28
|
+
* Whether to automatically restart the process if it exits
|
|
29
|
+
*/
|
|
30
|
+
enabled?: boolean;
|
|
31
|
+
/**
|
|
32
|
+
* Maximum number of restart attempts
|
|
33
|
+
*/
|
|
34
|
+
maxAttempts?: number;
|
|
35
|
+
/**
|
|
36
|
+
* Delay in milliseconds between restart attempts
|
|
37
|
+
*/
|
|
38
|
+
delayMs?: number;
|
|
39
|
+
};
|
|
40
|
+
export type TMCPServer = {
|
|
41
|
+
type: MCPServerType;
|
|
42
|
+
command?: string;
|
|
43
|
+
args?: string[];
|
|
44
|
+
env?: Record<string, string>;
|
|
45
|
+
encoding?: string;
|
|
46
|
+
encodingErrorHandler?: string;
|
|
47
|
+
/**
|
|
48
|
+
* Additional reconnection settings
|
|
49
|
+
*/
|
|
50
|
+
reconnect?: TMCPServerReconnect;
|
|
51
|
+
url?: string;
|
|
52
|
+
headers?: Record<string, string>;
|
|
53
|
+
useNodeEventSource?: boolean;
|
|
54
|
+
/**
|
|
55
|
+
* Default timeout in milliseconds for tool execution. Must be greater than 0.
|
|
56
|
+
* If not specified, tools will use their own configured timeout values.
|
|
57
|
+
*/
|
|
58
|
+
defaultToolTimeout?: number;
|
|
59
|
+
files?: {
|
|
60
|
+
name: string;
|
|
61
|
+
content: string;
|
|
62
|
+
}[];
|
|
63
|
+
toolNamePrefix?: string;
|
|
64
|
+
/**
|
|
65
|
+
* Init scripts for sandbox
|
|
66
|
+
*/
|
|
67
|
+
initScripts?: string;
|
|
68
|
+
};
|
|
69
|
+
export type TMCPSchema = {
|
|
70
|
+
servers?: Record<string, TMCPServer>;
|
|
71
|
+
mcpServers?: Record<string, TMCPServer>;
|
|
72
|
+
};
|
|
@@ -0,0 +1,154 @@
|
|
|
1
|
+
import type { JSONSchema4 } from "json-schema";
|
|
2
|
+
import { IBasePerTenantAndOrganizationEntityModel } from '../base-entity.model';
|
|
3
|
+
import { I18nObject } from '../types';
|
|
4
|
+
import { AiProviderRole } from './copilot.model';
|
|
5
|
+
import { TAvatar } from '../types';
|
|
6
|
+
import { IXpertToolset } from './xpert-toolset.model';
|
|
7
|
+
/**
|
|
8
|
+
* Tools for Xpert
|
|
9
|
+
*/
|
|
10
|
+
export interface IXpertTool extends IBasePerTenantAndOrganizationEntityModel, XpertToolType {
|
|
11
|
+
}
|
|
12
|
+
export type XpertToolType = {
|
|
13
|
+
name: string;
|
|
14
|
+
label?: I18nObject | string;
|
|
15
|
+
description?: string;
|
|
16
|
+
avatar?: TAvatar;
|
|
17
|
+
/**
|
|
18
|
+
* @deprecated use disabled
|
|
19
|
+
*/
|
|
20
|
+
enabled?: boolean;
|
|
21
|
+
/**
|
|
22
|
+
* Is disabled in toolset
|
|
23
|
+
*/
|
|
24
|
+
disabled?: boolean;
|
|
25
|
+
options?: Record<string, any>;
|
|
26
|
+
/**
|
|
27
|
+
* Schema of tool
|
|
28
|
+
*/
|
|
29
|
+
schema?: Record<string, any> | TXpertToolEntity | IBuiltinTool;
|
|
30
|
+
/**
|
|
31
|
+
* Default input parameters of tool
|
|
32
|
+
*/
|
|
33
|
+
parameters?: Record<string, any>;
|
|
34
|
+
/**
|
|
35
|
+
* Priority role of AI provider
|
|
36
|
+
* @default `AiProviderRole.Secondary`
|
|
37
|
+
*/
|
|
38
|
+
aiProviderRole?: AiProviderRole;
|
|
39
|
+
toolset?: IXpertToolset;
|
|
40
|
+
toolsetId?: string;
|
|
41
|
+
provider?: IBuiltinTool;
|
|
42
|
+
};
|
|
43
|
+
export type TToolProviderIdentity = {
|
|
44
|
+
name: string;
|
|
45
|
+
author: string;
|
|
46
|
+
label: I18nObject;
|
|
47
|
+
provider: string;
|
|
48
|
+
entity?: string;
|
|
49
|
+
};
|
|
50
|
+
interface ToolParameterOption {
|
|
51
|
+
value: string;
|
|
52
|
+
label: I18nObject;
|
|
53
|
+
}
|
|
54
|
+
export declare enum ToolParameterType {
|
|
55
|
+
STRING = "string",
|
|
56
|
+
NUMBER = "number",
|
|
57
|
+
BOOLEAN = "boolean",
|
|
58
|
+
ARRAY = "array",
|
|
59
|
+
SELECT = "select",
|
|
60
|
+
SECRET_INPUT = "secret-input",
|
|
61
|
+
FILE = "file"
|
|
62
|
+
}
|
|
63
|
+
export declare enum ToolParameterForm {
|
|
64
|
+
SCHEMA = "schema",// should be set while adding tool
|
|
65
|
+
FORM = "form",// should be set before invoking tool
|
|
66
|
+
LLM = "llm"
|
|
67
|
+
}
|
|
68
|
+
export type TToolParameter = {
|
|
69
|
+
name: string;
|
|
70
|
+
label: I18nObject;
|
|
71
|
+
human_description?: I18nObject;
|
|
72
|
+
placeholder?: I18nObject;
|
|
73
|
+
type: ToolParameterType;
|
|
74
|
+
form: ToolParameterForm;
|
|
75
|
+
llm_description?: string;
|
|
76
|
+
required?: boolean;
|
|
77
|
+
default?: number | string;
|
|
78
|
+
min?: number;
|
|
79
|
+
max?: number;
|
|
80
|
+
options?: ToolParameterOption[];
|
|
81
|
+
items?: {
|
|
82
|
+
type: ToolParameterType;
|
|
83
|
+
};
|
|
84
|
+
/**
|
|
85
|
+
* Is visible for ai tool parameters
|
|
86
|
+
*/
|
|
87
|
+
visible?: boolean;
|
|
88
|
+
};
|
|
89
|
+
export interface ApiToolBundle {
|
|
90
|
+
/**
|
|
91
|
+
* This interface is used to store the schema information of an api based tool,
|
|
92
|
+
* such as the url, the method, the parameters, etc.
|
|
93
|
+
*/
|
|
94
|
+
server_url: string;
|
|
95
|
+
method: string;
|
|
96
|
+
summary?: string;
|
|
97
|
+
operation_id?: string;
|
|
98
|
+
/**
|
|
99
|
+
* parameters
|
|
100
|
+
* @deprecated use schema
|
|
101
|
+
*/
|
|
102
|
+
parameters?: TToolParameter[];
|
|
103
|
+
schema?: JSONSchema4;
|
|
104
|
+
author: string;
|
|
105
|
+
icon?: string;
|
|
106
|
+
openapi: Record<string, any>;
|
|
107
|
+
}
|
|
108
|
+
export interface IBuiltinTool {
|
|
109
|
+
identity: TToolProviderIdentity;
|
|
110
|
+
description: {
|
|
111
|
+
human: I18nObject;
|
|
112
|
+
llm: string;
|
|
113
|
+
};
|
|
114
|
+
/**
|
|
115
|
+
* Definition of input parameters (yaml schema)
|
|
116
|
+
*/
|
|
117
|
+
parameters?: TToolParameter[];
|
|
118
|
+
/**
|
|
119
|
+
* Schema of tool (zod/json-schema)
|
|
120
|
+
*/
|
|
121
|
+
schema?: any;
|
|
122
|
+
/**
|
|
123
|
+
* @deprecated how to use?
|
|
124
|
+
*/
|
|
125
|
+
entity?: string;
|
|
126
|
+
}
|
|
127
|
+
export type TXpertToolEntity = {
|
|
128
|
+
name: string;
|
|
129
|
+
method: 'create' | 'get' | 'query' | 'update' | 'delete';
|
|
130
|
+
entity: string;
|
|
131
|
+
path: string;
|
|
132
|
+
/**
|
|
133
|
+
* Definition of properties
|
|
134
|
+
*/
|
|
135
|
+
parameters: Partial<TToolParameter>[];
|
|
136
|
+
description?: string;
|
|
137
|
+
};
|
|
138
|
+
export declare const TOOL_NAME_REGEX: RegExp;
|
|
139
|
+
/**
|
|
140
|
+
*
|
|
141
|
+
* @param tool Tool
|
|
142
|
+
* @param disableToolDefault Is default disable tools
|
|
143
|
+
* @returns Tool is enabled?
|
|
144
|
+
*/
|
|
145
|
+
export declare function isToolEnabled(tool: IXpertTool, disableToolDefault?: boolean): boolean;
|
|
146
|
+
/**
|
|
147
|
+
* Tool is enabled?
|
|
148
|
+
*
|
|
149
|
+
* @deprecated use isToolEnabled
|
|
150
|
+
*/
|
|
151
|
+
export declare function isEnableTool(tool: IXpertTool, toolset: IXpertToolset): boolean;
|
|
152
|
+
export declare function getEnabledTools(toolset: IXpertToolset): IXpertTool[];
|
|
153
|
+
export declare function getToolLabel(tool: IXpertTool): I18nObject | string;
|
|
154
|
+
export {};
|
|
@@ -0,0 +1,200 @@
|
|
|
1
|
+
import { AiProviderRole } from './copilot.model';
|
|
2
|
+
import { TAvatar } from '../types';
|
|
3
|
+
import { IXpertTool, XpertToolType } from './xpert-tool.model';
|
|
4
|
+
import { IBasePerWorkspaceEntityModel } from './xpert-workspace.model';
|
|
5
|
+
import { ITag } from '../tag-entity.model';
|
|
6
|
+
import { TCopilotModel } from './copilot-model.model';
|
|
7
|
+
import { Subscriber } from 'rxjs';
|
|
8
|
+
import { I18nObject } from '../types';
|
|
9
|
+
export declare enum XpertToolsetCategoryEnum {
|
|
10
|
+
BUILTIN = "builtin",
|
|
11
|
+
API = "api",
|
|
12
|
+
/**
|
|
13
|
+
* [Anthropic Model Context Protocol (MCP)](https://modelcontextprotocol.io/introduction)
|
|
14
|
+
*/
|
|
15
|
+
MCP = "mcp",
|
|
16
|
+
/**
|
|
17
|
+
* @deprecated
|
|
18
|
+
*/
|
|
19
|
+
WORKFLOW = "workflow"
|
|
20
|
+
}
|
|
21
|
+
export type XpertToolsetType = string;
|
|
22
|
+
export type TXpertToolset = {
|
|
23
|
+
key?: string;
|
|
24
|
+
/**
|
|
25
|
+
* toolset name
|
|
26
|
+
*/
|
|
27
|
+
name: string;
|
|
28
|
+
type?: XpertToolsetType;
|
|
29
|
+
category?: 'command' | XpertToolsetCategoryEnum;
|
|
30
|
+
description?: string;
|
|
31
|
+
/**
|
|
32
|
+
* avatar object
|
|
33
|
+
*/
|
|
34
|
+
avatar?: TAvatar;
|
|
35
|
+
/**
|
|
36
|
+
* Priority role of AI provider
|
|
37
|
+
* @default `AiProviderRole.Secondary`
|
|
38
|
+
*/
|
|
39
|
+
aiProviderRole?: AiProviderRole;
|
|
40
|
+
/**
|
|
41
|
+
* Privacy policy of this toolset
|
|
42
|
+
*/
|
|
43
|
+
privacyPolicy?: string;
|
|
44
|
+
/**
|
|
45
|
+
* Custom disclaimer for the toolset
|
|
46
|
+
*/
|
|
47
|
+
customDisclaimer?: string;
|
|
48
|
+
options?: TXpertToolsetOptions;
|
|
49
|
+
credentials?: TToolCredentials;
|
|
50
|
+
schema?: string;
|
|
51
|
+
schemaType?: 'openapi_json' | 'openapi_yaml';
|
|
52
|
+
tools?: IXpertTool[];
|
|
53
|
+
tags?: ITag[];
|
|
54
|
+
};
|
|
55
|
+
/**
|
|
56
|
+
* Toolset for Xpert
|
|
57
|
+
*/
|
|
58
|
+
export interface IXpertToolset extends IBasePerWorkspaceEntityModel, TXpertToolset {
|
|
59
|
+
}
|
|
60
|
+
export type TXpertToolsetOptions = {
|
|
61
|
+
provider?: IToolProvider;
|
|
62
|
+
baseUrl?: string;
|
|
63
|
+
toolPositions?: Record<string, number>;
|
|
64
|
+
disableToolDefault?: boolean;
|
|
65
|
+
needSandbox?: boolean;
|
|
66
|
+
[key: string]: any;
|
|
67
|
+
};
|
|
68
|
+
/**
|
|
69
|
+
* Context env when tool call in langchain.js
|
|
70
|
+
*/
|
|
71
|
+
export type XpertToolContext = {
|
|
72
|
+
tenantId: string;
|
|
73
|
+
organizationId?: string;
|
|
74
|
+
userId: string;
|
|
75
|
+
copilotModel: TCopilotModel;
|
|
76
|
+
chatModel: unknown;
|
|
77
|
+
tool_call_id: string;
|
|
78
|
+
subscriber: Subscriber<MessageEvent>;
|
|
79
|
+
};
|
|
80
|
+
export declare enum CredentialsType {
|
|
81
|
+
SECRET_INPUT = "secret-input",
|
|
82
|
+
TEXT_INPUT = "text-input",
|
|
83
|
+
SELECT = "select",
|
|
84
|
+
REMOTE_SELECT = "remote-select",
|
|
85
|
+
COPILOT_MODEL = "copilot-model",
|
|
86
|
+
BOOLEAN = "boolean",
|
|
87
|
+
INT = "int",
|
|
88
|
+
NUMBER = "number"
|
|
89
|
+
}
|
|
90
|
+
export interface ToolCredentialsOption {
|
|
91
|
+
value: string;
|
|
92
|
+
label: I18nObject | string;
|
|
93
|
+
}
|
|
94
|
+
export interface ToolProviderCredentials {
|
|
95
|
+
name: string;
|
|
96
|
+
type: CredentialsType;
|
|
97
|
+
required?: boolean;
|
|
98
|
+
default?: number | string;
|
|
99
|
+
options?: ToolCredentialsOption[];
|
|
100
|
+
/**
|
|
101
|
+
* Url for fetch remote select options
|
|
102
|
+
*/
|
|
103
|
+
selectUrl?: string;
|
|
104
|
+
/**
|
|
105
|
+
* Is multiple select
|
|
106
|
+
*/
|
|
107
|
+
multi?: boolean;
|
|
108
|
+
/**
|
|
109
|
+
* Depends on credentials
|
|
110
|
+
*/
|
|
111
|
+
depends?: string[];
|
|
112
|
+
label?: I18nObject;
|
|
113
|
+
help?: I18nObject;
|
|
114
|
+
/**
|
|
115
|
+
* Url for help document
|
|
116
|
+
*/
|
|
117
|
+
url?: string;
|
|
118
|
+
placeholder?: I18nObject;
|
|
119
|
+
max?: number;
|
|
120
|
+
config?: Record<string, any>;
|
|
121
|
+
}
|
|
122
|
+
export declare enum ApiProviderSchemaType {
|
|
123
|
+
/**
|
|
124
|
+
* Enum class for api provider schema type.
|
|
125
|
+
*/
|
|
126
|
+
OPENAPI = "openapi",
|
|
127
|
+
SWAGGER = "swagger",
|
|
128
|
+
OPENAI_PLUGIN = "openai_plugin",
|
|
129
|
+
OPENAI_ACTIONS = "openai_actions"
|
|
130
|
+
}
|
|
131
|
+
export declare enum ToolTagEnum {
|
|
132
|
+
SEARCH = "search",
|
|
133
|
+
IMAGE = "image",
|
|
134
|
+
VIDEOS = "videos",
|
|
135
|
+
WEATHER = "weather",
|
|
136
|
+
FINANCE = "finance",
|
|
137
|
+
DESIGN = "design",
|
|
138
|
+
TRAVEL = "travel",
|
|
139
|
+
SOCIAL = "social",
|
|
140
|
+
NEWS = "news",
|
|
141
|
+
MEDICAL = "medical",
|
|
142
|
+
PRODUCTIVITY = "productivity",
|
|
143
|
+
EDUCATION = "education",
|
|
144
|
+
BUSINESS = "business",
|
|
145
|
+
ENTERTAINMENT = "entertainment",
|
|
146
|
+
UTILITIES = "utilities",
|
|
147
|
+
ANALYSIS = "analysis",
|
|
148
|
+
SANDBOX = "sandbox",
|
|
149
|
+
PROJECT = "project",
|
|
150
|
+
AGENT = "agent",
|
|
151
|
+
OTHER = "other"
|
|
152
|
+
}
|
|
153
|
+
export interface IToolTag {
|
|
154
|
+
name: string;
|
|
155
|
+
label: I18nObject;
|
|
156
|
+
icon: string;
|
|
157
|
+
description?: I18nObject;
|
|
158
|
+
}
|
|
159
|
+
export interface IToolProvider {
|
|
160
|
+
not_implemented?: boolean;
|
|
161
|
+
pro?: boolean;
|
|
162
|
+
id: string;
|
|
163
|
+
author: string;
|
|
164
|
+
name: string;
|
|
165
|
+
description: I18nObject;
|
|
166
|
+
/**
|
|
167
|
+
* @deprecated use avatar
|
|
168
|
+
*/
|
|
169
|
+
icon?: string;
|
|
170
|
+
avatar: TAvatar;
|
|
171
|
+
label: I18nObject;
|
|
172
|
+
help_url?: string;
|
|
173
|
+
type: XpertToolsetCategoryEnum;
|
|
174
|
+
masked_credentials?: Record<string, any>;
|
|
175
|
+
original_credentials?: Record<string, any>;
|
|
176
|
+
is_team_authorization: boolean;
|
|
177
|
+
allow_delete: boolean;
|
|
178
|
+
tools?: XpertToolType[];
|
|
179
|
+
tags: ToolTagEnum[];
|
|
180
|
+
}
|
|
181
|
+
export type TToolCredentials = Record<string, string | number | boolean | any>;
|
|
182
|
+
export type TToolsetParams = {
|
|
183
|
+
tenantId: string;
|
|
184
|
+
organizationId?: string;
|
|
185
|
+
projectId?: string;
|
|
186
|
+
userId?: string;
|
|
187
|
+
xpertId?: string;
|
|
188
|
+
conversationId?: string;
|
|
189
|
+
agentKey?: string;
|
|
190
|
+
signal?: AbortSignal;
|
|
191
|
+
env: Record<string, unknown>;
|
|
192
|
+
};
|
|
193
|
+
export interface IBaseToolset {
|
|
194
|
+
toolNamePrefix?: string;
|
|
195
|
+
}
|
|
196
|
+
export type TProgramToolMessage = {
|
|
197
|
+
code: string;
|
|
198
|
+
output: string;
|
|
199
|
+
error?: string;
|
|
200
|
+
};
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export declare const 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:";
|
|
2
|
+
export declare const 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>";
|