@vitnode/core 1.2.0-canary.53 → 1.2.0-canary.55

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 (320) hide show
  1. package/dist/scripts/get-config.d.ts.map +1 -1
  2. package/dist/scripts/plugin.d.ts.map +1 -1
  3. package/dist/scripts/prepare-database.d.ts +0 -1
  4. package/dist/scripts/prepare-database.d.ts.map +1 -1
  5. package/dist/scripts/prepare-plugins-files.d.ts.map +1 -1
  6. package/dist/scripts/scripts.js +4 -4
  7. package/dist/scripts/shared/file-utils.d.ts.map +1 -1
  8. package/dist/src/api/adapters/cron/node-cron.adapter.d.ts +3 -0
  9. package/dist/src/api/adapters/cron/node-cron.adapter.d.ts.map +1 -0
  10. package/dist/src/api/adapters/cron/node-cron.adapter.js +11 -0
  11. package/dist/src/api/adapters/sso/discord.d.ts.map +1 -1
  12. package/dist/src/api/adapters/sso/facebook.d.ts.map +1 -1
  13. package/dist/src/api/adapters/sso/google.d.ts.map +1 -1
  14. package/dist/src/api/config.d.ts.map +1 -1
  15. package/dist/src/api/config.js +22 -9
  16. package/dist/src/api/lib/cron.d.ts +18 -0
  17. package/dist/src/api/lib/cron.d.ts.map +1 -0
  18. package/dist/src/api/lib/cron.js +22 -0
  19. package/dist/src/api/lib/logger-middleware.js +1 -1
  20. package/dist/src/api/lib/module.d.ts +4 -1
  21. package/dist/src/api/lib/module.d.ts.map +1 -1
  22. package/dist/src/api/lib/module.js +3 -2
  23. package/dist/src/api/lib/plugin.d.ts +2 -0
  24. package/dist/src/api/lib/plugin.d.ts.map +1 -1
  25. package/dist/src/api/lib/plugin.js +9 -1
  26. package/dist/src/api/lib/route.d.ts.map +1 -1
  27. package/dist/src/api/lib/with-pagination.d.ts +1 -1
  28. package/dist/src/api/lib/with-pagination.d.ts.map +1 -1
  29. package/dist/src/api/middlewares/cron-auth.middleware.d.ts +3 -0
  30. package/dist/src/api/middlewares/cron-auth.middleware.d.ts.map +1 -0
  31. package/dist/src/api/middlewares/cron-auth.middleware.js +19 -0
  32. package/dist/src/api/middlewares/global.middleware.d.ts +8 -2
  33. package/dist/src/api/middlewares/global.middleware.d.ts.map +1 -1
  34. package/dist/src/api/middlewares/global.middleware.js +33 -23
  35. package/dist/src/api/models/device.d.ts.map +1 -1
  36. package/dist/src/api/models/device.js +1 -1
  37. package/dist/src/api/models/email.d.ts.map +1 -1
  38. package/dist/src/api/models/email.js +1 -2
  39. package/dist/src/api/models/session-admin.d.ts.map +1 -1
  40. package/dist/src/api/models/session.d.ts.map +1 -1
  41. package/dist/src/api/models/sso.d.ts.map +1 -1
  42. package/dist/src/api/models/sso.js +1 -1
  43. package/dist/src/api/models/user/get-user-by-id.d.ts.map +1 -1
  44. package/dist/src/api/models/user/sign-in-with-passwords.d.ts.map +1 -1
  45. package/dist/src/api/models/user/sign-up.d.ts +1 -1
  46. package/dist/src/api/models/user/sign-up.d.ts.map +1 -1
  47. package/dist/src/api/models/user/sign-up.js +1 -0
  48. package/dist/src/api/models/user.d.ts +1 -1
  49. package/dist/src/api/models/user.d.ts.map +1 -1
  50. package/dist/src/api/modules/admin/admin.module.d.ts +163 -1
  51. package/dist/src/api/modules/admin/admin.module.d.ts.map +1 -1
  52. package/dist/src/api/modules/admin/admin.module.js +6 -3
  53. package/dist/src/api/modules/admin/advanced/advanced.admin.module.d.ts +164 -0
  54. package/dist/src/api/modules/admin/advanced/advanced.admin.module.d.ts.map +1 -0
  55. package/dist/src/api/modules/admin/advanced/advanced.admin.module.js +11 -0
  56. package/dist/src/api/modules/admin/advanced/cron/cron.admin.module.d.ts +164 -0
  57. package/dist/src/api/modules/admin/advanced/cron/cron.admin.module.d.ts.map +1 -0
  58. package/dist/src/api/modules/admin/advanced/cron/cron.admin.module.js +12 -0
  59. package/dist/src/api/modules/admin/advanced/cron/routes/get.route.d.ts +98 -0
  60. package/dist/src/api/modules/admin/advanced/cron/routes/get.route.d.ts.map +1 -0
  61. package/dist/src/api/modules/admin/advanced/cron/routes/get.route.js +66 -0
  62. package/dist/src/api/modules/admin/advanced/cron/routes/run.route.d.ts +70 -0
  63. package/dist/src/api/modules/admin/advanced/cron/routes/run.route.d.ts.map +1 -0
  64. package/dist/src/api/modules/admin/advanced/cron/routes/run.route.js +95 -0
  65. package/dist/src/api/modules/admin/debug/debug.admin.module.js +1 -1
  66. package/dist/src/api/modules/admin/debug/routes/logs.route.js +1 -1
  67. package/dist/src/api/modules/admin/routes/session.route.js +1 -1
  68. package/dist/src/api/modules/admin/users/routes/list.route.js +1 -1
  69. package/dist/src/api/modules/admin/users/routes/users.route.d.ts +3 -3
  70. package/dist/src/api/modules/admin/users/routes/users.route.js +1 -1
  71. package/dist/src/api/modules/admin/users/users.admin.module.js +1 -1
  72. package/dist/src/api/modules/cron/cron/clean.cron.d.ts +2 -0
  73. package/dist/src/api/modules/cron/cron/clean.cron.d.ts.map +1 -0
  74. package/dist/src/api/modules/cron/cron/clean.cron.js +24 -0
  75. package/dist/src/api/modules/cron/cron.module.d.ts +26 -0
  76. package/dist/src/api/modules/cron/cron.module.d.ts.map +1 -0
  77. package/dist/src/api/modules/cron/cron.module.js +14 -0
  78. package/dist/src/api/modules/cron/helpers/process-cron-jobs.d.ts +36 -0
  79. package/dist/src/api/modules/cron/helpers/process-cron-jobs.d.ts.map +1 -0
  80. package/dist/src/api/modules/cron/helpers/process-cron-jobs.js +72 -0
  81. package/dist/src/api/modules/cron/routes/cron.route.d.ts +27 -0
  82. package/dist/src/api/modules/cron/routes/cron.route.d.ts.map +1 -0
  83. package/dist/src/api/modules/cron/routes/cron.route.js +95 -0
  84. package/dist/src/api/modules/middleware/middleware.module.js +1 -1
  85. package/dist/src/api/modules/middleware/route.js +1 -1
  86. package/dist/src/api/modules/users/routes/change-password.route.js +1 -1
  87. package/dist/src/api/modules/users/routes/reset-passowrd.route.js +1 -1
  88. package/dist/src/api/modules/users/routes/session.route.js +1 -1
  89. package/dist/src/api/modules/users/routes/sign-in.route.js +1 -1
  90. package/dist/src/api/modules/users/routes/sign-out.route.js +1 -1
  91. package/dist/src/api/modules/users/routes/sign-up.route.js +1 -1
  92. package/dist/src/api/modules/users/routes/test.route.js +1 -1
  93. package/dist/src/api/modules/users/sso/routes/callback.route.js +1 -1
  94. package/dist/src/api/modules/users/sso/routes/create-url.route.js +1 -1
  95. package/dist/src/api/modules/users/sso/sso.module.js +1 -1
  96. package/dist/src/api/modules/users/users.module.js +1 -1
  97. package/dist/src/api/plugin.d.ts.map +1 -1
  98. package/dist/src/api/plugin.js +4 -2
  99. package/dist/src/app_admin/core/advanced/cron/page.d.ts +11 -0
  100. package/dist/src/app_admin/core/advanced/cron/page.d.ts.map +1 -0
  101. package/dist/src/app_admin/core/advanced/cron/page.js +42 -0
  102. package/dist/src/app_admin/core/debug/page.js +1 -1
  103. package/dist/src/app_admin/core/users/page.d.ts.map +1 -1
  104. package/dist/src/app_admin/core/users/page.js +1 -1
  105. package/dist/src/components/confirm-action/confirm-action-alert-dialog.js +1 -1
  106. package/dist/src/components/confirm-action/content.d.ts.map +1 -1
  107. package/dist/src/components/confirm-action/content.js +1 -0
  108. package/dist/src/components/form/auto-form.d.ts.map +1 -1
  109. package/dist/src/components/form/auto-form.js +0 -1
  110. package/dist/src/components/form/fields/checkbox.d.ts +1 -1
  111. package/dist/src/components/form/fields/checkbox.d.ts.map +1 -1
  112. package/dist/src/components/form/fields/combobox-async.d.ts.map +1 -1
  113. package/dist/src/components/form/fields/combobox.d.ts.map +1 -1
  114. package/dist/src/components/form/fields/input.d.ts +1 -1
  115. package/dist/src/components/form/fields/input.d.ts.map +1 -1
  116. package/dist/src/components/form/fields/select.d.ts.map +1 -1
  117. package/dist/src/components/form/fields/switch.js +1 -1
  118. package/dist/src/components/switchers/langs/{language-swietcher.d.ts → language-switcher.d.ts} +1 -1
  119. package/dist/src/components/switchers/langs/language-switcher.d.ts.map +1 -0
  120. package/dist/src/components/table/content.d.ts.map +1 -1
  121. package/dist/src/components/table/data-table.d.ts +1 -1
  122. package/dist/src/components/table/data-table.d.ts.map +1 -1
  123. package/dist/src/components/table/order-table-head.d.ts.map +1 -1
  124. package/dist/src/components/table/pagination.js +1 -1
  125. package/dist/src/components/tiptap/extension.d.ts +4 -0
  126. package/dist/src/components/tiptap/extension.d.ts.map +1 -0
  127. package/dist/src/components/tiptap/extension.js +33 -0
  128. package/dist/src/components/tiptap/toolbar/actions/alignment-action.d.ts +2 -0
  129. package/dist/src/components/tiptap/toolbar/actions/alignment-action.d.ts.map +1 -0
  130. package/dist/src/components/tiptap/toolbar/actions/alignment-action.js +91 -0
  131. package/dist/src/components/tiptap/toolbar/actions/bold-action.d.ts +2 -0
  132. package/dist/src/components/tiptap/toolbar/actions/bold-action.d.ts.map +1 -0
  133. package/dist/src/components/tiptap/toolbar/actions/bold-action.js +39 -0
  134. package/dist/src/components/tiptap/toolbar/actions/headings-action.d.ts +2 -0
  135. package/dist/src/components/tiptap/toolbar/actions/headings-action.d.ts.map +1 -0
  136. package/dist/src/components/tiptap/toolbar/actions/headings-action.js +93 -0
  137. package/dist/src/components/tiptap/toolbar/actions/italic-action.d.ts +2 -0
  138. package/dist/src/components/tiptap/toolbar/actions/italic-action.d.ts.map +1 -0
  139. package/dist/src/components/tiptap/toolbar/actions/italic-action.js +38 -0
  140. package/dist/src/components/tiptap/toolbar/actions/list-action.d.ts +2 -0
  141. package/dist/src/components/tiptap/toolbar/actions/list-action.d.ts.map +1 -0
  142. package/dist/src/components/tiptap/toolbar/actions/list-action.js +61 -0
  143. package/dist/src/components/tiptap/toolbar/actions/text-format-more/text-format-more.d.ts +2 -0
  144. package/dist/src/components/tiptap/toolbar/actions/text-format-more/text-format-more.d.ts.map +1 -0
  145. package/dist/src/components/tiptap/toolbar/actions/text-format-more/text-format-more.js +59 -0
  146. package/dist/src/components/tiptap/toolbar/actions/underline-action.d.ts +2 -0
  147. package/dist/src/components/tiptap/toolbar/actions/underline-action.d.ts.map +1 -0
  148. package/dist/src/components/tiptap/toolbar/actions/underline-action.js +38 -0
  149. package/dist/src/components/tiptap/toolbar/actions/undo-redo-actions.d.ts +2 -0
  150. package/dist/src/components/tiptap/toolbar/actions/undo-redo-actions.d.ts.map +1 -0
  151. package/dist/src/components/tiptap/toolbar/actions/undo-redo-actions.js +63 -0
  152. package/dist/src/components/tiptap/toolbar/actions/utils/tooltip-shortcut.d.ts +4 -0
  153. package/dist/src/components/tiptap/toolbar/actions/utils/tooltip-shortcut.d.ts.map +1 -0
  154. package/dist/src/components/tiptap/toolbar/actions/utils/tooltip-shortcut.js +11 -0
  155. package/dist/src/components/tiptap/toolbar/tiptap-toolbar.d.ts +5 -0
  156. package/dist/src/components/tiptap/toolbar/tiptap-toolbar.d.ts.map +1 -0
  157. package/dist/src/components/tiptap/toolbar/tiptap-toolbar.js +55 -0
  158. package/dist/src/components/tiptap/toolbar/use-toolbar-editor.d.ts +9 -0
  159. package/dist/src/components/tiptap/toolbar/use-toolbar-editor.d.ts.map +1 -0
  160. package/dist/src/components/tiptap/toolbar/use-toolbar-editor.js +5 -0
  161. package/dist/src/components/ui/accordion.d.ts +1 -1
  162. package/dist/src/components/ui/accordion.d.ts.map +1 -1
  163. package/dist/src/components/ui/alert.d.ts +1 -1
  164. package/dist/src/components/ui/alert.d.ts.map +1 -1
  165. package/dist/src/components/ui/badge.d.ts +1 -1
  166. package/dist/src/components/ui/badge.d.ts.map +1 -1
  167. package/dist/src/components/ui/button-client.d.ts.map +1 -1
  168. package/dist/src/components/ui/button-client.js +1 -1
  169. package/dist/src/components/ui/button.d.ts +2 -2
  170. package/dist/src/components/ui/button.d.ts.map +1 -1
  171. package/dist/src/components/ui/button.js +1 -1
  172. package/dist/src/components/ui/checkbox.d.ts +1 -1
  173. package/dist/src/components/ui/checkbox.d.ts.map +1 -1
  174. package/dist/src/components/ui/command.d.ts +1 -1
  175. package/dist/src/components/ui/command.d.ts.map +1 -1
  176. package/dist/src/components/ui/context-menu.d.ts +1 -1
  177. package/dist/src/components/ui/context-menu.d.ts.map +1 -1
  178. package/dist/src/components/ui/drawer.d.ts.map +1 -1
  179. package/dist/src/components/ui/dropdown-menu.d.ts +1 -1
  180. package/dist/src/components/ui/dropdown-menu.d.ts.map +1 -1
  181. package/dist/src/components/ui/editor-content.d.ts +4 -0
  182. package/dist/src/components/ui/editor-content.d.ts.map +1 -0
  183. package/dist/src/components/ui/editor-content.js +10 -0
  184. package/dist/src/components/ui/editor.d.ts +6 -0
  185. package/dist/src/components/ui/editor.d.ts.map +1 -0
  186. package/dist/src/components/ui/editor.js +35 -0
  187. package/dist/src/components/ui/form.d.ts.map +1 -1
  188. package/dist/src/components/ui/hover-card.d.ts +1 -1
  189. package/dist/src/components/ui/hover-card.d.ts.map +1 -1
  190. package/dist/src/components/ui/label.d.ts +1 -1
  191. package/dist/src/components/ui/label.d.ts.map +1 -1
  192. package/dist/src/components/ui/menubar.d.ts +1 -1
  193. package/dist/src/components/ui/menubar.d.ts.map +1 -1
  194. package/dist/src/components/ui/navigation-menu.d.ts +1 -1
  195. package/dist/src/components/ui/navigation-menu.d.ts.map +1 -1
  196. package/dist/src/components/ui/popover.d.ts +1 -1
  197. package/dist/src/components/ui/popover.d.ts.map +1 -1
  198. package/dist/src/components/ui/progress.d.ts +1 -1
  199. package/dist/src/components/ui/progress.d.ts.map +1 -1
  200. package/dist/src/components/ui/radio-group.d.ts +1 -1
  201. package/dist/src/components/ui/radio-group.d.ts.map +1 -1
  202. package/dist/src/components/ui/scroll-area.d.ts +6 -0
  203. package/dist/src/components/ui/scroll-area.d.ts.map +1 -0
  204. package/dist/src/components/ui/scroll-area.js +33 -0
  205. package/dist/src/components/ui/select.d.ts +1 -1
  206. package/dist/src/components/ui/select.d.ts.map +1 -1
  207. package/dist/src/components/ui/separator.d.ts +1 -1
  208. package/dist/src/components/ui/separator.d.ts.map +1 -1
  209. package/dist/src/components/ui/sheet.d.ts +1 -1
  210. package/dist/src/components/ui/sheet.d.ts.map +1 -1
  211. package/dist/src/components/ui/sidebar.d.ts.map +1 -1
  212. package/dist/src/components/ui/sidebar.js +14 -15
  213. package/dist/src/components/ui/sonner.d.ts.map +1 -1
  214. package/dist/src/components/ui/switch.d.ts +1 -1
  215. package/dist/src/components/ui/switch.d.ts.map +1 -1
  216. package/dist/src/components/ui/table.js +1 -1
  217. package/dist/src/components/ui/tabs.d.ts +1 -1
  218. package/dist/src/components/ui/tabs.d.ts.map +1 -1
  219. package/dist/src/components/ui/toggle-group.d.ts.map +1 -1
  220. package/dist/src/components/ui/toggle.d.ts +1 -1
  221. package/dist/src/components/ui/toggle.d.ts.map +1 -1
  222. package/dist/src/components/ui/toggle.js +1 -1
  223. package/dist/src/components/ui/tooltip.d.ts +5 -2
  224. package/dist/src/components/ui/tooltip.d.ts.map +1 -1
  225. package/dist/src/components/ui/tooltip.js +18 -2
  226. package/dist/src/database/cron.d.ts +171 -0
  227. package/dist/src/database/cron.d.ts.map +1 -0
  228. package/dist/src/database/cron.js +22 -0
  229. package/dist/src/database/users.d.ts +2 -2
  230. package/dist/src/database/users.js +1 -1
  231. package/dist/src/drizzle.config.d.ts.map +1 -1
  232. package/dist/src/drizzle.config.js +1 -1
  233. package/dist/src/emails/default-template.d.ts.map +1 -1
  234. package/dist/src/emails/default-template.js +20 -21
  235. package/dist/src/hooks/use-captcha.d.ts +20 -0
  236. package/dist/src/hooks/use-captcha.d.ts.map +1 -1
  237. package/dist/src/hooks/use-captcha.js +19 -18
  238. package/dist/src/hooks/use-mobile.d.ts.map +1 -1
  239. package/dist/src/hooks/use-mobile.js +1 -0
  240. package/dist/src/lib/api/get-next-cron-run-date.d.ts +2 -0
  241. package/dist/src/lib/api/get-next-cron-run-date.d.ts.map +1 -0
  242. package/dist/src/lib/api/get-next-cron-run-date.js +14 -0
  243. package/dist/src/lib/api/get-next-cron-run-date.test.d.ts +2 -0
  244. package/dist/src/lib/api/get-next-cron-run-date.test.d.ts.map +1 -0
  245. package/dist/src/lib/api/get-next-cron-run-date.test.js +55 -0
  246. package/dist/src/lib/api/should-cron-job-run.d.ts +2 -0
  247. package/dist/src/lib/api/should-cron-job-run.d.ts.map +1 -0
  248. package/dist/src/lib/api/should-cron-job-run.js +16 -0
  249. package/dist/src/lib/api/should-cron-job-run.test.d.ts +2 -0
  250. package/dist/src/lib/api/should-cron-job-run.test.d.ts.map +1 -0
  251. package/dist/src/lib/api/should-cron-job-run.test.js +213 -0
  252. package/dist/src/lib/config.d.ts +1 -0
  253. package/dist/src/lib/config.d.ts.map +1 -1
  254. package/dist/src/lib/config.js +7 -5
  255. package/dist/src/lib/ctrl-or-command-character.d.ts +2 -0
  256. package/dist/src/lib/ctrl-or-command-character.d.ts.map +1 -0
  257. package/dist/src/lib/ctrl-or-command-character.js +5 -0
  258. package/dist/src/lib/fetcher/cookie-from-string-to-object.d.ts.map +1 -1
  259. package/dist/src/lib/fetcher/core.d.ts.map +1 -1
  260. package/dist/src/lib/fetcher/core.js +1 -2
  261. package/dist/src/lib/fetcher-client.d.ts.map +1 -1
  262. package/dist/src/lib/fetcher.d.ts.map +1 -1
  263. package/dist/src/lib/helpers/auto-form.d.ts.map +1 -1
  264. package/dist/src/lib/helpers/auto-form.js +0 -1
  265. package/dist/src/lib/navigation.d.ts +2 -2
  266. package/dist/src/lib/navigation.d.ts.map +1 -1
  267. package/dist/src/lib/tiptap/toolbar/actions/bold-action.d.ts +1 -0
  268. package/dist/src/lib/tiptap/toolbar/actions/bold-action.d.ts.map +1 -0
  269. package/dist/src/lib/tiptap/toolbar/actions/bold-action.js +0 -0
  270. package/dist/src/views/admin/layouts/admin-layout.d.ts.map +1 -1
  271. package/dist/src/views/admin/layouts/admin-layout.js +5 -2
  272. package/dist/src/views/admin/layouts/sidebar/nav/item.d.ts.map +1 -1
  273. package/dist/src/views/admin/layouts/sidebar/nav/item.js +0 -3
  274. package/dist/src/views/admin/layouts/sidebar/nav/nav.d.ts.map +1 -1
  275. package/dist/src/views/admin/layouts/sidebar/nav/nav.js +12 -1
  276. package/dist/src/views/admin/layouts/user-bar/user-bar.d.ts.map +1 -1
  277. package/dist/src/views/admin/views/core/advanced/cron/cron-table-view.d.ts +5 -0
  278. package/dist/src/views/admin/views/core/advanced/cron/cron-table-view.d.ts.map +1 -0
  279. package/dist/src/views/admin/views/core/advanced/cron/cron-table-view.js +97 -0
  280. package/dist/src/views/admin/views/core/advanced/cron/run-action/mutation-api.d.ts +4 -0
  281. package/dist/src/views/admin/views/core/advanced/cron/run-action/mutation-api.d.ts.map +1 -0
  282. package/dist/src/views/admin/views/core/advanced/cron/run-action/mutation-api.js +23 -0
  283. package/dist/src/views/admin/views/core/advanced/cron/run-action/run-action.d.ts +4 -0
  284. package/dist/src/views/admin/views/core/advanced/cron/run-action/run-action.d.ts.map +1 -0
  285. package/dist/src/views/admin/views/core/advanced/cron/run-action/run-action.js +38 -0
  286. package/dist/src/views/admin/views/core/debug/system-logs/actions/more/content.d.ts.map +1 -1
  287. package/dist/src/views/admin/views/core/debug/system-logs/actions/more/more.d.ts.map +1 -1
  288. package/dist/src/views/admin/views/core/debug/system-logs/actions/more/more.js +12 -21
  289. package/dist/src/views/admin/views/core/test.d.ts.map +1 -1
  290. package/dist/src/views/admin/views/core/test.js +116 -106
  291. package/dist/src/views/auth/password-reset/change-password-form/use-form.d.ts.map +1 -1
  292. package/dist/src/views/auth/password-reset/form/form.d.ts.map +1 -1
  293. package/dist/src/views/auth/sign-in/form/mutation-api.d.ts.map +1 -1
  294. package/dist/src/views/auth/sign-up/components/password-input.d.ts.map +1 -1
  295. package/dist/src/views/auth/sign-up/components/password-input.js +2 -1
  296. package/dist/src/views/auth/sign-up/form/form.d.ts.map +1 -1
  297. package/dist/src/views/auth/sign-up/form/mutation-api.d.ts.map +1 -1
  298. package/dist/src/views/auth/sign-up/wrapper.d.ts.map +1 -1
  299. package/dist/src/views/auth/sign-up/wrapper.js +6 -3
  300. package/dist/src/views/auth/sso/callback/client/client.d.ts.map +1 -1
  301. package/dist/src/views/error/global-error-view.d.ts.map +1 -1
  302. package/dist/src/views/error/global-error-view.js +2 -1
  303. package/dist/src/views/layouts/provider.d.ts.map +1 -1
  304. package/dist/src/views/layouts/root-layout.d.ts.map +1 -1
  305. package/dist/src/views/layouts/theme/header/header.d.ts.map +1 -1
  306. package/dist/src/views/layouts/theme/header/header.js +1 -1
  307. package/dist/src/views/layouts/theme/header/user/auth/client.d.ts.map +1 -1
  308. package/dist/src/vitnode.config.d.ts +2 -0
  309. package/dist/src/vitnode.config.d.ts.map +1 -1
  310. package/dist/src/vitnode.config.js +0 -1
  311. package/dist/tsconfig.tsbuildinfo +1 -1
  312. package/eslint.config.mjs +17 -0
  313. package/package.json +37 -27
  314. package/src/app_admin/core/advanced/cron/page.tsx +42 -0
  315. package/src/app_admin/core/debug/page.tsx +1 -1
  316. package/src/app_admin/core/users/page.tsx +2 -1
  317. package/src/locales/en.json +51 -0
  318. package/src/tiptap.css +28 -0
  319. package/dist/src/components/switchers/langs/language-swietcher.d.ts.map +0 -1
  320. /package/dist/src/components/switchers/langs/{language-swietcher.js → language-switcher.js} +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"use-captcha.d.ts","sourceRoot":"","sources":["../../../src/hooks/use-captcha.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAI7B,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,iCAAiC,CAAC;AAE7E,eAAO,MAAM,UAAU,GACrB,SAAS,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC,SAAS,CAAC;;;oBA4G9B,OAAO,CAAC,MAAM,CAAC;CA4B3C,CAAC"}
