cabloy 5.1.117 → 5.1.119

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 (119) hide show
  1. package/.cabloy-version +1 -1
  2. package/.github/workflows/vona-test-pg.yml +2 -2
  3. package/.github/workflows/vona-test-sqlite3.yml +2 -2
  4. package/CHANGELOG.md +19 -0
  5. package/cabloy-docs/backend/metrics-guide.md +75 -0
  6. package/e2e/specs/a-commerce/commerce.spec.ts +111 -0
  7. package/observability/README.md +18 -0
  8. package/observability/collector/otel-collector.yaml +34 -0
  9. package/observability/docker-compose.metrics.yml +25 -0
  10. package/observability/grafana/provisioning/datasources/prometheus.yaml +8 -0
  11. package/observability/prometheus/prometheus.yaml +7 -0
  12. package/package.json +1 -1
  13. package/scripts/upgrade.ts +1 -0
  14. package/vona/env/.env +6 -0
  15. package/vona/packages-cli/cli/package.json +1 -1
  16. package/vona/packages-cli/cli-set-api/package.json +1 -1
  17. package/vona/packages-vona/vona/package.json +1 -1
  18. package/vona/packages-vona/vona-core/package.json +1 -1
  19. package/vona/packages-vona/vona-core/src/lib/framework/processWorker.ts +1 -1
  20. package/vona/packages-vona/vona-mock/package.json +1 -1
  21. package/vona/packages-vona/vona-mock/src/index.ts +2 -0
  22. package/vona/packages-vona/vona-mock/src/lib/testLock.ts +21 -0
  23. package/vona/pnpm-lock.yaml +167 -64
  24. package/vona/src/suite/a-commerce/modules/commerce-catalog/test/catalog.test.ts +13 -3
  25. package/vona/src/suite/a-commerce/modules/commerce-catalog/test/product.test.ts +124 -70
  26. package/vona/src/suite/a-commerce/modules/commerce-payment/src/.metadata/index.ts +221 -0
  27. package/vona/src/suite/a-commerce/modules/commerce-payment/src/bean/meta.index.ts +12 -0
  28. package/vona/src/suite/a-commerce/modules/commerce-payment/src/bean/meta.version.ts +91 -0
  29. package/vona/src/suite/a-commerce/modules/commerce-payment/src/entity/refundAttempt.tsx +37 -0
  30. package/vona/src/suite/a-commerce/modules/commerce-payment/src/entity/refundAudit.tsx +47 -0
  31. package/vona/src/suite/a-commerce/modules/commerce-payment/src/entity/refundRequest.tsx +43 -0
  32. package/vona/src/suite/a-commerce/modules/commerce-payment/src/model/refundAttempt.ts +10 -0
  33. package/vona/src/suite/a-commerce/modules/commerce-payment/src/model/refundAudit.ts +10 -0
  34. package/vona/src/suite/a-commerce/modules/commerce-payment/src/model/refundRequest.ts +10 -0
  35. package/vona/src/suite/a-commerce/modules/commerce-trade/src/.metadata/index.ts +36 -0
  36. package/vona/src/suite/a-commerce/modules/commerce-trade/src/controller/order.ts +43 -0
  37. package/vona/src/suite/a-commerce/modules/commerce-trade/src/dto/orderDetail.tsx +23 -2
  38. package/vona/src/suite/a-commerce/modules/commerce-trade/src/dto/orderSelectResItem.tsx +3 -0
  39. package/vona/src/suite/a-commerce/modules/commerce-trade/src/dto/orderSummary.tsx +23 -2
  40. package/vona/src/suite/a-commerce/modules/commerce-trade/src/dto/refundOutcomeCreate.tsx +16 -0
  41. package/vona/src/suite/a-commerce/modules/commerce-trade/src/dto/refundRequestCreate.tsx +15 -0
  42. package/vona/src/suite/a-commerce/modules/commerce-trade/src/dto/refundResult.tsx +35 -0
  43. package/vona/src/suite/a-commerce/modules/commerce-trade/src/dto/refundReview.tsx +15 -0
  44. package/vona/src/suite/a-commerce/modules/commerce-trade/src/entity/orderAudit.tsx +55 -13
  45. package/vona/src/suite/a-commerce/modules/commerce-trade/src/service/order.ts +459 -10
  46. package/vona/src/suite/a-commerce/modules/commerce-trade/test/cartOwnership.test.ts +2 -4
  47. package/vona/src/suite/a-commerce/modules/commerce-trade/test/checkoutReservation.test.ts +2 -4
  48. package/vona/src/suite/a-commerce/modules/commerce-trade/test/checkoutTransaction.test.ts +2 -4
  49. package/vona/src/suite/a-commerce/modules/commerce-trade/test/orderSnapshot.test.ts +2 -4
  50. package/vona/src/suite/a-commerce/modules/commerce-trade/test/paymentOutcome.test.ts +2 -4
  51. package/vona/src/suite/a-commerce/modules/commerce-trade/test/refundLifecycle.test.ts +337 -0
  52. package/vona/src/suite/a-commerce/modules/commerce-trade/test/reservationExpiry.test.ts +2 -3
  53. package/vona/src/suite/a-commerce/modules/commerce-trade/test/shipment.test.ts +2 -4
  54. package/vona/src/suite/a-commerce/modules/commerce-trade/test/shipmentRefundRace.test.ts +143 -0
  55. package/vona/src/suite/a-commerce/modules/commerce-trade/test/stockBalance.test.ts +2 -4
  56. package/vona/src/suite/a-commerce/modules/commerce-trade/test/stockReservation.test.ts +2 -4
  57. package/vona/src/suite/cabloy-basic/modules/basic-metrics/package.json +54 -0
  58. package/vona/src/suite/cabloy-basic/modules/basic-metrics/src/.metadata/index.ts +189 -0
  59. package/vona/src/suite/cabloy-basic/modules/basic-metrics/src/.metadata/this.ts +1 -0
  60. package/vona/src/suite/cabloy-basic/modules/basic-metrics/src/bean/ssrMenu.metrics.ts +23 -0
  61. package/vona/src/suite/cabloy-basic/modules/basic-metrics/src/controller/metrics.ts +21 -0
  62. package/vona/src/suite/cabloy-basic/modules/basic-metrics/src/dto/metricsQueue.ts +25 -0
  63. package/vona/src/suite/cabloy-basic/modules/basic-metrics/src/dto/metricsRuntime.ts +36 -0
  64. package/vona/src/suite/cabloy-basic/modules/basic-metrics/src/dto/metricsSnapshot.ts +21 -0
  65. package/vona/src/suite/cabloy-basic/modules/basic-metrics/src/index.ts +1 -0
  66. package/vona/src/suite/cabloy-basic/modules/basic-metrics/src/service/metrics.ts +11 -0
  67. package/vona/src/suite/cabloy-basic/modules/basic-metrics/tsconfig.build.json +11 -0
  68. package/vona/src/suite/cabloy-basic/modules/basic-metrics/tsconfig.json +5 -0
  69. package/vona/src/suite/cabloy-basic/package.json +1 -0
  70. package/vona/src/suite-vendor/a-vona/modules/a-core/package.json +1 -1
  71. package/vona/src/suite-vendor/a-vona/modules/a-instance/package.json +1 -1
  72. package/vona/src/suite-vendor/a-vona/modules/a-instance/src/bean/middlewareSystem.app.ts +2 -0
  73. package/vona/src/suite-vendor/a-vona/modules/a-instance/src/bean/middlewareSystem.instance.ts +2 -0
  74. package/vona/src/suite-vendor/a-vona/modules/a-metrics/package.json +62 -0
  75. package/vona/src/suite-vendor/a-vona/modules/a-metrics/src/.metadata/index.ts +178 -0
  76. package/vona/src/suite-vendor/a-vona/modules/a-metrics/src/.metadata/this.ts +1 -0
  77. package/vona/src/suite-vendor/a-vona/modules/a-metrics/src/bean/bean.metrics.ts +15 -0
  78. package/vona/src/suite-vendor/a-vona/modules/a-metrics/src/bean/middlewareSystem.health.ts +24 -0
  79. package/vona/src/suite-vendor/a-vona/modules/a-metrics/src/bean/middlewareSystem.metrics.ts +51 -0
  80. package/vona/src/suite-vendor/a-vona/modules/a-metrics/src/config/config.ts +75 -0
  81. package/vona/src/suite-vendor/a-vona/modules/a-metrics/src/index.ts +2 -0
  82. package/vona/src/suite-vendor/a-vona/modules/a-metrics/src/monkey.ts +27 -0
  83. package/vona/src/suite-vendor/a-vona/modules/a-metrics/src/service/health.ts +53 -0
  84. package/vona/src/suite-vendor/a-vona/modules/a-metrics/src/service/metrics.ts +222 -0
  85. package/vona/src/suite-vendor/a-vona/modules/a-metrics/src/service/metricsRuntime.ts +69 -0
  86. package/vona/src/suite-vendor/a-vona/modules/a-metrics/src/types/context.ts +9 -0
  87. package/vona/src/suite-vendor/a-vona/modules/a-metrics/src/types/index.ts +2 -0
  88. package/vona/src/suite-vendor/a-vona/modules/a-metrics/src/types/metrics.ts +50 -0
  89. package/vona/src/suite-vendor/a-vona/modules/a-metrics/tsconfig.build.json +11 -0
  90. package/vona/src/suite-vendor/a-vona/modules/a-metrics/tsconfig.json +7 -0
  91. package/vona/src/suite-vendor/a-vona/package.json +2 -1
  92. package/zova/pnpm-lock.yaml +104 -89
  93. package/zova/src/suite/a-commerce/modules/commerce-trade/cli/openapi.config.ts +4 -0
  94. package/zova/src/suite/a-commerce/modules/commerce-trade/src/.metadata/component/tableCellActionRefund.ts +31 -0
  95. package/zova/src/suite/a-commerce/modules/commerce-trade/src/.metadata/index.ts +35 -6
  96. package/zova/src/suite/a-commerce/modules/commerce-trade/src/api/commerceTradeOrder.ts +104 -0
  97. package/zova/src/suite/a-commerce/modules/commerce-trade/src/api/openapi/schemas.ts +16 -0
  98. package/zova/src/suite/a-commerce/modules/commerce-trade/src/api/openapi/types.ts +231 -2
  99. package/zova/src/suite/a-commerce/modules/commerce-trade/src/apiSchema/commerceTradeOrder.ts +20 -0
  100. package/zova/src/suite/a-commerce/modules/commerce-trade/src/bean/tableCell.actionRefund.tsx +40 -0
  101. package/zova/src/suite/a-commerce/modules/commerce-trade/src/component/tableCellActionRefund/controller.tsx +106 -0
  102. package/zova/src/suite/a-commerce/modules/commerce-trade/src/config/locale/en-us.ts +7 -0
  103. package/zova/src/suite/a-commerce/modules/commerce-trade/src/config/locale/zh-cn.ts +7 -0
  104. package/zova/src/suite/a-commerce/modules/commerce-trade/src/model/order.ts +45 -1
  105. package/zova/src/suite/a-commerce/modules/commerce-trade/src/model/orderMine.ts +15 -0
  106. package/zova/src/suite/a-commerce/modules/commerce-trade/src/page/order/controller.tsx +41 -0
  107. package/zova/src/suite/cabloy-basic/modules/basic-metrics/package.json +53 -0
  108. package/zova/src/suite/cabloy-basic/modules/basic-metrics/src/.metadata/index.ts +151 -0
  109. package/zova/src/suite/cabloy-basic/modules/basic-metrics/src/.metadata/page/dashboard.ts +9 -0
  110. package/zova/src/suite/cabloy-basic/modules/basic-metrics/src/.metadata/this.ts +1 -0
  111. package/zova/src/suite/cabloy-basic/modules/basic-metrics/src/api/basicMetricsMetrics.ts +41 -0
  112. package/zova/src/suite/cabloy-basic/modules/basic-metrics/src/index.ts +2 -0
  113. package/zova/src/suite/cabloy-basic/modules/basic-metrics/src/model/metrics.ts +16 -0
  114. package/zova/src/suite/cabloy-basic/modules/basic-metrics/src/page/dashboard/controller.tsx +95 -0
  115. package/zova/src/suite/cabloy-basic/modules/basic-metrics/src/routes.ts +5 -0
  116. package/zova/src/suite/cabloy-basic/modules/basic-metrics/tsconfig.build.json +13 -0
  117. package/zova/src/suite/cabloy-basic/modules/basic-metrics/tsconfig.json +5 -0
  118. package/zova/src/suite/cabloy-basic/package.json +1 -0
  119. package/vona/src/suite/a-commerce/modules/commerce-trade/test/testLock.ts +0 -11
