@metad/contracts 3.6.0 → 3.6.1

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 -3996
  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 +272 -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 +21 -0
  15. package/src/ai/ai-model.model.ts +228 -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 +39 -0
  33. package/src/ai/knowledge-doc-chunk.model.ts +120 -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 +252 -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 +190 -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 +258 -0
  47. package/src/ai/xpert-project.model.ts +103 -0
  48. package/src/ai/xpert-task.model.ts +32 -0
  49. package/src/ai/xpert-template.model.ts +53 -0
  50. package/src/ai/xpert-tool-mcp.model.ts +72 -0
  51. package/src/ai/xpert-tool.model.ts +211 -0
  52. package/src/ai/xpert-toolset.model.ts +220 -0
  53. package/src/ai/xpert-workflow-task.prompt.ts +71 -0
  54. package/src/ai/xpert-workflow.model.ts +449 -0
  55. package/src/ai/xpert-workspace.model.ts +42 -0
  56. package/src/ai/xpert.model.ts +613 -0
  57. package/src/ai/xpert.utils.ts +214 -0
  58. package/src/analytics/ai.ts +79 -0
  59. package/src/analytics/approval-policy.model.ts +40 -0
  60. package/src/analytics/business-area-user.model.ts +43 -0
  61. package/src/analytics/business-area.ts +20 -0
  62. package/src/analytics/certification.model.ts +12 -0
  63. package/src/analytics/chatbi-conversation.model.ts +16 -0
  64. package/src/analytics/chatbi-model.model.ts +22 -0
  65. package/src/analytics/collection.model.ts +8 -0
  66. package/src/analytics/comment.model.ts +14 -0
  67. package/src/analytics/data-source-type.ts +19 -0
  68. package/src/analytics/data-source.ts +72 -0
  69. package/src/analytics/favorite.ts +18 -0
  70. package/src/analytics/features.ts +19 -0
  71. package/src/analytics/feed-model.ts +15 -0
  72. package/src/analytics/gateway.ts +30 -0
  73. package/src/analytics/index.ts +39 -0
  74. package/src/analytics/indicator-app.ts +49 -0
  75. package/src/analytics/{indicator-market.d.ts → indicator-market.ts} +6 -2
  76. package/src/analytics/indicator.ts +127 -0
  77. package/src/analytics/model-query-log.model.ts +45 -0
  78. package/src/analytics/model-query.ts +22 -0
  79. package/src/analytics/{notification-destination.d.ts → notification-destination.ts} +9 -5
  80. package/src/analytics/{permission-approval-user.model.d.ts → permission-approval-user.model.ts} +10 -8
  81. package/src/analytics/permission-approval.model.ts +58 -0
  82. package/src/analytics/project.model.ts +56 -0
  83. package/src/analytics/role-permissions.ts +36 -0
  84. package/src/analytics/schema.ts +300 -0
  85. package/src/analytics/screenshot.model.ts +28 -0
  86. package/src/analytics/semantic-model-entity.ts +49 -0
  87. package/src/analytics/semantic-model-member.ts +45 -0
  88. package/src/analytics/semantic-model.ts +227 -0
  89. package/src/analytics/{story-point.d.ts → story-point.ts} +11 -6
  90. package/src/analytics/story-template.model.ts +34 -0
  91. package/src/analytics/story-widget.ts +15 -0
  92. package/src/analytics/story.ts +109 -0
  93. package/src/analytics/subscription.ts +43 -0
  94. package/src/analytics/visit.model.ts +39 -0
  95. package/src/analytics/webSocket.ts +53 -0
  96. package/src/api-key.model.ts +11 -0
  97. package/src/base-entity.model.ts +34 -0
  98. package/src/contact.model.ts +45 -0
  99. package/src/core.model.ts +103 -0
  100. package/src/{country.model.d.ts → country.model.ts} +3 -2
  101. package/src/currency.model.ts +582 -0
  102. package/src/{custom-smtp.model.d.ts → custom-smtp.model.ts} +21 -17
  103. package/src/date-picker.model.ts +5 -0
  104. package/src/email-template.model.ts +50 -0
  105. package/src/email.model.ts +46 -0
  106. package/src/employee.model.ts +199 -0
  107. package/src/entity-with-members.model.ts +16 -0
  108. package/src/feature.model.ts +108 -0
  109. package/src/file-provider.ts +37 -0
  110. package/src/help-center-article.model.ts +35 -0
  111. package/src/help-center.model.ts +33 -0
  112. package/src/http-status.enum.ts +58 -0
  113. package/src/import-export.model.ts +42 -0
  114. package/src/index.ts +60 -0
  115. package/src/integration/dify.ts +31 -0
  116. package/src/integration/dingtalk.ts +16 -0
  117. package/src/integration/fastgpt.ts +32 -0
  118. package/src/integration/firecrawl.ts +46 -0
  119. package/src/integration/github.ts +149 -0
  120. package/src/integration/index.ts +15 -0
  121. package/src/integration/lark.ts +79 -0
  122. package/src/integration/wecom.ts +16 -0
  123. package/src/integration.model.ts +119 -0
  124. package/src/invite.model.ts +144 -0
  125. package/src/language.model.ts +22 -0
  126. package/src/organization-contact.model.ts +84 -0
  127. package/src/{organization-department.model.d.ts → organization-department.model.ts} +16 -10
  128. package/src/organization-language.model.ts +24 -0
  129. package/src/organization-projects.model.ts +99 -0
  130. package/src/organization-team-employee-model.ts +14 -0
  131. package/src/organization-team-model.ts +25 -0
  132. package/src/organization.model.ts +266 -0
  133. package/src/password-reset.model.ts +22 -0
  134. package/src/{plain-object.model.d.ts → plain-object.model.ts} +1 -1
  135. package/src/plugin.ts +15 -0
  136. package/src/role-permission.model.ts +123 -0
  137. package/src/role.model.ts +31 -0
  138. package/src/schedule.ts +71 -0
  139. package/src/secret-token.model.ts +15 -0
  140. package/src/seed.model.ts +50 -0
  141. package/src/storage-file.model.ts +46 -0
  142. package/src/tag-entity.model.ts +23 -0
  143. package/src/tenant.model.ts +52 -0
  144. package/src/tools/index.ts +1 -0
  145. package/src/tools/sandbox.ts +5 -0
  146. package/src/translation.model.ts +37 -0
  147. package/src/types.ts +277 -0
  148. package/src/user-organization.model.ts +31 -0
  149. package/src/user.model.ts +151 -0
  150. package/src/visibility.model.ts +6 -0
  151. package/tsconfig.json +22 -0
  152. package/tsconfig.lib.json +10 -0
  153. package/tsconfig.spec.json +9 -0
  154. package/index.cjs.d.ts +0 -1
  155. package/index.esm.d.ts +0 -1
  156. package/index.esm.js +0 -3900
  157. package/src/agent/graph.d.ts +0 -148
  158. package/src/agent/index.d.ts +0 -5
  159. package/src/agent/token.d.ts +0 -21
  160. package/src/agent/utils.d.ts +0 -19
  161. package/src/agent/variables.d.ts +0 -14
  162. package/src/ai/ai-model.model.d.ts +0 -195
  163. package/src/ai/ai-provider.model.d.ts +0 -43
  164. package/src/ai/ai.model.d.ts +0 -82
  165. package/src/ai/chat-message-feedback.model.d.ts +0 -24
  166. package/src/ai/chat-message.model.d.ts +0 -222
  167. package/src/ai/chat.model.d.ts +0 -189
  168. package/src/ai/copilot-checkpoint.model.d.ts +0 -23
  169. package/src/ai/copilot-example.model.d.ts +0 -19
  170. package/src/ai/copilot-model.model.d.ts +0 -26
  171. package/src/ai/copilot-organization.model.d.ts +0 -17
  172. package/src/ai/copilot-provider.model.d.ts +0 -31
  173. package/src/ai/copilot-role.model.d.ts +0 -43
  174. package/src/ai/copilot-store.model.d.ts +0 -29
  175. package/src/ai/copilot-user.model.d.ts +0 -20
  176. package/src/ai/copilot.model.d.ts +0 -36
  177. package/src/ai/feature.model.d.ts +0 -6
  178. package/src/ai/index.d.ts +0 -38
  179. package/src/ai/knowledge-doc-page.model.d.ts +0 -15
  180. package/src/ai/knowledge-doc.model.d.ts +0 -177
  181. package/src/ai/knowledge-pipeline.d.ts +0 -100
  182. package/src/ai/knowledge-retrieval-log.model.d.ts +0 -10
  183. package/src/ai/knowledgebase-task.model.d.ts +0 -36
  184. package/src/ai/knowledgebase.model.d.ts +0 -160
  185. package/src/ai/rag-web.d.ts +0 -26
  186. package/src/ai/rag.d.ts +0 -24
  187. package/src/ai/role-permissions.d.ts +0 -13
  188. package/src/ai/types.d.ts +0 -39
  189. package/src/ai/xpert-agent-execution.model.d.ts +0 -96
  190. package/src/ai/xpert-agent.model.d.ts +0 -192
  191. package/src/ai/xpert-project.model.d.ts +0 -86
  192. package/src/ai/xpert-task.model.d.ts +0 -26
  193. package/src/ai/xpert-template.model.d.ts +0 -47
  194. package/src/ai/xpert-tool-mcp.model.d.ts +0 -67
  195. package/src/ai/xpert-tool.model.d.ts +0 -147
  196. package/src/ai/xpert-toolset.model.d.ts +0 -200
  197. package/src/ai/xpert-workflow-task.prompt.d.ts +0 -2
  198. package/src/ai/xpert-workflow.model.d.ts +0 -365
  199. package/src/ai/xpert-workspace.model.d.ts +0 -32
  200. package/src/ai/xpert.model.d.ts +0 -497
  201. package/src/ai/xpert.utils.d.ts +0 -80
  202. package/src/analytics/ai.d.ts +0 -73
  203. package/src/analytics/approval-policy.model.d.ts +0 -30
  204. package/src/analytics/business-area-user.model.d.ts +0 -35
  205. package/src/analytics/business-area.d.ts +0 -17
  206. package/src/analytics/certification.model.d.ts +0 -11
  207. package/src/analytics/chatbi-conversation.model.d.ts +0 -15
  208. package/src/analytics/chatbi-model.model.d.ts +0 -18
  209. package/src/analytics/collection.model.d.ts +0 -6
  210. package/src/analytics/comment.model.d.ts +0 -10
  211. package/src/analytics/data-source-type.d.ts +0 -16
  212. package/src/analytics/data-source.d.ts +0 -62
  213. package/src/analytics/favorite.d.ts +0 -14
  214. package/src/analytics/features.d.ts +0 -19
  215. package/src/analytics/feed-model.d.ts +0 -13
  216. package/src/analytics/gateway.d.ts +0 -27
  217. package/src/analytics/index.d.ts +0 -38
  218. package/src/analytics/indicator-app.d.ts +0 -44
  219. package/src/analytics/indicator.d.ts +0 -106
  220. package/src/analytics/model-query-log.model.d.ts +0 -41
  221. package/src/analytics/model-query.d.ts +0 -21
  222. package/src/analytics/permission-approval.model.d.ts +0 -47
  223. package/src/analytics/project.model.d.ts +0 -50
  224. package/src/analytics/role-permissions.d.ts +0 -25
  225. package/src/analytics/schema.d.ts +0 -262
  226. package/src/analytics/screenshot.model.d.ts +0 -25
  227. package/src/analytics/semantic-model-entity.d.ts +0 -37
  228. package/src/analytics/semantic-model-member.d.ts +0 -24
  229. package/src/analytics/semantic-model.d.ts +0 -175
  230. package/src/analytics/story-template.model.d.ts +0 -28
  231. package/src/analytics/story-widget.d.ts +0 -12
  232. package/src/analytics/story.d.ts +0 -93
  233. package/src/analytics/subscription.d.ts +0 -38
  234. package/src/analytics/visit.model.d.ts +0 -34
  235. package/src/analytics/webSocket.d.ts +0 -48
  236. package/src/api-key.model.d.ts +0 -10
  237. package/src/base-entity.model.d.ts +0 -27
  238. package/src/contact.model.d.ts +0 -41
  239. package/src/core.model.d.ts +0 -97
  240. package/src/currency.model.d.ts +0 -579
  241. package/src/date-picker.model.d.ts +0 -5
  242. package/src/email-template.model.d.ts +0 -39
  243. package/src/email.model.d.ts +0 -36
  244. package/src/employee.model.d.ts +0 -128
  245. package/src/entity-with-members.model.d.ts +0 -13
  246. package/src/feature.model.d.ts +0 -93
  247. package/src/file-provider.d.ts +0 -33
  248. package/src/help-center-article.model.d.ts +0 -0
  249. package/src/help-center.model.d.ts +0 -0
  250. package/src/http-status.enum.d.ts +0 -57
  251. package/src/import-export.model.d.ts +0 -36
  252. package/src/index.d.ts +0 -48
  253. package/src/integration/dify.d.ts +0 -0
  254. package/src/integration/dingtalk.d.ts +0 -2
  255. package/src/integration/fastgpt.d.ts +0 -0
  256. package/src/integration/firecrawl.d.ts +0 -2
  257. package/src/integration/github.d.ts +0 -69
  258. package/src/integration/index.d.ts +0 -4
  259. package/src/integration/lark.d.ts +0 -11
  260. package/src/integration/ragflow.d.ts +0 -0
  261. package/src/integration/wecom.d.ts +0 -2
  262. package/src/integration.model.d.ts +0 -86
  263. package/src/invite.model.d.ts +0 -123
  264. package/src/language.model.d.ts +0 -19
  265. package/src/organization-contact.model.d.ts +0 -73
  266. package/src/organization-language.model.d.ts +0 -18
  267. package/src/organization-projects.model.d.ts +0 -80
  268. package/src/organization-team-employee-model.d.ts +0 -12
  269. package/src/organization-team-model.d.ts +0 -19
  270. package/src/organization.model.d.ts +0 -239
  271. package/src/password-reset.model.d.ts +0 -18
  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 -240
  285. package/src/user-organization.model.d.ts +0 -24
  286. package/src/user.model.d.ts +0 -128
  287. package/src/visibility.model.d.ts +0 -6
