@downcity/agent 1.1.111 → 1.1.118

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 (154) hide show
  1. package/bin/agent/local/Agent.d.ts +22 -0
  2. package/bin/agent/local/Agent.d.ts.map +1 -1
  3. package/bin/agent/local/Agent.js +31 -0
  4. package/bin/agent/local/Agent.js.map +1 -1
  5. package/bin/agent/local/services/AgentAssemblyService.d.ts +4 -0
  6. package/bin/agent/local/services/AgentAssemblyService.d.ts.map +1 -1
  7. package/bin/agent/local/services/AgentAssemblyService.js +18 -2
  8. package/bin/agent/local/services/AgentAssemblyService.js.map +1 -1
  9. package/bin/agent/local/services/AgentLifecycleService.d.ts +6 -0
  10. package/bin/agent/local/services/AgentLifecycleService.d.ts.map +1 -1
  11. package/bin/agent/local/services/AgentLifecycleService.js +4 -0
  12. package/bin/agent/local/services/AgentLifecycleService.js.map +1 -1
  13. package/bin/agent/remote/RemoteAgent.d.ts +26 -1
  14. package/bin/agent/remote/RemoteAgent.d.ts.map +1 -1
  15. package/bin/agent/remote/RemoteAgent.js +40 -0
  16. package/bin/agent/remote/RemoteAgent.js.map +1 -1
  17. package/bin/agent/remote/RemoteTransport.d.ts +14 -1
  18. package/bin/agent/remote/RemoteTransport.d.ts.map +1 -1
  19. package/bin/agent/remote/transports/HttpRemoteAgentTransport.d.ts +11 -1
  20. package/bin/agent/remote/transports/HttpRemoteAgentTransport.d.ts.map +1 -1
  21. package/bin/agent/remote/transports/HttpRemoteAgentTransport.js +54 -0
  22. package/bin/agent/remote/transports/HttpRemoteAgentTransport.js.map +1 -1
  23. package/bin/agent/remote/transports/RpcRemoteAgentTransport.d.ts +10 -1
  24. package/bin/agent/remote/transports/RpcRemoteAgentTransport.d.ts.map +1 -1
  25. package/bin/agent/remote/transports/RpcRemoteAgentTransport.js +16 -0
  26. package/bin/agent/remote/transports/RpcRemoteAgentTransport.js.map +1 -1
  27. package/bin/executor/Executor.d.ts.map +1 -1
  28. package/bin/executor/Executor.js +7 -1
  29. package/bin/executor/Executor.js.map +1 -1
  30. package/bin/executor/composer/system/default/assets/core.prompt.d.ts +1 -1
  31. package/bin/executor/composer/system/default/assets/core.prompt.d.ts.map +1 -1
  32. package/bin/executor/composer/system/default/assets/core.prompt.js +1 -1
  33. package/bin/executor/composer/system/default/assets/core.prompt.js.map +1 -1
  34. package/bin/index.d.ts +1 -2
  35. package/bin/index.d.ts.map +1 -1
  36. package/bin/index.js +0 -1
  37. package/bin/index.js.map +1 -1
  38. package/bin/rpc/Client.d.ts +13 -0
  39. package/bin/rpc/Client.d.ts.map +1 -1
  40. package/bin/rpc/Client.js +31 -0
  41. package/bin/rpc/Client.js.map +1 -1
  42. package/bin/rpc/server/InternalHandlers.d.ts.map +1 -1
  43. package/bin/rpc/server/InternalHandlers.js +30 -0
  44. package/bin/rpc/server/InternalHandlers.js.map +1 -1
  45. package/bin/rpc/server/ServerTypes.d.ts +5 -0
  46. package/bin/rpc/server/ServerTypes.d.ts.map +1 -1
  47. package/bin/types/agent/AgentOptions.d.ts +9 -0
  48. package/bin/types/agent/AgentOptions.d.ts.map +1 -1
  49. package/bin/types/agent/AgentTypes.d.ts +1 -0
  50. package/bin/types/agent/AgentTypes.d.ts.map +1 -1
  51. package/bin/types/agent/RemoteAgentPluginAction.d.ts +46 -0
  52. package/bin/types/agent/RemoteAgentPluginAction.d.ts.map +1 -0
  53. package/bin/types/agent/RemoteAgentPluginAction.js +9 -0
  54. package/bin/types/agent/RemoteAgentPluginAction.js.map +1 -0
  55. package/bin/types/config/DowncityConfig.d.ts +2 -2
  56. package/bin/types/config/DowncityConfig.d.ts.map +1 -1
  57. package/bin/types/rpc/RpcProtocol.d.ts +25 -0
  58. package/bin/types/rpc/RpcProtocol.d.ts.map +1 -1
  59. package/bin/types/sdk/AgentSessionEvent.d.ts +24 -4
  60. package/bin/types/sdk/AgentSessionEvent.d.ts.map +1 -1
  61. package/package.json +4 -3
  62. package/scripts/linux-bubblewrap-sandbox.test.mjs +1 -1
  63. package/scripts/shell-sandbox-preflight.test.mjs +1 -1
  64. package/src/agent/local/Agent.ts +38 -0
  65. package/src/agent/local/services/AgentAssemblyService.ts +23 -2
  66. package/src/agent/local/services/AgentLifecycleService.ts +11 -0
  67. package/src/agent/remote/RemoteAgent.ts +52 -0
  68. package/src/agent/remote/RemoteTransport.ts +16 -0
  69. package/src/agent/remote/transports/HttpRemoteAgentTransport.ts +83 -0
  70. package/src/agent/remote/transports/RpcRemoteAgentTransport.ts +28 -0
  71. package/src/executor/Executor.ts +12 -2
  72. package/src/executor/composer/system/default/assets/core.prompt.ts +1 -1
  73. package/src/executor/composer/system/default/assets/core.prompt.ts.txt +1 -0
  74. package/src/index.ts +2 -1
  75. package/src/rpc/Client.ts +38 -0
  76. package/src/rpc/server/InternalHandlers.ts +31 -0
  77. package/src/rpc/server/ServerTypes.ts +5 -0
  78. package/src/types/agent/AgentOptions.ts +10 -0
  79. package/src/types/agent/AgentTypes.ts +4 -0
  80. package/src/types/agent/RemoteAgentPluginAction.ts +52 -0
  81. package/src/types/config/DowncityConfig.ts +2 -2
  82. package/src/types/rpc/RpcProtocol.ts +28 -0
  83. package/src/types/sdk/AgentSessionEvent.ts +28 -4
  84. package/tsconfig.tsbuildinfo +1 -1
  85. package/bin/executor/tools/shell/ShellToolBridge.d.ts +0 -79
  86. package/bin/executor/tools/shell/ShellToolBridge.d.ts.map +0 -1
  87. package/bin/executor/tools/shell/ShellToolBridge.js +0 -320
  88. package/bin/executor/tools/shell/ShellToolBridge.js.map +0 -1
  89. package/bin/executor/tools/shell/ShellToolDefinition.d.ts +0 -114
  90. package/bin/executor/tools/shell/ShellToolDefinition.d.ts.map +0 -1
  91. package/bin/executor/tools/shell/ShellToolDefinition.js +0 -367
  92. package/bin/executor/tools/shell/ShellToolDefinition.js.map +0 -1
  93. package/bin/executor/tools/shell/ShellToolFormatting.d.ts +0 -17
  94. package/bin/executor/tools/shell/ShellToolFormatting.d.ts.map +0 -1
  95. package/bin/executor/tools/shell/ShellToolFormatting.js +0 -36
  96. package/bin/executor/tools/shell/ShellToolFormatting.js.map +0 -1
  97. package/bin/executor/tools/shell/ShellToolSchemas.d.ts +0 -60
  98. package/bin/executor/tools/shell/ShellToolSchemas.d.ts.map +0 -1
  99. package/bin/executor/tools/shell/ShellToolSchemas.js +0 -126
  100. package/bin/executor/tools/shell/ShellToolSchemas.js.map +0 -1
  101. package/bin/executor/tools/shell/types/Shell.d.ts +0 -109
  102. package/bin/executor/tools/shell/types/Shell.d.ts.map +0 -1
  103. package/bin/executor/tools/shell/types/Shell.js +0 -9
  104. package/bin/executor/tools/shell/types/Shell.js.map +0 -1
  105. package/bin/executor/tools/shell/types/ShellPlugin.d.ts +0 -252
  106. package/bin/executor/tools/shell/types/ShellPlugin.d.ts.map +0 -1
  107. package/bin/executor/tools/shell/types/ShellPlugin.js +0 -9
  108. package/bin/executor/tools/shell/types/ShellPlugin.js.map +0 -1
  109. package/bin/sandbox/LinuxBubblewrapSandbox.d.ts +0 -19
  110. package/bin/sandbox/LinuxBubblewrapSandbox.d.ts.map +0 -1
  111. package/bin/sandbox/LinuxBubblewrapSandbox.js +0 -186
  112. package/bin/sandbox/LinuxBubblewrapSandbox.js.map +0 -1
  113. package/bin/sandbox/MacOsSeatbeltSandbox.d.ts +0 -16
  114. package/bin/sandbox/MacOsSeatbeltSandbox.d.ts.map +0 -1
  115. package/bin/sandbox/MacOsSeatbeltSandbox.js +0 -154
  116. package/bin/sandbox/MacOsSeatbeltSandbox.js.map +0 -1
  117. package/bin/sandbox/SandboxConfigResolver.d.ts +0 -37
  118. package/bin/sandbox/SandboxConfigResolver.d.ts.map +0 -1
  119. package/bin/sandbox/SandboxConfigResolver.js +0 -130
  120. package/bin/sandbox/SandboxConfigResolver.js.map +0 -1
  121. package/bin/sandbox/SandboxPreflight.d.ts +0 -73
  122. package/bin/sandbox/SandboxPreflight.d.ts.map +0 -1
  123. package/bin/sandbox/SandboxPreflight.js +0 -122
  124. package/bin/sandbox/SandboxPreflight.js.map +0 -1
  125. package/bin/sandbox/SandboxRunner.d.ts +0 -61
  126. package/bin/sandbox/SandboxRunner.d.ts.map +0 -1
  127. package/bin/sandbox/SandboxRunner.js +0 -107
  128. package/bin/sandbox/SandboxRunner.js.map +0 -1
  129. package/bin/sandbox/UnrestrictedSandbox.d.ts +0 -16
  130. package/bin/sandbox/UnrestrictedSandbox.d.ts.map +0 -1
  131. package/bin/sandbox/UnrestrictedSandbox.js +0 -39
  132. package/bin/sandbox/UnrestrictedSandbox.js.map +0 -1
  133. package/bin/sandbox/types/Sandbox.d.ts +0 -130
  134. package/bin/sandbox/types/Sandbox.d.ts.map +0 -1
  135. package/bin/sandbox/types/Sandbox.js +0 -10
  136. package/bin/sandbox/types/Sandbox.js.map +0 -1
  137. package/bin/sandbox/types/SandboxRuntime.d.ts +0 -370
  138. package/bin/sandbox/types/SandboxRuntime.d.ts.map +0 -1
  139. package/bin/sandbox/types/SandboxRuntime.js +0 -10
  140. package/bin/sandbox/types/SandboxRuntime.js.map +0 -1
  141. package/src/executor/tools/shell/ShellToolBridge.ts +0 -412
  142. package/src/executor/tools/shell/ShellToolDefinition.ts +0 -521
  143. package/src/executor/tools/shell/ShellToolFormatting.ts +0 -34
  144. package/src/executor/tools/shell/ShellToolSchemas.ts +0 -135
  145. package/src/executor/tools/shell/types/Shell.ts +0 -116
  146. package/src/executor/tools/shell/types/ShellPlugin.ts +0 -271
  147. package/src/sandbox/LinuxBubblewrapSandbox.ts +0 -222
  148. package/src/sandbox/MacOsSeatbeltSandbox.ts +0 -191
  149. package/src/sandbox/SandboxConfigResolver.ts +0 -152
  150. package/src/sandbox/SandboxPreflight.ts +0 -205
  151. package/src/sandbox/SandboxRunner.ts +0 -151
  152. package/src/sandbox/UnrestrictedSandbox.ts +0 -53
  153. package/src/sandbox/types/Sandbox.ts +0 -144
  154. package/src/sandbox/types/SandboxRuntime.ts +0 -440
