@shwfed/config 2.10.2 → 2.10.4

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 (158) hide show
  1. package/dist/mcp.mjs +143 -89
  2. package/dist/module.json +1 -1
  3. package/dist/preview/assets/{FieldGroup.vue_vue_type_script_setup_true_lang-DX5M_WNF.js → FieldGroup.vue_vue_type_script_setup_true_lang-DIjsktfi.js} +1 -1
  4. package/dist/preview/assets/badge-Cr6_n00S.js +1 -0
  5. package/dist/preview/assets/config-1VGYa1Zb.js +1 -0
  6. package/dist/preview/assets/config-B2rtOFE1.js +1 -0
  7. package/dist/preview/assets/config-BemROLz0.js +1 -0
  8. package/dist/preview/assets/{config-DeDCNzY_.js → config-BjUIO7Ps.js} +1 -1
  9. package/dist/preview/assets/config-Bu-ffrDi.js +1 -0
  10. package/dist/preview/assets/config-CNY70agP.js +1 -0
  11. package/dist/preview/assets/{config-CSmHhOh2.js → config-CSauYxAG.js} +1 -1
  12. package/dist/preview/assets/{config-CTF5-TTQ.js → config-CrA5lAMB.js} +1 -1
  13. package/dist/preview/assets/{config-BiOW8fS2.js → config-CwbWyadd.js} +1 -1
  14. package/dist/preview/assets/{config-DBtEKoan.js → config-DF4u2WzQ.js} +1 -1
  15. package/dist/preview/assets/config-DTDFg08z.js +1 -0
  16. package/dist/preview/assets/config-DpcMlGoM.js +1 -0
  17. package/dist/preview/assets/config-Dx9AeOjb.js +1 -0
  18. package/dist/preview/assets/config-hXHOfKvD.js +1 -0
  19. package/dist/preview/assets/{definition.vue_vue_type_script_setup_true_lang-Cu0CEKYT.js → definition.vue_vue_type_script_setup_true_lang-v2AaUd8i.js} +1 -1
  20. package/dist/preview/assets/index-BDbNnENM.js +1 -0
  21. package/dist/preview/assets/index-ButPJaOR.css +1 -0
  22. package/dist/preview/assets/index-BzWZj-hV.js +1 -0
  23. package/dist/preview/assets/{index-DX9_iE4h.js → index-E3_P6Fhz.js} +207 -189
  24. package/dist/preview/assets/item-B_QcL62I.js +1 -0
  25. package/dist/preview/assets/runtime-BRg0jxiK.js +1 -0
  26. package/dist/preview/assets/runtime-BbiAwZZ9.js +1 -0
  27. package/dist/preview/assets/runtime-CKoLdM68.js +1 -0
  28. package/dist/preview/assets/{runtime-CFb1tHwr.js → runtime-CZ6uHCIE.js} +1 -1
  29. package/dist/preview/assets/runtime-Cd79TXff.js +1 -0
  30. package/dist/preview/assets/{runtime-BN-jMAt7.js → runtime-Cfup01hl.js} +1 -1
  31. package/dist/preview/assets/runtime-Cu_C4Joj.js +1 -0
  32. package/dist/preview/assets/{runtime-yfWYeUh4.js → runtime-D-MaRCSg.js} +1 -1
  33. package/dist/preview/assets/runtime-DUMSbsqb.js +1 -0
  34. package/dist/preview/assets/runtime-hClBh8tp.js +1 -0
  35. package/dist/preview/assets/{schema-meta-6ZPO8dHv.js → schema-meta-BACRMkVo.js} +1 -1
  36. package/dist/preview/index.html +2 -2
  37. package/dist/runtime/components/actions/buttons/2026-05-15/com.shwfed.actions.button.event.dispatch/schema.d.ts +16 -10
  38. package/dist/runtime/components/actions/buttons/2026-05-15/com.shwfed.actions.button.event.dispatch/schema.js +68 -43
  39. package/dist/runtime/components/actions/buttons/2026-05-21/com.shwfed.actions.button.http.download/schema.d.ts +1 -0
  40. package/dist/runtime/components/actions/buttons/2026-05-21/com.shwfed.actions.button.http.download/schema.js +5 -1
  41. package/dist/runtime/components/block-layout-editor/index.vue +8 -0
  42. package/dist/runtime/components/config/blocks/2026-05-06/com.shwfed.block.form/config.d.vue.ts +2 -2
  43. package/dist/runtime/components/config/blocks/2026-05-06/com.shwfed.block.form/config.vue.d.ts +2 -2
  44. package/dist/runtime/components/config/blocks/2026-05-06/com.shwfed.block.form/runtime.d.vue.ts +4 -4
  45. package/dist/runtime/components/config/blocks/2026-05-06/com.shwfed.block.form/runtime.vue.d.ts +4 -4
  46. package/dist/runtime/components/config/blocks/2026-05-06/com.shwfed.block.form/schema.d.ts +1 -1
  47. package/dist/runtime/components/config/blocks/2026-05-06/com.shwfed.block.table/config.d.vue.ts +2 -2
  48. package/dist/runtime/components/config/blocks/2026-05-06/com.shwfed.block.table/config.vue.d.ts +2 -2
  49. package/dist/runtime/components/config/blocks/2026-05-06/com.shwfed.block.table/runtime.d.vue.ts +2 -2
  50. package/dist/runtime/components/config/blocks/2026-05-06/com.shwfed.block.table/runtime.vue.d.ts +2 -2
  51. package/dist/runtime/components/config/blocks/2026-05-06/com.shwfed.block.table/schema.d.ts +2 -2
  52. package/dist/runtime/components/config/index.vue +5 -1
  53. package/dist/runtime/components/config/schema.d.ts +10 -0
  54. package/dist/runtime/components/config/schema.js +23 -0
  55. package/dist/runtime/components/form/fields/2026-04-22/com.shwfed.form.field.text/config.d.vue.ts +134 -0
  56. package/dist/runtime/components/form/fields/2026-04-22/com.shwfed.form.field.text/config.vue +78 -2
  57. package/dist/runtime/components/form/fields/2026-04-22/com.shwfed.form.field.text/config.vue.d.ts +134 -0
  58. package/dist/runtime/components/form/fields/2026-04-22/com.shwfed.form.field.text/runtime.vue +24 -0
  59. package/dist/runtime/components/form/fields/2026-04-22/com.shwfed.form.field.text/schema.d.ts +132 -0
  60. package/dist/runtime/components/form/fields/2026-04-22/com.shwfed.form.field.text/schema.js +14 -1
  61. package/dist/runtime/components/form/fields/2026-04-24/com.shwfed.form.field.combobox.single/config.d.vue.ts +16 -16
  62. package/dist/runtime/components/form/fields/2026-04-24/com.shwfed.form.field.combobox.single/config.vue.d.ts +16 -16
  63. package/dist/runtime/components/form/fields/2026-04-27/com.shwfed.form.field.daterange/config.d.vue.ts +4 -4
  64. package/dist/runtime/components/form/fields/2026-04-27/com.shwfed.form.field.daterange/config.vue.d.ts +4 -4
  65. package/dist/runtime/components/form/fields/2026-04-27/com.shwfed.form.field.datetimerange/config.d.vue.ts +6 -6
  66. package/dist/runtime/components/form/fields/2026-04-27/com.shwfed.form.field.datetimerange/config.vue.d.ts +6 -6
  67. package/dist/runtime/components/form/fields/2026-04-27/com.shwfed.form.field.timerange/config.d.vue.ts +2 -2
  68. package/dist/runtime/components/form/fields/2026-04-27/com.shwfed.form.field.timerange/config.vue.d.ts +2 -2
  69. package/dist/runtime/components/form/fields/2026-04-28/com.shwfed.form.field.number/config.d.vue.ts +140 -6
  70. package/dist/runtime/components/form/fields/2026-04-28/com.shwfed.form.field.number/config.vue +77 -2
  71. package/dist/runtime/components/form/fields/2026-04-28/com.shwfed.form.field.number/config.vue.d.ts +140 -6
  72. package/dist/runtime/components/form/fields/2026-04-28/com.shwfed.form.field.number/runtime.vue +24 -0
  73. package/dist/runtime/components/form/fields/2026-04-28/com.shwfed.form.field.number/schema.d.ts +132 -0
  74. package/dist/runtime/components/form/fields/2026-04-28/com.shwfed.form.field.number/schema.js +14 -1
  75. package/dist/runtime/components/form/fields/2026-04-28/com.shwfed.form.field.numberrange/config.d.vue.ts +6 -6
  76. package/dist/runtime/components/form/fields/2026-04-28/com.shwfed.form.field.numberrange/config.vue.d.ts +6 -6
  77. package/dist/runtime/components/form/fields/2026-04-28/com.shwfed.form.field.switch/config.d.vue.ts +22 -22
  78. package/dist/runtime/components/form/fields/2026-04-28/com.shwfed.form.field.switch/config.vue.d.ts +22 -22
  79. package/dist/runtime/components/form/fields/2026-05-13/com.shwfed.form.field.combobox.single.remote/config.d.vue.ts +16 -16
  80. package/dist/runtime/components/form/fields/2026-05-13/com.shwfed.form.field.combobox.single.remote/config.vue.d.ts +16 -16
  81. package/dist/runtime/components/form/fields/2026-05-23/com.shwfed.form.field.tree.multi/config.d.vue.ts +8 -8
  82. package/dist/runtime/components/form/fields/2026-05-23/com.shwfed.form.field.tree.multi/config.vue.d.ts +8 -8
  83. package/dist/runtime/components/form/fields/2026-05-24/com.shwfed.form.field.monthrange/config.d.vue.ts +4 -4
  84. package/dist/runtime/components/form/fields/2026-05-24/com.shwfed.form.field.monthrange/config.vue.d.ts +4 -4
  85. package/dist/runtime/components/form/fields/2026-05-25/com.shwfed.form.field.combobox.multi/config.d.vue.ts +16 -16
  86. package/dist/runtime/components/form/fields/2026-05-25/com.shwfed.form.field.combobox.multi/config.vue.d.ts +16 -16
  87. package/dist/runtime/components/form/fields/2026-05-26/com.shwfed.form.field.tree.combobox.multi/config.d.vue.ts +8 -8
  88. package/dist/runtime/components/form/fields/2026-05-26/com.shwfed.form.field.tree.combobox.multi/config.vue.d.ts +8 -8
  89. package/dist/runtime/components/form/fields/2026-05-26/com.shwfed.form.field.tree.combobox.single/config.d.vue.ts +8 -8
  90. package/dist/runtime/components/form/fields/2026-05-26/com.shwfed.form.field.tree.combobox.single/config.vue.d.ts +8 -8
  91. package/dist/runtime/components/form/fields/2026-05-28/com.shwfed.form.field.tree.combobox.multi/config.d.vue.ts +8 -8
  92. package/dist/runtime/components/form/fields/2026-05-28/com.shwfed.form.field.tree.combobox.multi/config.vue.d.ts +8 -8
  93. package/dist/runtime/components/form/fields/2026-05-28/com.shwfed.form.field.tree.combobox.single/config.d.vue.ts +8 -8
  94. package/dist/runtime/components/form/fields/2026-05-28/com.shwfed.form.field.tree.combobox.single/config.vue.d.ts +8 -8
  95. package/dist/runtime/components/form/fields/2026-05-28/com.shwfed.form.field.tree.multi/config.d.vue.ts +8 -8
  96. package/dist/runtime/components/form/fields/2026-05-28/com.shwfed.form.field.tree.multi/config.vue.d.ts +8 -8
  97. package/dist/runtime/components/form/fields/2026-05-28/com.shwfed.form.field.tree.single/config.d.vue.ts +8 -8
  98. package/dist/runtime/components/form/fields/2026-05-28/com.shwfed.form.field.tree.single/config.vue.d.ts +8 -8
  99. package/dist/runtime/components/form/schema.d.ts +2 -2
  100. package/dist/runtime/components/operations/2026-06-15/com.shwfed.operation.http.download/config.d.vue.ts +31 -0
  101. package/dist/runtime/components/operations/2026-06-15/com.shwfed.operation.http.download/config.vue +103 -0
  102. package/dist/runtime/components/operations/2026-06-15/com.shwfed.operation.http.download/config.vue.d.ts +31 -0
  103. package/dist/runtime/components/operations/2026-06-15/com.shwfed.operation.http.download/runtime.d.ts +2 -0
  104. package/dist/runtime/components/operations/2026-06-15/com.shwfed.operation.http.download/runtime.js +63 -0
  105. package/dist/runtime/components/operations/2026-06-15/com.shwfed.operation.http.download/schema.d.ts +21 -0
  106. package/dist/runtime/components/operations/2026-06-15/com.shwfed.operation.http.download/schema.js +63 -0
  107. package/dist/runtime/components/operations/2026-06-15/com.shwfed.operation.navigation/config.d.vue.ts +17 -0
  108. package/dist/runtime/components/operations/2026-06-15/com.shwfed.operation.navigation/config.vue +85 -0
  109. package/dist/runtime/components/operations/2026-06-15/com.shwfed.operation.navigation/config.vue.d.ts +17 -0
  110. package/dist/runtime/components/operations/2026-06-15/com.shwfed.operation.navigation/runtime.d.ts +2 -0
  111. package/dist/runtime/components/operations/2026-06-15/com.shwfed.operation.navigation/runtime.js +36 -0
  112. package/dist/runtime/components/operations/2026-06-15/com.shwfed.operation.navigation/schema.d.ts +14 -0
  113. package/dist/runtime/components/operations/2026-06-15/com.shwfed.operation.navigation/schema.js +38 -0
  114. package/dist/runtime/components/table/columns/2026-05-24/com.shwfed.table.column.combobox-single.remote.options-remote/config.d.vue.ts +4 -4
  115. package/dist/runtime/components/table/columns/2026-05-24/com.shwfed.table.column.combobox-single.remote.options-remote/config.vue.d.ts +4 -4
  116. package/dist/runtime/components/table/columns/2026-05-25/com.shwfed.table.column.combobox-multi.remote.options-remote/config.d.vue.ts +4 -4
  117. package/dist/runtime/components/table/columns/2026-05-25/com.shwfed.table.column.combobox-multi.remote.options-remote/config.vue.d.ts +4 -4
  118. package/dist/runtime/components/table/columns/2026-05-27/com.shwfed.table.column.tree-combobox-multi/config.d.vue.ts +10 -10
  119. package/dist/runtime/components/table/columns/2026-05-27/com.shwfed.table.column.tree-combobox-multi/config.vue.d.ts +10 -10
  120. package/dist/runtime/components/table/columns/2026-05-27/com.shwfed.table.column.tree-combobox-single/config.d.vue.ts +10 -10
  121. package/dist/runtime/components/table/columns/2026-05-27/com.shwfed.table.column.tree-combobox-single/config.vue.d.ts +10 -10
  122. package/dist/runtime/components/table/columns/2026-05-28/com.shwfed.table.column.tree-combobox-multi/config.d.vue.ts +10 -10
  123. package/dist/runtime/components/table/columns/2026-05-28/com.shwfed.table.column.tree-combobox-multi/config.vue.d.ts +10 -10
  124. package/dist/runtime/components/table/columns/2026-05-28/com.shwfed.table.column.tree-combobox-single/config.d.vue.ts +10 -10
  125. package/dist/runtime/components/table/columns/2026-05-28/com.shwfed.table.column.tree-combobox-single/config.vue.d.ts +10 -10
  126. package/dist/runtime/components/table/columns/2026-06-14/com.shwfed.table.column.tree-combobox-multi/config.d.vue.ts +10 -10
  127. package/dist/runtime/components/table/columns/2026-06-14/com.shwfed.table.column.tree-combobox-multi/config.vue.d.ts +10 -10
  128. package/dist/runtime/components/table/columns/2026-06-14/com.shwfed.table.column.tree-combobox-single/config.d.vue.ts +10 -10
  129. package/dist/runtime/components/table/columns/2026-06-14/com.shwfed.table.column.tree-combobox-single/config.vue.d.ts +10 -10
  130. package/dist/runtime/components/table/schema.d.ts +3 -3
  131. package/dist/runtime/components/ui/date-picker/DatePickerInput.d.vue.ts +1 -1
  132. package/dist/runtime/components/ui/date-picker/DatePickerInput.vue.d.ts +1 -1
  133. package/dist/runtime/components/ui/date-picker/DatePickerTimeInput.d.vue.ts +1 -1
  134. package/dist/runtime/components/ui/date-picker/DatePickerTimeInput.vue.d.ts +1 -1
  135. package/dist/runtime/components/ui/date-range-picker/DateRangePickerInput.d.vue.ts +1 -1
  136. package/dist/runtime/components/ui/date-range-picker/DateRangePickerInput.vue.d.ts +1 -1
  137. package/dist/runtime/components/ui/date-range-picker/DateRangePickerTimeInput.d.vue.ts +2 -2
  138. package/dist/runtime/components/ui/date-range-picker/DateRangePickerTimeInput.vue.d.ts +2 -2
  139. package/package.json +1 -1
  140. package/dist/preview/assets/badge-DFZBH8N6.js +0 -1
  141. package/dist/preview/assets/config-BH2BmDoD.js +0 -1
  142. package/dist/preview/assets/config-Bg7a8Rid.js +0 -1
  143. package/dist/preview/assets/config-Bnp547Nm.js +0 -1
  144. package/dist/preview/assets/config-CqeWJt_H.js +0 -1
  145. package/dist/preview/assets/config-Dj3w2JkF.js +0 -1
  146. package/dist/preview/assets/config-XGJ9V32V.js +0 -1
  147. package/dist/preview/assets/config-uIHUHvNR.js +0 -1
  148. package/dist/preview/assets/index-CGChrBji.js +0 -1
  149. package/dist/preview/assets/index-CQA6q2ay.js +0 -1
  150. package/dist/preview/assets/index-pkoEF5dC.css +0 -1
  151. package/dist/preview/assets/item-C4VJfiq8.js +0 -1
  152. package/dist/preview/assets/runtime-6Zrje7Y1.js +0 -1
  153. package/dist/preview/assets/runtime-BQMnWueG.js +0 -1
  154. package/dist/preview/assets/runtime-CBz5XstF.js +0 -1
  155. package/dist/preview/assets/runtime-DQL6lCFp.js +0 -1
  156. package/dist/preview/assets/runtime-DcdmMgqL.js +0 -1
  157. package/dist/preview/assets/runtime-okYOTQd6.js +0 -1
  158. package/dist/preview/assets/runtime-qPyuMgsh.js +0 -1
