@getuserfeedback/protocol 3.0.4 → 3.0.6

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.
@@ -11,4 +11,5 @@ export * from "./lazy-handle-client.js";
11
11
  export { createCommandRequestId } from "./request-id.js";
12
12
  export * from "./sdk-types.js";
13
13
  export { createUniqueId } from "./unique-id.js";
14
+ export * from "./widget-layout-size-update.js";
14
15
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/host/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,cAAc,uBAAuB,CAAC;AACtC,cAAc,uBAAuB,CAAC;AACtC,cAAc,yBAAyB,CAAC;AACxC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,kCAAkC,CAAC;AACjD,cAAc,0BAA0B,CAAC;AACzC,cAAc,yBAAyB,CAAC;AACxC,OAAO,EAAE,sBAAsB,EAAE,MAAM,iBAAiB,CAAC;AACzD,cAAc,gBAAgB,CAAC;AAC/B,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/host/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,cAAc,uBAAuB,CAAC;AACtC,cAAc,uBAAuB,CAAC;AACtC,cAAc,yBAAyB,CAAC;AACxC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,kCAAkC,CAAC;AACjD,cAAc,0BAA0B,CAAC;AACzC,cAAc,yBAAyB,CAAC;AACxC,OAAO,EAAE,sBAAsB,EAAE,MAAM,iBAAiB,CAAC;AACzD,cAAc,gBAAgB,CAAC;AAC/B,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAChD,cAAc,gCAAgC,CAAC"}
@@ -11,3 +11,4 @@ export * from "./lazy-handle-client.js";
11
11
  export { createCommandRequestId } from "./request-id.js";
12
12
  export * from "./sdk-types.js";
13
13
  export { createUniqueId } from "./unique-id.js";
14
+ export * from "./widget-layout-size-update.js";
@@ -0,0 +1,15 @@
1
+ export type WidgetLayoutSize = {
2
+ width: number;
3
+ height: number;
4
+ };
5
+ export type WidgetLayoutSizeTransition = {
6
+ kind: "instant";
7
+ durationMs: 0;
8
+ };
9
+ export type WidgetLayoutSizeUpdate = {
10
+ size: WidgetLayoutSize;
11
+ transition: WidgetLayoutSizeTransition;
12
+ };
13
+ export declare const INSTANT_WIDGET_LAYOUT_SIZE_TRANSITION: WidgetLayoutSizeTransition;
14
+ export declare function toInstantWidgetLayoutSizeUpdate(size: WidgetLayoutSize): WidgetLayoutSizeUpdate;
15
+ //# sourceMappingURL=widget-layout-size-update.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"widget-layout-size-update.d.ts","sourceRoot":"","sources":["../../src/host/widget-layout-size-update.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,gBAAgB,GAAG;IAC9B,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;CACf,CAAC;AAEF,MAAM,MAAM,0BAA0B,GAAG;IACxC,IAAI,EAAE,SAAS,CAAC;IAChB,UAAU,EAAE,CAAC,CAAC;CACd,CAAC;AAEF,MAAM,MAAM,sBAAsB,GAAG;IACpC,IAAI,EAAE,gBAAgB,CAAC;IACvB,UAAU,EAAE,0BAA0B,CAAC;CACvC,CAAC;AAEF,eAAO,MAAM,qCAAqC,EAAE,0BAIlD,CAAC;AAEH,wBAAgB,+BAA+B,CAC9C,IAAI,EAAE,gBAAgB,GACpB,sBAAsB,CAKxB"}
@@ -0,0 +1,10 @@
1
+ export const INSTANT_WIDGET_LAYOUT_SIZE_TRANSITION = {
2
+ kind: "instant",
3
+ durationMs: 0,
4
+ };
5
+ export function toInstantWidgetLayoutSizeUpdate(size) {
6
+ return {
7
+ size: { ...size },
8
+ transition: INSTANT_WIDGET_LAYOUT_SIZE_TRANSITION,
9
+ };
10
+ }
package/dist/index.d.ts CHANGED
@@ -8,6 +8,7 @@ export { ErrorCategory, ErrorCategorySchema, ErrorEventSchema, ProtocolError, }
8
8
  export { type ClaimPendingFlowAssignmentsRequest, type ClaimPendingFlowAssignmentsResponse, claimPendingFlowAssignmentsRequestSchema, claimPendingFlowAssignmentsResponseSchema, type FlowAssignmentExternalIdIdentityTypeValue, type FlowAssignmentIdentityTypeValue, type FlowAssignmentRecipientRequest, type FlowAssignmentRecord, type FlowAssignmentStatus, type FlowAssignmentTargetingContext, flowAssignmentRecipientRequestSchema, flowAssignmentRecordSchema, flowAssignmentStatusSchema, flowAssignmentTargetingContextSchema, type ListPendingFlowAssignmentsResponse, listPendingFlowAssignmentsResponseSchema, nullableUpdateFlowAssignmentLifecycleResponseSchema, type ReleaseFlowAssignmentClaimRequest, type ReleaseFlowAssignmentClaimResponse, releaseFlowAssignmentClaimRequestSchema, releaseFlowAssignmentClaimResponseSchema, type UpdateFlowAssignmentLifecycleRequest, type UpdateFlowAssignmentLifecycleResponse, updateFlowAssignmentLifecycleRequestSchema, updateFlowAssignmentLifecycleResponseSchema, } from "./flow-assignments.js";
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
+ export { type PreviewConnectionPairRequest, type PreviewConnectionPairResponse, previewConnectionPairRequestSchema, previewConnectionPairResponseSchema, } from "./preview-connection.js";
11
12
  export { isPublicGrantScope, type PublicGrantScope, publicGrantScopeIdSchema, } from "./public-grant-scope.js";
