@downcity/agent 1.1.129 → 1.1.148

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 (228) hide show
  1. package/README.md +2 -2
  2. package/bin/agent/local/Agent.d.ts +40 -26
  3. package/bin/agent/local/Agent.d.ts.map +1 -1
  4. package/bin/agent/local/Agent.js +65 -41
  5. package/bin/agent/local/Agent.js.map +1 -1
  6. package/bin/agent/local/ProjectSetup.js +2 -2
  7. package/bin/agent/local/ProjectSetup.js.map +1 -1
  8. package/bin/agent/local/services/AgentAssemblyService.d.ts +2 -7
  9. package/bin/agent/local/services/AgentAssemblyService.d.ts.map +1 -1
  10. package/bin/agent/local/services/AgentAssemblyService.js +34 -22
  11. package/bin/agent/local/services/AgentAssemblyService.js.map +1 -1
  12. package/bin/agent/local/services/AgentBackgroundService.d.ts +55 -0
  13. package/bin/agent/local/services/AgentBackgroundService.d.ts.map +1 -0
  14. package/bin/agent/local/services/AgentBackgroundService.js +86 -0
  15. package/bin/agent/local/services/AgentBackgroundService.js.map +1 -0
  16. package/bin/agent/local/services/AgentSessionManager.d.ts +16 -7
  17. package/bin/agent/local/services/AgentSessionManager.d.ts.map +1 -1
  18. package/bin/agent/local/services/AgentSessionManager.js +83 -8
  19. package/bin/agent/local/services/AgentSessionManager.js.map +1 -1
  20. package/bin/agent/remote/RemoteAgent.d.ts +9 -13
  21. package/bin/agent/remote/RemoteAgent.d.ts.map +1 -1
  22. package/bin/agent/remote/RemoteAgent.js +23 -24
  23. package/bin/agent/remote/RemoteAgent.js.map +1 -1
  24. package/bin/agent/remote/RemoteSession.d.ts +11 -4
  25. package/bin/agent/remote/RemoteSession.d.ts.map +1 -1
  26. package/bin/agent/remote/RemoteSession.js +15 -3
  27. package/bin/agent/remote/RemoteSession.js.map +1 -1
  28. package/bin/agent/remote/RemoteTransport.d.ts +9 -1
  29. package/bin/agent/remote/RemoteTransport.d.ts.map +1 -1
  30. package/bin/agent/remote/transports/HttpRemoteAgentTransport.d.ts +7 -3
  31. package/bin/agent/remote/transports/HttpRemoteAgentTransport.d.ts.map +1 -1
  32. package/bin/agent/remote/transports/HttpRemoteAgentTransport.js +65 -2
  33. package/bin/agent/remote/transports/HttpRemoteAgentTransport.js.map +1 -1
  34. package/bin/agent/remote/transports/RpcRemoteAgentTransport.d.ts +5 -1
  35. package/bin/agent/remote/transports/RpcRemoteAgentTransport.d.ts.map +1 -1
  36. package/bin/agent/remote/transports/RpcRemoteAgentTransport.js +12 -0
  37. package/bin/agent/remote/transports/RpcRemoteAgentTransport.js.map +1 -1
  38. package/bin/config/AgentInitializer.d.ts +2 -2
  39. package/bin/config/AgentInitializer.js +2 -2
  40. package/bin/executor/Executor.d.ts +5 -0
  41. package/bin/executor/Executor.d.ts.map +1 -1
  42. package/bin/executor/Executor.js +34 -0
  43. package/bin/executor/Executor.js.map +1 -1
  44. package/bin/executor/composer/system/default/InitPrompts.d.ts +1 -1
  45. package/bin/executor/composer/system/default/InitPrompts.js +1 -1
  46. package/bin/executor/composer/system/default/SystemDomain.js +2 -2
  47. package/bin/executor/composer/system/default/SystemDomain.js.map +1 -1
  48. package/bin/executor/core-engine/CoreEngineRunner.d.ts.map +1 -1
  49. package/bin/executor/core-engine/CoreEngineRunner.js +16 -0
  50. package/bin/executor/core-engine/CoreEngineRunner.js.map +1 -1
  51. package/bin/executor/messages/ChatMessageMarkupTypes.d.ts +1 -1
  52. package/bin/executor/messages/ChatMessageMarkupTypes.js +1 -1
  53. package/bin/executor/store/history/jsonl/JsonlSessionHistoryStore.d.ts +8 -0
  54. package/bin/executor/store/history/jsonl/JsonlSessionHistoryStore.d.ts.map +1 -1
  55. package/bin/executor/store/history/jsonl/JsonlSessionHistoryStore.js +22 -0
  56. package/bin/executor/store/history/jsonl/JsonlSessionHistoryStore.js.map +1 -1
  57. package/bin/executor/types/SessionExecutor.d.ts +8 -0
  58. package/bin/executor/types/SessionExecutor.d.ts.map +1 -1
  59. package/bin/index.d.ts +4 -4
  60. package/bin/index.d.ts.map +1 -1
  61. package/bin/index.js +1 -2
  62. package/bin/index.js.map +1 -1
  63. package/bin/plugin/core/Activation.d.ts +0 -2
  64. package/bin/plugin/core/Activation.d.ts.map +1 -1
  65. package/bin/plugin/core/Activation.js +1 -1
  66. package/bin/plugin/core/Activation.js.map +1 -1
  67. package/bin/plugin/core/PluginCommandRequest.d.ts +1 -1
  68. package/bin/plugin/core/PluginCommandRequest.js +1 -1
  69. package/bin/plugin/core/PluginStateController.d.ts +0 -5
  70. package/bin/plugin/core/PluginStateController.d.ts.map +1 -1
  71. package/bin/plugin/core/PluginStateController.js +1 -5
  72. package/bin/plugin/core/PluginStateController.js.map +1 -1
  73. package/bin/plugin/types/PluginApi.d.ts +1 -1
  74. package/bin/plugin/types/PluginApi.js +1 -1
  75. package/bin/rpc/Client.d.ts +17 -1
  76. package/bin/rpc/Client.d.ts.map +1 -1
  77. package/bin/rpc/Client.js +47 -0
  78. package/bin/rpc/Client.js.map +1 -1
  79. package/bin/session/Session.d.ts +5 -0
  80. package/bin/session/Session.d.ts.map +1 -1
  81. package/bin/session/Session.js +7 -0
  82. package/bin/session/Session.js.map +1 -1
  83. package/bin/session/browse/Browse.d.ts +9 -1
  84. package/bin/session/browse/Browse.d.ts.map +1 -1
  85. package/bin/session/browse/Browse.js +81 -3
  86. package/bin/session/browse/Browse.js.map +1 -1
  87. package/bin/session/index.d.ts +3 -3
  88. package/bin/session/index.d.ts.map +1 -1
  89. package/bin/session/index.js +3 -3
  90. package/bin/session/index.js.map +1 -1
  91. package/bin/session/runtime/SessionPromptRuntime.d.ts +13 -0
  92. package/bin/session/runtime/SessionPromptRuntime.d.ts.map +1 -1
  93. package/bin/session/runtime/SessionPromptRuntime.js +82 -5
  94. package/bin/session/runtime/SessionPromptRuntime.js.map +1 -1
  95. package/bin/session/services/SessionTurnService.d.ts +5 -0
  96. package/bin/session/services/SessionTurnService.d.ts.map +1 -1
  97. package/bin/session/services/SessionTurnService.js +10 -1
  98. package/bin/session/services/SessionTurnService.js.map +1 -1
  99. package/bin/session/services/SessionViewService.d.ts.map +1 -1
  100. package/bin/session/services/SessionViewService.js +1 -7
  101. package/bin/session/services/SessionViewService.js.map +1 -1
  102. package/bin/session/storage/Metadata.d.ts +15 -0
  103. package/bin/session/storage/Metadata.d.ts.map +1 -1
  104. package/bin/session/storage/Metadata.js +15 -1
  105. package/bin/session/storage/Metadata.js.map +1 -1
  106. package/bin/session/storage/Paths.d.ts +24 -0
  107. package/bin/session/storage/Paths.d.ts.map +1 -1
  108. package/bin/session/storage/Paths.js +34 -0
  109. package/bin/session/storage/Paths.js.map +1 -1
  110. package/bin/session/storage/RuntimeSessionPort.d.ts +5 -0
  111. package/bin/session/storage/RuntimeSessionPort.d.ts.map +1 -1
  112. package/bin/session/storage/RuntimeSessionPort.js +4 -0
  113. package/bin/session/storage/RuntimeSessionPort.js.map +1 -1
  114. package/bin/types/agent/AgentOptions.d.ts +0 -63
  115. package/bin/types/agent/AgentOptions.d.ts.map +1 -1
  116. package/bin/types/agent/AgentTypes.d.ts +3 -2
  117. package/bin/types/agent/AgentTypes.d.ts.map +1 -1
  118. package/bin/types/agent/SessionActor.d.ts +13 -4
  119. package/bin/types/agent/SessionActor.d.ts.map +1 -1
  120. package/bin/types/agent/SessionTypes.d.ts +62 -0
  121. package/bin/types/agent/SessionTypes.d.ts.map +1 -1
  122. package/bin/types/config/DowncityConfig.d.ts +1 -1
  123. package/bin/types/executor/SessionRunContext.d.ts +8 -0
  124. package/bin/types/executor/SessionRunContext.d.ts.map +1 -1
  125. package/bin/types/platform/Store.d.ts +2 -2
  126. package/bin/types/platform/Store.js +2 -2
  127. package/bin/types/rpc/RpcProtocol.d.ts +37 -5
  128. package/bin/types/rpc/RpcProtocol.d.ts.map +1 -1
  129. package/bin/types/rpc/RpcProtocol.js +1 -1
  130. package/bin/types/runtime/agent/AgentContext.d.ts +92 -43
  131. package/bin/types/runtime/agent/AgentContext.d.ts.map +1 -1
  132. package/bin/types/runtime/agent/AgentContext.js +97 -5
  133. package/bin/types/runtime/agent/AgentContext.js.map +1 -1
  134. package/bin/types/runtime/platform/Platform.d.ts +8 -8
  135. package/bin/types/runtime/platform/PlatformGateway.d.ts +2 -2
  136. package/bin/types/sdk/AgentSessionStop.d.ts +36 -0
  137. package/bin/types/sdk/AgentSessionStop.d.ts.map +1 -0
  138. package/bin/types/sdk/AgentSessionStop.js +9 -0
  139. package/bin/types/sdk/AgentSessionStop.js.map +1 -0
  140. package/package.json +3 -3
  141. package/scripts/city-model-tool-loop.test.mjs +2 -2
  142. package/scripts/session-prompt-runtime.test.mjs +59 -0
  143. package/src/agent/local/Agent.ts +66 -55
  144. package/src/agent/local/ProjectSetup.ts +2 -2
  145. package/src/agent/local/services/AgentAssemblyService.ts +41 -35
  146. package/src/agent/local/services/AgentBackgroundService.ts +116 -0
  147. package/src/agent/local/services/AgentSessionManager.ts +127 -13
  148. package/src/agent/remote/RemoteAgent.ts +25 -34
  149. package/src/agent/remote/RemoteSession.ts +21 -6
  150. package/src/agent/remote/RemoteTransport.ts +14 -0
  151. package/src/agent/remote/transports/HttpRemoteAgentTransport.ts +100 -2
  152. package/src/agent/remote/transports/RpcRemoteAgentTransport.ts +26 -0
  153. package/src/config/AgentInitializer.ts +2 -2
  154. package/src/executor/Executor.ts +33 -0
  155. package/src/executor/composer/system/default/InitPrompts.ts +1 -1
  156. package/src/executor/composer/system/default/SystemDomain.ts +2 -2
  157. package/src/executor/core-engine/CoreEngineRunner.ts +21 -0
  158. package/src/executor/messages/ChatMessageMarkupTypes.ts +1 -1
  159. package/src/executor/store/history/jsonl/JsonlSessionHistoryStore.ts +22 -0
  160. package/src/executor/types/SessionExecutor.ts +2 -1
  161. package/src/index.ts +8 -10
  162. package/src/plugin/core/Activation.ts +1 -3
  163. package/src/plugin/core/PluginCommandRequest.ts +1 -1
  164. package/src/plugin/core/PluginStateController.ts +1 -10
  165. package/src/plugin/types/PluginApi.ts +1 -1
  166. package/src/rpc/Client.ts +61 -0
  167. package/src/session/Session.ts +9 -0
  168. package/src/session/browse/Browse.ts +103 -3
  169. package/src/session/index.ts +7 -0
  170. package/src/session/runtime/SessionPromptRuntime.ts +100 -5
  171. package/src/session/services/SessionTurnService.ts +13 -1
  172. package/src/session/services/SessionViewService.ts +1 -7
  173. package/src/session/storage/Metadata.ts +23 -1
  174. package/src/session/storage/Paths.ts +70 -0
  175. package/src/session/storage/RuntimeSessionPort.ts +9 -0
  176. package/src/types/agent/AgentOptions.ts +0 -69
  177. package/src/types/agent/AgentTypes.ts +6 -5
  178. package/src/types/agent/SessionActor.ts +21 -3
  179. package/src/types/agent/SessionTypes.ts +68 -0
  180. package/src/types/config/DowncityConfig.ts +1 -1
  181. package/src/types/executor/SessionRunContext.ts +9 -0
  182. package/src/types/platform/Store.ts +2 -2
  183. package/src/types/rpc/RpcProtocol.ts +46 -4
  184. package/src/types/runtime/agent/AgentContext.ts +132 -45
  185. package/src/types/runtime/platform/Platform.ts +8 -8
  186. package/src/types/runtime/platform/PlatformGateway.ts +2 -2
  187. package/src/types/sdk/AgentSessionStop.ts +39 -0
  188. package/tsconfig.tsbuildinfo +1 -1
  189. package/bin/agent/local/AgentRuntimeFactory.d.ts +0 -72
  190. package/bin/agent/local/AgentRuntimeFactory.d.ts.map +0 -1
  191. package/bin/agent/local/AgentRuntimeFactory.js +0 -73
  192. package/bin/agent/local/AgentRuntimeFactory.js.map +0 -1
  193. package/bin/agent/local/services/AgentLifecycleService.d.ts +0 -65
  194. package/bin/agent/local/services/AgentLifecycleService.d.ts.map +0 -1
  195. package/bin/agent/local/services/AgentLifecycleService.js +0 -140
  196. package/bin/agent/local/services/AgentLifecycleService.js.map +0 -1
  197. package/bin/rpc/Server.d.ts +0 -31
  198. package/bin/rpc/Server.d.ts.map +0 -1
  199. package/bin/rpc/Server.js +0 -106
  200. package/bin/rpc/Server.js.map +0 -1
  201. package/bin/rpc/server/InternalHandlers.d.ts +0 -21
  202. package/bin/rpc/server/InternalHandlers.d.ts.map +0 -1
  203. package/bin/rpc/server/InternalHandlers.js +0 -244
  204. package/bin/rpc/server/InternalHandlers.js.map +0 -1
  205. package/bin/rpc/server/RequestDispatcher.d.ts +0 -27
  206. package/bin/rpc/server/RequestDispatcher.d.ts.map +0 -1
  207. package/bin/rpc/server/RequestDispatcher.js +0 -38
  208. package/bin/rpc/server/RequestDispatcher.js.map +0 -1
  209. package/bin/rpc/server/SdkSessionHandlers.d.ts +0 -25
  210. package/bin/rpc/server/SdkSessionHandlers.d.ts.map +0 -1
  211. package/bin/rpc/server/SdkSessionHandlers.js +0 -86
  212. package/bin/rpc/server/SdkSessionHandlers.js.map +0 -1
  213. package/bin/rpc/server/ServerTypes.d.ts +0 -64
  214. package/bin/rpc/server/ServerTypes.d.ts.map +0 -1
  215. package/bin/rpc/server/ServerTypes.js +0 -9
  216. package/bin/rpc/server/ServerTypes.js.map +0 -1
  217. package/bin/types/runtime/agent/AgentRuntime.d.ts +0 -79
  218. package/bin/types/runtime/agent/AgentRuntime.d.ts.map +0 -1
  219. package/bin/types/runtime/agent/AgentRuntime.js +0 -13
  220. package/bin/types/runtime/agent/AgentRuntime.js.map +0 -1
  221. package/src/agent/local/AgentRuntimeFactory.ts +0 -152
  222. package/src/agent/local/services/AgentLifecycleService.ts +0 -198
  223. package/src/rpc/Server.ts +0 -143
  224. package/src/rpc/server/InternalHandlers.ts +0 -285
  225. package/src/rpc/server/RequestDispatcher.ts +0 -67
  226. package/src/rpc/server/SdkSessionHandlers.ts +0 -106
  227. package/src/rpc/server/ServerTypes.ts +0 -70
  228. package/src/types/runtime/agent/AgentRuntime.ts +0 -84
