@metad/contracts 3.6.7 → 3.7.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (291) hide show
  1. package/README.md +2 -2
  2. package/index.cjs.d.ts +1 -0
  3. package/index.cjs.js +4029 -5
  4. package/index.esm.d.ts +1 -0
  5. package/index.esm.js +3909 -0
  6. package/package.json +1 -1
  7. package/src/agent/{ai-model.ts → ai-model.d.ts} +2 -2
  8. package/src/agent/graph.d.ts +151 -0
  9. package/src/agent/index.d.ts +5 -0
  10. package/src/agent/token.d.ts +21 -0
  11. package/src/agent/utils.d.ts +19 -0
  12. package/src/agent/variables.d.ts +16 -0
  13. package/src/ai/ai-model.model.d.ts +198 -0
  14. package/src/ai/ai-provider.model.d.ts +43 -0
  15. package/src/ai/ai.model.d.ts +82 -0
  16. package/src/ai/chat-message-feedback.model.d.ts +24 -0
  17. package/src/ai/chat-message.model.d.ts +222 -0
  18. package/src/ai/chat.model.d.ts +189 -0
  19. package/src/ai/copilot-checkpoint.model.d.ts +23 -0
  20. package/src/ai/copilot-example.model.d.ts +19 -0
  21. package/src/ai/copilot-model.model.d.ts +26 -0
  22. package/src/ai/copilot-organization.model.d.ts +17 -0
  23. package/src/ai/copilot-provider.model.d.ts +31 -0
  24. package/src/ai/copilot-role.model.d.ts +43 -0
  25. package/src/ai/copilot-store.model.d.ts +29 -0
  26. package/src/ai/copilot-user.model.d.ts +20 -0
  27. package/src/ai/copilot.model.d.ts +36 -0
  28. package/src/ai/{environment.model.ts → environment.model.d.ts} +10 -12
  29. package/src/ai/feature.model.d.ts +6 -0
  30. package/src/ai/index.d.ts +42 -0
  31. package/src/ai/knowledge-doc-chunk.model.d.ts +61 -0
  32. package/src/ai/knowledge-doc-page.model.d.ts +15 -0
  33. package/src/ai/knowledge-doc.model.d.ts +222 -0
  34. package/src/ai/knowledge-pipeline.d.ts +107 -0
  35. package/src/ai/knowledge-retrieval-log.model.d.ts +10 -0
  36. package/src/ai/knowledgebase-task.model.d.ts +39 -0
  37. package/src/ai/knowledgebase.model.d.ts +174 -0
  38. package/src/ai/middleware.model.d.ts +18 -0
  39. package/src/ai/rag-web.d.ts +26 -0
  40. package/src/ai/rag.d.ts +24 -0
  41. package/src/ai/role-permissions.d.ts +13 -0
  42. package/src/ai/skill.model.d.ts +181 -0
  43. package/src/ai/types.d.ts +71 -0
  44. package/src/ai/xpert-agent-execution.model.d.ts +96 -0
  45. package/src/ai/xpert-agent.model.d.ts +204 -0
  46. package/src/ai/xpert-project.model.d.ts +86 -0
  47. package/src/ai/xpert-table.model.d.ts +84 -0
  48. package/src/ai/xpert-task.model.d.ts +26 -0
  49. package/src/ai/xpert-template.model.d.ts +47 -0
  50. package/src/ai/xpert-tool-mcp.model.d.ts +72 -0
  51. package/src/ai/xpert-tool.model.d.ts +154 -0
  52. package/src/ai/xpert-toolset.model.d.ts +200 -0
  53. package/src/ai/xpert-workflow-task.prompt.d.ts +2 -0
  54. package/src/ai/xpert-workflow.model.d.ts +401 -0
  55. package/src/ai/xpert-workspace.model.d.ts +32 -0
  56. package/src/ai/xpert.model.d.ts +551 -0
  57. package/src/ai/xpert.utils.d.ts +77 -0
  58. package/src/analytics/ai.d.ts +73 -0
  59. package/src/analytics/approval-policy.model.d.ts +30 -0
  60. package/src/analytics/business-area-user.model.d.ts +35 -0
  61. package/src/analytics/business-area.d.ts +17 -0
  62. package/src/analytics/certification.model.d.ts +11 -0
  63. package/src/analytics/chatbi-conversation.model.d.ts +15 -0
  64. package/src/analytics/chatbi-model.model.d.ts +18 -0
  65. package/src/analytics/collection.model.d.ts +6 -0
  66. package/src/analytics/comment.model.d.ts +10 -0
  67. package/src/analytics/data-source-type.d.ts +16 -0
  68. package/src/analytics/data-source.d.ts +62 -0
  69. package/src/analytics/favorite.d.ts +14 -0
  70. package/src/analytics/features.d.ts +19 -0
  71. package/src/analytics/feed-model.d.ts +13 -0
  72. package/src/analytics/gateway.d.ts +28 -0
  73. package/src/analytics/index.d.ts +38 -0
  74. package/src/analytics/indicator-app.d.ts +44 -0
  75. package/src/analytics/{indicator-market.ts → indicator-market.d.ts} +2 -6
  76. package/src/analytics/indicator.d.ts +105 -0
  77. package/src/analytics/model-query-log.model.d.ts +41 -0
  78. package/src/analytics/model-query.d.ts +21 -0
  79. package/src/analytics/{notification-destination.ts → notification-destination.d.ts} +5 -9
  80. package/src/analytics/{permission-approval-user.model.ts → permission-approval-user.model.d.ts} +8 -10
  81. package/src/analytics/permission-approval.model.d.ts +47 -0
  82. package/src/analytics/project.model.d.ts +50 -0
  83. package/src/analytics/role-permissions.d.ts +25 -0
  84. package/src/analytics/schema.d.ts +262 -0
  85. package/src/analytics/screenshot.model.d.ts +25 -0
  86. package/src/analytics/semantic-model-entity.d.ts +38 -0
  87. package/src/analytics/semantic-model-member.d.ts +27 -0
  88. package/src/analytics/semantic-model.d.ts +183 -0
  89. package/src/analytics/{story-point.ts → story-point.d.ts} +6 -11
  90. package/src/analytics/story-template.model.d.ts +28 -0
  91. package/src/analytics/story-widget.d.ts +12 -0
  92. package/src/analytics/story.d.ts +93 -0
  93. package/src/analytics/subscription.d.ts +38 -0
  94. package/src/analytics/visit.model.d.ts +34 -0
  95. package/src/analytics/webSocket.d.ts +48 -0
  96. package/src/api-key.model.d.ts +10 -0
  97. package/src/base-entity.model.d.ts +27 -0
  98. package/src/contact.model.d.ts +41 -0
  99. package/src/core.model.d.ts +97 -0
  100. package/src/{country.model.ts → country.model.d.ts} +2 -3
  101. package/src/currency.model.d.ts +579 -0
  102. package/src/{custom-smtp.model.ts → custom-smtp.model.d.ts} +17 -21
  103. package/src/date-picker.model.d.ts +5 -0
  104. package/src/email-template.model.d.ts +39 -0
  105. package/src/email.model.d.ts +36 -0
  106. package/src/employee.model.d.ts +128 -0
  107. package/src/entity-with-members.model.d.ts +13 -0
  108. package/src/feature.model.d.ts +93 -0
  109. package/src/file-provider.d.ts +33 -0
  110. package/src/help-center-article.model.d.ts +0 -0
  111. package/src/help-center.model.d.ts +0 -0
  112. package/src/http-status.enum.d.ts +57 -0
  113. package/src/import-export.model.d.ts +36 -0
  114. package/src/index.d.ts +48 -0
  115. package/src/integration/dify.d.ts +0 -0
  116. package/src/integration/dingtalk.d.ts +2 -0
  117. package/src/integration/fastgpt.d.ts +0 -0
  118. package/src/integration/firecrawl.d.ts +2 -0
  119. package/src/integration/github.d.ts +69 -0
  120. package/src/integration/index.d.ts +4 -0
  121. package/src/integration/lark.d.ts +11 -0
  122. package/src/integration/wecom.d.ts +2 -0
  123. package/src/integration.model.d.ts +90 -0
  124. package/src/invite.model.d.ts +123 -0
  125. package/src/language.model.d.ts +19 -0
  126. package/src/organization-contact.model.d.ts +73 -0
  127. package/src/{organization-department.model.ts → organization-department.model.d.ts} +10 -16
  128. package/src/organization-language.model.d.ts +18 -0
  129. package/src/organization-projects.model.d.ts +80 -0
  130. package/src/organization-team-employee-model.d.ts +12 -0
  131. package/src/organization-team-model.d.ts +19 -0
  132. package/src/organization.model.d.ts +239 -0
  133. package/src/{password-reset.model.ts → password-reset.model.d.ts} +10 -14
  134. package/src/{plain-object.model.ts → plain-object.model.d.ts} +1 -1
  135. package/src/plugin.d.ts +13 -0
  136. package/src/role-permission.model.d.ts +61 -0
  137. package/src/role.model.d.ts +26 -0
  138. package/src/schedule.d.ts +27 -0
  139. package/src/secret-token.model.d.ts +11 -0
  140. package/src/seed.model.d.ts +37 -0
  141. package/src/storage-file.model.d.ts +40 -0
  142. package/src/tag-entity.model.d.ts +20 -0
  143. package/src/tenant.model.d.ts +40 -0
  144. package/src/tools/index.d.ts +1 -0
  145. package/src/tools/sandbox.d.ts +5 -0
  146. package/src/translation.model.d.ts +26 -0
  147. package/src/types.d.ts +245 -0
  148. package/src/user-organization.model.d.ts +24 -0
  149. package/src/user.model.d.ts +131 -0
  150. package/src/visibility.model.d.ts +6 -0
  151. package/.babelrc +0 -5
  152. package/.eslintrc.json +0 -18
  153. package/babel.config.json +0 -1
  154. package/jest.config.ts +0 -16
  155. package/project.json +0 -53
  156. package/src/agent/graph.ts +0 -275
  157. package/src/agent/index.ts +0 -5
  158. package/src/agent/token.ts +0 -23
  159. package/src/agent/utils.spec.ts +0 -283
  160. package/src/agent/utils.ts +0 -122
  161. package/src/agent/variables.ts +0 -66
  162. package/src/ai/ai-model.model.ts +0 -232
  163. package/src/ai/ai-provider.model.ts +0 -53
  164. package/src/ai/ai.model.ts +0 -87
  165. package/src/ai/chat-message-feedback.model.ts +0 -31
  166. package/src/ai/chat-message.model.ts +0 -277
  167. package/src/ai/chat.model.ts +0 -207
  168. package/src/ai/copilot-checkpoint.model.ts +0 -25
  169. package/src/ai/copilot-example.model.ts +0 -23
  170. package/src/ai/copilot-model.model.ts +0 -31
  171. package/src/ai/copilot-organization.model.ts +0 -21
  172. package/src/ai/copilot-provider.model.ts +0 -46
  173. package/src/ai/copilot-role.model.ts +0 -48
  174. package/src/ai/copilot-store.model.ts +0 -34
  175. package/src/ai/copilot-user.model.ts +0 -24
  176. package/src/ai/copilot.model.ts +0 -47
  177. package/src/ai/feature.model.ts +0 -6
  178. package/src/ai/index.ts +0 -40
  179. package/src/ai/knowledge-doc-chunk.model.ts +0 -123
  180. package/src/ai/knowledge-doc-chunk.spec.ts +0 -47
  181. package/src/ai/knowledge-doc-page.model.ts +0 -20
  182. package/src/ai/knowledge-doc.model.ts +0 -364
  183. package/src/ai/knowledge-pipeline.ts +0 -138
  184. package/src/ai/knowledge-retrieval-log.model.ts +0 -19
  185. package/src/ai/knowledgebase-task.model.ts +0 -46
  186. package/src/ai/knowledgebase.model.ts +0 -205
  187. package/src/ai/rag-web.ts +0 -54
  188. package/src/ai/rag.ts +0 -24
  189. package/src/ai/role-permissions.ts +0 -13
  190. package/src/ai/types.ts +0 -83
  191. package/src/ai/xpert-agent-execution.model.ts +0 -115
  192. package/src/ai/xpert-agent.model.ts +0 -264
  193. package/src/ai/xpert-project.model.ts +0 -103
  194. package/src/ai/xpert-table.model.ts +0 -100
  195. package/src/ai/xpert-task.model.ts +0 -32
  196. package/src/ai/xpert-template.model.ts +0 -53
  197. package/src/ai/xpert-tool-mcp.model.ts +0 -77
  198. package/src/ai/xpert-tool.model.ts +0 -216
  199. package/src/ai/xpert-toolset.model.ts +0 -220
  200. package/src/ai/xpert-workflow-task.prompt.ts +0 -71
  201. package/src/ai/xpert-workflow.model.ts +0 -502
  202. package/src/ai/xpert-workspace.model.ts +0 -42
  203. package/src/ai/xpert.model.ts +0 -637
  204. package/src/ai/xpert.utils.ts +0 -214
  205. package/src/analytics/ai.ts +0 -79
  206. package/src/analytics/approval-policy.model.ts +0 -40
  207. package/src/analytics/business-area-user.model.ts +0 -43
  208. package/src/analytics/business-area.ts +0 -20
  209. package/src/analytics/certification.model.ts +0 -12
  210. package/src/analytics/chatbi-conversation.model.ts +0 -16
  211. package/src/analytics/chatbi-model.model.ts +0 -22
  212. package/src/analytics/collection.model.ts +0 -8
  213. package/src/analytics/comment.model.ts +0 -14
  214. package/src/analytics/data-source-type.ts +0 -19
  215. package/src/analytics/data-source.ts +0 -72
  216. package/src/analytics/favorite.ts +0 -18
  217. package/src/analytics/features.ts +0 -19
  218. package/src/analytics/feed-model.ts +0 -15
  219. package/src/analytics/gateway.ts +0 -31
  220. package/src/analytics/index.ts +0 -39
  221. package/src/analytics/indicator-app.ts +0 -49
  222. package/src/analytics/indicator.ts +0 -143
  223. package/src/analytics/model-query-log.model.ts +0 -45
  224. package/src/analytics/model-query.ts +0 -22
  225. package/src/analytics/permission-approval.model.ts +0 -58
  226. package/src/analytics/project.model.ts +0 -56
  227. package/src/analytics/role-permissions.ts +0 -36
  228. package/src/analytics/schema.ts +0 -300
  229. package/src/analytics/screenshot.model.ts +0 -28
  230. package/src/analytics/semantic-model-entity.ts +0 -50
  231. package/src/analytics/semantic-model-member.ts +0 -49
  232. package/src/analytics/semantic-model.ts +0 -237
  233. package/src/analytics/story-template.model.ts +0 -34
  234. package/src/analytics/story-widget.ts +0 -15
  235. package/src/analytics/story.ts +0 -109
  236. package/src/analytics/subscription.ts +0 -43
  237. package/src/analytics/visit.model.ts +0 -39
  238. package/src/analytics/webSocket.ts +0 -53
  239. package/src/api-key.model.ts +0 -11
  240. package/src/base-entity.model.ts +0 -34
  241. package/src/contact.model.ts +0 -45
  242. package/src/core.model.ts +0 -103
  243. package/src/currency.model.ts +0 -582
  244. package/src/date-picker.model.ts +0 -5
  245. package/src/email-template.model.ts +0 -50
  246. package/src/email.model.ts +0 -46
  247. package/src/employee.model.ts +0 -199
  248. package/src/entity-with-members.model.ts +0 -16
  249. package/src/feature.model.ts +0 -108
  250. package/src/file-provider.ts +0 -37
  251. package/src/help-center-article.model.ts +0 -35
  252. package/src/help-center.model.ts +0 -33
  253. package/src/http-status.enum.ts +0 -58
  254. package/src/import-export.model.ts +0 -42
  255. package/src/index.ts +0 -60
  256. package/src/integration/dify.ts +0 -31
  257. package/src/integration/dingtalk.ts +0 -16
  258. package/src/integration/fastgpt.ts +0 -32
  259. package/src/integration/firecrawl.ts +0 -46
  260. package/src/integration/github.ts +0 -149
  261. package/src/integration/index.ts +0 -15
  262. package/src/integration/lark.ts +0 -79
  263. package/src/integration/wecom.ts +0 -16
  264. package/src/integration.model.ts +0 -119
  265. package/src/invite.model.ts +0 -144
  266. package/src/language.model.ts +0 -22
  267. package/src/organization-contact.model.ts +0 -84
  268. package/src/organization-language.model.ts +0 -24
  269. package/src/organization-projects.model.ts +0 -99
  270. package/src/organization-team-employee-model.ts +0 -14
  271. package/src/organization-team-model.ts +0 -25
  272. package/src/organization.model.ts +0 -266
  273. package/src/plugin.ts +0 -15
  274. package/src/role-permission.model.ts +0 -123
  275. package/src/role.model.ts +0 -31
  276. package/src/schedule.ts +0 -71
  277. package/src/secret-token.model.ts +0 -15
  278. package/src/seed.model.ts +0 -50
  279. package/src/storage-file.model.ts +0 -46
  280. package/src/tag-entity.model.ts +0 -23
  281. package/src/tenant.model.ts +0 -52
  282. package/src/tools/index.ts +0 -1
  283. package/src/tools/sandbox.ts +0 -5
  284. package/src/translation.model.ts +0 -37
  285. package/src/types.ts +0 -277
  286. package/src/user-organization.model.ts +0 -31
  287. package/src/user.model.ts +0 -151
  288. package/src/visibility.model.ts +0 -6
  289. package/tsconfig.json +0 -22
  290. package/tsconfig.lib.json +0 -10
  291. package/tsconfig.spec.json +0 -9