12
13
  export { type RuntimeEndpoints, resolveApiBaseUrl, resolveCoreUrl, resolveRealtimeUrl, resolveTrpcBaseUrl, runtimeEndpointsSchema, } from "./runtime-endpoints.js";
13
14
  export { getScopeMeta, isScope, listScopes, SCOPE_IDS, type Scope, type ScopeMeta, scopeIdSchema, } from "./scopes.js";
@@ -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
@@ -7,6 +7,7 @@ export { ErrorCategory, ErrorCategorySchema, ErrorEventSchema, ProtocolError, }
7
7
  export { claimPendingFlowAssignmentsRequestSchema, claimPendingFlowAssignmentsResponseSchema, flowAssignmentRecipientRequestSchema, flowAssignmentRecordSchema, flowAssignmentStatusSchema, flowAssignmentTargetingContextSchema, listPendingFlowAssignmentsResponseSchema, nullableUpdateFlowAssignmentLifecycleResponseSchema, releaseFlowAssignmentClaimRequestSchema, releaseFlowAssignmentClaimResponseSchema, updateFlowAssignmentLifecycleRequestSchema, updateFlowAssignmentLifecycleResponseSchema, } from "./flow-assignments.js";
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
+ export { previewConnectionPairRequestSchema, previewConnectionPairResponseSchema, } from "./preview-connection.js";
10
11
  export { isPublicGrantScope, publicGrantScopeIdSchema, } from "./public-grant-scope.js";
11
12
  export { resolveApiBaseUrl, resolveCoreUrl, resolveRealtimeUrl, resolveTrpcBaseUrl, runtimeEndpointsSchema, } from "./runtime-endpoints.js";
12
13
  export { getScopeMeta, isScope, listScopes, SCOPE_IDS, scopeIdSchema, } from "./scopes.js";
