@allbluecn/database 0.4.0 → 0.4.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 (190) hide show
  1. package/desktop-init.ts +128 -0
  2. package/generated/browser.ts +494 -0
  3. package/generated/client.ts +518 -0
  4. package/generated/commonInputTypes.ts +1056 -0
  5. package/generated/enums.ts +93 -0
  6. package/generated/internal/class.ts +1144 -0
  7. package/generated/internal/prismaNamespace.ts +9603 -0
  8. package/generated/internal/prismaNamespaceBrowser.ts +1695 -0
  9. package/generated/models/Account.ts +1648 -0
  10. package/generated/models/AgentConversation.ts +1651 -0
  11. package/generated/models/AgentMessage.ts +1409 -0
  12. package/generated/models/AiProvider.ts +1607 -0
  13. package/generated/models/AiProviderConfig.ts +1514 -0
  14. package/generated/models/AiUsageLog.ts +1863 -0
  15. package/generated/models/AnyHubApp.ts +1911 -0
  16. package/generated/models/AnyHubMarketApp.ts +2008 -0
  17. package/generated/models/AnyHubPermission.ts +1422 -0
  18. package/generated/models/AnyHubRecommendation.ts +1870 -0
  19. package/generated/models/AnyHubRecommender.ts +1471 -0
  20. package/generated/models/Artboard.ts +1811 -0
  21. package/generated/models/ArtboardExport.ts +1548 -0
  22. package/generated/models/ArticleFavorite.ts +1352 -0
  23. package/generated/models/AuditLog.ts +1533 -0
  24. package/generated/models/Block.ts +1650 -0
  25. package/generated/models/BlockComponent.ts +1734 -0
  26. package/generated/models/BlockInstance.ts +2043 -0
  27. package/generated/models/BookmarkCategory.ts +1670 -0
  28. package/generated/models/ChatInterrupt.ts +1699 -0
  29. package/generated/models/ChatMessage.ts +1438 -0
  30. package/generated/models/ChatRun.ts +1632 -0
  31. package/generated/models/ChatThread.ts +2133 -0
  32. package/generated/models/Comment.ts +2206 -0
  33. package/generated/models/CommentIgnore.ts +1430 -0
  34. package/generated/models/CommentReaction.ts +1472 -0
  35. package/generated/models/ComplianceExport.ts +1345 -0
  36. package/generated/models/Component.ts +2345 -0
  37. package/generated/models/ComponentInstance.ts +2102 -0
  38. package/generated/models/ComponentTag.ts +1281 -0
  39. package/generated/models/CustomRole.ts +1560 -0
  40. package/generated/models/DesignProject.ts +1643 -0
  41. package/generated/models/DictionaryTerm.ts +1642 -0
  42. package/generated/models/GenerationRun.ts +1543 -0
  43. package/generated/models/IndustryCompliance.ts +1797 -0
  44. package/generated/models/InvitationCode.ts +1417 -0
  45. package/generated/models/InvitationUse.ts +1424 -0
  46. package/generated/models/Invoice.ts +1710 -0
  47. package/generated/models/KnowledgeBase.ts +1671 -0
  48. package/generated/models/KnowledgeDocument.ts +2458 -0
  49. package/generated/models/KnowledgeShareRecord.ts +1352 -0
  50. package/generated/models/Label.ts +1482 -0
  51. package/generated/models/LegalRegulation.ts +1873 -0
  52. package/generated/models/LicenseActivation.ts +1415 -0
  53. package/generated/models/LicenseKey.ts +1884 -0
  54. package/generated/models/LoginLog.ts +1450 -0
  55. package/generated/models/MonitoringErrorReport.ts +1299 -0
  56. package/generated/models/MonitoringHealthSnapshot.ts +1249 -0
  57. package/generated/models/MonitoringMetricsSnapshot.ts +1369 -0
  58. package/generated/models/MonitoringRequestLog.ts +1283 -0
  59. package/generated/models/PRD.ts +2805 -0
  60. package/generated/models/PRDPage.ts +2402 -0
  61. package/generated/models/PRDTag.ts +1430 -0
  62. package/generated/models/PRDVersion.ts +2121 -0
  63. package/generated/models/PageVersion.ts +1523 -0
  64. package/generated/models/PasswordResetToken.ts +1380 -0
  65. package/generated/models/Plan.ts +2069 -0
  66. package/generated/models/Project.ts +2148 -0
  67. package/generated/models/ProjectActivity.ts +1582 -0
  68. package/generated/models/ProjectMember.ts +1512 -0
  69. package/generated/models/ProviderEvent.ts +1227 -0
  70. package/generated/models/Reference.ts +1177 -0
  71. package/generated/models/Review.ts +1912 -0
  72. package/generated/models/ReviewComment.ts +1904 -0
  73. package/generated/models/RoleAssignment.ts +1430 -0
  74. package/generated/models/SequenceCounter.ts +1137 -0
  75. package/generated/models/Share.ts +1681 -0
  76. package/generated/models/ShareVersion.ts +1389 -0
  77. package/generated/models/SsoMapping.ts +1512 -0
  78. package/generated/models/SsoProvider.ts +1639 -0
  79. package/generated/models/Story.ts +5234 -0
  80. package/generated/models/StoryActivity.ts +1664 -0
  81. package/generated/models/StoryAttachment.ts +1467 -0
  82. package/generated/models/StoryComment.ts +1992 -0
  83. package/generated/models/StoryDependency.ts +1517 -0
  84. package/generated/models/StoryDocLink.ts +1430 -0
  85. package/generated/models/StoryFilterView.ts +1587 -0
  86. package/generated/models/StoryLabel.ts +1349 -0
  87. package/generated/models/StoryLink.ts +1415 -0
  88. package/generated/models/StoryPrdLink.ts +1430 -0
  89. package/generated/models/StoryReaction.ts +1472 -0
  90. package/generated/models/Subscription.ts +2147 -0
  91. package/generated/models/SystemSetting.ts +1217 -0
  92. package/generated/models/Tag.ts +1655 -0
  93. package/generated/models/TeamInvitation.ts +1526 -0
  94. package/generated/models/TeamMembership.ts +1436 -0
  95. package/generated/models/Template.ts +1391 -0
  96. package/generated/models/TemplateBlock.ts +1664 -0
  97. package/generated/models/ThirdPartyDependency.ts +1473 -0
  98. package/generated/models/UsageRecord.ts +1505 -0
  99. package/generated/models/User.ts +20998 -0
  100. package/generated/models/UserAgent.ts +1900 -0
  101. package/generated/models/UserSkill.ts +1456 -0
  102. package/generated/models/WebsiteBookmark.ts +2219 -0
  103. package/generated/models/Workspace.ts +2279 -0
  104. package/generated/models.ts +106 -0
  105. package/generated-sqlite/browser.ts +399 -0
  106. package/generated-sqlite/client.ts +423 -0
  107. package/generated-sqlite/commonInputTypes.ts +608 -0
  108. package/generated-sqlite/enums.ts +15 -0
  109. package/generated-sqlite/internal/class.ts +954 -0
  110. package/generated-sqlite/internal/prismaNamespace.ts +7716 -0
  111. package/generated-sqlite/internal/prismaNamespaceBrowser.ts +1415 -0
  112. package/generated-sqlite/models/AgentConversation.ts +1647 -0
  113. package/generated-sqlite/models/AgentMessage.ts +1406 -0
  114. package/generated-sqlite/models/AiProvider.ts +1605 -0
  115. package/generated-sqlite/models/AiProviderConfig.ts +1511 -0
  116. package/generated-sqlite/models/AiUsageLog.ts +1845 -0
  117. package/generated-sqlite/models/AnyHubApp.ts +1908 -0
  118. package/generated-sqlite/models/AnyHubMarketApp.ts +1997 -0
  119. package/generated-sqlite/models/AnyHubPermission.ts +1419 -0
  120. package/generated-sqlite/models/AnyHubRecommendation.ts +1867 -0
  121. package/generated-sqlite/models/AnyHubRecommender.ts +1467 -0
  122. package/generated-sqlite/models/Artboard.ts +1808 -0
  123. package/generated-sqlite/models/ArtboardExport.ts +1545 -0
  124. package/generated-sqlite/models/ArticleFavorite.ts +1349 -0
  125. package/generated-sqlite/models/AuditLog.ts +1287 -0
  126. package/generated-sqlite/models/Block.ts +1648 -0
  127. package/generated-sqlite/models/BlockComponent.ts +1730 -0
  128. package/generated-sqlite/models/BlockInstance.ts +2039 -0
  129. package/generated-sqlite/models/BookmarkCategory.ts +1667 -0
  130. package/generated-sqlite/models/ChatInterrupt.ts +1695 -0
  131. package/generated-sqlite/models/ChatMessage.ts +1435 -0
  132. package/generated-sqlite/models/ChatRun.ts +1629 -0
  133. package/generated-sqlite/models/ChatThread.ts +2129 -0
  134. package/generated-sqlite/models/Comment.ts +2201 -0
  135. package/generated-sqlite/models/CommentIgnore.ts +1426 -0
  136. package/generated-sqlite/models/ComplianceExport.ts +1343 -0
  137. package/generated-sqlite/models/Component.ts +2326 -0
  138. package/generated-sqlite/models/ComponentInstance.ts +2097 -0
  139. package/generated-sqlite/models/ComponentTag.ts +1278 -0
  140. package/generated-sqlite/models/CustomRole.ts +1209 -0
  141. package/generated-sqlite/models/DesignProject.ts +1640 -0
  142. package/generated-sqlite/models/DictionaryTerm.ts +1639 -0
  143. package/generated-sqlite/models/GenerationRun.ts +1540 -0
  144. package/generated-sqlite/models/IndustryCompliance.ts +1794 -0
  145. package/generated-sqlite/models/InvitationCode.ts +1415 -0
  146. package/generated-sqlite/models/InvitationUse.ts +1420 -0
  147. package/generated-sqlite/models/Invoice.ts +1707 -0
  148. package/generated-sqlite/models/KnowledgeBase.ts +1668 -0
  149. package/generated-sqlite/models/KnowledgeDocument.ts +2282 -0
  150. package/generated-sqlite/models/KnowledgeShareRecord.ts +1349 -0
  151. package/generated-sqlite/models/LegalRegulation.ts +1870 -0
  152. package/generated-sqlite/models/LicenseActivation.ts +1203 -0
  153. package/generated-sqlite/models/LicenseKey.ts +1443 -0
  154. package/generated-sqlite/models/LoginLog.ts +1447 -0
  155. package/generated-sqlite/models/PRD.ts +2616 -0
  156. package/generated-sqlite/models/PRDPage.ts +2398 -0
  157. package/generated-sqlite/models/PRDTag.ts +1426 -0
  158. package/generated-sqlite/models/PRDVersion.ts +2117 -0
  159. package/generated-sqlite/models/PageVersion.ts +1528 -0
  160. package/generated-sqlite/models/PasswordResetToken.ts +1377 -0
  161. package/generated-sqlite/models/Plan.ts +2060 -0
  162. package/generated-sqlite/models/Project.ts +1994 -0
  163. package/generated-sqlite/models/ProjectActivity.ts +1578 -0
  164. package/generated-sqlite/models/ProjectMember.ts +1508 -0
  165. package/generated-sqlite/models/ProviderEvent.ts +1225 -0
  166. package/generated-sqlite/models/Reference.ts +1175 -0
  167. package/generated-sqlite/models/Review.ts +1903 -0
  168. package/generated-sqlite/models/ReviewComment.ts +1899 -0
  169. package/generated-sqlite/models/RoleAssignment.ts +1125 -0
  170. package/generated-sqlite/models/Share.ts +1674 -0
  171. package/generated-sqlite/models/ShareVersion.ts +1385 -0
  172. package/generated-sqlite/models/SsoMapping.ts +1181 -0
  173. package/generated-sqlite/models/SsoProvider.ts +1266 -0
  174. package/generated-sqlite/models/Subscription.ts +2137 -0
  175. package/generated-sqlite/models/SystemSetting.ts +1215 -0
  176. package/generated-sqlite/models/Tag.ts +1652 -0
  177. package/generated-sqlite/models/TeamInvitation.ts +1523 -0
  178. package/generated-sqlite/models/TeamMembership.ts +1433 -0
  179. package/generated-sqlite/models/Template.ts +1389 -0
  180. package/generated-sqlite/models/TemplateBlock.ts +1660 -0
  181. package/generated-sqlite/models/ThirdPartyDependency.ts +1471 -0
  182. package/generated-sqlite/models/UsageRecord.ts +1498 -0
  183. package/generated-sqlite/models/User.ts +13558 -0
  184. package/generated-sqlite/models/UserAgent.ts +1897 -0
  185. package/generated-sqlite/models/UserSkill.ts +1453 -0
  186. package/generated-sqlite/models/WebsiteBookmark.ts +2215 -0
  187. package/generated-sqlite/models/Workspace.ts +1824 -0
  188. package/generated-sqlite/models.ts +87 -0
  189. package/package.json +7 -3
  190. package/LICENSE +0 -661
