replicas-cli 0.2.73 → 0.2.75

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.
@@ -7527,7 +7527,8 @@ var REPLICAS_CONFIG_FILENAMES = ["replicas.json", "replicas.yaml", "replicas.yml
7527
7527
  // ../shared/src/engine/types.ts
7528
7528
  var DEFAULT_CHAT_TITLES = {
7529
7529
  claude: "Claude Code",
7530
- codex: "Codex"
7530
+ codex: "Codex",
7531
+ relay: "Relay"
7531
7532
  };
7532
7533
  function getInitialChatId(chats, preferredProvider = "claude") {
7533
7534
  if (chats.length === 0) return null;
@@ -7938,6 +7939,20 @@ function parseClaudeEvents(events, parentToolUseId) {
7938
7939
  status: "in_progress",
7939
7940
  timestamp: event.timestamp
7940
7941
  });
7942
+ } else if (toolName === "mcp__relay-subagent-tools__spawn_agent") {
7943
+ const inputObj = typeof toolInput === "string" ? safeJsonParse2(toolInput, {}) : toolInput;
7944
+ messages.push({
7945
+ id: `subagent-${event.timestamp}-${messages.length}`,
7946
+ type: "subagent",
7947
+ toolUseId,
7948
+ description: inputObj.title || `Relay subagent (${inputObj.provider || "unknown"})`,
7949
+ prompt: inputObj.prompt || "",
7950
+ subagentType: inputObj.provider || "unknown",
7951
+ model: inputObj.model,
7952
+ status: "in_progress",
7953
+ nestedEvents: [],
7954
+ timestamp: event.timestamp
7955
+ });
7941
7956
  } else {
7942
7957
  messages.push({
7943
7958
  id: `toolcall-${event.timestamp}-${messages.length}`,
@@ -7999,6 +8014,12 @@ function parseClaudeEvents(events, parentToolUseId) {
7999
8014
  } else if (message.type === "subagent") {
8000
8015
  message.output = resultContent;
8001
8016
  message.status = status;
8017
+ if (!message.chatId && resultContent) {
8018
+ const parsed = safeJsonParse2(resultContent, {});
8019
+ if (parsed.chatId) {
8020
+ message.chatId = parsed.chatId;
8021
+ }
8022
+ }
8002
8023
  }
8003
8024
  }
8004
8025
  }
@@ -8011,10 +8032,8 @@ var INTERRUPTED_MESSAGE_REGEX = /^\[Request interrupted by user.*\]$/;
8011
8032
  function parseAgentEvents(events, agentType) {
8012
8033
  if (agentType === "codex") {
8013
8034
  return parseCodexEvents(events);
8014
- } else if (agentType === "claude") {
8015
- return parseClaudeEvents(events);
8016
8035
  }
8017
- return [];
8036
+ return parseClaudeEvents(events);
8018
8037
  }
8019
8038
  function createUserMessage(content) {
8020
8039
  const timestamp = (/* @__PURE__ */ new Date()).toISOString();
package/dist/index.mjs CHANGED
@@ -15,7 +15,7 @@ import {
15
15
  setIdeCommand,
16
16
  setOrganizationId,
17
17
  writeConfig
18
- } from "./chunk-ZWXIWBWN.mjs";
18
+ } from "./chunk-H2KYINFB.mjs";
19
19
 
20
20
  // src/index.ts
21
21
  import "dotenv/config";
@@ -2509,12 +2509,12 @@ async function interactiveCommand() {
2509
2509
  );
2510
2510
  }
2511
2511
  console.log(chalk18.gray("Starting interactive mode..."));
2512
- const { launchInteractive } = await import("./interactive-VMAIEMDZ.mjs");
2512
+ const { launchInteractive } = await import("./interactive-GC2T2TVX.mjs");
2513
2513
  await launchInteractive();
2514
2514
  }
2515
2515
 
2516
2516
  // src/index.ts
2517
- var CLI_VERSION = "0.2.73";
2517
+ var CLI_VERSION = "0.2.75";
2518
2518
  var program = new Command();
2519
2519
  program.name("replicas").description("CLI for managing Replicas workspaces").version(CLI_VERSION);
2520
2520
  program.command("login").description("Authenticate with your Replicas account").action(async () => {
@@ -11,7 +11,7 @@ import {
11
11
  isAgentBackendEvent,
12
12
  parseAgentEvents,
13
13
  parseUserMessage
14
- } from "./chunk-ZWXIWBWN.mjs";
14
+ } from "./chunk-H2KYINFB.mjs";
15
15
 
16
16
  // src/interactive/index.tsx
17
17
  import { createCliRenderer } from "@opentui/core";
@@ -320,10 +320,12 @@ function useWorkspaceEvents(workspaceId, enabled = true) {
320
320
  if (!workspaceId) return;
321
321
  const chatsKey = ["workspace-chats", workspaceId];
322
322
  if (event.type === "chat.created" || event.type === "chat.updated") {
323
- qc.setQueryData(chatsKey, (current) => {
324
- if (!current) return { chats: [event.payload.chat] };
325
- return { chats: upsertChat(current.chats, event.payload.chat) };
326
- });
323
+ if (event.payload.chat.parentChatId === null) {
324
+ qc.setQueryData(chatsKey, (current) => {
325
+ if (!current) return { chats: [event.payload.chat] };
326
+ return { chats: upsertChat(current.chats, event.payload.chat) };
327
+ });
328
+ }
327
329
  return;
328
330
  }
329
331
  if (event.type === "chat.deleted") {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "replicas-cli",
3
- "version": "0.2.73",
3
+ "version": "0.2.75",
4
4
  "description": "CLI for managing Replicas workspaces - SSH into cloud dev environments with automatic port forwarding",
5
5
  "main": "dist/index.mjs",
6
6
  "bin": {