aws-runtime-bridge 1.9.10 → 1.9.21

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 (132) hide show
  1. package/dist/adapter/AcodeSdkAdapter.d.ts +40 -0
  2. package/dist/adapter/AcodeSdkAdapter.d.ts.map +1 -1
  3. package/dist/adapter/AcodeSdkAdapter.js +376 -10
  4. package/dist/adapter/AcodeSdkAdapter.test.js +155 -8
  5. package/dist/adapter/ClaudeSdkAdapter.d.ts.map +1 -1
  6. package/dist/adapter/ClaudeSdkAdapter.js +17 -1
  7. package/dist/adapter/CodexSdkAdapter.d.ts.map +1 -1
  8. package/dist/adapter/CodexSdkAdapter.js +15 -1
  9. package/dist/adapter/OpencodeSdkAdapter.d.ts.map +1 -1
  10. package/dist/adapter/OpencodeSdkAdapter.js +56 -4
  11. package/dist/adapter/instance-ai-config-resolver.d.ts +49 -0
  12. package/dist/adapter/instance-ai-config-resolver.d.ts.map +1 -0
  13. package/dist/adapter/instance-ai-config-resolver.js +46 -0
  14. package/dist/adapter/types.d.ts +29 -2
  15. package/dist/adapter/types.d.ts.map +1 -1
  16. package/dist/index.js +5 -1
  17. package/dist/routes/dashboard.d.ts.map +1 -1
  18. package/dist/routes/dashboard.js +749 -15
  19. package/dist/routes/events.d.ts +7 -0
  20. package/dist/routes/events.d.ts.map +1 -0
  21. package/dist/routes/events.js +22 -0
  22. package/dist/routes/file-browser.d.ts +1 -1
  23. package/dist/routes/file-browser.d.ts.map +1 -1
  24. package/dist/routes/file-browser.js +25 -9
  25. package/dist/routes/file-snapshot.d.ts +10 -0
  26. package/dist/routes/file-snapshot.d.ts.map +1 -0
  27. package/dist/routes/file-snapshot.js +156 -0
  28. package/dist/routes/git.d.ts +10 -0
  29. package/dist/routes/git.d.ts.map +1 -1
  30. package/dist/routes/git.js +405 -2
  31. package/dist/routes/git.test.js +39 -2
  32. package/dist/routes/instance.js +3 -1
  33. package/dist/routes/memory.d.ts +3 -0
  34. package/dist/routes/memory.d.ts.map +1 -1
  35. package/dist/routes/memory.js +3 -0
  36. package/dist/routes/terminal.d.ts +17 -3
  37. package/dist/routes/terminal.d.ts.map +1 -1
  38. package/dist/routes/terminal.js +464 -47
  39. package/dist/routes/terminal.test.js +37 -9
  40. package/dist/services/agent-event-store.d.ts +60 -0
  41. package/dist/services/agent-event-store.d.ts.map +1 -0
  42. package/dist/services/agent-event-store.js +68 -0
  43. package/dist/services/event-delta-pusher.d.ts +40 -0
  44. package/dist/services/event-delta-pusher.d.ts.map +1 -0
  45. package/dist/services/event-delta-pusher.js +95 -0
  46. package/dist/services/fileSnapshotStore.d.ts +96 -0
  47. package/dist/services/fileSnapshotStore.d.ts.map +1 -0
  48. package/dist/services/fileSnapshotStore.js +500 -0
  49. package/dist/services/instance-ai-config-service.d.ts +49 -0
  50. package/dist/services/instance-ai-config-service.d.ts.map +1 -0
  51. package/dist/services/instance-ai-config-service.js +174 -0
  52. package/dist/services/panel-auth.d.ts +8 -0
  53. package/dist/services/panel-auth.d.ts.map +1 -1
  54. package/dist/services/panel-auth.js +8 -0
  55. package/dist/services/ring-buffer.d.ts +67 -0
  56. package/dist/services/ring-buffer.d.ts.map +1 -0
  57. package/dist/services/ring-buffer.js +103 -0
  58. package/dist/services/session-output.d.ts +49 -3
  59. package/dist/services/session-output.d.ts.map +1 -1
  60. package/dist/services/session-output.js +115 -2
  61. package/dist/utils/instance-ai-config-debug-logger.d.ts +37 -0
  62. package/dist/utils/instance-ai-config-debug-logger.d.ts.map +1 -0
  63. package/dist/utils/instance-ai-config-debug-logger.js +63 -0
  64. package/dist/utils/logger.d.ts +18 -0
  65. package/dist/utils/logger.d.ts.map +1 -1
  66. package/dist/utils/logger.js +48 -4
  67. package/package/acode/dist/built-in-file-tools.d.ts +1 -1
  68. package/package/acode/dist/built-in-file-tools.d.ts.map +1 -1
  69. package/package/acode/dist/built-in-file-tools.js +5 -3
  70. package/package/acode/dist/builtins/commandArtifacts.d.ts +8 -1
  71. package/package/acode/dist/builtins/commandArtifacts.d.ts.map +1 -1
  72. package/package/acode/dist/builtins/commandArtifacts.js +24 -4
  73. package/package/acode/dist/builtins/shellCommandResult.d.ts +1 -0
  74. package/package/acode/dist/builtins/shellCommandResult.d.ts.map +1 -1
  75. package/package/acode/dist/builtins/shellCommandResult.js +3 -3
  76. package/package/acode/dist/builtins/shellCommandRunner.d.ts +1 -0
  77. package/package/acode/dist/builtins/shellCommandRunner.d.ts.map +1 -1
  78. package/package/acode/dist/builtins/shellCommandRunner.js +1 -0
  79. package/package/acode/dist/builtins/shellOutputDecoder.d.ts +25 -2
  80. package/package/acode/dist/builtins/shellOutputDecoder.d.ts.map +1 -1
  81. package/package/acode/dist/builtins/shellOutputDecoder.js +69 -5
  82. package/package/acode/dist/cli.js +2 -0
  83. package/package/acode/dist/runtime.d.ts.map +1 -1
  84. package/package/acode/dist/runtime.js +156 -5
  85. package/package/acode/dist/types.d.ts +1 -0
  86. package/package/acode/dist/types.d.ts.map +1 -1
  87. package/package/aws-client-agent-mcp/dist/agent-client.d.ts +10 -3
  88. package/package/aws-client-agent-mcp/dist/agent-client.d.ts.map +1 -1
  89. package/package/aws-client-agent-mcp/dist/agent-client.js +33 -11
  90. package/package/aws-client-agent-mcp/dist/agent-client.js.map +1 -1
  91. package/package/aws-client-agent-mcp/dist/context-manager.d.ts +136 -0
  92. package/package/aws-client-agent-mcp/dist/context-manager.d.ts.map +1 -0
  93. package/package/aws-client-agent-mcp/dist/context-manager.js +473 -0
  94. package/package/aws-client-agent-mcp/dist/context-manager.js.map +1 -0
  95. package/package/aws-client-agent-mcp/dist/context-manager.test.d.ts +6 -0
  96. package/package/aws-client-agent-mcp/dist/context-manager.test.d.ts.map +1 -0
  97. package/package/aws-client-agent-mcp/dist/context-manager.test.js +307 -0
  98. package/package/aws-client-agent-mcp/dist/context-manager.test.js.map +1 -0
  99. package/package/aws-client-agent-mcp/dist/http-client.d.ts +11 -0
  100. package/package/aws-client-agent-mcp/dist/http-client.d.ts.map +1 -1
  101. package/package/aws-client-agent-mcp/dist/http-client.js +67 -0
  102. package/package/aws-client-agent-mcp/dist/http-client.js.map +1 -1
  103. package/package/aws-client-agent-mcp/dist/mcp-server.d.ts +166 -10
  104. package/package/aws-client-agent-mcp/dist/mcp-server.d.ts.map +1 -1
  105. package/package/aws-client-agent-mcp/dist/mcp-server.js +933 -41
  106. package/package/aws-client-agent-mcp/dist/mcp-server.js.map +1 -1
  107. package/package/aws-client-agent-mcp/dist/mcp-server.test.js +150 -130
  108. package/package/aws-client-agent-mcp/dist/mcp-server.test.js.map +1 -1
  109. package/package/aws-client-agent-mcp/dist/mcp-tools.d.ts +15 -1
  110. package/package/aws-client-agent-mcp/dist/mcp-tools.d.ts.map +1 -1
  111. package/package/aws-client-agent-mcp/dist/mcp-tools.js +62 -2
  112. package/package/aws-client-agent-mcp/dist/mcp-tools.js.map +1 -1
  113. package/package/aws-client-agent-mcp/dist/memory-store.d.ts +58 -1
  114. package/package/aws-client-agent-mcp/dist/memory-store.d.ts.map +1 -1
  115. package/package/aws-client-agent-mcp/dist/memory-store.js +246 -15
  116. package/package/aws-client-agent-mcp/dist/memory-store.js.map +1 -1
  117. package/package/aws-client-agent-mcp/dist/memory-tools.d.ts +8 -0
  118. package/package/aws-client-agent-mcp/dist/memory-tools.d.ts.map +1 -1
  119. package/package/aws-client-agent-mcp/dist/memory-tools.js +106 -2
  120. package/package/aws-client-agent-mcp/dist/memory-tools.js.map +1 -1
  121. package/package/aws-client-agent-mcp/dist/server-memory-store.d.ts +7 -1
  122. package/package/aws-client-agent-mcp/dist/server-memory-store.d.ts.map +1 -1
  123. package/package/aws-client-agent-mcp/dist/server-memory-store.js +18 -0
  124. package/package/aws-client-agent-mcp/dist/server-memory-store.js.map +1 -1
  125. package/package/aws-client-agent-mcp/dist/types.d.ts +103 -2
  126. package/package/aws-client-agent-mcp/dist/types.d.ts.map +1 -1
  127. package/package/aws-client-agent-mcp/dist/types.js.map +1 -1
  128. package/package/aws-client-agent-mcp/dist/websocket-client.d.ts +27 -2
  129. package/package/aws-client-agent-mcp/dist/websocket-client.d.ts.map +1 -1
  130. package/package/aws-client-agent-mcp/dist/websocket-client.js +123 -5
  131. package/package/aws-client-agent-mcp/dist/websocket-client.js.map +1 -1
  132. package/package.json +1 -1
