@whispering233/ai-editor-tools 0.0.21 → 0.0.26

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 (122) hide show
  1. package/dist/analysis/conflict.d.ts +3 -3
  2. package/dist/analysis/conflict.d.ts.map +1 -1
  3. package/dist/analysis/conflict.js +3 -4
  4. package/dist/analysis/conflict.js.map +1 -1
  5. package/dist/analysis/consistency.d.ts +3 -3
  6. package/dist/analysis/consistency.d.ts.map +1 -1
  7. package/dist/analysis/consistency.js +7 -8
  8. package/dist/analysis/consistency.js.map +1 -1
  9. package/dist/analysis/hook.d.ts +20 -20
  10. package/dist/analysis/hook.d.ts.map +1 -1
  11. package/dist/analysis/hook.js +26 -26
  12. package/dist/analysis/hook.js.map +1 -1
  13. package/dist/analysis/orphan.d.ts +7 -7
  14. package/dist/analysis/orphan.d.ts.map +1 -1
  15. package/dist/analysis/orphan.js +18 -20
  16. package/dist/analysis/orphan.js.map +1 -1
  17. package/dist/analysis/path.d.ts +4 -4
  18. package/dist/analysis/path.d.ts.map +1 -1
  19. package/dist/analysis/path.js +9 -10
  20. package/dist/analysis/path.js.map +1 -1
  21. package/dist/analysis/suggest.d.ts +3 -3
  22. package/dist/analysis/suggest.d.ts.map +1 -1
  23. package/dist/analysis/suggest.js +5 -6
  24. package/dist/analysis/suggest.js.map +1 -1
  25. package/dist/analysis/utils.d.ts +10 -10
  26. package/dist/analysis/utils.d.ts.map +1 -1
  27. package/dist/analysis/utils.js +6 -6
  28. package/dist/analysis/utils.js.map +1 -1
  29. package/dist/context.d.ts +1 -1
  30. package/dist/context.d.ts.map +1 -1
  31. package/dist/context.js +2 -2
  32. package/dist/context.js.map +1 -1
  33. package/dist/executor/delta.d.ts +1 -1
  34. package/dist/executor/delta.d.ts.map +1 -1
  35. package/dist/executor/delta.js +3 -3
  36. package/dist/executor/delta.js.map +1 -1
  37. package/dist/executor/entity.d.ts +3 -3
  38. package/dist/executor/entity.d.ts.map +1 -1
  39. package/dist/executor/entity.js +10 -10
  40. package/dist/executor/entity.js.map +1 -1
  41. package/dist/executor/hook.d.ts +3 -3
  42. package/dist/executor/hook.d.ts.map +1 -1
  43. package/dist/executor/hook.js +23 -23
  44. package/dist/executor/hook.js.map +1 -1
  45. package/dist/executor/index.d.ts +1 -1
  46. package/dist/executor/index.d.ts.map +1 -1
  47. package/dist/executor/index.js +12 -12
  48. package/dist/executor/index.js.map +1 -1
  49. package/dist/executor/outline.d.ts +3 -3
  50. package/dist/executor/outline.d.ts.map +1 -1
  51. package/dist/executor/outline.js +9 -9
  52. package/dist/executor/outline.js.map +1 -1
  53. package/dist/executor/reference.d.ts +1 -1
  54. package/dist/executor/reference.d.ts.map +1 -1
  55. package/dist/executor/reference.js +3 -3
  56. package/dist/executor/reference.js.map +1 -1
  57. package/dist/executor/relation.d.ts +2 -2
  58. package/dist/executor/relation.d.ts.map +1 -1
  59. package/dist/executor/relation.js +7 -7
  60. package/dist/executor/relation.js.map +1 -1
  61. package/dist/executor/reorder-timepoints.d.ts +1 -1
  62. package/dist/executor/reorder-timepoints.d.ts.map +1 -1
  63. package/dist/executor/reorder-timepoints.js +5 -5
  64. package/dist/executor/reorder-timepoints.js.map +1 -1
  65. package/dist/executor/types.d.ts +2 -2
  66. package/dist/index.js +9 -9
  67. package/dist/index.js.map +1 -1
  68. package/dist/proposal/delta.js +11 -11
  69. package/dist/proposal/delta.js.map +1 -1
  70. package/dist/proposal/entity.d.ts +2 -2
  71. package/dist/proposal/entity.d.ts.map +1 -1
  72. package/dist/proposal/entity.js +6 -6
  73. package/dist/proposal/entity.js.map +1 -1
  74. package/dist/proposal/hook.d.ts +1 -1
  75. package/dist/proposal/hook.d.ts.map +1 -1
  76. package/dist/proposal/hook.js +7 -7
  77. package/dist/proposal/hook.js.map +1 -1
  78. package/dist/proposal/outline.d.ts +4 -4
  79. package/dist/proposal/outline.d.ts.map +1 -1
  80. package/dist/proposal/outline.js +11 -11
  81. package/dist/proposal/outline.js.map +1 -1
  82. package/dist/proposal/reference.d.ts +3 -3
  83. package/dist/proposal/reference.d.ts.map +1 -1
  84. package/dist/proposal/reference.js +6 -6
  85. package/dist/proposal/reference.js.map +1 -1
  86. package/dist/proposal/relation.d.ts +1 -1
  87. package/dist/proposal/relation.d.ts.map +1 -1
  88. package/dist/proposal/relation.js +7 -7
  89. package/dist/proposal/relation.js.map +1 -1
  90. package/dist/proposal/reorder-timepoints.d.ts +3 -3
  91. package/dist/proposal/reorder-timepoints.d.ts.map +1 -1
  92. package/dist/proposal/reorder-timepoints.js +14 -14
  93. package/dist/proposal/reorder-timepoints.js.map +1 -1
  94. package/dist/proposal/types.d.ts +20 -20
  95. package/dist/proposal/types.d.ts.map +1 -1
  96. package/dist/proposal/types.js +18 -18
  97. package/dist/proposal/types.js.map +1 -1
  98. package/dist/query/delta.d.ts +5 -5
  99. package/dist/query/delta.d.ts.map +1 -1
  100. package/dist/query/delta.js +11 -13
  101. package/dist/query/delta.js.map +1 -1
  102. package/dist/query/entity.d.ts +9 -9
  103. package/dist/query/entity.d.ts.map +1 -1
  104. package/dist/query/entity.js +13 -15
  105. package/dist/query/entity.js.map +1 -1
  106. package/dist/query/outline.d.ts +6 -6
  107. package/dist/query/outline.d.ts.map +1 -1
  108. package/dist/query/outline.js +13 -15
  109. package/dist/query/outline.js.map +1 -1
  110. package/dist/query/reference.d.ts +1 -1
  111. package/dist/query/reference.d.ts.map +1 -1
  112. package/dist/query/reference.js +3 -4
  113. package/dist/query/reference.js.map +1 -1
  114. package/dist/query/relation.d.ts +1 -1
  115. package/dist/query/relation.d.ts.map +1 -1
  116. package/dist/query/relation.js +3 -5
  117. package/dist/query/relation.js.map +1 -1
  118. package/dist/registry.d.ts +5 -5
  119. package/dist/registry.d.ts.map +1 -1
  120. package/dist/registry.js +2 -3
  121. package/dist/registry.js.map +1 -1
  122. package/package.json +3 -3
