@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
@@ -2,9 +2,10 @@
2
2
  * Agent:身份、模型、指令与 Session 的主体对象。
3
3
  *
4
4
  * 职责说明(中文)
5
- * - Agent 不绑定 Workspace;调用方通过 `agent.sessions.create({ workspace })` 选择本次执行环境。
5
+ * - Agent 不绑定 Workspace;`workspace` 只是创建 Session 时的默认目录,可在会话中切换。
6
6
  * - 能力与 Transport 由容器持有,Agent 只收下容器在绑定时推送的能力,不持有容器引用。
7
- * - Session 由 AgentSessions 统一持有;Workspace 只在单个 Session 创建时提供执行资源。
7
+ * - Session 由 AgentSessions 统一持有;Workspace 只在单个 Session 创建或恢复时提供。
8
+ * - Agent 自己那条会话由 `session()` 暴露;它是一条普通 Session。
8
9
  */
9
10
  import type { CityRuntime, ModelClient, AgentTool as Tool, WorkspaceRuntime } from "@downcity/type";
10
11
  import type { AgentOptions, AgentSessionConstructor } from "../types/agent/AgentOptions.js";
@@ -12,6 +13,8 @@ import type { AgentSessionCollection } from "../types/agent/AgentSessionCollecti
12
13
  import { Logger } from "../utils/logger/Logger.js";
13
14
  import type { SessionSystemMessage } from "@downcity/type";
14
15
  import type { SessionComposer } from "../types/session/SessionComposer.js";
16
+ import type { AgentSessionInput } from "../types/agent/AgentSessionInput.js";
17
+ import type { AgentSession } from "../types/agent/SessionActor.js";
15
18
  /** SDK Agent 主体。 */
