replicas-engine 0.1.1320 → 0.1.1323
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-TT2OBODF.js → asp-host-X2AP3SWK.js} +5 -5
- package/dist/src/{chunk-LLSE2EKJ.js → chunk-5LGDGIYO.js} +8 -1
- package/dist/src/{chunk-Y5ZVU5DX.js → chunk-ETPPEERY.js} +2 -2
- package/dist/src/{chunk-RG6ZUUTP.js → chunk-JRCB6SVP.js} +1 -1
- package/dist/src/{chunk-VY3L43BO.js → chunk-NTBJ4SPN.js} +2 -2
- package/dist/src/{chunk-4S7JVNWL.js → chunk-NVS4O2LS.js} +3 -3
- package/dist/src/{chunk-VVU62H6B.js → chunk-PXWNJRIN.js} +6 -6
- package/dist/src/{chunk-56WDCAN2.js → chunk-SNH5JJFG.js} +2 -2
- package/dist/src/{chunk-2MCGQBB5.js → chunk-Y226OZEN.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 +27 -16
- 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-PXWNJRIN.js";
|
|
12
|
+
import "./chunk-SNH5JJFG.js";
|
|
13
|
+
import "./chunk-NVS4O2LS.js";
|
|
14
|
+
import "./chunk-Y226OZEN.js";
|
|
15
15
|
import "./chunk-UZSNFLDQ.js";
|
|
16
|
-
import "./chunk-
|
|
16
|
+
import "./chunk-5LGDGIYO.js";
|
|
17
17
|
import "./chunk-VEQXQN22.js";
|
|
18
18
|
export {
|
|
19
19
|
CODEX_ULTRAFAST_SERVICE_TIER,
|
|
@@ -2811,6 +2811,11 @@ Only one recording at a time. Re-running \`start\` while one is active fails - c
|
|
|
2811
2811
|
### \`replicas computer record stop\`
|
|
2812
2812
|
SIGINTs ffmpeg, verifies that the process has finalized the MP4, then prints the output path. A finalization timeout preserves the recording state so \`stop\` can be retried safely. To show the interaction in a PR or message, turn it into a short looping GIF with \`replicas media gif <path>\`, then upload with \`replicas media upload <path> --name "<name>"\`.
|
|
2813
2813
|
|
|
2814
|
+
### \`replicas computer mac <tool> ['<json>'] [--screenshot PATH] [--session NAME]\`
|
|
2815
|
+
Drives one app on the user's own Mac in the background, while they keep working: their cursor, focus and front window stay theirs. It works while they have this workspace open in the Replicas desktop app with computer use turned on; otherwise it says no Mac is connected. Each call runs one [Cua Driver tool](https://cua.ai/docs/cua-driver) and opens a live view of the window you're working in on this desktop, so the user can watch it in the \`Desktop\` tab.
|
|
2816
|
+
|
|
2817
|
+
Start with \`list_apps\` or \`launch_app '{"bundle_id":"com.apple.TextEdit"}'\` (never \`open\`, which brings the app forward), then \`get_window_state '{"pid":\u2026,"window_id":\u2026}'\` for the accessibility tree and a screenshot (\`--screenshot\` saves it), then act with \`click\`, \`type_text\`, \`press_key\`, \`set_value\` or \`scroll\` by \`element_token\`, and read the window again to verify. Type line breaks as a separate \`press_key\` Return: a newline inside \`type_text\` is dropped. Pass the same \`--session\` to keep element tokens valid across calls. Apps that open no window when launched in the background show one once you open a file with \`launch_app\`'s \`urls\`. \`get_guide\` explains everything else. Some actions, like a disabled menu item, need the app in front: ask the user before \`bring_to_front\`.
|
|
2818
|
+
|
|
2814
2819
|
## Patterns
|
|
2815
2820
|
|
|
2816
2821
|
### Browser action / state loop
|
|
@@ -8205,7 +8210,8 @@ function applyInterruptions(messages, events) {
|
|
|
8205
8210
|
insertDisplayMessageByTimestamp(result, {
|
|
8206
8211
|
id: `interruption-${event.timestamp}`,
|
|
8207
8212
|
type: "interruption",
|
|
8208
|
-
timestamp: event.timestamp
|
|
8213
|
+
timestamp: event.timestamp,
|
|
8214
|
+
...event.payload.steered === true ? { steered: true } : {}
|
|
8209
8215
|
});
|
|
8210
8216
|
}
|
|
8211
8217
|
let lastUserMs = null;
|
|
@@ -8224,6 +8230,7 @@ function applyInterruptions(messages, events) {
|
|
|
8224
8230
|
}
|
|
8225
8231
|
const ms = parseTimestampMs(msg.timestamp);
|
|
8226
8232
|
if (lastInterruption && ms - parseTimestampMs(lastInterruption.timestamp) <= INTERRUPTION_DEDUP_WINDOW_MS) {
|
|
8233
|
+
if (msg.steered) lastInterruption.steered = true;
|
|
8227
8234
|
continue;
|
|
8228
8235
|
}
|
|
8229
8236
|
lastInterruption = {
|
|
@@ -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-NVS4O2LS.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-5LGDGIYO.js";
|
|
19
19
|
|
|
20
20
|
// src/managers/codex-asp/notification-dispatch.ts
|
|
21
21
|
var TURN_STARTED_METHOD = "turn/started";
|
|
@@ -6,7 +6,7 @@ import {
|
|
|
6
6
|
getOriginDefaultBranch,
|
|
7
7
|
monolithRequest,
|
|
8
8
|
runGitCommand
|
|
9
|
-
} from "./chunk-
|
|
9
|
+
} from "./chunk-SNH5JJFG.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-5LGDGIYO.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-Y226OZEN.js";
|
|
7
7
|
import {
|
|
8
8
|
isVersionBelow
|
|
9
|
-
} from "./chunk-
|
|
9
|
+
} from "./chunk-5LGDGIYO.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.1323";
|
|
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-SNH5JJFG.js";
|
|
14
14
|
import {
|
|
15
15
|
AppServerProcess,
|
|
16
16
|
buildCodexAgentEnv
|
|
17
|
-
} from "./chunk-
|
|
17
|
+
} from "./chunk-NVS4O2LS.js";
|
|
18
18
|
import {
|
|
19
19
|
SUBPROCESS_MAX_BUFFER,
|
|
20
20
|
execFileAsync
|
|
21
|
-
} from "./chunk-
|
|
21
|
+
} from "./chunk-Y226OZEN.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-5LGDGIYO.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-X2AP3SWK.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-X2AP3SWK.js");
|
|
332
332
|
await restartCodexAspHostIfRunning2();
|
|
333
333
|
}
|
|
334
334
|
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-Y226OZEN.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-5LGDGIYO.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
|
HOOK_EXEC_MAX_BUFFER_BYTES
|
|
6
|
-
} from "./chunk-
|
|
6
|
+
} from "./chunk-5LGDGIYO.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-NTBJ4SPN.js";
|
|
7
|
+
import "./chunk-SNH5JJFG.js";
|
|
8
|
+
import "./chunk-Y226OZEN.js";
|
|
9
9
|
import {
|
|
10
10
|
isRecord
|
|
11
11
|
} from "./chunk-UZSNFLDQ.js";
|
|
12
|
-
import "./chunk-
|
|
12
|
+
import "./chunk-5LGDGIYO.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-ETPPEERY.js";
|
|
18
18
|
import {
|
|
19
19
|
AppServerProcess,
|
|
20
20
|
buildCodexAgentEnv
|
|
21
|
-
} from "./chunk-
|
|
22
|
-
import "./chunk-
|
|
21
|
+
} from "./chunk-NVS4O2LS.js";
|
|
22
|
+
import "./chunk-Y226OZEN.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-5LGDGIYO.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-NTBJ4SPN.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-ETPPEERY.js";
|
|
69
69
|
import {
|
|
70
70
|
publishedPullRequestUrls
|
|
71
|
-
} from "./chunk-
|
|
71
|
+
} from "./chunk-JRCB6SVP.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-PXWNJRIN.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-SNH5JJFG.js";
|
|
157
157
|
import {
|
|
158
158
|
getCodexModelProvider
|
|
159
|
-
} from "./chunk-
|
|
159
|
+
} from "./chunk-NVS4O2LS.js";
|
|
160
160
|
import {
|
|
161
161
|
SUBPROCESS_MAX_BUFFER,
|
|
162
162
|
execAsync,
|
|
163
163
|
execFileAsync
|
|
164
|
-
} from "./chunk-
|
|
164
|
+
} from "./chunk-Y226OZEN.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-5LGDGIYO.js";
|
|
421
421
|
import {
|
|
422
422
|
cloneMcpConfig,
|
|
423
423
|
ensureCompatibilityImports,
|
|
@@ -11885,6 +11885,7 @@ ${request.message}` }, senderKey };
|
|
|
11885
11885
|
await history.appendDurably(event);
|
|
11886
11886
|
}
|
|
11887
11887
|
async interrupt(persistRemoval) {
|
|
11888
|
+
const stoppedAt = (/* @__PURE__ */ new Date()).toISOString();
|
|
11888
11889
|
const queuedMessages = this.messageQueue.drainQueue();
|
|
11889
11890
|
const unreadSteers = [...this.unreadSteers.values()];
|
|
11890
11891
|
const earlySteers = this.earlySteers.splice(0);
|
|
@@ -11907,7 +11908,7 @@ ${request.message}` }, senderKey };
|
|
|
11907
11908
|
}
|
|
11908
11909
|
const removed = [...unreadSteers.map(({ message }) => message), ...queuedMessages];
|
|
11909
11910
|
if (removed.length > 0) await persistRemoval(removed.map(({ id }) => id));
|
|
11910
|
-
if (isProcessing) this.recordInterrupted();
|
|
11911
|
+
if (isProcessing) this.recordInterrupted(stoppedAt);
|
|
11911
11912
|
const queue = [];
|
|
11912
11913
|
let queueChars = 0;
|
|
11913
11914
|
for (const { message } of removed) {
|
|
@@ -11922,11 +11923,11 @@ ${request.message}` }, senderKey };
|
|
|
11922
11923
|
removedMessageIds: removed.map(({ id }) => id)
|
|
11923
11924
|
};
|
|
11924
11925
|
}
|
|
11925
|
-
recordInterrupted() {
|
|
11926
|
+
recordInterrupted(timestamp, steered = false) {
|
|
11926
11927
|
const event = {
|
|
11927
|
-
timestamp
|
|
11928
|
+
timestamp,
|
|
11928
11929
|
type: CHAT_INTERRUPTED_EVENT_TYPE,
|
|
11929
|
-
payload: {}
|
|
11930
|
+
payload: steered ? { steered: true } : {}
|
|
11930
11931
|
};
|
|
11931
11932
|
this.onEvent(event);
|
|
11932
11933
|
this.getHistorySink()?.append(event);
|
|
@@ -12042,7 +12043,7 @@ ${note}` };
|
|
|
12042
12043
|
const taken = this.messageQueue.takeFromQueue(messageId);
|
|
12043
12044
|
if (taken) this.messageQueue.restoreToQueue(taken.message, 0);
|
|
12044
12045
|
if (turnRunning) {
|
|
12045
|
-
this.recordInterrupted();
|
|
12046
|
+
this.recordInterrupted((/* @__PURE__ */ new Date()).toISOString(), true);
|
|
12046
12047
|
this.messageQueue.cancelActiveTurn();
|
|
12047
12048
|
await this.interruptActiveTurn();
|
|
12048
12049
|
}
|
|
@@ -13115,6 +13116,8 @@ var ClaudeManager = class _ClaudeManager extends CodingAgentManager {
|
|
|
13115
13116
|
pendingInterrupt = false;
|
|
13116
13117
|
// A turn started before a stop's teardown would run on the process being stopped and end with it.
|
|
13117
13118
|
stopping = null;
|
|
13119
|
+
// Claude Code emits a stopped turn's partial reply only after acknowledging the interrupt, so teardown waits for the turn to end.
|
|
13120
|
+
stoppedTurnEnded = null;
|
|
13118
13121
|
// Claude Code writes a started prompt to the session transcript even when the turn then fails, so a retry must not resend it.
|
|
13119
13122
|
turnPromptRecorded = false;
|
|
13120
13123
|
// Claude Code never sees a prompt stopped before it started, so it is sent again with the next message.
|
|
@@ -13167,8 +13170,11 @@ var ClaudeManager = class _ClaudeManager extends CodingAgentManager {
|
|
|
13167
13170
|
const query2 = this.activeQuery;
|
|
13168
13171
|
if (query2) {
|
|
13169
13172
|
const interrupt = query2.interrupt.bind(query2);
|
|
13170
|
-
|
|
13171
|
-
|
|
13173
|
+
const ended = isClaudeSessionActive(this.sessionActivity) ? Promise.withResolvers() : null;
|
|
13174
|
+
this.stoppedTurnEnded = ended;
|
|
13175
|
+
await raceWithTimeout(Promise.all([interrupt({ cancelQueued: true }).catch(() => {
|
|
13176
|
+
}), ended?.promise]), CLAUDE_INTERRUPT_TIMEOUT_MS);
|
|
13177
|
+
this.stoppedTurnEnded = null;
|
|
13172
13178
|
}
|
|
13173
13179
|
await this.tearDownSession(true);
|
|
13174
13180
|
})();
|
|
@@ -14007,7 +14013,11 @@ var ClaudeManager = class _ClaudeManager extends CodingAgentManager {
|
|
|
14007
14013
|
if (next.done || this.activeQuery !== response) break;
|
|
14008
14014
|
const msg = next.value;
|
|
14009
14015
|
if (!msg) break;
|
|
14010
|
-
if (this.pendingInterrupt)
|
|
14016
|
+
if (this.pendingInterrupt) {
|
|
14017
|
+
if (msg.type === "assistant" || msg.type === "user") await this.recordEvent(msg);
|
|
14018
|
+
else if (msg.type === "result") this.stoppedTurnEnded?.resolve();
|
|
14019
|
+
continue;
|
|
14020
|
+
}
|
|
14011
14021
|
if (msg.type === "rate_limit_event") {
|
|
14012
14022
|
creditsRequired = msg.rate_limit_info.errorCode === "credits_required";
|
|
14013
14023
|
if (msg.rate_limit_info.status === "rejected" && msg.rate_limit_info.resetsAt) {
|
|
@@ -14088,6 +14098,7 @@ ${msg.result}` } : { ...msg, errors: [loginFailure, ...msg.errors] } : msg);
|
|
|
14088
14098
|
console.error("[ClaudeManager] Session loop crashed:", error);
|
|
14089
14099
|
}
|
|
14090
14100
|
} finally {
|
|
14101
|
+
this.stoppedTurnEnded?.resolve();
|
|
14091
14102
|
if (this.activeQuery !== response) return;
|
|
14092
14103
|
const pending = this.pendingTurn;
|
|
14093
14104
|
const pendingError = loopError ? pending?.sawActivity && _ClaudeManager.isTransientTurnError(loopError) ? new ClaudeTransientTurnError("Claude session ended unexpectedly mid-response", true) : loopError : pending && !pending.sawActivity ? new ClaudeTransientTurnError("Claude session ended unexpectedly before producing a response") : new Error("Claude session ended unexpectedly");
|
|
@@ -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-JRCB6SVP.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-5LGDGIYO.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