@shwfed/config 2.11.6 → 2.12.1

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 (256) hide show
  1. package/dist/module.json +1 -1
  2. package/dist/module.mjs +1 -0
  3. package/dist/runtime/components/actions/buttons/2026-04-18/com.shwfed.actions.button.http.request.json.confirm/schema.d.ts +13 -7
  4. package/dist/runtime/components/actions/buttons/2026-05-11/com.shwfed.actions.button.modal.layout/schema.d.ts +13 -7
  5. package/dist/runtime/components/actions/buttons/2026-06-08/com.shwfed.actions.button.http.request.json.batch/schema.d.ts +13 -7
  6. package/dist/runtime/components/actions/items/2026-05-21/com.shwfed.actions.item.markdown/schema.d.ts +13 -7
  7. package/dist/runtime/components/actions/schema.d.ts +82 -52
  8. package/dist/runtime/components/config/blocks/2026-05-06/com.shwfed.block.actions/schema.d.ts +5 -5
  9. package/dist/runtime/components/config/blocks/2026-05-06/com.shwfed.block.markdown/schema.d.ts +13 -7
  10. package/dist/runtime/components/config/blocks/2026-05-06/com.shwfed.block.table/config.d.vue.ts +68 -68
  11. package/dist/runtime/components/config/blocks/2026-05-06/com.shwfed.block.table/config.vue.d.ts +68 -68
  12. package/dist/runtime/components/config/blocks/2026-05-06/com.shwfed.block.table/runtime.d.vue.ts +68 -68
  13. package/dist/runtime/components/config/blocks/2026-05-06/com.shwfed.block.table/runtime.vue.d.ts +68 -68
  14. package/dist/runtime/components/config/blocks/2026-05-06/com.shwfed.block.table/schema.d.ts +96 -72
  15. package/dist/runtime/components/config/blocks/2026-05-06/com.shwfed.block.tabs/schema.d.ts +26 -14
  16. package/dist/runtime/components/config/blocks/2026-05-17/com.shwfed.block.chart.xy/schema.d.ts +39 -21
  17. package/dist/runtime/components/config/blocks/2026-06-01/com.shwfed.block.animated.number/schema.d.ts +13 -7
  18. package/dist/runtime/components/config/blocks/2026-06-02/com.shwfed.block.card/schema.d.ts +26 -14
  19. package/dist/runtime/components/config/blocks/2026-06-17/com.shwfed.block.tree.single/schema.d.ts +44 -26
  20. package/dist/runtime/components/config/schema.d.ts +13 -7
  21. package/dist/runtime/components/form/fields/2026-04-22/com.shwfed.form.field.markdown/schema.d.ts +26 -14
  22. package/dist/runtime/components/form/fields/2026-04-22/com.shwfed.form.field.text/config.d.vue.ts +22 -22
  23. package/dist/runtime/components/form/fields/2026-04-22/com.shwfed.form.field.text/config.vue.d.ts +22 -22
  24. package/dist/runtime/components/form/fields/2026-04-22/com.shwfed.form.field.text/schema.d.ts +57 -33
  25. package/dist/runtime/components/form/fields/2026-04-22/com.shwfed.form.field.textarea/schema.d.ts +52 -28
  26. package/dist/runtime/components/form/fields/2026-04-24/com.shwfed.form.field.actions/schema.d.ts +18 -12
  27. package/dist/runtime/components/form/fields/2026-04-24/com.shwfed.form.field.combobox.single/config.d.vue.ts +16 -16
  28. package/dist/runtime/components/form/fields/2026-04-24/com.shwfed.form.field.combobox.single/config.vue.d.ts +16 -16
  29. package/dist/runtime/components/form/fields/2026-04-24/com.shwfed.form.field.combobox.single/schema.d.ts +65 -35
  30. package/dist/runtime/components/form/fields/2026-04-27/com.shwfed.form.field.date/config.d.vue.ts +18 -16
  31. package/dist/runtime/components/form/fields/2026-04-27/com.shwfed.form.field.date/config.vue +22 -0
  32. package/dist/runtime/components/form/fields/2026-04-27/com.shwfed.form.field.date/config.vue.d.ts +18 -16
  33. package/dist/runtime/components/form/fields/2026-04-27/com.shwfed.form.field.date/runtime.vue +5 -0
  34. package/dist/runtime/components/form/fields/2026-04-27/com.shwfed.form.field.date/schema.d.ts +79 -42
  35. package/dist/runtime/components/form/fields/2026-04-27/com.shwfed.form.field.date/schema.js +12 -0
  36. package/dist/runtime/components/form/fields/2026-04-27/com.shwfed.form.field.daterange/config.d.vue.ts +20 -18
  37. package/dist/runtime/components/form/fields/2026-04-27/com.shwfed.form.field.daterange/config.vue +22 -0
  38. package/dist/runtime/components/form/fields/2026-04-27/com.shwfed.form.field.daterange/config.vue.d.ts +20 -18
  39. package/dist/runtime/components/form/fields/2026-04-27/com.shwfed.form.field.daterange/runtime.vue +5 -0
  40. package/dist/runtime/components/form/fields/2026-04-27/com.shwfed.form.field.daterange/schema.d.ts +92 -49
  41. package/dist/runtime/components/form/fields/2026-04-27/com.shwfed.form.field.daterange/schema.js +12 -0
  42. package/dist/runtime/components/form/fields/2026-04-27/com.shwfed.form.field.datetime/config.d.vue.ts +18 -16
  43. package/dist/runtime/components/form/fields/2026-04-27/com.shwfed.form.field.datetime/config.vue +22 -0
  44. package/dist/runtime/components/form/fields/2026-04-27/com.shwfed.form.field.datetime/config.vue.d.ts +18 -16
  45. package/dist/runtime/components/form/fields/2026-04-27/com.shwfed.form.field.datetime/runtime.vue +5 -0
  46. package/dist/runtime/components/form/fields/2026-04-27/com.shwfed.form.field.datetime/schema.d.ts +79 -42
  47. package/dist/runtime/components/form/fields/2026-04-27/com.shwfed.form.field.datetime/schema.js +12 -0
  48. package/dist/runtime/components/form/fields/2026-04-27/com.shwfed.form.field.datetimerange/config.d.vue.ts +20 -18
  49. package/dist/runtime/components/form/fields/2026-04-27/com.shwfed.form.field.datetimerange/config.vue +22 -0
  50. package/dist/runtime/components/form/fields/2026-04-27/com.shwfed.form.field.datetimerange/config.vue.d.ts +20 -18
  51. package/dist/runtime/components/form/fields/2026-04-27/com.shwfed.form.field.datetimerange/runtime.vue +5 -0
  52. package/dist/runtime/components/form/fields/2026-04-27/com.shwfed.form.field.datetimerange/schema.d.ts +92 -49
  53. package/dist/runtime/components/form/fields/2026-04-27/com.shwfed.form.field.datetimerange/schema.js +12 -0
  54. package/dist/runtime/components/form/fields/2026-04-27/com.shwfed.form.field.time/schema.d.ts +39 -21
  55. package/dist/runtime/components/form/fields/2026-04-27/com.shwfed.form.field.timerange/schema.d.ts +39 -21
  56. package/dist/runtime/components/form/fields/2026-04-28/com.shwfed.form.field.number/config.d.vue.ts +28 -28
  57. package/dist/runtime/components/form/fields/2026-04-28/com.shwfed.form.field.number/config.vue.d.ts +28 -28
  58. package/dist/runtime/components/form/fields/2026-04-28/com.shwfed.form.field.number/schema.d.ts +57 -33
  59. package/dist/runtime/components/form/fields/2026-04-28/com.shwfed.form.field.numberrange/config.d.vue.ts +6 -6
  60. package/dist/runtime/components/form/fields/2026-04-28/com.shwfed.form.field.numberrange/config.vue.d.ts +6 -6
  61. package/dist/runtime/components/form/fields/2026-04-28/com.shwfed.form.field.numberrange/schema.d.ts +65 -35
  62. package/dist/runtime/components/form/fields/2026-04-28/com.shwfed.form.field.switch/config.d.vue.ts +22 -22
  63. package/dist/runtime/components/form/fields/2026-04-28/com.shwfed.form.field.switch/config.vue.d.ts +22 -22
  64. package/dist/runtime/components/form/fields/2026-04-28/com.shwfed.form.field.switch/schema.d.ts +65 -35
  65. package/dist/runtime/components/form/fields/2026-04-29/com.shwfed.form.field.combobox.single/schema.d.ts +104 -56
  66. package/dist/runtime/components/form/fields/2026-05-12/com.shwfed.form.field.upload/schema.d.ts +78 -42
  67. package/dist/runtime/components/form/fields/2026-05-13/com.shwfed.form.field.combobox.single.remote/config.d.vue.ts +16 -16
  68. package/dist/runtime/components/form/fields/2026-05-13/com.shwfed.form.field.combobox.single.remote/config.vue.d.ts +16 -16
  69. package/dist/runtime/components/form/fields/2026-05-13/com.shwfed.form.field.combobox.single.remote/schema.d.ts +65 -35
  70. package/dist/runtime/components/form/fields/2026-05-13/com.shwfed.form.field.list/schema.d.ts +78 -42
  71. package/dist/runtime/components/form/fields/2026-05-17/com.shwfed.form.field.checkbox.group/schema.d.ts +91 -49
  72. package/dist/runtime/components/form/fields/2026-05-17/com.shwfed.form.field.radio.group/schema.d.ts +91 -49
  73. package/dist/runtime/components/form/fields/2026-05-18/com.shwfed.form.field.table/schema.d.ts +39 -21
  74. package/dist/runtime/components/form/fields/2026-05-20/com.shwfed.form.field.collapsible/schema.d.ts +13 -7
  75. package/dist/runtime/components/form/fields/2026-05-23/com.shwfed.form.field.tree.multi/config.d.vue.ts +30 -30
  76. package/dist/runtime/components/form/fields/2026-05-23/com.shwfed.form.field.tree.multi/config.vue.d.ts +30 -30
  77. package/dist/runtime/components/form/fields/2026-05-23/com.shwfed.form.field.tree.multi/schema.d.ts +78 -42
  78. package/dist/runtime/components/form/fields/2026-05-24/com.shwfed.form.field.month/config.d.vue.ts +18 -16
  79. package/dist/runtime/components/form/fields/2026-05-24/com.shwfed.form.field.month/config.vue +22 -0
  80. package/dist/runtime/components/form/fields/2026-05-24/com.shwfed.form.field.month/config.vue.d.ts +18 -16
  81. package/dist/runtime/components/form/fields/2026-05-24/com.shwfed.form.field.month/runtime.vue +5 -0
  82. package/dist/runtime/components/form/fields/2026-05-24/com.shwfed.form.field.month/schema.d.ts +79 -42
  83. package/dist/runtime/components/form/fields/2026-05-24/com.shwfed.form.field.month/schema.js +12 -0
  84. package/dist/runtime/components/form/fields/2026-05-24/com.shwfed.form.field.monthrange/config.d.vue.ts +20 -18
  85. package/dist/runtime/components/form/fields/2026-05-24/com.shwfed.form.field.monthrange/config.vue +22 -0
  86. package/dist/runtime/components/form/fields/2026-05-24/com.shwfed.form.field.monthrange/config.vue.d.ts +20 -18
  87. package/dist/runtime/components/form/fields/2026-05-24/com.shwfed.form.field.monthrange/runtime.vue +5 -0
  88. package/dist/runtime/components/form/fields/2026-05-24/com.shwfed.form.field.monthrange/schema.d.ts +92 -49
  89. package/dist/runtime/components/form/fields/2026-05-24/com.shwfed.form.field.monthrange/schema.js +12 -0
  90. package/dist/runtime/components/form/fields/2026-05-25/com.shwfed.form.field.combobox.multi/config.d.vue.ts +16 -16
  91. package/dist/runtime/components/form/fields/2026-05-25/com.shwfed.form.field.combobox.multi/config.vue.d.ts +16 -16
  92. package/dist/runtime/components/form/fields/2026-05-25/com.shwfed.form.field.combobox.multi/schema.d.ts +65 -35
  93. package/dist/runtime/components/form/fields/2026-05-26/com.shwfed.form.field.tree.combobox.multi/config.d.vue.ts +30 -30
  94. package/dist/runtime/components/form/fields/2026-05-26/com.shwfed.form.field.tree.combobox.multi/config.vue.d.ts +30 -30
  95. package/dist/runtime/components/form/fields/2026-05-26/com.shwfed.form.field.tree.combobox.multi/schema.d.ts +78 -42
  96. package/dist/runtime/components/form/fields/2026-05-26/com.shwfed.form.field.tree.combobox.single/config.d.vue.ts +30 -30
  97. package/dist/runtime/components/form/fields/2026-05-26/com.shwfed.form.field.tree.combobox.single/config.vue.d.ts +30 -30
  98. package/dist/runtime/components/form/fields/2026-05-26/com.shwfed.form.field.tree.combobox.single/schema.d.ts +78 -42
  99. package/dist/runtime/components/form/fields/2026-05-28/com.shwfed.form.field.combobox.multi/schema.d.ts +169 -91
  100. package/dist/runtime/components/form/fields/2026-05-28/com.shwfed.form.field.combobox.single/schema.d.ts +169 -91
  101. package/dist/runtime/components/form/fields/2026-05-28/com.shwfed.form.field.tree.combobox.multi/config.d.vue.ts +30 -30
  102. package/dist/runtime/components/form/fields/2026-05-28/com.shwfed.form.field.tree.combobox.multi/config.vue.d.ts +30 -30
  103. package/dist/runtime/components/form/fields/2026-05-28/com.shwfed.form.field.tree.combobox.multi/schema.d.ts +78 -42
  104. package/dist/runtime/components/form/fields/2026-05-28/com.shwfed.form.field.tree.combobox.single/config.d.vue.ts +30 -30
  105. package/dist/runtime/components/form/fields/2026-05-28/com.shwfed.form.field.tree.combobox.single/config.vue.d.ts +30 -30
  106. package/dist/runtime/components/form/fields/2026-05-28/com.shwfed.form.field.tree.combobox.single/schema.d.ts +78 -42
  107. package/dist/runtime/components/form/fields/2026-05-28/com.shwfed.form.field.tree.multi/config.d.vue.ts +30 -30
  108. package/dist/runtime/components/form/fields/2026-05-28/com.shwfed.form.field.tree.multi/config.vue.d.ts +30 -30
  109. package/dist/runtime/components/form/fields/2026-05-28/com.shwfed.form.field.tree.multi/schema.d.ts +78 -42
  110. package/dist/runtime/components/form/fields/2026-05-28/com.shwfed.form.field.tree.single/config.d.vue.ts +30 -30
  111. package/dist/runtime/components/form/fields/2026-05-28/com.shwfed.form.field.tree.single/config.vue.d.ts +30 -30
  112. package/dist/runtime/components/form/fields/2026-05-28/com.shwfed.form.field.tree.single/schema.d.ts +78 -42
  113. package/dist/runtime/components/form/fields/2026-06-09/com.shwfed.form.field.upload/schema.d.ts +78 -42
  114. package/dist/runtime/components/form/fields/2026-06-14/com.shwfed.form.field.combobox.multi/schema.d.ts +130 -70
  115. package/dist/runtime/components/form/fields/2026-06-14/com.shwfed.form.field.combobox.single/schema.d.ts +130 -70
  116. package/dist/runtime/components/form/fields/2026-06-20/com.shwfed.form.field.tabs/schema.d.ts +26 -14
  117. package/dist/runtime/components/form/utils/ai-field-tools.d.ts +11 -0
  118. package/dist/runtime/components/form/utils/ai-field-tools.js +282 -0
  119. package/dist/runtime/components/form/utils/common.d.ts +26 -14
  120. package/dist/runtime/components/form/utils/resolve.d.ts +15 -0
  121. package/dist/runtime/components/form/utils/resolve.js +13 -0
  122. package/dist/runtime/components/operations/2026-06-09/com.shwfed.operation.alert/schema.d.ts +13 -7
  123. package/dist/runtime/components/operations/2026-06-11/com.shwfed.operation.http.request.json/schema.d.ts +13 -7
  124. package/dist/runtime/components/operations/2026-06-15/com.shwfed.operation.http.download/schema.d.ts +13 -7
  125. package/dist/runtime/components/table/ai-generate.d.vue.ts +16 -0
  126. package/dist/runtime/components/table/ai-generate.system.d.ts +1 -0
  127. package/dist/runtime/components/table/ai-generate.system.js +10 -0
  128. package/dist/runtime/components/table/ai-generate.system.md +101 -0
  129. package/dist/runtime/components/table/ai-generate.vue +173 -0
  130. package/dist/runtime/components/table/ai-generate.vue.d.ts +16 -0
  131. package/dist/runtime/components/table/columns/2026-04-14/com.shwfed.table.column.actions/schema.d.ts +18 -12
  132. package/dist/runtime/components/table/columns/2026-04-14/com.shwfed.table.column.date/schema.d.ts +26 -14
  133. package/dist/runtime/components/table/columns/2026-04-14/com.shwfed.table.column.icon/schema.d.ts +26 -14
  134. package/dist/runtime/components/table/columns/2026-04-14/com.shwfed.table.column.markdown/schema.d.ts +39 -21
  135. package/dist/runtime/components/table/columns/2026-04-14/com.shwfed.table.column.number/schema.d.ts +26 -14
  136. package/dist/runtime/components/table/columns/2026-04-14/com.shwfed.table.column.text/schema.d.ts +26 -14
  137. package/dist/runtime/components/table/columns/2026-05-13/com.shwfed.table.column.switch/schema.d.ts +26 -14
  138. package/dist/runtime/components/table/columns/2026-05-13/com.shwfed.table.column.switch.remote/schema.d.ts +26 -14
  139. package/dist/runtime/components/table/columns/2026-05-20/com.shwfed.table.column.combobox-single/schema.d.ts +91 -49
  140. package/dist/runtime/components/table/columns/2026-05-20/com.shwfed.table.column.number-input/schema.d.ts +44 -26
  141. package/dist/runtime/components/table/columns/2026-05-20/com.shwfed.table.column.switch/schema.d.ts +52 -28
  142. package/dist/runtime/components/table/columns/2026-05-20/com.shwfed.table.column.switch.local/schema.d.ts +52 -28
  143. package/dist/runtime/components/table/columns/2026-05-20/com.shwfed.table.column.text-input/schema.d.ts +44 -26
  144. package/dist/runtime/components/table/columns/2026-05-24/com.shwfed.table.column.combobox-single.remote.options-remote/config.d.vue.ts +6 -6
  145. package/dist/runtime/components/table/columns/2026-05-24/com.shwfed.table.column.combobox-single.remote.options-remote/config.vue.d.ts +6 -6
  146. package/dist/runtime/components/table/columns/2026-05-24/com.shwfed.table.column.combobox-single.remote.options-remote/schema.d.ts +52 -28
  147. package/dist/runtime/components/table/columns/2026-05-24/com.shwfed.table.column.combobox-single.remote.options-static/config.d.vue.ts +2 -2
  148. package/dist/runtime/components/table/columns/2026-05-24/com.shwfed.table.column.combobox-single.remote.options-static/config.vue.d.ts +2 -2
  149. package/dist/runtime/components/table/columns/2026-05-24/com.shwfed.table.column.combobox-single.remote.options-static/schema.d.ts +91 -49
  150. package/dist/runtime/components/table/columns/2026-05-25/com.shwfed.table.column.combobox-multi/schema.d.ts +91 -49
  151. package/dist/runtime/components/table/columns/2026-05-25/com.shwfed.table.column.combobox-multi.remote.options-remote/config.d.vue.ts +6 -6
  152. package/dist/runtime/components/table/columns/2026-05-25/com.shwfed.table.column.combobox-multi.remote.options-remote/config.vue.d.ts +6 -6
  153. package/dist/runtime/components/table/columns/2026-05-25/com.shwfed.table.column.combobox-multi.remote.options-remote/schema.d.ts +52 -28
  154. package/dist/runtime/components/table/columns/2026-05-25/com.shwfed.table.column.combobox-multi.remote.options-static/config.d.vue.ts +2 -2
  155. package/dist/runtime/components/table/columns/2026-05-25/com.shwfed.table.column.combobox-multi.remote.options-static/config.vue.d.ts +2 -2
  156. package/dist/runtime/components/table/columns/2026-05-25/com.shwfed.table.column.combobox-multi.remote.options-static/schema.d.ts +91 -49
  157. package/dist/runtime/components/table/columns/2026-05-26/com.shwfed.table.column.combobox-multi/schema.d.ts +156 -84
  158. package/dist/runtime/components/table/columns/2026-05-26/com.shwfed.table.column.combobox-multi.remote/config.d.vue.ts +2 -2
  159. package/dist/runtime/components/table/columns/2026-05-26/com.shwfed.table.column.combobox-multi.remote/config.vue.d.ts +2 -2
  160. package/dist/runtime/components/table/columns/2026-05-26/com.shwfed.table.column.combobox-multi.remote/schema.d.ts +156 -84
  161. package/dist/runtime/components/table/columns/2026-05-26/com.shwfed.table.column.combobox-single/schema.d.ts +156 -84
  162. package/dist/runtime/components/table/columns/2026-05-26/com.shwfed.table.column.combobox-single.remote/config.d.vue.ts +2 -2
  163. package/dist/runtime/components/table/columns/2026-05-26/com.shwfed.table.column.combobox-single.remote/config.vue.d.ts +2 -2
  164. package/dist/runtime/components/table/columns/2026-05-26/com.shwfed.table.column.combobox-single.remote/schema.d.ts +156 -84
  165. package/dist/runtime/components/table/columns/2026-05-27/com.shwfed.table.column.tree-combobox-multi/config.d.vue.ts +8 -8
  166. package/dist/runtime/components/table/columns/2026-05-27/com.shwfed.table.column.tree-combobox-multi/config.vue.d.ts +8 -8
  167. package/dist/runtime/components/table/columns/2026-05-27/com.shwfed.table.column.tree-combobox-multi/schema.d.ts +65 -35
  168. package/dist/runtime/components/table/columns/2026-05-27/com.shwfed.table.column.tree-combobox-single/config.d.vue.ts +8 -8
  169. package/dist/runtime/components/table/columns/2026-05-27/com.shwfed.table.column.tree-combobox-single/config.vue.d.ts +8 -8
  170. package/dist/runtime/components/table/columns/2026-05-27/com.shwfed.table.column.tree-combobox-single/schema.d.ts +65 -35
  171. package/dist/runtime/components/table/columns/2026-05-28/com.shwfed.table.column.combobox-multi/config.d.vue.ts +2 -2
  172. package/dist/runtime/components/table/columns/2026-05-28/com.shwfed.table.column.combobox-multi/config.vue.d.ts +2 -2
  173. package/dist/runtime/components/table/columns/2026-05-28/com.shwfed.table.column.combobox-multi/schema.d.ts +156 -84
  174. package/dist/runtime/components/table/columns/2026-05-28/com.shwfed.table.column.combobox-single/config.d.vue.ts +2 -2
  175. package/dist/runtime/components/table/columns/2026-05-28/com.shwfed.table.column.combobox-single/config.vue.d.ts +2 -2
  176. package/dist/runtime/components/table/columns/2026-05-28/com.shwfed.table.column.combobox-single/schema.d.ts +156 -84
  177. package/dist/runtime/components/table/columns/2026-05-28/com.shwfed.table.column.tree-combobox-multi/config.d.vue.ts +8 -8
  178. package/dist/runtime/components/table/columns/2026-05-28/com.shwfed.table.column.tree-combobox-multi/config.vue.d.ts +8 -8
  179. package/dist/runtime/components/table/columns/2026-05-28/com.shwfed.table.column.tree-combobox-multi/schema.d.ts +65 -35
  180. package/dist/runtime/components/table/columns/2026-05-28/com.shwfed.table.column.tree-combobox-single/config.d.vue.ts +8 -8
  181. package/dist/runtime/components/table/columns/2026-05-28/com.shwfed.table.column.tree-combobox-single/config.vue.d.ts +8 -8
  182. package/dist/runtime/components/table/columns/2026-05-28/com.shwfed.table.column.tree-combobox-single/schema.d.ts +65 -35
  183. package/dist/runtime/components/table/columns/2026-06-14/com.shwfed.table.column.combobox-multi/config.d.vue.ts +2 -2
  184. package/dist/runtime/components/table/columns/2026-06-14/com.shwfed.table.column.combobox-multi/config.vue.d.ts +2 -2
  185. package/dist/runtime/components/table/columns/2026-06-14/com.shwfed.table.column.combobox-multi/schema.d.ts +117 -63
  186. package/dist/runtime/components/table/columns/2026-06-14/com.shwfed.table.column.combobox-single/config.d.vue.ts +2 -2
  187. package/dist/runtime/components/table/columns/2026-06-14/com.shwfed.table.column.combobox-single/config.vue.d.ts +2 -2
  188. package/dist/runtime/components/table/columns/2026-06-14/com.shwfed.table.column.combobox-single/schema.d.ts +117 -63
  189. package/dist/runtime/components/table/columns/2026-06-14/com.shwfed.table.column.tree-combobox-multi/config.d.vue.ts +8 -8
  190. package/dist/runtime/components/table/columns/2026-06-14/com.shwfed.table.column.tree-combobox-multi/config.vue.d.ts +8 -8
  191. package/dist/runtime/components/table/columns/2026-06-14/com.shwfed.table.column.tree-combobox-multi/schema.d.ts +52 -28
  192. package/dist/runtime/components/table/columns/2026-06-14/com.shwfed.table.column.tree-combobox-single/config.d.vue.ts +8 -8
  193. package/dist/runtime/components/table/columns/2026-06-14/com.shwfed.table.column.tree-combobox-single/config.vue.d.ts +8 -8
  194. package/dist/runtime/components/table/columns/2026-06-14/com.shwfed.table.column.tree-combobox-single/schema.d.ts +52 -28
  195. package/dist/runtime/components/table/columns/2026-06-17/com.shwfed.table.column.date-input/config.vue +33 -0
  196. package/dist/runtime/components/table/columns/2026-06-17/com.shwfed.table.column.date-input/runtime.vue +5 -0
  197. package/dist/runtime/components/table/columns/2026-06-17/com.shwfed.table.column.date-input/schema.d.ts +71 -40
  198. package/dist/runtime/components/table/columns/2026-06-17/com.shwfed.table.column.date-input/schema.js +6 -1
  199. package/dist/runtime/components/table/columns/2026-06-22/com.shwfed.table.column.date-range-input/config.vue +33 -0
  200. package/dist/runtime/components/table/columns/2026-06-22/com.shwfed.table.column.date-range-input/runtime.vue +5 -0
  201. package/dist/runtime/components/table/columns/2026-06-22/com.shwfed.table.column.date-range-input/schema.d.ts +79 -42
  202. package/dist/runtime/components/table/columns/2026-06-22/com.shwfed.table.column.date-range-input/schema.js +6 -1
  203. package/dist/runtime/components/table/config.d.vue.ts +3 -3
  204. package/dist/runtime/components/table/config.vue +37 -3
  205. package/dist/runtime/components/table/config.vue.d.ts +3 -3
  206. package/dist/runtime/components/table/schema.d.ts +182 -134
  207. package/dist/runtime/components/table/utils/ai-tools.d.ts +11 -0
  208. package/dist/runtime/components/table/utils/ai-tools.js +507 -0
  209. package/dist/runtime/components/table/utils/resolve.d.ts +23 -0
  210. package/dist/runtime/components/table/utils/resolve.js +3 -0
  211. package/dist/runtime/components/table/utils/shared.d.ts +66 -35
  212. package/dist/runtime/components/table/utils/shared.js +26 -17
  213. package/dist/runtime/components/ui/alert-dialog/AlertDialogCancel.vue +1 -1
  214. package/dist/runtime/components/ui/chat/ChatMessage.d.vue.ts +7 -0
  215. package/dist/runtime/components/ui/chat/ChatMessage.vue +35 -0
  216. package/dist/runtime/components/ui/chat/ChatMessage.vue.d.ts +7 -0
  217. package/dist/runtime/components/ui/chat/ChatMessagePart.d.vue.ts +7 -0
  218. package/dist/runtime/components/ui/chat/ChatMessagePart.vue +43 -0
  219. package/dist/runtime/components/ui/chat/ChatMessagePart.vue.d.ts +7 -0
  220. package/dist/runtime/components/ui/chat/ChatMessages.d.vue.ts +18 -0
  221. package/dist/runtime/components/ui/chat/ChatMessages.vue +63 -0
  222. package/dist/runtime/components/ui/chat/ChatMessages.vue.d.ts +18 -0
  223. package/dist/runtime/components/ui/chat/ChatPrompt.d.vue.ts +34 -0
  224. package/dist/runtime/components/ui/chat/ChatPrompt.vue +53 -0
  225. package/dist/runtime/components/ui/chat/ChatPrompt.vue.d.ts +34 -0
  226. package/dist/runtime/components/ui/chat/ChatPromptSubmit.d.vue.ts +18 -0
  227. package/dist/runtime/components/ui/chat/ChatPromptSubmit.vue +41 -0
  228. package/dist/runtime/components/ui/chat/ChatPromptSubmit.vue.d.ts +18 -0
  229. package/dist/runtime/components/ui/chat/ChatReasoning.d.vue.ts +7 -0
  230. package/dist/runtime/components/ui/chat/ChatReasoning.vue +33 -0
  231. package/dist/runtime/components/ui/chat/ChatReasoning.vue.d.ts +7 -0
  232. package/dist/runtime/components/ui/chat/ChatToolCall.d.vue.ts +10 -0
  233. package/dist/runtime/components/ui/chat/ChatToolCall.vue +92 -0
  234. package/dist/runtime/components/ui/chat/ChatToolCall.vue.d.ts +10 -0
  235. package/dist/runtime/components/ui/chat/index.d.ts +9 -0
  236. package/dist/runtime/components/ui/chat/index.js +8 -0
  237. package/dist/runtime/components/ui/stream-markdown/StreamMarkdown.d.vue.ts +15 -0
  238. package/dist/runtime/components/ui/stream-markdown/StreamMarkdown.vue +22 -0
  239. package/dist/runtime/components/ui/stream-markdown/StreamMarkdown.vue.d.ts +15 -0
  240. package/dist/runtime/components/ui/stream-markdown/index.d.ts +1 -0
  241. package/dist/runtime/components/ui/stream-markdown/index.js +1 -0
  242. package/dist/runtime/share/coerce-from-string.d.ts +62 -0
  243. package/dist/runtime/share/coerce-from-string.js +154 -0
  244. package/dist/runtime/share/disabled-date.d.ts +34 -0
  245. package/dist/runtime/share/disabled-date.js +13 -0
  246. package/dist/runtime/share/locale.d.ts +13 -7
  247. package/dist/runtime/share/locale.js +27 -5
  248. package/dist/runtime/share/use-persisted-chat.d.ts +30 -0
  249. package/dist/runtime/share/use-persisted-chat.js +34 -0
  250. package/dist/runtime/utils/ai/index.d.ts +10 -0
  251. package/dist/runtime/utils/ai/index.js +145 -32
  252. package/dist/runtime/utils/ai/parts.d.ts +30 -0
  253. package/dist/runtime/utils/ai/parts.js +9 -0
  254. package/dist/runtime/utils/disabled-date.d.ts +26 -0
  255. package/dist/runtime/utils/disabled-date.js +21 -0
  256. package/package.json +2 -1
