@metad/contracts 3.6.0 → 3.6.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (287) hide show
  1. package/.babelrc +5 -0
  2. package/.eslintrc.json +18 -0
  3. package/babel.config.json +1 -0
  4. package/index.cjs.js +5 -3996
  5. package/jest.config.ts +16 -0
  6. package/package.json +2 -2
  7. package/project.json +53 -0
  8. package/src/agent/{ai-model.d.ts → ai-model.ts} +2 -2
  9. package/src/agent/graph.ts +272 -0
  10. package/src/agent/index.ts +5 -0
  11. package/src/agent/token.ts +23 -0
  12. package/src/agent/utils.spec.ts +283 -0
  13. package/src/agent/utils.ts +122 -0
  14. package/src/agent/variables.ts +21 -0
  15. package/src/ai/ai-model.model.ts +228 -0
  16. package/src/ai/ai-provider.model.ts +53 -0
  17. package/src/ai/ai.model.ts +87 -0
  18. package/src/ai/chat-message-feedback.model.ts +31 -0
  19. package/src/ai/chat-message.model.ts +277 -0
  20. package/src/ai/chat.model.ts +207 -0
  21. package/src/ai/copilot-checkpoint.model.ts +25 -0
  22. package/src/ai/copilot-example.model.ts +23 -0
  23. package/src/ai/copilot-model.model.ts +31 -0
  24. package/src/ai/copilot-organization.model.ts +21 -0
  25. package/src/ai/copilot-provider.model.ts +46 -0
  26. package/src/ai/copilot-role.model.ts +48 -0
  27. package/src/ai/copilot-store.model.ts +34 -0
  28. package/src/ai/copilot-user.model.ts +24 -0
  29. package/src/ai/copilot.model.ts +47 -0
  30. package/src/ai/{environment.model.d.ts → environment.model.ts} +12 -10
  31. package/src/ai/feature.model.ts +6 -0
  32. package/src/ai/index.ts +39 -0
  33. package/src/ai/knowledge-doc-chunk.model.ts +120 -0
  34. package/src/ai/knowledge-doc-chunk.spec.ts +47 -0
  35. package/src/ai/knowledge-doc-page.model.ts +20 -0
  36. package/src/ai/knowledge-doc.model.ts +252 -0
  37. package/src/ai/knowledge-pipeline.ts +138 -0
  38. package/src/ai/knowledge-retrieval-log.model.ts +19 -0
  39. package/src/ai/knowledgebase-task.model.ts +46 -0
  40. package/src/ai/knowledgebase.model.ts +190 -0
  41. package/src/ai/rag-web.ts +54 -0
  42. package/src/ai/rag.ts +24 -0
  43. package/src/ai/role-permissions.ts +13 -0
  44. package/src/ai/types.ts +83 -0
  45. package/src/ai/xpert-agent-execution.model.ts +115 -0
  46. package/src/ai/xpert-agent.model.ts +258 -0
  47. package/src/ai/xpert-project.model.ts +103 -0
  48. package/src/ai/xpert-task.model.ts +32 -0
  49. package/src/ai/xpert-template.model.ts +53 -0
  50. package/src/ai/xpert-tool-mcp.model.ts +72 -0
  51. package/src/ai/xpert-tool.model.ts +211 -0
  52. package/src/ai/xpert-toolset.model.ts +220 -0
  53. package/src/ai/xpert-workflow-task.prompt.ts +71 -0
  54. package/src/ai/xpert-workflow.model.ts +449 -0
  55. package/src/ai/xpert-workspace.model.ts +42 -0
  56. package/src/ai/xpert.model.ts +613 -0
  57. package/src/ai/xpert.utils.ts +214 -0
  58. package/src/analytics/ai.ts +79 -0
  59. package/src/analytics/approval-policy.model.ts +40 -0
  60. package/src/analytics/business-area-user.model.ts +43 -0
  61. package/src/analytics/business-area.ts +20 -0
  62. package/src/analytics/certification.model.ts +12 -0
  63. package/src/analytics/chatbi-conversation.model.ts +16 -0
  64. package/src/analytics/chatbi-model.model.ts +22 -0
  65. package/src/analytics/collection.model.ts +8 -0
  66. package/src/analytics/comment.model.ts +14 -0
  67. package/src/analytics/data-source-type.ts +19 -0
  68. package/src/analytics/data-source.ts +72 -0
  69. package/src/analytics/favorite.ts +18 -0
  70. package/src/analytics/features.ts +19 -0
  71. package/src/analytics/feed-model.ts +15 -0
  72. package/src/analytics/gateway.ts +30 -0
  73. package/src/analytics/index.ts +39 -0
  74. package/src/analytics/indicator-app.ts +49 -0
  75. package/src/analytics/{indicator-market.d.ts → indicator-market.ts} +6 -2
  76. package/src/analytics/indicator.ts +127 -0
  77. package/src/analytics/model-query-log.model.ts +45 -0
  78. package/src/analytics/model-query.ts +22 -0
  79. package/src/analytics/{notification-destination.d.ts → notification-destination.ts} +9 -5
  80. package/src/analytics/{permission-approval-user.model.d.ts → permission-approval-user.model.ts} +10 -8
  81. package/src/analytics/permission-approval.model.ts +58 -0
  82. package/src/analytics/project.model.ts +56 -0
  83. package/src/analytics/role-permissions.ts +36 -0
  84. package/src/analytics/schema.ts +300 -0
  85. package/src/analytics/screenshot.model.ts +28 -0
  86. package/src/analytics/semantic-model-entity.ts +49 -0
  87. package/src/analytics/semantic-model-member.ts +45 -0
  88. package/src/analytics/semantic-model.ts +227 -0
  89. package/src/analytics/{story-point.d.ts → story-point.ts} +11 -6
  90. package/src/analytics/story-template.model.ts +34 -0
  91. package/src/analytics/story-widget.ts +15 -0
  92. package/src/analytics/story.ts +109 -0
  93. package/src/analytics/subscription.ts +43 -0
  94. package/src/analytics/visit.model.ts +39 -0
  95. package/src/analytics/webSocket.ts +53 -0
  96. package/src/api-key.model.ts +11 -0
  97. package/src/base-entity.model.ts +34 -0
  98. package/src/contact.model.ts +45 -0
  99. package/src/core.model.ts +103 -0
  100. package/src/{country.model.d.ts → country.model.ts} +3 -2
  101. package/src/currency.model.ts +582 -0
  102. package/src/{custom-smtp.model.d.ts → custom-smtp.model.ts} +21 -17
  103. package/src/date-picker.model.ts +5 -0
  104. package/src/email-template.model.ts +50 -0
  105. package/src/email.model.ts +46 -0
  106. package/src/employee.model.ts +199 -0
  107. package/src/entity-with-members.model.ts +16 -0
  108. package/src/feature.model.ts +108 -0
  109. package/src/file-provider.ts +37 -0
  110. package/src/help-center-article.model.ts +35 -0
  111. package/src/help-center.model.ts +33 -0
  112. package/src/http-status.enum.ts +58 -0
  113. package/src/import-export.model.ts +42 -0
  114. package/src/index.ts +60 -0
  115. package/src/integration/dify.ts +31 -0
  116. package/src/integration/dingtalk.ts +16 -0
  117. package/src/integration/fastgpt.ts +32 -0
  118. package/src/integration/firecrawl.ts +46 -0
  119. package/src/integration/github.ts +149 -0
  120. package/src/integration/index.ts +15 -0
  121. package/src/integration/lark.ts +79 -0
  122. package/src/integration/wecom.ts +16 -0
  123. package/src/integration.model.ts +119 -0
  124. package/src/invite.model.ts +144 -0
  125. package/src/language.model.ts +22 -0
  126. package/src/organization-contact.model.ts +84 -0
  127. package/src/{organization-department.model.d.ts → organization-department.model.ts} +16 -10
  128. package/src/organization-language.model.ts +24 -0
  129. package/src/organization-projects.model.ts +99 -0
  130. package/src/organization-team-employee-model.ts +14 -0
  131. package/src/organization-team-model.ts +25 -0
  132. package/src/organization.model.ts +266 -0
  133. package/src/password-reset.model.ts +22 -0
  134. package/src/{plain-object.model.d.ts → plain-object.model.ts} +1 -1
  135. package/src/plugin.ts +15 -0
  136. package/src/role-permission.model.ts +123 -0
  137. package/src/role.model.ts +31 -0
  138. package/src/schedule.ts +71 -0
  139. package/src/secret-token.model.ts +15 -0
  140. package/src/seed.model.ts +50 -0
  141. package/src/storage-file.model.ts +46 -0
  142. package/src/tag-entity.model.ts +23 -0
  143. package/src/tenant.model.ts +52 -0
  144. package/src/tools/index.ts +1 -0
  145. package/src/tools/sandbox.ts +5 -0
  146. package/src/translation.model.ts +37 -0
  147. package/src/types.ts +277 -0
  148. package/src/user-organization.model.ts +31 -0
  149. package/src/user.model.ts +151 -0
  150. package/src/visibility.model.ts +6 -0
  151. package/tsconfig.json +22 -0
  152. package/tsconfig.lib.json +10 -0
  153. package/tsconfig.spec.json +9 -0
  154. package/index.cjs.d.ts +0 -1
  155. package/index.esm.d.ts +0 -1
  156. package/index.esm.js +0 -3900
  157. package/src/agent/graph.d.ts +0 -148
  158. package/src/agent/index.d.ts +0 -5
  159. package/src/agent/token.d.ts +0 -21
  160. package/src/agent/utils.d.ts +0 -19
  161. package/src/agent/variables.d.ts +0 -14
  162. package/src/ai/ai-model.model.d.ts +0 -195
  163. package/src/ai/ai-provider.model.d.ts +0 -43
  164. package/src/ai/ai.model.d.ts +0 -82
  165. package/src/ai/chat-message-feedback.model.d.ts +0 -24
  166. package/src/ai/chat-message.model.d.ts +0 -222
  167. package/src/ai/chat.model.d.ts +0 -189
  168. package/src/ai/copilot-checkpoint.model.d.ts +0 -23
  169. package/src/ai/copilot-example.model.d.ts +0 -19
  170. package/src/ai/copilot-model.model.d.ts +0 -26
  171. package/src/ai/copilot-organization.model.d.ts +0 -17
  172. package/src/ai/copilot-provider.model.d.ts +0 -31
  173. package/src/ai/copilot-role.model.d.ts +0 -43
  174. package/src/ai/copilot-store.model.d.ts +0 -29
  175. package/src/ai/copilot-user.model.d.ts +0 -20
  176. package/src/ai/copilot.model.d.ts +0 -36
  177. package/src/ai/feature.model.d.ts +0 -6
  178. package/src/ai/index.d.ts +0 -38
  179. package/src/ai/knowledge-doc-page.model.d.ts +0 -15
  180. package/src/ai/knowledge-doc.model.d.ts +0 -177
  181. package/src/ai/knowledge-pipeline.d.ts +0 -100
  182. package/src/ai/knowledge-retrieval-log.model.d.ts +0 -10
  183. package/src/ai/knowledgebase-task.model.d.ts +0 -36
  184. package/src/ai/knowledgebase.model.d.ts +0 -160
  185. package/src/ai/rag-web.d.ts +0 -26
  186. package/src/ai/rag.d.ts +0 -24
  187. package/src/ai/role-permissions.d.ts +0 -13
  188. package/src/ai/types.d.ts +0 -39
  189. package/src/ai/xpert-agent-execution.model.d.ts +0 -96
  190. package/src/ai/xpert-agent.model.d.ts +0 -192
  191. package/src/ai/xpert-project.model.d.ts +0 -86
  192. package/src/ai/xpert-task.model.d.ts +0 -26
  193. package/src/ai/xpert-template.model.d.ts +0 -47
  194. package/src/ai/xpert-tool-mcp.model.d.ts +0 -67
  195. package/src/ai/xpert-tool.model.d.ts +0 -147
  196. package/src/ai/xpert-toolset.model.d.ts +0 -200
  197. package/src/ai/xpert-workflow-task.prompt.d.ts +0 -2
  198. package/src/ai/xpert-workflow.model.d.ts +0 -365
  199. package/src/ai/xpert-workspace.model.d.ts +0 -32
  200. package/src/ai/xpert.model.d.ts +0 -497
  201. package/src/ai/xpert.utils.d.ts +0 -80
  202. package/src/analytics/ai.d.ts +0 -73
  203. package/src/analytics/approval-policy.model.d.ts +0 -30
  204. package/src/analytics/business-area-user.model.d.ts +0 -35
  205. package/src/analytics/business-area.d.ts +0 -17
  206. package/src/analytics/certification.model.d.ts +0 -11
  207. package/src/analytics/chatbi-conversation.model.d.ts +0 -15
  208. package/src/analytics/chatbi-model.model.d.ts +0 -18
  209. package/src/analytics/collection.model.d.ts +0 -6
  210. package/src/analytics/comment.model.d.ts +0 -10
  211. package/src/analytics/data-source-type.d.ts +0 -16
  212. package/src/analytics/data-source.d.ts +0 -62
  213. package/src/analytics/favorite.d.ts +0 -14
  214. package/src/analytics/features.d.ts +0 -19
  215. package/src/analytics/feed-model.d.ts +0 -13
  216. package/src/analytics/gateway.d.ts +0 -27
  217. package/src/analytics/index.d.ts +0 -38
  218. package/src/analytics/indicator-app.d.ts +0 -44
  219. package/src/analytics/indicator.d.ts +0 -106
  220. package/src/analytics/model-query-log.model.d.ts +0 -41
  221. package/src/analytics/model-query.d.ts +0 -21
  222. package/src/analytics/permission-approval.model.d.ts +0 -47
  223. package/src/analytics/project.model.d.ts +0 -50
  224. package/src/analytics/role-permissions.d.ts +0 -25
  225. package/src/analytics/schema.d.ts +0 -262
  226. package/src/analytics/screenshot.model.d.ts +0 -25
  227. package/src/analytics/semantic-model-entity.d.ts +0 -37
  228. package/src/analytics/semantic-model-member.d.ts +0 -24
  229. package/src/analytics/semantic-model.d.ts +0 -175
  230. package/src/analytics/story-template.model.d.ts +0 -28
  231. package/src/analytics/story-widget.d.ts +0 -12
  232. package/src/analytics/story.d.ts +0 -93
  233. package/src/analytics/subscription.d.ts +0 -38
  234. package/src/analytics/visit.model.d.ts +0 -34
  235. package/src/analytics/webSocket.d.ts +0 -48
  236. package/src/api-key.model.d.ts +0 -10
  237. package/src/base-entity.model.d.ts +0 -27
  238. package/src/contact.model.d.ts +0 -41
  239. package/src/core.model.d.ts +0 -97
  240. package/src/currency.model.d.ts +0 -579
  241. package/src/date-picker.model.d.ts +0 -5
  242. package/src/email-template.model.d.ts +0 -39
  243. package/src/email.model.d.ts +0 -36
  244. package/src/employee.model.d.ts +0 -128
  245. package/src/entity-with-members.model.d.ts +0 -13
  246. package/src/feature.model.d.ts +0 -93
  247. package/src/file-provider.d.ts +0 -33
  248. package/src/help-center-article.model.d.ts +0 -0
  249. package/src/help-center.model.d.ts +0 -0
  250. package/src/http-status.enum.d.ts +0 -57
  251. package/src/import-export.model.d.ts +0 -36
  252. package/src/index.d.ts +0 -48
  253. package/src/integration/dify.d.ts +0 -0
  254. package/src/integration/dingtalk.d.ts +0 -2
  255. package/src/integration/fastgpt.d.ts +0 -0
  256. package/src/integration/firecrawl.d.ts +0 -2
  257. package/src/integration/github.d.ts +0 -69
  258. package/src/integration/index.d.ts +0 -4
  259. package/src/integration/lark.d.ts +0 -11
  260. package/src/integration/ragflow.d.ts +0 -0
  261. package/src/integration/wecom.d.ts +0 -2
  262. package/src/integration.model.d.ts +0 -86
  263. package/src/invite.model.d.ts +0 -123
  264. package/src/language.model.d.ts +0 -19
  265. package/src/organization-contact.model.d.ts +0 -73
  266. package/src/organization-language.model.d.ts +0 -18
  267. package/src/organization-projects.model.d.ts +0 -80
  268. package/src/organization-team-employee-model.d.ts +0 -12
  269. package/src/organization-team-model.d.ts +0 -19
  270. package/src/organization.model.d.ts +0 -239
  271. package/src/password-reset.model.d.ts +0 -18
  272. package/src/plugin.d.ts +0 -13
  273. package/src/role-permission.model.d.ts +0 -61
  274. package/src/role.model.d.ts +0 -26
  275. package/src/schedule.d.ts +0 -27
  276. package/src/secret-token.model.d.ts +0 -11
  277. package/src/seed.model.d.ts +0 -37
  278. package/src/storage-file.model.d.ts +0 -40
  279. package/src/tag-entity.model.d.ts +0 -20
  280. package/src/tenant.model.d.ts +0 -40
  281. package/src/tools/index.d.ts +0 -1
  282. package/src/tools/sandbox.d.ts +0 -5
  283. package/src/translation.model.d.ts +0 -26
  284. package/src/types.d.ts +0 -240
  285. package/src/user-organization.model.d.ts +0 -24
  286. package/src/user.model.d.ts +0 -128
  287. package/src/visibility.model.d.ts +0 -6
