codebuff 1.0.324 → 1.0.325

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 (238) hide show
  1. package/dist/checkpoints/file-manager.js +20 -12
  2. package/dist/checkpoints/file-manager.js.map +1 -1
  3. package/dist/code-map/tsconfig.tsbuildinfo +1 -1
  4. package/dist/common/actions.d.ts +58 -58
  5. package/dist/common/analytics.d.ts +1 -1
  6. package/dist/common/browser-actions.d.ts +277 -277
  7. package/dist/common/constants.js +3 -3
  8. package/dist/common/constants.js.map +1 -1
  9. package/dist/common/db/env.d.mts +4 -0
  10. package/dist/common/db/env.mjs +26 -0
  11. package/dist/common/db/env.mjs.map +1 -0
  12. package/dist/common/db/schema.d.ts +155 -0
  13. package/dist/common/db/schema.d.ts.map +1 -1
  14. package/dist/common/db/schema.js +15 -1
  15. package/dist/common/db/schema.js.map +1 -1
  16. package/dist/common/env.d.mts +13 -0
  17. package/dist/common/env.mjs +43 -0
  18. package/dist/common/env.mjs.map +1 -0
  19. package/dist/common/src/actions.d.ts +2673 -0
  20. package/dist/common/src/actions.d.ts.map +1 -0
  21. package/dist/common/src/actions.js +167 -0
  22. package/dist/common/src/actions.js.map +1 -0
  23. package/dist/common/src/analytics.d.ts +6 -0
  24. package/dist/common/src/analytics.d.ts.map +1 -0
  25. package/dist/common/src/analytics.js +60 -0
  26. package/dist/common/src/analytics.js.map +1 -0
  27. package/dist/common/src/api-keys/constants.d.ts +9 -0
  28. package/dist/common/src/api-keys/constants.d.ts.map +1 -0
  29. package/dist/common/src/api-keys/constants.js +26 -0
  30. package/dist/common/src/api-keys/constants.js.map +1 -0
  31. package/dist/common/src/api-keys/crypto.d.ts +25 -0
  32. package/dist/common/src/api-keys/crypto.d.ts.map +1 -0
  33. package/dist/common/src/api-keys/crypto.js +186 -0
  34. package/dist/common/src/api-keys/crypto.js.map +1 -0
  35. package/dist/common/src/browser-actions.d.ts +4416 -0
  36. package/dist/common/src/browser-actions.d.ts.map +1 -0
  37. package/dist/common/src/browser-actions.js +343 -0
  38. package/dist/common/src/browser-actions.js.map +1 -0
  39. package/dist/common/src/constants/analytics-events.d.ts +28 -0
  40. package/dist/common/src/constants/analytics-events.d.ts.map +1 -0
  41. package/dist/common/src/constants/analytics-events.js +36 -0
  42. package/dist/common/src/constants/analytics-events.js.map +1 -0
  43. package/dist/common/src/constants/grant-priorities.d.ts +3 -0
  44. package/dist/common/src/constants/grant-priorities.d.ts.map +1 -0
  45. package/dist/common/src/constants/grant-priorities.js +11 -0
  46. package/dist/common/src/constants/grant-priorities.js.map +1 -0
  47. package/dist/common/src/constants/tools.d.ts +20 -0
  48. package/dist/common/src/constants/tools.d.ts.map +1 -0
  49. package/dist/common/src/constants/tools.js +47 -0
  50. package/dist/common/src/constants/tools.js.map +1 -0
  51. package/dist/common/src/constants.d.ts +152 -0
  52. package/dist/common/src/constants.d.ts.map +1 -0
  53. package/dist/common/src/constants.js +222 -0
  54. package/dist/common/src/constants.js.map +1 -0
  55. package/dist/common/src/db/drizzle.config.d.ts +3 -0
  56. package/dist/common/src/db/drizzle.config.d.ts.map +1 -0
  57. package/dist/common/src/db/drizzle.config.js +17 -0
  58. package/dist/common/src/db/drizzle.config.js.map +1 -0
  59. package/dist/common/src/db/index.d.ts +7 -0
  60. package/dist/common/src/db/index.d.ts.map +1 -0
  61. package/dist/common/src/db/index.js +35 -0
  62. package/dist/common/src/db/index.js.map +1 -0
  63. package/dist/common/src/db/schema.d.ts +2289 -0
  64. package/dist/common/src/db/schema.d.ts.map +1 -0
  65. package/dist/common/src/db/schema.js +296 -0
  66. package/dist/common/src/db/schema.js.map +1 -0
  67. package/dist/common/src/db/transaction.d.ts +13 -0
  68. package/dist/common/src/db/transaction.d.ts.map +1 -0
  69. package/dist/common/src/db/transaction.js +36 -0
  70. package/dist/common/src/db/transaction.js.map +1 -0
  71. package/dist/common/src/json-config/__tests__/constants.test.d.ts +2 -0
  72. package/dist/common/src/json-config/__tests__/constants.test.d.ts.map +1 -0
  73. package/dist/common/src/json-config/__tests__/constants.test.js +273 -0
  74. package/dist/common/src/json-config/__tests__/constants.test.js.map +1 -0
  75. package/dist/common/src/json-config/__tests__/stringify-schema.test.d.ts +2 -0
  76. package/dist/common/src/json-config/__tests__/stringify-schema.test.d.ts.map +1 -0
  77. package/dist/common/src/json-config/__tests__/stringify-schema.test.js +66 -0
  78. package/dist/common/src/json-config/__tests__/stringify-schema.test.js.map +1 -0
  79. package/dist/common/src/json-config/constants.d.ts +138 -0
  80. package/dist/common/src/json-config/constants.d.ts.map +1 -0
  81. package/dist/common/src/json-config/constants.js +78 -0
  82. package/dist/common/src/json-config/constants.js.map +1 -0
  83. package/dist/common/src/json-config/stringify-schema.d.ts +10 -0
  84. package/dist/common/src/json-config/stringify-schema.d.ts.map +1 -0
  85. package/dist/common/src/json-config/stringify-schema.js +131 -0
  86. package/dist/common/src/json-config/stringify-schema.js.map +1 -0
  87. package/dist/common/src/project-file-tree.d.ts +12 -0
  88. package/dist/common/src/project-file-tree.d.ts.map +1 -0
  89. package/dist/common/src/project-file-tree.js +212 -0
  90. package/dist/common/src/project-file-tree.js.map +1 -0
  91. package/dist/common/src/types/agent-state.d.ts +227 -0
  92. package/dist/common/src/types/agent-state.d.ts.map +1 -0
  93. package/dist/common/src/types/agent-state.js +34 -0
  94. package/dist/common/src/types/agent-state.js.map +1 -0
  95. package/dist/common/src/types/grant.d.ts +3 -0
  96. package/dist/common/src/types/grant.d.ts.map +1 -0
  97. package/dist/common/src/types/grant.js +11 -0
  98. package/dist/common/src/types/grant.js.map +1 -0
  99. package/dist/common/src/types/message.d.ts +320 -0
  100. package/dist/common/src/types/message.d.ts.map +1 -0
  101. package/dist/common/src/types/message.js +60 -0
  102. package/dist/common/src/types/message.js.map +1 -0
  103. package/dist/common/src/types/organization.d.ts +106 -0
  104. package/dist/common/src/types/organization.d.ts.map +1 -0
  105. package/dist/common/src/types/organization.js +3 -0
  106. package/dist/common/src/types/organization.js.map +1 -0
  107. package/dist/common/src/types/referral.d.ts +3 -0
  108. package/dist/common/src/types/referral.d.ts.map +1 -0
  109. package/dist/common/src/types/referral.js +5 -0
  110. package/dist/common/src/types/referral.js.map +1 -0
  111. package/dist/common/src/types/tools.d.ts +6 -0
  112. package/dist/common/src/types/tools.d.ts.map +1 -0
  113. package/dist/common/src/types/tools.js +3 -0
  114. package/dist/common/src/types/tools.js.map +1 -0
  115. package/dist/common/src/types/usage.d.ts +41 -0
  116. package/dist/common/src/types/usage.d.ts.map +1 -0
  117. package/dist/common/src/types/usage.js +16 -0
  118. package/dist/common/src/types/usage.js.map +1 -0
  119. package/dist/common/src/util/__tests__/messages.test.d.ts +2 -0
  120. package/dist/common/src/util/__tests__/messages.test.d.ts.map +1 -0
  121. package/dist/common/src/util/__tests__/messages.test.js +70 -0
  122. package/dist/common/src/util/__tests__/messages.test.js.map +1 -0
  123. package/dist/common/src/util/__tests__/saxy.test.d.ts +2 -0
  124. package/dist/common/src/util/__tests__/saxy.test.d.ts.map +1 -0
  125. package/dist/common/src/util/__tests__/saxy.test.js +906 -0
  126. package/dist/common/src/util/__tests__/saxy.test.js.map +1 -0
  127. package/dist/common/src/util/__tests__/string.test.d.ts +2 -0
  128. package/dist/common/src/util/__tests__/string.test.d.ts.map +1 -0
  129. package/dist/common/src/util/__tests__/string.test.js +82 -0
  130. package/dist/common/src/util/__tests__/string.test.js.map +1 -0
  131. package/dist/common/src/util/array.d.ts +7 -0
  132. package/dist/common/src/util/array.d.ts.map +1 -0
  133. package/dist/common/src/util/array.js +32 -0
  134. package/dist/common/src/util/array.js.map +1 -0
  135. package/dist/common/src/util/changes.d.ts +9 -0
  136. package/dist/common/src/util/changes.d.ts.map +1 -0
  137. package/dist/common/src/util/changes.js +87 -0
  138. package/dist/common/src/util/changes.js.map +1 -0
  139. package/dist/common/src/util/credentials.d.ts +26 -0
  140. package/dist/common/src/util/credentials.d.ts.map +1 -0
  141. package/dist/common/src/util/credentials.js +24 -0
  142. package/dist/common/src/util/credentials.js.map +1 -0
  143. package/dist/common/src/util/currency.d.ts +15 -0
  144. package/dist/common/src/util/currency.d.ts.map +1 -0
  145. package/dist/common/src/util/currency.js +23 -0
  146. package/dist/common/src/util/currency.js.map +1 -0
  147. package/dist/common/src/util/dates.d.ts +11 -0
  148. package/dist/common/src/util/dates.d.ts.map +1 -0
  149. package/dist/common/src/util/dates.js +22 -0
  150. package/dist/common/src/util/dates.js.map +1 -0
  151. package/dist/common/src/util/file.d.ts +163 -0
  152. package/dist/common/src/util/file.d.ts.map +1 -0
  153. package/dist/common/src/util/file.js +192 -0
  154. package/dist/common/src/util/file.js.map +1 -0
  155. package/dist/common/src/util/git.d.ts +7 -0
  156. package/dist/common/src/util/git.d.ts.map +1 -0
  157. package/dist/common/src/util/git.js +81 -0
  158. package/dist/common/src/util/git.js.map +1 -0
  159. package/dist/common/src/util/logger.d.ts +9 -0
  160. package/dist/common/src/util/logger.d.ts.map +1 -0
  161. package/dist/common/src/util/logger.js +52 -0
  162. package/dist/common/src/util/logger.js.map +1 -0
  163. package/dist/common/src/util/lru-cache.d.ts +31 -0
  164. package/dist/common/src/util/lru-cache.d.ts.map +1 -0
  165. package/dist/common/src/util/lru-cache.js +68 -0
  166. package/dist/common/src/util/lru-cache.js.map +1 -0
  167. package/dist/common/src/util/messages.d.ts +12 -0
  168. package/dist/common/src/util/messages.d.ts.map +1 -0
  169. package/dist/common/src/util/messages.js +81 -0
  170. package/dist/common/src/util/messages.js.map +1 -0
  171. package/dist/common/src/util/min-heap.d.ts +16 -0
  172. package/dist/common/src/util/min-heap.d.ts.map +1 -0
  173. package/dist/common/src/util/min-heap.js +73 -0
  174. package/dist/common/src/util/min-heap.js.map +1 -0
  175. package/dist/common/src/util/object.d.ts +19 -0
  176. package/dist/common/src/util/object.d.ts.map +1 -0
  177. package/dist/common/src/util/object.js +91 -0
  178. package/dist/common/src/util/object.js.map +1 -0
  179. package/dist/common/src/util/patch.d.ts +2 -0
  180. package/dist/common/src/util/patch.d.ts.map +1 -0
  181. package/dist/common/src/util/patch.js +215 -0
  182. package/dist/common/src/util/patch.js.map +1 -0
  183. package/dist/common/src/util/promise.d.ts +17 -0
  184. package/dist/common/src/util/promise.d.ts.map +1 -0
  185. package/dist/common/src/util/promise.js +51 -0
  186. package/dist/common/src/util/promise.js.map +1 -0
  187. package/dist/common/src/util/random.d.ts +2 -0
  188. package/dist/common/src/util/random.d.ts.map +1 -0
  189. package/dist/common/src/util/random.js +17 -0
  190. package/dist/common/src/util/random.js.map +1 -0
  191. package/dist/common/src/util/referral.d.ts +2 -0
  192. package/dist/common/src/util/referral.d.ts.map +1 -0
  193. package/dist/common/src/util/referral.js +6 -0
  194. package/dist/common/src/util/referral.js.map +1 -0
  195. package/dist/common/src/util/saxy.d.ts +179 -0
  196. package/dist/common/src/util/saxy.d.ts.map +1 -0
  197. package/dist/common/src/util/saxy.js +548 -0
  198. package/dist/common/src/util/saxy.js.map +1 -0
  199. package/dist/common/src/util/string.d.ts +80 -0
  200. package/dist/common/src/util/string.d.ts.map +1 -0
  201. package/dist/common/src/util/string.js +264 -0
  202. package/dist/common/src/util/string.js.map +1 -0
  203. package/dist/common/src/util/stripe.d.ts +4 -0
  204. package/dist/common/src/util/stripe.d.ts.map +1 -0
  205. package/dist/common/src/util/stripe.js +22 -0
  206. package/dist/common/src/util/stripe.js.map +1 -0
  207. package/dist/common/src/util/sync-failure.d.ts +2 -0
  208. package/dist/common/src/util/sync-failure.d.ts.map +1 -0
  209. package/dist/{code-map/scripts/tree-sitter-test.js → common/src/util/sync-failure.js} +28 -25
  210. package/dist/common/src/util/sync-failure.js.map +1 -0
  211. package/dist/common/src/websockets/websocket-client.d.ts +43 -0
  212. package/dist/common/src/websockets/websocket-client.d.ts.map +1 -0
  213. package/dist/common/src/websockets/websocket-client.js +216 -0
  214. package/dist/common/src/websockets/websocket-client.js.map +1 -0
  215. package/dist/common/src/websockets/websocket-schema.d.ts +5159 -0
  216. package/dist/common/src/websockets/websocket-schema.d.ts.map +1 -0
  217. package/dist/common/src/websockets/websocket-schema.js +55 -0
  218. package/dist/common/src/websockets/websocket-schema.js.map +1 -0
  219. package/dist/common/tsconfig.tsbuildinfo +1 -0
  220. package/dist/common/types/message.d.ts +16 -16
  221. package/dist/common/websockets/websocket-schema.d.ts +122 -122
  222. package/dist/index.js +5 -5
  223. package/package.json +1 -1
  224. package/dist/code-map/__mocks__/tree-sitter-typescript.d.ts +0 -12
  225. package/dist/code-map/__mocks__/tree-sitter-typescript.d.ts.map +0 -1
  226. package/dist/code-map/__mocks__/tree-sitter-typescript.js +0 -14
  227. package/dist/code-map/__mocks__/tree-sitter-typescript.js.map +0 -1
  228. package/dist/code-map/jest.config.d.ts +0 -4
  229. package/dist/code-map/jest.config.d.ts.map +0 -1
  230. package/dist/code-map/jest.config.js +0 -18
  231. package/dist/code-map/jest.config.js.map +0 -1
  232. package/dist/code-map/scripts/tree-sitter-test.cjs +0 -27
  233. package/dist/code-map/scripts/tree-sitter-test.cjs.map +0 -1
  234. package/dist/code-map/scripts/tree-sitter-test.d.cts +0 -2
  235. package/dist/code-map/scripts/tree-sitter-test.d.cts.map +0 -1
  236. package/dist/code-map/scripts/tree-sitter-test.d.ts +0 -2
  237. package/dist/code-map/scripts/tree-sitter-test.d.ts.map +0 -1
  238. package/dist/code-map/scripts/tree-sitter-test.js.map +0 -1
