cabloy 5.1.141 → 5.1.143

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 (94) hide show
  1. package/.cabloy-version +1 -1
  2. package/.github/workflows/playwright-e2e.yml +2 -2
  3. package/CHANGELOG.md +27 -0
  4. package/cabloy-docs/frontend/form-guide.md +47 -0
  5. package/cabloy-docs/frontend/markdown-guide.md +50 -17
  6. package/cabloy-docs/frontend/route-alias-guide.md +20 -0
  7. package/cabloy-docs/frontend/scripts.md +9 -11
  8. package/cabloy-docs/frontend/zova-form-under-the-hood.md +25 -0
  9. package/cabloy-docs/fullstack/parallel-worktree-environment.md +1 -1
  10. package/cabloy-docs/fullstack/quickstart.md +5 -4
  11. package/cabloy-docs/reference/repo-scripts.md +29 -42
  12. package/e2e/config/playwright.config.ts +34 -0
  13. package/e2e/scripts/e2e.ts +2 -27
  14. package/e2e/scripts/runE2e.ts +62 -0
  15. package/e2e/scripts/runE2eArgs.test.ts +75 -0
  16. package/e2e/scripts/runE2eArgs.ts +158 -0
  17. package/e2e/specs/{a-commerce/commerce.spec.ts → a-commerce.spec.ts} +361 -30
  18. package/e2e/specs/{cabloy-basic/account.spec.ts → account.spec.ts} +1 -2
  19. package/oxlint.config.ts +3 -0
  20. package/package.json +3 -9
  21. package/scripts/upgrade.ts +63 -68
  22. package/vona/packages-utils/lint/package.json +1 -1
  23. package/vona/packages-utils/lint/src/oxc/lint.ts +1 -1
  24. package/vona/packages-utils/lint/src/oxc/lintVue.ts +1 -1
  25. package/vona/pnpm-lock.yaml +209 -65
  26. package/vona/pnpm-workspace.yaml +1 -1
  27. package/vona/src/suite/a-commerce/modules/commerce-trade/src/dto/refundRecoveryView.tsx +7 -2
  28. package/vona/src/suite/a-commerce/modules/commerce-trade/src/service/order.ts +31 -15
  29. package/vona/src/suite/a-home/modules/home-user/package.json +1 -0
  30. package/vona/src/suite/a-home/modules/home-user/src/service/account.ts +15 -2
  31. package/vona/src/suite/a-home/modules/home-user/test/accountActivation.test.ts +34 -4
  32. package/vona/src/suite-vendor/a-cabloy/modules/a-markdown/package.json +2 -1
  33. package/vona/src/suite-vendor/a-cabloy/modules/a-markdown/src/.metadata/index.ts +26 -0
  34. package/vona/src/suite-vendor/a-cabloy/modules/a-markdown/src/bean/imageScene.markdown.ts +13 -0
  35. package/vona/src/suite-vendor/a-cabloy/package.json +2 -2
  36. package/vona/src/suite-vendor/a-pay/modules/a-pay/package.json +1 -1
  37. package/vona/src/suite-vendor/a-pay/modules/a-pay/src/service/providerOperation.ts +23 -0
  38. package/vona/src/suite-vendor/a-pay/modules/a-pay/src/service/refundOperation.ts +7 -0
  39. package/vona/src/suite-vendor/a-pay/modules/pay-mock/package.json +1 -1
  40. package/vona/src/suite-vendor/a-pay/modules/pay-paypal/package.json +1 -1
  41. package/vona/src/suite-vendor/a-pay/modules/pay-stripe/package.json +1 -1
  42. package/vona/src/suite-vendor/a-pay/package.json +5 -5
  43. package/zova/packages-utils/zova-jsx/package.json +2 -2
  44. package/zova/packages-zova/zova/package.json +3 -3
  45. package/zova/packages-zova/zova-core/package.json +1 -1
  46. package/zova/packages-zova/zova-core/src/bean/resource/locale/type.ts +1 -0
  47. package/zova/pnpm-lock.yaml +56 -11
  48. package/zova/src/front/config/config/config.cabloyBasicWeb.ts +3 -1
  49. package/zova/src/front/config/config/config.cabloyCommerce.ts +4 -2
  50. package/zova/src/suite/a-commerce/modules/commerce-member/src/page/address/controller.tsx +64 -63
  51. package/zova/src/suite/a-commerce/modules/commerce-trade/src/api/openapi/types.ts +6 -1
  52. package/zova/src/suite/a-commerce/modules/commerce-trade/src/component/tableCellActionRefund/controller.tsx +413 -134
  53. package/zova/src/suite/a-commerce/modules/commerce-trade/src/config/locale/en-us.ts +76 -0
  54. package/zova/src/suite/a-commerce/modules/commerce-trade/src/config/locale/zh-cn.ts +67 -0
  55. package/zova/src/suite/a-commerce/modules/commerce-trade/src/model/order.ts +1 -0
  56. package/zova/src/suite/a-commerce/modules/commerce-trade/src/page/cart/controller.tsx +1 -1
  57. package/zova/src/suite/a-commerce/modules/commerce-trade/src/page/checkout/controller.tsx +7 -7
  58. package/zova/src/suite/a-commerce/modules/commerce-trade/src/page/order/controller.tsx +46 -9
  59. package/zova/src/suite/a-commerce/modules/commerce-trade/src/page/payment/controller.tsx +50 -30
  60. package/zova/src/suite/cabloy-basic/modules/basic-captcha/src/component/formFieldCaptcha/controller.tsx +6 -2
  61. package/zova/src/suite/cabloy-basic/modules/basic-image/src/component/formFieldImage/controller.tsx +9 -15
  62. package/zova/src/suite/cabloy-basic/modules/basic-markdown/package.json +10 -2
  63. package/zova/src/suite/cabloy-basic/modules/basic-markdown/src/.metadata/index.ts +11 -2
  64. package/zova/src/suite/cabloy-basic/modules/basic-markdown/src/.metadata/locales.ts +7 -0
  65. package/zova/src/suite/cabloy-basic/modules/basic-markdown/src/component/formFieldMarkdown/controller.tsx +723 -5
  66. package/zova/src/suite/cabloy-basic/modules/basic-markdown/src/component/formFieldMarkdown/render.tsx +461 -2
  67. package/zova/src/suite/cabloy-basic/modules/basic-markdown/src/config/locale/en-us.ts +59 -0
  68. package/zova/src/suite/cabloy-basic/modules/basic-markdown/src/config/locale/zh-cn.ts +59 -0
  69. package/zova/src/suite/cabloy-basic/modules/basic-markdown/src/index.ts +1 -0
  70. package/zova/src/suite/cabloy-basic/modules/basic-markdown/src/lib/codeBlockLanguages.ts +42 -0
  71. package/zova/src/suite/cabloy-basic/modules/basic-markdown/src/lib/richTextContentStyle.ts +20 -0
  72. package/zova/src/suite/cabloy-basic/modules/basic-markdown/test/lib/codeBlockLanguages.test.ts +25 -0
  73. package/zova/src/suite-vendor/a-cabloy/modules/rest-resource/package.json +1 -1
  74. package/zova/src/suite-vendor/a-cabloy/modules/rest-resource/src/model/resource.ts +1 -0
  75. package/zova/src/suite-vendor/a-cabloy/package.json +2 -2
  76. package/zova/src/suite-vendor/a-pay/modules/a-pay/package.json +1 -1
  77. package/zova/src/suite-vendor/a-pay/modules/a-pay/src/component/paymentNextAction/controller.tsx +26 -12
  78. package/zova/src/suite-vendor/a-pay/modules/pay-mock/cli/openapi.config.ts +1 -1
  79. package/zova/src/suite-vendor/a-pay/modules/pay-mock/package.json +1 -1
  80. package/zova/src/suite-vendor/a-pay/modules/pay-mock/src/api/payMockMockPayment.ts +26 -0
  81. package/zova/src/suite-vendor/a-pay/modules/pay-mock/src/apiSchema/payMockMockPayment.ts +8 -1
  82. package/zova/src/suite-vendor/a-pay/modules/pay-mock/src/model/payMockPayment.ts +13 -1
  83. package/zova/src/suite-vendor/a-pay/package.json +3 -3
  84. package/zova/src/suite-vendor/a-zova/modules/a-form/package.json +1 -1
  85. package/zova/src/suite-vendor/a-zova/modules/a-form/src/component/formField/controller.tsx +2 -0
  86. package/zova/src/suite-vendor/a-zova/modules/a-form/src/types/formField.ts +7 -6
  87. package/zova/src/suite-vendor/a-zova/modules/a-zova/package.json +2 -2
  88. package/zova/src/suite-vendor/a-zova/package.json +3 -3
  89. package/e2e/config/playwright.basic.config.ts +0 -3
  90. package/e2e/config/playwright.commerce.config.ts +0 -3
  91. package/e2e/config/playwright.shared.config.ts +0 -38
  92. package/e2e/scripts/testE2eClean.ts +0 -56
  93. /package/e2e/specs/{cabloy-basic/basic.spec.ts → cabloy-basic.spec.ts} +0 -0
  94. /package/vona/patches/{zova-core@5.1.86.patch → zova-core@5.1.87.patch} +0 -0
