@qihuang02/world-book-mcp 0.0.3

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 (245) hide show
  1. package/README.md +187 -0
  2. package/dist/core/capability-matrix.d.ts +17 -0
  3. package/dist/core/capability-matrix.js +133 -0
  4. package/dist/core/capability-matrix.js.map +1 -0
  5. package/dist/core/chapter-extraction.d.ts +12 -0
  6. package/dist/core/chapter-extraction.js +65 -0
  7. package/dist/core/chapter-extraction.js.map +1 -0
  8. package/dist/core/character-card-builder.d.ts +76 -0
  9. package/dist/core/character-card-builder.js +112 -0
  10. package/dist/core/character-card-builder.js.map +1 -0
  11. package/dist/core/character-card-query.d.ts +5 -0
  12. package/dist/core/character-card-query.js +30 -0
  13. package/dist/core/character-card-query.js.map +1 -0
  14. package/dist/core/character-card-validator.d.ts +17 -0
  15. package/dist/core/character-card-validator.js +42 -0
  16. package/dist/core/character-card-validator.js.map +1 -0
  17. package/dist/core/character-templates.d.ts +29 -0
  18. package/dist/core/character-templates.js +60 -0
  19. package/dist/core/character-templates.js.map +1 -0
  20. package/dist/core/clarification.d.ts +24 -0
  21. package/dist/core/clarification.js +433 -0
  22. package/dist/core/clarification.js.map +1 -0
  23. package/dist/core/config-explainer.d.ts +2 -0
  24. package/dist/core/config-explainer.js +44 -0
  25. package/dist/core/config-explainer.js.map +1 -0
  26. package/dist/core/content-lint.d.ts +15 -0
  27. package/dist/core/content-lint.js +90 -0
  28. package/dist/core/content-lint.js.map +1 -0
  29. package/dist/core/decision-prompts.d.ts +45 -0
  30. package/dist/core/decision-prompts.js +93 -0
  31. package/dist/core/decision-prompts.js.map +1 -0
  32. package/dist/core/delivery-checklist.d.ts +21 -0
  33. package/dist/core/delivery-checklist.js +63 -0
  34. package/dist/core/delivery-checklist.js.map +1 -0
  35. package/dist/core/derivative-outline.d.ts +19 -0
  36. package/dist/core/derivative-outline.js +107 -0
  37. package/dist/core/derivative-outline.js.map +1 -0
  38. package/dist/core/draft-template.d.ts +2 -0
  39. package/dist/core/draft-template.js +19 -0
  40. package/dist/core/draft-template.js.map +1 -0
  41. package/dist/core/draft-update.d.ts +5 -0
  42. package/dist/core/draft-update.js +34 -0
  43. package/dist/core/draft-update.js.map +1 -0
  44. package/dist/core/ejs-entries.d.ts +5 -0
  45. package/dist/core/ejs-entries.js +22 -0
  46. package/dist/core/ejs-entries.js.map +1 -0
  47. package/dist/core/ejs-phase-plan.d.ts +27 -0
  48. package/dist/core/ejs-phase-plan.js +77 -0
  49. package/dist/core/ejs-phase-plan.js.map +1 -0
  50. package/dist/core/ejs-template.d.ts +10 -0
  51. package/dist/core/ejs-template.js +70 -0
  52. package/dist/core/ejs-template.js.map +1 -0
  53. package/dist/core/ejs-validator.d.ts +18 -0
  54. package/dist/core/ejs-validator.js +60 -0
  55. package/dist/core/ejs-validator.js.map +1 -0
  56. package/dist/core/entry-planner.d.ts +8 -0
  57. package/dist/core/entry-planner.js +79 -0
  58. package/dist/core/entry-planner.js.map +1 -0
  59. package/dist/core/entry-templates.d.ts +7 -0
  60. package/dist/core/entry-templates.js +66 -0
  61. package/dist/core/entry-templates.js.map +1 -0
  62. package/dist/core/extraction-outline.d.ts +2 -0
  63. package/dist/core/extraction-outline.js +46 -0
  64. package/dist/core/extraction-outline.js.map +1 -0
  65. package/dist/core/final-review.d.ts +13 -0
  66. package/dist/core/final-review.js +80 -0
  67. package/dist/core/final-review.js.map +1 -0
  68. package/dist/core/greeting-validator.d.ts +17 -0
  69. package/dist/core/greeting-validator.js +79 -0
  70. package/dist/core/greeting-validator.js.map +1 -0
  71. package/dist/core/html-beautify-assets.d.ts +6 -0
  72. package/dist/core/html-beautify-assets.js +59 -0
  73. package/dist/core/html-beautify-assets.js.map +1 -0
  74. package/dist/core/html-beautify-template.d.ts +8 -0
  75. package/dist/core/html-beautify-template.js +46 -0
  76. package/dist/core/html-beautify-template.js.map +1 -0
  77. package/dist/core/html-beautify-validator.d.ts +21 -0
  78. package/dist/core/html-beautify-validator.js +66 -0
  79. package/dist/core/html-beautify-validator.js.map +1 -0
  80. package/dist/core/html-regex-pair.d.ts +18 -0
  81. package/dist/core/html-regex-pair.js +77 -0
  82. package/dist/core/html-regex-pair.js.map +1 -0
  83. package/dist/core/item-entry-validator.d.ts +10 -0
  84. package/dist/core/item-entry-validator.js +27 -0
  85. package/dist/core/item-entry-validator.js.map +1 -0
  86. package/dist/core/mvu-assets.d.ts +44 -0
  87. package/dist/core/mvu-assets.js +140 -0
  88. package/dist/core/mvu-assets.js.map +1 -0
  89. package/dist/core/mvu-template.d.ts +8 -0
  90. package/dist/core/mvu-template.js +45 -0
  91. package/dist/core/mvu-template.js.map +1 -0
  92. package/dist/core/mvu-validator.d.ts +18 -0
  93. package/dist/core/mvu-validator.js +75 -0
  94. package/dist/core/mvu-validator.js.map +1 -0
  95. package/dist/core/position-map.d.ts +5 -0
  96. package/dist/core/position-map.js +27 -0
  97. package/dist/core/position-map.js.map +1 -0
  98. package/dist/core/project-lint.d.ts +15 -0
  99. package/dist/core/project-lint.js +54 -0
  100. package/dist/core/project-lint.js.map +1 -0
  101. package/dist/core/regex-validator.d.ts +13 -0
  102. package/dist/core/regex-validator.js +41 -0
  103. package/dist/core/regex-validator.js.map +1 -0
  104. package/dist/core/style-extraction.d.ts +12 -0
  105. package/dist/core/style-extraction.js +87 -0
  106. package/dist/core/style-extraction.js.map +1 -0
  107. package/dist/core/task-classifier.d.ts +17 -0
  108. package/dist/core/task-classifier.js +107 -0
  109. package/dist/core/task-classifier.js.map +1 -0
  110. package/dist/core/tool-usage-guide.d.ts +13 -0
  111. package/dist/core/tool-usage-guide.js +198 -0
  112. package/dist/core/tool-usage-guide.js.map +1 -0
  113. package/dist/core/workflow.d.ts +12 -0
  114. package/dist/core/workflow.js +129 -0
  115. package/dist/core/workflow.js.map +1 -0
  116. package/dist/core/worldbook-builder.d.ts +6 -0
  117. package/dist/core/worldbook-builder.js +60 -0
  118. package/dist/core/worldbook-builder.js.map +1 -0
  119. package/dist/core/worldbook-importer.d.ts +7 -0
  120. package/dist/core/worldbook-importer.js +50 -0
  121. package/dist/core/worldbook-importer.js.map +1 -0
  122. package/dist/core/worldbook-patch.d.ts +23 -0
  123. package/dist/core/worldbook-patch.js +100 -0
  124. package/dist/core/worldbook-patch.js.map +1 -0
  125. package/dist/core/worldbook-planning.d.ts +41 -0
  126. package/dist/core/worldbook-planning.js +74 -0
  127. package/dist/core/worldbook-planning.js.map +1 -0
  128. package/dist/core/worldbook-query.d.ts +7 -0
  129. package/dist/core/worldbook-query.js +58 -0
  130. package/dist/core/worldbook-query.js.map +1 -0
  131. package/dist/core/worldbook-validator.d.ts +19 -0
  132. package/dist/core/worldbook-validator.js +116 -0
  133. package/dist/core/worldbook-validator.js.map +1 -0
  134. package/dist/core/worldbuilding.d.ts +80 -0
  135. package/dist/core/worldbuilding.js +134 -0
  136. package/dist/core/worldbuilding.js.map +1 -0
  137. package/dist/core/writing-optimization-report.d.ts +19 -0
  138. package/dist/core/writing-optimization-report.js +25 -0
  139. package/dist/core/writing-optimization-report.js.map +1 -0
  140. package/dist/index.d.ts +2 -0
  141. package/dist/index.js +15 -0
  142. package/dist/index.js.map +1 -0
  143. package/dist/prompts/register.d.ts +2 -0
  144. package/dist/prompts/register.js +37 -0
  145. package/dist/prompts/register.js.map +1 -0
  146. package/dist/resources/usage-resources.d.ts +2 -0
  147. package/dist/resources/usage-resources.js +15 -0
  148. package/dist/resources/usage-resources.js.map +1 -0
  149. package/dist/schemas/chapter-outline.d.ts +28 -0
  150. package/dist/schemas/chapter-outline.js +17 -0
  151. package/dist/schemas/chapter-outline.js.map +1 -0
  152. package/dist/schemas/character-card.d.ts +124 -0
  153. package/dist/schemas/character-card.js +49 -0
  154. package/dist/schemas/character-card.js.map +1 -0
  155. package/dist/schemas/decision.d.ts +50 -0
  156. package/dist/schemas/decision.js +37 -0
  157. package/dist/schemas/decision.js.map +1 -0
  158. package/dist/schemas/derivative-outline.d.ts +204 -0
  159. package/dist/schemas/derivative-outline.js +55 -0
  160. package/dist/schemas/derivative-outline.js.map +1 -0
  161. package/dist/schemas/ejs.d.ts +189 -0
  162. package/dist/schemas/ejs.js +40 -0
  163. package/dist/schemas/ejs.js.map +1 -0
  164. package/dist/schemas/extraction.d.ts +219 -0
  165. package/dist/schemas/extraction.js +51 -0
  166. package/dist/schemas/extraction.js.map +1 -0
  167. package/dist/schemas/html-beautify.d.ts +159 -0
  168. package/dist/schemas/html-beautify.js +42 -0
  169. package/dist/schemas/html-beautify.js.map +1 -0
  170. package/dist/schemas/mvu.d.ts +60 -0
  171. package/dist/schemas/mvu.js +30 -0
  172. package/dist/schemas/mvu.js.map +1 -0
  173. package/dist/schemas/project.d.ts +579 -0
  174. package/dist/schemas/project.js +50 -0
  175. package/dist/schemas/project.js.map +1 -0
  176. package/dist/schemas/research.d.ts +56 -0
  177. package/dist/schemas/research.js +21 -0
  178. package/dist/schemas/research.js.map +1 -0
  179. package/dist/schemas/sillytavern-worldbook.d.ts +104 -0
  180. package/dist/schemas/sillytavern-worldbook.js +55 -0
  181. package/dist/schemas/sillytavern-worldbook.js.map +1 -0
  182. package/dist/schemas/source.d.ts +40 -0
  183. package/dist/schemas/source.js +20 -0
  184. package/dist/schemas/source.js.map +1 -0
  185. package/dist/schemas/style-profile.d.ts +35 -0
  186. package/dist/schemas/style-profile.js +16 -0
  187. package/dist/schemas/style-profile.js.map +1 -0
  188. package/dist/schemas/worldbook-draft.d.ts +236 -0
  189. package/dist/schemas/worldbook-draft.js +89 -0
  190. package/dist/schemas/worldbook-draft.js.map +1 -0
  191. package/dist/schemas/worldbook-patch.d.ts +423 -0
  192. package/dist/schemas/worldbook-patch.js +78 -0
  193. package/dist/schemas/worldbook-patch.js.map +1 -0
  194. package/dist/server.d.ts +2 -0
  195. package/dist/server.js +15 -0
  196. package/dist/server.js.map +1 -0
  197. package/dist/storage/path-policy.d.ts +13 -0
  198. package/dist/storage/path-policy.js +44 -0
  199. package/dist/storage/path-policy.js.map +1 -0
  200. package/dist/storage/project-store.d.ts +8 -0
  201. package/dist/storage/project-store.js +113 -0
  202. package/dist/storage/project-store.js.map +1 -0
  203. package/dist/tools/character-card-tools.d.ts +2 -0
  204. package/dist/tools/character-card-tools.js +118 -0
  205. package/dist/tools/character-card-tools.js.map +1 -0
  206. package/dist/tools/decision-tools.d.ts +2 -0
  207. package/dist/tools/decision-tools.js +55 -0
  208. package/dist/tools/decision-tools.js.map +1 -0
  209. package/dist/tools/extraction-tools.d.ts +2 -0
  210. package/dist/tools/extraction-tools.js +57 -0
  211. package/dist/tools/extraction-tools.js.map +1 -0
  212. package/dist/tools/helpers.d.ts +9 -0
  213. package/dist/tools/helpers.js +14 -0
  214. package/dist/tools/helpers.js.map +1 -0
  215. package/dist/tools/lint-review-tools.d.ts +2 -0
  216. package/dist/tools/lint-review-tools.js +30 -0
  217. package/dist/tools/lint-review-tools.js.map +1 -0
  218. package/dist/tools/mvu-html-ejs-tools.d.ts +2 -0
  219. package/dist/tools/mvu-html-ejs-tools.js +153 -0
  220. package/dist/tools/mvu-html-ejs-tools.js.map +1 -0
  221. package/dist/tools/project-tools.d.ts +2 -0
  222. package/dist/tools/project-tools.js +39 -0
  223. package/dist/tools/project-tools.js.map +1 -0
  224. package/dist/tools/register.d.ts +2 -0
  225. package/dist/tools/register.js +23 -0
  226. package/dist/tools/register.js.map +1 -0
  227. package/dist/tools/style-chapter-tools.d.ts +2 -0
  228. package/dist/tools/style-chapter-tools.js +40 -0
  229. package/dist/tools/style-chapter-tools.js.map +1 -0
  230. package/dist/tools/workflow-tools.d.ts +2 -0
  231. package/dist/tools/workflow-tools.js +60 -0
  232. package/dist/tools/workflow-tools.js.map +1 -0
  233. package/dist/tools/worldbook-tools.d.ts +2 -0
  234. package/dist/tools/worldbook-tools.js +180 -0
  235. package/dist/tools/worldbook-tools.js.map +1 -0
  236. package/dist/tools/worldbuilding-tools.d.ts +2 -0
  237. package/dist/tools/worldbuilding-tools.js +40 -0
  238. package/dist/tools/worldbuilding-tools.js.map +1 -0
  239. package/dist/utils/ids.d.ts +2 -0
  240. package/dist/utils/ids.js +8 -0
  241. package/dist/utils/ids.js.map +1 -0
  242. package/dist/utils/json.d.ts +2 -0
  243. package/dist/utils/json.js +7 -0
  244. package/dist/utils/json.js.map +1 -0
  245. package/package.json +32 -0