@@ -0,0 +1,73 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.MinHeap = void 0;
4
+ /**
5
+ * A generic min heap implementation that maintains elements ordered by a numeric score.
6
+ */
7
+ class MinHeap {
8
+ heap = [];
9
+ getParentIndex(index) {
10
+ return Math.floor((index - 1) / 2);
11
+ }
12
+ getLeftChildIndex(index) {
13
+ return 2 * index + 1;
14
+ }
15
+ getRightChildIndex(index) {
16
+ return 2 * index + 2;
17
+ }
18
+ swap(index1, index2) {
19
+ const temp = this.heap[index1];
20
+ this.heap[index1] = this.heap[index2];
21
+ this.heap[index2] = temp;
22
+ }
23
+ siftUp(index) {
24
+ while (index > 0) {
25
+ const parentIndex = this.getParentIndex(index);
26
+ if (this.heap[parentIndex].score <= this.heap[index].score) {
27
+ break;
28
+ }
29
+ this.swap(index, parentIndex);
30
+ index = parentIndex;
31
+ }
32
+ }
33
+ siftDown(index) {
34
+ while (true) {
35
+ let minIndex = index;
36
+ const leftChild = this.getLeftChildIndex(index);
37
+ const rightChild = this.getRightChildIndex(index);
38
+ if (leftChild < this.heap.length &&
39
+ this.heap[leftChild].score < this.heap[minIndex].score) {
40
+ minIndex = leftChild;
41
+ }
42
+ if (rightChild < this.heap.length &&
43
+ this.heap[rightChild].score < this.heap[minIndex].score) {
44
+ minIndex = rightChild;
45
+ }
46
+ if (minIndex === index) {
47
+ break;
48
+ }
49
+ this.swap(index, minIndex);
50
+ index = minIndex;
51
+ }
52
+ }
53
+ insert(item, score) {
54
+ this.heap.push({ item, score });
55
+ this.siftUp(this.heap.length - 1);
56
+ }
57
+ extractMin() {
58
+ if (this.heap.length === 0)
59
+ return undefined;
60
+ const minItem = this.heap[0].item;
61
+ const last = this.heap.pop();
62
+ if (this.heap.length > 0) {
63
+ this.heap[0] = last;
64
+ this.siftDown(0);
65
+ }
66
+ return minItem;
67
+ }
68
+ get size() {
69
+ return this.heap.length;
70
+ }
71
+ }
72
+ exports.MinHeap = MinHeap;
73
+ //# sourceMappingURL=min-heap.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"min-heap.js","sourceRoot":"","sources":["../../../src/util/min-heap.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,19 @@
1
+ export declare const removeUndefinedProps: <T extends object>(obj: T) => T;
2
+ export declare const removeNullOrUndefinedProps: <T extends object>(obj: T, exceptions?: string[]) => T;
3
+ export declare const addObjects: <T extends {
4
+ [key: string]: number;
5
+ }>(obj1: T, obj2: T) => T;
6
+ export declare const subtractObjects: <T extends {
7
+ [key: string]: number;
8
+ }>(obj1: T, obj2: T) => T;
9
+ export declare const hasChanges: <T extends object>(obj: T, partial: Partial<T>) => boolean;
10
+ export declare const hasSignificantDeepChanges: <T extends object>(obj: T, partial: Partial<T>, epsilonForNumbers: number) => boolean;
11
+ export declare const filterObject: <T extends object>(obj: T, predicate: (value: any, key: keyof T) => boolean) => { [P in keyof T]: T[P]; };
12
+ /**
13
+ * Asserts that a condition is true. If the condition is false, it throws an error with the provided message.
14
+ * @param condition The condition to check
15
+ * @param message The error message to display if the condition is false
16
+ * @throws {Error} If the condition is false
17
+ */
18
+ export declare function assert(condition: boolean, message: string): asserts condition;
19
+ //# sourceMappingURL=object.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"object.d.ts","sourceRoot":"","sources":["../../../src/util/object.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,oBAAoB,GAAI,CAAC,SAAS,MAAM,OAAO,CAAC,KAAG,CAQ/D,CAAA;AAED,eAAO,MAAM,0BAA0B,GAAI,CAAC,SAAS,MAAM,OACpD,CAAC,eACO,MAAM,EAAE,KACpB,CAWF,CAAA;AAED,eAAO,MAAM,UAAU,GAAI,CAAC,SAAS;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;CAAE,QACtD,CAAC,QACD,CAAC,KASU,CAClB,CAAA;AAED,eAAO,MAAM,eAAe,GAAI,CAAC,SAAS;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;CAAE,QAC3D,CAAC,QACD,CAAC,KASU,CAClB,CAAA;AAED,eAAO,MAAM,UAAU,GAAI,CAAC,SAAS,MAAM,OAAO,CAAC,WAAW,OAAO,CAAC,CAAC,CAAC,YAGvE,CAAA;AAED,eAAO,MAAM,yBAAyB,GAAI,CAAC,SAAS,MAAM,OACnD,CAAC,WACG,OAAO,CAAC,CAAC,CAAC,qBACA,MAAM,KACxB,OAwBF,CAAA;AAED,eAAO,MAAM,YAAY,GAAI,CAAC,SAAS,MAAM,OAAO,CAAC,aAAa,CAAC,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,MAAM,CAAC,KAAK,OAAO,KAAG,GAAG,CAAY,IAAP,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAU/H,CAAA;AAED;;;;;GAKG;AACH,wBAAgB,MAAM,CAAC,SAAS,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,CAI7E"}
@@ -0,0 +1,91 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.filterObject = exports.hasSignificantDeepChanges = exports.hasChanges = exports.subtractObjects = exports.addObjects = exports.removeNullOrUndefinedProps = exports.removeUndefinedProps = void 0;
4
+ exports.assert = assert;
5
+ const lodash_1 = require("lodash");
6
+ const removeUndefinedProps = (obj) => {
7
+ const newObj = {};
8
+ for (const key of Object.keys(obj)) {
9
+ if (obj[key] !== undefined)
10
+ newObj[key] = obj[key];
11
+ }
12
+ return newObj;
13
+ };
14
+ exports.removeUndefinedProps = removeUndefinedProps;
15
+ const removeNullOrUndefinedProps = (obj, exceptions) => {
16
+ const newObj = {};
17
+ for (const key of Object.keys(obj)) {
18
+ if ((obj[key] !== undefined && obj[key] !== null) ||
19
+ (exceptions ?? []).includes(key))
20
+ newObj[key] = obj[key];
21
+ }
22
+ return newObj;
23
+ };
24
+ exports.removeNullOrUndefinedProps = removeNullOrUndefinedProps;
25
+ const addObjects = (obj1, obj2) => {
26
+ const keys = (0, lodash_1.union)(Object.keys(obj1), Object.keys(obj2));
27
+ const newObj = {};
28
+ for (const key of keys) {
29
+ newObj[key] = (obj1[key] ?? 0) + (obj2[key] ?? 0);
30
+ }
31
+ return newObj;
32
+ };
33
+ exports.addObjects = addObjects;
34
+ const subtractObjects = (obj1, obj2) => {
35
+ const keys = (0, lodash_1.union)(Object.keys(obj1), Object.keys(obj2));
36
+ const newObj = {};
37
+ for (const key of keys) {
38
+ newObj[key] = (obj1[key] ?? 0) - (obj2[key] ?? 0);
39
+ }
40
+ return newObj;
41
+ };
42
+ exports.subtractObjects = subtractObjects;
43
+ const hasChanges = (obj, partial) => {
44
+ const currValues = (0, lodash_1.mapValues)(partial, (_, key) => obj[key]);
45
+ return !(0, lodash_1.isEqual)(currValues, partial);
46
+ };
47
+ exports.hasChanges = hasChanges;
48
+ const hasSignificantDeepChanges = (obj, partial, epsilonForNumbers) => {
49
+ const compareValues = (currValue, partialValue) => {
50
+ if (typeof currValue === 'number' && typeof partialValue === 'number') {
51
+ return Math.abs(currValue - partialValue) > epsilonForNumbers;
52
+ }
53
+ if (typeof currValue === 'object' && typeof partialValue === 'object') {
54
+ return (0, exports.hasSignificantDeepChanges)(currValue, partialValue, epsilonForNumbers);
55
+ }
56
+ return !(0, lodash_1.isEqual)(currValue, partialValue);
57
+ };
58
+ for (const key in partial) {
59
+ if (Object.prototype.hasOwnProperty.call(partial, key)) {
60
+ if (compareValues(obj[key], partial[key])) {
61
+ return true;
62
+ }
63
+ }
64
+ }
65
+ return false;
66
+ };
67
+ exports.hasSignificantDeepChanges = hasSignificantDeepChanges;
68
+ const filterObject = (obj, predicate) => {
69
+ const result = {};
70
+ for (const key in obj) {
71
+ if (Object.prototype.hasOwnProperty.call(obj, key)) {
72
+ if (predicate(obj[key], key)) {
73
+ result[key] = obj[key];
74
+ }
75
+ }
76
+ }
77
+ return result;
78
+ };
79
+ exports.filterObject = filterObject;
80
+ /**
81
+ * Asserts that a condition is true. If the condition is false, it throws an error with the provided message.
82
+ * @param condition The condition to check
83
+ * @param message The error message to display if the condition is false
84
+ * @throws {Error} If the condition is false
85
+ */
86
+ function assert(condition, message) {
87
+ if (!condition) {
88
+ throw new Error(`Assertion failed: ${message}`);
89
+ }
90
+ }
91
+ //# sourceMappingURL=object.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"object.js","sourceRoot":"","sources":["../../../src/util/object.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export declare const applyPatch: (oldContent: string, patch: string) => string;
2
+ //# sourceMappingURL=patch.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"patch.d.ts","sourceRoot":"","sources":["../../../src/util/patch.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,UAAU,eAAgB,MAAM,SAAS,MAAM,KAAG,MAoG9D,CAAA"}
@@ -0,0 +1,215 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.applyPatch = void 0;
4
+ const applyPatch = (oldContent, patch) => {
5
+ const lines = oldContent.split('\n');
6
+ const patchLines = patch.split('\n').filter((line) => !line.startsWith('\\'));
7
+ const indexOfFirstHunk = patchLines.findIndex((line) => line.startsWith('@@'));
8
+ patchLines.splice(0, indexOfFirstHunk);
9
+ if (patch.endsWith('\n')) {
10
+ patchLines.pop();
11
+ }
12
+ const newLines = [];
13
+ let oldIndex = 0;
14
+ for (let i = 0; i < patchLines.length; i++) {
15
+ while (lines[oldIndex] === REMOVED_LINE) {
16
+ oldIndex++;
17
+ }
18
+ const patchLine = patchLines[i];
19
+ if (patchLine.startsWith('@@')) {
20
+ const { contextLines, startIndex, headline } = parseHunk(patchLines, i);
21
+ const maybeStartIndex = startIndex === undefined || startIndex < oldIndex
22
+ ? undefined
23
+ : startIndex;
24
+ const headlineIndex = headline ? lines.indexOf(headline) : undefined;
25
+ const matchIndex = getMatchIndex(lines, contextLines, oldIndex, maybeStartIndex, headlineIndex);
26
+ // Add lines from old content up to the match
27
+ newLines.push(...lines.slice(oldIndex, matchIndex));
28
+ oldIndex = matchIndex;
29
+ }
30
+ else if (patchLine.startsWith('-')) {
31
+ const lineContent = patchLine.slice(1);
32
+ if (oldIndex >= lines.length) {
33
+ // Do nothing, just skip the line.
34
+ }
35
+ else if (lineContent.trim() === lines[oldIndex].trim()) {
36
+ // Remove line (skip it in the output)
37
+ oldIndex++;
38
+ }
39
+ else {
40
+ for (let j = 0; j < 10; j++) {
41
+ if (oldIndex + j >= lines.length) {
42
+ break;
43
+ }
44
+ if (lineContent.trim() === lines[oldIndex + j].trim()) {
45
+ // Remove matching line if it's later in the file.
46
+ lines[oldIndex + j] = REMOVED_LINE;
47
+ break;
48
+ }
49
+ }
50
+ }
51
+ }
52
+ else if (patchLine.startsWith('+')) {
53
+ // Add new line
54
+ newLines.push(patchLine.slice(1));
55
+ }
56
+ else {
57
+ const nextHunkDist = patchLines
58
+ .slice(i + 1)
59
+ .findIndex((line) => line.startsWith('@@'));
60
+ const nextHunkIndex = nextHunkDist === -1 ? patchLines.length : i + nextHunkDist + 1;
61
+ if (patchLines
62
+ .slice(i + 1, nextHunkIndex)
63
+ .every((line) => !line.startsWith('+') && !line.startsWith('-'))) {
64
+ // Skip ending context lines
65
+ continue;
66
+ }
67
+ const lineContent = patchLine.slice(1);
68
+ // Context line
69
+ for (let j = 0; j < 10; j++) {
70
+ if (oldIndex + j >= lines.length) {
71
+ if (oldIndex < lines.length) {
72
+ // No match, just use the corresponding old line.
73
+ newLines.push(lines[oldIndex]);
74
+ oldIndex++;
75
+ }
76
+ break;
77
+ }
78
+ const oldLine = lines[oldIndex + j];
79
+ if (lineContent.trim() === oldLine.trim()) {
80
+ // Remove matching line if it's later in the file.
81
+ lines[oldIndex + j] = REMOVED_LINE;
82
+ newLines.push(oldLine);
83
+ break;
84
+ }
85
+ }
86
+ }
87
+ }
88
+ // Add any remaining lines from the old content
89
+ newLines.push(...lines.slice(oldIndex));
90
+ return newLines.filter((line) => line !== REMOVED_LINE).join('\n');
91
+ };
92
+ exports.applyPatch = applyPatch;
93
+ const REMOVED_LINE = '[REMOVED_LINE]';
94
+ const parseHunkHeader = (line) => {
95
+ let startIndex = undefined;
96
+ let lineCount = undefined;
97
+ let headline = undefined;
98
+ const lineNumberMatch = line.match(/@@ -(\d+)(?:,\d+)? \+\d+(?:,\d+)? @@/);
99
+ const headlineMatch = line.match(/@@ -\d+(?:,\d+)? \+\d+(?:,\d+)? @@ (.*)/);
100
+ if (lineNumberMatch) {
101
+ const startLine = parseInt(lineNumberMatch[1], 10);
102
+ startIndex = startLine - 1; // Adjust for 0-based index
103
+ lineCount = parseInt(lineNumberMatch[2], 10);
104
+ }
105
+ else {
106
+ // console.error('Failed to parse hunk header:', line)
107
+ }
108
+ if (headlineMatch) {
109
+ headline = headlineMatch[1];
110
+ }
111
+ return {
112
+ startIndex,
113
+ lineCount,
114
+ headline,
115
+ };
116
+ };
117
+ const parseHunk = (patchLines, startIndex) => {
118
+ const header = parseHunkHeader(patchLines[startIndex]);
119
+ const contextLines = [];
120
+ let j = startIndex + 1;
121
+ while (j < patchLines.length && !patchLines[j].startsWith('@@')) {
122
+ if (!patchLines[j].startsWith('+')) {
123
+ contextLines.push(patchLines[j].slice(1));
124
+ j++;
125
+ }
126
+ else
127
+ break;
128
+ }
129
+ return {
130
+ ...header,
131
+ contextLines,
132
+ };
133
+ };
134
+ const findContextMatch = (lines, contextLines, startIndex) => {
135
+ for (let i = startIndex; i <= lines.length - contextLines.length; i++) {
136
+ if (contextLines.every((line, j) => lines[i + j] === line)) {
137
+ return i;
138
+ }
139
+ }
140
+ return undefined;
141
+ };
142
+ const findContextMatchTrimmed = (lines, contextLines, startIndex) => {
143
+ for (let i = startIndex; i <= lines.length - contextLines.length; i++) {
144
+ if (
145
+ // Match without whitespace, or if the context line is blank.
146
+ contextLines.every((line, j) => lines[i + j].trim() === line.trim() || line.trim() === '')) {
147
+ return i;
148
+ }
149
+ }
150
+ return undefined;
151
+ };
152
+ const findPartialContextMatch = (lines, contextLines, startIndex) => {
153
+ const window = contextLines.length;
154
+ const contextSet = new Set(contextLines.map((line) => line.trim()));
155
+ let maxMatchCount = 0;
156
+ let maxMatchIndex = undefined;
157
+ for (let i = startIndex; i < lines.length - window; i++) {
158
+ let matchCount = 0;
159
+ for (let j = 0; j < window; j++) {
160
+ if (contextSet.has(lines[i + j].trim())) {
161
+ matchCount++;
162
+ }
163
+ }
164
+ if (maxMatchCount === undefined || matchCount > maxMatchCount) {
165
+ maxMatchCount = matchCount;
166
+ maxMatchIndex = i;
167
+ }
168
+ }
169
+ return maxMatchIndex;
170
+ };
171
+ const getMatchIndex = (lines, contextLines, oldIndex, startIndex, headlineIndex) => {
172
+ let matchIndex;
173
+ if (startIndex !== undefined &&
174
+ (headlineIndex === undefined || startIndex > headlineIndex)) {
175
+ matchIndex = findContextMatch(lines, contextLines, startIndex);
176
+ }
177
+ if (matchIndex === undefined &&
178
+ headlineIndex !== undefined &&
179
+ headlineIndex > oldIndex) {
180
+ matchIndex = findContextMatch(lines, contextLines, headlineIndex);
181
+ }
182
+ if (matchIndex === undefined) {
183
+ matchIndex = findContextMatch(lines, contextLines, oldIndex);
184
+ }
185
+ if (startIndex !== undefined &&
186
+ (headlineIndex === undefined || startIndex > headlineIndex)) {
187
+ matchIndex = findContextMatchTrimmed(lines, contextLines, startIndex);
188
+ }
189
+ if (matchIndex === undefined &&
190
+ headlineIndex !== undefined &&
191
+ headlineIndex > oldIndex) {
192
+ matchIndex = findContextMatchTrimmed(lines, contextLines, headlineIndex);
193
+ }
194
+ if (matchIndex === undefined &&
195
+ headlineIndex !== undefined &&
196
+ headlineIndex > oldIndex) {
197
+ matchIndex = findContextMatchTrimmed(lines, contextLines, oldIndex);
198
+ }
199
+ if (matchIndex === undefined &&
200
+ headlineIndex !== undefined &&
201
+ headlineIndex > oldIndex) {
202
+ matchIndex = findPartialContextMatch(lines, contextLines, headlineIndex);
203
+ }
204
+ if (matchIndex === undefined) {
205
+ matchIndex = findPartialContextMatch(lines, contextLines, oldIndex);
206
+ }
207
+ if (matchIndex === undefined &&
208
+ startIndex !== undefined &&
209
+ startIndex > oldIndex) {
210
+ // We didn't find a match, just try anyway with the parsed line number.
211
+ matchIndex = startIndex;
212
+ }
213
+ return matchIndex ?? oldIndex;
214
+ };
215
+ //# sourceMappingURL=patch.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"patch.js","sourceRoot":"","sources":["../../../src/util/patch.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,17 @@
1
+ export declare const INITIAL_RETRY_DELAY = 1000;
2
+ export declare function withRetry<T>(operation: () => Promise<T>, options?: {
3
+ maxRetries?: number;
4
+ retryIf?: (error: any) => boolean;
5
+ onRetry?: (error: any, attempt: number) => void;
6
+ retryDelayMs?: number;
7
+ }): Promise<T>;
8
+ export declare const sleep: (ms: number) => Promise<unknown>;
9
+ /**
10
+ * Wraps a promise with a timeout
11
+ * @param promise The promise to wrap
12
+ * @param timeoutMs Timeout in milliseconds
13
+ * @param timeoutMessage Optional message for the timeout error
14
+ * @returns A promise that resolves with the result of the original promise or rejects with a timeout error
15
+ */
16
+ export declare function withTimeout<T>(promise: Promise<T>, timeoutMs: number, timeoutMessage?: string): Promise<T>;
17
+ //# sourceMappingURL=promise.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"promise.d.ts","sourceRoot":"","sources":["../../../src/util/promise.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,mBAAmB,OAAO,CAAA;AAEvC,wBAAsB,SAAS,CAAC,CAAC,EAC/B,SAAS,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,EAC3B,OAAO,GAAE;IACP,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,KAAK,OAAO,CAAA;IACjC,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE,OAAO,EAAE,MAAM,KAAK,IAAI,CAAA;IAC/C,YAAY,CAAC,EAAE,MAAM,CAAA;CACjB,GACL,OAAO,CAAC,CAAC,CAAC,CA6BZ;AAED,eAAO,MAAM,KAAK,OAAQ,MAAM,qBAA0C,CAAA;AAE1E;;;;;;GAMG;AACH,wBAAsB,WAAW,CAAC,CAAC,EACjC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,EACnB,SAAS,EAAE,MAAM,EACjB,cAAc,GAAE,MAAmD,GAClE,OAAO,CAAC,CAAC,CAAC,CAgBZ"}
@@ -0,0 +1,51 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.sleep = exports.INITIAL_RETRY_DELAY = void 0;
4
+ exports.withRetry = withRetry;
5
+ exports.withTimeout = withTimeout;
6
+ exports.INITIAL_RETRY_DELAY = 1000; // 1 second
7
+ async function withRetry(operation, options = {}) {
8
+ const { maxRetries = 3, retryIf = (error) => error?.type === 'APIConnectionError', onRetry = () => { }, retryDelayMs = exports.INITIAL_RETRY_DELAY, } = options;
9
+ let lastError = null;
10
+ for (let attempt = 0; attempt < maxRetries; attempt++) {
11
+ try {
12
+ return await operation();
13
+ }
14
+ catch (error) {
15
+ lastError = error;
16
+ if (!retryIf(error) || attempt === maxRetries - 1) {
17
+ throw error;
18
+ }
19
+ onRetry(error, attempt + 1);
20
+ // Exponential backoff
21
+ const delayMs = retryDelayMs * Math.pow(2, attempt);
22
+ await new Promise((resolve) => setTimeout(resolve, delayMs));
23
+ }
24
+ }
25
+ throw lastError;
26
+ }
27
+ const sleep = (ms) => new Promise((r) => setTimeout(r, ms));
28
+ exports.sleep = sleep;
29
+ /**
30
+ * Wraps a promise with a timeout
31
+ * @param promise The promise to wrap
32
+ * @param timeoutMs Timeout in milliseconds
33
+ * @param timeoutMessage Optional message for the timeout error
34
+ * @returns A promise that resolves with the result of the original promise or rejects with a timeout error
35
+ */
36
+ async function withTimeout(promise, timeoutMs, timeoutMessage = `Operation timed out after ${timeoutMs}ms`) {
37
+ let timeoutId;
38
+ const timeoutPromise = new Promise((_, reject) => {
39
+ timeoutId = setTimeout(() => {
40
+ reject(new Error(timeoutMessage));
41
+ }, timeoutMs);
42
+ });
43
+ return Promise.race([
44
+ promise.then((result) => {
45
+ clearTimeout(timeoutId);
46
+ return result;
47
+ }),
48
+ timeoutPromise,
49
+ ]);
50
+ }
51
+ //# sourceMappingURL=promise.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"promise.js","sourceRoot":"","sources":["../../../src/util/promise.ts"],"names":[],"mappings":";;;AAEA,8BAqCC;AAWD,kCAoBC;AAtEY,QAAA,mBAAmB,GAAG,IAAI,CAAA,CAAC,WAAW;AAE5C,KAAK,UAAU,SAAS,CAC7B,SAA2B,EAC3B,UAKI,EAAE;IAEN,MAAM,EACJ,UAAU,GAAG,CAAC,EACd,OAAO,GAAG,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,EAAE,IAAI,KAAK,oBAAoB,EACzD,OAAO,GAAG,GAAG,EAAE,GAAE,CAAC,EAClB,YAAY,GAAG,2BAAmB,GACnC,GAAG,OAAO,CAAA;IAEX,IAAI,SAAS,GAAQ,IAAI,CAAA;IAEzB,KAAK,IAAI,OAAO,GAAG,CAAC,EAAE,OAAO,GAAG,UAAU,EAAE,OAAO,EAAE,EAAE,CAAC;QACtD,IAAI,CAAC;YACH,OAAO,MAAM,SAAS,EAAE,CAAA;QAC1B,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,SAAS,GAAG,KAAK,CAAA;YAEjB,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,OAAO,KAAK,UAAU,GAAG,CAAC,EAAE,CAAC;gBAClD,MAAM,KAAK,CAAA;YACb,CAAC;YAED,OAAO,CAAC,KAAK,EAAE,OAAO,GAAG,CAAC,CAAC,CAAA;YAE3B,sBAAsB;YACtB,MAAM,OAAO,GAAG,YAAY,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,OAAO,CAAC,CAAA;YACnD,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAA;QAC9D,CAAC;IACH,CAAC;IAED,MAAM,SAAS,CAAA;AACjB,CAAC;AAEM,MAAM,KAAK,GAAG,CAAC,EAAU,EAAE,EAAE,CAAC,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAA;AAA7D,QAAA,KAAK,SAAwD;AAE1E;;;;;;GAMG;AACI,KAAK,UAAU,WAAW,CAC/B,OAAmB,EACnB,SAAiB,EACjB,iBAAyB,6BAA6B,SAAS,IAAI;IAEnE,IAAI,SAAyB,CAAA;IAE7B,MAAM,cAAc,GAAG,IAAI,OAAO,CAAQ,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE;QACtD,SAAS,GAAG,UAAU,CAAC,GAAG,EAAE;YAC1B,MAAM,CAAC,IAAI,KAAK,CAAC,cAAc,CAAC,CAAC,CAAA;QACnC,CAAC,EAAE,SAAS,CAAC,CAAA;IACf,CAAC,CAAC,CAAA;IAEF,OAAO,OAAO,CAAC,IAAI,CAAC;QAClB,OAAO,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE;YACtB,YAAY,CAAC,SAAS,CAAC,CAAA;YACvB,OAAO,MAAM,CAAA;QACf,CAAC,CAAC;QACF,cAAc;KACf,CAAC,CAAA;AACJ,CAAC"}
@@ -0,0 +1,2 @@
1
+ export declare function sampleSizeWithSeed<T>(array: T[], size: number, seed: string): T[];
2
+ //# sourceMappingURL=random.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"random.d.ts","sourceRoot":"","sources":["../../../src/util/random.ts"],"names":[],"mappings":"AAEA,wBAAgB,kBAAkB,CAAC,CAAC,EAClC,KAAK,EAAE,CAAC,EAAE,EACV,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,GACX,CAAC,EAAE,CAQL"}
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.sampleSizeWithSeed = sampleSizeWithSeed;
7
+ const seedrandom_1 = __importDefault(require("seedrandom"));
8
+ function sampleSizeWithSeed(array, size, seed) {
9
+ const rng = (0, seedrandom_1.default)(seed);
10
+ const result = array.slice();
11
+ for (let i = result.length - 1; i > 0; i--) {
12
+ const j = Math.floor(rng() * (i + 1));
13
+ [result[i], result[j]] = [result[j], result[i]];
14
+ }
15
+ return result.slice(0, size);
16
+ }
17
+ //# sourceMappingURL=random.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"random.js","sourceRoot":"","sources":["../../../src/util/random.ts"],"names":[],"mappings":";;;;;AAEA,gDAYC;AAdD,4DAAmC;AAEnC,SAAgB,kBAAkB,CAChC,KAAU,EACV,IAAY,EACZ,IAAY;IAEZ,MAAM,GAAG,GAAG,IAAA,oBAAU,EAAC,IAAI,CAAC,CAAA;IAC5B,MAAM,MAAM,GAAG,KAAK,CAAC,KAAK,EAAE,CAAA;IAC5B,KAAK,IAAI,CAAC,GAAG,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;QAC3C,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CACpC;QAAA,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAA;IAClD,CAAC;IACD,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,CAAA;AAC9B,CAAC"}
@@ -0,0 +1,2 @@
1
+ export declare const getReferralLink: (referralCode: string) => string;
2
+ //# sourceMappingURL=referral.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"referral.d.ts","sourceRoot":"","sources":["../../../src/util/referral.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,eAAe,iBAAkB,MAAM,KAAG,MACS,CAAA"}
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getReferralLink = void 0;
4
+ const getReferralLink = (referralCode) => `${process.env.NEXT_PUBLIC_APP_URL}/referrals/${referralCode}`;
5
+ exports.getReferralLink = getReferralLink;
6
+ //# sourceMappingURL=referral.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"referral.js","sourceRoot":"","sources":["../../../src/util/referral.ts"],"names":[],"mappings":";;;AAAO,MAAM,eAAe,GAAG,CAAC,YAAoB,EAAU,EAAE,CAC9D,GAAG,OAAO,CAAC,GAAG,CAAC,mBAAmB,cAAc,YAAY,EAAE,CAAA;AADnD,QAAA,eAAe,mBACoC"}