@farazirfan/costar-server-executor 1.7.29 → 1.7.31

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 (65) hide show
  1. package/dist/agent/agent.d.ts +105 -0
  2. package/dist/agent/agent.d.ts.map +1 -1
  3. package/dist/agent/agent.js +534 -0
  4. package/dist/agent/agent.js.map +1 -1
  5. package/dist/agent/model-fallback.d.ts.map +1 -1
  6. package/dist/agent/model-fallback.js +14 -0
  7. package/dist/agent/model-fallback.js.map +1 -1
  8. package/dist/agent/pi-embedded-runner/compact.d.ts +7 -0
  9. package/dist/agent/pi-embedded-runner/compact.d.ts.map +1 -1
  10. package/dist/agent/pi-embedded-runner/compact.js +100 -4
  11. package/dist/agent/pi-embedded-runner/compact.js.map +1 -1
  12. package/dist/agent/pi-embedded-runner/run.d.ts +7 -0
  13. package/dist/agent/pi-embedded-runner/run.d.ts.map +1 -1
  14. package/dist/agent/pi-embedded-runner/run.js +373 -112
  15. package/dist/agent/pi-embedded-runner/run.js.map +1 -1
  16. package/dist/agent/pi-embedded-runner/subscribe.d.ts +14 -0
  17. package/dist/agent/pi-embedded-runner/subscribe.d.ts.map +1 -1
  18. package/dist/agent/pi-embedded-runner/subscribe.js +54 -2
  19. package/dist/agent/pi-embedded-runner/subscribe.js.map +1 -1
  20. package/dist/agent/pi-embedded-runner/tool-result-context-guard.d.ts +33 -0
  21. package/dist/agent/pi-embedded-runner/tool-result-context-guard.d.ts.map +1 -0
  22. package/dist/agent/pi-embedded-runner/tool-result-context-guard.js +287 -0
  23. package/dist/agent/pi-embedded-runner/tool-result-context-guard.js.map +1 -0
  24. package/dist/agent/pi-embedded-runner/tools.d.ts +8 -1
  25. package/dist/agent/pi-embedded-runner/tools.d.ts.map +1 -1
  26. package/dist/agent/pi-embedded-runner/tools.js +10 -2
  27. package/dist/agent/pi-embedded-runner/tools.js.map +1 -1
  28. package/dist/agent/pi-embedded-runner/types.d.ts +11 -0
  29. package/dist/agent/pi-embedded-runner/types.d.ts.map +1 -1
  30. package/dist/api/chat.d.ts.map +1 -1
  31. package/dist/api/chat.js +13 -0
  32. package/dist/api/chat.js.map +1 -1
  33. package/dist/cli.js +1 -1
  34. package/dist/cron/index.d.ts +1 -1
  35. package/dist/cron/index.d.ts.map +1 -1
  36. package/dist/cron/schedule.d.ts +46 -0
  37. package/dist/cron/schedule.d.ts.map +1 -0
  38. package/dist/cron/schedule.js +109 -0
  39. package/dist/cron/schedule.js.map +1 -0
  40. package/dist/cron/scheduler.d.ts +86 -40
  41. package/dist/cron/scheduler.d.ts.map +1 -1
  42. package/dist/cron/scheduler.js +525 -159
  43. package/dist/cron/scheduler.js.map +1 -1
  44. package/dist/cron/types.d.ts +16 -0
  45. package/dist/cron/types.d.ts.map +1 -1
  46. package/dist/heartbeat/runner.d.ts +9 -4
  47. package/dist/heartbeat/runner.d.ts.map +1 -1
  48. package/dist/heartbeat/runner.js +116 -48
  49. package/dist/heartbeat/runner.js.map +1 -1
  50. package/dist/server.d.ts +1 -1
  51. package/dist/server.d.ts.map +1 -1
  52. package/dist/server.js +24 -3
  53. package/dist/server.js.map +1 -1
  54. package/dist/supabase/cron-jobs.d.ts.map +1 -1
  55. package/dist/supabase/cron-jobs.js +16 -6
  56. package/dist/supabase/cron-jobs.js.map +1 -1
  57. package/package.json +5 -4
  58. package/public/index.html +177 -56
  59. package/skills/okx/LEARNING.md +41 -0
  60. package/skills/okx/SKILL.md +231 -0
  61. package/skills/okx/references/api-reference.md +201 -0
  62. package/skills/okx/references/order-types.md +251 -0
  63. package/skills/okx/references/products.md +128 -0
  64. package/skills/okx/scripts/okx-trade.ts +273 -0
  65. package/skills/trading/SKILL.md +6 -4