@@ -0,0 +1,128 @@
1
+ // SPDX-License-Identifier: AGPL-3.0-or-later
2
+ // AllBlue - 理想之海
3
+ // Copyright (C) 2026 AllBlue Contributors
4
+ //
5
+ // This program is free software: you can redistribute it and/or modify
6
+ // it under the terms of the GNU Affero General Public License as published by
7
+ // the Free Software Foundation, either version 3 of the License, or
8
+ // (at your option) any later version.
9
+ //
10
+ // This program is distributed in the hope that it will be useful,
11
+ // but WITHOUT ANY WARRANTY; without even the implied warranty of
12
+ // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13
+ // GNU Affero General Public License for more details.
14
+ //
15
+ // You should have received a copy of the GNU Affero General Public License
16
+ // along with this program. If not, see <https://www.gnu.org/licenses/>.
17
+
18
+ // 桌面端 SQLite 首次启动初始化:建关系表(schema-sqlite.sql)+ 建 vec0 向量虚拟表
19
+ // 幂等:表已存在则跳过。仅 DATABASE_PROVIDER=sqlite 时被调用。
20
+ // better-sqlite3/sqlite-vec 动态 import,不进 postgresql 服务器 bundle。
21
+ import { readFileSync } from "node:fs";
22
+ import { join } from "node:path";
23
+
24
+ // 与 apps/web/src/lib/vector-store/sqlite-vec-store.ts 的 ALLOWED_TABLES 保持一致
25
+ const VEC_TABLES = [
26
+ "prd_pages",
27
+ "components",
28
+ "blocks",
29
+ "prd_embeddings",
30
+ "knowledge_embeddings",
31
+ ] as const;
32
+
33
+ let initialized = false;
34
+
35
+ /**
36
+ * 桌面端首次启动初始化本地 SQLite。
37
+ * - 关系表:sqlite_master 表数为 0 时执行 schema-sqlite.sql(Prisma migrate diff 产物)
38
+ * - 向量表:sqliteVec.load + 建 vec0 虚拟表(cosine 列级语法)
39
+ * 幂等:已初始化或表已存在则跳过。
40
+ */
41
+ export async function initDesktopDb(dbPath: string): Promise<void> {
42
+ if (initialized) return;
43
+
44
+ const Database = (await import("better-sqlite3")).default;
45
+ const sqliteVec = await import("sqlite-vec");
46
+
47
+ const db = new Database(dbPath);
48
+ try {
49
+ db.pragma("journal_mode = WAL");
50
+
51
+ const { c: tableCount } = db
52
+ .prepare("SELECT count(*) AS c FROM sqlite_master WHERE type='table'")
53
+ .get() as { c: number };
54
+
55
+ if (tableCount === 0) {
56
+ const sqlPath = locateSchemaSql();
57
+ const sql = readFileSync(sqlPath, "utf-8");
58
+ db.exec(sql);
59
+ console.log("[desktop] 关系表初始化完成");
60
+ }
61
+
62
+ sqliteVec.load(db);
63
+ for (const t of VEC_TABLES) {
64
+ db.exec(
65
+ `CREATE VIRTUAL TABLE IF NOT EXISTS vec_${t} USING vec0(embedding float[1536] distance_metric=cosine);`
66
+ );
67
+ }
68
+ console.log("[desktop] 向量虚拟表就绪");
69
+
70
+ seedLocalGuestUser(db);
71
+
72
+ initialized = true;
73
+ } finally {
74
+ db.close();
75
+ }
76
+ }
77
+
78
+ function seedLocalGuestUser(db: import("better-sqlite3").Database): void {
79
+ const existing = db
80
+ .prepare("SELECT id FROM users WHERE id = ?")
81
+ .get("local-guest") as { id: string } | undefined;
82
+ if (existing) return;
83
+
84
+ const now = new Date().toISOString();
85
+ // bcrypt 占位:与 auth.ts 的 verify 逻辑对齐(`***NO_PASSWORD***` 标记),
86
+ // 明文 guest 密码无法通过验证——游客模式无登录路径,仅满足 FK 约束。
87
+ const guestHash =
88
+ "$2a$10$NO_SECRET_HASH_PLACEHOLDER_guest_local_mode_no_login_needed";
89
+ db.prepare(
90
+ `INSERT INTO users (id, username, email, password, role, status, "createdAt", "updatedAt")
91
+ VALUES (?, ?, ?, ?, ?, ?, ?, ?)`
92
+ ).run(
93
+ "local-guest",
94
+ "本地用户",
95
+ "guest@localhost",
96
+ guestHash,
97
+ "USER",
98
+ "ACTIVE",
99
+ now,
100
+ now
101
+ );
102
+ console.log("[desktop] local-guest 用户已创建");
103
+ }
104
+
105
+ /** 定位 schema-sqlite.sql:候选路径列表,首个可读的胜出 */
106
+ function locateSchemaSql(): string {
107
+ const candidates = [
108
+ process.env.DESKTOP_SCHEMA_SQL,
109
+ join(process.cwd(), "sidecars/schema-sqlite.sql"),
110
+ join(process.cwd(), "src-tauri/sidecars/schema-sqlite.sql"),
111
+ join(process.cwd(), "apps/desktop/src-tauri/sidecars/schema-sqlite.sql"),
112
+ join(process.cwd(), "../schema-sqlite.sql"),
113
+ ].filter(Boolean) as string[];
114
+
115
+ for (const p of candidates) {
116
+ try {
117
+ readFileSync(p);
118
+ return p;
119
+ } catch {}
120
+ }
121
+ throw new Error(
122
+ "[desktop] 找不到 schema-sqlite.sql,已尝试候选路径: " + candidates.join(", ")
123
+ );
124
+ }
125
+
126
+ export function isDesktopDbInitialized(): boolean {
127
+ return initialized;
128
+ }
@@ -0,0 +1,494 @@
1
+
2
+ /* !!! This is code generated by Prisma. Do not edit directly. !!! */
3
+ /* eslint-disable */
4
+ // biome-ignore-all lint: generated file
5
+ // @ts-nocheck
6
+ /*
7
+ * This file should be your main import to use Prisma-related types and utilities in a browser.
8
+ * Use it to get access to models, enums, and input types.
9
+ *
10
+ * This file does not contain a `PrismaClient` class, nor several other helpers that are intended as server-side only.
11
+ * See `client.ts` for the standard, server-side entry point.
12
+ *
13
+ * 🟢 You can import this file directly.
14
+ */
15
+
16
+ import * as Prisma from './internal/prismaNamespaceBrowser'
17
+ export { Prisma }
18
+ export * as $Enums from './enums'
19
+ export * from './enums';
20
+ /**
21
+ * Model SystemSetting
22
+ *
23
+ */
24
+ export type SystemSetting = Prisma.SystemSettingModel
25
+ /**
26
+ * Model User
27
+ *
28
+ */
29
+ export type User = Prisma.UserModel
30
+ /**
31
+ * Model Account
32
+ *
33
+ */
34
+ export type Account = Prisma.AccountModel
35
+ /**
36
+ * Model Project
37
+ *
38
+ */
39
+ export type Project = Prisma.ProjectModel
40
+ /**
41
+ * Model ProjectMember
42
+ *
43
+ */
44
+ export type ProjectMember = Prisma.ProjectMemberModel
45
+ /**
46
+ * Model Workspace
47
+ *
48
+ */
49
+ export type Workspace = Prisma.WorkspaceModel
50
+ /**
51
+ * Model TeamMembership
52
+ *
53
+ */
54
+ export type TeamMembership = Prisma.TeamMembershipModel
55
+ /**
56
+ * Model TeamInvitation
57
+ *
58
+ */
59
+ export type TeamInvitation = Prisma.TeamInvitationModel
60
+ /**
61
+ * Model ProjectActivity
62
+ *
63
+ */
64
+ export type ProjectActivity = Prisma.ProjectActivityModel
65
+ /**
66
+ * Model ChatThread
67
+ *
68
+ */
69
+ export type ChatThread = Prisma.ChatThreadModel
70
+ /**
71
+ * Model ChatMessage
72
+ *
73
+ */
74
+ export type ChatMessage = Prisma.ChatMessageModel
75
+ /**
76
+ * Model ChatRun
77
+ *
78
+ */
79
+ export type ChatRun = Prisma.ChatRunModel
80
+ /**
81
+ * Model ChatInterrupt
82
+ *
83
+ */
84
+ export type ChatInterrupt = Prisma.ChatInterruptModel
85
+ /**
86
+ * Model GenerationRun
87
+ *
88
+ */
89
+ export type GenerationRun = Prisma.GenerationRunModel
90
+ /**
91
+ * Model LoginLog
92
+ *
93
+ */
94
+ export type LoginLog = Prisma.LoginLogModel
95
+ /**
96
+ * Model InvitationCode
97
+ *
98
+ */
99
+ export type InvitationCode = Prisma.InvitationCodeModel
100
+ /**
101
+ * Model InvitationUse
102
+ *
103
+ */
104
+ export type InvitationUse = Prisma.InvitationUseModel
105
+ /**
106
+ * Model PasswordResetToken
107
+ *
108
+ */
109
+ export type PasswordResetToken = Prisma.PasswordResetTokenModel
110
+ /**
111
+ * Model KnowledgeBase
112
+ *
113
+ */
114
+ export type KnowledgeBase = Prisma.KnowledgeBaseModel
115
+ /**
116
+ * Model KnowledgeDocument
117
+ *
118
+ */
119
+ export type KnowledgeDocument = Prisma.KnowledgeDocumentModel
120
+ /**
121
+ * Model PRD
122
+ *
123
+ */
124
+ export type PRD = Prisma.PRDModel
125
+ /**
126
+ * Model AgentConversation
127
+ *
128
+ */
129
+ export type AgentConversation = Prisma.AgentConversationModel
130
+ /**
131
+ * Model AgentMessage
132
+ *
133
+ */
134
+ export type AgentMessage = Prisma.AgentMessageModel
135
+ /**
136
+ * Model Component
137
+ *
138
+ */
139
+ export type Component = Prisma.ComponentModel
140
+ /**
141
+ * Model Block
142
+ *
143
+ */
144
+ export type Block = Prisma.BlockModel
145
+ /**
146
+ * Model BlockComponent
147
+ *
148
+ */
149
+ export type BlockComponent = Prisma.BlockComponentModel
150
+ /**
151
+ * Model Template
152
+ *
153
+ */
154
+ export type Template = Prisma.TemplateModel
155
+ /**
156
+ * Model TemplateBlock
157
+ *
158
+ */
159
+ export type TemplateBlock = Prisma.TemplateBlockModel
160
+ /**
161
+ * Model PRDPage
162
+ *
163
+ */
164
+ export type PRDPage = Prisma.PRDPageModel
165
+ /**
166
+ * Model ComponentInstance
167
+ *
168
+ */
169
+ export type ComponentInstance = Prisma.ComponentInstanceModel
170
+ /**
171
+ * Model BlockInstance
172
+ *
173
+ */
174
+ export type BlockInstance = Prisma.BlockInstanceModel
175
+ /**
176
+ * Model PRDVersion
177
+ *
178
+ */
179
+ export type PRDVersion = Prisma.PRDVersionModel
180
+ /**
181
+ * Model PageVersion
182
+ *
183
+ */
184
+ export type PageVersion = Prisma.PageVersionModel
185
+ /**
186
+ * Model Review
187
+ *
188
+ */
189
+ export type Review = Prisma.ReviewModel
190
+ /**
191
+ * Model ReviewComment
192
+ *
193
+ */
194
+ export type ReviewComment = Prisma.ReviewCommentModel
195
+ /**
196
+ * Model Comment
197
+ *
198
+ */
199
+ export type Comment = Prisma.CommentModel
200
+ /**
201
+ * Model CommentIgnore
202
+ *
203
+ */
204
+ export type CommentIgnore = Prisma.CommentIgnoreModel
205
+ /**
206
+ * Model Share
207
+ *
208
+ */
209
+ export type Share = Prisma.ShareModel
210
+ /**
211
+ * Model Tag
212
+ *
213
+ */
214
+ export type Tag = Prisma.TagModel
215
+ /**
216
+ * Model PRDTag
217
+ *
218
+ */
219
+ export type PRDTag = Prisma.PRDTagModel
220
+ /**
221
+ * Model ComponentTag
222
+ *
223
+ */
224
+ export type ComponentTag = Prisma.ComponentTagModel
225
+ /**
226
+ * Model Reference
227
+ *
228
+ */
229
+ export type Reference = Prisma.ReferenceModel
230
+ /**
231
+ * Model ShareVersion
232
+ *
233
+ */
234
+ export type ShareVersion = Prisma.ShareVersionModel
235
+ /**
236
+ * Model AnyHubApp
237
+ *
238
+ */
239
+ export type AnyHubApp = Prisma.AnyHubAppModel
240
+ /**
241
+ * Model AnyHubPermission
242
+ *
243
+ */
244
+ export type AnyHubPermission = Prisma.AnyHubPermissionModel
245
+ /**
246
+ * Model AnyHubMarketApp
247
+ *
248
+ */
249
+ export type AnyHubMarketApp = Prisma.AnyHubMarketAppModel
250
+ /**
251
+ * Model AnyHubRecommendation
252
+ *
253
+ */
254
+ export type AnyHubRecommendation = Prisma.AnyHubRecommendationModel
255
+ /**
256
+ * Model AnyHubRecommender
257
+ *
258
+ */
259
+ export type AnyHubRecommender = Prisma.AnyHubRecommenderModel
260
+ /**
261
+ * Model DesignProject
262
+ *
263
+ */
264
+ export type DesignProject = Prisma.DesignProjectModel
265
+ /**
266
+ * Model Artboard
267
+ *
268
+ */
269
+ export type Artboard = Prisma.ArtboardModel
270
+ /**
271
+ * Model ArtboardExport
272
+ *
273
+ */
274
+ export type ArtboardExport = Prisma.ArtboardExportModel
275
+ /**
276
+ * Model AiProvider
277
+ *
278
+ */
279
+ export type AiProvider = Prisma.AiProviderModel
280
+ /**
281
+ * Model AiProviderConfig
282
+ *
283
+ */
284
+ export type AiProviderConfig = Prisma.AiProviderConfigModel
285
+ /**
286
+ * Model ThirdPartyDependency
287
+ *
288
+ */
289
+ export type ThirdPartyDependency = Prisma.ThirdPartyDependencyModel
290
+ /**
291
+ * Model LegalRegulation
292
+ *
293
+ */
294
+ export type LegalRegulation = Prisma.LegalRegulationModel
295
+ /**
296
+ * Model IndustryCompliance
297
+ *
298
+ */
299
+ export type IndustryCompliance = Prisma.IndustryComplianceModel
300
+ /**
301
+ * Model DictionaryTerm
302
+ *
303
+ */
304
+ export type DictionaryTerm = Prisma.DictionaryTermModel
305
+ /**
306
+ * Model WebsiteBookmark
307
+ *
308
+ */
309
+ export type WebsiteBookmark = Prisma.WebsiteBookmarkModel
310
+ /**
311
+ * Model BookmarkCategory
312
+ *
313
+ */
314
+ export type BookmarkCategory = Prisma.BookmarkCategoryModel
315
+ /**
316
+ * Model KnowledgeShareRecord
317
+ *
318
+ */
319
+ export type KnowledgeShareRecord = Prisma.KnowledgeShareRecordModel
320
+ /**
321
+ * Model ArticleFavorite
322
+ *
323
+ */
324
+ export type ArticleFavorite = Prisma.ArticleFavoriteModel
325
+ /**
326
+ * Model Story
327
+ *
328
+ */
329
+ export type Story = Prisma.StoryModel
330
+ /**
331
+ * Model Label
332
+ *
333
+ */
334
+ export type Label = Prisma.LabelModel
335
+ /**
336
+ * Model StoryLabel
337
+ *
338
+ */
339
+ export type StoryLabel = Prisma.StoryLabelModel
340
+ /**
341
+ * Model StoryActivity
342
+ *
343
+ */
344
+ export type StoryActivity = Prisma.StoryActivityModel
345
+ /**
346
+ * Model SequenceCounter
347
+ *
348
+ */
349
+ export type SequenceCounter = Prisma.SequenceCounterModel
350
+ /**
351
+ * Model StoryComment
352
+ *
353
+ */
354
+ export type StoryComment = Prisma.StoryCommentModel
355
+ /**
356
+ * Model StoryReaction
357
+ *
358
+ */
359
+ export type StoryReaction = Prisma.StoryReactionModel
360
+ /**
361
+ * Model CommentReaction
362
+ *
363
+ */
364
+ export type CommentReaction = Prisma.CommentReactionModel
365
+ /**
366
+ * Model StoryDependency
367
+ *
368
+ */
369
+ export type StoryDependency = Prisma.StoryDependencyModel
370
+ /**
371
+ * Model StoryLink
372
+ *
373
+ */
374
+ export type StoryLink = Prisma.StoryLinkModel
375
+ /**
376
+ * Model StoryAttachment
377
+ *
378
+ */
379
+ export type StoryAttachment = Prisma.StoryAttachmentModel
380
+ /**
381
+ * Model StoryPrdLink
382
+ *
383
+ */
384
+ export type StoryPrdLink = Prisma.StoryPrdLinkModel
385
+ /**
386
+ * Model StoryDocLink
387
+ *
388
+ */
389
+ export type StoryDocLink = Prisma.StoryDocLinkModel
390
+ /**
391
+ * Model StoryFilterView
392
+ *
393
+ */
394
+ export type StoryFilterView = Prisma.StoryFilterViewModel
395
+ /**
396
+ * Model MonitoringRequestLog
397
+ *
398
+ */
399
+ export type MonitoringRequestLog = Prisma.MonitoringRequestLogModel
400
+ /**
401
+ * Model MonitoringErrorReport
402
+ *
403
+ */
404
+ export type MonitoringErrorReport = Prisma.MonitoringErrorReportModel
405
+ /**
406
+ * Model MonitoringMetricsSnapshot
407
+ *
408
+ */
409
+ export type MonitoringMetricsSnapshot = Prisma.MonitoringMetricsSnapshotModel
410
+ /**
411
+ * Model MonitoringHealthSnapshot
412
+ *
413
+ */
414
+ export type MonitoringHealthSnapshot = Prisma.MonitoringHealthSnapshotModel
415
+ /**
416
+ * Model Plan
417
+ * 订阅计划定义(seed 数据)
418
+ */
419
+ export type Plan = Prisma.PlanModel
420
+ /**
421
+ * Model Subscription
422
+ * 订阅记录(User 级,一人一订阅)
423
+ */
424
+ export type Subscription = Prisma.SubscriptionModel
425
+ /**
426
+ * Model UsageRecord
427
+ * 用量记录(按月聚合,用于额度判断)
428
+ */
429
+ export type UsageRecord = Prisma.UsageRecordModel
430
+ /**
431
+ * Model AiUsageLog
432
+ * AI 用量明细(按次扣减 + 成本审计)
433
+ */
434
+ export type AiUsageLog = Prisma.AiUsageLogModel
435
+ /**
436
+ * Model Invoice
437
+ * 账单记录(Webhook 同步)
438
+ */
439
+ export type Invoice = Prisma.InvoiceModel
440
+ /**
441
+ * Model ProviderEvent
442
+ * Provider Webhook 事件幂等记录
443
+ */
444
+ export type ProviderEvent = Prisma.ProviderEventModel
445
+ /**
446
+ * Model LicenseKey
447
+ *
448
+ */
449
+ export type LicenseKey = Prisma.LicenseKeyModel
450
+ /**
451
+ * Model LicenseActivation
452
+ *
453
+ */
454
+ export type LicenseActivation = Prisma.LicenseActivationModel
455
+ /**
456
+ * Model AuditLog
457
+ *
458
+ */
459
+ export type AuditLog = Prisma.AuditLogModel
460
+ /**
461
+ * Model SsoProvider
462
+ *
463
+ */
464
+ export type SsoProvider = Prisma.SsoProviderModel
465
+ /**
466
+ * Model SsoMapping
467
+ *
468
+ */
469
+ export type SsoMapping = Prisma.SsoMappingModel
470
+ /**
471
+ * Model CustomRole
472
+ *
473
+ */
474
+ export type CustomRole = Prisma.CustomRoleModel
475
+ /**
476
+ * Model RoleAssignment
477
+ *
478
+ */
479
+ export type RoleAssignment = Prisma.RoleAssignmentModel
480
+ /**
481
+ * Model ComplianceExport
482
+ *
483
+ */
484
+ export type ComplianceExport = Prisma.ComplianceExportModel
485
+ /**
486
+ * Model UserAgent
487
+ *
488
+ */
489
+ export type UserAgent = Prisma.UserAgentModel
490
+ /**
491
+ * Model UserSkill
492
+ *
493
+ */
494
+ export type UserSkill = Prisma.UserSkillModel