@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.
- package/.babelrc +5 -0
- package/.eslintrc.json +18 -0
- package/babel.config.json +1 -0
- package/index.cjs.js +5 -4233
- package/jest.config.ts +16 -0
- package/package.json +2 -2
- package/project.json +53 -0
- package/src/agent/{ai-model.d.ts → ai-model.ts} +2 -2
- package/src/agent/graph.ts +275 -0
- package/src/agent/index.ts +5 -0
- package/src/agent/token.ts +23 -0
- package/src/agent/utils.spec.ts +283 -0
- package/src/agent/utils.ts +122 -0
- package/src/agent/variables.ts +66 -0
- package/src/ai/ai-model.model.ts +232 -0
- package/src/ai/ai-provider.model.ts +53 -0
- package/src/ai/ai.model.ts +87 -0
- package/src/ai/chat-message-feedback.model.ts +31 -0
- package/src/ai/chat-message.model.ts +277 -0
- package/src/ai/chat.model.ts +207 -0
- package/src/ai/copilot-checkpoint.model.ts +25 -0
- package/src/ai/copilot-example.model.ts +23 -0
- package/src/ai/copilot-model.model.ts +31 -0
- package/src/ai/copilot-organization.model.ts +21 -0
- package/src/ai/copilot-provider.model.ts +46 -0
- package/src/ai/copilot-role.model.ts +48 -0
- package/src/ai/copilot-store.model.ts +34 -0
- package/src/ai/copilot-user.model.ts +24 -0
- package/src/ai/copilot.model.ts +47 -0
- package/src/ai/{environment.model.d.ts → environment.model.ts} +12 -10
- package/src/ai/feature.model.ts +6 -0
- package/src/ai/index.ts +40 -0
- package/src/ai/knowledge-doc-chunk.model.ts +123 -0
- package/src/ai/knowledge-doc-chunk.spec.ts +47 -0
- package/src/ai/knowledge-doc-page.model.ts +20 -0
- package/src/ai/knowledge-doc.model.ts +364 -0
- package/src/ai/knowledge-pipeline.ts +138 -0
- package/src/ai/knowledge-retrieval-log.model.ts +19 -0
- package/src/ai/knowledgebase-task.model.ts +46 -0
- package/src/ai/knowledgebase.model.ts +205 -0
- package/src/ai/rag-web.ts +54 -0
- package/src/ai/rag.ts +24 -0
- package/src/ai/role-permissions.ts +13 -0
- package/src/ai/types.ts +83 -0
- package/src/ai/xpert-agent-execution.model.ts +115 -0
- package/src/ai/xpert-agent.model.ts +264 -0
- package/src/ai/xpert-project.model.ts +103 -0
- package/src/ai/xpert-table.model.ts +100 -0
- package/src/ai/xpert-task.model.ts +32 -0
- package/src/ai/xpert-template.model.ts +53 -0
- package/src/ai/xpert-tool-mcp.model.ts +77 -0
- package/src/ai/xpert-tool.model.ts +216 -0
- package/src/ai/xpert-toolset.model.ts +220 -0
- package/src/ai/xpert-workflow-task.prompt.ts +71 -0
- package/src/ai/xpert-workflow.model.ts +502 -0
- package/src/ai/xpert-workspace.model.ts +42 -0
- package/src/ai/xpert.model.ts +637 -0
- package/src/ai/xpert.utils.ts +214 -0
- package/src/analytics/ai.ts +79 -0
- package/src/analytics/approval-policy.model.ts +40 -0
- package/src/analytics/business-area-user.model.ts +43 -0
- package/src/analytics/business-area.ts +20 -0
- package/src/analytics/certification.model.ts +12 -0
- package/src/analytics/chatbi-conversation.model.ts +16 -0
- package/src/analytics/chatbi-model.model.ts +22 -0
- package/src/analytics/collection.model.ts +8 -0
- package/src/analytics/comment.model.ts +14 -0
- package/src/analytics/data-source-type.ts +19 -0
- package/src/analytics/data-source.ts +72 -0
- package/src/analytics/favorite.ts +18 -0
- package/src/analytics/features.ts +19 -0
- package/src/analytics/feed-model.ts +15 -0
- package/src/analytics/gateway.ts +31 -0
- package/src/analytics/index.ts +39 -0
- package/src/analytics/indicator-app.ts +49 -0
- package/src/analytics/{indicator-market.d.ts → indicator-market.ts} +6 -2
- package/src/analytics/indicator.ts +143 -0
- package/src/analytics/model-query-log.model.ts +45 -0
- package/src/analytics/model-query.ts +22 -0
- package/src/analytics/{notification-destination.d.ts → notification-destination.ts} +9 -5
- package/src/analytics/{permission-approval-user.model.d.ts → permission-approval-user.model.ts} +10 -8
- package/src/analytics/permission-approval.model.ts +58 -0
- package/src/analytics/project.model.ts +56 -0
- package/src/analytics/role-permissions.ts +36 -0
- package/src/analytics/schema.ts +300 -0
- package/src/analytics/screenshot.model.ts +28 -0
- package/src/analytics/semantic-model-entity.ts +50 -0
- package/src/analytics/semantic-model-member.ts +49 -0
- package/src/analytics/semantic-model.ts +237 -0
- package/src/analytics/{story-point.d.ts → story-point.ts} +11 -6
- package/src/analytics/story-template.model.ts +34 -0
- package/src/analytics/story-widget.ts +15 -0
- package/src/analytics/story.ts +109 -0
- package/src/analytics/subscription.ts +43 -0
- package/src/analytics/visit.model.ts +39 -0
- package/src/analytics/webSocket.ts +53 -0
- package/src/api-key.model.ts +11 -0
- package/src/base-entity.model.ts +34 -0
- package/src/contact.model.ts +45 -0
- package/src/core.model.ts +103 -0
- package/src/{country.model.d.ts → country.model.ts} +3 -2
- package/src/currency.model.ts +582 -0
- package/src/{custom-smtp.model.d.ts → custom-smtp.model.ts} +21 -17
- package/src/date-picker.model.ts +5 -0
- package/src/email-template.model.ts +50 -0
- package/src/email.model.ts +46 -0
- package/src/employee.model.ts +199 -0
- package/src/entity-with-members.model.ts +16 -0
- package/src/feature.model.ts +108 -0
- package/src/file-provider.ts +37 -0
- package/src/help-center-article.model.ts +35 -0
- package/src/help-center.model.ts +33 -0
- package/src/http-status.enum.ts +58 -0
- package/src/import-export.model.ts +42 -0
- package/src/index.ts +60 -0
- package/src/integration/dify.ts +31 -0
- package/src/integration/dingtalk.ts +16 -0
- package/src/integration/fastgpt.ts +32 -0
- package/src/integration/firecrawl.ts +46 -0
- package/src/integration/github.ts +149 -0
- package/src/integration/index.ts +15 -0
- package/src/integration/lark.ts +79 -0
- package/src/integration/wecom.ts +16 -0
- package/src/integration.model.ts +119 -0
- package/src/invite.model.ts +144 -0
- package/src/language.model.ts +22 -0
- package/src/organization-contact.model.ts +84 -0
- package/src/{organization-department.model.d.ts → organization-department.model.ts} +16 -10
- package/src/organization-language.model.ts +24 -0
- package/src/organization-projects.model.ts +99 -0
- package/src/organization-team-employee-model.ts +14 -0
- package/src/organization-team-model.ts +25 -0
- package/src/organization.model.ts +266 -0
- package/src/{password-reset.model.d.ts → password-reset.model.ts} +14 -10
- package/src/{plain-object.model.d.ts → plain-object.model.ts} +1 -1
- package/src/plugin.ts +15 -0
- package/src/role-permission.model.ts +123 -0
- package/src/role.model.ts +31 -0
- package/src/schedule.ts +71 -0
- package/src/secret-token.model.ts +15 -0
- package/src/seed.model.ts +50 -0
- package/src/storage-file.model.ts +46 -0
- package/src/tag-entity.model.ts +23 -0
- package/src/tenant.model.ts +52 -0
- package/src/tools/index.ts +1 -0
- package/src/tools/sandbox.ts +5 -0
- package/src/translation.model.ts +37 -0
- package/src/types.ts +277 -0
- package/src/user-organization.model.ts +31 -0
- package/src/user.model.ts +151 -0
- package/src/visibility.model.ts +6 -0
- package/tsconfig.json +22 -0
- package/tsconfig.lib.json +10 -0
- package/tsconfig.spec.json +9 -0
- package/index.cjs.d.ts +0 -1
- package/index.esm.d.ts +0 -1
- package/index.esm.js +0 -4129
- package/src/agent/graph.d.ts +0 -148
- package/src/agent/index.d.ts +0 -5
- package/src/agent/token.d.ts +0 -21
- package/src/agent/utils.d.ts +0 -19
- package/src/agent/variables.d.ts +0 -14
- package/src/ai/ai-model.model.d.ts +0 -198
- package/src/ai/ai-provider.model.d.ts +0 -43
- package/src/ai/ai.model.d.ts +0 -82
- package/src/ai/chat-message-feedback.model.d.ts +0 -24
- package/src/ai/chat-message.model.d.ts +0 -222
- package/src/ai/chat.model.d.ts +0 -189
- package/src/ai/copilot-checkpoint.model.d.ts +0 -23
- package/src/ai/copilot-example.model.d.ts +0 -19
- package/src/ai/copilot-model.model.d.ts +0 -26
- package/src/ai/copilot-organization.model.d.ts +0 -17
- package/src/ai/copilot-provider.model.d.ts +0 -31
- package/src/ai/copilot-role.model.d.ts +0 -43
- package/src/ai/copilot-store.model.d.ts +0 -29
- package/src/ai/copilot-user.model.d.ts +0 -20
- package/src/ai/copilot.model.d.ts +0 -36
- package/src/ai/feature.model.d.ts +0 -6
- package/src/ai/index.d.ts +0 -39
- package/src/ai/knowledge-doc-chunk.model.d.ts +0 -60
- package/src/ai/knowledge-doc-page.model.d.ts +0 -15
- package/src/ai/knowledge-doc.model.d.ts +0 -192
- package/src/ai/knowledge-pipeline.d.ts +0 -107
- package/src/ai/knowledge-retrieval-log.model.d.ts +0 -10
- package/src/ai/knowledgebase-task.model.d.ts +0 -39
- package/src/ai/knowledgebase.model.d.ts +0 -162
- package/src/ai/rag-web.d.ts +0 -26
- package/src/ai/rag.d.ts +0 -24
- package/src/ai/role-permissions.d.ts +0 -13
- package/src/ai/types.d.ts +0 -39
- package/src/ai/xpert-agent-execution.model.d.ts +0 -96
- package/src/ai/xpert-agent.model.d.ts +0 -192
- package/src/ai/xpert-project.model.d.ts +0 -86
- package/src/ai/xpert-task.model.d.ts +0 -26
- package/src/ai/xpert-template.model.d.ts +0 -47
- package/src/ai/xpert-tool-mcp.model.d.ts +0 -67
- package/src/ai/xpert-tool.model.d.ts +0 -147
- package/src/ai/xpert-toolset.model.d.ts +0 -200
- package/src/ai/xpert-workflow-task.prompt.d.ts +0 -2
- package/src/ai/xpert-workflow.model.d.ts +0 -366
- package/src/ai/xpert-workspace.model.d.ts +0 -32
- package/src/ai/xpert.model.d.ts +0 -529
- package/src/ai/xpert.utils.d.ts +0 -80
- package/src/analytics/ai.d.ts +0 -73
- package/src/analytics/approval-policy.model.d.ts +0 -30
- package/src/analytics/business-area-user.model.d.ts +0 -35
- package/src/analytics/business-area.d.ts +0 -17
- package/src/analytics/certification.model.d.ts +0 -11
- package/src/analytics/chatbi-conversation.model.d.ts +0 -15
- package/src/analytics/chatbi-model.model.d.ts +0 -18
- package/src/analytics/collection.model.d.ts +0 -6
- package/src/analytics/comment.model.d.ts +0 -10
- package/src/analytics/data-source-type.d.ts +0 -16
- package/src/analytics/data-source.d.ts +0 -62
- package/src/analytics/favorite.d.ts +0 -14
- package/src/analytics/features.d.ts +0 -19
- package/src/analytics/feed-model.d.ts +0 -13
- package/src/analytics/gateway.d.ts +0 -27
- package/src/analytics/index.d.ts +0 -38
- package/src/analytics/indicator-app.d.ts +0 -44
- package/src/analytics/indicator.d.ts +0 -106
- package/src/analytics/model-query-log.model.d.ts +0 -41
- package/src/analytics/model-query.d.ts +0 -21
- package/src/analytics/permission-approval.model.d.ts +0 -47
- package/src/analytics/project.model.d.ts +0 -50
- package/src/analytics/role-permissions.d.ts +0 -25
- package/src/analytics/schema.d.ts +0 -262
- package/src/analytics/screenshot.model.d.ts +0 -25
- package/src/analytics/semantic-model-entity.d.ts +0 -37
- package/src/analytics/semantic-model-member.d.ts +0 -24
- package/src/analytics/semantic-model.d.ts +0 -175
- package/src/analytics/story-template.model.d.ts +0 -28
- package/src/analytics/story-widget.d.ts +0 -12
- package/src/analytics/story.d.ts +0 -93
- package/src/analytics/subscription.d.ts +0 -38
- package/src/analytics/visit.model.d.ts +0 -34
- package/src/analytics/webSocket.d.ts +0 -48
- package/src/api-key.model.d.ts +0 -10
- package/src/base-entity.model.d.ts +0 -27
- package/src/contact.model.d.ts +0 -41
- package/src/core.model.d.ts +0 -97
- package/src/currency.model.d.ts +0 -579
- package/src/date-picker.model.d.ts +0 -5
- package/src/email-template.model.d.ts +0 -39
- package/src/email.model.d.ts +0 -36
- package/src/employee.model.d.ts +0 -128
- package/src/entity-with-members.model.d.ts +0 -13
- package/src/feature.model.d.ts +0 -93
- package/src/file-provider.d.ts +0 -33
- package/src/help-center-article.model.d.ts +0 -0
- package/src/help-center.model.d.ts +0 -0
- package/src/http-status.enum.d.ts +0 -57
- package/src/import-export.model.d.ts +0 -36
- package/src/index.d.ts +0 -48
- package/src/integration/dify.d.ts +0 -0
- package/src/integration/dingtalk.d.ts +0 -2
- package/src/integration/fastgpt.d.ts +0 -0
- package/src/integration/firecrawl.d.ts +0 -2
- package/src/integration/github.d.ts +0 -69
- package/src/integration/index.d.ts +0 -4
- package/src/integration/lark.d.ts +0 -11
- package/src/integration/wecom.d.ts +0 -2
- package/src/integration.model.d.ts +0 -90
- package/src/invite.model.d.ts +0 -123
- package/src/language.model.d.ts +0 -19
- package/src/organization-contact.model.d.ts +0 -73
- package/src/organization-language.model.d.ts +0 -18
- package/src/organization-projects.model.d.ts +0 -80
- package/src/organization-team-employee-model.d.ts +0 -12
- package/src/organization-team-model.d.ts +0 -19
- package/src/organization.model.d.ts +0 -239
- package/src/plugin.d.ts +0 -13
- package/src/role-permission.model.d.ts +0 -61
- package/src/role.model.d.ts +0 -26
- package/src/schedule.d.ts +0 -27
- package/src/secret-token.model.d.ts +0 -11
- package/src/seed.model.d.ts +0 -37
- package/src/storage-file.model.d.ts +0 -40
- package/src/tag-entity.model.d.ts +0 -20
- package/src/tenant.model.d.ts +0 -40
- package/src/tools/index.d.ts +0 -1
- package/src/tools/sandbox.d.ts +0 -5
- package/src/translation.model.d.ts +0 -26
- package/src/types.d.ts +0 -241
- package/src/user-organization.model.d.ts +0 -24
- package/src/user.model.d.ts +0 -131
- 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
|
+
}
|