replicas-engine 0.1.240 → 0.1.241
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/index.js +36 -11
- package/package.json +1 -1
package/dist/src/index.js
CHANGED
|
@@ -151,6 +151,9 @@ function percentage(tokens, maxTokens) {
|
|
|
151
151
|
if (!maxTokens || maxTokens <= 0) return 0;
|
|
152
152
|
return clampPercentage(tokens / maxTokens * 100);
|
|
153
153
|
}
|
|
154
|
+
function autoCompactThresholdField(autoCompactThreshold) {
|
|
155
|
+
return typeof autoCompactThreshold === "number" && Number.isFinite(autoCompactThreshold) ? { autoCompactThreshold } : {};
|
|
156
|
+
}
|
|
154
157
|
function clampTokensToWindow(rawTokens, maxTokens) {
|
|
155
158
|
if (!maxTokens || maxTokens <= 0) return { totalTokens: rawTokens };
|
|
156
159
|
if (rawTokens <= maxTokens) return { totalTokens: rawTokens };
|
|
@@ -180,6 +183,7 @@ function buildCodexTokenUsageContextUsagePayload(usage) {
|
|
|
180
183
|
rawMaxTokens: maxTokens,
|
|
181
184
|
percentage: percentage(totalTokens, maxTokens),
|
|
182
185
|
compactsAutomatically: true,
|
|
186
|
+
...autoCompactThresholdField(usage.autoCompactThreshold),
|
|
183
187
|
categories: compactCategories([
|
|
184
188
|
{
|
|
185
189
|
name: "Input context",
|
|
@@ -286,7 +290,7 @@ var WORKSPACE_SIZES = ["small", "large"];
|
|
|
286
290
|
var INVALID_WORKSPACE_SIZE_ERROR = `Invalid size: must be one of ${WORKSPACE_SIZES.join(", ")}`;
|
|
287
291
|
|
|
288
292
|
// ../shared/src/e2b.ts
|
|
289
|
-
var E2B_TEMPLATE_NAME = "replicas-sandbox-2026-05-30-
|
|
293
|
+
var E2B_TEMPLATE_NAME = "replicas-sandbox-2026-05-30-v2";
|
|
290
294
|
|
|
291
295
|
// ../shared/src/runtime-env.ts
|
|
292
296
|
function parsePosixEnvFile(content) {
|
|
@@ -1785,6 +1789,7 @@ var DEFAULT_CHAT_TITLES = {
|
|
|
1785
1789
|
};
|
|
1786
1790
|
var CLAUDE_OPUS_1M_MODEL = "opus[1m]";
|
|
1787
1791
|
var LEGACY_CLAUDE_OPUS_1M_MODEL = "opus-1m";
|
|
1792
|
+
var DEFAULT_CODEX_MODEL = "gpt-5.5";
|
|
1788
1793
|
function normalizeClaudeModel(model) {
|
|
1789
1794
|
if (model === LEGACY_CLAUDE_OPUS_1M_MODEL) {
|
|
1790
1795
|
return CLAUDE_OPUS_1M_MODEL;
|
|
@@ -1797,7 +1802,7 @@ var MODEL_LABELS = {
|
|
|
1797
1802
|
[CLAUDE_OPUS_1M_MODEL]: "Opus 4.8 (1M)",
|
|
1798
1803
|
[LEGACY_CLAUDE_OPUS_1M_MODEL]: "Opus 4.8 (1M)",
|
|
1799
1804
|
haiku: "Haiku 4.5",
|
|
1800
|
-
|
|
1805
|
+
[DEFAULT_CODEX_MODEL]: "GPT-5.5",
|
|
1801
1806
|
"gpt-5.4": "GPT-5.4",
|
|
1802
1807
|
"gpt-5.4-mini": "GPT-5.4 Mini",
|
|
1803
1808
|
"gpt-5.3-codex": "GPT-5.3 Codex",
|
|
@@ -5783,7 +5788,7 @@ var ClaudeManager = class _ClaudeManager extends CodingAgentManager {
|
|
|
5783
5788
|
rawMaxTokens: Number.isFinite(usage.rawMaxTokens) ? usage.rawMaxTokens : maxTokens,
|
|
5784
5789
|
percentage: clampPercentage(rawPercentage),
|
|
5785
5790
|
compactsAutomatically: usage.isAutoCompactEnabled === true,
|
|
5786
|
-
...
|
|
5791
|
+
...autoCompactThresholdField(usage.autoCompactThreshold),
|
|
5787
5792
|
categories: usage.categories.map((category) => ({
|
|
5788
5793
|
name: category.name,
|
|
5789
5794
|
tokens: category.tokens,
|
|
@@ -6081,7 +6086,7 @@ var AspClient = class {
|
|
|
6081
6086
|
// src/managers/codex-asp/app-server-process.ts
|
|
6082
6087
|
var DEFAULT_CODEX_BINARY = "codex";
|
|
6083
6088
|
var DEFAULT_CODEX_ARGS = ["app-server", "--listen", "stdio://"];
|
|
6084
|
-
var ENGINE_PACKAGE_VERSION = "0.1.
|
|
6089
|
+
var ENGINE_PACKAGE_VERSION = "0.1.241";
|
|
6085
6090
|
var INITIALIZE_METHOD = "initialize";
|
|
6086
6091
|
var INITIALIZED_NOTIFICATION = "initialized";
|
|
6087
6092
|
var ACCOUNT_LOGIN_START_METHOD = "account/login/start";
|
|
@@ -6348,7 +6353,7 @@ function isCodexAuthError(error) {
|
|
|
6348
6353
|
}
|
|
6349
6354
|
|
|
6350
6355
|
// src/managers/codex-asp/mappers.ts
|
|
6351
|
-
var DEFAULT_MODEL =
|
|
6356
|
+
var DEFAULT_MODEL = DEFAULT_CODEX_MODEL;
|
|
6352
6357
|
var THREAD_START_METHOD = "thread/start";
|
|
6353
6358
|
var THREAD_RESUME_METHOD = "thread/resume";
|
|
6354
6359
|
var THREAD_READ_METHOD = "thread/read";
|
|
@@ -6359,6 +6364,24 @@ var TURN_START_METHOD = "turn/start";
|
|
|
6359
6364
|
var TURN_INTERRUPT_METHOD = "turn/interrupt";
|
|
6360
6365
|
var ACCOUNT_RATE_LIMITS_READ_METHOD = "account/rateLimits/read";
|
|
6361
6366
|
var MAX_CODEX_ASP_TRANSCRIPT_OUTPUT_CHARS = DEFAULT_HOOK_OUTPUT_PREVIEW_CHARS;
|
|
6367
|
+
var CODEX_ASP_AUTO_COMPACT_RATIO = 0.85;
|
|
6368
|
+
var CODEX_ASP_MODEL_CONTEXT_WINDOWS = {
|
|
6369
|
+
[DEFAULT_MODEL]: 258400
|
|
6370
|
+
};
|
|
6371
|
+
function codexAspAutoCompactTokenLimitForModel(model) {
|
|
6372
|
+
const contextWindow = CODEX_ASP_MODEL_CONTEXT_WINDOWS[model ?? DEFAULT_MODEL];
|
|
6373
|
+
return contextWindow === void 0 ? void 0 : Math.floor(contextWindow * CODEX_ASP_AUTO_COMPACT_RATIO);
|
|
6374
|
+
}
|
|
6375
|
+
function codexAspConfigForModel(model) {
|
|
6376
|
+
const tokenLimit = codexAspAutoCompactTokenLimitForModel(model);
|
|
6377
|
+
return {
|
|
6378
|
+
web_search: "live",
|
|
6379
|
+
...tokenLimit !== void 0 ? {
|
|
6380
|
+
model_auto_compact_token_limit: tokenLimit,
|
|
6381
|
+
model_auto_compact_token_limit_scope: "total"
|
|
6382
|
+
} : {}
|
|
6383
|
+
};
|
|
6384
|
+
}
|
|
6362
6385
|
function toReasoningEffort(thinkingLevel) {
|
|
6363
6386
|
return codexReasoningEffortForThinkingLevel(thinkingLevel);
|
|
6364
6387
|
}
|
|
@@ -6731,27 +6754,29 @@ function mergeCodexAspTranscripts(primary, supplemental) {
|
|
|
6731
6754
|
}
|
|
6732
6755
|
async function buildThreadStartParams(workingDirectory, request, developerInstructions) {
|
|
6733
6756
|
const additionalDirectories = await getAgentAdditionalDirectories();
|
|
6757
|
+
const model = request.model ?? DEFAULT_MODEL;
|
|
6734
6758
|
return {
|
|
6735
|
-
model
|
|
6759
|
+
model,
|
|
6736
6760
|
cwd: workingDirectory,
|
|
6737
6761
|
runtimeWorkspaceRoots: additionalDirectories,
|
|
6738
6762
|
sandbox: "danger-full-access",
|
|
6739
6763
|
developerInstructions: developerInstructions ?? null,
|
|
6740
|
-
config:
|
|
6764
|
+
config: codexAspConfigForModel(model),
|
|
6741
6765
|
experimentalRawEvents: false,
|
|
6742
6766
|
persistExtendedHistory: false
|
|
6743
6767
|
};
|
|
6744
6768
|
}
|
|
6745
6769
|
async function buildThreadResumeParams(workingDirectory, threadId, request, developerInstructions) {
|
|
6746
6770
|
const additionalDirectories = await getAgentAdditionalDirectories();
|
|
6771
|
+
const model = request.model ?? DEFAULT_MODEL;
|
|
6747
6772
|
return {
|
|
6748
6773
|
threadId,
|
|
6749
|
-
model
|
|
6774
|
+
model,
|
|
6750
6775
|
cwd: workingDirectory,
|
|
6751
6776
|
runtimeWorkspaceRoots: additionalDirectories,
|
|
6752
6777
|
sandbox: "danger-full-access",
|
|
6753
6778
|
developerInstructions: developerInstructions ?? null,
|
|
6754
|
-
config:
|
|
6779
|
+
config: codexAspConfigForModel(model),
|
|
6755
6780
|
excludeTurns: false,
|
|
6756
6781
|
persistExtendedHistory: false
|
|
6757
6782
|
};
|
|
@@ -7574,6 +7599,7 @@ var CodexAspManager = class extends CodingAgentManager {
|
|
|
7574
7599
|
const payload = buildCodexTokenUsageContextUsagePayload({
|
|
7575
7600
|
model,
|
|
7576
7601
|
modelContextWindow: tokenUsage.modelContextWindow,
|
|
7602
|
+
autoCompactThreshold: codexAspAutoCompactTokenLimitForModel(model),
|
|
7577
7603
|
last: {
|
|
7578
7604
|
inputTokens: tokenUsage.last.inputTokens,
|
|
7579
7605
|
outputTokens: tokenUsage.last.outputTokens,
|
|
@@ -7598,7 +7624,6 @@ import { existsSync as existsSync6 } from "fs";
|
|
|
7598
7624
|
import { join as join14 } from "path";
|
|
7599
7625
|
import { homedir as homedir12 } from "os";
|
|
7600
7626
|
import { parse as parseToml, stringify as stringifyToml } from "smol-toml";
|
|
7601
|
-
var DEFAULT_MODEL2 = "gpt-5.5";
|
|
7602
7627
|
var CODEX_CONFIG_PATH = join14(homedir12(), ".codex", "config.toml");
|
|
7603
7628
|
function isJsonlEvent2(value) {
|
|
7604
7629
|
if (!isRecord4(value)) {
|
|
@@ -7758,7 +7783,7 @@ var CodexManager = class extends CodingAgentManager {
|
|
|
7758
7783
|
workingDirectory: this.workingDirectory,
|
|
7759
7784
|
skipGitRepoCheck: true,
|
|
7760
7785
|
sandboxMode,
|
|
7761
|
-
model: model ||
|
|
7786
|
+
model: model || DEFAULT_CODEX_MODEL,
|
|
7762
7787
|
webSearchMode,
|
|
7763
7788
|
additionalDirectories,
|
|
7764
7789
|
...codexReasoningEffort ? { modelReasoningEffort: codexReasoningEffort } : {}
|