@metad/contracts 3.6.2 → 3.6.7

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 (287) hide show
  1. package/.babelrc +5 -0
  2. package/.eslintrc.json +18 -0
  3. package/babel.config.json +1 -0
  4. package/index.cjs.js +5 -4233
  5. package/jest.config.ts +16 -0
  6. package/package.json +2 -2
  7. package/project.json +53 -0
  8. package/src/agent/{ai-model.d.ts → ai-model.ts} +2 -2
  9. package/src/agent/graph.ts +275 -0
  10. package/src/agent/index.ts +5 -0
  11. package/src/agent/token.ts +23 -0
  12. package/src/agent/utils.spec.ts +283 -0
  13. package/src/agent/utils.ts +122 -0
  14. package/src/agent/variables.ts +66 -0
  15. package/src/ai/ai-model.model.ts +232 -0
  16. package/src/ai/ai-provider.model.ts +53 -0
  17. package/src/ai/ai.model.ts +87 -0
  18. package/src/ai/chat-message-feedback.model.ts +31 -0
  19. package/src/ai/chat-message.model.ts +277 -0
  20. package/src/ai/chat.model.ts +207 -0
  21. package/src/ai/copilot-checkpoint.model.ts +25 -0
  22. package/src/ai/copilot-example.model.ts +23 -0
  23. package/src/ai/copilot-model.model.ts +31 -0
  24. package/src/ai/copilot-organization.model.ts +21 -0
  25. package/src/ai/copilot-provider.model.ts +46 -0
  26. package/src/ai/copilot-role.model.ts +48 -0
  27. package/src/ai/copilot-store.model.ts +34 -0
  28. package/src/ai/copilot-user.model.ts +24 -0
  29. package/src/ai/copilot.model.ts +47 -0
  30. package/src/ai/{environment.model.d.ts → environment.model.ts} +12 -10
  31. package/src/ai/feature.model.ts +6 -0
  32. package/src/ai/index.ts +40 -0
  33. package/src/ai/knowledge-doc-chunk.model.ts +123 -0
  34. package/src/ai/knowledge-doc-chunk.spec.ts +47 -0
  35. package/src/ai/knowledge-doc-page.model.ts +20 -0
  36. package/src/ai/knowledge-doc.model.ts +364 -0
  37. package/src/ai/knowledge-pipeline.ts +138 -0
  38. package/src/ai/knowledge-retrieval-log.model.ts +19 -0
  39. package/src/ai/knowledgebase-task.model.ts +46 -0
  40. package/src/ai/knowledgebase.model.ts +205 -0
  41. package/src/ai/rag-web.ts +54 -0
  42. package/src/ai/rag.ts +24 -0
  43. package/src/ai/role-permissions.ts +13 -0
  44. package/src/ai/types.ts +83 -0
  45. package/src/ai/xpert-agent-execution.model.ts +115 -0
  46. package/src/ai/xpert-agent.model.ts +264 -0
  47. package/src/ai/xpert-project.model.ts +103 -0
  48. package/src/ai/xpert-table.model.ts +100 -0
  49. package/src/ai/xpert-task.model.ts +32 -0
  50. package/src/ai/xpert-template.model.ts +53 -0
  51. package/src/ai/xpert-tool-mcp.model.ts +77 -0
  52. package/src/ai/xpert-tool.model.ts +216 -0
  53. package/src/ai/xpert-toolset.model.ts +220 -0
  54. package/src/ai/xpert-workflow-task.prompt.ts +71 -0
  55. package/src/ai/xpert-workflow.model.ts +502 -0
  56. package/src/ai/xpert-workspace.model.ts +42 -0
  57. package/src/ai/xpert.model.ts +637 -0
  58. package/src/ai/xpert.utils.ts +214 -0
  59. package/src/analytics/ai.ts +79 -0
  60. package/src/analytics/approval-policy.model.ts +40 -0
  61. package/src/analytics/business-area-user.model.ts +43 -0
  62. package/src/analytics/business-area.ts +20 -0
  63. package/src/analytics/certification.model.ts +12 -0
  64. package/src/analytics/chatbi-conversation.model.ts +16 -0
  65. package/src/analytics/chatbi-model.model.ts +22 -0
  66. package/src/analytics/collection.model.ts +8 -0
  67. package/src/analytics/comment.model.ts +14 -0
  68. package/src/analytics/data-source-type.ts +19 -0
  69. package/src/analytics/data-source.ts +72 -0
  70. package/src/analytics/favorite.ts +18 -0
  71. package/src/analytics/features.ts +19 -0
  72. package/src/analytics/feed-model.ts +15 -0
  73. package/src/analytics/gateway.ts +31 -0
  74. package/src/analytics/index.ts +39 -0
  75. package/src/analytics/indicator-app.ts +49 -0
  76. package/src/analytics/{indicator-market.d.ts → indicator-market.ts} +6 -2
  77. package/src/analytics/indicator.ts +143 -0
  78. package/src/analytics/model-query-log.model.ts +45 -0
  79. package/src/analytics/model-query.ts +22 -0
  80. package/src/analytics/{notification-destination.d.ts → notification-destination.ts} +9 -5
  81. package/src/analytics/{permission-approval-user.model.d.ts → permission-approval-user.model.ts} +10 -8
  82. package/src/analytics/permission-approval.model.ts +58 -0
  83. package/src/analytics/project.model.ts +56 -0
  84. package/src/analytics/role-permissions.ts +36 -0
  85. package/src/analytics/schema.ts +300 -0
  86. package/src/analytics/screenshot.model.ts +28 -0
  87. package/src/analytics/semantic-model-entity.ts +50 -0
  88. package/src/analytics/semantic-model-member.ts +49 -0
  89. package/src/analytics/semantic-model.ts +237 -0
  90. package/src/analytics/{story-point.d.ts → story-point.ts} +11 -6
  91. package/src/analytics/story-template.model.ts +34 -0
  92. package/src/analytics/story-widget.ts +15 -0
  93. package/src/analytics/story.ts +109 -0
  94. package/src/analytics/subscription.ts +43 -0
  95. package/src/analytics/visit.model.ts +39 -0
  96. package/src/analytics/webSocket.ts +53 -0
  97. package/src/api-key.model.ts +11 -0
  98. package/src/base-entity.model.ts +34 -0
  99. package/src/contact.model.ts +45 -0
  100. package/src/core.model.ts +103 -0
  101. package/src/{country.model.d.ts → country.model.ts} +3 -2
  102. package/src/currency.model.ts +582 -0
  103. package/src/{custom-smtp.model.d.ts → custom-smtp.model.ts} +21 -17
  104. package/src/date-picker.model.ts +5 -0
  105. package/src/email-template.model.ts +50 -0
  106. package/src/email.model.ts +46 -0
  107. package/src/employee.model.ts +199 -0
  108. package/src/entity-with-members.model.ts +16 -0
  109. package/src/feature.model.ts +108 -0
  110. package/src/file-provider.ts +37 -0
  111. package/src/help-center-article.model.ts +35 -0
  112. package/src/help-center.model.ts +33 -0
  113. package/src/http-status.enum.ts +58 -0
  114. package/src/import-export.model.ts +42 -0
  115. package/src/index.ts +60 -0
  116. package/src/integration/dify.ts +31 -0
  117. package/src/integration/dingtalk.ts +16 -0
  118. package/src/integration/fastgpt.ts +32 -0
  119. package/src/integration/firecrawl.ts +46 -0
  120. package/src/integration/github.ts +149 -0
  121. package/src/integration/index.ts +15 -0
  122. package/src/integration/lark.ts +79 -0
  123. package/src/integration/wecom.ts +16 -0
  124. package/src/integration.model.ts +119 -0
  125. package/src/invite.model.ts +144 -0
  126. package/src/language.model.ts +22 -0
  127. package/src/organization-contact.model.ts +84 -0
  128. package/src/{organization-department.model.d.ts → organization-department.model.ts} +16 -10
  129. package/src/organization-language.model.ts +24 -0
  130. package/src/organization-projects.model.ts +99 -0
  131. package/src/organization-team-employee-model.ts +14 -0
  132. package/src/organization-team-model.ts +25 -0
  133. package/src/organization.model.ts +266 -0
  134. package/src/{password-reset.model.d.ts → password-reset.model.ts} +14 -10
  135. package/src/{plain-object.model.d.ts → plain-object.model.ts} +1 -1
  136. package/src/plugin.ts +15 -0
  137. package/src/role-permission.model.ts +123 -0
  138. package/src/role.model.ts +31 -0
  139. package/src/schedule.ts +71 -0
  140. package/src/secret-token.model.ts +15 -0
  141. package/src/seed.model.ts +50 -0
  142. package/src/storage-file.model.ts +46 -0
  143. package/src/tag-entity.model.ts +23 -0
  144. package/src/tenant.model.ts +52 -0
  145. package/src/tools/index.ts +1 -0
  146. package/src/tools/sandbox.ts +5 -0
  147. package/src/translation.model.ts +37 -0
  148. package/src/types.ts +277 -0
  149. package/src/user-organization.model.ts +31 -0
  150. package/src/user.model.ts +151 -0
  151. package/src/visibility.model.ts +6 -0
  152. package/tsconfig.json +22 -0
  153. package/tsconfig.lib.json +10 -0
  154. package/tsconfig.spec.json +9 -0
  155. package/index.cjs.d.ts +0 -1
  156. package/index.esm.d.ts +0 -1
  157. package/index.esm.js +0 -4129
  158. package/src/agent/graph.d.ts +0 -148
  159. package/src/agent/index.d.ts +0 -5
  160. package/src/agent/token.d.ts +0 -21
  161. package/src/agent/utils.d.ts +0 -19
  162. package/src/agent/variables.d.ts +0 -14
  163. package/src/ai/ai-model.model.d.ts +0 -198
  164. package/src/ai/ai-provider.model.d.ts +0 -43
  165. package/src/ai/ai.model.d.ts +0 -82
  166. package/src/ai/chat-message-feedback.model.d.ts +0 -24
  167. package/src/ai/chat-message.model.d.ts +0 -222
  168. package/src/ai/chat.model.d.ts +0 -189
  169. package/src/ai/copilot-checkpoint.model.d.ts +0 -23
  170. package/src/ai/copilot-example.model.d.ts +0 -19
  171. package/src/ai/copilot-model.model.d.ts +0 -26
  172. package/src/ai/copilot-organization.model.d.ts +0 -17
  173. package/src/ai/copilot-provider.model.d.ts +0 -31
  174. package/src/ai/copilot-role.model.d.ts +0 -43
  175. package/src/ai/copilot-store.model.d.ts +0 -29
  176. package/src/ai/copilot-user.model.d.ts +0 -20
  177. package/src/ai/copilot.model.d.ts +0 -36
  178. package/src/ai/feature.model.d.ts +0 -6
  179. package/src/ai/index.d.ts +0 -39
  180. package/src/ai/knowledge-doc-chunk.model.d.ts +0 -60
  181. package/src/ai/knowledge-doc-page.model.d.ts +0 -15
  182. package/src/ai/knowledge-doc.model.d.ts +0 -192
  183. package/src/ai/knowledge-pipeline.d.ts +0 -107
  184. package/src/ai/knowledge-retrieval-log.model.d.ts +0 -10
  185. package/src/ai/knowledgebase-task.model.d.ts +0 -39
  186. package/src/ai/knowledgebase.model.d.ts +0 -162
  187. package/src/ai/rag-web.d.ts +0 -26
  188. package/src/ai/rag.d.ts +0 -24
  189. package/src/ai/role-permissions.d.ts +0 -13
  190. package/src/ai/types.d.ts +0 -39
  191. package/src/ai/xpert-agent-execution.model.d.ts +0 -96
  192. package/src/ai/xpert-agent.model.d.ts +0 -192
  193. package/src/ai/xpert-project.model.d.ts +0 -86
  194. package/src/ai/xpert-task.model.d.ts +0 -26
  195. package/src/ai/xpert-template.model.d.ts +0 -47
  196. package/src/ai/xpert-tool-mcp.model.d.ts +0 -67
  197. package/src/ai/xpert-tool.model.d.ts +0 -147
  198. package/src/ai/xpert-toolset.model.d.ts +0 -200
  199. package/src/ai/xpert-workflow-task.prompt.d.ts +0 -2
  200. package/src/ai/xpert-workflow.model.d.ts +0 -366
  201. package/src/ai/xpert-workspace.model.d.ts +0 -32
  202. package/src/ai/xpert.model.d.ts +0 -529
  203. package/src/ai/xpert.utils.d.ts +0 -80
  204. package/src/analytics/ai.d.ts +0 -73
  205. package/src/analytics/approval-policy.model.d.ts +0 -30
  206. package/src/analytics/business-area-user.model.d.ts +0 -35
  207. package/src/analytics/business-area.d.ts +0 -17
  208. package/src/analytics/certification.model.d.ts +0 -11
  209. package/src/analytics/chatbi-conversation.model.d.ts +0 -15
  210. package/src/analytics/chatbi-model.model.d.ts +0 -18
  211. package/src/analytics/collection.model.d.ts +0 -6
  212. package/src/analytics/comment.model.d.ts +0 -10
  213. package/src/analytics/data-source-type.d.ts +0 -16
  214. package/src/analytics/data-source.d.ts +0 -62
  215. package/src/analytics/favorite.d.ts +0 -14
  216. package/src/analytics/features.d.ts +0 -19
  217. package/src/analytics/feed-model.d.ts +0 -13
  218. package/src/analytics/gateway.d.ts +0 -27
  219. package/src/analytics/index.d.ts +0 -38
  220. package/src/analytics/indicator-app.d.ts +0 -44
  221. package/src/analytics/indicator.d.ts +0 -106
  222. package/src/analytics/model-query-log.model.d.ts +0 -41
  223. package/src/analytics/model-query.d.ts +0 -21
  224. package/src/analytics/permission-approval.model.d.ts +0 -47
  225. package/src/analytics/project.model.d.ts +0 -50
  226. package/src/analytics/role-permissions.d.ts +0 -25
  227. package/src/analytics/schema.d.ts +0 -262
  228. package/src/analytics/screenshot.model.d.ts +0 -25
  229. package/src/analytics/semantic-model-entity.d.ts +0 -37
  230. package/src/analytics/semantic-model-member.d.ts +0 -24
  231. package/src/analytics/semantic-model.d.ts +0 -175
  232. package/src/analytics/story-template.model.d.ts +0 -28
  233. package/src/analytics/story-widget.d.ts +0 -12
  234. package/src/analytics/story.d.ts +0 -93
  235. package/src/analytics/subscription.d.ts +0 -38
  236. package/src/analytics/visit.model.d.ts +0 -34
  237. package/src/analytics/webSocket.d.ts +0 -48
  238. package/src/api-key.model.d.ts +0 -10
  239. package/src/base-entity.model.d.ts +0 -27
  240. package/src/contact.model.d.ts +0 -41
  241. package/src/core.model.d.ts +0 -97
  242. package/src/currency.model.d.ts +0 -579
  243. package/src/date-picker.model.d.ts +0 -5
  244. package/src/email-template.model.d.ts +0 -39
  245. package/src/email.model.d.ts +0 -36
  246. package/src/employee.model.d.ts +0 -128
  247. package/src/entity-with-members.model.d.ts +0 -13
  248. package/src/feature.model.d.ts +0 -93
  249. package/src/file-provider.d.ts +0 -33
  250. package/src/help-center-article.model.d.ts +0 -0
  251. package/src/help-center.model.d.ts +0 -0
  252. package/src/http-status.enum.d.ts +0 -57
  253. package/src/import-export.model.d.ts +0 -36
  254. package/src/index.d.ts +0 -48
  255. package/src/integration/dify.d.ts +0 -0
  256. package/src/integration/dingtalk.d.ts +0 -2
  257. package/src/integration/fastgpt.d.ts +0 -0
  258. package/src/integration/firecrawl.d.ts +0 -2
  259. package/src/integration/github.d.ts +0 -69
  260. package/src/integration/index.d.ts +0 -4
  261. package/src/integration/lark.d.ts +0 -11
  262. package/src/integration/wecom.d.ts +0 -2
  263. package/src/integration.model.d.ts +0 -90
  264. package/src/invite.model.d.ts +0 -123
  265. package/src/language.model.d.ts +0 -19
  266. package/src/organization-contact.model.d.ts +0 -73
  267. package/src/organization-language.model.d.ts +0 -18
  268. package/src/organization-projects.model.d.ts +0 -80
  269. package/src/organization-team-employee-model.d.ts +0 -12
  270. package/src/organization-team-model.d.ts +0 -19
  271. package/src/organization.model.d.ts +0 -239
  272. package/src/plugin.d.ts +0 -13
  273. package/src/role-permission.model.d.ts +0 -61
  274. package/src/role.model.d.ts +0 -26
  275. package/src/schedule.d.ts +0 -27
  276. package/src/secret-token.model.d.ts +0 -11
  277. package/src/seed.model.d.ts +0 -37
  278. package/src/storage-file.model.d.ts +0 -40
  279. package/src/tag-entity.model.d.ts +0 -20
  280. package/src/tenant.model.d.ts +0 -40
  281. package/src/tools/index.d.ts +0 -1
  282. package/src/tools/sandbox.d.ts +0 -5
  283. package/src/translation.model.d.ts +0 -26
  284. package/src/types.d.ts +0 -241
  285. package/src/user-organization.model.d.ts +0 -24
  286. package/src/user.model.d.ts +0 -131
  287. package/src/visibility.model.d.ts +0 -6