@@ -0,0 +1,258 @@
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
+ variable?: string
170
+ resolution?: 'high' | 'low'
171
+ }
172
+ }
173
+
174
+ export type TAgentPromptTemplate = {
175
+ id: string;
176
+ role: 'ai' | 'human';
177
+ text: string
178
+ }
179
+
180
+ export type TAgentOutputVariable = TXpertParameter & {
181
+ /**
182
+ * value write to state's variable
183
+ */
184
+ variableSelector: string
185
+ /**
186
+ * How to write value to variable
187
+ */
188
+ operation: 'append' | 'extends' | 'overwrite' | 'clear'
189
+ }
190
+
191
+ /**
192
+ * @deprecated use TChatRequest
193
+ */
194
+ export type TChatAgentParams = {
195
+ input: {
196
+ input?: string
197
+ [key: string]: unknown
198
+ }
199
+ agentKey: string
200
+ xpertId: string
201
+ executionId?: string
202
+ environmentId?: string
203
+ /**
204
+ */
205
+ command?: TInterruptCommand
206
+ /**
207
+ * Reject the sensitive tool calls
208
+ */
209
+ reject?: boolean
210
+ }
211
+
212
+ export function agentLabel(agent: Partial<IXpertAgent>) {
213
+ return agent.title || agent.name || agent.key
214
+ }
215
+
216
+ export function agentUniqueName(agent: IXpertAgent) {
217
+ return agent ? (convertToUrlPath(agent.name) || agent.key) : null
218
+ }
219
+
220
+ export function convertToUrlPath(title: string) {
221
+ return title?.toLowerCase() // Convert to lowercase
222
+ .replace(/\s+/g, '-') // Replace spaces with -
223
+ .replace(/[^a-z0-9-]/g, ''); // Remove non-alphanumeric characters
224
+ }
225
+
226
+ export const VariableOperations: {
227
+ value: TAgentOutputVariable['operation'];
228
+ label: I18nObject
229
+ }[] = [
230
+ {
231
+ value: 'append',
232
+ label: {
233
+ zh_Hans: '追加',
234
+ en_US: 'Append'
235
+ }
236
+ },
237
+ {
238
+ value: 'extends',
239
+ label: {
240
+ zh_Hans: '扩展',
241
+ en_US: 'Extend'
242
+ }
243
+ },
244
+ {
245
+ value: 'overwrite',
246
+ label: {
247
+ zh_Hans: '覆盖',
248
+ en_US: 'Overwrite'
249
+ }
250
+ },
251
+ {
252
+ value: 'clear',
253
+ label: {
254
+ zh_Hans: '清除',
255
+ en_US: 'Clear'
256
+ }
257
+ }
258
+ ]
@@ -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,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,72 @@
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
+ }