@@ -16,7 +16,7 @@ overrides:
16
16
  zod: npm:@cabloy/zod@4.3.8
17
17
 
18
18
  patchedDependencies:
19
- zova-core@5.1.86: 144450bd7a567a6067e5857c0cf4c780981b7e90bc48745c09e1696a9b6f1b97
19
+ zova-core@5.1.87: 144450bd7a567a6067e5857c0cf4c780981b7e90bc48745c09e1696a9b6f1b97
20
20
 
21
21
  importers:
22
22
 
@@ -564,11 +564,11 @@ importers:
564
564
  specifier: npm:@cabloy/zod@4.3.8
565
565
  version: '@cabloy/zod@4.3.8'
566
566
  zova:
567
- specifier: ^5.1.150
568
- version: 5.1.150(typescript@5.9.3)(vue@3.5.39(typescript@5.9.3))
567
+ specifier: ^5.1.152
568
+ version: 5.1.152(typescript@5.9.3)(vue@3.5.39(typescript@5.9.3))
569
569
  zova-jsx:
570
- specifier: ^1.1.86
571
- version: 1.1.86(typescript@5.9.3)
570
+ specifier: ^1.1.87
571
+ version: 1.1.87(typescript@5.9.3)
572
572
  zova-module-a-api:
573
573
  specifier: ^5.1.22
574
574
  version: 5.1.22
@@ -582,8 +582,8 @@ importers:
582
582
  specifier: ^5.1.34
583
583
  version: 5.1.34
584
584
  zova-module-a-form:
585
- specifier: ^5.1.47
586
- version: 5.1.47(vue@3.5.39(typescript@5.9.3))
585
+ specifier: ^5.1.48
586
+ version: 5.1.48(vue@3.5.39(typescript@5.9.3))
587
587
  zova-module-a-icon:
588
588
  specifier: ^5.1.27
589
589
  version: 5.1.27
@@ -597,8 +597,8 @@ importers:
597
597
  specifier: ^5.1.50
598
598
  version: 5.1.50
599
599
  zova-module-a-pay:
600
- specifier: ^5.0.5
601
- version: 5.0.5
600
+ specifier: ^5.0.7
601
+ version: 5.0.7
602
602
  zova-module-a-router:
603
603
  specifier: ^5.1.34
604
604
  version: 5.1.34
@@ -615,11 +615,11 @@ importers:
615
615
  specifier: ^5.1.38
616
616
  version: 5.1.38(vue@3.5.39(typescript@5.9.3))
617
617
  zova-module-pay-mock:
618
- specifier: ^5.0.3
619
- version: 5.0.3
618
+ specifier: ^5.0.5
619
+ version: 5.0.5
620
620
  zova-module-rest-resource:
621
- specifier: ^5.1.45
622
- version: 5.1.45
621
+ specifier: ^5.1.46
622
+ version: 5.1.46
623
623
 
624
624
  .zova-rest/cabloy-basic-web:
625
625
  dependencies:
@@ -642,11 +642,11 @@ importers:
642
642
  specifier: npm:@cabloy/zod@4.3.8
