@arcforgelabs/flow 2026.10.26 → 2026.10.27

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 (42) hide show
  1. package/README.md +5 -0
  2. package/npm-shrinkwrap.json +627 -2
  3. package/package.json +2 -1
  4. package/server/api/invoicing.js +231 -20
  5. package/server/app.js +28 -2
  6. package/server/core/automations.js +140 -0
  7. package/server/core/invoice-rules.js +224 -0
  8. package/server/core/invoices.js +4 -1
  9. package/server/core/invoicing-rules.js +255 -0
  10. package/server/core/ledger.js +45 -12
  11. package/server/core/monitoring.js +34 -0
  12. package/server/core/pipeline.js +8 -1
  13. package/server/core/sending.js +282 -0
  14. package/server/db/migrations/0010_invoicing_rules.sql +51 -0
  15. package/server/db/migrations/0011_invoice_rules.sql +21 -0
  16. package/server/db/migrations/0012_invoice_sending.sql +9 -0
  17. package/server/db/migrations/meta/0010_snapshot.json +3158 -0
  18. package/server/db/migrations/meta/0011_snapshot.json +3314 -0
  19. package/server/db/migrations/meta/0012_snapshot.json +3380 -0
  20. package/server/db/migrations/meta/_journal.json +21 -0
  21. package/server/db/schema.js +115 -0
  22. package/server/index.js +12 -4
  23. package/server/integrations/adapters.js +2 -1
  24. package/server/integrations/port.js +5 -0
  25. package/server/integrations/seazona/ledger.js +2 -0
  26. package/server/integrations/sentry/index.js +105 -0
  27. package/server/integrations/xero/client.js +5 -0
  28. package/server/integrations/xero/drafts.js +123 -16
  29. package/server/integrations/xero/index.js +11 -1
  30. package/server/integrations/xero/migrations/0005_xero_send_modes.sql +10 -0
  31. package/server/integrations/xero/migrations/meta/_journal.json +7 -0
  32. package/server/ui/app-page.js +2 -1
  33. package/server/ui/app.js +14 -1
  34. package/server/ui/automations.js +96 -0
  35. package/server/ui/flow.css +88 -0
  36. package/server/ui/invoice-rules.js +237 -0
  37. package/server/ui/invoicing-settings.js +108 -0
  38. package/server/ui/invoicing.js +166 -20
  39. package/server/ui/jobs.js +19 -0
  40. package/server/ui/logos/sentry.svg +1 -0
  41. package/server/ui/monitoring.js +53 -0
  42. package/server/ui/routes.js +2 -2
