@metad/contracts 3.6.0-beta.1 → 3.6.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.
Files changed (285) hide show
  1. package/index.cjs.d.ts +1 -0
  2. package/index.cjs.js +3997 -0
  3. package/index.esm.d.ts +1 -0
  4. package/index.esm.js +3900 -0
  5. package/package.json +5 -3
  6. package/src/agent/{ai-model.ts → ai-model.d.ts} +2 -2
  7. package/src/agent/graph.d.ts +148 -0
  8. package/src/agent/index.d.ts +5 -0
  9. package/src/agent/token.d.ts +21 -0
  10. package/src/agent/utils.d.ts +19 -0
  11. package/src/agent/variables.d.ts +14 -0
  12. package/src/ai/ai-model.model.d.ts +195 -0
  13. package/src/ai/ai-provider.model.d.ts +43 -0
  14. package/src/ai/ai.model.d.ts +82 -0
  15. package/src/ai/chat-message-feedback.model.d.ts +24 -0
  16. package/src/ai/chat-message.model.d.ts +222 -0
  17. package/src/ai/chat.model.d.ts +189 -0
  18. package/src/ai/copilot-checkpoint.model.d.ts +23 -0
  19. package/src/ai/copilot-example.model.d.ts +19 -0
  20. package/src/ai/copilot-model.model.d.ts +26 -0
  21. package/src/ai/copilot-organization.model.d.ts +17 -0
  22. package/src/ai/copilot-provider.model.d.ts +31 -0
  23. package/src/ai/copilot-role.model.d.ts +43 -0
  24. package/src/ai/copilot-store.model.d.ts +29 -0
  25. package/src/ai/copilot-user.model.d.ts +20 -0
  26. package/src/ai/copilot.model.d.ts +36 -0
  27. package/src/ai/{environment.model.ts → environment.model.d.ts} +10 -12
  28. package/src/ai/feature.model.d.ts +6 -0
  29. package/src/ai/index.d.ts +38 -0
  30. package/src/ai/knowledge-doc-page.model.d.ts +15 -0
  31. package/src/ai/knowledge-doc.model.d.ts +177 -0
  32. package/src/ai/knowledge-pipeline.d.ts +100 -0
  33. package/src/ai/knowledge-retrieval-log.model.d.ts +10 -0
  34. package/src/ai/knowledgebase-task.model.d.ts +36 -0
  35. package/src/ai/knowledgebase.model.d.ts +160 -0
  36. package/src/ai/rag-web.d.ts +26 -0
  37. package/src/ai/rag.d.ts +24 -0
  38. package/src/ai/role-permissions.d.ts +13 -0
  39. package/src/ai/types.d.ts +39 -0
  40. package/src/ai/xpert-agent-execution.model.d.ts +96 -0
  41. package/src/ai/xpert-agent.model.d.ts +192 -0
  42. package/src/ai/xpert-project.model.d.ts +86 -0
  43. package/src/ai/xpert-task.model.d.ts +26 -0
  44. package/src/ai/xpert-template.model.d.ts +47 -0
  45. package/src/ai/xpert-tool-mcp.model.d.ts +67 -0
  46. package/src/ai/xpert-tool.model.d.ts +147 -0
  47. package/src/ai/xpert-toolset.model.d.ts +200 -0
  48. package/src/ai/xpert-workflow-task.prompt.d.ts +2 -0
  49. package/src/ai/xpert-workflow.model.d.ts +365 -0
  50. package/src/ai/xpert-workspace.model.d.ts +32 -0
  51. package/src/ai/xpert.model.d.ts +497 -0
  52. package/src/ai/xpert.utils.d.ts +80 -0
  53. package/src/analytics/ai.d.ts +73 -0
  54. package/src/analytics/approval-policy.model.d.ts +30 -0
  55. package/src/analytics/business-area-user.model.d.ts +35 -0
  56. package/src/analytics/business-area.d.ts +17 -0
  57. package/src/analytics/certification.model.d.ts +11 -0
  58. package/src/analytics/chatbi-conversation.model.d.ts +15 -0
  59. package/src/analytics/chatbi-model.model.d.ts +18 -0
  60. package/src/analytics/collection.model.d.ts +6 -0
  61. package/src/analytics/comment.model.d.ts +10 -0
  62. package/src/analytics/data-source-type.d.ts +16 -0
  63. package/src/analytics/data-source.d.ts +62 -0
  64. package/src/analytics/favorite.d.ts +14 -0
  65. package/src/analytics/features.d.ts +19 -0
  66. package/src/analytics/feed-model.d.ts +13 -0
  67. package/src/analytics/gateway.d.ts +27 -0
  68. package/src/analytics/index.d.ts +38 -0
  69. package/src/analytics/indicator-app.d.ts +44 -0
  70. package/src/analytics/{indicator-market.ts → indicator-market.d.ts} +2 -6
  71. package/src/analytics/indicator.d.ts +106 -0
  72. package/src/analytics/model-query-log.model.d.ts +41 -0
  73. package/src/analytics/model-query.d.ts +21 -0
  74. package/src/analytics/{notification-destination.ts → notification-destination.d.ts} +5 -9
  75. package/src/analytics/{permission-approval-user.model.ts → permission-approval-user.model.d.ts} +8 -10
  76. package/src/analytics/permission-approval.model.d.ts +47 -0
  77. package/src/analytics/project.model.d.ts +50 -0
  78. package/src/analytics/role-permissions.d.ts +25 -0
  79. package/src/analytics/schema.d.ts +262 -0
  80. package/src/analytics/screenshot.model.d.ts +25 -0
  81. package/src/analytics/semantic-model-entity.d.ts +37 -0
  82. package/src/analytics/semantic-model-member.d.ts +24 -0
  83. package/src/analytics/semantic-model.d.ts +175 -0
  84. package/src/analytics/{story-point.ts → story-point.d.ts} +6 -11
  85. package/src/analytics/story-template.model.d.ts +28 -0
  86. package/src/analytics/story-widget.d.ts +12 -0
  87. package/src/analytics/story.d.ts +93 -0
  88. package/src/analytics/subscription.d.ts +38 -0
  89. package/src/analytics/visit.model.d.ts +34 -0
  90. package/src/analytics/webSocket.d.ts +48 -0
  91. package/src/api-key.model.d.ts +10 -0
  92. package/src/base-entity.model.d.ts +27 -0
  93. package/src/contact.model.d.ts +41 -0
  94. package/src/core.model.d.ts +97 -0
  95. package/src/{country.model.ts → country.model.d.ts} +2 -3
  96. package/src/currency.model.d.ts +579 -0
  97. package/src/{custom-smtp.model.ts → custom-smtp.model.d.ts} +17 -21
  98. package/src/date-picker.model.d.ts +5 -0
  99. package/src/email-template.model.d.ts +39 -0
  100. package/src/email.model.d.ts +36 -0
  101. package/src/employee.model.d.ts +128 -0
  102. package/src/entity-with-members.model.d.ts +13 -0
  103. package/src/feature.model.d.ts +93 -0
  104. package/src/file-provider.d.ts +33 -0
  105. package/src/help-center-article.model.d.ts +0 -0
  106. package/src/help-center.model.d.ts +0 -0
  107. package/src/http-status.enum.d.ts +57 -0
  108. package/src/import-export.model.d.ts +36 -0
  109. package/src/index.d.ts +48 -0
  110. package/src/integration/dify.d.ts +0 -0
  111. package/src/integration/dingtalk.d.ts +2 -0
  112. package/src/integration/fastgpt.d.ts +0 -0
  113. package/src/integration/firecrawl.d.ts +2 -0
  114. package/src/integration/github.d.ts +69 -0
  115. package/src/integration/index.d.ts +4 -0
  116. package/src/integration/lark.d.ts +11 -0
  117. package/src/integration/ragflow.d.ts +0 -0
  118. package/src/integration/wecom.d.ts +2 -0
  119. package/src/integration.model.d.ts +86 -0
  120. package/src/invite.model.d.ts +123 -0
  121. package/src/language.model.d.ts +19 -0
  122. package/src/organization-contact.model.d.ts +73 -0
  123. package/src/{organization-department.model.ts → organization-department.model.d.ts} +10 -16
  124. package/src/organization-language.model.d.ts +18 -0
  125. package/src/organization-projects.model.d.ts +80 -0
  126. package/src/organization-team-employee-model.d.ts +12 -0
  127. package/src/organization-team-model.d.ts +19 -0
  128. package/src/organization.model.d.ts +239 -0
  129. package/src/password-reset.model.d.ts +18 -0
  130. package/src/{plain-object.model.ts → plain-object.model.d.ts} +1 -1
  131. package/src/plugin.d.ts +13 -0
  132. package/src/role-permission.model.d.ts +61 -0
  133. package/src/role.model.d.ts +26 -0
  134. package/src/schedule.d.ts +27 -0
  135. package/src/secret-token.model.d.ts +11 -0
  136. package/src/seed.model.d.ts +37 -0
  137. package/src/storage-file.model.d.ts +40 -0
  138. package/src/tag-entity.model.d.ts +20 -0
  139. package/src/tenant.model.d.ts +40 -0
  140. package/src/tools/index.d.ts +1 -0
  141. package/src/tools/sandbox.d.ts +5 -0
  142. package/src/translation.model.d.ts +26 -0
  143. package/src/types.d.ts +240 -0
  144. package/src/user-organization.model.d.ts +24 -0
  145. package/src/user.model.d.ts +128 -0
  146. package/src/visibility.model.d.ts +6 -0
  147. package/.babelrc +0 -5
  148. package/.eslintrc.json +0 -18
  149. package/babel.config.json +0 -1
  150. package/jest.config.ts +0 -16
  151. package/project.json +0 -46
  152. package/src/agent/graph.ts +0 -272
  153. package/src/agent/index.ts +0 -5
  154. package/src/agent/token.ts +0 -23
  155. package/src/agent/utils.spec.ts +0 -283
  156. package/src/agent/utils.ts +0 -122
  157. package/src/agent/variables.ts +0 -21
  158. package/src/ai/ai-model.model.ts +0 -228
  159. package/src/ai/ai-provider.model.ts +0 -53
  160. package/src/ai/ai.model.ts +0 -87
  161. package/src/ai/chat-message-feedback.model.ts +0 -31
  162. package/src/ai/chat-message.model.ts +0 -277
  163. package/src/ai/chat.model.ts +0 -207
  164. package/src/ai/copilot-checkpoint.model.ts +0 -25
  165. package/src/ai/copilot-example.model.ts +0 -23
  166. package/src/ai/copilot-model.model.ts +0 -31
  167. package/src/ai/copilot-organization.model.ts +0 -21
  168. package/src/ai/copilot-provider.model.ts +0 -46
  169. package/src/ai/copilot-role.model.ts +0 -48
  170. package/src/ai/copilot-store.model.ts +0 -34
  171. package/src/ai/copilot-user.model.ts +0 -24
  172. package/src/ai/copilot.model.ts +0 -47
  173. package/src/ai/feature.model.ts +0 -6
  174. package/src/ai/index.ts +0 -37
  175. package/src/ai/knowledge-doc-page.model.ts +0 -20
  176. package/src/ai/knowledge-doc.model.ts +0 -217
  177. package/src/ai/knowledge-pipeline.ts +0 -106
  178. package/src/ai/knowledge-retrieval-log.model.ts +0 -19
  179. package/src/ai/knowledgebase-task.model.ts +0 -42
  180. package/src/ai/knowledgebase.model.ts +0 -173
  181. package/src/ai/rag-web.ts +0 -54
  182. package/src/ai/rag.ts +0 -24
  183. package/src/ai/role-permissions.ts +0 -13
  184. package/src/ai/types.ts +0 -83
  185. package/src/ai/xpert-agent-execution.model.ts +0 -115
  186. package/src/ai/xpert-agent.model.ts +0 -258
  187. package/src/ai/xpert-project.model.ts +0 -103
  188. package/src/ai/xpert-task.model.ts +0 -32
  189. package/src/ai/xpert-template.model.ts +0 -53
  190. package/src/ai/xpert-tool-mcp.model.ts +0 -72
  191. package/src/ai/xpert-tool.model.ts +0 -211
  192. package/src/ai/xpert-toolset.model.ts +0 -220
  193. package/src/ai/xpert-workflow-task.prompt.ts +0 -71
  194. package/src/ai/xpert-workflow.model.ts +0 -449
  195. package/src/ai/xpert-workspace.model.ts +0 -42
  196. package/src/ai/xpert.model.ts +0 -781
  197. package/src/analytics/ai.ts +0 -79
  198. package/src/analytics/approval-policy.model.ts +0 -40
  199. package/src/analytics/business-area-user.model.ts +0 -43
  200. package/src/analytics/business-area.ts +0 -20
  201. package/src/analytics/certification.model.ts +0 -12
  202. package/src/analytics/chatbi-conversation.model.ts +0 -16
  203. package/src/analytics/chatbi-model.model.ts +0 -22
  204. package/src/analytics/collection.model.ts +0 -8
  205. package/src/analytics/comment.model.ts +0 -14
  206. package/src/analytics/data-source-type.ts +0 -19
  207. package/src/analytics/data-source.ts +0 -72
  208. package/src/analytics/favorite.ts +0 -18
  209. package/src/analytics/features.ts +0 -19
  210. package/src/analytics/feed-model.ts +0 -15
  211. package/src/analytics/gateway.ts +0 -30
  212. package/src/analytics/index.ts +0 -39
  213. package/src/analytics/indicator-app.ts +0 -49
  214. package/src/analytics/indicator.ts +0 -127
  215. package/src/analytics/model-query-log.model.ts +0 -45
  216. package/src/analytics/model-query.ts +0 -22
  217. package/src/analytics/permission-approval.model.ts +0 -58
  218. package/src/analytics/project.model.ts +0 -56
  219. package/src/analytics/role-permissions.ts +0 -36
  220. package/src/analytics/schema.ts +0 -300
  221. package/src/analytics/screenshot.model.ts +0 -28
  222. package/src/analytics/semantic-model-entity.ts +0 -49
  223. package/src/analytics/semantic-model-member.ts +0 -45
  224. package/src/analytics/semantic-model.ts +0 -227
  225. package/src/analytics/story-template.model.ts +0 -34
  226. package/src/analytics/story-widget.ts +0 -15
  227. package/src/analytics/story.ts +0 -109
  228. package/src/analytics/subscription.ts +0 -43
  229. package/src/analytics/visit.model.ts +0 -39
  230. package/src/analytics/webSocket.ts +0 -53
  231. package/src/api-key.model.ts +0 -11
  232. package/src/base-entity.model.ts +0 -33
  233. package/src/contact.model.ts +0 -45
  234. package/src/core.model.ts +0 -103
  235. package/src/currency.model.ts +0 -582
  236. package/src/date-picker.model.ts +0 -5
  237. package/src/email-template.model.ts +0 -50
  238. package/src/email.model.ts +0 -46
  239. package/src/employee.model.ts +0 -199
  240. package/src/entity-with-members.model.ts +0 -16
  241. package/src/feature.model.ts +0 -108
  242. package/src/file-provider.ts +0 -37
  243. package/src/help-center-article.model.ts +0 -35
  244. package/src/help-center.model.ts +0 -33
  245. package/src/http-status.enum.ts +0 -58
  246. package/src/import-export.model.ts +0 -42
  247. package/src/index.ts +0 -60
  248. package/src/integration/dify.ts +0 -31
  249. package/src/integration/dingtalk.ts +0 -16
  250. package/src/integration/fastgpt.ts +0 -32
  251. package/src/integration/firecrawl.ts +0 -46
  252. package/src/integration/github.ts +0 -149
  253. package/src/integration/index.ts +0 -19
  254. package/src/integration/lark.ts +0 -79
  255. package/src/integration/ragflow.ts +0 -32
  256. package/src/integration/wecom.ts +0 -16
  257. package/src/integration.model.ts +0 -118
  258. package/src/invite.model.ts +0 -144
  259. package/src/language.model.ts +0 -22
  260. package/src/organization-contact.model.ts +0 -84
  261. package/src/organization-language.model.ts +0 -24
  262. package/src/organization-projects.model.ts +0 -99
  263. package/src/organization-team-employee-model.ts +0 -14
  264. package/src/organization-team-model.ts +0 -25
  265. package/src/organization.model.ts +0 -266
  266. package/src/password-reset.model.ts +0 -24
  267. package/src/plugin.ts +0 -15
  268. package/src/role-permission.model.ts +0 -123
  269. package/src/role.model.ts +0 -31
  270. package/src/schedule.ts +0 -71
  271. package/src/secret-token.model.ts +0 -15
  272. package/src/seed.model.ts +0 -50
  273. package/src/storage-file.model.ts +0 -46
  274. package/src/tag-entity.model.ts +0 -23
  275. package/src/tenant.model.ts +0 -52
  276. package/src/tools/index.ts +0 -1
  277. package/src/tools/sandbox.ts +0 -5
  278. package/src/translation.model.ts +0 -37
  279. package/src/types.ts +0 -276
  280. package/src/user-organization.model.ts +0 -31
  281. package/src/user.model.ts +0 -147
  282. package/src/visibility.model.ts +0 -6
  283. package/tsconfig.json +0 -22
  284. package/tsconfig.lib.json +0 -10
  285. package/tsconfig.spec.json +0 -9