package/README.md CHANGED
@@ -57,7 +57,7 @@ src/
57
57
  │ └── project/ # Agent 项目初始化与项目初始化类型
58
58
  ├── executor/ # 内部执行内核,负责历史、system、tool loop、增量输出与消息持久化
59
59
  ├── plugin/ # 插件系统,负责插件注册、hook、action、内建插件与插件类型
60
- ├── rpc/ # Agent 本机 RPC runtime,对外 HTTP gateway 由 Town 提供
60
+ ├── rpc/ # Agent 本机 RPC runtime,对外 HTTP gateway 由 downcity 提供
61
61
  ├── runtime/ # 运行时实现细节层,统一收纳 host / sandbox / control 等内部能力
62
62
  │ ├── host/ # 宿主注入能力协议
63
63
  │ └── sandbox/ # 命令沙箱与沙箱协议
@@ -98,7 +98,7 @@ src/
98
98
  - `host/` 放宿主注入能力协议
99
99
  - `sandbox/` 放命令执行隔离与沙箱协议
100
100
  - `control/` 放 runtime 控制面内部协议与处理器
101
- - `src/rpc/` 放 Agent 本机 RPC runtime;HTTP gateway 由 Town CLI 基于 RPC 转发提供
101
+ - `src/rpc/` 放 Agent 本机 RPC runtime;HTTP gateway 由 downcity CLI 基于 RPC 转发提供
102
102
  - 模型实例解析不在 `agent` 包内完成,而由宿主先创建 `LanguageModel`,再通过 `new Agent({ model })` 或 `session.set({ model })` 注入