@@ -1,5 +1,5 @@
1
1
  import { EventEmitter } from "node:events";
2
- import { describe, expect, it, vi } from "vitest";
2
+ import { describe, expect, it, vi, beforeEach, afterEach } from "vitest";
3
3
  import { AcodeSdkAdapter, isFailedAcodeTurnComplete, } from "./AcodeSdkAdapter.js";
4
4
  class FailedTurnRuntime extends EventEmitter {
5
5
  constructor(config) {
@@ -837,7 +837,7 @@ describe("AcodeSdkAdapter turn completion state", () => {
837
837
  type: "turn_complete",
838
838
  data: { usage: { inputTokens: 31, outputTokens: 58 } },
839
839
  });
840
- expect(statuses.at(-1)).toEqual({
840
+ expect(statuses.at(-1)).toMatchObject({
841
841
  status: "waiting_input",
842
842
  usage: { inputTokens: 31, outputTokens: 58 },
843
843
  });
@@ -862,7 +862,7 @@ describe("AcodeSdkAdapter turn completion state", () => {
862
862
  });
863
863
  await adapter.sendMessage("session-reset-context", "finish work");
864
864
  expect(adapter.getConversation("session-reset-context")).toHaveLength(2);
865
- expect(statuses.at(-1)).toEqual({
865
+ expect(statuses.at(-1)).toMatchObject({
866
866
  status: "waiting_input",
867
867
  usage: { inputTokens: 7, outputTokens: 3 },
868
868
  });
@@ -872,7 +872,7 @@ describe("AcodeSdkAdapter turn completion state", () => {
872
872
  expect(adapter.hasSession("session-reset-context")).toBe(true);
873
873
  expect(adapter.getSessionStatus("session-reset-context")).toBe("waiting_input");
874
874
  expect(adapter.getConversation("session-reset-context")).toEqual([]);
875
- expect(statuses.at(-1)).toEqual({
875
+ expect(statuses.at(-1)).toMatchObject({
876
876
  status: "waiting_input",
877
877
  usage: { inputTokens: 0, outputTokens: 0 },
878
878
  });
@@ -1157,10 +1157,12 @@ describe("AcodeSdkAdapter turn completion state", () => {
1157
1157
  requestBody: '{"model":"test-model"}',
1158
1158
  },
1159
1159
  });
1160
- expect(statuses).toContainEqual({
1161
- status: "thinking",
1162
- usage: { inputTokens: 6800, outputTokens: 0 },
1163
- });
1160
+ expect(statuses).toEqual(expect.arrayContaining([
1161
+ expect.objectContaining({
1162
+ status: "thinking",
1163
+ usage: expect.objectContaining({ inputTokens: 6800, outputTokens: 0 }),
1164
+ }),
1165
+ ]));
1164
1166
  });
1165
1167
  it("forwards ACode thinking deltas as realtime thinking provider events", async () => {
1166
1168
  const adapter = new AcodeSdkAdapter();
@@ -1851,3 +1853,148 @@ describe("AcodeSdkAdapter turn completion state", () => {
1851
1853
  }
1852
1854
  });
1853
1855
  });
1856
+ /**
1857
+ * 用于验证 AcodeSdkAdapter 在 startSession 阶段传给 ACodeRuntime 的 config 是否符合
1858
+ * "instance > global > default" 优先级。Stub 会在构造时把 model / configPath 缓存到
1859
+ * lastConfig 供断言读取。
1860
+ */
1861
+ class CapturingConfigRuntime extends EventEmitter {
1862
+ constructor(config) {
1863
+ super();
1864
+ CapturingConfigRuntime.lastConfig = { ...config };
1865
+ }
1866
+ async start() { }
1867
+ async submit(_message) { }
1868
+ async abort() { }
1869
+ async stop() { }
1870
+ }
1871
+ describe("AcodeSdkAdapter instance AI configuration priority", () => {
1872
+ let tempDir;
1873
+ let globalAcodePath;
1874
+ let perInstanceAcodePath;
1875
+ beforeEach(async () => {
1876
+ const { mkdir, mkdtemp, writeFile } = await import("node:fs/promises");
1877
+ const os = await import("node:os");
1878
+ const path = await import("node:path");
1879
+ tempDir = await mkdtemp(path.join(os.tmpdir(), "acode-adapter-ai-"));
1880
+ globalAcodePath = path.join(tempDir, "global", ".acode", "config.json");
1881
+ perInstanceAcodePath = path.join(tempDir, "instance-acode-config.json");
1882
+ await mkdir(path.dirname(globalAcodePath), { recursive: true });
1883
+ await writeFile(globalAcodePath, JSON.stringify({
1884
+ provider: {
1885
+ default: {
1886
+ model: "global-model",
1887
+ options: {
1888
+ baseURL: "https://global.example.com/v1",
1889
+ apiKey: "sk-global",
1890
+ },
1891
+ },
1892
+ },
1893
+ }), "utf-8");
1894
+ process.env.AWS_RUNTIME_HOME_DIR = tempDir;
1895
+ process.env.AWS_RUNTIME_ACODE_CONFIG_FILE = globalAcodePath;
1896
+ });
1897
+ afterEach(async () => {
1898
+ const { rm } = await import("node:fs/promises");
1899
+ delete process.env.AWS_RUNTIME_HOME_DIR;
1900
+ delete process.env.AWS_RUNTIME_ACODE_CONFIG_FILE;
1901
+ CapturingConfigRuntime.lastConfig = undefined;
1902
+ await rm(tempDir, { recursive: true, force: true });
1903
+ });
1904
+ it("无 instance 覆盖时使用全局 acode.json 的 model 与 configPath", async () => {
1905
+ const adapter = new AcodeSdkAdapter();
1906
+ adapter.setRuntimeConstructorForTest(CapturingConfigRuntime);
1907
+ await adapter.startSession("s-default", {
1908
+ command: "acode",
1909
+ workingDirectory: process.cwd(),
1910
+ autoAccept: true,
1911
+ extraMcpServers: {},
1912
+ envOverrides: {},
1913
+ });
1914
+ expect(CapturingConfigRuntime.lastConfig?.configPath).toBe(globalAcodePath);
1915
+ expect(CapturingConfigRuntime.lastConfig?.model).toBe("global-model");
1916
+ adapter.cleanup();
1917
+ });
1918
+ it("per-instance instanceAiConfig.model 覆盖全局 model", async () => {
1919
+ const adapter = new AcodeSdkAdapter();
1920
+ adapter.setRuntimeConstructorForTest(CapturingConfigRuntime);
1921
+ await adapter.startSession("s-instance-model", {
1922
+ command: "acode",
1923
+ workingDirectory: process.cwd(),
1924
+ autoAccept: true,
1925
+ mcpConfigPath: perInstanceAcodePath,
1926
+ instanceAiConfig: { model: "instance-model" },
1927
+ extraMcpServers: {},
1928
+ envOverrides: {},
1929
+ });
1930
+ // 没有 per-instance 文件时,adapter 仍使用调用方传入的 mcpConfigPath
1931
+ expect(CapturingConfigRuntime.lastConfig?.configPath).toBe(perInstanceAcodePath);
1932
+ expect(CapturingConfigRuntime.lastConfig?.model).toBe("instance-model");
1933
+ adapter.cleanup();
1934
+ });
1935
+ it("per-instance 文件已 deep-merge 时,baseURL/apiKey 从文件读取(instance 优先)", async () => {
1936
+ const { writeFile } = await import("node:fs/promises");
1937
+ await writeFile(perInstanceAcodePath, JSON.stringify({
1938
+ provider: {
1939
+ default: {
1940
+ model: "instance-file-model",
1941
+ options: {
1942
+ baseURL: "https://instance.example.com/v1",
1943
+ apiKey: "sk-instance",
1944
+ },
1945
+ },
1946
+ },
1947
+ mcpServers: { "kept-from-global": { type: "stdio", command: "x" } },
1948
+ }), "utf-8");
1949
+ const adapter = new AcodeSdkAdapter();
1950
+ adapter.setRuntimeConstructorForTest(CapturingConfigRuntime);
1951
+ await adapter.startSession("s-instance-file", {
1952
+ command: "acode",
1953
+ workingDirectory: process.cwd(),
1954
+ autoAccept: true,
1955
+ mcpConfigPath: perInstanceAcodePath,
1956
+ extraMcpServers: {},
1957
+ envOverrides: {},
1958
+ });
1959
+ expect(CapturingConfigRuntime.lastConfig?.configPath).toBe(perInstanceAcodePath);
1960
+ // model 走 per-instance 文件的 provider.default.model
1961
+ expect(CapturingConfigRuntime.lastConfig?.model).toBe("instance-file-model");
1962
+ adapter.cleanup();
1963
+ });
1964
+ it("per-session model 优先于 per-instance file model 与全局", async () => {
1965
+ const { writeFile } = await import("node:fs/promises");
1966
+ await writeFile(perInstanceAcodePath, JSON.stringify({
1967
+ provider: {
1968
+ default: { model: "instance-file-model" },
1969
+ },
1970
+ }), "utf-8");
1971
+ const adapter = new AcodeSdkAdapter();
1972
+ adapter.setRuntimeConstructorForTest(CapturingConfigRuntime);
1973
+ await adapter.startSession("s-session-wins", {
1974
+ command: "acode",
1975
+ workingDirectory: process.cwd(),
1976
+ autoAccept: true,
1977
+ mcpConfigPath: perInstanceAcodePath,
1978
+ model: "session-model",
1979
+ extraMcpServers: {},
1980
+ envOverrides: {},
1981
+ });
1982
+ expect(CapturingConfigRuntime.lastConfig?.model).toBe("session-model");
1983
+ adapter.cleanup();
1984
+ });
1985
+ it("全空时回退默认 'acode-default'", async () => {
1986
+ const adapter = new AcodeSdkAdapter();
1987
+ adapter.setRuntimeConstructorForTest(CapturingConfigRuntime);
1988
+ await adapter.startSession("s-all-empty", {
1989
+ command: "acode",
1990
+ workingDirectory: process.cwd(),
1991
+ autoAccept: true,
1992
+ // 指向一个不存在的 per-instance 文件,模拟 instance & global 都为空
1993
+ mcpConfigPath: perInstanceAcodePath,
1994
+ extraMcpServers: {},
1995
+ envOverrides: {},
1996
+ });
1997
+ expect(CapturingConfigRuntime.lastConfig?.model).toBe("acode-default");
1998
+ adapter.cleanup();
1999
+ });
2000
+ });
@@ -1 +1 @@
1
- {"version":3,"file":"ClaudeSdkAdapter.d.ts","sourceRoot":"","sources":["../../src/adapter/ClaudeSdkAdapter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ClaudeSdkAdapter.d.ts","sourceRoot":"","sources":["../../src/adapter/ClaudeSdkAdapter.ts"],"names":[],"mappings":"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"}
@@ -1005,7 +1005,23 @@ export class ClaudeSdkAdapter extends EventEmitter {
1005
1005
  });
1006
1006
  // ★ 更新状态为等待输入
1007
1007
  session.status = 'waiting_input';
1008
- this.emit('status-change', sessionId, 'waiting_input', { usage: session.totalUsage });
1008
+ // 修复:当空闲检测即将重新启动 poll_message 轮询时,在 status-change
1009
+ // 保留 idle 动作信息,避免 bridge 清空动作字段导致前端显示 "空闲"。
1010
+ const willResumePolling = (() => {
1011
+ const idleCmds = this.idleCommands.get(sessionId);
1012
+ return Boolean(idleCmds?.idleInputCommand && this.isMessagePollingIdleCommand(idleCmds.idleInputCommand));
1013
+ })();
1014
+ if (willResumePolling) {
1015
+ this.emit('status-change', sessionId, 'waiting_input', {
1016
+ actionType: 'idle',
1017
+ actionLabel: '监听消息',
1018
+ actionDetail: 'aws-mcp/poll_message',
1019
+ usage: session.totalUsage,
1020
+ });
1021
+ }
1022
+ else {
1023
+ this.emit('status-change', sessionId, 'waiting_input', { usage: session.totalUsage });
1024
+ }
1009
1025
  // 如果有空闲命令配置,启动空闲检测
1010
1026
  if (this.idleCommands.has(sessionId)) {
1011
1027
  this.startIdleDetection(sessionId);
@@ -1 +1 @@
1
- {"version":3,"file":"CodexSdkAdapter.d.ts","sourceRoot":"","sources":["../../src/adapter/CodexSdkAdapter.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAiB3C,OAAO,KAAK,EAEV,oBAAoB,EACpB,mBAAmB,EACnB,mBAAmB,EAEnB,aAAa,EAEd,MAAM,YAAY,CAAC;AA2RpB,qBAAa,eAAgB,SAAQ,YAAa,YAAW,mBAAmB;IAC9E,QAAQ,CAAC,UAAU,WAAW;IAC9B,QAAQ,CAAC,WAAW,WAAW;IAE/B,OAAO,CAAC,QAAQ,CAAwC;IACxD,OAAO,CAAC,SAAS,CAAC,CAAiB;IAE7B,YAAY,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,oBAAoB,GAAG,OAAO,CAAC,IAAI,CAAC;IAmE5E,WAAW,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAqC9D,gBAAgB,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IAKrE,kBAAkB,CAAC,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAI7F,eAAe,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE;QAAE,gBAAgB,EAAE,MAAM,CAAC;QAAC,eAAe,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI;IAanG,gBAAgB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAKlD,gBAAgB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAmBlD,aAAa,CACjB,SAAS,EAAE,MAAM,EACjB,iBAAiB,EAAE,MAAM,EACzB,MAAM,EAAE,oBAAoB,GAC3B,OAAO,CAAC,IAAI,CAAC;IA4BhB,eAAe,CAAC,SAAS,EAAE,MAAM,GAAG,mBAAmB,EAAE;IAIzD,UAAU,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO;IAItC,oBAAoB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS;IAK3D,gBAAgB,CAAC,SAAS,EAAE,MAAM,GAAG,aAAa,GAAG,SAAS;IAI9D,aAAa,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS;IAIrD,OAAO,IAAI,IAAI;IAOf;;;OAGG;YACW,OAAO;IA6BrB,OAAO,CAAC,iBAAiB;IA8BzB,OAAO,CAAC,wBAAwB;IAYhC,OAAO,CAAC,kBAAkB;YAqCZ,OAAO;IAiCrB,OAAO,CAAC,iBAAiB;IAgCzB,OAAO,CAAC,gBAAgB;IA+ExB,OAAO,CAAC,aAAa;IAgBrB,OAAO,CAAC,kBAAkB;IAe1B,OAAO,CAAC,kBAAkB;IAuD1B,OAAO,CAAC,YAAY;IA2BpB,OAAO,CAAC,SAAS;IAIjB,OAAO,CAAC,kBAAkB;IA2C1B,OAAO,CAAC,iBAAiB;IASzB,OAAO,CAAC,cAAc;YAcR,cAAc;IAyB5B,OAAO,CAAC,YAAY;IAQpB,OAAO,CAAC,2BAA2B;CAOpC"}
1
+ {"version":3,"file":"CodexSdkAdapter.d.ts","sourceRoot":"","sources":["../../src/adapter/CodexSdkAdapter.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAiB3C,OAAO,KAAK,EAEV,oBAAoB,EACpB,mBAAmB,EACnB,mBAAmB,EAEnB,aAAa,EAEd,MAAM,YAAY,CAAC;AA2RpB,qBAAa,eAAgB,SAAQ,YAAa,YAAW,mBAAmB;IAC9E,QAAQ,CAAC,UAAU,WAAW;IAC9B,QAAQ,CAAC,WAAW,WAAW;IAE/B,OAAO,CAAC,QAAQ,CAAwC;IACxD,OAAO,CAAC,SAAS,CAAC,CAAiB;IAE7B,YAAY,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,oBAAoB,GAAG,OAAO,CAAC,IAAI,CAAC;IAmE5E,WAAW,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAqC9D,gBAAgB,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IAKrE,kBAAkB,CAAC,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAI7F,eAAe,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE;QAAE,gBAAgB,EAAE,MAAM,CAAC;QAAC,eAAe,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI;IAanG,gBAAgB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAKlD,gBAAgB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAmBlD,aAAa,CACjB,SAAS,EAAE,MAAM,EACjB,iBAAiB,EAAE,MAAM,EACzB,MAAM,EAAE,oBAAoB,GAC3B,OAAO,CAAC,IAAI,CAAC;IA4BhB,eAAe,CAAC,SAAS,EAAE,MAAM,GAAG,mBAAmB,EAAE;IAIzD,UAAU,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO;IAItC,oBAAoB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS;IAK3D,gBAAgB,CAAC,SAAS,EAAE,MAAM,GAAG,aAAa,GAAG,SAAS;IAI9D,aAAa,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS;IAIrD,OAAO,IAAI,IAAI;IAOf;;;OAGG;YACW,OAAO;IA6BrB,OAAO,CAAC,iBAAiB;IA8BzB,OAAO,CAAC,wBAAwB;IAYhC,OAAO,CAAC,kBAAkB;YAqCZ,OAAO;IAiCrB,OAAO,CAAC,iBAAiB;IAgCzB,OAAO,CAAC,gBAAgB;IA+ExB,OAAO,CAAC,aAAa;IAgBrB,OAAO,CAAC,kBAAkB;IAe1B,OAAO,CAAC,kBAAkB;IAuD1B,OAAO,CAAC,YAAY;IA0CpB,OAAO,CAAC,SAAS;IAIjB,OAAO,CAAC,kBAAkB;IA2C1B,OAAO,CAAC,iBAAiB;IASzB,OAAO,CAAC,cAAc;YAcR,cAAc;IAyB5B,OAAO,CAAC,YAAY;IAQpB,OAAO,CAAC,2BAA2B;CAOpC"}
@@ -714,7 +714,21 @@ export class CodexSdkAdapter extends EventEmitter {
714
714
  }
715
715
  this.emitEvent({ type: 'turn_complete', sessionId, timestamp, data: { usage: mappedUsage } });
716
716
  session.adapterSession.status = 'waiting_input';
717
- this.emit('status-change', sessionId, 'waiting_input');
717
+ // ★ 修复:当空闲检测即将重新启动 poll_message 轮询时,在 status-change
718
+ // 保留 idle 动作信息,避免 bridge 清空动作字段导致前端显示 "空闲"。
719
+ const idleInputCommand = session.idleCommands?.idleInputCommand;
720
+ const willResumePolling = Boolean(idleInputCommand && this.isMessagePollingIdleCommand(idleInputCommand));
721
+ if (willResumePolling) {
722
+ this.emit('status-change', sessionId, 'waiting_input', {
723
+ actionType: 'idle',
724
+ actionLabel: '监听消息',
725
+ actionDetail: 'aws-mcp/poll_message',
726
+ usage: mappedUsage,
727
+ });
728
+ }
729
+ else {
730
+ this.emit('status-change', sessionId, 'waiting_input');
731
+ }
718
732
  session.lastActivityAt = Date.now();
719
733
  this.startIdleDetection(sessionId);
720
734
  }
@@ -1 +1 @@
1
- {"version":3,"file":"OpencodeSdkAdapter.d.ts","sourceRoot":"","sources":["../../src/adapter/OpencodeSdkAdapter.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAGH,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAiB3C,OAAO,EAKL,KAAK,oBAAoB,EACzB,KAAK,mBAAmB,EACxB,KAAK,mBAAmB,EAExB,KAAK,aAAa,EACnB,MAAM,YAAY,CAAC;AA4GpB,qBAAa,kBAAmB,SAAQ,YAAa,YAAW,mBAAmB;IACjF,QAAQ,CAAC,UAAU,cAAc;IACjC,QAAQ,CAAC,WAAW,cAAc;IAElC,OAAO,CAAC,QAAQ,CAA2C;IAC3D,OAAO,CAAC,SAAS,CAAC,CAAoB;IAEhC,YAAY,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,oBAAoB,GAAG,OAAO,CAAC,IAAI,CAAC;IA+I5E,WAAW,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE;QAAE,iBAAiB,CAAC,EAAE,OAAO,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IA0CzG,gBAAgB,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IAqBnE,kBAAkB,CAAC,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAI7F,eAAe,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE;QAAE,gBAAgB,EAAE,MAAM,CAAC;QAAC,eAAe,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI;IAUnG,gBAAgB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAclD,gBAAgB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IA4BxD,eAAe,CAAC,SAAS,EAAE,MAAM,GAAG,mBAAmB,EAAE;IAIzD,UAAU,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO;IAItC,oBAAoB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS;IAI3D,gBAAgB,CAAC,SAAS,EAAE,MAAM,GAAG,aAAa,GAAG,SAAS;IAI9D,aAAa,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS;IAOpD,OAAO,IAAI,IAAI;IAaf;;;OAGG;YACW,OAAO;YA2BP,aAAa;IAmB3B;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAO3B;;OAEG;IACH,OAAO,CAAC,wBAAwB;IAahC;;OAEG;IACH,OAAO,CAAC,qBAAqB;IAY7B,OAAO,CAAC,YAAY;YAYN,UAAU;IAuBxB,OAAO,CAAC,mBAAmB;IA6H3B,OAAO,CAAC,gBAAgB;IAkHxB,OAAO,CAAC,SAAS;IAIjB,OAAO,CAAC,kBAAkB;IAuC1B,OAAO,CAAC,iBAAiB;IASzB,OAAO,CAAC,cAAc;IAStB,OAAO,CAAC,YAAY;IAQpB,OAAO,CAAC,2BAA2B;CAOpC"}
1
+ {"version":3,"file":"OpencodeSdkAdapter.d.ts","sourceRoot":"","sources":["../../src/adapter/OpencodeSdkAdapter.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAGH,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAiB3C,OAAO,EAKL,KAAK,oBAAoB,EACzB,KAAK,mBAAmB,EACxB,KAAK,mBAAmB,EAExB,KAAK,aAAa,EACnB,MAAM,YAAY,CAAC;AA8HpB,qBAAa,kBAAmB,SAAQ,YAAa,YAAW,mBAAmB;IACjF,QAAQ,CAAC,UAAU,cAAc;IACjC,QAAQ,CAAC,WAAW,cAAc;IAElC,OAAO,CAAC,QAAQ,CAA2C;IAC3D,OAAO,CAAC,SAAS,CAAC,CAAoB;IAEhC,YAAY,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,oBAAoB,GAAG,OAAO,CAAC,IAAI,CAAC;IA2J5E,WAAW,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE;QAAE,iBAAiB,CAAC,EAAE,OAAO,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAqDzG,gBAAgB,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IAqBnE,kBAAkB,CAAC,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAI7F,eAAe,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE;QAAE,gBAAgB,EAAE,MAAM,CAAC;QAAC,eAAe,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI;IAUnG,gBAAgB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAclD,gBAAgB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IA4BxD,eAAe,CAAC,SAAS,EAAE,MAAM,GAAG,mBAAmB,EAAE;IAIzD,UAAU,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO;IAItC,oBAAoB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS;IAI3D,gBAAgB,CAAC,SAAS,EAAE,MAAM,GAAG,aAAa,GAAG,SAAS;IAI9D,aAAa,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS;IAOpD,OAAO,IAAI,IAAI;IAaf;;;OAGG;YACW,OAAO;YA2BP,aAAa;IAmB3B;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAO3B;;OAEG;IACH,OAAO,CAAC,wBAAwB;IAahC;;OAEG;IACH,OAAO,CAAC,qBAAqB;IAY7B,OAAO,CAAC,YAAY;YAYN,UAAU;IAuBxB,OAAO,CAAC,mBAAmB;IAiJ3B,OAAO,CAAC,gBAAgB;IAkHxB,OAAO,CAAC,SAAS;IAIjB,OAAO,CAAC,kBAAkB;IAuC1B,OAAO,CAAC,iBAAiB;IASzB,OAAO,CAAC,cAAc;IAStB,OAAO,CAAC,YAAY;IAQpB,OAAO,CAAC,2BAA2B;CAOpC"}
@@ -84,6 +84,23 @@ function hasErrorCode(error) {
84
84
  function isMissingPackageError(error, packageName) {
85
85
  return hasErrorCode(error) && error.code === 'ERR_MODULE_NOT_FOUND' && error.message.includes(packageName);
86
86
  }
87
+ // ============ 模型解析 ============
88
+ /**
89
+ * 解析 OpenCode 模型规格。
90
+ * OpenCode 原生格式为 "provider/model"(如 "anthropic/claude-sonnet-4-5")。
91
+ * 若用户只提供模型名(不含 "/"),则仅返回 modelID,providerID 留空让 OpenCode 自动选择。
92
+ */
93
+ function parseOpenCodeModelSpec(model) {
94
+ if (!model || !model.trim())
95
+ return undefined;
96
+ const trimmed = model.trim();
97
+ const slashIndex = trimmed.indexOf('/');
98
+ if (slashIndex > 0) {
99
+ return { providerID: trimmed.slice(0, slashIndex), modelID: trimmed.slice(slashIndex + 1) };
100
+ }
101
+ // 纯模型名,无 provider 前缀
102
+ return { modelID: trimmed };
103
+ }
87
104
  // ============ Adapter ============
88
105
  export class OpencodeSdkAdapter extends EventEmitter {
89
106
  constructor() {
@@ -127,6 +144,14 @@ export class OpencodeSdkAdapter extends EventEmitter {
127
144
  (process.platform === 'win32' && !path.isAbsolute(openCodeCommand));
128
145
  console.log(`[OpencodeSdkAdapter] shell=${useShell}`);
129
146
  const env = { ...process.env, ...config.envOverrides };
147
+ // ★ 实例级模型覆盖:通过 OPENCODE_CONFIG_CONTENT 注入(OpenCode 标准 inline config,优先级 6)
148
+ // 参考:https://opencode.ai/docs/config/ — "Inline config (OPENCODE_CONFIG_CONTENT env var) - runtime overrides"
149
+ const parsedModel = parseOpenCodeModelSpec(config.model);
150
+ if (parsedModel?.modelID) {
151
+ const inlineConfig = { model: config.model.trim() };
152
+ env.OPENCODE_CONFIG_CONTENT = JSON.stringify(inlineConfig);
153
+ console.log(`[OpencodeSdkAdapter] ★★★ 实例级模型覆盖 ★★★ OPENCODE_CONFIG_CONTENT=${env.OPENCODE_CONFIG_CONTENT}`);
154
+ }
130
155
  const proc = spawn(openCodeCommand, ['serve', '--port', String(port)], {
131
156
  cwd: config.workingDirectory,
132
157
  stdio: ['ignore', 'pipe', 'pipe'],
@@ -236,11 +261,19 @@ export class OpencodeSdkAdapter extends EventEmitter {
236
261
  this.stopIdleDetection(sessionId);
237
262
  }
238
263
  try {
264
+ // ★ 实例级模型覆盖:per-message model override
265
+ // 仅当模型含 "provider/model" 格式时传入(OpenCode SDK 要求 providerID + modelID)
266
+ const parsedModel = parseOpenCodeModelSpec(session.config.model);
267
+ const promptBody = {
268
+ parts: [{ type: 'text', text: message }],
269
+ };
270
+ if (parsedModel?.providerID && parsedModel?.modelID) {
271
+ promptBody.model = { providerID: parsedModel.providerID, modelID: parsedModel.modelID };
272
+ console.log(`[OpencodeSdkAdapter] ★★★ per-message model ★★★ provider=${parsedModel.providerID}, model=${parsedModel.modelID}`);
273
+ }
239
274
  await session.client.session.prompt({
240
275
  path: { id: session.opencodeSessionId },
241
- body: {
242
- parts: [{ type: 'text', text: message }],
243
- },
276
+ body: promptBody,
244
277
  query: { directory: session.workingDirectory },
245
278
  });
246
279
  }
@@ -517,7 +550,26 @@ export class OpencodeSdkAdapter extends EventEmitter {
517
550
  data: { usage: session.adapterSession.totalUsage },
518
551
  });
519
552
  session.adapterSession.status = 'waiting_input';
520
- this.emit('status-change', sessionId, 'waiting_input', { usage: session.adapterSession.totalUsage });
553
+ // 修复:当空闲检测即将重新启动 poll_message 轮询时,在 status-change
554
+ // 保留 idle 动作信息,避免 bridge 清空动作字段导致前端显示 "空闲"。
555
+ // 核心场景:agent 处理完一轮消息后 session.idle 触发,此时 last action
556
+ // 是工作工具(bash/edit_file 等),而非 idle/mcp。如果此处不传递动作信息,
557
+ // bridge 的 shouldPreservePrevAction 判定会因 last action type 不匹配而
558
+ // 跳过保留,轮询恢复前出现 "空闲" 闪显。
559
+ const idleInputCommand = session.idleCommands?.idleInputCommand;
560
+ const willResumePolling = Boolean(idleInputCommand && this.isMessagePollingIdleCommand(idleInputCommand));
561
+ if (willResumePolling) {
562
+ // 传递预置的 idle 动作信息,让 bridge 直接更新/保留 poll_message 动作显示
563
+ this.emit('status-change', sessionId, 'waiting_input', {
564
+ actionType: 'idle',
565
+ actionLabel: '监听消息',
566
+ actionDetail: 'aws-mcp/poll_message',
567
+ usage: session.adapterSession.totalUsage,
568
+ });
569
+ }
570
+ else {
571
+ this.emit('status-change', sessionId, 'waiting_input', { usage: session.adapterSession.totalUsage });
572
+ }
521
573
  this.startIdleDetection(sessionId);
522
574
  break;
523
575
  }
@@ -0,0 +1,49 @@
1
+ /**
2
+ * Instance AI 配置仲裁器
3
+ *
4
+ * 按 "instance > global > default" 三层优先级仲裁 ACode 的
5
+ * model/baseURL/apiKey 配置。
6
+ */
7
+ /**
8
+ * 实例级 AI 配置(来自 per-session model + per-instance instanceAiConfig)。
9
+ */
10
+ export interface InstanceAiConfig {
11
+ model?: string;
12
+ baseURL?: string;
13
+ apiKey?: string;
14
+ effort?: string;
15
+ }
16
+ /**
17
+ * 仲裁结果。
18
+ */
19
+ export interface ResolvedAcodeProviderConfig {
20
+ /** 最终选定的 model */
21
+ model: string;
22
+ /** 最终选定的 baseURL,可能为空 */
23
+ baseURL?: string;
24
+ /** 最终选定的 apiKey,可能为空 */
25
+ apiKey?: string;
26
+ /** 最终选定的 effort,可能为空 */
27
+ effort?: string;
28
+ /** 各字段的来源标签 */
29
+ source: {
30
+ model: string;
31
+ baseURL: string;
32
+ apiKey: string;
33
+ effort: string;
34
+ };
35
+ }
36
+ /**
37
+ * 仲裁 ACode provider 配置。
38
+ *
39
+ * 优先级:instance > global > default
40
+ * - instance:来自 per-session model + per-instance instanceAiConfig
41
+ * - global:来自 acode.json 顶层 provider.default
42
+ * - default:调用方提供的默认值
43
+ *
44
+ * @param instanceConfig 请求级实例配置(含 perSessionModel 覆盖后的 instanceAiConfig)
45
+ * @param globalConfig 全局 acode.json 中的 provider.default 层
46
+ * @param defaultModel 兜底默认模型名
47
+ */
48
+ export declare function resolveAcodeProviderConfig(instanceConfig: InstanceAiConfig, globalConfig: InstanceAiConfig | undefined, defaultModel: string): ResolvedAcodeProviderConfig;
49
+ //# sourceMappingURL=instance-ai-config-resolver.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"instance-ai-config-resolver.d.ts","sourceRoot":"","sources":["../../src/adapter/instance-ai-config-resolver.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED;;GAEG;AACH,MAAM,WAAW,2BAA2B;IAC1C,kBAAkB;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,yBAAyB;IACzB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,wBAAwB;IACxB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,wBAAwB;IACxB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,eAAe;IACf,MAAM,EAAE;QACN,KAAK,EAAE,MAAM,CAAC;QACd,OAAO,EAAE,MAAM,CAAC;QAChB,MAAM,EAAE,MAAM,CAAC;QACf,MAAM,EAAE,MAAM,CAAC;KAChB,CAAC;CACH;AAeD;;;;;;;;;;;GAWG;AACH,wBAAgB,0BAA0B,CACxC,cAAc,EAAE,gBAAgB,EAChC,YAAY,EAAE,gBAAgB,GAAG,SAAS,EAC1C,YAAY,EAAE,MAAM,GACnB,2BAA2B,CAkC7B"}
@@ -0,0 +1,46 @@
1
+ /**
2
+ * Instance AI 配置仲裁器
3
+ *
4
+ * 按 "instance > global > default" 三层优先级仲裁 ACode 的
5
+ * model/baseURL/apiKey 配置。
6
+ */
7
+ /**
8
+ * 解析来源标签。
9
+ */
10
+ function pickSource(instanceVal, globalVal, _defaultLabel) {
11
+ if (instanceVal !== undefined)
12
+ return { value: instanceVal, source: "instance" };
13
+ if (globalVal !== undefined)
14
+ return { value: globalVal, source: "global" };
15
+ return { value: undefined, source: _defaultLabel ?? "default" };
16
+ }
17
+ /**
18
+ * 仲裁 ACode provider 配置。
19
+ *
20
+ * 优先级:instance > global > default
21
+ * - instance:来自 per-session model + per-instance instanceAiConfig
22
+ * - global:来自 acode.json 顶层 provider.default
23
+ * - default:调用方提供的默认值
24
+ *
25
+ * @param instanceConfig 请求级实例配置(含 perSessionModel 覆盖后的 instanceAiConfig)
26
+ * @param globalConfig 全局 acode.json 中的 provider.default 层
27
+ * @param defaultModel 兜底默认模型名
28
+ */
29
+ export function resolveAcodeProviderConfig(instanceConfig, globalConfig, defaultModel) {
30
+ const modelResult = pickSource(instanceConfig.model, globalConfig?.model, defaultModel);
31
+ const baseURLResult = pickSource(instanceConfig.baseURL, globalConfig?.baseURL, undefined);
32
+ const apiKeyResult = pickSource(instanceConfig.apiKey, globalConfig?.apiKey, undefined);
33
+ const effortResult = pickSource(instanceConfig.effort, globalConfig?.effort, undefined);
34
+ return {
35
+ model: modelResult.value ?? defaultModel,
36
+ ...(baseURLResult.value ? { baseURL: baseURLResult.value } : {}),
37
+ ...(apiKeyResult.value ? { apiKey: apiKeyResult.value } : {}),
38
+ ...(effortResult.value ? { effort: effortResult.value } : {}),
39
+ source: {
40
+ model: modelResult.source,
41
+ baseURL: baseURLResult.source,
42
+ apiKey: apiKeyResult.source,
43
+ effort: effortResult.source,
44
+ },
45
+ };
46
+ }
@@ -57,12 +57,16 @@ export declare function getToolActionInfo(toolName: string | undefined, toolInpu
57
57
  export interface RuntimeTokenUsage {
58
58
  inputTokens: number;
59
59
  outputTokens: number;
60
+ /** Model context window token limit used for the used/limit display. */
61
+ contextLimit?: number;
60
62
  }
61
63
  export type CommandOutputStream = "stdout" | "stderr" | "mixed";
62
64
  export interface RuntimeStatusActionInfo {
63
65
  actionType?: ToolActionType;
64
66
  actionLabel?: string;
65
67
  actionDetail?: string;
68
+ /** 工具调用输入参数的 JSON 序列化字符串,用于在时间线上展示 */
69
+ actionInput?: string;
66
70
  actionResult?: string;
67
71
  actionId?: string;
68
72
  usage?: RuntimeTokenUsage;
@@ -144,11 +148,27 @@ export interface ProviderEvent {
144
148
  commandLineCount?: number;
145
149
  };
146
150
  }
151
+ /**
152
+ * 实例自配置 AI provider 覆盖(仅 ACode 适配器消费)。
153
+ *
154
+ * 优先级:API 请求体(per-launch)> 环境变量 > bridge 下的 instance-acode-config.json 文件。
155
+ * 实例配置优先于 acode.json 全局 provider.default 配置;AcodeSdkAdapter 内部按
156
+ * "instance > global > default" 三层逐字段仲裁 model / baseURL / apiKey。
157
+ */
158
+ export interface AdapterInstanceAiConfig {
159
+ model?: string;
160
+ baseURL?: string;
161
+ apiKey?: string;
162
+ /** Per-instance model reasoning effort (minimal|low|medium|high|xhigh) */
163
+ effort?: string;
164
+ }
147
165
  export interface AdapterSessionConfig {
148
166
  /** CLI 命令(支持绝对路径) */
149
167
  command: string;
150
168
  /** 工作目录 */
151
169
  workingDirectory: string;
170
+ /** Agent ID(用于 spillover 文件路径隔离) */
171
+ agentId?: string;
152
172
  /** 初始 prompt(创建会话后自动发送) */
153
173
  initialPrompt?: string;
154
174
  /** 初始 prompt 是否显示为用户消息 */
@@ -161,14 +181,20 @@ export interface AdapterSessionConfig {
161
181
  preset: string;
162
182
  append: string;
163
183
  };
164
- /** 模型名称覆盖 */
184
+ /** 模型名称覆盖(per-session 粒度,优先级最高) */
165
185
  model?: string;
166
186
  /** 最大对话轮次(0=无限) */
167
187
  maxTurns?: number;
168
188
  /** 允许的工具列表(空=全部) */
169
189
  allowedTools?: string[];
170
- /** MCP 配置路径 */
190
+ /** MCP 配置路径;如为 per-instance 文件则由 instance-ai-config-service 写入 */
171
191
  mcpConfigPath?: string;
192
+ /**
193
+ * 实例自配置 AI provider 覆盖(仅 ACode 消费)。AcodeSdkAdapter 内部会按
194
+ * "instance > global > default" 优先级仲裁,并将 baseURL/apiKey 写入
195
+ * per-instance acode.json 后作为 configPath 使用。
196
+ */
197
+ instanceAiConfig?: AdapterInstanceAiConfig;
172
198
  /** Provider 特定参数 */
173
199
  providerArgs?: string[];
174
200
  /** 环境变量覆盖 */
@@ -199,6 +225,7 @@ export interface AdapterSession {
199
225
  totalUsage: {
200
226
  inputTokens: number;
201
227
  outputTokens: number;
228
+ contextLimit?: number;
202
229
  };
203
230
  /** SDK 进程 PID(用于检测进程是否存活) */
204
231
  pid?: number;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/adapter/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/adapter/types.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -18,6 +18,7 @@ import { mcpRouter } from "./routes/mcp.js";
18
18
  import { terminalRouter, sdkSessions } from "./routes/terminal.js";
19
19
  import { sessionsRouter } from "./routes/sessions.js";
20
20
  import { gitRouter } from "./routes/git.js";
21
+ import { fileSnapshotRouter } from "./routes/file-snapshot.js";
21
22
  import { memoryRouter } from "./routes/memory.js";
22
23
  import { fileBrowserRouter } from "./routes/file-browser.js";
23
24
  import { aiSourcesRouter } from "./routes/ai-sources.js";
@@ -26,6 +27,7 @@ import { systemMetricsRouter } from "./routes/system-metrics.js";
26
27
  import { attachPtyWebSocketServer, closeAllPtySessions, ptyRouter, ptySessions, } from "./routes/pty.js";
27
28
  import { runtimeBindingRouter, logRuntimeBindingStartupState, } from "./routes/runtime-binding.js";
28
29
  import { dashboardRouter } from "./routes/dashboard.js";
30
+ import { eventsRouter } from "./routes/events.js";
29
31
  import { loadPersistedSessions, savePersistedSessions, } from "./services/terminal-persistence.js";
30
32
  import { detectOrphanProcesses } from "./services/process-detector.js";
31
33
  import { startOrphanMonitor, stopOrphanMonitor, } from "./services/orphan-monitor.js";
@@ -295,7 +297,9 @@ app.use("/runtime", terminalRouter);
295
297
  app.use("/runtime", sessionsRouter);
296
298
  app.use("/runtime", processesRouter);
297
299
  app.use("/runtime", systemMetricsRouter);
300
+ app.use("/runtime", eventsRouter);
298
301
  app.use("/runtime", gitRouter);
302
+ app.use("/runtime", fileSnapshotRouter);
299
303
  app.use("/runtime", memoryRouter);
300
304
  app.use("/runtime", aiSourcesRouter);
301
305
  app.use("/pty", ptyRouter);
@@ -473,7 +477,7 @@ async function gracefulShutdown(signal, server, preserveSessions = false) {
473
477
  logger.info(`[runtime-bridge] 优雅关闭完成 (耗时 ${elapsed}ms),停止 ${sdkCount} SDK 会话`);
474
478
  server.close(() => {
475
479
  logger.info("[runtime-bridge] HTTP 服务器已关闭");
476
- process.exit(0);
480
+ process.exit(process.exitCode || 0);
477
481
  });
478
482
  // 强制退出超时(防止卡住)
479
483
  setTimeout(() => {
@@ -1 +1 @@
1
- {"version":3,"file":"dashboard.d.ts","sourceRoot":"","sources":["../../src/routes/dashboard.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAkFH,eAAO,MAAM,eAAe,4CAAW,CAAC"}
1
+ {"version":3,"file":"dashboard.d.ts","sourceRoot":"","sources":["../../src/routes/dashboard.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAuFH,eAAO,MAAM,eAAe,4CAAW,CAAC"}