@downcity/agent 1.1.446 → 1.5.0

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 (122) hide show
  1. package/bin/agent/Agent.d.ts +29 -2
  2. package/bin/agent/Agent.d.ts.map +1 -1
  3. package/bin/agent/Agent.js +56 -10
  4. package/bin/agent/Agent.js.map +1 -1
  5. package/bin/agent/AgentSessionIdentity.d.ts +19 -0
  6. package/bin/agent/AgentSessionIdentity.d.ts.map +1 -0
  7. package/bin/agent/AgentSessionIdentity.js +26 -0
  8. package/bin/agent/AgentSessionIdentity.js.map +1 -0
  9. package/bin/agent/AgentSessions.d.ts +35 -9
  10. package/bin/agent/AgentSessions.d.ts.map +1 -1
  11. package/bin/agent/AgentSessions.js +110 -63
  12. package/bin/agent/AgentSessions.js.map +1 -1
  13. package/bin/agent/SessionWork.d.ts +85 -0
  14. package/bin/agent/SessionWork.d.ts.map +1 -0
  15. package/bin/agent/SessionWork.js +165 -0
  16. package/bin/agent/SessionWork.js.map +1 -0
  17. package/bin/index.d.ts +5 -0
  18. package/bin/index.d.ts.map +1 -1
  19. package/bin/index.js.map +1 -1
  20. package/bin/session/Session.d.ts +34 -8
  21. package/bin/session/Session.d.ts.map +1 -1
  22. package/bin/session/Session.js +102 -27
  23. package/bin/session/Session.js.map +1 -1
  24. package/bin/session/input/StepInput.d.ts +15 -0
  25. package/bin/session/input/StepInput.d.ts.map +1 -1
  26. package/bin/session/input/StepInput.js +39 -5
  27. package/bin/session/input/StepInput.js.map +1 -1
  28. package/bin/session/loop/SessionLoop.d.ts +2 -1
  29. package/bin/session/loop/SessionLoop.d.ts.map +1 -1
  30. package/bin/session/loop/SessionLoop.js +7 -9
  31. package/bin/session/loop/SessionLoop.js.map +1 -1
  32. package/bin/session/loop/SessionState.d.ts +21 -1
  33. package/bin/session/loop/SessionState.d.ts.map +1 -1
  34. package/bin/session/loop/SessionState.js +54 -1
  35. package/bin/session/loop/SessionState.js.map +1 -1
  36. package/bin/session/storage/Browse.d.ts.map +1 -1
  37. package/bin/session/storage/Browse.js +2 -2
  38. package/bin/session/storage/Browse.js.map +1 -1
  39. package/bin/session/storage/LocalSessionStore.d.ts.map +1 -1
  40. package/bin/session/storage/LocalSessionStore.js +7 -7
  41. package/bin/session/storage/LocalSessionStore.js.map +1 -1
  42. package/bin/tools/session/SessionToolSchemas.d.ts +34 -0
  43. package/bin/tools/session/SessionToolSchemas.d.ts.map +1 -0
  44. package/bin/tools/session/SessionToolSchemas.js +39 -0
  45. package/bin/tools/session/SessionToolSchemas.js.map +1 -0
  46. package/bin/tools/session/SessionTools.d.ts +57 -0
  47. package/bin/tools/session/SessionTools.d.ts.map +1 -0
  48. package/bin/tools/session/SessionTools.js +111 -0
  49. package/bin/tools/session/SessionTools.js.map +1 -0
  50. package/bin/types/agent/AgentOptions.d.ts +10 -1
  51. package/bin/types/agent/AgentOptions.d.ts.map +1 -1
  52. package/bin/types/agent/AgentSessionCollection.d.ts +17 -6
  53. package/bin/types/agent/AgentSessionCollection.d.ts.map +1 -1
  54. package/bin/types/agent/AgentSessionCollection.js +1 -1
  55. package/bin/types/agent/AgentSessionInput.d.ts +14 -0
  56. package/bin/types/agent/AgentSessionInput.d.ts.map +1 -0
  57. package/bin/types/agent/AgentSessionInput.js +9 -0
  58. package/bin/types/agent/AgentSessionInput.js.map +1 -0
  59. package/bin/types/agent/SessionActor.d.ts +16 -5
  60. package/bin/types/agent/SessionActor.d.ts.map +1 -1
  61. package/bin/types/agent/SessionContext.d.ts +26 -0
  62. package/bin/types/agent/SessionContext.d.ts.map +1 -0
  63. package/bin/types/agent/SessionContext.js +12 -0
  64. package/bin/types/agent/SessionContext.js.map +1 -0
  65. package/bin/types/agent/SessionState.d.ts +55 -0
  66. package/bin/types/agent/SessionState.d.ts.map +1 -0
  67. package/bin/types/agent/SessionState.js +15 -0
  68. package/bin/types/agent/SessionState.js.map +1 -0
  69. package/bin/types/agent/SessionTypes.d.ts +12 -1
  70. package/bin/types/agent/SessionTypes.d.ts.map +1 -1
  71. package/bin/types/agent/SessionWork.d.ts +53 -0
  72. package/bin/types/agent/SessionWork.d.ts.map +1 -0
  73. package/bin/types/agent/SessionWork.js +13 -0
  74. package/bin/types/agent/SessionWork.js.map +1 -0
  75. package/bin/types/session/SessionLocalState.d.ts +20 -1
  76. package/bin/types/session/SessionLocalState.d.ts.map +1 -1
  77. package/bin/types/session/SessionLoop.d.ts +6 -2
  78. package/bin/types/session/SessionLoop.d.ts.map +1 -1
  79. package/bin/types/session/SessionOptions.d.ts +9 -11
  80. package/bin/types/session/SessionOptions.d.ts.map +1 -1
  81. package/bin/types/session/StepInput.d.ts +5 -5
  82. package/bin/types/session/StepInput.d.ts.map +1 -1
  83. package/bin/types/tools/session/SessionTools.d.ts +92 -0
  84. package/bin/types/tools/session/SessionTools.d.ts.map +1 -0
  85. package/bin/types/tools/session/SessionTools.js +12 -0
  86. package/bin/types/tools/session/SessionTools.js.map +1 -0
  87. package/package.json +2 -2
  88. package/scripts/session-executor-context-pressure.test.mjs +1 -1
  89. package/scripts/session-executor-failure-result.test.mjs +1 -1
  90. package/scripts/session-executor-max-steps.test.mjs +1 -1
  91. package/scripts/session-initialization.test.mjs +4 -2
  92. package/scripts/session-interaction-migration.test.mjs +2 -2
  93. package/scripts/session-prompt-idempotency.test.mjs +2 -2
  94. package/scripts/session-storage-sqlite.test.mjs +3 -3
  95. package/scripts/session-turn-context.test.mjs +4 -4
  96. package/src/agent/Agent.ts +64 -10
  97. package/src/agent/AgentSessionIdentity.ts +30 -0
  98. package/src/agent/AgentSessions.ts +119 -77
  99. package/src/agent/SessionWork.ts +235 -0
  100. package/src/index.ts +19 -0
  101. package/src/session/Session.ts +112 -29
  102. package/src/session/input/StepInput.ts +42 -7
  103. package/src/session/loop/SessionLoop.ts +7 -9
  104. package/src/session/loop/SessionState.ts +61 -1
  105. package/src/session/storage/Browse.ts +2 -1
  106. package/src/session/storage/LocalSessionStore.ts +7 -7
  107. package/src/tools/session/SessionToolSchemas.ts +61 -0
  108. package/src/tools/session/SessionTools.ts +170 -0
  109. package/src/types/agent/AgentOptions.ts +12 -1
  110. package/src/types/agent/AgentSessionCollection.ts +18 -7
  111. package/src/types/agent/AgentSessionInput.ts +15 -0
  112. package/src/types/agent/SessionActor.ts +23 -5
  113. package/src/types/agent/SessionContext.ts +29 -0
  114. package/src/types/agent/SessionState.ts +74 -0
  115. package/src/types/agent/SessionTypes.ts +13 -1
  116. package/src/types/agent/SessionWork.ts +57 -0
  117. package/src/types/session/SessionLocalState.ts +24 -1
  118. package/src/types/session/SessionLoop.ts +6 -2
  119. package/src/types/session/SessionOptions.ts +10 -14
  120. package/src/types/session/StepInput.ts +5 -5
  121. package/src/types/tools/session/SessionTools.ts +104 -0
  122. package/tsconfig.tsbuildinfo +1 -1