@@ -0,0 +1,89 @@
1
+ import { z } from "zod";
2
+ export const EntryTypeSchema = z.enum([
3
+ "world_summary",
4
+ "background",
5
+ "character_overview",
6
+ "character_basic",
7
+ "character_personality",
8
+ "item",
9
+ "ability",
10
+ "scene",
11
+ "event",
12
+ "faction",
13
+ "npc",
14
+ "other",
15
+ ]);
16
+ export const PositionNameSchema = z.enum([
17
+ "before_char",
18
+ "after_char",
19
+ "before_an",
20
+ "after_an",
21
+ "at_depth",
22
+ "before_em",
23
+ "after_em",
24
+ "outlet",
25
+ ]);
26
+ export const WorldbookDraftEntrySchema = z.object({
27
+ comment: z.string().min(1),
28
+ entryType: EntryTypeSchema.default("other"),
29
+ keys: z.array(z.string()).default([]),
30
+ secondaryKeys: z.array(z.string()).default([]),
31
+ content: z.string().default(""),
32
+ constant: z.boolean(),
33
+ position: PositionNameSchema,
34
+ order: z.number(),
35
+ enabled: z.boolean().default(true),
36
+ depth: z.number().int().min(0).optional(),
37
+ scanDepth: z.number().int().min(0).optional(),
38
+ preventRecursion: z.literal(true).default(true),
39
+ excludeRecursion: z.literal(true).default(true),
40
+ });
41
+ export const WorldbookEntryPlanSchema = z.object({
42
+ comment: z.string().min(1),
43
+ entryType: EntryTypeSchema,
44
+ position: PositionNameSchema,
45
+ order: z.number(),
46
+ constant: z.boolean(),
47
+ keys: z.array(z.string()).default([]),
48
+ reason: z.string(),
49
+ });
50
+ export const DraftWorldbookEntriesInputSchema = z.object({
51
+ project_id: z.string(),
52
+ entries: z.array(WorldbookDraftEntrySchema).min(1),
53
+ });
54
+ export const ValidateWorldbookDraftInputSchema = z.object({
55
+ project_id: z.string().optional(),
56
+ entries: z.array(WorldbookDraftEntrySchema).optional(),
57
+ });
58
+ export const CreateWorldbookDraftTemplateInputSchema = z.object({
59
+ project_id: z.string(),
60
+ save: z.boolean().default(false),
61
+ });
62
+ export const DraftEntryPatchSchema = z.object({
63
+ index: z.number().int().min(0).optional(),
64
+ comment: z.string().optional(),
65
+ content: z.string().optional(),
66
+ keys: z.array(z.string()).optional(),
67
+ secondaryKeys: z.array(z.string()).optional(),
68
+ constant: z.boolean().optional(),
69
+ position: PositionNameSchema.optional(),
70
+ order: z.number().optional(),
71
+ enabled: z.boolean().optional(),
72
+ depth: z.number().int().min(0).optional(),
73
+ scanDepth: z.number().int().min(0).nullable().optional(),
74
+ }).refine((value) => value.index !== undefined || value.comment, {
75
+ message: "必须提供 index 或 comment 用于定位条目",
76
+ });
77
+ export const UpdateWorldbookDraftEntriesInputSchema = z.object({
78
+ project_id: z.string(),
79
+ patches: z.array(DraftEntryPatchSchema).min(1),
80
+ validate: z.boolean().default(true),
81
+ });
82
+ export const GenerateWorldbookJsonInputSchema = z.object({
83
+ project_id: z.string(),
84
+ worldbook_name: z.string().min(1),
85
+ output_path: z.string().optional(),
86
+ overwrite: z.boolean().default(false),
87
+ strict_review: z.boolean().default(false),
88
+ });
89
+ //# sourceMappingURL=worldbook-draft.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"worldbook-draft.js","sourceRoot":"","sources":["../../src/schemas/worldbook-draft.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,423 @@
1
+ import { z } from "zod";
2
+ export declare const PatchMatchSchema: z.ZodObject<{
3
+ uid: z.ZodOptional<z.ZodNumber>;
4
+ index: z.ZodOptional<z.ZodNumber>;
5
+ comment: z.ZodOptional<z.ZodString>;
6
+ }, z.core.$strip>;
7
+ export declare const PatchChangesSchema: z.ZodObject<{
8
+ comment: z.ZodOptional<z.ZodString>;
9
+ content: z.ZodOptional<z.ZodString>;
10
+ keys: z.ZodOptional<z.ZodArray<z.ZodString>>;
11
+ secondaryKeys: z.ZodOptional<z.ZodArray<z.ZodString>>;
12
+ constant: z.ZodOptional<z.ZodBoolean>;
13
+ position: z.ZodOptional<z.ZodEnum<{
14
+ before_char: "before_char";
15
+ after_char: "after_char";
16
+ before_an: "before_an";
17
+ after_an: "after_an";
18
+ at_depth: "at_depth";
19
+ before_em: "before_em";
20
+ after_em: "after_em";
21
+ outlet: "outlet";
22
+ }>>;
23
+ order: z.ZodOptional<z.ZodNumber>;
24
+ enabled: z.ZodOptional<z.ZodBoolean>;
25
+ depth: z.ZodOptional<z.ZodNumber>;
26
+ scanDepth: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
27
+ }, z.core.$strip>;
28
+ export declare const AddEntryOperationSchema: z.ZodObject<{
29
+ op: z.ZodLiteral<"add_entry">;
30
+ entry: z.ZodObject<{
31
+ comment: z.ZodString;
32
+ entryType: z.ZodDefault<z.ZodEnum<{
33
+ world_summary: "world_summary";
34
+ background: "background";
35
+ character_overview: "character_overview";
36
+ character_basic: "character_basic";
37
+ character_personality: "character_personality";
38
+ item: "item";
39
+ ability: "ability";
40
+ scene: "scene";
41
+ event: "event";
42
+ faction: "faction";
43
+ npc: "npc";
44
+ other: "other";
45
+ }>>;
46
+ keys: z.ZodDefault<z.ZodArray<z.ZodString>>;
47
+ secondaryKeys: z.ZodDefault<z.ZodArray<z.ZodString>>;
48
+ content: z.ZodDefault<z.ZodString>;
49
+ constant: z.ZodBoolean;
50
+ position: z.ZodEnum<{
51
+ before_char: "before_char";
52
+ after_char: "after_char";
53
+ before_an: "before_an";
54
+ after_an: "after_an";
55
+ at_depth: "at_depth";
56
+ before_em: "before_em";
57
+ after_em: "after_em";
58
+ outlet: "outlet";
59
+ }>;
60
+ order: z.ZodNumber;
61
+ enabled: z.ZodDefault<z.ZodBoolean>;
62
+ depth: z.ZodOptional<z.ZodNumber>;
63
+ scanDepth: z.ZodOptional<z.ZodNumber>;
64
+ preventRecursion: z.ZodDefault<z.ZodLiteral<true>>;
65
+ excludeRecursion: z.ZodDefault<z.ZodLiteral<true>>;
66
+ }, z.core.$strip>;
67
+ }, z.core.$strip>;
68
+ export declare const UpdateEntryOperationSchema: z.ZodObject<{
69
+ op: z.ZodLiteral<"update_entry">;
70
+ match: z.ZodObject<{
71
+ uid: z.ZodOptional<z.ZodNumber>;
72
+ index: z.ZodOptional<z.ZodNumber>;
73
+ comment: z.ZodOptional<z.ZodString>;
74
+ }, z.core.$strip>;
75
+ changes: z.ZodObject<{
76
+ comment: z.ZodOptional<z.ZodString>;
77
+ content: z.ZodOptional<z.ZodString>;
78
+ keys: z.ZodOptional<z.ZodArray<z.ZodString>>;
79
+ secondaryKeys: z.ZodOptional<z.ZodArray<z.ZodString>>;
80
+ constant: z.ZodOptional<z.ZodBoolean>;
81
+ position: z.ZodOptional<z.ZodEnum<{
82
+ before_char: "before_char";
83
+ after_char: "after_char";
84
+ before_an: "before_an";
85
+ after_an: "after_an";
86
+ at_depth: "at_depth";
87
+ before_em: "before_em";
88
+ after_em: "after_em";
89
+ outlet: "outlet";
90
+ }>>;
91
+ order: z.ZodOptional<z.ZodNumber>;
92
+ enabled: z.ZodOptional<z.ZodBoolean>;
93
+ depth: z.ZodOptional<z.ZodNumber>;
94
+ scanDepth: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
95
+ }, z.core.$strip>;
96
+ }, z.core.$strip>;
97
+ export declare const DeleteEntryOperationSchema: z.ZodObject<{
98
+ op: z.ZodLiteral<"delete_entry">;
99
+ match: z.ZodObject<{
100
+ uid: z.ZodOptional<z.ZodNumber>;
101
+ index: z.ZodOptional<z.ZodNumber>;
102
+ comment: z.ZodOptional<z.ZodString>;
103
+ }, z.core.$strip>;
104
+ }, z.core.$strip>;
105
+ export declare const ReorderEntryOperationSchema: z.ZodObject<{
106
+ op: z.ZodLiteral<"reorder_entry">;
107
+ match: z.ZodObject<{
108
+ uid: z.ZodOptional<z.ZodNumber>;
109
+ index: z.ZodOptional<z.ZodNumber>;
110
+ comment: z.ZodOptional<z.ZodString>;
111
+ }, z.core.$strip>;
112
+ order: z.ZodNumber;
113
+ }, z.core.$strip>;
114
+ export declare const ToggleEntryOperationSchema: z.ZodObject<{
115
+ op: z.ZodLiteral<"toggle_entry">;
116
+ match: z.ZodObject<{
117
+ uid: z.ZodOptional<z.ZodNumber>;
118
+ index: z.ZodOptional<z.ZodNumber>;
119
+ comment: z.ZodOptional<z.ZodString>;
120
+ }, z.core.$strip>;
121
+ enabled: z.ZodBoolean;
122
+ }, z.core.$strip>;
123
+ export declare const WorldbookPatchOperationSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
124
+ op: z.ZodLiteral<"add_entry">;
125
+ entry: z.ZodObject<{
126
+ comment: z.ZodString;
127
+ entryType: z.ZodDefault<z.ZodEnum<{
128
+ world_summary: "world_summary";
129
+ background: "background";
130
+ character_overview: "character_overview";
131
+ character_basic: "character_basic";
132
+ character_personality: "character_personality";
133
+ item: "item";
134
+ ability: "ability";
135
+ scene: "scene";
136
+ event: "event";
137
+ faction: "faction";
138
+ npc: "npc";
139
+ other: "other";
140
+ }>>;
141
+ keys: z.ZodDefault<z.ZodArray<z.ZodString>>;
142
+ secondaryKeys: z.ZodDefault<z.ZodArray<z.ZodString>>;
143
+ content: z.ZodDefault<z.ZodString>;
144
+ constant: z.ZodBoolean;
145
+ position: z.ZodEnum<{
146
+ before_char: "before_char";
147
+ after_char: "after_char";
148
+ before_an: "before_an";
149
+ after_an: "after_an";
150
+ at_depth: "at_depth";
151
+ before_em: "before_em";
152
+ after_em: "after_em";
153
+ outlet: "outlet";
154
+ }>;
155
+ order: z.ZodNumber;
156
+ enabled: z.ZodDefault<z.ZodBoolean>;
157
+ depth: z.ZodOptional<z.ZodNumber>;
158
+ scanDepth: z.ZodOptional<z.ZodNumber>;
159
+ preventRecursion: z.ZodDefault<z.ZodLiteral<true>>;
160
+ excludeRecursion: z.ZodDefault<z.ZodLiteral<true>>;
161
+ }, z.core.$strip>;
162
+ }, z.core.$strip>, z.ZodObject<{
163
+ op: z.ZodLiteral<"update_entry">;
164
+ match: z.ZodObject<{
165
+ uid: z.ZodOptional<z.ZodNumber>;
166
+ index: z.ZodOptional<z.ZodNumber>;
167
+ comment: z.ZodOptional<z.ZodString>;
168
+ }, z.core.$strip>;
169
+ changes: z.ZodObject<{
170
+ comment: z.ZodOptional<z.ZodString>;
171
+ content: z.ZodOptional<z.ZodString>;
172
+ keys: z.ZodOptional<z.ZodArray<z.ZodString>>;
173
+ secondaryKeys: z.ZodOptional<z.ZodArray<z.ZodString>>;
174
+ constant: z.ZodOptional<z.ZodBoolean>;
175
+ position: z.ZodOptional<z.ZodEnum<{
176
+ before_char: "before_char";
177
+ after_char: "after_char";
178
+ before_an: "before_an";
179
+ after_an: "after_an";
180
+ at_depth: "at_depth";
181
+ before_em: "before_em";
182
+ after_em: "after_em";
183
+ outlet: "outlet";
184
+ }>>;
185
+ order: z.ZodOptional<z.ZodNumber>;
186
+ enabled: z.ZodOptional<z.ZodBoolean>;
187
+ depth: z.ZodOptional<z.ZodNumber>;
188
+ scanDepth: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
189
+ }, z.core.$strip>;
190
+ }, z.core.$strip>, z.ZodObject<{
191
+ op: z.ZodLiteral<"delete_entry">;
192
+ match: z.ZodObject<{
193
+ uid: z.ZodOptional<z.ZodNumber>;
194
+ index: z.ZodOptional<z.ZodNumber>;
195
+ comment: z.ZodOptional<z.ZodString>;
196
+ }, z.core.$strip>;
197
+ }, z.core.$strip>, z.ZodObject<{
198
+ op: z.ZodLiteral<"reorder_entry">;
199
+ match: z.ZodObject<{
200
+ uid: z.ZodOptional<z.ZodNumber>;
201
+ index: z.ZodOptional<z.ZodNumber>;
202
+ comment: z.ZodOptional<z.ZodString>;
203
+ }, z.core.$strip>;
204
+ order: z.ZodNumber;
205
+ }, z.core.$strip>, z.ZodObject<{
206
+ op: z.ZodLiteral<"toggle_entry">;
207
+ match: z.ZodObject<{
208
+ uid: z.ZodOptional<z.ZodNumber>;
209
+ index: z.ZodOptional<z.ZodNumber>;
210
+ comment: z.ZodOptional<z.ZodString>;
211
+ }, z.core.$strip>;
212
+ enabled: z.ZodBoolean;
213
+ }, z.core.$strip>], "op">;
214
+ export declare const WorldbookPatchSchema: z.ZodObject<{
215
+ id: z.ZodString;
216
+ projectId: z.ZodString;
217
+ sourcePath: z.ZodOptional<z.ZodString>;
218
+ operations: z.ZodArray<z.ZodDiscriminatedUnion<[z.ZodObject<{
219
+ op: z.ZodLiteral<"add_entry">;
220
+ entry: z.ZodObject<{
221
+ comment: z.ZodString;
222
+ entryType: z.ZodDefault<z.ZodEnum<{
223
+ world_summary: "world_summary";
224
+ background: "background";
225
+ character_overview: "character_overview";
226
+ character_basic: "character_basic";
227
+ character_personality: "character_personality";
228
+ item: "item";
229
+ ability: "ability";
230
+ scene: "scene";
231
+ event: "event";
232
+ faction: "faction";
233
+ npc: "npc";
234
+ other: "other";
235
+ }>>;
236
+ keys: z.ZodDefault<z.ZodArray<z.ZodString>>;
237
+ secondaryKeys: z.ZodDefault<z.ZodArray<z.ZodString>>;
238
+ content: z.ZodDefault<z.ZodString>;
239
+ constant: z.ZodBoolean;
240
+ position: z.ZodEnum<{
241
+ before_char: "before_char";
242
+ after_char: "after_char";
243
+ before_an: "before_an";
244
+ after_an: "after_an";
245
+ at_depth: "at_depth";
246
+ before_em: "before_em";
247
+ after_em: "after_em";
248
+ outlet: "outlet";
249
+ }>;
250
+ order: z.ZodNumber;
251
+ enabled: z.ZodDefault<z.ZodBoolean>;
252
+ depth: z.ZodOptional<z.ZodNumber>;
253
+ scanDepth: z.ZodOptional<z.ZodNumber>;
254
+ preventRecursion: z.ZodDefault<z.ZodLiteral<true>>;
255
+ excludeRecursion: z.ZodDefault<z.ZodLiteral<true>>;
256
+ }, z.core.$strip>;
257
+ }, z.core.$strip>, z.ZodObject<{
258
+ op: z.ZodLiteral<"update_entry">;
259
+ match: z.ZodObject<{
260
+ uid: z.ZodOptional<z.ZodNumber>;
261
+ index: z.ZodOptional<z.ZodNumber>;
262
+ comment: z.ZodOptional<z.ZodString>;
263
+ }, z.core.$strip>;
264
+ changes: z.ZodObject<{
265
+ comment: z.ZodOptional<z.ZodString>;
266
+ content: z.ZodOptional<z.ZodString>;
267
+ keys: z.ZodOptional<z.ZodArray<z.ZodString>>;
268
+ secondaryKeys: z.ZodOptional<z.ZodArray<z.ZodString>>;
269
+ constant: z.ZodOptional<z.ZodBoolean>;
270
+ position: z.ZodOptional<z.ZodEnum<{
271
+ before_char: "before_char";
272
+ after_char: "after_char";
273
+ before_an: "before_an";
274
+ after_an: "after_an";
275
+ at_depth: "at_depth";
276
+ before_em: "before_em";
277
+ after_em: "after_em";
278
+ outlet: "outlet";
279
+ }>>;
280
+ order: z.ZodOptional<z.ZodNumber>;
281
+ enabled: z.ZodOptional<z.ZodBoolean>;
282
+ depth: z.ZodOptional<z.ZodNumber>;
283
+ scanDepth: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
284
+ }, z.core.$strip>;
285
+ }, z.core.$strip>, z.ZodObject<{
286
+ op: z.ZodLiteral<"delete_entry">;
287
+ match: z.ZodObject<{
288
+ uid: z.ZodOptional<z.ZodNumber>;
289
+ index: z.ZodOptional<z.ZodNumber>;
290
+ comment: z.ZodOptional<z.ZodString>;
291
+ }, z.core.$strip>;
292
+ }, z.core.$strip>, z.ZodObject<{
293
+ op: z.ZodLiteral<"reorder_entry">;
294
+ match: z.ZodObject<{
295
+ uid: z.ZodOptional<z.ZodNumber>;
296
+ index: z.ZodOptional<z.ZodNumber>;
297
+ comment: z.ZodOptional<z.ZodString>;
298
+ }, z.core.$strip>;
299
+ order: z.ZodNumber;
300
+ }, z.core.$strip>, z.ZodObject<{
301
+ op: z.ZodLiteral<"toggle_entry">;
302
+ match: z.ZodObject<{
303
+ uid: z.ZodOptional<z.ZodNumber>;
304
+ index: z.ZodOptional<z.ZodNumber>;
305
+ comment: z.ZodOptional<z.ZodString>;
306
+ }, z.core.$strip>;
307
+ enabled: z.ZodBoolean;
308
+ }, z.core.$strip>], "op">>;
309
+ createdAt: z.ZodString;
310
+ }, z.core.$strip>;
311
+ export declare const ImportWorldbookJsonInputSchema: z.ZodObject<{
312
+ path: z.ZodString;
313
+ project_name: z.ZodOptional<z.ZodString>;
314
+ }, z.core.$strip>;
315
+ export declare const CreateWorldbookPatchInputSchema: z.ZodObject<{
316
+ project_id: z.ZodString;
317
+ operations: z.ZodArray<z.ZodDiscriminatedUnion<[z.ZodObject<{
318
+ op: z.ZodLiteral<"add_entry">;
319
+ entry: z.ZodObject<{
320
+ comment: z.ZodString;
321
+ entryType: z.ZodDefault<z.ZodEnum<{
322
+ world_summary: "world_summary";
323
+ background: "background";
324
+ character_overview: "character_overview";
325
+ character_basic: "character_basic";
326
+ character_personality: "character_personality";
327
+ item: "item";
328
+ ability: "ability";
329
+ scene: "scene";
330
+ event: "event";
331
+ faction: "faction";
332
+ npc: "npc";
333
+ other: "other";
334
+ }>>;
335
+ keys: z.ZodDefault<z.ZodArray<z.ZodString>>;
336
+ secondaryKeys: z.ZodDefault<z.ZodArray<z.ZodString>>;
337
+ content: z.ZodDefault<z.ZodString>;
338
+ constant: z.ZodBoolean;
339
+ position: z.ZodEnum<{
340
+ before_char: "before_char";
341
+ after_char: "after_char";
342
+ before_an: "before_an";
343
+ after_an: "after_an";
344
+ at_depth: "at_depth";
345
+ before_em: "before_em";
346
+ after_em: "after_em";
347
+ outlet: "outlet";
348
+ }>;
349
+ order: z.ZodNumber;
350
+ enabled: z.ZodDefault<z.ZodBoolean>;
351
+ depth: z.ZodOptional<z.ZodNumber>;
352
+ scanDepth: z.ZodOptional<z.ZodNumber>;
353
+ preventRecursion: z.ZodDefault<z.ZodLiteral<true>>;
354
+ excludeRecursion: z.ZodDefault<z.ZodLiteral<true>>;
355
+ }, z.core.$strip>;
356
+ }, z.core.$strip>, z.ZodObject<{
357
+ op: z.ZodLiteral<"update_entry">;
358
+ match: z.ZodObject<{
359
+ uid: z.ZodOptional<z.ZodNumber>;
360
+ index: z.ZodOptional<z.ZodNumber>;
361
+ comment: z.ZodOptional<z.ZodString>;
362
+ }, z.core.$strip>;
363
+ changes: z.ZodObject<{
364
+ comment: z.ZodOptional<z.ZodString>;
365
+ content: z.ZodOptional<z.ZodString>;
366
+ keys: z.ZodOptional<z.ZodArray<z.ZodString>>;
367
+ secondaryKeys: z.ZodOptional<z.ZodArray<z.ZodString>>;
368
+ constant: z.ZodOptional<z.ZodBoolean>;
369
+ position: z.ZodOptional<z.ZodEnum<{
370
+ before_char: "before_char";
371
+ after_char: "after_char";
372
+ before_an: "before_an";
373
+ after_an: "after_an";
374
+ at_depth: "at_depth";
375
+ before_em: "before_em";
376
+ after_em: "after_em";
377
+ outlet: "outlet";
378
+ }>>;
379
+ order: z.ZodOptional<z.ZodNumber>;
380
+ enabled: z.ZodOptional<z.ZodBoolean>;
381
+ depth: z.ZodOptional<z.ZodNumber>;
382
+ scanDepth: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
383
+ }, z.core.$strip>;
384
+ }, z.core.$strip>, z.ZodObject<{
385
+ op: z.ZodLiteral<"delete_entry">;
386
+ match: z.ZodObject<{
387
+ uid: z.ZodOptional<z.ZodNumber>;
388
+ index: z.ZodOptional<z.ZodNumber>;
389
+ comment: z.ZodOptional<z.ZodString>;
390
+ }, z.core.$strip>;
391
+ }, z.core.$strip>, z.ZodObject<{
392
+ op: z.ZodLiteral<"reorder_entry">;
393
+ match: z.ZodObject<{
394
+ uid: z.ZodOptional<z.ZodNumber>;
395
+ index: z.ZodOptional<z.ZodNumber>;
396
+ comment: z.ZodOptional<z.ZodString>;
397
+ }, z.core.$strip>;
398
+ order: z.ZodNumber;
399
+ }, z.core.$strip>, z.ZodObject<{
400
+ op: z.ZodLiteral<"toggle_entry">;
401
+ match: z.ZodObject<{
402
+ uid: z.ZodOptional<z.ZodNumber>;
403
+ index: z.ZodOptional<z.ZodNumber>;
404
+ comment: z.ZodOptional<z.ZodString>;
405
+ }, z.core.$strip>;
406
+ enabled: z.ZodBoolean;
407
+ }, z.core.$strip>], "op">>;
408
+ }, z.core.$strip>;
409
+ export declare const PreviewWorldbookPatchInputSchema: z.ZodObject<{
410
+ project_id: z.ZodString;
411
+ patch_id: z.ZodString;
412
+ }, z.core.$strip>;
413
+ export declare const ApplyWorldbookPatchInputSchema: z.ZodObject<{
414
+ project_id: z.ZodString;
415
+ patch_id: z.ZodString;
416
+ output_path: z.ZodOptional<z.ZodString>;
417
+ backup: z.ZodDefault<z.ZodBoolean>;
418
+ overwrite: z.ZodDefault<z.ZodBoolean>;
419
+ }, z.core.$strip>;
420
+ export type PatchMatch = z.infer<typeof PatchMatchSchema>;
421
+ export type PatchChanges = z.infer<typeof PatchChangesSchema>;
422
+ export type WorldbookPatchOperation = z.infer<typeof WorldbookPatchOperationSchema>;
423
+ export type WorldbookPatch = z.infer<typeof WorldbookPatchSchema>;
@@ -0,0 +1,78 @@
1
+ import { z } from "zod";
2
+ import { WorldbookDraftEntrySchema, PositionNameSchema } from "./worldbook-draft.js";
3
+ export const PatchMatchSchema = z.object({
4
+ uid: z.number().int().min(0).optional(),
5
+ index: z.number().int().min(0).optional(),
6
+ comment: z.string().optional(),
7
+ }).refine((value) => value.uid !== undefined || value.index !== undefined || value.comment, {
8
+ message: "必须提供 uid、index 或 comment 用于定位条目",
9
+ });
10
+ export const PatchChangesSchema = z.object({
11
+ comment: z.string().optional(),
12
+ content: z.string().optional(),
13
+ keys: z.array(z.string()).optional(),
14
+ secondaryKeys: z.array(z.string()).optional(),
15
+ constant: z.boolean().optional(),
16
+ position: PositionNameSchema.optional(),
17
+ order: z.number().optional(),
18
+ enabled: z.boolean().optional(),
19
+ depth: z.number().int().min(0).optional(),
20
+ scanDepth: z.number().int().min(0).nullable().optional(),
21
+ });
22
+ export const AddEntryOperationSchema = z.object({
23
+ op: z.literal("add_entry"),
24
+ entry: WorldbookDraftEntrySchema,
25
+ });
26
+ export const UpdateEntryOperationSchema = z.object({
27
+ op: z.literal("update_entry"),
28
+ match: PatchMatchSchema,
29
+ changes: PatchChangesSchema,
30
+ });
31
+ export const DeleteEntryOperationSchema = z.object({
32
+ op: z.literal("delete_entry"),
33
+ match: PatchMatchSchema,
34
+ });
35
+ export const ReorderEntryOperationSchema = z.object({
36
+ op: z.literal("reorder_entry"),
37
+ match: PatchMatchSchema,
38
+ order: z.number(),
39
+ });
40
+ export const ToggleEntryOperationSchema = z.object({
41
+ op: z.literal("toggle_entry"),
42
+ match: PatchMatchSchema,
43
+ enabled: z.boolean(),
44
+ });
45
+ export const WorldbookPatchOperationSchema = z.discriminatedUnion("op", [
46
+ AddEntryOperationSchema,
47
+ UpdateEntryOperationSchema,
48
+ DeleteEntryOperationSchema,
49
+ ReorderEntryOperationSchema,
50
+ ToggleEntryOperationSchema,
51
+ ]);
52
+ export const WorldbookPatchSchema = z.object({
53
+ id: z.string(),
54
+ projectId: z.string(),
55
+ sourcePath: z.string().optional(),
56
+ operations: z.array(WorldbookPatchOperationSchema).min(1),
57
+ createdAt: z.string(),
58
+ });
59
+ export const ImportWorldbookJsonInputSchema = z.object({
60
+ path: z.string().min(1),
61
+ project_name: z.string().optional(),
62
+ });
63
+ export const CreateWorldbookPatchInputSchema = z.object({
64
+ project_id: z.string(),
65
+ operations: z.array(WorldbookPatchOperationSchema).min(1),
66
+ });
67
+ export const PreviewWorldbookPatchInputSchema = z.object({
68
+ project_id: z.string(),
69
+ patch_id: z.string(),
70
+ });
71
+ export const ApplyWorldbookPatchInputSchema = z.object({
72
+ project_id: z.string(),
73
+ patch_id: z.string(),
74
+ output_path: z.string().optional(),
75
+ backup: z.boolean().default(true),
76
+ overwrite: z.boolean().default(false),
77
+ });
78
+ //# sourceMappingURL=worldbook-patch.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"worldbook-patch.js","sourceRoot":"","sources":["../../src/schemas/worldbook-patch.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
2
+ export declare function createServer(): McpServer;
package/dist/server.js ADDED
@@ -0,0 +1,15 @@
1
+ import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
2
+ import { registerTools } from "./tools/register.js";
3
+ import { registerResources } from "./resources/usage-resources.js";
4
+ import { registerPrompts } from "./prompts/register.js";
5
+ export function createServer() {
6
+ const server = new McpServer({
7
+ name: "world-book-mcp",
8
+ version: "0.1.0",
9
+ });
10
+ registerTools(server);
11
+ registerResources(server);
12
+ registerPrompts(server);
13
+ return server;
14
+ }
15
+ //# sourceMappingURL=server.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACpE,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;AACnE,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAExD,MAAM,UAAU,YAAY;IAC1B,MAAM,MAAM,GAAG,IAAI,SAAS,CAAC;QAC3B,IAAI,EAAE,gBAAgB;QACtB,OAAO,EAAE,OAAO;KACjB,CAAC,CAAC;IAEH,aAAa,CAAC,MAAM,CAAC,CAAC;IACtB,iBAAiB,CAAC,MAAM,CAAC,CAAC;IAC1B,eAAe,CAAC,MAAM,CAAC,CAAC;IAExB,OAAO,MAAM,CAAC;AAChB,CAAC"}
@@ -0,0 +1,13 @@
1
+ export declare const ROOT_DIR: string;
2
+ export declare const OUTPUT_DIR: string;
3
+ export declare const PROJECTS_DIR: string;
4
+ export declare const EXPORTS_DIR: string;
5
+ export declare const BACKUPS_DIR: string;
6
+ export declare const CARDS_DIR: string;
7
+ export declare function assertInside(baseDir: string, candidate: string): string;
8
+ export declare function resolveExportPath(outputPath: string | undefined, fallbackName: string): string;
9
+ export declare function resolveReadableWorldbookPath(inputPath: string): string;
10
+ export declare function resolveBackupPath(originalPath: string, timestamp?: Date): string;
11
+ export declare function resolveCardExportPath(outputPath: string | undefined, fallbackName: string): string;
12
+ export declare function resolveReadableCardPath(inputPath: string): string;
13
+ export declare function sanitizeFilename(name: string): string;