@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 +33 -10
- package/dist/agent.js.map +1 -1
- package/dist/claude-cli/cli.js +1590 -1590
- package/dist/posthog-api.js +2 -2
- package/dist/posthog-api.js.map +1 -1
- package/dist/server/agent-server.d.ts +1 -0
- package/dist/server/agent-server.js +34 -11
- package/dist/server/agent-server.js.map +1 -1
- package/dist/server/bin.cjs +37 -13
- package/dist/server/bin.cjs.map +1 -1
- package/package.json +2 -2
- package/src/adapters/claude/UPSTREAM.md +3 -3
- package/src/adapters/claude/claude-agent.ts +40 -8
- package/src/adapters/claude/conversion/sdk-to-acp.ts +8 -2
- package/src/server/agent-server.test.ts +28 -0
- package/src/server/agent-server.ts +1 -1
- package/src/server/bin.ts +2 -0
- package/src/server/types.ts +1 -0
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.
|
|
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.
|
|
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
|
-
|
|
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
|
{
|