@@ -24,7 +24,7 @@ importers:
24
24
  dependencies:
25
25
  '@babel/core':
26
26
  specifier: ^7.29.0
27
- version: 7.29.7
27
+ version: 7.29.7(supports-color@5.5.0)
28
28
  '@babel/traverse':
29
29
  specifier: ^7.29.0
30
30
  version: 7.29.7
@@ -69,7 +69,7 @@ importers:
69
69
  version: 8.0.1
70
70
  bullmq:
71
71
  specifier: ^5.74.1
72
- version: 5.79.1
72
+ version: 5.79.1(supports-color@5.5.0)
73
73
  chalk:
74
74
  specifier: ^5.6.2
75
75
  version: 5.6.2
@@ -81,7 +81,7 @@ importers:
81
81
  version: 11.3.5
82
82
  ioredis:
83
83
  specifier: ^5.10.1
84
- version: 5.11.1
84
+ version: 5.11.1(supports-color@5.5.0)
85
85
  knex:
86
86
  specifier: ^3.3.0
87
87
  version: 3.3.0(better-sqlite3@12.11.1)
@@ -211,6 +211,9 @@ importers:
211
211
  vona-module-a-meta:
212
212
  specifier: workspace:^
213
213
  version: link:src/suite-vendor/a-vona/modules/a-meta
