@metad/contracts 3.6.7 → 3.8.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (293) hide show
  1. package/README.md +2 -2
  2. package/index.cjs.d.ts +1 -0
  3. package/index.cjs.js +4044 -5
  4. package/index.esm.d.ts +1 -0
  5. package/index.esm.js +3911 -0
  6. package/package.json +6 -2
  7. package/src/agent/{ai-model.ts → ai-model.d.ts} +2 -2
  8. package/src/agent/graph.d.ts +167 -0
  9. package/src/agent/index.d.ts +6 -0
  10. package/src/agent/interrupt.d.ts +51 -0
  11. package/src/agent/token.d.ts +21 -0
  12. package/src/agent/utils.d.ts +19 -0
  13. package/src/agent/variables.d.ts +16 -0
  14. package/src/ai/ai-model.model.d.ts +198 -0
  15. package/src/ai/ai-provider.model.d.ts +43 -0
  16. package/src/ai/ai.model.d.ts +82 -0
  17. package/src/ai/chat-message-feedback.model.d.ts +24 -0
  18. package/src/ai/chat-message.model.d.ts +92 -0
  19. package/src/ai/chat.model.d.ts +185 -0
  20. package/src/ai/copilot-checkpoint.model.d.ts +23 -0
  21. package/src/ai/copilot-example.model.d.ts +19 -0
  22. package/src/ai/copilot-model.model.d.ts +30 -0
  23. package/src/ai/copilot-organization.model.d.ts +17 -0
  24. package/src/ai/copilot-provider.model.d.ts +31 -0
  25. package/src/ai/copilot-role.model.d.ts +43 -0
  26. package/src/ai/copilot-store.model.d.ts +29 -0
  27. package/src/ai/copilot-user.model.d.ts +27 -0
  28. package/src/ai/copilot.model.d.ts +36 -0
  29. package/src/ai/{environment.model.ts → environment.model.d.ts} +10 -12
  30. package/src/ai/feature.model.d.ts +6 -0
  31. package/src/ai/index.d.ts +44 -0
  32. package/src/ai/knowledge-doc-chunk.model.d.ts +61 -0
  33. package/src/ai/knowledge-doc-page.model.d.ts +15 -0
  34. package/src/ai/knowledge-doc.model.d.ts +222 -0
  35. package/src/ai/knowledge-pipeline.d.ts +107 -0
  36. package/src/ai/knowledge-retrieval-log.model.d.ts +10 -0
  37. package/src/ai/knowledgebase-task.model.d.ts +39 -0
  38. package/src/ai/knowledgebase.model.d.ts +174 -0
  39. package/src/ai/middleware.model.d.ts +23 -0
  40. package/src/ai/rag-web.d.ts +26 -0
  41. package/src/ai/rag.d.ts +24 -0
  42. package/src/ai/role-permissions.d.ts +13 -0
  43. package/src/ai/sandbox.d.ts +6 -0
  44. package/src/ai/skill.model.d.ts +181 -0
  45. package/src/ai/types.d.ts +77 -0
  46. package/src/ai/xpert-agent-execution.model.d.ts +96 -0
  47. package/src/ai/xpert-agent.model.d.ts +222 -0
  48. package/src/ai/xpert-project.model.d.ts +86 -0
  49. package/src/ai/xpert-table.model.d.ts +84 -0
  50. package/src/ai/xpert-task.model.d.ts +26 -0
  51. package/src/ai/xpert-template.model.d.ts +47 -0
  52. package/src/ai/xpert-tool-mcp.model.d.ts +72 -0
  53. package/src/ai/xpert-tool.model.d.ts +154 -0
  54. package/src/ai/xpert-toolset.model.d.ts +200 -0
  55. package/src/ai/xpert-workflow-task.prompt.d.ts +2 -0
  56. package/src/ai/xpert-workflow.model.d.ts +445 -0
  57. package/src/ai/xpert-workspace.model.d.ts +32 -0
  58. package/src/ai/xpert.model.d.ts +502 -0
  59. package/src/ai/xpert.utils.d.ts +84 -0
  60. package/src/analytics/ai.d.ts +73 -0
  61. package/src/analytics/approval-policy.model.d.ts +30 -0
  62. package/src/analytics/business-area-user.model.d.ts +35 -0
  63. package/src/analytics/business-area.d.ts +17 -0
  64. package/src/analytics/certification.model.d.ts +11 -0
  65. package/src/analytics/chatbi-conversation.model.d.ts +15 -0
  66. package/src/analytics/chatbi-model.model.d.ts +18 -0
  67. package/src/analytics/collection.model.d.ts +6 -0
  68. package/src/analytics/comment.model.d.ts +10 -0
  69. package/src/analytics/data-source-type.d.ts +16 -0
  70. package/src/analytics/data-source.d.ts +62 -0
  71. package/src/analytics/favorite.d.ts +14 -0
  72. package/src/analytics/features.d.ts +19 -0
  73. package/src/analytics/feed-model.d.ts +13 -0
  74. package/src/analytics/gateway.d.ts +28 -0
  75. package/src/analytics/index.d.ts +38 -0
  76. package/src/analytics/indicator-app.d.ts +44 -0
  77. package/src/analytics/{indicator-market.ts → indicator-market.d.ts} +2 -6
  78. package/src/analytics/indicator.d.ts +105 -0
  79. package/src/analytics/model-query-log.model.d.ts +41 -0
  80. package/src/analytics/model-query.d.ts +21 -0
  81. package/src/analytics/{notification-destination.ts → notification-destination.d.ts} +5 -9
  82. package/src/analytics/{permission-approval-user.model.ts → permission-approval-user.model.d.ts} +8 -10
  83. package/src/analytics/permission-approval.model.d.ts +47 -0
  84. package/src/analytics/project.model.d.ts +50 -0
  85. package/src/analytics/role-permissions.d.ts +25 -0
  86. package/src/analytics/schema.d.ts +262 -0
  87. package/src/analytics/screenshot.model.d.ts +25 -0
  88. package/src/analytics/semantic-model-entity.d.ts +38 -0
  89. package/src/analytics/semantic-model-member.d.ts +27 -0
  90. package/src/analytics/semantic-model.d.ts +183 -0
  91. package/src/analytics/{story-point.ts → story-point.d.ts} +6 -11
  92. package/src/analytics/story-template.model.d.ts +28 -0
  93. package/src/analytics/story-widget.d.ts +12 -0
  94. package/src/analytics/story.d.ts +93 -0
  95. package/src/analytics/subscription.d.ts +38 -0
  96. package/src/analytics/visit.model.d.ts +34 -0
  97. package/src/analytics/webSocket.d.ts +48 -0
  98. package/src/api-key.model.d.ts +10 -0
  99. package/src/base-entity.model.d.ts +27 -0
  100. package/src/contact.model.d.ts +41 -0
  101. package/src/core.model.d.ts +97 -0
  102. package/src/{country.model.ts → country.model.d.ts} +2 -3
  103. package/src/currency.model.d.ts +579 -0
  104. package/src/{custom-smtp.model.ts → custom-smtp.model.d.ts} +17 -21
  105. package/src/date-picker.model.d.ts +5 -0
  106. package/src/email-template.model.d.ts +39 -0
  107. package/src/email.model.d.ts +36 -0
  108. package/src/employee.model.d.ts +128 -0
  109. package/src/entity-with-members.model.d.ts +13 -0
  110. package/src/feature.model.d.ts +93 -0
  111. package/src/file-provider.d.ts +33 -0
  112. package/src/help-center-article.model.d.ts +0 -0
  113. package/src/help-center.model.d.ts +0 -0
  114. package/src/http-status.enum.d.ts +57 -0
  115. package/src/import-export.model.d.ts +36 -0
  116. package/src/index.d.ts +48 -0
  117. package/src/integration/dify.d.ts +0 -0
  118. package/src/integration/dingtalk.d.ts +2 -0
  119. package/src/integration/fastgpt.d.ts +0 -0
  120. package/src/integration/firecrawl.d.ts +2 -0
  121. package/src/integration/github.d.ts +69 -0
  122. package/src/integration/index.d.ts +4 -0
  123. package/src/integration/lark.d.ts +5 -0
  124. package/src/integration/wecom.d.ts +2 -0
  125. package/src/integration.model.d.ts +85 -0
  126. package/src/invite.model.d.ts +123 -0
  127. package/src/language.model.d.ts +19 -0
  128. package/src/organization-contact.model.d.ts +72 -0
  129. package/src/{organization-department.model.ts → organization-department.model.d.ts} +10 -16
  130. package/src/organization-language.model.d.ts +18 -0
  131. package/src/organization-projects.model.d.ts +80 -0
  132. package/src/organization-team-employee-model.d.ts +12 -0
  133. package/src/organization-team-model.d.ts +19 -0
  134. package/src/organization.model.d.ts +238 -0
  135. package/src/{password-reset.model.ts → password-reset.model.d.ts} +10 -14
  136. package/src/{plain-object.model.ts → plain-object.model.d.ts} +1 -1
  137. package/src/plugin.d.ts +21 -0
  138. package/src/role-permission.model.d.ts +61 -0
  139. package/src/role.model.d.ts +26 -0
  140. package/src/schedule.d.ts +27 -0
  141. package/src/secret-token.model.d.ts +11 -0
  142. package/src/seed.model.d.ts +37 -0
  143. package/src/storage-file.model.d.ts +40 -0
  144. package/src/tag-entity.model.d.ts +20 -0
  145. package/src/tenant.model.d.ts +40 -0
  146. package/src/tools/index.d.ts +1 -0
  147. package/src/tools/sandbox.d.ts +5 -0
  148. package/src/translation.model.d.ts +26 -0
  149. package/src/types.d.ts +245 -0
  150. package/src/user-organization.model.d.ts +24 -0
  151. package/src/user.model.d.ts +131 -0
  152. package/src/visibility.model.d.ts +6 -0
  153. package/.babelrc +0 -5
  154. package/.eslintrc.json +0 -18
  155. package/babel.config.json +0 -1
  156. package/jest.config.ts +0 -16
  157. package/project.json +0 -53
  158. package/src/agent/graph.ts +0 -275
  159. package/src/agent/index.ts +0 -5
  160. package/src/agent/token.ts +0 -23
  161. package/src/agent/utils.spec.ts +0 -283
  162. package/src/agent/utils.ts +0 -122
  163. package/src/agent/variables.ts +0 -66
  164. package/src/ai/ai-model.model.ts +0 -232
  165. package/src/ai/ai-provider.model.ts +0 -53
  166. package/src/ai/ai.model.ts +0 -87
  167. package/src/ai/chat-message-feedback.model.ts +0 -31
  168. package/src/ai/chat-message.model.ts +0 -277
  169. package/src/ai/chat.model.ts +0 -207
  170. package/src/ai/copilot-checkpoint.model.ts +0 -25
  171. package/src/ai/copilot-example.model.ts +0 -23
  172. package/src/ai/copilot-model.model.ts +0 -31
  173. package/src/ai/copilot-organization.model.ts +0 -21
  174. package/src/ai/copilot-provider.model.ts +0 -46
  175. package/src/ai/copilot-role.model.ts +0 -48
  176. package/src/ai/copilot-store.model.ts +0 -34
  177. package/src/ai/copilot-user.model.ts +0 -24
  178. package/src/ai/copilot.model.ts +0 -47
  179. package/src/ai/feature.model.ts +0 -6
  180. package/src/ai/index.ts +0 -40
  181. package/src/ai/knowledge-doc-chunk.model.ts +0 -123
  182. package/src/ai/knowledge-doc-chunk.spec.ts +0 -47
  183. package/src/ai/knowledge-doc-page.model.ts +0 -20
  184. package/src/ai/knowledge-doc.model.ts +0 -364
  185. package/src/ai/knowledge-pipeline.ts +0 -138
  186. package/src/ai/knowledge-retrieval-log.model.ts +0 -19
  187. package/src/ai/knowledgebase-task.model.ts +0 -46
  188. package/src/ai/knowledgebase.model.ts +0 -205
  189. package/src/ai/rag-web.ts +0 -54
  190. package/src/ai/rag.ts +0 -24
  191. package/src/ai/role-permissions.ts +0 -13
  192. package/src/ai/types.ts +0 -83
  193. package/src/ai/xpert-agent-execution.model.ts +0 -115
  194. package/src/ai/xpert-agent.model.ts +0 -264
  195. package/src/ai/xpert-project.model.ts +0 -103
  196. package/src/ai/xpert-table.model.ts +0 -100
  197. package/src/ai/xpert-task.model.ts +0 -32
  198. package/src/ai/xpert-template.model.ts +0 -53
  199. package/src/ai/xpert-tool-mcp.model.ts +0 -77
  200. package/src/ai/xpert-tool.model.ts +0 -216
  201. package/src/ai/xpert-toolset.model.ts +0 -220
  202. package/src/ai/xpert-workflow-task.prompt.ts +0 -71
  203. package/src/ai/xpert-workflow.model.ts +0 -502
  204. package/src/ai/xpert-workspace.model.ts +0 -42
  205. package/src/ai/xpert.model.ts +0 -637
  206. package/src/ai/xpert.utils.ts +0 -214
  207. package/src/analytics/ai.ts +0 -79
  208. package/src/analytics/approval-policy.model.ts +0 -40
  209. package/src/analytics/business-area-user.model.ts +0 -43
  210. package/src/analytics/business-area.ts +0 -20
  211. package/src/analytics/certification.model.ts +0 -12
  212. package/src/analytics/chatbi-conversation.model.ts +0 -16
  213. package/src/analytics/chatbi-model.model.ts +0 -22
  214. package/src/analytics/collection.model.ts +0 -8
  215. package/src/analytics/comment.model.ts +0 -14
  216. package/src/analytics/data-source-type.ts +0 -19
  217. package/src/analytics/data-source.ts +0 -72
  218. package/src/analytics/favorite.ts +0 -18
  219. package/src/analytics/features.ts +0 -19
  220. package/src/analytics/feed-model.ts +0 -15
  221. package/src/analytics/gateway.ts +0 -31
  222. package/src/analytics/index.ts +0 -39
  223. package/src/analytics/indicator-app.ts +0 -49
  224. package/src/analytics/indicator.ts +0 -143
  225. package/src/analytics/model-query-log.model.ts +0 -45
  226. package/src/analytics/model-query.ts +0 -22
  227. package/src/analytics/permission-approval.model.ts +0 -58
  228. package/src/analytics/project.model.ts +0 -56
  229. package/src/analytics/role-permissions.ts +0 -36
  230. package/src/analytics/schema.ts +0 -300
  231. package/src/analytics/screenshot.model.ts +0 -28
  232. package/src/analytics/semantic-model-entity.ts +0 -50
  233. package/src/analytics/semantic-model-member.ts +0 -49
  234. package/src/analytics/semantic-model.ts +0 -237
  235. package/src/analytics/story-template.model.ts +0 -34
  236. package/src/analytics/story-widget.ts +0 -15
  237. package/src/analytics/story.ts +0 -109
  238. package/src/analytics/subscription.ts +0 -43
  239. package/src/analytics/visit.model.ts +0 -39
  240. package/src/analytics/webSocket.ts +0 -53
  241. package/src/api-key.model.ts +0 -11
  242. package/src/base-entity.model.ts +0 -34
  243. package/src/contact.model.ts +0 -45
  244. package/src/core.model.ts +0 -103
  245. package/src/currency.model.ts +0 -582
  246. package/src/date-picker.model.ts +0 -5
  247. package/src/email-template.model.ts +0 -50
  248. package/src/email.model.ts +0 -46
  249. package/src/employee.model.ts +0 -199
  250. package/src/entity-with-members.model.ts +0 -16
  251. package/src/feature.model.ts +0 -108
  252. package/src/file-provider.ts +0 -37
  253. package/src/help-center-article.model.ts +0 -35
  254. package/src/help-center.model.ts +0 -33
  255. package/src/http-status.enum.ts +0 -58
  256. package/src/import-export.model.ts +0 -42
  257. package/src/index.ts +0 -60
  258. package/src/integration/dify.ts +0 -31
  259. package/src/integration/dingtalk.ts +0 -16
  260. package/src/integration/fastgpt.ts +0 -32
  261. package/src/integration/firecrawl.ts +0 -46
  262. package/src/integration/github.ts +0 -149
  263. package/src/integration/index.ts +0 -15
  264. package/src/integration/lark.ts +0 -79
  265. package/src/integration/wecom.ts +0 -16
  266. package/src/integration.model.ts +0 -119
  267. package/src/invite.model.ts +0 -144
  268. package/src/language.model.ts +0 -22
  269. package/src/organization-contact.model.ts +0 -84
  270. package/src/organization-language.model.ts +0 -24
  271. package/src/organization-projects.model.ts +0 -99
  272. package/src/organization-team-employee-model.ts +0 -14
  273. package/src/organization-team-model.ts +0 -25
  274. package/src/organization.model.ts +0 -266
  275. package/src/plugin.ts +0 -15
  276. package/src/role-permission.model.ts +0 -123
  277. package/src/role.model.ts +0 -31
  278. package/src/schedule.ts +0 -71
  279. package/src/secret-token.model.ts +0 -15
  280. package/src/seed.model.ts +0 -50
  281. package/src/storage-file.model.ts +0 -46
  282. package/src/tag-entity.model.ts +0 -23
  283. package/src/tenant.model.ts +0 -52
  284. package/src/tools/index.ts +0 -1
  285. package/src/tools/sandbox.ts +0 -5
  286. package/src/translation.model.ts +0 -37
  287. package/src/types.ts +0 -277
  288. package/src/user-organization.model.ts +0 -31
  289. package/src/user.model.ts +0 -151
  290. package/src/visibility.model.ts +0 -6
  291. package/tsconfig.json +0 -22
  292. package/tsconfig.lib.json +0 -10
  293. package/tsconfig.spec.json +0 -9
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@metad/contracts",
3
- "version": "3.6.7",
3
+ "version": "3.8.0",
4
4
  "license": "AGPL-3.0",