@@ -20,13 +20,19 @@ export declare const metadata: {
20
20
  };
21
21
  export declare function itemSchema(configure: (env: Environment) => void): Schema.Struct<{
22
22
  id: Schema.refine<string, typeof Schema.String>;
23
- label: Schema.TupleType<readonly [Schema.Struct<{
24
- locale: Schema.Literal<["zh"]>;
25
- message: Schema.SchemaClass<string, string, never>;
26
- }>], [Schema.Struct<{
27
- locale: Schema.Literal<["ja", "en", "ko"]>;
28
- message: Schema.SchemaClass<string, string, never>;
29
- }>]>;
23
+ label: Schema.suspend<readonly [{
24
+ readonly locale: "zh";
25
+ readonly message: string;
26
+ }, ...{
27
+ readonly locale: "en" | "ja" | "ko";
28
+ readonly message: string;
29
+ }[]], string | readonly [{
30
+ readonly locale: "zh";
31
+ readonly message: string;
32
+ }, ...{
33
+ readonly locale: "en" | "ja" | "ko";
34
+ readonly message: string;
35
+ }[]], never>;
30
36
  value: Schema.Union<[Schema.Struct<{
31
37
  kind: Schema.Literal<["text"]>;
32
38
  value: typeof Schema.String;
@@ -40,13 +46,19 @@ export declare function itemSchema(configure: (env: Environment) => void): Schem
40
46
  }, ...{
41
47
  readonly locale: "en" | "ja" | "ko";
42
48
  readonly message: string;
43
- }[]], Schema.TupleType<readonly [Schema.Struct<{
44
- locale: Schema.Literal<["zh"]>;
45
- message: Schema.SchemaClass<string, string, never>;
46
- }>], [Schema.Struct<{
47
- locale: Schema.Literal<["ja", "en", "ko"]>;
48
- message: Schema.SchemaClass<string, string, never>;
49
- }>]>>>;
49
+ }[]], Schema.suspend<readonly [{
50
+ readonly locale: "zh";
51
+ readonly message: string;
52
+ }, ...{
53
+ readonly locale: "en" | "ja" | "ko";
54
+ readonly message: string;
55
+ }[]], string | readonly [{
56
+ readonly locale: "zh";
57
+ readonly message: string;
58
+ }, ...{
59
+ readonly locale: "en" | "ja" | "ko";
60
+ readonly message: string;
61
+ }[]], never>>>;
50
62
  keywords: Schema.optional<Schema.Array$<typeof Schema.String>>;
