@posthog/agent 2.1.156 → 2.1.167

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.
package/dist/agent.js CHANGED
@@ -279,7 +279,7 @@ import { v7 as uuidv7 } from "uuid";
279
279
  // package.json
280
280
  var package_default = {
281
281
  name: "@posthog/agent",
282
- version: "2.1.156",
282
+ version: "2.1.167",
283
283
  repository: "https://github.com/PostHog/twig",
284
284
  description: "TypeScript agent framework wrapping Claude Agent SDK with Git-based task execution for PostHog",
285
285
  exports: {
@@ -367,7 +367,7 @@ var package_default = {
367
367
  },
368
368
  dependencies: {
369
369
  "@agentclientprotocol/sdk": "^0.14.0",
370
- "@anthropic-ai/claude-agent-sdk": "0.2.63",
370
+ "@anthropic-ai/claude-agent-sdk": "0.2.68",
371
371
  "@anthropic-ai/sdk": "^0.78.0",
372
372
  "@hono/node-server": "^1.19.9",
373
373
  "@opentelemetry/api-logs": "^0.208.0",
@@ -1771,6 +1771,9 @@ function handleResultMessage(message) {
1771
1771
  usage
1772
1772
  };
1773
1773
  }
1774
+ if (message.stop_reason === "max_tokens") {
1775
+ return { shouldStop: true, stopReason: "max_tokens", usage };
1776
+ }
1774
1777
  if (message.is_error) {
1775
1778
  return {
1776
1779
  shouldStop: true,
@@ -1781,6 +1784,9 @@ function handleResultMessage(message) {
1781
1784
  return { shouldStop: true, stopReason: "end_turn", usage };
1782
1785
  }
1783
1786
  case "error_during_execution":
1787
+ if (message.stop_reason === "max_tokens") {
1788
+ return { shouldStop: true, stopReason: "max_tokens", usage };
1789
+ }
1784
1790
  if (message.is_error) {
1785
1791
  return {
1786
1792
  shouldStop: true,
@@ -3243,14 +3249,7 @@ var ClaudeAcpAgent = class extends BaseAcpAgent {
3243
3249
  };
3244
3250
  const result = handleResultMessage(message);
3245
3251
  if (result.error) throw result.error;
3246
- switch (message.subtype) {
3247
- case "error_max_budget_usd":
3248
- case "error_max_turns":
3249
- case "error_max_structured_output_retries":
3250
- return { stopReason: "max_turn_requests", usage };
3251
- default:
3252
- return { stopReason: "end_turn", usage };
3253
- }
3252
+ return { stopReason: result.stopReason ?? "end_turn", usage };
3254
3253
  }
3255
3254
  case "stream_event":
3256
3255
  await handleStreamEvent(message, context);
@@ -3271,6 +3270,9 @@ var ClaudeAcpAgent = class extends BaseAcpAgent {
3271
3270
  return { stopReason: "end_turn" };
3272
3271
  }
3273
3272
  }
3273
+ if ("isReplay" in message && message.isReplay) {
3274
+ break;
3275
+ }
3274
3276
  if ("usage" in message.message && message.parent_tool_use_id === null) {
3275
3277
  const usage = message.message.usage;
3276
3278
  lastAssistantTotalUsage = usage.input_tokens + usage.output_tokens + usage.cache_read_input_tokens + usage.cache_creation_input_tokens;
@@ -3285,6 +3287,8 @@ var ClaudeAcpAgent = class extends BaseAcpAgent {
3285
3287
  case "tool_progress":
3286
3288
  case "auth_status":
3287
3289
  case "tool_use_summary":
3290
+ case "prompt_suggestion":
3291
+ case "rate_limit_event":
3288
3292
  break;
3289
3293
  default:
3290
3294
  unreachable(message, this.logger);
@@ -3292,6 +3296,22 @@ var ClaudeAcpAgent = class extends BaseAcpAgent {
3292
3296
  }
3293
3297
  }
3294
3298
  throw new Error("Session did not end in result");
3299
+ } catch (error) {
3300
+ if (error instanceof RequestError2 || !(error instanceof Error)) {
3301
+ throw error;
3302
+ }
3303
+ const msg = error.message;
3304
+ if (msg.includes("ProcessTransport") || msg.includes("terminated process") || msg.includes("process exited with") || msg.includes("process terminated by signal") || msg.includes("Failed to write to process stdin")) {
3305
+ this.logger.error(`Process died: ${msg}`, {
3306
+ sessionId: this.sessionId
3307
+ });
3308
+ this.session.input.end();
3309
+ throw RequestError2.internalError(
3310
+ void 0,
3311
+ "The Claude Agent process exited unexpectedly. Please start a new session."
3312
+ );
3313
+ }
3314
+ throw error;
3295
3315
  } finally {
3296
3316
  if (!handedOff) {
3297
3317
  this.session.promptRunning = false;
@@ -3475,6 +3495,9 @@ var ClaudeAcpAgent = class extends BaseAcpAgent {
3475
3495
  }
3476
3496
  } catch (err) {
3477
3497
  settingsManager.dispose();
3498
+ if (isResume && err instanceof Error && err.message === "Query closed before response received") {
3499
+ throw RequestError2.resourceNotFound(sessionId);
3500
+ }
3478
3501
  this.logger.error(
3479
3502
  isResume ? forkSession ? "Session fork failed" : "Session resumption failed" : "Session initialization failed",
3480
3503
  {