@@ -9,6 +9,7 @@ import { compactEmbeddedPiSessionDirect } from "./pi-embedded-runner/compact.js"
9
9
  import path from "node:path";
10
10
  import os from "node:os";
11
11
  import fs from "node:fs";
12
+ import crypto from "node:crypto";
12
13
  /**
13
14
  * Main agent class - refactored to use pi-ai (OpenClaw style)
14
15
  */
@@ -176,6 +177,58 @@ export class Agent {
176
177
  isBusy() {
177
178
  return this._busy;
178
179
  }
180
+ /**
181
+ * Get the main session file path.
182
+ * Used by the heartbeat runner for transcript pruning (OpenClaw pattern).
183
+ */
184
+ getSessionFile() {
185
+ return this.sessionFile;
186
+ }
187
+ // ═══════════════════════════════════════════════════════════════════
188
+ // TRANSCRIPT PRUNING (OpenClaw pattern: heartbeat-runner.ts)
189
+ // When heartbeat runs in the MAIN session and the result is
190
+ // HEARTBEAT_OK, we truncate the session file back to its
191
+ // pre-heartbeat size to prevent routine checks from polluting
192
+ // the main conversation history.
193
+ // ═══════════════════════════════════════════════════════════════════
194
+ /**
195
+ * Capture the current session file size before a heartbeat run.
196
+ * Pattern: OpenClaw's captureTranscriptState (heartbeat-runner.ts)
197
+ */
198
+ captureTranscriptState() {
199
+ const transcriptPath = this.sessionFile;
200
+ try {
201
+ if (fs.existsSync(transcriptPath)) {
202
+ const stat = fs.statSync(transcriptPath);
203
+ return { transcriptPath, preHeartbeatSize: stat.size };
204
+ }
205
+ }
206
+ catch {
207
+ // ignore
208
+ }
209
+ return { transcriptPath, preHeartbeatSize: 0 };
210
+ }
211
+ /**
212
+ * Prune the session transcript back to its pre-heartbeat size.
213
+ * This removes the user+assistant turns added during a HEARTBEAT_OK run
214
+ * so routine checks don't pollute the main session.
215
+ *
216
+ * Pattern: OpenClaw's pruneHeartbeatTranscript (heartbeat-runner.ts:387-404)
217
+ */
218
+ pruneHeartbeatTranscript(state) {
219
+ try {
220
+ if (!fs.existsSync(state.transcriptPath))
221
+ return;
222
+ const currentSize = fs.statSync(state.transcriptPath).size;
223
+ if (currentSize > state.preHeartbeatSize && state.preHeartbeatSize >= 0) {
224
+ fs.truncateSync(state.transcriptPath, state.preHeartbeatSize);
225
+ console.log(`[AGENT] Pruned heartbeat transcript: ${currentSize} → ${state.preHeartbeatSize} bytes`);
226
+ }
227
+ }
228
+ catch (err) {
229
+ console.warn(`[AGENT] Failed to prune heartbeat transcript:`, err);
230
+ }
231
+ }
179
232
  /**
180
233
  * Execute a single agent turn using pi-ai
181
234
  */
@@ -241,6 +294,8 @@ export class Agent {
241
294
  onToolResult: options.onPartialReply,
242
295
  onToolStart: options.onToolStart,
243
296
  onToolEnd: options.onToolEnd,
297
+ onCompactionStart: options.onCompactionStart,
298
+ onCompactionEnd: options.onCompactionEnd,
244
299
  });
245
300
  },
246
301
  });
@@ -328,6 +383,231 @@ export class Agent {
328
383
  maxTurns: 25,
329
384
  });
330
385
  }
