@whispering233/ai-editor-shared 0.0.1

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 (69) hide show
  1. package/dist/constants/entity.d.ts +21 -0
  2. package/dist/constants/entity.d.ts.map +1 -0
  3. package/dist/constants/entity.js +35 -0
  4. package/dist/constants/entity.js.map +1 -0
  5. package/dist/constants/hook.d.ts +21 -0
  6. package/dist/constants/hook.d.ts.map +1 -0
  7. package/dist/constants/hook.js +35 -0
  8. package/dist/constants/hook.js.map +1 -0
  9. package/dist/constants/index.d.ts +5 -0
  10. package/dist/constants/index.d.ts.map +1 -0
  11. package/dist/constants/index.js +7 -0
  12. package/dist/constants/index.js.map +1 -0
  13. package/dist/constants/outline.d.ts +5 -0
  14. package/dist/constants/outline.d.ts.map +1 -0
  15. package/dist/constants/outline.js +7 -0
  16. package/dist/constants/outline.js.map +1 -0
  17. package/dist/constants/tool.d.ts +35 -0
  18. package/dist/constants/tool.d.ts.map +1 -0
  19. package/dist/constants/tool.js +82 -0
  20. package/dist/constants/tool.js.map +1 -0
  21. package/dist/index.d.ts +6 -0
  22. package/dist/index.d.ts.map +1 -0
  23. package/dist/index.js +5 -0
  24. package/dist/index.js.map +1 -0
  25. package/dist/types/api.d.ts +728 -0
  26. package/dist/types/api.d.ts.map +1 -0
  27. package/dist/types/api.js +693 -0
  28. package/dist/types/api.js.map +1 -0
  29. package/dist/types/chat.d.ts +42 -0
  30. package/dist/types/chat.d.ts.map +1 -0
  31. package/dist/types/chat.js +4 -0
  32. package/dist/types/chat.js.map +1 -0
  33. package/dist/types/entity.d.ts +179 -0
  34. package/dist/types/entity.d.ts.map +1 -0
  35. package/dist/types/entity.js +6 -0
  36. package/dist/types/entity.js.map +1 -0
  37. package/dist/types/index.d.ts +7 -0
  38. package/dist/types/index.d.ts.map +1 -0
  39. package/dist/types/index.js +2 -0
  40. package/dist/types/index.js.map +1 -0
  41. package/dist/types/outline.d.ts +99 -0
  42. package/dist/types/outline.d.ts.map +1 -0
  43. package/dist/types/outline.js +6 -0
  44. package/dist/types/outline.js.map +1 -0
  45. package/dist/types/project.d.ts +33 -0
  46. package/dist/types/project.d.ts.map +1 -0
  47. package/dist/types/project.js +4 -0
  48. package/dist/types/project.js.map +1 -0
  49. package/dist/types/tool.d.ts +304 -0
  50. package/dist/types/tool.d.ts.map +1 -0
  51. package/dist/types/tool.js +296 -0
  52. package/dist/types/tool.js.map +1 -0
  53. package/dist/utils/format.d.ts +23 -0
  54. package/dist/utils/format.d.ts.map +1 -0
  55. package/dist/utils/format.js +57 -0
  56. package/dist/utils/format.js.map +1 -0
  57. package/dist/utils/id.d.ts +28 -0
  58. package/dist/utils/id.d.ts.map +1 -0
  59. package/dist/utils/id.js +48 -0
  60. package/dist/utils/id.js.map +1 -0
  61. package/dist/utils/index.d.ts +4 -0
  62. package/dist/utils/index.d.ts.map +1 -0
  63. package/dist/utils/index.js +6 -0
  64. package/dist/utils/index.js.map +1 -0
  65. package/dist/utils/mapping.d.ts +28 -0
  66. package/dist/utils/mapping.d.ts.map +1 -0
  67. package/dist/utils/mapping.js +223 -0
  68. package/dist/utils/mapping.js.map +1 -0
  69. package/package.json +42 -0
