visionclaw 0.1.37 → 0.1.39

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.
package/CHANGELOG.md CHANGED
@@ -1,3 +1,21 @@
1
+ ## [0.1.39](https://github.com/babelcloud/visionclaw/compare/v0.1.38...v0.1.39) (2026-02-26)
2
+
3
+
4
+ ### Features
5
+
6
+ * enhance agent session management with usage snapshot support ([e2bd12b](https://github.com/babelcloud/visionclaw/commit/e2bd12b01f0d939dff04e2c01c78d7da4e57cfda))
7
+
8
+
9
+
10
+ ## [0.1.38](https://github.com/babelcloud/visionclaw/compare/v0.1.37...v0.1.38) (2026-02-25)
11
+
12
+
13
+ ### Features
14
+
15
+ * add conditional betas configuration for Bedrock provider ([eb817a2](https://github.com/babelcloud/visionclaw/commit/eb817a22a8008106043634d61b9818910bf0dc04))
16
+
17
+
18
+
1
19
  ## [0.1.37](https://github.com/babelcloud/visionclaw/compare/v0.1.36...v0.1.37) (2026-02-25)
2
20
 
3
21
 
@@ -1 +1 @@
1
- {"version":3,"file":"loop.d.ts","sourceRoot":"","sources":["../../src/agent/loop.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAoB3D,YAAY,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAC7C,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAE3C;;GAEG;AACH,wBAAsB,cAAc,CAClC,MAAM,EAAE,gBAAgB,GACvB,OAAO,CAAC,IAAI,CAAC,CA+Pf"}
1
+ {"version":3,"file":"loop.d.ts","sourceRoot":"","sources":["../../src/agent/loop.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAoB3D,YAAY,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAC7C,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAE3C;;GAEG;AACH,wBAAsB,cAAc,CAClC,MAAM,EAAE,gBAAgB,GACvB,OAAO,CAAC,IAAI,CAAC,CAkRf"}
@@ -148,6 +148,24 @@ export async function startAgentLoop(config) {
148
148
  activityTracker.clear();
149
149
  if (firstIteration) {
150
150
  firstIteration = false;
151
+ // Give channels time to fetch pending messages (e.g. Telegram long-poll)
152
+ // before firing the initial heartbeat. Without this, messages sent while
153
+ // the server was offline would be missed on the first wake cycle.
154
+ const CHANNEL_SETTLE_MS = 3000;
155
+ await new Promise((resolve) => {
156
+ wakeResolver = resolve;
157
+ const timer = setTimeout(() => {
158
+ if (wakeResolver === resolve) {
159
+ wakeResolver = null;
160
+ resolve();
161
+ }
162
+ }, CHANNEL_SETTLE_MS);
163
+ if (!messageQueue.isEmpty()) {
164
+ clearTimeout(timer);
165
+ wakeResolver = null;
166
+ resolve();
167
+ }
168
+ });
151
169
  }
152
170
  else {
153
171
  await new Promise((resolve) => {
@@ -1 +1 @@
1
- {"version":3,"file":"loop.js","sourceRoot":"","sources":["../../src/agent/loop.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAC5C,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAChD,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACpD,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AACxD,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAC/D,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AACtE,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAEtC,OAAO,EAAmB,cAAc,EAAE,MAAM,YAAY,CAAC;AAC7D,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAIxD,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAE3C;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc,CAClC,MAAwB;IAExB,MAAM,YAAY,GAAG,IAAI,YAAY,EAAE,CAAC;IACxC,MAAM,cAAc,GAAG,IAAI,cAAc,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;IAChE,MAAM,eAAe,GAAG,IAAI,eAAe,EAAE,CAAC;IAE9C,MAAM,cAAc,CAAC,QAAQ,EAAE,CAAC;IAEhC,0BAA0B;IAC1B,IAAI,MAAM,iBAAiB,CAAC,MAAM,EAAE,cAAc,EAAE,YAAY,CAAC,EAAE,CAAC;QAClE,OAAO;IACT,CAAC;IAED,iDAAiD;IACjD,MAAM,WAAW,GAAG,eAAe,EAAE,CAAC;IAEtC,IAAI,WAAW,CAAC,sBAAsB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAClD,cAAc,CAAC,yBAAyB,CAAC,WAAW,CAAC,sBAAsB,CAAC,CAAC;IAC/E,CAAC;IACD,IAAI,WAAW,CAAC,wBAAwB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACpD,cAAc,CAAC,2BAA2B,CAAC,WAAW,CAAC,wBAAwB,CAAC,CAAC;IACnF,CAAC;IAED,IAAI,kBAAkB,GAAe,GAAG,EAAE,GAAiD,CAAC,CAAC;IAE7F,MAAM,UAAU,GAAe;QAC7B,MAAM;QACN,WAAW;QACX,cAAc;QACd,YAAY;QACZ,eAAe;QACf,IAAI,EAAE,KAAK;QACX,aAAa,EAAE,KAAK;QACpB,WAAW,EAAE,GAAG,EAAE;YAChB,UAAU,CAAC,aAAa,GAAG,IAAI,CAAC;YAChC,kBAAkB,EAAE,CAAC;QACvB,CAAC;KACF,CAAC;IAEF,cAAc,CAAC,UAAU,CAAC,CAAC;IAE3B,MAAM,CAAC,MAAM,CAAC,UAAU,WAAW,CAAC,SAAS,KAAK,MAAM,CAAC,KAAK,GAAG,CAAC,CAAC;IACnE,MAAM,CAAC,MAAM,CAAC,UAAU,WAAW,CAAC,SAAS,KAAK,WAAW,CAAC,UAAU,GAAG,CAAC,CAAC;IAC7E,MAAM,CAAC,MAAM,CAAC,uBAAuB,WAAW,CAAC,mBAAmB,GAAG,IAAI,GAAG,CAAC,CAAC;IAChF,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;IAElB,wCAAwC;IACxC,MAAM,UAAU,GAAG,gBAAgB,EAAE,CAAC;IAEtC,MAAM,UAAU,GAAoC;QAClD,UAAU,EAAE,UAAU;QACtB,UAAU,EAAE;YACV,OAAO,EAAE,KAAK;YACd,IAAI,EAAE;gBACJ,wBAAwB;gBACxB,gBAAgB;gBAChB,OAAO,CAAC,GAAG,CAAC,2BAA2B,IAAI,uBAAuB;aACnE;SACF;KACF,CAAC;IAEF,IAAI,MAAM,CAAC,QAAQ,KAAK,SAAS,IAAI,MAAM,CAAC,UAAU,EAAE,CAAC;QACvD,UAAU,CAAC,OAAO,GAAG;YACnB,IAAI,EAAE,MAAe;YACrB,GAAG,EAAE,2BAA2B,MAAM,CAAC,UAAU,MAAM;SACxD,CAAC;IACJ,CAAC;IAED,MAAM,OAAO,GAAG,IAAI,YAAY,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,iBAAiB,CAAC,MAAM,EAAE,WAAW,CAAC,EAAE,UAAU,CAAC,CAAC;IAEnG,kBAAkB,GAAG,GAAG,EAAE,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC;IAEjD,6BAA6B;IAC7B,IAAI,YAAY,GAAwB,IAAI,CAAC;IAE7C,MAAM,gBAAgB,GAAG,IAAI,gBAAgB,CAAC;QAC5C,OAAO;QACP,MAAM;QACN,WAAW;QACX,cAAc;QACd,YAAY;QACZ,eAAe;QACf,aAAa,EAAE,GAAG,EAAE,CAAC,UAAU;KAChC,CAAC,CAAC;IAEH,cAAc,CAAC,EAAE,CAAC,SAAS,EAAE,GAAG,EAAE;QAChC,IAAI,YAAY,KAAK,IAAI,EAAE,CAAC;YAC1B,YAAY,EAAE,CAAC;YACf,YAAY,GAAG,IAAI,CAAC;YACpB,OAAO;QACT,CAAC;QACD,IAAI,UAAU,CAAC,IAAI,EAAE,CAAC;YACpB,gBAAgB,CAAC,QAAQ,EAAE,CAAC;QAC9B,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,mCAAmC;IACnC,cAAc,CAAC,EAAE,CAAC,cAAc,EAAE,CAAC,GAAgB,EAAE,EAAE;QACrD,IAAI,UAAU,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,aAAa,EAAE,CAAC;YACjD,UAAU,CAAC,WAAW,EAAE,CAAC;YACzB,MAAM,CAAC,MAAM,CAAC,4BAA4B,GAAG,CAAC,OAAO,OAAO,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC;YAC1E,cAAc;iBACX,WAAW,CAAC,GAAG,CAAC,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,oEAAoE,CAAC;iBAC1G,KAAK,CAAC,CAAC,GAAY,EAAE,EAAE;gBACtB,MAAM,CAAC,IAAI,CAAC,qCAAqC,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YACvG,CAAC,CAAC,CAAC;QACP,CAAC;aAAM,CAAC;YACN,cAAc;iBACX,WAAW,CAAC,GAAG,CAAC,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,qCAAqC,CAAC;iBAC3E,KAAK,CAAC,CAAC,GAAY,EAAE,EAAE;gBACtB,MAAM,CAAC,IAAI,CAAC,8BAA8B,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YAChG,CAAC,CAAC,CAAC;QACP,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,cAAc,CAAC,EAAE,CAAC,eAAe,EAAE,CAAC,GAAiB,EAAE,EAAE;QACvD,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC;QACzD,MAAM,KAAK,GAAG,WAAW,CAAC,mBAAmB,CAAC;QAC9C,WAAW,CAAC,mBAAmB,GAAG,OAAO,GAAG,EAAE,GAAG,IAAI,CAAC;QACtD,eAAe,CAAC,WAAW,CAAC,CAAC;QAC7B,MAAM,CAAC,MAAM,CAAC,+BAA+B,KAAK,GAAG,KAAK,QAAQ,OAAO,QAAQ,GAAG,CAAC,MAAM,QAAQ,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;QAClH,cAAc;aACX,WAAW,CAAC,GAAG,CAAC,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,+BAA+B,KAAK,GAAG,KAAK,QAAQ,OAAO,IAAI,CAAC;aACrG,KAAK,CAAC,CAAC,GAAY,EAAE,EAAE;YACtB,MAAM,CAAC,IAAI,CAAC,sCAAsC,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACxG,CAAC,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;IAEH,cAAc,CAAC,EAAE,CAAC,iBAAiB,EAAE,CAAC,GAAmB,EAAE,EAAE;QAC3D,MAAM,GAAG,GAAG,UAAU,CAAC,UAAU,CAAC;QAClC,MAAM,KAAK,GAAG,GAAG;YACf,CAAC,CAAC,GAAG,GAAG,UAAU;YAClB,CAAC,CAAC,kEAAkE,CAAC;QACvE,cAAc;aACX,WAAW,CAAC,GAAG,CAAC,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,KAAK,CAAC;aAC3C,KAAK,CAAC,CAAC,GAAY,EAAE,EAAE;YACtB,MAAM,CAAC,IAAI,CAAC,+BAA+B,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACjG,CAAC,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;IAEH,MAAM,CAAC,MAAM,CAAC,0DAA0D,CAAC,CAAC;IAE1E,oBAAoB;IACpB,IAAI,cAAc,GAAG,IAAI,CAAC;IAC1B,oGAAoG;IACpG,OAAO,IAAI,EAAE,CAAC;QACZ,UAAU,CAAC,IAAI,GAAG,KAAK,CAAC;QACxB,UAAU,CAAC,aAAa,GAAG,KAAK,CAAC;QACjC,OAAO,CAAC,SAAS,EAAE,CAAC;QACpB,eAAe,CAAC,KAAK,EAAE,CAAC;QAExB,IAAI,cAAc,EAAE,CAAC;YACnB,cAAc,GAAG,KAAK,CAAC;QACzB,CAAC;aAAM,CAAC;YACN,MAAM,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE;gBAClC,YAAY,GAAG,OAAO,CAAC;gBACvB,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE;oBAC5B,IAAI,YAAY,KAAK,OAAO,EAAE,CAAC;wBAC7B,YAAY,GAAG,IAAI,CAAC;wBACpB,OAAO,EAAE,CAAC;oBACZ,CAAC;gBACH,CAAC,EAAE,WAAW,CAAC,mBAAmB,CAAC,CAAC;gBAEpC,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,EAAE,CAAC;oBAC5B,YAAY,CAAC,KAAK,CAAC,CAAC;oBACpB,YAAY,GAAG,IAAI,CAAC;oBACpB,OAAO,EAAE,CAAC;gBACZ,CAAC;YACH,CAAC,CAAC,CAAC;QACL,CAAC;QAED,UAAU,CAAC,IAAI,GAAG,IAAI,CAAC;QACvB,eAAe,CAAC,KAAK,EAAE,CAAC;QAExB,MAAM,WAAW,GAAG,CAAC,YAAY,CAAC,OAAO,EAAE,CAAC;QAC5C,MAAM,OAAO,GAAG,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC;QAEtD,MAAM,QAAQ,GAAqB,EAAE,CAAC;QACtC,OAAO,CAAC,YAAY,CAAC,OAAO,EAAE,EAAE,CAAC;YAC/B,MAAM,GAAG,GAAG,YAAY,CAAC,OAAO,EAAE,CAAC;YACnC,IAAI,GAAG;gBAAE,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAC9B,CAAC;QAED,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACxB,MAAM,IAAI,GAAG,QAAQ,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;YAC3C,UAAU,CAAC,kBAAkB,GAAG,IAAI,CAAC,OAAO,CAAC;YAC7C,UAAU,CAAC,iBAAiB,GAAG,IAAI,CAAC,MAAM,CAAC;QAC7C,CAAC;QAED,MAAM,QAAQ,GAAG,QAAQ,CAAC,MAAM,GAAG,CAAC;YAClC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC,OAAO,KAAK,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;YACzE,CAAC,CAAC,WAAW,CAAC;QAChB,eAAe,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;QAEpC,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC;QAEtC,IAAI,OAAO,KAAK,WAAW,EAAE,CAAC;YAC5B,IAAI,CAAC;gBACH,MAAM,OAAO,CAAC,oBAAoB,EAAE,CAAC;YACvC,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,MAAM,CAAC,IAAI,CACT,8BAA8B,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CACjF,CAAC;YACJ,CAAC;QACH,CAAC;QAED,KAAK,MAAM,GAAG,IAAI,QAAQ,EAAE,CAAC;YAC3B,MAAM,CAAC,GAAG,CAAC,MAAM,EAAE,UAAU,EAAE,IAAI,GAAG,CAAC,OAAO,KAAK,GAAG,CAAC,MAAM,KAAK,GAAG,CAAC,IAAI,EAAE,EAAE;gBAC5E,OAAO,EAAE,GAAG,CAAC,OAAO;gBACpB,MAAM,EAAE,GAAG,CAAC,MAAM;gBAClB,IAAI,EAAE,GAAG,CAAC,IAAI;gBACd,EAAE,EAAE,GAAG,CAAC,EAAE;aACX,CAAC,CAAC;QACL,CAAC;QAED,yBAAyB;QACzB,MAAM,cAAc,GAAG,OAAO,KAAK,WAAW,IAAI,kBAAkB,EAAE,CAAC;QACvE,MAAM,EAAE,UAAU,EAAE,eAAe,EAAE,aAAa,EAAE,GAAG,MAAM,iBAAiB,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;QAEvG,MAAM,aAAa,GAAG,MAAM,gBAAgB,CAAC;YAC3C,MAAM;YACN,OAAO;YACP,QAAQ;YACR,eAAe;YACf,UAAU;YACV,aAAa;SACd,CAAC,CAAC;QAEH,MAAM,CAAC,cAAc,CAAC,aAAa,CAAC,CAAC;QAErC,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;YAC1B,wCAAwC;YACxC,KAAK,MAAM,GAAG,IAAI,QAAQ,EAAE,CAAC;gBAC3B,cAAc,CAAC,mBAAmB,CAAC,GAAG,CAAC,OAAO,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,GAAqB,CAAC,CAAC,CAAC;YACjG,CAAC;QACH,CAAC;QAED,IAAI,CAAC;YACH,MAAM,cAAc,GAAG,aAAmD,CAAC;YAC3E,MAAM,WAAW,GAAG,OAAO,CAAC,aAAa,CAAC,cAAc,CAAC,CAAC;YAE1D,MAAM,kBAAkB,CAAC,WAAW,EAAE,OAAO,EAAE,eAAe,CAAC,CAAC;QAClE,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,CAAC,UAAU,EAAE,CAAC;YAErB,IAAI,OAAO,CAAC,eAAe,EAAE,EAAE,CAAC;gBAC9B,MAAM,CAAC,MAAM,CAAC,+BAA+B,CAAC,CAAC;YACjD,CAAC;iBAAM,CAAC;gBACN,MAAM,CAAC,GAAG,CACR,qBAAqB,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,EACvE,EAAE,KAAK,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,EAAE,CACxD,CAAC;gBACF,MAAM,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC;YAChD,CAAC;QACH,CAAC;IACH,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"loop.js","sourceRoot":"","sources":["../../src/agent/loop.ts"],"names":[],"mappings":"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"}
@@ -4,10 +4,11 @@ export interface MailboxMemo {
4
4
  to: SessionMode;
5
5
  timestamp: string;
6
6
  content: string;
7
+ inFlight?: boolean;
7
8
  }
8
9
  export interface CodingSessionInfo {
9
10
  id: string | null;
10
- status: "idle" | "in_progress" | "completed";
11
+ status: "idle" | "in_progress" | "paused" | "completed";
11
12
  taskSummary: string;
12
13
  }
13
14
  export interface MailboxData {
@@ -19,9 +20,17 @@ export declare function loadMailbox(): MailboxData;
19
20
  export declare function saveMailbox(data: MailboxData): void;
20
21
  export declare function addMemo(from: SessionMode, to: SessionMode, content: string): void;
21
22
  /**
22
- * Read and clear memos addressed to the given session.
23
+ * Mark memos addressed to the given session as in-flight and return them.
24
+ * The memos remain on disk until explicitly acknowledged via `ackMemos()`.
25
+ * If the process crashes before ack, the memos survive and will be
26
+ * re-delivered on the next call (their `inFlight` flag is cleared on load).
23
27
  */
24
28
  export declare function consumeMemosFor(target: SessionMode): MailboxMemo[];
29
+ /**
30
+ * Acknowledge that memos for the target session have been successfully
31
+ * injected into the agent context. Removes them from the mailbox on disk.
32
+ */
33
+ export declare function ackMemos(target: SessionMode): void;
25
34
  export declare function setActiveSession(mode: SessionMode): void;
26
35
  export declare function getActiveSession(): SessionMode;
27
36
  export declare function updateCodingSessionInfo(info: Partial<CodingSessionInfo>): void;
@@ -1 +1 @@
1
- {"version":3,"file":"mailbox.d.ts","sourceRoot":"","sources":["../../src/agent/mailbox.ts"],"names":[],"mappings":"AAIA,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;CACjB;AAED,MAAM,WAAW,iBAAiB;IAChC,EAAE,EAAE,MAAM,GAAG,IAAI,CAAC;IAClB,MAAM,EAAE,MAAM,GAAG,aAAa,GAAG,WAAW,CAAC;IAC7C,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;AAgBD,wBAAgB,WAAW,IAAI,WAAW,CAczC;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;;GAEG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE,WAAW,GAAG,WAAW,EAAE,CAMlE;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,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,5 +1,6 @@
1
1
  import fs from "node:fs";
2
2
  import path from "node:path";
3
+ import { z } from "zod";
3
4
  import { getConfigDir } from "../config/index.js";
4
5
  const DEFAULT_MAILBOX = {
5
6
  activeSession: "general",
@@ -10,6 +11,23 @@ const DEFAULT_MAILBOX = {
10
11
  taskSummary: "",
11
12
  },
12
13
  };
14
+ const MailboxMemoSchema = z.object({
15
+ from: z.enum(["general", "coding"]),
16
+ to: z.enum(["general", "coding"]),
17
+ timestamp: z.string(),
18
+ content: z.string(),
19
+ inFlight: z.boolean().optional(),
20
+ });
21
+ const CodingSessionInfoSchema = z.object({
22
+ id: z.string().nullable().default(null),
23
+ status: z.enum(["idle", "in_progress", "paused", "completed"]).default("idle"),
24
+ taskSummary: z.string().default(""),
25
+ });
26
+ const MailboxDataSchema = z.object({
27
+ activeSession: z.enum(["general", "coding"]).default("general"),
28
+ memos: z.array(MailboxMemoSchema).default([]),
29
+ codingSession: CodingSessionInfoSchema.default(DEFAULT_MAILBOX.codingSession),
30
+ });
13
31
  function getMailboxFile() {
14
32
  return path.join(getConfigDir(), "session-mailbox.json");
15
33
  }
@@ -19,12 +37,11 @@ export function loadMailbox() {
19
37
  return { ...DEFAULT_MAILBOX };
20
38
  try {
21
39
  const raw = JSON.parse(fs.readFileSync(file, "utf-8"));
22
- const data = raw;
23
- return {
24
- activeSession: data.activeSession ?? "general",
25
- memos: Array.isArray(data.memos) ? data.memos : [],
26
- codingSession: data.codingSession ?? { ...DEFAULT_MAILBOX.codingSession },
27
- };
40
+ const data = MailboxDataSchema.parse(raw);
41
+ for (const m of data.memos) {
42
+ m.inFlight = false;
43
+ }
44
+ return data;
28
45
  }
29
46
  catch {
30
47
  return { ...DEFAULT_MAILBOX };
@@ -48,15 +65,34 @@ export function addMemo(from, to, content) {
48
65
  saveMailbox(data);
49
66
  }
50
67
  /**
51
- * Read and clear memos addressed to the given session.
68
+ * Mark memos addressed to the given session as in-flight and return them.
69
+ * The memos remain on disk until explicitly acknowledged via `ackMemos()`.
70
+ * If the process crashes before ack, the memos survive and will be
71
+ * re-delivered on the next call (their `inFlight` flag is cleared on load).
52
72
  */
53
73
  export function consumeMemosFor(target) {
54
74
  const data = loadMailbox();
55
- const forTarget = data.memos.filter((m) => m.to === target);
56
- data.memos = data.memos.filter((m) => m.to !== target);
57
- saveMailbox(data);
75
+ const forTarget = [];
76
+ for (const m of data.memos) {
77
+ if (m.to === target) {
78
+ m.inFlight = true;
79
+ forTarget.push(m);
80
+ }
81
+ }
82
+ if (forTarget.length > 0) {
83
+ saveMailbox(data);
84
+ }
58
85
  return forTarget;
59
86
  }
87
+ /**
88
+ * Acknowledge that memos for the target session have been successfully
89
+ * injected into the agent context. Removes them from the mailbox on disk.
90
+ */
91
+ export function ackMemos(target) {
92
+ const data = loadMailbox();
93
+ data.memos = data.memos.filter((m) => !(m.to === target && m.inFlight));
94
+ saveMailbox(data);
95
+ }
60
96
  export function setActiveSession(mode) {
61
97
  const data = loadMailbox();
62
98
  data.activeSession = mode;
@@ -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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"}
@@ -5,6 +5,7 @@ import { type SessionMode } from "./mailbox.js";
5
5
  export interface SwitchRequest {
6
6
  target: SessionMode;
7
7
  memo: string;
8
+ reason: "handoff" | "complete";
8
9
  forwardMessage: string;
9
10
  }
10
11
  /**
@@ -21,6 +22,7 @@ export declare class SessionManager {
21
22
  private generalSession;
22
23
  private codingSession;
23
24
  private _activeMode;
25
+ private _managerStopRequested;
24
26
  /** Set after a switch_session tool call is detected in the stream. */
25
27
  private _pendingSwitch;
26
28
  private buildCodingSystemPrompt;
@@ -50,6 +52,11 @@ export declare class SessionManager {
50
52
  * the memos can be prepended to the context.
51
53
  */
52
54
  consumeMemosForActive(): string | null;
55
+ /**
56
+ * Acknowledge that consumed memos for the active session have been
57
+ * successfully injected. Removes them from the mailbox on disk.
58
+ */
59
+ ackMemosForActive(): void;
53
60
  /**
54
61
  * End the coding session (task complete or abandoned).
55
62
  * Switches back to general mode.
@@ -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;AACrE,OAAO,EACL,KAAK,WAAW,EAMjB,MAAM,cAAc,CAAC;AAGtB,MAAM,WAAW,aAAa;IAC5B,MAAM,EAAE,WAAW,CAAC;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,cAAc,EAAE,MAAM,CAAC;CACxB;AA6BD;;;;;;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,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;IA8B9E;;;;OAIG;IACH,qBAAqB,IAAI,MAAM,GAAG,IAAI;IAWtC;;;OAGG;IACH,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAUvC;;OAEG;IACH,WAAW,IAAI,IAAI;IAInB,SAAS,IAAI,IAAI;IAIjB,eAAe,IAAI,OAAO;IAI1B;;OAEG;IACH,sBAAsB,IAAI,MAAM,GAAG,IAAI;CAMxC"}
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,5 +1,6 @@
1
1
  import { AgentSession } from "./session.js";
2
- import { loadMailbox, setActiveSession, addMemo, consumeMemosFor, updateCodingSessionInfo, } from "./mailbox.js";
2
+ import { loadOwnerConfig } from "../config/index.js";
3
+ import { loadMailbox, setActiveSession, addMemo, consumeMemosFor, ackMemos, updateCodingSessionInfo, } from "./mailbox.js";
3
4
  import { logger } from "../logger.js";
4
5
  const GENERAL_SESSION_ADDENDUM = `
5
6
 
@@ -14,7 +15,20 @@ You are currently in the **general session**. This session handles:
14
15
  If the owner asks for a complex, multi-step coding task (refactoring, debugging, multi-file feature work), use \`switch_session(target="coding")\` to hand it off. Do NOT attempt sustained coding work in this session — it will pollute your context.
15
16
 
16
17
  When the coding session is active, you can tell the owner its status. If they send a message related to the active coding task (e.g. "actually use a different approach"), forward it via \`switch_session\` with the details in the memo.`;
17
- const CODING_SESSION_ADDENDUM = `
18
+ function buildCodingSessionAddendum(config) {
19
+ const ownerConfig = loadOwnerConfig();
20
+ return `
21
+
22
+ ## VisionClaw Context
23
+
24
+ You are **${ownerConfig.agentName}**, a personal desktop assistant built on VisionClaw (powered by Claude Agent SDK). You are the **coding session** of a dual-session agent running on ${process.platform === "darwin" ? "macOS" : "Windows"}.
25
+
26
+ - **Your email**: ${config.gmail}
27
+ - **Owner**: ${ownerConfig.ownerName}${ownerConfig.ownerEmail ? ` <${ownerConfig.ownerEmail}>` : ""}
28
+
29
+ You have full control of the computer: terminal, filesystem, browser (Playwright MCP), desktop (computer_use_* tools), and custom VisionClaw tools (notify_user, memory, manage_skills, etc.).
30
+
31
+ When you need to communicate with the owner, use the \`notify_user\` tool — do NOT try to print to stdout or use other mechanisms.
18
32
 
19
33
  ## Session-Specific Instructions (Coding Session)
20
34
 
@@ -22,10 +36,20 @@ You are currently in the **coding session** of a dual-session agent architecture
22
36
 
23
37
  Guidelines:
24
38
  - Stay focused on the current coding task. Do not get sidetracked by unrelated messages.
25
- - If an unrelated message arrives (chat, question, non-coding request), immediately call \`switch_session(target="general")\` to hand it off. Include enough context in the memo so the general session can reply.
39
+ - If an unrelated message arrives (chat, question, non-coding request), immediately call \`switch_session(target="general", reason="handoff")\` to hand it off. Include enough context in the memo so the general session can reply.
26
40
  - Break your work into clear steps. Save progress to memory or plan files so you can recover if the context is compacted.
27
- - When the coding task is complete, call \`switch_session(target="general", memo="Task completed: <summary>")\` to return.
28
- - Use subagents (Task tool) for well-scoped subtasks, but keep orchestration in this session.`;
41
+ - When the coding task is complete, call \`switch_session(target="general", reason="complete", memo="Task completed: <summary>")\` to return.
42
+ - Use subagents (Task tool) for well-scoped subtasks, but keep orchestration in this session.
43
+
44
+ ## Memory Protocol
45
+
46
+ IMPORTANT: ALWAYS VIEW YOUR MEMORY DIRECTORY BEFORE DOING ANYTHING ELSE.
47
+ 1. Use the \`memory\` tool with command \`view\` and path \`/memories\` to check for earlier progress or context.
48
+ 2. Work on the task as needed.
49
+ 3. As you make progress, record status, progress, and important information in your memory.
50
+
51
+ ASSUME INTERRUPTION: Your context window might be compacted at any moment, so you risk losing any progress that is not recorded in your memory directory. Keep memory content up-to-date, coherent, and organized. Delete files that are no longer relevant.`;
52
+ }
29
53
  /**
30
54
  * Manages two AgentSessions (general + coding) with cooperative switching.
31
55
  *
@@ -40,13 +64,14 @@ export class SessionManager {
40
64
  generalSession;
41
65
  codingSession = null;
42
66
  _activeMode = "general";
67
+ _managerStopRequested = false;
43
68
  /** Set after a switch_session tool call is detected in the stream. */
44
69
  _pendingSwitch = null;
45
70
  buildCodingSystemPrompt() {
46
71
  return {
47
72
  type: "preset",
48
73
  preset: "claude_code",
49
- append: CODING_SESSION_ADDENDUM,
74
+ append: buildCodingSessionAddendum(this.config),
50
75
  };
51
76
  }
52
77
  constructor(config, buildSystemPrompt, mcpServers) {
@@ -56,7 +81,7 @@ export class SessionManager {
56
81
  this.generalSession = new AgentSession(config, () => this.buildBaseSystemPrompt() + GENERAL_SESSION_ADDENDUM, mcpServers, "general");
57
82
  const mailbox = loadMailbox();
58
83
  this._activeMode = mailbox.activeSession;
59
- if (mailbox.codingSession.status === "in_progress") {
84
+ if (mailbox.codingSession.status === "in_progress" || mailbox.codingSession.status === "paused") {
60
85
  this.codingSession = new AgentSession(config, () => this.buildCodingSystemPrompt(), mcpServers, "coding");
61
86
  }
62
87
  }
@@ -96,9 +121,18 @@ export class SessionManager {
96
121
  addMemo(currentMode, req.target, req.memo);
97
122
  }
98
123
  if (req.target === "coding") {
99
- if (!this.codingSession) {
100
- this.codingSession = new AgentSession(this.config, () => this.buildCodingSystemPrompt(), this.mcpServers, "coding");
101
- updateCodingSessionInfo({ status: "in_progress" });
124
+ this.codingSession ??= new AgentSession(this.config, () => this.buildCodingSystemPrompt(), this.mcpServers, "coding");
125
+ updateCodingSessionInfo({
126
+ status: "in_progress",
127
+ taskSummary: req.memo || "Coding task in progress",
128
+ });
129
+ }
130
+ else if (currentMode === "coding") {
131
+ if (req.reason === "complete") {
132
+ updateCodingSessionInfo({ status: "completed" });
133
+ }
134
+ else {
135
+ updateCodingSessionInfo({ status: "paused" });
102
136
  }
103
137
  }
104
138
  this._activeMode = req.target;
@@ -121,6 +155,13 @@ export class SessionManager {
121
155
  }
122
156
  return lines.join("\n");
123
157
  }
158
+ /**
159
+ * Acknowledge that consumed memos for the active session have been
160
+ * successfully injected. Removes them from the mailbox on disk.
161
+ */
162
+ ackMemosForActive() {
163
+ ackMemos(this._activeMode);
164
+ }
124
165
  /**
125
166
  * End the coding session (task complete or abandoned).
126
167
  * Switches back to general mode.
@@ -138,13 +179,15 @@ export class SessionManager {
138
179
  * Proxy methods to the active session for compatibility with the existing loop.
139
180
  */
140
181
  requestStop() {
182
+ this._managerStopRequested = true;
141
183
  this.activeSession.requestStop();
142
184
  }
143
185
  clearStop() {
186
+ this._managerStopRequested = false;
144
187
  this.activeSession.clearStop();
145
188
  }
146
189
  isStopRequested() {
147
- return this.activeSession.isStopRequested();
190
+ return this._managerStopRequested || this.activeSession.isStopRequested();
148
191
  }
149
192
  /**
150
193
  * Get a summary of the coding session status for display in context.
@@ -152,9 +195,13 @@ export class SessionManager {
152
195
  getCodingSessionStatus() {
153
196
  const mailbox = loadMailbox();
154
197
  const cs = mailbox.codingSession;
155
- if (cs.status !== "in_progress" || !cs.taskSummary)
198
+ if (!cs.taskSummary)
156
199
  return null;
157
- return `Coding session is active: ${cs.taskSummary}`;
200
+ if (cs.status === "in_progress")
201
+ return `Coding session is active: ${cs.taskSummary}`;
202
+ if (cs.status === "paused")
203
+ return `Coding session is paused: ${cs.taskSummary}`;
204
+ return null;
158
205
  }
159
206
  }
160
207
  //# sourceMappingURL=session-manager.js.map
@@ -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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"}
@@ -2,6 +2,7 @@ import { type Query, type SDKMessage, type SDKUserMessage, type McpServerConfig
2
2
  import type { VisionClawConfig } from "../config/types.js";
3
3
  export type { SDKMessage, SDKUserMessage };
4
4
  export declare const COMPACT_USED_PCT_THRESHOLD = 0.8;
5
+ export declare const COMPACT_USED_PCT_THRESHOLD_BEDROCK = 0.3;
5
6
  export declare const MAX_BASE64_IMAGE_BLOCKS = 10;
6
7
  /**
7
8
  * Wraps the V1 query() API with a long-lived async generator for streaming
@@ -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,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;IAQ7C;;;;OAIG;IACH,aAAa,CAAC,OAAO,EAAE,cAAc,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,GAAG,KAAK;IA2LnE;;;;;;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;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
+ {"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;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, getConfigDir } from "../config/index.js";
2
+ import { loadSessionId, saveSessionId, loadUsageSnapshot, 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,6 +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;
11
12
  export const MAX_BASE64_IMAGE_BLOCKS = 10;
12
13
  /**
13
14
  * Wraps the V1 query() API with a long-lived async generator for streaming
@@ -41,6 +42,10 @@ export class AgentSession {
41
42
  this.buildSystemPrompt = buildSystemPrompt;
42
43
  this.mcpServers = mcpServers;
43
44
  this.sessionId = loadSessionId();
45
+ const persisted = loadUsageSnapshot();
46
+ if (persisted && this.sessionId) {
47
+ this.lastUsageSnapshot = { ...persisted, capturedAtMs: Date.now() };
48
+ }
44
49
  }
45
50
  /**
46
51
  * Send the initial user message and return the query generator to stream
@@ -211,6 +216,7 @@ export class AgentSession {
211
216
  options: {
212
217
  ...options,
213
218
  abortController,
219
+ ...(this.config.provider === "bedrock" ? { betas: ["context-1m-2025-08-07"] } : {}),
214
220
  },
215
221
  });
216
222
  return this.currentQuery;
@@ -278,7 +284,8 @@ export class AgentSession {
278
284
  captureSessionId(id) {
279
285
  if (id) {
280
286
  this.sessionId = id;
281
- saveSessionId(id);
287
+ const snap = this.lastUsageSnapshot;
288
+ saveSessionId(id, snap ? { usedInputTokens: snap.usedInputTokens, contextWindow: snap.contextWindow, usedPct: snap.usedPct } : undefined);
282
289
  }
283
290
  }
284
291
  captureTranscriptPath(p) {
@@ -354,9 +361,12 @@ export class AgentSession {
354
361
  ...snapshot,
355
362
  capturedAtMs: Date.now(),
356
363
  };
364
+ if (this.sessionId) {
365
+ saveSessionId(this.sessionId, snapshot);
366
+ }
357
367
  }
358
368
  async maybeCompactByTokens(options) {
359
- const usedPctThreshold = options?.usedPctThreshold ?? COMPACT_USED_PCT_THRESHOLD;
369
+ const usedPctThreshold = options?.usedPctThreshold ?? this.config.provider === "bedrock" ? COMPACT_USED_PCT_THRESHOLD_BEDROCK : COMPACT_USED_PCT_THRESHOLD;
360
370
  const cooldownMs = options?.cooldownMs ?? 10 * 60 * 1000;
361
371
  const maxSnapshotAgeMs = options?.maxSnapshotAgeMs ?? 10 * 60 * 1000;
362
372
  const snap = this.lastUsageSnapshot;
@@ -1 +1 @@
1
- {"version":3,"file":"session.js","sourceRoot":"","sources":["../../src/agent/session.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"session.js","sourceRoot":"","sources":["../../src/agent/session.ts"],"names":[],"mappings":"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"}
@@ -25,8 +25,14 @@ export declare function saveOwnerConfig(config: OwnerConfig): void;
25
25
  export declare function isOnboardingComplete(): boolean;
26
26
  export declare function loadGoogleTokens(): GoogleTokens;
27
27
  export declare function saveGoogleTokens(tokens: GoogleTokens): void;
28
+ export interface UsageSnapshot {
29
+ usedInputTokens: number;
30
+ contextWindow: number;
31
+ usedPct: number;
32
+ }
28
33
  export declare function loadSessionId(): string | null;
29
- export declare function saveSessionId(sessionId: string): void;
34
+ export declare function loadUsageSnapshot(): UsageSnapshot | null;
35
+ export declare function saveSessionId(sessionId: string, usageSnapshot?: UsageSnapshot): void;
30
36
  export declare function loadOnboardingSessionId(): string | null;
31
37
  export declare function saveOnboardingSessionId(sessionId: string): void;
32
38
  export declare function deleteOnboardingSession(): void;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/config/index.ts"],"names":[],"mappings":"AAGA,OAAO,EAIL,KAAK,gBAAgB,EACrB,KAAK,YAAY,EACjB,KAAK,WAAW,EACjB,MAAM,YAAY,CAAC;AAOpB;;;GAGG;AACH,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAO7C;AAED,wBAAgB,UAAU,IAAI,MAAM,CAEnC;AAED,wBAAgB,UAAU,IAAI,MAAM,CAEnC;AAED,wBAAgB,cAAc,IAAI,MAAM,CAEvC;AAED,wBAAgB,YAAY,IAAI,MAAM,CAErC;AAED,wBAAgB,aAAa,IAAI,MAAM,CAEtC;AAED,wBAAgB,aAAa,IAAI,MAAM,CAEtC;AAED,wBAAgB,YAAY,IAAI,MAAM,CAErC;AAED,wBAAgB,cAAc,IAAI,MAAM,CAEvC;AAED,wBAAgB,wBAAwB,IAAI,MAAM,CAEjD;AAED,wBAAgB,YAAY,IAAI,MAAM,CAErC;AAED,wBAAgB,cAAc,IAAI,MAAM,CAEvC;AAED,wBAAgB,eAAe,IAAI,IAAI,CAatC;AAED,wBAAgB,YAAY,IAAI,OAAO,CAEtC;AAED,wBAAgB,UAAU,IAAI,gBAAgB,CAS7C;AAED,wBAAgB,UAAU,CAAC,MAAM,EAAE,gBAAgB,GAAG,IAAI,CAGzD;AAED,wBAAgB,iBAAiB,IAAI,OAAO,CAE3C;AAED,wBAAgB,eAAe,IAAI,WAAW,CAS7C;AAED,wBAAgB,eAAe,CAAC,MAAM,EAAE,WAAW,GAAG,IAAI,CAGzD;AAED,wBAAgB,oBAAoB,IAAI,OAAO,CAQ9C;AAED,wBAAgB,gBAAgB,IAAI,YAAY,CAS/C;AAED,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,YAAY,GAAG,IAAI,CAG3D;AAED,wBAAgB,aAAa,IAAI,MAAM,GAAG,IAAI,CAY7C;AAED,wBAAgB,aAAa,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAOrD;AAED,wBAAgB,uBAAuB,IAAI,MAAM,GAAG,IAAI,CAUvD;AAED,wBAAgB,uBAAuB,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAO/D;AAED,wBAAgB,uBAAuB,IAAI,IAAI,CAK9C"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/config/index.ts"],"names":[],"mappings":"AAGA,OAAO,EAIL,KAAK,gBAAgB,EACrB,KAAK,YAAY,EACjB,KAAK,WAAW,EACjB,MAAM,YAAY,CAAC;AAOpB;;;GAGG;AACH,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAO7C;AAED,wBAAgB,UAAU,IAAI,MAAM,CAEnC;AAED,wBAAgB,UAAU,IAAI,MAAM,CAEnC;AAED,wBAAgB,cAAc,IAAI,MAAM,CAEvC;AAED,wBAAgB,YAAY,IAAI,MAAM,CAErC;AAED,wBAAgB,aAAa,IAAI,MAAM,CAEtC;AAED,wBAAgB,aAAa,IAAI,MAAM,CAEtC;AAED,wBAAgB,YAAY,IAAI,MAAM,CAErC;AAED,wBAAgB,cAAc,IAAI,MAAM,CAEvC;AAED,wBAAgB,wBAAwB,IAAI,MAAM,CAEjD;AAED,wBAAgB,YAAY,IAAI,MAAM,CAErC;AAED,wBAAgB,cAAc,IAAI,MAAM,CAEvC;AAED,wBAAgB,eAAe,IAAI,IAAI,CAatC;AAED,wBAAgB,YAAY,IAAI,OAAO,CAEtC;AAED,wBAAgB,UAAU,IAAI,gBAAgB,CAS7C;AAED,wBAAgB,UAAU,CAAC,MAAM,EAAE,gBAAgB,GAAG,IAAI,CAGzD;AAED,wBAAgB,iBAAiB,IAAI,OAAO,CAE3C;AAED,wBAAgB,eAAe,IAAI,WAAW,CAS7C;AAED,wBAAgB,eAAe,CAAC,MAAM,EAAE,WAAW,GAAG,IAAI,CAGzD;AAED,wBAAgB,oBAAoB,IAAI,OAAO,CAQ9C;AAED,wBAAgB,gBAAgB,IAAI,YAAY,CAS/C;AAED,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,YAAY,GAAG,IAAI,CAG3D;AAED,MAAM,WAAW,aAAa;IAC5B,eAAe,EAAE,MAAM,CAAC;IACxB,aAAa,EAAE,MAAM,CAAC;IACtB,OAAO,EAAE,MAAM,CAAC;CACjB;AAQD,wBAAgB,aAAa,IAAI,MAAM,GAAG,IAAI,CAY7C;AAED,wBAAgB,iBAAiB,IAAI,aAAa,GAAG,IAAI,CAUxD;AAED,wBAAgB,aAAa,CAAC,SAAS,EAAE,MAAM,EAAE,aAAa,CAAC,EAAE,aAAa,GAAG,IAAI,CAYpF;AAED,wBAAgB,uBAAuB,IAAI,MAAM,GAAG,IAAI,CAUvD;AAED,wBAAgB,uBAAuB,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAO/D;AAED,wBAAgB,uBAAuB,IAAI,IAAI,CAK9C"}
@@ -129,9 +129,27 @@ export function loadSessionId() {
129
129
  return null;
130
130
  }
131
131
  }
132
- export function saveSessionId(sessionId) {
132
+ export function loadUsageSnapshot() {
133
+ const sessionFile = getSessionFile();
134
+ if (!fs.existsSync(sessionFile))
135
+ return null;
136
+ try {
137
+ const raw = JSON.parse(fs.readFileSync(sessionFile, "utf-8"));
138
+ const parsed = raw;
139
+ return parsed.usageSnapshot ?? null;
140
+ }
141
+ catch {
142
+ return null;
143
+ }
144
+ }
145
+ export function saveSessionId(sessionId, usageSnapshot) {
133
146
  ensureConfigDir();
134
- fs.writeFileSync(getSessionFile(), JSON.stringify({ sessionId, updatedAt: new Date().toISOString() }, null, 2), "utf-8");
147
+ const data = {
148
+ sessionId,
149
+ updatedAt: new Date().toISOString(),
150
+ ...(usageSnapshot ? { usageSnapshot } : {}),
151
+ };
152
+ fs.writeFileSync(getSessionFile(), JSON.stringify(data, null, 2), "utf-8");
135
153
  }
136
154
  export function loadOnboardingSessionId() {
137
155
  const file = getOnboardingSessionFile();
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/config/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/config/index.ts"],"names":[],"mappings":"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"}
@@ -17,7 +17,7 @@ export async function notifyOwnerTunnelUrl(tunnelUrl, config) {
17
17
  return;
18
18
  }
19
19
  const { ownerConfig } = state;
20
- const message = `VisionClaw console is now publicly accessible:\n${tunnelUrl}/console`;
20
+ const message = `I'm up and running and my console is now publicly accessible:\n${tunnelUrl}/console`;
21
21
  const { discord } = config.channels;
22
22
  const tasks = [];
23
23
  if (config.channels.telegram?.enabled && ownerConfig.allowedTelegramChatIds.length > 0) {
@@ -1 +1 @@
1
- {"version":3,"file":"notify.js","sourceRoot":"","sources":["../../src/obs/notify.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AACtC,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAGlD;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,oBAAoB,CACxC,SAAiB,EACjB,MAAwB;IAExB,IAAI,KAAK,CAAC;IACV,IAAI,CAAC;QACH,KAAK,GAAG,aAAa,EAAE,CAAC;IAC1B,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,CAAC,IAAI,CAAC,4DAA4D,CAAC,CAAC;QAC1E,OAAO;IACT,CAAC;IAED,MAAM,EAAE,WAAW,EAAE,GAAG,KAAK,CAAC;IAC9B,MAAM,OAAO,GAAG,mDAAmD,SAAS,UAAU,CAAC;IACvF,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,CAAC,QAAQ,CAAC;IAEpC,MAAM,KAAK,GAAoB,EAAE,CAAC;IAElC,IAAI,MAAM,CAAC,QAAQ,CAAC,QAAQ,EAAE,OAAO,IAAI,WAAW,CAAC,sBAAsB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACvF,KAAK,MAAM,MAAM,IAAI,WAAW,CAAC,sBAAsB,EAAE,CAAC;YACxD,KAAK,CAAC,IAAI,CACR,KAAK,CAAC,cAAc;iBACjB,WAAW,CAAC,UAAU,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC;iBAChD,KAAK,CAAC,CAAC,GAAY,EAAE,EAAE;gBACtB,MAAM,CAAC,IAAI,CACT,8CAA8C,MAAM,KAAK,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAC5G,CAAC;YACJ,CAAC,CAAC,CACL,CAAC;QACJ,CAAC;IACH,CAAC;IAED,IAAI,OAAO,EAAE,OAAO,IAAI,WAAW,CAAC,wBAAwB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACxE,KAAK,MAAM,SAAS,IAAI,WAAW,CAAC,wBAAwB,EAAE,CAAC;YAC7D,KAAK,CAAC,IAAI,CACR,KAAK,CAAC,cAAc;iBACjB,WAAW,CAAC,SAAS,EAAE,SAAS,EAAE,OAAO,CAAC;iBAC1C,KAAK,CAAC,CAAC,GAAY,EAAE,EAAE;gBACtB,MAAM,CAAC,IAAI,CACT,gDAAgD,SAAS,KAAK,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CACjH,CAAC;YACJ,CAAC,CAAC,CACL,CAAC;QACJ,CAAC;IACH,CAAC;IAED,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACvB,MAAM,CAAC,MAAM,CAAC,wDAAwD,SAAS,EAAE,CAAC,CAAC;QACnF,OAAO;IACT,CAAC;IAED,MAAM,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;AAC3B,CAAC"}
1
+ {"version":3,"file":"notify.js","sourceRoot":"","sources":["../../src/obs/notify.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AACtC,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAGlD;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,oBAAoB,CACxC,SAAiB,EACjB,MAAwB;IAExB,IAAI,KAAK,CAAC;IACV,IAAI,CAAC;QACH,KAAK,GAAG,aAAa,EAAE,CAAC;IAC1B,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,CAAC,IAAI,CAAC,4DAA4D,CAAC,CAAC;QAC1E,OAAO;IACT,CAAC;IAED,MAAM,EAAE,WAAW,EAAE,GAAG,KAAK,CAAC;IAC9B,MAAM,OAAO,GAAG,kEAAkE,SAAS,UAAU,CAAC;IACtG,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,CAAC,QAAQ,CAAC;IAEpC,MAAM,KAAK,GAAoB,EAAE,CAAC;IAElC,IAAI,MAAM,CAAC,QAAQ,CAAC,QAAQ,EAAE,OAAO,IAAI,WAAW,CAAC,sBAAsB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACvF,KAAK,MAAM,MAAM,IAAI,WAAW,CAAC,sBAAsB,EAAE,CAAC;YACxD,KAAK,CAAC,IAAI,CACR,KAAK,CAAC,cAAc;iBACjB,WAAW,CAAC,UAAU,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC;iBAChD,KAAK,CAAC,CAAC,GAAY,EAAE,EAAE;gBACtB,MAAM,CAAC,IAAI,CACT,8CAA8C,MAAM,KAAK,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAC5G,CAAC;YACJ,CAAC,CAAC,CACL,CAAC;QACJ,CAAC;IACH,CAAC;IAED,IAAI,OAAO,EAAE,OAAO,IAAI,WAAW,CAAC,wBAAwB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACxE,KAAK,MAAM,SAAS,IAAI,WAAW,CAAC,wBAAwB,EAAE,CAAC;YAC7D,KAAK,CAAC,IAAI,CACR,KAAK,CAAC,cAAc;iBACjB,WAAW,CAAC,SAAS,EAAE,SAAS,EAAE,OAAO,CAAC;iBAC1C,KAAK,CAAC,CAAC,GAAY,EAAE,EAAE;gBACtB,MAAM,CAAC,IAAI,CACT,gDAAgD,SAAS,KAAK,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CACjH,CAAC;YACJ,CAAC,CAAC,CACL,CAAC;QACJ,CAAC;IACH,CAAC;IAED,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACvB,MAAM,CAAC,MAAM,CAAC,wDAAwD,SAAS,EAAE,CAAC,CAAC;QACnF,OAAO;IACT,CAAC;IAED,MAAM,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;AAC3B,CAAC"}
@@ -5,6 +5,10 @@ export declare const switchSessionTool: import("@anthropic-ai/claude-agent-sdk")
5
5
  coding: "coding";
6
6
  }>;
7
7
  memo: z.ZodString;
8
+ reason: z.ZodDefault<z.ZodEnum<{
9
+ handoff: "handoff";
10
+ complete: "complete";
11
+ }>>;
8
12
  forward_message: z.ZodOptional<z.ZodString>;
9
13
  }>;
10
14
  //# sourceMappingURL=switch-session.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"switch-session.d.ts","sourceRoot":"","sources":["../../src/tools/switch-session.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB,eAAO,MAAM,iBAAiB;;;;;;;EAgC7B,CAAC"}
1
+ {"version":3,"file":"switch-session.d.ts","sourceRoot":"","sources":["../../src/tools/switch-session.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB,eAAO,MAAM,iBAAiB;;;;;;;;;;;EAwC7B,CAAC"}
@@ -7,6 +7,10 @@ export const switchSessionTool = tool("switch_session", `Switch between the gene
7
7
 
8
8
  The memo field is passed to the other session as context. Include enough detail for the other session to understand what's happening (e.g. the user's request, current progress, decisions made).
9
9
 
10
+ The reason field signals intent:
11
+ - "handoff": Temporarily hand off to the other session (e.g. forwarding an unrelated message). The coding session remains active and can be resumed.
12
+ - "complete": The coding task is finished. Use this when switching coding→general after completing the task.
13
+
10
14
  After calling this tool, end your turn immediately — the system will resume the target session.`, {
11
15
  target: z
12
16
  .enum(["general", "coding"])
@@ -14,6 +18,10 @@ After calling this tool, end your turn immediately — the system will resume th
14
18
  memo: z
15
19
  .string()
16
20
  .describe("Context memo for the target session explaining what it needs to know"),
21
+ reason: z
22
+ .enum(["handoff", "complete"])
23
+ .default("handoff")
24
+ .describe('"handoff" for temporary switch, "complete" when the coding task is finished'),
17
25
  forward_message: z
18
26
  .string()
19
27
  .optional()
@@ -23,7 +31,7 @@ After calling this tool, end your turn immediately — the system will resume th
23
31
  content: [
24
32
  {
25
33
  type: "text",
26
- text: `Switching to ${args.target} session. Memo: ${args.memo}\n\nIMPORTANT: The session switch is being processed. End your turn immediately — do NOT call any more tools.`,
34
+ text: `Switching to ${args.target} session (reason: ${args.reason}). Memo: ${args.memo}\n\nIMPORTANT: The session switch is being processed. End your turn immediately — do NOT call any more tools.`,
27
35
  },
28
36
  ],
29
37
  });
@@ -1 +1 @@
1
- {"version":3,"file":"switch-session.js","sourceRoot":"","sources":["../../src/tools/switch-session.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,IAAI,EAAE,MAAM,gCAAgC,CAAC;AAGtD,MAAM,CAAC,MAAM,iBAAiB,GAAG,IAAI,CACnC,gBAAgB,EAChB;;;;;;;gGAO8F,EAC9F;IACE,MAAM,EAAE,CAAC;SACN,IAAI,CAAC,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;SAC3B,QAAQ,CAAC,iDAAiD,CAAC;IAC9D,IAAI,EAAE,CAAC;SACJ,MAAM,EAAE;SACR,QAAQ,CAAC,sEAAsE,CAAC;IACnF,eAAe,EAAE,CAAC;SACf,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,QAAQ,CAAC,4DAA4D,CAAC;CAC1E,EACD,CAAC,IAAI,EAA2B,EAAE;IAChC,OAAO,OAAO,CAAC,OAAO,CAAC;QACrB,OAAO,EAAE;YACP;gBACE,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,gBAAgB,IAAI,CAAC,MAAM,mBAAmB,IAAI,CAAC,IAAI,+GAA+G;aAC7K;SACF;KACF,CAAC,CAAC;AACL,CAAC,CACF,CAAC"}
1
+ {"version":3,"file":"switch-session.js","sourceRoot":"","sources":["../../src/tools/switch-session.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,IAAI,EAAE,MAAM,gCAAgC,CAAC;AAGtD,MAAM,CAAC,MAAM,iBAAiB,GAAG,IAAI,CACnC,gBAAgB,EAChB;;;;;;;;;;;gGAW8F,EAC9F;IACE,MAAM,EAAE,CAAC;SACN,IAAI,CAAC,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;SAC3B,QAAQ,CAAC,iDAAiD,CAAC;IAC9D,IAAI,EAAE,CAAC;SACJ,MAAM,EAAE;SACR,QAAQ,CAAC,sEAAsE,CAAC;IACnF,MAAM,EAAE,CAAC;SACN,IAAI,CAAC,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;SAC7B,OAAO,CAAC,SAAS,CAAC;SAClB,QAAQ,CAAC,6EAA6E,CAAC;IAC1F,eAAe,EAAE,CAAC;SACf,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,QAAQ,CAAC,4DAA4D,CAAC;CAC1E,EACD,CAAC,IAAI,EAA2B,EAAE;IAChC,OAAO,OAAO,CAAC,OAAO,CAAC;QACrB,OAAO,EAAE;YACP;gBACE,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,gBAAgB,IAAI,CAAC,MAAM,qBAAqB,IAAI,CAAC,MAAM,YAAY,IAAI,CAAC,IAAI,+GAA+G;aACtM;SACF;KACF,CAAC,CAAC;AACL,CAAC,CACF,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "visionclaw",
3
- "version": "0.1.37",
3
+ "version": "0.1.39",
4
4
  "description": "A personal assistant agent that runs on your desktop, receives commands from messaging channels, and executes tasks autonomously.",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",