@@ -1,12 +1,12 @@
1
1
  {
2
2
  "name": "@arcforgelabs/flow",
3
- "version": "2026.10.26",
3
+ "version": "2026.10.27",
4
4
  "lockfileVersion": 3,
5
5
  "requires": true,
6
6
  "packages": {
7
7
  "": {
8
8
  "name": "@arcforgelabs/flow",
9
- "version": "2026.10.26",
9
+ "version": "2026.10.27",
10
10
  "license": "MIT",
11
11
  "dependencies": {
12
12
  "@clerk/backend": "3.23.2",
@@ -21,6 +21,7 @@
21
21
  "@fontsource-variable/playfair-display": "5.3.0",
22
22
  "@fontsource-variable/plus-jakarta-sans": "5.3.0",
23
23
  "@fontsource-variable/space-grotesk": "5.3.0",
24
+ "@sentry/node": "11.4.0",
24
25
  "drizzle-orm": "0.45.3",
25
26
  "express": "5.3.0",
26
27
  "express-rate-limit": "8.7.0",
@@ -649,6 +650,450 @@
649
650
  "url": "https://github.com/sponsors/ayuhito"
650
651
  }
651
652
  },
653
+ "node_modules/@jridgewell/sourcemap-codec": {
654
+ "version": "1.6.0",
655
+ "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.6.0.tgz",
656
+ "integrity": "sha512-T7jf+5zgsZHwNJ4lvQ7/aezbyk0nNX+zJVWpmHA7VYsEx7a7qr5Rg5IbtJFqkgze5Y2sruq1RUY8Q837Od7iFw==",
657
+ "license": "MIT"
658
+ },
659
+ "node_modules/@opentelemetry/api": {
660
+ "version": "1.9.1",
661
+ "resolved": "https://registry.npmjs.org/@opentelemetry/api/-/api-1.9.1.tgz",
662
+ "integrity": "sha512-gLyJlPHPZYdAk1JENA9LeHejZe1Ti77/pTeFm/nMXmQH/HFZlcS/O2XJB+L8fkbrNSqhdtlvjBVjxwUYanNH5Q==",
663
+ "license": "Apache-2.0",
664
+ "engines": {
665
+ "node": ">=8.0.0"
666
+ }
667
+ },
668
+ "node_modules/@oxc-parser/binding-android-arm-eabi": {
669
+ "version": "0.152.0",
670
+ "resolved": "https://registry.npmjs.org/@oxc-parser/binding-android-arm-eabi/-/binding-android-arm-eabi-0.152.0.tgz",
671
+ "integrity": "sha512-393VtirINkae4XHBTkq/yQxhOwEr4V+r0et37P2fp+sYZSdYgZTRDPo5Um8vBh0QjMZ+RmaMy4PP0qwr4cTMwA==",
672
+ "cpu": [
673
+ "arm"
674
+ ],
675
+ "license": "MIT",
676
+ "optional": true,
677
+ "os": [
678
+ "android"
679
+ ],
680
+ "engines": {
681
+ "node": "^20.19.0 || >=22.12.0"
682
+ }
683
+ },
684
+ "node_modules/@oxc-parser/binding-android-arm64": {
685
+ "version": "0.152.0",
686
+ "resolved": "https://registry.npmjs.org/@oxc-parser/binding-android-arm64/-/binding-android-arm64-0.152.0.tgz",
687
+ "integrity": "sha512-iYFcExATJNZ0rZj0o02THbD1Nc9jAW0nVgIQPee6ejbSASpbZXlIMw8jxtpzaG14JQTWwGSZ6U5dEtRJXE6V3Q==",
688
+ "cpu": [
689
+ "arm64"
690
+ ],
691
+ "license": "MIT",
692
+ "optional": true,
693
+ "os": [
694
+ "android"
695
+ ],
696
+ "engines": {
697
+ "node": "^20.19.0 || >=22.12.0"
698
+ }
699
+ },
700
+ "node_modules/@oxc-parser/binding-darwin-arm64": {
701
+ "version": "0.152.0",
702
+ "resolved": "https://registry.npmjs.org/@oxc-parser/binding-darwin-arm64/-/binding-darwin-arm64-0.152.0.tgz",
703
+ "integrity": "sha512-fnU+DfUzi5/rFy0LzmipYRz06PAUUkOS8kCJQ3Eg6oqlunC1XZXoffFqxmdL51RmcbYtUG3P8DVG1U5fckoa2A==",
704
+ "cpu": [
705
+ "arm64"
706
+ ],
707
+ "license": "MIT",
708
+ "optional": true,
709
+ "os": [
710
+ "darwin"
711
+ ],
712
+ "engines": {
713
+ "node": "^20.19.0 || >=22.12.0"
714
+ }
715
+ },
716
+ "node_modules/@oxc-parser/binding-darwin-x64": {
717
+ "version": "0.152.0",
718
+ "resolved": "https://registry.npmjs.org/@oxc-parser/binding-darwin-x64/-/binding-darwin-x64-0.152.0.tgz",
719
+ "integrity": "sha512-Y3U2okryWTs7hDld6UhjJwLNf8/do+x4g4C+1U5SiGwrTLwbO83WJYJA8+l9iFSilWBgnfpd/+U76tfeNxUHzA==",
720
+ "cpu": [
721
+ "x64"
722
+ ],
723
+ "license": "MIT",
724
+ "optional": true,
725
+ "os": [
726
+ "darwin"
727
+ ],
728
+ "engines": {
729
+ "node": "^20.19.0 || >=22.12.0"
730
+ }
731
+ },
732
+ "node_modules/@oxc-parser/binding-freebsd-x64": {
733
+ "version": "0.152.0",
734
+ "resolved": "https://registry.npmjs.org/@oxc-parser/binding-freebsd-x64/-/binding-freebsd-x64-0.152.0.tgz",
735
+ "integrity": "sha512-XkhkRrrPffEw+ZLv/d/5pEni0buxinm/E/N6fLbJCunD1DBbeCTtVP23ESV+4CWCWdSz397asks1ViGslpmWiQ==",
736
+ "cpu": [
737
+ "x64"
738
+ ],
739
+ "license": "MIT",
740
+ "optional": true,
741
+ "os": [
742
+ "freebsd"
743
+ ],
744
+ "engines": {
745
+ "node": "^20.19.0 || >=22.12.0"
746
+ }
747
+ },
748
+ "node_modules/@oxc-parser/binding-linux-arm-gnueabihf": {
749
+ "version": "0.152.0",
750
+ "resolved": "https://registry.npmjs.org/@oxc-parser/binding-linux-arm-gnueabihf/-/binding-linux-arm-gnueabihf-0.152.0.tgz",
751
+ "integrity": "sha512-MLzsRRbdfmdzo6JEhbC1yKU9ItfvM8tEf18HM32jCiNYZEz6J3bRBRl3cTkKR0vBdrk9ZVlcARXtwHccs+epDA==",
752
+ "cpu": [
753
+ "arm"
754
+ ],
755
+ "license": "MIT",
756
+ "optional": true,
757
+ "os": [
758
+ "linux"
759
+ ],
760
+ "engines": {
761
+ "node": "^20.19.0 || >=22.12.0"
762
+ }
763
+ },
764
+ "node_modules/@oxc-parser/binding-linux-arm-musleabihf": {
765
+ "version": "0.152.0",
766
+ "resolved": "https://registry.npmjs.org/@oxc-parser/binding-linux-arm-musleabihf/-/binding-linux-arm-musleabihf-0.152.0.tgz",
767
+ "integrity": "sha512-HHerTEJz7Iy10Ji6BGsk4gqG6PU0UzFuBu91jIEOX89FnrI5ECWSEr7BLpkYQhp7U0QFtMnBhNfQKI0hYZK78w==",
768
+ "cpu": [
769
+ "arm"
770
+ ],
771
+ "license": "MIT",
772
+ "optional": true,
773
+ "os": [
774
+ "linux"
775
+ ],
776
+ "engines": {
777
+ "node": "^20.19.0 || >=22.12.0"
778
+ }
779
+ },
780
+ "node_modules/@oxc-parser/binding-linux-arm64-gnu": {
781
+ "version": "0.152.0",
782
+ "resolved": "https://registry.npmjs.org/@oxc-parser/binding-linux-arm64-gnu/-/binding-linux-arm64-gnu-0.152.0.tgz",
783
+ "integrity": "sha512-9Bb8GyzZ2uSLzRDZ27usaKokr07mxiBe2dDF5b6bd2janmaJTT1gL51UfP7AU30yFiXrJvcRyFKREAgKwZYs0w==",
784
+ "cpu": [
785
+ "arm64"
786
+ ],
787
+ "license": "MIT",
788
+ "optional": true,
789
+ "os": [
790
+ "linux"
791
+ ],
792
+ "engines": {
793
+ "node": "^20.19.0 || >=22.12.0"
794
+ }
795
+ },
796
+ "node_modules/@oxc-parser/binding-linux-arm64-musl": {
797
+ "version": "0.152.0",
798
+ "resolved": "https://registry.npmjs.org/@oxc-parser/binding-linux-arm64-musl/-/binding-linux-arm64-musl-0.152.0.tgz",
799
+ "integrity": "sha512-om7iDMUroI74A/lfRRWY9/Ev3VWrVsrUZ4tyvyh8raBey/sdcfyAD7tYWc+iykAiotnmftyKTpUKFr1QnaBrAQ==",
800
+ "cpu": [
801
+ "arm64"
802
+ ],
803
+ "license": "MIT",
804
+ "optional": true,
805
+ "os": [
806
+ "linux"
807
+ ],
808
+ "engines": {
809
+ "node": "^20.19.0 || >=22.12.0"
810
+ }
811
+ },
812
+ "node_modules/@oxc-parser/binding-linux-ppc64-gnu": {
813
+ "version": "0.152.0",
814
+ "resolved": "https://registry.npmjs.org/@oxc-parser/binding-linux-ppc64-gnu/-/binding-linux-ppc64-gnu-0.152.0.tgz",
815
+ "integrity": "sha512-Lf1OL2lMTqwDMFC6jnRb30B+WYHKV0XT+bPHcFM6xHtNVwxpobiTzUIvKH6a0LWpvfwyru8Yu6zCGHqqFHH+gg==",
816
+ "cpu": [
817
+ "ppc64"
818
+ ],
819
+ "license": "MIT",
820
+ "optional": true,
821
+ "os": [
822
+ "linux"
823
+ ],
824
+ "engines": {
825
+ "node": "^20.19.0 || >=22.12.0"
826
+ }
827
+ },
828
+ "node_modules/@oxc-parser/binding-linux-riscv64-gnu": {
829
+ "version": "0.152.0",
830
+ "resolved": "https://registry.npmjs.org/@oxc-parser/binding-linux-riscv64-gnu/-/binding-linux-riscv64-gnu-0.152.0.tgz",
831
+ "integrity": "sha512-BYWSMQK+YJ9ZILStPcmmiSVq8KEG9Qdq/c4BHPC3rUEq/fEDCVjUIwdj5ZzjgZ9P9is9PKu0tcAXzq1ZXg4urQ==",
832
+ "cpu": [
833
+ "riscv64"
834
+ ],
835
+ "license": "MIT",
836
+ "optional": true,
837
+ "os": [
838
+ "linux"
839
+ ],
840
+ "engines": {
841
+ "node": "^20.19.0 || >=22.12.0"
842
+ }
843
+ },
844
+ "node_modules/@oxc-parser/binding-linux-riscv64-musl": {
845
+ "version": "0.152.0",
846
+ "resolved": "https://registry.npmjs.org/@oxc-parser/binding-linux-riscv64-musl/-/binding-linux-riscv64-musl-0.152.0.tgz",
847
+ "integrity": "sha512-d2LqHNNNqdH185sRK5dPKWZu201JrNu9/CRFuVEuT+ht7n/QaVblEMWT9MALQPrDWYvhG10P+NSKJFquDWZ09w==",
848
+ "cpu": [
849
+ "riscv64"
850
+ ],
851
+ "license": "MIT",
852
+ "optional": true,
853
+ "os": [
854
+ "linux"
855
+ ],
856
+ "engines": {
857
+ "node": "^20.19.0 || >=22.12.0"
858
+ }
859
+ },
860
+ "node_modules/@oxc-parser/binding-linux-s390x-gnu": {
861
+ "version": "0.152.0",
862
+ "resolved": "https://registry.npmjs.org/@oxc-parser/binding-linux-s390x-gnu/-/binding-linux-s390x-gnu-0.152.0.tgz",
863
+ "integrity": "sha512-8gBeHt5rA/8+pKhHl+zLggfa3L/V/L2at96p7ty6pBE7id6lFO19nFUc15u2PcjC4OYeYK465MKy1fhhbpFIGw==",
864
+ "cpu": [
865
+ "s390x"
866
+ ],
867
+ "license": "MIT",
868
+ "optional": true,
869
+ "os": [
870
+ "linux"
871
+ ],
872
+ "engines": {
873
+ "node": "^20.19.0 || >=22.12.0"
874
+ }
875
+ },
876
+ "node_modules/@oxc-parser/binding-linux-x64-gnu": {
877
+ "version": "0.152.0",
878
+ "resolved": "https://registry.npmjs.org/@oxc-parser/binding-linux-x64-gnu/-/binding-linux-x64-gnu-0.152.0.tgz",
879
+ "integrity": "sha512-ltgrSF6L+yPTVsIdaAyqKq3zTqzj/1VlNbxWZuxAe8flR3sWdyNsKvdXukoO8/ucJbLickhmieRBge+o/e8Ugw==",
880
+ "cpu": [
881
+ "x64"
882
+ ],
883
+ "license": "MIT",
884
+ "optional": true,
885
+ "os": [
886
+ "linux"
887
+ ],
888
+ "engines": {
889
+ "node": "^20.19.0 || >=22.12.0"
890
+ }
891
+ },
892
+ "node_modules/@oxc-parser/binding-linux-x64-musl": {
893
+ "version": "0.152.0",
894
+ "resolved": "https://registry.npmjs.org/@oxc-parser/binding-linux-x64-musl/-/binding-linux-x64-musl-0.152.0.tgz",
895
+ "integrity": "sha512-LcMp6BvrBnewSfdkLHoSqidhoAq4syKOTBV5TYHWd+2VnGkfD/nPRRVIzTBt/Lkbt7pfOFDGtkiTntFS0p6sQQ==",
896
+ "cpu": [
897
+ "x64"
898
+ ],
899
+ "license": "MIT",
900
+ "optional": true,
901
+ "os": [
902
+ "linux"
903
+ ],
904
+ "engines": {
905
+ "node": "^20.19.0 || >=22.12.0"
906
+ }
907
+ },
908
+ "node_modules/@oxc-parser/binding-openharmony-arm64": {
909
+ "version": "0.152.0",
910
+ "resolved": "https://registry.npmjs.org/@oxc-parser/binding-openharmony-arm64/-/binding-openharmony-arm64-0.152.0.tgz",
911
+ "integrity": "sha512-jbhoMCslVxzRCRNQ8TSHxjYdSKRvk8O6ciLVDkahJvmyHDzBqba/bMQHM6ULKj/rgHNNbSzlIiakdx8SEfkJzA==",
912
+ "cpu": [
913
+ "arm64"
914
+ ],
915
+ "license": "MIT",
916
+ "optional": true,
917
+ "os": [
918
+ "openharmony"
919
+ ],
920
+ "engines": {
921
+ "node": "^20.19.0 || >=22.12.0"
922
+ }
923
+ },
924
+ "node_modules/@oxc-parser/binding-win32-arm64-msvc": {
925
+ "version": "0.152.0",
926
+ "resolved": "https://registry.npmjs.org/@oxc-parser/binding-win32-arm64-msvc/-/binding-win32-arm64-msvc-0.152.0.tgz",
927
+ "integrity": "sha512-JZYVlhv36mr/nertnRB7vchJECOBb1Lz6lltalILsB+o9M/is+H6BEDRLQKdqA4JKs6NjJszo46+iM5sfwj6jQ==",
928
+ "cpu": [
929
+ "arm64"
930
+ ],
931
+ "license": "MIT",
932
+ "optional": true,
933
+ "os": [
934
+ "win32"
935
+ ],
936
+ "engines": {
937
+ "node": "^20.19.0 || >=22.12.0"
938
+ }
939
+ },
940
+ "node_modules/@oxc-parser/binding-win32-ia32-msvc": {
941
+ "version": "0.152.0",
942
+ "resolved": "https://registry.npmjs.org/@oxc-parser/binding-win32-ia32-msvc/-/binding-win32-ia32-msvc-0.152.0.tgz",
943
+ "integrity": "sha512-1X9oganvVsunRH0lH10UU05N+H9atpX6WsOybByUjwnfcd3h/0tYwvuv16XuHglrIUOnxV2TodbLVEwwafd64g==",
944
+ "cpu": [
945
+ "ia32"
946
+ ],
947
+ "license": "MIT",
948
+ "optional": true,
949
+ "os": [
950
+ "win32"
951
+ ],
952
+ "engines": {
953
+ "node": "^20.19.0 || >=22.12.0"
954
+ }
955
+ },
956
+ "node_modules/@oxc-parser/binding-win32-x64-msvc": {
957
+ "version": "0.152.0",
958
+ "resolved": "https://registry.npmjs.org/@oxc-parser/binding-win32-x64-msvc/-/binding-win32-x64-msvc-0.152.0.tgz",
959
+ "integrity": "sha512-sw0M80/dn9rcpu+Rqqph/C+MjvDDce6MlXmFjsNQtPEymha0eJy3ml6+foSUTqFfpDIDyHZZ4eoJ43IoMe8bJw==",
960
+ "cpu": [
961
+ "x64"
962
+ ],
963
+ "license": "MIT",
964
+ "optional": true,
965
+ "os": [
966
+ "win32"
967
+ ],
968
+ "engines": {
969
+ "node": "^20.19.0 || >=22.12.0"
970
+ }
971
+ },
972
+ "node_modules/@oxc-project/types": {
973
+ "version": "0.152.0",
974
+ "resolved": "https://registry.npmjs.org/@oxc-project/types/-/types-0.152.0.tgz",
975
+ "integrity": "sha512-oM/5rLBm2tPkg0iBgkH/FOeR3PCDpY19GTgAZjMFM8h9WI9VW7cLgzp6nwtarYKmovavIQZ+Fe/RKX/8C8O/Rw==",
976
+ "license": "MIT",
977
+ "funding": {
978
+ "url": "https://github.com/sponsors/oxc-project"
979
+ }
980
+ },
981
+ "node_modules/@sentry/bundler-plugins": {
982
+ "version": "11.4.0",
983
+ "resolved": "https://registry.npmjs.org/@sentry/bundler-plugins/-/bundler-plugins-11.4.0.tgz",
984
+ "integrity": "sha512-THgOMIaA0AMVF4TiCIbugK2jlLYCBIhRF0gclrj7Fte3RMZytkXeH8XeoaR6C6MJTyLCNkEOEccwX9Jj2xOc8g==",
985
+ "license": "MIT",
986
+ "dependencies": {
987
+ "@sentry/core": "11.4.0",
988
+ "dotenv": "^17.4.2",
989
+ "glob": "^13.0.6",
990
+ "magic-string": "~0.30.8 || ^1.0.0",
991
+ "oxc-parser": "^0.152.0",
992
+ "sentry": "^0.45.0",
993
+ "supports-color": "^8.1.1"
994
+ },
995
+ "engines": {
996
+ "node": ">=20.19.0 <22.0.0 || >=22.12.0 <23.0.0 || >=23.2.0"
997
+ },
998
+ "peerDependencies": {
999
+ "@babel/core": "^7.18.5",
1000
+ "rollup": ">=3.2.0",
1001
+ "webpack": ">=5.1.0"
1002
+ },
1003
+ "peerDependenciesMeta": {
1004
+ "@babel/core": {
1005
+ "optional": true
1006
+ },
1007
+ "rollup": {
1008
+ "optional": true
1009
+ },
1010
+ "webpack": {
1011
+ "optional": true
1012
+ }
1013
+ }
1014
+ },
1015
+ "node_modules/@sentry/conventions": {
1016
+ "version": "0.25.0",
1017
+ "resolved": "https://registry.npmjs.org/@sentry/conventions/-/conventions-0.25.0.tgz",
1018
+ "integrity": "sha512-7SouCAX3qx+AzLsxb6gbl3dKVWNhp2wFjdYQ/T90sGwqPPQUoZVA9YwsWwvx07hqcCiSqFW9mUAzyUftASnuhQ==",
1019
+ "license": "MIT",
1020
+ "engines": {
1021
+ "node": ">=14"
1022
+ }
1023
+ },
1024
+ "node_modules/@sentry/core": {
1025
+ "version": "11.4.0",
1026
+ "resolved": "https://registry.npmjs.org/@sentry/core/-/core-11.4.0.tgz",
1027
+ "integrity": "sha512-kAhK8XVJuzu1IKx9uSu04OISxTU9BcIyDVOWbY/ATUCYr5Z6L7GRBtOGOlYCbxEuPtdZCw5TrbphnBsyO9fuTA==",
1028
+ "license": "MIT",
1029
+ "dependencies": {
1030
+ "@sentry/conventions": "^0.25.0"
1031
+ },
1032
+ "engines": {
1033
+ "node": ">=20.19.0 <22.0.0 || >=22.12.0 <23.0.0 || >=23.2.0"
1034
+ }
1035
+ },
1036
+ "node_modules/@sentry/node": {
1037
+ "version": "11.4.0",
1038
+ "resolved": "https://registry.npmjs.org/@sentry/node/-/node-11.4.0.tgz",
1039
+ "integrity": "sha512-fW587LsZnsuGt1V++59xFCtZ/7jGO3GQq1F+l/Jx5DS18QApXQ99vlfS9H5bxuWixfi5/22ea9M8XjFpkkuzQg==",
1040
+ "license": "MIT",
1041
+ "dependencies": {
1042
+ "@opentelemetry/api": "^1.9.1",
1043
+ "@sentry/bundler-plugins": "11.4.0",
1044
+ "@sentry/conventions": "^0.25.0",
1045
+ "@sentry/core": "11.4.0",
1046
+ "@sentry/opentelemetry": "11.4.0",
1047
+ "@sentry/server-runtime-injection": "11.4.0",
1048
+ "@sentry/server-utils": "11.4.0"
1049
+ },
1050
+ "engines": {
1051
+ "node": ">=20.19.0 <22.0.0 || >=22.12.0 <23.0.0 || >=23.2.0"
1052
+ }
1053
+ },
1054
+ "node_modules/@sentry/opentelemetry": {
1055
+ "version": "11.4.0",
1056
+ "resolved": "https://registry.npmjs.org/@sentry/opentelemetry/-/opentelemetry-11.4.0.tgz",
1057
+ "integrity": "sha512-GGDmV+VIGU1p3KGtgR32wrRJejSfEuafbEcSUK7Ww5oxDMYJyHXRSbFjVvGMoAG1ezTl0U6WtMUoWmalsfYHZg==",
1058
+ "license": "MIT",
1059
+ "dependencies": {
1060
+ "@sentry/conventions": "^0.25.0",
1061
+ "@sentry/core": "11.4.0"
1062
+ },
1063
+ "engines": {
1064
+ "node": ">=20.19.0 <22.0.0 || >=22.12.0 <23.0.0 || >=23.2.0"
1065
+ },
1066
+ "peerDependencies": {
1067
+ "@opentelemetry/api": "^1.9.0"
1068
+ }
1069
+ },
1070
+ "node_modules/@sentry/server-runtime-injection": {
1071
+ "version": "11.4.0",
1072
+ "resolved": "https://registry.npmjs.org/@sentry/server-runtime-injection/-/server-runtime-injection-11.4.0.tgz",
1073
+ "integrity": "sha512-8IaiqIJuJySztjxdC0UXP3lHlBAr8HsI8kUMEDV7REYhgmz2+B4BmKyyvaZfeasJlAvzkvSOLZ/Xco7kPikZdQ==",
1074
+ "license": "MIT",
1075
+ "dependencies": {
1076
+ "@sentry/core": "11.4.0",
1077
+ "@sentry/server-utils": "11.4.0"
1078
+ },
1079
+ "engines": {
1080
+ "node": ">=20.19.0 <22.0.0 || >=22.12.0 <23.0.0 || >=23.2.0"
1081
+ }
1082
+ },
1083
+ "node_modules/@sentry/server-utils": {
1084
+ "version": "11.4.0",
1085
+ "resolved": "https://registry.npmjs.org/@sentry/server-utils/-/server-utils-11.4.0.tgz",
1086
+ "integrity": "sha512-GA4RvjRXyKFawD7Zi5AlgHPvm9Q8d9VeWer6g9qj4mDavi+VuNFhRmhgsv1qU1l3hlUeMYCpbKhpDOaOH/TcoQ==",
1087
+ "license": "MIT",
1088
+ "dependencies": {
1089
+ "@opentelemetry/api": "^1.9.1",
1090
+ "@sentry/conventions": "^0.25.0",
1091
+ "@sentry/core": "11.4.0"
1092
+ },
1093
+ "engines": {
1094
+ "node": ">=20.19.0 <22.0.0 || >=22.12.0 <23.0.0 || >=23.2.0"
1095
+ }
1096
+ },
652
1097
  "node_modules/@stablelib/base64": {
653
1098
  "version": "1.0.1",
654
1099
  "resolved": "https://registry.npmjs.org/@stablelib/base64/-/base64-1.0.1.tgz",
@@ -678,6 +1123,15 @@
678
1123
  "node": ">= 0.6"
679
1124
  }
680
1125
  },
1126
+ "node_modules/balanced-match": {
1127
+ "version": "4.0.4",
1128
+ "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-4.0.4.tgz",
1129
+ "integrity": "sha512-BLrgEcRTwX2o6gGxGOCNyMvGSp35YofuYzw9h1IMTRmKqttAZZVU67bdb9Pr2vUHA8+j3i2tJfjO6C6+4myGTA==",
1130
+ "license": "MIT",
1131
+ "engines": {
1132
+ "node": "18 || 20 || >=22"
1133
+ }
1134
+ },
681
1135
  "node_modules/body-parser": {
682
1136
  "version": "2.3.0",
683
1137
  "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-2.3.0.tgz",
@@ -702,6 +1156,18 @@
702
1156
  "url": "https://opencollective.com/express"
703
1157
  }
704
1158
  },
