@dayinxisheng/novel-tools 0.2.1 → 0.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (55) hide show
  1. package/CHANGELOG.md +104 -0
  2. package/README.md +19 -0
  3. package/dist/commands/check.js +4 -4
  4. package/dist/commands/check.js.map +1 -1
  5. package/dist/commands/config.d.ts +6 -0
  6. package/dist/commands/config.d.ts.map +1 -0
  7. package/dist/commands/config.js +164 -0
  8. package/dist/commands/config.js.map +1 -0
  9. package/dist/commands/event.js +3 -3
  10. package/dist/commands/event.js.map +1 -1
  11. package/dist/commands/index.d.ts.map +1 -1
  12. package/dist/commands/index.js +11 -1
  13. package/dist/commands/index.js.map +1 -1
  14. package/dist/commands/query.d.ts.map +1 -1
  15. package/dist/commands/query.js +34 -7
  16. package/dist/commands/query.js.map +1 -1
  17. package/dist/commands/shared.d.ts +8 -3
  18. package/dist/commands/shared.d.ts.map +1 -1
  19. package/dist/commands/shared.js +17 -2
  20. package/dist/commands/shared.js.map +1 -1
  21. package/dist/commands/snapshot.js +3 -3
  22. package/dist/commands/snapshot.js.map +1 -1
  23. package/dist/commands/temp-setting.js +4 -4
  24. package/dist/commands/temp-setting.js.map +1 -1
  25. package/dist/core/constants.d.ts +0 -1
  26. package/dist/core/constants.d.ts.map +1 -1
  27. package/dist/core/constants.js +11 -10
  28. package/dist/core/constants.js.map +1 -1
  29. package/dist/core/git.d.ts +28 -0
  30. package/dist/core/git.d.ts.map +1 -0
  31. package/dist/core/git.js +71 -0
  32. package/dist/core/git.js.map +1 -0
  33. package/dist/core/index.d.ts +1 -0
  34. package/dist/core/index.d.ts.map +1 -1
  35. package/dist/core/index.js +1 -0
  36. package/dist/core/index.js.map +1 -1
  37. package/dist/core/types.d.ts +10 -0
  38. package/dist/core/types.d.ts.map +1 -1
  39. package/dist/services/config.service.d.ts +78 -0
  40. package/dist/services/config.service.d.ts.map +1 -0
  41. package/dist/services/config.service.js +178 -0
  42. package/dist/services/config.service.js.map +1 -0
  43. package/dist/services/index.d.ts +1 -0
  44. package/dist/services/index.d.ts.map +1 -1
  45. package/dist/services/index.js +1 -0
  46. package/dist/services/index.js.map +1 -1
  47. package/dist/services/init.service.d.ts +1 -1
  48. package/dist/services/init.service.d.ts.map +1 -1
  49. package/dist/services/init.service.js +99 -35
  50. package/dist/services/init.service.js.map +1 -1
  51. package/dist/services/query.service.d.ts +11 -1
  52. package/dist/services/query.service.d.ts.map +1 -1
  53. package/dist/services/query.service.js +63 -3
  54. package/dist/services/query.service.js.map +1 -1
  55. package/package.json +1 -1
