replicas-engine 0.1.1308 → 0.1.1311
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/src/{asp-host-UZTWCJFQ.js → asp-host-AOCG2NHN.js} +5 -5
- package/dist/src/{chunk-JEP6EFK4.js → chunk-BG2GDBAV.js} +8 -1
- package/dist/src/{chunk-MAMNSZ53.js → chunk-BMOEYO4Y.js} +2 -2
- package/dist/src/{chunk-Z5IQAQDK.js → chunk-CPBB3JKK.js} +1 -1
- package/dist/src/{chunk-CDRCJUTU.js → chunk-FJGC3SKY.js} +2 -2
- package/dist/src/{chunk-KZV23QDU.js → chunk-GBZIVMEH.js} +2 -2
- package/dist/src/{chunk-QCV7O27G.js → chunk-MF2O6NS5.js} +3 -3
- package/dist/src/{chunk-XBKJROPE.js → chunk-O5FOUSFZ.js} +6 -6
- package/dist/src/{chunk-FDLME7OO.js → chunk-PKLNM4OL.js} +1 -1
- package/dist/src/command-protection-hook.js +4 -4
- package/dist/src/headless-agent.js +4 -4
- package/dist/src/index.js +23 -17
- package/dist/src/post-tool-pr-hook.js +2 -2
- package/dist/src/subagent-mcp.js +1 -1
- package/package.json +1 -1
|
@@ -8,12 +8,12 @@ import {
|
|
|
8
8
|
listRunningCodexModels,
|
|
9
9
|
restartCodexAspHost,
|
|
10
10
|
restartCodexAspHostIfRunning
|
|
11
|
-
} from "./chunk-
|
|
12
|
-
import "./chunk-
|
|
13
|
-
import "./chunk-
|
|
14
|
-
import "./chunk-
|
|
11
|
+
} from "./chunk-O5FOUSFZ.js";
|
|
12
|
+
import "./chunk-FJGC3SKY.js";
|
|
13
|
+
import "./chunk-MF2O6NS5.js";
|
|
14
|
+
import "./chunk-PKLNM4OL.js";
|
|
15
15
|
import "./chunk-UZSNFLDQ.js";
|
|
16
|
-
import "./chunk-
|
|
16
|
+
import "./chunk-BG2GDBAV.js";
|
|
17
17
|
import "./chunk-VEQXQN22.js";
|
|
18
18
|
export {
|
|
19
19
|
CODEX_ULTRAFAST_SERVICE_TIER,
|
|
@@ -5126,6 +5126,11 @@ var EMPTY_AGENT_DEFAULT_SETTINGS = {
|
|
|
5126
5126
|
fast_mode: null
|
|
5127
5127
|
};
|
|
5128
5128
|
var DEFAULT_SUBAGENT_MCP_PROVIDERS = [...VALID_AGENT_PROVIDERS];
|
|
5129
|
+
var ALERT_SOUND_FAMILIES = {
|
|
5130
|
+
glass: ["glint", "tap", "ripple", "halo"],
|
|
5131
|
+
wood: ["ready", "pluck", "knock", "bloom", "steps"]
|
|
5132
|
+
};
|
|
5133
|
+
var ALERT_SOUNDS = [...ALERT_SOUND_FAMILIES.glass, ...ALERT_SOUND_FAMILIES.wood];
|
|
5129
5134
|
var DEFAULT_USER_PREFERENCES = {
|
|
5130
5135
|
default_agent: null,
|
|
5131
5136
|
default_model: null,
|
|
@@ -5161,7 +5166,9 @@ var DEFAULT_USER_PREFERENCES = {
|
|
|
5161
5166
|
default_fast_mode: false,
|
|
5162
5167
|
auto_compact_tokens: null,
|
|
5163
5168
|
agent_defaults: { ...EMPTY_AGENT_DEFAULT_SETTINGS },
|
|
5164
|
-
fallback_chains: null
|
|
5169
|
+
fallback_chains: null,
|
|
5170
|
+
alert_sound: null,
|
|
5171
|
+
workspace_alerts: {}
|
|
5165
5172
|
};
|
|
5166
5173
|
function defaultReplicasAgentAbilities() {
|
|
5167
5174
|
const abilities = {};
|
|
@@ -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-
|
|
6
|
+
} from "./chunk-MF2O6NS5.js";
|
|
7
7
|
import {
|
|
8
8
|
ASTER_BASE_URL,
|
|
9
9
|
ASTER_PROVIDER,
|
|
@@ -15,7 +15,7 @@ import {
|
|
|
15
15
|
isRecord,
|
|
16
16
|
readOllamaAuthEnv,
|
|
17
17
|
readOpenAICompatibleAuthEnv
|
|
18
|
-
} from "./chunk-
|
|
18
|
+
} from "./chunk-BG2GDBAV.js";
|
|
19
19
|
|
|
20
20
|
// src/managers/codex-asp/notification-dispatch.ts
|
|
21
21
|
var TURN_STARTED_METHOD = "turn/started";
|
|
@@ -4,7 +4,7 @@ const require = __createRequire(import.meta.url);
|
|
|
4
4
|
import {
|
|
5
5
|
SUBPROCESS_MAX_BUFFER,
|
|
6
6
|
execFileAsync
|
|
7
|
-
} from "./chunk-
|
|
7
|
+
} from "./chunk-PKLNM4OL.js";
|
|
8
8
|
import {
|
|
9
9
|
isRecord as isRecord2
|
|
10
10
|
} from "./chunk-UZSNFLDQ.js";
|
|
@@ -22,7 +22,7 @@ import {
|
|
|
22
22
|
provisionedDeviceSchema,
|
|
23
23
|
readReplicasRuntimeEnv,
|
|
24
24
|
serializePosixEnvFile
|
|
25
|
-
} from "./chunk-
|
|
25
|
+
} from "./chunk-BG2GDBAV.js";
|
|
26
26
|
|
|
27
27
|
// src/runtime-env-loader.ts
|
|
28
28
|
import { readFileSync } from "fs";
|
|
@@ -6,7 +6,7 @@ import {
|
|
|
6
6
|
getOriginDefaultBranch,
|
|
7
7
|
monolithRequest,
|
|
8
8
|
runGitCommand
|
|
9
|
-
} from "./chunk-
|
|
9
|
+
} from "./chunk-FJGC3SKY.js";
|
|
10
10
|
import {
|
|
11
11
|
extractCommandProtectionCommandText,
|
|
12
12
|
findCommandProtectionGitLookups,
|
|
@@ -14,7 +14,7 @@ import {
|
|
|
14
14
|
findPrMergeSignals,
|
|
15
15
|
findScoutRepoWriteSignals,
|
|
16
16
|
parseCommandProtectionRequest
|
|
17
|
-
} from "./chunk-
|
|
17
|
+
} from "./chunk-BG2GDBAV.js";
|
|
18
18
|
|
|
19
19
|
// src/services/command-protection-service.ts
|
|
20
20
|
import { readFile, stat } from "fs/promises";
|
|
@@ -3,10 +3,10 @@ import { createRequire as __createRequire } from 'node:module';
|
|
|
3
3
|
const require = __createRequire(import.meta.url);
|
|
4
4
|
import {
|
|
5
5
|
execFileAsync
|
|
6
|
-
} from "./chunk-
|
|
6
|
+
} from "./chunk-PKLNM4OL.js";
|
|
7
7
|
import {
|
|
8
8
|
isVersionBelow
|
|
9
|
-
} from "./chunk-
|
|
9
|
+
} from "./chunk-BG2GDBAV.js";
|
|
10
10
|
|
|
11
11
|
// src/utils/codex-agent-env.ts
|
|
12
12
|
function buildCodexAgentEnv(source = process.env) {
|
|
@@ -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.
|
|
243
|
+
var ENGINE_PACKAGE_VERSION = "0.1.1311";
|
|
244
244
|
var INITIALIZE_METHOD = "initialize";
|
|
245
245
|
var INITIALIZED_NOTIFICATION = "initialized";
|
|
246
246
|
var ACCOUNT_LOGIN_START_METHOD = "account/login/start";
|
|
@@ -10,15 +10,15 @@ import {
|
|
|
10
10
|
resolveDiffBase,
|
|
11
11
|
runGitCommand,
|
|
12
12
|
setAgentCredentialSnapshot
|
|
13
|
-
} from "./chunk-
|
|
13
|
+
} from "./chunk-FJGC3SKY.js";
|
|
14
14
|
import {
|
|
15
15
|
AppServerProcess,
|
|
16
16
|
buildCodexAgentEnv
|
|
17
|
-
} from "./chunk-
|
|
17
|
+
} from "./chunk-MF2O6NS5.js";
|
|
18
18
|
import {
|
|
19
19
|
SUBPROCESS_MAX_BUFFER,
|
|
20
20
|
execFileAsync
|
|
21
|
-
} from "./chunk-
|
|
21
|
+
} from "./chunk-PKLNM4OL.js";
|
|
22
22
|
import {
|
|
23
23
|
isRecord
|
|
24
24
|
} from "./chunk-UZSNFLDQ.js";
|
|
@@ -56,7 +56,7 @@ import {
|
|
|
56
56
|
resolveOpenAICompatibleModelsUrl,
|
|
57
57
|
splitMothershipInstructions,
|
|
58
58
|
withTimeout
|
|
59
|
-
} from "./chunk-
|
|
59
|
+
} from "./chunk-BG2GDBAV.js";
|
|
60
60
|
|
|
61
61
|
// src/managers/codex-token-manager.ts
|
|
62
62
|
import { promises as fs } from "fs";
|
|
@@ -306,7 +306,7 @@ var CodexTokenManager = class extends BaseRefreshManager {
|
|
|
306
306
|
await this.applyCredentialUpdate(++this.credentialGeneration, async () => {
|
|
307
307
|
await this.applyCredentialsResponse(data);
|
|
308
308
|
setAgentCredentialSnapshot("codex", data);
|
|
309
|
-
const { restartCodexAspHostIfRunning: restartCodexAspHostIfRunning2 } = await import("./asp-host-
|
|
309
|
+
const { restartCodexAspHostIfRunning: restartCodexAspHostIfRunning2 } = await import("./asp-host-AOCG2NHN.js");
|
|
310
310
|
await restartCodexAspHostIfRunning2();
|
|
311
311
|
});
|
|
312
312
|
await this.start(true);
|
|
@@ -328,7 +328,7 @@ var CodexTokenManager = class extends BaseRefreshManager {
|
|
|
328
328
|
const accountChanged = ENGINE_ENV.REPLICAS_AGENT_CREDENTIALS.codex?.credentialId !== data.credentialId;
|
|
329
329
|
await this.applyCredentialsResponse(data);
|
|
330
330
|
if (restartOnChange && (accountChanged || CODEX_AUTH_ENV_KEYS.some((key, index) => process.env[key] !== previousEnv[index]))) {
|
|
331
|
-
const { restartCodexAspHostIfRunning: restartCodexAspHostIfRunning2 } = await import("./asp-host-
|
|
331
|
+
const { restartCodexAspHostIfRunning: restartCodexAspHostIfRunning2 } = await import("./asp-host-AOCG2NHN.js");
|
|
332
332
|
await restartCodexAspHostIfRunning2();
|
|
333
333
|
}
|
|
334
334
|
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
|
HOOK_EXEC_MAX_BUFFER_BYTES
|
|
6
|
-
} from "./chunk-
|
|
6
|
+
} from "./chunk-BG2GDBAV.js";
|
|
7
7
|
|
|
8
8
|
// src/utils/exec.ts
|
|
9
9
|
import { exec, execFile } from "child_process";
|
|
@@ -3,13 +3,13 @@ import { createRequire as __createRequire } from 'node:module';
|
|
|
3
3
|
const require = __createRequire(import.meta.url);
|
|
4
4
|
import {
|
|
5
5
|
evaluateCommandProtection
|
|
6
|
-
} from "./chunk-
|
|
7
|
-
import "./chunk-
|
|
8
|
-
import "./chunk-
|
|
6
|
+
} from "./chunk-GBZIVMEH.js";
|
|
7
|
+
import "./chunk-FJGC3SKY.js";
|
|
8
|
+
import "./chunk-PKLNM4OL.js";
|
|
9
9
|
import {
|
|
10
10
|
isRecord
|
|
11
11
|
} from "./chunk-UZSNFLDQ.js";
|
|
12
|
-
import "./chunk-
|
|
12
|
+
import "./chunk-BG2GDBAV.js";
|
|
13
13
|
import "./chunk-VEQXQN22.js";
|
|
14
14
|
|
|
15
15
|
// src/command-protection-hook.ts
|
|
@@ -14,12 +14,12 @@ import {
|
|
|
14
14
|
recoverCompletedTurn,
|
|
15
15
|
spawnMuseMsp,
|
|
16
16
|
startMuseSession
|
|
17
|
-
} from "./chunk-
|
|
17
|
+
} from "./chunk-BMOEYO4Y.js";
|
|
18
18
|
import {
|
|
19
19
|
AppServerProcess,
|
|
20
20
|
buildCodexAgentEnv
|
|
21
|
-
} from "./chunk-
|
|
22
|
-
import "./chunk-
|
|
21
|
+
} from "./chunk-MF2O6NS5.js";
|
|
22
|
+
import "./chunk-PKLNM4OL.js";
|
|
23
23
|
import {
|
|
24
24
|
AGENT,
|
|
25
25
|
OPENCODE_GO_PROVIDER,
|
|
@@ -29,7 +29,7 @@ import {
|
|
|
29
29
|
headlessAgentUsagePath,
|
|
30
30
|
isRecord,
|
|
31
31
|
withTimeout
|
|
32
|
-
} from "./chunk-
|
|
32
|
+
} from "./chunk-BG2GDBAV.js";
|
|
33
33
|
import "./chunk-VEQXQN22.js";
|
|
34
34
|
|
|
35
35
|
// src/headless-agent.ts
|
package/dist/src/index.js
CHANGED
|
@@ -27,7 +27,7 @@ import {
|
|
|
27
27
|
evaluateCommandProtection,
|
|
28
28
|
extractToolCommand,
|
|
29
29
|
reportCommandProtectionBlock
|
|
30
|
-
} from "./chunk-
|
|
30
|
+
} from "./chunk-GBZIVMEH.js";
|
|
31
31
|
import {
|
|
32
32
|
ACCOUNT_RATE_LIMITS_UPDATED_METHOD,
|
|
33
33
|
AGENT_MESSAGE_DELTA_METHOD,
|
|
@@ -65,10 +65,10 @@ import {
|
|
|
65
65
|
spawnMuseMsp,
|
|
66
66
|
startMuseSession,
|
|
67
67
|
uuidV7
|
|
68
|
-
} from "./chunk-
|
|
68
|
+
} from "./chunk-BMOEYO4Y.js";
|
|
69
69
|
import {
|
|
70
70
|
publishedPullRequestUrls
|
|
71
|
-
} from "./chunk-
|
|
71
|
+
} from "./chunk-CPBB3JKK.js";
|
|
72
72
|
import {
|
|
73
73
|
ACCOUNT_RATE_LIMITS_READ_METHOD,
|
|
74
74
|
AsyncLock,
|
|
@@ -143,7 +143,7 @@ import {
|
|
|
143
143
|
timestampFromSeconds,
|
|
144
144
|
upsertCredentialFileLines,
|
|
145
145
|
writeSecureCredentialFile
|
|
146
|
-
} from "./chunk-
|
|
146
|
+
} from "./chunk-O5FOUSFZ.js";
|
|
147
147
|
import {
|
|
148
148
|
ENGINE_ENV,
|
|
149
149
|
monolithRequest,
|
|
@@ -153,15 +153,15 @@ import {
|
|
|
153
153
|
resolveDiffBase,
|
|
154
154
|
setAgentCredentialSnapshot,
|
|
155
155
|
setLinearSessionId
|
|
156
|
-
} from "./chunk-
|
|
156
|
+
} from "./chunk-FJGC3SKY.js";
|
|
157
157
|
import {
|
|
158
158
|
getCodexModelProvider
|
|
159
|
-
} from "./chunk-
|
|
159
|
+
} from "./chunk-MF2O6NS5.js";
|
|
160
160
|
import {
|
|
161
161
|
SUBPROCESS_MAX_BUFFER,
|
|
162
162
|
execAsync,
|
|
163
163
|
execFileAsync
|
|
164
|
-
} from "./chunk-
|
|
164
|
+
} from "./chunk-PKLNM4OL.js";
|
|
165
165
|
import {
|
|
166
166
|
isRecord as isRecord2
|
|
167
167
|
} from "./chunk-UZSNFLDQ.js";
|
|
@@ -415,7 +415,7 @@ import {
|
|
|
415
415
|
workspaceTokenRequestSchema,
|
|
416
416
|
workspaceTokenResponseSchema,
|
|
417
417
|
wrapInTag
|
|
418
|
-
} from "./chunk-
|
|
418
|
+
} from "./chunk-BG2GDBAV.js";
|
|
419
419
|
import {
|
|
420
420
|
cloneMcpConfig,
|
|
421
421
|
ensureCompatibilityImports,
|
|
@@ -11330,12 +11330,12 @@ var AuthFallbackCoordinator = class {
|
|
|
11330
11330
|
record;
|
|
11331
11331
|
context;
|
|
11332
11332
|
/** `attempted` is the credential the failed turn ran on, which another chat may already have replaced. */
|
|
11333
|
-
fallBack(reason, detail, attempted, resetsAt) {
|
|
11333
|
+
fallBack(reason, detail, attempted, resetsAt, afterLimit = false) {
|
|
11334
11334
|
let lock = fallbackLocks.get(this.provider);
|
|
11335
11335
|
if (!lock) fallbackLocks.set(this.provider, lock = new AsyncLock());
|
|
11336
|
-
return lock.run(() => this.fallBackNow(reason, detail, attempted, resetsAt));
|
|
11336
|
+
return lock.run(() => this.fallBackNow(reason, detail, attempted, resetsAt, afterLimit));
|
|
11337
11337
|
}
|
|
11338
|
-
async fallBackNow(reason, detail, attempted, resetsAt) {
|
|
11338
|
+
async fallBackNow(reason, detail, attempted, resetsAt, afterLimit) {
|
|
11339
11339
|
const tokenManager = SWAPPABLE_AGENTS[this.provider];
|
|
11340
11340
|
const live = ENGINE_ENV.REPLICAS_AGENT_CREDENTIALS[this.provider];
|
|
11341
11341
|
const exhausted = attempted ?? live;
|
|
@@ -11357,7 +11357,7 @@ var AuthFallbackCoordinator = class {
|
|
|
11357
11357
|
for (const step of steps) {
|
|
11358
11358
|
if (step.kind === "harness") {
|
|
11359
11359
|
if (!forkable || !isAgentAvailable(step.provider)) continue;
|
|
11360
|
-
if (reason === "auth_failed" || reason === "model_unavailable") continue;
|
|
11360
|
+
if ((reason === "auth_failed" || reason === "model_unavailable") && !afterLimit) continue;
|
|
11361
11361
|
return { outcome: "fork", target: step };
|
|
11362
11362
|
}
|
|
11363
11363
|
if (alreadyReplaced && live) {
|
|
@@ -11737,9 +11737,9 @@ var CodingAgentManager = class _CodingAgentManager {
|
|
|
11737
11737
|
this.getHistorySink()?.append(event);
|
|
11738
11738
|
}, options.fallbackContext ?? (() => ({ excludeProviders: [], forkable: false }))) : null;
|
|
11739
11739
|
}
|
|
11740
|
-
async fallBackCredential(reason, detail, attempted, resetsAt) {
|
|
11740
|
+
async fallBackCredential(reason, detail, attempted, resetsAt, afterLimit = false) {
|
|
11741
11741
|
if (!this.authFallback) return { outcome: "unavailable" };
|
|
11742
|
-
const result = await this.authFallback.fallBack(reason, detail, attempted, resetsAt);
|
|
11742
|
+
const result = await this.authFallback.fallBack(reason, detail, attempted, resetsAt, afterLimit);
|
|
11743
11743
|
if (result.outcome === "switched" && result.model) await this.onModelSwitched(result.model);
|
|
11744
11744
|
return result;
|
|
11745
11745
|
}
|
|
@@ -13479,6 +13479,7 @@ var ClaudeManager = class _ClaudeManager extends CodingAgentManager {
|
|
|
13479
13479
|
let loginRevoked = false;
|
|
13480
13480
|
let namedLogin;
|
|
13481
13481
|
let failedCredentials = [];
|
|
13482
|
+
let walkLimit;
|
|
13482
13483
|
let attempt = 0;
|
|
13483
13484
|
let authRetries = 0;
|
|
13484
13485
|
let transientRetries = 0;
|
|
@@ -13538,8 +13539,10 @@ var ClaudeManager = class _ClaudeManager extends CodingAgentManager {
|
|
|
13538
13539
|
const detail = error instanceof ClaudeQuotaError || error instanceof ClaudeModelUnavailableError ? error.message : extractErrorText(error);
|
|
13539
13540
|
const repeated = !!attemptedCredential && failedCredentials.some((failed) => isSameCredential(failed, attemptedCredential));
|
|
13540
13541
|
if (attemptedCredential) failedCredentials.push(attemptedCredential);
|
|
13541
|
-
const
|
|
13542
|
+
const limit = quotaKind ? { kind: quotaKind, credential: attemptedCredential } : walkLimit;
|
|
13543
|
+
const fallback = repeated ? { outcome: "unavailable" } : await this.fallBackCredential(reason, detail, attemptedCredential, error instanceof ClaudeQuotaError ? error.resetsAt : void 0, !!walkLimit);
|
|
13542
13544
|
if (fallback.outcome === "switched") {
|
|
13545
|
+
walkLimit = limit;
|
|
13543
13546
|
if (isAuthError) {
|
|
13544
13547
|
this.turnLoginFailure ??= describeLoginFailure("claude", attemptedCredential ?? namedLogin, resolveClaudeAuthMethodForMessage(), loginRevoked);
|
|
13545
13548
|
}
|
|
@@ -13551,8 +13554,11 @@ var ClaudeManager = class _ClaudeManager extends CodingAgentManager {
|
|
|
13551
13554
|
attempt++;
|
|
13552
13555
|
continue;
|
|
13553
13556
|
}
|
|
13554
|
-
if (quotaKind) {
|
|
13555
|
-
|
|
13557
|
+
if (limit && (quotaKind || fallback.outcome === "fork")) {
|
|
13558
|
+
if (isAuthError) {
|
|
13559
|
+
this.turnLoginFailure ??= describeLoginFailure("claude", attemptedCredential ?? namedLogin, resolveClaudeAuthMethodForMessage(), loginRevoked);
|
|
13560
|
+
}
|
|
13561
|
+
await this.emitQuotaExhaustedEvent(limit.kind, fallback, detail, limit.credential);
|
|
13556
13562
|
return;
|
|
13557
13563
|
}
|
|
13558
13564
|
if (modelUnavailable) {
|
|
@@ -3,13 +3,13 @@ import { createRequire as __createRequire } from 'node:module';
|
|
|
3
3
|
const require = __createRequire(import.meta.url);
|
|
4
4
|
import {
|
|
5
5
|
publishedPullRequestUrls
|
|
6
|
-
} from "./chunk-
|
|
6
|
+
} from "./chunk-CPBB3JKK.js";
|
|
7
7
|
import {
|
|
8
8
|
isRecord
|
|
9
9
|
} from "./chunk-UZSNFLDQ.js";
|
|
10
10
|
import {
|
|
11
11
|
shouldRefreshPullRequests
|
|
12
|
-
} from "./chunk-
|
|
12
|
+
} from "./chunk-BG2GDBAV.js";
|
|
13
13
|
import "./chunk-VEQXQN22.js";
|
|
14
14
|
|
|
15
15
|
// src/services/post-tool-pr-notifier.ts
|
package/dist/src/subagent-mcp.js
CHANGED