@agentclientprotocol/claude-agent-acp 0.69.0 → 0.71.0

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.
Files changed (77) hide show
  1. package/README.md +10 -9
  2. package/dist/acp-agent.d.ts +118 -39
  3. package/dist/acp-agent.d.ts.map +1 -1
  4. package/dist/acp-agent.js +1199 -682
  5. package/dist/acp-subagents.d.ts +82 -0
  6. package/dist/acp-subagents.d.ts.map +1 -0
  7. package/dist/acp-subagents.js +13 -0
  8. package/dist/air-extension.d.ts +23 -0
  9. package/dist/air-extension.d.ts.map +1 -0
  10. package/dist/air-extension.js +63 -0
  11. package/dist/async-tasks.d.ts +109 -0
  12. package/dist/async-tasks.d.ts.map +1 -0
  13. package/dist/async-tasks.js +613 -0
  14. package/dist/clear-context-coordinator.d.ts +60 -0
  15. package/dist/clear-context-coordinator.d.ts.map +1 -0
  16. package/dist/clear-context-coordinator.js +80 -0
  17. package/dist/exit-plan.d.ts +42 -0
  18. package/dist/exit-plan.d.ts.map +1 -0
  19. package/dist/exit-plan.js +154 -0
  20. package/dist/file-change-audit.d.ts.map +1 -1
  21. package/dist/file-change-audit.js +4 -33
  22. package/dist/fork-session.d.ts +12 -0
  23. package/dist/fork-session.d.ts.map +1 -0
  24. package/dist/fork-session.js +41 -0
  25. package/dist/index.js +24 -1
  26. package/dist/native-subagents.d.ts +71 -0
  27. package/dist/native-subagents.d.ts.map +1 -0
  28. package/dist/native-subagents.js +422 -0
  29. package/dist/permissions/effects.d.ts +19 -0
  30. package/dist/permissions/effects.d.ts.map +1 -0
  31. package/dist/permissions/effects.js +166 -0
  32. package/dist/permissions/modes.d.ts +8 -0
  33. package/dist/permissions/modes.d.ts.map +1 -0
  34. package/dist/permissions/modes.js +41 -0
  35. package/dist/permissions/normalization.d.ts +6 -0
  36. package/dist/permissions/normalization.d.ts.map +1 -0
  37. package/dist/permissions/normalization.js +100 -0
  38. package/dist/permissions/options/filesystem.d.ts +9 -0
  39. package/dist/permissions/options/filesystem.d.ts.map +1 -0
  40. package/dist/permissions/options/filesystem.js +124 -0
  41. package/dist/permissions/options/shared.d.ts +39 -0
  42. package/dist/permissions/options/shared.d.ts.map +1 -0
  43. package/dist/permissions/options/shared.js +64 -0
  44. package/dist/permissions/options/shell.d.ts +5 -0
  45. package/dist/permissions/options/shell.d.ts.map +1 -0
  46. package/dist/permissions/options/shell.js +100 -0
  47. package/dist/permissions/options/tools.d.ts +11 -0
  48. package/dist/permissions/options/tools.d.ts.map +1 -0
  49. package/dist/permissions/options/tools.js +135 -0
  50. package/dist/permissions/options.d.ts +5 -0
  51. package/dist/permissions/options.d.ts.map +1 -0
  52. package/dist/permissions/options.js +60 -0
  53. package/dist/permissions/presentation.d.ts +15 -0
  54. package/dist/permissions/presentation.d.ts.map +1 -0
  55. package/dist/permissions/presentation.js +83 -0
  56. package/dist/permissions/response.d.ts +11 -0
  57. package/dist/permissions/response.d.ts.map +1 -0
  58. package/dist/permissions/response.js +19 -0
  59. package/dist/session-config-ids.d.ts +5 -0
  60. package/dist/session-config-ids.d.ts.map +1 -0
  61. package/dist/session-config-ids.js +4 -0
  62. package/dist/session-failure-extension.d.ts +2 -24
  63. package/dist/session-failure-extension.d.ts.map +1 -1
  64. package/dist/session-failure-extension.js +13 -40
  65. package/dist/session-mode.d.ts +66 -0
  66. package/dist/session-mode.d.ts.map +1 -0
  67. package/dist/session-mode.js +234 -0
  68. package/dist/session-titles.d.ts +77 -0
  69. package/dist/session-titles.d.ts.map +1 -0
  70. package/dist/session-titles.js +199 -0
  71. package/dist/tool-result-meta.d.ts +8 -0
  72. package/dist/tool-result-meta.d.ts.map +1 -0
  73. package/dist/tool-result-meta.js +19 -0
  74. package/dist/tools.d.ts +6 -1
  75. package/dist/tools.d.ts.map +1 -1
  76. package/dist/tools.js +39 -18
  77. package/package.json +6 -6