643
643
  version: '@cabloy/zod@4.3.8'
644
644
  zova:
645
- specifier: ^5.1.150
646
- version: 5.1.150(typescript@5.9.3)(vue@3.5.39(typescript@5.9.3))
645
+ specifier: ^5.1.152
646
+ version: 5.1.152(typescript@5.9.3)(vue@3.5.39(typescript@5.9.3))
647
647
  zova-jsx:
648
- specifier: ^1.1.86
649
- version: 1.1.86(typescript@5.9.3)
648
+ specifier: ^1.1.87
649
+ version: 1.1.87(typescript@5.9.3)
650
650
  zova-module-a-api:
651
651
  specifier: ^5.1.22
652
652
  version: 5.1.22
@@ -660,8 +660,8 @@ importers:
660
660
  specifier: ^5.1.34
661
661
  version: 5.1.34
662
662
  zova-module-a-form:
663
- specifier: ^5.1.47
664
- version: 5.1.47(vue@3.5.39(typescript@5.9.3))
663
+ specifier: ^5.1.48
664
+ version: 5.1.48(vue@3.5.39(typescript@5.9.3))
665
665
  zova-module-a-icon:
666
666
  specifier: ^5.1.27
667
667
  version: 5.1.27
@@ -675,8 +675,8 @@ importers:
675
675
  specifier: ^5.1.50
676
676
  version: 5.1.50
677
677
  zova-module-a-pay:
678
- specifier: ^5.0.5
679
- version: 5.0.5
678
+ specifier: ^5.0.7
679
+ version: 5.0.7
680
680
  zova-module-a-router:
681
681
  specifier: ^5.1.34
682
682
  version: 5.1.34
@@ -693,11 +693,11 @@ importers:
693
693
  specifier: ^5.1.38
694
694
  version: 5.1.38(vue@3.5.39(typescript@5.9.3))
695
695
  zova-module-pay-mock:
696
- specifier: ^5.0.3
697
- version: 5.0.3
696
+ specifier: ^5.0.5
697
+ version: 5.0.5
698
698
  zova-module-rest-resource:
699
- specifier: ^5.1.45
700
- version: 5.1.45
699
+ specifier: ^5.1.46
700
+ version: 5.1.46
701
701
 
702
702
  .zova-rest/cabloy-commerce:
703
703
  dependencies:
@@ -720,8 +720,8 @@ importers:
720
720
  specifier: npm:@cabloy/zod@4.3.8
721
721
  version: '@cabloy/zod@4.3.8'
722
722
  zova:
723
- specifier: ^5.1.150
724
- version: 5.1.150(typescript@5.9.3)(vue@3.5.39(typescript@5.9.3))
723
+ specifier: ^5.1.151
724
+ version: 5.1.151(typescript@5.9.3)(vue@3.5.39(typescript@5.9.3))
725
725
  zova-jsx:
726
726
  specifier: ^1.1.86
727
727
  version: 1.1.86(typescript@5.9.3)
@@ -753,8 +753,8 @@ importers:
753
753
  specifier: ^5.1.50
754
754
  version: 5.1.50
755
755
  zova-module-a-pay:
756
- specifier: ^5.0.5
757
- version: 5.0.5
756
+ specifier: ^5.0.6
757
+ version: 5.0.6
758
758
  zova-module-a-router:
759
759
  specifier: ^5.1.34
760
760
  version: 5.1.34
@@ -771,8 +771,8 @@ importers:
771
771
  specifier: ^5.1.38
772
772
  version: 5.1.38(vue@3.5.39(typescript@5.9.3))
773
773
  zova-module-pay-mock:
774
- specifier: ^5.0.3
775
- version: 5.0.3
774
+ specifier: ^5.0.4
775
+ version: 5.0.4
776
776
  zova-module-rest-resource:
777
777
  specifier: ^5.1.45
778
778
  version: 5.1.45
@@ -798,8 +798,8 @@ importers:
798
798
  specifier: npm:@cabloy/zod@4.3.8
799
799
  version: '@cabloy/zod@4.3.8'
800
800
  zova:
801
- specifier: ^5.1.150
802
- version: 5.1.150(typescript@5.9.3)(vue@3.5.39(typescript@5.9.3))
801
+ specifier: ^5.1.151
802
+ version: 5.1.151(typescript@5.9.3)(vue@3.5.39(typescript@5.9.3))
803
803
  zova-jsx:
804
804
  specifier: ^1.1.86
805
805
  version: 1.1.86(typescript@5.9.3)
@@ -831,8 +831,8 @@ importers:
831
831
  specifier: ^5.1.50
832
832
  version: 5.1.50
833
833
  zova-module-a-pay:
834
- specifier: ^5.0.5
835
- version: 5.0.5
834
+ specifier: ^5.0.6
835
+ version: 5.0.6
836
836
  zova-module-a-router:
837
837
  specifier: ^5.1.34
838
838
  version: 5.1.34
@@ -849,8 +849,8 @@ importers:
849
849
  specifier: ^5.1.38
850
850
  version: 5.1.38(vue@3.5.39(typescript@5.9.3))
851
851
  zova-module-pay-mock:
852
- specifier: ^5.0.3
853
- version: 5.0.3
852
+ specifier: ^5.0.4
853
+ version: 5.0.4
854
854
  zova-module-rest-resource:
855
855
  specifier: ^5.1.45
856
856
  version: 5.1.45
@@ -1616,7 +1616,7 @@ importers:
1616
1616
  specifier: workspace:^
1617
1617
  version: link:modules/a-cabloy
1618
1618
  vona-module-a-markdown:
1619
- specifier: ^5.0.1
1619
+ specifier: ^5.0.2
1620
1620
  version: link:modules/a-markdown
1621
1621
  vona-module-a-rbac:
1622
1622
  specifier: ^5.0.1
@@ -1911,16 +1911,16 @@ importers:
1911
1911
  src/suite-vendor/a-pay:
1912
1912
  dependencies:
1913
1913
  vona-module-a-pay:
1914
- specifier: ^5.0.7
1914
+ specifier: ^5.0.8
1915
1915
  version: link:modules/a-pay
