@getuserfeedback/protocol 0.9.0 → 0.10.0
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/flow-assignments.d.ts +5 -5
- package/dist/flow-assignments.d.ts.map +1 -1
- package/dist/flow-assignments.js +2 -2
- package/dist/host/external-id-argument-guards.d.ts +3 -2
- package/dist/host/external-id-argument-guards.d.ts.map +1 -1
- package/dist/host/external-id-argument-guards.js +6 -9
- package/dist/host/sdk-types.d.ts +3 -2
- package/dist/host/sdk-types.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/flow-assignments.test.ts +38 -2
- package/src/flow-assignments.ts +4 -3
- package/src/host/external-id-argument-guards.test.ts +43 -0
- package/src/host/external-id-argument-guards.ts +13 -10
- package/src/host/sdk-types.ts +3 -2
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import * as z from "zod/mini";
|
|
2
2
|
import type { IdentityTypeValue } from "./identity-type.js";
|
|
3
|
-
export type FlowAssignmentExternalIdIdentityTypeValue = `externalId.${string}`;
|
|
3
|
+
export type FlowAssignmentExternalIdIdentityTypeValue = `externalId.users.none.${string}`;
|
|
4
4
|
export type FlowAssignmentIdentityTypeValue = IdentityTypeValue | FlowAssignmentExternalIdIdentityTypeValue;
|
|
5
5
|
export declare const flowAssignmentStatusSchema: z.ZodMiniEnum<{
|
|
6
6
|
pending: "pending";
|
|
@@ -94,7 +94,7 @@ export declare const flowAssignmentTargetingContextSchema: z.ZodMiniObject<{
|
|
|
94
94
|
}, z.core.$strip>;
|
|
95
95
|
export declare const flowAssignmentRecipientRequestSchema: z.ZodMiniObject<{
|
|
96
96
|
identities: z.ZodMiniDefault<z.ZodMiniArray<z.ZodMiniObject<{
|
|
97
|
-
type: z.ZodMiniUnion<readonly [z.ZodMiniPipe<z.ZodMiniString<string>, z.ZodMiniTransform<"anonymousId" | "userId" | "traits.email" | "traits.phone" | "context.device.id" | "context.device.advertisingId" | "context.device.token", string>>, z.ZodMiniType<`externalId.${string}`, `externalId.${string}`, z.core.$ZodTypeInternals<`externalId.${string}`, `externalId.${string}`>>]>;
|
|
97
|
+
type: z.ZodMiniUnion<readonly [z.ZodMiniPipe<z.ZodMiniString<string>, z.ZodMiniTransform<"anonymousId" | "userId" | "traits.email" | "traits.phone" | "context.device.id" | "context.device.advertisingId" | "context.device.token", string>>, z.ZodMiniType<`externalId.users.none.${string}`, `externalId.users.none.${string}`, z.core.$ZodTypeInternals<`externalId.users.none.${string}`, `externalId.users.none.${string}`>>]>;
|
|
98
98
|
value: z.ZodMiniString<string>;
|
|
99
99
|
}, z.core.$strip>>>;
|
|
100
100
|
context: z.ZodMiniOptional<z.ZodMiniObject<{
|
|
@@ -239,7 +239,7 @@ export declare const listPendingFlowAssignmentsResponseSchema: z.ZodMiniObject<{
|
|
|
239
239
|
}, z.core.$strip>;
|
|
240
240
|
export declare const claimPendingFlowAssignmentsRequestSchema: z.ZodMiniObject<{
|
|
241
241
|
identities: z.ZodMiniDefault<z.ZodMiniArray<z.ZodMiniObject<{
|
|
242
|
-
type: z.ZodMiniUnion<readonly [z.ZodMiniPipe<z.ZodMiniString<string>, z.ZodMiniTransform<"anonymousId" | "userId" | "traits.email" | "traits.phone" | "context.device.id" | "context.device.advertisingId" | "context.device.token", string>>, z.ZodMiniType<`externalId.${string}`, `externalId.${string}`, z.core.$ZodTypeInternals<`externalId.${string}`, `externalId.${string}`>>]>;
|
|
242
|
+
type: z.ZodMiniUnion<readonly [z.ZodMiniPipe<z.ZodMiniString<string>, z.ZodMiniTransform<"anonymousId" | "userId" | "traits.email" | "traits.phone" | "context.device.id" | "context.device.advertisingId" | "context.device.token", string>>, z.ZodMiniType<`externalId.users.none.${string}`, `externalId.users.none.${string}`, z.core.$ZodTypeInternals<`externalId.users.none.${string}`, `externalId.users.none.${string}`>>]>;
|
|
243
243
|
value: z.ZodMiniString<string>;
|
|
244
244
|
}, z.core.$strip>>>;
|
|
245
245
|
context: z.ZodMiniOptional<z.ZodMiniObject<{
|
|
@@ -358,7 +358,7 @@ export declare const claimPendingFlowAssignmentsResponseSchema: z.ZodMiniObject<
|
|
|
358
358
|
}, z.core.$strip>;
|
|
359
359
|
export declare const updateFlowAssignmentLifecycleRequestSchema: z.ZodMiniObject<{
|
|
360
360
|
identities: z.ZodMiniDefault<z.ZodMiniArray<z.ZodMiniObject<{
|
|
361
|
-
type: z.ZodMiniUnion<readonly [z.ZodMiniPipe<z.ZodMiniString<string>, z.ZodMiniTransform<"anonymousId" | "userId" | "traits.email" | "traits.phone" | "context.device.id" | "context.device.advertisingId" | "context.device.token", string>>, z.ZodMiniType<`externalId.${string}`, `externalId.${string}`, z.core.$ZodTypeInternals<`externalId.${string}`, `externalId.${string}`>>]>;
|
|
361
|
+
type: z.ZodMiniUnion<readonly [z.ZodMiniPipe<z.ZodMiniString<string>, z.ZodMiniTransform<"anonymousId" | "userId" | "traits.email" | "traits.phone" | "context.device.id" | "context.device.advertisingId" | "context.device.token", string>>, z.ZodMiniType<`externalId.users.none.${string}`, `externalId.users.none.${string}`, z.core.$ZodTypeInternals<`externalId.users.none.${string}`, `externalId.users.none.${string}`>>]>;
|
|
362
362
|
value: z.ZodMiniString<string>;
|
|
363
363
|
}, z.core.$strip>>>;
|
|
364
364
|
context: z.ZodMiniOptional<z.ZodMiniObject<{
|
|
@@ -447,7 +447,7 @@ export declare const updateFlowAssignmentLifecycleRequestSchema: z.ZodMiniObject
|
|
|
447
447
|
}, z.core.$strip>;
|
|
448
448
|
export declare const releaseFlowAssignmentClaimRequestSchema: z.ZodMiniObject<{
|
|
449
449
|
identities: z.ZodMiniDefault<z.ZodMiniArray<z.ZodMiniObject<{
|
|
450
|
-
type: z.ZodMiniUnion<readonly [z.ZodMiniPipe<z.ZodMiniString<string>, z.ZodMiniTransform<"anonymousId" | "userId" | "traits.email" | "traits.phone" | "context.device.id" | "context.device.advertisingId" | "context.device.token", string>>, z.ZodMiniType<`externalId.${string}`, `externalId.${string}`, z.core.$ZodTypeInternals<`externalId.${string}`, `externalId.${string}`>>]>;
|
|
450
|
+
type: z.ZodMiniUnion<readonly [z.ZodMiniPipe<z.ZodMiniString<string>, z.ZodMiniTransform<"anonymousId" | "userId" | "traits.email" | "traits.phone" | "context.device.id" | "context.device.advertisingId" | "context.device.token", string>>, z.ZodMiniType<`externalId.users.none.${string}`, `externalId.users.none.${string}`, z.core.$ZodTypeInternals<`externalId.users.none.${string}`, `externalId.users.none.${string}`>>]>;
|
|
451
451
|
value: z.ZodMiniString<string>;
|
|
452
452
|
}, z.core.$strip>>>;
|
|
453
453
|
holdGroupToken: z.ZodMiniString<string>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"flow-assignments.d.ts","sourceRoot":"","sources":["../src/flow-assignments.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,UAAU,CAAC;AAO9B,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAE5D,MAAM,MAAM,yCAAyC,
|
|
1
|
+
{"version":3,"file":"flow-assignments.d.ts","sourceRoot":"","sources":["../src/flow-assignments.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,UAAU,CAAC;AAO9B,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAE5D,MAAM,MAAM,yCAAyC,GACpD,yBAAyB,MAAM,EAAE,CAAC;AACnC,MAAM,MAAM,+BAA+B,GACxC,iBAAiB,GACjB,yCAAyC,CAAC;AAsB7C,eAAO,MAAM,0BAA0B;;;;;;;;;;EAUrC,CAAC;AAEH,eAAO,MAAM,oCAAoC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAG/C,CAAC;AAEH,eAAO,MAAM,oCAAoC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAI/C,CAAC;AAEH,eAAO,MAAM,0BAA0B;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAmBrC,CAAC;AAEH,eAAO,MAAM,wCAAwC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAGnD,CAAC;AAEH,eAAO,MAAM,wCAAwC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAMnD,CAAC;AAEH,eAAO,MAAM,yCAAyC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAGpD,CAAC;AAEH,eAAO,MAAM,0CAA0C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAOrD,CAAC;AAEH,eAAO,MAAM,uCAAuC;;;;;;;;iBAKlD,CAAC;AAEH,eAAO,MAAM,wCAAwC;;iBAEnD,CAAC;AAEH,eAAO,MAAM,2CAA2C;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAC7B,CAAC;AAC5B,eAAO,MAAM,mDAAmD;;;;;;;;;;;;;;;;;;;;;;;;;;;kBAE/D,CAAC;AAEF,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,0BAA0B,CAAC,CAAC;AAC/E,MAAM,MAAM,8BAA8B,GAAG,CAAC,CAAC,MAAM,CACpD,OAAO,oCAAoC,CAC3C,CAAC;AACF,MAAM,MAAM,8BAA8B,GAAG,CAAC,CAAC,MAAM,CACpD,OAAO,oCAAoC,CAC3C,CAAC;AACF,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,0BAA0B,CAAC,CAAC;AAC/E,MAAM,MAAM,kCAAkC,GAAG,CAAC,CAAC,MAAM,CACxD,OAAO,wCAAwC,CAC/C,CAAC;AACF,MAAM,MAAM,mCAAmC,GAAG,CAAC,CAAC,MAAM,CACzD,OAAO,yCAAyC,CAChD,CAAC;AACF,MAAM,MAAM,kCAAkC,GAAG,CAAC,CAAC,MAAM,CACxD,OAAO,wCAAwC,CAC/C,CAAC;AACF,MAAM,MAAM,iCAAiC,GAAG,CAAC,CAAC,MAAM,CACvD,OAAO,uCAAuC,CAC9C,CAAC;AACF,MAAM,MAAM,kCAAkC,GAAG,CAAC,CAAC,MAAM,CACxD,OAAO,wCAAwC,CAC/C,CAAC;AACF,MAAM,MAAM,oCAAoC,GAAG,CAAC,CAAC,MAAM,CAC1D,OAAO,0CAA0C,CACjD,CAAC;AACF,MAAM,MAAM,qCAAqC,GAAG,CAAC,CAAC,MAAM,CAC3D,OAAO,2CAA2C,CAClD,CAAC"}
|
package/dist/flow-assignments.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import * as z from "zod/mini";
|
|
2
2
|
import { appEventCapabilitySchema, appEventFlagSchema, appEventIdentityTypeSchema, } from "./app-event.js";
|
|
3
|
-
const flowAssignmentExternalIdIdentityTypeSchema = z.string().check(z.trim(), z.minLength(1), z.regex(/^externalId\.[a-z0-9][a-z0-9_.-]*$/, {
|
|
4
|
-
message: "External ID identity type must use externalId.<type> with a lowercase Segment external ID type.",
|
|
3
|
+
const flowAssignmentExternalIdIdentityTypeSchema = z.string().check(z.trim(), z.minLength(1), z.regex(/^externalId\.users\.none\.[a-z0-9][a-z0-9_.-]*$/, {
|
|
4
|
+
message: "External ID identity type must use externalId.users.none.<type> with a lowercase Segment external ID type.",
|
|
5
5
|
}));
|
|
6
6
|
const flowAssignmentIdentitySchema = z.object({
|
|
7
7
|
type: z.union([
|
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
type ExternalIdArgumentCommandName = "identify" | "track";
|
|
2
2
|
type ExternalIdArgumentValueName = "traits" | "properties";
|
|
3
|
-
|
|
3
|
+
type ExternalIdsCallShape = "identify(userId, traits, { externalIds })" | "identify(traits, { externalIds })" | "track(eventName, properties, { externalIds })";
|
|
4
|
+
export declare const assertNoSegmentExternalIdsInValueArgument: ({ argument, commandName, valueArgumentName, callShape, }: {
|
|
4
5
|
argument: unknown;
|
|
5
|
-
options: unknown;
|
|
6
6
|
commandName: ExternalIdArgumentCommandName;
|
|
7
7
|
valueArgumentName: ExternalIdArgumentValueName;
|
|
8
|
+
callShape: ExternalIdsCallShape;
|
|
8
9
|
}) => void;
|
|
9
10
|
export {};
|
|
10
11
|
//# sourceMappingURL=external-id-argument-guards.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"external-id-argument-guards.d.ts","sourceRoot":"","sources":["../../src/host/external-id-argument-guards.ts"],"names":[],"mappings":"AAAA,KAAK,6BAA6B,GAAG,UAAU,GAAG,OAAO,CAAC;AAC1D,KAAK,2BAA2B,GAAG,QAAQ,GAAG,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"external-id-argument-guards.d.ts","sourceRoot":"","sources":["../../src/host/external-id-argument-guards.ts"],"names":[],"mappings":"AAAA,KAAK,6BAA6B,GAAG,UAAU,GAAG,OAAO,CAAC;AAC1D,KAAK,2BAA2B,GAAG,QAAQ,GAAG,YAAY,CAAC;AAC3D,KAAK,oBAAoB,GACtB,2CAA2C,GAC3C,mCAAmC,GACnC,+CAA+C,CAAC;AAoCnD,eAAO,MAAM,yCAAyC,GAAI,0DAKvD;IACF,QAAQ,EAAE,OAAO,CAAC;IAClB,WAAW,EAAE,6BAA6B,CAAC;IAC3C,iBAAiB,EAAE,2BAA2B,CAAC;IAC/C,SAAS,EAAE,oBAAoB,CAAC;CAChC,KAAG,IAQH,CAAC"}
|
|
@@ -1,12 +1,9 @@
|
|
|
1
|
-
const
|
|
1
|
+
const hasSegmentExternalIdsProperty = (value) => {
|
|
2
2
|
if (value === null || typeof value !== "object" || Array.isArray(value)) {
|
|
3
3
|
return false;
|
|
4
4
|
}
|
|
5
|
-
const
|
|
6
|
-
|
|
7
|
-
return (entries.length === 1 &&
|
|
8
|
-
entries[0]?.[0] === "externalIds" &&
|
|
9
|
-
Array.isArray(externalIds) &&
|
|
5
|
+
const externalIds = Object.entries(value).find(([key]) => key === "externalIds")?.[1];
|
|
6
|
+
return (Array.isArray(externalIds) &&
|
|
10
7
|
externalIds.length > 0 &&
|
|
11
8
|
externalIds.every(isSegmentExternalIdLike));
|
|
12
9
|
};
|
|
@@ -19,9 +16,9 @@ const isSegmentExternalIdLike = (value) => {
|
|
|
19
16
|
Reflect.get(value, "collection") === "users" &&
|
|
20
17
|
Reflect.get(value, "encoding") === "none");
|
|
21
18
|
};
|
|
22
|
-
export const
|
|
23
|
-
if (
|
|
19
|
+
export const assertNoSegmentExternalIdsInValueArgument = ({ argument, commandName, valueArgumentName, callShape, }) => {
|
|
20
|
+
if (!hasSegmentExternalIdsProperty(argument)) {
|
|
24
21
|
return;
|
|
25
22
|
}
|
|
26
|
-
throw new Error(`${commandName} received externalIds in the ${valueArgumentName} argument.
|
|
23
|
+
throw new Error(`${commandName} received externalIds in the ${valueArgumentName} argument. Use ${callShape} instead.`);
|
|
27
24
|
};
|
package/dist/host/sdk-types.d.ts
CHANGED
|
@@ -324,7 +324,8 @@ export type IdentifyCommandPayload = IdentifyTraitsOnlyCommandPayload | Identify
|
|
|
324
324
|
* such as Shopify customer IDs or Salesforce contact IDs. Without a user ID,
|
|
325
325
|
* pass options as `client.identify(traits, options)`, or use
|
|
326
326
|
* `client.identify(traits, undefined, options)` when your call site needs the
|
|
327
|
-
* explicit three-argument form.
|
|
327
|
+
* explicit three-argument form. Do not put Segment-shaped `externalIds` in
|
|
328
|
+
* traits.
|
|
328
329
|
*
|
|
329
330
|
* @see https://getuserfeedback.com/docs/guides/identity-resolution
|
|
330
331
|
*/
|
|
@@ -335,7 +336,7 @@ export type IdentifyOptions = {
|
|
|
335
336
|
* Optional context accepted by `client.track()`.
|
|
336
337
|
*
|
|
337
338
|
* Use `externalIds` when the event carries a Segment-compatible identifier
|
|
338
|
-
* from another system.
|
|
339
|
+
* from another system. Do not put Segment-shaped `externalIds` in properties.
|
|
339
340
|
*
|
|
340
341
|
* @see https://getuserfeedback.com/docs/reference/events
|
|
341
342
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sdk-types.d.ts","sourceRoot":"","sources":["../../src/host/sdk-types.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"sdk-types.d.ts","sourceRoot":"","sources":["../../src/host/sdk-types.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -44,7 +44,7 @@ describe("flow assignment request contracts", () => {
|
|
|
44
44
|
holdOwnerKey: "inst_1",
|
|
45
45
|
identities: [
|
|
46
46
|
{
|
|
47
|
-
type: "externalId.shopify_customer_id",
|
|
47
|
+
type: "externalId.users.none.shopify_customer_id",
|
|
48
48
|
value: "gid://shopify/Customer/123",
|
|
49
49
|
},
|
|
50
50
|
],
|
|
@@ -52,12 +52,48 @@ describe("flow assignment request contracts", () => {
|
|
|
52
52
|
|
|
53
53
|
expect(result.identities).toEqual([
|
|
54
54
|
{
|
|
55
|
-
type: "externalId.shopify_customer_id",
|
|
55
|
+
type: "externalId.users.none.shopify_customer_id",
|
|
56
56
|
value: "gid://shopify/Customer/123",
|
|
57
57
|
},
|
|
58
58
|
]);
|
|
59
59
|
});
|
|
60
60
|
|
|
61
|
+
it("rejects unsupported external ID identity namespaces", () => {
|
|
62
|
+
expect(() =>
|
|
63
|
+
claimPendingFlowAssignmentsRequestSchema.parse({
|
|
64
|
+
holdOwnerKey: "inst_1",
|
|
65
|
+
identities: [
|
|
66
|
+
{
|
|
67
|
+
type: "externalId.accounts.none.shopify_customer_id",
|
|
68
|
+
value: "gid://shopify/Customer/123",
|
|
69
|
+
},
|
|
70
|
+
],
|
|
71
|
+
}),
|
|
72
|
+
).toThrow("externalId.users.none.<type>");
|
|
73
|
+
expect(() =>
|
|
74
|
+
claimPendingFlowAssignmentsRequestSchema.parse({
|
|
75
|
+
holdOwnerKey: "inst_1",
|
|
76
|
+
identities: [
|
|
77
|
+
{
|
|
78
|
+
type: "externalId.users.custom.shopify_customer_id",
|
|
79
|
+
value: "gid://shopify/Customer/123",
|
|
80
|
+
},
|
|
81
|
+
],
|
|
82
|
+
}),
|
|
83
|
+
).toThrow("externalId.users.none.<type>");
|
|
84
|
+
expect(() =>
|
|
85
|
+
claimPendingFlowAssignmentsRequestSchema.parse({
|
|
86
|
+
holdOwnerKey: "inst_1",
|
|
87
|
+
identities: [
|
|
88
|
+
{
|
|
89
|
+
type: "externalId.shopify_customer_id",
|
|
90
|
+
value: "gid://shopify/Customer/123",
|
|
91
|
+
},
|
|
92
|
+
],
|
|
93
|
+
}),
|
|
94
|
+
).toThrow("externalId.users.none.<type>");
|
|
95
|
+
});
|
|
96
|
+
|
|
61
97
|
it("accepts runtime targeting context for lifecycle updates", () => {
|
|
62
98
|
const result = updateFlowAssignmentLifecycleRequestSchema.parse({
|
|
63
99
|
identities: [{ type: "userId", value: "user_1" }],
|
package/src/flow-assignments.ts
CHANGED
|
@@ -7,7 +7,8 @@ import {
|
|
|
7
7
|
} from "./app-event.js";
|
|
8
8
|
import type { IdentityTypeValue } from "./identity-type.js";
|
|
9
9
|
|
|
10
|
-
export type FlowAssignmentExternalIdIdentityTypeValue =
|
|
10
|
+
export type FlowAssignmentExternalIdIdentityTypeValue =
|
|
11
|
+
`externalId.users.none.${string}`;
|
|
11
12
|
export type FlowAssignmentIdentityTypeValue =
|
|
12
13
|
| IdentityTypeValue
|
|
13
14
|
| FlowAssignmentExternalIdIdentityTypeValue;
|
|
@@ -15,9 +16,9 @@ export type FlowAssignmentIdentityTypeValue =
|
|
|
15
16
|
const flowAssignmentExternalIdIdentityTypeSchema = z.string().check(
|
|
16
17
|
z.trim(),
|
|
17
18
|
z.minLength(1),
|
|
18
|
-
z.regex(/^externalId\.[a-z0-9][a-z0-9_.-]*$/, {
|
|
19
|
+
z.regex(/^externalId\.users\.none\.[a-z0-9][a-z0-9_.-]*$/, {
|
|
19
20
|
message:
|
|
20
|
-
"External ID identity type must use externalId.<type> with a lowercase Segment external ID type.",
|
|
21
|
+
"External ID identity type must use externalId.users.none.<type> with a lowercase Segment external ID type.",
|
|
21
22
|
}),
|
|
22
23
|
) as z.ZodMiniType<
|
|
23
24
|
FlowAssignmentExternalIdIdentityTypeValue,
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import { describe, expect, it } from "bun:test";
|
|
2
|
+
|
|
3
|
+
import { assertNoSegmentExternalIdsInValueArgument } from "./external-id-argument-guards";
|
|
4
|
+
|
|
5
|
+
const segmentExternalIds = [
|
|
6
|
+
{
|
|
7
|
+
id: "gid://shopify/Customer/123",
|
|
8
|
+
type: "shopify_customer_id",
|
|
9
|
+
collection: "users" as const,
|
|
10
|
+
encoding: "none" as const,
|
|
11
|
+
},
|
|
12
|
+
];
|
|
13
|
+
|
|
14
|
+
describe("external ID argument guards", () => {
|
|
15
|
+
it("rejects own Segment-shaped externalIds in value arguments", () => {
|
|
16
|
+
expect(() =>
|
|
17
|
+
assertNoSegmentExternalIdsInValueArgument({
|
|
18
|
+
argument: { plan: "pro", externalIds: segmentExternalIds },
|
|
19
|
+
commandName: "identify",
|
|
20
|
+
valueArgumentName: "traits",
|
|
21
|
+
callShape: "identify(userId, traits, { externalIds })",
|
|
22
|
+
}),
|
|
23
|
+
).toThrow(
|
|
24
|
+
"identify received externalIds in the traits argument. Use identify(userId, traits, { externalIds }) instead.",
|
|
25
|
+
);
|
|
26
|
+
});
|
|
27
|
+
|
|
28
|
+
it("ignores inherited Segment-shaped externalIds", () => {
|
|
29
|
+
const argument = Object.create({
|
|
30
|
+
externalIds: segmentExternalIds,
|
|
31
|
+
}) as Record<string, unknown>;
|
|
32
|
+
argument.plan = "pro";
|
|
33
|
+
|
|
34
|
+
expect(() =>
|
|
35
|
+
assertNoSegmentExternalIdsInValueArgument({
|
|
36
|
+
argument,
|
|
37
|
+
commandName: "identify",
|
|
38
|
+
valueArgumentName: "traits",
|
|
39
|
+
callShape: "identify(userId, traits, { externalIds })",
|
|
40
|
+
}),
|
|
41
|
+
).not.toThrow();
|
|
42
|
+
});
|
|
43
|
+
});
|
|
@@ -1,16 +1,19 @@
|
|
|
1
1
|
type ExternalIdArgumentCommandName = "identify" | "track";
|
|
2
2
|
type ExternalIdArgumentValueName = "traits" | "properties";
|
|
3
|
+
type ExternalIdsCallShape =
|
|
4
|
+
| "identify(userId, traits, { externalIds })"
|
|
5
|
+
| "identify(traits, { externalIds })"
|
|
6
|
+
| "track(eventName, properties, { externalIds })";
|
|
3
7
|
|
|
4
|
-
const
|
|
8
|
+
const hasSegmentExternalIdsProperty = (value: unknown): boolean => {
|
|
5
9
|
if (value === null || typeof value !== "object" || Array.isArray(value)) {
|
|
6
10
|
return false;
|
|
7
11
|
}
|
|
8
12
|
|
|
9
|
-
const
|
|
10
|
-
|
|
13
|
+
const externalIds = Object.entries(value).find(
|
|
14
|
+
([key]) => key === "externalIds",
|
|
15
|
+
)?.[1];
|
|
11
16
|
return (
|
|
12
|
-
entries.length === 1 &&
|
|
13
|
-
entries[0]?.[0] === "externalIds" &&
|
|
14
17
|
Array.isArray(externalIds) &&
|
|
15
18
|
externalIds.length > 0 &&
|
|
16
19
|
externalIds.every(isSegmentExternalIdLike)
|
|
@@ -36,22 +39,22 @@ const isSegmentExternalIdLike = (
|
|
|
36
39
|
);
|
|
37
40
|
};
|
|
38
41
|
|
|
39
|
-
export const
|
|
42
|
+
export const assertNoSegmentExternalIdsInValueArgument = ({
|
|
40
43
|
argument,
|
|
41
|
-
options,
|
|
42
44
|
commandName,
|
|
43
45
|
valueArgumentName,
|
|
46
|
+
callShape,
|
|
44
47
|
}: {
|
|
45
48
|
argument: unknown;
|
|
46
|
-
options: unknown;
|
|
47
49
|
commandName: ExternalIdArgumentCommandName;
|
|
48
50
|
valueArgumentName: ExternalIdArgumentValueName;
|
|
51
|
+
callShape: ExternalIdsCallShape;
|
|
49
52
|
}): void => {
|
|
50
|
-
if (
|
|
53
|
+
if (!hasSegmentExternalIdsProperty(argument)) {
|
|
51
54
|
return;
|
|
52
55
|
}
|
|
53
56
|
|
|
54
57
|
throw new Error(
|
|
55
|
-
`${commandName} received externalIds in the ${valueArgumentName} argument.
|
|
58
|
+
`${commandName} received externalIds in the ${valueArgumentName} argument. Use ${callShape} instead.`,
|
|
56
59
|
);
|
|
57
60
|
};
|
package/src/host/sdk-types.ts
CHANGED
|
@@ -409,7 +409,8 @@ export type IdentifyCommandPayload =
|
|
|
409
409
|
* such as Shopify customer IDs or Salesforce contact IDs. Without a user ID,
|
|
410
410
|
* pass options as `client.identify(traits, options)`, or use
|
|
411
411
|
* `client.identify(traits, undefined, options)` when your call site needs the
|
|
412
|
-
* explicit three-argument form.
|
|
412
|
+
* explicit three-argument form. Do not put Segment-shaped `externalIds` in
|
|
413
|
+
* traits.
|
|
413
414
|
*
|
|
414
415
|
* @see https://getuserfeedback.com/docs/guides/identity-resolution
|
|
415
416
|
*/
|
|
@@ -421,7 +422,7 @@ export type IdentifyOptions = {
|
|
|
421
422
|
* Optional context accepted by `client.track()`.
|
|
422
423
|
*
|
|
423
424
|
* Use `externalIds` when the event carries a Segment-compatible identifier
|
|
424
|
-
* from another system.
|
|
425
|
+
* from another system. Do not put Segment-shaped `externalIds` in properties.
|
|
425
426
|
*
|
|
426
427
|
* @see https://getuserfeedback.com/docs/reference/events
|
|
427
428
|
*/
|