@coralai/sps-cli 0.58.13 → 0.58.15

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 (155) hide show
  1. package/README.md +2 -14
  2. package/dist/commands/agentCommand.d.ts.map +1 -1
  3. package/dist/commands/agentCommand.js +29 -26
  4. package/dist/commands/agentCommand.js.map +1 -1
  5. package/dist/commands/memoryCommand.d.ts +2 -0
  6. package/dist/commands/memoryCommand.d.ts.map +1 -0
  7. package/dist/commands/memoryCommand.js +263 -0
  8. package/dist/commands/memoryCommand.js.map +1 -0
  9. package/dist/commands/projectInit.d.ts.map +1 -1
  10. package/dist/commands/projectInit.js +21 -0
  11. package/dist/commands/projectInit.js.map +1 -1
  12. package/dist/commands/tick.d.ts.map +1 -1
  13. package/dist/commands/tick.js +1 -19
  14. package/dist/commands/tick.js.map +1 -1
  15. package/dist/console/index.d.ts.map +1 -1
  16. package/dist/console/index.js +2 -0
  17. package/dist/console/index.js.map +1 -1
  18. package/dist/console/routes/chat.d.ts.map +1 -1
  19. package/dist/console/routes/chat.js +22 -23
  20. package/dist/console/routes/chat.js.map +1 -1
  21. package/dist/console/routes/memory.d.ts +11 -0
  22. package/dist/console/routes/memory.d.ts.map +1 -0
  23. package/dist/console/routes/memory.js +63 -0
  24. package/dist/console/routes/memory.js.map +1 -0
  25. package/dist/console/routes/system.d.ts.map +1 -1
  26. package/dist/console/routes/system.js +6 -3
  27. package/dist/console/routes/system.js.map +1 -1
  28. package/dist/console-assets/assets/index-DENsMsFy.css +10 -0
  29. package/dist/console-assets/assets/{index-BiGbp-FL.js → index-R6Y8wve3.js} +194 -194
  30. package/dist/console-assets/index.html +2 -2
  31. package/dist/core/agents/AcpBackend.d.ts +2 -0
  32. package/dist/core/agents/AcpBackend.d.ts.map +1 -1
  33. package/dist/core/agents/AcpBackend.js +5 -0
  34. package/dist/core/agents/AcpBackend.js.map +1 -1
  35. package/dist/core/agents/ClaudeSdkBackend.d.ts +0 -1
  36. package/dist/core/agents/ClaudeSdkBackend.d.ts.map +1 -1
  37. package/dist/core/agents/ClaudeSdkBackend.js +1 -1
  38. package/dist/core/agents/ClaudeSdkBackend.js.map +1 -1
  39. package/dist/core/agents/CodexAppServerBackend.d.ts +0 -1
  40. package/dist/core/agents/CodexAppServerBackend.d.ts.map +1 -1
  41. package/dist/core/agents/CodexAppServerBackend.js +1 -1
  42. package/dist/core/agents/CodexAppServerBackend.js.map +1 -1
  43. package/dist/core/agents/OpenAiAgentBackend.d.ts +0 -2
  44. package/dist/core/agents/OpenAiAgentBackend.d.ts.map +1 -1
  45. package/dist/core/agents/OpenAiAgentBackend.js +5 -4
  46. package/dist/core/agents/OpenAiAgentBackend.js.map +1 -1
  47. package/dist/core/agents/resolveBackend.d.ts +0 -1
  48. package/dist/core/agents/resolveBackend.d.ts.map +1 -1
  49. package/dist/core/agents/resolveBackend.js +3 -4
  50. package/dist/core/agents/resolveBackend.js.map +1 -1
  51. package/dist/core/codegraph/claudeMdRule.d.ts +7 -0
  52. package/dist/core/codegraph/claudeMdRule.d.ts.map +1 -0
  53. package/dist/core/codegraph/claudeMdRule.js +79 -0
  54. package/dist/core/codegraph/claudeMdRule.js.map +1 -0
  55. package/dist/core/memory2/capture.d.ts +33 -0
  56. package/dist/core/memory2/capture.d.ts.map +1 -0
  57. package/dist/core/memory2/capture.js +91 -0
  58. package/dist/core/memory2/capture.js.map +1 -0
  59. package/dist/core/memory2/claudeMdRule.d.ts +7 -0
  60. package/dist/core/memory2/claudeMdRule.d.ts.map +1 -0
  61. package/dist/core/memory2/claudeMdRule.js +65 -0
  62. package/dist/core/memory2/claudeMdRule.js.map +1 -0
  63. package/dist/core/memory2/config.d.ts +20 -0
  64. package/dist/core/memory2/config.d.ts.map +1 -0
  65. package/dist/core/memory2/config.js +26 -0
  66. package/dist/core/memory2/config.js.map +1 -0
  67. package/dist/core/memory2/digest.d.ts +16 -0
  68. package/dist/core/memory2/digest.d.ts.map +1 -0
  69. package/dist/core/memory2/digest.js +52 -0
  70. package/dist/core/memory2/digest.js.map +1 -0
  71. package/dist/core/memory2/gc.d.ts +9 -0
  72. package/dist/core/memory2/gc.d.ts.map +1 -0
  73. package/dist/core/memory2/gc.js +45 -0
  74. package/dist/core/memory2/gc.js.map +1 -0
  75. package/dist/core/memory2/inject.d.ts +16 -0
  76. package/dist/core/memory2/inject.d.ts.map +1 -0
  77. package/dist/core/memory2/inject.js +45 -0
  78. package/dist/core/memory2/inject.js.map +1 -0
  79. package/dist/core/memory2/lock.d.ts +7 -0
  80. package/dist/core/memory2/lock.d.ts.map +1 -0
  81. package/dist/core/memory2/lock.js +59 -0
  82. package/dist/core/memory2/lock.js.map +1 -0
  83. package/dist/core/memory2/migrate.d.ts +12 -0
  84. package/dist/core/memory2/migrate.d.ts.map +1 -0
  85. package/dist/core/memory2/migrate.js +119 -0
  86. package/dist/core/memory2/migrate.js.map +1 -0
  87. package/dist/core/memory2/redact.d.ts +21 -0
  88. package/dist/core/memory2/redact.d.ts.map +1 -0
  89. package/dist/core/memory2/redact.js +116 -0
  90. package/dist/core/memory2/redact.js.map +1 -0
  91. package/dist/core/memory2/retrieve.d.ts +16 -0
  92. package/dist/core/memory2/retrieve.d.ts.map +1 -0
  93. package/dist/core/memory2/retrieve.js +70 -0
  94. package/dist/core/memory2/retrieve.js.map +1 -0
  95. package/dist/core/memory2/store.d.ts +30 -0
  96. package/dist/core/memory2/store.d.ts.map +1 -0
  97. package/dist/core/memory2/store.js +217 -0
  98. package/dist/core/memory2/store.js.map +1 -0
  99. package/dist/core/memory2/types.d.ts +53 -0
  100. package/dist/core/memory2/types.d.ts.map +1 -0
  101. package/dist/core/memory2/types.js +12 -0
  102. package/dist/core/memory2/types.js.map +1 -0
  103. package/dist/engines/StageEngine.d.ts.map +1 -1
  104. package/dist/engines/StageEngine.js +13 -8
  105. package/dist/engines/StageEngine.js.map +1 -1
  106. package/dist/main.js +17 -154
  107. package/dist/main.js.map +1 -1
  108. package/dist/manager/worker-manager-impl.d.ts +10 -0
  109. package/dist/manager/worker-manager-impl.d.ts.map +1 -1
  110. package/dist/manager/worker-manager-impl.js +50 -5
  111. package/dist/manager/worker-manager-impl.js.map +1 -1
  112. package/dist/providers/llm/workerTools.js +1 -1
  113. package/dist/providers/mcp/spsMcpServer.d.ts +13 -7
  114. package/dist/providers/mcp/spsMcpServer.d.ts.map +1 -1
  115. package/dist/providers/mcp/spsMcpServer.js +90 -28
  116. package/dist/providers/mcp/spsMcpServer.js.map +1 -1
  117. package/dist/providers/mcp/spsMcpStdio.js +3 -15
  118. package/dist/providers/mcp/spsMcpStdio.js.map +1 -1
  119. package/dist/providers/mcp/spsMcpStdioConfig.d.ts +2 -1
  120. package/dist/providers/mcp/spsMcpStdioConfig.d.ts.map +1 -1
  121. package/dist/providers/mcp/spsMcpStdioConfig.js +3 -1
  122. package/dist/providers/mcp/spsMcpStdioConfig.js.map +1 -1
  123. package/dist/services/MemoryService.d.ts +69 -0
  124. package/dist/services/MemoryService.d.ts.map +1 -0
  125. package/dist/services/MemoryService.js +178 -0
  126. package/dist/services/MemoryService.js.map +1 -0
  127. package/dist/services/SystemService.d.ts +17 -3
  128. package/dist/services/SystemService.d.ts.map +1 -1
  129. package/dist/services/SystemService.js +75 -17
  130. package/dist/services/SystemService.js.map +1 -1
  131. package/dist/services/container.d.ts +2 -0
  132. package/dist/services/container.d.ts.map +1 -1
  133. package/dist/services/container.js +2 -0
  134. package/dist/services/container.js.map +1 -1
  135. package/package.json +1 -2
  136. package/project-template/.claude/CLAUDE.md +0 -23
  137. package/skills/sps-pipeline/SKILL.md +12 -15
  138. package/dist/console-assets/assets/index-BHtTCxMY.css +0 -10
  139. package/dist/core/memory.d.ts +0 -85
  140. package/dist/core/memory.d.ts.map +0 -1
  141. package/dist/core/memory.js +0 -374
  142. package/dist/core/memory.js.map +0 -1
  143. package/dist/core/memoryIngest.d.ts +0 -18
  144. package/dist/core/memoryIngest.d.ts.map +0 -1
  145. package/dist/core/memoryIngest.js +0 -56
  146. package/dist/core/memoryIngest.js.map +0 -1
  147. package/dist/core/memoryProvider.d.ts +0 -63
  148. package/dist/core/memoryProvider.d.ts.map +0 -1
  149. package/dist/core/memoryProvider.js +0 -205
  150. package/dist/core/memoryProvider.js.map +0 -1
  151. package/dist/core/transcriptIngest.d.ts +0 -37
  152. package/dist/core/transcriptIngest.d.ts.map +0 -1
  153. package/dist/core/transcriptIngest.js +0 -137
  154. package/dist/core/transcriptIngest.js.map +0 -1
  155. package/skills/sps-memory/SKILL.md +0 -51