@@ -12,6 +12,7 @@ import type { AgentRuntime } from "../../types/runtime/agent/AgentRuntime.js";
12
12
  import type { DowncityConfig } from "../../types/config/DowncityConfig.js";
13
13
  import type { AgentPlugins } from "../../plugin/types/Plugin.js";
14
14
  import type { AgentCreateSessionInput, AgentListSessionsInput, AgentOptions, AgentSession, AgentSessionCollection, AgentSessionSummaryPage, AgentStartOptions, AgentStartResult, AgentStopResult } from "../../types/agent/AgentTypes.js";
15
+ import type { ShellApprovalDecisionResult, ShellApprovalView, Shell } from "@downcity/shell";
15
16
  import { Logger } from "../../utils/logger/Logger.js";
16
17
  /**
17
18
  * SDK 本地 Agent。
@@ -31,6 +32,7 @@ export declare class Agent {
31
32
  private readonly SessionClass;
32
33
  private readonly sessionManager;
33
34
  private readonly lifecycleService;
35
+ private readonly shell?;
34
36
  private instruction;
35
37
  constructor(options: AgentOptions);
36
38
  /**
@@ -53,6 +55,22 @@ export declare class Agent {
53
55
  * 停止当前 agent 实例的长期运行能力。
54
56
  */
55
57
  stop(): Promise<AgentStopResult>;
58
+ /**
59
+ * 列出当前 shell pending approvals。
60
+ */
61
+ approvals(): ShellApprovalView[];
62
+ /**
63
+ * 批准当前 shell pending approval。
64
+ */
65
+ approve(input: {
66
+ approval_id: string;
67
+ }): Promise<ShellApprovalDecisionResult>;
68
+ /**
69
+ * 拒绝当前 shell pending approval。
70
+ */
71
+ deny(input: {
72
+ approval_id: string;
73
+ }): Promise<ShellApprovalDecisionResult>;
56
74
  /**
57
75
  * 更新当前 SDK Agent 的静态基础指令。
58
76
  */
@@ -77,6 +95,10 @@ export declare class Agent {
77
95
  * 返回当前 session collection。
78
96
  */
79
97
  getSessionCollection(): AgentSessionCollection;
98
+ /**
99
+ * 返回当前 agent 挂载的 Shell。
100
+ */
101
+ getShell(): Shell | undefined;
80
102
  private create_session_manager;
81
103
  }
82
104
  //# sourceMappingURL=Agent.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Agent.d.ts","sourceRoot":"","sources":["../../../src/agent/local/Agent.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,IAAI,CAAC;AAC/B,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,uCAAuC,CAAC;AAC1E,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,uCAAuC,CAAC;AAC1E,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kCAAkC,CAAC;AACvE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,KAAK,EACV,uBAAuB,EACvB,sBAAsB,EAEtB,YAAY,EACZ,YAAY,EACZ,sBAAsB,EACtB,uBAAuB,EACvB,iBAAiB,EACjB,gBAAgB,EAChB,eAAe,EAChB,MAAM,6BAA6B,CAAC;AAErC,OAAO,EAAE,MAAM,EAAE,MAAM,0BAA0B,CAAC;AASlD;;GAEG;AACH,qBAAa,KAAK;IAChB,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IACrC,QAAQ,CAAC,OAAO,EAAE,YAAY,CAAC;IAE/B,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;IAChC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAe;IACvC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAe;IAC5C,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAiB;IAChD,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAiB;IACxC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAyB;IAC7C,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAa;IAC3C,OAAO,CAAC,QAAQ,CAAC,YAAY,CAA0B;IACvD,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAsB;IACrD,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAwB;IAEzD,OAAO,CAAC,WAAW,CAAW;gBAElB,OAAO,EAAE,YAAY;IA2CjC;;OAEG;IACG,aAAa,CAAC,KAAK,CAAC,EAAE,uBAAuB,GAAG,OAAO,CAAC,YAAY,CAAC;IAI3E;;OAEG;IACG,UAAU,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC;IAI1D;;OAEG;IACG,YAAY,CAChB,KAAK,CAAC,EAAE,sBAAsB,GAC7B,OAAO,CAAC,uBAAuB,CAAC;IAInC;;OAEG;IACG,KAAK,CAAC,OAAO,CAAC,EAAE,iBAAiB,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAInE;;OAEG;IACG,IAAI,IAAI,OAAO,CAAC,eAAe,CAAC;IAItC;;OAEG;IACH,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,IAAI;IAI9C;;OAEG;IACH,SAAS,IAAI,cAAc;IAI3B;;OAEG;IACH,SAAS,IAAI,MAAM;IAInB;;OAEG;IACH,UAAU,IAAI,YAAY;IAI1B;;OAEG;IACH,UAAU,IAAI,YAAY;IAI1B;;OAEG;IACH,oBAAoB,IAAI,sBAAsB;IAI9C,OAAO,CAAC,sBAAsB;CAgB/B"}