package/src/types.ts ADDED
@@ -0,0 +1,277 @@
1
+ import ShortUniqueId from 'short-unique-id'
2
+
3
+ export const uuid = new ShortUniqueId({ length: 10 })
4
+
5
+ /**
6
+ * @description
7
+ * An entity ID. Represents a unique identifier as a string.
8
+ *
9
+ * @docsCategory Type Definitions
10
+ * @docsSubcategory Identifiers
11
+ */
12
+ export type ID = string;
13
+
14
+ export interface I18nObject {
15
+ en_US: string
16
+ zh_Hans?: string
17
+ }
18
+
19
+ export type TAvatar = {
20
+ emoji?: {
21
+ id: string
22
+ set?: '' | 'apple' | 'google' | 'twitter' | 'facebook'
23
+ colons?: string
24
+ unified?: string
25
+ }
26
+ /**
27
+ * Use Noto Color Emoji:
28
+ * https://fonts.google.com/noto/specimen/Noto+Color+Emoji/
29
+ */
30
+ useNotoColor?: boolean
31
+ background?: string
32
+ url?: string
33
+ }
34
+
35
+ export type TDeleteResult = {
36
+ /**
37
+ * Raw SQL result returned by executed query.
38
+ */
39
+ raw: any;
40
+ /**
41
+ * Number of affected rows/documents
42
+ * Not all drivers support this
43
+ */
44
+ affected?: number | null;
45
+ }
46
+
47
+ export type TranslateOptions = {
48
+ lang?: string;
49
+ args?: ({
50
+ [k: string]: any;
51
+ } | string)[] | {
52
+ [k: string]: any;
53
+ };
54
+ debug?: boolean;
55
+ }
56
+
57
+ /**
58
+ * Select option type
59
+ */
60
+ export type TSelectOption<T = string | number | boolean, K = string> = {
61
+ key?: K
62
+ value: T
63
+
64
+ label?: I18nObject | string
65
+ description?: I18nObject | string
66
+ icon?: string
67
+ }
68
+
69
+ // Parameters
70
+ export enum ParameterTypeEnum {
71
+ STRING = 'string',
72
+ NUMBER = 'number',
73
+ BOOLEAN = 'boolean',
74
+ ARRAY = 'array',
75
+ SELECT = 'select',
76
+ SECRET_INPUT = 'secret-input',
77
+ FILE = 'file'
78
+ }
79
+
80
+ export type TParameterOption = {
81
+ value: string
82
+ label: I18nObject
83
+ }
84
+
85
+ export type TParameterHelpInfo = {
86
+ title: I18nObject;
87
+ url: I18nObject;
88
+ }
89
+
90
+ export type TParameter = {
91
+ name: string
92
+ label: I18nObject
93
+ placeholder?: I18nObject
94
+ description?: I18nObject
95
+ type: ParameterTypeEnum
96
+ required?: boolean
97
+ default?: number | string
98
+ min?: number
99
+ max?: number
100
+ options?: TParameterOption[]
101
+ items?: {
102
+ type: ParameterTypeEnum
103
+ }
104
+ when?: Record<string, unknown[]>
105
+
106
+ /**
107
+ * Is visible for parameters
108
+ */
109
+ visible?: boolean
110
+
111
+ help?: TParameterHelpInfo
112
+ }
113
+
114
+ export type TParameterSchema = {
115
+ type: 'object' | 'array'
116
+ required?: string[]
117
+ secret?: string[]
118
+ /**
119
+ * @deprecated use parameters
120
+ */
121
+ properties?: any
122
+ parameters?: TParameter[]
123
+ }
124
+
125
+ export interface IPoint {
126
+ x: number
127
+ y: number
128
+ }
129
+
130
+ export interface ISize {
131
+ width: number
132
+ height: number
133
+ }
134
+
135
+ export type _TFile = {
136
+ filePath: string;
137
+ fileUrl?: string;
138
+ mimeType?: string;
139
+ /**
140
+ * @deprecated use fileUrl instead
141
+ */
142
+ url?: string;
143
+ }
144
+
145
+ /**
146
+ * A recursive implementation of the Partial<T> type.
147
+ * Source: https://stackoverflow.com/a/49936686/772859
148
+ */
149
+ export type DeepPartial<T> = {
150
+ [P in keyof T]?: T[P] extends (infer U)[]
151
+ ? DeepPartial<U>[]
152
+ : T[P] extends Readonly<infer U>[]
153
+ ? Readonly<DeepPartial<U>>[]
154
+ : DeepPartial<T[P]>
155
+ }
156
+
157
+ export interface ChecklistItem {
158
+ node?: string
159
+ field?: string // Incorrect field name, such as role, hierarchy
160
+ value?: string // Optional: value of the field, such as role name
161
+ message: I18nObject
162
+ level: 'error' | 'warning'
163
+ ruleCode?: string // Optional: unique internal rule number (such as DIM_ROLE_INVALID)
164
+ }
165
+
166
+ export interface RuleValidator {
167
+ validate(input: any, params?: any): Promise<ChecklistItem[]>
168
+ }
169
+
170
+ export function letterStartSUID(start: string) {
171
+ return start + uuid()
172
+ }
173
+
174
+ /**
175
+ * The type of icon to render.
176
+ * Determines how the `value` field should be interpreted.
177
+ */
178
+ export type IconType = 'image' | 'svg' | 'font' | 'emoji' | 'lottie'
179
+
180
+ /**
181
+ * Defines a unified structure for representing different kinds of icons
182
+ * in the frontend (image, SVG, font icon, emoji, Lottie animation, etc.).
183
+ *
184
+ * ---
185
+ * 🧩 Supported icon types:
186
+ *
187
+ * | Type | Description | Example `value` |
188
+ * |-----------|----------------------------------|-----------------|
189
+ * | `image` | Raster or Base64-encoded image | `"https://cdn.example.com/logo.png"` or `"data:image/png;base64,..."` |
190
+ * | `svg` | Inline SVG markup | `"<svg xmlns='http://www.w3.org/2000/svg'><path d='M12 2l4 20H8z'/></svg>"` |
191
+ * | `font` | Font icon class name | `"fa-solid fa-user"` or `"material-icons:home"` |
192
+ * | `emoji` | Unicode emoji character | `"🚀"` |
193
+ * | `lottie` | Lottie animation JSON URL | `"https://assets.lottiefiles.com/packages/lf20_abc123.json"` |
194
+ *
195
+ * ---
196
+ * 🧠 Example usages:
197
+ *
198
+ * ```json
199
+ * {
200
+ * "icon": {
201
+ * "type": "image",
202
+ * "value": "https://cdn.example.com/logo.png",
203
+ * "alt": "Company logo"
204
+ * }
205
+ * }
206
+ *
207
+ * {
208
+ * "icon": {
209
+ * "type": "svg",
210
+ * "value": "<svg xmlns='http://www.w3.org/2000/svg'><path d='M12 2l4 20H8z'/></svg>"
211
+ * }
212
+ * }
213
+ *
214
+ * {
215
+ * "icon": {
216
+ * "type": "font",
217
+ * "value": "fa-solid fa-user",
218
+ * "color": "#666",
219
+ * "size": 20
220
+ * }
221
+ * }
222
+ *
223
+ * {
224
+ * "icon": {
225
+ * "type": "emoji",
226
+ * "value": "🚀",
227
+ * "size": 32
228
+ * }
229
+ * }
230
+ *
231
+ * {
232
+ * "icon": {
233
+ * "type": "lottie",
234
+ * "value": "https://assets.lottiefiles.com/packages/lf20_abc123.json"
235
+ * }
236
+ * }
237
+ * ```
238
+ * ---
239
+ */
240
+ export interface IconDefinition {
241
+ /**
242
+ * The type of icon to render.
243
+ * Determines how the `value` field should be interpreted.
244
+ */
245
+ type: IconType
246
+
247
+ /**
248
+ * The icon content or resource reference.
249
+ * Can be a URL, Base64 data, SVG markup, emoji, or animation file.
250
+ */
251
+ value: string
252
+
253
+ /**
254
+ * Optional color for the icon.
255
+ * Typically used for font, SVG, or emoji icons.
256
+ */
257
+ color?: string
258
+
259
+ /**
260
+ * Optional size of the icon, in pixels.
261
+ * Defines the intended rendered size (e.g. 24 → 24px).
262
+ */
263
+ size?: number
264
+
265
+ /**
266
+ * Alternative text for accessibility.
267
+ * Useful for image or SVG icons.
268
+ */
269
+ alt?: string
270
+
271
+ /**
272
+ * Optional inline style definitions.
273
+ * Can include any CSS-compatible properties
274
+ * (e.g. `{ "borderRadius": "50%", "backgroundColor": "#f0f0f0" }`).
275
+ */
276
+ style?: Record<string, string>
277
+ }
@@ -0,0 +1,31 @@
1
+ import { IBasePerTenantAndOrganizationEntityModel } from './base-entity.model';
2
+ import { LanguagesEnum, IUser } from './user.model';
3
+
4
+ export interface IUserOrganization
5
+ extends IBasePerTenantAndOrganizationEntityModel {
6
+ userId: string;
7
+ isDefault: boolean;
8
+ isActive: boolean;
9
+ user?: IUser;
10
+ }
11
+
12
+ export interface IUserOrganizationFindInput
13
+ extends IBasePerTenantAndOrganizationEntityModel {
14
+ id?: string;
15
+ userId?: string;
16
+ isDefault?: boolean;
17
+ isActive?: boolean;
18
+ }
19
+
20
+ export interface IUserOrganizationCreateInput
21
+ extends IBasePerTenantAndOrganizationEntityModel {
22
+ userId: string;
23
+ isDefault?: boolean;
24
+ isActive?: boolean;
25
+ }
26
+
27
+ export interface IUserOrganizationDeleteInput {
28
+ userOrganizationId: string;
29
+ requestingUser: IUser;
30
+ language?: LanguagesEnum;
31
+ }
@@ -0,0 +1,151 @@
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
+
7
+ export enum UserType {
8
+ USER = 'user', // Regular user
9
+ COMMUNICATION = 'communication', // Backend communication & integration account
10
+ }
11
+
12
+ export interface IUser extends IBasePerTenantEntityModel {
13
+ thirdPartyId?: string;
14
+ name?: string;
15
+ firstName?: string;
16
+ lastName?: string;
17
+ email?: string;
18
+ mobile?: string
19
+ username?: string;
20
+ timeZone?: string;
21
+ type?: UserType
22
+ role?: IRole;
23
+ roleId?: string;
24
+ hash?: string;
25
+ imageUrl?: string;
26
+ employee?: IEmployee;
27
+ employeeId?: string;
28
+ tags?: ITag[];
29
+ preferredLanguage?: string;
30
+ paymentsId?: string;
31
+ // preferredComponentLayout?: string;
32
+ fullName?: string;
33
+ organizations?: IOrganization[];
34
+ isImporting?: boolean;
35
+ sourceId?: string;
36
+ emailVerified?: boolean
37
+ emailVerification?: IEmailVerification
38
+ deletedAt?: Date
39
+ }
40
+
41
+ export interface IEmailVerification extends IBasePerTenantEntityModel {
42
+ token: string
43
+ userId: string
44
+ user?: IUser
45
+ validUntil: Date
46
+ }
47
+
48
+ export interface IUserEmailInput {
49
+ email: string;
50
+ }
51
+
52
+ export interface IUserFindInput {
53
+ thirdPartyId?: string;
54
+ firstName?: string;
55
+ lastName?: string;
56
+ email?: string;
57
+ username?: string;
58
+ role?: IRole;
59
+ roleId?: string;
60
+ hash?: string;
61
+ imageUrl?: string;
62
+ tags?: ITag[];
63
+ preferredLanguage?: LanguagesEnum;
64
+ }
65
+
66
+ export interface IUserRegistrationInput {
67
+ user: IUser;
68
+ password?: string;
69
+ confirmPassword?: string
70
+ originalUrl?: string;
71
+ organizationId?: string;
72
+ createdById?: string;
73
+ isImporting?: boolean;
74
+ sourceId?: string;
75
+ timeZone?: string
76
+ }
77
+
78
+ export interface IUserLoginInput {
79
+ email: string;
80
+ password: string;
81
+ }
82
+
83
+ export interface IAuthResponse {
84
+ user: IUser;
85
+ token: string;
86
+ refreshToken: string;
87
+ }
88
+ export interface IUserCreateInput {
89
+ type?: UserType
90
+ firstName?: string;
91
+ lastName?: string;
92
+ email?: string;
93
+ username?: string;
94
+ role?: IRole;
95
+ roleId?: string;
96
+ hash?: string;
97
+ imageUrl?: string;
98
+ tags?: ITag[];
99
+ preferredLanguage?: LanguagesEnum;
100
+ timeZone?: string
101
+ thirdPartyId?: string
102
+ roleName?: string
103
+ }
104
+
105
+ export interface IUserUpdateInput extends Omit<IUserCreateInput, 'type'> {
106
+ password?: string;
107
+ confirmPassword?: string
108
+ }
109
+
110
+ export interface IUserPasswordInput {
111
+ hash?: string;
112
+ password?: string;
113
+ confirmPassword?: string
114
+ }
115
+
116
+ /**
117
+ * Browser http header `Language`
118
+ */
119
+ export enum LanguagesEnum {
120
+ Chinese = "zh-CN",
121
+ SimplifiedChinese = "zh-Hans",
122
+ TraditionalChinese = 'zh-Hant',
123
+ English = 'en',
124
+ }
125
+
126
+ export const LanguagesMap = {
127
+ 'zh-CN': LanguagesEnum.SimplifiedChinese,
128
+ 'zh-Hans': LanguagesEnum.SimplifiedChinese,
129
+ 'zh': LanguagesEnum.SimplifiedChinese,
130
+ }
131
+
132
+ // export enum ComponentLayoutStyleEnum {
133
+ // CARDS_GRID = 'CARDS_GRID',
134
+ // TABLE = 'TABLE'
135
+ // }
136
+
137
+ export enum ProviderEnum {
138
+ GOOGLE = 'google',
139
+ FACEBOOK = 'facebook'
140
+ }
141
+
142
+ export interface IUserViewModel extends IBasePerTenantEntityModel {
143
+ fullName: string;
144
+ email: string;
145
+ bonus?: number;
146
+ endWork?: any;
147
+ id: string;
148
+ roleName?: string;
149
+ role?: string;
150
+ tags?: ITag[];
151
+ }
@@ -0,0 +1,6 @@
1
+ export enum Visibility {
2
+ Public = 'public',
3
+ Internal = 'internal',
4
+ Secret = 'secret',
5
+ Private = 'private',
6
+ }
package/tsconfig.json ADDED
@@ -0,0 +1,22 @@
1
+ {
2
+ "extends": "../../tsconfig.base.json",
3
+ "compilerOptions": {
4
+ "module": "esnext",
5
+ "forceConsistentCasingInFileNames": true,
6
+ "strict": true,
7
+ "noImplicitOverride": true,
8
+ "noPropertyAccessFromIndexSignature": true,
9
+ "noImplicitReturns": true,
10
+ "noFallthroughCasesInSwitch": true
11
+ },
12
+ "files": [],
13
+ "include": [],
14
+ "references": [
15
+ {
16
+ "path": "./tsconfig.lib.json"
17
+ },
18
+ {
19
+ "path": "./tsconfig.spec.json"
20
+ }
21
+ ]
22
+ }
@@ -0,0 +1,10 @@
1
+ {
2
+ "extends": "./tsconfig.json",
3
+ "compilerOptions": {
4
+ "outDir": "../../dist/out-tsc",
5
+ "declaration": true,
6
+ "types": []
7
+ },
8
+ "include": ["**/*.ts"],
9
+ "exclude": ["jest.config.ts", "**/*.spec.ts", "**/*.test.ts"]
10
+ }
@@ -0,0 +1,9 @@
1
+ {
2
+ "extends": "./tsconfig.json",
3
+ "compilerOptions": {
4
+ "outDir": "../../dist/out-tsc",
5
+ "module": "commonjs",
6
+ "types": ["jest", "node"]
7
+ },
8
+ "include": ["jest.config.ts", "**/*.test.ts", "**/*.spec.ts", "**/*.d.ts"]
9
+ }
package/index.cjs.d.ts DELETED
@@ -1 +0,0 @@
1
- export * from "./src/index";
package/index.esm.d.ts DELETED
@@ -1 +0,0 @@
1
- export * from "./src/index";