@@ -0,0 +1,178 @@
1
+ /**
2
+ * @module services/MemoryService
3
+ * @description 本地记忆 v2 的 Console 服务层:封 core/memory2(store/retrieve/digest/gc/promote)
4
+ * 成 Result 契约,供 /api/memory 路由消费。跨作用域 CRUD + 检索 + 提升 + 收敛。
5
+ * 写路命中高危脱敏 → validation 错误(不抛穿)。config(mode/externalUrl)在 SystemService。
6
+ * @layer services
7
+ * @boundedContext memory
8
+ */
9
+ import { buildInjectionDigest, writeMemoryIndex } from '../core/memory2/digest.js';
10
+ import { gcScope } from '../core/memory2/gc.js';
11
+ import { RedactedEntryDropped } from '../core/memory2/redact.js';
12
+ import { recall } from '../core/memory2/retrieve.js';
13
+ import { deleteEntry, listAllScopes, listEntries, promoteEntry, readEntry, saveEntry, } from '../core/memory2/store.js';
14
+ import { MEMORY_CATEGORIES, } from '../core/memory2/types.js';
15
+ import { domainError } from '../shared/errors.js';
16
+ import { err, ok } from '../shared/result.js';
17
+ /** 把外部参数解析成 ScopeRef;非法则 validation 错误。 */
18
+ function resolveRef(p) {
19
+ const scope = p.scope ?? 'project';
20
+ if (scope === 'global')
21
+ return ok({ scope: 'global' });
22
+ if (scope === 'project') {
23
+ if (!p.project)
24
+ return err(domainError('validation', 'MEMORY_SCOPE', 'project scope 需要 project'));
25
+ return ok({ scope: 'project', project: p.project });
26
+ }
27
+ if (scope === 'agent') {
28
+ if (!p.agentId)
29
+ return err(domainError('validation', 'MEMORY_SCOPE', 'agent scope 需要 agentId'));
30
+ return ok({ scope: 'agent', agentId: p.agentId });
31
+ }
32
+ return err(domainError('validation', 'MEMORY_SCOPE', `未知 scope: ${scope}`));
33
+ }
34
+ const redactedErr = (e) => domainError('validation', 'MEMORY_REDACTED', `命中敏感信息被拒:${e.reasons.join(', ')}`, { details: { reasons: e.reasons } });
35
+ export class MemoryService {
36
+ /** 枚举所有作用域 + 条目数。 */
37
+ async listScopes() {
38
+ const scopes = listAllScopes().map((ref) => ({
39
+ scope: ref.scope,
40
+ project: ref.project,
41
+ agentId: ref.agentId,
42
+ count: listEntries(ref).length,
43
+ }));
44
+ return ok({ scopes });
45
+ }
46
+ /** 列一个作用域的全部条目(salience↓、updated↓)。 */
47
+ async list(p) {
48
+ const r = resolveRef(p);
49
+ if (!r.ok)
50
+ return r;
51
+ const data = listEntries(r.value).sort((a, b) => b.salience - a.salience || b.updated.localeCompare(a.updated));
52
+ return ok({ data });
53
+ }
54
+ /** 读一条全文。 */
55
+ async read(p, id) {
56
+ const r = resolveRef(p);
57
+ if (!r.ok)
58
+ return r;
59
+ const e = readEntry(r.value, id);
60
+ if (!e)
61
+ return err(domainError('not-found', 'MEMORY_NOT_FOUND', `记忆不存在: ${id}`));
62
+ return ok(e);
63
+ }
64
+ /** 新建 / 更新一条(带 id=更新)。命中高危脱敏 → validation。 */
65
+ async save(input) {
66
+ const r = resolveRef(input);
67
+ if (!r.ok)
68
+ return r;
69
+ if (!input.title?.trim() || !input.body?.trim()) {
70
+ return err(domainError('validation', 'MEMORY_FIELDS', 'title 与 body 必填'));
71
+ }
72
+ if (input.category && !MEMORY_CATEGORIES.includes(input.category)) {
73
+ return err(domainError('validation', 'MEMORY_CATEGORY', `category 须为 ${MEMORY_CATEGORIES.join('|')}`));
74
+ }
75
+ try {
76
+ const e = saveEntry(r.value, {
77
+ id: input.id,
78
+ title: input.title,
79
+ body: input.body,
80
+ category: input.category,
81
+ tags: input.tags,
82
+ salience: input.salience,
83
+ source: 'human',
84
+ });
85
+ writeMemoryIndex(r.value);
86
+ return ok(e);
87
+ }
88
+ catch (e) {
89
+ if (e instanceof RedactedEntryDropped)
90
+ return err(redactedErr(e));
91
+ throw e;
92
+ }
93
+ }
94
+ /** 软删一条。 */
95
+ async remove(p, id) {
96
+ const r = resolveRef(p);
97
+ if (!r.ok)
98
+ return r;
99
+ const deleted = deleteEntry(r.value, id);
100
+ if (!deleted)
101
+ return err(domainError('not-found', 'MEMORY_NOT_FOUND', `记忆不存在: ${id}`));
102
+ writeMemoryIndex(r.value);
103
+ return ok({ deleted });
104
+ }
105
+ /** 相关性检索。all=true 跨全作用域;否则按 scope 参数(或 project+global 默认)。 */
106
+ async recall(query, opts = {}) {
107
+ let refs;
108
+ if (opts.all) {
109
+ refs = listAllScopes();
110
+ }
111
+ else if (opts.scope) {
112
+ const r = resolveRef(opts);
113
+ if (!r.ok)
114
+ return r;
115
+ refs = [r.value];
116
+ }
117
+ else {
118
+ refs = [{ scope: 'global' }];
119
+ if (opts.project)
120
+ refs.unshift({ scope: 'project', project: opts.project });
121
+ if (opts.agentId)
122
+ refs.push({ scope: 'agent', agentId: opts.agentId });
123
+ }
124
+ const hits = recall(refs, query, { tags: opts.tags, limit: opts.limit });
125
+ return ok({ results: hits.map((h) => ({ entry: h.entry, score: Number(h.score.toFixed(3)) })) });
126
+ }
127
+ /** 提升 / 搬移到别的作用域。 */
128
+ async promote(from, id, to, opts = {}) {
129
+ const rf = resolveRef(from);
130
+ if (!rf.ok)
131
+ return rf;
132
+ const rt = resolveRef(to);
133
+ if (!rt.ok)
134
+ return rt;
135
+ try {
136
+ const saved = promoteEntry(rf.value, id, rt.value, opts);
137
+ if (!saved)
138
+ return err(domainError('not-found', 'MEMORY_NOT_FOUND', `源记忆不存在: ${id}`));
139
+ writeMemoryIndex(rf.value);
140
+ writeMemoryIndex(rt.value);
141
+ return ok(saved);
142
+ }
143
+ catch (e) {
144
+ if (e instanceof RedactedEntryDropped)
145
+ return err(redactedErr(e));
146
+ throw e;
147
+ }
148
+ }
149
+ /** 收敛(清 tombstone + 去重)。all=true 全量,否则单作用域。 */
150
+ async gc(p) {
151
+ let refs;
152
+ if (p.all) {
153
+ refs = listAllScopes();
154
+ }
155
+ else {
156
+ const r = resolveRef(p);
157
+ if (!r.ok)
158
+ return r;
159
+ refs = [r.value];
160
+ }
161
+ const results = refs.map((ref) => {
162
+ const stats = gcScope(ref);
163
+ return { scope: { scope: ref.scope, project: ref.project, agentId: ref.agentId, count: stats.kept }, ...stats };
164
+ });
165
+ return ok({ results });
166
+ }
167
+ /** 某作用域集的注入 digest 预览(供前端「worker 会看到什么」展示)。 */
168
+ async digest(p) {
169
+ const r = resolveRef(p);
170
+ if (!r.ok)
171
+ return r;
172
+ const refs = [r.value];
173
+ if (r.value.scope !== 'global')
174
+ refs.push({ scope: 'global' });
175
+ return ok({ digest: buildInjectionDigest(refs) });
176
+ }
177
+ }
178
+ //# sourceMappingURL=MemoryService.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MemoryService.js","sourceRoot":"","sources":["../../src/services/MemoryService.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,OAAO,EAAE,oBAAoB,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AACnF,OAAO,EAAE,OAAO,EAAgB,MAAM,uBAAuB,CAAC;AAC9D,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AACjE,OAAO,EAAE,MAAM,EAAE,MAAM,6BAA6B,CAAC;AACrD,OAAO,EACL,WAAW,EAAE,aAAa,EAAE,WAAW,EAAE,YAAY,EAAE,SAAS,EAAE,SAAS,GAC5E,MAAM,0BAA0B,CAAC;AAClC,OAAO,EACL,iBAAiB,GAClB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAoB,WAAW,EAAE,MAAM,qBAAqB,CAAC;AACpE,OAAO,EAAE,GAAG,EAAE,EAAE,EAAe,MAAM,qBAAqB,CAAC;AAwB3D,2CAA2C;AAC3C,SAAS,UAAU,CAAC,CAAc;IAChC,MAAM,KAAK,GAAG,CAAC,CAAC,KAAK,IAAI,SAAS,CAAC;IACnC,IAAI,KAAK,KAAK,QAAQ;QAAE,OAAO,EAAE,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC;IACvD,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QACxB,IAAI,CAAC,CAAC,CAAC,OAAO;YAAE,OAAO,GAAG,CAAC,WAAW,CAAC,YAAY,EAAE,cAAc,EAAE,0BAA0B,CAAC,CAAC,CAAC;QAClG,OAAO,EAAE,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;IACtD,CAAC;IACD,IAAI,KAAK,KAAK,OAAO,EAAE,CAAC;QACtB,IAAI,CAAC,CAAC,CAAC,OAAO;YAAE,OAAO,GAAG,CAAC,WAAW,CAAC,YAAY,EAAE,cAAc,EAAE,wBAAwB,CAAC,CAAC,CAAC;QAChG,OAAO,EAAE,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;IACpD,CAAC;IACD,OAAO,GAAG,CAAC,WAAW,CAAC,YAAY,EAAE,cAAc,EAAE,aAAa,KAAK,EAAE,CAAC,CAAC,CAAC;AAC9E,CAAC;AAED,MAAM,WAAW,GAAG,CAAC,CAAuB,EAAe,EAAE,CAC3D,WAAW,CAAC,YAAY,EAAE,iBAAiB,EAAE,YAAY,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;AAExH,MAAM,OAAO,aAAa;IACxB,qBAAqB;IACrB,KAAK,CAAC,UAAU;QACd,MAAM,MAAM,GAAgB,aAAa,EAAE,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;YACxD,KAAK,EAAE,GAAG,CAAC,KAAK;YAChB,OAAO,EAAE,GAAG,CAAC,OAAO;YACpB,OAAO,EAAE,GAAG,CAAC,OAAO;YACpB,KAAK,EAAE,WAAW,CAAC,GAAG,CAAC,CAAC,MAAM;SAC/B,CAAC,CAAC,CAAC;QACJ,OAAO,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC;IACxB,CAAC;IAED,uCAAuC;IACvC,KAAK,CAAC,IAAI,CAAC,CAAc;QACvB,MAAM,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC;QACxB,IAAI,CAAC,CAAC,CAAC,EAAE;YAAE,OAAO,CAAC,CAAC;QACpB,MAAM,IAAI,GAAG,WAAW,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,GAAG,CAAC,CAAC,QAAQ,IAAI,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;QAChH,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC;IACtB,CAAC;IAED,aAAa;IACb,KAAK,CAAC,IAAI,CAAC,CAAc,EAAE,EAAU;QACnC,MAAM,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC;QACxB,IAAI,CAAC,CAAC,CAAC,EAAE;YAAE,OAAO,CAAC,CAAC;QACpB,MAAM,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QACjC,IAAI,CAAC,CAAC;YAAE,OAAO,GAAG,CAAC,WAAW,CAAC,WAAW,EAAE,kBAAkB,EAAE,UAAU,EAAE,EAAE,CAAC,CAAC,CAAC;QACjF,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC;IACf,CAAC;IAED,8CAA8C;IAC9C,KAAK,CAAC,IAAI,CAAC,KAAqB;QAC9B,MAAM,CAAC,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC;QAC5B,IAAI,CAAC,CAAC,CAAC,EAAE;YAAE,OAAO,CAAC,CAAC;QACpB,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE,CAAC;YAChD,OAAO,GAAG,CAAC,WAAW,CAAC,YAAY,EAAE,eAAe,EAAE,iBAAiB,CAAC,CAAC,CAAC;QAC5E,CAAC;QACD,IAAI,KAAK,CAAC,QAAQ,IAAI,CAAE,iBAAuC,CAAC,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC;YACzF,OAAO,GAAG,CAAC,WAAW,CAAC,YAAY,EAAE,iBAAiB,EAAE,eAAe,iBAAiB,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;QACzG,CAAC;QACD,IAAI,CAAC;YACH,MAAM,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,KAAK,EAAE;gBAC3B,EAAE,EAAE,KAAK,CAAC,EAAE;gBACZ,KAAK,EAAE,KAAK,CAAC,KAAK;gBAClB,IAAI,EAAE,KAAK,CAAC,IAAI;gBAChB,QAAQ,EAAE,KAAK,CAAC,QAAsC;gBACtD,IAAI,EAAE,KAAK,CAAC,IAAI;gBAChB,QAAQ,EAAE,KAAK,CAAC,QAAQ;gBACxB,MAAM,EAAE,OAAO;aAChB,CAAC,CAAC;YACH,gBAAgB,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;YAC1B,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC;QACf,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,IAAI,CAAC,YAAY,oBAAoB;gBAAE,OAAO,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC;YAClE,MAAM,CAAC,CAAC;QACV,CAAC;IACH,CAAC;IAED,YAAY;IACZ,KAAK,CAAC,MAAM,CAAC,CAAc,EAAE,EAAU;QACrC,MAAM,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC;QACxB,IAAI,CAAC,CAAC,CAAC,EAAE;YAAE,OAAO,CAAC,CAAC;QACpB,MAAM,OAAO,GAAG,WAAW,CAAC,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QACzC,IAAI,CAAC,OAAO;YAAE,OAAO,GAAG,CAAC,WAAW,CAAC,WAAW,EAAE,kBAAkB,EAAE,UAAU,EAAE,EAAE,CAAC,CAAC,CAAC;QACvF,gBAAgB,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;QAC1B,OAAO,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC;IACzB,CAAC;IAED,8DAA8D;IAC9D,KAAK,CAAC,MAAM,CACV,KAAa,EACb,OAAyE,EAAE;QAE3E,IAAI,IAAgB,CAAC;QACrB,IAAI,IAAI,CAAC,GAAG,EAAE,CAAC;YACb,IAAI,GAAG,aAAa,EAAE,CAAC;QACzB,CAAC;aAAM,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YACtB,MAAM,CAAC,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC;YAC3B,IAAI,CAAC,CAAC,CAAC,EAAE;gBAAE,OAAO,CAAC,CAAC;YACpB,IAAI,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;QACnB,CAAC;aAAM,CAAC;YACN,IAAI,GAAG,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC;YAC7B,IAAI,IAAI,CAAC,OAAO;gBAAE,IAAI,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;YAC5E,IAAI,IAAI,CAAC,OAAO;gBAAE,IAAI,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;QACzE,CAAC;QACD,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC;QACzE,OAAO,EAAE,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;IACnG,CAAC;IAED,qBAAqB;IACrB,KAAK,CAAC,OAAO,CACX,IAAiB,EAAE,EAAU,EAAE,EAAe,EAAE,OAA2B,EAAE;QAE7E,MAAM,EAAE,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC;QAC5B,IAAI,CAAC,EAAE,CAAC,EAAE;YAAE,OAAO,EAAE,CAAC;QACtB,MAAM,EAAE,GAAG,UAAU,CAAC,EAAE,CAAC,CAAC;QAC1B,IAAI,CAAC,EAAE,CAAC,EAAE;YAAE,OAAO,EAAE,CAAC;QACtB,IAAI,CAAC;YACH,MAAM,KAAK,GAAG,YAAY,CAAC,EAAE,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;YACzD,IAAI,CAAC,KAAK;gBAAE,OAAO,GAAG,CAAC,WAAW,CAAC,WAAW,EAAE,kBAAkB,EAAE,WAAW,EAAE,EAAE,CAAC,CAAC,CAAC;YACtF,gBAAgB,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC;YAC3B,gBAAgB,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC;YAC3B,OAAO,EAAE,CAAC,KAAK,CAAC,CAAC;QACnB,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,IAAI,CAAC,YAAY,oBAAoB;gBAAE,OAAO,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC;YAClE,MAAM,CAAC,CAAC;QACV,CAAC;IACH,CAAC;IAED,+CAA+C;IAC/C,KAAK,CAAC,EAAE,CACN,CAAkC;QAElC,IAAI,IAAgB,CAAC;QACrB,IAAI,CAAC,CAAC,GAAG,EAAE,CAAC;YACV,IAAI,GAAG,aAAa,EAAE,CAAC;QACzB,CAAC;aAAM,CAAC;YACN,MAAM,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC;YACxB,IAAI,CAAC,CAAC,CAAC,EAAE;gBAAE,OAAO,CAAC,CAAC;YACpB,IAAI,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;QACnB,CAAC;QACD,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE;YAC/B,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;YAC3B,OAAO,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,GAAG,CAAC,KAAK,EAAE,OAAO,EAAE,GAAG,CAAC,OAAO,EAAE,OAAO,EAAE,GAAG,CAAC,OAAO,EAAE,KAAK,EAAE,KAAK,CAAC,IAAI,EAAE,EAAE,GAAG,KAAK,EAAE,CAAC;QAClH,CAAC,CAAC,CAAC;QACH,OAAO,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC;IACzB,CAAC;IAED,+CAA+C;IAC/C,KAAK,CAAC,MAAM,CAAC,CAAc;QACzB,MAAM,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC;QACxB,IAAI,CAAC,CAAC,CAAC,EAAE;YAAE,OAAO,CAAC,CAAC;QACpB,MAAM,IAAI,GAAe,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;QACnC,IAAI,CAAC,CAAC,KAAK,CAAC,KAAK,KAAK,QAAQ;YAAE,IAAI,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC;QAC/D,OAAO,EAAE,CAAC,EAAE,MAAM,EAAE,oBAAoB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACpD,CAAC;CACF"}
@@ -28,8 +28,16 @@ export interface EnvRaw {
28
28
  readonly etag: string;
29
29
  }