103
103
  - `model` 也可以接收 City City 返回的 `CityModel`,Agent 会在内部适配成 AI SDK `LanguageModel`
104
104
 
@@ -8,10 +8,9 @@
8
8
  */
9
9
  import type { Tool } from "ai";
10
10
  import type { AgentContext } from "../../types/runtime/agent/AgentContext.js";
11
- import type { AgentRuntime } from "../../types/runtime/agent/AgentRuntime.js";
12
11
  import type { DowncityConfig } from "../../types/config/DowncityConfig.js";
13
12
  import type { AgentPlugins } from "../../plugin/types/Plugin.js";
14
- import type { AgentCreateSessionInput, AgentListSessionsInput, AgentOptions, AgentSession, AgentSessionCollection, AgentSessionSummaryPage, AgentStartOptions, AgentStartResult, AgentStopResult } from "../../types/agent/AgentTypes.js";
13
+ import type { AgentOptions, AgentSessionCollection } from "../../types/agent/AgentTypes.js";
15
14
  import type { ShellApprovalMode, ShellApprovalDecisionResult, ShellApprovalModeUpdateResult, ShellApprovalModeOption, ShellSessionApprovalModeView, ShellApprovalView, Shell } from "@downcity/shell";
16
15
  import { Logger } from "../../utils/logger/Logger.js";