@@ -0,0 +1,82 @@
1
+ import type { ClientCapabilities, SessionCapabilities, SessionNotification } from "@agentclientprotocol/sdk";
2
+ export { AIR_NATIVE_SUBAGENT_SESSIONS_CAPABILITY } from "./air-extension.js";
3
+ /**
4
+ * Temporary typed surface for agentclientprotocol/agent-client-protocol#1992.
5
+ *
6
+ * The wire contract is already defined by the ACP draft, but the published
7
+ * TypeScript SDK does not contain it yet. Keep the compatibility boundary in
8
+ * this file so it can be replaced by SDK exports without changing lifecycle
9
+ * code when the draft ships.
10
+ */
11
+ export type SubagentSessionCapabilities = {
12
+ cancel?: boolean;
13
+ close?: boolean;
14
+ _meta?: Record<string, unknown> | null;
15
+ };
16
+ export type SubagentSpawnedUpdate = {
17
+ sessionUpdate: "subagent_spawned";
18
+ subagentSessionId: string;
19
+ name: string;
20
+ task: string;
21
+ capabilities: SubagentSessionCapabilities;
22
+ _meta?: Record<string, unknown> | null;
23
+ };
24
+ export type SubagentState = "completed" | "failed" | "cancelled" | "disconnected";
25
+ export type SubagentStateUpdate = {
26
+ sessionUpdate: "subagent_state_update";
27
+ subagentSessionId: string;
28
+ state: SubagentState;
29
+ _meta?: Record<string, unknown> | null;
30
+ };
31
+ export type AsyncTaskState = "running" | "paused" | "completed" | "failed" | "stopped";
32
+ export type AsyncTaskSpawnedUpdate = {
33
+ sessionUpdate: "async_task_spawned";
34
+ asyncTaskId: string;
35
+ name: string;
36
+ taskType: string;
37
+ description: string;
38
+ showInTranscript: boolean;
39
+ canStop: boolean;
40
+ outputFilePath?: string;
41
+ toolCallId?: string;
42
+ _meta?: Record<string, unknown> | null;
43
+ };
44
+ export type AsyncTaskProgressUpdate = {
45
+ sessionUpdate: "async_task_progress";
46
+ asyncTaskId: string;
47
+ description?: string;
48
+ summary?: string;
49
+ lastToolName?: string;
50
+ usage?: {
51
+ totalTokens: number;
52
+ toolUses: number;
53
+ durationMs: number;
54
+ };
55
+ /** Latest durable task log path. May arrive after spawn. */
56
+ outputFilePath?: string;
57
+ /** Originating tool call, when correlation becomes known after spawn. */
58
+ toolCallId?: string;
59
+ _meta?: Record<string, unknown> | null;
60
+ };
61
+ export type AsyncTaskStateUpdate = {
62
+ sessionUpdate: "async_task_state_update";
63
+ asyncTaskId: string;
64
+ state: AsyncTaskState;
65
+ summary?: string;
66
+ /** Latest durable task log path, including terminal-only SDK reports. */
67
+ outputFilePath?: string;
68
+ /** Originating tool call, including terminal-only late correlation. */
69
+ toolCallId?: string;
70
+ _meta?: Record<string, unknown> | null;
71
+ };
72
+ export type AcpSessionUpdate = SessionNotification["update"] | SubagentSpawnedUpdate | SubagentStateUpdate | AsyncTaskSpawnedUpdate | AsyncTaskProgressUpdate | AsyncTaskStateUpdate;
73
+ export type AcpSessionNotification = Omit<SessionNotification, "update"> & {
74
+ update: AcpSessionUpdate;
75
+ };
76
+ export type SubagentAwareSessionCapabilities = SessionCapabilities & {
77
+ subagents?: Record<string, never>;
78
+ };
79
+ export declare function clientSupportsSubagents(capabilities?: ClientCapabilities | null): boolean;
80
+ /** The only cast needed until the TypeScript SDK publishes PR #1992. */
81
+ export declare function asSdkSessionNotification(notification: AcpSessionNotification): SessionNotification;
82
+ //# sourceMappingURL=acp-subagents.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"acp-subagents.d.ts","sourceRoot":"","sources":["../src/acp-subagents.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,13 @@
1
+ import { AIR_NATIVE_SUBAGENT_SESSIONS_CAPABILITY, clientSupportsAirCapability, } from "./air-extension.js";
2
+ export { AIR_NATIVE_SUBAGENT_SESSIONS_CAPABILITY } from "./air-extension.js";
3
+ export function clientSupportsSubagents(capabilities) {
4
+ const subagents = capabilities?.subagents;
5
+ if (typeof subagents === "object" && subagents !== null && !Array.isArray(subagents)) {
6
+ return true;
7
+ }
8
+ return clientSupportsAirCapability(capabilities, AIR_NATIVE_SUBAGENT_SESSIONS_CAPABILITY);
9
+ }
10
+ /** The only cast needed until the TypeScript SDK publishes PR #1992. */
11
+ export function asSdkSessionNotification(notification) {
12
+ return notification;
13
+ }
@@ -0,0 +1,23 @@
1
+ export declare const AIR_NATIVE_SUBAGENT_SESSIONS_CAPABILITY = "nativeSubagentSessions";
2
+ export declare const AIR_ASYNC_TASKS_CAPABILITY = "asyncTasks";
3
+ export declare const AIR_SESSION_FAILURE_CAPABILITY = "sessionFailure";
4
+ /** The capability list this side advertises, as its own `_meta` object. */
5
+ export declare function airCapabilityMeta(...capabilities: string[]): Record<string, unknown>;
6
+ /**
7
+ * Merges one AIR extension payload into an existing `_meta`.
8
+ *
9
+ * Every other namespace is preserved: an update can carry both agent-native
10
+ * `claudeCode` metadata and an AIR payload, and two AIR payloads can share the
11
+ * same `air` object. Pass `undefined` to build a fresh `_meta`.
12
+ */
13
+ export declare function withAirMeta(meta: Record<string, unknown> | null | undefined, capability: string, payload: unknown): Record<string, unknown>;
14
+ /** The `air` object inside a `_meta`, or undefined when the peer sent no AIR extension. */
15
+ export declare function airExtensionMeta(meta: unknown): Record<string, unknown> | undefined;
16
+ /**
17
+ * Whether the peer advertised `capability`.
18
+ *
19
+ * Takes `unknown` because every caller is reading wire data: an ACP
20
+ * `ClientCapabilities`, or a bag whose `_meta` was never validated.
21
+ */
22
+ export declare function clientSupportsAirCapability(capabilities: unknown, capability: string): boolean;
23
+ //# sourceMappingURL=air-extension.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"air-extension.d.ts","sourceRoot":"","sources":["../src/air-extension.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,uCAAuC,2BAA2B,CAAC;AAChF,eAAO,MAAM,0BAA0B,eAAe,CAAC;AACvD,eAAO,MAAM,8BAA8B,mBAAmB,CAAC;AAQ/D,2EAA2E;AAC3E,wBAAgB,iBAAiB,CAAC,GAAG,YAAY,EAAE,MAAM,EAAE,2BAE1D;AAED;;;;;;GAMG;AACH,wBAAgB,WAAW,CACzB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,GAAG,SAAS,EAChD,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,OAAO,GACf,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAczB;AAED,2FAA2F;AAC3F,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,OAAO,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,CAKnF;AAED;;;;;GAKG;AACH,wBAAgB,2BAA2B,CAAC,YAAY,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAY9F"}
@@ -0,0 +1,63 @@
1
+ export const AIR_NATIVE_SUBAGENT_SESSIONS_CAPABILITY = "nativeSubagentSessions";
2
+ export const AIR_ASYNC_TASKS_CAPABILITY = "asyncTasks";
3
+ export const AIR_SESSION_FAILURE_CAPABILITY = "sessionFailure";
4
+ const JETBRAINS_META_KEY = "jetbrains";
5
+ const AIR_META_KEY = "air";
6
+ const AIR_EXTENSION_VERSION_KEY = "version";
7
+ const AIR_EXTENSION_CAPABILITIES_KEY = "capabilities";
8
+ const AIR_EXTENSION_VERSION = 1;
9
+ /** The capability list this side advertises, as its own `_meta` object. */
10
+ export function airCapabilityMeta(...capabilities) {
11
+ return withAirMeta(undefined, AIR_EXTENSION_CAPABILITIES_KEY, capabilities);
12
+ }
13
+ /**
14
+ * Merges one AIR extension payload into an existing `_meta`.
15
+ *
16
+ * Every other namespace is preserved: an update can carry both agent-native
17
+ * `claudeCode` metadata and an AIR payload, and two AIR payloads can share the
18
+ * same `air` object. Pass `undefined` to build a fresh `_meta`.
19
+ */
20
+ export function withAirMeta(meta, capability, payload) {
21
+ const jetbrains = asRecord(meta?.[JETBRAINS_META_KEY]);
22
+ const air = asRecord(jetbrains[AIR_META_KEY]);
23
+ return {
24
+ ...meta,
25
+ [JETBRAINS_META_KEY]: {
26
+ ...jetbrains,
27
+ [AIR_META_KEY]: {
28
+ ...air,
29
+ [AIR_EXTENSION_VERSION_KEY]: AIR_EXTENSION_VERSION,
30
+ [capability]: payload,
31
+ },
32
+ },
33
+ };
34
+ }
35
+ /** The `air` object inside a `_meta`, or undefined when the peer sent no AIR extension. */
36
+ export function airExtensionMeta(meta) {
37
+ const air = asRecord(asRecord(meta)[JETBRAINS_META_KEY])[AIR_META_KEY];
38
+ return air && typeof air === "object" && !Array.isArray(air)
39
+ ? air
40
+ : undefined;
41
+ }
42
+ /**
43
+ * Whether the peer advertised `capability`.
44
+ *
45
+ * Takes `unknown` because every caller is reading wire data: an ACP
46
+ * `ClientCapabilities`, or a bag whose `_meta` was never validated.
47
+ */
48
+ export function clientSupportsAirCapability(capabilities, capability) {
49
+ const air = airExtensionMeta(asRecord(capabilities)._meta);
50
+ const version = air?.[AIR_EXTENSION_VERSION_KEY];
51
+ const advertised = air?.[AIR_EXTENSION_CAPABILITIES_KEY];
52
+ return (typeof version === "number" &&
53
+ Number.isFinite(version) &&
54
+ Number.isInteger(version) &&
55
+ version >= AIR_EXTENSION_VERSION &&
56
+ Array.isArray(advertised) &&
57
+ advertised.includes(capability));
58
+ }
59
+ function asRecord(value) {
60
+ return value && typeof value === "object" && !Array.isArray(value)
61
+ ? value
62
+ : {};
63
+ }
@@ -0,0 +1,109 @@
1
+ import type { ClientCapabilities } from "@agentclientprotocol/sdk";
2
+ import type { AcpSessionNotification, AsyncTaskState } from "./acp-subagents.js";
3
+ type Publish = (notification: AcpSessionNotification) => Promise<void>;
4
+ type TaskIdentity = {
5
+ taskId?: unknown;
6
+ task_id?: unknown;
7
+ };
8
+ export type AsyncTaskStarted = TaskIdentity & {
9
+ taskType?: unknown;
10
+ task_type?: unknown;
11
+ description?: unknown;
12
+ subagentType?: unknown;
13
+ subagent_type?: unknown;
14
+ isBackgrounded?: unknown;
15
+ is_backgrounded?: unknown;
16
+ workflowName?: unknown;
17
+ workflow_name?: unknown;
18
+ skipTranscript?: unknown;
19
+ skip_transcript?: unknown;
20
+ outputFilePath?: unknown;
21
+ output_file?: unknown;
22
+ toolCallId?: unknown;
23
+ tool_use_id?: unknown;
24
+ };
25
+ export type AsyncTaskUpdated = TaskIdentity & {
26
+ patch?: TaskPatch;
27
+ };
28
+ type TaskPatch = {
29
+ status?: unknown;
30
+ description?: unknown;
31
+ isBackgrounded?: unknown;
32
+ is_backgrounded?: unknown;
33
+ error?: unknown;
34
+ outputFilePath?: unknown;
35
+ output_file?: unknown;
36
+ };
37
+ export type AsyncTaskNotification = TaskIdentity & {
38
+ status?: unknown;
39
+ summary?: unknown;
40
+ outputFilePath?: unknown;
41
+ output_file?: unknown;
42
+ };
43
+ type TaskProgress = TaskIdentity & {
44
+ description?: unknown;
45
+ summary?: unknown;
46
+ lastToolName?: unknown;
47
+ last_tool_name?: unknown;
48
+ usage?: unknown;
49
+ outputFilePath?: unknown;
50
+ output_file?: unknown;
51
+ };
52
+ type BackgroundTaskLevel = TaskIdentity & {
53
+ taskType?: unknown;
54
+ task_type?: unknown;
55
+ description?: unknown;
56
+ };
57
+ export declare function clientSupportsAsyncTasks(capabilities?: ClientCapabilities | null): boolean;
58
+ /** Publishes Claude's non-agent background work as a separate AIR task lifecycle. */
59
+ export declare class AsyncTaskRuntime {
60
+ readonly enabled: boolean;
61
+ private readonly sessionId;
62
+ private readonly publish;
63
+ /**
64
+ * One registry owns both active tasks and terminal tombstones. Keeping an
65
+ * unannounced terminal record is intentional: the Bash result proving that
66
+ * a command was backgrounded can arrive after its terminal SDK edge.
67
+ */
68
+ private readonly tasks;
69
+ constructor(enabled: boolean, sessionId: string, publish: Publish);
70
+ taskStarted(message: AsyncTaskStarted): Promise<void>;
71
+ taskBackgrounded(message: AsyncTaskStarted): Promise<void>;
72
+ taskUpdated(message: AsyncTaskUpdated): Promise<void>;
73
+ taskUpdated(taskId: string, patch: TaskPatch): Promise<void>;
74
+ taskProgress(message: TaskProgress): Promise<void>;
75
+ taskNotification(message: AsyncTaskNotification): Promise<void>;
76
+ taskNotification(taskId: string, status: unknown, summary?: unknown, outputFilePath?: unknown): Promise<void>;
77
+ /**
78
+ * Reconciles the SDK's replace-semantics background task level. It does not
79
+ * create unknown tasks because this level normally precedes task_started and
80
+ * carries no tool-call attribution. It can, however, promote a known
81
+ * foreground task and terminate an announced task whose edge was lost.
82
+ */
83
+ backgroundTasksChanged(tasksOrMessage: readonly BackgroundTaskLevel[] | {
84
+ tasks?: unknown;
85
+ }): Promise<void>;
86
+ finishAll(state: Extract<AsyncTaskState, "failed" | "stopped">): Promise<void>;
87
+ canStop(taskId: string): boolean;
88
+ claimStop(taskId: string): boolean;
89
+ releaseStop(taskId: string): void;
90
+ taskStopped(taskId: string): Promise<void>;
91
+ clear(): void;
92
+ private task;
93
+ private mergeStarted;
94
+ private mergePatch;
95
+ private mergeLevel;
96
+ private mergeOutputFilePath;
97
+ private announce;
98
+ private finish;
99
+ private publishMetadata;
100
+ private publishProgress;
101
+ private publishState;
102
+ }
103
+ /** Recovers background Bash lifecycle data exposed only on its tool result. */
104
+ export declare function backgroundBashTaskFromToolResult(content: unknown, toolUseResult: unknown, toolUses: Record<string, {
105
+ name: string;
106
+ input: unknown;
107
+ }>): AsyncTaskStarted | undefined;
108
+ export {};
109
+ //# sourceMappingURL=async-tasks.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"async-tasks.d.ts","sourceRoot":"","sources":["../src/async-tasks.ts"],"names":[],"mappings":"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"}