@downcity/agent 1.1.79 → 1.1.82

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 (173) hide show
  1. package/README.md +1 -1
  2. package/bin/agent/local/Agent.d.ts +8 -121
  3. package/bin/agent/local/Agent.d.ts.map +1 -1
  4. package/bin/agent/local/Agent.js +63 -381
  5. package/bin/agent/local/Agent.js.map +1 -1
  6. package/bin/agent/local/AgentRuntimeFactory.d.ts +2 -2
  7. package/bin/agent/local/AgentRuntimeFactory.d.ts.map +1 -1
  8. package/bin/agent/local/AgentRuntimeFactory.js +2 -23
  9. package/bin/agent/local/AgentRuntimeFactory.js.map +1 -1
  10. package/bin/agent/local/services/AgentAssemblyService.d.ts +112 -0
  11. package/bin/agent/local/services/AgentAssemblyService.d.ts.map +1 -0
  12. package/bin/agent/local/services/AgentAssemblyService.js +135 -0
  13. package/bin/agent/local/services/AgentAssemblyService.js.map +1 -0
  14. package/bin/agent/local/services/AgentLifecycleService.d.ts +59 -0
  15. package/bin/agent/local/services/AgentLifecycleService.d.ts.map +1 -0
  16. package/bin/agent/local/services/AgentLifecycleService.js +136 -0
  17. package/bin/agent/local/services/AgentLifecycleService.js.map +1 -0
  18. package/bin/agent/local/services/AgentSessionManager.d.ts +106 -0
  19. package/bin/agent/local/services/AgentSessionManager.d.ts.map +1 -0
  20. package/bin/agent/local/services/AgentSessionManager.js +182 -0
  21. package/bin/agent/local/services/AgentSessionManager.js.map +1 -0
  22. package/bin/executor/Executor.d.ts +7 -24
  23. package/bin/executor/Executor.d.ts.map +1 -1
  24. package/bin/executor/Executor.js +73 -361
  25. package/bin/executor/Executor.js.map +1 -1
  26. package/bin/executor/SessionRunScope.d.ts +18 -34
  27. package/bin/executor/SessionRunScope.d.ts.map +1 -1
  28. package/bin/executor/SessionRunScope.js +42 -28
  29. package/bin/executor/SessionRunScope.js.map +1 -1
  30. package/bin/executor/composer/context/LocalSessionContextComposer.d.ts +5 -3
  31. package/bin/executor/composer/context/LocalSessionContextComposer.d.ts.map +1 -1
  32. package/bin/executor/composer/context/LocalSessionContextComposer.js +11 -18
  33. package/bin/executor/composer/context/LocalSessionContextComposer.js.map +1 -1
  34. package/bin/executor/composer/context/SessionContextComposer.d.ts +8 -3
  35. package/bin/executor/composer/context/SessionContextComposer.d.ts.map +1 -1
  36. package/bin/executor/composer/system/SessionSystemComposer.d.ts +2 -1
  37. package/bin/executor/composer/system/SessionSystemComposer.d.ts.map +1 -1
  38. package/bin/executor/composer/system/default/DefaultSessionSystemComposer.d.ts +2 -1
  39. package/bin/executor/composer/system/default/DefaultSessionSystemComposer.d.ts.map +1 -1
  40. package/bin/executor/composer/system/default/DefaultSessionSystemComposer.js +2 -4
  41. package/bin/executor/composer/system/default/DefaultSessionSystemComposer.js.map +1 -1
  42. package/bin/executor/core-engine/CoreEngineRunner.d.ts +62 -0
  43. package/bin/executor/core-engine/CoreEngineRunner.d.ts.map +1 -0
  44. package/bin/executor/core-engine/CoreEngineRunner.js +309 -0
  45. package/bin/executor/core-engine/CoreEngineRunner.js.map +1 -0
  46. package/bin/executor/core-engine/CoreEngineUiStreamCollector.d.ts +5 -0
  47. package/bin/executor/core-engine/CoreEngineUiStreamCollector.d.ts.map +1 -1
  48. package/bin/executor/core-engine/CoreEngineUiStreamCollector.js +2 -4
  49. package/bin/executor/core-engine/CoreEngineUiStreamCollector.js.map +1 -1
  50. package/bin/executor/services/ExecutorInflightService.d.ts +39 -0
  51. package/bin/executor/services/ExecutorInflightService.d.ts.map +1 -0
  52. package/bin/executor/services/ExecutorInflightService.js +75 -0
  53. package/bin/executor/services/ExecutorInflightService.js.map +1 -0
  54. package/bin/executor/services/ExecutorRecoveryPolicy.d.ts +103 -0
  55. package/bin/executor/services/ExecutorRecoveryPolicy.d.ts.map +1 -0
  56. package/bin/executor/services/ExecutorRecoveryPolicy.js +87 -0
  57. package/bin/executor/services/ExecutorRecoveryPolicy.js.map +1 -0
  58. package/bin/executor/tools/plugin/PluginToolBridge.d.ts +19 -0
  59. package/bin/executor/tools/plugin/PluginToolBridge.d.ts.map +1 -0
  60. package/bin/executor/tools/plugin/PluginToolBridge.js +143 -0
  61. package/bin/executor/tools/plugin/PluginToolBridge.js.map +1 -0
  62. package/bin/executor/tools/plugin/PluginToolDefinition.d.ts +32 -0
  63. package/bin/executor/tools/plugin/PluginToolDefinition.d.ts.map +1 -0
  64. package/bin/executor/tools/plugin/PluginToolDefinition.js +27 -0
  65. package/bin/executor/tools/plugin/PluginToolDefinition.js.map +1 -0
  66. package/bin/executor/tools/plugin/PluginToolSchemas.d.ts +14 -0
  67. package/bin/executor/tools/plugin/PluginToolSchemas.d.ts.map +1 -0
  68. package/bin/executor/tools/plugin/PluginToolSchemas.js +19 -0
  69. package/bin/executor/tools/plugin/PluginToolSchemas.js.map +1 -0
  70. package/bin/executor/tools/plugin/types/PluginTool.d.ts +39 -0
  71. package/bin/executor/tools/plugin/types/PluginTool.d.ts.map +1 -0
  72. package/bin/executor/tools/plugin/types/PluginTool.js +9 -0
  73. package/bin/executor/tools/plugin/types/PluginTool.js.map +1 -0
  74. package/bin/executor/tools/shell/ShellToolBridge.js +3 -3
  75. package/bin/executor/tools/shell/ShellToolBridge.js.map +1 -1
  76. package/bin/executor/types/SessionRun.d.ts +18 -0
  77. package/bin/executor/types/SessionRun.d.ts.map +1 -1
  78. package/bin/index.d.ts +10 -1
  79. package/bin/index.d.ts.map +1 -1
  80. package/bin/index.js +3 -0
  81. package/bin/index.js.map +1 -1
  82. package/bin/plugin/core/BasePlugin.d.ts +2 -2
  83. package/bin/plugin/core/BasePlugin.d.ts.map +1 -1
  84. package/bin/plugin/core/BasePlugin.js.map +1 -1
  85. package/bin/plugin/core/ImagePlugin.d.ts +56 -0
  86. package/bin/plugin/core/ImagePlugin.d.ts.map +1 -0
  87. package/bin/plugin/core/ImagePlugin.js +109 -0
  88. package/bin/plugin/core/ImagePlugin.js.map +1 -0
  89. package/bin/session/Session.d.ts +25 -84
  90. package/bin/session/Session.d.ts.map +1 -1
  91. package/bin/session/Session.js +162 -367
  92. package/bin/session/Session.js.map +1 -1
  93. package/bin/session/SessionSystemBuilder.d.ts +2 -1
  94. package/bin/session/SessionSystemBuilder.d.ts.map +1 -1
  95. package/bin/session/SessionSystemBuilder.js +2 -3
  96. package/bin/session/SessionSystemBuilder.js.map +1 -1
  97. package/bin/session/services/SessionStateService.d.ts +132 -0
  98. package/bin/session/services/SessionStateService.d.ts.map +1 -0
  99. package/bin/session/services/SessionStateService.js +242 -0
  100. package/bin/session/services/SessionStateService.js.map +1 -0
  101. package/bin/session/services/SessionTurnService.d.ts +66 -0
  102. package/bin/session/services/SessionTurnService.d.ts.map +1 -0
  103. package/bin/session/services/SessionTurnService.js +137 -0
  104. package/bin/session/services/SessionTurnService.js.map +1 -0
  105. package/bin/session/services/SessionViewService.d.ts +106 -0
  106. package/bin/session/services/SessionViewService.d.ts.map +1 -0
  107. package/bin/session/services/SessionViewService.js +198 -0
  108. package/bin/session/services/SessionViewService.js.map +1 -0
  109. package/bin/types/agent/AgentOptions.d.ts +18 -0
  110. package/bin/types/agent/AgentOptions.d.ts.map +1 -1
  111. package/bin/types/agent/AgentTypes.d.ts +3 -1
  112. package/bin/types/agent/AgentTypes.d.ts.map +1 -1
  113. package/bin/types/agent/SessionTypes.d.ts.map +1 -1
  114. package/bin/types/executor/SessionRunContext.d.ts +66 -0
  115. package/bin/types/executor/SessionRunContext.d.ts.map +1 -0
  116. package/bin/types/executor/SessionRunContext.js +10 -0
  117. package/bin/types/executor/SessionRunContext.js.map +1 -0
  118. package/bin/types/plugin/ImagePlugin.d.ts +94 -0
  119. package/bin/types/plugin/ImagePlugin.d.ts.map +1 -0
  120. package/bin/types/plugin/ImagePlugin.js +10 -0
  121. package/bin/types/plugin/ImagePlugin.js.map +1 -0
  122. package/bin/types/session/SessionComposerOptions.d.ts +90 -0
  123. package/bin/types/session/SessionComposerOptions.d.ts.map +1 -0
  124. package/bin/types/session/SessionComposerOptions.js +10 -0
  125. package/bin/types/session/SessionComposerOptions.js.map +1 -0
  126. package/bin/types/session/SessionLocalState.d.ts +35 -0
  127. package/bin/types/session/SessionLocalState.d.ts.map +1 -0
  128. package/bin/types/session/SessionLocalState.js +10 -0
  129. package/bin/types/session/SessionLocalState.js.map +1 -0
  130. package/bin/types/session/SessionOptions.d.ts +85 -0
  131. package/bin/types/session/SessionOptions.d.ts.map +1 -0
  132. package/bin/types/session/SessionOptions.js +10 -0
  133. package/bin/types/session/SessionOptions.js.map +1 -0
  134. package/package.json +1 -1
  135. package/src/agent/local/Agent.ts +74 -433
  136. package/src/agent/local/AgentRuntimeFactory.ts +4 -25
  137. package/src/agent/local/services/AgentAssemblyService.ts +268 -0
  138. package/src/agent/local/services/AgentLifecycleService.ts +187 -0
  139. package/src/agent/local/services/AgentSessionManager.ts +290 -0
  140. package/src/executor/Executor.ts +103 -441
  141. package/src/executor/README.md +4 -4
  142. package/src/executor/SessionRunScope.ts +47 -71
  143. package/src/executor/composer/context/LocalSessionContextComposer.ts +24 -20
  144. package/src/executor/composer/context/SessionContextComposer.ts +13 -3
  145. package/src/executor/composer/system/SessionSystemComposer.ts +2 -1
  146. package/src/executor/composer/system/default/DefaultSessionSystemComposer.ts +3 -4
  147. package/src/executor/core-engine/CoreEngineRunner.ts +433 -0
  148. package/src/executor/core-engine/CoreEngineUiStreamCollector.ts +7 -5
  149. package/src/executor/services/ExecutorInflightService.ts +101 -0
  150. package/src/executor/services/ExecutorRecoveryPolicy.ts +213 -0
  151. package/src/executor/tools/plugin/PluginToolBridge.ts +161 -0
  152. package/src/executor/tools/plugin/PluginToolDefinition.ts +32 -0
  153. package/src/executor/tools/plugin/PluginToolSchemas.ts +20 -0
  154. package/src/executor/tools/plugin/types/PluginTool.ts +41 -0
  155. package/src/executor/tools/shell/ShellToolBridge.ts +3 -3
  156. package/src/executor/types/SessionRun.ts +20 -0
  157. package/src/index.ts +33 -0
  158. package/src/plugin/core/BasePlugin.ts +2 -2
  159. package/src/plugin/core/ImagePlugin.ts +128 -0
  160. package/src/session/Session.ts +216 -500
  161. package/src/session/SessionSystemBuilder.ts +3 -3
  162. package/src/session/services/SessionStateService.ts +341 -0
  163. package/src/session/services/SessionTurnService.ts +202 -0
  164. package/src/session/services/SessionViewService.ts +323 -0
  165. package/src/types/agent/AgentOptions.ts +25 -0
  166. package/src/types/agent/AgentTypes.ts +10 -0
  167. package/src/types/agent/SessionTypes.ts +1 -0
  168. package/src/types/executor/SessionRunContext.ts +76 -0
  169. package/src/types/plugin/ImagePlugin.ts +103 -0
  170. package/src/types/session/SessionComposerOptions.ts +107 -0
  171. package/src/types/session/SessionLocalState.ts +40 -0
  172. package/src/types/session/SessionOptions.ts +99 -0
  173. package/tsconfig.tsbuildinfo +1 -1
