aws-runtime-bridge 1.9.33 → 1.9.40
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.
- package/dist/adapter/AcodeSdkAdapter.d.ts +35 -1
- package/dist/adapter/AcodeSdkAdapter.d.ts.map +1 -1
- package/dist/adapter/AcodeSdkAdapter.js +417 -40
- package/dist/adapter/ClaudeSdkAdapter.d.ts +6 -0
- package/dist/adapter/ClaudeSdkAdapter.d.ts.map +1 -1
- package/dist/adapter/ClaudeSdkAdapter.js +23 -1
- package/dist/adapter/idle-poll-loop.d.ts +2 -1
- package/dist/adapter/idle-poll-loop.d.ts.map +1 -1
- package/dist/adapter/types.d.ts +65 -3
- package/dist/adapter/types.d.ts.map +1 -1
- package/dist/adapter/types.js +5 -4
- package/dist/index.js +4 -0
- package/dist/routes/acode-todos.d.ts +11 -0
- package/dist/routes/acode-todos.d.ts.map +1 -0
- package/dist/routes/acode-todos.js +75 -0
- package/dist/routes/memory.d.ts +1 -1
- package/dist/routes/memory.d.ts.map +1 -1
- package/dist/routes/memory.js +3 -3
- package/dist/routes/pty.d.ts.map +1 -1
- package/dist/routes/pty.js +9 -0
- package/dist/routes/sub-agents.d.ts +14 -0
- package/dist/routes/sub-agents.d.ts.map +1 -0
- package/dist/routes/sub-agents.js +253 -0
- package/dist/routes/terminal.d.ts +9 -1
- package/dist/routes/terminal.d.ts.map +1 -1
- package/dist/routes/terminal.js +207 -22
- package/dist/services/agent-event-store.d.ts +1 -0
- package/dist/services/agent-event-store.d.ts.map +1 -1
- package/dist/services/event-delta-pusher.js +4 -4
- package/dist/services/session-output.d.ts +3 -0
- package/dist/services/session-output.d.ts.map +1 -1
- package/dist/services/session-output.js +38 -2
- package/dist/services/sub-agent-manager-instance.d.ts +4 -0
- package/dist/services/sub-agent-manager-instance.d.ts.map +1 -0
- package/dist/services/sub-agent-manager-instance.js +12 -0
- package/dist/services/workspace-files.d.ts +1 -0
- package/dist/services/workspace-files.d.ts.map +1 -1
- package/dist/services/workspace-files.js +57 -1
- package/package/acode/dist/ask-user-question-tool.d.ts +47 -0
- package/package/acode/dist/ask-user-question-tool.d.ts.map +1 -0
- package/package/acode/dist/ask-user-question-tool.js +233 -0
- package/package/acode/dist/built-in-file-tools.d.ts +2 -0
- package/package/acode/dist/built-in-file-tools.d.ts.map +1 -1
- package/package/acode/dist/compaction.d.ts +206 -0
- package/package/acode/dist/compaction.d.ts.map +1 -0
- package/package/acode/dist/compaction.js +664 -0
- package/package/acode/dist/config.d.ts +6 -1
- package/package/acode/dist/config.d.ts.map +1 -1
- package/package/acode/dist/config.js +27 -2
- package/package/acode/dist/index.d.ts +4 -0
- package/package/acode/dist/index.d.ts.map +1 -1
- package/package/acode/dist/index.js +4 -0
- package/package/acode/dist/runtime.d.ts +137 -0
- package/package/acode/dist/runtime.d.ts.map +1 -1
- package/package/acode/dist/runtime.js +974 -172
- package/package/acode/dist/skill-tool.d.ts +30 -0
- package/package/acode/dist/skill-tool.d.ts.map +1 -0
- package/package/acode/dist/skill-tool.js +174 -0
- package/package/acode/dist/sub-agent-manager.d.ts +169 -0
- package/package/acode/dist/sub-agent-manager.d.ts.map +1 -0
- package/package/acode/dist/sub-agent-manager.js +535 -0
- package/package/acode/dist/sub-agent-store.d.ts +33 -0
- package/package/acode/dist/sub-agent-store.d.ts.map +1 -0
- package/package/acode/dist/sub-agent-store.js +109 -0
- package/package/acode/dist/sub-agent-tools.d.ts +72 -0
- package/package/acode/dist/sub-agent-tools.d.ts.map +1 -0
- package/package/acode/dist/sub-agent-tools.js +429 -0
- package/package/acode/dist/sub-agent-types.d.ts +81 -0
- package/package/acode/dist/sub-agent-types.d.ts.map +1 -0
- package/package/acode/dist/sub-agent-types.js +8 -0
- package/package/acode/dist/todo-store.d.ts +42 -0
- package/package/acode/dist/todo-store.d.ts.map +1 -0
- package/package/acode/dist/todo-store.js +68 -0
- package/package/acode/dist/todo-tool.d.ts +6 -0
- package/package/acode/dist/todo-tool.d.ts.map +1 -0
- package/package/acode/dist/todo-tool.js +138 -0
- package/package/acode/dist/types.d.ts +22 -1
- package/package/acode/dist/types.d.ts.map +1 -1
- package/package/acode/package.json +13 -2
- package/package/aws-client-agent-mcp/dist/context-manager.test.js +0 -3
- package/package/aws-client-agent-mcp/dist/context-manager.test.js.map +1 -1
- package/package/aws-client-agent-mcp/dist/mcp-server.d.ts +83 -50
- package/package/aws-client-agent-mcp/dist/mcp-server.d.ts.map +1 -1
- package/package/aws-client-agent-mcp/dist/mcp-server.js +451 -346
- package/package/aws-client-agent-mcp/dist/mcp-server.js.map +1 -1
- package/package/aws-client-agent-mcp/dist/mcp-server.test.js +259 -241
- package/package/aws-client-agent-mcp/dist/mcp-server.test.js.map +1 -1
- package/package/aws-client-agent-mcp/dist/mcp-tools.d.ts +1 -19
- package/package/aws-client-agent-mcp/dist/mcp-tools.d.ts.map +1 -1
- package/package/aws-client-agent-mcp/dist/mcp-tools.js +4 -77
- package/package/aws-client-agent-mcp/dist/mcp-tools.js.map +1 -1
- package/package/aws-client-agent-mcp/dist/memory-store.d.ts +17 -40
- package/package/aws-client-agent-mcp/dist/memory-store.d.ts.map +1 -1
- package/package/aws-client-agent-mcp/dist/memory-store.js +62 -149
- package/package/aws-client-agent-mcp/dist/memory-store.js.map +1 -1
- package/package/aws-client-agent-mcp/dist/memory-store.test.js +175 -164
- package/package/aws-client-agent-mcp/dist/memory-store.test.js.map +1 -1
- package/package/aws-client-agent-mcp/dist/memory-tools.d.ts +3 -9
- package/package/aws-client-agent-mcp/dist/memory-tools.d.ts.map +1 -1
- package/package/aws-client-agent-mcp/dist/memory-tools.js +28 -55
- package/package/aws-client-agent-mcp/dist/memory-tools.js.map +1 -1
- package/package/aws-client-agent-mcp/dist/message-buffer.d.ts +27 -9
- package/package/aws-client-agent-mcp/dist/message-buffer.d.ts.map +1 -1
- package/package/aws-client-agent-mcp/dist/message-buffer.js +100 -23
- package/package/aws-client-agent-mcp/dist/message-buffer.js.map +1 -1
- package/package/aws-client-agent-mcp/dist/server-memory-store.d.ts +1 -14
- package/package/aws-client-agent-mcp/dist/server-memory-store.d.ts.map +1 -1
- package/package/aws-client-agent-mcp/dist/server-memory-store.js +7 -18
- package/package/aws-client-agent-mcp/dist/server-memory-store.js.map +1 -1
- package/package/aws-client-agent-mcp/dist/status-reporter.d.ts.map +1 -1
- package/package/aws-client-agent-mcp/dist/status-reporter.js +8 -5
- package/package/aws-client-agent-mcp/dist/status-reporter.js.map +1 -1
- package/package/aws-client-agent-mcp/dist/status-reporter.test.js +93 -0
- package/package/aws-client-agent-mcp/dist/status-reporter.test.js.map +1 -1
- package/package/aws-client-agent-mcp/dist/types.d.ts +3 -25
- package/package/aws-client-agent-mcp/dist/types.d.ts.map +1 -1
- package/package.json +17 -7
- package/dist/adapter/AcodeSdkAdapter.test.d.ts +0 -2
- package/dist/adapter/AcodeSdkAdapter.test.d.ts.map +0 -1
- package/dist/adapter/AcodeSdkAdapter.test.js +0 -2000
- package/dist/adapter/AdapterRegistry.test.d.ts +0 -5
- package/dist/adapter/AdapterRegistry.test.d.ts.map +0 -1
- package/dist/adapter/AdapterRegistry.test.js +0 -118
- package/dist/adapter/ClaudeSdkAdapter.test.d.ts +0 -2
- package/dist/adapter/ClaudeSdkAdapter.test.d.ts.map +0 -1
- package/dist/adapter/ClaudeSdkAdapter.test.js +0 -311
- package/dist/adapter/CodexSdkAdapter.test.d.ts +0 -2
- package/dist/adapter/CodexSdkAdapter.test.d.ts.map +0 -1
- package/dist/adapter/CodexSdkAdapter.test.js +0 -270
- package/dist/adapter/OpencodeSdkAdapter.test.d.ts +0 -2
- package/dist/adapter/OpencodeSdkAdapter.test.d.ts.map +0 -1
- package/dist/adapter/OpencodeSdkAdapter.test.js +0 -158
- package/dist/adapter/acode-tool-names.test.d.ts +0 -2
- package/dist/adapter/acode-tool-names.test.d.ts.map +0 -1
- package/dist/adapter/acode-tool-names.test.js +0 -28
- package/dist/adapter/adapter.test.d.ts +0 -5
- package/dist/adapter/adapter.test.d.ts.map +0 -1
- package/dist/adapter/adapter.test.js +0 -180
- package/dist/adapter/idle-poll-loop.test.d.ts +0 -2
- package/dist/adapter/idle-poll-loop.test.d.ts.map +0 -1
- package/dist/adapter/idle-poll-loop.test.js +0 -85
- package/dist/adapter/types.test.d.ts +0 -2
- package/dist/adapter/types.test.d.ts.map +0 -1
- package/dist/adapter/types.test.js +0 -50
- package/dist/adapters/cc-switch/mcp-acode.test.d.ts +0 -2
- package/dist/adapters/cc-switch/mcp-acode.test.d.ts.map +0 -1
- package/dist/adapters/cc-switch/mcp-acode.test.js +0 -80
- package/dist/adapters/cc-switch/mcp-claudecode.test.d.ts +0 -2
- package/dist/adapters/cc-switch/mcp-claudecode.test.d.ts.map +0 -1
- package/dist/adapters/cc-switch/mcp-claudecode.test.js +0 -75
- package/dist/adapters/cc-switch/mcp-codex.test.d.ts +0 -2
- package/dist/adapters/cc-switch/mcp-codex.test.d.ts.map +0 -1
- package/dist/adapters/cc-switch/mcp-codex.test.js +0 -126
- package/dist/adapters/cc-switch/mcp-opencode.test.d.ts +0 -2
- package/dist/adapters/cc-switch/mcp-opencode.test.d.ts.map +0 -1
- package/dist/adapters/cc-switch/mcp-opencode.test.js +0 -62
- package/dist/adapters/cc-switch/skill-directory.test.d.ts +0 -2
- package/dist/adapters/cc-switch/skill-directory.test.d.ts.map +0 -1
- package/dist/adapters/cc-switch/skill-directory.test.js +0 -74
- package/dist/config.test.d.ts +0 -2
- package/dist/config.test.d.ts.map +0 -1
- package/dist/config.test.js +0 -107
- package/dist/routes/ai-sources.test.d.ts +0 -2
- package/dist/routes/ai-sources.test.d.ts.map +0 -1
- package/dist/routes/ai-sources.test.js +0 -169
- package/dist/routes/file-browser.test.d.ts +0 -5
- package/dist/routes/file-browser.test.d.ts.map +0 -1
- package/dist/routes/file-browser.test.js +0 -155
- package/dist/routes/git.test.d.ts +0 -2
- package/dist/routes/git.test.d.ts.map +0 -1
- package/dist/routes/git.test.js +0 -330
- package/dist/routes/instance.test.d.ts +0 -5
- package/dist/routes/instance.test.d.ts.map +0 -1
- package/dist/routes/instance.test.js +0 -389
- package/dist/routes/mcp.test.d.ts +0 -5
- package/dist/routes/mcp.test.d.ts.map +0 -1
- package/dist/routes/mcp.test.js +0 -92
- package/dist/routes/memory-route-wiring.test.d.ts +0 -2
- package/dist/routes/memory-route-wiring.test.d.ts.map +0 -1
- package/dist/routes/memory-route-wiring.test.js +0 -15
- package/dist/routes/memory.test.d.ts +0 -2
- package/dist/routes/memory.test.d.ts.map +0 -1
- package/dist/routes/memory.test.js +0 -177
- package/dist/routes/properties.test.d.ts +0 -5
- package/dist/routes/properties.test.d.ts.map +0 -1
- package/dist/routes/properties.test.js +0 -72
- package/dist/routes/pty.test.d.ts +0 -2
- package/dist/routes/pty.test.d.ts.map +0 -1
- package/dist/routes/pty.test.js +0 -82
- package/dist/routes/runtime-binding.test.d.ts +0 -2
- package/dist/routes/runtime-binding.test.d.ts.map +0 -1
- package/dist/routes/runtime-binding.test.js +0 -32
- package/dist/routes/sessions.test.d.ts +0 -5
- package/dist/routes/sessions.test.d.ts.map +0 -1
- package/dist/routes/sessions.test.js +0 -86
- package/dist/routes/skills.test.d.ts +0 -5
- package/dist/routes/skills.test.d.ts.map +0 -1
- package/dist/routes/skills.test.js +0 -50
- package/dist/routes/system-metrics.test.d.ts +0 -2
- package/dist/routes/system-metrics.test.d.ts.map +0 -1
- package/dist/routes/system-metrics.test.js +0 -16
- package/dist/routes/terminal.stop-options.test.d.ts +0 -2
- package/dist/routes/terminal.stop-options.test.d.ts.map +0 -1
- package/dist/routes/terminal.stop-options.test.js +0 -39
- package/dist/routes/terminal.test.d.ts +0 -2
- package/dist/routes/terminal.test.d.ts.map +0 -1
- package/dist/routes/terminal.test.js +0 -746
- package/dist/routes/yml.test.d.ts +0 -5
- package/dist/routes/yml.test.d.ts.map +0 -1
- package/dist/routes/yml.test.js +0 -58
- package/dist/services/ai-source-apply.test.d.ts +0 -2
- package/dist/services/ai-source-apply.test.d.ts.map +0 -1
- package/dist/services/ai-source-apply.test.js +0 -138
- package/dist/services/auto-register.test.d.ts +0 -2
- package/dist/services/auto-register.test.d.ts.map +0 -1
- package/dist/services/auto-register.test.js +0 -184
- package/dist/services/aws-client-agent-mcp.test.d.ts +0 -2
- package/dist/services/aws-client-agent-mcp.test.d.ts.map +0 -1
- package/dist/services/aws-client-agent-mcp.test.js +0 -242
- package/dist/services/bridge-package-publish-hooks.test.d.ts +0 -2
- package/dist/services/bridge-package-publish-hooks.test.d.ts.map +0 -1
- package/dist/services/bridge-package-publish-hooks.test.js +0 -136
- package/dist/services/cc-switch-discovery.test.d.ts +0 -2
- package/dist/services/cc-switch-discovery.test.d.ts.map +0 -1
- package/dist/services/cc-switch-discovery.test.js +0 -56
- package/dist/services/cli-commands.test.d.ts +0 -2
- package/dist/services/cli-commands.test.d.ts.map +0 -1
- package/dist/services/cli-commands.test.js +0 -230
- package/dist/services/instance-init-service.test.d.ts +0 -2
- package/dist/services/instance-init-service.test.d.ts.map +0 -1
- package/dist/services/instance-init-service.test.js +0 -140
- package/dist/services/instance-state.test.d.ts +0 -2
- package/dist/services/instance-state.test.d.ts.map +0 -1
- package/dist/services/instance-state.test.js +0 -245
- package/dist/services/mcp-launch-binding-queue.test.d.ts +0 -2
- package/dist/services/mcp-launch-binding-queue.test.d.ts.map +0 -1
- package/dist/services/mcp-launch-binding-queue.test.js +0 -181
- package/dist/services/runtime-binding.test.d.ts +0 -2
- package/dist/services/runtime-binding.test.d.ts.map +0 -1
- package/dist/services/runtime-binding.test.js +0 -78
- package/dist/services/runtime-lifecycle-policy.test.d.ts +0 -2
- package/dist/services/runtime-lifecycle-policy.test.d.ts.map +0 -1
- package/dist/services/runtime-lifecycle-policy.test.js +0 -41
- package/dist/services/session-output.test.d.ts +0 -5
- package/dist/services/session-output.test.d.ts.map +0 -1
- package/dist/services/session-output.test.js +0 -177
- package/dist/services/startup-config-wizard.test.d.ts +0 -2
- package/dist/services/startup-config-wizard.test.d.ts.map +0 -1
- package/dist/services/startup-config-wizard.test.js +0 -184
- package/dist/services/terminal-persistence.test.d.ts +0 -5
- package/dist/services/terminal-persistence.test.d.ts.map +0 -1
- package/dist/services/terminal-persistence.test.js +0 -159
- package/dist/services/tool-installer.test.d.ts +0 -2
- package/dist/services/tool-installer.test.d.ts.map +0 -1
- package/dist/services/tool-installer.test.js +0 -225
- package/dist/services/workspace-files.test.d.ts +0 -2
- package/dist/services/workspace-files.test.d.ts.map +0 -1
- package/dist/services/workspace-files.test.js +0 -648
- package/dist/services/workspace-watch.test.d.ts +0 -2
- package/dist/services/workspace-watch.test.d.ts.map +0 -1
- package/dist/services/workspace-watch.test.js +0 -38
- package/dist/utils/file-utils.test.d.ts +0 -2
- package/dist/utils/file-utils.test.d.ts.map +0 -1
- package/dist/utils/file-utils.test.js +0 -244
- package/dist/utils/logger.test.d.ts +0 -2
- package/dist/utils/logger.test.d.ts.map +0 -1
- package/dist/utils/logger.test.js +0 -93
- package/dist/utils/sdk-package-loader.test.d.ts +0 -2
- package/dist/utils/sdk-package-loader.test.d.ts.map +0 -1
- package/dist/utils/sdk-package-loader.test.js +0 -84
- package/dist/utils/validation.test.d.ts +0 -2
- package/dist/utils/validation.test.d.ts.map +0 -1
- package/dist/utils/validation.test.js +0 -88
- package/dist/utils/yaml-utils.test.d.ts +0 -2
- package/dist/utils/yaml-utils.test.d.ts.map +0 -1
- package/dist/utils/yaml-utils.test.js +0 -363
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
import { promises as fs } from "node:fs";
|
|
2
|
+
import os from "node:os";
|
|
3
|
+
import path from "node:path";
|
|
4
|
+
/**
|
|
5
|
+
* Todo JSON 文件存储,按 agentId 隔离。
|
|
6
|
+
* 文件路径:{homedir}/.acode/todos/{agentId}.json
|
|
7
|
+
*
|
|
8
|
+
* 路径与 bridge 现有 ~/.acode/cmd-dist/ 惯例一致,固定使用家目录:
|
|
9
|
+
* - 不依赖 agent 工作目录,避免 workspacePath 错误时读取失败
|
|
10
|
+
* - todo 跟随 agent(agentId),不跟随项目工作区
|
|
11
|
+
*
|
|
12
|
+
* 并发安全:同一 TodoStore 实例的写操作通过 Promise 链串行化,
|
|
13
|
+
* 避免同一 agentId 的并发 todo_write 互相覆盖。
|
|
14
|
+
* 写入采用 tmp + rename 原子替换,防止半写损坏。
|
|
15
|
+
*/
|
|
16
|
+
export class TodoStore {
|
|
17
|
+
constructor() {
|
|
18
|
+
this.writeChain = Promise.resolve();
|
|
19
|
+
this.todosDir = path.join(os.homedir(), ".acode", "todos");
|
|
20
|
+
}
|
|
21
|
+
/** 文件路径(按 agentId 隔离) */
|
|
22
|
+
filePath(agentId) {
|
|
23
|
+
// 防止路径穿越:仅允许字母数字下划线短横
|
|
24
|
+
const safe = String(agentId).replace(/[^a-zA-Z0-9_-]/g, "_");
|
|
25
|
+
return path.join(this.todosDir, `${safe}.json`);
|
|
26
|
+
}
|
|
27
|
+
/** 读取该 agentId 的 todo 文档。文件不存在或损坏时返回空文档。 */
|
|
28
|
+
async read(agentId) {
|
|
29
|
+
const empty = { agentId, updatedAt: "", background: "", todos: [] };
|
|
30
|
+
try {
|
|
31
|
+
const raw = await fs.readFile(this.filePath(agentId), "utf-8");
|
|
32
|
+
const doc = JSON.parse(raw);
|
|
33
|
+
return {
|
|
34
|
+
agentId,
|
|
35
|
+
updatedAt: typeof doc.updatedAt === "string" ? doc.updatedAt : "",
|
|
36
|
+
background: typeof doc.background === "string" ? doc.background : "",
|
|
37
|
+
todos: Array.isArray(doc.todos) ? doc.todos : [],
|
|
38
|
+
};
|
|
39
|
+
}
|
|
40
|
+
catch (err) {
|
|
41
|
+
if (err && err.code === "ENOENT")
|
|
42
|
+
return empty;
|
|
43
|
+
// JSON 解析错误也返回空,避免损坏文件阻断读取
|
|
44
|
+
if (err instanceof SyntaxError)
|
|
45
|
+
return empty;
|
|
46
|
+
throw err;
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
/** 全量替换该 agentId 的 todo 文档(background + todos)。串行化以避免并发覆盖。 */
|
|
50
|
+
async write(agentId, background, todos) {
|
|
51
|
+
const target = this.filePath(agentId);
|
|
52
|
+
const run = this.writeChain.then(async () => {
|
|
53
|
+
await fs.mkdir(this.todosDir, { recursive: true });
|
|
54
|
+
const doc = {
|
|
55
|
+
agentId,
|
|
56
|
+
updatedAt: new Date().toISOString(),
|
|
57
|
+
background,
|
|
58
|
+
todos,
|
|
59
|
+
};
|
|
60
|
+
const tmp = `${target}.tmp`;
|
|
61
|
+
await fs.writeFile(tmp, JSON.stringify(doc, null, 2), "utf-8");
|
|
62
|
+
await fs.rename(tmp, target);
|
|
63
|
+
});
|
|
64
|
+
// 维持链式串行,但不让单次失败阻断后续写
|
|
65
|
+
this.writeChain = run.catch(() => { });
|
|
66
|
+
await run;
|
|
67
|
+
}
|
|
68
|
+
}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import type { ACodeBuiltInTool } from "./built-in-file-tools.js";
|
|
2
|
+
/** 创建 todo_write 工具(全量替换该 agent 的 todo 列表) */
|
|
3
|
+
export declare function createTodoWriteTool(agentId: string): ACodeBuiltInTool;
|
|
4
|
+
/** 创建 todo_read 工具(读取该 agent 的 todo 列表,含整体 background) */
|
|
5
|
+
export declare function createTodoReadTool(agentId: string): ACodeBuiltInTool;
|
|
6
|
+
//# sourceMappingURL=todo-tool.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"todo-tool.d.ts","sourceRoot":"","sources":["../src/todo-tool.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAc,MAAM,0BAA0B,CAAC;AAsE7E,8CAA8C;AAC9C,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,MAAM,GAAG,gBAAgB,CAuDrE;AAED,0DAA0D;AAC1D,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,MAAM,GAAG,gBAAgB,CAqBpE"}
|
|
@@ -0,0 +1,138 @@
|
|
|
1
|
+
import { TodoStore } from "./todo-store.js";
|
|
2
|
+
const TODO_ITEM_SCHEMA = {
|
|
3
|
+
type: "object",
|
|
4
|
+
properties: {
|
|
5
|
+
content: {
|
|
6
|
+
type: "string",
|
|
7
|
+
description: "Brief description of the task (required, non-empty).",
|
|
8
|
+
},
|
|
9
|
+
status: {
|
|
10
|
+
type: "string",
|
|
11
|
+
enum: ["pending", "in_progress", "completed", "cancelled"],
|
|
12
|
+
description: "Current status of the task.",
|
|
13
|
+
},
|
|
14
|
+
priority: {
|
|
15
|
+
type: "string",
|
|
16
|
+
enum: ["high", "medium", "low"],
|
|
17
|
+
description: "Priority level of the task.",
|
|
18
|
+
},
|
|
19
|
+
},
|
|
20
|
+
required: ["content", "status", "priority"],
|
|
21
|
+
};
|
|
22
|
+
const TODO_WRITE_DESCRIPTION = `Update the todo list for the current agent (full replacement).
|
|
23
|
+
|
|
24
|
+
Use this tool proactively to:
|
|
25
|
+
1. Track complex multi-step tasks (3+ distinct steps)
|
|
26
|
+
2. Plan work before implementation
|
|
27
|
+
3. Track progress as you complete sub-tasks
|
|
28
|
+
|
|
29
|
+
Guidelines:
|
|
30
|
+
- Only ONE task should be in_progress at a time
|
|
31
|
+
- Mark tasks completed immediately when done
|
|
32
|
+
- The top-level "background" field is REQUIRED — it captures the overall task list context (source, goal, constraints) so future reads (todo_read) can resume full context
|
|
33
|
+
- Each todo item only needs content/status/priority (no per-item background)
|
|
34
|
+
- This tool replaces the entire todo list; always include all current todos in the array
|
|
35
|
+
- The todo list is persisted per agent (not per session), so it survives across sessions for the same agent`;
|
|
36
|
+
const TODO_READ_DESCRIPTION = `Read the current agent's todo list, including the overall background of the task list.
|
|
37
|
+
|
|
38
|
+
Use this when:
|
|
39
|
+
1. You need to recall the current task context (including the list background)
|
|
40
|
+
2. Starting a new session and need to resume prior work
|
|
41
|
+
3. Verifying task status before reporting completion to the user
|
|
42
|
+
|
|
43
|
+
Returns the overall background plus the full todo list with content/status/priority for each item.`;
|
|
44
|
+
/** 校验单个 todo 项 */
|
|
45
|
+
function validateTodoItem(item) {
|
|
46
|
+
return (item !== null &&
|
|
47
|
+
typeof item === "object" &&
|
|
48
|
+
typeof item.content === "string" &&
|
|
49
|
+
item.content.trim().length > 0 &&
|
|
50
|
+
(item.status === "pending" ||
|
|
51
|
+
item.status === "in_progress" ||
|
|
52
|
+
item.status === "completed" ||
|
|
53
|
+
item.status === "cancelled") &&
|
|
54
|
+
(item.priority === "high" ||
|
|
55
|
+
item.priority === "medium" ||
|
|
56
|
+
item.priority === "low"));
|
|
57
|
+
}
|
|
58
|
+
/** 统计未完成 todo 数量 */
|
|
59
|
+
function countIncomplete(todos) {
|
|
60
|
+
return todos.filter((t) => t.status !== "completed").length;
|
|
61
|
+
}
|
|
62
|
+
/** 创建 todo_write 工具(全量替换该 agent 的 todo 列表) */
|
|
63
|
+
export function createTodoWriteTool(agentId) {
|
|
64
|
+
const store = new TodoStore();
|
|
65
|
+
return {
|
|
66
|
+
kind: "builtin",
|
|
67
|
+
toolName: "todo_write",
|
|
68
|
+
exposedName: "todo_write",
|
|
69
|
+
description: TODO_WRITE_DESCRIPTION,
|
|
70
|
+
inputSchema: {
|
|
71
|
+
type: "object",
|
|
72
|
+
properties: {
|
|
73
|
+
background: {
|
|
74
|
+
type: "string",
|
|
75
|
+
description: "Overall background of this todo list (required, non-empty). Describe the task list source, goal, dependencies, and constraints — context that helps resume work later.",
|
|
76
|
+
},
|
|
77
|
+
todos: {
|
|
78
|
+
type: "array",
|
|
79
|
+
items: TODO_ITEM_SCHEMA,
|
|
80
|
+
description: "The updated todo list (replaces the entire list).",
|
|
81
|
+
},
|
|
82
|
+
},
|
|
83
|
+
required: ["background", "todos"],
|
|
84
|
+
},
|
|
85
|
+
async execute(args) {
|
|
86
|
+
const background = typeof args.background === "string" ? args.background.trim() : "";
|
|
87
|
+
if (!background) {
|
|
88
|
+
return {
|
|
89
|
+
title: "todo_write validation error",
|
|
90
|
+
output: "Invalid input: top-level 'background' is required and must be non-empty. Describe the overall task list context (source, goal, constraints).",
|
|
91
|
+
metadata: { error: true },
|
|
92
|
+
};
|
|
93
|
+
}
|
|
94
|
+
const rawTodos = args.todos ?? [];
|
|
95
|
+
// 校验
|
|
96
|
+
for (let i = 0; i < rawTodos.length; i++) {
|
|
97
|
+
if (!validateTodoItem(rawTodos[i])) {
|
|
98
|
+
return {
|
|
99
|
+
title: "todo_write validation error",
|
|
100
|
+
output: `Invalid todo item at index ${i}: each item must have non-empty content, ` +
|
|
101
|
+
`valid status (pending|in_progress|completed|cancelled), and valid priority (high|medium|low).`,
|
|
102
|
+
metadata: { error: true },
|
|
103
|
+
};
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
const todos = rawTodos;
|
|
107
|
+
await store.write(agentId, background, todos);
|
|
108
|
+
return {
|
|
109
|
+
title: `${countIncomplete(todos)} todos`,
|
|
110
|
+
output: JSON.stringify({ background, todos }, null, 2),
|
|
111
|
+
metadata: { background, todos },
|
|
112
|
+
};
|
|
113
|
+
},
|
|
114
|
+
};
|
|
115
|
+
}
|
|
116
|
+
/** 创建 todo_read 工具(读取该 agent 的 todo 列表,含整体 background) */
|
|
117
|
+
export function createTodoReadTool(agentId) {
|
|
118
|
+
const store = new TodoStore();
|
|
119
|
+
return {
|
|
120
|
+
kind: "builtin",
|
|
121
|
+
toolName: "todo_read",
|
|
122
|
+
exposedName: "todo_read",
|
|
123
|
+
description: TODO_READ_DESCRIPTION,
|
|
124
|
+
inputSchema: {
|
|
125
|
+
type: "object",
|
|
126
|
+
properties: {},
|
|
127
|
+
required: [],
|
|
128
|
+
},
|
|
129
|
+
async execute() {
|
|
130
|
+
const doc = await store.read(agentId);
|
|
131
|
+
return {
|
|
132
|
+
title: `${countIncomplete(doc.todos)} todos`,
|
|
133
|
+
output: JSON.stringify({ background: doc.background, todos: doc.todos }, null, 2),
|
|
134
|
+
metadata: { background: doc.background, todos: doc.todos },
|
|
135
|
+
};
|
|
136
|
+
},
|
|
137
|
+
};
|
|
138
|
+
}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import type { SubAgentManager } from "./sub-agent-manager.js";
|
|
1
2
|
export interface ACodeMcpServerSpec {
|
|
2
3
|
type?: "stdio" | "sse" | "http";
|
|
3
4
|
command?: string;
|
|
@@ -44,8 +45,19 @@ export interface ACodeSkillMetadata {
|
|
|
44
45
|
name: string;
|
|
45
46
|
description?: string;
|
|
46
47
|
directory: string;
|
|
48
|
+
/** SKILL.md body 内容(frontmatter 之后的完整 markdown 文本),供 SkillTool 加载 */
|
|
49
|
+
content: string;
|
|
47
50
|
}
|
|
48
|
-
|
|
51
|
+
/**
|
|
52
|
+
* 单个 skills 目录的加载结果:包含目录路径、是否存在、以及该目录下的 skills 列表。
|
|
53
|
+
* 即使目录不存在也会返回(exists=false, skills=[]),供前端展示空节点。
|
|
54
|
+
*/
|
|
55
|
+
export interface ACodeSkillGroup {
|
|
56
|
+
dir: string;
|
|
57
|
+
exists: boolean;
|
|
58
|
+
skills: ACodeSkillMetadata[];
|
|
59
|
+
}
|
|
60
|
+
export type ACodeEventType = "session_started" | "ai_request" | "thinking_delta" | "assistant_delta" | "command_output" | "command_status" | "mcp_status" | "skill_status" | "warning" | "turn_complete" | "session_complete" | "context_compaction" | "question_request" | "error";
|
|
49
61
|
export interface ACodeEvent {
|
|
50
62
|
type: ACodeEventType;
|
|
51
63
|
sessionId: string;
|
|
@@ -103,6 +115,8 @@ export interface ACodeRuntimeConfig {
|
|
|
103
115
|
commandDirs?: string[];
|
|
104
116
|
hooks?: ACodeHookHandler[];
|
|
105
117
|
permissions?: ACodePermissionConfig;
|
|
118
|
+
/** 可选:sub-agent 管理器句柄,注入后启用 sub-agent 工具集(sub_agent/list_sub_agents/get_sub_agent_status/await_sub_agents/abort_sub_agent) */
|
|
119
|
+
subAgentManager?: SubAgentManager;
|
|
106
120
|
}
|
|
107
121
|
export interface ACodeResolvedProviderConfig {
|
|
108
122
|
model: string;
|
|
@@ -115,5 +129,12 @@ export interface ACodeResolvedProviderConfig {
|
|
|
115
129
|
mcpToolTimeoutMs: number;
|
|
116
130
|
mcpPollingToolTimeoutMs: number;
|
|
117
131
|
supportsImageInput: boolean;
|
|
132
|
+
/** 上下文窗口大小(token),优先于硬编码查找表 */
|
|
133
|
+
contextLimit?: number;
|
|
134
|
+
/** 输入 token 上限(部分 Provider 的 input+output 总额 ≠ context 上限)。
|
|
135
|
+
* 设置后压缩阈值基于 inputLimit 计算,更精确。未配置时降级到 contextLimit。 */
|
|
136
|
+
inputLimit?: number;
|
|
137
|
+
/** 最大输出 token 数,优先于硬编码查找表 */
|
|
138
|
+
maxOutput?: number;
|
|
118
139
|
}
|
|
119
140
|
//# sourceMappingURL=types.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,kBAAkB;IACjC,IAAI,CAAC,EAAE,OAAO,GAAG,KAAK,GAAG,MAAM,CAAC;IAChC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC7B,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED,MAAM,WAAW,eAAe;IAC9B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;IACvB,QAAQ,CAAC,EAAE;QACT,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;QACvB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;KACxB,CAAC;IACF,WAAW,CAAC,EAAE,qBAAqB,CAAC;IACpC,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;IACvB,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,kBAAkB,CAAC,CAAC;IAChD,QAAQ,CAAC,EAAE,MAAM,CACf,MAAM,EACN;QACE,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,OAAO,CAAC,EAAE;YACR,OAAO,CAAC,EAAE,MAAM,CAAC;YACjB,OAAO,CAAC,EAAE,MAAM,CAAC;YACjB,MAAM,CAAC,EAAE,MAAM,CAAC;YAChB,kBAAkB,CAAC,EAAE,OAAO,CAAC;YAC7B,MAAM,CAAC,EAAE,OAAO,CAAC;YACjB,SAAS,CAAC,EAAE,MAAM,CAAC;YACnB,gBAAgB,CAAC,EAAE,MAAM,CAAC;YAC1B,iBAAiB,CAAC,EAAE,MAAM,CAAC;YAC3B,gBAAgB,CAAC,EAAE,MAAM,CAAC;YAC1B,uBAAuB,CAAC,EAAE,MAAM,CAAC;YACjC,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;SACxB,CAAC;QACF,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QACjC,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;KACxB,CACF,CAAC;IACF,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,12 +4,22 @@
|
|
|
4
4
|
"description": "Built-in headless ACode agent runtime for AgentsWorkStudio runtime bridge",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/index.js",
|
|
7
|
+
"types": "dist/index.d.ts",
|
|
8
|
+
"exports": {
|
|
9
|
+
".": {
|
|
10
|
+
"types": "./dist/index.d.ts",
|
|
11
|
+
"default": "./dist/index.js"
|
|
12
|
+
}
|
|
13
|
+
},
|
|
7
14
|
"bin": {
|
|
8
15
|
"acode": "dist/cli.js"
|
|
9
16
|
},
|
|
10
17
|
"scripts": {
|
|
11
18
|
"build": "tsc -p tsconfig.json",
|
|
12
|
-
"test": "
|
|
19
|
+
"test": "vitest run",
|
|
20
|
+
"test:watch": "vitest",
|
|
21
|
+
"test:legacy": "tsx --test src/runtime.test.ts src/mcpToolNames.test.ts src/compaction.test.ts src/compaction-tree.test.ts",
|
|
22
|
+
"test:all": "npm run test:legacy && npm run test",
|
|
13
23
|
"typecheck": "tsc -p tsconfig.json --noEmit"
|
|
14
24
|
},
|
|
15
25
|
"dependencies": {
|
|
@@ -19,6 +29,7 @@
|
|
|
19
29
|
"devDependencies": {
|
|
20
30
|
"@types/node": "^20.17.0",
|
|
21
31
|
"tsx": "^4.21.0",
|
|
22
|
-
"typescript": "^5.9.3"
|
|
32
|
+
"typescript": "^5.9.3",
|
|
33
|
+
"vitest": "^2.0.0"
|
|
23
34
|
}
|
|
24
35
|
}
|
|
@@ -36,13 +36,10 @@ function createNullStore() {
|
|
|
36
36
|
deleteMemory: async () => true,
|
|
37
37
|
searchMemory: async () => ({ query: "", results: [] }),
|
|
38
38
|
listByType: async () => [],
|
|
39
|
-
archiveRecentlyMemory: async () => ({}),
|
|
40
39
|
listByFile: async () => [],
|
|
41
40
|
listExpiredRecentlyMemories: async () => [],
|
|
42
41
|
markExpiredMemoriesRecalling: async () => ({ marked: 0, uris: [] }),
|
|
43
42
|
clearRecallingExpiredMemories: async () => ({ deleted: 0, uris: [] }),
|
|
44
|
-
listByTodoStatus: async () => [],
|
|
45
|
-
todoCompleted: async () => ({ completed: true, uri: '', allCleaned: false, cleanedCount: 0, cleanedUris: [] }),
|
|
46
43
|
};
|
|
47
44
|
}
|
|
48
45
|
describe("ContextManager", () => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"context-manager.test.js","sourceRoot":"","sources":["../src/context-manager.test.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"context-manager.test.js","sourceRoot":"","sources":["../src/context-manager.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -23,7 +23,7 @@ export declare class McpServer {
|
|
|
23
23
|
*/
|
|
24
24
|
private notifiedFileChangeMemoryIds;
|
|
25
25
|
/**
|
|
26
|
-
* 本地缓存 listable 记忆(
|
|
26
|
+
* 本地缓存 listable 记忆(recently_memory/agent_memory)的文件 MD5 map。
|
|
27
27
|
* 服务端(Java 后端)不持久化 file_md5_map 字段,listByType 返回的记录该字段为 undefined。
|
|
28
28
|
* 必须本地缓存才能让 checkMemoriesFileChanges 有正确的旧 MD5 做对比。
|
|
29
29
|
*/
|
|
@@ -37,11 +37,32 @@ export declare class McpServer {
|
|
|
37
37
|
*/
|
|
38
38
|
private memoryNotificationNullCache;
|
|
39
39
|
private static readonly MEMORY_NOTIFICATION_NULL_TTL_MS;
|
|
40
|
+
/**
|
|
41
|
+
* poll_message 单例控制:防止并发调用导致消息被第一个消费后第二个空等。
|
|
42
|
+
* 当已有 poll 在进行时,后续调用直接等待同一个 Promise。
|
|
43
|
+
*/
|
|
44
|
+
private pendingPollMessage;
|
|
45
|
+
/**
|
|
46
|
+
* Todo 未完成项提醒去重指纹:记录上次通知时的未完成项内容/状态/优先级快照。
|
|
47
|
+
* 指纹一致则不重复通知;todos 变化时再次通知。
|
|
48
|
+
* 进程重启后自动清空(届时会重新通知一次,可接受)。
|
|
49
|
+
*/
|
|
50
|
+
private lastTodoNotificationFingerprint;
|
|
40
51
|
/**
|
|
41
52
|
* 收到 Profile 后同步角色存储路径。
|
|
42
53
|
* 当服务端返回的 roleName 与进程初始化时不一致时,重建 roleMemoryStore 指向正确的目录。
|
|
43
54
|
*/
|
|
44
55
|
private syncRoleMemoryStore;
|
|
56
|
+
/**
|
|
57
|
+
* 在 profile 到达后检查是否需要将本地永久记忆同步到 server。
|
|
58
|
+
* 触发条件:当前角色在 server 上还没有任何 memory 类型记录(通常发生在重部署后 server DB 为空时)。
|
|
59
|
+
* 主流程:异步执行,不阻塞 profile 处理链路。
|
|
60
|
+
* 1. 调用 server get_memory_stats 获取当前角色 memory 类型计数
|
|
61
|
+
* 2. 若 count === 0,读取本地永久记忆(角色子目录 + 遗留父目录 fallback)
|
|
62
|
+
* 3. 逐条调用 server create_memory 写入(已存在则静默跳过)
|
|
63
|
+
*/
|
|
64
|
+
private maybeSyncPermanentMemoryToServer;
|
|
65
|
+
private doMaybeSyncPermanentMemoryToServer;
|
|
45
66
|
/**
|
|
46
67
|
* 规范化绑定的文件路径。
|
|
47
68
|
* 项目约定以下前缀都表示工作区根路径:
|
|
@@ -102,7 +123,7 @@ export declare class McpServer {
|
|
|
102
123
|
private static buildRoleMemoryStorePath;
|
|
103
124
|
/**
|
|
104
125
|
* 解析记忆存储路径。
|
|
105
|
-
* 主流程:
|
|
126
|
+
* 主流程:recently_memory/agent_memory 走 server 数据库;长期 project_memory 默认写入项目 .agentswork/memory/memory/<roleName>/<domain>.json。
|
|
106
127
|
*/
|
|
107
128
|
private static resolveMemoryStorePaths;
|
|
108
129
|
private getRequiredString;
|
|
@@ -114,13 +135,13 @@ export declare class McpServer {
|
|
|
114
135
|
private isMemoryType;
|
|
115
136
|
/**
|
|
116
137
|
* 按记忆生命周期选择存储作用域。
|
|
117
|
-
* 主流程:长期
|
|
138
|
+
* 主流程:长期 project_memory 走角色级 store;recently_memory/agent_memory 走当前 Agent 实例级 store。
|
|
118
139
|
*/
|
|
119
140
|
/**
|
|
120
141
|
* 按记忆生命周期选择存储作用域。
|
|
121
|
-
* 主流程:永久记忆(
|
|
122
|
-
*
|
|
123
|
-
*
|
|
142
|
+
* 主流程:永久记忆(project_memory)始终走本地 roleMemoryStore(.agentswork),
|
|
143
|
+
* 确保本地文件始终有副本,后续部署恢复时可通过 Local → Server 同步回 server。
|
|
144
|
+
* recently_memory/agent_memory/session_context 始终走实例级 server store。
|
|
124
145
|
*/
|
|
125
146
|
private getMemoryStoreForType;
|
|
126
147
|
/**
|
|
@@ -143,11 +164,6 @@ export declare class McpServer {
|
|
|
143
164
|
* 主流程:读取实例级与角色级统计 -> 合并长期 memory count -> 通过 server 广播给 Dashboard。
|
|
144
165
|
*/
|
|
145
166
|
private reportCombinedMemoryStats;
|
|
146
|
-
/**
|
|
147
|
-
* 同步本地永久记忆到服务端。
|
|
148
|
-
* 主流程:读取本地 roleMemoryStore 中所有 memory 类型记录 -> 逐条写入服务端 memoryStore -> 已存在的记录静默跳过。
|
|
149
|
-
*/
|
|
150
|
-
private syncLocalPermanentMemoryToServer;
|
|
151
167
|
/**
|
|
152
168
|
* 系统提示词由 runtime adapter 在会话创建时注入,MCP 层面不再负责返回。
|
|
153
169
|
* 详见 startListeningInternal -> profileHandler 中的合并注入逻辑。
|
|
@@ -189,7 +205,7 @@ export declare class McpServer {
|
|
|
189
205
|
private handleSearchMemory;
|
|
190
206
|
/**
|
|
191
207
|
* 搜索自己工作区的所有记忆。
|
|
192
|
-
* 具体逻辑:按 memory_type 分流 -> 无类型时合并 roleMemoryStore(永久)与 memoryStore(
|
|
208
|
+
* 具体逻辑:按 memory_type 分流 -> 无类型时合并 roleMemoryStore(永久)与 memoryStore(recently/agent)。
|
|
193
209
|
*/
|
|
194
210
|
private searchOwnMemories;
|
|
195
211
|
/**
|
|
@@ -199,7 +215,7 @@ export declare class McpServer {
|
|
|
199
215
|
private mergeSearchResults;
|
|
200
216
|
/**
|
|
201
217
|
* 列出短期类型记忆。
|
|
202
|
-
* 主流程:只允许
|
|
218
|
+
* 主流程:只允许 recently_memory/agent_memory/project_memory,由 MemoryStore 阻止 session_context 的全量列出。
|
|
203
219
|
*/
|
|
204
220
|
private handleListMemories;
|
|
205
221
|
/**
|
|
@@ -207,21 +223,39 @@ export declare class McpServer {
|
|
|
207
223
|
* 主流程:读取 MemoryStore 统计结果,供 Agent 在创建前判断 listable/type 容量。
|
|
208
224
|
*/
|
|
209
225
|
private handleGetMemoryStats;
|
|
210
|
-
/**
|
|
211
|
-
* 归档近期记忆。
|
|
212
|
-
* 主流程:将 recently_memory 原地转换为长期 memory,并递增版本号。
|
|
213
|
-
*/
|
|
214
|
-
private handleArchiveRecentlyMemory;
|
|
215
226
|
/**
|
|
216
227
|
* 按文件查询绑定了该文件的 Memory
|
|
217
228
|
* Memory 增强功能 (v1.6.0)
|
|
218
229
|
*/
|
|
219
230
|
/**
|
|
220
231
|
* 按文件路径查询 Memory(支持 scope 跨 Agent 搜索)。
|
|
221
|
-
* 主流程:解析scope -> own(默认)仅自己 -> children
|
|
222
|
-
*
|
|
232
|
+
* 主流程:解析scope -> own(默认)仅自己 -> children搜索子Agent -> all合并。
|
|
233
|
+
* 子 Agent 搜索同时走两条路径:
|
|
234
|
+
* 1. server searchChildByFilePath(查 DB)
|
|
235
|
+
* 2. 本地文件系统扫描 child .agentswork/memory/memory/(查本地永久记忆文件)
|
|
236
|
+
* 两条路径结果按 id 去重合并,确保无论子 Agent 的永久记忆是否已同步到
|
|
237
|
+
* 服务端数据库,父 Agent 都能搜索到。
|
|
223
238
|
*/
|
|
224
239
|
private handleListMemoriesByFile;
|
|
240
|
+
/**
|
|
241
|
+
* 按 id 去重合并两批 MemoryRecord,按 updatedAt 倒序排列。
|
|
242
|
+
* 首批(left)优先级高,其 id 会标记为 seen,重复的 right 项被丢弃。
|
|
243
|
+
*/
|
|
244
|
+
private mergeIdDedupe;
|
|
245
|
+
/**
|
|
246
|
+
* 通过文件系统扫描子 Agent 的 .agentswork 目录,
|
|
247
|
+
* 读取永久记忆 JSON 文件,按 path_prefix 匹配 bound_files。
|
|
248
|
+
*
|
|
249
|
+
* 主流程:
|
|
250
|
+
* 1. 解析 file_path(如 ./frontend/src/main.ts)的路径层级
|
|
251
|
+
* 2. 逐级(从长到短)找到子 Agent 的 .agentswork 目录
|
|
252
|
+
* 3. 读取该目录下所有 role 的 JSON 文件
|
|
253
|
+
* 4. 对每条记忆,将 bound_files 与 child-relative 路径比较
|
|
254
|
+
*
|
|
255
|
+
* 作为 server searchChildByFilePath 的本地补充,
|
|
256
|
+
* 确保子 Agent 的本地永久记忆(未同步到 server)也能被搜索到。
|
|
257
|
+
*/
|
|
258
|
+
private searchChildMemoriesByFileLocal;
|
|
225
259
|
/**
|
|
226
260
|
* 按文件路径搜索本 Agent 的记忆。
|
|
227
261
|
* 同时查询临时记忆(server)和永久记忆(local roleMemoryStore)。
|
|
@@ -234,7 +268,7 @@ export declare class McpServer {
|
|
|
234
268
|
private handleAbandonMemoryUpdate;
|
|
235
269
|
/**
|
|
236
270
|
* 处理 memory_recurrence 工具调用。
|
|
237
|
-
* 主流程:调用服务端 list_expired_memories
|
|
271
|
+
* 主流程:调用服务端 list_expired_memories 拉取已过期的 recently_memory / agent_memory ->
|
|
238
272
|
* 按过期时间排序(最早优先)-> 取前 limit 条 ->
|
|
239
273
|
* 仅标记这 limit 条为「回忆中」状态 -> 返回这些记忆及剩余数量。
|
|
240
274
|
*/
|
|
@@ -244,26 +278,6 @@ export declare class McpServer {
|
|
|
244
278
|
* 主流程:调用服务端 clear_recalling_expired_memories 删除所有「recalling + 已过期」记录。
|
|
245
279
|
*/
|
|
246
280
|
private handleMemoryRecurrenceComplete;
|
|
247
|
-
/**
|
|
248
|
-
* 标记 task_list 短期记忆为已完成。
|
|
249
|
-
* 主流程:调用 memoryStore.todoCompleted(uri) -> 标记完成 -> 检查全部完成 -> 自动清理 -> 返回结果。
|
|
250
|
-
*/
|
|
251
|
-
private handleTodoCompleted;
|
|
252
|
-
/**
|
|
253
|
-
* 获取当前会话的上下文统计。
|
|
254
|
-
* 主流程:从 profile 获取模型名称 -> 通过模型名查找上下文窗口 -> 调用 ContextManager 获取统计 -> 返回。
|
|
255
|
-
*/
|
|
256
|
-
private handleGetContextStats;
|
|
257
|
-
/**
|
|
258
|
-
* 从 profile 猜测当前使用的模型名称。
|
|
259
|
-
* 主流程:读取 prompt 中的模型信息 -> 回退到 runtimeCliCommand 中的提示 -> 最终回退到环境变量或默认值。
|
|
260
|
-
*/
|
|
261
|
-
private guessModelName;
|
|
262
|
-
/**
|
|
263
|
-
* 处理上下文压缩请求。
|
|
264
|
-
* 主流程:解析策略 -> 获取消息历史 -> 执行压缩 -> 保存结果 -> 返回。
|
|
265
|
-
*/
|
|
266
|
-
private handleCompactContext;
|
|
267
281
|
/**
|
|
268
282
|
* 获取最近的消息历史用于压缩。
|
|
269
283
|
* 主流程:获取未读消息 + 历史消息 -> 合并排序 -> 返回。
|
|
@@ -292,6 +306,7 @@ export declare class McpServer {
|
|
|
292
306
|
*/
|
|
293
307
|
private getCachedMemoryNotification;
|
|
294
308
|
private handlePollMessage;
|
|
309
|
+
private doPollMessage;
|
|
295
310
|
/**
|
|
296
311
|
* 后检 Memory 通知并注入到待返回的消息中。按优先级从高到低注入:
|
|
297
312
|
* 文件变更(始终注入)→ 近期记忆过期回忆(触发即返回)→ TODO(触发即返回)→ 容量整理(始终注入)
|
|
@@ -311,13 +326,14 @@ export declare class McpServer {
|
|
|
311
326
|
private buildMemoryCleanupNotification;
|
|
312
327
|
/**
|
|
313
328
|
* 构建近期记忆过期回忆通知(有即将遗忘的记忆需要整理)。
|
|
314
|
-
* Memory 近期记忆过期 (v1.11.0) / v1.13.0 改用服务端 memory_status 字段
|
|
329
|
+
* Memory 近期记忆过期 (v1.11.0) / v1.13.0 改用服务端 memory_status 字段 / v1.19.0 扩展
|
|
315
330
|
*
|
|
316
331
|
* 通知策略(基于服务端 memory_status):
|
|
317
|
-
* 1. 有过期 recently_memory 且 memory_status='recalling'(回忆中但未完成疏理):
|
|
332
|
+
* 1. 有过期 recently_memory / agent_memory 且 memory_status='recalling'(回忆中但未完成疏理):
|
|
318
333
|
* 通知 "存在待疏理的即将遗忘记忆,请通过 memory_recurrence 获取进行整理"
|
|
319
|
-
* 2. 有过期 recently_memory 且 memory_status='normal'(尚未开始回忆):
|
|
334
|
+
* 2. 有过期 recently_memory / agent_memory 且 memory_status='normal'(尚未开始回忆):
|
|
320
335
|
* 通知 "有即将遗忘记忆得整理,请通过 memory_recurrence 进行回忆"
|
|
336
|
+
* v1.19.0: recently_memory 纳入过期回忆流程,与 agent_memory 一并处理。
|
|
321
337
|
*/
|
|
322
338
|
private buildMemoryRecurrenceNotification;
|
|
323
339
|
/**
|
|
@@ -394,6 +410,29 @@ export declare class McpServer {
|
|
|
394
410
|
* 测试替身或异常场景下如果 agentClient 未提供 getState,则返回 null,避免影响消息主流程。
|
|
395
411
|
*/
|
|
396
412
|
private getCurrentAgentId;
|
|
413
|
+
/**
|
|
414
|
+
* 将 agentId 安全化为文件名片段:仅保留字母数字下划线短横,其余替换为下划线。
|
|
415
|
+
* 与 acode 包 TodoStore.filePath 的路径安全化逻辑保持一致。
|
|
416
|
+
*/
|
|
417
|
+
private sanitizeAgentIdForTodoFile;
|
|
418
|
+
/**
|
|
419
|
+
* 构建 Todo 未完成项提醒通知。
|
|
420
|
+
*
|
|
421
|
+
* 触发条件(同时满足):
|
|
422
|
+
* 1. 当前 agentId 可读取
|
|
423
|
+
* 2. ~/.acode/todos/{agentId}.json 存在且可解析
|
|
424
|
+
* 3. 存在 status !== "completed" 的未完成项
|
|
425
|
+
* 4. 未完成项内容/状态/优先级指纹与上次通知时不同(去重)
|
|
426
|
+
*
|
|
427
|
+
* 行为:
|
|
428
|
+
* - 指纹变化且有未完成项:构造系统通知并返回;指纹更新为本轮快照。
|
|
429
|
+
* - 指纹未变:返回 null(不重复通知)。
|
|
430
|
+
* - 全部完成:重置指纹为 null,下次有未完成项时能再次通知。
|
|
431
|
+
* - 任何异常(文件不存在/JSON 损坏/agentId 缺失):静默返回 null,不阻断 poll_message。
|
|
432
|
+
*
|
|
433
|
+
* 通知以 DirectMessage 形式注入,senderId="MCP-System",不落库、不持久化。
|
|
434
|
+
*/
|
|
435
|
+
private buildTodoReminderNotification;
|
|
397
436
|
start(): Promise<void>;
|
|
398
437
|
/**
|
|
399
438
|
* 停止 McpServer,清理后台定时器。
|
|
@@ -406,12 +445,6 @@ export declare class McpServer {
|
|
|
406
445
|
* 后台定时器启用后,poll_message 不再重复检查,避免重复推送通知。
|
|
407
446
|
*/
|
|
408
447
|
private startMemoryFileWatcher;
|
|
409
|
-
/**
|
|
410
|
-
* 构建短期记忆 TODO 通知。
|
|
411
|
-
* 主流程:调用服务端 list_by_todo_status({ todo_status: 'pending' }) 获取 pending 待办 -> 注入提醒。
|
|
412
|
-
* v1.13.0: 由服务端 memory_status 字段管理 todo 状态,TS 侧不再维护本地缓存。
|
|
413
|
-
*/
|
|
414
|
-
private buildMemoryTodoNotification;
|
|
415
448
|
/**
|
|
416
449
|
* 停止后台 Memory 文件变更检测定时器。
|
|
417
450
|
*/
|