@nyssance/codex-acp-v2 0.7.7 → 0.7.8

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/CHANGELOG.md CHANGED
@@ -1,5 +1,11 @@
1
1
  # Changelog
2
2
 
3
+ ## 0.7.8 — 2026-10-10
4
+
5
+ ### Fixed
6
+
7
+ - Update ACP SDK to 1.8.0 and report failed turns with the standard `error` stop reason and JSON-RPC error details. Preserve Codex diagnostics and existing limit/refusal classifications.
8
+
3
9
  ## 0.7.7 — 2026-10-09
4
10
 
5
11
  ### Added
package/dist/index.js CHANGED
@@ -14791,6 +14791,21 @@ function preserveCustomPayload(schema, key, knownTags) {
14791
14791
  return output;
14792
14792
  });
14793
14793
  }
14794
+ function defaultOnErrorOptionalStringTag(schema, key) {
14795
+ return exports_external.preprocess((value) => {
14796
+ if (value === null || typeof value !== "object" || Array.isArray(value)) {
14797
+ return value;
14798
+ }
14799
+ const record2 = value;
14800
+ const tag = record2[key];
14801
+ if (tag === undefined || tag === null || typeof tag === "string") {
14802
+ return value;
14803
+ }
14804
+ const normalized = { ...record2 };
14805
+ delete normalized[key];
14806
+ return normalized;
14807
+ }, schema);
14808
+ }
14794
14809
  function vecSkipError(itemSchema) {
14795
14810
  return exports_external.array(itemSchema.catch(skippedItem)).transform((items) => items.filter((item) => item !== skippedItem));
14796
14811
  }
@@ -15654,8 +15669,8 @@ var zAuthMethodTerminal = object({
15654
15669
  description: defaultOnError(string2().nullish(), () => {
15655
15670
  return;
15656
15671
  }),
15657
- args: defaultOnError(vecSkipError(string2()).optional(), () => []),
15658
- env: defaultOnError(vecSkipError(zEnvVariable).optional(), () => []),
15672
+ args: array(string2()).optional(),
15673
+ env: array(zEnvVariable).optional(),
15659
15674
  _meta: defaultOnError(record(string2(), unknown()).nullish(), () => {
15660
15675
  return;
15661
15676
  })
@@ -16095,14 +16110,11 @@ var zRunningStateUpdate = object({
16095
16110
  return;
16096
16111
  })
16097
16112
  });
16098
- var zStopReason = union([
16099
- literal("end_turn"),
16100
- literal("max_tokens"),
16101
- literal("max_turn_requests"),
16102
- literal("refusal"),
16103
- literal("cancelled"),
16104
- string2()
16105
- ]);
16113
+ var zErrorStopReason = object({
16114
+ error: defaultOnError(zError.nullish(), () => {
16115
+ return;
16116
+ })
16117
+ });
16106
16118
  var zUsage = object({
16107
16119
  totalTokens: number2(),
16108
16120
  inputTokens: number2(),
@@ -16120,17 +16132,56 @@ var zUsage = object({
16120
16132
  return;
16121
16133
  })
16122
16134
  });