@@ -1,29 +1,15 @@
1
1
  /**
2
- * Agent local:本地入口与实例装配中心。
2
+ * Agent local:本地入口与 facade。
3
3
  *
4
4
  * 职责说明(中文)
5
5
  * - 对外暴露 `Agent` 这一唯一的本地实例类。
6
- * - 统一承接单个 agent 实例的配置加载、plugin 装配、session 创建、RPC 启停。
7
- * - 把原先独立的实例内核装配逻辑收敛到 `Agent` 内部,避免 facade 与 core 双层跳转。
8
- *
9
- * 边界说明(中文)
10
- * - 这里负责“单个 agent 实例”的长期状态与装配,不负责平台级多 agent 管理。
11
- * - 这里不直接实现 session 执行细节,而是继续复用 `Session` / `Executor` 体系。
6
+ * - facade 只保留公开 API 与 service 组合,不再直接承载装配、session 管理与生命周期细节。
7
+ * - 单个 agent 的长期对象装配、session 管理、后台能力生命周期分别下沉到独立 service。
12
8
  */
13
- import fs from "fs-extra";
14
- import { nanoid } from "nanoid";
15
- import { Logger } from "../../utils/logger/Logger.js";
16
- import { Session } from "../../session/Session.js";
17
- import { getSdkAgentSessionDirPath, listAgentSessionSummaryPage, } from "../../session/index.js";
18
- import { loadDowncityConfig, resolveAgentEnv } from "../../config/Config.js";
19
- import { isPluginEnabled } from "../../plugin/core/Activation.js";
20
- import { setShellToolRuntime } from "../../executor/tools/shell/ShellToolDefinition.js";
21
- import { startAllPlugins, stopAllPlugins } from "../../plugin/core/Manager.js";
22
- import { startActionScheduleRuntime } from "../../plugin/core/ActionScheduleRuntime.js";
23
- import { startRpcServer } from "../../rpc/Server.js";
24
- import { createFallbackSdkConfig, createInstructionSystemBlocks, normalizeInstructionInput, } from "../../agent/local/AgentInstructions.js";
25
- import { createAgentPluginPort, createAgentPluginRegistry, } from "../../agent/local/AgentPluginFactory.js";
26
- import { createAgentContext, createAgentRuntime, } from "../../agent/local/AgentRuntimeFactory.js";
9
+ import { normalizeInstructionInput } from "../../agent/local/AgentInstructions.js";
10
+ import { AgentAssemblyService, } from "../../agent/local/services/AgentAssemblyService.js";
11
+ import { AgentSessionManager } from "../../agent/local/services/AgentSessionManager.js";
12
+ import { AgentLifecycleService } from "../../agent/local/services/AgentLifecycleService.js";
27
13
  /**
28
14
  * SDK 本地 Agent。
29
15
  */
