@whispering233/ai-editor-tools 0.0.33 → 0.0.38
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/analysis/conflict.d.ts.map +1 -1
- package/dist/analysis/conflict.js +4 -3
- package/dist/analysis/conflict.js.map +1 -1
- package/dist/analysis/hook.d.ts +16 -8
- package/dist/analysis/hook.d.ts.map +1 -1
- package/dist/analysis/hook.js +75 -27
- package/dist/analysis/hook.js.map +1 -1
- package/dist/analysis/utils.d.ts +2 -1
- package/dist/analysis/utils.d.ts.map +1 -1
- package/dist/analysis/utils.js +9 -2
- package/dist/analysis/utils.js.map +1 -1
- package/dist/context.js +1 -1
- package/dist/context.js.map +1 -1
- package/dist/executor/delta.d.ts.map +1 -1
- package/dist/executor/delta.js +22 -3
- package/dist/executor/delta.js.map +1 -1
- package/dist/executor/hook.d.ts.map +1 -1
- package/dist/executor/hook.js +45 -33
- package/dist/executor/hook.js.map +1 -1
- package/dist/executor/index.js +2 -2
- package/dist/executor/index.js.map +1 -1
- package/dist/executor/relation.d.ts.map +1 -1
- package/dist/executor/relation.js +18 -3
- package/dist/executor/relation.js.map +1 -1
- package/dist/index.js +38 -25
- package/dist/index.js.map +1 -1
- package/dist/proposal/delta.d.ts +12 -0
- package/dist/proposal/delta.d.ts.map +1 -1
- package/dist/proposal/delta.js +68 -0
- package/dist/proposal/delta.js.map +1 -1
- package/dist/proposal/hook.d.ts +3 -3
- package/dist/proposal/hook.d.ts.map +1 -1
- package/dist/proposal/hook.js +9 -9
- package/dist/proposal/hook.js.map +1 -1
- package/dist/proposal/relation.d.ts.map +1 -1
- package/dist/proposal/relation.js +13 -1
- package/dist/proposal/relation.js.map +1 -1
- package/dist/proposal/types.d.ts +11 -0
- package/dist/proposal/types.d.ts.map +1 -1
- package/dist/proposal/types.js +17 -0
- package/dist/proposal/types.js.map +1 -1
- package/dist/query/delta.d.ts +3 -2
- package/dist/query/delta.d.ts.map +1 -1
- package/dist/query/delta.js +4 -3
- package/dist/query/delta.js.map +1 -1
- package/dist/query/entity.d.ts +2 -2
- package/dist/query/entity.js +2 -2
- package/dist/schemas/delta.d.ts +2 -1
- package/dist/schemas/delta.d.ts.map +1 -1
- package/dist/schemas/delta.js +2 -1
- package/dist/schemas/delta.js.map +1 -1
- package/dist/schemas/proposal.d.ts +3 -2
- package/dist/schemas/proposal.d.ts.map +1 -1
- package/dist/schemas/proposal.js +3 -2
- package/dist/schemas/proposal.js.map +1 -1
- package/dist/schemas/relation.d.ts +2 -1
- package/dist/schemas/relation.d.ts.map +1 -1
- package/dist/schemas/relation.js +2 -1
- package/dist/schemas/relation.js.map +1 -1
- package/package.json +3 -3
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"conflict.d.ts","sourceRoot":"","sources":["../../src/analysis/conflict.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"conflict.d.ts","sourceRoot":"","sources":["../../src/analysis/conflict.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAEjD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAE/D,6DAA6D;AAC7D,MAAM,WAAW,aAAa;IAC5B,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;CACrB;AA0BD;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,WAAW,EAAE,IAAI,EAAE,mBAAmB,EAAE,MAAM,CAAC,EAAE,WAAW,GAAG;IAAE,SAAS,EAAE,aAAa,EAAE,CAAA;CAAE,CA0FpI"}
|
|
@@ -1,14 +1,15 @@
|
|
|
1
1
|
// 分析类工具:detect_conflicts(跨实体设定矛盾检测,S6.4)
|
|
2
2
|
// 语义:从关系图自动发现设定矛盾(「A↔B 关系缺失导致的不一致」):
|
|
3
|
-
// - R1 对称缺失(error
|
|
3
|
+
// - R1 对称缺失(error):对称关系(注册表 `RELATION_TYPE_META[*].symmetric` = ally/rival/family)单向存在即矛盾
|
|
4
4
|
// - R2 互斥并存(warning):同一对实体同时互为盟友与对手(ally + rival 并存)
|
|
5
5
|
// - R3 互杀(error):A kills B 且 B kills A(双方互相击杀)
|
|
6
6
|
// 数据访问:db 查询层(listEntities 全量非软删实体 + listRelations 全量可见关系)+ 纯函数图分析,无原生 SQL。
|
|
7
7
|
// signal:全量关系遍历为长任务候选,循环中检查。
|
|
8
8
|
import { listEntities, listRelations } from "@whispering233/ai-editor-db";
|
|
9
|
+
import { RELATION_TYPES, RELATION_TYPE_META } from "@whispering233/ai-editor-shared";
|
|
9
10
|
import { isEntityType, throwIfAborted } from "./utils.js";
|
|
10
|
-
/** 对称关系类型(R1
|
|
11
|
-
const SYMMETRIC_RELATION_TYPES = [
|
|
11
|
+
/** 对称关系类型(R1:单向存在即矛盾)= 注册表 `symmetric` 派生(ally/rival/family),禁止手抄 */
|
|
12
|
+
const SYMMETRIC_RELATION_TYPES = RELATION_TYPES.filter((t) => RELATION_TYPE_META[t].symmetric === true);
|
|
12
13
|
/** 互斥关系对(R2:同一对实体并存即矛盾) */
|
|
13
14
|
const MUTUALLY_EXCLUSIVE_PAIRS = [["ally", "rival"]];
|
|
14
15
|
/** 互杀关系类型(R3:双向同时存在即矛盾) */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"conflict.js","sourceRoot":"","sources":["../../src/analysis/conflict.ts"],"names":[],"mappings":"AAAA,yCAAyC;AACzC,qCAAqC;AACrC,
|
|
1
|
+
{"version":3,"file":"conflict.js","sourceRoot":"","sources":["../../src/analysis/conflict.ts"],"names":[],"mappings":"AAAA,yCAAyC;AACzC,qCAAqC;AACrC,0FAA0F;AAC1F,qDAAqD;AACrD,+CAA+C;AAC/C,4EAA4E;AAC5E,6BAA6B;AAE7B,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAC1E,OAAO,EAAE,cAAc,EAAE,kBAAkB,EAAE,MAAM,iCAAiC,CAAC;AAGrF,OAAO,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAW1D,qEAAqE;AACrE,MAAM,wBAAwB,GAAsB,cAAc,CAAC,MAAM,CACvE,CAAC,CAAC,EAAE,EAAE,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,SAAS,KAAK,IAAI,CAChD,CAAC;AAEF,2BAA2B;AAC3B,MAAM,wBAAwB,GAA6C,CAAC,CAAC,MAAM,EAAE,OAAO,CAAC,CAAU,CAAC;AAExG,2BAA2B;AAC3B,MAAM,mBAAmB,GAAG,OAAgB,CAAC;AAE7C,0BAA0B;AAC1B,SAAS,MAAM,CAAC,QAAkC,EAAE,EAAU;IAC5D,OAAO,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,IAAI,EAAE,CAAC;AACvD,CAAC;AAUD;;;;;;GAMG;AACH,MAAM,UAAU,kBAAkB,CAAC,GAAgB,EAAE,IAAyB,EAAE,MAAoB;IAClG,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;IACzB,MAAM,SAAS,GAAG,IAAI,CAAC,eAAe,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,GAAG,CAAS,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IAErG,iCAAiC;IAChC,MAAM,QAAQ,GAAG,YAAY,CAAC,GAAG,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC,KAAK,CAAC;IAC5D,MAAM,SAAS,GAAG,aAAa,CAAC,GAAG,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,GAAG,CAAC,UAAU,CAAC,CAAC,SAAS,CAAC;IACzE,cAAc,CAAC,MAAM,CAAC,CAAC;IAExB,oDAAoD;IACnD,MAAM,UAAU,GAAG,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IAC/D,MAAM,QAAQ,GAAG,SAAS,CAAC,MAAM,CAC/B,CAAC,CAAC,EAAE,EAAE,CACJ,YAAY,CAAC,CAAC,CAAC,UAAU,CAAC;QAC1B,YAAY,CAAC,CAAC,CAAC,UAAU,CAAC;QAC1B,CAAC,UAAU,KAAK,IAAI,IAAI,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,UAAmC,CAAC,CAAC;QAC9E,CAAC,UAAU,KAAK,IAAI,IAAI,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,UAAmC,CAAC,CAAC;QAC9E,CAAC,SAAS,KAAK,IAAI,IAAI,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CACxD,CAAC;IACF,cAAc,CAAC,MAAM,CAAC,CAAC;IAExB,mCAAmC;IAClC,MAAM,KAAK,GAAG,IAAI,GAAG,EAAwB,CAAC;IAC9C,KAAK,MAAM,CAAC,IAAI,QAAQ,EAAE,CAAC;QACzB,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,QAAQ,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC;QAC7F,IAAI,IAAI,GAAG,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAClC,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;YACvB,IAAI,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,IAAI,GAAG,EAAE,EAAE,EAAE,EAAE,IAAI,GAAG,EAAE,EAAE,CAAC;YAC9C,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;QAC/B,CAAC;QACD,IAAI,CAAC,CAAC,QAAQ,KAAK,IAAI,CAAC,CAAC;YAAE,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC;;YAClD,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC;IACnC,CAAC;IAEF,uBAAuB;IACtB,MAAM,SAAS,GAAoB,EAAE,CAAC;IACtC,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC;QAClC,cAAc,CAAC,MAAM,CAAC,CAAC;QACvB,MAAM,KAAK,GAAG,MAAM,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC;QACvC,MAAM,KAAK,GAAG,MAAM,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC;QAC1C,cAAc;QACX,KAAK,MAAM,GAAG,IAAI,wBAAwB,EAAE,CAAC;YAC3C,IAAI,SAAS,KAAK,IAAI,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC;gBAAE,SAAS;YACxD,MAAM,KAAK,GAAG,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YAC/B,MAAM,KAAK,GAAG,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YAC/B,IAAI,KAAK,IAAI,CAAC,KAAK,EAAE,CAAC;gBACpB,SAAS,CAAC,IAAI,CAAC;oBACb,QAAQ,EAAE,IAAI,CAAC,CAAC;oBAChB,QAAQ,EAAE,IAAI,CAAC,CAAC;oBAChB,KAAK,EAAE,WAAW;oBAClB,WAAW,EAAE,IAAI,KAAK,MAAM,KAAK,SAAS,GAAG,qBAAqB;iBACnE,CAAC,CAAC;YACL,CAAC;iBAAM,IAAI,KAAK,IAAI,CAAC,KAAK,EAAE,CAAC;gBAC3B,SAAS,CAAC,IAAI,CAAC;oBACb,QAAQ,EAAE,IAAI,CAAC,CAAC;oBAChB,QAAQ,EAAE,IAAI,CAAC,CAAC;oBAChB,KAAK,EAAE,WAAW;oBAClB,WAAW,EAAE,IAAI,KAAK,MAAM,KAAK,SAAS,GAAG,qBAAqB;iBACnE,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QACJ,gBAAgB;QACb,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,wBAAwB,EAAE,CAAC;YAC9C,IAAI,SAAS,KAAK,IAAI,IAAI,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;gBAAE,SAAS;YAC7E,MAAM,IAAI,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAC9H,IAAI,IAAI,EAAE,CAAC;gBACT,SAAS,CAAC,IAAI,CAAC;oBACb,QAAQ,EAAE,IAAI,CAAC,CAAC;oBAChB,QAAQ,EAAE,IAAI,CAAC,CAAC;oBAChB,KAAK,EAAE,WAAW;oBAClB,WAAW,EAAE,IAAI,KAAK,MAAM,KAAK,SAAS,CAAC,MAAM,CAAC,kBAAkB;iBACrE,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QACJ,kBAAkB;QACf,IAAI,SAAS,KAAK,IAAI,IAAI,SAAS,CAAC,GAAG,CAAC,mBAAmB,CAAC,EAAE,CAAC;YAC7D,IAAI,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,mBAAmB,CAAC,IAAI,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,mBAAmB,CAAC,EAAE,CAAC;gBACzE,SAAS,CAAC,IAAI,CAAC;oBACb,QAAQ,EAAE,IAAI,CAAC,CAAC;oBAChB,QAAQ,EAAE,IAAI,CAAC,CAAC;oBAChB,KAAK,EAAE,WAAW;oBAClB,WAAW,EAAE,IAAI,KAAK,MAAM,KAAK,YAAY,mBAAmB,UAAU;iBAC3E,CAAC,CAAC;YACL,CAAC;QACH,CAAC;IACH,CAAC;IAEF,4CAA4C;IAC3C,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,KAAK,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;IACpI,OAAO,EAAE,SAAS,EAAE,CAAC;AACvB,CAAC"}
|
package/dist/analysis/hook.d.ts
CHANGED
|
@@ -110,9 +110,10 @@ export interface HookPayoffSuggestion {
|
|
|
110
110
|
}
|
|
111
111
|
/**
|
|
112
112
|
* 回收建议(suggest_hook_payoff(hook_id)):
|
|
113
|
-
* 候选 =
|
|
113
|
+
* 候选 = 大纲中**当前章节之后**(含当前章)的**章**节点(非软删),排除已回收节点
|
|
114
|
+
* (卡片 1.3:锚点仅章——候选从场景改为章,与 REST/提案层 plants·advances·resolves 口径一致);
|
|
114
115
|
* 理想回收点 = 埋设章 + 半衰期(节奏匹配);按与理想点距离升序取 top 3。
|
|
115
|
-
* hook 不存在/已软删 → null
|
|
116
|
+
* hook 不存在/已软删 → null;无埋设记录或大纲无候选章 → 空建议。
|
|
116
117
|
*/
|
|
117
118
|
export declare function runSuggestHookPayoff(ctx: ToolContext, args: SuggestHookPayoffArgs, signal?: AbortSignal): {
|
|
118
119
|
suggestions: HookPayoffSuggestion[];
|
|
@@ -124,12 +125,19 @@ export interface HookOpportunity {
|
|
|
124
125
|
}
|
|
125
126
|
/**
|
|
126
127
|
* 埋设机会发现(find_hook_opportunities(outline_node_id)):
|
|
127
|
-
*
|
|
128
|
-
*
|
|
129
|
-
*
|
|
130
|
-
* -
|
|
131
|
-
* -
|
|
132
|
-
*
|
|
128
|
+
* **输入为章节点(卡片 1.3)**——卷/场景 → 抛错(输入类型错误,与 propose_add_delta 非章拒绝同口径);
|
|
129
|
+
* 章不存在/已软删 → null。章级叙事特征 = 本章自身与其下场景**聚合**(锚点仅章后,
|
|
130
|
+
* 埋设/在场/麦基字段可能落在章或其场景上,各规则按子树口径判定):
|
|
131
|
+
* - R1 无伏笔埋设(章或其场景无 plants 关系)→ mystery(悬念/谜团)
|
|
132
|
+
* - R2 角色在场 ≥ 2(appears_in 目标为章或其场景,按角色去重)→ relationship(人物关系)
|
|
133
|
+
* - R3 任一场景冲突含外部层面(extra_personal)→ world_building(世界观)
|
|
134
|
+
* - R4 任一场景价值转向(value_from ≠ value_to 且均非空)→ character_growth(角色成长)
|
|
135
|
+
* R3/R4 的 reason 带「命中计数 / 本章场景总数 + 最典型场景名」——章级聚合后单点信息会丢,
|
|
136
|
+
* 而麦基口径下 R4 在成熟大纲里近乎恒真(「没有不转折的场景」),计数是判别信息的兜底(卡片 1.7)。
|
|
137
|
+
* **「最典型」判据 = 子树先序遍历第一个命中场景**(确定性;不做「冲突层最多」这类启发式猜测)。
|
|
138
|
+
* **可见性(卡片 1.8)**:软删节点**及其整棵子树**不参与任何规则(R1/R2 的 `subtreeIds`、
|
|
139
|
+
* R3/R4 的命中集/分母/最典型均只算未软删节点)——同 `suggest_hook_payoff` 的 `node.deleted` 过滤
|
|
140
|
+
* 与「查询类工具默认过滤软删对象」契约。
|
|
133
141
|
*/
|
|
134
142
|
export declare function runFindHookOpportunities(ctx: ToolContext, args: FindHookOpportunitiesArgs, signal?: AbortSignal): {
|
|
135
143
|
opportunities: HookOpportunity[];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hook.d.ts","sourceRoot":"","sources":["../../src/analysis/hook.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"hook.d.ts","sourceRoot":"","sources":["../../src/analysis/hook.ts"],"names":[],"mappings":"AAsBA,OAAO,KAAK,EAAE,SAAS,EAAmB,cAAc,EAAE,MAAM,iCAAiC,CAAC;AAClG,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AACjD,OAAO,EAIL,KAAK,YAAY,EAClB,MAAM,YAAY,CAAC;AACpB,OAAO,KAAK,EACV,qBAAqB,EACrB,uBAAuB,EACvB,yBAAyB,EACzB,qBAAqB,EACrB,sBAAsB,EACvB,MAAM,qBAAqB,CAAC;AAI7B,8CAA8C;AAC9C,MAAM,WAAW,UAAU;IACzB,MAAM,EAAE,SAAS,CAAC;IACnB,yCAAyC;IACxC,MAAM,EAAE,cAAc,EAAE,CAAC;IAC1B,uBAAuB;IACtB,QAAQ,EAAE,cAAc,EAAE,CAAC;IAC5B,uBAAuB;IACtB,QAAQ,EAAE,cAAc,EAAE,CAAC;IAC5B,kDAAkD;IACjD,SAAS,EAAE,cAAc,EAAE,CAAC;IAC7B,2DAA2D;IAC1D,YAAY,EAAE,cAAc,EAAE,CAAC;CAChC;AAqCD,6BAA6B;AAC7B,MAAM,WAAW,UAAU;IAC1B,2CAA2C;IAC1C,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,6DAA6D;IAC5D,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,uCAAuC;IACtC,KAAK,EAAE,OAAO,GAAG,IAAI,CAAC;IACvB,sCAAsC;IACrC,OAAO,EAAE,OAAO,GAAG,IAAI,CAAC;IACzB,2EAA2E;IAC1E,gBAAgB,EAAE,OAAO,GAAG,IAAI,CAAC;IAClC,kCAAkC;IACjC,OAAO,EAAE,OAAO,CAAC;IAClB,8BAA8B;IAC7B,UAAU,EAAE,MAAM,EAAE,CAAC;IACtB,gDAAgD;IAC/C,SAAS,EAAE,MAAM,CAAC;CACnB;AAED;;;;;;GAMG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAUrE;AAYD;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAC/B,YAAY,EAAE,YAAY,EAC1B,GAAG,EAAE,UAAU,EACf,YAAY,EAAE,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,GACxC,UAAU,CA6CZ;AAID,4DAA4D;AAC5D,MAAM,WAAW,kBAAkB;IAClC,0CAA0C;IACzC,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,0CAA0C;IACzC,YAAY,EAAE,MAAM,CAAC;IACtB,sBAAsB;IACrB,KAAK,EAAE,MAAM,EAAE,CAAC;IACjB,wBAAwB;IACvB,OAAO,EAAE,MAAM,EAAE,CAAC;IACnB,6BAA6B;IAC5B,cAAc,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,EAAE,CAAA;KAAE,EAAE,CAAC;IAC3D,wCAAwC;IACvC,QAAQ,EAAE,MAAM,EAAE,CAAC;CACpB;AAQD;;;;GAIG;AACH,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,WAAW,EAAE,KAAK,EAAE,qBAAqB,EAAE,MAAM,CAAC,EAAE,WAAW,GAAG,kBAAkB,CAqC7H;AAID,qCAAqC;AACrC,MAAM,WAAW,aAAa;IAC5B,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IAClB,0BAA0B;IACzB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;CACxB;AAED,sEAAsE;AACtE,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,SAAS,CAAC;IAChB,KAAK,EAAE,aAAa,GAAG,IAAI,CAAC;IAC7B,mBAAmB;IAClB,QAAQ,EAAE,aAAa,EAAE,CAAC;IAC1B,OAAO,EAAE,aAAa,GAAG,IAAI,CAAC;IAC/B,yCAAyC;IACxC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,8CAA8C;IAC7C,cAAc,EAAE;QAAE,MAAM,EAAE,CAAC,aAAa,GAAG;YAAE,IAAI,EAAE,OAAO,GAAG,SAAS,GAAG,SAAS,CAAA;SAAE,CAAC,EAAE,CAAA;KAAE,CAAC;CAC3F;AAOD;;;;GAIG;AACH,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,WAAW,EAAE,IAAI,EAAE,sBAAsB,EAAE,MAAM,CAAC,EAAE,WAAW,GAAG,aAAa,GAAG,IAAI,CAgChI;AAID,gDAAgD;AAChD,MAAM,WAAW,oBAAoB;IACnC,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED;;;;;;GAMG;AACH,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,WAAW,EAAE,IAAI,EAAE,qBAAqB,EAAE,MAAM,CAAC,EAAE,WAAW,GAAG;IAAE,WAAW,EAAE,oBAAoB,EAAE,CAAA;CAAE,GAAG,IAAI,CA8CxJ;AAID,4DAA4D;AAC5D,MAAM,WAAW,eAAe;IAC9B,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,wBAAwB,CAAC,GAAG,EAAE,WAAW,EAAE,IAAI,EAAE,yBAAyB,EAAE,MAAM,CAAC,EAAE,WAAW,GAAG;IAAE,aAAa,EAAE,eAAe,EAAE,CAAA;CAAE,GAAG,IAAI,CA6E7J;AAID,2CAA2C;AAC3C,MAAM,WAAW,YAAY;IAC3B,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;CACrB;AAED;;;;;;;;;GASG;AACH,wBAAgB,sBAAsB,CAAC,GAAG,EAAE,WAAW,EAAE,KAAK,EAAE,uBAAuB,EAAE,MAAM,CAAC,EAAE,WAAW,GAAG;IAAE,SAAS,EAAE,YAAY,EAAE,CAAA;CAAE,CA+D5I"}
|
package/dist/analysis/hook.js
CHANGED
|
@@ -223,9 +223,10 @@ export function runTraceHookLifecycle(ctx, args, signal) {
|
|
|
223
223
|
}
|
|
224
224
|
/**
|
|
225
225
|
* 回收建议(suggest_hook_payoff(hook_id)):
|
|
226
|
-
* 候选 =
|
|
226
|
+
* 候选 = 大纲中**当前章节之后**(含当前章)的**章**节点(非软删),排除已回收节点
|
|
227
|
+
* (卡片 1.3:锚点仅章——候选从场景改为章,与 REST/提案层 plants·advances·resolves 口径一致);
|
|
227
228
|
* 理想回收点 = 埋设章 + 半衰期(节奏匹配);按与理想点距离升序取 top 3。
|
|
228
|
-
* hook 不存在/已软删 → null
|
|
229
|
+
* hook 不存在/已软删 → null;无埋设记录或大纲无候选章 → 空建议。
|
|
229
230
|
*/
|
|
230
231
|
export function runSuggestHookPayoff(ctx, args, signal) {
|
|
231
232
|
const entity = getEntity(ctx.db, args.hook_id);
|
|
@@ -246,7 +247,7 @@ export function runSuggestHookPayoff(ctx, args, signal) {
|
|
|
246
247
|
const candidates = [];
|
|
247
248
|
const visit = (nodes) => {
|
|
248
249
|
for (const node of nodes) {
|
|
249
|
-
if (node.type === "
|
|
250
|
+
if (node.type === "chapter" && node.deleted !== true && !resolvedNodes.has(node.id)) {
|
|
250
251
|
const chapter = chapterIndex.chapterOf(node.id);
|
|
251
252
|
if (chapter !== null && (chapterIndex.currentChapter === null || chapter >= chapterIndex.currentChapter)) {
|
|
252
253
|
candidates.push({ nodeId: node.id, nodeName: node.title, chapter });
|
|
@@ -267,12 +268,19 @@ export function runSuggestHookPayoff(ctx, args, signal) {
|
|
|
267
268
|
}
|
|
268
269
|
/**
|
|
269
270
|
* 埋设机会发现(find_hook_opportunities(outline_node_id)):
|
|
270
|
-
*
|
|
271
|
-
*
|
|
272
|
-
*
|
|
273
|
-
* -
|
|
274
|
-
* -
|
|
275
|
-
*
|
|
271
|
+
* **输入为章节点(卡片 1.3)**——卷/场景 → 抛错(输入类型错误,与 propose_add_delta 非章拒绝同口径);
|
|
272
|
+
* 章不存在/已软删 → null。章级叙事特征 = 本章自身与其下场景**聚合**(锚点仅章后,
|
|
273
|
+
* 埋设/在场/麦基字段可能落在章或其场景上,各规则按子树口径判定):
|
|
274
|
+
* - R1 无伏笔埋设(章或其场景无 plants 关系)→ mystery(悬念/谜团)
|
|
275
|
+
* - R2 角色在场 ≥ 2(appears_in 目标为章或其场景,按角色去重)→ relationship(人物关系)
|
|
276
|
+
* - R3 任一场景冲突含外部层面(extra_personal)→ world_building(世界观)
|
|
277
|
+
* - R4 任一场景价值转向(value_from ≠ value_to 且均非空)→ character_growth(角色成长)
|
|
278
|
+
* R3/R4 的 reason 带「命中计数 / 本章场景总数 + 最典型场景名」——章级聚合后单点信息会丢,
|
|
279
|
+
* 而麦基口径下 R4 在成熟大纲里近乎恒真(「没有不转折的场景」),计数是判别信息的兜底(卡片 1.7)。
|
|
280
|
+
* **「最典型」判据 = 子树先序遍历第一个命中场景**(确定性;不做「冲突层最多」这类启发式猜测)。
|
|
281
|
+
* **可见性(卡片 1.8)**:软删节点**及其整棵子树**不参与任何规则(R1/R2 的 `subtreeIds`、
|
|
282
|
+
* R3/R4 的命中集/分母/最典型均只算未软删节点)——同 `suggest_hook_payoff` 的 `node.deleted` 过滤
|
|
283
|
+
* 与「查询类工具默认过滤软删对象」契约。
|
|
276
284
|
*/
|
|
277
285
|
export function runFindHookOpportunities(ctx, args, signal) {
|
|
278
286
|
const tree = readOutlineFile(ctx.outlineDir);
|
|
@@ -280,28 +288,68 @@ export function runFindHookOpportunities(ctx, args, signal) {
|
|
|
280
288
|
if (node === undefined || node.deleted === true)
|
|
281
289
|
return null;
|
|
282
290
|
throwIfAborted(signal);
|
|
291
|
+
if (node.type !== "chapter") {
|
|
292
|
+
throw new Error(`埋设机会分析仅支持章节点(卷/场景无章级叙事特征): ${args.outline_node_id}`);
|
|
293
|
+
}
|
|
294
|
+
// 子树节点集合(本章 + 其下场景);场景节点单独收集供 R3/R4 读麦基字段
|
|
295
|
+
// **软删子树整体跳过**(卡片 1.8):软删节点与其后代均不可见(大纲/实体可见性同款口径)——
|
|
296
|
+
// 否则软删场景会被计入 R3/R4 分母、并能当选「最典型」,subtreeIds 也会混入不可见节点
|
|
297
|
+
const subtreeIds = new Set([node.id]);
|
|
298
|
+
const scenes = [];
|
|
299
|
+
const collect = (children) => {
|
|
300
|
+
if (children === undefined)
|
|
301
|
+
return;
|
|
302
|
+
for (const child of children) {
|
|
303
|
+
if (child.deleted === true)
|
|
304
|
+
continue; // 软删节点不可见,其整棵子树一并不可见
|
|
305
|
+
subtreeIds.add(child.id);
|
|
306
|
+
if (child.type === "scene")
|
|
307
|
+
scenes.push(child);
|
|
308
|
+
collect(child.children);
|
|
309
|
+
}
|
|
310
|
+
};
|
|
311
|
+
collect(node.children);
|
|
283
312
|
const opportunities = [];
|
|
284
|
-
// R1
|
|
285
|
-
const plantsCount = listRelations(ctx.db, { sourceType: "outline_node",
|
|
313
|
+
// R1:本章(或其场景)尚无伏笔埋设
|
|
314
|
+
const plantsCount = listRelations(ctx.db, { sourceType: "outline_node", relationType: "plants" }, 1, ctx.outlineDir)
|
|
315
|
+
.relations.filter((r) => subtreeIds.has(r.sourceId)).length;
|
|
286
316
|
if (plantsCount === 0) {
|
|
287
|
-
opportunities.push({ category: "mystery", reason: "
|
|
317
|
+
opportunities.push({ category: "mystery", reason: "本章尚无伏笔埋设,适合设置悬念/谜团类伏笔(mystery)" });
|
|
288
318
|
}
|
|
289
|
-
// R2:在场角色数(appears_in 目标 =
|
|
290
|
-
const
|
|
291
|
-
|
|
292
|
-
|
|
319
|
+
// R2:在场角色数(appears_in 目标 = 本章或其场景;按角色去重)
|
|
320
|
+
const cast = new Set(listRelations(ctx.db, { targetType: "outline_node", relationType: "appears_in" }, 1, ctx.outlineDir)
|
|
321
|
+
.relations.filter((r) => subtreeIds.has(r.targetId))
|
|
322
|
+
.map((r) => r.sourceId));
|
|
323
|
+
if (cast.size >= 2) {
|
|
324
|
+
opportunities.push({ category: "relationship", reason: `本章有 ${cast.size} 个角色在场,适合人物关系类伏笔(relationship)` });
|
|
293
325
|
}
|
|
294
|
-
// R3
|
|
295
|
-
|
|
296
|
-
const
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
|
|
326
|
+
// R3:任一场景冲突含外部层面(命中集 + 最典型 = 先序第一个命中)
|
|
327
|
+
const extraPersonalHits = scenes.filter((scene) => {
|
|
328
|
+
const levels = scene.data?.conflict_levels;
|
|
329
|
+
return Array.isArray(levels) && levels.includes("extra_personal");
|
|
330
|
+
});
|
|
331
|
+
const typicalExtraPersonal = extraPersonalHits[0];
|
|
332
|
+
if (typicalExtraPersonal !== undefined) {
|
|
333
|
+
opportunities.push({
|
|
334
|
+
category: "world_building",
|
|
335
|
+
reason: `本章 ${extraPersonalHits.length}/${scenes.length} 个场景冲突含外部层面(extra_personal),` +
|
|
336
|
+
`最典型:${typicalExtraPersonal.title}——适合世界观类伏笔(world_building)`,
|
|
337
|
+
});
|
|
338
|
+
}
|
|
339
|
+
// R4:任一场景价值转向(命中集 + 最典型 = 先序第一个命中)
|
|
340
|
+
const shiftedHits = scenes.filter((scene) => {
|
|
341
|
+
const from = scene.data?.value_from;
|
|
342
|
+
const to = scene.data?.value_to;
|
|
343
|
+
return typeof from === "string" && from !== "" && typeof to === "string" && to !== "" && from !== to;
|
|
344
|
+
});
|
|
345
|
+
const typicalShifted = shiftedHits[0];
|
|
346
|
+
if (typicalShifted !== undefined) {
|
|
347
|
+
opportunities.push({
|
|
348
|
+
category: "character_growth",
|
|
349
|
+
reason: `本章 ${shiftedHits.length}/${scenes.length} 个场景价值转向,最典型:${typicalShifted.title}` +
|
|
350
|
+
`(${String(typicalShifted.data?.value_from)} → ${String(typicalShifted.data?.value_to)}),` +
|
|
351
|
+
`适合角色成长类伏笔(character_growth)`,
|
|
352
|
+
});
|
|
305
353
|
}
|
|
306
354
|
return { opportunities };
|
|
307
355
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hook.js","sourceRoot":"","sources":["../../src/analysis/hook.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"hook.js","sourceRoot":"","sources":["../../src/analysis/hook.ts"],"names":[],"mappings":"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"}
|
package/dist/analysis/utils.d.ts
CHANGED
|
@@ -39,7 +39,8 @@ export interface ChapterIndex {
|
|
|
39
39
|
* 当前章节(「当前章节」= project.json 的 current_position 所属章——
|
|
40
40
|
* 写作进度而非规划终点,与伏笔/孤儿工具口径一致):
|
|
41
41
|
* 1. current_position 已设置且可推导章号 → 该章序号
|
|
42
|
-
* 2. 未设置/节点不存在/无章号 →
|
|
42
|
+
* 2. 未设置/节点不存在/无章号 → 退化**最后一个未软删章**(合理默认;软删章不可作
|
|
43
|
+
* 写作进度基准——章号是位置序含软删章,可见性由本退化分支处理,卡片 2.7)
|
|
43
44
|
*/
|
|
44
45
|
currentChapter: number | null;
|
|
45
46
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/analysis/utils.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAmB,eAAe,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AACxG,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAEjD;;;;GAIG;AACH,qBAAa,YAAa,SAAQ,KAAK;gBACzB,OAAO,SAAqB;CAIzC;AAED;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,MAAM,CAAC,EAAE,WAAW,GAAG,IAAI,CAIzD;AAED,mFAAmF;AACnF,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAElD;AAED;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,SAAS,EAAE,SAAS,cAAc,EAAE,GAAG,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC,CAiB/F;AAED,0CAA0C;AAC1C,wBAAgB,aAAa,CAAC,CAAC,EAAE,CAAC,EAAE,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,WAAW,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAM1E;AAID;;;;;;GAMG;AACH,MAAM,WAAW,YAAY;IAC5B,2EAA2E;IAC1E,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC;IAC1C
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/analysis/utils.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAmB,eAAe,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AACxG,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAEjD;;;;GAIG;AACH,qBAAa,YAAa,SAAQ,KAAK;gBACzB,OAAO,SAAqB;CAIzC;AAED;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,MAAM,CAAC,EAAE,WAAW,GAAG,IAAI,CAIzD;AAED,mFAAmF;AACnF,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAElD;AAED;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,SAAS,EAAE,SAAS,cAAc,EAAE,GAAG,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC,CAiB/F;AAED,0CAA0C;AAC1C,wBAAgB,aAAa,CAAC,CAAC,EAAE,CAAC,EAAE,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,WAAW,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAM1E;AAID;;;;;;GAMG;AACH,MAAM,WAAW,YAAY;IAC5B,2EAA2E;IAC1E,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC;IAC1C;;;;;;MAME;IACD,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;CAC/B;AAED;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,WAAW,GAAG,YAAY,CAmDhE;AAED,yCAAyC;AACzC,wBAAgB,eAAe,CAAC,IAAI,EAAE,eAAe,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,CAG7E"}
|
package/dist/analysis/utils.js
CHANGED
|
@@ -104,14 +104,21 @@ export function buildChapterIndex(ctx) {
|
|
|
104
104
|
}
|
|
105
105
|
return null;
|
|
106
106
|
};
|
|
107
|
-
// 当前章节:current_position
|
|
107
|
+
// 当前章节:current_position 优先,退化**最后一个未软删章**(卡片 2.7:章号是位置序(含
|
|
108
|
+
// 软删章、不重排),可见性必须由退化分支自己处理——否则末章软删后 currentChapter 仍指被
|
|
109
|
+
// 删章的章号,虚报写作进度一章,连带 Hook age/dormancy 与孤儿诊断基准偏移)
|
|
108
110
|
let currentChapter = null;
|
|
109
111
|
const config = readProjectFile(ctx.outlineDir);
|
|
110
112
|
if (config !== null && config.current_position !== null && config.current_position !== "") {
|
|
111
113
|
currentChapter = chapterOf(config.current_position);
|
|
112
114
|
}
|
|
113
115
|
if (currentChapter === null) {
|
|
114
|
-
|
|
116
|
+
for (let i = order.length - 1; i >= 0; i--) {
|
|
117
|
+
if (deletedNodeIds.has(order[i].chapterId))
|
|
118
|
+
continue; // 软删章不可作写作进度基准
|
|
119
|
+
currentChapter = order[i].chapterNumber;
|
|
120
|
+
break;
|
|
121
|
+
}
|
|
115
122
|
}
|
|
116
123
|
return { chapterOf, currentChapter };
|
|
117
124
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/analysis/utils.ts"],"names":[],"mappings":"AAAA,4CAA4C;AAC5C,yCAAyC;AAEzC,OAAO,EAAE,kBAAkB,EAAE,eAAe,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAIpH;;;;GAIG;AACH,MAAM,OAAO,YAAa,SAAQ,KAAK;IACrC,YAAY,OAAO,GAAG,kBAAkB;QACtC,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,YAAY,CAAC;IAC3B,CAAC;CACF;AAED;;;;GAIG;AACH,MAAM,UAAU,cAAc,CAAC,MAAoB;IACjD,IAAI,MAAM,EAAE,OAAO,KAAK,IAAI,EAAE,CAAC;QAC7B,MAAM,IAAI,YAAY,EAAE,CAAC;IAC3B,CAAC;AACH,CAAC;AAED,mFAAmF;AACnF,MAAM,UAAU,YAAY,CAAC,IAAY;IACvC,OAAO,IAAI,KAAK,WAAW,IAAI,IAAI,KAAK,SAAS,IAAI,IAAI,KAAK,UAAU,IAAI,IAAI,KAAK,MAAM,CAAC;AAC9F,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,gBAAgB,CAAC,SAAoC;IACnE,MAAM,KAAK,GAAG,IAAI,GAAG,EAAuB,CAAC;IAC7C,MAAM,OAAO,GAAG,CAAC,CAAS,EAAE,CAAS,EAAQ,EAAE;QAC7C,IAAI,CAAC,KAAK,CAAC;YAAE,OAAO;QACpB,IAAI,SAAS,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QAC7B,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;YAC5B,SAAS,GAAG,IAAI,GAAG,EAAE,CAAC;YACtB,KAAK,CAAC,GAAG,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC;QAC1B,CAAC;QACD,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IACnB,CAAC,CAAC;IACF,KAAK,MAAM,CAAC,IAAI,SAAS,EAAE,CAAC;QAC1B,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,UAAU,CAAC;YAAE,SAAS;QACzE,OAAO,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC;QAChC,OAAO,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,UAAU;IAC7C,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,0CAA0C;AAC1C,MAAM,UAAU,aAAa,CAAI,CAAiB,EAAE,CAAiB;IACnE,MAAM,GAAG,GAAQ,EAAE,CAAC;IACpB,KAAK,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC;QAClB,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;YAAE,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAC5B,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/analysis/utils.ts"],"names":[],"mappings":"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"}
|
package/dist/context.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
// 工具执行上下文(S6.3 ToolContext 设计)
|
|
2
2
|
// 由上层(agent/server,S7)注入:db 访问 + outline.json 读取 + projectId。
|
|
3
3
|
// 工具实现只依赖本接口工作,不持有任何全局状态——同一实例可服务多次工具调用;
|
|
4
|
-
// projectId
|
|
4
|
+
// projectId = 当前打开项目的 id(提案绑定 project_id,S6.6 起提案工具已在用)。
|
|
5
5
|
//
|
|
6
6
|
// 注入方职责(S7.4 executor 组装):
|
|
7
7
|
// - db:当前项目的 data.db 连接(better-sqlite3 同步连接,查询层 API 直接使用)
|
package/dist/context.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"context.js","sourceRoot":"","sources":["../src/context.ts"],"names":[],"mappings":"AAAA,+BAA+B;AAC/B,8DAA8D;AAC9D,yCAAyC;AACzC,
|
|
1
|
+
{"version":3,"file":"context.js","sourceRoot":"","sources":["../src/context.ts"],"names":[],"mappings":"AAAA,+BAA+B;AAC/B,8DAA8D;AAC9D,yCAAyC;AACzC,yDAAyD;AACzD,EAAE;AACF,2BAA2B;AAC3B,0DAA0D;AAC1D,wCAAwC;AACxC,iDAAiD"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"delta.d.ts","sourceRoot":"","sources":["../../src/executor/delta.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"delta.d.ts","sourceRoot":"","sources":["../../src/executor/delta.ts"],"names":[],"mappings":"AAoBA,OAAO,EAA+B,KAAK,UAAU,EAAE,MAAM,YAAY,CAAC;AAE1E,0DAA0D;AAC1D,eAAO,MAAM,eAAe,EAAE,UAmB7B,CAAC"}
|
package/dist/executor/delta.js
CHANGED
|
@@ -2,19 +2,38 @@
|
|
|
2
2
|
// add_delta
|
|
3
3
|
//
|
|
4
4
|
// - node_id / target_type / target_id / changes 已由 S6.6 提案层派生规范化到 args
|
|
5
|
+
// - **锚点仅章(卡片 1.5)**:node_id 经 requireChapterNode 校验(存在 + 未软删 + chapter)——
|
|
6
|
+
// executor 直写 db **绕过 REST 校验**,而卡 1.4 后非章锚点的 Delta **静默不参与累积**
|
|
7
|
+
// (「写了但永远不算」,比报错更难排查);与 REST(server/routes/delta.ts)/ 提案层同口径
|
|
8
|
+
// - **事实字段兜底(卡片 5.4)**:经 `assertFactFieldsSetOnly` 拒非 `set` 的 hook.status 变更——
|
|
9
|
+
// 与锚点兜底同模式(同一事务内、校验先于写入):executor 直写 db 也绕过提案层守卫,
|
|
10
|
+
// 而该字段用 `update`+`from` 重放必然产生假 conflicts(详见 `docs/design/10-data-model.md` §4)
|
|
11
|
+
// - **character 已移除字段兜底(卡片 5.4 / 5.5)**:经 `assertRemovedCharacterFields` 拒 character 的
|
|
12
|
+
// `status`/`abilities`(手工构造 proposal 才可达)——守卫与白名单均与提案层同源(shared 常量)
|
|
5
13
|
// - description(delta_records NOT NULL):取 **proposal.summary** 作人类可读描述
|
|
6
14
|
// (S6.6 delta.ts 注释:由执行器取 summary——args 不带 description,提案摘要即变更描述)
|
|
7
15
|
// - order 由 db 层全局单调生成(insertDelta 事务内 MAX+1),此处无 order 入参
|
|
8
16
|
import { insertDelta } from "@whispering233/ai-editor-db";
|
|
17
|
+
import { assertFactFieldsSetOnly, assertRemovedCharacterFields } from "../proposal/delta.js";
|
|
18
|
+
import { requireChapterNode } from "../proposal/types.js";
|
|
9
19
|
import { requireArray, requireString } from "./types.js";
|
|
10
20
|
/** add_delta(add_delta(node_id, target, changes) → id) */
|
|
11
21
|
export const executeAddDelta = (ctx, proposal) => {
|
|
12
22
|
const args = proposal.args;
|
|
23
|
+
const nodeId = requireString(args, "node_id");
|
|
24
|
+
const targetType = requireString(args, "target_type");
|
|
25
|
+
const changes = requireArray(args, "changes"); // 提案层 schema 已校验 deltaChangeSchema
|
|
26
|
+
// 章级兜底:节点存在且未软删 + type === "chapter"(卷/场景拒绝)
|
|
27
|
+
requireChapterNode(ctx, nodeId, "变更记录锚点");
|
|
28
|
+
// 事实字段兜底(卡片 5.4):与提案层共用同一白名单与文案(executor 直写 db 绕过提案层)
|
|
29
|
+
assertFactFieldsSetOnly(targetType, changes);
|
|
30
|
+
// character 已移除字段兜底(卡片 5.4 / 5.5):同源守卫,补齐两层同口径
|
|
31
|
+
assertRemovedCharacterFields(targetType, changes);
|
|
13
32
|
const row = insertDelta(ctx.db, {
|
|
14
|
-
nodeId
|
|
15
|
-
targetType
|
|
33
|
+
nodeId,
|
|
34
|
+
targetType,
|
|
16
35
|
targetId: requireString(args, "target_id"),
|
|
17
|
-
changes
|
|
36
|
+
changes,
|
|
18
37
|
description: proposal.summary,
|
|
19
38
|
});
|
|
20
39
|
return { id: row.id };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"delta.js","sourceRoot":"","sources":["../../src/executor/delta.ts"],"names":[],"mappings":"AAAA,6BAA6B;AAC7B,YAAY;AACZ,EAAE;AACF,uEAAuE;AACvE,uEAAuE;AACvE,kEAAkE;AAClE,2DAA2D;AAE3D,OAAO,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAE1D,OAAO,EAAE,YAAY,EAAE,aAAa,EAAmB,MAAM,YAAY,CAAC;AAE1E,0DAA0D;AAC1D,MAAM,CAAC,MAAM,eAAe,GAAe,CAAC,GAAG,EAAE,QAAQ,EAAE,EAAE;IAC3D,MAAM,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC;IAC3B,MAAM,
|
|
1
|
+
{"version":3,"file":"delta.js","sourceRoot":"","sources":["../../src/executor/delta.ts"],"names":[],"mappings":"AAAA,6BAA6B;AAC7B,YAAY;AACZ,EAAE;AACF,uEAAuE;AACvE,2EAA2E;AAC3E,gEAAgE;AAChE,6DAA6D;AAC7D,+EAA+E;AAC/E,kDAAkD;AAClD,gFAAgF;AAChF,uFAAuF;AACvF,oEAAoE;AACpE,uEAAuE;AACvE,kEAAkE;AAClE,2DAA2D;AAE3D,OAAO,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAE1D,OAAO,EAAE,uBAAuB,EAAE,4BAA4B,EAAE,MAAM,sBAAsB,CAAC;AAC7F,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,YAAY,EAAE,aAAa,EAAmB,MAAM,YAAY,CAAC;AAE1E,0DAA0D;AAC1D,MAAM,CAAC,MAAM,eAAe,GAAe,CAAC,GAAG,EAAE,QAAQ,EAAE,EAAE;IAC3D,MAAM,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC;IAC3B,MAAM,MAAM,GAAG,aAAa,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;IAC9C,MAAM,UAAU,GAAG,aAAa,CAAC,IAAI,EAAE,aAAa,CAAC,CAAC;IACtD,MAAM,OAAO,GAAG,YAAY,CAAC,IAAI,EAAE,SAAS,CAAkB,CAAC,CAAC,mCAAmC;IACpG,6CAA6C;IAC5C,kBAAkB,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC;IAC3C,sDAAsD;IACrD,uBAAuB,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;IAC9C,+CAA+C;IAC9C,4BAA4B,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;IAClD,MAAM,GAAG,GAAG,WAAW,CAAC,GAAG,CAAC,EAAE,EAAE;QAC9B,MAAM;QACN,UAAU;QACV,QAAQ,EAAE,aAAa,CAAC,IAAI,EAAE,WAAW,CAAC;QAC1C,OAAO;QACP,WAAW,EAAE,QAAQ,CAAC,OAAO;KAC9B,CAAC,CAAC;IACH,OAAO,EAAE,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,CAAC;AACxB,CAAC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hook.d.ts","sourceRoot":"","sources":["../../src/executor/hook.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"hook.d.ts","sourceRoot":"","sources":["../../src/executor/hook.ts"],"names":[],"mappings":"AAwCA,OAAO,EAAiB,KAAK,UAAU,EAAuB,MAAM,YAAY,CAAC;AAgKjF,qEAAqE;AACrE,eAAO,MAAM,kBAAkB,EAAE,UACsC,CAAC;AAExE,qEAAqE;AACrE,eAAO,MAAM,kBAAkB,EAAE,UACmC,CAAC;AAErE,uFAAuF;AACvF,eAAO,MAAM,kBAAkB,EAAE,UAC8B,CAAC"}
|