386
+ // ═══════════════════════════════════════════════════════════════════
387
+ // ISOLATED SESSION SUPPORT
388
+ // Pattern: OpenClaw's cron/isolated-agent — runs background work in a
389
+ // throwaway session, then injects only a compact summary into main.
390
+ // See: openclaw/src/cron/isolated-agent/run.ts
391
+ // ═══════════════════════════════════════════════════════════════════
392
+ /**
393
+ * Run an agent turn in an ISOLATED session.
394
+ * The main session file is NOT touched.
395
+ *
396
+ * Pattern: OpenClaw's runCronIsolatedAgentTurn — creates a separate
397
+ * sessionId/sessionFile, runs the agent, returns the result.
398
+ *
399
+ * Session lifecycle (matches OpenClaw):
400
+ * - By default, the session file is KEPT after the run (deleteAfterRun=false).
401
+ * This allows cron/heartbeat sessions to accumulate context across runs,
402
+ * with auto-compaction managing size (OpenClaw default behavior).
403
+ * - Set deleteAfterRun=true to delete the session file after the run
404
+ * (one-shot tasks that don't need context persistence).
405
+ *
406
+ * Ported from OpenClaw with:
407
+ * - Session freshness/reuse (resolveCronSession pattern)
408
+ * - Configurable reset policy (daily/idle, not hardcoded)
409
+ * - Lane isolation (lane: "cron")
410
+ * - Special system prompt for isolated runs (buildSubagentSystemPrompt pattern)
411
+ * - didSendViaMessagingTool tracking
412
+ * - Session store persistence
413
+ * - Conditional session cleanup (deleteAfterRun, OpenClaw: cleanup "delete"|"keep")
414
+ */
415
+ async runIsolatedAgentTurn(prompt, options = {}) {
416
+ this._busy = true;
417
+ // Session freshness/reuse (OpenClaw: resolveCronSession pattern)
418
+ // Reuse existing isolated session if it's still fresh per the reset policy.
419
+ // Default: daily reset at 4 AM UTC (OpenClaw default).
420
+ const sessionKey = `${this.userId}-isolated`;
421
+ const storeFile = path.join(this.sessionDir, `${sessionKey}.store.json`);
422
+ const { sessionId: isolatedSessionId, isNew } = resolveIsolatedSession(storeFile, sessionKey, this.config);
423
+ const isolatedSessionFile = path.join(this.sessionDir, `${isolatedSessionId}.json`);
424
+ try {
425
+ console.log(`\n${"=".repeat(60)}`);
426
+ console.log(`[AGENT] Starting ISOLATED turn (OpenClaw pattern)`);
427
+ console.log(`[AGENT] Isolated session: ${isolatedSessionId} (${isNew ? "new" : "reused"})`);
428
+ console.log(`[AGENT] Isolated file: ${isolatedSessionFile}`);
429
+ console.log(`[AGENT] Provider/Model: ${this.getProviderModel()}`);
430
+ if (options.sessionLabel) {
431
+ console.log(`[AGENT] Label: ${options.sessionLabel}`);
432
+ }
433
+ // Ensure workspace files exist (same as regular turn)
434
+ if (!this.workspaceSynced) {
435
+ await this.syncWorkspaceFromStorage();
436
+ }
437
+ const [provider, model] = this.parseProviderModel();
438
+ const skillEntries = this.buildSkillEntries();
439
+ // Build special system prompt for isolated/cron runs
440
+ // (OpenClaw: buildSubagentSystemPrompt pattern from subagent-announce.ts)
441
+ const isolatedSystemPrompt = buildIsolatedSessionSystemPrompt({
442
+ label: options.sessionLabel,
443
+ });
444
+ // Run with model fallback using the ISOLATED session file
445
+ const fallbackResult = await runWithModelFallback({
446
+ cfg: this.config,
447
+ provider,
448
+ model,
449
+ agentDir: process.cwd(),
450
+ run: async (fallbackProvider, fallbackModel) => {
451
+ console.log(`[AGENT] Isolated run with ${fallbackProvider}/${fallbackModel}`);
452
+ return await runEmbeddedPiAgent({
453
+ sessionId: isolatedSessionId,
454
+ sessionFile: isolatedSessionFile,
455
+ workspaceDir: this.workspaceDir,
456
+ agentDir: process.cwd(),
457
+ config: this.config,
458
+ prompt,
459
+ provider: fallbackProvider,
460
+ model: fallbackModel,
461
+ thinkLevel: "off",
462
+ verboseLevel: "normal",
463
+ reasoningLevel: "off",
464
+ timeoutMs: 120000,
465
+ runId: isolatedSessionId,
466
+ skillEntries,
467
+ cronDeps: this.cronDeps,
468
+ // Lane isolation (OpenClaw: lane: "cron" from run.ts:486)
469
+ lane: "cron",
470
+ // Disable message tool — isolated runs should return plain text;
471
+ // the main agent handles user notification after announce injection.
472
+ // (OpenClaw: disableMessageTool: deliveryRequested, run.ts:494)
473
+ disableMessageTool: true,
474
+ // Special system prompt for isolated sessions
475
+ extraSystemPrompt: isolatedSystemPrompt,
476
+ onPartialReply: options.onPartialReply,
477
+ onToolResult: options.onPartialReply,
478
+ onToolStart: options.onToolStart,
479
+ onToolEnd: options.onToolEnd,
480
+ onCompactionStart: options.onCompactionStart,
481
+ onCompactionEnd: options.onCompactionEnd,
482
+ });
483
+ },
484
+ });
485
+ const result = fallbackResult.result;
486
+ console.log(`[AGENT] Isolated run completed with ${fallbackResult.provider}/${fallbackResult.model}`);
487
+ console.log(`[AGENT] Duration: ${result.meta.durationMs}ms`);
488
+ console.log(`[AGENT] Tokens: ${result.meta.agentMeta.usage?.inputTokens}/${result.meta.agentMeta.usage?.outputTokens}`);
489
+ // Track messaging tool delivery conflict (OpenClaw: run.ts:579-588)
490
+ if (result.didSendViaMessagingTool) {
491
+ console.log(`[AGENT] Isolated run sent via messaging tool — will skip announce to avoid duplicate`);
492
+ }
493
+ // Extract response text (OpenClaw: pickLastNonEmptyTextFromPayloads)
494
+ const payloads = result.payloads ?? [];
495
+ const outputText = pickLastNonEmptyText(payloads) ?? "";
496
+ // Persist session store entry (OpenClaw: updateSessionStore pattern)
497
+ persistIsolatedSessionStore(storeFile, {
498
+ sessionId: isolatedSessionId,
499
+ updatedAt: Date.now(),
500
+ model: `${fallbackResult.provider}/${fallbackResult.model}`,
501
+ inputTokens: result.meta.agentMeta.usage?.inputTokens ?? 0,
502
+ outputTokens: result.meta.agentMeta.usage?.outputTokens ?? 0,
503
+ label: options.sessionLabel,
504
+ });
505
+ return {
506
+ success: !result.meta.error,
507
+ response: outputText,
508
+ outputText,
509
+ toolCalls: 0,
510
+ stopReason: result.meta.stopReason,
511
+ turns: 1,
512
+ inputTokens: result.meta.agentMeta.usage?.inputTokens ?? 0,
513
+ outputTokens: result.meta.agentMeta.usage?.outputTokens ?? 0,
514
+ error: result.meta.error?.message,
515
+ // Messaging tool conflict detection (OpenClaw: didSendViaMessagingTool)
516
+ didSendViaMessagingTool: result.didSendViaMessagingTool ?? false,
517
+ };
518
+ }
519
+ catch (error) {
520
+ const message = error instanceof Error ? error.message : String(error);
521
+ console.error(`[AGENT] Isolated turn error:`, message);
522
+ return {
523
+ success: false,
524
+ error: message,
525
+ turns: 1,
526
+ didSendViaMessagingTool: false,
527
+ };
528
+ }
529
+ finally {
530
+ // Session cleanup (OpenClaw pattern: cleanup "delete" | "keep")
531
+ // Default: KEEP the session file (OpenClaw default behavior).
532
+ // Cron sessions accumulate context across runs, with auto-compaction managing size.
533
+ // Only delete when explicitly requested via deleteAfterRun=true.
534
+ const shouldDelete = options.deleteAfterRun === true;
535
+ if (shouldDelete) {
536
+ // Delete the isolated session file (OpenClaw: sessions.delete with deleteTranscript)
537
+ try {
538
+ if (fs.existsSync(isolatedSessionFile)) {
539
+ fs.unlinkSync(isolatedSessionFile);
540
+ console.log(`[AGENT] Cleaned up isolated session (deleteAfterRun=true): ${isolatedSessionFile}`);
541
+ }
542
+ }
543
+ catch (err) {
544
+ console.warn(`[AGENT] Failed to clean up isolated session:`, err);
545
+ }
546
+ // Also clean up any backup files from overflow recovery
547
+ try {
548
+ const dir = path.dirname(isolatedSessionFile);
549
+ const base = path.basename(isolatedSessionFile);
550
+ const files = fs.readdirSync(dir);
551
+ for (const f of files) {
552
+ if (f.startsWith(base) && f.endsWith(".bak")) {
553
+ fs.unlinkSync(path.join(dir, f));
554
+ }
555
+ }
556
+ }
557
+ catch {
558
+ // best-effort
559
+ }
560
+ }
561
+ else {
562
+ console.log(`[AGENT] Kept isolated session file (deleteAfterRun=false, OpenClaw default): ${isolatedSessionFile}`);
563
+ }
564
+ this._busy = false;
565
+ }
566
+ }
567
+ /**
568
+ * Inject an isolated run's result into the MAIN session as a compact
569
+ * system message. The main agent sees one summary message and decides
570
+ * whether to notify the user.
571
+ *
572
+ * Pattern: OpenClaw's runSubagentAnnounceFlow — builds a trigger message
573
+ * from the isolated run output and injects it into the requester session.
574
+ * See: openclaw/src/agents/subagent-announce.ts lines 917-925
575
+ */
576
+ async injectIsolatedResult(params) {
577
+ // Build status label (from OpenClaw subagent-announce.ts)
578
+ const statusLabel = params.status === "ok"
579
+ ? "completed successfully"
580
+ : params.status === "timeout"
581
+ ? "timed out"
582
+ : `failed: ${params.summary || "unknown error"}`;
583
+ // Build stats line (from OpenClaw buildCompactAnnounceStatsLine)
584
+ const runtimeStr = formatDurationShort(params.durationMs);
585
+ const inputStr = formatTokenCount(params.inputTokens);
586
+ const outputStr = formatTokenCount(params.outputTokens);
587
+ const totalTokens = (params.inputTokens ?? 0) + (params.outputTokens ?? 0);
588
+ const totalStr = formatTokenCount(totalTokens);
589
+ const statsLine = `Stats: runtime ${runtimeStr} • tokens ${totalStr} (in ${inputStr} / out ${outputStr})`;
590
+ const findings = params.summary?.trim() || "(no output)";
591
+ // Build the trigger message (from OpenClaw subagent-announce.ts lines 917-925)
592
+ const internalSummaryMessage = [
593
+ `[System Message] A background task "${params.label}" just ${statusLabel}.`,
594
+ "",
595
+ "Result:",
596
+ findings,
597
+ "",
598
+ statsLine,
599
+ ].join("\n");
600
+ // Reply instruction (from OpenClaw buildAnnounceReplyInstruction for main agent)
601
+ const replyInstruction = `A completed background task is ready for user delivery. ` +
602
+ `Convert the result above into your normal assistant voice and send that user-facing update now. ` +
603
+ `Keep this internal context private (don't mention system/log/stats/session details). ` +
604
+ `If no update is needed or the result is just a routine check with nothing to report, reply HEARTBEAT_OK.`;
605
+ const triggerMessage = [internalSummaryMessage, "", replyInstruction].join("\n");
606
+ console.log(`[AGENT] Injecting isolated result into main session: "${params.label}"`);
607
+ console.log(`[AGENT] Isolated result status: ${statusLabel}`);
608
+ // Execute in the MAIN session — agent sees one compact message
609
+ return await this.executeTurn(triggerMessage, { maxTurns: 25 });
610
+ }
331
611
  /**
332
612
  * Get conversation history
333
613
  */