@@ -0,0 +1,20 @@
1
+ import * as z from "zod/mini";
2
+ export declare const previewConnectionPairRequestSchema: z.ZodMiniObject<{
3
+ capabilities: z.ZodMiniArray<z.ZodMiniString<string>>;
4
+ expectedRevision: z.ZodMiniNumber<number>;
5
+ pairedIdentity: z.ZodMiniString<string>;
6
+ pairedUrl: z.ZodMiniNullable<z.ZodMiniURL>;
7
+ }, z.core.$strip>;
8
+ export declare const previewConnectionPairResponseSchema: z.ZodMiniObject<{
9
+ appId: z.ZodMiniString<string>;
10
+ capabilities: z.ZodMiniArray<z.ZodMiniString<string>>;
11
+ id: z.ZodMiniString<string>;
12
+ organizationId: z.ZodMiniString<string>;
13
+ pairedAt: z.ZodMiniNullable<z.ZodMiniString<string>>;
14
+ pairedIdentity: z.ZodMiniNullable<z.ZodMiniString<string>>;
15
+ pairedUrl: z.ZodMiniNullable<z.ZodMiniURL>;
16
+ revision: z.ZodMiniNumber<number>;
17
+ }, z.core.$strip>;
18
+ export type PreviewConnectionPairRequest = z.output<typeof previewConnectionPairRequestSchema>;
19
+ export type PreviewConnectionPairResponse = z.output<typeof previewConnectionPairResponseSchema>;
20
+ //# sourceMappingURL=preview-connection.d.ts.map
@@ -0,0 +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;;;;;iBAK7C,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"}
@@ -0,0 +1,18 @@
1
+ import * as z from "zod/mini";
2
+ const nonEmptyStringSchema = z.string().check(z.trim(), z.minLength(1));
3
+ export const previewConnectionPairRequestSchema = z.object({
4
+ capabilities: z.array(nonEmptyStringSchema),
5
+ expectedRevision: z.number().check(z.int(), z.positive()),
6
+ pairedIdentity: nonEmptyStringSchema,
7
+ pairedUrl: z.nullable(z.url()),
8
+ });
9
+ export const previewConnectionPairResponseSchema = z.object({
10
+ appId: nonEmptyStringSchema,
11
+ capabilities: z.array(nonEmptyStringSchema),
12
+ id: nonEmptyStringSchema,
13
+ organizationId: nonEmptyStringSchema,
14
+ pairedAt: z.nullable(z.string()),
15
+ pairedIdentity: z.nullable(nonEmptyStringSchema),
16
+ pairedUrl: z.nullable(z.url()),
17
+ revision: z.number().check(z.int(), z.positive()),
18
+ });
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@getuserfeedback/protocol",
3
- "version": "3.0.4",
3
+ "version": "3.0.6",
4
4
  "description": "getuserfeedback widget protocol — host surface and (later) wire protocol",
