aws-runtime-bridge 1.7.27 → 1.7.29
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/ClaudeSdkAdapter.d.ts +5 -0
- package/dist/adapter/ClaudeSdkAdapter.d.ts.map +1 -1
- package/dist/adapter/ClaudeSdkAdapter.js +20 -6
- package/dist/adapter/ClaudeSdkAdapter.test.js +43 -0
- package/dist/adapter/CodexSdkAdapter.js +1 -1
- package/dist/adapter/OpencodeSdkAdapter.js +2 -2
- package/dist/adapter/types.d.ts +13 -4
- package/dist/adapter/types.d.ts.map +1 -1
- package/dist/index.js +101 -77
- package/dist/routes/sessions.js +16 -0
- package/dist/routes/terminal.d.ts +19 -1
- package/dist/routes/terminal.d.ts.map +1 -1
- package/dist/routes/terminal.js +62 -16
- package/dist/routes/terminal.test.js +25 -1
- package/dist/services/aws-client-agent-mcp.d.ts.map +1 -1
- package/dist/services/aws-client-agent-mcp.js +22 -3
- package/dist/services/mcp-launch-binding-queue.d.ts.map +1 -1
- package/dist/services/mcp-launch-binding-queue.js +8 -1
- package/dist/services/mcp-launch-binding-queue.test.js +11 -0
- package/dist/services/orphan-monitor.d.ts.map +1 -1
- package/dist/services/orphan-monitor.js +16 -5
- package/dist/services/runtime-binding.d.ts.map +1 -1
- package/dist/services/runtime-binding.js +8 -1
- package/dist/services/runtime-binding.test.js +15 -0
- package/dist/services/runtime-lifecycle-policy.d.ts +26 -0
- package/dist/services/runtime-lifecycle-policy.d.ts.map +1 -0
- package/dist/services/runtime-lifecycle-policy.js +34 -0
- package/dist/services/runtime-lifecycle-policy.test.d.ts +2 -0
- package/dist/services/runtime-lifecycle-policy.test.d.ts.map +1 -0
- package/dist/services/runtime-lifecycle-policy.test.js +41 -0
- package/dist/services/terminal-persistence.d.ts +12 -0
- package/dist/services/terminal-persistence.d.ts.map +1 -1
- package/dist/services/terminal-persistence.js +23 -0
- package/dist/services/terminal-persistence.test.js +18 -0
- package/dist/types.d.ts +8 -0
- package/dist/types.d.ts.map +1 -1
- package/package/aws-client-agent-mcp/dist/agent-client.d.ts +5 -0
- package/package/aws-client-agent-mcp/dist/agent-client.d.ts.map +1 -1
- package/package/aws-client-agent-mcp/dist/agent-client.js +30 -3
- package/package/aws-client-agent-mcp/dist/agent-client.js.map +1 -1
- package/package/aws-client-agent-mcp/dist/agent-client.test.js +118 -0
- package/package/aws-client-agent-mcp/dist/agent-client.test.js.map +1 -1
- package/package/aws-client-agent-mcp/dist/config.d.ts.map +1 -1
- package/package/aws-client-agent-mcp/dist/config.js +10 -1
- package/package/aws-client-agent-mcp/dist/config.js.map +1 -1
- package/package/aws-client-agent-mcp/dist/config.test.js +10 -0
- package/package/aws-client-agent-mcp/dist/config.test.js.map +1 -1
- package/package/aws-client-agent-mcp/dist/http-client.d.ts +5 -0
- package/package/aws-client-agent-mcp/dist/http-client.d.ts.map +1 -1
- package/package/aws-client-agent-mcp/dist/http-client.js +47 -3
- package/package/aws-client-agent-mcp/dist/http-client.js.map +1 -1
- package/package/aws-client-agent-mcp/dist/http-client.test.js +344 -9
- package/package/aws-client-agent-mcp/dist/http-client.test.js.map +1 -1
- package/package/aws-client-agent-mcp/dist/mcp-server.d.ts +4 -3
- package/package/aws-client-agent-mcp/dist/mcp-server.d.ts.map +1 -1
- package/package/aws-client-agent-mcp/dist/mcp-server.js +28 -15
- package/package/aws-client-agent-mcp/dist/mcp-server.js.map +1 -1
- package/package/aws-client-agent-mcp/dist/mcp-server.test.js +107 -11
- package/package/aws-client-agent-mcp/dist/mcp-server.test.js.map +1 -1
- package/package/aws-client-agent-mcp/dist/mcp-tools.js +1 -1
- package/package/aws-client-agent-mcp/dist/mcp-tools.js.map +1 -1
- package/package/aws-client-agent-mcp/dist/types.d.ts +10 -1
- package/package/aws-client-agent-mcp/dist/types.d.ts.map +1 -1
- package/package/aws-client-agent-mcp/dist/types.js.map +1 -1
- package/package/aws-client-agent-mcp/dist/websocket-client.d.ts +5 -0
- package/package/aws-client-agent-mcp/dist/websocket-client.d.ts.map +1 -1
- package/package/aws-client-agent-mcp/dist/websocket-client.js +26 -0
- package/package/aws-client-agent-mcp/dist/websocket-client.js.map +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mcp-server.d.ts","sourceRoot":"","sources":["../src/mcp-server.ts"],"names":[],"mappings":"AAAA;;;GAGG;
|
|
1
|
+
{"version":3,"file":"mcp-server.d.ts","sourceRoot":"","sources":["../src/mcp-server.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAsDH,qBAAa,SAAS;IACpB,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,WAAW,CAAc;IACjC,OAAO,CAAC,aAAa,CAAgB;IACrC,OAAO,CAAC,WAAW,CAAkB;IACrC,OAAO,CAAC,eAAe,CAAkB;IACzC,OAAO,CAAC,qBAAqB,CAAU;IAEvC;;;OAGG;IACH,OAAO,CAAC,mBAAmB;;IAsC3B,OAAO,CAAC,aAAa;IA4CrB;;OAEG;YACW,cAAc;IAiC5B;;OAEG;YACW,eAAe;IA4G7B;;;OAGG;IACH,OAAO,CAAC,6BAA6B;IAuBrC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,YAAY,CAIlC;IAEF,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,iBAAiB,CAUtC;IAEH;;;OAGG;IACH,OAAO,CAAC,MAAM,CAAC,uBAAuB;IAgCtC,OAAO,CAAC,iBAAiB;IAWzB,OAAO,CAAC,iBAAiB;IAQzB,OAAO,CAAC,iBAAiB;IAQzB,OAAO,CAAC,qBAAqB;IAU7B,OAAO,CAAC,eAAe;IAWvB,OAAO,CAAC,YAAY;IAIpB;;;OAGG;IACH,OAAO,CAAC,qBAAqB;IAI7B;;;OAGG;YACW,0BAA0B;IAuBxC;;;OAGG;YACW,0BAA0B;IAwBxC;;;OAGG;IACH,OAAO,CAAC,kBAAkB;IAsB1B;;;OAGG;YACW,yBAAyB;IAiBvC;;;OAGG;IACH,OAAO,CAAC,mBAAmB;IA4B3B;;;OAGG;YACW,kBAAkB;IAiBhC;;;OAGG;YACW,gBAAgB;IAU9B;;;OAGG;YACW,kBAAkB;IAqChC;;;OAGG;YACW,kBAAkB;IAkBhC;;;OAGG;YACW,kBAAkB;IAuChC;;;OAGG;YACW,kBAAkB;IAQhC;;;OAGG;YACW,oBAAoB;IAqBlC;;;OAGG;YACW,0BAA0B;IASxC;;;OAGG;YACW,2BAA2B;YA6B3B,eAAe;YAWf,mBAAmB;YAOnB,yBAAyB;YA4BzB,iBAAiB;YAgBjB,iBAAiB;IA0B/B;;;;OAIG;YACW,mCAAmC;IAajD,OAAO,CAAC,6BAA6B;IAwBrC,OAAO,CAAC,mCAAmC;IAO3C;;;OAGG;IACH,OAAO,CAAC,uBAAuB;IAa/B,OAAO,CAAC,KAAK;IAOb;;;OAGG;YACW,8BAA8B;YAuD9B,gBAAgB;IAW9B;;;OAGG;YACW,6BAA6B;YAwC7B,kBAAkB;YAQlB,qBAAqB;YAUrB,sBAAsB;YAetB,eAAe;YASf,sBAAsB;YAqBtB,uBAAuB;YASvB,wBAAwB;YAUxB,gBAAgB;YAYhB,mBAAmB;IAejC;;OAEG;YACW,qBAAqB;IAiBnC;;;OAGG;IACH,OAAO,CAAC,2BAA2B;IAenC;;;OAGG;IACH,OAAO,CAAC,cAAc;IAMtB;;;OAGG;IACH,OAAO,CAAC,sBAAsB;IAa9B;;;OAGG;IACH,OAAO,CAAC,iBAAiB;IAcnB,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;YAgBd,YAAY;IA2C1B;;OAEG;IACH,OAAO,CAAC,sBAAsB;IAc9B,OAAO,CAAC,KAAK;CAGd"}
|
|
@@ -13,8 +13,10 @@ import { MCP_TOOLS } from "./mcp-tools.js";
|
|
|
13
13
|
import { MessageBuffer } from "./message-buffer.js";
|
|
14
14
|
import { MemoryCapacityError, MemoryStore, } from "./memory-store.js";
|
|
15
15
|
import { ServerMemoryStore } from "./server-memory-store.js";
|
|
16
|
-
const
|
|
16
|
+
const DEFAULT_POLL_MESSAGE_BLOCK_WAIT_MS = 30_000;
|
|
17
17
|
const DEFAULT_POLL_MESSAGE_EMPTY_RETRY_DELAY_MS = 100;
|
|
18
|
+
const DEFAULT_MCP_HTTP_REQUEST_TIMEOUT_MS = 120_000;
|
|
19
|
+
const POLL_MESSAGE_HTTP_TIMEOUT_BUFFER_MS = 1_000;
|
|
18
20
|
export class McpServer {
|
|
19
21
|
server;
|
|
20
22
|
agentClient;
|
|
@@ -620,28 +622,30 @@ export class McpServer {
|
|
|
620
622
|
};
|
|
621
623
|
}
|
|
622
624
|
/**
|
|
623
|
-
*
|
|
624
|
-
*
|
|
625
|
+
* 持续补拉未读消息直到有消息可返回。
|
|
626
|
+
* 主流程:用有限后端长轮询分片阻塞补拉 -> 空返回时短暂退避 -> 继续等待,避免 poll_message 空轮询唤醒模型。
|
|
627
|
+
* 注意:poll_message 是 Agent 主循环的永久阻塞入口,不能恢复为按总时长限时返回空结果。
|
|
625
628
|
*/
|
|
626
629
|
async hydrateUnreadMessagesUntilAvailable() {
|
|
627
|
-
const deadline = Date.now() + this.resolvePollMessageMaxWaitMs();
|
|
628
630
|
while (this.messageBuffer.size() === 0) {
|
|
629
|
-
const remainingMs = deadline - Date.now();
|
|
630
|
-
if (remainingMs <= 0) {
|
|
631
|
-
logger.info("[McpServer] poll_message 等待窗口到期,返回空消息以避免工具调用永久挂起");
|
|
632
|
-
return;
|
|
633
|
-
}
|
|
634
631
|
await this.hydrateUnreadMessagesIfNeeded({
|
|
635
632
|
blockIfEmpty: true,
|
|
636
|
-
blockTimeoutMs:
|
|
633
|
+
blockTimeoutMs: this.resolvePollMessageBlockWaitMs(),
|
|
637
634
|
});
|
|
638
635
|
if (this.messageBuffer.size() === 0) {
|
|
639
|
-
await this.sleep(
|
|
636
|
+
await this.sleep(this.resolvePollMessageEmptyRetryDelayMs());
|
|
640
637
|
}
|
|
641
638
|
}
|
|
642
639
|
}
|
|
643
|
-
|
|
644
|
-
|
|
640
|
+
resolvePollMessageBlockWaitMs() {
|
|
641
|
+
const blockWaitMs = this.parsePositiveIntegerEnv("AWS_POLL_MESSAGE_BLOCK_WAIT_MS", DEFAULT_POLL_MESSAGE_BLOCK_WAIT_MS);
|
|
642
|
+
const httpTimeoutMs = this.parsePositiveIntegerEnv("AWS_MCP_HTTP_REQUEST_TIMEOUT_MS", DEFAULT_MCP_HTTP_REQUEST_TIMEOUT_MS);
|
|
643
|
+
const maxSafeBlockWaitMs = Math.max(1, httpTimeoutMs - POLL_MESSAGE_HTTP_TIMEOUT_BUFFER_MS);
|
|
644
|
+
if (blockWaitMs >= httpTimeoutMs) {
|
|
645
|
+
logger.warn(`[McpServer] AWS_POLL_MESSAGE_BLOCK_WAIT_MS=${blockWaitMs}ms 不应大于等于 AWS_MCP_HTTP_REQUEST_TIMEOUT_MS=${httpTimeoutMs}ms,已夹紧为 ${maxSafeBlockWaitMs}ms`);
|
|
646
|
+
return maxSafeBlockWaitMs;
|
|
647
|
+
}
|
|
648
|
+
return blockWaitMs;
|
|
645
649
|
}
|
|
646
650
|
resolvePollMessageEmptyRetryDelayMs() {
|
|
647
651
|
return this.parsePositiveIntegerEnv("AWS_POLL_MESSAGE_EMPTY_RETRY_DELAY_MS", DEFAULT_POLL_MESSAGE_EMPTY_RETRY_DELAY_MS);
|
|
@@ -839,6 +843,10 @@ export class McpServer {
|
|
|
839
843
|
* 当前仅过滤当前 Agent 自己发送的群消息,避免 send_group 后被 get_message 再次读到。
|
|
840
844
|
*/
|
|
841
845
|
shouldBufferIncomingMessage(message) {
|
|
846
|
+
if (!message || typeof message !== "object") {
|
|
847
|
+
logger.warn("[McpServer] 忽略结构异常的消息,避免缓冲区污染");
|
|
848
|
+
return false;
|
|
849
|
+
}
|
|
842
850
|
if (!this.isGroupMessage(message)) {
|
|
843
851
|
return true;
|
|
844
852
|
}
|
|
@@ -849,15 +857,20 @@ export class McpServer {
|
|
|
849
857
|
* 通过 msgId 类型进行收窄,便于后续安全执行群消息专属过滤逻辑。
|
|
850
858
|
*/
|
|
851
859
|
isGroupMessage(message) {
|
|
852
|
-
return typeof message.msgId === "number";
|
|
860
|
+
return !!message && typeof message === "object" && typeof message.msgId === "number";
|
|
853
861
|
}
|
|
854
862
|
/**
|
|
855
863
|
* 判断群消息是否由当前 Agent 自己发送。
|
|
856
864
|
* 主流程:读取当前 Agent 状态 -> 比较 senderId -> 返回过滤结果。
|
|
857
865
|
*/
|
|
858
866
|
isSelfSentGroupMessage(message) {
|
|
867
|
+
if (!message || typeof message !== "object") {
|
|
868
|
+
return false;
|
|
869
|
+
}
|
|
859
870
|
const currentAgentId = this.getCurrentAgentId();
|
|
860
|
-
return !!currentAgentId &&
|
|
871
|
+
return (!!currentAgentId &&
|
|
872
|
+
typeof message.senderId === "string" &&
|
|
873
|
+
message.senderId === currentAgentId);
|
|
861
874
|
}
|
|
862
875
|
/**
|
|
863
876
|
* 安全读取当前 Agent ID。
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mcp-server.js","sourceRoot":"","sources":["../src/mcp-server.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"mcp-server.js","sourceRoot":"","sources":["../src/mcp-server.ts"],"names":[],"mappings":"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"}
|
|
@@ -142,38 +142,51 @@ describe("McpServer unread backlog hydration", () => {
|
|
|
142
142
|
fromBuffer: false,
|
|
143
143
|
});
|
|
144
144
|
});
|
|
145
|
-
it("poll_message should
|
|
146
|
-
const
|
|
145
|
+
it("poll_message should keep blocking through empty polls until messages arrive", async () => {
|
|
146
|
+
const previousBlockWait = process.env.AWS_POLL_MESSAGE_BLOCK_WAIT_MS;
|
|
147
147
|
const previousRetryDelay = process.env.AWS_POLL_MESSAGE_EMPTY_RETRY_DELAY_MS;
|
|
148
|
-
process.env.
|
|
148
|
+
process.env.AWS_POLL_MESSAGE_BLOCK_WAIT_MS = "20";
|
|
149
149
|
process.env.AWS_POLL_MESSAGE_EMPTY_RETRY_DELAY_MS = "1";
|
|
150
150
|
try {
|
|
151
|
+
const directMessage = {
|
|
152
|
+
msgId: "dm-delayed-1",
|
|
153
|
+
senderId: "agent-delayed",
|
|
154
|
+
senderName: "Agent Delayed",
|
|
155
|
+
content: "delayed dm",
|
|
156
|
+
requireReply: false,
|
|
157
|
+
timestamp: new Date().toISOString(),
|
|
158
|
+
};
|
|
151
159
|
const fetchOptions = [];
|
|
160
|
+
let fetchCount = 0;
|
|
152
161
|
const server = createServerWithUnread({ directMessages: [], groupMessages: [] }, {
|
|
153
162
|
fetchUnreadMessages: async (options) => {
|
|
154
163
|
fetchOptions.push(options ?? {});
|
|
155
|
-
|
|
164
|
+
fetchCount += 1;
|
|
165
|
+
if (fetchCount === 1) {
|
|
166
|
+
return { directMessages: [], groupMessages: [] };
|
|
167
|
+
}
|
|
168
|
+
return { directMessages: [directMessage], groupMessages: [] };
|
|
156
169
|
},
|
|
157
170
|
});
|
|
158
171
|
const handleToolCall = getHandleToolCall(server);
|
|
159
172
|
const result = await handleToolCall.call(server, "poll_message", {});
|
|
160
173
|
assert.deepEqual(result, {
|
|
161
|
-
directMessages: [],
|
|
174
|
+
directMessages: [directMessage],
|
|
162
175
|
groupMessages: [],
|
|
163
176
|
fromBuffer: true,
|
|
164
177
|
});
|
|
165
|
-
assert.
|
|
178
|
+
assert.equal(fetchOptions.length, 2);
|
|
166
179
|
assert.equal(fetchOptions[0].blockIfEmpty, true);
|
|
167
180
|
assert.ok(typeof fetchOptions[0].blockTimeoutMs === "number");
|
|
168
|
-
assert.
|
|
169
|
-
assert.
|
|
181
|
+
assert.equal(fetchOptions[0].blockTimeoutMs, 20);
|
|
182
|
+
assert.equal(fetchOptions[1].blockTimeoutMs, 20);
|
|
170
183
|
}
|
|
171
184
|
finally {
|
|
172
|
-
if (
|
|
173
|
-
delete process.env.
|
|
185
|
+
if (previousBlockWait === undefined) {
|
|
186
|
+
delete process.env.AWS_POLL_MESSAGE_BLOCK_WAIT_MS;
|
|
174
187
|
}
|
|
175
188
|
else {
|
|
176
|
-
process.env.
|
|
189
|
+
process.env.AWS_POLL_MESSAGE_BLOCK_WAIT_MS = previousBlockWait;
|
|
177
190
|
}
|
|
178
191
|
if (previousRetryDelay === undefined) {
|
|
179
192
|
delete process.env.AWS_POLL_MESSAGE_EMPTY_RETRY_DELAY_MS;
|
|
@@ -259,6 +272,42 @@ describe("McpServer unread backlog hydration", () => {
|
|
|
259
272
|
fromBuffer: false,
|
|
260
273
|
});
|
|
261
274
|
});
|
|
275
|
+
it("get_message should ignore malformed unread group entries instead of crashing", async () => {
|
|
276
|
+
const validGroupMessage = {
|
|
277
|
+
msgId: 501,
|
|
278
|
+
senderId: "agent-other",
|
|
279
|
+
senderName: "Other Agent",
|
|
280
|
+
content: "valid group message",
|
|
281
|
+
timestamp: new Date().toISOString(),
|
|
282
|
+
projectName: "demo",
|
|
283
|
+
roomId: "project:demo",
|
|
284
|
+
};
|
|
285
|
+
const server = createServerWithUnread({
|
|
286
|
+
directMessages: [],
|
|
287
|
+
groupMessages: [validGroupMessage],
|
|
288
|
+
});
|
|
289
|
+
Reflect.set(server, "agentClient", {
|
|
290
|
+
fetchUnreadMessages: async () => ({
|
|
291
|
+
directMessages: [],
|
|
292
|
+
groupMessages: [undefined, validGroupMessage],
|
|
293
|
+
}),
|
|
294
|
+
getState: () => ({
|
|
295
|
+
agentId: "agent-self",
|
|
296
|
+
displayName: "Self Agent",
|
|
297
|
+
isConnected: true,
|
|
298
|
+
isRegistered: true,
|
|
299
|
+
}),
|
|
300
|
+
getMyTasks: async () => [],
|
|
301
|
+
getStatusReporter: () => null,
|
|
302
|
+
});
|
|
303
|
+
const handleToolCall = getHandleToolCall(server);
|
|
304
|
+
const result = await handleToolCall.call(server, "get_message", {});
|
|
305
|
+
assert.deepEqual(result, {
|
|
306
|
+
directMessages: [],
|
|
307
|
+
groupMessages: [validGroupMessage],
|
|
308
|
+
fromBuffer: false,
|
|
309
|
+
});
|
|
310
|
+
});
|
|
262
311
|
it("get_message should pass through backend task notification without local my_task injection", async () => {
|
|
263
312
|
const taskNotification = {
|
|
264
313
|
msgId: "task-notify-backend-1",
|
|
@@ -347,6 +396,53 @@ describe("McpServer unread backlog hydration", () => {
|
|
|
347
396
|
assert.deepEqual(result.groupMessages, []);
|
|
348
397
|
assert.equal(result.fromBuffer, true);
|
|
349
398
|
});
|
|
399
|
+
it("poll_message should clamp block wait below HTTP request timeout", async () => {
|
|
400
|
+
const previousBlockWait = process.env.AWS_POLL_MESSAGE_BLOCK_WAIT_MS;
|
|
401
|
+
const previousHttpTimeout = process.env.AWS_MCP_HTTP_REQUEST_TIMEOUT_MS;
|
|
402
|
+
process.env.AWS_POLL_MESSAGE_BLOCK_WAIT_MS = "120000";
|
|
403
|
+
process.env.AWS_MCP_HTTP_REQUEST_TIMEOUT_MS = "120000";
|
|
404
|
+
try {
|
|
405
|
+
const delayedMessage = {
|
|
406
|
+
msgId: "dm-after-clamped-poll",
|
|
407
|
+
senderId: "agent-later",
|
|
408
|
+
senderName: "Later Agent",
|
|
409
|
+
receiverId: "agent-self",
|
|
410
|
+
content: "arrived after clamped backend poll",
|
|
411
|
+
requireReply: false,
|
|
412
|
+
timestamp: new Date().toISOString(),
|
|
413
|
+
};
|
|
414
|
+
const fetchOptions = [];
|
|
415
|
+
const server = createServerWithUnread({
|
|
416
|
+
directMessages: [],
|
|
417
|
+
groupMessages: [],
|
|
418
|
+
}, {
|
|
419
|
+
fetchUnreadMessages: async (options) => {
|
|
420
|
+
fetchOptions.push(options ?? {});
|
|
421
|
+
return fetchOptions.length === 1
|
|
422
|
+
? { directMessages: [delayedMessage], groupMessages: [] }
|
|
423
|
+
: { directMessages: [], groupMessages: [] };
|
|
424
|
+
},
|
|
425
|
+
});
|
|
426
|
+
const handleToolCall = getHandleToolCall(server);
|
|
427
|
+
const result = (await handleToolCall.call(server, "poll_message", {}));
|
|
428
|
+
assert.deepEqual(result.directMessages, [delayedMessage]);
|
|
429
|
+
assert.equal(fetchOptions[0].blockTimeoutMs, 119000);
|
|
430
|
+
}
|
|
431
|
+
finally {
|
|
432
|
+
if (previousBlockWait === undefined) {
|
|
433
|
+
delete process.env.AWS_POLL_MESSAGE_BLOCK_WAIT_MS;
|
|
434
|
+
}
|
|
435
|
+
else {
|
|
436
|
+
process.env.AWS_POLL_MESSAGE_BLOCK_WAIT_MS = previousBlockWait;
|
|
437
|
+
}
|
|
438
|
+
if (previousHttpTimeout === undefined) {
|
|
439
|
+
delete process.env.AWS_MCP_HTTP_REQUEST_TIMEOUT_MS;
|
|
440
|
+
}
|
|
441
|
+
else {
|
|
442
|
+
process.env.AWS_MCP_HTTP_REQUEST_TIMEOUT_MS = previousHttpTimeout;
|
|
443
|
+
}
|
|
444
|
+
}
|
|
445
|
+
});
|
|
350
446
|
it("poll_message should keep thinking status when task notification is returned", async () => {
|
|
351
447
|
const statusEvents = [];
|
|
352
448
|
const server = createServerWithUnread({
|