@@ -385,4 +665,258 @@ export class Agent {
385
665
  return `${provider}/${model}`;
386
666
  }
387
667
  }
668
+ // ═══════════════════════════════════════════════════════════════════
669
+ // Module-level helpers (ported from OpenClaw)
670
+ // ═══════════════════════════════════════════════════════════════════
671
+ /**
672
+ * Pick last non-empty text from payloads array.
673
+ * Pattern: OpenClaw's pickLastNonEmptyTextFromPayloads
674
+ * (openclaw/src/cron/isolated-agent/helpers.ts)
675
+ */
676
+ function pickLastNonEmptyText(payloads) {
677
+ for (let i = payloads.length - 1; i >= 0; i--) {
678
+ const clean = (payloads[i]?.text ?? "").trim();
679
+ if (clean) {
680
+ return clean;
681
+ }
682
+ }
683
+ return undefined;
684
+ }
685
+ /**
686
+ * Format duration in short human-readable form.
687
+ * Pattern: OpenClaw's formatDurationShort
688
+ * (openclaw/src/agents/subagent-announce.ts)
689
+ */
690
+ function formatDurationShort(valueMs) {
691
+ if (!valueMs || !Number.isFinite(valueMs) || valueMs <= 0) {
692
+ return "n/a";
693
+ }
694
+ const totalSeconds = Math.round(valueMs / 1000);
695
+ const hours = Math.floor(totalSeconds / 3600);
696
+ const minutes = Math.floor((totalSeconds % 3600) / 60);
697
+ const seconds = totalSeconds % 60;
698
+ if (hours > 0) {
699
+ return `${hours}h${minutes}m`;
700
+ }
701
+ if (minutes > 0) {
702
+ return `${minutes}m${seconds}s`;
703
+ }
704
+ return `${seconds}s`;
705
+ }
706
+ /**
707
+ * Format token count in compact form (e.g., "4.2k", "1.5m").
708
+ * Pattern: OpenClaw's formatTokenCount
709
+ * (openclaw/src/agents/subagent-announce.ts)
710
+ */
711
+ function formatTokenCount(value) {
712
+ if (typeof value !== "number" || !Number.isFinite(value) || value <= 0) {
713
+ return "0";
714
+ }
715
+ if (value >= 1_000_000) {
716
+ return `${(value / 1_000_000).toFixed(1)}m`;
717
+ }
718
+ if (value >= 1_000) {
719
+ return `${(value / 1_000).toFixed(1)}k`;
720
+ }
721
+ return String(Math.round(value));
722
+ }
723
+ const DEFAULT_RESET_MODE = "daily";
724
+ const DEFAULT_RESET_AT_HOUR = 4; // 4 AM UTC (OpenClaw default)
725
+ const DEFAULT_IDLE_MINUTES = 60; // 60 minutes (fallback for idle mode)
726
+ /**
727
+ * Resolve the session reset policy from config.
728
+ * Pattern: OpenClaw's resolveSessionResetPolicy (config/sessions/reset.ts:84-120)
729
+ *
730
+ * Uses "direct" reset type (1:1 conversation style) for isolated/cron sessions.
731
+ */
732
+ function resolveIsolatedResetPolicy(_config) {
733
+ // OpenClaw reads from session.cfg.reset / session.cfg.resetByType config.
734
+ // CoStar uses sensible defaults matching OpenClaw's "direct" reset type.
735
+ // When CoStar adds session config (e.g., config.session.reset), extend here.
736
+ const mode = DEFAULT_RESET_MODE;
737
+ const atHour = DEFAULT_RESET_AT_HOUR;
738
+ const idleMinutes = DEFAULT_IDLE_MINUTES;
739
+ return { mode, atHour, idleMinutes };
740
+ }
741
+ /**
742
+ * Resolve the daily reset boundary timestamp.
743
+ * Pattern: OpenClaw's resolveDailyResetAtMs (config/sessions/reset.ts:74-82)
744
+ *
745
+ * Returns the most recent "reset boundary" — the timestamp of the last
746
+ * reset hour. If the session was updated before this boundary, it's stale.
747
+ */
748
+ function resolveDailyResetAtMs(now, atHour) {
749
+ const normalizedHour = Math.max(0, Math.min(23, Math.floor(atHour)));
750
+ const resetAt = new Date(now);
751
+ resetAt.setUTCHours(normalizedHour, 0, 0, 0);
752
+ if (now < resetAt.getTime()) {
753
+ // Haven't reached today's reset hour yet → use yesterday's
754
+ resetAt.setUTCDate(resetAt.getUTCDate() - 1);
755
+ }
756
+ return resetAt.getTime();
757
+ }
758
+ /**
759
+ * Evaluate whether a session is still fresh based on the reset policy.
760
+ * Pattern: OpenClaw's evaluateSessionFreshness (config/sessions/reset.ts:139-159)
761
+ *
762
+ * Daily mode: session is stale if updatedAt < today's reset hour
763
+ * Idle mode: session is stale if (now - updatedAt) > idleMinutes
764
+ * Both can be active simultaneously (stale if EITHER condition triggers).
765
+ */
766
+ function evaluateSessionFreshness(params) {
767
+ const dailyResetAt = params.policy.mode === "daily"
768
+ ? resolveDailyResetAtMs(params.now, params.policy.atHour)
769
+ : undefined;
770
+ const idleExpiresAt = params.policy.idleMinutes != null
771
+ ? params.updatedAt + params.policy.idleMinutes * 60_000
772
+ : undefined;
773
+ const staleDaily = dailyResetAt != null && params.updatedAt < dailyResetAt;
774
+ const staleIdle = idleExpiresAt != null && params.now > idleExpiresAt;
775
+ return {
776
+ fresh: !(staleDaily || staleIdle),
777
+ dailyResetAt,
778
+ idleExpiresAt,
779
+ };
780
+ }
781
+ /**
782
+ * Resolve an isolated session — reuse if fresh, create new otherwise.
783
+ * Pattern: OpenClaw's resolveCronSession (cron/isolated-agent/session.ts)
784
+ *
785
+ * Evaluates freshness using the configurable reset policy (default: daily at 4 UTC).
786
+ * Cron/webhook sessions use "direct" reset type (1:1 conversation style).
787
+ * If the session is still fresh per the policy, reuse it.
788
+ * Otherwise create a fresh session.
789
+ */
790
+ function resolveIsolatedSession(storeFile, sessionKey, config) {
791
+ const policy = resolveIsolatedResetPolicy(config);
792
+ const now = Date.now();
793
+ try {
794
+ if (fs.existsSync(storeFile)) {
795
+ const raw = fs.readFileSync(storeFile, "utf-8");
796
+ const entry = JSON.parse(raw);
797
+ if (entry.sessionId && entry.updatedAt) {
798
+ const freshness = evaluateSessionFreshness({
799
+ updatedAt: entry.updatedAt,
800
+ now,
801
+ policy,
802
+ });
803
+ if (freshness.fresh) {
804
+ // Session still fresh — reuse
805
+ return { sessionId: entry.sessionId, isNew: false };
806
+ }
807
+ }
808
+ }
809
+ }
810
+ catch {
811
+ // Corrupt or missing store — create new session
812
+ }
813
+ // No valid session or expired — create new
814
+ return { sessionId: `${sessionKey}-${crypto.randomUUID()}`, isNew: true };
815
+ }
816
+ /**
817
+ * Persist isolated session store entry to disk.
818
+ * Pattern: OpenClaw's updateSessionStore (config/sessions.ts)
819
+ */
820
+ function persistIsolatedSessionStore(storeFile, entry) {
821
+ try {
822
+ const dir = path.dirname(storeFile);
823
+ if (!fs.existsSync(dir)) {
824
+ fs.mkdirSync(dir, { recursive: true });
825
+ }
826
+ fs.writeFileSync(storeFile, JSON.stringify(entry, null, 2), "utf-8");
827
+ }
828
+ catch (err) {
829
+ console.warn("[AGENT] Failed to persist isolated session store:", err);
830
+ }
831
+ }
832
+ // ═══════════════════════════════════════════════════════════════════
833
+ // Isolated session system prompt (ported from OpenClaw)
834
+ // Pattern: OpenClaw's buildSubagentSystemPrompt (subagent-announce.ts:595-682)
835
+ // ═══════════════════════════════════════════════════════════════════
836
+ /**
837
+ * Build a special system prompt for isolated/cron sessions.
838
+ * Tells the agent it's ephemeral, should stay focused, and avoid side quests.
839
+ *
840
+ * Pattern: OpenClaw's buildSubagentSystemPrompt (subagent-announce.ts:595-682)
841
+ */
842
+ function buildIsolatedSessionSystemPrompt(params) {
843
+ const taskText = params.label ?? "background task";
844
+ const lines = [
845
+ "# Isolated Session Context",
846
+ "",
847
+ "You are running in an **isolated background session** for a specific task.",
848
+ "",
849
+ "## Your Role",
850
+ `- You were created to handle: ${taskText}`,
851
+ "- Complete this task. That's your entire purpose.",
852
+ "- You are NOT the main conversational agent. Don't try to be.",
853
+ "",
854
+ "## Rules",
855
+ "1. **Stay focused** - Do your assigned task, nothing else",
856
+ "2. **Complete the task** - Your final message will be automatically reported to the main agent",
857
+ "3. **Don't initiate** - No heartbeats, no proactive actions, no side quests",
858
+ "4. **Be ephemeral** - You may be terminated after task completion. That's fine.",
859
+ "5. **Recover from compacted/truncated tool output** - If you see `[compacted: tool output removed to free context]` or `[truncated: output exceeded context limit]`, assume prior output was reduced. Re-read only what you need using smaller chunks instead of full-file reads.",
860
+ "",
861
+ "## Output Format",
862
+ "When complete, your final response should include:",
863
+ "- What you accomplished or found",
864
+ "- Any relevant details the main agent should know",
865
+ "- Keep it concise but informative",
866
+ "",
867
+ "## What You DON'T Do",
868
+ "- NO user conversations (that's the main agent's job)",
869
+ "- NO external messages unless explicitly tasked with a specific recipient/channel",
870
+ "- NO cron jobs or persistent state",
871
+ "- NO pretending to be the main agent",
872
+ "- Only use the `message` tool when explicitly instructed to contact a specific external recipient; otherwise return plain text and let the main agent deliver it",
873
+ "",
874
+ ];
875
+ return lines.join("\n");
876
+ }
877
+ /**
878
+ * Check if all payloads are just heartbeat ack responses (HEARTBEAT_OK).
879
+ * Returns true if delivery should be skipped because there's no real content.
880
+ *
881
+ * Pattern: OpenClaw's isHeartbeatOnlyResponse (cron/isolated-agent/helpers.ts)
882
+ */
883
+ export function isHeartbeatOnlyResponse(payloads, ackMaxChars = 300) {
884
+ if (payloads.length === 0) {
885
+ return true;
886
+ }
887
+ const HEARTBEAT_TOKEN = "HEARTBEAT_OK";
888
+ return payloads.every((payload) => {
889
+ // If there's media, we should deliver regardless of text content.
890
+ const hasMedia = (payload.mediaUrls?.length ?? 0) > 0;
891
+ if (hasMedia) {
892
+ return false;
893
+ }
894
+ // Check if text is just HEARTBEAT_OK or short ack
895
+ const text = payload.text?.trim() ?? "";
896
+ if (!text)
897
+ return true;
898
+ // Strip markup
899
+ const normalized = text
900
+ .replace(/<[^>]*>/g, " ")
901
+ .replace(/&nbsp;/gi, " ")
902
+ .replace(/^[*`~_]+/, "")
903
+ .replace(/[*`~_]+$/, "")
904
+ .trim();
905
+ if (normalized === HEARTBEAT_TOKEN || text === HEARTBEAT_TOKEN) {
906
+ return true;
907
+ }
908
+ // Strip the token and check remaining length
909
+ let remaining = normalized;
910
+ if (remaining.startsWith(HEARTBEAT_TOKEN)) {
911
+ remaining = remaining.slice(HEARTBEAT_TOKEN.length).trim();
912
+ }
913
+ if (remaining.endsWith(HEARTBEAT_TOKEN)) {
914
+ remaining = remaining.slice(0, remaining.length - HEARTBEAT_TOKEN.length).trim();
915
+ }
916
+ if (!remaining || remaining.length <= ackMaxChars) {
917
+ return true;
918
+ }
919
+ return false;
920
+ });
921
+ }
388
922
  //# sourceMappingURL=agent.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"agent.js","sourceRoot":"","sources":["../../src/agent/agent.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"agent.js","sourceRoot":"","sources":["../../src/agent/agent.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"model-fallback.d.ts","sourceRoot":"","sources":["../../src/agent/model-fallback.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAEvD,MAAM,MAAM,aAAa,GAAG;IAC1B,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAAG;IAChC,OAAO,EAAE,aAAa,CAAC;IACvB,SAAS,EAAE,aAAa,EAAE,CAAC;CAC5B,CAAC;AAEF;;GAEG;AACH,qBAAa,aAAc,SAAQ,KAAK;IACtC,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;gBAGd,OAAO,EAAE,MAAM,EACf,OAAO,EAAE;QACP,MAAM,EAAE,MAAM,CAAC;QACf,QAAQ,EAAE,MAAM,CAAC;QACjB,KAAK,EAAE,MAAM,CAAC;QACd,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,KAAK,CAAC,EAAE,OAAO,CAAC;KACjB;CASJ;AAED;;GAEG;AACH,wBAAsB,oBAAoB,CAAC,CAAC,EAAE,MAAM,EAAE;IACpD,GAAG,CAAC,EAAE,YAAY,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,iBAAiB,CAAC,EAAE,aAAa,EAAE,CAAC;IACpC,GAAG,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC;CACtD,GAAG,OAAO,CAAC;IAAE,MAAM,EAAE,CAAC,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC,CAmD1D;AAmBD;;GAEG;AACH,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAoBrE"}