1159
+ "node_modules/brace-expansion": {
1160
+ "version": "5.0.12",
1161
+ "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-5.0.12.tgz",
1162
+ "integrity": "sha512-YovQ3rzhaLMIrDjNDMkNS01tea93qhEhG5xy8f6+R0l+dw3Ki+5sCoIoI942iuLZTHWogWktgwVDhU09iNEimQ==",
1163
+ "license": "MIT",
1164
+ "dependencies": {
1165
+ "balanced-match": "^4.0.2"
1166
+ },
1167
+ "engines": {
1168
+ "node": "20 || >=22"
1169
+ }
1170
+ },
705
1171
  "node_modules/buffer-from": {
706
1172
  "version": "1.1.2",
707
1173
  "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz",
@@ -826,6 +1292,18 @@
826
1292
  "node": ">=6"
827
1293
  }
828
1294
  },
1295
+ "node_modules/dotenv": {
1296
+ "version": "17.4.2",
1297
+ "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-17.4.2.tgz",
1298
+ "integrity": "sha512-nI4U3TottKAcAD9LLud4Cb7b2QztQMUEfHbvhTH09bqXTxnSie8WnjPALV/WMCrJZ6UV/qHJ6L03OqO3LcdYZw==",
1299
+ "license": "BSD-2-Clause",
1300
+ "engines": {
1301
+ "node": ">=12"
1302
+ },
1303
+ "funding": {
1304
+ "url": "https://dotenvx.com"
1305
+ }
1306
+ },
829
1307
  "node_modules/drizzle-kit": {
830
1308
  "version": "0.31.11",
831
1309
  "resolved": "https://registry.npmjs.org/drizzle-kit/-/drizzle-kit-0.31.11.tgz",
@@ -1268,6 +1746,23 @@
1268
1746
  "url": "https://github.com/privatenumber/get-tsconfig?sponsor=1"
1269
1747
  }
