@etohq/utils 1.5.1-alpha.2 → 1.5.1-alpha.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.
Files changed (262) hide show
  1. package/dist/access-link/case-sensitivity.d.ts +14 -0
  2. package/dist/access-link/case-sensitivity.d.ts.map +1 -0
  3. package/dist/access-link/case-sensitivity.js +57 -0
  4. package/dist/access-link/case-sensitivity.js.map +1 -0
  5. package/dist/access-link/check-if-key-exists.d.ts +7 -0
  6. package/dist/access-link/check-if-key-exists.d.ts.map +1 -0
  7. package/dist/access-link/check-if-key-exists.js +36 -0
  8. package/dist/access-link/check-if-key-exists.js.map +1 -0
  9. package/dist/access-link/index.d.ts +11 -0
  10. package/dist/access-link/index.d.ts.map +1 -0
  11. package/dist/access-link/index.js +27 -0
  12. package/dist/access-link/index.js.map +1 -0
  13. package/dist/access-link/key-checks.d.ts +12 -0
  14. package/dist/access-link/key-checks.d.ts.map +1 -0
  15. package/dist/access-link/key-checks.js +78 -0
  16. package/dist/access-link/key-checks.js.map +1 -0
  17. package/dist/access-link/link-resolution.d.ts +26 -0
  18. package/dist/access-link/link-resolution.d.ts.map +1 -0
  19. package/dist/access-link/link-resolution.js +111 -0
  20. package/dist/access-link/link-resolution.js.map +1 -0
  21. package/dist/access-link/link-utils.d.ts +23 -0
  22. package/dist/access-link/link-utils.d.ts.map +1 -0
  23. package/dist/access-link/link-utils.js +61 -0
  24. package/dist/access-link/link-utils.js.map +1 -0
  25. package/dist/access-link/process-key.d.ts +5 -0
  26. package/dist/access-link/process-key.d.ts.map +1 -0
  27. package/dist/access-link/process-key.js +58 -0
  28. package/dist/access-link/process-key.js.map +1 -0
  29. package/dist/access-link/process-utils.d.ts +19 -0
  30. package/dist/access-link/process-utils.d.ts.map +1 -0
  31. package/dist/access-link/process-utils.js +52 -0
  32. package/dist/access-link/process-utils.js.map +1 -0
  33. package/dist/access-link/transform-link.d.ts +47 -0
  34. package/dist/access-link/transform-link.d.ts.map +1 -0
  35. package/dist/access-link/transform-link.js +25 -0
  36. package/dist/access-link/transform-link.js.map +1 -0
  37. package/dist/access-link/url-detection.d.ts +10 -0
  38. package/dist/access-link/url-detection.d.ts.map +1 -0
  39. package/dist/access-link/url-detection.js +63 -0
  40. package/dist/access-link/url-detection.js.map +1 -0
  41. package/dist/access-link/validation-utils.d.ts +23 -0
  42. package/dist/access-link/validation-utils.d.ts.map +1 -0
  43. package/dist/access-link/validation-utils.js +57 -0
  44. package/dist/access-link/validation-utils.js.map +1 -0
  45. package/dist/analytics/detect-bot.d.ts +2 -0
  46. package/dist/analytics/detect-bot.d.ts.map +1 -0
  47. package/dist/analytics/detect-bot.js +21 -0
  48. package/dist/analytics/detect-bot.js.map +1 -0
  49. package/dist/analytics/detect-qr.d.ts +2 -0
  50. package/dist/analytics/detect-qr.d.ts.map +1 -0
  51. package/dist/analytics/detect-qr.js +10 -0
  52. package/dist/analytics/detect-qr.js.map +1 -0
  53. package/dist/analytics/get-click-event.d.ts +8 -0
  54. package/dist/analytics/get-click-event.d.ts.map +1 -0
  55. package/dist/analytics/get-click-event.js +24 -0
  56. package/dist/analytics/get-click-event.js.map +1 -0
  57. package/dist/analytics/get-geolocation.d.ts +12 -0
  58. package/dist/analytics/get-geolocation.d.ts.map +1 -0
  59. package/dist/analytics/get-geolocation.js +51 -0
  60. package/dist/analytics/get-geolocation.js.map +1 -0
  61. package/dist/analytics/get-grant-event.d.ts +8 -0
  62. package/dist/analytics/get-grant-event.d.ts.map +1 -0
  63. package/dist/analytics/get-grant-event.js +24 -0
  64. package/dist/analytics/get-grant-event.js.map +1 -0
  65. package/dist/analytics/get-import-error-logs.d.ts +17 -0
  66. package/dist/analytics/get-import-error-logs.d.ts.map +1 -0
  67. package/dist/analytics/get-import-error-logs.js +23 -0
  68. package/dist/analytics/get-import-error-logs.js.map +1 -0
  69. package/dist/analytics/get-lead-events.d.ts +17 -0
  70. package/dist/analytics/get-lead-events.d.ts.map +1 -0
  71. package/dist/analytics/get-lead-events.js +17 -0
  72. package/dist/analytics/get-lead-events.js.map +1 -0
  73. package/dist/analytics/get-webhook-events.d.ts +17 -0
  74. package/dist/analytics/get-webhook-events.d.ts.map +1 -0
  75. package/dist/analytics/get-webhook-events.js +22 -0
  76. package/dist/analytics/get-webhook-events.js.map +1 -0
  77. package/dist/analytics/index.d.ts +18 -0
  78. package/dist/analytics/index.d.ts.map +1 -1
  79. package/dist/analytics/index.js +18 -0
  80. package/dist/analytics/index.js.map +1 -1
  81. package/dist/analytics/log-conversion-events.d.ts +6 -0
  82. package/dist/analytics/log-conversion-events.d.ts.map +1 -0
  83. package/dist/analytics/log-conversion-events.js +20 -0
  84. package/dist/analytics/log-conversion-events.js.map +1 -0
  85. package/dist/analytics/log-import-error.d.ts +6 -0
  86. package/dist/analytics/log-import-error.d.ts.map +1 -0
  87. package/dist/analytics/log-import-error.js +18 -0
  88. package/dist/analytics/log-import-error.js.map +1 -0
  89. package/dist/analytics/parse-user-agent.d.ts +13 -0
  90. package/dist/analytics/parse-user-agent.d.ts.map +1 -0
  91. package/dist/analytics/parse-user-agent.js +174 -0
  92. package/dist/analytics/parse-user-agent.js.map +1 -0
  93. package/dist/analytics/record-approval.d.ts +56 -0
  94. package/dist/analytics/record-approval.d.ts.map +1 -0
  95. package/dist/analytics/record-approval.js +32 -0
  96. package/dist/analytics/record-approval.js.map +1 -0
  97. package/dist/analytics/record-click.d.ts +32 -0
  98. package/dist/analytics/record-click.d.ts.map +1 -0
  99. package/dist/analytics/record-click.js +136 -0
  100. package/dist/analytics/record-click.js.map +1 -0
  101. package/dist/analytics/record-lead.d.ts +24 -0
  102. package/dist/analytics/record-lead.d.ts.map +1 -0
  103. package/dist/analytics/record-lead.js +72 -0
  104. package/dist/analytics/record-lead.js.map +1 -0
  105. package/dist/analytics/record-link.d.ts +106 -0
  106. package/dist/analytics/record-link.d.ts.map +1 -0
  107. package/dist/analytics/record-link.js +78 -0
  108. package/dist/analytics/record-link.js.map +1 -0
  109. package/dist/analytics/record-sale.d.ts +10 -0
  110. package/dist/analytics/record-sale.d.ts.map +1 -0
  111. package/dist/analytics/record-sale.js +35 -0
  112. package/dist/analytics/record-sale.js.map +1 -0
  113. package/dist/analytics/record-webhook-event.d.ts +26 -0
  114. package/dist/analytics/record-webhook-event.d.ts.map +1 -0
  115. package/dist/analytics/record-webhook-event.js +22 -0
  116. package/dist/analytics/record-webhook-event.js.map +1 -0
  117. package/dist/analytics/schemas.d.ts +257 -0
  118. package/dist/analytics/schemas.d.ts.map +1 -0
  119. package/dist/analytics/schemas.js +99 -0
  120. package/dist/analytics/schemas.js.map +1 -0
  121. package/dist/analytics/tinybird-client.d.ts +6 -0
  122. package/dist/analytics/tinybird-client.d.ts.map +1 -0
  123. package/dist/analytics/tinybird-client.js +11 -0
  124. package/dist/analytics/tinybird-client.js.map +1 -0
  125. package/dist/common/constants.d.ts +24 -0
  126. package/dist/common/constants.d.ts.map +1 -0
  127. package/dist/common/constants.js +196 -0
  128. package/dist/common/constants.js.map +1 -0
  129. package/dist/common/domains.d.ts +8 -0
  130. package/dist/common/domains.d.ts.map +1 -0
  131. package/dist/common/domains.js +88 -0
  132. package/dist/common/domains.js.map +1 -0
  133. package/dist/common/dynamic-import.d.ts.map +1 -1
  134. package/dist/common/dynamic-import.js +24 -1
  135. package/dist/common/dynamic-import.js.map +1 -1
  136. package/dist/common/fetch-with-retry.d.ts +6 -0
  137. package/dist/common/fetch-with-retry.d.ts.map +1 -0
  138. package/dist/common/fetch-with-retry.js +63 -0
  139. package/dist/common/fetch-with-retry.js.map +1 -0
  140. package/dist/common/get-identity-hash.d.ts +2 -0
  141. package/dist/common/get-identity-hash.d.ts.map +1 -0
  142. package/dist/common/get-identity-hash.js +19 -0
  143. package/dist/common/get-identity-hash.js.map +1 -0
  144. package/dist/common/index.d.ts +3 -0
  145. package/dist/common/index.d.ts.map +1 -1
  146. package/dist/common/index.js +3 -0
  147. package/dist/common/index.js.map +1 -1
  148. package/dist/common/is-valid-url.d.ts +2 -0
  149. package/dist/common/is-valid-url.d.ts.map +1 -0
  150. package/dist/common/is-valid-url.js +14 -0
  151. package/dist/common/is-valid-url.js.map +1 -0
  152. package/dist/common/reserved-slugs.d.ts +7 -0
  153. package/dist/common/reserved-slugs.d.ts.map +1 -0
  154. package/dist/common/reserved-slugs.js +64 -0
  155. package/dist/common/reserved-slugs.js.map +1 -0
  156. package/dist/common/to-snake-case.d.ts +5 -0
  157. package/dist/common/to-snake-case.d.ts.map +1 -0
  158. package/dist/common/to-snake-case.js +14 -0
  159. package/dist/common/to-snake-case.js.map +1 -0
  160. package/dist/dml/entity-builder.d.ts +68 -0
  161. package/dist/dml/entity-builder.d.ts.map +1 -1
  162. package/dist/dml/entity-builder.js +76 -0
  163. package/dist/dml/entity-builder.js.map +1 -1
  164. package/dist/dml/helpers/entity-builder/define-property.d.ts.map +1 -1
  165. package/dist/dml/helpers/entity-builder/define-property.js +77 -0
  166. package/dist/dml/helpers/entity-builder/define-property.js.map +1 -1
  167. package/dist/dml/helpers/mikro-orm/custom-type/geo-json-geometry.d.ts +10 -0
  168. package/dist/dml/helpers/mikro-orm/custom-type/geo-json-geometry.d.ts.map +1 -0
  169. package/dist/dml/helpers/mikro-orm/custom-type/geo-json-geometry.js +31 -0
  170. package/dist/dml/helpers/mikro-orm/custom-type/geo-json-geometry.js.map +1 -0
  171. package/dist/dml/properties/enum.d.ts.map +1 -1
  172. package/dist/dml/properties/enum.js +0 -1
  173. package/dist/dml/properties/enum.js.map +1 -1
  174. package/dist/dml/properties/geometry.d.ts +8 -0
  175. package/dist/dml/properties/geometry.d.ts.map +1 -0
  176. package/dist/dml/properties/geometry.js +14 -0
  177. package/dist/dml/properties/geometry.js.map +1 -0
  178. package/dist/dml/properties/index.d.ts +4 -0
  179. package/dist/dml/properties/index.d.ts.map +1 -1
  180. package/dist/dml/properties/index.js +4 -0
  181. package/dist/dml/properties/index.js.map +1 -1
  182. package/dist/dml/properties/multipolygon.d.ts +8 -0
  183. package/dist/dml/properties/multipolygon.d.ts.map +1 -0
  184. package/dist/dml/properties/multipolygon.js +14 -0
  185. package/dist/dml/properties/multipolygon.js.map +1 -0
  186. package/dist/dml/properties/point.d.ts +8 -0
  187. package/dist/dml/properties/point.d.ts.map +1 -0
  188. package/dist/dml/properties/point.js +14 -0
  189. package/dist/dml/properties/point.js.map +1 -0
  190. package/dist/dml/properties/polygon.d.ts +8 -0
  191. package/dist/dml/properties/polygon.d.ts.map +1 -0
  192. package/dist/dml/properties/polygon.js +14 -0
  193. package/dist/dml/properties/polygon.js.map +1 -0
  194. package/dist/index.d.ts +2 -0
  195. package/dist/index.d.ts.map +1 -1
  196. package/dist/index.js +2 -0
  197. package/dist/index.js.map +1 -1
  198. package/dist/modules-sdk/build-query.d.ts.map +1 -1
  199. package/dist/modules-sdk/build-query.js +3 -1
  200. package/dist/modules-sdk/build-query.js.map +1 -1
  201. package/dist/modules-sdk/definition.d.ts +18 -0
  202. package/dist/modules-sdk/definition.d.ts.map +1 -1
  203. package/dist/modules-sdk/definition.js +12 -0
  204. package/dist/modules-sdk/definition.js.map +1 -1
  205. package/dist/modules-sdk/spatial-query-processor.d.ts +2 -0
  206. package/dist/modules-sdk/spatial-query-processor.d.ts.map +1 -0
  207. package/dist/modules-sdk/spatial-query-processor.js +105 -0
  208. package/dist/modules-sdk/spatial-query-processor.js.map +1 -0
  209. package/dist/permissions/ability.d.ts +39 -0
  210. package/dist/permissions/ability.d.ts.map +1 -0
  211. package/dist/permissions/ability.js +51 -0
  212. package/dist/permissions/ability.js.map +1 -0
  213. package/dist/permissions/context-builder.d.ts +24 -0
  214. package/dist/permissions/context-builder.d.ts.map +1 -0
  215. package/dist/permissions/context-builder.js +30 -0
  216. package/dist/permissions/context-builder.js.map +1 -0
  217. package/dist/permissions/index.d.ts +4 -0
  218. package/dist/permissions/index.d.ts.map +1 -0
  219. package/dist/permissions/index.js +20 -0
  220. package/dist/permissions/index.js.map +1 -0
  221. package/dist/permissions/permission-service.d.ts +8 -0
  222. package/dist/permissions/permission-service.d.ts.map +1 -0
  223. package/dist/permissions/permission-service.js +20 -0
  224. package/dist/permissions/permission-service.js.map +1 -0
  225. package/dist/permissions/types.d.ts +17 -0
  226. package/dist/permissions/types.d.ts.map +1 -0
  227. package/dist/permissions/types.js +11 -0
  228. package/dist/permissions/types.js.map +1 -0
  229. package/dist/tsconfig.tsbuildinfo +1 -1
  230. package/dist/zod/schemas/approvals.d.ts +91 -0
  231. package/dist/zod/schemas/approvals.d.ts.map +1 -0
  232. package/dist/zod/schemas/approvals.js +38 -0
  233. package/dist/zod/schemas/approvals.js.map +1 -0
  234. package/dist/zod/schemas/clicks.d.ts +394 -0
  235. package/dist/zod/schemas/clicks.d.ts.map +1 -0
  236. package/dist/zod/schemas/clicks.js +85 -0
  237. package/dist/zod/schemas/clicks.js.map +1 -0
  238. package/dist/zod/schemas/leads.d.ts +423 -0
  239. package/dist/zod/schemas/leads.d.ts.map +1 -0
  240. package/dist/zod/schemas/leads.js +58 -0
  241. package/dist/zod/schemas/leads.js.map +1 -0
  242. package/package.json +8 -2
  243. package/dist/feature-flags/eto-v2.d.ts +0 -3
  244. package/dist/feature-flags/eto-v2.d.ts.map +0 -1
  245. package/dist/feature-flags/eto-v2.js +0 -10
  246. package/dist/feature-flags/eto-v2.js.map +0 -1
  247. package/dist/feature-flags/order-editing.d.ts +0 -3
  248. package/dist/feature-flags/order-editing.d.ts.map +0 -1
  249. package/dist/feature-flags/order-editing.js +0 -10
  250. package/dist/feature-flags/order-editing.js.map +0 -1
  251. package/dist/feature-flags/product-categories.d.ts +0 -3
  252. package/dist/feature-flags/product-categories.d.ts.map +0 -1
  253. package/dist/feature-flags/product-categories.js +0 -10
  254. package/dist/feature-flags/product-categories.js.map +0 -1
  255. package/dist/feature-flags/sales-channels.d.ts +0 -3
  256. package/dist/feature-flags/sales-channels.d.ts.map +0 -1
  257. package/dist/feature-flags/sales-channels.js +0 -10
  258. package/dist/feature-flags/sales-channels.js.map +0 -1
  259. package/dist/feature-flags/tax-inclusive-pricing.d.ts +0 -3
  260. package/dist/feature-flags/tax-inclusive-pricing.d.ts.map +0 -1
  261. package/dist/feature-flags/tax-inclusive-pricing.js +0 -10
  262. package/dist/feature-flags/tax-inclusive-pricing.js.map +0 -1
