@whispering233/ai-editor-shared 0.0.29 → 0.0.32

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 (58) hide show
  1. package/dist/constants/backup.d.ts +1 -1
  2. package/dist/constants/backup.d.ts.map +1 -1
  3. package/dist/constants/backup.js +1 -1
  4. package/dist/constants/backup.js.map +1 -1
  5. package/dist/constants/entity.d.ts +4 -4
  6. package/dist/constants/entity.d.ts.map +1 -1
  7. package/dist/constants/entity.js +4 -4
  8. package/dist/constants/entity.js.map +1 -1
  9. package/dist/constants/hook.d.ts +3 -3
  10. package/dist/constants/hook.d.ts.map +1 -1
  11. package/dist/constants/hook.js +3 -3
  12. package/dist/constants/hook.js.map +1 -1
  13. package/dist/constants/outline.d.ts +1 -1
  14. package/dist/constants/outline.d.ts.map +1 -1
  15. package/dist/constants/outline.js +1 -1
  16. package/dist/constants/outline.js.map +1 -1
  17. package/dist/constants/tool.d.ts +1 -1
  18. package/dist/constants/tool.js +3 -3
  19. package/dist/constants/tool.js.map +1 -1
  20. package/dist/types/api.d.ts +60 -106
  21. package/dist/types/api.d.ts.map +1 -1
  22. package/dist/types/api.js +83 -112
  23. package/dist/types/api.js.map +1 -1
  24. package/dist/types/entity.d.ts +19 -19
  25. package/dist/types/entity.d.ts.map +1 -1
  26. package/dist/types/index.d.ts +0 -2
  27. package/dist/types/index.d.ts.map +1 -1
  28. package/dist/types/outline.d.ts +5 -5
  29. package/dist/types/outline.d.ts.map +1 -1
  30. package/dist/types/project.d.ts +3 -3
  31. package/dist/utils/backup.d.ts +2 -2
  32. package/dist/utils/backup.js +5 -5
  33. package/dist/utils/backup.js.map +1 -1
  34. package/dist/utils/format.d.ts +2 -7
  35. package/dist/utils/format.d.ts.map +1 -1
  36. package/dist/utils/format.js +2 -11
  37. package/dist/utils/format.js.map +1 -1
  38. package/dist/utils/id.d.ts +5 -6
  39. package/dist/utils/id.d.ts.map +1 -1
  40. package/dist/utils/id.js +4 -5
  41. package/dist/utils/id.js.map +1 -1
  42. package/dist/utils/mapping.d.ts +2 -2
  43. package/dist/utils/mapping.d.ts.map +1 -1
  44. package/dist/utils/mapping.js +6 -6
  45. package/dist/utils/mapping.js.map +1 -1
  46. package/dist/utils/reference-file.d.ts +1 -1
  47. package/dist/utils/reference-file.d.ts.map +1 -1
  48. package/dist/utils/reference-file.js +4 -4
  49. package/dist/utils/reference-file.js.map +1 -1
  50. package/package.json +1 -5
  51. package/dist/types/chat.d.ts +0 -42
  52. package/dist/types/chat.d.ts.map +0 -1
  53. package/dist/types/chat.js +0 -3
  54. package/dist/types/chat.js.map +0 -1
  55. package/dist/types/tool.d.ts +0 -356
  56. package/dist/types/tool.d.ts.map +0 -1
  57. package/dist/types/tool.js +0 -332
  58. package/dist/types/tool.js.map +0 -1
