aws-runtime-bridge 1.9.102 → 1.9.103

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 (46) hide show
  1. package/README.md +2 -0
  2. package/dist/adapter/AcodeSdkAdapter.d.ts +2 -0
  3. package/dist/adapter/AcodeSdkAdapter.js +3 -3
  4. package/dist/index.js +1 -1
  5. package/dist/remote-desktop/computer-use-backend.d.ts +111 -0
  6. package/dist/remote-desktop/computer-use-backend.js +1 -0
  7. package/dist/remote-desktop/types.d.ts +79 -0
  8. package/dist/routes/computer.d.ts +1 -0
  9. package/dist/routes/computer.js +2 -0
  10. package/dist/routes/file-change-diff.d.ts +27 -0
  11. package/dist/routes/file-change-diff.js +5 -0
  12. package/dist/routes/instance.js +2 -2
  13. package/dist/routes/pty.d.ts +2 -2
  14. package/dist/routes/pty.js +3 -3
  15. package/dist/routes/task-context.js +1 -1
  16. package/dist/routes/terminal.js +28 -28
  17. package/dist/services/auto-register.d.ts +1 -1
  18. package/dist/services/auto-register.js +1 -1
  19. package/dist/services/instance-features.d.ts +10 -0
  20. package/dist/services/instance-features.js +2 -0
  21. package/dist/services/sdk-tool-file-change-recorder.d.ts +12 -0
  22. package/dist/services/sdk-tool-file-change-recorder.js +2 -0
  23. package/dist/services/workspace-files.js +1 -1
  24. package/dist/services/workspaceTaskChangeWatcher.d.ts +9 -1
  25. package/dist/services/workspaceTaskChangeWatcher.js +3 -1
  26. package/package/acode/dist/built-in-file-tools.d.ts +4 -0
  27. package/package/acode/dist/built-in-file-tools.js +2 -2
  28. package/package/acode/dist/runtime.d.ts +13 -0
  29. package/package/acode/dist/runtime.js +18 -18
  30. package/package/aws-client-agent-mcp/README.md +2 -2
  31. package/package/aws-client-agent-mcp/dist/agent-client.d.ts +14 -4
  32. package/package/aws-client-agent-mcp/dist/agent-client.js +1 -1
  33. package/package/aws-client-agent-mcp/dist/agent-client.test.js +36 -36
  34. package/package/aws-client-agent-mcp/dist/config.js +1 -1
  35. package/package/aws-client-agent-mcp/dist/config.test.js +2 -2
  36. package/package/aws-client-agent-mcp/dist/mcp-server.d.ts +2 -0
  37. package/package/aws-client-agent-mcp/dist/mcp-server.js +21 -21
  38. package/package/aws-client-agent-mcp/dist/mcp-server.test.js +35 -36
  39. package/package/aws-client-agent-mcp/dist/mcp-tools.d.ts +6 -0
  40. package/package/aws-client-agent-mcp/dist/mcp-tools.js +25 -5
  41. package/package/aws-client-agent-mcp/dist/mcp-tools.test.js +17 -1
  42. package/package/aws-client-agent-mcp/dist/runtime-launch-binding.test.js +1 -1
  43. package/package/aws-client-agent-mcp/dist/types.d.ts +14 -12
  44. package/package/aws-client-agent-mcp/dist/websocket-client.js +1 -1
  45. package/package.json +3 -2
  46. package/scripts/ensure-playwright-browser.mjs +118 -0
