@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.
- package/node_modules/@agentclientprotocol/sdk/dist/acp.d.ts +8 -191
- package/node_modules/@agentclientprotocol/sdk/dist/acp.js +10 -165
- package/node_modules/@agentclientprotocol/sdk/dist/acp.js.map +1 -1
- package/node_modules/@agentclientprotocol/sdk/dist/acp.test.js +132 -52
- package/node_modules/@agentclientprotocol/sdk/dist/acp.test.js.map +1 -1
- package/node_modules/@agentclientprotocol/sdk/dist/examples/dual-version-agent.js +29 -21
- package/node_modules/@agentclientprotocol/sdk/dist/examples/dual-version-agent.js.map +1 -1
- package/node_modules/@agentclientprotocol/sdk/dist/jsonrpc.d.ts +1 -0
- package/node_modules/@agentclientprotocol/sdk/dist/jsonrpc.js +6 -0
- package/node_modules/@agentclientprotocol/sdk/dist/jsonrpc.js.map +1 -1
- package/node_modules/@agentclientprotocol/sdk/dist/nes/acp.d.ts +563 -0
- package/node_modules/@agentclientprotocol/sdk/dist/nes/acp.js +106 -0
- package/node_modules/@agentclientprotocol/sdk/dist/nes/acp.js.map +1 -0
- package/node_modules/@agentclientprotocol/sdk/dist/nes/schema/types.gen.d.ts +1261 -0
- package/node_modules/@agentclientprotocol/sdk/dist/nes/schema/types.gen.js +4 -0
- package/node_modules/@agentclientprotocol/sdk/dist/nes/schema/types.gen.js.map +1 -0
- package/node_modules/@agentclientprotocol/sdk/dist/nes/schema/zod.gen.d.ts +962 -0
- package/node_modules/@agentclientprotocol/sdk/dist/nes/schema/zod.gen.js +526 -0
- package/node_modules/@agentclientprotocol/sdk/dist/nes/schema/zod.gen.js.map +1 -0
- package/node_modules/@agentclientprotocol/sdk/dist/protocol-router.d.ts +5 -6
- package/node_modules/@agentclientprotocol/sdk/dist/protocol-router.js +13 -25
- package/node_modules/@agentclientprotocol/sdk/dist/protocol-router.js.map +1 -1
- package/node_modules/@agentclientprotocol/sdk/dist/protocol-router.test.js +6 -6
- package/node_modules/@agentclientprotocol/sdk/dist/protocol-router.test.js.map +1 -1
- package/node_modules/@agentclientprotocol/sdk/dist/protocol.js +0 -9
- package/node_modules/@agentclientprotocol/sdk/dist/protocol.js.map +1 -1
- package/node_modules/@agentclientprotocol/sdk/dist/protocol.test.js +0 -10
- package/node_modules/@agentclientprotocol/sdk/dist/protocol.test.js.map +1 -1
- package/node_modules/@agentclientprotocol/sdk/dist/schema/index.d.ts +1 -11
- package/node_modules/@agentclientprotocol/sdk/dist/schema/index.js +0 -10
- package/node_modules/@agentclientprotocol/sdk/dist/schema/index.js.map +1 -1
- package/node_modules/@agentclientprotocol/sdk/dist/schema/types.gen.d.ts +1675 -2753
- package/node_modules/@agentclientprotocol/sdk/dist/schema/zod.gen.d.ts +863 -1434
- package/node_modules/@agentclientprotocol/sdk/dist/schema/zod.gen.js +91 -534
- package/node_modules/@agentclientprotocol/sdk/dist/schema/zod.gen.js.map +1 -1
- package/node_modules/@agentclientprotocol/sdk/dist/v2/acp.d.ts +42 -48
- package/node_modules/@agentclientprotocol/sdk/dist/v2/acp.js +86 -139
- package/node_modules/@agentclientprotocol/sdk/dist/v2/acp.js.map +1 -1
- package/node_modules/@agentclientprotocol/sdk/dist/v2/acp.test.js +46 -17
- package/node_modules/@agentclientprotocol/sdk/dist/v2/acp.test.js.map +1 -1
- package/node_modules/@agentclientprotocol/sdk/dist/v2/schema/guards.gen.d.ts +55 -57
- package/node_modules/@agentclientprotocol/sdk/dist/v2/schema/guards.gen.js +0 -59
- package/node_modules/@agentclientprotocol/sdk/dist/v2/schema/guards.gen.js.map +1 -1
- package/node_modules/@agentclientprotocol/sdk/dist/v2/schema/index.d.ts +1 -11
- package/node_modules/@agentclientprotocol/sdk/dist/v2/schema/index.js +0 -10
- package/node_modules/@agentclientprotocol/sdk/dist/v2/schema/index.js.map +1 -1
- package/node_modules/@agentclientprotocol/sdk/dist/v2/schema/types.gen.d.ts +1870 -2874
- package/node_modules/@agentclientprotocol/sdk/dist/v2/schema/zod.gen.d.ts +3373 -2844
- package/node_modules/@agentclientprotocol/sdk/dist/v2/schema/zod.gen.js +191 -563
- package/node_modules/@agentclientprotocol/sdk/dist/v2/schema/zod.gen.js.map +1 -1
- package/node_modules/@agentclientprotocol/sdk/package.json +7 -1
- package/node_modules/@agentclientprotocol/sdk/schema/schema.json +1541 -3196
- package/node_modules/@agentclientprotocol/sdk/schema/v2/schema.unstable.json +875 -2664
- 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("
|
|
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
|
-
|
|
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.
|
|
948
|
-
|
|
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
|
|
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
|
|
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.
|
|
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("
|
|
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
|
-
|
|
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("
|
|
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
|
-
*
|
|
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
|
|
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
|
-
*
|
|
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
|
|
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
|
*
|