@posthog/agent 2.1.62 → 2.1.69

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.
@@ -1183,7 +1183,7 @@ import { v7 as uuidv7 } from "uuid";
1183
1183
  // package.json
1184
1184
  var package_default = {
1185
1185
  name: "@posthog/agent",
1186
- version: "2.1.62",
1186
+ version: "2.1.69",
1187
1187
  repository: "https://github.com/PostHog/twig",
1188
1188
  description: "TypeScript agent framework wrapping Claude Agent SDK with Git-based task execution for PostHog",
1189
1189
  exports: {
@@ -1301,6 +1301,16 @@ var package_default = {
1301
1301
  };
1302
1302
 
1303
1303
  // src/utils/common.ts
1304
+ async function withTimeout(operation, timeoutMs) {
1305
+ const timeoutPromise = new Promise(
1306
+ (resolve4) => setTimeout(() => resolve4({ result: "timeout" }), timeoutMs)
1307
+ );
1308
+ const operationPromise = operation.then((value) => ({
1309
+ result: "success",
1310
+ value
1311
+ }));
1312
+ return Promise.race([operationPromise, timeoutPromise]);
1313
+ }
1304
1314
  var IS_ROOT = typeof process !== "undefined" && (process.geteuid?.() ?? process.getuid?.()) === 0;
1305
1315
  function unreachable(value, logger) {
1306
1316
  let valueAsString;
@@ -3093,6 +3103,7 @@ function parseMcpServers(params) {
3093
3103
  }
3094
3104
 
3095
3105
  // src/adapters/claude/session/models.ts
3106
+ var DEFAULT_MODEL = "opus";
3096
3107
  var GATEWAY_TO_SDK_MODEL = {
3097
3108
  "claude-opus-4-5": "opus",
3098
3109
  "claude-opus-4-6": "opus",
@@ -3280,6 +3291,7 @@ function clearStatsigCache() {
3280
3291
  }
3281
3292
 
3282
3293
  // src/adapters/claude/claude-agent.ts
3294
+ var SESSION_VALIDATION_TIMEOUT_MS = 1e4;
3283
3295
  var ClaudeAcpAgent = class extends BaseAcpAgent {
3284
3296
  adapterName = "claude";
3285
3297
  toolUseCache;
@@ -3353,6 +3365,7 @@ var ClaudeAcpAgent = class extends BaseAcpAgent {
3353
3365
  onProcessExited: this.options?.onProcessExited
3354
3366
  });
3355
3367
  const input = new Pushable();
3368
+ options.model = DEFAULT_MODEL;
3356
3369
  const q = query({ prompt: input, options });
3357
3370
  const session = this.createSession(
3358
3371
  sessionId,
@@ -3374,7 +3387,10 @@ var ClaudeAcpAgent = class extends BaseAcpAgent {
3374
3387
  const modelOptions = await this.getModelConfigOptions();
3375
3388
  this.deferBackgroundFetches(q, sessionId, mcpServers);
3376
3389
  session.modelId = modelOptions.currentModelId;
3377
- await this.trySetModel(q, modelOptions.currentModelId);
3390
+ const resolvedSdkModel = toSdkModelId(modelOptions.currentModelId);
3391
+ if (resolvedSdkModel !== DEFAULT_MODEL) {
3392
+ await this.trySetModel(q, modelOptions.currentModelId);
3393
+ }
3378
3394
  const configOptions = await this.buildConfigOptions(modelOptions);
3379
3395
  return {
3380
3396
  sessionId,
@@ -3407,6 +3423,13 @@ var ClaudeAcpAgent = class extends BaseAcpAgent {
3407
3423
  });
3408
3424
  session.taskRunId = meta?.taskRunId;
3409
3425
  this.registerPersistence(sessionId, meta);
3426
+ const validation = await withTimeout(
3427
+ q.initializationResult(),
3428
+ SESSION_VALIDATION_TIMEOUT_MS
3429
+ );
3430
+ if (validation.result === "timeout") {
3431
+ throw new Error("Session validation timed out");
3432
+ }
3410
3433
  this.deferBackgroundFetches(q, sessionId, mcpServers);
3411
3434
  const configOptions = await this.buildConfigOptions();
3412
3435
  return { configOptions };