aws-runtime-bridge 1.9.92 → 1.9.94

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 (134) hide show
  1. package/dist/adapter/AcodeSdkAdapter.d.ts +22 -126
  2. package/dist/adapter/AdapterRegistry.d.ts +10 -38
  3. package/dist/adapter/ClaudeSdkAdapter.d.ts +21 -84
  4. package/dist/adapter/CodexSdkAdapter.d.ts +2 -10
  5. package/dist/adapter/OpencodeSdkAdapter.d.ts +6 -42
  6. package/dist/adapter/acode-tool-names.d.ts +3 -12
  7. package/dist/adapter/idle-poll-loop.d.ts +4 -16
  8. package/dist/adapter/index.d.ts +1 -4
  9. package/dist/adapter/instance-ai-config-resolver.d.ts +9 -29
  10. package/dist/adapter/types.d.ts +124 -242
  11. package/dist/adapters/cc-switch/common.d.ts +4 -14
  12. package/dist/adapters/cc-switch/index.d.ts +3 -11
  13. package/dist/adapters/cc-switch/mcp-acode.d.ts +1 -7
  14. package/dist/adapters/cc-switch/mcp-claude.d.ts +1 -5
  15. package/dist/adapters/cc-switch/mcp-claudecode.d.ts +1 -5
  16. package/dist/adapters/cc-switch/mcp-codex.d.ts +1 -7
  17. package/dist/adapters/cc-switch/mcp-opencode.d.ts +3 -11
  18. package/dist/adapters/cc-switch/mcp-placeholder.d.ts +1 -5
  19. package/dist/adapters/cc-switch/skill-acode.d.ts +1 -6
  20. package/dist/adapters/cc-switch/skill-claude.d.ts +1 -5
  21. package/dist/adapters/cc-switch/skill-claudecode.d.ts +1 -5
  22. package/dist/adapters/cc-switch/skill-opencode.d.ts +1 -5
  23. package/dist/adapters/cc-switch/skill-placeholder.d.ts +1 -5
  24. package/dist/config.d.ts +39 -57
  25. package/dist/index.d.ts +1 -5
  26. package/dist/middleware/auth.d.ts +4 -22
  27. package/dist/routes/acode-todos.d.ts +1 -9
  28. package/dist/routes/dashboard.d.ts +1 -6
  29. package/dist/routes/events.d.ts +1 -5
  30. package/dist/routes/file-browser.d.ts +2 -8
  31. package/dist/routes/file-diff-rollback.d.ts +13 -41
  32. package/dist/routes/file-snapshot.d.ts +1 -8
  33. package/dist/routes/git.d.ts +18 -91
  34. package/dist/routes/instance.d.ts +4 -15
  35. package/dist/routes/processes.d.ts +1 -5
  36. package/dist/routes/properties.d.ts +1 -5
  37. package/dist/routes/pty.d.ts +9 -36
  38. package/dist/routes/runtime-binding.d.ts +1 -4
  39. package/dist/routes/sessions.d.ts +2 -9
  40. package/dist/routes/sub-agents.d.ts +1 -12
  41. package/dist/routes/task-context.d.ts +1 -6
  42. package/dist/routes/terminal.d.ts +18 -92
  43. package/dist/routes/yml.d.ts +1 -5
  44. package/dist/services/acode-package.d.ts +2 -12
  45. package/dist/services/agent-event-store.d.ts +6 -26
  46. package/dist/services/agent-process-manager.d.ts +30 -184
  47. package/dist/services/ai-source-apply.d.ts +1 -3
  48. package/dist/services/auto-register.d.ts +29 -106
  49. package/dist/services/bridge-package-publish-hooks.d.ts +5 -19
  50. package/dist/services/cc-switch-sdk.d.ts +1 -6
  51. package/dist/services/cli-commands.d.ts +12 -33
  52. package/dist/services/cli-commands.js +6 -6
  53. package/dist/services/event-delta-pusher.d.ts +5 -20
  54. package/dist/services/fileSnapshotStore.d.ts +7 -35
  55. package/dist/services/instance-ai-config-service.d.ts +4 -21
  56. package/dist/services/instance-service.d.ts +1 -10
  57. package/dist/services/instance-state.d.ts +5 -30
  58. package/dist/services/legacy-path-migration.d.ts +1 -1
  59. package/dist/services/lifecycle-state.d.ts +1 -4
  60. package/dist/services/mcp-launch-binding-queue.d.ts +2 -8
  61. package/dist/services/orphan-monitor.d.ts +20 -63
  62. package/dist/services/panel-auth.d.ts +12 -28
  63. package/dist/services/process-detector.d.ts +18 -122
  64. package/dist/services/process-registry.d.ts +30 -150
  65. package/dist/services/ring-buffer.d.ts +9 -42
  66. package/dist/services/runtime-binding.d.ts +2 -9
  67. package/dist/services/runtime-lifecycle-policy.d.ts +3 -15
  68. package/dist/services/session-output.d.ts +14 -67
  69. package/dist/services/startup-config-wizard.d.ts +3 -10
  70. package/dist/services/system-metrics.d.ts +1 -4
  71. package/dist/services/terminal-persistence.d.ts +10 -53
  72. package/dist/services/tool-installer.d.ts +6 -18
  73. package/dist/services/tunnel-client.d.ts +3 -18
  74. package/dist/services/windows-service-manager.d.ts +1 -13
  75. package/dist/services/workspace-files.d.ts +17 -57
  76. package/dist/services/workspace-watch.d.ts +2 -6
  77. package/dist/services/workspaceTaskChangeWatcher.d.ts +13 -51
  78. package/dist/types.d.ts +2 -8
  79. package/dist/utils/instance-ai-config-debug-logger.d.ts +5 -20
  80. package/dist/utils/logger.d.ts +7 -20
  81. package/dist/utils/mcp-utils.d.ts +8 -44
  82. package/dist/utils/path-utils.d.ts +3 -15
  83. package/dist/utils/sdk-package-loader.d.ts +2 -8
  84. package/dist/utils/validation.d.ts +3 -20
  85. package/dist/utils/yaml-utils.d.ts +8 -56
  86. package/node_modules/@cc-switch/sdk/dist/index.d.ts +1 -6
  87. package/node_modules/@cc-switch/sdk/dist/sdk.d.ts +11 -42
  88. package/package/acode/dist/ask-user-question-tool.d.ts +7 -20
  89. package/package/acode/dist/built-in-file-tools.d.ts +3 -6
  90. package/package/acode/dist/built-in-symbols-tool.d.ts +1 -4
  91. package/package/acode/dist/builtins/commandArtifacts.d.ts +1 -4
  92. package/package/acode/dist/builtins/shellOutputDecoder.d.ts +3 -18
  93. package/package/acode/dist/commands/commandLoader.d.ts +1 -4
  94. package/package/acode/dist/commands/commandParser.d.ts +1 -4
  95. package/package/acode/dist/compaction.d.ts +38 -175
  96. package/package/acode/dist/config.d.ts +1 -4
  97. package/package/acode/dist/fs-utils.d.ts +1 -19
  98. package/package/acode/dist/hooks/hookBus.d.ts +1 -4
  99. package/package/acode/dist/mcpToolNames.d.ts +2 -8
  100. package/package/acode/dist/parsers/ast-cache.d.ts +7 -20
  101. package/package/acode/dist/parsers/language-detector.d.ts +1 -5
  102. package/package/acode/dist/parsers/language-queries.d.ts +1 -1
  103. package/package/acode/dist/parsers/tree-sitter-loader.d.ts +4 -12
  104. package/package/acode/dist/parsers/types.d.ts +19 -30
  105. package/package/acode/dist/runtime.d.ts +47 -269
  106. package/package/acode/dist/skill-tool.d.ts +3 -23
  107. package/package/acode/dist/sub-agent-manager.d.ts +41 -206
  108. package/package/acode/dist/sub-agent-store.d.ts +12 -61
  109. package/package/acode/dist/sub-agent-tools.d.ts +9 -18
  110. package/package/acode/dist/sub-agent-types.d.ts +32 -38
  111. package/package/acode/dist/todo-store.d.ts +8 -23
  112. package/package/acode/dist/todo-tool.d.ts +2 -2
  113. package/package/acode/dist/types.d.ts +17 -38
  114. package/package/aws-client-agent-mcp/dist/agent-client.d.ts +44 -161
  115. package/package/aws-client-agent-mcp/dist/config.d.ts +4 -18
  116. package/package/aws-client-agent-mcp/dist/constants.d.ts +1 -3
  117. package/package/aws-client-agent-mcp/dist/context-manager.d.ts +25 -95
  118. package/package/aws-client-agent-mcp/dist/context-manager.test.d.ts +1 -4
  119. package/package/aws-client-agent-mcp/dist/http-client.d.ts +15 -56
  120. package/package/aws-client-agent-mcp/dist/index.d.ts +1 -11
  121. package/package/aws-client-agent-mcp/dist/logger.d.ts +5 -22
  122. package/package/aws-client-agent-mcp/dist/mcp-server.d.ts +76 -365
  123. package/package/aws-client-agent-mcp/dist/mcp-tools.d.ts +21 -83
  124. package/package/aws-client-agent-mcp/dist/memory-store.d.ts +15 -70
  125. package/package/aws-client-agent-mcp/dist/memory-tools.d.ts +4 -17
  126. package/package/aws-client-agent-mcp/dist/message-buffer.d.ts +23 -92
  127. package/package/aws-client-agent-mcp/dist/messageContent.d.ts +5 -29
  128. package/package/aws-client-agent-mcp/dist/server-memory-store.d.ts +2 -9
  129. package/package/aws-client-agent-mcp/dist/status-reporter.d.ts +17 -55
  130. package/package/aws-client-agent-mcp/dist/types.d.ts +66 -125
  131. package/package/aws-client-agent-mcp/dist/websocket-client.d.ts +30 -125
  132. package/package/cc-switch-sdk/dist/index.d.ts +1 -6
  133. package/package/cc-switch-sdk/dist/sdk.d.ts +11 -42
  134. package/package.json +1 -1
