replicas-cli 0.2.803 → 0.2.804

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 (2) hide show
  1. package/dist/index.cjs +53 -47
  2. package/package.json +1 -1
package/dist/index.cjs CHANGED
@@ -27127,6 +27127,17 @@ function createSubagentMessage(messageIndex, timestamp, fields) {
27127
27127
  function collectNestedEvents(events, toolUseId) {
27128
27128
  return events.filter((e) => e.payload.parent_tool_use_id === toolUseId).map(({ timestamp, type, payload }) => ({ timestamp, type, payload }));
27129
27129
  }
27130
+ function readToolResult(event) {
27131
+ if (event.type !== "claude-user") return void 0;
27132
+ const toolResult = normalizeContentBlocks(event.payload.message?.content).find((c) => c.type === "tool_result");
27133
+ if (!toolResult?.tool_use_id) return void 0;
27134
+ return {
27135
+ toolResult,
27136
+ toolUseId: toolResult.tool_use_id,
27137
+ output: extractToolResultText(toolResult.content),
27138
+ status: toolResult.is_error ? "failed" : "completed"
27139
+ };
27140
+ }
27130
27141
  function coerceClaudeResultPayload(payload) {
27131
27142
  return {
27132
27143
  is_error: typeof payload.is_error === "boolean" ? payload.is_error : void 0,
@@ -27568,52 +27579,47 @@ function parseClaudeEvents(events, parentToolUseId) {
27568
27579
  messages.push(fileOrCommandMessage(tool.name, tool.id, "filePath" in tool ? { file_path: tool.filePath } : { command: tool.command }, timestamp));
27569
27580
  }
27570
27581
  filteredEvents.forEach((event) => {
27571
- if (event.type === "claude-user") {
27572
- const content = normalizeContentBlocks(event.payload.message?.content);
27573
- const toolResult = content.find((c) => c.type === "tool_result");
27574
- if (toolResult && toolResult.tool_use_id) {
27575
- const toolInfo = toolCallMap.get(toolResult.tool_use_id);
27576
- if (!toolInfo) return;
27577
- const resultContent = extractToolResultText(toolResult.content);
27578
- const isError = toolResult.is_error || false;
27579
- const status = isError ? "failed" : "completed";
27580
- if (toolInfo.toolName === "TaskCreate" && !isError) {
27581
- taskAccumulator.processContentBlock(toolResult);
27582
- }
27583
- const message = messages[toolInfo.messageIndex];
27584
- if (!message) return;
27585
- if (message.type === "command") {
27586
- message.output = resultContent;
27587
- message.status = status;
27588
- const exitCodeMatch = resultContent.match(/exit code:?\s*(\d+)/i);
27589
- if (exitCodeMatch) {
27590
- message.exitCode = parseInt(exitCodeMatch[1], 10);
27591
- } else {
27592
- message.exitCode = isError ? 1 : 0;
27593
- }
27594
- } else if (message.type === "patch") {
27595
- message.status = status;
27596
- } else if (message.type === "web_search") {
27597
- message.status = status;
27598
- } else if (message.type === "tool_call") {
27599
- message.output = resultContent;
27600
- message.status = status;
27601
- } else if (message.type === "skill") {
27602
- message.status = status;
27603
- } else if (message.type === "subagent") {
27604
- message.output = resultContent;
27605
- message.status = status;
27606
- if (!message.chatId && resultContent) {
27607
- const parsed = safeJsonParse(resultContent, {});
27608
- if (parsed.chatId) {
27609
- message.chatId = parsed.chatId;
27610
- }
27611
- }
27612
- } else if (message.type === "subagent_followup") {
27613
- message.output = resultContent;
27614
- message.status = status;
27615
- }
27616
- }
27582
+ const result = readToolResult(event);
27583
+ if (!result) return;
27584
+ const { toolResult, output: resultContent, status } = result;
27585
+ const toolInfo = toolCallMap.get(result.toolUseId);
27586
+ if (!toolInfo) return;
27587
+ const isError = status === "failed";
27588
+ if (toolInfo.toolName === "TaskCreate" && !isError) {
27589
+ taskAccumulator.processContentBlock(toolResult);
27590
+ }
27591
+ const message = messages[toolInfo.messageIndex];
27592
+ if (!message) return;
27593
+ if (message.type === "command") {
27594
+ message.output = resultContent;
27595
+ message.status = status;
27596
+ const exitCodeMatch = resultContent.match(/exit code:?\s*(\d+)/i);
27597
+ if (exitCodeMatch) {
27598
+ message.exitCode = parseInt(exitCodeMatch[1], 10);
27599
+ } else {
27600
+ message.exitCode = isError ? 1 : 0;
27601
+ }
27602
+ } else if (message.type === "patch") {
27603
+ message.status = status;
27604
+ } else if (message.type === "web_search") {
27605
+ message.status = status;
27606
+ } else if (message.type === "tool_call") {
27607
+ message.output = resultContent;
27608
+ message.status = status;
27609
+ } else if (message.type === "skill") {
27610
+ message.status = status;
27611
+ } else if (message.type === "subagent") {
27612
+ message.output = resultContent;
27613
+ message.status = status;
27614
+ if (!message.chatId && resultContent) {
27615
+ const parsed = safeJsonParse(resultContent, {});
27616
+ if (parsed.chatId) {
27617
+ message.chatId = parsed.chatId;
27618
+ }
27619
+ }
27620
+ } else if (message.type === "subagent_followup") {
27621
+ message.output = resultContent;
27622
+ message.status = status;
27617
27623
  }
27618
27624
  });
27619
27625
  for (const message of messages) {
@@ -28055,7 +28061,7 @@ var headlessAgentRequestSchema = external_exports.object({
28055
28061
  });
28056
28062
 
28057
28063
  // ../shared/src/cli-version.ts
28058
- var CLI_VERSION = "0.2.803";
28064
+ var CLI_VERSION = "0.2.804";
28059
28065
 
28060
28066
  // ../shared/src/version.ts
28061
28067
  function compareVersions(v1, v2) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "replicas-cli",
3
- "version": "0.2.803",
3
+ "version": "0.2.804",
4
4
  "description": "CLI for managing Replicas workspaces - SSH into cloud dev environments with automatic port forwarding",
5
5
  "main": "dist/index.cjs",
6
6
  "bin": {