@@ -10,7 +10,8 @@ import { nanoid } from "nanoid";
10
10
  import { Session } from "../session/Session.js";
11
11
  import { create_instruction_system_blocks } from "../agent/AgentInstructions.js";
12
12
  import { DefaultSessionComposer } from "../session/input/composer/DefaultSessionComposer.js";
13
- import { normalize_session_origin, normalize_session_origin_type } from "@downcity/type";
13
+ import { normalize_session_origin, normalize_session_origin_type, SESSION_ORIGIN_TYPE_WORK } from "@downcity/type";
14
+ import { create_agent_session_origin, resolve_agent_session_id } from "../agent/AgentSessionIdentity.js";
14
15
  /**
15
16
  * 本地 Agent session 管理服务。
16
17
  */
@@ -25,6 +26,8 @@ export class AgentSessions {
25
26
  session_composer;
26
27
  get_agent_model;
27
28
  sessions_by_id = new Map();
29
+ /** Agent 会话创建链;并发调用共享同一创建过程,避免产生第二条。 */
30
+ agent_session_creation_chain = Promise.resolve();
28
31
  constructor(options) {
29
32
  this.agent_id = options.agent_id;
30
33
  this.agent_name = options.agent_name;
@@ -77,7 +80,7 @@ export class AgentSessions {
77
80
  * runtime 是执行层的内部投影,不负责创建 Session。需要创建时必须
78
81
  * 通过 `create()` 获取内部生成的 ID;需要恢复时必须先调用 `get()`。
79
82
  */
80
- runtime(session_id, origin_type = "chat") {
83
+ runtime(session_id, origin_type = SESSION_ORIGIN_TYPE_WORK) {
81
84
  const resolved_session_id = String(session_id || "").trim();
82
85
  const resolved_origin_type = normalize_session_origin_type(origin_type);
83
86
  const session = this.sessions_by_id.get(this.session_cache_key(resolved_session_id, resolved_origin_type));
@@ -86,13 +89,78 @@ export class AgentSessions {
86
89
  }
87
90
  return session.get_runtime_port();
88
91
  }
92
+ /**
93
+ * 取用 Agent 自己那条会话;不存在时创建。
94
+ *
95
+ * 关键点(中文)
96
+ * - 身份就是 `origin.type = "agent"`,`session_id` 就是 Agent 的 `id`:
97
+ * 因此不新增索引,也不维护额外状态。
98
+ * - 同一进程内并发调用会收敛到同一个创建过程,不会产生第二条。
99
+ * - 被归档或删除后,下一次调用自然重建一条。
100
+ */
101
+ async self(input) {
102
+ const existing = await this.find_agent_session();
103
+ if (existing)
104
+ return existing;
105
+ return await this.run_agent_session_creation(async () => {
106
+ const cached = await this.find_agent_session();
107
+ if (cached)
108
+ return cached;
109
+ const origin = create_agent_session_origin();
110
+ const context = this.resolve_session_context({
111
+ origin,
112
+ creating: true,
113
+ ...(input?.workspace ? { workspace: input.workspace } : {}),
114
+ });
115
+ const session_id = resolve_agent_session_id(this.agent_id);
116
+ const session = this.get_or_create_session({
117
+ session_id,
118
+ origin,
119
+ ...(input?.workspace ? { workspace: input.workspace } : {}),
120
+ storage: context.store.create_session(session_id, origin, context.workspace_id),
121
+ });
122
+ await session.initialize();
123
+ return session;
124
+ });
125
+ }
126
+ /**
127
+ * 尝试恢复已存在的 Agent 会话;不存在或已失效时返回空。
128
+ *
129
+ * 关键点(中文):查找不传 Workspace;传 Workspace 只在创建时生效,
130
+ * 否则「已存在时忽略该参数」会退化成一次静默切目录。
131
+ */
132
+ async find_agent_session() {
133
+ const origin = create_agent_session_origin();
134
+ const context = this.resolve_session_context({ origin });
135
+ const session_id = resolve_agent_session_id(this.agent_id);
136
+ try {
137
+ if (!(await context.store.has_session(session_id, origin.type))) {
138
+ return undefined;
139
+ }
140
+ }
141
+ catch {
142
+ return undefined;
143
+ }
144
+ return await this.get(session_id, origin.type);
145
+ }
146
+ /** 串行化 Agent 会话创建;失败时释放链,使下一次调用可以重试。 */
147
+ async run_agent_session_creation(create) {
148
+ const previous = this.agent_session_creation_chain;
149
+ const operation = previous.then(create, create);
150
+ this.agent_session_creation_chain = operation.then(() => undefined, () => undefined);
151
+ return await operation;
152
+ }
89
153
  /**
90
154
  * 新建一个 session。
91
155
  */
92
156
  async create(input) {
93
157
  const origin = normalize_session_origin(input?.origin);
94
158
  const session_id = `session-${Date.now()}-${nanoid(8)}`;
95
- const context = this.resolve_session_context(input?.workspace);
159
+ const context = this.resolve_session_context({
160
+ origin,
161
+ creating: true,
162
+ ...(input?.workspace ? { workspace: input.workspace } : {}),
163
+ });
96
164
  const session = this.get_or_create_session({
97
165
  session_id,
98
166
  workspace: input?.workspace,
@@ -104,15 +172,23 @@ export class AgentSessions {
104
172
  }
105
173
  /**
106
174
  * 获取一个已存在的 session。
175
+ *
176
+ * 关键点(中文)
177
+ * - 当前目录不是 Session 身份:传入的 Workspace 与持久化值不一致时不再报错,
178
+ * 而是以传入值为准成为该 Session 的新当前目录。
179
+ * - 省略 Workspace 时沿用持久化值;两者都为空时该 Session 没有项目上下文。
107
180
  */
108
- async get(session_id, origin_type = "chat", input) {
181
+ async get(session_id, origin_type = SESSION_ORIGIN_TYPE_WORK, input) {
109
182
  const resolved_session_id = String(session_id || "").trim();
110
183
  if (!resolved_session_id) {
111
184
  throw new Error("sessions.get requires a non-empty session_id");
112
185
  }
113
186
  const resolved_origin_type = normalize_session_origin_type(origin_type);
114
187
  const cache_key = this.session_cache_key(resolved_session_id, resolved_origin_type);
115
- const context = this.resolve_session_context(input?.workspace);
188
+ const context = this.resolve_session_context({
189
+ origin: { type: resolved_origin_type },
190
+ ...(input?.workspace ? { workspace: input.workspace } : {}),
191
+ });
116
192
  const store = context.store;
117
193
  if (!this.sessions_by_id.has(cache_key) &&
118
194
  !(await store.has_session(resolved_session_id, resolved_origin_type))) {
@@ -121,24 +197,21 @@ export class AgentSessions {
121
197
  const storage = await store.open_session(resolved_session_id, resolved_origin_type);
122
198
  const persisted_metadata = await storage.read_metadata();
123
199
  const persisted_workspace_id = String(persisted_metadata.workspace_id || "").trim() || undefined;
124
- const persisted_origin = persisted_metadata.origin;
125
- const cached = this.sessions_by_id.get(cache_key);
126
200
  const requested_workspace_id = String(input?.workspace?.id || "").trim() || undefined;
127
- if (persisted_workspace_id !== requested_workspace_id) {
128
- throw new Error(persisted_workspace_id
129
- ? `Session "${resolved_session_id}" requires Workspace "${persisted_workspace_id}"`
130
- : `Session "${resolved_session_id}" is not bound to a Workspace`);
131
- }
132
- if (cached && cached.workspace_id !== requested_workspace_id) {
133
- throw new Error(`Session "${resolved_session_id}" is already bound to Workspace "${cached.workspace_id || ""}"`);
134
- }
201
+ // 目录不是身份,也不在 Session 侧还原:
202
+ // - 宿主传了实例 → 用它;
203
+ // - 本进程有缓存 → 沿用内存实例;
204
+ // - 都没有 → 该会话没有项目上下文,但仍可正常读历史与对话。
135
205
  const session = this.get_or_create_session({
136
206
  session_id: resolved_session_id,
137
- workspace: input?.workspace,
138
- origin: persisted_origin,
207
+ ...(input?.workspace ? { workspace: input.workspace } : {}),
208
+ origin: persisted_metadata.origin,
139
209
  storage,
140
210
  });
141
211
  await session.initialize();
212
+ if (requested_workspace_id && requested_workspace_id !== persisted_workspace_id) {
213
+ await session.set({ workspace: input?.workspace ?? null });
214
+ }
142
215
  return session;
143
216
  }
144
217
  /**
@@ -148,7 +221,7 @@ export class AgentSessions {
148
221
  * - 正在执行的 Session 会先停止,避免删除后继续写入。
149
222
  * - 该方法不处理任何 Power 自有数据。
150
223
  */
151
- async remove(session_id, origin_type = "chat") {
224
+ async remove(session_id, origin_type = SESSION_ORIGIN_TYPE_WORK) {
152
225
  const resolved_session_id = String(session_id || "").trim();
153
226
  if (!resolved_session_id) {
154
227
  throw new Error("sessions.remove requires a non-empty session_id");
@@ -167,7 +240,7 @@ export class AgentSessions {
167
240
  /**
168
241
  * 清空一个 Session 的消息目录。
169
242
  */
170
- async clear_messages(session_id, origin_type = "chat") {
243
+ async clear_messages(session_id, origin_type = SESSION_ORIGIN_TYPE_WORK) {
171
244
  const resolved_session_id = String(session_id || "").trim();
172
245
  if (!resolved_session_id) {
173
246
  throw new Error("sessions.clear_messages requires a non-empty session_id");
@@ -187,8 +260,8 @@ export class AgentSessions {
187
260
  * 列出当前 agent 的 session 摘要页。
188
261
  */
189
262
  async list(input) {
190
- const origin_type = normalize_session_origin_type(input?.origin_type ?? "chat");
191
- return await this.resolve_session_context().store.list_sessions({ ...(input || {}), origin_type }, new Set(this.list_executing_session_ids(undefined, origin_type)));
263
+ const origin_type = normalize_session_origin_type(input?.origin_type ?? SESSION_ORIGIN_TYPE_WORK);
264
+ return await this.resolve_session_context({ origin: { type: origin_type } }).store.list_sessions({ ...(input || {}), origin_type }, new Set(this.list_executing_session_ids(undefined, origin_type)));
192
265
  }
193
266
  /**
194
267
  * 归档单个 session。
@@ -198,7 +271,7 @@ export class AgentSessions {
198
271
  if (!session_id) {
199
272
  throw new Error("sessions.archive requires a non-empty id");
200
273
  }
201
- const origin_type = normalize_session_origin_type(input.origin_type ?? "chat");
274
+ const origin_type = normalize_session_origin_type(input.origin_type ?? SESSION_ORIGIN_TYPE_WORK);
202
275
  const cache_key = this.session_cache_key(session_id, origin_type);
203
276
  const cached = this.sessions_by_id.get(cache_key);
204
277
  if (cached?.is_executing()) {
@@ -222,64 +295,38 @@ export class AgentSessions {
222
295
  return await this.resolve_session_context().store.clean_archive();
223
296
  }
224
297
  /**
225
- * 把 Session 重新绑定到另一个 Workspace。
298
+ * 删除:把 Session 重新绑定到另一个 Workspace。
226
299
  *
227
- * 关键点(中文)
228
- * - 只改写 session_state 中的 workspace_id 并清掉运行时缓存;
229
- * - 之后用新 Workspace 恢复时不再触发严格的 workspace 归属校验。
300
+ * 删除理由:它表达的是「Workspace 是 Session 绑定」这个旧模型。目录切换改由
301
+ * `session.set({ workspace })` 承担,恢复时不再校验归属,因此不需要第二条路径。
230
302
  */
231
- async workspace(session_id, workspace) {
232
- const resolved_session_id = String(session_id || "").trim();
233
- if (!resolved_session_id) {
234
- throw new Error("sessions.workspace requires a non-empty session_id");
235
- }
236
- const resolved_origin_type = normalize_session_origin_type("chat");
237
- const cache_key = this.session_cache_key(resolved_session_id, resolved_origin_type);
238
- const cached = this.sessions_by_id.get(cache_key);
239
- if (cached?.is_executing()) {
240
- throw new Error(`Session "${resolved_session_id}" is currently executing`);
241
- }
242
- const context = this.resolve_session_context(workspace);
243
- if (!(await context.store.has_session(resolved_session_id, resolved_origin_type))) {
244
- throw new Error(`Session "${resolved_session_id}" not found`);
245
- }
246
- const store = await context.store.open_session(resolved_session_id, resolved_origin_type);
247
- const metadata = await store.read_metadata();
248
- if (metadata.agent_id !== this.agent_id) {
249
- throw new Error(`Session "${resolved_session_id}" belongs to another Agent`);
250
- }
251
- await store.write_metadata({
252
- ...metadata,
253
- workspace_id: context.workspace_id,
254
- });
255
- this.sessions_by_id.delete(cache_key);
256
- cached?.dispose_title_generation?.();
257
- return await this.get(resolved_session_id, resolved_origin_type, { workspace });
258
- }
259
303
  get_or_create_session(input) {
260
304
  const resolved_session_id = String(input?.session_id || input?.storage?.session_id || "").trim() || `session-${Date.now()}-${nanoid(8)}`;
261
- const origin = normalize_session_origin(input?.origin);
262
- const cache_key = this.session_cache_key(resolved_session_id, origin.type);
305
+ const resolved_origin = normalize_session_origin(input?.origin);
306
+ const cache_key = this.session_cache_key(resolved_session_id, resolved_origin.type);
263
307
  const cached = this.sessions_by_id.get(cache_key);
264
308
  if (cached)
265
309
  return cached;
266
- const context = this.resolve_session_context(input?.workspace);
310
+ const context = this.resolve_session_context({
311
+ ...(input?.origin ? { origin: input.origin } : {}),
312
+ creating: true,
313
+ ...(input?.workspace ? { workspace: input.workspace } : {}),
314
+ });
267
315
  const created = new this.session_class({
268
316
  agent_id: this.agent_id,
269
317
  agent_name: this.agent_name,
270
318
  agent_description: this.agent_description,
271
319
  workspace_path: context.workspace_path,
272
- ...(context.workspace_id ? { workspace_id: context.workspace_id } : {}),
273
- origin,
274
- store: input?.storage || context.store.create_session(resolved_session_id, origin, context.workspace_id),
275
- create_session_store: (session_id) => context.store.create_session(session_id, origin, context.workspace_id),
320
+ ...(context.get_workspace() ? { workspace: context.get_workspace() } : {}),
321
+ origin: resolved_origin,
322
+ store: input?.storage || context.store.create_session(resolved_session_id, resolved_origin, context.workspace_id),
323
+ create_session_store: (session_id) => context.store.create_session(session_id, resolved_origin, context.workspace_id),
276
324
  register_forked_session: (session) => this.register_forked_session(session),
277
325
  session_id: resolved_session_id,
278
326
  get_tools: () => context.get_tools(),
279
327
  logger: context.logger,
280
328
  instruction_system_blocks: this.load_instruction_system_blocks(),
281
329
  get_instruction_system_blocks: () => this.load_instruction_system_blocks(),
282
- get_workspace_env: () => context.get_workspace_env(),
283
330
  get_workspace: () => context.get_workspace(),
284
331
  get_agent_model: () => this.get_agent_model(),
285
332
  get_hooks: () => context.get_hooks(),
@@ -297,7 +344,7 @@ export class AgentSessions {
297
344
  * - 返回是否真的释放。调用方必须先自行解除对该实例的订阅,否则重新 `get()` 会拿到新实例
298
345
  * 而旧订阅仍然挂在被丢弃的实例上。
299
346
  */
300
- release(session_id, origin_type = "chat") {
347
+ release(session_id, origin_type = SESSION_ORIGIN_TYPE_WORK) {
301
348
  const resolved_session_id = String(session_id || "").trim();
302
349
  if (!resolved_session_id)
303
350
  return false;
@@ -1 +1 @@
1
- {"version":3,"file":"AgentSessions.js","sourceRoot":"","sources":["../../src/agent/AgentSessions.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"AgentSessions.js","sourceRoot":"","sources":["../../src/agent/AgentSessions.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,85 @@
1
+ /**
2
+ * SessionWork:Agent 会话安排与观察其他会话的实现。
3
+ *
4
+ * 职责说明(中文)
5
+ * - 把 AgentSessions 的能力投影成「一件活」的完整动作:开、看、答、停。
6
+ * - 只读取公开的摘要与消息投影,不缓存会话,也不持有存储。
7
+ *
8
+ * 关键点(中文)
9
+ * - 清单排除 Agent 自己的会话,否则清单里会出现「自己」。
10
+ * - `spawn` 不等待 Turn 结束:派活的意义就是 Agent 会话立刻能继续。
11
+ * - 详情按最近消息分页读取,让对话能回答「它做了什么」,而不把整段历史塞进上下文。
12
+ */
13
+ import type { SessionInteractionResponse, WorkspaceRuntime } from "@downcity/type";
14
+ import type { SessionWorkContract } from "../types/agent/SessionWork.js";
15
+ import type { SessionCheckDetailToolOutput, SessionToolSummary } from "../types/tools/session/SessionTools.js";
16
+ import type { AgentSession } from "../types/agent/SessionActor.js";
17
+ /** 清单中的一条会话列表项;由 AgentSessions 摘要投影而来。 */
18
+ export interface SessionWorkListEntry {
19
+ /** 会话稳定标识。 */
20
+ session_id: string;
21
+ /** 用户可见标题;未生成时省略。 */
22
+ title?: string;
23
+ /** 最近更新的预览文本。 */
24
+ preview_text?: string;
25
+ /** 最近更新时间戳(ms)。 */
26
+ updated_at?: number;
27
+ /** 会话来源。 */
28
+ origin: {
29
+ type: string;
30
+ };
31
+ /** 当前是否正在执行。 */
32
+ executing?: boolean;
33
+ }
34
+ /** SessionWork 构造参数。 */
35
+ export interface SessionWorkOptions {
36
+ /** 列出活动会话摘要,`limit` 由本模块归一化后传入。 */
37
+ list_sessions: (input: {
38
+ limit: number;
39
+ }) => Promise<{
40
+ items: SessionWorkListEntry[];
41
+ }>;
42
+ /** 恢复单条会话的运行时实例。 */
43
+ get_session: (session_id: string, origin_type: string) => Promise<AgentSession>;
44
+ /** 新建一条属于当前 Agent 的会话。 */
45
+ create_session: (input?: {
46
+ workspace?: WorkspaceRuntime;
47
+ }) => Promise<AgentSession>;
48
+ }
49
+ /** Agent 会话的会话工作运行时。 */
50
+ export declare class SessionWork implements SessionWorkContract {
51
+ private readonly options;
52
+ constructor(options: SessionWorkOptions);
53
+ /** 开一条工作会话并立刻把任务交给它。 */
54
+ spawn(input: {
55
+ query: string;
56
+ title?: string;
57
+ workspace?: WorkspaceRuntime;
58
+ }): Promise<{
59
+ session_id: string;
60
+ }>;
61
+ /** 列出当前 Agent 除自己那条之外的全部会话。 */
62
+ list(input?: {
63
+ limit?: number;
64
+ }): Promise<SessionToolSummary[]>;
65
+ /** 读取单条会话的摘要、最近消息与待响应 Interaction。 */
66
+ read(input: {
67
+ session_id: string;
68
+ limit?: number;
69
+ }): Promise<SessionCheckDetailToolOutput>;
70
+ /** 代答某条会话正在等待的用户响应。 */
71
+ reply(input: {
72
+ session_id: string;
73
+ interaction_id: string;
74
+ response: SessionInteractionResponse;
75
+ }): Promise<void>;
76
+ /** 停止某条会话当前正在执行的 Turn。 */
77
+ stop(input: {
78
+ session_id: string;
79
+ }): Promise<void>;
80
+ /** 按标识取出属于当前 Agent 的一条会话;不存在时明确失败。 */
81
+ private require_list_entry;
82
+ /** 读取一条会话当前待响应的 Interaction 数量;读取失败时按零处理。 */
83
+ private count_pending;
84
+ }
85
+ //# sourceMappingURL=SessionWork.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SessionWork.d.ts","sourceRoot":"","sources":["../../src/agent/SessionWork.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,KAAK,EAAE,0BAA0B,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAEnF,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,8BAA8B,CAAC;AACxE,OAAO,KAAK,EACV,4BAA4B,EAE5B,kBAAkB,EACnB,MAAM,uCAAuC,CAAC;AAC/C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAQlE,0CAA0C;AAC1C,MAAM,WAAW,oBAAoB;IACnC,cAAc;IACd,UAAU,EAAE,MAAM,CAAC;IACnB,qBAAqB;IACrB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,iBAAiB;IACjB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,mBAAmB;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,YAAY;IACZ,MAAM,EAAE;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;IACzB,gBAAgB;IAChB,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAED,wBAAwB;AACxB,MAAM,WAAW,kBAAkB;IACjC,mCAAmC;IACnC,aAAa,EAAE,CAAC,KAAK,EAAE;QAAE,KAAK,EAAE,MAAM,CAAA;KAAE,KAAK,OAAO,CAAC;QACnD,KAAK,EAAE,oBAAoB,EAAE,CAAC;KAC/B,CAAC,CAAC;IACH,oBAAoB;IACpB,WAAW,EAAE,CAAC,UAAU,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,KAAK,OAAO,CAAC,YAAY,CAAC,CAAC;IAChF,0BAA0B;IAC1B,cAAc,EAAE,CAAC,KAAK,CAAC,EAAE;QAAE,SAAS,CAAC,EAAE,gBAAgB,CAAA;KAAE,KAAK,OAAO,CAAC,YAAY,CAAC,CAAC;CACrF;AAED,wBAAwB;AACxB,qBAAa,WAAY,YAAW,mBAAmB;IACrD,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAqB;gBAEjC,OAAO,EAAE,kBAAkB;IAIvC,wBAAwB;IAClB,KAAK,CAAC,KAAK,EAAE;QACjB,KAAK,EAAE,MAAM,CAAC;QACd,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,SAAS,CAAC,EAAE,gBAAgB,CAAC;KAC9B,GAAG,OAAO,CAAC;QAAE,UAAU,EAAE,MAAM,CAAA;KAAE,CAAC;IAanC,+BAA+B;IACzB,IAAI,CAAC,KAAK,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,kBAAkB,EAAE,CAAC;IAuBrE,sCAAsC;IAChC,IAAI,CAAC,KAAK,EAAE;QAChB,UAAU,EAAE,MAAM,CAAC;QACnB,KAAK,CAAC,EAAE,MAAM,CAAC;KAChB,GAAG,OAAO,CAAC,4BAA4B,CAAC;IAmCzC,uBAAuB;IACjB,KAAK,CAAC,KAAK,EAAE;QACjB,UAAU,EAAE,MAAM,CAAC;QACnB,cAAc,EAAE,MAAM,CAAC;QACvB,QAAQ,EAAE,0BAA0B,CAAC;KACtC,GAAG,OAAO,CAAC,IAAI,CAAC;IAejB,0BAA0B;IACpB,IAAI,CAAC,KAAK,EAAE;QAAE,UAAU,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAMxD,sCAAsC;YACxB,kBAAkB;IAShC,6CAA6C;YAC/B,aAAa;CAQ5B"}
@@ -0,0 +1,165 @@
1
+ /**
2
+ * SessionWork:Agent 会话安排与观察其他会话的实现。
3
+ *
4
+ * 职责说明(中文)
5
+ * - 把 AgentSessions 的能力投影成「一件活」的完整动作:开、看、答、停。
6
+ * - 只读取公开的摘要与消息投影,不缓存会话,也不持有存储。
7
+ *
8
+ * 关键点(中文)
9
+ * - 清单排除 Agent 自己的会话,否则清单里会出现「自己」。
10
+ * - `spawn` 不等待 Turn 结束:派活的意义就是 Agent 会话立刻能继续。
11
+ * - 详情按最近消息分页读取,让对话能回答「它做了什么」,而不把整段历史塞进上下文。
12
+ */
13
+ import { is_agent_session_origin } from "@downcity/type";
14
+ /** 清单默认返回的会话数量上限。 */
15
+ const DEFAULT_SESSION_LIMIT = 20;
16
+ /** 详情默认返回的最近消息条数。 */
17
+ const DEFAULT_MESSAGE_LIMIT = 20;
18
+ /** Agent 会话的会话工作运行时。 */
19
+ export class SessionWork {
20
+ options;
21
+ constructor(options) {
22
+ this.options = options;
23
+ }
24
+ /** 开一条工作会话并立刻把任务交给它。 */
25
+ async spawn(input) {
26
+ const query = String(input.query || "").trim();
27
+ if (!query)
28
+ throw new Error("session_start requires a non-empty query");
29
+ const session = await this.options.create_session(input.workspace ? { workspace: input.workspace } : undefined);
30
+ const title = String(input.title || "").trim();
31
+ if (title)
32
+ await session.rename(title);
33
+ // 不等待 Turn 结束:派活的意义就是 Agent 会话立刻能继续。
34
+ void session.prompt({ query }).catch(() => undefined);
35
+ return { session_id: session.id };
36
+ }
37
+ /** 列出当前 Agent 除自己那条之外的全部会话。 */
38
+ async list(input) {
39
+ const page = await this.options.list_sessions({
40
+ limit: normalize_limit(input?.limit, DEFAULT_SESSION_LIMIT),
41
+ });
42
+ const summaries = [];
43
+ for (const item of page.items) {
44
+ if (is_agent_session_origin(item.origin))
45
+ continue;
46
+ const pending_interaction_count = await this.count_pending(item);
47
+ summaries.push({
48
+ session_id: item.session_id,
49
+ ...(item.title ? { title: item.title } : {}),
50
+ state: resolve_session_state({
51
+ executing: item.executing === true,
52
+ pending_interaction_count,
53
+ }),
54
+ ...(item.preview_text ? { preview_text: item.preview_text } : {}),
55
+ ...(typeof item.updated_at === "number" ? { updated_at: item.updated_at } : {}),
56
+ pending_interaction_count,
57
+ });
58
+ }
59
+ return summaries;
60
+ }
61
+ /** 读取单条会话的摘要、最近消息与待响应 Interaction。 */
62
+ async read(input) {
63
+ const item = await this.require_list_entry(input.session_id);
64
+ const session = await this.options.get_session(item.session_id, item.origin.type);
65
+ const [messages, pending, status] = await Promise.all([
66
+ session.messages({ limit: normalize_limit(input.limit, DEFAULT_MESSAGE_LIMIT) }),
67
+ session.interactions(),
68
+ session.status(),
69
+ ]);
70
+ const failure = resolve_failure_text(messages.items);
71
+ return {
72
+ mode: "detail",
73
+ session: {
74
+ session_id: item.session_id,
75
+ ...(item.title ? { title: item.title } : {}),
76
+ state: resolve_session_state({
77
+ executing: status.state === "running",
78
+ pending_interaction_count: pending.length,
79
+ }),
80
+ ...(item.preview_text ? { preview_text: item.preview_text } : {}),
81
+ ...(typeof item.updated_at === "number" ? { updated_at: item.updated_at } : {}),
82
+ pending_interaction_count: pending.length,
83
+ },
84
+ messages: messages.items
85
+ .map((message) => project_message_text(message))
86
+ .filter((entry) => Boolean(entry)),
87
+ pending_interactions: pending.map((interaction) => ({
88
+ interaction_id: interaction.interaction_id,
89
+ type: interaction.type,
90
+ ...(interaction.title ? { title: interaction.title } : {}),
91
+ ...(interaction.description ? { description: interaction.description } : {}),
92
+ })),
93
+ ...(failure ? { failure } : {}),
94
+ };
95
+ }
96
+ /** 代答某条会话正在等待的用户响应。 */
97
+ async reply(input) {
98
+ const item = await this.require_list_entry(input.session_id);
99
+ const session = await this.options.get_session(item.session_id, item.origin.type);
100
+ const pending = await session.interactions();
101
+ if (!pending.some((entry) => entry.interaction_id === input.interaction_id)) {
102
+ throw new Error(`Interaction is not pending on session "${input.session_id}": ${input.interaction_id}`);
103
+ }
104
+ await session.respond({
105
+ interaction_id: input.interaction_id,
106
+ response: input.response,
107
+ });
108
+ }
109
+ /** 停止某条会话当前正在执行的 Turn。 */
110
+ async stop(input) {
111
+ const item = await this.require_list_entry(input.session_id);
112
+ const session = await this.options.get_session(item.session_id, item.origin.type);
113
+ await session.stop();
114
+ }
115
+ /** 按标识取出属于当前 Agent 的一条会话;不存在时明确失败。 */
116
+ async require_list_entry(session_id_input) {
117
+ const session_id = String(session_id_input || "").trim();
118
+ if (!session_id)
119
+ throw new Error("Session id is required");
120
+ const page = await this.options.list_sessions({ limit: Number.MAX_SAFE_INTEGER });
121
+ const item = page.items.find((candidate) => candidate.session_id === session_id);
122
+ if (!item)
123
+ throw new Error(`Session is not owned by this agent: ${session_id}`);
124
+ return item;
125
+ }
126
+ /** 读取一条会话当前待响应的 Interaction 数量;读取失败时按零处理。 */
127
+ async count_pending(item) {
128
+ try {
129
+ const session = await this.options.get_session(item.session_id, item.origin.type);
130
+ return (await session.interactions()).length;
131
+ }
132
+ catch {
133
+ return 0;
134
+ }
135
+ }
136
+ }
137
+ /** 归一化可选数量上限;非法值回退到默认值。 */
138
+ function normalize_limit(input, fallback) {
139
+ return Number.isInteger(input) && input > 0 ? input : fallback;
140
+ }
141
+ /** 由执行态与待响应数量推导清单状态。 */
142
+ function resolve_session_state(input) {
143
+ if (input.pending_interaction_count > 0)
144
+ return "waiting_for_user";
145
+ if (input.executing)
146
+ return "running";
147
+ return "idle";
148
+ }
149
+ /** 把 canonical Message 投影为纯文本;没有可见文本时返回空。 */
150
+ function project_message_text(message) {
151
+ if (message.role !== "user" && message.role !== "agent")
152
+ return null;
153
+ const text = message.parts
154
+ .flatMap((part) => (typeof part.text === "string" ? [part.text] : []))
155
+ .join("\n")
156
+ .trim();
157
+ return text ? { role: message.role, text } : null;
158
+ }
159
+ /** 读取最近一条 Agent 消息上的失败文本;没有失败时返回空。 */
160
+ function resolve_failure_text(messages) {
161
+ const latest_agent = [...messages].reverse().find((message) => message.role === "agent");
162
+ const error = latest_agent?.parts.find((part) => part.type === "error");
163
+ return error?.message ? error.message : undefined;
164
+ }
165
+ //# sourceMappingURL=SessionWork.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SessionWork.js","sourceRoot":"","sources":["../../src/agent/SessionWork.ts"],"names":[],"mappings":"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"}
package/bin/index.d.ts CHANGED
@@ -7,6 +7,11 @@
7
7
  * - HTTP、RPC、Power、Workspace 与 Sandbox 实现不从根入口暴露。
8
8
  */
9
9
  export { Agent } from "./agent/Agent.js";
10
+ export type { AgentSessionInput } from "./types/agent/AgentSessionInput.js";
11
+ export type { SessionWorkContract } from "./types/agent/SessionWork.js";
12
+ export type { SessionContextResolution } from "./types/agent/SessionContext.js";
13
+ export type { AgentSessionStateKey, AgentSessionStateValues, RemoteSessionStateKey, RemoteSessionStateValues, } from "./types/agent/SessionState.js";
14
+ export type { SessionCheckDetailToolOutput, SessionCheckListToolOutput, SessionCheckToolOutput, SessionReplyToolOutput, SessionStartToolOutput, SessionStopToolOutput, SessionToolState, SessionToolSummary, } from "./types/tools/session/SessionTools.js";
10
15
  export { Group } from "./group/Group.js";
11
16
  export type { DispatchAssignment, DispatchDecision, DispatchGroupProfile, DispatchMemberProfile, DispatchStage, DispatchTrigger, DispatchStrategy, AiDispatchStrategyOptions, GroupContract, GroupMessage, GroupOptions, } from "./group/index.js";
12
17
  export type { GroupSessionDataStore, GroupSessionHistoryMeta, GroupSessionStore, } from "./types/group/GroupSessionStore.js";