@nlabs/reaktor 0.9.0 → 0.10.1

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 (400) hide show
  1. package/.env +1 -0
  2. package/.env.example +1 -0
  3. package/DATABASE_I18N_GUIDE.md +434 -0
  4. package/README.md +9 -0
  5. package/TEST_UTILITIES_GUIDE.md +360 -0
  6. package/coverage/index.html +61 -46
  7. package/dist/actions/apps.js +242 -0
  8. package/dist/actions/connections.js +90 -0
  9. package/dist/actions/conversations.js +350 -0
  10. package/dist/actions/dynamodb.js +150 -0
  11. package/dist/actions/email.js +152 -0
  12. package/dist/actions/files.js +283 -0
  13. package/dist/actions/groups.js +292 -0
  14. package/dist/actions/images.js +735 -0
  15. package/dist/actions/index.js +66 -0
  16. package/dist/actions/ios.js +164 -0
  17. package/dist/actions/locations.js +122 -0
  18. package/dist/actions/messages.js +208 -0
  19. package/dist/actions/notifications.js +59 -0
  20. package/dist/actions/payments.js +497 -0
  21. package/dist/actions/personas.js +110 -0
  22. package/dist/actions/posts.js +595 -0
  23. package/dist/actions/reactions.js +322 -0
  24. package/dist/actions/s3.js +133 -0
  25. package/dist/actions/search.js +90 -0
  26. package/dist/actions/sms.js +108 -0
  27. package/dist/actions/statistics.js +62 -0
  28. package/dist/actions/subscription.js +220 -0
  29. package/dist/actions/tags.js +292 -0
  30. package/dist/actions/users.js +784 -0
  31. package/dist/actions/websockets.js +174 -0
  32. package/dist/adapters/arangoAdapter.js +46 -0
  33. package/dist/adapters/fileAdapter.js +76 -0
  34. package/dist/adapters/imageAdapter.js +40 -0
  35. package/dist/adapters/messageAdapter.js +49 -0
  36. package/dist/adapters/postAdapter.js +70 -0
  37. package/dist/adapters/reaktorAdapter.js +44 -0
  38. package/dist/adapters/tagAdapter.js +50 -0
  39. package/dist/adapters/userAdapter.js +115 -0
  40. package/dist/config.js +125 -0
  41. package/dist/index.js +66 -0
  42. package/dist/lambdas/actions/websockets.js +132 -0
  43. package/dist/lambdas/authorizer.js +67 -0
  44. package/dist/lambdas/connection.js +91 -0
  45. package/dist/lambdas/utils/message.js +42 -0
  46. package/dist/lambdas/utils/websocket.js +105 -0
  47. package/dist/mocks/conversation.js +35 -0
  48. package/dist/mocks/file.js +38 -0
  49. package/dist/mocks/group.js +47 -0
  50. package/dist/mocks/image.js +44 -0
  51. package/dist/mocks/nlabs.png +0 -0
  52. package/dist/mocks/post.js +55 -0
  53. package/dist/mocks/tag.js +37 -0
  54. package/dist/mocks/user.js +88 -0
  55. package/dist/mutations/index.js +26 -0
  56. package/dist/mutations/locations.js +44 -0
  57. package/dist/mutations/messages.js +86 -0
  58. package/dist/mutations/personas.js +100 -0
  59. package/dist/mutations/posts.js +53 -0
  60. package/dist/mutations/reactions.js +51 -0
  61. package/dist/mutations/statistics.js +39 -0
  62. package/dist/mutations/subscriptions.js +56 -0
  63. package/dist/mutations/tags.js +120 -0
  64. package/dist/mutations/users.js +116 -0
  65. package/dist/objectTypes/app.js +173 -0
  66. package/dist/objectTypes/bankAccount.js +76 -0
  67. package/dist/objectTypes/connection.js +48 -0
  68. package/dist/objectTypes/conversation.js +77 -0
  69. package/dist/objectTypes/creditCard.js +86 -0
  70. package/dist/objectTypes/document.js +46 -0
  71. package/dist/objectTypes/error.js +46 -0
  72. package/dist/objectTypes/external.js +74 -0
  73. package/dist/objectTypes/file.js +100 -0
  74. package/dist/objectTypes/filter.js +43 -0
  75. package/dist/objectTypes/group.js +123 -0
  76. package/dist/objectTypes/iapSubscription.js +40 -0
  77. package/dist/objectTypes/image.js +129 -0
  78. package/dist/objectTypes/index.js +68 -0
  79. package/dist/objectTypes/location.js +109 -0
  80. package/dist/objectTypes/message.js +96 -0
  81. package/dist/objectTypes/passcode.js +42 -0
  82. package/dist/objectTypes/persona.js +87 -0
  83. package/dist/objectTypes/plan.js +95 -0
  84. package/dist/objectTypes/post.js +125 -0
  85. package/dist/objectTypes/reaction.js +61 -0
  86. package/dist/objectTypes/relation.js +49 -0
  87. package/dist/objectTypes/search.js +72 -0
  88. package/dist/objectTypes/statistics.js +39 -0
  89. package/dist/objectTypes/subscription.js +117 -0
  90. package/dist/objectTypes/tag.js +65 -0
  91. package/dist/objectTypes/user.js +144 -0
  92. package/dist/queries/index.js +33 -0
  93. package/dist/queries/locations.js +45 -0
  94. package/dist/queries/messages.js +52 -0
  95. package/dist/queries/posts.js +154 -0
  96. package/dist/queries/reactions.js +56 -0
  97. package/dist/queries/statistics.js +39 -0
  98. package/dist/queries/subscriptions.js +44 -0
  99. package/dist/queries/tags.js +75 -0
  100. package/dist/queries/users.js +64 -0
  101. package/dist/templates/email/layout.js +302 -0
  102. package/dist/templates/email/passwordForgot.js +38 -0
  103. package/dist/templates/email/passwordRecovery.js +35 -0
  104. package/dist/templates/email/verifyEmail.js +38 -0
  105. package/dist/templates/email/welcome.js +38 -0
  106. package/dist/templates/sms/passwordForgot.js +24 -0
  107. package/dist/templates/sms/passwordRecovery.js +24 -0
  108. package/dist/templates/sms/verifyEmail.js +24 -0
  109. package/dist/templates/sms/verifyPhone.js +24 -0
  110. package/dist/templates/sms/welcome.js +24 -0
  111. package/dist/types/apps.js +32 -0
  112. package/{lib → dist}/types/arangodb.js +1 -1
  113. package/{lib → dist}/types/auth.js +1 -1
  114. package/{lib → dist}/types/connections.js +1 -1
  115. package/dist/types/conversations.js +16 -0
  116. package/{lib → dist}/types/email.js +1 -1
  117. package/dist/types/files.js +16 -0
  118. package/dist/types/google.js +16 -0
  119. package/{lib → dist}/types/groups.js +1 -1
  120. package/dist/types/images.js +16 -0
  121. package/dist/types/index.js +60 -0
  122. package/{lib → dist}/types/locations.js +1 -1
  123. package/{lib → dist}/types/messages.js +1 -1
  124. package/{lib → dist}/types/notifications.js +1 -1
  125. package/dist/types/payments.js +16 -0
  126. package/dist/types/personas.js +16 -0
  127. package/dist/types/posts.js +16 -0
  128. package/{lib → dist}/types/tags.js +1 -1
  129. package/dist/types/users.js +16 -0
  130. package/dist/types/websockets.js +16 -0
  131. package/dist/utils/adapterUtils.js +45 -0
  132. package/dist/utils/analyticsUtils.js +72 -0
  133. package/dist/utils/arangodbUtils.js +165 -0
  134. package/dist/utils/auth.js +57 -0
  135. package/dist/utils/index.js +30 -0
  136. package/{lib → dist}/utils/session.js +10 -7
  137. package/index.js +1 -1
  138. package/jest.config.js +17 -0
  139. package/jest.setup.js +36 -0
  140. package/lex.config.cjs +13 -0
  141. package/lib/actions/apps.js +17 -249
  142. package/lib/actions/connections.js +7 -0
  143. package/lib/actions/content.js +17 -0
  144. package/lib/actions/conversations.js +19 -325
  145. package/lib/actions/dynamodb.js +2 -150
  146. package/lib/actions/email.js +2 -152
  147. package/lib/actions/files.js +5 -287
  148. package/lib/actions/groups.js +23 -263
  149. package/lib/actions/images.js +31 -646
  150. package/lib/actions/index.js +2 -62
  151. package/lib/actions/ios.js +9 -162
  152. package/lib/actions/locations.js +7 -110
  153. package/lib/actions/messages.js +21 -193
  154. package/lib/actions/notifications.js +2 -59
  155. package/lib/actions/payments.js +11 -461
  156. package/lib/actions/posts.js +77 -515
  157. package/lib/actions/profiles.js +8 -0
  158. package/lib/actions/reactions.js +25 -312
  159. package/lib/actions/s3.js +2 -133
  160. package/lib/actions/search.js +5 -90
  161. package/lib/actions/sms.js +2 -106
  162. package/lib/actions/statistics.js +6 -60
  163. package/lib/actions/subscriptions.js +12 -0
  164. package/lib/actions/tags.js +19 -262
  165. package/lib/actions/users.js +67 -537
  166. package/lib/actions/websockets.js +16 -158
  167. package/lib/adapters/arangoAdapter.js +2 -46
  168. package/lib/adapters/contentAdapter.js +2 -0
  169. package/lib/adapters/fileAdapter.js +2 -76
  170. package/lib/adapters/imageAdapter.js +2 -0
  171. package/lib/adapters/messageAdapter.js +2 -0
  172. package/lib/adapters/postAdapter.js +2 -70
  173. package/lib/adapters/reaktorAdapter.js +2 -44
  174. package/lib/adapters/tagAdapter.js +2 -50
  175. package/lib/adapters/userAdapter.js +2 -110
  176. package/lib/config.js +2 -125
  177. package/lib/handlers/graphqlHandler.js +2 -0
  178. package/lib/index.js +2 -30
  179. package/lib/lambdas/actions/websockets.js +14 -112
  180. package/lib/lambdas/authorizer.js +2 -67
  181. package/lib/lambdas/connection.js +2 -92
  182. package/lib/lambdas/utils/message.js +2 -42
  183. package/lib/lambdas/utils/websocket.js +2 -105
  184. package/lib/mocks/conversation.js +2 -35
  185. package/lib/mocks/file.js +2 -38
  186. package/lib/mocks/group.js +2 -47
  187. package/lib/mocks/image.js +2 -43
  188. package/lib/mocks/post.js +2 -55
  189. package/lib/mocks/tag.js +2 -37
  190. package/lib/mocks/user.js +2 -88
  191. package/lib/mutations/index.js +2 -0
  192. package/lib/mutations/locations.integration.js +2 -0
  193. package/lib/mutations/locations.js +2 -0
  194. package/lib/mutations/messages.integration.js +2 -0
  195. package/lib/mutations/messages.js +2 -0
  196. package/lib/mutations/posts.integration.js +2 -0
  197. package/lib/mutations/posts.js +2 -0
  198. package/lib/mutations/profiles.integration.js +2 -0
  199. package/lib/mutations/profiles.js +2 -0
  200. package/lib/mutations/reactions.integration.js +2 -0
  201. package/lib/mutations/reactions.js +2 -0
  202. package/lib/mutations/statistics.integration.js +2 -0
  203. package/lib/mutations/statistics.js +2 -0
  204. package/lib/mutations/subscriptions.integration.js +2 -0
  205. package/lib/mutations/subscriptions.js +2 -0
  206. package/lib/mutations/tags.integration.js +2 -0
  207. package/lib/mutations/tags.js +2 -0
  208. package/lib/mutations/users.integration.js +2 -0
  209. package/lib/mutations/users.js +2 -0
  210. package/lib/objectTypes/app.js +2 -0
  211. package/lib/objectTypes/bankAccount.js +2 -0
  212. package/lib/objectTypes/connection.js +2 -0
  213. package/lib/objectTypes/conversation.js +2 -0
  214. package/lib/objectTypes/creditCard.js +2 -0
  215. package/lib/objectTypes/document.js +2 -0
  216. package/lib/objectTypes/error.js +2 -0
  217. package/lib/objectTypes/external.js +2 -0
  218. package/lib/objectTypes/file.js +2 -0
  219. package/lib/objectTypes/filter.js +2 -0
  220. package/lib/objectTypes/group.js +2 -0
  221. package/lib/objectTypes/iapSubscription.js +2 -0
  222. package/lib/objectTypes/image.js +2 -0
  223. package/lib/objectTypes/index.js +2 -0
  224. package/lib/objectTypes/location.js +2 -0
  225. package/lib/objectTypes/message.js +2 -0
  226. package/lib/objectTypes/passcode.js +2 -0
  227. package/lib/objectTypes/plan.js +2 -0
  228. package/lib/objectTypes/post.js +2 -0
  229. package/lib/objectTypes/profile.js +2 -0
  230. package/lib/objectTypes/reaction.js +2 -0
  231. package/lib/objectTypes/relation.js +2 -0
  232. package/lib/objectTypes/search.js +2 -0
  233. package/lib/objectTypes/statistics.js +2 -0
  234. package/lib/objectTypes/subscription.js +2 -0
  235. package/lib/objectTypes/tag.js +2 -0
  236. package/lib/objectTypes/user.js +2 -0
  237. package/lib/queries/index.js +2 -0
  238. package/lib/queries/locations.integration.js +2 -0
  239. package/lib/queries/locations.js +2 -0
  240. package/lib/queries/messages.integration.js +2 -0
  241. package/lib/queries/messages.js +2 -0
  242. package/lib/queries/posts.integration.js +2 -0
  243. package/lib/queries/posts.js +2 -0
  244. package/lib/queries/reactions.integration.js +2 -0
  245. package/lib/queries/reactions.js +2 -0
  246. package/lib/queries/statistics.js +2 -0
  247. package/lib/queries/subscriptions.js +2 -0
  248. package/lib/queries/tags.integration.js +2 -0
  249. package/lib/queries/tags.js +2 -0
  250. package/lib/queries/users.integration.js +2 -0
  251. package/lib/queries/users.js +2 -0
  252. package/lib/templates/email/layout.js +3 -25
  253. package/lib/templates/email/passwordForgot.js +3 -25
  254. package/lib/templates/email/passwordRecovery.js +3 -25
  255. package/lib/templates/email/verifyEmail.js +3 -25
  256. package/lib/templates/email/welcome.js +3 -25
  257. package/lib/templates/sms/passwordForgot.js +2 -24
  258. package/lib/templates/sms/passwordRecovery.js +2 -24
  259. package/lib/templates/sms/verifyEmail.js +2 -24
  260. package/lib/templates/sms/verifyPhone.js +2 -24
  261. package/lib/templates/sms/welcome.js +2 -24
  262. package/lib/types/apps.types.js +2 -0
  263. package/lib/types/arangodb.types.js +1 -0
  264. package/lib/types/auth.types.js +1 -0
  265. package/lib/types/connections.types.js +1 -0
  266. package/lib/types/content.types.js +1 -0
  267. package/lib/types/conversations.types.js +1 -0
  268. package/lib/types/email.types.js +1 -0
  269. package/lib/types/error.types.js +2 -0
  270. package/lib/types/files.types.js +1 -0
  271. package/lib/types/google.types.js +1 -0
  272. package/lib/types/groups.types.js +1 -0
  273. package/lib/types/images.types.js +1 -0
  274. package/lib/types/index.js +2 -56
  275. package/lib/types/locations.types.js +1 -0
  276. package/lib/types/messages.types.js +1 -0
  277. package/lib/types/notifications.types.js +1 -0
  278. package/lib/types/payments.types.js +1 -0
  279. package/lib/types/posts.types.js +1 -0
  280. package/lib/types/profiles.types.js +1 -0
  281. package/lib/types/statistics.types.js +1 -0
  282. package/lib/types/tags.types.js +1 -0
  283. package/lib/types/users.types.js +1 -0
  284. package/lib/types/websockets.types.js +1 -0
  285. package/lib/utils/adapterUtils.js +2 -45
  286. package/lib/utils/analyticsUtils.js +2 -72
  287. package/lib/utils/arangodbUtils.js +5 -142
  288. package/lib/utils/authUtils.js +2 -0
  289. package/lib/utils/contextUtils.js +2 -0
  290. package/lib/utils/dbI18n.example.js +6 -0
  291. package/lib/utils/dbI18n.js +2 -0
  292. package/lib/utils/googleTranslate.js +2 -0
  293. package/lib/utils/graphqlUtils.js +2 -0
  294. package/lib/utils/index.js +2 -30
  295. package/lib/utils/languageDetection.js +2 -0
  296. package/lib/utils/localeUtils.example.js +2 -0
  297. package/lib/utils/localeUtils.js +2 -0
  298. package/lib/utils/middlewareUtils.js +2 -0
  299. package/lib/utils/sessionUtils.js +2 -0
  300. package/lib/utils/stripeUtils.js +2 -0
  301. package/lib/utils/templateUtils.js +2 -0
  302. package/lib/utils/testUtils.js +2 -0
  303. package/lib/utils/translationQueue.example.js +2 -0
  304. package/lib/utils/translationQueue.js +2 -0
  305. package/package.json +41 -37
  306. package/.eslintrc +0 -10
  307. package/.prettierrc.js +0 -4
  308. package/lib/actions/apps.d.ts +0 -25
  309. package/lib/actions/conversations.d.ts +0 -14
  310. package/lib/actions/dynamodb.d.ts +0 -8
  311. package/lib/actions/email.d.ts +0 -5
  312. package/lib/actions/files.d.ts +0 -19
  313. package/lib/actions/groups.d.ts +0 -14
  314. package/lib/actions/images.d.ts +0 -26
  315. package/lib/actions/index.d.ts +0 -21
  316. package/lib/actions/ios.d.ts +0 -7
  317. package/lib/actions/locations.d.ts +0 -5
  318. package/lib/actions/messages.d.ts +0 -13
  319. package/lib/actions/notifications.d.ts +0 -5
  320. package/lib/actions/payments.d.ts +0 -10
  321. package/lib/actions/posts.d.ts +0 -19
  322. package/lib/actions/reactions.d.ts +0 -30
  323. package/lib/actions/s3.d.ts +0 -7
  324. package/lib/actions/search.d.ts +0 -3
  325. package/lib/actions/sms.d.ts +0 -3
  326. package/lib/actions/statistics.d.ts +0 -3
  327. package/lib/actions/subscription.d.ts +0 -7
  328. package/lib/actions/subscription.js +0 -218
  329. package/lib/actions/tags.d.ts +0 -29
  330. package/lib/actions/users.d.ts +0 -47
  331. package/lib/actions/websockets.d.ts +0 -19
  332. package/lib/adapters/arangoAdapter.d.ts +0 -2
  333. package/lib/adapters/fileAdapter.d.ts +0 -3
  334. package/lib/adapters/postAdapter.d.ts +0 -2
  335. package/lib/adapters/reaktorAdapter.d.ts +0 -6
  336. package/lib/adapters/tagAdapter.d.ts +0 -2
  337. package/lib/adapters/userAdapter.d.ts +0 -2
  338. package/lib/config.d.ts +0 -20
  339. package/lib/index.d.ts +0 -5
  340. package/lib/lambdas/actions/websockets.d.ts +0 -6
  341. package/lib/lambdas/authorizer.d.ts +0 -20
  342. package/lib/lambdas/connection.d.ts +0 -12
  343. package/lib/lambdas/utils/message.d.ts +0 -1
  344. package/lib/lambdas/utils/websocket.d.ts +0 -7
  345. package/lib/mocks/conversation.d.ts +0 -8
  346. package/lib/mocks/file.d.ts +0 -11
  347. package/lib/mocks/group.d.ts +0 -17
  348. package/lib/mocks/image.d.ts +0 -3
  349. package/lib/mocks/post.d.ts +0 -38
  350. package/lib/mocks/tag.d.ts +0 -2
  351. package/lib/mocks/user.d.ts +0 -4
  352. package/lib/templates/email/layout.d.ts +0 -2
  353. package/lib/templates/email/passwordForgot.d.ts +0 -2
  354. package/lib/templates/email/passwordRecovery.d.ts +0 -2
  355. package/lib/templates/email/verifyEmail.d.ts +0 -2
  356. package/lib/templates/email/welcome.d.ts +0 -2
  357. package/lib/templates/sms/passwordForgot.d.ts +0 -2
  358. package/lib/templates/sms/passwordRecovery.d.ts +0 -2
  359. package/lib/templates/sms/verifyEmail.d.ts +0 -2
  360. package/lib/templates/sms/verifyPhone.d.ts +0 -2
  361. package/lib/templates/sms/welcome.d.ts +0 -2
  362. package/lib/types/apps.d.ts +0 -46
  363. package/lib/types/apps.js +0 -32
  364. package/lib/types/arangodb.d.ts +0 -30
  365. package/lib/types/auth.d.ts +0 -7
  366. package/lib/types/connections.d.ts +0 -7
  367. package/lib/types/conversations.d.ts +0 -29
  368. package/lib/types/conversations.js +0 -16
  369. package/lib/types/email.d.ts +0 -13
  370. package/lib/types/error.d.ts +0 -20
  371. package/lib/types/files.d.ts +0 -26
  372. package/lib/types/files.js +0 -16
  373. package/lib/types/google.d.ts +0 -29
  374. package/lib/types/google.js +0 -16
  375. package/lib/types/groups.d.ts +0 -21
  376. package/lib/types/images.d.ts +0 -51
  377. package/lib/types/images.js +0 -16
  378. package/lib/types/index.d.ts +0 -18
  379. package/lib/types/locations.d.ts +0 -20
  380. package/lib/types/messages.d.ts +0 -16
  381. package/lib/types/notifications.d.ts +0 -17
  382. package/lib/types/payments.d.ts +0 -112
  383. package/lib/types/payments.js +0 -16
  384. package/lib/types/posts.d.ts +0 -31
  385. package/lib/types/posts.js +0 -16
  386. package/lib/types/statistics.d.ts +0 -3
  387. package/lib/types/tags.d.ts +0 -10
  388. package/lib/types/users.d.ts +0 -76
  389. package/lib/types/users.js +0 -16
  390. package/lib/types/websocket.d.ts +0 -13
  391. package/lib/types/websocket.js +0 -16
  392. package/lib/utils/adapterUtils.d.ts +0 -1
  393. package/lib/utils/analyticsUtils.d.ts +0 -21
  394. package/lib/utils/arangodbUtils.d.ts +0 -65
  395. package/lib/utils/auth.d.ts +0 -20
  396. package/lib/utils/auth.js +0 -50
  397. package/lib/utils/index.d.ts +0 -5
  398. package/lib/utils/session.d.ts +0 -16
  399. /package/{lib → dist}/types/error.js +0 -0
  400. /package/{lib → dist}/types/statistics.js +0 -0
