@tickernelz/paperclip-pro-adapter-utils 2026.1016.0 → 2026.1016.2

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 (54) hide show
  1. package/node_modules/@agentclientprotocol/sdk/dist/acp.d.ts +8 -191
  2. package/node_modules/@agentclientprotocol/sdk/dist/acp.js +10 -165
  3. package/node_modules/@agentclientprotocol/sdk/dist/acp.js.map +1 -1
  4. package/node_modules/@agentclientprotocol/sdk/dist/acp.test.js +132 -52
  5. package/node_modules/@agentclientprotocol/sdk/dist/acp.test.js.map +1 -1
  6. package/node_modules/@agentclientprotocol/sdk/dist/examples/dual-version-agent.js +29 -21
  7. package/node_modules/@agentclientprotocol/sdk/dist/examples/dual-version-agent.js.map +1 -1
  8. package/node_modules/@agentclientprotocol/sdk/dist/jsonrpc.d.ts +1 -0
  9. package/node_modules/@agentclientprotocol/sdk/dist/jsonrpc.js +6 -0
  10. package/node_modules/@agentclientprotocol/sdk/dist/jsonrpc.js.map +1 -1
  11. package/node_modules/@agentclientprotocol/sdk/dist/nes/acp.d.ts +563 -0
  12. package/node_modules/@agentclientprotocol/sdk/dist/nes/acp.js +106 -0
  13. package/node_modules/@agentclientprotocol/sdk/dist/nes/acp.js.map +1 -0
  14. package/node_modules/@agentclientprotocol/sdk/dist/nes/schema/types.gen.d.ts +1261 -0
  15. package/node_modules/@agentclientprotocol/sdk/dist/nes/schema/types.gen.js +4 -0
  16. package/node_modules/@agentclientprotocol/sdk/dist/nes/schema/types.gen.js.map +1 -0
  17. package/node_modules/@agentclientprotocol/sdk/dist/nes/schema/zod.gen.d.ts +962 -0
  18. package/node_modules/@agentclientprotocol/sdk/dist/nes/schema/zod.gen.js +526 -0
  19. package/node_modules/@agentclientprotocol/sdk/dist/nes/schema/zod.gen.js.map +1 -0
  20. package/node_modules/@agentclientprotocol/sdk/dist/protocol-router.d.ts +5 -6
  21. package/node_modules/@agentclientprotocol/sdk/dist/protocol-router.js +13 -25
  22. package/node_modules/@agentclientprotocol/sdk/dist/protocol-router.js.map +1 -1
  23. package/node_modules/@agentclientprotocol/sdk/dist/protocol-router.test.js +6 -6
  24. package/node_modules/@agentclientprotocol/sdk/dist/protocol-router.test.js.map +1 -1
  25. package/node_modules/@agentclientprotocol/sdk/dist/protocol.js +0 -9
  26. package/node_modules/@agentclientprotocol/sdk/dist/protocol.js.map +1 -1
  27. package/node_modules/@agentclientprotocol/sdk/dist/protocol.test.js +0 -10
  28. package/node_modules/@agentclientprotocol/sdk/dist/protocol.test.js.map +1 -1
  29. package/node_modules/@agentclientprotocol/sdk/dist/schema/index.d.ts +1 -11
  30. package/node_modules/@agentclientprotocol/sdk/dist/schema/index.js +0 -10
  31. package/node_modules/@agentclientprotocol/sdk/dist/schema/index.js.map +1 -1
  32. package/node_modules/@agentclientprotocol/sdk/dist/schema/types.gen.d.ts +1675 -2753
  33. package/node_modules/@agentclientprotocol/sdk/dist/schema/zod.gen.d.ts +863 -1434
  34. package/node_modules/@agentclientprotocol/sdk/dist/schema/zod.gen.js +91 -534
  35. package/node_modules/@agentclientprotocol/sdk/dist/schema/zod.gen.js.map +1 -1
  36. package/node_modules/@agentclientprotocol/sdk/dist/v2/acp.d.ts +42 -48
  37. package/node_modules/@agentclientprotocol/sdk/dist/v2/acp.js +86 -139
  38. package/node_modules/@agentclientprotocol/sdk/dist/v2/acp.js.map +1 -1
  39. package/node_modules/@agentclientprotocol/sdk/dist/v2/acp.test.js +46 -17
  40. package/node_modules/@agentclientprotocol/sdk/dist/v2/acp.test.js.map +1 -1
  41. package/node_modules/@agentclientprotocol/sdk/dist/v2/schema/guards.gen.d.ts +55 -57
  42. package/node_modules/@agentclientprotocol/sdk/dist/v2/schema/guards.gen.js +0 -59
  43. package/node_modules/@agentclientprotocol/sdk/dist/v2/schema/guards.gen.js.map +1 -1
  44. package/node_modules/@agentclientprotocol/sdk/dist/v2/schema/index.d.ts +1 -11
  45. package/node_modules/@agentclientprotocol/sdk/dist/v2/schema/index.js +0 -10
  46. package/node_modules/@agentclientprotocol/sdk/dist/v2/schema/index.js.map +1 -1
  47. package/node_modules/@agentclientprotocol/sdk/dist/v2/schema/types.gen.d.ts +1870 -2874
  48. package/node_modules/@agentclientprotocol/sdk/dist/v2/schema/zod.gen.d.ts +3373 -2844
  49. package/node_modules/@agentclientprotocol/sdk/dist/v2/schema/zod.gen.js +191 -563
  50. package/node_modules/@agentclientprotocol/sdk/dist/v2/schema/zod.gen.js.map +1 -1
  51. package/node_modules/@agentclientprotocol/sdk/package.json +7 -1
  52. package/node_modules/@agentclientprotocol/sdk/schema/schema.json +1541 -3196
  53. package/node_modules/@agentclientprotocol/sdk/schema/v2/schema.unstable.json +875 -2664
  54. package/package.json +2 -2
