visionclaw 0.1.43 → 0.1.45

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 (78) hide show
  1. package/CHANGELOG.md +24 -0
  2. package/dist/agent/context.d.ts +4 -0
  3. package/dist/agent/context.d.ts.map +1 -1
  4. package/dist/agent/context.js +14 -2
  5. package/dist/agent/context.js.map +1 -1
  6. package/dist/agent/fast-responder.d.ts.map +1 -1
  7. package/dist/agent/fast-responder.js +1 -0
  8. package/dist/agent/fast-responder.js.map +1 -1
  9. package/dist/agent/interrupt-handler.d.ts +8 -0
  10. package/dist/agent/interrupt-handler.d.ts.map +1 -1
  11. package/dist/agent/interrupt-handler.js +21 -4
  12. package/dist/agent/interrupt-handler.js.map +1 -1
  13. package/dist/agent/loop.d.ts.map +1 -1
  14. package/dist/agent/loop.js +145 -60
  15. package/dist/agent/loop.js.map +1 -1
  16. package/dist/agent/mailbox.d.ts +3 -1
  17. package/dist/agent/mailbox.d.ts.map +1 -1
  18. package/dist/agent/mailbox.js +6 -4
  19. package/dist/agent/mailbox.js.map +1 -1
  20. package/dist/agent/session-manager.d.ts +16 -7
  21. package/dist/agent/session-manager.d.ts.map +1 -1
  22. package/dist/agent/session-manager.js +51 -13
  23. package/dist/agent/session-manager.js.map +1 -1
  24. package/dist/agent/session.d.ts +18 -6
  25. package/dist/agent/session.d.ts.map +1 -1
  26. package/dist/agent/session.js +28 -29
  27. package/dist/agent/session.js.map +1 -1
  28. package/dist/agent/stream-handler.d.ts +2 -1
  29. package/dist/agent/stream-handler.d.ts.map +1 -1
  30. package/dist/agent/stream-handler.js +24 -2
  31. package/dist/agent/stream-handler.js.map +1 -1
  32. package/dist/agent/system-prompt.d.ts.map +1 -1
  33. package/dist/agent/system-prompt.js +15 -0
  34. package/dist/agent/system-prompt.js.map +1 -1
  35. package/dist/channels/interface.d.ts +10 -0
  36. package/dist/channels/interface.d.ts.map +1 -1
  37. package/dist/channels/manager.d.ts.map +1 -1
  38. package/dist/channels/manager.js +3 -0
  39. package/dist/channels/manager.js.map +1 -1
  40. package/dist/channels/telegram.d.ts.map +1 -1
  41. package/dist/channels/telegram.js +13 -0
  42. package/dist/channels/telegram.js.map +1 -1
  43. package/dist/config/index.d.ts +3 -2
  44. package/dist/config/index.d.ts.map +1 -1
  45. package/dist/config/index.js +31 -9
  46. package/dist/config/index.js.map +1 -1
  47. package/dist/config/types.d.ts +1 -0
  48. package/dist/config/types.d.ts.map +1 -1
  49. package/dist/config/types.js +1 -0
  50. package/dist/config/types.js.map +1 -1
  51. package/dist/obs/console/ui.js +2 -2
  52. package/dist/obs/server.d.ts.map +1 -1
  53. package/dist/obs/server.js +58 -1
  54. package/dist/obs/server.js.map +1 -1
  55. package/dist/obs/ui.d.ts.map +1 -1
  56. package/dist/obs/ui.js +143 -2
  57. package/dist/obs/ui.js.map +1 -1
  58. package/dist/onboarding/onboarding-session.d.ts.map +1 -1
  59. package/dist/onboarding/onboarding-session.js +2 -1
  60. package/dist/onboarding/onboarding-session.js.map +1 -1
  61. package/dist/onboarding/onboarding-tools.d.ts +1 -0
  62. package/dist/onboarding/onboarding-tools.d.ts.map +1 -1
  63. package/dist/onboarding/onboarding-tools.js +6 -0
  64. package/dist/onboarding/onboarding-tools.js.map +1 -1
  65. package/dist/onboarding/set-owner.d.ts.map +1 -1
  66. package/dist/onboarding/set-owner.js +1 -0
  67. package/dist/onboarding/set-owner.js.map +1 -1
  68. package/dist/onboarding/telegram-onboarding.d.ts.map +1 -1
  69. package/dist/onboarding/telegram-onboarding.js +1 -0
  70. package/dist/onboarding/telegram-onboarding.js.map +1 -1
  71. package/dist/tools/index.d.ts +3 -1
  72. package/dist/tools/index.d.ts.map +1 -1
  73. package/dist/tools/index.js +3 -1
  74. package/dist/tools/index.js.map +1 -1
  75. package/dist/tools/switch-session.d.ts.map +1 -1
  76. package/dist/tools/switch-session.js +12 -0
  77. package/dist/tools/switch-session.js.map +1 -1
  78. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"loop.js","sourceRoot":"","sources":["../../src/agent/loop.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"loop.js","sourceRoot":"","sources":["../../src/agent/loop.ts"],"names":[],"mappings":"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"}
@@ -16,7 +16,9 @@ export interface MailboxData {
16
16
  memos: MailboxMemo[];
17
17
  codingSession: CodingSessionInfo;
18
18
  }
19
- export declare function loadMailbox(): MailboxData;
19
+ export declare function loadMailbox(options?: {
20
+ preserveInFlight?: boolean;
21
+ }): MailboxData;
20
22
  export declare function saveMailbox(data: MailboxData): void;
21
23
  export declare function addMemo(from: SessionMode, to: SessionMode, content: string): void;
22
24
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"mailbox.d.ts","sourceRoot":"","sources":["../../src/agent/mailbox.ts"],"names":[],"mappings":"AAKA,MAAM,MAAM,WAAW,GAAG,SAAS,GAAG,QAAQ,CAAC;AAE/C,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,WAAW,CAAC;IAClB,EAAE,EAAE,WAAW,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,MAAM,WAAW,iBAAiB;IAChC,EAAE,EAAE,MAAM,GAAG,IAAI,CAAC;IAClB,MAAM,EAAE,MAAM,GAAG,aAAa,GAAG,QAAQ,GAAG,WAAW,CAAC;IACxD,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,WAAW;IAC1B,aAAa,EAAE,WAAW,CAAC;IAC3B,KAAK,EAAE,WAAW,EAAE,CAAC;IACrB,aAAa,EAAE,iBAAiB,CAAC;CAClC;AAoCD,wBAAgB,WAAW,IAAI,WAAW,CAazC;AAED,wBAAgB,WAAW,CAAC,IAAI,EAAE,WAAW,GAAG,IAAI,CAKnD;AAED,wBAAgB,OAAO,CAAC,IAAI,EAAE,WAAW,EAAE,EAAE,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI,CASjF;AAED;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE,WAAW,GAAG,WAAW,EAAE,CAalE;AAED;;;GAGG;AACH,wBAAgB,QAAQ,CAAC,MAAM,EAAE,WAAW,GAAG,IAAI,CAIlD;AAED,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,WAAW,GAAG,IAAI,CAIxD;AAED,wBAAgB,gBAAgB,IAAI,WAAW,CAE9C;AAED,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,OAAO,CAAC,iBAAiB,CAAC,GAAG,IAAI,CAI9E"}
1
+ {"version":3,"file":"mailbox.d.ts","sourceRoot":"","sources":["../../src/agent/mailbox.ts"],"names":[],"mappings":"AAKA,MAAM,MAAM,WAAW,GAAG,SAAS,GAAG,QAAQ,CAAC;AAE/C,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,WAAW,CAAC;IAClB,EAAE,EAAE,WAAW,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,MAAM,WAAW,iBAAiB;IAChC,EAAE,EAAE,MAAM,GAAG,IAAI,CAAC;IAClB,MAAM,EAAE,MAAM,GAAG,aAAa,GAAG,QAAQ,GAAG,WAAW,CAAC;IACxD,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,WAAW;IAC1B,aAAa,EAAE,WAAW,CAAC;IAC3B,KAAK,EAAE,WAAW,EAAE,CAAC;IACrB,aAAa,EAAE,iBAAiB,CAAC;CAClC;AAoCD,wBAAgB,WAAW,CAAC,OAAO,CAAC,EAAE;IAAE,gBAAgB,CAAC,EAAE,OAAO,CAAA;CAAE,GAAG,WAAW,CAejF;AAED,wBAAgB,WAAW,CAAC,IAAI,EAAE,WAAW,GAAG,IAAI,CAKnD;AAED,wBAAgB,OAAO,CAAC,IAAI,EAAE,WAAW,EAAE,EAAE,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI,CASjF;AAED;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE,WAAW,GAAG,WAAW,EAAE,CAalE;AAED;;;GAGG;AACH,wBAAgB,QAAQ,CAAC,MAAM,EAAE,WAAW,GAAG,IAAI,CAIlD;AAED,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,WAAW,GAAG,IAAI,CAIxD;AAED,wBAAgB,gBAAgB,IAAI,WAAW,CAE9C;AAED,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,OAAO,CAAC,iBAAiB,CAAC,GAAG,IAAI,CAI9E"}
@@ -31,15 +31,17 @@ const MailboxDataSchema = z.object({
31
31
  function getMailboxFile() {
32
32
  return path.join(getConfigDir(), "session-mailbox.json");
33
33
  }
34
- export function loadMailbox() {
34
+ export function loadMailbox(options) {
35
35
  const file = getMailboxFile();
36
36
  if (!fs.existsSync(file))
37
37
  return { ...DEFAULT_MAILBOX };
38
38
  try {
39
39
  const raw = JSON.parse(fs.readFileSync(file, "utf-8"));
40
40
  const data = MailboxDataSchema.parse(raw);
41
- for (const m of data.memos) {
42
- m.inFlight = false;
41
+ if (!options?.preserveInFlight) {
42
+ for (const m of data.memos) {
43
+ m.inFlight = false;
44
+ }
43
45
  }
44
46
  return data;
45
47
  }
@@ -89,7 +91,7 @@ export function consumeMemosFor(target) {
89
91
  * injected into the agent context. Removes them from the mailbox on disk.
90
92
  */
91
93
  export function ackMemos(target) {
92
- const data = loadMailbox();
94
+ const data = loadMailbox({ preserveInFlight: true });
93
95
  data.memos = data.memos.filter((m) => !(m.to === target && m.inFlight));
94
96
  saveMailbox(data);
95
97
  }
@@ -1 +1 @@
1
- {"version":3,"file":"mailbox.js","sourceRoot":"","sources":["../../src/agent/mailbox.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mailbox.js","sourceRoot":"","sources":["../../src/agent/mailbox.ts"],"names":[],"mappings":"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"}
@@ -19,6 +19,10 @@ export declare class SessionManager {
19
19
  private config;
20
20
  private buildBaseSystemPrompt;
21
21
  private mcpServers;
22
+ private _dualSessionEnabled;
23
+ /** Two pre-built tool server configs for hot-swapping. */
24
+ private toolServerWithDual;
25
+ private toolServerWithoutDual;
22
26
  private generalSession;
23
27
  private codingSession;
24
28
  private _activeMode;
@@ -26,7 +30,18 @@ export declare class SessionManager {
26
30
  /** Set after a switch_session tool call is detected in the stream. */
27
31
  private _pendingSwitch;
28
32
  private buildCodingSystemPrompt;
29
- constructor(config: VisionClawConfig, buildSystemPrompt: () => string, mcpServers: Record<string, McpServerConfig>);
33
+ constructor(config: VisionClawConfig, buildSystemPrompt: () => string, mcpServers: Record<string, McpServerConfig>, options: {
34
+ dualSessionEnabled: boolean;
35
+ toolServerWithDual: McpServerConfig;
36
+ toolServerWithoutDual: McpServerConfig;
37
+ });
38
+ get dualSessionEnabled(): boolean;
39
+ /**
40
+ * Toggle dual-session mode at runtime. Takes effect on the next wake cycle
41
+ * because the tool server reference in mcpServers is swapped immediately
42
+ * and `sendAndStream()` reads it fresh each time.
43
+ */
44
+ setDualSessionEnabled(enabled: boolean): void;
30
45
  get activeMode(): SessionMode;
31
46
  get activeSession(): AgentSession;
32
47
  get pendingSwitch(): SwitchRequest | null;
@@ -62,15 +77,9 @@ export declare class SessionManager {
62
77
  * Switches back to general mode.
63
78
  */
64
79
  endCodingSession(summary: string): void;
65
- /**
66
- * Proxy methods to the active session for compatibility with the existing loop.
67
- */
68
80
  requestStop(): void;
69
81
  clearStop(): void;
70
82
  isStopRequested(): boolean;
71
- /**
72
- * Get a summary of the coding session status for display in context.
73
- */
74
83
  getCodingSessionStatus(): string | null;
75
84
  }
76
85
  //# sourceMappingURL=session-manager.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"session-manager.d.ts","sourceRoot":"","sources":["../../src/agent/session-manager.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AACtE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAC3D,OAAO,EAAE,YAAY,EAA2B,MAAM,cAAc,CAAC;AAErE,OAAO,EACL,KAAK,WAAW,EAOjB,MAAM,cAAc,CAAC;AAGtB,MAAM,WAAW,aAAa;IAC5B,MAAM,EAAE,WAAW,CAAC;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,SAAS,GAAG,UAAU,CAAC;IAC/B,cAAc,EAAE,MAAM,CAAC;CACxB;AAoDD;;;;;;GAMG;AACH,qBAAa,cAAc;IACzB,OAAO,CAAC,MAAM,CAAmB;IACjC,OAAO,CAAC,qBAAqB,CAAe;IAC5C,OAAO,CAAC,UAAU,CAAkC;IAEpD,OAAO,CAAC,cAAc,CAAe;IACrC,OAAO,CAAC,aAAa,CAA6B;IAElD,OAAO,CAAC,WAAW,CAA0B;IAE7C,OAAO,CAAC,qBAAqB,CAAS;IAEtC,sEAAsE;IACtE,OAAO,CAAC,cAAc,CAA8B;IAEpD,OAAO,CAAC,uBAAuB;gBAS7B,MAAM,EAAE,gBAAgB,EACxB,iBAAiB,EAAE,MAAM,MAAM,EAC/B,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC;IA0B7C,IAAI,UAAU,IAAI,WAAW,CAE5B;IAED,IAAI,aAAa,IAAI,YAAY,CAKhC;IAED,IAAI,aAAa,IAAI,aAAa,GAAG,IAAI,CAExC;IAED;;;OAGG;IACH,gBAAgB,CAAC,GAAG,EAAE,aAAa,GAAG,IAAI;IAI1C;;;;;;OAMG;IACH,oBAAoB,IAAI;QAAE,MAAM,EAAE,WAAW,CAAC;QAAC,cAAc,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI;IAqC9E;;;;OAIG;IACH,qBAAqB,IAAI,MAAM,GAAG,IAAI;IAWtC;;;OAGG;IACH,iBAAiB,IAAI,IAAI;IAIzB;;;OAGG;IACH,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAUvC;;OAEG;IACH,WAAW,IAAI,IAAI;IAKnB,SAAS,IAAI,IAAI;IAKjB,eAAe,IAAI,OAAO;IAI1B;;OAEG;IACH,sBAAsB,IAAI,MAAM,GAAG,IAAI;CAQxC"}
1
+ {"version":3,"file":"session-manager.d.ts","sourceRoot":"","sources":["../../src/agent/session-manager.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AACtE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAC3D,OAAO,EAAE,YAAY,EAA2B,MAAM,cAAc,CAAC;AAErE,OAAO,EACL,KAAK,WAAW,EAOjB,MAAM,cAAc,CAAC;AAGtB,MAAM,WAAW,aAAa;IAC5B,MAAM,EAAE,WAAW,CAAC;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,SAAS,GAAG,UAAU,CAAC;IAC/B,cAAc,EAAE,MAAM,CAAC;CACxB;AAoDD;;;;;;GAMG;AACH,qBAAa,cAAc;IACzB,OAAO,CAAC,MAAM,CAAmB;IACjC,OAAO,CAAC,qBAAqB,CAAe;IAC5C,OAAO,CAAC,UAAU,CAAkC;IACpD,OAAO,CAAC,mBAAmB,CAAU;IAErC,0DAA0D;IAC1D,OAAO,CAAC,kBAAkB,CAAkB;IAC5C,OAAO,CAAC,qBAAqB,CAAkB;IAE/C,OAAO,CAAC,cAAc,CAAe;IACrC,OAAO,CAAC,aAAa,CAA6B;IAElD,OAAO,CAAC,WAAW,CAA0B;IAE7C,OAAO,CAAC,qBAAqB,CAAS;IAEtC,sEAAsE;IACtE,OAAO,CAAC,cAAc,CAA8B;IAEpD,OAAO,CAAC,uBAAuB;gBAS7B,MAAM,EAAE,gBAAgB,EACxB,iBAAiB,EAAE,MAAM,MAAM,EAC/B,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,EAC3C,OAAO,EAAE;QACP,kBAAkB,EAAE,OAAO,CAAC;QAC5B,kBAAkB,EAAE,eAAe,CAAC;QACpC,qBAAqB,EAAE,eAAe,CAAC;KACxC;IAyCH,IAAI,kBAAkB,IAAI,OAAO,CAEhC;IAED;;;;OAIG;IACH,qBAAqB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI;IAa7C,IAAI,UAAU,IAAI,WAAW,CAE5B;IAED,IAAI,aAAa,IAAI,YAAY,CAKhC;IAED,IAAI,aAAa,IAAI,aAAa,GAAG,IAAI,CAExC;IAED;;;OAGG;IACH,gBAAgB,CAAC,GAAG,EAAE,aAAa,GAAG,IAAI;IAI1C;;;;;;OAMG;IACH,oBAAoB,IAAI;QAAE,MAAM,EAAE,WAAW,CAAC;QAAC,cAAc,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI;IAuC9E;;;;OAIG;IACH,qBAAqB,IAAI,MAAM,GAAG,IAAI;IAatC;;;OAGG;IACH,iBAAiB,IAAI,IAAI;IAMzB;;;OAGG;IACH,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAUvC,WAAW,IAAI,IAAI;IAKnB,SAAS,IAAI,IAAI;IAKjB,eAAe,IAAI,OAAO;IAI1B,sBAAsB,IAAI,MAAM,GAAG,IAAI;CAUxC"}
@@ -61,6 +61,10 @@ export class SessionManager {
61
61
  config;
62
62
  buildBaseSystemPrompt;
63
63
  mcpServers;
64
+ _dualSessionEnabled;
65
+ /** Two pre-built tool server configs for hot-swapping. */
66
+ toolServerWithDual;
67
+ toolServerWithoutDual;
64
68
  generalSession;
65
69
  codingSession = null;
66
70
  _activeMode = "general";
@@ -74,15 +78,47 @@ export class SessionManager {
74
78
  append: buildCodingSessionAddendum(this.config),
75
79
  };
76
80
  }
77
- constructor(config, buildSystemPrompt, mcpServers) {
81
+ constructor(config, buildSystemPrompt, mcpServers, options) {
78
82
  this.config = config;
79
83
  this.buildBaseSystemPrompt = buildSystemPrompt;
80
- this.mcpServers = mcpServers;
81
- this.generalSession = new AgentSession(config, () => this.buildBaseSystemPrompt() + GENERAL_SESSION_ADDENDUM, mcpServers, "general");
82
- const mailbox = loadMailbox();
83
- this._activeMode = mailbox.activeSession;
84
- if (mailbox.codingSession.status === "in_progress" || mailbox.codingSession.status === "paused") {
85
- this.codingSession = new AgentSession(config, () => this.buildCodingSystemPrompt(), mcpServers, "coding");
84
+ this._dualSessionEnabled = options.dualSessionEnabled;
85
+ this.toolServerWithDual = options.toolServerWithDual;
86
+ this.toolServerWithoutDual = options.toolServerWithoutDual;
87
+ this.mcpServers = {
88
+ ...mcpServers,
89
+ visionclaw: this._dualSessionEnabled
90
+ ? this.toolServerWithDual
91
+ : this.toolServerWithoutDual,
92
+ };
93
+ const buildGeneralPrompt = this._dualSessionEnabled
94
+ ? () => this.buildBaseSystemPrompt() + GENERAL_SESSION_ADDENDUM
95
+ : () => this.buildBaseSystemPrompt();
96
+ this.generalSession = new AgentSession(config, buildGeneralPrompt, this.mcpServers, "general");
97
+ if (this._dualSessionEnabled) {
98
+ const mailbox = loadMailbox();
99
+ this._activeMode = mailbox.activeSession;
100
+ if (mailbox.codingSession.status === "in_progress" || mailbox.codingSession.status === "paused") {
101
+ this.codingSession = new AgentSession(config, () => this.buildCodingSystemPrompt(), this.mcpServers, "coding");
102
+ }
103
+ }
104
+ }
105
+ get dualSessionEnabled() {
106
+ return this._dualSessionEnabled;
107
+ }
108
+ /**
109
+ * Toggle dual-session mode at runtime. Takes effect on the next wake cycle
110
+ * because the tool server reference in mcpServers is swapped immediately
111
+ * and `sendAndStream()` reads it fresh each time.
112
+ */
113
+ setDualSessionEnabled(enabled) {
114
+ this._dualSessionEnabled = enabled;
115
+ this.mcpServers.visionclaw = enabled
116
+ ? this.toolServerWithDual
117
+ : this.toolServerWithoutDual;
118
+ if (!enabled && this._activeMode === "coding") {
119
+ this._activeMode = "general";
120
+ setActiveSession("general");
121
+ logger.system("Dual session disabled — forced switch to general");
86
122
  }
87
123
  }
88
124
  get activeMode() {
@@ -112,6 +148,8 @@ export class SessionManager {
112
148
  * Returns the forwarded message content to send to the new session.
113
149
  */
114
150
  executePendingSwitch() {
151
+ if (!this._dualSessionEnabled)
152
+ return null;
115
153
  const req = this._pendingSwitch;
116
154
  if (!req)
117
155
  return null;
@@ -146,6 +184,8 @@ export class SessionManager {
146
184
  * the memos can be prepended to the context.
147
185
  */
148
186
  consumeMemosForActive() {
187
+ if (!this._dualSessionEnabled)
188
+ return null;
149
189
  const memos = consumeMemosFor(this._activeMode);
150
190
  if (memos.length === 0)
151
191
  return null;
@@ -160,6 +200,8 @@ export class SessionManager {
160
200
  * successfully injected. Removes them from the mailbox on disk.
161
201
  */
162
202
  ackMemosForActive() {
203
+ if (!this._dualSessionEnabled)
204
+ return;
163
205
  ackMemos(this._activeMode);
164
206
  }
165
207
  /**
@@ -175,9 +217,6 @@ export class SessionManager {
175
217
  logger.system("Coding session ended, switched to general");
176
218
  }
177
219
  }
178
- /**
179
- * Proxy methods to the active session for compatibility with the existing loop.
180
- */
181
220
  requestStop() {
182
221
  this._managerStopRequested = true;
183
222
  this.activeSession.requestStop();
@@ -189,10 +228,9 @@ export class SessionManager {
189
228
  isStopRequested() {
190
229
  return this._managerStopRequested || this.activeSession.isStopRequested();
191
230
  }
192
- /**
193
- * Get a summary of the coding session status for display in context.
194
- */
195
231
  getCodingSessionStatus() {
232
+ if (!this._dualSessionEnabled)
233
+ return null;
196
234
  const mailbox = loadMailbox();
197
235
  const cs = mailbox.codingSession;
198
236
  if (!cs.taskSummary)
@@ -1 +1 @@
1
- {"version":3,"file":"session-manager.js","sourceRoot":"","sources":["../../src/agent/session-manager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"session-manager.js","sourceRoot":"","sources":["../../src/agent/session-manager.ts"],"names":[],"mappings":"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"}
@@ -1,8 +1,8 @@
1
1
  import { type Query, type SDKMessage, type SDKUserMessage, type McpServerConfig } from "@anthropic-ai/claude-agent-sdk";
2
2
  import type { VisionClawConfig } from "../config/types.js";
3
+ import type { SessionMode } from "./mailbox.js";
3
4
  export type { SDKMessage, SDKUserMessage };
4
5
  export declare const COMPACT_USED_PCT_THRESHOLD = 0.8;
5
- export declare const COMPACT_USED_PCT_THRESHOLD_BEDROCK = 0.3;
6
6
  export declare const MAX_BASE64_IMAGE_BLOCKS = 10;
7
7
  /**
8
8
  * Wraps the V1 query() API with a long-lived async generator for streaming
@@ -10,6 +10,11 @@ export declare const MAX_BASE64_IMAGE_BLOCKS = 10;
10
10
  * processing (interrupt messages), instead of waiting for the query to
11
11
  * finish before sending the next message.
12
12
  */
13
+ export type SystemPromptConfig = string | {
14
+ type: "preset";
15
+ preset: "claude_code";
16
+ append?: string;
17
+ };
13
18
  export declare class AgentSession {
14
19
  private config;
15
20
  private buildSystemPrompt;
@@ -17,6 +22,7 @@ export declare class AgentSession {
17
22
  private currentQuery;
18
23
  private sessionId;
19
24
  private transcriptPath;
25
+ readonly mode: SessionMode;
20
26
  /**
21
27
  * Pending message queue for the long-lived generator.
22
28
  * When a message is injected, it's pushed here and the waiting
@@ -25,13 +31,14 @@ export declare class AgentSession {
25
31
  private pendingMessages;
26
32
  private messageResolver;
27
33
  private generatorClosed;
34
+ private _orphanedInjections;
28
35
  private lastCompactRequestAtMs;
29
36
  private compactInFlight;
30
37
  private stopRequested;
31
38
  /** AbortController passed to the SDK; aborting it cleanly stops the running query. */
32
39
  private abortController;
33
40
  private lastUsageSnapshot;
34
- constructor(config: VisionClawConfig, buildSystemPrompt: () => string, mcpServers: Record<string, McpServerConfig>);
41
+ constructor(config: VisionClawConfig, buildSystemPrompt: () => SystemPromptConfig, mcpServers: Record<string, McpServerConfig>, mode?: SessionMode);
35
42
  /**
36
43
  * Send the initial user message and return the query generator to stream
37
44
  * responses. The underlying async generator stays open so that additional
@@ -43,13 +50,20 @@ export declare class AgentSession {
43
50
  * The agent will see this as a follow-up user message in the conversation.
44
51
  * Only works while a query is active (between sendAndStream and closeInput).
45
52
  *
46
- * @returns true if the message was injected, false if the generator is already closed.
53
+ * @returns true if the message was injected, false if the generator is closed.
47
54
  */
48
55
  injectMessage(content: SDKUserMessage["message"]["content"]): boolean;
49
56
  /**
50
57
  * Signal the input generator to close.
58
+ * Any injected messages still in the pending queue are counted as
59
+ * orphaned — they were accepted by injectMessage but never delivered
60
+ * to the SDK.
51
61
  */
52
62
  closeInput(): void;
63
+ /**
64
+ * Returns true if injected messages were lost when the generator closed.
65
+ */
66
+ get hasOrphanedInjections(): boolean;
53
67
  /**
54
68
  * Request that the current agent turn be stopped.
55
69
  * Uses the SDK's AbortController to cleanly signal the running query to
@@ -81,9 +95,7 @@ export declare class AgentSession {
81
95
  usedPctThreshold?: number;
82
96
  cooldownMs?: number;
83
97
  maxSnapshotAgeMs?: number;
84
- onBeforeCompact?: () => void | Promise<void>;
85
- onAfterCompact?: () => void | Promise<void>;
86
- }): Promise<boolean>;
98
+ }): Promise<void>;
87
99
  getTranscriptPath(): string | null;
88
100
  }
89
101
  //# sourceMappingURL=session.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../../src/agent/session.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,KAAK,EACV,KAAK,UAAU,EACf,KAAK,cAAc,EACnB,KAAK,eAAe,EAIrB,MAAM,gCAAgC,CAAC;AAGxC,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAc3D,YAAY,EAAE,UAAU,EAAE,cAAc,EAAE,CAAC;AAE3C,eAAO,MAAM,0BAA0B,MAAM,CAAC;AAC9C,eAAO,MAAM,kCAAkC,MAAM,CAAC;AACtD,eAAO,MAAM,uBAAuB,KAAK,CAAC;AAE1C;;;;;GAKG;AACH,qBAAa,YAAY;IACvB,OAAO,CAAC,MAAM,CAAmB;IACjC,OAAO,CAAC,iBAAiB,CAAe;IACxC,OAAO,CAAC,UAAU,CAAkC;IACpD,OAAO,CAAC,YAAY,CAAsB;IAC1C,OAAO,CAAC,SAAS,CAAgB;IACjC,OAAO,CAAC,cAAc,CAAuB;IAE7C;;;;OAIG;IACH,OAAO,CAAC,eAAe,CAAwB;IAC/C,OAAO,CAAC,eAAe,CAA6B;IACpD,OAAO,CAAC,eAAe,CAAQ;IAE/B,OAAO,CAAC,sBAAsB,CAAK;IAEnC,OAAO,CAAC,eAAe,CAAS;IAEhC,OAAO,CAAC,aAAa,CAAS;IAE9B,sFAAsF;IACtF,OAAO,CAAC,eAAe,CAAgC;IAEvD,OAAO,CAAC,iBAAiB,CAOT;gBAGd,MAAM,EAAE,gBAAgB,EACxB,iBAAiB,EAAE,MAAM,MAAM,EAC/B,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC;IAa7C;;;;OAIG;IACH,aAAa,CAAC,OAAO,EAAE,cAAc,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,GAAG,KAAK;IA4LnE;;;;;;OAMG;IACH,aAAa,CAAC,OAAO,EAAE,cAAc,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,GAAG,OAAO;IAwBrE;;OAEG;IACH,UAAU,IAAI,IAAI;IAQlB;;;;OAIG;IACH,WAAW,IAAI,IAAI;IAWnB,eAAe,IAAI,OAAO;IAI1B,SAAS,IAAI,IAAI;IAKjB;;OAEG;IACH,gBAAgB,CAAC,EAAE,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI;IAQ9C,qBAAqB,CAAC,CAAC,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,GAAG,IAAI;IAMzD,YAAY,IAAI,MAAM,GAAG,IAAI;IAI7B;;;;;;OAMG;IACG,iBAAiB,IAAI,OAAO,CAAC,IAAI,CAAC;IAuExC,oBAAoB,CAAC,QAAQ,EAAE;QAC7B,eAAe,EAAE,MAAM,CAAC;QACxB,aAAa,EAAE,MAAM,CAAC;QACtB,OAAO,EAAE,MAAM,CAAC;KACjB,GAAG,IAAI;IAWF,oBAAoB,CAAC,OAAO,CAAC,EAAE;QACnC,gBAAgB,CAAC,EAAE,MAAM,CAAC;QAC1B,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,gBAAgB,CAAC,EAAE,MAAM,CAAC;QAC1B,eAAe,CAAC,EAAE,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;QAC7C,cAAc,CAAC,EAAE,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;KAC7C,GAAG,OAAO,CAAC,OAAO,CAAC;IA8DpB,iBAAiB,IAAI,MAAM,GAAG,IAAI;CAGnC"}
1
+ {"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../../src/agent/session.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,KAAK,EACV,KAAK,UAAU,EACf,KAAK,cAAc,EACnB,KAAK,eAAe,EAIrB,MAAM,gCAAgC,CAAC;AAGxC,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAC3D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAchD,YAAY,EAAE,UAAU,EAAE,cAAc,EAAE,CAAC;AAE3C,eAAO,MAAM,0BAA0B,MAAM,CAAC;AAC9C,eAAO,MAAM,uBAAuB,KAAK,CAAC;AAE1C;;;;;GAKG;AACH,MAAM,MAAM,kBAAkB,GAC1B,MAAM,GACN;IAAE,IAAI,EAAE,QAAQ,CAAC;IAAC,MAAM,EAAE,aAAa,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;AAE/D,qBAAa,YAAY;IACvB,OAAO,CAAC,MAAM,CAAmB;IACjC,OAAO,CAAC,iBAAiB,CAA2B;IACpD,OAAO,CAAC,UAAU,CAAkC;IACpD,OAAO,CAAC,YAAY,CAAsB;IAC1C,OAAO,CAAC,SAAS,CAAgB;IACjC,OAAO,CAAC,cAAc,CAAuB;IAC7C,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAC;IAE3B;;;;OAIG;IACH,OAAO,CAAC,eAAe,CAAwB;IAC/C,OAAO,CAAC,eAAe,CAA6B;IACpD,OAAO,CAAC,eAAe,CAAQ;IAC/B,OAAO,CAAC,mBAAmB,CAAK;IAEhC,OAAO,CAAC,sBAAsB,CAAK;IAEnC,OAAO,CAAC,eAAe,CAAS;IAEhC,OAAO,CAAC,aAAa,CAAS;IAE9B,sFAAsF;IACtF,OAAO,CAAC,eAAe,CAAgC;IAEvD,OAAO,CAAC,iBAAiB,CAOT;gBAGd,MAAM,EAAE,gBAAgB,EACxB,iBAAiB,EAAE,MAAM,kBAAkB,EAC3C,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,EAC3C,IAAI,GAAE,WAAuB;IAS/B;;;;OAIG;IACH,aAAa,CAAC,OAAO,EAAE,cAAc,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,GAAG,KAAK;IA6LnE;;;;;;OAMG;IACH,aAAa,CAAC,OAAO,EAAE,cAAc,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,GAAG,OAAO;IAwBrE;;;;;OAKG;IACH,UAAU,IAAI,IAAI;IAalB;;OAEG;IACH,IAAI,qBAAqB,IAAI,OAAO,CAEnC;IAED;;;;OAIG;IACH,WAAW,IAAI,IAAI;IAWnB,eAAe,IAAI,OAAO;IAI1B,SAAS,IAAI,IAAI;IAKjB;;OAEG;IACH,gBAAgB,CAAC,EAAE,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI;IAO9C,qBAAqB,CAAC,CAAC,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,GAAG,IAAI;IAMzD,YAAY,IAAI,MAAM,GAAG,IAAI;IAI7B;;;;;;OAMG;IACG,iBAAiB,IAAI,OAAO,CAAC,IAAI,CAAC;IAuExC,oBAAoB,CAAC,QAAQ,EAAE;QAC7B,eAAe,EAAE,MAAM,CAAC;QACxB,aAAa,EAAE,MAAM,CAAC;QACtB,OAAO,EAAE,MAAM,CAAC;KACjB,GAAG,IAAI;IAOF,oBAAoB,CAAC,OAAO,CAAC,EAAE;QACnC,gBAAgB,CAAC,EAAE,MAAM,CAAC;QAC1B,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,gBAAgB,CAAC,EAAE,MAAM,CAAC;KAC3B,GAAG,OAAO,CAAC,IAAI,CAAC;IA0DjB,iBAAiB,IAAI,MAAM,GAAG,IAAI;CAGnC"}
@@ -1,5 +1,5 @@
1
1
  import { query, } from "@anthropic-ai/claude-agent-sdk";
2
- import { loadSessionId, saveSessionId, loadUsageSnapshot, getConfigDir } from "../config/index.js";
2
+ import { loadSessionId, saveSessionId, getConfigDir } from "../config/index.js";
3
3
  import { logger } from "../logger.js";
4
4
  import { buildAgentEnv, getModelId } from "./client-factory.js";
5
5
  import { createRequire } from "module";
@@ -8,14 +8,7 @@ import fs from "fs";
8
8
  import * as imagePrunerUnTyped from "./image-pruner.js";
9
9
  const imagePruner = imagePrunerUnTyped;
10
10
  export const COMPACT_USED_PCT_THRESHOLD = 0.8;
11
- export const COMPACT_USED_PCT_THRESHOLD_BEDROCK = 0.3;
12
11
  export const MAX_BASE64_IMAGE_BLOCKS = 10;
13
- /**
14
- * Wraps the V1 query() API with a long-lived async generator for streaming
15
- * input. This allows injecting additional user messages while the agent is
16
- * processing (interrupt messages), instead of waiting for the query to
17
- * finish before sending the next message.
18
- */
19
12
  export class AgentSession {
20
13
  config;
21
14
  buildSystemPrompt;
@@ -23,6 +16,7 @@ export class AgentSession {
23
16
  currentQuery = null;
24
17
  sessionId;
25
18
  transcriptPath = null;
19
+ mode;
26
20
  /**
27
21
  * Pending message queue for the long-lived generator.
28
22
  * When a message is injected, it's pushed here and the waiting
@@ -31,21 +25,19 @@ export class AgentSession {
31
25
  pendingMessages = [];
32
26
  messageResolver = null;
33
27
  generatorClosed = true;
28
+ _orphanedInjections = 0;
34
29
  lastCompactRequestAtMs = 0;
35
30
  compactInFlight = false;
36
31
  stopRequested = false;
37
32
  /** AbortController passed to the SDK; aborting it cleanly stops the running query. */
38
33
  abortController = null;
39
34
  lastUsageSnapshot = null;
40
- constructor(config, buildSystemPrompt, mcpServers) {
35
+ constructor(config, buildSystemPrompt, mcpServers, mode = "general") {
41
36
  this.config = config;
42
37
  this.buildSystemPrompt = buildSystemPrompt;
43
38
  this.mcpServers = mcpServers;
44
- this.sessionId = loadSessionId();
45
- const persisted = loadUsageSnapshot();
46
- if (persisted && this.sessionId) {
47
- this.lastUsageSnapshot = { ...persisted, capturedAtMs: Date.now() };
48
- }
39
+ this.mode = mode;
40
+ this.sessionId = loadSessionId(mode);
49
41
  }
50
42
  /**
51
43
  * Send the initial user message and return the query generator to stream
@@ -177,6 +169,7 @@ export class AgentSession {
177
169
  };
178
170
  this.pendingMessages = [initialMessage];
179
171
  this.generatorClosed = false;
172
+ this._orphanedInjections = 0;
180
173
  const abortController = new AbortController();
181
174
  this.abortController = abortController;
182
175
  // Create a long-lived async generator that yields the initial message
@@ -226,7 +219,7 @@ export class AgentSession {
226
219
  * The agent will see this as a follow-up user message in the conversation.
227
220
  * Only works while a query is active (between sendAndStream and closeInput).
228
221
  *
229
- * @returns true if the message was injected, false if the generator is already closed.
222
+ * @returns true if the message was injected, false if the generator is closed.
230
223
  */
231
224
  injectMessage(content) {
232
225
  const msg = {
@@ -250,14 +243,28 @@ export class AgentSession {
250
243
  }
251
244
  /**
252
245
  * Signal the input generator to close.
246
+ * Any injected messages still in the pending queue are counted as
247
+ * orphaned — they were accepted by injectMessage but never delivered
248
+ * to the SDK.
253
249
  */
254
250
  closeInput() {
251
+ this._orphanedInjections = this.pendingMessages.length;
252
+ if (this._orphanedInjections > 0) {
253
+ logger.warn(`closeInput: ${this._orphanedInjections} injected message(s) orphaned`);
254
+ }
255
+ this.pendingMessages = [];
255
256
  this.generatorClosed = true;
256
257
  if (this.messageResolver) {
257
258
  this.messageResolver();
258
259
  this.messageResolver = null;
259
260
  }
260
261
  }
262
+ /**
263
+ * Returns true if injected messages were lost when the generator closed.
264
+ */
265
+ get hasOrphanedInjections() {
266
+ return this._orphanedInjections > 0;
267
+ }
261
268
  /**
262
269
  * Request that the current agent turn be stopped.
263
270
  * Uses the SDK's AbortController to cleanly signal the running query to
@@ -284,8 +291,7 @@ export class AgentSession {
284
291
  captureSessionId(id) {
285
292
  if (id) {
286
293
  this.sessionId = id;
287
- const snap = this.lastUsageSnapshot;
288
- saveSessionId(id, snap ? { usedInputTokens: snap.usedInputTokens, contextWindow: snap.contextWindow, usedPct: snap.usedPct } : undefined);
294
+ saveSessionId(id, this.mode);
289
295
  }
290
296
  }
291
297
  captureTranscriptPath(p) {
@@ -361,46 +367,39 @@ export class AgentSession {
361
367
  ...snapshot,
362
368
  capturedAtMs: Date.now(),
363
369
  };
364
- if (this.sessionId) {
365
- saveSessionId(this.sessionId, snapshot);
366
- }
367
370
  }
368
371
  async maybeCompactByTokens(options) {
369
- const usedPctThreshold = options?.usedPctThreshold ?? this.config.provider === "bedrock" ? COMPACT_USED_PCT_THRESHOLD_BEDROCK : COMPACT_USED_PCT_THRESHOLD;
372
+ const usedPctThreshold = options?.usedPctThreshold ?? COMPACT_USED_PCT_THRESHOLD;
370
373
  const cooldownMs = options?.cooldownMs ?? 10 * 60 * 1000;
371
374
  const maxSnapshotAgeMs = options?.maxSnapshotAgeMs ?? 10 * 60 * 1000;
372
375
  const snap = this.lastUsageSnapshot;
373
376
  if (!snap) {
374
377
  logger.debug("[compact] skip: no usage snapshot yet");
375
- return false;
378
+ return;
376
379
  }
377
380
  const nowMs = Date.now();
378
381
  const snapshotAgeMs = nowMs - snap.capturedAtMs;
379
382
  if (snapshotAgeMs > maxSnapshotAgeMs) {
380
383
  logger.debug(`[compact] skip: stale snapshot age=${snapshotAgeMs}ms maxAge=${maxSnapshotAgeMs}ms (usedPct=${(snap.usedPct * 100).toFixed(1)}%)`);
381
- return false;
384
+ return;
382
385
  }
383
386
  const sinceLastCompactMs = nowMs - this.lastCompactRequestAtMs;
384
387
  if (sinceLastCompactMs <= cooldownMs) {
385
388
  logger.debug(`[compact] skip: cooldown active sinceLast=${sinceLastCompactMs}ms cooldown=${cooldownMs}ms (usedPct=${(snap.usedPct * 100).toFixed(1)}%)`);
386
- return false;
389
+ return;
387
390
  }
388
391
  if (this.compactInFlight) {
389
392
  logger.debug("[compact] skip: compaction already in flight");
390
- return false;
393
+ return;
391
394
  }
392
395
  logger.debug(`[compact] check: usedPct=${(snap.usedPct * 100).toFixed(1)}% threshold=${(usedPctThreshold * 100).toFixed(1)}% used=${snap.usedInputTokens} window=${snap.contextWindow} snapshotAge=${snapshotAgeMs}ms`);
393
396
  if (snap.contextWindow > 0 && snap.usedPct >= usedPctThreshold) {
394
397
  this.lastCompactRequestAtMs = nowMs;
395
398
  logger.system(`Context usage ${(snap.usedPct * 100).toFixed(1)}% (used=${snap.usedInputTokens}, window=${snap.contextWindow}); requesting /compact`);
396
- await options?.onBeforeCompact?.();
397
399
  await this.requestCompaction();
398
- await options?.onAfterCompact?.();
399
- return true;
400
400
  }
401
401
  else {
402
402
  logger.debug(`[compact] skip: under threshold (usedPct=${(snap.usedPct * 100).toFixed(1)}% threshold=${(usedPctThreshold * 100).toFixed(1)}%)`);
403
- return false;
404
403
  }
405
404
  }
406
405
  getTranscriptPath() {