214
+ vona-module-a-metrics:
215
+ specifier: workspace:^
216
+ version: link:src/suite-vendor/a-vona/modules/a-metrics
214
217
  vona-module-a-onion:
215
218
  specifier: workspace:^
216
219
  version: link:src/suite-vendor/a-vona/modules/a-onion
@@ -328,6 +331,9 @@ importers:
328
331
  vona-module-auth-simple:
329
332
  specifier: workspace:^
330
333
  version: link:src/suite-vendor/a-auth/modules/auth-simple
334
+ vona-module-basic-metrics:
335
+ specifier: workspace:^
336
+ version: link:src/suite/cabloy-basic/modules/basic-metrics
331
337
  vona-module-basic-siteadmin:
332
338
  specifier: workspace:^
333
339
  version: link:src/suite/cabloy-basic/modules/basic-siteadmin
@@ -540,8 +546,8 @@ importers:
540
546
  specifier: npm:@cabloy/zod@4.3.8
541
547
  version: '@cabloy/zod@4.3.8'
542
548
  zova:
543
- specifier: ^5.1.140
544
- version: 5.1.140(typescript@5.9.3)(vue@3.5.39(typescript@5.9.3))
549
+ specifier: ^5.1.141
550
+ version: 5.1.141(typescript@5.9.3)(vue@3.5.39(typescript@5.9.3))
545
551
  zova-jsx:
546
552
  specifier: ^1.1.79
547
553
  version: 1.1.79(typescript@5.9.3)
@@ -579,8 +585,8 @@ importers:
579
585
  specifier: ^5.1.33
580
586
  version: 5.1.33
581
587
  zova-module-a-ssr:
582
- specifier: ^5.1.31
583
- version: 5.1.31
588
+ specifier: ^5.1.32
589
+ version: 5.1.32
584
590
  zova-module-a-style:
585
591
  specifier: ^5.1.32
586
592
  version: 5.1.32
@@ -612,8 +618,8 @@ importers:
612
618
  specifier: npm:@cabloy/zod@4.3.8
613
619
  version: '@cabloy/zod@4.3.8'
614
620
  zova:
615
- specifier: ^5.1.140
616
- version: 5.1.140(typescript@5.9.3)(vue@3.5.39(typescript@5.9.3))
621
+ specifier: ^5.1.141
622
+ version: 5.1.141(typescript@5.9.3)(vue@3.5.39(typescript@5.9.3))
617
623
  zova-jsx:
618
624
  specifier: ^1.1.79
619
625
  version: 1.1.79(typescript@5.9.3)
@@ -651,8 +657,8 @@ importers:
651
657
  specifier: ^5.1.33
652
658
  version: 5.1.33
653
659
  zova-module-a-ssr:
654
- specifier: ^5.1.31
655
- version: 5.1.31
660
+ specifier: ^5.1.32
661
+ version: 5.1.32
656
662
  zova-module-a-style:
657
663
  specifier: ^5.1.32
658
664
  version: 5.1.32
@@ -684,8 +690,8 @@ importers:
684
690
  specifier: npm:@cabloy/zod@4.3.8
685
691
  version: '@cabloy/zod@4.3.8'
686
692
  zova:
687
- specifier: ^5.1.140
688
- version: 5.1.140(typescript@5.9.3)(vue@3.5.39(typescript@5.9.3))
693
+ specifier: ^5.1.141
694
+ version: 5.1.141(typescript@5.9.3)(vue@3.5.39(typescript@5.9.3))
689
695
  zova-jsx:
690
696
  specifier: ^1.1.79
691
697
  version: 1.1.79(typescript@5.9.3)
@@ -723,8 +729,8 @@ importers:
723
729
  specifier: ^5.1.33
724
730
  version: 5.1.33
725
731
  zova-module-a-ssr:
726
- specifier: ^5.1.31
727
- version: 5.1.31
732
+ specifier: ^5.1.32
733
+ version: 5.1.32
728
734
  zova-module-a-style:
729
735
  specifier: ^5.1.32
730
736
  version: 5.1.32
@@ -756,8 +762,8 @@ importers:
756
762
  specifier: npm:@cabloy/zod@4.3.8
757
763
  version: '@cabloy/zod@4.3.8'
758
764
  zova:
759
- specifier: ^5.1.140
760
- version: 5.1.140(typescript@5.9.3)(vue@3.5.39(typescript@5.9.3))
765
+ specifier: ^5.1.141
766
+ version: 5.1.141(typescript@5.9.3)(vue@3.5.39(typescript@5.9.3))
761
767
  zova-jsx:
