replicas-engine 0.1.1245 → 0.1.1246

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.
@@ -8,9 +8,9 @@ import {
8
8
  listRunningCodexModels,
9
9
  restartCodexAspHost,
10
10
  restartCodexAspHostIfRunning
11
- } from "./chunk-KE2AWRDG.js";
11
+ } from "./chunk-GLQBX74T.js";
12
12
  import "./chunk-B2IU3EA4.js";
13
- import "./chunk-HJJ7VRXK.js";
13
+ import "./chunk-ASZPCUVD.js";
14
14
  import "./chunk-N4MLANHG.js";
15
15
  import "./chunk-UZSNFLDQ.js";
16
16
  import "./chunk-BITFRIB7.js";
@@ -240,7 +240,7 @@ function getCodexModelProvider(method) {
240
240
  if (method === "foundry") return "azure";
241
241
  return method === "ollama" || method === "openai-compatible" ? "replicas_openai_compatible" : "openai";
242
242
  }
243
- var ENGINE_PACKAGE_VERSION = "0.1.1245";
243
+ var ENGINE_PACKAGE_VERSION = "0.1.1246";
244
244
  var INITIALIZE_METHOD = "initialize";
245
245
  var INITIALIZED_NOTIFICATION = "initialized";
246
246
  var ACCOUNT_LOGIN_START_METHOD = "account/login/start";