17
16
  /**
@@ -23,7 +22,6 @@ export declare class Agent {
23
22
  readonly tools: Record<string, Tool>;
24
23
  readonly plugins: AgentPlugins;
25
24
  private readonly logger;
26
- private readonly runtime;
27
25
  private readonly agentContext;
28
26
  private readonly pluginRegistry;
29
27
  private readonly config;
@@ -31,30 +29,26 @@ export declare class Agent {
31
29
  private readonly defaultModel?;
32
30
  private readonly SessionClass;
33
31
  private readonly sessionManager;
34
- private readonly lifecycleService;
32
+ private readonly backgroundService;
35
33
  private readonly shell?;
36
34
  private instruction;
37
35
  constructor(options: AgentOptions);
38
36
  /**
39
- * 新建一个 session。
37
+ * 等待 Agent 后台能力启动完成。
38
+ *
39
+ * 关键点(中文)
40
+ * - Agent 构造完成即开始启动 plugin lifecycle 与 ActionSchedule。
41
+ * - 调用方在需要确认后台能力就绪时使用,例如启动后立刻读取 plugin 状态。
40
42
  */
41
- createSession(input?: AgentCreateSessionInput): Promise<AgentSession>;
43
+ ready(): Promise<void>;
42
44
  /**
43
- * 获取一个已存在的 session。
45
+ * 释放当前 Agent 的后台能力。
46
+ *
47
+ * 关键点(中文)
48
+ * - 关闭 plugin lifecycle、ActionSchedule、shell 等后台资源。
49
+ * - 不负责任何 transport(RPC / HTTP);transport 由 `@downcity/server` 自行管理。
44
50
  */
45
- getSession(sessionId: string): Promise<AgentSession>;
46
- /**
47
- * 列出当前 agent 的 session 摘要页。
48
- */
49
- listSessions(input?: AgentListSessionsInput): Promise<AgentSessionSummaryPage>;
50
- /**
51
- * 启动当前 agent 实例的长期运行能力。
52
- */
53
- start(options?: AgentStartOptions): Promise<AgentStartResult>;
54
- /**
55
- * 停止当前 agent 实例的长期运行能力。
56
- */
57
- stop(): Promise<AgentStopResult>;
51
+ dispose(): Promise<void>;
58
52
  /**
59
53
  * 列出当前 shell pending approvals。
60
54
  */
