@tickernelz/paperclip-pro-adapter-utils 2026.1001.2 → 2026.1002.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 (34) hide show
  1. package/node_modules/@agentclientprotocol/sdk/dist/acp.d.ts +1 -1
  2. package/node_modules/@agentclientprotocol/sdk/dist/acp.js +1 -1
  3. package/node_modules/@agentclientprotocol/sdk/dist/acp.js.map +1 -1
  4. package/node_modules/@agentclientprotocol/sdk/dist/acp.test.js +8 -31
  5. package/node_modules/@agentclientprotocol/sdk/dist/acp.test.js.map +1 -1
  6. package/node_modules/@agentclientprotocol/sdk/dist/schema/guards.gen.d.ts +60 -0
  7. package/node_modules/@agentclientprotocol/sdk/dist/schema/guards.gen.js +55 -0
  8. package/node_modules/@agentclientprotocol/sdk/dist/schema/guards.gen.js.map +1 -1
  9. package/node_modules/@agentclientprotocol/sdk/dist/schema/index.d.ts +1 -3
  10. package/node_modules/@agentclientprotocol/sdk/dist/schema/index.js +0 -2
  11. package/node_modules/@agentclientprotocol/sdk/dist/schema/index.js.map +1 -1
  12. package/node_modules/@agentclientprotocol/sdk/dist/schema/types.gen.d.ts +428 -114
  13. package/node_modules/@agentclientprotocol/sdk/dist/schema/zod.gen.d.ts +3516 -1530
  14. package/node_modules/@agentclientprotocol/sdk/dist/schema/zod.gen.js +256 -78
  15. package/node_modules/@agentclientprotocol/sdk/dist/schema/zod.gen.js.map +1 -1
  16. package/node_modules/@agentclientprotocol/sdk/dist/v2/acp.d.ts +0 -7
  17. package/node_modules/@agentclientprotocol/sdk/dist/v2/acp.js +0 -6
  18. package/node_modules/@agentclientprotocol/sdk/dist/v2/acp.js.map +1 -1
  19. package/node_modules/@agentclientprotocol/sdk/dist/v2/acp.test.js +19 -7
  20. package/node_modules/@agentclientprotocol/sdk/dist/v2/acp.test.js.map +1 -1
  21. package/node_modules/@agentclientprotocol/sdk/dist/v2/schema/guards.gen.d.ts +52 -36
  22. package/node_modules/@agentclientprotocol/sdk/dist/v2/schema/guards.gen.js +62 -35
  23. package/node_modules/@agentclientprotocol/sdk/dist/v2/schema/guards.gen.js.map +1 -1
  24. package/node_modules/@agentclientprotocol/sdk/dist/v2/schema/index.d.ts +1 -3
  25. package/node_modules/@agentclientprotocol/sdk/dist/v2/schema/index.js +0 -2
  26. package/node_modules/@agentclientprotocol/sdk/dist/v2/schema/index.js.map +1 -1
  27. package/node_modules/@agentclientprotocol/sdk/dist/v2/schema/types.gen.d.ts +394 -188
  28. package/node_modules/@agentclientprotocol/sdk/dist/v2/schema/zod.gen.d.ts +4535 -464
  29. package/node_modules/@agentclientprotocol/sdk/dist/v2/schema/zod.gen.js +236 -117
  30. package/node_modules/@agentclientprotocol/sdk/dist/v2/schema/zod.gen.js.map +1 -1
  31. package/node_modules/@agentclientprotocol/sdk/package.json +1 -1
  32. package/node_modules/@agentclientprotocol/sdk/schema/schema.json +591 -193
  33. package/node_modules/@agentclientprotocol/sdk/schema/v2/schema.unstable.json +547 -303
  34. package/package.json +2 -2
@@ -13,7 +13,7 @@ export type AgentRequest = {
13
13
  /**
14
14
  * Method-specific request parameters.
15
15
  */
16
- params?: RequestPermissionRequest | CreateElicitationRequest | ConnectMcpRequest | MessageMcpRequest | DisconnectMcpRequest | ExtRequest | null;
16
+ params?: RequestPermissionRequest | CreateElicitationRequest | MessageMcpRequest | ExtRequest | null;
17
17
  };
18
18
  /**
19
19
  * JSON RPC Request Id
@@ -1342,74 +1342,31 @@ export type ElicitationUrlMode = (ElicitationSessionScope | ElicitationRequestSc
1342
1342
  /**
1343
1343
  * **UNSTABLE**
1344
1344
  *
1345
- * This capability is not part of the spec yet, and may be removed or changed at any point.
1346
- *
1347
- * Request parameters for `mcp/connect`.
1345
+ * Request parameters for `mcp/message`, sent from consumer to provider.
1348
1346
  *
1349
1347
  * @experimental
1350
1348
  */