762
768
  specifier: ^1.1.79
763
769
  version: 1.1.79(typescript@5.9.3)
@@ -795,8 +801,8 @@ importers:
795
801
  specifier: ^5.1.33
796
802
  version: 5.1.33
797
803
  zova-module-a-ssr:
798
- specifier: ^5.1.31
799
- version: 5.1.31
804
+ specifier: ^5.1.32
805
+ version: 5.1.32
800
806
  zova-module-a-style:
801
807
  specifier: ^5.1.32
802
808
  version: 5.1.32
@@ -1808,7 +1814,7 @@ importers:
1808
1814
  src/suite-vendor/a-test:
1809
1815
  dependencies:
1810
1816
  vona-module-test-file:
1811
- specifier: ^5.0.7
1817
+ specifier: ^5.0.8
1812
1818
  version: link:modules/test-file
1813
1819
 
1814
1820
  src/suite-vendor/a-test/modules/test-auth:
@@ -1961,6 +1967,9 @@ importers:
1961
1967
  vona-module-a-meta:
1962
1968
  specifier: workspace:^
1963
1969
  version: link:modules/a-meta
1970
+ vona-module-a-metrics:
1971
+ specifier: workspace:^
1972
+ version: link:modules/a-metrics
1964
1973
  vona-module-a-onion:
1965
1974
  specifier: workspace:^
1966
1975
  version: link:modules/a-onion
@@ -2031,7 +2040,7 @@ importers:
2031
2040
  specifier: workspace:^
2032
2041
  version: link:modules/a-swagger
2033
2042
  vona-module-a-telemetry:
2034
- specifier: ^5.0.0
2043
+ specifier: ^5.0.1
2035
2044
  version: link:modules/a-telemetry
2036
2045
  vona-module-a-upload:
2037
2046
  specifier: workspace:^
@@ -2461,6 +2470,28 @@ importers:
2461
2470
  specifier: ^6.1.3
2462
2471
  version: 6.1.3
2463
2472
 
2473
+ src/suite-vendor/a-vona/modules/a-metrics:
2474
+ dependencies:
2475
+ '@opentelemetry/api':
2476
+ specifier: ^1.9.1
2477
+ version: 1.9.1
2478
+ '@opentelemetry/exporter-metrics-otlp-proto':
2479
+ specifier: ^0.221.0
2480
+ version: 0.221.0(@opentelemetry/api@1.9.1)
2481
+ '@opentelemetry/resources':
2482
+ specifier: ^2.10.0
2483
+ version: 2.10.0(@opentelemetry/api@1.9.1)
2484
+ '@opentelemetry/sdk-metrics':
2485
+ specifier: ^2.10.0
2486
+ version: 2.10.0(@opentelemetry/api@1.9.1)
2487
+ devDependencies:
2488
+ clean-package:
2489
+ specifier: ^2.2.0
2490
+ version: 2.2.0
2491
+ rimraf:
2492
+ specifier: ^6.1.3
2493
+ version: 6.1.3
2494
+
2464
2495
  src/suite-vendor/a-vona/modules/a-onion:
2465
2496
  devDependencies:
2466
2497
  clean-package:
@@ -2601,7 +2632,7 @@ importers:
2601
2632
  dependencies:
2602
2633
  bullmq:
2603
2634
  specifier: ^5.74.1
2604
- version: 5.79.1
2635
+ version: 5.79.1(supports-color@5.5.0)
2605
2636
  devDependencies:
2606
2637
  clean-package:
2607
2638
  specifier: ^2.2.0
@@ -2623,7 +2654,7 @@ importers:
2623
2654
  dependencies:
2624
2655
  ioredis:
2625
2656
  specifier: ^5.10.1
2626
- version: 5.11.1
2657
+ version: 5.11.1(supports-color@5.5.0)
2627
2658
  devDependencies:
2628
2659
  clean-package:
2629
2660
  specifier: ^2.2.0
@@ -3069,6 +3100,9 @@ importers:
3069
3100
 
3070
3101
  src/suite/cabloy-basic:
3071
3102
  dependencies:
3103
+ vona-module-basic-metrics:
3104
+ specifier: workspace:^
3105
+ version: link:modules/basic-metrics
3072
3106
  vona-module-basic-siteadmin:
3073
3107
  specifier: workspace:^
3074
3108
  version: link:modules/basic-siteadmin
@@ -3079,6 +3113,15 @@ importers:
3079
3113
  specifier: ^5.1.25
3080
3114
  version: link:../../suite-vendor/a-cabloy
3081
3115
 
3116
+ src/suite/cabloy-basic/modules/basic-metrics:
3117
+ devDependencies:
3118
+ clean-package:
3119
+ specifier: ^2.2.0
3120
+ version: 2.2.0
3121
+ rimraf:
3122
+ specifier: ^6.1.3
3123
+ version: 6.1.3
3124
+
3082
3125
  src/suite/cabloy-basic/modules/basic-siteadmin:
3083
3126
  devDependencies:
3084
3127
  clean-package:
@@ -3523,8 +3566,8 @@ packages:
3523
3566
  '@hapi/bourne@3.0.0':
3524
3567
  resolution: {integrity: sha512-Waj1cwPXJDucOib4a3bAISsKJVb15MKi9IvmTI/7ssVEm6sywXGjVJDhl6/umt1pK1ZS7PacXU3A1PmFKHEZ2w==}
3525
3568
 
3526
- '@hono/node-server@1.19.14':
3527
- resolution: {integrity: sha512-GwtvgtXxnWsucXvbQXkRgqksiH2Qed37H9xHZocE5sA3N8O8O8/8FA3uclQXxXVzc9XBZuEOMK7+r02FmSpHtw==}
3569
+ '@hono/node-server@1.19.17':
3570
+ resolution: {integrity: sha512-dSneS5qhiauZWGDCeK4o695Xd9nUNjviSZCMQrj10eetr8Uln1ucn6bbphOM6UynAMMtNIzZNSpL9vnASJwrPQ==}
3528
3571
  engines: {node: '>=18.14.1'}
3529
3572
  peerDependencies:
3530
3573
  hono: ^4
@@ -3861,6 +3904,18 @@ packages:
3861
3904
  peerDependencies:
3862
3905
  '@opentelemetry/api': '>=1.0.0 <1.10.0'
3863
3906
 
3907
+ '@opentelemetry/exporter-metrics-otlp-http@0.221.0':
3908
+ resolution: {integrity: sha512-sRfCKbOzgy8xZQV2as0RzIZlnCmCseCKZGLfRcrpo2CBngJDr+rPtX0zkG0+oUCV5kfQPUoW3W3C96Ag3Y/Clg==}
3909
+ engines: {node: ^18.19.0 || >=20.6.0}
3910
+ peerDependencies:
3911
+ '@opentelemetry/api': ^1.3.0
3912
+
3913
+ '@opentelemetry/exporter-metrics-otlp-proto@0.221.0':
3914
+ resolution: {integrity: sha512-YMF4LveY2I3yhw61rn6nmC9FE8U24IZHPeKU1Duc5+sbwjMd8FwZAwba318ImdThCg/HuVQvhm2y6bfgNPnfYg==}
3915
+ engines: {node: ^18.19.0 || >=20.6.0}
3916
+ peerDependencies:
3917
+ '@opentelemetry/api': ^1.3.0
3918
+
3864
3919
  '@opentelemetry/exporter-trace-otlp-proto@0.221.0':
3865
3920
  resolution: {integrity: sha512-Z9i2T7vgZbWe9rSLYxXVIbeW+XyzUq4rZanW3ZyVNwVDqCsh0EJKUgBWWQ0CZfeuUA+RQPzKgJQHMuWAUnKqXw==}
3866
3921
  engines: {node: ^18.19.0 || >=20.6.0}
@@ -5839,8 +5894,8 @@ packages:
5839
5894
  resolution: {integrity: sha512-XYfuKMvj4O35f/pOXLObndIRvyQ+/+6AhODh+OKWj9S9498pHHn/IMszH+gt0fBCRWMNfk1ZSp5x3AifmnI2vg==}
5840
5895
  engines: {node: '>=6'}
5841
5896
 
5842
- express-rate-limit@8.5.2:
5843
- resolution: {integrity: sha512-5Kb34ipNX694DH48vN9irak1Qx30nb0PLYHXfJgw4YEjiC3ZEmZJhwOp+VfiCYwFzvFTdB9QkArYS5kXa2cx2A==}
5897
+ express-rate-limit@8.6.1:
5898
+ resolution: {integrity: sha512-0D493aP61w0TJ2A0wy27riRsO7FMQ7FK+KUHOKCSfPvYo0R55aiC6emCVgFUeShH0fq0ICPVzNcgoS+BsbXQCA==}
5844
5899
  engines: {node: '>= 16'}
5845
5900
  peerDependencies:
5846
5901
  express: '>= 4.11'
@@ -5874,8 +5929,8 @@ packages:
5874
5929
  fast-querystring@1.1.2:
5875
5930
  resolution: {integrity: sha512-g6KuKWmFXc0fID8WWH0jit4g0AGBoJhCkJMb1RmbsSEUNvQ+ZC8D6CUZ+GtF8nMzSPXnhiePyyqqipzNNEnHjg==}
5876
5931
 
5877
- fast-uri@3.1.3:
5878
- resolution: {integrity: sha512-i70LwGWUduXqzicKXWshooq+sWL1K3WUU5rKZNG/0i3a1OSoX3HqhH5WbWwTmqWfor4urUakGPiRQcleRZTwOg==}
5932
+ fast-uri@3.1.4:
5933
+ resolution: {integrity: sha512-8JnbkQ4juDyvYs4mgFGQqg4yCYtFDtUtmp2QIQq11ZZe5CFQ5wcqm1rqDgAh/QdMySuBnPzMUiJUNZG5N/AiQw==}
5879
5934
 
5880
5935
  fastq@1.20.1:
5881
5936
  resolution: {integrity: sha512-GGToxJ/w1x32s/D2EKND7kTil4n8OVk/9mycTc4VDza13lOvpUZTGX3mFSCtV9ksdGBVzvsyAVLM6mHFThxXxw==}
@@ -6138,8 +6193,8 @@ packages:
6138
6193
  header-case@2.0.4:
6139
6194
  resolution: {integrity: sha512-H/vuk5TEEVZwrR0lp2zed9OCo1uAILMlx0JEMgC26rzyJJ3N1v6XkwHHXJQdR2doSjcGPM6OKPYoJgf0plJ11Q==}
6140
6195
 
6141
- hono@4.12.27:
6142
- resolution: {integrity: sha512-1yrb/+w6HWQJrUCLkJ2IF5jNIPvvFkblV5RNOYl6bV+OA6p9GLcMpHFFGTosSvHvcAUibuUukRqhlYI4z32C7Q==}
6196
+ hono@4.12.32:
6197
+ resolution: {integrity: sha512-XcuyW9qE2kJn07PkecMOBd5Vq/hMy7mmGw+idz1yblbg9N17ijJODrvPkn7/dwL3Kulj8LcRJ69DLOWf91dRUg==}
6143
6198
  engines: {node: '>=16.9.0'}
6144
6199
 
6145
6200
  hookified@1.15.1:
@@ -6275,8 +6330,8 @@ packages:
6275
6330
  resolution: {integrity: sha512-ehuGcf94bQXhfagULNXrJdfnWO38v070jxSx/qE87Kjzmu2fU7ro5EFAb+OPituLqgfyuQaym5DlrNydW2sJ9A==}
6276
6331
  engines: {node: '>=12.22.0'}
6277
6332
 
6278
- ip-address@10.2.0:
6279
- resolution: {integrity: sha512-/+S6j4E9AHvW9SWMSEY9Xfy66O5PWvVEJ08O0y5JGyEKQpojb0K0GKpz/v5HJ/G0vi3D2sjGK78119oXZeE0qA==}
6333
+ ip-address@10.3.1:
6334
+ resolution: {integrity: sha512-1e9d3kb97NHJTIJDZW9rKqW2h6+dFa50Dy0fpPSMQp2ADje5gvKsXmdiK6dwY5t76TaTt5+P5N1Y/LoToIxP6g==}
6280
6335
  engines: {node: '>= 12'}