1270
1748
  },
1749
+ "node_modules/glob": {
1750
+ "version": "13.0.6",
1751
+ "resolved": "https://registry.npmjs.org/glob/-/glob-13.0.6.tgz",
1752
+ "integrity": "sha512-Wjlyrolmm8uDpm/ogGyXZXb1Z+Ca2B8NbJwqBVg0axK9GbBeoS7yGV6vjXnYdGm6X53iehEuxxbyiKp8QmN4Vw==",
1753
+ "license": "BlueOak-1.0.0",
1754
+ "dependencies": {
1755
+ "minimatch": "^10.2.2",
1756
+ "minipass": "^7.1.3",
1757
+ "path-scurry": "^2.0.2"
1758
+ },
1759
+ "engines": {
1760
+ "node": "18 || 20 || >=22"
1761
+ },
1762
+ "funding": {
1763
+ "url": "https://github.com/sponsors/isaacs"
1764
+ }
1765
+ },
1271
1766
  "node_modules/glob-to-regexp": {
1272
1767
  "version": "0.4.1",
1273
1768
  "resolved": "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz",
@@ -1286,6 +1781,15 @@
1286
1781
  "url": "https://github.com/sponsors/ljharb"
1287
1782
  }
1288
1783
  },
1784
+ "node_modules/has-flag": {
1785
+ "version": "4.0.0",
1786
+ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
1787
+ "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
1788
+ "license": "MIT",
1789
+ "engines": {
1790
+ "node": ">=8"
1791
+ }
1792
+ },
1289
1793
  "node_modules/has-symbols": {
1290
1794
  "version": "1.1.0",
1291
1795
  "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.1.0.tgz",
@@ -1382,6 +1886,24 @@
1382
1886
  "integrity": "sha512-yeJd4aNAdYZQjaon2bpD/Gb0B/omw7HQOsynXXcOiWVCacbBcPlgn8S/d1X6blFSaHao7ozqtW7NZW19xpCtIw==",
1383
1887
  "license": "MIT"
1384
1888
  },
