@getuserfeedback/protocol 3.0.6 → 3.0.7
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/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/preview-connection.d.ts +1 -0
- package/dist/preview-connection.d.ts.map +1 -1
- package/dist/preview-connection.js +1 -0
- package/dist/preview-pairing-transport.d.ts +44 -0
- package/dist/preview-pairing-transport.d.ts.map +1 -0
- package/dist/preview-pairing-transport.js +39 -0
- package/package.json +1 -1
- package/src/index.ts +9 -0
- package/src/preview-connection.test.ts +18 -0
- package/src/preview-connection.ts +1 -0
- package/src/preview-pairing-transport.test.ts +65 -0
- package/src/preview-pairing-transport.ts +57 -0
package/dist/index.d.ts
CHANGED
|
@@ -9,6 +9,7 @@ export { type ClaimPendingFlowAssignmentsRequest, type ClaimPendingFlowAssignmen
|
|
|
9
9
|
export { type FlowDisplaySyncRequest, type FlowDisplaySyncResponse, flowDisplaySyncRequestSchema, flowDisplaySyncResponseSchema, type RuntimeDisplayAttentionPolicy, type RuntimeDisplayBroadcastOpportunity, type RuntimeDisplayBroadcasts, type RuntimeDisplayEligibility, type RuntimeDisplayTrigger, runtimeDisplayAttentionPolicySchema, runtimeDisplayBroadcastOpportunitySchema, runtimeDisplayBroadcastsSchema, runtimeDisplayEligibilitySchema, runtimeDisplayTriggerSchema, } from "./flow-display.js";
|
|
10
10
|
export { buildIdentityTypeGuidanceMessage, getIdentityTypeSuggestion, IDENTITY_TYPE_VALUES, type IdentityTypeValue, isIdentityTypeValue, type StandardIdentityTypeValue, } from "./identity-type.js";
|
|
11
11
|
export { type PreviewConnectionPairRequest, type PreviewConnectionPairResponse, previewConnectionPairRequestSchema, previewConnectionPairResponseSchema, } from "./preview-connection.js";
|
|
12
|
+
export { PREVIEW_PAIRING_TRANSPORT_SOURCE, type PreviewPairingHostAck, type PreviewPairingHostRequest, type PreviewPairingHostResult, previewPairingHostAckSchema, previewPairingHostRequestSchema, previewPairingHostResultSchema, } from "./preview-pairing-transport.js";
|
|
12
13
|
export { isPublicGrantScope, type PublicGrantScope, publicGrantScopeIdSchema, } from "./public-grant-scope.js";
|
|
13
14
|
export { type RuntimeEndpoints, resolveApiBaseUrl, resolveCoreUrl, resolveRealtimeUrl, resolveTrpcBaseUrl, runtimeEndpointsSchema, } from "./runtime-endpoints.js";
|
|
14
15
|
export { getScopeMeta, isScope, listScopes, SCOPE_IDS, type Scope, type ScopeMeta, scopeIdSchema, } from "./scopes.js";
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -8,6 +8,7 @@ export { claimPendingFlowAssignmentsRequestSchema, claimPendingFlowAssignmentsRe
|
|
|
8
8
|
export { flowDisplaySyncRequestSchema, flowDisplaySyncResponseSchema, runtimeDisplayAttentionPolicySchema, runtimeDisplayBroadcastOpportunitySchema, runtimeDisplayBroadcastsSchema, runtimeDisplayEligibilitySchema, runtimeDisplayTriggerSchema, } from "./flow-display.js";
|
|
9
9
|
export { buildIdentityTypeGuidanceMessage, getIdentityTypeSuggestion, IDENTITY_TYPE_VALUES, isIdentityTypeValue, } from "./identity-type.js";
|
|
10
10
|
export { previewConnectionPairRequestSchema, previewConnectionPairResponseSchema, } from "./preview-connection.js";
|
|
11
|
+
export { PREVIEW_PAIRING_TRANSPORT_SOURCE, previewPairingHostAckSchema, previewPairingHostRequestSchema, previewPairingHostResultSchema, } from "./preview-pairing-transport.js";
|
|
11
12
|
export { isPublicGrantScope, publicGrantScopeIdSchema, } from "./public-grant-scope.js";
|
|
12
13
|
export { resolveApiBaseUrl, resolveCoreUrl, resolveRealtimeUrl, resolveTrpcBaseUrl, runtimeEndpointsSchema, } from "./runtime-endpoints.js";
|
|
13
14
|
export { getScopeMeta, isScope, listScopes, SCOPE_IDS, scopeIdSchema, } from "./scopes.js";
|
|
@@ -2,6 +2,7 @@ import * as z from "zod/mini";
|
|
|
2
2
|
export declare const previewConnectionPairRequestSchema: z.ZodMiniObject<{
|
|
3
3
|
capabilities: z.ZodMiniArray<z.ZodMiniString<string>>;
|
|
4
4
|
expectedRevision: z.ZodMiniNumber<number>;
|
|
5
|
+
pairedAppApiKey: z.ZodMiniOptional<z.ZodMiniString<string>>;
|
|
5
6
|
pairedIdentity: z.ZodMiniString<string>;
|
|
6
7
|
pairedUrl: z.ZodMiniNullable<z.ZodMiniURL>;
|
|
7
8
|
}, z.core.$strip>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"preview-connection.d.ts","sourceRoot":"","sources":["../src/preview-connection.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,UAAU,CAAC;AAI9B,eAAO,MAAM,kCAAkC
|
|
1
|
+
{"version":3,"file":"preview-connection.d.ts","sourceRoot":"","sources":["../src/preview-connection.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,UAAU,CAAC;AAI9B,eAAO,MAAM,kCAAkC;;;;;;iBAM7C,CAAC;AAEH,eAAO,MAAM,mCAAmC;;;;;;;;;iBAS9C,CAAC;AAEH,MAAM,MAAM,4BAA4B,GAAG,CAAC,CAAC,MAAM,CAClD,OAAO,kCAAkC,CACzC,CAAC;AACF,MAAM,MAAM,6BAA6B,GAAG,CAAC,CAAC,MAAM,CACnD,OAAO,mCAAmC,CAC1C,CAAC"}
|
|
@@ -3,6 +3,7 @@ const nonEmptyStringSchema = z.string().check(z.trim(), z.minLength(1));
|
|
|
3
3
|
export const previewConnectionPairRequestSchema = z.object({
|
|
4
4
|
capabilities: z.array(nonEmptyStringSchema),
|
|
5
5
|
expectedRevision: z.number().check(z.int(), z.positive()),
|
|
6
|
+
pairedAppApiKey: z.optional(nonEmptyStringSchema),
|
|
6
7
|
pairedIdentity: nonEmptyStringSchema,
|
|
7
8
|
pairedUrl: z.nullable(z.url()),
|
|
8
9
|
});
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import * as z from "zod/mini";
|
|
2
|
+
export declare const PREVIEW_PAIRING_TRANSPORT_SOURCE = "getuserfeedback.preview";
|
|
3
|
+
export declare const previewPairingHostRequestSchema: z.ZodMiniObject<{
|
|
4
|
+
source: z.ZodMiniLiteral<"getuserfeedback.preview">;
|
|
5
|
+
type: z.ZodMiniLiteral<"preview.connection.pair.request">;
|
|
6
|
+
requestId: z.ZodMiniString<string>;
|
|
7
|
+
previewToken: z.ZodMiniString<string>;
|
|
8
|
+
expectedRevision: z.ZodMiniNumber<number>;
|
|
9
|
+
capabilities: z.ZodMiniArray<z.ZodMiniString<string>>;
|
|
10
|
+
}, z.core.$strip>;
|
|
11
|
+
export declare const previewPairingHostAckSchema: z.ZodMiniObject<{
|
|
12
|
+
source: z.ZodMiniLiteral<"getuserfeedback.preview">;
|
|
13
|
+
type: z.ZodMiniLiteral<"preview.connection.pair.ack">;
|
|
14
|
+
requestId: z.ZodMiniString<string>;
|
|
15
|
+
}, z.core.$strip>;
|
|
16
|
+
export declare const previewPairingHostResultSchema: z.ZodMiniDiscriminatedUnion<[z.ZodMiniObject<{
|
|
17
|
+
source: z.ZodMiniLiteral<"getuserfeedback.preview">;
|
|
18
|
+
type: z.ZodMiniLiteral<"preview.connection.pair.result">;
|
|
19
|
+
requestId: z.ZodMiniString<string>;
|
|
20
|
+
ok: z.ZodMiniLiteral<true>;
|
|
21
|
+
result: z.ZodMiniObject<{
|
|
22
|
+
appId: z.ZodMiniString<string>;
|
|
23
|
+
capabilities: z.ZodMiniArray<z.ZodMiniString<string>>;
|
|
24
|
+
id: z.ZodMiniString<string>;
|
|
25
|
+
organizationId: z.ZodMiniString<string>;
|
|
26
|
+
pairedAt: z.ZodMiniNullable<z.ZodMiniString<string>>;
|
|
27
|
+
pairedIdentity: z.ZodMiniNullable<z.ZodMiniString<string>>;
|
|
28
|
+
pairedUrl: z.ZodMiniNullable<z.ZodMiniURL>;
|
|
29
|
+
revision: z.ZodMiniNumber<number>;
|
|
30
|
+
}, z.core.$strip>;
|
|
31
|
+
}, z.core.$strip>, z.ZodMiniObject<{
|
|
32
|
+
source: z.ZodMiniLiteral<"getuserfeedback.preview">;
|
|
33
|
+
type: z.ZodMiniLiteral<"preview.connection.pair.result">;
|
|
34
|
+
requestId: z.ZodMiniString<string>;
|
|
35
|
+
ok: z.ZodMiniLiteral<false>;
|
|
36
|
+
error: z.ZodMiniObject<{
|
|
37
|
+
message: z.ZodMiniString<string>;
|
|
38
|
+
code: z.ZodMiniOptional<z.ZodMiniString<string>>;
|
|
39
|
+
}, z.core.$strip>;
|
|
40
|
+
}, z.core.$strip>], "ok">;
|
|
41
|
+
export type PreviewPairingHostRequest = z.output<typeof previewPairingHostRequestSchema>;
|
|
42
|
+
export type PreviewPairingHostAck = z.output<typeof previewPairingHostAckSchema>;
|
|
43
|
+
export type PreviewPairingHostResult = z.output<typeof previewPairingHostResultSchema>;
|
|
44
|
+
//# sourceMappingURL=preview-pairing-transport.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"preview-pairing-transport.d.ts","sourceRoot":"","sources":["../src/preview-pairing-transport.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,UAAU,CAAC;AAG9B,eAAO,MAAM,gCAAgC,4BAA4B,CAAC;AAI1E,eAAO,MAAM,+BAA+B;;;;;;;iBAO1C,CAAC;AAOH,eAAO,MAAM,2BAA2B;;;;iBAItC,CAAC;AAkBH,eAAO,MAAM,8BAA8B;;;;;;;;;;;;;;;;;;;;;;;;yBAGzC,CAAC;AAEH,MAAM,MAAM,yBAAyB,GAAG,CAAC,CAAC,MAAM,CAC/C,OAAO,+BAA+B,CACtC,CAAC;AACF,MAAM,MAAM,qBAAqB,GAAG,CAAC,CAAC,MAAM,CAC3C,OAAO,2BAA2B,CAClC,CAAC;AACF,MAAM,MAAM,wBAAwB,GAAG,CAAC,CAAC,MAAM,CAC9C,OAAO,8BAA8B,CACrC,CAAC"}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import * as z from "zod/mini";
|
|
2
|
+
import { previewConnectionPairResponseSchema } from "./preview-connection.js";
|
|
3
|
+
export const PREVIEW_PAIRING_TRANSPORT_SOURCE = "getuserfeedback.preview";
|
|
4
|
+
const nonEmptyStringSchema = z.string().check(z.trim(), z.minLength(1));
|
|
5
|
+
export const previewPairingHostRequestSchema = z.object({
|
|
6
|
+
source: z.literal(PREVIEW_PAIRING_TRANSPORT_SOURCE),
|
|
7
|
+
type: z.literal("preview.connection.pair.request"),
|
|
8
|
+
requestId: nonEmptyStringSchema,
|
|
9
|
+
previewToken: nonEmptyStringSchema,
|
|
10
|
+
expectedRevision: z.number().check(z.int(), z.positive()),
|
|
11
|
+
capabilities: z.array(nonEmptyStringSchema),
|
|
12
|
+
});
|
|
13
|
+
const previewPairingErrorSchema = z.object({
|
|
14
|
+
message: nonEmptyStringSchema,
|
|
15
|
+
code: z.optional(nonEmptyStringSchema),
|
|
16
|
+
});
|
|
17
|
+
export const previewPairingHostAckSchema = z.object({
|
|
18
|
+
source: z.literal(PREVIEW_PAIRING_TRANSPORT_SOURCE),
|
|
19
|
+
type: z.literal("preview.connection.pair.ack"),
|
|
20
|
+
requestId: nonEmptyStringSchema,
|
|
21
|
+
});
|
|
22
|
+
const previewPairingHostResultSuccessSchema = z.object({
|
|
23
|
+
source: z.literal(PREVIEW_PAIRING_TRANSPORT_SOURCE),
|
|
24
|
+
type: z.literal("preview.connection.pair.result"),
|
|
25
|
+
requestId: nonEmptyStringSchema,
|
|
26
|
+
ok: z.literal(true),
|
|
27
|
+
result: previewConnectionPairResponseSchema,
|
|
28
|
+
});
|
|
29
|
+
const previewPairingHostResultErrorSchema = z.object({
|
|
30
|
+
source: z.literal(PREVIEW_PAIRING_TRANSPORT_SOURCE),
|
|
31
|
+
type: z.literal("preview.connection.pair.result"),
|
|
32
|
+
requestId: nonEmptyStringSchema,
|
|
33
|
+
ok: z.literal(false),
|
|
34
|
+
error: previewPairingErrorSchema,
|
|
35
|
+
});
|
|
36
|
+
export const previewPairingHostResultSchema = z.discriminatedUnion("ok", [
|
|
37
|
+
previewPairingHostResultSuccessSchema,
|
|
38
|
+
previewPairingHostResultErrorSchema,
|
|
39
|
+
]);
|
package/package.json
CHANGED
package/src/index.ts
CHANGED
|
@@ -100,6 +100,15 @@ export {
|
|
|
100
100
|
previewConnectionPairRequestSchema,
|
|
101
101
|
previewConnectionPairResponseSchema,
|
|
102
102
|
} from "./preview-connection.js";
|
|
103
|
+
export {
|
|
104
|
+
PREVIEW_PAIRING_TRANSPORT_SOURCE,
|
|
105
|
+
type PreviewPairingHostAck,
|
|
106
|
+
type PreviewPairingHostRequest,
|
|
107
|
+
type PreviewPairingHostResult,
|
|
108
|
+
previewPairingHostAckSchema,
|
|
109
|
+
previewPairingHostRequestSchema,
|
|
110
|
+
previewPairingHostResultSchema,
|
|
111
|
+
} from "./preview-pairing-transport.js";
|
|
103
112
|
export {
|
|
104
113
|
isPublicGrantScope,
|
|
105
114
|
type PublicGrantScope,
|
|
@@ -9,6 +9,7 @@ describe("preview connection protocol", () => {
|
|
|
9
9
|
const result = previewConnectionPairRequestSchema.parse({
|
|
10
10
|
capabilities: ["post-message", "flow-display-sync"],
|
|
11
11
|
expectedRevision: 3,
|
|
12
|
+
pairedAppApiKey: "app_api_key",
|
|
12
13
|
pairedIdentity: "preview-identity",
|
|
13
14
|
pairedUrl: "https://customer.example.com/app",
|
|
14
15
|
});
|
|
@@ -16,11 +17,28 @@ describe("preview connection protocol", () => {
|
|
|
16
17
|
expect(result).toEqual({
|
|
17
18
|
capabilities: ["post-message", "flow-display-sync"],
|
|
18
19
|
expectedRevision: 3,
|
|
20
|
+
pairedAppApiKey: "app_api_key",
|
|
19
21
|
pairedIdentity: "preview-identity",
|
|
20
22
|
pairedUrl: "https://customer.example.com/app",
|
|
21
23
|
});
|
|
22
24
|
});
|
|
23
25
|
|
|
26
|
+
it("keeps paired app api keys optional for patch-compatible clients", () => {
|
|
27
|
+
const result = previewConnectionPairRequestSchema.parse({
|
|
28
|
+
capabilities: ["post-message"],
|
|
29
|
+
expectedRevision: 3,
|
|
30
|
+
pairedIdentity: "preview-identity",
|
|
31
|
+
pairedUrl: null,
|
|
32
|
+
});
|
|
33
|
+
|
|
34
|
+
expect(result).toEqual({
|
|
35
|
+
capabilities: ["post-message"],
|
|
36
|
+
expectedRevision: 3,
|
|
37
|
+
pairedIdentity: "preview-identity",
|
|
38
|
+
pairedUrl: null,
|
|
39
|
+
});
|
|
40
|
+
});
|
|
41
|
+
|
|
24
42
|
it("parses pair responses", () => {
|
|
25
43
|
const result = previewConnectionPairResponseSchema.parse({
|
|
26
44
|
appId: "app_123",
|
|
@@ -5,6 +5,7 @@ const nonEmptyStringSchema = z.string().check(z.trim(), z.minLength(1));
|
|
|
5
5
|
export const previewConnectionPairRequestSchema = z.object({
|
|
6
6
|
capabilities: z.array(nonEmptyStringSchema),
|
|
7
7
|
expectedRevision: z.number().check(z.int(), z.positive()),
|
|
8
|
+
pairedAppApiKey: z.optional(nonEmptyStringSchema),
|
|
8
9
|
pairedIdentity: nonEmptyStringSchema,
|
|
9
10
|
pairedUrl: z.nullable(z.url()),
|
|
10
11
|
});
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
import { describe, expect, it } from "bun:test";
|
|
2
|
+
import {
|
|
3
|
+
PREVIEW_PAIRING_TRANSPORT_SOURCE,
|
|
4
|
+
previewPairingHostAckSchema,
|
|
5
|
+
previewPairingHostRequestSchema,
|
|
6
|
+
previewPairingHostResultSchema,
|
|
7
|
+
} from "./preview-pairing-transport";
|
|
8
|
+
|
|
9
|
+
describe("preview pairing transport protocol", () => {
|
|
10
|
+
it("parses host pairing requests", () => {
|
|
11
|
+
expect(
|
|
12
|
+
previewPairingHostRequestSchema.parse({
|
|
13
|
+
source: PREVIEW_PAIRING_TRANSPORT_SOURCE,
|
|
14
|
+
type: "preview.connection.pair.request",
|
|
15
|
+
requestId: "req_123",
|
|
16
|
+
previewToken: "prv_123",
|
|
17
|
+
expectedRevision: 2,
|
|
18
|
+
capabilities: ["post-message"],
|
|
19
|
+
}),
|
|
20
|
+
).toEqual({
|
|
21
|
+
source: PREVIEW_PAIRING_TRANSPORT_SOURCE,
|
|
22
|
+
type: "preview.connection.pair.request",
|
|
23
|
+
requestId: "req_123",
|
|
24
|
+
previewToken: "prv_123",
|
|
25
|
+
expectedRevision: 2,
|
|
26
|
+
capabilities: ["post-message"],
|
|
27
|
+
});
|
|
28
|
+
});
|
|
29
|
+
|
|
30
|
+
it("parses ack and result messages", () => {
|
|
31
|
+
expect(
|
|
32
|
+
previewPairingHostAckSchema.parse({
|
|
33
|
+
source: PREVIEW_PAIRING_TRANSPORT_SOURCE,
|
|
34
|
+
type: "preview.connection.pair.ack",
|
|
35
|
+
requestId: "req_123",
|
|
36
|
+
}),
|
|
37
|
+
).toEqual({
|
|
38
|
+
source: PREVIEW_PAIRING_TRANSPORT_SOURCE,
|
|
39
|
+
type: "preview.connection.pair.ack",
|
|
40
|
+
requestId: "req_123",
|
|
41
|
+
});
|
|
42
|
+
|
|
43
|
+
expect(
|
|
44
|
+
previewPairingHostResultSchema.parse({
|
|
45
|
+
source: PREVIEW_PAIRING_TRANSPORT_SOURCE,
|
|
46
|
+
type: "preview.connection.pair.result",
|
|
47
|
+
requestId: "req_123",
|
|
48
|
+
ok: true,
|
|
49
|
+
result: {
|
|
50
|
+
appId: "app_123",
|
|
51
|
+
capabilities: ["post-message"],
|
|
52
|
+
id: "prvs_123",
|
|
53
|
+
organizationId: "org_123",
|
|
54
|
+
pairedAt: "2026-06-29T00:00:00.000Z",
|
|
55
|
+
pairedIdentity: "anon_123",
|
|
56
|
+
pairedUrl: "https://customer.example.com/app",
|
|
57
|
+
revision: 3,
|
|
58
|
+
},
|
|
59
|
+
}),
|
|
60
|
+
).toMatchObject({
|
|
61
|
+
ok: true,
|
|
62
|
+
requestId: "req_123",
|
|
63
|
+
});
|
|
64
|
+
});
|
|
65
|
+
});
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
import * as z from "zod/mini";
|
|
2
|
+
import { previewConnectionPairResponseSchema } from "./preview-connection.js";
|
|
3
|
+
|
|
4
|
+
export const PREVIEW_PAIRING_TRANSPORT_SOURCE = "getuserfeedback.preview";
|
|
5
|
+
|
|
6
|
+
const nonEmptyStringSchema = z.string().check(z.trim(), z.minLength(1));
|
|
7
|
+
|
|
8
|
+
export const previewPairingHostRequestSchema = z.object({
|
|
9
|
+
source: z.literal(PREVIEW_PAIRING_TRANSPORT_SOURCE),
|
|
10
|
+
type: z.literal("preview.connection.pair.request"),
|
|
11
|
+
requestId: nonEmptyStringSchema,
|
|
12
|
+
previewToken: nonEmptyStringSchema,
|
|
13
|
+
expectedRevision: z.number().check(z.int(), z.positive()),
|
|
14
|
+
capabilities: z.array(nonEmptyStringSchema),
|
|
15
|
+
});
|
|
16
|
+
|
|
17
|
+
const previewPairingErrorSchema = z.object({
|
|
18
|
+
message: nonEmptyStringSchema,
|
|
19
|
+
code: z.optional(nonEmptyStringSchema),
|
|
20
|
+
});
|
|
21
|
+
|
|
22
|
+
export const previewPairingHostAckSchema = z.object({
|
|
23
|
+
source: z.literal(PREVIEW_PAIRING_TRANSPORT_SOURCE),
|
|
24
|
+
type: z.literal("preview.connection.pair.ack"),
|
|
25
|
+
requestId: nonEmptyStringSchema,
|
|
26
|
+
});
|
|
27
|
+
|
|
28
|
+
const previewPairingHostResultSuccessSchema = z.object({
|
|
29
|
+
source: z.literal(PREVIEW_PAIRING_TRANSPORT_SOURCE),
|
|
30
|
+
type: z.literal("preview.connection.pair.result"),
|
|
31
|
+
requestId: nonEmptyStringSchema,
|
|
32
|
+
ok: z.literal(true),
|
|
33
|
+
result: previewConnectionPairResponseSchema,
|
|
34
|
+
});
|
|
35
|
+
|
|
36
|
+
const previewPairingHostResultErrorSchema = z.object({
|
|
37
|
+
source: z.literal(PREVIEW_PAIRING_TRANSPORT_SOURCE),
|
|
38
|
+
type: z.literal("preview.connection.pair.result"),
|
|
39
|
+
requestId: nonEmptyStringSchema,
|
|
40
|
+
ok: z.literal(false),
|
|
41
|
+
error: previewPairingErrorSchema,
|
|
42
|
+
});
|
|
43
|
+
|
|
44
|
+
export const previewPairingHostResultSchema = z.discriminatedUnion("ok", [
|
|
45
|
+
previewPairingHostResultSuccessSchema,
|
|
46
|
+
previewPairingHostResultErrorSchema,
|
|
47
|
+
]);
|
|
48
|
+
|
|
49
|
+
export type PreviewPairingHostRequest = z.output<
|
|
50
|
+
typeof previewPairingHostRequestSchema
|
|
51
|
+
>;
|
|
52
|
+
export type PreviewPairingHostAck = z.output<
|
|
53
|
+
typeof previewPairingHostAckSchema
|
|
54
|
+
>;
|
|
55
|
+
export type PreviewPairingHostResult = z.output<
|
|
56
|
+
typeof previewPairingHostResultSchema
|
|
57
|
+
>;
|