@farazirfan/costar-server-executor 1.7.51 → 1.7.52

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.
@@ -9,7 +9,7 @@
9
9
  */
10
10
  /**
11
11
  * Get a friendly label for a tool name.
12
- * Returns "Performed action" for unmapped tools.
12
+ * Returns the raw tool name for unmapped tools (never returns a generic fallback).
13
13
  */
14
14
  export declare function getFriendlyToolLabel(toolName: string): string;
15
15
  //# sourceMappingURL=tool-labels.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"tool-labels.d.ts","sourceRoot":"","sources":["../../src/utils/tool-labels.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAgDH;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAE7D"}
1
+ {"version":3,"file":"tool-labels.d.ts","sourceRoot":"","sources":["../../src/utils/tool-labels.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAoDH;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAE7D"}
@@ -43,20 +43,24 @@ const TOOL_FRIENDLY_LABELS = {
43
43
  // Data
44
44
  discover_data_api: "Discovered API",
45
45
  fetch_api_data: "Fetched API data",
46
+ // Memory
47
+ memory_search: "Searched memory",
48
+ memory_get: "Retrieved memory",
46
49
  // System
47
50
  cron: "Managed schedule",
48
51
  process: "Managed process",
49
52
  message: "Sent message",
50
53
  session_status: "Checked session",
51
54
  subagents: "Ran sub-task",
55
+ sessions_spawn: "Spawned session",
52
56
  complete_task: "Completed task",
53
57
  costar: "Managed workspace",
54
58
  };
55
59
  /**
56
60
  * Get a friendly label for a tool name.
57
- * Returns "Performed action" for unmapped tools.
61
+ * Returns the raw tool name for unmapped tools (never returns a generic fallback).
58
62
  */
59
63
  export function getFriendlyToolLabel(toolName) {
60
- return TOOL_FRIENDLY_LABELS[toolName] || "Performed action";
64
+ return TOOL_FRIENDLY_LABELS[toolName] || toolName || "Performed action";
61
65
  }
62
66
  //# sourceMappingURL=tool-labels.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"tool-labels.js","sourceRoot":"","sources":["../../src/utils/tool-labels.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,MAAM,oBAAoB,GAA2B;IACnD,gBAAgB;IAChB,OAAO,EAAE,aAAa;IACtB,UAAU,EAAE,cAAc;IAC1B,SAAS,EAAE,iBAAiB;IAC5B,QAAQ;IACR,IAAI,EAAE,WAAW;IACjB,KAAK,EAAE,YAAY;IACnB,IAAI,EAAE,aAAa;IACnB,IAAI,EAAE,gBAAgB;IACtB,IAAI,EAAE,eAAe;IACrB,YAAY;IACZ,IAAI,EAAE,aAAa;IACnB,IAAI,EAAE,aAAa;IACnB,gBAAgB;IAChB,aAAa,EAAE,iBAAiB;IAChC,UAAU,EAAE,YAAY;IACxB,iBAAiB,EAAE,mBAAmB;IACtC,UAAU,EAAE,YAAY;IACxB,QAAQ,EAAE,uBAAuB;IACjC,UAAU,EAAE,iBAAiB;IAC7B,eAAe,EAAE,mBAAmB;IACpC,WAAW;IACX,mBAAmB,EAAE,kBAAkB;IACvC,qBAAqB,EAAE,wBAAwB;IAC/C,qBAAqB,EAAE,wBAAwB;IAC/C,qBAAqB,EAAE,wBAAwB;IAC/C,kBAAkB;IAClB,cAAc,EAAE,iBAAiB;IACjC,KAAK,EAAE,iBAAiB;IACxB,OAAO,EAAE,kBAAkB;IAC3B,OAAO,EAAE,kBAAkB;IAC3B,WAAW,EAAE,eAAe;IAC5B,OAAO;IACP,iBAAiB,EAAE,gBAAgB;IACnC,cAAc,EAAE,kBAAkB;IAClC,SAAS;IACT,IAAI,EAAE,kBAAkB;IACxB,OAAO,EAAE,iBAAiB;IAC1B,OAAO,EAAE,cAAc;IACvB,cAAc,EAAE,iBAAiB;IACjC,SAAS,EAAE,cAAc;IACzB,aAAa,EAAE,gBAAgB;IAC/B,MAAM,EAAE,mBAAmB;CAC5B,CAAC;AAEF;;;GAGG;AACH,MAAM,UAAU,oBAAoB,CAAC,QAAgB;IACnD,OAAO,oBAAoB,CAAC,QAAQ,CAAC,IAAI,kBAAkB,CAAC;AAC9D,CAAC"}
1
+ {"version":3,"file":"tool-labels.js","sourceRoot":"","sources":["../../src/utils/tool-labels.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,MAAM,oBAAoB,GAA2B;IACnD,gBAAgB;IAChB,OAAO,EAAE,aAAa;IACtB,UAAU,EAAE,cAAc;IAC1B,SAAS,EAAE,iBAAiB;IAC5B,QAAQ;IACR,IAAI,EAAE,WAAW;IACjB,KAAK,EAAE,YAAY;IACnB,IAAI,EAAE,aAAa;IACnB,IAAI,EAAE,gBAAgB;IACtB,IAAI,EAAE,eAAe;IACrB,YAAY;IACZ,IAAI,EAAE,aAAa;IACnB,IAAI,EAAE,aAAa;IACnB,gBAAgB;IAChB,aAAa,EAAE,iBAAiB;IAChC,UAAU,EAAE,YAAY;IACxB,iBAAiB,EAAE,mBAAmB;IACtC,UAAU,EAAE,YAAY;IACxB,QAAQ,EAAE,uBAAuB;IACjC,UAAU,EAAE,iBAAiB;IAC7B,eAAe,EAAE,mBAAmB;IACpC,WAAW;IACX,mBAAmB,EAAE,kBAAkB;IACvC,qBAAqB,EAAE,wBAAwB;IAC/C,qBAAqB,EAAE,wBAAwB;IAC/C,qBAAqB,EAAE,wBAAwB;IAC/C,kBAAkB;IAClB,cAAc,EAAE,iBAAiB;IACjC,KAAK,EAAE,iBAAiB;IACxB,OAAO,EAAE,kBAAkB;IAC3B,OAAO,EAAE,kBAAkB;IAC3B,WAAW,EAAE,eAAe;IAC5B,OAAO;IACP,iBAAiB,EAAE,gBAAgB;IACnC,cAAc,EAAE,kBAAkB;IAClC,SAAS;IACT,aAAa,EAAE,iBAAiB;IAChC,UAAU,EAAE,kBAAkB;IAC9B,SAAS;IACT,IAAI,EAAE,kBAAkB;IACxB,OAAO,EAAE,iBAAiB;IAC1B,OAAO,EAAE,cAAc;IACvB,cAAc,EAAE,iBAAiB;IACjC,SAAS,EAAE,cAAc;IACzB,cAAc,EAAE,iBAAiB;IACjC,aAAa,EAAE,gBAAgB;IAC/B,MAAM,EAAE,mBAAmB;CAC5B,CAAC;AAEF;;;GAGG;AACH,MAAM,UAAU,oBAAoB,CAAC,QAAgB;IACnD,OAAO,oBAAoB,CAAC,QAAQ,CAAC,IAAI,QAAQ,IAAI,kBAAkB,CAAC;AAC1E,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@farazirfan/costar-server-executor",
3
- "version": "1.7.51",
3
+ "version": "1.7.52",
4
4
  "description": "CoStar Server Executor - 24/7 autonomous agent in TypeScript (cloned from OpenClaw)",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
package/public/index.html CHANGED
@@ -2804,7 +2804,7 @@
2804
2804
  const hbBadge = turn.isHeartbeat ? '<span style="color:#f59e0b;font-size:8px;font-weight:700;margin-left:3px;">HB</span>' : '';
2805
2805
  const compBadge = !turn.inContext && data.hasCompaction ? '<span style="color:#ef4444;font-size:8px;margin-left:3px;">OLD</span>' : '';
2806
2806
 
2807
- // Tool calls summary — inline
2807
+ // Native server tool calls summary
2808
2808
  const toolStr = turn.toolCalls && turn.toolCalls.length > 0
2809
2809
  ? turn.toolCalls.map(tc => tc.name).join(', ')
2810
2810
  : '';
@@ -2830,20 +2830,35 @@
2830
2830
  <div style="font-size:9px;color:var(--text-muted);white-space:nowrap;flex-shrink:0;">${metaRight.join(' \u00b7 ')}</div>
2831
2831
  </div>`;
2832
2832
 
2833
- // Tool calls — collapsed single line
2833
+ // Native server tool calls — collapsed single line
2834
2834
  if (toolStr) {
2835
2835
  html += `<div style="font-size:9px;color:#3b82f6;font-family:var(--mono);padding:1px 0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;">
2836
2836
  \u2514 ${turn.toolCalls.length} tool${turn.toolCalls.length > 1 ? 's' : ''}: ${escHtml(toolStr).slice(0, 100)}
2837
2837
  </div>`;
2838
2838
  }
2839
2839
 
2840
- // Assistant responsesingle line preview
2840
+ // Assistant messagesrender each entry separately
2841
2841
  if (turn.assistantMessages && turn.assistantMessages.length > 0) {
2842
- const aPreview = escHtml(turn.assistantMessages.join(' ').replace(/\n/g, ' ')).slice(0, 150);
2843
- html += `<div style="font-size:10px;padding:1px 0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;">
2844
- <span style="color:#10b981;font-weight:600;">ASST</span>
2845
- <span style="color:var(--text-secondary);margin-left:4px;">${aPreview}${turn.assistantMessages.join('').length > 150 ? '...' : ''}</span>
2846
- </div>`;
2842
+ for (const aMsg of turn.assistantMessages) {
2843
+ const trimmed = aMsg.trim();
2844
+ if (!trimmed) continue;
2845
+ // Detect [label result] tool entries from client session sync
2846
+ const toolMatch = trimmed.match(/^\[(.+?)\s*→\s*([\s\S]*)\]$/);
2847
+ if (toolMatch) {
2848
+ const tLabel = escHtml(toolMatch[1]);
2849
+ const tResult = escHtml(toolMatch[2]).replace(/\n/g, ' ').slice(0, 150);
2850
+ html += `<div style="font-size:9px;color:#3b82f6;font-family:var(--mono);padding:1px 0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;">
2851
+ \u2514 <span style="font-weight:600;">${tLabel}</span> <span style="color:var(--text-muted);">→ ${tResult}${toolMatch[2].length > 150 ? '...' : ''}</span>
2852
+ </div>`;
2853
+ } else {
2854
+ // Regular assistant text
2855
+ const aPreview = escHtml(trimmed).replace(/\n/g, ' ').slice(0, 200);
2856
+ html += `<div style="font-size:10px;padding:1px 0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;">
2857
+ <span style="color:#10b981;font-weight:600;">ASST</span>
2858
+ <span style="color:var(--text-secondary);margin-left:4px;">${aPreview}${trimmed.length > 200 ? '...' : ''}</span>
2859
+ </div>`;
2860
+ }
2861
+ }
2847
2862
  }
2848
2863
 
2849
2864
  html += `</div>`;