@voyantjs/crm 0.26.2 → 0.26.4

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.
@@ -984,6 +984,252 @@ export type PersonDocumentUpdate = z.infer<typeof updatePersonDocumentSchema>;
984
984
  export type PersonDocumentPlaintextInput = z.infer<typeof insertPersonDocumentFromPlaintextSchema>;
985
985
  export type PersonDocumentPlaintextUpdate = z.infer<typeof updatePersonDocumentFromPlaintextSchema>;
986
986
  export type UpdatePersonProfilePiiInput = z.infer<typeof updatePersonProfilePiiSchema>;
987
+ export declare const customerSignalKindSchema: z.ZodEnum<{
988
+ wishlist: "wishlist";
989
+ notify: "notify";
990
+ inquiry: "inquiry";
991
+ request_offer: "request_offer";
992
+ referral: "referral";
993
+ }>;
994
+ export declare const customerSignalSourceSchema: z.ZodEnum<{
995
+ admin: "admin";
996
+ form: "form";
997
+ phone: "phone";
998
+ website: "website";
999
+ abandoned_cart: "abandoned_cart";
1000
+ booking: "booking";
1001
+ }>;
1002
+ export declare const customerSignalStatusSchema: z.ZodEnum<{
1003
+ lost: "lost";
1004
+ expired: "expired";
1005
+ new: "new";
1006
+ contacted: "contacted";
1007
+ qualified: "qualified";
1008
+ converted: "converted";
1009
+ }>;
1010
+ export declare const customerSignalPrioritySchema: z.ZodEnum<{
1011
+ normal: "normal";
1012
+ low: "low";
1013
+ high: "high";
1014
+ urgent: "urgent";
1015
+ }>;
1016
+ export declare const insertCustomerSignalSchema: z.ZodObject<{
1017
+ personId: z.ZodString;
1018
+ productId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1019
+ optionUnitId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1020
+ kind: z.ZodEnum<{
1021
+ wishlist: "wishlist";
1022
+ notify: "notify";
1023
+ inquiry: "inquiry";
1024
+ request_offer: "request_offer";
1025
+ referral: "referral";
1026
+ }>;
1027
+ source: z.ZodEnum<{
1028
+ admin: "admin";
1029
+ form: "form";
1030
+ phone: "phone";
1031
+ website: "website";
1032
+ abandoned_cart: "abandoned_cart";
1033
+ booking: "booking";
1034
+ }>;
1035
+ status: z.ZodDefault<z.ZodEnum<{
1036
+ lost: "lost";
1037
+ expired: "expired";
1038
+ new: "new";
1039
+ contacted: "contacted";
1040
+ qualified: "qualified";
1041
+ converted: "converted";
1042
+ }>>;
1043
+ priority: z.ZodDefault<z.ZodEnum<{
1044
+ normal: "normal";
1045
+ low: "low";
1046
+ high: "high";
1047
+ urgent: "urgent";
1048
+ }>>;
1049
+ notes: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1050
+ tags: z.ZodDefault<z.ZodArray<z.ZodString>>;
1051
+ assignedToUserId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1052
+ followUpAt: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1053
+ resolvedBookingId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1054
+ sourceSubmissionId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1055
+ metadata: z.ZodOptional<z.ZodNullable<z.ZodRecord<z.ZodString, z.ZodUnknown>>>;
1056
+ }, z.core.$strip>;
1057
+ export declare const updateCustomerSignalSchema: z.ZodObject<{
1058
+ source: z.ZodOptional<z.ZodEnum<{
1059
+ admin: "admin";
1060
+ form: "form";
1061
+ phone: "phone";
1062
+ website: "website";
1063
+ abandoned_cart: "abandoned_cart";
1064
+ booking: "booking";
1065
+ }>>;
1066
+ metadata: z.ZodOptional<z.ZodOptional<z.ZodNullable<z.ZodRecord<z.ZodString, z.ZodUnknown>>>>;
1067
+ status: z.ZodOptional<z.ZodDefault<z.ZodEnum<{
1068
+ lost: "lost";
1069
+ expired: "expired";
1070
+ new: "new";
1071
+ contacted: "contacted";
1072
+ qualified: "qualified";
1073
+ converted: "converted";
1074
+ }>>>;
1075
+ notes: z.ZodOptional<z.ZodOptional<z.ZodNullable<z.ZodString>>>;
1076
+ kind: z.ZodOptional<z.ZodEnum<{
1077
+ wishlist: "wishlist";
1078
+ notify: "notify";
1079
+ inquiry: "inquiry";
1080
+ request_offer: "request_offer";
1081
+ referral: "referral";
1082
+ }>>;
1083
+ tags: z.ZodOptional<z.ZodDefault<z.ZodArray<z.ZodString>>>;
1084
+ productId: z.ZodOptional<z.ZodOptional<z.ZodNullable<z.ZodString>>>;
1085
+ optionUnitId: z.ZodOptional<z.ZodOptional<z.ZodNullable<z.ZodString>>>;
1086
+ priority: z.ZodOptional<z.ZodDefault<z.ZodEnum<{
1087
+ normal: "normal";
1088
+ low: "low";
1089
+ high: "high";
1090
+ urgent: "urgent";
1091
+ }>>>;
1092
+ assignedToUserId: z.ZodOptional<z.ZodOptional<z.ZodNullable<z.ZodString>>>;
1093
+ followUpAt: z.ZodOptional<z.ZodOptional<z.ZodNullable<z.ZodString>>>;
1094
+ resolvedBookingId: z.ZodOptional<z.ZodOptional<z.ZodNullable<z.ZodString>>>;
1095
+ sourceSubmissionId: z.ZodOptional<z.ZodOptional<z.ZodNullable<z.ZodString>>>;
1096
+ }, z.core.$strip>;
1097
+ export declare const customerSignalListQuerySchema: z.ZodObject<{
1098
+ limit: z.ZodDefault<z.ZodCoercedNumber<unknown>>;
1099
+ offset: z.ZodDefault<z.ZodCoercedNumber<unknown>>;
1100
+ personId: z.ZodOptional<z.ZodString>;
1101
+ assignedToUserId: z.ZodOptional<z.ZodString>;
1102
+ status: z.ZodOptional<z.ZodEnum<{
1103
+ lost: "lost";
1104
+ expired: "expired";
1105
+ new: "new";
1106
+ contacted: "contacted";
1107
+ qualified: "qualified";
1108
+ converted: "converted";
1109
+ }>>;
1110
+ kind: z.ZodOptional<z.ZodEnum<{
1111
+ wishlist: "wishlist";
1112
+ notify: "notify";
1113
+ inquiry: "inquiry";
1114
+ request_offer: "request_offer";
1115
+ referral: "referral";
1116
+ }>>;
1117
+ productId: z.ZodOptional<z.ZodString>;
1118
+ search: z.ZodOptional<z.ZodString>;
1119
+ }, z.core.$strip>;
1120
+ export declare const resolveCustomerSignalSchema: z.ZodObject<{
1121
+ bookingId: z.ZodString;
1122
+ }, z.core.$strip>;
1123
+ export type CustomerSignalInput = z.infer<typeof insertCustomerSignalSchema>;
1124
+ export type CustomerSignalUpdate = z.infer<typeof updateCustomerSignalSchema>;
1125
+ export type CustomerSignalListQueryInput = z.infer<typeof customerSignalListQuerySchema>;
1126
+ export type ResolveCustomerSignalInput = z.infer<typeof resolveCustomerSignalSchema>;
1127
+ export declare const personRelationshipKindSchema: z.ZodEnum<{
1128
+ partner: "partner";
1129
+ other: "other";
1130
+ spouse: "spouse";
1131
+ parent: "parent";
1132
+ child: "child";
1133
+ sibling: "sibling";
1134
+ guardian: "guardian";
1135
+ ward: "ward";
1136
+ emergency_contact: "emergency_contact";
1137
+ friend: "friend";
1138
+ travel_companion: "travel_companion";
1139
+ }>;
1140
+ export declare const insertPersonRelationshipSchema: z.ZodObject<{
1141
+ toPersonId: z.ZodString;
1142
+ kind: z.ZodEnum<{
1143
+ partner: "partner";
1144
+ other: "other";
1145
+ spouse: "spouse";
1146
+ parent: "parent";
1147
+ child: "child";
1148
+ sibling: "sibling";
1149
+ guardian: "guardian";
1150
+ ward: "ward";
1151
+ emergency_contact: "emergency_contact";
1152
+ friend: "friend";
1153
+ travel_companion: "travel_companion";
1154
+ }>;
1155
+ inverseKind: z.ZodOptional<z.ZodNullable<z.ZodEnum<{
1156
+ partner: "partner";
1157
+ other: "other";
1158
+ spouse: "spouse";
1159
+ parent: "parent";
1160
+ child: "child";
1161
+ sibling: "sibling";
1162
+ guardian: "guardian";
1163
+ ward: "ward";
1164
+ emergency_contact: "emergency_contact";
1165
+ friend: "friend";
1166
+ travel_companion: "travel_companion";
1167
+ }>>>;
1168
+ startDate: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1169
+ endDate: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1170
+ isPrimary: z.ZodDefault<z.ZodBoolean>;
1171
+ notes: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1172
+ metadata: z.ZodOptional<z.ZodNullable<z.ZodRecord<z.ZodString, z.ZodUnknown>>>;
1173
+ autoInverse: z.ZodOptional<z.ZodBoolean>;
1174
+ }, z.core.$strip>;
1175
+ export declare const updatePersonRelationshipSchema: z.ZodObject<{
1176
+ metadata: z.ZodOptional<z.ZodOptional<z.ZodNullable<z.ZodRecord<z.ZodString, z.ZodUnknown>>>>;
1177
+ startDate: z.ZodOptional<z.ZodOptional<z.ZodNullable<z.ZodString>>>;
1178
+ endDate: z.ZodOptional<z.ZodOptional<z.ZodNullable<z.ZodString>>>;
1179
+ notes: z.ZodOptional<z.ZodOptional<z.ZodNullable<z.ZodString>>>;
1180
+ kind: z.ZodOptional<z.ZodEnum<{
1181
+ partner: "partner";
1182
+ other: "other";
1183
+ spouse: "spouse";
1184
+ parent: "parent";
1185
+ child: "child";
1186
+ sibling: "sibling";
1187
+ guardian: "guardian";
1188
+ ward: "ward";
1189
+ emergency_contact: "emergency_contact";
1190
+ friend: "friend";
1191
+ travel_companion: "travel_companion";
1192
+ }>>;
1193
+ isPrimary: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
1194
+ inverseKind: z.ZodOptional<z.ZodOptional<z.ZodNullable<z.ZodEnum<{
1195
+ partner: "partner";
1196
+ other: "other";
1197
+ spouse: "spouse";
1198
+ parent: "parent";
1199
+ child: "child";
1200
+ sibling: "sibling";
1201
+ guardian: "guardian";
1202
+ ward: "ward";
1203
+ emergency_contact: "emergency_contact";
1204
+ friend: "friend";
1205
+ travel_companion: "travel_companion";
1206
+ }>>>>;
1207
+ }, z.core.$strip>;
1208
+ export declare const personRelationshipListQuerySchema: z.ZodObject<{
1209
+ limit: z.ZodDefault<z.ZodCoercedNumber<unknown>>;
1210
+ offset: z.ZodDefault<z.ZodCoercedNumber<unknown>>;
1211
+ kind: z.ZodOptional<z.ZodEnum<{
1212
+ partner: "partner";
1213
+ other: "other";
1214
+ spouse: "spouse";
1215
+ parent: "parent";
1216
+ child: "child";
1217
+ sibling: "sibling";
1218
+ guardian: "guardian";
1219
+ ward: "ward";
1220
+ emergency_contact: "emergency_contact";
1221
+ friend: "friend";
1222
+ travel_companion: "travel_companion";
1223
+ }>>;
1224
+ direction: z.ZodDefault<z.ZodEnum<{
1225
+ from: "from";
1226
+ to: "to";
1227
+ both: "both";
1228
+ }>>;
1229
+ }, z.core.$strip>;
1230
+ export type PersonRelationshipInput = z.infer<typeof insertPersonRelationshipSchema>;
1231
+ export type PersonRelationshipUpdate = z.infer<typeof updatePersonRelationshipSchema>;
1232
+ export type PersonRelationshipListQueryInput = z.infer<typeof personRelationshipListQuerySchema>;
987
1233
  export declare const insertPersonNoteSchema: z.ZodObject<{
988
1234
  content: z.ZodString;
989
1235
  }, z.core.$strip>;