@@ -1,200 +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
- 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
- };
@@ -1,2 +0,0 @@
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>";
@@ -1,366 +0,0 @@
1
- import { I18nObject, IconDefinition } from "../types";
2
- import { ICopilotModel } from "./copilot-model.model";
3
- import { TKBRecallParams } from "./knowledgebase.model";
4
- import { ApiAuthType, TErrorHandling, TXpertRefParameter } from "./types";
5
- import { TStateVariable, TXpertParameter } from "./xpert.model";
6
- export type TWorkflowNodeMeta = {
7
- name: string;
8
- label: I18nObject;
9
- icon: IconDefinition;
10
- configSchema: any;
11
- };
12
- export type TWorkflowTriggerMeta = TWorkflowNodeMeta;
13
- export declare enum WorkflowNodeTypeEnum {
14
- /**
15
- * Trigger
16
- */
17
- TRIGGER = "trigger",
18
- /**
19
- * State Variable Assigner
20
- */
21
- ASSIGNER = "assigner",
22
- /**
23
- * Router
24
- */
25
- IF_ELSE = "if-else",
26
- LIST_OPERATOR = "list-operator",
27
- VARIABLE_AGGREGATOR = "variable-aggregator",
28
- ITERATING = "iterating",
29
- ANSWER = "answer",
30
- CODE = "code",
31
- HTTP = "http",
32
- KNOWLEDGE = "knowledge",
33
- SUBFLOW = "subflow",
34
- TEMPLATE = "template",
35
- CLASSIFIER = "classifier",
36
- TOOL = "tool",
37
- AGENT_TOOL = "agent-tool",
38
- NOTE = "note",
39
- /**
40
- * Task node, distribute tasks to sub-agents
41
- */
42
- TASK = "task",
43
- SOURCE = "source",
44
- PROCESSOR = "processor",
45
- CHUNKER = "chunker",
46
- UNDERSTANDING = "understanding",
47
- KNOWLEDGE_BASE = "knowledgebase"
48
- }
49
- export interface IWorkflowNode {
50
- id: string;
51
- key: string;
52
- title?: string;
53
- description?: string | I18nObject;
54
- type: WorkflowNodeTypeEnum;
55
- }
56
- export declare enum VariableOperationEnum {
57
- APPEND = "append",
58
- EXTEND = "extend",
59
- OVERWRITE = "overwrite",
60
- CLEAR = "clear"
61
- }
62
- export type TVariableAssigner = {
63
- id: string;
64
- inputType: 'variable' | 'constant' | 'message';
65
- /**
66
- * value from variable
67
- */
68
- value?: string;
69
- /**
70
- * value write to state's variable
71
- */
72
- variableSelector: string;
73
- /**
74
- * How to write value to variable
75
- */
76
- operation: VariableOperationEnum;
77
- /**
78
- * The message template to write to messages variable
79
- */
80
- messages?: {
81
- role: string;
82
- content: string;
83
- }[];
84
- };
85
- export interface IWFNAssigner extends IWorkflowNode {
86
- type: WorkflowNodeTypeEnum.ASSIGNER;
87
- assigners: TVariableAssigner[];
88
- }
89
- export interface IWFNIfElse extends IWorkflowNode {
90
- type: WorkflowNodeTypeEnum.IF_ELSE;
91
- cases: TWFCase[];
92
- }
93
- /**
94
- * The list operator can filter and extract attributes such as file format type, file name, and size,
95
- * passing different format files to corresponding processing nodes to achieve precise control over different file processing flows.
96
- */
97
- export interface IWFNListOperator extends IWorkflowNode {
98
- type: WorkflowNodeTypeEnum.LIST_OPERATOR;
99
- input: string;
100
- itemVarType: string;
101
- filterBy?: {
102
- enabled: boolean;
103
- conditions: TWFCaseCondition[];
104
- logicalOperator: WorkflowLogicalOperator;
105
- };
106
- extractBy?: {
107
- enabled: boolean;
108
- index: number;
109
- };
110
- sortBy?: {
111
- enabled: boolean;
112
- variable: string;
113
- descending?: boolean;
114
- };
115
- topN?: {
116
- enabled: boolean;
117
- count: number;
118
- };
119
- }
120
- /**
121
- * Aggregate variables from multiple branches into a single variable to achieve unified configuration for downstream nodes.
122
- */
123
- export interface IWFNVariableAggregator extends IWorkflowNode {
124
- type: WorkflowNodeTypeEnum.VARIABLE_AGGREGATOR;
125
- inputs: string[];
126
- outputType: string;
127
- }
128
- export interface IWFNIterating extends IWorkflowNode {
129
- type: WorkflowNodeTypeEnum.ITERATING;
130
- /**
131
- * Variable name of input array in state
132
- */
133
- inputVariable: string;
134
- inputParams?: TXpertRefParameter[];
135
- outputParams?: TXpertRefParameter[];
136
- /**
137
- * Execute in parallel, otherwise execute sequentially
138
- */
139
- parallel?: boolean;
140
- /**
141
- * Maximum number of parallel task
142
- */
143
- maximum?: number;
144
- /**
145
- * - terminate: terminate on error
146
- * - ignore: ignore error and continue
147
- * - remove: remove error output
148
- */
149
- errorMode?: 'terminate' | 'ignore' | 'remove';
150
- }
151
- /**
152
- * The parameter name that represents the entire current element in array
153
- */
154
- export declare const IteratingItemParameterName = "$item";
155
- export declare const IteratingIndexParameterName = "$index";
156
- export interface IWFNAnswer extends IWorkflowNode {
157
- type: WorkflowNodeTypeEnum.ANSWER;
158
- promptTemplate: string;
159
- mute?: boolean;
160
- }
161
- export declare enum WorkflowLogicalOperator {
162
- AND = "and",
163
- OR = "or"
164
- }
165
- export declare enum WorkflowComparisonOperator {
166
- CONTAINS = "contains",
167
- NOT_CONTAINS = "not-contains",
168
- EQUAL = "equal",
169
- NOT_EQUAL = "not-equal",
170
- GT = "gt",
171
- LT = "lt",
172
- GE = "ge",
173
- LE = "le",
174
- STARTS_WITH = "starts-with",
175
- ENDS_WITH = "ends-with",
176
- EMPTY = "empty",
177
- NOT_EMPTY = "not-empty",
178
- IS_TRUE = "is-true",
179
- IS_FALSE = "is-false",
180
- LIKE = "like",
181
- NOT_LIKE = "not-like"
182
- }
183
- /**
184
- * Comparison condition for if-else and list-operator nodes
185
- */
186
- export type TWFCaseCondition = {
187
- id: string;
188
- comparisonOperator: WorkflowComparisonOperator;
189
- value?: string;
190
- varType?: string;
191
- variableSelector?: string;
192
- };
193
- export type TWFCase = {
194
- caseId: string;
195
- conditions: TWFCaseCondition[];
196
- logicalOperator: WorkflowLogicalOperator;
197
- };
198
- export type TWorkflowVarGroup = {
199
- group?: {
200
- name: string;
201
- description: string | I18nObject;
202
- };
203
- variables: TStateVariable[];
204
- };
205
- export type TWorkflowRetry = {
206
- enabled?: boolean;
207
- stopAfterAttempt?: number;
208
- retryInterval?: number;
209
- };
210
- export interface IWFNCode extends IWorkflowNode {
211
- type: WorkflowNodeTypeEnum.CODE;
212
- language: 'python' | 'javascript';
213
- code: string;
214
- inputs: {
215
- name: string;
216
- variable?: string;
217
- }[];
218
- outputs: TXpertParameter[];
219
- /**
220
- * Retry on failure
221
- */
222
- retry?: TWorkflowRetry;
223
- /**
224
- * Error handling
225
- */
226
- errorHandling?: TErrorHandling;
227
- }
228
- export type BodyType = 'none' | 'form-data' | 'x-www-form-urlencoded' | 'json' | 'raw' | 'binary';
229
- interface HttpParam {
230
- key: string;
231
- value: string;
232
- }
233
- interface HttpHeader {
234
- name: string;
235
- value: string;
236
- }
237
- export type TWorkflowAuthorization = {
238
- auth_type?: ApiAuthType;
239
- api_key_type?: '' | 'bearer' | 'custom';
240
- api_key_header?: string;
241
- api_key_value?: string;
242
- username?: string;
243
- password?: string;
244
- };
245
- export interface IWFNHttp extends IWorkflowNode {
246
- type: WorkflowNodeTypeEnum.HTTP;
247
- authorization?: TWorkflowAuthorization;
248
- method: 'get' | 'post' | 'put' | 'delete' | 'patch' | 'head';
249
- url: string;
250
- headers: HttpHeader[];
251
- params: HttpParam[];
252
- body: {
253
- type?: BodyType;
254
- body?: string;
255
- encodedForm?: HttpParam[];
256
- };
257
- connectionTimeout?: number;
258
- readTimeout?: number;
259
- writeTimeout?: number;
260
- /**
261
- * Retry on failure
262
- */
263
- retry?: TWorkflowRetry;
264
- /**
265
- * Error handling
266
- */
267
- errorHandling?: TErrorHandling;
268
- }
269
- export interface IWFNKnowledgeRetrieval extends IWorkflowNode {
270
- queryVariable: string;
271
- knowledgebases: string[];
272
- recall?: TKBRecallParams;
273
- }
274
- export interface IWFNSubflow extends IWorkflowNode {
275
- inputParams?: TXpertRefParameter[];
276
- outputParams?: TXpertRefParameter[];
277
- }
278
- export interface IWFNTemplate extends IWorkflowNode {
279
- type: WorkflowNodeTypeEnum.TEMPLATE;
280
- inputParams?: TXpertRefParameter[];
281
- code: string;
282
- /**
283
- * Error handling
284
- */
285
- errorHandling?: TErrorHandling;
286
- }
287
- export interface IWFNClassifier extends IWorkflowNode {
288
- type: WorkflowNodeTypeEnum.CLASSIFIER;
289
- copilotModel: ICopilotModel;
290
- inputVariables: string[];
291
- classes: {
292
- description?: string;
293
- }[];
294
- instruction?: string;
295
- }
296
- export interface IWFNClassifier extends IWorkflowNode {
297
- type: WorkflowNodeTypeEnum.CLASSIFIER;
298
- copilotModel: ICopilotModel;
299
- inputVariables: string[];
300
- classes: {
301
- description?: string;
302
- }[];
303
- instruction?: string;
304
- }
305
- export interface IWFNTemplate extends IWorkflowNode {
306
- type: WorkflowNodeTypeEnum.TEMPLATE;
307
- inputParams?: TXpertRefParameter[];
308
- code: string;
309
- /**
310
- * Error handling
311
- */
312
- errorHandling?: TErrorHandling;
313
- }
314
- export interface IWFNTool extends IWorkflowNode {
315
- type: WorkflowNodeTypeEnum.TOOL;
316
- toolsetId: string;
317
- toolName: string;
318
- /**
319
- * @deprecated Use parameters instead
320
- */
321
- parameterVariable: string;
322
- parameters?: any;
323
- omitBlankValues?: boolean;
324
- /**
325
- * Error handling
326
- */
327
- errorHandling?: TErrorHandling;
328
- }
329
- export interface IWFNNote extends IWorkflowNode {
330
- content: string;
331
- }
332
- export interface IWFNAgentTool extends IWorkflowNode {
333
- type: WorkflowNodeTypeEnum.AGENT_TOOL;
334
- toolName: string;
335
- toolDescription?: string;
336
- toolParameters?: TXpertParameter[];
337
- /**
338
- * End point tool
339
- */
340
- isEnd?: boolean;
341
- /**
342
- * @deprecated Mixed sub-processes are not suitable for catching exceptions unless they are implemented using a separate subgraph
343
- * Error handling
344
- */
345
- errorHandling?: TErrorHandling;
346
- }
347
- export interface IWFNTrigger extends IWorkflowNode {
348
- type: WorkflowNodeTypeEnum.TRIGGER;
349
- from: 'chat' | 'integration' | 'scheduler';
350
- parameters?: TXpertParameter[];
351
- config?: any;
352
- }
353
- export interface IWFNTask extends IWorkflowNode {
354
- type: WorkflowNodeTypeEnum.TASK;
355
- descriptionPrefix?: string;
356
- descriptionSuffix?: string;
357
- }
358
- export declare function genXpertTriggerKey(): string;
359
- export declare function genListOperatorKey(): string;
360
- export declare function genVariableAggregatorKey(): string;
361
- export declare function isAgentKey(key: string): boolean;
362
- export declare function isRouterKey(key: string): boolean;
363
- export declare function isIteratingKey(key: string): boolean;
364
- export declare function isWorkflowKey(key: string): boolean;
365
- export declare function workflowNodeIdentifier(node: IWorkflowNode): string;
366
- export {};
@@ -1,32 +0,0 @@
1
- import { IBasePerTenantAndOrganizationEntityModel } from '../base-entity.model';
2
- import { IUser } from '../user.model';
3
- import { IEnvironment } from './environment.model';
4
- import { IXpert } from './xpert.model';
5
- /**
6
- * Expert Workspace
7
- */
8
- export interface IXpertWorkspace extends IBasePerTenantAndOrganizationEntityModel {
9
- name: string;
10
- description?: string;
11
- status: TXpertWorkspaceStatus;
12
- settings?: TXpertWorkspaceSettings;
13
- ownerId: string;
14
- owner?: IUser;
15
- xperts?: IXpert[];
16
- environments?: IEnvironment[];
17
- members?: IUser[];
18
- }
19
- export type TXpertWorkspaceSettings = {};
20
- export type TXpertWorkspaceStatus = 'active' | 'deprecated' | 'archived';
21
- export interface IBasePerWorkspaceEntityModel extends IBasePerTenantAndOrganizationEntityModel {
22
- workspaceId?: string;
23
- workspace?: IXpertWorkspace;
24
- /**
25
- * Publish date of latest
26
- */
27
- publishAt?: Date;
28
- /**
29
- * Soft deleted
30
- */
31
- deletedAt?: Date;
32
- }