@@ -1 +1 @@
1
- {"version":3,"file":"outline.js","sourceRoot":"","sources":["../../src/query/outline.ts"],"names":[],"mappings":"AAAA,oBAAoB;AACpB,iDAAiD;AACjD,oEAAoE;AACpE,uBAAuB;AACvB,EAAE;AACF,eAAe;AACf,4DAA4D;AAC5D,qEAAqE;AACrE,0DAA0D;AAC1D,+BAA+B;AAC/B,gEAAgE;AAChE,oDAAoD;AAEpD,OAAO,EAAE,eAAe,EAAE,iBAAiB,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAClG,OAAO,EAAE,oBAAoB,EAAE,MAAM,iCAAiC,CAAC;AAKvE;;;;;GAKG;AACH,SAAS,iBAAiB,CAA4B,KAAmB;IACvE,MAAM,GAAG,GAAQ,EAAE,CAAC;IACpB,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,IAAI,IAAI,CAAC,OAAO,KAAK,IAAI;YAAE,SAAS;QACpC,MAAM,QAAQ,GAAI,IAAkD,CAAC,QAAQ,CAAC;QAC9E,GAAG,CAAC,IAAI,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAE,EAAE,GAAG,IAAI,EAAE,QAAQ,EAAE,iBAAiB,CAAC,QAAQ,CAAC,EAAQ,CAAC,CAAC;IACtG,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,aAAa,CAAC,GAAgB;IAC5C,MAAM,IAAI,GAAG,eAAe,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;IAC7C,MAAM,QAAQ,GAAG,EAAE,GAAG,IAAI,EAAE,QAAQ,EAAE,iBAAiB,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;IACzE,OAAO,oBAAoB,CAAC,QAAQ,CAAC,CAAC;AACxC,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,iBAAiB,CAAC,GAAgB,EAAE,IAAwB;IAC1E,MAAM,IAAI,GAAG,eAAe,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;IAC7C,IAAI,IAAc,CAAC;IACnB,IAAI,CAAC;QACH,IAAI,GAAG,iBAAiB,CAAC,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;IAC/C,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC,CAAC,wCAAwC;IACvD,CAAC;IACD,KAAK,MAAM,MAAM,IAAI,IAAI,EAAE,CAAC;QAC1B,IAAI,MAAM,KAAK,MAAM;YAAE,SAAS,CAAC,iBAAiB;QAClD,MAAM,IAAI,GAAG,eAAe,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QAC3C,IAAI,IAAI,EAAE,OAAO,KAAK,IAAI;YAAE,OAAO,IAAI,CAAC;IAC1C,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC"}
1
+ {"version":3,"file":"outline.js","sourceRoot":"","sources":["../../src/query/outline.ts"],"names":[],"mappings":"AAAA,oBAAoB;AACpB,yCAAyC;AACzC,EAAE;AACF,eAAe;AACf,4DAA4D;AAC5D,mEAAmE;AACnE,gDAAgD;AAChD,oBAAoB;AACpB,gEAAgE;AAChE,kDAAkD;AAElD,OAAO,EAAE,eAAe,EAAE,iBAAiB,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAClG,OAAO,EAAE,oBAAoB,EAAE,MAAM,iCAAiC,CAAC;AAKvE;;;;;GAKG;AACH,SAAS,iBAAiB,CAA4B,KAAmB;IACvE,MAAM,GAAG,GAAQ,EAAE,CAAC;IACpB,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,IAAI,IAAI,CAAC,OAAO,KAAK,IAAI;YAAE,SAAS;QACpC,MAAM,QAAQ,GAAI,IAAkD,CAAC,QAAQ,CAAC;QAC9E,GAAG,CAAC,IAAI,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAE,EAAE,GAAG,IAAI,EAAE,QAAQ,EAAE,iBAAiB,CAAC,QAAQ,CAAC,EAAQ,CAAC,CAAC;IACtG,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,aAAa,CAAC,GAAgB;IAC5C,MAAM,IAAI,GAAG,eAAe,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;IAC7C,MAAM,QAAQ,GAAG,EAAE,GAAG,IAAI,EAAE,QAAQ,EAAE,iBAAiB,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;IACzE,OAAO,oBAAoB,CAAC,QAAQ,CAAC,CAAC;AACxC,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,iBAAiB,CAAC,GAAgB,EAAE,IAAwB;IAC1E,MAAM,IAAI,GAAG,eAAe,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;IAC7C,IAAI,IAAc,CAAC;IACnB,IAAI,CAAC;QACH,IAAI,GAAG,iBAAiB,CAAC,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;IAC/C,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC,CAAC,wCAAwC;IACvD,CAAC;IACD,KAAK,MAAM,MAAM,IAAI,IAAI,EAAE,CAAC;QAC1B,IAAI,MAAM,KAAK,MAAM;YAAE,SAAS,CAAC,iBAAiB;QAClD,MAAM,IAAI,GAAG,eAAe,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QAC3C,IAAI,IAAI,EAAE,OAAO,KAAK,IAAI;YAAE,OAAO,IAAI,CAAC;IAC1C,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC"}
@@ -1,6 +1,6 @@
1
1
  import type { EntityListResult } from "@whispering233/ai-editor-db";
