@sudocode-ai/claude-code-acp 0.13.4 → 0.13.6
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/acp-agent.d.ts +24 -0
- package/dist/acp-agent.d.ts.map +1 -1
- package/dist/acp-agent.js +63 -22
- package/dist/lib.d.ts +1 -1
- package/dist/lib.d.ts.map +1 -1
- package/dist/mcp-server.d.ts.map +1 -1
- package/dist/mcp-server.js +6 -1
- package/package.json +1 -1
package/dist/acp-agent.d.ts
CHANGED
|
@@ -27,6 +27,17 @@ type CompactionState = {
|
|
|
27
27
|
/** Whether a compaction is currently in progress */
|
|
28
28
|
isCompacting: boolean;
|
|
29
29
|
};
|
|
30
|
+
/**
|
|
31
|
+
* Information about a skill available in the session.
|
|
32
|
+
*/
|
|
33
|
+
export type SkillInfo = {
|
|
34
|
+
/** Skill name */
|
|
35
|
+
name: string;
|
|
36
|
+
/** Skill description */
|
|
37
|
+
description?: string;
|
|
38
|
+
/** Source of the skill */
|
|
39
|
+
source?: "user" | "project" | "plugin";
|
|
40
|
+
};
|
|
30
41
|
type Session = {
|
|
31
42
|
query: Query;
|
|
32
43
|
input: Pushable<SDKUserMessage>;
|
|
@@ -39,6 +50,8 @@ type Session = {
|
|
|
39
50
|
sessionFilePath?: string;
|
|
40
51
|
/** Auto-compaction state tracking */
|
|
41
52
|
compaction: CompactionState;
|
|
53
|
+
/** Skills loaded for this session (populated from SDK init message) */
|
|
54
|
+
skills?: SkillInfo[];
|
|
42
55
|
};
|
|
43
56
|
type BackgroundTerminal = {
|
|
44
57
|
handle: TerminalHandle;
|
|
@@ -182,6 +195,7 @@ export declare class ClaudeAcpAgent implements Agent {
|
|
|
182
195
|
* - `_session/inject`: Inject a message into an active session mid-execution
|
|
183
196
|
* - `_session/flush`: Flush a session to disk for fork-with-flush support
|
|
184
197
|
* - `_session/setCompaction`: Configure automatic context compaction for a session
|
|
198
|
+
* - `_session/listSkills`: List available skills for a session
|
|
185
199
|
*/
|
|
186
200
|
extMethod(method: string, params: Record<string, unknown>): Promise<Record<string, unknown>>;
|
|
187
201
|
/**
|
|
@@ -215,6 +229,16 @@ export declare class ClaudeAcpAgent implements Agent {
|
|
|
215
229
|
* @returns Success status and any error message
|
|
216
230
|
*/
|
|
217
231
|
private handleSessionSetCompaction;
|
|
232
|
+
/**
|
|
233
|
+
* List available skills for a session.
|
|
234
|
+
*
|
|
235
|
+
* Skills are loaded based on the session's settingSources and plugins configuration.
|
|
236
|
+
* This method returns the skills that were discovered during session initialization.
|
|
237
|
+
*
|
|
238
|
+
* @param params.sessionId - The session to query skills for
|
|
239
|
+
* @returns Success status, skills array, and any error message
|
|
240
|
+
*/
|
|
241
|
+
private handleSessionListSkills;
|
|
218
242
|
/**
|
|
219
243
|
* Flush a session to disk by aborting its query subprocess.
|
|
220
244
|
*
|
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":"AAAA,OAAO,EACL,KAAK,EACL,mBAAmB,EACnB,mBAAmB,EAEnB,kBAAkB,EAClB,kBAAkB,EAClB,kBAAkB,EAClB,mBAAmB,EACnB,iBAAiB,EACjB,kBAAkB,EAClB,kBAAkB,EAClB,mBAAmB,EAEnB,iBAAiB,EACjB,kBAAkB,EAClB,aAAa,EACb,cAAc,EACd,mBAAmB,EACnB,oBAAoB,EAEpB,oBAAoB,EACpB,qBAAqB,EAErB,mBAAmB,EACnB,sBAAsB,EACtB,uBAAuB,EACvB,qBAAqB,EACrB,sBAAsB,EACtB,cAAc,EACd,sBAAsB,EACtB,oBAAoB,EACpB,qBAAqB,EACtB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAChD,OAAO,EACL,UAAU,EAEV,OAAO,EACP,cAAc,EACd,KAAK,EAEL,0BAA0B,EAC1B,cAAc,EACf,MAAM,gCAAgC,CAAC;AAIxC,OAAO,EAAwC,QAAQ,EAAe,MAAM,YAAY,CAAC;AAYzF,OAAO,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AAChE,OAAO,EAAE,gBAAgB,EAAE,wBAAwB,EAAE,MAAM,sCAAsC,CAAC;AAIlG,eAAO,MAAM,iBAAiB,QAA2D,CAAC;AAE1F;;GAEG;AACH,MAAM,WAAW,MAAM;IACrB,GAAG,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,IAAI,CAAC;IAC9B,KAAK,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,IAAI,CAAC;CACjC;AAED;;GAEG;AACH,KAAK,eAAe,GAAG;IACrB,0DAA0D;IAC1D,OAAO,EAAE,OAAO,CAAC;IACjB,+CAA+C;IAC/C,SAAS,EAAE,MAAM,CAAC;IAClB,iDAAiD;IACjD,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,iDAAiD;IACjD,aAAa,EAAE,MAAM,CAAC;IACtB,oDAAoD;IACpD,YAAY,EAAE,OAAO,CAAC;CACvB,CAAC;AAEF,KAAK,OAAO,GAAG;IACb,KAAK,EAAE,KAAK,CAAC;IACb,KAAK,EAAE,QAAQ,CAAC,cAAc,CAAC,CAAC;IAChC,SAAS,EAAE,OAAO,CAAC;IACnB,cAAc,EAAE,cAAc,CAAC;IAC/B,eAAe,EAAE,eAAe,CAAC;IACjC,eAAe,EAAE,eAAe,CAAC;IACjC,GAAG,EAAE,MAAM,CAAC;IACZ,yGAAyG;IACzG,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,qCAAqC;IACrC,UAAU,EAAE,eAAe,CAAC;
|
|
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
|
@@ -364,8 +364,18 @@ export class ClaudeAcpAgent {
|
|
|
364
364
|
switch (message.type) {
|
|
365
365
|
case "system":
|
|
366
366
|
switch (message.subtype) {
|
|
367
|
-
case "init":
|
|
367
|
+
case "init": {
|
|
368
|
+
// Capture skills from the SDK init message if available
|
|
369
|
+
const session = this.sessions[params.sessionId];
|
|
370
|
+
if (session && message.skills) {
|
|
371
|
+
session.skills = message.skills.map((s) => ({
|
|
372
|
+
name: s.name ?? s,
|
|
373
|
+
description: s.description,
|
|
374
|
+
source: s.source,
|
|
375
|
+
}));
|
|
376
|
+
}
|
|
368
377
|
break;
|
|
378
|
+
}
|
|
369
379
|
case "compact_boundary": {
|
|
370
380
|
// Reset token count after compaction
|
|
371
381
|
const session = this.sessions[params.sessionId];
|
|
@@ -375,15 +385,13 @@ export class ClaudeAcpAgent {
|
|
|
375
385
|
session.compaction.currentTokens = 0;
|
|
376
386
|
session.compaction.isCompacting = false;
|
|
377
387
|
this.logger.log(`[auto-compaction] Compaction completed, token count reset. Previous tokens: ${preTokens}`);
|
|
378
|
-
// Emit compaction_completed event to client
|
|
379
|
-
|
|
388
|
+
// Emit compaction_completed event to client via extension notification
|
|
389
|
+
// (compaction events are not part of the standard ACP SessionUpdate schema)
|
|
390
|
+
// Note: Using "_" prefix for SDK 0.13+ compatibility with older client SDKs
|
|
391
|
+
await this.client.extNotification("_compaction_completed", {
|
|
380
392
|
sessionId: params.sessionId,
|
|
381
|
-
|
|
382
|
-
|
|
383
|
-
sessionId: params.sessionId,
|
|
384
|
-
trigger: trigger,
|
|
385
|
-
preTokens: preTokens,
|
|
386
|
-
},
|
|
393
|
+
trigger: trigger,
|
|
394
|
+
preTokens: preTokens,
|
|
387
395
|
});
|
|
388
396
|
}
|
|
389
397
|
break;
|
|
@@ -516,6 +524,7 @@ export class ClaudeAcpAgent {
|
|
|
516
524
|
* - `_session/inject`: Inject a message into an active session mid-execution
|
|
517
525
|
* - `_session/flush`: Flush a session to disk for fork-with-flush support
|
|
518
526
|
* - `_session/setCompaction`: Configure automatic context compaction for a session
|
|
527
|
+
* - `_session/listSkills`: List available skills for a session
|
|
519
528
|
*/
|
|
520
529
|
async extMethod(method, params) {
|
|
521
530
|
if (method === "_session/inject") {
|
|
@@ -527,6 +536,9 @@ export class ClaudeAcpAgent {
|
|
|
527
536
|
if (method === "_session/setCompaction") {
|
|
528
537
|
return this.handleSessionSetCompaction(params);
|
|
529
538
|
}
|
|
539
|
+
if (method === "_session/listSkills") {
|
|
540
|
+
return this.handleSessionListSkills(params);
|
|
541
|
+
}
|
|
530
542
|
throw RequestError.methodNotFound(method);
|
|
531
543
|
}
|
|
532
544
|
/**
|
|
@@ -610,6 +622,32 @@ export class ClaudeAcpAgent {
|
|
|
610
622
|
return { success: false, error: String(error) };
|
|
611
623
|
}
|
|
612
624
|
}
|
|
625
|
+
/**
|
|
626
|
+
* List available skills for a session.
|
|
627
|
+
*
|
|
628
|
+
* Skills are loaded based on the session's settingSources and plugins configuration.
|
|
629
|
+
* This method returns the skills that were discovered during session initialization.
|
|
630
|
+
*
|
|
631
|
+
* @param params.sessionId - The session to query skills for
|
|
632
|
+
* @returns Success status, skills array, and any error message
|
|
633
|
+
*/
|
|
634
|
+
handleSessionListSkills(params) {
|
|
635
|
+
const { sessionId } = params;
|
|
636
|
+
const session = this.sessions[sessionId];
|
|
637
|
+
if (!session) {
|
|
638
|
+
return { success: false, error: `Session ${sessionId} not found` };
|
|
639
|
+
}
|
|
640
|
+
try {
|
|
641
|
+
return {
|
|
642
|
+
success: true,
|
|
643
|
+
skills: session.skills ?? [],
|
|
644
|
+
};
|
|
645
|
+
}
|
|
646
|
+
catch (error) {
|
|
647
|
+
this.logger.error(`[claude-code-acp] Failed to list skills for session ${sessionId}:`, error);
|
|
648
|
+
return { success: false, error: String(error) };
|
|
649
|
+
}
|
|
650
|
+
}
|
|
613
651
|
/**
|
|
614
652
|
* Flush a session to disk by aborting its query subprocess.
|
|
615
653
|
*
|
|
@@ -880,16 +918,14 @@ export class ClaudeAcpAgent {
|
|
|
880
918
|
compaction.isCompacting = true;
|
|
881
919
|
const preTokens = compaction.currentTokens;
|
|
882
920
|
this.logger.log(`[auto-compaction] Triggering compaction. Current tokens: ${preTokens}, Threshold: ${compaction.threshold}`);
|
|
883
|
-
// Emit compaction_started event to client
|
|
884
|
-
|
|
921
|
+
// Emit compaction_started event to client via extension notification
|
|
922
|
+
// (compaction events are not part of the standard ACP SessionUpdate schema)
|
|
923
|
+
// Note: Using "_" prefix for SDK 0.13+ compatibility with older client SDKs
|
|
924
|
+
await this.client.extNotification("_compaction_started", {
|
|
885
925
|
sessionId,
|
|
886
|
-
|
|
887
|
-
|
|
888
|
-
|
|
889
|
-
trigger: "auto",
|
|
890
|
-
preTokens: preTokens,
|
|
891
|
-
threshold: compaction.threshold,
|
|
892
|
-
},
|
|
926
|
+
trigger: "auto",
|
|
927
|
+
preTokens: preTokens,
|
|
928
|
+
threshold: compaction.threshold,
|
|
893
929
|
});
|
|
894
930
|
// Build the compact command with optional custom instructions
|
|
895
931
|
const compactCommand = compaction.customInstructions
|
|
@@ -984,7 +1020,8 @@ export class ClaudeAcpAgent {
|
|
|
984
1020
|
: undefined;
|
|
985
1021
|
const options = {
|
|
986
1022
|
systemPrompt,
|
|
987
|
-
|
|
1023
|
+
// Use user-provided settingSources or default to all sources
|
|
1024
|
+
settingSources: userProvidedOptions?.settingSources ?? ["user", "project", "local"],
|
|
988
1025
|
stderr: (err) => this.logger.error(err),
|
|
989
1026
|
...(maxThinkingTokens !== undefined && { maxThinkingTokens }),
|
|
990
1027
|
...userProvidedOptions,
|
|
@@ -1022,9 +1059,13 @@ export class ClaudeAcpAgent {
|
|
|
1022
1059
|
},
|
|
1023
1060
|
...creationOpts,
|
|
1024
1061
|
};
|
|
1025
|
-
|
|
1026
|
-
|
|
1027
|
-
|
|
1062
|
+
// Start with user-provided tools lists, then add ACP-managed tools
|
|
1063
|
+
const allowedTools = [...(userProvidedOptions?.allowedTools ?? [])];
|
|
1064
|
+
// Disable AskUserQuestion for now, not a great way to expose this over ACP at the moment (in progress work so we can revisit)
|
|
1065
|
+
const disallowedTools = [
|
|
1066
|
+
"AskUserQuestion",
|
|
1067
|
+
...(userProvidedOptions?.disallowedTools ?? []),
|
|
1068
|
+
];
|
|
1028
1069
|
// Check if built-in tools should be disabled
|
|
1029
1070
|
const disableBuiltInTools = params._meta?.disableBuiltInTools === true;
|
|
1030
1071
|
if (!disableBuiltInTools) {
|
package/dist/lib.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export { ClaudeAcpAgent, runAcp, toAcpNotifications, streamEventToAcpNotifications, type ToolUpdateMeta, type NewSessionMeta, type CompactionConfig, } from "./acp-agent.js";
|
|
1
|
+
export { ClaudeAcpAgent, runAcp, toAcpNotifications, streamEventToAcpNotifications, type ToolUpdateMeta, type NewSessionMeta, type CompactionConfig, type SkillInfo, } from "./acp-agent.js";
|
|
2
2
|
export { loadManagedSettings, applyEnvironmentSettings, nodeToWebReadable, nodeToWebWritable, Pushable, unreachable, } from "./utils.js";
|
|
3
3
|
export { createMcpServer } from "./mcp-server.js";
|
|
4
4
|
export { toolInfoFromToolUse, planEntries, toolUpdateFromToolResult, createPreToolUseHook, acpToolNames as toolNames, } from "./tools.js";
|
package/dist/lib.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lib.d.ts","sourceRoot":"","sources":["../src/lib.ts"],"names":[],"mappings":"AACA,OAAO,EACL,cAAc,EACd,MAAM,EACN,kBAAkB,EAClB,6BAA6B,EAC7B,KAAK,cAAc,EACnB,KAAK,cAAc,EACnB,KAAK,gBAAgB,
|
|
1
|
+
{"version":3,"file":"lib.d.ts","sourceRoot":"","sources":["../src/lib.ts"],"names":[],"mappings":"AACA,OAAO,EACL,cAAc,EACd,MAAM,EACN,kBAAkB,EAClB,6BAA6B,EAC7B,KAAK,cAAc,EACnB,KAAK,cAAc,EACnB,KAAK,gBAAgB,EACrB,KAAK,SAAS,GACf,MAAM,gBAAgB,CAAC;AACxB,OAAO,EACL,mBAAmB,EACnB,wBAAwB,EACxB,iBAAiB,EACjB,iBAAiB,EACjB,QAAQ,EACR,WAAW,GACZ,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,EACL,mBAAmB,EACnB,WAAW,EACX,wBAAwB,EACxB,oBAAoB,EACpB,YAAY,IAAI,SAAS,GAC1B,MAAM,YAAY,CAAC;AACpB,OAAO,EACL,eAAe,EACf,KAAK,kBAAkB,EACvB,KAAK,kBAAkB,EACvB,KAAK,kBAAkB,EACvB,KAAK,qBAAqB,EAC1B,KAAK,sBAAsB,GAC5B,MAAM,eAAe,CAAC;AAGvB,YAAY,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC"}
|
package/dist/mcp-server.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mcp-server.d.ts","sourceRoot":"","sources":["../src/mcp-server.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AASpE,OAAO,EAAqB,cAAc,EAAE,MAAM,gBAAgB,CAAC;AACnE,OAAO,EACL,kBAAkB,EAGnB,MAAM,0BAA0B,CAAC;AAQlC,eAAO,MAAM,eAAe,iSAIT,CAAC;AA2BpB,wBAAgB,eAAe,CAC7B,KAAK,EAAE,cAAc,EACrB,SAAS,EAAE,MAAM,EACjB,kBAAkB,EAAE,kBAAkB,GAAG,SAAS,GACjD,SAAS,
|
|
1
|
+
{"version":3,"file":"mcp-server.d.ts","sourceRoot":"","sources":["../src/mcp-server.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AASpE,OAAO,EAAqB,cAAc,EAAE,MAAM,gBAAgB,CAAC;AACnE,OAAO,EACL,kBAAkB,EAGnB,MAAM,0BAA0B,CAAC;AAQlC,eAAO,MAAM,eAAe,iSAIT,CAAC;AA2BpB,wBAAgB,eAAe,CAC7B,KAAK,EAAE,cAAc,EACrB,SAAS,EAAE,MAAM,EACjB,kBAAkB,EAAE,kBAAkB,GAAG,SAAS,GACjD,SAAS,CAgoBX;AA+DD;;;;;;GAMG;AACH,wBAAgB,2BAA2B,CACzC,WAAW,EAAE,MAAM,EACnB,KAAK,EAAE,KAAK,CAAC;IACX,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB,CAAC,GACD;IAAE,UAAU,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,MAAM,EAAE,CAAA;CAAE,CAyF/C"}
|
package/dist/mcp-server.js
CHANGED
package/package.json
CHANGED