@@ -0,0 +1,165 @@
1
+ var __create = Object.create;
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __getProtoOf = Object.getPrototypeOf;
6
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
7
+ var __export = (target, all) => {
8
+ for (var name in all)
9
+ __defProp(target, name, { get: all[name], enumerable: true });
10
+ };
11
+ var __copyProps = (to, from, except, desc) => {
12
+ if (from && typeof from === "object" || typeof from === "function") {
13
+ for (let key of __getOwnPropNames(from))
14
+ if (!__hasOwnProp.call(to, key) && key !== except)
15
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
16
+ }
17
+ return to;
18
+ };
19
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
20
+ // If the importer is in node compatibility mode or this is not an ESM
21
+ // file that has been converted to a CommonJS file using a Babel-
22
+ // compatible transform (i.e. "__esModule" has not been set), then set
23
+ // "default" to the CommonJS "module.exports" for node compatibility.
24
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
25
+ mod
26
+ ));
27
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
28
+ var arangodbUtils_exports = {};
29
+ __export(arangodbUtils_exports, {
30
+ collectionDetails: () => collectionDetails,
31
+ getDocId: () => getDocId,
32
+ getGqlFields: () => getGqlFields,
33
+ getLimit: () => getLimit,
34
+ selectReactionCountByType: () => selectReactionCountByType,
35
+ sortIds: () => sortIds,
36
+ useDb: () => useDb
37
+ });
38
+ module.exports = __toCommonJS(arangodbUtils_exports);
39
+ var import_utils = require("@nlabs/utils");
40
+ var import_arangojs = require("arangojs");
41
+ var import_graphql_fields = __toESM(require("graphql-fields"), 1);
42
+ const useDb = (databaseName) => new import_arangojs.Database({
43
+ auth: {
44
+ password: process.env.ARANGODB_PASSWORD,
45
+ username: process.env.ARANGODB_USERNAME
46
+ },
47
+ databaseName,
48
+ url: `${process.env.ARANGODB_URL}:${process.env.ARANGODB_PORT}`
49
+ });
50
+ const collectionDetails = {
51
+ apps: {
52
+ collection: "apps",
53
+ key: "appId"
54
+ },
55
+ conversations: {
56
+ collection: "conversations",
57
+ key: "conversationId"
58
+ },
59
+ files: {
60
+ collection: "files",
61
+ key: "fileId"
62
+ },
63
+ groups: {
64
+ collection: "groups",
65
+ key: "groupId"
66
+ },
67
+ images: {
68
+ collection: "images",
69
+ key: "imageId"
70
+ },
71
+ locations: {
72
+ collection: "locations",
73
+ key: "locationId"
74
+ },
75
+ messages: {
76
+ collection: "messages",
77
+ key: "messageId"
78
+ },
79
+ notifications: {
80
+ collection: "notifications",
81
+ key: "notificationId"
82
+ },
83
+ payments: {
84
+ collection: "payments",
85
+ key: "paymentId"
86
+ },
87
+ posts: {
88
+ collection: "posts",
89
+ key: "postId"
90
+ },
91
+ reactions: {
92
+ collection: "reactions",
93
+ key: "reactionId"
94
+ },
95
+ subscriptions: {
96
+ collection: "subscriptions",
97
+ key: "subscriptionId"
98
+ },
99
+ tags: {
100
+ collection: "tags",
101
+ key: "tagId"
102
+ },
103
+ users: {
104
+ collection: "users",
105
+ key: "userId"
106
+ }
107
+ };
108
+ const getDocId = (collection, item) => {
109
+ const { _id, _key, id } = item;
110
+ const itemId = (0, import_utils.parseArangoId)(_id || id);
111
+ if (itemId) {
112
+ const idParts = itemId.split("/");
113
+ if (collectionDetails[idParts[0]]) {
114
+ return itemId;
115
+ }
116
+ }
117
+ let itemKey = (0, import_utils.parseId)(_key);
118
+ if (!itemKey) {
119
+ itemKey = item[collectionDetails[collection].key];
120
+ }
121
+ return itemKey ? `${collection}/${itemKey}` : "";
122
+ };
123
+ const getLimit = (start = 0, to = 30) => {
124
+ let num = (0, import_utils.parseNum)(to) - (0, import_utils.parseNum)(start);
125
+ if (num > 50) {
126
+ num = 50;
127
+ }
128
+ return { aql: to >= 0 ? `LIMIT ${start}, ${num}` : "", num, start };
129
+ };
130
+ const selectReactionCountByType = (objectType, objectKey, field, selects) => {
131
+ const reactionType = field.substring(0, field.indexOf("Count"));
132
+ selects.queries.push(`LET ${field} = FIRST(
133
+ FOR obj, r IN INBOUND ${objectKey}._id hasReaction
134
+ FILTER r.name == "${reactionType}" && r.type == "${objectType}"
135
+ COLLECT WITH COUNT INTO count
136
+ RETURN count
137
+ )`);
138
+ selects.objects.push(`${field}:${field}`);
139
+ return selects;
140
+ };
141
+ const sortIds = (ids, sort = "ASC") => ids.sort((a, b) => {
142
+ if (sort.toUpperCase() === "ASC") {
143
+ return a.localeCompare(b);
144
+ }
145
+ return b.localeCompare(a);
146
+ });
147
+ const getGqlFields = (info) => {
148
+ const fields = (0, import_graphql_fields.default)(info) || {};
149
+ const methodName = Object.keys(fields)[0];
150
+ if (methodName) {
151
+ return Object.keys(fields[methodName]);
152
+ }
153
+ return [];
154
+ };
155
+ // Annotate the CommonJS export names for ESM import in node:
156
+ 0 && (module.exports = {
157
+ collectionDetails,
158
+ getDocId,
159
+ getGqlFields,
160
+ getLimit,
161
+ selectReactionCountByType,
162
+ sortIds,
163
+ useDb
164
+ });
165
+ //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vc3JjL3V0aWxzL2FyYW5nb2RiVXRpbHMudHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbIi8qKlxuICogQ29weXJpZ2h0IChjKSAyMDE5LVByZXNlbnQsIE5pdHJvZ2VuIExhYnMsIEluYy5cbiAqIENvcHlyaWdodHMgbGljZW5zZWQgdW5kZXIgdGhlIE1JVCBMaWNlbnNlLiBTZWUgdGhlIGFjY29tcGFueWluZyBMSUNFTlNFIGZpbGUgZm9yIHRlcm1zLlxuICovXG5pbXBvcnQge3BhcnNlQXJhbmdvSWQsIHBhcnNlSWQsIHBhcnNlTnVtfSBmcm9tICdAbmxhYnMvdXRpbHMnO1xuaW1wb3J0IHtEYXRhYmFzZX0gZnJvbSAnYXJhbmdvanMnO1xuaW1wb3J0IGdyYXBocWxGaWVsZHMgZnJvbSAnZ3JhcGhxbC1maWVsZHMnO1xuXG5pbXBvcnQgdHlwZSB7QXJhbmdvRGJDb2xsZWN0aW9uLCBBcmFuZ29EYkxpbWl0fSBmcm9tICcuLi90eXBlcy9hcmFuZ29kYic7XG5cbmV4cG9ydCBjb25zdCB1c2VEYiA9IChkYXRhYmFzZU5hbWU6IHN0cmluZyk6IERhdGFiYXNlID0+IG5ldyBEYXRhYmFzZSh7XG4gIGF1dGg6IHtcbiAgICBwYXNzd29yZDogcHJvY2Vzcy5lbnYuQVJBTkdPREJfUEFTU1dPUkQsXG4gICAgdXNlcm5hbWU6IHByb2Nlc3MuZW52LkFSQU5HT0RCX1VTRVJOQU1FXG4gIH0sXG4gIGRhdGFiYXNlTmFtZSxcbiAgdXJsOiBgJHtwcm9jZXNzLmVudi5BUkFOR09EQl9VUkx9OiR7cHJvY2Vzcy5lbnYuQVJBTkdPREJfUE9SVH1gXG59KTtcblxuZXhwb3J0IGNvbnN0IGNvbGxlY3Rpb25EZXRhaWxzID0ge1xuICBhcHBzOiB7XG4gICAgY29sbGVjdGlvbjogJ2FwcHMnLFxuICAgIGtleTogJ2FwcElkJ1xuICB9LFxuICBjb252ZXJzYXRpb25zOiB7XG4gICAgY29sbGVjdGlvbjogJ2NvbnZlcnNhdGlvbnMnLFxuICAgIGtleTogJ2NvbnZlcnNhdGlvbklkJ1xuICB9LFxuICBmaWxlczoge1xuICAgIGNvbGxlY3Rpb246ICdmaWxlcycsXG4gICAga2V5OiAnZmlsZUlkJ1xuICB9LFxuICBncm91cHM6IHtcbiAgICBjb2xsZWN0aW9uOiAnZ3JvdXBzJyxcbiAgICBrZXk6ICdncm91cElkJ1xuICB9LFxuICBpbWFnZXM6IHtcbiAgICBjb2xsZWN0aW9uOiAnaW1hZ2VzJyxcbiAgICBrZXk6ICdpbWFnZUlkJ1xuICB9LFxuICBsb2NhdGlvbnM6IHtcbiAgICBjb2xsZWN0aW9uOiAnbG9jYXRpb25zJyxcbiAgICBrZXk6ICdsb2NhdGlvbklkJ1xuICB9LFxuICBtZXNzYWdlczoge1xuICAgIGNvbGxlY3Rpb246ICdtZXNzYWdlcycsXG4gICAga2V5OiAnbWVzc2FnZUlkJ1xuICB9LFxuICBub3RpZmljYXRpb25zOiB7XG4gICAgY29sbGVjdGlvbjogJ25vdGlmaWNhdGlvbnMnLFxuICAgIGtleTogJ25vdGlmaWNhdGlvbklkJ1xuICB9LFxuICBwYXltZW50czoge1xuICAgIGNvbGxlY3Rpb246ICdwYXltZW50cycsXG4gICAga2V5OiAncGF5bWVudElkJ1xuICB9LFxuICBwb3N0czoge1xuICAgIGNvbGxlY3Rpb246ICdwb3N0cycsXG4gICAga2V5OiAncG9zdElkJ1xuICB9LFxuICByZWFjdGlvbnM6IHtcbiAgICBjb2xsZWN0aW9uOiAncmVhY3Rpb25zJyxcbiAgICBrZXk6ICdyZWFjdGlvbklkJ1xuICB9LFxuICBzdWJzY3JpcHRpb25zOiB7XG4gICAgY29sbGVjdGlvbjogJ3N1YnNjcmlwdGlvbnMnLFxuICAgIGtleTogJ3N1YnNjcmlwdGlvbklkJ1xuICB9LFxuICB0YWdzOiB7XG4gICAgY29sbGVjdGlvbjogJ3RhZ3MnLFxuICAgIGtleTogJ3RhZ0lkJ1xuICB9LFxuICB1c2Vyczoge1xuICAgIGNvbGxlY3Rpb246ICd1c2VycycsXG4gICAga2V5OiAndXNlcklkJ1xuICB9XG59O1xuXG5leHBvcnQgY29uc3QgZ2V0RG9jSWQgPSAoY29sbGVjdGlvbjogQXJhbmdvRGJDb2xsZWN0aW9uLCBpdGVtKTogc3RyaW5nID0+IHtcbiAgY29uc3Qge19pZCwgX2tleSwgaWR9ID0gaXRlbTtcbiAgY29uc3QgaXRlbUlkID0gcGFyc2VBcmFuZ29JZChfaWQgfHwgaWQpO1xuXG4gIGlmKGl0ZW1JZCkge1xuICAgIGNvbnN0IGlkUGFydHMgPSBpdGVtSWQuc3BsaXQoJy8nKTtcblxuICAgIGlmKGNvbGxlY3Rpb25EZXRhaWxzW2lkUGFydHNbMF1dKSB7XG4gICAgICByZXR1cm4gaXRlbUlkO1xuICAgIH1cbiAgfVxuXG4gIGxldCBpdGVtS2V5ID0gcGFyc2VJZChfa2V5KTtcblxuICBpZighaXRlbUtleSkge1xuICAgIGl0ZW1LZXkgPSBpdGVtW2NvbGxlY3Rpb25EZXRhaWxzW2NvbGxlY3Rpb25dLmtleV07XG4gIH1cblxuICByZXR1cm4gaXRlbUtleSA/IGAke2NvbGxlY3Rpb259LyR7aXRlbUtleX1gIDogJyc7XG59O1xuXG5leHBvcnQgY29uc3QgZ2V0TGltaXQgPSAoc3RhcnQ6IG51bWJlciA9IDAsIHRvOiBudW1iZXIgPSAzMCk6IEFyYW5nb0RiTGltaXQgPT4ge1xuICBsZXQgbnVtID0gcGFyc2VOdW0odG8pIC0gcGFyc2VOdW0oc3RhcnQpO1xuXG4gIGlmKG51bSA+IDUwKSB7XG4gICAgbnVtID0gNTA7XG4gIH1cblxuICByZXR1cm4ge2FxbDogdG8gPj0gMCA/IGBMSU1JVCAke3N0YXJ0fSwgJHtudW19YCA6ICcnLCBudW0sIHN0YXJ0fTtcbn07XG5cbmV4cG9ydCBjb25zdCBzZWxlY3RSZWFjdGlvbkNvdW50QnlUeXBlID0gKG9iamVjdFR5cGU6IHN0cmluZywgb2JqZWN0S2V5OiBzdHJpbmcsIGZpZWxkOiBzdHJpbmcsIHNlbGVjdHMpID0+IHtcbiAgY29uc3QgcmVhY3Rpb25UeXBlOiBzdHJpbmcgPSBmaWVsZC5zdWJzdHJpbmcoMCwgZmllbGQuaW5kZXhPZignQ291bnQnKSk7XG4gIHNlbGVjdHMucXVlcmllcy5wdXNoKGBMRVQgJHtmaWVsZH0gPSBGSVJTVChcbiAgICAgIEZPUiBvYmosIHIgSU4gSU5CT1VORCAke29iamVjdEtleX0uX2lkIGhhc1JlYWN0aW9uXG4gICAgICBGSUxURVIgci5uYW1lID09IFwiJHtyZWFjdGlvblR5cGV9XCIgJiYgci50eXBlID09IFwiJHtvYmplY3RUeXBlfVwiXG4gICAgICBDT0xMRUNUIFdJVEggQ09VTlQgSU5UTyBjb3VudFxuICAgICAgUkVUVVJOIGNvdW50XG4gICAgKWApO1xuICBzZWxlY3RzLm9iamVjdHMucHVzaChgJHtmaWVsZH06JHtmaWVsZH1gKTtcbiAgcmV0dXJuIHNlbGVjdHM7XG59O1xuXG5leHBvcnQgY29uc3Qgc29ydElkcyA9IChpZHM6IHN0cmluZ1tdLCBzb3J0OiBzdHJpbmcgPSAnQVNDJyk6IHN0cmluZ1tdID0+IGlkcy5zb3J0KChhLCBiKSA9PiB7XG4gIGlmKHNvcnQudG9VcHBlckNhc2UoKSA9PT0gJ0FTQycpIHtcbiAgICByZXR1cm4gYS5sb2NhbGVDb21wYXJlKGIpO1xuICB9XG5cbiAgcmV0dXJuIGIubG9jYWxlQ29tcGFyZShhKTtcbn0pO1xuXG5leHBvcnQgY29uc3QgZ2V0R3FsRmllbGRzID0gKGluZm8pID0+IHtcbiAgY29uc3QgZmllbGRzID0gZ3JhcGhxbEZpZWxkcyhpbmZvKSB8fCB7fTtcbiAgY29uc3QgbWV0aG9kTmFtZTogc3RyaW5nID0gT2JqZWN0LmtleXMoZmllbGRzKVswXTtcblxuICBpZihtZXRob2ROYW1lKSB7XG4gICAgcmV0dXJuIE9iamVjdC5rZXlzKGZpZWxkc1ttZXRob2ROYW1lXSk7XG4gIH1cblxuICByZXR1cm4gW107XG59OyJdLAogICJtYXBwaW5ncyI6ICI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFJQSxtQkFBK0M7QUFDL0Msc0JBQXVCO0FBQ3ZCLDRCQUEwQjtBQUluQixNQUFNLFFBQVEsQ0FBQyxpQkFBbUMsSUFBSSx5QkFBUztBQUFBLEVBQ3BFLE1BQU07QUFBQSxJQUNKLFVBQVUsUUFBUSxJQUFJO0FBQUEsSUFDdEIsVUFBVSxRQUFRLElBQUk7QUFBQSxFQUN4QjtBQUFBLEVBQ0E7QUFBQSxFQUNBLEtBQUssR0FBRyxRQUFRLElBQUksWUFBWSxJQUFJLFFBQVEsSUFBSSxhQUFhO0FBQy9ELENBQUM7QUFFTSxNQUFNLG9CQUFvQjtBQUFBLEVBQy9CLE1BQU07QUFBQSxJQUNKLFlBQVk7QUFBQSxJQUNaLEtBQUs7QUFBQSxFQUNQO0FBQUEsRUFDQSxlQUFlO0FBQUEsSUFDYixZQUFZO0FBQUEsSUFDWixLQUFLO0FBQUEsRUFDUDtBQUFBLEVBQ0EsT0FBTztBQUFBLElBQ0wsWUFBWTtBQUFBLElBQ1osS0FBSztBQUFBLEVBQ1A7QUFBQSxFQUNBLFFBQVE7QUFBQSxJQUNOLFlBQVk7QUFBQSxJQUNaLEtBQUs7QUFBQSxFQUNQO0FBQUEsRUFDQSxRQUFRO0FBQUEsSUFDTixZQUFZO0FBQUEsSUFDWixLQUFLO0FBQUEsRUFDUDtBQUFBLEVBQ0EsV0FBVztBQUFBLElBQ1QsWUFBWTtBQUFBLElBQ1osS0FBSztBQUFBLEVBQ1A7QUFBQSxFQUNBLFVBQVU7QUFBQSxJQUNSLFlBQVk7QUFBQSxJQUNaLEtBQUs7QUFBQSxFQUNQO0FBQUEsRUFDQSxlQUFlO0FBQUEsSUFDYixZQUFZO0FBQUEsSUFDWixLQUFLO0FBQUEsRUFDUDtBQUFBLEVBQ0EsVUFBVTtBQUFBLElBQ1IsWUFBWTtBQUFBLElBQ1osS0FBSztBQUFBLEVBQ1A7QUFBQSxFQUNBLE9BQU87QUFBQSxJQUNMLFlBQVk7QUFBQSxJQUNaLEtBQUs7QUFBQSxFQUNQO0FBQUEsRUFDQSxXQUFXO0FBQUEsSUFDVCxZQUFZO0FBQUEsSUFDWixLQUFLO0FBQUEsRUFDUDtBQUFBLEVBQ0EsZUFBZTtBQUFBLElBQ2IsWUFBWTtBQUFBLElBQ1osS0FBSztBQUFBLEVBQ1A7QUFBQSxFQUNBLE1BQU07QUFBQSxJQUNKLFlBQVk7QUFBQSxJQUNaLEtBQUs7QUFBQSxFQUNQO0FBQUEsRUFDQSxPQUFPO0FBQUEsSUFDTCxZQUFZO0FBQUEsSUFDWixLQUFLO0FBQUEsRUFDUDtBQUNGO0FBRU8sTUFBTSxXQUFXLENBQUMsWUFBZ0MsU0FBaUI7QUFDeEUsUUFBTSxFQUFDLEtBQUssTUFBTSxHQUFFLElBQUk7QUFDeEIsUUFBTSxhQUFTLDRCQUFjLE9BQU8sRUFBRTtBQUV0QyxNQUFHLFFBQVE7QUFDVCxVQUFNLFVBQVUsT0FBTyxNQUFNLEdBQUc7QUFFaEMsUUFBRyxrQkFBa0IsUUFBUSxDQUFDLENBQUMsR0FBRztBQUNoQyxhQUFPO0FBQUEsSUFDVDtBQUFBLEVBQ0Y7QUFFQSxNQUFJLGNBQVUsc0JBQVEsSUFBSTtBQUUxQixNQUFHLENBQUMsU0FBUztBQUNYLGNBQVUsS0FBSyxrQkFBa0IsVUFBVSxFQUFFLEdBQUc7QUFBQSxFQUNsRDtBQUVBLFNBQU8sVUFBVSxHQUFHLFVBQVUsSUFBSSxPQUFPLEtBQUs7QUFDaEQ7QUFFTyxNQUFNLFdBQVcsQ0FBQyxRQUFnQixHQUFHLEtBQWEsT0FBc0I7QUFDN0UsTUFBSSxVQUFNLHVCQUFTLEVBQUUsUUFBSSx1QkFBUyxLQUFLO0FBRXZDLE1BQUcsTUFBTSxJQUFJO0FBQ1gsVUFBTTtBQUFBLEVBQ1I7QUFFQSxTQUFPLEVBQUMsS0FBSyxNQUFNLElBQUksU0FBUyxLQUFLLEtBQUssR0FBRyxLQUFLLElBQUksS0FBSyxNQUFLO0FBQ2xFO0FBRU8sTUFBTSw0QkFBNEIsQ0FBQyxZQUFvQixXQUFtQixPQUFlLFlBQVk7QUFDMUcsUUFBTSxlQUF1QixNQUFNLFVBQVUsR0FBRyxNQUFNLFFBQVEsT0FBTyxDQUFDO0FBQ3RFLFVBQVEsUUFBUSxLQUFLLE9BQU8sS0FBSztBQUFBLDhCQUNMLFNBQVM7QUFBQSwwQkFDYixZQUFZLG1CQUFtQixVQUFVO0FBQUE7QUFBQTtBQUFBLE1BRzdEO0FBQ0osVUFBUSxRQUFRLEtBQUssR0FBRyxLQUFLLElBQUksS0FBSyxFQUFFO0FBQ3hDLFNBQU87QUFDVDtBQUVPLE1BQU0sVUFBVSxDQUFDLEtBQWUsT0FBZSxVQUFvQixJQUFJLEtBQUssQ0FBQyxHQUFHLE1BQU07QUFDM0YsTUFBRyxLQUFLLFlBQVksTUFBTSxPQUFPO0FBQy9CLFdBQU8sRUFBRSxjQUFjLENBQUM7QUFBQSxFQUMxQjtBQUVBLFNBQU8sRUFBRSxjQUFjLENBQUM7QUFDMUIsQ0FBQztBQUVNLE1BQU0sZUFBZSxDQUFDLFNBQVM7QUFDcEMsUUFBTSxhQUFTLHNCQUFBQSxTQUFjLElBQUksS0FBSyxDQUFDO0FBQ3ZDLFFBQU0sYUFBcUIsT0FBTyxLQUFLLE1BQU0sRUFBRSxDQUFDO0FBRWhELE1BQUcsWUFBWTtBQUNiLFdBQU8sT0FBTyxLQUFLLE9BQU8sVUFBVSxDQUFDO0FBQUEsRUFDdkM7QUFFQSxTQUFPLENBQUM7QUFDVjsiLAogICJuYW1lcyI6IFsiZ3JhcGhxbEZpZWxkcyJdCn0K
@@ -0,0 +1,57 @@
1
+ var __defProp = Object.defineProperty;
2
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
3
+ var __getOwnPropNames = Object.getOwnPropertyNames;
4
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
5
+ var __export = (target, all) => {
6
+ for (var name in all)
7
+ __defProp(target, name, { get: all[name], enumerable: true });
8
+ };
9
+ var __copyProps = (to, from, except, desc) => {
10
+ if (from && typeof from === "object" || typeof from === "function") {
11
+ for (let key of __getOwnPropNames(from))
12
+ if (!__hasOwnProp.call(to, key) && key !== except)
13
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
14
+ }
15
+ return to;
16
+ };
17
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
18
+ var auth_exports = {};
19
+ __export(auth_exports, {
20
+ getLambdaData: () => getLambdaData,
21
+ isAuthenticated: () => isAuthenticated,
22
+ parseJsonData: () => parseJsonData
23
+ });
24
+ module.exports = __toCommonJS(auth_exports);
25
+ const getLambdaData = (data) => {
26
+ if (typeof data === "string") {
27
+ return {
28
+ body: parseJsonData(data),
29
+ context: {}
30
+ };
31
+ }
32
+ const { body, "body-json": bodyJson, requestContext } = data;
33
+ const queryData = body || bodyJson;
34
+ return {
35
+ body: parseJsonData(queryData),
36
+ context: requestContext ? { ...requestContext } : {}
37
+ };
38
+ };
39
+ const parseJsonData = (data) => {
40
+ try {
41
+ return JSON.parse(data);
42
+ } catch (error) {
43
+ return data;
44
+ }
45
+ };
46
+ const isAuthenticated = (context, userId) => {
47
+ const { session } = context;
48
+ const { userAccess, userId: sessionUserId } = session;
49
+ return userAccess > 3 || sessionUserId === userId;
50
+ };
51
+ // Annotate the CommonJS export names for ESM import in node:
52
+ 0 && (module.exports = {
53
+ getLambdaData,
54
+ isAuthenticated,
55
+ parseJsonData
56
+ });
57
+ //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vc3JjL3V0aWxzL2F1dGgudHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbIi8qKlxuICogQ29weXJpZ2h0IChjKSAyMDE5LVByZXNlbnQsIE5pdHJvZ2VuIExhYnMsIEluYy5cbiAqIENvcHlyaWdodHMgbGljZW5zZWQgdW5kZXIgdGhlIE1JVCBMaWNlbnNlLiBTZWUgdGhlIGFjY29tcGFueWluZyBMSUNFTlNFIGZpbGUgZm9yIHRlcm1zLlxuICovXG5pbXBvcnQge0FwcFN0YWdlLCB0eXBlIEFwaUNvbnRleHR9IGZyb20gJy4uL3R5cGVzJztcbmltcG9ydCB7U2Vzc2lvbn0gZnJvbSAnLi9zZXNzaW9uJztcblxuZXhwb3J0IHR5cGUgTGFtYmRhRGF0YUNvbnRleHQgPSB7YWNjb3VudElkOiAnYWNjb3VudElkJyxcbiAgcmVhZG9ubHkgcmVxdWVzdElkOiBzdHJpbmcsXG4gIHJlYWRvbmx5IHJlcXVlc3RUaW1lRXBvY2g6IG51bWJlcixcbiAgcmVhZG9ubHkgcmVzb3VyY2VJZDogc3RyaW5nLFxuICByZWFkb25seSByZXNvdXJjZVBhdGg6IHN0cmluZyxcbiAgcmVhZG9ubHkgc3RhZ2U6IEFwcFN0YWdlXG59O1xuXG5leHBvcnQgdHlwZSBMYW1iZGFEYXRhID0ge1xuICByZWFkb25seSBib2R5Pzogc3RyaW5nIHwgb2JqZWN0O1xuICByZWFkb25seSAnYm9keS1qc29uJz86IHN0cmluZztcbiAgcmVhZG9ubHkgY29udGV4dD86IExhbWJkYURhdGFDb250ZXh0O1xuICByZWFkb25seSByZXF1ZXN0Q29udGV4dD86IG9iamVjdDtcbn07XG5cbmV4cG9ydCBjb25zdCBnZXRMYW1iZGFEYXRhID0gKGRhdGE6IExhbWJkYURhdGEgfCBzdHJpbmcpID0+IHtcbiAgaWYodHlwZW9mIGRhdGEgPT09ICdzdHJpbmcnKSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIGJvZHk6IHBhcnNlSnNvbkRhdGEoZGF0YSksXG4gICAgICBjb250ZXh0OiB7fVxuICAgIH07XG4gIH1cblxuICBjb25zdCB7Ym9keSwgJ2JvZHktanNvbic6IGJvZHlKc29uLCByZXF1ZXN0Q29udGV4dH0gPSBkYXRhIGFzIExhbWJkYURhdGE7XG4gIGNvbnN0IHF1ZXJ5RGF0YSA9IGJvZHkgfHwgYm9keUpzb247XG5cbiAgcmV0dXJuIHtcbiAgICBib2R5OiBwYXJzZUpzb25EYXRhKHF1ZXJ5RGF0YSksXG4gICAgY29udGV4dDogcmVxdWVzdENvbnRleHQgPyB7Li4ucmVxdWVzdENvbnRleHR9IDoge31cbiAgfTtcbn07XG5cbmV4cG9ydCBjb25zdCBwYXJzZUpzb25EYXRhID0gKGRhdGEpOiBhbnkgPT4ge1xuICB0cnkge1xuICAgIHJldHVybiBKU09OLnBhcnNlKGRhdGEpO1xuICB9IGNhdGNoKGVycm9yKSB7XG4gICAgcmV0dXJuIGRhdGE7XG4gIH1cbn07XG5cbmV4cG9ydCBjb25zdCBpc0F1dGhlbnRpY2F0ZWQgPSAoY29udGV4dDogQXBpQ29udGV4dCwgdXNlcklkOiBzdHJpbmcpID0+IHtcbiAgY29uc3Qge3Nlc3Npb259ID0gY29udGV4dDtcbiAgY29uc3Qge3VzZXJBY2Nlc3MsIHVzZXJJZDogc2Vzc2lvblVzZXJJZH0gPSBzZXNzaW9uO1xuXG4gIHJldHVybiB1c2VyQWNjZXNzID4gMyB8fCBzZXNzaW9uVXNlcklkID09PSB1c2VySWQ7XG59O1xuIl0sCiAgIm1hcHBpbmdzIjogIjs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQXNCTyxNQUFNLGdCQUFnQixDQUFDLFNBQThCO0FBQzFELE1BQUcsT0FBTyxTQUFTLFVBQVU7QUFDM0IsV0FBTztBQUFBLE1BQ0wsTUFBTSxjQUFjLElBQUk7QUFBQSxNQUN4QixTQUFTLENBQUM7QUFBQSxJQUNaO0FBQUEsRUFDRjtBQUVBLFFBQU0sRUFBQyxNQUFNLGFBQWEsVUFBVSxlQUFjLElBQUk7QUFDdEQsUUFBTSxZQUFZLFFBQVE7QUFFMUIsU0FBTztBQUFBLElBQ0wsTUFBTSxjQUFjLFNBQVM7QUFBQSxJQUM3QixTQUFTLGlCQUFpQixFQUFDLEdBQUcsZUFBYyxJQUFJLENBQUM7QUFBQSxFQUNuRDtBQUNGO0FBRU8sTUFBTSxnQkFBZ0IsQ0FBQyxTQUFjO0FBQzFDLE1BQUk7QUFDRixXQUFPLEtBQUssTUFBTSxJQUFJO0FBQUEsRUFDeEIsU0FBUSxPQUFPO0FBQ2IsV0FBTztBQUFBLEVBQ1Q7QUFDRjtBQUVPLE1BQU0sa0JBQWtCLENBQUMsU0FBcUIsV0FBbUI7QUFDdEUsUUFBTSxFQUFDLFFBQU8sSUFBSTtBQUNsQixRQUFNLEVBQUMsWUFBWSxRQUFRLGNBQWEsSUFBSTtBQUU1QyxTQUFPLGFBQWEsS0FBSyxrQkFBa0I7QUFDN0M7IiwKICAibmFtZXMiOiBbXQp9Cg==
@@ -0,0 +1,30 @@
1
+ var __defProp = Object.defineProperty;
2
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
3
+ var __getOwnPropNames = Object.getOwnPropertyNames;
4
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
5
+ var __copyProps = (to, from, except, desc) => {
6
+ if (from && typeof from === "object" || typeof from === "function") {
7
+ for (let key of __getOwnPropNames(from))
8
+ if (!__hasOwnProp.call(to, key) && key !== except)
9
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
10
+ }
11
+ return to;
12
+ };
13
+ var __reExport = (target, mod, secondTarget) => (__copyProps(target, mod, "default"), secondTarget && __copyProps(secondTarget, mod, "default"));
14
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
15
+ var utils_exports = {};
16
+ module.exports = __toCommonJS(utils_exports);
17
+ __reExport(utils_exports, require("./adapterUtils"), module.exports);
18
+ __reExport(utils_exports, require("./analyticsUtils"), module.exports);
19
+ __reExport(utils_exports, require("./arangodbUtils"), module.exports);
20
+ __reExport(utils_exports, require("./auth"), module.exports);
21
+ __reExport(utils_exports, require("./session"), module.exports);
22
+ // Annotate the CommonJS export names for ESM import in node:
23
+ 0 && (module.exports = {
24
+ ...require("./adapterUtils"),
25
+ ...require("./analyticsUtils"),
26
+ ...require("./arangodbUtils"),
27
+ ...require("./auth"),
28
+ ...require("./session")
29
+ });
30
+ //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vc3JjL3V0aWxzL2luZGV4LnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyJcbi8qKlxuICogQ29weXJpZ2h0IChjKSAyMDE5LVByZXNlbnQsIE5pdHJvZ2VuIExhYnMsIEluYy5cbiAqIENvcHlyaWdodHMgbGljZW5zZWQgdW5kZXIgdGhlIE1JVCBMaWNlbnNlLiBTZWUgdGhlIGFjY29tcGFueWluZyBMSUNFTlNFIGZpbGUgZm9yIHRlcm1zLlxuICovXG5leHBvcnQgKiBmcm9tICcuL2FkYXB0ZXJVdGlscyc7XG5leHBvcnQgKiBmcm9tICcuL2FuYWx5dGljc1V0aWxzJztcbmV4cG9ydCAqIGZyb20gJy4vYXJhbmdvZGJVdGlscyc7XG5leHBvcnQgKiBmcm9tICcuL2F1dGgnO1xuZXhwb3J0ICogZnJvbSAnLi9zZXNzaW9uJzsiXSwKICAibWFwcGluZ3MiOiAiOzs7Ozs7Ozs7Ozs7OztBQUFBO0FBQUE7QUFLQSwwQkFBYywyQkFMZDtBQU1BLDBCQUFjLDZCQU5kO0FBT0EsMEJBQWMsNEJBUGQ7QUFRQSwwQkFBYyxtQkFSZDtBQVNBLDBCQUFjLHNCQVRkOyIsCiAgIm5hbWVzIjogW10KfQo=
@@ -32,18 +32,21 @@ __export(session_exports, {
32
32
  setSession: () => setSession
33
33
  });
