@downcity/agent 1.1.216 → 1.1.222

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 (175) hide show
  1. package/bin/agent/local/Agent.d.ts +2 -0
  2. package/bin/agent/local/Agent.d.ts.map +1 -1
  3. package/bin/agent/local/Agent.js +6 -0
  4. package/bin/agent/local/Agent.js.map +1 -1
  5. package/bin/agent/local/services/AgentSessions.d.ts +6 -0
  6. package/bin/agent/local/services/AgentSessions.d.ts.map +1 -1
  7. package/bin/agent/local/services/AgentSessions.js +8 -1
  8. package/bin/agent/local/services/AgentSessions.js.map +1 -1
  9. package/bin/agent/remote/RemoteSession.d.ts +11 -7
  10. package/bin/agent/remote/RemoteSession.d.ts.map +1 -1
  11. package/bin/agent/remote/RemoteSession.js +36 -11
  12. package/bin/agent/remote/RemoteSession.js.map +1 -1
  13. package/bin/agent/remote/RemoteTransport.d.ts +9 -3
  14. package/bin/agent/remote/RemoteTransport.d.ts.map +1 -1
  15. package/bin/agent/remote/transports/HttpRemoteAgentTransport.d.ts +6 -2
  16. package/bin/agent/remote/transports/HttpRemoteAgentTransport.d.ts.map +1 -1
  17. package/bin/agent/remote/transports/HttpRemoteAgentTransport.js +38 -11
  18. package/bin/agent/remote/transports/HttpRemoteAgentTransport.js.map +1 -1
  19. package/bin/agent/remote/transports/RpcRemoteAgentTransport.d.ts +6 -2
  20. package/bin/agent/remote/transports/RpcRemoteAgentTransport.d.ts.map +1 -1
  21. package/bin/agent/remote/transports/RpcRemoteAgentTransport.js +8 -2
  22. package/bin/agent/remote/transports/RpcRemoteAgentTransport.js.map +1 -1
  23. package/bin/executor/types/SessionHistoryMeta.d.ts +2 -0
  24. package/bin/executor/types/SessionHistoryMeta.d.ts.map +1 -1
  25. package/bin/executor/types/SessionRecords.d.ts +2 -0
  26. package/bin/executor/types/SessionRecords.d.ts.map +1 -1
  27. package/bin/executor/types/SessionRecords.js.map +1 -1
  28. package/bin/index.d.ts +5 -2
  29. package/bin/index.d.ts.map +1 -1
  30. package/bin/index.js +1 -0
  31. package/bin/index.js.map +1 -1
  32. package/bin/rpc/Client.d.ts +18 -4
  33. package/bin/rpc/Client.d.ts.map +1 -1
  34. package/bin/rpc/Client.js +25 -3
  35. package/bin/rpc/Client.js.map +1 -1
  36. package/bin/session/Session.d.ts +13 -3
  37. package/bin/session/Session.d.ts.map +1 -1
  38. package/bin/session/Session.js +48 -18
  39. package/bin/session/Session.js.map +1 -1
  40. package/bin/session/browse/Browse.d.ts.map +1 -1
  41. package/bin/session/browse/Browse.js +3 -0
  42. package/bin/session/browse/Browse.js.map +1 -1
  43. package/bin/session/recorder/JsonlSessionMessageStore.d.ts +45 -0
  44. package/bin/session/recorder/JsonlSessionMessageStore.d.ts.map +1 -0
  45. package/bin/session/recorder/JsonlSessionMessageStore.js +127 -0
  46. package/bin/session/recorder/JsonlSessionMessageStore.js.map +1 -0
  47. package/bin/session/recorder/SessionMessageCodec.d.ts +20 -0
  48. package/bin/session/recorder/SessionMessageCodec.d.ts.map +1 -0
  49. package/bin/session/recorder/SessionMessageCodec.js +252 -0
  50. package/bin/session/recorder/SessionMessageCodec.js.map +1 -0
  51. package/bin/session/recorder/SessionMessageReducer.d.ts +12 -0
  52. package/bin/session/recorder/SessionMessageReducer.d.ts.map +1 -0
  53. package/bin/session/recorder/SessionMessageReducer.js +109 -0
  54. package/bin/session/recorder/SessionMessageReducer.js.map +1 -0
  55. package/bin/session/recorder/SessionRecorder.d.ts +177 -0
  56. package/bin/session/recorder/SessionRecorder.d.ts.map +1 -0
  57. package/bin/session/recorder/SessionRecorder.js +610 -0
  58. package/bin/session/recorder/SessionRecorder.js.map +1 -0
  59. package/bin/session/recorder/SessionRecorderCompaction.d.ts +18 -0
  60. package/bin/session/recorder/SessionRecorderCompaction.d.ts.map +1 -0
  61. package/bin/session/recorder/SessionRecorderCompaction.js +141 -0
  62. package/bin/session/recorder/SessionRecorderCompaction.js.map +1 -0
  63. package/bin/session/recorder/SessionRecorderHistoryStore.d.ts +66 -0
  64. package/bin/session/recorder/SessionRecorderHistoryStore.d.ts.map +1 -0
  65. package/bin/session/recorder/SessionRecorderHistoryStore.js +195 -0
  66. package/bin/session/recorder/SessionRecorderHistoryStore.js.map +1 -0
  67. package/bin/session/runtime/SessionMessageEventHub.d.ts +15 -0
  68. package/bin/session/runtime/SessionMessageEventHub.d.ts.map +1 -0
  69. package/bin/session/runtime/SessionMessageEventHub.js +28 -0
  70. package/bin/session/runtime/SessionMessageEventHub.js.map +1 -0
  71. package/bin/session/runtime/SessionPromptRuntime.d.ts +7 -13
  72. package/bin/session/runtime/SessionPromptRuntime.d.ts.map +1 -1
  73. package/bin/session/runtime/SessionPromptRuntime.js +13 -13
  74. package/bin/session/runtime/SessionPromptRuntime.js.map +1 -1
  75. package/bin/session/services/SessionStateService.d.ts +15 -3
  76. package/bin/session/services/SessionStateService.d.ts.map +1 -1
  77. package/bin/session/services/SessionStateService.js +165 -76
  78. package/bin/session/services/SessionStateService.js.map +1 -1
  79. package/bin/session/services/SessionTurnService.d.ts +4 -0
  80. package/bin/session/services/SessionTurnService.d.ts.map +1 -1
  81. package/bin/session/services/SessionTurnService.js +82 -52
  82. package/bin/session/services/SessionTurnService.js.map +1 -1
  83. package/bin/session/services/SessionViewService.d.ts +8 -3
  84. package/bin/session/services/SessionViewService.d.ts.map +1 -1
  85. package/bin/session/services/SessionViewService.js +13 -5
  86. package/bin/session/services/SessionViewService.js.map +1 -1
  87. package/bin/session/storage/Metadata.d.ts +2 -0
  88. package/bin/session/storage/Metadata.d.ts.map +1 -1
  89. package/bin/session/storage/Metadata.js +10 -0
  90. package/bin/session/storage/Metadata.js.map +1 -1
  91. package/bin/session/storage/Persistence.d.ts +6 -0
  92. package/bin/session/storage/Persistence.d.ts.map +1 -1
  93. package/bin/session/storage/Persistence.js +12 -0
  94. package/bin/session/storage/Persistence.js.map +1 -1
  95. package/bin/session/storage/RuntimeSessionPort.d.ts +3 -2
  96. package/bin/session/storage/RuntimeSessionPort.d.ts.map +1 -1
  97. package/bin/session/storage/RuntimeSessionPort.js.map +1 -1
  98. package/bin/types/agent/AgentOptions.d.ts +10 -0
  99. package/bin/types/agent/AgentOptions.d.ts.map +1 -1
  100. package/bin/types/agent/SessionActor.d.ts +12 -4
  101. package/bin/types/agent/SessionActor.d.ts.map +1 -1
  102. package/bin/types/agent/SessionTypes.d.ts +13 -1
  103. package/bin/types/agent/SessionTypes.d.ts.map +1 -1
  104. package/bin/types/rpc/RpcProtocol.d.ts +32 -6
  105. package/bin/types/rpc/RpcProtocol.d.ts.map +1 -1
  106. package/bin/types/runtime/agent/AgentContext.d.ts +4 -3
  107. package/bin/types/runtime/agent/AgentContext.d.ts.map +1 -1
  108. package/bin/types/runtime/agent/AgentContext.js.map +1 -1
  109. package/bin/types/sdk/AgentSessionEvent.d.ts +2 -1
  110. package/bin/types/sdk/AgentSessionEvent.d.ts.map +1 -1
  111. package/bin/types/session/SessionMessage.d.ts +217 -0
  112. package/bin/types/session/SessionMessage.d.ts.map +1 -0
  113. package/bin/types/session/SessionMessage.js +8 -0
  114. package/bin/types/session/SessionMessage.js.map +1 -0
  115. package/bin/types/session/SessionMessageMutation.d.ts +92 -0
  116. package/bin/types/session/SessionMessageMutation.d.ts.map +1 -0
  117. package/bin/types/session/SessionMessageMutation.js +21 -0
  118. package/bin/types/session/SessionMessageMutation.js.map +1 -0
  119. package/bin/types/session/SessionOptions.d.ts +3 -0
  120. package/bin/types/session/SessionOptions.d.ts.map +1 -1
  121. package/package.json +3 -3
  122. package/scripts/agent-env.test.mjs +4 -4
  123. package/scripts/remote-session-reconnect.test.mjs +33 -0
  124. package/scripts/session-action-message.test.mjs +148 -27
  125. package/scripts/session-list-title.test.mjs +6 -19
  126. package/scripts/session-prompt-runtime.test.mjs +4 -16
  127. package/scripts/session-recorder.test.mjs +245 -0
  128. package/scripts/session-title-event.test.mjs +10 -18
  129. package/src/agent/local/Agent.ts +6 -0
  130. package/src/agent/local/services/AgentSessions.ts +14 -1
  131. package/src/agent/remote/RemoteSession.ts +52 -16
  132. package/src/agent/remote/RemoteTransport.ts +20 -6
  133. package/src/agent/remote/transports/HttpRemoteAgentTransport.ts +67 -13
  134. package/src/agent/remote/transports/RpcRemoteAgentTransport.ts +27 -6
  135. package/src/executor/types/SessionHistoryMeta.ts +2 -0
  136. package/src/executor/types/SessionRecords.ts +2 -0
  137. package/src/index.ts +23 -5
  138. package/src/rpc/Client.ts +47 -8
  139. package/src/session/Session.ts +66 -31
  140. package/src/session/browse/Browse.ts +3 -0
  141. package/src/session/recorder/JsonlSessionMessageStore.ts +162 -0
  142. package/src/session/recorder/SessionMessageCodec.ts +279 -0
  143. package/src/session/recorder/SessionMessageReducer.ts +155 -0
  144. package/src/session/recorder/SessionRecorder.ts +812 -0
  145. package/src/session/recorder/SessionRecorderCompaction.ts +187 -0
  146. package/src/session/recorder/SessionRecorderHistoryStore.ts +276 -0
  147. package/src/session/runtime/SessionMessageEventHub.ts +35 -0
  148. package/src/session/runtime/SessionPromptRuntime.ts +23 -24
  149. package/src/session/services/SessionStateService.ts +189 -84
  150. package/src/session/services/SessionTurnService.ts +88 -59
  151. package/src/session/services/SessionViewService.ts +28 -13
  152. package/src/session/storage/Metadata.ts +13 -0
  153. package/src/session/storage/Persistence.ts +18 -0
  154. package/src/session/storage/RuntimeSessionPort.ts +6 -4
  155. package/src/types/agent/AgentOptions.ts +12 -0
  156. package/src/types/agent/SessionActor.ts +28 -5
  157. package/src/types/agent/SessionTypes.ts +13 -1
  158. package/src/types/rpc/RpcProtocol.ts +34 -6
  159. package/src/types/runtime/agent/AgentContext.ts +8 -2
  160. package/src/types/sdk/AgentSessionEvent.ts +2 -0
  161. package/src/types/session/SessionMessage.ts +247 -0
  162. package/src/types/session/SessionMessageMutation.ts +121 -0
  163. package/src/types/session/SessionOptions.ts +4 -0
  164. package/tsconfig.tsbuildinfo +1 -1
  165. package/bin/session/SessionEventMapper.d.ts +0 -32
  166. package/bin/session/SessionEventMapper.d.ts.map +0 -1
  167. package/bin/session/SessionEventMapper.js +0 -131
  168. package/bin/session/SessionEventMapper.js.map +0 -1
  169. package/bin/types/sdk/InternalUiChunkEvent.d.ts +0 -100
  170. package/bin/types/sdk/InternalUiChunkEvent.d.ts.map +0 -1
  171. package/bin/types/sdk/InternalUiChunkEvent.js +0 -9
  172. package/bin/types/sdk/InternalUiChunkEvent.js.map +0 -1
  173. package/scripts/session-history-archive.test.mjs +0 -188
  174. package/src/session/SessionEventMapper.ts +0 -148
  175. package/src/types/sdk/InternalUiChunkEvent.ts +0 -108
