@whispering233/ai-editor-tools 0.0.54 → 0.0.56
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/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +30 -6
- package/dist/index.js.map +1 -1
- package/dist/query/deduction.d.ts +44 -0
- package/dist/query/deduction.d.ts.map +1 -0
- package/dist/query/deduction.js +68 -0
- package/dist/query/deduction.js.map +1 -0
- package/dist/schemas/index.d.ts +6 -0
- package/dist/schemas/index.d.ts.map +1 -1
- package/dist/schemas/index.js +6 -0
- package/dist/schemas/index.js.map +1 -1
- package/package.json +3 -3
package/dist/index.d.ts
CHANGED
|
@@ -6,6 +6,7 @@ export * from "./query/entity.js";
|
|
|
6
6
|
export * from "./query/relation.js";
|
|
7
7
|
export * from "./query/outline.js";
|
|
8
8
|
export * from "./query/manuscript.js";
|
|
9
|
+
export * from "./query/deduction.js";
|
|
9
10
|
export * from "./query/delta.js";
|
|
10
11
|
export * from "./query/reference.js";
|
|
11
12
|
export * from "./analysis/utils.js";
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAWA,eAAO,MAAM,cAAc,mCAAmC,CAAC;AAE/D,cAAc,cAAc,CAAC;AAC7B,cAAc,eAAe,CAAC;AAC9B,cAAc,oBAAoB,CAAC;AACnC,cAAc,mBAAmB,CAAC;AAClC,cAAc,qBAAqB,CAAC;AACpC,cAAc,oBAAoB,CAAC;AACnC,cAAc,uBAAuB,CAAC;AACtC,cAAc,kBAAkB,CAAC;AACjC,cAAc,sBAAsB,CAAC;AACrC,cAAc,qBAAqB,CAAC;AACpC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,wBAAwB,CAAC;AACvC,cAAc,oBAAoB,CAAC;AACnC,cAAc,sBAAsB,CAAC;AACrC,cAAc,uBAAuB,CAAC;AACtC,cAAc,oBAAoB,CAAC;AACnC,cAAc,qBAAqB,CAAC;AACpC,cAAc,sBAAsB,CAAC;AACrC,cAAc,wBAAwB,CAAC;AACvC,cAAc,qBAAqB,CAAC;AACpC,cAAc,uBAAuB,CAAC;AACtC,cAAc,oBAAoB,CAAC;AACnC,cAAc,kCAAkC,CAAC;AACjD,cAAc,yBAAyB,CAAC;AAExC,cAAc,qBAAqB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAWA,eAAO,MAAM,cAAc,mCAAmC,CAAC;AAE/D,cAAc,cAAc,CAAC;AAC7B,cAAc,eAAe,CAAC;AAC9B,cAAc,oBAAoB,CAAC;AACnC,cAAc,mBAAmB,CAAC;AAClC,cAAc,qBAAqB,CAAC;AACpC,cAAc,oBAAoB,CAAC;AACnC,cAAc,uBAAuB,CAAC;AACtC,cAAc,sBAAsB,CAAC;AACrC,cAAc,kBAAkB,CAAC;AACjC,cAAc,sBAAsB,CAAC;AACrC,cAAc,qBAAqB,CAAC;AACpC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,wBAAwB,CAAC;AACvC,cAAc,oBAAoB,CAAC;AACnC,cAAc,sBAAsB,CAAC;AACrC,cAAc,uBAAuB,CAAC;AACtC,cAAc,oBAAoB,CAAC;AACnC,cAAc,qBAAqB,CAAC;AACpC,cAAc,sBAAsB,CAAC;AACrC,cAAc,wBAAwB,CAAC;AACvC,cAAc,qBAAqB,CAAC;AACpC,cAAc,uBAAuB,CAAC;AACtC,cAAc,oBAAoB,CAAC;AACnC,cAAc,kCAAkC,CAAC;AACjD,cAAc,yBAAyB,CAAC;AAExC,cAAc,qBAAqB,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
// @whispering233/ai-editor-tools 入口:导出工具上下文 / 注册表 / 查询类与分析类工具实现
|
|
2
|
-
// S6.3 查询类工具(自动权限,
|
|
2
|
+
// S6.3 查询类工具(自动权限,11 个)+ S6.4 分析类工具(自动权限,5 个)在此注册;
|
|
3
3
|
// S6.5 伏笔 / S6.6 提案通过 registry.registerTool(s) 继续挂载(注册表是唯一事实来源)。
|
|
4
4
|
// S6.7 执行类 13 个**不注册 registry**(LLM 不可见,「核心设计原则」)——
|
|
5
5
|
// 仅经 executor 门面(executeProposal)导出,S7.5 提案确认后调用。
|
|
@@ -16,6 +16,7 @@ export * from "./query/entity.js";
|
|
|
16
16
|
export * from "./query/relation.js";
|
|
17
17
|
export * from "./query/outline.js";
|
|
18
18
|
export * from "./query/manuscript.js";
|
|
19
|
+
export * from "./query/deduction.js";
|
|
19
20
|
export * from "./query/delta.js";
|
|
20
21
|
export * from "./query/reference.js";
|
|
21
22
|
export * from "./analysis/utils.js";
|
|
@@ -35,16 +36,17 @@ export * from "./proposal/reorder-timepoints.js";
|
|
|
35
36
|
export * from "./proposal/reference.js";
|
|
36
37
|
// S6.7 执行层:导出 executor 门面与执行函数(不注册工具——见文件头注释)
|
|
37
38
|
export * from "./executor/index.js";
|
|
38
|
-
import { DEFAULT_HALF_LIFE, RELATION_TYPES, TOOL_PERMISSION } from "@whispering233/ai-editor-shared";
|
|
39
|
-
import { computeStateArgsSchema, getChapterTextArgsSchema, getDeltaHistoryArgsSchema, getEntityArgsSchema, getEntitySummaryArgsSchema, getOutlineArgsSchema, getOutlinePathArgsSchema, queryRelationshipsArgsSchema, searchEntitiesArgsSchema, searchReferencesArgsSchema, } from "./schemas/index.js";
|
|
39
|
+
import { CHARACTER_PRIORITIES, CHARACTER_PRIORITY_LABELS, DEFAULT_HALF_LIFE, RELATION_TYPES, TOOL_PERMISSION, } from "@whispering233/ai-editor-shared";
|
|
40
|
+
import { computeStateArgsSchema, getChapterTextArgsSchema, getDeductionMarksArgsSchema, getDeltaHistoryArgsSchema, getEntityArgsSchema, getEntitySummaryArgsSchema, getOutlineArgsSchema, getOutlinePathArgsSchema, queryRelationshipsArgsSchema, searchEntitiesArgsSchema, searchReferencesArgsSchema, } from "./schemas/index.js";
|
|
40
41
|
import { registerTools } from "./registry.js";
|
|
41
42
|
import { runGetEntity, runGetEntitySummary, runSearchEntities } from "./query/entity.js";
|
|
42
43
|
import { runSearchReferences } from "./query/reference.js";
|
|
43
44
|
import { runQueryRelationships } from "./query/relation.js";
|
|
44
45
|
import { runGetOutline, runGetOutlinePath } from "./query/outline.js";
|
|
45
46
|
import { runGetChapterText, DEFAULT_CHAPTER_TEXT_CHARS, MAX_CHAPTER_TEXT_CHARS } from "./query/manuscript.js";
|
|
47
|
+
import { runGetDeductionMarks } from "./query/deduction.js";
|
|
46
48
|
import { runComputeState, runGetDeltaHistory } from "./query/delta.js";
|
|
47
|
-
/** 查询类工具定义(S6.3 + 卡 12.9,「查询类(自动)」
|
|
49
|
+
/** 查询类工具定义(S6.3 + 卡 12.9 + D4,「查询类(自动)」11 个;权限全为 AUTO) */
|
|
48
50
|
const queryToolDefs = [
|
|
49
51
|
{
|
|
50
52
|
name: "get_entity",
|
|
@@ -111,6 +113,18 @@ const queryToolDefs = [
|
|
|
111
113
|
permission: TOOL_PERMISSION.AUTO,
|
|
112
114
|
run: runGetChapterText,
|
|
113
115
|
},
|
|
116
|
+
{
|
|
117
|
+
name: "get_deduction_marks",
|
|
118
|
+
description: "推演节点查询(无参):返回作者在大纲树上标定的推演边界。marks 为有序标记(index/role/node_id/" +
|
|
119
|
+
"chapter_number/path/title/summary——role 与 UI 徽标文案同源);spans 为相邻标记之间的区间骨架" +
|
|
120
|
+
"(区间内中间章清单 middle、章数 chapter_count、其中已写正文的章数 written_chapters)。" +
|
|
121
|
+
"语义:**单标记 = 开放式剧情发散**(唯一锚点);**多标记 = 相邻标记之间的剧情线探讨**" +
|
|
122
|
+
"(「从起点到终点这段是否成立」)。无标记或标记全部失效返回空 marks/spans(不报错);" +
|
|
123
|
+
"软删或已失效的标记不出现。AI **不能**增删推演节点——推演边界是作者的判断。",
|
|
124
|
+
parameters: getDeductionMarksArgsSchema,
|
|
125
|
+
permission: TOOL_PERMISSION.AUTO,
|
|
126
|
+
run: runGetDeductionMarks,
|
|
127
|
+
},
|
|
114
128
|
{
|
|
115
129
|
name: "compute_state",
|
|
116
130
|
description: "状态计算:实体(target_id)到达指定大纲节点(at_node_id)时的累积状态——" +
|
|
@@ -214,6 +228,12 @@ import { runAnalyzeHookHealth, runDetectHookConflicts, runFindHookOpportunities,
|
|
|
214
228
|
const halfLifeDefaultsText = Object.entries(DEFAULT_HALF_LIFE)
|
|
215
229
|
.map(([timing, chapters]) => `${timing}=${chapters}`)
|
|
216
230
|
.join("/");
|
|
231
|
+
// 角色优先级档的模型可见文案(两处实体提案 description 共用):档位取值 / 顺序 / 中文标签插值自
|
|
232
|
+
// shared `CHARACTER_PRIORITIES` / `CHARACTER_PRIORITY_LABELS`(单源,禁止在 description 里复述字面量)——
|
|
233
|
+
// 回归断言见 index.test.ts「角色优先级档文案 = 常量插值」
|
|
234
|
+
const characterPriorityText = "角色 priority=" +
|
|
235
|
+
CHARACTER_PRIORITIES.map((key) => `${key}(${CHARACTER_PRIORITY_LABELS[key]})`).join("/") +
|
|
236
|
+
",省略或 null = 未分级";
|
|
217
237
|
/** 伏笔分析工具定义(S6.5,「工具扩展」+;权限全为 AUTO) */
|
|
218
238
|
const hookToolDefs = [
|
|
219
239
|
{
|
|
@@ -279,7 +299,9 @@ const proposalToolDefs = [
|
|
|
279
299
|
{
|
|
280
300
|
name: "propose_create_entity",
|
|
281
301
|
description: "创建实体提案:向用户提议新建实体。type 取值 character|setting|location|hook,name 必填," +
|
|
282
|
-
"data 可选(自定义字段,如角色 role/
|
|
302
|
+
"data 可选(自定义字段,如角色 role/priority、伏笔 payoff_timing;" +
|
|
303
|
+
characterPriorityText +
|
|
304
|
+
")。" +
|
|
283
305
|
"仅生成提案(返回 proposal_id + 一句话摘要),需用户在界面确认后才生效——请勿重复提案或视为已创建。",
|
|
284
306
|
parameters: proposeCreateEntityArgsSchema,
|
|
285
307
|
permission: TOOL_PERMISSION.PROPOSAL,
|
|
@@ -287,7 +309,9 @@ const proposalToolDefs = [
|
|
|
287
309
|
},
|
|
288
310
|
{
|
|
289
311
|
name: "propose_update_entity",
|
|
290
|
-
description: "更新实体提案:entity_id 指定实体,patches 为要修改的 data
|
|
312
|
+
description: "更新实体提案:entity_id 指定实体,patches 为要修改的 data 字段(至少一项,浅合并——未传字段保留;" +
|
|
313
|
+
characterPriorityText +
|
|
314
|
+
")。" +
|
|
291
315
|
"仅生成提案,需用户确认后生效;确认时服务端校验实体未被他人改动(updated_at 快照比对)," +
|
|
292
316
|
"实体不存在或已软删返回错误。",
|
|
293
317
|
parameters: proposeUpdateEntityArgsSchema,
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,gEAAgE;AAChE,mDAAmD;AACnD,iEAAiE;AACjE,oDAAoD;AACpD,kDAAkD;AAClD,EAAE;AACF,0DAA0D;AAC1D,0DAA0D;AAC1D,mEAAmE;AAEnE,mDAAmD;AACnD,MAAM,CAAC,MAAM,cAAc,GAAG,gCAAgC,CAAC;AAE/D,cAAc,cAAc,CAAC;AAC7B,cAAc,eAAe,CAAC;AAC9B,cAAc,oBAAoB,CAAC;AACnC,cAAc,mBAAmB,CAAC;AAClC,cAAc,qBAAqB,CAAC;AACpC,cAAc,oBAAoB,CAAC;AACnC,cAAc,uBAAuB,CAAC;AACtC,cAAc,kBAAkB,CAAC;AACjC,cAAc,sBAAsB,CAAC;AACrC,cAAc,qBAAqB,CAAC;AACpC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,wBAAwB,CAAC;AACvC,cAAc,oBAAoB,CAAC;AACnC,cAAc,sBAAsB,CAAC;AACrC,cAAc,uBAAuB,CAAC;AACtC,cAAc,oBAAoB,CAAC;AACnC,cAAc,qBAAqB,CAAC;AACpC,cAAc,sBAAsB,CAAC;AACrC,cAAc,wBAAwB,CAAC;AACvC,cAAc,qBAAqB,CAAC;AACpC,cAAc,uBAAuB,CAAC;AACtC,cAAc,oBAAoB,CAAC;AACnC,cAAc,kCAAkC,CAAC;AACjD,cAAc,yBAAyB,CAAC;AACxC,8CAA8C;AAC9C,cAAc,qBAAqB,CAAC;AAEpC,OAAO,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import type { DeductionMarkRole } from "@whispering233/ai-editor-shared";
|
|
2
|
+
import type { ToolContext } from "../context.js";
|
|
3
|
+
/** 一个推演标记(get_deduction_marks `marks[]` 项;字段与工具目录逐字对齐) */
|
|
4
|
+
export interface DeductionMarkEntry {
|
|
5
|
+
/** 标记在本次标记集合中的位置(1-based;树序) */
|
|
6
|
+
index: number;
|
|
7
|
+
role: DeductionMarkRole;
|
|
8
|
+
node_id: string;
|
|
9
|
+
/** 可见章先序编号(跨卷连续;只计未软删章——与 UI 徽标同口径) */
|
|
10
|
+
chapter_number: number;
|
|
11
|
+
/** 卷 → 章 的标题链(不含虚拟 root;存量直挂 root 的章只有自身标题) */
|
|
12
|
+
path: string[];
|
|
13
|
+
title: string;
|
|
14
|
+
/** 章摘要(outline.json 节点 `summary`);缺失则不写该键 */
|
|
15
|
+
summary?: string;
|
|
16
|
+
}
|
|
17
|
+
/** 区间内的中间章(`spans[].middle` 项) */
|
|
18
|
+
export interface DeductionSpanChapter {
|
|
19
|
+
node_id: string;
|
|
20
|
+
chapter_number: number;
|
|
21
|
+
title: string;
|
|
22
|
+
}
|
|
23
|
+
/** 相邻标记之间的区间骨架(get_deduction_marks `spans[]` 项) */
|
|
24
|
+
export interface DeductionSpan {
|
|
25
|
+
from_index: number;
|
|
26
|
+
to_index: number;
|
|
27
|
+
/** = `middle.length`(区间内章数,**不含两端标记**) */
|
|
28
|
+
chapter_count: number;
|
|
29
|
+
/** `middle` 中正文投影非空的章数(**不含两端标记**) */
|
|
30
|
+
written_chapters: number;
|
|
31
|
+
middle: DeductionSpanChapter[];
|
|
32
|
+
}
|
|
33
|
+
/** get_deduction_marks 结果 */
|
|
34
|
+
export interface DeductionMarksResult {
|
|
35
|
+
marks: DeductionMarkEntry[];
|
|
36
|
+
spans: DeductionSpan[];
|
|
37
|
+
}
|
|
38
|
+
/**
|
|
39
|
+
* 推演标记与相邻区间骨架(get_deduction_marks(),无参)。
|
|
40
|
+
* 无标记 / 标记全部失效(不存在、软删、非章)→ `{ marks: [], spans: [] }`(不报错);
|
|
41
|
+
* 单标记 → `spans` 为空(开放式发散没有区间)。
|
|
42
|
+
*/
|
|
43
|
+
export declare function runGetDeductionMarks(ctx: ToolContext): DeductionMarksResult;
|
|
44
|
+
//# sourceMappingURL=deduction.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"deduction.d.ts","sourceRoot":"","sources":["../../src/query/deduction.ts"],"names":[],"mappings":"AAqBA,OAAO,KAAK,EAAE,iBAAiB,EAAmB,MAAM,iCAAiC,CAAC;AAC1F,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAEjD,0DAA0D;AAC1D,MAAM,WAAW,kBAAkB;IACjC,gCAAgC;IAChC,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,iBAAiB,CAAC;IACxB,OAAO,EAAE,MAAM,CAAC;IAChB,uCAAuC;IACvC,cAAc,EAAE,MAAM,CAAC;IACvB,+CAA+C;IAC/C,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,6CAA6C;IAC7C,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,kCAAkC;AAClC,MAAM,WAAW,oBAAoB;IACnC,OAAO,EAAE,MAAM,CAAC;IAChB,cAAc,EAAE,MAAM,CAAC;IACvB,KAAK,EAAE,MAAM,CAAC;CACf;AAED,mDAAmD;AACnD,MAAM,WAAW,aAAa;IAC5B,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,0CAA0C;IAC1C,aAAa,EAAE,MAAM,CAAC;IACtB,sCAAsC;IACtC,gBAAgB,EAAE,MAAM,CAAC;IACzB,MAAM,EAAE,oBAAoB,EAAE,CAAC;CAChC;AAED,6BAA6B;AAC7B,MAAM,WAAW,oBAAoB;IACnC,KAAK,EAAE,kBAAkB,EAAE,CAAC;IAC5B,KAAK,EAAE,aAAa,EAAE,CAAC;CACxB;AASD;;;;GAIG;AACH,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,WAAW,GAAG,oBAAoB,CA0C3E"}
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
// 查询类工具:推演节点标记只读
|
|
2
|
+
// get_deduction_marks——作者在大纲树上标定的「推演边界」(project.json `deduction_nodes`)。
|
|
3
|
+
//
|
|
4
|
+
// 口径(docs/api/tool-calling.md「推演节点」、docs/design/10-data-model.md §15):
|
|
5
|
+
// - 标记的**角色 / 文案 / 章号 / 顺序一律来自 shared `buildDeductionMarks`**(唯一编号口径
|
|
6
|
+
// `orderVisibleChapters` 的下游),本文件不重算章号、不手抄徽标文案;软删与已 purge 的 id
|
|
7
|
+
// 在读侧过滤(不变式 6:读侧过滤,不自动清理)
|
|
8
|
+
// - `path` = 根 → 章的标题链**去掉虚拟 root**(卷标题 + 章标题;存量直挂 root 的章只有章标题)
|
|
9
|
+
// - `spans[]` = 相邻标记之间的区间骨架:`middle` = 可见章先序中**严格位于两端之间**的章
|
|
10
|
+
// (不含两端标记),`chapter_count` = `middle.length`,`written_chapters` = `middle` 中
|
|
11
|
+
// 正文投影(`document_records.content_text`)非空的章数
|
|
12
|
+
// - **只读**:工具面没有任何增删推演节点的提案 / 执行工具——推演边界是作者的判断
|
|
13
|
+
import { findOutlineNode, getDocumentTextLengths, getOutlinePathIds, readOutlineFile, readProjectFile, } from "@whispering233/ai-editor-db";
|
|
14
|
+
import { buildDeductionMarks, orderVisibleChapters } from "@whispering233/ai-editor-shared";
|
|
15
|
+
/** 根 → 节点的标题链(去掉虚拟 root;`getOutlinePathIds` 契约 = path[0] 是 root) */
|
|
16
|
+
function outlinePathTitles(tree, nodeId) {
|
|
17
|
+
return getOutlinePathIds(tree, nodeId)
|
|
18
|
+
.slice(1)
|
|
19
|
+
.map((id) => findOutlineNode(tree, id)?.title ?? id);
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* 推演标记与相邻区间骨架(get_deduction_marks(),无参)。
|
|
23
|
+
* 无标记 / 标记全部失效(不存在、软删、非章)→ `{ marks: [], spans: [] }`(不报错);
|
|
24
|
+
* 单标记 → `spans` 为空(开放式发散没有区间)。
|
|
25
|
+
*/
|
|
26
|
+
export function runGetDeductionMarks(ctx) {
|
|
27
|
+
const tree = readOutlineFile(ctx.outlineDir);
|
|
28
|
+
const markedIds = readProjectFile(ctx.outlineDir)?.deduction_nodes ?? [];
|
|
29
|
+
const marks = buildDeductionMarks(tree, markedIds); // 失效 id 已过滤、已按树序排序、章号来自可见章先序
|
|
30
|
+
if (marks.length === 0)
|
|
31
|
+
return { marks: [], spans: [] };
|
|
32
|
+
const entries = marks.map((mark) => {
|
|
33
|
+
const entry = {
|
|
34
|
+
index: mark.index,
|
|
35
|
+
role: mark.role,
|
|
36
|
+
node_id: mark.nodeId,
|
|
37
|
+
chapter_number: mark.chapterNumber,
|
|
38
|
+
path: outlinePathTitles(tree, mark.nodeId),
|
|
39
|
+
title: mark.title,
|
|
40
|
+
};
|
|
41
|
+
const summary = findOutlineNode(tree, mark.nodeId)?.summary;
|
|
42
|
+
if (summary !== undefined)
|
|
43
|
+
entry.summary = summary;
|
|
44
|
+
return entry;
|
|
45
|
+
});
|
|
46
|
+
// 区间 = 相邻标记之间:可见章先序切片(左开右开 ⇒ 两端标记天然不在 middle 里)
|
|
47
|
+
const visibleChapters = orderVisibleChapters(tree);
|
|
48
|
+
const spans = [];
|
|
49
|
+
for (let i = 1; i < entries.length; i++) {
|
|
50
|
+
const start = visibleChapters.indexOf(entries[i - 1].node_id) + 1;
|
|
51
|
+
const end = visibleChapters.indexOf(entries[i].node_id);
|
|
52
|
+
const middle = visibleChapters.slice(start, end).map((id, offset) => ({
|
|
53
|
+
node_id: id,
|
|
54
|
+
chapter_number: start + offset + 1, // 章号 = 可见章先序下标 + 1(唯一编号口径)
|
|
55
|
+
title: findOutlineNode(tree, id)?.title ?? id,
|
|
56
|
+
}));
|
|
57
|
+
const textLengths = getDocumentTextLengths(ctx.db, "chapter", middle.map((chapter) => chapter.node_id));
|
|
58
|
+
spans.push({
|
|
59
|
+
from_index: entries[i - 1].index,
|
|
60
|
+
to_index: entries[i].index,
|
|
61
|
+
chapter_count: middle.length,
|
|
62
|
+
written_chapters: middle.filter((chapter) => (textLengths.get(chapter.node_id) ?? 0) > 0).length,
|
|
63
|
+
middle,
|
|
64
|
+
});
|
|
65
|
+
}
|
|
66
|
+
return { marks: entries, spans };
|
|
67
|
+
}
|
|
68
|
+
//# sourceMappingURL=deduction.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"deduction.js","sourceRoot":"","sources":["../../src/query/deduction.ts"],"names":[],"mappings":"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"}
|
package/dist/schemas/index.d.ts
CHANGED
|
@@ -1,3 +1,9 @@
|
|
|
1
|
+
import { Type } from "@earendil-works/pi-ai";
|
|
2
|
+
/**
|
|
3
|
+
* get_deduction_marks 入参:无参(读 project.json 的 `deduction_nodes` 现算,见 `query/deduction.ts`)。
|
|
4
|
+
* 定义放本出口是卡片约定(其余 schema 见各域文件)。
|
|
5
|
+
*/
|
|
6
|
+
export declare const getDeductionMarksArgsSchema: Type.TObject<{}>;
|
|
1
7
|
export * from "./entity.js";
|
|
2
8
|
export * from "./relation.js";
|
|
3
9
|
export * from "./outline.js";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/schemas/index.ts"],"names":[],"mappings":"AAKA,cAAc,aAAa,CAAC;AAC5B,cAAc,eAAe,CAAC;AAC9B,cAAc,cAAc,CAAC;AAC7B,cAAc,YAAY,CAAC;AAC3B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,iBAAiB,CAAC;AAChC,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/schemas/index.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,IAAI,EAAE,MAAM,uBAAuB,CAAC;AAE7C;;;GAGG;AACH,eAAO,MAAM,2BAA2B,kBAAmD,CAAC;AAE5F,cAAc,aAAa,CAAC;AAC5B,cAAc,eAAe,CAAC;AAC9B,cAAc,cAAc,CAAC;AAC7B,cAAc,YAAY,CAAC;AAC3B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,iBAAiB,CAAC;AAChC,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC"}
|
package/dist/schemas/index.js
CHANGED
|
@@ -2,6 +2,12 @@
|
|
|
2
2
|
//
|
|
3
3
|
// 契约见 docs/api/tool-calling.md「工具定义(TypeBox)」:schema 定义在 tools 包
|
|
4
4
|
// (不放 shared——client 不打包工具 schema),`Type`/`Static` 经 @earendil-works/pi-ai 重导出。
|
|
5
|
+
import { Type } from "@earendil-works/pi-ai";
|
|
6
|
+
/**
|
|
7
|
+
* get_deduction_marks 入参:无参(读 project.json 的 `deduction_nodes` 现算,见 `query/deduction.ts`)。
|
|
8
|
+
* 定义放本出口是卡片约定(其余 schema 见各域文件)。
|
|
9
|
+
*/
|
|
10
|
+
export const getDeductionMarksArgsSchema = Type.Object({}, { additionalProperties: false });
|
|
5
11
|
export * from "./entity.js";
|
|
6
12
|
export * from "./relation.js";
|
|
7
13
|
export * from "./outline.js";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/schemas/index.ts"],"names":[],"mappings":"AAAA,4BAA4B;AAC5B,EAAE;AACF,iEAAiE;AACjE,gFAAgF;AAEhF,cAAc,aAAa,CAAC;AAC5B,cAAc,eAAe,CAAC;AAC9B,cAAc,cAAc,CAAC;AAC7B,cAAc,YAAY,CAAC;AAC3B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,iBAAiB,CAAC;AAChC,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/schemas/index.ts"],"names":[],"mappings":"AAAA,4BAA4B;AAC5B,EAAE;AACF,iEAAiE;AACjE,gFAAgF;AAEhF,OAAO,EAAE,IAAI,EAAE,MAAM,uBAAuB,CAAC;AAE7C;;;GAGG;AACH,MAAM,CAAC,MAAM,2BAA2B,GAAG,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,oBAAoB,EAAE,KAAK,EAAE,CAAC,CAAC;AAE5F,cAAc,aAAa,CAAC;AAC5B,cAAc,eAAe,CAAC;AAC9B,cAAc,cAAc,CAAC;AAC7B,cAAc,YAAY,CAAC;AAC3B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,iBAAiB,CAAC;AAChC,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@whispering233/ai-editor-tools",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.56",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"description": "AI 工具目录:工具定义 + 执行器",
|
|
6
6
|
"type": "module",
|
|
@@ -27,8 +27,8 @@
|
|
|
27
27
|
},
|
|
28
28
|
"dependencies": {
|
|
29
29
|
"@earendil-works/pi-ai": "0.85.1",
|
|
30
|
-
"@whispering233/ai-editor-db": "0.0.
|
|
31
|
-
"@whispering233/ai-editor-shared": "0.0.
|
|
30
|
+
"@whispering233/ai-editor-db": "0.0.56",
|
|
31
|
+
"@whispering233/ai-editor-shared": "0.0.56"
|
|
32
32
|
},
|
|
33
33
|
"devDependencies": {
|
|
34
34
|
"typescript": "^5.8.0"
|