replicas-cli 0.2.743 → 0.2.745

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 +51 -7
  2. package/package.json +1 -1
package/dist/index.cjs CHANGED
@@ -22841,7 +22841,7 @@ var chatForkInfoSchema = external_exports.object({
22841
22841
  provider: external_exports.enum(VALID_AGENT_PROVIDERS),
22842
22842
  title: external_exports.string()
22843
22843
  }),
22844
- trigger: external_exports.enum(["manual", "auto"]),
22844
+ trigger: external_exports.enum(["manual", "auto", "side"]),
22845
22845
  reason: quotaLimitKindSchema.optional(),
22846
22846
  state: external_exports.enum(["preparing", "ready", "failed"]),
22847
22847
  error: external_exports.string().optional(),
@@ -22935,9 +22935,12 @@ var createChatRequestSchema = external_exports.object({
22935
22935
  title: external_exports.string().min(1).optional(),
22936
22936
  parentChatId: external_exports.string().uuid().optional(),
22937
22937
  forkSourceChatId: external_exports.string().uuid().optional(),
22938
+ sideChat: external_exports.boolean().optional(),
22938
22939
  clientRequestId: external_exports.string().min(1).max(128).optional()
22939
22940
  }).refine((request) => request.provider === "relay" || request.relayBaseProvider === void 0, {
22940
22941
  message: "relayBaseProvider is only valid for Relay chats"
22942
+ }).refine((request) => !request.sideChat || request.forkSourceChatId !== void 0 && request.parentChatId === request.forkSourceChatId, {
22943
+ message: "A side chat must fork its parent chat"
22941
22944
  });
22942
22945
  var spawnRelaySubagentRequestSchema = external_exports.object({
22943
22946
  provider: external_exports.enum(VALID_AGENT_PROVIDERS),
@@ -26943,13 +26946,14 @@ function filterDisplayMessages(messages, provider) {
26943
26946
  result = result.slice(userMessages[1].index);
26944
26947
  }
26945
26948
  }
26946
- result = result.map((msg) => {
26947
- if (msg.type !== "user") return msg;
26949
+ result = result.flatMap((msg) => {
26950
+ if (msg.type !== "user") return [msg];
26948
26951
  const cleaned = removeReplicasInstructions(msg.content).trim();
26949
26952
  if (INTERRUPTED_MESSAGE_REGEX.test(cleaned)) {
26950
- return { id: msg.id, type: "interruption", timestamp: msg.timestamp };
26953
+ return [{ id: msg.id, type: "interruption", timestamp: msg.timestamp }];
26951
26954
  }
26952
- return cleaned !== msg.content ? { ...msg, content: cleaned } : msg;
26955
+ if (cleaned.length === 0 && !msg.images?.length) return [];
26956
+ return [cleaned !== msg.content ? { ...msg, content: cleaned } : msg];
26953
26957
  });
26954
26958
  return result;
26955
26959
  }
@@ -27065,6 +27069,45 @@ var EGRESS_WORKSPACE_SHELL_VARS = {
27065
27069
  EGRESS_EXIT_IP_ENDPOINTS: EGRESS_EXIT_IP_ENDPOINTS.join(" ")
27066
27070
  };
27067
27071
 
27072
+ // ../shared/src/slash-commands.ts
27073
+ var SIDE_CHAT_COMMANDS = ["/btw", "/side"];
27074
+ var SLASH_COMMANDS = [
27075
+ {
27076
+ command: "/plan",
27077
+ description: "Switch to plan mode and optionally send a prompt.",
27078
+ argumentHint: "[prompt]",
27079
+ providers: ["claude", "codex", "cursor", "muse", "opencode", "pi", "relay"]
27080
+ },
27081
+ {
27082
+ command: "/fast",
27083
+ description: "Use the fast service tier for future turns.",
27084
+ providers: ["claude", "codex"]
27085
+ },
27086
+ {
27087
+ command: "/goal",
27088
+ description: "Set, pause, resume, or clear a task goal.",
27089
+ argumentHint: "<objective | pause | resume | clear>",
27090
+ providers: ["codex"]
27091
+ },
27092
+ {
27093
+ command: "/goal",
27094
+ description: "Set or clear a completion condition to keep working toward.",
27095
+ argumentHint: "<condition | clear>",
27096
+ providers: ["claude"]
27097
+ },
27098
+ {
27099
+ command: "/compact",
27100
+ description: "Compact the conversation context.",
27101
+ providers: ["codex", "muse"]
27102
+ },
27103
+ ...SIDE_CHAT_COMMANDS.map((command) => ({
27104
+ command,
27105
+ description: "Open a side chat about this chat without interrupting it.",
27106
+ argumentHint: "[question]",
27107
+ providers: [...VALID_AGENT_PROVIDERS]
27108
+ }))
27109
+ ];
27110
+
27068
27111
  // ../shared/src/replicas-config.ts
27069
27112
  var import_yaml = __toESM(require_dist());
27070
27113
 
@@ -27129,7 +27172,7 @@ var headlessFilesystemAgentResultSchema = external_exports.object({
27129
27172
  });
27130
27173
 
27131
27174
  // ../shared/src/cli-version.ts
27132
- var CLI_VERSION = "0.2.743";
27175
+ var CLI_VERSION = "0.2.745";
27133
27176
 
27134
27177
  // ../shared/src/version.ts
27135
27178
  function compareVersions(v1, v2) {
@@ -27869,7 +27912,8 @@ var ENVIRONMENT_SETUP_LIMITS = {
27869
27912
  automationNoteChars: 300,
27870
27913
  verificationItems: 8,
27871
27914
  verificationDetailChars: 300,
27872
- mediaItems: 8
27915
+ mediaItems: 8,
27916
+ repositories: 20
27873
27917
  };
27874
27918
  var ENVIRONMENT_SETUP_VARIABLE_WAIT = { defaultMs: 5 * 6e4, maxMs: 15 * 6e4, pollMs: 5e3 };
27875
27919
  var VARIABLE_KEY_RE = /^[A-Za-z_][A-Za-z0-9_]*$/;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "replicas-cli",
3
- "version": "0.2.743",
3
+ "version": "0.2.745",
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": {