1889
+ "node_modules/lru-cache": {
1890
+ "version": "11.5.3",
1891
+ "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-11.5.3.tgz",
1892
+ "integrity": "sha512-U4N8FgzmWxc8k1VH8Kr6lQg18U7Fjvby6wXHVRX/ZZ7IwWbRMgrRbP0Wrb5q5NVinryp4SQampHKdvtecItxUg==",
1893
+ "license": "BlueOak-1.0.0",
1894
+ "engines": {
1895
+ "node": "20 || >=22"
1896
+ }
1897
+ },
1898
+ "node_modules/magic-string": {
1899
+ "version": "1.4.3",
1900
+ "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-1.4.3.tgz",
1901
+ "integrity": "sha512-z12OxmaPGE0F4xlpGdjuAUckipLpQlTAuAmyGhNoD7ODpYUzvDfvtxUbjM/jwznyP178oju/KDdyi220wNJ0RQ==",
1902
+ "license": "MIT",
1903
+ "dependencies": {
1904
+ "@jridgewell/sourcemap-codec": "^1.6.0"
1905
+ }
1906
+ },
1385
1907
  "node_modules/math-intrinsics": {
1386
1908
  "version": "1.1.0",
1387
1909
  "resolved": "https://registry.npmjs.org/math-intrinsics/-/math-intrinsics-1.1.0.tgz",
@@ -1441,6 +1963,30 @@
1441
1963
  "url": "https://opencollective.com/express"
1442
1964
  }