5
5
  "keywords": [
6
6
  "getuserfeedback",
package/src/host/index.ts CHANGED
@@ -12,3 +12,4 @@ export * from "./lazy-handle-client.js";
12
12
  export { createCommandRequestId } from "./request-id.js";
13
13
  export * from "./sdk-types.js";
14
14
  export { createUniqueId } from "./unique-id.js";
15
+ export * from "./widget-layout-size-update.js";
@@ -0,0 +1,25 @@
1
+ import { describe, expect, test } from "bun:test";
2
+ import {
3
+ INSTANT_WIDGET_LAYOUT_SIZE_TRANSITION,
4
+ toInstantWidgetLayoutSizeUpdate,
5
+ } from "./widget-layout-size-update.js";
6
+
7
+ describe("widget layout size update", () => {
8
+ test("wraps a host size in the current instant transition contract", () => {
9
+ expect(
10
+ toInstantWidgetLayoutSizeUpdate({ width: 320, height: 240 }),
11
+ ).toEqual({
12
+ size: { width: 320, height: 240 },
13
+ transition: {
14
+ kind: "instant",
15
+ durationMs: 0,
16
+ },
17
+ });
18
+ });
19
+
20
+ test("shares the zero-duration transition constant", () => {
21
+ expect(
22
+ toInstantWidgetLayoutSizeUpdate({ width: 1, height: 1 }).transition,
23
+ ).toBe(INSTANT_WIDGET_LAYOUT_SIZE_TRANSITION);
24
+ });
25
+ });
@@ -0,0 +1,29 @@
1
+ export type WidgetLayoutSize = {
2
+ width: number;
3
+ height: number;
4
+ };
5
+
6
+ export type WidgetLayoutSizeTransition = {
7
+ kind: "instant";
8
+ durationMs: 0;
9
+ };
10
+
11
+ export type WidgetLayoutSizeUpdate = {
12
+ size: WidgetLayoutSize;
13
+ transition: WidgetLayoutSizeTransition;
14
+ };
15
+
16
+ export const INSTANT_WIDGET_LAYOUT_SIZE_TRANSITION: WidgetLayoutSizeTransition =
17
+ {
18
+ kind: "instant",
19
+ durationMs: 0,
20
+ };
21
+
22
+ export function toInstantWidgetLayoutSizeUpdate(
23
+ size: WidgetLayoutSize,
24
+ ): WidgetLayoutSizeUpdate {
25
+ return {
26
+ size: { ...size },
27
+ transition: INSTANT_WIDGET_LAYOUT_SIZE_TRANSITION,
28
+ };
29
+ }
package/src/index.ts CHANGED
@@ -94,6 +94,12 @@ export {
94
94
  isIdentityTypeValue,
95
95
  type StandardIdentityTypeValue,
96
96
  } from "./identity-type.js";
97
+ export {
98
+ type PreviewConnectionPairRequest,
99
+ type PreviewConnectionPairResponse,
100
+ previewConnectionPairRequestSchema,
101
+ previewConnectionPairResponseSchema,
102
+ } from "./preview-connection.js";
97
103
  export {
98
104
  isPublicGrantScope,
99
105
  type PublicGrantScope,
@@ -0,0 +1,47 @@
1
+ import { describe, expect, it } from "bun:test";
2
+ import {
3
+ previewConnectionPairRequestSchema,
4
+ previewConnectionPairResponseSchema,
5
+ } from "./preview-connection";
6
+
7
+ describe("preview connection protocol", () => {
8
+ it("parses pair requests", () => {
9
+ const result = previewConnectionPairRequestSchema.parse({
10
+ capabilities: ["post-message", "flow-display-sync"],
11
+ expectedRevision: 3,
12
+ pairedIdentity: "preview-identity",
13
+ pairedUrl: "https://customer.example.com/app",
14
+ });
15
+
16
+ expect(result).toEqual({
17
+ capabilities: ["post-message", "flow-display-sync"],
18
+ expectedRevision: 3,
19
+ pairedIdentity: "preview-identity",
20
+ pairedUrl: "https://customer.example.com/app",
21
+ });
22
+ });
23
+
24
+ it("parses pair responses", () => {
25
+ const result = previewConnectionPairResponseSchema.parse({
26
+ appId: "app_123",
27
+ capabilities: ["post-message"],
28
+ id: "prvs_123",
29
+ organizationId: "org_123",
30
+ pairedAt: "2026-06-28T00:00:00.000Z",
31
+ pairedIdentity: "preview-identity",
32
+ pairedUrl: null,
33
+ revision: 4,
34
+ });
35
+
36
+ expect(result).toEqual({
37
+ appId: "app_123",
38
+ capabilities: ["post-message"],
39
+ id: "prvs_123",
40
+ organizationId: "org_123",
41
+ pairedAt: "2026-06-28T00:00:00.000Z",
42
+ pairedIdentity: "preview-identity",
43
+ pairedUrl: null,
44
+ revision: 4,
45
+ });
46
+ });
47
+ });
@@ -0,0 +1,28 @@
1
+ import * as z from "zod/mini";
2
+
3
+ const nonEmptyStringSchema = z.string().check(z.trim(), z.minLength(1));
4
+
5
+ export const previewConnectionPairRequestSchema = z.object({
6
+ capabilities: z.array(nonEmptyStringSchema),
7
+ expectedRevision: z.number().check(z.int(), z.positive()),
8
+ pairedIdentity: nonEmptyStringSchema,
9
+ pairedUrl: z.nullable(z.url()),
10
+ });
11
+
12
+ export const previewConnectionPairResponseSchema = z.object({
13
+ appId: nonEmptyStringSchema,
14
+ capabilities: z.array(nonEmptyStringSchema),
15
+ id: nonEmptyStringSchema,
16
+ organizationId: nonEmptyStringSchema,
17
+ pairedAt: z.nullable(z.string()),
18
+ pairedIdentity: z.nullable(nonEmptyStringSchema),
19
+ pairedUrl: z.nullable(z.url()),
20
+ revision: z.number().check(z.int(), z.positive()),
21
+ });
22
+
23
+ export type PreviewConnectionPairRequest = z.output<
24
+ typeof previewConnectionPairRequestSchema
25
+ >;
26
+ export type PreviewConnectionPairResponse = z.output<
27
+ typeof previewConnectionPairResponseSchema
28
+ >;