1916
1916
  vona-module-pay-mock:
1917
- specifier: ^5.0.7
1917
+ specifier: ^5.0.8
1918
1918
  version: link:modules/pay-mock
1919
1919
  vona-module-pay-paypal:
1920
- specifier: ^5.0.7
1920
+ specifier: ^5.0.8
1921
1921
  version: link:modules/pay-paypal
1922
1922
  vona-module-pay-stripe:
1923
- specifier: ^5.0.7
1923
+ specifier: ^5.0.8
1924
1924
  version: link:modules/pay-stripe
1925
1925
 
1926
1926
  src/suite-vendor/a-pay/modules/a-pay:
@@ -1983,10 +1983,10 @@ importers:
1983
1983
  specifier: ^5.0.9
1984
1984
  version: link:modules/test-file
1985
1985
  vona-module-test-markdown:
1986
- specifier: ^5.0.1
1986
+ specifier: ^5.0.2
1987
1987
  version: link:modules/test-markdown
1988
1988
  vona-module-test-pay:
1989
- specifier: ^5.0.6
1989
+ specifier: ^5.0.7
1990
1990
  version: link:modules/test-pay
1991
1991
 
1992
1992
  src/suite-vendor/a-test/modules/test-auth:
@@ -2037,7 +2037,7 @@ importers:
2037
2037
  src/suite-vendor/a-test/modules/test-markdown:
2038
2038
  dependencies:
2039
2039
  vona-module-a-markdown:
2040
- specifier: ^5.0.1
2040
+ specifier: ^5.0.2
2041
2041
  version: link:../../../a-cabloy/modules/a-markdown
2042
2042
  devDependencies:
2043
2043
  clean-package:
@@ -8946,9 +8946,15 @@ packages:
8946
8946
  zova-core@5.1.86:
8947
8947
  resolution: {integrity: sha512-DoyHChxGUAefZ3OimhCJLFHD/ft8eoMLtlHkow8zh67n/6FVv4me7LYP0O0itzUcG5GskFUfBn6q72e3QoRzEg==}
8948
8948
 
8949
+ zova-core@5.1.87:
8950
+ resolution: {integrity: sha512-CANgp5A86nKkpx0YpGg5sQLnm93ZWLS8Sq3eMN/Pmf505EgSs7oJ8PSyKYa4eHknRbJwDAGHzqrKNQyARrLbKA==}
8951
+
8949
8952
  zova-jsx@1.1.86:
8950
8953
  resolution: {integrity: sha512-cGGv9tsu8MuPjHM055n8On3MhuTnhdpk00VDpMN3eiljnMCQiiiW3McIDMxMkuXXJFgCJvshkDhQ9VR7EZhcsg==}
8951
8954
 
8955
+ zova-jsx@1.1.87:
8956
+ resolution: {integrity: sha512-sUq/v9cn1gPdVvE4VI1xZbsI/G36dBCIZcCB5LW3s75tg7ntZ8y6n8rjJVa6VZK0WHE0ZU8dfYd0AGtEHEyCrw==}
8957
+
8952
8958
  zova-module-a-api@5.1.22:
8953
8959
  resolution: {integrity: sha512-6KHDm/Kw7dwu3/3R+eM8WR0UBv4b73ksAd9yL44cS7d5KS9o97PD0RDkwep+ziMdod1DvRMHu5QJbvp7DmKIVA==}
8954
8960
 
@@ -8976,6 +8982,9 @@ packages:
8976
8982
  zova-module-a-form@5.1.47:
8977
8983
  resolution: {integrity: sha512-orC3n0jCXc10EbhN7j/J6AjKiwb3HqDXI8CUkDMFne6r8qYOCz7xARQ+jXR5U3Hi2ov9kau83Hr1/L48V1lW6Q==}
8978
8984
 
8985
+ zova-module-a-form@5.1.48:
8986
+ resolution: {integrity: sha512-/YuNFocyP3P6THVrSebi1jRm5+og7YOleBWc7gPzqKUFWTmxN7XBbomRidQWXSRenSd7AWBjNgO3OajhOdswlw==}
8987
+
8979
8988
  zova-module-a-icon@5.1.27:
8980
8989
  resolution: {integrity: sha512-KAvHkK6YsN2H5iQgl2IBQHIvvFDnfzPCxDzuQyTnAiCgSczD/UFO6bLZqWVT2m/qfsmJXMzWAWHPdU02J3ANZQ==}
8981
8990
 
@@ -8994,8 +9003,11 @@ packages:
8994
9003
  zova-module-a-openapi@5.1.50:
8995
9004
  resolution: {integrity: sha512-ZrYFZaVARpBf5ByfCtCPD4z/2ByAZn42XsKUJZuqWcvVrccY7v3kaiXoCrfQAz9aDar+wqwXOo548eAHz4wzqg==}
8996
9005
 