5
5
  "repository": {
6
6
  "type": "git",
@@ -13,5 +13,9 @@
13
13
  "docs": "yarn typedoc --out ./.docs"
14
14
  },
15
15
  "module": "./index.esm.js",
16
- "main": "./index.cjs.js"
16
+ "main": "./index.cjs.js",
17
+ "dependencies": {
18
+ "@a2ui/lit": "^0.8.1",
19
+ "@xpert-ai/chatkit-types": "^0.0.12"
20
+ }
17
21
  }
@@ -1,4 +1,4 @@
1
- export enum AiModelTypeEnum {
1
+ export declare enum AiModelTypeEnum {
2
2
  LLM = "llm",
3
3
  TEXT_EMBEDDING = "text-embedding",
4
4
  RERANK = "rerank",
@@ -6,4 +6,4 @@ export enum AiModelTypeEnum {
6
6
  MODERATION = "moderation",
7
7
  TTS = "tts",
8
8
  TEXT2IMG = "text2img"
9
- }
9
+ }
@@ -0,0 +1,167 @@
1
+ import { BaseMessage } from '@langchain/core/messages';
2
+ import { RunnableConfig } from '@langchain/core/runnables';
3
+ import { TMessageContentComplex } from '@xpert-ai/chatkit-types';
4
+ import { Subscriber } from 'rxjs';
5
+ import { TWorkflowVarGroup } from '../ai/xpert-workflow.model';
6
+ import { TXpertGraph } from '../ai/xpert.model';
7
+ import { IXpertAgent } from '../ai/xpert-agent.model';
8
+ /**
9
+ * @deprecated can use getCurrentTaskInput instead?
10
+ */
11
+ export declare const CONTEXT_VARIABLE_CURRENTSTATE = "currentState";
12
+ export declare const STATE_VARIABLE_SYS = "sys";
13
+ export declare const GRAPH_NODE_SUMMARIZE_CONVERSATION = "summarize_conversation";
14
+ export declare const GRAPH_NODE_TITLE_CONVERSATION = "title_conversation";
15
+ export declare const STATE_VARIABLE_FILES = "files";
16
+ export declare const STATE_VARIABLE_INPUT = "input";
17
+ export declare const STATE_SYS_VOLUME = "volume";
18
+ /**
19
+ * Workspace path in sandbox environment
20
+ */
21
+ export declare const STATE_SYS_WORKSPACE_PATH = "workspace_path";
22
+ /**
23
+ * URL for workspace files in sandbox environment
24
+ */
25
+ export declare const STATE_SYS_WORKSPACE_URL = "workspace_url";
26
+ export declare const STATE_VARIABLE_TITLE_CHANNEL: string;
27
+ export type TMessageChannel = {
28
+ system: string;
29
+ messages: BaseMessage[];
30
+ summary?: string;
31
+ error?: string | null;
32
+ };
33
+ export type TSandboxConfigurable = {
34
+ provider?: string;
35
+ workingDirectory?: string;
36
+ backend?: unknown;
37
+ };
38
+ export type TAgentRunnableConfigurable = {
39
+ /**
40
+ * Thread id
41
+ */
42
+ thread_id: string;
43
+ checkpoint_ns: string;
44
+ checkpoint_id: string;
45
+ tool_call_id?: string;
46
+ tenantId: string;
47
+ organizationId: string;
48
+ language: string;
49
+ userId: string;
50
+ /**
51
+ * Xpert project id
52
+ */
53
+ projectId?: string;
54
+ xpertId?: string;
55
+ agentKey: string;
56
+ xpertName?: string;
57
+ toolName?: string;
58
+ subscriber: Subscriber<any>;
59
+ /**
60
+ * Execution id of agent workflow node
61
+ */
62
+ executionId: string;
63
+ /**
64
+ * Sandbox backend context
65
+ */
66
+ sandbox?: TSandboxConfigurable;
67
+ signal?: AbortSignal;
68
+ };
69
+ /**
70
+ * @deprecated use import { type ToolCall } from '@langchain/core/messages/tool';
71
+ */
72
+ export type TToolCall = {
73
+ id?: string;
74
+ name: string;
75
+ type?: 'tool_call';
76
+ args: Record<string, any>;
77
+ };
78
+ export declare function channelName(name: string): string;
79
+ export declare function messageContentText(content: string | TMessageContentComplex): any;
80
+ /**
81
+ * Get workspace folder for sandbox from runnable configurable
82
+ *
83
+ * @param configurable
84
+ * @returns
85
+ */
86
+ export declare function getWorkspaceFromRunnable(configurable: TAgentRunnableConfigurable): {
87
+ type?: 'project' | 'conversation';
88
+ id?: string;
89
+ };
90
+ export declare function getToolCallFromConfig(config: any): TToolCall;
91
+ export declare function getToolCallIdFromConfig(config: any): string;
92
+ /**
93
+ * Compute long-term memory namespace:
94
+ * 1. When a user talks to a digital expert individually, use `ExpertId` + `UserId` to store memory
95
+ * 2. When talking to a digital expert in a project, all users and digital experts share `ProjectId` to store memory
96
+ *
97
+ * @param config
98
+ * @returns
99
+ */
100
+ export declare function getStoreNamespace(config: RunnableConfig): string[];
101
+ export declare function configurableStoreNamespace(configurable: Partial<TAgentRunnableConfigurable>): string[];
102
+ /**
103
+ * Set value into variable of state.
104
+ *
105
+ * @param state
106
+ * @param varName
107
+ * @param value
108
+ * @returns
109
+ */
110
+ export declare function setStateVariable(state: Record<string, any>, varName: string, value: any): Record<string, any>;
111
+ /**
112
+ * Get agent variable group from graph.
113
+ *
114
+ * @param key
115
+ * @param graph
116
+ * @returns
117
+ */
118
+ export declare function getAgentVarGroup(key: string, graph: TXpertGraph): TWorkflowVarGroup;
119
+ /**
120
+ * Get swarm partners of agent in team
121
+ *
122
+ * @param graph
123
+ * @param agentKey
124
+ */
125
+ export declare function getSwarmPartners(graph: TXpertGraph, agentKey: string, partners: string[], leaderKey?: string): string[];
126
+ export declare function getWorkflowTriggers(graph: TXpertGraph, from: string): ((import("../ai/xpert.model").TXpertTeamNodeBase & {
127
+ type: "agent";
128
+ } & {
129
+ entity: IXpertAgent;
130
+ }) | (import("../ai/xpert.model").TXpertTeamNodeBase & {
131
+ type: "knowledge";
132
+ } & {
133
+ entity: import("..").IKnowledgebase;
134
+ }) | (import("../ai/xpert.model").TXpertTeamNodeBase & {
135
+ type: "toolset";
136
+ } & {
137
+ entity: import("..").IXpertToolset;
138
+ }) | (import("../ai/xpert.model").TXpertTeamNodeBase & {
139
+ type: "xpert";
140
+ } & {
141
+ entity: import("../ai/xpert.model").IXpert;
142
+ nodes?: ((import("../ai/xpert.model").TXpertTeamNodeBase & {
143
+ type: "agent";
144
+ } & {
145
+ entity: IXpertAgent;
146
+ }) | (import("../ai/xpert.model").TXpertTeamNodeBase & {
147
+ type: "knowledge";
148
+ } & {
149
+ entity: import("..").IKnowledgebase;
150
+ }) | (import("../ai/xpert.model").TXpertTeamNodeBase & {
151
+ type: "toolset";
152
+ } & {
153
+ entity: import("..").IXpertToolset;
154
+ }) | (import("../ai/xpert.model").TXpertTeamNodeBase & {
155
+ type: "xpert";
156
+ } & any) | (import("../ai/xpert.model").TXpertTeamNodeBase & {
157
+ type: "workflow";
158
+ } & {
159
+ entity: import("../ai/xpert-workflow.model").IWorkflowNode;
160
+ }))[];
161
+ connections?: import("../ai/xpert.model").TXpertTeamConnection[];
162
+ expanded?: boolean;
163
+ }) | (import("../ai/xpert.model").TXpertTeamNodeBase & {
164
+ type: "workflow";
165
+ } & {
166
+ entity: import("../ai/xpert-workflow.model").IWorkflowNode;
167
+ }))[];
@@ -0,0 +1,6 @@
1
+ export * from './ai-model';
2
+ export * from './token';
3
+ export * from './graph';
4
+ export * from './utils';
5
+ export * from './variables';
6
+ export * from './interrupt';
@@ -0,0 +1,51 @@
1
+ import { I18nObject } from '../types';
2
+ export type TInterrupt<T = unknown> = {
3
+ id?: string;
4
+ value?: T;
5
+ when?: 'during';
6
+ resumable?: boolean;
7
+ ns?: string[];
8
+ };
9
+ /**
10
+ *
11
+ * Example:
12
+ *
13
+ * ```typescript
14
+ * const result = interrupt<TInterruptMessage<{ name: string }>, { projectId: string }>({
15
+ * category: 'BI',
16
+ * type: 'switch_project',
17
+ * title: {
18
+ * en_US: 'Switch project',
19
+ * zh_Hans: '切换项目'
20
+ * },
21
+ * message: {
22
+ * en_US: 'Please select a project or create a new one',
23
+ * zh_Hans: '请选择或创建一个新的项目'
24
+ * },
25
+ * data: { name: '' }
26
+ * })
27
+ * ```
28
+ */
29
+ export type TInterruptMessage<T = unknown> = {
30
+ /**
31
+ * Major categories of interrupt components
32
+ */
33
+ category: 'BI';
34
+ /**
35
+ * The specific type of interactive component
36
+ */
37
+ type: string;
38
+ /**
39
+ * Title of the interrupt component
40
+ */
41
+ title: string | I18nObject;
42
+ /**
43
+ * Message content of the interrupt component
44
+ */
45
+ message: string | I18nObject;
46
+ /**
47
+ * Additional data
48
+ */
49
+ data?: T;
50
+ };
51
+ export declare function isInterruptMessage(obj: unknown): obj is TInterruptMessage;
@@ -0,0 +1,21 @@
1
+ export type TTokenUsage = {
2
+ promptTokens: number;
3
+ completionTokens: number;
4
+ totalTokens: number;
5
+ };
6
+ export interface IModelUsage {
7
+ totalTokens: number;
8
+ totalPrice: number;
9
+ currency: string;
10
+ latency: number;
11
+ }
12
+ export interface ILLMUsage extends IModelUsage {
13
+ promptTokens: number;
14
+ promptUnitPrice: number;
15
+ promptPriceUnit: number;
16
+ promptPrice: number;
17
+ completionTokens: number;
18
+ completionUnitPrice: number;
19
+ completionPriceUnit: number;
20
+ completionPrice: number;
21
+ }
@@ -0,0 +1,19 @@
1
+ import { TXpertGraph } from '../ai/xpert.model';
2
+ import { DeepPartial } from '../types';
3
+ /**
4
+ * Channels of all upstream and downstream nodes relative to the starting point startKey.
5
+ *
6
+ * @param graph
7
+ * @param startKey
8
+ */
9
+ export declare function allChannels(graph: TXpertGraph, startKey: string): string[];
10
+ export declare function findStartNodes(graph: DeepPartial<TXpertGraph>, key: string): string[];
11
+ /**
12
+ * Keep the content in the same graph as the key node (including the node, its connected nodes, and the 'edge' type connections between them)
13
+ *
14
+ * @param graph
15
+ * @param key
16
+ * @returns
17
+ */
18
+ export declare function getCurrentGraph(graph: TXpertGraph, key: string): TXpertGraph;
19
+ export declare function shortTitle(input: string): string;
@@ -0,0 +1,16 @@
1
+ import { TWorkflowVarGroup } from "../ai/xpert-workflow.model";
2
+ import { TXpertParameter } from "../ai/xpert.model";
3
+ /**
4
+ *
5
+ * Returns the variable schema for a given variable name.
6
+ * The variable name can be in the format of 'groupName.variableName' or just 'variableName'.
7
+ *
8
+ * @param variables
9
+ * @param variable
10
+ * @returns
11
+ */
12
+ export declare function getVariableSchema(variables: TWorkflowVarGroup[], variable: string): {
13
+ group: TWorkflowVarGroup;
14
+ variable: import("../ai/xpert.model").TStateVariable;
15
+ };
16
+ export declare const FILE_VARIABLES: TXpertParameter[];
@@ -0,0 +1,198 @@
1
+ import { AiModelTypeEnum } from '../agent/index';
2
+ import { IBasePerTenantAndOrganizationEntityModel } from '../base-entity.model';
3
+ import { I18nObject } from '../types';
4
+ import { ICopilot } from './copilot.model';
5
+ export interface IAiModel extends IBasePerTenantAndOrganizationEntityModel {
6
+ /**
7
+ * Model name
8
+ */
9
+ name: string;
10
+ /**
11
+ * Model display name
12
+ */
13
+ label: string;
14
+ /**
15
+ * Model type
16
+ */
17
+ modelType: string;
18
+ /**
19
+ * Model features
20
+ */
21
+ features: string[];
22
+ /**
23
+ * Model properties
24
+ */
25
+ modelProperties: Record<string, any>;
26
+ /**
27
+ * Parameter rules
28
+ */
29
+ parameterRules: Record<string, any>[];
30
+ /**
31
+ * Pricing information
32
+ */
33
+ pricing: {
34
+ input: string;
35
+ output: string;
36
+ unit: string;
37
+ currency: string;
38
+ };
39
+ /**
40
+ * Deprecated
41
+ */
42
+ deprecated: boolean;
43
+ }
44
+ export declare enum ProviderType {
45
+ CUSTOM = "custom",
46
+ SYSTEM = "system"
47
+ }
48
+ export interface ICopilotWithProvider extends ICopilot {
49
+ providerWithModels: Partial<IAiProviderEntity>;
50
+ }
51
+ export interface IAiProviderEntity {
52
+ provider: string;
53
+ label: I18nObject;
54
+ description: I18nObject;
55
+ icon_small: I18nObject;
56
+ icon_large: I18nObject;
57
+ background: string;
58
+ help: ProviderHelpInfo;
59
+ supported_model_types: AiModelTypeEnum[];
60
+ configurate_methods: ConfigurateMethod[];
61
+ model_credential_schema: ModelCredentialSchema;
62
+ provider_credential_schema: ProviderCredentialSchema;
63
+ models: ProviderModel[];
64
+ /**
65
+ * Not yet implemented, your contribution is needed
66
+ */
67
+ not_implemented?: boolean;
68
+ }
69
+ export interface ProviderHelpInfo {
70
+ title: I18nObject;
71
+ url: I18nObject;
72
+ }
73
+ export interface ProviderModel {
74
+ model: string;
75
+ label: I18nObject;
76
+ model_type: AiModelTypeEnum;
77
+ features?: ModelFeature[];
78
+ fetch_from: FetchFrom;
79
+ model_properties: Partial<Record<ModelPropertyKey, any>>;
80
+ deprecated?: boolean;
81
+ modelConfig?: any;
82
+ }
83
+ export interface ProviderCredentialSchema {
84
+ credential_form_schemas: CredentialFormSchema[];
85
+ }
86
+ /**
87
+ * @todo Use JSON Schema to implement
88
+ */
89
+ export declare enum CredentialFormTypeEnum {
90
+ TEXT_INPUT = "text-input",
91
+ SECRET_INPUT = "secret-input",
92
+ SELECT = "select",
93
+ RADIO = "radio"
94
+ }
95
+ export interface CredentialFormSchema {
96
+ variable: string;
97
+ label: I18nObject;
98
+ type: CredentialFormTypeEnum | ParameterType;
99
+ required: boolean;
100
+ default?: number | string | boolean;
101
+ options?: {
102
+ label: I18nObject;
103
+ value: number | string | boolean;
104
+ show_on?: FormShowOnObject[];
105
+ }[];
106
+ placeholder: I18nObject;
107
+ max_length?: number;
108
+ show_on?: FormShowOnObject[];
109
+ }
110
+ export interface FormShowOnObject {
111
+ variable: string;
112
+ value: string;
113
+ }
114
+ export declare enum FetchFrom {
115
+ PREDEFINED_MODEL = "predefined-model",
116
+ CUSTOMIZABLE_MODEL = "customizable-model"
117
+ }
118
+ export declare enum ModelFeature {
119
+ TOOL_CALL = "tool-call",
120
+ MULTI_TOOL_CALL = "multi-tool-call",
121
+ AGENT_THOUGHT = "agent-thought",
122
+ VISION = "vision",
123
+ STREAM_TOOL_CALL = "stream-tool-call",
124
+ VIDEO = "video",
125
+ STRUCTURED_OUTPUT = "structured-output"
126
+ }
127
+ export declare enum ModelPropertyKey {
128
+ MODE = "mode",
129
+ CONTEXT_SIZE = "context_size",
130
+ MAX_CHUNKS = "max_chunks",
131
+ FILE_UPLOAD_LIMIT = "file_upload_limit",
132
+ SUPPORTED_FILE_EXTENSIONS = "supported_file_extensions",
133
+ MAX_CHARACTERS_PER_CHUNK = "max_characters_per_chunk",
134
+ DEFAULT_VOICE = "default_voice",
135
+ VOICES = "voices",
136
+ WORD_LIMIT = "word_limit",
137
+ AUDIO_TYPE = "audio_type",
138
+ MAX_WORKERS = "max_workers"
139
+ }
140
+ export declare enum ConfigurateMethod {
141
+ PREDEFINED_MODEL = "predefined-model",
142
+ CUSTOMIZABLE_MODEL = "customizable-model"
143
+ }
144
+ /**
145
+ * @todo Use JSON Schema to implement
146
+ */
147
+ export declare enum ParameterType {
148
+ FLOAT = "float",
149
+ INT = "int",
150
+ STRING = "string",
151
+ BOOLEAN = "boolean",
152
+ TEXT = "text"
153
+ }
154
+ /**
155
+ * @todo Use JSON Schema to implement
156
+ */
157
+ export interface ParameterRule {
158
+ name?: string;
159
+ useTemplate?: string;
160
+ label: I18nObject;
161
+ type: ParameterType;
162
+ help?: I18nObject;
163
+ required?: boolean;
164
+ default?: any;
165
+ min?: number;
166
+ max?: number;
167
+ precision?: number;
168
+ options?: string[];
169
+ }
170
+ export interface PriceConfig {
171
+ input: number;
172
+ output?: number;
173
+ unit: number;
174
+ currency: string;
175
+ }
176
+ export interface AIModelEntity extends ProviderModel {
177
+ parameter_rules?: ParameterRule[];
178
+ pricing?: PriceConfig;
179
+ }
180
+ export interface FieldModelSchema {
181
+ label: I18nObject;
182
+ placeholder?: I18nObject;
183
+ }
184
+ export interface ModelCredentialSchema {
185
+ model: FieldModelSchema;
186
+ credential_form_schemas: CredentialFormSchema[];
187
+ }
188
+ export declare const AI_MODEL_TYPE_VARIABLE = "__model_type";
189
+ export declare enum PriceType {
190
+ INPUT = "input",
191
+ OUTPUT = "output"
192
+ }
193
+ export interface PriceInfo {
194
+ unitPrice: number;
195
+ unit: number;
196
+ totalAmount: number;
197
+ currency: string;
198
+ }
@@ -0,0 +1,43 @@
1
+ import { IBasePerTenantAndOrganizationEntityModel } from '../base-entity.model';
2
+ export interface IAiProvider extends IBasePerTenantAndOrganizationEntityModel {
3
+ /**
4
+ * 供应商标识,如 'openai'
5
+ */
6
+ name: string;
7
+ /**
8
+ * 供应商展示名称
9
+ */
10
+ label: string;
11
+ /**
12
+ * 供应商描述
13
+ */
14
+ description: string;
15
+ /**
16
+ * 供应商小图标
17
+ */
18
+ iconSmall: string;
19
+ /**
20
+ * 供应商大图标
21
+ */
22
+ iconLarge: string;
23
+ /**
24
+ * 背景颜色
25
+ */
26
+ background: string;
27
+ /**
28
+ * 帮助信息标题
29
+ */
30
+ helpTitle: string;
31
+ /**
32
+ * 帮助信息URL
33
+ */
34
+ helpUrl: string;
35
+ /**
36
+ * 支持的模型类型
37
+ */
38
+ supportedModelTypes: string[];
39
+ /**
40
+ * 配置方式
41
+ */
42
+ configurateMethods: string[];
43
+ }
@@ -0,0 +1,82 @@
1
+ /**
2
+ * Business roles for AI copilot (commands or contexts)
3
+ */
4
+ export declare enum AiBusinessRole {
5
+ FinanceBP = "finance_bp",
6
+ SupplyChainExpert = "supply_chain_expert"
7
+ }
8
+ /**
9
+ * Providers for LLMs
10
+ *
11
+ * - https://js.langchain.com/docs/integrations/chat/
12
+ */
13
+ export declare enum AiProvider {
14
+ /**
15
+ * - https://js.langchain.com/docs/integrations/chat/openai/
16
+ */
17
+ OpenAI = "openai",
18
+ /**
19
+ * - https://js.langchain.com/docs/integrations/chat/openai/
20
+ */
21
+ Azure = "azure",
22
+ /**
23
+ * - https://ollama.com/
24
+ * - https://js.langchain.com/docs/integrations/chat/ollama/
25
+ */
26
+ Ollama = "ollama",
27
+ /**
28
+ * - https://www.deepseek.com/zh
29
+ * - https://js.langchain.com/docs/integrations/chat/openai/
30
+ */
31
+ DeepSeek = "deepseek",
32
+ /**
33
+ * - https://docs.anthropic.com/en/home
34
+ * - https://js.langchain.com/docs/integrations/chat/anthropic/
35
+ */
36
+ Anthropic = "anthropic",
37
+ /**
38
+ * - https://www.aliyun.com/product/bailian
39
+ * - https://js.langchain.com/docs/integrations/chat/alibaba_tongyi/
40
+ */
41
+ AlibabaTongyi = "alibaba_tongyi",
42
+ /**
43
+ * - https://open.bigmodel.cn/
44
+ * - https://js.langchain.com/docs/integrations/chat/openai/
45
+ */
46
+ Zhipu = "zhipu",
47
+ /**
48
+ * - https://qianfan.cloud.baidu.com/
49
+ * - https://js.langchain.com/docs/integrations/chat/baidu_qianfan/
50
+ */
51
+ BaiduQianfan = "baidu_qianfan",
52
+ /**
53
+ * - https://www.together.ai/
54
+ * - https://js.langchain.com/docs/integrations/chat/togetherai/
55
+ */
56
+ Together = "together",
57
+ /**
58
+ * - https://platform.moonshot.cn/console
59
+ * - https://js.langchain.com/docs/integrations/chat/openai/
60
+ */
61
+ Moonshot = "moonshot",
62
+ /**
63
+ * - https://groq.com/
64
+ * - https://js.langchain.com/docs/integrations/chat/openai/
65
+ */
66
+ Groq = "groq",
67
+ /**
68
+ * - https://mistral.ai/
69
+ *
70
+ */
71
+ Mistral = "mistral",
72
+ /**
73
+ * - https://cohere.com/
74
+ */
75
+ Cohere = "cohere"
76
+ }
77
+ export declare enum AiProtocol {
78
+ OpenAI = "openai",
79
+ Others = "others"
80
+ }
81
+ export declare const OpenAIEmbeddingsProviders: AiProvider[];
82
+ export declare const OllamaEmbeddingsProviders: AiProvider[];
@@ -0,0 +1,24 @@
1
+ import { IBasePerTenantAndOrganizationEntityModel } from '../base-entity.model';
2
+ import { IChatMessage } from './chat-message.model';
3
+ import { IChatConversation } from './chat.model';
4
+ export declare enum ChatMessageFeedbackRatingEnum {
5
+ LIKE = "like",
6
+ DISLIKE = "dislike"
7
+ }
8
+ /**
9
+ *
10
+ */
11
+ export interface IChatMessageFeedback extends IBasePerTenantAndOrganizationEntityModel {
12
+ rating: ChatMessageFeedbackRatingEnum;
13
+ content?: string;
14
+ /**
15
+ * Chat conversation
16
+ */
17
+ conversation?: IChatConversation;
18
+ conversationId?: string | null;
19
+ /**
20
+ * Chat conversation message
21
+ */
22
+ message?: IChatMessage;
23
+ messageId?: string | null;
24
+ }