replicas-engine 0.1.1334 → 0.1.1336
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-DBM2AAYK.js → asp-host-UOFTP7UI.js} +5 -5
- package/dist/src/{chunk-4QPHOJQN.js → chunk-7PGPFAQM.js} +1 -1
- package/dist/src/{chunk-54GMMYX3.js → chunk-FTISNXZ7.js} +3 -3
- package/dist/src/{chunk-OGPYK5XI.js → chunk-HW2ZCZW6.js} +4 -2
- package/dist/src/{chunk-3KOSLJYD.js → chunk-J7TZDPGD.js} +2 -2
- package/dist/src/{chunk-FL6JBZOI.js → chunk-KQTA3T4M.js} +1 -1
- package/dist/src/{chunk-6RKNKWYV.js → chunk-VFSG37MC.js} +19 -6
- package/dist/src/{chunk-OE4POEGP.js → chunk-VQOJQ5M6.js} +2 -2
- package/dist/src/{chunk-4IYZJECT.js → chunk-VXUTTQRE.js} +2 -2
- package/dist/src/command-protection-hook.js +4 -4
- package/dist/src/headless-agent.js +4 -4
- package/dist/src/index.js +12 -12
- 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-VFSG37MC.js";
|
|
12
|
+
import "./chunk-VQOJQ5M6.js";
|
|
13
|
+
import "./chunk-FTISNXZ7.js";
|
|
14
|
+
import "./chunk-KQTA3T4M.js";
|
|
15
15
|
import "./chunk-UZSNFLDQ.js";
|
|
16
|
-
import "./chunk-
|
|
16
|
+
import "./chunk-HW2ZCZW6.js";
|
|
17
17
|
import "./chunk-VEQXQN22.js";
|
|
18
18
|
export {
|
|
19
19
|
CODEX_ULTRAFAST_SERVICE_TIER,
|
|
@@ -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-KQTA3T4M.js";
|
|
7
7
|
import {
|
|
8
8
|
isVersionBelow
|
|
9
|
-
} from "./chunk-
|
|
9
|
+
} from "./chunk-HW2ZCZW6.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.1334";
|
|
244
244
|
var INITIALIZE_METHOD = "initialize";
|
|
245
245
|
var INITIALIZED_NOTIFICATION = "initialized";
|
|
246
246
|
var ACCOUNT_LOGIN_START_METHOD = "account/login/start";
|
|
@@ -2156,7 +2156,7 @@ refresh_credential() {
|
|
|
2156
2156
|
esac
|
|
2157
2157
|
[ -n "\${REPLICAS_ENGINE_SECRET:-}" ] || return 1
|
|
2158
2158
|
command -v curl >/dev/null 2>&1 || return 1
|
|
2159
|
-
curl --silent --fail --connect-timeout 1 --max-time 5 -X POST -H "X-Replicas-Engine-Secret: $REPLICAS_ENGINE_SECRET" "http://127.0.0.1:\${REPLICAS_ENGINE_PORT:-${ENGINE_PORT}}$refresh_path" >/dev/null 2>&1
|
|
2159
|
+
curl --silent --fail --connect-timeout 1 --max-time 5 -X POST -H "X-Replicas-Engine-Secret: $REPLICAS_ENGINE_SECRET" "http://127.0.0.1:\${REPLICAS_ENGINE_PORT:-${ENGINE_PORT}}$refresh_path$2" >/dev/null 2>&1
|
|
2160
2160
|
}
|
|
2161
2161
|
|
|
2162
2162
|
if [ "$1" = "get" ]; then
|
|
@@ -2190,7 +2190,7 @@ if [ "$1" = "get" ]; then
|
|
|
2190
2190
|
elif [ "$1" = "erase" ]; then
|
|
2191
2191
|
username=$(printf '%s
|
|
2192
2192
|
' "$request" | sed -n 's/^username=//p' | head -n 1)
|
|
2193
|
-
refresh_credential "$username" || true
|
|
2193
|
+
refresh_credential "$username" "?rejected" || true
|
|
2194
2194
|
fi
|
|
2195
2195
|
exit 0
|
|
2196
2196
|
`;
|
|
@@ -2490,6 +2490,8 @@ var automationTriggerSchema = z14.discriminatedUnion("type", [
|
|
|
2490
2490
|
// ../shared/src/automations/types.ts
|
|
2491
2491
|
var AUTOMATION_DEBOUNCE_MAX_SECONDS = 24 * 60 * 60;
|
|
2492
2492
|
var AUTOMATION_LIFECYCLE_POLICIES = ["default", "archive_when_done", "sleep_when_done", "delete_when_done"];
|
|
2493
|
+
var AUTOMATION_AUTO_PAUSE_DAYS = 7;
|
|
2494
|
+
var AUTOMATION_AUTO_PAUSE_LABEL = `Paused after failing every run for ${AUTOMATION_AUTO_PAUSE_DAYS} days`;
|
|
2493
2495
|
|
|
2494
2496
|
// ../shared/src/routes/environment.ts
|
|
2495
2497
|
import { z as z15 } from "zod";
|
|
@@ -6,7 +6,7 @@ import {
|
|
|
6
6
|
getOriginDefaultBranch,
|
|
7
7
|
monolithRequest,
|
|
8
8
|
runGitCommand
|
|
9
|
-
} from "./chunk-
|
|
9
|
+
} from "./chunk-VQOJQ5M6.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-HW2ZCZW6.js";
|
|
18
18
|
|
|
19
19
|
// src/services/command-protection-service.ts
|
|
20
20
|
import { readFile, stat } from "fs/promises";
|
|
@@ -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-HW2ZCZW6.js";
|
|
7
7
|
|
|
8
8
|
// src/utils/exec.ts
|
|
9
9
|
import { exec, execFile } from "child_process";
|
|
@@ -10,15 +10,15 @@ import {
|
|
|
10
10
|
resolveDiffBase,
|
|
11
11
|
runGitCommand,
|
|
12
12
|
setAgentCredentialSnapshot
|
|
13
|
-
} from "./chunk-
|
|
13
|
+
} from "./chunk-VQOJQ5M6.js";
|
|
14
14
|
import {
|
|
15
15
|
AppServerProcess,
|
|
16
16
|
buildCodexAgentEnv
|
|
17
|
-
} from "./chunk-
|
|
17
|
+
} from "./chunk-FTISNXZ7.js";
|
|
18
18
|
import {
|
|
19
19
|
SUBPROCESS_MAX_BUFFER,
|
|
20
20
|
execFileAsync
|
|
21
|
-
} from "./chunk-
|
|
21
|
+
} from "./chunk-KQTA3T4M.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-HW2ZCZW6.js";
|
|
60
60
|
|
|
61
61
|
// src/managers/codex-token-manager.ts
|
|
62
62
|
import { promises as fs } from "fs";
|
|
@@ -139,6 +139,7 @@ function refreshDelayMs(expiresAtMs, maxMs = 5 * 60 * 1e3) {
|
|
|
139
139
|
const ttlMs = expiresAtMs - Date.now();
|
|
140
140
|
return Number.isFinite(ttlMs) ? Math.max(1e3, Math.min(maxMs, Math.floor(ttlMs * 0.8))) : maxMs;
|
|
141
141
|
}
|
|
142
|
+
var SHARED_REFRESH_MS = 1e4;
|
|
142
143
|
var BaseRefreshManager = class {
|
|
143
144
|
constructor(managerName, intervalMs = 15 * 60 * 1e3) {
|
|
144
145
|
this.managerName = managerName;
|
|
@@ -158,6 +159,7 @@ var BaseRefreshManager = class {
|
|
|
158
159
|
credentialUpdate = Promise.resolve();
|
|
159
160
|
intervalHandle = null;
|
|
160
161
|
pendingRefresh = null;
|
|
162
|
+
recentRefresh = null;
|
|
161
163
|
health;
|
|
162
164
|
async start(skipInitialRefresh = false) {
|
|
163
165
|
if (this.intervalHandle) {
|
|
@@ -262,6 +264,17 @@ var BaseRefreshManager = class {
|
|
|
262
264
|
}, delayMs);
|
|
263
265
|
console.log(`[${this.managerName}] Token refresh scheduled in ${Math.round(delayMs / 1e3)} seconds`);
|
|
264
266
|
}
|
|
267
|
+
refreshShared(rejected = false) {
|
|
268
|
+
if (!rejected && this.recentRefresh && Date.now() - this.recentRefresh.startedAt < SHARED_REFRESH_MS) {
|
|
269
|
+
return this.recentRefresh.result;
|
|
270
|
+
}
|
|
271
|
+
const recent = { startedAt: Date.now(), result: this.refreshOnce() };
|
|
272
|
+
this.recentRefresh = recent;
|
|
273
|
+
void recent.result.then((result) => {
|
|
274
|
+
if (!result.ok && this.recentRefresh === recent) this.recentRefresh = null;
|
|
275
|
+
});
|
|
276
|
+
return recent.result;
|
|
277
|
+
}
|
|
265
278
|
async refreshOnce(force = false) {
|
|
266
279
|
if (!force && this.getSkipReason()) {
|
|
267
280
|
return createSuccessResult();
|
|
@@ -306,7 +319,7 @@ var CodexTokenManager = class extends BaseRefreshManager {
|
|
|
306
319
|
await this.applyCredentialUpdate(++this.credentialGeneration, async () => {
|
|
307
320
|
await this.applyCredentialsResponse(data);
|
|
308
321
|
setAgentCredentialSnapshot("codex", data);
|
|
309
|
-
const { restartCodexAspHostIfRunning: restartCodexAspHostIfRunning2 } = await import("./asp-host-
|
|
322
|
+
const { restartCodexAspHostIfRunning: restartCodexAspHostIfRunning2 } = await import("./asp-host-UOFTP7UI.js");
|
|
310
323
|
await restartCodexAspHostIfRunning2();
|
|
311
324
|
});
|
|
312
325
|
await this.start(true);
|
|
@@ -328,7 +341,7 @@ var CodexTokenManager = class extends BaseRefreshManager {
|
|
|
328
341
|
const accountChanged = ENGINE_ENV.REPLICAS_AGENT_CREDENTIALS.codex?.credentialId !== data.credentialId;
|
|
329
342
|
await this.applyCredentialsResponse(data);
|
|
330
343
|
if (restartOnChange && (accountChanged || CODEX_AUTH_ENV_KEYS.some((key, index) => process.env[key] !== previousEnv[index]))) {
|
|
331
|
-
const { restartCodexAspHostIfRunning: restartCodexAspHostIfRunning2 } = await import("./asp-host-
|
|
344
|
+
const { restartCodexAspHostIfRunning: restartCodexAspHostIfRunning2 } = await import("./asp-host-UOFTP7UI.js");
|
|
332
345
|
await restartCodexAspHostIfRunning2();
|
|
333
346
|
}
|
|
334
347
|
setAgentCredentialSnapshot("codex", data);
|
|
@@ -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-KQTA3T4M.js";
|
|
8
8
|
import {
|
|
9
9
|
isRecord as isRecord2
|
|
10
10
|
} from "./chunk-UZSNFLDQ.js";
|
|
@@ -21,7 +21,7 @@ import {
|
|
|
21
21
|
provisionedDeviceSchema,
|
|
22
22
|
readReplicasRuntimeEnv,
|
|
23
23
|
serializePosixEnvFile
|
|
24
|
-
} from "./chunk-
|
|
24
|
+
} from "./chunk-HW2ZCZW6.js";
|
|
25
25
|
|
|
26
26
|
// src/runtime-env-loader.ts
|
|
27
27
|
import { readFileSync } from "fs";
|
|
@@ -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-FTISNXZ7.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-HW2ZCZW6.js";
|
|
19
19
|
|
|
20
20
|
// src/managers/codex-asp/notification-dispatch.ts
|
|
21
21
|
var TURN_STARTED_METHOD = "turn/started";
|
|
@@ -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-J7TZDPGD.js";
|
|
7
|
+
import "./chunk-VQOJQ5M6.js";
|
|
8
|
+
import "./chunk-KQTA3T4M.js";
|
|
9
9
|
import {
|
|
10
10
|
isRecord
|
|
11
11
|
} from "./chunk-UZSNFLDQ.js";
|
|
12
|
-
import "./chunk-
|
|
12
|
+
import "./chunk-HW2ZCZW6.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-VXUTTQRE.js";
|
|
18
18
|
import {
|
|
19
19
|
AppServerProcess,
|
|
20
20
|
buildCodexAgentEnv
|
|
21
|
-
} from "./chunk-
|
|
22
|
-
import "./chunk-
|
|
21
|
+
} from "./chunk-FTISNXZ7.js";
|
|
22
|
+
import "./chunk-KQTA3T4M.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-HW2ZCZW6.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-J7TZDPGD.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-VXUTTQRE.js";
|
|
69
69
|
import {
|
|
70
70
|
publishedPullRequestUrls
|
|
71
|
-
} from "./chunk-
|
|
71
|
+
} from "./chunk-7PGPFAQM.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-VFSG37MC.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-VQOJQ5M6.js";
|
|
157
157
|
import {
|
|
158
158
|
getCodexModelProvider
|
|
159
|
-
} from "./chunk-
|
|
159
|
+
} from "./chunk-FTISNXZ7.js";
|
|
160
160
|
import {
|
|
161
161
|
SUBPROCESS_MAX_BUFFER,
|
|
162
162
|
execAsync,
|
|
163
163
|
execFileAsync
|
|
164
|
-
} from "./chunk-
|
|
164
|
+
} from "./chunk-KQTA3T4M.js";
|
|
165
165
|
import {
|
|
166
166
|
isRecord as isRecord2
|
|
167
167
|
} from "./chunk-UZSNFLDQ.js";
|
|
@@ -417,7 +417,7 @@ import {
|
|
|
417
417
|
workspaceTokenRequestSchema,
|
|
418
418
|
workspaceTokenResponseSchema,
|
|
419
419
|
wrapInTag
|
|
420
|
-
} from "./chunk-
|
|
420
|
+
} from "./chunk-HW2ZCZW6.js";
|
|
421
421
|
import {
|
|
422
422
|
cloneMcpConfig,
|
|
423
423
|
ensureCompatibilityImports,
|
|
@@ -12298,9 +12298,9 @@ var LinearEventForwarder = class {
|
|
|
12298
12298
|
// src/services/refresh-repo-state.ts
|
|
12299
12299
|
async function refreshRepoStatuses(observedBranchesByRepo) {
|
|
12300
12300
|
await Promise.all([
|
|
12301
|
-
githubTokenManager.
|
|
12301
|
+
githubTokenManager.refreshShared().catch(() => {
|
|
12302
12302
|
}),
|
|
12303
|
-
gitlabTokenManager.
|
|
12303
|
+
gitlabTokenManager.refreshShared().catch(() => {
|
|
12304
12304
|
})
|
|
12305
12305
|
]);
|
|
12306
12306
|
return gitService.refreshRepos(observedBranchesByRepo);
|
|
@@ -64464,7 +64464,7 @@ app.get("/token-refresh/health", async (c) => {
|
|
|
64464
64464
|
});
|
|
64465
64465
|
});
|
|
64466
64466
|
app.post(GITHUB_CREDENTIAL_REFRESH_PATH, async (c) => {
|
|
64467
|
-
const result = await githubTokenManager.
|
|
64467
|
+
const result = await githubTokenManager.refreshShared(c.req.query("rejected") !== void 0);
|
|
64468
64468
|
if (!result.ok) {
|
|
64469
64469
|
return c.json({
|
|
64470
64470
|
error: "Failed to refresh GitHub credentials",
|
|
@@ -64474,7 +64474,7 @@ app.post(GITHUB_CREDENTIAL_REFRESH_PATH, async (c) => {
|
|
|
64474
64474
|
return c.body(null, 204);
|
|
64475
64475
|
});
|
|
64476
64476
|
app.post(GITLAB_CREDENTIAL_REFRESH_PATH, async (c) => {
|
|
64477
|
-
const result = await gitlabTokenManager.
|
|
64477
|
+
const result = await gitlabTokenManager.refreshShared(c.req.query("rejected") !== void 0);
|
|
64478
64478
|
if (!result.ok) {
|
|
64479
64479
|
return c.json({
|
|
64480
64480
|
error: "Failed to refresh GitLab credentials",
|
|
@@ -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-7PGPFAQM.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-HW2ZCZW6.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