51
63
  }>;
52
64
  export declare function remoteOptionsSchema(configure: (env: Environment) => void): Schema.Struct<{
@@ -63,13 +75,19 @@ export declare function optionsSchema(configure: (env: Environment) => void): Sc
63
75
  kind: Schema.Literal<["static"]>;
64
76
  items: Schema.optionalWith<Schema.Array$<Schema.Struct<{
65
77
  id: Schema.refine<string, typeof Schema.String>;
66
- label: Schema.TupleType<readonly [Schema.Struct<{
67
- locale: Schema.Literal<["zh"]>;
68
- message: Schema.SchemaClass<string, string, never>;
69
- }>], [Schema.Struct<{
70
- locale: Schema.Literal<["ja", "en", "ko"]>;
71
- message: Schema.SchemaClass<string, string, never>;
72
- }>]>;
78
+ label: Schema.suspend<readonly [{
79
+ readonly locale: "zh";
80
+ readonly message: string;
81
+ }, ...{
82
+ readonly locale: "en" | "ja" | "ko";
83
+ readonly message: string;
84
+ }[]], string | readonly [{
85
+ readonly locale: "zh";
86
+ readonly message: string;
87
+ }, ...{
88
+ readonly locale: "en" | "ja" | "ko";
89
+ readonly message: string;
90
+ }[]], never>;
73
91
  value: Schema.Union<[Schema.Struct<{
74
92
  kind: Schema.Literal<["text"]>;
75
93
  value: typeof Schema.String;
@@ -83,13 +101,19 @@ export declare function optionsSchema(configure: (env: Environment) => void): Sc
83
101
  }, ...{
84
102
  readonly locale: "en" | "ja" | "ko";
85
103
  readonly message: string;
86
- }[]], Schema.TupleType<readonly [Schema.Struct<{
87
- locale: Schema.Literal<["zh"]>;
88
- message: Schema.SchemaClass<string, string, never>;
89
- }>], [Schema.Struct<{
90
- locale: Schema.Literal<["ja", "en", "ko"]>;
91
- message: Schema.SchemaClass<string, string, never>;
92
- }>]>>>;
104
+ }[]], Schema.suspend<readonly [{
105
+ readonly locale: "zh";
106
+ readonly message: string;
107
+ }, ...{
108
+ readonly locale: "en" | "ja" | "ko";
109
+ readonly message: string;
110
+ }[]], string | readonly [{
111
+ readonly locale: "zh";
112
+ readonly message: string;
113
+ }, ...{
114
+ readonly locale: "en" | "ja" | "ko";
115
+ readonly message: string;
116
+ }[]], never>>>;
93
117
  keywords: Schema.optional<Schema.Array$<typeof Schema.String>>;