@@ -0,0 +1,131 @@
1
+ import { IRole } from './role.model';
2
+ import { IBasePerTenantEntityModel } from './base-entity.model';
3
+ import { ITag } from './tag-entity.model';
4
+ import { IEmployee } from './employee.model';
5
+ import { IOrganization } from './organization.model';
6
+ export declare enum UserType {
7
+ USER = "user",// Regular user
8
+ COMMUNICATION = "communication"
9
+ }
10
+ export interface IUser extends IBasePerTenantEntityModel {
11
+ thirdPartyId?: string;
12
+ name?: string;
13
+ firstName?: string;
14
+ lastName?: string;
15
+ email?: string;
16
+ mobile?: string;
17
+ username?: string;
18
+ timeZone?: string;
19
+ type?: UserType;
20
+ role?: IRole;
21
+ roleId?: string;
22
+ hash?: string;
23
+ imageUrl?: string;
24
+ employee?: IEmployee;
25
+ employeeId?: string;
26
+ tags?: ITag[];
27
+ preferredLanguage?: string;
28
+ paymentsId?: string;
29
+ fullName?: string;
30
+ organizations?: IOrganization[];
31
+ isImporting?: boolean;
32
+ sourceId?: string;
33
+ emailVerified?: boolean;
34
+ emailVerification?: IEmailVerification;
35
+ deletedAt?: Date;
36
+ }
37
+ export interface IEmailVerification extends IBasePerTenantEntityModel {
38
+ token: string;
39
+ userId: string;
40
+ user?: IUser;
41
+ validUntil: Date;
42
+ }
43
+ export interface IUserEmailInput {
44
+ email: string;
45
+ }
46
+ export interface IUserFindInput {
47
+ thirdPartyId?: string;
48
+ firstName?: string;
49
+ lastName?: string;
50
+ email?: string;
51
+ username?: string;
52
+ role?: IRole;
53
+ roleId?: string;
54
+ hash?: string;
55
+ imageUrl?: string;
56
+ tags?: ITag[];
57
+ preferredLanguage?: LanguagesEnum;
58
+ }
59
+ export interface IUserRegistrationInput {
60
+ user: IUser;
61
+ password?: string;
62
+ confirmPassword?: string;
63
+ originalUrl?: string;
64
+ organizationId?: string;
65
+ createdById?: string;
66
+ isImporting?: boolean;
67
+ sourceId?: string;
68
+ timeZone?: string;
69
+ }
70
+ export interface IUserLoginInput {
71
+ email: string;
72
+ password: string;
73
+ }
74
+ export interface IAuthResponse {
75
+ user: IUser;
76
+ token: string;
77
+ refreshToken: string;
78
+ }
79
+ export interface IUserCreateInput {
80
+ type?: UserType;
81
+ firstName?: string;
82
+ lastName?: string;
83
+ email?: string;
84
+ username?: string;
85
+ role?: IRole;
86
+ roleId?: string;
87
+ hash?: string;
88
+ imageUrl?: string;
89
+ tags?: ITag[];
90
+ preferredLanguage?: LanguagesEnum;
91
+ timeZone?: string;
92
+ thirdPartyId?: string;
93
+ roleName?: string;
94
+ }
95
+ export interface IUserUpdateInput extends Omit<IUserCreateInput, 'type'> {
96
+ password?: string;
97
+ confirmPassword?: string;
98
+ }
99
+ export interface IUserPasswordInput {
100
+ hash?: string;
101
+ password?: string;
102
+ confirmPassword?: string;
103
+ }
104
+ /**
105
+ * Browser http header `Language`
106
+ */
107
+ export declare enum LanguagesEnum {
108
+ Chinese = "zh-CN",
109
+ SimplifiedChinese = "zh-Hans",
110
+ TraditionalChinese = "zh-Hant",
111
+ English = "en"
112
+ }
113
+ export declare const LanguagesMap: {
114
+ 'zh-CN': LanguagesEnum;
115
+ 'zh-Hans': LanguagesEnum;
116
+ zh: LanguagesEnum;
117
+ };
118
+ export declare enum ProviderEnum {
119
+ GOOGLE = "google",
120
+ FACEBOOK = "facebook"
121
+ }
122
+ export interface IUserViewModel extends IBasePerTenantEntityModel {
123
+ fullName: string;
124
+ email: string;
125
+ bonus?: number;
126
+ endWork?: any;
127
+ id: string;
128
+ roleName?: string;
129
+ role?: string;
130
+ tags?: ITag[];
131
+ }
@@ -0,0 +1,6 @@
1
+ export declare enum Visibility {
2
+ Public = "public",
3
+ Internal = "internal",
4
+ Secret = "secret",
5
+ Private = "private"
6
+ }
package/.babelrc DELETED
@@ -1,5 +0,0 @@
1
- {
2
- "presets": [
3
- "@nrwl/js/babel"
4
- ]
5
- }
package/.eslintrc.json DELETED
@@ -1,18 +0,0 @@
1
- {
2
- "extends": ["../../.eslintrc.json"],
3
- "ignorePatterns": ["!**/*"],
4
- "overrides": [
5
- {
6
- "files": ["*.ts", "*.tsx", "*.js", "*.jsx"],
7
- "rules": {}
8
- },
9
- {
10
- "files": ["*.ts", "*.tsx"],
11
- "rules": {}
12
- },
13
- {
14
- "files": ["*.js", "*.jsx"],
15
- "rules": {}
16
- }
17
- ]
18
- }
package/babel.config.json DELETED
@@ -1 +0,0 @@
1
- {}
package/jest.config.ts DELETED
@@ -1,16 +0,0 @@
1
- /* eslint-disable */
2
- export default {
3
- displayName: 'contracts',
4
- preset: '../../jest.preset.js',
5
- globals: {},
6
- transform: {
7
- '^.+\\.[tj]s$': [
8
- 'ts-jest',
9
- {
10
- tsconfig: '<rootDir>/tsconfig.spec.json'
11
- }
12
- ]
13
- },
14
- moduleFileExtensions: ['ts', 'js', 'html'],
15
- coverageDirectory: '../../coverage/packages/contracts'
16
- }
package/project.json DELETED
@@ -1,53 +0,0 @@
1
- {
2
- "name": "contracts",
3
- "$schema": "../../node_modules/nx/schemas/project-schema.json",
4
- "sourceRoot": "packages/contracts/src",
5
- "projectType": "library",
6
- "targets": {
7
- "build": {
8
- "executor": "@nx/rollup:rollup",
9
- "outputs": ["{options.outputPath}"],
10
- "options": {
11
- "outputPath": "packages/contracts/dist",
12
- "project": "packages/contracts/package.json",
13
- "main": "packages/contracts/src/index.ts",
14
- "tsConfig": "packages/contracts/tsconfig.lib.json",
15
- "assets": [
16
- {
17
- "glob": "README.md",
18
- "input": "packages/contracts/",
19
- "output": "."
20
- }
21
- ],
22
- "compiler": "swc",
23
- "format": ["cjs", "esm"]
24
- }
25
- },
26
- "publish": {
27
- "command": "node tools/scripts/publish.mjs contracts {args.ver} {args.tag}",
28
- "dependsOn": ["build"]
29
- },
30
- "lint": {
31
- "executor": "@nx/eslint:lint",
32
- "outputs": ["{options.outputFile}"],
33
- "options": {
34
- "lintFilePatterns": ["packages/contracts/**/*.ts", "packages/contracts/package.json"]
35
- }
36
- },
37
- "test": {
38
- "executor": "@nx/jest:jest",
39
- "outputs": ["{workspaceRoot}/coverage/packages/contracts"],
40
- "options": {
41
- "jestConfig": "packages/contracts/jest.config.ts"
42
- }
43
- },
44
- "nx-release-publish": {
45
- "executor": "@nx/js:release-publish",
46
- "options": {
47
- "packageRoot": "packages/contracts/dist",
48
- "access": "public"
49
- }
50
- }
51
- },
52
- "tags": []
53
- }
@@ -1,275 +0,0 @@
1
- import { BaseMessage } from '@langchain/core/messages'
2
- import { RunnableConfig } from '@langchain/core/runnables'
3
- import { Subscriber } from 'rxjs'
4
- import { IWFNTrigger, TWorkflowVarGroup, WorkflowNodeTypeEnum } from '../ai/xpert-workflow.model'
5
- import { TMessageContentComplex } from '../ai/chat-message.model'
6
- import { I18nObject } from '../types'
7
- import { TStateVariable, TXpertGraph, TXpertParameter, TXpertTeamNode, XpertParameterTypeEnum } from '../ai/xpert.model'
8
- import { agentLabel, IXpertAgent } from '../ai/xpert-agent.model'
9
-
10
- /**
11
- * @deprecated can use getCurrentTaskInput instead?
12
- */
13
- export const CONTEXT_VARIABLE_CURRENTSTATE = 'currentState'
14
- export const STATE_VARIABLE_SYS = 'sys'
15
- export const STATE_VARIABLE_HUMAN = 'human'
16
- export const GRAPH_NODE_SUMMARIZE_CONVERSATION = 'summarize_conversation'
17
- export const GRAPH_NODE_TITLE_CONVERSATION = 'title_conversation'
18
- export const STATE_VARIABLE_FILES = 'files'
19
- export const STATE_VARIABLE_INPUT = 'input'
20
- export const STATE_SYS_VOLUME = 'volume'
21
- export const STATE_SYS_WORKSPACE_PATH = 'workspace_path'
22
- export const STATE_SYS_WORKSPACE_URL = 'workspace_url'
23
- export const STATE_VARIABLE_TITLE_CHANNEL = channelName('title')
24
-
25
- export type TMessageChannel = {
26
- system: string
27
- messages: BaseMessage[]
28
- summary?: string
29
- error?: string | null
30
- }
31
-
32
- export type TAgentRunnableConfigurable = {
33
- /**
34
- * Thread id
35
- */
36
- thread_id: string
37
- checkpoint_ns: string
38
- checkpoint_id: string
39
- tool_call_id?: string
40
-
41
- // Custom configurable of invoke
42
- tenantId: string
43
- organizationId: string
44
- language: string
45
- userId: string
46
- /**
47
- * Xpert project id
48
- */
49
- projectId?: string
50
- xpertId?: string
51
- // Caller
52
- agentKey: string
53
- xpertName?: string
54
- toolName?: string
55
-
56
- subscriber: Subscriber<any>
57
- /**
58
- * Execution id of agent workflow node
59
- */
60
- executionId: string
61
- // /**
62
- // * Knowledge xpert's knowledgebase
63
- // */
64
- // knowledgebaseId?: string
65
- // knowledgeTaskId?: string
66
-
67
- signal?: AbortSignal
68
- }
69
-
70
- export type TToolCall = {
71
- id?: string
72
- name: string
73
- type?: 'tool_call'
74
- args: Record<string, any>
75
- }
76
-
77
- /**
78
- *
79
- * Example:
80
- *
81
- * ```typescript
82
- * const result = interrupt<TInterruptMessage<{ name: string }>, { projectId: string }>({
83
- * category: 'BI',
84
- * type: 'switch_project',
85
- * title: {
86
- * en_US: 'Switch project',
87
- * zh_Hans: '切换项目'
88
- * },
89
- * message: {
90
- * en_US: 'Please select a project or create a new one',
91
- * zh_Hans: '请选择或创建一个新的项目'
92
- * },
93
- * data: { name: '' }
94
- * })
95
- * ```
96
- */
97
- export type TInterruptMessage<T = unknown> = {
98
- /**
99
- * Major categories of interrupt components
100
- */
101
- category: 'BI'
102
- /**
103
- * The specific type of interactive component
104
- */
105
- type: string
106
- /**
107
- * Title of the interrupt component
108
- */
109
- title: string | I18nObject
110
- /**
111
- * Message content of the interrupt component
112
- */
113
- message: string | I18nObject
114
- /**
115
- * Additional data
116
- */
117
- data?: T
118
- }
119
-
120
- export type TInterruptCommand = {
121
- resume?: any
122
- update?: any
123
- toolCalls?: TToolCall[]
124
- agentKey?: string
125
- }
126
-
127
- // Helpers
128
- export function channelName(name: string) {
129
- return name.toLowerCase() + '_channel'
130
- }
131
-
132
- export function messageContentText(content: string | TMessageContentComplex) {
133
- return typeof content === 'string' ? content : content.type === 'text' ? content.text : ''
134
- }
135
-
136
- export function getWorkspaceFromRunnable(configurable: TAgentRunnableConfigurable): {type?: 'project' | 'conversation'; id?: string} {
137
- return configurable?.projectId ? {type: 'project', id: ''} :
138
- configurable?.thread_id ? {
139
- type: 'conversation',
140
- id: configurable.thread_id
141
- } : {}
142
- }
143
-
144
- export function getToolCallFromConfig(config): TToolCall {
145
- return config?.toolCall || config?.configurable?.toolCall
146
- }
147
-
148
- export function getToolCallIdFromConfig(config): string {
149
- return config.metadata?.tool_call_id || config?.configurable?.tool_call_id || getToolCallFromConfig(config)?.id
150
- }
151
-
152
- /**
153
- * Compute long-term memory namespace:
154
- * 1. When a user talks to a digital expert individually, use `ExpertId` + `UserId` to store memory
155
- * 2. When talking to a digital expert in a project, all users and digital experts share `ProjectId` to store memory
156
- *
157
- * @param config
158
- * @returns
159
- */
160
- export function getStoreNamespace(config: RunnableConfig): string[] {
161
- const configurable = config.configurable as TAgentRunnableConfigurable
162
- return configurableStoreNamespace(configurable)
163
- }
164
-
165
- export function configurableStoreNamespace(configurable: Partial<TAgentRunnableConfigurable>): string[] {
166
- return configurable?.projectId ? [configurable?.projectId] : configurable?.userId ? [configurable.xpertId, configurable.userId] : []
167
- }
168
-
169
- /**
170
- * Set value into variable of state.
171
- *
172
- * @param state
173
- * @param varName
174
- * @param value
175
- * @returns
176
- */
177
- export function setStateVariable(state: Record<string, any>, varName: string, value: any) {
178
- const [agentChannelName, variableName] = varName.split('.')
179
- if (variableName) {
180
- state[agentChannelName] = {
181
- ...(state[agentChannelName] ?? {}),
182
- [variableName]: value
183
- }
184
- } else {
185
- state[agentChannelName] = value
186
- }
187
-
188
- return state
189
- }
190
-
191
- /**
192
- * Get agent variable group from graph.
193
- *
194
- * @param key
195
- * @param graph
196
- * @returns
197
- */
198
- export function getAgentVarGroup(key: string, graph: TXpertGraph): TWorkflowVarGroup {
199
- const node = graph.nodes.find((_) => _.type === 'agent' && _.key === key) as TXpertTeamNode & {type: 'agent'}
200
-
201
- const variables: TXpertParameter[] = []
202
- const varGroup: TWorkflowVarGroup = {
203
- group: {
204
- name: channelName(node.key),
205
- description: {
206
- en_US: agentLabel(node.entity)
207
- },
208
- },
209
- variables
210
- }
211
-
212
- variables.push({
213
- name: `messages`,
214
- type: XpertParameterTypeEnum.ARRAY,
215
- description: {
216
- zh_Hans: `消息列表`,
217
- en_US: `Message List`
218
- }
219
- })
220
- variables.push({
221
- name: `output`,
222
- type: XpertParameterTypeEnum.STRING,
223
- description: {
224
- zh_Hans: `输出`,
225
- en_US: `Output`
226
- }
227
- })
228
- variables.push({
229
- name: `error`,
230
- type: XpertParameterTypeEnum.STRING,
231
- description: {
232
- zh_Hans: `错误`,
233
- en_US: `Error`
234
- }
235
- })
236
- const agent = <IXpertAgent>node.entity
237
- if (agent.options?.structuredOutputMethod && agent.outputVariables) {
238
- agent.outputVariables.forEach((variable) => {
239
- variables.push({
240
- name: variable.name || '',
241
- type: variable.type as TStateVariable['type'],
242
- description: variable.description,
243
- item: variable.item
244
- })
245
- })
246
- }
247
-
248
- return varGroup
249
- }
250
-
251
-
252
- // Swarm
253
- /**
254
- * Get swarm partners of agent in team
255
- *
256
- * @param graph
257
- * @param agentKey
258
- */
259
- export function getSwarmPartners(graph: TXpertGraph, agentKey: string, partners: string[], leaderKey?: string) {
260
- const connections = graph.connections.filter((conn) => conn.type === 'agent' && conn.to === agentKey && (leaderKey ? conn.from !== leaderKey : true)
261
- && graph.connections.some((_) => _.type === 'agent' && _.to === conn.from && _.from === agentKey))
262
-
263
- connections.forEach((conn) => {
264
- const key = conn.from
265
- if (partners.indexOf(key) < 0) {
266
- partners.push(key)
267
- getSwarmPartners(graph, key, partners)
268
- }
269
- })
270
- return partners
271
- }
272
-
273
- export function getWorkflowTriggers(graph: TXpertGraph, from: string) {
274
- return graph.nodes.filter((node) => node.type === 'workflow' && node.entity.type === WorkflowNodeTypeEnum.TRIGGER && (<IWFNTrigger>node.entity).from === from)
275
- }
@@ -1,5 +0,0 @@
1
- export * from './ai-model'
2
- export * from './token'
3
- export * from './graph'
4
- export * from './utils'
5
- export * from './variables'
@@ -1,23 +0,0 @@
1
- export type TTokenUsage = {
2
- promptTokens: number
3
- completionTokens: number
4
- totalTokens: number
5
- }
6
-
7
- export interface IModelUsage {
8
- totalTokens: number
9
- totalPrice: number
10
- currency: string
11
- latency: number
12
- }
13
-
14
- export interface ILLMUsage extends IModelUsage {
15
- promptTokens: number
16
- promptUnitPrice: number
17
- promptPriceUnit: number
18
- promptPrice: number
19
- completionTokens: number
20
- completionUnitPrice: number
21
- completionPriceUnit: number
22
- completionPrice: number
23
- }