@@ -1,332 +0,0 @@
1
- // AI 工具参数 Zod schema(@whispering233/ai-editor-shared/types/tool.ts,S6.3)
2
- // **导出边界**:运行时 schema 仅经 @whispering233/ai-editor-shared/schemas/tools 子路径导出(供服务端
3
- // tools 包/executor 使用);types/index.ts 的 type-only barrel 只导出推断类型——
4
- // client 浏览器包不打包 zod 校验函数(与 types/api.ts 同款约束,见 index.ts 头注释)。
5
- import { z } from "zod";
6
- import { ENTITY_TYPES, RELATION_TYPES } from "../constants/entity.js";
7
- import { deltaChangeSchema } from "./api.js"; // 复用 delta 单条变更 schema(api.ts 已导出)
8
- // ============ get_entity(实体详情,「实体查询」) ============
9
- /** get_entity 入参:type(实体类型)+ id;id 前缀体系全局唯一,type 用于回显与一致性校验 */
10
- export const getEntityArgsSchema = z
11
- .object({
12
- type: z.enum(ENTITY_TYPES),
13
- id: z.string(),
14
- })
15
- .strict();
16
- // ============ search_entities(实体搜索,「实体查询」) ============
17
- /**
18
- * search_entities 入参:type + query(name 模糊匹配)+ filters(data 字段过滤)
19
- * filters.status:data.status 字符串相等匹配;filters.tags:data.tags 数组须包含全部指定 tags(AND)
20
- */
21
- export const searchEntitiesArgsSchema = z
22
- .object({
23
- type: z.enum(ENTITY_TYPES),
24
- query: z.string(),
25
- filters: z
26
- .object({
27
- tags: z.array(z.string()).optional(),
28
- status: z.string().optional(),
29
- })
30
- .optional(),
31
- })
32
- .strict();
33
- // ============ query_relationships(关系图子图,「关系查询」) ============
34
- /**
35
- * query_relationships 入参:source_type/target_type 为自由字符串(实体类型或 outline_node);
36
- * relation_type 用 z.enum(RELATION_TYPES) **白名单校验**( 预定义 16 种,
37
- * 与 REST relationQuerySchema 的宽松 string 不同——工具参数由 LLM 生成,枚举提前拦非法值);
38
- * depth 1=紧邻 / 2=k跳 / 3=全量(必填,与 API 层一致)
39
- */
40
- export const queryRelationshipsArgsSchema = z
41
- .object({
42
- source_type: z.string().optional(),
43
- source_id: z.string().optional(),
44
- target_type: z.string().optional(),
45
- target_id: z.string().optional(),
46
- relation_type: z.enum(RELATION_TYPES).optional(),
47
- depth: z.union([z.literal(1), z.literal(2), z.literal(3)]),
48
- })
49
- .strict();
50
- // ============ get_outline(完整大纲树,「大纲查询」) ============
51
- /** get_outline 入参:无参;默认不含 metadata 统计(省 token,需统计走 API with_metadata) */
52
- export const getOutlineArgsSchema = z.object({}).strict();
53
- // ============ get_outline_path(节点路径,「大纲查询」) ============
54
- /** get_outline_path 入参:node_id(根 → 该节点的路径 ID 列表,含 root) */
55
- export const getOutlinePathArgsSchema = z
56
- .object({
57
- node_id: z.string(),
58
- })
59
- .strict();
60
- // ============ compute_state(状态计算,「状态查询」) ============
61
- /**
62
- * compute_state 入参(与 POST /api/v1/delta/compute 同构,api.ts deltaComputeReqSchema):
63
- * 目标实体到达 at_node_id 时的累积状态(只沿大纲树父链累积已确认 Delta)
64
- */
65
- export const computeStateArgsSchema = z
66
- .object({
67
- target_type: z.string(),
68
- target_id: z.string(),
69
- at_node_id: z.string(),
70
- })
71
- .strict();
72
- // ============ get_delta_history(Delta 历史,「状态查询」) ============
73
- /** get_delta_history 入参:target_type + target_id(该实体的全部属性变更记录,按时间/节点排序) */
74
- export const getDeltaHistoryArgsSchema = z
75
- .object({
76
- target_type: z.string(),
77
- target_id: z.string(),
78
- })
79
- .strict();
80
- // ============ get_entity_summary(聚合统计,「聚合分析」) ============
81
- /** get_entity_summary 入参:type(指定类型实体的统计数据:总数 + 类型专属分布) */
82
- export const getEntitySummaryArgsSchema = z
83
- .object({
84
- type: z.enum(ENTITY_TYPES),
85
- })
86
- .strict();
87
- // ============ 分析类工具(「分析类(自动)」,S6.4) ============
88
- // === analyze_consistency(一致性分析) ===
89
- /** analyze_consistency 入参:entity_id(检查该实体档案内部的矛盾,如性格反义词对/状态冲突) */
90
- export const analyzeConsistencyArgsSchema = z
91
- .object({
92
- entity_id: z.string(),
93
- })
94
- .strict();
95
- // === detect_conflicts(跨实体矛盾检测) ===
96
- /**
97
- * detect_conflicts 入参:types 限定参与检测的实体类型(缺省全部);
98
- * relation_filter 限定参与检测的关系类型(缺省用内置对称/互斥/互杀规则集)。
99
- * 检测对象:对称关系单向缺失(ally/family)、互斥关系并存(ally+rival)、互杀(kills×2)。
100
- */
101
- export const detectConflictsArgsSchema = z
102
- .object({
103
- types: z.array(z.enum(ENTITY_TYPES)).optional(),
104
- relation_filter: z.array(z.enum(RELATION_TYPES)).optional(),
105
- })
106
- .strict();
107
- // === trace_plot_paths(剧情路径推演) ===
108
- /** trace_plot_paths 入参:from_node_id → to_node_id(大纲节点;输出树路径 + plot_edge 连线路径) */
109
- export const tracePlotPathsArgsSchema = z
110
- .object({
111
- from_node_id: z.string(),
112
- to_node_id: z.string(),
113
- })
114
- .strict();
115
- // === find_orphan_elements(孤立元素诊断) ===
116
- /** find_orphan_elements 入参:无参(全项目扫描:闲置角色/未解决变更/悬空关系/跨存储软删不一致) */
117
- export const findOrphanElementsArgsSchema = z.object({}).strict();
118
- // === suggest_connections(关系发现) ===
119
- /** suggest_connections 入参:entity_id(基于共享场景/共同邻居/同分类等信号建议潜在关联) */
120
- export const suggestConnectionsArgsSchema = z
121
- .object({
122
- entity_id: z.string(),
123
- })
124
- .strict();
125
- // ============ 伏笔分析工具(「工具扩展」+ ,S6.5) ============
126
- // === analyze_hook_health(伏笔健康总览) ===
127
- /** analyze_hook_health 入参:无参(全项目活跃伏笔健康总览:stale/overdue/blocked/warnings) */
128
- export const analyzeHookHealthArgsSchema = z.object({}).strict();
129
- // === trace_hook_lifecycle(生命周期追踪) ===
130
- /** trace_hook_lifecycle 入参:hook_id(埋设/推进/回收节点 + 休眠章数 + 时间线图) */
131
- export const traceHookLifecycleArgsSchema = z
132
- .object({
133
- hook_id: z.string(),
134
- })
135
- .strict();
136
- // === suggest_hook_payoff(回收建议) ===
137
- /** suggest_hook_payoff 入参:hook_id(基于埋设章节与半衰期推荐理想回收场景,top 3) */
138
- export const suggestHookPayoffArgsSchema = z
139
- .object({
140
- hook_id: z.string(),
141
- })
142
- .strict();
143
- // === find_hook_opportunities(埋设机会发现) ===
144
- /** find_hook_opportunities 入参:outline_node_id(分析节点叙事特征,建议适合的伏笔类别) */
145
- export const findHookOpportunitiesArgsSchema = z
146
- .object({
147
- outline_node_id: z.string(),
148
- })
149
- .strict();
150
- // === detect_hook_conflicts(伏笔矛盾检测) ===
151
- /** detect_hook_conflicts 入参:无参(依赖循环/依赖废弃/时间悖论检测) */
152
- export const detectHookConflictsArgsSchema = z.object({}).strict();
153
- // ============ 提案类工具(「提案类(需确认)」+ 「工具扩展」提案类,S6.6) ============
154
- //
155
- // 语义(「返回语义」2026-08 修订):AI **不能直接修改数据**——propose_* 仅产出
156
- // 提案对象(proposal_id + 一句话摘要),tool_result 不含预览细节(避免 LLM 误以为提案已生效
157
- // 而重复提案);完整预览只经 SSE proposal 事件推送 GUI(S7 实现)。
158
- // 参数签名与 逐字对齐(propose_add_relation(source, target, type, metadata?) 等):
159
- // 端点 id(source/target/plant_at_node_id 等)由服务端在生成时自动识别实体/大纲节点类型
160
- // 并采集 updated_at 快照,故入参只需 id 字符串。
161
- // patches(部分更新字段)拒绝空对象——空补丁提案无意义(生成时校验)。
162
- // === propose_create_entity(创建实体提案) ===
163
- /** 入参:type(实体类型)+ name(必填)+ data(可选自定义字段) */
164
- export const proposeCreateEntityArgsSchema = z
165
- .object({
166
- type: z.enum(ENTITY_TYPES),
167
- name: z.string().min(1),
168
- data: z.record(z.string(), z.unknown()).optional(),
169
- })
170
- .strict();
171
- // === propose_update_entity(更新实体提案) ===
172
- /** 入参:entity_id + patches(data 部分字段,至少一项);快照校验基于实体自身 updated_at */
173
- export const proposeUpdateEntityArgsSchema = z
174
- .object({
175
- entity_id: z.string(),
176
- patches: z.record(z.string(), z.unknown()).refine((p) => Object.keys(p).length > 0, {
177
- message: "patches 不能为空(至少一项变更)",
178
- }),
179
- })
180
- .strict();
181
- // === propose_delete_entity(删除实体提案) ===
182
- /** 入参:entity_id(软删 + 级联,可回收站还原) */
183
- export const proposeDeleteEntityArgsSchema = z
184
- .object({
185
- entity_id: z.string(),
186
- })
187
- .strict();
188
- // === propose_add_relation(新增关系提案) ===
189
- /**
190
- * 入参:source/target 为端点 id(实体 id 或大纲节点 id,类型生成时自动识别);
191
- * type 白名单(RELATION_TYPES 16 种,含 plot_edge/plants/advances/resolves);metadata 可选
192
- */
193
- export const proposeAddRelationArgsSchema = z
194
- .object({
195
- source: z.string(),
196
- target: z.string(),
197
- type: z.enum(RELATION_TYPES),
198
- metadata: z.record(z.string(), z.unknown()).optional(),
199
- })
200
- .strict();
201
- // === propose_remove_relation(移除关系提案) ===
202
- /** 入参:relation_id(手动删关系 = 物理删,不进回收站) */
203
- export const proposeRemoveRelationArgsSchema = z
204
- .object({
205
- relation_id: z.string(),
206
- })
207
- .strict();
208
- // === propose_add_delta(追加属性变更提案) ===
209
- /** 入参:node_id(触发节点)+ target(变更目标 id,实体或大纲节点)+ changes(至少一项,复用 deltaChangeSchema) */
210
- export const proposeAddDeltaArgsSchema = z
211
- .object({
212
- node_id: z.string(),
213
- target: z.string(),
214
- changes: z.array(deltaChangeSchema).min(1),
215
- })
216
- .strict();
217
- // === propose_outline_node(新增大纲节点提案) ===
218
- /** 入参:type(volume|chapter|scene)+ title + parent_id(缺省挂根;scene 必须挂 chapter) */
219
- export const proposeOutlineNodeArgsSchema = z
220
- .object({
221
- type: z.enum(["volume", "chapter", "scene"]),
222
- title: z.string().min(1),
223
- parent_id: z.string().optional(),
224
- })
225
- .strict();
226
- // === propose_move_node(移动大纲节点提案) ===
227
- /**
228
- * 入参:node_id + parent_id(目标父节点,**可为 "root"**—— 允许 volume/chapter 挂根,
229
- * db moveOutlineNode 支持 parentId === "root")+ order(目标位置,0 起)。
230
- * order 无范围上限:超出目标父 children 长度的行为(clamp 或抛错)由 S6.7/db 执行时定义,
231
- * 生成时校验不做上限(提案只承载意图,合法性由执行层兜底)。
232
- */
233
- export const proposeMoveNodeArgsSchema = z
234
- .object({
235
- node_id: z.string(),
236
- parent_id: z.string(),
237
- order: z.number().int().min(0),
238
- })
239
- .strict();
240
- // === propose_delete_node(删除大纲节点提案) ===
241
- /** 入参:node_id(软删 + 递归子树,可回收站还原) */
242
- export const proposeDeleteNodeArgsSchema = z
243
- .object({
244
- node_id: z.string(),
245
- })
246
- .strict();
247
- // === propose_create_hook(创建伏笔提案,「工具扩展」提案类) ===
248
- /** 入参:name + data(可选伏笔字段,如 payoff_timing/half_life/expected_resolve_node_id)+ plant_at_node_id(可选埋设节点) */
249
- export const proposeCreateHookArgsSchema = z
250
- .object({
251
- name: z.string().min(1),
252
- data: z.record(z.string(), z.unknown()).optional(),
253
- plant_at_node_id: z.string().optional(),
254
- })
255
- .strict();
256
- // === propose_update_hook(更新伏笔提案) ===
257
- /** 入参:hook_id + patches(data 部分字段,至少一项);快照校验基于伏笔实体自身 updated_at */
258
- export const proposeUpdateHookArgsSchema = z
259
- .object({
260
- hook_id: z.string(),
261
- patches: z.record(z.string(), z.unknown()).refine((p) => Object.keys(p).length > 0, {
262
- message: "patches 不能为空(至少一项变更)",
263
- }),
264
- })
265
- .strict();
266
- // === propose_advance_hook(推进伏笔提案) ===
267
- /** 入参:hook_id + node_id(推进发生的节点)+ description(推进内容描述;确认后复合写 delta+relations,) */
268
- export const proposeAdvanceHookArgsSchema = z
269
- .object({
270
- hook_id: z.string(),
271
- node_id: z.string(),
272
- description: z.string().min(1),
273
- })
274
- .strict();
275
- // === propose_resolve_hook(回收伏笔提案) ===
276
- /** 入参:hook_id + node_id(回收节点)+ description(回收内容描述;确认后复合写 delta+relations,) */
277
- export const proposeResolveHookArgsSchema = z
278
- .object({
279
- hook_id: z.string(),
280
- node_id: z.string(),
281
- description: z.string().min(1),
282
- })
283
- .strict();
284
- // === propose_abandon_hook(废弃伏笔提案) ===
285
- /** 入参:hook_id + description(废弃原因;确认后复合写 delta 记 status=abandoned,) */
286
- export const proposeAbandonHookArgsSchema = z
287
- .object({
288
- hook_id: z.string(),
289
- description: z.string().min(1),
290
- })
291
- .strict();
292
- // === propose_reorder_timepoints(时间轴时间点重排提案,G2,注记) ===
293
- /**
294
- * 入参:timepoint_ids——LLM 按时间点 name(时间标签文本)语义识别先后后产出的
295
- * **有序时间点 id 全量序列**(顺序 = 建议新序,须覆盖当前全部未软删时间点,缺/多/重复
296
- * 由生成时校验拒绝);200 = 时间点量上限,与列表 limit 对齐( )。
297
- * G2 取代 F9 的 propose_reorder_events:事件不再带 time_label,语义序的载体变为时间点实体
298
- */
299
- export const proposeReorderTimepointsArgsSchema = z
300
- .object({
301
- timepoint_ids: z.array(z.string()).min(1).max(200),
302
- })
303
- .strict();
304
- // ============ search_references(参考资料搜索,,批次九) ============
305
- /**
306
- * search_references 入参:query 关键词(标题+tags 命中)+ 可选 type 分类过滤(自由文本,
307
- * 原预置枚举已取消,建议沿用项目内已有分类)+ 可选 tags 过滤。
308
- * 返回摘要列表(content 摘要截断 120 字由 db toSummary 承担——全文长文本不随列表返回,防 token 膨胀)
309
- */
310
- export const searchReferencesArgsSchema = z
311
- .object({
312
- query: z.string(),
313
- type: z.string().optional(),
314
- tags: z.array(z.string()).optional(),
315
- })
316
- .strict();
317
- // === propose_create_reference(创建参考资料提案) ===
318
- /**
319
- * 入参:name 标题(必填)+ type 分类(自由文本,原枚举已取消,建议沿用项目内已有分类,
320
- * 缺省 material 写入侧兜底)+ content 全文长文本 +
321
- * source 来源(可选)+ tags 标签数组(可选)。无引用对象(新实体 id 由执行时生成)。
322
- */
323
- export const proposeCreateReferenceArgsSchema = z
324
- .object({
325
- name: z.string().min(1),
326
- type: z.string().optional(),
327
- content: z.string().optional(),
328
- source: z.string().nullable().optional(),
329
- tags: z.array(z.string()).optional(),
330
- })
331
- .strict();
332
- //# sourceMappingURL=tool.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"tool.js","sourceRoot":"","sources":["../../src/types/tool.ts"],"names":[],"mappings":"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"}