1
+ {"version":3,"file":"use-captcha.d.ts","sourceRoot":"","sources":["../../../src/hooks/use-captcha.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAS7B,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,iCAAiC,CAAC;AAE7E,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,MAAM;QACd,UAAU,CAAC,EAAE;YACX,OAAO,EAAE,CACP,OAAO,EAAE,MAAM,EACf,OAAO,EAAE;gBAAE,MAAM,EAAE,MAAM,CAAA;aAAE,KACxB,OAAO,CAAC,MAAM,CAAC,CAAC;YACrB,KAAK,EAAE,CAAC,QAAQ,EAAE,MAAM,IAAI,KAAK,IAAI,CAAC;SACvC,CAAC;QACF,SAAS,CAAC,EAAE;YACV,MAAM,EAAE,CACN,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE;gBACN,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;gBAClC,kBAAkB,EAAE,MAAM,IAAI,CAAC;gBAC/B,QAAQ,EAAE,MAAM,CAAC;gBACjB,OAAO,EAAE,MAAM,CAAC;gBAChB,KAAK,EAAE,MAAM,GAAG,SAAS,CAAC;aAC3B,KACE,MAAM,CAAC;YACZ,KAAK,EAAE,MAAM,IAAI,CAAC;SACnB,CAAC;KACH;CACF;AAED,eAAO,MAAM,UAAU,GACrB,SAAS,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC,SAAS,CAAC;;;oBAgG9B,OAAO,CAAC,MAAM,CAAC;CA6B3C,CAAC"}
@@ -1,4 +1,4 @@
1
- /** biome-ignore-all lint/suspicious/noConsole: <no needed> */ import { useLocale, useTranslations } from "next-intl";
1
+ import { useLocale, useTranslations } from "next-intl";
2
2
  import { useTheme } from "next-themes";
3
3
  import React from "react";
4
4
  import { toast } from "sonner";
@@ -13,8 +13,7 @@ export const useCaptcha = (captcha)=>{
13
13
  const handleLoaded = ()=>{
14
14
  if (!captcha) return;
15
15
  const elementId = "vitnode_captcha";
16
- if (captcha.type === "cloudflare_turnstile") {
17
- // @ts-expect-error
16
+ if (captcha.type === "cloudflare_turnstile" && window.turnstile) {
18
17
  window.turnstile.render(`#${elementId}`, {
19
18
  sitekey: captcha.siteKey,
20
19
  theme: resolvedTheme,
@@ -39,7 +38,6 @@ export const useCaptcha = (captcha)=>{
39
38
  description: t("captcha_internal_error")
40
39
  });
41
40
  };
42
- // biome-ignore lint/correctness/useExhaustiveDependencies: <needed>
43
41
  React.useEffect(()=>{
44
42
  if (!captcha) {
45
43
  // If no captcha is required, consider it "ready"
@@ -83,7 +81,6 @@ export const useCaptcha = (captcha)=>{
83
81
  const onReset = ()=>{
84
82
  if (!captcha) return;
85
83
  if (captcha.type === "cloudflare_turnstile" && window.turnstile) {
86
- // @ts-expect-error
87
84
  window.turnstile.reset();
88
85
  }
89
86
  setToken("");
@@ -93,19 +90,23 @@ export const useCaptcha = (captcha)=>{
93
90
  if (!captcha) return "";
94
91
  if (captcha.type === "recaptcha_v3") {
95
92
  return await new Promise((resolve)=>{
96
- // @ts-expect-error
97
- window.grecaptcha.ready(async ()=>{
98
- try {
99
- // @ts-expect-error
100
- const token = await window.grecaptcha.execute(captcha.siteKey, {
101
- action: "submit"
102
- });
103
- resolve(token);
104
- } catch (error) {
105
- console.error("Captcha error", error);
106
- resolve("");
107
- }
108
- });
93
+ const grecaptcha = window.grecaptcha;
94
+ if (grecaptcha) {
95
+ grecaptcha.ready(async ()=>{
96
+ try {
97
+ const token = await grecaptcha.execute(captcha.siteKey, {
98
+ action: "submit"
99
+ });
100
+ resolve(token);
101
+ } catch (error) {
102
+ // eslint-disable-next-line no-console
103
+ console.error("Captcha error", error);
104
+ resolve("");
105
+ }
106
+ });
107
+ } else {
108
+ resolve("");
109
+ }
109
110
  });
110
111
  }
111
112
  return token;
@@ -1 +1 @@
1
- {"version":3,"file":"use-mobile.d.ts","sourceRoot":"","sources":["../../../src/hooks/use-mobile.ts"],"names":[],"mappings":"AAIA,wBAAgB,WAAW,YAiB1B"}
1
+ {"version":3,"file":"use-mobile.d.ts","sourceRoot":"","sources":["../../../src/hooks/use-mobile.ts"],"names":[],"mappings":"AAIA,wBAAgB,WAAW,YAkB1B"}
@@ -8,6 +8,7 @@ export function useIsMobile() {
8
8
  setIsMobile(window.innerWidth < MOBILE_BREAKPOINT);
9
9
  };
10
10
  mql.addEventListener("change", onChange);
11
+ // eslint-disable-next-line @eslint-react/hooks-extra/no-direct-set-state-in-use-effect
11
12
  setIsMobile(window.innerWidth < MOBILE_BREAKPOINT);
12
13
  return ()=>mql.removeEventListener("change", onChange);
13
14
  }, []);
@@ -0,0 +1,2 @@
1
+ export declare const getNextCronRunDate: (schedule: string, lastRun: Date | null) => Date | null;
2
+ //# sourceMappingURL=get-next-cron-run-date.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get-next-cron-run-date.d.ts","sourceRoot":"","sources":["../../../../src/lib/api/get-next-cron-run-date.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,kBAAkB,GAC7B,UAAU,MAAM,EAChB,SAAS,IAAI,GAAG,IAAI,KACnB,IAAI,GAAG,IAkBT,CAAC"}
@@ -0,0 +1,14 @@
1
+ import cronParser from "cron-parser";
2
+ export const getNextCronRunDate = (schedule, lastRun)=>{
3
+ try {
4
+ const options = {
5
+ currentDate: lastRun ?? new Date(0)
6
+ };
7
+ const interval = cronParser.parse(schedule, options);
8
+ return interval.next().toDate();
9
+ } catch (err) {
10
+ // eslint-disable-next-line no-console
11
+ console.error(`\x1b[34m[VitNode]\x1b[0m \x1b[38;5;208mError parsing schedule for nextRun\x1b[0m: ${schedule}`, err);
12
+ return null;
13
+ }
14
+ };
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=get-next-cron-run-date.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get-next-cron-run-date.test.d.ts","sourceRoot":"","sources":["../../../../src/lib/api/get-next-cron-run-date.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,55 @@
1
+ import { describe, expect, it, vi } from "vitest";
2
+ import { getNextCronRunDate } from "./get-next-cron-run-date.js";
3
+ describe("getNextCronRunDate", ()=>{
4
+ it("should return the next run date for a valid cron schedule with lastRun null", ()=>{
5
+ const schedule = "0 0 * * *"; // Daily at midnight
6
+ const lastRun = null;
7
+ const result = getNextCronRunDate(schedule, lastRun);
8
+ expect(result).toBeInstanceOf(Date);
9
+ if (result) {
10
+ expect(result.getHours()).toBe(0);
11
+ expect(result.getMinutes()).toBe(0);
12
+ }
13
+ });
14
+ it("should return the next run date for a valid cron schedule with lastRun provided", ()=>{
15
+ const schedule = "0 0 * * *"; // Daily at midnight
16
+ const lastRun = new Date("2023-01-01T12:00:00Z");
17
+ const result = getNextCronRunDate(schedule, lastRun);
18
+ expect(result).toBeInstanceOf(Date);
19
+ if (result) {
20
+ expect(result.getHours()).toBe(0);
21
+ expect(result.getMinutes()).toBe(0);
22
+ expect(result.getTime()).toBeGreaterThan(lastRun.getTime());
23
+ }
24
+ });
25
+ it("should return null for an invalid cron schedule", ()=>{
26
+ const schedule = "invalid cron";
27
+ const lastRun = null;
28
+ const consoleSpy = vi.spyOn(console, "error").mockImplementation(()=>{});
29
+ const result = getNextCronRunDate(schedule, lastRun);
30
+ expect(result).toBeNull();
31
+ expect(consoleSpy).toHaveBeenCalledWith(expect.stringContaining("[VitNode]"), expect.any(Error));
32
+ consoleSpy.mockRestore();
33
+ });
34
+ it("should handle cron schedules with specific times", ()=>{
35
+ const schedule = "30 14 * * 1"; // Every Monday at 14:30
36
+ const lastRun = new Date("2023-01-01T10:00:00Z"); // Sunday
37
+ const result = getNextCronRunDate(schedule, lastRun);
38
+ expect(result).toBeInstanceOf(Date);
39
+ if (result) {
40
+ expect(result.getDay()).toBe(1); // Monday
41
+ expect(result.getHours()).toBe(14);
42
+ expect(result.getMinutes()).toBe(30);
43
+ }
44
+ });
45
+ it("should return null when cron parsing throws an error", ()=>{
46
+ // This test assumes cron-parser can throw for certain invalid inputs
47
+ const schedule = "99 99 99 99 99"; // Invalid cron with out-of-range values
48
+ const lastRun = null;
49
+ const consoleSpy = vi.spyOn(console, "error").mockImplementation(()=>{});
50
+ const result = getNextCronRunDate(schedule, lastRun);
51
+ expect(result).toBeNull();
52
+ expect(consoleSpy).toHaveBeenCalled();
53
+ consoleSpy.mockRestore();
54
+ });
55
+ });
@@ -0,0 +1,2 @@
1
+ export declare const shouldCronJobRun: (schedule: string, lastRun: Date | null) => boolean;
2
+ //# sourceMappingURL=should-cron-job-run.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"should-cron-job-run.d.ts","sourceRoot":"","sources":["../../../../src/lib/api/should-cron-job-run.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,gBAAgB,GAC3B,UAAU,MAAM,EAChB,SAAS,IAAI,GAAG,IAAI,KACnB,OAoBF,CAAC"}
@@ -0,0 +1,16 @@
1
+ import cronParser from "cron-parser";
2
+ export const shouldCronJobRun = (schedule, lastRun)=>{
3
+ try {
4
+ const now = new Date();
5
+ const options = {
6
+ currentDate: lastRun ?? new Date(0)
7
+ };
8
+ const interval = cronParser.parse(schedule, options);
9
+ const nextScheduledRun = interval.next().toDate();
10
+ return nextScheduledRun <= now;
11
+ } catch (err) {
12
+ // eslint-disable-next-line no-console
13
+ console.error(`\x1b[34m[VitNode]\x1b[0m \x1b[38;5;208mError parsing schedule\x1b[0m: ${schedule}`, err);
14
+ return false;
15
+ }
16
+ };
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=should-cron-job-run.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"should-cron-job-run.test.d.ts","sourceRoot":"","sources":["../../../../src/lib/api/should-cron-job-run.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,213 @@
1
+ import { beforeEach, describe, expect, it, vi } from "vitest";
2
+ import { shouldCronJobRun } from "./should-cron-job-run.js";
3
+ describe("shouldCronJobRun", ()=>{
4
+ beforeEach(()=>{
5
+ // Reset any mocked console methods
6
+ vi.clearAllMocks();
7
+ });
8
+ describe("valid cron schedules", ()=>{
9
+ it("should return true when job has never run (lastRun is null)", ()=>{
10
+ const schedule = "0 * * * *"; // Every hour
11
+ const lastRun = null;
12
+ const result = shouldCronJobRun(schedule, lastRun);
13
+ expect(result).toBe(true);
14
+ });
15
+ it("should return true when enough time has passed since last run", ()=>{
16
+ const schedule = "0 * * * *"; // Every hour
17
+ const lastRun = new Date("2024-01-01T10:00:00Z");
18
+ // Mock current time to be 2 hours later
19
+ vi.useFakeTimers();
20
+ vi.setSystemTime(new Date("2024-01-01T12:00:00Z"));
21
+ const result = shouldCronJobRun(schedule, lastRun);
22
+ expect(result).toBe(true);
23
+ vi.useRealTimers();
24
+ });
25
+ it("should return false when not enough time has passed since last run", ()=>{
26
+ const schedule = "0 * * * *"; // Every hour
27
+ const lastRun = new Date("2024-01-01T11:30:00Z");
28
+ // Mock current time to be 15 minutes later (not enough for hourly job)
29
+ vi.useFakeTimers();
30
+ vi.setSystemTime(new Date("2024-01-01T11:45:00Z"));
31
+ const result = shouldCronJobRun(schedule, lastRun);
32
+ expect(result).toBe(false);
33
+ vi.useRealTimers();
34
+ });
35
+ it("should handle daily job correctly", ()=>{
36
+ const schedule = "0 9 * * *"; // Every day at 9 AM
37
+ const lastRun = new Date("2024-01-01T09:00:00Z");
38
+ // Mock current time to be next day at 10 AM
39
+ vi.useFakeTimers();
40
+ vi.setSystemTime(new Date("2024-01-02T10:00:00Z"));
41
+ const result = shouldCronJobRun(schedule, lastRun);
42
+ expect(result).toBe(true);
43
+ vi.useRealTimers();
44
+ });
45
+ it("should handle weekly job correctly", ()=>{
46
+ const schedule = "0 9 * * 1"; // Every Monday at 9 AM
47
+ const lastRun = new Date("2024-01-01T09:00:00Z"); // Monday
48
+ // Mock current time to be next Monday
49
+ vi.useFakeTimers();
50
+ vi.setSystemTime(new Date("2024-01-08T10:00:00Z")); // Next Monday
51
+ const result = shouldCronJobRun(schedule, lastRun);
52
+ expect(result).toBe(true);
53
+ vi.useRealTimers();
54
+ });
55
+ it("should handle monthly job correctly", ()=>{
56
+ const schedule = "0 9 1 * *"; // First day of every month at 9 AM
57
+ const lastRun = new Date("2024-01-01T09:00:00Z");
58
+ // Mock current time to be next month
59
+ vi.useFakeTimers();
60
+ vi.setSystemTime(new Date("2024-02-01T10:00:00Z"));
61
+ const result = shouldCronJobRun(schedule, lastRun);
62
+ expect(result).toBe(true);
63
+ vi.useRealTimers();
64
+ });
65
+ it("should handle every minute job correctly", ()=>{
66
+ const schedule = "* * * * *"; // Every minute
67
+ const lastRun = new Date("2024-01-01T10:00:00Z");
68
+ // Mock current time to be 1 minute later
69
+ vi.useFakeTimers();
70
+ vi.setSystemTime(new Date("2024-01-01T10:01:00Z"));
71
+ const result = shouldCronJobRun(schedule, lastRun);
72
+ expect(result).toBe(true);
73
+ vi.useRealTimers();
74
+ });
75
+ it("should handle every 5 minutes job correctly", ()=>{
76
+ const schedule = "*/5 * * * *"; // Every 5 minutes
77
+ const lastRun = new Date("2024-01-01T10:00:00Z");
78
+ // Mock current time to be 3 minutes later (not enough)
79
+ vi.useFakeTimers();
80
+ vi.setSystemTime(new Date("2024-01-01T10:03:00Z"));
81
+ const result = shouldCronJobRun(schedule, lastRun);
82
+ expect(result).toBe(false);
83
+ // Mock current time to be 5 minutes later (enough)
84
+ vi.setSystemTime(new Date("2024-01-01T10:05:00Z"));
85
+ const result2 = shouldCronJobRun(schedule, lastRun);
86
+ expect(result2).toBe(true);
87
+ vi.useRealTimers();
88
+ });
89
+ it("should handle complex cron expressions", ()=>{
90
+ const schedule = "0 9-17 * * 1-5"; // 9 AM to 5 PM on weekdays
91
+ const lastRun = new Date("2024-01-01T09:00:00Z"); // Monday 9 AM
92
+ // Mock current time to be same day at 10 AM
93
+ vi.useFakeTimers();
94
+ vi.setSystemTime(new Date("2024-01-01T10:00:00Z"));
95
+ const result = shouldCronJobRun(schedule, lastRun);
96
+ expect(result).toBe(true);
97
+ vi.useRealTimers();
98
+ });
99
+ });
100
+ describe("invalid cron schedules", ()=>{
101
+ it("should return false and log error for invalid cron schedule", ()=>{
102
+ const consoleErrorSpy = vi.spyOn(console, "error").mockImplementation(()=>{});
103
+ const schedule = "invalid cron"; // Invalid schedule
104
+ const lastRun = null;
105
+ const result = shouldCronJobRun(schedule, lastRun);
106
+ expect(result).toBe(false);
107
+ expect(consoleErrorSpy).toHaveBeenCalledWith(expect.stringContaining("[VitNode]") && expect.stringContaining("Error parsing schedule") && expect.stringContaining("invalid cron"), expect.any(Error));
108
+ consoleErrorSpy.mockRestore();
109
+ });
110
+ it("should return false for malformed cron expression", ()=>{
111
+ const consoleErrorSpy = vi.spyOn(console, "error").mockImplementation(()=>{});
112
+ const schedule = "60 * * * *"; // Invalid minute (should be 0-59)
113
+ const lastRun = null;
114
+ const result = shouldCronJobRun(schedule, lastRun);
115
+ expect(result).toBe(false);
116
+ expect(consoleErrorSpy).toHaveBeenCalled();
117
+ consoleErrorSpy.mockRestore();
118
+ });
119
+ it("should return true for empty cron schedule (parsed as valid)", ()=>{
120
+ // Note: cron-parser actually parses empty string as a valid cron expression
121
+ const schedule = ""; // Empty schedule
122
+ const lastRun = null;
123
+ const result = shouldCronJobRun(schedule, lastRun);
124
+ expect(result).toBe(true);
125
+ });
126
+ });
127
+ describe("edge cases", ()=>{
128
+ it("should handle lastRun being exactly at the next scheduled time", ()=>{
129
+ const schedule = "0 * * * *"; // Every hour
130
+ const lastRun = new Date("2024-01-01T10:00:00Z");
131
+ // Mock current time to be exactly at the next scheduled time
132
+ vi.useFakeTimers();
133
+ vi.setSystemTime(new Date("2024-01-01T11:00:00Z"));
134
+ const result = shouldCronJobRun(schedule, lastRun);
135
+ expect(result).toBe(true);
136
+ vi.useRealTimers();
137
+ });
138
+ it("should handle lastRun being in the future (clock skew)", ()=>{
139
+ const schedule = "0 * * * *"; // Every hour
140
+ const lastRun = new Date("2024-01-01T12:00:00Z"); // Future time
141
+ // Mock current time to be earlier
142
+ vi.useFakeTimers();
143
+ vi.setSystemTime(new Date("2024-01-01T11:00:00Z"));
144
+ const result = shouldCronJobRun(schedule, lastRun);
145
+ expect(result).toBe(false);
146
+ vi.useRealTimers();
147
+ });
148
+ it("should handle lastRun being epoch (new Date(0))", ()=>{
149
+ const schedule = "0 * * * *"; // Every hour
150
+ const lastRun = new Date(0); // Epoch time
151
+ // Mock current time to be much later
152
+ vi.useFakeTimers();
153
+ vi.setSystemTime(new Date("2024-01-01T10:00:00Z"));
154
+ const result = shouldCronJobRun(schedule, lastRun);
155
+ expect(result).toBe(true);
156
+ vi.useRealTimers();
157
+ });
158
+ it("should handle yearly cron job", ()=>{
159
+ const schedule = "0 0 1 1 *"; // January 1st at midnight
160
+ const lastRun = new Date("2023-01-01T00:00:00Z");
161
+ // Mock current time to be next year
162
+ vi.useFakeTimers();
163
+ vi.setSystemTime(new Date("2024-01-01T01:00:00Z"));
164
+ const result = shouldCronJobRun(schedule, lastRun);
165
+ expect(result).toBe(true);
166
+ vi.useRealTimers();
167
+ });
168
+ it("should handle specific day of month with month", ()=>{
169
+ const schedule = "0 12 15 6 *"; // June 15th at noon
170
+ const lastRun = new Date("2023-06-15T12:00:00Z");
171
+ // Mock current time to be next year same date
172
+ vi.useFakeTimers();
173
+ vi.setSystemTime(new Date("2024-06-15T13:00:00Z"));
174
+ const result = shouldCronJobRun(schedule, lastRun);
175
+ expect(result).toBe(true);
176
+ vi.useRealTimers();
177
+ });
178
+ });
179
+ describe("timezone handling", ()=>{
180
+ it("should work with different timezone dates", ()=>{
181
+ const schedule = "0 9 * * *"; // Every day at 9 AM
182
+ const lastRun = new Date("2024-01-01T09:00:00+05:00"); // 9 AM in +5 timezone
183
+ // Mock current time to be next day in UTC
184
+ vi.useFakeTimers();
185
+ vi.setSystemTime(new Date("2024-01-02T04:00:00Z")); // 9 AM in +5 timezone
186
+ const result = shouldCronJobRun(schedule, lastRun);
187
+ expect(result).toBe(true);
188
+ vi.useRealTimers();
189
+ });
190
+ });
191
+ describe("performance and boundary conditions", ()=>{
192
+ it("should handle very old lastRun dates", ()=>{
193
+ const schedule = "0 * * * *"; // Every hour
194
+ const lastRun = new Date("1970-01-01T00:00:00Z"); // Very old date
195
+ // Current time
196
+ vi.useFakeTimers();
197
+ vi.setSystemTime(new Date("2024-01-01T10:00:00Z"));
198
+ const result = shouldCronJobRun(schedule, lastRun);
199
+ expect(result).toBe(true);
200
+ vi.useRealTimers();
201
+ });
202
+ it("should handle leap year considerations", ()=>{
203
+ const schedule = "0 0 29 2 *"; // February 29th (leap day)
204
+ const lastRun = new Date("2020-02-29T00:00:00Z"); // Last leap year
205
+ // Mock current time to be next leap year
206
+ vi.useFakeTimers();
207
+ vi.setSystemTime(new Date("2024-02-29T01:00:00Z"));
208
+ const result = shouldCronJobRun(schedule, lastRun);
209
+ expect(result).toBe(true);
210
+ vi.useRealTimers();
211
+ });
212
+ });
213
+ });
@@ -1,4 +1,5 @@
1
1
  export declare const CONFIG: {
2
+ cronJobSecret: string;
2
3
  api: URL;
3
4
  web: URL;
4
5
  node_development: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../src/lib/config.ts"],"names":[],"mappings":"AAUA,eAAO,MAAM,MAAM;;;;CAGlB,CAAC"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../src/lib/config.ts"],"names":[],"mappings":"AAYA,eAAO,MAAM,MAAM;;;;;CAIlB,CAAC"}
@@ -1,12 +1,14 @@
1
1
  const ENVS = {
2
- api_url: process.env.NEXT_PUBLIC_API_URL,
3
- web_url: process.env.NEXT_PUBLIC_WEB_URL
2
+ apiUrl: process.env.NEXT_PUBLIC_API_URL,
3
+ webUrl: process.env.NEXT_PUBLIC_WEB_URL,
4
+ cronConfig: process.env.CRON_SECRET ?? "default-cron-secret-change-in-production"
4
5
  };
5
6
  const urls = {
6
- api: new URL(ENVS.api_url ?? "http://localhost:3000"),
7
- web: new URL(ENVS.web_url ?? "http://localhost:3000")
7
+ api: new URL(ENVS.apiUrl ?? "http://localhost:3000"),
8
+ web: new URL(ENVS.webUrl ?? "http://localhost:3000")
8
9
  };
9
10
  export const CONFIG = {
10
11
  node_development: process.env.NODE_ENV === "development",
11
- ...urls
12
+ ...urls,
13
+ cronJobSecret: ENVS.cronConfig
12
14
  };
@@ -0,0 +1,2 @@
1
+ export declare const CtrlOrCommandCharacter: () => "Ctrl" | "⌘";
2
+ //# sourceMappingURL=ctrl-or-command-character.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ctrl-or-command-character.d.ts","sourceRoot":"","sources":["../../../src/lib/ctrl-or-command-character.tsx"],"names":[],"mappings":"AAAA,eAAO,MAAM,sBAAsB,oBAOlC,CAAC"}
@@ -0,0 +1,5 @@
1
+ export const CtrlOrCommandCharacter = ()=>{
2
+ const isWindows = typeof window !== "undefined" && window.navigator.userAgent.includes("Windows");
3
+ const key = isWindows ? "Ctrl" : "⌘";
4
+ return key;
5
+ };
@@ -1 +1 @@
1
- {"version":3,"file":"cookie-from-string-to-object.d.ts","sourceRoot":"","sources":["../../../../src/lib/fetcher/cookie-from-string-to-object.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,wBAAwB,GACnC,KAAK,MAAM,EAAE,KACZ;IACD,CAAC,GAAG,EAAE,MAAM,GAAG,KAAK,GAAG,MAAM,GAAG,QAAQ,GAAG,OAAO,GAAG,MAAM,GAAG,SAAS,CAAC;IACxE,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,OAAO,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,KAAK,GAAG,MAAM,GAAG,QAAQ,GAAG,OAAO,GAAG,SAAS,CAAC;IAC1D,MAAM,EAAE,OAAO,CAAC;CACjB,EAcA,CAAC"}
1
+ {"version":3,"file":"cookie-from-string-to-object.d.ts","sourceRoot":"","sources":["../../../../src/lib/fetcher/cookie-from-string-to-object.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,wBAAwB,GACnC,KAAK,MAAM,EAAE,KACZ;IAED,CAAC,GAAG,EAAE,MAAM,GAAG,KAAK,GAAG,MAAM,GAAG,QAAQ,GAAG,OAAO,GAAG,MAAM,GAAG,SAAS,CAAC;IACxE,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,OAAO,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,KAAK,GAAG,MAAM,GAAG,QAAQ,GAAG,OAAO,GAAG,SAAS,CAAC;IAC1D,MAAM,EAAE,OAAO,CAAC;CACjB,EAcA,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"core.d.ts","sourceRoot":"","sources":["../../../../src/lib/fetcher/core.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,qBAAqB,EACrB,iBAAiB,EAClB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAC;AAG7C,OAAO,KAAK,EACV,aAAa,EACb,cAAc,EACd,qBAAqB,EACrB,sBAAsB,EACtB,iBAAiB,EAClB,MAAM,SAAS,CAAC;AAEjB,UAAU,kBAAkB,CAC1B,CAAC,SAAS,MAAM,EAChB,MAAM,SAAS,KAAK,EAAE,EACtB,OAAO,SAAS,qBAAqB,EAAE,EACvC,UAAU,SAAS,cAAc,CAAC,CAAC,EAAE,OAAO,CAAC,EAC7C,YAAY,SAAS,sBAAsB,CAAC,UAAU,EAAE,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,EAC3E,MAAM,SAAS,qBAAqB,CAClC,UAAU,EACV,YAAY,EACZ,CAAC,EACD,MAAM,EACN,OAAO,CACR,GAAG,qBAAqB,CAAC,UAAU,EAAE,YAAY,EAAE,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC;IAEvE,iBAAiB,CAAC,EAAE,WAAW,CAAC;IAChC,IAAI,CAAC,EAAE,aAAa,CAClB,CAAC,EACD,MAAM,EACN,OAAO,EACP,UAAU,EACV,YAAY,EACZ,MAAM,CACP,CAAC,MAAM,CAAC,CAAC;IACV,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,UAAU,CAAC;IACnB,OAAO,CAAC,EAAE,IAAI,CAAC,WAAW,EAAE,MAAM,GAAG,SAAS,CAAC,CAAC;IAChD,IAAI,EAAE,YAAY,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,cAAc,CAAC,EAAE,OAAO,CAAC;CAC1B;AAGD,wBAAsB,WAAW,CAC/B,CAAC,SAAS,MAAM,EAChB,MAAM,SAAS,KAAK,EAAE,EACtB,OAAO,SAAS,qBAAqB,EAAE,EACvC,UAAU,SAAS,cAAc,CAAC,CAAC,EAAE,OAAO,CAAC,EAC7C,YAAY,SAAS,sBAAsB,CAAC,UAAU,EAAE,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,EAC3E,MAAM,SAAS,qBAAqB,CAClC,UAAU,EACV,YAAY,EACZ,CAAC,EACD,MAAM,EACN,OAAO,CACR,GAAG,qBAAqB,CAAC,UAAU,EAAE,YAAY,EAAE,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,EAEvE,EAAE,QAAQ,EAAE,EAAE,iBAAiB,CAAC,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,EAC3D,EACE,IAAI,EACJ,MAAM,EACN,MAAM,EACN,IAAI,EACJ,OAAO,EACP,iBAAsB,EACtB,cAAsB,EACtB,UAAe,GAChB,EAAE,kBAAkB,CAAC,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,CAAC,GAC1E,OAAO,CACR,iBAAiB,CAAC,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,CAAC,CACxE,CAuEA"}
1
+ {"version":3,"file":"core.d.ts","sourceRoot":"","sources":["../../../../src/lib/fetcher/core.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,qBAAqB,EACrB,iBAAiB,EAClB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAC;AAE7C,OAAO,KAAK,EACV,aAAa,EACb,cAAc,EACd,qBAAqB,EACrB,sBAAsB,EACtB,iBAAiB,EAClB,MAAM,SAAS,CAAC;AAKjB,UAAU,kBAAkB,CAC1B,CAAC,SAAS,MAAM,EAChB,MAAM,SAAS,KAAK,EAAE,EACtB,OAAO,SAAS,qBAAqB,EAAE,EACvC,UAAU,SAAS,cAAc,CAAC,CAAC,EAAE,OAAO,CAAC,EAC7C,YAAY,SAAS,sBAAsB,CAAC,UAAU,EAAE,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,EAC3E,MAAM,SAAS,qBAAqB,CAClC,UAAU,EACV,YAAY,EACZ,CAAC,EACD,MAAM,EACN,OAAO,CACR,GAAG,qBAAqB,CAAC,UAAU,EAAE,YAAY,EAAE,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC;IAEvE,iBAAiB,CAAC,EAAE,WAAW,CAAC;IAChC,IAAI,CAAC,EAAE,aAAa,CAClB,CAAC,EACD,MAAM,EACN,OAAO,EACP,UAAU,EACV,YAAY,EACZ,MAAM,CACP,CAAC,MAAM,CAAC,CAAC;IACV,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,UAAU,CAAC;IACnB,OAAO,CAAC,EAAE,IAAI,CAAC,WAAW,EAAE,MAAM,GAAG,SAAS,CAAC,CAAC;IAChD,IAAI,EAAE,YAAY,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,cAAc,CAAC,EAAE,OAAO,CAAC;CAC1B;AAED,wBAAsB,WAAW,CAC/B,CAAC,SAAS,MAAM,EAChB,MAAM,SAAS,KAAK,EAAE,EACtB,OAAO,SAAS,qBAAqB,EAAE,EACvC,UAAU,SAAS,cAAc,CAAC,CAAC,EAAE,OAAO,CAAC,EAC7C,YAAY,SAAS,sBAAsB,CAAC,UAAU,EAAE,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,EAC3E,MAAM,SAAS,qBAAqB,CAClC,UAAU,EACV,YAAY,EACZ,CAAC,EACD,MAAM,EACN,OAAO,CACR,GAAG,qBAAqB,CAAC,UAAU,EAAE,YAAY,EAAE,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,EAEvE,EAAE,QAAQ,EAAE,EAAE,iBAAiB,CAAC,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,EAC3D,EACE,IAAI,EACJ,MAAM,EACN,MAAM,EACN,IAAI,EACJ,OAAO,EACP,iBAAsB,EACtB,cAAsB,EACtB,UAAe,GAChB,EAAE,kBAAkB,CAAC,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,CAAC,GAC1E,OAAO,CACR,iBAAiB,CAAC,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,CAAC,CACxE,CAuEA"}
@@ -1,6 +1,5 @@
1
1
  import { CONFIG } from "../config.js";
2
2
  import { buildSearchParams } from "./helpers.js";
3
- // biome-ignore lint/complexity/noExcessiveCognitiveComplexity: <it's very complex and needs to be>
4
3
  export async function coreFetcher({ pluginId }, { path, method, module, args, options, additionalHeaders = {}, withPagination = false, prefixPath = "" }) {
5
4
  let currentPath = path;
6
5
  // Replace path parameters
@@ -42,7 +41,7 @@ export async function coreFetcher({ pluginId }, { path, method, module, args, op
42
41
  }
43
42
  if (response.status >= 400) {
44
43
  const errorText = await response.text();
45
- // biome-ignore lint/suspicious/noConsole: <needed for error logging>
44
+ // eslint-disable-next-line no-console
46
45
  console.error(`\x1b[34m[VitNode - API]\x1b[0m \x1b[31m${response.status}\x1b[0m - \x1b[33m${url.toString()}\x1b[0m\n\x1b[36mError: ${errorText}\x1b[0m`);
47
46
  }
48
47
  return response;
@@ -1 +1 @@
1
- {"version":3,"file":"fetcher-client.d.ts","sourceRoot":"","sources":["../../../src/lib/fetcher-client.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,qBAAqB,EACrB,iBAAiB,EAClB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAC;AAE7C,OAAO,KAAK,EACV,aAAa,EACb,cAAc,EACd,qBAAqB,EACrB,sBAAsB,EACtB,iBAAiB,EAClB,MAAM,iBAAiB,CAAC;AAEzB,wBAAsB,aAAa,CACjC,CAAC,SAAS,MAAM,EAChB,MAAM,SAAS,KAAK,EAAE,EACtB,OAAO,SAAS,qBAAqB,EAAE,EACvC,UAAU,SAAS,cAAc,CAAC,CAAC,EAAE,OAAO,CAAC,EAC7C,YAAY,SAAS,sBAAsB,CAAC,UAAU,EAAE,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,EAC3E,MAAM,SAAS,qBAAqB,CAClC,UAAU,EACV,YAAY,EACZ,CAAC,EACD,MAAM,EACN,OAAO,CACR,GAAG,qBAAqB,CAAC,UAAU,EAAE,YAAY,EAAE,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,EAEvE,YAAY,EAAE,iBAAiB,CAAC,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,EAC3D,EACE,IAAI,EACJ,MAAM,EACN,MAAM,EACN,IAAI,EACJ,OAAO,EACP,cAAsB,EACtB,UAAe,EACf,YAAY,GACb,EAAE,aAAa,CAAC,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,CAAC,GAAG;IACvE,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,OAAO,CAAC,EAAE,IAAI,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;IACpC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,cAAc,CAAC,EAAE,OAAO,CAAC;CAC1B,GACA,OAAO,CACR,iBAAiB,CAAC,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,CAAC,CACxE,CAiBA"}
1
+ {"version":3,"file":"fetcher-client.d.ts","sourceRoot":"","sources":["../../../src/lib/fetcher-client.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,qBAAqB,EACrB,iBAAiB,EAClB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAC;AAE7C,OAAO,KAAK,EACV,aAAa,EACb,cAAc,EACd,qBAAqB,EACrB,sBAAsB,EACtB,iBAAiB,EAClB,MAAM,iBAAiB,CAAC;AAIzB,wBAAsB,aAAa,CACjC,CAAC,SAAS,MAAM,EAChB,MAAM,SAAS,KAAK,EAAE,EACtB,OAAO,SAAS,qBAAqB,EAAE,EACvC,UAAU,SAAS,cAAc,CAAC,CAAC,EAAE,OAAO,CAAC,EAC7C,YAAY,SAAS,sBAAsB,CAAC,UAAU,EAAE,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,EAC3E,MAAM,SAAS,qBAAqB,CAClC,UAAU,EACV,YAAY,EACZ,CAAC,EACD,MAAM,EACN,OAAO,CACR,GAAG,qBAAqB,CAAC,UAAU,EAAE,YAAY,EAAE,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,EAEvE,YAAY,EAAE,iBAAiB,CAAC,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,EAC3D,EACE,IAAI,EACJ,MAAM,EACN,MAAM,EACN,IAAI,EACJ,OAAO,EACP,cAAsB,EACtB,UAAe,EACf,YAAY,GACb,EAAE,aAAa,CAAC,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,CAAC,GAAG;IACvE,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,OAAO,CAAC,EAAE,IAAI,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;IACpC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,cAAc,CAAC,EAAE,OAAO,CAAC;CAC1B,GACA,OAAO,CACR,iBAAiB,CAAC,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,CAAC,CACxE,CAiBA"}
@@ -1 +1 @@
1
- {"version":3,"file":"fetcher.d.ts","sourceRoot":"","sources":["../../../src/lib/fetcher.ts"],"names":[],"mappings":"AAAA,OAAO,aAAa,CAAC;AAGrB,OAAO,KAAK,EACV,qBAAqB,EACrB,iBAAiB,EAClB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAC;AAG7C,OAAO,KAAK,EACV,aAAa,EACb,cAAc,EACd,qBAAqB,EACrB,sBAAsB,EACtB,iBAAiB,EAClB,MAAM,iBAAiB,CAAC;AAEzB,wBAAsB,OAAO,CAC3B,CAAC,SAAS,MAAM,EAChB,MAAM,SAAS,KAAK,EAAE,EACtB,OAAO,SAAS,qBAAqB,EAAE,EACvC,UAAU,SAAS,cAAc,CAAC,CAAC,EAAE,OAAO,CAAC,EAC7C,YAAY,SAAS,sBAAsB,CAAC,UAAU,EAAE,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,EAC3E,MAAM,SAAS,qBAAqB,CAClC,UAAU,EACV,YAAY,EACZ,CAAC,EACD,MAAM,EACN,OAAO,CACR,GAAG,qBAAqB,CAAC,UAAU,EAAE,YAAY,EAAE,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,EAEvE,YAAY,EAAE,iBAAiB,CAAC,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,EAC3D,EACE,IAAI,EACJ,MAAM,EACN,MAAM,EACN,IAAI,EACJ,OAAO,EACP,gBAAwB,EACxB,cAAsB,EACtB,UAAe,EACf,YAAY,GACb,EAAE,aAAa,CAAC,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,CAAC,GAAG;IACvE,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,OAAO,CAAC,EAAE,IAAI,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;IACpC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,cAAc,CAAC,EAAE,OAAO,CAAC;CAC1B,GACA,OAAO,CACR,iBAAiB,CAAC,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,CAAC,CACxE,CAsCA"}
1
+ {"version":3,"file":"fetcher.d.ts","sourceRoot":"","sources":["../../../src/lib/fetcher.ts"],"names":[],"mappings":"AAAA,OAAO,aAAa,CAAC;AAGrB,OAAO,KAAK,EACV,qBAAqB,EACrB,iBAAiB,EAClB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAC;AAE7C,OAAO,KAAK,EACV,aAAa,EACb,cAAc,EACd,qBAAqB,EACrB,sBAAsB,EACtB,iBAAiB,EAClB,MAAM,iBAAiB,CAAC;AAKzB,wBAAsB,OAAO,CAC3B,CAAC,SAAS,MAAM,EAChB,MAAM,SAAS,KAAK,EAAE,EACtB,OAAO,SAAS,qBAAqB,EAAE,EACvC,UAAU,SAAS,cAAc,CAAC,CAAC,EAAE,OAAO,CAAC,EAC7C,YAAY,SAAS,sBAAsB,CAAC,UAAU,EAAE,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,EAC3E,MAAM,SAAS,qBAAqB,CAClC,UAAU,EACV,YAAY,EACZ,CAAC,EACD,MAAM,EACN,OAAO,CACR,GAAG,qBAAqB,CAAC,UAAU,EAAE,YAAY,EAAE,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,EAEvE,YAAY,EAAE,iBAAiB,CAAC,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,EAC3D,EACE,IAAI,EACJ,MAAM,EACN,MAAM,EACN,IAAI,EACJ,OAAO,EACP,gBAAwB,EACxB,cAAsB,EACtB,UAAe,EACf,YAAY,GACb,EAAE,aAAa,CAAC,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,CAAC,GAAG;IACvE,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,OAAO,CAAC,EAAE,IAAI,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;IACpC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,cAAc,CAAC,EAAE,OAAO,CAAC;CAC1B,GACA,OAAO,CACR,iBAAiB,CAAC,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,CAAC,CACxE,CAsCA"}
@@ -1 +1 @@
1
- {"version":3,"file":"auto-form.d.ts","sourceRoot":"","sources":["../../../../src/lib/helpers/auto-form.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AACrD,OAAO,KAAK,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAE7B,KAAK,gBAAgB,GAAG,WAAW,CAAC,MAAM,CAAC,GAAG,SAAS,CAAC;AAExD,wBAAgB,WAAW,CAAC,CAAC,SAAS,CAAC,CAAC,OAAO,EAC7C,UAAU,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,UAAU,GACxC,aAAa,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CA6B3B;AAED,MAAM,WAAW,WAAW;IAC1B,CAAC,GAAG,EAAE,MAAM,GACR,WAAW,GACX;QACE,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;QAEhB,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,SAAS,CAAC,EAAE,MAAM,CAAC;QAEnB,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;QACpB,QAAQ,CAAC,EAAE,OAAO,CAAC;QACnB,IAAI,CAAC,EAAE,MAAM,CAAC;KACf,CAAC;CACP;AAGD,wBAAgB,iBAAiB,CAC/B,UAAU,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,UAAU,EACzC,cAAc,GAAE,MAAM,EAAO,GAC5B,WAAW,CA0Eb;AAED,wBAAgB,cAAc,CAC5B,GAAG,EAAE,WAAW,EAChB,IAAI,EAAE,MAAM,GACX,gBAAgB,CAkBlB"}
1
+ {"version":3,"file":"auto-form.d.ts","sourceRoot":"","sources":["../../../../src/lib/helpers/auto-form.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AACrD,OAAO,KAAK,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAE7B,KAAK,gBAAgB,GAAG,WAAW,CAAC,MAAM,CAAC,GAAG,SAAS,CAAC;AAExD,wBAAgB,WAAW,CAAC,CAAC,SAAS,CAAC,CAAC,OAAO,EAC7C,UAAU,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,UAAU,GACxC,aAAa,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CA6B3B;AAED,MAAM,WAAW,WAAW;IAC1B,CAAC,GAAG,EAAE,MAAM,GACR,WAAW,GACX;QACE,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;QAEhB,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,SAAS,CAAC,EAAE,MAAM,CAAC;QAEnB,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;QACpB,QAAQ,CAAC,EAAE,OAAO,CAAC;QACnB,IAAI,CAAC,EAAE,MAAM,CAAC;KACf,CAAC;CACP;AAED,wBAAgB,iBAAiB,CAC/B,UAAU,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,UAAU,EACzC,cAAc,GAAE,MAAM,EAAO,GAC5B,WAAW,CA0Eb;AAED,wBAAgB,cAAc,CAC5B,GAAG,EAAE,WAAW,EAChB,IAAI,EAAE,MAAM,GACX,gBAAgB,CAkBlB"}
@@ -22,7 +22,6 @@ export function getDefaults(jsonSchema) {
22
22
  }
23
23
  return defaultValues;
24
24
  }
25
- // biome-ignore lint/complexity/noExcessiveCognitiveComplexity: <it's complex and needs to be>
26
25
  export function getZodInputParams(jsonSchema, parentRequired = []) {
27
26
  // Base case: If there's no schema or properties, return an empty object.
28
27
  if (!jsonSchema?.properties) {
@@ -1,5 +1,5 @@
1
- import type { RedirectType } from "next/navigation";
2
1
  import type { QueryParams } from "next-intl/navigation";
2
+ import type { RedirectType } from "next/navigation";
3
3
  declare const Link: import("react").ForwardRefExoticComponent<Omit<{
4
4
  slot?: string | undefined | undefined;
5
5
  style?: import("react").CSSProperties | undefined;
@@ -15,7 +15,7 @@ declare const Link: import("react").ForwardRefExoticComponent<Omit<{
15
15
  scroll?: boolean | undefined;
16
16
  shallow?: boolean | undefined;
17
17
  passHref?: boolean | undefined;
18
- prefetch?: boolean | null | undefined;
18
+ prefetch?: boolean | "auto" | null | "unstable_forceStale" | undefined;
19
19
  legacyBehavior?: boolean | undefined;
20
20
  onMouseEnter?: React.MouseEventHandler<HTMLAnchorElement> | undefined;
21
21
  onTouchStart?: React.TouchEventHandler<HTMLAnchorElement> | undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"navigation.d.ts","sourceRoot":"","sources":["../../../src/lib/navigation.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AACpD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAKxD,QAAA,MACE,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;+DAEJ,WAAW,gBACX,SAAS;;;;;cAmBgkyB,CAAC;;;;;;cAAuxC,CAAC;;;;;;cAAwxC,CAAC;;;;;GAlB3n3B,WAAW;;;;;;;YACS,CAAC;AAEvB,QAAA,MAAM,QAAQ,GACZ,MACI,MAAM,GACN;IACE,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,WAAW,CAAC;CACrB,EACL,OAAO,YAAY,kBAKpB,CAAC;AAEF,OAAO,EAAE,WAAW,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,SAAS,EAAE,CAAC"}
1
+ {"version":3,"file":"navigation.d.ts","sourceRoot":"","sources":["../../../src/lib/navigation.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAKpD,QAAA,MACE,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;+DAEJ,WAAW,gBACX,SAAS;;;;;cAmBimyB,CAAC;;;;;;cAAuxC,CAAC;;;;;;cAAwxC,CAAC;;;;;GAlB5p3B,WAAW;;;;;;;YACS,CAAC;AAEvB,QAAA,MAAM,QAAQ,GACZ,MACI,MAAM,GACN;IACE,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,WAAW,CAAC;CACrB,EACL,OAAO,YAAY,kBAKpB,CAAC;AAEF,OAAO,EAAE,WAAW,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,SAAS,EAAE,CAAC"}
@@ -0,0 +1 @@
1
+ //# sourceMappingURL=bold-action.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bold-action.d.ts","sourceRoot":"","sources":["../../../../../../src/lib/tiptap/toolbar/actions/bold-action.tsx"],"names":[],"mappings":""}
@@ -1 +1 @@
1
- {"version":3,"file":"admin-layout.d.ts","sourceRoot":"","sources":["../../../../../src/views/admin/layouts/admin-layout.tsx"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAK7D,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;CAC3B;AAED,eAAO,MAAM,WAAW,GAAU,8BAG/B,gBAAgB,GAAG;IACpB,aAAa,EAAE,aAAa,CAAC;CAC9B,4DAiDA,CAAC"}
1
+ {"version":3,"file":"admin-layout.d.ts","sourceRoot":"","sources":["../../../../../src/views/admin/layouts/admin-layout.tsx"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAQ7D,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;CAC3B;AAED,eAAO,MAAM,WAAW,GAAU,8BAG/B,gBAAgB,GAAG;IACpB,aAAa,EAAE,aAAa,CAAC;CAC9B,4DAoDA,CAAC"}
@@ -1,11 +1,11 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
- import { cookies } from "next/headers";
3
2
  import { getTranslations } from "next-intl/server";
3
+ import { cookies } from "next/headers";
4
4
  import { ThemeSwitcher } from "../../../components/switchers/themes/theme-switcher.js";
5
5
  import { SidebarInset, SidebarProvider, SidebarTrigger } from "../../../components/ui/sidebar.js";
6
6
  import { getSessionAdminApi } from "../../../lib/api/get-session-admin-api.js";
7
7
  import { I18nProvider } from "../../../components/i18n-provider.js";
8
- import { LanguageSwitcher } from "../../../components/switchers/langs/language-swietcher.js";
8
+ import { LanguageSwitcher } from "../../../components/switchers/langs/language-switcher.js";
9
9
  import { SidebarAdmin } from "./sidebar/sidebar.js";
10
10
  import { UserBarAdmin } from "./user-bar/user-bar.js";
11
11
  export const AdminLayout = async ({ children, vitNodeConfig })=>{
@@ -16,14 +16,17 @@ export const AdminLayout = async ({ children, vitNodeConfig })=>{
16
16
  if (!session) return null;
17
17
  const pluginNav = vitNodeConfig.plugins.filter((plugin)=>plugin.admin?.nav).map((plugin)=>({
18
18
  id: plugin.pluginId,
19
+ // eslint-disable-next-line @typescript-eslint/ban-ts-comment
19
20
  // @ts-expect-error
20
21
  title: t(`${plugin.pluginId}.title`),
21
22
  items: (plugin.admin?.nav ?? []).map((item)=>({
22
23
  ...item,
24
+ // eslint-disable-next-line @typescript-eslint/ban-ts-comment
23
25
  // @ts-expect-error
24
26
  title: t(`${plugin.pluginId}.admin.nav.${item.id}`),
25
27
  items: item.items?.map((subItem)=>({
26
28
  ...subItem,
29
+ // eslint-disable-next-line @typescript-eslint/ban-ts-comment
27
30
  // @ts-expect-error
28
31
  title: t(`${plugin.pluginId}.admin.nav.${item.id}.${subItem.id}`)
29
32
  })) ?? []
@@ -1 +1 @@
1
- {"version":3,"file":"item.d.ts","sourceRoot":"","sources":["../../../../../../../src/views/admin/layouts/sidebar/nav/item.tsx"],"names":[],"mappings":"AAqBA,UAAU,iBAAiB;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACvB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,KAAK,EAAE,MAAM,CAAC;CACf;AAED,eAAO,MAAM,YAAY,GAAI,+CAM1B,iBAAiB,GAAG;IACrB,KAAK,CAAC,EAAE,IAAI,CAAC,iBAAiB,EAAE,MAAM,CAAC,EAAE,CAAC;CAC3C,4CAqHA,CAAC"}
1
+ {"version":3,"file":"item.d.ts","sourceRoot":"","sources":["../../../../../../../src/views/admin/layouts/sidebar/nav/item.tsx"],"names":[],"mappings":"AAqBA,UAAU,iBAAiB;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACvB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,KAAK,EAAE,MAAM,CAAC;CACf;AAED,eAAO,MAAM,YAAY,GAAI,+CAM1B,iBAAiB,GAAG;IACrB,KAAK,CAAC,EAAE,IAAI,CAAC,iBAAiB,EAAE,MAAM,CAAC,EAAE,CAAC;CAC3C,4CAsGA,CAAC"}