@etohq/utils 1.5.1-alpha.3 → 1.5.1-alpha.5

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 (346) 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/caching/index.d.ts +27 -0
  126. package/dist/caching/index.d.ts.map +1 -0
  127. package/dist/caching/index.js +157 -0
  128. package/dist/caching/index.js.map +1 -0
  129. package/dist/common/constants.d.ts +24 -0
  130. package/dist/common/constants.d.ts.map +1 -0
  131. package/dist/common/constants.js +196 -0
  132. package/dist/common/constants.js.map +1 -0
  133. package/dist/common/define-file-config.d.ts +8 -0
  134. package/dist/common/define-file-config.d.ts.map +1 -0
  135. package/dist/common/define-file-config.js +34 -0
  136. package/dist/common/define-file-config.js.map +1 -0
  137. package/dist/common/domains.d.ts +8 -0
  138. package/dist/common/domains.d.ts.map +1 -0
  139. package/dist/common/domains.js +88 -0
  140. package/dist/common/domains.js.map +1 -0
  141. package/dist/common/dynamic-import.d.ts.map +1 -1
  142. package/dist/common/dynamic-import.js +24 -1
  143. package/dist/common/dynamic-import.js.map +1 -1
  144. package/dist/common/errors.d.ts +2 -0
  145. package/dist/common/errors.d.ts.map +1 -1
  146. package/dist/common/errors.js +2 -0
  147. package/dist/common/errors.js.map +1 -1
  148. package/dist/common/execute-with-concurrency.d.ts +5 -0
  149. package/dist/common/execute-with-concurrency.d.ts.map +1 -0
  150. package/dist/common/execute-with-concurrency.js +26 -0
  151. package/dist/common/execute-with-concurrency.js.map +1 -0
  152. package/dist/common/fetch-with-retry.d.ts +6 -0
  153. package/dist/common/fetch-with-retry.d.ts.map +1 -0
  154. package/dist/common/fetch-with-retry.js +63 -0
  155. package/dist/common/fetch-with-retry.js.map +1 -0
  156. package/dist/common/get-identity-hash.d.ts +2 -0
  157. package/dist/common/get-identity-hash.d.ts.map +1 -0
  158. package/dist/common/get-identity-hash.js +19 -0
  159. package/dist/common/get-identity-hash.js.map +1 -0
  160. package/dist/common/index.d.ts +6 -0
  161. package/dist/common/index.d.ts.map +1 -1
  162. package/dist/common/index.js +6 -0
  163. package/dist/common/index.js.map +1 -1
  164. package/dist/common/is-valid-url.d.ts +2 -0
  165. package/dist/common/is-valid-url.d.ts.map +1 -0
  166. package/dist/common/is-valid-url.js +14 -0
  167. package/dist/common/is-valid-url.js.map +1 -0
  168. package/dist/common/parse-stringify-if-necessary.d.ts +5 -0
  169. package/dist/common/parse-stringify-if-necessary.d.ts.map +1 -0
  170. package/dist/common/parse-stringify-if-necessary.js +38 -0
  171. package/dist/common/parse-stringify-if-necessary.js.map +1 -0
  172. package/dist/common/reserved-slugs.d.ts +7 -0
  173. package/dist/common/reserved-slugs.d.ts.map +1 -0
  174. package/dist/common/reserved-slugs.js +64 -0
  175. package/dist/common/reserved-slugs.js.map +1 -0
  176. package/dist/common/to-snake-case.d.ts +5 -0
  177. package/dist/common/to-snake-case.d.ts.map +1 -0
  178. package/dist/common/to-snake-case.js +14 -0
  179. package/dist/common/to-snake-case.js.map +1 -0
  180. package/dist/dev-server/handlers/job-handler.d.ts +9 -0
  181. package/dist/dev-server/handlers/job-handler.d.ts.map +1 -0
  182. package/dist/dev-server/handlers/job-handler.js +33 -0
  183. package/dist/dev-server/handlers/job-handler.js.map +1 -0
  184. package/dist/dev-server/handlers/step-handler.d.ts +11 -0
  185. package/dist/dev-server/handlers/step-handler.d.ts.map +1 -0
  186. package/dist/dev-server/handlers/step-handler.js +39 -0
  187. package/dist/dev-server/handlers/step-handler.js.map +1 -0
  188. package/dist/dev-server/handlers/subscriber-handler.d.ts +9 -0
  189. package/dist/dev-server/handlers/subscriber-handler.d.ts.map +1 -0
  190. package/dist/dev-server/handlers/subscriber-handler.js +40 -0
  191. package/dist/dev-server/handlers/subscriber-handler.js.map +1 -0
  192. package/dist/dev-server/handlers/workflow-handler.d.ts +9 -0
  193. package/dist/dev-server/handlers/workflow-handler.d.ts.map +1 -0
  194. package/dist/dev-server/handlers/workflow-handler.js +30 -0
  195. package/dist/dev-server/handlers/workflow-handler.js.map +1 -0
  196. package/dist/dev-server/index.d.ts +8 -0
  197. package/dist/dev-server/index.d.ts.map +1 -0
  198. package/dist/dev-server/index.js +50 -0
  199. package/dist/dev-server/index.js.map +1 -0
  200. package/dist/dev-server/registry-helpers.d.ts +5 -0
  201. package/dist/dev-server/registry-helpers.d.ts.map +1 -0
  202. package/dist/dev-server/registry-helpers.js +23 -0
  203. package/dist/dev-server/registry-helpers.js.map +1 -0
  204. package/dist/dev-server/types.d.ts +44 -0
  205. package/dist/dev-server/types.d.ts.map +1 -0
  206. package/dist/dev-server/types.js +3 -0
  207. package/dist/dev-server/types.js.map +1 -0
  208. package/dist/dml/entity-builder.d.ts +68 -0
  209. package/dist/dml/entity-builder.d.ts.map +1 -1
  210. package/dist/dml/entity-builder.js +76 -0
  211. package/dist/dml/entity-builder.js.map +1 -1
  212. package/dist/dml/helpers/entity-builder/define-property.d.ts.map +1 -1
  213. package/dist/dml/helpers/entity-builder/define-property.js +77 -0
  214. package/dist/dml/helpers/entity-builder/define-property.js.map +1 -1
  215. package/dist/dml/helpers/mikro-orm/custom-type/geo-json-geometry.d.ts +10 -0
  216. package/dist/dml/helpers/mikro-orm/custom-type/geo-json-geometry.d.ts.map +1 -0
  217. package/dist/dml/helpers/mikro-orm/custom-type/geo-json-geometry.js +31 -0
  218. package/dist/dml/helpers/mikro-orm/custom-type/geo-json-geometry.js.map +1 -0
  219. package/dist/dml/properties/enum.d.ts.map +1 -1
  220. package/dist/dml/properties/enum.js +0 -1
  221. package/dist/dml/properties/enum.js.map +1 -1
  222. package/dist/dml/properties/geometry.d.ts +8 -0
  223. package/dist/dml/properties/geometry.d.ts.map +1 -0
  224. package/dist/dml/properties/geometry.js +14 -0
  225. package/dist/dml/properties/geometry.js.map +1 -0
  226. package/dist/dml/properties/index.d.ts +4 -0
  227. package/dist/dml/properties/index.d.ts.map +1 -1
  228. package/dist/dml/properties/index.js +4 -0
  229. package/dist/dml/properties/index.js.map +1 -1
  230. package/dist/dml/properties/multipolygon.d.ts +8 -0
  231. package/dist/dml/properties/multipolygon.d.ts.map +1 -0
  232. package/dist/dml/properties/multipolygon.js +14 -0
  233. package/dist/dml/properties/multipolygon.js.map +1 -0
  234. package/dist/dml/properties/point.d.ts +8 -0
  235. package/dist/dml/properties/point.d.ts.map +1 -0
  236. package/dist/dml/properties/point.js +14 -0
  237. package/dist/dml/properties/point.js.map +1 -0
  238. package/dist/dml/properties/polygon.d.ts +8 -0
  239. package/dist/dml/properties/polygon.d.ts.map +1 -0
  240. package/dist/dml/properties/polygon.js +14 -0
  241. package/dist/dml/properties/polygon.js.map +1 -0
  242. package/dist/event-bus/index.d.ts +11 -2
  243. package/dist/event-bus/index.d.ts.map +1 -1
  244. package/dist/event-bus/index.js +19 -0
  245. package/dist/event-bus/index.js.map +1 -1
  246. package/dist/feature-flags/discover-and-register-feature-flags.d.ts +15 -0
  247. package/dist/feature-flags/discover-and-register-feature-flags.d.ts.map +1 -0
  248. package/dist/feature-flags/discover-and-register-feature-flags.js +23 -0
  249. package/dist/feature-flags/discover-and-register-feature-flags.js.map +1 -0
  250. package/dist/feature-flags/discover-feature-flags.d.ts +6 -0
  251. package/dist/feature-flags/discover-feature-flags.d.ts.map +1 -0
  252. package/dist/feature-flags/discover-feature-flags.js +53 -0
  253. package/dist/feature-flags/discover-feature-flags.js.map +1 -0
  254. package/dist/feature-flags/flag-router.d.ts +33 -0
  255. package/dist/feature-flags/flag-router.d.ts.map +1 -0
  256. package/dist/feature-flags/flag-router.js +68 -0
  257. package/dist/feature-flags/flag-router.js.map +1 -0
  258. package/dist/feature-flags/index.d.ts +2 -0
  259. package/dist/feature-flags/index.d.ts.map +1 -1
  260. package/dist/feature-flags/index.js +3 -0
  261. package/dist/feature-flags/index.js.map +1 -1
  262. package/dist/feature-flags/register-flag.d.ts +18 -0
  263. package/dist/feature-flags/register-flag.d.ts.map +1 -0
  264. package/dist/feature-flags/register-flag.js +41 -0
  265. package/dist/feature-flags/register-flag.js.map +1 -0
  266. package/dist/index.d.ts +5 -0
  267. package/dist/index.d.ts.map +1 -1
  268. package/dist/index.js +5 -0
  269. package/dist/index.js.map +1 -1
  270. package/dist/modules-sdk/build-query.d.ts.map +1 -1
  271. package/dist/modules-sdk/build-query.js +3 -1
  272. package/dist/modules-sdk/build-query.js.map +1 -1
  273. package/dist/modules-sdk/definition.d.ts +18 -0
  274. package/dist/modules-sdk/definition.d.ts.map +1 -1
  275. package/dist/modules-sdk/definition.js +13 -1
  276. package/dist/modules-sdk/definition.js.map +1 -1
  277. package/dist/modules-sdk/spatial-query-processor.d.ts +2 -0
  278. package/dist/modules-sdk/spatial-query-processor.d.ts.map +1 -0
  279. package/dist/modules-sdk/spatial-query-processor.js +105 -0
  280. package/dist/modules-sdk/spatial-query-processor.js.map +1 -0
  281. package/dist/permissions/ability.d.ts +39 -0
  282. package/dist/permissions/ability.d.ts.map +1 -0
  283. package/dist/permissions/ability.js +51 -0
  284. package/dist/permissions/ability.js.map +1 -0
  285. package/dist/permissions/context-builder.d.ts +24 -0
  286. package/dist/permissions/context-builder.d.ts.map +1 -0
  287. package/dist/permissions/context-builder.js +30 -0
  288. package/dist/permissions/context-builder.js.map +1 -0
  289. package/dist/permissions/index.d.ts +4 -0
  290. package/dist/permissions/index.d.ts.map +1 -0
  291. package/dist/permissions/index.js +20 -0
  292. package/dist/permissions/index.js.map +1 -0
  293. package/dist/permissions/permission-service.d.ts +8 -0
  294. package/dist/permissions/permission-service.d.ts.map +1 -0
  295. package/dist/permissions/permission-service.js +20 -0
  296. package/dist/permissions/permission-service.js.map +1 -0
  297. package/dist/permissions/types.d.ts +17 -0
  298. package/dist/permissions/types.d.ts.map +1 -0
  299. package/dist/permissions/types.js +11 -0
  300. package/dist/permissions/types.js.map +1 -0
  301. package/dist/translations/apply-translations-to-tax-lines.d.ts +17 -0
  302. package/dist/translations/apply-translations-to-tax-lines.d.ts.map +1 -0
  303. package/dist/translations/apply-translations-to-tax-lines.js +38 -0
  304. package/dist/translations/apply-translations-to-tax-lines.js.map +1 -0
  305. package/dist/translations/apply-translations.d.ts +7 -0
  306. package/dist/translations/apply-translations.d.ts.map +1 -0
  307. package/dist/translations/apply-translations.js +104 -0
  308. package/dist/translations/apply-translations.js.map +1 -0
  309. package/dist/translations/index.d.ts +3 -0
  310. package/dist/translations/index.d.ts.map +1 -0
  311. package/dist/translations/index.js +19 -0
  312. package/dist/translations/index.js.map +1 -0
  313. package/dist/tsconfig.tsbuildinfo +1 -1
  314. package/dist/zod/schemas/approvals.d.ts +91 -0
  315. package/dist/zod/schemas/approvals.d.ts.map +1 -0
  316. package/dist/zod/schemas/approvals.js +38 -0
  317. package/dist/zod/schemas/approvals.js.map +1 -0
  318. package/dist/zod/schemas/clicks.d.ts +394 -0
  319. package/dist/zod/schemas/clicks.d.ts.map +1 -0
  320. package/dist/zod/schemas/clicks.js +85 -0
  321. package/dist/zod/schemas/clicks.js.map +1 -0
  322. package/dist/zod/schemas/leads.d.ts +423 -0
  323. package/dist/zod/schemas/leads.d.ts.map +1 -0
  324. package/dist/zod/schemas/leads.js +58 -0
  325. package/dist/zod/schemas/leads.js.map +1 -0
  326. package/package.json +8 -2
  327. package/dist/feature-flags/eto-v2.d.ts +0 -3
  328. package/dist/feature-flags/eto-v2.d.ts.map +0 -1
  329. package/dist/feature-flags/eto-v2.js +0 -10
  330. package/dist/feature-flags/eto-v2.js.map +0 -1
  331. package/dist/feature-flags/order-editing.d.ts +0 -3
  332. package/dist/feature-flags/order-editing.d.ts.map +0 -1
  333. package/dist/feature-flags/order-editing.js +0 -10
  334. package/dist/feature-flags/order-editing.js.map +0 -1
  335. package/dist/feature-flags/product-categories.d.ts +0 -3
  336. package/dist/feature-flags/product-categories.d.ts.map +0 -1
  337. package/dist/feature-flags/product-categories.js +0 -10
  338. package/dist/feature-flags/product-categories.js.map +0 -1
  339. package/dist/feature-flags/sales-channels.d.ts +0 -3
  340. package/dist/feature-flags/sales-channels.d.ts.map +0 -1
  341. package/dist/feature-flags/sales-channels.js +0 -10
  342. package/dist/feature-flags/sales-channels.js.map +0 -1
  343. package/dist/feature-flags/tax-inclusive-pricing.d.ts +0 -3
  344. package/dist/feature-flags/tax-inclusive-pricing.d.ts.map +0 -1
  345. package/dist/feature-flags/tax-inclusive-pricing.js +0 -10
  346. package/dist/feature-flags/tax-inclusive-pricing.js.map +0 -1