@@ -0,0 +1,178 @@
1
+ import * as path from 'path';
2
+ import * as os from 'os';
3
+ import { existsSync } from 'fs';
4
+ import { FileUtils } from '../core/file.js';
5
+ import { GitUtils } from '../core/git.js';
6
+ /**
7
+ * 配置管理服务
8
+ */
9
+ export class ConfigService {
10
+ configDir;
11
+ configFilePath;
12
+ constructor() {
13
+ // 配置目录: ~/.novel-tools/
14
+ this.configDir = path.join(os.homedir(), '.novel-tools');
15
+ // 配置文件: ~/.novel-tools/config.json
16
+ this.configFilePath = path.join(this.configDir, 'config.json');
17
+ }
18
+ /**
19
+ * 获取配置文件路径
20
+ */
21
+ getConfigFilePath() {
22
+ return this.configFilePath;
23
+ }
24
+ /**
25
+ * 确保配置目录存在
26
+ */
27
+ async ensureConfigDir() {
28
+ if (!existsSync(this.configDir)) {
29
+ await FileUtils.ensureDir(this.configDir);
30
+ }
31
+ }
32
+ /**
33
+ * 读取全局配置
34
+ */
35
+ async readConfig() {
36
+ const config = await FileUtils.readJson(this.configFilePath);
37
+ if (!config) {
38
+ // 返回空配置
39
+ return { projects: {} };
40
+ }
41
+ // 验证配置结构
42
+ if (!config.projects || typeof config.projects !== 'object') {
43
+ throw new Error('配置文件格式错误: 缺少或无效的 projects 字段');
44
+ }
45
+ return config;
46
+ }
47
+ /**
48
+ * 写入全局配置
49
+ */
50
+ async writeConfig(config) {
51
+ await this.ensureConfigDir();
52
+ await FileUtils.writeJson(this.configFilePath, config);
53
+ }
54
+ /**
55
+ * 规范化项目根目录路径
56
+ */
57
+ async normalizeRoot(root) {
58
+ return await GitUtils.normalizePath(root);
59
+ }
60
+ /**
61
+ * 添加或更新项目映射
62
+ *
63
+ * @param root - 项目根目录路径
64
+ * @param novelPath - 小说项目路径(相对或绝对)
65
+ */
66
+ async addProject(root, novelPath) {
67
+ const normalizedRoot = await this.normalizeRoot(root);
68
+ const config = await this.readConfig();
69
+ config.projects[normalizedRoot] = novelPath;
70
+ await this.writeConfig(config);
71
+ }
72
+ /**
73
+ * 删除项目映射
74
+ *
75
+ * @param root - 项目根目录路径
76
+ */
77
+ async removeProject(root) {
78
+ const normalizedRoot = await this.normalizeRoot(root);
79
+ const config = await this.readConfig();
80
+ if (config.projects[normalizedRoot]) {
81
+ delete config.projects[normalizedRoot];
82
+ await this.writeConfig(config);
83
+ }
84
+ }
85
+ /**
86
+ * 根据当前目录查找对应的小说路径
87
+ *
88
+ * @param currentDir - 当前目录路径
89
+ * @returns 解析后的小说项目绝对路径,如果未找到则返回 null
90
+ */
91
+ async findNovelPath(currentDir) {
92
+ // 查找 git 仓库根目录
93
+ const repoRoot = await GitUtils.findRepositoryRoot(currentDir);
94
+ if (!repoRoot) {
95
+ // 不在 git 仓库中,无法匹配配置
96
+ return null;
97
+ }
98
+ // 规范化仓库根目录路径
99
+ const normalizedRoot = await this.normalizeRoot(repoRoot);
100
+ // 读取配置
101
+ const config = await this.readConfig();
102
+ // 查找匹配的项目
103
+ const novelPath = config.projects[normalizedRoot];
104
+ if (!novelPath) {
105
+ return null;
106
+ }
107
+ // 解析并返回小说路径
108
+ return this.resolveNovelPath(normalizedRoot, novelPath);
109
+ }
110
+ /**
111
+ * 解析小说路径(支持相对/绝对路径)
112
+ *
113
+ * @param root - 项目根目录路径
114
+ * @param novelPath - 小说项目路径(相对或绝对)
115
+ * @returns 小说项目的绝对路径
116
+ */
117
+ resolveNovelPath(root, novelPath) {
118
+ // 如果是绝对路径,直接使用
119
+ if (path.isAbsolute(novelPath)) {
120
+ return novelPath;
121
+ }
122
+ // 相对路径,相对于项目根目录解析
123
+ return path.resolve(root, novelPath);
124
+ }
125
+ /**
126
+ * 获取当前项目的配置信息
127
+ *
128
+ * @param currentDir - 当前目录路径
129
+ * @returns 项目映射信息,如果未找到则返回 null
130
+ */
131
+ async getCurrentProjectConfig(currentDir) {
132
+ const repoRoot = await GitUtils.findRepositoryRoot(currentDir);
133
+ if (!repoRoot) {
134
+ return null;
135
+ }
136
+ const normalizedRoot = await this.normalizeRoot(repoRoot);
137
+ const config = await this.readConfig();
138
+ const novelPath = config.projects[normalizedRoot];
139
+ if (!novelPath) {
140
+ return null;
141
+ }
142
+ const resolvedPath = this.resolveNovelPath(normalizedRoot, novelPath);
143
+ return {
144
+ root: normalizedRoot,
145
+ novelPath: resolvedPath
146
+ };
147
+ }
148
+ /**
149
+ * 列出所有项目映射
150
+ *
151
+ * @returns 所有项目映射列表
152
+ */
153
+ async listProjects() {
154
+ const config = await this.readConfig();
155
+ const projects = [];
156
+ for (const [root, novelPath] of Object.entries(config.projects)) {
157
+ projects.push({
158
+ root,
159
+ novelPath: this.resolveNovelPath(root, novelPath)
160
+ });
161
+ }
162
+ // 按根目录排序
163
+ projects.sort((a, b) => a.root.localeCompare(b.root));
164
+ return projects;
165
+ }
166
+ /**
167
+ * 检查项目是否有配置
168
+ *
169
+ * @param root - 项目根目录路径
170
+ * @returns 是否存在配置
171
+ */
172
+ async hasProjectConfig(root) {
173
+ const normalizedRoot = await this.normalizeRoot(root);
174
+ const config = await this.readConfig();
175
+ return !!config.projects[normalizedRoot];
176
+ }
177
+ }
178
+ //# sourceMappingURL=config.service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.service.js","sourceRoot":"","sources":["../../src/services/config.service.ts"],"names":[],"mappings":"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"}
@@ -5,4 +5,5 @@ export { SnapshotService } from './snapshot.service.js';
5
5
  export { ValidateService } from './validate.service.js';
