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