@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
@@ -0,0 +1,445 @@
1
+ import { I18nObject, IconDefinition } from "../types";
2
+ import { ICopilotModel } from "./copilot-model.model";
3
+ import { TKBRecallParams } from "./knowledgebase.model";
4
+ import { ApiAuthType, JsonSchemaObjectType, 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: JsonSchemaObjectType;
11
+ };
12
+ export type TWorkflowTriggerMeta = TWorkflowNodeMeta;
13
+ export declare enum WorkflowNodeTypeEnum {
14
+ START = "start",
15
+ END = "end",
16
+ /**
17
+ * Trigger
18
+ */
19
+ TRIGGER = "trigger",
20
+ /**
21
+ * State Variable Assigner
22
+ */
23
+ ASSIGNER = "assigner",
24
+ /**
25
+ * Router
26
+ */
27
+ IF_ELSE = "if-else",
28
+ LIST_OPERATOR = "list-operator",
29
+ VARIABLE_AGGREGATOR = "variable-aggregator",
30
+ /**
31
+ * @deprecated use ITERATOR instead
32
+ */
33
+ ITERATING = "iterating",
34
+ ITERATOR = "iterator",
35
+ HTTP = "http",
36
+ SUBFLOW = "subflow",
37
+ TOOL = "tool",
38
+ AGENT_TOOL = "agent-tool",
39
+ NOTE = "note",
40
+ /**
41
+ * Task node, distribute tasks to sub-agents
42
+ */
43
+ TASK = "task",
44
+ SOURCE = "source",
45
+ PROCESSOR = "processor",
46
+ CHUNKER = "chunker",
47
+ UNDERSTANDING = "understanding",
48
+ KNOWLEDGE_BASE = "knowledgebase",
49
+ CLASSIFIER = "classifier",
50
+ KNOWLEDGE = "knowledge",
51
+ CODE = "code",
52
+ TEMPLATE = "template",
53
+ ANSWER = "answer",
54
+ JSON_STRINGIFY = "json-stringify",
55
+ JSON_PARSE = "json-parse",
56
+ /**
57
+ * Custom SQL
58
+ */
59
+ DB_SQL = "db-sql",
60
+ /**
61
+ * Insert data (INSERT)
62
+ */
63
+ DB_INSERT = "db-insert",
64
+ /**
65
+ * Update data (UPDATE)
66
+ */
67
+ DB_UPDATE = "db-update",
68
+ /**
69
+ * Delete data (DELETE)
70
+ */
71
+ DB_DELETE = "db-delete",
72
+ /**
73
+ * Query data (SELECT)
74
+ */
75
+ DB_QUERY = "db-query",
76
+ MIDDLEWARE = "middleware",
77
+ SKILL = "skill"
78
+ }
79
+ export interface IWorkflowNode {
80
+ id: string;
81
+ key: string;
82
+ title?: string;
83
+ description?: string | I18nObject;
84
+ type: WorkflowNodeTypeEnum;
85
+ }
86
+ export declare enum VariableOperationEnum {
87
+ APPEND = "append",
88
+ EXTEND = "extend",
89
+ OVERWRITE = "overwrite",
90
+ CLEAR = "clear"
91
+ }
92
+ export type TVariableAssigner = {
93
+ id: string;
94
+ inputType: 'variable' | 'constant' | 'message';
95
+ /**
96
+ * value from variable
97
+ */
98
+ value?: string;
99
+ /**
100
+ * value write to state's variable
101
+ */
102
+ variableSelector: string;
103
+ /**
104
+ * How to write value to variable
105
+ */
106
+ operation: VariableOperationEnum;
107
+ /**
108
+ * The message template to write to messages variable
109
+ */
110
+ messages?: {
111
+ role: string;
112
+ content: string;
113
+ }[];
114
+ };
115
+ export interface IWFNAssigner extends IWorkflowNode {
116
+ type: WorkflowNodeTypeEnum.ASSIGNER;
117
+ assigners: TVariableAssigner[];
118
+ }
119
+ export interface IWFNIfElse extends IWorkflowNode {
120
+ type: WorkflowNodeTypeEnum.IF_ELSE;
121
+ cases: TWFCase[];
122
+ }
123
+ /**
124
+ * The list operator can filter and extract attributes such as file format type, file name, and size,
125
+ * passing different format files to corresponding processing nodes to achieve precise control over different file processing flows.
126
+ */
127
+ export interface IWFNListOperator extends IWorkflowNode {
128
+ type: WorkflowNodeTypeEnum.LIST_OPERATOR;
129
+ input: string;
130
+ itemVarType: string;
131
+ filterBy?: {
132
+ enabled: boolean;
133
+ conditions: TWFCaseCondition[];
134
+ logicalOperator: WorkflowLogicalOperator;
135
+ };
136
+ extractBy?: {
137
+ enabled: boolean;
138
+ index: number;
139
+ };
140
+ sortBy?: {
141
+ enabled: boolean;
142
+ variable: string;
143
+ descending?: boolean;
144
+ };
145
+ topN?: {
146
+ enabled: boolean;
147
+ count: number;
148
+ };
149
+ }
150
+ /**
151
+ * Aggregate variables from multiple branches into a single variable to achieve unified configuration for downstream nodes.
152
+ */
153
+ export interface IWFNVariableAggregator extends IWorkflowNode {
154
+ type: WorkflowNodeTypeEnum.VARIABLE_AGGREGATOR;
155
+ inputs: string[];
156
+ outputType: string;
157
+ }
158
+ export interface IWFNIterator extends IWorkflowNode {
159
+ type: WorkflowNodeTypeEnum.ITERATOR;
160
+ /**
161
+ * Variable name of input array in state
162
+ */
163
+ inputVariable: string;
164
+ outputParams?: TXpertRefParameter[];
165
+ /**
166
+ * Execute in parallel, otherwise execute sequentially
167
+ */
168
+ parallel?: boolean;
169
+ /**
170
+ * Maximum number of parallel task
171
+ */
172
+ maximum?: number;
173
+ /**
174
+ * - terminate: terminate on error
175
+ * - ignore: ignore error and continue
176
+ * - remove: remove error output
177
+ */
178
+ errorMode?: 'terminate' | 'ignore' | 'remove';
179
+ }
180
+ /**
181
+ * @deprecated use IWFNIterator instead
182
+ */
183
+ export interface IWFNIterating extends IWorkflowNode {
184
+ type: WorkflowNodeTypeEnum.ITERATING;
185
+ /**
186
+ * Variable name of input array in state
187
+ */
188
+ inputVariable: string;
189
+ inputParams?: TXpertRefParameter[];
190
+ outputParams?: TXpertRefParameter[];
191
+ /**
192
+ * Execute in parallel, otherwise execute sequentially
193
+ */
194
+ parallel?: boolean;
195
+ /**
196
+ * Maximum number of parallel task
197
+ */
198
+ maximum?: number;
199
+ /**
200
+ * - terminate: terminate on error
201
+ * - ignore: ignore error and continue
202
+ * - remove: remove error output
203
+ */
204
+ errorMode?: 'terminate' | 'ignore' | 'remove';
205
+ }
206
+ /**
207
+ * @deprecated use `IteratorItemParameterName` instead
208
+ */
209
+ export declare const IteratingItemParameterName = "$item";
210
+ /**
211
+ * @deprecated use `IteratorIndexParameterName` instead
212
+ */
213
+ export declare const IteratingIndexParameterName = "$index";
214
+ /**
215
+ * The parameter name that represents the entire current element in array
216
+ */
217
+ export declare const IteratorItemParameterName = "$item";
218
+ export declare const IteratorIndexParameterName = "$index";
219
+ export interface IWFNAnswer extends IWorkflowNode {
220
+ type: WorkflowNodeTypeEnum.ANSWER;
221
+ promptTemplate: string;
222
+ mute?: boolean;
223
+ }
224
+ export declare enum WorkflowLogicalOperator {
225
+ AND = "and",
226
+ OR = "or"
227
+ }
228
+ export declare enum WorkflowComparisonOperator {
229
+ CONTAINS = "contains",
230
+ NOT_CONTAINS = "not-contains",
231
+ EQUAL = "equal",
232
+ NOT_EQUAL = "not-equal",
233
+ GT = "gt",
234
+ LT = "lt",
235
+ GE = "ge",
236
+ LE = "le",
237
+ STARTS_WITH = "starts-with",
238
+ ENDS_WITH = "ends-with",
239
+ EMPTY = "empty",
240
+ NOT_EMPTY = "not-empty",
241
+ IS_TRUE = "is-true",
242
+ IS_FALSE = "is-false",
243
+ LIKE = "like",
244
+ NOT_LIKE = "not-like"
245
+ }
246
+ /**
247
+ * Comparison condition for if-else and list-operator nodes
248
+ */
249
+ export type TWFCaseCondition = {
250
+ id: string;
251
+ comparisonOperator: WorkflowComparisonOperator;
252
+ value?: string;
253
+ varType?: string;
254
+ variableSelector?: string;
255
+ };
256
+ export type TWFCase = {
257
+ caseId: string;
258
+ conditions: TWFCaseCondition[];
259
+ logicalOperator: WorkflowLogicalOperator;
260
+ };
261
+ export type TWorkflowVarGroup = {
262
+ group?: {
263
+ name: string;
264
+ description: string | I18nObject;
265
+ };
266
+ variables: TStateVariable[];
267
+ };
268
+ export type TWorkflowRetry = {
269
+ enabled?: boolean;
270
+ stopAfterAttempt?: number;
271
+ retryInterval?: number;
272
+ };
273
+ export interface IWFNCode extends IWorkflowNode {
274
+ type: WorkflowNodeTypeEnum.CODE;
275
+ language: 'python' | 'javascript';
276
+ code: string;
277
+ inputs: {
278
+ name: string;
279
+ variable?: string;
280
+ }[];
281
+ outputs: TXpertParameter[];
282
+ /**
283
+ * Retry on failure
284
+ */
285
+ retry?: TWorkflowRetry;
286
+ /**
287
+ * Error handling
288
+ */
289
+ errorHandling?: TErrorHandling;
290
+ }
291
+ export type BodyType = 'none' | 'form-data' | 'x-www-form-urlencoded' | 'json' | 'raw' | 'binary';
292
+ interface HttpParam {
293
+ key: string;
294
+ value: string;
295
+ }
296
+ interface HttpHeader {
297
+ name: string;
298
+ value: string;
299
+ }
300
+ export type TWorkflowAuthorization = {
301
+ auth_type?: ApiAuthType;
302
+ api_key_type?: '' | 'bearer' | 'custom';
303
+ api_key_header?: string;
304
+ api_key_value?: string;
305
+ username?: string;
306
+ password?: string;
307
+ };
308
+ export interface IWFNHttp extends IWorkflowNode {
309
+ type: WorkflowNodeTypeEnum.HTTP;
310
+ authorization?: TWorkflowAuthorization;
311
+ method: 'get' | 'post' | 'put' | 'delete' | 'patch' | 'head';
312
+ url: string;
313
+ headers: HttpHeader[];
314
+ params: HttpParam[];
315
+ body: {
316
+ type?: BodyType;
317
+ body?: string;
318
+ encodedForm?: HttpParam[];
319
+ };
320
+ connectionTimeout?: number;
321
+ readTimeout?: number;
322
+ writeTimeout?: number;
323
+ /**
324
+ * Retry on failure
325
+ */
326
+ retry?: TWorkflowRetry;
327
+ /**
328
+ * Error handling
329
+ */
330
+ errorHandling?: TErrorHandling;
331
+ }
332
+ export interface IWFNKnowledgeRetrieval extends IWorkflowNode {
333
+ queryVariable: string;
334
+ knowledgebases: string[];
335
+ recall?: TKBRecallParams;
336
+ retrieval?: TKBRetrievalSettings;
337
+ }
338
+ export interface IWFNSubflow extends IWorkflowNode {
339
+ inputParams?: TXpertRefParameter[];
340
+ outputParams?: TXpertRefParameter[];
341
+ }
342
+ export interface IWFNTemplate extends IWorkflowNode {
343
+ type: WorkflowNodeTypeEnum.TEMPLATE;
344
+ inputParams?: TXpertRefParameter[];
345
+ code: string;
346
+ /**
347
+ * Error handling
348
+ */
349
+ errorHandling?: TErrorHandling;
350
+ }
351
+ export interface IWFNClassifier extends IWorkflowNode {
352
+ type: WorkflowNodeTypeEnum.CLASSIFIER;
353
+ copilotModel: ICopilotModel;
354
+ inputVariables: string[];
355
+ classes: {
356
+ description?: string;
357
+ }[];
358
+ instruction?: string;
359
+ }
360
+ export interface IWFNClassifier extends IWorkflowNode {
361
+ type: WorkflowNodeTypeEnum.CLASSIFIER;
362
+ copilotModel: ICopilotModel;
363
+ inputVariables: string[];
364
+ classes: {
365
+ description?: string;
366
+ }[];
367
+ instruction?: string;
368
+ }
369
+ export interface IWFNTemplate extends IWorkflowNode {
370
+ type: WorkflowNodeTypeEnum.TEMPLATE;
371
+ inputParams?: TXpertRefParameter[];
372
+ code: string;
373
+ /**
374
+ * Error handling
375
+ */
376
+ errorHandling?: TErrorHandling;
377
+ }
378
+ export interface IWFNTool extends IWorkflowNode {
379
+ type: WorkflowNodeTypeEnum.TOOL;
380
+ toolsetId: string;
381
+ toolName: string;
382
+ /**
383
+ * @deprecated Use parameters instead
384
+ */
385
+ parameterVariable: string;
386
+ parameters?: any;
387
+ omitBlankValues?: boolean;
388
+ /**
389
+ * Error handling
390
+ */
391
+ errorHandling?: TErrorHandling;
392
+ }
393
+ export interface IWFNNote extends IWorkflowNode {
394
+ content: string;
395
+ }
396
+ export interface IWFNAgentTool extends IWorkflowNode {
397
+ type: WorkflowNodeTypeEnum.AGENT_TOOL;
398
+ toolName: string;
399
+ toolDescription?: string;
400
+ toolParameters?: TXpertParameter[];
401
+ /**
402
+ * End point tool
403
+ */
404
+ isEnd?: boolean;
405
+ /**
406
+ * @deprecated Mixed sub-processes are not suitable for catching exceptions unless they are implemented using a separate subgraph
407
+ * Error handling
408
+ */
409
+ errorHandling?: TErrorHandling;
410
+ }
411
+ export interface IWFNTrigger extends IWorkflowNode {
412
+ type: WorkflowNodeTypeEnum.TRIGGER;
413
+ from: 'chat' | 'integration' | 'scheduler';
414
+ parameters?: TXpertParameter[];
415
+ config?: any;
416
+ }
417
+ export interface IWFNTask extends IWorkflowNode {
418
+ type: WorkflowNodeTypeEnum.TASK;
419
+ descriptionPrefix?: string;
420
+ descriptionSuffix?: string;
421
+ }
422
+ export interface IWFNJSONStringify extends IWorkflowNode {
423
+ type: WorkflowNodeTypeEnum.JSON_STRINGIFY;
424
+ inputVariable: string;
425
+ }
426
+ export interface IWFNJSONParse extends IWorkflowNode {
427
+ type: WorkflowNodeTypeEnum.JSON_PARSE;
428
+ inputVariable: string;
429
+ }
430
+ export declare function genXpertTriggerKey(): string;
431
+ export declare function genListOperatorKey(): string;
432
+ export declare function genVariableAggregatorKey(): string;
433
+ export declare function genJSONStringifyKey(): string;
434
+ export declare function genJSONParseKey(): string;
435
+ export declare function genXpertIteratorKey(): string;
436
+ export declare function genXpertStartKey(key: string): string;
437
+ export declare function isAgentKey(key: string): boolean;
438
+ export declare function isRouterKey(key: string): boolean;
439
+ /**
440
+ * @deprecated use `isIteratorKey` instead
441
+ */
442
+ export declare function isIteratingKey(key: string): boolean;
443
+ export declare function isIteratorKey(key: string): boolean;
444
+ export declare function workflowNodeIdentifier(node: IWorkflowNode): string;
445
+ 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
+ }