34
34
  module.exports = __toCommonJS(session_exports);
35
- var import_jsonwebtoken = __toESM(require("jsonwebtoken"));
36
- var import_error = require("../types/error");
35
+ var import_jsonwebtoken = __toESM(require("jsonwebtoken"), 1);
37
36
  const setSession = (session) => import_jsonwebtoken.default.sign(session, process.env.SESSION_SECRET);
38
37
  const getSession = (token) => {
39
38
  try {
40
39
  return import_jsonwebtoken.default.verify(token, process.env.SESSION_SECRET);
41
40
  } catch (error) {
42
41
  switch (error.message) {
43
- case "jwt expired":
44
- throw new Error(import_error.ErrorTypes.EXPIRED_SESSION);
45
- default:
46
- throw new Error(import_error.ErrorTypes.INVALID_SESSION);
42
+ case "jwt expired": {
43
+ const err = new Error("expired_session");
44
+ throw err;
45
+ }
46
+ default: {
47
+ const err = new Error("invalid_session");
48
+ throw err;
49
+ }
47
50
  }
48
51
  }
49
52
  };
@@ -54,4 +57,4 @@ const isAdminUser = (session) => session.userAccess > 2;
54
57
  isAdminUser,
55
58
  setSession
56
59
  });
57
- //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vc3JjL3V0aWxzL3Nlc3Npb24udHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbIi8qKlxuICogQ29weXJpZ2h0IChjKSAyMDE5LVByZXNlbnQsIE5pdHJvZ2VuIExhYnMsIEluYy5cbiAqIENvcHlyaWdodHMgbGljZW5zZWQgdW5kZXIgdGhlIE1JVCBMaWNlbnNlLiBTZWUgdGhlIGFjY29tcGFueWluZyBMSUNFTlNFIGZpbGUgZm9yIHRlcm1zLlxuICovXG5pbXBvcnQgand0IGZyb20gJ2pzb253ZWJ0b2tlbic7XG5cbmltcG9ydCB7RXJyb3JUeXBlc30gZnJvbSAnLi4vdHlwZXMvZXJyb3InO1xuXG5leHBvcnQgdHlwZSBTZXNzaW9uID0ge1xuICByZWFkb25seSBlcnJvcnM/OiBzdHJpbmdbXTtcbiAgcmVhZG9ubHkgZXhwPzogbnVtYmVyO1xuICByZWFkb25seSBpYXQ/OiBudW1iZXI7XG4gIHJlYWRvbmx5IHVzZXJuYW1lPzogc3RyaW5nO1xuICByZWFkb25seSB1c2VyQWNjZXNzPzogbnVtYmVyO1xuICByZWFkb25seSB1c2VySWQ6IHN0cmluZztcbn07XG5cbmV4cG9ydCB0eXBlIFNlc3Npb25Ub2tlbiA9IHtcbiAgcmVhZG9ubHkgZXhwaXJlczogbnVtYmVyO1xuICByZWFkb25seSBpc3N1ZWQ6IG51bWJlcjtcbiAgcmVhZG9ubHkgdG9rZW46IHN0cmluZztcbn07XG5cbmV4cG9ydCBjb25zdCBzZXRTZXNzaW9uID0gKHNlc3Npb246IFNlc3Npb24pOiBzdHJpbmcgPT4gand0LnNpZ24oc2Vzc2lvbiwgcHJvY2Vzcy5lbnYuU0VTU0lPTl9TRUNSRVQpO1xuXG5leHBvcnQgY29uc3QgZ2V0U2Vzc2lvbiA9ICh0b2tlbjogc3RyaW5nKSA9PiB7XG4gIHRyeSB7XG4gICAgcmV0dXJuIGp3dC52ZXJpZnkodG9rZW4sIHByb2Nlc3MuZW52LlNFU1NJT05fU0VDUkVUKTtcbiAgfSBjYXRjaChlcnJvcikge1xuICAgIHN3aXRjaChlcnJvci5tZXNzYWdlKSB7XG4gICAgICBjYXNlICdqd3QgZXhwaXJlZCc6XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihFcnJvclR5cGVzLkVYUElSRURfU0VTU0lPTik7XG4gICAgICBkZWZhdWx0OlxuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoRXJyb3JUeXBlcy5JTlZBTElEX1NFU1NJT04pO1xuICAgIH1cbiAgfVxufTtcblxuZXhwb3J0IGNvbnN0IGlzQWRtaW5Vc2VyID0gKHNlc3Npb246IFNlc3Npb24pID0+IHNlc3Npb24udXNlckFjY2VzcyA+IDI7Il0sCiAgIm1hcHBpbmdzIjogIjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFJQSwwQkFBZ0I7QUFFaEIsbUJBQXlCO0FBaUJsQixNQUFNLGFBQWEsQ0FBQyxZQUE2QixvQkFBQUEsUUFBSSxLQUFLLFNBQVMsUUFBUSxJQUFJLGNBQWM7QUFFN0YsTUFBTSxhQUFhLENBQUMsVUFBa0I7QUFDM0MsTUFBSTtBQUNGLFdBQU8sb0JBQUFBLFFBQUksT0FBTyxPQUFPLFFBQVEsSUFBSSxjQUFjO0FBQUEsRUFDckQsU0FBUSxPQUFPO0FBQ2IsWUFBTyxNQUFNLFNBQVM7QUFBQSxNQUNwQixLQUFLO0FBQ0gsY0FBTSxJQUFJLE1BQU0sd0JBQVcsZUFBZTtBQUFBLE1BQzVDO0FBQ0UsY0FBTSxJQUFJLE1BQU0sd0JBQVcsZUFBZTtBQUFBLElBQzlDO0FBQUEsRUFDRjtBQUNGO0FBRU8sTUFBTSxjQUFjLENBQUMsWUFBcUIsUUFBUSxhQUFhOyIsCiAgIm5hbWVzIjogWyJqd3QiXQp9Cg==
60
+ //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vc3JjL3V0aWxzL3Nlc3Npb24udHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbIi8qKlxuICogQ29weXJpZ2h0IChjKSAyMDE5LVByZXNlbnQsIE5pdHJvZ2VuIExhYnMsIEluYy5cbiAqIENvcHlyaWdodHMgbGljZW5zZWQgdW5kZXIgdGhlIE1JVCBMaWNlbnNlLiBTZWUgdGhlIGFjY29tcGFueWluZyBMSUNFTlNFIGZpbGUgZm9yIHRlcm1zLlxuICovXG5pbXBvcnQgand0IGZyb20gJ2pzb253ZWJ0b2tlbic7XG5cbmltcG9ydCB7RXJyb3JUeXBlc30gZnJvbSAnLi4vdHlwZXMvZXJyb3InO1xuXG5leHBvcnQgdHlwZSBTZXNzaW9uID0ge1xuICByZWFkb25seSBlcnJvcnM/OiBzdHJpbmdbXTtcbiAgcmVhZG9ubHkgZXhwPzogbnVtYmVyO1xuICByZWFkb25seSBpYXQ/OiBudW1iZXI7XG4gIHJlYWRvbmx5IHVzZXJuYW1lPzogc3RyaW5nO1xuICByZWFkb25seSB1c2VyQWNjZXNzPzogbnVtYmVyO1xuICByZWFkb25seSB1c2VySWQ6IHN0cmluZztcbn07XG5cbmV4cG9ydCB0eXBlIFNlc3Npb25Ub2tlbiA9IHtcbiAgcmVhZG9ubHkgZXhwaXJlczogbnVtYmVyO1xuICByZWFkb25seSBpc3N1ZWQ6IG51bWJlcjtcbiAgcmVhZG9ubHkgdG9rZW46IHN0cmluZztcbiAgcmVhZG9ubHkgdXNlcklkOiBzdHJpbmc7XG4gIHJlYWRvbmx5IHVzZXJuYW1lOiBzdHJpbmc7XG59O1xuXG5leHBvcnQgY29uc3Qgc2V0U2Vzc2lvbiA9IChzZXNzaW9uOiBTZXNzaW9uKTogc3RyaW5nID0+IGp3dC5zaWduKHNlc3Npb24sIHByb2Nlc3MuZW52LlNFU1NJT05fU0VDUkVUKTtcblxuZXhwb3J0IGNvbnN0IGdldFNlc3Npb24gPSAodG9rZW46IHN0cmluZyk6IFNlc3Npb24gPT4ge1xuICB0cnkge1xuICAgIHJldHVybiBqd3QudmVyaWZ5KHRva2VuLCBwcm9jZXNzLmVudi5TRVNTSU9OX1NFQ1JFVCk7XG4gIH0gY2F0Y2goZXJyb3IpIHtcbiAgICBzd2l0Y2goZXJyb3IubWVzc2FnZSkge1xuICAgICAgY2FzZSAnand0IGV4cGlyZWQnOiB7XG4gICAgICAgIGNvbnN0IGVyciA9IG5ldyBFcnJvcignZXhwaXJlZF9zZXNzaW9uJyk7XG4gICAgICAgIHRocm93IGVycjtcbiAgICAgIH1cbiAgICAgIGRlZmF1bHQ6IHtcbiAgICAgICAgY29uc3QgZXJyID0gbmV3IEVycm9yKCdpbnZhbGlkX3Nlc3Npb24nKTtcbiAgICAgICAgdGhyb3cgZXJyO1xuICAgICAgfVxuICAgIH1cbiAgfVxufTtcblxuZXhwb3J0IGNvbnN0IGlzQWRtaW5Vc2VyID0gKHNlc3Npb246IFNlc3Npb24pID0+IHNlc3Npb24udXNlckFjY2VzcyA+IDI7Il0sCiAgIm1hcHBpbmdzIjogIjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFJQSwwQkFBZ0I7QUFxQlQsTUFBTSxhQUFhLENBQUMsWUFBNkIsb0JBQUFBLFFBQUksS0FBSyxTQUFTLFFBQVEsSUFBSSxjQUFjO0FBRTdGLE1BQU0sYUFBYSxDQUFDLFVBQTJCO0FBQ3BELE1BQUk7QUFDRixXQUFPLG9CQUFBQSxRQUFJLE9BQU8sT0FBTyxRQUFRLElBQUksY0FBYztBQUFBLEVBQ3JELFNBQVEsT0FBTztBQUNiLFlBQU8sTUFBTSxTQUFTO0FBQUEsTUFDcEIsS0FBSyxlQUFlO0FBQ2xCLGNBQU0sTUFBTSxJQUFJLE1BQU0saUJBQWlCO0FBQ3ZDLGNBQU07QUFBQSxNQUNSO0FBQUEsTUFDQSxTQUFTO0FBQ1AsY0FBTSxNQUFNLElBQUksTUFBTSxpQkFBaUI7QUFDdkMsY0FBTTtBQUFBLE1BQ1I7QUFBQSxJQUNGO0FBQUEsRUFDRjtBQUNGO0FBRU8sTUFBTSxjQUFjLENBQUMsWUFBcUIsUUFBUSxhQUFhOyIsCiAgIm5hbWVzIjogWyJqd3QiXQp9Cg==
package/index.js CHANGED
@@ -2,4 +2,4 @@
2
2
  * Copyright (c) 2019-Present, Nitrogen Labs, Inc.
