@metad/contracts 3.6.1 → 3.6.2

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 (286) hide show
  1. package/index.cjs.d.ts +1 -0
  2. package/index.cjs.js +4233 -5
  3. package/index.esm.d.ts +1 -0
  4. package/index.esm.js +4129 -0
  5. package/package.json +9 -2
  6. package/src/agent/{ai-model.ts → ai-model.d.ts} +2 -2
  7. package/src/agent/graph.d.ts +148 -0
  8. package/src/agent/index.d.ts +5 -0
  9. package/src/agent/token.d.ts +21 -0
  10. package/src/agent/utils.d.ts +19 -0
  11. package/src/agent/variables.d.ts +14 -0
  12. package/src/ai/ai-model.model.d.ts +198 -0
  13. package/src/ai/ai-provider.model.d.ts +43 -0
  14. package/src/ai/ai.model.d.ts +82 -0
  15. package/src/ai/chat-message-feedback.model.d.ts +24 -0
  16. package/src/ai/chat-message.model.d.ts +222 -0
  17. package/src/ai/chat.model.d.ts +189 -0
  18. package/src/ai/copilot-checkpoint.model.d.ts +23 -0
  19. package/src/ai/copilot-example.model.d.ts +19 -0
  20. package/src/ai/copilot-model.model.d.ts +26 -0
  21. package/src/ai/copilot-organization.model.d.ts +17 -0
  22. package/src/ai/copilot-provider.model.d.ts +31 -0
  23. package/src/ai/copilot-role.model.d.ts +43 -0
  24. package/src/ai/copilot-store.model.d.ts +29 -0
  25. package/src/ai/copilot-user.model.d.ts +20 -0
  26. package/src/ai/copilot.model.d.ts +36 -0
  27. package/src/ai/{environment.model.ts → environment.model.d.ts} +10 -12
  28. package/src/ai/feature.model.d.ts +6 -0
  29. package/src/ai/index.d.ts +39 -0
  30. package/src/ai/knowledge-doc-chunk.model.d.ts +60 -0
  31. package/src/ai/knowledge-doc-page.model.d.ts +15 -0
  32. package/src/ai/knowledge-doc.model.d.ts +192 -0
  33. package/src/ai/knowledge-pipeline.d.ts +107 -0
  34. package/src/ai/knowledge-retrieval-log.model.d.ts +10 -0
  35. package/src/ai/knowledgebase-task.model.d.ts +39 -0
  36. package/src/ai/knowledgebase.model.d.ts +162 -0
  37. package/src/ai/rag-web.d.ts +26 -0
  38. package/src/ai/rag.d.ts +24 -0
  39. package/src/ai/role-permissions.d.ts +13 -0
  40. package/src/ai/types.d.ts +39 -0
  41. package/src/ai/xpert-agent-execution.model.d.ts +96 -0
  42. package/src/ai/xpert-agent.model.d.ts +192 -0
  43. package/src/ai/xpert-project.model.d.ts +86 -0
  44. package/src/ai/xpert-task.model.d.ts +26 -0
  45. package/src/ai/xpert-template.model.d.ts +47 -0
  46. package/src/ai/xpert-tool-mcp.model.d.ts +67 -0
  47. package/src/ai/xpert-tool.model.d.ts +147 -0
  48. package/src/ai/xpert-toolset.model.d.ts +200 -0
  49. package/src/ai/xpert-workflow-task.prompt.d.ts +2 -0
  50. package/src/ai/xpert-workflow.model.d.ts +366 -0
  51. package/src/ai/xpert-workspace.model.d.ts +32 -0
  52. package/src/ai/xpert.model.d.ts +529 -0
  53. package/src/ai/xpert.utils.d.ts +80 -0
  54. package/src/analytics/ai.d.ts +73 -0
  55. package/src/analytics/approval-policy.model.d.ts +30 -0
  56. package/src/analytics/business-area-user.model.d.ts +35 -0
  57. package/src/analytics/business-area.d.ts +17 -0
  58. package/src/analytics/certification.model.d.ts +11 -0
  59. package/src/analytics/chatbi-conversation.model.d.ts +15 -0
  60. package/src/analytics/chatbi-model.model.d.ts +18 -0
  61. package/src/analytics/collection.model.d.ts +6 -0
  62. package/src/analytics/comment.model.d.ts +10 -0
  63. package/src/analytics/data-source-type.d.ts +16 -0
  64. package/src/analytics/data-source.d.ts +62 -0
  65. package/src/analytics/favorite.d.ts +14 -0
  66. package/src/analytics/features.d.ts +19 -0
  67. package/src/analytics/feed-model.d.ts +13 -0
  68. package/src/analytics/gateway.d.ts +27 -0
  69. package/src/analytics/index.d.ts +38 -0
  70. package/src/analytics/indicator-app.d.ts +44 -0
  71. package/src/analytics/{indicator-market.ts → indicator-market.d.ts} +2 -6
  72. package/src/analytics/indicator.d.ts +106 -0
  73. package/src/analytics/model-query-log.model.d.ts +41 -0
  74. package/src/analytics/model-query.d.ts +21 -0
  75. package/src/analytics/{notification-destination.ts → notification-destination.d.ts} +5 -9
  76. package/src/analytics/{permission-approval-user.model.ts → permission-approval-user.model.d.ts} +8 -10
  77. package/src/analytics/permission-approval.model.d.ts +47 -0
  78. package/src/analytics/project.model.d.ts +50 -0
  79. package/src/analytics/role-permissions.d.ts +25 -0
  80. package/src/analytics/schema.d.ts +262 -0
  81. package/src/analytics/screenshot.model.d.ts +25 -0
  82. package/src/analytics/semantic-model-entity.d.ts +37 -0
  83. package/src/analytics/semantic-model-member.d.ts +24 -0
  84. package/src/analytics/semantic-model.d.ts +175 -0
  85. package/src/analytics/{story-point.ts → story-point.d.ts} +6 -11
  86. package/src/analytics/story-template.model.d.ts +28 -0
  87. package/src/analytics/story-widget.d.ts +12 -0
  88. package/src/analytics/story.d.ts +93 -0
  89. package/src/analytics/subscription.d.ts +38 -0
  90. package/src/analytics/visit.model.d.ts +34 -0
  91. package/src/analytics/webSocket.d.ts +48 -0
  92. package/src/api-key.model.d.ts +10 -0
  93. package/src/base-entity.model.d.ts +27 -0
  94. package/src/contact.model.d.ts +41 -0
  95. package/src/core.model.d.ts +97 -0
  96. package/src/{country.model.ts → country.model.d.ts} +2 -3
  97. package/src/currency.model.d.ts +579 -0
  98. package/src/{custom-smtp.model.ts → custom-smtp.model.d.ts} +17 -21
  99. package/src/date-picker.model.d.ts +5 -0
  100. package/src/email-template.model.d.ts +39 -0
  101. package/src/email.model.d.ts +36 -0
  102. package/src/employee.model.d.ts +128 -0
  103. package/src/entity-with-members.model.d.ts +13 -0
  104. package/src/feature.model.d.ts +93 -0
  105. package/src/file-provider.d.ts +33 -0
  106. package/src/help-center-article.model.d.ts +0 -0
  107. package/src/help-center.model.d.ts +0 -0
  108. package/src/http-status.enum.d.ts +57 -0
  109. package/src/import-export.model.d.ts +36 -0
  110. package/src/index.d.ts +48 -0
  111. package/src/integration/dify.d.ts +0 -0
  112. package/src/integration/dingtalk.d.ts +2 -0
  113. package/src/integration/fastgpt.d.ts +0 -0
  114. package/src/integration/firecrawl.d.ts +2 -0
  115. package/src/integration/github.d.ts +69 -0
  116. package/src/integration/index.d.ts +4 -0
  117. package/src/integration/lark.d.ts +11 -0
  118. package/src/integration/wecom.d.ts +2 -0
  119. package/src/integration.model.d.ts +90 -0
  120. package/src/invite.model.d.ts +123 -0
  121. package/src/language.model.d.ts +19 -0
  122. package/src/organization-contact.model.d.ts +73 -0
  123. package/src/{organization-department.model.ts → organization-department.model.d.ts} +10 -16
  124. package/src/organization-language.model.d.ts +18 -0
  125. package/src/organization-projects.model.d.ts +80 -0
  126. package/src/organization-team-employee-model.d.ts +12 -0
  127. package/src/organization-team-model.d.ts +19 -0
  128. package/src/organization.model.d.ts +239 -0
  129. package/src/{password-reset.model.ts → password-reset.model.d.ts} +10 -14
  130. package/src/{plain-object.model.ts → plain-object.model.d.ts} +1 -1
  131. package/src/plugin.d.ts +13 -0
  132. package/src/role-permission.model.d.ts +61 -0
  133. package/src/role.model.d.ts +26 -0
  134. package/src/schedule.d.ts +27 -0
  135. package/src/secret-token.model.d.ts +11 -0
  136. package/src/seed.model.d.ts +37 -0
  137. package/src/storage-file.model.d.ts +40 -0
  138. package/src/tag-entity.model.d.ts +20 -0
  139. package/src/tenant.model.d.ts +40 -0
  140. package/src/tools/index.d.ts +1 -0
  141. package/src/tools/sandbox.d.ts +5 -0
  142. package/src/translation.model.d.ts +26 -0
  143. package/src/types.d.ts +241 -0
  144. package/src/user-organization.model.d.ts +24 -0
  145. package/src/user.model.d.ts +131 -0
  146. package/src/visibility.model.d.ts +6 -0
  147. package/.babelrc +0 -5
  148. package/.eslintrc.json +0 -18
  149. package/babel.config.json +0 -1
  150. package/jest.config.ts +0 -16
  151. package/project.json +0 -53
  152. package/src/agent/graph.ts +0 -272
  153. package/src/agent/index.ts +0 -5
  154. package/src/agent/token.ts +0 -23
  155. package/src/agent/utils.spec.ts +0 -283
  156. package/src/agent/utils.ts +0 -122
  157. package/src/agent/variables.ts +0 -21
  158. package/src/ai/ai-model.model.ts +0 -228
  159. package/src/ai/ai-provider.model.ts +0 -53
  160. package/src/ai/ai.model.ts +0 -87
  161. package/src/ai/chat-message-feedback.model.ts +0 -31
  162. package/src/ai/chat-message.model.ts +0 -277
  163. package/src/ai/chat.model.ts +0 -207
  164. package/src/ai/copilot-checkpoint.model.ts +0 -25
  165. package/src/ai/copilot-example.model.ts +0 -23
  166. package/src/ai/copilot-model.model.ts +0 -31
  167. package/src/ai/copilot-organization.model.ts +0 -21
  168. package/src/ai/copilot-provider.model.ts +0 -46
  169. package/src/ai/copilot-role.model.ts +0 -48
  170. package/src/ai/copilot-store.model.ts +0 -34
  171. package/src/ai/copilot-user.model.ts +0 -24
  172. package/src/ai/copilot.model.ts +0 -47
  173. package/src/ai/feature.model.ts +0 -6
  174. package/src/ai/index.ts +0 -39
  175. package/src/ai/knowledge-doc-chunk.model.ts +0 -120
  176. package/src/ai/knowledge-doc-chunk.spec.ts +0 -47
  177. package/src/ai/knowledge-doc-page.model.ts +0 -20
  178. package/src/ai/knowledge-doc.model.ts +0 -252
  179. package/src/ai/knowledge-pipeline.ts +0 -138
  180. package/src/ai/knowledge-retrieval-log.model.ts +0 -19
  181. package/src/ai/knowledgebase-task.model.ts +0 -46
  182. package/src/ai/knowledgebase.model.ts +0 -190
  183. package/src/ai/rag-web.ts +0 -54
  184. package/src/ai/rag.ts +0 -24
  185. package/src/ai/role-permissions.ts +0 -13
  186. package/src/ai/types.ts +0 -83
  187. package/src/ai/xpert-agent-execution.model.ts +0 -115
  188. package/src/ai/xpert-agent.model.ts +0 -258
  189. package/src/ai/xpert-project.model.ts +0 -103
  190. package/src/ai/xpert-task.model.ts +0 -32
  191. package/src/ai/xpert-template.model.ts +0 -53
  192. package/src/ai/xpert-tool-mcp.model.ts +0 -72
  193. package/src/ai/xpert-tool.model.ts +0 -211
  194. package/src/ai/xpert-toolset.model.ts +0 -220
  195. package/src/ai/xpert-workflow-task.prompt.ts +0 -71
  196. package/src/ai/xpert-workflow.model.ts +0 -449
  197. package/src/ai/xpert-workspace.model.ts +0 -42
  198. package/src/ai/xpert.model.ts +0 -613
  199. package/src/ai/xpert.utils.ts +0 -214
  200. package/src/analytics/ai.ts +0 -79
  201. package/src/analytics/approval-policy.model.ts +0 -40
  202. package/src/analytics/business-area-user.model.ts +0 -43
  203. package/src/analytics/business-area.ts +0 -20
  204. package/src/analytics/certification.model.ts +0 -12
  205. package/src/analytics/chatbi-conversation.model.ts +0 -16
  206. package/src/analytics/chatbi-model.model.ts +0 -22
  207. package/src/analytics/collection.model.ts +0 -8
  208. package/src/analytics/comment.model.ts +0 -14
  209. package/src/analytics/data-source-type.ts +0 -19
  210. package/src/analytics/data-source.ts +0 -72
  211. package/src/analytics/favorite.ts +0 -18
  212. package/src/analytics/features.ts +0 -19
  213. package/src/analytics/feed-model.ts +0 -15
  214. package/src/analytics/gateway.ts +0 -30
  215. package/src/analytics/index.ts +0 -39
  216. package/src/analytics/indicator-app.ts +0 -49
  217. package/src/analytics/indicator.ts +0 -127
  218. package/src/analytics/model-query-log.model.ts +0 -45
  219. package/src/analytics/model-query.ts +0 -22
  220. package/src/analytics/permission-approval.model.ts +0 -58
  221. package/src/analytics/project.model.ts +0 -56
  222. package/src/analytics/role-permissions.ts +0 -36
  223. package/src/analytics/schema.ts +0 -300
  224. package/src/analytics/screenshot.model.ts +0 -28
  225. package/src/analytics/semantic-model-entity.ts +0 -49
  226. package/src/analytics/semantic-model-member.ts +0 -45
  227. package/src/analytics/semantic-model.ts +0 -227
  228. package/src/analytics/story-template.model.ts +0 -34
  229. package/src/analytics/story-widget.ts +0 -15
  230. package/src/analytics/story.ts +0 -109
  231. package/src/analytics/subscription.ts +0 -43
  232. package/src/analytics/visit.model.ts +0 -39
  233. package/src/analytics/webSocket.ts +0 -53
  234. package/src/api-key.model.ts +0 -11
  235. package/src/base-entity.model.ts +0 -34
  236. package/src/contact.model.ts +0 -45
  237. package/src/core.model.ts +0 -103
  238. package/src/currency.model.ts +0 -582
  239. package/src/date-picker.model.ts +0 -5
  240. package/src/email-template.model.ts +0 -50
  241. package/src/email.model.ts +0 -46
  242. package/src/employee.model.ts +0 -199
  243. package/src/entity-with-members.model.ts +0 -16
  244. package/src/feature.model.ts +0 -108
  245. package/src/file-provider.ts +0 -37
  246. package/src/help-center-article.model.ts +0 -35
  247. package/src/help-center.model.ts +0 -33
  248. package/src/http-status.enum.ts +0 -58
  249. package/src/import-export.model.ts +0 -42
  250. package/src/index.ts +0 -60
  251. package/src/integration/dify.ts +0 -31
  252. package/src/integration/dingtalk.ts +0 -16
  253. package/src/integration/fastgpt.ts +0 -32
  254. package/src/integration/firecrawl.ts +0 -46
  255. package/src/integration/github.ts +0 -149
  256. package/src/integration/index.ts +0 -15
  257. package/src/integration/lark.ts +0 -79
  258. package/src/integration/wecom.ts +0 -16
  259. package/src/integration.model.ts +0 -119
  260. package/src/invite.model.ts +0 -144
  261. package/src/language.model.ts +0 -22
  262. package/src/organization-contact.model.ts +0 -84
  263. package/src/organization-language.model.ts +0 -24
  264. package/src/organization-projects.model.ts +0 -99
  265. package/src/organization-team-employee-model.ts +0 -14
  266. package/src/organization-team-model.ts +0 -25
  267. package/src/organization.model.ts +0 -266
  268. package/src/plugin.ts +0 -15
  269. package/src/role-permission.model.ts +0 -123
  270. package/src/role.model.ts +0 -31
  271. package/src/schedule.ts +0 -71
  272. package/src/secret-token.model.ts +0 -15
  273. package/src/seed.model.ts +0 -50
  274. package/src/storage-file.model.ts +0 -46
  275. package/src/tag-entity.model.ts +0 -23
  276. package/src/tenant.model.ts +0 -52
  277. package/src/tools/index.ts +0 -1
  278. package/src/tools/sandbox.ts +0 -5
  279. package/src/translation.model.ts +0 -37
  280. package/src/types.ts +0 -277
  281. package/src/user-organization.model.ts +0 -31
  282. package/src/user.model.ts +0 -151
  283. package/src/visibility.model.ts +0 -6
  284. package/tsconfig.json +0 -22
  285. package/tsconfig.lib.json +0 -10
  286. package/tsconfig.spec.json +0 -9
