replicas-cli 0.2.380 → 0.2.382

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.mjs +24 -3
  2. package/package.json +1 -1
package/dist/index.mjs CHANGED
@@ -24360,7 +24360,7 @@ var HOOK_EXEC_MAX_BUFFER_BYTES = 10 * 1024 * 1024;
24360
24360
  var REPLICAS_CONFIG_FILENAMES = ["replicas.json", "replicas.yaml", "replicas.yml"];
24361
24361
 
24362
24362
  // ../shared/src/cli-version.ts
24363
- var CLI_VERSION = "0.2.380";
24363
+ var CLI_VERSION = "0.2.382";
24364
24364
 
24365
24365
  // ../shared/src/version.ts
24366
24366
  function compareVersions(v1, v2) {
@@ -25200,6 +25200,10 @@ function setById2(messages, id, message) {
25200
25200
  function toolStatus2(value) {
25201
25201
  return value === "completed" || value === "success" ? "completed" : value === "error" ? "failed" : "in_progress";
25202
25202
  }
25203
+ function assistantErrorMessage(value) {
25204
+ if (!isRecord(value) || value.role !== "assistant" || value.stopReason !== "error") return null;
25205
+ return typeof value.errorMessage === "string" && value.errorMessage ? value.errorMessage : "Pi run failed";
25206
+ }
25203
25207
  function parsePiEvents(events) {
25204
25208
  const messages = [];
25205
25209
  const text = /* @__PURE__ */ new Map();
@@ -25214,6 +25218,13 @@ function parsePiEvents(events) {
25214
25218
  messages.push({ id: `pi-error-${event.timestamp}-${messages.length}`, type: "error", message: String(event.payload.message ?? "Pi run failed"), timestamp: event.timestamp });
25215
25219
  continue;
25216
25220
  }
25221
+ if (event.type === "pi-message_end") {
25222
+ const error51 = assistantErrorMessage(event.payload.message);
25223
+ if (error51) {
25224
+ messages.push({ id: `pi-error-${event.timestamp}-${messages.length}`, type: "error", message: error51, timestamp: event.timestamp });
25225
+ }
25226
+ continue;
25227
+ }
25217
25228
  if (event.type === "pi-message_update") {
25218
25229
  const payload = nestedPayload(event);
25219
25230
  const id = typeof payload.id === "string" ? payload.id : activeMessageId;
@@ -25392,6 +25403,16 @@ function parseMcpToolName(name) {
25392
25403
  }
25393
25404
 
25394
25405
  // ../shared/src/display-message/parsers/claude-parser.ts
25406
+ function coerceClaudeResultPayload(payload) {
25407
+ return {
25408
+ is_error: typeof payload.is_error === "boolean" ? payload.is_error : void 0,
25409
+ subtype: typeof payload.subtype === "string" ? payload.subtype : void 0,
25410
+ errors: Array.isArray(payload.errors) ? payload.errors.filter((e) => typeof e === "string") : void 0
25411
+ };
25412
+ }
25413
+ function isClaudeResultError(payload) {
25414
+ return Boolean(payload.is_error) || payload.subtype !== "success";
25415
+ }
25395
25416
  function upsertDisplayMessage(messages, message) {
25396
25417
  const index = messages.findIndex((existing) => existing.id === message.id);
25397
25418
  if (index === -1) {
@@ -25693,8 +25714,8 @@ function parseClaudeEvents(events, parentToolUseId) {
25693
25714
  });
25694
25715
  }
25695
25716
  if (event.type === "claude-result") {
25696
- const payload = event.payload;
25697
- if (payload.is_error || payload.subtype !== "success") {
25717
+ const payload = coerceClaudeResultPayload(event.payload);
25718
+ if (isClaudeResultError(payload)) {
25698
25719
  const errorList = payload.errors || [];
25699
25720
  const errorMessage = errorList.length > 0 ? errorList.join("\n") : "Claude session encountered an unexpected error.";
25700
25721
  messages.push({
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "replicas-cli",
3
- "version": "0.2.380",
3
+ "version": "0.2.382",
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": {