@@ -0,0 +1,85 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.clickEventResponseSchema = exports.linkEventSchema = exports.clickEventSchema = exports.clickEventSchemaTB = void 0;
4
+ const zod_1 = require("zod");
5
+ // Access link click event schema for Tinybird (following Dub's clickEventSchemaTB pattern exactly)
6
+ exports.clickEventSchemaTB = zod_1.z.object({
7
+ timestamp: zod_1.z.string(),
8
+ identity_hash: zod_1.z.string(), // Following Dub's pattern for anonymous tracking
9
+ click_id: zod_1.z.string(), // Keep Dub's naming
10
+ link_id: zod_1.z.string(),
11
+ url: zod_1.z.string(),
12
+ continent: zod_1.z.string().nullable(),
13
+ country: zod_1.z.string().nullable(),
14
+ region: zod_1.z.string().nullable(),
15
+ city: zod_1.z.string().nullable(),
16
+ latitude: zod_1.z.string().nullable(),
17
+ longitude: zod_1.z.string().nullable(),
18
+ device: zod_1.z.string().nullable(),
19
+ device_model: zod_1.z.string().nullable(),
20
+ device_vendor: zod_1.z.string().nullable(),
21
+ browser: zod_1.z.string().nullable(),
22
+ browser_version: zod_1.z.string().nullable(),
23
+ os: zod_1.z.string().nullable(),
24
+ os_version: zod_1.z.string().nullable(),
25
+ trigger: zod_1.z.string().nullish(), // backwards compatibility
26
+ engine: zod_1.z.string().nullable(),
27
+ engine_version: zod_1.z.string().nullable(),
28
+ cpu_architecture: zod_1.z.string().nullable(),
29
+ ua: zod_1.z.string().nullable(),
30
+ bot: zod_1.z.number().nullable(),
31
+ referer: zod_1.z.string().nullable(),
32
+ referer_url: zod_1.z.string().nullable(),
33
+ ip: zod_1.z.string().nullable(),
34
+ qr: zod_1.z.number().nullable(),
35
+ // ETO additions to click data
36
+ user_id: zod_1.z.string().nullable(), // ETO: track user who clicked
37
+ project_id: zod_1.z.string().nullable(), // ETO: project context
38
+ });
39
+ // Access link event schema (API response)
40
+ exports.clickEventSchema = zod_1.z.object({
41
+ id: zod_1.z.string(),
42
+ timestamp: zod_1.z.coerce.date(),
43
+ url: zod_1.z.string(),
44
+ country: zod_1.z.string(),
45
+ city: zod_1.z.string(),
46
+ region: zod_1.z.string(),
47
+ continent: zod_1.z.string(),
48
+ device: zod_1.z.string(),
49
+ browser: zod_1.z.string(),
50
+ os: zod_1.z.string(),
51
+ trigger: zod_1.z.string().nullish(),
52
+ referer: zod_1.z.string(),
53
+ refererUrl: zod_1.z.string(),
54
+ qr: zod_1.z.coerce.boolean(),
55
+ ip: zod_1.z.string(),
56
+ });
57
+ // Link event schema (matching ETO AccessLinkDTO structure)
58
+ exports.linkEventSchema = zod_1.z.object({
59
+ id: zod_1.z.string(),
60
+ domain: zod_1.z.string(),
61
+ key: zod_1.z.string(),
62
+ url: zod_1.z.string(),
63
+ short_link: zod_1.z.string(),
64
+ project_id: zod_1.z.string(),
65
+ target_resource_type: zod_1.z.string().nullable(),
66
+ target_resource_id: zod_1.z.string().nullable(),
67
+ access_role: zod_1.z.string().nullable(),
68
+ max_uses: zod_1.z.number().nullable(),
69
+ current_uses: zod_1.z.number(),
70
+ expires_at: zod_1.z.date().nullable(),
71
+ creator_user_id: zod_1.z.string(),
72
+ purpose: zod_1.z.string(),
73
+ auto_approve: zod_1.z.boolean(),
74
+ requires_approval: zod_1.z.boolean(),
75
+ password_protected: zod_1.z.boolean(),
76
+ created_at: zod_1.z.date(),
77
+ });
78
+ // API response schema (following Dub's pattern)
79
+ exports.clickEventResponseSchema = zod_1.z.object({
80
+ event: zod_1.z.literal("click"),
81
+ timestamp: zod_1.z.coerce.string(),
82
+ click: exports.clickEventSchema,
83
+ link: exports.linkEventSchema,
84
+ });
85
+ //# sourceMappingURL=clicks.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"clicks.js","sourceRoot":"","sources":["../../../src/zod/schemas/clicks.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,423 @@
1
+ import { z } from "zod";
2
+ export declare const CustomerSchema: z.ZodObject<{
3
+ id: z.ZodString;
4
+ externalId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
5
+ name: z.ZodOptional<z.ZodNullable<z.ZodString>>;
6
+ email: z.ZodOptional<z.ZodNullable<z.ZodString>>;
7
+ avatar: z.ZodOptional<z.ZodNullable<z.ZodString>>;
8
+ country: z.ZodOptional<z.ZodNullable<z.ZodString>>;
9
+ }, "strip", z.ZodTypeAny, {
10
+ id: string;
11
+ externalId?: string | null | undefined;
12
+ name?: string | null | undefined;
13
+ email?: string | null | undefined;
14
+ avatar?: string | null | undefined;
15
+ country?: string | null | undefined;
16
+ }, {
17
+ id: string;
18
+ externalId?: string | null | undefined;
19
+ name?: string | null | undefined;
20
+ email?: string | null | undefined;
21
+ avatar?: string | null | undefined;
22
+ country?: string | null | undefined;
23
+ }>;
24
+ export declare const leadEventSchemaTB: z.ZodObject<{
25
+ qr: z.ZodNullable<z.ZodNumber>;
26
+ bot: z.ZodNullable<z.ZodNumber>;
27
+ continent: z.ZodNullable<z.ZodString>;
28
+ country: z.ZodNullable<z.ZodString>;
29
+ region: z.ZodNullable<z.ZodString>;
30
+ city: z.ZodNullable<z.ZodString>;
31
+ latitude: z.ZodNullable<z.ZodString>;
32
+ longitude: z.ZodNullable<z.ZodString>;
33
+ url: z.ZodString;
34
+ trigger: z.ZodOptional<z.ZodNullable<z.ZodString>>;
35
+ ip: z.ZodNullable<z.ZodString>;
36
+ referer: z.ZodNullable<z.ZodString>;
37
+ click_id: z.ZodString;
38
+ link_id: z.ZodString;
39
+ user_id: z.ZodNullable<z.ZodString>;
40
+ project_id: z.ZodNullable<z.ZodString>;
41
+ identity_hash: z.ZodString;
42
+ device: z.ZodNullable<z.ZodString>;
43
+ device_model: z.ZodNullable<z.ZodString>;
44
+ device_vendor: z.ZodNullable<z.ZodString>;
45
+ browser: z.ZodNullable<z.ZodString>;
46
+ browser_version: z.ZodNullable<z.ZodString>;
47
+ os: z.ZodNullable<z.ZodString>;
48
+ os_version: z.ZodNullable<z.ZodString>;
49
+ engine: z.ZodNullable<z.ZodString>;
50
+ engine_version: z.ZodNullable<z.ZodString>;
51
+ cpu_architecture: z.ZodNullable<z.ZodString>;
52
+ ua: z.ZodNullable<z.ZodString>;
53
+ referer_url: z.ZodNullable<z.ZodString>;
54
+ event_id: z.ZodString;
55
+ event_name: z.ZodString;
56
+ customer_id: z.ZodDefault<z.ZodString>;
57
+ metadata: z.ZodDefault<z.ZodString>;
58
+ }, "strip", z.ZodTypeAny, {
59
+ qr: number | null;
60
+ bot: number | null;
61
+ continent: string | null;
62
+ country: string | null;
63
+ region: string | null;
64
+ city: string | null;
65
+ latitude: string | null;
66
+ longitude: string | null;
67
+ url: string;
68
+ ip: string | null;
69
+ referer: string | null;
70
+ metadata: string;
71
+ click_id: string;
72
+ link_id: string;
73
+ user_id: string | null;
74
+ project_id: string | null;
75
+ event_id: string;
76
+ event_name: string;
77
+ customer_id: string;
78
+ identity_hash: string;
79
+ device: string | null;
80
+ device_model: string | null;
81
+ device_vendor: string | null;
82
+ browser: string | null;
83
+ browser_version: string | null;
84
+ os: string | null;
85
+ os_version: string | null;
86
+ engine: string | null;
87
+ engine_version: string | null;
88
+ cpu_architecture: string | null;
89
+ ua: string | null;
90
+ referer_url: string | null;
91
+ trigger?: string | null | undefined;
92
+ }, {
93
+ qr: number | null;
94
+ bot: number | null;
95
+ continent: string | null;
96
+ country: string | null;
97
+ region: string | null;
98
+ city: string | null;
99
+ latitude: string | null;
100
+ longitude: string | null;
101
+ url: string;
102
+ ip: string | null;
103
+ referer: string | null;
104
+ click_id: string;
105
+ link_id: string;
106
+ user_id: string | null;
107
+ project_id: string | null;
108
+ event_id: string;
109
+ event_name: string;
110
+ identity_hash: string;
111
+ device: string | null;
112
+ device_model: string | null;
113
+ device_vendor: string | null;
114
+ browser: string | null;
115
+ browser_version: string | null;
116
+ os: string | null;
117
+ os_version: string | null;
118
+ engine: string | null;
119
+ engine_version: string | null;
120
+ cpu_architecture: string | null;
121
+ ua: string | null;
122
+ referer_url: string | null;
123
+ trigger?: string | null | undefined;
124
+ customer_id?: string | undefined;
125
+ metadata?: string | undefined;
126
+ }>;
127
+ export declare const leadEventSchemaTBEndpoint: z.ZodObject<{
128
+ event: z.ZodLiteral<"lead">;
129
+ timestamp: z.ZodString;
130
+ event_id: z.ZodString;
131
+ event_name: z.ZodString;
132
+ customer_id: z.ZodString;
133
+ click_id: z.ZodString;
134
+ link_id: z.ZodString;
135
+ url: z.ZodString;
136
+ continent: z.ZodNullable<z.ZodString>;
137
+ country: z.ZodNullable<z.ZodString>;
138
+ region: z.ZodNullable<z.ZodString>;
139
+ city: z.ZodNullable<z.ZodString>;
140
+ device: z.ZodNullable<z.ZodString>;
141
+ browser: z.ZodNullable<z.ZodString>;
142
+ os: z.ZodNullable<z.ZodString>;
143
+ referer: z.ZodNullable<z.ZodString>;
144
+ referer_url: z.ZodNullable<z.ZodString>;
145
+ metadata: z.ZodString;
146
+ }, "strip", z.ZodTypeAny, {
147
+ continent: string | null;
148
+ country: string | null;
149
+ region: string | null;
150
+ city: string | null;
151
+ url: string;
152
+ timestamp: string;
153
+ referer: string | null;
154
+ metadata: string;
155
+ click_id: string;
156
+ link_id: string;
157
+ event_id: string;
158
+ event_name: string;
159
+ customer_id: string;
160
+ event: "lead";
161
+ device: string | null;
162
+ browser: string | null;
163
+ os: string | null;
164
+ referer_url: string | null;
165
+ }, {
166
+ continent: string | null;
167
+ country: string | null;
168
+ region: string | null;
169
+ city: string | null;
170
+ url: string;
171
+ timestamp: string;
172
+ referer: string | null;
173
+ metadata: string;
174
+ click_id: string;
175
+ link_id: string;
176
+ event_id: string;
177
+ event_name: string;
178
+ customer_id: string;
179
+ event: "lead";
180
+ device: string | null;
181
+ browser: string | null;
182
+ os: string | null;
183
+ referer_url: string | null;
184
+ }>;
185
+ export declare const leadEventResponseSchema: z.ZodObject<{
186
+ event: z.ZodLiteral<"lead">;
187
+ timestamp: z.ZodString;
188
+ eventId: z.ZodString;
189
+ eventName: z.ZodString;
190
+ metadata: z.ZodOptional<z.ZodNullable<z.ZodAny>>;
191
+ click: z.ZodObject<{
192
+ id: z.ZodString;
193
+ timestamp: z.ZodDate;
194
+ url: z.ZodString;
195
+ country: z.ZodString;
196
+ city: z.ZodString;
197
+ region: z.ZodString;
198
+ continent: z.ZodString;
199
+ device: z.ZodString;
200
+ browser: z.ZodString;
201
+ os: z.ZodString;
202
+ trigger: z.ZodOptional<z.ZodNullable<z.ZodString>>;
203
+ referer: z.ZodString;
204
+ refererUrl: z.ZodString;
205
+ qr: z.ZodBoolean;
206
+ ip: z.ZodString;
207
+ }, "strip", z.ZodTypeAny, {
208
+ qr: boolean;
209
+ continent: string;
210
+ country: string;
211
+ region: string;
212
+ city: string;
213
+ url: string;
214
+ timestamp: Date;
215
+ ip: string;
216
+ referer: string;
217
+ device: string;
218
+ browser: string;
219
+ os: string;
220
+ id: string;
221
+ refererUrl: string;
222
+ trigger?: string | null | undefined;
223
+ }, {
224
+ qr: boolean;
225
+ continent: string;
226
+ country: string;
227
+ region: string;
228
+ city: string;
229
+ url: string;
230
+ timestamp: Date;
231
+ ip: string;
232
+ referer: string;
233
+ device: string;
234
+ browser: string;
235
+ os: string;
236
+ id: string;
237
+ refererUrl: string;
238
+ trigger?: string | null | undefined;
239
+ }>;
240
+ link: z.ZodObject<{
241
+ id: z.ZodString;
242
+ domain: z.ZodString;
243
+ key: z.ZodString;
244
+ url: z.ZodString;
245
+ short_link: z.ZodString;
246
+ project_id: z.ZodString;
247
+ target_resource_type: z.ZodNullable<z.ZodString>;
248
+ target_resource_id: z.ZodNullable<z.ZodString>;
249
+ access_role: z.ZodNullable<z.ZodString>;
250
+ max_uses: z.ZodNullable<z.ZodNumber>;
251
+ current_uses: z.ZodNumber;
252
+ expires_at: z.ZodNullable<z.ZodDate>;
253
+ creator_user_id: z.ZodString;
254
+ purpose: z.ZodString;
255
+ auto_approve: z.ZodBoolean;
256
+ requires_approval: z.ZodBoolean;
257
+ password_protected: z.ZodBoolean;
258
+ created_at: z.ZodDate;
259
+ }, "strip", z.ZodTypeAny, {
260
+ domain: string;
261
+ key: string;
262
+ url: string;
263
+ project_id: string;
264
+ short_link: string;
265
+ target_resource_type: string | null;
266
+ target_resource_id: string | null;
267
+ access_role: string | null;
268
+ max_uses: number | null;
269
+ current_uses: number;
270
+ expires_at: Date | null;
271
+ creator_user_id: string;
272
+ purpose: string;
273
+ auto_approve: boolean;
274
+ requires_approval: boolean;
275
+ password_protected: boolean;
276
+ created_at: Date;
277
+ id: string;
278
+ }, {
279
+ domain: string;
280
+ key: string;
281
+ url: string;
282
+ project_id: string;
283
+ short_link: string;
284
+ target_resource_type: string | null;
285
+ target_resource_id: string | null;
286
+ access_role: string | null;
287
+ max_uses: number | null;
288
+ current_uses: number;
289
+ expires_at: Date | null;
290
+ creator_user_id: string;
291
+ purpose: string;
292
+ auto_approve: boolean;
293
+ requires_approval: boolean;
294
+ password_protected: boolean;
295
+ created_at: Date;
296
+ id: string;
297
+ }>;
298
+ customer: z.ZodObject<{
299
+ id: z.ZodString;
300
+ externalId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
301
+ name: z.ZodOptional<z.ZodNullable<z.ZodString>>;
302
+ email: z.ZodOptional<z.ZodNullable<z.ZodString>>;
303
+ avatar: z.ZodOptional<z.ZodNullable<z.ZodString>>;
304
+ country: z.ZodOptional<z.ZodNullable<z.ZodString>>;
305
+ }, "strip", z.ZodTypeAny, {
306
+ id: string;
307
+ externalId?: string | null | undefined;
308
+ name?: string | null | undefined;
309
+ email?: string | null | undefined;
310
+ avatar?: string | null | undefined;
311
+ country?: string | null | undefined;
312
+ }, {
313
+ id: string;
314
+ externalId?: string | null | undefined;
315
+ name?: string | null | undefined;
316
+ email?: string | null | undefined;
317
+ avatar?: string | null | undefined;
318
+ country?: string | null | undefined;
319
+ }>;
320
+ }, "strip", z.ZodTypeAny, {
321
+ timestamp: string;
322
+ link: {
323
+ domain: string;
324
+ key: string;
325
+ url: string;
326
+ project_id: string;
327
+ short_link: string;
328
+ target_resource_type: string | null;
329
+ target_resource_id: string | null;
330
+ access_role: string | null;
331
+ max_uses: number | null;
332
+ current_uses: number;
333
+ expires_at: Date | null;
334
+ creator_user_id: string;
335
+ purpose: string;
336
+ auto_approve: boolean;
337
+ requires_approval: boolean;
338
+ password_protected: boolean;
339
+ created_at: Date;
340
+ id: string;
341
+ };
342
+ eventName: string;
343
+ eventId: string;
344
+ event: "lead";
345
+ click: {
346
+ qr: boolean;
347
+ continent: string;
348
+ country: string;
349
+ region: string;
350
+ city: string;
351
+ url: string;
352
+ timestamp: Date;
353
+ ip: string;
354
+ referer: string;
355
+ device: string;
356
+ browser: string;
357
+ os: string;
358
+ id: string;
359
+ refererUrl: string;
360
+ trigger?: string | null | undefined;
361
+ };
362
+ customer: {
363
+ id: string;
364
+ externalId?: string | null | undefined;
365
+ name?: string | null | undefined;
366
+ email?: string | null | undefined;
367
+ avatar?: string | null | undefined;
368
+ country?: string | null | undefined;
369
+ };
370
+ metadata?: any;
371
+ }, {
372
+ timestamp: string;
373
+ link: {
374
+ domain: string;
375
+ key: string;
376
+ url: string;
377
+ project_id: string;
378
+ short_link: string;
379
+ target_resource_type: string | null;
380
+ target_resource_id: string | null;
381
+ access_role: string | null;
382
+ max_uses: number | null;
383
+ current_uses: number;
384
+ expires_at: Date | null;
385
+ creator_user_id: string;
386
+ purpose: string;
387
+ auto_approve: boolean;
388
+ requires_approval: boolean;
389
+ password_protected: boolean;
390
+ created_at: Date;
391
+ id: string;
392
+ };
393
+ eventName: string;
394
+ eventId: string;
395
+ event: "lead";
396
+ click: {
397
+ qr: boolean;
398
+ continent: string;
399
+ country: string;
400
+ region: string;
401
+ city: string;
402
+ url: string;
403
+ timestamp: Date;
404
+ ip: string;
405
+ referer: string;
406
+ device: string;
407
+ browser: string;
408
+ os: string;
409
+ id: string;
410
+ refererUrl: string;
411
+ trigger?: string | null | undefined;
412
+ };
413
+ customer: {
414
+ id: string;
415
+ externalId?: string | null | undefined;
416
+ name?: string | null | undefined;
417
+ email?: string | null | undefined;
418
+ avatar?: string | null | undefined;
419
+ country?: string | null | undefined;
420
+ };
421
+ metadata?: any;
422
+ }>;
423
+ //# sourceMappingURL=leads.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"leads.d.ts","sourceRoot":"","sources":["../../../src/zod/schemas/leads.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAIvB,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;EAOzB,CAAA;AAGF,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAS3B,CAAA;AAGH,eAAO,MAAM,yBAAyB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAmBpC,CAAA;AAGF,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAWlC,CAAA"}
@@ -0,0 +1,58 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.leadEventResponseSchema = exports.leadEventSchemaTBEndpoint = exports.leadEventSchemaTB = exports.CustomerSchema = void 0;
4
+ const zod_1 = require("zod");
5
+ const clicks_1 = require("./clicks");
6
+ // ETO Customer schema (adapted from Dub's CustomerSchema for our user model)
7
+ exports.CustomerSchema = zod_1.z.object({
8
+ id: zod_1.z.string().describe("The unique ID of the user in ETO system"),
9
+ externalId: zod_1.z.string().nullish().describe("External identifier for the user"),
10
+ name: zod_1.z.string().nullish().describe("Name of the user"),
11
+ email: zod_1.z.string().nullish().describe("Email of the user"),
12
+ avatar: zod_1.z.string().nullish().describe("Avatar URL of the user"),
13
+ country: zod_1.z.string().nullish().describe("Country of the user"),
14
+ });
15
+ // Access grant event schema for Tinybird (following Dub's leadEventSchemaTB pattern)
16
+ exports.leadEventSchemaTB = clicks_1.clickEventSchemaTB
17
+ .omit({ timestamp: true }) // remove timestamp from lead data because tinybird will generate its own at ingestion time
18
+ .merge(zod_1.z.object({
19
+ event_id: zod_1.z.string(),
20
+ event_name: zod_1.z.string(),
21
+ customer_id: zod_1.z.string().default(""), // ETO: maps to user_id
22
+ metadata: zod_1.z.string().default(""),
23
+ }));
24
+ // Response from tinybird endpoint (following Dub's leadEventSchemaTBEndpoint pattern)
25
+ exports.leadEventSchemaTBEndpoint = zod_1.z.object({
26
+ event: zod_1.z.literal("lead"),
27
+ timestamp: zod_1.z.string(),
28
+ event_id: zod_1.z.string(),
29
+ event_name: zod_1.z.string(),
30
+ customer_id: zod_1.z.string(),
31
+ click_id: zod_1.z.string(),
32
+ link_id: zod_1.z.string(),
33
+ url: zod_1.z.string(),
34
+ continent: zod_1.z.string().nullable(),
35
+ country: zod_1.z.string().nullable(),
36
+ region: zod_1.z.string().nullable(),
37
+ city: zod_1.z.string().nullable(),
38
+ device: zod_1.z.string().nullable(),
39
+ browser: zod_1.z.string().nullable(),
40
+ os: zod_1.z.string().nullable(),
41
+ referer: zod_1.z.string().nullable(),
42
+ referer_url: zod_1.z.string().nullable(),
43
+ metadata: zod_1.z.string(),
44
+ });
45
+ // API response schema (following Dub's leadEventResponseSchema pattern exactly)
46
+ exports.leadEventResponseSchema = zod_1.z.object({
47
+ event: zod_1.z.literal("lead"),
48
+ timestamp: zod_1.z.coerce.string(),
49
+ // core event fields
50
+ eventId: zod_1.z.string(),
51
+ eventName: zod_1.z.string(),
52
+ metadata: zod_1.z.any().nullish(),
53
+ // nested objects
54
+ click: clicks_1.clickEventSchema,
55
+ link: clicks_1.linkEventSchema,
56
+ customer: exports.CustomerSchema, // ETO: user as customer
57
+ });
58
+ //# sourceMappingURL=leads.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"leads.js","sourceRoot":"","sources":["../../../src/zod/schemas/leads.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@etohq/utils",
3
- "version": "1.5.1-alpha.2",
3
+ "version": "1.5.1-alpha.4",
4
4
  "description": "Eto utilities functions shared by Eto core and Modules",