@@ -916,8 +916,10 @@ describe("experimental v2 app API", () => {
916
916
  await connection.closed;
917
917
  }
918
918
  });
919
- it("does not complete a prompt from an idle update received before it", async () => {
919
+ it("reports idle independently of pending prompt insertion", async () => {
920
920
  let updateClient;
921
+ const promptReceived = Promise.withResolvers();
922
+ const promptResponse = Promise.withResolvers();
921
923
  const agentApp = agent()
922
924
  .onRequest(methods.agent.initialize, ({ params, client: agentClient }) => {
923
925
  updateClient = agentClient;
@@ -930,7 +932,8 @@ describe("experimental v2 app API", () => {
930
932
  .onRequest(methods.agent.session.new, () => ({ sessionId: "session-1" }))
931
933
  .onRequest(methods.agent.session.prompt, ({ client: agentClient }) => {
932
934
  updateClient = agentClient;
933
- return { messageId: "user-message-1" };
935
+ promptReceived.resolve();
936
+ return promptResponse.promise;
934
937
  });
935
938
  await client().connectWith(agentApp, async (agentClient) => {
936
939
  await expect(agentClient.request(methods.agent.initialize, {
@@ -944,9 +947,16 @@ describe("experimental v2 app API", () => {
944
947
  sessionId: session.sessionId,
945
948
  update: { sessionUpdate: "state_update", state: "idle" },
946
949
  });
947
- await expect(session.prompt("Hello")).resolves.toEqual({
948
- messageId: "user-message-1",
950
+ await expect(session.nextUpdate()).resolves.toMatchObject({
951
+ kind: "stop",
952
+ update: { sessionUpdate: "state_update", state: "idle" },
949
953
  });
954
+ let inserted = false;
955
+ const prompt = session.prompt("Hello").then((response) => {
956
+ inserted = true;
957
+ return response;
958
+ });
959
+ await promptReceived.promise;
950
960
  expect(updateClient).toBeDefined();
951
961
  const updates = [
952
962
  {
@@ -963,10 +973,6 @@ describe("experimental v2 app API", () => {
963
973
  update,
964
974
  });
965
975
  }
966
- await expect(session.nextUpdate()).resolves.toMatchObject({
967
- kind: "session_update",
968
- update: { sessionUpdate: "state_update", state: "idle" },
969
- });
970
976
  await expect(session.nextUpdate()).resolves.toMatchObject({
971
977
  kind: "session_update",
972
978
  update: { sessionUpdate: "agent_message_chunk" },
@@ -980,13 +986,19 @@ describe("experimental v2 app API", () => {
980
986
  update: { sessionUpdate: "state_update", state: "idle" },
981
987
  stopReason: undefined,
982
988
  });
989
+ expect(inserted).toBe(false);
990
+ promptResponse.resolve({ messageId: "user-message-1" });
991
+ await expect(prompt).resolves.toEqual({
992
+ messageId: "user-message-1",
993
+ });
983
994
  }
984
995
  finally {
996
+ promptResponse.resolve({ messageId: "user-message-1" });
985
997
  session.dispose();
986
998
  }
987
999
  });
988
1000
  });
989
- it("keeps overlapping prompt activity isolated when one request fails", async () => {
1001
+ it("keeps session reads independent of overlapping prompt responses", async () => {
990
1002
  let updateClient;
991
1003
  const firstPrompt = Promise.withResolvers();
992
1004
  const secondPrompt = Promise.withResolvers();
@@ -1017,13 +1029,28 @@ describe("experimental v2 app API", () => {
1017
1029
  const session = await agentClient.buildSession("/workspace").start();
1018
1030
  try {
1019
1031
  const first = session.prompt("First");
1020
- const firstText = session.readText();
1032
+ const text = session.readTextUntilIdle();
1021
1033
  const second = session.prompt("Second");
1022
1034
  await bothPromptsReceived.promise;
1023
- await expect(firstText).rejects.toThrow("cannot attribute updates across overlapping prompts");
1024
- await expect(session.readText()).rejects.toThrow("cannot attribute updates across overlapping prompts");
1025
1035
  firstPrompt.reject(new Error("first prompt rejected"));
1026
1036
  await expect(first).rejects.toThrow("Internal error");
1037
+ await updateClient.notify(methods.client.session.update, {
1038
+ sessionId: session.sessionId,
1039
+ update: {
1040
+ sessionUpdate: "agent_message_chunk",
1041
+ messageId: "message-1",
1042
+ content: { type: "text", text: "session output" },
1043
+ },
1044
+ });
1045
+ await updateClient.notify(methods.client.session.update, {
1046
+ sessionId: session.sessionId,
1047
+ update: {
1048
+ sessionUpdate: "state_update",
1049
+ state: "idle",
1050
+ stopReason: "end_turn",
1051
+ },
1052
+ });
1053
+ await expect(text).resolves.toBe("session output");
1027
1054
  secondPrompt.resolve({ messageId: "user-message-2" });
1028
1055
  await expect(second).resolves.toEqual({
1029
1056
  messageId: "user-message-2",
@@ -1036,13 +1063,14 @@ describe("experimental v2 app API", () => {
1036
1063
  stopReason: "end_turn",
1037
1064
  },
1038
1065
  });
1039
- await expect(session.nextUpdate()).rejects.toThrow("Internal error");
1040
1066
  await expect(session.nextUpdate()).resolves.toMatchObject({
1041
1067
  kind: "stop",
1042
1068
  stopReason: "end_turn",
1043
1069
  });
1044
1070
  }
1045
1071
  finally {
1072
+ firstPrompt.resolve({ messageId: "user-message-1" });
1073
+ secondPrompt.resolve({ messageId: "user-message-2" });
1046
1074
  session.dispose();
1047
1075
  }
1048
1076
  });
@@ -1070,7 +1098,7 @@ describe("experimental v2 app API", () => {
1070
1098
  const session = await agentClient.buildSession("/workspace").start();
1071
1099
  try {
1072
1100
  await session.prompt("Hello");
1073
- const text = session.readText();
1101
+ const text = session.readTextUntilIdle();
1074
1102
  const updates = [
1075
1103
  {
1076
1104
  sessionUpdate: "agent_message",
@@ -1116,7 +1144,7 @@ describe("experimental v2 app API", () => {
1116
1144
  }
1117
1145
  });
1118
1146
  });
1119
- it("starts text reads at the latest prompt boundary", async () => {
1147
+ it("preserves queued session output across prompt submissions", async () => {
1120
1148
  let updateClient;
1121
1149
  let promptCount = 0;
1122
1150
  const agentApp = agent()
@@ -1163,7 +1191,8 @@ describe("experimental v2 app API", () => {
1163
1191
  });
1164
1192
  }
1165
1193
  await session.prompt("Second");
1166
- const text = session.readText();
1194
+ await expect(session.readTextUntilIdle()).resolves.toBe("first");
1195
+ const text = session.readTextUntilIdle();
1167
1196
  for (const update of [
1168
1197
  {
1169
1198
  sessionUpdate: "agent_message",
@@ -1181,7 +1210,7 @@ describe("experimental v2 app API", () => {
1181
1210
  update,
1182
1211
  });
1183
1212
  }
1184
- await expect(text).resolves.toBe("second");
1213
+ await expect(text).resolves.toBe("backgroundsecond");
1185
1214
  }
1186
1215
  finally {
1187
1216
  session.dispose();
@@ -1 +1 @@
1
- {"version":3,"file":"acp.test.js","sourceRoot":"","sources":["../../src/v2/acp.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"acp.test.js","sourceRoot":"","sources":["../../src/v2/acp.test.ts"],"names":[],"mappings":"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"}
@@ -227,6 +227,18 @@ export declare const DiffChange: {
227
227
  * The agent sends this to the client to request information from the user,
228
228
  * either via a form or by directing them to a URL.
229
229
  * Elicitations are tied to a session (optionally a tool call) or a request.
230
+ *
231
+ * A session-scoped request follows the aggregate foreground-state contract:
232
+ * agents SHOULD report `requires_action` when the whole foreground workflow is
233
+ * blocked on user action. Once reported, they MUST report `running` when progress
234
+ * resumes, or `idle` if work ends without resuming. Independent background requests
235
+ * and request-scoped elicitations do not themselves change session state.
236
+ * Accepting a URL does not mean the external interaction completed.
237
+ *
238
+ * Agents SHOULD cancel pending elicitations no longer needed by cancelled work.
239
+ * The request's scope alone does not establish that dependency.
240
+ *
241
+ * See protocol docs: [Elicitation](https://agentclientprotocol.com/protocol/v2/draft/elicitation)
230
242
  */
231
243
  export type CreateElicitationRequest = types.CreateElicitationRequest;
232
244
  /**
@@ -498,59 +510,6 @@ export declare const AvailableCommandInput: {
498
510
  [key: string]: unknown;
499
511
  }>;
500
512
  };
501
- /**
502
- * A suggestion returned by the agent.
503
- */
504
- export type NesSuggestion = types.NesSuggestion;
505
- /**
506
- * Validated type guards for `NesSuggestion`'s known variants.
507
- *
508
- * Each guard validates the variant's payload, not just its discriminant
509
- * tag: a malformed known variant (right tag, wrong payload) matches no
510
- * guard — mirroring wire validation, which rejects such values instead
511
- * of classifying them as custom.
512
- *
513
- * Guards check the value as given: fields that wire deserialization
514
- * salvages to a default (e.g. a malformed `_meta`) are only normalized
515
- * by parsing, and for ambiguous raw shapes (a known tag combined with
516
- * another variant's payload) guards are conservative where wire parsing
517
- * may still accept the value — narrow wire-parsed values when exact
518
- * parity matters.
519
- */
520
- export declare const NesSuggestion: {
521
- /** Narrow to the `edit` variant, validating its payload. */
522
- readonly isEdit: (value: types.NesSuggestion) => value is types.NesEditSuggestion & {
523
- kind: "edit";
524
- };
525
- /** Narrow to the `jump` variant, validating its payload. */
526
- readonly isJump: (value: types.NesSuggestion) => value is types.NesJumpSuggestion & {
527
- kind: "jump";
528
- };
529
- /** Narrow to the `rename` variant, validating its payload. */
530
- readonly isRename: (value: types.NesSuggestion) => value is types.NesRenameSuggestion & {
531
- kind: "rename";
532
- };
533
- /** Narrow to the `searchAndReplace` variant, validating its payload. */
534
- readonly isSearchAndReplace: (value: types.NesSuggestion) => value is types.NesSearchAndReplaceSuggestion & {
535
- kind: "searchAndReplace";
536
- };
537
- /**
538
- * Narrow to a custom or future variant: the `kind` tag matches no known variant, with a valid payload.
539
- *
540
- * TypeScript keeps the known variants in the narrowed union (they are
541
- * structural subtypes of the catch-all), so read vendor payload keys
542
- * via a widening cast: `(value as Record<string, unknown>).someKey`.
543
- */
544
- readonly isCustom: (value: types.NesSuggestion) => value is ({
545
- kind: `_${string}`;
546
- [key: string]: unknown;
547
- } | types.UnknownVariant<{
548
- kind: string;
549
- [key: string]: unknown;
550
- }>) & {
551
- suggestionId: types.NesSuggestionId;
552
- };
553
- };
554
513
  /**
555
514
  * Different types of updates that can be sent while a session exists.
556
515
  *
@@ -683,11 +642,14 @@ export declare const SessionUpdate: {
683
642
  }>;
684
643
  };
685
644
  /**
686
- * The agent is ready to process a new prompt.
645
+ * No foreground work is active. Background activity may continue.
687
646
  *
688
647
  * Agents SHOULD include a `stopReason` when the idle transition ends foreground
689
- * work. An omitted, `null`, or malformed `stopReason` means the agent is not
648
+ * work. An idle update that does not end foreground work need not include one.
649
+ * Receivers treat an omitted, `null`, or malformed `stopReason` as the agent not
690
650
  * reporting one.
651
+ * Repeated or resume snapshots may carry the last stop reason for context.
652
+ * They MUST NOT be counted as new completions, cancellations, or additional usage.
691
653
  */
692
654
  export type IdleStateUpdate = types.IdleStateUpdate;
693
655
  /**
@@ -750,10 +712,46 @@ export declare const IdleStateUpdate: {
750
712
  }>) & Pick<types.IdleStateUpdate, "usage" | "_meta" | "stopReason">;
751
713
  };
752
714
  /**
753
- * The state of the agent's foreground work has changed.
715
+ * A snapshot of the session's aggregate foreground activity.
716
+ *
717
+ * Foreground work is the agent's active response or workflow in the session,
718
+ * including model processing, tool execution, and waiting for user action needed
719
+ * to continue that work. It can start with a prompt or be agent-initiated, for
720
+ * example to pursue an ongoing goal or follow up on a completed background task.
721
+ * Either way, the agent MUST report `running` when foreground work starts,
722
+ * or `requires_action` if it starts blocked on user action, and `idle` when it
723
+ * ends. The agent SHOULD include a stop reason on that idle update.
724
+ * Agent-initiated work does not require a prompt request or a synthetic user
725
+ * message.
726
+ *
727
+ * `running` may precede user-message insertion, for example during a foreground
728
+ * hook. It is not acknowledgment of insertion, and rejecting a prompt does not
729
+ * itself end foreground work.
754
730
  *
755
731
  * Background activity can continue and emit other `session/update` notifications
756
- * while `idle`. Those notifications do not change this state.
732
+ * while `idle`. Those notifications, including a detached task's progress or
733
+ * completion, do not by themselves change this state. A permission request only
734
+ * warrants `requires_action` when foreground work is blocked on user action.
735
+ *
736
+ * The agent SHOULD report `requires_action` when the foreground workflow as a
737
+ * whole cannot progress without user action, including permissions or elicitations.
738
+ * Once reported, it MUST report `running` when progress resumes, or `idle` when
739
+ * work ends without resuming.
740
+ * If other foreground work can progress, the state remains `running`. Resolving
741
+ * one of several requests does not itself change the state. Agents SHOULD ignore
742
+ * responses for work that has already ended rather than use them to resume it.
743
+ *
744
+ * A new session defaults to idle until a state update reports otherwise.
745
+ * Resume MUST send a current-state snapshot after any replay and before its
746
+ * response. The snapshot reports foreground state after resuming.
747
+ * The response alone does not imply idle.
748
+ * Repeated snapshots are idempotent, not additional work, completions, or usage.
749
+ * A repeated state may carry updated information without another state transition.
750
+ * The agent MUST report `idle` when no foreground activity remains. Completing
751
+ * an individual activity while other foreground work continues does not require
752
+ * an idle boundary. Local commands use the same lifecycle even without model work.
753
+ *
754
+ * See protocol docs: [Session States](https://agentclientprotocol.com/protocol/v2/draft/prompt-lifecycle#session-states)
757
755
  */
758
756
  export type StateUpdate = types.StateUpdate;
759
757
  /**
@@ -74,15 +74,6 @@ const zGuardSessionConfigOptionCustom = z.object({
74
74
  name: z.string(),
75
75
  });
76
76
  const zGuardAvailableCommandInputText = validate.zTextCommandInput.and(z.object({ type: z.literal("text") }));
77
- const zGuardNesSuggestionEdit = validate.zNesEditSuggestion
78
- .and(z.object({ cursorPosition: validate.zPosition.nullish() }))
79
- .and(z.object({ kind: z.literal("edit") }));
80
- const zGuardNesSuggestionJump = validate.zNesJumpSuggestion.and(z.object({ kind: z.literal("jump") }));
81
- const zGuardNesSuggestionRename = validate.zNesRenameSuggestion.and(z.object({ kind: z.literal("rename") }));
82
- const zGuardNesSuggestionSearchAndReplace = validate.zNesSearchAndReplaceSuggestion.and(z.object({ kind: z.literal("searchAndReplace") }));
83
- const zGuardNesSuggestionCustom = z.object({
84
- suggestionId: validate.zNesSuggestionId,
85
- });
86
77
  const zGuardSessionUpdateUserMessageChunk = validate.zContentChunk.and(z.object({ sessionUpdate: z.literal("user_message_chunk") }));
87
78
  const zGuardSessionUpdateUserMessage = validate.zUserMessage.and(z.object({ sessionUpdate: z.literal("user_message") }));
88
79
  const zGuardSessionUpdateAgentMessageChunk = validate.zContentChunk.and(z.object({ sessionUpdate: z.literal("agent_message_chunk") }));
@@ -632,56 +623,6 @@ export const AvailableCommandInput = {
632
623
  return typeof tag === "string" && !["text"].includes(tag);
633
624
  },
634
625
  };
635
- /**
636
- * Validated type guards for `NesSuggestion`'s known variants.
637
- *
638
- * Each guard validates the variant's payload, not just its discriminant
639
- * tag: a malformed known variant (right tag, wrong payload) matches no
640
- * guard — mirroring wire validation, which rejects such values instead
641
- * of classifying them as custom.
642
- *
643
- * Guards check the value as given: fields that wire deserialization
644
- * salvages to a default (e.g. a malformed `_meta`) are only normalized
645
- * by parsing, and for ambiguous raw shapes (a known tag combined with
646
- * another variant's payload) guards are conservative where wire parsing
647
- * may still accept the value — narrow wire-parsed values when exact
648
- * parity matters.
649
- */
650
- export const NesSuggestion = {
651
- /** Narrow to the `edit` variant, validating its payload. */
652
- isEdit(value) {
653
- return (tagOf(value, "kind") === "edit" &&
654
- zGuardNesSuggestionEdit.safeParse(value).success);
655
- },
656
- /** Narrow to the `jump` variant, validating its payload. */
657
- isJump(value) {
658
- return (tagOf(value, "kind") === "jump" &&
659
- zGuardNesSuggestionJump.safeParse(value).success);
660
- },
661
- /** Narrow to the `rename` variant, validating its payload. */
662
- isRename(value) {
663
- return (tagOf(value, "kind") === "rename" &&
664
- zGuardNesSuggestionRename.safeParse(value).success);
665
- },
666
- /** Narrow to the `searchAndReplace` variant, validating its payload. */
667
- isSearchAndReplace(value) {
668
- return (tagOf(value, "kind") === "searchAndReplace" &&
669
- zGuardNesSuggestionSearchAndReplace.safeParse(value).success);
670
- },
671
- /**
672
- * Narrow to a custom or future variant: the `kind` tag matches no known variant, with a valid payload.
673
- *
674
- * TypeScript keeps the known variants in the narrowed union (they are
675
- * structural subtypes of the catch-all), so read vendor payload keys
676
- * via a widening cast: `(value as Record<string, unknown>).someKey`.
677
- */
678
- isCustom(value) {
679
- const tag = tagOf(value, "kind");
680
- return (typeof tag === "string" &&
681
- !["edit", "jump", "rename", "searchAndReplace"].includes(tag) &&
682
- zGuardNesSuggestionCustom.safeParse(value).success);
683
- },
684
- };
685
626
  /**
686
627
  * Validated type guards for `SessionUpdate`'s known variants.
687
628
  *