@synth-coder/memhub 0.2.2 → 0.2.4

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 (116) hide show
  1. package/.factory/commands/opsx-apply.md +150 -0
  2. package/.factory/commands/opsx-archive.md +155 -0
  3. package/.factory/commands/opsx-explore.md +171 -0
  4. package/.factory/commands/opsx-propose.md +104 -0
  5. package/.factory/skills/openspec-apply-change/SKILL.md +156 -0
  6. package/.factory/skills/openspec-archive-change/SKILL.md +114 -0
  7. package/.factory/skills/openspec-explore/SKILL.md +288 -0
  8. package/.factory/skills/openspec-propose/SKILL.md +110 -0
  9. package/.github/workflows/ci.yml +48 -12
  10. package/.github/workflows/release.yml +67 -0
  11. package/AGENTS.md +158 -17
  12. package/README.md +147 -66
  13. package/README.zh-CN.md +75 -23
  14. package/dist/src/cli/agents/claude-code.d.ts +5 -0
  15. package/dist/src/cli/agents/claude-code.d.ts.map +1 -0
  16. package/dist/src/cli/agents/claude-code.js +14 -0
  17. package/dist/src/cli/agents/claude-code.js.map +1 -0
  18. package/dist/src/cli/agents/cline.d.ts +5 -0
  19. package/dist/src/cli/agents/cline.d.ts.map +1 -0
  20. package/dist/src/cli/agents/cline.js +14 -0
  21. package/dist/src/cli/agents/cline.js.map +1 -0
  22. package/dist/src/cli/agents/codex.d.ts +5 -0
  23. package/dist/src/cli/agents/codex.d.ts.map +1 -0
  24. package/dist/src/cli/agents/codex.js +14 -0
  25. package/dist/src/cli/agents/codex.js.map +1 -0
  26. package/dist/src/cli/agents/cursor.d.ts +5 -0
  27. package/dist/src/cli/agents/cursor.d.ts.map +1 -0
  28. package/dist/src/cli/agents/cursor.js +14 -0
  29. package/dist/src/cli/agents/cursor.js.map +1 -0
  30. package/dist/src/cli/agents/factory-droid.d.ts +5 -0
  31. package/dist/src/cli/agents/factory-droid.d.ts.map +1 -0
  32. package/dist/src/cli/agents/factory-droid.js +14 -0
  33. package/dist/src/cli/agents/factory-droid.js.map +1 -0
  34. package/dist/src/cli/agents/gemini-cli.d.ts +5 -0
  35. package/dist/src/cli/agents/gemini-cli.d.ts.map +1 -0
  36. package/dist/src/cli/agents/gemini-cli.js +14 -0
  37. package/dist/src/cli/agents/gemini-cli.js.map +1 -0
  38. package/dist/src/cli/agents/index.d.ts +14 -0
  39. package/dist/src/cli/agents/index.d.ts.map +1 -0
  40. package/dist/src/cli/agents/index.js +30 -0
  41. package/dist/src/cli/agents/index.js.map +1 -0
  42. package/dist/src/cli/agents/windsurf.d.ts +5 -0
  43. package/dist/src/cli/agents/windsurf.d.ts.map +1 -0
  44. package/dist/src/cli/agents/windsurf.js +14 -0
  45. package/dist/src/cli/agents/windsurf.js.map +1 -0
  46. package/dist/src/cli/index.d.ts +8 -0
  47. package/dist/src/cli/index.d.ts.map +1 -0
  48. package/dist/src/cli/index.js +168 -0
  49. package/dist/src/cli/index.js.map +1 -0
  50. package/dist/src/cli/init.d.ts +34 -0
  51. package/dist/src/cli/init.d.ts.map +1 -0
  52. package/dist/src/cli/init.js +160 -0
  53. package/dist/src/cli/init.js.map +1 -0
  54. package/dist/src/cli/instructions.d.ts +29 -0
  55. package/dist/src/cli/instructions.d.ts.map +1 -0
  56. package/dist/src/cli/instructions.js +141 -0
  57. package/dist/src/cli/instructions.js.map +1 -0
  58. package/dist/src/cli/types.d.ts +22 -0
  59. package/dist/src/cli/types.d.ts.map +1 -0
  60. package/dist/src/cli/types.js +86 -0
  61. package/dist/src/cli/types.js.map +1 -0
  62. package/dist/src/contracts/schemas.js.map +1 -1
  63. package/dist/src/server/mcp-server.d.ts +8 -0
  64. package/dist/src/server/mcp-server.d.ts.map +1 -1
  65. package/dist/src/server/mcp-server.js +30 -16
  66. package/dist/src/server/mcp-server.js.map +1 -1
  67. package/dist/src/services/embedding-service.d.ts.map +1 -1
  68. package/dist/src/services/embedding-service.js +1 -1
  69. package/dist/src/services/embedding-service.js.map +1 -1
  70. package/dist/src/services/memory-service.d.ts +1 -0
  71. package/dist/src/services/memory-service.d.ts.map +1 -1
  72. package/dist/src/services/memory-service.js +125 -82
  73. package/dist/src/services/memory-service.js.map +1 -1
  74. package/dist/src/storage/markdown-storage.d.ts.map +1 -1
  75. package/dist/src/storage/markdown-storage.js +1 -1
  76. package/dist/src/storage/markdown-storage.js.map +1 -1
  77. package/dist/src/storage/vector-index.d.ts.map +1 -1
  78. package/dist/src/storage/vector-index.js +4 -5
  79. package/dist/src/storage/vector-index.js.map +1 -1
  80. package/docs/README.md +21 -0
  81. package/docs/mcp-tools.md +136 -0
  82. package/docs/user-guide.md +182 -0
  83. package/package.json +22 -19
  84. package/src/cli/agents/claude-code.ts +14 -0
  85. package/src/cli/agents/cline.ts +14 -0
  86. package/src/cli/agents/codex.ts +14 -0
  87. package/src/cli/agents/cursor.ts +14 -0
  88. package/src/cli/agents/factory-droid.ts +14 -0
  89. package/src/cli/agents/gemini-cli.ts +14 -0
  90. package/src/cli/agents/index.ts +36 -0
  91. package/src/cli/agents/windsurf.ts +14 -0
  92. package/src/cli/index.ts +192 -0
  93. package/src/cli/init.ts +218 -0
  94. package/src/cli/instructions.ts +156 -0
  95. package/src/cli/types.ts +112 -0
  96. package/src/contracts/mcp.ts +1 -1
  97. package/src/contracts/schemas.ts +4 -4
  98. package/src/contracts/types.ts +4 -4
  99. package/src/server/mcp-server.ts +36 -29
  100. package/src/services/embedding-service.ts +80 -80
  101. package/src/services/memory-service.ts +142 -107
  102. package/src/storage/markdown-storage.ts +1 -9
  103. package/src/storage/vector-index.ts +117 -118
  104. package/test/cli/init.test.ts +380 -0
  105. package/test/server/mcp-server.test.ts +45 -3
  106. package/test/services/memory-service.test.ts +16 -4
  107. package/test/storage/frontmatter-parser.test.ts +1 -1
  108. package/test/storage/markdown-storage.test.ts +19 -10
  109. package/test/storage/vector-index.test.ts +129 -133
  110. package/test/utils/slugify.test.ts +5 -1
  111. package/docs/architecture.md +0 -349
  112. package/docs/contracts.md +0 -119
  113. package/docs/prompt-template.md +0 -79
  114. package/docs/proposals/mcp-typescript-sdk-refactor.md +0 -568
  115. package/docs/proposals/proposal-close-gates.md +0 -58
  116. package/docs/tool-calling-policy.md +0 -107