@@ -48,13 +48,10 @@ export interface ACodeSkillMetadata {
48
48
  name: string;
49
49
  description?: string;
50
50
  directory: string;
51
- /** SKILL.md body 内容(frontmatter 之后的完整 markdown 文本),供 SkillTool 加载 */
51
+
52
52
  content: string;
53
53
  }
54
- /**
55
- * 单个 skills 目录的加载结果:包含目录路径、是否存在、以及该目录下的 skills 列表。
56
- * 即使目录不存在也会返回(exists=false, skills=[]),供前端展示空节点。
57
- */
54
+
58
55
  export interface ACodeSkillGroup {
59
56
  dir: string;
60
57
  exists: boolean;
@@ -107,69 +104,51 @@ export interface ACodeRuntimeConfig {
107
104
  skillsDir?: string;
108
105
  initialPrompt?: string;
109
106
  model?: string;
110
- /** 模型推理强度(minimal|low|medium|high|xhigh),由 bridge 通过 instanceAiConfig 注入 */
107
+
111
108
  effort?: string;
112
109
  systemPrompt?: string;
113
- /** 全局提示词(System 1) */
110
+
114
111
  globalPrompt?: string;
115
- /** 角色提示词(System 2) */
112
+
116
113
  rolePrompt?: string;
117
- /** 记忆内容(System 3) */
114
+
118
115
  memory?: string;
119
116
  env?: Record<string, string>;
120
117
  commandDirs?: string[];
121
118
  hooks?: ACodeHookHandler[];
122
119
  permissions?: ACodePermissionConfig;
123
- /** 可选:sub-agent 管理器句柄,注入后启用 sub-agent 工具集(sub_agent/list_sub_agents/get_sub_agent_status/await_sub_agents/abort_sub_agent) */
120
+
124
121
  subAgentManager?: SubAgentManager;
125
- /**
126
- * 可选:共享的 MCP 连接(由父 agent 注入)。
127
- * 设置后子 agent 跳过 connectMcpServers,直接复用父 agent 的 MCP 连接,
128
- * 避免子 agent 启动新的 MCP server 进程后因 launch binding 已被消费而 401。
129
- * stop() 时不会关闭共享连接(由创建者管理生命周期)。
130
- */
122
+
131
123
  sharedMcpConnections?: ACodeMcpConnection[];
132
- /** Sub Agent 模型覆盖(空值=继承主 Agent 模型) */
124
+
133
125
  subAgentModel?: string;
134
- /** Sub Agent 思考强度覆盖(空值=继承主 Agent 强度) */
126
+
135
127
  subAgentEffort?: string;
136
- /**
137
- * Sub Agent 类型(general | explore)。
138
- * - general:完整工具权限(可读写工作区文件)
139
- * - explore:只读模式,过滤掉会修改工作区文件的内建工具
140
- * (write_file/edit_file/delete_file/Bash),仅保留 read_file/grep/symbols
141
- * 等只读工具 + memory MCP 工具。MCP 工具白名单由
142
- * SUB_AGENT_ALLOWED_MCP_TOOLS 独立施加,此处不重复。
143
- * 未设置时视为 general(向后兼容)。
144
- */
128
+
145
129
  subagentType?: SubAgentType;
146
- /**
147
- * 可选:Agent 文件操作变更回调。
148
- * 当 Agent 调用 write_file/edit_file/delete_file 工具时,
149
- * 执行前后会调用此回调上报精确变更记录(供 bridge 差异回滚使用)。
150
- */
130
+
151
131
  onFileChange?: import("./built-in-file-tools.js").OnAgentFileChange;
152
132
  }
153
133
  export interface ACodeResolvedProviderConfig {
154
134
  model: string;
155
135
  baseURL?: string;
156
136
  apiKey?: string;
157
- /** 模型推理强度(minimal|low|medium|high|xhigh),写入 API 请求体的 reasoning_effort 字段 */
137
+
158
138
  effort?: string;
159
139
  systemPrompt?: string;
160
140
  stream: boolean;
161
141
  requestTimeoutMs: number;
162
- /** 单次 provider 请求的总时长上限(毫秒)。0 表示不设总时长上限,仅靠 requestTimeoutMs 的分段/空闲超时保护。 */
142
+
163
143
  requestTotalTimeoutMs: number;
164
144
  requestRetryCount: number;
165
145
  mcpToolTimeoutMs: number;
166
146
  mcpPollingToolTimeoutMs: number;
167
147
  supportsImageInput: boolean;
168
- /** 上下文窗口大小(token),优先于硬编码查找表 */
148
+
169
149
  contextLimit?: number;
170
- /** 输入 token 上限(部分 Provider 的 input+output 总额 ≠ context 上限)。
171
- * 设置后压缩阈值基于 inputLimit 计算,更精确。未配置时降级到 contextLimit。 */
150
+
172
151
  inputLimit?: number;
173
- /** 最大输出 token 数,优先于硬编码查找表 */
152
+
174
153
  maxOutput?: number;
175
154
  }
@@ -1,7 +1,4 @@
1
- /**
2
- * Agent 客户端核心模块
3
- * 负责与调度中心通信,管理消息循环
4
- */
1
+
5
2
  import type { MemoryStats } from "./memory-store.js";
6
3
  import { StatusReporter } from "./status-reporter.js";
7
4
  import type { AgentConfig, DirectMessage, DmHistoryResponse, FetchUnreadMessagesOptions, FinishTaskRollbackArgs, GroupHistoryResponse, GroupRoomsResponse, HireBatchResult, HireColleagueArgs, HireColleaguesBatchArgs, HiredColleagueResult, MessageHandler, OnlineListResponse, ProfileInfo, RegisterResult, SendDmResult, SendMessageResult, StartTaskRollbackArgs, TaskInstanceCommentArgs, UnreadMessagesResult } from "./types.js";
@@ -21,181 +18,89 @@ export declare class AgentClient {
21
18
  private pollTimer;
22
19
  private statusReporter;
23
20
  private newCharacterHandler;
24
- /** runtime token 主动续期定时器(补全已配置但未接线的 12h 刷新) */
21
+
25
22
  private runtimeTokenRefreshTimer;
26
- /**
27
- * Profile 缓存
28
- * 用于处理 PROFILE_INFO 消息在 profileHandler 设置之前到达的情况
29
- */
23
+
30
24
  private cachedProfile;
31
25
  constructor();
32
26
  initialize(): Promise<void>;
33
27
  private setupWebSocketListeners;
34
- /**
35
- * 注册 Agent 上线
36
- */
28
+
37
29
  register(): Promise<RegisterResult>;
38
30
  private hasPresetAgentId;
39
- /**
40
- * 使用预设 AgentID 注册(绑定已有实例)
41
- */
31
+
42
32
  private registerWithExistingAgentId;
43
- /**
44
- * 作为新 Agent 注册
45
- */
33
+
46
34
  private registerAsNewAgent;
47
- /**
48
- * 注销 Agent 下线
49
- */
35
+
50
36
  unregister(): Promise<void>;
51
- /**
52
- * 获取当前 Agent 可见的同事列表(包含离线 Agent)。
53
- */
37
+
54
38
  discoverColleagues(): Promise<OnlineListResponse>;
55
- /**
56
- * 获取当前 Agent 在关系图中可发现的群组列表。
57
- */
39
+
58
40
  discoverGroupRooms(): Promise<GroupRoomsResponse>;
59
- /**
60
- * 招聘同事并创建新的 Agent 实例。
61
- * 主流程:校验当前实例已注册 -> 透传创建角色参数到服务端 MCP tool -> 返回新实例信息。
62
- */
41
+
63
42
  hireColleague(args: HireColleagueArgs): Promise<HiredColleagueResult>;
64
- /**
65
- * 批量发起招聘审批请求。
66
- * 主流程:校验当前实例已注册 -> 透传批量招聘参数到服务端 MCP tool -> 返回整批审批与创建结果。
67
- */
43
+
68
44
  hireColleaguesBatch(args: HireColleaguesBatchArgs): Promise<HireBatchResult>;
69
- /**
70
- * 调用需要当前 Agent 实例身份的 server MCP tool。
71
- * 主流程:确认已注册 -> 自动附加 agentId -> 复用带 runtime token 的 HTTP 通道。
72
- */
45
+
73
46
  callAgentScopedTool<T = unknown>(toolName: string, args: Record<string, unknown>): Promise<T>;
74
- /**
75
- * 上报当前 MCP 本地合并后的记忆统计。
76
- * 主流程:自动附加 agentId -> 交给 server 广播给 Dashboard,避免前端只看到 server 实例级统计。
77
- */
47
+
78
48
  reportMemoryStats(memoryStats: MemoryStats): Promise<void>;
79
- /**
80
- * 发送群消息
81
- * @param content 消息内容
82
- * @param projectName 目标项目名,不传则使用 Agent 所属项目(由服务端决定)
83
- * @param roomId 目标群房间 ID,小组群场景下优先使用以避免误发到项目公共群
84
- */
49
+
85
50
  sendGroupMessage(content: string, projectName?: string, roomId?: string): Promise<SendMessageResult>;
86
- /**
87
- * 发送私信
88
- *
89
- * waitReply=true(调用式)时使用 callToolOnce 替代 callTool,原因:
90
- * - callTool 的全局 HTTP 超时固定为 120s(DEFAULT_MCP_HTTP_REQUEST_TIMEOUT_MS),
91
- * 无法匹配服务端 sendCallAndWaitReply 的较长等待时间
92
- * - callTool 的重试循环(累计最多重试 30s)在服务端排队 503 时还可能额外拖累
93
- * - callToolOnce 无自动重试、支持自定义超时,与服务端阻塞等待语义一致
94
- */
51
+
95
52
  sendDirectMessage(targetId: string, content: string, waitReply?: boolean, replyToCallId?: string, timeoutMs?: number): Promise<SendDmResult>;
96
- /**
97
- * 发送私信并等待回复(阻塞式)
98
- */
53
+
99
54
  sendCallAndWaitReply(targetId: string, content: string, timeoutMs?: number): Promise<DirectMessage>;
100
- /**
101
- * 回复调用式消息
102
- */
55
+
103
56
  replyToCall(callId: string, targetId: string, content: string): Promise<SendDmResult>;
104
- /**
105
- * 获取私信历史消息
106
- */
57
+
107
58
  getDmHistory(targetUserId?: string, limit?: number, since?: string): Promise<DmHistoryResponse>;
108
- /**
109
- * 获取群消息历史记录
110
- */
59
+
111
60
  getGroupHistory(limit?: number, roomId?: string, since?: string): Promise<GroupHistoryResponse>;
112
- /**
113
- * 拉取当前 Agent 尚未消费的未读消息。
114
- * 主流程:校验注册状态 -> 获取未读私信 -> 获取未读群消息 -> 合并返回。
115
- * @param since 可选的起始时间(ISO 8601),早于该时间的消息将被过滤
116
- */
61
+
117
62
  fetchUnreadMessages(options?: FetchUnreadMessagesOptions): Promise<UnreadMessagesResult>;
118
- /**
119
- * 拉取服务端私信并对 poll_message 长轮询做容错处理。
120
- * 主流程:针对 poll_message 使用 callToolOnce(单次长阻塞,无重试干扰);
121
- * 非 poll_message 工具走 callTool(标准带重试逻辑)。
122
- * callToolOnce 超时后转为空结果,让 hydrateUnreadMessagesUntilAvailable 继续等待。
123
- */
63
+
124
64
  private fetchDirectMessagesWithRecovery;
125
- /**
126
- * 判断是否为 poll_message 长轮询的可恢复失败。
127
- * 主流程:只匹配明确的 HTTP 503 或客户端硬超时,避免吞掉业务工具错误或认证错误。
128
- */
65
+
129
66
  private isRecoverableLongPollError;
130
- /**
131
- * 规范化服务端群消息响应。
132
- * 主流程:只接受数组中的完整群消息对象,忽略 401/空响应/异常元素,避免补拉消息时崩溃。
133
- */
67
+
134
68
  private normalizeGroupMessages;
135
- /**
136
- * 收集当前项目下 Agent 可访问的群房间 ID,避免离线补拉和历史查询遗漏小组群。
137
- */
69
+
138
70
  private collectRoomIds;
139
- /**
140
- * 获取当前 Agent 的个人信息
141
- */
71
+
142
72
  getProfile(): Promise<ProfileInfo>;
143
73
  private getProfileByAgentId;
144
- /**
145
- * 获取当前 Agent 被分配的流程线任务列表
146
- */
74
+
147
75
  getMyTasks(): Promise<unknown[]>;
148
- /**
149
- * 创建流程线实例级留言。
150
- * 主流程:确认已注册 -> 自动附加 agentId -> 服务端校验当前 Agent 正在处理该实例节点。
151
- */
76
+
152
77
  createTaskInstanceComment(args: TaskInstanceCommentArgs): Promise<unknown>;
153
- /**
154
- * 提交流程线任务结果
155
- * @param changeLog 可选。本次任务处理期间产生的文件/内容变更日志,服务端会在节点翻转状态前持久化,供 AI 回退使用。
156
- */
78
+
157
79
  submitTaskResult(nodeId: string, outputPayload: string, changeLog?: unknown[]): Promise<unknown>;
158
- /**
159
- * 将分配给当前 Agent 的 AI 回退任务标记为回退中。
160
- */
80
+
161
81
  startTaskRollback(args: StartTaskRollbackArgs): Promise<unknown>;
162
- /**
163
- * 将分配给当前 Agent 的 AI 回退任务标记为已回退,并写入结果说明。
164
- */
82
+
165
83
  finishTaskRollback(args: FinishTaskRollbackArgs): Promise<unknown>;
166
- /**
167
- * 拒绝流程线任务
168
- */
84
+
169
85
  rejectTask(nodeId: string, reason: string): Promise<unknown>;
170
- /**
171
- * 终止流程线任务(终止后不再流转)
172
- */
86
+
173
87
  terminateTask(taskInstanceId: string, reason: string): Promise<unknown>;
174
- /**
175
- * 启动消息监听
176
- */
88
+
177
89
  start(handler: MessageHandler, options?: {
178
90
  pollMode?: boolean;
179
91
  profileHandler?: ProfileHandler;
180
92
  }): void;
181
- /**
182
- * 停止消息监听
183
- */
93
+
184
94
  stop(): void;
185
95
  private messageLoop;
186
96
  private handleIncomingDm;
187
97
  private handleIncomingGroup;
188
- /**
189
- * 处理收到的 Profile 信息
190
- * 由服务端在 Agent 连接时自动推送
191
- */
98
+
192
99
  private handleProfileInfo;
193
100
  private processMessage;
194
101
  private ensureRegistered;
195
102
  private delay;
196
- /**
197
- * 注册新角色回调:当 registerAsNewAgent 返回 isExisting === false 时触发。
198
- */
103
+
199
104
  onNewCharacter(handler: () => void): void;
200
105
  getState(): {
201
106
  agentId: string | null;
@@ -206,43 +111,21 @@ export declare class AgentClient {
206
111
  };
207
112
  getAgentConfig(): AgentConfig;
208
113
  reloadConfig(): void;
209
- /**
210
- * 进入降级模式
211
- * 当注册失败时,Agent 可以降级运行,等待后续重试注册
212
- */
114
+
213
115
  enterDegradedMode(): void;
214
- /**
215
- * 退出降级模式
216
- * 当重连成功时,退出降级模式
217
- */
116
+
218
117
  exitDegradedMode(): void;
219
- /**
220
- * 是否处于降级模式
221
- */
118
+
222
119
  isInDegradedMode(): boolean;
223
- /**
224
- * 降级模式下重试注册
225
- * 在后台持续尝试重新注册到调度中心
226
- */
120
+
227
121
  retryRegistrationInBackground(retryIntervalMs: number, maxRetries: number): Promise<void>;
228
- /**
229
- * 初始化状态报告器
230
- */
122
+
231
123
  private initializeStatusReporter;
232
- /**
233
- * 启动 runtimeAccessToken 主动续期定时器。
234
- * 主流程:消费 serverConfig.runtimeTokenRefreshIntervalMs(默认 12h),在服务端 24h TTL 过期前
235
- * 通过 bridge refresh-token 端点续期,避免 token 过期后 WebSocket 重连被拒(1008)导致 zombie。
236
- */
124
+
237
125
  private startRuntimeTokenRefresh;
238
126
  private stopRuntimeTokenRefresh;
239
- /**
240
- * 上报 MCP Node.js 进程自身日志。
241
- * 主流程:logger 写入 stderr/file -> sink 回调 -> WebSocket 转发给调度中心和面板。
242
- */
127
+
243
128
  private reportMcpNodeLog;
244
- /**
245
- * 获取状态报告器(供 MCP Server 使用)
246
- */
129
+
247
130
  getStatusReporter(): StatusReporter | null;
248
131
  }
@@ -1,29 +1,15 @@
1
- /**
2
- * 配置管理模块
3
- * 负责读取环境变量配置
4
- *
5
- * 注意:Agent 角色配置(roleName, prompt 等)由后端从 runtime-bridge 获取
6
- * MCP 客户端只需要传递 workspacePath
7
- */
1
+
8
2
  import type { AgentConfig, RuntimeLaunchBinding, ServerConfig } from "./types.js";
9
3
  export declare class ConfigManager {
10
4
  private agentConfig;
11
5
  private serverConfig;
12
- /**
13
- * 加载配置
14
- * MCP 客户端只提供 workspacePath,角色配置由后端从 runtime-bridge 获取
15
- */
6
+
16
7
  loadConfig(): void;
17
8
  applyRuntimeLaunchBinding(binding: RuntimeLaunchBinding): void;
18
9
  private parseRuntimeTokenRefreshInterval;
19
- /**
20
- * 解析正整数环境变量。
21
- * 主流程:读取字符串 -> 转为整数 -> 非法值回退默认值并记录警告。
22
- */
10
+
23
11
  private parsePositiveIntegerEnv;
24
- /**
25
- * 仅更新 runtimeAccessToken,供 401 恢复时调用。
26
- */
12
+
27
13
  updateRuntimeAccessToken(newToken: string): boolean;
28
14
  getAgentConfig(): AgentConfig;
29
15
  getServerConfig(): ServerConfig;
@@ -1,6 +1,4 @@
1
- /**
2
- * 常量定义
3
- */
1
+
4
2
  export declare const DEFAULT_SERVER_URL = "ws://localhost:8080/ws/agent";
5
3
  export declare const DEFAULT_HEARTBEAT_INTERVAL = 15000;
6
4
  export declare const DEFAULT_RECONNECT_INTERVAL = 200;
@@ -1,138 +1,68 @@
1
- /**
2
- * 上下文管理器 — 会话级 Token 追踪、溢出检测与压缩
3
- *
4
- * 核心职责:
5
- * 1. 追踪每轮会话的累计 token 消耗
6
- * 2. 根据模型上下文窗口判断是否溢出
7
- * 3. 提供 prune(裁剪旧工具输出)/ summarize(摘要化)两种压缩策略
8
- * 4. 通过 MemoryStore(session_context) 持久化压缩后的摘要
9
- *
10
- * 设计思路(参考 OpenCode compaction.ts):
11
- * - 保持 20K token 作为缓冲区,避免溢出前措手不及
12
- * - Prune 从最旧消息开始累计工具输出,超过保护线后标记 compacted
13
- * - Summarize 将早期对话结构化为摘要存入 session_context memory
14
- *
15
- * 关于模型上下文窗口大小:
16
- * - 当前版本通过模型名查找表获取(见 MODEL_CONTEXT_LIMITS)
17
- * - 查找不到时默认使用 128K(保守值)
18
- * - 后续可通过服务端 AiSourceTemplate 扩展 contextLimit/maxOutput 字段
19
- */
1
+
20
2
  import type { MemoryStorePort } from "./memory-store.js";
21
3
  import type { TokenUsage, ModelInfo, ContextStats, CompactionStrategy, CompactionResult, DirectMessage, GroupMessage } from "./types.js";
22
- /** 上下文管理器的持久化存储结构,对应 session_context 类型 memory 的 content JSON */
4
+
23
5
  export interface SessionContextRecord {
24
- /** 会话标识 */
6
+
25
7
  sessionId: string;
26
- /** 累计 token 消耗 */
8
+
27
9
  tokens: {
28
10
  totalInput: number;
29
11
  totalOutput: number;
30
12
  totalReasoning: number;
31
13
  };
32
- /** 模型信息快照 */
14
+
33
15
  modelInfo?: ModelInfo;
34
- /** 最后活动时间 */
16
+
35
17
  lastActivity: string;
36
- /** 压缩历史 */
18
+
37
19
  compactions: {
38
20
  timestamp: string;
39
21
  strategy: CompactionStrategy;
40
22
  freedTokens: number;
41
23
  messageCount: number;
42
24
  }[];
43
- /** 当前会话是否已触发溢出警告 */
25
+
44
26
  overflowWarned: boolean;
45
- /** 当前会话的消息数量 */
27
+
46
28
  messageCount: number;
47
29
  }
48
30
  export declare class ContextManager {
49
- /** 内存态会话上下文记录,避免每次查询都读磁盘 */
31
+
50
32
  private sessions;
51
33
  private memoryStore;
52
34
  constructor(memoryStore: MemoryStorePort);
53
- /**
54
- * 根据模型名查找上下文窗口大小。
55
- * 公开方法,供外部(如 mcp-server)使用。
56
- */
35
+
57
36
  lookupModelLimits(modelName: string): {
58
37
  contextLimit: number;
59
38
  maxOutput: number;
60
39
  };
61
- /**
62
- * 粗略估算文本的 token 数。
63
- * 不使用真实 tokenizer(太慢),基于字符数乘经验系数。
64
- * 对纯 ASCII 约 4 字符/token,对中文约 1.5 字符/token。
65
- *
66
- * x1.15 安全填充确保本地估算始终偏大(安全侧),
67
- * 与 compaction.ts 的 estimateTokens 策略保持一致。
68
- */
40
+
69
41
  estimateTokens(text: string): number;
70
- /**
71
- * 从 TokenUsage 估算总 token 数。
72
- */
42
+
73
43
  estimateTotalUsage(tokens: TokenUsage): number;
74
- /**
75
- * 获取或创建会话上下文记录。
76
- */
44
+
77
45
  private getOrCreateSession;
78
- /**
79
- * 记录一次 token 消耗。
80
- */
46
+
81
47
  recordUsage(sessionId: string, tokens: TokenUsage, modelInfo?: ModelInfo): Promise<void>;
82
- /**
83
- * 判断当前会话是否上下文溢出。
84
- * 逻辑参考 OpenCode SessionCompaction.isOverflow:
85
- * - 已用 token >= (contextLimit - maxOutput - COMPACTION_BUFFER)
86
- */
48
+
87
49
  isOverflow(sessionId: string, modelInfo?: ModelInfo): Promise<boolean>;
88
- /**
89
- * 获取当前会话的上下文统计。
90
- */
50
+
91
51
  getStats(sessionId: string, modelInfo?: ModelInfo): Promise<ContextStats>;
92
- /**
93
- * Prune:从消息列表中裁剪旧工具的输出内容。
94
- *
95
- * 算法(参考 OpenCode compaction.ts:50-99):
96
- * 1. 从最新消息往旧遍历
97
- * 2. 跳过前 keepLastTurns 轮对话
98
- * 3. 遇到已有 summary 标记的助手消息就停止
99
- * 4. 累计已完成工具调用的输出 token
100
- * 5. 超过 PRUNE_PROTECT 保护线的标记为 compacted
101
- * 6. 只有收益超过 PRUNE_MINIMUM 才真正执行
102
- *
103
- * @param messages 消息列表(从旧到新)
104
- * @param keepLastTurns 保留最近的完整轮次
105
- * @returns 修剪结果
106
- */
52
+
107
53
  prune(messages: (DirectMessage | GroupMessage)[], keepLastTurns?: number): CompactionResult;
108
- /**
109
- * 判断消息是否为"用户消息"(用于轮次计数)。
110
- * 在 ACode 的上下文中,DirectMessage 我们都是"用户发给 Agent"或"Agent 间"的消息。
111
- * 简单启发:判断是否有 requireReply 或消息较短(工具输出通常很长)。
112
- */
54
+
113
55
  private isUserMessage;
114
- /**
115
- * 获取最后一次压缩的摘要(如有)。
116
- */
56
+
117
57
  getCompactionSummary(sessionId: string): Promise<string | null>;
118
- /**
119
- * 将会话上下文记录持久化到 MemoryStore。
120
- */
58
+
121
59
  saveToMemory(session: SessionContextRecord): Promise<void>;
122
- /**
123
- * 从 MemoryStore 加载会话上下文记录。
124
- */
60
+
125
61
  loadFromMemory(sessionId: string): Promise<SessionContextRecord | null>;
126
- /**
127
- * 保存压缩结果到 MemoryStore。
128
- */
62
+
129
63
  saveCompactionResult(sessionId: string, result: CompactionResult): Promise<void>;
130
- /**
131
- * 重置溢出警告状态。
132
- */
64
+
133
65
  resetOverflowWarning(sessionId: string): Promise<void>;
134
- /**
135
- * 清空内存态记录(进程退出或会话切换时调用)。
136
- */
66
+
137
67
  clearSession(sessionId?: string): void;
138
68
  }
@@ -1,5 +1,2 @@
1
- /**
2
- * 上下文管理器单元测试
3
- * 验证 token 估算、溢出检测、prune 策略的核心逻辑
4
- */
1
+
5
2
  export {};