@@ -33,193 +19,89 @@ export class Agent {
33
19
  tools;
34
20
  plugins;
35
21
  logger;
36
- sessionsById = new Map();
37
22
  runtime;
38
23
  agentContext;
39
24
  pluginRegistry;
40
25
  config;
41
26
  env;
42
27
  defaultModel;
43
- pluginInstances;
44
- sessionCollection;
28
+ SessionClass;
29
+ sessionManager;
30
+ lifecycleService;
45
31
  instruction;
46
- configuredSessionIds = new Set();
47
- pluginsStarted = false;
48
- actionScheduleRuntime = null;
49
- startPromise = null;
50
- rpcBinding = null;
51
32
  constructor(options) {
52
- this.id = String(options.id || "").trim();
53
- this.path = String(options.path || "").trim();
54
- this.tools = options.tools && typeof options.tools === "object"
55
- ? { ...options.tools }
56
- : {};
57
- if (!this.id) {
58
- throw new Error("Agent requires a non-empty id");
59
- }
60
- if (!this.path) {
61
- throw new Error("Agent requires a non-empty path");
62
- }
63
- this.logger = new Logger();
64
- this.logger.bindProjectRoot(this.path);
65
- this.env = resolveAgentEnv(this.path, options.env);
66
- this.instruction = normalizeInstructionInput(options.instruction);
67
33
  this.defaultModel = options.model;
68
- this.config = this.loadConfig();
69
- this.pluginInstances = new Map();
70
- this.runtime = createAgentRuntime({
71
- agent_id: this.id,
72
- project_root: this.path,
73
- logger: this.logger,
74
- config: this.config,
75
- env: this.env,
76
- systems: this.instruction,
77
- plugin_instances: this.pluginInstances,
78
- get_session_port: (session_id) => this.getOrCreateSession(session_id).getRuntimePort(),
79
- list_cached_sessions: () => [...this.sessionsById.values()],
80
- });
81
- this.registerPlugins(options.plugins || []);
82
- this.pluginRegistry = createAgentPluginRegistry({
83
- plugins: [...this.pluginInstances.values()],
84
- get_context: () => this.agentContext,
85
- });
86
- this.plugins = createAgentPluginPort(this.pluginRegistry);
87
- this.agentContext = createAgentContext({
88
- runtime: this.runtime,
89
- project_root: this.path,
90
- logger: this.logger,
91
- config: this.config,
92
- env: this.env,
93
- systems: this.instruction,
94
- plugin_instances: this.pluginInstances,
95
- plugins: this.plugins,
96
- get_session_port: (session_id) => this.getOrCreateSession(session_id).getRuntimePort(),
34
+ this.SessionClass = options.Session;
35
+ let session_manager_ref = null;
36
+ const assembly_service = new AgentAssemblyService({
37
+ options,
38
+ list_cached_sessions: () => session_manager_ref?.list_cached_sessions() || [],
39
+ get_session_port: (session_id) => {
40
+ if (!session_manager_ref) {
41
+ throw new Error("Agent session manager is not initialized");
42
+ }
43
+ return session_manager_ref.get_session_port(session_id);
44
+ },
97
45
  resolve_session_model: async (session_id) => {
98
- const session = await this.getSession(session_id);
46
+ if (!session_manager_ref)
47
+ return undefined;
48
+ const session = await session_manager_ref.get_session(session_id);
99
49
  return session.config.model;
100
50
  },
101
51
  });
102
- setShellToolRuntime(this.agentContext.invoke);
103
- this.sessionCollection = {
104
- createSession: async (input) => await this.createSession(input),
105
- getSession: async (sessionId) => await this.getSession(sessionId),
106
- listSessions: async (input) => await this.listSessions(input),
107
- };
52
+ const assembly = assembly_service.assemble();
53
+ this.id = assembly.id;
54
+ this.path = assembly.path;
55
+ this.tools = assembly.tools;
56
+ this.plugins = assembly.plugins;
57
+ this.logger = assembly.logger;
58
+ this.runtime = assembly.runtime;
59
+ this.agentContext = assembly.agent_context;
60
+ this.pluginRegistry = assembly.plugin_registry;
61
+ this.config = assembly.config;
62
+ this.env = assembly.env;
63
+ this.instruction = assembly.instruction;
64
+ this.sessionManager = this.create_session_manager(assembly);
65
+ session_manager_ref = this.sessionManager;
66
+ this.lifecycleService = new AgentLifecycleService({
67
+ logger: this.logger,
68
+ agent_context: this.agentContext,
69
+ session_collection: this.sessionManager.get_session_collection(),
70
+ get_runtime: () => this.runtime,
71
+ });
108
72
  }
109
73
  /**
110
74
  * 新建一个 session。
111
- *
112
- * 关键点(中文)
113
- * - 若调用方显式传入 `sessionId`,这里会先检查缓存与磁盘目录,避免重复创建。
114
- * - session 初始化完成后会立即应用默认模型。
115
75
  */
116
76
  async createSession(input) {
117
- const explicitSessionId = String(input?.sessionId || "").trim() || undefined;
118
- if (explicitSessionId &&
119
- (this.sessionsById.has(explicitSessionId) ||
120
- (await fs.pathExists(getSdkAgentSessionDirPath(this.path, this.id, explicitSessionId))))) {
121
- throw new Error(`Session "${explicitSessionId}" already exists`);
122
- }
123
- const session = this.getOrCreateSession(explicitSessionId);
124
- await session.initialize();
125
- await this.applySessionDefaults(session);
126
- return session;
77
+ return await this.sessionManager.create_session(input);
127
78
  }
128
79
  /**
129
80
  * 获取一个已存在的 session。
130
- *
131
- * 关键点(中文)
132
- * - 若缓存中没有该 session,会根据磁盘目录决定是否允许懒加载恢复。
133
- * - 返回前同样会兜底执行一次默认配置装配。
134
81
  */
135
82
  async getSession(sessionId) {
136
- const resolvedSessionId = String(sessionId || "").trim();
137
- if (!resolvedSessionId) {
138
- throw new Error("getSession requires a non-empty sessionId");
139
- }
140
- const sessionDirPath = getSdkAgentSessionDirPath(this.path, this.id, resolvedSessionId);
141
- if (!this.sessionsById.has(resolvedSessionId) &&
142
- !(await fs.pathExists(sessionDirPath))) {
143
- throw new Error(`Session "${resolvedSessionId}" not found`);
144
- }
145
- const session = this.getOrCreateSession(resolvedSessionId);
146
- await session.initialize();
147
- await this.applySessionDefaults(session);
148
- return session;
83
+ return await this.sessionManager.get_session(sessionId);
149
84
  }
150
85
  /**
151
86
  * 列出当前 agent 的 session 摘要页。
152
87
  */
153
88
  async listSessions(input) {
154
- return await listAgentSessionSummaryPage({
155
- projectRoot: this.path,
156
- agentId: this.id,
157
- input,
158
- executingSessionIds: new Set(this.runtime.listExecutingSessionIds()),
159
- });
89
+ return await this.sessionManager.list_sessions(input);
160
90
  }
161
91
  /**
162
92
  * 启动当前 agent 实例的长期运行能力。
163
- *
164
- * 关键点(中文)
165
- * - `start()` 是唯一公开的长期运行生命周期入口。
166
- * - 多次并发调用会复用同一个启动 Promise,避免重复启动 plugins / rpc。
167
93
  */
168
94
  async start(options) {
169
- if (this.startPromise) {
170
- return await this.startPromise;
171
- }
172
- this.startPromise = (async () => {
173
- const shouldStartPlugins = options?.plugins !== false;
174
- if (shouldStartPlugins) {
175
- await this.ensurePluginsStarted();
176
- }
177
- const rpcBinding = options?.rpc === false || options?.rpc === undefined
178
- ? undefined
179
- : await this.startRpc(options.rpc);
180
- return {
181
- ...(rpcBinding ? { rpc: rpcBinding } : {}),
182
- pluginsStarted: this.pluginsStarted,
183
- };
184
- })();
185
- try {
186
- return await this.startPromise;
187
- }
188
- catch (error) {
189
- this.startPromise = null;
190
- throw error;
191
- }
95
+ return await this.lifecycleService.start(options);
192
96
  }
193
97
  /**
194
98
  * 停止当前 agent 实例的长期运行能力。
195
- *
196
- * 关键点(中文)
197
- * - 停止顺序保持为 plugins -> rpc,与当前运行语义一致。
198
- * - 停止后会清空 `startPromise`,允许后续再次 `start()`。
199
99
  */
200
100
  async stop() {
201
- const pluginsStarted = this.pluginsStarted;
202
- const rpcStarted = this.rpcBinding !== null;
203
- if (pluginsStarted) {
204
- await this.stopActionScheduleRuntime();
205
- await stopAllPlugins(this.agentContext);
206
- this.pluginsStarted = false;
207
- }
208
- if (rpcStarted) {
209
- await this.stopRpc();
210
- }
211
- this.startPromise = null;
212
- return {
213
- rpcStopped: rpcStarted,
214
- pluginsStopped: pluginsStarted,
215
- };
101
+ return await this.lifecycleService.stop();
216
102
  }
217
103
  /**
218
104
  * 更新当前 SDK Agent 的静态基础指令。
219
- *
220
- * 关键点(中文)
221
- * - instruction 不做动态变量替换。
222
- * - 已创建的 session 后续 run 会读取最新 instruction blocks。
223
105
  */
224
106
  setInstruction(input) {
225
107
  this.instruction = normalizeInstructionInput(input);
@@ -238,235 +120,35 @@ export class Agent {
238
120
  }
239
121
  /**
240
122
  * 返回当前 agent runtime。
241
- *
242
- * 关键点(中文)
243
- * - 供宿主在 agent 外部装配 transport(例如 Town HTTP gateway)时复用。
244
- * - 不暴露启动语义,只暴露运行时访问口。
245
123
  */
246
124
  getRuntime() {
247
125
  return this.runtime;
248
126
  }
249
127
  /**
250
128
  * 返回当前 agent context。
251
- *
252
- * 关键点(中文)
253
- * - 供宿主装配 plugin/control 相关外层协议面。
254
129
  */
255
130
  getContext() {
256
131
  return this.agentContext;
257
132
  }
258
133
  /**
259
134
  * 返回当前 session collection。
260
- *
261
- * 关键点(中文)
262
- * - 供宿主在外层挂载 RemoteAgent transport 时复用。
263
135
  */
264
136
  getSessionCollection() {
265
- return this.sessionCollection;
266
- }
267
- /**
268
- * 确保当前 plugins 已启动。
269
- *
270
- * 关键点(中文)
271
- * - 这里只负责托管 plugin 的生命周期启动,不隐式启动 RPC 能力。
272
- * - 启动失败的 plugin 会记录日志,但保留与原行为一致的整体启动流程。
273
- */
274
- async ensurePluginsStarted() {
275
- if (this.pluginsStarted)
276
- return;
277
- const lifecycle = await startAllPlugins(this.agentContext);
278
- this.pluginsStarted = true;
279
- for (const item of lifecycle.results) {
280
- if (!item.success) {
281
- this.logger.error(`Plugin start failed: ${item.plugin?.name || "unknown"} - ${item.error || "unknown error"}`);
282
- }
283
- }
284
- await this.ensureActionScheduleRuntimeStarted();
285
- }
286
- /**
287
- * 确保 ActionSchedule runtime 已随 Agent 长期生命周期启动。
288
- *
289
- * 关键点(中文)
290
- * - ActionSchedule 不作为 plugin 注册,但它依赖 plugin action 执行能力。
291
- * - 因此这里放在普通 plugins 启动之后,避免到期任务执行到尚未启动的 plugin。
292
- */
293
- async ensureActionScheduleRuntimeStarted() {
294
- if (this.actionScheduleRuntime)
295
- return;
296
- try {
297
- this.actionScheduleRuntime = await startActionScheduleRuntime(this.agentContext);
298
- }
299
- catch (error) {
300
- this.logger.error(`ActionSchedule start failed: ${String(error)}`);
301
- }
302
- }
303
- /**
304
- * 停止 ActionSchedule runtime。
305
- *
306
- * 关键点(中文)
307
- * - Agent 停止时先停 ActionSchedule,再停普通 plugin,避免关停期间继续触发 action。
308
- */
309
- async stopActionScheduleRuntime() {
310
- const runtime = this.actionScheduleRuntime;
311
- this.actionScheduleRuntime = null;
312
- runtime?.stop();
313
- }
314
- /**
315
- * 启动当前 agent 的本机 RPC server。
316
- */
317
- async startRpc(options) {
318
- if (this.rpcBinding) {
319
- return this.rpcBinding;
320
- }
321
- const host = String(options?.host || "127.0.0.1").trim() || "127.0.0.1";
322
- const port = typeof options?.port === "number" && Number.isInteger(options.port)
323
- ? options.port
324
- : 15314;
325
- const server = await startRpcServer({
326
- host,
327
- port,
328
- sessionCollection: this.sessionCollection,
329
- getAgentContext: () => this.agentContext,
330
- getAgentRuntime: () => this.getRuntime(),
137
+ return this.sessionManager.get_session_collection();
138
+ }
139
+ create_session_manager(assembly) {
140
+ return new AgentSessionManager({
141
+ agent_id: this.id || assembly.id,
142
+ project_root: this.path || assembly.path,
143
+ tools: this.tools || assembly.tools,
144
+ logger: this.logger || assembly.logger,
145
+ runtime: this.runtime || assembly.runtime,
146
+ get_agent_context: () => this.agentContext || assembly.agent_context,
147
+ get_instruction: () => this.instruction,
148
+ plugin_instances: assembly.plugin_instances,
149
+ default_model: this.defaultModel,
150
+ SessionClass: this.SessionClass,
331
151
  });
332
- this.rpcBinding = {
333
- url: `rpc://${host}:${port}`,
334
- host,
335
- port,
336
- server,
337
- };
338
- return this.rpcBinding;
339
- }
340
- /**
341
- * 停止当前 agent 的本机 RPC server。
342
- */
343
- async stopRpc() {
344
- if (!this.rpcBinding)
345
- return;
346
- const current = this.rpcBinding;
347
- this.rpcBinding = null;
348
- await current.server.stop();
349
- }
350
- /**
351
- * 读取当前项目配置。
352
- *
353
- * 关键点(中文)
354
- * - 若项目根目录尚未存在合法 `downcity.json`,会退回最小 SDK 占位配置。
355
- * - 这样可以允许纯 SDK 场景在尚未初始化项目时继续装配本地 Agent。
356
- */
357
- loadConfig() {
358
- try {
359
- return loadDowncityConfig(this.path);
360
- }
361
- catch {
362
- return createFallbackSdkConfig(this.id);
363
- }
364
- }
365
- /**
366
- * 注册当前 agent 可见的 plugin 实例。
367
- *
368
- * 关键点(中文)
369
- * - SDK 只注册宿主显式传入的 plugin 实例,不再隐式装配 built-in 集合。
370
- * - 所有 plugin 在注册前都会绑定到当前实例 runtime。
371
- */
372
- registerPlugins(plugins) {
373
- for (const plugin of plugins) {
374
- const name = String(plugin?.name || "").trim();
375
- if (!name) {
376
- throw new Error("Agent received a plugin without a valid name");
377
- }
378
- if (this.pluginInstances.has(name)) {
379
- throw new Error(`Duplicate plugin registration: ${name}`);
380
- }
381
- plugin.bindAgent(this.runtime);
382
- this.pluginInstances.set(name, plugin);
383
- }
384
- }
385
- /**
386
- * 读取当前 agent 静态 instruction blocks。
387
- */
388
- loadInstructionSystemBlocks() {
389
- return createInstructionSystemBlocks(this.instruction, this.path);
390
- }
391
- /**
392
- * 读取当前可用 plugin 暴露的 system blocks。
393
- *
394
- * 关键点(中文)
395
- * - 单个 plugin system 失败不会阻断 session 主链路。
396
- * - 这里只加载当前启用且可用的 plugin system 文本。
397
- */
398
- async loadPluginSystemBlocks() {
399
- const out = [];
400
- for (const plugin of this.pluginInstances.values()) {
401
- if (typeof plugin.system !== "function")
402
- continue;
403
- try {
404
- if (!isPluginEnabled({ plugin, context: this.agentContext }))
405
- continue;
406
- if (typeof plugin.availability === "function") {
407
- const availability = await plugin.availability(this.agentContext);
408
- if (!availability.available)
409
- continue;
410
- }
411
- const text = String(await plugin.system(this.agentContext)).trim();
412
- if (!text)
413
- continue;
414
- out.push({
415
- source: "plugin",
416
- name: plugin.name,
417
- content: text,
418
- });
419
- }
420
- catch {
421
- // 单个 plugin system 失败不应阻断 SDK session 主链路。
422
- }
423
- }
424
- return out;
425
- }
426
- /**
427
- * 获取或创建一个本地 Session 实例。
428
- *
429
- * 关键点(中文)
430
- * - 同一个 `sessionId` 在单个 Agent 实例内只会装配一次。
431
- * - 新建 session 时会把 instruction 与 plugin system 读取能力注入进去。
432
- */
433
- getOrCreateSession(sessionId) {
434
- const resolvedSessionId = String(sessionId || "").trim() || `session-${Date.now()}-${nanoid(8)}`;
435
- const cached = this.sessionsById.get(resolvedSessionId);
436
- if (cached)
437
- return cached;
438
- const created = new Session({
439
- agentId: this.id,
440
- projectRoot: this.path,
441
- sessionId: resolvedSessionId,
442
- tools: this.tools,
443
- logger: this.logger,
444
- getInstructionSystemBlocks: () => this.loadInstructionSystemBlocks(),
445
- getManagedPluginSystemBlocks: async () => [],
446
- getPluginSystemBlocks: () => this.loadPluginSystemBlocks(),
447
- ensureConfigured: async (session) => {
448
- await this.applySessionDefaults(session);
449
- },
450
- });
451
- this.sessionsById.set(resolvedSessionId, created);
452
- return created;
453
- }
454
- /**
455
- * 为 session 应用默认模型。
456
- *
457
- * 关键点(中文)
458
- * - 同一个 session 在单个 Agent 实例中只会执行一次配置装配。
459
- * - 默认模型会在首次访问/首次执行前写入当前 session。
460
- */
461
- async applySessionDefaults(session) {
462
- if (this.configuredSessionIds.has(session.id))
463
- return;
464
- if (this.defaultModel) {
465
- await session.set({
466
- model: this.defaultModel,
467
- });
468
- }
469
- this.configuredSessionIds.add(session.id);
470
152
  }
471
153
  }
472
154
  //# sourceMappingURL=Agent.js.map
@@ -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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"}
@@ -12,7 +12,7 @@ import type { LanguageModel } from "ai";
12
12
  import type { AgentContext, SessionPort } from "../../types/runtime/agent/AgentContext.js";
13
13
  import type { AgentRuntime } from "../../types/runtime/agent/AgentRuntime.js";
14
14
  import type { PluginPort } from "../../plugin/types/Plugin.js";
15
- import type { Session } from "../../session/Session.js";
15
+ import type { AgentManagedSession } from "../../types/agent/AgentTypes.js";
16
16
  /**
17
17
  * 创建 AgentRuntime 的参数。
18
18
  */
@@ -34,7 +34,7 @@ export interface CreateAgentRuntimeOptions {
34
34
  /** 获取或创建 session runtime port。 */
35
35
  get_session_port: (session_id: string) => SessionPort;
36
36
  /** 读取当前已缓存的 session 实例。 */
37
- list_cached_sessions: () => Session[];
37
+ list_cached_sessions: () => AgentManagedSession[];
38
38
  }
39
39
  /**
40
40
  * 创建 AgentContext 的参数。
@@ -1 +1 @@
1
- {"version":3,"file":"AgentRuntimeFactory.d.ts","sourceRoot":"","sources":["../../../src/agent/local/AgentRuntimeFactory.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAC;AAC9D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,0BAA0B,CAAC;AACvD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kCAAkC,CAAC;AACvE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,IAAI,CAAC;AAExC,OAAO,KAAK,EACV,YAAY,EACZ,WAAW,EACZ,MAAM,uCAAuC,CAAC;AAC/C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,uCAAuC,CAAC;AAC1E,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAC3D,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAMpD;;GAEG;AACH,MAAM,WAAW,yBAAyB;IACxC,mBAAmB;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,eAAe;IACf,YAAY,EAAE,MAAM,CAAC;IACrB,aAAa;IACb,MAAM,EAAE,MAAM,CAAC;IACf,gBAAgB;IAChB,MAAM,EAAE,cAAc,CAAC;IACvB,gBAAgB;IAChB,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC5B,wBAAwB;IACxB,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,sBAAsB;IACtB,gBAAgB,EAAE,GAAG,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;IAC1C,kCAAkC;IAClC,gBAAgB,EAAE,CAAC,UAAU,EAAE,MAAM,KAAK,WAAW,CAAC;IACtD,2BAA2B;IAC3B,oBAAoB,EAAE,MAAM,OAAO,EAAE,CAAC;CACvC;AAED;;GAEG;AACH,MAAM,WAAW,yBAAyB;IACxC,uBAAuB;IACvB,OAAO,EAAE,YAAY,CAAC;IACtB,eAAe;IACf,YAAY,EAAE,MAAM,CAAC;IACrB,aAAa;IACb,MAAM,EAAE,MAAM,CAAC;IACf,gBAAgB;IAChB,MAAM,EAAE,cAAc,CAAC;IACvB,gBAAgB;IAChB,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC5B,wBAAwB;IACxB,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,sBAAsB;IACtB,gBAAgB,EAAE,GAAG,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;IAC1C,sBAAsB;IACtB,OAAO,EAAE,UAAU,CAAC;IACpB,kCAAkC;IAClC,gBAAgB,EAAE,CAAC,UAAU,EAAE,MAAM,KAAK,WAAW,CAAC;IACtD,4BAA4B;IAC5B,qBAAqB,EAAE,CAAC,UAAU,EAAE,MAAM,KAAK,OAAO,CAAC,aAAa,GAAG,SAAS,CAAC,CAAC;CACnF;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAChC,OAAO,EAAE,yBAAyB,GACjC,YAAY,CAuBd;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAChC,OAAO,EAAE,yBAAyB,GACjC,YAAY,CA8Dd"}
1
+ {"version":3,"file":"AgentRuntimeFactory.d.ts","sourceRoot":"","sources":["../../../src/agent/local/AgentRuntimeFactory.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAC;AAC9D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,0BAA0B,CAAC;AACvD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kCAAkC,CAAC;AACvE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,IAAI,CAAC;AAExC,OAAO,KAAK,EACV,YAAY,EACZ,WAAW,EACZ,MAAM,uCAAuC,CAAC;AAC/C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,uCAAuC,CAAC;AAC1E,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAC3D,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AAMvE;;GAEG;AACH,MAAM,WAAW,yBAAyB;IACxC,mBAAmB;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,eAAe;IACf,YAAY,EAAE,MAAM,CAAC;IACrB,aAAa;IACb,MAAM,EAAE,MAAM,CAAC;IACf,gBAAgB;IAChB,MAAM,EAAE,cAAc,CAAC;IACvB,gBAAgB;IAChB,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC5B,wBAAwB;IACxB,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,sBAAsB;IACtB,gBAAgB,EAAE,GAAG,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;IAC1C,kCAAkC;IAClC,gBAAgB,EAAE,CAAC,UAAU,EAAE,MAAM,KAAK,WAAW,CAAC;IACtD,2BAA2B;IAC3B,oBAAoB,EAAE,MAAM,mBAAmB,EAAE,CAAC;CACnD;AAED;;GAEG;AACH,MAAM,WAAW,yBAAyB;IACxC,uBAAuB;IACvB,OAAO,EAAE,YAAY,CAAC;IACtB,eAAe;IACf,YAAY,EAAE,MAAM,CAAC;IACrB,aAAa;IACb,MAAM,EAAE,MAAM,CAAC;IACf,gBAAgB;IAChB,MAAM,EAAE,cAAc,CAAC;IACvB,gBAAgB;IAChB,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC5B,wBAAwB;IACxB,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,sBAAsB;IACtB,gBAAgB,EAAE,GAAG,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;IAC1C,sBAAsB;IACtB,OAAO,EAAE,UAAU,CAAC;IACpB,kCAAkC;IAClC,gBAAgB,EAAE,CAAC,UAAU,EAAE,MAAM,KAAK,WAAW,CAAC;IACtD,4BAA4B;IAC5B,qBAAqB,EAAE,CAAC,UAAU,EAAE,MAAM,KAAK,OAAO,CAAC,aAAa,GAAG,SAAS,CAAC,CAAC;CACnF;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAChC,OAAO,EAAE,yBAAyB,GACjC,YAAY,CAuBd;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAChC,OAAO,EAAE,yBAAyB,GACjC,YAAY,CAyCd"}
@@ -53,32 +53,11 @@ export function createAgentContext(options) {
53
53
  },
54
54
  invoke: {
55
55
  invoke: async (params) => {
56
- const plugin_name = String(params.plugin || "").trim();
57
- const action_name = String(params.action || "").trim();
58
- const plugin = options.plugin_instances.get(plugin_name);
59
- if (!plugin) {
60
- return {
61
- success: false,
62
- error: `Unknown plugin: ${plugin_name}`,
63
- };
64
- }
65
- const action = plugin.actions[action_name];
66
- if (!action) {
67
- return {
68
- success: false,
69
- error: `Unknown action: ${plugin_name}.${action_name}`,
70
- };
71
- }
72
- const result = await action.execute({
73
- context,
74
- payload: params.payload ?? null,
75
- pluginName: plugin_name,
76
- actionName: action_name,
77
- });
56
+ const result = await options.plugins.runAction(params);
78
57
  if (!result.success) {
79
58
  return {
80
59
  success: false,
81
- ...(result.error ? { error: result.error } : {}),
60
+ error: result.error || result.message || "plugin action failed",
82
61
  };
83
62
  }
84
63
  return {
@@ -1 +1 @@
1
- {"version":3,"file":"AgentRuntimeFactory.js","sourceRoot":"","sources":["../../../src/agent/local/AgentRuntimeFactory.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"AgentRuntimeFactory.js","sourceRoot":"","sources":["../../../src/agent/local/AgentRuntimeFactory.ts"],"names":[],"mappings":"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"}