@@ -92,6 +86,30 @@ export declare class Agent {
92
86
  * 更新当前 SDK Agent 的静态基础指令。
93
87
  */
94
88
  setInstruction(input: string | string[]): void;
89
+ /**
90
+ * 返回当前 agent env 的浅拷贝快照。
91
+ *
92
+ * 关键点(中文)
93
+ * - 返回的是拷贝,调用方修改它不会影响 agent 真实状态。
94
+ * - 想改 env 请使用 `setEnv` / `patchEnv`。
95
+ */
96
+ getEnv(): Record<string, string>;
97
+ /**
98
+ * 整体覆盖 agent env。
99
+ *
100
+ * 关键点(中文)
101
+ * - 直接清空当前共享 env 对象,再写入新值,保证 plugin / runtime / shell 看到的是同一引用。
102
+ * - 仅写入字符串值,`null` / `undefined` 表示删除该 key。
103
+ */
104
+ setEnv(next: Record<string, string | null | undefined>): void;
105
+ /**
106
+ * 增量合并 agent env。
107
+ *
108
+ * 关键点(中文)
109
+ * - `null` / `undefined` 表示删除该 key;其他值会强制转字符串后写入。
110
+ * - 修改原地生效,所有持有 `context.env` 引用的模块立即可见。
111
+ */
112
+ patchEnv(patch: Record<string, string | null | undefined>): void;
95
113
  /**
96
114
  * 返回当前项目根目录解析后的配置快照。
97
115
  */
@@ -100,18 +118,14 @@ export declare class Agent {
100
118
  * 返回当前 agent 绑定的统一日志器。
101
119
  */
102
120
  getLogger(): Logger;
103
- /**
104
- * 返回当前 agent runtime。
105
- */
106
- getRuntime(): AgentRuntime;
107
121
  /**
108
122
  * 返回当前 agent context。
109
123
  */
110
124
  getContext(): AgentContext;
111
125
  /**
112
- * 返回当前 session collection
126
+ * 返回当前 session collection 入口。
113
127
  */
114
- getSessionCollection(): AgentSessionCollection;
128
+ session_collection(): AgentSessionCollection;
115
129
  /**
116
130
  * 返回当前 agent 挂载的 Shell。
117
131
  */
@@ -1 +1 @@
1
- {"version":3,"file":"Agent.d.ts","sourceRoot":"","sources":["../../../src/agent/local/Agent.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Agent.d.ts","sourceRoot":"","sources":["../../../src/agent/local/Agent.ts"],"names":[],"mappings":"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"}
@@ -9,7 +9,7 @@
9
9
  import { normalizeInstructionInput } from "../../agent/local/AgentInstructions.js";
10
10
  import { AgentAssemblyService, } from "../../agent/local/services/AgentAssemblyService.js";
11
11
  import { AgentSessionManager } from "../../agent/local/services/AgentSessionManager.js";
12
- import { AgentLifecycleService } from "../../agent/local/services/AgentLifecycleService.js";
12
+ import { AgentBackgroundService } from "../../agent/local/services/AgentBackgroundService.js";
13
13
  /**
14
14
  * SDK 本地 Agent。
15
15
  */
@@ -19,7 +19,6 @@ export class Agent {
19
19
  tools;
20
20
  plugins;
21
21
  logger;
22
- runtime;
23
22
  agentContext;
24
23
  pluginRegistry;
25
24
  config;
@@ -27,7 +26,7 @@ export class Agent {
27
26
  defaultModel;
28
27
  SessionClass;
29
28
  sessionManager;
30
- lifecycleService;
29
+ backgroundService;
31
30
  shell;
32
31
  instruction;
33
32
  constructor(options) {
@@ -56,7 +55,6 @@ export class Agent {
56
55
  this.tools = assembly.tools;
57
56
  this.plugins = assembly.plugins;
58
57
  this.logger = assembly.logger;
59
- this.runtime = assembly.runtime;
60
58
  this.agentContext = assembly.agent_context;
61
59
  this.pluginRegistry = assembly.plugin_registry;
62
60
  this.config = assembly.config;
@@ -65,43 +63,32 @@ export class Agent {
65
63
  this.shell = assembly.shell;
66
64
  this.sessionManager = this.create_session_manager(assembly);
67
65
  session_manager_ref = this.sessionManager;
68
- this.lifecycleService = new AgentLifecycleService({
66
+ // 关键点(中文):构造完成即触发后台能力启动;调用方可 `await agent.ready()` 等待。
67
+ this.backgroundService = new AgentBackgroundService({
69
68
  logger: this.logger,
70
69
  agent_context: this.agentContext,
71
- session_collection: this.sessionManager.get_session_collection(),
72
- get_runtime: () => this.runtime,
73
70
  get_shell: () => this.shell,
74
71
  });
75
72
  }
76
73
  /**
77
- * 新建一个 session。
74
+ * 等待 Agent 后台能力启动完成。
75
+ *
76
+ * 关键点(中文)
77
+ * - Agent 构造完成即开始启动 plugin lifecycle 与 ActionSchedule。
78
+ * - 调用方在需要确认后台能力就绪时使用,例如启动后立刻读取 plugin 状态。
78
79
  */
79
- async createSession(input) {
80
- return await this.sessionManager.create_session(input);
80
+ async ready() {
81
+ await this.backgroundService.ready();
81
82
  }
82
83
  /**
83
- * 获取一个已存在的 session。
84
+ * 释放当前 Agent 的后台能力。
85
+ *
86
+ * 关键点(中文)
87
+ * - 关闭 plugin lifecycle、ActionSchedule、shell 等后台资源。
88
+ * - 不负责任何 transport(RPC / HTTP);transport 由 `@downcity/server` 自行管理。
84
89
  */
85
- async getSession(sessionId) {
86
- return await this.sessionManager.get_session(sessionId);
87
- }
88
- /**
89
- * 列出当前 agent 的 session 摘要页。
90
- */
91
- async listSessions(input) {
92
- return await this.sessionManager.list_sessions(input);
93
- }
94
- /**
95
- * 启动当前 agent 实例的长期运行能力。
96
- */
97
- async start(options) {
98
- return await this.lifecycleService.start(options);
99
- }
100
- /**
101
- * 停止当前 agent 实例的长期运行能力。
102
- */
103
- async stop() {
104
- return await this.lifecycleService.stop();
90
+ async dispose() {
91
+ await this.backgroundService.dispose();
105
92
  }
106
93
  /**
107
94
  * 列出当前 shell pending approvals。
@@ -153,6 +140,50 @@ export class Agent {
153
140
  setInstruction(input) {
154
141
  this.instruction = normalizeInstructionInput(input);
155
142
  }
143
+ /**
144
+ * 返回当前 agent env 的浅拷贝快照。
145
+ *
146
+ * 关键点(中文)
147
+ * - 返回的是拷贝,调用方修改它不会影响 agent 真实状态。
148
+ * - 想改 env 请使用 `setEnv` / `patchEnv`。
149
+ */
150
+ getEnv() {
151
+ return { ...this.env };
152
+ }
153
+ /**
154
+ * 整体覆盖 agent env。
155
+ *
156
+ * 关键点(中文)
157
+ * - 直接清空当前共享 env 对象,再写入新值,保证 plugin / runtime / shell 看到的是同一引用。
158
+ * - 仅写入字符串值,`null` / `undefined` 表示删除该 key。
159
+ */
160
+ setEnv(next) {
161
+ for (const key of Object.keys(this.env)) {
162
+ delete this.env[key];
163
+ }
164
+ this.patchEnv(next);
165
+ }
166
+ /**
167
+ * 增量合并 agent env。
168
+ *
169
+ * 关键点(中文)
170
+ * - `null` / `undefined` 表示删除该 key;其他值会强制转字符串后写入。
171
+ * - 修改原地生效,所有持有 `context.env` 引用的模块立即可见。
172
+ */
173
+ patchEnv(patch) {
174
+ if (!patch || typeof patch !== "object")
175
+ return;
176
+ for (const [raw_key, raw_value] of Object.entries(patch)) {
177
+ const key = String(raw_key || "").trim();
178
+ if (!key)
179
+ continue;
180
+ if (raw_value === null || raw_value === undefined) {
181
+ delete this.env[key];
182
+ continue;
183
+ }
184
+ this.env[key] = String(raw_value);
185
+ }
186
+ }
156
187
  /**
157
188
  * 返回当前项目根目录解析后的配置快照。
158
189
  */
@@ -165,12 +196,6 @@ export class Agent {
165
196
  getLogger() {
166
197
  return this.logger;
167
198
  }
168
- /**
169
- * 返回当前 agent runtime。
170
- */
171
- getRuntime() {
172
- return this.runtime;
173
- }
174
199
  /**
175
200
  * 返回当前 agent context。
176
201
  */
@@ -178,9 +203,9 @@ export class Agent {
178
203
  return this.agentContext;
179
204
  }
180
205
  /**
181
- * 返回当前 session collection
206
+ * 返回当前 session collection 入口。
182
207
  */
183
- getSessionCollection() {
208
+ session_collection() {
184
209
  return this.sessionManager.get_session_collection();
185
210
  }
186
211
  /**
@@ -195,8 +220,7 @@ export class Agent {
195
220
  project_root: this.path || assembly.path,
196
221
  tools: this.tools || assembly.tools,
197
222
  logger: this.logger || assembly.logger,
198
- runtime: this.runtime || assembly.runtime,
199
- get_agent_context: () => this.agentContext || assembly.agent_context,
223
+ get_agent_context: () => this.agentContext ?? assembly.agent_context,
200
224
  get_instruction: () => this.instruction,
201
225
  plugin_instances: assembly.plugin_instances,
202
226
  default_model: this.defaultModel,
@@ -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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"}
@@ -14,11 +14,11 @@ import { getCacheDirPath, getDowncityAgentsRootDirPath, getLogsDirPath, getProfi
14
14
  function ensureContextFiles(projectRoot) {
15
15
  // Check if initialized(启动入口一次性确认工程根目录与关键文件)
16
16
  if (!fs.existsSync(getProfileMdPath(projectRoot))) {
17
- console.error('❌ Project not initialized. Please run "town agent create" first');
17
+ console.error('❌ Project not initialized. Please run "downcity agent create" first');
18
18
  process.exit(1);
19
19
  }
20
20
  if (!fs.existsSync(getDowncityJsonPath(projectRoot))) {
21
- console.error('❌ downcity.json does not exist. Please run "town agent create" first');
21
+ console.error('❌ downcity.json does not exist. Please run "downcity agent create" first');
22
22
  process.exit(1);
23
23
  }
24
24
  }
@@ -1 +1 @@
1
- {"version":3,"file":"ProjectSetup.js","sourceRoot":"","sources":["../../../src/agent/local/ProjectSetup.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,MAAM,UAAU,CAAC;AAC1B,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EACL,eAAe,EACf,4BAA4B,EAC5B,cAAc,EACd,gBAAgB,EAChB,wBAAwB,EACxB,sBAAsB,EACtB,uBAAuB,EACvB,kBAAkB,EAClB,mBAAmB,EACnB,yBAAyB,EACzB,wBAAwB,EACxB,uBAAuB,GACxB,MAAM,mBAAmB,CAAC;AAE3B;;GAEG;AACH,SAAS,kBAAkB,CAAC,WAAmB;IAC7C,4CAA4C;IAC5C,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,gBAAgB,CAAC,WAAW,CAAC,CAAC,EAAE,CAAC;QAClD,OAAO,CAAC,KAAK,CACX,iEAAiE,CAClE,CAAC;QACF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,mBAAmB,CAAC,WAAW,CAAC,CAAC,EAAE,CAAC;QACrD,OAAO,CAAC,KAAK,CACX,sEAAsE,CACvE,CAAC;QACF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC;AAED;;GAEG;AACH,SAAS,qBAAqB,CAAC,WAAmB;IAChD,yDAAyD;IACzD,EAAE,CAAC,aAAa,CAAC,kBAAkB,CAAC,WAAW,CAAC,CAAC,CAAC;IAClD,EAAE,CAAC,aAAa,CAAC,uBAAuB,CAAC,WAAW,CAAC,CAAC,CAAC;IACvD,EAAE,CAAC,aAAa,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC,CAAC;IAC9C,EAAE,CAAC,aAAa,CAAC,eAAe,CAAC,WAAW,CAAC,CAAC,CAAC;IAC/C,EAAE,CAAC,aAAa,CAAC,yBAAyB,CAAC,WAAW,CAAC,CAAC,CAAC;IACzD,EAAE,CAAC,aAAa,CAAC,sBAAsB,CAAC,WAAW,CAAC,CAAC,CAAC;IACtD,EAAE,CAAC,aAAa,CAAC,4BAA4B,CAAC,WAAW,CAAC,CAAC,CAAC;IAC5D,EAAE,CAAC,aAAa,CAAC,wBAAwB,CAAC,WAAW,CAAC,CAAC,CAAC;IACxD,EAAE,CAAC,aAAa,CAAC,wBAAwB,CAAC,WAAW,CAAC,CAAC,CAAC;IACxD,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,kBAAkB,CAAC,WAAW,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC;IACvE,EAAE,CAAC,aAAa,CAAC,uBAAuB,CAAC,WAAW,CAAC,CAAC,CAAC;AACzD,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,yBAAyB,CAAC,WAAmB;IAC3D,kBAAkB,CAAC,WAAW,CAAC,CAAC;IAChC,qBAAqB,CAAC,WAAW,CAAC,CAAC;AACrC,CAAC"}
1
+ {"version":3,"file":"ProjectSetup.js","sourceRoot":"","sources":["../../../src/agent/local/ProjectSetup.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,MAAM,UAAU,CAAC;AAC1B,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EACL,eAAe,EACf,4BAA4B,EAC5B,cAAc,EACd,gBAAgB,EAChB,wBAAwB,EACxB,sBAAsB,EACtB,uBAAuB,EACvB,kBAAkB,EAClB,mBAAmB,EACnB,yBAAyB,EACzB,wBAAwB,EACxB,uBAAuB,GACxB,MAAM,mBAAmB,CAAC;AAE3B;;GAEG;AACH,SAAS,kBAAkB,CAAC,WAAmB;IAC7C,4CAA4C;IAC5C,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,gBAAgB,CAAC,WAAW,CAAC,CAAC,EAAE,CAAC;QAClD,OAAO,CAAC,KAAK,CACX,qEAAqE,CACtE,CAAC;QACF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,mBAAmB,CAAC,WAAW,CAAC,CAAC,EAAE,CAAC;QACrD,OAAO,CAAC,KAAK,CACX,0EAA0E,CAC3E,CAAC;QACF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC;AAED;;GAEG;AACH,SAAS,qBAAqB,CAAC,WAAmB;IAChD,yDAAyD;IACzD,EAAE,CAAC,aAAa,CAAC,kBAAkB,CAAC,WAAW,CAAC,CAAC,CAAC;IAClD,EAAE,CAAC,aAAa,CAAC,uBAAuB,CAAC,WAAW,CAAC,CAAC,CAAC;IACvD,EAAE,CAAC,aAAa,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC,CAAC;IAC9C,EAAE,CAAC,aAAa,CAAC,eAAe,CAAC,WAAW,CAAC,CAAC,CAAC;IAC/C,EAAE,CAAC,aAAa,CAAC,yBAAyB,CAAC,WAAW,CAAC,CAAC,CAAC;IACzD,EAAE,CAAC,aAAa,CAAC,sBAAsB,CAAC,WAAW,CAAC,CAAC,CAAC;IACtD,EAAE,CAAC,aAAa,CAAC,4BAA4B,CAAC,WAAW,CAAC,CAAC,CAAC;IAC5D,EAAE,CAAC,aAAa,CAAC,wBAAwB,CAAC,WAAW,CAAC,CAAC,CAAC;IACxD,EAAE,CAAC,aAAa,CAAC,wBAAwB,CAAC,WAAW,CAAC,CAAC,CAAC;IACxD,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,kBAAkB,CAAC,WAAW,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC;IACvE,EAAE,CAAC,aAAa,CAAC,uBAAuB,CAAC,WAAW,CAAC,CAAC,CAAC;AACzD,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,yBAAyB,CAAC,WAAmB;IAC3D,kBAAkB,CAAC,WAAW,CAAC,CAAC;IAChC,qBAAqB,CAAC,WAAW,CAAC,CAAC;AACrC,CAAC"}
@@ -2,14 +2,13 @@
2
2
  * AgentAssemblyService:本地 Agent 装配服务。
3
3
  *
4
4
  * 关键点(中文)
5
- * - 统一装配 logger、config、env、runtime、context 与 plugin registry。
5
+ * - 统一装配 logger、config、env、context 与 plugin registry。
6
6
  * - 该服务只负责一次性长期对象装配,不负责 session 缓存和生命周期启动。
7
7
  * - session/lifecycle service 通过它暴露的长期对象协作,避免在 facade 中重复拼装。
8
8
  */
9
9
  import type { LanguageModel, Tool } from "ai";
10
10
  import type { BasePlugin } from "../../../plugin/core/BasePlugin.js";
11
- import type { AgentContext } from "../../../types/runtime/agent/AgentContext.js";
12
- import type { AgentRuntime } from "../../../types/runtime/agent/AgentRuntime.js";
11
+ import { AgentContext } from "../../../types/runtime/agent/AgentContext.js";
13
12
  import type { DowncityConfig } from "../../../types/config/DowncityConfig.js";
14
13
  import type { AgentPlugins } from "../../../plugin/types/Plugin.js";
15
14
  import type { AgentOptions } from "../../../types/agent/AgentTypes.js";
@@ -79,10 +78,6 @@ export interface AgentAssemblyResult {
79
78
  * 当前 agent plugin 调用面。
80
79
  */
81
80
  plugins: AgentPlugins;
82
- /**
83
- * 当前 agent runtime。
84
- */
85
- runtime: AgentRuntime;
86
81
  /**
87
82
  * 当前 agent context。
88
83
  */
@@ -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;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;IA2F/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,EAAE,YAAY,EAAE,MAAM,uCAAuC,CAAC;AACrE,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,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;IAuG/B,OAAO,CAAC,WAAW;IAQnB,OAAO,CAAC,gBAAgB;IAgBxB;;OAEG;IACH,OAAO,CAAC,gCAAgC;CAezC"}
@@ -2,15 +2,16 @@
2
2
  * AgentAssemblyService:本地 Agent 装配服务。
3
3
  *
4
4
  * 关键点(中文)
5
- * - 统一装配 logger、config、env、runtime、context 与 plugin registry。
5
+ * - 统一装配 logger、config、env、context 与 plugin registry。
6
6
  * - 该服务只负责一次性长期对象装配,不负责 session 缓存和生命周期启动。
7
7
  * - session/lifecycle service 通过它暴露的长期对象协作,避免在 facade 中重复拼装。
8
8
  */
9
+ import { AgentContext } from "../../../types/runtime/agent/AgentContext.js";
9
10
  import { Logger } from "../../../utils/logger/Logger.js";
10
11
  import { loadDowncityConfig, resolveAgentEnv } from "../../../config/Config.js";
11
12
  import { createFallbackSdkConfig, normalizeInstructionInput, } from "../../../agent/local/AgentInstructions.js";
12
13
  import { createAgentPluginRegistry, } from "../../../agent/local/AgentPluginFactory.js";
13
- import { createAgentContext, createAgentRuntime, } from "../../../agent/local/AgentRuntimeFactory.js";
14
+ import { createAgentPathRuntime, createAgentPluginConfigRuntime, } from "../../../agent/local/AgentRuntimeAssembly.js";
14
15
  import { plugin_tools, setPluginToolRuntime, } from "../../../executor/tools/plugin/PluginToolDefinition.js";
15
16
  /**
16
17
  * 本地 Agent 装配服务。
@@ -43,42 +44,54 @@ export class AgentAssemblyService {
43
44
  }
44
45
  const logger = new Logger();
45
46
  logger.bindProjectRoot(path);
47
+ // 关键点(中文)
48
+ // - 这里产出的 env 是 agent 全生命周期共享的 mutable 对象引用。
49
+ // - context / shell 都持有同一引用;后续 `agent.setEnv()` 会原地修改它。
46
50
  const env = resolveAgentEnv(path, this.options.env);
47
51
  const instruction = normalizeInstructionInput(this.options.instruction);
48
52
  const config = this.load_config(id, path);
49
53
  const plugin_instances = new Map();
50
- const runtime = createAgentRuntime({
51
- agent_id: id,
52
- project_root: path,
53
- logger,
54
- config,
55
- env,
56
- systems: instruction,
57
- plugin_instances,
58
- get_session_port: this.get_session_port,
59
- list_cached_sessions: this.list_cached_sessions,
60
- });
61
54
  this.register_plugins(plugin_instances, this.options.plugins || []);
55
+ // 关键点(中文)
56
+ // - plugin_registry 仍然延迟读取 agent_context(避免循环依赖)。
57
+ // - context 一构造完就赋值,registry 第一次读 get_context 时已经是非空。
62
58
  let agent_context;
63
59
  const plugin_registry = createAgentPluginRegistry({
64
60
  plugins: [...plugin_instances.values()],
65
- get_context: () => agent_context,
61
+ get_context: () => {
62
+ if (!agent_context) {
63
+ throw new Error("AgentContext is not assembled yet");
64
+ }
65
+ return agent_context;
66
+ },
66
67
  });
67
68
  const plugins = plugin_registry;
68
69
  if (this.should_register_plugin_call_tool(plugin_instances)) {
69
70
  tools.plugin_call = tools.plugin_call || plugin_tools.plugin_call;
70
71
  }
71
- agent_context = createAgentContext({
72
- runtime,
73
- project_root: path,
72
+ const resolve_session_model = this.resolve_session_model;
73
+ const paths = createAgentPathRuntime(path, id);
74
+ const pluginConfig = createAgentPluginConfigRuntime(path);
75
+ agent_context = new AgentContext({
76
+ cwd: path,
77
+ rootPath: path,
74
78
  logger,
75
79
  config,
76
80
  env,
77
81
  systems: instruction,
78
- plugin_instances,
82
+ paths,
83
+ pluginConfig,
84
+ pluginInstances: plugin_instances,
85
+ session: {
86
+ get: (session_id) => this.get_session_port(session_id),
87
+ listExecutingSessionIds: () => this.list_cached_sessions()
88
+ .filter((session) => session.isExecuting())
89
+ .map((session) => session.id),
90
+ getExecutingSessionCount: () => this.list_cached_sessions()
91
+ .filter((session) => session.isExecuting()).length,
92
+ resolveModel: async (session_id) => await resolve_session_model(session_id),
93
+ },
79
94
  plugins,
80
- get_session_port: this.get_session_port,
81
- resolve_session_model: async (session_id) => await this.resolve_session_model(session_id),
82
95
  });
83
96
  const shell = this.options.shell;
84
97
  if (shell) {
@@ -108,8 +121,7 @@ export class AgentAssemblyService {
108
121
  plugin_instances,
109
122
  plugin_registry,
110
123
  plugins,
111
- runtime,
112
- agent_context,
124
+ agent_context: agent_context,
113
125
  ...(shell ? { shell } : {}),
114
126
  };
115
127
  }
@@ -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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"}
@@ -0,0 +1,55 @@
1
+ /**
2
+ * AgentBackgroundService:本地 Agent 后台能力生命周期服务。
3
+ *
4
+ * 关键点(中文)
5
+ * - 统一管理 plugins 与 ActionSchedule 的启动 / 停止。
6
+ * - 在 Agent 构造阶段自动启动后台能力,调用方通过 `await agent.ready()` 等待启动完成。
7
+ * - RPC / HTTP 等 transport 不再属于 Agent 内部职责,由 `@downcity/server` 等外部包按需挂载。
8
+ */
9
+ import type { AgentContext } from "../../../types/runtime/agent/AgentContext.js";
10
+ import type { Logger } from "../../../utils/logger/Logger.js";
11
+ import type { Shell } from "@downcity/shell";
12
+ type AgentBackgroundServiceOptions = {
13
+ /**
14
+ * 当前统一日志器。
15
+ */
16
+ logger: Logger;
17
+ /**
18
+ * 当前 agent context。
19
+ */
20
+ agent_context: AgentContext;
21
+ /**
22
+ * 读取当前 agent 挂载的 Shell。
23
+ */
24
+ get_shell?: () => Shell | undefined;
25
+ };
26
+ /**
27
+ * 本地 Agent 后台能力生命周期服务。
28
+ *
29
+ * 关键点(中文)
30
+ * - 构造时自动触发 plugin lifecycle 与 ActionSchedule 启动。
31
+ * - 失败由 logger.error 记录,不抛错;调用方通过 `ready()` 等待启动完成。
32
+ */
33
+ export declare class AgentBackgroundService {
34
+ private readonly logger;
35
+ private readonly agent_context;
36
+ private readonly get_shell;
37
+ private plugins_started;
38
+ private action_schedule_runtime;
39
+ private ready_promise;
40
+ constructor(options: AgentBackgroundServiceOptions);
41
+ /**
42
+ * 等待后台能力启动完成。
43
+ */
44
+ ready(): Promise<void>;
45
+ /**
46
+ * 释放当前 Agent 的后台能力。
47
+ */
48
+ dispose(): Promise<void>;
49
+ private boot;
50
+ private ensure_plugins_started;
51
+ private ensure_action_schedule_runtime_started;
52
+ private stop_action_schedule_runtime;
53
+ }
54
+ export {};
55
+ //# sourceMappingURL=AgentBackgroundService.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AgentBackgroundService.d.ts","sourceRoot":"","sources":["../../../../src/agent/local/services/AgentBackgroundService.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,uCAAuC,CAAC;AAC1E,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,0BAA0B,CAAC;AAIvD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAC;AAE7C,KAAK,6BAA6B,GAAG;IACnC;;OAEG;IACH,MAAM,EAAE,MAAM,CAAC;IAEf;;OAEG;IACH,aAAa,EAAE,YAAY,CAAC;IAE5B;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,KAAK,GAAG,SAAS,CAAC;CACrC,CAAC;AAEF;;;;;;GAMG;AACH,qBAAa,sBAAsB;IACjC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;IAChC,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAe;IAC7C,OAAO,CAAC,QAAQ,CAAC,SAAS,CAA6C;IAEvE,OAAO,CAAC,eAAe,CAAS;IAChC,OAAO,CAAC,uBAAuB,CAA4C;IAC3E,OAAO,CAAC,aAAa,CAA8B;gBAEvC,OAAO,EAAE,6BAA6B;IAQlD;;OAEG;IACG,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAK5B;;OAEG;IACG,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;YAahB,IAAI;YAIJ,sBAAsB;YActB,sCAAsC;YAWtC,4BAA4B;CAK3C"}