6281
6336
 
6282
6337
  ipaddr.js@1.9.1:
@@ -6455,8 +6510,8 @@ packages:
6455
6510
  resolution: {integrity: sha512-Tvq1W6NAcZeJ8op+Hq7tdZ434rqnMx4CCZ7H0ff83uEloDvVbqAwaMTZcafKGJT0VHkYzuXUiCY4hlXQg6WfoQ==}
6456
6511
  engines: {node: '>=8'}
6457
6512
 
6458
- jose@6.2.3:
6459
- resolution: {integrity: sha512-YYVDInQKFJfR/xa3ojUTl8c2KoTwiL1R5Wg9YCydwH0x0B9grbzlg5HC7mMjCtUJjbQ/YnGEZIhI5tCgfTb4Hw==}
6513
+ jose@6.2.4:
6514
+ resolution: {integrity: sha512-N8acGzVsQy6M/fjFcxtysNc4Q379TcM5dM/qKkNtsHFji88yANnXTr7BLeP75iPnFwBfQzM/jg2BZ9+HZrHCZA==}
6460
6515
 
6461
6516
  js-tokens@4.0.0:
6462
6517
  resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==}
@@ -8432,8 +8487,8 @@ packages:
8432
8487
  zova-module-a-routertabs@5.1.33:
8433
8488
  resolution: {integrity: sha512-u5YIFc7OfUsxruIG8QP4sH1+TCps2vAYUpAMNfT1XPkJLHdFGkjEc6++KMCpv4jGpNDoQ42/LefEQGg7vqnQuw==}
8434
8489
 