30
30
  export interface MemorySetting {
31
+ /** 记忆 v2 模式:local | local+external | external | none。 */
32
+ readonly mode: string;
33
+ /** 外部记忆后端地址(mode 含 external 时用)。 */
34
+ readonly externalUrl: string;
35
+ readonly modeOptions: readonly string[];
36
+ /** @deprecated 旧字段,保留供前端过渡;由 mode 派生。 */
31
37
  readonly provider: string;
38
+ /** @deprecated 旧字段,= externalUrl。 */
32
39
  readonly url: string;
40
+ /** @deprecated 旧 provider 选项。 */
33
41
  readonly options: readonly string[];
34
42
  }
35
43
  export interface LatestVersion {
@@ -75,10 +83,16 @@ export declare class SystemService {
75
83
  writeEnv(content: string, etag: string | undefined): Promise<Result<{
76
84
  etag: string;
77
85
  }, DomainError>>;
78
- /** 读记忆后端设置(SPS_MEMORY_PROVIDER / SPS_MEMORY_URL),默认 agentmemory。 */
86
+ /**
87
+ * 读记忆设置。优先新键 SPS_MEMORY_MODE / SPS_MEMORY_EXTERNAL_URL;缺失则回落旧键
88
+ * SPS_MEMORY_PROVIDER / SPS_MEMORY_URL(映射成 mode)。默认 local。响应含新旧字段(过渡兼容)。
89
+ */
79
90
  readMemory(): Promise<Result<MemorySetting, DomainError>>;
80
- /** 写记忆后端设置(只 upsert 那两个 key,不动其余 env 行)。 */
81
- writeMemory(provider: string, url: string): Promise<Result<MemorySetting, DomainError>>;
91
+ /**
92
+ * 写记忆设置。入参接受新 mode(local|local+external|external|none)或旧 provider(自动归一)
93
+ * 落新键 SPS_MEMORY_MODE / SPS_MEMORY_EXTERNAL_URL,并清掉旧键(SPS_MEMORY_PROVIDER/URL/ENABLE_MEMORY)完成迁移。
94
+ */
95
+ writeMemory(modeOrProvider: string, url: string): Promise<Result<MemorySetting, DomainError>>;
82
96
  /** 读两智能体模型配置(worker / reviewer)+ 可选 provider 池(供前端下拉)。 */
83
97
  readAgents(): Promise<Result<{
84
98
  agents: import('../core/intel/types.js').AgentsConfig;
@@ -1 +1 @@
1
- {"version":3,"file":"SystemService.d.ts","sourceRoot":"","sources":["../../src/services/SystemService.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAC/C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACxD,OAAO,EAAe,KAAK,WAAW,EAAE,MAAM,qBAAqB,CAAC;AACpE,OAAO,EAAW,KAAK,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAS3D,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,QAAQ;IACvB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;CAC1B;AAED,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;IACzB,QAAQ,CAAC,OAAO,EAAE,QAAQ,EAAE,CAAC;CAC9B;AAED,MAAM,WAAW,MAAM;IACrB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;IACzB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,CAAC;CACrC;AAED,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;CAC5B;AAED,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,EAAE,EAAE,OAAO,CAAC;IACrB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,wCAAwC;IACxC,QAAQ,CAAC,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAC;IACzC,wBAAwB;IACxB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;CAC1B;AAED,iEAAiE;AACjE,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,CAAC;IACnD,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;CAC1B;AAED,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,EAAE,EAAE,OAAO,CAAC;IACrB,QAAQ,CAAC,MAAM,EAAE,WAAW,EAAE,CAAC;IAC/B,QAAQ,CAAC,KAAK,EAAE,MAAM,EAAE,CAAC;IACzB,6BAA6B;IAC7B,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;CACtB;AAkBD,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,EAAE,EAAE,UAAU,CAAC;IACxB,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC;IACtB,QAAQ,CAAC,OAAO,EAAE,cAAc,CAAC;IACjC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,SAAS,EAAE,IAAI,CAAC;CAC1B;AAED,qBAAa,aAAa;IACZ,OAAO,CAAC,QAAQ,CAAC,IAAI;gBAAJ,IAAI,EAAE,iBAAiB;IAEpD,IAAI,IAAI,UAAU;IAWZ,OAAO,IAAI,OAAO,CAAC,MAAM,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC;IAwBnD,UAAU,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;IAalD,QAAQ,CACZ,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,MAAM,GAAG,SAAS,GACvB,OAAO,CAAC,MAAM,CAAC;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,EAAE,WAAW,CAAC,CAAC;IAmCjD,oEAAoE;IAC9D,UAAU,IAAI,OAAO,CAAC,MAAM,CAAC,aAAa,EAAE,WAAW,CAAC,CAAC;IAoB/D,4CAA4C;IACtC,WAAW,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,aAAa,EAAE,WAAW,CAAC,CAAC;IAuB7F,0DAA0D;IACpD,UAAU,IAAI,OAAO,CACzB,MAAM,CACJ;QACE,MAAM,EAAE,OAAO,wBAAwB,EAAE,YAAY,CAAC;QACtD,SAAS,EAAE;YAAE,SAAS,EAAE,OAAO,+BAA+B,EAAE,WAAW,EAAE,CAAC;YAAC,MAAM,EAAE,OAAO,+BAA+B,EAAE,WAAW,EAAE,CAAA;SAAE,CAAC;KAChJ,EACD,WAAW,CACZ,CACF;IASK,WAAW,CAAC,MAAM,EAAE,OAAO,wBAAwB,EAAE,YAAY,GAAG,OAAO,CAAC,MAAM,CAAC;QAAE,EAAE,EAAE,IAAI,CAAA;KAAE,EAAE,WAAW,CAAC,CAAC;IAU9G,aAAa,IAAI,OAAO,CAAC,MAAM,CAAC,aAAa,EAAE,WAAW,CAAC,CAAC;IA6BlE;;;;OAIG;IACG,OAAO,IAAI,OAAO,CAAC,MAAM,CAAC,aAAa,EAAE,WAAW,CAAC,CAAC;IAoC5D,uDAAuD;YACzC,oBAAoB;IAelC;;;;;OAKG;IACG,aAAa,CACjB,OAAO,EAAE,MAAM,EACf,IAAI,GAAE;QAAE,GAAG,CAAC,EAAE,OAAO,CAAA;KAAO,GAC3B,OAAO,CAAC,MAAM,CAAC,mBAAmB,EAAE,WAAW,CAAC,CAAC;IA6CpD,4CAA4C;IAC5C,OAAO,CAAC,oBAAoB;CA4B7B"}
1
+ {"version":3,"file":"SystemService.d.ts","sourceRoot":"","sources":["../../src/services/SystemService.ts"],"names":[],"mappings":"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"}
@@ -19,8 +19,31 @@ const SECRET_KEY_PATTERNS = [
19
19
  /_PASS$/,
20
20
  /^(ANTHROPIC|OPENAI|CLAUDE|MATRIX)_/,
21
21
  ];
22
- // 记忆后端可选项( core/memoryProvider 对齐)
22
+ // 记忆后端可选项(控制台"记忆插件"选择;外部 agentmemory/custom 属 phase 2,builtin=本地记忆 v2)
23
23
  const MEMORY_PROVIDERS = ['none', 'builtin', 'agentmemory', 'custom'];
24
+ // 记忆 v2 模式(设计 §8):local=纯本地(默认);local+external=本地为主+外部增补;
25
+ // external=只用外部;none=关。取代旧 SPS_MEMORY_PROVIDER。
26
+ const MEMORY_MODES = ['local', 'local+external', 'external', 'none'];
27
+ /** 旧 provider → 新 mode(读旧 env 文件时用)。 */
28
+ function providerToMode(provider) {
29
+ switch (provider) {
30
+ case 'none': return 'none';
31
+ case 'builtin': return 'local';
32
+ case 'agentmemory':
33
+ case 'custom': return 'external';
34
+ default: return 'local';
35
+ }
36
+ }
37
+ /** 新 mode → 旧 provider(响应里回填 deprecated 字段)。 */
38
+ function modeToProvider(mode) {
39
+ switch (mode) {
40
+ case 'none': return 'none';
41
+ case 'local': return 'builtin';
42
+ case 'external':
43
+ case 'local+external': return 'agentmemory';
44
+ default: return 'builtin';
45
+ }
46
+ }
24
47
  export class SystemService {
25
48
  deps;
26
49
  constructor(deps) {
@@ -103,40 +126,71 @@ export class SystemService {
103
126
  }
104
127
  return ok({ etag: hashEtag(content) });
105
128
  }
106
- /** 读记忆后端设置(SPS_MEMORY_PROVIDER / SPS_MEMORY_URL),默认 agentmemory。 */
129
+ /**
130
+ * 读记忆设置。优先新键 SPS_MEMORY_MODE / SPS_MEMORY_EXTERNAL_URL;缺失则回落旧键
131
+ * SPS_MEMORY_PROVIDER / SPS_MEMORY_URL(映射成 mode)。默认 local。响应含新旧字段(过渡兼容)。
132
+ */
107
133
  async readMemory() {
108
134
  const path = globalEnvFile();
109
- let provider = 'agentmemory';
110
- let url = '';
135
+ let mode = '';
136
+ let externalUrl = '';
137
+ let legacyProvider = '';
138
+ let legacyUrl = '';
111
139
  if (this.deps.fs.exists(path)) {
112
140
  try {
113
141
  for (const line of this.deps.fs.readFile(path).split('\n')) {
114
142
  const m = line.trim().match(/^(?:export\s+)?([A-Z_][A-Z0-9_]*)=["']?(.*?)["']?\s*$/);
115
143
  if (!m)
116
144
  continue;
117
- if (m[1] === 'SPS_MEMORY_PROVIDER' && m[2])
118
- provider = m[2];
145
+ if (m[1] === 'SPS_MEMORY_MODE' && m[2])
146
+ mode = m[2];
147
+ else if (m[1] === 'SPS_MEMORY_EXTERNAL_URL')
148
+ externalUrl = m[2] ?? '';
149
+ else if (m[1] === 'SPS_MEMORY_PROVIDER' && m[2])
150
+ legacyProvider = m[2];
119
151
  else if (m[1] === 'SPS_MEMORY_URL')
120
- url = m[2] ?? '';
121
- else if (m[1] === 'ENABLE_MEMORY' && m[2] === 'false')
122
- provider = 'none';
152
+ legacyUrl = m[2] ?? '';
153
+ else if (m[1] === 'ENABLE_MEMORY' && m[2] === 'false' && !mode)
154
+ mode = 'none';
123
155
  }
124
156
  }
125
157
  catch (cause) {
126
158
  return err(domainError('internal', 'ENV_READ_FAIL', 'Failed to read env file', { cause }));
127
159
  }
128
160
  }
129
- return ok({ provider, url, options: [...MEMORY_PROVIDERS] });
161
+ if (!mode)
162
+ mode = legacyProvider ? providerToMode(legacyProvider) : 'local';
163
+ if (!externalUrl)
164
+ externalUrl = legacyUrl;
165
+ return ok({
166
+ mode, externalUrl, modeOptions: [...MEMORY_MODES],
167
+ provider: modeToProvider(mode), url: externalUrl, options: [...MEMORY_PROVIDERS],
168
+ });
130
169
  }
131
- /** 写记忆后端设置(只 upsert 那两个 key,不动其余 env 行)。 */
132
- async writeMemory(provider, url) {
133
- if (!MEMORY_PROVIDERS.includes(provider)) {
134
- return err(domainError('validation', 'INVALID_MEMORY_PROVIDER', `provider must be one of ${MEMORY_PROVIDERS.join(', ')}`));
170
+ /**
171
+ * 写记忆设置。入参接受新 mode(local|local+external|external|none)或旧 provider(自动归一)
172
+ * 落新键 SPS_MEMORY_MODE / SPS_MEMORY_EXTERNAL_URL,并清掉旧键(SPS_MEMORY_PROVIDER/URL/ENABLE_MEMORY)完成迁移。
173
+ */
174
+ async writeMemory(modeOrProvider, url) {
175
+ const mode = MEMORY_MODES.includes(modeOrProvider)
176
+ ? modeOrProvider
177
+ : MEMORY_PROVIDERS.includes(modeOrProvider)
178
+ ? providerToMode(modeOrProvider)
179
+ : '';
180
+ if (!mode) {
181
+ return err(domainError('validation', 'INVALID_MEMORY_MODE', `mode must be one of ${MEMORY_MODES.join(', ')}`));
135
182
  }
136
183
  const path = globalEnvFile();
137
184
  let content = this.deps.fs.exists(path) ? this.deps.fs.readFile(path) : '';
138
- content = upsertEnvLine(content, 'SPS_MEMORY_PROVIDER', provider);
139
- content = url ? upsertEnvLine(content, 'SPS_MEMORY_URL', url) : removeEnvLine(content, 'SPS_MEMORY_URL');
185
+ content = upsertEnvLine(content, 'SPS_MEMORY_MODE', mode);
186
+ const withExternal = mode === 'external' || mode === 'local+external';
187
+ content = withExternal && url
188
+ ? upsertEnvLine(content, 'SPS_MEMORY_EXTERNAL_URL', url)
189
+ : removeEnvLine(content, 'SPS_MEMORY_EXTERNAL_URL');
190
+ // 清理旧键完成迁移。
191
+ content = removeEnvLine(content, 'SPS_MEMORY_PROVIDER');
192
+ content = removeEnvLine(content, 'SPS_MEMORY_URL');
193
+ content = removeEnvLine(content, 'ENABLE_MEMORY');
140
194
  try {
141
195
  this.deps.fs.writeFileAtomic(path, content);
142
196
  try {
@@ -149,7 +203,11 @@ export class SystemService {
149
203
  catch (cause) {
150
204
  return err(domainError('internal', 'ENV_WRITE_FAIL', 'Failed to write env file', { cause }));
151
205
  }
152
- return ok({ provider, url, options: [...MEMORY_PROVIDERS] });
206
+ const externalUrl = withExternal ? url : '';
207
+ return ok({
208
+ mode, externalUrl, modeOptions: [...MEMORY_MODES],
209
+ provider: modeToProvider(mode), url: externalUrl, options: [...MEMORY_PROVIDERS],
210
+ });
153
211
  }
154
212
  /** 读两智能体模型配置(worker / reviewer)+ 可选 provider 池(供前端下拉)。 */
155
213
  async readAgents() {
@@ -1 +1 @@
1
- {"version":3,"file":"SystemService.js","sourceRoot":"","sources":["../../src/services/SystemService.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"SystemService.js","sourceRoot":"","sources":["../../src/services/SystemService.ts"],"names":[],"mappings":"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"}
@@ -5,6 +5,7 @@ import { type DomainEventBus } from '../shared/domainEvents.js';
5
5
  import { CardService } from './CardService.js';
6
6
  import { type ChatExecutor, ChatService } from './ChatService.js';
7
7
  import { LogService } from './LogService.js';
8
+ import { MemoryService } from './MemoryService.js';
8
9
  import { type PipelineExecutor, PipelineService } from './PipelineService.js';
9
10
  import type { TaskBackendFactory } from './ports.js';
10
11
  import { AgentGenService } from './AgentGenService.js';
@@ -28,6 +29,7 @@ export interface ServiceContainer {
28
29
  readonly chat: ChatService;
29
30
  readonly system: SystemService;
30
31
  readonly smartarrange: SmartArrangeService;
32
+ readonly memory: MemoryService;
31
33
  }
32
34
  export interface SystemMeta {
33
35
  version: string;
@@ -1 +1 @@
1
- {"version":3,"file":"container.d.ts","sourceRoot":"","sources":["../../src/services/container.ts"],"names":[],"mappings":"AAcA,OAAO,EAAE,KAAK,KAAK,EAAe,MAAM,mBAAmB,CAAC;AAC5D,OAAO,EAAE,KAAK,UAAU,EAAkB,MAAM,wBAAwB,CAAC;AACzE,OAAO,EAAsB,KAAK,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAC5E,OAAO,EAAE,KAAK,cAAc,EAAgB,MAAM,2BAA2B,CAAC;AAC9E,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,KAAK,YAAY,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAQlE,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,KAAK,gBAAgB,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAC9E,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AACrD,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,KAAK,mBAAmB,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAC/E,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAC/D,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,KAAK,cAAc,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAExE,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,QAAQ,EAAE,cAAc,CAAC;IAClC,QAAQ,CAAC,KAAK,EAAE,WAAW,CAAC;IAC5B,QAAQ,CAAC,OAAO,EAAE,aAAa,CAAC;IAChC,QAAQ,CAAC,SAAS,EAAE,eAAe,CAAC;IACpC,QAAQ,CAAC,MAAM,EAAE,YAAY,CAAC;IAC9B,QAAQ,CAAC,KAAK,EAAE,YAAY,CAAC;IAC7B,QAAQ,CAAC,OAAO,EAAE,aAAa,CAAC;IAChC,QAAQ,CAAC,QAAQ,EAAE,eAAe,CAAC;IACnC,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC;IAC1B,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAC;IAC3B,QAAQ,CAAC,MAAM,EAAE,aAAa,CAAC;IAC/B,QAAQ,CAAC,YAAY,EAAE,mBAAmB,CAAC;CAC5C;AAED,MAAM,WAAW,UAAU;IACzB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,IAAI,CAAC;CACjB;AAED,MAAM,WAAW,gBAAgB;IAC/B,8BAA8B;IAC9B,EAAE,CAAC,EAAE,UAAU,CAAC;IAChB,KAAK,CAAC,EAAE,KAAK,CAAC;IACd,MAAM,CAAC,EAAE,cAAc,CAAC;IACxB,OAAO,CAAC,EAAE,cAAc,CAAC;IACzB,0BAA0B;IAC1B,kBAAkB,CAAC,EAAE,kBAAkB,CAAC;IACxC,mBAAmB,CAAC,EAAE,mBAAmB,CAAC;IAC1C,cAAc,CAAC,EAAE,cAAc,CAAC;IAChC,gBAAgB,CAAC,EAAE,gBAAgB,CAAC;IACpC,YAAY,CAAC,EAAE,YAAY,CAAC;IAC5B,gEAAgE;IAChE,UAAU,CAAC,EAAE,UAAU,CAAC;CACzB;AAED,wBAAgB,eAAe,CAAC,IAAI,GAAE,gBAAqB,GAAG,gBAAgB,CAoE7E"}
1
+ {"version":3,"file":"container.d.ts","sourceRoot":"","sources":["../../src/services/container.ts"],"names":[],"mappings":"AAcA,OAAO,EAAE,KAAK,KAAK,EAAe,MAAM,mBAAmB,CAAC;AAC5D,OAAO,EAAE,KAAK,UAAU,EAAkB,MAAM,wBAAwB,CAAC;AACzE,OAAO,EAAsB,KAAK,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAC5E,OAAO,EAAE,KAAK,cAAc,EAAgB,MAAM,2BAA2B,CAAC;AAC9E,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,KAAK,YAAY,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAQlE,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,KAAK,gBAAgB,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAC9E,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AACrD,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,KAAK,mBAAmB,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAC/E,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAC/D,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,KAAK,cAAc,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAExE,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,QAAQ,EAAE,cAAc,CAAC;IAClC,QAAQ,CAAC,KAAK,EAAE,WAAW,CAAC;IAC5B,QAAQ,CAAC,OAAO,EAAE,aAAa,CAAC;IAChC,QAAQ,CAAC,SAAS,EAAE,eAAe,CAAC;IACpC,QAAQ,CAAC,MAAM,EAAE,YAAY,CAAC;IAC9B,QAAQ,CAAC,KAAK,EAAE,YAAY,CAAC;IAC7B,QAAQ,CAAC,OAAO,EAAE,aAAa,CAAC;IAChC,QAAQ,CAAC,QAAQ,EAAE,eAAe,CAAC;IACnC,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC;IAC1B,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAC;IAC3B,QAAQ,CAAC,MAAM,EAAE,aAAa,CAAC;IAC/B,QAAQ,CAAC,YAAY,EAAE,mBAAmB,CAAC;IAC3C,QAAQ,CAAC,MAAM,EAAE,aAAa,CAAC;CAChC;AAED,MAAM,WAAW,UAAU;IACzB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,IAAI,CAAC;CACjB;AAED,MAAM,WAAW,gBAAgB;IAC/B,8BAA8B;IAC9B,EAAE,CAAC,EAAE,UAAU,CAAC;IAChB,KAAK,CAAC,EAAE,KAAK,CAAC;IACd,MAAM,CAAC,EAAE,cAAc,CAAC;IACxB,OAAO,CAAC,EAAE,cAAc,CAAC;IACzB,0BAA0B;IAC1B,kBAAkB,CAAC,EAAE,kBAAkB,CAAC;IACxC,mBAAmB,CAAC,EAAE,mBAAmB,CAAC;IAC1C,cAAc,CAAC,EAAE,cAAc,CAAC;IAChC,gBAAgB,CAAC,EAAE,gBAAgB,CAAC;IACpC,YAAY,CAAC,EAAE,YAAY,CAAC;IAC5B,gEAAgE;IAChE,UAAU,CAAC,EAAE,UAAU,CAAC;CACzB;AAED,wBAAgB,eAAe,CAAC,IAAI,GAAE,gBAAqB,GAAG,gBAAgB,CAqE7E"}
@@ -21,6 +21,7 @@ import { ChatService } from './ChatService.js';
21
21
  import { DefaultTaskBackendFactory } from './defaults.js';
22
22
  import { DefaultChatExecutor, DefaultPipelineExecutor, DefaultProjectInitExecutor, DefaultWorkerExecutor, } from './executors.js';
23
23
  import { LogService } from './LogService.js';
24
+ import { MemoryService } from './MemoryService.js';
24
25
  import { PipelineService } from './PipelineService.js';
25
26
  import { AgentGenService } from './AgentGenService.js';
26
27
  import { ProjectService } from './ProjectService.js';
@@ -93,6 +94,7 @@ export function createContainer(opts = {}) {
93
94
  startedAt: systemMeta.startedAt,
94
95
  }),
95
96
  smartarrange: new SmartArrangeService(),
97
+ memory: new MemoryService(),
96
98
  };
97
99
  }
98
100
  // ─── helpers ───────────────────────────────────────────────────────
@@ -1 +1 @@
1
- {"version":3,"file":"container.js","sourceRoot":"","sources":["../../src/services/container.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"container.js","sourceRoot":"","sources":["../../src/services/container.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@coralai/sps-cli",
3
- "version": "0.58.13",
3
+ "version": "0.58.15",
4
4
  "description": "SPS CLI — AI-driven development pipeline orchestrator",
5
5
  "type": "module",
6
6
  "main": "dist/main.js",
@@ -28,7 +28,6 @@
28
28
  "monitor-skills",
29
29
  "profiles",
30
30
  "skills/sps-pipeline",
31
- "skills/sps-memory",
32
31
  "README.md",
33
32
  "README-CN.md"
34
33
  ],
@@ -11,21 +11,6 @@
11
11
  - Do NOT read or modify files outside this directory.
12
12
  - Do NOT explore `~/.coral/projects/...` or other system paths.
13
13
 
14
- ## Reading code (token-efficient — prefer this)
15
-
16
- This project may have a **code graph**. When it does, use it INSTEAD of reading
17
- files one-by-one — one query returns the relevant symbols, their source, and
18
- call paths, which is far cheaper in tokens than grepping and reading whole files.
19
- Run these from the project root (your cwd):
20
-
21
- - `sps graph explore <keywords>` — entry points + related symbols + source + call paths for an area
22
- - `sps graph node <symbol>` — one symbol's definition + its callers/callees
23
- - `sps graph query <name>` — find symbols by name
24
- - `sps graph callers <symbol>` / `sps graph impact <symbol>` — who calls it / what a change affects
25
-
26
- Fall back to reading files directly only when the graph is missing what you need
27
- (or `sps graph status` shows it isn't built).
28
-
29
14
  ## SPS Pipeline Context
30
15
 
31
16
  This project is driven by SPS (Smart Pipeline System). Each card is a task.
@@ -63,14 +48,6 @@ columns, or commit on behalf of the pipeline. The hooks do it all.
63
48
  work, the pipeline will still advance (the Stop hook fires regardless). The
64
49
  user relies on your honesty here.
65
50
 
66
- ## Memory
67
-
68
- - Claude's **auto memory** is enabled and stored under
69
- `~/.coral/projects/$SPS_PROJECT/memory/`. You write to `MEMORY.md` there
70
- to persist knowledge across sessions.
71
- - Use `sps memory add $SPS_PROJECT --type ...` to write structured SPS memories
72
- (conventions, decisions, lessons) for the human to curate.
73
-
74
51
  ## Git (if the project uses git)
75
52
 
76
53
  - Claude handles all git operations itself (commit, push, etc.).
@@ -330,26 +330,23 @@ Pages:
330
330
 
331
331
  ---
332
332
 
333
- ## 8. Memory & Wiki (auto-injected into Worker prompts)
333
+ ## 8. Wiki (auto-injected into Worker prompts)
334
334
 
335
- | | **Memory** (`sps-memory` skill) | **Wiki** (`wiki-update` skill) |
336
- |---|---|---|
337
- | Purpose | Ad-hoc facts, user prefs, decisions, gotchas | Structured project knowledge: modules, concepts, decisions, lessons |
338
- | Path | `~/.coral/memory/{user,agents,projects/<p>}/` | `<repo>/wiki/` (per-project, in repo) |
339
- | Schema | Markdown + YAML frontmatter (`type: convention/decision/lesson/reference`) | 5 page types with zod-validated frontmatter |
340
- | Cross-link | None (flat index) | `[[type/Title]]` wikilinks |
341
- | Auto-inject | `buildFullMemoryContext` → prompt's `knowledge` section | `wikiRead` 5-layer → prompt's `wikiContext` section (only when `WIKI_ENABLED=true`) |
342
- | When to use | Personal style notes, "remember X" requests | Project knowledge that benefits future cards |
335
+ > **记忆系统重构中**:本地记忆(旧 `sps-memory` skill + `sps memory` CLI)已在 v2 重构里移除;新工具(`memory_*` / `sps memory recall/save`)上线后补。见 `docs/design/memory-v2.md`。
336
+
337
+ **Wiki** (`wiki-update` skill) structured project knowledge: modules, concepts, decisions, lessons.
343
338
 
344
- If you're configuring a project that needs structured knowledge accumulation,
345
- **enable Wiki** at create time. For ad-hoc facts only, memory alone is enough.
339
+ | | Wiki |
340
+ |---|---|
341
+ | Path | `<repo>/wiki/` (per-project, in repo) |
342
+ | Schema | 5 page types with zod-validated frontmatter |
343
+ | Cross-link | `[[type/Title]]` wikilinks |
344
+ | Auto-inject | `wikiRead` 5-layer → prompt's `wikiContext` section (only when `WIKI_ENABLED=true`) |
345
+
346
+ Enable Wiki at create time for structured knowledge accumulation.
346
347
 
347
348
  CLI helpers:
348
349
  ```bash
349
- sps memory list <p>
350
- sps memory context <p> # preview what gets injected
351
- sps memory add <p> --type convention --name "title" --body "content"
352
-
353
350
  sps wiki init <p> # scaffold (auto when WIKI_ENABLED=true)
354
351
  sps wiki update <p> # source diff
355
352
  sps wiki update <p> --finalize # flush manifest after pages written