1443
1965
  },
1966
+ "node_modules/minimatch": {
1967
+ "version": "10.2.6",
1968
+ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-10.2.6.tgz",
1969
+ "integrity": "sha512-vpLQEs+VLCr1nU0BXS07maYoFwlDAH0gngQuuttxIwutDFEMHq2blX+8vpgxDdK3J1PwjCJiep77OitTZ4Ll1A==",
1970
+ "license": "BlueOak-1.0.0",
1971
+ "dependencies": {
1972
+ "brace-expansion": "^5.0.8"
1973
+ },
1974
+ "engines": {
1975
+ "node": "18 || 20 || >=22"
1976
+ },
1977
+ "funding": {
1978
+ "url": "https://github.com/sponsors/isaacs"
1979
+ }
1980
+ },
1981
+ "node_modules/minipass": {
1982
+ "version": "7.1.3",
1983
+ "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.3.tgz",
1984
+ "integrity": "sha512-tEBHqDnIoM/1rXME1zgka9g6Q2lcoCkxHLuc7ODJ5BxbP5d4c2Z5cGgtXAku59200Cx7diuHTOYfSBD8n6mm8A==",
1985
+ "license": "BlueOak-1.0.0",
1986
+ "engines": {
1987
+ "node": ">=16 || 14 >=14.17"
1988
+ }
1989
+ },
1444
1990
  "node_modules/ms": {
1445
1991
  "version": "2.1.3",
1446
1992
  "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz",
@@ -1496,6 +2042,42 @@
1496
2042
  "wrappy": "1"
1497
2043
  }