16123
- var zIdleStateUpdate = object({
16124
- stopReason: defaultOnError(zStopReason.nullish(), () => {
16125
- return;
16135
+ var zIdleStateUpdate = defaultOnErrorOptionalStringTag(preserveCustomPayload(intersection(union([
16136
+ object({
16137
+ stopReason: literal("end_turn")
16138
+ }),
16139
+ object({
16140
+ stopReason: literal("max_tokens")
16141
+ }),
16142
+ object({
16143
+ stopReason: literal("max_turn_requests")
16126
16144
  }),
16145
+ object({
16146
+ stopReason: literal("refusal")
16147
+ }),
16148
+ object({
16149
+ stopReason: literal("cancelled")
16150
+ }),
16151
+ zErrorStopReason.and(object({
16152
+ stopReason: literal("error")
16153
+ })),
16154
+ excludeKnownTags(object({
16155
+ stopReason: string2()
16156
+ }), "stopReason", [
16157
+ "cancelled",
16158
+ "end_turn",
16159
+ "error",
16160
+ "max_tokens",
16161
+ "max_turn_requests",
16162
+ "refusal"
16163
+ ]),
16164
+ object({
16165
+ stopReason: _null3().optional()
16166
+ })
16167
+ ]), object({
16127
16168
  usage: defaultOnError(zUsage.nullish(), () => {
16128
16169
  return;
16129
16170
  }),
16130
16171
  _meta: defaultOnError(record(string2(), unknown()).nullish(), () => {
16131
16172
  return;
16173
+ }),
16174
+ stopReason: defaultOnError(string2().nullish(), () => {
16175
+ return;
16132
16176
  })
16133
- });
16177
+ })), "stopReason", [
16178
+ "cancelled",
16179
+ "end_turn",
16180
+ "error",
16181
+ "max_tokens",
16182
+ "max_turn_requests",
16183
+ "refusal"
16184
+ ]), "stopReason");
16134
16185
  var zRequiresActionStateUpdate = object({
16135
16186
  _meta: defaultOnError(record(string2(), unknown()).nullish(), () => {
16136
16187
  return;
@@ -16730,8 +16781,8 @@ var zMcpServer = preserveCustomPayload(union([
16730
16781
  ]), "type", ["acp", "http", "stdio"]);
16731
16782
  var zNewSessionRequest = object({
16732
16783
  cwd: zAbsolutePath,
16733
- additionalDirectories: defaultOnError(vecSkipError(zAbsolutePath).optional(), () => []),
16734
- mcpServers: defaultOnError(vecSkipError(zMcpServer).optional(), () => []),
16784
+ additionalDirectories: array(zAbsolutePath).optional(),
16785
+ mcpServers: array(zMcpServer).optional(),
16735
16786
  _meta: defaultOnError(record(string2(), unknown()).nullish(), () => {
16736
16787
  return;
16737
16788
  })
@@ -16752,8 +16803,8 @@ var zDeleteSessionRequest = object({
16752
16803
  var zForkSessionRequest = object({
16753
16804
  sessionId: zSessionId,
16754
16805
  cwd: zAbsolutePath,
16755
- additionalDirectories: defaultOnError(vecSkipError(zAbsolutePath).optional(), () => []),
16756
- mcpServers: defaultOnError(vecSkipError(zMcpServer).optional(), () => []),
16806
+ additionalDirectories: array(zAbsolutePath).optional(),
16807
+ mcpServers: array(zMcpServer).optional(),
16757
16808
  _meta: defaultOnError(record(string2(), unknown()).nullish(), () => {
16758
16809
  return;
16759
16810
  })
@@ -16777,11 +16828,9 @@ var zReplayFrom = preserveCustomPayload(union([
16777
16828
  var zResumeSessionRequest = object({
16778
16829
  sessionId: zSessionId,
16779
16830
  cwd: zAbsolutePath,
16780
- additionalDirectories: defaultOnError(vecSkipError(zAbsolutePath).optional(), () => []),
16781
- mcpServers: defaultOnError(vecSkipError(zMcpServer).optional(), () => []),
16782
- replayFrom: defaultOnError(zReplayFrom.nullish(), () => {
16783
- return;
16784
- }),
16831
+ additionalDirectories: array(zAbsolutePath).optional(),
16832
+ mcpServers: array(zMcpServer).optional(),
16833
+ replayFrom: zReplayFrom.nullish(),
16785
16834
  _meta: defaultOnError(record(string2(), unknown()).nullish(), () => {
16786
16835
  return;
16787
16836
  })
@@ -17093,7 +17142,7 @@ var zDidChangeDocumentNotification = object({
17093
17142
  sessionId: zSessionId,
17094
17143
  uri: url(),
17095
17144
  version: number2(),
17096
- contentChanges: requiredDefaultOnError(vecSkipError(zTextDocumentContentChangeEvent), () => []),
17145
+ contentChanges: array(zTextDocumentContentChangeEvent),
17097
17146
  _meta: defaultOnError(record(string2(), unknown()).nullish(), () => {
17098
17147
  return;
17099
17148
  })
@@ -17186,15 +17235,21 @@ function tagOf(value, key) {
17186
17235
  return typeof value === "object" && value !== null ? value[key] : undefined;
17187
17236
  }
17188
17237
  var zGuardRequestPermissionSubjectToolCall = zToolCallPermissionSubject.and(object({ type: literal("tool_call") }));
17189
- var zGuardRequestPermissionSubjectCommand = zCommandPermissionSubject.and(object({ type: literal("command") }));
17238
+ var zGuardRequestPermissionSubjectCommand = zCommandPermissionSubject.and(object({
17239
+ toolCallId: zToolCallId.nullish(),
17240
+ terminalId: zTerminalId.nullish()
17241
+ })).and(object({ type: literal("command") }));
17190
17242
  var zGuardToolCallContentContent = zContent.and(object({ type: literal("content") }));
17191
- var zGuardToolCallContentDiff = zDiff.and(object({ type: literal("diff") }));
17243
+ var zGuardToolCallContentDiff = zDiff.and(object({ patch: zDiffPatch.nullish() })).and(object({ type: literal("diff") }));
17192
17244
  var zGuardToolCallContentTerminal = zTerminal.and(object({ type: literal("terminal") }));
17193
- var zGuardContentBlockText = zTextContent.and(object({ type: literal("text") }));
17194
- var zGuardContentBlockImage = zImageContent.and(object({ type: literal("image") }));
17195
- var zGuardContentBlockAudio = zAudioContent.and(object({ type: literal("audio") }));
17196
- var zGuardContentBlockResourceLink = zResourceLink.and(object({ type: literal("resource_link") }));
17197
- var zGuardContentBlockResource = zEmbeddedResource.and(object({ type: literal("resource") }));
17245
+ var zGuardContentBlockText = zTextContent.and(object({ annotations: zAnnotations.nullish() })).and(object({ type: literal("text") }));
17246
+ var zGuardContentBlockImage = zImageContent.and(object({ annotations: zAnnotations.nullish() })).and(object({ type: literal("image") }));
17247
+ var zGuardContentBlockAudio = zAudioContent.and(object({ annotations: zAnnotations.nullish() })).and(object({ type: literal("audio") }));
17248
+ var zGuardContentBlockResourceLink = zResourceLink.and(object({
17249
+ mimeType: zMediaType.nullish(),
17250
+ annotations: zAnnotations.nullish()
17251
+ })).and(object({ type: literal("resource_link") }));
17252
+ var zGuardContentBlockResource = zEmbeddedResource.and(object({ annotations: zAnnotations.nullish() })).and(object({ type: literal("resource") }));
17198
17253
  var zGuardDiffChangeAdd = zDiffPathChange.and(object({ operation: literal("add") }));
17199
17254
  var zGuardDiffChangeDelete = zDiffPathChange.and(object({ operation: literal("delete") }));
17200
17255
  var zGuardDiffChangeModify = zDiffPathChange.and(object({ operation: literal("modify") }));
@@ -17222,7 +17277,7 @@ var zGuardSessionConfigOptionCustom = object({
17222
17277
  name: string2()
17223
17278
  });
17224
17279
  var zGuardAvailableCommandInputText = zTextCommandInput.and(object({ type: literal("text") }));
17225
- var zGuardNesSuggestionEdit = zNesEditSuggestion.and(object({ kind: literal("edit") }));
17280
+ var zGuardNesSuggestionEdit = zNesEditSuggestion.and(object({ cursorPosition: zPosition.nullish() })).and(object({ kind: literal("edit") }));
17226
17281
  var zGuardNesSuggestionJump = zNesJumpSuggestion.and(object({ kind: literal("jump") }));
17227
17282
  var zGuardNesSuggestionRename = zNesRenameSuggestion.and(object({ kind: literal("rename") }));
17228
17283
  var zGuardNesSuggestionSearchAndReplace = zNesSearchAndReplaceSuggestion.and(object({ kind: literal("searchAndReplace") }));
@@ -17237,23 +17292,56 @@ var zGuardSessionUpdateAgentThoughtChunk = zContentChunk.and(object({ sessionUpd
17237
17292
  var zGuardSessionUpdateAgentThought = zAgentThought.and(object({ sessionUpdate: literal("agent_thought") }));
17238
17293
  var zGuardSessionUpdateStateUpdate = zStateUpdate.and(object({ sessionUpdate: literal("state_update") }));
17239
17294
  var zGuardSessionUpdateToolCallContentChunk = zToolCallContentChunk.and(object({ sessionUpdate: literal("tool_call_content_chunk") }));
17240
- var zGuardSessionUpdateToolCallUpdate = zToolCallUpdate.and(object({ sessionUpdate: literal("tool_call_update") }));
17241
- var zGuardSessionUpdateTerminalUpdate = zTerminalUpdate.and(object({ sessionUpdate: literal("terminal_update") }));
17295
+ var zGuardSessionUpdateToolCallUpdate = zToolCallUpdate.and(object({
17296
+ kind: zToolKind.nullish(),
17297
+ status: zToolCallStatus.nullish()
17298
+ })).and(object({ sessionUpdate: literal("tool_call_update") }));
17299
+ var zGuardSessionUpdateTerminalUpdate = zTerminalUpdate.and(object({
17300
+ cwd: zAbsolutePath.nullish(),
17301
+ output: zTerminalOutput.nullish(),
17302
+ exitStatus: zTerminalExitStatus.nullish()
17303
+ })).and(object({ sessionUpdate: literal("terminal_update") }));
17242
17304
  var zGuardSessionUpdateTerminalOutputChunk = zTerminalOutputChunk.and(object({ sessionUpdate: literal("terminal_output_chunk") }));
17243
17305
  var zGuardSessionUpdatePlanUpdate = zPlanUpdate.and(object({ sessionUpdate: literal("plan_update") }));
17244
17306
  var zGuardSessionUpdatePlanRemoved = zPlanRemoved.and(object({ sessionUpdate: literal("plan_removed") }));
17245
17307
  var zGuardSessionUpdateAvailableCommandsUpdate = zAvailableCommandsUpdate.and(object({ sessionUpdate: literal("available_commands_update") }));
17246
17308
  var zGuardSessionUpdateConfigOptionUpdate = zConfigOptionUpdate.and(object({ sessionUpdate: literal("config_option_update") }));
17247
17309
  var zGuardSessionUpdateSessionInfoUpdate = zSessionInfoUpdate.and(object({ sessionUpdate: literal("session_info_update") }));
17248
- var zGuardSessionUpdateUsageUpdate = zUsageUpdate.and(object({ sessionUpdate: literal("usage_update") }));
17310
+ var zGuardSessionUpdateUsageUpdate = zUsageUpdate.and(object({ cost: zCost.nullish() })).and(object({ sessionUpdate: literal("usage_update") }));
17249
17311
  var zGuardSessionUpdateNotice = zNotice.and(object({ sessionUpdate: literal("notice") }));
17250
17312
  var zGuardSessionUpdateCompactionUpdate = zCompactionUpdate.and(object({ sessionUpdate: literal("compaction_update") }));
17251
17313
  var zGuardSessionUpdateCompactionSummaryChunk = zCompactionSummaryChunk.and(object({ sessionUpdate: literal("compaction_summary_chunk") }));
17252
- var zGuardSessionUpdateSubagentUpdate = zSubagentUpdate.and(object({ sessionUpdate: literal("subagent_update") }));
17253
- var zGuardSessionUpdateSessionMessage = zSessionMessage.and(object({ sessionUpdate: literal("session_message") }));
17254
- var zGuardSessionUpdateSessionMessageChunk = zSessionMessageChunk.and(object({ sessionUpdate: literal("session_message_chunk") }));
17314
+ var zGuardSessionUpdateSubagentUpdate = zSubagentUpdate.and(object({
17315
+ capabilities: zSubagentSessionCapabilities.nullish(),
17316
+ state: zStateUpdate.nullish()
17317
+ })).and(object({ sessionUpdate: literal("subagent_update") }));
17318
+ var zGuardSessionUpdateSessionMessage = zSessionMessage.and(object({
17319
+ senderSessionId: zSessionId.nullish(),
17320
+ recipientSessionId: zSessionId.nullish()
17321
+ })).and(object({ sessionUpdate: literal("session_message") }));
17322
+ var zGuardSessionUpdateSessionMessageChunk = zSessionMessageChunk.and(object({
17323
+ senderSessionId: zSessionId.nullish(),
17324
+ recipientSessionId: zSessionId.nullish()
17325
+ })).and(object({ sessionUpdate: literal("session_message_chunk") }));
17326
+ var zGuardIdleStateUpdateEndTurn = object({
17327
+ stopReason: literal("end_turn")
17328
+ });
17329
+ var zGuardIdleStateUpdateMaxTokens = object({
17330
+ stopReason: literal("max_tokens")
17331
+ });
17332
+ var zGuardIdleStateUpdateMaxTurnRequests = object({
17333
+ stopReason: literal("max_turn_requests")
17334
+ });
17335
+ var zGuardIdleStateUpdateRefusal = object({
17336
+ stopReason: literal("refusal")
17337
+ });
17338
+ var zGuardIdleStateUpdateCancelled = object({
17339
+ stopReason: literal("cancelled")
17340
+ });
17341
+ var zGuardIdleStateUpdateError = zErrorStopReason.and(object({ error: zError.nullish() })).and(object({ stopReason: literal("error") }));
17342
+ var zGuardIdleStateUpdateNone = object({ stopReason: _null3().optional() });
17255
17343
  var zGuardStateUpdateRunning = zRunningStateUpdate.and(object({ state: literal("running") }));
17256
- var zGuardStateUpdateIdle = zIdleStateUpdate.and(object({ state: literal("idle") }));
17344
+ var zGuardStateUpdateIdle = zIdleStateUpdate.and(object({ usage: zUsage.nullish() })).and(object({ state: literal("idle") }));
17257
17345
  var zGuardStateUpdateRequiresAction = zRequiresActionStateUpdate.and(object({ state: literal("requires_action") }));
17258
17346
  var zGuardStateUpdateUnknown = zUnknownStateUpdate.and(object({ state: literal("unknown") }));
17259
17347
  var zGuardPlanUpdateContentItems = zPlanItems.and(object({ type: literal("items") }));
@@ -18458,16 +18546,12 @@ var zWriteTextFileRequest = object({
18458
18546
  var zReadTextFileRequest = object({
18459
18547
  sessionId: zSessionId2,
18460
18548
  path: string2(),
18461
- line: defaultOnError(int().gte(0).max(4294967295, {
18549
+ line: int().gte(0).max(4294967295, {
18462
18550
  error: "Invalid value: Expected uint32 to be <= 4294967295"
18463
- }).nullish(), () => {
18464
- return;
18465
- }),
18466
- limit: defaultOnError(int().gte(0).max(4294967295, {
18551
+ }).nullish(),
18552
+ limit: int().gte(0).max(4294967295, {
18467
18553
  error: "Invalid value: Expected uint32 to be <= 4294967295"
18468
- }).nullish(), () => {
18469
- return;
18470
- }),
18554
+ }).nullish(),
18471
18555
  _meta: defaultOnError(record(string2(), unknown()).nullish(), () => {
18472
18556
  return;
18473
18557
  })
@@ -18718,14 +18802,10 @@ var zEnvVariable2 = object({
18718
18802
  var zCreateTerminalRequest = object({
18719
18803
  sessionId: zSessionId2,
18720
18804
  command: string2(),
18721
- args: defaultOnError(vecSkipError(string2()).optional(), () => []),
18722
- env: defaultOnError(vecSkipError(zEnvVariable2).optional(), () => []),
18723
- cwd: defaultOnError(string2().nullish(), () => {
18724
- return;
18725
- }),
18726
- outputByteLimit: defaultOnError(number2().nullish(), () => {
18727
- return;
18728
- }),
18805
+ args: array(string2()).optional(),
18806
+ env: array(zEnvVariable2).optional(),
18807
+ cwd: string2().nullish(),
18808
+ outputByteLimit: number2().nullish(),
18729
18809
  _meta: defaultOnError(record(string2(), unknown()).nullish(), () => {
18730
18810
  return;
18731
18811
  })
@@ -19251,10 +19331,8 @@ var zAuthMethodTerminal2 = object({
19251
19331
  description: defaultOnError(string2().nullish(), () => {
19252
19332
  return;
19253
19333
  }),
19254
- args: defaultOnError(vecSkipError(string2()).optional(), () => []),
19255
- env: defaultOnError(record(string2(), string2()).optional(), () => {
19256
- return;
19257
- }),
19334
+ args: array(string2()).optional(),
19335
+ env: record(string2(), string2()).optional(),
19258
19336
  _meta: defaultOnError(record(string2(), unknown()).nullish(), () => {
19259
19337
  return;
19260
19338
  })
@@ -19542,7 +19620,7 @@ var zSetSessionConfigOptionResponse2 = object({
19542
19620
  return;
19543
19621
  })
19544
19622
  });
19545
- var zStopReason2 = union([
19623
+ var zStopReason = union([
19546
19624
  literal("end_turn"),
19547
19625
  literal("max_tokens"),
19548
19626
  literal("max_turn_requests"),
@@ -19567,7 +19645,7 @@ var zUsage2 = object({
19567
19645
  })
19568
19646
  });
19569
19647
  var zPromptResponse2 = object({
19570
- stopReason: zStopReason2,
19648
+ stopReason: zStopReason,
19571
19649
  usage: defaultOnError(zUsage2.nullish(), () => {
19572
19650
  return;
19573
19651
  }),
@@ -19952,17 +20030,61 @@ var zRunningStateUpdate2 = object({
19952
20030
  return;
19953
20031
  })
19954
20032
  });
19955
- var zIdleStateUpdate2 = object({
19956
- stopReason: defaultOnError(zStopReason2.nullish(), () => {
20033
+ var zErrorStopReason2 = object({
20034
+ error: defaultOnError(zError2.nullish(), () => {
19957
20035
  return;
20036
+ })
20037
+ });
20038
+ var zIdleStateUpdate2 = defaultOnErrorOptionalStringTag(preserveCustomPayload(intersection(union([
20039
+ object({
20040
+ stopReason: literal("end_turn")
20041
+ }),
20042
+ object({
20043
+ stopReason: literal("max_tokens")
20044
+ }),
20045
+ object({
20046
+ stopReason: literal("max_turn_requests")
19958
20047
  }),
20048
+ object({
20049
+ stopReason: literal("refusal")
20050
+ }),
20051
+ object({
20052
+ stopReason: literal("cancelled")
20053
+ }),
20054
+ zErrorStopReason2.and(object({
20055
+ stopReason: literal("error")
20056
+ })),
20057
+ excludeKnownTags(object({
20058
+ stopReason: string2()
20059
+ }), "stopReason", [
20060
+ "cancelled",
20061
+ "end_turn",
20062
+ "error",
20063
+ "max_tokens",
20064
+ "max_turn_requests",
20065
+ "refusal"
20066
+ ]),
20067
+ object({
20068
+ stopReason: _null3().optional()
20069
+ })
20070
+ ]), object({
19959
20071
  usage: defaultOnError(zUsage2.nullish(), () => {
19960
20072
  return;
19961
20073
  }),
19962
20074
  _meta: defaultOnError(record(string2(), unknown()).nullish(), () => {
19963
20075
  return;
20076
+ }),
20077
+ stopReason: defaultOnError(string2().nullish(), () => {
20078
+ return;
19964
20079
  })
19965
- });
20080
+ })), "stopReason", [
20081
+ "cancelled",
20082
+ "end_turn",
20083
+ "error",
20084
+ "max_tokens",
20085
+ "max_turn_requests",
20086
+ "refusal"
20087
+ ]), "stopReason");
19966
20088
  var zRequiresActionStateUpdate2 = object({
19967
20089
  _meta: defaultOnError(record(string2(), unknown()).nullish(), () => {
19968
20090
  return;
@@ -20345,16 +20467,16 @@ var zMcpServer2 = union([
20345
20467
  ]);
20346
20468
  var zNewSessionRequest2 = object({
20347
20469
  cwd: string2(),
20348
- additionalDirectories: defaultOnError(vecSkipError(string2()).optional(), () => []),
20349
- mcpServers: requiredDefaultOnError(vecSkipError(zMcpServer2), () => []),
20470
+ additionalDirectories: array(string2()).optional(),
20471
+ mcpServers: array(zMcpServer2),
20350
20472
  _meta: defaultOnError(record(string2(), unknown()).nullish(), () => {
20351
20473
  return;
20352
20474
  })
20353
20475
  });
20354
20476
  var zLoadSessionRequest = object({
20355
- mcpServers: requiredDefaultOnError(vecSkipError(zMcpServer2), () => []),
20477
+ mcpServers: array(zMcpServer2),
20356
20478
  cwd: string2(),
20357
- additionalDirectories: defaultOnError(vecSkipError(string2()).optional(), () => []),
20479
+ additionalDirectories: array(string2()).optional(),
20358
20480
  sessionId: zSessionId2,
20359
20481
  _meta: defaultOnError(record(string2(), unknown()).nullish(), () => {
20360
20482
  return;
@@ -20376,8 +20498,8 @@ var zDeleteSessionRequest2 = object({
20376
20498
  var zForkSessionRequest2 = object({
20377
20499
  sessionId: zSessionId2,
20378
20500
  cwd: string2(),
20379
- additionalDirectories: defaultOnError(vecSkipError(string2()).optional(), () => []),
20380
- mcpServers: defaultOnError(vecSkipError(zMcpServer2).optional(), () => []),
20501
+ additionalDirectories: array(string2()).optional(),
20502
+ mcpServers: array(zMcpServer2).optional(),
20381
20503
  _meta: defaultOnError(record(string2(), unknown()).nullish(), () => {
20382
20504
  return;
20383
20505
  })
@@ -20385,8 +20507,8 @@ var zForkSessionRequest2 = object({
20385
20507
  var zResumeSessionRequest2 = object({
20386
20508
  sessionId: zSessionId2,
20387
20509
  cwd: string2(),
20388
- additionalDirectories: defaultOnError(vecSkipError(string2()).optional(), () => []),
20389
- mcpServers: defaultOnError(vecSkipError(zMcpServer2).optional(), () => []),
20510
+ additionalDirectories: array(string2()).optional(),
20511
+ mcpServers: array(zMcpServer2).optional(),
20390
20512
  _meta: defaultOnError(record(string2(), unknown()).nullish(), () => {
20391
20513
  return;
20392
20514
  })
@@ -20767,7 +20889,7 @@ var zDidChangeDocumentNotification2 = object({
20767
20889
  sessionId: zSessionId2,
20768
20890
  uri: string2(),
20769
20891
  version: number2(),
20770
- contentChanges: requiredDefaultOnError(vecSkipError(zTextDocumentContentChangeEvent2), () => []),
20892
+ contentChanges: array(zTextDocumentContentChangeEvent2),
20771
20893
  _meta: defaultOnError(record(string2(), unknown()).nullish(), () => {
20772
20894
  return;
20773
20895
  })
@@ -22046,7 +22168,7 @@ var package_default = {
22046
22168
  publishConfig: {
22047
22169
  access: "public"
22048
22170
  },
22049
- version: "0.7.7",
22171
+ version: "0.7.8",
22050
22172
  description: "Native ACP v2 agent for the OpenAI Codex app-server",
22051
22173
  packageManager: "bun@1.4.0",
22052
22174
  engines: {
@@ -22112,7 +22234,7 @@ var package_default = {
22112
22234
  vitest: "^4.1.11"
22113
22235
  },
22114
22236
  dependencies: {
22115
- "@agentclientprotocol/sdk": "^1.7.0",
22237
+ "@agentclientprotocol/sdk": "^1.8.0",
22116
22238
  diff: "^9.0.0",
22117
22239
  open: "^11.0.2",
22118
22240
  "vscode-jsonrpc": "^9.0.2"
@@ -22263,7 +22385,7 @@ class ClientTools {
22263
22385
 
22264
22386
  // src/agent/turnErrors.ts
22265
22387
  function classifyTurnError(info) {
22266
- const failure2 = (category, retryable = false, stopReason = "_error") => ({ category, retryable, stopReason });
22388
+ const failure2 = (category, retryable = false, stopReason = "error") => ({ category, retryable, stopReason });
22267
22389
  if (info === null)
22268
22390
  return failure2("unknown");
22269
22391
  if (typeof info === "object") {
@@ -26581,13 +26703,27 @@ class ClientSession {
26581
26703
  this.terminalAttempted = true;
26582
26704
  this.turnActive = false;
26583
26705
  this.waiting = 0;
26584
- await this.update(this.correlated({
26585
- sessionUpdate: "state_update",
26586
- state: "idle",
26587
- stopReason,
26706
+ const details = {
26588
26707
  ...extra?.usage === undefined ? {} : { usage: extra.usage },
26589
26708
  ...extra?._meta === undefined ? {} : { _meta: extra._meta }
26590
- }));
26709
+ };
26710
+ const idle = (() => {
26711
+ switch (stopReason) {
26712
+ case "error":
26713
+ return { stopReason, ...details, ...extra?.error === undefined ? {} : { error: extra.error } };
26714
+ case "end_turn":
26715
+ return { stopReason, ...details };
26716
+ case "cancelled":
26717
+ return { stopReason, ...details };
26718
+ case "max_tokens":
26719
+ return { stopReason, ...details };
26720
+ case "max_turn_requests":
26721
+ return { stopReason, ...details };
26722
+ case "refusal":
26723
+ return { stopReason, ...details };
26724
+ }
26725
+ })();
26726
+ await this.update(this.correlated({ sessionUpdate: "state_update", state: "idle", ...idle }));
26591
26727
  }
26592
26728
  correlated(update) {
26593
26729
  if (this.messageId === undefined)
@@ -28457,6 +28593,7 @@ ${error40.additionalDetails}` : error40.message;
28457
28593
  _meta: { codex: { error: { ...classification, message: error40.message, codexErrorInfo: error40.codexErrorInfo, additionalDetails: error40.additionalDetails } } }
28458
28594
  });
28459
28595
  await this.reportIdle(runtime, turn, stopReason, {
28596
+ ...stopReason === "error" ? { error: { code: -32603, message, data: { codex: { ...classification, codexErrorInfo: error40.codexErrorInfo } } } } : {},
28460
28597
  usage: usageOf(runtime.session),
28461
28598
  _meta: { codex: { error: { ...classification, message: error40.message, codexErrorInfo: error40.codexErrorInfo } } }
28462
28599
  });
package/package.json CHANGED
@@ -3,7 +3,7 @@
3
3
  "publishConfig": {
4
4
  "access": "public"
5
5
  },
6
- "version": "0.7.7",
6
+ "version": "0.7.8",
7
7
  "description": "Native ACP v2 agent for the OpenAI Codex app-server",
8
8
  "packageManager": "bun@1.4.0",
9
9
  "engines": {
@@ -69,7 +69,7 @@
69
69
  "vitest": "^4.1.11"
70
70
  },
71
71
  "dependencies": {
72
- "@agentclientprotocol/sdk": "^1.7.0",
72
+ "@agentclientprotocol/sdk": "^1.8.0",
73
73
  "diff": "^9.0.0",
74
74
  "open": "^11.0.2",
75
75
  "vscode-jsonrpc": "^9.0.2"