94
118
  }>>, {
95
119
  default: () => readonly [];
@@ -105,27 +129,45 @@ export declare function optionsSchema(configure: (env: Environment) => void): Sc
105
129
  optionKeywords: Schema.optional<Schema.Schema<string, string, never>>;
106
130
  }>]>;
107
131
  export declare function schema(configure: (env: Environment) => void): Schema.Struct<{
108
- label: Schema.optional<Schema.TupleType<readonly [Schema.Struct<{
109
- locale: Schema.Literal<["zh"]>;
110
- message: Schema.SchemaClass<string, string, never>;
111
- }>], [Schema.Struct<{
112
- locale: Schema.Literal<["ja", "en", "ko"]>;
113
- message: Schema.SchemaClass<string, string, never>;
114
- }>]>>;
115
- placeholder: Schema.optional<Schema.TupleType<readonly [Schema.Struct<{
116
- locale: Schema.Literal<["zh"]>;
117
- message: Schema.SchemaClass<string, string, never>;
118
- }>], [Schema.Struct<{
119
- locale: Schema.Literal<["ja", "en", "ko"]>;
120
- message: Schema.SchemaClass<string, string, never>;
121
- }>]>>;
122
- tooltip: Schema.optional<Schema.TupleType<readonly [Schema.Struct<{
123
- locale: Schema.Literal<["zh"]>;
124
- message: Schema.SchemaClass<string, string, never>;
125
- }>], [Schema.Struct<{
126
- locale: Schema.Literal<["ja", "en", "ko"]>;
127
- message: Schema.SchemaClass<string, string, never>;
128
- }>]>>;
132
+ label: Schema.optional<Schema.suspend<readonly [{
133
+ readonly locale: "zh";
134
+ readonly message: string;
135
+ }, ...{
136
+ readonly locale: "en" | "ja" | "ko";
137
+ readonly message: string;
138
+ }[]], string | readonly [{
139
+ readonly locale: "zh";
140
+ readonly message: string;
141
+ }, ...{
142
+ readonly locale: "en" | "ja" | "ko";
143
+ readonly message: string;
144
+ }[]], never>>;
145
+ placeholder: Schema.optional<Schema.suspend<readonly [{
146
+ readonly locale: "zh";
147
+ readonly message: string;
148
+ }, ...{
149
+ readonly locale: "en" | "ja" | "ko";
150
+ readonly message: string;
151
+ }[]], string | readonly [{
152
+ readonly locale: "zh";
153
+ readonly message: string;
154
+ }, ...{
155
+ readonly locale: "en" | "ja" | "ko";
156
+ readonly message: string;
157
+ }[]], never>>;
158
+ tooltip: Schema.optional<Schema.suspend<readonly [{
159
+ readonly locale: "zh";
160
+ readonly message: string;
161
+ }, ...{
162
+ readonly locale: "en" | "ja" | "ko";
163
+ readonly message: string;
164
+ }[]], string | readonly [{
165
+ readonly locale: "zh";
166
+ readonly message: string;
167
+ }, ...{
168
+ readonly locale: "en" | "ja" | "ko";
169
+ readonly message: string;
170
+ }[]], never>>;
129
171
  orientation: Schema.optional<Schema.Literal<["vertical", "floating"]>>;
130
172
  binding: Schema.optional<Schema.refine<string, typeof Schema.String>>;
131
173
  disabled: Schema.optional<Schema.Schema<string, string, never>>;
@@ -138,13 +180,19 @@ export declare function schema(configure: (env: Environment) => void): Schema.St
138
180
  kind: Schema.Literal<["static"]>;
139
181
  items: Schema.optionalWith<Schema.Array$<Schema.Struct<{
140
182
  id: Schema.refine<string, typeof Schema.String>;
141
- label: Schema.TupleType<readonly [Schema.Struct<{
142
- locale: Schema.Literal<["zh"]>;
143
- message: Schema.SchemaClass<string, string, never>;
144
- }>], [Schema.Struct<{
145
- locale: Schema.Literal<["ja", "en", "ko"]>;
146
- message: Schema.SchemaClass<string, string, never>;
147
- }>]>;
183
+ label: Schema.suspend<readonly [{
184
+ readonly locale: "zh";
185
+ readonly message: string;
186
+ }, ...{
187
+ readonly locale: "en" | "ja" | "ko";
188
+ readonly message: string;
189
+ }[]], string | readonly [{
190
+ readonly locale: "zh";
191
+ readonly message: string;
192
+ }, ...{
193
+ readonly locale: "en" | "ja" | "ko";
194
+ readonly message: string;
195
+ }[]], never>;
148
196
  value: Schema.Union<[Schema.Struct<{
149
197
  kind: Schema.Literal<["text"]>;
150
198
  value: typeof Schema.String;
@@ -158,13 +206,19 @@ export declare function schema(configure: (env: Environment) => void): Schema.St
158
206
  }, ...{
159
207
  readonly locale: "en" | "ja" | "ko";
160
208
  readonly message: string;
161
- }[]], Schema.TupleType<readonly [Schema.Struct<{
162
- locale: Schema.Literal<["zh"]>;
163
- message: Schema.SchemaClass<string, string, never>;
164
- }>], [Schema.Struct<{
165
- locale: Schema.Literal<["ja", "en", "ko"]>;
166
- message: Schema.SchemaClass<string, string, never>;
167
- }>]>>>;
209
+ }[]], Schema.suspend<readonly [{
210
+ readonly locale: "zh";
211
+ readonly message: string;
212
+ }, ...{
213
+ readonly locale: "en" | "ja" | "ko";
214
+ readonly message: string;
215
+ }[]], string | readonly [{
216
+ readonly locale: "zh";
217
+ readonly message: string;
218
+ }, ...{
219
+ readonly locale: "en" | "ja" | "ko";
220
+ readonly message: string;
221
+ }[]], never>>>;
168
222
  keywords: Schema.optional<Schema.Array$<typeof Schema.String>>;
