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
|
@@ -40,6 +40,7 @@ async function readSkillMetadata(directory) {
|
|
|
40
40
|
}
|
|
41
41
|
const raw = (await fs.readFile(skillFile, 'utf-8')).replace(/^\uFEFF/, '');
|
|
42
42
|
const metadata = {};
|
|
43
|
+
let bodyStart = 0;
|
|
43
44
|
if (raw.startsWith('---')) {
|
|
44
45
|
const end = raw.indexOf('\n---', 3);
|
|
45
46
|
if (end >= 0) {
|
|
@@ -53,18 +54,42 @@ async function readSkillMetadata(directory) {
|
|
|
53
54
|
metadata[match[1]] = value;
|
|
54
55
|
}
|
|
55
56
|
}
|
|
57
|
+
// body 起始位置:跳过关闭的 `---` 及其后的换行符
|
|
58
|
+
bodyStart = end + 4;
|
|
59
|
+
const newlineAfterFrontmatter = raw.charAt(end + 4);
|
|
60
|
+
if (newlineAfterFrontmatter === '\r') {
|
|
61
|
+
bodyStart += 1;
|
|
62
|
+
if (raw.charAt(end + 5) === '\n') {
|
|
63
|
+
bodyStart += 1;
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
else if (newlineAfterFrontmatter === '\n') {
|
|
67
|
+
bodyStart += 1;
|
|
68
|
+
}
|
|
56
69
|
}
|
|
57
70
|
}
|
|
71
|
+
const content = raw.slice(bodyStart).trim();
|
|
58
72
|
return {
|
|
59
73
|
name: metadata.name || fallbackNameFromDirectory(directory),
|
|
60
74
|
description: metadata.description,
|
|
61
75
|
directory,
|
|
76
|
+
content,
|
|
62
77
|
};
|
|
63
78
|
}
|
|
64
79
|
export async function loadAcodeSkills(skillsDir) {
|
|
65
|
-
if (!skillsDir
|
|
80
|
+
if (!skillsDir) {
|
|
66
81
|
return [];
|
|
67
82
|
}
|
|
83
|
+
return (await loadAcodeSkillGroup(skillsDir)).skills;
|
|
84
|
+
}
|
|
85
|
+
/**
|
|
86
|
+
* 加载单个 skills 目录:返回目录路径、是否存在、以及该目录下的 skills 列表。
|
|
87
|
+
* 目录不存在时返回 exists=false + 空 skills,供前端展示空节点。
|
|
88
|
+
*/
|
|
89
|
+
export async function loadAcodeSkillGroup(skillsDir) {
|
|
90
|
+
if (!(await pathExists(skillsDir))) {
|
|
91
|
+
return { dir: skillsDir, exists: false, skills: [] };
|
|
92
|
+
}
|
|
68
93
|
const entries = await fs.readdir(skillsDir, { withFileTypes: true });
|
|
69
94
|
const skills = [];
|
|
70
95
|
for (const entry of entries) {
|
|
@@ -76,5 +101,5 @@ export async function loadAcodeSkills(skillsDir) {
|
|
|
76
101
|
skills.push(metadata);
|
|
77
102
|
}
|
|
78
103
|
}
|
|
79
|
-
return skills;
|
|
104
|
+
return { dir: skillsDir, exists: true, skills };
|
|
80
105
|
}
|
|
@@ -5,4 +5,8 @@ export * from './config.js';
|
|
|
5
5
|
export * from './hooks/hookBus.js';
|
|
6
6
|
export * from './runtime.js';
|
|
7
7
|
export * from './types.js';
|
|
8
|
+
export * from './sub-agent-types.js';
|
|
9
|
+
export * from './sub-agent-store.js';
|
|
10
|
+
export * from './sub-agent-manager.js';
|
|
11
|
+
export * from './sub-agent-tools.js';
|
|
8
12
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,+BAA+B,CAAC;AAC9C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,aAAa,CAAC;AAC5B,cAAc,oBAAoB,CAAC;AACnC,cAAc,cAAc,CAAC;AAC7B,cAAc,YAAY,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,+BAA+B,CAAC;AAC9C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,aAAa,CAAC;AAC5B,cAAc,oBAAoB,CAAC;AACnC,cAAc,cAAc,CAAC;AAC7B,cAAc,YAAY,CAAC;AAC3B,cAAc,sBAAsB,CAAC;AACrC,cAAc,sBAAsB,CAAC;AACrC,cAAc,wBAAwB,CAAC;AACvC,cAAc,sBAAsB,CAAC"}
|
|
@@ -5,3 +5,7 @@ export * from './config.js';
|
|
|
5
5
|
export * from './hooks/hookBus.js';
|
|
6
6
|
export * from './runtime.js';
|
|
7
7
|
export * from './types.js';
|
|
8
|
+
export * from './sub-agent-types.js';
|
|
9
|
+
export * from './sub-agent-store.js';
|
|
10
|
+
export * from './sub-agent-manager.js';
|
|
11
|
+
export * from './sub-agent-tools.js';
|
|
@@ -12,14 +12,93 @@ export declare class ACodeRuntime extends EventEmitter {
|
|
|
12
12
|
private sessionCompleteEmitted;
|
|
13
13
|
private contextVersion;
|
|
14
14
|
private readonly stopWaiters;
|
|
15
|
+
/** 上下文压缩调试定时器(每 5 秒输出一次) */
|
|
16
|
+
private compactionDebugTimer;
|
|
17
|
+
/** 可动态刷新的 SkillTool 引用(含 refresh 方法),运行中变更时调用其 refresh */
|
|
18
|
+
private skillTool;
|
|
19
|
+
/** 监听 skills 目录变更的 FSWatcher 列表 */
|
|
20
|
+
private skillWatchers;
|
|
21
|
+
/** skill 目录变更后的防抖定时器,避免短时间多次触发重扫 */
|
|
22
|
+
private skillRefreshTimer;
|
|
23
|
+
/** skill 重扫防抖间隔(毫秒) */
|
|
24
|
+
private static readonly SKILL_REFRESH_DEBOUNCE_MS;
|
|
25
|
+
/**
|
|
26
|
+
* ask_user_question 工具的挂起等待队列。
|
|
27
|
+
* key: toolCallId;value: resolve/reject 回调 + 创建时的 contextVersion。
|
|
28
|
+
* submitQuestionAnswer() 调用时 resolve;abort/stop/supersede 时 reject。
|
|
29
|
+
*/
|
|
30
|
+
private readonly questionWaiters;
|
|
15
31
|
constructor(config: ACodeRuntimeConfig);
|
|
16
32
|
private emitAcodeEvent;
|
|
33
|
+
/**
|
|
34
|
+
* 发射压缩子事件(phase 事件)到面板时间线。
|
|
35
|
+
* 子事件通过 parentId 关联到父压缩事件,在前端以嵌套子元素形式展示。
|
|
36
|
+
*
|
|
37
|
+
* @param compactionId 父压缩事件 ID
|
|
38
|
+
* @param phase 阶段标识(detect/prune/prune_done/summarize/summarize_done)
|
|
39
|
+
* @param phaseLabel 阶段显示标签(如"阶段1: 裁剪工具输出")
|
|
40
|
+
* @param phaseDetail 阶段详情(如"裁剪了 5 条工具输出")
|
|
41
|
+
*/
|
|
42
|
+
private emitCompactionPhase;
|
|
43
|
+
/**
|
|
44
|
+
* performCompaction 的 onPhase 回调处理:将 CompactionPhaseEvent 转换为面板子事件。
|
|
45
|
+
*/
|
|
46
|
+
private handleCompactionPhase;
|
|
17
47
|
/**
|
|
18
48
|
* 启动 ACode headless 会话。
|
|
19
49
|
* 主流程:加载 `.acode/config.json` 与 skills 目录 -> 发出 MCP/Skill 状态 ->
|
|
20
50
|
* 如有初始 prompt 则执行一轮响应。
|
|
21
51
|
*/
|
|
22
52
|
start(): Promise<void>;
|
|
53
|
+
/**
|
|
54
|
+
* 加载所有 skills 来源目录并合并。
|
|
55
|
+
*
|
|
56
|
+
* 三个来源(按优先级,后加载的覆盖先加载的同名 skill):
|
|
57
|
+
* 1. 全局目录(~/.acode/skills,由 config.skillsDir 指定)
|
|
58
|
+
* 2. 项目目录(<workingDirectory>/.acode/skills)
|
|
59
|
+
* 3. 项目目录(<workingDirectory>/.agentswork/skills)
|
|
60
|
+
*
|
|
61
|
+
* 返回合并后的 skills 列表、按目录分组的 skillGroups,以及需要监听的目录列表
|
|
62
|
+
* (已去重、规范化)。watchedDirs 用于启动 fs.watch 监听运行时变更。
|
|
63
|
+
*/
|
|
64
|
+
private loadAllSkills;
|
|
65
|
+
/**
|
|
66
|
+
* 启动 fs.watch 监听 skills 目录变更。
|
|
67
|
+
*
|
|
68
|
+
* 使用 recursive: true(Windows/macOS 原生支持,Linux 在 Node 19+ 支持)。
|
|
69
|
+
* Linux 旧版本不支持时会抛 ERR_FEATURE_UNAVAILABLE,fallback 到非 recursive
|
|
70
|
+
* 监听顶层目录(只能感知 skill 子目录的新增/删除,无法感知 SKILL.md 内容修改)。
|
|
71
|
+
*
|
|
72
|
+
* 变更事件经防抖后触发 refreshSkills(),重新扫描目录、刷新 SkillTool、重发 skill_status。
|
|
73
|
+
*/
|
|
74
|
+
private startSkillWatchers;
|
|
75
|
+
/**
|
|
76
|
+
* 防抖调度 skill 重扫。短时间内多次变更事件只触发一次重扫。
|
|
77
|
+
*/
|
|
78
|
+
private scheduleSkillRefresh;
|
|
79
|
+
/**
|
|
80
|
+
* 重新扫描 skills 目录并刷新 SkillTool 与 state。
|
|
81
|
+
*
|
|
82
|
+
* 调用时机:fs.watch 监听到目录变更后(经防抖)。
|
|
83
|
+
* 副作用:
|
|
84
|
+
* - 更新 this.skillTool 的内部 Map 与工具描述(让下一轮 turn 的 LLM 感知新 skill)
|
|
85
|
+
* - 更新 this.state.skills(影响 fallback 响应等)
|
|
86
|
+
* - 重发 skill_status 事件(让 DevTools 面板刷新"能力"标签页)
|
|
87
|
+
*/
|
|
88
|
+
private refreshSkills;
|
|
89
|
+
/**
|
|
90
|
+
* 关闭所有 skills 目录监听器与防抖定时器。在 stop() 中调用。
|
|
91
|
+
*/
|
|
92
|
+
private stopSkillWatchers;
|
|
93
|
+
/**
|
|
94
|
+
* 启动上下文压缩调试日志,每 5 秒写入系统临时目录下的 acode-compaction-debug.log。
|
|
95
|
+
* 仅当环境变量 ACODE_COMPACTION_DEBUG=1 时启用,使用异步写入避免阻塞事件循环。
|
|
96
|
+
*/
|
|
97
|
+
private startCompactionDebugLog;
|
|
98
|
+
/**
|
|
99
|
+
* 停止上下文压缩调试日志。
|
|
100
|
+
*/
|
|
101
|
+
private stopCompactionDebugLog;
|
|
23
102
|
/**
|
|
24
103
|
* 处理一轮用户输入。
|
|
25
104
|
* 主流程:将用户输入追加到会话 -> 调用 OpenAI-compatible 模型 -> 如模型请求
|
|
@@ -35,10 +114,56 @@ export declare class ACodeRuntime extends EventEmitter {
|
|
|
35
114
|
private executeSubmit;
|
|
36
115
|
/** 中止当前轮次;由执行轮次统一发出一个终态事件,避免 aborted/failed 双终态。 */
|
|
37
116
|
abort(): Promise<void>;
|
|
117
|
+
/**
|
|
118
|
+
* 构造 ask_user_question 工具的依赖注入。
|
|
119
|
+
* onQuestion: 发出 question_request 事件,让 adapter 转发到前端。
|
|
120
|
+
* waitForAnswer: 阻塞等待 submitQuestionAnswer() 调用 resolve,或 abort/stop/supersede 时 reject。
|
|
121
|
+
*/
|
|
122
|
+
private buildAskUserQuestionDeps;
|
|
123
|
+
/**
|
|
124
|
+
* 构造 sub-agent 工具集依赖(注入 SubAgentManager 句柄)。
|
|
125
|
+
*
|
|
126
|
+
* 5 个工具的依赖:
|
|
127
|
+
* - spawnSubAgent: 创建子 agent(不阻塞,不自动 start)
|
|
128
|
+
* - listSubAgents: 列出当前 agent 的所有子 agent
|
|
129
|
+
* - getSubAgentStatus: 查询某子 agent 实时状态
|
|
130
|
+
* - awaitSubAgents: 阻塞等待指定子 agent 数组完成
|
|
131
|
+
* - abortSubAgent: 终止某子 agent
|
|
132
|
+
*/
|
|
133
|
+
private buildSubAgentToolDeps;
|
|
134
|
+
/**
|
|
135
|
+
* 接收用户对 ask_user_question 的回答(由 AcodeSdkAdapter.sendQuestionAnswer 调用)。
|
|
136
|
+
* 若当前 turn 已被 supersede(contextVersion 变更),返回 false 让 adapter 知晓。
|
|
137
|
+
*/
|
|
138
|
+
submitQuestionAnswer(toolCallId: string, answers: Record<string, string>): boolean;
|
|
139
|
+
/**
|
|
140
|
+
* 中止所有 ask_user_question 等待,让工具 execute() 抛错走 appendToolFailureResult。
|
|
141
|
+
* 在 abort()/stop() 中调用,确保用户点停止或会话终止时 execute 不会永久阻塞。
|
|
142
|
+
*/
|
|
143
|
+
private rejectAllQuestionWaiters;
|
|
38
144
|
/** 终止 ACode 会话并发出 session_complete。 */
|
|
39
145
|
stop(): Promise<void>;
|
|
40
146
|
private resolveCommandDirs;
|
|
41
147
|
private runModelTurn;
|
|
148
|
+
/**
|
|
149
|
+
* LLM 摘要器:调用当前 provider 生成结构化对话摘要。
|
|
150
|
+
*
|
|
151
|
+
* 这是把 OpenCode 的 LLM 摘要能力赋能到 ACode 的核心方法:
|
|
152
|
+
* - OpenCode 在 compaction.process 中调用独立的 compaction agent
|
|
153
|
+
* - ACode 复用当前 provider 配置,发起一次非流式 chat completion 请求
|
|
154
|
+
* - 使用 COMPACTION_LLM_PROMPT_TEMPLATE 作为 prompt 模板
|
|
155
|
+
*
|
|
156
|
+
* 设计要点:
|
|
157
|
+
* 1. 非流式调用(不需要流式,简化处理)
|
|
158
|
+
* 2. 不带 tools(纯文本生成)
|
|
159
|
+
* 3. 失败时抛出异常,由 summarizeConversation 降级到规则摘要
|
|
160
|
+
* 4. 独立的 AbortController,避免主请求取消影响摘要
|
|
161
|
+
* 5. 复用 provider 的 timeout 配置
|
|
162
|
+
*
|
|
163
|
+
* @param input 摘要输入(conversationText + messageCount + contextLimit)
|
|
164
|
+
* @returns LLM 生成的结构化摘要文本
|
|
165
|
+
*/
|
|
166
|
+
private summarizeConversationWithLLM;
|
|
42
167
|
private requestChatCompletion;
|
|
43
168
|
private readChatCompletionStream;
|
|
44
169
|
private handleToolCalls;
|
|
@@ -57,6 +182,18 @@ export declare class ACodeRuntime extends EventEmitter {
|
|
|
57
182
|
private appendToolFailureResult;
|
|
58
183
|
private connectMcpServers;
|
|
59
184
|
private createMcpTransport;
|
|
185
|
+
/**
|
|
186
|
+
* 通过 MCP 连接调用 get_profile 工具获取用户 profile 信息,
|
|
187
|
+
* 格式化为文本后返回,用于拼接到 rolePrompt 下方。
|
|
188
|
+
* 主流程:遍历已连接的 MCP -> 找到 get_profile 工具 -> 调用 -> 格式化结果。
|
|
189
|
+
* 容错:任何步骤失败都返回空字符串,不阻塞启动。
|
|
190
|
+
*/
|
|
191
|
+
private fetchProfilePrompt;
|
|
192
|
+
/**
|
|
193
|
+
* 从 MCP callTool 返回值中提取 profile 对象。
|
|
194
|
+
* 主流程:优先取 content[0].text JSON -> 回退到 result 本身为对象。
|
|
195
|
+
*/
|
|
196
|
+
private extractProfileFromToolResult;
|
|
60
197
|
private disconnectMcpServers;
|
|
61
198
|
}
|
|
62
199
|
//# sourceMappingURL=runtime.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runtime.d.ts","sourceRoot":"","sources":["../src/runtime.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"runtime.d.ts","sourceRoot":"","sources":["../src/runtime.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AA+C3C,OAAO,KAAK,EAOV,kBAAkB,EAGnB,MAAM,YAAY,CAAC;AA4oCpB,qBAAa,YAAa,SAAQ,YAAY;IAgEhC,OAAO,CAAC,QAAQ,CAAC,MAAM;IA/DnC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAe;IACvC,OAAO,CAAC,mBAAmB,CAAqB;IAEhD,OAAO,CAAC,KAAK,CAsBX;IAEF,OAAO,CAAC,eAAe,CAAgC;IAEvD,OAAO,CAAC,WAAW,CAAoC;IAEvD,OAAO,CAAC,UAAU,CAAS;IAE3B,OAAO,CAAC,cAAc,CAAS;IAE/B,OAAO,CAAC,sBAAsB,CAAS;IACvC,OAAO,CAAC,cAAc,CAAK;IAC3B,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAyB;IACrD,4BAA4B;IAC5B,OAAO,CAAC,oBAAoB,CAA+C;IAC3E,0DAA0D;IAC1D,OAAO,CAAC,SAAS,CAA+B;IAChD,mCAAmC;IACnC,OAAO,CAAC,aAAa,CAAsB;IAC3C,oCAAoC;IACpC,OAAO,CAAC,iBAAiB,CAA8C;IACvE,uBAAuB;IACvB,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,yBAAyB,CAAO;IAExD;;;;OAIG;IACH,OAAO,CAAC,QAAQ,CAAC,eAAe,CAOlB;gBAEe,MAAM,EAAE,kBAAkB;IAevD,OAAO,CAAC,cAAc;IAatB;;;;;;;;OAQG;IACH,OAAO,CAAC,mBAAmB;IAgB3B;;OAEG;IACH,OAAO,CAAC,qBAAqB;IAqB7B;;;;OAIG;IACG,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAsK5B;;;;;;;;;;OAUG;YACW,aAAa;IA+C3B;;;;;;;;OAQG;IACH,OAAO,CAAC,kBAAkB;IA2B1B;;OAEG;IACH,OAAO,CAAC,oBAAoB;IAU5B;;;;;;;;OAQG;YACW,aAAa;IAuC3B;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAezB;;;OAGG;IACH,OAAO,CAAC,uBAAuB;IAqD/B;;OAEG;IACH,OAAO,CAAC,sBAAsB;IAO9B;;;;OAIG;IACG,MAAM,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAS5C;;;OAGG;IACG,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC;IAanC,OAAO,CAAC,gBAAgB;YAIV,aAAa;IAgP3B,oDAAoD;IAC9C,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAQ5B;;;;OAIG;IACH,OAAO,CAAC,wBAAwB;IAuBhC;;;;;;;;;OASG;IACH,OAAO,CAAC,qBAAqB;IA4E7B;;;OAGG;IACH,oBAAoB,CAClB,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAC9B,OAAO;IAeV;;;OAGG;IACH,OAAO,CAAC,wBAAwB;IAQhC,uCAAuC;IACjC,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IA4C3B,OAAO,CAAC,kBAAkB;YAaZ,YAAY;IA4K1B;;;;;;;;;;;;;;;;;OAiBG;YACW,4BAA4B;YAwE5B,qBAAqB;YA2TrB,wBAAwB;YAsFxB,eAAe;YAwSf,sBAAsB;IA6CpC;;;OAGG;IACH,OAAO,CAAC,uBAAuB;IAiC/B;;;OAGG;IACH,OAAO,CAAC,iBAAiB;YAQX,oCAAoC;IA0DlD,OAAO,CAAC,uBAAuB;YA0BjB,iBAAiB;IA2C/B,OAAO,CAAC,kBAAkB;IA2B1B;;;;;OAKG;YACW,kBAAkB;IAgChC;;;OAGG;IACH,OAAO,CAAC,4BAA4B;YA4BtB,oBAAoB;CAiBnC"}
|