@@ -35,15 +35,15 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_ModelProps, {},
35
35
  }[]] | undefined;
36
36
  readonly keywords?: string | undefined;
37
37
  readonly readonly?: string | undefined;
38
- readonly dataSource: {
39
- readonly data: string;
40
- readonly request?: string | undefined;
41
- };
42
38
  readonly binding?: string | undefined;
43
39
  readonly derived?: {
44
40
  readonly mode: "formula" | "prefill";
45
41
  readonly expression: string;
46
42
  } | undefined;
43
+ readonly dataSource: {
44
+ readonly data: string;
45
+ readonly request?: string | undefined;
46
+ };
47
47
  readonly cascade: "independent" | "cascade-down" | "cascade-both";
48
48
  readonly validations?: readonly {
49
49
  readonly message: readonly [{
@@ -108,15 +108,15 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_ModelProps, {},
108
108
  }[]] | undefined;
109
109
  readonly keywords?: string | undefined;
110
110
  readonly readonly?: string | undefined;
111
- readonly dataSource: {
112
- readonly data: string;
113
- readonly request?: string | undefined;
114
- };
115
111
  readonly binding?: string | undefined;
116
112
  readonly derived?: {
117
113
  readonly mode: "formula" | "prefill";
118
114
  readonly expression: string;
119
115
  } | undefined;
116
+ readonly dataSource: {
117
+ readonly data: string;
118
+ readonly request?: string | undefined;
119
+ };
120
120
  readonly cascade: "independent" | "cascade-down" | "cascade-both";
121
121
  readonly validations?: readonly {
122
122
  readonly message: readonly [{
@@ -35,15 +35,15 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_ModelProps, {},
35
35
  }[]] | undefined;
36
36
  readonly keywords?: string | undefined;
37
37
  readonly readonly?: string | undefined;
38
- readonly dataSource: {
39
- readonly data: string;
40
- readonly request?: string | undefined;
41
- };
42
38
  readonly binding?: string | undefined;
43
39
  readonly derived?: {
44
40
  readonly mode: "formula" | "prefill";
45
41
  readonly expression: string;
46
42
  } | undefined;
43
+ readonly dataSource: {
44
+ readonly data: string;
45
+ readonly request?: string | undefined;
46
+ };
47
47
  readonly validations?: readonly {
48
48
  readonly message: readonly [{
49
49
  readonly locale: "zh";
@@ -107,15 +107,15 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_ModelProps, {},
107
107
  }[]] | undefined;
108
108
  readonly keywords?: string | undefined;
109
109
  readonly readonly?: string | undefined;
110
- readonly dataSource: {
111
- readonly data: string;
112
- readonly request?: string | undefined;
113
- };
114
110
  readonly binding?: string | undefined;
115
111
  readonly derived?: {
116
112
  readonly mode: "formula" | "prefill";
117
113
  readonly expression: string;
118
114
  } | undefined;
115
+ readonly dataSource: {
116
+ readonly data: string;
117
+ readonly request?: string | undefined;
118
+ };
119
119
  readonly validations?: readonly {
120
120
  readonly message: readonly [{
121
121
  readonly locale: "zh";
@@ -35,15 +35,15 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_ModelProps, {},
35
35
  }[]] | undefined;
36
36
  readonly keywords?: string | undefined;
37
37
  readonly readonly?: string | undefined;
38
- readonly dataSource: {
39
- readonly data: string;
40
- readonly request?: string | undefined;
41
- };
42
38
  readonly binding?: string | undefined;
43
39
  readonly derived?: {
44
40
  readonly mode: "formula" | "prefill";
45
41
  readonly expression: string;
46
42
  } | undefined;
43
+ readonly dataSource: {
44
+ readonly data: string;
45
+ readonly request?: string | undefined;
46
+ };
47
47
  readonly validations?: readonly {
48
48
  readonly message: readonly [{
49
49
  readonly locale: "zh";
@@ -107,15 +107,15 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_ModelProps, {},
107
107
  }[]] | undefined;
108
108
  readonly keywords?: string | undefined;
109
109
  readonly readonly?: string | undefined;
110
- readonly dataSource: {
111
- readonly data: string;
112
- readonly request?: string | undefined;
113
- };
114
110
  readonly binding?: string | undefined;
115
111
  readonly derived?: {
116
112
  readonly mode: "formula" | "prefill";
117
113
  readonly expression: string;
118
114
  } | undefined;
115
+ readonly dataSource: {
116
+ readonly data: string;
117
+ readonly request?: string | undefined;
118
+ };
119
119
  readonly validations?: readonly {
120
120
  readonly message: readonly [{
121
121
  readonly locale: "zh";
@@ -37,15 +37,15 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_ModelProps, {},
37
37
  readonly displayName?: string | undefined;
38
38
  readonly compatibilityDate: "2026-05-28";
39
39
  readonly readonly?: string | undefined;
40
- readonly dataSource: {
41
- readonly data: string;
42
- readonly request?: string | undefined;
43
- };
44
40
  readonly binding?: string | undefined;
45
41
  readonly derived?: {
46
42
  readonly mode: "formula" | "prefill";
47
43
  readonly expression: string;
48
44
  } | undefined;
45
+ readonly dataSource: {
46
+ readonly data: string;
47
+ readonly request?: string | undefined;
48
+ };
49
49
  readonly cascade: "independent" | "cascade-down" | "cascade-both";
50
50
  readonly validations?: readonly {
51
51
  readonly message: readonly [{
@@ -112,15 +112,15 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_ModelProps, {},
112
112
  readonly displayName?: string | undefined;
113
113
  readonly compatibilityDate: "2026-05-28";
114
114
  readonly readonly?: string | undefined;
115
- readonly dataSource: {
116
- readonly data: string;
117
- readonly request?: string | undefined;
118
- };
119
115
  readonly binding?: string | undefined;
120
116
  readonly derived?: {
121
117
  readonly mode: "formula" | "prefill";
122
118
  readonly expression: string;
123
119
  } | undefined;
120
+ readonly dataSource: {
121
+ readonly data: string;
122
+ readonly request?: string | undefined;
123
+ };
124
124
  readonly cascade: "independent" | "cascade-down" | "cascade-both";
125
125
  readonly validations?: readonly {
126
126
  readonly message: readonly [{
@@ -37,15 +37,15 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_ModelProps, {},
37
37
  readonly displayName?: string | undefined;
38
38
  readonly compatibilityDate: "2026-05-28";
39
39
  readonly readonly?: string | undefined;
40
- readonly dataSource: {
41
- readonly data: string;
42
- readonly request?: string | undefined;
43
- };
44
40
  readonly binding?: string | undefined;
45
41
  readonly derived?: {
46
42
  readonly mode: "formula" | "prefill";
47
43
  readonly expression: string;
48
44
  } | undefined;
45
+ readonly dataSource: {
46
+ readonly data: string;
47
+ readonly request?: string | undefined;
48
+ };
49
49
  readonly cascade: "independent" | "cascade-down" | "cascade-both";
50
50
  readonly validations?: readonly {
51
51
  readonly message: readonly [{
@@ -112,15 +112,15 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_ModelProps, {},
112
112
  readonly displayName?: string | undefined;
113
113
  readonly compatibilityDate: "2026-05-28";
114
114
  readonly readonly?: string | undefined;
115
- readonly dataSource: {
116
- readonly data: string;
117
- readonly request?: string | undefined;
118
- };
119
115
  readonly binding?: string | undefined;
120
116
  readonly derived?: {
121
117
  readonly mode: "formula" | "prefill";
122
118
  readonly expression: string;
123
119
  } | undefined;
120
+ readonly dataSource: {
121
+ readonly data: string;
122
+ readonly request?: string | undefined;
123
+ };
124
124
  readonly cascade: "independent" | "cascade-down" | "cascade-both";
125
125
  readonly validations?: readonly {
126
126
  readonly message: readonly [{
@@ -37,15 +37,15 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_ModelProps, {},
37
37
  readonly displayName?: string | undefined;
38
38
  readonly compatibilityDate: "2026-05-28";
39
39
  readonly readonly?: string | undefined;
40
- readonly dataSource: {
41
- readonly data: string;
42
- readonly request?: string | undefined;
43
- };
44
40
  readonly binding?: string | undefined;
45
41
  readonly derived?: {
46
42
  readonly mode: "formula" | "prefill";
47
43
  readonly expression: string;
48
44
  } | undefined;
45
+ readonly dataSource: {
46
+ readonly data: string;
47
+ readonly request?: string | undefined;
48
+ };
49
49
  readonly validations?: readonly {
50
50
  readonly message: readonly [{
51
51
  readonly locale: "zh";
@@ -111,15 +111,15 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_ModelProps, {},
111
111
  readonly displayName?: string | undefined;
112
112
  readonly compatibilityDate: "2026-05-28";
113
113
  readonly readonly?: string | undefined;
114
- readonly dataSource: {
115
- readonly data: string;
116
- readonly request?: string | undefined;
117
- };
118
114
  readonly binding?: string | undefined;
119
115
  readonly derived?: {
120
116
  readonly mode: "formula" | "prefill";
121
117
  readonly expression: string;
122
118
  } | undefined;
119
+ readonly dataSource: {
120
+ readonly data: string;
121
+ readonly request?: string | undefined;
122
+ };
123
123
  readonly validations?: readonly {
124
124
  readonly message: readonly [{
125
125
  readonly locale: "zh";
@@ -37,15 +37,15 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_ModelProps, {},
37
37
  readonly displayName?: string | undefined;
38
38
  readonly compatibilityDate: "2026-05-28";
39
39
  readonly readonly?: string | undefined;
40
- readonly dataSource: {
41
- readonly data: string;
42
- readonly request?: string | undefined;
43
- };
44
40
  readonly binding?: string | undefined;
45
41
  readonly derived?: {
46
42
  readonly mode: "formula" | "prefill";
47
43
  readonly expression: string;
48
44
  } | undefined;
45
+ readonly dataSource: {
46
+ readonly data: string;
47
+ readonly request?: string | undefined;
48
+ };
49
49
  readonly validations?: readonly {
50
50
  readonly message: readonly [{
51
51
  readonly locale: "zh";
@@ -111,15 +111,15 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_ModelProps, {},
111
111
  readonly displayName?: string | undefined;
112
112
  readonly compatibilityDate: "2026-05-28";
113
113
  readonly readonly?: string | undefined;
114
- readonly dataSource: {
115
- readonly data: string;
116
- readonly request?: string | undefined;
117
- };
118
114
  readonly binding?: string | undefined;
119
115
  readonly derived?: {
120
116
  readonly mode: "formula" | "prefill";
121
117
  readonly expression: string;
122
118
  } | undefined;
119
+ readonly dataSource: {
120
+ readonly data: string;
121
+ readonly request?: string | undefined;
122
+ };
123
123
  readonly validations?: readonly {
124
124
  readonly message: readonly [{
125
125
  readonly locale: "zh";
@@ -102,7 +102,6 @@ export declare function FormConfig(configure: (env: Environment) => void): Schem
102
102
  readonly displayName?: string | undefined;
103
103
  readonly kind: "shwfed.component.form";
104
104
  readonly fields: readonly any[];
105
- readonly readonly?: string | undefined;
106
105
  readonly layouts: readonly {
107
106
  readonly name: string;
108
107
  readonly layout: {
@@ -120,6 +119,7 @@ export declare function FormConfig(configure: (env: Environment) => void): Schem
120
119
  };
121
120
  readonly media?: string | undefined;
122
121
  }[];
122
+ readonly readonly?: string | undefined;
123
123
  }, Schema.Struct<{
124
124
  fields: Schema.Array$<AnySchema>;
125
125
  layouts: Schema.refine<readonly {
@@ -175,7 +175,6 @@ export declare function createFormConfig(body: Omit<Schema.Schema.Type<ReturnTyp
175
175
  } | undefined;
176
176
  displayName?: string | undefined;
177
177
  fields: readonly any[];
178
- readonly?: string | undefined;
179
178
  layouts: readonly {
180
179
  readonly name: string;
181
180
  readonly layout: {
@@ -193,6 +192,7 @@ export declare function createFormConfig(body: Omit<Schema.Schema.Type<ReturnTyp
193
192
  };
194
193
  readonly media?: string | undefined;
195
194
  }[];
195
+ readonly?: string | undefined;
196
196
  kind: typeof KIND;
197
197
  };
198
198
  export declare function defaultFormConfig(): FormConfigValue;
@@ -0,0 +1,31 @@
1
+ import { type Value } from './schema.js';
2
+ type __VLS_ModelProps = {
3
+ modelValue: Value;
4
+ };
5
+ declare const __VLS_export: import("vue").DefineComponent<__VLS_ModelProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
6
+ "update:modelValue": (value: {
7
+ readonly description?: readonly [{
8
+ readonly locale: "zh";
9
+ readonly message: string;
10
+ }, ...{
11
+ readonly locale: "en" | "ja" | "ko";
12
+ readonly message: string;
13
+ }[]] | undefined;
14
+ readonly expression: string;
15
+ readonly titleExpression?: string | undefined;
16
+ }) => any;
17
+ }, string, import("vue").PublicProps, Readonly<__VLS_ModelProps> & Readonly<{
18
+ "onUpdate:modelValue"?: ((value: {
19
+ readonly description?: readonly [{
20
+ readonly locale: "zh";
21
+ readonly message: string;
22
+ }, ...{
23
+ readonly locale: "en" | "ja" | "ko";
24
+ readonly message: string;
25
+ }[]] | undefined;
26
+ readonly expression: string;
27
+ readonly titleExpression?: string | undefined;
28
+ }) => any) | undefined;
29
+ }>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
30
+ declare const _default: typeof __VLS_export;
31
+ export default _default;
@@ -0,0 +1,103 @@
1
+ <script setup>
2
+ import { ExpressionEditor } from "../../../ui/expression-editor";
3
+ import { Field, FieldGroup, FieldLabel } from "../../../ui/field";
4
+ import { Locale as LocaleField } from "../../../ui/locale";
5
+ import { Markdown } from "../../../ui/markdown";
6
+ import { getStructFieldDescription, getStructFieldTitle } from "../../../../share/schema-meta";
7
+ import { schema } from "./schema";
8
+ defineOptions({ name: "ShwfedHttpDownloadOperationConfig" });
9
+ const value = defineModel({ type: null, ...{ required: true } });
10
+ const opSchema = schema(() => {
11
+ });
12
+ const fieldTitle = (f) => getStructFieldTitle(opSchema, f) ?? f;
13
+ const fieldDescription = (f) => getStructFieldDescription(opSchema, f);
14
+ const OUTCOME_VARS = {
15
+ result: { type: "string", label: "\u6267\u884C\u7ED3\u679C" }
16
+ };
17
+ function patch(patchValue) {
18
+ const next = { ...value.value, ...patchValue };
19
+ for (const [k, v] of Object.entries(patchValue)) {
20
+ if (v === void 0) Reflect.deleteProperty(next, k);
21
+ }
22
+ value.value = next;
23
+ }
24
+ function patchOptionalExpression(key, v) {
25
+ patch({ [key]: v.length === 0 ? void 0 : v });
26
+ }
27
+ function patchDescription(v) {
28
+ const blank = v.every((entry) => entry.message.trim().length === 0);
29
+ patch({ description: blank ? void 0 : v });
30
+ }
31
+ </script>
32
+
33
+ <template>
34
+ <FieldGroup>
35
+ <Field orientation="vertical">
36
+ <FieldLabel class="text-xs text-zinc-500">
37
+ <template
38
+ v-if="fieldDescription('expression')"
39
+ #tooltip
40
+ >
41
+ <Markdown
42
+ :source="fieldDescription('expression')"
43
+ block
44
+ class="prose prose-sm prose-zinc"
45
+ />
46
+ </template>
47
+ {{ fieldTitle("expression") }}
48
+ </FieldLabel>
49
+ <ExpressionEditor
50
+ :model-value="value.expression"
51
+ multiline
52
+ placeholder="例:http.get('/api/export').body({ id: row.id })"
53
+ result-type="HttpRequest"
54
+ class="min-h-16"
55
+ @update:model-value="(v) => patch({ expression: v })"
56
+ />
57
+ </Field>
58
+
59
+ <Field orientation="vertical">
60
+ <FieldLabel class="text-xs text-zinc-500">
61
+ <template
62
+ v-if="fieldDescription('titleExpression')"
63
+ #tooltip
64
+ >
65
+ <Markdown
66
+ :source="fieldDescription('titleExpression')"
67
+ block
68
+ class="prose prose-sm prose-zinc"
69
+ />
70
+ </template>
71
+ {{ fieldTitle("titleExpression") }}
72
+ </FieldLabel>
73
+ <ExpressionEditor
74
+ :model-value="value.titleExpression ?? ''"
75
+ placeholder="例:result == 'error' ? '下载失败' : '下载成功'"
76
+ result-type="string"
77
+ :extra-vars="OUTCOME_VARS"
78
+ @update:model-value="(v) => patchOptionalExpression('titleExpression', v)"
79
+ />
80
+ </Field>
81
+
82
+ <Field orientation="vertical">
83
+ <FieldLabel class="text-xs text-zinc-500">
84
+ <template
85
+ v-if="fieldDescription('description')"
86
+ #tooltip
87
+ >
88
+ <Markdown
89
+ :source="fieldDescription('description')"
90
+ block
91
+ class="prose prose-sm prose-zinc"
92
+ />
93
+ </template>
94
+ {{ fieldTitle("description") }}
95
+ </FieldLabel>
96
+ <LocaleField
97
+ markdown
98
+ :model-value="value.description"
99
+ @update:model-value="(v) => patchDescription(v)"
100
+ />
101
+ </Field>
102
+ </FieldGroup>
103
+ </template>
@@ -0,0 +1,31 @@
1
+ import { type Value } from './schema.js';
2
+ type __VLS_ModelProps = {
3
+ modelValue: Value;
4
+ };
5
+ declare const __VLS_export: import("vue").DefineComponent<__VLS_ModelProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
6
+ "update:modelValue": (value: {
7
+ readonly description?: readonly [{
8
+ readonly locale: "zh";
9
+ readonly message: string;
10
+ }, ...{
11
+ readonly locale: "en" | "ja" | "ko";
12
+ readonly message: string;
13
+ }[]] | undefined;
14
+ readonly expression: string;
15
+ readonly titleExpression?: string | undefined;
16
+ }) => any;
17
+ }, string, import("vue").PublicProps, Readonly<__VLS_ModelProps> & Readonly<{
18
+ "onUpdate:modelValue"?: ((value: {
19
+ readonly description?: readonly [{
20
+ readonly locale: "zh";
21
+ readonly message: string;
22
+ }, ...{
23
+ readonly locale: "en" | "ja" | "ko";
24
+ readonly message: string;
25
+ }[]] | undefined;
26
+ readonly expression: string;
27
+ readonly titleExpression?: string | undefined;
28
+ }) => any) | undefined;
29
+ }>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
30
+ declare const _default: typeof __VLS_export;
31
+ export default _default;
@@ -0,0 +1,2 @@
1
+ import type { OperationHandler } from '../../utils/resolve.js';
2
+ export declare const handler: OperationHandler;
@@ -0,0 +1,63 @@
1
+ import { Effect, Either, Option } from "effect";
2
+ import { Fetch } from "fx-fetch";
3
+ import { toast } from "vue-sonner";
4
+ import { asRequest } from "../../../../share/request.js";
5
+ import { getLocalizedText } from "../../../../share/locale.js";
6
+ import { interpolateMarkdown } from "../../../../share/interpolate.js";
7
+ class HttpRequestHalted {
8
+ constructor(reason) {
9
+ this.reason = reason;
10
+ }
11
+ _tag = "HttpRequestHalted";
12
+ }
13
+ function saveFile(file) {
14
+ const url = URL.createObjectURL(file);
15
+ const a = document.createElement("a");
16
+ a.href = url;
17
+ a.download = file.name;
18
+ document.body.appendChild(a);
19
+ a.click();
20
+ a.remove();
21
+ URL.revokeObjectURL(url);
22
+ }
23
+ export const handler = (params, ctx) => {
24
+ const { expression, titleExpression, description } = params ?? {};
25
+ if (!expression || expression.trim().length === 0) return Effect.void;
26
+ const program = Effect.gen(function* () {
27
+ const steps = ctx.step?.outputs() ?? {};
28
+ const evaluated = yield* ctx.cel(expression, { steps });
29
+ const request = asRequest(evaluated);
30
+ if (Option.isNone(request)) return;
31
+ const outcome = yield* Effect.either(request.value.file());
32
+ const result = Either.isLeft(outcome) ? "error" : "success";
33
+ if (titleExpression !== void 0) {
34
+ const title = yield* ctx.cel(titleExpression, { result, steps });
35
+ if (title.length > 0) {
36
+ const raw = getLocalizedText(description, ctx.locale()) ?? "";
37
+ const body = raw.length === 0 ? void 0 : interpolateMarkdown(raw, ctx.cel, { result, steps });
38
+ toast[result === "error" ? "error" : "success"](title, body === void 0 ? void 0 : { description: body });
39
+ }
40
+ }
41
+ if (Either.isLeft(outcome)) {
42
+ if (import.meta.dev) console.warn("[shwfed-operations] http download failed", outcome.left);
43
+ return yield* Effect.die(new HttpRequestHalted(outcome.left));
44
+ }
45
+ yield* Effect.sync(() => saveFile(outcome.right));
46
+ });
47
+ return program.pipe(
48
+ // The bus's handler contract has no requirements channel, so the host can't
49
+ // thread a Fetch layer through — the op provides its own, same layer the
50
+ // button runner uses.
51
+ Effect.provide(Fetch.layer),
52
+ // What remains on the error channel is CEL evaluation failure (request /
53
+ // title expression) — a config bug, not a runtime outcome. Mirror the
54
+ // request op: silent in prod, console in dev; the chain still halts so later
55
+ // operations don't fire off a broken step.
56
+ Effect.catchAll((error) => Effect.zipRight(
57
+ Effect.sync(() => {
58
+ if (import.meta.dev) console.warn("[shwfed-operations] http download op failed", error);
59
+ }),
60
+ Effect.die(new HttpRequestHalted(error))
61
+ ))
62
+ );
63
+ };
@@ -0,0 +1,21 @@
1
+ import { Schema } from 'effect';
2
+ import type { Environment } from '../../../../vendor/cel-js/lib/index.js';
3
+ export declare const type: "com.shwfed.operation.http.download";
4
+ export declare const compatibilityDate: "2026-06-15";
5
+ export declare const metadata: {
6
+ readonly name: "下载文件";
7
+ readonly icon: "fluent:arrow-download-20-regular";
8
+ };
9
+ export declare function schema(configure: (env: Environment) => void): Schema.Struct<{
10
+ expression: Schema.Schema<string, string, never>;
11
+ titleExpression: Schema.optional<Schema.Schema<string, string, never>>;
12
+ description: Schema.optional<Schema.TupleType<readonly [Schema.Struct<{
13
+ locale: Schema.Literal<["zh"]>;
14
+ message: Schema.SchemaClass<string, string, never>;
15
+ }>], [Schema.Struct<{
16
+ locale: Schema.Literal<["ja", "en", "ko"]>;
17
+ message: Schema.SchemaClass<string, string, never>;
18
+ }>]>>;
19
+ }>;
20
+ export type Value = Schema.Schema.Type<ReturnType<typeof schema>>;
21
+ export declare function defaults(): Partial<Value>;
@@ -0,0 +1,63 @@
1
+ import { Schema } from "effect";
2
+ import { Expression } from "../../../../share/expression.js";
3
+ import { Locale } from "../../../../share/locale.js";
4
+ import { md } from "../../../../share/markdown.js";
5
+ import { registerStepsVariableIfAbsent } from "../../utils/step-vars.js";
6
+ export const type = "com.shwfed.operation.http.download";
7
+ export const compatibilityDate = "2026-06-15";
8
+ export const metadata = {
9
+ name: "\u4E0B\u8F7D\u6587\u4EF6",
10
+ icon: "fluent:arrow-download-20-regular"
11
+ // NOTE: no `output` — a download saves a file; it publishes nothing for later
12
+ // trigger rows to read back (unlike the request op, whose parsed JSON becomes
13
+ // a chain-step output).
14
+ };
15
+ export function schema(configure) {
16
+ const withSteps = (env) => {
17
+ configure(env);
18
+ registerStepsVariableIfAbsent(env);
19
+ };
20
+ const CelHttpRequest = Expression({ configure: withSteps, resultType: "HttpRequest" });
21
+ const withOutcome = (env) => {
22
+ withSteps(env);
23
+ env.registerVariable("result", "string", {
24
+ description: "\u6267\u884C\u7ED3\u679C\uFF08success | error\uFF09"
25
+ });
26
+ };
27
+ const CelToastString = Expression({ configure: withOutcome, resultType: "string" });
28
+ return Schema.Struct({
29
+ expression: CelHttpRequest.annotations({
30
+ title: "\u8BF7\u6C42",
31
+ description: md`
32
+ 构造一个请求,其响应将被取回并保存为文件。
33
+ 可经 \`steps["<步骤标识>"]\` 引用前序步骤的输出——把先前
34
+ \`发送请求\` 行取得的凭据用于构造真正的下载请求。
35
+ `
36
+ }),
37
+ titleExpression: Schema.optional(CelToastString.annotations({
38
+ title: "\u63D0\u793A\u6807\u9898",
39
+ description: md`
40
+ 配置后,作为提示的标题向用户展示。求值为空字符串时不提示——
41
+ 可按 \`result\` 分支实现仅部分结果下提示,如 \`result == 'error' ? '下载失败' : ''\`。
42
+ `
43
+ })),
44
+ description: Schema.optional(Locale.annotations({
45
+ title: "\u63D0\u793A\u5185\u5BB9",
46
+ description: md`
47
+ 配置后,作为提示的内容向用户展示。
48
+ `
49
+ }))
50
+ }).annotations({
51
+ title: "HttpDownloadOperation",
52
+ description: md`
53
+ 发起一次 HTTP 请求并把响应保存为本地文件。下载失败(网络错误 / 非 2xx)
54
+ 会中止本次触发链——其后排队的操作不再执行。把本操作接在一个
55
+ \`发送请求\` 行之后、并经 \`steps["<步骤标识>"]\` 引用其响应,即可实现
56
+ “先取凭据再下载”的两步式。toast 完全由「提示标题」「提示内容」决定(含失败场景);
57
+ 不配置标题、或标题求值为空字符串则静默。
58
+ `
59
+ });
60
+ }
61
+ export function defaults() {
62
+ return { expression: "" };
63
+ }
@@ -0,0 +1,17 @@
1
+ import { type Value } from './schema.js';
2
+ type __VLS_ModelProps = {
3
+ modelValue: Value;
4
+ };
5
+ declare const __VLS_export: import("vue").DefineComponent<__VLS_ModelProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
6
+ "update:modelValue": (value: {
7
+ readonly mode: "_blank" | "_self";
8
+ readonly url: string;
9
+ }) => any;
10
+ }, string, import("vue").PublicProps, Readonly<__VLS_ModelProps> & Readonly<{
11
+ "onUpdate:modelValue"?: ((value: {
12
+ readonly mode: "_blank" | "_self";
13
+ readonly url: string;
14
+ }) => any) | undefined;
15
+ }>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
16
+ declare const _default: typeof __VLS_export;
17
+ export default _default;