@@ -1,107 +0,0 @@
1
- # Tool Calling Policy (STM-first)
2
-
3
- > 目标:让模型在每轮任务中稳定形成「先加载短期记忆,再产出,再回写记忆」的闭环。
4
-
5
- ## 一、调用时序(强约束)
6
-
7
- 1. **首轮调用 `memory_load`**(在响应用户前)
8
- - 用于加载当前会话/任务相关短期记忆(STM)
9
- - 若无命中,继续任务,不阻塞
10
-
11
- 2. **末轮调用 `memory_update`**(在本轮输出结束前)
12
- - 将本轮新增的关键上下文写回
13
- - 重点写入:决策、约束变更、待办变化、关键结论
14
-
15
- ---
16
-
17
- ## 二、STM 判据(3 轮复用原则)
18
-
19
- 若信息在未来 **3 轮** 内很可能被再次引用,则纳入 STM:
20
-
21
- - 当前任务目标/范围
22
- - 新确认的约束条件
23
- - 待办项与状态变化(pending / done)
24
- - 临时变量、参数、文件路径、报错栈
25
- - 用户明确修正/改口(需求切换)
26
-
27
- 不满足则不强行写入,避免噪音。
28
-
29
- ---
30
-
31
- ## 三、建议工具定义(简化版)
32
-
33
- ## `memory_load`
34
- **作用**:统一“看记忆”,用于当前轮开头加载上下文。
35
-
36
- **建议入参**:
37
- - `session_id`(可选,推荐)
38
- - `date`(可选,默认今天)
39
- - `limit`(可选,默认 20)
40
- - `tags`(可选)
41
- - `category`(可选)
42
- - `query`(可选)
43
- - `scope`(可选:`stm|all`,默认 `stm`)
44
-
45
- **建议返回**:
46
- - `items[]`(记忆条目)
47
- - `summary`(可选摘要)
48
- - `pending[]` / `done[]`(若可提取)
49
-
50
- ---
51
-
52
- ## `memory_update`
53
- **作用**:统一“写记忆”,用于当前轮末尾回写。
54
-
55
- **建议入参**:
56
- - `session_id`(可选;无则自动生成并返回)
57
- - `date`(可选,默认今天)
58
- - `mode`:`append|upsert`(默认 `append`)
59
- - `entry_type`:`decision|preference|knowledge|todo|state_change`
60
- - `title`
61
- - `content`
62
- - `tags[]`
63
- - `category`
64
- - `importance`(1-5)
65
-
66
- **建议返回**:
67
- - `id`
68
- - `session_id`
69
- - `file_path`
70
- - `created|updated`
71
-
72
- ---
73
-
74
- ## 四、并发与目录规范
75
-
76
- 为支持多个 CLI 同时写入,建议目录如下:
77
-
78
- ```text
79
- memories/
80
- YYYY-MM-DD/
81
- <session_uuid>/
82
- 2026-03-03T16-41-23.123Z-<slug>.md
83
- ```
84
-
85
- 说明:
86
- - 同一天按 `session_uuid` 分桶,避免并发冲突
87
- - 每条记录仍保留 YAML + Markdown 正文
88
- - `session_uuid` 可来自调用方;缺省由服务端生成
89
-
90
- ---
91
-
92
- ## 五、触发更新条件
93
-
94
- 在以下事件发生时,优先触发 `memory_update`:
95
-
96
- - 用户显式改需求(如“换个方案”)
97
- - 任务状态切换(分析 → 实现 / 实现 → 验证)
98
- - 新信息与既有 STM 冲突
99
- - 本轮产出形成可复用结论
100
-
101
- ---
102
-
103
- ## 六、设计原则
104
-
105
- - **STM 保留细节,不做过度抽象**
106
- - **LTM 另层抽取,不与 STM 混存**
107
- - **先 load,后 update,形成闭环**