aws-runtime-bridge 1.9.131 → 1.9.134
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 +15 -0
- package/dist/adapter/AcodeSdkAdapter.js +5 -5
- package/dist/adapter/types.d.ts +9 -0
- package/dist/browser/built-in-browser-tools.js +1 -1
- package/dist/routes/system-metrics.js +1 -1
- package/dist/routes/terminal.js +19 -19
- package/dist/services/instance-features.d.ts +5 -0
- package/dist/services/instance-features.js +1 -1
- package/dist/services/process-detail.d.ts +77 -0
- package/dist/services/process-detail.js +32 -0
- package/dist/services/process-top.d.ts +53 -0
- package/dist/services/process-top.js +50 -0
- package/dist/services/session-output.d.ts +10 -0
- package/dist/services/session-output.js +3 -3
- package/package/acode/dist/built-in-file-tools.d.ts +25 -1
- package/package/acode/dist/built-in-file-tools.js +2 -2
- package/package/acode/dist/image-utils.d.ts +52 -0
- package/package/acode/dist/image-utils.js +2 -0
- package/package/acode/dist/index.d.ts +1 -0
- package/package/acode/dist/index.js +1 -1
- package/package/acode/dist/runtime.d.ts +15 -1
- package/package/acode/dist/runtime.js +26 -26
- package/package/acode/dist/types.d.ts +3 -1
- package/package/aws-client-agent-mcp/dist/http-client.d.ts +4 -0
- package/package/aws-client-agent-mcp/dist/http-client.js +1 -1
- package/package/aws-client-agent-mcp/dist/mcp-server.d.ts +8 -0
- package/package/aws-client-agent-mcp/dist/mcp-server.js +28 -25
- package/package/aws-client-agent-mcp/dist/mcp-tools.js +6 -6
- package/package/aws-client-agent-mcp/dist/memory-store.d.ts +6 -0
- package/package/aws-client-agent-mcp/dist/memory-tools.js +2 -2
- package/package/aws-client-agent-mcp/dist/types.d.ts +4 -0
- package/package/aws-client-agent-mcp/package.json +1 -1
- package/package.json +1 -1
- package/package/aws-client-agent-mcp/dist/agent-client.test.d.ts +0 -1
- package/package/aws-client-agent-mcp/dist/agent-client.test.js +0 -1066
- package/package/aws-client-agent-mcp/dist/config.test.d.ts +0 -1
- package/package/aws-client-agent-mcp/dist/config.test.js +0 -259
- package/package/aws-client-agent-mcp/dist/context-manager.test.d.ts +0 -2
- package/package/aws-client-agent-mcp/dist/context-manager.test.js +0 -312
- package/package/aws-client-agent-mcp/dist/http-client.test.d.ts +0 -1
- package/package/aws-client-agent-mcp/dist/http-client.test.js +0 -808
- package/package/aws-client-agent-mcp/dist/launch-config-tools.test.d.ts +0 -1
- package/package/aws-client-agent-mcp/dist/launch-config-tools.test.js +0 -110
- package/package/aws-client-agent-mcp/dist/logger.test.d.ts +0 -1
- package/package/aws-client-agent-mcp/dist/logger.test.js +0 -27
- package/package/aws-client-agent-mcp/dist/mcp-server.test.d.ts +0 -1
- package/package/aws-client-agent-mcp/dist/mcp-server.test.js +0 -2798
- package/package/aws-client-agent-mcp/dist/mcp-tools.test.d.ts +0 -1
- package/package/aws-client-agent-mcp/dist/mcp-tools.test.js +0 -152
- package/package/aws-client-agent-mcp/dist/memory-store.test.d.ts +0 -1
- package/package/aws-client-agent-mcp/dist/memory-store.test.js +0 -664
- package/package/aws-client-agent-mcp/dist/message-buffer.test.d.ts +0 -1
- package/package/aws-client-agent-mcp/dist/message-buffer.test.js +0 -142
- package/package/aws-client-agent-mcp/dist/parent-lifecycle.test.d.ts +0 -1
- package/package/aws-client-agent-mcp/dist/parent-lifecycle.test.js +0 -81
- package/package/aws-client-agent-mcp/dist/runtime-launch-binding.test.d.ts +0 -1
- package/package/aws-client-agent-mcp/dist/runtime-launch-binding.test.js +0 -201
- package/package/aws-client-agent-mcp/dist/status-reporter.test.d.ts +0 -1
- package/package/aws-client-agent-mcp/dist/status-reporter.test.js +0 -157
- package/package/aws-client-agent-mcp/dist/watchdog.test.d.ts +0 -1
- package/package/aws-client-agent-mcp/dist/watchdog.test.js +0 -124
- package/package/aws-client-agent-mcp/dist/websocket-client.test.d.ts +0 -1
- package/package/aws-client-agent-mcp/dist/websocket-client.test.js +0 -725
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|
|
@@ -1,152 +0,0 @@
|
|
|
1
|
-
import assert from "node:assert/strict";
|
|
2
|
-
import { describe, it } from "node:test";
|
|
3
|
-
import { CREATE_TASK_INSTANCE_COMMENT_TOOL, MCP_TOOLS, QUERY_FILE_CHANGES_HISTORY_TOOL, UPDATE_MEMORY_TOOL, LAUNCH_CONFIG_TOOL_NAMES } from "./mcp-tools.js";
|
|
4
|
-
describe("create_task_instance_comment tool", () => {
|
|
5
|
-
it("documents that follow-up node notes should be left as task comments", () => {
|
|
6
|
-
assert.match(CREATE_TASK_INSTANCE_COMMENT_TOOL.description ?? "", /当需要告知后续节点需要注意的点时使用留言进行留言/);
|
|
7
|
-
});
|
|
8
|
-
});
|
|
9
|
-
describe("update_memory tool", () => {
|
|
10
|
-
it("uses an ACode provider compatible top-level object schema", () => {
|
|
11
|
-
const schema = UPDATE_MEMORY_TOOL.inputSchema;
|
|
12
|
-
assert.equal(schema.type, "object");
|
|
13
|
-
assert.deepEqual(schema.required, ["uri"]);
|
|
14
|
-
assertNoForbiddenTopLevelSchemaKeyword(schema);
|
|
15
|
-
});
|
|
16
|
-
it("guides replacement calls to provide old and new strings together", () => {
|
|
17
|
-
const schema = UPDATE_MEMORY_TOOL.inputSchema;
|
|
18
|
-
assertRecord(schema.properties, "update_memory properties");
|
|
19
|
-
const oldStringSchema = schema.properties.old_string;
|
|
20
|
-
const newStringSchema = schema.properties.new_string;
|
|
21
|
-
assertRecord(oldStringSchema, "old_string schema");
|
|
22
|
-
assertRecord(newStringSchema, "new_string schema");
|
|
23
|
-
assert.match(String(oldStringSchema.description), /必须与 new_string 同时传入/);
|
|
24
|
-
assert.match(String(newStringSchema.description), /必须与 old_string 同时传入/);
|
|
25
|
-
});
|
|
26
|
-
it("guides append calls to avoid replacement fields", () => {
|
|
27
|
-
const schema = UPDATE_MEMORY_TOOL.inputSchema;
|
|
28
|
-
assertRecord(schema.properties, "update_memory properties");
|
|
29
|
-
const appendSchema = schema.properties.append;
|
|
30
|
-
assertRecord(appendSchema, "append schema");
|
|
31
|
-
assert.match(String(appendSchema.description), /只传 append/);
|
|
32
|
-
assert.match(String(appendSchema.description), /不要传 old_string\/new_string/);
|
|
33
|
-
});
|
|
34
|
-
});
|
|
35
|
-
describe("query_file_changes_history tool", () => {
|
|
36
|
-
it("is registered in MCP_TOOLS so the agent can see it", () => {
|
|
37
|
-
const names = MCP_TOOLS.map((tool) => tool.name);
|
|
38
|
-
assert.equal(names.includes("query_file_changes_history"), true, "query_file_changes_history should be in MCP_TOOLS");
|
|
39
|
-
});
|
|
40
|
-
it("无需 projectId(服务端从调用者推导),并暴露过滤字段", () => {
|
|
41
|
-
const schema = QUERY_FILE_CHANGES_HISTORY_TOOL.inputSchema;
|
|
42
|
-
assert.equal(schema.type, "object");
|
|
43
|
-
assert.deepEqual(schema.required, []);
|
|
44
|
-
assertRecord(schema.properties, "query_file_changes_history properties");
|
|
45
|
-
assert.equal("projectId" in schema.properties, false, "projectId 不应出现在工具参数中(由服务端推导)");
|
|
46
|
-
for (const field of ["roleId", "agentId", "fileName", "filePath", "operation", "status", "taskInstanceId", "startTime", "endTime", "page", "pageSize"]) {
|
|
47
|
-
assertRecord(schema.properties[field], `${field} schema`);
|
|
48
|
-
}
|
|
49
|
-
});
|
|
50
|
-
});
|
|
51
|
-
describe("launch_config_* 启动项工具组", () => {
|
|
52
|
-
it("9 个工具全部注册在 MCP_TOOLS,工具名集合与之一致", () => {
|
|
53
|
-
const names = MCP_TOOLS.map((tool) => tool.name);
|
|
54
|
-
const expected = [
|
|
55
|
-
"launch_config_list",
|
|
56
|
-
"launch_config_create",
|
|
57
|
-
"launch_config_update",
|
|
58
|
-
"launch_config_delete",
|
|
59
|
-
"launch_config_start",
|
|
60
|
-
"launch_config_restart",
|
|
61
|
-
"launch_config_stop",
|
|
62
|
-
"launch_config_logs",
|
|
63
|
-
"launch_config_status",
|
|
64
|
-
];
|
|
65
|
-
for (const toolName of expected) {
|
|
66
|
-
assert.equal(names.includes(toolName), true, `${toolName} should be in MCP_TOOLS`);
|
|
67
|
-
}
|
|
68
|
-
assert.deepEqual([...LAUNCH_CONFIG_TOOL_NAMES].sort(), [...expected].sort());
|
|
69
|
-
});
|
|
70
|
-
it("工具参数不接收 projectId(项目范围由服务端从调用者身份推导)", () => {
|
|
71
|
-
for (const toolName of [...LAUNCH_CONFIG_TOOL_NAMES]) {
|
|
72
|
-
const tool = MCP_TOOLS.find((t) => t.name === toolName);
|
|
73
|
-
assert.ok(tool, `${toolName} should exist`);
|
|
74
|
-
assert.equal("projectId" in (tool.inputSchema.properties ?? {}), false, `${toolName} 不应包含 projectId 参数`);
|
|
75
|
-
}
|
|
76
|
-
});
|
|
77
|
-
it("launch_config_start 声明 wait_timeout_ms 与 configIds(批量启动,默认 0 不等待)", () => {
|
|
78
|
-
const tool = MCP_TOOLS.find((t) => t.name === "launch_config_start");
|
|
79
|
-
assert.ok(tool);
|
|
80
|
-
const schema = tool.inputSchema;
|
|
81
|
-
const param = schema.properties?.wait_timeout_ms;
|
|
82
|
-
assert.ok(param, "wait_timeout_ms should be declared");
|
|
83
|
-
assert.equal(param.type, "number");
|
|
84
|
-
// 批量参数:字符串数组(与 configId 二选一)
|
|
85
|
-
const configIds = schema.properties?.configIds;
|
|
86
|
-
assert.ok(configIds, "configIds should be declared");
|
|
87
|
-
assert.equal(configIds.type, "array");
|
|
88
|
-
// configId 与 configIds 二选一:均不强制必填
|
|
89
|
-
assert.deepEqual(tool.inputSchema.required ?? [], []);
|
|
90
|
-
// 就绪正则覆盖:单项模式支持(server 侧 handleStart 读取透传)
|
|
91
|
-
const pattern = schema.properties?.readinessPattern;
|
|
92
|
-
assert.ok(pattern, "readinessPattern should be declared");
|
|
93
|
-
assert.equal(pattern.type, "string");
|
|
94
|
-
});
|
|
95
|
-
it("launch_config_restart 声明 readinessPattern 覆盖(与 start 的覆盖参数集对齐)", () => {
|
|
96
|
-
const tool = MCP_TOOLS.find((t) => t.name === "launch_config_restart");
|
|
97
|
-
assert.ok(tool);
|
|
98
|
-
const schema = tool.inputSchema;
|
|
99
|
-
for (const overrideParam of ["command", "cwd", "env", "jdkPath", "workspacePath", "readinessPattern", "wait_timeout_ms"]) {
|
|
100
|
-
assert.ok(schema.properties?.[overrideParam], `${overrideParam} should be declared`);
|
|
101
|
-
}
|
|
102
|
-
assert.deepEqual(tool.inputSchema.required ?? [], ["configId"]);
|
|
103
|
-
});
|
|
104
|
-
});
|
|
105
|
-
function assertNoForbiddenTopLevelSchemaKeyword(schema) {
|
|
106
|
-
const forbiddenTopLevelKeywords = ["oneOf", "anyOf", "allOf", "enum", "const", "not"];
|
|
107
|
-
for (const keyword of forbiddenTopLevelKeywords) {
|
|
108
|
-
assert.equal(keyword in schema, false, `top-level ${keyword} should not be present`);
|
|
109
|
-
}
|
|
110
|
-
}
|
|
111
|
-
function assertRecord(value, label) {
|
|
112
|
-
assert.equal(typeof value, "object", `${label} should be an object`);
|
|
113
|
-
assert.notEqual(value, null, `${label} should not be null`);
|
|
114
|
-
}
|
|
115
|
-
describe("meeting_* 会议工具", () => {
|
|
116
|
-
const MEETING_TOOL_NAMES = [
|
|
117
|
-
"create_meeting",
|
|
118
|
-
"leave_meeting",
|
|
119
|
-
"end_meeting",
|
|
120
|
-
"meeting_speak",
|
|
121
|
-
"get_meeting_info",
|
|
122
|
-
"my_meetings",
|
|
123
|
-
];
|
|
124
|
-
it("6 个会议工具全部注册在 MCP_TOOLS", () => {
|
|
125
|
-
const names = MCP_TOOLS.map((tool) => tool.name);
|
|
126
|
-
for (const toolName of MEETING_TOOL_NAMES) {
|
|
127
|
-
assert.equal(names.includes(toolName), true, `${toolName} should be in MCP_TOOLS`);
|
|
128
|
-
}
|
|
129
|
-
});
|
|
130
|
-
it("create_meeting 描述成员邀请语义且 members 参数必填", () => {
|
|
131
|
-
const tool = MCP_TOOLS.find((t) => t.name === "create_meeting");
|
|
132
|
-
assert.ok(tool, "create_meeting should exist");
|
|
133
|
-
assert.match(tool.description ?? "", /邀请|邀请角色|[{]roleId/);
|
|
134
|
-
const properties = tool.inputSchema.properties;
|
|
135
|
-
assert.ok(properties.members, "members 参数应存在");
|
|
136
|
-
assert.ok((tool.inputSchema.required ?? []).includes("members"), "members 应必填");
|
|
137
|
-
assert.ok((tool.inputSchema.required ?? []).includes("topic"), "topic 应必填");
|
|
138
|
-
});
|
|
139
|
-
it("meeting_speak 支持 meetingId/content 参数", () => {
|
|
140
|
-
const tool = MCP_TOOLS.find((t) => t.name === "meeting_speak");
|
|
141
|
-
assert.ok(tool, "meeting_speak should exist");
|
|
142
|
-
const properties = tool.inputSchema.properties;
|
|
143
|
-
assert.ok(properties.meetingId, "meetingId 参数应存在");
|
|
144
|
-
assert.ok(properties.content, "content 参数应存在");
|
|
145
|
-
assert.ok((tool.inputSchema.required ?? []).includes("meetingId"), "meetingId 应必填");
|
|
146
|
-
});
|
|
147
|
-
it("阻塞型工具 create_meeting 支持 waitTimeoutMs 参数", () => {
|
|
148
|
-
const tool = MCP_TOOLS.find((t) => t.name === "create_meeting");
|
|
149
|
-
const properties = tool.inputSchema.properties;
|
|
150
|
-
assert.ok(properties.waitTimeoutMs, "create_meeting 应支持 waitTimeoutMs 参数");
|
|
151
|
-
});
|
|
152
|
-
});
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|