@agentclientprotocol/claude-agent-acp 0.100.1-preview.2 → 0.100.1-preview.4
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/README.md +17 -0
- package/dist/acp-agent.d.ts +13 -3
- package/dist/acp-agent.d.ts.map +1 -1
- package/dist/acp-agent.js +92 -70
- package/dist/agent-command.d.ts +15 -0
- package/dist/agent-command.d.ts.map +1 -0
- package/dist/agent-command.js +17 -0
- package/dist/claude-cli.d.ts +14 -0
- package/dist/claude-cli.d.ts.map +1 -0
- package/dist/claude-cli.js +76 -0
- package/dist/context-compaction-meta.d.ts +1 -1
- package/dist/context-compaction-meta.d.ts.map +1 -1
- package/dist/context-compaction.d.ts +3 -0
- package/dist/context-compaction.d.ts.map +1 -1
- package/dist/context-compaction.js +12 -2
- package/dist/elicitation.js +1 -1
- package/dist/idle-compaction.d.ts +82 -0
- package/dist/idle-compaction.d.ts.map +1 -0
- package/dist/idle-compaction.js +215 -0
- package/dist/index.js +1 -1
- package/dist/mcp-command.d.ts.map +1 -1
- package/dist/mcp-command.js +5 -2
- package/dist/tools.d.ts.map +1 -1
- package/dist/tools.js +5 -2
- package/package.json +7 -4
package/README.md
CHANGED
|
@@ -36,6 +36,23 @@ To try changes that have landed on `main` but are not released yet, install from
|
|
|
36
36
|
npm install @agentclientprotocol/claude-agent-acp@preview
|
|
37
37
|
```
|
|
38
38
|
|
|
39
|
+
### Standalone executables
|
|
40
|
+
|
|
41
|
+
Each release attaches archives for Linux (glibc and musl), macOS and Windows, on
|
|
42
|
+
x64 and arm64, to its [GitHub release](https://github.com/agentclientprotocol/claude-agent-acp/releases).
|
|
43
|
+
They need no Node.js install. Each holds two files: `claude-agent-acp`, and the
|
|
44
|
+
Claude CLI (`claude`) it runs. Keep them in the same directory; a symlink to
|
|
45
|
+
`claude-agent-acp` elsewhere works. To use a Claude CLI you already have
|
|
46
|
+
instead, set `CLAUDE_CODE_EXECUTABLE`. On Alpine, install `libgcc` and
|
|
47
|
+
`libstdc++` first.
|
|
48
|
+
|
|
49
|
+
To build one for your machine (needs [Bun](https://bun.sh)) and check it:
|
|
50
|
+
|
|
51
|
+
```sh
|
|
52
|
+
npm run build:binary
|
|
53
|
+
npm run smoke:binary # add `-- --full` to drive a real session; needs a Claude login
|
|
54
|
+
```
|
|
55
|
+
|
|
39
56
|
### Subagent sessions
|
|
40
57
|
|
|
41
58
|
A client that declares `clientCapabilities.subagents`, other than JetBrains AIR, gets each Agent or
|
package/dist/acp-agent.d.ts
CHANGED
|
@@ -19,6 +19,7 @@ import { type SessionFailureState } from "./session-failure-extension.js";
|
|
|
19
19
|
import { type ClaudeSubscriptionGuardState } from "./hide-claude-auth.js";
|
|
20
20
|
import { type FileChangeReportTurnState, type NativeFileChangeReporter } from "./file-change-audit.js";
|
|
21
21
|
import { ContextCompactionLifecycle } from "./context-compaction.js";
|
|
22
|
+
import { IdleCompaction } from "./idle-compaction.js";
|
|
22
23
|
import { TaskState } from "./tools.js";
|
|
23
24
|
import { ToolCallFieldTracker } from "./tool-calls/field-tracker.js";
|
|
24
25
|
import { ClientCapabilities as ToolCallClientCapabilities } from "./tool-calls/client-capabilities.js";
|
|
@@ -95,6 +96,10 @@ export type SteerResponse = {
|
|
|
95
96
|
outcome: "promptRequired";
|
|
96
97
|
reason: "noRunningTurn";
|
|
97
98
|
};
|
|
99
|
+
/** Who started a turn. `idleCompaction` is the adapter's own `/compact` (see
|
|
100
|
+
* `IdleCompaction`): it is not a user prompt, so it neither disarms idle
|
|
101
|
+
* compaction, asks for a title from its prompt, nor clears the published prompt suggestion. */
|
|
102
|
+
type TurnOrigin = "client" | "idleCompaction";
|
|
98
103
|
/** One in-flight turn, started by `startTurn()`. A persistent per-session
|
|
99
104
|
* consumer (see `runConsumer`) drains the SDK query stream for the whole
|
|
100
105
|
* session and settles each Turn when that turn's outcome is known, so
|
|
@@ -802,6 +807,8 @@ export type Session = {
|
|
|
802
807
|
/** The consumer's compaction lifecycle, exposed so the PostCompact hook can
|
|
803
808
|
* hand it the retained summary. */
|
|
804
809
|
contextCompaction?: ContextCompactionLifecycle;
|
|
810
|
+
/** Compacts the session shortly before its one-hour prompt cache expires. */
|
|
811
|
+
idleCompaction?: IdleCompaction;
|
|
805
812
|
/** Whether any top-level assistant text reached the client since the last
|
|
806
813
|
* stretch boundary. Set as a side effect of sending in the consumer's
|
|
807
814
|
* `sendUpdate`, never at an emission site; read at the terminal `result`
|
|
@@ -1018,7 +1025,6 @@ type StreamedToolInput = {
|
|
|
1018
1025
|
emittedThroughComma: number;
|
|
1019
1026
|
};
|
|
1020
1027
|
export type StreamedToolInputCache = Map<string, Map<number, StreamedToolInput>>;
|
|
1021
|
-
export declare function claudeCliPath(): Promise<string>;
|
|
1022
1028
|
/**
|
|
1023
1029
|
* Return user-message content with local-command and injected-context marker
|
|
1024
1030
|
* tags removed, or `null` if nothing meaningful remains (caller should skip
|
|
@@ -1364,14 +1370,14 @@ export declare class ClaudeAcpAgent {
|
|
|
1364
1370
|
* `promptToClaude` would drop it. v2 prompts reach `startTurn` through
|
|
1365
1371
|
* `v1PromptRequest`, which rejects these blocks itself.
|
|
1366
1372
|
*/
|
|
1367
|
-
prompt(params: PromptRequest): Promise<PromptResponse>;
|
|
1373
|
+
prompt(params: PromptRequest, origin?: TurnOrigin): Promise<PromptResponse>;
|
|
1368
1374
|
/**
|
|
1369
1375
|
* Starts a turn for a prompt. Resolves once the prompt is queued for Claude
|
|
1370
1376
|
* Code, and rejects only when the prompt is refused before that. From then
|
|
1371
1377
|
* on, `events` reports how the turn goes (see {@link TurnEvents}), possibly
|
|
1372
1378
|
* before this resolves.
|
|
1373
1379
|
*/
|
|
1374
|
-
startTurn(params: PromptRequest, events: TurnEvents): Promise<void>;
|
|
1380
|
+
startTurn(params: PromptRequest, events: TurnEvents, origin?: TurnOrigin): Promise<void>;
|
|
1375
1381
|
/** Connects Remote Control (again, if it is already on) or disconnects it. */
|
|
1376
1382
|
private runRemoteControlCommand;
|
|
1377
1383
|
/** `--hide-claude-auth` applies only to the CLI's own login. A provider
|
|
@@ -1665,6 +1671,10 @@ export declare class ClaudeAcpAgent {
|
|
|
1665
1671
|
* {@link withPendingUserInput}): the work is being stopped, and reports its
|
|
1666
1672
|
* end next. */
|
|
1667
1673
|
private syncAwaitingUser;
|
|
1674
|
+
/** Whether Claude is working in the session `sessionId`: an unsettled turn in
|
|
1675
|
+
* its queue, or foreground work that no turn owns, such as a cycle that
|
|
1676
|
+
* Claude Code started on its own. */
|
|
1677
|
+
private claudeIsWorking;
|
|
1668
1678
|
/** Sends the current title and `updatedAt` of the session `sessionId` as a
|
|
1669
1679
|
* `session_info_update` (see {@link SessionTitles.publishCurrent}). A
|
|
1670
1680
|
* failure is logged: the info is optional, so it does not fail a resume. */
|
package/dist/acp-agent.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"acp-agent.d.ts","sourceRoot":"","sources":["../src/acp-agent.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"acp-agent.d.ts","sourceRoot":"","sources":["../src/acp-agent.ts"],"names":[],"mappings":"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"}
|
package/dist/acp-agent.js
CHANGED
|
@@ -11,6 +11,8 @@ import * as sessionIndex from "./session-index/connection.js";
|
|
|
11
11
|
import { AsyncTaskRuntime, backgroundBashTaskFromToolResult, backgroundedBashToolCallIds, clientSupportsAsyncTasks, } from "./async-tasks.js";
|
|
12
12
|
import { BackgroundWorkReporter, cancelBackgroundWork, SessionBackgroundWork, } from "./background-work.js";
|
|
13
13
|
import { AUTH_STATUS_PROBE_TIMEOUT_MS, AUTH_STATUS_UPDATE_METHOD, authStatusCapability, fromAccountInfo, fromCliStatus, gatewayAuthStatus, mergeAuthStatus, notLoggedInAuthStatus, sameAuthStatus, } from "./auth-status.js";
|
|
14
|
+
import { agentCommand } from "./agent-command.js";
|
|
15
|
+
import { claudeCliPath } from "./claude-cli.js";
|
|
14
16
|
import { execFile } from "node:child_process";
|
|
15
17
|
import { randomUUID } from "node:crypto";
|
|
16
18
|
import * as fs from "node:fs/promises";
|
|
@@ -34,6 +36,7 @@ import { activeUsageLimitMessage, airSessionFailureCapabilityMeta, assistantMess
|
|
|
34
36
|
import { billsClaudeSubscription, claudeLoginRequiredError, claudeSubscriptionNotSupportedError, holdsNonSubscriptionCredential, refuseClaudeSubscriptionTurn, shouldHideClaudeAuth, warnClaudeSubscriptionGuardDegraded, } from "./hide-claude-auth.js";
|
|
35
37
|
import { AGENT_FILE_CHANGE_REPORT_CAPABILITY, agentFileChangeReportMeta, createNativeFileChangeReporter, recordSubagentFileEdits, supportsAgentFileChangeReport, } from "./file-change-audit.js";
|
|
36
38
|
import { ContextCompactionLifecycle, clientSupportsCompactionUpdates, contextCompactionMetadataFromBoundary, isCompactSummaryMessage, } from "./context-compaction.js";
|
|
39
|
+
import { IdleCompaction } from "./idle-compaction.js";
|
|
37
40
|
import { clientSupportsNotices, MAX_NOTICE_TITLE_LENGTH, normalizeNoticeText, noticeOrTranscriptUpdate, sentenceCase, splitNoticeText, } from "./session-notices.js";
|
|
38
41
|
import { applyTaskCreate, applyTaskList, applyTaskUpdate, clearHookCallbacks, completeHookCallback, createPostToolUseHook, hasHookCallback, createTaskHook, parseTaskCreateOutput, parseTaskListOutput, parseTaskUpdateOutput, planEntries, registerHookCallback, changedTaskPlanEntries, forgetPublishedTaskPlan, unregisterHookCallback, } from "./tools.js";
|
|
39
42
|
import { previewPatchContent } from "./diff.js";
|
|
@@ -684,49 +687,6 @@ function recoveredToolInput(prefix) {
|
|
|
684
687
|
return undefined;
|
|
685
688
|
}
|
|
686
689
|
}
|
|
687
|
-
export async function claudeCliPath() {
|
|
688
|
-
if (process.env.CLAUDE_CODE_EXECUTABLE) {
|
|
689
|
-
return process.env.CLAUDE_CODE_EXECUTABLE;
|
|
690
|
-
}
|
|
691
|
-
// The SDK's CLI is a native binary shipped as a platform-specific optional
|
|
692
|
-
// dependency of @anthropic-ai/claude-agent-sdk. Resolve via a require bound
|
|
693
|
-
// to the SDK so nested installs are found even when npm doesn't hoist.
|
|
694
|
-
const { createRequire } = await import("node:module");
|
|
695
|
-
const req = createRequire(import.meta.resolve("@anthropic-ai/claude-agent-sdk"));
|
|
696
|
-
const ext = process.platform === "win32" ? ".exe" : "";
|
|
697
|
-
// On linux, both glibc and musl variants may be installed side-by-side
|
|
698
|
-
// (e.g. bunx hydrates every optional dep), so picking one by trial is
|
|
699
|
-
// unreliable: the wrong binary segfaults at runtime instead of failing to
|
|
700
|
-
// spawn. Detect the runtime libc and prefer the matching variant, falling
|
|
701
|
-
// back to the other only if the preferred one isn't installed.
|
|
702
|
-
const candidates = process.platform === "linux"
|
|
703
|
-
? isMuslLibc()
|
|
704
|
-
? [
|
|
705
|
-
`@anthropic-ai/claude-agent-sdk-linux-${process.arch}-musl/claude${ext}`,
|
|
706
|
-
`@anthropic-ai/claude-agent-sdk-linux-${process.arch}/claude${ext}`,
|
|
707
|
-
]
|
|
708
|
-
: [
|
|
709
|
-
`@anthropic-ai/claude-agent-sdk-linux-${process.arch}/claude${ext}`,
|
|
710
|
-
`@anthropic-ai/claude-agent-sdk-linux-${process.arch}-musl/claude${ext}`,
|
|
711
|
-
]
|
|
712
|
-
: [`@anthropic-ai/claude-agent-sdk-${process.platform}-${process.arch}/claude${ext}`];
|
|
713
|
-
for (const candidate of candidates) {
|
|
714
|
-
try {
|
|
715
|
-
return req.resolve(candidate);
|
|
716
|
-
}
|
|
717
|
-
catch {
|
|
718
|
-
// try next candidate
|
|
719
|
-
}
|
|
720
|
-
}
|
|
721
|
-
throw new Error(`Claude native binary not found for ${process.platform}-${process.arch}. ` +
|
|
722
|
-
`Reinstall @anthropic-ai/claude-agent-sdk without --omit=optional, or set CLAUDE_CODE_EXECUTABLE.`);
|
|
723
|
-
}
|
|
724
|
-
function isMuslLibc() {
|
|
725
|
-
// process.report.getReport().header.glibcVersionRuntime is populated when
|
|
726
|
-
// Node is dynamically linked against glibc, and absent on musl.
|
|
727
|
-
const report = process.report?.getReport();
|
|
728
|
-
return !report?.header?.glibcVersionRuntime;
|
|
729
|
-
}
|
|
730
690
|
/** Returned to clients when a prompt or cancel targets a session whose SDK
|
|
731
691
|
* query stream has already ended (ran to `done` or died). The stream is not
|
|
732
692
|
* revivable, so the only recovery is a fresh session. */
|
|
@@ -1377,10 +1337,11 @@ export class ClaudeAcpAgent {
|
|
|
1377
1337
|
args: ["--cli"],
|
|
1378
1338
|
};
|
|
1379
1339
|
if (supportsMetaTerminalAuth) {
|
|
1340
|
+
const agent = agentCommand();
|
|
1380
1341
|
remoteLoginMethod._meta = {
|
|
1381
1342
|
"terminal-auth": {
|
|
1382
|
-
command:
|
|
1383
|
-
args: [...
|
|
1343
|
+
command: agent.command,
|
|
1344
|
+
args: [...agent.args, "--cli"],
|
|
1384
1345
|
label: "Claude Login",
|
|
1385
1346
|
},
|
|
1386
1347
|
};
|
|
@@ -1405,18 +1366,18 @@ export class ClaudeAcpAgent {
|
|
|
1405
1366
|
args: ["--cli", "auth", "login", "--console"],
|
|
1406
1367
|
};
|
|
1407
1368
|
if (supportsMetaTerminalAuth) {
|
|
1408
|
-
const
|
|
1369
|
+
const agent = agentCommand();
|
|
1409
1370
|
claudeLoginMethod._meta = {
|
|
1410
1371
|
"terminal-auth": {
|
|
1411
|
-
command:
|
|
1412
|
-
args: [...
|
|
1372
|
+
command: agent.command,
|
|
1373
|
+
args: [...agent.args, "--cli", "auth", "login", "--claudeai"],
|
|
1413
1374
|
label: "Claude Login",
|
|
1414
1375
|
},
|
|
1415
1376
|
};
|
|
1416
1377
|
consoleLoginMethod._meta = {
|
|
1417
1378
|
"terminal-auth": {
|
|
1418
|
-
command:
|
|
1419
|
-
args: [...
|
|
1379
|
+
command: agent.command,
|
|
1380
|
+
args: [...agent.args, "--cli", "auth", "login", "--console"],
|
|
1420
1381
|
label: "Anthropic Console Login",
|
|
1421
1382
|
},
|
|
1422
1383
|
};
|
|
@@ -2172,7 +2133,7 @@ export class ClaudeAcpAgent {
|
|
|
2172
2133
|
* `promptToClaude` would drop it. v2 prompts reach `startTurn` through
|
|
2173
2134
|
* `v1PromptRequest`, which rejects these blocks itself.
|
|
2174
2135
|
*/
|
|
2175
|
-
async prompt(params) {
|
|
2136
|
+
async prompt(params, origin = "client") {
|
|
2176
2137
|
for (const block of params.prompt) {
|
|
2177
2138
|
if (!SUPPORTED_PROMPT_CONTENT_TYPES.includes(block.type)) {
|
|
2178
2139
|
throw RequestError.invalidParams({ type: block.type }, `Content blocks of type ${block.type} are not supported`);
|
|
@@ -2182,7 +2143,7 @@ export class ClaudeAcpAgent {
|
|
|
2182
2143
|
const outcome = new Promise((resolve, reject) => {
|
|
2183
2144
|
events = { inserted() { }, ended: resolve, failed: reject };
|
|
2184
2145
|
});
|
|
2185
|
-
await this.startTurn(params, events);
|
|
2146
|
+
await this.startTurn(params, events, origin);
|
|
2186
2147
|
return outcome;
|
|
2187
2148
|
}
|
|
2188
2149
|
/**
|
|
@@ -2191,7 +2152,12 @@ export class ClaudeAcpAgent {
|
|
|
2191
2152
|
* on, `events` reports how the turn goes (see {@link TurnEvents}), possibly
|
|
2192
2153
|
* before this resolves.
|
|
2193
2154
|
*/
|
|
2194
|
-
async startTurn(params, events) {
|
|
2155
|
+
async startTurn(params, events, origin = "client") {
|
|
2156
|
+
// Before the first await below: a timer that fires during those awaits
|
|
2157
|
+
// would queue `/compact` right behind this prompt. The idle compaction's
|
|
2158
|
+
// own turn comes from that timer, which is already cleared.
|
|
2159
|
+
if (origin === "client")
|
|
2160
|
+
this.sessions[params.sessionId]?.idleCompaction?.disarm("prompt");
|
|
2195
2161
|
const received = ++this.promptsReceived;
|
|
2196
2162
|
while (this.providerUpdate)
|
|
2197
2163
|
await this.providerUpdate;
|
|
@@ -2235,8 +2201,7 @@ export class ClaudeAcpAgent {
|
|
|
2235
2201
|
// around it. Refuse instead of interleaving. `foregroundWork` also covers
|
|
2236
2202
|
// a cycle that Claude Code started on its own, such as its follow-up
|
|
2237
2203
|
// after a background subagent finished, which is not in `turnQueue`.
|
|
2238
|
-
if (this.
|
|
2239
|
-
(session.turnQueue ?? []).some((turn) => !turn.settled)) {
|
|
2204
|
+
if (this.claudeIsWorking(params.sessionId, session)) {
|
|
2240
2205
|
throw RequestError.invalidRequest(undefined, "Remote Control can't be changed while Claude is working. Try again when the turn ends.");
|
|
2241
2206
|
}
|
|
2242
2207
|
if (session.remoteControlCommand) {
|
|
@@ -2283,18 +2248,22 @@ export class ClaudeAcpAgent {
|
|
|
2283
2248
|
const fileChangeReport = session.fileChangeReporter?.request(params._meta);
|
|
2284
2249
|
const localCommand = this.localCommandMarkdown(params);
|
|
2285
2250
|
const localCommandAbort = localCommand ? new AbortController() : undefined;
|
|
2286
|
-
|
|
2287
|
-
//
|
|
2288
|
-
|
|
2289
|
-
|
|
2290
|
-
|
|
2291
|
-
|
|
2292
|
-
|
|
2293
|
-
|
|
2294
|
-
|
|
2295
|
-
|
|
2296
|
-
|
|
2297
|
-
|
|
2251
|
+
// An idle compaction is not something the user sent: it must not title the
|
|
2252
|
+
// session `/compact` or spend the prediction the user is still looking at.
|
|
2253
|
+
if (origin === "client") {
|
|
2254
|
+
session.titles.onPrompt(params.prompt);
|
|
2255
|
+
// The prompt the previous turn predicted is spent: the user either sent it
|
|
2256
|
+
// or sent something else. Clearing it here keeps a turn that predicts
|
|
2257
|
+
// nothing (the CLI predicts none in plan mode, after an API error, or at
|
|
2258
|
+
// the usage limit) from leaving the stale prediction in the composer. A
|
|
2259
|
+
// session that holds no prediction needs no clear, and the prompt path
|
|
2260
|
+
// then keeps the ordering it has without this feature.
|
|
2261
|
+
if (session.lastPublishedPromptSuggestion != null) {
|
|
2262
|
+
await this.publishPromptSuggestion(params.sessionId, null);
|
|
2263
|
+
}
|
|
2264
|
+
else {
|
|
2265
|
+
session.promptSuggestionExpected = false;
|
|
2266
|
+
}
|
|
2298
2267
|
}
|
|
2299
2268
|
// A `/remote-control` command still in flight answers into the session's
|
|
2300
2269
|
// output; wait for its reply before this prompt's turn can begin. Nothing
|
|
@@ -2349,7 +2318,8 @@ export class ClaudeAcpAgent {
|
|
|
2349
2318
|
(session.sentUserUuids ??= new Set()).add(promptUuid);
|
|
2350
2319
|
session.input.push(userMessage);
|
|
2351
2320
|
this.ensureConsumer(session, params.sessionId);
|
|
2352
|
-
|
|
2321
|
+
if (origin === "client")
|
|
2322
|
+
session.titles.onPromptQueued(session, params.prompt);
|
|
2353
2323
|
// The prompt is queued, so its turn goes ahead even if the client misses
|
|
2354
2324
|
// the goal it sets; the turn's events report the outcome.
|
|
2355
2325
|
await this.publishGoalFromPrompt(params.sessionId, firstText, promptUuid).catch((error) => this.logger.error(`Session ${params.sessionId}: failed to publish the prompt's goal:`, error));
|
|
@@ -2769,6 +2739,7 @@ export class ClaudeAcpAgent {
|
|
|
2769
2739
|
// check: the interrupt can have the CLI finalizing the aborted cycle by the
|
|
2770
2740
|
// time the consumer next runs, and an unmarked result would settle the turn
|
|
2771
2741
|
// (see Turn.steeredEchoes).
|
|
2742
|
+
session.idleCompaction?.disarm("steer");
|
|
2772
2743
|
(turnInFlight.steeredEchoes ??= new Set()).add(steeredUuid);
|
|
2773
2744
|
(turnInFlight.steeredUuids ??= new Set()).add(steeredUuid);
|
|
2774
2745
|
// A turn already held for background subagents has a recorded outcome the
|
|
@@ -4297,6 +4268,7 @@ export class ClaudeAcpAgent {
|
|
|
4297
4268
|
await compaction.finish(message.uuid, "completed");
|
|
4298
4269
|
}
|
|
4299
4270
|
else if (message.compact_result === "failed") {
|
|
4271
|
+
session.idleCompaction?.noteCompactionFailed(message.compact_error);
|
|
4300
4272
|
await compaction.finish(message.uuid, "failed", {
|
|
4301
4273
|
...(message.compact_error ? { error: message.compact_error } : {}),
|
|
4302
4274
|
});
|
|
@@ -4320,7 +4292,11 @@ export class ClaudeAcpAgent {
|
|
|
4320
4292
|
// window.
|
|
4321
4293
|
//
|
|
4322
4294
|
const compactMetadata = message.compact_metadata;
|
|
4323
|
-
await compaction.finish(message.uuid, "completed", compactMetadata
|
|
4295
|
+
await compaction.finish(message.uuid, "completed", compactMetadata
|
|
4296
|
+
? contextCompactionMetadataFromBoundary(compactMetadata, {
|
|
4297
|
+
idleCompaction: session.idleCompaction?.isCompacting,
|
|
4298
|
+
})
|
|
4299
|
+
: {}, true);
|
|
4324
4300
|
const usedTokens = compactMetadata?.post_tokens ?? 0;
|
|
4325
4301
|
lastAssistantUsage = null;
|
|
4326
4302
|
lastAssistantTotalUsage = usedTokens;
|
|
@@ -4528,6 +4504,11 @@ export class ClaudeAcpAgent {
|
|
|
4528
4504
|
// generatable; see SessionTitles.onTurnEnd.
|
|
4529
4505
|
await session.titles.onTurnEnd(session);
|
|
4530
4506
|
}
|
|
4507
|
+
// After the settle block above: steered turns, held turns and
|
|
4508
|
+
// autonomous cycles count as work until it settles them, and no
|
|
4509
|
+
// further idle arrives to arm the timer.
|
|
4510
|
+
if (message.state === "idle")
|
|
4511
|
+
session.idleCompaction?.onIdle();
|
|
4531
4512
|
break;
|
|
4532
4513
|
}
|
|
4533
4514
|
case "memory_recall": {
|
|
@@ -4563,6 +4544,14 @@ export class ClaudeAcpAgent {
|
|
|
4563
4544
|
this.logger.error(`Session ${message.session_id}: failed to persist history: ${message.error}`);
|
|
4564
4545
|
break;
|
|
4565
4546
|
}
|
|
4547
|
+
case "session_writes_lost": {
|
|
4548
|
+
// A full disk (ENOSPC) or used-up quota (EDQUOT) kept the CLI
|
|
4549
|
+
// from saving transcript lines or ~/.claude.json. The CLI sends
|
|
4550
|
+
// it as it exits, after the last result, so no turn is open to
|
|
4551
|
+
// carry a session/update: log it like `mirror_error`.
|
|
4552
|
+
this.logger.error(`Session ${message.session_id}: Claude Code could not save ${message.lost.join(" and ")} (${message.error_code}); resuming may miss part of the conversation`);
|
|
4553
|
+
break;
|
|
4554
|
+
}
|
|
4566
4555
|
case "permission_denied": {
|
|
4567
4556
|
unregisterHookCallback(message.tool_use_id);
|
|
4568
4557
|
// A tool call was auto-denied (by a rule, the classifier,
|
|
@@ -5681,6 +5670,12 @@ export class ClaudeAcpAgent {
|
|
|
5681
5670
|
const model = message.event.message.model;
|
|
5682
5671
|
if (model && model !== "<synthetic>") {
|
|
5683
5672
|
lastAssistantModel = model;
|
|
5673
|
+
// `message_start` arrives with the first streamed token, close to
|
|
5674
|
+
// when the provider wrote the cache. The `assistant` message
|
|
5675
|
+
// below covers a response that was not streamed (the CLI's
|
|
5676
|
+
// non-streaming fallback); its shared id keeps the per-block
|
|
5677
|
+
// messages from moving the time.
|
|
5678
|
+
session.idleCompaction?.noteRequest(message.event.message.usage, message.event.message.id || undefined);
|
|
5684
5679
|
// Only upgrade from the heuristic default — once we have an
|
|
5685
5680
|
// authoritative window (cache-seeded at session creation or
|
|
5686
5681
|
// on a model switch, read from the resumed session on
|
|
@@ -6012,6 +6007,7 @@ export class ClaudeAcpAgent {
|
|
|
6012
6007
|
lastAssistantUsage = snapshotFromUsage(message.message.usage);
|
|
6013
6008
|
lastAssistantTotalUsage = totalTokens(lastAssistantUsage);
|
|
6014
6009
|
session.contextUsedTokens = lastAssistantTotalUsage;
|
|
6010
|
+
session.idleCompaction?.noteRequest(message.message.usage, message.message.id || undefined);
|
|
6015
6011
|
}
|
|
6016
6012
|
lastAssistantWasUsageLimit = isSyntheticUsageLimitMessage(message.message);
|
|
6017
6013
|
if (message.error || lastAssistantWasUsageLimit) {
|
|
@@ -6266,6 +6262,7 @@ export class ClaudeAcpAgent {
|
|
|
6266
6262
|
break;
|
|
6267
6263
|
}
|
|
6268
6264
|
case "rate_limit_event": {
|
|
6265
|
+
session.idleCompaction?.noteRateLimit(message.rate_limit_info);
|
|
6269
6266
|
if (lastAssistantTotalUsage !== null) {
|
|
6270
6267
|
await sendUpdate({
|
|
6271
6268
|
sessionId: params.sessionId,
|
|
@@ -6300,6 +6297,8 @@ export class ClaudeAcpAgent {
|
|
|
6300
6297
|
// The follow-up prompt was predicted from the transcript the reset
|
|
6301
6298
|
// dropped, so it no longer follows from anything.
|
|
6302
6299
|
await this.publishPromptSuggestion(params.sessionId, null);
|
|
6300
|
+
// The recorded request and TTL describe the dropped conversation.
|
|
6301
|
+
session.idleCompaction?.reset();
|
|
6303
6302
|
break;
|
|
6304
6303
|
}
|
|
6305
6304
|
case "tool_use_summary":
|
|
@@ -6500,6 +6499,7 @@ export class ClaudeAcpAgent {
|
|
|
6500
6499
|
return;
|
|
6501
6500
|
}
|
|
6502
6501
|
session.cancelled = true;
|
|
6502
|
+
session.idleCompaction?.disarm("cancel");
|
|
6503
6503
|
// Only prompts received before this cancel are cancelled. A prompt that
|
|
6504
6504
|
// arrives while the awaits below run is queued and runs after the cancel
|
|
6505
6505
|
// (ACP v2: a `session/prompt` received after `session/cancel` is not
|
|
@@ -6876,6 +6876,7 @@ export class ClaudeAcpAgent {
|
|
|
6876
6876
|
}
|
|
6877
6877
|
session.consumer = undefined;
|
|
6878
6878
|
session.contextCompaction = undefined;
|
|
6879
|
+
session.idleCompaction?.dispose();
|
|
6879
6880
|
session.settingsManager.dispose();
|
|
6880
6881
|
session.input.end();
|
|
6881
6882
|
session.query.close();
|
|
@@ -7643,6 +7644,12 @@ export class ClaudeAcpAgent {
|
|
|
7643
7644
|
else if (!withdrawnByCancel)
|
|
7644
7645
|
work.events.running();
|
|
7645
7646
|
}
|
|
7647
|
+
/** Whether Claude is working in the session `sessionId`: an unsettled turn in
|
|
7648
|
+
* its queue, or foreground work that no turn owns, such as a cycle that
|
|
7649
|
+
* Claude Code started on its own. */
|
|
7650
|
+
claudeIsWorking(sessionId, session) {
|
|
7651
|
+
return (this.foregroundWork.has(sessionId) || (session.turnQueue ?? []).some((turn) => !turn.settled));
|
|
7652
|
+
}
|
|
7646
7653
|
/** Sends the current title and `updatedAt` of the session `sessionId` as a
|
|
7647
7654
|
* `session_info_update` (see {@link SessionTitles.publishCurrent}). A
|
|
7648
7655
|
* failure is logged: the info is optional, so it does not fail a resume. */
|
|
@@ -8616,6 +8623,7 @@ export class ClaudeAcpAgent {
|
|
|
8616
8623
|
const newModelInfo = session.modelInfos.find((m) => m.value === value);
|
|
8617
8624
|
const modelChanged = session.models.currentModelId !== value;
|
|
8618
8625
|
if (modelChanged) {
|
|
8626
|
+
session.idleCompaction?.disarm("model change");
|
|
8619
8627
|
// Seed the new model's context window WITHOUT awaited IPC on the
|
|
8620
8628
|
// switch path: cached authoritative value if we've already learned it
|
|
8621
8629
|
// (from a prior turn's `result.modelUsage`), else the text heuristic,
|
|
@@ -9258,7 +9266,7 @@ export class ClaudeAcpAgent {
|
|
|
9258
9266
|
supportedDialogKinds: [REFUSAL_FALLBACK_DIALOG_KIND],
|
|
9259
9267
|
}
|
|
9260
9268
|
: {}),
|
|
9261
|
-
pathToClaudeCodeExecutable:
|
|
9269
|
+
pathToClaudeCodeExecutable: await claudeCliPath(),
|
|
9262
9270
|
extraArgs: {
|
|
9263
9271
|
...userProvidedOptions?.extraArgs,
|
|
9264
9272
|
"replay-user-messages": "",
|
|
@@ -9671,6 +9679,20 @@ export class ClaudeAcpAgent {
|
|
|
9671
9679
|
accountKind: fromAccountInfo(initializationResult.account, settingsManager.getApiKeyHelper(configuredSettingsObject))?.kind,
|
|
9672
9680
|
fileChangeReporter,
|
|
9673
9681
|
};
|
|
9682
|
+
const registered = this.sessions[sessionId];
|
|
9683
|
+
registered.idleCompaction = new IdleCompaction({
|
|
9684
|
+
// `openUserInputs` also covers permission requests: `requestPermission`
|
|
9685
|
+
// is wrapped in `withPendingUserInput`.
|
|
9686
|
+
isBusy: () => this.claudeIsWorking(sessionId, registered) ||
|
|
9687
|
+
(registered.openUserInputs?.size ?? 0) > 0,
|
|
9688
|
+
contextTokens: () => registered.contextUsedTokens,
|
|
9689
|
+
settings: () => registered.settingsManager.getSettings(),
|
|
9690
|
+
compact: () => this.prompt({ sessionId, prompt: [{ type: "text", text: "/compact" }] }, "idleCompaction"),
|
|
9691
|
+
// The logger has no debug level.
|
|
9692
|
+
log: (message) => this.logger.log(message),
|
|
9693
|
+
},
|
|
9694
|
+
// The CLI's own environment: process env, the client's and the provider's.
|
|
9695
|
+
{ env });
|
|
9674
9696
|
timing.phase("register");
|
|
9675
9697
|
this.backgroundWork.sync(sessionId, this.sessions[sessionId], this.foregroundState(sessionId));
|
|
9676
9698
|
this.refreshContextWindowInBackground(sessionId, this.sessions[sessionId]);
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The command that starts this agent again with the flags it was started with,
|
|
3
|
+
* for a client to run in a terminal (e.g. `terminal-auth` login).
|
|
4
|
+
*
|
|
5
|
+
* Under Node, `process.argv` is `[node, script, ...flags]`, so the command is
|
|
6
|
+
* `node script ...flags`. In a `bun build --compile` executable it is
|
|
7
|
+
* `["bun", "/$bunfs/root/<name>", ...flags]` (`B:\~BUN\root\<name>` on
|
|
8
|
+
* Windows): `process.execPath` is the executable itself and `argv[1]` names a
|
|
9
|
+
* file inside it, which must not be passed back as an argument.
|
|
10
|
+
*/
|
|
11
|
+
export declare function agentCommand(argv?: readonly string[]): {
|
|
12
|
+
command: string;
|
|
13
|
+
args: string[];
|
|
14
|
+
};
|
|
15
|
+
//# sourceMappingURL=agent-command.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"agent-command.d.ts","sourceRoot":"","sources":["../src/agent-command.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,wBAAgB,YAAY,CAAC,IAAI,GAAE,SAAS,MAAM,EAAiB,GAAG;IACpE,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,EAAE,CAAC;CAChB,CAKA"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The command that starts this agent again with the flags it was started with,
|
|
3
|
+
* for a client to run in a terminal (e.g. `terminal-auth` login).
|
|
4
|
+
*
|
|
5
|
+
* Under Node, `process.argv` is `[node, script, ...flags]`, so the command is
|
|
6
|
+
* `node script ...flags`. In a `bun build --compile` executable it is
|
|
7
|
+
* `["bun", "/$bunfs/root/<name>", ...flags]` (`B:\~BUN\root\<name>` on
|
|
8
|
+
* Windows): `process.execPath` is the executable itself and `argv[1]` names a
|
|
9
|
+
* file inside it, which must not be passed back as an argument.
|
|
10
|
+
*/
|
|
11
|
+
export function agentCommand(argv = process.argv) {
|
|
12
|
+
const [, script, ...flags] = argv;
|
|
13
|
+
if (script === undefined)
|
|
14
|
+
return { command: process.execPath, args: [] };
|
|
15
|
+
const compiled = script.includes("$bunfs") || script.includes("~BUN");
|
|
16
|
+
return { command: process.execPath, args: compiled ? flags : [script, ...flags] };
|
|
17
|
+
}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Called by the executable's entry (`src/binary-entry.ts`) before the agent
|
|
3
|
+
* starts. A `bun build --compile` executable has no `node_modules` to resolve
|
|
4
|
+
* the SDK's platform package from, so the release archive ships the Claude CLI
|
|
5
|
+
* next to it. The CLI isn't embedded: a child process can't run a file inside
|
|
6
|
+
* Bun's `$bunfs`, so an embedded copy would have to be extracted to disk first.
|
|
7
|
+
*/
|
|
8
|
+
export declare function useBundledClaudeCli(directory: string): void;
|
|
9
|
+
/**
|
|
10
|
+
* The Claude CLI binary to spawn: `CLAUDE_CODE_EXECUTABLE` if set, then the CLI
|
|
11
|
+
* shipped next to the executable, then the SDK's platform-specific package.
|
|
12
|
+
*/
|
|
13
|
+
export declare function claudeCliPath(): Promise<string>;
|
|
14
|
+
//# sourceMappingURL=claude-cli.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"claude-cli.d.ts","sourceRoot":"","sources":["../src/claude-cli.ts"],"names":[],"mappings":"AAOA;;;;;;GAMG;AACH,wBAAgB,mBAAmB,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAE3D;AAED;;;GAGG;AACH,wBAAsB,aAAa,IAAI,OAAO,CAAC,MAAM,CAAC,CAQrD"}
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
import { existsSync } from "node:fs";
|
|
2
|
+
import { join } from "node:path";
|
|
3
|
+
const CLI_FILE_NAME = process.platform === "win32" ? "claude.exe" : "claude";
|
|
4
|
+
let bundledCliDirectory;
|
|
5
|
+
/**
|
|
6
|
+
* Called by the executable's entry (`src/binary-entry.ts`) before the agent
|
|
7
|
+
* starts. A `bun build --compile` executable has no `node_modules` to resolve
|
|
8
|
+
* the SDK's platform package from, so the release archive ships the Claude CLI
|
|
9
|
+
* next to it. The CLI isn't embedded: a child process can't run a file inside
|
|
10
|
+
* Bun's `$bunfs`, so an embedded copy would have to be extracted to disk first.
|
|
11
|
+
*/
|
|
12
|
+
export function useBundledClaudeCli(directory) {
|
|
13
|
+
bundledCliDirectory = directory;
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* The Claude CLI binary to spawn: `CLAUDE_CODE_EXECUTABLE` if set, then the CLI
|
|
17
|
+
* shipped next to the executable, then the SDK's platform-specific package.
|
|
18
|
+
*/
|
|
19
|
+
export async function claudeCliPath() {
|
|
20
|
+
if (process.env.CLAUDE_CODE_EXECUTABLE) {
|
|
21
|
+
return process.env.CLAUDE_CODE_EXECUTABLE;
|
|
22
|
+
}
|
|
23
|
+
if (bundledCliDirectory !== undefined) {
|
|
24
|
+
return bundledClaudeCliPath(bundledCliDirectory);
|
|
25
|
+
}
|
|
26
|
+
return installedClaudeCliPath();
|
|
27
|
+
}
|
|
28
|
+
function bundledClaudeCliPath(directory) {
|
|
29
|
+
const path = join(directory, CLI_FILE_NAME);
|
|
30
|
+
// Without this check, spawning a missing CLI fails with a bare ENOENT.
|
|
31
|
+
if (!existsSync(path)) {
|
|
32
|
+
throw new Error(`The Claude CLI is missing: expected ${path}. Keep ${CLI_FILE_NAME} from the release archive ` +
|
|
33
|
+
"in the same directory as claude-agent-acp, or set CLAUDE_CODE_EXECUTABLE to a Claude CLI binary.");
|
|
34
|
+
}
|
|
35
|
+
return path;
|
|
36
|
+
}
|
|
37
|
+
async function installedClaudeCliPath() {
|
|
38
|
+
// The SDK's CLI is a native binary shipped as a platform-specific optional
|
|
39
|
+
// dependency of @anthropic-ai/claude-agent-sdk. Resolve via a require bound
|
|
40
|
+
// to the SDK so nested installs are found even when npm doesn't hoist.
|
|
41
|
+
const { createRequire } = await import("node:module");
|
|
42
|
+
const req = createRequire(import.meta.resolve("@anthropic-ai/claude-agent-sdk"));
|
|
43
|
+
const ext = process.platform === "win32" ? ".exe" : "";
|
|
44
|
+
// On linux, both glibc and musl variants may be installed side-by-side
|
|
45
|
+
// (e.g. bunx hydrates every optional dep), so picking one by trial is
|
|
46
|
+
// unreliable: the wrong binary segfaults at runtime instead of failing to
|
|
47
|
+
// spawn. Detect the runtime libc and prefer the matching variant, falling
|
|
48
|
+
// back to the other only if the preferred one isn't installed.
|
|
49
|
+
const candidates = process.platform === "linux"
|
|
50
|
+
? isMuslLibc()
|
|
51
|
+
? [
|
|
52
|
+
`@anthropic-ai/claude-agent-sdk-linux-${process.arch}-musl/claude${ext}`,
|
|
53
|
+
`@anthropic-ai/claude-agent-sdk-linux-${process.arch}/claude${ext}`,
|
|
54
|
+
]
|
|
55
|
+
: [
|
|
56
|
+
`@anthropic-ai/claude-agent-sdk-linux-${process.arch}/claude${ext}`,
|
|
57
|
+
`@anthropic-ai/claude-agent-sdk-linux-${process.arch}-musl/claude${ext}`,
|
|
58
|
+
]
|
|
59
|
+
: [`@anthropic-ai/claude-agent-sdk-${process.platform}-${process.arch}/claude${ext}`];
|
|
60
|
+
for (const candidate of candidates) {
|
|
61
|
+
try {
|
|
62
|
+
return req.resolve(candidate);
|
|
63
|
+
}
|
|
64
|
+
catch {
|
|
65
|
+
// try next candidate
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
throw new Error(`Claude native binary not found for ${process.platform}-${process.arch}. ` +
|
|
69
|
+
`Reinstall @anthropic-ai/claude-agent-sdk without --omit=optional, or set CLAUDE_CODE_EXECUTABLE.`);
|
|
70
|
+
}
|
|
71
|
+
function isMuslLibc() {
|
|
72
|
+
// process.report.getReport().header.glibcVersionRuntime is populated when
|
|
73
|
+
// Node is dynamically linked against glibc, and absent on musl.
|
|
74
|
+
const report = process.report?.getReport();
|
|
75
|
+
return !report?.header?.glibcVersionRuntime;
|
|
76
|
+
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
export declare const CONTEXT_COMPACTION_META_VERSION = 1;
|
|
2
|
-
export type ContextCompactionTrigger = "manual" | "automatic";
|
|
2
|
+
export type ContextCompactionTrigger = "manual" | "automatic" | "idle";
|
|
3
3
|
export interface ContextCompactionMetadata {
|
|
4
4
|
version: typeof CONTEXT_COMPACTION_META_VERSION;
|
|
5
5
|
trigger?: ContextCompactionTrigger;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"context-compaction-meta.d.ts","sourceRoot":"","sources":["../src/context-compaction-meta.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,+BAA+B,IAAI,CAAC;AAEjD,MAAM,MAAM,wBAAwB,GAAG,QAAQ,GAAG,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"context-compaction-meta.d.ts","sourceRoot":"","sources":["../src/context-compaction-meta.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,+BAA+B,IAAI,CAAC;AAEjD,MAAM,MAAM,wBAAwB,GAAG,QAAQ,GAAG,WAAW,GAAG,MAAM,CAAC;AAEvE,MAAM,WAAW,yBAAyB;IACxC,OAAO,EAAE,OAAO,+BAA+B,CAAC;IAChD,OAAO,CAAC,EAAE,wBAAwB,CAAC;IACnC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;;;;;GAMG;AACH,wBAAgB,2BAA2B,CACzC,QAAQ,GAAE,IAAI,CAAC,yBAAyB,EAAE,SAAS,CAAM,GACxD,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAKzB"}
|
|
@@ -125,11 +125,14 @@ export declare class ContextCompactionLifecycle {
|
|
|
125
125
|
private send;
|
|
126
126
|
private sendQuietly;
|
|
127
127
|
}
|
|
128
|
+
/** `idleCompaction` marks a `/compact` that the adapter sent itself (see `IdleCompaction`). */
|
|
128
129
|
export declare function contextCompactionMetadataFromBoundary(compactMetadata: {
|
|
129
130
|
trigger: "manual" | "auto";
|
|
130
131
|
pre_tokens: number;
|
|
131
132
|
post_tokens?: number;
|
|
132
133
|
duration_ms?: number;
|
|
134
|
+
}, { idleCompaction }?: {
|
|
135
|
+
idleCompaction?: boolean;
|
|
133
136
|
}): Omit<ContextCompactionMetadata, "version">;
|
|
134
137
|
export {};
|
|
135
138
|
//# sourceMappingURL=context-compaction.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"context-compaction.d.ts","sourceRoot":"","sources":["../src/context-compaction.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,MAAM,mCAAmC,CAAC;AAC5F,OAAO,EACL,yBAAyB,
|
|
1
|
+
{"version":3,"file":"context-compaction.d.ts","sourceRoot":"","sources":["../src/context-compaction.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,MAAM,mCAAmC,CAAC;AAC5F,OAAO,EACL,yBAAyB,EAG1B,MAAM,8BAA8B,CAAC;AAGtC,KAAK,gBAAgB,GAAG,WAAW,GAAG,QAAQ,CAAC;AAG/C;;;;;;;;GAQG;AACH,MAAM,MAAM,sBAAsB,GAAG,WAAW,GAAG,mBAAmB,CAAC;AAevE,KAAK,UAAU,GAAG,CAAC,YAAY,EAAE,mBAAmB,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;AAEvE,MAAM,MAAM,iCAAiC,GAAG;IAC9C,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,CAAC,EAAE,sBAAsB,CAAC;IACtC;gCAC4B;IAC5B,QAAQ,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;IACrD,0FAA0F;IAC1F,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB,CAAC;AAEF,wBAAgB,+BAA+B,CAAC,YAAY,CAAC,EAAE,kBAAkB,GAAG,IAAI,GAAG,OAAO,CAGjG;AAyBD;;;;;;;;;GASG;AACH,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAkBrE;AAoBD;6EAC6E;AAC7E,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAOjE;AAED;;;;;;;GAOG;AACH,qBAAa,0BAA0B;IAoBnC,OAAO,CAAC,QAAQ,CAAC,UAAU;IAnB7B,OAAO,CAAC,gBAAgB,CAA8B;IACtD,OAAO,CAAC,eAAe,CAAS;IAChC,OAAO,CAAC,oBAAoB,CAAqB;IACjD;;iEAE6D;IAC7D,OAAO,CAAC,WAAW,CAAS;IAC5B;;;;kDAI8C;IAC9C,OAAO,CAAC,cAAc,CAAqB;IAC3C,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAS;IACnC,QAAQ,CAAC,YAAY,EAAE,sBAAsB,CAAC;IAC9C,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAA4C;IACrE,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAU;gBAGjB,UAAU,EAAE,UAAU,EACvC,OAAO,EAAE,iCAAiC;IAQ5C,IAAI,kBAAkB,IAAI,OAAO,CAEhC;IAED;;;;;;;;;OASG;IACG,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAiB5B;;;;mEAI+D;IACzD,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC;IAQhC;;2EAEuE;IACvE,MAAM,IAAI,IAAI;IAId;;;;OAIG;IACH,2BAA2B,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO;IAW/C,KAAK,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAmBhD;;;;;;;;;;OAUG;IACG,SAAS,CAAC,UAAU,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAoBzE;;;;;;;;;;;OAWG;IACH,aAAa,CAAC,UAAU,EAAE,OAAO,GAAG,OAAO;IAerC,MAAM,CACV,YAAY,EAAE,MAAM,EACpB,MAAM,EAAE,gBAAgB,EACxB,QAAQ,GAAE,IAAI,CAAC,yBAAyB,EAAE,SAAS,CAAM,EACzD,cAAc,UAAQ,GACrB,OAAO,CAAC,IAAI,CAAC;IAwDhB;2EACuE;IACvE,OAAO,CAAC,IAAI;IAaZ,OAAO,CAAC,IAAI;YAIE,WAAW;CAO1B;AAoBD,+FAA+F;AAC/F,wBAAgB,qCAAqC,CACnD,eAAe,EAAE;IACf,OAAO,EAAE,QAAQ,GAAG,MAAM,CAAC;IAC3B,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB,EACD,EAAE,cAAsB,EAAE,GAAE;IAAE,cAAc,CAAC,EAAE,OAAO,CAAA;CAAO,GAC5D,IAAI,CAAC,yBAAyB,EAAE,SAAS,CAAC,CAW5C"}
|
|
@@ -327,9 +327,19 @@ export class ContextCompactionLifecycle {
|
|
|
327
327
|
function withoutError({ error: _error, ...facts }) {
|
|
328
328
|
return facts;
|
|
329
329
|
}
|
|
330
|
-
|
|
330
|
+
function compactionTrigger(cliTrigger, sentByAdapter) {
|
|
331
|
+
// The CLI's own automatic compaction stays automatic, even inside the adapter's /compact turn.
|
|
332
|
+
if (cliTrigger === "auto")
|
|
333
|
+
return "automatic";
|
|
334
|
+
// The CLI reports every /compact as manual; only the adapter knows it sent this one itself.
|
|
335
|
+
if (sentByAdapter)
|
|
336
|
+
return "idle";
|
|
337
|
+
return "manual";
|
|
338
|
+
}
|
|
339
|
+
/** `idleCompaction` marks a `/compact` that the adapter sent itself (see `IdleCompaction`). */
|
|
340
|
+
export function contextCompactionMetadataFromBoundary(compactMetadata, { idleCompaction = false } = {}) {
|
|
331
341
|
return {
|
|
332
|
-
trigger: compactMetadata.trigger
|
|
342
|
+
trigger: compactionTrigger(compactMetadata.trigger, idleCompaction),
|
|
333
343
|
preTokens: compactMetadata.pre_tokens,
|
|
334
344
|
...(compactMetadata.post_tokens !== undefined
|
|
335
345
|
? { postTokens: compactMetadata.post_tokens }
|
package/dist/elicitation.js
CHANGED
|
@@ -216,7 +216,7 @@ function joinMultiSelectAnswer(items) {
|
|
|
216
216
|
* can refuse the whole answer over it, so it is left out there.
|
|
217
217
|
*/
|
|
218
218
|
export function applyAskElicitationResponse(response, toolInput, questions, options = {}) {
|
|
219
|
-
// Typed against the output schema: as of SDK 0.3.
|
|
219
|
+
// Typed against the output schema: as of SDK 0.3.318 only it lists
|
|
220
220
|
// `unanswered`, though the tool reads the same annotations from its input.
|
|
221
221
|
const annotations = {};
|
|
222
222
|
const withAnnotations = (answers) => ({
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
export type PromptCacheTtl = "5m" | "1h";
|
|
2
|
+
export type IdleCompactionHost = {
|
|
3
|
+
/** Claude is working (`startTurn`'s check) or a permission request / user input is pending. */
|
|
4
|
+
isBusy(): boolean;
|
|
5
|
+
/** Context size after the last main-thread request, or undefined if unknown. */
|
|
6
|
+
contextTokens(): number | undefined;
|
|
7
|
+
/** Current merged Claude Code settings. */
|
|
8
|
+
settings(): {
|
|
9
|
+
idleCompaction?: boolean;
|
|
10
|
+
autoCompactEnabled?: boolean;
|
|
11
|
+
env?: Record<string, string | undefined>;
|
|
12
|
+
};
|
|
13
|
+
/** Runs `/compact` as an adapter-originated turn; settles with that turn. */
|
|
14
|
+
compact(): Promise<unknown>;
|
|
15
|
+
/** Debug-level log. */
|
|
16
|
+
log(message: string): void;
|
|
17
|
+
};
|
|
18
|
+
export type IdleCompactionOptions = {
|
|
19
|
+
env?: Record<string, string | undefined>;
|
|
20
|
+
setTimeout?: (callback: () => void, ms: number) => unknown;
|
|
21
|
+
};
|
|
22
|
+
/**
|
|
23
|
+
* Compacts a session shortly before its one-hour prompt cache expires, so the
|
|
24
|
+
* next prompt writes a short summary instead of the whole context. Claude Code
|
|
25
|
+
* has this feature but arms it only for "attended" sessions, which SDK sessions
|
|
26
|
+
* are not. One instance per session.
|
|
27
|
+
*/
|
|
28
|
+
export declare class IdleCompaction {
|
|
29
|
+
private readonly host;
|
|
30
|
+
private readonly env;
|
|
31
|
+
private readonly setTimer;
|
|
32
|
+
private ttl;
|
|
33
|
+
private lastRequestAt;
|
|
34
|
+
private lastMessageId;
|
|
35
|
+
/** Set when `/compact` was sent, cleared by the next request: a compaction that failed,
|
|
36
|
+
* or left the context large, would otherwise re-arm at once and loop until the user prompts. */
|
|
37
|
+
private compactedSinceLastRequest;
|
|
38
|
+
private timer;
|
|
39
|
+
private compacting;
|
|
40
|
+
private disposed;
|
|
41
|
+
private warnedInvalidDelay;
|
|
42
|
+
/** `status` of the last `rate_limit_event`; unknown until one arrives. */
|
|
43
|
+
private rateLimitStatus;
|
|
44
|
+
constructor(host: IdleCompactionHost, options?: IdleCompactionOptions);
|
|
45
|
+
/** Whether an idle compaction it started is still running. `acp-agent.ts` reports
|
|
46
|
+
* `trigger: "idle"` while it is true. A client's `/compact` queued behind is read
|
|
47
|
+
* only after the adapter's turn's `result`, which clears `compacting`; this relies
|
|
48
|
+
* on the CLI emitting that compaction's `compact_boundary` after the previous
|
|
49
|
+
* result, which nothing here enforces. */
|
|
50
|
+
get isCompacting(): boolean;
|
|
51
|
+
/** A main-thread response arrived. Records its time and cache TTL, and drops any armed timer.
|
|
52
|
+
* The provider writes the cache when the request starts, so the deadline is measured from the
|
|
53
|
+
* response's first sighting: the `message_start` stream event, or its first `assistant` message
|
|
54
|
+
* when it was not streamed. The CLI sends one `assistant` message per content block, and a
|
|
55
|
+
* 7-minute response would otherwise put the deadline 7 minutes after the cache was written.
|
|
56
|
+
* A later call with the same `messageId` only updates the TTL. */
|
|
57
|
+
noteRequest(usage: unknown, messageId?: string): void;
|
|
58
|
+
/** The session became idle. Arms the timer if every condition holds, else logs why not. */
|
|
59
|
+
onIdle(): void;
|
|
60
|
+
/** A `rate_limit_event` arrived (`SDKRateLimitInfo`). Anything but `allowed` skips compaction,
|
|
61
|
+
* as in Claude Code. This is account state, so `reset()` keeps it. */
|
|
62
|
+
noteRateLimit(info: unknown): void;
|
|
63
|
+
/** Claude Code reported its compaction as failed. Its turn still ends normally, so `compact()` does not reject. */
|
|
64
|
+
noteCompactionFailed(error: string | undefined): void;
|
|
65
|
+
/** The conversation was replaced (`/clear`): forgets the recorded request and TTL, and drops any armed timer. */
|
|
66
|
+
reset(): void;
|
|
67
|
+
/** Drops the armed timer, if any. `reason` is only logged. */
|
|
68
|
+
disarm(reason: string): void;
|
|
69
|
+
/** Disarms and ignores every later call. */
|
|
70
|
+
dispose(): void;
|
|
71
|
+
private fire;
|
|
72
|
+
/** Why no compaction should be scheduled right now, or undefined if all conditions hold. */
|
|
73
|
+
private skipReason;
|
|
74
|
+
private disabledBy;
|
|
75
|
+
/** The CLI applies the settings `env` block after the launch env, so it wins. */
|
|
76
|
+
private claudeCodeEnv;
|
|
77
|
+
/** `0` and invalid values fall back to 200,000, as in the CLI, which declares the variable
|
|
78
|
+
* with `min: 1` and computes `Math.max(100000, env ?? 200000)`. */
|
|
79
|
+
private minTokens;
|
|
80
|
+
private delayMs;
|
|
81
|
+
}
|
|
82
|
+
//# sourceMappingURL=idle-compaction.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"idle-compaction.d.ts","sourceRoot":"","sources":["../src/idle-compaction.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,cAAc,GAAG,IAAI,GAAG,IAAI,CAAC;AAEzC,MAAM,MAAM,kBAAkB,GAAG;IAC/B,+FAA+F;IAC/F,MAAM,IAAI,OAAO,CAAC;IAClB,gFAAgF;IAChF,aAAa,IAAI,MAAM,GAAG,SAAS,CAAC;IACpC,2CAA2C;IAC3C,QAAQ,IAAI;QACV,cAAc,CAAC,EAAE,OAAO,CAAC;QACzB,kBAAkB,CAAC,EAAE,OAAO,CAAC;QAC7B,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAAC;KAC1C,CAAC;IACF,6EAA6E;IAC7E,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC;IAC5B,uBAAuB;IACvB,GAAG,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;CAC5B,CAAC;AAEF,MAAM,MAAM,qBAAqB,GAAG;IAClC,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAAC;IACzC,UAAU,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,IAAI,EAAE,EAAE,EAAE,MAAM,KAAK,OAAO,CAAC;CAC5D,CAAC;AAiCF;;;;;GAKG;AACH,qBAAa,cAAc;IAiBvB,OAAO,CAAC,QAAQ,CAAC,IAAI;IAhBvB,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAqC;IACzD,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAgD;IACzE,OAAO,CAAC,GAAG,CAA6B;IACxC,OAAO,CAAC,aAAa,CAAqB;IAC1C,OAAO,CAAC,aAAa,CAAqB;IAC1C;qGACiG;IACjG,OAAO,CAAC,yBAAyB,CAAS;IAC1C,OAAO,CAAC,KAAK,CAAU;IACvB,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,kBAAkB,CAAS;IACnC,0EAA0E;IAC1E,OAAO,CAAC,eAAe,CAAqB;gBAGzB,IAAI,EAAE,kBAAkB,EACzC,OAAO,GAAE,qBAA0B;IAMrC;;;;+CAI2C;IAC3C,IAAI,YAAY,IAAI,OAAO,CAE1B;IAED;;;;;uEAKmE;IACnE,WAAW,CAAC,KAAK,EAAE,OAAO,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI;IAUrD,2FAA2F;IAC3F,MAAM,IAAI,IAAI;IAcd;2EACuE;IACvE,aAAa,CAAC,IAAI,EAAE,OAAO,GAAG,IAAI;IAKlC,mHAAmH;IACnH,oBAAoB,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI;IAKrD,iHAAiH;IACjH,KAAK,IAAI,IAAI;IAQb,8DAA8D;IAC9D,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAO5B,4CAA4C;IAC5C,OAAO,IAAI,IAAI;YAKD,IAAI;IAoBlB,4FAA4F;IAC5F,OAAO,CAAC,UAAU;IAsBlB,OAAO,CAAC,UAAU;IAUlB,iFAAiF;IACjF,OAAO,CAAC,aAAa;IAIrB;wEACoE;IACpE,OAAO,CAAC,SAAS;IAMjB,OAAO,CAAC,OAAO;CAYhB"}
|
|
@@ -0,0 +1,215 @@
|
|
|
1
|
+
/** The longest delay `setTimeout` takes; a longer one fires at once. */
|
|
2
|
+
const MAX_TIMER_MS = 2_147_483_647;
|
|
3
|
+
const HOUR_MS = 3_600_000;
|
|
4
|
+
const DEFAULT_MIN_TOKENS = 200_000;
|
|
5
|
+
const MIN_TOKENS_FLOOR = 100_000;
|
|
6
|
+
// 54 min for a 1h cache: leaves a margin for the gap between the provider
|
|
7
|
+
// writing the cache and the adapter receiving the response.
|
|
8
|
+
const DEFAULT_DELAY_MS = 0.9 * HOUR_MS;
|
|
9
|
+
// Node timers do not run while the machine sleeps, so one can fire hours after
|
|
10
|
+
// its deadline, on a cache that expired meanwhile. Same threshold as Claude Code.
|
|
11
|
+
const LAPSED_AFTER_MS = 60_000;
|
|
12
|
+
// The values Claude Code reads as "on" for env flags such as DISABLE_COMPACT
|
|
13
|
+
// (case-insensitive, trimmed).
|
|
14
|
+
const TRUTHY_ENV = new Set(["1", "true", "yes", "on"]);
|
|
15
|
+
function isTruthyEnv(value) {
|
|
16
|
+
return value !== undefined && TRUTHY_ENV.has(value.trim().toLowerCase());
|
|
17
|
+
}
|
|
18
|
+
function parseCacheTtl(usage) {
|
|
19
|
+
const creation = usage?.cache_creation;
|
|
20
|
+
if (typeof creation !== "object" || creation === null)
|
|
21
|
+
return undefined;
|
|
22
|
+
const { ephemeral_1h_input_tokens: hour, ephemeral_5m_input_tokens: fiveMin } = creation;
|
|
23
|
+
if (typeof hour === "number" && hour > 0)
|
|
24
|
+
return "1h";
|
|
25
|
+
if (typeof fiveMin === "number" && fiveMin > 0)
|
|
26
|
+
return "5m";
|
|
27
|
+
return undefined;
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* Compacts a session shortly before its one-hour prompt cache expires, so the
|
|
31
|
+
* next prompt writes a short summary instead of the whole context. Claude Code
|
|
32
|
+
* has this feature but arms it only for "attended" sessions, which SDK sessions
|
|
33
|
+
* are not. One instance per session.
|
|
34
|
+
*/
|
|
35
|
+
export class IdleCompaction {
|
|
36
|
+
host;
|
|
37
|
+
env;
|
|
38
|
+
setTimer;
|
|
39
|
+
ttl;
|
|
40
|
+
lastRequestAt;
|
|
41
|
+
lastMessageId;
|
|
42
|
+
/** Set when `/compact` was sent, cleared by the next request: a compaction that failed,
|
|
43
|
+
* or left the context large, would otherwise re-arm at once and loop until the user prompts. */
|
|
44
|
+
compactedSinceLastRequest = false;
|
|
45
|
+
timer;
|
|
46
|
+
compacting = false;
|
|
47
|
+
disposed = false;
|
|
48
|
+
warnedInvalidDelay = false;
|
|
49
|
+
/** `status` of the last `rate_limit_event`; unknown until one arrives. */
|
|
50
|
+
rateLimitStatus;
|
|
51
|
+
constructor(host, options = {}) {
|
|
52
|
+
this.host = host;
|
|
53
|
+
this.env = options.env ?? process.env;
|
|
54
|
+
this.setTimer = options.setTimeout ?? ((cb, ms) => setTimeout(cb, ms));
|
|
55
|
+
}
|
|
56
|
+
/** Whether an idle compaction it started is still running. `acp-agent.ts` reports
|
|
57
|
+
* `trigger: "idle"` while it is true. A client's `/compact` queued behind is read
|
|
58
|
+
* only after the adapter's turn's `result`, which clears `compacting`; this relies
|
|
59
|
+
* on the CLI emitting that compaction's `compact_boundary` after the previous
|
|
60
|
+
* result, which nothing here enforces. */
|
|
61
|
+
get isCompacting() {
|
|
62
|
+
return this.compacting;
|
|
63
|
+
}
|
|
64
|
+
/** A main-thread response arrived. Records its time and cache TTL, and drops any armed timer.
|
|
65
|
+
* The provider writes the cache when the request starts, so the deadline is measured from the
|
|
66
|
+
* response's first sighting: the `message_start` stream event, or its first `assistant` message
|
|
67
|
+
* when it was not streamed. The CLI sends one `assistant` message per content block, and a
|
|
68
|
+
* 7-minute response would otherwise put the deadline 7 minutes after the cache was written.
|
|
69
|
+
* A later call with the same `messageId` only updates the TTL. */
|
|
70
|
+
noteRequest(usage, messageId) {
|
|
71
|
+
if (this.disposed)
|
|
72
|
+
return;
|
|
73
|
+
this.ttl = parseCacheTtl(usage) ?? this.ttl;
|
|
74
|
+
if (messageId !== undefined && messageId === this.lastMessageId)
|
|
75
|
+
return;
|
|
76
|
+
this.lastMessageId = messageId;
|
|
77
|
+
this.lastRequestAt = Date.now();
|
|
78
|
+
this.compactedSinceLastRequest = false;
|
|
79
|
+
this.disarm("new request");
|
|
80
|
+
}
|
|
81
|
+
/** The session became idle. Arms the timer if every condition holds, else logs why not. */
|
|
82
|
+
onIdle() {
|
|
83
|
+
if (this.disposed)
|
|
84
|
+
return;
|
|
85
|
+
const skip = this.skipReason();
|
|
86
|
+
if (skip) {
|
|
87
|
+
this.host.log(`[idle-compaction] skip: ${skip}`);
|
|
88
|
+
return;
|
|
89
|
+
}
|
|
90
|
+
this.disarm("rearm");
|
|
91
|
+
const deadline = this.lastRequestAt + this.delayMs();
|
|
92
|
+
this.timer = this.setTimer(() => void this.fire(), Math.max(0, deadline - Date.now()));
|
|
93
|
+
this.timer?.unref?.();
|
|
94
|
+
this.host.log(`[idle-compaction] armed deadline=${new Date(deadline).toISOString()}`);
|
|
95
|
+
}
|
|
96
|
+
/** A `rate_limit_event` arrived (`SDKRateLimitInfo`). Anything but `allowed` skips compaction,
|
|
97
|
+
* as in Claude Code. This is account state, so `reset()` keeps it. */
|
|
98
|
+
noteRateLimit(info) {
|
|
99
|
+
const status = info?.status;
|
|
100
|
+
if (typeof status === "string")
|
|
101
|
+
this.rateLimitStatus = status;
|
|
102
|
+
}
|
|
103
|
+
/** Claude Code reported its compaction as failed. Its turn still ends normally, so `compact()` does not reject. */
|
|
104
|
+
noteCompactionFailed(error) {
|
|
105
|
+
if (!this.compacting)
|
|
106
|
+
return;
|
|
107
|
+
this.host.log(`[idle-compaction] compaction failed: ${error ?? "no reason given"}`);
|
|
108
|
+
}
|
|
109
|
+
/** The conversation was replaced (`/clear`): forgets the recorded request and TTL, and drops any armed timer. */
|
|
110
|
+
reset() {
|
|
111
|
+
this.ttl = undefined;
|
|
112
|
+
this.lastRequestAt = undefined;
|
|
113
|
+
this.lastMessageId = undefined;
|
|
114
|
+
this.compactedSinceLastRequest = false;
|
|
115
|
+
this.disarm("conversation reset");
|
|
116
|
+
}
|
|
117
|
+
/** Drops the armed timer, if any. `reason` is only logged. */
|
|
118
|
+
disarm(reason) {
|
|
119
|
+
if (this.timer === undefined)
|
|
120
|
+
return;
|
|
121
|
+
clearTimeout(this.timer);
|
|
122
|
+
this.timer = undefined;
|
|
123
|
+
this.host.log(`[idle-compaction] disarmed: ${reason}`);
|
|
124
|
+
}
|
|
125
|
+
/** Disarms and ignores every later call. */
|
|
126
|
+
dispose() {
|
|
127
|
+
this.disarm("disposed");
|
|
128
|
+
this.disposed = true;
|
|
129
|
+
}
|
|
130
|
+
async fire() {
|
|
131
|
+
this.timer = undefined;
|
|
132
|
+
if (this.disposed)
|
|
133
|
+
return;
|
|
134
|
+
const skip = this.skipReason();
|
|
135
|
+
if (skip) {
|
|
136
|
+
this.host.log(`[idle-compaction] skip at fire: ${skip}`);
|
|
137
|
+
return;
|
|
138
|
+
}
|
|
139
|
+
this.host.log("[idle-compaction] firing /compact");
|
|
140
|
+
this.compacting = true;
|
|
141
|
+
this.compactedSinceLastRequest = true;
|
|
142
|
+
try {
|
|
143
|
+
await this.host.compact();
|
|
144
|
+
}
|
|
145
|
+
catch (error) {
|
|
146
|
+
this.host.log(`[idle-compaction] compaction failed: ${error}`);
|
|
147
|
+
}
|
|
148
|
+
finally {
|
|
149
|
+
this.compacting = false;
|
|
150
|
+
}
|
|
151
|
+
}
|
|
152
|
+
/** Why no compaction should be scheduled right now, or undefined if all conditions hold. */
|
|
153
|
+
skipReason() {
|
|
154
|
+
if (this.compacting)
|
|
155
|
+
return "compaction already running";
|
|
156
|
+
const disabled = this.disabledBy();
|
|
157
|
+
if (disabled)
|
|
158
|
+
return `disabled by ${disabled}`;
|
|
159
|
+
if (this.lastRequestAt === undefined)
|
|
160
|
+
return "no request recorded in this process";
|
|
161
|
+
if (Date.now() > this.lastRequestAt + this.delayMs() + LAPSED_AFTER_MS) {
|
|
162
|
+
return "cache lapsed: more than 60 s past the deadline";
|
|
163
|
+
}
|
|
164
|
+
if (this.rateLimitStatus !== undefined && this.rateLimitStatus !== "allowed") {
|
|
165
|
+
return `rate limit status is ${this.rateLimitStatus}`;
|
|
166
|
+
}
|
|
167
|
+
if (this.compactedSinceLastRequest)
|
|
168
|
+
return "already compacted for this request";
|
|
169
|
+
if (this.ttl !== "1h")
|
|
170
|
+
return `cache TTL is ${this.ttl ?? "unknown"}, not 1h`;
|
|
171
|
+
const tokens = this.host.contextTokens();
|
|
172
|
+
const min = this.minTokens();
|
|
173
|
+
if (tokens === undefined || tokens < min) {
|
|
174
|
+
return `context ${tokens ?? "unknown"} tokens is below the ${min} minimum`;
|
|
175
|
+
}
|
|
176
|
+
if (this.host.isBusy())
|
|
177
|
+
return "session is busy";
|
|
178
|
+
return undefined;
|
|
179
|
+
}
|
|
180
|
+
disabledBy() {
|
|
181
|
+
const settings = this.host.settings();
|
|
182
|
+
if (settings.idleCompaction === false)
|
|
183
|
+
return "idleCompaction setting";
|
|
184
|
+
if (settings.autoCompactEnabled === false)
|
|
185
|
+
return "autoCompactEnabled setting";
|
|
186
|
+
for (const name of ["DISABLE_COMPACT", "DISABLE_AUTO_COMPACT"]) {
|
|
187
|
+
if (isTruthyEnv(this.claudeCodeEnv(name)))
|
|
188
|
+
return name;
|
|
189
|
+
}
|
|
190
|
+
return undefined;
|
|
191
|
+
}
|
|
192
|
+
/** The CLI applies the settings `env` block after the launch env, so it wins. */
|
|
193
|
+
claudeCodeEnv(name) {
|
|
194
|
+
return this.host.settings().env?.[name] ?? this.env[name];
|
|
195
|
+
}
|
|
196
|
+
/** `0` and invalid values fall back to 200,000, as in the CLI, which declares the variable
|
|
197
|
+
* with `min: 1` and computes `Math.max(100000, env ?? 200000)`. */
|
|
198
|
+
minTokens() {
|
|
199
|
+
const raw = this.claudeCodeEnv("CLAUDE_CODE_IDLE_COMPACT_MIN_TOKENS");
|
|
200
|
+
const parsed = raw !== undefined && /^\d+$/.test(raw.trim()) ? Number(raw.trim()) : 0;
|
|
201
|
+
return Math.max(MIN_TOKENS_FLOOR, parsed > 0 ? parsed : DEFAULT_MIN_TOKENS);
|
|
202
|
+
}
|
|
203
|
+
delayMs() {
|
|
204
|
+
const raw = this.env.CLAUDE_AGENT_ACP_IDLE_COMPACT_DELAY_MS;
|
|
205
|
+
if (raw === undefined)
|
|
206
|
+
return DEFAULT_DELAY_MS;
|
|
207
|
+
if (/^\d+$/.test(raw.trim()) && Number(raw.trim()) <= MAX_TIMER_MS)
|
|
208
|
+
return Number(raw.trim());
|
|
209
|
+
if (!this.warnedInvalidDelay) {
|
|
210
|
+
this.warnedInvalidDelay = true;
|
|
211
|
+
this.host.log(`[idle-compaction] ignoring invalid CLAUDE_AGENT_ACP_IDLE_COMPACT_DELAY_MS=${raw}`);
|
|
212
|
+
}
|
|
213
|
+
return DEFAULT_DELAY_MS;
|
|
214
|
+
}
|
|
215
|
+
}
|
package/dist/index.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
import { claudeCliPath } from "./
|
|
2
|
+
import { claudeCliPath } from "./claude-cli.js";
|
|
3
3
|
import { applyManagedPolicyEnv } from "./managed-policy.js";
|
|
4
4
|
import { acpProtocolsFromEnv, serveAcp } from "./serve.js";
|
|
5
5
|
import packageJson from "../package.json" with { type: "json" };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mcp-command.d.ts","sourceRoot":"","sources":["../src/mcp-command.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,mCAAmC,CAAC;AAC1E,OAAO,KAAK,EAAE,eAAe,EAAE,KAAK,EAAE,MAAM,gCAAgC,CAAC;AAI7E;;2BAE2B;AAC3B,eAAO,MAAM,qBAAqB,EAAE,gBAInC,CAAC;AAQF;;6EAE6E;AAC7E,MAAM,MAAM,UAAU,GAClB;IAAE,MAAM,EAAE,QAAQ,CAAA;CAAE,GACpB;IAAE,MAAM,EAAE,WAAW,GAAG,QAAQ,GAAG,SAAS,CAAC;IAAC,GAAG,EAAE,OAAO,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;AAElF;;+DAE+D;AAC/D,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,UAAU,GAAG,IAAI,CAe/D;AAED;;0CAE0C;AAC1C,wBAAsB,mBAAmB,CACvC,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,iBAAiB,CAAC,EACrC,MAAM,EAAE,WAAW,EACnB,QAAQ,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,GAClC,OAAO,CAAC,eAAe,EAAE,GAAG,IAAI,CAAC,CAkBnC;
|
|
1
|
+
{"version":3,"file":"mcp-command.d.ts","sourceRoot":"","sources":["../src/mcp-command.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,mCAAmC,CAAC;AAC1E,OAAO,KAAK,EAAE,eAAe,EAAE,KAAK,EAAE,MAAM,gCAAgC,CAAC;AAI7E;;2BAE2B;AAC3B,eAAO,MAAM,qBAAqB,EAAE,gBAInC,CAAC;AAQF;;6EAE6E;AAC7E,MAAM,MAAM,UAAU,GAClB;IAAE,MAAM,EAAE,QAAQ,CAAA;CAAE,GACpB;IAAE,MAAM,EAAE,WAAW,GAAG,QAAQ,GAAG,SAAS,CAAC;IAAC,GAAG,EAAE,OAAO,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;AAElF;;+DAE+D;AAC/D,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,UAAU,GAAG,IAAI,CAe/D;AAED;;0CAE0C;AAC1C,wBAAsB,mBAAmB,CACvC,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,iBAAiB,CAAC,EACrC,MAAM,EAAE,WAAW,EACnB,QAAQ,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,GAClC,OAAO,CAAC,eAAe,EAAE,GAAG,IAAI,CAAC,CAkBnC;AA0ED;;;;kBAIkB;AAClB,wBAAgB,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAiBnD;AA2DD;;8BAE8B;AAC9B,wBAAgB,eAAe,CAAC,QAAQ,EAAE,eAAe,EAAE,GAAG,MAAM,CA6BnE;AAED,8CAA8C;AAC9C,MAAM,MAAM,eAAe,GAAG,IAAI,CAChC,KAAK,EACL,iBAAiB,GAAG,oBAAoB,GAAG,iBAAiB,CAC7D,CAAC;AAEF;;kCAEkC;AAClC,MAAM,MAAM,iBAAiB,GAAG;IAAE,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IAAC,WAAW,EAAE,MAAM,EAAE,CAAA;CAAE,CAAC;AA4DnF;;;;;sDAKsD;AACtD,wBAAsB,aAAa,CACjC,KAAK,EAAE,eAAe,EACtB,OAAO,EAAE,UAAU,EACnB,cAAc,EAAE,MAAM,EACtB,MAAM,EAAE,WAAW,EACnB,QAAQ,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,GAClC,OAAO,CAAC,iBAAiB,CAAC,CAoD5B"}
|
package/dist/mcp-command.js
CHANGED
|
@@ -85,8 +85,11 @@ function needsReconnect(status) {
|
|
|
85
85
|
function codeSpan(text) {
|
|
86
86
|
const longestRun = Math.max(0, ...(text.match(/`+/g) ?? []).map((run) => run.length));
|
|
87
87
|
const fence = "`".repeat(longestRun + 1);
|
|
88
|
-
// CommonMark strips one space from each end of a span
|
|
89
|
-
|
|
88
|
+
// CommonMark strips one space from each end of a span that is not all spaces
|
|
89
|
+
// (line endings count as spaces), so a pad keeps the text unchanged. Plain
|
|
90
|
+
// string checks, not one regex: `^ .*[^ ].* $` backtracks quadratically.
|
|
91
|
+
const strippedByCommonMark = text.startsWith(" ") && text.endsWith(" ") && /[^ \r\n]/.test(text);
|
|
92
|
+
const pad = text.startsWith("`") || text.endsWith("`") || strippedByCommonMark ? " " : "";
|
|
90
93
|
return `${fence}${pad}${text}${pad}${fence}`;
|
|
91
94
|
}
|
|
92
95
|
function isErrorCode(segment) {
|
package/dist/tools.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tools.d.ts","sourceRoot":"","sources":["../src/tools.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,SAAS,EACT,eAAe,EACf,gBAAgB,EAChB,QAAQ,EACT,MAAM,mCAAmC,CAAC;AAC3C,OAAO,EAAE,YAAY,EAAE,MAAM,gCAAgC,CAAC;AAC9D,OAAO,KAAK,EACV,eAAe,EACf,gBAAgB,EAChB,cAAc,EACd,eAAe,EACf,gBAAgB,EACjB,MAAM,6CAA6C,CAAC;AAErD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAC/D,OAAO,EAAuB,KAAK,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAEpF,OAAO,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAExE;;;;GAIG;AACH,wBAAgB,mBAAmB,CACjC,OAAO,EAAE,GAAG,EACZ,sBAAsB,GAAE,OAAe,EACvC,GAAG,CAAC,EAAE,MAAM,EACZ,iBAAiB,GAAE,OAAe,GACjC;IACD,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,QAAQ,CAAC;IACf,OAAO,EAAE,eAAe,EAAE,CAAC;IAC3B,SAAS,CAAC,EAAE,gBAAgB,EAAE,CAAC;CAChC,CAKA;AAED;;;;GAIG;AACH,wBAAgB,wBAAwB,CACtC,UAAU,EAAE,eAAe,EAC3B,OAAO,EAAE,GAAG,GAAG,SAAS,EACxB,sBAAsB,GAAE,OAAe,EACvC,aAAa,CAAC,EAAE,OAAO,EACvB,yBAAyB,GAAE,OAAe,GACzC,cAAc,CAShB;AAED,MAAM,MAAM,eAAe,GAAG;IAC5B,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,SAAS,GAAG,aAAa,GAAG,WAAW,CAAC;IAChD,UAAU,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF,wBAAgB,WAAW,CAAC,KAAK,EAAE;IAAE,KAAK,EAAE,eAAe,EAAE,CAAA;CAAE,GAAG,SAAS,GAAG,SAAS,EAAE,CAMxF;AAED;;;;;;GAMG;AACH,MAAM,MAAM,SAAS,GAAG;IACtB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,SAAS,GAAG,aAAa,GAAG,WAAW,CAAC;IAChD,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB,CAAC;AACF,MAAM,MAAM,SAAS,GAAG,GAAG,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;AAuD/C,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,OAAO,GAAG,gBAAgB,GAAG,SAAS,CAmBpF;AAED,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,OAAO,GAAG,cAAc,GAAG,SAAS,CA2EhF;AAED,wBAAgB,qBAAqB,CACnC,OAAO,EAAE,OAAO,EAChB,cAAc,CAAC,EAAE,MAAM,GACtB,gBAAgB,GAAG,SAAS,CAwB9B;AAED,wBAAgB,eAAe,CAC7B,KAAK,EAAE,SAAS,EAChB,KAAK,EAAE,eAAe,GAAG,SAAS,EAClC,MAAM,EAAE,gBAAgB,GAAG,SAAS,GACnC,IAAI,
|
|
1
|
+
{"version":3,"file":"tools.d.ts","sourceRoot":"","sources":["../src/tools.ts"],"names":[],"mappings":"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"}
|
package/dist/tools.js
CHANGED
|
@@ -178,11 +178,14 @@ export function applyTaskCreate(state, input, output) {
|
|
|
178
178
|
const taskId = output?.task?.id;
|
|
179
179
|
if (!taskId || !input)
|
|
180
180
|
return;
|
|
181
|
+
// The output holds the task as saved, which differs from the input when
|
|
182
|
+
// Claude Code corrects a malformed call or a PreToolUse hook changes it.
|
|
183
|
+
// `description` is in outputs since CLI 2.1.317.
|
|
181
184
|
state.set(taskId, {
|
|
182
|
-
subject: input.subject,
|
|
185
|
+
subject: output.task.subject ?? input.subject,
|
|
183
186
|
status: "pending",
|
|
184
187
|
activeForm: input.activeForm,
|
|
185
|
-
description: input.description,
|
|
188
|
+
description: output.task.description ?? input.description,
|
|
186
189
|
});
|
|
187
190
|
}
|
|
188
191
|
export function applyTaskUpdate(state, input) {
|
package/package.json
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
"publishConfig": {
|
|
4
4
|
"access": "public"
|
|
5
5
|
},
|
|
6
|
-
"version": "0.100.1-preview.
|
|
6
|
+
"version": "0.100.1-preview.4",
|
|
7
7
|
"description": "An ACP-compatible coding agent powered by the Claude Agent SDK (TypeScript)",
|
|
8
8
|
"main": "dist/lib.js",
|
|
9
9
|
"types": "dist/lib.d.ts",
|
|
@@ -21,12 +21,15 @@
|
|
|
21
21
|
"files": [
|
|
22
22
|
"dist/",
|
|
23
23
|
"!dist/tests/",
|
|
24
|
+
"!dist/binary-entry.*",
|
|
24
25
|
"README.md",
|
|
25
26
|
"LICENSE",
|
|
26
27
|
"package.json"
|
|
27
28
|
],
|
|
28
29
|
"scripts": {
|
|
29
30
|
"build": "tsc",
|
|
31
|
+
"build:binary": "node scripts/build-binary.mjs",
|
|
32
|
+
"smoke:binary": "node scripts/smoke-binary.mjs",
|
|
30
33
|
"start": "node dist/index.js",
|
|
31
34
|
"dev": "npm run build && npm run start",
|
|
32
35
|
"example:simple-client": "node --experimental-strip-types --disable-warning=ExperimentalWarning examples/simple-client.ts",
|
|
@@ -66,12 +69,12 @@
|
|
|
66
69
|
},
|
|
67
70
|
"dependencies": {
|
|
68
71
|
"@agentclientprotocol/sdk": "2.4.0",
|
|
69
|
-
"@anthropic-ai/claude-agent-sdk": "0.3.
|
|
72
|
+
"@anthropic-ai/claude-agent-sdk": "0.3.318",
|
|
70
73
|
"diff": "9.0.0",
|
|
71
74
|
"zod": "4.6.7"
|
|
72
75
|
},
|
|
73
76
|
"devDependencies": {
|
|
74
|
-
"@anthropic-ai/sdk": "1.
|
|
77
|
+
"@anthropic-ai/sdk": "1.4.0",
|
|
75
78
|
"@eslint/js": "10.0.1",
|
|
76
79
|
"@tsconfig/node22": "22.0.6",
|
|
77
80
|
"@types/node": "26.6.6",
|
|
@@ -84,6 +87,6 @@
|
|
|
84
87
|
"globals": "17.14.0",
|
|
85
88
|
"prettier": "3.9.10",
|
|
86
89
|
"typescript": "6.0.3",
|
|
87
|
-
"vitest": "5.0
|
|
90
|
+
"vitest": "5.1.0"
|
|
88
91
|
}
|
|
89
92
|
}
|