@@ -0,0 +1,21 @@
1
+ /** 实体类型(entities 表 type 列 CHECK 约束,schema.md) */
2
+ export declare const ENTITY_TYPES: readonly ["character", "setting", "location", "hook"];
3
+ /** 实体类型(单数,从常量派生;与 types/entity.ts 的 EntityType 一致,测试断言保证) */
4
+ export type EntityTypeValue = (typeof ENTITY_TYPES)[number];
5
+ /**
6
+ * 预定义关系类型(schema.md 关系类型表,共 16 个)
7
+ * belongs_to 所属 / owns 拥有 / masters 掌握 / ally·rival·mentor·family 人物间 /
8
+ * kills 击杀 / appears_in 出现于大纲节点 / occurs_at 发生在地点 /
9
+ * plot_edge 剧情连线(画布推演)/ plants·advances·resolves 伏笔管理 /
10
+ * depends_on 伏笔依赖 / involves 伏笔涉及
11
+ */
12
+ export declare const RELATION_TYPES: readonly ["belongs_to", "owns", "masters", "ally", "rival", "mentor", "family", "kills", "appears_in", "occurs_at", "plot_edge", "plants", "advances", "resolves", "depends_on", "involves"];
13
+ /** 关系类型(从 RELATION_TYPES 派生) */
14
+ export type RelationType = (typeof RELATION_TYPES)[number];
15
+ /** 剧情连线关系类型(决策 10:画布连线用 plot_edge,metadata 存连线标签) */
16
+ export declare const PLOT_EDGE_TYPE: "plot_edge";
17
+ /** 伏笔管理关系(hooks.md 伏笔关系约定:大纲节点 → hook) */
18
+ export declare const HOOK_RELATION_TYPES: readonly ["plants", "advances", "resolves"];
19
+ /** 伏笔管理关系类型 */
20
+ export type HookRelationType = (typeof HOOK_RELATION_TYPES)[number];
21
+ //# sourceMappingURL=entity.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"entity.d.ts","sourceRoot":"","sources":["../../src/constants/entity.ts"],"names":[],"mappings":"AAIA,iDAAiD;AACjD,eAAO,MAAM,YAAY,uDAAwD,CAAC;AAElF,8DAA8D;AAC9D,MAAM,MAAM,eAAe,GAAG,CAAC,OAAO,YAAY,CAAC,CAAC,MAAM,CAAC,CAAC;AAE5D;;;;;;GAMG;AACH,eAAO,MAAM,cAAc,8LAiBjB,CAAC;AAEX,gCAAgC;AAChC,MAAM,MAAM,YAAY,GAAG,CAAC,OAAO,cAAc,CAAC,CAAC,MAAM,CAAC,CAAC;AAE3D,qDAAqD;AACrD,eAAO,MAAM,cAAc,EAAG,WAAoB,CAAC;AAEnD,0CAA0C;AAC1C,eAAO,MAAM,mBAAmB,6CAA8C,CAAC;AAE/E,eAAe;AACf,MAAM,MAAM,gBAAgB,GAAG,CAAC,OAAO,mBAAmB,CAAC,CAAC,MAAM,CAAC,CAAC"}
@@ -0,0 +1,35 @@
1
+ // 实体 / 关系常量
2
+ // 契约来源:doc/database/schema.md(entities 表 type CHECK、预定义关系类型表第 66-80 行)
3
+ // 常量命名 UPPER_SNAKE_CASE,as const 保持字面量类型
4
+ /** 实体类型(entities 表 type 列 CHECK 约束,schema.md) */
5
+ export const ENTITY_TYPES = ["character", "setting", "location", "hook"];
6
+ /**
7
+ * 预定义关系类型(schema.md 关系类型表,共 16 个)
8
+ * belongs_to 所属 / owns 拥有 / masters 掌握 / ally·rival·mentor·family 人物间 /
9
+ * kills 击杀 / appears_in 出现于大纲节点 / occurs_at 发生在地点 /
10
+ * plot_edge 剧情连线(画布推演)/ plants·advances·resolves 伏笔管理 /
11
+ * depends_on 伏笔依赖 / involves 伏笔涉及
12
+ */
13
+ export const RELATION_TYPES = [
14
+ "belongs_to",
15
+ "owns",
16
+ "masters",
17
+ "ally",
18
+ "rival",
19
+ "mentor",
20
+ "family",
21
+ "kills",
22
+ "appears_in",
23
+ "occurs_at",
24
+ "plot_edge",
25
+ "plants",
26
+ "advances",
27
+ "resolves",
28
+ "depends_on",
29
+ "involves",
30
+ ];
31
+ /** 剧情连线关系类型(决策 10:画布连线用 plot_edge,metadata 存连线标签) */
32
+ export const PLOT_EDGE_TYPE = "plot_edge";
33
+ /** 伏笔管理关系(hooks.md 伏笔关系约定:大纲节点 → hook) */
34
+ export const HOOK_RELATION_TYPES = ["plants", "advances", "resolves"];
35
+ //# sourceMappingURL=entity.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"entity.js","sourceRoot":"","sources":["../../src/constants/entity.ts"],"names":[],"mappings":"AAAA,YAAY;AACZ,uEAAuE;AACvE,yCAAyC;AAEzC,iDAAiD;AACjD,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,WAAW,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,CAAU,CAAC;AAKlF;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG;IAC5B,YAAY;IACZ,MAAM;IACN,SAAS;IACT,MAAM;IACN,OAAO;IACP,QAAQ;IACR,QAAQ;IACR,OAAO;IACP,YAAY;IACZ,WAAW;IACX,WAAW;IACX,QAAQ;IACR,UAAU;IACV,UAAU;IACV,YAAY;IACZ,UAAU;CACF,CAAC;AAKX,qDAAqD;AACrD,MAAM,CAAC,MAAM,cAAc,GAAG,WAAoB,CAAC;AAEnD,0CAA0C;AAC1C,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,QAAQ,EAAE,UAAU,EAAE,UAAU,CAAU,CAAC"}
@@ -0,0 +1,21 @@
1
+ /** 伏笔状态枚举(hooks.md:planted → progressing → resolved 或 abandoned) */
2
+ export declare const HOOK_STATUSES: readonly ["planted", "progressing", "resolved", "abandoned"];
3
+ /** 伏笔状态 */
4
+ export type HookStatus = (typeof HOOK_STATUSES)[number];
5
+ /** 回收节奏枚举(hooks.md payoff_timing) */
6
+ export declare const PAYOFF_TIMING: readonly ["immediate", "near_term", "mid_arc", "slow_burn", "endgame"];
7
+ /** 回收节奏 */
8
+ export type PayoffTiming = (typeof PAYOFF_TIMING)[number];
9
+ /**
10
+ * half_life 缺省映射(决策 21,单位:章)
11
+ * 显式 half_life 优先;未设置时按 payoff_timing 取此映射默认值。
12
+ * immediate=3 / near_term=8 / mid_arc=15 / slow_burn=25 / endgame=40
13
+ */
14
+ export declare const DEFAULT_HALF_LIFE: Record<PayoffTiming, number>;
15
+ /**
16
+ * 伏笔分类建议值(hooks.md:category 自由填,本常量仅为前端选择器建议值,非校验约束)
17
+ */
18
+ export declare const HOOK_CATEGORIES: readonly ["mystery", "relationship", "item", "character_growth", "world_building"];
19
+ /** 伏笔分类(建议值) */
20
+ export type HookCategory = (typeof HOOK_CATEGORIES)[number];
21
+ //# sourceMappingURL=hook.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hook.d.ts","sourceRoot":"","sources":["../../src/constants/hook.ts"],"names":[],"mappings":"AAGA,oEAAoE;AACpE,eAAO,MAAM,aAAa,8DAA+D,CAAC;AAE1F,WAAW;AACX,MAAM,MAAM,UAAU,GAAG,CAAC,OAAO,aAAa,CAAC,CAAC,MAAM,CAAC,CAAC;AAExD,qCAAqC;AACrC,eAAO,MAAM,aAAa,wEAMhB,CAAC;AAEX,WAAW;AACX,MAAM,MAAM,YAAY,GAAG,CAAC,OAAO,aAAa,CAAC,CAAC,MAAM,CAAC,CAAC;AAE1D;;;;GAIG;AACH,eAAO,MAAM,iBAAiB,EAAE,MAAM,CAAC,YAAY,EAAE,MAAM,CAM1D,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,eAAe,oFAMlB,CAAC;AAEX,gBAAgB;AAChB,MAAM,MAAM,YAAY,GAAG,CAAC,OAAO,eAAe,CAAC,CAAC,MAAM,CAAC,CAAC"}
@@ -0,0 +1,35 @@
1
+ // 伏笔(Hook)系统常量
2
+ // 契约来源:doc/database/hooks.md(hook data 字段)、doc/design/decisions.md 决策 21(half_life 缺省映射)
3
+ /** 伏笔状态枚举(hooks.md:planted → progressing → resolved 或 abandoned) */
4
+ export const HOOK_STATUSES = ["planted", "progressing", "resolved", "abandoned"];
5
+ /** 回收节奏枚举(hooks.md payoff_timing) */
6
+ export const PAYOFF_TIMING = [
7
+ "immediate",
8
+ "near_term",
9
+ "mid_arc",
10
+ "slow_burn",
11
+ "endgame",
12
+ ];
13
+ /**
14
+ * half_life 缺省映射(决策 21,单位:章)
15
+ * 显式 half_life 优先;未设置时按 payoff_timing 取此映射默认值。
16
+ * immediate=3 / near_term=8 / mid_arc=15 / slow_burn=25 / endgame=40
17
+ */
18
+ export const DEFAULT_HALF_LIFE = {
19
+ immediate: 3,
20
+ near_term: 8,
21
+ mid_arc: 15,
22
+ slow_burn: 25,
23
+ endgame: 40,
24
+ };
25
+ /**
26
+ * 伏笔分类建议值(hooks.md:category 自由填,本常量仅为前端选择器建议值,非校验约束)
27
+ */
28
+ export const HOOK_CATEGORIES = [
29
+ "mystery",
30
+ "relationship",
31
+ "item",
32
+ "character_growth",
33
+ "world_building",
34
+ ];
35
+ //# sourceMappingURL=hook.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hook.js","sourceRoot":"","sources":["../../src/constants/hook.ts"],"names":[],"mappings":"AAAA,eAAe;AACf,yFAAyF;AAEzF,oEAAoE;AACpE,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,SAAS,EAAE,aAAa,EAAE,UAAU,EAAE,WAAW,CAAU,CAAC;AAK1F,qCAAqC;AACrC,MAAM,CAAC,MAAM,aAAa,GAAG;IAC3B,WAAW;IACX,WAAW;IACX,SAAS;IACT,WAAW;IACX,SAAS;CACD,CAAC;AAKX;;;;GAIG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAiC;IAC7D,SAAS,EAAE,CAAC;IACZ,SAAS,EAAE,CAAC;IACZ,OAAO,EAAE,EAAE;IACX,SAAS,EAAE,EAAE;IACb,OAAO,EAAE,EAAE;CACZ,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG;IAC7B,SAAS;IACT,cAAc;IACd,MAAM;IACN,kBAAkB;IAClB,gBAAgB;CACR,CAAC"}
@@ -0,0 +1,5 @@
1
+ export * from "./entity.js";
2
+ export * from "./hook.js";
3
+ export * from "./tool.js";
4
+ export * from "./outline.js";
5
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/constants/index.ts"],"names":[],"mappings":"AAEA,cAAc,aAAa,CAAC;AAC5B,cAAc,WAAW,CAAC;AAC1B,cAAc,WAAW,CAAC;AAC1B,cAAc,cAAc,CAAC"}
@@ -0,0 +1,7 @@
1
+ // 常量聚合出口
2
+ // 文件划分见 doc/design/architecture.md(constants/:entity.ts / hook.ts / tool.ts / outline.ts)
3
+ export * from "./entity.js";
4
+ export * from "./hook.js";
5
+ export * from "./tool.js";
6
+ export * from "./outline.js";
7
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/constants/index.ts"],"names":[],"mappings":"AAAA,SAAS;AACT,0FAA0F;AAC1F,cAAc,aAAa,CAAC;AAC5B,cAAc,WAAW,CAAC;AAC1B,cAAc,WAAW,CAAC;AAC1B,cAAc,cAAc,CAAC"}
@@ -0,0 +1,5 @@
1
+ /** 场景冲突层次(麦基冲突三层次,decision 23;conflict_levels 多选枚举) */
2
+ export declare const CONFLICT_LEVELS: readonly ["inner", "personal", "extra_personal"];
3
+ /** 冲突层次(从 CONFLICT_LEVELS 派生) */
4
+ export type ConflictLevel = (typeof CONFLICT_LEVELS)[number];
5
+ //# sourceMappingURL=outline.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"outline.d.ts","sourceRoot":"","sources":["../../src/constants/outline.ts"],"names":[],"mappings":"AAKA,uDAAuD;AACvD,eAAO,MAAM,eAAe,kDAAmD,CAAC;AAEhF,iCAAiC;AACjC,MAAM,MAAM,aAAa,GAAG,CAAC,OAAO,eAAe,CAAC,CAAC,MAAM,CAAC,CAAC"}
@@ -0,0 +1,7 @@
1
+ // 大纲节点常量(决策 23:麦基《故事》字段集,2026-08 新增)
2
+ // 契约来源:doc/design/decisions.md 决策 23、doc/database/schema.md outline.json「节点结构化信息 data」节
3
+ // 常量命名 UPPER_SNAKE_CASE,as const 保持字面量类型;zod schema 见 @whispering233/ai-editor-shared/schemas
4
+ // (client 只消费本常量,不打包校验函数——shared 硬约束)
5
+ /** 场景冲突层次(麦基冲突三层次,decision 23;conflict_levels 多选枚举) */
6
+ export const CONFLICT_LEVELS = ["inner", "personal", "extra_personal"];
7
+ //# sourceMappingURL=outline.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"outline.js","sourceRoot":"","sources":["../../src/constants/outline.ts"],"names":[],"mappings":"AAAA,qCAAqC;AACrC,wFAAwF;AACxF,8FAA8F;AAC9F,sCAAsC;AAEtC,uDAAuD;AACvD,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,OAAO,EAAE,UAAU,EAAE,gBAAgB,CAAU,CAAC"}
@@ -0,0 +1,35 @@
1
+ /**
2
+ * 工具权限级别(tools.md「工具分级」两级:自动 / 提案确认)
3
+ * 自动:直接执行,结果返回 LLM;提案确认:展示提案卡片,用户审阅确认后再执行
4
+ */
5
+ export declare const TOOL_PERMISSION: {
6
+ readonly AUTO: "auto";
7
+ readonly PROPOSAL: "proposal";
8
+ };
9
+ /** 工具权限级别 */
10
+ export type ToolPermission = (typeof TOOL_PERMISSION)[keyof typeof TOOL_PERMISSION];
11
+ /** 查询类工具(自动,tools.md「查询类」):默认过滤软删对象(决策 12 修订) */
12
+ export declare const QUERY_TOOLS: readonly ["get_entity", "search_entities", "query_relationships", "get_outline", "get_outline_path", "compute_state", "get_delta_history", "get_entity_summary"];
13
+ /** 分析类工具(自动,tools.md「分析类」):结构化分析,不操作数据 */
14
+ export declare const ANALYSIS_TOOLS: readonly ["analyze_consistency", "detect_conflicts", "trace_plot_paths", "find_orphan_elements", "suggest_connections"];
15
+ /** 伏笔分析工具(自动,hooks.md「工具扩展」分析类) */
16
+ export declare const HOOK_ANALYSIS_TOOLS: readonly ["analyze_hook_health", "trace_hook_lifecycle", "suggest_hook_payoff", "find_hook_opportunities", "detect_hook_conflicts"];
17
+ /**
18
+ * 提案类工具(需确认,tools.md「提案类」+ hooks.md「工具扩展」提案类,共 14 个)
19
+ * AI 不能直接修改数据,propose_* 仅发出提案(proposal_id + 一句话摘要),
20
+ * tool_result 不含预览细节(2026-08 修订);完整预览经 SSE proposal 事件推送 GUI
21
+ */
22
+ export declare const PROPOSAL_TOOLS: readonly ["propose_create_entity", "propose_update_entity", "propose_delete_entity", "propose_add_relation", "propose_remove_relation", "propose_add_delta", "propose_outline_node", "propose_move_node", "propose_delete_node", "propose_create_hook", "propose_update_hook", "propose_advance_hook", "propose_resolve_hook", "propose_abandon_hook"];
23
+ /**
24
+ * 执行类工具(不暴露给 LLM,tools.md「执行类」,共 12 个)
25
+ * 用户确认提案后由 Tool Executor 调用;advance_hook/resolve_hook/abandon_hook 为复合写
26
+ * (delta_records 记 status 变化 + relation_records 插 advances/resolves,一次提交)
27
+ */
28
+ export declare const EXECUTOR_TOOLS: readonly ["create_entity", "update_entity", "delete_entity", "add_relation", "remove_relation", "add_delta", "create_outline_node", "move_node", "delete_node", "advance_hook", "resolve_hook", "abandon_hook"];
29
+ /** 自动级工具(查询 + 分析 + 伏笔分析,共 18 个) */
30
+ export declare const AUTO_TOOLS: readonly ["get_entity", "search_entities", "query_relationships", "get_outline", "get_outline_path", "compute_state", "get_delta_history", "get_entity_summary", "analyze_consistency", "detect_conflicts", "trace_plot_paths", "find_orphan_elements", "suggest_connections", "analyze_hook_health", "trace_hook_lifecycle", "suggest_hook_payoff", "find_hook_opportunities", "detect_hook_conflicts"];
31
+ /** 全部工具名(自动 18 + 提案 14 + 执行 12 = 44 个) */
32
+ export declare const TOOL_NAMES: readonly ["get_entity", "search_entities", "query_relationships", "get_outline", "get_outline_path", "compute_state", "get_delta_history", "get_entity_summary", "analyze_consistency", "detect_conflicts", "trace_plot_paths", "find_orphan_elements", "suggest_connections", "analyze_hook_health", "trace_hook_lifecycle", "suggest_hook_payoff", "find_hook_opportunities", "detect_hook_conflicts", "propose_create_entity", "propose_update_entity", "propose_delete_entity", "propose_add_relation", "propose_remove_relation", "propose_add_delta", "propose_outline_node", "propose_move_node", "propose_delete_node", "propose_create_hook", "propose_update_hook", "propose_advance_hook", "propose_resolve_hook", "propose_abandon_hook", "create_entity", "update_entity", "delete_entity", "add_relation", "remove_relation", "add_delta", "create_outline_node", "move_node", "delete_node", "advance_hook", "resolve_hook", "abandon_hook"];
33
+ /** 工具名(从 TOOL_NAMES 派生) */
34
+ export type ToolName = (typeof TOOL_NAMES)[number];
35
+ //# sourceMappingURL=tool.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tool.d.ts","sourceRoot":"","sources":["../../src/constants/tool.ts"],"names":[],"mappings":"AAGA;;;GAGG;AACH,eAAO,MAAM,eAAe;;;CAGlB,CAAC;AAEX,aAAa;AACb,MAAM,MAAM,cAAc,GAAG,CAAC,OAAO,eAAe,CAAC,CAAC,MAAM,OAAO,eAAe,CAAC,CAAC;AAEpF,iDAAiD;AACjD,eAAO,MAAM,WAAW,kKASd,CAAC;AAEX,0CAA0C;AAC1C,eAAO,MAAM,cAAc,yHAMjB,CAAC;AAEX,mCAAmC;AACnC,eAAO,MAAM,mBAAmB,qIAMtB,CAAC;AAEX;;;;GAIG;AACH,eAAO,MAAM,cAAc,wVAejB,CAAC;AAEX;;;;GAIG;AACH,eAAO,MAAM,cAAc,iNAajB,CAAC;AAEX,mCAAmC;AACnC,eAAO,MAAM,UAAU,0YAAuE,CAAC;AAE/F,0CAA0C;AAC1C,eAAO,MAAM,UAAU,65BAAiE,CAAC;AAEzF,2BAA2B;AAC3B,MAAM,MAAM,QAAQ,GAAG,CAAC,OAAO,UAAU,CAAC,CAAC,MAAM,CAAC,CAAC"}
@@ -0,0 +1,82 @@
1
+ // AI 工具常量:分级权限 + 全量工具名
2
+ // 契约来源:doc/api/tools.md(工具分级、工具目录)、doc/database/hooks.md(伏笔分析/提案工具)
3
+ /**
4
+ * 工具权限级别(tools.md「工具分级」两级:自动 / 提案确认)
5
+ * 自动:直接执行,结果返回 LLM;提案确认:展示提案卡片,用户审阅确认后再执行
6
+ */
7
+ export const TOOL_PERMISSION = {
8
+ AUTO: "auto",
9
+ PROPOSAL: "proposal",
10
+ };
11
+ /** 查询类工具(自动,tools.md「查询类」):默认过滤软删对象(决策 12 修订) */
12
+ export const QUERY_TOOLS = [
13
+ "get_entity",
14
+ "search_entities",
15
+ "query_relationships",
16
+ "get_outline",
17
+ "get_outline_path",
18
+ "compute_state",
19
+ "get_delta_history",
20
+ "get_entity_summary",
21
+ ];
22
+ /** 分析类工具(自动,tools.md「分析类」):结构化分析,不操作数据 */
23
+ export const ANALYSIS_TOOLS = [
24
+ "analyze_consistency",
25
+ "detect_conflicts",
26
+ "trace_plot_paths",
27
+ "find_orphan_elements",
28
+ "suggest_connections",
29
+ ];
30
+ /** 伏笔分析工具(自动,hooks.md「工具扩展」分析类) */
31
+ export const HOOK_ANALYSIS_TOOLS = [
32
+ "analyze_hook_health",
33
+ "trace_hook_lifecycle",
34
+ "suggest_hook_payoff",
35
+ "find_hook_opportunities",
36
+ "detect_hook_conflicts",
37
+ ];
38
+ /**
39
+ * 提案类工具(需确认,tools.md「提案类」+ hooks.md「工具扩展」提案类,共 14 个)
40
+ * AI 不能直接修改数据,propose_* 仅发出提案(proposal_id + 一句话摘要),
41
+ * tool_result 不含预览细节(2026-08 修订);完整预览经 SSE proposal 事件推送 GUI
42
+ */
43
+ export const PROPOSAL_TOOLS = [
44
+ "propose_create_entity",
45
+ "propose_update_entity",
46
+ "propose_delete_entity",
47
+ "propose_add_relation",
48
+ "propose_remove_relation",
49
+ "propose_add_delta",
50
+ "propose_outline_node",
51
+ "propose_move_node",
52
+ "propose_delete_node",
53
+ "propose_create_hook",
54
+ "propose_update_hook",
55
+ "propose_advance_hook",
56
+ "propose_resolve_hook",
57
+ "propose_abandon_hook",
58
+ ];
59
+ /**
60
+ * 执行类工具(不暴露给 LLM,tools.md「执行类」,共 12 个)
61
+ * 用户确认提案后由 Tool Executor 调用;advance_hook/resolve_hook/abandon_hook 为复合写
62
+ * (delta_records 记 status 变化 + relation_records 插 advances/resolves,一次提交)
63
+ */
64
+ export const EXECUTOR_TOOLS = [
65
+ "create_entity",
66
+ "update_entity",
67
+ "delete_entity",
68
+ "add_relation",
69
+ "remove_relation",
70
+ "add_delta",
71
+ "create_outline_node",
72
+ "move_node",
73
+ "delete_node",
74
+ "advance_hook",
75
+ "resolve_hook",
76
+ "abandon_hook",
77
+ ];
78
+ /** 自动级工具(查询 + 分析 + 伏笔分析,共 18 个) */
79
+ export const AUTO_TOOLS = [...QUERY_TOOLS, ...ANALYSIS_TOOLS, ...HOOK_ANALYSIS_TOOLS];
80
+ /** 全部工具名(自动 18 + 提案 14 + 执行 12 = 44 个) */
81
+ export const TOOL_NAMES = [...AUTO_TOOLS, ...PROPOSAL_TOOLS, ...EXECUTOR_TOOLS];
82
+ //# sourceMappingURL=tool.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tool.js","sourceRoot":"","sources":["../../src/constants/tool.ts"],"names":[],"mappings":"AAAA,uBAAuB;AACvB,oEAAoE;AAEpE;;;GAGG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG;IAC7B,IAAI,EAAE,MAAM;IACZ,QAAQ,EAAE,UAAU;CACZ,CAAC;AAKX,iDAAiD;AACjD,MAAM,CAAC,MAAM,WAAW,GAAG;IACzB,YAAY;IACZ,iBAAiB;IACjB,qBAAqB;IACrB,aAAa;IACb,kBAAkB;IAClB,eAAe;IACf,mBAAmB;IACnB,oBAAoB;CACZ,CAAC;AAEX,0CAA0C;AAC1C,MAAM,CAAC,MAAM,cAAc,GAAG;IAC5B,qBAAqB;IACrB,kBAAkB;IAClB,kBAAkB;IAClB,sBAAsB;IACtB,qBAAqB;CACb,CAAC;AAEX,mCAAmC;AACnC,MAAM,CAAC,MAAM,mBAAmB,GAAG;IACjC,qBAAqB;IACrB,sBAAsB;IACtB,qBAAqB;IACrB,yBAAyB;IACzB,uBAAuB;CACf,CAAC;AAEX;;;;GAIG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG;IAC5B,uBAAuB;IACvB,uBAAuB;IACvB,uBAAuB;IACvB,sBAAsB;IACtB,yBAAyB;IACzB,mBAAmB;IACnB,sBAAsB;IACtB,mBAAmB;IACnB,qBAAqB;IACrB,qBAAqB;IACrB,qBAAqB;IACrB,sBAAsB;IACtB,sBAAsB;IACtB,sBAAsB;CACd,CAAC;AAEX;;;;GAIG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG;IAC5B,eAAe;IACf,eAAe;IACf,eAAe;IACf,cAAc;IACd,iBAAiB;IACjB,WAAW;IACX,qBAAqB;IACrB,WAAW;IACX,aAAa;IACb,cAAc;IACd,cAAc;IACd,cAAc;CACN,CAAC;AAEX,mCAAmC;AACnC,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,GAAG,WAAW,EAAE,GAAG,cAAc,EAAE,GAAG,mBAAmB,CAAU,CAAC;AAE/F,0CAA0C;AAC1C,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,GAAG,UAAU,EAAE,GAAG,cAAc,EAAE,GAAG,cAAc,CAAU,CAAC"}
@@ -0,0 +1,6 @@
1
+ export type * from "./types/index.js";
2
+ export * from "./constants/index.js";
3
+ export * from "./utils/index.js";
4
+ export declare const SHARED_PKG_NAME = "@whispering233/ai-editor-shared";
5
+ export declare const SHARED_PKG_VERSION = "0.1.0";
6
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAKA,mBAAmB,kBAAkB,CAAC;AACtC,cAAc,sBAAsB,CAAC;AACrC,cAAc,kBAAkB,CAAC;AAEjC,eAAO,MAAM,eAAe,oCAAoC,CAAC;AACjE,eAAO,MAAM,kBAAkB,UAAU,CAAC"}
package/dist/index.js ADDED
@@ -0,0 +1,5 @@
1
+ export * from "./constants/index.js";
2
+ export * from "./utils/index.js";
3
+ export const SHARED_PKG_NAME = "@whispering233/ai-editor-shared";
4
+ export const SHARED_PKG_VERSION = "0.1.0";
5
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAMA,cAAc,sBAAsB,CAAC;AACrC,cAAc,kBAAkB,CAAC;AAEjC,MAAM,CAAC,MAAM,eAAe,GAAG,iCAAiC,CAAC;AACjE,MAAM,CAAC,MAAM,kBAAkB,GAAG,OAAO,CAAC"}