@downcity/agent 1.1.315 → 1.1.320

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 (84) hide show
  1. package/bin/executor/types/SessionHistoryMeta.d.ts +2 -0
  2. package/bin/executor/types/SessionHistoryMeta.d.ts.map +1 -1
  3. package/bin/index.d.ts +1 -1
  4. package/bin/index.d.ts.map +1 -1
  5. package/bin/index.js.map +1 -1
  6. package/bin/remote/RemoteSession.d.ts +2 -2
  7. package/bin/remote/RemoteSession.d.ts.map +1 -1
  8. package/bin/remote/RemoteSession.js +2 -2
  9. package/bin/remote/RemoteSession.js.map +1 -1
  10. package/bin/remote/RemoteTransport.d.ts +2 -2
  11. package/bin/remote/RemoteTransport.d.ts.map +1 -1
  12. package/bin/remote/transports/HttpRemoteAgentTransport.d.ts +2 -2
  13. package/bin/remote/transports/HttpRemoteAgentTransport.d.ts.map +1 -1
  14. package/bin/remote/transports/HttpRemoteAgentTransport.js +2 -2
  15. package/bin/remote/transports/HttpRemoteAgentTransport.js.map +1 -1
  16. package/bin/remote/transports/RpcClient.d.ts +2 -2
  17. package/bin/remote/transports/RpcClient.d.ts.map +1 -1
  18. package/bin/remote/transports/RpcClient.js +2 -2
  19. package/bin/remote/transports/RpcClient.js.map +1 -1
  20. package/bin/remote/transports/RpcRemoteAgentTransport.d.ts +2 -2
  21. package/bin/remote/transports/RpcRemoteAgentTransport.d.ts.map +1 -1
  22. package/bin/remote/transports/RpcRemoteAgentTransport.js +2 -2
  23. package/bin/remote/transports/RpcRemoteAgentTransport.js.map +1 -1
  24. package/bin/session/Session.d.ts +4 -4
  25. package/bin/session/Session.d.ts.map +1 -1
  26. package/bin/session/Session.js +47 -27
  27. package/bin/session/Session.js.map +1 -1
  28. package/bin/session/SessionLoop.d.ts.map +1 -1
  29. package/bin/session/SessionLoop.js +4 -2
  30. package/bin/session/SessionLoop.js.map +1 -1
  31. package/bin/session/SessionMessages.d.ts +9 -2
  32. package/bin/session/SessionMessages.d.ts.map +1 -1
  33. package/bin/session/SessionMessages.js +63 -13
  34. package/bin/session/SessionMessages.js.map +1 -1
  35. package/bin/session/SessionState.d.ts +13 -1
  36. package/bin/session/SessionState.d.ts.map +1 -1
  37. package/bin/session/SessionState.js +28 -4
  38. package/bin/session/SessionState.js.map +1 -1
  39. package/bin/session/messages/SessionAssistantMessageWriter.d.ts.map +1 -1
  40. package/bin/session/messages/SessionAssistantMessageWriter.js +7 -6
  41. package/bin/session/messages/SessionAssistantMessageWriter.js.map +1 -1
  42. package/bin/session/storage/Metadata.d.ts.map +1 -1
  43. package/bin/session/storage/Metadata.js +7 -0
  44. package/bin/session/storage/Metadata.js.map +1 -1
  45. package/bin/types/agent/SessionActor.d.ts +3 -3
  46. package/bin/types/agent/SessionActor.d.ts.map +1 -1
  47. package/bin/types/agent/SessionTypes.d.ts +20 -0
  48. package/bin/types/agent/SessionTypes.d.ts.map +1 -1
  49. package/bin/types/rpc/RpcProtocol.d.ts +2 -1
  50. package/bin/types/rpc/RpcProtocol.d.ts.map +1 -1
  51. package/bin/types/session/SessionCommand.d.ts +2 -0
  52. package/bin/types/session/SessionCommand.d.ts.map +1 -1
  53. package/bin/types/session/SessionLocalState.d.ts +3 -0
  54. package/bin/types/session/SessionLocalState.d.ts.map +1 -1
  55. package/bin/types/session/SessionMessages.d.ts +2 -0
  56. package/bin/types/session/SessionMessages.d.ts.map +1 -1
  57. package/bin/types/session/SessionMutation.d.ts +17 -4
  58. package/bin/types/session/SessionMutation.d.ts.map +1 -1
  59. package/bin/types/session/SessionMutation.js.map +1 -1
  60. package/package.json +6 -6
  61. package/scripts/remote-session-reconnect.test.mjs +25 -0
  62. package/scripts/session-config-turn-boundary.test.mjs +185 -0
  63. package/scripts/session-messages.test.mjs +20 -0
  64. package/src/executor/types/SessionHistoryMeta.ts +2 -0
  65. package/src/index.ts +1 -0
  66. package/src/remote/RemoteSession.ts +6 -2
  67. package/src/remote/RemoteTransport.ts +6 -1
  68. package/src/remote/transports/HttpRemoteAgentTransport.ts +3 -1
  69. package/src/remote/transports/RpcClient.ts +3 -1
  70. package/src/remote/transports/RpcRemoteAgentTransport.ts +3 -1
  71. package/src/session/Session.ts +55 -28
  72. package/src/session/SessionLoop.ts +4 -1
  73. package/src/session/SessionMessages.ts +97 -13
  74. package/src/session/SessionState.ts +39 -5
  75. package/src/session/messages/SessionAssistantMessageWriter.ts +13 -6
  76. package/src/session/storage/Metadata.ts +10 -0
  77. package/src/types/agent/SessionActor.ts +3 -2
  78. package/src/types/agent/SessionTypes.ts +22 -0
  79. package/src/types/rpc/RpcProtocol.ts +6 -1
  80. package/src/types/session/SessionCommand.ts +2 -0
  81. package/src/types/session/SessionLocalState.ts +4 -0
  82. package/src/types/session/SessionMessages.ts +2 -0
  83. package/src/types/session/SessionMutation.ts +21 -4
  84. package/tsconfig.tsbuildinfo +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"RpcProtocol.d.ts","sourceRoot":"","sources":["../../../src/types/rpc/RpcProtocol.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"RpcProtocol.d.ts","sourceRoot":"","sources":["../../../src/types/rpc/RpcProtocol.ts"],"names":[],"mappings":"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"}
@@ -22,5 +22,7 @@ export interface SessionCommandCompletion {
22
22
  title: string;
23
23
  /** Action Message 展示的可选结果说明。 */
24
24
  description?: string;
25
+ /** Action Message 持久化后是否发布对应 Session Mutation。 */
26
+ publish_mutation?: boolean;
25
27
  }
26
28
  //# sourceMappingURL=SessionCommand.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"SessionCommand.d.ts","sourceRoot":"","sources":["../../../src/types/session/SessionCommand.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,4BAA4B;AAC5B,MAAM,WAAW,qBAAqB;IACpC,0BAA0B;IAC1B,OAAO,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAC7B,yDAAyD;IACzD,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;IACpB,wCAAwC;IACxC,UAAU,CAAC,EAAE,wBAAwB,CAAC;CACvC;AAED,8CAA8C;AAC9C,MAAM,WAAW,wBAAwB;IACvC,iCAAiC;IACjC,IAAI,EAAE,QAAQ,CAAC;IACf,gCAAgC;IAChC,EAAE,EAAE,MAAM,CAAC;IACX,gCAAgC;IAChC,KAAK,EAAE,MAAM,CAAC;IACd,gCAAgC;IAChC,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB"}
1
+ {"version":3,"file":"SessionCommand.d.ts","sourceRoot":"","sources":["../../../src/types/session/SessionCommand.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,4BAA4B;AAC5B,MAAM,WAAW,qBAAqB;IACpC,0BAA0B;IAC1B,OAAO,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAC7B,yDAAyD;IACzD,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;IACpB,wCAAwC;IACxC,UAAU,CAAC,EAAE,wBAAwB,CAAC;CACvC;AAED,8CAA8C;AAC9C,MAAM,WAAW,wBAAwB;IACvC,iCAAiC;IACjC,IAAI,EAAE,QAAQ,CAAC;IACf,gCAAgC;IAChC,EAAE,EAAE,MAAM,CAAC;IACX,gCAAgC;IAChC,KAAK,EAAE,MAAM,CAAC;IACd,gCAAgC;IAChC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,kDAAkD;IAClD,gBAAgB,CAAC,EAAE,OAAO,CAAC;CAC5B"}
@@ -7,6 +7,7 @@
7
7
  * - 这里只保存运行态,不承载行为逻辑。
8
8
  */
9
9
  import type { AgentSessionConfigSnapshot } from "../../types/agent/SessionTypes.js";
10
+ import type { SessionApprovalMode } from "../../types/session/SessionInteraction.js";
10
11
  /**
11
12
  * 本地 Session 内存状态。
12
13
  */
@@ -23,6 +24,8 @@ export interface SessionLocalState {
23
24
  * - 该字段只在 Session step 检查点由队列 mutation 更新。
24
25
  */
25
26
  effective_session_config: AgentSessionConfigSnapshot;
27
+ /** 当前 Session 已接受并持久化的 Shell 审批模式。 */
28
+ configured_approval_mode: SessionApprovalMode;
26
29
  /**
27
30
  * 当前 session 创建时间(毫秒时间戳)。
28
31
  */
@@ -1 +1 @@
1
- {"version":3,"file":"SessionLocalState.d.ts","sourceRoot":"","sources":["../../../src/types/session/SessionLocalState.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,+BAA+B,CAAC;AAEhF;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC;;OAEG;IACH,cAAc,EAAE,0BAA0B,CAAC;IAE3C;;;;;;OAMG;IACH,wBAAwB,EAAE,0BAA0B,CAAC;IAErD;;OAEG;IACH,UAAU,EAAE,MAAM,CAAC;IAEnB;;OAEG;IACH,QAAQ,EAAE,MAAM,CAAC;IAEjB;;OAEG;IACH,kBAAkB,EAAE,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;IAEzC;;OAEG;IACH,yBAAyB,EAAE,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;CACjD"}
1
+ {"version":3,"file":"SessionLocalState.d.ts","sourceRoot":"","sources":["../../../src/types/session/SessionLocalState.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,+BAA+B,CAAC;AAChF,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,uCAAuC,CAAC;AAEjF;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC;;OAEG;IACH,cAAc,EAAE,0BAA0B,CAAC;IAE3C;;;;;;OAMG;IACH,wBAAwB,EAAE,0BAA0B,CAAC;IAErD,sCAAsC;IACtC,wBAAwB,EAAE,mBAAmB,CAAC;IAE9C;;OAEG;IACH,UAAU,EAAE,MAAM,CAAC;IAEnB;;OAEG;IACH,QAAQ,EAAE,MAAM,CAAC;IAEjB;;OAEG;IACH,kBAAkB,EAAE,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;IAEzC;;OAEG;IACH,yBAAyB,EAAE,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;CACjD"}
@@ -71,6 +71,8 @@ export interface OpenSessionActionMessageInput {
71
71
  description?: string;
72
72
  /** 当前 Action 附加数据。 */
73
73
  data?: JsonObject;
74
+ /** Action 创建或更新后是否发布对应 Session Mutation。 */
75
+ publish_mutation?: boolean;
74
76
  }
75
77
  /** Error Message 创建参数。 */
76
78
  export interface AppendSessionErrorMessageInput {
@@ -1 +1 @@
1
- {"version":3,"file":"SessionMessages.d.ts","sourceRoot":"","sources":["../../../src/types/session/SessionMessages.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"SessionMessages.d.ts","sourceRoot":"","sources":["../../../src/types/session/SessionMessages.ts"],"names":[],"mappings":"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"}
@@ -56,12 +56,10 @@ export type SessionPartMutation = {
56
56
  };
57
57
  };
58
58
  }[SessionAssistantMessagePart["type"]];
59
- /** Assistant 文本或推理的原始增量 Mutation */
60
- export interface SessionDeltaMutation extends SessionMutationBase {
59
+ /** Assistant Part 原始增量 Mutation 的公共字段。 */
60
+ interface SessionDeltaMutationBase extends SessionMutationBase {
61
61
  /** Mutation 层级固定为 delta。 */
62
62
  variant: "delta";
63
- /** Delta 只允许可见文本或推理文本。 */
64
- type: "text" | "reasoning";
65
63
  /** 当前 Delta 所属 Message 标识。 */
66
64
  message_id: string;
67
65
  /** 当前 Mutation 所属 Turn 标识。 */
@@ -73,6 +71,20 @@ export interface SessionDeltaMutation extends SessionMutationBase {
73
71
  /** 本次新增的原始文本,不是累计全文。 */
74
72
  delta: string;
75
73
  }
74
+ /** Assistant 文本或推理的原始增量 Mutation。 */
75
+ interface SessionTextDeltaMutation extends SessionDeltaMutationBase {
76
+ /** Delta 属于可见文本或推理文本。 */
77
+ type: "text" | "reasoning";
78
+ }
79
+ /** Assistant Tool 输入的原始增量 Mutation。 */
80
+ interface SessionToolInputDeltaMutation extends SessionDeltaMutationBase {
81
+ /** Delta 属于 Tool 输入参数原文。 */
82
+ type: "tool_input";
83
+ /** 当前 Delta 所属 Tool Call 标识。 */
84
+ tool_call_id: string;
85
+ }
86
+ /** Assistant 文本、推理或 Tool 输入的原始增量 Mutation。 */
87
+ export type SessionDeltaMutation = SessionTextDeltaMutation | SessionToolInputDeltaMutation;
76
88
  /** Turn 生命周期 Mutation。 */
77
89
  export type SessionTurnMutation = SessionMutationBase & {
78
90
  /** Mutation 层级固定为 turn。 */
@@ -122,4 +134,5 @@ export type SessionMutationSubscriber = (mutation: SessionMutation) => void | Pr
122
134
  export type SessionMutationUnsubscribe = () => void;
123
135
  /** 判断未知事件是否为 Session Mutation。 */
124
136
  export declare function is_session_mutation(input: unknown): input is SessionMutation;
137
+ export {};
125
138
  //# sourceMappingURL=SessionMutation.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"SessionMutation.d.ts","sourceRoot":"","sources":["../../../src/types/session/SessionMutation.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"SessionMutation.d.ts","sourceRoot":"","sources":["../../../src/types/session/SessionMutation.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"SessionMutation.js","sourceRoot":"","sources":["../../../src/types/session/SessionMutation.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAqIH,kCAAkC;AAClC,MAAM,UAAU,mBAAmB,CAAC,KAAc;IAChD,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAC;IACtD,MAAM,SAAS,GAAG,KAAqE,CAAC;IACxF,IAAI,OAAO,SAAS,CAAC,WAAW,KAAK,QAAQ,IAAI,OAAO,SAAS,CAAC,IAAI,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAC;IAClG,OAAO,CACL,SAAS,CAAC,OAAO,KAAK,SAAS;QAC/B,SAAS,CAAC,OAAO,KAAK,MAAM;QAC5B,SAAS,CAAC,OAAO,KAAK,OAAO;QAC7B,SAAS,CAAC,OAAO,KAAK,MAAM;QAC5B,SAAS,CAAC,OAAO,KAAK,SAAS;QAC/B,SAAS,CAAC,OAAO,KAAK,SAAS,CAChC,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"SessionMutation.js","sourceRoot":"","sources":["../../../src/types/session/SessionMutation.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAsJH,kCAAkC;AAClC,MAAM,UAAU,mBAAmB,CAAC,KAAc;IAChD,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAC;IACtD,MAAM,SAAS,GAAG,KAAqE,CAAC;IACxF,IAAI,OAAO,SAAS,CAAC,WAAW,KAAK,QAAQ,IAAI,OAAO,SAAS,CAAC,IAAI,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAC;IAClG,OAAO,CACL,SAAS,CAAC,OAAO,KAAK,SAAS;QAC/B,SAAS,CAAC,OAAO,KAAK,MAAM;QAC5B,SAAS,CAAC,OAAO,KAAK,OAAO;QAC7B,SAAS,CAAC,OAAO,KAAK,MAAM;QAC5B,SAAS,CAAC,OAAO,KAAK,SAAS;QAC/B,SAAS,CAAC,OAAO,KAAK,SAAS,CAChC,CAAC;AACJ,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@downcity/agent",
3
- "version": "1.1.315",
3
+ "version": "1.1.320",
4
4
  "type": "module",
5
5
  "description": "Downcity Agent 运行时 — 单 Agent 执行壳与本机 RPC 能力",
6
6
  "main": "./bin/index.js",
@@ -16,8 +16,8 @@
16
16
  }
17
17
  },
18
18
  "dependencies": {
19
- "@downcity/shell": "^0.1.164",
20
- "@downcity/type": "0.1.190",
19
+ "@downcity/shell": "^0.1.167",
20
+ "@downcity/type": "0.1.193",
21
21
  "ai": "^6.0.193",
22
22
  "commander": "^15.0.0",
23
23
  "dotenv": "^17.4.2",
@@ -32,9 +32,9 @@
32
32
  "zod": "^4.4.3"
33
33
  },
34
34
  "devDependencies": {
35
- "@downcity/sandbox-linux": "^0.1.28",
36
- "@downcity/sandbox-macos": "^0.1.28",
37
- "@downcity/sandbox-windows-mxc": "^0.1.28",
35
+ "@downcity/sandbox-linux": "^0.1.31",
36
+ "@downcity/sandbox-macos": "^0.1.31",
37
+ "@downcity/sandbox-windows-mxc": "^0.1.31",
38
38
  "@ai-sdk/openai": "^3.0.67",
39
39
  "@types/fs-extra": "^11.0.4",
40
40
  "@types/js-yaml": "^4.0.9",
@@ -11,6 +11,31 @@ import assert from "node:assert/strict";
11
11
 
12
12
  import { RemoteSession } from "../bin/remote/RemoteSession.js";
13
13
 
14
+ test("RemoteSession forwards set observability options to its transport", async () => {
15
+ const calls = [];
16
+ const transport = {
17
+ async set(session_id, input, options) {
18
+ calls.push({ session_id, input, options });
19
+ },
20
+ };
21
+ const session = new RemoteSession(transport, {
22
+ agent_id: "agent_test",
23
+ session_id: "session_test",
24
+ message_count: 0,
25
+ });
26
+
27
+ await session.set(
28
+ { security: { approval_mode: "ask" } },
29
+ { persist_action: false, publish_mutation: false },
30
+ );
31
+
32
+ assert.deepEqual(calls, [{
33
+ session_id: "session_test",
34
+ input: { security: { approval_mode: "ask" } },
35
+ options: { persist_action: false, publish_mutation: false },
36
+ }]);
37
+ });
38
+
14
39
  test("RemoteSession reconnects the event pump after transport close", async () => {
15
40
  const subscriptions = [];
16
41
  let prompt_count = 0;
@@ -600,6 +600,18 @@ test("running session approval mode changes stay queued until the next Session s
600
600
  },
601
601
  });
602
602
 
603
+ const cached_session = await agent.sessions.get(session.id);
604
+ assert.equal(cached_session, session);
605
+ assert.deepEqual(await cached_session.status(), {
606
+ session_id: session.id,
607
+ state: "running",
608
+ active_turn_id: first_turn.id,
609
+ security: {
610
+ approval_mode: "always-allow",
611
+ effective_approval_mode: "ask",
612
+ },
613
+ });
614
+
603
615
  release_first_provider_request.resolve();
604
616
  assert.equal((await first_turn.finished).success, true);
605
617
  assert.deepEqual(await session.status(), {
@@ -639,6 +651,179 @@ test("running session approval mode changes stay queued until the next Session s
639
651
  }
640
652
  });
641
653
 
654
+ test("session set options independently control Action persistence and Mutation publication", async () => {
655
+ const agent_path = await fs.mkdtemp(
656
+ path.join(os.tmpdir(), "downcity-session-set-options-"),
657
+ );
658
+ const first_model = new MockLanguageModelV3({
659
+ modelId: "set-options-first-model",
660
+ doStream: async () => create_stream_text_result("first"),
661
+ });
662
+ const second_model = new MockLanguageModelV3({
663
+ modelId: "set-options-second-model",
664
+ doStream: async () => create_stream_text_result("second"),
665
+ });
666
+ const agent = new Agent({
667
+ id: "session_set_options_agent",
668
+ workspace: new Workspace({ path: agent_path }),
669
+ model: first_model,
670
+ });
671
+
672
+ try {
673
+ const session = await agent.sessions.create({
674
+ session_id: "session_set_options_session",
675
+ });
676
+ const mutations = [];
677
+ const unsubscribe = session.subscribe((mutation) => {
678
+ mutations.push(mutation);
679
+ });
680
+
681
+ await session.set(
682
+ { model: first_model },
683
+ { persist_action: false, publish_mutation: false },
684
+ );
685
+ assert.equal((await (await session.prompt({ query: "first" })).finished).success, true);
686
+ assert.equal(
687
+ (await session.messages()).items.some(
688
+ (message) =>
689
+ message.type === "action" &&
690
+ message.title === "Session configuration updated",
691
+ ),
692
+ false,
693
+ );
694
+
695
+ mutations.splice(0, mutations.length);
696
+ await session.set(
697
+ { model: second_model },
698
+ { publish_mutation: false },
699
+ );
700
+ assert.equal((await (await session.prompt({ query: "second" })).finished).success, true);
701
+ assert.equal(
702
+ (await session.messages()).items.some(
703
+ (message) =>
704
+ message.type === "action" &&
705
+ message.description === "model: set-options-second-model",
706
+ ),
707
+ true,
708
+ );
709
+ assert.equal(
710
+ mutations.some(
711
+ (mutation) =>
712
+ mutation.variant === "message" &&
713
+ mutation.type === "action",
714
+ ),
715
+ false,
716
+ );
717
+
718
+ const before_duplicate_count = (await session.messages()).items.filter(
719
+ (message) =>
720
+ message.type === "action" &&
721
+ message.title === "Session configuration updated",
722
+ ).length;
723
+ await session.set({ model: second_model });
724
+ assert.equal((await (await session.prompt({ query: "duplicate" })).finished).success, true);
725
+ assert.equal(
726
+ (await session.messages()).items.filter(
727
+ (message) =>
728
+ message.type === "action" &&
729
+ message.title === "Session configuration updated",
730
+ ).length,
731
+ before_duplicate_count,
732
+ );
733
+
734
+ await assert.rejects(
735
+ session.set(
736
+ { security: { approval_mode: "always-allow" } },
737
+ { persist_action: false, publish_mutation: true },
738
+ ),
739
+ /publish_mutation requires persist_action/,
740
+ );
741
+ unsubscribe();
742
+ } finally {
743
+ await agent.dispose();
744
+ await fs.rm(agent_path, { recursive: true, force: true });
745
+ }
746
+ });
747
+
748
+ test("restored Session rebinds the same model without emitting a configuration Mutation", async () => {
749
+ const agent_path = await fs.mkdtemp(
750
+ path.join(os.tmpdir(), "downcity-session-config-restore-"),
751
+ );
752
+ const create_model = () => new MockLanguageModelV3({
753
+ modelId: "restored-session-model",
754
+ doStream: async () => create_stream_text_result("restored"),
755
+ });
756
+ const first_agent = new Agent({
757
+ id: "session_config_restore_agent",
758
+ workspace: new Workspace({ path: agent_path }),
759
+ model: create_model(),
760
+ });
761
+
762
+ try {
763
+ const session = await first_agent.sessions.create({
764
+ session_id: "session_config_restore_session",
765
+ });
766
+ await session.set({
767
+ model: create_model(),
768
+ security: { approval_mode: "always-allow" },
769
+ });
770
+ assert.equal((await (await session.prompt({ query: "persist" })).finished).success, true);
771
+ } finally {
772
+ await first_agent.dispose();
773
+ }
774
+
775
+ const restored_agent = new Agent({
776
+ id: "session_config_restore_agent",
777
+ workspace: new Workspace({ path: agent_path }),
778
+ model: create_model(),
779
+ });
780
+ try {
781
+ const session = await restored_agent.sessions.get(
782
+ "session_config_restore_session",
783
+ );
784
+ assert.deepEqual((await session.status()).security, {
785
+ approval_mode: "always-allow",
786
+ effective_approval_mode: "always-allow",
787
+ });
788
+ const before_action_count = (await session.messages()).items.filter(
789
+ (message) =>
790
+ message.type === "action" &&
791
+ message.title === "Session configuration updated",
792
+ ).length;
793
+ const mutations = [];
794
+ const unsubscribe = session.subscribe((mutation) => {
795
+ mutations.push(mutation);
796
+ });
797
+
798
+ await session.set({
799
+ model: create_model(),
800
+ security: { approval_mode: "always-allow" },
801
+ });
802
+ assert.equal((await (await session.prompt({ query: "restore" })).finished).success, true);
803
+ assert.equal(
804
+ (await session.messages()).items.filter(
805
+ (message) =>
806
+ message.type === "action" &&
807
+ message.title === "Session configuration updated",
808
+ ).length,
809
+ before_action_count,
810
+ );
811
+ assert.equal(
812
+ mutations.some(
813
+ (mutation) =>
814
+ mutation.variant === "message" &&
815
+ mutation.type === "action" &&
816
+ mutation.message.title === "Session configuration updated",
817
+ ),
818
+ false,
819
+ );
820
+ unsubscribe();
821
+ } finally {
822
+ await restored_agent.dispose();
823
+ await fs.rm(agent_path, { recursive: true, force: true });
824
+ }
825
+ });
826
+
642
827
  test("config remains effective when its action message cannot be persisted", async () => {
643
828
  const agent_path = await fs.mkdtemp(
644
829
  path.join(os.tmpdir(), "downcity-config-action-observability-"),
@@ -203,6 +203,16 @@ test("Tool Runtime 在文本中间保持输入、审批和输出的确定顺序"
203
203
  await writer.apply_chunk({ type: "text-delta", id: "text-1", delta: "before" });
204
204
  await writer.apply_chunk({ type: "text-end", id: "text-1" });
205
205
  await writer.apply_chunk({ type: "tool-input-start", toolCallId: "call-1", toolName: "shell_exec" });
206
+ await writer.apply_chunk({
207
+ type: "tool-input-delta",
208
+ toolCallId: "call-1",
209
+ inputTextDelta: '{"cmd":"',
210
+ });
211
+ await writer.apply_chunk({
212
+ type: "tool-input-delta",
213
+ toolCallId: "call-1",
214
+ inputTextDelta: 'pwd"}',
215
+ });
206
216
  await writer.apply_chunk({
207
217
  type: "tool-input-available",
208
218
  toolCallId: "call-1",
@@ -238,7 +248,17 @@ test("Tool Runtime 在文本中间保持输入、审批和输出的确定顺序"
238
248
  assert.deepEqual(assistant.parts.map((part) => part.type), ["text", "tool", "interaction", "text"]);
239
249
  assert.deepEqual(assistant.parts.map((part) => part.sequence), [1, 2, 3, 4]);
240
250
  assert.equal(assistant.parts[1].state, "completed");
251
+ assert.equal(assistant.parts[1].input_text, '{"cmd":"pwd"}');
241
252
  assert.deepEqual(assistant.parts[1].output, { count: 1 });
253
+ assert.deepEqual(
254
+ events
255
+ .filter((event) => event.variant === "delta" && event.type === "tool_input")
256
+ .map((event) => [event.tool_call_id, event.delta]),
257
+ [
258
+ ["call-1", '{"cmd":"'],
259
+ ["call-1", 'pwd"}'],
260
+ ],
261
+ );
242
262
  assert.deepEqual(
243
263
  events
244
264
  .filter((event) => event.variant === "part" && event.type === "tool")
@@ -23,6 +23,8 @@ export type SessionHistoryMetaV1 = {
23
23
  title?: string;
24
24
  /** 当前 session 绑定模型的可读标签。 */
25
25
  model_label?: string;
26
+ /** 当前 Session 持久化的 Shell 审批模式。 */
27
+ approval_mode?: "ask" | "always-allow";
26
28
  /** 当前 session 已持久化记录数量,用于列表查询避免扫描完整历史。 */
27
29
  message_count?: number;
28
30
  /** 当前 session 最后一条记录的用户可见摘要,用于列表预览。 */
package/src/index.ts CHANGED
@@ -53,6 +53,7 @@ export type {
53
53
  AgentSessionSecurityConfig,
54
54
  AgentSessionSecurityStatus,
55
55
  AgentSessionSetInput,
56
+ AgentSessionSetOptions,
56
57
  AgentSessionStatus,
57
58
  AgentSessionSummary,
58
59
  AgentSessionSummaryPage,
@@ -6,6 +6,7 @@
6
6
 
7
7
  import type {
8
8
  AgentSessionConfigSnapshot,
9
+ AgentSessionSetOptions,
9
10
  AgentSessionForkInput,
10
11
  AgentSessionInfo,
11
12
  AgentSessionStatus,
@@ -159,8 +160,11 @@ export class RemoteSession implements RemoteAgentSession {
159
160
  }
160
161
 
161
162
  /** 更新当前远程 Session 的可序列化动态配置。 */
162
- async set(input: RemoteSessionSetInput): Promise<void> {
163
- await this.transport.set(this.id, input);
163
+ async set(
164
+ input: RemoteSessionSetInput,
165
+ options?: AgentSessionSetOptions,
166
+ ): Promise<void> {
167
+ await this.transport.set(this.id, input, options);
164
168
  }
165
169
 
166
170
  /** 提交当前远程 Session 的 Interaction 用户响应。 */
@@ -16,6 +16,7 @@ import type {
16
16
  AgentCleanArchiveResult,
17
17
  AgentSessionForkInput,
18
18
  AgentSessionInfo,
19
+ AgentSessionSetOptions,
19
20
  AgentSessionStatus,
20
21
  AgentSessionSummaryPage,
21
22
  AgentSessionSystemSnapshot,
@@ -86,7 +87,11 @@ export type RemoteSessionTransport = {
86
87
  /** 读取指定 Session 的运行与安全状态。 */
87
88
  status(session_id: string): Promise<AgentSessionStatus>;
88
89
  /** 更新指定 Session 的可序列化动态配置。 */
89
- set(session_id: string, input: RemoteSessionSetInput): Promise<void>;
90
+ set(
91
+ session_id: string,
92
+ input: RemoteSessionSetInput,
93
+ options?: AgentSessionSetOptions,
94
+ ): Promise<void>;
90
95
  /** 提交指定 Session 的 Interaction 用户响应。 */
91
96
  respond(
92
97
  session_id: string,
@@ -16,6 +16,7 @@ import type {
16
16
  AgentCleanArchiveResult,
17
17
  AgentSessionForkInput,
18
18
  AgentSessionInfo,
19
+ AgentSessionSetOptions,
19
20
  AgentSessionStatus,
20
21
  AgentSessionSummaryPage,
21
22
  AgentSessionSystemSnapshot,
@@ -427,6 +428,7 @@ export class HttpRemoteAgentTransport implements RemoteAgentTransport {
427
428
  async set(
428
429
  session_id: string,
429
430
  input: RemoteSessionSetInput,
431
+ options?: AgentSessionSetOptions,
430
432
  ): Promise<void> {
431
433
  const payload = await read_http_json<{
432
434
  success?: boolean;
@@ -437,7 +439,7 @@ export class HttpRemoteAgentTransport implements RemoteAgentTransport {
437
439
  headers: this.headers({
438
440
  "Content-Type": "application/json",
439
441
  }),
440
- body: JSON.stringify(input),
442
+ body: JSON.stringify({ ...input, ...(options ? { options } : {}) }),
441
443
  });
442
444
  if (payload.success !== true || payload.queued !== true) {
443
445
  throw new Error(String(payload.error || "Remote session set failed"));
@@ -17,6 +17,7 @@ import type {
17
17
  AgentArchiveSessionsResult,
18
18
  AgentCleanArchiveResult,
19
19
  AgentSessionInfo,
20
+ AgentSessionSetOptions,
20
21
  AgentSessionStatus,
21
22
  AgentSessionSummaryPage,
22
23
  AgentSessionSystemSnapshot,
@@ -257,10 +258,11 @@ export class RpcClient {
257
258
  async set_session(
258
259
  session_id: string,
259
260
  input: RemoteSessionSetInput,
261
+ options?: AgentSessionSetOptions,
260
262
  ): Promise<void> {
261
263
  await this.request<{ queued: true }>({
262
264
  method: "sdk.sessions.set",
263
- params: { session_id: session_id, input },
265
+ params: { session_id: session_id, input, ...(options ? { options } : {}) },
264
266
  });
265
267
  }
266
268
 
@@ -16,6 +16,7 @@ import type {
16
16
  AgentCleanArchiveResult,
17
17
  AgentSessionForkInput,
18
18
  AgentSessionInfo,
19
+ AgentSessionSetOptions,
19
20
  AgentSessionStatus,
20
21
  AgentSessionSummaryPage,
21
22
  AgentSessionSystemSnapshot,
@@ -167,8 +168,9 @@ export class RpcRemoteAgentTransport implements RemoteAgentTransport {
167
168
  async set(
168
169
  session_id: string,
169
170
  input: RemoteSessionSetInput,
171
+ options?: AgentSessionSetOptions,
170
172
  ): Promise<void> {
171
- await this.client.set_session(session_id, input);
173
+ await this.client.set_session(session_id, input, options);
172
174
  }
173
175
 
174
176
  async respond(