@@ -7,13 +7,15 @@
7
7
  * - `Session` facade 与 turn/view service 都通过它访问可变 session 运行态。
8
8
  */
9
9
  import type { Executor } from "../../executor/Executor.js";
10
- import type { JsonlSessionHistoryStore } from "../../executor/store/history/jsonl/JsonlSessionHistoryStore.js";
10
+ import type { SessionHistoryStore } from "../../executor/store/history/SessionHistoryStore.js";
11
11
  import type { AgentSessionConfigSnapshot, AgentSessionSetInput } from "../../types/agent/SessionTypes.js";
12
12
  import type { AgentSessionEvent } from "../../types/sdk/AgentSessionEvent.js";
13
13
  import type { AgentSessionPromptInput } from "../../types/sdk/AgentSessionPrompt.js";
14
14
  import type { SessionActionRecordInputV1, SessionActionRecordV1, SessionRecordV1, SessionMessageRecordV1, SessionUserMessageV1 } from "../../executor/types/SessionRecords.js";
15
15
  import type { SessionLocalState } from "../../types/session/SessionLocalState.js";
16
16
  import type { Logger } from "../../utils/logger/Logger.js";
17
+ import type { AgentModel } from "../../model/CityModelAdapter.js";
18
+ import { SessionRecorder } from "../../session/recorder/SessionRecorder.js";
17
19
  type SessionStateServiceOptions = {
18
20
  /**
19
21
  * 当前 agent 稳定标识。
@@ -30,7 +32,9 @@ type SessionStateServiceOptions = {
30
32
  /**
31
33
  * 当前 session 历史事实源。
32
34
  */
33
- history_store: JsonlSessionHistoryStore;
35
+ history_store: SessionHistoryStore;
36
+ /** 当前 Session Message Recorder。 */
37
+ recorder: SessionRecorder;
34
38
  /**
35
39
  * 当前 session 执行器。
36
40
  */
@@ -47,6 +51,8 @@ type SessionStateServiceOptions = {
47
51
  * 在执行前补齐宿主级配置。
48
52
  */
49
53
  ensure_configured_hook?: () => Promise<void>;
54
+ /** 按稳定 ID 解析当前 Session 的运行时模型。 */
55
+ resolve_model?: (model_id: string) => Promise<AgentModel>;
50
56
  /**
51
57
  * 发布 session 事件。
52
58
  */
@@ -71,10 +77,12 @@ export declare class SessionStateService {
71
77
  private readonly project_root;
72
78
  private readonly session_id;
73
79
  private readonly history_store;
80
+ private readonly recorder;
74
81
  private readonly executor;
75
82
  private readonly state;
76
83
  private readonly logger;
77
84
  private readonly ensure_configured_hook?;
85
+ private readonly resolve_model?;
78
86
  private readonly publish_event;
79
87
  constructor(options: SessionStateServiceOptions);
80
88
  /**
@@ -105,6 +113,10 @@ export declare class SessionStateService {
105
113
  * 写入当前 session 配置。
106
114
  */
107
115
  set(input: AgentSessionSetInput, options?: SessionSetOptions): Promise<void>;
116
+ /** 恢复 metadata 中持久化的模型覆盖。 */
117
+ private restore_persisted_model;
118
+ /** 使用宿主 resolver 解析稳定模型 ID。 */
119
+ private resolve_model_by_id;
108
120
  /**
109
121
  * 追加一条 user 消息并刷新标题与 metadata。
110
122
  */
@@ -147,7 +159,7 @@ export declare class SessionStateService {
147
159
  /**
148
160
  * 构造并持久化一条 prompt user 消息。
149
161
  */
150
- create_and_persist_user_prompt_message(input: AgentSessionPromptInput): Promise<SessionUserMessageV1>;
162
+ create_and_persist_user_prompt_message(input: AgentSessionPromptInput, turn_id: string, input_type?: "prompt" | "steer"): Promise<SessionUserMessageV1>;
151
163
  /**
152
164
  * 持久化本轮执行期间延迟写入的 user 消息。
153
165
  */
@@ -1 +1 @@
1
- {"version":3,"file":"SessionStateService.d.ts","sourceRoot":"","sources":["../../../src/session/services/SessionStateService.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAgBH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AACtD,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,4DAA4D,CAAC;AAC3G,OAAO,KAAK,EACV,0BAA0B,EAC1B,oBAAoB,EACrB,MAAM,+BAA+B,CAAC;AACvC,OAAO,KAAK,EACV,iBAAiB,EAClB,MAAM,kCAAkC,CAAC;AAC1C,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,mCAAmC,CAAC;AACjF,OAAO,KAAK,EACV,0BAA0B,EAC1B,qBAAqB,EACrB,eAAe,EACf,sBAAsB,EACtB,oBAAoB,EACrB,MAAM,oCAAoC,CAAC;AAE5C,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,sCAAsC,CAAC;AAE9E,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,0BAA0B,CAAC;AAEvD,KAAK,0BAA0B,GAAG;IAChC;;OAEG;IACH,QAAQ,EAAE,MAAM,CAAC;IAEjB;;OAEG;IACH,YAAY,EAAE,MAAM,CAAC;IAErB;;OAEG;IACH,UAAU,EAAE,MAAM,CAAC;IAEnB;;OAEG;IACH,aAAa,EAAE,wBAAwB,CAAC;IAExC;;OAEG;IACH,QAAQ,EAAE,QAAQ,CAAC;IAEnB;;OAEG;IACH,KAAK,EAAE,iBAAiB,CAAC;IAEzB;;OAEG;IACH,MAAM,EAAE,MAAM,CAAC;IAEf;;OAEG;IACH,sBAAsB,CAAC,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAE7C;;OAEG;IACH,aAAa,EAAE,CAAC,KAAK,EAAE,iBAAiB,KAAK,IAAI,CAAC;CACnD,CAAC;AAEF,KAAK,iBAAiB,GAAG;IACvB;;;;;;OAMG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB,CAAC;AAEF,KAAK,eAAe,GAAG,0BAA0B,GAAG,qBAAqB,CAAC;AAE1E;;GAEG;AACH,qBAAa,mBAAmB;IAC9B,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAS;IAClC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAS;IACtC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAS;IACpC,OAAO,CAAC,QAAQ,CAAC,aAAa,CAA2B;IACzD,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAW;IACpC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAoB;IAC1C,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;IAChC,OAAO,CAAC,QAAQ,CAAC,sBAAsB,CAAC,CAAuD;IAC/F,OAAO,CAAC,QAAQ,CAAC,aAAa,CAA8C;gBAEhE,OAAO,EAAE,0BAA0B;IAY/C;;OAEG;IACH,UAAU,IAAI,0BAA0B;IAMxC;;OAEG;IACH,cAAc,IAAI,MAAM;IAIxB;;OAEG;IACH,YAAY,IAAI,MAAM;IAItB;;OAEG;IACG,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAuCjC;;OAEG;IACG,0BAA0B,IAAI,OAAO,CAAC,IAAI,CAAC;IAkBjD;;OAEG;IACG,eAAe,IAAI,OAAO,CAAC,IAAI,CAAC;IAOtC;;OAEG;IACG,GAAG,CAAC,KAAK,EAAE,oBAAoB,EAAE,OAAO,CAAC,EAAE,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC;IA8DlF;;OAEG;IACG,mBAAmB,CAAC,MAAM,EAAE;QAChC,OAAO,CAAC,EAAE,eAAe,GAAG,IAAI,CAAC;QACjC,IAAI,CAAC,EAAE,MAAM,CAAC;KACf,GAAG,OAAO,CAAC,IAAI,CAAC;IAMjB;;OAEG;IACG,wBAAwB,CAAC,MAAM,EAAE;QACrC,OAAO,CAAC,EAAE,eAAe,GAAG,IAAI,CAAC;QACjC,YAAY,CAAC,EAAE,MAAM,CAAC;KACvB,GAAG,OAAO,CAAC,IAAI,CAAC;IAKjB;;OAEG;IACG,cAAc,IAAI,OAAO,CAAC,IAAI,CAAC;IASrC;;OAEG;IACG,yBAAyB,CAAC,KAAK,CAAC,EAAE;QACtC;;WAEG;QACH,QAAQ,CAAC,EAAE,OAAO,CAAC;KACpB,GAAG,OAAO,CAAC,IAAI,CAAC;IA6BjB;;OAEG;IACG,wBAAwB,CAC5B,iBAAiB,CAAC,EAAE,sBAAsB,GAAG,IAAI,GAChD,OAAO,CAAC,IAAI,CAAC;IAWhB;;OAEG;IACG,oBAAoB,CACxB,KAAK,EAAE,qBAAqB,GAC3B,OAAO,CAAC,IAAI,CAAC;IAMhB;;OAEG;IACG,iBAAiB,CAAC,KAAK,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC;IAkB9D;;OAEG;IACG,sCAAsC,CAC1C,KAAK,EAAE,uBAAuB,GAC7B,OAAO,CAAC,oBAAoB,CAAC;IA0ChC;;OAEG;IACG,8BAA8B,CAClC,iBAAiB,CAAC,EAAE,oBAAoB,EAAE,GACzC,OAAO,CAAC,IAAI,CAAC;CAYjB"}
1
+ {"version":3,"file":"SessionStateService.d.ts","sourceRoot":"","sources":["../../../src/session/services/SessionStateService.ts"],"names":[],"mappings":"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"}
@@ -10,10 +10,12 @@ import { inferAgentModelLabel, normalizeAgentModel, } from "../../model/CityMode
10
10
  import { patchSessionModelLabel, readSessionMetadata, resolveSystemTimezone, writeSessionMetadata, } from "../../session/storage/Metadata.js";
11
11
  import { touchSessionMetadata } from "../../session/storage/Persistence.js";
12
12
  import { ensureSessionTitle } from "../../session/SessionTitle.js";
13
- import { persistSdkAssistantResult } from "../../session/storage/Persistence.js";
14
13
  import { hydrateUserPromptFileParts } from "../../executor/messages/SessionAttachmentMapper.js";
15
- import { to_session_action_record } from "../../executor/types/SessionRecords.js";
16
14
  import { generateId } from "../../utils/Id.js";
15
+ import { normalize_session_user_parts } from "../../session/recorder/SessionRecorder.js";
16
+ import { from_ui_assistant_parts, from_ui_user_parts, to_executor_ui_message, } from "../../session/recorder/SessionMessageCodec.js";
17
+ import fs from "fs-extra";
18
+ import { getSdkAgentSessionMessagesPath } from "../../session/storage/Paths.js";
17
19
  /**
18
20
  * 本地 Session 状态与持久化服务。
19
21
  */
@@ -22,20 +24,24 @@ export class SessionStateService {
22
24
  project_root;
23
25
  session_id;
24
26
  history_store;
27
+ recorder;
25
28
  executor;
26
29
  state;
27
30
  logger;
28
31
  ensure_configured_hook;
32
+ resolve_model;
29
33
  publish_event;
30
34
  constructor(options) {
31
35
  this.agent_id = options.agent_id;
32
36
  this.project_root = options.project_root;
33
37
  this.session_id = options.session_id;
34
38
  this.history_store = options.history_store;
39
+ this.recorder = options.recorder;
35
40
  this.executor = options.executor;
36
41
  this.state = options.state;
37
42
  this.logger = options.logger;
38
43
  this.ensure_configured_hook = options.ensure_configured_hook;
44
+ this.resolve_model = options.resolve_model;
39
45
  this.publish_event = options.publish_event;
40
46
  }
41
47
  /**
@@ -93,7 +99,9 @@ export class SessionStateService {
93
99
  ...(metadata.modelLabel
94
100
  ? { modelLabel: metadata.modelLabel }
95
101
  : {}),
102
+ ...(metadata.modelId ? { modelId: metadata.modelId } : {}),
96
103
  };
104
+ await this.restore_persisted_model();
97
105
  })();
98
106
  await this.state.initializePromise;
99
107
  }
@@ -134,43 +142,52 @@ export class SessionStateService {
134
142
  async set(input, options) {
135
143
  const should_emit_action = options?.emit_action !== false;
136
144
  const previous_model_label = this.state.sessionConfig.modelLabel;
137
- const next_model_label = input.model
138
- ? inferAgentModelLabel(input.model)
145
+ const previous_model_id = String(this.state.sessionConfig.modelId || previous_model_label || "").trim();
146
+ const requested_model_id = String(input.modelId || "").trim();
147
+ const next_model = input.model || (requested_model_id
148
+ ? await this.resolve_model_by_id(requested_model_id)
149
+ : undefined);
150
+ const next_model_label = next_model
151
+ ? inferAgentModelLabel(next_model)
139
152
  : undefined;
140
- const should_emit_model_switch_action = Boolean(input.model &&
153
+ const next_model_id = requested_model_id || next_model_label || "";
154
+ const should_emit_model_switch_action = Boolean(next_model &&
141
155
  should_emit_action &&
142
156
  this.state.sessionConfig.model &&
143
- previous_model_label &&
144
- next_model_label &&
145
- previous_model_label !== next_model_label);
157
+ previous_model_id &&
158
+ next_model_id &&
159
+ previous_model_id !== next_model_id);
160
+ const previous_model_name = previous_model_label || previous_model_id;
161
+ const next_model_name = next_model_label || next_model_id;
146
162
  const action_id = `model-switching:${this.session_id}:${Date.now()}:${generateId()}`;
147
163
  if (should_emit_model_switch_action) {
148
164
  await this.emit_action_event({
149
165
  id: action_id,
150
- title: "Switching session model",
151
- description: next_model_label
152
- ? `Switching to ${next_model_label}.`
153
- : undefined,
166
+ title: `Switching session model from ${previous_model_name} to ${next_model_name}`,
154
167
  state: "running",
155
168
  });
156
169
  }
157
170
  try {
158
- if (input.model) {
159
- this.state.sessionConfig.model = normalizeAgentModel(input.model);
171
+ if (next_model) {
172
+ this.state.sessionConfig.model = normalizeAgentModel(next_model);
160
173
  this.state.sessionConfig.modelLabel = next_model_label;
161
174
  }
175
+ if (next_model_id) {
176
+ this.state.sessionConfig.modelId = next_model_id;
177
+ }
162
178
  await patchSessionModelLabel({
163
179
  projectRoot: this.project_root,
164
180
  agentId: this.agent_id,
165
181
  sessionId: this.session_id,
166
182
  model: this.state.sessionConfig.model,
183
+ modelId: this.state.sessionConfig.modelId,
167
184
  });
168
185
  }
169
186
  catch (error) {
170
187
  if (should_emit_model_switch_action) {
171
188
  await this.emit_action_event({
172
189
  id: action_id,
173
- title: "Session model switch failed",
190
+ title: `Session model switch from ${previous_model_name} to ${next_model_name} failed`,
174
191
  description: error instanceof Error ? error.message : String(error),
175
192
  state: "failed",
176
193
  });
@@ -180,19 +197,46 @@ export class SessionStateService {
180
197
  if (should_emit_model_switch_action) {
181
198
  await this.emit_action_event({
182
199
  id: action_id,
183
- title: "Session model switched",
184
- description: this.state.sessionConfig.modelLabel
185
- ? `Using ${this.state.sessionConfig.modelLabel}.`
186
- : undefined,
200
+ title: `Session model switched from ${previous_model_name} to ${next_model_name}`,
187
201
  state: "completed",
188
202
  });
189
203
  }
190
204
  }
205
+ /** 恢复 metadata 中持久化的模型覆盖。 */
206
+ async restore_persisted_model() {
207
+ const model_id = String(this.state.sessionConfig.modelId || "").trim();
208
+ if (!model_id || this.state.sessionConfig.model)
209
+ return;
210
+ const model = await this.resolve_model_by_id(model_id);
211
+ this.state.sessionConfig.model = normalizeAgentModel(model);
212
+ this.state.sessionConfig.modelLabel = inferAgentModelLabel(model);
213
+ }
214
+ /** 使用宿主 resolver 解析稳定模型 ID。 */
215
+ async resolve_model_by_id(model_id) {
216
+ if (!this.resolve_model) {
217
+ throw new Error("Session model resolver is not configured.");
218
+ }
219
+ return await this.resolve_model(model_id);
220
+ }
191
221
  /**
192
222
  * 追加一条 user 消息并刷新标题与 metadata。
193
223
  */
194
224
  async append_user_message(params) {
195
- await this.executor.append_user_message(params);
225
+ const parts = params.message && "role" in params.message
226
+ ? from_ui_user_parts(params.message.parts)
227
+ : [{
228
+ part_id: `external-user-text:${Date.now()}`,
229
+ type: "text",
230
+ text: String(params.text || "").trim(),
231
+ state: "done",
232
+ }];
233
+ if (parts.length === 0)
234
+ return;
235
+ await this.recorder.append_user_message({
236
+ turn_id: `external:${this.session_id}:${Date.now()}`,
237
+ input_type: "prompt",
238
+ parts,
239
+ });
196
240
  await this.ensure_title_from_history({ generate: true });
197
241
  await this.touch_metadata();
198
242
  }
@@ -200,18 +244,40 @@ export class SessionStateService {
200
244
  * 追加一条 assistant 消息并刷新 metadata。
201
245
  */
202
246
  async append_assistant_message(params) {
203
- await this.executor.append_assistant_message(params);
247
+ const parts = params.message && "role" in params.message
248
+ ? from_ui_assistant_parts(params.message.parts)
249
+ : [{
250
+ part_id: `external-assistant-text:${Date.now()}`,
251
+ type: "text",
252
+ text: String(params.fallbackText || "").trim(),
253
+ state: "done",
254
+ }];
255
+ if (parts.length === 0)
256
+ return;
257
+ await this.recorder.append_completed_assistant_message({ parts });
204
258
  await this.touch_metadata();
205
259
  }
206
260
  /**
207
261
  * 仅刷新当前 session metadata。
208
262
  */
209
263
  async touch_metadata() {
264
+ const message_page = await this.recorder.list_messages({
265
+ limit: 500,
266
+ include_internal: true,
267
+ });
268
+ const messages_path = getSdkAgentSessionMessagesPath(this.project_root, this.agent_id, this.session_id);
269
+ const history_bytes = await fs.stat(messages_path)
270
+ .then((file_stat) => file_stat.size)
271
+ .catch(() => 0);
272
+ const preview_text = resolve_message_preview(message_page.items[message_page.items.length - 1]).slice(0, 180);
210
273
  await touchSessionMetadata({
211
274
  projectRoot: this.project_root,
212
275
  agentId: this.agent_id,
213
276
  sessionId: this.session_id,
214
277
  sessionConfig: this.state.sessionConfig,
278
+ message_count: message_page.total,
279
+ history_bytes,
280
+ ...(preview_text ? { preview_text } : {}),
215
281
  });
216
282
  }
217
283
  /**
@@ -250,76 +316,74 @@ export class SessionStateService {
250
316
  * 持久化最终 assistant 结果。
251
317
  */
252
318
  async persist_assistant_result(assistant_message) {
253
- await persistSdkAssistantResult({
254
- projectRoot: this.project_root,
255
- agentId: this.agent_id,
256
- sessionId: this.session_id,
257
- sessionConfig: this.state.sessionConfig,
258
- executor: this.executor,
259
- assistantMessage: assistant_message,
260
- });
319
+ void assistant_message;
320
+ await this.touch_metadata();
261
321
  }
262
322
  /**
263
323
  * 持久化一条 action record。
264
324
  */
265
325
  async persist_action_event(event) {
266
- const message = to_session_action_record(event, this.session_id);
267
- await this.history_store.write_record(message);
326
+ const existing = this.recorder.get_message(event.id);
327
+ if (!existing) {
328
+ const writer = await this.recorder.open_action_message({
329
+ message_id: event.id,
330
+ turn_id: event.metadata.turnId,
331
+ action_type: infer_action_type(event.id),
332
+ title: event.title,
333
+ description: event.description,
334
+ });
335
+ if (event.state === "completed")
336
+ await writer.complete();
337
+ if (event.state === "failed")
338
+ await writer.fail(event.description || event.title);
339
+ }
340
+ else if (existing.type === "action" && event.state !== "running") {
341
+ await this.recorder.update_action_message(event.id, event.state, {
342
+ title: event.title,
343
+ description: event.description,
344
+ });
345
+ }
268
346
  await this.touch_metadata();
269
347
  }
270
348
  /**
271
349
  * 写入并发布一条 action。
272
350
  */
273
351
  async emit_action_event(input) {
274
- const event = to_session_action_record({
275
- ...input,
276
- id: String(input.id || "").trim() ||
277
- `action:${this.session_id}:${Date.now()}:${generateId()}`,
278
- }, this.session_id);
279
- try {
280
- await this.persist_action_event(event);
281
- }
282
- catch {
283
- // action 持久化失败不应阻断宿主操作。
284
- }
285
- this.publish_event(event);
352
+ const action_id = String(input.id || "").trim() ||
353
+ `action:${this.session_id}:${Date.now()}`;
354
+ const turn_id = "turnId" in input
355
+ ? input.turnId
356
+ : input.metadata?.turnId;
357
+ await this.persist_action_event({
358
+ type: "action",
359
+ id: action_id,
360
+ title: input.title,
361
+ ...(input.description ? { description: input.description } : {}),
362
+ state: input.state,
363
+ metadata: {
364
+ v: 1,
365
+ ts: input.metadata?.ts || Date.now(),
366
+ sessionId: this.session_id,
367
+ ...(turn_id
368
+ ? { turnId: turn_id }
369
+ : {}),
370
+ },
371
+ });
286
372
  }
287
373
  /**
288
374
  * 构造并持久化一条 prompt user 消息。
289
375
  */
290
- async create_and_persist_user_prompt_message(input) {
376
+ async create_and_persist_user_prompt_message(input, turn_id, input_type = "prompt") {
291
377
  const query = input.query;
292
- if (typeof query === "string") {
293
- const message = this.history_store.userText({
294
- text: query.trim(),
295
- metadata: {
296
- sessionId: this.session_id,
297
- },
298
- });
299
- await this.executor.append_user_message({
300
- message,
301
- });
302
- await this.ensure_title_from_history({ generate: true });
303
- await this.touch_metadata();
304
- return message;
305
- }
306
- // query 是 parts 数组,先把本地图片附件转换为模型可消费的 data URL。
307
- const parts = await hydrateUserPromptFileParts(Array.isArray(query) ? query : [], this.project_root);
308
- const message = {
309
- id: `u:${this.session_id}:${generateId()}`,
310
- role: "user",
311
- parts,
312
- metadata: {
313
- v: 1,
314
- ts: Date.now(),
315
- sessionId: this.session_id,
316
- source: "ingress",
317
- kind: "normal",
318
- },
319
- };
320
- await this.executor.append_user_message({
321
- message,
378
+ const ui_parts = typeof query === "string"
379
+ ? [{ type: "text", text: query.trim() }]
380
+ : await hydrateUserPromptFileParts(Array.isArray(query) ? query : [], this.project_root);
381
+ const canonical = await this.recorder.append_user_message({
382
+ turn_id,
383
+ input_type,
384
+ parts: normalize_session_user_parts(ui_parts),
322
385
  });
386
+ const message = to_executor_ui_message(canonical);
323
387
  await this.ensure_title_from_history({ generate: true });
324
388
  await this.touch_metadata();
325
389
  return message;
@@ -334,11 +398,36 @@ export class SessionStateService {
334
398
  if (normalized_messages.length <= 0)
335
399
  return;
336
400
  for (const message of normalized_messages) {
337
- await this.executor.append_user_message({
338
- message,
401
+ await this.recorder.append_user_message({
402
+ turn_id: String(message.metadata?.turnId || `deferred:${this.session_id}:${Date.now()}`),
403
+ input_type: "steer",
404
+ parts: from_ui_user_parts(message.parts),
339
405
  });
340
406
  }
341
407
  await this.touch_metadata();
342
408
  }
343
409
  }
410
+ function resolve_message_preview(message) {
411
+ if (!message)
412
+ return "";
413
+ if (message.type === "user") {
414
+ return message.parts
415
+ .flatMap((part) => part.type === "text" ? [part.text] : [])
416
+ .join("")
417
+ .trim();
418
+ }
419
+ if (message.type === "assistant") {
420
+ return message.parts
421
+ .flatMap((part) => part.type === "text" ? [part.text] : [])
422
+ .join("")
423
+ .trim();
424
+ }
425
+ if (message.type === "action") {
426
+ return [message.title, message.description].filter(Boolean).join("\n");
427
+ }
428
+ return message.message.trim();
429
+ }
430
+ function infer_action_type(message_id) {
431
+ return String(message_id || "").split(":")[0] || "action";
432
+ }
344
433
  //# sourceMappingURL=SessionStateService.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"SessionStateService.js","sourceRoot":"","sources":["../../../src/session/services/SessionStateService.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"SessionStateService.js","sourceRoot":"","sources":["../../../src/session/services/SessionStateService.ts"],"names":[],"mappings":"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"}
@@ -14,6 +14,7 @@ import type { AgentSessionStopResult } from "../../types/sdk/AgentSessionStop.js
14
14
  import type { AgentSessionTurnHandle } from "../../types/sdk/AgentSessionTurn.js";
15
15
  import { SessionEventHub } from "../../session/runtime/SessionEventHub.js";
16
16
  import { SessionStateService } from "../../session/services/SessionStateService.js";
17
+ import { SessionRecorder } from "../../session/recorder/SessionRecorder.js";
17
18
  type SessionTurnServiceOptions = {
18
19
  /**
19
20
  * 当前 session 标识。
@@ -35,6 +36,8 @@ type SessionTurnServiceOptions = {
35
36
  * 当前 session 共享事件总线。
36
37
  */
37
38
  event_hub: SessionEventHub;
39
+ /** 当前 Session Message Recorder。 */
40
+ recorder: SessionRecorder;
38
41
  };
39
42
  /**
40
43
  * 本地 Session turn 编排服务。
@@ -45,6 +48,7 @@ export declare class SessionTurnService {
45
48
  private readonly executor;
46
49
  private readonly state_service;
47
50
  private readonly event_hub;
51
+ private readonly recorder;
48
52
  private readonly prompt_runtime;
49
53
  constructor(options: SessionTurnServiceOptions);
50
54
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"SessionTurnService.d.ts","sourceRoot":"","sources":["../../../src/session/services/SessionTurnService.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAGH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AACtD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,kCAAkC,CAAC;AAC1E,OAAO,KAAK,EACV,sBAAsB,EACtB,uBAAuB,EACxB,MAAM,kCAAkC,CAAC;AAE1C,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,mCAAmC,CAAC;AACjF,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,iCAAiC,CAAC;AAC9E,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,iCAAiC,CAAC;AAO9E,OAAO,EAAE,eAAe,EAAE,MAAM,sCAAsC,CAAC;AAGvE,OAAO,EAAE,mBAAmB,EAAE,MAAM,2CAA2C,CAAC;AAEhF,KAAK,yBAAyB,GAAG;IAC/B;;OAEG;IACH,UAAU,EAAE,MAAM,CAAC;IAEnB;;OAEG;IACH,YAAY,EAAE,MAAM,CAAC;IAErB;;OAEG;IACH,QAAQ,EAAE,QAAQ,CAAC;IAEnB;;OAEG;IACH,aAAa,EAAE,mBAAmB,CAAC;IAEnC;;OAEG;IACH,SAAS,EAAE,eAAe,CAAC;CAC5B,CAAC;AAEF;;GAEG;AACH,qBAAa,kBAAkB;IAC7B,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAS;IACpC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAS;IACtC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAW;IACpC,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAsB;IACpD,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAkB;IAC5C,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAuB;gBAE1C,OAAO,EAAE,yBAAyB;IAqC9C;;OAEG;IACH,aAAa,CAAC,KAAK,EAAE,iBAAiB,GAAG,IAAI;IAI7C;;OAEG;IACH,SAAS,CAAC,UAAU,EAAE,sBAAsB,GAAG,uBAAuB;IAItE;;OAEG;IACH,wBAAwB,IAAI,OAAO;IAInC;;OAEG;IACG,MAAM,CAAC,KAAK,EAAE,uBAAuB,GAAG,OAAO,CAAC,sBAAsB,CAAC;IAQ7E;;OAEG;IACG,IAAI,IAAI,OAAO,CAAC,sBAAsB,CAAC;IAI7C;;OAEG;YACW,mBAAmB;CAgGlC"}
1
+ {"version":3,"file":"SessionTurnService.d.ts","sourceRoot":"","sources":["../../../src/session/services/SessionTurnService.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAGH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AACtD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,kCAAkC,CAAC;AAC1E,OAAO,KAAK,EACV,sBAAsB,EACtB,uBAAuB,EACxB,MAAM,kCAAkC,CAAC;AAE1C,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,mCAAmC,CAAC;AACjF,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,iCAAiC,CAAC;AAC9E,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,iCAAiC,CAAC;AAM9E,OAAO,EAAE,eAAe,EAAE,MAAM,sCAAsC,CAAC;AAGvE,OAAO,EAAE,mBAAmB,EAAE,MAAM,2CAA2C,CAAC;AAChF,OAAO,EAEL,eAAe,EAChB,MAAM,uCAAuC,CAAC;AAG/C,KAAK,yBAAyB,GAAG;IAC/B;;OAEG;IACH,UAAU,EAAE,MAAM,CAAC;IAEnB;;OAEG;IACH,YAAY,EAAE,MAAM,CAAC;IAErB;;OAEG;IACH,QAAQ,EAAE,QAAQ,CAAC;IAEnB;;OAEG;IACH,aAAa,EAAE,mBAAmB,CAAC;IAEnC;;OAEG;IACH,SAAS,EAAE,eAAe,CAAC;IAE3B,mCAAmC;IACnC,QAAQ,EAAE,eAAe,CAAC;CAC3B,CAAC;AAEF;;GAEG;AACH,qBAAa,kBAAkB;IAC7B,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAS;IACpC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAS;IACtC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAW;IACpC,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAsB;IACpD,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAkB;IAC5C,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAkB;IAC3C,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAuB;gBAE1C,OAAO,EAAE,yBAAyB;IAwC9C;;OAEG;IACH,aAAa,CAAC,KAAK,EAAE,iBAAiB,GAAG,IAAI;IAI7C;;OAEG;IACH,SAAS,CAAC,UAAU,EAAE,sBAAsB,GAAG,uBAAuB;IAItE;;OAEG;IACH,wBAAwB,IAAI,OAAO;IAInC;;OAEG;IACG,MAAM,CAAC,KAAK,EAAE,uBAAuB,GAAG,OAAO,CAAC,sBAAsB,CAAC;IAQ7E;;OAEG;IACG,IAAI,IAAI,OAAO,CAAC,sBAAsB,CAAC;IAI7C;;OAEG;YACW,mBAAmB;CAqGlC"}