16
19
  export declare class Agent {
17
20
  /** Agent 的全局稳定标识。 */
@@ -22,6 +25,14 @@ export declare class Agent {
22
25
  readonly description: string;
23
26
  /** Agent 默认模型;Session 可以显式覆盖。 */
24
27
  readonly model?: ModelClient;
28
+ /**
29
+ * 新建 Session 时注入的默认目录。
30
+ *
31
+ * 关键点(中文)
32
+ * - 它是宿主在构造 Agent 时声明的默认值,不是绑定;单个 Session 可用 `set({ workspace })` 换掉。
33
+ * - 省略时新建的 Session 没有项目上下文:没有文件工具与 Shell,纯模型对话仍可用。
34
+ */
35
+ readonly workspace?: WorkspaceRuntime;
25
36
  /** Agent 面向用户的 Session 创建入口。 */
26
37
  readonly sessions: AgentSessionCollection;
27
38
  /** Agent 自定义 Tool;进入每个 Workspace 时与项目 Tool 合并。 */
@@ -36,6 +47,13 @@ export declare class Agent {
36
47
  private readonly instruction;
37
48
  /** Agent 自有检查点处理器;与容器提供的 Power hooks 合并使用。 */
38
49
  private readonly custom_hooks;
50
+ /**
51
+ * Agent 会话可用的会话工具;延迟创建并复用。
52
+ *
53
+ * 关键点(中文):工具闭包住 AgentSessions,因此不需要从 ToolCallContext 回查主体;
54
+ * 它们只在 `origin.type === "agent"` 的会话上下文里注册。
55
+ */
56
+ private session_tools?;
39
57
  /** Agent 释放状态。 */
40
58
  private dispose_promise?;
41
59
  /** Agent 唯一的 Session 集合。 */
@@ -51,6 +69,13 @@ export declare class Agent {
51
69
  set_instruction(input: string | string[]): void;
52
70
  /** 返回 Agent 指令快照。 */
53
71
  get_instructions(): readonly string[];
72
+ /**
73
+ * 取用 Agent 自己那条会话,不存在时先建立。
74
+ *
75
+ * 关键点(中文)
76
+ * - 它就是一条普通 Session:工作区能力、set/get、消息、审批与其他会话完全一致。
77
+ * - 不接收 Workspace:目录在创建时注入,之后用 `session.set({ workspace })` 切换。
78
+ */ session(input?: AgentSessionInput): Promise<AgentSession>;
54
79
  /** 返回 Agent 级日志器。 */
55
80
  get_logger(): Logger;
56
81
  /**
@@ -96,6 +121,8 @@ export declare class Agent {
96
121
  * - 静态 Workspace Tool 与 Agent Tool 的命名冲突属于 Session 创建不变量,装配时立即失败。
97
122
  */
98
123
  private resolve_tools;
124
+ /** 返回 Agent 会话的会话工具集合;首次调用时创建。 */
125
+ private resolve_session_tools;
99
126
  /** 合并容器 Power hooks 与 Agent 自有 hooks。 */
100
127
  private resolve_hooks;
101
128
  }
@@ -1 +1 @@
1
- {"version":3,"file":"Agent.d.ts","sourceRoot":"","sources":["../../src/agent/Agent.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EACV,WAAW,EACX,WAAW,EACX,SAAS,IAAI,IAAI,EAIjB,gBAAgB,EACjB,MAAM,gBAAgB,CAAC;AAKxB,OAAO,KAAK,EACV,YAAY,EACZ,uBAAuB,EACxB,MAAM,+BAA+B,CAAC;AACvC,OAAO,KAAK,EACV,sBAAsB,EACvB,MAAM,yCAAyC,CAAC;AACjD,OAAO,EAAE,MAAM,EAAE,MAAM,0BAA0B,CAAC;AAMlD,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;AAC3D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,oCAAoC,CAAC;AAQ1E,oBAAoB;AACpB,qBAAa,KAAK;IAChB,qBAAqB;IACrB,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IAEpB,qBAAqB;IACrB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAEtB,sCAAsC;IACtC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAE7B,iCAAiC;IACjC,QAAQ,CAAC,KAAK,CAAC,EAAE,WAAW,CAAC;IAE7B,gCAAgC;IAChC,QAAQ,CAAC,QAAQ,EAAE,sBAAsB,CAAC;IAE1C,kDAAkD;IAClD,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IAE5C,2BAA2B;IAC3B,QAAQ,CAAC,aAAa,CAAC,EAAE,uBAAuB,CAAC;IAEjD,uDAAuD;IACvD,QAAQ,CAAC,gBAAgB,CAAC,EAAE,eAAe,CAAC;IAE5C,kCAAkC;IAClC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAgB;IAEvC,uCAAuC;IACvC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAW;IAEvC,8CAA8C;IAC9C,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAc;IAE3C,kBAAkB;IAClB,OAAO,CAAC,eAAe,CAAC,CAAgB;IAExC,4BAA4B;IAC5B,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAgB;IAEhD,wBAAwB;IACxB,OAAO,CAAC,gBAAgB,CAAqD;IAE7E,2BAA2B;IAC3B,OAAO,CAAC,IAAI,CAAC,CAAc;IAE3B,2BAA2B;IAC3B,OAAO,CAAC,aAAa,CAAC,CAAe;gBAEzB,OAAO,EAAE,YAAY;IAmDjC,wBAAwB;IACxB,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,IAAI;IAK/C,qBAAqB;IACrB,gBAAgB,IAAI,SAAS,MAAM,EAAE;IAIrC,qBAAqB;IACrB,UAAU,IAAI,MAAM;IAIpB;;;;;;OAMG;IACH,IAAI,CAAC,IAAI,EAAE,WAAW,GAAG,IAAI;IAc7B;;;;;;OAMG;IACH,MAAM,IAAI,IAAI;IAMd,gDAAgD;IAC1C,iBAAiB,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAK5D,wDAAwD;IAClD,uBAAuB,CAC3B,SAAS,EAAE,gBAAgB,EAC3B,KAAK,EAAE;QACL,uBAAuB;QACvB,UAAU,EAAE,MAAM,CAAC;KACpB,GACA,OAAO,CAAC,oBAAoB,EAAE,CAAC;IAiClC,sCAAsC;IACtC,OAAO,CAAC,2BAA2B;IAuBnC;;;;;;OAMG;IACG,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAsB9B,kCAAkC;IAClC,OAAO,CAAC,eAAe;IAkBvB;;;;;;OAMG;IACH,OAAO,CAAC,aAAa;IAQrB,yCAAyC;IACzC,OAAO,CAAC,aAAa;CAOtB"}
1
+ {"version":3,"file":"Agent.d.ts","sourceRoot":"","sources":["../../src/agent/Agent.ts"],"names":[],"mappings":"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"}
@@ -2,9 +2,10 @@
2
2
  * Agent:身份、模型、指令与 Session 的主体对象。
3
3
  *
4
4
  * 职责说明(中文)
5
- * - Agent 不绑定 Workspace;调用方通过 `agent.sessions.create({ workspace })` 选择本次执行环境。
5
+ * - Agent 不绑定 Workspace;`workspace` 只是创建 Session 时的默认目录,可在会话中切换。
6
6
  * - 能力与 Transport 由容器持有,Agent 只收下容器在绑定时推送的能力,不持有容器引用。
7
- * - Session 由 AgentSessions 统一持有;Workspace 只在单个 Session 创建时提供执行资源。
7
+ * - Session 由 AgentSessions 统一持有;Workspace 只在单个 Session 创建或恢复时提供。
8
+ * - Agent 自己那条会话由 `session()` 暴露;它是一条普通 Session。
8
9
  */
9
10
  import { create_instruction_system_blocks, normalize_instruction_input, } from "../agent/AgentInstructions.js";
10
11
  import { Logger } from "../utils/logger/Logger.js";
@@ -14,6 +15,9 @@ import { LocalSessionStore } from "../session/storage/LocalSessionStore.js";
14
15
  import { EMPTY_TOOL_HOOK_SET } from "@downcity/type";
15
16
  import { build_session_system_blocks, resolve_session_power_system_blocks, } from "../session/input/SessionSystem.js";
16
17
  import { resolve_system_timezone } from "../session/storage/Metadata.js";
18
+ import { SessionWork } from "../agent/SessionWork.js";
19
+ import { is_agent_session_origin, SESSION_ORIGIN_TYPE_WORK } from "@downcity/type";
20
+ import { create_session_tools } from "../tools/session/SessionTools.js";
17
21
  /** SDK Agent 主体。 */
18
22
  export class Agent {
19
23
  /** Agent 的全局稳定标识。 */
@@ -24,6 +28,14 @@ export class Agent {
24
28
  description;
25
29
  /** Agent 默认模型;Session 可以显式覆盖。 */
26
30
  model;
31
+ /**
32
+ * 新建 Session 时注入的默认目录。
33
+ *
34
+ * 关键点(中文)
35
+ * - 它是宿主在构造 Agent 时声明的默认值,不是绑定;单个 Session 可用 `set({ workspace })` 换掉。
36
+ * - 省略时新建的 Session 没有项目上下文:没有文件工具与 Shell,纯模型对话仍可用。
37
+ */
38
+ workspace;
27
39
  /** Agent 面向用户的 Session 创建入口。 */
28
40
  sessions;
29
41
  /** Agent 自定义 Tool;进入每个 Workspace 时与项目 Tool 合并。 */
@@ -38,6 +50,13 @@ export class Agent {
38
50
  instruction;
39
51
  /** Agent 自有检查点处理器;与容器提供的 Power hooks 合并使用。 */
40
52
  custom_hooks;
53
+ /**
54
+ * Agent 会话可用的会话工具;延迟创建并复用。
55
+ *
56
+ * 关键点(中文):工具闭包住 AgentSessions,因此不需要从 ToolCallContext 回查主体;
57
+ * 它们只在 `origin.type === "agent"` 的会话上下文里注册。
58
+ */
59
+ session_tools;
41
60
  /** Agent 释放状态。 */
42
61
  dispose_promise;
43
62
  /** Agent 唯一的 Session 集合。 */
@@ -55,6 +74,7 @@ export class Agent {
55
74
  this.name = String(options.name || "").trim() || this.id;
56
75
  this.description = String(options.description || "").trim();
57
76
  this.model = options.model;
77
+ this.workspace = options.workspace;
58
78
  this.instruction = normalize_instruction_input(options.instruction);
59
79
  this.session_class = options.session_class;
60
80
  this.session_composer = options.session_composer;
@@ -71,27 +91,30 @@ export class Agent {
71
91
  get_agent_model: () => this.model,
72
92
  session_class: this.session_class,
73
93
  session_composer: this.session_composer,
74
- resolve_session_context: (workspace) => {
94
+ resolve_session_context: (input) => {
75
95
  const storage = this.resolve_storage();
96
+ // 默认目录只用于新建会话;恢复时目录由宿主在 get() 时注入,
97
+ // 用默认值顶替会变成一次静默换目录。
98
+ const workspace = input?.workspace
99
+ ?? (input?.creating ? this.workspace : undefined);
100
+ const is_agent_session = is_agent_session_origin(input?.origin);
76
101
  if (!workspace)
77
102
  return {
78
103
  workspace_path: ".",
79
104
  logger: this.logger,
80
- get_tools: () => this.resolve_tools(),
81
- get_workspace_env: () => ({}),
105
+ get_tools: () => this.resolve_tools(undefined, is_agent_session),
82
106
  get_workspace: () => undefined,
83
107
  get_hooks: () => this.resolve_hooks(),
84
108
  store: storage.sessions,
85
109
  };
86
110
  // 静态 Workspace Tool 与 Agent Tool 的命名冲突属于 Session 创建不变量,
87
111
  // 在装配时立即失败;执行时仍通过 getter 读取最新宿主扩展。
88
- this.resolve_tools(workspace);
112
+ this.resolve_tools(workspace, is_agent_session);
89
113
  return {
90
114
  workspace_path: workspace.path,
91
115
  workspace_id: workspace.id,
92
116
  logger: this.logger,
93
- get_tools: () => this.resolve_tools(workspace),
94
- get_workspace_env: () => workspace.get_env(),
117
+ get_tools: () => this.resolve_tools(workspace, is_agent_session),
95
118
  get_workspace: () => workspace,
96
119
  get_hooks: () => this.resolve_hooks(),
97
120
  store: storage.sessions,
@@ -109,6 +132,15 @@ export class Agent {
109
132
  get_instructions() {
110
133
  return [...this.instruction];
111
134
  }
135
+ /**
136
+ * 取用 Agent 自己那条会话,不存在时先建立。
137
+ *
138
+ * 关键点(中文)
139
+ * - 它就是一条普通 Session:工作区能力、set/get、消息、审批与其他会话完全一致。
140
+ * - 不接收 Workspace:目录在创建时注入,之后用 `session.set({ workspace })` 切换。
141
+ */ async session(input) {
142
+ return await this.session_manager.self(input?.workspace ? { workspace: input.workspace } : undefined);
143
+ }
112
144
  /** 返回 Agent 级日志器。 */
113
145
  get_logger() {
114
146
  return this.logger;
@@ -190,7 +222,7 @@ export class Agent {
190
222
  agent_description: this.description,
191
223
  agent_instructions: Object.freeze(input.instruction_system_blocks.map((block) => block.content)),
192
224
  session_id: input.session_id,
193
- session_origin: { type: "chat" },
225
+ session_origin: { type: SESSION_ORIGIN_TYPE_WORK },
194
226
  workspace: input.workspace,
195
227
  messages: Object.freeze([]),
196
228
  workspace_env: Object.freeze({ ...input.workspace.get_env() }),
@@ -249,14 +281,28 @@ export class Agent {
249
281
  * - 容器 Power 工具从环境句柄实时读取,不缓存;容器增删 Power 后下一次求值即生效。
250
282
  * - 静态 Workspace Tool 与 Agent Tool 的命名冲突属于 Session 创建不变量,装配时立即失败。
251
283
  */
252
- resolve_tools(workspace) {
284
+ resolve_tools(workspace, is_agent_session = false) {
253
285
  const tools = {};
254
286
  if (workspace)
255
287
  register_tools(tools, workspace.tools, "WorkspaceTools");
256
288
  register_tools(tools, this.host?.power_tools ?? {}, "Power");
257
289
  register_tools(tools, this.custom_tools, "AgentOptions.tools");
290
+ if (is_agent_session)
291
+ register_tools(tools, this.resolve_session_tools(), "AgentSessionTools");
258
292
  return tools;
259
293
  }
294
+ /** 返回 Agent 会话的会话工具集合;首次调用时创建。 */
295
+ resolve_session_tools() {
296
+ if (this.session_tools)
297
+ return this.session_tools;
298
+ const work = new SessionWork({
299
+ list_sessions: async (input) => await this.session_manager.list(input),
300
+ get_session: async (session_id, origin_type) => await this.session_manager.get(session_id, origin_type),
301
+ create_session: async (input) => await this.session_manager.create(input),
302
+ });
303
+ this.session_tools = create_session_tools(work);
304
+ return this.session_tools;
305
+ }
260
306
  /** 合并容器 Power hooks 与 Agent 自有 hooks。 */
261
307
  resolve_hooks() {
262
308
  const power_hooks = this.host?.power_hooks;
@@ -1 +1 @@
1
- {"version":3,"file":"Agent.js","sourceRoot":"","sources":["../../src/agent/Agent.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Agent.js","sourceRoot":"","sources":["../../src/agent/Agent.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,19 @@
1
+ /**
2
+ * Agent 自己那条会话的存取规则。
3
+ *
4
+ * 职责说明(中文)
5
+ * - Agent 自己就是一条 Session,与 work / task / group 会话是同一种东西。
6
+ * - 它没有专属字段、专属索引或专属存储:角色由 `origin.type = "agent"` 表达,
7
+ * 分区沿用 `sessions/<origin_type>/<session_id>/`,能力与其他会话完全一致。
8
+ * - 因此这里只有存取所需的两个小函数,不引入新概念。
9
+ *
10
+ * 关键点(中文)
11
+ * - 它的 `session_id` 等于 Agent 的 `id`:会话由它属于谁来标识,不需要人造常量。
12
+ * - 一个 Agent 至多一条,惰性创建;被归档或删除后下一次取用自然重建。
13
+ */
14
+ import { type SessionOrigin } from "@downcity/type";
15
+ /** Agent 自己那条会话的来源;不携带额外业务字段。 */
16
+ export declare function create_agent_session_origin(): SessionOrigin;
17
+ /** Agent 自己那条会话的稳定标识:就是 Agent 的 id。 */
18
+ export declare function resolve_agent_session_id(agent_id: string): string;
19
+ //# sourceMappingURL=AgentSessionIdentity.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AgentSessionIdentity.d.ts","sourceRoot":"","sources":["../../src/agent/AgentSessionIdentity.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,EAEL,KAAK,aAAa,EACnB,MAAM,gBAAgB,CAAC;AAExB,iCAAiC;AACjC,wBAAgB,2BAA2B,IAAI,aAAa,CAE3D;AAED,uCAAuC;AACvC,wBAAgB,wBAAwB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAIjE"}
@@ -0,0 +1,26 @@
1
+ /**
2
+ * Agent 自己那条会话的存取规则。
3
+ *
4
+ * 职责说明(中文)
5
+ * - Agent 自己就是一条 Session,与 work / task / group 会话是同一种东西。
6
+ * - 它没有专属字段、专属索引或专属存储:角色由 `origin.type = "agent"` 表达,
7
+ * 分区沿用 `sessions/<origin_type>/<session_id>/`,能力与其他会话完全一致。
8
+ * - 因此这里只有存取所需的两个小函数,不引入新概念。
9
+ *
10
+ * 关键点(中文)
11
+ * - 它的 `session_id` 等于 Agent 的 `id`:会话由它属于谁来标识,不需要人造常量。
12
+ * - 一个 Agent 至多一条,惰性创建;被归档或删除后下一次取用自然重建。
13
+ */
14
+ import { SESSION_ORIGIN_TYPE_AGENT, } from "@downcity/type";
15
+ /** Agent 自己那条会话的来源;不携带额外业务字段。 */
16
+ export function create_agent_session_origin() {
17
+ return Object.freeze({ type: SESSION_ORIGIN_TYPE_AGENT });
18
+ }
19
+ /** Agent 自己那条会话的稳定标识:就是 Agent 的 id。 */
20
+ export function resolve_agent_session_id(agent_id) {
21
+ const resolved = String(agent_id || "").trim();
22
+ if (!resolved)
23
+ throw new Error("Agent session requires a non-empty agent id");
24
+ return resolved;
25
+ }
26
+ //# sourceMappingURL=AgentSessionIdentity.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AgentSessionIdentity.js","sourceRoot":"","sources":["../../src/agent/AgentSessionIdentity.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,EACL,yBAAyB,GAE1B,MAAM,gBAAgB,CAAC;AAExB,iCAAiC;AACjC,MAAM,UAAU,2BAA2B;IACzC,OAAO,MAAM,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,yBAAyB,EAAE,CAAC,CAAC;AAC5D,CAAC;AAED,uCAAuC;AACvC,MAAM,UAAU,wBAAwB,CAAC,QAAgB;IACvD,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;IAC/C,IAAI,CAAC,QAAQ;QAAE,MAAM,IAAI,KAAK,CAAC,6CAA6C,CAAC,CAAC;IAC9E,OAAO,QAAQ,CAAC;AAClB,CAAC"}
@@ -17,6 +17,7 @@ import type { SessionComposer } from "../types/session/SessionComposer.js";
17
17
  import type { ToolHookSet } from "@downcity/type";
18
18
  import type { SessionStore } from "../types/store/SessionStore.js";
19
19
  import type { WorkspaceRuntime } from "@downcity/type";
20
+ import type { SessionContextResolution } from "../types/agent/SessionContext.js";
20
21
  type AgentSessionsOptions = {
21
22
  /**
22
23
  * 当前 agent 稳定标识。
@@ -33,15 +34,14 @@ type AgentSessionsOptions = {
33
34
  /**
34
35
  * 按 Session 解析执行上下文。
35
36
  *
36
- * AgentSessions 是 Agent 唯一的 Session 集合;Workspace 相关能力不能
37
- * 固定在集合实例上,而应在创建或恢复单个 Session 时解析。
37
+ * AgentSessions 是 Agent 唯一的 Session 集合;Workspace 与工具集合不能
38
+ * 固定在集合实例上,而应在创建或恢复单个 Session 时按会话身份解析。
38
39
  */
39
- resolve_session_context: (workspace?: WorkspaceRuntime) => {
40
+ resolve_session_context: (input?: SessionContextResolution) => {
40
41
  workspace_path: string;
41
42
  workspace_id?: string;
42
43
  logger: Logger;
43
44
  get_tools: () => Record<string, Tool>;
44
- get_workspace_env: () => Record<string, string>;
45
45
  get_workspace: () => WorkspaceRuntime | undefined;
46
46
  get_hooks: () => ToolHookSet;
47
47
  store: SessionStore;
@@ -77,6 +77,8 @@ export declare class AgentSessions implements AgentSessionsContract<AgentSession
77
77
  private readonly session_composer;
78
78
  private readonly get_agent_model;
79
79
  private readonly sessions_by_id;
80
+ /** Agent 会话创建链;并发调用共享同一创建过程,避免产生第二条。 */
81
+ private agent_session_creation_chain;
80
82
  constructor(options: AgentSessionsOptions);
81
83
  /**
82
84
  * 返回当前缓存的 session 实例。
@@ -97,6 +99,27 @@ export declare class AgentSessions implements AgentSessionsContract<AgentSession
97
99
  * 通过 `create()` 获取内部生成的 ID;需要恢复时必须先调用 `get()`。
98
100
  */
99
101
  runtime(session_id: string, origin_type?: string): SessionPort;
102
+ /**
103
+ * 取用 Agent 自己那条会话;不存在时创建。
104
+ *
105
+ * 关键点(中文)
106
+ * - 身份就是 `origin.type = "agent"`,`session_id` 就是 Agent 的 `id`:
107
+ * 因此不新增索引,也不维护额外状态。
108
+ * - 同一进程内并发调用会收敛到同一个创建过程,不会产生第二条。
109
+ * - 被归档或删除后,下一次调用自然重建一条。
110
+ */
111
+ self(input?: {
112
+ workspace?: WorkspaceRuntime;
113
+ }): Promise<AgentSession>;
114
+ /**
115
+ * 尝试恢复已存在的 Agent 会话;不存在或已失效时返回空。
116
+ *
117
+ * 关键点(中文):查找不传 Workspace;传 Workspace 只在创建时生效,
118
+ * 否则「已存在时忽略该参数」会退化成一次静默切目录。
119
+ */
120
+ private find_agent_session;
121
+ /** 串行化 Agent 会话创建;失败时释放链,使下一次调用可以重试。 */
122
+ private run_agent_session_creation;
100
123
  /**
101
124
  * 新建一个 session。
102
125
  */
@@ -105,6 +128,11 @@ export declare class AgentSessions implements AgentSessionsContract<AgentSession
105
128
  }): Promise<AgentSession>;
106
129
  /**
107
130
  * 获取一个已存在的 session。
131
+ *
132
+ * 关键点(中文)
133
+ * - 当前目录不是 Session 身份:传入的 Workspace 与持久化值不一致时不再报错,
134
+ * 而是以传入值为准成为该 Session 的新当前目录。
135
+ * - 省略 Workspace 时沿用持久化值;两者都为空时该 Session 没有项目上下文。
108
136
  */
109
137
  get(session_id: string, origin_type?: string, input?: {
110
138
  workspace?: WorkspaceRuntime;
@@ -138,13 +166,11 @@ export declare class AgentSessions implements AgentSessionsContract<AgentSession
138
166
  */
139
167
  clean_archive(): Promise<AgentCleanArchiveResult>;
140
168
  /**
141
- * 把 Session 重新绑定到另一个 Workspace。
169
+ * 删除:把 Session 重新绑定到另一个 Workspace。
142
170
  *
143
- * 关键点(中文)
144
- * - 只改写 session_state 中的 workspace_id 并清掉运行时缓存;
145
- * - 之后用新 Workspace 恢复时不再触发严格的 workspace 归属校验。
171
+ * 删除理由:它表达的是「Workspace 是 Session 绑定」这个旧模型。目录切换改由
172
+ * `session.set({ workspace })` 承担,恢复时不再校验归属,因此不需要第二条路径。
146
173
  */
147
- workspace(session_id: string, workspace: WorkspaceRuntime): Promise<AgentSession>;
148
174
  private get_or_create_session;
149
175
  /**
150
176
  * 释放一个空闲 Session 的运行时实例。
@@ -1 +1 @@
1
- {"version":3,"file":"AgentSessions.d.ts","sourceRoot":"","sources":["../../src/agent/AgentSessions.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"AgentSessions.d.ts","sourceRoot":"","sources":["../../src/agent/AgentSessions.ts"],"names":[],"mappings":"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"}