@@ -1,53 +0,0 @@
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
-
7
- export interface IXpertTemplate extends IBasePerTenantEntityModel {
8
- key: string
9
- name?: string
10
- visitCount: number
11
- lastVisitedAt?: Date
12
- }
13
-
14
- export type TTemplate = {
15
- id: string
16
- name: string
17
- title: string
18
- description: string
19
- category: string
20
- copyright: string
21
- privacyPolicy?: string
22
- export_data: string
23
- }
24
-
25
- export type TXpertTemplate = TTemplate & {
26
- avatar: TAvatar
27
- // icon: IconDefinition | string
28
- type: XpertTypeEnum | 'project'
29
- copilotModel?: Partial<TCopilotModel>
30
- }
31
-
32
- export interface IXpertMCPTemplate extends TTemplate {
33
- /**
34
- * string is the backward compatible image file URL format
35
- */
36
- icon: IconDefinition | string
37
- type: MCPServerType
38
- author: string
39
- transport: MCPServerType
40
- explore: string
41
- tags?: string[]
42
- visitCount?: number
43
- server: TMCPServer
44
- options?: any
45
- }
46
-
47
- export type TKnowledgePipelineTemplate = TTemplate & {
48
- icon: IconDefinition
49
- author: string
50
- explore: string
51
- tags?: string[]
52
- visitCount?: number
53
- }
@@ -1,72 +0,0 @@
1
- export enum MCPServerType {
2
- SSE = 'sse',
3
- STDIO = 'stdio',
4
- CODE = 'code'
5
- }
6
-
7
- /**
8
- * Configuration for stdio transport connection
9
- */
10
- export interface StdioConnection {
11
- transport: "stdio";
12
- command: string;
13
- args: string[];
14
- env?: Record<string, string>;
15
- encoding?: string;
16
- encodingErrorHandler?: "strict" | "ignore" | "replace";
17
- }
18
-
19
- /**
20
- * Configuration for SSE transport connection
21
- */
22
- export interface SSEConnection {
23
- transport: "sse";
24
- url: string;
25
- headers?: Record<string, string>;
26
- useNodeEventSource?: boolean;
27
- }
28
-
29
- export type TMCPServerReconnect = {
30
- /**
31
- * Whether to automatically restart the process if it exits
32
- */
33
- enabled?: boolean;
34
- /**
35
- * Maximum number of restart attempts
36
- */
37
- maxAttempts?: number;
38
- /**
39
- * Delay in milliseconds between restart attempts
40
- */
41
- delayMs?: number;
42
- }
43
-
44
- export type TMCPServer = {
45
- type: MCPServerType
46
- command?: string
47
- args?: string[]
48
- env?: Record<string, string>
49
- encoding?: string
50
- encodingErrorHandler?: string
51
- /**
52
- * Additional reconnection settings
53
- */
54
- reconnect?: TMCPServerReconnect
55
-
56
- url?: string,
57
- headers?: Record<string, string>
58
- useNodeEventSource?: boolean
59
-
60
- files?: {name: string; content: string}[]
61
-
62
- toolNamePrefix?: string
63
- /**
64
- * Init scripts for sandbox
65
- */
66
- initScripts?: string
67
- }
68
-
69
- export type TMCPSchema = {
70
- servers?: Record<string, TMCPServer>
71
- mcpServers?: Record<string, TMCPServer>
72
- }
@@ -1,211 +0,0 @@
1
- import { IBasePerTenantAndOrganizationEntityModel } from '../base-entity.model'
2
- import { I18nObject } from '../types'
3
- import { AiProviderRole } from './copilot.model'
4
- import { TAvatar } from '../types'
5
- import { IXpertToolset } from './xpert-toolset.model'
6
-
7
- /**
8
- * Tools for Xpert
9
- */
10
- export interface IXpertTool extends IBasePerTenantAndOrganizationEntityModel, XpertToolType {}
11
-
12
- export type XpertToolType = {
13
- name: string
14
- description?: string
15
- avatar?: TAvatar
16
- /**
17
- * @deprecated use disabled
18
- */
19
- enabled?: boolean
20
- /**
21
- * Is disabled in toolset
22
- */
23
- disabled?: boolean
24
-
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
- /**
36
- * Priority role of AI provider
37
- * @default `AiProviderRole.Secondary`
38
- */
39
- aiProviderRole?: AiProviderRole
40
-
41
- toolset?: IXpertToolset
42
- toolsetId?: string
43
-
44
- // Temporary properties
45
- provider?: IBuiltinTool
46
- }
47
-
48
- export type TToolProviderIdentity = {
49
- name: string
50
- author: string
51
- label: I18nObject
52
- provider: string
53
- entity?: string
54
- }
55
-
56
- interface ToolParameterOption {
57
- value: string;
58
- label: I18nObject;
59
- }
60
-
61
- export enum ToolParameterType {
62
- STRING = "string",
63
- NUMBER = "number",
64
- BOOLEAN = "boolean",
65
- ARRAY = "array",
66
- SELECT = "select",
67
- SECRET_INPUT = "secret-input",
68
- FILE = "file"
69
- }
70
-
71
- export enum ToolParameterForm {
72
- SCHEMA = "schema", // should be set while adding tool
73
- FORM = "form", // should be set before invoking tool
74
- LLM = "llm" // will be set by LLM
75
- }
76
-
77
- export type TToolParameter = {
78
- name: string;
79
- label: I18nObject;
80
- human_description?: I18nObject;
81
- placeholder?: I18nObject;
82
- type: ToolParameterType;
83
- form: ToolParameterForm;
84
- llm_description?: string;
85
- required?: boolean;
86
- default?: number | string;
87
- min?: number;
88
- max?: number;
89
- options?: ToolParameterOption[];
90
- items?: {
91
- type: ToolParameterType
92
- }
93
-
94
- /**
95
- * Is visible for ai tool parameters
96
- */
97
- visible?: boolean
98
- }
99
-
100
- export interface ApiToolBundle {
101
- /**
102
- * This interface is used to store the schema information of an api based tool,
103
- * such as the url, the method, the parameters, etc.
104
- */
105
-
106
- // server_url
107
- server_url: string;
108
- // method
109
- method: string;
110
- // summary
111
- summary?: string;
112
- // operation_id
113
- operation_id?: string;
114
- // parameters
115
- parameters?: TToolParameter[];
116
- // author
117
- author: string;
118
- // icon
119
- icon?: string;
120
- // openapi operation
121
- openapi: Record<string, any>;
122
- }
123
-
124
- export interface IBuiltinTool {
125
- identity: TToolProviderIdentity
126
- description: {
127
- human: I18nObject
128
- llm: string
129
- }
130
- /**
131
- * Definition of input parameters (yaml schema)
132
- */
133
- parameters?: TToolParameter[]
134
- /**
135
- * Schema of tool (zod/json-schema)
136
- */
137
- schema?: any
138
- /**
139
- * @deprecated how to use?
140
- */
141
- entity?: string
142
- }
143
-
144
- // Types for OData
145
- export type TXpertToolEntity = {
146
- name: string
147
- method: 'create' | 'get' | 'query' | 'update' | 'delete'
148
- entity: string
149
- path: string
150
- /**
151
- * Definition of properties
152
- */
153
- parameters: Partial<TToolParameter>[]
154
-
155
- description?: string
156
- }
157
-
158
- export const TOOL_NAME_REGEX = /^[a-zA-Z0-9_-]+$/;
159
-
160
- // Helper functions for tools
161
- /**
162
- *
163
- * @param tool Tool
164
- * @param disableToolDefault Is default disable tools
165
- * @returns Tool is enabled?
166
- */
167
- export function isToolEnabled(tool: IXpertTool, disableToolDefault = false) {
168
- let disabled = tool.disabled
169
- if (disabled == null && tool.enabled != null) {
170
- disabled = !tool.enabled
171
- }
172
- if (disabled == null) {
173
- disabled = disableToolDefault
174
- }
175
- return !disabled
176
- }
177
-
178
- /**
179
- * Tool is enabled?
180
- *
181
- * @deprecated use isToolEnabled
182
- */
183
- export function isEnableTool(tool: IXpertTool, toolset: IXpertToolset) {
184
- let disabled = tool.disabled
185
- if (disabled == null && tool.enabled != null) {
186
- disabled = !tool.enabled
187
- }
188
- if (disabled == null) {
189
- disabled = toolset.options?.disableToolDefault
190
- }
191
- return !disabled
192
- }
193
-
194
- export function getEnabledTools(toolset: IXpertToolset) {
195
- if (!toolset) return null
196
- const disableToolDefault = toolset.options?.disableToolDefault
197
- const positions = toolset?.options?.toolPositions
198
- const tools = toolset?.tools?.filter((_) => isToolEnabled(_, disableToolDefault))
199
- return positions && tools
200
- ? tools.sort((a, b) => (positions[a.name] ?? Infinity) - (positions[b.name] ?? Infinity))
201
- : tools
202
- }
203
-
204
- export function getToolLabel(tool: IXpertTool): I18nObject | string {
205
- if (!tool) return ''
206
- const identity = (tool.schema as IBuiltinTool)?.identity
207
- if (identity) {
208
- return identity.label || tool.name || ''
209
- }
210
- return tool.name || ''
211
- }
@@ -1,220 +0,0 @@
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
-
10
-
11
- export enum XpertToolsetCategoryEnum {
12
- BUILTIN = 'builtin',
13
- API = 'api',
14
- /**
15
- * [Anthropic Model Context Protocol (MCP)](https://modelcontextprotocol.io/introduction)
16
- */
17
- MCP = 'mcp',
18
- /**
19
- * @deprecated
20
- */
21
- WORKFLOW = 'workflow'
22
- }
23
-
24
- export type XpertToolsetType = string
25
- export type TXpertToolset = {
26
- key?: string
27
- /**
28
- * toolset name
29
- */
30
- name: string
31
- type?: XpertToolsetType
32
- category?: 'command' | XpertToolsetCategoryEnum
33
- description?: string
34
- /**
35
- * avatar object
36
- */
37
- avatar?: TAvatar
38
- /**
39
- * Priority role of AI provider
40
- * @default `AiProviderRole.Secondary`
41
- */
42
- aiProviderRole?: AiProviderRole
43
-
44
- /**
45
- * Privacy policy of this toolset
46
- */
47
- privacyPolicy?: string
48
- /**
49
- * Custom disclaimer for the toolset
50
- */
51
- customDisclaimer?: string
52
-
53
- options?: TXpertToolsetOptions
54
- credentials?: TToolCredentials
55
- schema?: string
56
- schemaType?: 'openapi_json' | 'openapi_yaml'
57
-
58
- tools?: IXpertTool[]
59
-
60
- tags?: ITag[]
61
- }
62
-
63
- /**
64
- * Toolset for Xpert
65
- */
66
- export interface IXpertToolset extends IBasePerWorkspaceEntityModel, TXpertToolset {}
67
-
68
- export type TXpertToolsetOptions = {
69
- provider?: IToolProvider
70
- baseUrl?: string
71
- toolPositions?: Record<string, number>
72
- disableToolDefault?: boolean
73
- needSandbox?: boolean
74
- [key: string]: any
75
- }
76
-
77
- /**
78
- * Context env when tool call in langchain.js
79
- */
80
- export type XpertToolContext = {
81
- tenantId: string
82
- organizationId?: string
83
- userId: string
84
- copilotModel: TCopilotModel
85
- chatModel: unknown // BaseChatModel in langchain
86
- tool_call_id: string
87
- subscriber: Subscriber<MessageEvent>
88
- }
89
-
90
- export enum CredentialsType {
91
- SECRET_INPUT = 'secret-input',
92
- TEXT_INPUT = 'text-input',
93
- SELECT = 'select',
94
- REMOTE_SELECT = 'remote-select',
95
- COPILOT_MODEL = 'copilot-model',
96
- BOOLEAN = 'boolean',
97
- INT = 'int',
98
- NUMBER = 'number'
99
- }
100
-
101
- export interface ToolCredentialsOption {
102
- value: string
103
- label: I18nObject | string
104
- }
105
-
106
- export interface ToolProviderCredentials {
107
- name: string
108
- type: CredentialsType
109
- required?: boolean
110
- default?: number | string
111
- options?: ToolCredentialsOption[]
112
- /**
113
- * Url for fetch remote select options
114
- */
115
- selectUrl?: string
116
- /**
117
- * Is multiple select
118
- */
119
- multi?: boolean
120
- /**
121
- * Depends on credentials
122
- */
123
- depends?: string[]
124
- label?: I18nObject
125
- help?: I18nObject
126
- /**
127
- * Url for help document
128
- */
129
- url?: string
130
- placeholder?: I18nObject
131
- max?: number
132
- config?: Record<string, any>
133
- }
134
-
135
- export enum ApiProviderSchemaType {
136
- /**
137
- * Enum class for api provider schema type.
138
- */
139
- OPENAPI = "openapi",
140
- SWAGGER = "swagger",
141
- OPENAI_PLUGIN = "openai_plugin",
142
- OPENAI_ACTIONS = "openai_actions"
143
- }
144
-
145
- export enum ToolTagEnum {
146
- SEARCH = 'search',
147
- IMAGE = 'image',
148
- VIDEOS = 'videos',
149
- WEATHER = 'weather',
150
- FINANCE = 'finance',
151
- DESIGN = 'design',
152
- TRAVEL = 'travel',
153
- SOCIAL = 'social',
154
- NEWS = 'news',
155
- MEDICAL = 'medical',
156
- PRODUCTIVITY = 'productivity',
157
- EDUCATION = 'education',
158
- BUSINESS = 'business',
159
- ENTERTAINMENT = 'entertainment',
160
- UTILITIES = 'utilities',
161
- ANALYSIS = 'analysis',
162
- SANDBOX = 'sandbox',
163
- PROJECT = 'project',
164
- AGENT = 'agent',
165
- OTHER = 'other'
166
- }
167
-
168
- export interface IToolTag {
169
- name: string
170
- label: I18nObject
171
- icon: string
172
- description?: I18nObject
173
- }
174
-
175
- export interface IToolProvider {
176
- not_implemented?: boolean
177
- pro?: boolean
178
- id: string;
179
- author: string;
180
- name: string; // identifier
181
- description: I18nObject;
182
- /**
183
- * @deprecated use avatar
184
- */
185
- icon?: string;
186
- avatar: TAvatar
187
- label: I18nObject; // label
188
- help_url?: string
189
- type: XpertToolsetCategoryEnum;
190
- masked_credentials?: Record<string, any>
191
- original_credentials?: Record<string, any>
192
- is_team_authorization: boolean
193
- allow_delete: boolean
194
- tools?: XpertToolType[]
195
- tags: ToolTagEnum[];
196
- }
197
-
198
- export type TToolCredentials = Record<string, string | number | boolean | any>
199
-
200
- export type TToolsetParams = {
201
- tenantId: string
202
- organizationId?: string
203
- projectId?: string
204
- userId?: string
205
- xpertId?: string
206
- conversationId?: string
207
- agentKey?: string
208
- signal?: AbortSignal
209
- env: Record<string, unknown>
210
- }
211
-
212
- export interface IBaseToolset {
213
- toolNamePrefix?: string
214
- }
215
-
216
- export type TProgramToolMessage = {
217
- code: string
218
- output: string
219
- error?: string
220
- }
@@ -1,71 +0,0 @@
1
- export const TASK_DESCRIPTION_PREFIX =
2
- `Launch a new agent to handle complex, multi-step tasks autonomously.
3
-
4
- Available agent types and the tools they have access to:`
5
-
6
- export const TASK_DESCRIPTION_SUFFIX =
7
- `When using the Task tool, you must specify a subagent_type parameter to select which agent type to use.
8
-
9
- When to use the Agent tool:
10
- - 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")
11
-
12
- When NOT to use the Agent tool:
13
- - 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
14
- - 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
15
- - 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
16
- - Other tasks that are not related to the agent descriptions above
17
-
18
-
19
- Usage notes:
20
- 1. Launch multiple agents concurrently whenever possible, to maximize performance; to do that, use a single message with multiple tool uses
21
- 2. 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.
22
- 3. 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.
23
- 4. The agent's outputs should generally be trusted
24
- 5. 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
25
- 6. 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.
26
-
27
- Example usage:
28
-
29
- <example_agent_descriptions>
30
- "content-reviewer": use this agent after you are done creating significant content or documents
31
- "greeting-responder": use this agent when to respond to user greetings with a friendly joke
32
- "research-analyst": use this agent to conduct thorough research on complex topics
33
- </example_agent_description>
34
-
35
- <example>
36
- user: "Please write a function that checks if a number is prime"
37
- assistant: Sure let me write a function that checks if a number is prime
38
- assistant: First let me use the Write tool to write a function that checks if a number is prime
39
- assistant: I'm going to use the Write tool to write the following code:
40
- <code>
41
- function isPrime(n) {
42
- if (n <= 1) return false
43
- for (let i = 2; i * i <= n; i++) {
44
- if (n % i === 0) return false
45
- }
46
- return true
47
- }
48
- </code>
49
- <commentary>
50
- Since significant content was created and the task was completed, now use the content-reviewer agent to review the work
51
- </commentary>
52
- assistant: Now let me use the content-reviewer agent to review the code
53
- assistant: Uses the Task tool to launch with the content-reviewer agent
54
- </example>
55
-
56
- <example>
57
- user: "Can you help me research the environmental impact of different renewable energy sources and create a comprehensive report?"
58
- <commentary>
59
- This is a complex research task that would benefit from using the research-analyst agent to conduct thorough analysis
60
- </commentary>
61
- assistant: 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.
62
- assistant: 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
63
- </example>
64
-
65
- <example>
66
- user: "Hello"
67
- <commentary>
68
- Since the user is greeting, use the greeting-responder agent to respond with a friendly joke
69
- </commentary>
70
- assistant: "I'm going to use the Task tool to launch with the greeting-responder agent"
71
- </example>`