6
6
  export { InitService } from './init.service.js';
7
7
  export { TempSettingService } from './temp-setting.service.js';
8
+ export { ConfigService } from './config.service.js';
8
9
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/services/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AACjE,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/services/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AACjE,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAC/D,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC"}
@@ -6,4 +6,5 @@ export { SnapshotService } from './snapshot.service.js';
6
6
  export { ValidateService } from './validate.service.js';
7
7
  export { InitService } from './init.service.js';
8
8
  export { TempSettingService } from './temp-setting.service.js';
9
+ export { ConfigService } from './config.service.js';
9
10
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/services/index.ts"],"names":[],"mappings":"AAAA,SAAS;AACT,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AACjE,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/services/index.ts"],"names":[],"mappings":"AAAA,SAAS;AACT,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AACjE,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAC/D,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC"}
@@ -20,7 +20,7 @@ export declare class InitService {
20
20
  */
21
21
  private createStaticSettingTemplates;
22
22
  /**
23
- * 创建世界觿定模板
23
+ * 创建世界观设定模板
24
24
  */
25
25
  private createWorldTemplate;
26
26
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"init.service.d.ts","sourceRoot":"","sources":["../../src/services/init.service.ts"],"names":[],"mappings":"AAGA,OAAO,EAA4B,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAGzE;;GAEG;AACH,qBAAa,WAAW;IACtB;;OAEG;IACG,WAAW,CAAC,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAiC1E;;OAEG;YACW,wBAAwB;IAWtC;;OAEG;YACW,mBAAmB;IAoBjC;;OAEG;YACW,4BAA4B;IAiB1C;;OAEG;YACW,mBAAmB;IAejC;;OAEG;YACW,yBAAyB;IAevC;;OAEG;YACW,2BAA2B;IAczC;;OAEG;YACW,yBAAyB;IA+CvC;;OAEG;YACW,qBAAqB;IAgBnC;;OAEG;YACW,gBAAgB;IAU9B;;OAEG;YACW,mBAAmB;CA6ClC"}
1
+ {"version":3,"file":"init.service.d.ts","sourceRoot":"","sources":["../../src/services/init.service.ts"],"names":[],"mappings":"AAGA,OAAO,EAA4B,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAGzE;;GAEG;AACH,qBAAa,WAAW;IACtB;;OAEG;IACG,WAAW,CAAC,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAiC1E;;OAEG;YACW,wBAAwB;IAWtC;;OAEG;YACW,mBAAmB;IAoBjC;;OAEG;YACW,4BAA4B;IAiB1C;;OAEG;YACW,mBAAmB;IA0CjC;;OAEG;YACW,yBAAyB;IAsCvC;;OAEG;YACW,2BAA2B;IA4BzC;;OAEG;YACW,yBAAyB;IA+CvC;;OAEG;YACW,qBAAqB;IAgBnC;;OAEG;YACW,gBAAgB;IAU9B;;OAEG;YACW,mBAAmB;CA6ClC"}
@@ -69,59 +69,123 @@ export class InitService {
69
69
  // 创建世界觿定模板
70
70
  await this.createWorldTemplate(staticDir);
71
71
  // 根据类型创建额外设定
72
- if (typeConfig.staticFiles.includes('power_system.yaml')) {
72
+ if (typeConfig.staticFiles.includes('power_system.md')) {
73
73
  await this.createPowerSystemTemplate(staticDir);
74
74
  }
75
- if (typeConfig.staticFiles.includes('era_background.yaml')) {
75
+ if (typeConfig.staticFiles.includes('era_background.md')) {
76
76
  await this.createEraBackgroundTemplate(staticDir);
77
77
  }
78
78
  }
79
79
  /**
80
- * 创建世界觿定模板
80
+ * 创建世界观设定模板
81
81
  */
82
82
  async createWorldTemplate(staticDir) {
83
- const worldTemplate = {
84
- name: '世界观名称',
85
- description: '简要描述世界背景',
86
- geography: {
87
- continents: [],
88
- important_locations: []
89
- },
90
- factions: [],
91
- timeline: []
92
- };
93
- await YamlUtils.writeFile(path.join(staticDir, 'world.yaml'), worldTemplate);
83
+ const worldTemplate = `# 世界观
84
+
85
+ ## 世界本质
86
+
87
+ 简要描述世界的核心特征和运行逻辑。
88
+
89
+ ## 世界层次
90
+
91
+ 描述世界的层次结构(如灵界/人界等)。
92
+
93
+ ## 地理设定
94
+
95
+ ### 区域划分
96
+
97
+ - 区域1:描述
98
+ - 区域2:描述
99
+
100
+ ### 重要地点
101
+
102
+ - 地点1:描述
103
+ - 地点2:描述
104
+
105
+ ## 势力设定
106
+
107
+ ### 顶级势力
108
+
109
+ - 势力1:描述
110
+ - 势力2:描述
111
+
112
+ ### 中层势力
113
+
114
+ - 势力1:描述
115
+
116
+ ## 核心矛盾
117
+
118
+ 描述故事的核心矛盾冲突。
119
+ `;
120
+ await FileUtils.writeText(path.join(staticDir, 'world.md'), worldTemplate);
94
121
  }
95
122
  /**
96
123
  * 创建力量体系模板
97
124
  */
98
125
  async createPowerSystemTemplate(staticDir) {
99
- const powerTemplate = {
100
- name: '力量体系名称',
101
- description: '描述力量体系的基本原理',
102
- levels: [
103
- { name: '第一境界', description: '境界描述' },
104
- { name: '第二境界', description: '境界描述' }
105
- ],
106
- cultivation_methods: [],
107
- special_abilities: []
108
- };
109
- await YamlUtils.writeFile(path.join(staticDir, 'power_system.yaml'), powerTemplate);
126
+ const powerTemplate = `# 力量体系
127
+
128
+ ## 体系概述
129
+
130
+ 简要描述力量体系的基本原理。
131
+
132
+ ## 境界划分
133
+
134
+ | 境界名称 | 描述 | 特殊能力 |
135
+ |---------|------|---------|
136
+ | 第一境界 | 描述 | 能力描述 |
137
+ | 第二境界 | 描述 | 能力描述 |
138
+
139
+ ## 修炼方式
140
+
141
+ ### 功法体系
142
+
143
+ - 功法类型1:描述
144
+ - 功法类型2:描述
145
+
146
+ ### 资质体系
147
+
148
+ - 资质类型1:描述
149
+ - 资质类型2:描述
150
+
151
+ ## 突破条件
152
+
153
+ 描述各境界突破需要的条件。
154
+
155
+ ## 战力对比
156
+
157
+ 描述不同境界、资质之间的战力差异。
158
+ `;
159
+ await FileUtils.writeText(path.join(staticDir, 'power_system.md'), powerTemplate);
110
160
  }
111
161
  /**
112
162
  * 创建时代背景模板
113
163
  */
114
164
  async createEraBackgroundTemplate(staticDir) {
115
- const eraTemplate = {
116
- era: '时代名称',
117
- time_period: '具体时间段',
118
- political_system: '政治体制',
119
- economic_system: '经济体制',
120
- social_structure: '社会阶层结构',
121
- cultural_features: '文化特色',
122
- major_events: []
123
- };
124
- await YamlUtils.writeFile(path.join(staticDir, 'era_background.yaml'), eraTemplate);
165
+ const eraTemplate = `# 时代背景
166
+
167
+ ## 时代概述
168
+
169
+ 简要描述时代背景。
170
+
171
+ ## 政治体制
172
+
173
+ 描述政治体制和权力结构。
174
+
175
+ ## 经济体制
176
+
177
+ 描述经济体制和阶层结构。
178
+
179
+ ## 社会风貌
180
+
181
+ 描述社会风貌和文化特色。
182
+
183
+ ## 重要历史事件
184
+
185
+ - 事件1:描述
186
+ - 事件2:描述
187
+ `;
188
+ await FileUtils.writeText(path.join(staticDir, 'era_background.md'), eraTemplate);
125
189
  }
126
190
  /**
127
191
  * 创建主大纲模板
@@ -1 +1 @@
1
- {"version":3,"file":"init.service.js","sourceRoot":"","sources":["../../src/services/init.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"init.service.js","sourceRoot":"","sources":["../../src/services/init.service.ts"],"names":[],"mappings":"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"}
@@ -6,7 +6,17 @@ export declare class QueryService {
6
6
  /**
7
7
  * 查询静态设定
8
8
  */
9
- queryStaticSetting(projectPath: string, settingType: string): Promise<any>;
9
+ queryStaticSetting(projectPath: string, settingType: string): Promise<string>;
10
+ /**
11
+ * 获取设定文件大纲
12
+ * 提取所有 # 开头的标题(大章节)
13
+ */
14
+ getSettingOutline(projectPath: string, settingType: string): Promise<string[]>;
15
+ /**
16
+ * 提取指定大章节内容
17
+ * @param sectionTitle 大章节标题
18
+ */
19
+ querySettingSection(projectPath: string, settingType: string, sectionTitle: string): Promise<string>;
10
20
  /**
11
21
  * 查询人物信息
12
22
  */
@@ -1 +1 @@
1
- {"version":3,"file":"query.service.d.ts","sourceRoot":"","sources":["../../src/services/query.service.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,aAAa,EACb,cAAc,EACd,iBAAiB,EACjB,gBAAgB,EAChB,YAAY,EACZ,UAAU,EACX,MAAM,kBAAkB,CAAC;AAQ1B;;GAEG;AACH,qBAAa,YAAY;IACvB;;OAEG;IACG,kBAAkB,CAAC,WAAW,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC;IAUhF;;OAEG;IACG,cAAc,CAAC,WAAW,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,CAAC;IA4B5F;;OAEG;IACG,kBAAkB,CAAC,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAexF;;OAEG;IACG,iBAAiB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAkBvE;;OAEG;IACG,kBAAkB,CAAC,WAAW,EAAE,MAAM,EAAE,aAAa,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC;IAiB9F;;OAEG;IACG,gBAAgB,CAAC,WAAW,EAAE,MAAM,EAAE,MAAM,SAAe,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC;IAUzF;;OAEG;IACG,mBAAmB,CAAC,WAAW,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC;IAWrG;;OAEG;IACG,gBAAgB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,GAAG,IAAI,CAAC;IAK1E;;OAEG;IACG,mBAAmB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;CAIjE"}
1
+ {"version":3,"file":"query.service.d.ts","sourceRoot":"","sources":["../../src/services/query.service.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,aAAa,EACb,cAAc,EACd,iBAAiB,EACjB,gBAAgB,EAChB,YAAY,EACZ,UAAU,EACX,MAAM,kBAAkB,CAAC;AAQ1B;;GAEG;AACH,qBAAa,YAAY;IACvB;;OAEG;IACG,kBAAkB,CAAC,WAAW,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAUnF;;;OAGG;IACG,iBAAiB,CAAC,WAAW,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IAmBpF;;;OAGG;IACG,mBAAmB,CAAC,WAAW,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IA4C1G;;OAEG;IACG,cAAc,CAAC,WAAW,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,CAAC;IA4B5F;;OAEG;IACG,kBAAkB,CAAC,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAexF;;OAEG;IACG,iBAAiB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAkBvE;;OAEG;IACG,kBAAkB,CAAC,WAAW,EAAE,MAAM,EAAE,aAAa,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC;IAiB9F;;OAEG;IACG,gBAAgB,CAAC,WAAW,EAAE,MAAM,EAAE,MAAM,SAAe,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC;IAUzF;;OAEG;IACG,mBAAmB,CAAC,WAAW,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC;IAWrG;;OAEG;IACG,gBAAgB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,GAAG,IAAI,CAAC;IAK1E;;OAEG;IACG,mBAAmB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;CAIjE"}
@@ -11,10 +11,70 @@ export class QueryService {
11
11
  */
12
12
  async queryStaticSetting(projectPath, settingType) {
13
13
  const staticDir = path.join(projectPath, 'settings', 'static');
14
- const filename = SETTING_FILE_MAP[settingType] || `${settingType}.yaml`;
14
+ const filename = SETTING_FILE_MAP[settingType] || `${settingType}.md`;
15
15
  const filePath = path.join(staticDir, filename);
16
- const result = await YamlUtils.parseFile(filePath);
17
- return result || {};
16
+ const content = await FileUtils.readText(filePath);
17
+ return content || '';
18
+ }
19
+ /**
20
+ * 获取设定文件大纲
21
+ * 提取所有 # 开头的标题(大章节)
22
+ */
23
+ async getSettingOutline(projectPath, settingType) {
24
+ const content = await this.queryStaticSetting(projectPath, settingType);
25
+ if (!content)
26
+ return [];
27
+ const lines = content.split('\n');
28
+ const sections = [];
29
+ for (const line of lines) {
30
+ // 匹配 # 开头的大章节标题(排除文件标题,即第一个 # 标题)
31
+ const match = line.match(/^#\s+(.+)$/);
32
+ if (match) {
33
+ sections.push(match[1].trim());
34
+ }
35
+ }
36
+ // 第一个是文件标题,跳过
37
+ return sections.slice(1);
38
+ }
39
+ /**
40
+ * 提取指定大章节内容
41
+ * @param sectionTitle 大章节标题
42
+ */
43
+ async querySettingSection(projectPath, settingType, sectionTitle) {
44
+ const content = await this.queryStaticSetting(projectPath, settingType);
45
+ if (!content)
46
+ return '';
47
+ const lines = content.split('\n');
48
+ const result = [];
49
+ let inTargetSection = false;
50
+ let foundFirstSection = false;
51
+ for (let i = 0; i < lines.length; i++) {
52
+ const line = lines[i];
53
+ // 检查是否是大章节标题
54
+ const match = line.match(/^#\s+(.+)$/);
55
+ if (match) {
56
+ const title = match[1].trim();
57
+ // 跳过文件标题(第一个 # 标题)
58
+ if (!foundFirstSection) {
59
+ foundFirstSection = true;
60
+ continue;
61
+ }
62
+ // 找到目标章节
63
+ if (title === sectionTitle) {
64
+ inTargetSection = true;
65
+ continue;
66
+ }
67
+ // 遇到下一个大章节,停止
68
+ if (inTargetSection) {
69
+ break;
70
+ }
71
+ }
72
+ // 收集目标章节的内容
73
+ if (inTargetSection) {
74
+ result.push(line);
75
+ }
76
+ }
77
+ return result.join('\n').trim();
18
78
  }
19
79
  /**
20
80
  * 查询人物信息
@@ -1 +1 @@
1
- {"version":3,"file":"query.service.js","sourceRoot":"","sources":["../../src/services/query.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"query.service.js","sourceRoot":"","sources":["../../src/services/query.service.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@dayinxisheng/novel-tools",
3
- "version": "0.2.1",
3
+ "version": "0.3.0",
4
4
  "description": "小说创作辅助工具集 - TypeScript 实现",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",