1
+ {"version":3,"file":"model-fallback.d.ts","sourceRoot":"","sources":["../../src/agent/model-fallback.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAGvD,MAAM,MAAM,aAAa,GAAG;IAC1B,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAAG;IAChC,OAAO,EAAE,aAAa,CAAC;IACvB,SAAS,EAAE,aAAa,EAAE,CAAC;CAC5B,CAAC;AAEF;;GAEG;AACH,qBAAa,aAAc,SAAQ,KAAK;IACtC,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;gBAGd,OAAO,EAAE,MAAM,EACf,OAAO,EAAE;QACP,MAAM,EAAE,MAAM,CAAC;QACf,QAAQ,EAAE,MAAM,CAAC;QACjB,KAAK,EAAE,MAAM,CAAC;QACd,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,KAAK,CAAC,EAAE,OAAO,CAAC;KACjB;CASJ;AAED;;GAEG;AACH,wBAAsB,oBAAoB,CAAC,CAAC,EAAE,MAAM,EAAE;IACpD,GAAG,CAAC,EAAE,YAAY,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,iBAAiB,CAAC,EAAE,aAAa,EAAE,CAAC;IACpC,GAAG,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC;CACtD,GAAG,OAAO,CAAC;IAAE,MAAM,EAAE,CAAC,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC,CAqE1D;AAmBD;;GAEG;AACH,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAoBrE"}