8997
- zova-module-a-pay@5.0.5:
8998
- resolution: {integrity: sha512-+6TgviG9wuX37uhB//ezvF/zeUihq8RdysXEpkIY+wTQnA0ZwEnORrXDPaiboIz970zWQBJme8bfwv+1ntw/Vw==}
9006
+ zova-module-a-pay@5.0.6:
9007
+ resolution: {integrity: sha512-k1MXVsaN3zCgFDLQkUaUoN9W8Z02TWTsFr/h1A8ljUBAQccFiQusmt1035qvLYHidrHX64fC4R5F8SuIDLNf3w==}
9008
+
9009
+ zova-module-a-pay@5.0.7:
9010
+ resolution: {integrity: sha512-LHIArspqUeT3aQ+b8AvxrkYOV9nFnfjTWoQ/zQNliQhy1EllooVFB+AhRY58rhmh4ru/xbem+4Wjuptl9FdU+Q==}
8999
9011
 
9000
9012
  zova-module-a-router@5.1.34:
9001
9013
  resolution: {integrity: sha512-6XAia5GVmdJqUcwGW9r2vJ2JomnU0QMHK7y7QQoniUZ0JqDj7SWFbSYXd6WDlvLU7Kd5yt4WfyzE7GQVb/HcnA==}
@@ -9012,8 +9024,8 @@ packages:
9012
9024
  zova-module-a-ssrhmr@5.1.23:
9013
9025
  resolution: {integrity: sha512-BiwI/lodmJgWU5whwI4iEd3ZTbWCFIxG/V0YOejHaPqk85viFAVn9xlURNdpo3A9yFKRZDZja4IA8WuO6i0QAA==}
9014
9026
 
9015
- zova-module-a-ssrserver@5.1.25:
9016
- resolution: {integrity: sha512-Xq0vMR6TqErul8ik3X5ywXR4M62TKBehebEj6a6pPY75nJwNycEly2VWQZ6gF0dnnY+MBIKLhV9kstM0dxutKw==}
9027
+ zova-module-a-ssrserver@5.1.26:
9028
+ resolution: {integrity: sha512-1NK1hG1ruwGTvSgCGQ2fWCulTHi7PSOm8ZWVkrEQAhPnMs992IOTapKCXMl6mlGchnylfUfWRbpZ6OmzSGDICw==}
9017
9029
 
9018
9030
  zova-module-a-style@5.1.35:
9019
9031
  resolution: {integrity: sha512-i73I3wFvdQonj3l4fkovkKBZwSK4s6D4vL3AVfVvFJ4eIboKH2yw0hCILKRzLoESNQ0T+lNS6ozeimvtA4/6DQ==}
@@ -9027,17 +9039,32 @@ packages:
9027
9039
  zova-module-a-zova@5.1.101:
9028
9040
  resolution: {integrity: sha512-htiX0YX6kytmTiiiVuTH5lVcM5doff/AYIbiIxcoOU955q6vxrKNT4TQSGZiaAGY9cb45kr4n75nLunGxxaOPQ==}
9029
9041
 
9030
- zova-module-pay-mock@5.0.3:
9031
- resolution: {integrity: sha512-v4Zg+3kKOTnBufsRnUPV+1FHCwD8zQMiaP1et4jFeaSENzKYcuCwBqeHDTtRuBXC0+2J+fDi36YOQzMsM5fE3A==}
9042
+ zova-module-a-zova@5.1.102:
9043
+ resolution: {integrity: sha512-OsxYHgrM0t7W/UDC5VDp4pXxUddxA6ngX+fn0F+oVvG0Y1gnTkOhdRDHdndmpMA+MROygXaCNu42kqQtnL9SCA==}
9044
+
9045
+ zova-module-pay-mock@5.0.4:
9046
+ resolution: {integrity: sha512-olXNzUK7wuNThHiE8ND/8wu9eFhMODI7l/Tcdh7/fFe5EWRhPL37HCj8gjYy1gHcuFQdN3+gim3Zqmp7JG5nFw==}
9047
+
9048
+ zova-module-pay-mock@5.0.5:
9049
+ resolution: {integrity: sha512-PFbNz1g2MDVp3NdvKV37WFzHTQ2awSPTD5iexkkOOloAaItmt/KYoV7xadM46wHUCSQZcZQ1SZdgDaUFev+R4Q==}
9032
9050
 
9033
9051
  zova-module-rest-resource@5.1.45:
9034
9052
  resolution: {integrity: sha512-QqzqBaeObbnnVdfhQZLFaU6/gSaL9BJzmzgKR6d/GkucDWezDlfISyoPstp+NhkBs1VPR4yk5nhKVG9jRlx/6w==}
9035
9053
 
9036
- zova-suite-a-zova@5.1.149:
9037
- resolution: {integrity: sha512-Atwl93ucs8Ma3MBi/NK8sYcsTQimkKXLsHEoJ8LCXEdca/MQ9I43HoCLUOPjUhTIl9DRICQ+7ZzvhiGaXaFvzQ==}
9054
+ zova-module-rest-resource@5.1.46:
9055
+ resolution: {integrity: sha512-YTwikQL9lnbR6+6t9LklwKc0W37Ws2qXJAWSOcddl9b4Xbqrm8nsFMngDHq2vIOMlmRQgenXTDBTqAeDhKM2iQ==}
9056
+
9057
+ zova-suite-a-zova@5.1.150:
9058
+ resolution: {integrity: sha512-UZ/yRFWylL/MFKDvxlFYBZ6vb+WEW6NsOZSXztSfmOc8jevuZCy0I1lwgIZppR7wNWiBMdIt/jq7CqTHYhvMjw==}
9059
+
9060
+ zova-suite-a-zova@5.1.151:
9061
+ resolution: {integrity: sha512-ClXZjdEFwR++fg+yy4gFYDZNEWCg13r/xeqImVorR2mckCSSUdGrflf2Y5z4BmZQ7OmKwQ/ZJk+UETYEHtSDYQ==}
9038
9062
 
9039
- zova@5.1.150:
9040
- resolution: {integrity: sha512-nRv1MICJQAU5nfyi5v6gBVQjHzoOEL8F8rgWu7kwLD9ChAcOnKyTk2DQLgRjTHu+khCqDMdoBFk5TDb4joSgcA==}
9063
+ zova@5.1.151:
9064
+ resolution: {integrity: sha512-ORpFNcMYRmoWtIGIGGswPpeLgrYiax9prStB3Em0umUFGxVLPg9Yt0R1/psFlFgcC9WionitSz4WBhjvcra8Xw==}
9065
+
9066
+ zova@5.1.152:
9067
+ resolution: {integrity: sha512-k6d+LRLin+DNFeKtC2NkfMp45nyEGmHFTwuh+XOAE/zxG7v0K5OODQ+EuHLgr+anNsJBC5H0He6jiGXIsNHB+g==}
9041
9068
 
9042
9069
  zwitch@1.0.5:
9043
9070
  resolution: {integrity: sha512-V50KMwwzqJV0NpZIZFwfOD5/lyny3WlSzRiXgA0G7VUnRlqttta1L6UQIHzd6EuBY/cHGfwTIck7w1yH6Q5zUw==}
@@ -15300,7 +15327,38 @@ snapshots:
15300
15327
  dependencies:
15301
15328
  zod: '@cabloy/zod@4.3.8'
15302
15329
 
15303
- zova-core@5.1.86(patch_hash=144450bd7a567a6067e5857c0cf4c780981b7e90bc48745c09e1696a9b6f1b97)(typescript@5.9.3):
15330
+ zova-core@5.1.86(typescript@5.9.3):
15331
+ dependencies:
15332
+ '@cabloy/compose': link:packages-utils/compose
15333
+ '@cabloy/extend': link:packages-utils/extend
15334
+ '@cabloy/json5': link:packages-utils/json5
15335
+ '@cabloy/localeutil': link:packages-utils/localeutil
15336
+ '@cabloy/logger': 1.1.25
15337
+ '@cabloy/module-info': 2.0.3
15338
+ '@cabloy/utils': link:packages-utils/utils
15339
+ '@cabloy/vue-compiler-sfc': 3.5.14
15340
+ '@cabloy/vue-reactivity': 3.5.16
15341
+ '@cabloy/vue-router': 4.4.16(vue@3.5.39(typescript@5.9.3))
15342
+ '@cabloy/vue-runtime-core': 3.5.57
15343
+ '@cabloy/vue-runtime-dom': 3.5.13
15344
+ '@cabloy/vue-server-renderer': 3.5.18(vue@3.5.39(typescript@5.9.3))
15345
+ '@cabloy/word-utils': 2.1.14
15346
+ '@cabloy/zod-errors-custom': link:packages-utils/zod-errors-custom
15347
+ '@cabloy/zod-openapi': link:packages-utils/zod-openapi
15348
+ '@cabloy/zod-query': link:packages-utils/zod-query
15349
+ '@types/js-cookie': 3.0.6
15350
+ '@types/ms': 2.1.0
15351
+ '@vue/shared': 3.5.36
15352
+ deep-equal: 2.2.3
15353
+ ms: 2.1.3
15354
+ reflect-metadata: 0.2.2
15355
+ vue: 3.5.39(typescript@5.9.3)
15356
+ vue-plugin-render-freeze: 2.0.4(vue@3.5.39(typescript@5.9.3))
15357
+ zod: '@cabloy/zod@4.3.8'
15358
+ transitivePeerDependencies:
15359
+ - typescript
15360
+
15361
+ zova-core@5.1.87(patch_hash=144450bd7a567a6067e5857c0cf4c780981b7e90bc48745c09e1696a9b6f1b97)(typescript@5.9.3):
15304
15362
  dependencies:
15305
15363
  '@cabloy/compose': link:packages-utils/compose
15306
15364
  '@cabloy/extend': link:packages-utils/extend
@@ -15338,7 +15396,18 @@ snapshots:
15338
15396
  '@cabloy/word-utils': 2.1.14
15339
15397
  typestyle: 2.4.0
15340
15398
  vue: 3.5.39(typescript@5.9.3)
15341
- zova-core: 5.1.86(patch_hash=144450bd7a567a6067e5857c0cf4c780981b7e90bc48745c09e1696a9b6f1b97)(typescript@5.9.3)
15399
+ zova-core: 5.1.86(typescript@5.9.3)
15400
+ transitivePeerDependencies:
15401
+ - typescript
15402
+
15403
+ zova-jsx@1.1.87(typescript@5.9.3):
15404
+ dependencies:
15405
+ '@cabloy/compose': link:packages-utils/compose
15406
+ '@cabloy/utils': link:packages-utils/utils
15407
+ '@cabloy/word-utils': 2.1.14
15408
+ typestyle: 2.4.0
15409
+ vue: 3.5.39(typescript@5.9.3)
15410
+ zova-core: 5.1.87(patch_hash=144450bd7a567a6067e5857c0cf4c780981b7e90bc48745c09e1696a9b6f1b97)(typescript@5.9.3)
15342
15411
  transitivePeerDependencies:
15343
15412
  - typescript
15344
15413
 
@@ -15373,6 +15442,14 @@ snapshots:
15373
15442
  - '@vue/composition-api'
15374
15443
  - vue
15375
15444
 
15445
+ zova-module-a-form@5.1.48(vue@3.5.39(typescript@5.9.3)):
15446
+ dependencies:
15447
+ '@tanstack/vue-form': 1.33.2(vue@3.5.39(typescript@5.9.3))
15448
+ '@tanstack/vue-store': 0.11.0(vue@3.5.39(typescript@5.9.3))
15449
+ transitivePeerDependencies:
15450
+ - '@vue/composition-api'
15451
+ - vue
15452
+
15376
15453
  zova-module-a-icon@5.1.27: {}
15377
15454
 
15378
15455
  zova-module-a-interceptor@5.1.31: {}
@@ -15401,7 +15478,9 @@ snapshots:
15401
15478
  openapi3-ts: 4.6.0
15402
15479
  typestyle: 2.4.0
15403
15480
 
15404
- zova-module-a-pay@5.0.5: {}
15481
+ zova-module-a-pay@5.0.6: {}
15482
+
15483
+ zova-module-a-pay@5.0.7: {}
15405
15484
 
15406
15485
  zova-module-a-router@5.1.34: {}
15407
15486
 
@@ -15419,7 +15498,7 @@ snapshots:
15419
15498
  '@cabloy/socket': link:packages-utils/socket
15420
15499
  debounce: 3.0.0
15421
15500
 
15422
- zova-module-a-ssrserver@5.1.25:
15501
+ zova-module-a-ssrserver@5.1.26:
15423
15502
  dependencies:
15424
15503
  ms: 2.1.3
15425
15504
 
@@ -15458,11 +15537,31 @@ snapshots:
15458
15537
  - typescript
15459
15538
  - vue
15460
15539
 
15461
- zova-module-pay-mock@5.0.3: {}
15540
+ zova-module-a-zova@5.1.102(typescript@5.9.3)(vue@3.5.39(typescript@5.9.3)):
15541
+ dependencies:
15542
+ '@cabloy/compose': link:packages-utils/compose
15543
+ '@cabloy/deps': link:packages-utils/deps
15544
+ '@cabloy/json5': link:packages-utils/json5
15545
+ '@cabloy/module-info': 2.0.3
15546
+ '@cabloy/utils': link:packages-utils/utils
15547
+ '@cabloy/vue-router': 4.4.16(vue@3.5.39(typescript@5.9.3))
15548
+ '@cabloy/word-utils': 2.1.14
15549
+ defu: 6.1.7
15550
+ luxon: 3.7.2
15551
+ zova-jsx: 1.1.87(typescript@5.9.3)
15552
+ transitivePeerDependencies:
15553
+ - typescript
15554
+ - vue
15555
+
15556
+ zova-module-pay-mock@5.0.4: {}
15557
+
15558
+ zova-module-pay-mock@5.0.5: {}
15462
15559
 
15463
15560
  zova-module-rest-resource@5.1.45: {}
15464
15561
 
15465
- zova-suite-a-zova@5.1.149(typescript@5.9.3)(vue@3.5.39(typescript@5.9.3)):
15562
+ zova-module-rest-resource@5.1.46: {}
15563
+
15564
+ zova-suite-a-zova@5.1.150(typescript@5.9.3)(vue@3.5.39(typescript@5.9.3)):
15466
15565
  dependencies:
15467
15566
  zova-module-a-api: 5.1.22
15468
15567
  zova-module-a-app: 5.1.26
@@ -15484,7 +15583,7 @@ snapshots:
15484
15583
  zova-module-a-routertabs: 5.1.34
15485
15584
  zova-module-a-ssr: 5.1.37
15486
15585
  zova-module-a-ssrhmr: 5.1.23
15487
- zova-module-a-ssrserver: 5.1.25
15586
+ zova-module-a-ssrserver: 5.1.26
15488
15587
  zova-module-a-style: 5.1.35
15489
15588
  zova-module-a-table: 5.1.38(vue@3.5.39(typescript@5.9.3))
15490
15589
  zova-module-a-zod: 5.1.37
@@ -15496,10 +15595,55 @@ snapshots:
15496
15595
  - typescript
15497
15596
  - vue
15498
15597
 
15499
- zova@5.1.150(typescript@5.9.3)(vue@3.5.39(typescript@5.9.3)):
15598
+ zova-suite-a-zova@5.1.151(typescript@5.9.3)(vue@3.5.39(typescript@5.9.3)):
15599
+ dependencies:
15600
+ zova-module-a-api: 5.1.22
15601
+ zova-module-a-app: 5.1.26
15602
+ zova-module-a-bean: 5.1.33
15603
+ zova-module-a-behavior: 5.1.26
15604
+ zova-module-a-behaviors: 5.1.22
15605
+ zova-module-a-boundary: 5.1.22
15606
+ zova-module-a-command: 5.1.34
15607
+ zova-module-a-fetch: 5.1.25
15608
+ zova-module-a-form: 5.1.48(vue@3.5.39(typescript@5.9.3))
15609
+ zova-module-a-icon: 5.1.27
15610
+ zova-module-a-interceptor: 5.1.31
15611
+ zova-module-a-logger: 5.1.28
15612
+ zova-module-a-meta: 5.1.22
15613
+ zova-module-a-model: 5.1.35(vue@3.5.39(typescript@5.9.3))
15614
+ zova-module-a-openapi: 5.1.50
15615
+ zova-module-a-router: 5.1.34
15616
+ zova-module-a-routerstack: 5.1.27
15617
+ zova-module-a-routertabs: 5.1.34
15618
+ zova-module-a-ssr: 5.1.37
15619
+ zova-module-a-ssrhmr: 5.1.23
15620
+ zova-module-a-ssrserver: 5.1.26
15621
+ zova-module-a-style: 5.1.35
15622
+ zova-module-a-table: 5.1.38(vue@3.5.39(typescript@5.9.3))
15623
+ zova-module-a-zod: 5.1.37
15624
+ zova-module-a-zova: 5.1.102(typescript@5.9.3)(vue@3.5.39(typescript@5.9.3))
15625
+ transitivePeerDependencies:
15626
+ - '@vue/composition-api'
15627
+ - debug
15628
+ - supports-color
15629
+ - typescript
15630
+ - vue
15631
+
15632
+ zova@5.1.151(typescript@5.9.3)(vue@3.5.39(typescript@5.9.3)):
15633
+ dependencies:
15634
+ zova-core: 5.1.86(typescript@5.9.3)
15635
+ zova-suite-a-zova: 5.1.150(typescript@5.9.3)(vue@3.5.39(typescript@5.9.3))
15636
+ transitivePeerDependencies:
15637
+ - '@vue/composition-api'
15638
+ - debug
15639
+ - supports-color
15640
+ - typescript
15641
+ - vue
15642
+
15643
+ zova@5.1.152(typescript@5.9.3)(vue@3.5.39(typescript@5.9.3)):
15500
15644
  dependencies:
15501
- zova-core: 5.1.86(patch_hash=144450bd7a567a6067e5857c0cf4c780981b7e90bc48745c09e1696a9b6f1b97)(typescript@5.9.3)
15502
- zova-suite-a-zova: 5.1.149(typescript@5.9.3)(vue@3.5.39(typescript@5.9.3))
15645
+ zova-core: 5.1.87(patch_hash=144450bd7a567a6067e5857c0cf4c780981b7e90bc48745c09e1696a9b6f1b97)(typescript@5.9.3)
15646
+ zova-suite-a-zova: 5.1.151(typescript@5.9.3)(vue@3.5.39(typescript@5.9.3))
15503
15647
  transitivePeerDependencies:
15504
15648
  - '@vue/composition-api'
15505
15649
  - debug
@@ -53,4 +53,4 @@ allowBuilds:
53
53
  vue-demi: true
54
54
 
55
55
  patchedDependencies:
56
- zova-core@5.1.86: patches/zova-core@5.1.86.patch
56
+ zova-core@5.1.87: patches/zova-core@5.1.87.patch
@@ -62,8 +62,13 @@ export class DtoRefundRecoveryView {
62
62
  @Api.field(v.optional())
63
63
  finalizedAt?: Date;
64
64
 
65
- @Api.field(z.enum(['none', 'reconcile_only', 'query_only', 'retry_same_key']))
66
- recoveryDisposition: 'none' | 'reconcile_only' | 'query_only' | 'retry_same_key';
65
+ @Api.field(z.enum(['none', 'await_webhook', 'reconcile_only', 'query_only', 'retry_same_key']))
66
+ recoveryDisposition:
67
+ | 'none'
68
+ | 'await_webhook'
69
+ | 'reconcile_only'
70
+ | 'query_only'
71
+ | 'retry_same_key';
67
72
 
68
73
  @Api.field(v.required())
69
74
  recoveryMessage: string;
@@ -880,6 +880,11 @@ export class ServiceOrder extends BeanBase {
880
880
  };
881
881
  }
882
882
 
883
+ private _providerSupportsRefundQuery(providerName: string, clientName: string) {
884
+ const { provider } = this.bean.payProvider.resolveByName(providerName, clientName);
885
+ return typeof provider.queryRefund === 'function';
886
+ }
887
+
883
888
  private _refundRecoveryView(
884
889
  linked: Awaited<ReturnType<typeof this.refundRecoveryLinkage>>,
885
890
  ): DtoRefundRecoveryView {
@@ -893,7 +898,14 @@ export class ServiceOrder extends BeanBase {
893
898
  hasUnresolvedReconciliation,
894
899
  } = linked;
895
900
  const canQuery = Boolean(
896
- refundOperation.providerRefundId && providerOperation.state !== 'succeeded',
901
+ refundOperation.providerRefundId &&
902
+ providerOperation.state !== 'succeeded' &&
903
+ this._providerSupportsRefundQuery(paymentSession.providerName, paymentSession.clientName),
904
+ );
905
+ const canAwaitWebhook = Boolean(
906
+ refundOperation.providerRefundId &&
907
+ providerOperation.state !== 'succeeded' &&
908
+ !this._providerSupportsRefundQuery(paymentSession.providerName, paymentSession.clientName),
897
909
  );
898
910
  const canRetry =
899
911
  !refundOperation.providerRefundId &&
@@ -909,21 +921,25 @@ export class ServiceOrder extends BeanBase {
909
921
  providerOperation.errorCode === 'refund_submission_outcome_unknown' &&
910
922
  Boolean(providerOperation.submittedAt) &&
911
923
  !hasUnresolvedReconciliation;
912
- const recoveryDisposition = canQuery
913
- ? 'query_only'
914
- : canRetry
915
- ? 'retry_same_key'
916
- : canReconcile
917
- ? 'reconcile_only'
918
- : 'none';
924
+ const recoveryDisposition = canAwaitWebhook
925
+ ? 'await_webhook'
926
+ : canQuery
927
+ ? 'query_only'
928
+ : canRetry
929
+ ? 'retry_same_key'
930
+ : canReconcile
931
+ ? 'reconcile_only'
932
+ : 'none';
919
933
  const recoveryMessage =
920
- recoveryDisposition === 'query_only'
921
- ? 'A verified provider refund identifier is available. Reconcile without resubmitting.'
922
- : recoveryDisposition === 'reconcile_only'
923
- ? 'Provider refund outcome is unknown. Record reconciliation before considering a retry.'
924
- : recoveryDisposition === 'retry_same_key'
925
- ? 'Reconciliation was unresolved. A single acknowledged retry may reuse the original provider request.'
926
- : 'No provider refund submission is available. Do not create or manually declare a replacement refund.';
934
+ recoveryDisposition === 'await_webhook'
935
+ ? 'A provider refund identifier is available. Wait for the verified provider webhook; do not resubmit or reconcile by querying.'
936
+ : recoveryDisposition === 'query_only'
937
+ ? 'A verified provider refund identifier is available. Reconcile without resubmitting.'
938
+ : recoveryDisposition === 'reconcile_only'
939
+ ? 'Provider refund outcome is unknown. Record reconciliation before considering a retry.'
940
+ : recoveryDisposition === 'retry_same_key'
941
+ ? 'Reconciliation was unresolved. A single acknowledged retry may reuse the original provider request.'
942
+ : 'No provider refund submission is available. Do not create or manually declare a replacement refund.';
927
943
  return {
928
944
  orderId: order.id,
929
945
  refundRequestId: refundRequest.id,
@@ -53,6 +53,7 @@
53
53
  "a-mail": "5.0.0",
54
54
  "a-ratelimit": "5.0.0",
55
55
  "a-redlock": "5.0.0",
56
+ "a-ssr": "5.0.0",
56
57
  "a-vona": "5.0.0",
57
58
  "auth-simple": "5.0.0"
58
59
  }
@@ -217,7 +217,11 @@ export class ServiceAccount extends BeanBase {
217
217
  const link = this._getActivationLinkWithToken(consumerLink, rawToken);
218
218
  await this.bean.mail.send({
219
219
  to: currentUser.email,
220
- subject: this.scope.locale.ActivationEmailSubject(),
220
+ subject: replaceTemplate(this.scope.locale.ActivationEmailSubject(), {
221
+ userName: currentUser.name,
222
+ link,
223
+ siteName: this.ctx.instance.title || this.app.meta.env.APP_TITLE,
224
+ }),
221
225
  text: replaceTemplate(this.scope.locale.ActivationEmailBody(), {
222
226
  userName: currentUser.name,
223
227
  link,
@@ -559,12 +563,21 @@ export class ServiceAccount extends BeanBase {
559
563
 
560
564
  private _getActivationLink(consumerUrl: string): URL {
561
565
  const url = this._getConsumerLink(consumerUrl, 'activation');
562
- if (url.pathname !== activationConsumerPath) {
566
+ if (!this._isActivationConsumerPath(url.pathname)) {
563
567
  this.app.throw(503, 'account activation consumer URL is invalid');
564
568
  }
565
569
  return url;
566
570
  }
567
571
 
572
+ private _isActivationConsumerPath(pathname: string) {
573
+ if (pathname === activationConsumerPath) return true;
574
+ const sites = this.app.scope('a-ssr').service.ssr.getSitesEnabled();
575
+ return sites.some(site => {
576
+ const publicPath = String(site.beanOptions.options?.publicPath ?? '');
577
+ return publicPath && pathname === `/${publicPath}${activationConsumerPath}`;
578
+ });
579
+ }
580
+
568
581
  private _getPasswordSetLink(consumerUrl: string): URL {
569
582
  return this._getConsumerLink(consumerUrl, 'password-set');
570
583
  }