169
223
  }>>, {
170
224
  default: () => readonly [];
@@ -197,13 +251,19 @@ export declare function schema(configure: (env: Environment) => void): Schema.St
197
251
  }, ...{
198
252
  readonly locale: "en" | "ja" | "ko";
199
253
  readonly message: string;
200
- }[]], Schema.TupleType<readonly [Schema.Struct<{
201
- locale: Schema.Literal<["zh"]>;
202
- message: Schema.SchemaClass<string, string, never>;
203
- }>], [Schema.Struct<{
204
- locale: Schema.Literal<["ja", "en", "ko"]>;
205
- message: Schema.SchemaClass<string, string, never>;
206
- }>]>>;
254
+ }[]], Schema.suspend<readonly [{
255
+ readonly locale: "zh";
256
+ readonly message: string;
257
+ }, ...{
258
+ readonly locale: "en" | "ja" | "ko";
259
+ readonly message: string;
260
+ }[]], string | readonly [{
261
+ readonly locale: "zh";
262
+ readonly message: string;
263
+ }, ...{
264
+ readonly locale: "en" | "ja" | "ko";
265
+ readonly message: string;
266
+ }[]], never>>;
207
267
  }>>>;
208
268
  type: Schema.Literal<["com.shwfed.form.field.combobox.single"]>;