@@ -14,7 +14,7 @@ import {
14
14
  import {
15
15
  AppServerProcess,
16
16
  buildCodexAgentEnv
17
- } from "./chunk-HJJ7VRXK.js";
17
+ } from "./chunk-ASZPCUVD.js";
18
18
  import {
19
19
  SUBPROCESS_MAX_BUFFER,
20
20
  execFileAsync
@@ -291,7 +291,7 @@ var CodexTokenManager = class extends BaseRefreshManager {
291
291
  await this.applyCredentialUpdate(++this.credentialGeneration, async () => {
292
292
  await this.applyCredentialsResponse(data);
293
293
  setAgentCredentialSnapshot("codex", data);
294
- const { restartCodexAspHostIfRunning: restartCodexAspHostIfRunning2 } = await import("./asp-host-AUWG4TM5.js");
294
+ const { restartCodexAspHostIfRunning: restartCodexAspHostIfRunning2 } = await import("./asp-host-7XJAB2XD.js");
295
295
  await restartCodexAspHostIfRunning2();
296
296
  });
297
297
  await this.start(true);
@@ -313,7 +313,7 @@ var CodexTokenManager = class extends BaseRefreshManager {
313
313
  const accountChanged = ENGINE_ENV.REPLICAS_AGENT_CREDENTIALS.codex?.credentialId !== data.credentialId;
314
314
  await this.applyCredentialsResponse(data);
315
315
  if (restartOnChange && (accountChanged || CODEX_AUTH_ENV_KEYS.some((key, index) => process.env[key] !== previousEnv[index]))) {
316
- const { restartCodexAspHostIfRunning: restartCodexAspHostIfRunning2 } = await import("./asp-host-AUWG4TM5.js");
316
+ const { restartCodexAspHostIfRunning: restartCodexAspHostIfRunning2 } = await import("./asp-host-7XJAB2XD.js");
317
317
  await restartCodexAspHostIfRunning2();
318
318
  }
319
319
  setAgentCredentialSnapshot("codex", data);
@@ -3,7 +3,7 @@ import { createRequire as __createRequire } from 'node:module';
3
3
  const require = __createRequire(import.meta.url);
4
4
  import {
5
5
  AspClient
6
- } from "./chunk-HJJ7VRXK.js";
6
+ } from "./chunk-ASZPCUVD.js";
7
7
  import {
8
8
  ASTER_BASE_URL,
9
9
  ASTER_PROVIDER,
@@ -13,11 +13,11 @@ import {
13
13
  recoverCompletedTurn,
14
14
  spawnMuseMsp,
15
15
  startMuseSession
16
- } from "./chunk-2VFSDNB4.js";
16
+ } from "./chunk-IBAF7TOR.js";
17
17
  import {
18
18
  AppServerProcess,
19
19
  buildCodexAgentEnv
20
- } from "./chunk-HJJ7VRXK.js";
20
+ } from "./chunk-ASZPCUVD.js";
21
21
  import "./chunk-N4MLANHG.js";
22
22
  import {
23
23
  AGENT,
package/dist/src/index.js CHANGED
@@ -64,7 +64,7 @@ import {
64
64
  spawnMuseMsp,
65
65
  startMuseSession,
66
66
  uuidV7
67
- } from "./chunk-2VFSDNB4.js";
67
+ } from "./chunk-IBAF7TOR.js";
68
68
  import {
69
69
  publishedPullRequestUrls
70
70
  } from "./chunk-M3IIIYS7.js";
@@ -140,7 +140,7 @@ import {
140
140
  timestampFromSeconds,
141
141
  upsertCredentialFileLines,
142
142
  writeSecureCredentialFile
143
- } from "./chunk-KE2AWRDG.js";
143
+ } from "./chunk-GLQBX74T.js";
144
144
  import {
145
145
  ENGINE_ENV,
146
146
  monolithRequest,
@@ -152,7 +152,7 @@ import {
152
152
  } from "./chunk-B2IU3EA4.js";
153
153
  import {
154
154
  getCodexModelProvider
155
- } from "./chunk-HJJ7VRXK.js";
155
+ } from "./chunk-ASZPCUVD.js";
156
156
  import {
157
157
  SUBPROCESS_MAX_BUFFER,
158
158
  execAsync,
@@ -12813,7 +12813,6 @@ var ClaudeQuotaError = class extends Error {
12813
12813
  kind;
12814
12814
  };
12815
12815
  var MAX_AUTH_RETRIES = 2;
12816
- var MAX_FALLBACKS = 2;
12817
12816
  var MAX_TRANSIENT_RETRIES = 2;
12818
12817
  var MAX_MIDTURN_CONTINUE_RETRIES = 2;
12819
12818
  var TRANSIENT_RETRY_DELAYS_MS = [1e3, 2500];
@@ -12854,6 +12853,7 @@ var ClaudeManager = class _ClaudeManager extends CodingAgentManager {
12854
12853
  sessionLoop = null;
12855
12854
  sessionLinearForwarder = null;
12856
12855
  pendingTurn = null;
12856
+ attemptSawActivity = false;
12857
12857
  sessionActivity = createClaudeSessionActivity();
12858
12858
  backgroundContinuationTimer = null;
12859
12859
  pendingInterrupt = false;
@@ -13206,7 +13206,7 @@ var ClaudeManager = class _ClaudeManager extends CodingAgentManager {
13206
13206
  let failedLogin;
13207
13207
  let loginRevoked = false;
13208
13208
  let namedLogin;
13209
- let fallbacks = 0;
13209
+ let failedCredentials = [];
13210
13210
  let attempt = 0;
13211
13211
  let authRetries = 0;
13212
13212
  let transientRetries = 0;
@@ -13221,11 +13221,13 @@ var ClaudeManager = class _ClaudeManager extends CodingAgentManager {
13221
13221
  const attemptedCredential = ENGINE_ENV.REPLICAS_AGENT_CREDENTIALS.claude;
13222
13222
  const steers = carriedSteers;
13223
13223
  carriedSteers = /* @__PURE__ */ new Map();
13224
+ this.attemptSawActivity = false;
13224
13225
  try {
13225
13226
  await this.executeQuery(currentRequest, { skipUserMessageRecord: attempt > 0 || request.engineTurn, engineTurn: request.engineTurn, signal, steers });
13226
13227
  return;
13227
13228
  } catch (error) {
13228
13229
  lastError = error;
13230
+ if (this.attemptSawActivity) failedCredentials = [];
13229
13231
  if (this.turnPromptRecorded) {
13230
13232
  currentRequest = { ...currentRequest, message: CLAUDE_RETRY_PROMPT, images: [], goalMode: false };
13231
13233
  }
@@ -13255,10 +13257,11 @@ var ClaudeManager = class _ClaudeManager extends CodingAgentManager {
13255
13257
  if (quotaKind || isAuthError) {
13256
13258
  const reason = quotaKind ?? "auth_failed";
13257
13259
  const detail = error instanceof ClaudeQuotaError ? error.message : extractErrorText(error);
13258
- const fallback = fallbacks < MAX_FALLBACKS ? await this.fallBackCredential(reason, detail, attemptedCredential) : { outcome: "unavailable" };
13260
+ const repeated = !!attemptedCredential && failedCredentials.some((failed) => isSameCredential(failed, attemptedCredential));
13261
+ if (attemptedCredential) failedCredentials.push(attemptedCredential);
13262
+ const fallback = repeated ? { outcome: "unavailable" } : await this.fallBackCredential(reason, detail, attemptedCredential);
13259
13263
  if (fallback.outcome === "switched") {
13260
13264
  if (fallback.model) currentRequest = { ...currentRequest, model: fallback.model };
13261
- fallbacks++;
13262
13265
  authRetries = 0;
13263
13266
  loginRevoked = false;
13264
13267
  namedLogin = void 0;
@@ -13700,6 +13703,7 @@ var ClaudeManager = class _ClaudeManager extends CodingAgentManager {
13700
13703
  }
13701
13704
  if (this.pendingTurn && _ClaudeManager.isTurnActivity(msg)) {
13702
13705
  this.pendingTurn.sawActivity = true;
13706
+ this.attemptSawActivity = true;
13703
13707
  }
13704
13708
  if (msg.type === "result" && (msg.subtype !== "success" || msg.num_turns !== 0 || msg.result !== "") || _ClaudeManager.isTurnActivity(msg)) {
13705
13709
  this.clearBackgroundContinuationTimer();
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "replicas-engine",
3
- "version": "0.1.1245",
3
+ "version": "0.1.1246",
4
4
  "description": "Lightweight API server for Replicas workspaces",
5
5
  "type": "module",
6
6
  "main": "dist/src/index.js",