@mindbase/express-knowledge 1.0.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.
- package/dist/Knowledge.schema-7KD5X7KG.mjs +27 -0
- package/dist/Knowledge.schema-7KD5X7KG.mjs.map +1 -0
- package/dist/KnowledgeService-YZHS7UHY.mjs +303 -0
- package/dist/KnowledgeService-YZHS7UHY.mjs.map +1 -0
- package/dist/TagService-VX6SB3S6.mjs +163 -0
- package/dist/TagService-VX6SB3S6.mjs.map +1 -0
- package/dist/chunk-GWIBTASJ.mjs +40 -0
- package/dist/chunk-GWIBTASJ.mjs.map +1 -0
- package/dist/chunk-S3ZXTYZ2.mjs +40 -0
- package/dist/chunk-S3ZXTYZ2.mjs.map +1 -0
- package/dist/chunk-VHBDNZOQ.mjs +10 -0
- package/dist/chunk-VHBDNZOQ.mjs.map +1 -0
- package/dist/chunk-Y47QRG3M.mjs +93 -0
- package/dist/chunk-Y47QRG3M.mjs.map +1 -0
- package/dist/index.d.mts +7668 -0
- package/dist/index.mjs +55 -0
- package/dist/index.mjs.map +1 -0
- package/dist/tree-builder-XZ4OA2TD.mjs +35 -0
- package/dist/tree-builder-XZ4OA2TD.mjs.map +1 -0
- package/package.json +37 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../orm/Tag.schema.ts"],"sourcesContent":["import { sqliteTable, text, integer } from \"drizzle-orm/sqlite-core\";\r\nimport { createInsertSchema, createSelectSchema } from \"drizzle-zod\";\r\nimport { z } from \"zod\";\r\n\r\n/**\r\n * 标签表\r\n */\r\nexport const knowledgeTag = sqliteTable(\"knowledge_tag\", {\r\n id: integer(\"id\").primaryKey({ autoIncrement: true }),\r\n name: text(\"name\").notNull().unique(),\r\n color: text(\"color\"),\r\n userId: integer(\"user_id\"),\r\n created: integer(\"created\", { mode: \"timestamp\" }),\r\n});\r\n\r\n/**\r\n * 标签关联表(多对多)\r\n */\r\nexport const knowledgeTagRelation = sqliteTable(\"knowledge_tag_relation\", {\r\n knowledgeId: integer(\"knowledge_id\").notNull(),\r\n tagId: integer(\"tag_id\").notNull(),\r\n});\r\n\r\n// ==================== Zod Schemas ====================\r\n\r\n/**\r\n * 创建标签验证\r\n */\r\nexport const createTagSchema = createInsertSchema(knowledgeTag as any, {\r\n name: z.string().min(1, \"标签名不能为空\").max(50, \"标签名不能超过50字符\") as any,\r\n color: z.string().regex(/^#[0-9A-Fa-f]{6}$/, \"颜色必须是十六进制格式\").optional() as any,\r\n}).pick({\r\n name: true,\r\n color: true,\r\n});\r\n\r\n/**\r\n * 更新标签验证\r\n */\r\nexport const updateTagSchema = createInsertSchema(knowledgeTag as any)\r\n .partial()\r\n .extend({\r\n id: z.number({ required_error: \"标签ID不能为空\" }),\r\n });\r\n\r\n/**\r\n * 添加标签关联验证\r\n */\r\nexport const addTagRelationSchema = z.object({\r\n tagId: z.number({ required_error: \"标签ID不能为空\" }),\r\n});\r\n"],"mappings":";;;;;AAAA,SAAS,aAAa,MAAM,eAAe;AAE3C,SAAS,SAAS;AAKX,IAAM,eAAe,YAAY,iBAAiB;AAAA,EACvD,IAAI,QAAQ,IAAI,EAAE,WAAW,EAAE,eAAe,KAAK,CAAC;AAAA,EACpD,MAAM,KAAK,MAAM,EAAE,QAAQ,EAAE,OAAO;AAAA,EACpC,OAAO,KAAK,OAAO;AAAA,EACnB,QAAQ,QAAQ,SAAS;AAAA,EACzB,SAAS,QAAQ,WAAW,EAAE,MAAM,YAAY,CAAC;AACnD,CAAC;AAKM,IAAM,uBAAuB,YAAY,0BAA0B;AAAA,EACxE,aAAa,QAAQ,cAAc,EAAE,QAAQ;AAAA,EAC7C,OAAO,QAAQ,QAAQ,EAAE,QAAQ;AACnC,CAAC;AAOM,IAAM,kBAAkB,EAAmB,cAAqB;AAAA,EACrE,MAAM,EAAE,OAAO,EAAE,IAAI,GAAG,4CAAS,EAAE,IAAI,IAAI,0DAAa;AAAA,EACxD,OAAO,EAAE,OAAO,EAAE,MAAM,qBAAqB,oEAAa,EAAE,SAAS;AACvE,CAAC,EAAE,KAAK;AAAA,EACN,MAAM;AAAA,EACN,OAAO;AACT,CAAC;AAKM,IAAM,kBAAkB,EAAmB,YAAmB,EAClE,QAAQ,EACR,OAAO;AAAA,EACN,IAAI,EAAE,OAAO,EAAE,gBAAgB,yCAAW,CAAC;AAC7C,CAAC;AAKI,IAAM,uBAAuB,EAAE,OAAO;AAAA,EAC3C,OAAO,EAAE,OAAO,EAAE,gBAAgB,yCAAW,CAAC;AAChD,CAAC;","names":[]}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
// ../../node_modules/tsup/assets/esm_shims.js
|
|
2
|
+
import path from "path";
|
|
3
|
+
import { fileURLToPath } from "url";
|
|
4
|
+
var getFilename = () => fileURLToPath(import.meta.url);
|
|
5
|
+
var __filename = /* @__PURE__ */ getFilename();
|
|
6
|
+
|
|
7
|
+
export {
|
|
8
|
+
__filename
|
|
9
|
+
};
|
|
10
|
+
//# sourceMappingURL=chunk-VHBDNZOQ.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../node_modules/tsup/assets/esm_shims.js"],"sourcesContent":["// Shim globals in esm bundle\nimport path from 'node:path'\nimport { fileURLToPath } from 'node:url'\n\nconst getFilename = () => fileURLToPath(import.meta.url)\nconst getDirname = () => path.dirname(getFilename())\n\nexport const __dirname = /* @__PURE__ */ getDirname()\nexport const __filename = /* @__PURE__ */ getFilename()\n"],"mappings":";AACA,OAAO,UAAU;AACjB,SAAS,qBAAqB;AAE9B,IAAM,cAAc,MAAM,cAAc,YAAY,GAAG;AAIhD,IAAM,aAA6B,4BAAY;","names":[]}
|
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
import {
|
|
2
|
+
c
|
|
3
|
+
} from "./chunk-GWIBTASJ.mjs";
|
|
4
|
+
|
|
5
|
+
// orm/Knowledge.schema.ts
|
|
6
|
+
import { sqliteTable, text, integer } from "drizzle-orm/sqlite-core";
|
|
7
|
+
import { z } from "zod";
|
|
8
|
+
var knowledge = sqliteTable("knowledge", {
|
|
9
|
+
id: integer("id").primaryKey({ autoIncrement: true }),
|
|
10
|
+
name: text("name").notNull(),
|
|
11
|
+
path: text("path").notNull(),
|
|
12
|
+
level: integer("level").notNull().default(0),
|
|
13
|
+
type: integer("type").notNull(),
|
|
14
|
+
// 0:文件夹 1:笔记 2:书籍
|
|
15
|
+
safe: integer("safe").notNull().default(0),
|
|
16
|
+
userId: integer("user_id").notNull(),
|
|
17
|
+
// 书籍特有字段
|
|
18
|
+
coverImage: text("cover_image"),
|
|
19
|
+
author: text("author"),
|
|
20
|
+
isbn: text("isbn"),
|
|
21
|
+
description: text("description"),
|
|
22
|
+
created: integer("created", { mode: "timestamp" }),
|
|
23
|
+
updated: integer("updated", { mode: "timestamp" }),
|
|
24
|
+
isDelete: integer("is_delete").notNull().default(0),
|
|
25
|
+
isTop: integer("is_top").notNull().default(0),
|
|
26
|
+
content: text("content"),
|
|
27
|
+
contentText: text("content_text"),
|
|
28
|
+
viewType: integer("view_type").default(0)
|
|
29
|
+
});
|
|
30
|
+
var createKnowledgeSchema = c(knowledge, {
|
|
31
|
+
name: z.string().min(1, "\u540D\u79F0\u4E0D\u80FD\u4E3A\u7A7A").max(255, "\u540D\u79F0\u4E0D\u80FD\u8D85\u8FC7255\u5B57\u7B26"),
|
|
32
|
+
type: z.coerce.number().int().min(0).max(2),
|
|
33
|
+
safe: z.coerce.number().int().min(0).max(2).optional()
|
|
34
|
+
}).pick({
|
|
35
|
+
name: true,
|
|
36
|
+
type: true,
|
|
37
|
+
safe: true,
|
|
38
|
+
description: true,
|
|
39
|
+
content: true,
|
|
40
|
+
contentText: true,
|
|
41
|
+
viewType: true,
|
|
42
|
+
coverImage: true,
|
|
43
|
+
author: true,
|
|
44
|
+
isbn: true
|
|
45
|
+
});
|
|
46
|
+
var batchCreateKnowledgeSchema = z.object({
|
|
47
|
+
parentId: z.number().optional(),
|
|
48
|
+
items: z.array(z.object({
|
|
49
|
+
name: z.string().min(1, "\u540D\u79F0\u4E0D\u80FD\u4E3A\u7A7A").max(255),
|
|
50
|
+
type: z.coerce.number().int().min(0).max(2)
|
|
51
|
+
})).min(1, "\u81F3\u5C11\u9700\u8981\u4E00\u4E2A\u9879\u76EE")
|
|
52
|
+
});
|
|
53
|
+
var batchDetailKnowledgeSchema = z.object({
|
|
54
|
+
ids: z.array(z.number().int().positive()).min(1, "\u81F3\u5C11\u9700\u8981\u4E00\u4E2AID")
|
|
55
|
+
});
|
|
56
|
+
var updateKnowledgeSchema = c(knowledge).partial().extend({
|
|
57
|
+
id: z.number({ required_error: "ID\u4E0D\u80FD\u4E3A\u7A7A" })
|
|
58
|
+
});
|
|
59
|
+
var listKnowledgeSchema = z.object({
|
|
60
|
+
pageIndex: z.coerce.number().int().positive().optional().default(1),
|
|
61
|
+
pageSize: z.coerce.number().int().positive().optional().default(10),
|
|
62
|
+
level: z.coerce.number().int().min(0).optional(),
|
|
63
|
+
type: z.coerce.number().int().min(0).max(2).optional(),
|
|
64
|
+
safe: z.array(z.coerce.number().int().min(0).max(2)).optional()
|
|
65
|
+
});
|
|
66
|
+
var searchKnowledgeSchema = z.object({
|
|
67
|
+
keyword: z.string().min(1, "\u5173\u952E\u8BCD\u4E0D\u80FD\u4E3A\u7A7A"),
|
|
68
|
+
pageIndex: z.coerce.number().int().positive().optional().default(1),
|
|
69
|
+
pageSize: z.coerce.number().int().positive().optional().default(10)
|
|
70
|
+
});
|
|
71
|
+
var moveKnowledgeSchema = z.object({
|
|
72
|
+
newParentId: z.number({ required_error: "\u65B0\u7236\u8282\u70B9ID\u4E0D\u80FD\u4E3A\u7A7A" })
|
|
73
|
+
});
|
|
74
|
+
var updateIsTopSchema = z.object({
|
|
75
|
+
isTop: z.coerce.number().int().min(0).max(1)
|
|
76
|
+
});
|
|
77
|
+
var updateSafeSchema = z.object({
|
|
78
|
+
safe: z.coerce.number().int().min(0).max(2)
|
|
79
|
+
});
|
|
80
|
+
|
|
81
|
+
export {
|
|
82
|
+
knowledge,
|
|
83
|
+
createKnowledgeSchema,
|
|
84
|
+
batchCreateKnowledgeSchema,
|
|
85
|
+
batchDetailKnowledgeSchema,
|
|
86
|
+
updateKnowledgeSchema,
|
|
87
|
+
listKnowledgeSchema,
|
|
88
|
+
searchKnowledgeSchema,
|
|
89
|
+
moveKnowledgeSchema,
|
|
90
|
+
updateIsTopSchema,
|
|
91
|
+
updateSafeSchema
|
|
92
|
+
};
|
|
93
|
+
//# sourceMappingURL=chunk-Y47QRG3M.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../orm/Knowledge.schema.ts"],"sourcesContent":["import { sqliteTable, text, integer } from \"drizzle-orm/sqlite-core\";\r\nimport { createInsertSchema, createSelectSchema } from \"drizzle-zod\";\r\nimport { z } from \"zod\";\r\n\r\n/**\r\n * 知识库主表\r\n */\r\nexport const knowledge = sqliteTable(\"knowledge\", {\r\n id: integer(\"id\").primaryKey({ autoIncrement: true }),\r\n name: text(\"name\").notNull(),\r\n path: text(\"path\").notNull(),\r\n level: integer(\"level\").notNull().default(0),\r\n type: integer(\"type\").notNull(), // 0:文件夹 1:笔记 2:书籍\r\n safe: integer(\"safe\").notNull().default(0),\r\n userId: integer(\"user_id\").notNull(),\r\n // 书籍特有字段\r\n coverImage: text(\"cover_image\"),\r\n author: text(\"author\"),\r\n isbn: text(\"isbn\"),\r\n description: text(\"description\"),\r\n created: integer(\"created\", { mode: \"timestamp\" }),\r\n updated: integer(\"updated\", { mode: \"timestamp\" }),\r\n isDelete: integer(\"is_delete\").notNull().default(0),\r\n isTop: integer(\"is_top\").notNull().default(0),\r\n content: text(\"content\"),\r\n contentText: text(\"content_text\"),\r\n viewType: integer(\"view_type\").default(0),\r\n});\r\n\r\n// ==================== Zod Schemas ====================\r\n\r\n/**\r\n * 创建知识库内容验证\r\n */\r\nexport const createKnowledgeSchema = createInsertSchema(knowledge as any, {\r\n name: z.string().min(1, \"名称不能为空\").max(255, \"名称不能超过255字符\") as any,\r\n type: z.coerce.number().int().min(0).max(2) as any,\r\n safe: z.coerce.number().int().min(0).max(2).optional() as any,\r\n}).pick({\r\n name: true,\r\n type: true,\r\n safe: true,\r\n description: true,\r\n content: true,\r\n contentText: true,\r\n viewType: true,\r\n coverImage: true,\r\n author: true,\r\n isbn: true,\r\n});\r\n\r\n/**\r\n * 批量创建验证\r\n */\r\nexport const batchCreateKnowledgeSchema = z.object({\r\n parentId: z.number().optional(),\r\n items: z.array(z.object({\r\n name: z.string().min(1, \"名称不能为空\").max(255),\r\n type: z.coerce.number().int().min(0).max(2),\r\n })).min(1, \"至少需要一个项目\"),\r\n});\r\n\r\n/**\r\n * 批量获取详情验证\r\n */\r\nexport const batchDetailKnowledgeSchema = z.object({\r\n ids: z.array(z.number().int().positive()).min(1, \"至少需要一个ID\"),\r\n});\r\n\r\n/**\r\n * 更新知识库内容验证\r\n */\r\nexport const updateKnowledgeSchema = createInsertSchema(knowledge as any)\r\n .partial()\r\n .extend({\r\n id: z.number({ required_error: \"ID不能为空\" }),\r\n });\r\n\r\n/**\r\n * 列表查询验证\r\n */\r\nexport const listKnowledgeSchema = z.object({\r\n pageIndex: z.coerce.number().int().positive().optional().default(1),\r\n pageSize: z.coerce.number().int().positive().optional().default(10),\r\n level: z.coerce.number().int().min(0).optional(),\r\n type: z.coerce.number().int().min(0).max(2).optional(),\r\n safe: z.array(z.coerce.number().int().min(0).max(2)).optional(),\r\n});\r\n\r\n/**\r\n * 搜索验证\r\n */\r\nexport const searchKnowledgeSchema = z.object({\r\n keyword: z.string().min(1, \"关键词不能为空\"),\r\n pageIndex: z.coerce.number().int().positive().optional().default(1),\r\n pageSize: z.coerce.number().int().positive().optional().default(10),\r\n});\r\n\r\n/**\r\n * 移动节点验证\r\n */\r\nexport const moveKnowledgeSchema = z.object({\r\n newParentId: z.number({ required_error: \"新父节点ID不能为空\" }),\r\n});\r\n\r\n/**\r\n * 更新置顶状态验证\r\n */\r\nexport const updateIsTopSchema = z.object({\r\n isTop: z.coerce.number().int().min(0).max(1),\r\n});\r\n\r\n/**\r\n * 更新安全等级验证\r\n */\r\nexport const updateSafeSchema = z.object({\r\n safe: z.coerce.number().int().min(0).max(2),\r\n});\r\n"],"mappings":"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","names":[]}
|