@metad/contracts 3.6.2 → 3.6.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (287) hide show
  1. package/.babelrc +5 -0
  2. package/.eslintrc.json +18 -0
  3. package/babel.config.json +1 -0
  4. package/index.cjs.js +5 -4233
  5. package/jest.config.ts +16 -0
  6. package/package.json +2 -2
  7. package/project.json +53 -0
  8. package/src/agent/{ai-model.d.ts → ai-model.ts} +2 -2
  9. package/src/agent/graph.ts +275 -0
  10. package/src/agent/index.ts +5 -0
  11. package/src/agent/token.ts +23 -0
  12. package/src/agent/utils.spec.ts +283 -0
  13. package/src/agent/utils.ts +122 -0
  14. package/src/agent/variables.ts +66 -0
  15. package/src/ai/ai-model.model.ts +232 -0
  16. package/src/ai/ai-provider.model.ts +53 -0
  17. package/src/ai/ai.model.ts +87 -0
  18. package/src/ai/chat-message-feedback.model.ts +31 -0
  19. package/src/ai/chat-message.model.ts +277 -0
  20. package/src/ai/chat.model.ts +207 -0
  21. package/src/ai/copilot-checkpoint.model.ts +25 -0
  22. package/src/ai/copilot-example.model.ts +23 -0
  23. package/src/ai/copilot-model.model.ts +31 -0
  24. package/src/ai/copilot-organization.model.ts +21 -0
  25. package/src/ai/copilot-provider.model.ts +46 -0
  26. package/src/ai/copilot-role.model.ts +48 -0
  27. package/src/ai/copilot-store.model.ts +34 -0
  28. package/src/ai/copilot-user.model.ts +24 -0
  29. package/src/ai/copilot.model.ts +47 -0
  30. package/src/ai/{environment.model.d.ts → environment.model.ts} +12 -10
  31. package/src/ai/feature.model.ts +6 -0
  32. package/src/ai/index.ts +40 -0
  33. package/src/ai/knowledge-doc-chunk.model.ts +123 -0
  34. package/src/ai/knowledge-doc-chunk.spec.ts +47 -0
  35. package/src/ai/knowledge-doc-page.model.ts +20 -0
  36. package/src/ai/knowledge-doc.model.ts +364 -0
  37. package/src/ai/knowledge-pipeline.ts +138 -0
  38. package/src/ai/knowledge-retrieval-log.model.ts +19 -0
  39. package/src/ai/knowledgebase-task.model.ts +46 -0
  40. package/src/ai/knowledgebase.model.ts +205 -0
  41. package/src/ai/rag-web.ts +54 -0
  42. package/src/ai/rag.ts +24 -0
  43. package/src/ai/role-permissions.ts +13 -0
  44. package/src/ai/types.ts +83 -0
  45. package/src/ai/xpert-agent-execution.model.ts +115 -0
  46. package/src/ai/xpert-agent.model.ts +264 -0
  47. package/src/ai/xpert-project.model.ts +103 -0
  48. package/src/ai/xpert-table.model.ts +100 -0
  49. package/src/ai/xpert-task.model.ts +32 -0
  50. package/src/ai/xpert-template.model.ts +53 -0
  51. package/src/ai/xpert-tool-mcp.model.ts +77 -0
  52. package/src/ai/xpert-tool.model.ts +216 -0
  53. package/src/ai/xpert-toolset.model.ts +220 -0
  54. package/src/ai/xpert-workflow-task.prompt.ts +71 -0
  55. package/src/ai/xpert-workflow.model.ts +502 -0
  56. package/src/ai/xpert-workspace.model.ts +42 -0
  57. package/src/ai/xpert.model.ts +637 -0
  58. package/src/ai/xpert.utils.ts +214 -0
  59. package/src/analytics/ai.ts +79 -0
  60. package/src/analytics/approval-policy.model.ts +40 -0
  61. package/src/analytics/business-area-user.model.ts +43 -0
  62. package/src/analytics/business-area.ts +20 -0
  63. package/src/analytics/certification.model.ts +12 -0
  64. package/src/analytics/chatbi-conversation.model.ts +16 -0
  65. package/src/analytics/chatbi-model.model.ts +22 -0
  66. package/src/analytics/collection.model.ts +8 -0
  67. package/src/analytics/comment.model.ts +14 -0
  68. package/src/analytics/data-source-type.ts +19 -0
  69. package/src/analytics/data-source.ts +72 -0
  70. package/src/analytics/favorite.ts +18 -0
  71. package/src/analytics/features.ts +19 -0
  72. package/src/analytics/feed-model.ts +15 -0
  73. package/src/analytics/gateway.ts +31 -0
  74. package/src/analytics/index.ts +39 -0
  75. package/src/analytics/indicator-app.ts +49 -0
  76. package/src/analytics/{indicator-market.d.ts → indicator-market.ts} +6 -2
  77. package/src/analytics/indicator.ts +143 -0
  78. package/src/analytics/model-query-log.model.ts +45 -0
  79. package/src/analytics/model-query.ts +22 -0
  80. package/src/analytics/{notification-destination.d.ts → notification-destination.ts} +9 -5
  81. package/src/analytics/{permission-approval-user.model.d.ts → permission-approval-user.model.ts} +10 -8
  82. package/src/analytics/permission-approval.model.ts +58 -0
  83. package/src/analytics/project.model.ts +56 -0
  84. package/src/analytics/role-permissions.ts +36 -0
  85. package/src/analytics/schema.ts +300 -0
  86. package/src/analytics/screenshot.model.ts +28 -0
  87. package/src/analytics/semantic-model-entity.ts +50 -0
  88. package/src/analytics/semantic-model-member.ts +49 -0
  89. package/src/analytics/semantic-model.ts +237 -0
  90. package/src/analytics/{story-point.d.ts → story-point.ts} +11 -6
  91. package/src/analytics/story-template.model.ts +34 -0
  92. package/src/analytics/story-widget.ts +15 -0
  93. package/src/analytics/story.ts +109 -0
  94. package/src/analytics/subscription.ts +43 -0
  95. package/src/analytics/visit.model.ts +39 -0
  96. package/src/analytics/webSocket.ts +53 -0
  97. package/src/api-key.model.ts +11 -0
  98. package/src/base-entity.model.ts +34 -0
  99. package/src/contact.model.ts +45 -0
  100. package/src/core.model.ts +103 -0
  101. package/src/{country.model.d.ts → country.model.ts} +3 -2
  102. package/src/currency.model.ts +582 -0
  103. package/src/{custom-smtp.model.d.ts → custom-smtp.model.ts} +21 -17
  104. package/src/date-picker.model.ts +5 -0
  105. package/src/email-template.model.ts +50 -0
  106. package/src/email.model.ts +46 -0
  107. package/src/employee.model.ts +199 -0
  108. package/src/entity-with-members.model.ts +16 -0
  109. package/src/feature.model.ts +108 -0
  110. package/src/file-provider.ts +37 -0
  111. package/src/help-center-article.model.ts +35 -0
  112. package/src/help-center.model.ts +33 -0
  113. package/src/http-status.enum.ts +58 -0
  114. package/src/import-export.model.ts +42 -0
  115. package/src/index.ts +60 -0
  116. package/src/integration/dify.ts +31 -0
  117. package/src/integration/dingtalk.ts +16 -0
  118. package/src/integration/fastgpt.ts +32 -0
  119. package/src/integration/firecrawl.ts +46 -0
  120. package/src/integration/github.ts +149 -0
  121. package/src/integration/index.ts +15 -0
  122. package/src/integration/lark.ts +79 -0
  123. package/src/integration/wecom.ts +16 -0
  124. package/src/integration.model.ts +119 -0
  125. package/src/invite.model.ts +144 -0
  126. package/src/language.model.ts +22 -0
  127. package/src/organization-contact.model.ts +84 -0
  128. package/src/{organization-department.model.d.ts → organization-department.model.ts} +16 -10
  129. package/src/organization-language.model.ts +24 -0
  130. package/src/organization-projects.model.ts +99 -0
  131. package/src/organization-team-employee-model.ts +14 -0
  132. package/src/organization-team-model.ts +25 -0
  133. package/src/organization.model.ts +266 -0
  134. package/src/{password-reset.model.d.ts → password-reset.model.ts} +14 -10
  135. package/src/{plain-object.model.d.ts → plain-object.model.ts} +1 -1
  136. package/src/plugin.ts +15 -0
  137. package/src/role-permission.model.ts +123 -0
  138. package/src/role.model.ts +31 -0
  139. package/src/schedule.ts +71 -0
  140. package/src/secret-token.model.ts +15 -0
  141. package/src/seed.model.ts +50 -0
  142. package/src/storage-file.model.ts +46 -0
  143. package/src/tag-entity.model.ts +23 -0
  144. package/src/tenant.model.ts +52 -0
  145. package/src/tools/index.ts +1 -0
  146. package/src/tools/sandbox.ts +5 -0
  147. package/src/translation.model.ts +37 -0
  148. package/src/types.ts +277 -0
  149. package/src/user-organization.model.ts +31 -0
  150. package/src/user.model.ts +151 -0
  151. package/src/visibility.model.ts +6 -0
  152. package/tsconfig.json +22 -0
  153. package/tsconfig.lib.json +10 -0
  154. package/tsconfig.spec.json +9 -0
  155. package/index.cjs.d.ts +0 -1
  156. package/index.esm.d.ts +0 -1
  157. package/index.esm.js +0 -4129
  158. package/src/agent/graph.d.ts +0 -148
  159. package/src/agent/index.d.ts +0 -5
  160. package/src/agent/token.d.ts +0 -21
  161. package/src/agent/utils.d.ts +0 -19
  162. package/src/agent/variables.d.ts +0 -14
  163. package/src/ai/ai-model.model.d.ts +0 -198
  164. package/src/ai/ai-provider.model.d.ts +0 -43
  165. package/src/ai/ai.model.d.ts +0 -82
  166. package/src/ai/chat-message-feedback.model.d.ts +0 -24
  167. package/src/ai/chat-message.model.d.ts +0 -222
  168. package/src/ai/chat.model.d.ts +0 -189
  169. package/src/ai/copilot-checkpoint.model.d.ts +0 -23
  170. package/src/ai/copilot-example.model.d.ts +0 -19
  171. package/src/ai/copilot-model.model.d.ts +0 -26
  172. package/src/ai/copilot-organization.model.d.ts +0 -17
  173. package/src/ai/copilot-provider.model.d.ts +0 -31
  174. package/src/ai/copilot-role.model.d.ts +0 -43
  175. package/src/ai/copilot-store.model.d.ts +0 -29
  176. package/src/ai/copilot-user.model.d.ts +0 -20
  177. package/src/ai/copilot.model.d.ts +0 -36
  178. package/src/ai/feature.model.d.ts +0 -6
  179. package/src/ai/index.d.ts +0 -39
  180. package/src/ai/knowledge-doc-chunk.model.d.ts +0 -60
  181. package/src/ai/knowledge-doc-page.model.d.ts +0 -15
  182. package/src/ai/knowledge-doc.model.d.ts +0 -192
  183. package/src/ai/knowledge-pipeline.d.ts +0 -107
  184. package/src/ai/knowledge-retrieval-log.model.d.ts +0 -10
  185. package/src/ai/knowledgebase-task.model.d.ts +0 -39
  186. package/src/ai/knowledgebase.model.d.ts +0 -162
  187. package/src/ai/rag-web.d.ts +0 -26
  188. package/src/ai/rag.d.ts +0 -24
  189. package/src/ai/role-permissions.d.ts +0 -13
  190. package/src/ai/types.d.ts +0 -39
  191. package/src/ai/xpert-agent-execution.model.d.ts +0 -96
  192. package/src/ai/xpert-agent.model.d.ts +0 -192
  193. package/src/ai/xpert-project.model.d.ts +0 -86
  194. package/src/ai/xpert-task.model.d.ts +0 -26
  195. package/src/ai/xpert-template.model.d.ts +0 -47
  196. package/src/ai/xpert-tool-mcp.model.d.ts +0 -67
  197. package/src/ai/xpert-tool.model.d.ts +0 -147
  198. package/src/ai/xpert-toolset.model.d.ts +0 -200
  199. package/src/ai/xpert-workflow-task.prompt.d.ts +0 -2
  200. package/src/ai/xpert-workflow.model.d.ts +0 -366
  201. package/src/ai/xpert-workspace.model.d.ts +0 -32
  202. package/src/ai/xpert.model.d.ts +0 -529
  203. package/src/ai/xpert.utils.d.ts +0 -80
  204. package/src/analytics/ai.d.ts +0 -73
  205. package/src/analytics/approval-policy.model.d.ts +0 -30
  206. package/src/analytics/business-area-user.model.d.ts +0 -35
  207. package/src/analytics/business-area.d.ts +0 -17
  208. package/src/analytics/certification.model.d.ts +0 -11
  209. package/src/analytics/chatbi-conversation.model.d.ts +0 -15
  210. package/src/analytics/chatbi-model.model.d.ts +0 -18
  211. package/src/analytics/collection.model.d.ts +0 -6
  212. package/src/analytics/comment.model.d.ts +0 -10
  213. package/src/analytics/data-source-type.d.ts +0 -16
  214. package/src/analytics/data-source.d.ts +0 -62
  215. package/src/analytics/favorite.d.ts +0 -14
  216. package/src/analytics/features.d.ts +0 -19
  217. package/src/analytics/feed-model.d.ts +0 -13
  218. package/src/analytics/gateway.d.ts +0 -27
  219. package/src/analytics/index.d.ts +0 -38
  220. package/src/analytics/indicator-app.d.ts +0 -44
  221. package/src/analytics/indicator.d.ts +0 -106
  222. package/src/analytics/model-query-log.model.d.ts +0 -41
  223. package/src/analytics/model-query.d.ts +0 -21
  224. package/src/analytics/permission-approval.model.d.ts +0 -47
  225. package/src/analytics/project.model.d.ts +0 -50
  226. package/src/analytics/role-permissions.d.ts +0 -25
  227. package/src/analytics/schema.d.ts +0 -262
  228. package/src/analytics/screenshot.model.d.ts +0 -25
  229. package/src/analytics/semantic-model-entity.d.ts +0 -37
  230. package/src/analytics/semantic-model-member.d.ts +0 -24
  231. package/src/analytics/semantic-model.d.ts +0 -175
  232. package/src/analytics/story-template.model.d.ts +0 -28
  233. package/src/analytics/story-widget.d.ts +0 -12
  234. package/src/analytics/story.d.ts +0 -93
  235. package/src/analytics/subscription.d.ts +0 -38
  236. package/src/analytics/visit.model.d.ts +0 -34
  237. package/src/analytics/webSocket.d.ts +0 -48
  238. package/src/api-key.model.d.ts +0 -10
  239. package/src/base-entity.model.d.ts +0 -27
  240. package/src/contact.model.d.ts +0 -41
  241. package/src/core.model.d.ts +0 -97
  242. package/src/currency.model.d.ts +0 -579
  243. package/src/date-picker.model.d.ts +0 -5
  244. package/src/email-template.model.d.ts +0 -39
  245. package/src/email.model.d.ts +0 -36
  246. package/src/employee.model.d.ts +0 -128
  247. package/src/entity-with-members.model.d.ts +0 -13
  248. package/src/feature.model.d.ts +0 -93
  249. package/src/file-provider.d.ts +0 -33
  250. package/src/help-center-article.model.d.ts +0 -0
  251. package/src/help-center.model.d.ts +0 -0
  252. package/src/http-status.enum.d.ts +0 -57
  253. package/src/import-export.model.d.ts +0 -36
  254. package/src/index.d.ts +0 -48
  255. package/src/integration/dify.d.ts +0 -0
  256. package/src/integration/dingtalk.d.ts +0 -2
  257. package/src/integration/fastgpt.d.ts +0 -0
  258. package/src/integration/firecrawl.d.ts +0 -2
  259. package/src/integration/github.d.ts +0 -69
  260. package/src/integration/index.d.ts +0 -4
  261. package/src/integration/lark.d.ts +0 -11
  262. package/src/integration/wecom.d.ts +0 -2
  263. package/src/integration.model.d.ts +0 -90
  264. package/src/invite.model.d.ts +0 -123
  265. package/src/language.model.d.ts +0 -19
  266. package/src/organization-contact.model.d.ts +0 -73
  267. package/src/organization-language.model.d.ts +0 -18
  268. package/src/organization-projects.model.d.ts +0 -80
  269. package/src/organization-team-employee-model.d.ts +0 -12
  270. package/src/organization-team-model.d.ts +0 -19
  271. package/src/organization.model.d.ts +0 -239
  272. package/src/plugin.d.ts +0 -13
  273. package/src/role-permission.model.d.ts +0 -61
  274. package/src/role.model.d.ts +0 -26
  275. package/src/schedule.d.ts +0 -27
  276. package/src/secret-token.model.d.ts +0 -11
  277. package/src/seed.model.d.ts +0 -37
  278. package/src/storage-file.model.d.ts +0 -40
  279. package/src/tag-entity.model.d.ts +0 -20
  280. package/src/tenant.model.d.ts +0 -40
  281. package/src/tools/index.d.ts +0 -1
  282. package/src/tools/sandbox.d.ts +0 -5
  283. package/src/translation.model.d.ts +0 -26
  284. package/src/types.d.ts +0 -241
  285. package/src/user-organization.model.d.ts +0 -24
  286. package/src/user.model.d.ts +0 -131
  287. package/src/visibility.model.d.ts +0 -6