2
2
  import type { ToolContext } from "../context.js";
3
3
  import type { SearchReferencesArgs } from "@whispering233/ai-editor-shared";
4
- /** 参考资料搜索(tools.md search_references(query, type?, tags?) → 摘要列表) */
4
+ /** 参考资料搜索( search_references(query, type?, tags?) → 摘要列表) */
5
5
  export declare function runSearchReferences(ctx: ToolContext, args: SearchReferencesArgs): EntityListResult;
6
6
  //# sourceMappingURL=reference.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"reference.d.ts","sourceRoot":"","sources":["../../src/query/reference.ts"],"names":[],"mappings":"AAaA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AACpE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AACjD,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,iCAAiC,CAAC;AAE5E,qEAAqE;AACrE,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,WAAW,EAAE,IAAI,EAAE,oBAAoB,GAAG,gBAAgB,CAalG"}
1
+ {"version":3,"file":"reference.d.ts","sourceRoot":"","sources":["../../src/query/reference.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AACpE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AACjD,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,iCAAiC,CAAC;AAE5E,6DAA6D;AAC7D,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,WAAW,EAAE,IAAI,EAAE,oBAAoB,GAAG,gBAAgB,CAalG"}
@@ -1,16 +1,15 @@
1
- // 查询类工具:参考资料(决策 36,批次九)
1
+ // 查询类工具:参考资料(批次九)
2
2
  // search_references——AI 不知道书里有哪些参考资料时先搜索(标题+tags 关键词命中)再按需取全文
3
3
  //
4
- // 契约来源:doc/api/tools.md「参考资料查询」;决策 6 分层策略(不主动注入聚焦层,
5
4
  // 靠工具按需拉取保护 token 预算)。全文取详情走 get_entity('reference', id) 的 reference 分支。
6
5
  //
7
6
  // 实现:复用 db listEntities(type='reference' + q 名称软删过滤 + filters.tags AND 匹配
8
7
  // + 摘要提取)——db toSummary 已对 reference 做 type + content 摘要截断 120 字 + tags 前 3,
9
- // 列表/搜索不会把全文长文本带回(防决策 15 token 膨胀)。
8
+ // 列表/搜索不会把全文长文本带回(防 token 膨胀)。
10
9
  // search 的 type 参数指「参考资料分类」(data.type 枚举),非实体类型——listEntities 的
11
10
  // filters 不支持 data.type 过滤(仅 tags/status),故在结果层做 JS 过滤(total 同步修正)。
12
11
  import { listEntities } from "@whispering233/ai-editor-db";
13
- /** 参考资料搜索(tools.md search_references(query, type?, tags?) → 摘要列表) */
12
+ /** 参考资料搜索( search_references(query, type?, tags?) → 摘要列表) */
14
13
  export function runSearchReferences(ctx, args) {
15
14
  const result = listEntities(ctx.db, {
16
15
  type: "reference",
@@ -1 +1 @@
1
- {"version":3,"file":"reference.js","sourceRoot":"","sources":["../../src/query/reference.ts"],"names":[],"mappings":"AAAA,wBAAwB;AACxB,8DAA8D;AAC9D,EAAE;AACF,oDAAoD;AACpD,yEAAyE;AACzE,EAAE;AACF,0EAA0E;AAC1E,6EAA6E;AAC7E,oCAAoC;AACpC,gEAAgE;AAChE,oEAAoE;AAEpE,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAK3D,qEAAqE;AACrE,MAAM,UAAU,mBAAmB,CAAC,GAAgB,EAAE,IAA0B;IAC9E,MAAM,MAAM,GAAG,YAAY,CAAC,GAAG,CAAC,EAAE,EAAE;QAClC,IAAI,EAAE,WAAW;QACjB,CAAC,EAAE,IAAI,CAAC,KAAK;QACb,OAAO,EAAE,IAAI,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,SAAS;QAClE,KAAK,EAAE,GAAG;KACX,CAAC,CAAC;IACH,6EAA6E;IAC7E,IAAI,IAAI,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;QAC5B,MAAM,QAAQ,GAAG,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,OAAO,EAAE,IAAI,KAAK,IAAI,CAAC,IAAI,CAAC,CAAC;QAC/E,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,CAAC,MAAM,EAAE,CAAC;IACrD,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC"}
1
+ {"version":3,"file":"reference.js","sourceRoot":"","sources":["../../src/query/reference.ts"],"names":[],"mappings":"AAAA,kBAAkB;AAClB,8DAA8D;AAC9D,EAAE;AACF,yEAAyE;AACzE,EAAE;AACF,0EAA0E;AAC1E,6EAA6E;AAC7E,+BAA+B;AAC/B,gEAAgE;AAChE,oEAAoE;AAEpE,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAK3D,6DAA6D;AAC7D,MAAM,UAAU,mBAAmB,CAAC,GAAgB,EAAE,IAA0B;IAC9E,MAAM,MAAM,GAAG,YAAY,CAAC,GAAG,CAAC,EAAE,EAAE;QAClC,IAAI,EAAE,WAAW;QACjB,CAAC,EAAE,IAAI,CAAC,KAAK;QACb,OAAO,EAAE,IAAI,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,SAAS;QAClE,KAAK,EAAE,GAAG;KACX,CAAC,CAAC;IACJ,6EAA6E;IAC5E,IAAI,IAAI,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;QAC5B,MAAM,QAAQ,GAAG,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,OAAO,EAAE,IAAI,KAAK,IAAI,CAAC,IAAI,CAAC,CAAC;QAC/E,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,CAAC,MAAM,EAAE,CAAC;IACrD,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC"}
@@ -2,7 +2,7 @@ import type { RelationQueryResult } from "@whispering233/ai-editor-shared";
2
2
  import type { ToolContext } from "../context.js";
3
3
  import type { QueryRelationshipsArgs } from "@whispering233/ai-editor-shared";
4
4
  /**
5
- * 关系图子图(tools.md query_relationships → [{source,target,type,metadata}] 简写;
5
+ * 关系图子图( query_relationships → [{source,target,type,metadata}] 简写;
6
6
  * 实际透传 db 的 RelationQueryResult 完整形态:relations: RelationRecord[](含
7
7
  * sourceName/targetName 联表名)+ depth>=2 时 paths: RelationPath[])。
8
8
  * 参数映射:snake_case 工具参数 → db 层 camelCase RelationQuery(字段一一对应);
@@ -1 +1 @@
1
- {"version":3,"file":"relation.d.ts","sourceRoot":"","sources":["../../src/query/relation.ts"],"names":[],"mappings":"AAcA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,iCAAiC,CAAC;AAC3E,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AACjD,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,iCAAiC,CAAC;AAE9E;;;;;;GAMG;AACH,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,WAAW,EAAE,IAAI,EAAE,sBAAsB,GAAG,mBAAmB,CAazG"}
1
+ {"version":3,"file":"relation.d.ts","sourceRoot":"","sources":["../../src/query/relation.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,iCAAiC,CAAC;AAC3E,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AACjD,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,iCAAiC,CAAC;AAE9E;;;;;;GAMG;AACH,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,WAAW,EAAE,IAAI,EAAE,sBAAsB,GAAG,mBAAmB,CAazG"}
@@ -1,18 +1,16 @@
1
1
  // 查询类工具:关系侧实现(S6.3)
2
- // query_relationships(tools.md「关系查询」→ 关系图子图)
3
- // 契约来源:doc/api/tools.md;doc/api/endpoints.md 关系端点;决策 12 修订
4
- // (关系可见性联动端点状态:任一端点软删即不可见)、决策 10(plot_edge 同规则)。
2
+ // query_relationships(「关系查询」→ 关系图子图)
5
3
  //
6
4
  // db 层能力确认:listRelations(db relation.ts)已实现全部所需语义——
7
5
  // 1. 关系自身软删过滤(SQL 层)
8
6
  // 2. **端点软删可见性校验**(buildEndpointContext:实体端点查 entities 软删集合、
9
- // 大纲端点读 outline.json 收集软删节点——决策 12 修订)
7
+ // 大纲端点读 outline.json 收集软删节点)
10
8
  // 3. name 联表填充(实体 entities.name、大纲节点 outline.json title)
11
9
  // 4. depth>=2 的 k 跳 BFS 路径(防环、多起点)
12
10
  // 工具层仅做参数映射透传,无额外过滤逻辑。
13
11
  import { listRelations } from "@whispering233/ai-editor-db";
14
12
  /**
15
- * 关系图子图(tools.md query_relationships → [{source,target,type,metadata}] 简写;
13
+ * 关系图子图( query_relationships → [{source,target,type,metadata}] 简写;
16
14
  * 实际透传 db 的 RelationQueryResult 完整形态:relations: RelationRecord[](含
17
15
  * sourceName/targetName 联表名)+ depth>=2 时 paths: RelationPath[])。
18
16
  * 参数映射:snake_case 工具参数 → db 层 camelCase RelationQuery(字段一一对应);
@@ -1 +1 @@
1
- {"version":3,"file":"relation.js","sourceRoot":"","sources":["../../src/query/relation.ts"],"names":[],"mappings":"AAAA,oBAAoB;AACpB,6CAA6C;AAC7C,2DAA2D;AAC3D,mDAAmD;AACnD,EAAE;AACF,oDAAoD;AACpD,qBAAqB;AACrB,6DAA6D;AAC7D,0CAA0C;AAC1C,yDAAyD;AACzD,mCAAmC;AACnC,uBAAuB;AAEvB,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAK5D;;;;;;GAMG;AACH,MAAM,UAAU,qBAAqB,CAAC,GAAgB,EAAE,IAA4B;IAClF,OAAO,aAAa,CAClB,GAAG,CAAC,EAAE,EACN;QACE,UAAU,EAAE,IAAI,CAAC,WAAW;QAC5B,QAAQ,EAAE,IAAI,CAAC,SAAS;QACxB,UAAU,EAAE,IAAI,CAAC,WAAW;QAC5B,QAAQ,EAAE,IAAI,CAAC,SAAS;QACxB,YAAY,EAAE,IAAI,CAAC,aAAa;KACjC,EACD,IAAI,CAAC,KAAK,EACV,GAAG,CAAC,UAAU,CACf,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"relation.js","sourceRoot":"","sources":["../../src/query/relation.ts"],"names":[],"mappings":"AAAA,oBAAoB;AACpB,qCAAqC;AACrC,EAAE;AACF,oDAAoD;AACpD,qBAAqB;AACrB,6DAA6D;AAC7D,6BAA6B;AAC7B,yDAAyD;AACzD,mCAAmC;AACnC,uBAAuB;AAEvB,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAK5D;;;;;;GAMG;AACH,MAAM,UAAU,qBAAqB,CAAC,GAAgB,EAAE,IAA4B;IAClF,OAAO,aAAa,CAClB,GAAG,CAAC,EAAE,EACN;QACE,UAAU,EAAE,IAAI,CAAC,WAAW;QAC5B,QAAQ,EAAE,IAAI,CAAC,SAAS;QACxB,UAAU,EAAE,IAAI,CAAC,WAAW;QAC5B,QAAQ,EAAE,IAAI,CAAC,SAAS;QACxB,YAAY,EAAE,IAAI,CAAC,aAAa;KACjC,EACD,IAAI,CAAC,KAAK,EACV,GAAG,CAAC,UAAU,CACf,CAAC;AACJ,CAAC"}
@@ -9,7 +9,7 @@ import type { ToolContext } from "./context.js";
9
9
  * 运行时由 argsSchema 兜底,类型层面双变无实际风险。
10
10
  */
11
11
  export interface ToolDefinition<TSchema extends z.ZodTypeAny = z.ZodTypeAny> {
12
- /** 工具名(tools.md 工具目录,如 get_entity;LLM tool_call 的 tool 字段) */
12
+ /** 工具名( 工具目录,如 get_entity;LLM tool_call 的 tool 字段) */
13
13
  name: string;
14
14
  /** 人类可读描述(注入 LLM 工具列表,说明用途与参数语义) */
15
15
  description: string;
@@ -18,10 +18,10 @@ export interface ToolDefinition<TSchema extends z.ZodTypeAny = z.ZodTypeAny> {
18
18
  /** 权限级别(TOOL_PERMISSION.AUTO / PROPOSAL) */
19
19
  permission: ToolPermission;
20
20
  /**
21
- * 执行函数:注入 ToolContext(db/outlineDir/projectId),返回可序列化结果或抛错。
22
- * signal:可选取消通道(决策 16 ③「长工具执行中检查 signal」)——S6.4 分析类
23
- * 是长任务候选,executor 在 SSE 断开时中止在途工具;同步短工具可不检查。
24
- */
21
+ * 执行函数:注入 ToolContext(db/outlineDir/projectId),返回可序列化结果或抛错。
22
+ * signal:可选取消通道(「长工具执行中检查 signal」)——S6.4 分析类
23
+ * 是长任务候选,executor 在 SSE 断开时中止在途工具;同步短工具可不检查。
24
+ */
25
25
  run(ctx: ToolContext, args: z.infer<TSchema>, signal?: AbortSignal): unknown;
26
26
  }
27
27
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../src/registry.ts"],"names":[],"mappings":"AAaA,OAAO,KAAK,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAC7B,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AACtE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAEhD;;;;;;GAMG;AACH,MAAM,WAAW,cAAc,CAAC,OAAO,SAAS,CAAC,CAAC,UAAU,GAAG,CAAC,CAAC,UAAU;IACzE,8DAA8D;IAC9D,IAAI,EAAE,MAAM,CAAC;IACb,oCAAoC;IACpC,WAAW,EAAE,MAAM,CAAC;IACpB,8CAA8C;IAC9C,UAAU,EAAE,OAAO,CAAC;IACpB,4CAA4C;IAC5C,UAAU,EAAE,cAAc,CAAC;IAC3B;;;;OAIG;IACH,GAAG,CAAC,GAAG,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC;CAC9E;AAKD;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,GAAG,EAAE,cAAc,GAAG,IAAI,CAQtD;AAED,qDAAqD;AACrD,wBAAgB,aAAa,CAAC,IAAI,EAAE,SAAS,cAAc,EAAE,GAAG,IAAI,CAEnE;AAED,qDAAqD;AACrD,wBAAgB,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,cAAc,GAAG,SAAS,CAEhE;AAED,kDAAkD;AAClD,wBAAgB,SAAS,IAAI,cAAc,EAAE,CAE5C;AAED,0BAA0B;AAC1B,wBAAgB,SAAS,IAAI,MAAM,CAElC"}
1
+ {"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../src/registry.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAC7B,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AACtE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAEhD;;;;;;GAMG;AACH,MAAM,WAAW,cAAc,CAAC,OAAO,SAAS,CAAC,CAAC,UAAU,GAAG,CAAC,CAAC,UAAU;IAC1E,sDAAsD;IACrD,IAAI,EAAE,MAAM,CAAC;IACd,oCAAoC;IACnC,WAAW,EAAE,MAAM,CAAC;IACrB,8CAA8C;IAC7C,UAAU,EAAE,OAAO,CAAC;IACrB,4CAA4C;IAC3C,UAAU,EAAE,cAAc,CAAC;IAC5B;;;;MAIE;IACD,GAAG,CAAC,GAAG,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC;CAC9E;AAKD;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,GAAG,EAAE,cAAc,GAAG,IAAI,CAQtD;AAED,qDAAqD;AACrD,wBAAgB,aAAa,CAAC,IAAI,EAAE,SAAS,cAAc,EAAE,GAAG,IAAI,CAEnE;AAED,qDAAqD;AACrD,wBAAgB,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,cAAc,GAAG,SAAS,CAEhE;AAED,kDAAkD;AAClD,wBAAgB,SAAS,IAAI,cAAc,EAAE,CAE5C;AAED,0BAA0B;AAC1B,wBAAgB,SAAS,IAAI,MAAM,CAElC"}
package/dist/registry.js CHANGED
@@ -1,12 +1,11 @@
1
1
  // 工具注册表(S6.3):统一工具定义结构 + 注册/查询 API
2
- // 契约来源:doc/api/tools.md(工具分级、工具执行契约);doc/design/decisions.md 决策 14/15。
3
2
  // 供后续切片扩展:S6.4 分析类 / S6.5 伏笔 / S6.6 提案 / S6.7 执行 + executor 均可
4
3
  // registerTool 挂载新工具;S7.4 executor 通过 getTool(name) 按名调度。
5
4
  //
6
5
  // 定义结构 { name, description, argsSchema, permission, run }:
7
6
  // - argsSchema:zod 参数校验(执行前 preflight 校验,批量 tool_call 先全部校验再执行,
8
- // tools.md「工具执行契约」);校验失败即抛错(executor 统一转结构化 tool_result 喂回 LLM)
9
- // - permission:TOOL_PERMISSION.AUTO(自动)/ PROPOSAL(提案确认)两级(tools.md「工具分级」)
7
+ // 「工具执行」);校验失败即抛错(executor 统一转结构化 tool_result 喂回 LLM)
8
+ // - permission:TOOL_PERMISSION.AUTO(自动)/ PROPOSAL(提案确认)两级(「工具分级」)
10
9
  // - run(ctx, args):同步执行,返回 JSON 可序列化结果;抛错即失败(不把失败编码进正常 content)
11
10
  //
12
11
  // 注册语义:重复注册同名工具抛错(防 S6.4-6.7 与查询类撞名;注册表是唯一事实来源)。
@@ -1 +1 @@
1
- {"version":3,"file":"registry.js","sourceRoot":"","sources":["../src/registry.ts"],"names":[],"mappings":"AAAA,mCAAmC;AACnC,uEAAuE;AACvE,+DAA+D;AAC/D,0DAA0D;AAC1D,EAAE;AACF,2DAA2D;AAC3D,gEAAgE;AAChE,kEAAkE;AAClE,0EAA0E;AAC1E,gEAAgE;AAChE,EAAE;AACF,iDAAiD;AA8BjD,gCAAgC;AAChC,MAAM,QAAQ,GAAG,IAAI,GAAG,EAA0B,CAAC;AAEnD;;;;GAIG;AACH,MAAM,UAAU,YAAY,CAAC,GAAmB;IAC9C,IAAI,OAAO,GAAG,CAAC,IAAI,KAAK,QAAQ,IAAI,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;QAC3D,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAC;IAC/C,CAAC;IACD,IAAI,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;QAC3B,MAAM,IAAI,KAAK,CAAC,oBAAoB,GAAG,CAAC,IAAI,cAAc,CAAC,CAAC;IAC9D,CAAC;IACD,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;AAC9B,CAAC;AAED,qDAAqD;AACrD,MAAM,UAAU,aAAa,CAAC,IAA+B;IAC3D,KAAK,MAAM,GAAG,IAAI,IAAI;QAAE,YAAY,CAAC,GAAG,CAAC,CAAC;AAC5C,CAAC;AAED,qDAAqD;AACrD,MAAM,UAAU,OAAO,CAAC,IAAY;IAClC,OAAO,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;AAC5B,CAAC;AAED,kDAAkD;AAClD,MAAM,UAAU,SAAS;IACvB,OAAO,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;AAC7E,CAAC;AAED,0BAA0B;AAC1B,MAAM,UAAU,SAAS;IACvB,OAAO,QAAQ,CAAC,IAAI,CAAC;AACvB,CAAC"}
1
+ {"version":3,"file":"registry.js","sourceRoot":"","sources":["../src/registry.ts"],"names":[],"mappings":"AAAA,mCAAmC;AACnC,+DAA+D;AAC/D,0DAA0D;AAC1D,EAAE;AACF,2DAA2D;AAC3D,gEAAgE;AAChE,sDAAsD;AACtD,kEAAkE;AAClE,gEAAgE;AAChE,EAAE;AACF,iDAAiD;AA8BjD,gCAAgC;AAChC,MAAM,QAAQ,GAAG,IAAI,GAAG,EAA0B,CAAC;AAEnD;;;;GAIG;AACH,MAAM,UAAU,YAAY,CAAC,GAAmB;IAC9C,IAAI,OAAO,GAAG,CAAC,IAAI,KAAK,QAAQ,IAAI,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;QAC3D,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAC;IAC/C,CAAC;IACD,IAAI,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;QAC3B,MAAM,IAAI,KAAK,CAAC,oBAAoB,GAAG,CAAC,IAAI,cAAc,CAAC,CAAC;IAC9D,CAAC;IACD,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;AAC9B,CAAC;AAED,qDAAqD;AACrD,MAAM,UAAU,aAAa,CAAC,IAA+B;IAC3D,KAAK,MAAM,GAAG,IAAI,IAAI;QAAE,YAAY,CAAC,GAAG,CAAC,CAAC;AAC5C,CAAC;AAED,qDAAqD;AACrD,MAAM,UAAU,OAAO,CAAC,IAAY;IAClC,OAAO,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;AAC5B,CAAC;AAED,kDAAkD;AAClD,MAAM,UAAU,SAAS;IACvB,OAAO,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;AAC7E,CAAC;AAED,0BAA0B;AAC1B,MAAM,UAAU,SAAS;IACvB,OAAO,QAAQ,CAAC,IAAI,CAAC;AACvB,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@whispering233/ai-editor-tools",
3
- "version": "0.0.21",
3
+ "version": "0.0.26",
4
4
  "license": "MIT",
5
5
  "description": "AI 工具目录:工具定义 + 执行器",
6
6
  "type": "module",
@@ -26,8 +26,8 @@
26
26
  "postpack": "node ../../scripts/restore-package-json.mjs"
27
27
  },
28
28
  "dependencies": {
29
- "@whispering233/ai-editor-db": "0.0.21",
30
- "@whispering233/ai-editor-shared": "0.0.21"
29
+ "@whispering233/ai-editor-db": "0.0.26",
30
+ "@whispering233/ai-editor-shared": "0.0.26"
31
31
  },
32
32
  "devDependencies": {
33
33
  "typescript": "^5.8.0",