1498
2044
  },
2045
+ "node_modules/oxc-parser": {
2046
+ "version": "0.152.0",
2047
+ "resolved": "https://registry.npmjs.org/oxc-parser/-/oxc-parser-0.152.0.tgz",
2048
+ "integrity": "sha512-ZztsZgaCWmPeKYMdoTT5e0oV/oxD1NeLWNR3kAtr/G707cUPYaaozRlVDHLCGnszHJRszN9mJwmPNpqgwloC0A==",
2049
+ "license": "MIT",
2050
+ "dependencies": {
2051
+ "@oxc-project/types": "^0.152.0"
2052
+ },
2053
+ "engines": {
2054
+ "node": "^20.19.0 || >=22.12.0"
2055
+ },
2056
+ "funding": {
2057
+ "url": "https://github.com/sponsors/oxc-project"
2058
+ },
2059
+ "optionalDependencies": {
2060
+ "@oxc-parser/binding-android-arm-eabi": "0.152.0",
2061
+ "@oxc-parser/binding-android-arm64": "0.152.0",
2062
+ "@oxc-parser/binding-darwin-arm64": "0.152.0",
2063
+ "@oxc-parser/binding-darwin-x64": "0.152.0",
2064
+ "@oxc-parser/binding-freebsd-x64": "0.152.0",
2065
+ "@oxc-parser/binding-linux-arm-gnueabihf": "0.152.0",
2066
+ "@oxc-parser/binding-linux-arm-musleabihf": "0.152.0",
2067
+ "@oxc-parser/binding-linux-arm64-gnu": "0.152.0",
2068
+ "@oxc-parser/binding-linux-arm64-musl": "0.152.0",
2069
+ "@oxc-parser/binding-linux-ppc64-gnu": "0.152.0",
2070
+ "@oxc-parser/binding-linux-riscv64-gnu": "0.152.0",
2071
+ "@oxc-parser/binding-linux-riscv64-musl": "0.152.0",
2072
+ "@oxc-parser/binding-linux-s390x-gnu": "0.152.0",
2073
+ "@oxc-parser/binding-linux-x64-gnu": "0.152.0",
2074
+ "@oxc-parser/binding-linux-x64-musl": "0.152.0",
2075
+ "@oxc-parser/binding-openharmony-arm64": "0.152.0",
2076
+ "@oxc-parser/binding-win32-arm64-msvc": "0.152.0",
2077
+ "@oxc-parser/binding-win32-ia32-msvc": "0.152.0",
2078
+ "@oxc-parser/binding-win32-x64-msvc": "0.152.0"
2079
+ }
2080
+ },
1499
2081
  "node_modules/parseurl": {
1500
2082
  "version": "1.3.3",
1501
2083
  "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz",
@@ -1505,6 +2087,22 @@
1505
2087
  "node": ">= 0.8"
1506
2088
  }