@@ -112,7 +112,7 @@ describe("McpServer unread backlog hydration", () => {
112
112
  senderName: "Agent C",
113
113
  content: "offline group",
114
114
  timestamp: new Date().toISOString(),
115
- projectName: "demo",
115
+ projectId: "demo",
116
116
  };
117
117
  const server = createServerWithUnread({
118
118
  directMessages: [directMessage],
@@ -226,7 +226,7 @@ describe("McpServer unread backlog hydration", () => {
226
226
  senderName: "Agent E",
227
227
  content: "offline group after profile",
228
228
  timestamp: new Date().toISOString(),
229
- projectName: "demo",
229
+ projectId: "demo",
230
230
  roomId: "inner_group:g-1",
231
231
  };
232
232
  const server = createServerWithUnread({
@@ -242,7 +242,7 @@ describe("McpServer unread backlog hydration", () => {
242
242
  isOnline: true,
243
243
  onlineSince: new Date().toISOString(),
244
244
  createdAt: new Date().toISOString(),
245
- projectName: "demo",
245
+ projectId: "demo",
246
246
  });
247
247
  const handleToolCall = Reflect.get(server, "handleToolCall");
248
248
  const result = (await handleToolCall.call(server, "get_message", {}));
@@ -257,7 +257,7 @@ describe("McpServer unread backlog hydration", () => {
257
257
  senderName: "Self Agent",
258
258
  content: "my own group message",
259
259
  timestamp: new Date().toISOString(),
260
- projectName: "demo",
260
+ projectId: "demo",
261
261
  roomId: "project:demo",
262
262
  };
263
263
  const otherGroupMessage = {
@@ -266,7 +266,7 @@ describe("McpServer unread backlog hydration", () => {
266
266
  senderName: "Other Agent",
267
267
  content: "other group message",
268
268
  timestamp: new Date().toISOString(),
269
- projectName: "demo",
269
+ projectId: "demo",
270
270
  roomId: "project:demo",
271
271
  };
272
272
  const server = createServerWithUnread({
@@ -321,7 +321,7 @@ describe("McpServer unread backlog hydration", () => {
321
321
  senderName: "Self Agent",
322
322
  content: "my own group message",
323
323
  timestamp: new Date().toISOString(),
324
- projectName: "demo",
324
+ projectId: "demo",
325
325
  roomId: "project:demo",
326
326
  };
327
327
  const otherGroupMessage = {
@@ -330,7 +330,7 @@ describe("McpServer unread backlog hydration", () => {
330
330
  senderName: "Other Agent",
331
331
  content: "other group message",
332
332
  timestamp: new Date().toISOString(),
333
- projectName: "demo",
333
+ projectId: "demo",
334
334
  roomId: "project:demo",
335
335
  };
336
336
  const server = createServerWithUnread({
@@ -350,7 +350,7 @@ describe("McpServer unread backlog hydration", () => {
350
350
  senderName: "Other Agent",
351
351
  content: "valid group message",
352
352
  timestamp: new Date().toISOString(),
353
- projectName: "demo",
353
+ projectId: "demo",
354
354
  roomId: "project:demo",
355
355
  };
356
356
  const server = createServerWithUnread({
@@ -1130,7 +1130,6 @@ describe("McpServer memory tools", () => {
1130
1130
  }
1131
1131
  // Override poll to resolve immediately with empty (simulating timeout without waiting 30s)
1132
1132
  const buffer = Reflect.get(server, "messageBuffer");
1133
- const originalPoll = buffer.poll.bind(buffer);
1134
1133
  let pollCallCount = 0;
1135
1134
  buffer.poll = ((_timeoutMs) => {
1136
1135
  pollCallCount++;
@@ -1494,7 +1493,7 @@ describe("McpServer group discovery tool", () => {
1494
1493
  groups: [
1495
1494
  {
1496
1495
  id: "project:demo",
1497
- projectName: "demo",
1496
+ projectId: "demo",
1498
1497
  roomType: "project",
1499
1498
  scopeRefId: "demo",
1500
1499
  name: "demo 公共群聊",
@@ -1502,7 +1501,7 @@ describe("McpServer group discovery tool", () => {
1502
1501
  },
1503
1502
  {
1504
1503
  id: "inner_group:g-1",
1505
- projectName: "demo",
1504
+ projectId: "demo",
1506
1505
  roomType: "inner_group",
1507
1506
  scopeRefId: "g-1",
1508
1507
  name: "后端小组",
@@ -1518,7 +1517,7 @@ describe("McpServer group discovery tool", () => {
1518
1517
  groups: [
1519
1518
  {
1520
1519
  id: "project:demo",
1521
- projectName: "demo",
1520
+ projectId: "demo",
1522
1521
  roomType: "project",
1523
1522
  scopeRefId: "demo",
1524
1523
  name: "demo 公共群聊",
@@ -1526,7 +1525,7 @@ describe("McpServer group discovery tool", () => {
1526
1525
  },
1527
1526
  {
1528
1527
  id: "inner_group:g-1",
1529
- projectName: "demo",
1528
+ projectId: "demo",
1530
1529
  roomType: "inner_group",
1531
1530
  scopeRefId: "g-1",
1532
1531
  name: "后端小组",
@@ -1539,8 +1538,8 @@ describe("McpServer group discovery tool", () => {
1539
1538
  const server = new McpServer();
1540
1539
  let capturedArgs = null;
1541
1540
  Reflect.set(server, "agentClient", {
1542
- sendGroupMessage: async (content, projectName, roomId) => {
1543
- capturedArgs = { content, projectName, roomId };
1541
+ sendGroupMessage: async (content, projectId, roomId) => {
1542
+ capturedArgs = { content, projectId, roomId };
1544
1543
  return {
1545
1544
  msgId: 1,
1546
1545
  timestamp: new Date().toISOString(),
@@ -1551,12 +1550,12 @@ describe("McpServer group discovery tool", () => {
1551
1550
  const handleToolCall = Reflect.get(server, "handleToolCall");
1552
1551
  await handleToolCall.call(server, "send_group", {
1553
1552
  content: "hello room",
1554
- projectName: "demo",
1553
+ projectId: "demo",
1555
1554
  roomId: "inner_group:g-1",
1556
1555
  });
1557
1556
  assert.deepEqual(capturedArgs, {
1558
1557
  content: "hello room",
1559
- projectName: "demo",
1558
+ projectId: "demo",
1560
1559
  roomId: "inner_group:g-1",
1561
1560
  });
1562
1561
  });
@@ -1567,7 +1566,7 @@ describe("McpServer group discovery tool", () => {
1567
1566
  id: "agent-new",
1568
1567
  displayName: "后端开发同事-AB12",
1569
1568
  roleName: "后端开发同事",
1570
- projectName: "demo",
1569
+ projectId: "demo",
1571
1570
  workspacePath: "D:/workspace/demo",
1572
1571
  runtimeBridgeBaseUrl: "http://127.0.0.1:18081",
1573
1572
  runtimeStatus: "stopped",
@@ -1581,7 +1580,7 @@ describe("McpServer group discovery tool", () => {
1581
1580
  });
1582
1581
  const handleToolCall = Reflect.get(server, "handleToolCall");
1583
1582
  const result = await handleToolCall.call(server, "hire_colleague", {
1584
- projectName: "demo",
1583
+ projectId: "demo",
1585
1584
  roleName: "后端开发同事",
1586
1585
  displayName: "后端开发同事-AB12",
1587
1586
  prompt: "负责后端接口开发",
@@ -1590,7 +1589,7 @@ describe("McpServer group discovery tool", () => {
1590
1589
  runtimeMcpEnabled: true,
1591
1590
  });
1592
1591
  assert.deepEqual(capturedArgs, {
1593
- projectName: "demo",
1592
+ projectId: "demo",
1594
1593
  roleName: "后端开发同事",
1595
1594
  displayName: "后端开发同事-AB12",
1596
1595
  prompt: "负责后端接口开发",
@@ -1614,7 +1613,7 @@ describe("McpServer group discovery tool", () => {
1614
1613
  let capturedArgs = null;
1615
1614
  const batchResult = {
1616
1615
  batchId: "hire-batch-001",
1617
- projectName: "demo",
1616
+ projectId: "demo",
1618
1617
  summary: {
1619
1618
  total: 2,
1620
1619
  approved: 1,
@@ -1650,7 +1649,7 @@ describe("McpServer group discovery tool", () => {
1650
1649
  });
1651
1650
  const handleToolCall = Reflect.get(server, "handleToolCall");
1652
1651
  const result = await handleToolCall.call(server, "hire_colleagues_batch", {
1653
- projectName: "demo",
1652
+ projectId: "demo",
1654
1653
  items: [
1655
1654
  {
1656
1655
  roleName: "后端开发同事",
@@ -1667,7 +1666,7 @@ describe("McpServer group discovery tool", () => {
1667
1666
  ],
1668
1667
  });
1669
1668
  assert.deepEqual(capturedArgs, {
1670
- projectName: "demo",
1669
+ projectId: "demo",
1671
1670
  items: [
1672
1671
  {
1673
1672
  roleName: "后端开发同事",
@@ -1690,7 +1689,7 @@ describe("McpServer group discovery tool", () => {
1690
1689
  const handleToolCall = Reflect.get(server, "handleToolCall");
1691
1690
  await assert.rejects(async () => {
1692
1691
  await handleToolCall.call(server, "hire_colleagues_batch", {
1693
- projectName: "demo",
1692
+ projectId: "demo",
1694
1693
  items: [],
1695
1694
  });
1696
1695
  }, /items is required/);
@@ -1700,7 +1699,7 @@ describe("McpServer group discovery tool", () => {
1700
1699
  const handleToolCall = Reflect.get(server, "handleToolCall");
1701
1700
  await assert.rejects(async () => {
1702
1701
  await handleToolCall.call(server, "hire_colleagues_batch", {
1703
- projectName: "demo",
1702
+ projectId: "demo",
1704
1703
  items: [
1705
1704
  {
1706
1705
  roleName: "后端开发同事",
@@ -1733,7 +1732,7 @@ describe("McpServer incoming group message filtering", () => {
1733
1732
  senderName: "Self Agent",
1734
1733
  content: "loopback group message",
1735
1734
  timestamp: new Date().toISOString(),
1736
- projectName: "demo",
1735
+ projectId: "demo",
1737
1736
  roomId: "project:demo",
1738
1737
  };
1739
1738
  const handleIncomingMessage = Reflect.get(server, "handleIncomingMessage");
@@ -1812,7 +1811,7 @@ describe("AgentClient group room aggregation", () => {
1812
1811
  it("fetchUnreadMessages should aggregate unread messages from all discoverable rooms", async () => {
1813
1812
  const client = new AgentClient();
1814
1813
  Reflect.set(client, "agentId", "agent-1");
1815
- Reflect.set(client, "projectName", "demo");
1814
+ Reflect.set(client, "projectId", "demo");
1816
1815
  const calls = [];
1817
1816
  Reflect.set(client, "httpClient", {
1818
1817
  callTool: async (toolName, args) => {
@@ -1825,7 +1824,7 @@ describe("AgentClient group room aggregation", () => {
1825
1824
  groups: [
1826
1825
  {
1827
1826
  id: "project:demo",
1828
- projectName: "demo",
1827
+ projectId: "demo",
1829
1828
  roomType: "project",
1830
1829
  scopeRefId: "demo",
1831
1830
  name: "demo 公共群聊",
@@ -1833,7 +1832,7 @@ describe("AgentClient group room aggregation", () => {
1833
1832
  },
1834
1833
  {
1835
1834
  id: "inner_group:g-1",
1836
- projectName: "demo",
1835
+ projectId: "demo",
1837
1836
  roomType: "inner_group",
1838
1837
  scopeRefId: "g-1",
1839
1838
  name: "后端小组",
@@ -1850,7 +1849,7 @@ describe("AgentClient group room aggregation", () => {
1850
1849
  msgId: 1,
1851
1850
  senderId: "agent-a",
1852
1851
  senderName: "Agent A",
1853
- projectName: "demo",
1852
+ projectId: "demo",
1854
1853
  roomId: "project:demo",
1855
1854
  content: "project message",
1856
1855
  timestamp: new Date().toISOString(),
@@ -1867,7 +1866,7 @@ describe("AgentClient group room aggregation", () => {
1867
1866
  msgId: 2,
1868
1867
  senderId: "agent-b",
1869
1868
  senderName: "Agent B",
1870
- projectName: "demo",
1869
+ projectId: "demo",
1871
1870
  roomId: "inner_group:g-1",
1872
1871
  content: "inner group message",
1873
1872
  timestamp: new Date().toISOString(),
@@ -1895,7 +1894,7 @@ describe("AgentClient group room aggregation", () => {
1895
1894
  it("getGroupHistory should aggregate history from all discoverable rooms when roomId is omitted", async () => {
1896
1895
  const client = new AgentClient();
1897
1896
  Reflect.set(client, "agentId", "agent-1");
1898
- Reflect.set(client, "projectName", "demo");
1897
+ Reflect.set(client, "projectId", "demo");
1899
1898
  Reflect.set(client, "httpClient", {
1900
1899
  callTool: async (toolName, args) => {
1901
1900
  if (toolName === "discover_group_rooms") {
@@ -1903,7 +1902,7 @@ describe("AgentClient group room aggregation", () => {
1903
1902
  groups: [
1904
1903
  {
1905
1904
  id: "project:demo",
1906
- projectName: "demo",
1905
+ projectId: "demo",
1907
1906
  roomType: "project",
1908
1907
  scopeRefId: "demo",
1909
1908
  name: "demo 公共群聊",
@@ -1911,7 +1910,7 @@ describe("AgentClient group room aggregation", () => {
1911
1910
  },
1912
1911
  {
1913
1912
  id: "inner_group:g-1",
1914
- projectName: "demo",
1913
+ projectId: "demo",
1915
1914
  roomType: "inner_group",
1916
1915
  scopeRefId: "g-1",
1917
1916
  name: "后端小组",
@@ -1928,7 +1927,7 @@ describe("AgentClient group room aggregation", () => {
1928
1927
  msgId: 1,
1929
1928
  senderId: "agent-a",
1930
1929
  senderName: "Agent A",
1931
- projectName: "demo",
1930
+ projectId: "demo",
1932
1931
  roomId: "project:demo",
1933
1932
  content: "project history",
1934
1933
  timestamp: "2026-03-25T10:00:00.000Z",
@@ -1944,7 +1943,7 @@ describe("AgentClient group room aggregation", () => {
1944
1943
  msgId: 2,
1945
1944
  senderId: "agent-b",
1946
1945
  senderName: "Agent B",
1947
- projectName: "demo",
1946
+ projectId: "demo",
1948
1947
  roomId: "inner_group:g-1",
1949
1948
  content: "group history",
1950
1949
  timestamp: "2026-03-25T11:00:00.000Z",
@@ -38,6 +38,12 @@ export declare const REJECT_TASK_TOOL: Tool;
38
38
 
39
39
  export declare const TERMINATE_TASK_TOOL: Tool;
40
40
 
41
+ export declare const GET_DEBUG_LOG_CONFIG_TOOL: Tool;
42
+
43
+ export declare const QUERY_DEBUG_LOGS_TOOL: Tool;
44
+
45
+ export declare const QUERY_FILE_CHANGES_HISTORY_TOOL: Tool;
46
+
41
47
  export declare const MEMORY_TOOL_NAMES: ReadonlySet<string>;
42
48
 
43
49
  export declare const MCP_TOOLS: Tool[];
@@ -1,22 +1,42 @@
1
- import{CREATE_MEMORY_TOOL as e,DELETE_MEMORY_TOOL as t,GET_MEMORY_STATS_TOOL as r,LIST_MEMORIES_TOOL as i,READ_MEMORY_TOOL as n,SEARCH_MEMORY_TOOL as s,UPDATE_MEMORY_TOOL as p,LIST_MEMORIES_BY_FILE_TOOL as o,ABANDON_MEMORY_UPDATE_TOOL as a,MEMORY_RECURRENCE_TOOL as c,MEMORY_RECURRENCE_COMPLETE_TOOL as _}from"./memory-tools.js";import{CREATE_MEMORY_TOOL as Y,DELETE_MEMORY_TOOL as j,GET_MEMORY_STATS_TOOL as U,LIST_MEMORIES_TOOL as x,READ_MEMORY_TOOL as H,SEARCH_MEMORY_TOOL as G,UPDATE_MEMORY_TOOL as w,LIST_MEMORIES_BY_FILE_TOOL as f,ABANDON_MEMORY_UPDATE_TOOL as K,MEMORY_RECURRENCE_TOOL as B,MEMORY_RECURRENCE_COMPLETE_TOOL as J}from"./memory-tools.js";const m={name:"get_colleague",description:"\u83B7\u53D6\u5F53\u524D Agent \u53EF\u89C1\u7684\u540C\u4E8B Agent \u5217\u8868\uFF0C\u5305\u542B\u5728\u7EBF\u548C\u79BB\u7EBF\u72B6\u6001\u3002",inputSchema:{type:"object",properties:{},required:[]}},d={name:"get_group_rooms",description:"\u83B7\u53D6\u5F53\u524D Agent \u5728\u5173\u7CFB\u56FE\u4E2D\u53EF\u53D1\u73B0\u7684\u7FA4\u7EC4\u5217\u8868\uFF0C\u5305\u62EC\u9879\u76EE\u516C\u5171\u7FA4\u804A\u4EE5\u53CA\u81EA\u5DF1\u6240\u5728\u7684\u5C0F\u7EC4\u7FA4\u3002",inputSchema:{type:"object",properties:{},required:[]}},O={name:"get_profile",description:`\u83B7\u53D6\u5F53\u524D Agent \u7684\u4E2A\u4EBA\u4FE1\u606F\uFF0C\u5305\u62EC ID\u3001\u663E\u793A\u540D\u79F0\u3001\u89D2\u8272\u540D\u79F0\u3001\u63D0\u793A\u8BCD\u7B49\u3002
1
+ import{CREATE_MEMORY_TOOL as e,DELETE_MEMORY_TOOL as t,GET_MEMORY_STATS_TOOL as r,LIST_MEMORIES_TOOL as i,READ_MEMORY_TOOL as n,SEARCH_MEMORY_TOOL as s,UPDATE_MEMORY_TOOL as p,LIST_MEMORIES_BY_FILE_TOOL as o,ABANDON_MEMORY_UPDATE_TOOL as a,MEMORY_RECURRENCE_TOOL as c,MEMORY_RECURRENCE_COMPLETE_TOOL as d}from"./memory-tools.js";import{CREATE_MEMORY_TOOL as G,DELETE_MEMORY_TOOL as x,GET_MEMORY_STATS_TOOL as H,LIST_MEMORIES_TOOL as f,READ_MEMORY_TOOL as K,SEARCH_MEMORY_TOOL as w,UPDATE_MEMORY_TOOL as B,LIST_MEMORIES_BY_FILE_TOOL as F,ABANDON_MEMORY_UPDATE_TOOL as J,MEMORY_RECURRENCE_TOOL as V,MEMORY_RECURRENCE_COMPLETE_TOOL as W}from"./memory-tools.js";const _={name:"get_colleague",description:"\u83B7\u53D6\u5F53\u524D Agent \u53EF\u89C1\u7684\u540C\u4E8B Agent \u5217\u8868\uFF0C\u5305\u542B\u5728\u7EBF\u548C\u79BB\u7EBF\u72B6\u6001\u3002\u6BCF\u4E2A\u540C\u4E8B\u8FD4\u56DE id\u3001\u89D2\u8272ID\uFF08roleId\uFF09\u3001\u89D2\u8272\u540D\u79F0\uFF08roleName\uFF09\u3001\u9879\u76EEID\uFF1B\u914D\u5408 query_file_changes_history \u53EF\u6309\u540C\u4E8B\u7684 roleId/agentId \u8FC7\u6EE4\u67E5\u8BE2\u5176\u6587\u4EF6\u53D8\u66F4\u5386\u53F2\u3002",inputSchema:{type:"object",properties:{},required:[]}},E={name:"get_group_rooms",description:"\u83B7\u53D6\u5F53\u524D Agent \u5728\u5173\u7CFB\u56FE\u4E2D\u53EF\u53D1\u73B0\u7684\u7FA4\u7EC4\u5217\u8868\uFF0C\u5305\u62EC\u9879\u76EE\u516C\u5171\u7FA4\u804A\u4EE5\u53CA\u81EA\u5DF1\u6240\u5728\u7684\u5C0F\u7EC4\u7FA4\u3002",inputSchema:{type:"object",properties:{},required:[]}},m={name:"get_profile",description:`\u83B7\u53D6\u5F53\u524D Agent \u7684\u4E2A\u4EBA\u4FE1\u606F\uFF0C\u5305\u62EC ID\u3001\u89D2\u8272 ID/\u540D\u79F0\u3001\u663E\u793A\u540D\u79F0\u3001\u63D0\u793A\u8BCD\u7B49\u3002
2
2
 
3
3
  \u3010\u7CFB\u7EDF\u63D0\u793A\u8BCD\u5206\u5C42\u7ED3\u6784\u3011
4
4
  \u8FD4\u56DE\u7684 prompt \u5B57\u6BB5\u662F\u89D2\u8272/\u5B9E\u4F8B\u63D0\u793A\u8BCD\uFF08System 2\uFF09\uFF0CglobalAgentPrompt \u662F\u5168\u5C40\u7CFB\u7EDF\u63D0\u793A\u8BCD\uFF08System 1\uFF09\u3002
5
5
  \u4E09\u5C42\u63D0\u793A\u8BCD\uFF08\u5168\u5C40\u2192\u89D2\u8272\u2192\u8BB0\u5FC6\uFF09\u7531 runtime adapter \u5728\u4F1A\u8BDD\u521B\u5EFA\u65F6\u6CE8\u5165\uFF0C
6
6
  ACode \u76F4\u63A5\u6CE8\u5165\u4E3A\u524D\u4E09\u6761 system role \u6D88\u606F\uFF0COpenCode/Claude \u5408\u5E76\u4E3A\u4E00\u6761 system prompt\u3002
7
- MCP \u5DE5\u5177\uFF08poll_message/get_message\uFF09\u4E0D\u518D\u8FD4\u56DE systemMessages\u3002`,inputSchema:{type:"object",properties:{},required:[]}},y={name:"hire_colleague",description:"\u5411\u4EBA\u4E8B\u90E8\u53D1\u8D77\u62DB\u8058\u540C\u4E8B\u8BF7\u6C42\uFF0C\u76F4\u63A5\u6309\u521B\u5EFA\u89D2\u8272\u5B9E\u4F8B\u6240\u9700\u53C2\u6570\u521B\u5EFA\u4E00\u4E2A\u65B0\u7684 Agent \u540C\u4E8B\u3002",inputSchema:{type:"object",properties:{projectName:{type:"string",description:"\u9879\u76EE\u540D\uFF0C\u4E0D\u4F20\u65F6\u7531\u670D\u52A1\u7AEF\u6309\u9ED8\u8BA4\u903B\u8F91\u5904\u7406\u3002"},roleName:{type:"string",description:"\u89D2\u8272\u540D\u3002\u4E0E newRoleName \u4E8C\u9009\u4E00\uFF0C\u4F18\u5148\u6309\u670D\u52A1\u7AEF\u73B0\u6709\u521B\u5EFA\u89C4\u5219\u5904\u7406\u3002"},newRoleName:{type:"string",description:"\u65B0\u89D2\u8272\u540D\u3002\u7528\u4E8E\u9700\u8981\u663E\u5F0F\u521B\u5EFA\u65B0\u89D2\u8272\u5B9E\u4F8B\u65F6\u4F20\u5165\u3002"},displayName:{type:"string",description:"\u65B0\u540C\u4E8B\u663E\u793A\u540D\u3002"},prompt:{type:"string",description:"\u65B0\u540C\u4E8B\u804C\u8D23\u8BF4\u660E\u6216\u7CFB\u7EDF\u63D0\u793A\u8BCD\u3002"},workspacePath:{type:"string",description:"\u65B0\u540C\u4E8B\u5DE5\u4F5C\u76EE\u5F55\u3002"},myYmlPath:{type:"string",description:"my.yml \u8DEF\u5F84\uFF0C\u53EF\u9009\u3002"},myYmlContent:{type:"string",description:"my.yml \u5185\u5BB9\uFF0C\u53EF\u9009\u3002"},runtimeSkillEnabled:{type:"boolean",description:"\u662F\u5426\u542F\u7528 skill\u3002"},runtimeMcpEnabled:{type:"boolean",description:"\u662F\u5426\u542F\u7528 MCP\u3002"},runtimeCcSwitchEnabledTools:{type:"string",description:"\u521D\u59CB\u5316\u542F\u7528\u7684\u5DE5\u5177\u5217\u8868 JSON \u5B57\u7B26\u4E32\u3002"}},required:["workspacePath"]}},E={name:"hire_colleagues_batch",description:"\u5411\u4EBA\u4E8B\u90E8\u53D1\u8D77\u6279\u91CF\u62DB\u8058\u540C\u4E8B\u8BF7\u6C42\uFF0C\u4E00\u6B21\u63D0\u4EA4\u591A\u4E2A\u5F85\u5BA1\u6279\u62DB\u8058\u9879\uFF0C\u7531\u5BA1\u6279\u4EBA\u9010\u9879\u6279\u51C6\u6216\u62D2\u7EDD\u540E\u7EDF\u4E00\u8FD4\u56DE\u7ED3\u679C\u3002",inputSchema:{type:"object",properties:{projectName:{type:"string",description:"\u9879\u76EE\u540D\uFF0C\u4E0D\u4F20\u65F6\u7531\u670D\u52A1\u7AEF\u6309\u9ED8\u8BA4\u903B\u8F91\u5904\u7406\u3002"},items:{type:"array",description:"\u5F85\u6279\u91CF\u62DB\u8058\u7684\u540C\u4E8B\u5217\u8868\u3002\u6BCF\u4E00\u9879\u5BF9\u5E94\u4E00\u4E2A\u5F85\u5BA1\u6279\u7684\u62DB\u8058\u8BF7\u6C42\u3002",items:{type:"object",properties:{roleName:{type:"string",description:"\u89D2\u8272\u540D\u3002\u4E0E newRoleName \u4E8C\u9009\u4E00\uFF0C\u4F18\u5148\u6309\u670D\u52A1\u7AEF\u73B0\u6709\u521B\u5EFA\u89C4\u5219\u5904\u7406\u3002"},newRoleName:{type:"string",description:"\u65B0\u89D2\u8272\u540D\u3002\u7528\u4E8E\u9700\u8981\u663E\u5F0F\u521B\u5EFA\u65B0\u89D2\u8272\u5B9E\u4F8B\u65F6\u4F20\u5165\u3002"},displayName:{type:"string",description:"\u65B0\u540C\u4E8B\u663E\u793A\u540D\u3002"},prompt:{type:"string",description:"\u65B0\u540C\u4E8B\u804C\u8D23\u8BF4\u660E\u6216\u7CFB\u7EDF\u63D0\u793A\u8BCD\u3002"},workspacePath:{type:"string",description:"\u65B0\u540C\u4E8B\u5DE5\u4F5C\u76EE\u5F55\u3002"},myYmlPath:{type:"string",description:"my.yml \u8DEF\u5F84\uFF0C\u53EF\u9009\u3002"},myYmlContent:{type:"string",description:"my.yml \u5185\u5BB9\uFF0C\u53EF\u9009\u3002"},runtimeSkillEnabled:{type:"boolean",description:"\u662F\u5426\u542F\u7528 skill\u3002"},runtimeMcpEnabled:{type:"boolean",description:"\u662F\u5426\u542F\u7528 MCP\u3002"},runtimeCcSwitchEnabledTools:{type:"string",description:"\u521D\u59CB\u5316\u542F\u7528\u7684\u5DE5\u5177\u5217\u8868 JSON \u5B57\u7B26\u4E32\u3002"}},required:["workspacePath"]},minItems:1}},required:["items"]}},u={name:"send_group",description:"\u5411\u516C\u5171\u7FA4\u804A\u53D1\u9001\u6D88\u606F\uFF0C\u6240\u6709\u5728\u7EBF\u53C2\u4E0E\u8005\u90FD\u80FD\u6536\u5230\u3002\u56DE\u590D\u7FA4\u6D88\u606F\u65F6\u5EFA\u8BAE\u4F20\u5165\u6D88\u606F\u4E2D\u7684 projectName\uFF0C\u786E\u4FDD\u56DE\u590D\u5230\u6B63\u786E\u7684\u9879\u76EE\u7FA4\u804A\u3002",inputSchema:{type:"object",properties:{content:{type:"string",description:"\u6D88\u606F\u5185\u5BB9"},projectName:{type:"string",description:"\u76EE\u6807\u9879\u76EE\u540D\uFF08\u53EF\u9009\uFF09\u3002\u4E0D\u4F20\u5219\u4F7F\u7528 Agent \u6240\u5C5E\u9879\u76EE\uFF08\u7531\u670D\u52A1\u7AEF\u51B3\u5B9A\uFF09\u3002\u56DE\u590D\u7FA4\u6D88\u606F\u65F6\u5E94\u4F20\u5165\u6D88\u606F\u4E2D\u7684 projectName\uFF0C\u786E\u4FDD\u56DE\u590D\u5230\u6B63\u786E\u7684\u9879\u76EE\u7FA4\u804A\u3002"},roomId:{type:"string",description:"\u76EE\u6807\u7FA4\u804A\u623F\u95F4 ID\uFF08\u53EF\u9009\uFF09\u3002\u5F53\u56DE\u590D get_group_rooms \u6216\u7FA4\u6D88\u606F\u4E2D\u7684\u5C0F\u7EC4\u7FA4\u65F6\uFF0C\u4F18\u5148\u4F20\u5165 roomId\uFF0C\u907F\u514D\u8BEF\u53D1\u5230\u9879\u76EE\u516C\u5171\u7FA4\u3002"}},required:["content"]}},T={name:"send_private",description:"\u53D1\u9001\u79C1\u4FE1\u7ED9\u6307\u5B9A\u7528\u6237\u3002\u652F\u6301\u4E24\u79CD\u6A21\u5F0F\uFF1A\u901A\u77E5\u5F0F\uFF08waitReply=false\uFF09\u548C\u8C03\u7528\u5F0F\uFF08waitReply=true\uFF0C\u963B\u585E\u7B49\u5F85\u56DE\u590D\uFF09\u3002",inputSchema:{type:"object",properties:{targetId:{type:"string",description:"\u76EE\u6807\u7528\u6237ID"},content:{type:"string",description:"\u6D88\u606F\u5185\u5BB9"},waitReply:{type:"boolean",description:"\u662F\u5426\u7B49\u5F85\u5BF9\u65B9\u56DE\u590D\uFF08\u8C03\u7528\u5F0F\uFF09\u3002\u4E3Atrue\u65F6\u4F1A\u963B\u585E\u7B49\u5F85\u56DE\u590D\uFF0C\u9ED8\u8BA4\u6C38\u4E45\u963B\u585E\u76F4\u5230\u6536\u5230\u56DE\u590D"},replyToCallId:{type:"string",description:"\u56DE\u590D\u7684\u8C03\u7528ID\uFF08\u7528\u4E8E\u56DE\u590D\u8C03\u7528\u5F0F\u6D88\u606F\uFF09"},timeoutMs:{type:"number",description:"\u7B49\u5F85\u56DE\u590D\u7684\u8D85\u65F6\u65F6\u95F4\uFF08\u6BEB\u79D2\uFF0C\u53EF\u9009\uFF09\u3002\u672A\u6307\u5B9A\u6216\u22640\u65F6\u6C38\u4E45\u963B\u585E\u7B49\u5F85\uFF0C>0\u65F6\u6309\u6307\u5B9A\u65F6\u95F4\u8D85\u65F6"}},required:["targetId","content"]}},g={name:"poll_message",description:`\u83B7\u53D6\u672A\u8BFB\u6D88\u606F\uFF08\u5305\u62EC\u7FA4\u6D88\u606F\u548C\u79C1\u4FE1\uFF09\uFF0C\u6301\u7EED\u963B\u585E\u7B49\u5F85\u76F4\u5230\u6709\u65B0\u6D88\u606F\uFF0C\u8FD9\u662F\u83B7\u53D6\u6D88\u606F\u7684\u4E3B\u8981\u63A5\u53E3\u3002
7
+ MCP \u5DE5\u5177\uFF08poll_message/get_message\uFF09\u4E0D\u518D\u8FD4\u56DE systemMessages\u3002`,inputSchema:{type:"object",properties:{},required:[]}},y={name:"hire_colleague",description:"\u5411\u4EBA\u4E8B\u90E8\u53D1\u8D77\u62DB\u8058\u540C\u4E8B\u8BF7\u6C42\uFF0C\u76F4\u63A5\u6309\u521B\u5EFA\u89D2\u8272\u5B9E\u4F8B\u6240\u9700\u53C2\u6570\u521B\u5EFA\u4E00\u4E2A\u65B0\u7684 Agent \u540C\u4E8B\u3002",inputSchema:{type:"object",properties:{projectId:{type:"string",description:"\u9879\u76EE ID\uFF0C\u4E0D\u4F20\u65F6\u7531\u670D\u52A1\u7AEF\u6309\u9ED8\u8BA4\u903B\u8F91\u5904\u7406\u3002"},roleName:{type:"string",description:"\u89D2\u8272\u540D\u3002\u4E0E newRoleName \u4E8C\u9009\u4E00\uFF0C\u4F18\u5148\u6309\u670D\u52A1\u7AEF\u73B0\u6709\u521B\u5EFA\u89C4\u5219\u5904\u7406\u3002"},newRoleName:{type:"string",description:"\u65B0\u89D2\u8272\u540D\u3002\u7528\u4E8E\u9700\u8981\u663E\u5F0F\u521B\u5EFA\u65B0\u89D2\u8272\u5B9E\u4F8B\u65F6\u4F20\u5165\u3002"},displayName:{type:"string",description:"\u65B0\u540C\u4E8B\u663E\u793A\u540D\u3002"},prompt:{type:"string",description:"\u65B0\u540C\u4E8B\u804C\u8D23\u8BF4\u660E\u6216\u7CFB\u7EDF\u63D0\u793A\u8BCD\u3002"},workspacePath:{type:"string",description:"\u65B0\u540C\u4E8B\u5DE5\u4F5C\u76EE\u5F55\u3002"},myYmlPath:{type:"string",description:"my.yml \u8DEF\u5F84\uFF0C\u53EF\u9009\u3002"},myYmlContent:{type:"string",description:"my.yml \u5185\u5BB9\uFF0C\u53EF\u9009\u3002"},runtimeSkillEnabled:{type:"boolean",description:"\u662F\u5426\u542F\u7528 skill\u3002"},runtimeMcpEnabled:{type:"boolean",description:"\u662F\u5426\u542F\u7528 MCP\u3002"},runtimeCcSwitchEnabledTools:{type:"string",description:"\u521D\u59CB\u5316\u542F\u7528\u7684\u5DE5\u5177\u5217\u8868 JSON \u5B57\u7B26\u4E32\u3002"}},required:["workspacePath"]}},O={name:"hire_colleagues_batch",description:"\u5411\u4EBA\u4E8B\u90E8\u53D1\u8D77\u6279\u91CF\u62DB\u8058\u540C\u4E8B\u8BF7\u6C42\uFF0C\u4E00\u6B21\u63D0\u4EA4\u591A\u4E2A\u5F85\u5BA1\u6279\u62DB\u8058\u9879\uFF0C\u7531\u5BA1\u6279\u4EBA\u9010\u9879\u6279\u51C6\u6216\u62D2\u7EDD\u540E\u7EDF\u4E00\u8FD4\u56DE\u7ED3\u679C\u3002",inputSchema:{type:"object",properties:{projectId:{type:"string",description:"\u9879\u76EE ID\uFF0C\u4E0D\u4F20\u65F6\u7531\u670D\u52A1\u7AEF\u6309\u9ED8\u8BA4\u903B\u8F91\u5904\u7406\u3002"},items:{type:"array",description:"\u5F85\u6279\u91CF\u62DB\u8058\u7684\u540C\u4E8B\u5217\u8868\u3002\u6BCF\u4E00\u9879\u5BF9\u5E94\u4E00\u4E2A\u5F85\u5BA1\u6279\u7684\u62DB\u8058\u8BF7\u6C42\u3002",items:{type:"object",properties:{roleName:{type:"string",description:"\u89D2\u8272\u540D\u3002\u4E0E newRoleName \u4E8C\u9009\u4E00\uFF0C\u4F18\u5148\u6309\u670D\u52A1\u7AEF\u73B0\u6709\u521B\u5EFA\u89C4\u5219\u5904\u7406\u3002"},newRoleName:{type:"string",description:"\u65B0\u89D2\u8272\u540D\u3002\u7528\u4E8E\u9700\u8981\u663E\u5F0F\u521B\u5EFA\u65B0\u89D2\u8272\u5B9E\u4F8B\u65F6\u4F20\u5165\u3002"},displayName:{type:"string",description:"\u65B0\u540C\u4E8B\u663E\u793A\u540D\u3002"},prompt:{type:"string",description:"\u65B0\u540C\u4E8B\u804C\u8D23\u8BF4\u660E\u6216\u7CFB\u7EDF\u63D0\u793A\u8BCD\u3002"},workspacePath:{type:"string",description:"\u65B0\u540C\u4E8B\u5DE5\u4F5C\u76EE\u5F55\u3002"},myYmlPath:{type:"string",description:"my.yml \u8DEF\u5F84\uFF0C\u53EF\u9009\u3002"},myYmlContent:{type:"string",description:"my.yml \u5185\u5BB9\uFF0C\u53EF\u9009\u3002"},runtimeSkillEnabled:{type:"boolean",description:"\u662F\u5426\u542F\u7528 skill\u3002"},runtimeMcpEnabled:{type:"boolean",description:"\u662F\u5426\u542F\u7528 MCP\u3002"},runtimeCcSwitchEnabledTools:{type:"string",description:"\u521D\u59CB\u5316\u542F\u7528\u7684\u5DE5\u5177\u5217\u8868 JSON \u5B57\u7B26\u4E32\u3002"}},required:["workspacePath"]},minItems:1}},required:["items"]}},g={name:"send_group",description:"\u5411\u516C\u5171\u7FA4\u804A\u53D1\u9001\u6D88\u606F\uFF0C\u6240\u6709\u5728\u7EBF\u53C2\u4E0E\u8005\u90FD\u80FD\u6536\u5230\u3002\u56DE\u590D\u7FA4\u6D88\u606F\u65F6\u5EFA\u8BAE\u4F20\u5165\u6D88\u606F\u4E2D\u7684 projectId\uFF0C\u786E\u4FDD\u56DE\u590D\u5230\u6B63\u786E\u7684\u9879\u76EE\u7FA4\u804A\u3002",inputSchema:{type:"object",properties:{content:{type:"string",description:"\u6D88\u606F\u5185\u5BB9"},projectId:{type:"string",description:"\u76EE\u6807\u9879\u76EE ID\uFF08\u53EF\u9009\uFF09\u3002\u4E0D\u4F20\u5219\u4F7F\u7528 Agent \u6240\u5C5E\u9879\u76EE\uFF08\u7531\u670D\u52A1\u7AEF\u51B3\u5B9A\uFF09\u3002\u56DE\u590D\u7FA4\u6D88\u606F\u65F6\u5E94\u4F20\u5165\u6D88\u606F\u4E2D\u7684 projectId\uFF0C\u786E\u4FDD\u56DE\u590D\u5230\u6B63\u786E\u7684\u9879\u76EE\u7FA4\u804A\u3002"},roomId:{type:"string",description:"\u76EE\u6807\u7FA4\u804A\u623F\u95F4 ID\uFF08\u53EF\u9009\uFF09\u3002\u5F53\u56DE\u590D get_group_rooms \u6216\u7FA4\u6D88\u606F\u4E2D\u7684\u5C0F\u7EC4\u7FA4\u65F6\uFF0C\u4F18\u5148\u4F20\u5165 roomId\uFF0C\u907F\u514D\u8BEF\u53D1\u5230\u9879\u76EE\u516C\u5171\u7FA4\u3002"}},required:["content"]}},u={name:"send_private",description:"\u53D1\u9001\u79C1\u4FE1\u7ED9\u6307\u5B9A\u7528\u6237\u3002\u652F\u6301\u4E24\u79CD\u6A21\u5F0F\uFF1A\u901A\u77E5\u5F0F\uFF08waitReply=false\uFF09\u548C\u8C03\u7528\u5F0F\uFF08waitReply=true\uFF0C\u963B\u585E\u7B49\u5F85\u56DE\u590D\uFF09\u3002",inputSchema:{type:"object",properties:{targetId:{type:"string",description:"\u76EE\u6807\u7528\u6237ID"},content:{type:"string",description:"\u6D88\u606F\u5185\u5BB9"},waitReply:{type:"boolean",description:"\u662F\u5426\u7B49\u5F85\u5BF9\u65B9\u56DE\u590D\uFF08\u8C03\u7528\u5F0F\uFF09\u3002\u4E3Atrue\u65F6\u4F1A\u963B\u585E\u7B49\u5F85\u56DE\u590D\uFF0C\u9ED8\u8BA4\u6C38\u4E45\u963B\u585E\u76F4\u5230\u6536\u5230\u56DE\u590D"},replyToCallId:{type:"string",description:"\u56DE\u590D\u7684\u8C03\u7528ID\uFF08\u7528\u4E8E\u56DE\u590D\u8C03\u7528\u5F0F\u6D88\u606F\uFF09"},timeoutMs:{type:"number",description:"\u7B49\u5F85\u56DE\u590D\u7684\u8D85\u65F6\u65F6\u95F4\uFF08\u6BEB\u79D2\uFF0C\u53EF\u9009\uFF09\u3002\u672A\u6307\u5B9A\u6216\u22640\u65F6\u6C38\u4E45\u963B\u585E\u7B49\u5F85\uFF0C>0\u65F6\u6309\u6307\u5B9A\u65F6\u95F4\u8D85\u65F6"}},required:["targetId","content"]}},T={name:"poll_message",description:`\u83B7\u53D6\u672A\u8BFB\u6D88\u606F\uFF08\u5305\u62EC\u7FA4\u6D88\u606F\u548C\u79C1\u4FE1\uFF09\uFF0C\u6301\u7EED\u963B\u585E\u7B49\u5F85\u76F4\u5230\u6709\u65B0\u6D88\u606F\uFF0C\u8FD9\u662F\u83B7\u53D6\u6D88\u606F\u7684\u4E3B\u8981\u63A5\u53E3\u3002
8
8
 
9
9
  \u3010\u8FD4\u56DE\u503C\u8BF4\u660E\u3011
10
10
  - directMessages: \u79C1\u4FE1\u6D88\u606F
11
11
  - groupMessages: \u7FA4\u804A\u6D88\u606F
12
12
 
13
13
  \u7CFB\u7EDF\u63D0\u793A\u8BCD\uFF08\u5168\u5C40\u63D0\u793A\u8BCD + \u89D2\u8272\u63D0\u793A\u8BCD + \u542F\u52A8\u8BB0\u5FC6\uFF09\u5DF2\u7531 runtime adapter
14
- \u5728\u4F1A\u8BDD\u521B\u5EFA\u65F6\u6CE8\u5165\uFF0C\u65E0\u9700\u901A\u8FC7 MCP \u83B7\u53D6\u3002`,inputSchema:{type:"object",properties:{},required:[]}},l={name:"get_message",description:`\u83B7\u53D6\u672A\u8BFB\u6D88\u606F\uFF08\u975E\u963B\u585E\uFF09\uFF0C\u4ECE\u6D88\u606F\u7F13\u51B2\u533A\u83B7\u53D6\u6D88\u606F\uFF0C\u7ACB\u5373\u8FD4\u56DE\uFF0C\u82E5\u5F53\u524D\u6CA1\u6709\u4EFB\u52A1\u5E94\u4F7F\u7528 poll_message\u3002
14
+ \u5728\u4F1A\u8BDD\u521B\u5EFA\u65F6\u6CE8\u5165\uFF0C\u65E0\u9700\u901A\u8FC7 MCP \u83B7\u53D6\u3002`,inputSchema:{type:"object",properties:{},required:[]}},I={name:"get_message",description:`\u83B7\u53D6\u672A\u8BFB\u6D88\u606F\uFF08\u975E\u963B\u585E\uFF09\uFF0C\u4ECE\u6D88\u606F\u7F13\u51B2\u533A\u83B7\u53D6\u6D88\u606F\uFF0C\u7ACB\u5373\u8FD4\u56DE\uFF0C\u82E5\u5F53\u524D\u6CA1\u6709\u4EFB\u52A1\u5E94\u4F7F\u7528 poll_message\u3002
15
15
 
16
16
  \u3010\u8FD4\u56DE\u503C\u8BF4\u660E\u3011
17
17
  - directMessages: \u79C1\u4FE1\u6D88\u606F
18
18
  - groupMessages: \u7FA4\u804A\u6D88\u606F
19
19
 
20
- \u7CFB\u7EDF\u63D0\u793A\u8BCD\u5DF2\u7531 runtime adapter \u5728\u4F1A\u8BDD\u521B\u5EFA\u65F6\u6CE8\u5165\uFF0C\u65E0\u9700\u901A\u8FC7 MCP \u83B7\u53D6\u3002`,inputSchema:{type:"object",properties:{},required:[]}},M={name:"get_dm_history",description:"\u83B7\u53D6\u79C1\u4FE1\u5386\u53F2\u6D88\u606F\u3002\u53EF\u4EE5\u83B7\u53D6\u4E0E\u7279\u5B9A\u7528\u6237\u7684\u5BF9\u8BDD\u5386\u53F2\uFF0C\u6216\u83B7\u53D6\u6240\u6709\u79C1\u4FE1\u5386\u53F2\u3002",inputSchema:{type:"object",properties:{targetUserId:{type:"string",description:"\u76EE\u6807\u7528\u6237ID\uFF08\u53EF\u9009\uFF09\u3002\u5982\u679C\u4E0D\u6307\u5B9A\uFF0C\u5219\u8FD4\u56DE\u6240\u6709\u79C1\u4FE1\u5386\u53F2\u3002"},limit:{type:"number",description:"\u83B7\u53D6\u6700\u8FD1\u5386\u53F2\u6D88\u606F\u7684\u6570\u91CF\uFF08\u9ED8\u8BA450\uFF09"},since:{type:"string",description:"\u8D77\u59CB\u65F6\u95F4\uFF08ISO 8601 \u683C\u5F0F\uFF0C\u53EF\u9009\uFF09\u3002\u65E9\u4E8E\u8BE5\u65F6\u95F4\u7684\u6D88\u606F\u5C06\u4E0D\u4F1A\u88AB\u8FD4\u56DE\u3002"}},required:[]}},L={name:"get_group_history",description:"\u83B7\u53D6\u516C\u5171\u7FA4\u804A\u7684\u5386\u53F2\u6D88\u606F\u3002",inputSchema:{type:"object",properties:{limit:{type:"number",description:"\u83B7\u53D6\u6700\u8FD1\u5386\u53F2\u6D88\u606F\u7684\u6570\u91CF\uFF08\u9ED8\u8BA450\uFF09"},since:{type:"string",description:"\u8D77\u59CB\u65F6\u95F4\uFF08ISO 8601 \u683C\u5F0F\uFF0C\u53EF\u9009\uFF09\u3002\u65E9\u4E8E\u8BE5\u65F6\u95F4\u7684\u6D88\u606F\u5C06\u4E0D\u4F1A\u88AB\u8FD4\u56DE\u3002"}},required:[]}},I={name:"my_task",description:"\u83B7\u53D6\u5F53\u524D Agent \u5DF2\u901A\u8FC7 poll_message \u540E\u53F0\u9759\u9ED8\u62A2\u5360\u6216\u6B63\u5728\u5904\u7406\u7684\u6D41\u7A0B\u7EBF\u4EFB\u52A1\u5217\u8868\u3002\u6B64\u5DE5\u5177\u53EA\u8BFB\u53D6\u5DF2\u5206\u914D\u7ED9\u5F53\u524D Agent \u7684\u4EFB\u52A1\u8BE6\u60C5\uFF0C\u4E0D\u4F1A\u4E3B\u52A8\u62A2\u5360\u65B0\u7684\u5F85\u5904\u7406\u8282\u70B9\u3002\u6536\u5230\u6D41\u7A0B\u7EBF\u4EFB\u52A1\u5206\u914D\u901A\u77E5\u540E\uFF0C\u8C03\u7528\u6B64\u5DE5\u5177\u83B7\u53D6\u4EFB\u52A1\u6307\u4EE4\u3001\u524D\u5E8F\u8282\u70B9\u8F93\u51FA\u3001requiredOutput \u8F93\u51FA\u5951\u7EA6\u7B49\uFF1B\u5B8C\u6210\u540E\u5FC5\u987B\u6309 requiredOutput \u4F7F\u7528 submit_task_result \u63D0\u4EA4\u7ED3\u679C\uFF0C\u63D0\u4EA4\u65F6\u8BF7\u4E00\u5E76\u4F20\u5165 changeLog\uFF08\u672C\u6B21\u5904\u7406\u7684\u6587\u4EF6/\u5185\u5BB9\u53D8\u66F4\u65E5\u5FD7\uFF0C\u5305\u542B operation \u4E0E path\uFF09\uFF0C\u7528\u4E8E AI \u56DE\u9000\u3002\u82E5 requiredOutput \u7684\u76EE\u6807\u662F HUMAN \u8282\u70B9\uFF0C\u63D0\u4EA4\u7ED9\u8BE5\u5206\u652F\u7684 output \u5FC5\u987B\u5305\u542B questions \u6570\u7EC4\u4E14\u81F3\u5C11\u4E00\u4E2A\u9898\u76EE\u5E26 question \u5B57\u6BB5\u3002",inputSchema:{type:"object",properties:{},required:[]}},R={name:"create_task_instance_comment",description:"\u4E3A\u5F53\u524D\u6B63\u5728\u5904\u7406\u7684\u6D41\u7A0B\u7EBF\u5B9E\u4F8B\u521B\u5EFA\u4E00\u6761\u5B9E\u4F8B\u7EA7\u7559\u8A00\u3002\u4EC5\u5141\u8BB8\u7531\u540E\u53F0\u9759\u9ED8\u62A2\u5360\u540E\u6B63\u5728\u5904\u7406\u8BE5\u5B9E\u4F8B\u8282\u70B9\u7684 Agent \u8C03\u7528\uFF1B\u5F53\u9700\u8981\u544A\u77E5\u540E\u7EED\u8282\u70B9\u9700\u8981\u6CE8\u610F\u7684\u70B9\u65F6\u4F7F\u7528\u7559\u8A00\u8FDB\u884C\u7559\u8A00\uFF1B\u7559\u8A00\u4F1A\u5728\u5B9E\u4F8B\u5217\u8868\u201C\u67E5\u770B\u7559\u8A00\u201D\u548C\u540E\u7EED my_task \u8FD4\u56DE\u4E2D\u5C55\u793A\u3002",inputSchema:{type:"object",properties:{taskInstanceId:{type:"string",description:"\u6D41\u7A0B\u7EBF\u4EFB\u52A1\u5B9E\u4F8BID\uFF08\u4ECE my_task \u8FD4\u56DE\u4E2D\u83B7\u53D6\uFF09"},content:{type:"string",description:"\u7559\u8A00\u5185\u5BB9"}},required:["taskInstanceId","content"]}},A={name:"submit_task_result",description:`\u63D0\u4EA4\u6D41\u7A0B\u7EBF\u4EFB\u52A1\u7684\u6267\u884C\u7ED3\u679C\u3002\u5B8C\u6210\u4EFB\u52A1\u540E\u8C03\u7528\u6B64\u5DE5\u5177\uFF0C\u8F93\u51FA\u5C06\u4F20\u9012\u7ED9\u4E0B\u4E00\u4E2A\u8282\u70B9\u3002outputPayload \u5FC5\u987B\u9075\u5FAA my_task \u8FD4\u56DE\u7684 requiredOutput\uFF1A\u6709\u540E\u7EE7\u5206\u652F\u65F6\u5FC5\u987B\u662F JSON \u6570\u7EC4\uFF0C\u6BCF\u9879\u5305\u542B targetNodeId \u548C output\u3002\u82E5\u76EE\u6807\u5206\u652F\u662F HUMAN \u8282\u70B9\uFF0Coutput \u5FC5\u987B\u662F JSON \u5BF9\u8C61\u5E76\u5305\u542B\u975E\u7A7A questions \u6570\u7EC4\uFF0Cquestions \u81F3\u5C11\u4E00\u4E2A\u9898\u76EE\u5FC5\u987B\u5305\u542B\u5B57\u7B26\u4E32 question \u5B57\u6BB5\u3002
21
- \u63D0\u4EA4\u65F6\u8BF7\u4E00\u5E76\u4F20\u5165 changeLog\uFF08\u672C\u6B21\u4EFB\u52A1\u5904\u7406\u671F\u95F4\u4EA7\u751F\u7684\u6587\u4EF6/\u5185\u5BB9\u53D8\u66F4\u65E5\u5FD7\uFF09\uFF0C\u7528\u4E8E\u300CAI \u56DE\u9000\u300D\u7CBE\u786E\u8FD8\u539F\uFF1A\u6BCF\u9879\u5305\u542B operation(CREATE|UPDATE|DELETE|READ)\u3001path(\u76F8\u5BF9\u5DE5\u4F5C\u533A\u8DEF\u5F84)\u3001\u53EF\u9009 targetType/summary/beforeHash/afterHash/metadata\u3002\u672A\u8BB0\u5F55\u53D8\u66F4\u4F1A\u5BFC\u81F4 AI \u56DE\u9000\u7F3A\u5C11\u4F9D\u636E\u3002`,inputSchema:{type:"object",properties:{nodeId:{type:"string",description:"\u4EFB\u52A1\u8282\u70B9ID\uFF08\u4ECE my_task \u8FD4\u56DE\u7684\u4EFB\u52A1\u4FE1\u606F\u4E2D\u83B7\u53D6\uFF09"},outputPayload:{type:"string",description:'\u4EFB\u52A1\u6267\u884C\u7ED3\u679C\u7684 JSON \u5B57\u7B26\u4E32\u3002\u5FC5\u987B\u6309 my_task.requiredOutput \u9009\u62E9\u76EE\u6807\u5206\u652F\uFF0C\u4F8B\u5982 [{"targetNodeId":"<\u76EE\u6807\u8282\u70B9\u6A21\u677FID>","output":{...}}]\uFF1B\u63D0\u4EA4\u5230 HUMAN \u8282\u70B9\u65F6 output \u5FC5\u987B\u5F62\u5982 {"questions":[{"question":"\u8BF7\u786E\u8BA4...","options":[{"label":"\u901A\u8FC7"}]}]}\u3002'},changeLog:{type:"array",description:"\u53EF\u9009\u3002\u672C\u6B21\u4EFB\u52A1\u5904\u7406\u671F\u95F4\u4EA7\u751F\u7684\u6587\u4EF6/\u5185\u5BB9\u53D8\u66F4\u65E5\u5FD7\uFF0C\u7528\u4E8E AI \u56DE\u9000\u3002\u6BCF\u9879: { operation: 'CREATE'|'UPDATE'|'DELETE'|'READ', targetType?: string, path: string, summary?: string, beforeHash?: string, afterHash?: string, metadata?: string }\u3002\u5EFA\u8BAE\u5728\u5B8C\u6210\u4EFB\u52A1\u3001\u8C03\u7528 submit_task_result \u65F6\u4E00\u5E76\u63D0\u4EA4\u3002",items:{type:"object",properties:{operation:{type:"string",enum:["CREATE","UPDATE","DELETE","READ"],description:"\u53D8\u66F4\u64CD\u4F5C\u7C7B\u578B"},targetType:{type:"string",description:"\u53D8\u66F4\u76EE\u6807\u7C7B\u578B\uFF0C\u7F3A\u7701\u89C6\u4E3A FILE"},path:{type:"string",description:"\u53D8\u66F4\u6587\u4EF6/\u8D44\u6E90\u7684\u76F8\u5BF9\u8DEF\u5F84"},summary:{type:"string",description:"\u53D8\u66F4\u6458\u8981\u8BF4\u660E"},beforeHash:{type:"string",description:"\u53D8\u66F4\u524D\u5185\u5BB9 hash\uFF08\u5DEE\u5F02\u56DE\u9000\u7528\uFF09"},afterHash:{type:"string",description:"\u53D8\u66F4\u540E\u5185\u5BB9 hash\uFF08\u5DEE\u5F02\u56DE\u9000\u7528\uFF09"},metadata:{type:"string",description:"\u9644\u52A0\u5143\u6570\u636E JSON \u5B57\u7B26\u4E32\uFF08\u5982 cacheKey\uFF09"}},required:["operation","path"]}}},required:["nodeId","outputPayload"]}},S={name:"start_task_rollback",description:"\u5C06\u5206\u914D\u7ED9\u5F53\u524D Agent \u7684\u6D41\u7A0B\u7EBF AI \u56DE\u9000\u4EFB\u52A1\u6807\u8BB0\u4E3A\u56DE\u9000\u4E2D\u3002\u6536\u5230\u56DE\u9000\u59D4\u6258\u540E\uFF0C\u5F00\u59CB\u5B9E\u9645\u56DE\u9000\u524D\u8C03\u7528\u3002",inputSchema:{type:"object",properties:{rollbackTaskId:{type:"string",description:"AI \u56DE\u9000\u4EFB\u52A1ID\uFF08\u4ECE\u56DE\u9000\u59D4\u6258\u6D88\u606F\u4E2D\u83B7\u53D6\uFF09\u3002"}},required:["rollbackTaskId"]}},h={name:"finish_task_rollback",description:"\u5C06\u5206\u914D\u7ED9\u5F53\u524D Agent \u7684\u6D41\u7A0B\u7EBF AI \u56DE\u9000\u4EFB\u52A1\u6807\u8BB0\u4E3A\u5DF2\u56DE\u9000\uFF0C\u5E76\u8BB0\u5F55\u56DE\u9000\u7ED3\u679C\u3002\u5B8C\u6210\u56DE\u9000\u540E\u8C03\u7528\u3002",inputSchema:{type:"object",properties:{rollbackTaskId:{type:"string",description:"AI \u56DE\u9000\u4EFB\u52A1ID\uFF08\u4ECE\u56DE\u9000\u59D4\u6258\u6D88\u606F\u4E2D\u83B7\u53D6\uFF09\u3002"},resultMessage:{type:"string",description:"\u56DE\u9000\u7ED3\u679C\u8BF4\u660E\uFF08\u53EF\u9009\uFF09\u3002"}},required:["rollbackTaskId"]}},b={name:"reject_task",description:"\u62D2\u7EDD\u5BF9\u524D\u5E8F\u8282\u70B9\u8F93\u51FA\u7684\u4EFB\u52A1\uFF0C\u4EFB\u52A1\u5C06\u56DE\u9000\u5230\u524D\u4E00\u4E2A\u8282\u70B9\u91CD\u65B0\u6267\u884C\u3002\u9002\u7528\u4E8E\u524D\u5E8F\u8F93\u51FA\u4E0D\u6EE1\u8DB3\u8981\u6C42\u6216\u65E0\u6CD5\u7EE7\u7EED\u6267\u884C\u7684\u573A\u666F\u3002",inputSchema:{type:"object",properties:{nodeId:{type:"string",description:"\u4EFB\u52A1\u8282\u70B9ID\uFF08\u4ECE my_task \u8FD4\u56DE\u7684\u4EFB\u52A1\u4FE1\u606F\u4E2D\u83B7\u53D6\uFF09"},reason:{type:"string",description:"\u62D2\u7EDD\u539F\u56E0"}},required:["nodeId","reason"]}},C={name:"terminate_task",description:"\u7EC8\u6B62\u6574\u4E2A\u6D41\u7A0B\u7EBF\u4EFB\u52A1\u3002\u7EC8\u6B62\u540E\u4EFB\u52A1\u72B6\u6001\u53D8\u4E3A TERMINATED\uFF08\u5DF2\u7EC8\u6B62\uFF09\uFF0C\u6240\u6709\u672A\u5B8C\u6210\u7684\u8282\u70B9\u4E5F\u5C06\u88AB\u7EC8\u6B62\uFF0C\u4EFB\u52A1\u4E0D\u518D\u8FDB\u884C\u540E\u7EED\u6D41\u8F6C\u3002\u9002\u7528\u4E8E\u4EFB\u52A1\u65E0\u6CD5\u7EE7\u7EED\u6267\u884C\u6216\u9700\u8981\u5F3A\u5236\u505C\u6B62\u7684\u573A\u666F\u3002\u6CE8\u610F\uFF1A\u7EC8\u6B62\u64CD\u4F5C\u4E0D\u53EF\u9006\uFF0C\u8BF7\u8C28\u614E\u4F7F\u7528\u3002",inputSchema:{type:"object",properties:{taskInstanceId:{type:"string",description:"\u4EFB\u52A1\u5B9E\u4F8BID\uFF08\u4ECE my_task \u8FD4\u56DE\u7684\u4EFB\u52A1\u4FE1\u606F\u4E2D\u83B7\u53D6 taskInstanceId\uFF09"},reason:{type:"string",description:"\u7EC8\u6B62\u539F\u56E0"}},required:["taskInstanceId","reason"]}},k=new Set(["create_memory","read_memory","update_memory","delete_memory","search_memory","list_memories","get_memory_stats","list_memories_by_file","memory_recurrence","memory_recurrence_complete"]),D=[m,d,O,y,E,u,T,g,l,M,L,I,R,A,S,h,b,C,e,n,p,t,s,i,r,o,a,c,_];export{K as ABANDON_MEMORY_UPDATE_TOOL,Y as CREATE_MEMORY_TOOL,R as CREATE_TASK_INSTANCE_COMMENT_TOOL,j as DELETE_MEMORY_TOOL,h as FINISH_TASK_ROLLBACK_TOOL,m as GET_COLLEAGUE_TOOL,M as GET_DM_HISTORY_TOOL,L as GET_GROUP_HISTORY_TOOL,d as GET_GROUP_ROOMS_TOOL,U as GET_MEMORY_STATS_TOOL,l as GET_MESSAGE_TOOL,O as GET_PROFILE_TOOL,E as HIRE_COLLEAGUES_BATCH_TOOL,y as HIRE_COLLEAGUE_TOOL,f as LIST_MEMORIES_BY_FILE_TOOL,x as LIST_MEMORIES_TOOL,D as MCP_TOOLS,J as MEMORY_RECURRENCE_COMPLETE_TOOL,B as MEMORY_RECURRENCE_TOOL,k as MEMORY_TOOL_NAMES,I as MY_TASK_TOOL,g as POLL_MESSAGE_TOOL,H as READ_MEMORY_TOOL,b as REJECT_TASK_TOOL,G as SEARCH_MEMORY_TOOL,u as SEND_GROUP_TOOL,T as SEND_PRIVATE_TOOL,S as START_TASK_ROLLBACK_TOOL,A as SUBMIT_TASK_RESULT_TOOL,C as TERMINATE_TASK_TOOL,w as UPDATE_MEMORY_TOOL};
20
+ \u7CFB\u7EDF\u63D0\u793A\u8BCD\u5DF2\u7531 runtime adapter \u5728\u4F1A\u8BDD\u521B\u5EFA\u65F6\u6CE8\u5165\uFF0C\u65E0\u9700\u901A\u8FC7 MCP \u83B7\u53D6\u3002`,inputSchema:{type:"object",properties:{},required:[]}},l={name:"get_dm_history",description:"\u83B7\u53D6\u79C1\u4FE1\u5386\u53F2\u6D88\u606F\u3002\u53EF\u4EE5\u83B7\u53D6\u4E0E\u7279\u5B9A\u7528\u6237\u7684\u5BF9\u8BDD\u5386\u53F2\uFF0C\u6216\u83B7\u53D6\u6240\u6709\u79C1\u4FE1\u5386\u53F2\u3002",inputSchema:{type:"object",properties:{targetUserId:{type:"string",description:"\u76EE\u6807\u7528\u6237ID\uFF08\u53EF\u9009\uFF09\u3002\u5982\u679C\u4E0D\u6307\u5B9A\uFF0C\u5219\u8FD4\u56DE\u6240\u6709\u79C1\u4FE1\u5386\u53F2\u3002"},limit:{type:"number",description:"\u83B7\u53D6\u6700\u8FD1\u5386\u53F2\u6D88\u606F\u7684\u6570\u91CF\uFF08\u9ED8\u8BA450\uFF09"},since:{type:"string",description:"\u8D77\u59CB\u65F6\u95F4\uFF08ISO 8601 \u683C\u5F0F\uFF0C\u53EF\u9009\uFF09\u3002\u65E9\u4E8E\u8BE5\u65F6\u95F4\u7684\u6D88\u606F\u5C06\u4E0D\u4F1A\u88AB\u8FD4\u56DE\u3002"}},required:[]}},R={name:"get_group_history",description:"\u83B7\u53D6\u516C\u5171\u7FA4\u804A\u7684\u5386\u53F2\u6D88\u606F\u3002",inputSchema:{type:"object",properties:{limit:{type:"number",description:"\u83B7\u53D6\u6700\u8FD1\u5386\u53F2\u6D88\u606F\u7684\u6570\u91CF\uFF08\u9ED8\u8BA450\uFF09"},since:{type:"string",description:"\u8D77\u59CB\u65F6\u95F4\uFF08ISO 8601 \u683C\u5F0F\uFF0C\u53EF\u9009\uFF09\u3002\u65E9\u4E8E\u8BE5\u65F6\u95F4\u7684\u6D88\u606F\u5C06\u4E0D\u4F1A\u88AB\u8FD4\u56DE\u3002"}},required:[]}},A={name:"my_task",description:"\u83B7\u53D6\u5F53\u524D Agent \u5DF2\u901A\u8FC7 poll_message \u540E\u53F0\u9759\u9ED8\u62A2\u5360\u6216\u6B63\u5728\u5904\u7406\u7684\u6D41\u7A0B\u7EBF\u4EFB\u52A1\u5217\u8868\u3002\u6B64\u5DE5\u5177\u53EA\u8BFB\u53D6\u5DF2\u5206\u914D\u7ED9\u5F53\u524D Agent \u7684\u4EFB\u52A1\u8BE6\u60C5\uFF0C\u4E0D\u4F1A\u4E3B\u52A8\u62A2\u5360\u65B0\u7684\u5F85\u5904\u7406\u8282\u70B9\u3002\u6536\u5230\u6D41\u7A0B\u7EBF\u4EFB\u52A1\u5206\u914D\u901A\u77E5\u540E\uFF0C\u8C03\u7528\u6B64\u5DE5\u5177\u83B7\u53D6\u4EFB\u52A1\u6307\u4EE4\u3001\u524D\u5E8F\u8282\u70B9\u8F93\u51FA\u3001requiredOutput \u8F93\u51FA\u5951\u7EA6\u7B49\uFF1B\u5B8C\u6210\u540E\u5FC5\u987B\u6309 requiredOutput \u4F7F\u7528 submit_task_result \u63D0\u4EA4\u7ED3\u679C\uFF0C\u63D0\u4EA4\u65F6\u8BF7\u4E00\u5E76\u4F20\u5165 changeLog\uFF08\u672C\u6B21\u5904\u7406\u7684\u6587\u4EF6/\u5185\u5BB9\u53D8\u66F4\u65E5\u5FD7\uFF0C\u5305\u542B operation \u4E0E path\uFF09\uFF0C\u7528\u4E8E AI \u56DE\u9000\u3002\u82E5 requiredOutput \u7684\u76EE\u6807\u662F HUMAN \u8282\u70B9\uFF0C\u63D0\u4EA4\u7ED9\u8BE5\u5206\u652F\u7684 output \u5FC5\u987B\u5305\u542B questions \u6570\u7EC4\u4E14\u81F3\u5C11\u4E00\u4E2A\u9898\u76EE\u5E26 question \u5B57\u6BB5\u3002",inputSchema:{type:"object",properties:{},required:[]}},L={name:"create_task_instance_comment",description:"\u4E3A\u5F53\u524D\u6B63\u5728\u5904\u7406\u7684\u6D41\u7A0B\u7EBF\u5B9E\u4F8B\u521B\u5EFA\u4E00\u6761\u5B9E\u4F8B\u7EA7\u7559\u8A00\u3002\u4EC5\u5141\u8BB8\u7531\u540E\u53F0\u9759\u9ED8\u62A2\u5360\u540E\u6B63\u5728\u5904\u7406\u8BE5\u5B9E\u4F8B\u8282\u70B9\u7684 Agent \u8C03\u7528\uFF1B\u5F53\u9700\u8981\u544A\u77E5\u540E\u7EED\u8282\u70B9\u9700\u8981\u6CE8\u610F\u7684\u70B9\u65F6\u4F7F\u7528\u7559\u8A00\u8FDB\u884C\u7559\u8A00\uFF1B\u7559\u8A00\u4F1A\u5728\u5B9E\u4F8B\u5217\u8868\u201C\u67E5\u770B\u7559\u8A00\u201D\u548C\u540E\u7EED my_task \u8FD4\u56DE\u4E2D\u5C55\u793A\u3002",inputSchema:{type:"object",properties:{taskInstanceId:{type:"string",description:"\u6D41\u7A0B\u7EBF\u4EFB\u52A1\u5B9E\u4F8BID\uFF08\u4ECE my_task \u8FD4\u56DE\u4E2D\u83B7\u53D6\uFF09"},content:{type:"string",description:"\u7559\u8A00\u5185\u5BB9"}},required:["taskInstanceId","content"]}},S={name:"submit_task_result",description:`\u63D0\u4EA4\u6D41\u7A0B\u7EBF\u4EFB\u52A1\u7684\u6267\u884C\u7ED3\u679C\u3002\u5B8C\u6210\u4EFB\u52A1\u540E\u8C03\u7528\u6B64\u5DE5\u5177\uFF0C\u8F93\u51FA\u5C06\u4F20\u9012\u7ED9\u4E0B\u4E00\u4E2A\u8282\u70B9\u3002outputPayload \u5FC5\u987B\u9075\u5FAA my_task \u8FD4\u56DE\u7684 requiredOutput\uFF1A\u6709\u540E\u7EE7\u5206\u652F\u65F6\u5FC5\u987B\u662F JSON \u6570\u7EC4\uFF0C\u6BCF\u9879\u5305\u542B targetNodeId \u548C output\u3002\u82E5\u76EE\u6807\u5206\u652F\u662F HUMAN \u8282\u70B9\uFF0Coutput \u5FC5\u987B\u662F JSON \u5BF9\u8C61\u5E76\u5305\u542B\u975E\u7A7A questions \u6570\u7EC4\uFF0Cquestions \u81F3\u5C11\u4E00\u4E2A\u9898\u76EE\u5FC5\u987B\u5305\u542B\u5B57\u7B26\u4E32 question \u5B57\u6BB5\u3002
21
+ \u63D0\u4EA4\u65F6\u8BF7\u4E00\u5E76\u4F20\u5165 changeLog\uFF08\u672C\u6B21\u4EFB\u52A1\u5904\u7406\u671F\u95F4\u4EA7\u751F\u7684\u6587\u4EF6/\u5185\u5BB9\u53D8\u66F4\u65E5\u5FD7\uFF09\uFF0C\u7528\u4E8E\u300CAI \u56DE\u9000\u300D\u7CBE\u786E\u8FD8\u539F\uFF1A\u6BCF\u9879\u5305\u542B operation(CREATE|UPDATE|DELETE|READ)\u3001path(\u76F8\u5BF9\u5DE5\u4F5C\u533A\u8DEF\u5F84)\u3001\u53EF\u9009 targetType/summary/beforeHash/afterHash/metadata\u3002\u672A\u8BB0\u5F55\u53D8\u66F4\u4F1A\u5BFC\u81F4 AI \u56DE\u9000\u7F3A\u5C11\u4F9D\u636E\u3002`,inputSchema:{type:"object",properties:{nodeId:{type:"string",description:"\u4EFB\u52A1\u8282\u70B9ID\uFF08\u4ECE my_task \u8FD4\u56DE\u7684\u4EFB\u52A1\u4FE1\u606F\u4E2D\u83B7\u53D6\uFF09"},outputPayload:{type:"string",description:'\u4EFB\u52A1\u6267\u884C\u7ED3\u679C\u7684 JSON \u5B57\u7B26\u4E32\u3002\u5FC5\u987B\u6309 my_task.requiredOutput \u9009\u62E9\u76EE\u6807\u5206\u652F\uFF0C\u4F8B\u5982 [{"targetNodeId":"<\u76EE\u6807\u8282\u70B9\u6A21\u677FID>","output":{...}}]\uFF1B\u63D0\u4EA4\u5230 HUMAN \u8282\u70B9\u65F6 output \u5FC5\u987B\u5F62\u5982 {"questions":[{"question":"\u8BF7\u786E\u8BA4...","options":[{"label":"\u901A\u8FC7"}]}]}\u3002'},changeLog:{type:"array",description:"\u53EF\u9009\u3002\u672C\u6B21\u4EFB\u52A1\u5904\u7406\u671F\u95F4\u4EA7\u751F\u7684\u6587\u4EF6/\u5185\u5BB9\u53D8\u66F4\u65E5\u5FD7\uFF0C\u7528\u4E8E AI \u56DE\u9000\u3002\u6BCF\u9879: { operation: 'CREATE'|'UPDATE'|'DELETE'|'READ', targetType?: string, path: string, summary?: string, beforeHash?: string, afterHash?: string, metadata?: string }\u3002\u5EFA\u8BAE\u5728\u5B8C\u6210\u4EFB\u52A1\u3001\u8C03\u7528 submit_task_result \u65F6\u4E00\u5E76\u63D0\u4EA4\u3002",items:{type:"object",properties:{operation:{type:"string",enum:["CREATE","UPDATE","DELETE","READ"],description:"\u53D8\u66F4\u64CD\u4F5C\u7C7B\u578B"},targetType:{type:"string",description:"\u53D8\u66F4\u76EE\u6807\u7C7B\u578B\uFF0C\u7F3A\u7701\u89C6\u4E3A FILE"},path:{type:"string",description:"\u53D8\u66F4\u6587\u4EF6/\u8D44\u6E90\u7684\u76F8\u5BF9\u8DEF\u5F84"},summary:{type:"string",description:"\u53D8\u66F4\u6458\u8981\u8BF4\u660E"},beforeHash:{type:"string",description:"\u53D8\u66F4\u524D\u5185\u5BB9 hash\uFF08\u5DEE\u5F02\u56DE\u9000\u7528\uFF09"},afterHash:{type:"string",description:"\u53D8\u66F4\u540E\u5185\u5BB9 hash\uFF08\u5DEE\u5F02\u56DE\u9000\u7528\uFF09"},metadata:{type:"string",description:"\u9644\u52A0\u5143\u6570\u636E JSON \u5B57\u7B26\u4E32\uFF08\u5982 cacheKey\uFF09"}},required:["operation","path"]}}},required:["nodeId","outputPayload"]}},M={name:"start_task_rollback",description:"\u5C06\u5206\u914D\u7ED9\u5F53\u524D Agent \u7684\u6D41\u7A0B\u7EBF AI \u56DE\u9000\u4EFB\u52A1\u6807\u8BB0\u4E3A\u56DE\u9000\u4E2D\u3002\u6536\u5230\u56DE\u9000\u59D4\u6258\u540E\uFF0C\u5F00\u59CB\u5B9E\u9645\u56DE\u9000\u524D\u8C03\u7528\u3002",inputSchema:{type:"object",properties:{rollbackTaskId:{type:"string",description:"AI \u56DE\u9000\u4EFB\u52A1ID\uFF08\u4ECE\u56DE\u9000\u59D4\u6258\u6D88\u606F\u4E2D\u83B7\u53D6\uFF09\u3002"}},required:["rollbackTaskId"]}},D={name:"finish_task_rollback",description:"\u5C06\u5206\u914D\u7ED9\u5F53\u524D Agent \u7684\u6D41\u7A0B\u7EBF AI \u56DE\u9000\u4EFB\u52A1\u6807\u8BB0\u4E3A\u5DF2\u56DE\u9000\uFF0C\u5E76\u8BB0\u5F55\u56DE\u9000\u7ED3\u679C\u3002\u5B8C\u6210\u56DE\u9000\u540E\u8C03\u7528\u3002",inputSchema:{type:"object",properties:{rollbackTaskId:{type:"string",description:"AI \u56DE\u9000\u4EFB\u52A1ID\uFF08\u4ECE\u56DE\u9000\u59D4\u6258\u6D88\u606F\u4E2D\u83B7\u53D6\uFF09\u3002"},resultMessage:{type:"string",description:"\u56DE\u9000\u7ED3\u679C\u8BF4\u660E\uFF08\u53EF\u9009\uFF09\u3002"}},required:["rollbackTaskId"]}},b={name:"reject_task",description:"\u62D2\u7EDD\u5BF9\u524D\u5E8F\u8282\u70B9\u8F93\u51FA\u7684\u4EFB\u52A1\uFF0C\u4EFB\u52A1\u5C06\u56DE\u9000\u5230\u524D\u4E00\u4E2A\u8282\u70B9\u91CD\u65B0\u6267\u884C\u3002\u9002\u7528\u4E8E\u524D\u5E8F\u8F93\u51FA\u4E0D\u6EE1\u8DB3\u8981\u6C42\u6216\u65E0\u6CD5\u7EE7\u7EED\u6267\u884C\u7684\u573A\u666F\u3002",inputSchema:{type:"object",properties:{nodeId:{type:"string",description:"\u4EFB\u52A1\u8282\u70B9ID\uFF08\u4ECE my_task \u8FD4\u56DE\u7684\u4EFB\u52A1\u4FE1\u606F\u4E2D\u83B7\u53D6\uFF09"},reason:{type:"string",description:"\u62D2\u7EDD\u539F\u56E0"}},required:["nodeId","reason"]}},h={name:"terminate_task",description:"\u7EC8\u6B62\u6574\u4E2A\u6D41\u7A0B\u7EBF\u4EFB\u52A1\u3002\u7EC8\u6B62\u540E\u4EFB\u52A1\u72B6\u6001\u53D8\u4E3A TERMINATED\uFF08\u5DF2\u7EC8\u6B62\uFF09\uFF0C\u6240\u6709\u672A\u5B8C\u6210\u7684\u8282\u70B9\u4E5F\u5C06\u88AB\u7EC8\u6B62\uFF0C\u4EFB\u52A1\u4E0D\u518D\u8FDB\u884C\u540E\u7EED\u6D41\u8F6C\u3002\u9002\u7528\u4E8E\u4EFB\u52A1\u65E0\u6CD5\u7EE7\u7EED\u6267\u884C\u6216\u9700\u8981\u5F3A\u5236\u505C\u6B62\u7684\u573A\u666F\u3002\u6CE8\u610F\uFF1A\u7EC8\u6B62\u64CD\u4F5C\u4E0D\u53EF\u9006\uFF0C\u8BF7\u8C28\u614E\u4F7F\u7528\u3002",inputSchema:{type:"object",properties:{taskInstanceId:{type:"string",description:"\u4EFB\u52A1\u5B9E\u4F8BID\uFF08\u4ECE my_task \u8FD4\u56DE\u7684\u4EFB\u52A1\u4FE1\u606F\u4E2D\u83B7\u53D6 taskInstanceId\uFF09"},reason:{type:"string",description:"\u7EC8\u6B62\u539F\u56E0"}},required:["taskInstanceId","reason"]}},N={name:"get_debug_log_config",description:`\u83B7\u53D6 Agent Debug \u65E5\u5FD7\u7CFB\u7EDF\u7684\u5199\u5165\u914D\u7F6E\u3002\u8FD4\u56DE\u5199\u5165\u7AEF\u70B9 URL\u3001\u5F53\u524D Agent \u6240\u5C5E\u9879\u76EE\u540D\u3001\u4EE5\u53CA\u65E5\u5FD7\u5199\u5165\u5BC6\u94A5\uFF08logWriteKey\uFF09\u3002
22
+
23
+ ## \u5982\u4F55\u5199\u5165\u65E5\u5FD7
24
+ \u4E1A\u52A1\u9879\u76EE\u8FD0\u884C\u65F6\u901A\u8FC7 HTTP POST \u8BF7\u6C42\u5199\u5165\u65E5\u5FD7\uFF1A
25
+ - URL: \u8FD4\u56DE\u7684 writeUrl
26
+ - Header: X-API-Key: <\u8FD4\u56DE\u7684 logWriteKey>
27
+ - Body (JSON):
28
+ - projectId (\u5FC5\u586B): \u8FD4\u56DE\u7684 projectId
29
+ - businessLine (\u5FC5\u586B): \u4E1A\u52A1\u7EBF\u540D\u79F0
30
+ - module (\u53EF\u9009): \u6A21\u5757\u540D\uFF0C\u9ED8\u8BA4 general
31
+ - level (\u53EF\u9009): DEBUG / INFO / WARN / ERROR\uFF0C\u9ED8\u8BA4 INFO
32
+ - detail (\u53EF\u9009): \u65E5\u5FD7\u8BE6\u60C5\u5185\u5BB9
33
+
34
+ \u5F53 logWriteKey \u975E\u7A7A\u65F6\uFF0C\u4F7F\u7528\u8BE5 key \u5373\u53EF\u76F4\u63A5\u5199\u5165\u65E5\u5FD7\uFF0C\u65E0\u9700\u9879\u76EE\u6210\u5458\u6743\u9650\u3002
35
+ \u5F53 logWriteKey \u4E3A\u7A7A\u65F6\uFF0C\u9700\u4F7F\u7528\u9879\u76EE\u6210\u5458\u7684 API Key\uFF08\u9700\u9879\u76EE\u6210\u5458\u6743\u9650\uFF09\u3002`,inputSchema:{type:"object",properties:{},required:[]}},C={name:"query_debug_logs",description:`\u5206\u9875\u67E5\u8BE2 Agent Debug \u65E5\u5FD7\uFF08\u6309\u65F6\u95F4\u5012\u5E8F\uFF09\u3002\u7528\u4E8E\u6392\u67E5\u4E1A\u52A1\u9879\u76EE\u8FD0\u884C\u65F6\u95EE\u9898\u3002
36
+
37
+ \u8FD4\u56DE\u5B57\u6BB5\uFF1Aid\u3001projectId\u3001businessLine\u3001module\u3001level\u3001detail\u3001createdAt\u3002`,inputSchema:{type:"object",properties:{projectId:{type:"string",description:"\u9879\u76EE ID\uFF08\u5FC5\u586B\uFF09"},businessLine:{type:"string",description:"\u4E1A\u52A1\u7EBF\u540D\u79F0\uFF08\u5FC5\u586B\uFF09"},module:{type:"string",description:"\u6A21\u5757\u540D\uFF08\u53EF\u9009\uFF09"},level:{type:"string",description:"\u65E5\u5FD7\u7EA7\u522B\uFF1ADEBUG / INFO / WARN / ERROR\uFF08\u53EF\u9009\uFF09",enum:["DEBUG","INFO","WARN","ERROR"]},startTime:{type:"string",description:"\u8D77\u59CB\u65F6\u95F4\uFF0CISO \u683C\u5F0F\u5982 2026-08-01T00:00:00\uFF08\u53EF\u9009\uFF09"},endTime:{type:"string",description:"\u7ED3\u675F\u65F6\u95F4\uFF0CISO \u683C\u5F0F\u5982 2026-08-02T00:00:00\uFF08\u53EF\u9009\uFF09"},offset:{type:"number",description:"\u504F\u79FB\u91CF\uFF0C\u9ED8\u8BA4 0"},limit:{type:"number",description:"\u6BCF\u9875\u6761\u6570\uFF0C\u9ED8\u8BA4 20\uFF0C\u6700\u5927 200"}},required:["projectId","businessLine"]}},P={name:"query_file_changes_history",description:`\u5206\u9875\u67E5\u8BE2\u6587\u4EF6\u53D8\u66F4\u5386\u53F2\uFF08\u6309\u65F6\u95F4\u5012\u5E8F\uFF09\u3002\u7528\u4E8E\u4E86\u89E3\u5176\u5B83 Agent \u5BF9\u6587\u4EF6\u505A\u8FC7\u54EA\u4E9B\u4FEE\u6539\u3001\u4FEE\u6539\u539F\u56E0\u4E0E\u5F53\u524D\u72B6\u6001\uFF0C\u652F\u6301\u6309 \u89D2\u8272/\u5B9E\u4F8B/\u6587\u4EF6\u540D/\u64CD\u4F5C/\u72B6\u6001/\u4EFB\u52A1\u5B9E\u4F8B/\u65F6\u95F4\u8303\u56F4 \u8FC7\u6EE4\u3002
38
+
39
+ \u67E5\u8BE2\u8303\u56F4\u81EA\u52A8\u9650\u5B9A\u4E3A\u5F53\u524D Agent \u6240\u5C5E\u9879\u76EE\uFF08\u65E0\u9700\u4F20 projectId\uFF09\u3002agentId \u4E0D\u4F20\u8868\u793A\u67E5\u8BE2\u5F53\u524D\u9879\u76EE\u4E0B\u6240\u6709 Agent \u7684\u53D8\u66F4\u8BB0\u5F55\uFF0C\u4F20\u5176\u5B83 Agent \u5B9E\u4F8B ID \u65F6\u4EC5\u9650\u540C\u9879\u76EE\u5185\uFF08\u670D\u52A1\u7AEF\u6821\u9A8C\uFF0C\u9879\u76EE\u5916 Agent \u4F1A\u88AB\u62D2\u7EDD\uFF09\u3002
40
+
41
+ \u8FD4\u56DE\u5B57\u6BB5\uFF1Aid\u3001projectId\u3001roleName\u3001instanceName\u3001agentId\u3001operation\uFF08CREATE/UPDATE/DELETE\uFF09\u3001targetPath\u3001fullPath\u3001reason\u3001status\uFF08APPLIED/REVERTED/REVERT_FAILED\uFF09\u3001createdAt\u3001revertedAt\u3001revertedBy\u3002`,inputSchema:{type:"object",properties:{roleId:{type:"string",description:"\u89D2\u8272\u5B9A\u4E49 ID\uFF08\u53EF\u9009\uFF09"},agentId:{type:"string",description:"Agent \u5B9E\u4F8B ID\uFF08\u53EF\u9009\uFF1B\u4E0D\u4F20=\u67E5\u8BE2\u5F53\u524D\u9879\u76EE\u4E0B\u6240\u6709 Agent\uFF1B\u4F20\u5176\u5B83 Agent \u65F6\u670D\u52A1\u7AEF\u6821\u9A8C\u5176\u4E0E\u8C03\u7528\u8005\u540C\u9879\u76EE\uFF09"},fileName:{type:"string",description:"\u6587\u4EF6\u540D\uFF08\u53EF\u9009\uFF0C\u6A21\u7CCA\u5339\u914D\uFF09"},operation:{type:"string",description:"\u64CD\u4F5C\u7C7B\u578B\uFF1ACREATE / UPDATE / DELETE\uFF08\u53EF\u9009\uFF09",enum:["CREATE","UPDATE","DELETE"]},status:{type:"string",description:"\u8BB0\u5F55\u72B6\u6001\uFF1AAPPLIED\uFF08\u5DF2\u751F\u6548\uFF09/ REVERTED\uFF08\u5DF2\u64A4\u9500\uFF09/ REVERT_FAILED\uFF08\u64A4\u9500\u5931\u8D25\uFF09\uFF08\u53EF\u9009\uFF09",enum:["APPLIED","REVERTED","REVERT_FAILED"]},taskInstanceId:{type:"string",description:"\u4EFB\u52A1\u5B9E\u4F8B ID\uFF08\u53EF\u9009\uFF09"},startTime:{type:"string",description:"\u8D77\u59CB\u65F6\u95F4\uFF0CISO \u683C\u5F0F\u5982 2026-08-01T00:00:00\uFF08\u53EF\u9009\uFF09"},endTime:{type:"string",description:"\u7ED3\u675F\u65F6\u95F4\uFF0CISO \u683C\u5F0F\u5982 2026-08-02T00:00:00\uFF08\u53EF\u9009\uFF09"},page:{type:"number",description:"\u9875\u7801\uFF0C\u9ED8\u8BA4 1"},pageSize:{type:"number",description:"\u6BCF\u9875\u6761\u6570\uFF0C\u9ED8\u8BA4 20"}},required:[]}},q=new Set(["create_memory","read_memory","update_memory","delete_memory","search_memory","list_memories","get_memory_stats","list_memories_by_file","memory_recurrence","memory_recurrence_complete"]),j=[_,E,m,y,O,g,u,T,I,l,R,A,L,S,M,D,b,h,e,n,p,t,s,i,r,o,a,c,d,N,C,P];export{J as ABANDON_MEMORY_UPDATE_TOOL,G as CREATE_MEMORY_TOOL,L as CREATE_TASK_INSTANCE_COMMENT_TOOL,x as DELETE_MEMORY_TOOL,D as FINISH_TASK_ROLLBACK_TOOL,_ as GET_COLLEAGUE_TOOL,N as GET_DEBUG_LOG_CONFIG_TOOL,l as GET_DM_HISTORY_TOOL,R as GET_GROUP_HISTORY_TOOL,E as GET_GROUP_ROOMS_TOOL,H as GET_MEMORY_STATS_TOOL,I as GET_MESSAGE_TOOL,m as GET_PROFILE_TOOL,O as HIRE_COLLEAGUES_BATCH_TOOL,y as HIRE_COLLEAGUE_TOOL,F as LIST_MEMORIES_BY_FILE_TOOL,f as LIST_MEMORIES_TOOL,j as MCP_TOOLS,W as MEMORY_RECURRENCE_COMPLETE_TOOL,V as MEMORY_RECURRENCE_TOOL,q as MEMORY_TOOL_NAMES,A as MY_TASK_TOOL,T as POLL_MESSAGE_TOOL,C as QUERY_DEBUG_LOGS_TOOL,P as QUERY_FILE_CHANGES_HISTORY_TOOL,K as READ_MEMORY_TOOL,b as REJECT_TASK_TOOL,w as SEARCH_MEMORY_TOOL,g as SEND_GROUP_TOOL,u as SEND_PRIVATE_TOOL,M as START_TASK_ROLLBACK_TOOL,S as SUBMIT_TASK_RESULT_TOOL,h as TERMINATE_TASK_TOOL,B as UPDATE_MEMORY_TOOL};
22
42
 
@@ -1,6 +1,6 @@
1
1
  import assert from "node:assert/strict";
2
2
  import { describe, it } from "node:test";
3
- import { CREATE_TASK_INSTANCE_COMMENT_TOOL, UPDATE_MEMORY_TOOL } from "./mcp-tools.js";
3
+ import { CREATE_TASK_INSTANCE_COMMENT_TOOL, MCP_TOOLS, QUERY_FILE_CHANGES_HISTORY_TOOL, UPDATE_MEMORY_TOOL } from "./mcp-tools.js";
4
4
  describe("create_task_instance_comment tool", () => {
5
5
  it("documents that follow-up node notes should be left as task comments", () => {
6
6
  assert.match(CREATE_TASK_INSTANCE_COMMENT_TOOL.description ?? "", /当需要告知后续节点需要注意的点时使用留言进行留言/);
@@ -32,6 +32,22 @@ describe("update_memory tool", () => {
32
32
  assert.match(String(appendSchema.description), /不要传 old_string\/new_string/);
33
33
  });
34
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", "operation", "status", "taskInstanceId", "startTime", "endTime", "page", "pageSize"]) {
47
+ assertRecord(schema.properties[field], `${field} schema`);
48
+ }
49
+ });
50
+ });
35
51
  function assertNoForbiddenTopLevelSchemaKeyword(schema) {
36
52
  const forbiddenTopLevelKeywords = ["oneOf", "anyOf", "allOf", "enum", "const", "not"];
37
53
  for (const keyword of forbiddenTopLevelKeywords) {
@@ -7,7 +7,7 @@ describe('claimRuntimeLaunchBinding', () => {
7
7
  const agentConfig = {
8
8
  roleName: '',
9
9
  agentId: 'agent-a',
10
- projectName: 'default',
10
+ projectId: 'default',
11
11
  workspacePath: 'C:/repo/demo',
12
12
  prompt: '',
13
13
  describe: '',
@@ -60,7 +60,7 @@ export interface CompactionResult {
60
60
  export interface AgentConfig {
61
61
  roleName: string;
62
62
  agentId?: string;
63
- projectName: string;
63
+ projectId: string;
64
64
  workspacePath: string;
65
65
  prompt: string;
66
66
  describe: string;
@@ -132,7 +132,7 @@ export interface RegisterResult {
132
132
  displayName: string;
133
133
  status: string;
134
134
  instanceName?: string;
135
- projectName?: string;
135
+ projectId?: string;
136
136
  workspacePath?: string;
137
137
  runtimeStatus?: string;
138
138
  runtimeSessionId?: string | null;
@@ -147,8 +147,10 @@ export interface OnlineUser {
147
147
  export interface OnlineAgent {
148
148
  id: string;
149
149
  displayName: string;
150
+
151
+ roleId?: string;
150
152
  roleName: string;
151
- projectName?: string;
153
+ projectId?: string;
152
154
  prompt: string;
153
155
  onlineSince: string;
154
156
  }
@@ -158,7 +160,7 @@ export interface OnlineListResponse {
158
160
  }
159
161
  export interface GroupRoomInfo {
160
162
  id: string;
161
- projectName: string;
163
+ projectId: string;
162
164
  roomType: "project" | "inner_group" | string;
163
165
  scopeRefId: string;
164
166
  name: string;
@@ -171,7 +173,7 @@ export interface GroupMessage {
171
173
  msgId: number;
172
174
  senderId: string;
173
175
  senderName: string;
174
- projectName?: string;
176
+ projectId?: string;
175
177
  roomId?: string;
176
178
  content: string;
177
179
  timestamp: string;
@@ -290,7 +292,7 @@ export interface SendDmResult {
290
292
  reply?: DirectMessage;
291
293
  }
292
294
  export interface WebSocketMessage<T = unknown> {
293
- type: "GROUP_MSG" | "DM_MSG" | "ONLINE_CHANGE" | "DM_REPLY" | "HEARTBEAT" | "PROFILE_INFO" | "AGENT_STATUS" | "MCP_NODE_LOG" | "MCP_NODE_LOG_BATCH" | "LOG_ACK" | "MESSAGE_ACK" | "TERMINAL_OUTPUT" | "TERMINAL_STATUS" | "GROUP_READ_RECEIPT" | "DM_READ_RECEIPT" | "AGENT_EVENTS_DELTA";
295
+ type: "GROUP_MSG" | "DM_MSG" | "ONLINE_CHANGE" | "DM_REPLY" | "HEARTBEAT" | "PROFILE_INFO" | "AGENT_CONFIG" | "AGENT_STATUS" | "MCP_NODE_LOG" | "MCP_NODE_LOG_BATCH" | "LOG_ACK" | "MESSAGE_ACK" | "TERMINAL_OUTPUT" | "TERMINAL_STATUS" | "GROUP_READ_RECEIPT" | "DM_READ_RECEIPT" | "AGENT_EVENTS_DELTA";
294
296
  data: T;
295
297
  timestamp: string;
296
298
  }
@@ -308,7 +310,7 @@ export interface ProfileInfo {
308
310
  displayName: string;
309
311
  roleName: string;
310
312
  instanceName?: string;
311
- projectName?: string;
313
+ projectId?: string;
312
314
  workspacePath?: string;
313
315
  prompt: string;
314
316
  globalAgentPrompt?: string;
@@ -324,7 +326,7 @@ export interface ProfileInfo {
324
326
  createdAt: string;
325
327
  }
326
328
  export interface HireColleagueArgs {
327
- projectName?: string;
329
+ projectId?: string;
328
330
  roleName?: string;
329
331
  newRoleName?: string;
330
332
  displayName?: string;
@@ -338,7 +340,7 @@ export interface HireColleagueArgs {
338
340
  }
339
341
  export type HireColleagueBatchItem = HireColleagueArgs;
340
342
  export interface HireColleaguesBatchArgs {
341
- projectName?: string;
343
+ projectId?: string;
342
344
  items: HireColleagueBatchItem[];
343
345
  }
344
346
  export interface StartTaskRollbackArgs {
@@ -353,7 +355,7 @@ export interface HiredColleagueResult {
353
355
  nickname?: string;
354
356
  displayName: string;
355
357
  roleName: string;
356
- projectName?: string;
358
+ projectId?: string;
357
359
  workspacePath?: string;
358
360
  runtimeBridgeBaseUrl?: string;
359
361
  prompt?: string;
@@ -392,7 +394,7 @@ export interface HireBatchItemResult {
392
394
  }
393
395
  export interface HireBatchResult {
394
396
  batchId: string;
395
- projectName?: string;
397
+ projectId?: string;
396
398
  summary: HireBatchSummary;
397
399
  results: HireBatchItemResult[];
398
400
  }
@@ -409,7 +411,7 @@ export interface SendPrivateArgs {
409
411
 
410
412
  export interface SendGroupArgs {
411
413
  content: string;
412
- projectName?: string;
414
+ projectId?: string;
413
415
  roomId?: string;
414
416
  }
415
417