@@ -1 +1 @@
1
- {"version":3,"file":"validation.d.ts","sourceRoot":"","sources":["../src/validation.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"validation.d.ts","sourceRoot":"","sources":["../src/validation.ts"],"names":[],"mappings":"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"}
@@ -347,6 +347,104 @@ export const updatePersonProfilePiiSchema = z
347
347
  .refine((value) => Object.keys(value).length > 0, {
348
348
  message: "At least one field must be provided",
349
349
  });
350
+ // ---------- customer signals ----------
351
+ export const customerSignalKindSchema = z.enum([
352
+ "wishlist",
353
+ "notify",
354
+ "inquiry",
355
+ "request_offer",
356
+ "referral",
357
+ ]);
358
+ export const customerSignalSourceSchema = z.enum([
359
+ "form",
360
+ "phone",
361
+ "admin",
362
+ "abandoned_cart",
363
+ "website",
364
+ "booking",
365
+ ]);
366
+ export const customerSignalStatusSchema = z.enum([
367
+ "new",
368
+ "contacted",
369
+ "qualified",
370
+ "converted",
371
+ "lost",
372
+ "expired",
373
+ ]);
374
+ export const customerSignalPrioritySchema = z.enum(["low", "normal", "high", "urgent"]);
375
+ const customerSignalCoreSchema = z.object({
376
+ personId: z.string().min(1),
377
+ productId: z.string().nullable().optional(),
378
+ optionUnitId: z.string().nullable().optional(),
379
+ kind: customerSignalKindSchema,
380
+ source: customerSignalSourceSchema,
381
+ status: customerSignalStatusSchema.default("new"),
382
+ priority: customerSignalPrioritySchema.default("normal"),
383
+ notes: z.string().nullable().optional(),
384
+ tags: z.array(z.string()).default([]),
385
+ assignedToUserId: z.string().nullable().optional(),
386
+ followUpAt: z.string().datetime().nullable().optional(),
387
+ resolvedBookingId: z.string().nullable().optional(),
388
+ sourceSubmissionId: z.string().nullable().optional(),
389
+ metadata: z.record(z.string(), z.unknown()).nullable().optional(),
390
+ });
391
+ export const insertCustomerSignalSchema = customerSignalCoreSchema;
392
+ export const updateCustomerSignalSchema = customerSignalCoreSchema
393
+ .partial()
394
+ .omit({ personId: true });
395
+ export const customerSignalListQuerySchema = paginationSchema.extend({
396
+ personId: z.string().optional(),
397
+ assignedToUserId: z.string().optional(),
398
+ status: customerSignalStatusSchema.optional(),
399
+ kind: customerSignalKindSchema.optional(),
400
+ productId: z.string().optional(),
401
+ search: z.string().optional(),
402
+ });
403
+ export const resolveCustomerSignalSchema = z.object({
404
+ bookingId: z.string().min(1),
405
+ });
406
+ // ---------- person relationships ----------
407
+ export const personRelationshipKindSchema = z.enum([
408
+ "spouse",
409
+ "partner",
410
+ "parent",
411
+ "child",
412
+ "sibling",
413
+ "guardian",
414
+ "ward",
415
+ "emergency_contact",
416
+ "friend",
417
+ "travel_companion",
418
+ "other",
419
+ ]);
420
+ const personRelationshipCoreSchema = z.object({
421
+ toPersonId: z.string().min(1),
422
+ kind: personRelationshipKindSchema,
423
+ inverseKind: personRelationshipKindSchema.nullable().optional(),
424
+ startDate: z.string().date().nullable().optional(),
425
+ endDate: z.string().date().nullable().optional(),
426
+ isPrimary: z.boolean().default(false),
427
+ notes: z.string().nullable().optional(),
428
+ metadata: z.record(z.string(), z.unknown()).nullable().optional(),
429
+ /**
430
+ * Set to false to skip writing the symmetric edge when
431
+ * `inverseKind` is provided. Defaults to `true` so operator UIs
432
+ * don't have to maintain both sides.
433
+ */
434
+ autoInverse: z.boolean().optional(),
435
+ });
436
+ export const insertPersonRelationshipSchema = personRelationshipCoreSchema;
437
+ export const updatePersonRelationshipSchema = personRelationshipCoreSchema
438
+ .partial()
439
+ .omit({ toPersonId: true, autoInverse: true });
440
+ export const personRelationshipListQuerySchema = paginationSchema.extend({
441
+ kind: personRelationshipKindSchema.optional(),
442
+ /**
443
+ * `from` returns only outgoing edges, `to` only incoming, `both`
444
+ * (the default) returns the union — the typical UI shape.
445
+ */
446
+ direction: z.enum(["from", "to", "both"]).default("both"),
447
+ });
350
448
  // ---------- notes ----------
351
449
  export const insertPersonNoteSchema = z.object({
352
450
  content: z.string().min(1).max(10000),
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@voyantjs/crm",
3
- "version": "0.26.2",
3
+ "version": "0.26.4",
4
4
  "license": "Apache-2.0",
5
5
  "type": "module",
6
6
  "exports": {
@@ -34,11 +34,11 @@
34
34
  "drizzle-orm": "^0.45.2",
35
35
  "hono": "^4.12.10",
36
36
  "zod": "^4.3.6",
37
- "@voyantjs/core": "0.26.2",
38
- "@voyantjs/db": "0.26.2",
39
- "@voyantjs/hono": "0.26.2",
40
- "@voyantjs/identity": "0.26.2",
41
- "@voyantjs/utils": "0.26.2"
37
+ "@voyantjs/core": "0.26.4",
38
+ "@voyantjs/db": "0.26.4",
39
+ "@voyantjs/hono": "0.26.4",
40
+ "@voyantjs/identity": "0.26.4",
41
+ "@voyantjs/utils": "0.26.4"
42
42
  },
43
43
  "devDependencies": {
44
44
  "typescript": "^6.0.2",