209
269
  compatibilityDate: Schema.Literal<["2026-06-14"]>;
@@ -19,13 +19,19 @@ export declare const metadata: {
19
19
  readonly inlineConfig: false;
20
20
  };
21
21
  export declare const TabMeta: Schema.Struct<{
22
- label: Schema.TupleType<readonly [Schema.Struct<{
23
- locale: Schema.Literal<["zh"]>;
24
- message: Schema.SchemaClass<string, string, never>;
25
- }>], [Schema.Struct<{
26
- locale: Schema.Literal<["ja", "en", "ko"]>;
27
- message: Schema.SchemaClass<string, string, never>;
28
- }>]>;
22
+ label: Schema.suspend<readonly [{
23
+ readonly locale: "zh";
24
+ readonly message: string;
25
+ }, ...{
26
+ readonly locale: "en" | "ja" | "ko";
27
+ readonly message: string;
28
+ }[]], string | readonly [{
29
+ readonly locale: "zh";
30
+ readonly message: string;
31
+ }, ...{
32
+ readonly locale: "en" | "ja" | "ko";
33
+ readonly message: string;
34
+ }[]], never>;
29
35
  }>;
30
36
  /**
31
37
  * A tabbed grouping. Pure view — children of each tab stay flat in the form
@@ -65,13 +71,19 @@ export declare function schema(configure: (env: Environment) => void): Schema.St
65
71
  fields: ReadonlyArray<import("../../../schema.js").FieldValue>;
66
72
  layouts: ReadonlyArray<import("../../../schema.js").LayoutSetValue>;
67
73
  }>, never>;
68
- label: Schema.TupleType<readonly [Schema.Struct<{
69
- locale: Schema.Literal<["zh"]>;
70
- message: Schema.SchemaClass<string, string, never>;
71
- }>], [Schema.Struct<{
72
- locale: Schema.Literal<["ja", "en", "ko"]>;
73
- message: Schema.SchemaClass<string, string, never>;
74
- }>]>;
74
+ label: Schema.suspend<readonly [{
75
+ readonly locale: "zh";
76
+ readonly message: string;
77
+ }, ...{
78
+ readonly locale: "en" | "ja" | "ko";
79
+ readonly message: string;
80
+ }[]], string | readonly [{
81
+ readonly locale: "zh";
82
+ readonly message: string;
83
+ }, ...{
84
+ readonly locale: "en" | "ja" | "ko";
85
+ readonly message: string;
86
+ }[]], never>;
75
87
  id: Schema.refine<string, typeof Schema.String>;
76
88
  }>>>>;
77
89
  }>;
@@ -0,0 +1,11 @@
1
+ import type { Environment } from '../../../vendor/cel-js/lib/index.js';
2
+ import type { AgenticTool } from '../../../utils/ai/index.js';
3
+ type AnyRecord = Record<string, any>;
4
+ export interface QueryFieldToolDeps {
5
+ readonly read: () => AnyRecord | undefined;
6
+ readonly write: (next: AnyRecord) => void;
7
+ readonly configure: (env: Environment) => void;
8
+ readonly genUuid: () => string;
9
+ }
10
+ export declare function createQueryFieldTools(deps: QueryFieldToolDeps): AgenticTool[];
11
+ export {};
@@ -0,0 +1,282 @@
1
+ import { JSONSchema, ParseResult, Schema } from "effect";
2
+ import { coerceFromString } from "../../../share/coerce-from-string.js";
3
+ import { Area } from "../../../share/layout.js";
4
+ import { defaultFormConfig } from "../schema.js";
5
+ import { registerFormVariablesIfAbsent } from "./form-vars.js";
6
+ import { activeFields } from "./resolve.js";
7
+ const HARNESS_KEYS = ["id", "compatibilityDate"];
8
+ const PlaceInput = Schema.Struct({
9
+ id: Schema.String.pipe(Schema.minLength(1)),
10
+ area: Area
11
+ });
12
+ function formScope(configure) {
13
+ return (env) => {
14
+ registerFormVariablesIfAbsent(env);
15
+ configure(env);
16
+ };
17
+ }
18
+ function publicFieldSchema(entry, configure) {
19
+ return entry.schema(formScope(configure)).pipe(Schema.omit(...HARNESS_KEYS));
20
+ }
21
+ function decode(schema, input) {
22
+ const result = Schema.decodeUnknownEither(schema)(coerceFromString(input, schema));
23
+ if (result._tag === "Right") return { ok: true, value: result.right };
24
+ const issues = ParseResult.ArrayFormatter.formatErrorSync(result.left);
25
+ const report = issues.map((i) => `- ${i.path.map(String).join(".") || "(root)"}: ${i.message}`).join("\n");
26
+ return { ok: false, report };
27
+ }
28
+ function overlaps(a, b) {
29
+ return a[0][0] < b[1][0] && a[1][0] > b[0][0] && a[0][1] < b[1][1] && a[1][1] > b[0][1];
30
+ }
31
+ function growColumns(layout) {
32
+ let maxCol = typeof layout.columns === "number" ? layout.columns : 1;
33
+ const placements = layout.placements ?? {};
34
+ for (const p of Object.values(placements)) {
35
+ const x2 = p.area[1][0];
36
+ if (x2 - 1 > maxCol) maxCol = x2 - 1;
37
+ }
38
+ layout.columns = Math.max(1, maxCol);
39
+ }
40
+ function ensureFormConfig(deps) {
41
+ return deps.read() ?? defaultFormConfig();
42
+ }
43
+ export function createQueryFieldTools(deps) {
44
+ return [
45
+ // ---- 信息获取 ----
46
+ {
47
+ name: "list_available_query_field_types",
48
+ description: "List the form field types you can insert into the table's search-condition form. Returns each type's name. Use this first to discover what fields exist; for a field's full field contract and defaults, follow up with `describe_specific_query_field_type`. Deprecated types are hidden.",
49
+ inputJsonSchema: {
50
+ type: "object",
51
+ properties: {},
52
+ additionalProperties: false
53
+ },
54
+ execute: () => activeFields().map((f) => {
55
+ const entry = { type: f.type, name: f.metadata.name };
56
+ const description = f.metadata.description;
57
+ if (description !== void 0) entry.description = description;
58
+ return entry;
59
+ })
60
+ },
61
+ {
62
+ name: "describe_specific_query_field_type",
63
+ description: "Return, for one search-condition field type: the JSON Schema (without `id`/`compatibilityDate` \u2014 managed by the harness), the default values, and the default placement size `w`/`h` (each `{ initial, min, max }`; `w` is in grid columns, `h` in rows). Call this before `insert_query_field` / `place_query_field` to learn the field contract and how big to place it \u2014 use `w.initial` / `h.initial` as the placed area's width / height. Deprecated types are not accepted.",
64
+ inputJsonSchema: {
65
+ type: "object",
66
+ properties: {
67
+ type: { type: "string", description: "A `type` value from `list_available_query_field_types`." }
68
+ },
69
+ required: ["type"],
70
+ additionalProperties: false
71
+ },
72
+ execute: (input) => {
73
+ const { type } = input ?? {};
74
+ if (typeof type !== "string" || type.length === 0) {
75
+ return "describe failed: `type` must be a non-empty string.";
76
+ }
77
+ const entry = activeFields().find((f) => f.type === type);
78
+ if (!entry) {
79
+ return `describe failed: query field type "${type}" is not available. Call list_available_query_field_types to see what is.`;
80
+ }
81
+ const publicSchema = publicFieldSchema(entry, deps.configure);
82
+ let jsonSchema;
83
+ try {
84
+ jsonSchema = JSONSchema.make(publicSchema);
85
+ } catch {
86
+ jsonSchema = "(schema unavailable)";
87
+ }
88
+ return {
89
+ schema: jsonSchema,
90
+ defaults: entry.defaults?.() ?? null,
91
+ // Default placement size from the field's registry metadata. The
92
+ // system prompt requires the model to use `w.initial` / `h.initial`
93
+ // as the placed area's width / height; `min`/`max` bound what it may
94
+ // adjust to. (`place_query_field` itself only guards overlap — the
95
+ // "use the initial size" rule lives in the prompt, not the tool.)
96
+ w: entry.metadata.w,
97
+ h: entry.metadata.h
98
+ };
99
+ }
100
+ },
101
+ {
102
+ name: "list_query_fields",
103
+ description: "Return the search-condition form's current fields (each with its `id`) joined with its placement: `placement` is the field's grid area `[[x1,y1],[x2,y2]]`, or `null` when the field exists but has NOT been placed yet (unplaced fields are not rendered). `grid` reports the layout's current column count. Use this to discover ids, see what still needs placing, and find a free area before calling `place_query_field`.",
104
+ inputJsonSchema: {
105
+ type: "object",
106
+ properties: {},
107
+ additionalProperties: false
108
+ },
109
+ execute: () => {
110
+ const fc = deps.read();
111
+ if (!fc) return { fields: [], grid: null };
112
+ const fields = Array.isArray(fc.fields) ? fc.fields : [];
113
+ const layout = Array.isArray(fc.layouts) ? fc.layouts[0]?.layout : void 0;
114
+ const placements = layout?.placements ?? {};
115
+ return {
116
+ fields: fields.map((f) => ({
117
+ ...f,
118
+ placement: placements[f.id]?.area ?? null
119
+ })),
120
+ grid: layout ? { columns: layout.columns ?? null } : null
121
+ };
122
+ }
123
+ },
124
+ // ---- 配置 ----
125
+ {
126
+ name: "insert_query_field",
127
+ description: "Insert one new field into the table's search-condition form. Provide `type` (from `list_available_query_field_types`) plus the field's fields as described by `describe_specific_query_field_type`. Do NOT include `id` or `compatibilityDate` \u2014 the harness assigns them. The field is created UNPLACED: it exists but is not rendered until you place it with `place_query_field`. On validation failure the tool returns the issues; fix them and call again.",
128
+ inputJsonSchema: {
129
+ type: "object",
130
+ properties: {
131
+ type: { type: "string", description: "The field type to insert." }
132
+ },
133
+ required: ["type"],
134
+ additionalProperties: true
135
+ },
136
+ execute: (input) => {
137
+ const raw = input ?? {};
138
+ const { type, ...rest } = raw;
139
+ if (typeof type !== "string" || type.length === 0) {
140
+ return "insert failed: `type` must be a non-empty string.";
141
+ }
142
+ for (const k of HARNESS_KEYS) {
143
+ if (k in rest) {
144
+ return `insert failed: do not pass \`${k}\` \u2014 the harness assigns it.`;
145
+ }
146
+ }
147
+ const entry = activeFields().find((f) => f.type === type);
148
+ if (!entry) {
149
+ return `insert failed: query field type "${type}" is not available. Call list_available_query_field_types to see what is.`;
150
+ }
151
+ const publicSchema = publicFieldSchema(entry, deps.configure);
152
+ const verdict = decode(publicSchema, raw);
153
+ if (!verdict.ok) {
154
+ return `insert failed for type "${type}". Fix these and call insert_query_field again:
155
+ ${verdict.report}`;
156
+ }
157
+ const fc = ensureFormConfig(deps);
158
+ const fields = Array.isArray(fc.fields) ? fc.fields : [];
159
+ const newField = {
160
+ id: deps.genUuid(),
161
+ compatibilityDate: entry.compatibilityDate,
162
+ ...verdict.value
163
+ };
164
+ fc.fields = [...fields, newField];
165
+ deps.write(fc);
166
+ return { id: newField.id, type };
167
+ }
168
+ },
169
+ {
170
+ name: "delete_query_fields",
171
+ description: "Delete one or more search-condition fields by id. Call `list_query_fields` first to obtain ids. Fields are matched by id only. On any unknown id the call is rejected without writing; fix and call again. Deleting a field also removes it from the layout (its placement is stripped).",
172
+ inputJsonSchema: {
173
+ type: "object",
174
+ properties: {
175
+ ids: {
176
+ type: "array",
177
+ items: { type: "string", minLength: 1 },
178
+ minItems: 1,
179
+ description: "Field ids to delete. Get them from `list_query_fields` first."
180
+ }
181
+ },
182
+ required: ["ids"],
183
+ additionalProperties: false
184
+ },
185
+ execute: (input) => {
186
+ const raw = input ?? {};
187
+ const ids = raw.ids;
188
+ if (!Array.isArray(ids) || ids.length === 0) {
189
+ return "delete failed: `ids` must be a non-empty array of field ids.";
190
+ }
191
+ for (const id of ids) {
192
+ if (typeof id !== "string" || id.length === 0) {
193
+ return "delete failed: every `ids` entry must be a non-empty string.";
194
+ }
195
+ }
196
+ const seen = /* @__PURE__ */ new Set();
197
+ for (const id of ids) {
198
+ if (seen.has(id)) {
199
+ return `delete failed: duplicate id "${id}" in input \u2014 dedupe and call again.`;
200
+ }
201
+ seen.add(id);
202
+ }
203
+ const fc = deps.read();
204
+ const fields = fc && Array.isArray(fc.fields) ? fc.fields : [];
205
+ const existing = new Set(fields.map((f) => f.id));
206
+ for (const id of ids) {
207
+ if (!existing.has(id)) {
208
+ return `delete failed: query field id "${id}" is not present. Call list_query_fields to see current ids.`;
209
+ }
210
+ }
211
+ const cfg = fc;
212
+ const deleted = new Set(ids);
213
+ cfg.fields = fields.filter((f) => !deleted.has(f.id));
214
+ if (Array.isArray(cfg.layouts)) {
215
+ cfg.layouts = cfg.layouts.map((ls) => {
216
+ const placements = ls?.layout?.placements;
217
+ if (!placements) return ls;
218
+ const next = Object.fromEntries(
219
+ Object.entries(placements).filter(([pid]) => !deleted.has(pid))
220
+ );
221
+ return { ...ls, layout: { ...ls.layout, placements: next } };
222
+ });
223
+ }
224
+ deps.write(cfg);
225
+ return { deleted: ids, count: ids.length };
226
+ }
227
+ },
228
+ {
229
+ name: "place_query_field",
230
+ description: "Place a field into the search-condition layout at grid coordinates you choose. `area` is `[[x1,y1],[x2,y2]]` using 1-based grid lines (top-left inclusive, bottom-right exclusive); e.g. a field occupying columns 1\u20132 on row 1 is `[[1,1],[3,2]]`. The field must already exist (call `insert_query_field` first). The harness rejects an `area` that overlaps another field \u2014 pick a free spot (use `list_query_fields` to see current placements) and call again. Placing an already-placed field MOVES it. The layout column count grows to fit your placements; how many columns the search bar uses is up to you and the guidance you were given.",
231
+ inputJsonSchema: {
232
+ type: "object",
233
+ properties: {
234
+ id: { type: "string", description: "The field id to place (from `list_query_fields`)." },
235
+ area: {
236
+ type: "array",
237
+ description: "Grid area `[[x1,y1],[x2,y2]]`, 1-based grid lines, bottom-right exclusive.",
238
+ items: { type: "array", items: { type: "integer", minimum: 1 }, minItems: 2, maxItems: 2 },
239
+ minItems: 2,
240
+ maxItems: 2
241
+ }
242
+ },
243
+ required: ["id", "area"],
244
+ additionalProperties: false
245
+ },
246
+ execute: (input) => {
247
+ const verdict = decode(PlaceInput, input ?? {});
248
+ if (!verdict.ok) {
249
+ return `place failed. Fix these and call place_query_field again:
250
+ ${verdict.report}`;
251
+ }
252
+ const { id, area } = verdict.value;
253
+ const fc = deps.read();
254
+ if (!fc) {
255
+ return "place failed: there is no query form yet. Call insert_query_field first.";
256
+ }
257
+ const fields = Array.isArray(fc.fields) ? fc.fields : [];
258
+ if (!fields.some((f) => f.id === id)) {
259
+ return `place failed: query field id "${id}" is not present. Call list_query_fields to see ids.`;
260
+ }
261
+ const layouts = Array.isArray(fc.layouts) ? fc.layouts : [];
262
+ const ls = layouts[0];
263
+ if (!ls || !ls.layout) {
264
+ return "place failed: the query form has no layout to place into.";
265
+ }
266
+ const placements = { ...ls.layout.placements ?? {} };
267
+ for (const [pid, p] of Object.entries(placements)) {
268
+ if (pid === id) continue;
269
+ if (overlaps(area, p.area)) {
270
+ return `place failed: area overlaps field "${pid}" at ${JSON.stringify(p.area)}. Pick a free area (see list_query_fields) and call again.`;
271
+ }
272
+ }
273
+ placements[id] = { area };
274
+ const nextLayout = { ...ls.layout, placements };
275
+ growColumns(nextLayout);
276
+ fc.layouts = [{ ...ls, layout: nextLayout }, ...layouts.slice(1)];
277
+ deps.write(fc);
278
+ return { id, area, columns: nextLayout.columns };
279
+ }
280
+ }
281
+ ];
282
+ }
@@ -16,13 +16,19 @@ export declare function validationRuleStruct(configure: (env: Environment) => vo
16
16
  }, ...{
17
17
  readonly locale: "en" | "ja" | "ko";
18
18
  readonly message: string;
19
- }[]], Schema.TupleType<readonly [Schema.Struct<{
20
- locale: Schema.Literal<["zh"]>;
21
- message: Schema.SchemaClass<string, string, never>;
22
- }>], [Schema.Struct<{
23
- locale: Schema.Literal<["ja", "en", "ko"]>;
24
- message: Schema.SchemaClass<string, string, never>;
25
- }>]>>;
19
+ }[]], Schema.suspend<readonly [{
20
+ readonly locale: "zh";
21
+ readonly message: string;
22
+ }, ...{
23
+ readonly locale: "en" | "ja" | "ko";
24
+ readonly message: string;
25
+ }[]], string | readonly [{
26
+ readonly locale: "zh";
27
+ readonly message: string;
28
+ }, ...{
29
+ readonly locale: "en" | "ja" | "ko";
30
+ readonly message: string;
31
+ }[]], never>>;
26
32
  }>;