@@ -0,0 +1,364 @@
1
+ import { IBasePerTenantAndOrganizationEntityModel } from '../base-entity.model'
2
+ import { IIntegration } from '../integration.model'
3
+ import { IStorageFile } from '../storage-file.model'
4
+ import { IKnowledgeDocumentPage } from './knowledge-doc-page.model'
5
+ import { IKnowledgebaseTask } from './knowledgebase-task.model'
6
+ import { IKnowledgebase, KBMetadataFieldDef } from './knowledgebase.model'
7
+ import { TRagWebOptions } from './rag-web'
8
+ import { IKnowledgeDocumentChunk } from './knowledge-doc-chunk.model'
9
+ import { DocumentSourceProviderCategoryEnum } from './knowledge-pipeline'
10
+ import { TCopilotModel } from './copilot-model.model'
11
+ import { I18nObject } from '../types'
12
+
13
+
14
+ export type DocumentParserConfig = {
15
+ pages?: number[][]
16
+ replaceWhitespace?: boolean
17
+ removeSensitive?: boolean
18
+ textSplitterType?: string
19
+ textSplitter?: {
20
+ [key: string]: unknown
21
+ }
22
+ transformerType?: string
23
+ transformerIntegration?: string
24
+ transformer?: {
25
+ [key: string]: unknown
26
+ }
27
+ imageUnderstandingType?: string
28
+ imageUnderstandingIntegration?: string
29
+ imageUnderstanding?: {
30
+ [key: string]: unknown
31
+ }
32
+ imageUnderstandingModel?: TCopilotModel
33
+ }
34
+
35
+ export type DocumentTextParserConfig = DocumentParserConfig & {
36
+ delimiter?: string
37
+ chunkSize?: number | null
38
+ chunkOverlap?: number | null
39
+ }
40
+
41
+ export type DocumentSheetParserConfig = DocumentParserConfig & {
42
+ fields?: string[]
43
+ indexedFields?: string[]
44
+ }
45
+
46
+ /**
47
+ * Import Type:
48
+ * - file: local file
49
+ * - web: web document
50
+ * ...
51
+ */
52
+ export enum DocumentTypeEnum {
53
+ /**
54
+ * Folder, parent of other documents
55
+ */
56
+ FOLDER = 'folder',
57
+
58
+ /**
59
+ * Local files
60
+ * @deprecated use DocumentSourceProviderCategoryEnum local file type instead
61
+ */
62
+ FILE = 'file'
63
+ }
64
+ export const KDocumentSourceType = {
65
+ ...DocumentSourceProviderCategoryEnum,
66
+ ...DocumentTypeEnum
67
+ }
68
+
69
+ /**
70
+ * Document type category, determine how to process the document.
71
+ */
72
+ export enum KBDocumentCategoryEnum {
73
+ Text = 'text',
74
+ Image = 'image',
75
+ Audio = 'audio',
76
+ Video = 'video',
77
+ Sheet = 'sheet',
78
+ Other = 'other'
79
+ }
80
+
81
+ export enum KBDocumentStatusEnum {
82
+ WAITING = 'waiting',
83
+ VALIDATE = 'validate',
84
+ RUNNING = 'running',
85
+ TRANSFORMED = 'transformed',
86
+ SPLITTED = 'splitted',
87
+ UNDERSTOOD = 'understood',
88
+ EMBEDDING = 'embedding',
89
+ CANCEL = 'cancel',
90
+ FINISH = 'finish',
91
+ ERROR = 'error'
92
+ }
93
+
94
+ export type TDocumentWebOptions = TRagWebOptions & {
95
+ //
96
+ }
97
+
98
+ export type TDocSourceConfig = {
99
+ key?: string
100
+ }
101
+
102
+ export type TKnowledgeDocument = {
103
+ disabled?: boolean
104
+
105
+ knowledgebaseId?: string
106
+
107
+ /**
108
+ * @deprecated use fileUrl instead
109
+ */
110
+ storageFileId?: string
111
+ /**
112
+ * @deprecated use fileUrl instead
113
+ */
114
+ storageFile?: IStorageFile
115
+
116
+ /**
117
+ * thumbnail base64 string
118
+ */
119
+ thumbnail?: string
120
+
121
+ /**
122
+ * default parser ID
123
+ * @deprecated unused
124
+ */
125
+ parserId: string
126
+ parserConfig: DocumentTextParserConfig
127
+ /**
128
+ * where dose this document come from
129
+ */
130
+ sourceType?: DocumentSourceProviderCategoryEnum | DocumentTypeEnum
131
+ sourceConfig?: TDocSourceConfig
132
+ /**
133
+ * document type category
134
+ */
135
+ category?: KBDocumentCategoryEnum | null
136
+ /**
137
+ * Local file extension or Web doc provider
138
+ */
139
+ type: string
140
+ /**
141
+ * file name or web url
142
+ */
143
+ name: string
144
+ /**
145
+ * where does it store
146
+ */
147
+ filePath: string
148
+ fileUrl?: string
149
+ /**
150
+ * Folder path in server for this document file.
151
+ * Init it in creating document entity.
152
+ */
153
+ folder?: string
154
+
155
+ size?: string
156
+ mimeType?: string
157
+
158
+ tokenNum?: number | null
159
+ chunkNum?: number | null
160
+
161
+ progress?: number | null
162
+ /**
163
+ * process message
164
+ */
165
+ processMsg?: string | null
166
+
167
+ processBeginAt?: Date | null
168
+
169
+ processDuation?: number | null
170
+
171
+ /**
172
+ * is it validate (0: wasted,1: validate)
173
+ */
174
+ status?: KBDocumentStatusEnum
175
+ /**
176
+ * The background job id
177
+ */
178
+ jobId?: string
179
+
180
+ options?: TDocumentWebOptions
181
+
182
+ integrationId?: string
183
+ integration?: IIntegration
184
+
185
+ /**
186
+ * @deprecated use chunks instead
187
+ */
188
+ pages?: IKnowledgeDocumentPage[]
189
+
190
+ chunks?: IKnowledgeDocumentChunk[]
191
+ tasks?: IKnowledgebaseTask[]
192
+ }
193
+
194
+ /**
195
+ * Document, include file, web pages, folder, virtual, etc.
196
+ */
197
+ export interface IKnowledgeDocument<T extends KnowledgeDocumentMetadata = KnowledgeDocumentMetadata> extends TKnowledgeDocument, IBasePerTenantAndOrganizationEntityModel {
198
+ parent?: IKnowledgeDocument | null
199
+ children?: IKnowledgeDocument[]
200
+ knowledgebase?: IKnowledgebase
201
+
202
+ draft?: TKnowledgeDocument
203
+
204
+ metadata?: T
205
+ }
206
+
207
+ /**
208
+ * System built-in standard document Metadata structure
209
+ */
210
+ export interface StandardDocumentMetadata {
211
+ // ---- Document Info ----
212
+ originalFileName?: string; // Original file name, e.g. "Complex_SQL_QA.markdown"
213
+ originalFileSize?: string | null; // Original file size (if missing, display as "-")
214
+ uploadTime?: string; // Upload time in ISO format
215
+ lastUpdatedTime?: string; // Last updated time
216
+ source?: string; // Source, e.g. "Local File" / "Web Import" / "API"
217
+
218
+ // ---- Technical Parameters ----
219
+ segmentRule?: string; // Segmentation rule, e.g. "General"
220
+ segmentLength?: number; // Maximum segment length (token or char)
221
+ averageSegmentLength?: string; // Average segment length
222
+ segmentCount?: number; // Number of segments
223
+ recallRate?: string; // Recall count statistics, e.g. "0.00% (0/11)"
224
+ embedTime?: string; // Embedding time, e.g. "1.99 sec"
225
+ embedCost?: string | null; // Embedding cost (if none, display as "-")
226
+ tokens?: number; // Number of tokens in the document
227
+ }
228
+
229
+ export interface KnowledgeDocumentMetadata extends StandardDocumentMetadata {
230
+ [key: string]: any
231
+ }
232
+
233
+
234
+ // export type Metadata = any
235
+
236
+ export interface IKnowledgeDocumentCreateInput
237
+ extends IKnowledgeDocument, IBasePerTenantAndOrganizationEntityModel {}
238
+
239
+ export interface IKnowledgeDocumentUpdateInput
240
+ extends Partial<IKnowledgeDocumentCreateInput> {
241
+ id?: string;
242
+ }
243
+
244
+ export interface IKnowledgeDocumentFindInput
245
+ extends IBasePerTenantAndOrganizationEntityModel,
246
+ IKnowledgeDocument {}
247
+
248
+
249
+ export function isDocumentSheet(type: string): boolean {
250
+ return ['csv', 'xls', 'xlsx', 'ods', 'vnd.openxmlformats-officedocument.spreadsheetml.sheet'].includes(type)
251
+ }
252
+
253
+ export function isImageType(type: string): boolean {
254
+ return ['jpg', 'jpeg', 'png', 'gif', 'bmp', 'tiff', 'svg', 'webp'].includes(type)
255
+ }
256
+
257
+ export function isVideoType(type: string): boolean {
258
+ return ['mp4', 'avi', 'mov', 'wmv', 'flv', 'mkv', 'webm'].includes(type)
259
+ }
260
+
261
+ export function isAudioType(type: string): boolean {
262
+ return ['mp3', 'wav', 'aac', 'flac', 'ogg', 'm4a'].includes(type)
263
+ }
264
+
265
+ export function classificateDocumentCategory(entity: Partial<IKnowledgeDocument>): KBDocumentCategoryEnum {
266
+ return isDocumentSheet(entity.type) ? KBDocumentCategoryEnum.Sheet :
267
+ isImageType(entity.type) ? KBDocumentCategoryEnum.Image :
268
+ isVideoType(entity.type) ? KBDocumentCategoryEnum.Video :
269
+ isAudioType(entity.type) ? KBDocumentCategoryEnum.Audio :
270
+ KBDocumentCategoryEnum.Text
271
+ }
272
+
273
+ /**
274
+ * System standard Metadata field definition constants
275
+ * It can be used for rendering, validation, sorting, displaying descriptions, etc.
276
+ */
277
+ export const STANDARD_METADATA_FIELDS: { group: I18nObject; fields: KBMetadataFieldDef[] }[] = [
278
+ // Document Info
279
+ {
280
+ group: {
281
+ en_US: 'Document Info',
282
+ zh_Hans: '文档信息'
283
+ },
284
+ fields: [
285
+ {
286
+ key: 'title',
287
+ label: { en_US: 'Original File Name', zh_Hans: '原始文件名称' },
288
+ type: 'string'
289
+ },
290
+ // {
291
+ // key: 'originalFileSize',
292
+ // label: { en_US: 'Original File Size', zh_Hans: '原始文件大小' },
293
+ // type: 'string'
294
+ // },
295
+ // {
296
+ // key: 'uploadTime',
297
+ // label: { en_US: 'Upload Time', zh_Hans: '上传日期' },
298
+ // type: 'datetime'
299
+ // },
300
+ // {
301
+ // key: 'lastUpdatedTime',
302
+ // label: { en_US: 'Last Updated Time', zh_Hans: '最后更新时间' },
303
+ // type: 'datetime'
304
+ // },
305
+ // {
306
+ // key: 'source',
307
+ // label: { en_US: 'Source', zh_Hans: '来源' },
308
+ // type: 'string'
309
+ // }
310
+ ]
311
+ },
312
+ // Technical Parameters
313
+ {
314
+ group: {
315
+ en_US: 'Technical Parameters',
316
+ zh_Hans: '技术参数'
317
+ },
318
+ fields: [
319
+ {
320
+ key: 'tokens',
321
+ label: { en_US: 'Tokens', zh_Hans: '词元' },
322
+ type: 'number'
323
+ },
324
+ // {
325
+ // key: 'segmentRule',
326
+ // label: { en_US: 'Segmentation Rule', zh_Hans: '分段规则' },
327
+ // type: 'string'
328
+ // },
329
+ // {
330
+ // key: 'segmentLength',
331
+ // label: { en_US: 'Segment Length', zh_Hans: '段落长度' },
332
+ // type: 'number'
333
+ // },
334
+ // {
335
+ // key: 'averageSegmentLength',
336
+ // label: { en_US: 'Average Segment Length', zh_Hans: '平均段落长度' },
337
+ // type: 'string'
338
+ // },
339
+ // {
340
+ // key: 'segmentCount',
341
+ // label: { en_US: 'Segment Count', zh_Hans: '段落数量' },
342
+ // type: 'number'
343
+ // },
344
+ // {
345
+ // key: 'recallRate',
346
+ // label: { en_US: 'Recall Count', zh_Hans: '召回次数' },
347
+ // type: 'string'
348
+ // },
349
+ // {
350
+ // key: 'embedTime',
351
+ // label: { en_US: 'Embedding Time', zh_Hans: '嵌入时间' },
352
+ // type: 'string'
353
+ // },
354
+ // {
355
+ // key: 'embedCost',
356
+ // label: { en_US: 'Embedding Cost', zh_Hans: '嵌入花费' },
357
+ // type: 'string'
358
+ // }
359
+ ]
360
+ }
361
+ ] as const;
362
+
363
+
364
+ export type StandardMetadataFieldKey = typeof STANDARD_METADATA_FIELDS[number]['fields'][number]['key'];
@@ -0,0 +1,138 @@
1
+ import { I18nObject, IconDefinition, letterStartSUID } from '../types'
2
+ import { ICopilotModel } from './copilot-model.model'
3
+ import { KnowledgeStructureEnum } from './knowledgebase.model'
4
+ import { IWorkflowNode, WorkflowNodeTypeEnum } from './xpert-workflow.model'
5
+ import { TXpertParameter } from './xpert.model'
6
+
7
+ export interface IDocumentNodeProvider {
8
+ name: string
9
+ label: I18nObject
10
+ icon?: IconDefinition
11
+ description?: I18nObject
12
+ helpUrl?: string
13
+ configSchema: any;
14
+ }
15
+
16
+ /**
17
+ * Category of document source provider
18
+ */
19
+ export enum DocumentSourceProviderCategoryEnum {
20
+ /**
21
+ * Local files uploaded directly to the system
22
+ */
23
+ LocalFile = 'local-file',
24
+
25
+ /**
26
+ * Remote file systems, e.g. S3, FTP, etc.
27
+ */
28
+ FileSystem = 'file-system',
29
+
30
+ /**
31
+ * Online documents, e.g. public URLs, Google Docs, etc.
32
+ */
33
+ OnlineDocument = 'online-document',
34
+
35
+ /**
36
+ * Web crawling from public websites
37
+ */
38
+ WebCrawl = 'web-crawl',
39
+
40
+ /**
41
+ * Database connections, e.g. MySQL, PostgreSQL, etc.
42
+ * @deprecated Planning
43
+ */
44
+ Database = 'database'
45
+ }
46
+
47
+ export interface IDocumentSourceProvider extends IDocumentNodeProvider {
48
+ category: DocumentSourceProviderCategoryEnum
49
+ }
50
+
51
+ // eslint-disable-next-line @typescript-eslint/no-empty-interface
52
+ export interface IDocumentProcessorProvider extends IDocumentNodeProvider {}
53
+
54
+ // eslint-disable-next-line @typescript-eslint/no-empty-interface
55
+ export interface IDocumentChunkerProvider extends IDocumentNodeProvider {}
56
+
57
+ // eslint-disable-next-line @typescript-eslint/no-empty-interface
58
+ export interface IDocumentUnderstandingProvider extends IDocumentNodeProvider {
59
+
60
+ }
61
+
62
+
63
+ /**
64
+ * Knowledge Pipeline Source Node
65
+ */
66
+ export interface IWFNSource<T = any> extends IWorkflowNode {
67
+ type: WorkflowNodeTypeEnum.SOURCE,
68
+ provider: string
69
+ parameters?: TXpertParameter[];
70
+ config: T;
71
+ integrationId?: string
72
+ }
73
+
74
+ export interface IWFNProcessor extends IWorkflowNode {
75
+ type: WorkflowNodeTypeEnum.PROCESSOR,
76
+ provider: string
77
+ config: any;
78
+ input: string
79
+ integrationId?: string
80
+ }
81
+
82
+ export interface IWFNChunker extends IWorkflowNode {
83
+ type: WorkflowNodeTypeEnum.CHUNKER,
84
+ provider: string
85
+ config: any;
86
+ input: string
87
+ }
88
+
89
+ export interface IWFNUnderstanding extends IWorkflowNode {
90
+ type: WorkflowNodeTypeEnum.UNDERSTANDING,
91
+ provider: string
92
+ config: any;
93
+ input: string
94
+ visionModel?: ICopilotModel
95
+ }
96
+
97
+ export interface IWFNKnowledgeBase extends IWorkflowNode {
98
+ type: WorkflowNodeTypeEnum.KNOWLEDGE_BASE,
99
+ /**
100
+ * @deprecated
101
+ */
102
+ structure?: KnowledgeStructureEnum
103
+ /**
104
+ * Documents input variables
105
+ */
106
+ inputs?: string[]
107
+ /**
108
+ * Embedding model
109
+ */
110
+ copilotModel?: ICopilotModel
111
+ /**
112
+ * (optional) Rerank model
113
+ */
114
+ rerankModel?: ICopilotModel
115
+
116
+ /**
117
+ * (optional) Vision model
118
+ */
119
+ visionModel?: ICopilotModel
120
+
121
+ documents?: string[]
122
+ }
123
+
124
+ export function genPipelineSourceKey() {
125
+ return letterStartSUID('Source_')
126
+ }
127
+ export function genPipelineProcessorKey() {
128
+ return letterStartSUID('Processor_')
129
+ }
130
+ export function genPipelineChunkerKey() {
131
+ return letterStartSUID('Chunker_')
132
+ }
133
+ export function genPipelineUnderstandingKey() {
134
+ return letterStartSUID('Understanding_')
135
+ }
136
+ export function genPipelineKnowledgeBaseKey() {
137
+ return letterStartSUID('KnowledgeBase_')
138
+ }
@@ -0,0 +1,19 @@
1
+ import { IBasePerTenantAndOrganizationEntityModel } from "../base-entity.model"
2
+ import { IKnowledgebase } from "./knowledgebase.model"
3
+
4
+ export interface IKnowledgeRetrievalLog extends IBasePerTenantAndOrganizationEntityModel {
5
+ // 检索触发的查询内容
6
+ query: string
7
+ // 检索来源,比如:ChatBI、ChatDB、API
8
+ source: string;
9
+
10
+ // 命中分段数
11
+ hitCount: number;
12
+
13
+ // 请求 ID(用于一次对话追踪)
14
+ requestId: string;
15
+
16
+ knowledgebaseId?: string
17
+ // 与知识库关联
18
+ knowledgebase?: IKnowledgebase
19
+ }
@@ -0,0 +1,46 @@
1
+ import { IBasePerTenantAndOrganizationEntityModel } from '../base-entity.model'
2
+ import { IChatConversation } from './chat.model';
3
+ import { IKnowledgeDocument } from './knowledge-doc.model';
4
+ import { IKnowledgebase } from './knowledgebase.model'
5
+ import { IXpertAgentExecution } from './xpert-agent-execution.model';
6
+
7
+ /**
8
+ * Task executions of a knowledgebase
9
+ */
10
+ export interface IKnowledgebaseTask extends IBasePerTenantAndOrganizationEntityModel {
11
+ knowledgebaseId?: string
12
+ knowledgebase?: IKnowledgebase
13
+
14
+ conversationId?: string;
15
+ conversation?: IChatConversation
16
+
17
+ executionId?: string;
18
+ execution?: IXpertAgentExecution;
19
+
20
+ taskType: string; // preprocess / re-embed / cleanup ...
21
+ status?: 'pending' | 'running' | 'success' | 'failed' | 'cancelled';
22
+ steps: TaskStep[];
23
+ error?: string;
24
+
25
+ /**
26
+ * Temporary content: Documents not actually processed in the task yet
27
+ */
28
+ context?: {
29
+ documents?: Partial<IKnowledgeDocument>[]
30
+ }
31
+
32
+ /**
33
+ * Many to Many of documents in task
34
+ */
35
+ documents?: IKnowledgeDocument[]
36
+ }
37
+
38
+ export interface TaskStep {
39
+ name: string; // step name: load, preprocess, split, embed, store
40
+ status: 'pending' | 'running' | 'success' | 'failed';
41
+ progress: number; // 0 - 100
42
+ log?: string; // optional logs
43
+ error_message?: string; // optional error
44
+ started_at?: Date;
45
+ finished_at?: Date;
46
+ }