@@ -1,46 +0,0 @@
1
- import { AiModelTypeEnum } from '../agent'
2
- import { IBasePerTenantAndOrganizationEntityModel } from '../base-entity.model'
3
- import { IAiProviderEntity } from './ai-model.model'
4
- import { ICopilot } from './copilot.model'
5
-
6
- export interface ICopilotProvider extends IBasePerTenantAndOrganizationEntityModel {
7
- providerName?: string
8
- providerType?: string
9
- credentials?: Record<string, any>
10
- // encryptedConfig?: Record<string, any>
11
- isValid?: boolean
12
- lastUsed?: Date
13
- quotaType?: string
14
- quotaLimit?: number
15
- quotaUsed?: number
16
-
17
- /**
18
- */
19
- options?: any
20
-
21
- copilot?: ICopilot
22
- copilotId?: string
23
-
24
- models?: ICopilotProviderModel[]
25
-
26
- // Temporary properties
27
- provider?: IAiProviderEntity
28
- }
29
-
30
-
31
- export interface ICopilotProviderModel extends IBasePerTenantAndOrganizationEntityModel {
32
- providerName?: string
33
- modelName?: string
34
- modelType?: AiModelTypeEnum
35
- // encryptedConfig?: Record<string, any>
36
- modelProperties?: Record<string, any>
37
- isValid?: boolean
38
-
39
- // Many to one
40
- provider?: ICopilotProvider
41
- providerId?: string
42
-
43
- // Temporary properties
44
- }
45
-
46
- export type TCopilotProviderPublicDto = Omit<ICopilotProvider, 'credentials'>
@@ -1,48 +0,0 @@
1
- import { IBasePerTenantAndOrganizationEntityModel } from '../base-entity.model'
2
- import { IXpertToolset } from './xpert-toolset.model'
3
- import { IKnowledgebase } from './knowledgebase.model'
4
-
5
- /**
6
- * @deprecated use Xpert
7
- *
8
- * Copilot role, business role for the copilot
9
- */
10
- export interface ICopilotRole extends IBasePerTenantAndOrganizationEntityModel {
11
- name: string
12
- title?: string
13
- titleCN?: string
14
- description?: string
15
- /**
16
- * 系统提示语
17
- */
18
- prompt?: string
19
- /**
20
- * 对话开场白
21
- */
22
- starters?: string[]
23
- active?: boolean
24
- avatar?: string
25
-
26
- toolsets?: IXpertToolset[]
27
- /**
28
- * More configuration
29
- */
30
- options?: TCopilotRoleOptions
31
-
32
- // Many to many relationship
33
- knowledgebases?: IKnowledgebase[]
34
- }
35
-
36
- /**
37
- * @deprecated use XpertRole
38
- */
39
- export type TCopilotRoleOptions = {
40
- context?: Record<string, any>
41
- toolsets: {
42
- [id: string]: {
43
- [tool: string]: {
44
- defaultArgs: Record<string, any>
45
- }
46
- }
47
- }
48
- }
@@ -1,34 +0,0 @@
1
- import { IBasePerTenantAndOrganizationEntityModel } from '../base-entity.model'
2
-
3
- export interface ICopilotStore extends TCopilotStore, IBasePerTenantAndOrganizationEntityModel {}
4
-
5
- export interface ICopilotStoreVector extends TCopilotStoreVector, IBasePerTenantAndOrganizationEntityModel {
6
- }
7
-
8
- export type TCopilotStore = {
9
- prefix: string
10
- key?: string
11
- value: any
12
- }
13
-
14
- export type TCopilotStoreVector = {
15
- prefix: string
16
- key: string
17
- field_name: any
18
- embedding: number[]
19
- }
20
-
21
- export const MEMORY_QA_PROMPT = `Summarize the experience of the above conversation and output a short question and answer.`
22
- export const MEMORY_PROFILE_PROMPT = `Extract new user profile information from the above conversation in one short sentence. If no new information is available, return nothing.`
23
-
24
- export type TMemory = {
25
- memoryId?: string
26
- }
27
- export type TMemoryUserProfile = TMemory & {
28
- profile: string
29
- context?: string
30
- }
31
- export type TMemoryQA = TMemory & {
32
- question: string
33
- answer: string
34
- }
@@ -1,24 +0,0 @@
1
- import { IBasePerTenantAndOrganizationEntityModel } from '../base-entity.model'
2
- import { IOrganization } from '../organization.model'
3
- import { IUser } from '../user.model'
4
- import { AiProvider } from './ai.model'
5
- import { ICopilot, TCopilotTokenUsage } from './copilot.model'
6
-
7
- /**
8
- *
9
- */
10
- export interface ICopilotUser extends IBasePerTenantAndOrganizationEntityModel, TCopilotTokenUsage {
11
- orgId?: string
12
- org?: IOrganization
13
- copilotId?: string
14
- copilot?: ICopilot
15
- userId?: string
16
- user?: IUser
17
- // Associated AI Model provider
18
- provider?: AiProvider | string
19
- model?: string
20
-
21
- // Total tokens used historically
22
- tokenTotalUsed?: number
23
- priceTotalUsed?: number
24
- }
@@ -1,47 +0,0 @@
1
- import { IBasePerTenantAndOrganizationEntityModel } from '../base-entity.model'
2
- import { ICopilotModel } from './copilot-model.model'
3
- import { ICopilotProvider } from './copilot-provider.model'
4
-
5
- export interface ICopilot extends IBasePerTenantAndOrganizationEntityModel {
6
- name?: string
7
- role: AiProviderRole
8
- enabled?: boolean
9
-
10
- showTokenizer?: boolean
11
- /**
12
- * Balance of Token
13
- */
14
- tokenBalance?: number
15
-
16
- /**
17
- * Details config for openai api
18
- */
19
- options?: any
20
-
21
- modelProvider?: ICopilotProvider
22
- copilotModel?: ICopilotModel
23
-
24
- // Temporary properties
25
- usage?: TCopilotTokenUsage
26
- }
27
-
28
- /**
29
- * The order of priority is: `Embedding`, `Secondary`, `Primary`
30
- */
31
- export enum AiProviderRole {
32
- Primary = 'primary',
33
- Secondary = 'secondary',
34
- Embedding = 'embedding',
35
- Reasoning = 'reasoning'
36
- }
37
-
38
- export type TCopilotTokenUsage = {
39
- // Token limit for the current period
40
- tokenLimit?: number
41
- priceLimit?: number
42
- // Tokens used in the current period
43
- tokenUsed?: number
44
- priceUsed?: number
45
-
46
- currency?: string
47
- }
@@ -1,6 +0,0 @@
1
- export enum AiFeatureEnum {
2
- FEATURE_COPILOT = 'FEATURE_COPILOT',
3
- FEATURE_COPILOT_KNOWLEDGEBASE = 'FEATURE_COPILOT_KNOWLEDGEBASE',
4
- FEATURE_COPILOT_CHAT = 'FEATURE_COPILOT_CHAT',
5
- FEATURE_XPERT = 'FEATURE_XPERT',
6
- }
package/src/ai/index.ts DELETED
@@ -1,39 +0,0 @@
1
- export * from './ai-model.model'
2
- export * from './ai.model'
3
- export * from './chat.model'
4
- export * from './chat-message.model'
5
- export * from './chat-message-feedback.model'
6
- export * from './copilot-checkpoint.model'
7
- export * from './copilot-example.model'
8
- export * from './copilot-model.model'
9
- export * from './copilot-organization.model'
10
- export * from './copilot-provider.model'
11
- export * from './copilot-store.model'
12
- export * from './copilot-user.model'
13
- export * from './copilot.model'
14
- export * from './feature.model'
15
- export * from './rag'
16
- export * from './rag-web'
17
- export * from './knowledgebase.model'
18
- export * from './knowledge-doc.model'
19
- export * from './knowledge-doc-page.model'
20
- export * from './role-permissions'
21
- export * from './xpert-agent-execution.model'
22
- export * from './xpert-agent.model'
23
- export * from './xpert-tool.model'
24
- export * from './xpert-toolset.model'
25
- export * from './xpert-workspace.model'
26
- export * from './xpert.model'
27
- export * from './xpert.utils'
28
- export * from './types'
29
- export * from './xpert-template.model'
30
- export * from './xpert-task.model'
31
- export * from './xpert-workflow.model'
32
- export * from './xpert-workflow-task.prompt'
33
- export * from './xpert-tool-mcp.model'
34
- export * from './xpert-project.model'
35
- export * from './environment.model'
36
- export * from './knowledgebase-task.model'
37
- export * from './knowledge-pipeline'
38
- export * from './knowledge-retrieval-log.model'
39
- export * from './knowledge-doc-chunk.model'
@@ -1,120 +0,0 @@
1
- import { DocumentInterface } from '@langchain/core/documents'
2
- import { IBasePerTenantAndOrganizationEntityModel } from '../base-entity.model'
3
- import { IKnowledgeDocument } from './knowledge-doc.model'
4
- import { IKnowledgebase } from './knowledgebase.model'
5
-
6
- export type TDocumentAsset = {
7
- type: 'image' | 'video' | 'audio' | 'file'
8
- url: string // remote url
9
- filePath: string // local path
10
- }
11
-
12
- export interface IDocChunkMetadata {
13
- chunkId: string
14
- parentId?: string | null
15
- children?: DocumentInterface<IDocChunkMetadata>[]
16
-
17
- knowledgeId?: string
18
- chunkIndex?: number // Index within the document or parent chunk
19
- enabled?: boolean
20
-
21
- /**
22
- * Default to 'text'. Indicates the original media type of the chunk.
23
- * @default text
24
- */
25
- mediaType?: 'text' | 'image' | 'video' | 'audio' // Media type of the chunk
26
- /**
27
- * Associated assets like images, videos, etc.
28
- */
29
- assets?: TDocumentAsset[]
30
- /**
31
- * Whether the chunk is represented as a vector in the vector store
32
- */
33
- isVector?: boolean
34
- score?: number
35
- relevanceScore?: number
36
-
37
- [key: string]: any
38
- }
39
-
40
-
41
- /**
42
- * Segmented chunk of a knowledge document
43
- */
44
- export interface IKnowledgeDocumentChunk<Metadata extends IDocChunkMetadata = any>
45
- extends DocumentInterface<Metadata>,
46
- IBasePerTenantAndOrganizationEntityModel {
47
- documentId?: string
48
- document?: IKnowledgeDocument
49
- knowledgebaseId?: string
50
- knowledgebase?: IKnowledgebase
51
-
52
- parent?: IKnowledgeDocumentChunk<Metadata>
53
- children?: IKnowledgeDocumentChunk<Metadata>[]
54
- }
55
-
56
-
57
- /**
58
- * Build a hierarchical tree structure from a flat list of DocumentInterface objects,
59
- * and
60
- *
61
- * @template Metadata - Type of metadata, defaults to IDocChunkMetadata
62
- * @param documents - A flat array of DocumentInterface objects
63
- * @returns the hierarchical tree (root-level DocumentInterface[])
64
- */
65
- export function buildChunkTree<Metadata extends IDocChunkMetadata = IDocChunkMetadata>(
66
- documents: DocumentInterface<Metadata>[]
67
- ): DocumentInterface<Metadata>[] {
68
- if (!documents || documents.length === 0) return []
69
-
70
- // Step 1. Build a lookup map for quick access by chunkId
71
- const map = new Map<string, DocumentInterface<Metadata>>()
72
- for (const doc of documents) {
73
- if (doc.metadata?.chunkId) {
74
- map.set(doc.metadata.chunkId, { ...doc, metadata: { ...doc.metadata, children: [] } })
75
- }
76
- }
77
-
78
- // Step 2. Organize nodes into tree
79
- const roots: DocumentInterface<Metadata>[] = []
80
-
81
- for (const doc of map.values()) {
82
- const parentId = doc.metadata.parentId
83
- if (parentId && map.has(parentId)) {
84
- const parent = map.get(parentId)
85
- parent.metadata.children = parent.metadata.children || []
86
- parent.metadata.children.push(doc)
87
- } else {
88
- roots.push(doc)
89
- }
90
- }
91
-
92
- return roots
93
- }
94
-
95
- /**
96
- * Find all leaf nodes (nodes without children).
97
- *
98
- * @param roots
99
- * @returns
100
- */
101
- export function collectTreeLeaves(roots: IKnowledgeDocumentChunk[]) {
102
- const leaves: IKnowledgeDocumentChunk[] = []
103
-
104
- const collectLeaves = (node: IKnowledgeDocumentChunk) => {
105
- const children = node.metadata.children
106
- if (!children || children.length === 0) {
107
- leaves.push(node)
108
- } else {
109
- for (const child of children) {
110
- collectLeaves(child as IKnowledgeDocumentChunk)
111
- }
112
- }
113
- }
114
-
115
- for (const root of roots) {
116
- collectLeaves(root)
117
- }
118
-
119
- return leaves
120
- }
@@ -1,47 +0,0 @@
1
- import { DocumentInterface } from "@langchain/core/documents"
2
- import { buildChunkTree, IDocChunkMetadata } from "./knowledge-doc-chunk.model"
3
-
4
- describe("buildChunkTree", () => {
5
- function makeDoc(
6
- chunkId: string,
7
- parentId?: string,
8
- extra?: Partial<IDocChunkMetadata>
9
- ): DocumentInterface<IDocChunkMetadata> {
10
- return {
11
- pageContent: `Content ${chunkId}`,
12
- metadata: {
13
- chunkId,
14
- parentId,
15
- ...extra,
16
- } as IDocChunkMetadata,
17
- }
18
- }
19
-
20
- it("does not mutate input documents", () => {
21
- const chunks: DocumentInterface<IDocChunkMetadata>[] = [
22
- {
23
- pageContent: 'Parent chunk',
24
- metadata: { chunkId: '1' },
25
- },
26
- {
27
- pageContent: 'Parent chunk',
28
- metadata: { chunkId: '2' },
29
- },
30
- {
31
- pageContent: 'Child 1',
32
- metadata: { chunkId: '1-1', parentId: '1', type: 'child' },
33
- },
34
- {
35
- pageContent: 'Child 2',
36
- metadata: { chunkId: '1-2', parentId: '1', type: 'child' },
37
- },
38
- {
39
- pageContent: 'Grandchild of 1-2',
40
- metadata: { chunkId: '1-2-1', parentId: '1-2', type: 'child' },
41
- },
42
- ]
43
-
44
- const tree = buildChunkTree(chunks)
45
- console.log('Tree:', JSON.stringify(tree, null, 2))
46
- })
47
- })
@@ -1,20 +0,0 @@
1
- import { Document } from '@langchain/core/documents'
2
- import { IBasePerTenantAndOrganizationEntityModel } from '../base-entity.model'
3
- import { IKnowledgeDocument } from './knowledge-doc.model'
4
- import { DocumentMetadata, IKnowledgebase } from './knowledgebase.model'
5
-
6
-
7
- /**
8
- * Segmented page of a knowledge document
9
- */
10
- export interface IKnowledgeDocumentPage<Metadata extends DocumentMetadata = DocumentMetadata>
11
- extends Document,
12
- IBasePerTenantAndOrganizationEntityModel {
13
- documentId?: string
14
- document?: IKnowledgeDocument
15
- knowledgebaseId?: string
16
- knowledgebase?: IKnowledgebase
17
-
18
- metadata: Metadata
19
- pageContent: string
20
- }
@@ -1,252 +0,0 @@
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 } 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
-
12
-
13
- export type DocumentParserConfig = {
14
- pages?: number[][]
15
- replaceWhitespace?: boolean
16
- removeSensitive?: boolean
17
- textSplitterType?: string
18
- textSplitter?: {
19
- [key: string]: unknown
20
- }
21
- transformerType?: string
22
- transformerIntegration?: string
23
- transformer?: {
24
- [key: string]: unknown
25
- }
26
- imageUnderstandingType?: string
27
- imageUnderstandingIntegration?: string
28
- imageUnderstanding?: {
29
- [key: string]: unknown
30
- }
31
- imageUnderstandingModel?: TCopilotModel
32
- }
33
-
34
- export type DocumentTextParserConfig = DocumentParserConfig & {
35
- delimiter?: string
36
- chunkSize?: number | null
37
- chunkOverlap?: number | null
38
- }
39
-
40
- export type DocumentSheetParserConfig = DocumentParserConfig & {
41
- fields?: string[]
42
- indexedFields?: string[]
43
- }
44
-
45
- /**
46
- * Import Type:
47
- * - file: local file
48
- * - web: web document
49
- * ...
50
- */
51
- export enum DocumentTypeEnum {
52
- /**
53
- * Folder, parent of other documents
54
- */
55
- FOLDER = 'folder',
56
-
57
- /**
58
- * Local files
59
- * @deprecated use DocumentSourceProviderCategoryEnum local file type instead
60
- */
61
- FILE = 'file'
62
- }
63
- export const KDocumentSourceType = {
64
- ...DocumentSourceProviderCategoryEnum,
65
- ...DocumentTypeEnum
66
- }
67
-
68
- /**
69
- * Document type category, determine how to process the document.
70
- */
71
- export enum KBDocumentCategoryEnum {
72
- Text = 'text',
73
- Image = 'image',
74
- Audio = 'audio',
75
- Video = 'video',
76
- Sheet = 'sheet',
77
- Other = 'other'
78
- }
79
-
80
- export enum KBDocumentStatusEnum {
81
- WAITING = 'waiting',
82
- VALIDATE = 'validate',
83
- RUNNING = 'running',
84
- TRANSFORMED = 'transformed',
85
- SPLITTED = 'splitted',
86
- UNDERSTOOD = 'understood',
87
- EMBEDDING = 'embedding',
88
- CANCEL = 'cancel',
89
- FINISH = 'finish',
90
- ERROR = 'error'
91
- }
92
-
93
- export type TDocumentWebOptions = TRagWebOptions & {
94
- //
95
- }
96
-
97
- export type TDocSourceConfig = {
98
- key?: string
99
- }
100
-
101
- export type TKnowledgeDocument = {
102
- disabled?: boolean
103
-
104
- knowledgebaseId?: string
105
-
106
- /**
107
- * @deprecated use fileUrl instead
108
- */
109
- storageFileId?: string
110
- /**
111
- * @deprecated use fileUrl instead
112
- */
113
- storageFile?: IStorageFile
114
-
115
- /**
116
- * thumbnail base64 string
117
- */
118
- thumbnail?: string
119
-
120
- /**
121
- * default parser ID
122
- * @deprecated unused
123
- */
124
- parserId: string
125
- parserConfig: DocumentTextParserConfig
126
- /**
127
- * where dose this document come from
128
- */
129
- sourceType?: DocumentSourceProviderCategoryEnum | DocumentTypeEnum
130
- sourceConfig?: TDocSourceConfig
131
- /**
132
- * document type category
133
- */
134
- category?: KBDocumentCategoryEnum | null
135
- /**
136
- * Local file extension or Web doc provider
137
- */
138
- type: string
139
- /**
140
- * file name or web url
141
- */
142
- name: string
143
- /**
144
- * where does it store
145
- */
146
- filePath: string
147
- fileUrl?: string
148
- /**
149
- * Folder path in server for this document file.
150
- * Init it in creating document entity.
151
- */
152
- folder?: string
153
-
154
- size?: string
155
- mimeType?: string
156
-
157
- tokenNum?: number | null
158
- chunkNum?: number | null
159
-
160
- progress?: number | null
161
- /**
162
- * process message
163
- */
164
- processMsg?: string | null
165
-
166
- processBeginAt?: Date | null
167
-
168
- processDuation?: number | null
169
-
170
- /**
171
- * is it validate (0: wasted,1: validate)
172
- */
173
- status?: KBDocumentStatusEnum
174
- /**
175
- * The background job id
176
- */
177
- jobId?: string
178
-
179
- options?: TDocumentWebOptions
180
-
181
- integrationId?: string
182
- integration?: IIntegration
183
-
184
- /**
185
- * @deprecated use chunks instead
186
- */
187
- pages?: IKnowledgeDocumentPage[]
188
-
189
- chunks?: IKnowledgeDocumentChunk[]
190
- tasks?: IKnowledgebaseTask[]
191
- }
192
-
193
- /**
194
- * Document, include file, web pages, folder, virtual, etc.
195
- */
196
- export interface IKnowledgeDocument<T = Metadata> extends TKnowledgeDocument, IBasePerTenantAndOrganizationEntityModel {
197
- parent?: IKnowledgeDocument | null
198
- children?: IKnowledgeDocument[]
199
- knowledgebase?: IKnowledgebase
200
-
201
- draft?: TKnowledgeDocument
202
-
203
- metadata?: T
204
- }
205
-
206
- // export interface IDocumentChunk<Metadata = DocumentMetadata> {
207
- // id: string
208
- // pageContent: string
209
- // metadata: Metadata & {
210
- // knowledgeId?: string
211
- // }
212
- // collection_id: string
213
- // }
214
-
215
- export type Metadata = any
216
-
217
- export interface IKnowledgeDocumentCreateInput
218
- extends IKnowledgeDocument, IBasePerTenantAndOrganizationEntityModel {}
219
-
220
- export interface IKnowledgeDocumentUpdateInput
221
- extends Partial<IKnowledgeDocumentCreateInput> {
222
- id?: string;
223
- }
224
-
225
- export interface IKnowledgeDocumentFindInput
226
- extends IBasePerTenantAndOrganizationEntityModel,
227
- IKnowledgeDocument {}
228
-
229
-
230
- export function isDocumentSheet(type: string): boolean {
231
- return ['csv', 'xls', 'xlsx', 'ods', 'vnd.openxmlformats-officedocument.spreadsheetml.sheet'].includes(type)
232
- }
233
-
234
- export function isImageType(type: string): boolean {
235
- return ['jpg', 'jpeg', 'png', 'gif', 'bmp', 'tiff', 'svg', 'webp'].includes(type)
236
- }
237
-
238
- export function isVideoType(type: string): boolean {
239
- return ['mp4', 'avi', 'mov', 'wmv', 'flv', 'mkv', 'webm'].includes(type)
240
- }
241
-
242
- export function isAudioType(type: string): boolean {
243
- return ['mp3', 'wav', 'aac', 'flac', 'ogg', 'm4a'].includes(type)
244
- }
245
-
246
- export function classificateDocumentCategory(entity: Partial<IKnowledgeDocument>): KBDocumentCategoryEnum {
247
- return isDocumentSheet(entity.type) ? KBDocumentCategoryEnum.Sheet :
248
- isImageType(entity.type) ? KBDocumentCategoryEnum.Image :
249
- isVideoType(entity.type) ? KBDocumentCategoryEnum.Video :
250
- isAudioType(entity.type) ? KBDocumentCategoryEnum.Audio :
251
- KBDocumentCategoryEnum.Text
252
- }