27
33
  export declare function commonFieldFields(configure: (env: Environment) => void): {
28
34
  id: Schema.refine<string, typeof Schema.String>;
@@ -38,13 +44,19 @@ export declare function commonFieldFields(configure: (env: Environment) => void)
38
44
  }, ...{
39
45
  readonly locale: "en" | "ja" | "ko";
40
46
  readonly message: string;
41
- }[]], Schema.TupleType<readonly [Schema.Struct<{
42
- locale: Schema.Literal<["zh"]>;
43
- message: Schema.SchemaClass<string, string, never>;
44
- }>], [Schema.Struct<{
45
- locale: Schema.Literal<["ja", "en", "ko"]>;
46
- message: Schema.SchemaClass<string, string, never>;
47
- }>]>>;
47
+ }[]], Schema.suspend<readonly [{
48
+ readonly locale: "zh";
49
+ readonly message: string;
50
+ }, ...{
51
+ readonly locale: "en" | "ja" | "ko";
52
+ readonly message: string;
53
+ }[]], string | readonly [{
54
+ readonly locale: "zh";
55
+ readonly message: string;
56
+ }, ...{
57
+ readonly locale: "en" | "ja" | "ko";
58
+ readonly message: string;
59
+ }[]], never>>;
48
60
  }>>>;
49
61
  };
50
62
  export declare const FIELD_ORIENTATIONS: readonly ["vertical", "floating"];