@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
@@ -0,0 +1,264 @@
1
+ import { IBasePerTenantAndOrganizationEntityModel } from '../base-entity.model'
2
+ import { ICopilotModel, TCopilotModel } from './copilot-model.model'
3
+ import { IKnowledgebase, TKBRecallParams } from './knowledgebase.model'
4
+ import { I18nObject, TAvatar } from '../types'
5
+ import { IXpertToolset } from './xpert-toolset.model'
6
+ import { IXpert, TXpertParameter } from './xpert.model'
7
+ import { TVariableAssigner } from './xpert-workflow.model'
8
+ import { TErrorHandling } from './types'
9
+ import { TInterruptCommand } from '../agent'
10
+
11
+ export type TXpertAgent = {
12
+ key: string
13
+ name?: string
14
+ title?: string
15
+ description?: string
16
+ avatar?: TAvatar
17
+ /**
18
+ * System prompt
19
+ */
20
+ prompt?: string
21
+ /**
22
+ * Prompt templates (ai or human)
23
+ */
24
+ promptTemplates?: TAgentPromptTemplate[]
25
+ /**
26
+ * Input parameters for agent
27
+ */
28
+ parameters?: TXpertParameter[]
29
+ /**
30
+ * Output variables of agent
31
+ */
32
+ outputVariables?: TAgentOutputVariable[]
33
+
34
+ /**
35
+ * More configuration
36
+ */
37
+ options?: TXpertAgentOptions
38
+
39
+ // One to one
40
+ /**
41
+ * This is the xpert's primary agent
42
+ */
43
+ xpert?: IXpert
44
+ xpertId?: string
45
+ /**
46
+ * Copilot model of this agent
47
+ */
48
+ copilotModel?: ICopilotModel
49
+ copilotModelId?: string
50
+
51
+ // Many to one
52
+ /**
53
+ * This is one of the xpert team's agent
54
+ */
55
+ team?: IXpert
56
+ teamId?: string
57
+
58
+ /**
59
+ * My leader in xpert team
60
+ */
61
+ leader?: IXpertAgent
62
+ leaderKey?: string
63
+ /**
64
+ * I am the leader of followers in xpert's team
65
+ */
66
+ followers?: IXpertAgent[]
67
+
68
+ // Many to many
69
+ /**
70
+ * External xpert teams
71
+ */
72
+ collaborators?: IXpert[]
73
+ collaboratorNames?: string[]
74
+ /**
75
+ * I used toolsets
76
+ */
77
+ toolsets?: IXpertToolset[]
78
+ toolsetIds?: string[]
79
+ /**
80
+ * I used knowledgebases
81
+ */
82
+ knowledgebases?: IKnowledgebase[]
83
+ knowledgebaseIds?: string[]
84
+ }
85
+
86
+ /**
87
+ * Expert agent, ai agent for the xperts.
88
+ */
89
+ export interface IXpertAgent extends IBasePerTenantAndOrganizationEntityModel, TXpertAgent {
90
+
91
+ }
92
+
93
+ export type TXpertAgentOptions = {
94
+ /**
95
+ * Hide this agent node in the graph
96
+ */
97
+ hidden?: boolean
98
+
99
+ /**
100
+ * Disable message history for agent conversation
101
+ */
102
+ disableMessageHistory?: boolean
103
+
104
+ /**
105
+ * The variable of message history to use
106
+ */
107
+ historyVariable?: string
108
+
109
+ /**
110
+ * Write output variables to memory (state)
111
+ */
112
+ memories?: TVariableAssigner[]
113
+
114
+ /**
115
+ * Whether to enable parallel tool calls, default: true
116
+ */
117
+ parallelToolCalls?: boolean
118
+
119
+ /**
120
+ * Retry on failure
121
+ */
122
+ retry?: {
123
+ enabled?: boolean
124
+ stopAfterAttempt?: number
125
+ }
126
+
127
+ /**
128
+ * Fallback model
129
+ */
130
+ fallback?: {
131
+ enabled?: boolean
132
+ copilotModel?: TCopilotModel
133
+ }
134
+
135
+ /**
136
+ * Error handling
137
+ */
138
+ errorHandling?: TErrorHandling
139
+
140
+ /**
141
+ * Recall params for kbs
142
+ */
143
+ recall?: TKBRecallParams
144
+
145
+ /**
146
+ * Available tools
147
+ */
148
+ availableTools?: Record<string, string[]>
149
+ /**
150
+ * Options for tools of agent
151
+ */
152
+ tools?: Record<string, {
153
+ timeout?: number
154
+ }>
155
+
156
+ /**
157
+ * How to achieve structured output (`StructuredOutputMethodOptions['method']`)
158
+ * - *functionCalling*
159
+ * - *jsonMode*
160
+ * - *jsonSchema*
161
+ *
162
+ */
163
+ structuredOutputMethod?: "functionCalling" | "jsonMode" | "jsonSchema" | string
164
+ /**
165
+ * Vision config of agent
166
+ */
167
+ vision?: {
168
+ enabled?: boolean
169
+ /**
170
+ * Variable name that store the list of files to be understood
171
+ */
172
+ variable?: string
173
+ /**
174
+ * Image resolution for vision tasks
175
+ */
176
+ resolution?: 'high' | 'low'
177
+ }
178
+ }
179
+
180
+ export type TAgentPromptTemplate = {
181
+ id: string;
182
+ role: 'ai' | 'human';
183
+ text: string
184
+ }
185
+
186
+ export type TAgentOutputVariable = TXpertParameter & {
187
+ /**
188
+ * value write to state's variable
189
+ */
190
+ variableSelector: string
191
+ /**
192
+ * How to write value to variable
193
+ */
194
+ operation: 'append' | 'extends' | 'overwrite' | 'clear'
195
+ }
196
+
197
+ /**
198
+ * @deprecated use TChatRequest
199
+ */
200
+ export type TChatAgentParams = {
201
+ input: {
202
+ input?: string
203
+ [key: string]: unknown
204
+ }
205
+ agentKey: string
206
+ xpertId: string
207
+ executionId?: string
208
+ environmentId?: string
209
+ /**
210
+ */
211
+ command?: TInterruptCommand
212
+ /**
213
+ * Reject the sensitive tool calls
214
+ */
215
+ reject?: boolean
216
+ }
217
+
218
+ export function agentLabel(agent: Partial<IXpertAgent>) {
219
+ return agent.title || agent.name || agent.key
220
+ }
221
+
222
+ export function agentUniqueName(agent: IXpertAgent) {
223
+ return agent ? (convertToUrlPath(agent.name) || agent.key) : null
224
+ }
225
+
226
+ export function convertToUrlPath(title: string) {
227
+ return title?.toLowerCase() // Convert to lowercase
228
+ .replace(/\s+/g, '-') // Replace spaces with -
229
+ .replace(/[^a-z0-9-]/g, ''); // Remove non-alphanumeric characters
230
+ }
231
+
232
+ export const VariableOperations: {
233
+ value: TAgentOutputVariable['operation'];
234
+ label: I18nObject
235
+ }[] = [
236
+ {
237
+ value: 'append',
238
+ label: {
239
+ zh_Hans: '追加',
240
+ en_US: 'Append'
241
+ }
242
+ },
243
+ {
244
+ value: 'extends',
245
+ label: {
246
+ zh_Hans: '扩展',
247
+ en_US: 'Extend'
248
+ }
249
+ },
250
+ {
251
+ value: 'overwrite',
252
+ label: {
253
+ zh_Hans: '覆盖',
254
+ en_US: 'Overwrite'
255
+ }
256
+ },
257
+ {
258
+ value: 'clear',
259
+ label: {
260
+ zh_Hans: '清除',
261
+ en_US: 'Clear'
262
+ }
263
+ }
264
+ ]
@@ -0,0 +1,103 @@
1
+ import { IBasePerTenantAndOrganizationEntityModel } from '../base-entity.model'
2
+ import { IIntegration } from '../integration.model'
3
+ import { IStorageFile, TFile } from '../storage-file.model'
4
+ import { TAvatar } from '../types'
5
+ import { IUser } from '../user.model'
6
+ import { ICopilotModel } from './copilot-model.model'
7
+ import { IKnowledgebase } from './knowledgebase.model'
8
+ import { IXpertToolset } from './xpert-toolset.model'
9
+ import { IXpertWorkspace } from './xpert-workspace.model'
10
+ import { IXpert, TXpertTeamDraft } from './xpert.model'
11
+
12
+ export type TXpertProjectSettings = {
13
+ instruction: string
14
+ mode?: '' | 'plan'
15
+ }
16
+ export type TXpertProjectStatus = 'active' | 'deprecated' | 'archived'
17
+
18
+ export type TXpertProject = {
19
+ name: string
20
+ avatar?: TAvatar
21
+ description?: string
22
+ status: TXpertProjectStatus
23
+ settings?: TXpertProjectSettings
24
+
25
+ // Used copilot model
26
+ copilotModel?: ICopilotModel
27
+ copilotModelId?: string
28
+
29
+ vcsId?: string
30
+ }
31
+
32
+ /**
33
+ * Expert Project
34
+ */
35
+ export interface IXpertProject extends TXpertProject, IBasePerTenantAndOrganizationEntityModel {
36
+ workspaceId?: string
37
+ workspace?: IXpertWorkspace
38
+
39
+ // Many to one
40
+ ownerId: string
41
+ owner?: IUser
42
+
43
+ // One to many
44
+ xperts?: IXpert[]
45
+ toolsets?: IXpertToolset[]
46
+ knowledges?: IKnowledgebase[]
47
+ members?: IUser[]
48
+ /**
49
+ * @deprecated Use *file volume* instead
50
+ */
51
+ files?: IXpertProjectFile[]
52
+ attachments?: IStorageFile[]
53
+
54
+ vcs?: IXpertProjectVCS
55
+ }
56
+
57
+ export interface IBasePerXpertProjectEntityModel extends IBasePerTenantAndOrganizationEntityModel {
58
+ projectId?: string
59
+ project?: IXpertProject
60
+ }
61
+
62
+ export interface IXpertProjectTask extends IBasePerXpertProjectEntityModel {
63
+ threadId?: string
64
+ name: string
65
+ type?: string
66
+ status: 'pending' | 'in_progress' | 'completed' | 'failed'
67
+ steps: IXpertProjectTaskStep[]
68
+ }
69
+
70
+ export interface IXpertProjectTaskStep extends IBasePerXpertProjectEntityModel {
71
+ taskId: string
72
+ stepIndex: number
73
+ description: string
74
+ notes: string
75
+ status: 'pending' | 'running' | 'done' | 'failed'
76
+ }
77
+
78
+ export interface IXpertProjectTaskLog extends IBasePerXpertProjectEntityModel {
79
+ stepId: string
80
+ logType: 'input' | 'output' | 'error'
81
+ content: string
82
+ }
83
+
84
+ export interface IXpertProjectVCS extends IBasePerXpertProjectEntityModel {
85
+ integrationId?: string
86
+ integration?: IIntegration
87
+ auth?: {
88
+ token_type?: string
89
+ access_token?: string
90
+ state?: string
91
+ }
92
+ installationId?: number | string // For GitHub Apps
93
+ repository?: string
94
+ }
95
+
96
+ /**
97
+ * @deprecated Use `attachments`
98
+ */
99
+ export interface IXpertProjectFile extends IBasePerXpertProjectEntityModel, Omit<TFile, 'createdAt'> {}
100
+
101
+ export type TXpertProjectDSL = IXpertProject & {
102
+ xperts?: TXpertTeamDraft[]
103
+ }
@@ -0,0 +1,100 @@
1
+ import { letterStartSUID } from '../types'
2
+ import { IWorkflowNode, WorkflowNodeTypeEnum } from './xpert-workflow.model'
3
+ import { IBasePerWorkspaceEntityModel } from './xpert-workspace.model'
4
+
5
+ /**
6
+ * 表状态:符合我们前面讨论的多状态流程
7
+ */
8
+ export enum XpertTableStatus {
9
+ DRAFT = 'draft',
10
+ READY = 'ready',
11
+ PENDING_ACTIVATION = 'pendingActivation',
12
+ ACTIVE = 'active',
13
+ NEEDS_MIGRATION = 'needsMigration',
14
+ DEPRECATED = 'deprecated',
15
+ ERROR = 'error'
16
+ }
17
+
18
+ /**
19
+ * Custom Table for Xpert
20
+ */
21
+ export interface IXpertTable extends IBasePerWorkspaceEntityModel, TXpertTable {}
22
+
23
+ export type TXpertTable = {
24
+ name: string // 逻辑表名(用户侧看到的名称,如 "customer_orders")
25
+ description?: string
26
+ database?: string
27
+ schema?: string
28
+ columns?: TXpertTableColumn[]
29
+ status: XpertTableStatus
30
+ version?: number
31
+ activatedAt?: Date
32
+ message?: string
33
+ }
34
+
35
+ export type TXpertTableColumn = {
36
+ name: string
37
+ type: 'string' | 'number' | 'boolean' | 'date' | 'datetime' | 'json'
38
+ label?: string
39
+ required?: boolean
40
+ }
41
+
42
+
43
+ // ===============================
44
+ // 📦 Database Operation Nodes
45
+ // ===============================
46
+
47
+ export interface IWorkflowNodeDBOperation extends IWorkflowNode {
48
+ tableId: string
49
+ }
50
+
51
+ export interface IWFNDBInsert extends IWorkflowNodeDBOperation {
52
+ type: WorkflowNodeTypeEnum.DB_INSERT,
53
+ columns?: Record<string, {
54
+ type: 'string' | 'number' | 'boolean' | 'date' | 'datetime' | 'json';
55
+ value?: any
56
+ valueSelector?: string
57
+ }>
58
+ }
59
+
60
+ export function genXpertDBInsertKey() {
61
+ return letterStartSUID('DBInsert_')
62
+ }
63
+
64
+ export interface IWFNDBUpdate extends IWorkflowNodeDBOperation {
65
+ type: WorkflowNodeTypeEnum.DB_UPDATE
66
+ columns?: Record<string, {
67
+ type: 'string' | 'number' | 'boolean' | 'date' | 'datetime' | 'json';
68
+ value?: any
69
+ valueSelector?: string
70
+ }>
71
+ }
72
+
73
+ export function genXpertDBUpdateKey() {
74
+ return letterStartSUID('DBUpdate_')
75
+ }
76
+
77
+ export interface IWFNDBDelete extends IWorkflowNodeDBOperation {
78
+ type: WorkflowNodeTypeEnum.DB_DELETE,
79
+ }
80
+
81
+ export function genXpertDBDeleteKey() {
82
+ return letterStartSUID('DBDelete_')
83
+ }
84
+
85
+ export interface IWFNDBQuery extends IWorkflowNodeDBOperation {
86
+ type: WorkflowNodeTypeEnum.DB_QUERY,
87
+ }
88
+
89
+ export function genXpertDBQueryKey() {
90
+ return letterStartSUID('DBQuery_')
91
+ }
92
+
93
+ export interface IWFNDBSql extends IWorkflowNodeDBOperation {
94
+ type: WorkflowNodeTypeEnum.DB_SQL
95
+ sqlTemplate?: string
96
+ }
97
+
98
+ export function genXpertDBSqlKey() {
99
+ return letterStartSUID('DBSql_')
100
+ }
@@ -0,0 +1,32 @@
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
+
7
+ /**
8
+ * Tools for Xpert
9
+ */
10
+ export interface IXpertTask extends IBasePerTenantAndOrganizationEntityModel, XpertTaskType {}
11
+
12
+ export type XpertTaskType = {
13
+ name?: string
14
+ schedule?: string
15
+ options?: TScheduleOptions
16
+ timeZone?: string
17
+ prompt?: string
18
+ status?: ScheduleTaskStatus
19
+
20
+ xpert?: IXpert
21
+ xpertId?: string
22
+ agentKey?: string
23
+ // One to many
24
+ conversations?: IChatConversation[]
25
+
26
+ // Temporary properties
27
+ job?: any
28
+ scheduleDescription?: string
29
+ executionCount?: number
30
+ errorCount?: number
31
+ successCount?: number
32
+ }
@@ -0,0 +1,53 @@
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
+ }
@@ -0,0 +1,77 @@
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
+ * Default timeout in milliseconds for tool execution. Must be greater than 0.
61
+ * If not specified, tools will use their own configured timeout values.
62
+ */
63
+ defaultToolTimeout?: number
64
+
65
+ files?: {name: string; content: string}[]
66
+
67
+ toolNamePrefix?: string
68
+ /**
69
+ * Init scripts for sandbox
70
+ */
71
+ initScripts?: string
72
+ }
73
+
74
+ export type TMCPSchema = {
75
+ servers?: Record<string, TMCPServer>
76
+ mcpServers?: Record<string, TMCPServer>
77
+ }