3
3
  * Copyrights licensed under the MIT License. See the accompanying LICENSE file for terms.
4
4
  */
5
- module.exports = require('./lib');
5
+ export * from './lib/index.js';
package/jest.config.js ADDED
@@ -0,0 +1,17 @@
1
+ module.exports = {
2
+ setupFilesAfterEnv: ['<rootDir>/jest.setup.js'],
3
+ testEnvironment: 'node',
4
+ transform: {
5
+ '^.+\\.ts$': 'ts-jest'
6
+ },
7
+ moduleFileExtensions: ['ts', 'js', 'json'],
8
+ transformIgnorePatterns: [
9
+ 'node_modules/(?!(zod)/)'
10
+ ],
11
+ extensionsToTreatAsEsm: ['.ts'],
12
+ globals: {
13
+ 'ts-jest': {
14
+ useESM: true
15
+ }
16
+ }
17
+ };
package/jest.setup.js CHANGED
@@ -0,0 +1,36 @@
1
+ // Centralized ArangoDB mock for all tests
2
+ jest.mock('arangojs', () => ({
3
+ ...jest.requireActual('arangojs'),
4
+ aql: jest.fn((templateStrings, ...args) => {
5
+ // Concatenate template strings and interpolate arguments
6
+ let result = '';
7
+ for (let i = 0; i < templateStrings.length; i++) {
8
+ result += templateStrings[i];
9
+ if (i < args.length) {
10
+ // Add the actual value to the template
11
+ result += args[i];
12
+ }
13
+ }
14
+ // Normalize to single line: remove newlines and normalize whitespace
15
+ const singleLine = result.replace(/\s+/g, ' ').trim();
16
+ return [singleLine, ...args];
17
+ })
18
+ }));
19
+
20
+ // Mock the useDb function from arangodbUtils with a basic default
21
+ const mockUseDb = jest.fn(() => ({
22
+ collection: jest.fn(() => ({
23
+ save: jest.fn(() => Promise.resolve()),
24
+ remove: jest.fn(() => Promise.resolve()),
25
+ update: jest.fn(() => Promise.resolve())
26
+ })),
27
+ query: jest.fn(() => Promise.resolve({
28
+ all: jest.fn(() => Promise.resolve([])),
29
+ next: jest.fn(() => Promise.resolve({}))
30
+ }))
31
+ }));
32
+
33
+ jest.mock('./src/utils/arangodbUtils', () => ({
34
+ ...jest.requireActual('./src/utils/arangodbUtils'),
35
+ useDb: mockUseDb
36
+ }));
package/lex.config.cjs ADDED
@@ -0,0 +1,13 @@
1
+ module.exports = {
2
+ ai: {
3
+ maxTokens: 4000,
4
+ model: 'cursor-code',
5
+ provider: 'cursor',
6
+ temperature: 0.1
7
+ },
8
+ outputPath: 'lib',
9
+ preset: 'node22',
10
+ targetEnvironment: 'node',
11
+ useTypescript: true
12
+ };
13
+