5
5
  "main": "dist/index.js",
6
6
  "exports": {
@@ -44,6 +44,7 @@
44
44
  "typescript": "5.8.3"
45
45
  },
46
46
  "dependencies": {
47
+ "@casl/ability": "^6.5.0",
47
48
  "@graphql-codegen/core": "4.0.2",
48
49
  "@graphql-codegen/typescript": "4.0.9",
49
50
  "@graphql-tools/merge": "9.0.7",
@@ -57,8 +58,13 @@
57
58
  "pg-connection-string": "2.7.0",
58
59
  "pluralize": "8.0.0",
59
60
  "fs-extra": "10.0.0",
61
+ "@chronark/zod-bird": "0.3.10",
62
+ "zod": "3.22.4",
60
63
  "ulid": "2.3.0",
61
- "@etohq/types": "1.5.1-alpha.2"
64
+ "nanoid": "5.1.6",
65
+ "@sindresorhus/slugify": "2.2.1",
66
+ "geojson": "^0.5.0",
67
+ "@etohq/types": "1.5.1-alpha.4"
62
68
  },
63
69
  "peerDependencies": {
64
70
  "@mikro-orm/core": "6.4.3",
@@ -1,3 +0,0 @@
1
- import { FeatureFlagTypes } from "@etohq/types";
2
- export declare const EtoV2Flag: FeatureFlagTypes.FlagSettings;
3
- //# sourceMappingURL=eto-v2.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"eto-v2.d.ts","sourceRoot":"","sources":["../../src/feature-flags/eto-v2.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAA;AAE/C,eAAO,MAAM,SAAS,EAAE,gBAAgB,CAAC,YAKxC,CAAA"}
@@ -1,10 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.EtoV2Flag = void 0;
4
- exports.EtoV2Flag = {
5
- key: "eto_v2",
6
- default_val: false,
7
- env_key: "ETO_FF_ETO_V2",
8
- description: "[WIP] Enable Eto V2",
9
- };
10
- //# sourceMappingURL=eto-v2.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"eto-v2.js","sourceRoot":"","sources":["../../src/feature-flags/eto-v2.ts"],"names":[],"mappings":";;;AAEa,QAAA,SAAS,GAAkC;IACtD,GAAG,EAAE,QAAQ;IACb,WAAW,EAAE,KAAK;IAClB,OAAO,EAAE,eAAe;IACxB,WAAW,EAAE,qBAAqB;CACnC,CAAA"}
@@ -1,3 +0,0 @@
1
- import { FeatureFlagTypes } from "@etohq/types";
2
- export declare const OrderEditingFeatureFlag: FeatureFlagTypes.FlagSettings;
3
- //# sourceMappingURL=order-editing.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"order-editing.d.ts","sourceRoot":"","sources":["../../src/feature-flags/order-editing.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAA;AAE/C,eAAO,MAAM,uBAAuB,EAAE,gBAAgB,CAAC,YAKtD,CAAA"}
@@ -1,10 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.OrderEditingFeatureFlag = void 0;
4
- exports.OrderEditingFeatureFlag = {
5
- key: "order_editing",
6
- default_val: true,
7
- env_key: "ETO_FF_ORDER_EDITING",
8
- description: "[WIP] Enable the order editing feature",
9
- };
10
- //# sourceMappingURL=order-editing.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"order-editing.js","sourceRoot":"","sources":["../../src/feature-flags/order-editing.ts"],"names":[],"mappings":";;;AAEa,QAAA,uBAAuB,GAAkC;IACpE,GAAG,EAAE,eAAe;IACpB,WAAW,EAAE,IAAI;IACjB,OAAO,EAAE,sBAAsB;IAC/B,WAAW,EAAE,wCAAwC;CACtD,CAAA"}
@@ -1,3 +0,0 @@
1
- import { FeatureFlagTypes } from "@etohq/types";
2
- export declare const ProductCategoryFeatureFlag: FeatureFlagTypes.FlagSettings;
3
- //# sourceMappingURL=product-categories.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"product-categories.d.ts","sourceRoot":"","sources":["../../src/feature-flags/product-categories.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAA;AAE/C,eAAO,MAAM,0BAA0B,EAAE,gBAAgB,CAAC,YAKzD,CAAA"}