1351
- export type ConnectMcpRequest = {
1349
+ export type MessageMcpRequest = {
1352
1350
  /**
1353
- * The ACP MCP server ID that was provided by the component declaring the MCP server.
1351
+ * The declared ACP MCP server receiving this request.
1354
1352
  */
1355
1353
  serverId: McpServerAcpId;
1356
1354
  /**
1357
- * The _meta property is reserved by ACP to allow clients and agents to attach additional
1358
- * metadata to their interactions. Implementations MUST NOT make assumptions about values at
1359
- * these keys.
1360
- *
1361
- * See protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/v2/draft/extensibility)
1355
+ * The caller-generated identifier for the inner MCP request.
1362
1356
  */
1363
- _meta?: {
1364
- [key: string]: unknown;
1365
- } | null;
1366
- };
1367
- /**
1368
- * **UNSTABLE**
1369
- *
1370
- * This capability is not part of the spec yet, and may be removed or changed at any point.
1371
- *
1372
- * Unique identifier for an MCP server using the ACP transport.
1373
- *
1374
- * The value is opaque and generated by the ACP component providing the MCP server. It is
1375
- * used by `mcp/connect` to route connection requests back to the component that declared the
1376
- * server.
1377
- *
1378
- * @experimental
1379
- */
1380
- export type McpServerAcpId = string;
1381
- /**
1382
- * **UNSTABLE**
1383
- *
1384
- * This capability is not part of the spec yet, and may be removed or changed at any point.
1385
- *
1386
- * Request parameters for `mcp/message`.
1387
- *
1388
- * @experimental
1389
- */
1390
- export type MessageMcpRequest = {
1391
- /**
1392
- * The MCP-over-ACP connection this message is sent on.
1393
- */
1394
- connectionId: McpConnectionId;
1357
+ requestId: McpRequestId;
1395
1358
  /**
1396
1359
  * The inner MCP method name.
1397
1360
  */
1398
1361
  method: string;
1399
1362
  /**
1400
- * Optional inner MCP params.
1401
- *
1402
- * If omitted or set to `null`, the inner MCP message has no params.
1363
+ * Optional inner MCP params; null is equivalent to omission.
1403
1364
  */
1404
1365
  params?: {
1405
1366
  [key: string]: unknown;
1406
1367
  } | null;
1407
1368
  /**
1408
- * The _meta property is reserved by ACP to allow clients and agents to attach additional
1409
- * metadata to their interactions. Implementations MUST NOT make assumptions about values at
1410
- * these keys.
1411
- *
1412
- * See protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/v2/draft/extensibility)
1369
+ * ACP extension metadata (not inner MCP params._meta); null is equivalent to omission.
1413
1370
  */
1414
1371
  _meta?: {
1415
1372
  [key: string]: unknown;
@@ -1420,36 +1377,24 @@ export type MessageMcpRequest = {
1420
1377
  *
1421
1378
  * This capability is not part of the spec yet, and may be removed or changed at any point.
1422
1379
  *
1423
- * A unique identifier for an active MCP-over-ACP connection.
1380
+ * Unique identifier for an MCP server using the ACP transport.
1381
+ *
1382
+ * The value is opaque and generated by the ACP component providing the MCP server. It is
1383
+ * used by `mcp/message` to route requests to the component that declared the server.
1424
1384
  *
1425
1385
  * @experimental
1426
1386
  */
1427
- export type McpConnectionId = string;
1387
+ export type McpServerAcpId = string;
1428
1388
  /**
1429
1389
  * **UNSTABLE**
1430
1390
  *
1431
- * This capability is not part of the spec yet, and may be removed or changed at any point.
1432
- *
1433
- * Request parameters for `mcp/disconnect`.
1391
+ * Identifies an inner MCP request active against a server on this ACP connection.
1392
+ * Generated by the caller and preserved unchanged by proxies, independently of
1393
+ * the outer ACP JSON-RPC request ID.
1434
1394
  *
1435
1395
  * @experimental
1436
1396
  */
1437
- export type DisconnectMcpRequest = {
1438
- /**
1439
- * The MCP-over-ACP connection to close.
1440
- */
1441
- connectionId: McpConnectionId;
1442
- /**
1443
- * The _meta property is reserved by ACP to allow clients and agents to attach additional
1444
- * metadata to their interactions. Implementations MUST NOT make assumptions about values at
1445
- * these keys.
1446
- *
1447
- * See protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/v2/draft/extensibility)
1448
- */
1449
- _meta?: {
1450
- [key: string]: unknown;
1451
- } | null;
1452
- };
1397
+ export type McpRequestId = string;
1453
1398
  /**
1454
1399
  * Allows for sending an arbitrary request that is not part of the ACP spec.
1455
1400
  * Extension methods provide a way to add custom functionality while maintaining
@@ -1469,7 +1414,7 @@ export type AgentResponse = {
1469
1414
  /**
1470
1415
  * Method-specific response data.
1471
1416
  */
1472
- result: InitializeResponse | LoginAuthResponse | ListProvidersResponse | SetProviderResponse | DisableProviderResponse | LogoutAuthResponse | NewSessionResponse | ListSessionsResponse | DeleteSessionResponse | ForkSessionResponse | ResumeSessionResponse | CloseSessionResponse | SetSessionConfigOptionResponse | PromptResponse | StartNesResponse | SuggestNesResponse | CloseNesResponse | ExtResponse | MessageMcpResponse;
1417
+ result: InitializeResponse | LoginAuthResponse | ListProvidersResponse | SetProviderResponse | DisableProviderResponse | LogoutAuthResponse | NewSessionResponse | ListSessionsResponse | DeleteSessionResponse | ForkSessionResponse | ResumeSessionResponse | CloseSessionResponse | SetSessionConfigOptionResponse | PromptResponse | StartNesResponse | SuggestNesResponse | CloseNesResponse | ExtResponse;
1473
1418
  } | {
1474
1419
  /**
1475
1420
  * The id of the request this response answers.
@@ -2667,6 +2612,14 @@ export type NewSessionResponse = {
2667
2612
  * Initial session configuration options.
2668
2613
  */
2669
2614
  configOptions?: Array<SessionConfigOption>;
2615
+ /**
2616
+ * Initial commands the agent can execute in this session.
2617
+ *
2618
+ * Optional. Omitted or empty means no initial commands are advertised.
2619
+ * Senders MUST use an array, not `null`; receivers treat `null` like omission.
2620
+ * Later `available_commands_update` notifications replace this list.
2621
+ */
2622
+ availableCommands?: Array<AvailableCommand>;
2670
2623
  /**
2671
2624
  * The _meta property is reserved by ACP to allow clients and agents to attach additional
2672
2625
  * metadata to their interactions. Implementations MUST NOT make assumptions about values at
@@ -2827,6 +2780,68 @@ export type SessionConfigBoolean = {
2827
2780
  */
2828
2781
  currentValue: boolean;
2829
2782
  };
2783
+ /**
2784
+ * Information about a command.
2785
+ */
2786
+ export type AvailableCommand = {
2787
+ /**
2788
+ * Command name (e.g., `create_plan`, `research_codebase`).
2789
+ */
2790
+ name: string;
2791
+ /**
2792
+ * Human-readable description of what the command does.
2793
+ */
2794
+ description: string;
2795
+ /**
2796
+ * Input for the command if required
2797
+ */
2798
+ input?: AvailableCommandInput | null;
2799
+ /**
2800
+ * The _meta property is reserved by ACP to allow clients and agents to attach additional
2801
+ * metadata to their interactions. Implementations MUST NOT make assumptions about values at
2802
+ * these keys.
2803
+ *
2804
+ * See protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/v2/draft/extensibility)
2805
+ */
2806
+ _meta?: {
2807
+ [key: string]: unknown;
2808
+ } | null;
2809
+ };
2810
+ /**
2811
+ * The input specification for a command.
2812
+ */
2813
+ export type AvailableCommandInput = (TextCommandInput & {
2814
+ type: "text";
2815
+ }) | {
2816
+ /**
2817
+ * Custom or future command input type.
2818
+ *
2819
+ * Values beginning with `_` are reserved for implementation-specific
2820
+ * extensions. Unknown values that do not begin with `_` are reserved for
2821
+ * future ACP variants.
2822
+ */
2823
+ type: string;
2824
+ [key: string]: unknown;
2825
+ };
2826
+ /**
2827
+ * All text that was typed after the command name is provided as input.
2828
+ */
2829
+ export type TextCommandInput = {
2830
+ /**
2831
+ * A hint to display when the input hasn't been provided yet
2832
+ */
2833
+ hint: string;
2834
+ /**
2835
+ * The _meta property is reserved by ACP to allow clients and agents to attach additional
2836
+ * metadata to their interactions. Implementations MUST NOT make assumptions about values at
2837
+ * these keys.
2838
+ *
2839
+ * See protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/v2/draft/extensibility)
2840
+ */
2841
+ _meta?: {
2842
+ [key: string]: unknown;
2843
+ } | null;
2844
+ };
2830
2845
  /**
2831
2846
  * Response from listing sessions.
2832
2847
  */
@@ -2927,6 +2942,14 @@ export type ForkSessionResponse = {
2927
2942
  * Initial session configuration options.
2928
2943
  */
2929
2944
  configOptions?: Array<SessionConfigOption>;
2945
+ /**
2946
+ * Initial commands the agent can execute in this session.
2947
+ *
2948
+ * Optional. Omitted or empty means no initial commands are advertised.
2949
+ * Senders MUST use an array, not `null`; receivers treat `null` like omission.
2950
+ * Later `available_commands_update` notifications replace this list.
2951
+ */
2952
+ availableCommands?: Array<AvailableCommand>;
2930
2953
  /**
2931
2954
  * The _meta property is reserved by ACP to allow clients and agents to attach additional
2932
2955
  * metadata to their interactions. Implementations MUST NOT make assumptions about values at
@@ -2946,6 +2969,14 @@ export type ResumeSessionResponse = {
2946
2969
  * Initial session configuration options.
2947
2970
  */
2948
2971
  configOptions?: Array<SessionConfigOption>;
2972
+ /**
2973
+ * Initial commands the agent can execute in this session.
2974
+ *
2975
+ * Optional. Omitted or empty means no initial commands are advertised.
2976
+ * Senders MUST use an array, not `null`; receivers treat `null` like omission.
2977
+ * Later `available_commands_update` notifications replace this list.
2978
+ */
2979
+ availableCommands?: Array<AvailableCommand>;
2949
2980
  /**
2950
2981
  * The _meta property is reserved by ACP to allow clients and agents to attach additional
2951
2982
  * metadata to their interactions. Implementations MUST NOT make assumptions about values at
@@ -3318,18 +3349,6 @@ export type CloseNesResponse = {
3318
3349
  * See protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/v2/draft/extensibility)
3319
3350
  */
3320
3351
  export type ExtResponse = unknown;
3321
- /**
3322
- * **UNSTABLE**
3323
- *
3324
- * This capability is not part of the spec yet, and may be removed or changed at any point.
3325
- *
3326
- * Response to `mcp/message`.
3327
- *
3328
- * This is the inner MCP response result payload. Any JSON value is valid.
3329
- *
3330
- * @experimental
3331
- */
3332
- export type MessageMcpResponse = unknown;
3333
3352
  /**
3334
3353
  * JSON-RPC error object.
3335
3354
  *
@@ -3373,7 +3392,7 @@ export type AgentNotification = {
3373
3392
  /**
3374
3393
  * Method-specific notification parameters.
3375
3394
  */
3376
- params?: UpdateSessionNotification | CompleteElicitationNotification | MessageMcpNotification | ExtNotification | null;
3395
+ params?: UpdateSessionNotification | CompleteElicitationNotification | ExtNotification | null;
3377
3396
  };
3378
3397
  /**
3379
3398
  * Notification containing a session update from the agent.
@@ -3449,6 +3468,12 @@ export type SessionUpdate = (ContentChunk & {
3449
3468
  sessionUpdate: "compaction_update";
3450
3469
  }) | (CompactionSummaryChunk & {
3451
3470
  sessionUpdate: "compaction_summary_chunk";
3471
+ }) | (SubagentUpdate & {
3472
+ sessionUpdate: "subagent_update";
3473
+ }) | (SessionMessage & {
3474
+ sessionUpdate: "session_message";
3475
+ }) | (SessionMessageChunk & {
3476
+ sessionUpdate: "session_message_chunk";
3452
3477
  }) | {
3453
3478
  /**
3454
3479
  * Custom or future session update type.
@@ -3707,6 +3732,33 @@ export type RequiresActionStateUpdate = {
3707
3732
  [key: string]: unknown;
3708
3733
  } | null;
3709
3734
  };
3735
+ /**
3736
+ * **UNSTABLE**
3737
+ *
3738
+ * This capability is not part of the spec yet, and may be removed or changed at any point.
3739
+ *
3740
+ * The Agent cannot currently determine foreground activity.
3741
+ *
3742
+ * Report this when activity becomes unobservable, not merely because the session
3743
+ * has been quiet. The Client MUST stop presenting the previous state as confirmed
3744
+ * current activity, but may retain it as last known. A later state replaces this
3745
+ * snapshot normally.
3746
+ *
3747
+ * This is not a task outcome or session closure. It does not cancel work, resolve
3748
+ * pending requests, or revoke capabilities; capabilities are updated separately.
3749
+ *
3750
+ * @experimental
3751
+ */
3752
+ export type UnknownStateUpdate = {
3753
+ /**
3754
+ * The _meta property is reserved by ACP for additional metadata.
3755
+ * Implementations MUST NOT make assumptions about values at these keys.
3756
+ * Optional; omitted and `null` mean no metadata for this state snapshot.
3757
+ */
3758
+ _meta?: {
3759
+ [key: string]: unknown;
3760
+ } | null;
3761
+ };
3710
3762
  /**
3711
3763
  * The state of the agent's foreground work has changed.
3712
3764
  *
@@ -3719,6 +3771,8 @@ export type StateUpdate = (RunningStateUpdate & {
3719
3771
  state: "idle";
3720
3772
  }) | (RequiresActionStateUpdate & {
3721
3773
  state: "requires_action";
3774
+ }) | (UnknownStateUpdate & {
3775
+ state: "unknown";
3722
3776
  }) | {
3723
3777
  /**
3724
3778
  * Custom or future session state.
@@ -4076,68 +4130,6 @@ export type PlanRemoved = {
4076
4130
  [key: string]: unknown;
4077
4131
  } | null;
4078
4132
  };
4079
- /**
4080
- * Information about a command.
4081
- */
4082
- export type AvailableCommand = {
4083
- /**
4084
- * Command name (e.g., `create_plan`, `research_codebase`).
4085
- */
4086
- name: string;
4087
- /**
4088
- * Human-readable description of what the command does.
4089
- */
4090
- description: string;
4091
- /**
4092
- * Input for the command if required
4093
- */
4094
- input?: AvailableCommandInput | null;
4095
- /**
4096
- * The _meta property is reserved by ACP to allow clients and agents to attach additional
4097
- * metadata to their interactions. Implementations MUST NOT make assumptions about values at
4098
- * these keys.
4099
- *
4100
- * See protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/v2/draft/extensibility)
4101
- */
4102
- _meta?: {
4103
- [key: string]: unknown;
4104
- } | null;
4105
- };
4106
- /**
4107
- * The input specification for a command.
4108
- */
4109
- export type AvailableCommandInput = (TextCommandInput & {
4110
- type: "text";
4111
- }) | {
4112
- /**
4113
- * Custom or future command input type.
4114
- *
4115
- * Values beginning with `_` are reserved for implementation-specific
4116
- * extensions. Unknown values that do not begin with `_` are reserved for
4117
- * future ACP variants.
4118
- */
4119
- type: string;
4120
- [key: string]: unknown;
4121
- };
4122
- /**
4123
- * All text that was typed after the command name is provided as input.
4124
- */
4125
- export type TextCommandInput = {
4126
- /**
4127
- * A hint to display when the input hasn't been provided yet
4128
- */
4129
- hint: string;
4130
- /**
4131
- * The _meta property is reserved by ACP to allow clients and agents to attach additional
4132
- * metadata to their interactions. Implementations MUST NOT make assumptions about values at
4133
- * these keys.
4134
- *
4135
- * See protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/v2/draft/extensibility)
4136
- */
4137
- _meta?: {
4138
- [key: string]: unknown;
4139
- } | null;
4140
- };
4141
4133
  /**
4142
4134
  * Available commands are ready or have changed
4143
4135
  */
@@ -4391,19 +4383,131 @@ export type CompactionSummaryChunk = {
4391
4383
  } | null;
4392
4384
  };
4393
4385
  /**
4394
- * Notification sent by the agent when a URL-based elicitation is complete.
4386
+ * **UNSTABLE**
4387
+ *
4388
+ * This capability is not part of the spec yet, and may be removed or changed at any point.
4389
+ *
4390
+ * Client-initiated session mutations permitted for a specific subagent session.
4391
+ *
4392
+ * A mutation requires an explicit per-child capability; support for the method
4393
+ * on ordinary sessions does not grant support on a child.
4394
+ *
4395
+ * @experimental
4395
4396
  */
4396
- export type CompleteElicitationNotification = {
4397
+ export type SubagentSessionCapabilities = {
4397
4398
  /**
4398
- * The ID of the elicitation that completed.
4399
+ * Permits the client to cancel this child's current work without ending
4400
+ * the session. Omitted or `null` means unsupported; an object (including
4401
+ * `{}`) means supported.
4399
4402
  */
4400
- elicitationId: ElicitationId;
4403
+ cancel?: SessionCancelCapabilities | null;
4404
+ /**
4405
+ * The _meta property is reserved by ACP to allow clients and agents to attach additional
4406
+ * metadata to their interactions. Implementations MUST NOT make assumptions about values at
4407
+ * these keys.
4408
+ */
4409
+ _meta?: {
4410
+ [key: string]: unknown;
4411
+ } | null;
4412
+ };
4413
+ /**
4414
+ * **UNSTABLE**
4415
+ *
4416
+ * This capability is not part of the spec yet, and may be removed or changed at any point.
4417
+ *
4418
+ * Capability to cancel work in a subagent session without ending that session.
4419
+ *
4420
+ * Supplying `{}` advertises support; an omitted or `null` `cancel` does not.
4421
+ *
4422
+ * @experimental
4423
+ */
4424
+ export type SessionCancelCapabilities = {
4401
4425
  /**
4402
4426
  * The _meta property is reserved by ACP to allow clients and agents to attach additional
4403
4427
  * metadata to their interactions. Implementations MUST NOT make assumptions about values at
4404
4428
  * these keys.
4405
4429
  *
4406
- * Optional. Omitted and `null` are equivalent and mean no metadata.
4430
+ * See protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/v2/draft/extensibility)
4431
+ */
4432
+ _meta?: {
4433
+ [key: string]: unknown;
4434
+ } | null;
4435
+ };
4436
+ /**
4437
+ * **UNSTABLE**
4438
+ *
4439
+ * This capability is not part of the spec yet, and may be removed or changed at any point.
4440
+ *
4441
+ * Notification that the enclosing parent session created and owns a child session.
4442
+ *
4443
+ * Later updates modify the existing association's metadata, not its ownership.
4444
+ *
4445
+ * Sent on the immediate parent session. The first update for an unknown
4446
+ * [`SubagentUpdate::session_id`] announces the child and MUST be sent
4447
+ * before any live request or notification bearing the child's session ID,
4448
+ * including messages naming it as sender or recipient. Child events are
4449
+ * delivered automatically; no separate child load, resume, or subscription is needed.
4450
+ * Understanding this update, registering child sessions, and applying their
4451
+ * operation restrictions are baseline v2 requirements; no Client capability
4452
+ * is required.
4453
+ *
4454
+ * Only [`SubagentUpdate::session_id`] is required. Other fields have
4455
+ * patch semantics: omitted fields leave the stored value unchanged, `null`
4456
+ * clears or unsets the value, and concrete values replace it. For `state`,
4457
+ * `null` removes the current state report and leaves activity unconfirmed;
4458
+ * it does not report idle or cancellation. A child whose capabilities are
4459
+ * unset permits no Client-initiated session mutations.
4460
+ *
4461
+ * The title and description provide the parent's display metadata for the
4462
+ * child. Agents SHOULD mirror known child state changes in the parent's
4463
+ * [`SubagentUpdate::state`] using the same [`StateUpdate`] snapshot as the
4464
+ * ordinary `state_update` notification on the child session. This reports
4465
+ * child state, not a separate parent-owned lifecycle. Consumers should
4466
+ * treat duplicate reports idempotently.
4467
+ * Completing or cancelling work does not end the association: the parent may
4468
+ * message the same child again. Individual messages and their outcomes do not
4469
+ * change this association.
4470
+ *
4471
+ * @experimental
4472
+ */
4473
+ export type SubagentUpdate = {
4474
+ /**
4475
+ * The opaque session ID identifying the child in all ACP messages.
4476
+ */
4477
+ sessionId: SessionId;
4478
+ /**
4479
+ * The parent's human-readable display title for this child. It need not be unique.
4480
+ *
4481
+ * Optional and nullable. Omitted means unchanged; `null` clears it. If no
4482
+ * title is set, the Client chooses a fallback presentation.
4483
+ */
4484
+ title?: string | null;
4485
+ /**
4486
+ * The parent's human-readable description of the child's role or purpose.
4487
+ *
4488
+ * Optional and nullable. Omitted means unchanged; `null` clears it. This is
4489
+ * current display metadata, not the history of instructions sent to the child.
4490
+ */
4491
+ description?: string | null;
4492
+ /**
4493
+ * Client-initiated session mutations permitted for this subagent session.
4494
+ *
4495
+ * Read-only operations retain their normal protocol semantics and
4496
+ * capability requirements.
4497
+ */
4498
+ capabilities?: SubagentSessionCapabilities | null;
4499
+ /**
4500
+ * The child's current foreground state, mirrored onto its parent association.
4501
+ *
4502
+ * Optional and nullable. Omitted means unchanged; `null` removes the
4503
+ * current report and leaves activity unconfirmed (not idle or cancelled).
4504
+ * A concrete [`StateUpdate`] replaces the entire previous snapshot.
4505
+ */
4506
+ state?: StateUpdate | null;
4507
+ /**
4508
+ * The _meta property is reserved by ACP to allow clients and agents to attach additional
4509
+ * metadata to their interactions. Omitted means no metadata update; `null` is an
4510
+ * explicit clear signal. Implementations MUST NOT make assumptions about values at these keys.
4407
4511
  *
4408
4512
  * See protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/v2/draft/extensibility)
4409
4513
  */
@@ -4416,35 +4520,87 @@ export type CompleteElicitationNotification = {
4416
4520
  *
4417
4521
  * This capability is not part of the spec yet, and may be removed or changed at any point.
4418
4522
  *
4419
- * Notification parameters for `mcp/message`.
4523
+ * An upsert for an inter-session message.
4420
4524
  *
4421
- * This is used when the wrapped MCP message is a notification and the outer JSON-RPC
4422
- * envelope has no `id`.
4525
+ * @experimental
4526
+ */
4527
+ export type SessionMessage = {
4528
+ /**
4529
+ * Identifier of this message within the enclosing session's transcript.
4530
+ */
4531
+ messageId: MessageId;
4532
+ /**
4533
+ * Optional sending session identity; omission or `null` retains a known value.
4534
+ */
4535
+ senderSessionId?: SessionId | null;
4536
+ /**
4537
+ * Optional receiving session identity; omission or `null` retains a known value.
4538
+ */
4539
+ recipientSessionId?: SessionId | null;
4540
+ /**
4541
+ * Omitted leaves content unchanged; `null` clears it; a concrete array
4542
+ * replaces the whole content collection.
4543
+ */
4544
+ content?: Array<ContentBlock> | null;
4545
+ /**
4546
+ * Omitted leaves metadata unchanged; `null` clears it.
4547
+ *
4548
+ * Implementations MUST NOT make assumptions about values in `_meta`.
4549
+ */
4550
+ _meta?: {
4551
+ [key: string]: unknown;
4552
+ } | null;
4553
+ };
4554
+ /**
4555
+ * **UNSTABLE**
4556
+ *
4557
+ * This capability is not part of the spec yet, and may be removed or changed at any point.
4558
+ *
4559
+ * A streamed content block of an inter-session message.
4423
4560
  *
4424
4561
  * @experimental
4425
4562
  */
4426
- export type MessageMcpNotification = {
4563
+ export type SessionMessageChunk = {
4427
4564
  /**
4428
- * The MCP-over-ACP connection this message is sent on.
4565
+ * Identifier of this message within the enclosing session's transcript.
4429
4566
  */
4430
- connectionId: McpConnectionId;
4567
+ messageId: MessageId;
4431
4568
  /**
4432
- * The inner MCP method name.
4569
+ * Optional sending session identity; omission or `null` retains a known value.
4433
4570
  */
4434
- method: string;
4571
+ senderSessionId?: SessionId | null;
4572
+ /**
4573
+ * Optional receiving session identity; omission or `null` retains a known value.
4574
+ */
4575
+ recipientSessionId?: SessionId | null;
4576
+ /**
4577
+ * A single content block appended to the message.
4578
+ */
4579
+ content: ContentBlock;
4435
4580
  /**
4436
- * Optional inner MCP params.
4581
+ * Optional and nullable chunk-scoped metadata; omitted or `null` means none.
4437
4582
  *
4438
- * If omitted or set to `null`, the inner MCP message has no params.
4583
+ * Implementations MUST NOT make assumptions about values in `_meta`.
4439
4584
  */
4440
- params?: {
4585
+ _meta?: {
4441
4586
  [key: string]: unknown;
4442
4587
  } | null;
4588
+ };
4589
+ /**
4590
+ * Notification sent by the agent when a URL-based elicitation is complete.
4591
+ */
4592
+ export type CompleteElicitationNotification = {
4593
+ /**
4594
+ * The ID of the elicitation that completed.
4595
+ */
4596
+ elicitationId: ElicitationId;
4443
4597
  /**
4444
4598
  * The _meta property is reserved by ACP to allow clients and agents to attach additional
4445
4599
  * metadata to their interactions. Implementations MUST NOT make assumptions about values at
4446
4600
  * these keys.
4447
4601
  *
4602
+ * Optional. Omitted and `null` are equivalent and mean no metadata.
4603
+ *
4448
4604
  * See protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/v2/draft/extensibility)
4449
4605
  */
4450
4606
  _meta?: {
@@ -4474,7 +4630,7 @@ export type ClientRequest = {
4474
4630
  /**
4475
4631
  * Method-specific request parameters.
4476
4632
  */
4477
- params?: InitializeRequest | LoginAuthRequest | ListProvidersRequest | SetProviderRequest | DisableProviderRequest | LogoutAuthRequest | NewSessionRequest | ListSessionsRequest | DeleteSessionRequest | ForkSessionRequest | ResumeSessionRequest | CloseSessionRequest | SetSessionConfigOptionRequest | PromptRequest | StartNesRequest | SuggestNesRequest | CloseNesRequest | MessageMcpRequest | ExtRequest | null;
4633
+ params?: InitializeRequest | LoginAuthRequest | ListProvidersRequest | SetProviderRequest | DisableProviderRequest | LogoutAuthRequest | NewSessionRequest | ListSessionsRequest | DeleteSessionRequest | ForkSessionRequest | ResumeSessionRequest | CloseSessionRequest | SetSessionConfigOptionRequest | PromptRequest | StartNesRequest | SuggestNesRequest | CloseNesRequest | ExtRequest | null;
4478
4634
  };
4479
4635
  /**
4480
4636
  * Request parameters for the initialize method.
@@ -5006,7 +5162,7 @@ export type McpServerHttp = {
5006
5162
  * ACP transport configuration for MCP.
5007
5163
  *
5008
5164
  * The MCP server is provided by an ACP component and communicates over the ACP channel
5009
- * using `mcp/connect`, `mcp/message`, and `mcp/disconnect`.
5165
+ * using `mcp/message`.
5010
5166
  *
5011
5167
  * @experimental
5012
5168
  */
@@ -5750,7 +5906,7 @@ export type ClientResponse = {
5750
5906
  /**
5751
5907
  * Method-specific response data.
5752
5908
  */
5753
- result: RequestPermissionResponse | CreateElicitationResponse | ConnectMcpResponse | DisconnectMcpResponse | MessageMcpResponse | ExtResponse;
5909
+ result: RequestPermissionResponse | CreateElicitationResponse | MessageMcpResponse | ExtResponse;
5754
5910
  } | {
5755
5911
  /**
5756
5912
  * The id of the request this response answers.
@@ -5868,23 +6024,35 @@ export type ElicitationAcceptAction = {
5868
6024
  /**
5869
6025
  * **UNSTABLE**
5870
6026
  *
5871
- * This capability is not part of the spec yet, and may be removed or changed at any point.
6027
+ * The successful outer ACP `mcp/message` response carries exactly one
6028
+ * inner MCP outcome: an opaque result (including JSON null), or an MCP error.
6029
+ * Outer ACP errors are reserved for binding and runtime failures.
5872
6030
  *
5873
- * Response to `mcp/connect`.
6031
+ * Both branches require their carrier key. An error must be a non-null object.
6032
+ * Unknown outer fields are ignored; inner result and error fields are preserved.
6033
+ * Carrier `_meta` is optional; null or invalid values are treated as absent.
6034
+ * Senders must include exactly one outcome; receivers prefer `result` if both are present.
5874
6035
  *
5875
6036
  * @experimental
5876
6037
  */
5877
- export type ConnectMcpResponse = {
6038
+ export type MessageMcpResponse = {
5878
6039
  /**
5879
- * The unique identifier for this MCP-over-ACP connection.
6040
+ * Required, even if JSON null.
5880
6041
  */
5881
- connectionId: McpConnectionId;
6042
+ result: unknown;
5882
6043
  /**
5883
- * The _meta property is reserved by ACP to allow clients and agents to attach additional
5884
- * metadata to their interactions. Implementations MUST NOT make assumptions about values at
5885
- * these keys.
5886
- *
5887
- * See protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/v2/draft/extensibility)
6044
+ * Optional ACP carrier metadata.
6045
+ */
6046
+ _meta?: {
6047
+ [key: string]: unknown;
6048
+ } | null;
6049
+ } | {
6050
+ /**
6051
+ * Required, non-null MCP error object.
6052
+ */
6053
+ error: McpError;
6054
+ /**
6055
+ * Optional ACP carrier metadata.
5888
6056
  */
5889
6057
  _meta?: {
5890
6058
  [key: string]: unknown;
@@ -5893,23 +6061,27 @@ export type ConnectMcpResponse = {
5893
6061
  /**
5894
6062
  * **UNSTABLE**
5895
6063
  *
5896
- * This capability is not part of the spec yet, and may be removed or changed at any point.
6064
+ * An inner MCP error, distinct from an outer ACP binding or runtime error.
5897
6065
  *
5898
- * Response to `mcp/disconnect`.
6066
+ * `code` and `message` are required and non-null. `data` is optional;
6067
+ * explicit `null` is preserved separately from an omitted key.
5899
6068
  *
5900
6069
  * @experimental
5901
6070
  */
5902
- export type DisconnectMcpResponse = {
6071
+ export type McpError = {
5903
6072
  /**
5904
- * The _meta property is reserved by ACP to allow clients and agents to attach additional
5905
- * metadata to their interactions. Implementations MUST NOT make assumptions about values at
5906
- * these keys.
5907
- *
5908
- * See protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/v2/draft/extensibility)
6073
+ * Inner MCP error code; never an ACP error code.
5909
6074
  */
5910
- _meta?: {
5911
- [key: string]: unknown;
5912
- } | null;
6075
+ code: number;
6076
+ /**
6077
+ * Inner MCP error message.
6078
+ */
6079
+ message: string;
6080
+ /**
6081
+ * Optional error data; explicit null is retained.
6082
+ */
6083
+ data?: unknown;
6084
+ [key: string]: unknown;
5913
6085
  };
5914
6086
  /**
5915
6087
  * A JSON-RPC notification object.
@@ -6172,6 +6344,40 @@ export type RejectNesNotification = {
6172
6344
  * The reason a suggestion was rejected.
6173
6345
  */
6174
6346
  export type NesRejectReason = "rejected" | "ignored" | "replaced" | "cancelled" | string;
6347
+ /**
6348
+ * **UNSTABLE**
6349
+ *
6350
+ * Notification for an active request, sent from provider to consumer.
6351
+ * Includes subscription acknowledgements and updates.
6352
+ *
6353
+ * @experimental
6354
+ */
6355
+ export type MessageMcpNotification = {
6356
+ /**
6357
+ * The declared ACP MCP server handling the associated request.
6358
+ */
6359
+ serverId: McpServerAcpId;
6360
+ /**
6361
+ * The identifier of the active inner MCP request.
6362
+ */
6363
+ requestId: McpRequestId;
6364
+ /**
6365
+ * The inner MCP method name.
6366
+ */
6367
+ method: string;
6368
+ /**
6369
+ * Optional inner MCP params; null is equivalent to omission.
6370
+ */
6371
+ params?: {
6372
+ [key: string]: unknown;
6373
+ } | null;
6374
+ /**
6375
+ * ACP extension metadata (not inner MCP params._meta); null is equivalent to omission.
6376
+ */
6377
+ _meta?: {
6378
+ [key: string]: unknown;
6379
+ } | null;
6380
+ };
6175
6381
  /**
6176
6382
  * A JSON-RPC notification object.
6177
6383
  */