8435
- zova-module-a-ssr@5.1.31:
8436
- resolution: {integrity: sha512-gXCPOr2QPASNeIrM2mP4n63p/xDGvAZeOdL+DFzbcW4O79KW9lUX1FEZL7XYtLhIQQeL/9JHNL0UYq7nK2ukmw==}
8490
+ zova-module-a-ssr@5.1.32:
8491
+ resolution: {integrity: sha512-TYtjG0+1ueFW+c3mVAidvZ0yK3cMDThKkJf3Crv9npzU50im//o49nAGeZ6XpeFZs9Lyi1AU217x/UqIWimfMA==}
8437
8492
 
8438
8493
  zova-module-a-ssrhmr@5.1.22:
8439
8494
  resolution: {integrity: sha512-K9D0DqCPuABvESyuAY8tQ7RukMpMEaMol0SV08ixVyed7Zd/b+Ugh49WEC2b5Y5iZCJliW9JJekvzS9Y0DilTA==}
@@ -8456,11 +8511,11 @@ packages:
8456
8511
  zova-module-rest-resource@5.1.42:
8457
8512
  resolution: {integrity: sha512-eMWhc4428U5Hs4BHqFJoF7yaH+bK8t71scIrCnpLbQS7M80lNkoHxY9s/Kl4i8Uo3+lVWbSbuaXWtR+zVLNqpA==}
8458
8513
 
8459
- zova-suite-a-zova@5.1.139:
8460
- resolution: {integrity: sha512-LZzCJOXj6njLL91cBgyzThRo+1aOvkBag1XIq4QR6R28t2mrFEdhnvPXBIqcvPpalyZJYwwD+8H/eyE2V/biNg==}
8514
+ zova-suite-a-zova@5.1.140:
8515
+ resolution: {integrity: sha512-X3CSsgXtOWzj4PSR9KzVBgQrRgGU6KC48XXBWWuCLOfbF2FeUHz6dl5+EiDwbk9r0Mz8yCnrZR3iBTy6o41OGg==}
8461
8516
 
8462
- zova@5.1.140:
8463
- resolution: {integrity: sha512-T8x4YEvkX32lGeeP5rgw7/Y4au10gxqaIHl2nvZlD5Cn9EoLvHfEENpPov8a4cWeQtActoxSTNb3D3WYHE/zpg==}
8517
+ zova@5.1.141:
8518
+ resolution: {integrity: sha512-K549iOY3YFQ5al/nAWNAHzf2Zzn8yiU+g/590paulR3g80aY/wPViA8IhpNT7mhEqP5NiGHEiWacK2MLKrvg0A==}
8464
8519
 
8465
8520
  zwitch@1.0.5:
8466
8521
  resolution: {integrity: sha512-V50KMwwzqJV0NpZIZFwfOD5/lyny3WlSzRiXgA0G7VUnRlqttta1L6UQIHzd6EuBY/cHGfwTIck7w1yH6Q5zUw==}
@@ -8766,6 +8821,26 @@ snapshots:
8766
8821
  transitivePeerDependencies:
8767
8822
  - supports-color
8768
8823
 
8824
+ '@babel/core@7.29.7(supports-color@5.5.0)':
8825
+ dependencies:
8826
+ '@babel/code-frame': 7.29.7
8827
+ '@babel/generator': 7.29.7
8828
+ '@babel/helper-compilation-targets': 7.29.7
8829
+ '@babel/helper-module-transforms': 7.29.7(@babel/core@7.29.7(supports-color@5.5.0))
8830
+ '@babel/helpers': 7.29.7
8831
+ '@babel/parser': 7.29.7
8832
+ '@babel/template': 7.29.7
8833
+ '@babel/traverse': 7.29.7
8834
+ '@babel/types': 7.29.7
8835
+ '@jridgewell/remapping': 2.3.5
8836
+ convert-source-map: 2.0.0
8837
+ debug: 4.4.3(supports-color@5.5.0)
8838
+ gensync: 1.0.0-beta.2
8839
+ json5: 2.2.3
8840
+ semver: 6.3.1
8841
+ transitivePeerDependencies:
8842
+ - supports-color
8843
+
8769
8844
  '@babel/generator@7.29.7':
8770
8845
  dependencies:
8771
8846
  '@babel/parser': 7.29.7
@@ -8815,6 +8890,15 @@ snapshots:
8815
8890
  transitivePeerDependencies:
8816
8891
  - supports-color
8817
8892
 
8893
+ '@babel/helper-module-transforms@7.29.7(@babel/core@7.29.7(supports-color@5.5.0))':
8894
+ dependencies:
8895
+ '@babel/core': 7.29.7(supports-color@5.5.0)
8896
+ '@babel/helper-module-imports': 7.29.7
8897
+ '@babel/helper-validator-identifier': 7.29.7
8898
+ '@babel/traverse': 7.29.7
8899
+ transitivePeerDependencies:
8900
+ - supports-color
8901
+
8818
8902
  '@babel/helper-module-transforms@7.29.7(@babel/core@7.29.7)':
8819
8903
  dependencies:
8820
8904
  '@babel/core': 7.29.7
@@ -9137,9 +9221,9 @@ snapshots:
9137
9221
 
9138
9222
  '@hapi/bourne@3.0.0': {}
9139
9223
 
9140
- '@hono/node-server@1.19.14(hono@4.12.27)':
9224
+ '@hono/node-server@1.19.17(hono@4.12.32)':
9141
9225
  dependencies:
9142
- hono: 4.12.27
9226
+ hono: 4.12.32
9143
9227
 
9144
9228
  '@humanfs/core@0.19.2':
9145
9229
  dependencies:
@@ -9318,7 +9402,7 @@ snapshots:
9318
9402
 
9319
9403
  '@modelcontextprotocol/sdk@1.29.0(@cabloy/zod@4.3.8)(supports-color@5.5.0)':
9320
9404
  dependencies:
9321
- '@hono/node-server': 1.19.14(hono@4.12.27)
9405
+ '@hono/node-server': 1.19.17(hono@4.12.32)
9322
9406
  ajv: 8.20.0
9323
9407
  ajv-formats: 3.0.1(ajv@8.20.0)
9324
9408
  content-type: 1.0.5
@@ -9327,9 +9411,9 @@ snapshots:
9327
9411
  eventsource: 3.0.7
9328
9412
  eventsource-parser: 3.1.0
9329
9413
  express: 5.2.1(supports-color@5.5.0)
9330
- express-rate-limit: 8.5.2(express@5.2.1(supports-color@5.5.0))
9331
- hono: 4.12.27
9332
- jose: 6.2.3
9414
+ express-rate-limit: 8.6.1(express@5.2.1(supports-color@5.5.0))(supports-color@5.5.0)
9415
+ hono: 4.12.32
9416
+ jose: 6.2.4
9333
9417
  json-schema-typed: 8.0.2
9334
9418
  pkce-challenge: 5.0.1
9335
9419
  raw-body: 3.0.2
@@ -9428,6 +9512,22 @@ snapshots:
9428
9512
  '@opentelemetry/api': 1.9.1
9429
9513
  '@opentelemetry/semantic-conventions': 1.43.0
9430
9514
 
9515
+ '@opentelemetry/exporter-metrics-otlp-http@0.221.0(@opentelemetry/api@1.9.1)':
9516
+ dependencies:
9517
+ '@opentelemetry/api': 1.9.1
9518
+ '@opentelemetry/core': 2.10.0(@opentelemetry/api@1.9.1)
9519
+ '@opentelemetry/otlp-exporter-base': 0.221.0(@opentelemetry/api@1.9.1)
9520
+ '@opentelemetry/otlp-transformer': 0.221.0(@opentelemetry/api@1.9.1)
9521
+ '@opentelemetry/resources': 2.10.0(@opentelemetry/api@1.9.1)
9522
+ '@opentelemetry/sdk-metrics': 2.10.0(@opentelemetry/api@1.9.1)
9523
+
9524
+ '@opentelemetry/exporter-metrics-otlp-proto@0.221.0(@opentelemetry/api@1.9.1)':
9525
+ dependencies:
9526
+ '@opentelemetry/api': 1.9.1
9527
+ '@opentelemetry/exporter-metrics-otlp-http': 0.221.0(@opentelemetry/api@1.9.1)
9528
+ '@opentelemetry/otlp-exporter-base': 0.221.0(@opentelemetry/api@1.9.1)
9529
+ '@opentelemetry/otlp-transformer': 0.221.0(@opentelemetry/api@1.9.1)
9530
+
9431
9531
  '@opentelemetry/exporter-trace-otlp-proto@0.221.0(@opentelemetry/api@1.9.1)':
9432
9532
  dependencies:
9433
9533
  '@opentelemetry/api': 1.9.1
@@ -9765,7 +9865,7 @@ snapshots:
9765
9865
 
9766
9866
  '@sesamecare-oss/redlock@1.4.0(ioredis@5.11.1)':
9767
9867
  dependencies:
9768
- ioredis: 5.11.1
9868
+ ioredis: 5.11.1(supports-color@5.5.0)
9769
9869
 
9770
9870
  '@sindresorhus/merge-streams@2.3.0': {}
9771
9871
 
@@ -10473,7 +10573,7 @@ snapshots:
10473
10573
  ajv@8.20.0:
10474
10574
  dependencies:
10475
10575
  fast-deep-equal: 3.1.3
10476
- fast-uri: 3.1.3
10576
+ fast-uri: 3.1.4
10477
10577
  json-schema-traverse: 1.0.0
10478
10578
  require-from-string: 2.0.2
10479
10579
 
@@ -10671,10 +10771,10 @@ snapshots:
10671
10771
  base64-js: 1.5.1
10672
10772
  ieee754: 1.2.1
10673
10773
 
10674
- bullmq@5.79.1:
10774
+ bullmq@5.79.1(supports-color@5.5.0):
10675
10775
  dependencies:
10676
10776
  cron-parser: 4.9.0
10677
- ioredis: 5.10.1
10777
+ ioredis: 5.10.1(supports-color@5.5.0)
10678
10778
  msgpackr: 2.0.2
10679
10779
  node-abort-controller: 3.1.1
10680
10780
  semver: 7.8.1
@@ -11358,10 +11458,13 @@ snapshots:
11358
11458
 
11359
11459
  expand-template@2.0.3: {}
11360
11460
 
11361
- express-rate-limit@8.5.2(express@5.2.1(supports-color@5.5.0)):
11461
+ express-rate-limit@8.6.1(express@5.2.1(supports-color@5.5.0))(supports-color@5.5.0):
11362
11462
  dependencies:
11463
+ debug: 4.4.3(supports-color@5.5.0)
11363
11464
  express: 5.2.1(supports-color@5.5.0)
11364
- ip-address: 10.2.0
11465
+ ip-address: 10.3.1
11466
+ transitivePeerDependencies:
11467
+ - supports-color
11365
11468
 
11366
11469
  express@5.2.1(supports-color@5.5.0):
11367
11470
  dependencies:
@@ -11420,7 +11523,7 @@ snapshots:
11420
11523
  dependencies:
11421
11524
  fast-decode-uri-component: 1.0.1
11422
11525
 
11423
- fast-uri@3.1.3: {}
11526
+ fast-uri@3.1.4: {}
11424
11527
 
11425
11528
  fastq@1.20.1:
11426
11529
  dependencies:
@@ -11694,7 +11797,7 @@ snapshots:
11694
11797
  capital-case: 1.0.4
11695
11798
  tslib: 2.8.1
11696
11799
 
11697
- hono@4.12.27: {}
11800
+ hono@4.12.32: {}
11698
11801
 
11699
11802
  hookified@1.15.1: {}
11700
11803
 
@@ -11817,7 +11920,7 @@ snapshots:
11817
11920
 
11818
11921
  interpret@2.2.0: {}
11819
11922
 
11820
- ioredis@5.10.1:
11923
+ ioredis@5.10.1(supports-color@5.5.0):
11821
11924
  dependencies:
11822
11925
  '@ioredis/commands': 1.5.1
11823
11926
  cluster-key-slot: 1.1.2
@@ -11831,7 +11934,7 @@ snapshots:
11831
11934
  transitivePeerDependencies:
11832
11935
  - supports-color
11833
11936
 
11834
- ioredis@5.11.1:
11937
+ ioredis@5.11.1(supports-color@5.5.0):
11835
11938
  dependencies:
11836
11939
  '@ioredis/commands': 1.10.0
11837
11940
  cluster-key-slot: 1.1.1
@@ -11843,7 +11946,7 @@ snapshots:
11843
11946
  transitivePeerDependencies:
11844
11947
  - supports-color
11845
11948
 
11846
- ip-address@10.2.0: {}
11949
+ ip-address@10.3.1: {}
11847
11950
 
11848
11951
  ipaddr.js@1.9.1: {}
11849
11952
 
@@ -11996,7 +12099,7 @@ snapshots:
11996
12099
  binaryextensions: 2.3.0
11997
12100
  textextensions: 3.3.0
11998
12101
 
11999
- jose@6.2.3: {}
12102
+ jose@6.2.4: {}
12000
12103
 
12001
12104
  js-tokens@4.0.0: {}
12002
12105
 
@@ -14437,7 +14540,7 @@ snapshots:
14437
14540
 
14438
14541
  zova-module-a-routertabs@5.1.33: {}
14439
14542
 
14440
- zova-module-a-ssr@5.1.31:
14543
+ zova-module-a-ssr@5.1.32:
14441
14544
  dependencies:
14442
14545
  devalue: 5.8.1
14443
14546
  ms: 2.1.3
@@ -14488,7 +14591,7 @@ snapshots:
14488
14591
 
14489
14592
  zova-module-rest-resource@5.1.42: {}
14490
14593
 
14491
- zova-suite-a-zova@5.1.139(typescript@5.9.3)(vue@3.5.39(typescript@5.9.3)):
14594
+ zova-suite-a-zova@5.1.140(typescript@5.9.3)(vue@3.5.39(typescript@5.9.3)):
14492
14595
  dependencies:
14493
14596
  zova-module-a-api: 5.1.21
14494
14597
  zova-module-a-app: 5.1.25
@@ -14508,7 +14611,7 @@ snapshots:
14508
14611
  zova-module-a-router: 5.1.31
14509
14612
  zova-module-a-routerstack: 5.1.26
14510
14613
  zova-module-a-routertabs: 5.1.33
14511
- zova-module-a-ssr: 5.1.31
14614
+ zova-module-a-ssr: 5.1.32
14512
14615
  zova-module-a-ssrhmr: 5.1.22
14513
14616
  zova-module-a-ssrserver: 5.1.23
14514
14617
  zova-module-a-style: 5.1.32
@@ -14522,10 +14625,10 @@ snapshots:
14522
14625
  - typescript
14523
14626
  - vue
14524
14627
 
14525
- zova@5.1.140(typescript@5.9.3)(vue@3.5.39(typescript@5.9.3)):
14628
+ zova@5.1.141(typescript@5.9.3)(vue@3.5.39(typescript@5.9.3)):
14526
14629
  dependencies:
14527
14630
  zova-core: 5.1.79(patch_hash=ff659aa5f659be32501f56841b72f148c24acf1546f79cce551586e27fcde2ce)(typescript@5.9.3)
14528
- zova-suite-a-zova: 5.1.139(typescript@5.9.3)(vue@3.5.39(typescript@5.9.3))
14631
+ zova-suite-a-zova: 5.1.140(typescript@5.9.3)(vue@3.5.39(typescript@5.9.3))
14529
14632
  transitivePeerDependencies:
14530
14633
  - '@vue/composition-api'
14531
14634
  - debug
@@ -1,7 +1,7 @@
1
1
  import { catchError } from '@cabloy/utils';
2
2
  import assert from 'node:assert';
3
- import { describe, it } from 'node:test';
4
- import { app } from 'vona-mock';
3
+ import { after, before, describe, it } from 'node:test';
4
+ import { acquireTestLock, app } from 'vona-mock';
5
5
 
6
6
  async function createCatalog(
7
7
  prefix: string,
@@ -24,7 +24,17 @@ async function createCatalog(
24
24
  }
25
25
  }
26
26
 
27
- describe('catalog.test.ts', () => {
27
+ describe('catalog.test.ts', { concurrency: false }, () => {
28
+ let releaseTestLock: (() => void) | undefined;
29
+
30
+ before(async () => {
31
+ releaseTestLock = await acquireTestLock('a-commerce');
32
+ });
33
+
34
+ after(() => {
35
+ releaseTestLock?.();
36
+ });
37
+
28
38
  it('enforces operator access and category/product relations', async () => {
29
39
  await app.bean.executor.mockCtx(async () => {
30
40
  await app.bean.passport.signinMock();