1507
2089
  },
2090
+ "node_modules/path-scurry": {
2091
+ "version": "2.0.2",
2092
+ "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-2.0.2.tgz",
2093
+ "integrity": "sha512-3O/iVVsJAPsOnpwWIeD+d6z/7PmqApyQePUtCndjatj/9I5LylHvt5qluFaBT3I5h3r1ejfR056c+FCv+NnNXg==",
2094
+ "license": "BlueOak-1.0.0",
2095
+ "dependencies": {
2096
+ "lru-cache": "^11.0.0",
2097
+ "minipass": "^7.1.2"
2098
+ },
2099
+ "engines": {
2100
+ "node": "18 || 20 || >=22"
2101
+ },
2102
+ "funding": {
2103
+ "url": "https://github.com/sponsors/isaacs"
2104
+ }
2105
+ },
1508
2106
  "node_modules/path-to-regexp": {
1509
2107
  "version": "8.4.2",
1510
2108
  "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-8.4.2.tgz",
@@ -1762,6 +2360,18 @@
1762
2360
  "url": "https://opencollective.com/express"
1763
2361
  }
1764
2362
  },
2363
+ "node_modules/sentry": {
2364
+ "version": "0.45.0",
2365
+ "resolved": "https://registry.npmjs.org/sentry/-/sentry-0.45.0.tgz",
2366
+ "integrity": "sha512-kgmEbLlC22lL7uneeUm9Sjz65rp5cvwYOMTxXbZCmBum4sbVre/lLT3zTV3kwXHJ9/BM8ZS0/GhZe9Cl1t6WyA==",
2367
+ "license": "FSL-1.1-Apache-2.0",
2368
+ "bin": {
2369
+ "sentry": "dist/bin.cjs"
2370
+ },
2371
+ "engines": {
2372
+ "node": ">=20.0"
2373
+ }
2374
+ },
1765
2375
  "node_modules/serve-static": {
1766
2376
  "version": "2.2.1",
1767
2377
  "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-2.2.1.tgz",
@@ -1908,6 +2518,21 @@
1908
2518
  "node": ">= 0.8"
1909
2519
  }
1910
2520
  },
2521
+ "node_modules/supports-color": {
2522
+ "version": "8.1.1",
2523
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz",
2524
+ "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==",
2525
+ "license": "MIT",
2526
+ "dependencies": {
2527
+ "has-flag": "^4.0.0"
2528
+ },
2529
+ "engines": {
2530
+ "node": ">=10"
2531
+ },
2532
+ "funding": {
2533
+ "url": "https://github.com/chalk/supports-color?sponsor=1"
2534
+ }
2535
+ },
1911
2536
  "node_modules/toidentifier": {
1912
2537
  "version": "1.0.1",
1913
2538
  "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz",