@farazirfan/costar-server-executor 1.3.0 → 1.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (45) hide show
  1. package/.env.example +12 -0
  2. package/dist/agent/agent.d.ts +6 -0
  3. package/dist/agent/agent.d.ts.map +1 -1
  4. package/dist/agent/agent.js +12 -0
  5. package/dist/agent/agent.js.map +1 -1
  6. package/dist/agent/pi-embedded-runner/system-prompt.d.ts.map +1 -1
  7. package/dist/agent/pi-embedded-runner/system-prompt.js +28 -0
  8. package/dist/agent/pi-embedded-runner/system-prompt.js.map +1 -1
  9. package/dist/cron/scheduler.d.ts.map +1 -1
  10. package/dist/cron/scheduler.js +52 -28
  11. package/dist/cron/scheduler.js.map +1 -1
  12. package/dist/cron/types.d.ts +1 -0
  13. package/dist/cron/types.d.ts.map +1 -1
  14. package/dist/heartbeat/runner.d.ts +10 -0
  15. package/dist/heartbeat/runner.d.ts.map +1 -1
  16. package/dist/heartbeat/runner.js +61 -2
  17. package/dist/heartbeat/runner.js.map +1 -1
  18. package/dist/server.d.ts +1 -0
  19. package/dist/server.d.ts.map +1 -1
  20. package/dist/server.js +34 -4
  21. package/dist/server.js.map +1 -1
  22. package/dist/supabase/cron-jobs.d.ts +1 -0
  23. package/dist/supabase/cron-jobs.d.ts.map +1 -1
  24. package/dist/supabase/cron-jobs.js +3 -1
  25. package/dist/supabase/cron-jobs.js.map +1 -1
  26. package/dist/tools/cron.d.ts.map +1 -1
  27. package/dist/tools/cron.js +14 -22
  28. package/dist/tools/cron.js.map +1 -1
  29. package/dist/updates/checker.d.ts +17 -5
  30. package/dist/updates/checker.d.ts.map +1 -1
  31. package/dist/updates/checker.js +27 -11
  32. package/dist/updates/checker.js.map +1 -1
  33. package/dist/updates/index.d.ts +2 -1
  34. package/dist/updates/index.d.ts.map +1 -1
  35. package/dist/updates/index.js +2 -1
  36. package/dist/updates/index.js.map +1 -1
  37. package/dist/updates/self-updater.d.ts +39 -0
  38. package/dist/updates/self-updater.d.ts.map +1 -0
  39. package/dist/updates/self-updater.js +177 -0
  40. package/dist/updates/self-updater.js.map +1 -0
  41. package/dist/web-server.d.ts +8 -0
  42. package/dist/web-server.d.ts.map +1 -1
  43. package/dist/web-server.js +43 -0
  44. package/dist/web-server.js.map +1 -1
  45. package/package.json +1 -1
package/.env.example CHANGED
@@ -46,6 +46,18 @@ GOOGLE_MAPS_API_KEY=AI...
46
46
  # Note: This should be a JSON string of your service account credentials
47
47
  GOOGLE_SERVICE_ACCOUNT_JSON={"type":"service_account","project_id":"..."}
48
48
 
49
+ # ===== OPTIONAL - Auto-Update =====
50
+
51
+ # Enable automatic version checks (default: true)
52
+ ENABLE_UPDATE_CHECK=true
53
+
54
+ # Enable automatic self-update when new versions are detected (default: true)
55
+ # The executor will wait for idle state, update, and restart via systemd/launchd
56
+ ENABLE_AUTO_UPDATE=true
57
+
58
+ # Update channel: latest, beta, dev (default: latest)
59
+ UPDATE_CHANNEL=latest
60
+
49
61
  # ===== OPTIONAL - Skills Configuration =====
50
62
 
51
63
  # Extra skills directories (comma-separated)
@@ -44,6 +44,7 @@ export declare class Agent {
44
44
  private userId;
45
45
  private workspaceSynced;
46
46
  private skillsManager;
47
+ private _busy;
47
48
  constructor(config: CoStarConfig, _tools: AnyAgentTool[], workspaceDir: string, skillsManager?: SkillsManager);
48
49
  /**
49
50
  * Sync workspace files from Supabase Storage
@@ -64,6 +65,11 @@ export declare class Agent {
64
65
  * Start a new session (generates new session ID)
65
66
  */
66
67
  newSession(): void;
68
+ /**
69
+ * Check if agent is currently executing a turn
70
+ * Pattern: OpenClaw's getQueueSize > 0 check (requests-in-flight)
71
+ */
72
+ isBusy(): boolean;
67
73
  /**
68
74
  * Execute a single agent turn using pi-ai
69
75
  */
@@ -1 +1 @@
1
- {"version":3,"file":"agent.d.ts","sourceRoot":"","sources":["../../src/agent/agent.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAerD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAM1D;;GAEG;AACH,MAAM,MAAM,eAAe,GAAG;IAC5B,OAAO,EAAE,OAAO,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,qBAAqB,GAAG;IAClC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,UAAU,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,KAAK,IAAI,CAAC;IAC5D,UAAU,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IACpC,cAAc,CAAC,EAAE,CAAC,OAAO,EAAE;QAAE,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,EAAE,CAAA;KAAE,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CACtF,CAAC;AAEF;;GAEG;AACH,qBAAa,KAAK;IAChB,OAAO,CAAC,MAAM,CAAe;IAC7B,OAAO,CAAC,YAAY,CAAS;IAC7B,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,mBAAmB,CAAgD;IAC3E,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,eAAe,CAAkB;IACzC,OAAO,CAAC,aAAa,CAA8B;gBAEvC,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,YAAY,EAAE,EAAE,YAAY,EAAE,MAAM,EAAE,aAAa,CAAC,EAAE,aAAa;IA6B7G;;;;OAIG;IACG,wBAAwB,IAAI,OAAO,CAAC,IAAI,CAAC;IAsD/C;;;OAGG;IACG,iBAAiB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAkB3D;;OAEG;IACH,iBAAiB,IAAI,IAAI;IAczB;;OAEG;IACH,UAAU,IAAI,IAAI;IASlB;;OAEG;IACG,WAAW,CACf,WAAW,EAAE,MAAM,EACnB,OAAO,GAAE,qBAA0B,GAClC,OAAO,CAAC,eAAe,CAAC;IAiH3B;;;OAGG;IACG,gBAAgB,CACpB,OAAO,GAAE,qBAA0B,GAClC,OAAO,CAAC,eAAe,CAAC;IA+B3B;;;OAGG;IACG,yBAAyB,CAC7B,OAAO,GAAE,qBAA0B,GAClC,OAAO,CAAC,eAAe,CAAC;IAgB3B;;OAEG;IACH,sBAAsB,IAAI,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC;IAIlE;;OAEG;IACH,mBAAmB,IAAI,MAAM;IAM7B;;OAEG;IACH,gBAAgB,CAAC,OAAO,EAAE,aAAa,GAAG,IAAI;IAM9C;;;OAGG;IACH,OAAO,CAAC,iBAAiB;IAWzB;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAa1B;;OAEG;IACH,OAAO,CAAC,gBAAgB;CAKzB"}
1
+ {"version":3,"file":"agent.d.ts","sourceRoot":"","sources":["../../src/agent/agent.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAerD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAM1D;;GAEG;AACH,MAAM,MAAM,eAAe,GAAG;IAC5B,OAAO,EAAE,OAAO,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,qBAAqB,GAAG;IAClC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,UAAU,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,KAAK,IAAI,CAAC;IAC5D,UAAU,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IACpC,cAAc,CAAC,EAAE,CAAC,OAAO,EAAE;QAAE,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,EAAE,CAAA;KAAE,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CACtF,CAAC;AAEF;;GAEG;AACH,qBAAa,KAAK;IAChB,OAAO,CAAC,MAAM,CAAe;IAC7B,OAAO,CAAC,YAAY,CAAS;IAC7B,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,mBAAmB,CAAgD;IAC3E,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,eAAe,CAAkB;IACzC,OAAO,CAAC,aAAa,CAA8B;IACnD,OAAO,CAAC,KAAK,CAAkB;gBAEnB,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,YAAY,EAAE,EAAE,YAAY,EAAE,MAAM,EAAE,aAAa,CAAC,EAAE,aAAa;IA6B7G;;;;OAIG;IACG,wBAAwB,IAAI,OAAO,CAAC,IAAI,CAAC;IAsD/C;;;OAGG;IACG,iBAAiB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAkB3D;;OAEG;IACH,iBAAiB,IAAI,IAAI;IAczB;;OAEG;IACH,UAAU,IAAI,IAAI;IASlB;;;OAGG;IACH,MAAM,IAAI,OAAO;IAIjB;;OAEG;IACG,WAAW,CACf,WAAW,EAAE,MAAM,EACnB,OAAO,GAAE,qBAA0B,GAClC,OAAO,CAAC,eAAe,CAAC;IAoH3B;;;OAGG;IACG,gBAAgB,CACpB,OAAO,GAAE,qBAA0B,GAClC,OAAO,CAAC,eAAe,CAAC;IA+B3B;;;OAGG;IACG,yBAAyB,CAC7B,OAAO,GAAE,qBAA0B,GAClC,OAAO,CAAC,eAAe,CAAC;IAgB3B;;OAEG;IACH,sBAAsB,IAAI,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC;IAIlE;;OAEG;IACH,mBAAmB,IAAI,MAAM;IAM7B;;OAEG;IACH,gBAAgB,CAAC,OAAO,EAAE,aAAa,GAAG,IAAI;IAM9C;;;OAGG;IACH,OAAO,CAAC,iBAAiB;IAWzB;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAa1B;;OAEG;IACH,OAAO,CAAC,gBAAgB;CAKzB"}
@@ -23,6 +23,7 @@ export class Agent {
23
23
  userId;
24
24
  workspaceSynced = false; // Track if workspace was synced this session
25
25
  skillsManager = null;
26
+ _busy = false; // Track if agent is currently executing a turn (OpenClaw: requests-in-flight)
26
27
  constructor(config, _tools, workspaceDir, skillsManager) {
27
28
  this.config = config;
28
29
  this.workspaceDir = workspaceDir;
@@ -151,10 +152,18 @@ export class Agent {
151
152
  this.workspaceSynced = false; // Re-sync workspace for new session
152
153
  console.log(`[AGENT] Started new session: ${this.sessionId}`);
153
154
  }
155
+ /**
156
+ * Check if agent is currently executing a turn
157
+ * Pattern: OpenClaw's getQueueSize > 0 check (requests-in-flight)
158
+ */
159
+ isBusy() {
160
+ return this._busy;
161
+ }
154
162
  /**
155
163
  * Execute a single agent turn using pi-ai
156
164
  */
157
165
  async executeTurn(userMessage, options = {}) {
166
+ this._busy = true;
158
167
  try {
159
168
  console.log(`\n${"=".repeat(60)}`);
160
169
  console.log(`[AGENT] Starting turn with pi-ai`);
@@ -244,6 +253,9 @@ export class Agent {
244
253
  turns: 1,
245
254
  };
246
255
  }
256
+ finally {
257
+ this._busy = false;
258
+ }
247
259
  }
248
260
  /**
249
261
  * Execute heartbeat check
@@ -1 +1 @@
1
- {"version":3,"file":"agent.js","sourceRoot":"","sources":["../../src/agent/agent.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH,OAAO,EAAE,kBAAkB,EAAE,MAAM,6BAA6B,CAAC;AACjE,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAC3D,OAAO,EACL,oBAAoB,EACpB,sBAAsB,EACtB,mBAAmB,GACpB,MAAM,kCAAkC,CAAC;AAC1C,OAAO,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AAC9D,OAAO,EACL,oBAAoB,EACpB,mBAAmB,EACnB,kBAAkB,GAEnB,MAAM,uBAAuB,CAAC;AAG/B,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,EAAE,MAAM,SAAS,CAAC;AA2BzB;;GAEG;AACH,MAAM,OAAO,KAAK;IACR,MAAM,CAAe;IACrB,YAAY,CAAS;IACrB,UAAU,CAAS;IACnB,mBAAmB,GAA6C,EAAE,CAAC;IACnE,SAAS,CAAS,CAAC,yCAAyC;IAC5D,WAAW,CAAS,CAAC,0BAA0B;IAC/C,MAAM,CAAS;IACf,eAAe,GAAY,KAAK,CAAC,CAAC,6CAA6C;IAC/E,aAAa,GAAyB,IAAI,CAAC;IAEnD,YAAY,MAAoB,EAAE,MAAsB,EAAE,YAAoB,EAAE,aAA6B;QAC3G,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;QACjC,IAAI,CAAC,aAAa,GAAG,aAAa,IAAI,IAAI,CAAC;QAE3C,+DAA+D;QAC/D,0DAA0D;QAC1D,MAAM,OAAO,GAAG,EAAE,CAAC,OAAO,EAAE,CAAC;QAC7B,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC,SAAS,EAAE,WAAW,IAAI,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,SAAS,EAAE,UAAU,CAAC,CAAC;QAC7F,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;YACpC,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,UAAU,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QACrD,CAAC;QAED,2EAA2E;QAC3E,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,KAAK,EAAE,MAAM,IAAI,OAAO,CAAC,GAAG,CAAC,OAAO,IAAI,SAAS,CAAC;QACvE,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,4CAA4C;QAC1E,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,GAAG,IAAI,CAAC,SAAS,OAAO,CAAC,CAAC;QAExE,oCAAoC;QACpC,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC;YACtC,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,YAAY,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QACvD,CAAC;QAED,OAAO,CAAC,GAAG,CAAC,iCAAiC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;QAC5D,OAAO,CAAC,GAAG,CAAC,yBAAyB,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC;QACzD,OAAO,CAAC,GAAG,CAAC,sBAAsB,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC;QACvD,OAAO,CAAC,GAAG,CAAC,+DAA+D,CAAC,CAAC;IAC/E,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,wBAAwB;QAC5B,mEAAmE;QACnE,IAAI,qBAAqB,EAAE,EAAE,CAAC;YAC5B,IAAI,CAAC;gBACH,OAAO,CAAC,GAAG,CAAC,0DAA0D,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;gBACrF,MAAM,MAAM,GAAG,MAAM,oBAAoB,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;gBAE1E,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBAC7B,OAAO,CAAC,GAAG,CAAC,yBAAyB,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gBACnE,CAAC;gBACD,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBAC9B,OAAO,CAAC,GAAG,CAAC,iCAAiC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gBAC5E,CAAC;YACH,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,OAAO,CAAC,KAAK,CAAC,qCAAqC,EAAE,GAAG,CAAC,CAAC;gBAC1D,mCAAmC;YACrC,CAAC;QACH,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,GAAG,CAAC,yDAAyD,CAAC,CAAC;QACzE,CAAC;QAED,0EAA0E;QAC1E,MAAM,eAAe,GAAG,oBAAoB,CAAC;YAC3C,GAAG,EAAE,IAAI,CAAC,YAAY;YACtB,oBAAoB,EAAE,IAAI;SAC3B,CAAC,CAAC;QAEH,IAAI,eAAe,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACvC,OAAO,CAAC,GAAG,CAAC,kCAAkC,eAAe,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YAEpF,0DAA0D;YAC1D,IAAI,qBAAqB,EAAE,EAAE,CAAC;gBAC5B,KAAK,MAAM,QAAQ,IAAI,eAAe,CAAC,OAAO,EAAE,CAAC;oBAC/C,IAAI,mBAAmB,CAAC,QAAsC,CAAC,EAAE,CAAC;wBAChE,MAAM,OAAO,GAAG,kBAAkB,CAAC,QAAsC,CAAC,CAAC;wBAC3E,IAAI,CAAC;4BACH,MAAM,mBAAmB,CAAC,IAAI,CAAC,MAAM,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;4BAC1D,OAAO,CAAC,GAAG,CAAC,oBAAoB,QAAQ,aAAa,CAAC,CAAC;wBACzD,CAAC;wBAAC,OAAO,GAAG,EAAE,CAAC;4BACb,gCAAgC;4BAChC,OAAO,CAAC,IAAI,CAAC,4BAA4B,QAAQ,GAAG,EAAE,GAAG,CAAC,CAAC;wBAC7D,CAAC;oBACH,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;QAED,IAAI,eAAe,CAAC,UAAU,EAAE,CAAC;YAC/B,OAAO,CAAC,GAAG,CAAC,gEAAgE,CAAC,CAAC;QAChF,CAAC;QAED,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;IAC9B,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,iBAAiB,CAAC,QAAgB;QACtC,IAAI,CAAC,qBAAqB,EAAE,EAAE,CAAC;YAC7B,OAAO,CAAC,GAAG,CAAC,sDAAsD,CAAC,CAAC;YACpE,OAAO,KAAK,CAAC;QACf,CAAC;QAED,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,MAAM,sBAAsB,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAC;YACvF,IAAI,OAAO,EAAE,CAAC;gBACZ,OAAO,CAAC,GAAG,CAAC,kBAAkB,QAAQ,aAAa,CAAC,CAAC;YACvD,CAAC;YACD,OAAO,OAAO,CAAC;QACjB,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,CAAC,KAAK,CAAC,yBAAyB,QAAQ,cAAc,EAAE,GAAG,CAAC,CAAC;YACpE,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;IAED;;OAEG;IACH,iBAAiB;QACf,IAAI,CAAC,mBAAmB,GAAG,EAAE,CAAC;QAC9B,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC,CAAC,iCAAiC;QAC/D,qCAAqC;QACrC,IAAI,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC;YACpC,IAAI,CAAC;gBACH,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;gBAChC,OAAO,CAAC,GAAG,CAAC,oCAAoC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC;YACtE,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,OAAO,CAAC,KAAK,CAAC,wCAAwC,EAAE,GAAG,CAAC,CAAC;YAC/D,CAAC;QACH,CAAC;IACH,CAAC;IAED;;OAEG;IACH,UAAU;QACR,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAC7B,IAAI,CAAC,SAAS,GAAG,GAAG,IAAI,CAAC,MAAM,IAAI,SAAS,EAAE,CAAC;QAC/C,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,GAAG,IAAI,CAAC,SAAS,OAAO,CAAC,CAAC;QACxE,IAAI,CAAC,mBAAmB,GAAG,EAAE,CAAC;QAC9B,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC,CAAC,oCAAoC;QAClE,OAAO,CAAC,GAAG,CAAC,gCAAgC,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC;IAChE,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,WAAW,CACf,WAAmB,EACnB,UAAiC,EAAE;QAEnC,IAAI,CAAC;YACH,OAAO,CAAC,GAAG,CAAC,KAAK,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;YACnC,OAAO,CAAC,GAAG,CAAC,kCAAkC,CAAC,CAAC;YAChD,OAAO,CAAC,GAAG,CAAC,2BAA2B,IAAI,CAAC,gBAAgB,EAAE,EAAE,CAAC,CAAC;YAElE,+DAA+D;YAC/D,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,CAAC;gBAC1B,MAAM,IAAI,CAAC,wBAAwB,EAAE,CAAC;YACxC,CAAC;YAED,8BAA8B;YAC9B,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC;gBAC5B,IAAI,EAAE,MAAM;gBACZ,OAAO,EAAE,WAAW;aACrB,CAAC,CAAC;YAEH,mFAAmF;YACnF,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;YACjC,MAAM,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC;YAErC,OAAO,CAAC,GAAG,CAAC,oBAAoB,SAAS,EAAE,CAAC,CAAC;YAC7C,OAAO,CAAC,GAAG,CAAC,yBAAyB,WAAW,aAAa,EAAE,CAAC,UAAU,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;YAE5F,uCAAuC;YACvC,MAAM,CAAC,QAAQ,EAAE,KAAK,CAAC,GAAG,IAAI,CAAC,kBAAkB,EAAE,CAAC;YAEpD,kDAAkD;YAClD,MAAM,YAAY,GAAG,IAAI,CAAC,iBAAiB,EAAE,CAAC;YAC9C,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC5B,OAAO,CAAC,GAAG,CAAC,WAAW,YAAY,CAAC,MAAM,iCAAiC,CAAC,CAAC;YAC/E,CAAC;YAED,6CAA6C;YAC7C,MAAM,cAAc,GAAG,MAAM,oBAAoB,CAAC;gBAChD,GAAG,EAAE,IAAI,CAAC,MAAM;gBAChB,QAAQ;gBACR,KAAK;gBACL,QAAQ,EAAE,OAAO,CAAC,GAAG,EAAE;gBACvB,GAAG,EAAE,KAAK,EAAE,gBAAgB,EAAE,aAAa,EAAE,EAAE;oBAC7C,OAAO,CAAC,GAAG,CACT,0BAA0B,gBAAgB,IAAI,aAAa,EAAE,CAC9D,CAAC;oBAEF,iDAAiD;oBACjD,OAAO,MAAM,kBAAkB,CAAC;wBAC9B,SAAS;wBACT,WAAW;wBACX,YAAY,EAAE,IAAI,CAAC,YAAY;wBAC/B,QAAQ,EAAE,OAAO,CAAC,GAAG,EAAE;wBACvB,MAAM,EAAE,IAAI,CAAC,MAAM;wBACnB,MAAM,EAAE,WAAW;wBACnB,QAAQ,EAAE,gBAAgB;wBAC1B,KAAK,EAAE,aAAa;wBACpB,UAAU,EAAE,KAAK;wBACjB,YAAY,EAAE,QAAQ;wBACtB,cAAc,EAAE,KAAK;wBACrB,SAAS,EAAE,MAAM;wBACjB,KAAK,EAAE,SAAS;wBAChB,YAAY;wBACZ,cAAc,EAAE,OAAO,CAAC,cAAc;wBACtC,YAAY,EAAE,OAAO,CAAC,cAAc;qBACrC,CAAC,CAAC;gBACL,CAAC;aACF,CAAC,CAAC;YAEH,MAAM,MAAM,GAAG,cAAc,CAAC,MAAM,CAAC;YAErC,OAAO,CAAC,GAAG,CACT,0BAA0B,cAAc,CAAC,QAAQ,IAAI,cAAc,CAAC,KAAK,EAAE,CAC5E,CAAC;YACF,OAAO,CAAC,GAAG,CAAC,qBAAqB,MAAM,CAAC,IAAI,CAAC,UAAU,IAAI,CAAC,CAAC;YAC7D,OAAO,CAAC,GAAG,CACT,mBAAmB,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,WAAW,IAAI,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,YAAY,EAAE,CAC3G,CAAC;YAEF,wBAAwB;YACxB,MAAM,YAAY,GAChB,MAAM,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;YAEvD,8BAA8B;YAC9B,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC;gBAC5B,IAAI,EAAE,WAAW;gBACjB,OAAO,EAAE,YAAY;aACtB,CAAC,CAAC;YAEH,wBAAwB;YACxB,IAAI,OAAO,CAAC,UAAU,IAAI,YAAY,EAAE,CAAC;gBACvC,OAAO,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC;YACnC,CAAC;YAED,OAAO;gBACL,OAAO,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK;gBAC3B,QAAQ,EAAE,YAAY;gBACtB,SAAS,EAAE,CAAC,EAAE,oCAAoC;gBAClD,UAAU,EAAE,MAAM,CAAC,IAAI,CAAC,UAAU;gBAClC,KAAK,EAAE,CAAC;gBACR,WAAW,EAAE,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,WAAW,IAAI,CAAC;gBAC1D,YAAY,EAAE,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,YAAY,IAAI,CAAC;gBAC5D,KAAK,EAAE,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,OAAO;aAClC,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YACvE,OAAO,CAAC,KAAK,CAAC,iCAAiC,EAAE,OAAO,CAAC,CAAC;YAE1D,OAAO;gBACL,OAAO,EAAE,KAAK;gBACd,KAAK,EAAE,OAAO;gBACd,KAAK,EAAE,CAAC;aACT,CAAC;QACJ,CAAC;IACH,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,gBAAgB,CACpB,UAAiC,EAAE;QAEnC,OAAO,CAAC,GAAG,CAAC,sCAAsC,CAAC,CAAC;QAEpD,6DAA6D;QAC7D,MAAM,gBAAgB,GACpB,0EAA0E;YAC1E,qDAAqD;YACrD,iDAAiD,CAAC;QAEpD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,gBAAgB,EAAE;YACtD,GAAG,OAAO;YACV,QAAQ,EAAE,EAAE;SACb,CAAC,CAAC;QAEH,uEAAuE;QACvE,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;QAC/C,MAAM,IAAI,GAAG,QAAQ,KAAK,cAAc;YACtC,QAAQ,CAAC,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,KAAK,cAAc,CAAC;QAE9D,IAAI,IAAI,EAAE,CAAC;YACT,OAAO,CAAC,GAAG,CAAC,oCAAoC,CAAC,CAAC;YAClD,OAAO;gBACL,GAAG,MAAM;gBACT,QAAQ,EAAE,cAAc;aACzB,CAAC;QACJ,CAAC;QAED,OAAO,CAAC,GAAG,CAAC,sDAAsD,CAAC,CAAC;QACpE,OAAO,MAAM,CAAC;IAChB,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,yBAAyB,CAC7B,UAAiC,EAAE;QAEnC,OAAO,CAAC,GAAG,CAAC,2CAA2C,CAAC,CAAC;QAEzD,MAAM,gBAAgB,GACpB,kDAAkD;YAClD,oDAAoD;YACpD,gEAAgE;YAChE,uDAAuD;YACvD,wCAAwC,CAAC;QAE3C,OAAO,MAAM,IAAI,CAAC,WAAW,CAAC,gBAAgB,EAAE;YAC9C,GAAG,OAAO;YACV,QAAQ,EAAE,EAAE;SACb,CAAC,CAAC;IACL,CAAC;IAED;;OAEG;IACH,sBAAsB;QACpB,OAAO,CAAC,GAAG,IAAI,CAAC,mBAAmB,CAAC,CAAC;IACvC,CAAC;IAED;;OAEG;IACH,mBAAmB;QACjB,OAAO,IAAI,CAAC,mBAAmB;aAC5B,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,GAAG,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,GAAG,CAAC,OAAO,EAAE,CAAC;aAC1D,IAAI,CAAC,MAAM,CAAC,CAAC;IAClB,CAAC;IAED;;OAEG;IACH,gBAAgB,CAAC,OAAsB;QACrC,IAAI,CAAC,aAAa,GAAG,OAAO,CAAC;QAC7B,MAAM,QAAQ,GAAG,OAAO,CAAC,iBAAiB,EAAE,CAAC;QAC7C,OAAO,CAAC,GAAG,CAAC,gCAAgC,QAAQ,CAAC,MAAM,kBAAkB,CAAC,CAAC;IACjF,CAAC;IAED;;;OAGG;IACK,iBAAiB;QACvB,IAAI,CAAC,IAAI,CAAC,aAAa;YAAE,OAAO,EAAE,CAAC;QAEnC,MAAM,QAAQ,GAAG,IAAI,CAAC,aAAa,CAAC,iBAAiB,EAAE,CAAC;QACxD,OAAO,QAAQ,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;YAC9B,IAAI,EAAE,KAAK,CAAC,IAAI;YAChB,WAAW,EAAE,KAAK,CAAC,WAAW;YAC9B,QAAQ,EAAE,KAAK,CAAC,QAAQ;SACzB,CAAC,CAAC,CAAC;IACN,CAAC;IAED;;OAEG;IACK,kBAAkB;QACxB,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,KAAK,IAAI,0BAA0B,CAAC;QAExE,yCAAyC;QACzC,IAAI,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;YAC3B,MAAM,CAAC,QAAQ,EAAE,KAAK,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YAC9C,OAAO,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;QAC3B,CAAC;QAED,uBAAuB;QACvB,OAAO,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;IACjC,CAAC;IAED;;OAEG;IACK,gBAAgB;QACtB,MAAM,CAAC,QAAQ,EAAE,KAAK,CAAC,GAAG,IAAI,CAAC,kBAAkB,EAAE,CAAC;QACpD,OAAO,GAAG,QAAQ,IAAI,KAAK,EAAE,CAAC;IAChC,CAAC;CAEF"}
1
+ {"version":3,"file":"agent.js","sourceRoot":"","sources":["../../src/agent/agent.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH,OAAO,EAAE,kBAAkB,EAAE,MAAM,6BAA6B,CAAC;AACjE,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAC3D,OAAO,EACL,oBAAoB,EACpB,sBAAsB,EACtB,mBAAmB,GACpB,MAAM,kCAAkC,CAAC;AAC1C,OAAO,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AAC9D,OAAO,EACL,oBAAoB,EACpB,mBAAmB,EACnB,kBAAkB,GAEnB,MAAM,uBAAuB,CAAC;AAG/B,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,EAAE,MAAM,SAAS,CAAC;AA2BzB;;GAEG;AACH,MAAM,OAAO,KAAK;IACR,MAAM,CAAe;IACrB,YAAY,CAAS;IACrB,UAAU,CAAS;IACnB,mBAAmB,GAA6C,EAAE,CAAC;IACnE,SAAS,CAAS,CAAC,yCAAyC;IAC5D,WAAW,CAAS,CAAC,0BAA0B;IAC/C,MAAM,CAAS;IACf,eAAe,GAAY,KAAK,CAAC,CAAC,6CAA6C;IAC/E,aAAa,GAAyB,IAAI,CAAC;IAC3C,KAAK,GAAY,KAAK,CAAC,CAAC,8EAA8E;IAE9G,YAAY,MAAoB,EAAE,MAAsB,EAAE,YAAoB,EAAE,aAA6B;QAC3G,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;QACjC,IAAI,CAAC,aAAa,GAAG,aAAa,IAAI,IAAI,CAAC;QAE3C,+DAA+D;QAC/D,0DAA0D;QAC1D,MAAM,OAAO,GAAG,EAAE,CAAC,OAAO,EAAE,CAAC;QAC7B,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC,SAAS,EAAE,WAAW,IAAI,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,SAAS,EAAE,UAAU,CAAC,CAAC;QAC7F,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;YACpC,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,UAAU,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QACrD,CAAC;QAED,2EAA2E;QAC3E,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,KAAK,EAAE,MAAM,IAAI,OAAO,CAAC,GAAG,CAAC,OAAO,IAAI,SAAS,CAAC;QACvE,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,4CAA4C;QAC1E,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,GAAG,IAAI,CAAC,SAAS,OAAO,CAAC,CAAC;QAExE,oCAAoC;QACpC,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC;YACtC,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,YAAY,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QACvD,CAAC;QAED,OAAO,CAAC,GAAG,CAAC,iCAAiC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;QAC5D,OAAO,CAAC,GAAG,CAAC,yBAAyB,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC;QACzD,OAAO,CAAC,GAAG,CAAC,sBAAsB,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC;QACvD,OAAO,CAAC,GAAG,CAAC,+DAA+D,CAAC,CAAC;IAC/E,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,wBAAwB;QAC5B,mEAAmE;QACnE,IAAI,qBAAqB,EAAE,EAAE,CAAC;YAC5B,IAAI,CAAC;gBACH,OAAO,CAAC,GAAG,CAAC,0DAA0D,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;gBACrF,MAAM,MAAM,GAAG,MAAM,oBAAoB,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;gBAE1E,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBAC7B,OAAO,CAAC,GAAG,CAAC,yBAAyB,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gBACnE,CAAC;gBACD,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBAC9B,OAAO,CAAC,GAAG,CAAC,iCAAiC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gBAC5E,CAAC;YACH,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,OAAO,CAAC,KAAK,CAAC,qCAAqC,EAAE,GAAG,CAAC,CAAC;gBAC1D,mCAAmC;YACrC,CAAC;QACH,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,GAAG,CAAC,yDAAyD,CAAC,CAAC;QACzE,CAAC;QAED,0EAA0E;QAC1E,MAAM,eAAe,GAAG,oBAAoB,CAAC;YAC3C,GAAG,EAAE,IAAI,CAAC,YAAY;YACtB,oBAAoB,EAAE,IAAI;SAC3B,CAAC,CAAC;QAEH,IAAI,eAAe,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACvC,OAAO,CAAC,GAAG,CAAC,kCAAkC,eAAe,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YAEpF,0DAA0D;YAC1D,IAAI,qBAAqB,EAAE,EAAE,CAAC;gBAC5B,KAAK,MAAM,QAAQ,IAAI,eAAe,CAAC,OAAO,EAAE,CAAC;oBAC/C,IAAI,mBAAmB,CAAC,QAAsC,CAAC,EAAE,CAAC;wBAChE,MAAM,OAAO,GAAG,kBAAkB,CAAC,QAAsC,CAAC,CAAC;wBAC3E,IAAI,CAAC;4BACH,MAAM,mBAAmB,CAAC,IAAI,CAAC,MAAM,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;4BAC1D,OAAO,CAAC,GAAG,CAAC,oBAAoB,QAAQ,aAAa,CAAC,CAAC;wBACzD,CAAC;wBAAC,OAAO,GAAG,EAAE,CAAC;4BACb,gCAAgC;4BAChC,OAAO,CAAC,IAAI,CAAC,4BAA4B,QAAQ,GAAG,EAAE,GAAG,CAAC,CAAC;wBAC7D,CAAC;oBACH,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;QAED,IAAI,eAAe,CAAC,UAAU,EAAE,CAAC;YAC/B,OAAO,CAAC,GAAG,CAAC,gEAAgE,CAAC,CAAC;QAChF,CAAC;QAED,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;IAC9B,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,iBAAiB,CAAC,QAAgB;QACtC,IAAI,CAAC,qBAAqB,EAAE,EAAE,CAAC;YAC7B,OAAO,CAAC,GAAG,CAAC,sDAAsD,CAAC,CAAC;YACpE,OAAO,KAAK,CAAC;QACf,CAAC;QAED,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,MAAM,sBAAsB,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAC;YACvF,IAAI,OAAO,EAAE,CAAC;gBACZ,OAAO,CAAC,GAAG,CAAC,kBAAkB,QAAQ,aAAa,CAAC,CAAC;YACvD,CAAC;YACD,OAAO,OAAO,CAAC;QACjB,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,CAAC,KAAK,CAAC,yBAAyB,QAAQ,cAAc,EAAE,GAAG,CAAC,CAAC;YACpE,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;IAED;;OAEG;IACH,iBAAiB;QACf,IAAI,CAAC,mBAAmB,GAAG,EAAE,CAAC;QAC9B,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC,CAAC,iCAAiC;QAC/D,qCAAqC;QACrC,IAAI,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC;YACpC,IAAI,CAAC;gBACH,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;gBAChC,OAAO,CAAC,GAAG,CAAC,oCAAoC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC;YACtE,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,OAAO,CAAC,KAAK,CAAC,wCAAwC,EAAE,GAAG,CAAC,CAAC;YAC/D,CAAC;QACH,CAAC;IACH,CAAC;IAED;;OAEG;IACH,UAAU;QACR,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAC7B,IAAI,CAAC,SAAS,GAAG,GAAG,IAAI,CAAC,MAAM,IAAI,SAAS,EAAE,CAAC;QAC/C,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,GAAG,IAAI,CAAC,SAAS,OAAO,CAAC,CAAC;QACxE,IAAI,CAAC,mBAAmB,GAAG,EAAE,CAAC;QAC9B,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC,CAAC,oCAAoC;QAClE,OAAO,CAAC,GAAG,CAAC,gCAAgC,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC;IAChE,CAAC;IAED;;;OAGG;IACH,MAAM;QACJ,OAAO,IAAI,CAAC,KAAK,CAAC;IACpB,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,WAAW,CACf,WAAmB,EACnB,UAAiC,EAAE;QAEnC,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;QAClB,IAAI,CAAC;YACH,OAAO,CAAC,GAAG,CAAC,KAAK,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;YACnC,OAAO,CAAC,GAAG,CAAC,kCAAkC,CAAC,CAAC;YAChD,OAAO,CAAC,GAAG,CAAC,2BAA2B,IAAI,CAAC,gBAAgB,EAAE,EAAE,CAAC,CAAC;YAElE,+DAA+D;YAC/D,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,CAAC;gBAC1B,MAAM,IAAI,CAAC,wBAAwB,EAAE,CAAC;YACxC,CAAC;YAED,8BAA8B;YAC9B,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC;gBAC5B,IAAI,EAAE,MAAM;gBACZ,OAAO,EAAE,WAAW;aACrB,CAAC,CAAC;YAEH,mFAAmF;YACnF,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;YACjC,MAAM,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC;YAErC,OAAO,CAAC,GAAG,CAAC,oBAAoB,SAAS,EAAE,CAAC,CAAC;YAC7C,OAAO,CAAC,GAAG,CAAC,yBAAyB,WAAW,aAAa,EAAE,CAAC,UAAU,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;YAE5F,uCAAuC;YACvC,MAAM,CAAC,QAAQ,EAAE,KAAK,CAAC,GAAG,IAAI,CAAC,kBAAkB,EAAE,CAAC;YAEpD,kDAAkD;YAClD,MAAM,YAAY,GAAG,IAAI,CAAC,iBAAiB,EAAE,CAAC;YAC9C,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC5B,OAAO,CAAC,GAAG,CAAC,WAAW,YAAY,CAAC,MAAM,iCAAiC,CAAC,CAAC;YAC/E,CAAC;YAED,6CAA6C;YAC7C,MAAM,cAAc,GAAG,MAAM,oBAAoB,CAAC;gBAChD,GAAG,EAAE,IAAI,CAAC,MAAM;gBAChB,QAAQ;gBACR,KAAK;gBACL,QAAQ,EAAE,OAAO,CAAC,GAAG,EAAE;gBACvB,GAAG,EAAE,KAAK,EAAE,gBAAgB,EAAE,aAAa,EAAE,EAAE;oBAC7C,OAAO,CAAC,GAAG,CACT,0BAA0B,gBAAgB,IAAI,aAAa,EAAE,CAC9D,CAAC;oBAEF,iDAAiD;oBACjD,OAAO,MAAM,kBAAkB,CAAC;wBAC9B,SAAS;wBACT,WAAW;wBACX,YAAY,EAAE,IAAI,CAAC,YAAY;wBAC/B,QAAQ,EAAE,OAAO,CAAC,GAAG,EAAE;wBACvB,MAAM,EAAE,IAAI,CAAC,MAAM;wBACnB,MAAM,EAAE,WAAW;wBACnB,QAAQ,EAAE,gBAAgB;wBAC1B,KAAK,EAAE,aAAa;wBACpB,UAAU,EAAE,KAAK;wBACjB,YAAY,EAAE,QAAQ;wBACtB,cAAc,EAAE,KAAK;wBACrB,SAAS,EAAE,MAAM;wBACjB,KAAK,EAAE,SAAS;wBAChB,YAAY;wBACZ,cAAc,EAAE,OAAO,CAAC,cAAc;wBACtC,YAAY,EAAE,OAAO,CAAC,cAAc;qBACrC,CAAC,CAAC;gBACL,CAAC;aACF,CAAC,CAAC;YAEH,MAAM,MAAM,GAAG,cAAc,CAAC,MAAM,CAAC;YAErC,OAAO,CAAC,GAAG,CACT,0BAA0B,cAAc,CAAC,QAAQ,IAAI,cAAc,CAAC,KAAK,EAAE,CAC5E,CAAC;YACF,OAAO,CAAC,GAAG,CAAC,qBAAqB,MAAM,CAAC,IAAI,CAAC,UAAU,IAAI,CAAC,CAAC;YAC7D,OAAO,CAAC,GAAG,CACT,mBAAmB,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,WAAW,IAAI,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,YAAY,EAAE,CAC3G,CAAC;YAEF,wBAAwB;YACxB,MAAM,YAAY,GAChB,MAAM,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;YAEvD,8BAA8B;YAC9B,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC;gBAC5B,IAAI,EAAE,WAAW;gBACjB,OAAO,EAAE,YAAY;aACtB,CAAC,CAAC;YAEH,wBAAwB;YACxB,IAAI,OAAO,CAAC,UAAU,IAAI,YAAY,EAAE,CAAC;gBACvC,OAAO,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC;YACnC,CAAC;YAED,OAAO;gBACL,OAAO,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK;gBAC3B,QAAQ,EAAE,YAAY;gBACtB,SAAS,EAAE,CAAC,EAAE,oCAAoC;gBAClD,UAAU,EAAE,MAAM,CAAC,IAAI,CAAC,UAAU;gBAClC,KAAK,EAAE,CAAC;gBACR,WAAW,EAAE,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,WAAW,IAAI,CAAC;gBAC1D,YAAY,EAAE,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,YAAY,IAAI,CAAC;gBAC5D,KAAK,EAAE,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,OAAO;aAClC,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YACvE,OAAO,CAAC,KAAK,CAAC,iCAAiC,EAAE,OAAO,CAAC,CAAC;YAE1D,OAAO;gBACL,OAAO,EAAE,KAAK;gBACd,KAAK,EAAE,OAAO;gBACd,KAAK,EAAE,CAAC;aACT,CAAC;QACJ,CAAC;gBAAS,CAAC;YACT,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACrB,CAAC;IACH,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,gBAAgB,CACpB,UAAiC,EAAE;QAEnC,OAAO,CAAC,GAAG,CAAC,sCAAsC,CAAC,CAAC;QAEpD,6DAA6D;QAC7D,MAAM,gBAAgB,GACpB,0EAA0E;YAC1E,qDAAqD;YACrD,iDAAiD,CAAC;QAEpD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,gBAAgB,EAAE;YACtD,GAAG,OAAO;YACV,QAAQ,EAAE,EAAE;SACb,CAAC,CAAC;QAEH,uEAAuE;QACvE,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;QAC/C,MAAM,IAAI,GAAG,QAAQ,KAAK,cAAc;YACtC,QAAQ,CAAC,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,KAAK,cAAc,CAAC;QAE9D,IAAI,IAAI,EAAE,CAAC;YACT,OAAO,CAAC,GAAG,CAAC,oCAAoC,CAAC,CAAC;YAClD,OAAO;gBACL,GAAG,MAAM;gBACT,QAAQ,EAAE,cAAc;aACzB,CAAC;QACJ,CAAC;QAED,OAAO,CAAC,GAAG,CAAC,sDAAsD,CAAC,CAAC;QACpE,OAAO,MAAM,CAAC;IAChB,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,yBAAyB,CAC7B,UAAiC,EAAE;QAEnC,OAAO,CAAC,GAAG,CAAC,2CAA2C,CAAC,CAAC;QAEzD,MAAM,gBAAgB,GACpB,kDAAkD;YAClD,oDAAoD;YACpD,gEAAgE;YAChE,uDAAuD;YACvD,wCAAwC,CAAC;QAE3C,OAAO,MAAM,IAAI,CAAC,WAAW,CAAC,gBAAgB,EAAE;YAC9C,GAAG,OAAO;YACV,QAAQ,EAAE,EAAE;SACb,CAAC,CAAC;IACL,CAAC;IAED;;OAEG;IACH,sBAAsB;QACpB,OAAO,CAAC,GAAG,IAAI,CAAC,mBAAmB,CAAC,CAAC;IACvC,CAAC;IAED;;OAEG;IACH,mBAAmB;QACjB,OAAO,IAAI,CAAC,mBAAmB;aAC5B,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,GAAG,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,GAAG,CAAC,OAAO,EAAE,CAAC;aAC1D,IAAI,CAAC,MAAM,CAAC,CAAC;IAClB,CAAC;IAED;;OAEG;IACH,gBAAgB,CAAC,OAAsB;QACrC,IAAI,CAAC,aAAa,GAAG,OAAO,CAAC;QAC7B,MAAM,QAAQ,GAAG,OAAO,CAAC,iBAAiB,EAAE,CAAC;QAC7C,OAAO,CAAC,GAAG,CAAC,gCAAgC,QAAQ,CAAC,MAAM,kBAAkB,CAAC,CAAC;IACjF,CAAC;IAED;;;OAGG;IACK,iBAAiB;QACvB,IAAI,CAAC,IAAI,CAAC,aAAa;YAAE,OAAO,EAAE,CAAC;QAEnC,MAAM,QAAQ,GAAG,IAAI,CAAC,aAAa,CAAC,iBAAiB,EAAE,CAAC;QACxD,OAAO,QAAQ,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;YAC9B,IAAI,EAAE,KAAK,CAAC,IAAI;YAChB,WAAW,EAAE,KAAK,CAAC,WAAW;YAC9B,QAAQ,EAAE,KAAK,CAAC,QAAQ;SACzB,CAAC,CAAC,CAAC;IACN,CAAC;IAED;;OAEG;IACK,kBAAkB;QACxB,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,KAAK,IAAI,0BAA0B,CAAC;QAExE,yCAAyC;QACzC,IAAI,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;YAC3B,MAAM,CAAC,QAAQ,EAAE,KAAK,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YAC9C,OAAO,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;QAC3B,CAAC;QAED,uBAAuB;QACvB,OAAO,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;IACjC,CAAC;IAED;;OAEG;IACK,gBAAgB;QACtB,MAAM,CAAC,QAAQ,EAAE,KAAK,CAAC,GAAG,IAAI,CAAC,kBAAkB,EAAE,CAAC;QACpD,OAAO,GAAG,QAAQ,IAAI,KAAK,EAAE,CAAC;IAChC,CAAC;CAEF"}
@@ -1 +1 @@
1
- {"version":3,"file":"system-prompt.d.ts","sourceRoot":"","sources":["../../../src/agent/pi-embedded-runner/system-prompt.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAKH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAY1D,MAAM,MAAM,UAAU,GAAG,MAAM,GAAG,SAAS,GAAG,MAAM,CAAC;AAcrD,MAAM,MAAM,WAAW,GAAG;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;CAClB,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAAG;IAC/B,YAAY,EAAE,MAAM,CAAC;IACrB,MAAM,CAAC,EAAE,YAAY,CAAC;IACtB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,wEAAwE;IACxE,UAAU,CAAC,EAAE,UAAU,CAAC;IACxB,UAAU,CAAC,EAAE,KAAK,GAAG,OAAO,GAAG,MAAM,CAAC;IACtC,WAAW,CAAC,EAAE;QACZ,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,EAAE,CAAC,EAAE,MAAM,CAAC;QACZ,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,QAAQ,CAAC,EAAE,MAAM,CAAC;KACnB,CAAC;IACF,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,8EAA8E;IAC9E,YAAY,CAAC,EAAE,WAAW,EAAE,CAAC;IAC7B,+CAA+C;IAC/C,MAAM,CAAC,EAAE,gBAAgB,EAAE,CAAC;CAC7B,CAAC;AAEF;;GAEG;AACH,wBAAgB,yBAAyB,CAAC,YAAY,EAAE,MAAM,GAAG,WAAW,EAAE,CAsB7E;AA6OD;;GAEG;AACH,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,kBAAkB,GAAG,MAAM,CA8GzE;AAED;;;GAGG;AACH,wBAAgB,0BAA0B,CACxC,YAAY,EAAE,MAAM,GACnB,CAAC,aAAa,EAAE,MAAM,KAAK,MAAM,CAGnC"}
1
+ {"version":3,"file":"system-prompt.d.ts","sourceRoot":"","sources":["../../../src/agent/pi-embedded-runner/system-prompt.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAKH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAY1D,MAAM,MAAM,UAAU,GAAG,MAAM,GAAG,SAAS,GAAG,MAAM,CAAC;AAcrD,MAAM,MAAM,WAAW,GAAG;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;CAClB,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAAG;IAC/B,YAAY,EAAE,MAAM,CAAC;IACrB,MAAM,CAAC,EAAE,YAAY,CAAC;IACtB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,wEAAwE;IACxE,UAAU,CAAC,EAAE,UAAU,CAAC;IACxB,UAAU,CAAC,EAAE,KAAK,GAAG,OAAO,GAAG,MAAM,CAAC;IACtC,WAAW,CAAC,EAAE;QACZ,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,EAAE,CAAC,EAAE,MAAM,CAAC;QACZ,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,QAAQ,CAAC,EAAE,MAAM,CAAC;KACnB,CAAC;IACF,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,8EAA8E;IAC9E,YAAY,CAAC,EAAE,WAAW,EAAE,CAAC;IAC7B,+CAA+C;IAC/C,MAAM,CAAC,EAAE,gBAAgB,EAAE,CAAC;CAC7B,CAAC;AAEF;;GAEG;AACH,wBAAgB,yBAAyB,CAAC,YAAY,EAAE,MAAM,GAAG,WAAW,EAAE,CAsB7E;AAsQD;;GAEG;AACH,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,kBAAkB,GAAG,MAAM,CAmHzE;AAED;;;GAGG;AACH,wBAAgB,0BAA0B,CACxC,YAAY,EAAE,MAAM,GACnB,CAAC,aAAa,EAAE,MAAM,KAAK,MAAM,CAGnC"}
@@ -152,6 +152,30 @@ function buildBrowserSection(toolSummaries) {
152
152
  "",
153
153
  ];
154
154
  }
155
+ /**
156
+ * Build the heartbeats section (OpenClaw pattern)
157
+ * Tells the agent how to handle heartbeat polls and HEARTBEAT.md
158
+ */
159
+ function buildHeartbeatsSection() {
160
+ return [
161
+ "## Heartbeats",
162
+ "",
163
+ "You receive periodic heartbeat polls (~every 30 minutes). When a heartbeat fires:",
164
+ "- Read HEARTBEAT.md from your workspace context. Follow its checklist strictly.",
165
+ "- HEARTBEAT.md may be updated by the user via the client app at any time — always follow the latest version.",
166
+ "- Do not infer or repeat old tasks from prior conversations.",
167
+ "- If nothing needs attention, reply exactly: HEARTBEAT_OK",
168
+ "- If something needs attention, reply with the alert text — do NOT include HEARTBEAT_OK.",
169
+ "",
170
+ "Cron jobs may also inject system events into your heartbeat. When you see system events, process them and notify the user if needed.",
171
+ "",
172
+ "### Writing good cron job instructions",
173
+ "- When you create a reminder via cron, write the instruction as it should read when it fires (e.g. 'Remind the user about their lunch meeting at noon').",
174
+ "- Include relevant context from the conversation — the heartbeat session has no prior context.",
175
+ "- For one-shot reminders, use schedule_type='at' with delete_after_run=true.",
176
+ "",
177
+ ];
178
+ }
155
179
  /**
156
180
  * Build the skills section (OpenClaw pattern: <available_skills> XML)
157
181
  * This tells the agent which skills are available and how to use them.
@@ -277,6 +301,10 @@ export function buildAgentSystemPrompt(params) {
277
301
  if (!isMinimal) {
278
302
  lines.push(...buildBrowserSection(toolSummaries));
279
303
  }
304
+ // Add heartbeats section (OpenClaw pattern)
305
+ if (!isMinimal) {
306
+ lines.push(...buildHeartbeatsSection());
307
+ }
280
308
  // Add skills section (OpenClaw pattern: before workspace context)
281
309
  if (!isMinimal) {
282
310
  lines.push(...buildSkillsSection(params.skills));
@@ -1 +1 @@
1
- {"version":3,"file":"system-prompt.js","sourceRoot":"","sources":["../../../src/agent/pi-embedded-runner/system-prompt.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"system-prompt.js","sourceRoot":"","sources":["../../../src/agent/pi-embedded-runner/system-prompt.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"scheduler.d.ts","sourceRoot":"","sources":["../../src/cron/scheduler.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAC/C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAiB9D;;;GAGG;AACH,qBAAa,aAAa;IACxB,OAAO,CAAC,KAAK,CAAQ;IACrB,OAAO,CAAC,MAAM,CAAe;IAC7B,OAAO,CAAC,eAAe,CAAC,CAAkB;IAC1C,OAAO,CAAC,KAAK,CAKX;gBAEU,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,YAAY,EAAE,eAAe,CAAC,EAAE,eAAe;IAMjF;;;OAGG;IACH,KAAK,IAAI,IAAI;IAeb;;;OAGG;IACH,IAAI,IAAI,IAAI;IAQZ;;;OAGG;YACW,OAAO;IAiBrB;;;OAGG;YACW,UAAU;IAyFxB;;;OAGG;IACH,OAAO,CAAC,gBAAgB;IAuCxB;;;OAGG;IACH,SAAS;;;;;;IAST;;;OAGG;IACG,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC;CAIpC;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CACjC,KAAK,EAAE,KAAK,EACZ,MAAM,EAAE,YAAY,GACnB,aAAa,CAEf"}
1
+ {"version":3,"file":"scheduler.d.ts","sourceRoot":"","sources":["../../src/cron/scheduler.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAC/C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAiB9D;;;GAGG;AACH,qBAAa,aAAa;IACxB,OAAO,CAAC,KAAK,CAAQ;IACrB,OAAO,CAAC,MAAM,CAAe;IAC7B,OAAO,CAAC,eAAe,CAAC,CAAkB;IAC1C,OAAO,CAAC,KAAK,CAMX;gBAEU,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,YAAY,EAAE,eAAe,CAAC,EAAE,eAAe;IAMjF;;;OAGG;IACH,KAAK,IAAI,IAAI;IAeb;;;OAGG;IACH,IAAI,IAAI,IAAI;IAQZ;;;OAGG;YACW,OAAO;IAiBrB;;;OAGG;YACW,UAAU;IAgHxB;;;OAGG;IACH,OAAO,CAAC,gBAAgB;IAuCxB;;;OAGG;IACH,SAAS;;;;;;IAST;;;OAGG;IACG,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC;CAIpC;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CACjC,KAAK,EAAE,KAAK,EACZ,MAAM,EAAE,YAAY,GACnB,aAAa,CAEf"}
@@ -5,8 +5,7 @@
5
5
  */
6
6
  import cron from "node-cron";
7
7
  import { CronExpressionParser } from "cron-parser";
8
- import { getDueCronJobs, updateNextRunTime } from "../supabase/cron-jobs.js";
9
- import { sendNotification } from "../supabase/notifications.js";
8
+ import { getDueCronJobs, updateNextRunTime, updateCronJob, deleteCronJob } from "../supabase/cron-jobs.js";
10
9
  import { executeCronJobs } from "./job-executor.js";
11
10
  /**
12
11
  * Cron scheduler class
@@ -21,6 +20,7 @@ export class CronScheduler {
21
20
  running: false,
22
21
  lastCheckAt: null,
23
22
  jobsExecuted: 0,
23
+ runningJobIds: new Set(),
24
24
  };
25
25
  constructor(agent, config, heartbeatRunner) {
26
26
  this.agent = agent;
@@ -84,14 +84,35 @@ export class CronScheduler {
84
84
  try {
85
85
  const userId = this.config.agent?.userId || "default";
86
86
  // Get jobs that are due to run
87
- const dueJobs = await getDueCronJobs(userId);
87
+ const allDueJobs = await getDueCronJobs(userId);
88
+ // Filter out jobs that are already running (OpenClaw: j.state.runningAtMs check)
89
+ const dueJobs = allDueJobs.filter((j) => {
90
+ if (this.state.runningJobIds.has(j.id)) {
91
+ console.log(`[CRON] Skipping job ${j.id} — already running`);
92
+ return false;
93
+ }
94
+ return true;
95
+ });
88
96
  if (dueJobs.length === 0) {
89
97
  return;
90
98
  }
91
99
  console.log(`[CRON] Found ${dueJobs.length} job(s) due at ${this.state.lastCheckAt.toISOString()}`);
100
+ // Mark jobs as running before execution (OpenClaw pattern: runningAtMs)
101
+ for (const job of dueJobs) {
102
+ this.state.runningJobIds.add(job.id);
103
+ }
92
104
  // Execute jobs sequentially (OpenClaw pattern)
93
105
  // OpenClaw executes jobs one by one to avoid overwhelming the system
94
- const results = await executeCronJobs(dueJobs, this.agent);
106
+ let results;
107
+ try {
108
+ results = await executeCronJobs(dueJobs, this.agent);
109
+ }
110
+ finally {
111
+ // Clear running state for all jobs (even on error)
112
+ for (const job of dueJobs) {
113
+ this.state.runningJobIds.delete(job.id);
114
+ }
115
+ }
95
116
  // Update next run times and handle wake modes (OpenClaw pattern)
96
117
  for (let i = 0; i < dueJobs.length; i++) {
97
118
  const job = dueJobs[i];
@@ -103,45 +124,48 @@ export class CronScheduler {
103
124
  console.log(`[CRON] Job ${job.id} next run: ${nextRunAt.toISOString()}`);
104
125
  }
105
126
  else {
106
- // One-shot (at) job or invalid schedule
107
- console.warn(`[CRON] Could not calculate next run for job ${job.id}`);
127
+ // One-shot (at) job completed or invalid schedule — disable to prevent re-execution
128
+ const scheduleType = job.schedule_type || "cron";
129
+ if (scheduleType === "at") {
130
+ // OpenClaw pattern: delete one-shot jobs if deleteAfterRun is set, otherwise disable
131
+ if (job.delete_after_run) {
132
+ console.log(`[CRON] One-shot job ${job.id} ("${job.name}") completed, deleting (delete_after_run=true)`);
133
+ await deleteCronJob(job.id);
134
+ }
135
+ else {
136
+ console.log(`[CRON] One-shot job ${job.id} ("${job.name}") completed, marking as completed`);
137
+ await updateCronJob(job.id, { status: "completed", enabled: false });
138
+ }
139
+ }
140
+ else {
141
+ console.warn(`[CRON] Could not calculate next run for job ${job.id}, disabling to prevent re-execution`);
142
+ await updateCronJob(job.id, { enabled: false });
143
+ }
108
144
  }
109
145
  }
110
146
  catch (error) {
111
147
  console.error(`[CRON] Failed to update next run time for job ${job.id}:`, error);
112
148
  }
113
- // Wake heartbeat if configured (OpenClaw pattern: cron → heartbeat integration)
114
- if (this.heartbeatRunner && job.session_target === "main") {
149
+ // Route results through heartbeat pipeline (OpenClaw pattern: cron → heartbeat → notification)
150
+ // OpenClaw does NOT send notifications directly from cron; the heartbeat runner acts as gatekeeper
151
+ if (this.heartbeatRunner) {
115
152
  const wakeMode = job.wake_mode || "next-heartbeat";
116
- const eventText = `Cron job "${job.name}" completed (${result?.status || "unknown"})`;
153
+ const statusPrefix = result?.status === "success" ? "✅ Completed" : "❌ Failed";
154
+ const responseSnippet = result?.response ? `: ${result.response.slice(0, 300)}` : "";
155
+ const eventText = `${statusPrefix} cron job "${job.name}"${responseSnippet}`;
156
+ this.heartbeatRunner.enqueueSystemEvent(eventText);
117
157
  if (wakeMode === "now") {
118
158
  // Trigger immediate heartbeat (OpenClaw: runHeartbeatOnce)
119
- this.heartbeatRunner.enqueueSystemEvent(eventText);
120
159
  this.heartbeatRunner.requestHeartbeatNow({ reason: `cron:${job.id}` });
121
160
  console.log(`[CRON] Triggered immediate heartbeat for job ${job.id}`);
122
161
  }
123
162
  else {
124
- // Enqueue for next scheduled heartbeat
125
- this.heartbeatRunner.enqueueSystemEvent(eventText);
126
163
  console.log(`[CRON] Enqueued system event for next heartbeat: job ${job.id}`);
127
164
  }
128
165
  }
129
- // Send notification for important cron results
130
- if (result && result.status === "success" && result.response) {
131
- try {
132
- const userId = this.config.agent?.userId || "default";
133
- await sendNotification({
134
- user_id: userId,
135
- type: "cron",
136
- title: `Cron: ${job.name}`,
137
- message: result.response.slice(0, 500),
138
- priority: "normal",
139
- metadata: { jobId: job.id, jobName: job.name },
140
- });
141
- }
142
- catch (err) {
143
- console.warn(`[CRON] Failed to send notification for job ${job.id}:`, err);
144
- }
166
+ else {
167
+ // No heartbeat runner available log only (no direct notifications)
168
+ console.log(`[CRON] Job ${job.id} result: ${result?.status || "unknown"} (no heartbeat runner for notification)`);
145
169
  }
146
170
  }
147
171
  this.state.jobsExecuted += results.length;
@@ -1 +1 @@
1
- {"version":3,"file":"scheduler.js","sourceRoot":"","sources":["../../src/cron/scheduler.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"scheduler.js","sourceRoot":"","sources":["../../src/cron/scheduler.ts"],"names":[],"mappings":"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"}
@@ -37,6 +37,7 @@ export type CronJob = {
37
37
  session_target?: CronSessionTarget;
38
38
  wake_mode?: CronWakeMode;
39
39
  enabled?: boolean;
40
+ delete_after_run?: boolean;
40
41
  last_run_at?: string;
41
42
  last_run_status?: "success" | "failure";
42
43
  last_run_error?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/cron/types.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;GAEG;AACH,MAAM,MAAM,aAAa,GAAG,QAAQ,GAAG,QAAQ,GAAG,WAAW,GAAG,QAAQ,GAAG,UAAU,CAAC;AAEtF;;GAEG;AACH,MAAM,MAAM,gBAAgB,GAAG,IAAI,GAAG,OAAO,GAAG,MAAM,CAAC;AAEvD;;GAEG;AACH,MAAM,MAAM,iBAAiB,GAAG,MAAM,GAAG,UAAU,CAAC;AAEpD;;GAEG;AACH,MAAM,MAAM,YAAY,GAAG,gBAAgB,GAAG,KAAK,CAAC;AAEpD;;;GAGG;AACH,MAAM,MAAM,OAAO,GAAG;IACpB,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,eAAe,EAAE,MAAM,CAAC;IACxB,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,aAAa,CAAC;IAEtB,aAAa,CAAC,EAAE,gBAAgB,CAAC;IACjC,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,cAAc,CAAC,EAAE,iBAAiB,CAAC;IACnC,SAAS,CAAC,EAAE,YAAY,CAAC;IACzB,OAAO,CAAC,EAAE,OAAO,CAAC;IAElB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,eAAe,CAAC,EAAE,SAAS,GAAG,SAAS,CAAC;IACxC,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,sBAAsB,GAAG;IACnC,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,SAAS,GAAG,SAAS,CAAC;IAC9B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;CACrB,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,cAAc,GAAG;IAC3B,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,SAAS,GAAG,SAAS,CAAC;IAC9B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;CACpB,CAAC"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/cron/types.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;GAEG;AACH,MAAM,MAAM,aAAa,GAAG,QAAQ,GAAG,QAAQ,GAAG,WAAW,GAAG,QAAQ,GAAG,UAAU,CAAC;AAEtF;;GAEG;AACH,MAAM,MAAM,gBAAgB,GAAG,IAAI,GAAG,OAAO,GAAG,MAAM,CAAC;AAEvD;;GAEG;AACH,MAAM,MAAM,iBAAiB,GAAG,MAAM,GAAG,UAAU,CAAC;AAEpD;;GAEG;AACH,MAAM,MAAM,YAAY,GAAG,gBAAgB,GAAG,KAAK,CAAC;AAEpD;;;GAGG;AACH,MAAM,MAAM,OAAO,GAAG;IACpB,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,eAAe,EAAE,MAAM,CAAC;IACxB,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,aAAa,CAAC;IAEtB,aAAa,CAAC,EAAE,gBAAgB,CAAC;IACjC,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,cAAc,CAAC,EAAE,iBAAiB,CAAC;IACnC,SAAS,CAAC,EAAE,YAAY,CAAC;IACzB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAE3B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,eAAe,CAAC,EAAE,SAAS,GAAG,SAAS,CAAC;IACxC,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,sBAAsB,GAAG;IACnC,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,SAAS,GAAG,SAAS,CAAC;IAC9B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;CACrB,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,cAAc,GAAG;IAC3B,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,SAAS,GAAG,SAAS,CAAC;IAC9B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;CACpB,CAAC"}
@@ -60,6 +60,16 @@ export declare class HeartbeatRunner {
60
60
  * Pattern: OpenClaw's runHeartbeatOnce (full logic)
61
61
  */
62
62
  private runHeartbeatCheck;
63
+ /**
64
+ * Sync HEARTBEAT.md from Supabase Storage to local filesystem (before heartbeat)
65
+ * Supabase Storage is the source of truth — picks up client executor updates
66
+ */
67
+ private syncHeartbeatFromStorage;
68
+ /**
69
+ * Sync HEARTBEAT.md from local filesystem back to Supabase Storage (after heartbeat)
70
+ * Preserves any edits the AI agent made during the heartbeat turn
71
+ */
72
+ private syncHeartbeatToStorage;
63
73
  /**
64
74
  * Check quiet hours (OpenClaw: isWithinActiveHours inverted)
65
75
  */
@@ -1 +1 @@
1
- {"version":3,"file":"runner.d.ts","sourceRoot":"","sources":["../../src/heartbeat/runner.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAKH,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAC/C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAEvD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AA+JlD,MAAM,MAAM,eAAe,GAAG;IAC5B,OAAO,EAAE,OAAO,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB,CAAC;AA4BF,qBAAa,eAAe;IAC1B,OAAO,CAAC,KAAK,CAAQ;IACrB,OAAO,CAAC,MAAM,CAAe;IAC7B,OAAO,CAAC,eAAe,CAAkB;IACzC,OAAO,CAAC,YAAY,CAAS;IAC7B,OAAO,CAAC,KAAK,CAUX;IACF,OAAO,CAAC,SAAS,CAIf;gBAGA,KAAK,EAAE,KAAK,EACZ,MAAM,EAAE,YAAY,EACpB,eAAe,GAAE,eAGhB;IASH;;;OAGG;IACH,KAAK,IAAI,IAAI;IAoBb;;OAEG;IACH,IAAI,IAAI,IAAI;IAgBZ;;;OAGG;IACH,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAOtC;;;OAGG;IACH,mBAAmB,CAAC,IAAI,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,MAAM,CAAC;QAAC,UAAU,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI;IA+B1E;;;OAGG;IACH,IAAI,CAAC,IAAI,EAAE;QAAE,IAAI,EAAE,KAAK,GAAG,gBAAgB,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI;IAiBlE;;;OAGG;YACW,OAAO;IAgBrB;;;OAGG;YACW,iBAAiB;IA6J/B;;OAEG;IACH,OAAO,CAAC,YAAY;IAsBpB;;;OAGG;YACW,yBAAyB;IAiBvC;;;OAGG;YACW,mBAAmB;IAsBjC,SAAS;;;;;;;;;;IAaH,YAAY,IAAI,OAAO,CAAC,eAAe,CAAC;IAK9C,UAAU,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI;CAQnC;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CACnC,KAAK,EAAE,KAAK,EACZ,MAAM,EAAE,YAAY,EACpB,eAAe,CAAC,EAAE,eAAe,GAChC,eAAe,CAEjB"}
1
+ {"version":3,"file":"runner.d.ts","sourceRoot":"","sources":["../../src/heartbeat/runner.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAKH,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAC/C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAIvD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AA+JlD,MAAM,MAAM,eAAe,GAAG;IAC5B,OAAO,EAAE,OAAO,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB,CAAC;AA4BF,qBAAa,eAAe;IAC1B,OAAO,CAAC,KAAK,CAAQ;IACrB,OAAO,CAAC,MAAM,CAAe;IAC7B,OAAO,CAAC,eAAe,CAAkB;IACzC,OAAO,CAAC,YAAY,CAAS;IAC7B,OAAO,CAAC,KAAK,CAUX;IACF,OAAO,CAAC,SAAS,CAIf;gBAGA,KAAK,EAAE,KAAK,EACZ,MAAM,EAAE,YAAY,EACpB,eAAe,GAAE,eAGhB;IASH;;;OAGG;IACH,KAAK,IAAI,IAAI;IAoBb;;OAEG;IACH,IAAI,IAAI,IAAI;IAgBZ;;;OAGG;IACH,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAOtC;;;OAGG;IACH,mBAAmB,CAAC,IAAI,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,MAAM,CAAC;QAAC,UAAU,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI;IA+B1E;;;OAGG;IACH,IAAI,CAAC,IAAI,EAAE;QAAE,IAAI,EAAE,KAAK,GAAG,gBAAgB,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI;IAiBlE;;;OAGG;YACW,OAAO;IAgBrB;;;OAGG;YACW,iBAAiB;IAiL/B;;;OAGG;YACW,wBAAwB;IAiBtC;;;OAGG;YACW,sBAAsB;IAcpC;;OAEG;IACH,OAAO,CAAC,YAAY;IAsBpB;;;OAGG;YACW,yBAAyB;IAiBvC;;;OAGG;YACW,mBAAmB;IAsBjC,SAAS;;;;;;;;;;IAaH,YAAY,IAAI,OAAO,CAAC,eAAe,CAAC;IAK9C,UAAU,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI;CAQnC;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CACnC,KAAK,EAAE,KAAK,EACZ,MAAM,EAAE,YAAY,EACpB,eAAe,CAAC,EAAE,eAAe,GAChC,eAAe,CAEjB"}
@@ -7,6 +7,8 @@ import cron from "node-cron";
7
7
  import fs from "node:fs";
8
8
  import path from "node:path";
9
9
  import { sendNotification, createHeartbeatHistory } from "../supabase/notifications.js";
10
+ import { downloadWorkspaceFile, syncLocalFileToStorage } from "../supabase/workspace-storage.js";
11
+ import { isSupabaseInitialized } from "../supabase/client.js";
10
12
  // ---------- constants (from OpenClaw auto-reply/heartbeat.ts) ----------
11
13
  /**
12
14
  * OpenClaw heartbeat prompt - keep it tight, avoid the model inventing tasks
@@ -292,7 +294,19 @@ export class HeartbeatRunner {
292
294
  const startTime = Date.now();
293
295
  const executedAt = new Date().toISOString();
294
296
  this.state.lastRunAt = new Date();
295
- // 1. Check quiet hours (OpenClaw: isWithinActiveHours)
297
+ // 1a. Check if agent is busy with user requests (OpenClaw: requests-in-flight check)
298
+ if (this.agent.isBusy()) {
299
+ console.log("[HEARTBEAT] Agent busy (requests-in-flight), skipping");
300
+ const result = {
301
+ status: "skipped",
302
+ reason: "requests-in-flight",
303
+ duration: Date.now() - startTime,
304
+ executedAt,
305
+ };
306
+ await this.logHeartbeatHistory(result);
307
+ return result;
308
+ }
309
+ // 1b. Check quiet hours (OpenClaw: isWithinActiveHours)
296
310
  if (this.isQuietHours()) {
297
311
  console.log("[HEARTBEAT] Quiet hours, skipping");
298
312
  const result = {
@@ -304,9 +318,12 @@ export class HeartbeatRunner {
304
318
  await this.logHeartbeatHistory(result);
305
319
  return result;
306
320
  }
307
- // 2. Check if HEARTBEAT.md is effectively empty (OpenClaw pattern: save API calls)
321
+ // 2a. Sync HEARTBEAT.md from Supabase Storage (source of truth)
322
+ // This picks up client executor updates (dual-executor architecture)
308
323
  const isExecEvent = reason === "exec-event";
309
324
  const heartbeatFilePath = path.join(this.workspaceDir, "HEARTBEAT.md");
325
+ await this.syncHeartbeatFromStorage(heartbeatFilePath);
326
+ // 2b. Check if HEARTBEAT.md is effectively empty (OpenClaw pattern: save API calls)
310
327
  try {
311
328
  if (fs.existsSync(heartbeatFilePath)) {
312
329
  const content = fs.readFileSync(heartbeatFilePath, "utf-8");
@@ -359,6 +376,8 @@ export class HeartbeatRunner {
359
376
  await this.logHeartbeatHistory(result);
360
377
  return result;
361
378
  }
379
+ // 4b. Sync HEARTBEAT.md back to Storage (in case agent edited it during the turn)
380
+ await this.syncHeartbeatToStorage(heartbeatFilePath);
362
381
  // 5. Process response (OpenClaw pattern: stripHeartbeatToken)
363
382
  const response = agentResult.response?.trim() || "";
364
383
  const stripped = stripHeartbeatToken(response);
@@ -430,6 +449,46 @@ export class HeartbeatRunner {
430
449
  // ═══════════════════════════════════════════════════
431
450
  // HELPERS
432
451
  // ═══════════════════════════════════════════════════
452
+ /**
453
+ * Sync HEARTBEAT.md from Supabase Storage to local filesystem (before heartbeat)
454
+ * Supabase Storage is the source of truth — picks up client executor updates
455
+ */
456
+ async syncHeartbeatFromStorage(localPath) {
457
+ if (!isSupabaseInitialized())
458
+ return;
459
+ const userId = this.config.agent?.userId || "default";
460
+ try {
461
+ const content = await downloadWorkspaceFile(userId, "HEARTBEAT.md");
462
+ if (content !== null) {
463
+ fs.writeFileSync(localPath, content, "utf-8");
464
+ console.log("[HEARTBEAT] Synced HEARTBEAT.md from Storage (source of truth)");
465
+ }
466
+ // If null (not in Storage), keep existing local copy or let template creation handle it
467
+ }
468
+ catch (err) {
469
+ console.warn("[HEARTBEAT] Failed to sync HEARTBEAT.md from Storage (non-critical):", err);
470
+ // Continue with local copy — best-effort sync
471
+ }
472
+ }
473
+ /**
474
+ * Sync HEARTBEAT.md from local filesystem back to Supabase Storage (after heartbeat)
475
+ * Preserves any edits the AI agent made during the heartbeat turn
476
+ */
477
+ async syncHeartbeatToStorage(localPath) {
478
+ if (!isSupabaseInitialized())
479
+ return;
480
+ if (!fs.existsSync(localPath))
481
+ return;
482
+ const userId = this.config.agent?.userId || "default";
483
+ try {
484
+ await syncLocalFileToStorage(userId, this.workspaceDir, "HEARTBEAT.md");
485
+ console.log("[HEARTBEAT] Synced HEARTBEAT.md back to Storage");
486
+ }
487
+ catch (err) {
488
+ console.warn("[HEARTBEAT] Failed to sync HEARTBEAT.md to Storage (non-critical):", err);
489
+ // Non-fatal — local edits will be pushed on next successful sync
490
+ }
491
+ }
433
492
  /**
434
493
  * Check quiet hours (OpenClaw: isWithinActiveHours inverted)
435
494
  */