1
+ {"version":3,"file":"Agent.d.ts","sourceRoot":"","sources":["../../../src/agent/local/Agent.ts"],"names":[],"mappings":"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"}
@@ -28,6 +28,7 @@ export class Agent {
28
28
  SessionClass;
29
29
  sessionManager;
30
30
  lifecycleService;
31
+ shell;
31
32
  instruction;
32
33
  constructor(options) {
33
34
  this.defaultModel = options.model;
@@ -61,6 +62,7 @@ export class Agent {
61
62
  this.config = assembly.config;
62
63
  this.env = assembly.env;
63
64
  this.instruction = assembly.instruction;
65
+ this.shell = assembly.shell;
64
66
  this.sessionManager = this.create_session_manager(assembly);
65
67
  session_manager_ref = this.sessionManager;
66
68
  this.lifecycleService = new AgentLifecycleService({
@@ -68,6 +70,7 @@ export class Agent {
68
70
  agent_context: this.agentContext,
69
71
  session_collection: this.sessionManager.get_session_collection(),
70
72
  get_runtime: () => this.runtime,
73
+ get_shell: () => this.shell,
71
74
  });
72
75
  }
73
76
  /**
@@ -100,6 +103,28 @@ export class Agent {
100
103
  async stop() {
101
104
  return await this.lifecycleService.stop();
102
105
  }
106
+ /**
107
+ * 列出当前 shell pending approvals。
108
+ */
109
+ approvals() {
110
+ return this.shell?.approvals() || [];
111
+ }
112
+ /**
113
+ * 批准当前 shell pending approval。
114
+ */
115
+ async approve(input) {
116
+ if (!this.shell)
117
+ throw new Error("Agent shell is not configured");
118
+ return await this.shell.approve(input);
119
+ }
120
+ /**
121
+ * 拒绝当前 shell pending approval。
122
+ */
123
+ async deny(input) {
124
+ if (!this.shell)
125
+ throw new Error("Agent shell is not configured");
126
+ return await this.shell.deny(input);
127
+ }
103
128
  /**
104
129
  * 更新当前 SDK Agent 的静态基础指令。
105
130
  */
@@ -136,6 +161,12 @@ export class Agent {
136
161
  getSessionCollection() {
137
162
  return this.sessionManager.get_session_collection();
138
163
  }
164
+ /**
165
+ * 返回当前 agent 挂载的 Shell。
166
+ */
167
+ getShell() {
168
+ return this.shell;
169
+ }
139
170
  create_session_manager(assembly) {
140
171
  return new AgentSessionManager({
141
172
  agent_id: this.id || assembly.id,
@@ -1 +1 @@
1
- {"version":3,"file":"Agent.js","sourceRoot":"","sources":["../../../src/agent/local/Agent.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Agent.js","sourceRoot":"","sources":["../../../src/agent/local/Agent.ts"],"names":[],"mappings":"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"}
@@ -87,6 +87,10 @@ export interface AgentAssemblyResult {
87
87
  * 当前 agent context。
88
88
  */
89
89
  agent_context: AgentContext;
90
+ /**
91
+ * 当前 agent 挂载的内建 shell。
92
+ */
93
+ shell?: AgentOptions["shell"];
90
94
  }
91
95
  /**
92
96
  * 本地 Agent 装配服务。
@@ -1 +1 @@
1
- {"version":3,"file":"AgentAssemblyService.d.ts","sourceRoot":"","sources":["../../../../src/agent/local/services/AgentAssemblyService.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,IAAI,EAAE,MAAM,IAAI,CAAC;AAC9C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAC;AAC9D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,uCAAuC,CAAC;AAC1E,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,uCAAuC,CAAC;AAC1E,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kCAAkC,CAAC;AACvE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAChE,OAAO,EAAE,MAAM,EAAE,MAAM,0BAA0B,CAAC;AAElD,OAAO,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AAiBjE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AACvE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,uCAAuC,CAAC;AAEzE,KAAK,2BAA2B,GAAG;IACjC;;OAEG;IACH,OAAO,EAAE,YAAY,CAAC;IAEtB;;OAEG;IACH,oBAAoB,EAAE,MAAM,mBAAmB,EAAE,CAAC;IAElD;;OAEG;IACH,gBAAgB,EAAE,CAAC,UAAU,EAAE,MAAM,KAAK,WAAW,CAAC;IAEtD;;OAEG;IACH,qBAAqB,EAAE,CACrB,UAAU,EAAE,MAAM,KACf,OAAO,CAAC,aAAa,GAAG,SAAS,CAAC,CAAC;CACzC,CAAC;AAEF;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC;;OAEG;IACH,EAAE,EAAE,MAAM,CAAC;IAEX;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;IAEb;;OAEG;IACH,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IAE5B;;OAEG;IACH,MAAM,EAAE,MAAM,CAAC;IAEf;;OAEG;IACH,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAE5B;;OAEG;IACH,WAAW,EAAE,MAAM,EAAE,CAAC;IAEtB;;OAEG;IACH,MAAM,EAAE,cAAc,CAAC;IAEvB;;OAEG;IACH,gBAAgB,EAAE,GAAG,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;IAE1C;;OAEG;IACH,eAAe,EAAE,cAAc,CAAC;IAEhC;;OAEG;IACH,OAAO,EAAE,YAAY,CAAC;IAEtB;;OAEG;IACH,OAAO,EAAE,YAAY,CAAC;IAEtB;;OAEG;IACH,aAAa,EAAE,YAAY,CAAC;CAC7B;AAED;;GAEG;AACH,qBAAa,oBAAoB;IAC/B,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAe;IACvC,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAAsD;IAC3F,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAkD;IACnF,OAAO,CAAC,QAAQ,CAAC,qBAAqB,CAAuD;gBAEjF,OAAO,EAAE,2BAA2B;IAOhD;;OAEG;IACH,QAAQ,IAAI,mBAAmB;IA4E/B,OAAO,CAAC,WAAW;IAQnB,OAAO,CAAC,gBAAgB;IAgBxB;;OAEG;IACH,OAAO,CAAC,gCAAgC;CAezC"}
1
+ {"version":3,"file":"AgentAssemblyService.d.ts","sourceRoot":"","sources":["../../../../src/agent/local/services/AgentAssemblyService.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,IAAI,EAAE,MAAM,IAAI,CAAC;AAC9C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAC;AAC9D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,uCAAuC,CAAC;AAC1E,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,uCAAuC,CAAC;AAC1E,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kCAAkC,CAAC;AACvE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAChE,OAAO,EAAE,MAAM,EAAE,MAAM,0BAA0B,CAAC;AAElD,OAAO,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AAgBjE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AACvE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,uCAAuC,CAAC;AAGzE,KAAK,2BAA2B,GAAG;IACjC;;OAEG;IACH,OAAO,EAAE,YAAY,CAAC;IAEtB;;OAEG;IACH,oBAAoB,EAAE,MAAM,mBAAmB,EAAE,CAAC;IAElD;;OAEG;IACH,gBAAgB,EAAE,CAAC,UAAU,EAAE,MAAM,KAAK,WAAW,CAAC;IAEtD;;OAEG;IACH,qBAAqB,EAAE,CACrB,UAAU,EAAE,MAAM,KACf,OAAO,CAAC,aAAa,GAAG,SAAS,CAAC,CAAC;CACzC,CAAC;AAEF;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC;;OAEG;IACH,EAAE,EAAE,MAAM,CAAC;IAEX;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;IAEb;;OAEG;IACH,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IAE5B;;OAEG;IACH,MAAM,EAAE,MAAM,CAAC;IAEf;;OAEG;IACH,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAE5B;;OAEG;IACH,WAAW,EAAE,MAAM,EAAE,CAAC;IAEtB;;OAEG;IACH,MAAM,EAAE,cAAc,CAAC;IAEvB;;OAEG;IACH,gBAAgB,EAAE,GAAG,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;IAE1C;;OAEG;IACH,eAAe,EAAE,cAAc,CAAC;IAEhC;;OAEG;IACH,OAAO,EAAE,YAAY,CAAC;IAEtB;;OAEG;IACH,OAAO,EAAE,YAAY,CAAC;IAEtB;;OAEG;IACH,aAAa,EAAE,YAAY,CAAC;IAE5B;;OAEG;IACH,KAAK,CAAC,EAAE,YAAY,CAAC,OAAO,CAAC,CAAC;CAC/B;AAED;;GAEG;AACH,qBAAa,oBAAoB;IAC/B,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAe;IACvC,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAAsD;IAC3F,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAkD;IACnF,OAAO,CAAC,QAAQ,CAAC,qBAAqB,CAAuD;gBAEjF,OAAO,EAAE,2BAA2B;IAOhD;;OAEG;IACH,QAAQ,IAAI,mBAAmB;IA4F/B,OAAO,CAAC,WAAW;IAQnB,OAAO,CAAC,gBAAgB;IAgBxB;;OAEG;IACH,OAAO,CAAC,gCAAgC;CAezC"}
@@ -11,7 +11,6 @@ import { loadDowncityConfig, resolveAgentEnv } from "../../../config/Config.js";
11
11
  import { createFallbackSdkConfig, normalizeInstructionInput, } from "../../../agent/local/AgentInstructions.js";
12
12
  import { createAgentPluginRegistry, } from "../../../agent/local/AgentPluginFactory.js";
13
13
  import { createAgentContext, createAgentRuntime, } from "../../../agent/local/AgentRuntimeFactory.js";
14
- import { setShellToolRuntime } from "../../../executor/tools/shell/ShellToolDefinition.js";
15
14
  import { plugin_tools, setPluginToolRuntime, } from "../../../executor/tools/plugin/PluginToolDefinition.js";
16
15
  /**
17
16
  * 本地 Agent 装配服务。
@@ -81,7 +80,23 @@ export class AgentAssemblyService {
81
80
  get_session_port: this.get_session_port,
82
81
  resolve_session_model: async (session_id) => await this.resolve_session_model(session_id),
83
82
  });
84
- setShellToolRuntime(agent_context.invoke);
83
+ const shell = this.options.shell;
84
+ if (shell) {
85
+ shell.configure({
86
+ root_path: path,
87
+ env,
88
+ agent_id: id,
89
+ sandbox: config.sandbox,
90
+ logger,
91
+ emit_event: (event) => {
92
+ const session_id = String(event.session_id || "").trim();
93
+ if (!session_id)
94
+ return;
95
+ agent_context.session.get(session_id).publishEvent(event);
96
+ },
97
+ });
98
+ Object.assign(tools, shell.tools);
99
+ }
85
100
  setPluginToolRuntime(plugins);
86
101
  return {
87
102
  id,
@@ -96,6 +111,7 @@ export class AgentAssemblyService {
96
111
  plugins,
97
112
  runtime,
98
113
  agent_context,
114
+ ...(shell ? { shell } : {}),
99
115
  };
100
116
  }
101
117
  load_config(agent_id, project_root) {
@@ -1 +1 @@
1
- {"version":3,"file":"AgentAssemblyService.js","sourceRoot":"","sources":["../../../../src/agent/local/services/AgentAssemblyService.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"AgentAssemblyService.js","sourceRoot":"","sources":["../../../../src/agent/local/services/AgentAssemblyService.ts"],"names":[],"mappings":"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"}
@@ -10,6 +10,7 @@ import type { AgentContext } from "../../../types/runtime/agent/AgentContext.js"
10
10
  import type { AgentSessionCollection, AgentStartOptions, AgentStartResult, AgentStopResult } from "../../../types/agent/AgentTypes.js";
11
11
  import type { Logger } from "../../../utils/logger/Logger.js";
12
12
  import type { AgentRuntime } from "../../../types/runtime/agent/AgentRuntime.js";
13
+ import type { Shell } from "@downcity/shell";
13
14
  type AgentLifecycleServiceOptions = {
14
15
  /**
15
16
  * 当前统一日志器。
@@ -27,6 +28,10 @@ type AgentLifecycleServiceOptions = {
27
28
  * 读取当前 agent runtime。
28
29
  */
29
30
  get_runtime: () => AgentRuntime;
31
+ /**
32
+ * 读取当前 agent 挂载的 Shell。
33
+ */
34
+ get_shell?: () => Shell | undefined;
30
35
  };
31
36
  /**
32
37
  * 本地 Agent 生命周期服务。
@@ -36,6 +41,7 @@ export declare class AgentLifecycleService {
36
41
  private readonly agent_context;
37
42
  private readonly session_collection;
38
43
  private readonly get_runtime;
44
+ private readonly get_shell;
39
45
  private plugins_started;
40
46
  private action_schedule_runtime;
41
47
  private start_promise;
@@ -1 +1 @@
1
- {"version":3,"file":"AgentLifecycleService.d.ts","sourceRoot":"","sources":["../../../../src/agent/local/services/AgentLifecycleService.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,uCAAuC,CAAC;AAC1E,OAAO,KAAK,EAGV,sBAAsB,EACtB,iBAAiB,EACjB,gBAAgB,EAChB,eAAe,EAChB,MAAM,6BAA6B,CAAC;AACrC,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,0BAA0B,CAAC;AAKvD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,uCAAuC,CAAC;AAE1E,KAAK,4BAA4B,GAAG;IAClC;;OAEG;IACH,MAAM,EAAE,MAAM,CAAC;IAEf;;OAEG;IACH,aAAa,EAAE,YAAY,CAAC;IAE5B;;OAEG;IACH,kBAAkB,EAAE,sBAAsB,CAAC;IAE3C;;OAEG;IACH,WAAW,EAAE,MAAM,YAAY,CAAC;CACjC,CAAC;AAEF;;GAEG;AACH,qBAAa,qBAAqB;IAChC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;IAChC,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAe;IAC7C,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAyB;IAC5D,OAAO,CAAC,QAAQ,CAAC,WAAW,CAA8C;IAE1E,OAAO,CAAC,eAAe,CAAS;IAChC,OAAO,CAAC,uBAAuB,CAA4C;IAC3E,OAAO,CAAC,aAAa,CAA0C;IAC/D,OAAO,CAAC,WAAW,CAAgC;gBAEvC,OAAO,EAAE,4BAA4B;IAOjD;;OAEG;IACG,KAAK,CAAC,OAAO,CAAC,EAAE,iBAAiB,GAAG,OAAO,CAAC,gBAAgB,CAAC;IA0BnE;;OAEG;IACG,IAAI,IAAI,OAAO,CAAC,eAAe,CAAC;YAsBxB,sBAAsB;YActB,sCAAsC;YAWtC,4BAA4B;YAM5B,SAAS;YA2BT,QAAQ;CAMvB"}
1
+ {"version":3,"file":"AgentLifecycleService.d.ts","sourceRoot":"","sources":["../../../../src/agent/local/services/AgentLifecycleService.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,uCAAuC,CAAC;AAC1E,OAAO,KAAK,EAGV,sBAAsB,EACtB,iBAAiB,EACjB,gBAAgB,EAChB,eAAe,EAChB,MAAM,6BAA6B,CAAC;AACrC,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,0BAA0B,CAAC;AAKvD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,uCAAuC,CAAC;AAC1E,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAC;AAE7C,KAAK,4BAA4B,GAAG;IAClC;;OAEG;IACH,MAAM,EAAE,MAAM,CAAC;IAEf;;OAEG;IACH,aAAa,EAAE,YAAY,CAAC;IAE5B;;OAEG;IACH,kBAAkB,EAAE,sBAAsB,CAAC;IAE3C;;OAEG;IACH,WAAW,EAAE,MAAM,YAAY,CAAC;IAEhC;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,KAAK,GAAG,SAAS,CAAC;CACrC,CAAC;AAEF;;GAEG;AACH,qBAAa,qBAAqB;IAChC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;IAChC,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAe;IAC7C,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAyB;IAC5D,OAAO,CAAC,QAAQ,CAAC,WAAW,CAA8C;IAC1E,OAAO,CAAC,QAAQ,CAAC,SAAS,CAA4C;IAEtE,OAAO,CAAC,eAAe,CAAS;IAChC,OAAO,CAAC,uBAAuB,CAA4C;IAC3E,OAAO,CAAC,aAAa,CAA0C;IAC/D,OAAO,CAAC,WAAW,CAAgC;gBAEvC,OAAO,EAAE,4BAA4B;IAQjD;;OAEG;IACG,KAAK,CAAC,OAAO,CAAC,EAAE,iBAAiB,GAAG,OAAO,CAAC,gBAAgB,CAAC;IA0BnE;;OAEG;IACG,IAAI,IAAI,OAAO,CAAC,eAAe,CAAC;YAwBxB,sBAAsB;YActB,sCAAsC;YAWtC,4BAA4B;YAM5B,SAAS;YA4BT,QAAQ;CAMvB"}
@@ -17,6 +17,7 @@ export class AgentLifecycleService {
17
17
  agent_context;
18
18
  session_collection;
19
19
  get_runtime;
20
+ get_shell;
20
21
  plugins_started = false;
21
22
  action_schedule_runtime = null;
22
23
  start_promise = null;
@@ -26,6 +27,7 @@ export class AgentLifecycleService {
26
27
  this.agent_context = options.agent_context;
27
28
  this.session_collection = options.session_collection;
28
29
  this.get_runtime = options.get_runtime;
30
+ this.get_shell = options.get_shell;
29
31
  }
30
32
  /**
31
33
  * 启动当前 agent 实例的长期运行能力。
@@ -69,6 +71,7 @@ export class AgentLifecycleService {
69
71
  if (rpc_started) {
70
72
  await this.stop_rpc();
71
73
  }
74
+ await this.get_shell?.()?.dispose();
72
75
  this.start_promise = null;
73
76
  return {
74
77
  rpcStopped: rpc_started,
@@ -116,6 +119,7 @@ export class AgentLifecycleService {
116
119
  sessionCollection: this.session_collection,
117
120
  getAgentContext: () => this.agent_context,
118
121
  getAgentRuntime: () => this.get_runtime(),
122
+ getShell: () => this.get_shell?.(),
119
123
  });
120
124
  this.rpc_binding = {
121
125
  url: `rpc://${host}:${port}`,
@@ -1 +1 @@
1
- {"version":3,"file":"AgentLifecycleService.js","sourceRoot":"","sources":["../../../../src/agent/local/services/AgentLifecycleService.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"AgentLifecycleService.js","sourceRoot":"","sources":["../../../../src/agent/local/services/AgentLifecycleService.ts"],"names":[],"mappings":"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"}
@@ -6,7 +6,8 @@
6
6
  * - 当前内部支持 `http/https` 与 `rpc` 两种访问方式。
7
7
  * - `RemoteAgent` 只负责远程访问,不重复实现第二套会话编排器。
8
8
  */
9
- import type { AgentCreateSessionInput, AgentListSessionsInput, AgentSessionSummaryPage, RemoteAgentOptions, RemoteAgentSession } from "../../types/agent/AgentTypes.js";
9
+ import type { AgentCreateSessionInput, AgentListSessionsInput, AgentSessionSummaryPage, RemoteAgentPluginActionInput, RemoteAgentPluginActionResult, RemoteAgentOptions, RemoteAgentSession } from "../../types/agent/AgentTypes.js";
10
+ import type { ShellApprovalDecisionResult, ShellApprovalView } from "@downcity/shell";
10
11
  /**
11
12
  * RemoteAgent:远程 Agent 客户端。
12
13
  */
@@ -25,6 +26,30 @@ export declare class RemoteAgent {
25
26
  * 列出远程 agent 的 session 摘要页。
26
27
  */
27
28
  listSessions(input?: AgentListSessionsInput): Promise<AgentSessionSummaryPage>;
29
+ /**
30
+ * 执行远程 Agent runtime 内的 plugin action。
31
+ *
32
+ * 关键点(中文)
33
+ * - 这是 RemoteAgent 顶层能力,不绑定某个 session。
34
+ * - Shell approval 请使用 `approvals()` / `approve()` / `deny()`。
35
+ */
36
+ runPluginAction(input: RemoteAgentPluginActionInput): Promise<RemoteAgentPluginActionResult>;
37
+ /**
38
+ * 列出远程 Agent 的 shell pending approvals。
39
+ */
40
+ approvals(): Promise<ShellApprovalView[]>;
41
+ /**
42
+ * 批准远程 Agent 的 shell approval。
43
+ */
44
+ approve(input: {
45
+ approval_id: string;
46
+ }): Promise<ShellApprovalDecisionResult>;
47
+ /**
48
+ * 拒绝远程 Agent 的 shell approval。
49
+ */
50
+ deny(input: {
51
+ approval_id: string;
52
+ }): Promise<ShellApprovalDecisionResult>;
28
53
  /**
29
54
  * 关闭远程 transport。
30
55
  *
@@ -1 +1 @@
1
- {"version":3,"file":"RemoteAgent.d.ts","sourceRoot":"","sources":["../../../src/agent/remote/RemoteAgent.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EACV,uBAAuB,EACvB,sBAAsB,EACtB,uBAAuB,EACvB,kBAAkB,EAClB,kBAAkB,EACnB,MAAM,6BAA6B,CAAC;AAKrC;;GAEG;AACH,qBAAa,WAAW;IACtB,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAuB;gBAErC,OAAO,EAAE,kBAAkB;IAQvC;;OAEG;IACG,aAAa,CACjB,KAAK,CAAC,EAAE,uBAAuB,GAC9B,OAAO,CAAC,kBAAkB,CAAC;IAK9B;;OAEG;IACG,UAAU,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,kBAAkB,CAAC;IAShE;;OAEG;IACG,YAAY,CAChB,KAAK,CAAC,EAAE,sBAAsB,GAC7B,OAAO,CAAC,uBAAuB,CAAC;IAInC;;;;;;OAMG;IACG,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;CAG7B"}
1
+ {"version":3,"file":"RemoteAgent.d.ts","sourceRoot":"","sources":["../../../src/agent/remote/RemoteAgent.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EACV,uBAAuB,EACvB,sBAAsB,EACtB,uBAAuB,EACvB,4BAA4B,EAC5B,6BAA6B,EAC7B,kBAAkB,EAClB,kBAAkB,EACnB,MAAM,6BAA6B,CAAC;AACrC,OAAO,KAAK,EACV,2BAA2B,EAC3B,iBAAiB,EAClB,MAAM,iBAAiB,CAAC;AAKzB;;GAEG;AACH,qBAAa,WAAW;IACtB,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAuB;gBAErC,OAAO,EAAE,kBAAkB;IAQvC;;OAEG;IACG,aAAa,CACjB,KAAK,CAAC,EAAE,uBAAuB,GAC9B,OAAO,CAAC,kBAAkB,CAAC;IAK9B;;OAEG;IACG,UAAU,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,kBAAkB,CAAC;IAShE;;OAEG;IACG,YAAY,CAChB,KAAK,CAAC,EAAE,sBAAsB,GAC7B,OAAO,CAAC,uBAAuB,CAAC;IAInC;;;;;;OAMG;IACG,eAAe,CACnB,KAAK,EAAE,4BAA4B,GAClC,OAAO,CAAC,6BAA6B,CAAC;IAgBzC;;OAEG;IACG,SAAS,IAAI,OAAO,CAAC,iBAAiB,EAAE,CAAC;IAI/C;;OAEG;IACG,OAAO,CAAC,KAAK,EAAE;QAAE,WAAW,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,2BAA2B,CAAC;IAInF;;OAEG;IACG,IAAI,CAAC,KAAK,EAAE;QAAE,WAAW,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,2BAA2B,CAAC;IAIhF;;;;;;OAMG;IACG,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;CAG7B"}
@@ -44,6 +44,46 @@ export class RemoteAgent {
44
44
  async listSessions(input) {
45
45
  return await this.transport.list_sessions(input);
46
46
  }
47
+ /**
48
+ * 执行远程 Agent runtime 内的 plugin action。
49
+ *
50
+ * 关键点(中文)
51
+ * - 这是 RemoteAgent 顶层能力,不绑定某个 session。
52
+ * - Shell approval 请使用 `approvals()` / `approve()` / `deny()`。
53
+ */
54
+ async runPluginAction(input) {
55
+ const plugin = String(input.plugin || "").trim();
56
+ const action = String(input.action || "").trim();
57
+ if (!plugin) {
58
+ throw new Error("runPluginAction requires a non-empty plugin");
59
+ }
60
+ if (!action) {
61
+ throw new Error("runPluginAction requires a non-empty action");
62
+ }
63
+ return await this.transport.run_plugin_action({
64
+ plugin,
65
+ action,
66
+ ...(input.payload !== undefined ? { payload: input.payload } : {}),
67
+ });
68
+ }
69
+ /**
70
+ * 列出远程 Agent 的 shell pending approvals。
71
+ */
72
+ async approvals() {
73
+ return await this.transport.approvals();
74
+ }
75
+ /**
76
+ * 批准远程 Agent 的 shell approval。
77
+ */
78
+ async approve(input) {
79
+ return await this.transport.approve(input);
80
+ }
81
+ /**
82
+ * 拒绝远程 Agent 的 shell approval。
83
+ */
84
+ async deny(input) {
85
+ return await this.transport.deny(input);
86
+ }
47
87
  /**
48
88
  * 关闭远程 transport。
49
89
  *
@@ -1 +1 @@
1
- {"version":3,"file":"RemoteAgent.js","sourceRoot":"","sources":["../../../src/agent/remote/RemoteAgent.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAUH,OAAO,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAC;AAChE,OAAO,EAAE,6BAA6B,EAAE,MAAM,oCAAoC,CAAC;AAEnF;;GAEG;AACH,MAAM,OAAO,WAAW;IACL,SAAS,CAAuB;IAEjD,YAAY,OAA2B;QACrC,MAAM,GAAG,GAAG,MAAM,CAAC,OAAO,CAAC,GAAG,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;QAC7C,IAAI,CAAC,GAAG,EAAE,CAAC;YACT,MAAM,IAAI,KAAK,CAAC,sCAAsC,CAAC,CAAC;QAC1D,CAAC;QACD,IAAI,CAAC,SAAS,GAAG,6BAA6B,CAAC,GAAG,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC;IACrE,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,aAAa,CACjB,KAA+B;QAE/B,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;QACxD,OAAO,IAAI,aAAa,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;IAC3D,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,UAAU,CAAC,SAAiB;QAChC,MAAM,mBAAmB,GAAG,MAAM,CAAC,SAAS,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;QAC3D,IAAI,CAAC,mBAAmB,EAAE,CAAC;YACzB,MAAM,IAAI,KAAK,CAAC,2CAA2C,CAAC,CAAC;QAC/D,CAAC;QACD,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,mBAAmB,CAAC,CAAC;QAChE,OAAO,IAAI,aAAa,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;IAC3D,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,YAAY,CAChB,KAA8B;QAE9B,OAAO,MAAM,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;IACnD,CAAC;IAED;;;;;;OAMG;IACH,KAAK,CAAC,KAAK;QACT,MAAM,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,EAAE,CAAC;IACjC,CAAC;CACF"}
1
+ {"version":3,"file":"RemoteAgent.js","sourceRoot":"","sources":["../../../src/agent/remote/RemoteAgent.ts"],"names":[],"mappings":"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"}
@@ -5,9 +5,10 @@
5
5
  * - RemoteSession 只依赖这里定义的最小会话传输能力。
6
6
  * - HTTP / RPC transport 只负责协议适配,不持有 session 编排逻辑。
7
7
  */
8
- import type { AgentCreateSessionInput, AgentListSessionsInput, AgentSessionForkInput, AgentSessionHistoryInput, AgentSessionHistoryPage, AgentSessionInfo, AgentSessionSummaryPage, AgentSessionSystemSnapshot } from "../../types/agent/AgentTypes.js";
8
+ import type { AgentCreateSessionInput, AgentListSessionsInput, AgentSessionForkInput, AgentSessionHistoryInput, AgentSessionHistoryPage, AgentSessionInfo, AgentSessionSummaryPage, AgentSessionSystemSnapshot, RemoteAgentPluginActionInput, RemoteAgentPluginActionResult } from "../../types/agent/AgentTypes.js";
9
9
  import type { AgentSessionEvent } from "../../types/sdk/AgentSessionEvent.js";
10
10
  import type { AgentSessionPromptInput } from "../../types/sdk/AgentSessionPrompt.js";
11
+ import type { ShellApprovalDecisionResult, ShellApprovalView } from "@downcity/shell";
11
12
  /**
12
13
  * Transport 持有的事件订阅句柄。
13
14
  */
@@ -46,6 +47,18 @@ export type RemoteAgentTransport = RemoteSessionTransport & {
46
47
  create_session(input?: AgentCreateSessionInput): Promise<AgentSessionInfo>;
47
48
  /** 列出 sessions。 */
48
49
  list_sessions(input?: AgentListSessionsInput): Promise<AgentSessionSummaryPage>;
50
+ /** 执行远程 Agent runtime 内的 plugin action。 */
51
+ run_plugin_action(input: RemoteAgentPluginActionInput): Promise<RemoteAgentPluginActionResult>;
52
+ /** 列出 shell approvals。 */
53
+ approvals(): Promise<ShellApprovalView[]>;
54
+ /** 批准 shell approval。 */
55
+ approve(input: {
56
+ approval_id: string;
57
+ }): Promise<ShellApprovalDecisionResult>;
58
+ /** 拒绝 shell approval。 */
59
+ deny(input: {
60
+ approval_id: string;
61
+ }): Promise<ShellApprovalDecisionResult>;
49
62
  /** 关闭 transport 持有的长期连接。 */
50
63
  close?(): Promise<void>;
51
64
  };
@@ -1 +1 @@
1
- {"version":3,"file":"RemoteTransport.d.ts","sourceRoot":"","sources":["../../../src/agent/remote/RemoteTransport.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EACV,uBAAuB,EACvB,sBAAsB,EACtB,qBAAqB,EACrB,wBAAwB,EACxB,uBAAuB,EACvB,gBAAgB,EAChB,uBAAuB,EACvB,0BAA0B,EAC3B,MAAM,6BAA6B,CAAC;AACrC,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,kCAAkC,CAAC;AAC1E,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,mCAAmC,CAAC;AAEjF;;GAEG;AACH,MAAM,MAAM,qBAAqB,GAAG;IAClC,cAAc;IACd,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CACxB,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,sBAAsB,GAAG;IACnC,qBAAqB;IACrB,QAAQ,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAAC;IACxD,iBAAiB;IACjB,MAAM,CACJ,UAAU,EAAE,MAAM,EAClB,KAAK,EAAE,uBAAuB,GAC7B,OAAO,CAAC;QAAE,EAAE,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC3B,qBAAqB;IACrB,SAAS,CAAC,MAAM,EAAE;QAChB,UAAU,EAAE,MAAM,CAAC;QACnB,QAAQ,EAAE,MAAM,IAAI,CAAC;QACrB,QAAQ,EAAE,CAAC,KAAK,EAAE,iBAAiB,KAAK,IAAI,CAAC;KAC9C,GAAG,OAAO,CAAC,qBAAqB,CAAC,CAAC;IACnC,kBAAkB;IAClB,OAAO,CACL,UAAU,EAAE,MAAM,EAClB,KAAK,CAAC,EAAE,wBAAwB,GAC/B,OAAO,CAAC,uBAAuB,CAAC,CAAC;IACpC,0BAA0B;IAC1B,MAAM,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,0BAA0B,CAAC,CAAC;IAChE,kBAAkB;IAClB,IAAI,CACF,UAAU,EAAE,MAAM,EAClB,KAAK,CAAC,EAAE,qBAAqB,GAAG,MAAM,GACrC,OAAO,CAAC,gBAAgB,CAAC,CAAC;CAC9B,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,oBAAoB,GAAG,sBAAsB,GAAG;IAC1D,kBAAkB;IAClB,cAAc,CAAC,KAAK,CAAC,EAAE,uBAAuB,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAAC;IAC3E,mBAAmB;IACnB,aAAa,CAAC,KAAK,CAAC,EAAE,sBAAsB,GAAG,OAAO,CAAC,uBAAuB,CAAC,CAAC;IAChF,4BAA4B;IAC5B,KAAK,CAAC,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CACzB,CAAC"}
1
+ {"version":3,"file":"RemoteTransport.d.ts","sourceRoot":"","sources":["../../../src/agent/remote/RemoteTransport.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EACV,uBAAuB,EACvB,sBAAsB,EACtB,qBAAqB,EACrB,wBAAwB,EACxB,uBAAuB,EACvB,gBAAgB,EAChB,uBAAuB,EACvB,0BAA0B,EAC1B,4BAA4B,EAC5B,6BAA6B,EAC9B,MAAM,6BAA6B,CAAC;AACrC,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,kCAAkC,CAAC;AAC1E,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,mCAAmC,CAAC;AACjF,OAAO,KAAK,EACV,2BAA2B,EAC3B,iBAAiB,EAClB,MAAM,iBAAiB,CAAC;AAEzB;;GAEG;AACH,MAAM,MAAM,qBAAqB,GAAG;IAClC,cAAc;IACd,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CACxB,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,sBAAsB,GAAG;IACnC,qBAAqB;IACrB,QAAQ,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAAC;IACxD,iBAAiB;IACjB,MAAM,CACJ,UAAU,EAAE,MAAM,EAClB,KAAK,EAAE,uBAAuB,GAC7B,OAAO,CAAC;QAAE,EAAE,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC3B,qBAAqB;IACrB,SAAS,CAAC,MAAM,EAAE;QAChB,UAAU,EAAE,MAAM,CAAC;QACnB,QAAQ,EAAE,MAAM,IAAI,CAAC;QACrB,QAAQ,EAAE,CAAC,KAAK,EAAE,iBAAiB,KAAK,IAAI,CAAC;KAC9C,GAAG,OAAO,CAAC,qBAAqB,CAAC,CAAC;IACnC,kBAAkB;IAClB,OAAO,CACL,UAAU,EAAE,MAAM,EAClB,KAAK,CAAC,EAAE,wBAAwB,GAC/B,OAAO,CAAC,uBAAuB,CAAC,CAAC;IACpC,0BAA0B;IAC1B,MAAM,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,0BAA0B,CAAC,CAAC;IAChE,kBAAkB;IAClB,IAAI,CACF,UAAU,EAAE,MAAM,EAClB,KAAK,CAAC,EAAE,qBAAqB,GAAG,MAAM,GACrC,OAAO,CAAC,gBAAgB,CAAC,CAAC;CAC9B,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,oBAAoB,GAAG,sBAAsB,GAAG;IAC1D,kBAAkB;IAClB,cAAc,CAAC,KAAK,CAAC,EAAE,uBAAuB,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAAC;IAC3E,mBAAmB;IACnB,aAAa,CAAC,KAAK,CAAC,EAAE,sBAAsB,GAAG,OAAO,CAAC,uBAAuB,CAAC,CAAC;IAChF,2CAA2C;IAC3C,iBAAiB,CACf,KAAK,EAAE,4BAA4B,GAClC,OAAO,CAAC,6BAA6B,CAAC,CAAC;IAC1C,0BAA0B;IAC1B,SAAS,IAAI,OAAO,CAAC,iBAAiB,EAAE,CAAC,CAAC;IAC1C,yBAAyB;IACzB,OAAO,CAAC,KAAK,EAAE;QAAE,WAAW,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,2BAA2B,CAAC,CAAC;IAC9E,yBAAyB;IACzB,IAAI,CAAC,KAAK,EAAE;QAAE,WAAW,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,2BAA2B,CAAC,CAAC;IAC3E,4BAA4B;IAC5B,KAAK,CAAC,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CACzB,CAAC"}
@@ -5,10 +5,11 @@
5
5
  * - 只适配 Town Agent HTTP gateway 的 SDK routes。
6
6
  * - 不处理 RemoteSession 的 turn lifecycle,避免 transport 与 actor 逻辑混在一起。
7
7
  */
8
- import type { AgentCreateSessionInput, AgentListSessionsInput, AgentSessionForkInput, AgentSessionHistoryInput, AgentSessionHistoryPage, AgentSessionInfo, AgentSessionSummaryPage, AgentSessionSystemSnapshot } from "../../../types/agent/AgentTypes.js";
8
+ import type { AgentCreateSessionInput, AgentListSessionsInput, AgentSessionForkInput, AgentSessionHistoryInput, AgentSessionHistoryPage, AgentSessionInfo, AgentSessionSummaryPage, AgentSessionSystemSnapshot, RemoteAgentPluginActionInput, RemoteAgentPluginActionResult } from "../../../types/agent/AgentTypes.js";
9
9
  import type { AgentSessionEvent } from "../../../types/sdk/AgentSessionEvent.js";
10
10
  import type { AgentSessionPromptInput } from "../../../types/sdk/AgentSessionPrompt.js";
11
11
  import type { RemoteAgentTransport, TransportSubscription } from "../../../agent/remote/RemoteTransport.js";
12
+ import type { ShellApprovalDecisionResult, ShellApprovalView } from "@downcity/shell";
12
13
  /**
13
14
  * Town HTTP gateway transport。
14
15
  */
@@ -31,5 +32,14 @@ export declare class HttpRemoteAgentTransport implements RemoteAgentTransport {
31
32
  system(session_id: string): Promise<AgentSessionSystemSnapshot>;
32
33
  fork(session_id: string, input?: AgentSessionForkInput | string): Promise<AgentSessionInfo>;
33
34
  list_sessions(input?: AgentListSessionsInput): Promise<AgentSessionSummaryPage>;
35
+ run_plugin_action(input: RemoteAgentPluginActionInput): Promise<RemoteAgentPluginActionResult>;
36
+ approvals(): Promise<ShellApprovalView[]>;
37
+ approve(input: {
38
+ approval_id: string;
39
+ }): Promise<ShellApprovalDecisionResult>;
40
+ deny(input: {
41
+ approval_id: string;
42
+ }): Promise<ShellApprovalDecisionResult>;
43
+ private run_shell_decision;
34
44
  }
35
45
  //# sourceMappingURL=HttpRemoteAgentTransport.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"HttpRemoteAgentTransport.d.ts","sourceRoot":"","sources":["../../../../src/agent/remote/transports/HttpRemoteAgentTransport.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EACV,uBAAuB,EACvB,sBAAsB,EACtB,qBAAqB,EACrB,wBAAwB,EACxB,uBAAuB,EACvB,gBAAgB,EAChB,uBAAuB,EACvB,0BAA0B,EAC3B,MAAM,6BAA6B,CAAC;AACrC,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,kCAAkC,CAAC;AAC1E,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,mCAAmC,CAAC;AACjF,OAAO,KAAK,EACV,oBAAoB,EACpB,qBAAqB,EACtB,MAAM,mCAAmC,CAAC;AAO3C;;GAEG;AACH,qBAAa,wBAAyB,YAAW,oBAAoB;IACnE,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAS;IAClC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAS;gBAEnB,GAAG,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM;IAKvC,OAAO,CAAC,OAAO;IAQT,cAAc,CAAC,KAAK,CAAC,EAAE,uBAAuB,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAoB1E,QAAQ,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAcvD,MAAM,CACV,UAAU,EAAE,MAAM,EAClB,KAAK,EAAE,uBAAuB,GAC7B,OAAO,CAAC;QAAE,EAAE,EAAE,MAAM,CAAA;KAAE,CAAC;IAuBpB,SAAS,CAAC,MAAM,EAAE;QACtB,UAAU,EAAE,MAAM,CAAC;QACnB,QAAQ,EAAE,MAAM,IAAI,CAAC;QACrB,QAAQ,EAAE,CAAC,KAAK,EAAE,iBAAiB,KAAK,IAAI,CAAC;KAC9C,GAAG,OAAO,CAAC,qBAAqB,CAAC;IAuC5B,OAAO,CACX,UAAU,EAAE,MAAM,EAClB,KAAK,CAAC,EAAE,wBAAwB,GAC/B,OAAO,CAAC,uBAAuB,CAAC;IAwB7B,MAAM,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,0BAA0B,CAAC;IAc/D,IAAI,CACR,UAAU,EAAE,MAAM,EAClB,KAAK,CAAC,EAAE,qBAAqB,GAAG,MAAM,GACrC,OAAO,CAAC,gBAAgB,CAAC;IAwBtB,aAAa,CAAC,KAAK,CAAC,EAAE,sBAAsB,GAAG,OAAO,CAAC,uBAAuB,CAAC;CAoBtF"}
1
+ {"version":3,"file":"HttpRemoteAgentTransport.d.ts","sourceRoot":"","sources":["../../../../src/agent/remote/transports/HttpRemoteAgentTransport.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EACV,uBAAuB,EACvB,sBAAsB,EACtB,qBAAqB,EACrB,wBAAwB,EACxB,uBAAuB,EACvB,gBAAgB,EAChB,uBAAuB,EACvB,0BAA0B,EAC1B,4BAA4B,EAC5B,6BAA6B,EAC9B,MAAM,6BAA6B,CAAC;AACrC,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,kCAAkC,CAAC;AAC1E,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,mCAAmC,CAAC;AACjF,OAAO,KAAK,EACV,oBAAoB,EACpB,qBAAqB,EACtB,MAAM,mCAAmC,CAAC;AAC3C,OAAO,KAAK,EACV,2BAA2B,EAC3B,iBAAiB,EAClB,MAAM,iBAAiB,CAAC;AAOzB;;GAEG;AACH,qBAAa,wBAAyB,YAAW,oBAAoB;IACnE,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAS;IAClC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAS;gBAEnB,GAAG,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM;IAKvC,OAAO,CAAC,OAAO;IAQT,cAAc,CAAC,KAAK,CAAC,EAAE,uBAAuB,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAoB1E,QAAQ,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAcvD,MAAM,CACV,UAAU,EAAE,MAAM,EAClB,KAAK,EAAE,uBAAuB,GAC7B,OAAO,CAAC;QAAE,EAAE,EAAE,MAAM,CAAA;KAAE,CAAC;IAuBpB,SAAS,CAAC,MAAM,EAAE;QACtB,UAAU,EAAE,MAAM,CAAC;QACnB,QAAQ,EAAE,MAAM,IAAI,CAAC;QACrB,QAAQ,EAAE,CAAC,KAAK,EAAE,iBAAiB,KAAK,IAAI,CAAC;KAC9C,GAAG,OAAO,CAAC,qBAAqB,CAAC;IAuC5B,OAAO,CACX,UAAU,EAAE,MAAM,EAClB,KAAK,CAAC,EAAE,wBAAwB,GAC/B,OAAO,CAAC,uBAAuB,CAAC;IAwB7B,MAAM,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,0BAA0B,CAAC;IAc/D,IAAI,CACR,UAAU,EAAE,MAAM,EAClB,KAAK,CAAC,EAAE,qBAAqB,GAAG,MAAM,GACrC,OAAO,CAAC,gBAAgB,CAAC;IAwBtB,aAAa,CAAC,KAAK,CAAC,EAAE,sBAAsB,GAAG,OAAO,CAAC,uBAAuB,CAAC;IAqB/E,iBAAiB,CACrB,KAAK,EAAE,4BAA4B,GAClC,OAAO,CAAC,6BAA6B,CAAC;IAqBnC,SAAS,IAAI,OAAO,CAAC,iBAAiB,EAAE,CAAC;IAczC,OAAO,CAAC,KAAK,EAAE;QAAE,WAAW,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,2BAA2B,CAAC;IAI7E,IAAI,CAAC,KAAK,EAAE;QAAE,WAAW,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,2BAA2B,CAAC;YAIlE,kBAAkB;CAkBjC"}
@@ -158,6 +158,51 @@ export class HttpRemoteAgentTransport {
158
158
  }
159
159
  return payload.page;
160
160
  }
161
+ async run_plugin_action(input) {
162
+ const payload = await read_http_action_json(`${this.base_url}/api/plugins/action`, {
163
+ method: "POST",
164
+ headers: this.headers({
165
+ "Content-Type": "application/json",
166
+ }),
167
+ body: JSON.stringify({
168
+ pluginName: input.plugin,
169
+ actionName: input.action,
170
+ ...(input.payload !== undefined ? { payload: input.payload } : {}),
171
+ }),
172
+ });
173
+ if (typeof payload.success !== "boolean") {
174
+ throw new Error("Remote plugin action returned an invalid response");
175
+ }
176
+ return payload;
177
+ }
178
+ async approvals() {
179
+ const payload = await read_http_json(`${this.base_url}/api/shell/approvals`, {
180
+ headers: this.headers(),
181
+ });
182
+ if (!payload.success || !Array.isArray(payload.approvals)) {
183
+ throw new Error(String(payload.error || "Remote shell approvals failed"));
184
+ }
185
+ return payload.approvals;
186
+ }
187
+ async approve(input) {
188
+ return await this.run_shell_decision("approve", input.approval_id);
189
+ }
190
+ async deny(input) {
191
+ return await this.run_shell_decision("deny", input.approval_id);
192
+ }
193
+ async run_shell_decision(action, approval_id) {
194
+ const payload = await read_http_json(`${this.base_url}/api/shell/${action}`, {
195
+ method: "POST",
196
+ headers: this.headers({
197
+ "Content-Type": "application/json",
198
+ }),
199
+ body: JSON.stringify({ approval_id }),
200
+ });
201
+ if (typeof payload.success !== "boolean") {
202
+ throw new Error(String(payload.error || `Remote shell ${action} failed`));
203
+ }
204
+ return payload;
205
+ }
161
206
  }
162
207
  async function read_http_json(input, init) {
163
208
  const response = await fetch(input, init);
@@ -168,6 +213,15 @@ async function read_http_json(input, init) {
168
213
  }
169
214
  return payload;
170
215
  }
216
+ async function read_http_action_json(input, init) {
217
+ const response = await fetch(input, init);
218
+ const payload = (await response.json().catch(() => ({})));
219
+ if (!response.ok && typeof payload.success !== "boolean") {
220
+ const message = extract_error_message(payload);
221
+ throw new Error(message || `HTTP ${response.status}`);
222
+ }
223
+ return payload;
224
+ }
171
225
  async function consume_http_event_stream(params) {
172
226
  const decoder = new TextDecoder();
173
227
  const reader = params.body.getReader();