@@ -0,0 +1,196 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.SPECIAL_APEX_DOMAINS = exports.ccTLDs = exports.SECOND_LEVEL_DOMAINS = exports.ETO_LINK_DEMO_LINKS = exports.ETO_LINK_DOMAINS_ARRAY = exports.ETO_LINK_DOMAINS = exports.ETO_LINK_WORKSPACE_ID = exports.SHORT_DOMAIN = void 0;
4
+ // Official ETO link domains
5
+ exports.SHORT_DOMAIN = process.env.NEXT_PUBLIC_APP_SHORT_DOMAIN || "eto.sh";
6
+ exports.ETO_LINK_WORKSPACE_ID = "cl7pj5kq4006835rbjlt2ofka";
7
+ // ETO Domains
8
+ exports.ETO_LINK_DOMAINS = [
9
+ {
10
+ id: "clce1z7ch00j0rbstbjufva4j",
11
+ slug: exports.SHORT_DOMAIN,
12
+ verified: true,
13
+ primary: true,
14
+ archived: false,
15
+ placeholder: "https://eto.link/help/article/what-is-eto",
16
+ allowedHostnames: [],
17
+ description: "The default domain for all new ETO Link accounts.",
18
+ projectId: exports.ETO_LINK_WORKSPACE_ID,
19
+ },
20
+ ...(process.env.NEXT_PUBLIC_IS_ETO_LINK
21
+ ? [
22
+ {
23
+ id: "clxp3lfsb00011na8tfs7t0lx",
24
+ slug: "eto.link",
25
+ verified: true,
26
+ primary: true,
27
+ archived: false,
28
+ placeholder: "https://eto.link/help/article/what-is-eto",
29
+ allowedHostnames: [],
30
+ description: "Premium short domain on ETO Link – only available on our Pro plan and above.",
31
+ projectId: exports.ETO_LINK_WORKSPACE_ID,
32
+ },
33
+ {
34
+ id: "clce1z7cs00y8rbstk4xtnj0k",
35
+ slug: "chatg.pt",
36
+ verified: true,
37
+ primary: false,
38
+ archived: false,
39
+ placeholder: "https://chat.openai.com/g/g-UGjKKONEe-domainsgpt",
40
+ allowedHostnames: ["openai.com", "chatgpt.com"],
41
+ description: "Branded domain for ChatGPT links (convos, custom GPTs).",
42
+ projectId: exports.ETO_LINK_WORKSPACE_ID,
43
+ },
44
+ {
45
+ id: "cloxw8y2u0003js08a7mqg1j8",
46
+ slug: "spti.fi",
47
+ verified: true,
48
+ primary: false,
49
+ archived: false,
50
+ placeholder: "https://open.spotify.com/album/1SCyi9a5pOasikidToUY5y",
51
+ allowedHostnames: ["spotify.com"],
52
+ description: "Branded domain for Spotify links (songs, playlists, etc.).",
53
+ projectId: exports.ETO_LINK_WORKSPACE_ID,
54
+ },
55
+ {
56
+ id: "cltgtd6s5000341itdszz20u2",
57
+ slug: "git.new",
58
+ verified: true,
59
+ primary: false,
60
+ archived: false,
61
+ placeholder: "https://github.com/dubinc/dub",
62
+ allowedHostnames: ["github.com"],
63
+ description: "Branded domain for GitHub links (repositories, gists, etc.).",
64
+ projectId: exports.ETO_LINK_WORKSPACE_ID,
65
+ },
66
+ {
67
+ id: "cm23qevp4000412mqwvtkthzw",
68
+ slug: "cal.link",
69
+ verified: true,
70
+ primary: false,
71
+ archived: false,
72
+ placeholder: "https://cal.com/steven",
73
+ allowedHostnames: [
74
+ "cal.com",
75
+ "calendly.com",
76
+ "calendar.app.google",
77
+ "calendar.google.com",
78
+ "calendar.notion.so",
79
+ "chillipiper.com",
80
+ "fantastical.app",
81
+ "fillout.com",
82
+ "hubspot.com",
83
+ "savvycal.com",
84
+ "scheduler.default.com",
85
+ "tidycal.com",
86
+ "you.ashbyhq.com",
87
+ "zcal.co",
88
+ ],
89
+ description: "Branded domain for your scheduling links (Cal.com, Calendly, etc.).",
90
+ projectId: exports.ETO_LINK_WORKSPACE_ID,
91
+ },
92
+ {
93
+ id: "cloxw8qtk000bjt08n9b812vs",
94
+ slug: "amzn.id",
95
+ verified: true,
96
+ primary: false,
97
+ archived: false,
98
+ placeholder: "https://www.amazon.com/dp/B0BW4SWNC8",
99
+ allowedHostnames: [
100
+ "amazon.com",
101
+ "amazon.co.uk",
102
+ "amazon.ca",
103
+ "amazon.es",
104
+ "amazon.fr",
105
+ ],
106
+ description: "Branded domain for Amazon links (products, wishlists, etc.).",
107
+ projectId: exports.ETO_LINK_WORKSPACE_ID,
108
+ },
109
+ {
110
+ id: "clymd6zkc0001elilr1215tj9",
111
+ slug: "ggl.link",
112
+ verified: true,
113
+ primary: false,
114
+ archived: false,
115
+ placeholder: "https://docs.google.com/document/d/15-GOZA12SXGEh8lNwU5QI1jBi04TCPgY2-LChTbXVpA",
116
+ allowedHostnames: [
117
+ "google.com",
118
+ "google.co.uk",
119
+ "google.co.id",
120
+ "google.ca",
121
+ "google.es",
122
+ "google.fr",
123
+ "googleblog.com",
124
+ "blog.google",
125
+ "g.co",
126
+ "g.page",
127
+ "youtube.com",
128
+ "youtu.be",
129
+ ],
130
+ description: "Branded domain for Google links (Search, Docs, Sheets, Slides, Drive, Maps, etc.).",
131
+ projectId: exports.ETO_LINK_WORKSPACE_ID,
132
+ },
133
+ {
134
+ id: "clymczttm0001jgkore3ltr37",
135
+ slug: "fig.page",
136
+ verified: true,
137
+ primary: false,
138
+ archived: false,
139
+ placeholder: "https://www.figma.com/design/YAfTk6SGV2HcSvL2415oED/Dub.co-Brand-Assets-(Public)?node-id=1-36593&t=QMKQNtUzxSSzG3hX-1",
140
+ allowedHostnames: ["figma.com"],
141
+ description: "Branded domain for Figma links (portfolios, prototypes, presentations, etc.).",
142
+ projectId: exports.ETO_LINK_WORKSPACE_ID,
143
+ },
144
+ ]
145
+ : []),
146
+ ];
147
+ // ETO Link domain slugs array
148
+ exports.ETO_LINK_DOMAINS_ARRAY = exports.ETO_LINK_DOMAINS.map((domain) => domain.slug);
149
+ // ETO Link demo links array
150
+ exports.ETO_LINK_DEMO_LINKS = [
151
+ {
152
+ id: "cm24785ki0001ainw2qks4uq5",
153
+ domain: "cal.link",
154
+ key: "demo",
155
+ dashboardId: "dash_zbzP2UVvTrv5SkIEPP2pV5pC",
156
+ },
157
+ ];
158
+ // Common second-level domains for special TLD detection
159
+ exports.SECOND_LEVEL_DOMAINS = new Set([
160
+ "ac", "co", "com", "edu", "gov", "ltd", "me", "net", "org", "plc", "sch"
161
+ ]);
162
+ // Country code TLDs
163
+ exports.ccTLDs = new Set([
164
+ "ac", "ad", "ae", "af", "ag", "ai", "al", "am", "ao", "aq", "ar", "as",
165
+ "at", "au", "aw", "ax", "az", "ba", "bb", "bd", "be", "bf", "bg", "bh", "bi",
166
+ "bj", "bm", "bn", "bo", "br", "bs", "bt", "bv", "bw", "by", "bz", "ca", "cc",
167
+ "cd", "cf", "cg", "ch", "ci", "ck", "cl", "cm", "cn", "co", "cr", "cu", "cv",
168
+ "cw", "cx", "cy", "cz", "de", "dj", "dk", "dm", "do", "dz", "ec", "ee", "eg",
169
+ "eh", "er", "es", "et", "eu", "fi", "fj", "fk", "fm", "fo", "fr", "ga", "gb",
170
+ "gd", "ge", "gf", "gg", "gh", "gi", "gl", "gm", "gn", "gp", "gq", "gr", "gs",
171
+ "gt", "gu", "gw", "gy", "hk", "hm", "hn", "hr", "ht", "hu", "id", "ie", "il",
172
+ "im", "in", "io", "iq", "ir", "is", "it", "je", "jm", "jo", "jp", "ke", "kg",
173
+ "kh", "ki", "km", "kn", "kp", "kr", "kw", "ky", "kz", "la", "lb", "lc", "li",
174
+ "lk", "lr", "ls", "lt", "lu", "lv", "ly", "ma", "mc", "md", "me", "mf", "mg",
175
+ "mh", "mk", "ml", "mm", "mn", "mo", "mp", "mq", "mr", "ms", "mt", "mu", "mv",
176
+ "mw", "mx", "my", "mz", "na", "nc", "ne", "nf", "ng", "ni", "nl", "no", "np",
177
+ "nr", "nu", "nz", "om", "pa", "pe", "pf", "pg", "ph", "pk", "pl", "pm", "pn",
178
+ "pr", "ps", "pt", "pw", "py", "qa", "re", "ro", "rs", "ru", "rw", "sa", "sb",
179
+ "sc", "sd", "se", "sg", "sh", "si", "sj", "sk", "sl", "sm", "sn", "so", "sr",
180
+ "ss", "st", "sv", "sx", "sy", "sz", "tc", "td", "tf", "tg", "th", "tj", "tk",
181
+ "tl", "tm", "tn", "to", "tr", "tt", "tv", "tw", "tz", "ua", "ug", "uk", "um",
182
+ "us", "uy", "uz", "va", "vc", "ve", "vg", "vi", "vn", "vu", "wf", "ws", "ye",
183
+ "yt", "za", "zm", "zw"
184
+ ]);
185
+ // Some website builder domains where apex is actually the last 2 parts, not one
186
+ exports.SPECIAL_APEX_DOMAINS = new Set([
187
+ "vercel.app",
188
+ "firebaseapp.com",
189
+ "onrender.com",
190
+ "netlify.app",
191
+ "surge.sh",
192
+ "herokuapp.com",
193
+ "webflow.io",
194
+ "pages.dev"
195
+ ]);
196
+ //# sourceMappingURL=constants.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/common/constants.ts"],"names":[],"mappings":"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,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI;IAC5E,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI;IAC5E,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI;IAC5E,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI;IAC5E,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI;IAC5E,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI;IAC5E,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI;IAC5E,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI;IAC5E,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI;IAC5E,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI;IAC5E,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI;IAC5E,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI;IAC5E,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI;IAC5E,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI;IAC5E,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI;IAC5E,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI;CACvB,CAAC,CAAC;AAEH,gFAAgF;AACnE,QAAA,oBAAoB,GAAG,IAAI,GAAG,CAAC;IAC1C,YAAY;IACZ,iBAAiB;IACjB,cAAc;IACd,aAAa;IACb,UAAU;IACV,eAAe;IACf,YAAY;IACZ,WAAW;CACZ,CAAC,CAAC"}
@@ -0,0 +1,8 @@
1
+ import { InputFileConfig } from "@etohq/types";
2
+ export declare const ETO_SKIP_FILE: unique symbol;
3
+ export declare const MEDUSA_SKIP_FILE: symbol;
4
+ export declare function defineFileConfig(config?: InputFileConfig): void;
5
+ export declare function getDefinedFileConfig(path?: string): InputFileConfig | undefined;
6
+ export declare function isFileDisabled(path?: string): boolean;
7
+ export declare function isFileSkipped(exported: unknown): boolean;
8
+ //# sourceMappingURL=define-file-config.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"define-file-config.d.ts","sourceRoot":"","sources":["../../src/common/define-file-config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAA;AAG9C,eAAO,MAAM,aAAa,eAAkC,CAAA;AAE5D,eAAO,MAAM,gBAAgB,QAAgB,CAAA;AAQ7C,wBAAgB,gBAAgB,CAAC,MAAM,CAAC,EAAE,eAAe,QAMxD;AAED,wBAAgB,oBAAoB,CAAC,IAAI,CAAC,EAAE,MAAM,+BAEjD;AAED,wBAAgB,cAAc,CAAC,IAAI,CAAC,EAAE,MAAM,WAE3C;AAED,wBAAgB,aAAa,CAAC,QAAQ,EAAE,OAAO,WAG9C"}
@@ -0,0 +1,34 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.MEDUSA_SKIP_FILE = exports.ETO_SKIP_FILE = void 0;
4
+ exports.defineFileConfig = defineFileConfig;
5
+ exports.getDefinedFileConfig = getDefinedFileConfig;
6
+ exports.isFileDisabled = isFileDisabled;
7
+ exports.isFileSkipped = isFileSkipped;
8
+ const get_caller_file_path_1 = require("./get-caller-file-path");
9
+ exports.ETO_SKIP_FILE = Symbol.for("__ETO_SKIP_FILE__");
10
+ // Kept as alias for compatibility with upstream naming.
11
+ exports.MEDUSA_SKIP_FILE = exports.ETO_SKIP_FILE;
12
+ /**
13
+ * The `defineFileConfig` helper defines config for auto-loaded files.
14
+ * It can be used to skip loading files behind feature flags.
15
+ */
16
+ const FILE_CONFIGS = new Map();
17
+ function defineFileConfig(config) {
18
+ const filePath = config?.path ?? (0, get_caller_file_path_1.getCallerFilePath)() ?? undefined;
19
+ if (!filePath) {
20
+ return;
21
+ }
22
+ FILE_CONFIGS.set(filePath, config);
23
+ }
24
+ function getDefinedFileConfig(path) {
25
+ return path ? FILE_CONFIGS.get(path) : undefined;
26
+ }
27
+ function isFileDisabled(path) {
28
+ return !!getDefinedFileConfig(path)?.isDisabled?.();
29
+ }
30
+ function isFileSkipped(exported) {
31
+ const maybeObj = exported;
32
+ return !!maybeObj?.[exports.ETO_SKIP_FILE];
33
+ }
34
+ //# sourceMappingURL=define-file-config.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"define-file-config.js","sourceRoot":"","sources":["../../src/common/define-file-config.ts"],"names":[],"mappings":";;;AAaA,4CAMC;AAED,oDAEC;AAED,wCAEC;AAED,sCAGC;AA/BD,iEAA0D;AAE7C,QAAA,aAAa,GAAG,MAAM,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAA;AAC5D,wDAAwD;AAC3C,QAAA,gBAAgB,GAAG,qBAAa,CAAA;AAE7C;;;GAGG;AACH,MAAM,YAAY,GAAG,IAAI,GAAG,EAAuC,CAAA;AAEnE,SAAgB,gBAAgB,CAAC,MAAwB;IACvD,MAAM,QAAQ,GAAG,MAAM,EAAE,IAAI,IAAI,IAAA,wCAAiB,GAAE,IAAI,SAAS,CAAA;IACjE,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,OAAM;IACR,CAAC;IACD,YAAY,CAAC,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAA;AACpC,CAAC;AAED,SAAgB,oBAAoB,CAAC,IAAa;IAChD,OAAO,IAAI,CAAC,CAAC,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;AAClD,CAAC;AAED,SAAgB,cAAc,CAAC,IAAa;IAC1C,OAAO,CAAC,CAAC,oBAAoB,CAAC,IAAI,CAAC,EAAE,UAAU,EAAE,EAAE,CAAA;AACrD,CAAC;AAED,SAAgB,aAAa,CAAC,QAAiB;IAC7C,MAAM,QAAQ,GAAG,QAA2D,CAAA;IAC5E,OAAO,CAAC,CAAC,QAAQ,EAAE,CAAC,qBAAa,CAAC,CAAA;AACpC,CAAC"}
@@ -0,0 +1,8 @@
1
+ export declare const generateDomainFromName: (name: string) => Promise<string>;
2
+ export declare const validDomainRegex: RegExp;
3
+ export declare const validSlugRegex: RegExp;
4
+ export declare const getSubdomain: (name: string, apexName: string) => string | null;
5
+ export declare const getApexDomain: (url: string) => any;
6
+ export declare const getDomainWithoutWWW: (url: string) => string | null;
7
+ export declare const isETOLinkDomain: (domain: string) => boolean;
8
+ //# sourceMappingURL=domains.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"domains.d.ts","sourceRoot":"","sources":["../../src/common/domains.ts"],"names":[],"mappings":"AAkBA,eAAO,MAAM,sBAAsB,GAAU,MAAM,MAAM,oBAmBxD,CAAC;AAGF,eAAO,MAAM,gBAAgB,QAE5B,CAAC;AAEF,eAAO,MAAM,cAAc,QAAiC,CAAC;AAE7D,eAAO,MAAM,YAAY,GAAI,MAAM,MAAM,EAAE,UAAU,MAAM,kBAG1D,CAAC;AAEF,eAAO,MAAM,aAAa,GAAI,KAAK,MAAM,QA2BxC,CAAC;AAEF,eAAO,MAAM,mBAAmB,GAAI,KAAK,MAAM,kBAY9C,CAAC;AAEF,eAAO,MAAM,eAAe,GAAI,QAAQ,MAAM,YAE7C,CAAC"}
@@ -0,0 +1,88 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.isETOLinkDomain = exports.getDomainWithoutWWW = exports.getApexDomain = exports.getSubdomain = exports.validSlugRegex = exports.validDomainRegex = exports.generateDomainFromName = void 0;
4
+ // Dynamically import 'slugify' since it is ESM-only
5
+ let slugify;
6
+ async function getSlugify() {
7
+ if (!slugify) {
8
+ slugify = (await import("@sindresorhus/slugify")).default;
9
+ }
10
+ return slugify;
11
+ }
12
+ const constants_1 = require("./constants");
13
+ const is_valid_url_1 = require("./is-valid-url");
14
+ const generateDomainFromName = async (name) => {
15
+ const normalizedName = (await getSlugify())(name, { separator: "" });
16
+ if (normalizedName.length < 3) {
17
+ return "";
18
+ }
19
+ if (constants_1.ccTLDs.has(normalizedName.slice(-2))) {
20
+ return `${normalizedName.slice(0, -2)}.${normalizedName.slice(-2)}`;
21
+ }
22
+ // remove vowels
23
+ const devowel = normalizedName.replace(/[aeiou]/g, "");
24
+ if (devowel.length >= 3 && constants_1.ccTLDs.has(devowel.slice(-2))) {
25
+ return `${devowel.slice(0, -2)}.${devowel.slice(-2)}`;
26
+ }
27
+ const shortestString = [normalizedName, devowel].reduce((a, b) => a.length < b.length ? a : b);
28
+ return `${shortestString}.link`;
29
+ };
30
+ exports.generateDomainFromName = generateDomainFromName;
31
+ // courtesy of ChatGPT: https://sharegpt.com/c/pUYXtRs
32
+ exports.validDomainRegex = new RegExp(/^([a-zA-Z0-9]([a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?\.)+[a-zA-Z]{2,}$/);
33
+ exports.validSlugRegex = new RegExp(/^[a-zA-Z0-9\-]+$/);
34
+ const getSubdomain = (name, apexName) => {
35
+ if (name === apexName)
36
+ return null;
37
+ return name.slice(0, name.length - apexName.length - 1);
38
+ };
39
+ exports.getSubdomain = getSubdomain;
40
+ const getApexDomain = (url) => {
41
+ let domain;
42
+ try {
43
+ // replace any custom scheme (e.g. notion://) with https://
44
+ // use the URL constructor to get the hostname
45
+ domain = new URL(url.replace(/^[a-zA-Z]+:\/\//, "https://")).hostname;
46
+ }
47
+ catch (e) {
48
+ return "";
49
+ }
50
+ if (domain === "youtu.be")
51
+ return "youtube.com";
52
+ const parts = domain.split(".");
53
+ if (parts.length > 2) {
54
+ if (
55
+ // if this is a second-level TLD (e.g. co.uk, .com.ua, .org.tt), we need to return the last 3 parts
56
+ (constants_1.SECOND_LEVEL_DOMAINS.has(parts[parts.length - 2]) &&
57
+ constants_1.ccTLDs.has(parts[parts.length - 1])) ||
58
+ // if it's a special subdomain for website builders (e.g. weathergpt.vercel.app/)
59
+ constants_1.SPECIAL_APEX_DOMAINS.has(parts.slice(-2).join("."))) {
60
+ return parts.slice(-3).join(".");
61
+ }
62
+ // otherwise, it's a subdomain (e.g. dub.vercel.app), so we return the last 2 parts
63
+ return parts.slice(-2).join(".");
64
+ }
65
+ // if it's a normal domain (e.g. dub.co), we return the domain
66
+ return domain;
67
+ };
68
+ exports.getApexDomain = getApexDomain;
69
+ const getDomainWithoutWWW = (url) => {
70
+ if ((0, is_valid_url_1.isValidUrl)(url)) {
71
+ return new URL(url).hostname.replace(/^www\./, "");
72
+ }
73
+ try {
74
+ if (url.includes(".") && !url.includes(" ")) {
75
+ return new URL(`https://${url}`).hostname.replace(/^www\./, "");
76
+ }
77
+ }
78
+ catch (e) {
79
+ return null;
80
+ }
81
+ return null;
82
+ };
83
+ exports.getDomainWithoutWWW = getDomainWithoutWWW;
84
+ const isETOLinkDomain = (domain) => {
85
+ return constants_1.ETO_LINK_DOMAINS.some((d) => d.slug === domain);
86
+ };
87
+ exports.isETOLinkDomain = isETOLinkDomain;
88
+ //# sourceMappingURL=domains.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"domains.js","sourceRoot":"","sources":["../../src/common/domains.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"dynamic-import.d.ts","sourceRoot":"","sources":["../../src/common/dynamic-import.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;GAUG;AACH,wBAAsB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,CAG9D"}
1
+ {"version":3,"file":"dynamic-import.d.ts","sourceRoot":"","sources":["../../src/common/dynamic-import.ts"],"names":[],"mappings":"AAIA;;;;;;;;;;GAUG;AACH,wBAAsB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,CAG9D"}
@@ -2,6 +2,8 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.dynamicImport = dynamicImport;
4
4
  const resolve_exports_1 = require("./resolve-exports");
5
+ const fs_1 = require("fs");
6
+ const path_1 = require("path");
5
7
  /**
6
8
  * Utility that should be used instead of either await import() or require()
7
9
  * to avoid bundling issues. That way we have a single place
@@ -14,7 +16,28 @@ const resolve_exports_1 = require("./resolve-exports");
14
16
  * @param path
15
17
  */
16
18
  async function dynamicImport(path) {
17
- const module = require(path);
19
+ const module = require(resolveImportTarget(path));
18
20
  return (0, resolve_exports_1.resolveExports)(module);
19
21
  }
22
+ function resolveImportTarget(path) {
23
+ if ((0, path_1.extname)(path)) {
24
+ return path;
25
+ }
26
+ const candidates = [
27
+ path,
28
+ `${path}.js`,
29
+ `${path}.cjs`,
30
+ `${path}.mjs`,
31
+ `${path}.ts`,
32
+ `${path}.cts`,
33
+ `${path}.mts`,
34
+ (0, path_1.join)(path, "index.js"),
35
+ (0, path_1.join)(path, "index.cjs"),
36
+ (0, path_1.join)(path, "index.mjs"),
37
+ (0, path_1.join)(path, "index.ts"),
38
+ (0, path_1.join)(path, "index.cts"),
39
+ (0, path_1.join)(path, "index.mts"),
40
+ ];
41
+ return candidates.find((candidate) => (0, fs_1.existsSync)(candidate)) ?? path;
42
+ }
20
43
  //# sourceMappingURL=dynamic-import.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"dynamic-import.js","sourceRoot":"","sources":["../../src/common/dynamic-import.ts"],"names":[],"mappings":";;AAaA,sCAGC;AAhBD,uDAAkD;AAElD;;;;;;;;;;GAUG;AACI,KAAK,UAAU,aAAa,CAAC,IAAY;IAC9C,MAAM,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IAC5B,OAAO,IAAA,gCAAc,EAAC,MAAM,CAAC,CAAA;AAC/B,CAAC"}
1
+ {"version":3,"file":"dynamic-import.js","sourceRoot":"","sources":["../../src/common/dynamic-import.ts"],"names":[],"mappings":";;AAeA,sCAGC;AAlBD,uDAAkD;AAClD,2BAA+B;AAC/B,+BAAoC;AAEpC;;;;;;;;;;GAUG;AACI,KAAK,UAAU,aAAa,CAAC,IAAY;IAC9C,MAAM,MAAM,GAAG,OAAO,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC,CAAA;IACjD,OAAO,IAAA,gCAAc,EAAC,MAAM,CAAC,CAAA;AAC/B,CAAC;AAED,SAAS,mBAAmB,CAAC,IAAY;IACvC,IAAI,IAAA,cAAO,EAAC,IAAI,CAAC,EAAE,CAAC;QAClB,OAAO,IAAI,CAAA;IACb,CAAC;IAED,MAAM,UAAU,GAAG;QACjB,IAAI;QACJ,GAAG,IAAI,KAAK;QACZ,GAAG,IAAI,MAAM;QACb,GAAG,IAAI,MAAM;QACb,GAAG,IAAI,KAAK;QACZ,GAAG,IAAI,MAAM;QACb,GAAG,IAAI,MAAM;QACb,IAAA,WAAI,EAAC,IAAI,EAAE,UAAU,CAAC;QACtB,IAAA,WAAI,EAAC,IAAI,EAAE,WAAW,CAAC;QACvB,IAAA,WAAI,EAAC,IAAI,EAAE,WAAW,CAAC;QACvB,IAAA,WAAI,EAAC,IAAI,EAAE,UAAU,CAAC;QACtB,IAAA,WAAI,EAAC,IAAI,EAAE,WAAW,CAAC;QACvB,IAAA,WAAI,EAAC,IAAI,EAAE,WAAW,CAAC;KACxB,CAAA;IAED,OAAO,UAAU,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,IAAA,eAAU,EAAC,SAAS,CAAC,CAAC,IAAI,IAAI,CAAA;AACtE,CAAC"}
@@ -10,6 +10,7 @@ export declare const EtoErrorTypes: {
10
10
  INVALID_ARGUMENT: string;
11
11
  INVALID_DATA: string;
12
12
  UNAUTHORIZED: string;
13
+ FORBIDDEN: string;
13
14
  NOT_FOUND: string;
14
15
  NOT_ALLOWED: string;
15
16
  UNEXPECTED_STATE: string;
@@ -40,6 +41,7 @@ export declare class EtoError extends APIError {
40
41
  INVALID_ARGUMENT: string;
41
42
  INVALID_DATA: string;
42
43
  UNAUTHORIZED: string;
44
+ FORBIDDEN: string;
43
45
  NOT_FOUND: string;
44
46
  NOT_ALLOWED: string;
45
47
  UNEXPECTED_STATE: string;
@@ -1 +1 @@
1
- {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/common/errors.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAA;AAE/C;;;GAGG;AACH,eAAO,MAAM,aAAa;IACxB,wCAAwC;;;;;;;;;;;;;CAazC,CAAA;AAED,eAAO,MAAM,aAAa;;;;CAIzB,CAAA;AAkBD;;;GAGG;AACH,qBAAa,QAAS,SAAQ,QAAQ;IACpC,YAAY,UAAO;IAEZ,IAAI,EAAE,MAAM,CAAA;IACZ,OAAO,EAAE,MAAM,CAAA;IACf,IAAI,EAAE,OAAO,CAAA;IACb,IAAI,EAAE,IAAI,CAAA;IACjB,OAAc,KAAK;QAhDnB,wCAAwC;;;;;;;;;;;;;MAgDL;IACnC,OAAc,KAAK;;;;MAAgB;IAEnC;;;;;;OAMG;gBACS,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,EAAE,GAAG,MAAM,EAAE,GAAG,EAAE;IAiB1E;;;OAGG;IACH,MAAM,CAAC,UAAU,CAAC,GAAG,EAAE,OAAO,GAAG,GAAG,IAAI,QAAQ;CAGjD"}
1
+ {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/common/errors.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAA;AAE/C;;;GAGG;AACH,eAAO,MAAM,aAAa;IACxB,wCAAwC;;;;;;;;;;;;;;CAczC,CAAA;AAED,eAAO,MAAM,aAAa;;;;CAIzB,CAAA;AAmBD;;;GAGG;AACH,qBAAa,QAAS,SAAQ,QAAQ;IACpC,YAAY,UAAO;IAEZ,IAAI,EAAE,MAAM,CAAA;IACZ,OAAO,EAAE,MAAM,CAAA;IACf,IAAI,EAAE,OAAO,CAAA;IACb,IAAI,EAAE,IAAI,CAAA;IACjB,OAAc,KAAK;QAlDnB,wCAAwC;;;;;;;;;;;;;;MAkDL;IACnC,OAAc,KAAK;;;;MAAgB;IAEnC;;;;;;OAMG;gBACS,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,EAAE,GAAG,MAAM,EAAE,GAAG,EAAE;IAiB1E;;;OAGG;IACH,MAAM,CAAC,UAAU,CAAC,GAAG,EAAE,OAAO,GAAG,GAAG,IAAI,QAAQ;CAGjD"}
@@ -13,6 +13,7 @@ exports.EtoErrorTypes = {
13
13
  INVALID_ARGUMENT: "invalid_argument",
14
14
  INVALID_DATA: "invalid_data",
15
15
  UNAUTHORIZED: "unauthorized",
16
+ FORBIDDEN: "forbidden",
16
17
  NOT_FOUND: "not_found",
17
18
  NOT_ALLOWED: "not_allowed",
18
19
  UNEXPECTED_STATE: "unexpected_state",
@@ -30,6 +31,7 @@ const EtoTypeToErrCode = {
30
31
  [exports.EtoErrorTypes.INVALID_ARGUMENT]: api_error_1.ErrCode.InvalidArgument,
31
32
  [exports.EtoErrorTypes.NOT_FOUND]: api_error_1.ErrCode.NotFound,
32
33
  [exports.EtoErrorTypes.UNAUTHORIZED]: api_error_1.ErrCode.PermissionDenied,
34
+ [exports.EtoErrorTypes.FORBIDDEN]: api_error_1.ErrCode.PermissionDenied,
33
35
  [exports.EtoErrorTypes.DUPLICATE_ERROR]: api_error_1.ErrCode.AlreadyExists,
34
36
  [exports.EtoErrorTypes.UNEXPECTED_STATE]: api_error_1.ErrCode.FailedPrecondition,
35
37
  [exports.EtoErrorTypes.CONFLICT]: api_error_1.ErrCode.Aborted,
@@ -1 +1 @@
1
- {"version":3,"file":"errors.js","sourceRoot":"","sources":["../../src/common/errors.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"errors.js","sourceRoot":"","sources":["../../src/common/errors.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Execute async functions with a concurrency limit.
3
+ */
4
+ export declare function executeWithConcurrency<T>(functions: (() => Promise<T>)[], concurrency: number): Promise<PromiseSettledResult<Awaited<T>>[]>;
5
+ //# sourceMappingURL=execute-with-concurrency.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"execute-with-concurrency.d.ts","sourceRoot":"","sources":["../../src/common/execute-with-concurrency.ts"],"names":[],"mappings":"AAEA;;GAEG;AACH,wBAAsB,sBAAsB,CAAC,CAAC,EAC5C,SAAS,EAAE,CAAC,MAAM,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,EAC/B,WAAW,EAAE,MAAM,GAClB,OAAO,CAAC,oBAAoB,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAqB7C"}
@@ -0,0 +1,26 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.executeWithConcurrency = executeWithConcurrency;
4
+ const promise_all_1 = require("./promise-all");
5
+ /**
6
+ * Execute async functions with a concurrency limit.
7
+ */
8
+ async function executeWithConcurrency(functions, concurrency) {
9
+ const functionsLength = functions.length;
10
+ const results = new Array(functionsLength);
11
+ let currentIndex = 0;
12
+ const executeNext = async () => {
13
+ while (currentIndex < functionsLength) {
14
+ const index = currentIndex++;
15
+ const result = await Promise.allSettled([functions[index]()]);
16
+ results[index] = result[0];
17
+ }
18
+ };
19
+ const workers = [];
20
+ for (let i = 0; i < Math.min(concurrency, functionsLength); i++) {
21
+ workers.push(executeNext());
22
+ }
23
+ await (0, promise_all_1.promiseAll)(workers);
24
+ return results;
25
+ }
26
+ //# sourceMappingURL=execute-with-concurrency.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"execute-with-concurrency.js","sourceRoot":"","sources":["../../src/common/execute-with-concurrency.ts"],"names":[],"mappings":";;AAKA,wDAwBC;AA7BD,+CAA0C;AAE1C;;GAEG;AACI,KAAK,UAAU,sBAAsB,CAC1C,SAA+B,EAC/B,WAAmB;IAEnB,MAAM,eAAe,GAAG,SAAS,CAAC,MAAM,CAAA;IACxC,MAAM,OAAO,GAAuC,IAAI,KAAK,CAAC,eAAe,CAAC,CAAA;IAC9E,IAAI,YAAY,GAAG,CAAC,CAAA;IAEpB,MAAM,WAAW,GAAG,KAAK,IAAmB,EAAE;QAC5C,OAAO,YAAY,GAAG,eAAe,EAAE,CAAC;YACtC,MAAM,KAAK,GAAG,YAAY,EAAE,CAAA;YAC5B,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,UAAU,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAA;YAC7D,OAAO,CAAC,KAAK,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAA;QAC5B,CAAC;IACH,CAAC,CAAA;IAED,MAAM,OAAO,GAAoB,EAAE,CAAA;IACnC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,eAAe,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;QAChE,OAAO,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAA;IAC7B,CAAC;IAED,MAAM,IAAA,wBAAU,EAAC,OAAO,CAAC,CAAA;IAEzB,OAAO,OAAO,CAAA;AAChB,CAAC"}
@@ -0,0 +1,6 @@
1
+ export declare function fetchWithRetry(input: RequestInfo | URL, init?: RequestInit | undefined, options?: {
2
+ timeout?: number;
3
+ maxRetries?: number;
4
+ retryDelay?: number;
5
+ }): Promise<Response>;
6
+ //# sourceMappingURL=fetch-with-retry.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fetch-with-retry.d.ts","sourceRoot":"","sources":["../../src/common/fetch-with-retry.ts"],"names":[],"mappings":"AAAA,wBAAsB,cAAc,CAClC,KAAK,EAAE,WAAW,GAAG,GAAG,EACxB,IAAI,CAAC,EAAE,WAAW,GAAG,SAAS,EAC9B,OAAO,GAAE;IACP,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;CAChB,GACL,OAAO,CAAC,QAAQ,CAAC,CAmEnB"}
@@ -0,0 +1,63 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.fetchWithRetry = fetchWithRetry;
4
+ async function fetchWithRetry(input, init, options = {}) {
5
+ const { timeout = 5000, maxRetries = 10, retryDelay = 1000 } = options;
6
+ let lastError = null;
7
+ for (let i = 0; i < maxRetries; i++) {
8
+ const controller = new AbortController();
9
+ const timeoutId = setTimeout(() => {
10
+ controller.abort();
11
+ }, timeout);
12
+ try {
13
+ const response = await fetch(input, {
14
+ ...init,
15
+ signal: controller.signal,
16
+ });
17
+ clearTimeout(timeoutId);
18
+ if (response.ok) {
19
+ return response;
20
+ }
21
+ // Handle rate limiting and server errors
22
+ if (response.status === 429 || response.status >= 500) {
23
+ const delay = retryDelay + Math.pow(i, 2) * 50;
24
+ await new Promise((resolve) => setTimeout(resolve, delay));
25
+ continue;
26
+ }
27
+ // Handle unauthorized errors
28
+ if (response.status === 403) {
29
+ throw new Error("Unauthorized");
30
+ }
31
+ // Handle other errors
32
+ if (!response.ok) {
33
+ let errorMessage;
34
+ try {
35
+ const error = await response.json();
36
+ errorMessage = error.error || `HTTP error ${response.status}`;
37
+ }
38
+ catch {
39
+ errorMessage = `HTTP error ${response.status}`;
40
+ }
41
+ console.error(`fetchWithRetry error: ${errorMessage}`);
42
+ throw new Error(errorMessage);
43
+ }
44
+ }
45
+ catch (error) {
46
+ clearTimeout(timeoutId);
47
+ lastError = error instanceof Error ? error : new Error(String(error));
48
+ // If this is the last retry, throw the error
49
+ if (i === maxRetries - 1) {
50
+ const errMsg = `Failed after ${maxRetries} retries. Last error: ${lastError.message}`;
51
+ console.error(`fetchWithRetry error: ${errMsg}`);
52
+ throw new Error(errMsg);
53
+ }
54
+ // For network errors or timeouts, wait and retry
55
+ const delay = retryDelay + Math.pow(i, 2) * 50;
56
+ await new Promise((resolve) => setTimeout(resolve, delay));
57
+ }
58
+ }
59
+ // This should never be reached due to the throw in the last retry,
60
+ // but TypeScript needs it for type safety
61
+ throw new Error(`Failed after ${maxRetries} retries`);
62
+ }
63
+ //# sourceMappingURL=fetch-with-retry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fetch-with-retry.js","sourceRoot":"","sources":["../../src/common/fetch-with-retry.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export declare function getIdentityHash(req: Request): Promise<string>;
2
+ //# sourceMappingURL=get-identity-hash.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get-identity-hash.d.ts","sourceRoot":"","sources":["../../src/common/get-identity-hash.ts"],"names":[],"mappings":"AAGA,wBAAsB,eAAe,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,CAenE"}
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getIdentityHash = getIdentityHash;
4
+ const crypto_1 = require("crypto");
5
+ // Generate identity hash for access link tracking (following Dub's pattern)
6
+ async function getIdentityHash(req) {
7
+ const ip = req.headers.get("x-forwarded-for")?.split(",")[0]?.trim() ||
8
+ req.headers.get("x-real-ip") ||
9
+ req.headers.get("cf-connecting-ip") ||
10
+ "unknown";
11
+ const userAgent = req.headers.get("user-agent") || "unknown";
12
+ // Create hash from IP + User Agent for anonymous tracking
13
+ const identityString = `${ip}:${userAgent}`;
14
+ return (0, crypto_1.createHash)("sha256")
15
+ .update(identityString)
16
+ .digest("hex")
17
+ .substring(0, 16); // First 16 chars for shorter hash
18
+ }
19
+ //# sourceMappingURL=get-identity-hash.js.map